STM32F407--寄存器映射

什么是寄存器
在学习 STM32 编程时,通常有两种编程方式,一种是寄存器编程,另外一种是固件库
编程,其中寄存器编程是基础,而固件库编程是在寄存器编程的基础上升级而来的一种易
于学习和开发的编程方式,是我们学习 STM32 编程的时候需要重点掌握的一种编程方法。
固件库编程对于项目开发固然简单和快速,但是从学习的角度开发,学习寄存器编程的方
法我们也不能丢。其实,我们在学习 8 位或者 16 位单片机的时候,居多都是采用寄存器编
程,那么这个寄存器编程里面的寄存器是什么东西?它在芯片的什么地方?在探索 STM32
寄存器深层次的问题时,我们从 STM32 表面的外观开始,一层层的往里面深入学习。最后,
在学习完本章内容之后, 看看大家能否用一句话给寄存器下一个定义。

我们 F407 霸天虎开发板中使用的芯片是 144pin 的 STM32F407ZGT6,具体见图 6-1。
这个就是我们接下来要学习的 STM32,它将带领我们进入嵌入式的殿堂。
芯片正面是丝印, ARM 应该是表示该芯片使用的是 ARM 的内核, STM32F429IGT6
是芯片型号,后面的字应该是跟生产批次相关,最下面的是 ST 的 LOGO。
芯片四周是引脚,左下角的小圆点表示 1 脚,然后从 1 脚起按照逆时针的顺序排列
(所有芯片的引脚顺序都是逆时针排列的)。开发板中把芯片的引脚引出来,连接到各种
传感器上,然后在 STM32 上编程(实际就是通过程序控制这些引脚输出高电平或者低电平)
来控制各种传感器工作,通过做实验的方式来学习 STM32 芯片的各个资源。开发板是一种
评估板,板载资源非常丰富,引脚复用比较多,力求在一个板子上验证芯片的全部功能。

6.3 芯片里面有什么
我们看到的 STM32 芯片已经是已经封装好的成品,主要由内核和片上外设组成。若与
电脑类比,内核与外设就如同电脑上的 CPU 与主板、内存、显卡、硬盘的关系。
STM32F407 采用的是 Cortex-M4 内核,内核即 CPU,由 ARM 公司设计。 ARM 公司
并不生产芯片,而是出售其芯片技术授权。芯片生产厂商(SOC)如 ST、 TI、 Freescale,负
责在内核之外设计部件并生产整个芯片,这些内核之外的部件被称为核外外设或片上外设。
如 GPIO、 USART(串口)、 I2C、 SPI 等都叫做片上外设。具体见图 6-3。

在这里插入图片描述

图 6-3 STM32 芯片架构简图
芯片内核和外设之间通过各种总线连接,其中主控总线有 8 条,被控总线有 7 条,具
体见图 6-4。主控总线通过一个总线矩阵来连接被控总线, 总线矩阵用于主控总线之间的访
问仲裁管理,仲裁采用循环调度算法。总线之间交叉的时候如果有个圆圈则表示可以通信,没
有圆圈则表示不可以通信。比如 S0: I 总线只有跟 M0、 M2 和 M6 这三根被控总线交叉的时候
才有圆圈,就表示 S0 只能跟这三根被控总线通信。从功能上来理解, I 总线是指令总线,用来
取指,指令指的是编译好的程序指令。我们知道 STM32 有三种启动方式,从 FLASH 启动(包
含系统存储器),从内部 SRAM 启动,从外部 RAM 启动,这三种存储器刚好对应的就是 M0、
M2 和 M6 这三条总线。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值