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