Hi Nordic support team,
We're using nRF52840 to develop a product with lots of features, using nRF NCS latest version (1.7.x as of writing).
Currently we're sitting at ~50% RAM and Flash usage, having BLE, Thread and other features enabled.
Since it is almost impossible to guess how much more RAM/Flash we need to fit the rest of the features, I'm wondering what options exist if we run out of the memory resources before we finish dev. (Yes, I checked Size Optimizations are on. #define CONFIG_SIZE_OPTIMIZATIONS 1)
- If we need more Flash space, can we reliably place the FW image to an external QSPI flash and run from there? are there NCS examples for this? Does Zephyr support this mode? What issues could it raise compared to running from internal flash? (I read a few posts about extra delays associated running from flash - another comment mentioned ISRs can't be placed in external flash - are these true and if so what are workarounds?) Does MCUBoot support having dual bank FW update in the external flash (i.e. both running code and 2nd bank in external flash)?
- I assume we can't extend SRAM externally, can we?!
- Moving to nRF5340, how much RAM/Flash is roughly freed by moving the BLE and Thread FTD stacks to the network processor?