基于DM642的FLASH分頁(yè)二級(jí)引導(dǎo)程序設(shè)計(jì)
0 引 言
TMS320DM642是TI公司推出的一款高性能的數(shù)字多媒體處理器,具有二級(jí)存儲(chǔ)器和高速緩沖器,以及超長(zhǎng)指令字結(jié)構(gòu)。其運(yùn)算速度快、體積小、功耗低的優(yōu)點(diǎn)使得它在多媒體處理領(lǐng)域得到了廣泛的應(yīng)用。開發(fā)基于FLASH引導(dǎo)DM642的應(yīng)用系統(tǒng),在系統(tǒng)上電后,系統(tǒng)的自動(dòng)引導(dǎo)機(jī)制將FLASH中的應(yīng)用程序自動(dòng)加載到片內(nèi)RAM中去運(yùn)行。但是,由于自動(dòng)引導(dǎo)機(jī)制只能將片外FLAH中的1 KB代碼加載到RAM中。這就要求必須開發(fā)能夠?qū)?yīng)用程序全部加載的引導(dǎo)程序,即二級(jí)引導(dǎo)程序。
1 DM642的引導(dǎo)方式
DM642主要有三種引導(dǎo)方式:
(1)不加載。CPU直接開始執(zhí)行地址0處存儲(chǔ)器中的指令。如果該處存儲(chǔ)器是SDRAM,CPU會(huì)先掛起,直到SDRAM初始化完成。
(2)ROM加載。位于外部CE1空間的ROM中的1 KB程序首先通過DMA/EDMA被搬入地址0處。盡管加載過程是在芯片從復(fù)位信號(hào)被釋放以后才開始的,但是當(dāng)芯片仍處于復(fù)位時(shí),就開始準(zhǔn)備上述傳輸了。傳輸完成后,CPU退出復(fù)位狀態(tài),開始執(zhí)行地址0處的指令。ROM中的程序存儲(chǔ)格式應(yīng)當(dāng)與芯片的端點(diǎn)模式一致。
(3)主機(jī)加載。核心CPU停留在復(fù)位狀態(tài),芯片其余部分保持正常。外部主機(jī)通過主機(jī)接口初始化CPU的存儲(chǔ)空間,包括片內(nèi)配置寄存器。所有初始化工作完成后,向接口控制寄存器的DSPINT寫“1”,結(jié)束引導(dǎo)。CPU退出復(fù)位狀態(tài)后,從地址0處開始執(zhí)行指令。
在基于DM642的應(yīng)用系統(tǒng)中,主要采用ROM加載的引導(dǎo)方式,通過外掛FLASH芯片,將應(yīng)用程序存儲(chǔ)在FLASH中。系統(tǒng)斷電后應(yīng)用程序依然存在,使得系統(tǒng)能夠脫機(jī)運(yùn)行。并且,借助于二級(jí)引導(dǎo)程序,基于DM642的大規(guī)模應(yīng)用程序的開發(fā)也將更加方便、靈活。
2 DM642與FLASH的連接
在本文中,DM642采用TI公司的TMS320DM642AGDK,F(xiàn)LASH采用AMD公司的AM29LV033C。
TMS320DM642的工作時(shí)鐘最高可以達(dá)到720 MHz,處理性能可達(dá)5 760 MIPS,其通過外部存儲(chǔ)器接口(EMIF)訪問片外存儲(chǔ)器。EMIF接口分成四個(gè)空間,即CE0~CE3。FLASH映射到CE1空間,上電時(shí)采用8位ROM加載方式。AM29LV033C是一款4 M×8 b,3 V單電源供電的非易失存儲(chǔ)器。
CE1子空間配置成8位異步靜態(tài)存儲(chǔ)器接口連接FLASH,由于DM642的外部地址總線只有20根,所以CE1的最大尋址范圍為1M×8 b。CE1只將前一半尋址空間分配給FLASH,后一半空間分配給了其他資源,即最大可尋址范圍是512K×8 b。為了尋址FLASH的所有空間,可對(duì)FLASH進(jìn)行分頁(yè)管理,將FLASH分成8頁(yè),由位于CPLD中的頁(yè)地址寄存器通過PA19,PA20,PA21控制選頁(yè)。DM642與FLASH的連接示意圖如圖1所示。
用分頁(yè)技術(shù)尋址FLASH所有空間,F(xiàn)LASH的每一頁(yè)均映射到CE1的相同地址空間(0x90000000~0x9007FFFF)。在二級(jí)引導(dǎo)程序進(jìn)行引導(dǎo)的過程中,每當(dāng)FLASH當(dāng)前頁(yè)到達(dá)頁(yè)末時(shí),通過頁(yè)地址控制寄存器改變PA19,PA20,PA21的輸出電平來(lái)激活下一頁(yè),完成引導(dǎo)過程。在本文中,以基于DM642的視頻采集、編碼和傳輸程序?yàn)槔敿?xì)說明DM642的二級(jí)引導(dǎo)程序的設(shè)計(jì)過程。
評(píng)論