对比STM32和GD32固件库,你会发现其中的秘密!

2021-05-03 12:00:35 作者:ζ莣天莣地吥莣鉨υ   阅读:167 次  点赞:0 次  鄙视:1 次  收藏:0 次  由 aofengpx.com 收集整理
分享到:
关闭
听新闻 - 对比STM32和GD32固件库,你会发现其中的秘密!
00:00 / 00:00

-

+

语速: 慢速 默认 快速
- 6 +
自动播放×

御姐音

大叔音

萝莉音

型男音

温馨提示:
是否自动播放到下一条内容?
立即播放当前内容?
确定
确定
取消

关注+星标公众,不错过精彩内容

作者 | strongerHuang

微信公众号 | 嵌入式专栏

STM32涨价、缺货的情况下,很多人转向了国产MCU,在使用国产MCU进行替换时,首先要考虑的就是软、硬件兼容性的问题。

今天为大家对比一下STM32和GD32固件库的内容,本文以STM32F10x_StdPeriph_Lib、GD32F10x_Firmware_Library为例进行讲解。

嵌入式专栏

1

关于固件库

能有些初学者对“固件库”的理解有误,比如: 把固件库和“bin、hex 混为一谈 ,其实它们不是一个东西。

还比如: 把固件库理解为类似Keil 生成的 “.lib”文件,其实它们也不是一个东西。

这里说的固件库,和我们说的STM32标准外设库是同一个东西,也就是以源代码形式提供的外设库。

你看命名: STM32F10x_StdPeriph_Lib、GD32F10x_Firmware_Library就知道,他俩虽然字面意思不一样,一个标准外设库一个固件库,但他俩就是“同一类 东西。

嵌入式专栏

2

固件库下载

STM32F10x_StdPeriph_LibGD32F10x_Firmware_Library官方都提供下载地址(直接去搜索都能找到)。

STM32F10x_StdPeriph_Lib下载地址

https://www.st.com/zh/embedded-software/stsw-stm32054.html

GD32F10x_Firmware_Library下载地址

http://www.gd32mcu.com/cn/download/8?kw=GD32F1

展开全文

额外说两点:

STM32的标准外设库,目前只有较早的系列有,这后面新出的芯片,只有HAL和LL库了。

标准外设库只有这几个系列:

GD32是以GD32F10x_Demo_Suites这种套件形式提供,套件包含了几类文件:

嵌入式专栏

3

对比 固件库(源码)

下面正式进入主题,对比STM32和GD32的固件库(标准外设库)。

1.对标文件夹

图中两个文件夹几乎是一一对应的内容,GD32把USB的驱动库文件整理在一起了,STM32对应的USB驱动库是和其他系列整理在一起的,地址:

https://www.st.com/zh/embedded-software/stsw-stm32121.html

源文件和头文件也是一一对应,只是文件(夹 名不一样

2.xx32f10x.h源代码对比

a.文件头描述

b.宏定义描述

c.中断向量表

d.地址定义

STM32和GD32基地址偏移地址使用方式有所不同,先看下定义:

e.外设相关宏定义

STM32外设相关宏定义更多是在stm32f10x.h文件:

而GD32更多是定义在外设对应的头文件(这里以ADC为例):

3.system_xx32f10x.c源代码对比

a.主频

GD32一个特点就是,具有更高的主频(系统时钟108M):

b.系统时钟申明和定义

c.系统初始化

4.startup_xx32f10x_hd.s启动源代码对比

这里以hd型号为例:

a.堆栈分配

GD32分配的空间比较多:

b.其他差不多

启动文件,对比一下,你会发现,其实大同小异。

5.外设源代码对比

这里以ADC为例(xx32f10x_adc.c):

a.STM32更多mask宏定义

b.一个用if else,一个用case

c.STM32有更多断言assert (参数检查):

d.函数、变量命名方式

一个大写开通,一个小写,用下划线分开:

其他很多内容都具有相似之处,只是大同小异。

嵌入式专栏

4

结论

上面对比了各种类型的固件库(源代码),你会发现一个什么问题?

能看懂其中一个固件库(源码),再去看另一个,是不是一点都不费力。它们几乎都差不多,可以拿“双胞胎”来形容

因为基地址几乎一样(上面源码对比有提到),所以,它们的软件兼容性很好,甚至在一定情况下,可以做到“无缝替换”

额外说一下,上面源码对比使用的是Beyond Compare比较工具,之前给大家分享过很多好用的对比工具《 嵌入式软件工程师常用的代码比较工具 》,感兴趣的可以看下。

------------ END------------

后台回复『 单片机』『 嵌入式软件设计与开发

欢迎关注我的公众号 ,回复“ 加群”按规则加入技术交流群,回复“ 1024”查看更多内容。

欢迎关注我的视频号:返回搜狐,查看更多

Tags标签
加入收藏夹(0 点赞一下(0 鄙视一下(1
发表评论
内容:
剩余字数:360/360


     :: 正在为您加载评论……


每页10条,共0

相关文章

play
next
close
X

K先生新闻网上所有的内容均由网友收集整理,纯属个人爱好并供广大网友交流学习之用,作品版权均为原版权人所有。
如果版权所有人认为在本站放置您的作品会损害您的利益,请指出,本站在核实之后会立即删除。
禁止任何个人或组织将本站程序用于任何违法违规途径!

XML地图 Tags标签

×

分享到微信朋友圈

扫描二维码在微信中分享