nRF5340 FOTA using external spi flash

Hi,

We have a project using nRF5340,and must consider upgrading for it. I see nRF5340 netcore has SPI peripheral,can nRF5340 upgrading using external spi flash?
This post shows i can't update the network core via QSPI, because of the network core doesn't have access to the QSPI
peripheral.

Here is my upgrade idea:
1. Download OTA packet to spi flash memory by any ways.
2. Verify OTA packet and notify B0n start upgrading.
3. B0n get OTA packet via QSPI.
4. Start
upgrading and reset sysytem to boot new image.

Some details need to be confirmed:
1. I hope to upgrade appcore and netcore via spi flash, can the two core have access to the same spi flash?
2. What is another core doing when the one is upgrading, only waiting or processing its own things?
3. Image reversion,the two core use the same image slot. How does image reverse?

Best regards!

yang
Parents Reply Children
  • Hi 

    > 1. Yes, a SPI flash connected to the nRF53 (app core) it can forward NET core firmware to the NET core to do the DFU from the SPI flash to the NET core, and then the app core afterwards.

    Do you mean app core get NET core firmware from spi flash, and then send it to NET core over shared SRAM?

    Maybe I didn't describe it clearly, english is not my native language.

    About this case, my idea is NET core only get the "upgrade" command from app core over shared SRAM, then the NET core get NET core firmware from spi flash directly. 

    NET core has its own bootloader named B0n, and SPI peripherals it can be accessed.

    This problem can be equivalent to, does B0n can get firmware from its own SPI peripherals?

    I'm not sure I understand this question. You will need to have more than one image for your different cores,

    In this case, I see multi-image DFU allows the updating of both the application core and the network core in one go.

    But app core firmware and NET core firmware use the same image slot. So when the app core is updated, the old app core firmware will be deleted when the NET core is updating. 

    So how does app core reverse in this status?

    Best regards,

    HuYang

Related