【STM32&RT-Thread零基础入门】 2. 新建RT-Thread项目

文章介绍了如何在STM32F103ZET6开发板上使用RT-Thread创建新项目,包括项目结构、配置、构建过程,以及如何通过调试器下载和终端交互。重点强调了RT-Thread的实时多线程特性和丰富的组件生态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

硬件: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项目
在这里插入图片描述

二、项目结构

在这里插入图片描述

  1. RT-Thread Settings 对其双击可以打开RT-Thread的图形化配置工具
  2. CubeMX Settings 对其双击可以打开STM32CubeMX图形化配置工具,对STM32芯片的硬件外设进行配置
  3. applications 用户应用程序目录,所有应用程序都可以放到这里,其中包括main.c
  4. Debug 项目编译过程文件目录,如编译过程产生的.o文件等,此文件需要先构建一次才可显示
  5. drivers 和硬件平台相关的设备驱动文件目录
  6. libraries 和平台相关的底层底层库。对于STM32平台,目前版本使用的STM32官方的HAL库作为平台底层驱动库
  7. linkscripts 项目的链接脚本
  8. rt-thread rt-thread内核代码
  9. rtconfig.h rt-thread的配置头文件,在RT-Thread Settings中所做的修改,都会改变这个文件,这个文件不能手动修改

三、构建项目

构建是指对项目代码进行编译,构建方法如下所示,选择需要构建的工程(如图中的1),然后点击工具栏上的“构建”按钮(如图中的2)对项目进行构建。
在这里插入图片描述
构建完成后,显示信息如下:
在这里插入图片描述

四、下载程序(调试器下载)

根据实际选择相应的调试器完成下载,此处选择stlink。
在这里插入图片描述

五、终端交互

  1. 将最小系统板的uart1串口与电脑相连

  2. 点击“终端”按钮,启动串行终端配置界面
    在这里插入图片描述

  3. 配置好串口参数
    在这里插入图片描述

  4. 连接串口后可观察到系统输出
    在这里插入图片描述


总结

本文主要测试了新建RT-Thread项目。

### 解决方案 在 RT-Thread Studio 中创建新项目并使用 Nano 配置时,如果发现 **RT-Thread Settings** 中缺少可用的软件包,通常是因为未正确加载或安装所需的组件。以下是可能的原因以及解决方案: #### 原因分析 1. 软件包尚未被导入到当前工程中。 2. 当前项目的配置文件(`.config` 或 `KConfig` 文件)可能存在缺失或损坏的情况[^1]。 3. 使用 Nano 配置可能导致某些功能模块默认关闭,从而无法显示相关软件包选项[^4]。 --- #### 解决方法 ##### 方法一:更新软件包列表 通过以下步骤重新同步和更新软件包: 1. 打开 RT-Thread Studio 的菜单栏中的 **Package Manager** 功能。 2. 点击工具栏上的刷新按钮以获取最新的在线软件包列表。 3. 如果目标软件包存在,则手动勾选所需项,并点击应用更改。 此操作可以确保本地环境拥有最新版本的支持库及其依赖关系[^3]。 ##### 方法二:修改 KConfig 文件 当特定功能未能正常展示于图形界面时,可尝试编辑底层配置脚本: - 定位至工程项目根目录下的 `.rtconfig` 和 `Kconfig` 文件; - 查找对应模块的关键字定义部分,例如 UART 驱动支持应包含如下字段: ```makefile config RT_USING_UART bool "Enable UART support" default y ``` - 将其状态设为启用 (`y`) 幄保存改动后再返回 IDE 进行编译验证。 注意这种方法适用于熟悉 Makefile 架构开发者,在不确定具体参数含义之前谨慎调整以免引发其他异常行为[^2]。 ##### 方法三:切换至全量模式初始化 考虑到 Nano 版本精简特性可能会屏蔽掉较多非必要单元,建议考虑采用 Standard Mode 来重建整个框架结构再逐步裁剪不必要的片段达到优化目的同时保留更多扩展可能性: ```python def create_standard_project(): project_type = 'Standard' configuration_toolchain() add_all_default_packages() # Ensure all standard packages are included. ``` 上述代码仅为示意如何程序化构建一个标准类型的 RTT 工程流程而非实际执行命令,请依据官方文档指导完成相应设置过程。 --- ### 注意事项 - 若仍然遇到问题,确认硬件开发板型号与所选用 BSP(Baseboard Support Package) 是否匹配兼容至关重要。 - 对于初学者而言推荐先按照教程视频一步步来熟悉各项基本概念之后再去深入探究高级定制话题会更加顺畅高效.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZRob

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值