1. gzyueqian
      13352868059

      嵌入式開發:最大限度地提高物聯網項目的效率

      更新時間: 2022-02-06 10:00:00來源: 粵嵌教育瀏覽量:12814

        對于仔細閱讀最新微控制器數據表的開發人員來說,很容易假設 CPU 資源的有效使用,包括內存和時鐘周期,至多是當今硬件的一個次要問題。對于嵌入式開發人員來說,現在可能比以往任何時候都更重要的是確保他們的軟件以最高效率運行并且他們自己的時間以一種有效的方式度過。


        在現代嵌入式系統上運行的軟件往往來自多種來源。應用程序開發人員編寫的代碼通常與來自 RTOS(實時操作系統)提供商的現成軟件組件相結合,而這些組件又可能利用最初由半導體公司提供的驅動程序代碼。可以編寫每段代碼來優化效率,但本文將重點關注現成軟件組件的效率。特別是兩個組件將作為此處給出的資源效率檢查的基礎:實時內核和事務文件系統。


        實時內核:高效系統的核心


        實時內核是當今許多嵌入式系統中運行的軟件的核心。簡單來說,內核就是一個調度器;為基于內核的系統編寫應用程序代碼的開發人員將該代碼劃分為任務,內核負責調度任務。因此,內核是 main() 中無限循環的替代方案,它通常用作裸機嵌入式系統中的主要調度機制。


        使用實時內核可以帶來很多好處,包括提高效率。選擇將應用程序代碼基于內核的嵌入式開發人員可以優化系統中處理器資源的使用,同時更有效地利用自己的時間。然而,并非所有的內核都是平等的,并且由于簡單地決定為新項目采用內核而不能保證效率增益。


        內核可能不同以及 CPU 資源可以以不同程度的效率使用的關鍵領域是調度。通過提供允許任務響應事件運行的智能調度機制,內核幫助開發人員在無限循環中實現效率提升,其中任務(或函數)以固定順序執行。基于內核的應用程序的確切效率部分取決于其調度程序的實現方式。內核的調度程序——它只是一段代碼,負責決定何時運行每個任務——最終是開銷,并且這種開銷不能抵消通過遠離裸機系統可以獲得的好處。



        內核可以采用兩種方法來分配多任務所需的基本資源:分配這些資源的責任可以留給應用程序代碼,或者內核本身可以處理分配。 在任何內核中都不可避免地存在某些變量和數據結構,因為它們對于多任務服務的實現至關重要,它們完全位于內核的范圍內。 但是,對于用于記錄每個任務狀態的 TCB(或任務控制塊)等數據結構,甚至對于在上下文切換期間存儲 CPU 寄存器值的堆棧,內核提供者可以選擇內部分配或依賴應用程序代碼。


        文件系統效率


        大多數設備需要存儲數據和記錄事件的選項,或者作為傳輸到云之前的臨時休息場所,或者更永久地存儲在設備上。任何為此目的設計的代碼都是文件系統,無論是由嵌入式開發人員編寫和測試,還是作為 RTOS 解決方案的一部分提供。文件系統還可以提供提高效率的選項。這些范圍從簡單(要保留多少內存緩沖區)到復雜(是否支持完整的 POSIX 操作)。


        首先,一些 RTOS 提供類似 FAT 的文件系統。這包括使用標準媒體格式(包括文件夾和文件)執行 I/O 的代碼。通常,這不是非常可定制的,而且它很少能防止電源故障期間的數據丟失。另一種選擇是 Datalight 的 Reliance Edge,它使用事務點來提供電源故障安全環境。這里令人興奮的是設計的靈活性如何提高效率。


        Reliance Edge 提供存儲選項的自定義。 在被稱為“文件系統要點”的最小用例中,不使用文件夾甚至文件名。 數據存儲在編號的 inode 中。 這些位置的數量是在編譯時確定的,但大小不是預先確定的。 一個“文件”可以包含比其他“文件”更多的數據,并且僅當“文件”的總大小達到閾值時媒體才滿。 文件也可以自由截斷、讀取和寫入。


        除了資源使用問題之外,效率多年來一直是開發人員購買內核、文件系統和其他軟件模塊的首要考慮因素。 這是因為用于證明采用此類模塊的理由通常是從頭開始編寫等效代碼將浪費時間。 換句話說,應用程序開發人員的時間最有效地用于編寫應用程序,而不是花費數萬行基礎設施代碼。


        通過選擇優質的現成組件作為其項目的基礎,嵌入式開發團隊可以確保有效利用自己的資源以及嵌入式硬件的資源,并可以專注于編寫創新的應用程序代碼以使他們的工作站穩腳跟。

      免費預約試聽課

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

      
      

      1. 亚洲处破女aⅴ一区二区 | 一本久久综合亚洲 | 色偷偷91综合久久噜噜噜 | 先锋影音欧美在线 | 亚洲成A∨人片在线观看不卡 | 亚洲综合区第二页 |