2、stm32f407学习笔记-存储器和寄存器以及映射

1、stm32寻址范围

32位的单片机可以有32根地址线(每根地址线有两种状态:导通或不导通)

单片机内存地址访问的存储单元是按字节编址的!(而不是bit)

地址线共有2^32中可能组合,所以采用32位寻址空间,理论最大寻址范围为4GB(2^2*2^10*2^10*2^10),物理存储器大小远小于理论寻址空间,寻址范围通过芯片设计的内存映射表确定,开发时需参考对应型号的参考手册(Reference Manual)。

2、存储器映射

存储器是计算机系统中用于保存数据和指令的硬件部件,类似于日常生活中的"仓库"。它分为不同类型,如内存(RAM)和硬盘,内存速度快但断电数据消失,硬盘速度慢但数据可长期保存。

存储区映射是指将物理存储器地址与逻辑地址关联的过程,类似于给仓库的每个货架编号。例如,程序访问某个变量时,操作系统通过映射表找到该变量在内存中的实际位置,就像快递员根据门牌号准确找到收件人。

生活中,内存如同办公桌,临时存放常用文件;硬盘如同文件柜,长期归档资料。存储区映射则像办公桌抽屉的标签,确保快速定位所需物品。

以F1为例:

存储器映射图参考数据手册中的Memory Map章节。

3、寄存器映射

寄存器的基本概念

寄存器是计算机处理器内部的高速存储单元,用于暂存指令、数据和地址。其访问速度远高于内存,是CPU直接操作的核心部件之一。

寄存器的主要功能

  • 暂存数据:在运算过程中临时保存操作数或中间结果。
  • 加速访问:减少CPU与内存之间的数据交换,提升执行效率。
  • 控制流程:存储程序计数器(PC)等关键信息,指导指令执行顺序。

寄存器的常见类型

  • 通用寄存器:支持算术逻辑运算,如x86架构的EAX、EBX。
  • 专用寄存器:包括程序计数器(PC)、栈指针(SP)等,用于特定功能。
  • 状态寄存器:存储标志位(如零标志ZF),反映运算结果状态。
相关推荐
视觉小萌新13 小时前
AI Class 3 · Chapter 1:变量、字符串、list/dict、if/for(python学习-小白版-有经验可跳过)
python·学习·list
Zw-awa16 小时前
从 CPU 搬运到自动搬运:DMA、空闲中断和两块缓冲
stm32
yyyang8816 小时前
蓝牙系统整体架构详解
学习·信息与通信
程序边界16 小时前
一台数据集成软件的拆解笔记(下):一致性、容错、跑批与迁移,KFS 真正难的地方在这
java·前端·笔记
无敌贵点大王16 小时前
从寄存器层面重学STM32(6)——串口USART实战部分
stm32·单片机·嵌入式硬件
庙堂龙吟奈我何16 小时前
二进制和十六进制
stm32·单片机
Linux-lucky16 小时前
46-Linux学习之旅之LVS负载均衡与keepalived高可用
linux·运维·学习·ubuntu·负载均衡·lvs
TST-魚爷18 小时前
小型视频会议室音频踩坑:一体化拾音扩音方案实测分享(易视讯)
stm32·电脑·音视频·钉钉·腾讯会议·zoom会议
金色光环18 小时前
【DSP学习】C2000_ADC中断_笔记
笔记·学习
Дерек的学习记录18 小时前
Unreal Engine 5:第三人称运动系统和人物动画
开发语言·学习·ue5