日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式分享
[導(dǎo)讀]更新并不總是必要的,但是很難想出有哪些軟件沒有在某個時候發(fā)現(xiàn)的錯誤。即使您的軟件是完美的,如果設(shè)備在網(wǎng)絡(luò)上或互聯(lián)網(wǎng)上與任何開源庫進(jìn)行通信,安全更新也可能成為必需品。

一旦嵌入式Linux產(chǎn)品離開實驗室進(jìn)入現(xiàn)實世界,如何更新設(shè)備的問題將成為重要考慮。

更新并不總是必要的,但是很難想出有哪些軟件沒有在某個時候發(fā)現(xiàn)的錯誤。即使您的軟件是完美的,如果設(shè)備在網(wǎng)絡(luò)上或互聯(lián)網(wǎng)上與任何開源庫進(jìn)行通信,安全更新也可能成為必需品。

以CV-2104-01650(心出血)為例。這個漏洞影響了開放SSL密碼庫,也影響了網(wǎng)絡(luò)上三分之二的網(wǎng)站。即使在三年后的今天,還有很多嵌入式的Linux設(shè)備運(yùn)行著一個未經(jīng)防御的版本的開放式攻擊。

塊與文件更新

在討論更新Linux時,您可能會看到"塊"和"文件"更新系統(tǒng)正在被提及。這是指通過直接寫入塊設(shè)備或更新單個文件來一次更新整個分區(qū)。您可能熟悉來自臺式機(jī)或服務(wù)器Linux的文件更新系統(tǒng)(例如"Sudo應(yīng)用程序升級")。

在基于嵌入式Linux塊的升級中,由于其原子性和整個文件系統(tǒng)通常是嵌入式Linux構(gòu)建系統(tǒng)的輸出這一事實,這是前進(jìn)的道路。我們希望每個嵌入式設(shè)備上的存儲空間對于一個特定的產(chǎn)品來說是常量的,所以我們每次都創(chuàng)建相同的大小分區(qū)。這種類型的更新與具有某種備份或恢復(fù)的圖像同時進(jìn)行。

失敗時回收

我們絕不希望該設(shè)備處于無法使用的狀態(tài)(例如,如果發(fā)生斷電)。我們可以通過確保在更新過程中出現(xiàn)任何錯誤時總是有可能"退回"到另一個分區(qū)來解決這個問題。

圖1失敗時的恢復(fù)-撤退選項

上面您可以看到兩個可能的實現(xiàn),在電源中斷的情況下,一個備份模式。在左側(cè),引導(dǎo)加載程序啟動一個救援分區(qū),然后引導(dǎo)進(jìn)入一個主分區(qū)。在右側(cè),引導(dǎo)加載程序啟動基于開關(guān)的兩個分區(qū)之一。

引導(dǎo)加載程序應(yīng)該實現(xiàn)某種方法,以確定引導(dǎo)是否成功,如果沒有,則應(yīng)該返回到救援分區(qū)(左側(cè)圖)或先前的工作分區(qū)(右側(cè)圖)。

救援方法(左)允許向主分區(qū)提供更多的空間,而雙根方法(右)要求在兩個分區(qū)之間或多或少地平均分配空間。如果空間不是一個問題,那么建議使用雙根法,只是因為它會減少停機(jī)時間。通過救援方法更新需要兩次重新啟動,一次進(jìn)入救援分區(qū),另一次回到主分區(qū)。雙根文件方法只需要重新啟動一次,因為任何時候都可以執(zhí)行更新。

在這些系統(tǒng)中,您無法安全地更新的是引導(dǎo)加載程序(或者說救援分區(qū))。如果您也希望能夠更新引導(dǎo)加載程序,那么您將需要兩個獨(dú)立的引導(dǎo)加載程序分區(qū),以及某種董事會管理控制器來實現(xiàn)在這兩個程序之間切換的邏輯。

圖2故障恢復(fù)--董事會管理控制器

當(dāng)然,這是一個復(fù)雜的解決方案,需要一個額外的微控制器,一套新的固件,以及一個更復(fù)雜的硬件設(shè)計(它在一些設(shè)備中使用,例如那些包含單獨(dú)的智能平臺管理接口(IPMI)控制器的設(shè)備)。因此,您應(yīng)該致力于構(gòu)建一個功能性的引導(dǎo)加載程序,其范圍小,因此不需要更新。

U-腳環(huán)境變量

U-Boot實現(xiàn)了一個可以存儲變量的非易失性"環(huán)境"。這些數(shù)據(jù)甚至可以從Linux中訪問(根據(jù)環(huán)境存儲方式的不同,有不同的方式)。這是實現(xiàn)上述"轉(zhuǎn)換"的最明顯方式。它還可以用來存儲有關(guān)以前引導(dǎo)成功或失敗的信息,以便在引導(dǎo)失敗的情況下,可以逆轉(zhuǎn)開關(guān),恢復(fù)工作分區(qū)。

