新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 利用Flash實現單片機系統的在線維護

        利用Flash實現單片機系統的在線維護

        作者: 時間:2012-02-02 來源:網絡 收藏

        由于SST29EE010是以128字節的頁方式寫入,所以實現加載指令時,對SST29EE010的寫操作以128字節為分組,不足128字節的分組填充至128字節再處理。在加載程序時,主機將加載程序.BIN文件以128字節為單位分組,并為每個分組加上升級指令代碼和位置參數后通過串口發送給MCU,MCU接收數據后進行判斷,若是加載指令則將接收的數據寫入到參數指定的FLASH區,并返回操作代碼;處理流程如圖4所示。

        圖4 程序加載的處理流程圖

        5 注意事項

        在系統設計與程序設計過程中需要注意以下幾點:

        (1)對FLASH芯片進行讀/寫操作時,將其當作擴展的外部存儲器(用MOVX @DPTR,A指令);執行程序時,將其作為擴展的程序存儲器。

        (2)在寫數據之前要打開SST29EE010的保護鎖,寫操作完成后要將SST29EE010的保護鎖關閉,關鎖之前要有一定的延時(通過需要10ms)。

        (3)為了保證整個系統的可用行,需要對加載程序進行可用行檢測機制,最簡單的方法就是為所要加載的.BIN文件增加3字節的內容,在文件前面增加2字節的.BIN文件長度指示,并在加載程序之后增加1字節的程序校驗值(如異或值),寫入FLASH中的內容如圖5所示。

        圖5加載程序的格式與內容

        (4)為了進一步提高系統的安全性,需要進行相關的身份認證獲取加載的權限如口令驗證,否則不予開放加載功能。

        (5)還應該添加一些版本控制和校驗功能,進行版本控制,只有在與待加載的程序具有相同的版本時才能進行程序加載。

        (6)因為加載的程序起始地址從8000H開始,又有2字節的長度指示,所以在加載程序之前增加“ORG 8002H”偽指令。

        6 結束語

        以單片機為基礎的需求越來越多,也就帶來了更多的維護問題。通過上層應用程序維護通常比直接進行單片機底層程序的維護要方便得多!本文基于實現的思想,介紹了一種通過PC機串行接口維護的方法,從而為版本管理、程序的動態維護以及程序存儲器的擴展都提供了十分便利的手段。

        參考資料

        [1] 張友德,趙志英,涂時亮.單片微型機原理、應用與實驗.上海:復旦大學出版社,2000

        [2] 李朝青.PC機及單片機數據通信技術,北京:北京航空航天大學出版社,2001

        [3] 余永權.ATMEL89系列單片機應用技術,北京:北京航空航天大學出版社,2002


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阳曲县| 景谷| 达拉特旗| 平顶山市| 靖安县| 汉沽区| 申扎县| 阿拉善盟| 石首市| 遵义市| 隆林| 龙井市| 左贡县| 子长县| 汉中市| 凤翔县| 仲巴县| 仁化县| 奉节县| 洛阳市| 白山市| 平乡县| 临夏县| 岗巴县| 金溪县| 秦皇岛市| 阿坝| 开封县| 青龙| 平阴县| 长阳| 都昌县| 镇康县| 广德县| 成都市| 手游| 三河市| 仙居县| 诸暨市| 武鸣县| 察隅县|