1
1. 前言
GD32E230 对比 STM32F030 有着很好的兼容性和更高的性价比,内核和外设都有所增强。本人曾
做过产品的 MCU 替换,将基于 STM32F0xx 1.5.0 固件库的应用程序移植到 GD32E230 上,大体
上来说工作量不大,移植后的效果也不错,GD32E230 相比 STM32F030 有不少功能的升级,主频
也更高,能感觉到国产 MCU 一直在进步。
本人将此前的移植经验进行了整理,可帮助有需要的朋友快速将应用程序从 STM32F030 移植到
GD32E230 上(基于 STM32F0xx 标准库 V3.5.0 和 STM32F10x 标准库 V3.5.0)。
本移植工作除基于 STM32F0xx 1.5.0 固件库的工程外还需准备 STM32F10x 1.5.0 固件库。
GD32E230 系列采用 Cortex-M23 内核,该内核向下兼容 Cortex-M0/M0+。由于 KEIL5.25/IAR8.23
及以上版本才提供了对 M23 内核的支持,因此常规情况下,必须在 KEIL5.25/IAR8.23 及以上
开发环境下才可以正常使用该芯片。调试仿真器如果使用 Jlink 的话需要 JlinkV9,也可以用 GD 官方
的 GDlink 调试,但 GDlink 在 IAR 下的支持相对差一些。据了解也有在低版本开发环境下开发 E230 的
方法,可询问供应商或原厂。本文的介绍开发环境使用 Keil5.25 版本。
GD32E230 较 STM32F030 主要有以下优点:
1 更高的主频(72MHz VS 48MHz)
2 更高版本的内核(Cortex M23 VS M0)
3 支持更多指令集(有单周期乘除法)
4 ADC 时钟更高(28MHz VS 14MHz)
5 运行功耗更低
2. 引脚兼容性
STM32F030 与 GD32E230 在相同封装下是 Pin To Pin 兼容的。外设上本人觉得 GD32E230
功能覆盖 STM32F030,大部分外设 GD32E230 完全兼容 STM32F030,后文我会具体介绍。需要
注意:STM32F030 外设编号从 1 开始,GD32E103 外设编号从 0 开始,且命名有差异。
3. 资源兼容性
(1)下表给出了 STM32F030 与 GD32E230 的资源对比总览(以 STM32F030C8 和 GD32E230C8
对比为例):
表 1 STM32F030 系列和 GD32E230 系列内部资源对比总览