久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 嵌入式開(kāi)發(fā):為什么嵌入式系統(tǒng)如此落后?

嵌入式開(kāi)發(fā):為什么嵌入式系統(tǒng)如此落后?

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-12-10 17:22:32 1702200152

嵌入式系統(tǒng)一直被認(rèn)為是現(xiàn)代技術(shù)的支柱,為從智能手機(jī)到汽車(chē)到家用電器的一切提供動(dòng)力。盡管嵌入式系統(tǒng)在我們的日常生活中扮演著至關(guān)重要的角色,但在代碼開(kāi)發(fā)方面,它仍然需要趕上其他技術(shù)領(lǐng)域。在本文中,我們將探討為什么會(huì)出現(xiàn)這種情況,并討論微服務(wù)理念如何幫助加速嵌入式開(kāi)發(fā)。

MCU上的資源有限,可能性有限?

微控制器(MCU)具有有限的資源,這可能會(huì)限制開(kāi)發(fā)和應(yīng)用的可能性。

由于它們經(jīng)常需要更多的內(nèi)存和計(jì)算能力,因此實(shí)現(xiàn)繁重的算法和功能具有挑戰(zhàn)性。你不要在42MHz,2kRAM的MCU上運(yùn)行Windows11!開(kāi)發(fā)人員需要優(yōu)化他們的應(yīng)用程序,通過(guò)專(zhuān)門(mén)為其目標(biāo)開(kāi)發(fā)來(lái)消耗更少的資源。這使得代碼不靈活或不適應(yīng)。同樣,你不能運(yùn)行Docker或任何虛擬化系統(tǒng),因?yàn)樗苤兀阈枰L問(wèn)真實(shí)的硬件,而不是虛擬的硬件。

因此,嵌入式系統(tǒng)可能需要特定的工具來(lái)跟上技術(shù)進(jìn)步并滿(mǎn)足用戶(hù)不斷增長(zhǎng)的需求和期望,這可能是一個(gè)很大的缺點(diǎn)。例如,隨著物聯(lián)網(wǎng)的發(fā)展和擴(kuò)大,對(duì)具有尖端連接和計(jì)算能力的嵌入式設(shè)備的需求肯定會(huì)更大。提高他們能力的一種方法是考慮制作在互聯(lián)網(wǎng)上運(yùn)行的功能,但這變得很困難,因?yàn)檫B接并不總是有保證的——你可能會(huì)失去連接,或者在某些困難的情況下被禁止。

這種系統(tǒng)臨界性使得嵌入式開(kāi)發(fā)人員更喜歡使用舊的但經(jīng)過(guò)驗(yàn)證的技術(shù),以避免可靠性意外。

隨著時(shí)間的推移,MCU上有限的資源也可能使維護(hù)和更新嵌入式系統(tǒng)變得更加困難。正因?yàn)槿绱?,我們正在?chuàng)建我們的開(kāi)源產(chǎn)品,以盡可能使用最少的系統(tǒng)資源。許多其他操作系統(tǒng)選項(xiàng),如ROS,需要更多的資源,對(duì)于目前可用的最小設(shè)備來(lái)說(shuō)是不夠的。

由超定制需求驅(qū)動(dòng)的整體理念

事實(shí)上,嵌入式系統(tǒng)經(jīng)常被創(chuàng)建為針對(duì)特定目的或任務(wù)集合進(jìn)行非常專(zhuān)業(yè)和優(yōu)化的,這是開(kāi)發(fā)如此落后的主要原因之一。這種超定制的理念導(dǎo)致一切從頭開(kāi)始重新制作,并導(dǎo)致單片代碼,因?yàn)槟愕膬?yōu)先事項(xiàng)是使某些東西工作,而不是開(kāi)發(fā)一個(gè)適應(yīng)的、可靠的、優(yōu)化的和可伸縮的代碼架構(gòu)。

我們經(jīng)??吹焦I(yè)版模塊化架構(gòu)的夢(mèng)想,但沒(méi)有時(shí)間這樣做——特別是因?yàn)樗赡軙?huì)損害大量工作代碼。所以最終,模塊化架構(gòu)的想法沒(méi)有實(shí)現(xiàn)。

