IAP(套用編程)

本詞條是多義詞,共5個義項
更多義項 ▼ 收起列表 ▲

IAP是In Application Programming的首字母縮寫,IAP是用戶自己的程式在運行過程中對User Flash的部分區域進行燒寫,目的是為了在產品發布後可以方便地通過預留的通信口對產品中的固件程式進行更新升級。

基本介紹

  • 中文名:套用編程
  • 外文名:In Application Programming
IAP是In Application Programming的首字母縮寫,IAP是用戶自己的程式在運行過程中對User Flash的部分區域進行燒寫,目的是為了在產品發布後可以方便地通過預留的通信口對產品中的固件程式進行更新升級。
通常在用戶需要實現IAP功能時,即用戶程式運行中作自身的更新操作,需要在設計固件程式時編寫兩個項目代碼,第一個項目程式不執行正常的功能操作,而只是通過某種通信管道(如USB、USART)接收程式或數據,執行對第二部分代碼的更新;第二個項目代碼才是真正的功能代碼。這兩部分項目代碼都同時燒錄在User Flash中,當晶片上電後,首先是第一個項目代碼開始運行,它作如下操作:
1)檢查是否需要對第二部分代碼進行更新
2)如果不需要更新則轉到4)
3)執行更新操作
4)跳轉到第二部分代碼執行
第一部分代碼必須通過其它手段,如JTAGISP燒入;第二部分代碼可以使用第一部分代碼IAP功能燒入,也可以和第一部分代碼一道燒入,以後需要程式更新是再通過第一部分IAP代碼更新。
對於STM32來說,因為它的中斷向量表位於程式存儲器的最低地址區,為了使第一部分代碼能夠正確地回響中斷,通常會安排第一部分代碼處於Flash的開始區域,而第二部分代碼緊隨其後。
在第二部分代碼開始執行時,首先需要把CPU的中斷向量表映像到自己的向量表,然後再執行其他的操作。
如果IAP程式被破壞,產品必須返廠才能重新燒寫程式,這是很麻煩並且非常耗費時間和金錢的。針對這樣的需求,STM32在對Flash區域實行讀保護的同時,自動地對用戶Flash區的開始4頁設定為防寫,這樣可以有效地保證IAP程式(第一部分代碼)區域不會被意外地破壞。

相關詞條

熱門詞條

聯絡我們