,,
(1.解放軍96610部隊,北京 100010;2.陸軍裝甲兵學院)

圖1 TMS320F2812內存映射圖
TMS320F2812作為TI公司推出的C2000系列DSP中性能最高的一款,工作時鐘頻率最高可達150 MHz,具有強大的數字信號處理和事件管理能力,其內部存儲包括SRAM和自帶的128 KB的FLASH,可以直接將程序寫入其中運行,因此開發和使用非常方便[1]。
芯片在使用時,經常會遇到程序升級的情況,TMS320F2812通常需要專用的燒寫器和軟件才能寫入,在程序調試過程可以使用該方法,但是當產品投入使用后,或者不具備使用燒寫器的條件,就需要一種離線的方法進行程序升級。
本文就TMS320F2812離線升級技術進行了探討,并提出了一種完備的設計方案,可作為該類型芯片的參考設計方案。
TMS320F2812的內存映射如圖1所示,由26 KB的片上SRAM、256 KB的片上FLASH、片上OTP和片上BootRom組成。程序的代碼和數據可以在片上SRAM和片上FLASH中運行。
TMS320F2812支持多種啟動模式,如FLASH引導裝載、SCI引導裝載、并行GPIO引導裝載、SPI引導裝載等,本文介紹的方法是在FLASH引導裝載下進行的,其啟動過程如下:
① 當XMP/MC為低電平時,TMS320F2812處于微計算機模式,此時向量表指向BootRoom;
② 到BootRoom的0x3F FC00處取出復位向量,跳轉到Boot函數,執行完后跳轉至0x3F 7FF6處,這個時候指令占據兩個字節,剛好在代碼模塊之前;
③ 取出跳轉指令,跳轉到自己的指定地址或者C初始化的入口_C_INT00(0x3F 6000)處;
④ 在C初始化的入口_C_INT00對一些變量、堆棧和寄存器進行必要的設置,該函數在C的庫函數內(RTS Library);
⑤ 進入main函數。
從其啟動過程來看,要能順利進入主程序,必須要保證第……