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

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

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

支持操作系統(tǒng)的特性概述

單片機(jī)匠人 ? 來源:張飛實戰(zhàn)電子 ? 作者:黃忠老師 ? 2021-11-12 11:03 ? 次閱讀

1、支持操作系統(tǒng)的特性概述:

就拿M0核的單片機(jī)來說,就有一部分特性是針對嵌入式操作系統(tǒng)的(OS),包括:

l SysTick定時器,24位向下計數(shù),且周期產(chǎn)生SysTick異常。

l 棧指針,即進(jìn)程棧指針,兩個棧指針的結(jié)構(gòu)可以使得應(yīng)用棧和OS內(nèi)核棧相互獨立。

l SVC異常和SVC指令,通過異常機(jī)制,應(yīng)用程序可以使用SVC訪問OS服務(wù)。

l PendSV異常,其可以被OS、設(shè)備驅(qū)動或者應(yīng)用程序使用來產(chǎn)生可延遲的服務(wù)請求。

2、為什么要使用嵌入式操作系統(tǒng)?

當(dāng)提到操作系統(tǒng)的時候,大多數(shù)人首先會想到Windows和Linux之類的桌面操作系統(tǒng)。這些操作系統(tǒng)要想運行起來,需要強大的處理器、大量的存儲器以及其他硬件,而對于嵌入式設(shè)備,各種OS的差別很大。嵌入式操作系統(tǒng)可以運行在低功耗的微控制器上,它們需要很少的存儲器(相對于桌面系統(tǒng)),并且運行的時鐘頻率要低很多,比如Keil RTX只需要4KB的程序空間以及大約0.5KB的SRAM,一般情況下,這些操作系統(tǒng)設(shè)置不需要顯示或者鍵盤。當(dāng)然也可以增加一些顯示接口和輸入設(shè)備,并且通過運行在OS上的應(yīng)用任務(wù)來訪問這些輸入和輸出接口。

在嵌入式應(yīng)用程序中,OS一般用來管理多任務(wù)。在這種情況下,OS將處理器時間劃分多個時間片,并且在每個時間片上執(zhí)行不同的任務(wù)。當(dāng)一個時間片結(jié)束時,OS任務(wù)調(diào)度器開始執(zhí)行,這樣在下一個時間片開始的時候,處理器已經(jīng)切換到其他任務(wù)執(zhí)行了。這種任務(wù)切換一般被稱作上下文切換。

每個時間片的長度依賴于硬件以及操作系統(tǒng)的設(shè)計,有些嵌入式操作系統(tǒng)每秒會進(jìn)行幾百次的任務(wù)切換。

有些嵌入式OS也為每個任務(wù)定義了優(yōu)先級,這樣高優(yōu)先級的任務(wù)就能在低優(yōu)先級任務(wù)之前執(zhí)行。如果一個任務(wù)的優(yōu)先級比其他的都要高,在其到達(dá)空閑狀態(tài)前,OS可能會連續(xù)多個時間片都在執(zhí)行這個任務(wù)。應(yīng)該注意的是,OS的優(yōu)先級的定義與異常優(yōu)先級是完全獨立的(例如中斷的優(yōu)先級)。任務(wù)的優(yōu)先級基于特定的OS,并且隨著OS的不同而有所區(qū)別。

除了支持多任務(wù)以外,嵌入式OS也提供了其他各種功能,包括資源管理、內(nèi)存管理、電源管理,以及應(yīng)用程序編程接口(API)用以訪問外設(shè)、硬件和信道。

使用嵌入式OS并不總是有好處的,因為它需要額外的程序空間來存放OS內(nèi)核,而且會增加執(zhí)行周期的開銷。多數(shù)簡單應(yīng)用并不需要嵌入式OS,不過,有些復(fù)雜的嵌入式應(yīng)用需要并行執(zhí)行任務(wù),這時使用OS會使軟件開發(fā)更加容易,并且降低出現(xiàn)錯誤的概率。

目前,可以應(yīng)用在M0上的嵌入式OS有很多,例如,Keil 微控制器開發(fā)套件提供的免費且易于使用的RTX kernel,另外還有Micrium的uc/OS-II和uc/OS-III等都支持M0處理器。并且這個支持的操作系統(tǒng)在不斷的增加中。

