先在官网下载rtthread studio后进入,点击Alt+shift+N或者点击左上角文件--->新建--->RT-Thread项目,第一次使用需要点击基于开发板开发进去下载芯片

点击下面的开发板,有个添加更多进入下载页面
往下滑找到你要的芯片,
勾选,再往下滑找到你的下载器

勾选,点击安装资源包等待下载完成

完成后点击右下角退出SDK管理器,然后重复开头步骤新建项目

选择自己的厂商和芯片即可,点击完成,然后打开刚刚创建的文件夹下的application下的main.c,然后点击上面的锤子进行编译

现在即可使用rtthread进行编写代码了,不过这个studio内部集成了cubemx可以直接使用,前提是你电脑里必须也有cubemx软件,否则可能报错,点击根目录下单cubemx setting图标,双击即可

先对系统时钟进行配置,这一步很重要,因为rtt默认使用内部HSI时钟

这里选择PB2推挽输出配置板载LED进行验证,你可以根据自己的开发板进行配置

然后是时钟树,我的是8M晶振,168M主频

然后配置项目输出,完成后点击右上角GENERATE CONDE生成代码

回到studio后重新编译项目会报一堆错误,后续一步一步解决
找到cubmx下的main函数,复制时钟配置这一段

黏贴到rtt的drv时钟配置文件内INIT_BOARD_EXPORT(clock_information);这一行下方

注释掉这一行

再次编译就只剩三个报错,现在我们需要把cubemx生成的初始化配置放到我们自己的main中


gpio头文件也复制过来,后续有别的外设也是这样操作,然后把cubemx下的main排除构建

然后跟着一步一步做就行


然后我们到src目录下可以看到gpio.c没有加入编译,右击->资源配置->添加构建,后续其他有文件缺失都可以到这里添加构建

回到main函数添加如下代码,这里是创建了一个线程实现了led闪烁,如果你引脚跟我不同需要修改#define LED GET_PIN(B,2)即可,PA3就改成#define LED GET_PIN(A,3)
/*
* Copyright (c) 2006-2026, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2026-08-11 RT-Thread first version
*/
#include <rtthread.h>
#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
#include "gpio.h"
#include "rtdevice.h"
#include "board.h"
#define LED GET_PIN(B,2)
void led_task(void * parameter)
{
while(1)
{
rt_pin_write(LED, PIN_HIGH);
rt_thread_mdelay(1000);
rt_pin_write(LED, PIN_LOW);
rt_thread_mdelay(1000);
}
}
int main(void)
{
MX_GPIO_Init();
rt_pin_mode(LED, PIN_MODE_OUTPUT);
rt_pin_write(LED, PIN_HIGH);
rt_thread_t led_ret=rt_thread_create("led_task", led_task, RT_NULL, 256, 10, 10);
if(led_ret!=RT_NULL)
{
rt_thread_startup(led_ret);
LOG_I("led thread start ok");
}
else
{
LOG_E("thread create fail");
}
return RT_EOK;
}
然后构建下载,下载箭头那可以选择烧录器,烧录后led可以正常闪烁,如果后续你加入其他外设,需要到cubemx的main.h中注释掉void Error_Handler(void);

