• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      淺談STM32用戶基于IAP的程序更新技術(shù)

      2018-12-07 10:07:08張航
      山東工業(yè)技術(shù) 2018年21期

      張航

      摘 要:隨著科學(xué)技術(shù)的不斷發(fā)展,STM32也需要不斷的進(jìn)行更新、升級(jí),才能跟上時(shí)代的發(fā)展?;诖?,本文通過對(duì)介紹IAP的寫入途徑,從IAP技術(shù)工作的基本過程、中斷處理方式、IAP技術(shù)實(shí)現(xiàn)程序更新的關(guān)鍵點(diǎn)等方面論述了IAP技術(shù)在STM32程序更新中的應(yīng)用。

      關(guān)鍵詞:STM32用戶;IAP;程序更新技術(shù)

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

      0 前言

      在開發(fā)嵌入式系統(tǒng)時(shí),最終的目的都是將編寫好的結(jié)構(gòu)代碼下載到預(yù)定的微控制芯片上。對(duì)于微控制片來說,大部分生產(chǎn)廠家的下載方式都是不同的?,F(xiàn)階段,在對(duì)用戶程序進(jìn)行加載時(shí),所采用的方式大多是在線編程。很多生產(chǎn)芯片的公司將用戶更新程序中的方式和接口進(jìn)行開放式設(shè)計(jì),以此使整個(gè)系統(tǒng)能夠安全可靠的運(yùn)行,同時(shí)提高其可維護(hù)性。

      1 IAP寫入途徑

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

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

      2 IAP技術(shù)在STM32程序更新中的應(yīng)用

      2.1 IAP技術(shù)工作的基本過程

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

      2.2 IAP中斷處理

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

      2.3 IAP技術(shù)實(shí)現(xiàn)程序更新的關(guān)鍵點(diǎn)

      想要實(shí)現(xiàn)IAP技術(shù)對(duì)程序更新,需要做到以下幾點(diǎn):

      第一,對(duì)產(chǎn)品功能程序的中斷向量地址和起始地址進(jìn)行更改。在聯(lián)網(wǎng)狀態(tài)下,則需要使用網(wǎng)卡芯片,同時(shí)還需要將網(wǎng)絡(luò)協(xié)議和驅(qū)動(dòng)程序嵌入到程序中,如LEIP。例如:IAP中引導(dǎo)程序所占的空間是64K,對(duì)于產(chǎn)品功能程序來說,它的起始地址就應(yīng)該更改成0x08010000。對(duì)于程序文件system_stm32f4xx.c來說,文件內(nèi)部的flash向量地址應(yīng)該修改為SCB->VTOR=FLASH_BASE|0x10000[2]。第二,要燒錄程序內(nèi)部的flash,在聯(lián)網(wǎng)狀態(tài)下,則需要使用網(wǎng)卡芯片,同時(shí)還需要將網(wǎng)絡(luò)協(xié)議和驅(qū)動(dòng)程序嵌入到程序中,如LEIP。仍然以STM32F4為例,由于它的扇區(qū)比較大,在保存扇區(qū)數(shù)據(jù)過程中,無法利用內(nèi)部的RAM,因此,在這種情況下,在寫地址時(shí),都會(huì)現(xiàn)將扇區(qū)中的數(shù)據(jù)擦除,然后再寫入數(shù)據(jù),而不管是什么數(shù)據(jù)都會(huì)占用一個(gè)扇區(qū)。如果扇區(qū)中的數(shù)據(jù)特別重要,要注意先保存?zhèn)浞荨_@樣就能夠?qū)崿F(xiàn)IAP技術(shù)對(duì)STM32系列的更新。

      3 結(jié)論

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

      參考文獻(xiàn):

      [1]陳亮.基于STM32處理器的存儲(chǔ)器IAP編程技術(shù)[J].電子測(cè)試,

      2017(10):77-78.

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

      贵港市| 张家港市| 兴仁县| 农安县| 偃师市| 额济纳旗| 始兴县| 寿阳县| 奉节县| 嘉义市| 迁西县| 龙井市| 永登县| 通化县| 中方县| 敖汉旗| 宁德市| 湟中县| 昔阳县| 弥渡县| 奇台县| 武安市| 岐山县| 西乌珠穆沁旗| 湖北省| 淳化县| 新乡市| 土默特右旗| 蓬莱市| 峨山| 麻阳| 定结县| 黑龙江省| 视频| 靖西县| 长武县| 宜黄县| 敖汉旗| 城口县| 甘孜| 贵阳市|