Skip to content
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

[nrf noup] scripts: west_commands: runners: nrf: workarounds for SDFW… #2172

Conversation

hakonfam
Copy link
Contributor

… v8.0.0

SDFW v8.0.0 introduces certain changes that require matching changes in nrfutil device to ensure that west flash works properly on nrf54h20dk and nrf9280pdk.

This commit adds a few temporary workarounds to ensure that west flash works with an older nrfutil device version as well:

  1. Don't erase UICR, as this tries to erase the extended UICR regions as well, and those regions no longer exist (resulting in an error).

  2. Reset after erasing domains with west flash --erase. This is needed for the memory owned by the different domains to be freely accessible and able to be allocated to different domains.

  3. Unless doing a west flash --erase, do a RESET_VIA_SECDOM reset before programming firmware. This ensures that all the cores are stopped before writing firmware. Removing the UICR erase step seemed to cause some instability when programming, which is suspected to be caused by the firmware running while programming.

… v8.0.0

SDFW v8.0.0 introduces certain changes that require matching changes
in nrfutil device to ensure that west flash works properly on
nrf54h20dk and nrf9280pdk.

This commit adds a few temporary workarounds to ensure that west flash
works with an older nrfutil device version as well:

1. Don't erase UICR, as this tries to erase the extended UICR regions
   as well, and those regions no longer exist (resulting in an error).

2. Reset after erasing domains with west flash --erase. This is needed
   for the memory owned by the different domains to be freely
   accessible and able to be allocated to different domains.

2. Unless doing a west flash --erase, do a RESET_VIA_SECDOM reset before
   programming firmware. This ensures that all the cores are stopped
   before writing firmware. Removing the UICR erase step seemed to cause
   some instability when programming, which is suspected to be caused by
   the firmware running while programming.

Signed-off-by: Jonathan Nilsen <[email protected]>
Signed-off-by: Håkon Amunsden <[email protected]>
@hakonfam hakonfam added this to the ncs-2.8.0 milestone Oct 28, 2024
@rlubos
Copy link
Contributor

rlubos commented Oct 28, 2024

Is there a corresponding PR to main?

@57300
Copy link
Contributor

57300 commented Oct 28, 2024

@hakonfam @jonathannilsen Any reason not to have this upstream?

@shanthanordic shanthanordic removed this from the ncs-2.8.0 milestone Nov 22, 2024
@shanthanordic
Copy link

removed 2.8.0 milestone as it was tagged already

@hakonfam
Copy link
Contributor Author

Handled in separate PR

@hakonfam hakonfam closed this Nov 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants