Skip to content

soc: stm32n6: Support running zephyr as a chainloaded application #91941

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

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

erwango
Copy link
Member

@erwango erwango commented Jun 20, 2025

Set of required adaptations to allow running the zephyr image following a bootloader (mcuboot for now).

Could be used with sysbuild:
west build -b stm32n6570_dk --sysbuild <your sample> -DSB_CONFIG_BOOTLOADER_MCUBOOT=y (XIP)
Add -DSB_CONFIG_MCUBOOT_MODE_RAM_LOAD=y to use RAMLOADED mode.

Requires mcu-tools/mcuboot#2348

erwango added 3 commits June 20, 2025 10:27
Offset is 400 for a good reason (yet to be defined).

Signed-off-by: Erwan Gouriou <[email protected]>
This signature is only valid for FSBL images.
MCUBooot will sign images by itself.

Signed-off-by: Erwan Gouriou <[email protected]>
- Provide external flash partition
- Define external flash and flash controller
- Define image as XIP as it will run from external flash
- Defined flashing address depending on image (FSBL/Chainloaded)

Signed-off-by: Erwan Gouriou <[email protected]>
Copy link

github-actions bot commented Jun 20, 2025

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff
hal_stm32 zephyrproject-rtos/hal_stm32@468e5ad (main) zephyrproject-rtos/hal_stm32#289 zephyrproject-rtos/hal_stm32#289/files

DNM label due to: 1 project with PR revision

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@github-actions github-actions bot added manifest manifest-hal_stm32 DNM (manifest) This PR should not be merged (controlled by action-manifest) labels Jun 20, 2025
erwango added 3 commits June 20, 2025 13:52
Point to hal_stm32 change allowing to start chainloaded app (_s
profile).

Signed-off-by: Erwan Gouriou <[email protected]>
Make axisram2 which is used in fsbl mode available as well to
chainloaded application in order not to loose 1M of RAM

In order to avoid conflicts with bootloader, verify that code + ro data
of the loaded application won't go further than bootloader start address.
This is done with a linker assert.

Signed-off-by: Erwan Gouriou <[email protected]>
Due to a BootROM clock switching issue, XSPI1 should use HCLK otherwise
app won't restart on reset.

Signed-off-by: Erwan Gouriou <[email protected]>
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DNM (manifest) This PR should not be merged (controlled by action-manifest) manifest manifest-hal_stm32 platform: STM32 ST Micro STM32
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant