首页 » 科学 » 在STM32价格疯涨的情况下我们只能用GD32偷梁换柱(一)_内核_差别

在STM32价格疯涨的情况下我们只能用GD32偷梁换柱(一)_内核_差别

乖囧猫 2024-12-05 06:06:27 0

扫一扫用手机浏览

文章目录 [+]

第一.相同点有以下这些:

外围引脚定义: 相同型号的管脚定义相同

在STM32价格疯涨的情况下我们只能用GD32偷梁换柱(一)_内核_差别 科学

Cortex M3 内核: STM32F103 内核 R1P1 版本, STM32F205 内核 R2P1, GD32 内核 R2P1 版本,此内核修复了 R1P1 的一些 bug

芯片内部寄存器, 外部 IP 寄存器地址 : 逻辑地址相同,紧张是根据 STM32 的寄存器和物理地址, 做的正向研发.

函数库文件: 函数库相同,优化须要变动头文件

编译工具和型号命名是完备相同的。

第二.外围硬件差异

电压范围(ADC): GD32F:2.6-3.6V 。
STM32F:2.0-3.6V(外部电压)。

GD32F: 1.2V(内核电压)。
STM32F: 1.8V(内核电压)

BOOT 0 管脚: Flash 程序运行时,BOOT0 在 STM32 上可悬空,GD32 必须外 部下拉(从 Flash 运行,BOOT0 必须下拉地)

ESD 参数: STM32 人体模式 2KV,空气模式 500V GD32 人体模式 4KV(内测 5KV),空气模式 10KV(内测 15KV)

第三.内部构造差异

启动韶光: GD32 启动韶光相同,由于 GD 运行稍快,须要延长上电韶光 配置(2ms)

主频时钟: GD32F10 系列主频 108MHZ STM32F10 系列主频 72MHZ

Flash 擦除韶光: GD32 是 60ms/page,STM 30ms/page

FLASH 容量: GD32 最大容量 3M Byte

SRAM 空间: GD32F103 系列、GD32F105\107 大容量系列 SRAM 96K

VB 外扩总线 FSMC:GD32 100PIN 配置总线输出,STM32 144PIN 并且 256k 以上 才配置总线输出

第四.功耗差异(我们以128k以下容量的作为讲解)

就寝模式 Sleep: GD32F: 12.4mA STM32F10X: 7.5mA

深度就寝模式 Deep Sleep: GD32F: 1.4mA STM32F10X: 24uA

待机模式 Stand By: GD32F: 10.5uA STM32F10X: 3.4uA

运行功耗: GD32F: 32.4mA/72M STM32F10X: 52mA/72M

第五.内部 FLASH 差异

ISP: 擦写韶光同 STM32 有差异,利用新版 ISP 软件

IAP: 擦写韶光相同,按字写入,按页擦除

存储寿命: 10 万次擦写,数据保存 20 年以上

加密特性: 除了常规的禁止读出和 96 位 ID 号码加密之外,GD32 数据写入 Flash 时,具有存储逻辑地址连续,物理地址不连续的特性。

理解了它们的差异后我们再来说说关于GD32兼容性的详细剖析。

第一.关于系统部分的讲解。

1.晶振起振的差异:GD32 与 STM32 启动韶光都是 2ms,实际上 GD 的实行效率快,所 以 ST 的 HSE_STARTUP_TIMEOUT ((uint16_t)0x0500)是 2ms,但是这个宏定义值 在 GD 上韶光就更加短了,以是要加大这个值的设置

处理的办法:

将宏定义: #define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500) 修正为: #define HSE_STARTUP_TIMEOUT ((uint16_t)0xFFFF) 备注:启动韶光宏定义所在位置:

在 V3.X 的库,其启动韶光宏定义在 stm32f10x.h 头文件中 (路径:\..\Libraries\CMSIS\CM3)。
(库版本的不同,所在目录也有所不同)

在 V3.0 以前的库,其启动韶光宏定义在 stm32f10x_rcc.c 源文件中 (HSEStartUp_TimeOu(路径:\..\Libraries\STM32F10x_StdPeriph_Driver\src)。

2.有时候我在利用有源晶振的 GD32F103小容量的产品涌现问题,创造会在 MCU 的复位管脚一贯把电平拉到 0.89V,电平不能保持在高电平,这是由于部分有源晶振起振韶光太快,复位旗子暗记还没有完成产生的。

处理的办法:在有源晶振的输入端与地之前并上一个 30pf 电容。

GD32MCU主频支持108MHz高性能,在代码移植时我们须要把稳的一些事变,GD32 通过芯片内部加大缓存,提高了相同事情频率下的代码实行速率,带来 了高性能的利用体验。

因此如果代码有用到 for 循环或 while 循环语句做精确定时的,定时韶光会由 于代码实行速率加快而使循环的韶光变短。
利用 Timer 定时器则没有影响。

这期我们先分享到这里,想要学习单片机编程的同学可以持续关注小火,想要学习的资料的可以私信我或评论区回答“小火”,与我们一起发展,喜好的可以点个赞关注我们!

标签:

相关文章

KEIL 单片机开拓对象介绍_多种_仿真器

Keil作为嵌入式系统开拓工具,具有丰富的功能和精良的性能,可帮助开拓职员在较短的韶光内完成从编译到调试和支配的所有过程。Keil...

科学 2024-12-29 阅读0 评论0

PC hifi 座谈(1/3)_声卡_音频

服役了4年半的电脑终于罢工,主机电源老化,导致硬盘供电不敷涌现了坏道,光彩音乐资料之前已有另作备份,主板北桥芯片也出了问题,遂推到...

科学 2024-12-29 阅读0 评论0

小学信息技术教育的现状与发展趋势

随着科技的飞速发展,信息技术已经成为现代社会不可或缺的一部分。在我国,小学信息技术教育已经取得了显著的成果,为培养具备信息素养的新...

科学 2024-12-29 阅读0 评论0