nrf52840-Dongle bootloader doesn't like it when app is programmed via nrfjprog

I bought a handful of nrf52840-Dongle boards, with the intention of developing an application on one "dev" board and then flashing it through the Open Bootloader on the others.  The "dev" board is only special because I soldered the 2x5 1.27mm SWD connector on the back.  I would like for the dev board to use the same bootloader and flash layout as the other boards, so that there are no new surprises when I finish developing my app and want to deploy it.

I see that when I build an app and try to deploy it through nrfjprog or through the Segger GUI, the bootloader does not recognize it and so it just flashes the red LED after reset.  If I use nrfjprog to dump flash before and after flashing my image through the bootloader, I see a bunch of data around 0xff000 (possibly including a checksum) is changing.

What is the correct procedure to flash my app in a way that the bootloader will execute it?

Parents Reply Children
  • You can debug and single step etc. from Segger in the exact same way as long as you program bootloader settings. But the moment you build and flash new firmware (via Segger or another way) without updating the settings page, the application will not be started, and debugging will also fail. 

    That means that if you build from SES and programs from SES, whenever a new application is flashed, you need to generate and flash bootloader settings before running and/or debugging will work.

Related