1 TencentOS tiny 系統簡介
1.1 產品特性
- 騰訊物聯網操作系統(TencentOS tiny)是騰訊面向物聯網領域開發的實時操作系統,具有低功耗,低資源佔用,模塊化,可裁剪等特性。
- TencentOS tiny 可以有效減少開發人員在任務管理、硬件支持、網絡協議支持、安全方案以及文件系統、 KV 存儲、在線升級等常用功能組件相關的開發中所需要的時間和工作量。
1.2 產品優點
- 小體積:內核佔用空間K級
- 低功耗
- 豐富Iot組件
- 集成主流 IoT 協議棧(MQTT、CoAP、LoRaWAN、NB-IoT 等)。
- 多種通信模組 SAL 層適配框架,降低網絡硬件適配時間成本。
- 支持 OTA 升級。
- 提供簡單易用端雲 API,加速用戶業務接入騰訊雲。
- 可靠的安全框架
- 良好的可移植性
- 內核及 IoT 組件高度解耦,提供標準適配層。
- 提供自動化移植工具,提升開發效率。
- 便捷的調試手段
- 提供雲化的最後一屏調試功能
- 故障現場信息自動上傳雲平臺,方便開發人員調試分析。
1.3 產品架構
TencentOS tiny 由一個輕量級 RTOS 內核 + 多個物聯網組件構成
TencentOS tiny 主體架構圖,從下到上主要包括:
- CPU 庫 :TencentOS tiny 支持的 CPU IP 核架構,當前主要支持 ARM Cortex M0/3/4/7。
- 驅動管理層 :包括板級支持包(BSP,主要由 MCU 芯片廠家開發與維護)、硬件抽象(HAL,主要由 TencentOS tiny提供,方便不同芯片的適配與移植)、設備驅動(Drivers,例如 Wi-Fi、GPRS、LORA 等模塊的驅動程序)。
- 內核 :TencentOS tiny 實時內核包括任務管理、實時調度、時間管理、中斷管理、內存管理、異常處理、軟件定時器、鏈表、消息隊列、信號量、互斥鎖、事件標誌等模塊。
- IoT 協議棧:TencentOS tiny 提供 lwip、AT Adapter、SAL 層,支持不同的網絡硬件,例如以太網、串口 Wi-Fi、GPRS、NB-IoT、4G等通信模塊。TCP/IP 網絡協議棧上提供常用的物聯網協議棧,例如 COAP、MQTT,支撐終端業務快速接入騰訊雲。
- 安全框架:TencentOS tiny 爲了確保物聯網終端數據傳輸安全以及設備認證安全,提供了完整的安全解決方案。安全框架提供的 DTLS 和 TLS 安全協議,加固了 COAP 及 MQTT 的傳輸層,可確保物聯網終端在對接騰訊雲時實現安全認證和數據加密;另外針對低資源的終端硬件,安全框架還提供與騰訊雲 IoTHub 配套的密鑰認證方案,確保資源受限設備也能在一定程度上實現設備安全認證。
- 組件框架:TencentOS tiny 提供文件系統、KV 存儲、自組網、JS 引擎、低功耗框架、設備框架、OTA、調試工具鏈等一系列組件,供用戶根據業務場景選用。
- 開放 API(規劃開發中):TencentOS tiny 將在協議中間件和框架層上提供開放 API 函數,方便用戶調用中間件功能,使用戶無需過多關心中間件具體實現,快速對接騰訊雲,實現終端業務上雲的需求,期望最大程度減少終端物聯網產品開發週期,節省開發成本。
- 示例應用 :TencentOS tiny 提供的示例代碼,模塊測試代碼等,方便用戶參考使用。
以上內容來源於產品官方文檔:https://cloud.tencent.com/document/product/1098/35669
2 TencentOS-tiny 產品定位
TencentOS-tiny系統應該是在開源系統內核基礎上進行的魔改和擴展。TencentOS tiny目前主要支持ARM Cortex M核芯片的移植,比如STM32 基於Cortex M核全系列、NXP 基於Cortex M核全系列等。也就是說,系統的使用場景是Iot的終端、邊緣節點。並且是那種功能比較單一的Iot設備,可穿戴、傳感器、智能家電等。此係統不適合更復雜的Iot設備,如智能攝像頭、NVR等。
系統面向的用戶、開發者則是Iot設備的開發商。
簡單翻看TencentOS-tiny的SDK文檔後,系統向開發者開放的能力如下:
內核 API | 系統管理 | 任務管理 | 堆內存管理 | 塊內存管理 | 互斥量 mutex | 信號量 semaphore | 隊列 queue | 事件 event | 消息隊列 msg_queue | 字符流先入先出隊列 fifo | 定時器 timer | 時間管理 | 功耗管理 組件 API | MQTT 端雲對接 | CMSIS 適配層 網絡 API | sal 模組聯網接口 | lora 模組聯網接口 | 騰訊定製固件模組聯網接口 |
首先,TencentOS-tiny是一個實時操作系統,內核是單地址空間的可搶佔式實時內核,TencentOS tiny 內核不提供進程模型,任務對應線程的概念,是最小的調度運行體,也是最小的資源持有單位。可以理解爲,系統基於單進程,多線程(任務)模型。內核提供,任務調度、內存管理、任務間同步及通訊、消息隊列、任務微控制等基本功能。
網絡功能方面,提供MQTT雲端連接功能、sal協議棧操作、lora聯網接口,並支持騰訊定製通訊模塊加載。可以看出,騰訊希望通過提供操作系統及Iot開發工具鏈,使更多開發者投入到騰訊陣營,其終極目標應該是爲了推動器Iot雲平臺的發展。