最近闻得腾讯开源了TencentOS tiny,就到github上看了一下,对比目前比较热的RTOS显然在文档和第三方支持上少了一些。这里也不过多的进行评价,clone下来在到手的华大开发板上进行体验。
TencentOS tiny是腾讯面向物联网领域开发的实时操作系统,具有低功耗,低资源占用,模块化,安全可靠等特点,可有效提升物联网终端产品开发效率。TencentOS tiny 提供精简的 RTOS 内核,内核组件可裁剪可配置,可快速移植到多种主流 MCU (如STM32全系列)及模组芯片上。而且,基于RTOS内核提供了丰富的物联网组件,内部集成主流物联网协议栈(如 CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT 等),可助力物联网终端设备及业务快速接入腾讯云物联网平台。整体结构如下:
官方介绍有以下优势
(1).小体积 最小内核:RAM 0.6KB,ROM 1.8KB 典型LoraWAN及传感器应用:RAM 3.3KB,ROM 12KB (2).低功耗 休眠最低功耗低至2 uA 支持外设功耗管理框架 (3).丰富的IoT组件 集成主流IoT协议栈 多种通信模组SAL层适配框架; 支持OTA升级 提供简单易用端云API,加速用户业务接入腾讯云 (4).可靠的安全框架 多样化的安全分级方案 均衡安全需求&成本控制 (5).良好的可移植性 内核及IoT组件高度解耦,提供标准适配层 提供自动化移植工具,提升开发效率 (6).便捷的调试手段 提供云化的最后一屏调试功能 故障现场信息自动上传云平台,方便开发人员调试分析 且先不管这些文字性的东西,在board目录中是一些控制器的支持,看到有HC32L136K8TA这颗CPU的支持,那么理论上讲,这里的demo是可以直接运行到板子上的。原本的helloworld中建立了两个任务,分别以1秒和2秒钟的间隔打印count计数,可以从串口看到实际效果。
为了更好的看到RTOS的效果,修改任务为以下内容,一个LED闪烁任务,一个串口打印任务,还有一个LCD显示任务。
TencentOS tiny的入口如下
osKernelInitialize(); //TOS Tiny kernel initialize
osThreadCreate(osThread(application_entry), NULL);// Create TOS Tiny task
osKernelStart();//Start TOS Tiny
编译无误,下载到板子上运行,效果立马显现。
体验到此结束,还没有详细的了解这款系统的代码结构,API和通信机制。此外和其他RTOS一样,TencentOS tiny也同样有丰富的组件支持,MQTT,TCP, UDP, LWIP等一应俱全,极大的方便在物联网方向的应用。且支持RISC-V架构的CPU,最近兆易创新的新品也在热推,感兴趣的可以深入了解。
工程文件没有重构,体积较大,这里附上修改后的关键文件,替换工程对应的即可一睹为快。
hello_world.rar
(689 Bytes)
|