跳至內容

FreeRTOS

出自Taiwan Tongues 台語維基
這是此頁批准,以及是最近的修訂。

FreeRTOS是一个熱門的嵌入式裝置用即時作業系統核心,伊佇二空空三年因為 Richard Barry 設計的,並已經予成功徙栽去三十五種無仝的微控制台頂懸。FreeRTOS 採用 MIT 授權條款授權。

實作

FreeRTOS 的設計束結束結束結啦,規个核心程式碼三到四个 C 檔案,為著予程式碼會當閱讀、移植佮維護,大部份的程式碼攏是以 C 語言編寫,干焦一寡函式(多數是架構特定排班副程式)採用組合語言編寫。

FreeRTOS 提供真濟方法以實現多執行緒(threads)、 多作業(task)、 互斥鎖(mutex)、 號誌(semaphore)佮軟體計時器(software timer), 有一个為低了電應用程式提供的無踅踅(tick-less)模式,執行緒的優先權管理嘛有支援,此外,FreeRTOS 提供四種記持體組態的模式:

  • 干焦組態(allocate only)
  • 以非常簡單但是快速的演算法進行組態佮釋放
  • 配合記持體合併,以較複雜猶毋過快速的演算法進行組態佮釋放
  • 互相共保護,以 C 函式庫組態進行組態和釋放

FreeRTOS 中間無一寡像 Linux、Microsoft Windows 等典型的作業系統有的先進特徵,譬如講裝置驅動的程式、先進記憶體管理機制、使用者管理佮網路管理,FreeRTOS 對重在執行的簡潔佮速度,FreeRTOS 有時會去予人看做是一个『執行緒函式庫』毋是『作業系統』,就算講會當揣著命令列介面佮類似 POSIX I / O 介面的外掛程式。

FreeRTOS 實作了多執行緒,主程式會佇咧規律的短時間區間內呼叫一个執行緒時計方法,這个方法會以循環制依照任務的優先順序來進行任務切換,一般來講,這个短時間區間介於一千分之一秒佮一百分之一秒之間,透過一个硬體時計中斷來計時,但這個區間不時經過特定的應用而改變。

對 FreeRTOS 官網(FreeRTOS . org)所下載去的程式碼包含準備用來移植抑是編譯的設定檔佮演示程式碼,予使用者會當快速地來進行應用程式設計。

主要特色

  • 記持體跤跡足細,低負擔(overhead)而且執行非常的快速
  • 提供低電了應用程式無計時選擇
  • 對作業系統菜鳥仔來講,誠適合做入門教材,對專業開發者來講是適合用商業產品開發
  • 排程器會當設定做會搶頭前(preemptive)抑是共同運作(cooperative operation)
  • 提供共享的副程式(coroutine), 佇咧 FreeRTOS 中,共享副程式是一个記持的記持體疊用量是有夠有限毋過真簡單簡單的任務
  • 支援使用(generic trace macros .)

支援平台

相關系統

SafeRTOS

SafeRTOS 的功能佮 FreeRTOS 類似,毋過實現安全關鍵系統所設計。FreeRTOS 的機能模型經過完全的 HAZOP,因為其實模型佮 API 因為使用者誤用抑是硬體失效造成的弱點攏已經熟似別而且修正。最後的需求經過完整 IEC 六桱一千五百空八 SIL 三開發性命週期來實現,嘛是干焦軟體的元件會當達成的上高等級。

SafeRTOS 是由 WITTENSTEIN high integrity systems 開發,原開發者 Real Time Engineers Ltd 為其合作同伴。SafeRTOS 和 FreeRTOS 有仝款的排程演算法,相仝的 API,其他方面嘛相當是類似,毋過是因為無仝款的目標設計的。SafeRTOS 干焦用 C 語言進行開發,用符合 IEC 六桱一千五百空八的認證需求。

佇咧作業系統內面,SafeRTOS 有特別的所在,是干焦需要囥佇微處理器中的唯讀記憶體(ROM)即可,所以會當進行 IEC 六嬸一千五百空八抑是其他的安全抑是會當靠度相關的完整軟體佮硬體預認證。若囥佇咧唯讀記持體內底,SafeRTOS 代碼干焦會當按照原始的組態來執行,所以用這套作業系統的裝置的認證測試,毋免佇安全認證中重新測試其開發的程式。

德州儀器會針對其實 TI Stellaris 系列的部份 MCU 的 ROM 內底閣加上 SafeRTOS,因為按呢客戶共彼號 SafeRTOS 用佇商業應用中,毋免採購其原代碼。佇這種使用方式下,會提供一个簡單的 C 語言標頭檔將 SafeRTOS 的 API 函式對映佇咧其在 ROM 中對應位置內底。這種將 SafeRTOS 囥佇咧唯讀記持體的做法相當理想,因為其中的程式袂去予人改掉,去除了使用者的錯誤,也確保佇咧專案開發的過程,SafeRTOS 部份的程式攏佮認證的時陣的仝款。

OpenRTOS

OpenRTOS 嘛是佮 FreeRTOS 有關的專案,其代碼佮 FreeRTOS 完全仝款,毋過其授權佮收費的方式無仝。OpenRTOS 是由 WITTENSTEIN Aerospace and Simulation Ltd 提供的軟體,其授權要求愛移除了所有參考 GNU 通用公眾授權條款的內容。OpenRTOS 是商業軟體,需要買買了後才會使用,伊嘛無寫著的授權要求,買賣 OpenRTOS 客戶嘛會當得著完整的技術支援。

參見

  • 1875入式的作業系統

參考資料

外部連結

  • Official website
  • OPENRTOS
  • SAFERTOS
  • FreeRTOS + Trace
  • FreeRTOS ecosystem products
  • 成功大學 FreeRTOS