博客专栏

EEPW首页>博客> RTT实时操作系统

RTT实时操作系统

发布人:3280519304 时间:2023-06-16 来源:工程师 发布文章

学习RTT的第一天

在我们进行开发任务量比较大的时候,裸机开发方式的软件框架不清晰,对后续扩展功能极其不利;另一方面,由于软件复杂性的增加,裸机开发对工程师的要求越来越严苛,过多使用中断等因素,都会增加系统的不可靠性。

RT-Thread支持很多硬件平台,并且有很好的开发环境和IDE。及有众多技术文档、参考设计和活跃的开发者社区,这些都能帮助您快速入门和掌握 RT-Thread,开发出优秀的产品。

RT-Thread的架构分为内核层、组件与服务层、RT-Thread 软件包:

内核层:RT-Thread 内核,是 RT-Thread 的核心部分,包括了内核系统中对象的实现, 例如多线程及其调度、信号量、邮箱、消息队列、内存管理、定时器等; libcpu/BSP(芯片移植相关文件 / 板级支持包)与硬件密切相关,由外设驱动和 CPU 移植构成。

组件与服务层:组件是基于RT-Thread 内核之上的上层软件,例如虚拟文件系统、FinSH 命令行界面、 网络框架、设备框架等。采用模块化设计,做到组件内部高内聚,组件之间低耦合。

RT-Thread 软件包:运行于 RT-Thread 物联网操作系统平台上,面向不同应用领域的通用软件组件, 由描述信息、源代码或库文件组成。RT-Thread 提供了开放的软件包平台, 这里存放了官方提供或开发者提供的软件包,该平台为开发者提供了众多可重用软件包的选择, 这也是 RT-Thread 生态的重要组成部分。软件包生态对于一个操作系统的选择至关重要, 因为这些软件包具有很强的可重用性,模块化程度很高,极大的方便应用开发者在最短时间内, 打造出自己想要的系统。

RT-Thread 主要采用 C 语言编写,浅显易懂,方便移植。它把面向对象的设计方法应用到实时系统设计中, 使得代码风格优雅、架构清晰、系统模块化并且可裁剪性非常好。针对资源受限的微控制器(MCU)系统, 可通过方便易用的工具,裁剪出仅需要 3KB Flash、1.2KB RAM 内存资源的 NANO 版本(NANO 是 RT-Thread 官方于 2017 年 7 月份发布的一个极简版内核);而对于资源丰富的物联网设备, RT-Thread又能使用在线的软件包管理工具,配合系统配置工具实现直观快速的模块化裁剪, 无缝地导入丰富的软件功能包,实现类似 Android 的图形界面及触摸滑动效果、智能语音交互效果等复杂功能。

相较于Linux 操作系统,RT-Thread 体积小,成本低,功耗低、启动快速,除此以外 RT-Thread 还具有实时性高、占用资源小等特点,非常适用于各种资源受限(如成本、功耗限制等)的场合。 虽然 32 位 MCU 是它的主要运行平台,实际上很多带有 MMU、基于 ARM9、ARM11 甚至 Cortex-A 系列级别 CPU 的应用处理器在特定应用场合也适合使用 RT-Thread。

在我们使用RT-Thread时可以让我们的系统更加稳定,对于整个程序更好的管理。通过系统提供的FinSH shell系统,能够查看到线程,信号量,互斥锁,事件,邮箱,消息队列的运行情况,以及各个线程的栈使用情况。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词:RTT

技术专区

关闭