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

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

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

單片機(jī)支持操作系統(tǒng)的特性概述

單片機(jī)匠人 ? 來源:單片機(jī)匠人 ? 作者:黃忠老師 ? 2021-12-02 15:21 ? 次閱讀

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

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

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

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

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

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

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

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

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

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

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

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

3f5b3a3c-528b-11ec-b2e9-dac502259ad0.png

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

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

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

編輯:jq

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

    關(guān)注

    48

    文章

    7552

    瀏覽量

    151423
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6037

    文章

    44558

    瀏覽量

    635292
  • MMU
    MMU
    +關(guān)注

    關(guān)注

    0

    文章

    91

    瀏覽量

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

    關(guān)注

    4

    文章

    5

    瀏覽量

    7120

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何在windows上emulate不同操作系統(tǒng)

    一、虛擬化技術(shù)概述 虛擬化技術(shù)允許在單個(gè)物理機(jī)器上創(chuàng)建多個(gè)虛擬機(jī),每個(gè)虛擬機(jī)都可以運(yùn)行不同的操作系統(tǒng)。這使得我們可以在Windows系統(tǒng)上模
    的頭像 發(fā)表于 12-05 15:50 ?189次閱讀

    基于無操作系統(tǒng)的STM32單片機(jī)開發(fā)附源碼

    現(xiàn)在非常多的的MCU性能都還不錯(cuò),同時(shí)用戶也會(huì)去擴(kuò)展一些外部RAM,這樣如果高效便捷的管理這些內(nèi)存是一個(gè)重要話題。 今天給大家分享一份源碼:基于無操作系統(tǒng)的STM32單片機(jī)開發(fā),功能強(qiáng)大,可申請(qǐng)
    的頭像 發(fā)表于 11-15 11:24 ?453次閱讀

    linux是實(shí)時(shí)系統(tǒng)還是分時(shí)操作系統(tǒng)

    大家平時(shí)玩單片機(jī)基本上對(duì)于μC/OS、FreeRTOS、ThreadX這些操作系統(tǒng)非常熟悉了,他們都屬于實(shí)時(shí)操作系統(tǒng)(RTOS),在工業(yè)領(lǐng)域比較廣泛;然而對(duì)于linux這樣的基于時(shí)間片劃分的非實(shí)時(shí)
    的頭像 發(fā)表于 11-11 11:43 ?468次閱讀

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

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

    linux開發(fā)板和單片機(jī)開發(fā)的區(qū)別

    、PIC等,處理能力和內(nèi)存容量相對(duì)較低。 操作系統(tǒng) Linux開發(fā)板通常使用Linux操作系統(tǒng),具有豐富的軟件資源和開發(fā)工具。單片機(jī)開發(fā)則通常使用嵌入式操作系統(tǒng)或無
    的頭像 發(fā)表于 08-30 15:30 ?787次閱讀

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

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

    聚徽觸控-工控機(jī)支持什么系統(tǒng)

    工控機(jī)通常支持多種操作系統(tǒng),以適應(yīng)不同應(yīng)用場景的需求。以下是工控機(jī)常見的操作系統(tǒng)支持情況:
    的頭像 發(fā)表于 07-09 09:35 ?281次閱讀

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

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

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

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

    stm32單片機(jī)學(xué)習(xí)路線

    、函數(shù)、指針等。 2.了解電子電路基礎(chǔ) 對(duì)于單片機(jī)開發(fā)來說,了解電子電路的基礎(chǔ)知識(shí)是非常重要的,包括基本的電路原理、電阻、電容、電感等元件的作用和特性。 第二步STM32入門 1.了解
    發(fā)表于 05-10 15:34

    使用STM32F401的單片機(jī)移植了ucosii操作系統(tǒng)后,在循環(huán)中調(diào)用sprintf函數(shù)時(shí)莫名卡死的原因?

    使用STM32F401的單片機(jī)移植了ucosii操作系統(tǒng)后。在編寫任務(wù)函數(shù)時(shí),在循環(huán)中調(diào)用sprintf函數(shù)時(shí)莫名卡死的原因?
    發(fā)表于 04-02 06:12

    如何系統(tǒng)、科學(xué)地自學(xué)單片機(jī)

    很多初學(xué)者都會(huì)面臨這個(gè)問題,我想學(xué)習(xí)單片機(jī)、我也想學(xué)好單片機(jī)、我也想系統(tǒng)地學(xué)習(xí)單片機(jī),但是單片機(jī)涉及到的學(xué)科多且雜根本不是三天兩天就能學(xué)完的
    的頭像 發(fā)表于 03-28 08:03 ?1090次閱讀
    如何<b class='flag-5'>系統(tǒng)</b>、科學(xué)地自學(xué)<b class='flag-5'>單片機(jī)</b>?

    國產(chǎn)RT-thread操作系統(tǒng)在國民技術(shù)單片機(jī)上移植

    各位嵌入式軟件工程師想必都有類似的經(jīng)驗(yàn),使用無操作系統(tǒng)開發(fā)單片機(jī)時(shí)對(duì)于時(shí)序把控、任務(wù)延時(shí)及各任務(wù)之間的通信很難實(shí)現(xiàn)完整地條理清晰地編碼。對(duì)于部分經(jīng)驗(yàn)不足的工程師,總會(huì)存在各種各樣的問題,如因?yàn)樽兞?/div>
    的頭像 發(fā)表于 03-05 08:20 ?590次閱讀
    國產(chǎn)RT-thread<b class='flag-5'>操作系統(tǒng)</b>在國民技術(shù)<b class='flag-5'>單片機(jī)</b>上移植

    單片機(jī)的最小系統(tǒng)由什么組成 單片機(jī)的最小系統(tǒng)包括哪些

    單片機(jī)(Microcontroller Unit,MCU)的最小系統(tǒng)包括以下幾個(gè)主要組成部分: 單片機(jī)芯片:單片機(jī)是整個(gè)最小系統(tǒng)的核心部分,
    的頭像 發(fā)表于 02-02 11:27 ?1.1w次閱讀

    有了單片機(jī),為什么還要使用操作系統(tǒng)?

    問題:? 對(duì)于一款單片機(jī)來說,裝上了操作系統(tǒng)(比如linux、uc/os-2、winCE等),與不裝操作系統(tǒng)最大的區(qū)別是什么? 回答: 操作系統(tǒng),是個(gè)龐然大物,但是大家都很喜歡,因?yàn)樗?/div>
    的頭像 發(fā)表于 01-11 08:35 ?816次閱讀