最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

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

2023-08-30 11:06 作者:粵嵌科技  | 我要投稿

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

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

  微控制器(MCU)具有有限的資源,這可能會限制開發(fā)和應用的可能性。

  由于它們經(jīng)常需要更多的內(nèi)存和計算能力,因此實現(xiàn)繁重的算法和功能具有挑戰(zhàn)性。你不要在42MHz,2k RAM的MCU上運行Windows 11!開發(fā)人員需要優(yōu)化他們的應用程序,通過專門為其目標開發(fā)來消耗更少的資源。這使得代碼不靈活或不適應。同樣,你不能運行Docker或任何虛擬化系統(tǒng),因為它很重,你需要訪問真實的硬件,而不是虛擬的硬件。

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

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

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

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

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

  我們經(jīng)常看到工業(yè)版模塊化架構(gòu)的夢想,但沒有時間這樣做——特別是因為它可能會損害大量工作代碼。所以最終,模塊化架構(gòu)的想法沒有實現(xiàn)。

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

  

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

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

  這可能是一個勞動密集型且容易出錯的過程,會減慢開發(fā)周期,并使快速實現(xiàn)新功能或新技術(shù)變得非常困難。由于其復雜性,創(chuàng)建和管理系統(tǒng)可能具有挑戰(zhàn)性,因為可能需要特定的知識和經(jīng)驗來理解每個組件如何作為一個整體進行交互和運行。

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

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

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

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

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

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

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

  延遲問題

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

  

  市場需求

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

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

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

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

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

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

  通過將你的全局系統(tǒng)劃分為小代碼塊來開發(fā)你的項目,也將允許隨著時間的推移進行更好的維護。這種維護將針對系統(tǒng)的單個元件,這樣就不會改變整個系統(tǒng)的其他功能。

  總結(jié)

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

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


嵌入式開發(fā):為什么嵌入式系統(tǒng)如此落后?的評論 (共 條)

分享到微博請遵守國家法律
肃北| 博罗县| 南充市| 南阳市| 黄大仙区| 来宾市| 阿城市| 镇巴县| 镇原县| 宾阳县| 固阳县| 连山| 闽清县| 成都市| 溆浦县| 呼玛县| 廊坊市| 泾源县| 金平| 昌都县| 湖州市| 南投市| 剑河县| 信阳市| 临泉县| 新干县| 潍坊市| 永宁县| 开鲁县| 宜兰县| 伊宁市| 澄迈县| 始兴县| 广饶县| 阜康市| 台湾省| 藁城市| 红安县| 盐池县| 乳山市| 四子王旗|