Closed hjuul closed 2 years ago
This issue has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this issue will automatically be closed in 14 days. Note, that you can always re-open a closed issue at any time.
My Zephyr application uses QSPI flash. I'm using MCUboot to boot the application.
On normal boot my application can access the QSPI flash as expected.
But on the first boot after an image swap the QSPI driver fails when reading serial flash discovery parameters:
MCUboot is configured to use internal flash only (slot0, slot1 and swap partitions are all in internal flash). But MCUboot has QSPI support because it finds the
&quadspi
entry in my dts file.A few interesting observations:
&quadspi
entry in my DTS file when compiling MCUboot fixes the issueCONFIG_FLASH_STM32_QSPI=n
when compiling MCUboot fixes the issueCONFIG_BOOT_ENCRYPT_RSA=n
when compiling MCUboot fixes the issue ** With encryption enabled it fails regardless of whether the updated image is actually encryptedEnvironment
main
branch on zephyrproject-rtos/mcuboot, but the problem persistsAdditional context It fails both for
BOOT_SWAP_TYPE_TEST
andBOOT_SWAP_TYPE_REVERT
.If I remove lines 542-667 here and attempt a firmware update the images won't be swapped, but my application will start with a functioning QSPI flash. This isolates the problem to these lines and their subroutines, and the bug is likely to be found in one of the
#ifdef MCUBOOT_ENC_IMAGES
blocks there. But that's as far as I got.