新聞中心

STM32的IAP方案

作者: 時間:2016-11-20 來源:網(wǎng)絡 收藏
幾乎所有的同類書籍都介紹綜合性的應用示例如“萬年歷 + 溫度顯示 + 鬧鐘響鈴 + 計時表”這樣的一個實時時鐘范例或“STM32 + 音頻解碼 + 大容量存儲方案”這樣的MP3播放器范例。這些綜合性實例的目的在于引領讀者進行綜合性實驗,達到把單片機的基礎模塊整合運用的目的。這些實例普遍存在一種共同點,即“練手”意義要大于“實用”的意義。本文將講述一個STM32的綜合性應用示例,該示例將涉及到STM32微控制器的時鐘系統(tǒng)、GPIO、定時器、中斷系統(tǒng)、異步串口以及內置可編程flash等設備的應用,作為一個綜合性實驗的同時還具有很強的“實用”意義。這個示例就是STM32的IAP方案。

IAP,全稱是“In-Application

Programming”,中文解釋為“在程序中編程”。IAP是一種對通過微控制器的對外接口(如USART,IIC,CAN,USB,以太網(wǎng)接口甚至是無線射頻通道)對正在運行程序的微控制器進行內部程序的更新的技術(注意這完全有別于ICP或者ISP技術)。ICP(In-Circuit Programming)技術即通過在線仿真器對單片機進行程序燒寫,而ISP技術則是通過單片機內置的bootloader程序引導的燒寫技術。無論是ICP技術還是ISP技術,都需要有機械性的操作如連接下載線,設置跳線帽等。若產品的電路板已經(jīng)層層密封在外殼中,要對其進行程序更新無疑困難重重,若產品安裝于狹窄空間等難以觸及的地方,更是一場災難。但若進引入了IAP技術,則完全可以避免上述尷尬情況,而且若使用遠距離或無線的數(shù)據(jù)傳輸方案,甚至可以實現(xiàn)遠程編程和無線編程。這絕對是ICP或ISP技術無法做到的。某種微控制器支持IAP技術的首要前提是其必須是基于可重復編程閃存的微控制器。STM32微控制器帶有可編程的內置閃存,同時STM32擁有在數(shù)量上和種類上都非常豐富的外設通信接口,因此在STM32上實現(xiàn)IAP技術是完全可行的。

本文引用地址:http://butianyuan.cn/article/201611/318960.htm

實現(xiàn)IAP技術的核心是一段預先燒寫在單片機內部的IAP程序。這段程序主要負責與外部的上位機軟件進行握手同步,然后將通過外設通信接口將來自于上位機軟件的程序數(shù)據(jù)接收后寫入單片機內部指定的閃存區(qū)域,然后再跳轉執(zhí)行新寫入的程序,最終就達到了程序更新的目的。



關鍵詞: STM32IAP方

評論


技術專區(qū)

關閉