久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> STM32 >> 瀏覽文章

IAR環境下STM32+IAP方案的實現

作者:佚名   來源:本站原創   點擊數:  更新時間:2014年09月15日   【字體:

--基于STM32F103ZET6UART通訊實現

 
、什么IAP,為什么要IAP
      IAP即為In Application Programming(在應用中編程),一般情況下STM32F10x系列芯片為主控制器的設備在出廠時就已經使用J-Link仿真器將應用代碼燒錄了,如果在設備使用過程中需要進行應用代碼更換、升級等操作的話,則可能需要將設備返回原廠拆解出來再使用J-Link重新燒錄代碼,這就增加了很多不必要的麻煩。站在用戶的角度來說,就是能讓用戶自己來更換設備里邊的代碼程序而廠家這邊只需要提供給用戶一個代碼文件即可。
      IAP卻能很好的解決掉這個難題,一片STM32芯片的Code(代碼)區內一般只有一個用戶程序而IAP方案則是將代碼劃分為兩部分,兩部分區域各存放一個程序,一個叫bootloader(引導加載程序)另一個user application(用戶應用程序)bootloader出廠時固定下來了,在需要變更user application時只需要通過觸發bootloader對userapplication擦除和重新寫入即可完成用戶應用的更換。1-1所示
圖 1-1
圖2-1
圖2-2
      STM32F10x有一個中斷向量表,這個中斷向量表存放在代碼開始部分的后4個字節處(即0x08000004),代碼開始的4個字節存放的是堆棧棧頂的地址,發生中斷后程序通過查找該表得到相應的中斷服務程序入口地址,然后再跳到相應的中斷服務程序中執行。上電后從0x08000004處取出復位中斷向量的地址,然后跳轉到復位中斷程序的入口(標號所示)執行結束后跳轉到main函數中(標號②所示)。在執行main函數的過程中發生中斷STM32強制PC指針指回中斷向量(標號所示)從中斷向量表中找到相應的中斷函數入口地址,跳轉到相應的中斷服務函數(標號所示),執行完中斷函數后返回到main函數中來(標號所示)。
圖2-3
圖2-2
      對于步驟④⑤網友認為是:“在main執行的過程中如果CPU得到一個中斷請求,PC指針強制跳轉到地址0x08000004中斷向量表處,而不是新的中斷向量表,圖標號所示程序再根據我們設置的中斷向量表偏移量,跳轉對應中斷源新的中斷服務程序如圖標號所示”。我對此的理解是:“當發生中斷后,程序從0x08000004()處的中斷向量表中得到相應的中斷服務函數入口地址,繼而跳轉相應的中斷服務程序但是舊的中斷向量列表里邊存放的是IAP程序中斷函數的入口地址,它是如何得到user程序中斷函數的入口地址?所以覺得此種說法是錯誤的。當發生中斷時PC指針強制會跳轉到0x08000004處”這種說法并沒有錯,只是忽略了后續的一些知識要點導致這個說法出現矛盾。
圖3-1
圖3-2
圖3-3
關閉窗口
主站蜘蛛池模板: 中国一级特黄真人毛片 | 日韩精品一区二区三区在线观看 | 国产乱码高清区二区三区在线 | 日日久 | 免费观看国产视频在线 | 国产一区二区三区四区 | 久久久成人动漫 | 亚洲精品乱码久久久久久久久久 | 欧美性猛交 | 我想看一级黄色毛片 | 欧美高清性xxxxhd | 在线观看免费毛片 | 91精品久久久久久久久久小网站 | 午夜日韩视频 | 精品九九 | 免费视频久久 | 国产高清自拍视频在线观看 | 综合色播 | 精品1区| 成人在线观看免费视频 | 99久久99久久精品国产片果冰 | 精品在线一区二区 | 一区二区三区四区日韩 | 亚洲视频在线播放 | 国产黄色在线观看 | 日韩av在线免费 | 亚洲成人免费观看 | 欧美综合一区二区 | 手机av在线| 国产欧美在线播放 | 亚洲国产一区二区视频 | 色婷婷一区二区三区四区 | 99热热99| 国产精品久久久久久久岛一牛影视 | 亚洲h在线观看 | 久草热8精品视频在线观看 午夜伦4480yy私人影院 | 国产一区二区在线视频 | 91看片网| 久久久久久美女 | 国产一区2区| 久久亚洲欧美日韩精品专区 |