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

nrf52840 - Secure Ble Bootloader - Failed to initialize Transport

Hi,

I am trying to integrate ble based bootloader into my existing system running on nrf52840. I am using SDK 16 v7.0.1 with sd140. To test the process, I have added the code 

NRF_POWER->GPREGRET = 0xffffffff;
NRF_POWER->GPREGRET = BOOTLOADER_DFU_START;
to reboot the system in DFU mode. However upon boot, the bootloader is not advertising and I can see the main application is booted up instead of entering the DFU mode.

Looking at the logs, I can see that it is failing to initialize transport with error code 7

<info> app: Inside main
<debug> app: In nrf_bootloader_init
<debug> nrf_dfu_settings: Calling nrf_dfu_settings_init()...

<debug> nrf_dfu_settings: Using settings page.
ge.
source, write not needed. Skipping.
E000.
source, write not needed. Skipping.
<debug> app: Enter nrf_bootloader_fw_activate
<info> app: No firmware to activate.
<debug> app: App is valid
<debug> app: DFU mode requested via GPREGRET.
<info> nrf_bootloader_wdt: WDT is not enabled
<debug> app: in weak nrf_dfu_init_user
<debug> app: timer_stop (0x2000596C)
<debug> app: timer_activate (0x2000596C)
<info> app: Entering DFU mode.
<debug> app: Initializing transports (found: 1)
<debug> nrf_dfu_ble: Initializing BLE DFU transport
<debug> nrf_dfu_ble: Setting up vector table: 0x000F1000
<debug> nrf_dfu_ble: Enabling SoftDevice.
<debug> nrf_dfu_ble: Configuring BLE stack.
<debug> nrf_dfu_ble: Enabling the BLE stack.
<debug> nrf_dfu_ble: No advertising name found
<debug> nrf_dfu_ble: Using default advertising name
<debug> nrf_dfu_ble: Advertising...
<debug> app: Failed to initialize transport 0, error 7
<error> app: Could not initalize DFU transport: 0x00000007
<error> app: Received an error: 0x00000003!

Any idea why this would be happening? 

Parents Reply Children
No Data
Related