Hello Folks,
I'm trying to bare-metal debug on a Cortex-M3.I want to perform simple memory read/write, but the address is translated unintentionally. How can I stop address conversion?
Specifically, although I want to access address 0x22800000, it accesses address 0x20040000. If you read the disassembled code, it looks like you are accessing address 0x22800000.*Because 0x22800000 is set in the general-purpose registerDisplaying Memory View at address 0x22800000 with DS-5 will show the memory status at address 0x20040000.
The MPU settings are as follows. Disabling SCS.MPU.Ctrl does not change the phenomenon.
-----------
SCS.MPU.RegionBaseAddr = ((unsigned int) 0x20000000) | REGION_VALID | 5; SCS.MPU.RegionAttrSize = FULL_ACCESS | CACHEABLE | BUFFERABLE | REGION_512M | REGION_ENABLED; SCS.MPU.Ctrl |= 1;"
Thank you for your reply.
I got it. Regarding the parameter name, I would like to inquire from the support menu.
When I checked the address conversion formula, it matched the bit-banding specification, so it seems that there is no doubt that this function is implemented.
I would like to close this issue. Thank you for your guidance.