色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MCU是選擇跑裸機(jī),還是跑RTOS?

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

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

1、MCU(Microcontroller Unit):

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

應(yīng)用場景:常用于簡單、實(shí)時(shí)性要求較高的嵌入式系統(tǒng),例如傳感器控制、嵌入式設(shè)備等。

操作系統(tǒng):多數(shù)情況下,MCU并不運(yùn)行傳統(tǒng)的操作系統(tǒng),而是使用實(shí)時(shí)操作系統(tǒng)(RTOS)或裸機(jī)編程。RTOS可以提供實(shí)時(shí)性、輕量級的任務(wù)調(diào)度和事件處理。

2、SoC(System on a Chip):

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

應(yīng)用場景:通常用于更復(fù)雜、多用途的嵌入式系統(tǒng),例如智能手機(jī)、嵌入式計(jì)算機(jī)、嵌入式系統(tǒng)-on-a-chip等。

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

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

01MCU是選擇跑裸機(jī),還是跑RTOS?

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

裸機(jī)編程:

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

實(shí)時(shí)性:對于對實(shí)時(shí)性要求極高的應(yīng)用,裸機(jī)編程可以提供更精確的控制,因?yàn)闆]有額外的任務(wù)調(diào)度和中斷延遲。

簡單性:裸機(jī)編程相對簡單,沒有操作系統(tǒng)的復(fù)雜性,適合一些簡單的控制應(yīng)用,如傳感器控制、定時(shí)器應(yīng)用等。

RTOS:

多任務(wù)處理:如果應(yīng)用需要同時(shí)處理多個任務(wù),RTOS提供了任務(wù)調(diào)度和管理機(jī)制,簡化了多任務(wù)并發(fā)處理。

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

易維護(hù)性:RTOS可以提高代碼的可維護(hù)性,通過任務(wù)劃分和模塊化設(shè)計(jì),更容易理解和調(diào)試。

時(shí)間管理:對于需要精確的時(shí)間管理和處理的應(yīng)用,RTOS可以提供更可靠的時(shí)間管理和調(diào)度。

選擇的考慮因素:

應(yīng)用需求:確定應(yīng)用的性質(zhì)和需求,如果是簡單的、實(shí)時(shí)性要求高的控制任務(wù),裸機(jī)編程可能足夠。如果需要處理多個任務(wù)或復(fù)雜的控制邏輯,RTOS可能更合適。

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

開發(fā)經(jīng)驗(yàn):開發(fā)者對裸機(jī)編程或RTOS的經(jīng)驗(yàn)也是考慮的因素。對于有經(jīng)驗(yàn)的開發(fā)者,裸機(jī)編程可能更容易上手;而對于復(fù)雜的項(xiàng)目,RTOS提供了更高層次的抽象,可能更容易管理。

最終的選擇應(yīng)該根據(jù)具體項(xiàng)目的需求、開發(fā)者的技能水平以及硬件資源等因素進(jìn)行權(quán)衡。在一些項(xiàng)目中,也可以結(jié)合裸機(jī)編程和RTOS的方式,根據(jù)具體任務(wù)的需求選擇合適的策略。

很多剛畢業(yè)進(jìn)入職場的同學(xué),由于在學(xué)校一直開發(fā)裸機(jī),所以對RTOS有一點(diǎn)畏懼。其實(shí)選擇FreeRTOS這樣的輕量級的RTOS,給你提供了一些“武器”,對于復(fù)雜功能的開發(fā),開發(fā)難度其實(shí)是降低的。

02為什么大多數(shù)SoC選擇Linux作為操作系統(tǒng)

大多數(shù)SoC選擇Linux作為操作系統(tǒng)的原因有多個,其中一些關(guān)鍵因素包括:

廣泛的支持:Linux是一個開源操作系統(tǒng),得到了全球廣泛的支持和社區(qū)參與。這使得大多數(shù)SoC供應(yīng)商都能夠輕松地為其硬件提供Linux內(nèi)核和相關(guān)驅(qū)動程序。

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

