|
ARM启动过程中首先是映射SRAM地址到0x0,这个时候DRAM是映射到自己的物理地址的,也就是说尚未进入操作系统;
之后要进行地址重映射,把SRAM从0x0搬走,将DRAM的地址映射到0x0,这是为了保证一些中断处理程序等的地址正确性,而且之后正式进入操作系统运行。
那么为什么不从一开始就把DRAM映射到0x0呢,我想,是因为系统启动之后程序从0x0开始运行,先把SRAM映射到这个位置,执行SRAM中的代码,进行必要的初始化,之后把DRAM映射进来,进入操作系统。
再之后进入操作系统的启动过程,也就是如何把操作系统从硬盘读取到内存DRAM并执行,下一步再来补充。
|
|