首頁>科技>

12月21日,RT-Thread開發者大會在深圳舉辦,在本次大會上,RT-Thread正式釋出RT-Thread Studio、並公佈將於明年中釋出新一代微核心,還邀請到意法半導體(ST)、全志(Allwinner)、恩智浦(NXP)分享其在物聯網領域的佈局以及與RT-Thread的合作體驗,此外,還有第三方公司的開發者分享RT-Thread在專案中的應用案例。

圖:開發者發揮現場人氣爆滿

RT-Thread新一代混合微核心明年Q2釋出

RT-Thread創始人熊譜翔在開發者大會上介紹,混合式微核心的意義在於會將一系列的系統服務放在使用者態。系統服務可以根據實際場景做相應定製,可以放在使用者態,變成一個核心很小的部件,另外,當需要高效能的時候,也可以把服務放在核心裡面,通過這種方式,加速效能。

混合微核心的架構是針對IoT場景定製性的架構,可大可小,而且很重要一點,使用者態的環境和核心態的環境,相互之間API是統一的,也就是說,在使用者態去應用的時候,同樣會有現在RT-Thread核心的一些API存在,可以使用,通過這種方式,能夠做到一些系統服務可以放在使用者態,也可以放在核心。

混合微核心的架構將會包含哪幾個部分:一是會有RT-Thread的核心,相比現在來說,這個核心會更加精簡、尺寸更小;二是也會把一系列的服務會放到使用者態去,包括檔案系統服務,網路協議棧,多媒體服務,比如音訊、視訊等;三是會把一系列底層通訊的外設、底層通訊的機制方式等作為一個使用者態的服務,比如WiFi的驅動、藍芽的驅動、藍芽的協議棧等也都放在使用者態。

在這個基礎上,會有一些不一樣的的應用,包括物聯網的應用、指令碼類的應用,指令碼這塊,在未來的微核心的架構裡,會是一個很重要的存在,通過這樣的方式可以簡化、開發。還有整套的柿餅UI也會用到使用者態裡,作為一個獨立應用去使用,此外,也會包括AI的東西。

開發板硬體相關方面,底層會支援什麼,熊譜翔介紹,現在一些32位Arm,比如Cortex-A的一些晶片,是支援Linux的,在微核心的裡面,也會支援64位的晶片,包括ARM64位、RISC-V64位,以及多核。

熊譜翔透露,“RT-Thread新一代混合微核心將於明年Q2釋出,整個混合微核心架構仍然是開源的。”

RT-Thread打造IoT極速開發模式

IoT時代,OS的真正趨勢體現在四個方面:一,帶豐富中介軟體的IoT OS最終將成為IoT終端的首選和主流,FreeRTOS這種純核心OS將逐漸淡出市場;二,IoT OS有望為物聯網帶來全新的運營服務和贏利模式,IoTOS的收斂將使得指令碼開發、小程式的載入等成為可能;三,一致的OS平臺成為大型企業的訴求,因為它包括軟體複用、提升開發效率、應用的部署、裝置間互聯互通等功能;四,低資源佔用、安全、多媒體、AI是OS的重點技術方向,專業的IoT OS提供商肩負以上技術使命。

RT-Thread在物聯網方面有哪些動作?RT-Thread技術總監朱天龍在會上介紹,RT-Thread自2017年3.0釋出的時候,就開始制訂了IoT發展的戰略,至此已經兩年多,在在IoT發展路線上,RT-Thread對於IoT極速開發有一些自己的體驗和考慮。

下圖是RT-ThreadIoT技術總覽,分為三層:最頂層雲端是跟IoT有關的雲平臺,包括京東雲、騰訊雲、中移OneNET、MicrosoftAzure、阿里雲IoT;中間是雲跟裝置端的管道,比如WiFi、BT/BLE、NB-IoT、2G/3G/4G、LoRa等;最底層裝置端,包括具有IoT特性的軟體或者元件功能。RT-Thread在這些方面都有對應功能的支援。

