OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2197|回复: 3

GD32开发感受、遇到的问题分享

[复制链接]

33

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2019-11-13
在线时间
39 小时
发表于 2023-9-18 10:52:03 | 显示全部楼层 |阅读模式
兆易创新的GD32系列芯片,是需要进行国产化芯片替代的优质选择。项目开发需要本人有幸参与,下面分享一些感受。
GD32目前已经具有比较好用的函数库来使用,配合官方例程能够相对容易地完成开发。虽然没有STM32的CUBEMX那样方便,但是整体来说开发比较顺手。固件库、官方例程可以从兆易创新官网下载。兆易创新官网:兆易创新GigaDevice-资料下载兆易创新GD32 MCU
下面是本人在开发过程中遇到的一些感受:
(1)函数封装不够完整—串口。GD32使用的函数没有STM32的HAL库那样封装的完整,比如官方提供的串口数据传输函数usart_data_transmit,每次只能传输一个字节,如果想要大量进行数据传输,需要自己封装函数,即需要自己判断标志位,串口的中断传输以及DMA传输是同样的道理。
(2)函数封装不够完整—I2C。同样是GD32函数封装不够完整的问题,GD32的I2C使用稍微复杂,基本的时钟、IO口等配置与其他外设是一样的,但是由于I2C的时序步骤比较多,比如起始、停止,应答等等,而官方仅仅给出了起始、停止、应答等步骤的函数(比如停止是i2c_stop_on_bus),因此完整的I2C时序需要将这些拼起来。官方的EEPROM例程里面给出了对应的函数,是比较好用的(推荐)。
(3)GD32官方例程可能无法直接使用。官方例程不好用的时候不要着急,首先需要看软硬件配置是否正确,而且最好直接使用官方提供的工程进行开发,硬件通了之后再进行移植。本人遇到的问题是开发USB的时候发现使用官方例程,电脑无法识别GD32的USB口,后来发现是时钟的问题,USB必须使用48M时钟,但是官方例程在不配置的情况下系统时钟是乱的,需要进行配置。同时官方例程是基于8M的外设时钟,如果自己使用的不是8M的时钟,同样需要进行配置。至于配置方法网上有很多。
(4)堆栈溢出问题。如果进行大规模程序开发可能会遇到堆栈溢出的问题,这个问题不算是GD32特有的问题。可以在.s文件、即启动文件里面修改Stack_Size以及Heap_Size,如果局部变量用的很多,函数中有大量的矩阵相乘,需要增多Stack_Size。堆栈溢出的现象表现为加入一段代码之后发现程序跑飞了,即使用debug模式,运行到某一步也运行不下去了,这时候就需要考虑是堆栈溢出的问题。
本人强烈建议,外设开发能使用官方例程就使用官方例程。这里也推荐两个视频教程:B站的“郭天祥老师”以及“高博士_嵌入式”的GD32教学视频,对于GD32初期的开发非常有帮助,也感谢两位UP主的分享。
如有错误请批评指正!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11472
金钱
11472
注册时间
2014-4-1
在线时间
1296 小时
发表于 2023-9-18 11:12:23 | 显示全部楼层

国产 ARM 芯片,GD 应当是最好的。
性能最高,品种最齐全。

已经用 GD 芯片把手里几个产品的 ST 芯片都替换了。


回复 支持 反对

使用道具 举报

0

主题

451

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3502
金钱
3502
注册时间
2016-3-19
在线时间
846 小时
发表于 2023-9-18 11:35:10 | 显示全部楼层
谢谢分享

软件上  相对来说   还算小问题   如果能通过调整软件解决的话  是比较方便的

硬件上  如果有什么问题  相对来说就麻烦了

所以期待大佬们多多分享一下   硬件上有没有需要避坑的地方
Nothing is impossible
回复 支持 反对

使用道具 举报

0

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2023-5-17
在线时间
28 小时
发表于 2023-9-18 11:38:39 | 显示全部楼层
已经在用GD库开发了,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-24 05:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表