資料介紹
簡(jiǎn)要介紹TMS320C64x系列數(shù)字信號(hào)處理器(DSP)flash加載的基本原理,詳細(xì)論述TMS320C64x DSP與16-bit Flash接口的設(shè)計(jì)方法及用該方案加載的可行性及優(yōu)點(diǎn),給出.out文件到可供軟件片上燒寫的數(shù)據(jù)文件的編寫方法。
l 引言
在仿真環(huán)境下調(diào)試DSP板程序之后,還有一項(xiàng)重要的工作要做:怎樣實(shí)現(xiàn)程序代碼的脫機(jī)加載。TMS320C6000系列DSP提供了3種引導(dǎo)方式:不加載、HPI加載以及Flash (ROM)加載。實(shí)際應(yīng)用中,多采用外接Flash來(lái)加載程序代碼。此種方法簡(jiǎn)單、靈活、成本低,因而受到廣大工程技術(shù)人員的青睞。由于開發(fā)的DSP系統(tǒng)應(yīng)用板最終要脫離仿真器獨(dú)立運(yùn)行,而TMS320C64x系列DSP本身不帶這樣的存儲(chǔ)體,掉電后程序及數(shù)據(jù)就會(huì)丟失。這就需要1個(gè)能在斷電后保存程序及初始化數(shù)據(jù)的存儲(chǔ)體。Flash(ROM)即可滿足這一需要。加載其實(shí)就是DSP系統(tǒng)板加電初始時(shí)刻,把Flash中的程序代碼讀人DSP的過(guò)程。
工程中的許多數(shù)據(jù)(如濾波器系數(shù)、FPGA配置文件、常數(shù)表格)常常使用16-bit的存儲(chǔ)形式。如果把Flash設(shè)計(jì)為16-bit而不是8-bit形式,將成倍減少存取這些數(shù)據(jù)的時(shí)間,提高系統(tǒng)的實(shí)時(shí)性。然而,TMS320C64x只支持8-bit Flash加載。如果既能滿足前者又不影響bootloader,將會(huì)更加方便工程應(yīng)用。根據(jù)這種想法,筆者做了有益的嘗試。
2 接口設(shè)計(jì)
本系統(tǒng)選用的Flash是AMD公司的AM291LV320D,存儲(chǔ)容量為4Mx8 bit或2M×16 bit,滿足CFI協(xié)議,易于編程,接口如圖l所示。DSP與Flash是主從關(guān)系,由DSP通過(guò)EMIFB接口控制Flash的擦除和讀寫。其中,A0-A20為地址線,D15-DO為數(shù)據(jù)線,CE為片選信號(hào),WE是寫選通信號(hào),OE為輸出使能信號(hào),BYTE為8位或16位數(shù)據(jù)模式選擇(圖中接VCC,為16位模式)。READY接高電平,擦除和編程Flash時(shí)用軟件來(lái)檢測(cè)是否成功寫入。Flash用于存放引導(dǎo)程序段、用戶代碼及一些數(shù)據(jù)表,由DSP軟件編程來(lái)寫入。EMIFB只有20根地址線,最大可尋址l M空間,所以可以用現(xiàn)場(chǎng)可編程門陣列(FP-GA)或復(fù)雜可編程邏輯器件(CPLD)控制Flash高位地址作頁(yè)選信號(hào)。
3 二級(jí)搬移程序的編寫方法
TMS320C64x開機(jī)只自動(dòng)加載l KB程序代碼到內(nèi)部RAM,所以通常要編寫二次搬移程序加載剩余程序代碼。二級(jí)搬移程序的大小不能超過(guò)1 K字節(jié),且必須用匯編語(yǔ)言編寫。這一部分通常把中斷向量表改一下就可以實(shí)現(xiàn),主要包括如下步驟:
(1)系統(tǒng)中所用的中斷向量表不要更改,只把復(fù)位中斷跳到搬移程序處(通常緊接中斷向量表后),而不直接跳到C程序的入口點(diǎn)c_int00處;
(2)在搬移程序中配置DSP的EMIFB全局控制寄存器(GBLCTL)和空間控制寄存器(CElCTL)。按TMS320C64x文檔說(shuō)明和所用Flash數(shù)據(jù)手冊(cè)配置讀寫時(shí)序,由于選用16-bit寬的Flash,所以MY-TYPE要定義為16-bit異步接口,建好系統(tǒng)軟件和硬件溝通的平臺(tái)。
(3)參照map文件編寫搬移程序;
(4)跳到C程序入口點(diǎn)c_int00處,完成搬移程序的編寫。
4 程序代碼文件的提取及重組
由于Flash的設(shè)置與TMS320C64x默認(rèn)的8-bitFlash加載不相同,所以必須根據(jù)COFF文件的格式重新從.out文件中提取數(shù)據(jù)信息。程序流程如圖2所示。要提取的數(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ǔ)起來(lái)。例如,某次讀得的代碼是0x11223344,代碼重組后16-bit形式是(遞增順序):0x0044,0x0033,0x0022,Ox001l。再把這些代碼以16-bit形式依次寫入新的xx.bin文件0~400h(16-bit寬)處,不足的寫入0;對(duì)于其他代碼依據(jù).out文件中的地址變化依次寫入xx.bin文件的400h之后。
l 引言
在仿真環(huán)境下調(diào)試DSP板程序之后,還有一項(xiàng)重要的工作要做:怎樣實(shí)現(xiàn)程序代碼的脫機(jī)加載。TMS320C6000系列DSP提供了3種引導(dǎo)方式:不加載、HPI加載以及Flash (ROM)加載。實(shí)際應(yīng)用中,多采用外接Flash來(lái)加載程序代碼。此種方法簡(jiǎn)單、靈活、成本低,因而受到廣大工程技術(shù)人員的青睞。由于開發(fā)的DSP系統(tǒng)應(yīng)用板最終要脫離仿真器獨(dú)立運(yùn)行,而TMS320C64x系列DSP本身不帶這樣的存儲(chǔ)體,掉電后程序及數(shù)據(jù)就會(huì)丟失。這就需要1個(gè)能在斷電后保存程序及初始化數(shù)據(jù)的存儲(chǔ)體。Flash(ROM)即可滿足這一需要。加載其實(shí)就是DSP系統(tǒng)板加電初始時(shí)刻,把Flash中的程序代碼讀人DSP的過(guò)程。
工程中的許多數(shù)據(jù)(如濾波器系數(shù)、FPGA配置文件、常數(shù)表格)常常使用16-bit的存儲(chǔ)形式。如果把Flash設(shè)計(jì)為16-bit而不是8-bit形式,將成倍減少存取這些數(shù)據(jù)的時(shí)間,提高系統(tǒng)的實(shí)時(shí)性。然而,TMS320C64x只支持8-bit Flash加載。如果既能滿足前者又不影響bootloader,將會(huì)更加方便工程應(yīng)用。根據(jù)這種想法,筆者做了有益的嘗試。
2 接口設(shè)計(jì)
本系統(tǒng)選用的Flash是AMD公司的AM291LV320D,存儲(chǔ)容量為4Mx8 bit或2M×16 bit,滿足CFI協(xié)議,易于編程,接口如圖l所示。DSP與Flash是主從關(guān)系,由DSP通過(guò)EMIFB接口控制Flash的擦除和讀寫。其中,A0-A20為地址線,D15-DO為數(shù)據(jù)線,CE為片選信號(hào),WE是寫選通信號(hào),OE為輸出使能信號(hào),BYTE為8位或16位數(shù)據(jù)模式選擇(圖中接VCC,為16位模式)。READY接高電平,擦除和編程Flash時(shí)用軟件來(lái)檢測(cè)是否成功寫入。Flash用于存放引導(dǎo)程序段、用戶代碼及一些數(shù)據(jù)表,由DSP軟件編程來(lái)寫入。EMIFB只有20根地址線,最大可尋址l M空間,所以可以用現(xiàn)場(chǎng)可編程門陣列(FP-GA)或復(fù)雜可編程邏輯器件(CPLD)控制Flash高位地址作頁(yè)選信號(hào)。
3 二級(jí)搬移程序的編寫方法
TMS320C64x開機(jī)只自動(dòng)加載l KB程序代碼到內(nèi)部RAM,所以通常要編寫二次搬移程序加載剩余程序代碼。二級(jí)搬移程序的大小不能超過(guò)1 K字節(jié),且必須用匯編語(yǔ)言編寫。這一部分通常把中斷向量表改一下就可以實(shí)現(xiàn),主要包括如下步驟:
(1)系統(tǒng)中所用的中斷向量表不要更改,只把復(fù)位中斷跳到搬移程序處(通常緊接中斷向量表后),而不直接跳到C程序的入口點(diǎn)c_int00處;
(2)在搬移程序中配置DSP的EMIFB全局控制寄存器(GBLCTL)和空間控制寄存器(CElCTL)。按TMS320C64x文檔說(shuō)明和所用Flash數(shù)據(jù)手冊(cè)配置讀寫時(shí)序,由于選用16-bit寬的Flash,所以MY-TYPE要定義為16-bit異步接口,建好系統(tǒng)軟件和硬件溝通的平臺(tái)。
(3)參照map文件編寫搬移程序;
(4)跳到C程序入口點(diǎn)c_int00處,完成搬移程序的編寫。
4 程序代碼文件的提取及重組
由于Flash的設(shè)置與TMS320C64x默認(rèn)的8-bitFlash加載不相同,所以必須根據(jù)COFF文件的格式重新從.out文件中提取數(shù)據(jù)信息。程序流程如圖2所示。要提取的數(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ǔ)起來(lái)。例如,某次讀得的代碼是0x11223344,代碼重組后16-bit形式是(遞增順序):0x0044,0x0033,0x0022,Ox001l。再把這些代碼以16-bit形式依次寫入新的xx.bin文件0~400h(16-bit寬)處,不足的寫入0;對(duì)于其他代碼依據(jù).out文件中的地址變化依次寫入xx.bin文件的400h之后。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- TMS320F280x、TMS320C280x、TMS320F2801x數(shù)字信號(hào)處理器數(shù)據(jù)表
- TMS320F280x、TMS320C280x、TMS320F2801x數(shù)字信號(hào)處理器數(shù)據(jù)表
- tms320f2808數(shù)字信號(hào)處理器中文資料 2次下載
- TMS320C5514定點(diǎn)數(shù)字信號(hào)處理器的英文詳細(xì)資料免費(fèi)下載 3次下載
- TMS320C54x,LC54x,VC54x 定點(diǎn)數(shù)字信號(hào)處理器的詳細(xì)介紹和對(duì)比 7次下載
- TMS320C6654定點(diǎn)和浮點(diǎn)數(shù)字信號(hào)處理器詳細(xì)資料概述 9次下載
- TMS320VC5501和TMS32VC5502數(shù)字信號(hào)處理器引導(dǎo)加載程序詳細(xì)概述 3次下載
- TMS320C64x和數(shù)字信號(hào)存儲(chǔ)系統(tǒng)在DSP應(yīng)用中的緩存應(yīng)用詳細(xì)資料概述 14次下載
- TMS320C64x to TMS320C64x+ CPU 遷移指南 2次下載
- TMS320C6474數(shù)字信號(hào)處理器硅修訂2.1, 1.2, 1.1, 1.0 勘誤表 4次下載
- TMS320C64x+ DSP 大字節(jié)DSP庫(kù) 程序員參考 7次下載
- 基于EDMA實(shí)現(xiàn)TMS320C64X與FPGA的數(shù)據(jù)傳輸 5次下載
- TMS320C54x數(shù)字信號(hào)處理器硬件結(jié)構(gòu) 0次下載
- TMS320C64x的.Flash設(shè)計(jì)及B ootloade
- TMS320C64x的.Flash設(shè)計(jì)及B ootloade
- 數(shù)字信號(hào)處理器的特點(diǎn)、作用及種類 1780次閱讀
- 簡(jiǎn)單認(rèn)識(shí)數(shù)字信號(hào)處理器 976次閱讀
- 中科昊芯推新版HXS320F28034數(shù)字信號(hào)處理器DSP 3913次閱讀
- 基于TLl6C550C實(shí)現(xiàn)數(shù)字信號(hào)處理器與PC機(jī)串行通信的應(yīng)用設(shè)計(jì) 1752次閱讀
- 基于TI TMS320C6748定點(diǎn)/浮點(diǎn)DSP C674x處理器 2987次閱讀
- 淺談數(shù)字信號(hào)處理器的分類及選擇 6156次閱讀
- 一文了解dsp數(shù)字信號(hào)處理器 5839次閱讀
- TMS320C6748和TMS320C6747芯片對(duì)比 1.6w次閱讀
- tms320c6748異步接口訪問(wèn)相關(guān)問(wèn)題 4263次閱讀
- tms320c6748主要參數(shù)和原理圖 tms320c6748 IO圖淺析 1.4w次閱讀
- dsp tms320c6000基本作用的認(rèn)識(shí) 9580次閱讀
- 數(shù)字信號(hào)處理選型和介紹 7362次閱讀
- TMS320C6678處理器的VLFFT演示探討與研究 4220次閱讀
- DSP是什么?詳解DSP又稱數(shù)字信號(hào)處理器 4.7w次閱讀
- 基于TMS320DSC2x的數(shù)字網(wǎng)絡(luò)攝像機(jī)設(shè)計(jì) 671次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多