新闻中心

EEPW首页>嵌入式系统>设计应用> ARM启动过程中的为什么要做内存重映射

ARM启动过程中的为什么要做内存重映射

作者: 时间:2016-11-21 来源:网络 收藏
ARM启动过程中首先是映射SRAM地址到0x0,这个时候DRAM是映射到自己的物理地址的,也就是说尚未进入操作系统;

之后要进行地址重映射,把SRAM从0x0搬走,将DRAM的地址映射到0x0,这是为了保证一些中断处理程序等的地址正确性,而且之后正式进入操作系统运行。

本文引用地址://m.amcfsurvey.com/article/201611/319570.htm

那么为什么不从一开始就把DRAM映射到0x0呢,我想,是因为系统启动之后程序从0x0开始运行,先把SRAM映射到这个位置,执行SRAM中的代码,进行必要的初始化,之后把DRAM映射进来,进入操作系统。

实际上整个系统是的启动是从复位异常中断处理程序开始的,这个中断是有复位引脚上电引发的,也就是我们的开机按钮操作,这个程序的地址就在0x0(或者0xFFFF0000)。

再之后进入操作系统的启动过程,也就是如何把操作系统从硬盘读取到内存DRAM并执行,下一步再来补充。



评论


技术专区

关闭