21ic电子技术开发论坛 单片机与嵌入式系统 GigaDevice GD32 MCU GD32F407之架构介绍
发新帖我要提问
返回列表
打印

GD32F407之架构介绍

[复制链接]
744|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近使用了国产的arm芯片GD32F407效果还是非常不错的,感觉和STM32F407类似度达99%,目前还没有感觉出来有很大的差别之处,可能库函数接口会不一样,但都是大同小异。

       到官网下载Datasheet文档发现居然还是中文版的,有那么点点小惊喜,突然感觉中国真的强大了。话不多说,直接玩起来,相信大家玩M3或M4的板子大多应该是参考正点原子或者野火来的吧,所以就有那么点习惯按照正点或野火的目录结构来建工程,在建工程之前还是介绍一下GD32F407的性能。

1、系统及存储器架构
GD32F4xx系列器件是基于ARM® Cortex™-M4处理器的32位通用微控制器。ARM® Cortex™-M4处理器包括三条AHB总线分别称为I-CODE总线、D-Code总线和系统总线。Cortex™-M4处理器的所有存储访问,根据不同的目的和目标存储空间,都会在这三条总线上执行。存储器的组织采用了哈佛结构,预先定义的存储器映射和高达4 GB的存储空间,充分保证了系统的灵活性和可扩展性。

2、ARM Cortex-M4处理器
Cortex™-M4处理器是一个具有浮点运算功能、低中断延迟时间和低成本调试特性的32位处理器。高集成度和增强的特性使Cortex™-M4处理器适合于那些需要高性能和低功耗微控制器的市场领域。Cortex™-M4处理器基于ARMv7架构,并且支持一个强大且可扩展的指令集,包括通用数据处理I/O控制任务、增强的数据处理位域操作、DSP(数字信号处理)和浮点运算指令。下面列出由Cortex™-M4提供的一些系统外设:

内部总线矩阵,用于实现I-Code总线、D-Code总线、系统总线、专用总线(PPB)以及调试专用总线(AHB-AP)的互联;
嵌套式向量型中断控制器 (NVIC);
闪存地址重载及断点单元 (FPB);
数据观测点及跟踪单元(DWT);
指令跟踪宏单元 (ITM);
嵌入式跟踪宏单元 (ETM);
串行线和JTAG调试接口 (SWJ-DP);
跟踪端口接口单元 (TPIU);
内存保护单元 (MPU);
浮点运算单元 (FPU)。
个人感觉对于浮点运算感觉还是不太行,我在函数里面做浮点计算直接卡机,有待提高啊

使用特权

评论回复
沙发
kmnqhaha|  楼主 | 2024-4-30 17:31 | 只看该作者
Cortex™-M4结构框图

使用特权

评论回复
板凳
kmnqhaha|  楼主 | 2024-4-30 17:31 | 只看该作者
系统架构
GD32F4xx系列器件采用32位多层总线结构,该结构可使系统中的多个主机和从机之间的并行通信成为可能。多层总线结构包括一个AHB互联矩阵、两个AHB总线和两个APB总线。

使用特权

评论回复
地板
kmnqhaha|  楼主 | 2024-4-30 17:31 | 只看该作者
   GD32F4xx器件的系统架构示意图



非常重要的一张图,可以看到每个设备挂载在那个时钟下,这样配置时钟就一目了然了

使用特权

评论回复
5
kmnqhaha|  楼主 | 2024-4-30 17:31 | 只看该作者
片上SRAM存储器
      GD32F4xx系列微控制器可以提供高密度片上FLASH存储器,按以下分类进行组织:

高达3072KB主FLASH存储器;(非常奢侈豪华啊)
高达30KB引导装载程序(boot loader)信息块存储器;
高达512B OTP(一次性可编程)存储器;
器件配置的选项字节。

使用特权

评论回复
6
kmnqhaha|  楼主 | 2024-4-30 17:31 | 只看该作者
引导配置
GD32F4xx系列微控制器提供了三种引导源,可以通过BOOT0和BOOT1引脚来进行选择,详细说明见表1-3. 引导模式。该两个引脚的电平状态会在复位后的第四个CK_SYS(系统时钟)的上升沿进行锁存。用户可自行选择所需要的引导源,通过设置上电复位和系统复位后的BOOT0和BOOT1的引脚电平。一旦这两个引脚电平被采样,它们可以被释放并用于其他用途。



使用特权

评论回复
7
kmnqhaha|  楼主 | 2024-4-30 17:32 | 只看该作者
引导模式表:


一定要注意这个上电引导选择,不然让你折腾半天都找不到,深坑预警

上电序列或系统复位后,ARM®Cortex™-M4处理器先从0x00000000地址获取栈顶值,再从0x00000004地址获得引导代码的基地址,然后从引导代码的基地址开始执行程序。所选引导源对应的存储空间会被映射到引导存储空间,即从0x0000 0000开始的地址空间。如果片上SRAM(开始于0x20000000的存储空间)被选为引导源,用户必须在应用程序初始化代码中通过修改NVIC异常向量表和偏移地址将向量表重置到SRAM中。当主FLASH存储器被选择作为引导源,从0x0800 0000开始的存储空间会被映射到引导存储空间。由于主FLASH存储器的Bank0或Bank1均可映射到地址0x0800 0000(通过配置SYSCFG_CFG0寄存器的FMC_SWP控制位),所以,微控制器可以使用该方法从Bank0或Bank1中启动。

引导装载程序在GigaDevice生产器件的过程中已经被编程,用于通过以下其中一个通信接口重新编程主FLASH存储器:USART0(PA9和PA10)、USART2 (PB10和PB11或PC10 and PC11)。

使用特权

评论回复
8
kmnqhaha|  楼主 | 2024-4-30 17:32 | 只看该作者
一般我们都是使用主FLASH,毕竟资源优势摆在那

6、搭建简易工程项目
    目录结构如图:

使用特权

评论回复
9
hehhehee| | 2024-4-30 23:27 | 只看该作者
GD32F4xx系列器件是基于ARM® Cortex™-M4处理器的32位通用微控制器。

使用特权

评论回复
10
埃娃| | 2024-5-15 23:37 | 只看该作者
这个能pin2pin st的吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

147

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部