内存管理单元(MMU),它负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查。现代的多用用户多进程操作系统通过MMU使得各个用户进程都拥有自己独立的地址空间:地址映射功能使得各进程拥有“看起来"一样的地址空间,而内存访问权限的检查可以保护每个进程所用的内存不被其他进程破坏。
源码:
head.s
init.c
leds.c
mmu.lds
makefile
实验平台:友善之臂--MINI2440
make后将生成的mmu.bin用openjtag烧写到NANDFLASH,发现四个LED全亮,没有其他反应。
最后发现是arm-linux-gcc 版本的问题,我用的是友善提供的交叉编译工具链,版本为4.4.3,然后换成《嵌入式LINUX应用开发完全手册》光盘中提供的3.4.5的版本后,一切都正常了。
但是为什么4.4.3版本的就有问题呢?有待于进一步研究。