GD32与STM32兼容性对比及移植指南
3星 · 超过75%的资源 需积分: 50 156 浏览量
更新于2023-03-03
41
收藏 339KB PDF 举报
"该文件主要讨论了GD32与STM32之间的相似性和差异性,特别是在替换过程中需要注意的事项。"
在嵌入式开发领域,GD32和STM32都是非常流行的基于Cortex-M3内核的微控制器。这两款芯片在很多方面具有高度的兼容性,使得STM32的代码可以在GD32上运行,但可能需要进行一些小的调整。
1. **相同点**
- **引脚定义**:相同型号的GD32和STM32管脚定义相同,这意味着在硬件设计时可以互换使用。
- **内核版本**:两者都使用Cortex-M3内核,GD32的内核版本为R2P1,修复了R1P1版本的一些问题。
- **寄存器和IP**:芯片内部寄存器以及外部IP寄存器的逻辑地址相同,尽管物理地址可能略有不同。
- **函数库**:基本的函数库是相同的,但可能需要更新头文件以适应GD32。
- **编译工具**:GD32和STM32都支持相同的编译工具,如Keil MDK和IAR。
- **型号命名**:两款芯片的型号命名规则完全一致。
2. **外围硬件差异**
- **电压范围**:GD32的ADC工作电压范围较宽,内核电压为1.2V,而STM32的内核电压为1.8V。
- **BOOT0管脚**:在从Flash运行程序时,STM32的BOOT0管脚可以悬空,而GD32则需要外部下拉至低电平。
- **ESD参数**:GD32的静电放电防护等级更高,对人体模式和空气模式的耐受电压更强。
3. **内部结构差异**
- **启动时间**:GD32的启动时间和STM32相同,但可能需要更长的上电时间配置,以适应其更快的运行速度。
- **主频**:GD32F10系列的最高主频为108MHz,而STM32F10系列最高为72MHz。
- **Flash擦除时间**:GD32的Flash擦除一页的时间比STM32长。
- **FLASH容量**:GD32的最大Flash容量为3MB,超过了STM32F10系列。
- **SRAM**:GD32F103系列和大容量系列的SRAM达到96KB。
- **VB外扩总线FSMC**:GD32在100引脚封装中即配置了总线输出,而STM32在144引脚且Flash容量大于256KB时才有。
4. **功耗对比**
- **睡眠模式**:GD32在睡眠模式下的功耗略高于STM32。
- **深度睡眠模式**:GD32在深度睡眠模式下功耗显著低于STM32。
- **待机模式**:GD32的待机模式功耗也较低。
- **运行功耗**:在相同的主频下,GD32的运行功耗稍低。
5. **内部FLASH差异**
- **ISP**:GD32的ISP擦写时间与STM32有所不同,需要使用更新的ISP软件。
- **IAP**:在In-Application Programming(IAP)方面,两者的擦写时间相同,但GD32可能需要按字写入。
在将STM32的项目迁移到GD32时,开发者需要注意上述差异,并对代码进行相应的适配,包括但不限于更新启动配置、功耗管理、Flash操作以及可能的硬件接口调整。此外,更新或修改相关的驱动库和固件更新工具也是必要的。通过这些调整,开发者可以充分利用GD32的特性,如更高的主频、更大的Flash容量和更低的功耗,同时确保项目的顺利运行。
2021-11-04 上传
2021-10-22 上传
2021-03-01 上传
319 浏览量
2021-09-13 上传
2021-06-17 上传
小灰灰搞电子
- 粉丝: 4w+
- 资源: 108
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析