How to correctly use external flash storage firmware for Bluetooth mesh dfu distributor

I am using ncs2.9.1.

I am currently testing Bluetooth mesh dfu using 54l15dk. Now I want to put the firmware that is ready for updating into the external flash of the distributor, so I enabled the external flash in the distributor example by following the steps below

In sysbuildconf:

In mcuboot.conf:
In app.overlay of mcuboot:
Then download this distributor example to 54l15dk and use the Device Manager app to upload firmware for updates to the distributor.Before using external flash, this upload process can be successfully completed, but after using external flash, an error occurs immediately after the upload starts
Parents
  • The reason I have found so far is the scramble_mcuboot_trailer function in zephyr\subsys\dfu\img_util\flash_img.c,the 'size = info.size;' , sometimes size becomes 65536, causing some functions called later to fail and return error codes

    Also, I use shell command flash erase mx25r6435f@0 0 800000 formatted the entire external flash, but the issue was not resolved. At the same time, I also placed Littlefs in the external flash, and LFS is working properly, which should ensure that the external flash itself is problem free

Reply
  • The reason I have found so far is the scramble_mcuboot_trailer function in zephyr\subsys\dfu\img_util\flash_img.c,the 'size = info.size;' , sometimes size becomes 65536, causing some functions called later to fail and return error codes

    Also, I use shell command flash erase mx25r6435f@0 0 800000 formatted the entire external flash, but the issue was not resolved. At the same time, I also placed Littlefs in the external flash, and LFS is working properly, which should ensure that the external flash itself is problem free

Children
No Data
Related