Arm Community
Site
Search
User
Site
Search
User
Support forums
Arm Development Studio forum
Modifying MMU tables and debugging MMU operations
Locked
Locked
Replies
2 replies
Subscribers
119 subscribers
Views
3320 views
Users
0 members are here
Options
Share
More actions
Related
How was your experience today?
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion
Modifying MMU tables and debugging MMU operations
Leo Barnes
over 12 years ago
Note: This was originally posted on 15th April 2010 at
http://forums.arm.com
Hello!
I am writing some software that will hopefully be used in boot-loaders in ARM based systems. The software needs to be able to modify the MMU translation tables. From what I understand, I will probably have to disable the MMU while modifying the translation tables since the addresses in the TTBR0 and TTBR1 registers are the physical addresses. (Unless of course the 1st stage table is mapped as well and we have the virtual address to it. But we will run into the same problem if we need to access the 2nd level tables.) Am I correct?
I have had no way of testing this since my only test device is a Nokia N810 running Maemo linux, and disabling the MMU while in kernel mode crashes the device immediately (I assume that my code is interrupted while the MMU is off which crashes the kernel). What I need is some kind of development board with an MMU, which can be debugged during the boot-sequence. What kind of equipment do I need to be able to do this?
To summarize:
1. In order to modify the translation tables, do I need to disable the MMU (assuming that I do not have a virtual address to the page tables)?
2. Is there any development board with an MMU that will allow me to debug boot-loader code (secondary boot-loader, or rather the code that copies the kernel/firmware from flash to RAM) and what sort of extra equipment and software will I need?
Sorry if these questions have been partially answered elsewhere, but I tried looking at various development boards and how to debug them, but the documentation is not always very clear.
Best regards,
//Leo
0
Quote