前 言
DSP板卡一般通過仿真器進行調試,包括程序的加載與固化。由於衆多應用場合對產品體積、產品密封性均有嚴格要求,或我們根本無法近距離接觸產品,因此終端產品很多時候無法預留JTAG接口或通過JTAG接口升級程序。此時,在不拆箱的前提下實現程序的遠程升級,則顯得尤爲重要。
基於以上考慮,爲了讓嵌入式應用更簡單,創龍科技(Tronlong)基於TI TMS320C6678平臺提供了DSP程序遠程升級方案:串口遠程升級、網絡遠程升級。
1 硬件平臺
本文基於創龍科技TL6678-EasyEVM評估板進行演示。
TL6678-EasyEVM是一款基於TI KeyStone架構C6000系列TMS320C6678八核C66x定點/浮點高性能處理器設計的高端多核DSP評估板,由核心板與底板組成。核心板經過專業的PCB Layout和高低溫測試驗證,穩定可靠,可滿足各種工業應用環境。
評估板接口資源豐富,引出雙路千兆網口、SRIO、PCIe等高速通信接口,方便用戶快速進行產品方案評估與技術預研。
開發案例主要包括:
(1) 裸機開發案例
(2) RTOS(SYS/BIOS)開發案例
(3) IPC、OpenMP 多核開發案例
(4) SRIO、PCIe、雙千兆網口開發案例
(5) 圖像處理開發案例
(6) DSP算法開發案例
(7) 串口、網絡遠程升級開發案例
案例源碼、產品資料(用戶手冊、核心板硬件資料、產品規格書)可留言給我獲取。
2 串口遠程升級方案
2.1 案例功能
PC機使用串口調試終端軟件SecureCRT,通過串口將用戶程序遠程固化至NOR FLASH或NAND FLASH。
2.2 案例框圖
2.3 關鍵代碼
(1)主函數簡要說明。
由main函數中flash_type變量指定固化用戶程序至NOR FLASH或NAND FLASH。
3 網絡遠程升級方案
3.1 案例功能
通過網頁界面對評估板的NOR FLASH或NAND FLASH進行讀、寫、擦除操作,實現程序遠程固化至NOR FLASH或NAND FLASH。
3.2 案例框圖
3.3 關鍵代碼
(1)初始化網絡子系統。
(2)動態創建ndk_client任務。
(3)默認使用DHCP模式自動獲取IP地址,如需修改爲靜態IP地址,可參考如下說明進行配置。默認適配ETH1網口,如需使用ETH0網口,可參考如下說明進行配置。
(4)創建HTML 網頁,並添加網頁功能所需的Web網頁文件。
(5)將配置寫入NDK配置中,並初始化NDK子系統。
(6)通過MAX_POST_FILESZ配置網頁上傳文件大小。
project\webpages\flash.h
(7)通過AddWebFiles()創建網頁服務所需元素文件。
project\webpages\webpage.c
(8)創建Flash編程界面和響應網頁操作函數。
project\webpages\flash.c
(9)選擇編程設備。
project\webpages\flash.c
(10)初始化設備並讀取設備硬件信息。
project\webpages\flash.c
(11)數據寫入操作過程說明:創建Starting Address、File to Write選項,將上傳事件與flashwrite.cgi進行綁定。
project\webpages\flash.c
(12)按下Write按鈕後,將觸發serveFlashWritePage(),在函數中獲取上傳文件並保存至write_buffer中。
project\webpages\flashwrite.c
(13)固化用戶程序可執行文件至對應的編程設備中。
project\webpages\flashwrite.c
本案例實現了網頁的基本功能,如需新增其他功能,可修改案例工程webpages目錄下的相關文件。HTML文件default.html修改後需轉換爲default.h並替換原有文件,再重新進行編譯,修改方可生效。webpages的tool目錄下提供了HTML文件轉換工具包php-8.0.0.rar。
請將webpages的tool目錄下的php-8.0.0.rar壓縮包解壓至Windows非中文路徑下,並確保已正確安裝BIOS-MCSDK多核軟件開發包。
將修改後的default.html重命名爲default,並拷貝至php-8.0.0.rar壓縮包解壓目錄。
雙擊運行convert.bat腳本,即可在當前目錄下生成default.h文件。