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),反映运算结果状态。
相关推荐
weiabc1 小时前
MessageBox的用法,在Delphi与vs中的区别
学习
王解2 小时前
game1
学习·ctf
人邮异步社区2 小时前
想学习大语言模型(LLM),应该从哪个开源模型开始?
学习·语言模型·开源
Moonquakes5402 小时前
嵌入式学习基础笔记(51)
笔记·学习
星期五不见面2 小时前
机器人学习!(二)ROS-基于v4l2loopback虚拟摄像头项目(4)2026/01/14
学习·机器人
Gary Studio2 小时前
轮[特殊字符]机器人学习笔记
学习
yi.Ist2 小时前
博弈论 Nim游戏
c++·学习·算法·游戏·博弈论
电子小白1232 小时前
第13期PCB layout工程师初级培训-5-生产制造
笔记·嵌入式硬件·学习·制造·pcb·layout
楼田莉子2 小时前
C++高级数据结构——LRU Cache
数据结构·c++·后端·学习