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