新聞中心

STM32的IAP方案

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

IAP,全稱是“In-Application

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

本文引用地址:http://2s4d.com/article/201611/318960.htm

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



關(guān)鍵詞: STM32IAP方

評(píng)論


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

關(guān)閉