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

Difference between debug dfu projects and non-debug ones

Hello,

For the secure bootloader example there are various included projects supporting the different hardware ICs (ex: nRF52832 or nRF52840) and the different transports (uart vs. ble). However, each configuration has a debug and non-debug version (ex: pca10040_S132_ble vs. pca10040_S132_ble_debug) and it is not clear to me the exact difference between the two. It seems that debug version includes the NRF_LOGGER but if this is the only difference why create a whole new project? In most other examples we alter the use of the logger and other configuration settings by editing the sdk_config.h file so why is this any different? I maybe missing something here and I would like to find out so I can select the right starting point for my project.

Btw I am aware that regardless of which one I use I need to change the public key file. Thanks!

  • why create a whole new project? 

    Simple answer: The DEBUG bootloader is much larger than the non-debug one and thus requires a different linker script.

    Also you cannot change the bootloader start address with normal DFU, and thus cannot switch between these versions due to the size difference. Switching between different size bootloaders requires SWD connection.