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.

主站蜘蛛池模板: 国产一区二区三区在线精品专区| 天天综合亚洲| 色天天综合| yy6080理论大片一级久久| 亚洲综合婷婷激情| 亚洲美女视频一区| 成人福利在线观看| 国产成人精品一区二区三在线观看| 精品福利视频导航| 伊人久久婷婷| 乱码国产乱码精品精在线播放| 国产丝袜第一页| 91热爆在线| 亚洲欧洲日韩综合| 午夜一级做a爰片久久毛片| 欧美日韩中文字幕在线| 久久久精品无码一区二区三区| 亚洲综合在线最大成人| 欧美全免费aaaaaa特黄在线| 久久夜色精品| 国产老女人精品免费视频| 日韩美女福利视频| 亚洲人成网站在线播放2019| 精品一区二区三区水蜜桃| 青青青国产免费线在| 国产午夜一级毛片| 国产亚洲精品yxsp| 日韩精品无码免费一区二区三区| A级毛片高清免费视频就| 亚洲电影天堂在线国语对白| 国内熟女少妇一线天| 欧美啪啪视频免码| 亚洲综合二区| 国产福利在线免费观看| 天天综合网色中文字幕| 理论片一区| 一级毛片免费不卡在线视频| 99ri精品视频在线观看播放| 国产特级毛片| 国产精品刺激对白在线| 少妇高潮惨叫久久久久久| 亚洲美女视频一区| 日本精品一在线观看视频| 亚洲一区二区三区中文字幕5566| 日本五区在线不卡精品| 91色在线观看| 精品久久香蕉国产线看观看gif| 欧美一区日韩一区中文字幕页| 中文字幕在线观| 欧美天堂在线| 激情综合网激情综合| 亚洲床戏一区| 91国内视频在线观看| 美女亚洲一区| 亚洲欧美激情另类| 日韩最新中文字幕| 99九九成人免费视频精品| 国产白丝av| 丰满少妇αⅴ无码区| 国内精品视频区在线2021| 香蕉精品在线| 在线五月婷婷| 国产亚洲欧美在线专区| 18禁黄无遮挡免费动漫网站| 91福利在线看| 国产第四页| 国产精选小视频在线观看| h网站在线播放| 免费视频在线2021入口| 日韩视频福利| 亚洲色图欧美视频| 91在线丝袜| 欧美不卡视频在线观看| 狠狠干综合| 国产黄在线免费观看| 亚洲国产AV无码综合原创| 天天综合网色| 国产精品第一区| 99国产在线视频| 亚洲欧洲日产无码AV| 成人日韩精品| 啦啦啦网站在线观看a毛片|