This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

NRF52 Firmware upgrade not working as expected

Hi Nordic

I have some questions regarding a firmware upgrade:

Hardware: custom NRF52832

Software Version Information:
SDK: nRF5_SDK_17.0.2_d674dde
Softdevice: s132_nrf52_7.2.0_softdevice

The memory layout in flash is like this:

0x00000000 - MBR
0x00001000 - softdevice (s132_nrf52_7.2.0)
0x00026000 - Custom bootloader
0x0002B000 - Application 1
0x00050800 - Application 2
0x00076000 - Configuration


Note:
1. we are not using Bootloader DFU.
2. Application contains softdevice.

Wishes:
- After Flashing Custom bootloader and Application 1 or Application 2.
- On every reboot Custom bootloader will run and jump to application.


Queries:
1. As APP_CODE_BASE is hardcoded inside the SoftDevice. how can we modified that on run time.
2. how to jump between application.
3. Please suggest us the flow how can we implement firmware upgrade according to our situation.

  • Hi, 

    0x00026000 - Custom bootloader

    The application program code should be placed above the SoftDevice at APP_CODE_BASE instead of the bootloader. See Memory resource map and usage and Memory layout

    1. As APP_CODE_BASE is hardcoded inside the SoftDevice. how can we modified that on run time.

    The Softdevice includes an information structure that is offset from Softdevice start () and APP_CODE_BASEcannot be modified. See Information structure

    2. how to jump between application.

    You may take a look at nrf_dfu_bank0_start_addr() in nrf_dfu_utils.c to see how the SDK bootloader does it. 

    3. Please suggest us the flow how can we implement firmware upgrade according to our situation.

    Please refer to DFU bootloader examples

    Regards,
    Amanda

Related