新聞中心

        說一說RTOS

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


        即Real-time operating system,實時操作系統,這種操作系統比分時操作系統實時性強,線程切換速度快,線程切換時間可控,為了保證實時性,實時操作系統一般都是搶占型內核,允許高優先級的線程搶占CPU,優先級低的排隊執行。普通的單片機程序只有一個while循環,功能比較多的時候這個循環代碼很復雜,閱讀性差,不好維護。而可以創建線程,每個線程有自己的while循環,功能可以模塊化設計。



        使用的優點



        1、功能擴展性好,加個功能加個線程就好了,非常方便。



        2、單片機利用率高,減少單片機空轉。



        3、可以像電腦端一樣編程,電腦程序員方便地做單片機開發。進程間通訊,內存管理等隨便用。



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



        5、部分RTOS自帶各種功能模塊,比如網絡,文件系統,UI等模塊。選擇使用操作系統基本上都是因為這個優點。



        使用RTOS的缺點:



        1、實時性變差,有人說RTOS不就是實時操作系統嘛,怎么會變差呢,有了操作系統單片機肯定要花費不少時間在操作系統上,比如線程切換是需要時間的等等。實時操作系統是相對非實時操作系統來說的。沒有操作系統的那個while才是最實時的。



        2、內存開銷大,包括RAM和Flash,增加了操作系統代碼量就增多了,占用更多的Flash空間,每個任務棧占用了很多RAM,每個??隙ǘ加行└挥嗟?,也就是有不少的??臻g是空閑的,占用了寶貴的RAM空間。



        3、出現BUG時不好調試,雖然大部分單片機都有在線仿真功能。因為每個線程都有自己的線程棧,查找起來麻煩一些。



        4、操作系統為了安全運行,必須開關全局中斷,在操作系統里面有大量的開關全局中斷操作。全局中斷只要關閉就會對實時性有一定的影響。比如恰好關閉中斷時事件到來,這時候是不能響應的。



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



        記得09年的時候在51單片機上跑RTOS,51單片機主頻低,能跑是能跑,占用比較多資源,沒有多少空間給功能開發,也就學學玩玩,實際應用不現實。如果要使用RTOS還是在主頻高一些,存儲資源豐富的ARM上跑比較合適,比如STM32。




        關鍵詞: RTOS 嵌入式

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 玉山县| 柳江县| 海宁市| 金乡县| 寿阳县| 疏勒县| 沂源县| 绥棱县| 美姑县| 阿坝| 和平区| 旅游| 修文县| 黎城县| 邳州市| 罗源县| 永泰县| 黄龙县| 门头沟区| 阿瓦提县| 宁陕县| 西平县| 邹城市| 新巴尔虎左旗| 雷山县| 凤冈县| 微山县| 宝坻区| 永川市| 陈巴尔虎旗| 普兰店市| 马龙县| 射阳县| 民县| 栾城县| 岱山县| 沾益县| 马公市| 凉城县| 抚松县| 满洲里市|