基于DM642的FLASH分頁(yè)二級(jí)引導(dǎo)程序設(shè)計(jì)
3 二級(jí)引導(dǎo)程序
3.1 引導(dǎo)過(guò)程
二級(jí)引導(dǎo)裝載程序被放置在FLASH的起始地址處,一旦DSP上電復(fù)位,二級(jí)引導(dǎo)程序就會(huì)通過(guò)DM642的自動(dòng)加載機(jī)制加載到RAM的地址0處,且此時(shí)CPU復(fù)位,開(kāi)始執(zhí)行二級(jí)引導(dǎo)程序。二級(jí)引導(dǎo)程序的引導(dǎo)過(guò)程為:首先對(duì)EMIF寄存器進(jìn)行配置,包括全局控制寄存器、CEx空間控制寄存器、SDRAM控制寄存器、時(shí)序控制寄存器以及擴(kuò)展控制寄存器等。然后,獲取程序入口地址,接著按照數(shù)據(jù)塊的格式獲取每個(gè)塊的字節(jié)數(shù)和目標(biāo)地址,開(kāi)始拷貝代碼。當(dāng)獲取的字節(jié)數(shù)為0時(shí),引導(dǎo)結(jié)束,CPU跳轉(zhuǎn)到C_int00處,建立C語(yǔ)言運(yùn)行環(huán)境,從main()處開(kāi)始執(zhí)行。引導(dǎo)過(guò)程如圖2所示。本文引用地址:http://m.butianyuan.cn/article/202586.htm
3.2 二級(jí)引導(dǎo)程序設(shè)計(jì)
根據(jù)二級(jí)引導(dǎo)程序的引導(dǎo)過(guò)程編寫(xiě)二級(jí)引導(dǎo)程序的實(shí)現(xiàn)代碼,二級(jí)引導(dǎo)程序用匯編語(yǔ)言編寫(xiě)。下面是各部分的具體實(shí)現(xiàn)。
(1)配置EMIF寄存器。定義EMIF寄存器基地址EMIF BASE=0x01800000,定義各個(gè)寄存器的配置值為:
(2)拷貝應(yīng)用程序代碼。定義引導(dǎo)表的地址為COPY_TABLE=0x90000400,實(shí)現(xiàn)代碼如下:
評(píng)論