在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32嵌入式開發中的RTOS,你用過哪些?

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-09-18 16:21 ? 次閱讀

1、FreeRTOS

由于RTOS需占用一定的系統資源(尤其是RAM資源),只有μC/OS-II、embOS、salvo、FreeRTOS等少數實時操作系統能在小RAM單片機上運行。

相對于C/OS-II、 embOS等商業操作系統,FreeRTOS操作系統是完全免費的操作系統,具有源碼公開、可移植、可裁減、調度策略靈活的特點,可以方便地移植到各種單片機上運行,其最新版本為6.0版。

作為一個輕量級的操作系統,FreeRTOS提供的功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能等,可基本滿足較小系統的需要。

FreeRTOS內核支持優先級調度算法,每個任務可根據重要程度的不同被賦予一定的優先級,CPU總是讓處于就緒態的、優先級最高的任務先運行。

FreeRT0S內核同時支持輪換調度算法,系統允許不同的任務使用相同的優先級,在沒有更高優先級任務就緒的情況下,同一優先級的任務共享CPU的使用時間。

FreeRTOS的不足:相對于常見的μC/OS—II操作系統,FreeRTOS操作系統既有優點也存在不足。其不足之處, 一方面體現在系統的服務功能上,如FreeRTOS只提供了消息隊列和信號量的實現,無法以后進先出的順序向消息隊列發送消息;另一方 面,FreeRTOS只是一個操作系統內核,需外擴第三方的GUI(圖形用戶界面)、TCP/IP協議棧、FS(文件系統)等才能實現一個較復雜的系統, 不像μC/OS-II可以和μC/GUI、μC/FS、μC/TCP-IP等無縫結合。

wKgZomUD9NKAE7_VAAMiYz10eHc405.png

STM32CubeIDE中直接可以配置FreeRTOS,如上圖。STM32使用FreeRTOS的相關文章,請移步此處:使用STM32CubeMx工具,寫FreeRTOS的demo程序。

FreeRTOS資料多、生態活躍,在Cube中通過配置界面,三兩下上手這款操作系統,推薦拿來入門。

基于不同的需求,下文再介紹下其他RTOS。

2、μClinux

μClinux是一種優秀的嵌入式Linux版本,其全稱為micro-control Linux,從字面意思看是指微控制Linux。

同標準的Linux相比,μClinux的內核非常小,但是它仍然繼承了Linux操作系統的主要特性,包括良好的穩定性和移植性、強大的網絡功能、出色的文件系統支持、標準豐富的API,以及TCP/IP網絡協議等。因為沒有MMU內存管理單元,所以其多任務的實現需要一定技巧。

μClinux在結構上繼承了標準Linux的多任務實現方式,分為實時進程和普通進程,分別采用先來先服務和時間片輪轉調度,僅針對中低檔嵌入式CPU特點進行改良,且不支持內核搶占,實時性一般。

綜上可知,μClinux最大特點在于針對無MMU處理器設計,這對于沒有MMU功能的STM32F103來說是合適的,但移植此系統需要至少512KB的RAM空間,1MB的ROM/FLASH空間,而STM32F103擁有256K的FLASH,需要外接存儲器,這就增加了硬件設計的成本。

μClinux結構復雜,移植相對困難,內核也較大,其實時性也差一些,若開發的嵌入式產品注重文件系統和與網絡應用則μClinux是一個不錯的選擇。

wKgZomUD9NSAd9wjAAMrLmaZx6c078.png

3、μC/OS-II

μC/OS-II是在μC/OS的基礎上發展起來的,是用C語言編寫的一個結構小巧、搶占式的多任務實時內核。μC/OS-II能管理64個任務,并提供任務調度與管理、內存管理、任務間同步與通信、時間管理和中斷服務等功能,具有執行效率高、占用空間小、實時性能優良和擴展性強等特點。

在文件系統的支持方面,由于μC/OS-II是面向中小型嵌入式系統的,即使包含全部功能,編譯后內核也不到10 KB,所以系統本身并沒有提供對文件系統的支持。但是μC/OS-II具有良好的擴展性能,如果需要也可自行加入文件系統的內容。

