騰訊Iot操作系統 TencentOS tiny 研究

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雲平臺的發展。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章