什么是GD32?
GD32是由北京兆易創新開發的國產32位MCU,基於Arm Cortex-M3/M23/M4內核的32位通用微控制器。目前已經推出GD32F1xx,GD32F2xx,GD32F3xx,GD32F4xx系列,與STM32相比,CPU主頻更高,內存更多,外設更豐富。
GD32與STM32區別
GD32和STM32都是基於ARM Cortex-M3/M4內核開發的通用微控制器。主要從CPU,內存,外設,固件庫,成本分析。
以STM32F103和GD32F103為例,列出的是該系列的最高參數
STM32F103 | GD32F103 | |
---|---|---|
CPU | 72MHz | 108MHz |
FLASH | < 512K | < 3M |
RAM | < 64K | < 256K |
外設 | 3個ADC,2個DAC,4個通用TIM,2個高級TIM,2個基本TIM,3個SPI,2個I2C,5個USART,1個USB,1個CAN,1個SDIO | 3個ADC,2個DAC,10個通用TIM,2個基本TIM,2個高級TIM,3個SPI,2個I2C,5個USART,2個I2S,2個CAN,1個USBD,1個USBFS,1個MAC |
參考價: | ||
![]() |
不當家不知柴米油鹽貴,一塊MCU居然這么貴。
總體來說,GD32從CPU,內存,外設豐富度,成本等各方面均優於STM32,關鍵是便宜啊。
最大的問題恐怕就是開發資料少,與之相關的生態環境尚未完善,不過這已經很不錯了。
要啥自行車???
固件驅動區別
ARM內核:關於ARM內核的驅動,無論是ST還是GD還是恩智浦都是通用的
外設驅動:ST的固件驅動架構完勝GD。ST的外設配置按照 結構體配置->外設初始化->外設使能進行配置,每個外設結構體成員對應該外設的一個寄存器,開發調試簡單方便,並且外設與外設之間配置流程相似,程序可讀性強。
GD外設配置以函數為主,通過各個函數傳參配置外設寄存器,沒有外設結構體那么一目了然,程序可讀性差。不過底層都是一樣的,習慣成自然。
但是,GD好像庫兼容性差並且庫版本不規范,點名批評一下
比如這樣,官網下載的V2.1.1版本
打開gd32f4xx.h之后就不一樣了,既然你更新了為什么就不能改下版本號呢,以為你這沒更新呢,坑
MCU選型
ST選型
GD選型