一些问题
学习笔记
stm32F1
☆ 阶段性总结笔记一
stm32F4
简介
STM32系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核。
按内核架构分为不同产品:
主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品(STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)
STM32型号的说明:以STM32F103RBT6这个型号的芯片为例,该型号的组成为7个部分,其命名规则如下:
部分 | 含义 |
---|---|
STM32 | STM32代表ARM Cortex-M内核的32位微控制器。 |
F | F代表芯片子系列。 |
103 | 103代表增强型系列。 |
R | R这一项代表引脚数,其中T代表36脚,C代表48脚,R代表64脚,V代表100脚,Z代表144脚,I代表176脚。 |
B | B这一项代表内嵌Flash容量,其中6代表32K字节Flash,8代表64K字节Flash,B代表128K字节Flash,C代表256K字节Flash,D代表384K字节Flash,E代表512K字节Flash,G代表1M字节Flash。 |
T | T这一项代表封装,其中H代表BGA封装,T代表LQFP封装,U代表VFQFPN封装。 |
6 | 6这一项代表工作温度范围,其中6代表-40——85℃,7代表-40——105℃。 |
Cortex内核
Cortex-M4采用ARMv7-ME架构
ARMv7架构定义了三大分工明确的系列:
“A”系列:面向尖端的基于虚拟内存的操作系统和用户应用
“R”系列:针对实时系统;
“M”系列:对微控制器。
Cortex-M3采用ARMv7-M架构,Cortex-M0采用ARMv6-M架构,Cortex-A5/A8采用ARMv7-A架构, 传统的ARM7系列采用的是ARMv4T架构。
Cortex逐渐替代ARM
Cortex-M4内核
库开发与寄存器开发的关系
stm32提供了一个官方固件库,固件库就是函数的集合,固件库函数的作用是向下负责与寄存器直接打交道,向上提供用户函数调用的接口(API)。
这个很容易理解,就好像c++里一开始要自己写字符串操作函数,而官方直接把这些函数封装起来,就不需要我们来写,直接调用就行了
STM32 固件库与 CMSIS 标准
CMSIS 分为 3 个基本功能层:
- 核内外设访问层:ARM 公司提供的访问,定义处理器内部寄存器地址以及功能函数。
- 中间件访问层:定义访问中间件的通用 API。由 ARM 提供,芯片厂商根据需要更新。
- 外设访问层:定义硬件寄存器的地址以及外设的访问函数。
从图中可以看出,CMSIS 层在整个系统中是处于中间层,向下负责与内核和各个外设直接打交
道,向上提供实时操作系统用户程序调用的函数接口。如果没有 CMSIS 标准,那么各个芯片公
司就会设计自己喜欢的风格的库函数,而 CMSIS 标准就是要强制规定,芯片生产公司设计的库
函数必须按照 CMSIS 这套规范来设计。
芯片资源
ST MCU选型手册 查芯片型号
内部结构
内核
总线
存储器
IO口
外设接口
最小系统
供电
复位
boot模式
后备电池
晶振(两个)
串口下载