<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          說一說RTOS

          作者: 時(shí)間:2022-11-02 來源:硬件工程師技術(shù)干貨 收藏


          即Real-time operating system,實(shí)時(shí)操作系統(tǒng),這種操作系統(tǒng)比分時(shí)操作系統(tǒng)實(shí)時(shí)性強(qiáng),線程切換速度快,線程切換時(shí)間可控,為了保證實(shí)時(shí)性,實(shí)時(shí)操作系統(tǒng)一般都是搶占型內(nèi)核,允許高優(yōu)先級(jí)的線程搶占CPU,優(yōu)先級(jí)低的排隊(duì)執(zhí)行。普通的單片機(jī)程序只有一個(gè)while循環(huán),功能比較多的時(shí)候這個(gè)循環(huán)代碼很復(fù)雜,閱讀性差,不好維護(hù)。而可以創(chuàng)建線程,每個(gè)線程有自己的while循環(huán),功能可以模塊化設(shè)計(jì)。



          使用的優(yōu)點(diǎn)



          1、功能擴(kuò)展性好,加個(gè)功能加個(gè)線程就好了,非常方便。



          2、單片機(jī)利用率高,減少單片機(jī)空轉(zhuǎn)。



          3、可以像電腦端一樣編程,電腦程序員方便地做單片機(jī)開發(fā)。進(jìn)程間通訊,內(nèi)存管理等隨便用。



          4、代碼閱讀方便,各個(gè)線程很清晰。



          5、部分RTOS自帶各種功能模塊,比如網(wǎng)絡(luò),文件系統(tǒng),UI等模塊。選擇使用操作系統(tǒng)基本上都是因?yàn)檫@個(gè)優(yōu)點(diǎn)。



          使用RTOS的缺點(diǎn):



          1、實(shí)時(shí)性變差,有人說RTOS不就是實(shí)時(shí)操作系統(tǒng)嘛,怎么會(huì)變差呢,有了操作系統(tǒng)單片機(jī)肯定要花費(fèi)不少時(shí)間在操作系統(tǒng)上,比如線程切換是需要時(shí)間的等等。實(shí)時(shí)操作系統(tǒng)是相對(duì)非實(shí)時(shí)操作系統(tǒng)來說的。沒有操作系統(tǒng)的那個(gè)while才是最實(shí)時(shí)的。



          2、內(nèi)存開銷大,包括RAM和Flash,增加了操作系統(tǒng)代碼量就增多了,占用更多的Flash空間,每個(gè)任務(wù)棧占用了很多RAM,每個(gè)棧肯定都有些富余的,也就是有不少的棧空間是空閑的,占用了寶貴的RAM空間。



          3、出現(xiàn)BUG時(shí)不好調(diào)試,雖然大部分單片機(jī)都有在線仿真功能。因?yàn)槊總€(gè)線程都有自己的線程棧,查找起來麻煩一些。



          4、操作系統(tǒng)為了安全運(yùn)行,必須開關(guān)全局中斷,在操作系統(tǒng)里面有大量的開關(guān)全局中斷操作。全局中斷只要關(guān)閉就會(huì)對(duì)實(shí)時(shí)性有一定的影響。比如恰好關(guān)閉中斷時(shí)事件到來,這時(shí)候是不能響應(yīng)的。



          5、移植操作系統(tǒng)需要一些匯編知識(shí),稍有些難度,好在官方都有實(shí)際例子可以借鑒。



          記得09年的時(shí)候在51單片機(jī)上跑RTOS,51單片機(jī)主頻低,能跑是能跑,占用比較多資源,沒有多少空間給功能開發(fā),也就學(xué)學(xué)玩玩,實(shí)際應(yīng)用不現(xiàn)實(shí)。如果要使用RTOS還是在主頻高一些,存儲(chǔ)資源豐富的ARM上跑比較合適,比如STM32。




          關(guān)鍵詞: RTOS 嵌入式

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();