ARM啟動(dòng)代碼的設計分析
系統重新映射當你為了提高運行速度而把ROM的Image拷貝到RAM后,中斷向量表就不是在零地址處,因此要重新映射存儲單元,把RAM的地址重新設定為零地址。映射就是把啟動(dòng)代碼從ROM(EEPROM或者Flash)拷貝到SDRAM運行,同時(shí)再拷貝完畢以后進(jìn)行內存的重新映射,把SDRAM映射到原來(lái)的ROM地址(0x0000)中,這樣就可以用SDRAM中的代碼寫(xiě)Flash,使得程序代碼得以更新。但是需要注意的是,如果程序進(jìn)行了映射,這樣就對在線(xiàn)調試帶來(lái)了困難,使得在線(xiàn)調試不可以在RAM中進(jìn)行(如果寫(xiě)入EEPROM的代碼是映射了的,則在調試器啟動(dòng)的時(shí)候必然也會(huì )對程序進(jìn)行映射,使得程序在調試器中不可以定位到原來(lái)的地方,使得調試失敗)。一個(gè)折中的方法是,不進(jìn)行映射,就是說(shuō)在調試的代碼中不可以使用下載,這樣就可以像普通的代碼一樣進(jìn)行調試了。
結 語(yǔ)
本文引用地址:http://dyxdggzs.com/article/148781.htm做完這些初始化后,讓CPU切換到用戶(hù)模式下,并把堆棧指針SP指定到用戶(hù)堆棧區,就可以進(jìn)入到C代碼區運行。在C代碼中繼續對時(shí)鐘、RS232端口進(jìn)行初始化,然后打開(kāi)系統中斷允許位,進(jìn)入到應用代碼中執行。此程序加載到處理器S3C4510B中經(jīng)過(guò)調試,CPU可以正常啟動(dòng),能夠對中斷請求做出及時(shí)的響應,上層應用的主代碼可以加載到Flash中,移植實(shí)時(shí)操作系統RTXC后對多任務(wù)的調度控制正常。
評論