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

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

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

3天內不再提示

MCU是選擇跑裸機,還是跑RTOS?

jf_EksNQtU6 ? 來源:硬件十萬個為什么 ? 2024-01-15 10:29 ? 次閱讀

MCU(Microcontroller Unit)和SoC(System on a Chip)是兩種不同的嵌入式系統,它們通常運行不同類型的操作系統,具體取決于其應用場景和硬件資源。

1、MCU(Microcontroller Unit):

類型:MCU是一種單一芯片集成了處理器核心、內存、外設和其他基本功能的微控制器

應用場景:常用于簡單、實時性要求較高的嵌入式系統,例如傳感器控制、嵌入式設備等。

操作系統:多數情況下,MCU并不運行傳統的操作系統,而是使用實時操作系統(RTOS)或裸機編程。RTOS可以提供實時性、輕量級的任務調度和事件處理。

2、SoC(System on a Chip):

類型:SoC是集成了處理器核心、內存、外設以及可能的其他處理單元(如GPUDSP等)的復雜芯片。

應用場景:通常用于更復雜、多用途的嵌入式系統,例如智能手機、嵌入式計算機、嵌入式系統-on-a-chip等。

操作系統:SoC可以運行更復雜的操作系統,包括LinuxAndroidFreeRTOS等。具體選擇取決于應用需求和硬件資源。在一些資源有限的情況下,也可以選擇裸機編程或輕量級RTOS。

總的來說,MCU更傾向于在實時性要求高、資源有限的場景下使用RTOS或者裸機編程,而SoC則具有更大的靈活性,可以運行更復雜的操作系統,適用于多用途的嵌入式應用。選擇操作系統的決策通常由具體的應用需求和硬件資源決定。

01MCU是選擇跑裸機,還是跑RTOS?

選擇MCU跑裸機(Bare-Metal)還是跑RTOS(Real-Time Operating System)取決于具體的應用需求和項目要求。每種選擇都有其優勢和適用場景。

裸機編程:

資源效率:裸機編程通常更輕量級,不需要額外的操作系統開銷,因此在資源有限的嵌入式系統中可能更為合適。

實時性:對于對實時性要求極高的應用,裸機編程可以提供更精確的控制,因為沒有額外的任務調度和中斷延遲。

簡單性:裸機編程相對簡單,沒有操作系統的復雜性,適合一些簡單的控制應用,如傳感器控制、定時器應用等。

RTOS:

多任務處理:如果應用需要同時處理多個任務,RTOS提供了任務調度和管理機制,簡化了多任務并發處理。

抽象層:RTOS提供了抽象層,簡化了開發者對底層硬件的操作,提高了代碼的可移植性。

易維護性:RTOS可以提高代碼的可維護性,通過任務劃分和模塊化設計,更容易理解和調試。

時間管理:對于需要精確的時間管理和處理的應用,RTOS可以提供更可靠的時間管理和調度。

選擇的考慮因素:

應用需求:確定應用的性質和需求,如果是簡單的、實時性要求高的控制任務,裸機編程可能足夠。如果需要處理多個任務或復雜的控制邏輯,RTOS可能更合適。

資源限制:考慮硬件資源的限制,如果MCU資源非常有限,裸機編程可能更為合適。如果有足夠的資源,并且希望簡化開發流程,RTOS可能是一個好的選擇。

開發經驗:開發者對裸機編程或RTOS的經驗也是考慮的因素。對于有經驗的開發者,裸機編程可能更容易上手;而對于復雜的項目,RTOS提供了更高層次的抽象,可能更容易管理。

最終的選擇應該根據具體項目的需求、開發者的技能水平以及硬件資源等因素進行權衡。在一些項目中,也可以結合裸機編程和RTOS的方式,根據具體任務的需求選擇合適的策略。

很多剛畢業進入職場的同學,由于在學校一直開發裸機,所以對RTOS有一點畏懼。其實選擇FreeRTOS這樣的輕量級的RTOS,給你提供了一些“武器”,對于復雜功能的開發,開發難度其實是降低的。

02為什么大多數SoC選擇Linux作為操作系統

大多數SoC選擇Linux作為操作系統的原因有多個,其中一些關鍵因素包括:

