新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > TMS320VC5410在線并行自舉的實現(xiàn)

TMS320VC5410在線并行自舉的實現(xiàn)

——
作者:譚永峰,關(guān)可,梁佳 (長安大學 陜西西安 710064) 時間:2007-01-26 來源:《現(xiàn)代電子技術(shù)》 收藏

tms320vc5410是德州儀器公司(ti)2000年推出的一款性價比極高的16位定點數(shù)字信號處理器,其操作速率最高可達100mips。他采用先進的修正哈佛結(jié)構(gòu),片內(nèi)有8條總線、cpu、在片存儲器和在片外圍電路等硬件,加上高度專業(yè)的指令系統(tǒng),使其具有功耗小、高度并行等優(yōu)點,可以滿足電信等眾多領(lǐng)域的實時處理要求,但是tms320vc5410片上的只讀存儲器(rom)只能采用掩模編程的方式并且必須把代碼交給dsp廠家,成本較高,因此一般用戶在使用時需要外部擴展程序存儲器,e2prom可以在線擦寫,且掉電后數(shù)據(jù)不會丟失,具有體積小、功耗低等特點,是作為tms320vc5410外擴程序存儲器的一種較好選擇。通常情況下,要把ccs編譯生成的coff格式的文件通過hex500轉(zhuǎn)換成hex格式的文件,并最終通過編程器把轉(zhuǎn)換過的代碼燒寫進e2prom(或flash等),本文提出了一種直接在ccs環(huán)境下通過在線編程來完成片外存儲器燒寫,實現(xiàn)并行引導的新方法。

1 tms320vc5410 dsp的自舉原理

dsp上電復位后從片外存儲器讀入程序的過程叫做自舉(bootloader)。tms320vc54xx dsp芯片內(nèi)部設(shè)置有bootloader程序,其主要作用是在系統(tǒng)上電復位后,將用戶程序從外部存儲器裝載到dsp的內(nèi)部隨機存儲器并運行程序,有多種bootloader方式可將外部程序裝入dsp中,這些方式包括串口方式,hpi方式,并行方式和warm方式,此外dsp還支持8位或16位數(shù)據(jù)總線的外部存儲器件及多塊外部存儲器件的dootloader方式,上電復位后,如其mp/mc引腳為低電平,則tms320vc5410進入bootloader模式,從0xff80單元開始執(zhí)行片內(nèi)引導裝載程序,進入引導程序后,如有int2請求中斷,則進入hpi引導方式;如有int3請求中斷,則進入串口引導模式;若沒有中斷請求,系統(tǒng)進入并行引導模式,當進入并行引導模式后,tms320vc5410首先在i/o空間oxffff單元(若i/o為空則跳到數(shù)據(jù)存儲器空間)讀取一個地址,然而跳轉(zhuǎn)到這一地址,根據(jù)地址單元的數(shù)據(jù)判斷是16位并行引導還是8位并行引導,接著依次讀入以下內(nèi)容,swwsr、bscr寄存器所需要配置的值,程序入口地址所在的頁面、程序入口地址、程序塊長度、程序存放目標地址所在的頁面和程序存放目標地址;最后tms320vc54lo開始讀取程序代碼并將其裝載到片內(nèi)存貯器中。

本文引用地址:http://butianyuan.cn/article/21463.htm

2 tms320vc5410自舉的實現(xiàn)

為實現(xiàn)在線并行引導,即把用戶程序燒進e2prom,需要把程序代碼分為兩段:一段為用戶代碼(即被燒寫部分),另一段為燒寫代碼。用ccs把這兩部分代碼編譯鏈接成同一個0ut文件(即coff格式的文件),然后在ccs環(huán)境下將該0ut格式的文件下載到tms320vc5410的內(nèi)存中,此時tms320vc5410內(nèi)存里的文件已經(jīng)轉(zhuǎn)換成相應的hex格式,此時只要從燒寫代碼處在線調(diào)試執(zhí)行程序,即可把用戶代碼燒進e2prom,從而完成自舉表的燒寫。由于tms320vc5410的數(shù)據(jù)總線是16位,而sst29le010的數(shù)據(jù)總線為8位,因此在數(shù)據(jù)傳輸過程中要進行移位操作。若采用16位并行引導時,則不用進行移位操作。

具體操作步驟如下:

(1)將dsp的mp/mc引腳置高,讓dsp工作在微處理器方式。

(2)將第一段代碼通過仿真器下載到dsp中,但不運行該代碼。

(3)將第二段代碼通過仿真器下載到dsp中,運行此代碼。

(4)代碼2運行結(jié)束后,去掉仿真器,并將mp/mc引腳置低,讓dsp工作在微型計算機方式。

(5)復位dsp,dsp獨立運行。

2.1 硬件連接

sst29le010是sst推出的一種e2prom,他有1 mb的空間,分為8頁,每頁有128 kb的空間;工作電壓僅為3 v。因此用sst29le0lo來作為tms320vc5410的外部存貯器。sst29le010與tms320vc5410的連接見圖1。


gal16v8用于控制sst29le010的選通,其表達式如下:

/ce#=/ds*a15
we#=mstrb+r/w
oe#=mstrb+/r/w

2.2 軟件的編寫

程序代碼如上所述,分為兩段,在編程過程中要注意在鏈接命令文件中.display和.text在地址上不能覆蓋。第一段代碼為用戶程序(包括自舉初始化的狀態(tài)字),即脫機運行的程序代碼。本文的目的就是要把這部分代碼燒寫進e2prom。第二段代碼負責把第一段代碼燒寫進e2prom。代碼如下:

用ccs將兩部分代碼編譯成同一個coff文件,下載到dsp的內(nèi)存,此時在dsp內(nèi)存中的文件已經(jīng)轉(zhuǎn)成hex格式的文件。然后將pc指針定位到.text處開始運行、即可把用戶程序燒寫進從地址8000h開始的e2prom外部數(shù)據(jù)存儲器中去,當脫機運行時,tms320vc5410進入并行引導,把sst29le010中的代碼復制到從地址0100h開始的片內(nèi)程序存儲器中,然后pc指針定位至0100h處并開始執(zhí)行。

3 結(jié)語

通過本文介紹的方法,在不需要任何其他工具的情況下實現(xiàn)了tms320vc5410的自舉引導,本方法簡單易行,易于實現(xiàn),沒有編程器的情況下,本方法是一種比較好的方案,并且這在燒寫貼片flash芯片時也相當實用,因很多貼片封裝的存儲器很難用編程器編程,更不可能頻繁插拔,利用ccs在線編程則解決了這個問題。



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