Description:
We are working with nRF54L15 connected to an external flash memory MX25R64.
Our setup uses MCUboot with a secondary partition located on the external flash.
For firmware updates we are using the dfu_target library. The implementation logic is based on the fota_download library, which also relies on dfu_target.
We moved the firmware update process into a dedicated task, which receives data chunks via a queue and then processes them through dfu_target.
Issue observed:
-
When running normally (without debugging session started), data is not written to the external flash (secondary MCUboot partition).
-
When a debugging session started, the same update procedure works correctly, and all chunks are written to flash as expected.
Questions:
-
Are there known issues with dfu_target + MCUboot when writing to external flash on nRF54L15?
-
Could this behavior (works with debugger, fails without) be related to timing or power/clock domain issues with the external flash?
-
Do you have recommendations for debugging or configuring external flash writes in this setup?
-
Could this issue be caused by a conflict with
settings_save_one()or other settings subsystem flash operations? -
Could BLE activity or timing constraints block access to the external SPI flash during DFU writes?
Environment:
-
Controller: nRF54L15
-
External flash: MX25R64 SPI NOR (used for MCUboot secondary partition)
-
Zephyr RTOS (SDK 3.0.2)
-
MCUboot
-
dfu_target library (custom integration)
