嵌入式系統(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)功能、性能等要求的不斷提高,開(kāi)發(fā)者必須能夠針對(duì)系統(tǒng)進(jìn)行升級(jí)和維護(hù),以延長(zhǎng)系統(tǒng)的使用周期,改善系統(tǒng)性能,增強(qiáng)系統(tǒng)適應(yīng)性。
嵌入式系統(tǒng)的遠(yuǎn)程更新該如何進(jìn)行?
傳統(tǒng)的嵌入式升級(jí)方式通常由維護(hù)人員到達(dá)設(shè)備現(xiàn)場(chǎng)進(jìn)行重新燒寫(xiě)系統(tǒng)或者更換Flash存儲(chǔ)部件,當(dāng)設(shè)備數(shù)量龐大并且分布范圍廣泛時(shí),這種升級(jí)維護(hù)方式的工作量將非常大,而且耗費(fèi)的時(shí)間長(zhǎng)、成本高。隨著嵌入式技術(shù)的迅速發(fā)展,嵌入式系統(tǒng)的遠(yuǎn)程升級(jí)技術(shù)得到了快速發(fā)展。參考文獻(xiàn)提出了一種基于GPRS的嵌入式系統(tǒng)軟件的遠(yuǎn)程在線升級(jí),通過(guò)GPRS網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)ARM嵌入式終端的系統(tǒng)軟件進(jìn)行在線升級(jí)。這種方法的不足在于無(wú)法實(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將檢測(cè)CF卡中的映像文件,讀取映像文件并燒寫(xiě)到目標(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),具有操作簡(jiǎ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ī)。嵌入式終端通過(guò)以太網(wǎng)連接到遠(yuǎn)程管理系統(tǒng),管理人員可以通過(guò)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í)管理人員可以通過(guò)telnet遠(yuǎn)程登錄到嵌入式終端進(jìn)行監(jiān)控和管理。當(dāng)需要對(duì)系統(tǒng)進(jìn)行更新時(shí),通過(guò)遠(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ù)。
常見(jiàn)的嵌入式操作系統(tǒng)有哪些?
DOS
微軟一開(kāi)始選用了派特森的Q-DOS “QUICK AND DISK OPERATING SYSTEM ”為基礎(chǔ)然后再擴(kuò)充功能而成 MS-DOS,主要是采用由IBM 提供的使用8088 微處理器的計(jì)算機(jī)作開(kāi)發(fā)平臺(tái),它是以16 字節(jié)單人單工操作系統(tǒng),特別適合一些功能簡(jiǎn)單裝置使用。
Windows CE
雖然微軟 Windows 系統(tǒng)已經(jīng)稱霸了 PC Desktop 環(huán)境。但是對(duì)于嵌入式系統(tǒng)這塊大餅,微軟也是垂涎已久,桌上型的 Windows 桌業(yè)系統(tǒng)對(duì)于嵌入式系統(tǒng)來(lái)說(shuō)自然是太過(guò)于肥大的產(chǎn)物,于是微軟推出精簡(jiǎn)版的 Windows CE 作為進(jìn)攻嵌入式系統(tǒng)的主力。目前主要應(yīng)用于 PDA 上頭,但是跟微軟一系列 Windows 系統(tǒng)一般,Windows CE也承襲了原有的缺點(diǎn):耗系統(tǒng)資源、不穩(wěn)定、效率不佳等等。毛病實(shí)在太多,后來(lái)將整個(gè)架構(gòu)重新改寫(xiě)后推出 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 ,是市場(chǎng)占有率最高的 PDA 操作系統(tǒng),Palm 操作系統(tǒng)架構(gòu)非常簡(jiǎn)潔,因?yàn)樯偃チ撕芏喙δ埽鐑?nèi)存管理、多任務(wù)等等,使得 Palm 可以非常不耗系統(tǒng)資源,硬件需求低,連帶的整體耗電量便可壓縮到非常低,因此采用 Palm 操作系統(tǒng)的 PDA 都有待機(jī)時(shí)間長(zhǎng)的優(yōu)點(diǎn)。
EPOC
由英國(guó)手持裝置大廠 Psion 所開(kāi)發(fā),常用于 PDA 與手機(jī)結(jié)合的場(chǎng)合。最有名的例子 Nokia 9110 系列手機(jī),它就是采用 EPOC 系統(tǒng)。
著名的嵌入式實(shí)時(shí)系統(tǒng)
實(shí)時(shí)系統(tǒng)是嵌入式系統(tǒng)里頭非常重要的一環(huán),很多人都誤以為實(shí)時(shí)系統(tǒng)執(zhí)行速度非??斓南到y(tǒng),事實(shí)上不然,所謂實(shí)時(shí)代表的意義是『實(shí)時(shí)反應(yīng)』,一般多人多任務(wù)操作系統(tǒng)如:Windows 、 UNIX ,在上面執(zhí)行的軟件都一起分享 CPU ,因?yàn)?CPU 速度快,所以我們感覺(jué)好象可以同時(shí)執(zhí)行多支軟件,其實(shí)在系統(tǒng)內(nèi)部的同一時(shí)間內(nèi)都只有一個(gè)程序在執(zhí)行,每個(gè)軟件都必須排隊(duì),而且規(guī)定只能用一小段時(shí)間后就要換下一位,但是因?yàn)?CPU 速度夠快,很快又可以被執(zhí)行到,所以人們感覺(jué)并不會(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)用多半多屬體積小、功能簡(jiǎn)單的地方,所以也算是嵌入式系統(tǒng)。 QNX 的 QNX OS 、WindRiver 的 VxWorks、Microware 的 OS9、pSOS 等等,都是有名的嵌入式實(shí)時(shí)系統(tǒng)公司。
Linux
Linux 不是都用來(lái)做服務(wù)器嗎?不然就是 Cluster,怎么會(huì)跟嵌入式系統(tǒng)扯上關(guān)系?不要懷疑,Linux 除了對(duì)伺服工作應(yīng)付自如外,嵌入式系統(tǒng)也難不倒 Linux。
那么究竟 Linux 有怎樣獨(dú)特的能耐,可以想變大就變大想縮小就縮???又用 Linux 來(lái)發(fā)展嵌入式系統(tǒng)有什么優(yōu)點(diǎn)?請(qǐng)看底下介紹。
開(kāi)放原始碼、模塊化設(shè)計(jì)
Linux 采用 GPL 授權(quán),除了把原始碼公開(kāi)以外,任何人都可以自由使用、修改、散布,而 Linux 核心本身采模塊化設(shè)計(jì),讓人很容易增減功能,例如我的平臺(tái)并不需要藍(lán)芽的功能,我只要不把這項(xiàng)功能加入,有需要就加入,不需要就刪除,由于這樣的高的彈性,我們可以調(diào)校出最適合我們硬件平臺(tái)的核心出來(lái)。
相較于 Linux ,Windows 是走封閉原始碼路線,所以我們完全無(wú)法得知或修改它的核心部份。另外因?yàn)槭遣捎?GPL 授權(quán)自然就沒(méi)有什么權(quán)利金或保密協(xié)議的約束。
穩(wěn)定性夠
Linux 不屬于任何一家公司,但是它的開(kāi)發(fā)人員卻是全世界最多的,每天在全球都有無(wú)數(shù)的人參與 Linux Kernel 的改進(jìn)、除錯(cuò)、測(cè)試,這樣嚴(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)而來(lái),因此 Linux 也承襲了 UNIX 強(qiáng)大的網(wǎng)絡(luò)功能。在這個(gè)每樣事情都講求網(wǎng)絡(luò)的時(shí)代下,只能說(shuō)是 Linux 大放異彩 的年代。未來(lái)可能家里的電冰箱、冷氣、電視機(jī)都會(huì)連上網(wǎng)絡(luò),如何增加這些家電的網(wǎng)絡(luò)功能,Linux 可以替他們辦到。
跨平臺(tái)
Linux 一開(kāi)始是基于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 作開(kāi)發(fā),就等于有更多硬件的選擇,硬件成本是商業(yè)公司考量的一大重點(diǎn),選擇多自然可以找到最合適的硬件,對(duì)于公司的競(jìng)爭(zhēng)力是有極大的幫助。
應(yīng)用軟件眾多
自由軟件世界里有個(gè)很大的特色就是軟件超級(jí)多,而且?guī)缀醵际欠?GPL 標(biāo)準(zhǔn),換句話說(shuō),大家都可以自由取用,因?yàn)檫@些軟件多半是由工程師業(yè)余空暇時(shí)間所發(fā)展,而且不以營(yíng)利為性質(zhì),所以并不能擔(dān)保這些軟件完全沒(méi)有 BUG ,但是仍舊有許多殺手級(jí)的軟件出現(xiàn),大家熟知的 KDE 與 GNOME 便是很好的證明,當(dāng)然與嵌入式系統(tǒng)較為相關(guān)如:gcc 編譯器、Kdevelop 整合式開(kāi)發(fā)環(huán)境等等。
通常我們都會(huì)先在 PC 端造出仿真出嵌入式的環(huán)境,并直接在上頭開(kāi)發(fā),因此用的工具也都與開(kāi)發(fā)一般Desktop 軟件類似,良好的工具能夠增加開(kāi)發(fā)的速度。
選擇多樣
如果公司有能力可以自己實(shí)作 Linux 嵌入式系統(tǒng),因?yàn)槌绦虼a全部都開(kāi)放在那里,您可以隨心所欲的設(shè)計(jì)出自己想要的 Embedded Linux 系統(tǒng),但是有更多的公司的業(yè)務(wù)重點(diǎn)不在于此,這時(shí)候您也可以選擇購(gòu)買商業(yè)版的 Embedded Linux 系統(tǒng),像是有名的 Redhat 公司、Lineo、MontaVista.。等等,這些都是商業(yè)的 Linux 公司,購(gòu)買他們的產(chǎn)品就可以得到完整的服務(wù)。因此商業(yè)或非商業(yè)全都在于您的需求。
自行開(kāi)發(fā)系統(tǒng)
當(dāng)然您也可以自行開(kāi)發(fā)系統(tǒng),嚴(yán)格控制硬件,但是相對(duì)的必須投注更大的成本在于研發(fā)系統(tǒng)上,原則上如果目標(biāo)簡(jiǎn)單明確只是一些基本的 I/O 控制,例如:跑馬燈。便適合自己開(kāi)發(fā),但是如果系統(tǒng)過(guò)于復(fù)雜則必須審慎評(píng)估自行研發(fā)的難度與時(shí)程的控管。
特別推薦
- AMTS 2025展位預(yù)訂正式開(kāi)啟——體驗(yàn)科技驅(qū)動(dòng)的未來(lái)汽車世界,共迎AMTS 20周年!
- 貿(mào)澤電子攜手安森美和Würth Elektronik推出新一代太陽(yáng)能和儲(chǔ)能解決方案
- 功率器件熱設(shè)計(jì)基礎(chǔ)(六)——瞬態(tài)熱測(cè)量
- 貿(mào)澤開(kāi)售Nordic Semiconductor nRF9151-DK開(kāi)發(fā)套件
- TDK推出用于可穿戴設(shè)備的薄膜功率電感器
- 日清紡微電子GNSS兩款新的射頻低噪聲放大器 (LNA) 進(jìn)入量產(chǎn)
- 中微半導(dǎo)推出高性價(jià)比觸控 MCU-CMS79FT72xB系列
技術(shù)文章更多>>
- 意法半導(dǎo)體推出首款超低功耗生物傳感器,成為眾多新型應(yīng)用的核心所在
- 是否存在有關(guān) PCB 走線電感的經(jīng)驗(yàn)法則?
- 智能電池傳感器的兩大關(guān)鍵部件: 車規(guī)級(jí)分流器以及匹配的評(píng)估板
- 功率器件熱設(shè)計(jì)基礎(chǔ)(八)——利用瞬態(tài)熱阻計(jì)算二極管浪涌電流
- AHTE 2025展位預(yù)訂正式開(kāi)啟——促進(jìn)新技術(shù)新理念應(yīng)用,共探多行業(yè)柔性解決方案
技術(shù)白皮書(shū)下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
生產(chǎn)測(cè)試
聲表諧振器
聲傳感器
濕度傳感器
石英機(jī)械表
石英石危害
時(shí)間繼電器
時(shí)鐘IC
世強(qiáng)電訊
示波器
視頻IC
視頻監(jiān)控
收發(fā)器
手機(jī)開(kāi)發(fā)
受話器
數(shù)字家庭
數(shù)字家庭
數(shù)字鎖相環(huán)
雙向可控硅
水泥電阻
絲印設(shè)備
伺服電機(jī)
速度傳感器
鎖相環(huán)
胎壓監(jiān)測(cè)
太陽(yáng)能
太陽(yáng)能電池
泰科源
鉭電容
碳膜電位器