• 招生咨詢熱線:4008-569-579 
  • 手機(jī)版
    用手機(jī)掃描二維碼直達(dá)商品手機(jī)版
招生咨詢熱線
4008-569-579
機(jī)構(gòu)主頁 > 培訓(xùn)資料 > 嵌入式開發(fā):如何在現(xiàn)代云時(shí)代更新物聯(lián)網(wǎng)設(shè)備
機(jī)構(gòu)主頁 > 培訓(xùn)資料>嵌入式開發(fā):如何在現(xiàn)代云時(shí)代更新物聯(lián)網(wǎng)設(shè)備

嵌入式開發(fā):如何在現(xiàn)代云時(shí)代更新物聯(lián)網(wǎng)設(shè)備

來源:廣州達(dá)內(nèi)教育        時(shí)間:2023-05-30        熱度:57℃        返回列表

  物聯(lián)網(wǎng)包括各種各樣的設(shè)備,它們都運(yùn)行不同的體系結(jié)構(gòu),并且通常專門針對(duì)手頭的特定任務(wù)進(jìn)行配置。盡管嵌入式設(shè)備世界中有很大一部分是在Linux上運(yùn)行的,但為完成這項(xiàng)任務(wù)而添加的定制軟件和系統(tǒng)可能會(huì)使維護(hù)生命周期變得復(fù)雜,從而使它們保持最新、安全和可靠。更新嵌入式Linux設(shè)備的最低要求是什么?產(chǎn)品制造商過去是如何運(yùn)行更新的,直到今天仍然是這樣?最后,我們將看一看開放源代碼技術(shù),如容器和其他現(xiàn)代工作流,在正確實(shí)施后如何極大地有利于嵌入式開發(fā)中的軟件和固件生命周期管理。


  嵌入式環(huán)境中的挑戰(zhàn)


  根據(jù)相關(guān)數(shù)據(jù)推測(cè),到2025年,全球聯(lián)網(wǎng)設(shè)備將超過557億臺(tái),其中75%連接到物聯(lián)網(wǎng)平臺(tái)。有了這么多聯(lián)網(wǎng)的物聯(lián)網(wǎng)設(shè)備,更新它們變得簡(jiǎn)單、高效、最重要的是安全,這一點(diǎn)至關(guān)重要。


  但在深入研究嵌入式設(shè)備更新所需的內(nèi)容之前,有必要仔細(xì)看看嵌入式環(huán)境是什么樣子的。與云計(jì)算或web編程不同,你在嵌入式世界中的環(huán)境受到嚴(yán)格控制,有許多限制。


  設(shè)備通常位于難以到達(dá)的位置


  通常情況下,消費(fèi)者和其他你甚至沒有想到的設(shè)備都位于偏遠(yuǎn)且難以到達(dá)的位置。如果你想到wifi路由器和其他難以獲得的設(shè)備,它們不可能總是以可控的方式更新。


  網(wǎng)絡(luò)連接可能會(huì)有所不同


  連接可能是斷斷續(xù)續(xù)的,可能是通過4G連接,或者比這更慢的連接。你可能有也可能沒有安全的連接,特別是當(dāng)你通過公共網(wǎng)絡(luò)時(shí)。




  產(chǎn)品壽命可延長(zhǎng)至10年以上


  嵌入式開發(fā)領(lǐng)域中的產(chǎn)品壽命差異很大。一些市場(chǎng),如汽車,可以保持相同的硬件五到十年,而家用電器,它可以是原來的兩倍。但在消費(fèi)電子領(lǐng)域,產(chǎn)品的使用壽命更像是6到12個(gè)月,因此種類繁多。


  電力并非總是有保障的


  必須解決電力問題,特別是在客戶不是企業(yè)的消費(fèi)者服務(wù)提供商(CSP)的情況下。許多消費(fèi)類設(shè)備都使用電池供電,即使沒有,也不能保證設(shè)備所有者在任何特定時(shí)刻都不會(huì)拔下電源。你必須能夠處理可能具有間歇性電源的設(shè)備。


  嵌入式Linux系統(tǒng)上更新了什么?


  大多數(shù)嵌入式設(shè)備都是單用途設(shè)計(jì),其構(gòu)造目的是為了更好地執(zhí)行一件事情。由于這種高度的專門化,Linux發(fā)行版通常是完全精簡(jiǎn)的。當(dāng)涉及到安全和其他維護(hù)更新時(shí),以下是需要在嵌入式Linux設(shè)備上更新的基本組件:


  Board Support

Package(BSP):這通常由你使用的系統(tǒng)芯片制造商提供,它包含為設(shè)備中使用的目標(biāo)板提供基本Linux內(nèi)核支持的代碼庫。嵌入式開發(fā)人員通??梢宰远x這些內(nèi)容,有時(shí)還需要更新。


  Bootloader :這是設(shè)備通電后運(yùn)行的第一個(gè)組件。它初始化了主板并啟動(dòng)了Linux內(nèi)核。


  Linux

Kernel:Linux發(fā)行版的核心,包括你想要運(yùn)行的應(yīng)用程序的任何專用模塊和特定驅(qū)動(dòng)程序。這通常是一個(gè)需要半定期更新的組件。


  根文件系統(tǒng):這是保持系統(tǒng)運(yùn)行的基本系統(tǒng)庫和其他實(shí)用程序和腳本所在的位置。這些文件中的大多數(shù)都需要更新和升級(jí)。


  系統(tǒng)應(yīng)用程序和包:這是你的應(yīng)用程序所在的用戶區(qū)。在這里,你需要更新功能,偶爾修復(fù)bug。




  傳統(tǒng)嵌入式發(fā)行版更新


  更新嵌入式系統(tǒng)通常需要完全重建操作系統(tǒng)以保護(hù)設(shè)備。根據(jù)你使用的Linux發(fā)行版的不同,可以逐個(gè)文件、逐個(gè)包或以一層一層更可移植的方式手動(dòng)完成。一旦嵌入式開發(fā)人員添加了修復(fù)和升級(jí),然后重新構(gòu)建并測(cè)試了操作系統(tǒng),你就可以從空中傳送(OTA)設(shè)備更新系統(tǒng)將其部署回設(shè)備。


  “重建整個(gè)操作系統(tǒng)”方法的一個(gè)大問題是,現(xiàn)在你可能有1000臺(tái)設(shè)備,其中許多設(shè)備都有定制的配置和定制的發(fā)行版,帶有精選的軟件包和模塊,甚至是偏離原始電路板設(shè)計(jì)的高度專業(yè)化的電路板支持軟件包。單獨(dú)或甚至在較小的設(shè)備組中更新所有這些是一個(gè)耗時(shí)且容易出錯(cuò)的過程。


  用容器更新嵌入式系統(tǒng)


  如果你可以將整個(gè)操作系統(tǒng)和系統(tǒng)想象為一組模塊化的容器化不可變構(gòu)建塊,你可以完全控制這些構(gòu)建塊,會(huì)怎么樣?使用容器,可以將系統(tǒng)粒度保持在第三方可以將組件作為完全工作單元交付的水平,如果操作正確,這些組件之間的相互依賴性將非常小。


  一個(gè)完全容器化的系統(tǒng)包括以下容器:Linux內(nèi)核、任何中間件包以及用戶區(qū)。此級(jí)別的容器化為你提供了一個(gè)完全模塊化的系統(tǒng),如果需要,可以跨數(shù)百萬臺(tái)設(shè)備進(jìn)行更靈活和獨(dú)立的更新,這將大大提高嵌入式開發(fā)效率。

電話咨詢

電話咨詢

咨詢電話:
4008-569-579
回到頂部

回到頂部