STM32学习——基础知识
1. 芯片运作原理
ICode用于读取Flash中的指令(就是编写的代码)ICode一条条读取代码然后执行
DCode:读取数据数据分为常量与变量,常量存在Flash中,变量(全局变量与局部变量)存在SRAM中
System总线:用于访问寄存器,实现寄存器编程。
注:Flash为ROM,SRAM为RAM ;
FFFF=64kB
07 FFFF=512K=kB
2. 寄存器映射
(1)寻址
内核通过APB12,AHB三条总线访问寄存器,首先选择总线基地址(APB1/APB2/AHB)其次选择外设地址,最后根据寄存器名称在寄存器地址列表中选择偏移量找到正确的寄存器。这一过程中需要多次查阅参考手册中寄存器描述说明。
“三个概念”:
(1)总线基地址
(2)外设基地址:Register boundary addresses
(3)寄存器地址列表
注:GPIO通用寄存器:
每个通用I/O端口都有两个32位配置寄存器(GPIOx_CRL、GPIOx_CRH)、
两个32位数据寄存器(GPIOx_IDR、GPIOx_ODR)、
一个32位置位/复位寄存器(GPIOx_BSRR)、
一个16位复位