本教程教大家如何搭建GD32F303CCT6BlueBill开发环境,涉及点灯程序编译下载和验证。
序号 | 名称 | 版本 | 用途 |
---|---|---|---|
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
GD32F103CCT6
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
---------------------------------------*/
由于GD32 Keil 版本例程的工程是基于Keil MDK-ARM 5.25 uVision5 创建的,所以我在此也安装MDK5.25版本。
下载链接:https://pan.baidu.com/s/1E4tcDQvsVl0xezU3pEyJTA
提取码:s1fr
安装教程见:GD32单片机开发环境搭建(Keil5安装)
在上面百度云链接中,根据自己开发的芯片型号选择相应的pack包。由于我使用的是GD32F303CCT6,所以下载的是GD32F30x_AddOn_V1.1.0.rar,直接解压双击安装即可。
打开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
默认情况下,GD官方给的例程都是基于Keil v4版本的,我们安装的是Keil v5版本,打开会有问题,我司这边提供例程都是已经转换成了Keil v5版本的,这个可以通过看工程文件的后缀名区分,uvprojx 是v5版本,uvproj 是v4版本。
这里我用的是 GD32F303CCT6
修改宏定义
GD32选型表 中找到 GD32F303CCT6
高密度产品(GD32F30X_HD
) 是指 FLASH 存储器容量在 256KB 至 512KB 的 GD32F103xx
微控制器。
超高密度产品(GD32F30X_XD
) 是指FLASH存储器容量在 512KB 以上 的 GD32F303xx
微控制器。
互联型产品(GD32F30X_CL
) 是指产品是指 GD32F305xx
和 GD32F307xx
微控制器。
GD32F303RCT6
处于 HD 的产品,点击 Options of Target 在 C/C++ 选项里面将 Define GD32F30X_CL
改为 GD32F30X_HD
。..\..\01_GPIO_Running_LED
和D:\Program Files (x86)\Keil_v5\ARM\PACK\ARM\CMSIS\5.3.0\CMSIS\Include
下载功能配置重启运行,看看是不是GD32F30XHliahdensity FMiC
单击 Options for Targe,再选择 Debug 边上是 Use 框是
J-LINK 说明选择正确,再单击 Settings,会跳出有 IDCODE 显示,说明已经找到芯片内核,如果没有显示,排查如图箭头所指的 Port 是否选为 SW,还有 J-LINK 驱动是否正确,一般以上排查都能解决问题,最终有 IDCODE 显示,说明板子硬件连接,工程配置都正确,可以进行下一步下载。
如果用的是JLink V8,很可能会遇到无法正常烧写的问题,参考 解决方法:调试NRF52832工程时JLink提示错误信息read:@0x02000004
安装 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 显示,说明已经找到芯片内核,板子硬件连接,工程配置都正确,可以进行下载。
单击 Options for Targe,再选择 Debug 边上是 Use 框是
CMSIS-DAP 说明选择正确,再单击 Settings,会跳出有 IDCODE 显示,说明已经找到芯片内核,箭头所指的 Port 选为 SW,速度选择 5MHz,板子硬件连接,工程配置都正确,可以进行下一步下载。
根据GD32F303CCT6BlueBill开发板上的LED灯是PB2,需要把PB14修改PB2,修改后的main.c
/*!
\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);
}
}
事已至此,我们手把手教大家如何搭建GD32F303CCT6BlueBill开发环境,涉及点灯程序编译下载和验证,后期会做ROS_Arduino_Bridge移植,期待你的关注。从而实现对外部世界进行感知,充分认识这个有机与无机的环境,科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力。
参考文献: