-
Notifications
You must be signed in to change notification settings - Fork 7.8k
drivers: flash: stm32 xspi flash read with memcopy when executing #93762
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
Open
FRASTM
wants to merge
1
commit into
zephyrproject-rtos:main
Choose a base branch
from
FRASTM:issue92883
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+12
−13
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 needed in my opinion, since the app image can be stored in ext flash but then be executed in RAM (after being copied there by MCUboot). In that case, we are not sure if the Flash is still MemMapped, because the app can exit Memmap mode and use a storage partition in external Flash for ex. Does this make sense?
zephyr/share/sysbuild/image_configurations/MAIN_image_default.cmake
Line 40 in 00e217d
But maybe CONFIG_XIP is not the appropriate flag to check, since it is not disabled in SINGLE_APP_RAM_LOAD mode for ex.
zephyr/share/sysbuild/image_configurations/MAIN_image_default.cmake
Line 42 in 00e217d
I'm no longer sure of the exact semantics of Zephyr XiP at this point, I think it just means "app is executed where it was last loaded, RAM, Flash, PSRAM...by either flashloader or bootloader" or something close to this.
@nordicjm Any thoughts on this? what am I getting wrong?
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.
waiting for @nordicjm 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.
We will perhaps need to check for MCUboot modes instead, to know if Memmap mode is still required after the image has started executing, see #85254 (comment)
It appears that XiP semantics in Zephyr needs real clarification in the docs & Kconfig help text, especially in relationship to the usage of a bootloader that can move the app image around, and Zephyr Code Relocation as well.
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.
to be honest I think the comment about single loader is wrong, it is executing from RAM, it should have XIP set to n, XIP means running from flash, the help text is clear on that:
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.
But is the help text still accurate today, compared to when XiP was first introduced?
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, you are still running from read only media (one could argue that you could erase the flash sector you are running meaning it's not read only but that's not going to go well)