1. gzyueqian
      13424082685

      每個嵌入式開發(fā)人員都需要知道的5個Rust運行時

      更新時間: 2024-05-24 10:03:12來源: 粵嵌教育瀏覽量:1291

      對更安全的邊緣軟件的需求一直在推動政府和大型企業(yè)的努力采用Rust,Rust為開發(fā)人員提供了許多好處,例如:

      l 沒有垃圾收集的內存安全

      l 并發(fā)

      現代工具

       

      當你結合所有這些優(yōu)點時,你會發(fā)現你可以編寫更安全和更高質量的軟件。雖然嵌入式開發(fā)人員可能不愿意學習Rust,但它通常被稱為零成本抽象語言,因為它快速而高效。

      讓我們探討一下使用Rust開發(fā)嵌入式軟件時可以使用的五個運行時。

       

      1、使用no_std的裸機

      就像在CC++中一樣,可以編寫裸機Rust代碼。默認情況下,Rust將包括許多運行時功能,如動態(tài)分配堆、集合、堆棧溢出保護、初始化代碼和libstd。雖然這對于桌面、移動或服務器應用程序來說很好,但對于嵌入式應用程序來說開銷很大。

       

      相反,你可以使用指令 #![no_std] 作為將禁用所有這些功能的機箱級屬性。使用no_std告訴Rust編譯器不要使用std-crate,而是使用包含libcore但沒有堆、集合、堆棧溢出保護等的裸機實現。

      no_std屬性非常適合希望以與CC++中相同的裸機形式編寫嵌入式軟件的開發(fā)人員。

       

      2、實時中斷驅動的并發(fā)性(RTIC)

      RTIC代表實時中斷驅動并發(fā),是一個專門為使用Rust編程語言構建實時嵌入式應用程序而設計的框架。RTIC主要針對裸機系統(tǒng),并利用Rust的零成本抽象和類型安全來提供一個并發(fā)執(zhí)行環(huán)境,在該環(huán)境中,任務根據其硬件中斷進行管理和優(yōu)先級排序。

       

      RTIC框架通過以最小的開銷和可預測的行為處理任務,確保應用程序滿足實時保證。RTIC特別適合要求嚴格時序約束和高可靠性的應用,例如汽車系統(tǒng)、工業(yè)自動化和其他嵌入式控制系統(tǒng)。由于Rust的所有權和類型系統(tǒng),該框架簡化了對共享資源的處理,并通過設計防止了數據競爭。

       

      3、異步嵌入式hal

      異步嵌入式halRust嵌入式hal(硬件抽象層)項目的實驗性擴展,為支持嵌入式系統(tǒng)中的異步編程而定制。它旨在彌合標準嵌入式hal通常提供的同步操作與現代嵌入式應用的需求之間的差距,后者可以從非阻塞、異步I/O操作中受益。

       

      異步嵌入式hal允許開發(fā)人員在基于微控制器的系統(tǒng)上編寫效率更高、響應速度更快的應用程序,因為在這種系統(tǒng)中,阻塞操作在功耗和性能方面代價很高。通過將async/await語義集成到HAL中,異步嵌入式hal使讀取傳感器、網絡通信或與外設交互等任務在不停止微控制器的情況下執(zhí)行成為可能。結果是提高了系統(tǒng)同時處理多個任務的能力。

      開發(fā)異步嵌入式hal利用了Rust強大的異步編程特性,主要用于web和服務器應用程序,并使它們適應嵌入式系統(tǒng)的受限環(huán)境。這包括為SPI、I2CUSART等標準嵌入式接口提供異步特性。

       

      在這種情況下,異步編程允許任務產生控制而不是阻塞,這在任務在優(yōu)先級和響應時間要求上有很大差異的系統(tǒng)中尤其有益。例如,像處理關鍵傳感器輸入這樣的高優(yōu)先級任務可以搶占像將數據記錄到存儲設備這樣的低優(yōu)先級任務。挑戰(zhàn)和創(chuàng)新在于實現這些特性,遵守嵌入式設備典型的嚴格尺寸和性能限制,同時不犧牲Rust自然提供的安全性和并發(fā)性優(yōu)勢。這種方法不僅簡化了開發(fā)過程,還提高了嵌入式應用程序的可伸縮性和可維護性。

       

      4、Embassy

      Embassy是完全在Rust中構建的嵌入式系統(tǒng)的異步運行時。它是專門為滿足嵌入式設備典型的資源受限環(huán)境的需求而設計的,利用Rust的異步/等待功能來實現高效、無阻塞的I/O操作。

       

      Embassy是希望在微控制器上實現復雜應用的開發(fā)人員的理想選擇,傳統(tǒng)的同步阻塞會導致有限計算資源的低效使用。Embassy提供了一個支持各種嵌入式平臺的框架,為嵌入式系統(tǒng)中的并發(fā)執(zhí)行提供了一種可擴展且安全的方法。該運行時利用了Rust的可預測性能特性,確保任務的執(zhí)行沒有傳統(tǒng)多任務操作系統(tǒng)的開銷。

       

      Embassy的關鍵優(yōu)勢之一是其可擴展性以及與各種設備外圍設備的輕松接口。運行時通過管理異步任務和事件來優(yōu)化功耗和處理時間,從而有助于創(chuàng)建響應迅速且可靠的應用程序。例如,開發(fā)人員可以同時處理多個通信協(xié)議,而不需要在更通用的編程環(huán)境中常見的復雜和資源密集型線程機制。

       

      Drone OS

      Drone OS是一款完全用Rust編寫的尖端嵌入式操作系統(tǒng),專門為ARM Cortex-M微控制器上的實時應用程序而設計。通過利用Rust的安全功能和零成本抽象,Drone OS為開發(fā)需要精確計時和資源效率的高性能嵌入式軟件提供了一個強大的平臺。

       

      該操作系統(tǒng)有助于低級硬件訪問,同時保持高安全性,最大限度地降低了嵌入式開發(fā)中常見的錯誤和內存錯誤風險。Drone OS以其模塊化設計和對并發(fā)編程的支持在嵌入式系統(tǒng)領域脫穎而出,使其成為尋求在現代嵌入式系統(tǒng)的苛刻環(huán)境中創(chuàng)建可擴展、可靠和可維護的實時應用程序的開發(fā)人員的理想選擇。

       

      結語

      Rust是一種令人興奮的語言,它提供了內存安全、安全性、并發(fā)性以及可用于開發(fā)嵌入式應用程序的現代工具鏈。目前,使用Rust構建嵌入式應用并不只有一種方式。我們探索了幾種不同的運行時,從更傳統(tǒng)的裸機方法到操作系統(tǒng)。

       

      如果探索這些運行時,會發(fā)現它們可以幫助想象的更快地啟動和運行。但是,不要以為它們是完整的運行時。根據的選擇,可能會發(fā)現并非所有功能都能達到的預期水平。

       

      Rust已經存在了大約十年,但它仍在不斷發(fā)展。從嵌入式的角度來看,可以用它做很多事情,但仍有許多未知因素。不要讓這阻止你學習這門豐富而令人興奮的語言。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 一区二区三区四亚洲 | 亚洲色欧美色国产综合色 | 午夜福利理论片高清在线观看 | 一本久久a久久免费精品网站 | 日本精品专区在线观看 | 色鬼97悠悠久久综合 |