關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > TMS320F2812程序的遠程升級方法

        TMS320F2812程序的遠程升級方法

        作者: 時間:2009-11-19 來源:網絡 收藏

        2.2 Flash在線寫入
        F2812的Flash數據寫入通常包括擦除、燒寫和校驗3個步驟:
        ①擦除就是將Flash內的數據0位都變成1,經過正確的擦除步驟后,Flash內所有16位數據都變為0xFFFF。
        ②燒寫數據的過程就是將待寫入的數據中對應為0位寫入,使得Flash中的相對應位變為0,1對應的位保持不變。
        ③校驗過程在燒寫結束后,是將燒寫入的數據讀出,并與原來的數據進行比較。全部正確,則數據寫入Flash完成;若校驗不正確,則必須重新擦除和寫入,5次校驗未能通過,數據燒寫失敗。
        F2812的Flash燒寫與較早的C2000系列如F2407有所不同,的擦除、燒寫和校驗主要通過調用Flash_Erase()、Flash_Program()、Flash_Verify()這3個函數來完成。這3個Flash的操作函數已封裝在TI公司開發的庫文件Flash2812_API_V210.lib內,使用時只需在編譯時將該庫文件加入即可,非常方便使用者調用,具體的使用可參閱相關的參考資料。
        需要注意的是,對Flash的所有操作函數都必須首先載入到具有0等待周期的RAM內才能執行,否則Flash的燒寫過程將會出錯。執行在線寫入前,需要先調用函數Flash_MemCopy(),將Flash_Erase()、Flash_Program()、Flash_Verify()這3個函數的執行代碼調入F2812的RAM空間內。Flash_MemCopy()也是封裝在Flash2812_API_V210.lib庫文件內的函數。

        本文引用地址:http://www.104case.com/article/163475.htm


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


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


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 伽师县| 安丘市| 萝北县| 东兰县| 雷波县| 瑞昌市| 永登县| 砀山县| 苏尼特右旗| 辽阳市| 中江县| 鸡泽县| 宁海县| 武汉市| 汉中市| 航空| 关岭| 安新县| 北宁市| 奉化市| 蚌埠市| 潞城市| 青铜峡市| 崇信县| 喀什市| 杂多县| 安化县| 京山县| 清徐县| 双柏县| 江山市| 滦南县| 东兴市| 陵川县| 乃东县| 抚顺市| 阳新县| 饶阳县| 肇源县| 陆丰市| 鄯善县|