在對硬件的支持上,μC/OS-II能夠支持當前流行的大部分CPU,μC/OS-II由于本身內核就很小,經過裁剪后的代碼最小可以為2KB,所需的最小數據RAM空間為4 KB,μC/OS-II的移植相對比較簡單,只需要修改與處理器相關的代碼就可以。

綜上可知,μC/OS-II是一個結構簡單、功能完備和實時性很強的嵌入式操作系統內核,針對于沒有MMU功能的CPU,它是非常合適的。它需要很少的內核代碼空間和數據存儲空間,擁有良好的實時性,良好的可擴展性能,并且是開源的,網上擁有很多的資料和實例,所以很適合向STM32F103這款CPU上移植。

wKgaomUD9NaAMDBEAAVVQrT8Bgs748.png

4、eCos

eCos(embedded Configurable operating system),即嵌入式可配置操作系統。它是一個源代碼開放的可配置、可移植、面向深度嵌入式應用的實時操作系統。

最大特點是配置靈活,采用模塊化設計,核心部分由小同的組件構成,包括內核、C語言庫和底層運行包等。

每個組件可提供大量的配置選項(實時內核也可作為可選配置),使用eCos提供的配置工具可以很方便地配置,并通過不同的配置使得eCos能夠滿足不同的嵌入式應用要求。

eCos操作系統的可配置性非常強大,用戶可以自己加入所需的文件系統。eCos操作系統同樣支持當前流行的大部分嵌入式CPU,eCos操作系統可以在16位、32位和64位等不同體系結構之間移植。

eCos由于本身內核就很小,經過裁剪后的代碼最小可以為10 KB,所需的最小數據RAM空間為10 KB。

在系統移植方面 eCos操作系統的可移植性很好,要比μC/OS-II和μClinux容易。

綜上所述,eCos最大特點是配置靈活,并且支持無MMU的CPU的移植,開源且具有很好的移植性,也比較合適于移植到STM32平臺的CPU上。但eCOS的應用還不是太廣泛,還沒有像μC/OS-II那樣普遍,并且資料也沒有μC/OS-II多。eCos適合用于一些商業級或工業級對成本敏感的嵌入式系統,例如消費電子領域中的一些應用。

5、mbed OS

開源嵌入式操作系統,ARM公司將mbed OS免費提供給所有廠商使用,mbed提供了一個相對更加系統和更加全面的智能硬件開發環境。

主要功能:

提供用于開發物聯網設備的通用操作系統基礎,以解決嵌入式設計的碎片化問題。支持所有重要的連接性與設備管理開放標準,以實現面向未來的設計。使安全可升級的邊緣設備支持新增處理能力與功能。通過自動電源管理解決復雜的能耗問題。

主要特點:

開發速度快,功能強大,安全性高,為了量產化而設計,可離線開發,也可以在網頁上編輯。

wKgaomUD9NmAG4wqAAIRbFCsMMs185.png

6、RTX

是ARM公司的一款嵌入式實時操作系統,使用標準的C結構編寫,運用RealView編譯器進行編譯。不僅僅是一個實時內核,還具備豐富的中間層組件,不但免費,而且代碼也是開放的。

主要功能:

開始和停止任務(進程),除此之外還支持進程通信,例如任務的同步、共享資源(外設或內存)的管理、任務之間消息的傳遞。開發者可以使用基本函數去開啟實時運行器,去開始和終結任務,以及去傳遞任務間的控制(輪轉調度)。開發者可以賦予任務優先級。

主要特點:

支持時間片,搶占式和合作式調度。不限制數量的任務,每個任務都具有254的優先級。不限制數量的信號量,互斥信號量,消息郵箱和軟定時器。支持多線程和線程安全操作。使用MDK基于對話框的配置向導,可以很方便的完成MDK的配置。

7、都江堰

都江堰操作系統,簡稱djyos,得名于一個偉大的水利工程:都江堰。

與傳統操作系統不同,djyos不是以線程而是以事件為調度核心,這種調度算法使程序員擺脫模擬計算機執行過程編寫程序的思維方式,而是按人類認知世界的方式編寫應用程序,就如同在嵌入式編程中引入了VC似的。

