當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]TMS320F2812程序的遠程升級方法


    TMS320F2812(簡稱F2812)是TI公司推出的C2000系列性能最高的一款芯片,也是目前DSP領域最先進、功能最強大的32位定點DSP芯片。它既具有數(shù)字信號處理能力,又具有強大的事件管理能力和嵌入式控制功能,其片內自帶了128 K字的Flash,可以將程序直接寫入片內運行,開發(fā)和使用都非常方便。自推出以來,已被國內的各行業(yè)的開發(fā)工程師用于開發(fā)各種先進的監(jiān)控產品。各種監(jiān)控產品在線運行時,難免會發(fā)現(xiàn)和需要處理各種意料不到的問題,有必要及時升級相應的程序。F2812的程序通常需要專用的燒寫器和軟件才能寫入,但由于空間距離、時間、現(xiàn)場條件等多方面原因的限制,現(xiàn)場運行的設備很難在就地進行程序升級。因此,本文探討了如何利用設備現(xiàn)有的RS-232數(shù)據(jù)通信串口進行遠程的程序升級方法。


1 設備硬件構成
    下面針對一臺現(xiàn)場在線運行的F2812監(jiān)控設備進行遠程程序升級。該設備通過RS-232串口和外掛的GPRS模塊與主站PC機可進行點對點通信,其硬件通信平臺的構成如圖1所示。

    各硬件模塊的主要功能:
    ①主站PC機,負責對遠程F2812監(jiān)控系統(tǒng)發(fā)操作命令,收集實時數(shù)據(jù)等。
    ②GPRS通信模塊,通過RS-232接口分別與主站PC機和監(jiān)控系統(tǒng)連接,實現(xiàn)串口到Internet,遠程數(shù)據(jù)透明傳輸。
    ③F2812監(jiān)控系統(tǒng)負責執(zhí)行上位機的命令,采集現(xiàn)場數(shù)據(jù)、存儲并定時發(fā)送到上位PC機。F2812監(jiān)控電路板上外擴有128 K字的RAM存儲,用于存儲采集到的數(shù)據(jù),以及進行程序升級時,存儲上位機傳送過來的升級程序數(shù)據(jù),待數(shù)據(jù)傳送完成后,以數(shù)據(jù)塊的方式將升級程序寫入Flash內,對程序進行燒寫固化。
    程序的遠程升級方法主要用上位PC機,通過專用工具軟件,將升級程序數(shù)據(jù)分割發(fā)送,下位監(jiān)控系統(tǒng)收到程序數(shù)據(jù)后,先將數(shù)據(jù)放入內存指定的區(qū)域,待到全部數(shù)據(jù)收集結束;同時進行CRC校驗,正確后,調用預先嵌入的Flash燒寫函數(shù)進行數(shù)據(jù)寫入,即可實現(xiàn)程序遠程升級功能。

[!--empirenews.page--]
2 軟件設計方案
2.1 功能分塊
    為了能夠順利實現(xiàn)程序遠程升級功能,在程序的設計編寫過程中,可將F2812監(jiān)控程序有計劃地分成幾個主要功能模塊:BIOS初始化模塊、基礎功能模塊、應用程序模塊。各模塊的構成和地址安排如表1所列。

    DSP的監(jiān)控程序經(jīng)CCS開發(fā)系統(tǒng)編譯后,程序即生成一個*.out類型的COFF公共目標文件,公共目標格式文件對程序各模塊進行分段存放,主要有程序段(.text)、數(shù)據(jù)段(.data)、用戶自定義段(.Myprg)等,如程序未進行特別指定,編譯后的程序模塊會自動分配到公共目標格式文件的程序段(.text)內。為了能夠實現(xiàn)程序可遠程升級功能,需要應用程序模塊單獨映射到用戶自定義模塊內,升級過程只需對用戶自定義模塊(.Mprg)所在的Flash地址區(qū)域進行擦寫即可,這樣還可確保監(jiān)控程序的基本功能不受Flash擦寫過程和擦寫失敗的影響,這也是程序能否實現(xiàn)遠程升級功能的關鍵。
    為此,需在對F2812的監(jiān)控程序進行如下分段設計:
    ①在*.cmd文件的段地址映射內增加一個用戶自定義段(.Myprg),將應用程序模塊的映射地址與初始化模塊和基本功能模塊的映射地址分開如下(這樣便于Flash的程序在線升級時分塊寫入):

   
    ②對映射在應用程序模塊內的每個函數(shù),都需要用以下方法進行指定,使程序編譯后,應用程序模塊內的函數(shù)映射到用戶自定義段(.Myprg)內。

   
    經(jīng)過以上的程序分段和設定,使得程序編譯后,各功能函數(shù)分段清晰,為F2812監(jiān)控程序在線遠程寫入做好了準備。[!--empirenews.page--]
