夏漳 · 2022年11月26日 · 安徽

【GD32F427开发板试用】+ GDLink和USART2

一 GDLink下载和调试

1.1 硬件结构和试用板组成

感谢极术社区提供的GD32开发板,具体的板子资源和配套软件可以在极术社区官网和GD官网下载,资源很全。我拿到手的GD32F427由GD32F103CBT6和GD32F427VKT6组成,其中F1是做Link的转换,用于下载程序,原理图如图所示。
Img1.png
之后在GD官网下载了GDLink的上位机,软件包内的内容如图所示。
Img2.png
其中GDLinkCLL 类似GDB调试,用命令行的模式去调试程序,855cd75f8e5f63a6f6c91cb084d1422.png554b00120187beea984c3cad434fcb4.png gdb是以r或c

启动,GDLink是go,基本思路一样,可以按16/32位读写寄存器,具体细节有配套的手册,我没有焊接SWD或者jtag,第一次使用GD的生态,整体挺方便,能缩短开发时间。

1.2 GDLink程序下载和读取

接图2,在连接miniUSB接口之后,GDLink Programmer界面点connect,打开keil编译后的hex文件就可以Program到板子,很方便(去掉GDLink的接口,界面还会显示正在连接,即使重新插上usb也会程序下载失败,多点击两次disconnect,重新连接就可以解决)。

二 USART2

USART0有大佬做过测试,接收需要去掉一部分元器件,我就舍弃掉了,写了串口2的驱动,能够正常实现收发,由于第一次接触GD的外设库,随便看了gd32f4xx_gpio、gd32f4xx_usart、gd32f4xx_misc,库文件没啥可说的,gpio配置按照外设库的函数顺序依次配置就行,我的USART2的代码是这样(为了省事,我没有单独新建GD的工程,是在Demo的基础上开发,添加了自己的system文件夹存放驱动文件,目前写了串口和SPI)。
Img5.png

USART2比较简单,后期就是优化中断处理函数,main函数里面就是使能USART2_init()然后while死循环就可以了。
Img6.png

注释掉的是我没有使能中断的时候用轮询的方式进行测试,没啥用。和其他人一样,我中断处理函数里面就是收到啥返回啥,串口助手截图显示。

Img7.png
整体做的很简单,SPI的还没处理完

Img8.png

目前是准备串口接收蓝牙或上位机数据,通过SPI存到Flash.对GD的GDLink很感兴趣,比Openocd的环境感觉要精简,而且jtag板子用的FTPI一类的芯片价格也比F1贵吧,没仔细查,纯感觉。从手册上没看到重映射,都是复用AF,测试做的很糙,等不加班了再测点别的

推荐阅读
关注数
10708
内容数
187
中国高性能通用微控制器领域的领跑者兆易创新GD系列芯片技术专栏。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息