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

FW works on nRF51 DK but when I flash in my target board it doesn't.

I developed an application based on ble_app_uart and it is working on my nRF51 DK. I can see the ports driven by my application responding and Bluetooth communication is working perfectly.

I generated the HEX file as "Additional output format" in the Linker option and flashed it on my target board using JLink.

Well, the controller of my target board just doesn't start!

Does the HEX file contain the Soft Device? What am I doing wrong?

Parents Reply Children
  • This is the schematic of my application (I removed what was not interesting for the problem):

    SCH_01.pdf

    I changed pca10028.h to:

    #define NRF_CLOCK_LFCLKSRC {.source = NRF_CLOCK_LF_SRC_RC, \
    .rc_ctiv = 16, \
    .rc_temp_ctiv = 2, \
    .xtal_accuracy = 0}

    It still doesn't work. I am using SES and I can see in Memory Usage that the RAM ends at 0x20003FFF which is correct. 

    Any idea?

    This might help you:

    - I have FLASH_START=0x1B000, SRAM_START=0x20002080, SRAM_SIZE=0x1F80

    - I cut SB1 on nRF51DK and the program still runs, meaning that the 32.768kHz crystal is out of the picture

    - The Memory usage shows:

         - Flash is used from 0x1B000 to 0x24157

         - RAM is used from 0x20002080 to 0x20002B5B and stack is 0x20003C00 to 0x20003FFF

    The code runs on the nRF51DK but not on my target (2 units). Note that the controller schematics has been used in 4 other units I designed (I didn't write FW for them!) with the same component values, so HW should be ok.

    Any ideas?

  • Have you tried debugging the application, to see if any code is executed, and if any errors are reported?

Related