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