多用戶支持:Linux是一個多用戶、多任務(wù)的操作系統(tǒng),適用于需要支持多個用戶同時(shí)運(yùn)行多個任務(wù)的嵌入式應(yīng)用場景。這對于一些復(fù)雜的SoC,如智能手機(jī)、嵌入式計(jì)算機(jī)等來說是非常重要的特性。

強(qiáng)大的網(wǎng)絡(luò)支持:Linux內(nèi)核支持豐富的網(wǎng)絡(luò)協(xié)議和功能,適用于需要網(wǎng)絡(luò)連接的嵌入式系統(tǒng)。這對于連接互聯(lián)網(wǎng)、進(jìn)行遠(yuǎn)程管理和數(shù)據(jù)傳輸?shù)膽?yīng)用非常重要。

開放源代碼:Linux的開放源代碼模型使得SoC制造商可以根據(jù)自己的需求進(jìn)行定制和優(yōu)化。這種開放性有助于適應(yīng)各種硬件架構(gòu)和滿足不同市場需求。

穩(wěn)定性和可靠性:Linux經(jīng)過長時(shí)間的發(fā)展和測試,已經(jīng)變得非常穩(wěn)定和可靠。這對于一些對系統(tǒng)穩(wěn)定性要求較高的應(yīng)用場景是至關(guān)重要的。

社區(qū)支持和更新:Linux有龐大的社區(qū)支持,新的內(nèi)核版本和補(bǔ)丁定期發(fā)布,這意味著SoC制造商和開發(fā)者可以獲得最新的功能、安全性和性能優(yōu)化。

綜合這些因素,Linux成為了許多SoC的首選操作系統(tǒng),特別是在需要處理較為復(fù)雜的任務(wù)、具備豐富的軟硬件生態(tài)系統(tǒng)、要求網(wǎng)絡(luò)連接和多用戶支持的場景下。然而,也有一些資源有限或?qū)?shí)時(shí)性要求較高的應(yīng)用場景,可能會選擇其他操作系統(tǒng)、包括安卓或者RTOS。

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

03關(guān)于RT-Linux

RT-Linux是一個基于Linux內(nèi)核的實(shí)時(shí)操作系統(tǒng)(RTOS),它通過對Linux內(nèi)核的修改和擴(kuò)展,使其具備實(shí)時(shí)性能。RT-Linux的目標(biāo)是在維持Linux的通用性和強(qiáng)大性的同時(shí),提供對實(shí)時(shí)任務(wù)的支持,使得它可以在需要高實(shí)時(shí)性的應(yīng)用中使用。

以下是RT-Linux的一些主要特點(diǎn)和介紹:

實(shí)時(shí)性:RT-Linux致力于提供可預(yù)測、可控的實(shí)時(shí)性能。通過引入實(shí)時(shí)調(diào)度器和中斷處理機(jī)制,它能夠確保任務(wù)在指定的時(shí)間內(nèi)得到執(zhí)行,滿足實(shí)時(shí)系統(tǒng)的需求。

Linux內(nèi)核擴(kuò)展:RT-Linux是在Linux內(nèi)核的基礎(chǔ)上進(jìn)行擴(kuò)展和修改而來的。它保留了Linux的通用性和豐富的功能,同時(shí)增加了實(shí)時(shí)任務(wù)調(diào)度器、硬實(shí)時(shí)中斷等實(shí)時(shí)特性。

實(shí)時(shí)調(diào)度器:RT-Linux引入了實(shí)時(shí)調(diào)度器,允許任務(wù)按照優(yōu)先級和截止時(shí)間進(jìn)行調(diào)度。這有助于確保實(shí)時(shí)任務(wù)按時(shí)執(zhí)行,而不受非實(shí)時(shí)任務(wù)的干擾。

硬實(shí)時(shí)中斷:RT-Linux提供了硬實(shí)時(shí)中斷機(jī)制,以確保對于一些對時(shí)間敏感的任務(wù),能夠以極低的延遲進(jìn)行響應(yīng)。

POSIX兼容性:RT-Linux保持了對POSIX標(biāo)準(zhǔn)的兼容性,這使得它與許多現(xiàn)有的實(shí)時(shí)應(yīng)用程序和開發(fā)工具更加兼容。

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

