This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Ble_app_Blinky not

I have downloaded the ble_app_blinky_c_pca10056_s140 hex file to the development kit with the help of the nrf_connect windows application. I have a PCA10100 development kit. Now when I am searching this advertising device from the blinky or nrf_connect android application, the "NRF_Blinky" does not show. I have checked the development kit LED1 is constant on, and thought that the device is already advertising. So, suggest to me what can go wrong.

Parents Reply Children
  • If you are using the same SoftDevice, then the memory allocations will not change. The only exception is that you must ensure that the start address (end of SoftDevice) + x is not higher than the physically available memory (this is the same both for flash and RAM).

  • The soft device has an address between 0x1000 to 0x26633, and the application software starts from the address 0x27000 and ends at 0x2DB63. 

    Also, the RAM and FLASH memory map in the section placement Macros shows as below:

    FLASH_PH_START=0x0

    FLASH_PH_SIZE=0x100000

    RAM_PH_START=0x20000000

    RAM_PH_SIZE=0x40000

    FLASH_START=0x27000

    FLASH_SIZE=0xd9000

    RAM_START=0x20001dc8

    RAM_SIZE=0x3e238

    Do this need any changes to be done?

  • In practice, no change is needed unless you use too much flash or RAM. If you do, it would be good to have the sized set correctly so that you would get a linker error telling you that it cannot fit.

    If you want to do that, you could fix it.  First, just get the physical sizes correct. So for flash, FLASH_PH_SIZE should be 512 kB = 0x80000. For RAM, RAM_PH_SIZE should be  128 kB = 0x20000. Then just do the simple math I suggested. For instance, as FLASH_START = 0x27000 that means FLASH_SIZE = 0x80000 - 0x27000 = 0x59000. And so on.

    If you happen to use a bootloader or want to reserve space for FDS etc you should set it lower. But again, this normally does not have practical implications, though it is always a good idea to ensure that you get an error as soon as possible (so build time/link time)

  • Right now, when I am not getting any linker error, I have only changed the configuration from PCA10056 to PA10100 in ble_app_blinkx_c_pca10056_s140. But there is no LED indication on LED 1 for advertising status. What could go wrong?

  • For the preprocessor defines you now have BOARD_PCA10100 and NRF52833_XXAA, and not the nRF52840/PCA10056 ones? If so it should work.

    Have you tried to debug? I would start with making a debug build (just select Debug in the build configuration dropdown if using SES) and check the log when running. Does it report any errors?

    Also, if you are using another toolchain than SES it does not program the SoftDevice automatically, so please double check that you have programmed it.

Related