TencentOS-tiny又有一个操作系统开源

16次阅读

共计 2851 个字符,预计需要花费 8 分钟才能阅读完成。

新闻

2019 年 9 月 18 日,腾讯宣布将 开源 自主研发 轻量级 物联网实时操作系统TencentOS tiny。相比市场上其它系统,腾讯 TencentOS tiny 在资源占用、设备成本、功耗管理以及安全稳定等层面极具竞争力。该系统的开源可大幅降低物联网应用开发成本,提升开发效率,同时支持一键上云,对接云端海量资源。

源码已在 github 上开源:https://github.com/Tencent/TencentOS-tiny

正题

很荣幸,能亲眼见证 TencentOS tiny 的开源,也很荣幸能在一个多月前内测使用过它~

不得不说,TencentOS tiny 的内核确实是非常非常小巧,最少资源占用为 RAM 0.6KB,ROM 1.8 KB。这是他们团队自主研发的 RTOS,源码非常简单易懂,源码作者以非常清晰的逻辑实现了整个内核(还是非常佩服戴大神的,膜拜一下)。

了解一下 TencentOS tiny 的框架

TencentOS tiny 主要由 一个轻量级 RTOS 内核 + 多个物联网组件 构成,,从下到上主要包括:

CPU 库:TencentOS tiny 支持的 CPU IP 核架构,当前主要支持ARM Cortex M0/3/4/7,还有现在很火的RISC-V,当然,腾讯物联网团队肯定也会支持更多种类更多 IP 核与开发板。

驱动管理层 :包括BSP 板级支持包,这些东西主要由 MCU 芯片厂家开发与维护,、HAL硬件抽象、Drivers 设备驱动,这部分对于纯粹嵌入式开发者来说还是很重要的,肯定会越来越完善的!

内核 TencentOS tiny 实时内核包括任务管理、实时调度、时间管理、中断管理、内存管理、异常处理、软件定时器、链表、消息队列、信号量、互斥锁、事件标志等模块,接下来我也将写一系列 TencentOS tiny 内核 源码分析 的文章,敬请期待吧!

IoT 协议栈 TencentOS tiny 提供 lwip、AT Adapter、SAL 层,支持不同的网络硬件,如 以太网、串口 WIFI、GPRS、NB-IoT、4G等通信模块。在 TCP/IP 网络协议栈上提供常用的物联网协议栈应用层,如COAP、MQTT,支撑终端业务快速接入腾讯云;

安全框架 TencentOS tiny 为了确保物联网终端数据传输安全以及设备认证安全,提供了比较完整的安全解决方案。安全框架提供的 DTLSTLS安全协议加固了 COAPMQTT的传输层,可确保物联网终端在对接腾讯云时实现安全认证和数据加密;另外针对低资源的终端硬件,安全框架还提供与 腾讯云 IoTHub配套的密钥认证方案,确保资源受限设备也能在一定程度上实现设备安全认证;物联网安全是非常重要的,这些框架也是必须存在的。

组件框架 TencentOS tiny 提供 文件系统、KV 存储、自组网、JS 引擎、低功耗框架、设备框架、OTA、调试工具 链等一系列组件,这部分我觉得还是很不错的,期待 ing;

开放 API (规划开发中):TencentOS tiny将在协议中间件和框架层上提供开放 API 函数,这样子就能很方便使用中间组件的功能,我是最喜欢这种开发的,不造轮子,能直接使用。简单来说这个 API 能快速对接腾讯云,实现终端业务上云的需求,最大程度减少终端物联网产品开发周期,节省开发成本;

示例应用 TencentOS tiny 提供的示例代码,模块测试代码等,方便用户参考使用。

__腾讯云物联网平台__(图中最上层的部分):严格来说这部分不算 TencentOS tiny 的框架内容,这是接入平台层了,腾讯云的物联网平台都是提供多种语言的 SDK 包,当然在嵌入式设备上肯定使用 C SDK 的,不过总的来说都是很不错的。

总的来说 TencentOS tiny 还是非常不错的,该有的功能都有,可以考虑使用一下这个操作系统~

对于杰杰来说,作为嵌入式开发者,我是很看好物联网的,也一直在往这条路上缓缓前行,在万物互联的时代,说不定真的能在 赚钱 的同时还能 为世界做出一丢丢贡献(如果没有那就算了)。

据我所知,TencentOS tiny后续也将推出基于事件驱动模型的调度,用于某些单片机上不支持基于上下文调度的多任务。

顺便再透露一下,我将接下来会写一系列 TencentOS tiny 内核分析的文章,全网首发哦!ps:得到源码作者的亲自指点,绝对干货!!!

喜欢就关注我吧!

图文教程:

简单上手:

  • 超详细的 TencentOS tiny 移植到 STM32F103 全教程

深度源码分析:

  • 【TencentOS tiny 学习】源码分析(1)——task
  • 【TencentOS tiny 学习】源码分析(2)——调度器
  • 【TencentOS tiny 学习】源码分析(3)——队列
  • 【TencentOS tiny 学习】源码分析(4)——消息队列
  • 【TencentOS tiny 学习】源码分析(5)——信号量
  • 【TencentOS tiny 学习】源码分析(6)——互斥锁
  • 【TencentOS tiny 学习】源码分析(7)——事件
  • 【TencentOS tiny 学习】源码分析(8)——软件定时器

配套例程:

  • 【TencentOS tiny 学习】例程(0)——hello world
  • 【TencentOS tiny 学习】例程(1)——task
  • 【TencentOS tiny 学习】例程(2)——队列
  • 【TencentOS tiny 学习】例程(3)——消息队列
  • 【TencentOS tiny 学习】例程(4)——信号量
  • 【TencentOS tiny 学习】例程(5)——互斥锁
  • 【TencentOS tiny 学习】例程(6)——事件
  • 【TencentOS tiny 学习】例程(7)——软件定时器
  • 【TencentOS tiny 学习】例程(8)——内存池
  • 【TencentOS tiny 学习】例程(9)——内存堆

视频教程:

  • 【TencentOS tiny 学习】视频汇总
  • 【视频】01- 初识 TencentOS tiny
  • 【视频】02-TencentOS tiny 基础知识
  • 【视频】03-TencentOS tiny 移植
  • 【视频】04-TencentOS tiny 任务 -1
  • 【视频】05-TencentOS tiny 任务 -2
  • 【视频】06-TencentOS tiny 队列 -1
  • 【视频】07-TencentOS tiny 队列 -2
  • 【视频】08-TencentOS tiny 消息队列
  • 【视频】09-TencentOS tiny 信号量 -1
  • 【视频】10-TencentOS tiny 信号量 -2
  • 【视频】11-TencentOS tiny 互斥锁 -1
  • 【视频】12-TencentOS tiny 互斥锁 -2
  • 【视频】13-TencentOS tiny 互斥锁 -3
  • 【视频】14-TencentOS tiny 事件 -1
  • 【视频】15-TencentOS tiny 事件 -2
  • 【视频】16-TencentOS tiny 软件定时器 -1
  • 【视频】17-TencentOS tiny 软件定时器 -2
  • 【视频】18-TencentOS tiny 软件定时器 -3

相关 PPT 资料:

  • 【TencentOS tiny 学习】视频 PPT

喜欢就关注我吧!

相关代码可以在公众号后台获取。
欢迎关注“物联网 IoT 开发”公众号

正文完
 0