目录
3.2 让GPIOB端口的16个引脚输出高电平,要怎么实现?
1. STM32长什么样
1、学会看丝印
2、懂得如何辨别正方向
2. STM32内部有什么
2.1 STM32芯片架构简图
STM32F10xx系统框图
3. 存储器映射
3.1 什么叫存储器映射?
存储器本身不具有地址信息,它的地址是由芯片厂商或用户分配,给存储器分配地址的过程就称为存储器映射。
具体的可参考《STM32F103xCDE_数据手册》4-memory mapping章节
3.2 让GPIOB端口的16个引脚输出高电平,要怎么实现?
通过绝对地址访问内存单元
// GPIOB 端口全部输出 高电平
*(unsigned int*)(0x40010C0C) = 0xFFFF;
1、0X40010C0C 是GPIOB输出数据寄存器ODR的地址,如何找到?
2、(unsigned int*)的作用是什么?
2、学会使用C语言的 * 号
4. 什么是寄存器
寄存器:给有特定功能的内存单元取一个别名,这个别名就是我们经常说的寄存器,这个给已经分配好地址的有特定功能的内存单元取别名的过程就叫寄存器映射。
寄存器映射:给存储器分配地址的过程叫存储器映射,再分配一个地址叫重映射。
4.1 总线基地址
4.2 寄存器的种类
4.2.1 存储器种类
4.3 RAM存储器
RAM是“Random Access Memory”的缩写,被译为随机存储器。所谓“随机存取”,指的是当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关。这个词的由来是因为早期计算机曾使用磁鼓作为存储器,磁鼓是顺序读写设备,而RAM可随读取其内部任意地址的数据,时间都是相同的,因此得名。
实际上现在RAM已经专门用于指代作为计算机内存的易失性半导体存储器。
根据RAM的存储机制,又分为动态随机存储器DRAM(Dynamic RAM)以及静态随机存储器SRAM(Static RAM)两种。
4.3.1 DRAM的存储单元结构
动态随机存储器DRAM(Dynamic RAM)。
DRAM以电容的电荷来表示数据
4.3.2 SRAM的存储单元结构
静态随机存储器SRAM(Static RAM)。
SRAM以锁存器来存储数据
4.3.3 DRAM与SRAM的特性
4.4 非易失性存储器
4.4.1 ROM存储器
ROM是“Read Only Memory”的缩写,意为只能读的存储器。由于技术的发展,后来设计出了可以方便写入数据的ROM,而这个“Read Only Memory”的名称被沿用下来了,现在一般用于指代非易失性半导体存储器,包括后面介绍的FLASH存储器,有些人也把它归到ROM类里边。
种类 | 特性 |
MASK ROM | 出厂时固化,不可修改 |
OTPROM | 用户可写入一次,之后不可修改 |
EPROM | 可重复擦写,需要使用专用紫外线照射设备擦除 |
EEPROM | 可重复擦写,电擦除,使用方便 |
4.4.2 FLASH存储器
FLASH存储器又称为闪存,它也是可重复擦写的储器,部分书籍会把FLASH存储器称为FLASH ROM,但它的容量一般比EEPROM大得多,且在擦除时,一般以多个字节为单位。
根据存储单元电路的不同,FLASH存储器又分为NOR FLASH和NAND FLASH
特性 | NOR FLASH | NAND FLASH |
同容量存储器成本 | 较贵 | 较便宜 |
集成度 | 较低 | 较高 |
介质类型 | 随机存储 | 连续存储 |
地址线和数据线 | 独立分开 | 共用 |
擦除单元 | 以“扇区/块”擦除 | 以“扇区/块”擦除 |
读写单元 | 可以基于字节读写 | 必须以“块”为单位读写 |
读取速度 | 较高 | 较低 |
写入速度 | 较低 | 较高 |
坏块 | 较少 | 较多 |
是否支持XIP | 支持 | 不支持 |