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

一種TMS320C6701 DSP自動加載的設(shè)計

出處:現(xiàn)代電子技術(shù) 發(fā)布于:2011-08-19 20:24:58

 

    芯片的燒寫與自加載是一個DSP系統(tǒng)能夠順利運行的基本條件。在DSP加載技術(shù)方面已經(jīng)有大量文獻和工作成果,比較好地解決了DSP自加載方面的許多基本問題。而傳統(tǒng)的燒寫/加載方案在調(diào)試、更新程序時需要反復(fù)外接仿真器,配置跳線,并且只能加載運行指定地址空間上的工程。這些對處于安裝調(diào)試階段的系統(tǒng)影響不大,但在諸如航天設(shè)備、大型機械或其他惡劣環(huán)境中工作,難以直接進行仿真器連接的DSP系統(tǒng)中,無法采用普通的燒寫/加載方案對其進行更新和調(diào)試。

    在許多DSP應(yīng)用系統(tǒng)中,都需要DSP芯片能夠在加電后自動從外部設(shè)備加載程序,也就是引導(dǎo)(Boot-load)。TI公司的TMS320C6000系列芯片有三種引導(dǎo)方式可供選擇,分別是不加載、ROM加載和主機加載,詳細工作流程如下:

    不加載:CPU直接從地址0處開始執(zhí)行代碼。如果該處內(nèi)存是SDRAM,那么CPU會先掛起,等待SDRAM的初始化完成。

    ROM加載:位于外部CE1空間的ROM中的代碼首先通過DMA/EDMA被搬入地址0處。加載過程在復(fù)位信號撤銷后開始,此時CPU內(nèi)部保持復(fù)位狀態(tài),由DMA/EDMA執(zhí)行一個單幀的數(shù)據(jù)塊傳輸。對于C620x/C670x,DMA從CE1空間中拷貝64 KB數(shù)據(jù)到地址0處。傳輸完成后,CPU退出復(fù)位狀態(tài),開始執(zhí)行地址0處的指令。對于C62x/C67x,用戶還可以指定外部加載ROM的存儲寬度,EMIF會自動把相鄰的8 b/16 b數(shù)據(jù)合成32 b的指令。

    主機加載:也就是HPI加載。CPU停留在復(fù)位狀態(tài),芯片其余部分保持正常狀態(tài)。引導(dǎo)過程中,外部主機通過主機接口初始化CPU的存儲空間。主機完成所有的初始化工作后,向接口控制寄存器的DSPINT位寫1,結(jié)束引導(dǎo)過程。此時CPU退出復(fù)位狀態(tài),開始執(zhí)行地址0處的指令。

    TMS320C6701(以下簡稱C6701)是TI公司近年來推出的含多個處理單元的一種新型新點DSP芯片。它采用VLIW結(jié)構(gòu),在167MHz的主頻下可以得到1GFLOPS的高處理速度。CPU中包括報兩套對套的運算單元(L,S,M,D)和相應(yīng)的兩套寄存器組,每組有16個32位寬的寄存器。每個功能單元輸入輸出端口相互獨立,可實現(xiàn)并行處理。C6701的地址總線為32位,尋址范圍達到4GB.存儲空間可分為四部分:片內(nèi)程序空間、片內(nèi)數(shù)據(jù)空間、外部存儲空間和內(nèi)部外圍設(shè)備空間,可通過對五個BOOTMODE引腳的靈活設(shè)置設(shè)定各空間的地址范圍。

    1 ROM加載的實現(xiàn)

    究竟使用哪種引導(dǎo)方式取決于芯片引導(dǎo)模式設(shè)置,而引導(dǎo)模式由BOOTMODE[4:0]管腳確定。系統(tǒng)加電后,RESET信號有效,DSP芯片復(fù)位,在RESET信號上升沿處鎖存BOOTMODE[4:0]管腳上的設(shè)置值,以此決定DSP芯片內(nèi)存映射方式、地址0處的內(nèi)存類型以及復(fù)位后芯片的引導(dǎo)模式。本例中C6701的BOOTMODE值設(shè)為01101,即8 b ROM加載。

    ROM加載是工程中常見的加載方式,這種方式可以把程序代碼段和數(shù)據(jù)段保存在ROM,FLASH等非易失存儲器中,加載過程完全由DSP自動完成,在實際應(yīng)用中十分方便。ROM加載的具體步驟如下。

    1.1 分配存儲空間,生成目標(biāo)文件(。out)

    對于TI公司TM系列DSP的ROM加載過程是:位于CE1空間的ROM中的代碼首先通過DMA/EDMA被搬入地址0開始的內(nèi)部存儲器。加載過程在復(fù)位信號撤消之后開始,此時CPU內(nèi)部保持復(fù)位狀態(tài),由DMA/EDMA執(zhí)行1個單幀的數(shù)據(jù)塊傳輸。傳輸完成后,CPU退出復(fù)位狀態(tài),開始執(zhí)行地址0處的指令。對于C62x/C67x,用戶可以指定外部加載ROM的存儲寬度,EMIF會自動將相鄰的8bit/16bit數(shù)據(jù)合成為32bit的指令。對C620x/C670x,ROM中的程序必須按little-endian的存儲模式存儲;對C621x/C671x,ROM中的程序存儲格式應(yīng)當(dāng)與芯片的endian模式設(shè)置一致。C64x只支持8bit的ROM加在,ROM中的程序存儲格式需要與芯片的endian模式設(shè)置一致。對于不同的芯片,加載過程還略有不同。

    在ROM加載模式下,復(fù)位后C6701將通過DMA方式將FLASH中的前64 KB數(shù)據(jù)搬運到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ù)位后能正確地從FLASH上的不同地址讀取代碼和數(shù)據(jù)(見圖1)。


    利用CCS自帶的DSP/BIOS配置工具,可以在類似Windows Explorer的窗口界面下直觀方便地初始化DSP芯片的數(shù)據(jù)結(jié)構(gòu)并設(shè)置不同的參數(shù),而不需要再單獨編寫連接命令文件。保存該配置文件時,配置工具自動生成匹配當(dāng)前配置的匯編源文件和頭文件以及一個鏈接命令文件。當(dāng)構(gòu)建(Build)應(yīng)用程序時,這些文件都會自動被鏈接進應(yīng)用程序。在CCS中打開DSP/BIOS中的。cdb文件,操作System下的MEM(Memory Section Manag-er)模塊就可以對DSP存儲器映射空間進行配置,并可以設(shè)置程序編譯后生成的代碼段、數(shù)據(jù)段是如何分配到這些存儲器空間的。這對ROM加載能否成功至關(guān)重要,要實現(xiàn)ROM加載必須把一些關(guān)鍵的代碼和數(shù)據(jù)段裝在系統(tǒng)的ROM中,但上電后仍在較快的DSP片內(nèi)RAM中運行。這需要在DSP的內(nèi)存映射空間上先劃分出外部FLASH的起始地址和長度(如圖2中的ED-FLASH段),并將CCS編譯產(chǎn)生的各個段的運行地址和加載地址分配到合適的存儲空間。需要特別注意的是,數(shù)據(jù)及代碼初始化段的加載地址必需放在FLASH空間上(如圖3),只讀的段都可以放在FLASH上,非初始化段只需要分配運行地址。

    下面是用DSP/BIOS配置工具在DSP內(nèi)存空間中劃分好的各段開始地址及長度,其中EDFLASH就是外部FLASH上用于二次加載的地址空間。代碼則存放在FLASH的首地址,也就是0x1400000.

   

 

    1.2 轉(zhuǎn)換文件格式,得到燒寫文件(。h)

    程序編譯好后輸出的是COFF格式的。out文件,這種文件無法直接寫進FLASH,所以只能將其轉(zhuǎn)換為其他FLASH支持的格式。一般來說,對FLASH燒寫的傳統(tǒng)方法是通過CCS自帶的格式轉(zhuǎn)換器hex6x把。out文件轉(zhuǎn)換為FLASH可識別的十六進制格式,再用專門的編程器將其燒寫到FLASH芯片中保存。該方法的實現(xiàn)需要使用專門的FLASH燒寫器,實際應(yīng)用中較為不便,本工程中,在CCS環(huán)境下,通過JTAG口,完全由DSP控制對FLASH進行燒寫和擦除,實現(xiàn)了對外部FLASH的在線編程。

    由于燒寫是在CCS程序中實現(xiàn),所以首先要把。out格式的目標(biāo)文件轉(zhuǎn)換為工程中可包含的。h文件。根據(jù)前面提到的方法,需要把工作程序編譯后得到的代碼段和數(shù)據(jù)段分別寫進FLASH中的不同地址,這就需要將COFF文件中的代碼段和數(shù)據(jù)段分別提取出來。具體做法是:使用CCS中"FiIe-Data-Save"分別把代碼段和數(shù)據(jù)段保存為dat文件(code.dat和data.dat),代碼段和數(shù)據(jù)段的具體起始地址及長度可以參考程序連接后自動生成的連接過程結(jié)果說明文件(后綴為。map,其中記錄了段的各種詳細信息,從中還可以知道各段的地址分配是否正確)。雖然保存下來的代碼段和數(shù)據(jù)段都是。dat格式,但其內(nèi)容已經(jīng)是我們所需要的DSP工作需要的底層機器碼,所以只需要將其作為一個數(shù)組的內(nèi)容,再給數(shù)組加上合適的類型定義,就可以直接將其格式改為能在CCS工程中直接調(diào)用的。h文件(code.h和data.h)。這樣也就巧妙地解決了格式轉(zhuǎn)換問題。

    1.3 燒寫FLASH

    TI公司提供了一個燒寫FLASH的軟件,但是那需要將程序編譯后生成的OUT文件再轉(zhuǎn)換成ROM格式;或者是先將應(yīng)用程序編譯后導(dǎo)出到一個二進制文件中,再通過CCS編程序從這個二進制文件中一個一個的讀入并寫進FLASH.

    有了。h格式的燒寫文件,下面就只需要再編寫一個用于擦除和燒寫FLASFI的DSP工作程序,由DSP控制并通過JTAG線操作FLASH芯片,燒寫和擦除時要按照FLASH芯片手冊中的要求先向指定地址寫入指定關(guān)鍵字。注意代碼和數(shù)據(jù)應(yīng)分別寫入FLASH中相應(yīng)的存儲地址。以上三步完成后,DSP就可以在重新加電時實現(xiàn)自動引導(dǎo):首先從地址0x1400000處搬移64 KB初始化程序到片內(nèi)運行,然后再從地址0x1410000處加載剩余的代碼和數(shù)據(jù)。

    2 結(jié) 語

    實際工程中的應(yīng)用證明了上述方法可以使TMS320C6701在脫離上位機的情況下實現(xiàn)上電后自動加載運行,并且穩(wěn)定可靠,操作方便,使用JTAG線和仿真器就可完成所有操作。該方法只要對一些存儲空間的配置稍作修改即可用于C6000系列其他DSP芯片的自動加載。另外,本文思路也可推廣到其他DSP芯片的自動加載設(shè)計中。

 


  
關(guān)鍵詞:DSP

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

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

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

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

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

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

在線人工客服

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

0571-85317607

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

13606545031

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

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

建議反饋

聯(lián)系人:

聯(lián)系方式:

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