STM32F407芯片介绍

1. 文档准备

做嵌入式开发的第一步就是了解主芯片,了解STM32F407主要要关注几个文档:

1. stm32F407芯片手册

2. stm32F407参考手册

3. Arm Cortex-M4数据手册

4. Arm Cortex-M4技术手册

stm32的文档可以去stm32的官网下载:        STM32F407ZG - 带DSP和FPU的高性能基础系列ARM Cortex-M4 MCU,具有1 MB Flash、168 MHz CPU、ART加速器、以太网和FSMC - STMicroelectronicsSTM32F407ZG - 带DSP和FPU的高性能基础系列ARM Cortex-M4 MCU,具有1 MB Flash、168 MHz CPU、ART加速器、以太网和FSMC, STM32F407ZGT6, STM32F407ZGT7, STM32F407ZGT6J, STM32F407ZGT6TR, STMicroelectronicshttps://www.st.com/zh/microcontrollers-microprocessors/stm32f407zg.html#documentationARM相关的文档可以在ARM官网下载:
nullicon-default.png?t=L892https://developer.arm.com/documentation?_ga=2.29971583.177163753.1633836460-549852162.1603547607&_gac=1.114635125.1633836460.Cj0KCQjw-4SLBhCVARIsACrhWLWR6ZBn-fN8GXNFr50IGXSltca9OB3wkkiSbDvmQhxcd9LHGwOzyDYaAgi9EALw_wcB#sort=relevancy&f:@navigationhierarchiesproducts=[IP%20Products,Processors,Cortex-M,Cortex-M4]

2. stm32系统架构

 了解STM32的系统架构主要看手册里面的下面一张图:        

这张图很清楚的描述了STM32F407内部各个外设和ARM的连接,一定要好好看看这张图,对于后面的调试很有帮助。从这张图里我们大概可以总结如下内容:

1. STM32F407使用的时ARM Cortex-M4的核心,有硬件浮点计算单元FPU(这个主要在编译的时候要设置硬件FPU的参数,这样我们的代码编译成汇编语言的时候就会用到这个硬件单元,可以加速浮点数的运算),最大频率168MHz

2. ARM Cortex-M4的D-BUS,I-BUS,S-BUS, Ethernet MAC, USB OTG HS, DMA2, DMA1,AHB3, SRAM, AHB2, AHB1都挂在了AHB Bus-matrix的模块上,那么什么是AHB Bus-matrix呢?主要参考如下图片:

这样矩阵设计的目的就是为了加快外设的访问,不同控制器可以同时访问不同的外设

3. 可以看到GPIO控制器挂在了APB1总线上,同时可以看大哪些外设控制器挂在了哪个APB总线上。

3. 内存映射

主要参考stm32f407中的这张图:

这样我们就可以知道不同的地址段的含义,如flash的起始地址为0x08000000, 我们的链接文件会把中断向量表和代码放在这个这个区间。

还有就是可以看到SRAM,CCM,AHB, APB等的地址空间,从而知道对应的挂在这些总线上的外设控制器的地址空间。

这个只是CPU的大致寻址空间,如果需要更细的地址空间,如GPIO寄存器地址,可以参考stm32的数据手册。

        

        

  • 4
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值