富瀚微MC632X 入门笔记02:BSP开发之GPIO点灯教程

目录

  1. 编译配置
  2. 修改代码
  3. 编译代码
  4. 烧录代码
  5. 运行代码

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


相关推荐
李某学编程1 小时前
基于ARM的微机原理学习笔记(一)
arm开发·笔记·学习
sbjdhjd2 小时前
AI产业周度动态:从“更强模型”走向“可执行、可治理、可计价”的系统竞争 (2026年10月19日—10月25日)
人工智能·笔记·ai·开源·gemini·信息差·claude code
ss2733 小时前
AI时代首先数据库-PostgreSQL实战笔记 27 PostgreSQL数据写入与读取流程解析
数据库·笔记·postgresql
深圳老胡4 小时前
压力检测空吸功能硬件方案全解析:主流压力传感器品牌与实现路径
笔记·单片机·代码规范
程序猿追4 小时前
返回 null 不一定入队成功:鸿蒙 KMP上的并发优先队列观察笔记
笔记·华为·harmonyos·kmp
崔高杰5 小时前
【多论文阅读笔记】下一阶段,Agent记忆关注什么能力?
论文阅读·笔记
ms72wx5 小时前
Docker 命令学习笔记:从入门到进阶的实战指南
笔记·学习·docker
NoteDeep 深度笔记6 小时前
排期看不出冲突?把任务表切成甘特图
笔记·个人开发·甘特图·笔记应用·深度笔记·云笔记
霍霍的袁8 小时前
【C++11】左值右值引用与移动语义详细笔记(左值右值、右值引用、移动构造、移动赋值、引用折叠、万能转发)
c++·笔记·学习·visual studio
MandalaO_O8 小时前
SpringMVC 异常处理 & 拦截器
笔记