當(dāng)前位置:首頁 > 模擬 > 模擬
[導(dǎo)讀]TMS320VC55x系列DSP是TI公司在TMS320C54x基礎(chǔ)上推出的新一代低功耗DSP。由于該系列DSP沒有片內(nèi)Flash,所以程序的加載方法是必須解決的問題。闡述了TMS320VC55x系列DSP的片外Flash在線編程方法.給出了系統(tǒng)的硬件連接方法和燒寫程序,并研究了自舉引導(dǎo)的實現(xiàn)方法。

引言
    隨著數(shù)字信號處理技術(shù)的快速發(fā)展,DSP越來越廣泛地應(yīng)用于各種數(shù)字信號處理系統(tǒng)中。由于TMS320VC55x系列DSP的內(nèi)部存儲器沒有可供用戶使用的Flash,而最終開發(fā)的系統(tǒng)要想脫離仿真器運(yùn)行。必須將程序代碼存儲在非易失性存儲器中,所以要對DSP外接存儲器。Flash存儲器以其大容量和可在線編程等特點已成為DSP系統(tǒng)的一個基本配置。如何將程序燒寫入Flash,并在上電時加載到DSP內(nèi)部的RAM,是Flash在DSP系統(tǒng)中應(yīng)用的兩個基本技術(shù)問題。
    以基于TI公司的TMS320VC5502和SST公司的SST39VF200開發(fā)的系統(tǒng)為背景,詳細(xì)介紹了系統(tǒng)引導(dǎo)相關(guān)的硬件設(shè)計,燒寫軟件設(shè)計以及自舉引導(dǎo)等實現(xiàn)方法。

2 TMS320VC5502的自舉引導(dǎo)
2.1 TMS320VC5502的存儲區(qū)以及Boofloader

    TMS320VC5502的存儲區(qū)是統(tǒng)一分配地址,即對程序和數(shù)據(jù)的訪問在相同的物理空間。TMS320VC5502的存儲區(qū)共分為4個區(qū),即CE0,CEl,CE2,CE3,其字節(jié)地址分別為000000h-3FFFFFh,400000h~7FFFFFh,800000h~BFFFFFh.C00000h~FFFFFFh。片內(nèi)存儲器共48 K字節(jié),可分為32 K的16位字的RAM和16 K的16位字的ROM,片內(nèi)RAM的字節(jié)地址為000000h~00FFFFh,位于CEl區(qū);片內(nèi)ROM的字節(jié)地址為FF8000h~FFFF00h。
    片內(nèi)ROM從FF8000h開始的區(qū)域包含Bootloader,該程序在系統(tǒng)上電或復(fù)位后可以將用戶代碼自動搬移到片內(nèi)RAM運(yùn)行。
2.2 自舉加載模式選擇
    TMS320VC5502的引導(dǎo)模式選擇是通過3個模式選擇引腳BOOTM[0:2]配置完成的。BOOTM[0:2]引腳分別與GPl00,GPl01,GPl02相連。自舉加載模式選擇如表1所示。

    TMS320VC5502每次上電復(fù)位后,在執(zhí)行完一系列初始化工作后,根據(jù)預(yù)先配置的自舉模式,通過固化在ROM內(nèi)的Bootloader程序進(jìn)行程序引導(dǎo)。系統(tǒng)設(shè)計中,采用EMIF(外部存儲接口)并行引導(dǎo)模式(16位數(shù)據(jù)寬度),只需將BOOTM[2:0]設(shè)置成011即可。
2.3 TMS320VC5502的引導(dǎo)表
    Bootloader允許應(yīng)用代碼存放在慢速非易失性的外部存儲器中,然后再將代碼搬移到高速的片內(nèi)存儲器執(zhí)行。應(yīng)用代碼以一種Bootloader能夠理解的特殊格式編碼,這種格式就是自舉加載表。Boofloader在引導(dǎo)程序時,程序代碼是以自舉加載表形式加載。自舉加載表包含了將要搬移的代碼段、程序段,以及這些段將要被搬移到的地址和加載完成后程序要執(zhí)行的地址(即程序入口地址)和其他一些配置信息。
    TMS320VC55x系列DSP的自舉加載表結(jié)構(gòu)如表2所示。

    其中,程序入口地址是自舉加載表加載結(jié)束后用戶程序開始執(zhí)行的地址;寄存器配置數(shù)目決定了后面有多少個寄存器需要配置:只有當(dāng)延時標(biāo)志為0xFFFF時,延時才被執(zhí)行;延時長度決定了在寄存器配置后延時多少個CPU周期才進(jìn)行下一個動作;段長度、段起始地址和數(shù)據(jù)則為用戶程序中定義的各個段的內(nèi)容,并且可以重復(fù)添加;最后以0x00000000(32個01作為引導(dǎo)表的結(jié)束標(biāo)志。
    若要生成引導(dǎo)表,可用CCS最終編譯生成的.out文件通過CCS自帶的hex55.exe轉(zhuǎn)換程序得到。將hex55.exe文件、.out文件、.cmd文件放在同一個文件夾中,通過DOS命令調(diào)用hex55.exe和.cmd文件,即可完成.out文件到.hex格式的引導(dǎo)表文件的轉(zhuǎn)化。.cmd文件用于提供引導(dǎo)表的相關(guān)配置信息,以下為一個.cmd文件實例。
    一boot:表示生成一個自舉加栽表
    一v5510:2:生成C55x格式的自舉加載表
    一parallell6:加載模式是16位外部異步存儲器
    一a :要求的輸出格式是ASCII格式
    一o mvbso.hex:指明輸出文件名
    bso.out:指明輸入文件名
    經(jīng)hex55.exe文件轉(zhuǎn)化后的.hex格式的自舉加載表文件是不能直接導(dǎo)入CCS中,CCS只支持將特別規(guī)定的DAT格式文件通過LDADDATA導(dǎo)入內(nèi)存。所以在導(dǎo)入之前必須先將自舉加載表轉(zhuǎn)化成DAT格式文件,這個工作可以用VC編寫簡單的C語言轉(zhuǎn)化程序?qū)崿F(xiàn)。
