-
Notifications
You must be signed in to change notification settings - Fork 8.3k
boards: st: nucleo_h7s3l8: Introduce App in Ext Flash variant #99647
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
base: main
Are you sure you want to change the base?
boards: st: nucleo_h7s3l8: Introduce App in Ext Flash variant #99647
Conversation
boards/st/nucleo_h7s3l8/nucleo_h7s3l8_stm32h7s3xx_ext_flash_app_defconfig
Outdated
Show resolved
Hide resolved
| endchoice | ||
|
|
||
| choice MCUBOOT_MODE | ||
| default MCUBOOT_MODE_SINGLE_APP |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
direct xip?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I copied that from the stm32h7s78_dk board. Not too familiar with mcuboot modes. Is MCUBOOT_MODE_DIRECT_XIP the better way?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
they are different modes, single slot means you use slot 0 and cannot do any updates from the app, MCUboot must have serial recovery mode to update slot 0, with direct-xip you can load firmware updates to the opposing slot and MCUboot will boot the highest version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the update. On my custom board I will later most likely use MCUBOOT_MODE_SWAP_USING_OFFSET, but here I am completely open to what we want to set. Open for suggestions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can use any, if this works with swap using offset, would just default to that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI, MCUBOOT_MODE_SINGLE_APP had smaller footprint and using any other would blow over the 64K Flash available. See #97992 (comment). There is probably something to fix but I didn't had time to investigate further.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed to MCUBOOT_MODE_SWAP_USING_OFFSET, it is used on the stm32h750b_dk and we have no footprint issues during compilation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we have no footprint issues during compilation
Interesting, I'll have a cross check on stm32h7s78_dk.
fbe1d9b to
0a9ca9e
Compare
|
rebased because of merge conflicts |
Add write-block-size and erase-block-size attributes to xspi nor flash connected to xspi2. This is needed for mcuboot to handle flash access of the ext_flash. The changes in the node structure is taken from the stm32h7s78_dk board. Update zephyr,flash-controller in samples/sysbuild/with_mcuboot/boards /nucleo_h7s3l8.overlay to have CONFIG_STM32_APP_IN_EXT_FLASH set when direct parent of flash is not XSPI but only the parent of the flash- controller. Signed-off-by: Thomas Decker <[email protected]>
0a9ca9e to
e0490cf
Compare
|
rebased because of merge conflicts |
erwango
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks ok, but please also update board documentation (you'll find examples for other boards)
e0490cf to
34d99ac
Compare
34d99ac to
4249378
Compare
|
Added documentation (copied and adapted from stm32h750b_dk). Also changed to |
Add ext_flash_app variant to nucleo_h7s3l8 to allow building applications running on ext flash. Based on Erwan Gouriou's work on stm32h7s78_dk in PR zephyrproject-rtos#97992 (which is based on A.Jarmouni's work on stm32h750_dk in PR 97037). Signed-off-by: Thomas Decker <[email protected]>
…iant Now that ext_flash_app variant is available, it should be used for mcuboot related apps on this board. Delete boards/nucleo_h7s3l8.overlay (and boards/stm32h7s78_dk.overlay) which are not needed anymore. Signed-off-by: Thomas Decker <[email protected]>
4249378 to
49e4af0
Compare
|



Similarly to what is done for stm32h7s78_dk board in #97992, introduce an ext_flash_app board variant aiming at being chainloaded by MCUBoot.
Requires mcuboot counter part (mcu-tools/mcuboot#2510) to allow MCUBoot to run on internal flash.
Need / waiting for mcu-tools/mcuboot/pull/2554.
Tested with
samples/hello_worldwithnucleo_h7s3l8(app in internal flash)samples/hello_worldwithnucleo_h7s3l8/stm32h7s3xx/ext_flash_app(mcuboot + app in external flash)samples/sysbuild/with_mcubootwithnucleo_h7s3l8/stm32h7s3xx/ext_flash_app(mcuboot + app in external flash)