初识STM32

什么是 STM32

STM32,从字面上来理解, ST 是意法半导体, M 是 Microelectronics(微电子学)的缩写, 32 表示 32 位,合起来理解, STM32 就是指 ST 公司开发的 32 位微控制器。

选型看《STM8 和 STM32 产品选型手册》
看引脚信息看《STM32F407ZGT6》中的第三部分Pinouts and pin description
在这里插入图片描述
知道每个 IO 的功能说明,这个我们可以从官方的数据手册里面找到。在学习的时候,有两个官方资料我们会经常用到,一个是参考手册(英文叫Referencemanual),另外一个是数据手册(英文叫 Data Sheet)。两者的具体区别见表格参考手册和数据手册的内容区别 。
在这里插入图片描述

寄存器详细信息看《STM32F4xx中文参考手册》

STM32芯片

我们看到的芯片不止是CPU,那一块已经是封装好了,里面主要由内核和片上外设组成,类比电脑来理解就是:电脑CPU与主板内存显卡的关系。
STM32F407 采用的是 Cortex-M4 内核,内核即 CPU,由 ARM 公司设计。 ARM 公司并不生产芯片,而是出售其芯片技术授权。
然后由一些芯片生产厂商 (SOC) 如 ST、 TI、Freescale生产芯片,负责在内核之外设计部件并生产整个芯片,这些内核之外的部件被称为核外外设或片上外设。如 GPIO、 USART(串口)、 I2C、 SPI 等都叫做片上外设。具体见图 STM32 芯片架构简图 。
在这里插入图片描述
内核通过总线获取片上外设信息,进行计算处理

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

存储器映射

在图 STM32F407xx 器件的总线接口 中,连接被控总线的是 FLASH, RAM 和片上外设,这些功能部件共同排列在一个 4GB 的地址空间内,有些实际用到了,有些是预留的。我们在编程的时候,操作的也正是这些功能部件。

存储器本身不具有地址信息的,它的地址是由芯片厂商或用户分配,给存储器分配地址的过程就称为存储器映射,具体见图 STM32F407 存储器映射 。如果给存储器再分配一个地址就叫存储器重映射。
在这里插入图片描述
从图中可以开出,分为八块,每一块512MB,块中地址有的使用有的没用到。具体什么地址对应什么区域块详细可以看手册。

我们开发时,会看到各种各样的寄存器,这些寄存器就是个指针(地址)来着,我们通过指针往指针所指的地址空间写数据,这样来配置相应的寄存器。
有些会把一系列的寄存器封装成一个结构体数组,实现的机制就是:各个寄存器都是一定的字节数(1、2、4,也就是8位、16位、32位),而我们结构体成员定义成相应的字节大小,然后通过结构体成员地址是连续的,一系列寄存器地址也是连续的,这两个相同的特征,只要我们把首地址赋予寄存器,它双方两个地址就能一一对应起来了。
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值