SDK 2.4.2
IC: nRF52840
QSPI Flash: MX25R64
Issue: I am using MCUBoot with the secondary image located in external QSPI flash. My application image is 941kb and therefore too big to use the internal flash.
I do not have usb/serial access to the device so I need a recovery mechanism to swap images if the update fails.
Questions:
1. My current image transfer time is greater than 1 minute. I am guessing this is due to the erase/program time of the MX25R64. Is this normal for an image of my size or are the further optimations I can do to speed this up?
2. Is it possible to use XIP to external flash to avoid the image swap? When I use CONFIG_BOOT_DIRECT_XIP my flash size overflows. I assume this means the partition manager is attempting to use the internal flash for both slots and not the external flash for the secondary image.
3. Perhaps someone has experience with a different SPI flash chip that has faster erase/program cycles? I saw Windbond is advertising very fast program time on new parts.
https://www.winbond.com/hq/support/online-learning/articles-item/qspinand-ultra-fast-write-speed-for-over-the-air-on-automotive.html?__locale=en