国产单片机GD32系列开坑,带你零死角玩转GD32 第一章

news/2025/1/12 6:49:18/

【开坑国产单片机GD32系列,带你零死角玩转GD32】


第一章 GD32基本资料介绍

目录

  • 【开坑国产单片机GD32系列,带你零死角玩转GD32】
    • 第一章 GD32基本资料介绍
  • 前言
  • 一、STM32 VS 国产MCU
  • 二、GD32与STM32的对比
    • 1.STM32F103xxxx与GD32F103xxxx的对比
    • 总结

前言

人事难料,而日月往矣;

这两年因为疫情的原因,ST,NXP等国外半导体公司产能紧张,用以供应国内的STM32系列芯片紧缺,导致STM32系列大部分的单片机价格出现了较大幅度的上涨,从前大约10元一片的STM32F103C8T6,最高时直接涨到了50多元一片,这价格不能说优点离谱,只能说相当离谱了。
公司产品之前一直使用的也是STM32系列MCU,但是随着该系列产品的价格越来越离谱,甚至到了有价无市的地步,技术层面也开始考虑要采用其他型号的芯片,用以替换公司目前产品所使用的MCU,而我,作为刚进公司的小白,很自然地就接受了这个任务,然后就在各个国产MCU公司的官网转悠,或者在立创商城,华秋商场之间Window-Shopping(只看不买,白嫖样品),在STM32和国产MCU之间来回查阅数据手册,堆代码,这中间踩了不少坑,这里也拿出来与大家一起分享,有问题也可以在评论区一起讨论,共同进步!话不多说!开始第一章!后续也会持续更新。(啥时候上班摸鱼,啥时候就更新)


一、STM32 VS 国产MCU

提到国产单片机,想到的就是:
在这里插入图片描述
但我还是试探性地去寻找有关国产MCU的信息,才发现,跟我想象中的不太一样,国产MCU的型号竟然还算丰富,具体介绍如下:

  • 兆易创新(GD32xxxx)
    算是国产MCU的顶梁柱之一了,产品覆盖范围较广,包括超低功耗MCU,通用类MCU,电机控制类MCU等等,MCU内核也涵盖了:Cortex-M0,Cortex-M3,Cortex-M4等,近几年也开始在诸多领域和ST,TI这些老牌半导体抢夺市场,总之就是一句话:
    在这里插入图片描述
  • 华大半导体(HC32)
    这哥们也算是国产MCU的顶梁柱了,产品覆盖范围较广,包括超低功耗MCU,通用类MCU,电机控制类MCU等等,MCU内核也涵盖了:Cortex-M0,Cortex-M3,Cortex-M4等,近几年同样也开始在诸多领域和ST,TI这些老牌半导体抢夺市场,总之还那句话:
    在这里插入图片描述
    剩下的半导体公司主要在专用领域,比如智能电表,无线充电,蓝牙耳机等方面做的比较出色,有兴趣的大佬可以去了解一下,这个系列我们主要研究兆易创新的GD32,当然后面如果学有余力(有时间摸鱼)的话,也可以开坑HC32。
  • 复旦微电子
  • 上海贝岭
  • 乐鑫科技
  • 中颖电子
  • 国民技术
  • 芯海科技
  • 中微半导体
  • 晟矽微电子
  • 汇春科技

二、GD32与STM32的对比

1.STM32F103xxxx与GD32F103xxxx的对比

为了比较清晰地对GD32进行描述,我们这里将GD32F103xxxx与STM32F103xxxx进行对比,部分性能指标如下:

GD32F103xxxx与STM32F103xxxx的属性对比:

  • 架构部分
    STM32F103xxxx和GD32F103xxxx都是基于Cortex-M3架构的,事实上,相当一部分32位MCU的生产商,都是从ARM公司购买的内核授权,然后自己在外围扩展外设等功能,自己生产,ST(意法半导体)和兆易创新(GD)都是这样,不过宏晶公司(STCxxxx)好像不是。

  • 主频和存储
    主频部分便有相当的差距了,STM32F103xxxx的主频是72MHZ,而GD32F103xxxx的主频达到了108MHZ,这就意味着执行单周期指令时,GD32F103xxxx比STM32F103xxxx执行速度更快,这一点其实从双方的数据手册上能够查阅到,会有一个CoreMark的指标,其实就是类似于鲁大师跑分,有兴趣的大佬可以去搜索这个指标测试方法,把鲁大师移植到MCU上,哈哈!
    而存储方面,对于MCU来说,最痛苦的是,外设还有,内存没了,GD32F103xxxx的最大Flash容量为3Mbyte,最大SRAM容量是96Kb,而STM32F103xxxx的最大Flash为512Kbyte,最大SRAM容量为64Kbye,大的不只一点点呐!属实上小母牛坐火箭------牛批上天了!

  • 具体内部功能和外设
    实际中常用的内部功能和外设,主要是:
    #GPIO(这个就不用说了,要是没他点灯就是做梦)。
    #串口(重要的调试工具)。
    #I2C(不少的屏幕和传感器都支持该协议和模块)。
    #SPI(相当一部分存储芯片及屏幕支持该协议和模块)。
    #定时器(时钟必备,要是用RTC就当我没说)。
    #DMA(老板基本不用管也能照常跑,直接绕过CPU的高速数据传输功能,吃得少,干活快的打工人)。
    #DAC(数模转换,信号发生器常用功能)。
    #ADC(没有它,测个电压都费劲)。
    然后就是诸如FSMC,LTDC,I2S,SAI等相对高级的功能,具体如下图:
    在这里插入图片描述

  • 成本
    这部分同样很重要,笔者从事的是仪器仪表行业,排在第一的产品速度和精度,产品成本排在第二位,但是如果IC的价格和性能一样高的话,还是会做出其他选择的,所以这里进行对比:
    在这里插入图片描述
    在这里插入图片描述 可以看到,立创商城里,STM32F103ZET6单片的价格达到了221元/片,而GD32F103ZET6的单片价格只有区区的36元/片,这对比也太明显了吧!而对于我这种对性价比要求高(穷)的人来说,我便是
    在这里插入图片描述


