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