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