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

硬件: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项目。

相关推荐
jjddzyh1 小时前
单片机串口控制
单片机·嵌入式硬件
heater4041 小时前
【STM32】I2C为什么要开漏输出和上拉电阻
stm32·单片机·嵌入式硬件
沐欣工作室_lvyiyi2 小时前
数字PWM直流调速系统设计(论文+源码)
stm32·单片机·嵌入式硬件·物联网·毕业设计
嵌入式小杨3 小时前
阻抗(Impedance)、容抗(Capacitive Reactance)、感抗(Inductive Reactance)
单片机·嵌入式硬件·物联网·学习·面试·硬件工程
小鱼做毕设4 小时前
单片机实物成品-010 智能宠物喂食系统(代码+硬件+论文)
单片机·嵌入式硬件·宠物
逝灮5 小时前
Keil5报错:Error: L6218E: Undefined symbol __initial_sp (referred from entry2.o).
stm32·单片机·嵌入式硬件·keil5·keil5报错
黑果果的思考6 小时前
STM32 NOR FLASH(SPI FLASH)驱动移植(2)
stm32·嵌入式硬件
Asa3196 小时前
无刷直流电机偏移角度
stm32·单片机·嵌入式硬件
gantengsheng8 小时前
基于51单片机(STC32G12K128)和8X8彩色点阵屏(WS2812B驱动)的小游戏《贪吃蛇》
嵌入式硬件·游戏·51单片机·贪吃蛇·独立按键·8x8彩色点阵屏·矩阵按键
PegasusYu8 小时前
STM32CUBEIDE FreeRTOS操作教程(十二):std dynamic memory 标准动态内存
stm32·freertos·rtos·stm32cubeide·free-rtos·标准动态内存·dynamic memeory