- 相關(guān)推薦
TMS320C6x DSP的FLASH引導(dǎo)方法研究與實(shí)現(xiàn)
摘要:介紹了TMS320C6x DSP的幾種FLASH引導(dǎo)方法,比較了引導(dǎo)過(guò)程中基于軟件流水的數(shù)據(jù)搬移方法和QDMA方式的數(shù)據(jù)搬移方法,并介紹了如何利用在系統(tǒng)編程(ISP)對(duì)上電引導(dǎo)程序進(jìn)行FLASH編程。通過(guò)對(duì)實(shí)際的TMS32C6711 DSP電路調(diào)試實(shí)驗(yàn),證明了以上方法簡(jiǎn)單易行。
關(guān)鍵詞:FLASH存儲(chǔ)器 上電引導(dǎo) COFF文件格式 DSP
FLASH存儲(chǔ)器是在EPROM和EEPROM的基礎(chǔ)上發(fā)展起來(lái)的一種非易失性存儲(chǔ)器,在掉電情況下仍能保證數(shù)據(jù)不丟失,并能夠在不離開(kāi)電路板或據(jù)設(shè)備的情況下實(shí)施擦除和再編程操作。由于其具有結(jié)構(gòu)簡(jiǎn)單、維護(hù)便利、存取速度快、對(duì)環(huán)境適應(yīng)能力強(qiáng)、抗振性能好等優(yōu)點(diǎn)十分適合于嵌入式系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā),并且已成為目前流行的數(shù)字信號(hào)處理系統(tǒng)的一個(gè)基本配置。
在許多DSP的應(yīng)用中,系統(tǒng)上電后需要將用戶程序從FLASH存儲(chǔ)器引導(dǎo)到高速數(shù)據(jù)存儲(chǔ)器中運(yùn)行。這就需要給用JTAG接口調(diào)試通過(guò)的應(yīng)用程序添加啟動(dòng)代碼,將生成的目標(biāo)文件進(jìn)行格式轉(zhuǎn)換使其能在線燒寫(xiě),將轉(zhuǎn)換過(guò)的文件利用FLASH燒寫(xiě)程序在線燒寫(xiě)到FLASH中。
本文將介紹引導(dǎo)過(guò)程中數(shù)據(jù)搬移的幾種方法,包括QDMA方式的數(shù)據(jù)搬移方法、CPU直接數(shù)據(jù)搬移方法以及基于軟件流水的數(shù)據(jù)搬移方法。經(jīng)過(guò)比較測(cè)試,證明了QDMA方式和基于軟件流水的數(shù)據(jù)搬移方法具有優(yōu)越性。并且,根據(jù)COFF文件格式,編寫(xiě)了比TI公司的HEX60更為直接的轉(zhuǎn)換工具,從而簡(jiǎn)化了文件的轉(zhuǎn)換步驟。
圖1
1 應(yīng)用程序的FLASH ROM引導(dǎo)
當(dāng)DSP的應(yīng)用程序從FLASH ROM引導(dǎo)時(shí),目標(biāo)板都有一個(gè)自動(dòng)的引導(dǎo)程序。例如,對(duì)于TMS320C6x1x系列,目標(biāo)板的自動(dòng)引導(dǎo)程序會(huì)在系統(tǒng)上電時(shí)將FLASH ROM的前1K空間的內(nèi)容復(fù)制以片內(nèi)內(nèi)存自0x00開(kāi)始的地址空間,并從0x00地址處開(kāi)始運(yùn)行。因?yàn)樾枰岬絻?nèi)存中運(yùn)行的應(yīng)用程序的向量表、初始化段等往往超過(guò)1K大小,為了能在系統(tǒng)上電時(shí)自動(dòng)引導(dǎo)應(yīng)用程序運(yùn)行,就需要在引導(dǎo)的1K代碼中包括自定義的引導(dǎo)代碼,以將額外需要的初始化代碼段和數(shù)據(jù)段復(fù)制到內(nèi)存中運(yùn)行。
將FLASH ROM的數(shù)據(jù)復(fù)制到IRAM(內(nèi)部RAM)中,有兩種方式:一種是直接存儲(chǔ)器訪問(wèn)(DMA),它是在沒(méi)有CPU參與的情況下完成映射存儲(chǔ)空間的數(shù)據(jù)搬移;另一種是利用CPU直接搬移數(shù)據(jù)。QDMA是快速的DMA,不需要CPU參與數(shù)據(jù)傳輸,只需根據(jù)要傳遞內(nèi)容的信息設(shè)置QDMA的相應(yīng)寄存器即可。用CPU直接搬移數(shù)據(jù)也有兩種方式:一種是是不用流水方式,另一種是采用軟件流水方式。
在C6000的匯編中,不同類型指令有不同數(shù)目的執(zhí)行節(jié)拍。執(zhí)行節(jié)拍在數(shù)量上等于該指令在執(zhí)行級(jí)所需要的時(shí)鐘周期。對(duì)于所用到的讀取指令ldw的存儲(chǔ)指令stw,分別完成從存儲(chǔ)到通用寄存器的數(shù)據(jù)搬移和從通用寄存器到存儲(chǔ)器的數(shù)據(jù)搬移。讀取指令ldw需要執(zhí)行的步驟為:計(jì)算地址、地址送內(nèi)存、訪問(wèn)內(nèi)存、數(shù)據(jù)送CPU、數(shù)據(jù)寫(xiě)寄存器,即執(zhí)行節(jié)拍數(shù)為5;而存儲(chǔ)指令stw,執(zhí)行節(jié)拍數(shù)為3,需要執(zhí)行的步驟為ldw的前三步。表1給出了軟件流水前后數(shù)據(jù)搬移間隔編排的比較表。
由表1可見(jiàn),要將FLASH ROM中的一個(gè)數(shù)據(jù)搬移到IRAM中,需要從FLASH ROM中讀取該數(shù)據(jù)到通用寄存器(ldw),再?gòu)耐ㄓ眉拇嫫髦袑⑵渥x到IRAM(指令stw)。在軟件流水優(yōu)化以前,需要至少8個(gè)指令周期。采用軟件流水優(yōu)化以后,根據(jù)指令的特點(diǎn),第0到第4這5個(gè)指令周期可連續(xù)續(xù)5個(gè)數(shù)到通用寄存器,從第5到第9這5個(gè)指令周期再順序地將讀入通用寄存器的上述5個(gè)數(shù)讀出到IRAM。于是,在10個(gè)指令周期內(nèi),可完成5個(gè)數(shù)據(jù)的搬移,從而使搬移周期下降到了兩個(gè)指令周期,提高了CPU的運(yùn)行效率。
2 QDMA方式和CPU直接數(shù)據(jù)搬移方式的比較
由于前面已比較了CPU直接數(shù)據(jù)搬移的兩種方式,下面著重對(duì)QDMA方式和基于流水的CPU直接數(shù)據(jù)搬移方式進(jìn)行比較測(cè)試。這次測(cè)試是在TMS320C6711 DSP上進(jìn)行的,采用的FLASH型號(hào)為SST29LE010。首先根據(jù)待燒寫(xiě)應(yīng)用程序的.map文件找出需搬移的初始化代碼段的大小,其中.text段為0x8c40 byte,.const段為0byte,.cinit段為0x24c byte,共需搬移0x23A3個(gè)32bit字。然后利用QDMA方式和CPU流水方式分別從FLASH中讀取0x23A3個(gè)32bit字到片內(nèi)內(nèi)存中。測(cè)量所用時(shí)間結(jié)果如表2所示。
表2 兩種數(shù)據(jù)搬移方式的比較
訪問(wèn)速度設(shè)備
搬移方式Read setup:150ns
Read strobe:630ns
Read hold:3nsRead setup:0ns
Read strobe:120ns
Read hold:0nsQDMA方式 148251479sCPU流水線搬移 155732390s
搬移大。篠IZE=0小3A3 WORD
由測(cè)試結(jié)果可以看出,不需要CPU直接參與數(shù)據(jù)搬移的QDMA方式比CPU流水搬移更具優(yōu)越性,搬移速度快且設(shè)置簡(jiǎn)單。但CPU的流水搬移利用了TMS320C6000系列DSP匯編的特點(diǎn),深入分析了指令的軟件流水方式,很大程度地提高了CPU的利用率,拓寬了編程思路,也不失為一種好的選擇。
3 利用ISP對(duì)上電引導(dǎo)程序進(jìn)行了FLASH編程
3.1 文件格式的轉(zhuǎn)換
完成了引導(dǎo)程序,包括.cmd文件中內(nèi)存段的設(shè)置及連接設(shè)置后,用TI的編程工具CCS(Code Composer Studio)編譯連接生成目標(biāo)文件(.out文件)。但該.out文件格式是COFF文件格式,F(xiàn)LASH不支持這種格式,所以不能直接寫(xiě)入FLASH中,必須對(duì)該.out文件進(jìn)行轉(zhuǎn)換,提取出其中的數(shù)據(jù)部分,形成數(shù)據(jù)文件。最后利用燒寫(xiě)程序?qū)⒁艳D(zhuǎn)換好的數(shù)據(jù)文件燒寫(xiě)到FLASH ROM中。
有兩種方式可將COFF格式文件轉(zhuǎn)換成數(shù)據(jù)文件。一種是利用TI公司的HEX6x.exe
【TMS320C6x DSP的FLASH引導(dǎo)方法研究與實(shí)現(xiàn)】相關(guān)文章:
引導(dǎo)家長(zhǎng)掌握幼兒的教育方法學(xué)科論文05-08
本科論文開(kāi)題范文研究方法10-28
成本核算方法的比較研究06-02
畢業(yè)論文開(kāi)題報(bào)告研究方法08-27
初中語(yǔ)文預(yù)習(xí)方法研究開(kāi)題報(bào)告08-12
文化景觀方法論引導(dǎo)下的古城旅游開(kāi)發(fā)思路論文06-08
城市公交線路網(wǎng)規(guī)劃評(píng)價(jià)方法研究05-11
論婚姻家庭法學(xué)研究方法的更新06-01