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

NRF52840 Donlge - JLink Programming

Hi

I have a coupe of dongles working on a project. While validating the board, i notice a strange behavior:

I have the dongles in factory reset (MBR at start, the Bootloader at the end of flash), and i took a backup of this so i can restore dongles anytime.

So what i have now is a blinky program, based on MbedOS. There i modified the linker script so Flash_Start = 0x1000 and Ram_Start=0x20000008 (copied over from the OT-CLI example from the dongle).

So when i now go ahead and program my blinky app (hex) with the NrfConnect-Programmer, it works just fine. Blinky works, or if reset is pressed, i go into DFU bootloader mode.
If i do the same but program the blinky app directly with JFlash from the Segger tools, nothing works.

So i went ahead and read both chips and compared them.

See both files here for a text compare (https://we.tl/t-SqAry7eaAh)

Why is somehow my blinky app (after 0x1000 in flash) looking different? do you guys somewhat do more than just flash a hex file during nrfconnect-programming?
i use this method a lot any other Cortex-M chip with more than 1 binary in its flash storage, i know what im doing. so right now im lost with the nordic chips, which somewhat behalve strangely.

Please help me out here, with a detailed explaination.

thank you

Parents
  • Hi,

    nRF Connect Programmer should not program anything else than the content of the provided hex-files. It looks like the difference is located right above the MBR, which is the softdevice region if a softdevice is used by the application. If the programmed hex-file was programmed with only a sectorerase and the dongles contained different softdevice version, this could explain the difference in the readback. 

    Can you post the hex-file you flashed? It should indicate the start address of the data that will be written to flash during programming.

    Best regards,
    Jørgen

Reply
  • Hi,

    nRF Connect Programmer should not program anything else than the content of the provided hex-files. It looks like the difference is located right above the MBR, which is the softdevice region if a softdevice is used by the application. If the programmed hex-file was programmed with only a sectorerase and the dongles contained different softdevice version, this could explain the difference in the readback. 

    Can you post the hex-file you flashed? It should indicate the start address of the data that will be written to flash during programming.

    Best regards,
    Jørgen

Children
No Data
Related