总结

经过了上述的初步介绍,相信大家对于GD32的基本情况有了一定的了解,但这只是初步的介绍,事实上,GD32虽然和STM32很类似,在价格上也是对STM32建立起了巨大的优势,但是在产品生态,以及市场占有率方面,依然有明显的劣势,确实GD32等一系列国产MCU在性能以及稳定性上,相对于ST,TI,NXP这些老牌半导体,有着不少缺陷,并且在开发方式和软硬件内部结构上,有着一定的差异,但依然希望大家可以多给国产MCU一些机会,产品性能的提升也是建立在大量用户反馈的前提下的,华为事件犹在眼前,后续我会持续更新这个系列,向大家介绍GD32系列的各个内部功能和外设的用法,注意事项和技巧,替大家踩坑,同时也要注意到,在当前的国际环境下,国产MCU的大规模应用,已经是一个趋势,所以希望能够和大家一起学习和讨论!
在这里插入图片描述

下一章 GD32开发环境的搭建,常用资料的获取,以及点亮LED!


http://www.ppmy.cn/news/724271.html

相关文章

Stm32是用C语言编程吗,stm32编程软件是什么 stm32用什么软件编程

STM32开发用什么软件写代码的 管脚功能可重映射)、控制逻辑基本不用改、功能强大(外设丰富stm32和51单片机相比,代码效率高(32位包含信息量大,多数指令一个字节搞定)、执行速度快(72MHz系统时钟不是盖的)、管脚多,我一直搞51汇编也放弃了。 C语言编程区别就不大了,况且stm3…

解决方法:ESP32同时打开蓝牙、WIFI和OTA后程序过大导致无法启动

一、问题 使用 ESP32-WROOM-32E(4MB) 模组,同时使用了蓝牙模块、WIFI模块功能,编译的时候没问题,然后运行的时候报以下错误: 二、原因 ESP32 如果使同时使用了蓝牙模块、WIFI模块和OTA的话很有可能会导致程序过大(超过1M)&#…

STM32新手入门教程

文章目录 STM32简介STM的选型编写程序**Keil安装** 烧写程序1. USB转串口烧写2. ST-Link烧写 ST-Link仿真点亮LED灯GPIO简介GPIO配置GPIO电平输出程序编写 闪烁LED灯程序编写实验结果 STM32简介 简介参考自:小马哥STM32四轴学习平台–DragonFly四轴STM32单片机软件…

udp接收缓冲设置多大

先说一下保护消息边界,就是指传输协议把数据当作一条独立的消息在网上传输,接收端只能接收独立的消息。这个机制决定了udp的特性: 1. udp可以多线程对同一个fd进行发包操作,如果是tcp多线程发送,会让流乱序&#xff0…

STM32堆栈空间大小设置

1. 设置堆栈空间大小 在使用STM32编程时,一般情况下我们不会关注堆栈空间的大小,因为在STM32的启动文件中,已经帮我们预先设置好了堆栈空间的大小。如下图所示的启动代码中,Stack栈的大小为:0x400(1024Byt…

32位计算机最大内存怎么算,windows32位系统支持多大内存 怎么查看计算机内存

windows 32位系统支持多大内存?大家都知道,电脑有32位系统和64位系统之分,支持的内存也是不同的。最近有用户就特别好奇,32位的操作系统到底支持多大的内存呢?电脑又要如何查看计算机内存呢?假如你想了解的…

dig/curl/ping的用法和区别

dig是一种DNS工具,用于查询DNS服务器上的域名解析信息。它可以查询域名的IP地址、MX记录、CNAME记录等。dig可以帮助用户诊断DNS解析问题,例如查询某个域名是否被正确解析,或者查看某个域名的DNS记录是否正确。 用法: dig [选项]…

python导入的模块搜索顺序详解(python import搜寻模块的机制详解)

参考 python导入的模块搜索顺序详解(python import搜寻模块的机制详解):https://blog.csdn.net/qq_27825451/article/details/100552739 import sys sys.path 返回的列表为: [, # 运行程序的根目录D:\\ProgramData\\Anaconda3…