-
Notifications
You must be signed in to change notification settings - Fork 1.4k
manifest: sdk-zephyr: pull in gen_periphconf_entries.py #24524
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
Conversation
The following west manifest projects have changed revision in this Pull Request:
⛔ DNM label due to: 1 project with PR revision Note: This message is automatically posted and updated by the Manifest GitHub Action. |
CI InformationTo view the history of this post, clich the 'edited' button above Inputs:Sources:sdk-nrf: PR head: d1255d2f29052a33404d8bd7cfa99bc77baee19f more detailssdk-nrf:
zephyr:
Github labels
List of changed files detected by CI (52)
Outputs:ToolchainVersion: 2b2cd9579a Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped;
|
e9c06ee
to
96ae5c7
Compare
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-24524/nrf/releases_and_maturity/releases/release-notes-changelog.html |
96ae5c7
to
228e29b
Compare
Apply the shield to the app only. Don't apply it to other images in the sysbuild, i.e. 54h20's UICR image. Signed-off-by: Sebastian Bøe <[email protected]>
Rewrite the periphconf CMake code to have each individual Zephyr image generate periphconf instead of doing it from the sysbuild image. This aligns better with how upstream has moved gen_uicr.py out of SYSBUILD. Also, add a sample that uses this infrastructure. Signed-off-by: Sebastian Bøe <[email protected]>
Pull in new build system support for generating PERIPHCONF entries based on devicetree. This functionality replaces nrf-regtool and "periphconf migration". Ref: NCSDK-35206 Signed-off-by: Jonathan Nilsen <[email protected]>
228e29b
to
d1255d2
Compare
project(secondary_boot_secondary) | ||
|
||
# Create empty marker file at configure-time | ||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/is_secondary_firmware.txt "") |
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.
???
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.
The uicr image needs to know which images are primary images, and which are secondary images.
When this was developed, I couldn't find a clean way to communicate this.
But now the uicr image is parsing all of the .config's of the other images to find out if
CONFIG_KERNEL_BIN_NAME has been modified.
So I could now introduce a Kconfig IS_SECONDARY if you prefer.
The code that checks this .txt file is here
And the code that extracts the Kconfig is here:
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.
@tomchy recently did it for images, can see also in cmake/sysbuild/modules/ncs_sysbuild_extensions.cmake
how variant images do it
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.
AFAICT ncs_sysbuild_extensions introduces a wrapper-function that
adds an image to a list before invoking ExternalZephyrProject_Add.
That list could then be passed to the uicr image at generation
time.
If I understand you correctly, you want me to introduce a
wrapper-function that customers can invoke when they want to add
a secondary image.
I feel it is simpler to document that customers only need to set
the Kconfig IS_SECONDARY_IMAGE to ensure that their image is
registered as a secondary image than to document that they need
to invoke this wrapper function in CMake.
Note that the introduction of a wrapper function would not solve the problem
of the UICR image needing to know what binary name each image has used
(CONFIG_KERNEL_BIN_NAME).
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.
This commit originated from #24028, and I've now dropped it from there to not unnecessarily block other included changes. We will make a new PR with just the secondary mode sample changes.
subsys/periphconf/CMakeLists.txt
Outdated
) | ||
message(STATUS "Generated periphconf_migrated.c: ${PROJECT_BINARY_DIR}/periphconf_migrated.c") | ||
|
||
zephyr_sources(${PROJECT_BINARY_DIR}/periphconf_migrated.c) |
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.
this should be generated properly using add_custom_target
and add_custom_command
so it can be updated if it is out of date etc. and is not continually rebuilt
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.
This change was part of an intermediate commit which is now obsolete. I've dropped it from #24028.
Memory footprint analysis revealed the following potential issuesapplications.hpf.gpio.icbmsg[nrf54l15dk/nrf54l15/cpuflpr]: High RAM usage: 12430[B] - link (cc: @nrfconnect/ncs-ll-ursus) Note: This message is automatically posted and updated by the CI (latest/sdk-nrf/PR-24524/6) |
I've now included the relevant parts from this into #24028 |
Pull in new build system support for generating PERIPHCONF
entries based on devicetree.
This functionality replaces nrf-regtool and "periphconf migration".
Also includes the commits from #24028.
test_secdom_samples_public: NCSDK-NONE_fix_uicr_path
test_ble_samples: PR-242
test_crypto: PR-853
test_proprietary: PR-115