嵌入式系統快速重啟的研究
在將代碼復制完之后將地址為0x0000_0000處的復位中斷跳轉矢量改為跳轉到0x3000_0000,如圖2中3所示。

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