首先C6678是一個多核處理器(8核),每個核都有自己獨立32KB的LIP、32KB的L1D以及512KB的L2,此外8個核還有4M的共用的MSM,介面資源套件括,SRIO,PCIe,Hyperlink,Gigabit Ethernet (GbE),EMIF,TSIP,UART,I2C,SPI介面。針對這些介面,RBL(ROM bootloader)支援多種程式載入模式,包括,EMIF bootmode,SRIO bootmode,Ethernet bootmode ,PCIe bootmode,I2C
bootmode,SPI bootmode,Hyperlink bootmode,UART bootmode。這些啟動方式的選擇是由RBL啟動時讀取配置引腳(C6678EVM板是由撥動開關控制的)電平來決定的。各種載入方式解析如下。
(1)SPI載入方式,可以通過SPI外掛一個NorFlash,將待載入的程式通過TI官方提供的轉化工具將需要載入的.out程式轉化成.h檔案,然後通過模擬器將資料燒寫到norFlash中,最後將6678配置成SPI啟動方式,重新上電即可。
(2)PCIE載入模式,由於目前版本的C6678存在PLL頻率鎖不住的問題,所以需將C6678配置成二次載入模式,具體而言就是先用SPI載入,然後通過SPI載入的程式初始化好PLL始終以及PCIE介面,然後通過PCIE介面來載入程式,PCIE載入模式是由上位機通過PCIE直接寫DSP記憶體來實現載入功能的。首先通過TI官方提供的工具將需要載入的.out程式轉化成.bin檔案,然後讀取bin檔案通過PCIE介面直接寫到DSP記憶體,然後處罰運行即可。
(3)乙太網路口載入模式,該載入模式是通過網口發送udp包來完成的,首先是檔案的處理,將需要載入.out檔案用TI官網提供的工具轉化成.eth檔案,然後將DSP配置成乙太網路載入模式,DSP會通過網口想外界廣播BOOTP的廣播包,通過抓包工具抓包,並分析DSP的MAC地址,再通過ARP命令將該MAC地址映射到與上位機同一網段的IP地址上,最後用TI提供的pcsendpkt工具將.eth檔案發送給DSP,DSP受到上位機發送的UDP的資料包後,會自動憑藉資料,最後自動觸發運行程式。
其他的載入模式還在進一步實驗中。(待續)