雲端接入方面,RT-Thread相比傳統的RTOS,具有更多對雲的支援,開箱即可接入到雲中,詳細可以從下面幾點來看:一,可以接入所有的主流雲平臺,比如京東雲、騰訊雲、中移OneNET、MicrosoftAzure、阿里雲IoT;二,提供深度優化的雲平臺SDK,一般雲平臺都會提供一個裝置接雲的SDK,不過這些SDK可能是偏重於通用平臺,可能邏輯也支援,其他的外設也支援,難免在資源佔用、可靠性會有缺失,RT-Thread跟一些雲平臺會做一些深度定製,在資源佔用和可靠性上會有一個很大的改觀;三、RT-Thread雲平臺接入的SDK是模組化的,模組化帶來的好處是,能同時接入多個雲。四,RT-Thread能夠支援不同接入方式,包括AT指令模組、WIFISOC、NB-IoT、2G/3G/4G。

IoT晶片及模組支援方面,RT-Thread已支援IoT晶片及模組有哪些?朱天龍介紹了兩種執行模式下支援的晶片和模組:模式1是在SoC(SystemonChip)內部直接執行RT-Thread,在上面跑一個APP。RT-Thread支援各種各樣的接入,比如WiFi、BLE、NB-IoT等領域;模式2是現在比較常見的一個模式,RT-Thread跑在MCU內部,在這上面做硬體開發,想接IoT,就選擇對應的一個IoT模組,比如AT指令上面,RT-Thread可以支援ESP8266模組;當用戶需要一些高速開發,聯網方式比較靈活的場景,可以選擇PPP/RNDIS方式,支援EC20、Air720、SIM800、SIM7600模組;體積佔用比較小,速度非常快的SPI方式,支援RT-Thread自研的RW007模組,包括ENC28J60、W5500等乙太網的模組。

AT元件方面,RT-Thread具備靈活的響應資料解析方式,完備的URC資料的處理機制,簡化的AT命令收發流程,提供標準的網路程式設計介面。目前已經對接常用的AT模組,有移遠的M26/EC20 4G 2G模組,樂鑫的ESP8266/ESP32 WiFi模組等等。

RT-Thread技術總監朱天龍表示,極速開發方式有軟體包和小程式兩種,軟體包方面,RT-Thread經過兩年的積累,已經形成多達150+的各類軟體包。小程式方面,RT-Thread支援多樣化的應用指令碼語言,包括人機互動JavaScript,物聯網應用MicroPython。

一站式RTT開發工具RT-Thread Studio正式釋出

對於開發來說,除錯工具非常重要,開發人員可以通過工具降低重複性的工作,提高工作的效率,降低使用門檻,加速開發過程。據朱天龍介紹,上一代工具ENV,RT-Thread3.0釋出於2017年10月,主要功能集成了Kconfig配置系統、自動生成工程、軟體包管理等功能,可以解決搭建scons工程複雜、修改rtconfig.h無從下手、缺乏統一的開發輔助工具等痛點問題。

有了ENV工具之後,還是存在一些痛點問題:第一,學習成本高,雖然ENV工具可以提供Scons、Python的語法環境,但是還是需要進行學習,幾天下來,也不一定能學得熟練;第二,開發工具與ENV需要來回切換;第三,移植門檻高。

為了解決這些痛點,RT-Thread重新打造了屬於RT-Thread的一站式工具Studio,朱天龍在開發者大會上重點介紹了一站式開發和除錯,他說,“RT-Thread Stadio是一個基於Eclipse的平臺,開源開放。其特點體現在:一,針對嵌入式開發,也還有很多不利的地方,在此基礎之上做了很多深度優化,包括功能的定製;二,保持相容MDK/IAR的傳統開發習慣,無縫遷移到新的工具;三,基於Eclipse+CDT平臺,還有程式碼輔助、自動補全,快速重構以及豐富的程式碼編輯功能;四,深度裁剪Eclipse,啟動更快,資源佔用更小。”

RT-ThreadStadio提供兩種工程建立嚮導:一是基於開發板的工程建立嚮導,主要的優勢在於可以快速驗證功能原型,重用豐富的外設驅動,也是入門學習的利器;二是基於晶片的工程建立方式,具備產品研發必備功能,支援RT-Thread nano精簡版本和完整版本,可自動生成驅動程式碼,支援STM全系列微控制器。

