嵌入式系統(tǒng)快速重啟的研究
在將代碼復制完之后將地址為0x0000_0000處的復位中斷跳轉矢量改為跳轉到0x3000_0000,如圖2中3所示。
然后程序跳轉到SDRAM中,地址為相對于0x3000_0000的一個偏移量,這個偏移量為當前地址距0x0000_0000的偏移量,如圖2中4所示。
在圖2中5中,如果用戶使用了Reset按鍵,重新啟動系統(tǒng),我們就可以從地址為0x0000_00000處直接跳轉到0x3000_0000這個位置,開始進行硬件初始化等工作,這次就不會有代碼拷貝的過程了。
快速重啟軟件流程
下面是系統(tǒng)自開機開始, 程序修改復位跳轉指令的流程圖,在修改0x0000_0000處的跳轉指令可用如下數據替代:
使用LDR PC, =0x3000_0000指令,反匯編后得到的32位指令數據是0xE3A0_F5C0,將其放到0x0000_0000處即可。
而修改0x0000_0000處的數據,可用如下指令:
程序經過以上配置,就可以實現系統(tǒng)的快速重啟。
結論
系統(tǒng)的快速重啟,應用將非常廣泛。即使是嵌入式系統(tǒng)慢慢的也將變得很復雜,系統(tǒng)所占的空間也在慢慢的變大,這樣一個復制過程將嚴重影響很多設備的使用,最簡單的就是數碼相機了。本文引用地址:http://butianyuan.cn/article/202491.htm
評論