基于ARM的在線更新機制的設計實現(xiàn)
3.5 啟動程序與應用程序之前的跳轉(zhuǎn)
在啟動程序中定義應用程序的地址,#defineAPP_CODE_ADDR (0x00001000),程序跳轉(zhuǎn)的代碼采用匯編語言編寫,代碼實例如下:
3.6 啟動代碼的實現(xiàn)流程當用戶需要更新應用代碼時,PC的上位機軟件通過CAN總線向各種終端發(fā)送升級命令。而終端開機后自動運行啟動程序,啟動程序會檢測沒有升級命令,如果有的話,則接收應用程序代碼,直到完成整個升級。如果沒有,則運行應用程序。實現(xiàn)的流程圖如圖2,圖3所示。
4 結(jié)語
本文設計的在線更新機制結(jié)合了IAP編程技術(shù)和CAN通信技術(shù),在單片機內(nèi)部采用了靈活的FLASH空間架構(gòu),實現(xiàn)了CAN總線的在線更新機制。該設計方案已經(jīng)成功應用到實際項目中,實踐證明,該方法操作簡便、靈活、可靠,具有一定的實際價值。
評論