亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于LPC2000系列ARM的工業(yè)儀表IAP升級實現(xiàn)

        2018-03-06 12:59:26張偉陳月紅
        科技資訊 2018年23期
        關(guān)鍵詞:嵌入式

        張偉 陳月紅

        摘 要:隨著計算機(jī)網(wǎng)絡(luò)技術(shù)以及微電子技術(shù)的發(fā)展,嵌入式系統(tǒng)在各行各業(yè)的應(yīng)用越來越廣泛,傳統(tǒng)的嵌入式系統(tǒng)的不足逐漸暴露無遺,ARM嵌入式系統(tǒng)逐漸成為很多行業(yè)的最佳選擇,工業(yè)儀表亦是如此。根據(jù)工業(yè)現(xiàn)場儀表嵌入式系統(tǒng)軟件升級困難的現(xiàn)狀,本文敘述了IAP(In-Application Programming)升級技術(shù)原理和ARM在線編程的方案,該方案摒棄傳統(tǒng)的使用ISP接口和仿真器進(jìn)行程序更新的方式,實現(xiàn)了固件的靈活存儲與升級。

        關(guān)鍵詞:ARM 嵌入式 IAP 工業(yè)儀表

        中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2018)08(b)-0107-02

        LPC2000系列ARM處理器是目前最為流行的微處理器之一,是一種高性能、低功耗、低成本的RISC微處理器。LPC2000系列微控制器是基于支持仿真的ARM7TDMI-S CPC內(nèi)核,支持ARM和Thumb指令集。它采用ARM7架構(gòu)的微控制單元。ARM具有大量的片內(nèi)存儲器和豐富的片內(nèi)外設(shè),具有連接片內(nèi)外設(shè)功能的VISI外設(shè)總線、與中斷控制器接口的AMBA高性能總線和與片內(nèi)存儲器控制器接口的ARM7局部總線。

        傳統(tǒng)的LPC2000處理器更新的方式是采用仿真器和ISP下載。ISP,即In-System Programming,在線編程。具有ISP功能的單片機(jī)芯片,通過簡單的下載線,可以直接在電路板上給芯片寫入或者擦除程序,且支持在線調(diào)試。仿真器下載在工業(yè)應(yīng)用現(xiàn)場程序更新時,操作復(fù)雜、成本高。雖然ISP下載成本較低,但其更新程序的來源和操作都受到硬件的限制。

        1 IAP介紹

        IAP詳細(xì)描述為In Application Programming,是指在應(yīng)用編程中,單片機(jī)程序自身可以往程序存儲器里寫數(shù)據(jù)或修改程序,IAP是在Flash程序存儲器中的一種編程模式,是程序正在應(yīng)用過程中的編程。在產(chǎn)品運行時,對Flash的部分區(qū)域存儲進(jìn)行擦除、讀寫操作等,使其數(shù)據(jù)改變,這為數(shù)據(jù)存儲和固件的現(xiàn)場升級帶來了更大的靈活性。

        IAP技術(shù)的實現(xiàn),首先需要在產(chǎn)品上預(yù)留一個通信口,在產(chǎn)品應(yīng)用過程中,如果boot程序檢測到上位機(jī)有新的下載需求,就可以通過這個通信口將數(shù)據(jù)下載到存儲區(qū)中運行,從而實現(xiàn)固件程序的更新升級[2]。

        以Boot Loader的功能與設(shè)計過程為例,從系統(tǒng)操作角度來看,Boot Loader是先于操作系統(tǒng)內(nèi)核運行的一段程序。其主要作用在于硬件設(shè)備的初始化,即通過監(jiān)理內(nèi)存空間的映射圖,來使系統(tǒng)的軟硬件環(huán)境達(dá)到操作內(nèi)核調(diào)用的狀態(tài)[3]。

        #define iap_entry(in, out) ((void (*)())(0x7ffffff1))(in, out),in是輸入?yún)?shù),out是輸出參數(shù),調(diào)用iap_entry函數(shù)就可以實現(xiàn)存儲器扇區(qū)選擇、擦除、查空、拷貝和校驗等。

        2 功能設(shè)計

        將IAP代碼放于LPC2000系列ARM存儲器的扇區(qū)0和扇區(qū)1中,即地址0x00000000~0x00001FFF的8KB空間,作為系統(tǒng)啟動的BootLoader(啟動引導(dǎo))程序,從存儲器地址0x00002000開始存放應(yīng)用程序代碼。IAP的靈活性在于,更新程序時不需要像ISP那樣進(jìn)行跳線操作,也不需要專用軟件,數(shù)據(jù)來源也沒有限制,可以來至串口、U盤、以太網(wǎng)口等。本設(shè)計選擇的數(shù)據(jù)來源為串口。圖2為IAP升級的過程。

        BootLoader啟動代碼的分析與移植是嵌入式產(chǎn)品研發(fā)中最重要的環(huán)節(jié)之一。近年來,嵌入式技術(shù)已取得了飛速的發(fā)展,但對于其最本質(zhì)的核心部分Boot Loader的分析卻不是很多。實踐證明,BootLoader的優(yōu)越與否,對嵌入式系統(tǒng)的性能起到?jīng)Q定性的作用[4]。

        每次上電或重新啟動后,ARM都會首先運行BootLoader程序,等待PC端軟件的更新程序命令或運行原來存儲器中的程序,當(dāng)在3s鐘內(nèi)接收到0xAA 0x55數(shù)據(jù)幀時,BootLoader程序進(jìn)入等待更新程序模式,否則檢測存儲器應(yīng)用程序區(qū)是否有應(yīng)用程序,若有則運行應(yīng)用程序。當(dāng)BootLoader程序進(jìn)入更新程序模式時,首先讀取芯片的ID,然后根據(jù)芯片ID來確定芯片的程序存儲器的扇區(qū)結(jié)構(gòu),同時PC端下載軟件開始發(fā)送16進(jìn)制格式的程序文件的數(shù)據(jù)幀,程序文件的數(shù)據(jù)幀格式為以0x79做幀頭,16進(jìn)制文件的每行數(shù)據(jù)作為幀的數(shù)據(jù)部分。

        圖3是PC端下載軟件的界面,在下載時先正確設(shè)置串口,選擇起始扇區(qū)為2,其他設(shè)置默認(rèn),選擇需要下載的HEX格式文件,然后下載即可。下載有兩種模式:手動和自動模式,下載過程中,軟件狀態(tài)欄會顯示當(dāng)前操作狀態(tài)。

        需要注意的是,為了讓用戶代碼運行地址從0x00002000開始,在開發(fā)應(yīng)用程序時,將ADS的ARM Linker選項卡中RO Base設(shè)為0x00002000,在相應(yīng)的分散加載文件中修改程序加載地址為0x00002000。因為處理器要切換到Thumb指令執(zhí)行IAP代碼,需要將ARM C Compiler下的ARM/Thumb Interwoking選項勾上。另外IAP函數(shù)使用了RAM空間的高32字節(jié)空間,因此應(yīng)用程序不應(yīng)該使用該空間,應(yīng)用程序堆棧不能超過RAM頂端-32,在啟動代碼中設(shè)置如下:

        ;Build the SYS stack

        ;設(shè)置系統(tǒng)模式堆棧

        MSR CPSR_c, #0xdf

        LDR SP, =StackUsr-32 ; iap減32

        MOV PC, R0

        3 結(jié)語

        隨著ARM嵌入式技術(shù)在儀表中的應(yīng)用,人們不僅對系統(tǒng)的性能和可靠性有很高的要求,產(chǎn)品是否能升級也成為重要的指標(biāo)。本設(shè)計開發(fā)了LPC2000系列ARM的BootLoader程序和PC端下載軟件,在儀表程序的現(xiàn)場更新中得到了很好的應(yīng)用。

        參考文獻(xiàn)

        [1] 姚夢濤,杭佳,趙漢清,等.基于ARM的嵌入式軟硬件系統(tǒng)設(shè)計與實現(xiàn)[J].電子技術(shù)與軟件工程,2017(15):202.

        [2] 易前旭.基于無線IAP的工業(yè)嵌入式系統(tǒng)升級技術(shù)應(yīng)用探討[J].科技致富向?qū)В?014(24):185.

        [3] 孫李斌,趙明明.嵌入式系統(tǒng)軟件設(shè)計中ARM和Linux的核心技術(shù)分析[J].電子世界,2017(12):40.

        猜你喜歡
        嵌入式
        Focal&Naim同框發(fā)布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機(jī)
        TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
        電子制作(2019年7期)2019-04-25 13:17:14
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計
        嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
        電子制作(2018年18期)2018-11-14 01:48:16
        嵌入式PLC的設(shè)計與研究
        電子制作(2018年16期)2018-09-26 03:27:18
        搭建基于Qt的嵌入式開發(fā)平臺
        基于嵌入式系統(tǒng)Windows CE的應(yīng)用程序開發(fā)
        嵌入式單片機(jī)在電機(jī)控制系統(tǒng)中的應(yīng)用探討
        電子制作(2017年8期)2017-06-05 09:36:15
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        Altera加入嵌入式視覺聯(lián)盟
        无码少妇一级AV便在线观看| 国产av一区二区三区在线播放| 亚洲男人av天堂久久资源| 欧美性色欧美a在线播放| 天堂中文官网在线| 久久综合精品国产一区二区三区无码| 欧美俄罗斯乱妇| 成人xx免费无码| 日本一区二区三区中文字幕视频| 色哟哟精品中文字幕乱码| 男女视频网站在线观看| 亚洲av精二区三区日韩| 亚洲中文字幕一区精品自拍| 99精品一区二区三区无码吞精| 伊人久久成人成综合网222| 国产偷2018在线观看午夜| 日韩不卡无码三区| 色婷婷久久综合中文久久一本| 亚洲国产免费不卡视频| 成熟了的熟妇毛茸茸| 国产香蕉国产精品偷在线| 中文字幕日韩精品无码内射| 亚欧国产女人天堂Av在线播放 | 在线观看日韩精品视频网站| 宅男视频一区二区三区在线观看 | 极品新娘高清在线观看| 人妻少妇艳情视频中文字幕| 亚洲精品乱码久久久久蜜桃| 人妻无码一区二区视频| 男女边吃奶边做边爱视频| 一区二区三区内射视频在线观看| 亚洲视频一区二区三区免费| 人妻精品一区二区三区蜜桃| 亚洲精品成人无限看| 天天天天躁天天爱天天碰| 亚洲熟妇少妇69| 国产91AV免费播放| 亚洲av手机在线观看| 免费a级毛片高清在钱| 极品白嫩的小少妇| 亚洲av无码一区二区三区四区|