硬件:STM32F103ZET6、ST-LINK、usb转串口工具
文章目录
前言
- RT-Thread的全称是Real Time Thread,顾名思义,它是一个嵌入式实时多线程操作系统。相较于 Linux
操作系统,RT-Thread 体积小,成本低,功耗低、启动快速,除此之外 RT-Thread
还具有实时性高、占用资源小等特点,非常适用于各种资源受限(如成本、功耗限制等)的场合 RT-Thread 系统完全开源,目前版本遵循 - Apache License 2.0 开源许可协议,可以免费在商业产品中使用,并且不需要公开私有代码。
- RT-Thread 与其他很多RTOS 如 FreeRTOS、uC/OS的主要区别之一是,它不仅仅是一个实时内核,还具备丰富的中间层组件和应用软件生态,其整体架构如图所示
RT-Thread 软件包:运行于 RT-Thread 操作系统上,面向不同应用领域的通用软件组件,由描述信息、源代码或库文件组成。RT-Thread 提供了开放的软件包平台,这里存放了官方提供或开发者提供的软件包,该平台为开发者提供了众多可重用软件包的选择。因为这些软件包具有很强的可重用性,模块化程度很高,极大的方便应用开发者在最短时间内,打造出自己想要的系统。
组件与服务层:组件是基于 RT-Thread 内核之上的上层软件,例如虚拟文件系统、FinSH 命令行界面、网络框架、设备框架等。采用模块化设计,做到组件内部高内聚,组件之间低耦合。
内核层:是 RT-Thread 的核心部分,包括了内核系统中对象的实现,例如多线程及其调度、信号量、邮箱、消息队列、内存管理、定时器等;libcpu/BSP(芯片移植相关文件/板级支持包)与硬件密切相关,由外设驱动和 CPU 移植构成。
一、新建RT-Thread项目
在RT-Thread Studio中,找到"文件->新建->RT-Thread项目",单击"RT-Thread项目",就可以打开"新建RT-Thread项目"选项卡。
设置项目名称为"STM32F103ZET6_CAR"、项目保存位置、选择项目所用芯片的厂商和型号等信息,单击"完成",RT-Thread Studio就会帮我们新建一个名字为"STM32F103ZET6_CAR"的RT-Thread项目
二、项目结构
- RT-Thread Settings 对其双击可以打开RT-Thread的图形化配置工具
- CubeMX Settings 对其双击可以打开STM32CubeMX图形化配置工具,对STM32芯片的硬件外设进行配置
- applications 用户应用程序目录,所有应用程序都可以放到这里,其中包括main.c
- Debug 项目编译过程文件目录,如编译过程产生的.o文件等,此文件需要先构建一次才可显示
- drivers 和硬件平台相关的设备驱动文件目录
- libraries 和平台相关的底层底层库。对于STM32平台,目前版本使用的STM32官方的HAL库作为平台底层驱动库
- linkscripts 项目的链接脚本
- rt-thread rt-thread内核代码
- rtconfig.h rt-thread的配置头文件,在RT-Thread Settings中所做的修改,都会改变这个文件,这个文件不能手动修改
三、构建项目
构建是指对项目代码进行编译,构建方法如下所示,选择需要构建的工程(如图中的1),然后点击工具栏上的"构建"按钮(如图中的2)对项目进行构建。
构建完成后,显示信息如下:
四、下载程序(调试器下载)
根据实际选择相应的调试器完成下载,此处选择stlink。
五、终端交互
-
将最小系统板的uart1串口与电脑相连
-
点击"终端"按钮,启动串行终端配置界面
-
配置好串口参数
-
连接串口后可观察到系统输出
总结
本文主要测试了新建RT-Thread项目。