廣泛的支持:Linux是一個開源操作系統,得到了全球廣泛的支持和社區參與。這使得大多數SoC供應商都能夠輕松地為其硬件提供Linux內核和相關驅動程序。

豐富的軟件生態系統:Linux擁有龐大而豐富的軟件生態系統,包括開源工具、庫、應用程序等。這使得開發者能夠更容易地訪問和利用各種現有的軟件資源,從而加速應用程序的開發過程。

多用戶支持:Linux是一個多用戶、多任務的操作系統,適用于需要支持多個用戶同時運行多個任務的嵌入式應用場景。這對于一些復雜的SoC,如智能手機、嵌入式計算機等來說是非常重要的特性。

強大的網絡支持:Linux內核支持豐富的網絡協議和功能,適用于需要網絡連接的嵌入式系統。這對于連接互聯網、進行遠程管理和數據傳輸的應用非常重要。

開放源代碼:Linux的開放源代碼模型使得SoC制造商可以根據自己的需求進行定制和優化。這種開放性有助于適應各種硬件架構和滿足不同市場需求。

穩定性和可靠性:Linux經過長時間的發展和測試,已經變得非常穩定和可靠。這對于一些對系統穩定性要求較高的應用場景是至關重要的。

社區支持和更新:Linux有龐大的社區支持,新的內核版本和補丁定期發布,這意味著SoC制造商和開發者可以獲得最新的功能、安全性和性能優化。

綜合這些因素,Linux成為了許多SoC的首選操作系統,特別是在需要處理較為復雜的任務、具備豐富的軟硬件生態系統、要求網絡連接和多用戶支持的場景下。然而,也有一些資源有限或對實時性要求較高的應用場景,可能會選擇其他操作系統、包括安卓或者RTOS。

還有些芯片,主要針對的就是Linux系統的外設,不考慮MCU的外設的場景。比如一些高通的wifi芯片,只支持linux的驅動移植。所以你在沒有芯片廠家支持的前提下,是沒法把它用在非linux的情況的。

03關于RT-Linux

RT-Linux是一個基于Linux內核的實時操作系統(RTOS),它通過對Linux內核的修改和擴展,使其具備實時性能。RT-Linux的目標是在維持Linux的通用性和強大性的同時,提供對實時任務的支持,使得它可以在需要高實時性的應用中使用。

以下是RT-Linux的一些主要特點和介紹:

實時性:RT-Linux致力于提供可預測、可控的實時性能。通過引入實時調度器和中斷處理機制,它能夠確保任務在指定的時間內得到執行,滿足實時系統的需求。

Linux內核擴展:RT-Linux是在Linux內核的基礎上進行擴展和修改而來的。它保留了Linux的通用性和豐富的功能,同時增加了實時任務調度器、硬實時中斷等實時特性。

實時調度器:RT-Linux引入了實時調度器,允許任務按照優先級和截止時間進行調度。這有助于確保實時任務按時執行,而不受非實時任務的干擾。

硬實時中斷:RT-Linux提供了硬實時中斷機制,以確保對于一些對時間敏感的任務,能夠以極低的延遲進行響應。

POSIX兼容性:RT-Linux保持了對POSIX標準的兼容性,這使得它與許多現有的實時應用程序和開發工具更加兼容。

開源:RT-Linux是開源軟件,基于GPL許可證發布。這使得開發者可以自由訪問、修改和分發源代碼。

適用范圍:RT-Linux適用于需要Linux通用性和實時性能的應用,如工控系統、嵌入式控制系統通信系統等。

RT-Linux有幾個主要的版本,其中一些較為知名的版本包括:

RTLinux/GPL:最早的RT-Linux版本,由RTLinux公司(現為Wind River Systems)開發。RTLinux/GPL是一個實時擴展模塊,通過將實時調度器插入Linux內核,實現硬實時性。

RTLinuxFree:是RT-Linux/GPL的一個開源版本,其目標是提供對Linux內核的實時擴展,以增強Linux在實時嵌入式應用中的可用性。

RTAI(Real-Time Application Interface):RTAI是一個獨立的實時擴展,提供了對Linux內核的實時支持。RTAI與RTLinux有類似的目標,但其實現方式和架構略有不同。

Xenomai:Xenomai是一個實時框架,通過在Linux系統上運行一個實時內核(Cobalt)來提供硬實時性。Xenomai不同于RTLinux的內核插件方式,而是在用戶空間運行實時任務。