圖3u-Boot環(huán)境變量

安裝看門狗

您的處理器的硬件監(jiān)視器應(yīng)該由U-Boot(康菲-沃奇狗)安裝,然后在啟動完成后由Linux維護(hù)。這將導(dǎo)致在整個系統(tǒng)掛起的情況下重置。

檢查引導(dǎo)失敗

一旦您的任務(wù)關(guān)鍵應(yīng)用程序運(yùn)行完畢,它應(yīng)該在U-Boot環(huán)境中設(shè)置一個變量,表示已完成的引導(dǎo)。然后,U腳將能夠檢查下一個引導(dǎo)是否設(shè)置了這個設(shè)置,如果引導(dǎo)失敗(有時是在連續(xù)幾次失敗之后),則采取行動。

它的精確架構(gòu)將取決于您的應(yīng)用程序和產(chǎn)品;您將需要稍微定制一下,以適應(yīng)您的需求。您將需要確定所有可能的失敗模式,并實現(xiàn)所有這些模式的恢復(fù)。

實施更新

正如我們在更新之前所說的,應(yīng)該作為一個單獨(dú)的密碼簽名文件出現(xiàn)。私鑰簽名確保其來源于你,制造商?,F(xiàn)在系統(tǒng)只需要打開它并在其中運(yùn)行一個腳本來執(zhí)行更新本身。它將寫入將要更新的分區(qū);輕彈需要的任何開關(guān)并重新啟動。這應(yīng)該盡快發(fā)生,以盡可能減少停機(jī)時間。

確保更新

我們希望確保提供給設(shè)備的更新文件是來自我們的制造商,而不是來自其他人。為了實現(xiàn)這一點,更新文件與一個由制造商持有的私鑰簽署。相應(yīng)的公鑰是設(shè)備上的所持有的,它將驗證要求它執(zhí)行更新的任何更新文件。如果提供的文件被視為無效,那么更新將失敗。

得到更新

更新如何到達(dá)是另一回事。這里有四種可能性:

最明顯和最簡單的是,更新是由一個工程師應(yīng)用的,他在設(shè)備上有一個根登錄。他運(yùn)行更新腳本,設(shè)備被更新。這充滿了安全方面的擔(dān)憂,可能僅適用于正在開發(fā)的系統(tǒng),或在工程或工業(yè)環(huán)境中使用的系統(tǒng)。

物理介質(zhì)插入設(shè)備(USB棒),其中包含所需的更新.板上的軟件將通過輪詢守護(hù)進(jìn)程或UDEV規(guī)則自動檢測和安裝。

通過某些方法(例如Web應(yīng)用程序)將更新文件上傳到單個機(jī)器上。

如下一節(jié)所描述的,實時更新。

廣播最新消息

超空(OTA)更新通常是指通過安全通道從中央服務(wù)器上更新的設(shè)備。它一般指的是多功能設(shè)備、移動電話、汽車ECU等。在本文中,我將描述一種可以在任何連接到互聯(lián)網(wǎng)的設(shè)備上工作的更新類型,這可能是通過Wi-Fi(超廣播)、以太網(wǎng)(超銅)或其他協(xié)議。

查詢更新情況

首先要做的是檢查更新情況。在設(shè)備上運(yùn)行的守護(hù)進(jìn)程可以將請求發(fā)送到預(yù)定的服務(wù)器,提供其當(dāng)前的版本和硬件版本。然后,服務(wù)器可以根據(jù)該信息,在必要時將簽名更新文件發(fā)送到設(shè)備上進(jìn)行安裝,或者報告沒有可用的或不需要的更新。

復(fù)雜性可以在許多方面增加,從僅提供更新到基于不同標(biāo)準(zhǔn)的設(shè)備子集,到完全加密更新文件,到向中央服務(wù)器報告更新狀態(tài)或其他信息。

現(xiàn)成與內(nèi)部解決方案

有許多現(xiàn)成的更新機(jī)制可以與您的嵌入式Linux系統(tǒng)集成,而無需重新發(fā)明上述的車輪。

這可能需要花費(fèi)一些時間和努力來集成到您當(dāng)前的嵌入式Linux構(gòu)建系統(tǒng)中,但是它可能比在內(nèi)部開發(fā)定制方法的工作要少,而且它可能更健壯,因為其中一些項目已經(jīng)投入了數(shù)百小時。

你可能不希望現(xiàn)成的解決方案的原因:

你希望為你的董事會定制每個級別的東西

你可能在使用一個相對較新的,而且沒有被廣泛使用或認(rèn)可的大型代碼庫時會有安全問題。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