日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

TMS320C64x系列DSP的16bit Flash的啟動(dòng)設(shè)計(jì)

出處:電子技術(shù)網(wǎng) 發(fā)布于:2013-09-23 09:49:46

  摘要:對(duì)TMS320C64x系列DSP的幾種啟動(dòng)加載方案中的EMIF加載方式進(jìn)行了詳細(xì)介紹。然后以型號(hào)為TMS320C642的DSP為例,仔細(xì)分析了對(duì)Flash芯片28F640J3A的16-bit模式編程燒寫和上電自舉的實(shí)現(xiàn)辦法。實(shí)驗(yàn)證明,本DSP啟動(dòng)加載方案易于實(shí)現(xiàn),并且方便、可靠。

  1.引言

  近年來,隨著數(shù)字信號(hào)處理器(DSP)技術(shù)的迅猛發(fā)展,其越來越廣泛地應(yīng)用于同民經(jīng)濟(jì)的各個(gè)領(lǐng)域中。其中,T I公司推出的TMS320C6000系列DSP器件更是在許多需要進(jìn)行大量數(shù)字信號(hào)處理運(yùn)算并兼顧高實(shí)時(shí)性要求的場(chǎng)合得以應(yīng)用。在連接硬件仿真器的仿真環(huán)境下調(diào)試DSP程序通過之后,還有一項(xiàng)重要的工作要做:即怎樣實(shí)現(xiàn)程序代碼的上電自舉。TMS320C64x系列DSP有多種上電自舉方式:不加載、HPI加載和Flash自舉。實(shí)際應(yīng)用中,通常采用的是通過EMIF加載Flash數(shù)據(jù)的方式,把代碼和數(shù)據(jù)表存放在外部的非易失性存儲(chǔ)器里(常采用Flash器件)。

  工程中的許多數(shù)據(jù)(如濾波器系數(shù)、配置常數(shù))常常使用16-bit的存儲(chǔ)形式。如果把Flash設(shè)計(jì)為16-bit而不是8-bit形式,將成倍減少存取這些數(shù)據(jù)的時(shí)間,提高系統(tǒng)的實(shí)時(shí)性。可是,TMS320C64x只支持8-bitF l a s h 加載。如果既能滿足前者又不影響bootloader,將會(huì)更加方便工程應(yīng)用。以下為16bit Flash的啟動(dòng)設(shè)計(jì)的過程介紹。

  2.16bit Flash的啟動(dòng)設(shè)計(jì)的流程介紹

  TMS320C64x系列DSP的16bit Flash的啟動(dòng)設(shè)計(jì)流程圖如圖1所示。

  

  由流程圖可知,在程序經(jīng)過仿真條件下運(yùn)行正常后,需要在工程中添加boot.asm文件并修改工程的cmd文件,然后編譯生成out文件,通過TI的hex6x工具和自己編寫的cmd文件,將這個(gè)out文件生成hex文件,再編寫程序?qū)ex文件轉(zhuǎn)換生成二進(jìn)制文件,,需要建立一個(gè)程序工程,將這個(gè)二進(jìn)制文件讀入并燒寫至flash中即可。

  3.硬件電路接口設(shè)計(jì)

  實(shí)際應(yīng)用中,多采用外接Flash來加載程序代碼,這需要將DSP的AEA[22:21]引腳通過接上拉電阻實(shí)現(xiàn),這樣就可以使得DSP上電后通過EMIFA接口實(shí)現(xiàn)8-bit的Flash自舉。

  本系統(tǒng)選用的Flash芯片是Intel公司的28F640J3A,具體特征要實(shí)際修改:存儲(chǔ)容量為8Mx8 bit,易于編程,接口如圖2所示。DSP與Flash是主從關(guān)系,由DSP通過EMIFA接口控制Flash的擦除和讀寫。其中,A1-A19為地址線,D15-D0為數(shù)據(jù)線,/CE為片選信號(hào),/WE是寫選通信號(hào),/OE為輸出使能信號(hào),BYTE為8位或16位數(shù)據(jù)模式選擇(圖中接VCC,為16位模式)。Flash用于存放引導(dǎo)程序段、用戶代碼及一些數(shù)據(jù)表,由DSP軟件編程來寫入。

  

  EMIFA只有20根地址線,可尋址lM空間,所以可以用復(fù)雜可編程邏輯器件(CPLD)控制Flash高位地址作頁選擇信號(hào)。

  4.二級(jí)搬移程序的編寫方法

  TMS320C64x開機(jī)只自動(dòng)加載lKB程序代碼到內(nèi)部RAM,所以通常要編寫二次搬移程序加載剩余程序代碼。二級(jí)搬移程序的大小不能超過1K字節(jié),且必須用匯編語言編寫。這需要在可以正常運(yùn)行的程序中創(chuàng)建一個(gè)boot.

  asm啟動(dòng)文件,告知程序在啟動(dòng)后自動(dòng)加載剩余程序代碼。通常將boot.asm改動(dòng)一下就可以實(shí)現(xiàn),主要包括如下步驟:

  (1)     系統(tǒng)中所用的中斷向量表文件不要更改,只把復(fù)位中斷跳到搬移程序處,而不直接跳到C程序的入口點(diǎn)c_int00處;

 ?。?)     在搬移程序中配置D S P的E M I F A全局控制寄存器( G B L C T L )和空間控制寄存器(CECTL1),按TMS320C64x文檔說明和所用Flash數(shù)據(jù)手冊(cè)配置讀寫時(shí)序,由于選用16-bit寬的Flash,所以在boot.asm文件中,MY-TYPE要定義為16-bit異步接口,從而建好系統(tǒng)軟件和硬件溝通的平臺(tái), 在b o o t .a s m 中, 剩余程序代碼存放的起始地址為0×90000800;

 ?。?)     參照map文件編寫搬移程序;

 ?。?)     跳到C程序入口點(diǎn)c_int00處,完成搬移程序的編寫。

  5.程序代碼文件的提取及重組

  由于Flash的設(shè)置與TMS320C64x默認(rèn)的8-bitFlash加載不相同,所以必須根據(jù)COFF文件(通用對(duì)象文件格式C o m m o n O b j e c tFile Format)的格式重新從。out文件中提取數(shù)據(jù)信息。要提取的數(shù)據(jù)代碼是初始化段和可執(zhí)行代碼段,這些信息可從COFF文件的段頭(section head-er)獲得。非初始化段是在程序運(yùn)行時(shí)才分配空間的,所以不提取其數(shù)據(jù)。當(dāng)可執(zhí)行代碼段是搬移段(通常是個(gè))時(shí),要把代碼重新組合后再存儲(chǔ),目的是便于Flash燒寫程序的編寫。由于。out文件的代碼是32-bit存儲(chǔ)形式,所以讀文件要讀取4字節(jié)代碼,代碼重組是要把4字節(jié)變成4個(gè)16-bit的形式依次存儲(chǔ)起來。例如,某次讀得的代碼是0×11223344,代碼重組后16-bit形式是(遞增順序):0×0044,0×0033,0×0022,Ox001l.再把這些代碼以16-bit形式依次寫入新的xx.bin文件0~400h(16-bit寬,針對(duì)16-bit寬的地址即為0~800h)處,不足的寫入0;對(duì)于其他代碼依據(jù)。out文件中的地址變化依次寫入xx.bin文件的400h之后。

  6.仿真環(huán)境下16-bitFlash程序的燒寫

  6.1 Flash中代碼的存放方式

 ?。?)二級(jí)搬移程序的存放

  由于TMS320C64x上加載時(shí)采用默認(rèn)的時(shí)序以8-bit加載模式讀取1K字節(jié)的程序到內(nèi)部RAM,因此,為使加載成功,當(dāng)把Flash設(shè)置成16-bit寬時(shí),需要把代碼只存儲(chǔ)在對(duì)應(yīng)地址的低字節(jié),而高8-bit丟棄不用(可以寫入任何數(shù)據(jù)或不寫數(shù)據(jù)),如圖3所示。實(shí)際上boot時(shí),CPU按地址遞增變化把4個(gè)連續(xù)半字地址的低8-bit合成1個(gè)32-bit的數(shù)據(jù)送到內(nèi)部RAM,高8-bit丟棄。因此把二級(jí)搬移程序存放在1KB空間中,只不過這lKB數(shù)據(jù)對(duì)應(yīng)的是l6-bit的地址,實(shí)現(xiàn)了用16-bit寬Flash加載TMS320C64x的DSP程序。

  

 ?。?)程序代碼從0×400處開始以16-bit的方式正常存儲(chǔ)

  DSP加載前1K程序?yàn)槟J(rèn)低8bit方式加載,而對(duì)1 K以后的數(shù)據(jù),在b o o t . a s m文件中,已經(jīng)將應(yīng)用程序數(shù)據(jù)的存儲(chǔ)方式配置為1 6位,所以加載剩余的應(yīng)用程序數(shù)據(jù)將為16bit加載方式。

  6.2 Flash的燒寫

  將編寫的程序代碼寫入Flash有二種方法:使用專門的編程器燒寫;通過TI的CCS在仿真環(huán)境下直接燒寫(加載的逆過程)。目前多用后者,一是由于制板的需要,F(xiàn)lash多用表貼式,不方便用編程器燒寫;二是在線編程方法靈活,易于開發(fā)。在線燒寫只要把xx.bin數(shù)據(jù)文件的內(nèi)容讀出,再寫到Flash的指定位置。要注意的是在寫Flash之前一定要先對(duì)其進(jìn)行擦除,因?yàn)榫幊讨噶畈荒苁埂癘”

  寫為“1”,只能使“1”變?yōu)椤?”,而擦除命令是把“0”變?yōu)椤?”.Flash芯片的擦除程序代碼見圖4.Flash芯片的編程程序代碼見圖5.

  

  

  7.結(jié)束語

  本文通過對(duì)DSP加載機(jī)制的深入闡釋給出用16-bit Flash加載TMS320C64x程序代碼的實(shí)現(xiàn)方法。這種方法在實(shí)際的車輛抓拍記錄系統(tǒng)中已經(jīng)取得較好的應(yīng)用效果,對(duì)于相關(guān)開發(fā)人員有很強(qiáng)的參考價(jià)值。(作者:王中華)

關(guān)鍵詞:TMS320C64x系列DSP的16bit Flash的啟動(dòng)設(shè)計(jì)TMS320C64xDSP16bit FlashEMIF電路接口

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

TMS320C6678ACYPA25-DSP數(shù)字信號(hào)處理器(TI 德州儀器)
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!