這使得在不實(shí)質(zhì)性改變當(dāng)前系統(tǒng)的情況下整合新技術(shù)或新功能變得非常困難。這種設(shè)計(jì)方法導(dǎo)致缺乏模塊化和可重用性,最終減慢了開(kāi)發(fā)過(guò)程,并增加了對(duì)原始設(shè)計(jì)進(jìn)行更改時(shí)出現(xiàn)錯(cuò)誤和缺陷的可能性。加劇這一問(wèn)題的是,許多嵌入式系統(tǒng)使用專(zhuān)有的硬件和軟件,這可能會(huì)限制嵌入式開(kāi)發(fā)開(kāi)發(fā)人員對(duì)底層代碼的訪問(wèn)和控制。因此,嵌入式系統(tǒng)傾向于更慢地采用新技術(shù)。它們可能不如利用更模塊化和更靈活的方法創(chuàng)建的系統(tǒng)靈活。

組件的多樣性使整個(gè)系統(tǒng)變得復(fù)雜

這些系統(tǒng)種類(lèi)繁多是嵌入式系統(tǒng)發(fā)展緩慢的另一個(gè)原因。嵌入式系統(tǒng)有大量的硬件和軟件組件,所有這些組件在使用前都需要仔細(xì)集成和測(cè)試。復(fù)雜設(shè)備意味著多個(gè)電路板使用專(zhuān)用或定制的網(wǎng)絡(luò)交換信息,有時(shí)甚至在同一產(chǎn)品中使用多種不同的網(wǎng)絡(luò)技術(shù)。同樣,所有這些都需要進(jìn)行大規(guī)模測(cè)試。

這可能是一個(gè)勞動(dòng)密集型且容易出錯(cuò)的過(guò)程,會(huì)減慢開(kāi)發(fā)周期,并使快速實(shí)現(xiàn)新功能或新技術(shù)變得非常困難。由于其復(fù)雜性,創(chuàng)建和管理系統(tǒng)可能具有挑戰(zhàn)性,因?yàn)榭赡苄枰囟ǖ闹R(shí)和經(jīng)驗(yàn)來(lái)理解每個(gè)組件如何作為一個(gè)整體進(jìn)行交互和運(yùn)行。

對(duì)實(shí)時(shí)應(yīng)用的需求給嵌入式領(lǐng)域增加了另一層重要的復(fù)雜性。最重要的是,你不能像在正常的軟件調(diào)試過(guò)程中那樣容易地從運(yùn)行的嵌入式代碼中提取信息。事實(shí)上,同樣的人機(jī)界面在嵌入式(屏幕、鍵盤(pán)、互聯(lián)網(wǎng))中是不存在的。結(jié)果,調(diào)試和測(cè)試變得更加困難。我們看不到正在發(fā)生的事情。

像Luos這樣的方法旨在為用戶(hù)提供將系統(tǒng)活動(dòng)實(shí)時(shí)視為數(shù)字孿生的能力。你可以使用Luos創(chuàng)建實(shí)際系統(tǒng)的數(shù)字復(fù)制品,以測(cè)試和觀察任何潛在的問(wèn)題。

讓我們將微服務(wù)的愿景應(yīng)用于這些問(wèn)題

如今,嵌入式系統(tǒng)依賴(lài)于連接的子系統(tǒng)。我們稱(chēng)之為網(wǎng)絡(luò)物理系統(tǒng)(CPS)。但獨(dú)立的子系統(tǒng)并不意味著你不是單片的,你可能有不可能維護(hù)的單片子組件,也不直接與其他組件兼容。此外,為了連接整個(gè)系統(tǒng)的所有部分,嵌入式開(kāi)發(fā)人員需要?jiǎng)?chuàng)建一個(gè)經(jīng)過(guò)調(diào)整的通信系統(tǒng),這可能需要花費(fèi)大量時(shí)間才能使其可靠。你可能無(wú)法將其用于其他產(chǎn)品。

由于設(shè)計(jì)更改、產(chǎn)品可用性或任何其他外部變量,這種靈活性的缺乏導(dǎo)致許多與我們互動(dòng)的開(kāi)發(fā)人員重做他們的整個(gè)系統(tǒng)(數(shù)月的工作)。半導(dǎo)體危機(jī)是眾多僵化舉措的一個(gè)典型例子,這些舉措僅僅因?yàn)榧嫒菪詥?wèn)題而被迫戛然而止。