PREEMPT-RT:PREEMPT-RT不是RT-Linux的特定版本,而是一個用于向Linux內核添加搶占性的實時擴展。它通過對Linux內核進行修改,引入了更多的搶占性,以提高Linux的實時性能。

這些版本各自有不同的設計和實現方式,開發者在選擇時應根據項目的需求、硬件平臺和個人經驗來確定最適合的版本。當前的實時Linux解決方案領域仍在發展,開發者可以根據項目的具體情況選擇適當的解決方案

04為什么裸機程序又被稱作前后臺

裸機系統通常分成輪詢系統前后臺系統

輪詢系統

輪詢系統即是在裸機編程的時候,先初始化好相關的硬件,然后讓主程序在一個死循環里面不斷循環,順序地做各種事情,大概的偽代碼看下方代碼塊輪詢系統是一種非常簡單的軟件結構,通常只適用于那些只需要順序執行代碼且不需要外部事件來驅動的就能完成的事情。在代碼清單 中,如果只是實現 LED 翻轉,串口輸出,液晶顯示等

這些操作,那么使用輪詢系統將會非常完美。但是,如果加入了按鍵操作等需要檢測外部信號的事件,用來模擬緊急報警,那么整個系統的實時響應能力就不會那么好了。

前后臺系統

相比輪詢系統,前后臺系統是在輪詢系統的基礎上加入了中斷。外部事件的響應在中斷里面完成,事件的處理還是回到輪詢系統中完成,中斷在這里我們稱為前臺,main 函數里面的無限循環我們稱為后臺。

在順序執行后臺程序的時候,如果有中斷來臨,那么中斷會打斷后臺程序的正常執行流,轉而去執行中斷服務程序,在中斷服務程序里面標記事件,如果事件要處理的事情很簡短,則可在中斷服務程序里面處理,如果事件要處理的事情比較多,則返回到后臺程序里面處理。雖然事件的響應和處理是分開了,但是事件的處理還是在后臺里面順序執行的,但相比輪詢系統,前后臺系統確保了事件不會丟失,再加上中斷具有可嵌套的功能,這可以大大的提高程序的實時響應能力。在大多數的小型項目中,前后臺系統運用的好。

審核編輯:湯梓紅

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

    關注

    146

    文章

    17167

    瀏覽量

    351390
  • 嵌入式
    +關注

    關注

    5083

    文章

    19133

    瀏覽量

    305604
  • Linux
    +關注

    關注

    87

    文章

    11310

    瀏覽量

    209658
  • 操作系統
    +關注

    關注

    37

    文章

    6836

    瀏覽量

    123361
  • RTOS
    +關注

    關注

    22

    文章

    814

    瀏覽量

    119686

原文標題:為什么MCU一般跑RTOS,SoC一般跑嵌入式Linux?