2.4 TMS320VC5502和Flash的連接
    EMIF為外部存儲接口,通過EMIF接口可靈活地和各種同步或異步存儲器件無縫連接。通過EMIF接口可以將TMS320VC5502的存儲空間擴(kuò)展到128 Mbit。存儲空間被分為CE0~CE3四個區(qū).每區(qū)占用不同的地址。在EMIF的并行引導(dǎo)模式下,ROM固化的Bootloader程序是以字地址0x200000為首地址開始加載程序。Ox200000即為CEl空間的首地址,所以Flash必須接在DSP的CEl空間上。
    TMS320VC5502的EMIF有內(nèi)部和外部兩種地址總線。內(nèi)部地址總線為A[2l:2],外部地址總線為A[19:0]。EMIF根據(jù)所用的存儲器數(shù)據(jù)線大小自動將內(nèi)部地址總線移位,以便與外部地址總線連接。外存儲器的地址總線應(yīng)該總是連接在EMIF、的以A2開始的地址線上。例如一個8,16或32位的異步存儲器的地址總線A[n:0](其中n表示外存儲器的地址線個數(shù))應(yīng)該連接EMIF的地址線A[n+2:2]。圖1給出TMS320VC5502和Flash的連接實例。表3為TMS320VC5502的內(nèi)部總線和外部地址總線的映象關(guān)系。

3 并行Flash的燒寫
3.1 數(shù)據(jù)燒寫程序設(shè)計
    Flash的數(shù)據(jù)可直接讀取,但對Flash的編程和擦除操作則需要通過一系列命令才能進(jìn)行。SST39VF200的寫操作只能將1變成0,而O變成l必須通過擦除操作進(jìn)行。所以每次寫Flash之前必須進(jìn)行片擦除,使存儲單元值變成0xFFFF才能進(jìn)行編程。擦除命令需要6個周期,編程命令需要4個周期,操作命令如表4所示H。

    編程和擦除操作都需要一定周期的時間(SST39VF200的單字編程時間是14μs,整片擦除時間是70 ms)。用戶可以通過查詢標(biāo)志數(shù)據(jù)線DQ6和DQ7確定編程或擦除是否完畢。當(dāng)器件正處于編程或擦除狀態(tài)時,連續(xù)讀任意單元的值,D06的值將一直在O、l之間交替變化。當(dāng)編程或擦除結(jié)束時,讀DQ6則得到一個恒定值。這里即通過此方法判斷操作是否結(jié)束。
    根據(jù)Flash的編程和擦除命令,編寫了相應(yīng)的C語言程序,其中在TMS320VC55x系列1)SP中,對外接存儲器的訪問要調(diào)用庫函數(shù)far_poke()和far_peek()。這2個函數(shù)包含在<extaddr.h>頭文件中,并且尋址的地址為字地址。以下給出擦除程序,寫操作與此類似。表5為對外接存儲器讀寫的庫函數(shù)。

3.2 程序的燒寫實現(xiàn)
   
系統(tǒng)在CCS仿真環(huán)境下對Flash進(jìn)行在線編程。先建立一個Flash的燒寫工程,并在工程中將要燒寫進(jìn)Flash的自舉加載表文件通過CCS的LOADDATA功能直接加載進(jìn)DSP的內(nèi)存。根據(jù)加載的首地址和數(shù)據(jù)長度,在仿真環(huán)境下燒進(jìn)Flash中。當(dāng)然也可以直接在程序中定義一個數(shù)組,將DAT文件中的數(shù)據(jù)賦值給該數(shù)組的元素,然后將該數(shù)組的每個元素寫入Flash。在運(yùn)行燒寫程序之前,要先對EMIF進(jìn)行設(shè)置,因為EMIF默認(rèn)的是接8位異步存儲器,可以通過調(diào)用GEL菜單中Init_CE0_Async_16命令完成。

4 結(jié)語
   
闡述了一種針對TMS320VC55x系列DSP簡單有效的Flash燒寫方法,并提出了程序自舉加載的實現(xiàn)方法。討論的加載方法包括硬件設(shè)計及相關(guān)程序,已在筆者實際開發(fā)的高精度數(shù)據(jù)采集項目中使用并成功運(yùn)行。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