2.2 Flash在線寫入
    F2812的Flash數(shù)據(jù)寫入通常包括擦除、燒寫和校驗3個步驟:
    ①擦除就是將Flash內的數(shù)據(jù)0位都變成1,經(jīng)過正確的擦除步驟后,F(xiàn)lash內所有16位數(shù)據(jù)都變?yōu)?xFFFF。
    ②燒寫程序數(shù)據(jù)的過程就是將待寫入的數(shù)據(jù)中對應為0位寫入,使得Flash中的相對應位變?yōu)?,1對應的位保持不變。
    ③校驗過程在燒寫結束后,是將燒寫入的數(shù)據(jù)讀出,并與原來的數(shù)據(jù)進行比較。全部正確,則數(shù)據(jù)寫入Flash完成;若校驗不正確,則必須重新擦除和寫入,5次校驗未能通過,數(shù)據(jù)燒寫失敗。
    F2812的Flash燒寫與較早的C2000系列如F2407有所不同,程序的擦除、燒寫和校驗主要通過調用Flash_Erase()、Flash_Program()、Flash_Verify()這3個函數(shù)來完成。這3個Flash的操作函數(shù)已封裝在TI公司開發(fā)的庫文件Flash2812_API_V210.lib內,使用時只需在編譯時將該庫文件加入即可,非常方便使用者調用,具體的使用方法可參閱相關的參考資料。
    需要注意的是,對Flash的所有操作函數(shù)都必須首先載入到具有0等待周期的RAM內才能執(zhí)行,否則Flash的燒寫過程將會出錯。執(zhí)行在線寫入前,需要先調用函數(shù)Flash_MemCopy(),將Flash_Erase()、Flash_Program()、Flash_Verify()這3個函數(shù)的執(zhí)行代碼調入F2812的RAM空間內。Flash_MemCopy()也是封裝在Flash2812_API_V210.lib庫文件內的函數(shù)。


3 程序遠程升級
    程序的遠程升級功能就是通過升級應用程序模塊的數(shù)內容來實現(xiàn)的,其主要步驟如下:
    首先,程序數(shù)據(jù)的提取。監(jiān)控程序原文件經(jīng)過CCS編譯后,生成*.OUT的公共目標格式COFF文件。通常用仿真器燒寫程序時,公共目標格式文件,即*.out文件,由CCS的Flash燒寫插件對其進行解讀,并將數(shù)據(jù)輸出到F2812內進行燒寫。本文用C++Builder開發(fā)了一個專用工具軟件,根據(jù)公共目標格式文件的結構,對*.OUT文件進行解讀,并提取出應用程序模塊段(.MyPrg)內的程序數(shù)據(jù),并將數(shù)據(jù)通過GPRS通信模塊進行遠程傳送。其次,程序數(shù)據(jù)的分割。GPRS通信平臺要求每個數(shù)據(jù)包小于或等于256字節(jié),因此,需要將提取到的程序數(shù)據(jù)進行分割,由專用工具軟件將應用程序模塊分割為若干個196字節(jié)大小的數(shù)據(jù)包,根據(jù)通信協(xié)議與F2812監(jiān)控系統(tǒng)進行遠程通信。
    最后,程序數(shù)據(jù)的寫入。程序數(shù)據(jù)經(jīng)GPRS遠程通信接收完畢后,可向F2812監(jiān)控裝置發(fā)程序升級指令。根據(jù)預先分段設定,即調用Flash操作函數(shù)Flash_Erase()、Flash_Program()、Flash_Vetify(),將數(shù)據(jù)寫入用戶自定段.Myprg所在的地址區(qū)域,完成程序的遠程升級。


結 語
    本文從工程的實際需要出發(fā),分析和闡述了C2000系列的TMS320F2812程序遠程升級的步驟和方法,有效解決在線遠程運行系統(tǒng)的程序升級的難題,對其他類似系統(tǒng)的程序升級也具有借簽意義。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