-
Notifications
You must be signed in to change notification settings - Fork 1.4k
doc: Consolidate Ironside update docs #25951
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?
Conversation
1114bcf to
ed05cf8
Compare
|
A quick comment. I don't think upstream Zephyr can reference NCS docs. |
CI InformationTo view the history of this post, click the 'edited' button above Inputs:Sources:sdk-nrf: PR head: a9646aede0302723b2f4deec0f1016299d5277df more detailssdk-nrf:
Github labels
List of changed files detected by CI (3)Outputs:ToolchainVersion: Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped;
|
| ================================= | ||
|
|
||
| nrfutil device recover --serial-number <serial> | ||
| Global domain memory can be protected from write operations by configuring the :ref:`UICR.PROTECTEDMEM <ug_nrf54h20_ironside_se_protected_memory>` registers. |
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 is inaccurate.
Global domain memory may have it's integrity checked on boot.
Protectedmem doesn't block writes in any way.
Note that this is different from how UICR is protected. UICR is both protected by blocking writes and
by checking integrity.
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.
You're right, I conflated it with MPCCONF.
That isn't supported yet but the statement here comes from our current docs (without noting PROTECTEDMEM specifically). I'll remove the line altogether to avoid referencing functionality that isn't implementated yet as of it does.
| #. Erase non-volatile memory: | ||
|
|
||
| .. code-block:: console | ||
| Restricting default memory access |
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.
| Restricting default memory access | |
| Restricting memory access |
I think this conveys the same thing.
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.
Removed as noted here.
| .. code-block:: console | ||
| nrfutil device erase --all --serial-number <serial> | ||
| Performing an ``ERASEALL`` operation will remove the memory protections and disable all other protection mechanisms enforced through default UICR settings. |
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.
| Performing an ``ERASEALL`` operation will remove the memory protections and disable all other protection mechanisms enforced through default UICR settings. | |
| Performing an ``ERASEALL`` operation will remove the memory protections and disable all other protection mechanisms enforced through UICR settings. |
ERASEALL erases UICR and disables all UICR protections, not just default UICR settings right?
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.
Yes - if there is no UICR then there are no UICR protections in place.
This has been moved to the "Global Resource Configuration" section and clarified as you noted. Until we add more documentation about memory access configurations, I think this applies more generally there.
| .. code-block:: console | ||
| nrfutil device erase --all --serial-number <serial> | ||
| Performing an ``ERASEALL`` operation will remove the memory protections and disable all other protection mechanisms enforced through default UICR settings. |
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.
Maybe we could add a reference here to the section that describes how ERASEALL can be performed?
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.
Added to the moved text mentioned above.
doc/nrf/app_dev/device_guides/nrf54h/ug_nrf54h20_ironside_update.rst
Outdated
Show resolved
Hide resolved
doc/nrf/app_dev/device_guides/nrf54h/ug_nrf54h20_ironside_update.rst
Outdated
Show resolved
Hide resolved
doc/nrf/app_dev/device_guides/nrf54h/ug_nrf54h20_ironside_update.rst
Outdated
Show resolved
Hide resolved
doc/nrf/app_dev/device_guides/nrf54h/ug_nrf54h20_ironside_update.rst
Outdated
Show resolved
Hide resolved
doc/nrf/app_dev/device_guides/nrf54h/ug_nrf54h20_ironside_update.rst
Outdated
Show resolved
Hide resolved
doc/nrf/app_dev/device_guides/nrf54h/ug_nrf54h20_ironside_update.rst
Outdated
Show resolved
Hide resolved
doc/nrf/app_dev/device_guides/nrf54h/ug_nrf54h20_ironside_update.rst
Outdated
Show resolved
Hide resolved
|
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-25951/nrf/app_dev/device_guides/nrf54h/ug_nrf54h20_ironside.html |
doc/nrf/app_dev/device_guides/nrf54h/ug_nrf54h20_ironside_update.rst
Outdated
Show resolved
Hide resolved
doc/nrf/app_dev/device_guides/nrf54h/ug_nrf54h20_ironside_update.rst
Outdated
Show resolved
Hide resolved
doc/nrf/app_dev/device_guides/nrf54h/ug_nrf54h20_ironside_update.rst
Outdated
Show resolved
Hide resolved
|
A nice improvement :) |
Not through restructuredtext syntax, no. General hyperlinks work to NCS site pages though. The description notes the branch with that change. |
ed05cf8 to
60eaa90
Compare
kyberdin
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.
Updated for feedback and added new Architecture section.
| #. Erase non-volatile memory: | ||
|
|
||
| .. code-block:: console | ||
| Restricting default memory access |
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.
Removed as noted here.
| .. code-block:: console | ||
| nrfutil device erase --all --serial-number <serial> | ||
| Performing an ``ERASEALL`` operation will remove the memory protections and disable all other protection mechanisms enforced through default UICR settings. |
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.
Yes - if there is no UICR then there are no UICR protections in place.
This has been moved to the "Global Resource Configuration" section and clarified as you noted. Until we add more documentation about memory access configurations, I think this applies more generally there.
| .. code-block:: console | ||
| nrfutil device erase --all --serial-number <serial> | ||
| Performing an ``ERASEALL`` operation will remove the memory protections and disable all other protection mechanisms enforced through default UICR settings. |
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.
Added to the moved text mentioned above.
Keeps update-related information consolidated in a single location that can be referenced elsewhere. Moving the information into its own page prevents further expansions and/or diagrams from bloating the general Ironside SE docs so that it is easier to navigate. Ref: NCSDK-33336 Signed-off-by: Stephen Stauts <stephen.stauts@nordicsemi.no>
Aids navigation to relevant topics. Ref: NCSDK-33336 Signed-off-by: Stephen Stauts <stephen.stauts@nordicsemi.no>
Programming steps are discussed in the update docs, as that process is either part of the manual update or provisioning; the latter being documented elsewhere. Describing the ZIP archive is expanded into a release deliverable section and moved into the update context. Default configurations aren't strictly related to either but are still important to discuss in general ISE. Ref: NCSDK-33336 Signed-off-by: Stephen Stauts <stephen.stauts@nordicsemi.no>
Adds more details for architecture of update procedure, as well as a graph of the process between local and secure domains. Signed-off-by: Stephen Stauts <stephen.stauts@nordicsemi.no>
60eaa90 to
a9646ae
Compare
FrancescoSer
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.
Please hold off from merging this PR before another update heavily reorganizing ironside docs goes in.
Overview
Relates to