打印

GD32F407之架构介绍

[复制链接]
2801|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近使用了国产的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的吗

使用特权

评论回复
11
kzlzqi| | 2024-7-31 21:53 | 只看该作者
ARM® Cortex™-M4处理器包括三条AHB总线分别称为I-CODE总线、D-Code总线和系统总线。

使用特权

评论回复
12
亚瑟| | 2024-7-31 21:57 | 只看该作者
这个是不是全兼容st的f407啊?

使用特权

评论回复
13
ym0sly| | 2024-8-31 12:31 | 只看该作者
GD32F407和STM32F407在硬件和功能上的高度相似性使它们在许多应用场景中都可以互换使用。

使用特权

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

本版积分规则

40

主题

199

帖子

1

粉丝