微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM启动过程中的为什么要做内存重映射

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

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

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

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

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

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top