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

DFU on UART for pca10056

Hello

I would like to use the bootloader on the pca10056 in order to use the DFU with the UART.

For my tests, I programmed the pca10056 with the bootloader coming from the example "secure_bootloader_uart_mbr_pca10056_debug".
Then, I programmed the softdevice (s140_nrf52_7.0.1_softdevice.hex) via the command "make flash_softdevice".
Then I generated the ".Zip" folder containing the firmware that I want to send.
And finally, I sent the update (nrfutil dfu serial -pkg test_package.zip -p COM6 -b 115200 -fc 0)

The problem I encounter is that some examples (which use a softdevice) do not work after the update.

For example :
- examples \ ble_peripheral \ ble_app_hrs \ pca10056 \ s140 \ ses \ Output \ Release \ Exe \ ble_app_hrs_pca10056_s140.hex: everything works fine
- examples \ multiprotocol \ ble_thread \ ble_thread_dyn_hrs_coap_srv_freertos \ hex \ nrf52840_xxaa_s140_pca10056.hex: after it has successfully updated the program crashes

To debug this problem, I sent the firmware of the example ble_thread_dyn_hrs_coap_srv_freertos_pca10059_s140 (in debug mode) and after the update I started the debugger (Attach Debugger):


The program cannot pass the line "otInstanceInitSingle ();"

Next, if I continue the test, I have this error: Data bus error (return address in the stack frame is not related to the instruction that caused the error)


Do you have any idea why all the examples in "multiprotocol" don't work after the update but the examples in "ble_peripheral" work?

Also, do you know how I can debug this kind of problem?
 
Parents
  • I think this problem is a linker problem : is it possible ?

    Here is my linker configuration (software) : 
    FLASH_PH_START=0x0
    FLASH_PH_SIZE=0x100000
    RAM_PH_START=0x20000000
    RAM_PH_SIZE=0x40000
    FLASH_START=0x27000
    FLASH_SIZE=0xd5000
    RAM_START=0x20002ae8
    RAM_SIZE=0x3d518

    Here is my linker configuration (bootloader - PCA10056) : 

    FLASH_PH_START=0x0
    FLASH_PH_SIZE=0x100000
    RAM_PH_START=0x20000000
    RAM_PH_SIZE=0x40000
    FLASH_START=0xe4000
    FLASH_SIZE=0x1a000
    RAM_START=0x20000008
    RAM_SIZE=0x3fff8

    Are there things to modify to be compatible with the bootloader?

Reply
  • I think this problem is a linker problem : is it possible ?

    Here is my linker configuration (software) : 
    FLASH_PH_START=0x0
    FLASH_PH_SIZE=0x100000
    RAM_PH_START=0x20000000
    RAM_PH_SIZE=0x40000
    FLASH_START=0x27000
    FLASH_SIZE=0xd5000
    RAM_START=0x20002ae8
    RAM_SIZE=0x3d518

    Here is my linker configuration (bootloader - PCA10056) : 

    FLASH_PH_START=0x0
    FLASH_PH_SIZE=0x100000
    RAM_PH_START=0x20000000
    RAM_PH_SIZE=0x40000
    FLASH_START=0xe4000
    FLASH_SIZE=0x1a000
    RAM_START=0x20000008
    RAM_SIZE=0x3fff8

    Are there things to modify to be compatible with the bootloader?

Children
Related