电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
文章
月黑风高夜!把室友的STM32换成了GD32
分 享
扫描二维码分享
月黑风高夜!把室友的STM32换成了GD32
STM32
gd32
果果小师弟
关注
发布时间: 2021-09-29
丨
阅读: 757
摘要:月黑风高夜!一双黑手伸向了室友的STM32开发板!一日逛淘宝,推送STM32F103ZET6原装芯片,惊!**STM32F103ZET6居然涨价到388一片**。 # 一、什么是GD32 GD32是由北京兆易创新开发的国产32位MCU,基于Arm Cortex- M3/M23/M4内核以及RISC-V内核的32位通用微控制器,与STM32相比,CPU主频更高,内存更多,外设更丰富。其众多产品是以STM32芯片为模板,基于STM32的底层寄存器地址进行正向研发,部分产品可以直接PIN TO PIN替代STM32的芯片,部分型号可以直接以STM32的程序做部分修改后直接烧入进GD32中运行,例如GD32E103、GD32F10x、GD32F30x都是和STM32F10x系列是完全PIN TO PIN兼容的,内部地址寄存器完全兼容,唯一区别只是内核不同,但在使用外设时影响不会很大。 ![ ](https://img-blog.csdnimg.cn/8e70f91f65e04fe7a2d669b9745a4aa3.png) 一个大胆的想法从我脑海中诞生,我要狸猫换太子,**GD32F103ZET6替换掉STM32F103ZET6**。 入夜,趁着室友入睡后,悄悄的拿走室友的STM32开发板,点起我的小台灯。 ![](https://img-blog.csdnimg.cn/291a2928dee64d9abccf485ff5c40d66.jpg) 掏出了我沉寂许久的GD32F103ZET6芯片。 ![](https://img-blog.csdnimg.cn/e7c738e53831438a81d3027330777776.jpg) 开足风枪马力,把STM32F103ZET6淦下来,再把GD32F103ZET6淦上去,一番辛苦下,大功告成。 ![](https://img-blog.csdnimg.cn/e155bc15417745779800bea7f4b675af.jpg) 保险起见,下面使用正点原子STM32库函数例程一一测试,**绝不给室友发现的机会**! ## 流水灯测试 直接下载流水灯程序到GD32,因为使用到主频按照STM32的来配置(72M)无需修改启动超时,程序下载使用J-Link(ST-Link不行),因为都是基于M3内核,所以直接使用Keil下载!下载完成,复位启动! 啪!翻车!LED反转时间约为设定时间的10倍,多年经验告诉我,我晶振引脚虚焊了,补焊,复位,启动! 啪!成了,灯闪了! ![](https://img-blog.csdnimg.cn/f244ef91c89848d98d399b80c4faf9f9.jpg) 但是这一切还不够,万一室友学会的点灯,后面咋办?我还要测! ![](https://img-blog.csdnimg.cn/f9392862bba343e1865067feb437f957.png) 串口测试,替换文字,下载例程。 ![](https://img-blog.csdnimg.cn/cbea28253871469183274e7b27311e20.png) 程序启动,测试完美! ![](https://img-blog.csdnimg.cn/b575c785b217429bb8f4a0568e3b2035.png) 仿真测试,断点测试,完美 ![](https://img-blog.csdnimg.cn/56392112833948ecb88c4013bdc42d45.png) 外部中断测试,按下按键,LED切换,测试通过 ![](https://img-blog.csdnimg.cn/1d560759f8ba4034a0bfb07509ab84af.jpg) ![](https://img-blog.csdnimg.cn/b7490f725c15480b85e622d3ea41828d.jpg) 定时器闪灯,测试完美!定时器PWM比较输出,测试完美!现象呼吸灯。 ## TFT测试,完美到爆 ![](https://img-blog.csdnimg.cn/e165a0cea8074176886898c9513985f1.jpg) ## ADC检测,完美极了 ![](https://img-blog.csdnimg.cn/fb2f3aa33c214147b1c61808ab9efecc.jpg) ## 模拟IIC测试,稳如老狗 ![](https://img-blog.csdnimg.cn/db2472d4e7d34137b39817ff02e3e977.jpg) 不测了,就先到这,下次等室友睡觉在继续测,今天美滋滋,STM32芯片反手一卖就是几倍差价,同志们学会了没! ![ ](https://img-blog.csdnimg.cn/d751286329f94ae58352ace3305c4e1c.png) # 二、GD32与STM32 ## GD32和STM32资源对比 ![ ](https://img-blog.csdnimg.cn/d0393aad0ebd44f18a3b27c1e2235704.png) ## GD32与STM32软硬件设计对比 ### 相同点 1. 芯片的型号命名方式相同,而且相同信号的引脚定义基本相同,具体命名规范如下 ![](https://img-blog.csdnimg.cn/034316bee04b4746b09ea982e36cb5a9.png) 2. 函数库文件基本相同:因为GD32正向研发,对于PIN TO PIN的芯片,内部寄存器地址和STM32完全相同,所以STM32的库文件编译后的文件可以直接下载。 3. 编译工具相同如keil、IAR都相同 ### 不同点 1. 工作电压有所不同,STM32的工作电压在2.0~ 3.6V或1.65~3.6V,GD32的工作电压在 2.6~3.6V,工作范围相对要窄。 2. GD32F303/F103主频比STM32F103主频要高,适合一些更快的计算中 3. GD32提高了相同工作频率下的代码执行速度,所以GD32的_NOP()时间比STM32更加短,所以不使用定时器做延时时要注意修改 4. GD32的flash擦除时间要比STM32更长 5. 功耗上GD32的功耗要相对高一点 6. GD32的BOOT0必须接10K下拉或接GND,ST可悬空,这点很重要。 7. RC复位电路必须要有,否则MCU可能不能正常工作,ST的有时候可以不要。 8. GD的swd接口驱动能力比ST弱,可以有如下几种方式解决: a、线尽可能短一些; b、降低SWD通讯速率; c、SWDIO接10k上拉,SWCLK接10k下拉。 9. GD对时序要求严格,配置外设需要先打开时钟,在进行外设配置,否则可能导致外设无法配置成功;ST的可以先配置在开时钟。 10. 修改外部晶振起振超时时间,不用外部晶振可跳过这步。 原因:GD与ST的启动时间存在差异,为了让GD MCU更**准确复位**(不修改可能无法复位)。 ![](https://cf01.ickimg.com/bbsimages/202109/6ebff9b6f341920fdc1c4cfff3250447.png)
原创作品,未经权利人授权禁止转载。详情见
转载须知
。
举报文章
点赞
(
0
)
果果小师弟
关注
评论
(0)
登录后可评论,请
登录
或
注册
相关文章推荐
MK-米客方德推出工业级存储卡
Beetle ESP32 C3 蓝牙数据收发
Beetle ESP32 C3 wifi联网获取实时天气信息
开箱测评Beetle ESP32-C3 (RISC-V芯片)模块
正点原子数控电源DP100测评
DP100试用评测-----开箱+初体验
Beetle ESP32 C3环境搭建
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏之二
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回
我要举报该内容理由
×
广告及垃圾信息
抄袭或未经授权
其它举报理由
请输入您举报的理由(50字以内)
取消
提交