1. 程式人生 > >remap(地址重對映)機制

remap(地址重對映)機制

                       remap(地址重對映)機制


(1)在系統復位之後,ARM將從地址0處開始執行指令,因此地址0x0處必須是ROM之類的在掉電之後資料不會天失的儲存介質,而且存放的必須是E確的可執行的指令。

(2)在ARM的體系結構中,異常和中斷的入口地址(即中斷向最表),位於儲存介質的0x0-0x20的區域,每當有異常或者中斷髮生的時候,ARM將會跳轉到該區域內的某個地址,去執行異常處理程式。

(3)這樣,按照前面的講述,異常處理的中斷向量表將存放在ROM內。這會帶來兩個問題,一是中斷向量表在程式執行時無法動態地改變,降低了系統的靈活性:二是ROM相對RAM來說,在速度和資料寬度等效能上目前還存在不小的差距。因此,ARM提供了Remap (地址重對映)機制來解決這一矛盾。

(4)remap機制是這樣的:在復位初期,0x0地址對映到ROM所在的儲存空園。保障系統的正常執行,在系統啟動完畢並且在執行
某些初始化操作之後,RAM執行一條remap命令,將0x0地址對映到RAM所在的儲存區,並將中斷向量表複製到此時的0x0-0x20地址範圍內,即0x0地址在程式載入時位與ROM內,而在程式執行時處於RAM內。這樣既能保證程式的正確載入,又能夠以更高的速度響應異常事件,並且允許中斷向量表的動態改變。