由于很多微控制器是不具備存儲器管理單元(MMU),比如我們上面時候的M0核的處理器,所以它不能運行需要虛擬地址的嵌入式OS,比如Windows CE或Symbian OS。平常使用的Linux OS也需要MMU,它也不能再M0上工作。而uCLinux是Linux的特殊版,并且面向的是沒有MMU的嵌入式設(shè)備,所以要在微控制器上加入OS也要先看能不能支持,并且支持哪些,再結(jié)合自己的項目實際選取。

責(zé)任編輯:haq

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

    關(guān)注

    6030

    文章

    44489

    瀏覽量

    631980
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16103

    瀏覽量

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

    關(guān)注

    5059

    文章

    18973

    瀏覽量

    302033

原文標(biāo)題:單片機(jī)支持操作系統(tǒng)的特性

文章出處:【微信號:gh_e7f294a514ca,微信公眾號:單片機(jī)匠人】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    工控機(jī)支持什么操作系統(tǒng)

    工控機(jī),全稱工業(yè)控制計算機(jī)(Industrial Personal Computer, IPC),支持多種操作系統(tǒng)以滿足不同行業(yè)和應(yīng)用場景的需求。具體來說,工控機(jī)常見的操作系統(tǒng)包括:
    的頭像 發(fā)表于 09-11 09:24 ?302次閱讀

    3568F-麒麟KylinOS國產(chǎn)操作系統(tǒng)演示案例

    支持輕量級AI框架,功能域完成邊緣智能計算。 (5)工業(yè)穩(wěn)定:工業(yè)級系統(tǒng)穩(wěn)定性,支持操作系統(tǒng)長時間無值守工作。 (6)泛在連接:集成主流工業(yè)通信協(xié)議、物聯(lián)網(wǎng)協(xié)議,實現(xiàn)云邊端協(xié)同連接。 (7)按需定制
    發(fā)表于 07-25 15:55

    請問MODUS支持LINUX、FREERTOS、UCOS、Mbed、Android所有操作系統(tǒng)嗎?

    請問 MODUS 支持 LINUX、FREERTOS、UCOS、Mbed、Android 所有操作系統(tǒng)嗎?
    發(fā)表于 07-23 06:06

    嵌入式實時操作系統(tǒng):Intewell操作系統(tǒng)與VxWorks操作系統(tǒng)有啥區(qū)別

    Intewell操作系統(tǒng)和VxWorks操作系統(tǒng)都是工業(yè)領(lǐng)域常用的操作系統(tǒng),它們各有特點和優(yōu)勢。以下是它們之間的一些主要區(qū)別:
    的頭像 發(fā)表于 07-08 14:16 ?337次閱讀
    嵌入式實時<b class='flag-5'>操作系統(tǒng)</b>:Intewell<b class='flag-5'>操作系統(tǒng)</b>與VxWorks<b class='flag-5'>操作系統(tǒng)</b>有啥區(qū)別

    CYAT81658是否支持Windows操作系統(tǒng)?

    我們的一位客戶要求將觸摸集成電路用于他們自己的產(chǎn)品。 他們使用的是 Windows 10 操作系統(tǒng)。 我想知道我們的產(chǎn)品觸摸 IC(CYAT81658)是否支持 Windows 操作系統(tǒng)。
    發(fā)表于 07-05 07:36

    請問visionFive2支持哪些操作系統(tǒng)?

    visionFive2支持哪些操作系統(tǒng)?
    發(fā)表于 07-03 07:30

    求助,psoc4系列支持的所有操作系統(tǒng)類型是哪些?

    您能告訴我們 psoc4 系列支持的所有操作系統(tǒng)類型嗎?
    發(fā)表于 05-21 07:37

    基于鴻道(Intewell?)操作系統(tǒng)研發(fā)的農(nóng)業(yè)機(jī)器人操作系統(tǒng)

    江蘇大學(xué)與科東軟件聯(lián)合研發(fā)“農(nóng)業(yè)機(jī)器人操作系統(tǒng)”,并成立“農(nóng)業(yè)機(jī)器人操作系統(tǒng)”聯(lián)合實驗室,奮力推進(jìn)農(nóng)業(yè)智能化,推動農(nóng)業(yè)科技創(chuàng)新?!稗r(nóng)業(yè)機(jī)器人操作系統(tǒng)”的技術(shù)革新,對提高農(nóng)業(yè)生產(chǎn)效率、保護(hù)環(huán)境、應(yīng)對農(nóng)業(yè)勞動力短缺及促進(jìn)智慧農(nóng)業(yè)發(fā)展
    的頭像 發(fā)表于 04-30 11:09 ?374次閱讀

    帶你認(rèn)識實時操作系統(tǒng)(rtos)

    實時操作系統(tǒng)(RTOS)是為嵌入式系統(tǒng)和實時應(yīng)用提供一個穩(wěn)定、可預(yù)測和高效運行環(huán)境的操作系統(tǒng)。實時操作系統(tǒng)確保了系統(tǒng)能夠在嚴(yán)格的時間限制內(nèi)響
    的頭像 發(fā)表于 04-16 16:30 ?1097次閱讀
    帶你認(rèn)識實時<b class='flag-5'>操作系統(tǒng)</b>(rtos)

    支持MacOS蘋果操作系統(tǒng)的網(wǎng)卡你用過嗎?

    Marvell AQC113以太網(wǎng)控制器支持蘋果操作系統(tǒng)(MacOS),進(jìn)一步擴(kuò)展搭載了AQC113設(shè)備的應(yīng)用領(lǐng)域。
    的頭像 發(fā)表于 03-28 12:01 ?356次閱讀
    <b class='flag-5'>支持</b>MacOS蘋果<b class='flag-5'>操作系統(tǒng)</b>的網(wǎng)卡你用過嗎?

    CYUSB3314-88LTXI CAN支持哪些操作系統(tǒng)系統(tǒng)?

    CYUSB3314-88LTXI CAN支持哪些操作系統(tǒng)系統(tǒng)? 它是否也包括Raspberry Pi(HW / OS)/Apple/Linux,謝謝! 樹莓派 (HW)樹莓派 (OS)Windows蘋果Linux目錄
    發(fā)表于 02-26 06:57

    深度解析全球操作系統(tǒng)格局

    操作系統(tǒng)是負(fù)責(zé)協(xié)調(diào)、管理和控制計算機(jī)硬件與軟件資源的程序,是整個計算機(jī)的核心系統(tǒng)軟件。 按照操作系統(tǒng)面向的設(shè)備類型,通用操作系統(tǒng)主要包括桌面操作系統(tǒng)
    的頭像 發(fā)表于 01-18 15:00 ?999次閱讀
    深度解析全球<b class='flag-5'>操作系統(tǒng)</b>格局

    詳解實時操作系統(tǒng)和非實時操作系統(tǒng)

    實時操作系統(tǒng),當(dāng)外界事件和數(shù)據(jù)產(chǎn)生時,系統(tǒng)能以足夠快的速度予以處理,其處理結(jié)果能在規(guī)定的時間內(nèi)控制生產(chǎn)結(jié)果或?qū)?b class='flag-5'>系統(tǒng)做出響應(yīng),并控制所有實時任務(wù)協(xié)調(diào)一致運行的操作系統(tǒng)。
    的頭像 發(fā)表于 12-26 09:54 ?4374次閱讀
    詳解實時<b class='flag-5'>操作系統(tǒng)</b>和非實時<b class='flag-5'>操作系統(tǒng)</b>

    單片機(jī)操作系統(tǒng)有哪些

    。 FreeRTOS: FreeRTOS是一種基于優(yōu)先級的實時操作系統(tǒng),廣泛應(yīng)用于嵌入式系統(tǒng)中。它具有小巧、高效、可移植的特點,并且支持多任務(wù)。FreeRTOS包含了任務(wù)管理、時間管理、內(nèi)存管理、中斷處理等功能,可以幫助開發(fā)者更
    的頭像 發(fā)表于 12-08 16:18 ?4795次閱讀

    什么是實時操作系統(tǒng)(RTOS)

    實時操作系統(tǒng)(RTOS)是一種專為實時應(yīng)用程序設(shè)計的操作系統(tǒng)。實時應(yīng)用程序需要在特定時間內(nèi)做出預(yù)測的響應(yīng),因此 RTOS 專注于提供對時間約束的強調(diào),以確保系統(tǒng)能夠滿足實時性能要求。
    的頭像 發(fā)表于 11-23 17:14 ?5458次閱讀