当前位置: 首页 > news >正文

GD32F103单片机-概述和工程建立

GD32F103单片机-概述和工程建立

  • 一、GD32F103单片机介绍
    • 1.1 GD32F103C8T6引脚
    • 1.2 GD32F103C8T6系统架构和启动配置
    • 1.3 GD32F103C8T6时钟树
  • 二、GD32F103工程建立

一、GD32F103单片机介绍

  • GD32F103系列由是由国内公司兆易创新生产的基于Arm Cortex-M3处理器的单片机
  • 位数:32位
  • 工作电压:2.0V-3.6V
  • 最高工作频率:108MHz
  • RAM:20k
  • ROM:64K

1.1 GD32F103C8T6引脚

  • 下图为GD32F103Cx系列的引脚图,GD32同STM32一致,包含GPIO、USART、SPI、I2C、ADC等外设
    在这里插入图片描述

  • 各个引脚功能如下所示

  • GD32F103C8T6一共有48个引脚,P表示电源引脚、IO表示输入输出口,5VT表示可以容忍5V电压

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 GD32F103C8T6系统架构和启动配置

  • 下图为GD32F103单片机系统架构
  • IBUS是M3内核的指令总线,用于取指令和向量。DBUS是M3内核的数据总线,用于加载和存储数据,SBUS是M3内核的系统总线,系统区域包括SRAM和AHP外设区,其他包括DMA等
  • AHB外设总线分为APB1和APB2外设总线,APB1速度限制在54MHzAPB2操作全速可达108MHz

在这里插入图片描述

  • 启动配置如下表格,同STM32单片机一致,一般情况下,在主FLASH存储器启动,Boot0引脚接地

在这里插入图片描述

1.3 GD32F103C8T6时钟树

  • 时钟来源由一个内部的8M RC振荡器时钟(IRC8M)、一个外部高速晶体振荡器时钟(HXTAL)、一个内部40K RC振荡器时钟(IRC40K)、一个外部低速晶体振荡器时钟(LXTAL)、一个锁相环PLL等等
  • AHB、APB和Cortex-M3时钟来自系统时钟(CK_SYS),系统时钟的时钟源可以选择IRC8M、HXTAL或PLL,AHB、APB2最大时钟频率为108MHzAPB1最大时钟频率为54MHz

在这里插入图片描述

二、GD32F103工程建立

  • 下载Keil MDK版本
  • 在GD32官网www.gd32mcu.com下载GD32手册和Pack包,点击pack文件,会自动下载到keil里的packs文件夹里,新建工程时就可以看见GD32F103的芯片

在这里插入图片描述

  • 工程模板建立:创建工程,选择器件-GD32F103C8

在这里插入图片描述

  • 添加固件库:在GD32官网下载GD32F103固件库,

在这里插入图片描述

  • 工程文件夹Keil软件内同时新建UserLibraryStart文件夹

  • 下列文件存放到User文件夹中,systick为延时函数

在这里插入图片描述

  • 以下是Library文件夹内容

在这里插入图片描述
在这里插入图片描述

  • 以下是启动文件夹Start的内容

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  建立好工程以后,在C/C++包含文件路径,修改编译器版本

在这里插入图片描述

  如果报错.\Objects\Project.axf: Error: L6218E: Undefined symbol led_spark (referred from gd32f10x_it.o).表示在it.c里led_spark函数未定义,需要注释掉(原因不详,为什么有这个函数)


http://www.mrgr.cn/news/22168.html

相关文章:

  • Bev pool 加速(1): torch.autograd.Function的使用
  • 经典栈和队列OJ题
  • API 架构(RPC风格、RESTful风格)
  • 用Pytho解决分类问题_DBSCAN聚类算法模板
  • C++函数提高
  • 在Python中读取Excel文件
  • PAT甲级-1085 Perfect Sequence
  • Linux下的PWM驱动
  • C++万字解析类和对象(上)
  • 面试真题 | 记录一次面试真题
  • 「iOS学习」——Masonry学习
  • 如何解决缓存(redis)和数据库(MySQL)数据不一致的问题?
  • 衡石分析平台使用手册-快速入门
  • 长短期记忆神经网络-LSTM回归预测-MATLAB代码实现
  • 一名优秀的工程师应该学会在工作中提升自己,面试篇
  • matlab读取NC文件(含group)
  • vulhub远程执行命令漏洞CVE-2022-22963
  • SprinBoot+Vue校园数字化图书馆系统的设计与实现
  • Vulhub Apache Airflow (CVE-2020-11978)
  • QML入门之创建可重用的组件(一)