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