嵌入式系統(tǒng)的遠(yuǎn)程更新該如何進(jìn)行?
發(fā)布時(shí)間:2017-06-21 責(zé)任編輯:susan
【導(dǎo)讀】嵌入式系統(tǒng)在各個(gè)領(lǐng)域有著廣泛的應(yīng)用,嵌入式系統(tǒng)的維護(hù)與升級(jí)也變得日益重要。由于新技術(shù)的不斷涌現(xiàn)和對(duì)系統(tǒng)功能、性能等要求的不斷提高,開發(fā)者必須能夠針對(duì)系統(tǒng)進(jìn)行升級(jí)和維護(hù),以延長系統(tǒng)的使用周期,改善系統(tǒng)性能,增強(qiáng)系統(tǒng)適應(yīng)性。
嵌入式系統(tǒng)的遠(yuǎn)程更新該如何進(jìn)行?
傳統(tǒng)的嵌入式升級(jí)方式通常由維護(hù)人員到達(dá)設(shè)備現(xiàn)場進(jìn)行重新燒寫系統(tǒng)或者更換Flash存儲(chǔ)部件,當(dāng)設(shè)備數(shù)量龐大并且分布范圍廣泛時(shí),這種升級(jí)維護(hù)方式的工作量將非常大,而且耗費(fèi)的時(shí)間長、成本高。隨著嵌入式技術(shù)的迅速發(fā)展,嵌入式系統(tǒng)的遠(yuǎn)程升級(jí)技術(shù)得到了快速發(fā)展。參考文獻(xiàn)提出了一種基于GPRS的嵌入式系統(tǒng)軟件的遠(yuǎn)程在線升級(jí),通過GPRS網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)ARM嵌入式終端的系統(tǒng)軟件進(jìn)行在線升級(jí)。這種方法的不足在于無法實(shí)現(xiàn)系統(tǒng)本身的遠(yuǎn)程升級(jí)。參考文獻(xiàn)實(shí)現(xiàn)了一種在Bootloader中實(shí)現(xiàn)嵌入式系統(tǒng)自動(dòng)升級(jí)的方法,這種方法是將映像文件存儲(chǔ)在CF卡中,系統(tǒng)重啟時(shí)Bootloader將檢測CF卡中的映像文件,讀取映像文件并燒寫到目標(biāo)板的Flash中,實(shí)現(xiàn)升級(jí)。如果終端的數(shù)量較大且分布廣泛,采用這種方法會(huì)增加很大的工作量。
本文針對(duì)嵌入式Linux操作系統(tǒng)提出了一種新的更新機(jī)制,并且基于ARM9微處理器和NAND Flash存儲(chǔ)器,對(duì)uboot和Linux內(nèi)核進(jìn)行修改,實(shí)現(xiàn)了對(duì)嵌入式Linux系統(tǒng)的遠(yuǎn)程自動(dòng)更新。克服了傳統(tǒng)方法工作量大的缺點(diǎn),具有操作簡單、更新速度快的特點(diǎn)。
1.基本原理
1.1 總體結(jié)構(gòu)
支持遠(yuǎn)程自動(dòng)更新的嵌入式Linux系統(tǒng)機(jī)構(gòu),它可以分為嵌入式終端和遠(yuǎn)程管理系統(tǒng)兩部分。系統(tǒng)的總體結(jié)構(gòu)如圖1所示,嵌入式終端采用基于ARM9架構(gòu)的AT91RM9200微處理器,采用擴(kuò)展的32MB SDRAM,由2片16位數(shù)據(jù)寬度的SDRAM芯片HY57V281620并連而成,采用64MB NANDFla sh存儲(chǔ)芯片K9F1208,運(yùn)行嵌入式Linux系統(tǒng)。遠(yuǎn)程管理系統(tǒng)選用PC機(jī)。嵌入式終端通過以太網(wǎng)連接到遠(yuǎn)程管理系統(tǒng),管理人員可以通過telne t即可對(duì)各個(gè)嵌入式終端進(jìn)行監(jiān)控、管理和遠(yuǎn)程更新。
1.2 系統(tǒng)更新流程
本設(shè)計(jì)對(duì)uboot和Linux內(nèi)核進(jìn)行改造,使其支持YAFFS2文件系統(tǒng),對(duì)系統(tǒng)添加ftp、telnet等應(yīng)用服務(wù)。系統(tǒng)更新流程如圖2所示。系統(tǒng)正常運(yùn)行時(shí)管理人員可以通過telnet遠(yuǎn)程登錄到嵌入式終端進(jìn)行監(jiān)控和管理。當(dāng)需要對(duì)系統(tǒng)進(jìn)行更新時(shí),通過遠(yuǎn)程管理系統(tǒng)的ftp客戶端登錄到嵌入式終端,將需要更新的內(nèi)核映像和文件系統(tǒng)上傳到NAND Flash。上傳完畢后對(duì)原有的內(nèi)核映像和文件系統(tǒng)進(jìn)行備份并重啟系統(tǒng)。系統(tǒng)重啟后uboot將NAND Flash中更新后的內(nèi)核映像和文件系統(tǒng)搬運(yùn)到SDRAM中,然后跳轉(zhuǎn)到SDRAM中啟動(dòng)Linux系統(tǒng),掛載YAFFS2文件系統(tǒng),啟動(dòng)各種應(yīng)用服務(wù)。
常見的嵌入式操作系統(tǒng)有哪些?
DOS
微軟一開始選用了派特森的Q-DOS “QUICK AND DISK OPERATING SYSTEM ”為基礎(chǔ)然后再擴(kuò)充功能而成 MS-DOS,主要是采用由IBM 提供的使用8088 微處理器的計(jì)算機(jī)作開發(fā)平臺(tái),它是以16 字節(jié)單人單工操作系統(tǒng),特別適合一些功能簡單裝置使用。
Windows CE
雖然微軟 Windows 系統(tǒng)已經(jīng)稱霸了 PC Desktop 環(huán)境。但是對(duì)于嵌入式系統(tǒng)這塊大餅,微軟也是垂涎已久,桌上型的 Windows 桌業(yè)系統(tǒng)對(duì)于嵌入式系統(tǒng)來說自然是太過于肥大的產(chǎn)物,于是微軟推出精簡版的 Windows CE 作為進(jìn)攻嵌入式系統(tǒng)的主力。目前主要應(yīng)用于 PDA 上頭,但是跟微軟一系列 Windows 系統(tǒng)一般,Windows CE也承襲了原有的缺點(diǎn):耗系統(tǒng)資源、不穩(wěn)定、效率不佳等等。毛病實(shí)在太多,后來將整個(gè)架構(gòu)重新改寫后推出 Windows CE 3.0 版,或稱為 Pocket PC。改版之后的確改進(jìn)了不少缺點(diǎn)。
Windows CE 可應(yīng)用于 PDA 、WebPAD、Thin Client等等。是采用 Windows CE 為操作系統(tǒng)的 SIMPad (西門子公司所有)。
Palm
由 Palm CompuTIng 公司的嵌入式操作系統(tǒng),目前最大的應(yīng)用在 PDA ,是市場占有率最高的 PDA 操作系統(tǒng),Palm 操作系統(tǒng)架構(gòu)非常簡潔,因?yàn)樯偃チ撕芏喙δ埽鐑?nèi)存管理、多任務(wù)等等,使得 Palm 可以非常不耗系統(tǒng)資源,硬件需求低,連帶的整體耗電量便可壓縮到非常低,因此采用 Palm 操作系統(tǒng)的 PDA 都有待機(jī)時(shí)間長的優(yōu)點(diǎn)。
EPOC
由英國手持裝置大廠 Psion 所開發(fā),常用于 PDA 與手機(jī)結(jié)合的場合。最有名的例子 Nokia 9110 系列手機(jī),它就是采用 EPOC 系統(tǒng)。
著名的嵌入式實(shí)時(shí)系統(tǒng)
實(shí)時(shí)系統(tǒng)是嵌入式系統(tǒng)里頭非常重要的一環(huán),很多人都誤以為實(shí)時(shí)系統(tǒng)執(zhí)行速度非常快的系統(tǒng),事實(shí)上不然,所謂實(shí)時(shí)代表的意義是『實(shí)時(shí)反應(yīng)』,一般多人多任務(wù)操作系統(tǒng)如:Windows 、 UNIX ,在上面執(zhí)行的軟件都一起分享 CPU ,因?yàn)?CPU 速度快,所以我們感覺好象可以同時(shí)執(zhí)行多支軟件,其實(shí)在系統(tǒng)內(nèi)部的同一時(shí)間內(nèi)都只有一個(gè)程序在執(zhí)行,每個(gè)軟件都必須排隊(duì),而且規(guī)定只能用一小段時(shí)間后就要換下一位,但是因?yàn)?CPU 速度夠快,很快又可以被執(zhí)行到,所以人們感覺并不會(huì)很明顯軟件是一段一段在執(zhí)行。這是一般所謂的非實(shí)時(shí)性的操作系統(tǒng)運(yùn)作模式,而實(shí)時(shí)操作系統(tǒng)具有立即反應(yīng)而且不能讓出資源的特性,例如汽車的 ABS 煞車系統(tǒng),如果不采用能夠立即反應(yīng)的實(shí)時(shí)系統(tǒng),后果可就不堪設(shè)想。而這類的應(yīng)用多半多屬體積小、功能簡單的地方,所以也算是嵌入式系統(tǒng)。 QNX 的 QNX OS 、WindRiver 的 VxWorks、Microware 的 OS9、pSOS 等等,都是有名的嵌入式實(shí)時(shí)系統(tǒng)公司。
Linux
Linux 不是都用來做服務(wù)器嗎?不然就是 Cluster,怎么會(huì)跟嵌入式系統(tǒng)扯上關(guān)系?不要懷疑,Linux 除了對(duì)伺服工作應(yīng)付自如外,嵌入式系統(tǒng)也難不倒 Linux。
那么究竟 Linux 有怎樣獨(dú)特的能耐,可以想變大就變大想縮小就縮小?又用 Linux 來發(fā)展嵌入式系統(tǒng)有什么優(yōu)點(diǎn)?請(qǐng)看底下介紹。
開放原始碼、模塊化設(shè)計(jì)
Linux 采用 GPL 授權(quán),除了把原始碼公開以外,任何人都可以自由使用、修改、散布,而 Linux 核心本身采模塊化設(shè)計(jì),讓人很容易增減功能,例如我的平臺(tái)并不需要藍(lán)芽的功能,我只要不把這項(xiàng)功能加入,有需要就加入,不需要就刪除,由于這樣的高的彈性,我們可以調(diào)校出最適合我們硬件平臺(tái)的核心出來。
相較于 Linux ,Windows 是走封閉原始碼路線,所以我們完全無法得知或修改它的核心部份。另外因?yàn)槭遣捎?GPL 授權(quán)自然就沒有什么權(quán)利金或保密協(xié)議的約束。
穩(wěn)定性夠
Linux 不屬于任何一家公司,但是它的開發(fā)人員卻是全世界最多的,每天在全球都有無數(shù)的人參與 Linux Kernel 的改進(jìn)、除錯(cuò)、測試,這樣嚴(yán)苛的條件造就了穩(wěn)定度高的 Linux 。
就因?yàn)槿绱?,Linux 雖不是商業(yè)的產(chǎn)物但是品質(zhì)卻不遜于商業(yè)產(chǎn)品。
網(wǎng)絡(luò)功能強(qiáng)大
Linux 的架構(gòu)是參造 UNIX 系統(tǒng)而來,因此 Linux 也承襲了 UNIX 強(qiáng)大的網(wǎng)絡(luò)功能。在這個(gè)每樣事情都講求網(wǎng)絡(luò)的時(shí)代下,只能說是 Linux 大放異彩 的年代。未來可能家里的電冰箱、冷氣、電視機(jī)都會(huì)連上網(wǎng)絡(luò),如何增加這些家電的網(wǎng)絡(luò)功能,Linux 可以替他們辦到。
跨平臺(tái)
Linux 一開始是基于Intel 386 機(jī)器而設(shè)計(jì),但是隨著網(wǎng)絡(luò)的散布,各式各樣的需求涌現(xiàn),因此就有許多工程師致力于各式平臺(tái)的移植,造成了 Linux 可以在 x86、MIPS、ARM/StrongARM、PowerPC、Motorola 68k、Hitachi SH3/SH4、 Transmeta.。等等平臺(tái)上運(yùn)作的盛況。這些平臺(tái)幾乎涵蓋了所有嵌入式系統(tǒng)所需的 CPU,因此選擇 Linux 就可以把更多的硬件平臺(tái)納入考量的范圍。
嵌入式環(huán)境不如 x86 PC 那樣單純,嵌入式環(huán)境所采用的 CPU 架構(gòu)之多,使用 Linux 作開發(fā),就等于有更多硬件的選擇,硬件成本是商業(yè)公司考量的一大重點(diǎn),選擇多自然可以找到最合適的硬件,對(duì)于公司的競爭力是有極大的幫助。
應(yīng)用軟件眾多
自由軟件世界里有個(gè)很大的特色就是軟件超級(jí)多,而且?guī)缀醵际欠?GPL 標(biāo)準(zhǔn),換句話說,大家都可以自由取用,因?yàn)檫@些軟件多半是由工程師業(yè)余空暇時(shí)間所發(fā)展,而且不以營利為性質(zhì),所以并不能擔(dān)保這些軟件完全沒有 BUG ,但是仍舊有許多殺手級(jí)的軟件出現(xiàn),大家熟知的 KDE 與 GNOME 便是很好的證明,當(dāng)然與嵌入式系統(tǒng)較為相關(guān)如:gcc 編譯器、Kdevelop 整合式開發(fā)環(huán)境等等。
通常我們都會(huì)先在 PC 端造出仿真出嵌入式的環(huán)境,并直接在上頭開發(fā),因此用的工具也都與開發(fā)一般Desktop 軟件類似,良好的工具能夠增加開發(fā)的速度。
選擇多樣
如果公司有能力可以自己實(shí)作 Linux 嵌入式系統(tǒng),因?yàn)槌绦虼a全部都開放在那里,您可以隨心所欲的設(shè)計(jì)出自己想要的 Embedded Linux 系統(tǒng),但是有更多的公司的業(yè)務(wù)重點(diǎn)不在于此,這時(shí)候您也可以選擇購買商業(yè)版的 Embedded Linux 系統(tǒng),像是有名的 Redhat 公司、Lineo、MontaVista.。等等,這些都是商業(yè)的 Linux 公司,購買他們的產(chǎn)品就可以得到完整的服務(wù)。因此商業(yè)或非商業(yè)全都在于您的需求。
自行開發(fā)系統(tǒng)
當(dāng)然您也可以自行開發(fā)系統(tǒng),嚴(yán)格控制硬件,但是相對(duì)的必須投注更大的成本在于研發(fā)系統(tǒng)上,原則上如果目標(biāo)簡單明確只是一些基本的 I/O 控制,例如:跑馬燈。便適合自己開發(fā),但是如果系統(tǒng)過于復(fù)雜則必須審慎評(píng)估自行研發(fā)的難度與時(shí)程的控管。
特別推薦
- 授權(quán)代理商貿(mào)澤電子供應(yīng)Same Sky多樣化電子元器件
- 使用合適的窗口電壓監(jiān)控器優(yōu)化系統(tǒng)設(shè)計(jì)
- ADI電機(jī)運(yùn)動(dòng)控制解決方案 驅(qū)動(dòng)智能運(yùn)動(dòng)新時(shí)代
- 倍福推出采用 TwinSAFE SC 技術(shù)的 EtherCAT 端子模塊 EL3453-0090
- TDK推出新的X系列環(huán)保型SMD壓敏電阻
- Vishay 推出新款采用0102、0204和 0207封裝的精密薄膜MELF電阻
- Microchip推出新款交鑰匙電容式觸摸控制器產(chǎn)品 MTCH2120
技術(shù)文章更多>>
- 更高精度、更低噪音 GMCC美芝電子膨脹閥以創(chuàng)新?lián)屨夹袠I(yè)“制高點(diǎn)”
- 本立租完成近億元估值Pre-A輪融資,打造AI賦能的租賃服務(wù)平臺(tái)
- 中微公司成功從美國國防部中國軍事企業(yè)清單中移除
- 華邦電子白皮書:滿足歐盟無線電設(shè)備指令(RED)信息安全標(biāo)準(zhǔn)
- 功率器件熱設(shè)計(jì)基礎(chǔ)(九)——功率半導(dǎo)體模塊的熱擴(kuò)散
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
單向可控硅
刀開關(guān)
等離子顯示屏
低頻電感
低通濾波器
低音炮電路
滌綸電容
點(diǎn)膠設(shè)備
電池
電池管理系統(tǒng)
電磁蜂鳴器
電磁兼容
電磁爐危害
電動(dòng)車
電動(dòng)工具
電動(dòng)汽車
電感
電工電路
電機(jī)控制
電解電容
電纜連接器
電力電子
電力繼電器
電力線通信
電流保險(xiǎn)絲
電流表
電流傳感器
電流互感器
電路保護(hù)
電路圖