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加入嵌入式視覺聯盟
主站蜘蛛池模板: 国产欧美视频在线| 亚洲日本中文字幕乱码中文| 99热6这里只有精品| 天天操精品| 1024你懂的国产精品| 国产在线观看第二页| 精品超清无码视频在线观看| 四虎AV麻豆| AV色爱天堂网| 四虎国产永久在线观看| 国产一区二区三区精品久久呦| 久久国产乱子伦视频无卡顿| 一级高清毛片免费a级高清毛片| 久久精品无码中文字幕| www.91在线播放| 91www在线观看| 国产无遮挡猛进猛出免费软件| 欧美色图久久| 国产网友愉拍精品视频| 亚洲美女一区| 中文字幕久久波多野结衣| 日韩免费无码人妻系列| 国内精品久久九九国产精品| 色综合天天视频在线观看| 亚洲嫩模喷白浆| 高清免费毛片| 色香蕉网站| 色男人的天堂久久综合| 99999久久久久久亚洲| 国产麻豆精品在线观看| 99九九成人免费视频精品| 欧美一区二区人人喊爽| 国产91熟女高潮一区二区| 久久99热66这里只有精品一| 99在线国产| 国产福利小视频高清在线观看| 性欧美久久| 亚洲精品无码成人片在线观看| 亚洲一区二区三区香蕉| 美女无遮挡被啪啪到高潮免费| 国产91在线免费视频| 丁香五月激情图片| 精品久久久久无码| 国产精品女主播| 手机在线免费毛片| 男女精品视频| 欧美自慰一级看片免费| 狠狠色综合久久狠狠色综合| 久久亚洲日本不卡一区二区| 狠狠亚洲婷婷综合色香| 亚洲一区免费看| 亚洲天堂久久久| 毛片网站在线看| 99视频国产精品| 国产女人在线| 国产精品综合色区在线观看| 国产精品无码翘臀在线看纯欲| 国产毛片基地| 日韩精品毛片| 毛片免费视频| 久久久久久久蜜桃| 久久动漫精品| 四虎国产精品永久一区| 日韩大片免费观看视频播放| 啊嗯不日本网站| 亚洲天堂网2014| 在线观看国产精品一区| 免费jizz在线播放| 中文字幕第1页在线播| 亚洲热线99精品视频| 五月婷婷综合在线视频| 亚洲伊人久久精品影院| 伊在人亚洲香蕉精品播放| 色色中文字幕| 成人免费黄色小视频| 国产精品成人啪精品视频| 色婷婷啪啪| 永久免费精品视频| 综合色区亚洲熟妇在线| 精品国产免费第一区二区三区日韩| www.狠狠| 午夜福利无码一区二区|