網(wǎng)絡(luò)物理系統(tǒng)可以利用許多緊湊、自主的服務(wù)來(lái)創(chuàng)建,這些服務(wù)由于微服務(wù)而易于組合和修改。我們必須把嵌入式系統(tǒng)看作一種產(chǎn)品,而不是一塊板。

近年來(lái),微服務(wù)哲學(xué)在軟件行業(yè)越來(lái)越受歡迎,這為解決這些同樣的問(wèn)題提供了補(bǔ)救措施。微服務(wù)將軟件應(yīng)用程序分離為可管理的、自包含的部分,這些部分可以獨(dú)立創(chuàng)建、部署和擴(kuò)展。因此,開(kāi)發(fā)人員可以輕松地添加新功能或技術(shù),而無(wú)需對(duì)當(dāng)前系統(tǒng)進(jìn)行大的調(diào)整。微服務(wù)的模塊化設(shè)計(jì)也使測(cè)試和實(shí)現(xiàn)新功能變得更簡(jiǎn)單,這有助于縮短開(kāi)發(fā)周期。但正如本文開(kāi)頭所提到的,我們不能在嵌入式世界中使用相同的工具。像Luos項(xiàng)目這樣的開(kāi)源努力正在創(chuàng)造未來(lái)所需的工具。

延遲問(wèn)題

在嵌入式系統(tǒng)中使用微服務(wù)可能存在一定的延遲問(wèn)題。在考慮微服務(wù)時(shí),開(kāi)發(fā)人員可能會(huì)想到管理各種服務(wù)之間通信的延遲?;谖⒎?wù)的系統(tǒng)將需要在服務(wù)之間進(jìn)行一種板間IPC(進(jìn)程間通信),這可能會(huì)導(dǎo)致延遲。嵌入式開(kāi)發(fā)人員可以通過(guò)測(cè)量延遲并使其對(duì)實(shí)時(shí)應(yīng)用程序具有確定性來(lái)管理延遲。通過(guò)使用時(shí)間戳,它將允許你以數(shù)學(xué)方式計(jì)算延遲。我們可以使用排隊(duì)和調(diào)度等策略來(lái)確保請(qǐng)求得到一致處理,并使延遲具有確定性。

市場(chǎng)需求

嵌入式系統(tǒng)的設(shè)計(jì)和構(gòu)建通常是為了滿(mǎn)足短期需求,但需要長(zhǎng)期維護(hù)。因此,解決某些標(biāo)準(zhǔn)可能優(yōu)先于添加可能需要一些時(shí)間才能變得必要或重要的新技術(shù)或功能。嵌入式系統(tǒng)適應(yīng)不斷變化的環(huán)境或不斷發(fā)展的需求的能力可能會(huì)受到這種對(duì)實(shí)現(xiàn)精確目標(biāo)的強(qiáng)調(diào)的阻礙。

在研發(fā)程序經(jīng)常受到限制的情況下,從長(zhǎng)遠(yuǎn)來(lái)看,考慮一個(gè)嵌入式項(xiàng)目需要更多的時(shí)間,從而需要更多的資金。因此,嵌入式系統(tǒng)可能難以跟上技術(shù)進(jìn)步??紤]使事物具有適應(yīng)性總是比在給定時(shí)間產(chǎn)生滿(mǎn)足需求的系統(tǒng)更復(fù)雜。

此外,市場(chǎng)需求可能會(huì)迫使嵌入式系統(tǒng)開(kāi)發(fā)采用同樣久經(jīng)考驗(yàn)的方法,這最終可能會(huì)使靈活性和互操作性面臨挑戰(zhàn)。

到目前為止,已有一些項(xiàng)目試圖建立一個(gè)“開(kāi)發(fā)標(biāo)準(zhǔn)”,但很少有項(xiàng)目能在受嵌入式系統(tǒng)影響的各個(gè)領(lǐng)域真正獲益。開(kāi)源哲學(xué)可以成為一種解決方案。開(kāi)源的使用保證了無(wú)論發(fā)生任何意外事件(公司崩潰或出售),你都可以長(zhǎng)期維護(hù)你的系統(tǒng)。它由嵌入式開(kāi)發(fā)人員社區(qū)維護(hù),可以更好地適應(yīng)你的需求,更新最新功能,并在開(kāi)發(fā)方面具有靈活性。

