常用嵌入式RTOS的比較與選擇



單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,*,四種常用嵌入式RTOS的比較與選擇,華南理工大學(xué)自動化系,一:綜述,1.嵌入式系統(tǒng)與嵌入式操作系統(tǒng),2.嵌入式操作系統(tǒng)的特點,3.實時操作系統(tǒng)(RTOS),4.四種常用的嵌入式RTOS,1.嵌入式系統(tǒng)與嵌入式操作系統(tǒng)簡介,嵌入式系統(tǒng)是以嵌入式計算機為技術(shù)核心,面向用戶、面向產(chǎn)品、面向應(yīng)用,軟硬件可裁減的,適用于對功能、可靠性、成本、體積、功耗等綜合性能有嚴(yán)格要求的專用計算機系統(tǒng)嵌入式操作系統(tǒng)EOS(Embedded Operating System),負(fù)責(zé)嵌入系統(tǒng)的全部軟、硬件資源的分配、調(diào)度,控制、協(xié)調(diào)并發(fā)活動;它必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過裝卸某些模塊來達到系統(tǒng)所要求的功能一:綜述,2.嵌入式操作系統(tǒng)的特點,可裝卸性開放性、可伸縮性的體系結(jié)構(gòu)強實時性EOS實時性一般較強,可用于各種設(shè)備控制當(dāng)中統(tǒng)一的接口提供各種設(shè)備驅(qū)動接口操作方便、簡單、提供友好的圖形GUI提供強大的網(wǎng)絡(luò)功能支持TCP/IP協(xié)議及其它協(xié)議,提供TCP/UDP/IP/PPP協(xié)議支持及統(tǒng)一的MAC訪問層接口,為各種移動計算設(shè)備預(yù)留接口強穩(wěn)定性,弱交互性嵌入式系統(tǒng)一旦開始運行就不需要用戶過多的干預(yù),這就要負(fù)責(zé)系統(tǒng)管理的EOS具有較強的穩(wěn)定性。
嵌入式操作系統(tǒng)的用戶接口一般不提供操作命令,它通過系統(tǒng)的調(diào)用命令向用戶程序提供服務(wù)固化代碼在嵌入式系統(tǒng)中,嵌入式操作系統(tǒng)和應(yīng)用軟件被固化在嵌入式系統(tǒng)計算機的ROM中輔助存儲器在嵌入式系統(tǒng)中很少使用,因此,嵌入式操作系統(tǒng)的文件管理功能應(yīng)該能夠很容易地拆卸,而用各種內(nèi)存文件系統(tǒng)更好的硬件適應(yīng)性也就是良好的移植性一:綜述,3.,實時操作系統(tǒng)(RTOS),RTOS與其他操作系統(tǒng)不同的一個特征是:它們必須至少有一個中斷,其服務(wù)能保證在一個給定的時間內(nèi)完成,而不論是否發(fā)生其他事情一:綜述,4.四種常用的嵌入式RTOS,RT-Linux,QNX,Vxworks,Nucleus,二:如何選擇嵌入式實時操作系統(tǒng)?,1,實時操作系統(tǒng)對我來說真的必要嗎?,2,工具的相互關(guān)系,3,RTOS的選擇準(zhǔn)則,4,內(nèi)核要求的最小存儲器大小,5,性能,6軟件組件和設(shè)備驅(qū)動程序,7,調(diào)試工具,8,標(biāo)準(zhǔn)兼容性,9技術(shù)支持,10源代碼還是目標(biāo)代碼?,11許可,12聲譽,1.實時操作系統(tǒng)真的必要嗎?,為什么需要實時操作系統(tǒng)?,對于商用多任務(wù)OS,其目的是方便用戶管理計算機資源,追求系統(tǒng)資源最大利用率;而RTOS追求的是實時性、可確定性、可靠性。
二:如何選擇,RTOS,微處理器、在線仿真器(ICE)、編譯器、匯編器、連接器、調(diào)試器以及模擬器都這樣或那樣地影響著操作系統(tǒng)在線仿真器(ICE)和良好的集成開發(fā)環(huán)境對嵌入式開發(fā)有至關(guān)重要的作用2工具的相互關(guān)系,二:如何選擇,RTOS,3RTOS的選擇準(zhǔn)則,評價與選擇一個實時操作系統(tǒng)一般可以從任務(wù)調(diào)度、內(nèi)存管理、任務(wù)通訊、內(nèi)存開銷、任務(wù)切換時間、最大中斷禁止時間等幾個方面來衡量1)任務(wù)調(diào)度機制:,RTOS的實時性和多任務(wù)能力在很大程度上取決于它的任務(wù)調(diào)度機制2)內(nèi)存管理:分實模式與保護模式3)最小內(nèi)存開銷:,RTOS的設(shè)計過程中,最小內(nèi)存開銷是一個較重要的指標(biāo),它涉及到嵌入式的成本4)最大中斷禁止時間:,(5)任務(wù)切換時間:,4內(nèi)核要求的最小存儲器大小,實時操作系統(tǒng)可以裝入小得令人驚訝的內(nèi)存中最小的內(nèi)核經(jīng)常是僅僅支持很少的特性,而典型的配置可能產(chǎn)生大得多的內(nèi)核一般情況下,供應(yīng)商可以提供一份詳細(xì)的列表,說明了創(chuàng)建包含不同服務(wù)的內(nèi)核分別需要多大的RAM和ROM二:如何選擇,RTOS,5性能,對所有的項目來說,性能無不是個大問題但是要了解RTOS對系統(tǒng)的影響卻不那么容易當(dāng)比較供應(yīng)商提供的benchmark時要明白他們是要測試什么?供應(yīng)商使用的是什么評估板?微處理器的時鐘頻率是多少?使用的什么存儲系統(tǒng)?存儲器訪問使用了幾個等待周期?只有弄清楚了這些才能作出公平的對比。
6軟件組件和設(shè)備驅(qū)動程序,嵌入式系統(tǒng)應(yīng)該通過各種標(biāo)準(zhǔn)加大開發(fā)需求的互操作性,開發(fā)者可能要依賴于他人開發(fā)的組件若應(yīng)用需要通信協(xié)議、服務(wù)、庫或者其他組件(如TCP/IP、HTTP、ftp、telnet、SNMP、CORBA和圖形),從哪里獲得它們得事先弄清楚不同操作系統(tǒng)供應(yīng)商提供這些特性或驅(qū)動程序的方式可能不同,有的作為操作系統(tǒng)的一部分,有的作為可選配件二:如何選擇,RTOS,7調(diào)試工具,一個良好的集成開發(fā)環(huán)境和調(diào)試工具有助于開發(fā)者提高開發(fā)速度、發(fā)現(xiàn)開發(fā)中的錯誤(如死鎖、忘了放信號燈)等8標(biāo)準(zhǔn)兼容性,標(biāo)準(zhǔn)兼容性好的RTOS利于別的開發(fā)軟件的移植RTOS服務(wù)有一個POSIX標(biāo)準(zhǔn)10技術(shù)支持,技術(shù)支持包含哪些內(nèi)容:培訓(xùn)、文檔、電話和電子支持等?這對RTOS上開發(fā)很重要,良好的技術(shù)支持可以使開發(fā)者少走很多彎路二:如何選擇,RTOS,11源代碼還是目標(biāo)代碼?,有些供應(yīng)商提供給全部源代碼而其他的僅提供目標(biāo)代碼這兩種方式都能開發(fā)出優(yōu)秀的產(chǎn)品對那些沒有源代碼的來說,也不必?fù)?dān)心無法配置內(nèi)核供應(yīng)商會在頭文件中給出必要的常量使開發(fā)者可以根據(jù)需要微調(diào)內(nèi)核12許可,購買某些高級的RTOS屬于重大的商業(yè)事務(wù),有許多費用要考慮。
有的供應(yīng)商一次性地收取一大筆費用,而有的供應(yīng)商的收費遍及每用戶、每平臺、每產(chǎn)品、每位置這需要了解清楚二:如何選擇,RTOS,13聲譽,還有一點是要了解該RTOS供應(yīng)商的聲譽如:,技術(shù)支持如何?,穩(wěn)定的商務(wù)活動開始多久了?,公司有多少職員?,供應(yīng)商的網(wǎng)站上有有價值的信息嗎?,這種RTOS在哪個行業(yè)表現(xiàn)最好?,公司的質(zhì)量系統(tǒng)狀況如何?公司通過了ISO9001認(rèn)證嗎?,三:四種嵌入式RTOS各自的特點,弄清了以上的一些問題之后,初步得到了一個選擇的依據(jù)下面,在這個依據(jù)的基礎(chǔ)上,把Linux,QNX,Vxworks和Nucleus這四種嵌入式RTOS各自的特點和各種性能指標(biāo)作一個羅列,從而達到對它們有個大致的了解提綱:,(一)開發(fā)環(huán)境及其工具,(二)RTOS的性能指標(biāo),(三)內(nèi)核,(四)軟件組件和設(shè)備驅(qū)動程序,(五)硬件支持,(六)標(biāo)準(zhǔn)兼容性,(七)技術(shù)支持,(八)源代碼還是目標(biāo)代碼,(九)價格,許可,聲譽,綜合評價Linux,(一)開發(fā)環(huán)境及其工具,Linux,有著非常優(yōu)秀的完整開發(fā)工具鏈,有十幾種,集成開發(fā)環(huán)境,其中很多是免費的,大大降低了開發(fā),費用右圖是一個典型的嵌入式Linux開發(fā)環(huán)境,它包括主機(工作站或者PC)支持GDB的調(diào)試工具,目標(biāo)板和網(wǎng)絡(luò)。
Linux,的特點,除了硬件環(huán)境外,還需要軟件開發(fā)環(huán)境基于Linux的開發(fā)環(huán)境主要包括主機上的Linux操作系統(tǒng),比如RedHat Linux上圖是嵌入式 Linux 開發(fā)流程圖一般的開發(fā)過程是,設(shè)計目標(biāo)板,建立嵌入式Linux開發(fā)環(huán)境,編寫、調(diào)試Boot Loader;編寫、調(diào)試 Linux 內(nèi)核;編寫、調(diào)試應(yīng)用程序;編寫、調(diào)試BSP,Board Support Package,),Boot Loader用于初始化目標(biāo)板,檢測目標(biāo)板和引導(dǎo) Linux 內(nèi)核BDM/JTAG用于目標(biāo)板開發(fā),它可以檢測目標(biāo)板硬件,初始化目標(biāo)板,調(diào)試Boot Loader和BSP二)RTOS的性能指標(biāo),1.Linux本身不是實時的操作系統(tǒng)RT-Linux在Linux的基礎(chǔ)上打包實現(xiàn)Linux的實時性2.RT-Linux實現(xiàn)了一個小的實時核心,僅支持底層任務(wù)創(chuàng)建、中斷服務(wù)例程的裝入、底層任務(wù)通信隊列、中斷服務(wù)例程(ISR)和Linux進程原來的非實時Linux核心作為一個可搶先的任務(wù)運行于這個小核心之上,所有的任務(wù)都在核心地址空間運行它不同于微內(nèi)核和大型內(nèi)核,屬于實時體系結(jié)構(gòu)其可靠性和可維護性對電信服務(wù)系統(tǒng)來說都不夠理想,但應(yīng)用于相對小的嵌入式系統(tǒng)性能還行。
3.調(diào)度策略,RT-Linux在操作系統(tǒng)之下實現(xiàn)了一個簡單的實時核心,Linux本身作為一個可搶占的任務(wù)在核內(nèi)運行,優(yōu)先級最低,隨時會被高優(yōu)先級任務(wù)搶占Linux,的特點,(三)內(nèi)核,+-+-+,|應(yīng)用程序?qū)?Application Layout)|級別=3|,+-+-+,|服務(wù)器層(Deamon/Server Layout)|=2|,+-+-+,|設(shè)備驅(qū)動層(Drivers Manager)|=1|,+-+-+,|進程管理層(Process Manager)|=0|,+-+-+,|硬件(裸機)|,+-+-+,Linux,的特點,Linux采用的是帶保護的平行內(nèi)核體系(見上圖)其優(yōu)點是:(1)采用平行內(nèi)核,因為各層次間以及同層次間的實現(xiàn)比較獨立,這種體系的穩(wěn)定性就要好的多,如果一個子系統(tǒng)崩潰,系統(tǒng)一般不會全部癱瘓;(2)可以更容易地添加新服務(wù)模塊,Linux甚至無須重新啟動缺點是:(1)當(dāng)高層模塊(如加減設(shè)備,服務(wù)器時)更新時,往往更新了特權(quán)任務(wù)表的內(nèi)容,所以內(nèi)核需要重新編譯.(2)這種體系的底層代碼和硬件直接關(guān)聯(lián),且功能越強,這種關(guān)聯(lián)越緊,再加上核心比微內(nèi)核體系要大得多,所以移植也要費事。
四)軟件組件和設(shè)備驅(qū)動程序,Linux具有完善的網(wǎng)絡(luò)通訊、圖形、文件管理機制網(wǎng)絡(luò)是Linux的強項,Linux還支持多種文件和圖形系統(tǒng)同時,Linux上的驅(qū)動已經(jīng)非常豐富了,它們支持各種主流硬件設(shè)備和最新硬件技術(shù)Linux的系統(tǒng)服務(wù):,近來,很多基于Linux的實時應(yīng)用被開發(fā)出來,它具有成熟和豐富的資源UNIX用戶的開發(fā)工具和應(yīng)用軟件都可移植到Linux上TCP/IP網(wǎng)絡(luò)協(xié)議各種Internet客戶/服務(wù)端軟件X WindowC/C、Java等語言編譯器Linux,的特點,(五)硬件支持:,支持多種體系結(jié)構(gòu),如X86、ARM、MIPS、ALPHA、SPARC等目前,Linux已經(jīng)被移植到數(shù)十種硬件平臺上,幾乎支持所有流行的CPULinux,的特點,(六)標(biāo)準(zhǔn)兼容性:,Linux可作為一個嵌入式操作系統(tǒng),它支持POSIX.1b標(biāo)準(zhǔn)七)技術(shù)支持,Linux具有開放性:,(1)用戶可得到UNIX的全部開發(fā)工具2)可使用市場上便宜又常見的硬件Linux,的特點,(八)源代碼還是目標(biāo)代碼,Linux是源代碼完全公開的Linux的內(nèi)核映像bzImage.bin大小為569,764大小加上其他應(yīng)用程序,其大小可在2M左右。
九)價格,許可,聲譽:,Linux的最大優(yōu)勢便是經(jīng)濟,免費,源代碼公開,是最吸引人的毫無疑問,這會節(jié)省大量的開發(fā)費用同時,它也可以隨意地配置不需要任何的許可證或商家的合作關(guān)系市場上的帶有Linux的2410評估板已經(jīng)大量出現(xiàn),據(jù)目前情況所了解,合肥市的華恒科技公司的評估板需:2,500元,內(nèi)帶Linux操作系統(tǒng),評估板中有USB接口,以太網(wǎng)接口,串口和3.5寸64K色彩屏,提供底板的原理圖同康科技公司的評估板需:9,600元,配置和華恒公司的類似,帶有Linux操作系統(tǒng),并提供全部電路原理圖Linux,的特點,綜合評價:,正如上所述,Linux最大的優(yōu)勢經(jīng)濟,免費,源代碼公開,可以節(jié)省大量的開發(fā)費用,并且,它本身內(nèi)置網(wǎng)絡(luò)支持,高度的模塊化使添加部件非常容易Linux在中國蓬勃發(fā)展起來,基于Linux的嵌入式評估板具有價格低、可選性強、技術(shù)支持多樣化等優(yōu)點同時Linux的評估板集中了各種各樣的資源,如網(wǎng)口、液晶屏、觸摸屏,USB口的驅(qū)動等選擇,2410,的嵌入式Linux軟件開發(fā)平臺和OEM板可以幫助,我們,在應(yīng)用項目立項前,評估項目的可行性在應(yīng)用項目立項后,使軟件開發(fā)和硬件開發(fā)同步進行。
極大地縮短應(yīng)用產(chǎn)品開發(fā)周期缺點:開發(fā)工具和開發(fā)環(huán)境不盡人意,如單步仿真,這增加開發(fā)的難度Linux,的特點,QNX,(一)開發(fā)環(huán)境及其工具,QNX Momentics開發(fā)系統(tǒng)在集成環(huán)境下提供無縫連接的工具鏈和各種板級支持包、庫函數(shù)、源碼。
