GD32系列兼容STM32一系列吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GD32系列兼容STM32一系列吗?相关的知识,希望对你有一定的参考价值。
基本上只需少量调整就可以通用。GD32和STM32基本上各方面都是异曲同工的。
优点:
内核是Cortex-M3的升级版,兼容Cortex-M3,实现了Flash的零等待技术,没有了提取指令的时间,代码执行效率更高了。通俗的说就是代码执行速度变快了。
同样的XX32F103系列芯片,主频上,ST的最高72MHz,GD的能达到108MHz,代码执行速度会更快。
Flash和RAM的容量更大,STM32F103xx系列的Flash最大512K,SRAM最大64K,而GD32的Flash高达1M(甚至还有更高,但我没用过),SRAM更大96K,能存放更多的代码(也能当普通Flash存放数据用),有更多的SRAM存放大块的数据。
缺点:
代码下和在线调试感觉不是很顺畅,在IAR开发环境下用20pin的Jlink进行代码调试偶尔出现无法调试,但多试几次可能就会好了。
SWD调试的效果很差,主要原因在于硬件上的抗干扰的原因,同样的电路板,STM32的在线调试很顺畅,但GD32的经常性的出现干扰而导致代码无法烧入或在调试过程中发生中断。
Flash执行速度问题,前256K的代码执行速度正常,256K后面的代码响应中断速度会很慢,所以做开发的时候中断函数最好要放在前256K的地址中。
1、内核是Cortex-M3的升级版,兼容Cortex-M3,实现了Flash的零等待技术,没有了提取指令的时间,代码执行效率更高了。通俗的说就是代码执行速度变快了。
2、同样的XX32F103系列芯片,主频上,ST的最高72MHz,GD的能达到108MHz,代码执行速度会更快。
3、Flash和RAM的容量更大,STM32F103xx系列的Flash最大512K,SRAM最大64K,而GD32的Flash高达1M(甚至还有更高,但我没用过),SRAM更大96K,能存放更多的代码(也能当普通Flash存放数据用),有更多的SRAM存放大块的数据。
然后我们再来说说缺点:
1、代码下和在线调试感觉不是很顺畅,在IAR开发环境下用20pin的Jlink进行代码调试偶尔出现无法调试,但多试几次可能就会好了。
2、SWD调试的效果很差,主要原因在于硬件上的抗干扰的原因,同样的电路板,STM32的在线调试很顺畅,但GD32的经常性的出现干扰而导致代码无法烧入或在调试过程中发生中断。
3、Flash执行速度问题,前256K的代码执行速度正常,256K后面的代码响应中断速度会很慢,所以做开发的时候中断函数最好要放在前256K的地址中。
另外,在芯片的外设问题上,只能是谁用谁知道,我用过I2C,感觉和ST并不是完完全全兼容,还是有一点点的差别。
最后我希望GD能越做越好,希望很快国产的能占领市场,国外的这些玩意在国外卖得很便宜,但在国内就卖得很贵,因为我们之前没有可以替代的东西,而现在有了就是个很好的趋势。
一、 GD32 与 STM32 异同
1. 相同点
1)
外围引脚定义:相同型号的管脚定义相同
2)
Cortex M3 内核:STM32F103 内核 R1P1 版本, STM32F205 内核 R2P1,GD32 内核 R2P1 版本,此内核修复了 R1P1 的一些 bug
3)
芯片内部寄存器,外部 IP 寄存器地址 :逻辑地址相同,主要是根据 STM32 的寄存器和物理地址,做的正向研发.
4)
函数库文件:函数库相同,优化需要更改头文件
5)
编译工具:完全相同 例如:keil MDK、IAR
6)
型号命名方式:完全相同
第一篇 博客
以后会坚持更新博客,主要关于是嵌入式硬件和嵌入式软件方向
主要包括的部分:
1:cadence 软件使用
2:keil 软件使用
3:FPGA 主要真的zedboard ,兼容官方zedboard
4:STM32系列单片机
5:GD系列单片机
6:Verilog的部分教程
7:和工作中的部分随笔
以上是关于GD32系列兼容STM32一系列吗?的主要内容,如果未能解决你的问题,请参考以下文章
国民技术MCU与STM32GD32 PintoPin 兼容列表