新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于MSP43F149系列單片機的IAP功能設(shè)計

基于MSP43F149系列單片機的IAP功能設(shè)計

作者: 時間:2011-12-17 來源:網(wǎng)絡(luò) 收藏

 圖4中必須注意:

 ?、俦仨毾裙潭ㄔ摮绦虻娜肟诘刂?,這樣引導(dǎo)程序才能將之拷貝到RAM中,大小要控制在2 KB之內(nèi)。該程序比較小,一般不超過2 KB 。


 ?、诒仨殞lash狀態(tài)鎖住,這樣在寫的時候不容易出錯。

 ?、墼谧x取60 KB數(shù)據(jù)后,打開看門狗。升級系統(tǒng)是根據(jù)看門狗不喂狗來自動復(fù)位重啟系統(tǒng)的。

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

  圖5說明:聲明一個入口函數(shù),便于外部程序升級時調(diào)用。這個引導(dǎo)程序比較簡單。由于在片內(nèi)執(zhí)行,所以使用匯編語言(mov指令)很容易就可以把螞蟻搬家程序?qū)氲絉AM中。

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

  4 注意事項

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

  結(jié) 語

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


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