適用范圍:RT-Linux適用于需要Linux通用性和實(shí)時(shí)性能的應(yīng)用,如工控系統(tǒng)、嵌入式控制系統(tǒng)通信系統(tǒng)等。

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

RTLinux/GPL:最早的RT-Linux版本,由RTLinux公司(現(xiàn)為Wind River Systems)開發(fā)。RTLinux/GPL是一個實(shí)時(shí)擴(kuò)展模塊,通過將實(shí)時(shí)調(diào)度器插入Linux內(nèi)核,實(shí)現(xiàn)硬實(shí)時(shí)性。

RTLinuxFree:是RT-Linux/GPL的一個開源版本,其目標(biāo)是提供對Linux內(nèi)核的實(shí)時(shí)擴(kuò)展,以增強(qiáng)Linux在實(shí)時(shí)嵌入式應(yīng)用中的可用性。

RTAI(Real-Time Application Interface):RTAI是一個獨(dú)立的實(shí)時(shí)擴(kuò)展,提供了對Linux內(nèi)核的實(shí)時(shí)支持。RTAI與RTLinux有類似的目標(biāo),但其實(shí)現(xiàn)方式和架構(gòu)略有不同。

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

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

這些版本各自有不同的設(shè)計(jì)和實(shí)現(xiàn)方式,開發(fā)者在選擇時(shí)應(yīng)根據(jù)項(xiàng)目的需求、硬件平臺和個人經(jīng)驗(yàn)來確定最適合的版本。當(dāng)前的實(shí)時(shí)Linux解決方案領(lǐng)域仍在發(fā)展,開發(fā)者可以根據(jù)項(xiàng)目的具體情況選擇適當(dāng)?shù)慕鉀Q方案

04為什么裸機(jī)程序又被稱作前后臺

裸機(jī)系統(tǒng)通常分成輪詢系統(tǒng)前后臺系統(tǒng)

輪詢系統(tǒng)

輪詢系統(tǒng)即是在裸機(jī)編程的時(shí)候,先初始化好相關(guān)的硬件,然后讓主程序在一個死循環(huán)里面不斷循環(huán),順序地做各種事情,大概的偽代碼看下方代碼塊輪詢系統(tǒng)是一種非常簡單的軟件結(jié)構(gòu),通常只適用于那些只需要順序執(zhí)行代碼且不需要外部事件來驅(qū)動的就能完成的事情。在代碼清單 中,如果只是實(shí)現(xiàn) LED 翻轉(zhuǎn),串口輸出,液晶顯示等

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

前后臺系統(tǒng)

相比輪詢系統(tǒng),前后臺系統(tǒng)是在輪詢系統(tǒng)的基礎(chǔ)上加入了中斷。外部事件的響應(yīng)在中斷里面完成,事件的處理還是回到輪詢系統(tǒng)中完成,中斷在這里我們稱為前臺,main 函數(shù)里面的無限循環(huán)我們稱為后臺。

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

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17123

    瀏覽量

    350995
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19104

    瀏覽量

    304829
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11292

    瀏覽量

    209335
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6801

    瀏覽量

    123285
  • RTOS
    +關(guān)注

    關(guān)注

    22

    文章

    811

    瀏覽量

    119596

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

