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

Using openbootloader & softdevice to switch two app

Hi,

I's trying to implement switch two application firmware in the openbootloader example, but I meet some issue.

I change the sector to 0x27000 in App1, 0x40000 in App2, the bootloader is default to open the 0x27000 in softdevice S140, I change the vector to 0x40000 in the openbootloader.

Modify code as below:

in "brf_bootloader_app_start.c" :

line 76: nrf_bootloader_app_start(0x40000);

in "nrf_dfu_mbr.c"

line 84: uint32_t address = 0x40000;

But nrf52840 can't bootup with App2, how can I modify the bootloader to support this feature?

Thank you.

Parents
  • Hi

    Please make sure that you don't forward interrupts to the start address of your application using the SD_MBR_COMMAND_IRQ_FORWARD_ADDRESS_SET command. This will cause the jump to the application to be executed successfully, but crash as the nrf_sdh_enable_request() is called. Try removing this forwarding command if you're using it.

    Best regards,

    Simon

Reply
  • Hi

    Please make sure that you don't forward interrupts to the start address of your application using the SD_MBR_COMMAND_IRQ_FORWARD_ADDRESS_SET command. This will cause the jump to the application to be executed successfully, but crash as the nrf_sdh_enable_request() is called. Try removing this forwarding command if you're using it.

    Best regards,

    Simon

Children
No Data
Related