打印

吐槽一下GigaDevice的固件库

[复制链接]
4524|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
imdx|  楼主 | 2017-12-21 20:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目前我在一款产品上同时用GD32F130和GD32F330,因此同时使用两个版本的固件库。原本产品使用GD32F130基于V2.0.0的固件库编写的,固件库风格与STM32的库相同,变量和函数的命名方式相同,绝大多数API也都一样,用着挺好。
后来由于某些原因,器件更换成了GD32F330,固件库版本V1.0.0,该固件库版本变化很大,变量和函数命名方式都变了,函数命名全小写加下划线,大量使用宏来定义寄存器地址(作者应该比较熟悉linux内核代码)。可能大量的宏对性能和代码尺寸有一些好处,但是带来的代码可读性不高的缺点很明显,相比之下我还是更喜欢STM32那种风格的固件库。
基于GD32F330 固件库V1.0.0将代码移植好,然后发现无法与GD32F130的V2.0.0固件库兼容,很多API接口都不一样,而且发现GD32F130 V3.0.0的库风格和GD32F330的V1.0.0固件库风格一样了,回头又将GD32F130的软件移植到V3.0.0的库,两个器件的代码基本上相同了。
使用中发现GD32F130 V3.0.0固件库和GD32F330 V1.0.0固件库虽然大部分API相同,但是仍然存在一些API有细微的差异,会给使用者带来很大的困扰。
比如ADC的API里面这个函数
void adc_regular_channel_config(uint8_t rank, uint8_t channel, uint32_t sample_time)

在gd32f3x0的V1.0.0库里面,rank范围是0-15,而在gd32f1x0的V3.0.0库里面,rank范围就是1-16,就是差一个下标而已,代码移植的过程中遇到问题查起来很困难,你说坑爹不坑爹?


评论
imdx 2018-3-23 07:44 回复TA
在最新的gd32f1x0的V3.1.0库里面,adc_regular_channel_config函数的rank范围就是0-15了,和gd32f3x0 V1.0.0库保持一致。 
沙发
mystery11| | 2017-12-22 18:05 | 只看该作者
我也想吐槽

使用特权

评论回复
板凳
Kelan| | 2017-12-22 21:31 | 只看该作者


为何我在GD官网上没有找到 GD32F130系列的  Firmware Library? 不管是楼主所说的 V2.0.0还是 V3.0。


其它系列的 Firmware Library, 官网上倒是有。






使用特权

评论回复
地板
wangguanfu| | 2018-1-25 01:15 | 只看该作者
非常坑

使用特权

评论回复
5
lvben5d| | 2018-1-25 14:36 | 只看该作者
还好 130的  V3.0.0的库跟105的V2.0.0的基本函数命名统一了。现在PDF文件里 描述 那个外设的索引 还没修改好。 现在的USART0 开始了。

使用特权

评论回复
6
hp4700| | 2018-1-25 21:39 | 只看该作者
GD130的库改为3.0后,和数据手册上的很多寄存器名称对不上,出了问题很难查找,费时费力!!!严重影响项目进度!!!GD的人真是脑瓜子进水了!!!!资料不完整向外发布干嘛????我很想骂人!!!!

使用特权

评论回复
7
wztoad| | 2018-1-29 21:38 | 只看该作者
GD103 v1.0  和GD130 v2.0比较好用,跟st也兼容好点。不要盲目升级库,就象st 升的hal库一样,不习惯

使用特权

评论回复
8
oiuetjg| | 2018-1-29 21:47 | 只看该作者
3.0想走自己的路,走出一点特点

使用特权

评论回复
9
desertsailor| | 2018-2-1 18:51 | 只看该作者
外设的编号真的是奇葩,手册上从1开始编号,对应固件库却从0开始编号,非常不方便。

使用特权

评论回复
10
tongbu2015| | 2018-2-21 11:41 | 只看该作者
固件库的还是需要多参考下其他的

使用特权

评论回复
11
FAQ| | 2018-4-27 20:30 | 只看该作者
相当坑人啊

使用特权

评论回复
12
wztoad| | 2018-4-28 09:49 | 只看该作者
一直用2.0,3.0有点坑,请教一下GD32F130基于V2.0.0的固件库能用有gd32f330上吗?

使用特权

评论回复
13
ayb_ice| | 2018-4-28 13:27 | 只看该作者
这个是没有办法的
ST的库也不一样了
我用STM32F407,用的最新库,与之前也不一样,网上一搜,全是老版本的,
痛苦一下就好了
其实无所谓了,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

121

主题

902

帖子

8

粉丝