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

How to merge serial and BLE DFU for SDK17

Hi,

I need to support both BLE update and serial update with sdk 17.

Going through some past post, the idea is clear.

1) Start with DFU_BLE example project.

2) Add the nrf_dfu_serial and nrf_dfu_serial_uart files to project.

3) Diff config with the DFU_UART project to add in the serial config

4) compile, and add the files that are now missing (also available in the DFU_UART project)

This all goes well, but I get the following error:

ld: error: section.tdata overlaps absolute placed section .mbr_params_page

I enabled link time optimization to make my files smaller. I also removed al logging, and removed anything that does not seem needed. But still no luck

Is there away around this?

Parents
  • I changed the Flash_START from 0x78000 to 0x77000 and the FLASH_SIZE from 0x6000 to 0x7000.

    If I run the code form SES it works. I can start the update process from both serial and ble.

    Is it that easy?

    I know I got to make the main app's Flash size smaller by 0x1000. But will all the other apps be ok with this new location?

    Is there something else I got to change, or is this not even the right method?

Reply
  • I changed the Flash_START from 0x78000 to 0x77000 and the FLASH_SIZE from 0x6000 to 0x7000.

    If I run the code form SES it works. I can start the update process from both serial and ble.

    Is it that easy?

    I know I got to make the main app's Flash size smaller by 0x1000. But will all the other apps be ok with this new location?

    Is there something else I got to change, or is this not even the right method?

Children
Related