時(shí)間:2019-07-24 00:00:00 來(lái)源:信盈達(dá) 作者:信盈達(dá)
基于STM平臺(tái)且滿(mǎn)足實(shí)時(shí)控制要求操作系統(tǒng),有以下5種可供移植選擇。分別為μClinux、μC/OS-II、eCos、FreeRTOS和rt-thread。下面分別介紹這五種嵌入式操作系統(tǒng)的特點(diǎn)及不足,通過(guò)對(duì)比,讀者可以根據(jù)自己的應(yīng)用需求選擇合適的平臺(tái)。
μClinux是一種優(yōu)秀的嵌入式Linux版本,其全稱(chēng)為micro-control Linux,從字面意思看是指微控制Linux。同標(biāo)準(zhǔn)的Linux相比,μClinux的內(nèi)核非常小,但是它仍然繼承了Linux操作系統(tǒng)的主要特性,包括良好的穩(wěn)定性和移植性、強(qiáng)大的網(wǎng)絡(luò)功能、出色的文件系統(tǒng)支持、標(biāo)準(zhǔn)豐富的API,以及TCP/IP網(wǎng)絡(luò)協(xié)議等。因?yàn)闆](méi)有MMU內(nèi)存管理單元,所以其多任務(wù)的實(shí)現(xiàn)需要一定技巧。
μC/OS-II是在μC/OS的基礎(chǔ)上發(fā)展起來(lái)的,是用C語(yǔ)言編寫(xiě)的一個(gè)結(jié)構(gòu)小巧、搶占式的多任務(wù)實(shí)時(shí)內(nèi)核。μC/OS-II能管理64個(gè)任務(wù),并提供任務(wù)調(diào)度與管理、內(nèi)存管理、任務(wù)間同步與通信、時(shí)間管理和中斷服務(wù)等功能,具有執(zhí)行效率高、占用空間小、實(shí)時(shí)性能優(yōu)良和擴(kuò)展性強(qiáng)等特點(diǎn)。
對(duì)于實(shí)時(shí)性的滿(mǎn)足上,由于μC/OS-II內(nèi)核是針對(duì)實(shí)時(shí)系統(tǒng)的要求設(shè)計(jì)實(shí)現(xiàn)的,所以只支持基于固定優(yōu)先級(jí)搶占式調(diào)度;調(diào)度方法簡(jiǎn)單,可以滿(mǎn)足較高的實(shí)時(shí)性要求。
eCos(embedded Configurable operating system),即嵌入式可配置操作系統(tǒng)。它是一個(gè)源代碼開(kāi)放的可配置、可移植、面向深度嵌入式應(yīng)用的實(shí)時(shí)操作系統(tǒng)。最大特點(diǎn)是配置靈活,采用模塊化設(shè)計(jì),核心部分由小同的組件構(gòu)成,包括內(nèi)核、C語(yǔ)言庫(kù)和底層運(yùn)行包等。每個(gè)組件可提供大量的配置選項(xiàng)(實(shí)時(shí)內(nèi)核也可作為可選配置),使用eCos提供的配置工具可以很方便地配置,并通過(guò)不同的配置使得eCos能夠滿(mǎn)足不同的嵌入式應(yīng)用要求。
在實(shí)時(shí)性反面,由于eCos調(diào)度方法豐富,提供了兩種基于優(yōu)先級(jí)的調(diào)度器(即位圖調(diào)度器和多級(jí)隊(duì)列調(diào)度器),允許用戶(hù)在進(jìn)行配置時(shí)選擇其中一個(gè)調(diào)度器,適應(yīng)性好。
因此在實(shí)時(shí)性方面表現(xiàn)良好。
由于RTOS需占用一定的系統(tǒng)資源(尤其是RAM資源),只有μC/OS-II、embOS、salvo、FreeRTOS等少數(shù)實(shí)時(shí)操作系統(tǒng)能在小RAM單片機(jī)上運(yùn)行。相對(duì)于C/OS-II、 embOS等商業(yè)操作系統(tǒng),F(xiàn)reeRTOS操作系統(tǒng)是完全免費(fèi)的操作系統(tǒng),具有源碼公開(kāi)、可移植、可裁減、調(diào)度策略靈活的特點(diǎn),可以方便地移植到各種單片機(jī)上運(yùn)行,其最新版本為6.0版。
作為一個(gè)輕量級(jí)的操作系統(tǒng),F(xiàn)reeRTOS提供的功能包括:任務(wù)管理、時(shí)間管理、信號(hào)量、消息隊(duì)列、內(nèi)存管理、記錄功能等,可基本滿(mǎn)足較小系統(tǒng)的需要。 FreeRTOS內(nèi)核支持優(yōu)先級(jí)調(diào)度算法,每個(gè)任務(wù)可根據(jù)重要程度的不同被賦予一定的優(yōu)先級(jí),CPU總是讓處于就緒態(tài)的、優(yōu)先級(jí)最高的任務(wù)先運(yùn)行。 FreeRT0S內(nèi)核同時(shí)支持輪換調(diào)度算法,系統(tǒng)允許不同的任務(wù)使用相同的優(yōu)先級(jí),在沒(méi)有更高優(yōu)先級(jí)任務(wù)就緒的情況下,同一優(yōu)先級(jí)的任務(wù)共享CPU的使用 時(shí)間。
RT-Thread 是一款主要由中國(guó)開(kāi)源社區(qū)主導(dǎo)開(kāi)發(fā)的開(kāi)源實(shí)時(shí)操作系統(tǒng)(許可證GPLv2)。實(shí)時(shí)線(xiàn)程操作系統(tǒng)不僅僅是一個(gè)單一的實(shí)時(shí)操作系統(tǒng)內(nèi)核,它也是一個(gè)完整的應(yīng)用系統(tǒng),包含了實(shí)時(shí)、嵌入式系統(tǒng)相關(guān)的各個(gè)組件:TCP/IP協(xié)議棧,文件系統(tǒng),libc接口,圖形用戶(hù)界面等。
中國(guó)人自己開(kāi)發(fā)的,穩(wěn)定版本是 1.2.1,有希望看完源碼。精簡(jiǎn)、靠譜,自帶一個(gè)叫做 finsh 的片上調(diào)試工具,非常實(shí)用。各種信號(hào)量、互斥鎖、郵箱、事件等線(xiàn)程協(xié)同功能都有。
免費(fèi)領(lǐng)取試聽(tīng)卡
申請(qǐng)已經(jīng)提交
老師會(huì)馬上給您安排試聽(tīng)課程!
申請(qǐng)出錯(cuò)了
您可以加老師QQ:914865590報(bào)名咨詢(xún)!