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