未來規劃方面,朱天龍表示,將會推出V1.1版、V1.2版、V1.3版,未來將會更加易用。V1.1將會支援RISC-V等更多種類晶片,支援更多RTTBSP,支援建立多種example工程,支援匯入MDK/IAR的功能;V1.2將提供實時檢視狀態、縣城、資源使用,提供開發板模擬器,模擬模擬,即學習測試的時候,可以用在模擬器上模擬檔案系統、網路、外設操作,脫離硬體;V1.3將支援hardfault診斷,靜態程式碼審查,可評估程式碼漏洞、覆蓋率等。

全志科技、恩智浦等合作伙伴談為何選擇RT-Thread核心

全志資深系統工程師曹子龍在會上表示,Melis3.0整個系統的架構,最核心的部分核心是基於RT-Thread核心,核心向外擴充套件,外面是Melis本身自帶的核心框架,比如檔案系統、裝置管理、模組化、動態載入、裝置驅動、系統呼叫等,再外一層是Posix語義、自己定義的多媒體編碼解碼、中介軟體、網路、圖顯。最終上層,整個方案應用在編碼、解碼、圖顯等,其中,圖顯目前可以達到2k顯示的解析度。

為什麼會選擇RT-Thread作為核心?曹子龍介紹,選擇的核心圍繞兩點:一是安全可控,立場中立;二是OS實現特性。

安全可控、立場中立方面,曹子龍談到幾點優勢:一是RT-Thread使用的協議足夠友好,這對於商業公司來說,可以保護公司自己的東西;二是RT-Thread線上社群比較繁榮;三是Posix相容,因為Melis是基於Posix介面從下向上搭建的;四是RT-Thread的編碼規範,看著比較清爽;五是元件豐富。

OS實現特性方面,也談到幾點:一是希望支援RR排程,之前的OS是不支援的,而RT-Thread支援;二是核心物件數量不限,之前OS可能建立256個訊號量,就不能再多了,都是有限制的,如果方案大了,規模大了,訊號量大了,就不能支援,這樣會限制方案的容量,而RT-Thread是滿足的;三是優先順序繼承,多媒體場景很複雜,尤其高清解碼,連續播放,還有可能換臺、換檔案,各種互動,按鍵或者觸控等,優先順序繼承就可以解決一個優先順序的問題,RT-Thread可以支援。

曹子龍說,“綜合各種考慮,2016年選型的時候,RT-Thread是當時最支援Melis方案的核心。”

恩智浦資深應用工程師莫志豪表示,恩智浦選擇與RT-Thread合作,有這樣幾個原因,一是程式碼簡潔看得懂;二是有中文文件,適合恩智浦在國內推廣;三是快速易上手;四是國內獨立的第三方開源免費RTOS;五是基於Apache2.0超友好;六是元件豐富,而且多是痛點元件,比如集成了WIFI元件。目前為止,恩智浦與RT-Thread合作已經長達13年。

RT-Thread支援NXP全平臺,包括Cortex-M0/M0+,Cortex-M3&M4F以及以前的ARM7、還有目前主流的平臺Cortex-M33和Cortex-M7核心,都是基於40nm工藝,另外還有Cortex-A7核心平臺,目前賣得比較好的i.MX6ULL,低功耗NPU的核心,RT-Thread有在做一些支援。

此次大會還請到RT-Thread資深使用者逗號科技的嵌入式系統工程師謝陽潤進行方案分享,逗號科技是一家聚焦物流智慧決策領域的公司,謝陽潤談了幾點使用RT-Thread的心得體會,他說,“RT-Thread豐富的功能元件和輔助工具,使開發效率顯著提高;原始碼可讀性很高,增加了開發者review的可能性;社群人才濟濟,活躍度高,有問必答等等。”

最新評論
  • 1 #

    坐了一排標準程式猿啊

  • 2 #

    只支援stm32,其他平臺咋玩

  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 美國死敵突然“出手”,蘋果手機好日子算是到頭了?網友紛紛點贊