HPI方式自舉在TMS320VC5402 DSP芯片上的實(shí)現(xiàn)
對于PC機(jī)插卡的系統(tǒng),該框圖更可以省略掉HPI以右的部分,而直接使用PC機(jī)的CPU和硬盤作為相應(yīng)的控制和只讀存儲(chǔ)器件。這樣,僅需要為DSP配備RAM即可使其正常運(yùn)行。
4.2 Kernel程序設(shè)計(jì)
按照前面所說,kernel程序的作用是用于突破TMS320VC5402 4K片內(nèi)RAM空間限制的中間程序,其功能無非就是按照和HOST CPU的某種約定,獲取DSP程序代碼和相應(yīng)地址信息,在DSP所能夠訪問到的存儲(chǔ)器空間(片內(nèi)和片外)生成DSP程序代碼。由于 Kernel的功能比較少,故其可以做得非常小。其中關(guān)鍵的生成DSP程序代碼部分的代碼如下:
...
.bss addr,1 ;程序代碼目的地址
.bss length,1 ;程序代碼長度
.bss codedata,20 ;接收程序代碼緩沖區(qū)
...
.text
START:
...
MOVE:
STM #addr,AR4 ;獲取程序代碼目的地址
LD *AR4,A
STM #codedata,AR3 ;獲取程序代碼
MVDM #length,AR5 ;獲取程序代碼長度
NOP
MAR *+AR5(#-1)
RPT *(AR5) ;定位
WRITA *AR3+
...
ENDLOAD:
B app_start ;啟動(dòng)
...
4.3 運(yùn)行流程
按照前述的系統(tǒng)構(gòu)成,首先將PC機(jī)上調(diào)試好的Kernel程序和DSP應(yīng)用程序(一般為COFF格式)轉(zhuǎn)換成HEX文件,并通過串口將這些文件存放到CPU的Flash中,在存放過程中應(yīng)將HEX文件原樣保存,以保留其中所有的信息。在系統(tǒng)啟動(dòng)后,CPU從Flash中獲取Kernel的HEX數(shù)據(jù),通過HPI將其在TMS320VC5402中組合出Kernel運(yùn)行程序并啟動(dòng)。然后,CPU從其Flash中獲取DSP應(yīng)用程序的HEX數(shù)據(jù),通過HPI將其分塊放入TMS320VC5402,并和已經(jīng)開始運(yùn)行的Kernel程序最終完成DSP引用程序的正確定位工作。最后啟動(dòng)DSP應(yīng)用程序。
在實(shí)踐中發(fā)現(xiàn),雖然HPI的設(shè)計(jì)初衷是為了和低速8位機(jī)接口進(jìn)行數(shù)據(jù)交換,但是HPI本身的工作速度非常高。通過HPI方式加載一段不小于130K的DSP應(yīng)用程序代碼所需要的時(shí)間不超過3秒鐘。
TI系列DSP提供了如此豐富的應(yīng)用方式,無疑給DSP系統(tǒng)開發(fā)者帶來了極大的方便。
評論