999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談STM32用戶基于IAP的程序更新技術

2018-12-07 10:07:08張航
山東工業技術 2018年21期

張航

摘 要:隨著科學技術的不斷發展,STM32也需要不斷的進行更新、升級,才能跟上時代的發展。基于此,本文通過對介紹IAP的寫入途徑,從IAP技術工作的基本過程、中斷處理方式、IAP技術實現程序更新的關鍵點等方面論述了IAP技術在STM32程序更新中的應用。

關鍵詞:STM32用戶;IAP;程序更新技術

DOI:10.16640/j.cnki.37-1222/t.2018.21.123

0 前言

在開發嵌入式系統時,最終的目的都是將編寫好的結構代碼下載到預定的微控制芯片上。對于微控制片來說,大部分生產廠家的下載方式都是不同的。現階段,在對用戶程序進行加載時,所采用的方式大多是在線編程。很多生產芯片的公司將用戶更新程序中的方式和接口進行開放式設計,以此使整個系統能夠安全可靠的運行,同時提高其可維護性。

1 IAP寫入途徑

IAP的寫入途徑主要有三種:

第一,從串口寫入。從串口寫入是指在程序升級時,所需的固件是從串口寫入產品的。這種方法的使用,在開發引導程序過程中是比較簡單的,不用在額外的添加其他的文件系統,只需要將串口驅動加入即可。從串口寫入的方法也有一定的缺點,在升級固件時,需要串口軟件、PC機以及串口線等,這些裝備很多用戶都不具備,應用范圍比較小,同時操作的難度也是比較大的。第二,從U盤或者SD卡寫入。從U盤或者SD卡寫入是指在升級固件之前,先用U盤或者SD卡將固件拷貝下來,然后直接進行升級操作就可以將固件升級。這種方法的使用,使用這種方法的缺點是所需要的代碼數量比較多,程序的開發引導比較復雜,需要的存儲空間比較大。如用U盤時,需要將USB協議和文件系統嵌入程序中;在用SD卡時需要將SD卡中的驅動程序和文件系統嵌入到程序中。第三,從網絡直接升級。從網絡上直接升級的應用對于用戶來說是最方便的,在升級過程中,并不需要使用任何設備。產品在聯網狀態下,IAP技術會實現自動升級。但是這種方法的應用也有一定的缺點,在程序開發引導過程中,所需的代碼數量非常多且比較復雜。

2 IAP技術在STM32程序更新中的應用

2.1 IAP技術工作的基本過程

IAP有兩部分項目代碼,其一是引導程序代碼;其二是產品功能程序代碼。其中在開發引導程序時,是需要利用專門的設備寫入的,如JTAG和串口等,這樣在開發過程中,需要寫的代碼數量就會大大降低,同時節省了存儲空間;在開發產品功能程序時,上述的三種寫入方法都可實現。這兩個程序在燒錄時,必須是同時的且在User Flash中。當芯片通電之后,IAP技術的基本工作過程如下:第一步,引導程序開始運行;第二步,對STM32中的代碼進行檢查,檢查之后,識別出那些代碼需要更新;第三步,如果檢查之后,發現STM32中的代碼沒有需要更新的,那么就會自動轉接到第五步;第四步,檢查需要有更新的代碼,會執行更新任務,利用U盤、SD卡等寫入方式將固件升級,用戶只需要有U盤或者SD卡就可以完成升級,操作起來非常的簡單,且比較方便。然后存儲到User Flash中;第五步,如果沒有需要更新的代碼,那么會直接執行產品功能程序代碼。

2.2 IAP中斷處理

在User Flash中,存在兩個程序,在開機之后,設備默認的執行順序是先從引導程序開始,因此需要更改產品功能程序的中斷向量。例如:在對STM32F4系列進行更新過程中,它的內部閃存地址起始于0x08000000,文件開始執行時,以此地址為起點。在運行過程中,會經過以“中斷向量表”,這個中斷向量表起到響應中斷的作用。在程序啟動之后,IAP技術會在表中將復位中斷向量取出,然后執行復位中斷程序,以此將IAP啟動。這個表的地址是0x08000004,當即將要進行中斷處理時,STM32F4內部的各種硬件以及機制會自動的定位PC指針,將其定位到“中斷向量表”處。同時會在中斷的源頭處取出執行過程中的中斷服務程序。這時,產品功能程序中的中斷向量表,會移動到程序的起始地址位置處[1]。

2.3 IAP技術實現程序更新的關鍵點

