GD32F103xx 系列器件是一款基于ARM Cortex-M3 RISC内核的32位通用微控制器,在处理能力、降低功耗和外设方面具有超优的性价比。Cortex-M3是下一代处理器核心,它与嵌套矢量中断控制器(NVIC), SysTick计时器和高级调试支持紧密耦合。
GD32F103xx系列器件采用ARM Cortex-M3 32位处理器内核,工作频率为108 MHz,Flash访问零等待状态,以获得最高效率。它提供了高达3 MB的片上闪存和高达96 KB的SRAM内存。广泛的增强型I/O和外设连接到两个APB总线。这些器件提供多达三个12位ADC,多达两个12位DAC,多达十个通用16位定时器,两个基本定时器和两个PWM高级控制定时器,以及标准和高级通信接口:多达三个SPI,两个I2C,三个USART,两个UART,两个I2S,一个USB 2.0 FS,一个CAN和一个SDIO。
该器件在工作电压为2.6 V 至3.6 V,温度范围为-40°C至+85°C下工作。几种节能模式为唤醒延迟和功耗之间的最大优化提供了灵活性,这在低功耗应用中是一个特别重要的考虑因素。
以上特点使GD32F103xx器件适用于广泛的应用,特别是在工业控制、电机驱动、电源监控和报警系统、消费和手持设备、POS、车载GPS、视频对讲、PC外设等领域。
GD32 库函数 轻量级封装,直接操作寄存器,追求效率,扁平化结构,减少层级依赖。但移植成本高,兼容性差。STM32 项目迁移需重写时钟配置、中断处理等。
GD32 的差异化路线
GD32 使用更高主频的内核(如 Cortex-M3@108MHz vs STM32F3@72MHz),优化了流水线和闪存加速器。
外设寄存器地址和时序与 STM32 存在差异(如 GPIO 配置寄存器偏移量不同)。
独立 SDK 框架:GD32 提供自主开发的固件库(如 gd32fxxx_libopt.h),虽然 API 风格模仿 ST(如 gpio_init()),但内部实现和文件结构已重构。
规避法律风险:避免直接使用 ST 的代码,通过重写实现类似接口(如将 HAL_GPIO_WritePin() 改为 gpio_bit_write())。
性能优化:针对自身硬件调整驱动逻辑(如时钟树配置、延迟函数)。
“既然 GD32 和 STM32 的芯片寄存器结构几乎一样,是否可以在 STM32 平台上开发,生成 hex/bin 文件,直接烧录到 GD32 上运行量产?”
https://www.keil.arm.com/devices/
GD32F103C8T6 资源详情
资源类型 | 参数值 | 说明 |
---|---|---|
型号 | GD32F103C8T6 | LQFP48封装 |
内核 | Cortex®-M3 | 108MHz主频 |
存储 | ||
- 闪存容量 | 64K | 64KB程序存储器 |
- SRAM容量 | 20K | 20KB运行内存 |
I/O数量 | up to 37 | 最大37个可用GPIO |
定时器 | ||
- 通用定时器(16位) | 3 | 支持PWM/输入捕获等 |
- 高级定时器(16位) | 1 | 带死区控制的电机控制定时器 |
- 系统滴答定时器(24位) | 1 | 用于操作系统时基 |
通信接口 | ||
- USART/UART总数 | 3+0 | 3个USART(支持同步模式) |
- I2C接口 | 2 | 支持SMBus/PMBus |
- SPI接口 | 2 | 支持主从模式 |
- CAN 2.0B | 1 | 支持标准帧和扩展帧 |
- USB 2.0 | 1 | 全速12Mbps设备接口 |
外设 | ||
- 看门狗 | 2 | 独立+窗口看门狗 |
- 实时时钟(RTC) | 1 | 带日历和闹钟功能 |
- SDIO接口 | 0+AE8:AK8 | 特殊功能配置(详见数据手册) |
模拟资源 | ||
- 12位ADC | 2单元(10通道) | 最高1MHz采样率 |
其他 | ||
- 工作电压 | 2.6-3.6V | 典型3.3V供电 |
- 封装尺寸 | 7×7mm | LQFP48引脚间距0.5mm |
- 发布日期 | 2025-06-04 | 量产时间 |
💡 关键特点总结:
该型号主打高性价比通信控制,亮点在于:
- 集成3×USART + 2×SPI + 2×I2C + CAN的多协议通信矩阵
- 配备10通道12位ADC满足基础采集需求
- 64KB Flash + 20KB SRAM适合中等复杂度应用
- LQFP48封装节省PCB空间,适合紧凑型设计
编译报错
Rebuild started: Project: Project
*** Target 'GD32F10X_CL' uses ARM-Compiler 'V5.06 update 6 (build 750)' which is not available.
*** Please review the installed ARM Compiler Versions:
'Manage Project Items - Folders/Extensions' to manage ARM Compiler Versions.
'Options for Target - Target' to select an ARM Compiler Version for the target.
*** Rebuild aborted.
Build Time Elapsed: 00:00:00
报错原因:
中密度产品(GD32F10X_MD) 是指 FLASH 存储器容量在16 KB
至 128 KB
的 GD32F101xx 和 GD32F103xx 微控制器。
高密度产品(GD32F10X_HD) 是指 FLASH 存储器容量在 256KB
至 512KB
的 GD32F101xx 和 GD32F103xx 微控制器。
超高密度产品(GD32F10X_XD)是指FLASH存储器容量在 512KB
以上 的GD32F101xx 和 GD32F103xx 微控制器。
互联型产品(GD32F10X_CL) 是指产品是指GD32F105xx
和 GD32F107xx
微控制器。
解决办法:
所以 GD32F103C8T6 处于 MD 的产品,点击 [Options of Target ]在 C/C++ 选项里面将 Define GD32F10X_CL
改为 GD32F10X_MD
。
资料下载
[1] GD32F103CBT6