-
Notifications
You must be signed in to change notification settings - Fork 7.4k
boards: nxp: frdm_mcxn947 and mcx_n9xx_evk: boot directly from QSPI flash #90409
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
boards: nxp: frdm_mcxn947 and mcx_n9xx_evk: boot directly from QSPI flash #90409
Conversation
The following west manifest projects have changed revision in this Pull Request:
✅ All manifest checks OK Note: This message is automatically posted and updated by the Manifest GitHub Action. |
fae95b7
to
0d8310d
Compare
DNM until #90566 merges, otherwise CI breaks, thanks please update manifest |
The ROM bootloader has the option to boot from external QSPI flash on the FlexSPI instead of internal flash. Adds CONFIG_NXP_FLEXSPI_BOOT_HEADER to include the FlexSPI boot ROM header in the image. Signed-off-by: Derek Snell <derek.snell@nxp.com>
Configures QSPI board variant to boot directly from external QSPI flash on the FlexSPI. Secondary bootloader is no longer required. Moves the MCUboot boot_partition to QSPI flash. Signed-off-by: Derek Snell <derek.snell@nxp.com>
Configures QSPI board variant to boot directly from external QSPI flash on the FlexSPI. Secondary bootloader is no longer required. Moves the MCUboot boot_partition to QSPI flash. Signed-off-by: Derek Snell <derek.snell@nxp.com>
0d8310d
to
0fd2234
Compare
#90566 merged, HAL_NXP merged, manifest updated and this PR rebased, and DNM label removed. |
|
I am documenting this here for those who prefer using the previous hybrid flash use-case. This PR enabled booting directly from external QSPI flash. Before this PR merged, XIP from QSPI was supported using both internal and external flash, what I call here the hybrid use-case. This hybrid method boots from internal flash with the MCUboot boot_partition. Then MCUboot enables the FlexSPI interface and configures for the external QSPI flash, and then loads the app to XIP from QSPI. However, MCUboot was reverted which broke this hybrid use-case. But the hybrid option is no longer needed, because now the QSPI board variant will boot directly from QSPI, and no longer requires MCUboot. If the hybrid flash use-case is preferred, these steps work for me. These steps are written for the
The debug console output shows MCUboot boots and loads the blinky sample:
|
The ROM bootloader has the option to boot from external QSPI flash on the FlexSPI instead of internal flash. Configures QSPI board variants to boot directly from QSPI. Secondary bootloader is no longer required. Moves the MCUboot boot_partition to QSPI flash.
Placing the MCUboot boot_partition in the QSPI flash depends on mcu-tools/mcuboot#2319