久久久久久久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
關閉窗口
主站蜘蛛池模板: 国产欧美一级二级三级在线视频 | 国产精品久久久久无码av | 中文字幕在线播放第一页 | 国产精品69av| 成年人网站国产 | 综合色播 | 日韩视频在线一区 | 中文字幕国产精品视频 | 精品国产一区一区二区三亚瑟 | 波多野结衣中文视频 | 黄频视频| 波多野结衣在线观看一区二区三区 | 欧美亚洲高清 | 久久大 | 亚洲激情视频在线 | 欧美日韩成人在线观看 | 一区二区三区高清在线观看 | 狼人伊人影院 | 欧美一区视频在线 | www.久久精品视频 | 粉嫩一区二区三区四区公司1 | 成人欧美一区二区三区在线播放 | 欧美涩 | 极品电影院 | 午夜视频一区二区 | 91精品入口蜜桃 | 亚洲黄色在线免费观看 | 国内精品在线视频 | 国产一区二区三区色淫影院 | 一区二区三区在线播放视频 | 国产一区二区三区久久久久久久久 | 久久一起草 | 91国产视频在线观看 | 视频羞羞| 一级特黄色毛片 | 免费一级做a爰片久久毛片潮喷 | 亚洲精品一区二区网址 | 国产精品久久久久久婷婷天堂 | 亚洲精品久久久久久久久久久久久 | 欧美三级久久久 | 精品欧美一区二区三区久久久小说 |