嵌入式IAP设计
文章目錄
- IAP和OTA的區別
- IAP
IAP和OTA的區別
IAP是In Application Programming的首字母縮寫,IAP是用戶自己的程序在運行過程中對User Flash的部分區域進行燒寫,目的是為了在產品發布后可以方便地通過預留的通信口對產品中的固件程序進行更新升級。
空中下載技術(Over-the-Air Technology, OTA)是通過移動通信的空中接口實現對移動終端設備及SIM卡數據進行遠程管理的技術。
而在實際項目中,很多人把IAP技術也稱為OTA升級,。
IAP
單片機需要有兩段程序,
首先上電是bootloader程序,程序中要負責升級的傳輸和flash的讀寫。
然后是application程序,實現具體的項目功能。
像cortex-M3 M4這鐘RAM小的單片機,通常還需要雙備份。
以確保在傳輸結束后發現程序有問題還可以回退到正常執行版本。
bootloader上電后要校驗固件合法性,
可以在app固件末尾附加CRC32,進行運算校驗。
還可以在中斷向量表的保留寄存器中寫入標志位,
并在固件開頭進行查詢核對。
bootloader的中斷在跳轉到APP之后記得要關閉。
bootloader在上電后在flash中存儲異常重啟計數。
app開始執行一段時間后,將異常重啟計數清零。
如果bootloader發現異常重啟溢出,便停留在boot中等待升級。
總結
- 上一篇: python逐行读取xls文件
- 下一篇: CSS3中的元素过渡属性transiti