嵌入式開發人員通常習慣于裸機編程,或者對使用實時操作系統(RTOS)有所保留。這里談談RTOS的作用,以及為什么應該考慮使用它們。
現今的產品開發周期變得越來越復雜。開發時間越來越短,但所需功能集日益擴展,使得繁忙的開發人員需要千方百計在更短的時間內完成更多工作。通常,使用RTOS可以提高任務管理和資源共享的效率。
什么是實時操作系統(RTOS)
簡而言之,RTOS是一款旨在有效管理中央處理器(CPU)時間的軟件。當時間是應用的重點時,這對于嵌入式系統尤為重要。
Windows等操作系統與嵌入式系統中常用的RTOS的主要區別,在于對外部事件的響應時間。Windows等普通OS提供對事件的不確定性響應,即使試圖保持響應速度也無法保證何時處理事件。使得用戶認為操作系統響應靈敏,比處理基礎任務更為重要。另一方面,RTOS則提供了實時響應和高度確定性的反應。
習慣使用Windows或Linux等操作系統的開發人員將會非常熟悉嵌入式RTOS的特性。它們經設計在內存有限的系統中運行,并且可以無限期運行而無需重置。
由于RTOS旨在快速響應事件并在重負載下執行,RTOS在執行大型任務時可能會較其他OS慢。
RTOS調度
RTOS的價值在于很高的響應速度,而高級調度算法是其中的關鍵組件。 嵌入式系統的時間要求各有不同,從軟實時洗衣機控制系統到硬實時飛機安全系統等等。在后者的情況下,只有能夠準確預測OS調度程序的行為,才能滿足實時要求的基礎需求。 許多操作系統給人以一次執行多個程序的印象,但是這種多任務處理其實只是一種錯覺。單個處理器內核在任一時間只能運行單個執行線程。操作系統的調度程序決定何時運行哪個程序或線程。通過在線程之間快速切換,它帶來了同時執行多項任務的錯覺。 靈活的RTOS調度程序允許采用廣泛的方法來處理優先級,盡管RTOS通常主要用于非常狹窄的應用程序集。RTOS調度程序應提供最小的中斷延遲和最小的線程切換開銷。這是使得RTOS與重視時間的嵌入式系統如此密切相關的原因。
在嵌入式設計中使用RTOS
許多嵌入式設計編程人員避免使用RTOS,因為他們懷疑RTOS給其應用程序增加了太多的復雜性,或者RTOS其實是一個未知的領域。RTOS通常需要最多占用5%的CPU資源來執行其任務。盡管總會有一些資源上的損失,但RTOS可以在簡化的確定性,通過硬件抽象的易用性,減少的開發時間以及更便利的調試等等方面彌補這一不足。 使用RTOS意味著你可以同時運行多項任務,并在需要時引入基本的連接性、隱私、安全性等。RTOS允許針對項目的特定需求創建優化的解決方案。
推出Zephyr RTOS
這有許多RTOS解決方案,Nordic世界的許多開發人員都專注于開發低功耗嵌入式系統。如果是這樣,我們建議查看Zephyr,它非常適合要求超低功耗的連接解決方案。 模塊化的Zephyr RTOS支持多種架構,因此開發人員可以輕松定制解決方案以滿足其需求。 Zephyr是真正的開源解決方案。某些聲稱是開源的RTOS其實是由私人企業推動的,而Zephyr則由Linux基金會管理,因此是開源協作方案。Nordic代表擔任委員會和工作組成員,他們與來自其他大型和小型企業的代表一起工作。 額外的好處到目前為止,RTOS的確定性調度功能已經成為焦點。此外,諸如Zephyr之類的RTOS還具有其他有用的功能。
Zephyr帶有功能強大的日志記錄系統,能夠輸出到多個后端,例如UART或RTT。日志具有不同的優先級,帶有時間戳,并且可以按照模塊或關鍵性級別輕松過濾。
Zephyr還有許多簡化調試的工具,例如CPU使用率監控器、堆棧標記、錯誤處理程序以及對PC工具的支持,這些工具可讓戶查看線程的執行和調度。
當然,Zephyr還支持成熟的OS功能,例如互斥鎖、內存分配服務以及保護、線程同步和數據傳遞。當然,擁有一系列用于組件選擇的現成驅動程序也是很棒的功能。它使得開發人員可以專注于手頭的應用程序,而不必制作和測試低級驅動程序。
經過一些適應之后,我相信大多數嵌入式開發人員將更喜歡使用RTOS而不是裸機編程。
-
控制系統
+關注
關注
41文章
6739瀏覽量
111594 -
嵌入式開發
+關注
關注
18文章
1063瀏覽量
48319 -
RTOS
+關注
關注
24文章
836瀏覽量
120555
原文標題:【媒體報道】面向嵌入式開發人員的實時操作系統RTOS
文章出處:【微信號:nordicsemi,微信公眾號:Nordic半導體】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
為您的 Raspberry Pi 項目選擇正確的實時操作系統(RTOS)

實時操作系統RTOS選型指南及實例分析
鴻道Intewell操作系統:賦能高端裝備制造,引領國產數控系統邁向新高度
ARM嵌入式實時操作系統比較
使用任務通知提高RTOS應用的效率
linux是實時系統還是分時操作系統
ARM開發板上的實時操作系統介紹
基于恩智浦FRDM-MCXA153開發板實現RT-Thread的GPIO驅動

深入解析Zephyr RTOS的技術細節

鴻道Intewell實時操作系統MIPS架構生態:龍芯2K1000

RTOS的特性和類型
工業實時操作系統對比:鴻道Intewell跟rt-linux有啥區別

實時操作系統之RT-Thread及FreeRTOS

RT-Thread 操作系統應用開發線上師資培訓通知

評論