|
ARM啟動過程中首先是映射SRAM地址到0x0,這個時候DRAM是映射到自己的物理地址的,也就是說尚未進入操作系統;
之后要進行地址重映射,把SRAM從0x0搬走,將DRAM的地址映射到0x0,這是為了保證一些中斷處理程序等的地址正確性,而且之后正式進入操作系統運行。
那么為什么不從一開始就把DRAM映射到0x0呢,我想,是因為系統啟動之后程序從0x0開始運行,先把SRAM映射到這個位置,執行SRAM中的代碼,進行必要的初始化,之后把DRAM映射進來,進入操作系統。
再之后進入操作系統的啟動過程,也就是如何把操作系統從硬盤讀取到內存DRAM并執行,下一步再來補充。
|
|