TMS320VC5410在線并行自舉的實(shí)現(xiàn)
<STRONG>1 TMS320VC5410 DSP的自舉原理
DSP上電復(fù)位后從片外存儲(chǔ)器讀入程序的過程叫做自舉(Bootloader)。TMS320VC54XX DSP芯片內(nèi)部設(shè)置有Bootloader程序,其主要作用是在系統(tǒng)上電復(fù)位后,將用戶程序從外部存儲(chǔ)器裝載到DSP的內(nèi)部隨機(jī)存儲(chǔ)器并運(yùn)行程序,有多種Bootloader方式可將外部程序裝入DSP中,這些方式包括串口方式,HPI方式,并行方式和WARM方式,此外DSP還支持8位或16位數(shù)據(jù)總線的外部存儲(chǔ)器件及多塊外部存儲(chǔ)器件的Dootloader方式,上電復(fù)位后,如其MP/MC引腳為低電平,則TMS320VC5410進(jìn)入Bootloader模式,從0xff80單元開始執(zhí)行片內(nèi)引導(dǎo)裝載程序,進(jìn)入引導(dǎo)程序后,如有INT2請(qǐng)求中斷,則進(jìn)入HPI引導(dǎo)方式;如有INT3請(qǐng)求中斷,則進(jìn)入串口引導(dǎo)模式;若沒有中斷請(qǐng)求,系統(tǒng)進(jìn)入并行引導(dǎo)模式,當(dāng)進(jìn)入并行引導(dǎo)模式后,TMS320VC5410首先在I/O空間Oxffff單元(若I/O為空則跳到數(shù)據(jù)存儲(chǔ)器空間)讀取一個(gè)地址,然而跳轉(zhuǎn)到這一地址,根據(jù)地址單元的數(shù)據(jù)判斷是16位并行引導(dǎo)還是8位并行引導(dǎo),接著依次讀入以下內(nèi)容,SWWSR、BSCR寄存器所需要配置的值,程序入口地址所在的頁面、程序入口地址、程序塊長(zhǎng)度、程序存放目標(biāo)地址所在的頁面和程序存放目標(biāo)地址;最后TMS320VC54lO開始讀取程序代碼并將其裝載到片內(nèi)存貯器中。
2 TMS320VC5410自舉的實(shí)現(xiàn)
為實(shí)現(xiàn)在線并行引導(dǎo),即把用戶程序燒進(jìn)E2PROM,需要把程序代碼分為兩段:一段為用戶代碼(即被燒寫部分),另一段為燒寫代碼。用CCS把這兩部分代碼編譯鏈接成同一個(gè)0UT文件(即COFF格式的文件),然后在CCS環(huán)境下將該0UT格式的文件下載到TMS320VC5410的內(nèi)存中,此時(shí)TMS320VC5410內(nèi)存里的文件已經(jīng)轉(zhuǎn)換成相應(yīng)的Hex格式,此時(shí)只要從燒寫代碼處在線調(diào)試執(zhí)行程序,即可把用戶代碼燒進(jìn)E2PROM,從而完成自舉表的燒寫。由于TMS320VC5410的數(shù)據(jù)總線是16位,而SST29LE010的數(shù)據(jù)總線為8位,因此在數(shù)據(jù)傳輸過程中要進(jìn)行移位操作。若采用16位并行引導(dǎo)時(shí),則不用進(jìn)行移位操作。
具體操作步驟如下:
(1)將DSP的MP/MC引腳置高,讓DSP工作在微處理器方式。
(2)將第一段代碼通過仿真器下載到DSP中,但不運(yùn)行該代碼。
(3)將第二段代碼通過仿真器下載到DSP中,運(yùn)行此代碼。
(4)代碼2運(yùn)行結(jié)束后,去掉仿真器,并將MP/MC引腳置低,讓DSP工作在微型計(jì)算機(jī)方式。
(5)復(fù)位DSP,DSP獨(dú)立運(yùn)行。
2.1 硬件連接
SST29LE010是SST推出的一種E2PROM,他有1 MB的空間,分為8頁,每頁有128 kB的空間;工作電壓僅為3 V。因此用SST29LE0lO來作為TMS320VC5410的外部存貯器。SST29LE010與TMS320VC5410的連接見圖1。
GAL16V8用于控制SST29LE010的選通,其表達(dá)式如下:
/CE#=/DS*A15
WE#=MSTRB+R/W
OE#=MSTRB+/R/W
2.2 軟件的編寫
程序代碼如上所述,分為兩段,在編程過程中要注意在鏈接命令文件中.DISPLAY和.text在地址上不能覆蓋。第一段代碼為用戶程序(包括自舉初始化的狀態(tài)字),即脫機(jī)運(yùn)行的程序代碼。本文的目的就是要把這部分代碼燒寫進(jìn)E2PROM。第二段代碼負(fù)責(zé)把第一段代碼燒寫進(jìn)E2PROM。代碼如下:
用CCS將兩部分代碼編譯成同一個(gè)COFF文件,下載到DSP的內(nèi)存,此時(shí)在DSP內(nèi)存中的文件已經(jīng)轉(zhuǎn)成Hex格式的文件。然后將PC指針定位到.text處開始運(yùn)行、即可把用戶程序燒寫進(jìn)從地址8000H開始的E2PROM外部數(shù)據(jù)存儲(chǔ)器中去,當(dāng)脫機(jī)運(yùn)行時(shí),TMS320VC5410進(jìn)入并行引導(dǎo),把SST29LE010中的代碼復(fù)制到從地址0100H開始的片內(nèi)程序存儲(chǔ)器中,然后PC指針定位至0100H處并開始執(zhí)行。
3 結(jié)語STRONG>
通過本文介紹的方法,在不需要任何其他工具的情況下實(shí)現(xiàn)了TMS320VC5410的自舉引導(dǎo),本方法簡(jiǎn)單易行,易于實(shí)現(xiàn),沒有編程器的情況下,本方法是一種比較好的方案,并且這在燒寫貼片F(xiàn)LASH芯片時(shí)也相當(dāng)實(shí)用,因很多貼片封裝的存儲(chǔ)器很難用編程器編程,更不可能頻繁插拔,利用CCS在線編程則解決了這個(gè)問題。