--基于STM32F103ZET6的UART通訊實現(xiàn)
一、什么是IAP,為什么要IAP
IAP即為In Application Programming(在應(yīng)用中編程),一般情況下,以STM32F10x系列芯片為主控制器的設(shè)備在出廠時就已經(jīng)使用J-Link仿真器將應(yīng)用代碼燒錄了,如果在設(shè)備使用過程中需要進(jìn)行應(yīng)用代碼的更換、升級等操作的話,則可能需要將設(shè)備返回原廠并拆解出來再使用J-Link重新燒錄代碼,這就增加了很多不必要的麻煩。站在用戶的角度來說,就是能讓用戶自己來更換設(shè)備里邊的代碼程序而廠家這邊只需要提供給用戶一個代碼文件即可。
而IAP卻能很好的解決掉這個難題,一片STM32芯片的Code(代碼)區(qū)內(nèi)一般只有一個用戶程序。而IAP方案則是將代碼區(qū)劃分為兩部分,兩部分區(qū)域各存放一個程序,一個叫bootloader(引導(dǎo)加載程序),另一個較user application(用戶應(yīng)用程序)。bootloader在出廠時就固定下來了,在需要變更user application時只需要通過觸發(fā)bootloader對userapplication的擦除和重新寫入即可完成用戶應(yīng)用的更換。如圖1-1所示
圖 1-1
|
圖2-1
|
圖2-2
|
圖2-3
|
圖2-2
|
圖3-1
|
圖3-2
|
圖3-3
|