Hi,
I build secure_bootloader_ble_s132_pca10040_debug example (SDK17.1) on SES 6.30.
The only modification to the project is excluding SEGGER_RTT_Syscalls_SES.c.
The project builds but fails to run. The same project builds and runs well in Keil 5.28 !
This is the log in the debug terminal:
<info> app: Inside main <debug> app: In nrf_bootloader_init <debug> nrf_dfu_settings: Calling nrf_dfu_settings_init()... <debug> nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend. <debug> nrf_dfu_settings: Using settings page. <debug> nrf_dfu_settings: Copying forbidden parts from backup page. <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping. <info> nrf_dfu_settings: Backing up settings page to address 0x7E000. <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping. <debug> app: Enter nrf_bootloader_fw_activate <info> app: No firmware to activate. <info> app: Boot validation failed. No valid app to boot. <debug> app: DFU mode because app is not valid. <info> nrf_bootloader_wdt: WDT is not enabled <debug> app: in weak nrf_dfu_init_user <debug> app: timer_stop (0x20005984) <debug> app: timer_activate (0x20005984) <info> app: Entering DFU mode. <debug> app: Initializing transports (found: 1) <debug> nrf_dfu_ble: Initializing BLE DFU transport <debug> app: Failed to initialize transport 0, error 9 <error> app: Could not initalize DFU transport: 0x00000009 <error> app: Received an error: 0x00000003!
I tried to single step the code (not that easy with release config optimization).
I traverse through the following functions:
main() > nrf_bootloader_init() > nrf_dfu_init() > nrf_dfu_transports_init() > trans->init_func() > ble_dfu_transport_init() > ble_stack_init() > nrf_dfu_mbr_init_sd() > sd_mbr_command()
It seems as if the later softdevice function sd_mbr_command() fails with error code 9 (again, only is SES)
What am I missing here ???
Thanks