Hi,
Setup : nRF SDK 1.9.0 and nRF52840, with an External flash MX25L series. Using SPI (not QSPI)
I'm noticing a huge difference between speed of file upload over SMP BLE vs. MCUBoot DFU, both of which that are writing to external flash (SPI) in my case.
With SPI bus clock freq of 125KHz, MCUBoot DFU is uploading e.g. at 10KB/S vs. File upload is happening at ~1KB/s
With SPI bus clock freq of 8MHz, MCUBoot DFU is uploading e.g. at 27KB/S vs. File upload is happening at 3.5KB/s
So while increasing the clock freq of External SPI flash helps, SMP File upload seems to be 10x slower.
Any idea what could be causing this?
When uploading via fs upload, system workqueue seems to be quite busy using ~50% of CPU cycles. but still 30% in idle, so I assume that means nRF chip not fully max'ed out in terms of processing power.
- Is MCUboot writing directly to external flash with little "fluff" in between, vs. SMP file upload is going through littlefs and that's slowing things down?
- Is SMP file upload requiring a response back for each chunk vs. MCUBoot isn't?
Any ideas how I could improve the file upload speed?
I played with LittlteFS cache size also, didn't seem to make any major difference.
The BLE connection interval was in both cases 35ms. So nothing is difference there I suspect.
Thanks,
Farhang