【STM32RT-Thread零基础入门】 2. 新建RT-Thread项目
硬件:STM32F103ZET6、ST-LINK、usb转串口工具
文章目录
- 前言
- 一、新建RT-Thread项目
- 二、项目结构
- 三、构建项目
- 四、下载程序(调试器下载)
- 五、终端交互
- 总结
前言
- 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项目。
相关文章:
【STM32RT-Thread零基础入门】 2. 新建RT-Thread项目
硬件:STM32F103ZET6、ST-LINK、usb转串口工具 文章目录 前言一、新建RT-Thread项目二、项目结构三、构建项目四、下载程序(调试器下载)五、终端交互总结 前言 RT-Thread的全称是Real Time Thread,顾名思义,它是一个嵌…...
别人直播的时候怎么录屏?分享一些录屏方法
随着互联网的快速发展,直播已经成为人们日常生活中不可或缺的一部分。但是,有时候我们可能会错过某些重要的直播内容,这时候就需要录屏来保存和观看。那么,如何录屏别人的直播呢?本文将分享一些录屏方法和技巧&#…...
React Native 在高IOS版本下无法显示图片的问题处理
图片在低ios版本下可以看到图片,在高版本ios下显示不了图片 直接上解决方法 找文件 /node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m 修改源码 原代码 if (_currentFrame) {layer.contentsScale self.animatedImageScale;layer.contents…...
SSH远程连接MacOS catalina并进行终端颜色配置
一、开关SSH服务 在虚拟机上安装了MacOS catalina,想要使用SSH远程进行连接,但是使用“系统偏好设置”/“共享”/“远程登录”开关进行打开,却一直是正在启动“远程登录”: 难道是catalina有BUG?不过还是有方法的&…...
用JSON.toJSONString转JSON时,属性的值为null时,输出的JSON里没有该属性
1、问题 用JSON.toJSONString转JSON时,当属性值为null的话,转出来的JSON里没有了值为null的属性,属性丢失了 2、原因 用fastjson将java对象转json字符串时会默认去除空字段 2、解决办法 在JSON.toJSONString方法加上SerializerFeature这一…...
Java版企业电子招标采购系统源码—企业战略布局下的采购寻源tbms
项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以…...
轻拍牛头(约数)
题意:求ai在n个数中,ai可以整除的数有多少个,不包括ai自己。 分析:暴力写需要n^2的时间复杂度,此时想一下预处理每个数的倍数,约数和倍数是有关系的,把每个数的倍数都加上1. #include<bits…...
Vc - Qt - 绘制窗口背景色
要在Qt中绘制一个背景颜色,你可以使用Qt的绘图功能来完成。下面是一种简单的方法: 步骤1:在你想要绘制背景颜色的QWidget(例如QMainWindow或QDialog)的派生类中,重写 它的paintEvent函数。步骤2:…...
js和cocos creator学习笔记
1.Javascript有哪些数据类型?举例两个最常见的内置对象数据类型? 常用的数据类型:Number,String,Boolean,Null,Undefined,Object 常见内置对象:Array,Function2.下面代码输出内容是什么? let a []; a[10] 10; console.log(a.length); console.log(a[0]); a[200] undefi…...
Ceph分布式存储系统
Ceph 是一个开源的分布式存储系统,旨在提供高性能、高可靠性和可扩展性的存储解决方案。它被设计用于管理大规模的数据,可以轻松地扩展到数千台服务器和多个存储节点,适用于私有云、公有云、虚拟化环境等多种场景。 Ceph 的主要特点和组件包…...
阿里云SMS,APi接口返回错误码
API错误码 更新时间:2023-06-29 16:33提交缺陷 产品详情 相关技术圈 我的收藏 调用API接口失败时,会返回错误码。本文档为您提供API接口错误码列表,请根据错误码和对应错误信息排查问题。 错误码(Code) 错误信息…...
Floyd算法
正如我们所知道的,Floyd算法用于求最短路径。Floyd算法可以说是Warshall算法的扩展,三个for循环就可以解决问题,所以它的时间复杂度为O(n^3)。 Floyd算法的基本思想如下:从任意节点A到任意节点B的最短路径不外乎2种可能ÿ…...
SpringBoot究竟应该如何学习?
如果你有Spring的基础,学习Spring Boot就很简单了。 首先要知道Spring Boot是建立在Spring框架之上的,它旨在简化和加速Java应用程序的开发过程。 Spring Boot的目标是简化Spring应用程序的配置和开发,通过提供自动配置、快速开发和零配置的…...
为什么很多人认为ChatGPT最好的替代工具是Claude?
ChatGPT引领着生成式AI聊天机器人领域,但Claude AI看起来是一个有力的竞争者。 前段时间,ChatGPT的强劲竞争对手Claude2面世。当时很多人认为它可能会取代ChatGPT,在体验过一段时间之后,深以为然。原因如下: 更强大的…...
学习Vue:简介和优势
什么是 Vue.js? Vue.js 是一个用于构建用户界面的渐进式 JavaScript 框架。它专注于视图层,并且可以轻松地集成到现有的项目中。Vue.js 的设计理念是渐进式,这意味着您可以根据项目的需要逐步引入 Vue.js,从而更好地控制应用的复…...
***is not a commit and a branch ‘***‘ cannot be created from it 报错
git执行如下代码 git checkout -b daily/1.0.0 origin/daily/1.0.0遇到报错 fatal: ‘origin/daily/1.0.27’ is not a commit and a branch ‘daily/1.0.27’ cannot be created from it 解决办法: git fetch --all原因: 报错说is not a commit而不是说branch doesn’t exis…...
QT信号槽连接方式
1.QT信号槽主要分两个连接方式,手动和自动: 1.1 使用 connect() 函数手动连接信号和槽: QObject::connect(sender, SIGNAL(signal()), receiver, SLOT(slot())); 自动: 1.2 使用 lambda 表达式连接信号和槽: connect(s…...
【yml文件的解释】
目录 一、yml的简介二、手写yml文件进行配置三、使用yaml格式导出生成模板四、deployment.yaml文件详解五、Pod yaml文件详解六、Service yaml文件详解 一、yml的简介 Kubernetes 支持 YAML 和 JSON 格式管理资源对象 JSON 格式:主要用于 api 接口之间消息的传递 Y…...
ChatGPT or BingChat
你相信我们对大模型也存在「迷信权威」吗? ChatGPT 的 GPT-4 名声在外,我们就不自觉地更相信它,优先使用它。但我用 ChatALL 比较 AI 大模型们这么久,得到的结论是: ChatGPT GPT-4 在大多数情况下确实是最强…...
QT 使用第三方库QtXlsx操作Excel表
1.简介 一直以来,都想学习一下C/C如何操作excel表,在网上调研了一下,觉得使用C/C去操作很麻烦,遂转向QT这边;QT有一个自带的类QAxObject,可以使用他去操作,但随着了解的深入,觉得他…...
无需配置环境,用快马平台5分钟搭建你的第一个java学生管理系统原型
最近在尝试用Java写一个简单的学生信息管理系统原型,发现用传统方式从零开始搭建实在太费时间。光是安装JDK、配置环境变量这些前置工作就能劝退不少初学者。后来发现了InsCode(快马)平台,整个过程变得异常简单,5分钟就能跑通核心流程。 项目…...
【Ease UI】2026-04-03组件更新:新增组件xly-file-preview文件预览组件
🚀 即插即用的 Vue 3 业务组件库,让中后台开发回归简单 Ease UI 是一套为「快速复制」而生的 Vue 3 业务组件库。每个组件都是独立的 .vue 单文件,不依赖任何外部样式或工具函数,直接复制到你的项目即可使用。它仅依赖 Element P…...
Qwen-Image-Layered实战:一键将图片拆成可编辑图层,设计师效率提升10倍
Qwen-Image-Layered实战:一键将图片拆成可编辑图层,设计师效率提升10倍 你是不是也遇到过这样的场景?客户发来一张产品海报,说“把背景换成星空,把Logo放大一点,再把模特往右移一点”。听起来只是几个简单…...
OpenFBX:轻量级FBX解析库的架构设计与性能优化实践
OpenFBX:轻量级FBX解析库的架构设计与性能优化实践 【免费下载链接】OpenFBX Lightweight open source FBX importer 项目地址: https://gitcode.com/gh_mirrors/op/OpenFBX OpenFBX是一款专为游戏引擎和3D应用设计的轻量级FBX文件解析库,通过仅两…...
终极指南:3步解锁原神帧率限制,体验144Hz流畅游戏
终极指南:3步解锁原神帧率限制,体验144Hz流畅游戏 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock genshin-fps-unlock是一款专为《原神》PC玩家设计的帧率解锁工具…...
深入浅出理解注意力机制:原理、实战、应用及训练与推理阶段差异
深入浅出理解注意力机制:原理、实战、应用及训练与推理阶段差异 摘要:注意力机制是深度学习领域的核心创新,更是Transformer架构的灵魂,其灵感源自人类的“选择性关注”能力,解决了传统模型长距离依赖捕捉不足、并行计…...
3个维度突破原神帧率限制:高性能游戏体验完整释放指南
3个维度突破原神帧率限制:高性能游戏体验完整释放指南 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 一、问题导入:被禁锢的视觉体验 在高刷新率显示器普及的今…...
多显示器壁纸难题终结者:Superpaper如何让你的桌面焕然一新?
多显示器壁纸难题终结者:Superpaper如何让你的桌面焕然一新? 【免费下载链接】superpaper A cross-platform multi monitor wallpaper manager. 项目地址: https://gitcode.com/gh_mirrors/su/superpaper 你是否曾为多显示器设置壁纸而烦恼&#…...
如何用 Kinovea 实现专业运动分析?免费视频解析工具完全指南
如何用 Kinovea 实现专业运动分析?免费视频解析工具完全指南 【免费下载链接】Kinovea Video solution for sport analysis. Capture, inspect, compare, annotate and measure technical performances. 项目地址: https://gitcode.com/gh_mirrors/ki/Kinovea …...
ProperTree:为什么这款跨平台GUI编辑器让配置管理变得如此简单?
ProperTree:为什么这款跨平台GUI编辑器让配置管理变得如此简单? 【免费下载链接】ProperTree Cross platform GUI plist editor written in python. 项目地址: https://gitcode.com/gh_mirrors/pr/ProperTree 还在为手动编辑复杂的Plist配置文件而…...
