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