




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、.TMS320C6701 DSP自動(dòng)加載研究 0 引 言 在許多DSP應(yīng)用系統(tǒng)中,都需要DSP芯片能夠在加電后自動(dòng)從外部設(shè)備加載程序,也就是引導(dǎo)(Boot-load)。TI公司的TMS320C6000系列芯片有三種引導(dǎo)方式可供選擇,分別是不加載、ROM加載和主機(jī)加載,詳細(xì)工作流程如下: 不加載:CPU直接從地址0處開始執(zhí)行代碼。如果該處內(nèi)存是SDRAM,那么CPU會先掛起,等待SDRAM的初始化完成。 ROM加載:位于外部CE1空間的ROM中的代碼首先通過DMAEDMA被搬入地址0處。加
2、載過程在復(fù)位信號撤銷后開始,此時(shí)CPU內(nèi)部保持復(fù)位狀態(tài),由DMAEDMA執(zhí)行一個(gè)單幀的數(shù)據(jù)塊傳輸。對于C620xC670x,DMA從CE1空間中拷貝64 KB數(shù)據(jù)到地址0處。傳輸完成后,CPU退出復(fù)位狀態(tài),開始執(zhí)行地址0處的指令。對于C62xC67x,用戶還可以指定外部加載ROM的存儲寬度,EMIF會自動(dòng)把相鄰的8 b16 b數(shù)據(jù)合成32 b的指令。 主機(jī)加載:也就是HPI加載。CPU停留在復(fù)位狀態(tài),芯片其余部分保持正常狀態(tài)。引導(dǎo)過程中,外部主機(jī)通過主機(jī)接口初始化CPU的存儲空間。主機(jī)完成所有的初始化工作后,向接口控制寄存器的DSPINT位寫1,結(jié)束引導(dǎo)過程
3、。此時(shí)CPU退出復(fù)位狀態(tài),開始執(zhí)行地址0處的指令。1 ROM加載的實(shí)現(xiàn) 究竟使用哪種引導(dǎo)方式取決于芯片引導(dǎo)模式設(shè)置,而引導(dǎo)模式由BOOTMODE4:0管腳確定。系統(tǒng)加電后,RESET信號有效,DSP芯片復(fù)位,在RESET信號上升沿處鎖存BOOTMODE4:0管腳上的設(shè)置值,以此決定DSP芯片內(nèi)存映射方式、地址0處的內(nèi)存類型以及復(fù)位后芯片的引導(dǎo)模式。本例中C6701的BOOTMODE值設(shè)為01101,即8 b ROM加載。 ROM加載是工程中最常見的加載方式,這種方式可以把程序代碼段和數(shù)據(jù)段保存在ROM,F(xiàn)LASH等非易失存
4、儲器中,加載過程完全由DSP自動(dòng)完成,在實(shí)際應(yīng)用中十分方便。ROM加載的具體步驟如下。11 分配存儲空間,生成目標(biāo)文件(out) TI代碼產(chǎn)生工具產(chǎn)生的目標(biāo)文件是一種模塊化的文件格式COFF格式。程序中的代碼和數(shù)據(jù)在COFF文件中是以段的形式組織的。對于C語言文件,編譯器生成的代碼段名為text。全局變量和靜態(tài)變量分配在bss段中,而局部變量或寄存器變量分配到stack段或使用寄存器。在DSP的配置文件中必須將這些代碼段正確地分配到C6701的地址空間中去。 在TI提供的DSP軟件開發(fā)平臺Code Composer Stu
5、dio(CCS)中,編寫DSP系統(tǒng)的工作程序,并對DSP芯片的內(nèi)存空間、EMIF接口等進(jìn)行正確的配置后,程序編譯通過,CCS就會自動(dòng)產(chǎn)生目標(biāo)(后綴為out)文件,這種out文件即為COFF格式的。在ROM加載模式下,復(fù)位后C6701將通過DMA方式將FLASH中的前64 KB數(shù)據(jù)搬運(yùn)到DSP的片內(nèi)程序RAM執(zhí)行,因此,必須將前面編譯好的工作程序的代碼段燒寫到FLASH地址空間中的前64 KB,而數(shù)據(jù)段則應(yīng)該燒寫在FLASH首地址64 KB以后。這就需要在DSP芯片的內(nèi)存段管理中,將數(shù)據(jù)段的加載地址(Load Address)配置為CE1空間FLASH上的指定地址,以保證DSP在復(fù)位后能正確地從
6、FLASH上的不同地址讀取代碼和數(shù)據(jù)(見圖1)。 利用CCS自帶的DSPBIOS配置工具,可以在類似Windows Explorer的窗口界面下直觀方便地初始化DSP芯片的數(shù)據(jù)結(jié)構(gòu)并設(shè)置不同的參數(shù),而不需要再單獨(dú)編寫連接命令文件(link command file,后綴為cmd)。保存該配置文件時(shí),配置工具自動(dòng)生成匹配當(dāng)前配置的匯編源文件和頭文件以及一個(gè)鏈接命令文件。當(dāng)構(gòu)建(Build)應(yīng)用程序時(shí),這些文件都會自動(dòng)被鏈接進(jìn)應(yīng)用程序。在CCS中打開DSPBIOS中的cdb文件,操作System下的MEM(Memory Section Manag-e
7、r)模塊就可以對DSP存儲器映射空間進(jìn)行配置,并可以設(shè)置程序編譯后生成的代碼段、數(shù)據(jù)段是如何分配到這些存儲器空間的。這對ROM加載能否成功至關(guān)重要,要實(shí)現(xiàn)ROM加載必須把一些關(guān)鍵的代碼和數(shù)據(jù)段裝在系統(tǒng)的ROM中,但上電后仍在較快的DSP片內(nèi)RAM中運(yùn)行。這需要在DSP的內(nèi)存映射空間上先劃分出外部FLASH的起始地址和長度(如圖2中的ED-FLASH段),并將CCS編譯產(chǎn)生的各個(gè)段的運(yùn)行地址(Run Address)和加載地址(Load Address)分配到合適的存儲空間。需要特別注意的是,數(shù)據(jù)及代碼初始化段的加載地址必需放在FLASH空間上(如圖3),只讀的段都可以放在FLASH上,非初始化
8、段只需要分配運(yùn)行地址。下面是用DSPBIOS配置工具在DSP內(nèi)存空間中劃分好的各段開始地址及長度,其中EDFLASH就是外部FLASH上用于二次加載的地址空間。代碼則存放在FLASH的首地址,也就是0x1400000。 12 轉(zhuǎn)換文件格式,得到燒寫文件(h) 程序編譯好后輸出的是COFF格式的out文件,這種文件無法直接寫進(jìn)FLASH,所以只能將其轉(zhuǎn)換為其他FLASH支持的格式。一般來說,對FLASH燒寫的傳統(tǒng)方法是通過CCS自帶的格式轉(zhuǎn)換器hex6x把out文件轉(zhuǎn)換為FLASH可識別的十六進(jìn)制格式(如Motorola-S
9、、ASCII-Hex等),再用專門的編程器將其燒寫到FLASH芯片中保存。該方法的實(shí)現(xiàn)需要使用專門的FLASH燒寫器,實(shí)際應(yīng)用中較為不便,本工程中,在CCS環(huán)境下,通過JTAG口,完全由DSP控制對FLASH進(jìn)行燒寫和擦除,實(shí)現(xiàn)了對外部FLASH的在線編程。 由于燒寫是在CCS程序中實(shí)現(xiàn),所以首先要把out格式的目標(biāo)文件轉(zhuǎn)換為工程中可包含的h文件。根據(jù)前面提到的方法,需要把工作程序編譯后得到的代碼段和數(shù)據(jù)段分別寫進(jìn)FLASH中的不同地址,這就需要將COFF文件中的代碼段和數(shù)據(jù)段分別提取出來。具體做法是:使用CCS中“FiIe-Data-Save"分
10、別把代碼段和數(shù)據(jù)段保存為dat文件(codedat和datadat),代碼段和數(shù)據(jù)段的具體起始地址及長度可以參考程序連接后自動(dòng)生成的連接過程結(jié)果說明文件(后綴為map,其中記錄了段的各種詳細(xì)信息,從中還可以知道各段的地址分配是否正確)。雖然保存下來的代碼段和數(shù)據(jù)段都是dat格式,但其內(nèi)容已經(jīng)是我們所需要的DSP工作需要的底層機(jī)器碼,所以只需要將其作為一個(gè)數(shù)組的內(nèi)容,再給數(shù)組加上合適的類型定義,就可以直接將其格式改為能在CCS工程中直接調(diào)用的h文件(codeh和datah)。這樣也就巧妙地解決了格式轉(zhuǎn)換問題。13 燒寫FLASH 有了h格式的燒寫文件,下面就只需要再編寫一個(gè)用于擦除和燒寫FLASFI的DSP工作程序,由DSP控制并通過JTAG線操作FLASH芯片,燒寫和擦除時(shí)要按照FLASH芯片手冊中的要求先向指定地址寫入指定關(guān)鍵字。注意代碼和數(shù)據(jù)應(yīng)分別寫入FLASH中相應(yīng)的存儲地址。以上三步完成后,DSP就可以在重新加電時(shí)實(shí)現(xiàn)自動(dòng)引導(dǎo):首先從地址0x1400000處搬移64 KB初始化程序到片內(nèi)運(yùn)行,然后再從地址0x1410000處加載剩余的代碼和數(shù)據(jù)。2 結(jié) 語
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 離婚財(cái)產(chǎn)分割協(xié)議書范本含知識產(chǎn)權(quán)轉(zhuǎn)讓
- 藥廠藥渣處置方案
- 國際品牌代理分銷權(quán)授權(quán)協(xié)議書
- 部門激勵(lì)方案獎(jiǎng)罰制度
- 鋼鐵企業(yè)倉儲倉單質(zhì)押融資擔(dān)保合同
- 房貸合同編號查詢及貸款流程規(guī)范合同
- 水產(chǎn)養(yǎng)殖管理方案
- 黨課宣傳思想課件
- 煉鋼企業(yè)原料采購方案
- 視聽語言考試題及答案
- DB11T 593-2016高速公路清掃保潔質(zhì)量與作業(yè)要求
- GB/Z 40637-2021古籍印刷通用字規(guī)范字形表
- GB/T 3608-2008高處作業(yè)分級
- GB/T 19250-2013聚氨酯防水涂料
- 2023年涉縣水庫投資管理運(yùn)營有限公司招聘筆試題庫及答案解析
- 小企業(yè)會計(jì)準(zhǔn)則報(bào)表格式完整
- 管理學(xué)原理(南大馬工程)
- 醫(yī)院就診告知書
- 首屆全國報(bào)刊編校技能大賽決賽試卷(一)及答案
- 醫(yī)務(wù)人員行為規(guī)范以及服務(wù)禮儀
- FBCDZ系列通風(fēng)機(jī)使用說明書
評論
0/150
提交評論