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