ARM启动过程中的为什么要做内存重映射
时间:11-21
来源:互联网
点击:
ARM启动过程中首先是映射SRAM地址到0x0,这个时候DRAM是映射到自己的物理地址的,也就是说尚未进入操作系统;
之后要进行地址重映射,把SRAM从0x0搬走,将DRAM的地址映射到0x0,这是为了保证一些中断处理程序等的地址正确性,而且之后正式进入操作系统运行。
那么为什么不从一开始就把DRAM映射到0x0呢,我想,是因为系统启动之后程序从0x0开始运行,先把SRAM映射到这个位置,执行SRAM中的代码,进行必要的初始化,之后把DRAM映射进来,进入操作系统。
实际上整个系统是的启动是从复位异常中断处理程序开始的,这个中断是有复位引脚上电引发的,也就是我们的开机按钮操作,这个程序的地址就在0x0(或者0xFFFF0000)。
再之后进入操作系统的启动过程,也就是如何把操作系统从硬盘读取到内存DRAM并执行,下一步再来补充。
ARM启动过程内存重映 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)