学习GD32C113 -- 创建工程

(一):

GD 虽然有提供类似 ST 的 CubeMX 的图形化配置工具 GD32 Embedded Builder,实际体验下来,感觉还是不太行,支持型号也不多:

image-20260315092556265

那要如给自己的板子创建 GD32C113 的软件工程呢,这里介绍一种方法。

(二):

首先下载 GD32C113 的固件库(SDK),GD32C113 官网可以 下载(GD32C113 | 兆易创新 GigaDevice | 官方网站):

image-20260315094301220

下载下来解压后,里面文件如下:

image-20260315094520227

里面的各个文件/文件夹内容如下:

  • Docs 里面有官方开发板原理图、固件库使用文档
  • Examples 里面是是外设例程,里面所提供例程只有源码,没有工程,所以无法直接测试

image-20260315094833755

  • Firmware 里面是库文件
  • Template 是工程模板,里面有可以直接打开的工程,但是不一定适合自己的板子
  • Utilities 是跟官方开发板相关的一些源代码

我这个方法是结合工程模板(Template 目录里面的工程)和example 里面的例程来做,

(三):

我是用的板子是这个:

gd32c113

没有板载 LED,但是有个 daplink,有 USB CDC,可以测试 USART,使用的是 USART0,外部高速晶体振荡器时钟 (HXTAL )是 8MHZ 晶振,

我需要的是 USART0 能输出数据,刚好 固件库 Examples 里面的 USART 例程里面的 printf 正是使用 usart0

image-20260315190016673

(四):

把 Examples\USART\Printf 目录下面的所有文件拷贝到 Template 目录下面,替换 Template 目录下面原来的文件,然后打开 Template 里面的工程

然后还要做以下修改:

1、把板子所用型号改为该板子所用型号 GD32C118CBT6 :

image-20260302214958563

2、修改下调试器,选用 CMSIS-DAP Debugger:

image-20260315192606124

3、然后确认下该工程所用时钟,时钟源使用 HXTAL,PLL 到 120M , HXTAL 使用 8M 跟板子对的上,不用修改,

image-20260315222753566

然后编译下载,用调试助手打开对应 COM 口,可以看到 以下字符串的话,没看到可以按下复位键,那就给这个板子创建了一个基本的工程了,

image-20260315223011029

以后要做其他的就可以在这个工程的基础上来做了,

(五):

看下初始化 GD32C113 的 usart 需要基本步骤:

1、使能对应 usart 跟 相应 IO 的时钟:

    /* enable GPIO clock */
    rcu_periph_clock_enable(RCU_GPIOA);

    /* enable USART clock */
    rcu_periph_clock_enable(RCU_USART0);

2、初始化相应 IO:

    /* connect port to USARTx_Tx */
    gpio_init(GPIOA, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9);

    /* connect port to USARTx_Rx */
    gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_10);

3、最后初始化 usart 外设,如波特率、使能接收、发送等:

    /* USART configure */
    usart_deinit(USART0);
    usart_baudrate_set(USART0, 115200U);
    usart_receive_config(USART0, USART_RECEIVE_ENABLE);
    usart_transmit_config(USART0, USART_TRANSMIT_ENABLE);
    usart_enable(USART0);
posted @ 2026-03-16 09:11  哈拎  阅读(5)  评论(0)    收藏  举报