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 函数,方便用户调用中间件功能,使用户无需过多关心中间件具体实现,快速对接腾讯云,实现终端业务上云的需求,期望最大程度减少终端物联网产品开发周期,节省开发成本。
体积最小仅1.8KB、功耗最低2微安
TencentOS tiny 提供业界最精简的 RTOS 内核,最少资源占用为 RAM 0.6 KB,ROM 1.8 KB。在类似烟感和红外等实际场景下,TencentOS tiny 的资源占用仅为:RAM 2.69 KB、ROM 12.38 KB,极大地降低硬件资源占用。同时,看似“麻雀虽小”,却“五脏俱全”。对于复杂的任务管理、实时调度、时间管理、中断管理、内存管理、异常处理等功能,TencentOS tiny 都可支持。
在功耗上,TencentOS tiny 还应用了高效功耗管理框架,可以针对不同场景降低功耗。比如 TencentOS tiny 内部的定时机制在发现业务没有运行的时候,会自动启动休眠状态,有效降低功耗。根据实测的数据显示,TencentOS tiny 最低的休眠功耗仅有 2 微安。开发者也可以根据业务场景选择可参考的低功耗方案,降低设备耗电,延长设备寿命。
远程调试
由于很多物联网的终端设备在实际场景下,位于荒郊野外或者很远的地方,出现问题的时候非常难定位。为了能够减少这个问题,当终端出现问题的时候,TencentOS tiny 会把一些故障信息记录下来,当它再重启的时候首先把错误数据上报云端,这个功能极大的方便了开发者查找故障原因。从而远在千里之外,就可以快速排除故障。
另外,TencentOS tiny 的内核以及其上层的物联网组件框架,都做了高度解耦,保证和其它模块之间连接的适配。同时,TencentOS tiny 还提供多种编译器快速移植指南和移植工具,帮助开发者向新硬件开发板的一键移植,省时省力,有效提升开发效率。
除此之外,TencentOS tiny 同样关注系统的安全性,提供多个等级的 IoT 安全方案,用户可以根据业务场景和成本要求选择合适的安全解决方案,有效平衡安全需求和成本控制。
目前,TencentOS tiny 已支持意法半导体、恩智浦、华大半导体、瑞兴恒方、国民技术等主流厂商多种芯片和模组。
腾讯物联网团队表示:“将腾讯自主研发的物联网操作系统 TencentOS tiny 开源,不仅可以将腾讯在物联网领域的技术和经验和全球开发者分享,还能够汲取全球物联网领域的优秀成果和创新理念,最终推动整体物联网生态的繁荣以及万物智联时代的到来。”
查看 TencentOS tiny 项目:https://www.oschina.net/p/tencentos-tiny
精彩推荐: