【GD32F303CCT6BlueBill开箱点灯教程】

【GD32F303CCT6BlueBill开箱点灯教程】

  • 1. 搭建环境
    • 1.1 官方资料
    • 1.2 安装Keil 5
    • 1.3 安装芯片选型插件pack包
  • 2. 编译
    • 2.1 Keil4转换为Keil5工程
    • 2.2 选择芯片型号
    • 2.3 存储器类型
    • 2.4 选择下载器
    • 2.5 内存下载设置
  • 3. 烧录
    • 3.1 Keil内烧录
      • 3.1.1 J-Link烧录
      • 3.1.2 ST-Link烧录
      • 3.1.3 CMSIS-DAP烧录
    • 3.2 修改程序
    • 3.3 下载程序
  • 4. 总结

本教程教大家如何搭建GD32F303CCT6BlueBill开发环境,涉及点灯程序编译下载和验证。
【GD32F303CCT6BlueBill开箱点灯教程】_第1张图片

1. 搭建环境

序号 名称 版本 用途
1 Keil V5 单片机开发环境
2 GD32F30x_AddOn_V2.1.0 V2.1.0 GD32F30x支持包
3 GD32F30x Demo Suites 2.4.3 开发板项目资料
4 DapLinkSer nan DapLinkSer驱动
5 GD32F303CCT6BlueBill开发板 Plus 单片机最小系统
6 wchlink daplink mini daplink 下载器

参照项目地址:gitee: https://gitee.com/WeAct-TC/BluePill-Plus

1.1 官方资料

GD32F103CCT6

  1. 120Mhz Max,48KB RAM,256KB ROM
    【GD32F303CCT6BlueBill开箱点灯教程】_第2张图片
  2. wchlink daplink mini支持全系列arm内核芯片/沁恒RISC-V芯片 【GD32F303CCT6BlueBill开箱点灯教程】_第3张图片
    驱动安装:https://item.taobao.com/item.htm?id=661258071789,
    链接:https://pan.baidu.com/s/1N4rb9gqJdBtRmlZr3Svz9A
    提取码:kwa1
    【GD32F303CCT6BlueBill开箱点灯教程】_第4张图片
  1. GD32F30x系列开发板套件,支持GD32F303C-START、GD32F303B-START、GD32F305R-START、GD32F307C-EVAL、GD32F303E-EVAL、GD32F303C-EVAL和GD32F303B-EVAL。
    【GD32F303CCT6BlueBill开箱点灯教程】_第5张图片

GD32 官方网站 www.gd32mcu.com

特性

  • GD32F103CBT6 ARM Cortex-M3
  • 108 MHz 最大运行频率
  • 128 Kbytes of Flash memory, 20 Kbytes of SRAM
  • 8 MHz 系统晶振

  • 32.768 KHz RTC晶振

  • 用户按键 KEY PA0

  • 蓝色 LED PB2 Active high

  • 红色电源 LED PWR

  • 2x20 侧面引脚 && 1x4 SWD 引脚

  • 尺寸: 52.81 mm x 20.78 mm

  • SPI Flash U3 IO位置

  • PA4 CS
  • PA6 MISO
  • PA7 MOSI
  • PA5 SCK
  • USB C
  • PA11 USB_DN
  • PA12 USB_DP
  • SWD Debug
  • PA13 SWDIO
  • PA14 SWCLK
目录名称 内容
Doc 数据手册/参考手册
HDK 硬件开发资料
SDK 软件开发资料
Examples 软件例程
- WeAct Studio 官方链接
- taobao: weactstudio.taobao.com
- aliexpress: weactstudio.aliexpress.com
- github: github.com/WeActTC
- gitee: https://gitee.com/WeAct-TC/BluePill-Plus
- blog: www.weact-tc.cn
---------------------------------------*/ 

1.2 安装Keil 5

由于GD32 Keil 版本例程的工程是基于Keil MDK-ARM 5.25 uVision5 创建的,所以我在此也安装MDK5.25版本。

下载链接:https://pan.baidu.com/s/1E4tcDQvsVl0xezU3pEyJTA
提取码:s1fr
【GD32F303CCT6BlueBill开箱点灯教程】_第6张图片
【GD32F303CCT6BlueBill开箱点灯教程】_第7张图片

安装教程见:GD32单片机开发环境搭建(Keil5安装)

1.3 安装芯片选型插件pack包

在上面百度云链接中,根据自己开发的芯片型号选择相应的pack包。由于我使用的是GD32F303CCT6,所以下载的是GD32F30x_AddOn_V1.1.0.rar,直接解压双击安装即可。
【GD32F303CCT6BlueBill开箱点灯教程】_第8张图片

2. 编译

打开GD32F30x_Demo_Suites_V2.4.3的01_GPIO_Running_LED示例工程 Project
路径:\GD32F30x_Demo_Suites_V2.4.3\GD32303C_START_Demo_Suites\Projects\01_GPIO_Running_LED\MDK-ARM

2.1 Keil4转换为Keil5工程

默认情况下,GD官方给的例程都是基于Keil v4版本的,我们安装的是Keil v5版本,打开会有问题,我司这边提供例程都是已经转换成了Keil v5版本的,这个可以通过看工程文件的后缀名区分,uvprojx 是v5版本,uvproj 是v4版本。

【GD32F303CCT6BlueBill开箱点灯教程】_第9张图片
没有就直接复制文件添加x后缀,这样就可以用keilV5打开

2.2 选择芯片型号

这里我用的是 GD32F303CCT6
【GD32F303CCT6BlueBill开箱点灯教程】_第10张图片
修改宏定义
GD32选型表 中找到 GD32F303CCT6

2.3 存储器类型

高密度产品(GD32F30X_HD) 是指 FLASH 存储器容量在 256KB 至 512KB 的 GD32F103xx 微控制器。
超高密度产品(GD32F30X_XD) 是指FLASH存储器容量在 512KB 以上 的 GD32F303xx 微控制器。
互联型产品(GD32F30X_CL) 是指产品是指 GD32F305xxGD32F307xx 微控制器。

  1. 所以 GD32F303RCT6 处于 HD 的产品,点击 Options of Target 在 C/C++ 选项里面将 Define GD32F30X_CL 改为 GD32F30X_HD
  2. 添加..\..\01_GPIO_Running_LEDD:\Program Files (x86)\Keil_v5\ARM\PACK\ARM\CMSIS\5.3.0\CMSIS\Include
    【GD32F303CCT6BlueBill开箱点灯教程】_第11张图片

2.4 选择下载器

选择CMSIS-DAP下载调试器,插上去就有下载器的信息
【GD32F303CCT6BlueBill开箱点灯教程】_第12张图片

2.5 内存下载设置

下载功能配置重启运行,看看是不是GD32F30XHliahdensity FMiC
【GD32F303CCT6BlueBill开箱点灯教程】_第13张图片

点击按钮进行编译
【GD32F303CCT6BlueBill开箱点灯教程】_第14张图片

3. 烧录

3.1 Keil内烧录

3.1.1 J-Link烧录

单击 Options for Targe,再选择 Debug 边上是 Use 框是
J-LINK 说明选择正确,再单击 Settings,会跳出有 IDCODE 显示,说明已经找到芯片内核,如果没有显示,排查如图箭头所指的 Port 是否选为 SW,还有 J-LINK 驱动是否正确,一般以上排查都能解决问题,最终有 IDCODE 显示,说明板子硬件连接,工程配置都正确,可以进行下一步下载。
【GD32F303CCT6BlueBill开箱点灯教程】_第15张图片
【GD32F303CCT6BlueBill开箱点灯教程】_第16张图片

如果用的是JLink V8,很可能会遇到无法正常烧写的问题,参考 解决方法:调试NRF52832工程时JLink提示错误信息read:@0x02000004

3.1.2 ST-Link烧录

安装 ST-Link 下载器的驱动
百度网盘:https://pan.baidu.com/s/1ZoXKAqjec9Bc6oN6_MNJyA?pwd=9181 提取码:9181
下载解压后双击 stlink_winusb_install 进行安装。
选择 ST-Link 下载
单击 Options for Targe,再选择 Debug 边上是 Use 框是
ST-LINK 说明选择正确,再单击 Settings,会跳出有 IDCODE 显示,说明已经找到芯片内核,板子硬件连接,工程配置都正确,可以进行下载。

【GD32F303CCT6BlueBill开箱点灯教程】_第17张图片

【GD32F303CCT6BlueBill开箱点灯教程】_第18张图片

3.1.3 CMSIS-DAP烧录

单击 Options for Targe,再选择 Debug 边上是 Use 框是
CMSIS-DAP 说明选择正确,再单击 Settings,会跳出有 IDCODE 显示,说明已经找到芯片内核,箭头所指的 Port 选为 SW,速度选择 5MHz,板子硬件连接,工程配置都正确,可以进行下一步下载。
【GD32F303CCT6BlueBill开箱点灯教程】_第19张图片

3.2 修改程序

根据GD32F303CCT6BlueBill开发板上的LED灯是PB2,需要把PB14修改PB2,修改后的main.c
【GD32F303CCT6BlueBill开箱点灯教程】_第20张图片

/*!
    \file  main.c
    \brief systick LED demo
    
    \version 2021-03-23, V2.0.0, demo for GD32F30x
*/

/*
    Copyright (c) 2021, GigaDevice Semiconductor Inc.

    Redistribution and use in source and binary forms, with or without modification, 
are permitted provided that the following conditions are met:

    1. Redistributions of source code must retain the above copyright notice, this 
       list of conditions and the following disclaimer.
    2. Redistributions in binary form must reproduce the above copyright notice, 
       this list of conditions and the following disclaimer in the documentation 
       and/or other materials provided with the distribution.
    3. Neither the name of the copyright holder nor the names of its contributors 
       may be used to endorse or promote products derived from this software without 
       specific prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 
OF SUCH DAMAGE.
*/

#include "gd32f30x.h"
#include "gd32f303c_start.h"
#include "systick.h"

/*!
    \brief      main function
    \param[in]  none
    \param[out] none
    \retval     none
*/

int main(void)
{
    /* configure systick */
    systick_config();
    
    /* enable the LEDs GPIO clock */
    rcu_periph_clock_enable(RCU_GPIOB);

    /* configure LED1 LED2 GPIO port */
    gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_2);
    gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_15);
    
    /* reset LED1 LED2 GPIO pin */
    gpio_bit_reset(GPIOB, GPIO_PIN_2);
    gpio_bit_reset(GPIOB, GPIO_PIN_15);

    while(1){
        gpio_bit_set(GPIOB, GPIO_PIN_2);
        gpio_bit_set(GPIOB, GPIO_PIN_15);
        delay_1ms(1000);
        gpio_bit_reset(GPIOB, GPIO_PIN_2);
        gpio_bit_reset(GPIOB, GPIO_PIN_15);
        delay_1ms(1000);
    }
}

3.3 下载程序

点击下载Load,开发板开始闪烁啦!
【GD32F303CCT6BlueBill开箱点灯教程】_第21张图片

4. 总结

事已至此,我们手把手教大家如何搭建GD32F303CCT6BlueBill开发环境,涉及点灯程序编译下载和验证,后期会做ROS_Arduino_Bridge移植,期待你的关注。从而实现对外部世界进行感知,充分认识这个有机与无机的环境,科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力。
参考文献:

  1. GD32F303学习笔记(1)——搭建环境、编译烧写
  2. GD32F303课程【1】搭建开发环境

你可能感兴趣的:(GD32F303CCT6开发,嵌入式,GD32F303单片机,环境搭建,点灯)