基于DM642的FLASH分頁二級引導(dǎo)程序設(shè)計
(3)判斷是否到達頁末的代碼。頁地址控制寄存器的地址為0x90080011。在代碼拷貝的過程中,時刻判斷加載指針是否指向下一頁的開始,如果是,則返回到0x9000400,如果不是,則繼續(xù)拷貝。實現(xiàn)代碼如下:本文引用地址:http://www.ex-cimer.com/article/202586.htm
(4)執(zhí)行跳轉(zhuǎn)。代碼拷貝完成后,引導(dǎo)結(jié)束,執(zhí)行跳轉(zhuǎn)指令。代碼如下:
另外,必須編寫相應(yīng)的命令文件以配合引導(dǎo)程序完成引導(dǎo)過程。在本例中,將二級引導(dǎo)程序放在.boat-load段中,并在命令文件中添加如下代碼:
4 實驗結(jié)果
將二級引導(dǎo)程序的匯編文件加入實際工程中,并且在命令文件中為二級引導(dǎo)程序申請相應(yīng)的內(nèi)存空間后,編譯、連接生成可執(zhí)行文件(.out)。然后,通過hex6x轉(zhuǎn)換工具將可執(zhí)行文件轉(zhuǎn)換為CCS可加載的數(shù)據(jù)文件。
建立CCS仿真環(huán)境與DM642開發(fā)板的連接,通過CCS仿真平臺,將數(shù)據(jù)文件燒寫到FLASH中。燒寫完成后,斷開開發(fā)板與CCS的連接,加電測試程序能夠正常運行。
5 結(jié) 語
本文介紹了DM642的FLASH分頁引導(dǎo)的二級引導(dǎo)程序的設(shè)計方法,并給出部分實現(xiàn)代碼。實踐證明,該方法是可行的。這為基于DM642的實際應(yīng)用開發(fā)提供了一個途徑。
評論