文章出處:【微信號:談思實(shí)驗(yàn)室,微信公眾號:談思實(shí)驗(yàn)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    ARM通常用來系統(tǒng)。avr裸機(jī)

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

    請問STM32在工作中系統(tǒng)的多嗎?

    問題如標(biāo)題:請問一下,大家學(xué)習(xí)STM32在工作中都有系統(tǒng)嗎?還是裸機(jī)?如果只是裸機(jī),學(xué)習(xí)S
    發(fā)表于 03-19 22:18

    我的項(xiàng)目要不要RTOS

    經(jīng)常有初學(xué)讀者問一些關(guān)于RTOS的問題,比如: 我現(xiàn)在要不要學(xué)習(xí)RTOS?學(xué)習(xí)RTOS有什么好處?我的項(xiàng)目要不要RTOS?問這些問題,其實(shí)
    發(fā)表于 06-17 06:30

    MCU芯片分大戰(zhàn)

    今天 我們來個中國通用32位MCU芯片 分大戰(zhàn)!說起MCU,在物聯(lián)網(wǎng),智能硬件興起的當(dāng)...
    發(fā)表于 11-03 06:08

    MCU裸機(jī)編程狀態(tài)機(jī)的定義與注意事項(xiàng)是什么

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

    裸機(jī)系統(tǒng)和RTOS該怎么選擇

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

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

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

    freeRtos和裸機(jī) 同樣一個程序,效率不一樣

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

    實(shí)時(shí)操作系統(tǒng)RTOS相比裸機(jī)的優(yōu)勢有哪些?

    經(jīng)常有初學(xué)讀者問一些關(guān)于RTOS的問題,比如:我現(xiàn)在要不要學(xué)習(xí)RTOS??學(xué)習(xí)RTOS有什么好處??我的項(xiàng)目要不要RTOS?? 問這些問題
    的頭像 發(fā)表于 12-25 15:48 ?6743次閱讀

    裸機(jī)RTOS的理解和并發(fā)帶來的問題

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

    MCU操作系統(tǒng)時(shí)RTOS總是必要的嗎

    對許多嵌入式項(xiàng)目來說,系統(tǒng)設(shè)計(jì)師都傾向于選擇實(shí)時(shí)操作系統(tǒng)(RTOS)。但RTOS總是必要的嗎?答案是取決于具體的應(yīng)用,因此了解我們要達(dá)到什么目標(biāo)是決定RTOS是必要的
    的頭像 發(fā)表于 11-18 15:45 ?2244次閱讀

    8bit MCU程序飛原因分析

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

    RTOS相比裸機(jī)有什么優(yōu)點(diǎn)?RTOS相比裸機(jī)更方便嗎?

    RTOS相比裸機(jī)有什么優(yōu)點(diǎn)?RTOS相比裸機(jī)更方便嗎? RTOS代表實(shí)時(shí)操作系統(tǒng),專門為需要高可靠性和可預(yù)測性的系統(tǒng)設(shè)計(jì)。相比之下,裸金屬或
    的頭像 發(fā)表于 10-29 16:33 ?1606次閱讀

    何時(shí)選擇裸機(jī)?何時(shí)選擇RTOS?何時(shí)選擇GPOS?

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

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

    以前微處理器(MPU)與微控制器(MCU)是截然不同的兩種設(shè)備,MPU支持豐富的軟件系統(tǒng),如Linux和相關(guān)的軟件堆棧,而MCU通常將專注于裸機(jī)RTOS。近年來,隨著
    的頭像 發(fā)表于 03-29 08:01 ?1234次閱讀
    不是高性能<b class='flag-5'>MCU</b>用不起,而是MP135裸<b class='flag-5'>跑</b>更具性價(jià)比
    主站蜘蛛池模板: 在线播放性xxx欧美| 国产精品亚洲一区二区三区久久| 美女挑战50厘米长的黑人 | www.久久精品视频| 欧美一区二区三区播放| 99久久精品国产亚洲AV| 美女视频秀色福利视频| 99久久免费精品国产| 美女国产毛片A区内射| 人妻中文字幕乱人伦在线 | 97人妻精品全国免费视频| 麻花豆传媒剧国产免费mv观看| 1000视频在线播放| 欧美伊人久久大香线蕉综合69| 粗好大用力好深快点漫画| 特大黑人娇小亚洲女mp4| 国内精品一级毛片免费看| 亚洲一级毛片免费在线观看| 老阿姨才是最有味的一区二区| 99久久综合| 香蕉免费高清完整| 久久re这里精品23| 仓井空torrent| 亚洲精品黄色| 旧里番YY6080在线播放| 成人在线高清不卡免费视频| 亚洲 日韩 国产 中文视频| 久久亚洲AV无码精品午色夜麻豆 | 午夜神器18以下不能进免费| 久久国产精品萌白酱免费| qvod免费电影| 亚洲精品无码久久久久A片空| 男污女XO猛烈的动态图| 国产九九九九九九九A片| 中文字幕精品在线观看| 日韩精品亚洲专区在线影院| 江苏电台在线收听| 国产成人啪精品视频免费网| 亚洲第一色网| 免费精品国偷自产在线| 调教日本美女|