以更可持續(xù)的方式發(fā)展

通過(guò)使用更可持續(xù)的方法,嵌入式系統(tǒng)的開(kāi)發(fā)可以變得更加靈活和適應(yīng)性,以及更加有效和資源高效。這種方法意味著開(kāi)發(fā)可根據(jù)你的需求重復(fù)使用的代碼,而不僅僅是當(dāng)前的特定項(xiàng)目。這種可重用性可以應(yīng)用于系統(tǒng)中的代碼或組件,并且應(yīng)該從可重用性的角度進(jìn)行長(zhǎng)期考慮,而不僅僅是針對(duì)當(dāng)前的特定項(xiàng)目。

通過(guò)將你的全局系統(tǒng)劃分為小代碼塊來(lái)開(kāi)發(fā)你的項(xiàng)目,也將允許隨著時(shí)間的推移進(jìn)行更好的維護(hù)。這種維護(hù)將針對(duì)系統(tǒng)的單個(gè)元件,這樣就不會(huì)改變整個(gè)系統(tǒng)的其他功能。

總結(jié)

總之,由于其復(fù)雜性、專(zhuān)業(yè)性以及對(duì)專(zhuān)有硬件和軟件的依賴(lài),嵌入式系統(tǒng)在發(fā)展方面落后于其他技術(shù)領(lǐng)域。然而,通過(guò)使用微服務(wù)或數(shù)字孿生等方法來(lái)思考一種新的系統(tǒng)開(kāi)發(fā)方式,可以幫助開(kāi)發(fā)人員在日常生活中發(fā)揮作用。

利用這種微服務(wù)的理念,我們正在創(chuàng)建一個(gè)開(kāi)源項(xiàng)目,以增加嵌入式系統(tǒng)的靈活性。我們創(chuàng)建的許多工具可以幫助嵌入式開(kāi)發(fā)人員更快、更輕松地編寫(xiě)代碼。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
嵌入式培訓(xùn)課程:探索技術(shù)的無(wú)限可能

近年來(lái),嵌入式系統(tǒng)的廣泛應(yīng)用已經(jīng)深刻改變了我們的生活方式。從智能手機(jī)到智能家居,從汽車(chē)到醫(yī)療設(shè)備,嵌入式技術(shù)已經(jīng)成為現(xiàn)代社會(huì)不可或缺的...詳情>>

2023-12-12 11:02:35
嵌入式開(kāi)發(fā):Linux網(wǎng)絡(luò)編程的探索與實(shí)踐

在當(dāng)今的科技世界中,嵌入式系統(tǒng)已經(jīng)滲透到我們生活的方方面面,從智能手機(jī)、電視、汽車(chē)到醫(yī)療設(shè)備等。而在這些設(shè)備中,Linux網(wǎng)絡(luò)編程扮演著至...詳情>>

2023-12-12 09:55:55
Java游戲項(xiàng)目開(kāi)發(fā):技術(shù)概覽與實(shí)踐

在數(shù)字化世界中,游戲已經(jīng)成為了人們休閑娛樂(lè)的重要方式之一。隨著科技的不斷進(jìn)步,游戲開(kāi)發(fā)行業(yè)也在不斷發(fā)展,而Java作為一門(mén)廣泛使用的編程語(yǔ)...詳情>>

2023-12-12 08:49:15
Web前端的基石:HTML

在數(shù)字化的時(shí)代,網(wǎng)頁(yè)設(shè)計(jì)已經(jīng)成為了一個(gè)重要的領(lǐng)域。而在這個(gè)領(lǐng)域中,HTML(HyperTextMarkupLanguage)無(wú)疑是最基礎(chǔ)、最重要的一環(huán)。它是構(gòu)建...詳情>>

2023-12-12 08:15:55
嵌入式開(kāi)發(fā):內(nèi)存分配的方式

嵌入式系統(tǒng)開(kāi)發(fā)中,內(nèi)存分配是一個(gè)至關(guān)重要的話(huà)題。嵌入式系統(tǒng)通常具有有限的內(nèi)存資源,因此合理的內(nèi)存分配方式對(duì)系統(tǒng)的性能和穩(wěn)定性至關(guān)重要。...詳情>>

2023-12-12 06:35:55
快速通道