Arm Community
Site
Search
User
Site
Search
User
Arm Developer
Documentation
Learning Paths
On-Demand Videos
Groups
Arm Ambassadors
Education Hub
Open Source Software and Platforms
Research Collaboration and Enablement
Forums
AI forum
Architectures and Processors forum
Arm Development Platforms forum
Arm Development Studio forum
Automotive forum
Compilers and Libraries forum
Embedded and Microcontrollers forum
Internet of Things (IoT) forum
Keil forum
Laptops and Desktops forum
Mobile, Graphics, and Gaming forum
Morello forum
Operating Systems forum
Servers and Cloud Computing forum
SoC Design and Simulation forum
SystemReady Forum
Blogs
AI blog
Announcements
Architectures and Processors blog
Automotive blog
Embedded and Microcontrollers blog
Internet of Things (IoT) blog
Laptops and Desktops blog
Mobile, Graphics, and Gaming blog
Operating Systems blog
Servers and Cloud Computing blog
SoC Design and Simulation blog
Tools, Software and IDEs blog
Support
Arm Support Services
Documentation
Downloads
Training
Arm Approved program
Arm Design Reviews
Community Help
More
Cancel
Support forums
Arm Development Studio forum
Modifying MMU tables and debugging MMU operations
Jump...
Cancel
Locked
Locked
Replies
2 replies
Subscribers
120 subscribers
Views
3216 views
Users
0 members are here
Options
Share
More actions
Cancel
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 11 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
Parents
Leo Barnes
over 11 years ago
Cancel
Vote up
0
Vote down
Cancel
Reply
Leo Barnes
over 11 years ago
Cancel
Vote up
0
Vote down
Cancel
Children
No data