djyos的調度算法使程序員可以擺脫線程和進程的束縛,djyos沒有有關線程的api,一個完全不懂線程知識的程序員也可以順利地在djyos下編寫應用程序。

djyos 操作系統是以事件為核心進行調度的,這種調度策略使程序員可以按人類認知事物的習慣而不是計算機的習慣來編程。

wKgaomUD9NuAPmsSAAWqd7anE60098.png

8、RT-Thread

嵌入式操作系統RTOS介紹,RT-Thread是一個集實時操作系統(RTOS)內核、中間件組件和開發者社區于一體的技術平臺,由熊譜翔先生帶領并集合開源社區力量開發而成,RT-Thread也是一個組件完整豐富、高度可伸縮、簡易開發、超低功耗、高安全性的物聯網操作系統。

RT-Thread具備一個IoT OS平臺所需的所有關鍵組件,例如GUI、網絡協議棧、安全傳輸、低功耗組件等等。經過11年的累積發展,RT-Thread已經擁有一個國內最大的嵌入式開源社區,同時被廣泛應用于能源、車載、醫療、消費電子等多個行業,累積裝機量超過兩千萬臺,成為國人自主開發、國內最成熟穩定和裝機量最大的開源RTOS。

國內最有可能成為Top 1,優勢在于豐富的組件,中立立場!趕上了時機,得到諸多芯片廠商的支持,也挺受開發者喜歡的。缺點在于本身的教程文檔和freertos等之類的比還是很弱。

審核編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10902

    瀏覽量

    213006
  • 操作系統
    +關注

    關注

    37

    文章

    6892

    瀏覽量

    123742
  • STM32
    +關注

    關注

    2272

    文章

    10923

    瀏覽量

    357556
  • 嵌入式開發
    +關注

    關注

    18

    文章

    1035

    瀏覽量

    47717
  • RTOS
    +關注

    關注

    22

    文章

    819

    瀏覽量

    119887
