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

NCSDK-32650: Revert incompatible memory changes #2678

Conversation

tomchy
Copy link
Contributor

@tomchy tomchy commented Mar 28, 2025

Due to compatibility reasons, we should either revert those or provide a clear and tested way to migrate between the v2.9.0-nRF54H20-1 and v3.0.0.

@hubertmis
Copy link
Contributor

This is a board configuration - it is application-specific. This configuration is used in samples running on the DK. It's not used in the product PCBs. Is there any reason to maintain compatibility between application-specific configurations for development kits?

@tomchy
Copy link
Contributor Author

tomchy commented Mar 31, 2025

This is a board configuration - it is application-specific. This configuration is used in samples running on the DK. It's not used in the product PCBs. Is there any reason to maintain compatibility between application-specific configurations for development kits?

If we make a board-level change, than it is applied to all of the applications, including those who partition only the MRAM part of the memory. After this change any application that wishes to be compatible (or updateable through DFU) must add an overlay, aligning memory regions. If missed, it will end up in a bus fault.

At this point, it might be easier to revert those changes than handle all of the support tickets, complaining about a failed NCS migration attempt.

The issue was raised by @MarekPieta and discussed with @maciejpietras, so if you want to discuss this change further, please schedule a meeting.

@tomchy tomchy requested a review from maciejpietras March 31, 2025 09:59
@hubertmis
Copy link
Contributor

I'm confused. Is there a requirement to be able to update a sample on nRF54H20-DK from NCS 2.9 to 3.0 with DFU? On the development kit, you can update with JLink to be compatible with the new memory map.

Not to mention that 2.9 -> 3.0 is a major version change, so I'm not sure if we intend to make it DFU-able between them. There are more breaking changes than memory maps for Development Kits.

@maciejpietras
Copy link

I'm confused. Is there a requirement to be able to update a sample on nRF54H20-DK from NCS 2.9 to 3.0 with DFU? On the development kit, you can update with JLink to be compatible with the new memory map.

Not to mention that 2.9 -> 3.0 is a major version change, so I'm not sure if we intend to make it DFU-able between them. There are more breaking changes than memory maps for Development Kits.

We don't want to make customer life's even harder therefore I proposed to revert this change. This change was mainly triggered by Matter which is not available on H20. Release NCS 3.0 will be the last one in this configuration and starting with NCS 3.1 I anticipate more significant changes therefore this will be good opportunity to modify memory maps then.

Copy link
Contributor

@hubertmis hubertmis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change was mainly triggered by Matter which is not available on H20

This bug was found by Matter, but it applies to all applications. Especially those with bigger memory footprint in the Application CPU

Copy link
Contributor

@hubertmis hubertmis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussed offline. For nRF54H20 there will be broken NCS compatibility between NCS versions 3.0 and 3.1. So it's better to revert this change now and reintroduce between 3.0 and 3.1

Copy link
Contributor

@nordicjm nordicjm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

upstream reverts should go upstream

@tomchy
Copy link
Contributor Author

tomchy commented Apr 3, 2025

upstream reverts should go upstream

Upstream PR: zephyrproject-rtos/zephyr#88121

@tomchy tomchy force-pushed the bugfix/nrf54/NCSDK-32650_Revert_incompatible_memory_changes branch from 2f74e23 to 9b4b095 Compare April 3, 2025 14:44
@tomchy tomchy requested a review from nordicjm April 3, 2025 14:49
tomchy added 2 commits April 4, 2025 09:13
…lue."

This reverts commit 1e69738.

Upstream PR #: 88121

Ref: NCSDK-32650

Signed-off-by: Tomasz Chyrowicz <tomasz.chyrowicz@nordicsemi.no>

This reverts commit 1e69738
This reverts commit a53cb73.

Upstream PR #: 88121

Ref: NCSDK-32650

Signed-off-by: Tomasz Chyrowicz <tomasz.chyrowicz@nordicsemi.no>

This reverts commit a53cb73.
@tomchy tomchy force-pushed the bugfix/nrf54/NCSDK-32650_Revert_incompatible_memory_changes branch from 9b4b095 to 7d3b1d9 Compare April 4, 2025 07:13
Copy link

sonarqubecloud bot commented Apr 4, 2025

@tomchy tomchy added this to the ncs-3.0.0 milestone Apr 4, 2025
@tomchy tomchy added the bugfix label Apr 4, 2025
@bjarki-andreasen bjarki-andreasen merged commit a4c30ef into nrfconnect:main Apr 7, 2025
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants