打印

从0开始操作GD32F303开发板

[复制链接]
940|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
文章详细介绍了如何从GD官网下载固件库,包括其文件结构,然后在MDK环境下进行固件库的移植,选择合适的芯片型号,导入和配置相关文件,解决编译错误,最终实现通过编程点亮LED灯。过程中遇到的错误和解决方法也进行了说明。

文章详细介绍了如何从GD官网下载固件库,包括其文件结构,然后在MDK环境下进行固件库的移植,选择合适的芯片型号,导入和配置相关文件,解决编译错误,最终实现通过编程点亮LED灯。过程中遇到的错误和解决方法也进行了说明。

使用特权

评论回复
沙发
hehhehee|  楼主 | 2025-1-30 12:14 | 只看该作者
固件库移植

1.准备文件,GD32F303对应的芯片包(可从GD官网下载)



2.启动MDK,创建新工程







芯片包成功安装后可在此处选取对应的芯片,此处选用的是GD32F303ZET6(需要知道对应的芯片型号,不同型号的芯片包含的Flash不同,关系到后面启动文件的选择) ;

打开工程文档,移植文件






使用特权

评论回复
板凳
hehhehee|  楼主 | 2025-1-30 12:20 | 只看该作者
本帖最后由 hehhehee 于 2025-1-30 12:21 编辑

移植选中的文件,建议在自己的文档中新建文件进行归档;


创建文件组,将移植的C文件导入




注意,需要将启动文件一起导入,路径为CMSIS\GD\GD32F30x\Source\ARM






移植后文件结构



62402679afe19abcec.png (28.38 KB )

62402679afe19abcec.png

使用特权

评论回复
地板
hehhehee|  楼主 | 2025-1-30 12:24 | 只看该作者
导入头文件









84724679afe741f177.png (28.52 KB )

84724679afe741f177.png

使用特权

评论回复
5
hehhehee|  楼主 | 2025-1-31 00:58 | 只看该作者
配置结束后开始编译

94952679bafb81057e.png (14.19 KB )

94952679bafb81057e.png

使用特权

评论回复
6
hehhehee|  楼主 | 2025-1-31 00:59 | 只看该作者
配置结束后开始编译

使用特权

评论回复
7
hehhehee|  楼主 | 2025-1-31 00:59 | 只看该作者
一个错误,是不包含 文件,我们将引用代码删除;再编译



漂亮,直接变成9个错误。不慌,此处ERROR是因为调用了刚才文件的函数,我们将他们统统删除;

使用特权

评论回复
8
hehhehee|  楼主 | 2025-1-31 01:00 | 只看该作者
整理后main文件结构



使用特权

评论回复
9
hehhehee|  楼主 | 2025-1-31 01:01 | 只看该作者
还有一个错误


原因就是我们没有删除干净,要斩草除根!!

使用特权

评论回复
10
hehhehee|  楼主 | 2025-1-31 01:02 | 只看该作者
打开 gd32f30x_it.c文件,将其删除,就OK了



使用特权

评论回复
11
hehhehee|  楼主 | 2025-1-31 01:02 | 只看该作者
编译成功,尝试点亮LED灯

  systick_config();
rcu_periph_clock_enable(RCU_GPIOA);
rcu_periph_clock_enable(RCU_GPIOE);

//使能时钟
gpio_init(GPIOA,GPIO_MODE_OUT_PP,GPIO_OSPEED_50MHZ,GPIO_PIN_8);
gpio_init(GPIOE,GPIO_MODE_OUT_PP,GPIO_OSPEED_50MHZ,GPIO_PIN_6);

//对应引脚配置
GPIO_BC(GPIOA)=GPIO_PIN_8;
GPIO_BC(GPIOA)=GPIO_PIN_6;

//我也不懂,反正就是能亮
    while (1){
      GPIO_BOP(GPIOA)=GPIO_PIN_8;//ÁÁ
            delay_1ms(500);
            GPIO_BC(GPIOA)=GPIO_PIN_8;//°µ
            GPIO_BOP(GPIOE)=GPIO_PIN_6;
            delay_1ms(500);
            GPIO_BC(GPIOE)=GPIO_PIN_6;
            
        }


ok,实验成功。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

84

主题

990

帖子

0

粉丝