GD32单片机开发环境搭建(Keil5安装)

1.安装MDK5

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

下载链接:https://pan.baidu.com/s/1E4tcDQvsVl0xezU3pEyJTA 
提取码:s1fr 

其他版本下载链接:https://cloud.tencent.com/developer/article/1605195

选择安装路径(不要装到中文路径下,避免不必要的麻烦):

用户信息随便填一填:

安装完后会弹出pack installer串口,会自动安装比较常用的一些芯片插件包,时间会比较长,可以直接关掉,后面我们自己手动安装我们需要的就行了。

2.安装芯片选型插件pack包

在上面百度云链接中,根据自己开发的芯片型号选择相应的pack包。由于我使用的是GD32E230C8T6,所以下载的是GD32E23x_AddOn_V1.1.0.rar,直接解压双击安装即可。

3.激活keil5

以管理员身份打开keil5

打开License Management界面。(左上角菜单栏->File->License Management)

复制CID

从上面百度云链接中下载2020版keil最新注册机(老版本的只能支持到2020年),打开注册机,生成license。

1.粘贴CID   2.选择Target为ARM    3.点击Generate身材license    4.复制license

添加license:

至此,开发环境基本安装完成。

4.工程编译

我们可以自行创建工程,点击菜单栏->Project->New μVision Project 弹出对话框,选择工程保存路径及工程名。

点击保存,会自动弹出窗口,选择设备芯片型号,在此我们选择与我们MCU对应的具体型号即可,如果没找到对应型号,则需检查上述第二步是否安装正确。

       点击OK,我们就创建好了一个GD32E230C8T6 的开发工程,后续基于该工程添加、编写相应的代码即可开始项目开发了。 

修改工程目标名称及组名:

添加头文件所在路径:

当然我们通常都是直接基于例程进行开发,直接打开示例工程(菜单栏->Project->Open Project...):

找到例程,打开.uvprojx文件即可。

由于经常使用hex文件方式烧录,打开工程后,我们通常需要配置勾选生成hex文件选项。

点击编译按钮,编译代码。

在output目录下,即可看到生成的hex文件了

如果接了GD-Link(ST-link)想进行程序下载或单步调试,还需要配置单片机的Flash大小:

配置好后,编译完成即可点击下载按钮,将程序下载至单片机,或点击调试按钮进行单步调试。

### 使用Keil进行GD32嵌入式开发 #### 环境搭建 为了使用Keil进行GD32嵌入式开发,首先需要安装并配置好必要的工具链。这包括安装Keil MDK软件以及设置相应的编译器和调试工具。 1. **安装Keil MDK** 下载并安装最新版本的Keil µVision IDE。该IDE提供了强大的集成开发环境,适用于多种ARM架构处理器,当然也包括GD32系列MCU。 2. **获取GD32的支持包** 安装完成后,在Keil中添加对GD32芯片的支持。可以通过访问官方网站下载对应的设备支持包[^1]。此支持包包含了所有必需的头文件、库函数以及其他资源文件,使得开发者能够轻松编写基于GD32的应用程序。 3. **连接硬件平台** 将GD32开发板通过USB线缆连接至PC机,并确保正确识别为虚拟COM端口或其他形式的数据传输通道。对于某些型号可能还需要额外安装驱动程序以确保稳定通讯[^4]。 #### 创建新工程项目 一旦完成了上述准备工作,则可以在Keil内创建一个新的工程: - 打开`Project -> New uVision Project...`菜单项; - 浏览选择保存路径后点击“Save”,接着会弹出对话框询问所使用的微控制器类型——这里应选中对应的具体GD32型号; - 接受默认选项完成初始化向导流程即可得到一个空白但已具备基本框架的新项目。 #### 配置工程属性 进入项目的Option For Target界面下可以进一步定制化各项参数设定,比如优化级别、堆栈大小等重要特性均在此处定义。特别需要注意的是要指定正确的启动模式(如Reset Handler),以便于后续顺利运行应用程序代码[^2]。 #### 编写示例代码 下面给出一段简单的GPIO控制LED闪烁的例子作为入门练习: ```c #include "gd32f1x0.h" int main(void){ /* 初始化系统时钟 */ rcu_periph_clock_enable(RCU_GPIOA); /* 设置PA8管脚为推挽输出模式 */ gpio_init(GPIOA, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_8); while(1){ /* 控制PA8高电平点亮LED */ gpio_bit_set(GPIOA, GPIO_PIN_8); delay_1ms(500); /* 控制PA8低电平熄灭LED */ gpio_bit_reset(GPIOA, GPIO_PIN_8); delay_1ms(500); } } void delay_1ms(uint32_t count){ uint32_t i; for(;count!=0;count--){ for(i=SystemCoreClock/9000;i!=0;i--); } } ``` 这段代码实现了最基本的IO操作功能,即让连接在PA8引脚上的LED按照一定频率交替亮起与熄灭。其中还涉及到了延时子函数的设计来模拟定时效果[^3]。 #### 调试与烧录 最后一步就是利用JTAG/SWD接口配合专用编程器将编译好的HEX/BIN文件上传到目标单片机内部Flash存储区当中去执行测试验证工作了。如果一切正常的话应该可以看到预期的现象发生,从而证明整个开发流程已经顺利完成。
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值