Hi experts,
I try to use ARM development studio to debug bootloader and view MMU table contents.
But MMU window can not display the MMU table and shows that "Unable to read from register SCR-EL3".
How can I do to check MMU table?
Current board is running on EL2 with 64bit, CPU is cortext-A73.
ARM development studio version: 2023.1
Thanks for your attention!
Best Regards,
Yan
Hi againThanks for the extra information. Is "secure debug" enabled or disabled on your target? Please check the setting of SPIDEN. If disabled, can you enable it?To populate the EL2N MMU view, the debugger needs to access SCR_EL3.RW to determine the execution state (AArch64/AArch32) of EL2. DSTREAM can do this by attaining EL3, provided secure debug is enabled. If secure debug is disabled, then the debugger is unable to access SCR_EL3.If you can't enable secure debug, then please try the MMU Settings control. Click on the gearwheel in the top right-hand corner of the MMU view, then change 'Follow System' to 'Non-Secure EL2 (AArch64)'. Does that work?
developer.arm.com/.../MMU-MPU-view
Hope this helpsStephen
Hi Stephen,
Thanks for your help!
I select "Follow system" to 'Non-Secure EL2(AArch64)', but MMU window still can not display table contents.
The current CPU is Non-Secure EL2 (AArch64) as shown in the bottom left corner of the IDE, why do we still need to access SCR_EL3.RW?
Due to secure protection, I can't enable secure debug currently. I'll try to enable it and test MMU display window. But in previous DS-5 tool, non-secure MMU table can display without secure debug enable.
Thanks for testing. Sorry that "Follow system" to "Non-Secure EL2 (AArch64)" didn't work.Yes, I think the issue is caused by secure debug being disabled. Please let us know if it works when enabled.Stephen
Hi,
When secure debug is enabled, MMU table can display.
However, not every board's secure debug can be enabled, so it is still a problem when non-secure world need check MMU table.