RT-Thread 简介
作为一名 RTOS 的初学者,也许你对 RT-Thread 还比较陌生。然而,随着你的深入接触,你会逐渐发现 RT-Thread 的魅力和它相较于其他同类型 RTOS 的种种优越之处。RT-Thread 是一款完全由国内团队开发维护的嵌入式实时操作系统(RTOS),具有完全的自主知识产权。经过近 12 个年头的沉淀,伴随着物联网的兴起,它正演变成一个功能强大、组件丰富的物联网操作系统。
RT-Thread 概述
RT-Thread,全称是 Real Time-Thread,顾名思义,它是一个嵌入式实时多线程操作系统,基本属性之一是支持多任务,允许多个任务同时运行并不意味着处理器在同一时刻真地执行了多个任务。事实上,一个处理器核心在某一时刻只能运行一个任务,由于每次对一个任务的执行时间很短、任务与任务之间通过任务调度器进行非常快速地切换(调度器根据优先级决定此刻该执行的任务),给人造成多个任务在一个时刻同时运行的错觉。在 RT-Thread 系统中,任务通过线程实现的,RT-Thread 中的线程调度器也就是以上提到的任务调度器。
许可协议
RT-Thread 系统完全开源,3.1.0 及以前的版本遵循 GPL V2 + 开源许可协议。从 3.1.0 以后的版本遵循 Apache License 2.0 开源许可协议,可以免费在商业产品中使用,并且不需要公开私有代码。
RT-Thread 的架构
近年来,物联网(Internet Of Things,IoT)概念广为普及,物联网市场发展迅猛,嵌入式设备的联网已是大势所趋。终端联网使得软件复杂性大幅增加,传统的 RTOS 内核已经越来越难满足市场的需求,在这种情况下,物联网操作系统(IoT OS)的概念应运而生。物联网操作系统是指以操作系统内核(可以是 RTOS、Linux 等)为基础,包括如文件系统、图形库等较为完整的中间件组件,具备低功耗、安全、通信协议支持和云端连接能力的软件平台,RT-Thread 就是一个 IoT OS。
RT-Thread 与其他很多 RTOS 如 FreeRTOS、uC/OS 的主要区别之一是,它不仅仅是一个实时内核,还具备丰富的中间层组件,如下图所示。
以上源自RT-Thread官网介绍,官网链接如下
https://www.rt-thread.org/document/site/tutorial/quick-start/introduction/introduction/
下面来总结一下学习RT-Thread需要哪些资料:
RT-Thread 编程风格
https://github.com/RT-Thread/rt-thread/blob/master/documentation/coding_style_cn.md
STM32 系列 BSP 制作教程
https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/docs/STM32%E7%B3%BB%E5%88%97BSP%E5%88%B6%E4%BD%9C%E6%95%99%E7%A8%8B.md
STM32系列BSP外设驱动使用教程
https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/docs/STM32%E7%B3%BB%E5%88%97BSP%E5%A4%96%E8%AE%BE%E9%A9%B1%E5%8A%A8%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B.md
STM32系列外设驱动添加指南
https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/docs/STM32%E7%B3%BB%E5%88%97%E5%A4%96%E8%AE%BE%E9%A9%B1%E5%8A%A8%E6%B7%BB%E5%8A%A0%E6%8C%87%E5%8D%97.md
STM32系列驱动介绍
https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/docs/STM32%E7%B3%BB%E5%88%97%E9%A9%B1%E5%8A%A8%E4%BB%8B%E7%BB%8D.md
内核实验手册
https://www.rt-thread.org/document/site/tutorial/experimental-manual/experimental-manual.pdf
内核基础
https://www.rt-thread.org/document/site/programming-manual/basic/basic/
RT-Thread API参考手册 3.1.1
https://www.rt-thread.org/document/api/
RT-Thread API参考手册(CHM电子书)
https://www.rt-thread.org/document/api/api.zip
RT-THREAD编程指南
https://www.rt-thread.org/document/site/um4003-rtthread-programming-manual.pdf
ENV工具
使用 Env 创建 RT-Thread 项目工程
https://www.rt-thread.org/document/site/application-note/setup/standard-project/an0017-standard-project/
Env 视频教程
Env 视频教程百度网盘链接:https://pan.baidu.com/s/1hUJLQos9ToVJ76y9LYc4Fw
视频教程主要内容:Env 简介、SCons 编译、Menuconfig 配置、软件包管理、在项目中使用 Env 。
参考资料:《Env 用户手册》 。
Env 用户手册
https://www.rt-thread.org/document/site/programming-manual/env/env/
SCons 构建工具
https://www.rt-thread.org/document/site/programming-manual/scons/scons/
Kconfig 语法
https://www.rt-thread.org/document/site/programming-manual/kconfig/kconfig/
RT-THREAD IOT-BOARD SDK开发手册
https://www.rt-thread.org/document/site/tutorial/iot_board_tutorial.pdf