文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ARM通常用來系統。avr裸機

    ARM通常用來系統。avr裸機裸機編程和系統是什么說法啊!兩者有什么不同嗎
    發表于 08-06 09:21

    請問STM32在工作中系統的多嗎?

    問題如標題:請問一下,大家學習STM32在工作中都有系統嗎?還是裸機?如果只是裸機,學習S
    發表于 03-19 22:18

    我的項目要不要RTOS

    經常有初學讀者問一些關于RTOS的問題,比如: 我現在要不要學習RTOS?學習RTOS有什么好處?我的項目要不要RTOS?問這些問題,其實
    發表于 06-17 06:30

    MCU芯片分大戰

    今天 我們來個中國通用32位MCU芯片 分大戰!說起MCU,在物聯網,智能硬件興起的當...
    發表于 11-03 06:08

    MCU裸機編程狀態機的定義與注意事項是什么

    最高效的一種形式。可能很多人認為裸機中狀態機比較low,怎么也要搞一個RTOS,更甚著要Linux才覺得高大上。其實,這都是誤區,適合自己的才是最好的,做產品也一樣,滿足需求很重要。1 狀態機的概念
    發表于 02-14 06:02

    裸機系統和RTOS該怎么選擇

    玩過單片機的同學都清楚,采用裸機系統開發,在很多場景下完全可以滿足需求。但我們也注意到,隨著物聯網的興起,各種物聯網RTOS雨后春筍般冒了出來,那么裸機系統和RTOS該怎么
    發表于 03-02 07:17

    請問如何判斷MCU可以多大的模型?

    如何判斷我的MCU可以多大的模型?靠看ram占用?實際測試執行效率?
    發表于 04-26 09:26

    freeRtos和裸機 同樣一個程序,效率不一樣

    freeRtos和裸機 同樣一個程序,效率不一樣,RTOS只有一個task,而且沒有vTaskDelay 掛起。同樣的一個程序,裸機一圈
    發表于 07-04 11:10

    實時操作系統RTOS相比裸機的優勢有哪些?

    經常有初學讀者問一些關于RTOS的問題,比如:我現在要不要學習RTOS??學習RTOS有什么好處??我的項目要不要RTOS?? 問這些問題
    的頭像 發表于 12-25 15:48 ?6756次閱讀

    裸機RTOS的理解和并發帶來的問題

    1 裸機RTOS的理解 首先這里只針對單核CPU架構的芯片展開討論,大部分是MCU吧,而多核CPU的討論相對比較復雜,暫不涉及~玩RTOS的朋友都知道,
    的頭像 發表于 06-13 15:13 ?4412次閱讀

    MCU操作系統時RTOS總是必要的嗎

    對許多嵌入式項目來說,系統設計師都傾向于選擇實時操作系統(RTOS)。但RTOS總是必要的嗎?答案是取決于具體的應用,因此了解我們要達到什么目標是決定RTOS是必要的
    的頭像 發表于 11-18 15:45 ?2251次閱讀

    8bit MCU程序飛原因分析

    中穎8bit MCU程序飛原因分析
    的頭像 發表于 10-27 15:17 ?1200次閱讀
    8bit <b class='flag-5'>MCU</b>程序<b class='flag-5'>跑</b>飛原因分析

    RTOS相比裸機有什么優點?RTOS相比裸機更方便嗎?

    RTOS相比裸機有什么優點?RTOS相比裸機更方便嗎? RTOS代表實時操作系統,專門為需要高可靠性和可預測性的系統設計。相比之下,裸金屬或
    的頭像 發表于 10-29 16:33 ?1632次閱讀

    何時選擇裸機?何時選擇RTOS?何時選擇GPOS?

    在每個開發項目的初期,你都必須選擇軟件開發的基礎。雖然有很多選擇,但它們通常分為三類:裸機、實時操作系統(RTOS)或通用操作系統(GPOS)。
    的頭像 發表于 02-27 11:42 ?1199次閱讀

    不是高性能MCU用不起,而是MP135裸更具性價比

    以前微處理器(MPU)與微控制器(MCU)是截然不同的兩種設備,MPU支持豐富的軟件系統,如Linux和相關的軟件堆棧,而MCU通常將專注于裸機RTOS。近年來,隨著
    的頭像 發表于 03-29 08:01 ?1288次閱讀
    不是高性能<b class='flag-5'>MCU</b>用不起,而是MP135裸<b class='flag-5'>跑</b>更具性價比
    主站蜘蛛池模板: 夜夜干天天操| 美日韩中文字幕| 人人爽影院| 国产成人精品曰本亚洲78| aaaaaaa欧美黄色大片| 国产精品你懂得| 狠狠狠色丁香婷婷综合久久88| 狠狠色丁香婷婷综合视频| 国产高清一区二区三区四区| bt天堂网在线资源www| 五月停停| 精品黄色片| 天天插天天射| 黄色国产精品| 欧美性网| 黄视频网站在线看| 亚洲狠狠网站色噜噜| 婷婷激情狠狠综合五月| 人人乳乳香蕉大免费| 狠狠激情五月综合婷婷俺| 亚洲免费mv| 国产综合在线视频| 一区二区三区视频免费观看| 中国同志chinese小彬tv| 精品国产高清在线看国产| 五月天亚洲| 性欧美xxxxhd| 在线天堂中文字幕| 欧美日韩一卡2卡三卡4卡新区| 欧美黄色高清| 嗯好舒服好爽好快好大| 亚洲bt天堂| 你懂的视频在线看| 福利片第一页| 欧美成人免费大片888| 免费一级毛片不卡在线播放| 1024你懂的国产在线播放| 免费在线亚洲| 最近2018中文字幕免费看在线| 九月婷婷综合| 中文字幕va|