新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于MSP43F149系列單片機的IAP功能設計

        基于MSP43F149系列單片機的IAP功能設計

        作者: 時間:2011-12-17 來源:網絡 收藏

         圖4中必須注意:

          ①必須先固定該程序的入口地址,這樣引導程序才能將之拷貝到RAM中,大小要控制在2 KB之內。該程序比較小,一般不超過2 KB 。


          ②必須將Flash狀態鎖住,這樣在寫的時候不容易出錯。

          ③在讀取60 KB數據后,打開看門狗。升級系統是根據看門狗不喂狗來自動復位重啟系統的。

          用戶只要根據上面的流程進行編程,就很容易實現升級(這里是重點,也是一個難點)。引導程序流程如圖5所示。

          圖5說明:聲明一個入口函數,便于外部程序升級時調用。這個引導程序比較簡單。由于在片內執行,所以使用匯編語言(mov指令)很容易就可以把螞蟻搬家程序導入到RAM中。

          由于IAR編譯出來的最終文件為*.a43文件,建議使用類似(HexToBin.exe)軟件將*.a43文件轉化成二進制文件,就可直接下載了。

          4 注意事項

          這段代碼必須在RAM里運行,所以暫時不使用SP來“RET”。也就是說,不可以使用CALL指令,也不可以使用壓棧處理(如PUSH或者POP等指令),所以這里將不可以開設堆棧區。通過某種無線手段執行代碼(BIN文件),然后根據自定義無線協議,將該可執行代碼下載并保存到片外的Flash相應地址空間,最后啟動升級程序。最后通過啟動看門狗并復位來啟動系統。

          結 語

          通過長期的實踐證明,本方案具有非常高的可靠性。這里雖然只介紹了MSP430產品的升級方法,但對于其他沒有自帶IAP的升級,其思路卻都一樣。這里提醒廣大的開發愛好者,對于一串串的二進制文件數據,我們不要害怕;只要獨立思考,抓住的特性,靈活應用,只有想不到,沒有做不到。祝大家共同進步!


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 三明市| 句容市| 伊吾县| 潮州市| 金华市| 香格里拉县| 革吉县| 高阳县| 垦利县| 中山市| 富阳市| 江陵县| 濮阳市| 武清区| 阿拉尔市| 息烽县| 永福县| 图们市| 额敏县| 万年县| 鄯善县| 湘乡市| 故城县| 揭西县| 新闻| 镇远县| 承德市| 石台县| 大姚县| 太保市| 金山区| 修水县| 安多县| 华亭县| 乌兰察布市| 新沂市| 泰顺县| 定兴县| 阿图什市| 雷山县| 双柏县|