1、安装RT-Thread Studio
在官网下载RT-Thread Studio:https://www.rt-thread.org/studio.html,下载后安装即可,没什么需要注意的地方。
2、新建项目
打开RT-Thread Studio,点击文件->新建,输入项目名称、选择基于芯片还是开发板、RTT版本、芯片的厂商以及型号、串口及收发引脚、调试器及接口。本文以STM32F103ZET6的单片机为例,其他芯片只需要改动第4步中的厂商以及第5步中的引脚即可。第1步的名称任意。第2步的工程位置任意,但最好不包含中文。第3步的RTT版本最好选用最新版。第6步选用自己的调试器和接口。
3、RTT基本配置
新建工程后,项目资源管理中会出现新建的工程名称以及包含的文件。
其中,RT-Thread Setting是RT-Thread配置界面,CubeMX Setting是使用CubeMX软件来配置,后面的文件就是工程中使用的文件。
首先需要对RT-Thread进行配置,双击打开RT-Thread Setting。主要包含三个部分。第一部分就是软件包,可以根据需要添加在线的软件包,此工程暂时不需要。第二部分就是组件和服务层,暂时也只用的到finsh命令以及ulog日志,其他的可以自己了解。第三部分就是驱动Drives,本工程只用到GPIO和串口,因此只打开两个。右键可以配置项,对项进行详细的配置,但此时还用不到,使用默认的即可,在之后的工程中需要进行设置。设置完成后点击保存就可以保存当前的设置。
4、设置构建配置
构建配置,类似于Keil中的魔术棒配置,单击后出现以下界面。
其中主要的就是包含的头文件GUN ARM Cross C Compiler中的includes 以及链接脚本配置Cross ARM C Linker,本文中直接使用默认即可,如果有新的文件添加,一定设置包含的头文件。如果芯片有分层,即分成APP和bootloader等,一定要修改链接脚本文件。
5、代码编写以及下载
点灯主要分为两个步骤。第一步:设置GPIO的模式。第二步:设置GPIO的引脚。其中rtt已经将stm32所有的引脚都编了一个序号,可以在drv_gpio.c中查看,直接使用rt_pin_mode函数设置GPIO序号的模式。之后在while中循环写GPIO引脚的电平即可循环亮灭灯。
在项目资源管理器中点开工程->applications->main.c,将下列程序复制到文件中。
/*
* Copyright (c) 2006-2023, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2023-02-03 RT-Thread first version
*/
#include <rtthread.h>
#include <rtdevice.h>
#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
#include <board.h>
// 定义需要点亮的LED序号,以点亮PG6为例
#define LED0_PIN GET_PIN(G, 6)
int main(void)
{
// 设置LED0引脚为输出模式
rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);
while (1)
{
LOG_D("Hello RT-Thread!");
LOG_D("LED0亮");
rt_pin_write(LED0_PIN, PIN_HIGH);
rt_thread_mdelay(1000);
LOG_D("LED0灭");
rt_pin_write(LED0_PIN, PIN_LOW);
rt_thread_mdelay(1000);
}
return RT_EOK;
}
代码编写完成后,点击项目->全部构建,即可编译出可执行的文件,点击下载,可以选择不同的下载器。
可以看到开发板上的LED灯开始一闪一闪,每秒切换一次。
到此,一个最简单的点灯工程就建立完毕。
6、代码的调试
在写代码的过程中,经常会遇到这样一个情况,没有错误,但是就是运行结果和预期不一致,那么就需要知道程序是怎么运行、运行到哪一步,这就需要调试功能,也就是debugger功能。
在使用调试功能之前,需要对此功能进行设置。点击设置后,将debugger的路径设置为实际仿真器GDBServerCL.exe文件所在的路径。
设置完成后,点击设置右边的蜘蛛的按钮进入调试界面。一定要先编译,才能进入当前程序的调试界面。
界面与Keil一致,可以添加断点全速运行,也可以单步调试。
调试功能很重要,一定要熟练掌握。