DFU data not being written to external flash

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:

  1. Are there known issues with dfu_target + MCUboot when writing to external flash on nRF54L15?

  2. Could this behavior (works with debugger, fails without) be related to timing or power/clock domain issues with the external flash?

  3. Do you have recommendations for debugging or configuring external flash writes in this setup?

  4. Could this issue be caused by a conflict with settings_save_one() or other settings subsystem flash operations?

  5. 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)

Parents Reply Children
No Data
Related