收藏 人收藏

    評論

    相關推薦

    ThreadX-RTOS嵌入式開發

    的。ThreadX還包含了NETX、GUIX、FILEX、USBX等豐富的組件,幾乎包含了嵌入式開發的所有場景,這些組件和ThreadX-RTOS能夠完美的配合完成一條龍的開發。Th
    發表于 08-24 06:04

    淺析單片機和嵌入式開發

    對單片機和嵌入式開發的一點理解本文記錄自己學習的一些理解,只談自己的理解,歡迎討論和指正?;趩纹瑱C標準庫源碼的開發在自己做項目的過程,使用st
    發表于 11-05 09:24

    如何從單片機轉為嵌入式Linux開發

    最近很多童鞋投票并咨詢如何從單片機轉為嵌入式Linux開發??磥碜x者圈做單片機,RTOS的不少。盡管小編目前從事Linux/Android方面的
    發表于 11-22 07:08

    嵌入式開發圣經

    嵌入式系統開發圣經:嵌入式開發圣經
    發表于 03-25 13:08 ?88次下載

    基于ARM的嵌入式開發

    基于ARM的嵌入式開發:華清遠見/孫天澤基于ARM的嵌入式開發內容有:ARM簡介,基于ARM的嵌入式產品,ARM架構,基于ARM的嵌入式開發。
    發表于 10-04 08:49 ?83次下載

    嵌入式開發

    嵌入式開發就是指在嵌入式操作系統下進行開發,嵌入式Linux是以Linux為基礎的嵌入式作業系統。這里提供了
    發表于 12-20 13:21
    <b class='flag-5'>嵌入式開發</b>

    嵌入式開發入門_學嵌入式開發需要看哪些書籍

    現在嵌入式開發越來越吃香,很多人都想要學習卻不知道要從何下手。本文分析了學習嵌入式軟件開發需要具備哪些基本知識和技能,開發學習的基本步驟,并給出了各種參考資料及網站,同時小編還推薦了學
    的頭像 發表于 04-04 10:25 ?2.7w次閱讀

    嵌入式開發好學嗎_嵌入式開發職業發展方向是什么

    本文首先來了解一下嵌入式前景及薪資待遇,其次解答了嵌入式開發好學不好學的問題,最后闡述了嵌入式開發必會知識以及嵌入式開發職業的四大發展方向,具體的跟隨小編一起來了解一下。
    的頭像 發表于 05-18 16:41 ?9236次閱讀

    嵌入式開發的產品有哪些_嵌入式開發的流程

    本文主要闡述了嵌入式開發的產品,其次介紹了嵌入式開發的流程。
    發表于 08-31 15:38 ?1.1w次閱讀

    嵌入式開發(一):嵌入式開發新手入門

    本篇文章整理下嵌入式開發中一些入門的基礎技能,都是根據以往的工程經驗整理,適用于之前沒做過嵌入式開發的新手。嵌入式開發流程一般如下,一般是在PC機的Windows系統下安裝Ubuntu虛擬機,搭建
    發表于 10-14 10:58 ?79次下載
    <b class='flag-5'>嵌入式開發</b>(一):<b class='flag-5'>嵌入式開發</b>新手入門

    嵌入式開發資料免費分享

    嵌入式開發資料免費分享嵌入式工程師經驗分享:如何學習嵌入式開發截取文檔部分學習嵌入式工程師經驗分享的資料分享給大家,文檔上從、嵌入式系統的概
    發表于 10-21 11:07 ?47次下載
    <b class='flag-5'>嵌入式開發</b>資料免費分享

    python做嵌入式開發_Python和嵌入式的區別是什么?可以做嵌入式開發嗎?

    從概念上來說,嵌入式和Python的區別還是比較明顯的,嵌入式是一個開發領域,而Python則是一門編程語言。下面就來和大家說一說嵌入式和Python這兩個之間的區別。
    發表于 11-02 20:21 ?14次下載
    python做<b class='flag-5'>嵌入式開發</b>_Python和<b class='flag-5'>嵌入式</b>的區別是什么?可以做<b class='flag-5'>嵌入式開發</b>嗎?

    MicroPython 在嵌入式開發的興起

    MicroPython 在嵌入式開發的興起
    的頭像 發表于 01-04 11:17 ?1936次閱讀

    Linux系統的嵌入式開發是什么

    嵌入式開發聽起來很高大上,但其實它就在我們身邊。   嵌入式開發是指將操作系統、應用程序或數據存儲在嵌入式設備,如手機、平板電腦、智能家居等。   隨著物聯網時代的到來,
    的頭像 發表于 10-12 15:40 ?1845次閱讀

    STM32嵌入式開發RTOS用過哪些?

    嵌入式系統,有很多方式實現任務調度。功能有限的小系統,無限循環足夠實現系統功能。當軟件設計變得龐大且復雜時,設計師應該考慮使用RTOS(實時操作系統)
    的頭像 發表于 10-20 09:38 ?757次閱讀
    主站蜘蛛池模板: 五月婷六月丁香 | 国产成人精品三级在线 | 99热久久国产精品 | 欧美黑人粗暴另类多交 | 黄色毛片大全 | 人人爽天天爽夜夜爽qc | 深点再深一点好爽好多水 | 公妇乱淫日本免费观看 | 99热精品久久只有精品30 | 亚洲美国avcom | bt天堂资源在线官网bt | 精品视频在线视频 | 久久天天丁香婷婷中文字幕 | 久久夜色精品 | 亚洲天堂免费 | 手机在线免费观看视频 | avtt加勒比手机版天堂网 | 色吊丝中文字幕 | 国产精品欧美精品国产主播 | 色婷婷综合久久久中文字幕 | 精品一级毛片 | 毛片在线播放网址 | sihu国产午夜精品一区二区三区 | 欧美在线资源 | 美女骚网站| 视频免费观看网址 | 婷婷网五月天天综合天天爱 | 一级片在线免费观看 | 欧洲不卡一卡2卡三卡4卡网站 | 久久久久久91精品色婷婷 | 精品四虎免费观看国产高清 | 日韩免费一级毛片 | 免费观看的黄色网址 | 高清不卡免费一区二区三区 | 日本久久久| 天天摸天天碰成人免费视频 | 日本乱理论片免费看 | 最新版天堂中文在线官网 | 天天爱添天天爱添天天爱添 | 十三以下岁女子毛片免费播放 | 激情五月俺来也 |