-
Notifications
You must be signed in to change notification settings - Fork 1.4k
samples: idle_relocated_tcm: Add support for direct-xip split slot + switch to CONFIG_XIP=n #25891
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?
samples: idle_relocated_tcm: Add support for direct-xip split slot + switch to CONFIG_XIP=n #25891
Conversation
Add radio_loader sample for nRF54H20 that implements a two-stage boot process for the radio core. The loader copies firmware from MRAM to TCM (Tightly Coupled Memory) at boot time and jumps to the loaded firmware. The loader uses devicetree chosen nodes to specify source and destination memory regions: - zephyr,loaded-fw-src: Source partition in MRAM - zephyr,loaded-fw-dst: Destination region in TCM JIRA: NCSDK-36461 Signed-off-by: Jan Zyczkowski <jan.zyczkowski@nordicsemi.no>
Update sdk-zephyr revision and enhance Kconfig handling. If the 'fw-to-relocate' chosen node exists, the firmware will: - automatically calculate the Load Memory Address (LMA) adjustment for firmware relocation. - Modified Kconfig handling in cmake modules to accommodate a new property "fw-to-relocate". - Ensured backward compatibility by falling back to "zephyr,code-partition" if ther is not property "fw-to-relocate". JIRA: NCSDK-36461 Signed-off-by: Jan Zyczkowski <jan.zyczkowski@nordicsemi.no>
Introduce a new sample demonstrating a multicore idle test with firmware relocated to the radio core's TCM. The test showcases the radio loader pattern, where firmware is loaded from MRAM to TCM at runtime, ensuring efficient execution. JIRA: NCSDK-36461 Signed-off-by: Jan Zyczkowski <jan.zyczkowski@nordicsemi.no>
Changes the *.overlay suffix to *.dtsi as it is included in other files. Jira: NCSDK-36461 Signed-off-by: Mateusz Kapala <mateusz.kapala@nordicsemi.no>
Fixed slot size used for signing the images when the MCUboot works in the direct-xip mode. Previously slot size was always taken from the slot0 partition instead of the zephyr,code-partition. Jira: NCSDK-36461 Signed-off-by: Mateusz Kapala <mateusz.kapala@nordicsemi.no>
It is possible for Zephyr to relocate code from NVM to RAM without using custom fw-to-relocate DTS node. The CONFIG_XIP=n needs to be used instead. This change aligns it at the build system level. Jira: NCSDK-36461 Signed-off-by: Mateusz Kapala <mateusz.kapala@nordicsemi.no>
Instead of fw-to-relocate DTS note use the CONFIG_XIP=n. Align memory map to use whole TCM. Jira: NCSDK-36461 Signed-off-by: Mateusz Kapala <mateusz.kapala@nordicsemi.no>
Adapted the sysbuild configuration so the Radio Loader could support the MCUboot in the direct-xip in split slot mode. Adapted also the radio_loader sample to properly select the vector table pointer as in split mode each image has a MCUboot header which needs to be skipped. Jira: NCSDK-36461 Co-authored-by: Jan Zyczkowski <jan.zyczkowski@nordicsemi.no> Signed-off-by: Mateusz Kapala <mateusz.kapala@nordicsemi.no>
Added configurations for the application with MCUboot in the direct-xip mode with split slots (each image has their slots independent from other images). Jira: NCSDK-36461 Co-authored-by: Jan Zyczkowski <jan.zyczkowski@nordicsemi.no> Signed-off-by: Mateusz Kapala <mateusz.kapala@nordicsemi.no>
Added log with zephyr,code-partition DTS node address to determine from which slot the image has been loaded. Jira: NCSDK-36461 Signed-off-by: Mateusz Kapala <mateusz.kapala@nordicsemi.no>
CI InformationTo view the history of this post, click the 'edited' button above Inputs:Sources:more detailsGithub labels
List of changed files detected by CI (0)Outputs:ToolchainVersion: Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped;
|
|
You can find the documentation preview for this PR here. Preview links for modified nRF Connect SDK documents: https://ncsdoc.z6.web.core.windows.net/PR-25891/nrf/releases_and_maturity/releases/release-notes-changelog.html |
Fixes cmake script used for signing direct-xip images (wrong slot size).
Replaces the custom DTS partition used for relocation with usage of CONFIG_XIP=n which simplifies the implementation.
Integrates direct-xip split slot mode support to the sample as a separate configuration.
Depends on: #25737
Replaces: #25826
Jira: NCSDK-36461