多核DSP Bootloader代碼加載方法方案
3 原理框圖
利用DSP EMAC接口支持IPV4的網絡特性,以及SRIO接口使DSP間可以形成的U形菊花鏈或星形拓撲結構,可以靈活組網。原理框圖如圖I所示。其中基帶處理板與主控板之間由背板連接,主控板通過網線與交換機或路由器連接。主控板與基帶板之間組建局域網,由主控板分配IP。遠程PC可以通過主控板IP訪問到任何一塊基帶板的CPU。對CPU進行操作,可以對任意一塊基帶板上的DSP進行代碼加載。
4 加載流程
流程圖如圖2所示。CPU加載DSPl的詳細過程說明如下:基帶板上電后主控板為背板上各槽位上的基帶板的CPU分配IP地址.CPU通過EPLD加載自身程序,與主控板通過SGMII接口獲取自身IP地址。遠程PC機telnet登錄到CPU,下發命令加載CPU底層驅動程序;CPU底層驅動加載成功后,遠程Pc下發加載DSP程序命令.以加載DSP1為例,詳細說明加載DSP1的過程.CPU加載DSP1時首先給該DSP1復位獲取DSP1的MAC地址,成功獲取到DSP1的MAC地址后,利用ftp協議從遠程PC上獲取DSP1的代碼,將DSP1的代碼存到CPU的內存.此時DSP1一直處于boot load的EMAC加載模式.CPU將DSP1的代碼根據EMAC加載協議往DSP1發送代碼.當發送完畢代碼后,向DSP1發送一包長度為0的加載代碼,作為結束包.DSP1根據EMAC加載協議,當收到該包后則從加載模式跳轉為正常模式,PC指針從OxOOS00000開始運行.因此對于DSP而言,Ox00800000地址開始的一段空間,必須存放中斷向量表.
否則程序將不會正確運行.此時DSP的3個內核同時從Ox00800000開始運行。
加載DSP2至加載DSPn時,首先由CPU根據ftp協議從PC端獲取DSPk(k=2?3.n)的代碼.根據EMAC發送協議,將DSPk代碼發送到DSP1.DSP1收到DSPk的代碼后,根據SRIO加載協議加載DSPk的代碼.DSPk代碼加載完畢后,DSP1向DSPk發送一個SRIO中斷。標志加載結束.DSPk響應該SRIO中斷。從SRIO加載模式跳轉到正常模式,開始從Ox00800000地址開始運行.整個加載過程結束。
5 結束語
通過方案的比較,選擇了易于組網,且可控、方便,利于軟升級的方案.很方便的設計了TI TCI6488 3內核DSP的Bootload程序.完成了DSP系統自舉加載.按照該設計思路編制的boot load程序已在WCDMA基站的基帶處理板中得到應用,DSP系統能很好的復位及快速、方便的自舉加載,更換版本容易,系統運行穩定可靠。
評論