目录
- 编译配置
- 修改代码
- 编译代码
- 烧录代码
- 运行代码

1. 编译配置
FH_RT_V3.4.0_20250123\FH_RT_V3.4.0_20250123\rt-thread\rt-thread目录下:
shell
make menuconfig
demo配置修改为bsp_demo后save+exit:

2. 修改代码
打开文件:./FH_RT_V3.4.0_20250123/rt-thread/app/bsp_demo/startup/application.c
(1)屏蔽其他非GPIO Demo
首先需要屏蔽其他应用demo,仅且手动运行gpio_demo
精简后的代码如下(只是移除了其他DEMO和取消自动运行):
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include "rttshell.h"
void user_main(void)
{
}
static void bsp_demo_usage(void)
{
printf("Usage:\n");
printf(" bsp_demo -g: run gpio demo\n");
}
static void bsp_demo(int argc, char *argv[])
{
if (argc < 2)
{
bsp_demo_usage();
return;
}
if (strcmp(argv[1], "-g") == 0)
{
gpio_demo_init();
}
else
{
bsp_demo_usage();
}
}
SHELL_CMD_EXPORT(bsp_demo, bsp demo)

(2)适配GPIO引脚
我们需要修改代码以适配开发板引脚,查看资料:.\FH_RT_V3.4.0_20250123\FH_RT_V3.4.0_20250123\docs_tools\hardware\board\MC632x_PINOUT_CN.xlsx
可得:LED_4 -> GPIO2_7

查看这个引脚复用关系:

我们需要配置为1:GPIO
这个引脚对应的GPIO编号在文件:/home/fullhan/work/rtt/FH_RT_V3.4.0_20250123/rt-thread/platform/mc632x/mc632x_iopad.h
可见下图代码中已经配置为GPIO且编号为23

打开文件:./FH_RT_V3.4.0_20250123/rt-thread/app/bsp_demo/gpio/gpio_demo.c
我们进行编号的调整,将代码的7适配变更为23:

另外编号23目前还找不到对应的GPIO2_7,我们还需要打开文件:
./FH_RT_V3.4.0_20250123/rt-thread/platform/mc632x/app_board/appboard_iopad.h
新增:

打开文件:./FH_RT_V3.4.0_20250123/rt-thread/platform/mc632x/fast_board/fastboard_iopad.h
新增:

原因:在初始化时会用到

回到bsp_demo.c,这里的gpio_demo其实还有另外一个LED和按键功能,原理相似,我们暂不关注,所以先屏蔽一下,只启动一个点灯任务:threadBlink:

另外再把闪灯频率改成1S1次:

3. 编译代码
直接编译(编译失败可以先make clean后重试):
make

将编译后的固件拷贝到windows中:
可以像上一讲烧录media_demo是拷贝img镜像,也可以直接拷贝.bin文件直接烧录:


4. 烧录代码
连接网线、串口线、电源,上电开机
(1) 确认网络

(2) FTFP传输
选择固件路径与对应IP

修改或确认启动指令:
shell
set bootcmd 'sf probe 0;sf read 40000000 0x120000 300000;go 40000000'
saveenv

sf probe 0
sf erase 0x120000 300000
tftp 41000000 bsp_demo.bin
sf write 41000000 0x120000 300000
reset

5. 运行代码
运行前先按前述要求调整/检查短路帽:

上电运行程序,启动闪灯测试:
shell
bsp_demo -g

此时可见开发板LED灯间隔1S闪烁(GIF动图):

下一讲:富瀚微MC632X 入门笔记03:BSP开发 之 PWM
作者:FUNIOT | IOT趣制作
更新时间:2026/02/08