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

基于LPC2000系列ARM的工業儀表IAP升級實現

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

張偉 陳月紅

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

關鍵詞:ARM 嵌入式 IAP 工業儀表

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

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

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

1 IAP介紹

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

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

以Boot Loader的功能與設計過程為例,從系統操作角度來看,Boot Loader是先于操作系統內核運行的一段程序。其主要作用在于硬件設備的初始化,即通過監理內存空間的映射圖,來使系統的軟硬件環境達到操作內核調用的狀態[3]。

#define iap_entry(in, out) ((void (*)())(0x7ffffff1))(in, out),in是輸入參數,out是輸出參數,調用iap_entry函數就可以實現存儲器扇區選擇、擦除、查空、拷貝和校驗等。

2 功能設計

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

BootLoader啟動代碼的分析與移植是嵌入式產品研發中最重要的環節之一。近年來,嵌入式技術已取得了飛速的發展,但對于其最本質的核心部分Boot Loader的分析卻不是很多。實踐證明,BootLoader的優越與否,對嵌入式系統的性能起到決定性的作用[4]。

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

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

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

;Build the SYS stack

;設置系統模式堆棧

MSR CPSR_c, #0xdf

LDR SP, =StackUsr-32 ; iap減32

MOV PC, R0

3 結語

隨著ARM嵌入式技術在儀表中的應用,人們不僅對系統的性能和可靠性有很高的要求,產品是否能升級也成為重要的指標。本設計開發了LPC2000系列ARM的BootLoader程序和PC端下載軟件,在儀表程序的現場更新中得到了很好的應用。

參考文獻

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

[2] 易前旭.基于無線IAP的工業嵌入式系統升級技術應用探討[J].科技致富向導,2014(24):185.

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

猜你喜歡
嵌入式
Focal&Naim同框發布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內核的自恢復設計
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設計與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開發平臺
基于嵌入式系統Windows CE的應用程序開發
嵌入式單片機在電機控制系統中的應用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 亚洲国产成人麻豆精品| 国产欧美日韩综合在线第一| 欧美在线视频a| 亚洲91在线精品| 免费在线a视频| 亚洲精品国产成人7777| 欧美第九页| 五月天久久婷婷| 免费又爽又刺激高潮网址 | 青草免费在线观看| 国产自视频| 四虎精品国产永久在线观看| 亚洲日韩日本中文在线| 欧美成人午夜在线全部免费| av色爱 天堂网| 97se亚洲综合不卡| 91视频青青草| 91国内在线视频| 亚洲成人一区在线| 成人永久免费A∨一级在线播放| 欧美亚洲国产一区| 欧美日韩另类国产| 精品人妻无码区在线视频| 亚洲第一天堂无码专区| 国产成人综合在线视频| 天天综合网色| 欧美在线免费| 亚洲人成在线精品| 一级成人a做片免费| 超碰免费91| 欧美h在线观看| 日韩大片免费观看视频播放| 亚洲第一成年免费网站| 在线观看国产小视频| 91青草视频| 日本欧美一二三区色视频| 亚洲人成影院午夜网站| 国产成人综合亚洲欧美在| 欧美亚洲欧美| 一区二区午夜| 男人天堂伊人网| 亚洲色图在线观看| 国产成人福利在线| 亚洲中文字幕国产av| 91精品国产丝袜| 日韩不卡免费视频| 国产一级无码不卡视频| 就去吻亚洲精品国产欧美 | 国产精品嫩草影院视频| 亚洲一欧洲中文字幕在线| 国产96在线 | 日韩精品高清自在线| 99热这里只有免费国产精品| 亚洲永久免费网站| 亚洲视频欧美不卡| 日本高清成本人视频一区| 波多野结衣在线一区二区| 欧美黄网在线| 欧美一区国产| 91在线一9|永久视频在线| 有专无码视频| 国产美女91视频| 72种姿势欧美久久久大黄蕉| 99在线观看免费视频| 国产美女久久久久不卡| 亚洲欧美日韩久久精品| 国产精品午夜电影| 多人乱p欧美在线观看| 在线va视频| 国产网站免费看| 久青草免费视频| 91小视频在线| 成人免费午间影院在线观看| 欧美性猛交一区二区三区| 成人免费午夜视频| 中文字幕欧美成人免费| 伊人福利视频| 日本中文字幕久久网站| 亚洲男人天堂久久| 色综合中文字幕| 亚洲AⅤ综合在线欧美一区| 久久香蕉国产线看观看式|