-
Notifications
You must be signed in to change notification settings - Fork 7.4k
stm32h7: qspi: Not accessible in memory mapped mode #59087
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
Comments
@benjaminbjornsson ^^, This point will have to be solved (or commit reverted) before being able to enable XIP on H7 series. |
@carlocaione I'm staring at #60049 right now. |
That commit is only introducing a couple of helpers to manage memory nodes and their attributes, what you do with these helpers is really up to the developer. So yes, you can leverage that commit if you want. I think what you specifically need from that commit is the fact that you can use a memory attribute on an |
Thanks @carlocaione we'll have a closer look |
Adding such a region 0 to the static const struct arm_mpu_region mpu_regions[] in /soc/arm/st_stm32/stm32h7/mpu_regions.c with
is not enough. Neither
The qspi flash cannot be read @ 0x90000000 --> z_arm_usage_fault |
When declaring the external qspi NOR flash node with
The include/zephyr/arch/arm/aarch32/mpu/arm_mpu_v7m.h does have a REGION_EXTMEM_ATTR() Branch : https://github.com/FRASTM/zephyr/tree/stm32h7_qspi_memmap
However, the application reads wrong data from quad NOR Flash at 0x90000000, after NOR flash erase :
(gdb) x /4x 0x90000000
|
See PR #61122 |
When Using the qspi NOR flash in MemoryMapped mode, it is accessible for reading --> There is a question about how should behave the driver on flash_erase/flash_write API in MemoryMapped mode. |
This issue has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this issue will automatically be closed in 14 days. Note, that you can always re-open a closed issue at any time. |
For the stm32H7x serie, when the zephyr driver is executing the same sequence as the stm32CubeMX, to enter the MemoryMapped mode, then the memory at 0x90000000 becomes readable (write always fails) but one byte out of two: offset = 00000000 ; read 20 |
This issue has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this issue will automatically be closed in 14 days. Note, that you can always re-open a closed issue at any time. |
Uh oh!
There was an error while loading. Please reload this page.
Describe the bug
Issue raised from a coworker following merge of #57467:
Impact
The code will disable (Strongly ordered, no access) the QSPI memory region by default for all Zephyr projects. Then if you want to use QSPI in memory-mapped mode in your project, you need to override this setting in the project specific DTS.
The text was updated successfully, but these errors were encountered: