发布网友 发布时间:2022-04-23 19:57
共2个回答
热心网友 时间:2022-06-04 22:20
展开1全部首先郑重声明,下面针对GD相比ST的优缺点是在2014年年末我个人使用后的结果比较,并不是最新的结果。
相比意法半导体的STM32,实话实说,先说优点:
1、内核是Cortex-M3的升级版,兼容Cortex-M3,实现了Flash的零等待技术,没有了提取指令的时间,代码执行效率更高了。通俗的说就是代码执行速度变快了。
2、同样的XX32F103系列芯片,主频上,ST的最高72MHz,GD的能达到108MHz,代码执行速度会更快。
3、Flash和RAM的容量更大,STM32F103xx系列的Flash最大512K,SRAM最大K,而GD32的Flash高达1M(甚至还有更高,但我没用过),SRAM更大96K,能存放更多的代码(也能当普通Flash存放数据用),有更多的SRAM存放大块的数据。
然后我们再来说说缺点:
1、代码下和在线调试感觉不是很顺畅,在IAR开发环境下用20pin的Jlink进行代码调试偶尔出现无法调试,但多试几次可能就会好了。
2、SWD调试的效果很差,主要原因在于硬件上的抗干扰的原因,同样的电路板,STM32的在线调试很顺畅,但GD32的经常性的出现干扰而导致代码无法烧入或在调试过程中发生中断。
3、Flash执行速度问题,前256K的代码执行速度正常,256K后面的代码响应中断速度会很慢,所以做开发的时候中断函数最好要放在前256K的地址中。
另外,在芯片的外设问题上,只能是谁用谁知道,我用过I2C,感觉和ST并不是完完全全兼容,还是有一点点的差别。
最后我希望GD能越做越好,希望很快国产的能占领市场,国外的这些玩意在国外卖得很便宜,但在国内就卖得很贵,因为我们之前没有可以替代的东西,而现在有了就是个很好的趋势。
热心网友 时间:2022-06-04 22:20
基本上只需少量调整就可以通用。GD32和STM32基本上各方面都是异曲同工的。
优点:
内核是Cortex-M3的升级版,兼容Cortex-M3,实现了Flash的零等待技术,没有了提取指令的时间,代码执行效率更高了。通俗的说就是代码执行速度变快了。
同样的XX32F103系列芯片,主频上,ST的最高72MHz,GD的能达到108MHz,代码执行速度会更快。
Flash和RAM的容量更大,STM32F103xx系列的Flash最大512K,SRAM最大K,而GD32的Flash高达1M(甚至还有更高,但我没用过),SRAM更大96K,能存放更多的代码(也能当普通Flash存放数据用),有更多的SRAM存放大块的数据。
缺点:
代码下和在线调试感觉不是很顺畅,在IAR开发环境下用20pin的Jlink进行代码调试偶尔出现无法调试,但多试几次可能就会好了。
SWD调试的效果很差,主要原因在于硬件上的抗干扰的原因,同样的电路板,STM32的在线调试很顺畅,但GD32的经常性的出现干扰而导致代码无法烧入或在调试过程中发生中断。
Flash执行速度问题,前256K的代码执行速度正常,256K后面的代码响应中断速度会很慢,所以做开发的时候中断函数最好要放在前256K的地址中。