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
  • Hi

    1. If you want to connect the SPI flash directly to the NET core that should be possible too, but I think the easiest would be to only connect it to the app core and do it via the application core. Is there a specific reason to transmit directly to the NET core in your case? It is definitely possible as you say, so you're welcome to implement it if you'd like.

    2. When updating both cores the memory partitions must be defined so you have partitions for both the application and network core image slots. The pcd_sram partition is used for command exhange between the app and net core. This is supported by enabling the CONFIG_PCD_APP

    Best regards,

    Simon

Reply
  • Hi

    1. If you want to connect the SPI flash directly to the NET core that should be possible too, but I think the easiest would be to only connect it to the app core and do it via the application core. Is there a specific reason to transmit directly to the NET core in your case? It is definitely possible as you say, so you're welcome to implement it if you'd like.

    2. When updating both cores the memory partitions must be defined so you have partitions for both the application and network core image slots. The pcd_sram partition is used for command exhange between the app and net core. This is supported by enabling the CONFIG_PCD_APP

    Best regards,

    Simon

Children
No Data
Related