1. gzyueqian
      13352868059

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

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

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

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

      l 并發

      現代工具

       

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

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

       

      1、使用no_std的裸機

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

       

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

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

       

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

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

       

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

       

      3、異步嵌入式hal

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

       

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

      開發異步嵌入式hal利用了Rust強大的異步編程特性,主要用于web和服務器應用程序,并使它們適應嵌入式系統的受限環境。這包括為SPII2CUSART等標準嵌入式接口提供異步特性。

       

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

       

      4、Embassy

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

       

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

       

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

       

      Drone OS

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

       

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

       

      結語

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

       

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

       

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

      免費預約試聽課

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

      
      

      1. 亚洲人成网站在线观看播放 | 久久精品亚洲人成影院 | 一级做片免费观看久久 | 色九九在线视频精品99 | 尹人香蕉久久99天天拍第一页 | 亚洲高清国产a在 |