想要實現IAP技術對程序更新,需要做到以下幾點:

第一,對產品功能程序的中斷向量地址和起始地址進行更改。在聯網狀態下,則需要使用網卡芯片,同時還需要將網絡協議和驅動程序嵌入到程序中,如LEIP。例如:IAP中引導程序所占的空間是64K,對于產品功能程序來說,它的起始地址就應該更改成0x08010000。對于程序文件system_stm32f4xx.c來說,文件內部的flash向量地址應該修改為SCB->VTOR=FLASH_BASE|0x10000[2]。第二,要燒錄程序內部的flash,在聯網狀態下,則需要使用網卡芯片,同時還需要將網絡協議和驅動程序嵌入到程序中,如LEIP。仍然以STM32F4為例,由于它的扇區比較大,在保存扇區數據過程中,無法利用內部的RAM,因此,在這種情況下,在寫地址時,都會現將扇區中的數據擦除,然后再寫入數據,而不管是什么數據都會占用一個扇區。如果扇區中的數據特別重要,要注意先保存備份。這樣就能夠實現IAP技術對STM32系列的更新。

3 結論

綜上所述,IAP技術的寫入方法很多,合理的應用這些方法可以使程序更新更加方便、快捷。經過上文分析可得,我們IAP 技術在對STM32系列進行更新時,首先要了解IAP技術的基本工作過程。其次,它的中斷處理過程是非常重要的。最后實現程序更新需要把握兩個關鍵點。因此,IAP技術對于STM32系列的更新有非常重要的意義。

參考文獻:

[1]陳亮.基于STM32處理器的存儲器IAP編程技術[J].電子測試,

2017(10):77-78.

[2]唐玉兵,龍艦涵.基于STM32系列處理器IAP技術研究[J].科技展望,2015,25(21):122.

主站蜘蛛池模板: 国产91av在线| 免费可以看的无遮挡av无码| 亚洲精品欧美重口| 精品视频一区二区观看| 国产成人高清精品免费5388| 国产va在线观看| 亚洲网综合| 伊人婷婷色香五月综合缴缴情| 视频一区视频二区日韩专区| 国产91色在线| 99热这里只有精品免费| 欧美日韩午夜| 久久这里只有精品23| 大陆精大陆国产国语精品1024| 国产在线观看高清不卡| AV网站中文| 一级在线毛片| 欧美97色| 在线免费观看AV| 国产精品一区二区国产主播| 国产色爱av资源综合区| 99热最新网址| 一级不卡毛片| 无码不卡的中文字幕视频| 国产欧美在线视频免费| 成·人免费午夜无码视频在线观看| 乱人伦99久久| 一级全免费视频播放| 国产精品大白天新婚身材| jizz亚洲高清在线观看| 亚洲欧洲免费视频| 日韩午夜福利在线观看| 亚洲国产成人久久精品软件| 欧美激情伊人| 91久久国产综合精品女同我| 国产亚洲高清视频| 免费毛片全部不收费的| 中文字幕在线观看日本| 香蕉综合在线视频91| 亚洲性网站| 久久久久国产精品免费免费不卡| 精品无码一区二区三区电影| 2024av在线无码中文最新| 成人亚洲国产| 天天综合网站| 播五月综合| 中文字幕日韩丝袜一区| 亚洲精品成人福利在线电影| 国产精品区视频中文字幕| 精品视频在线观看你懂的一区| 妇女自拍偷自拍亚洲精品| 性做久久久久久久免费看| av免费在线观看美女叉开腿| 黄片在线永久| 欧美亚洲欧美区| 亚洲一级色| 精品国产免费观看一区| 亚洲久悠悠色悠在线播放| 久久天天躁狠狠躁夜夜2020一| 3344在线观看无码| 国产尹人香蕉综合在线电影| 人人妻人人澡人人爽欧美一区| 国产97视频在线| 日韩中文精品亚洲第三区| 亚洲二三区| 91亚洲精选| 欧美精品1区2区| 狠狠v日韩v欧美v| 亚洲精品无码av中文字幕| 亚洲欧美人成人让影院| 欧美午夜在线播放| 日韩在线1| 九九免费观看全部免费视频| 免费看黄片一区二区三区| 五月天丁香婷婷综合久久| 久久一色本道亚洲| 少妇精品网站| 国产成人综合久久| a级毛片免费网站| 扒开粉嫩的小缝隙喷白浆视频| 国内精品视频| 欧美日韩国产在线播放|