對于采用不同芯片和硬件的嵌入式產(chǎn)品而言,一個(gè)具有統(tǒng)一標(biāo)準(zhǔn)協(xié)議、統(tǒng)一軟件API和完整軟件協(xié)議棧的RTOS(實(shí)時(shí)操作系統(tǒng))就顯得非常重要。
國產(chǎn)的開源嵌入式實(shí)時(shí)操作系統(tǒng)RT-Thread正是為解決這些行業(yè)內(nèi)的共性問題而誕生的。
十年耕耘獲認(rèn)可
據(jù)RT-Thread創(chuàng)始人熊譜翔介紹,RT-Thread誕生于2006年。
而追溯其初體驗(yàn)操作系統(tǒng)的歷史,可以回溯到1998年,那時(shí)剛接觸電腦的他,就折騰了DOS,Windows,Linux,F(xiàn)reeBSD等系統(tǒng)。畢業(yè)后在上海貝爾和阿爾卡特任職的經(jīng)歷,也讓熊譜翔有更多機(jī)會(huì)體驗(yàn)VxWorks、NucleusPlus和ThreadX等系統(tǒng)。
從大學(xué)到就業(yè)期間,熊譜翔就一直與嵌入式設(shè)備及實(shí)時(shí)操作系統(tǒng)打交道,在這個(gè)過程中他也保持關(guān)注著Linux,關(guān)注著開源的發(fā)展,積累相關(guān)經(jīng)驗(yàn)。
到后來,在主觀意愿和朋友項(xiàng)目需求的雙重影響下,熊譜翔在2006年順勢推出了RT-Thread。開啟了國產(chǎn)RTOS創(chuàng)業(yè)歷程,從RT-Thread的發(fā)展階段來看,大致經(jīng)歷了如下幾個(gè)階段:
1)初創(chuàng)期,2006-2009,興趣驅(qū)動(dòng),以社區(qū)互動(dòng)為主;
2)穩(wěn)定期,2009-2011,RT-Thread趨于穩(wěn)定,一些高校開始使用RT-Thread。打印機(jī),水利行業(yè)有些產(chǎn)品開始使用RT-Thread。山東一家上市公司開始使用RT-Thread作為產(chǎn)品開發(fā)平臺(tái)。
3)成長期,2011-2015,工業(yè)控制,電力,新能源,高鐵,醫(yī)療設(shè)備行業(yè)都開始逐步使用RT-Thread。許繼,金智,遠(yuǎn)景,新譽(yù)等行業(yè)龍頭公司都使用RT-Thread作為產(chǎn)品開發(fā)平臺(tái)。
4)發(fā)展期,2015到現(xiàn)在,電力行業(yè),新能源行業(yè),水利設(shè)備,醫(yī)療設(shè)備,打印機(jī)、掃描儀,家電等幾乎所有嵌入式行業(yè)都有使用RT-Thread的案例。國內(nèi)第一梯隊(duì)的家電公司開始使用RT-Thread。成為國內(nèi)數(shù)家IC公司的標(biāo)配操作系統(tǒng)。
從最初只支持AMRM7TDMI,ARM Cortex-M開始,到現(xiàn)在支持ARM Cortex-A,MIPS,龍芯和君正處理器等。RT-Thread在短短十年間已經(jīng)發(fā)展成為國內(nèi)支持處理器架構(gòu),芯片型號最廣的開源實(shí)時(shí)嵌入式操作系統(tǒng)。
由于RT-Thread自誕生以來就一直堅(jiān)持大家參與、大家獲取的開源發(fā)展原則,這就使得RT-Thread能被廣泛應(yīng)用在各行各業(yè),并與主流開源Linux操作系統(tǒng)形成有益的補(bǔ)充(Linux用于規(guī)格高的處理器中,而RT-Thread應(yīng)用于資源緊湊的微處理器,微控制器中)。
熊譜翔告訴電子發(fā)燒友網(wǎng), RT-Thread已經(jīng)被無數(shù)廠商證明可穩(wěn)定應(yīng)用于產(chǎn)品,工程中(主要涉及到電力行業(yè),新能源行業(yè),水利設(shè)備,醫(yī)療設(shè)備,打印機(jī)、掃描儀,家電等)。這就為中國企業(yè)使用嵌入式操作系統(tǒng)提供了一種國產(chǎn)的產(chǎn)品級開源嵌入式操作系統(tǒng)解決方案,從而不再受制于一些國外技術(shù)。
眾多優(yōu)勢是保證
RT-Thread能獲得市場的認(rèn)可,與其本身的眾多優(yōu)勢密不可分,熊譜翔說。
雖然市場上有很多RTOS(例如FreeRTOS,ucos-ii/iii,ThreadX,NuclearPlus,vxWorks等)。相比他們,RT-Thread還是有很多的優(yōu)勢。
首先應(yīng)該明確的是RT-Thread不僅僅是一個(gè)(硬實(shí)時(shí))內(nèi)核,還是一個(gè)攜帶周邊豐富組件的實(shí)時(shí)嵌入式操作系統(tǒng),能夠滿足從小型微控制器(低到數(shù)kB內(nèi)存的微控制器)到多核處理器的復(fù)雜功能應(yīng)用(SMP/AMP多核多操作系統(tǒng),其中一個(gè)核心使用RT-Thread用于實(shí)時(shí)控制等)。
其次,從支持的角度來說,RT-Thread也有很多令人稱贊的地方:
1)支持多架構(gòu):從ARM架構(gòu),到MIPS,x86,PowerPC等。
2)支持多編譯器多集成開發(fā)環(huán)境:GNU GCC,armcc,IAR,甚至是TI CCS,基于Windows模擬的VC++編輯器等。
再次,當(dāng)開發(fā)者接觸到RT-Thread,還會(huì)獲得以下驚喜:
1)有個(gè)交互性非常棒的命令行用于調(diào)試,查看系統(tǒng)信息。系統(tǒng)不再是黑盒子,而是開發(fā)者可以通過幾條簡短命令就能夠動(dòng)態(tài)地了解到系統(tǒng)的運(yùn)行狀況;
2)構(gòu)建系統(tǒng)是scons,有一定的入門門檻,但當(dāng)用起來后,普遍感覺非常方便,不管是用它來生成各集成開發(fā)環(huán)境工程文件(Keil, IAR, VC++等),還是Windows/Linux下的無縫編譯;
3)穩(wěn)定,穩(wěn)定,內(nèi)核+文件系統(tǒng)+網(wǎng)絡(luò)協(xié)議棧足夠穩(wěn)定!
物聯(lián)網(wǎng)時(shí)代給RTOS帶來的新需求
雖然RT-Thread現(xiàn)在取得了尚算不錯(cuò)的成績,但隨著物聯(lián)網(wǎng)和智能硬件的飛速發(fā)展,嵌入式系統(tǒng)也在步入了新階段。多樣化聯(lián)網(wǎng)、實(shí)時(shí)性和高響應(yīng)的需求, 給RT-Thread帶來全新的挑戰(zhàn)。
大家都知道,RTOS通常指的是實(shí)時(shí)操作系統(tǒng),其性能考量主要體現(xiàn)在在對任務(wù)的調(diào)度具備實(shí)時(shí)性,也就是說在一個(gè)限定的時(shí)間周期內(nèi),任務(wù)對事件的響應(yīng)及正確處理。這個(gè)時(shí)間周期包括了恒定處于這個(gè)時(shí)間周期內(nèi)(硬實(shí)時(shí)),和(極低概率地)偶爾超出這個(gè)限定的時(shí)間周期(軟實(shí)時(shí))。
智能硬件的爆發(fā),對RTOS的需求不再僅僅滿足于RTOS原有的實(shí)時(shí)性上,更與日益應(yīng)用廣泛的兩方面密切關(guān)聯(lián)起來:
1)智能手機(jī)和云端應(yīng)用。智能硬件多與手機(jī)進(jìn)行互動(dòng),或由手機(jī)進(jìn)行操作控制,或借助手機(jī)反映出更多的設(shè)備信息;
2)智能硬件不再是孤立的設(shè)備,而是與云連接起來。
這些產(chǎn)品的需求主要體現(xiàn)在如下方面:
1) 芯片和硬件:互聯(lián)網(wǎng)時(shí)代主要硬件載體是PC和服務(wù)器,主要芯片供應(yīng)商是Intel,AMD;
而到了移動(dòng)互聯(lián)網(wǎng)時(shí)代,主要硬件載體則轉(zhuǎn)變?yōu)槭謾C(jī),平板,主要芯片供應(yīng)商也變成了高通,MTK,Intel,三星,展訊等幾家;再到硬件和物聯(lián)網(wǎng)時(shí)代,各類不同架構(gòu)和平臺(tái)的芯片種類繁多,幾乎每一款智能硬件的基礎(chǔ)硬件平臺(tái)都不相同。
相對應(yīng)的,互聯(lián)網(wǎng)時(shí)代操作系統(tǒng)主要是Windows;移動(dòng)互聯(lián)網(wǎng)時(shí)代操作系統(tǒng)主要是Android和IOS;到了智能硬件和物聯(lián)網(wǎng)時(shí)代,則很難產(chǎn)生一統(tǒng)天下的操作系統(tǒng),于是行業(yè)需要各有特色,能滿足不同需求的操作系統(tǒng)。
2) 計(jì)算,存儲(chǔ)資源:大多智能硬件對于成本都有要求,因此計(jì)算和存儲(chǔ)資源會(huì)非常有限;目前手機(jī)上的處理器主頻一般是超過1G,ROM和RAM能達(dá)到64G,4G,而智能硬件上的計(jì)算資源很多是低于100M,ROM和RAM小于100K字節(jié);
3) 傳感器:智能硬件通過各類傳感器來感知環(huán)境,并通過各種不同的傳感器融合算法得出感知的結(jié)果。
4) 功耗:智能硬件一般都是使用電池供電,因此需要設(shè)備大部分時(shí)間進(jìn)入低功耗休眠狀態(tài)。
5) 聯(lián)網(wǎng):智能硬件不是單一,孤立的設(shè)備,它們需要通過各種有線或者無線的方式與其他設(shè)備和互聯(lián)網(wǎng)進(jìn)行通信,有線方式主要是以太網(wǎng),串口,無線方式則有WiFI,藍(lán)牙,2G/3G/4G,Zigbee, Thread等各種不同標(biāo)準(zhǔn)的協(xié)議。
6) 安全:一是指智能設(shè)備自身的可靠性,二是指設(shè)備連接網(wǎng)絡(luò)和進(jìn)行通信的安全。
7) 開機(jī)時(shí)間和響應(yīng)速度:電腦和手機(jī)的開機(jī)時(shí)間可以達(dá)到幾十秒,但智能硬件一般需要在上電后的幾毫秒內(nèi)立刻啟動(dòng)并能夠運(yùn)行;
8) 輕量化的多媒體功能:不少智能設(shè)備需要輕量化的多媒體功能,如語音,顯示觸摸屏,攝像頭功能等,但不需要像電腦和手機(jī)那么強(qiáng)大的計(jì)算和存儲(chǔ)資源。
智能硬件的這些需求特點(diǎn)決定了Linux,Android, IOS不是適合的操作系統(tǒng),智能硬件需要使用RTOS,并且對RTOS提出了更高的要求:
1) 需要能夠支持不同架構(gòu)的處理器,需要有硬件抽象層和設(shè)備管理器來管理不同的硬件設(shè)備。
2) 能夠支持計(jì)算,存儲(chǔ)資源有限的設(shè)備,RTOS本身的ROM和RAM資源占用少。
3) 具備傳感器管理框架來管理眾多的傳感器設(shè)備,能夠提供或者整合感知融合算法。
4) 提供低功耗管理機(jī)制,來幫助設(shè)備進(jìn)行低功耗管理。
5) 網(wǎng)絡(luò)特性變成RTOS的基礎(chǔ)標(biāo)配,需要能夠支持各種網(wǎng)絡(luò)協(xié)議,以太網(wǎng),Wi-FI,藍(lán)牙,2G/3G/4G,Zigbee, Thread等。
6) 能夠支持網(wǎng)絡(luò)升級功能,各種加密機(jī)制,安全的套接字功能。
8) 支持POSIX標(biāo)準(zhǔn),方便移植程序;并且能夠支持腳本語言開發(fā)。
直面機(jī)遇與挑戰(zhàn),再攀高峰
熊譜翔對電子發(fā)燒友網(wǎng)記者說,雖然現(xiàn)在的物聯(lián)網(wǎng)時(shí)代給RT-Thread帶來了巨大的挑戰(zhàn),但這也正是他們的一個(gè)新的機(jī)遇,讓他們有機(jī)會(huì)再攀一個(gè)新高峰。
熊譜翔給記者介紹了他所看到的新機(jī)遇:
第一,物聯(lián)網(wǎng)和智能硬件時(shí)代正在到來,IDC的最新統(tǒng)計(jì)報(bào)告顯示,到2020年,全球物聯(lián)網(wǎng)市場規(guī)模將會(huì)增長至3.04萬億美元,而全球物聯(lián)網(wǎng)設(shè)備將會(huì)達(dá)到300億臺(tái),傳統(tǒng)企業(yè)和新興的智能硬件,物聯(lián)網(wǎng)企業(yè)普遍提出如下需求:
a. 智能化需求,提升芯片計(jì)算能力,從8位單片機(jī)到32位微控制器,使用嵌入式操作系統(tǒng),提升UI效果和使用語音交互,圖像識別,手勢控制,大數(shù)據(jù)等人工智能技術(shù);
b. 網(wǎng)絡(luò)化需求,使用BLE,WiFi,Zigbee,Thread等技術(shù)進(jìn)行聯(lián)網(wǎng),對接云平臺(tái);
c. 平臺(tái)化需求,隨著產(chǎn)品復(fù)雜度的提升,需要使用更通用和便利開發(fā)的軟件平臺(tái),具備低功耗,低資源占用,可裁剪擴(kuò)展,高穩(wěn)定性和可靠性的特點(diǎn);
而以上這些需求,恰好都是 RT-Thread嵌入式操作系統(tǒng)的用武之地;
第二,國內(nèi)IC設(shè)計(jì)產(chǎn)業(yè)正在崛起,這些企業(yè)能夠提供極具性價(jià)比的產(chǎn)品和更好的本土技術(shù)支持服務(wù),而這些IC公司更需要本土的系統(tǒng)軟件合作伙伴。
目前RT-Thread已與國內(nèi)數(shù)家IC企業(yè)簽署戰(zhàn)略合作協(xié)議,RT-Thread已成為其標(biāo)配的嵌入式操作系統(tǒng),隨著國內(nèi)IC企業(yè)的整體崛起,RT-Thread的未來發(fā)展也是可期的。
而為了抓住這波機(jī)遇,RT-Thread表示首先會(huì)做到以下兩點(diǎn):
第一,RT-Thread主要足于基礎(chǔ)措施,把基礎(chǔ)一步步打扎實(shí),扎實(shí)做事,把RT-Thread是一個(gè)嵌入式操作系統(tǒng)這件事情做好,為行業(yè)提供穩(wěn)定,完整的基礎(chǔ)設(shè)施,包括操作系統(tǒng)內(nèi)核,文件系統(tǒng),網(wǎng)絡(luò)協(xié)議棧,以及通用的POSIX API標(biāo)準(zhǔn)。
第二,針對智能設(shè)備和物聯(lián)網(wǎng)時(shí)代的需求特點(diǎn),繼續(xù)不斷的完善和演進(jìn)。
在滿足這兩點(diǎn)的前提下,RT-Thread也一直在不斷地完善和演進(jìn),主要包括以下幾個(gè)方面:
1) RT-Thread業(yè)已支持市場所有主流的芯片架構(gòu),包括ARM,MIPS, X86, PowerPC等,且已經(jīng)支持超過三十種以上的芯片板級支持包,使用不同硬件平臺(tái)的智能設(shè)備都可以很方便的使用RT-Thread。
2) RT-Thread提供了設(shè)備管理框架和傳感器管理框架來管理各類硬件接口和傳感器。
3) RT-Thread提供了低功耗管理框架來幫助設(shè)備進(jìn)行低功耗管理。
4) 網(wǎng)絡(luò)協(xié)議是RT-Thread從誕生之日起就密切關(guān)注的方向,RT-Thread完成了對各類網(wǎng)絡(luò)協(xié)議的支持,包括Wi-Fi,2G/3G,藍(lán)牙,6Lowpan,以太網(wǎng),這就為上層應(yīng)用提供相對了完善的BSD Socket接口。
同時(shí)因?yàn)闃?biāo)準(zhǔn)的BSD Socket接口特性,所以它也支持Linux/Unix上的網(wǎng)絡(luò)應(yīng)用程序,例如支持MQTT,Protocol Buffers,Json這類適合網(wǎng)絡(luò)傳輸和數(shù)據(jù)存儲(chǔ)格式的支持;
5) RT-Thread提供了OTA升級,安全套接字,加密算法等安全類組件;
6) RT-Thread還開發(fā)了輕量級,低資源占用,類似Android的觸控UI引擎和音視頻框架。
豐富的組件,標(biāo)準(zhǔn)化的接口,國內(nèi)越來越多的芯片廠家采用RT-Thread作為他們標(biāo)配的操作系統(tǒng),甚至把一份RT-Thread操作系統(tǒng)固化到他們的芯片ROM中。熊譜翔對電子發(fā)燒友網(wǎng)記者說。
展望未來,RT-Thread將在萬物互聯(lián)時(shí)代成為主流的物聯(lián)網(wǎng)操作系統(tǒng)之一,熊譜翔強(qiáng)調(diào)。
恰逢2016年,RT-Thread 10周年,RT-Thread團(tuán)隊(duì)推出RT-IoTCamera項(xiàng)目,一款開源的基于RT-Thread開源實(shí)時(shí)操作系統(tǒng)上的C/C++、lua編程的物聯(lián)網(wǎng)攝像頭開發(fā)板。現(xiàn)在RT-IoTCamera項(xiàng)目正在工程師的眾籌平臺(tái)——聚豐眾籌開展眾籌,期待關(guān)注國產(chǎn)嵌入式操作系統(tǒng)的愛好者一起加入,讓RT-Thread能更好地成長。
評論
查看更多