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的地址中。

参考技术A

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一系列吗?的主要内容,如果未能解决你的问题,请参考以下文章

stm32系列可以移植应用程序吗

stm32和国产mcuadc性能

国民技术MCU与STM32GD32 PintoPin 兼容列表

极海APM32F407xG系列Cortex-M4工业级MCU-可兼容替换STM32F407xG

STM32与GD32笔记

兆易创新MCU GD32F3系列详情