STM32什么是寄存器

提示:文章

文章目录

前言

前期疑问:

1、什么是寄存器?

答:在4GB的地址空间中,512MB的block2上,每4个字节组成32位,这个32位为一个单元,控制(对应)不同的功能,对这些地址取个别名,便于记忆,这个别名叫做寄存器。

本文目标:


一、背景

2025年6月7日11:26:35

重新看了下野火文章,什么是寄存器。获取到一些新的知识。

二、

2.1

关于看的这个教程的主控芯片,STM32F103ZET6。通过Z字段可以得知是144Pin引脚的芯片。E字段表示内部FLASH大小是512KB。T表示是QFP封装。6表示芯片工作温度范围为-40~85℃。

之前也有个疑惑的点,就是芯片内部的存储器包括什么?这次看了文章,直到芯片内部有内部FLASH,和SRAM(即平时说的RAM),还有一个外设模块。可见下图:

STM32芯片架构图

文章中提到STM32有4G的地址空间,然后我就很疑惑为什么STM32有4G那么大的空间?后来想了下可能寄存器是32位,可以查找4G的地址范围。2的32次方是,4294967296。然后4G的值,1GB的值是1 000 000 000。这个是10进制的算法,二进制算法是2的30次方,为1073741824。2的32次方是4294967296,确实是4G,所以确实地址空间确实是因为寄存器是32位的。

4G的地址空间分成了8个block,每个block的大小是512MB,第一个block0指向FLASH的地址空间,第二个block1指向的是SRAM的地址空间。STM32F103ZET6的FLASH大小是512KB,SRAM是64KB,不会占用全部512MB的地址空间。会有保留。具体看下表

FLASH地址位置
SRAM地址位置

联想到MDK上的配置,截了下图

MDK上之前设置的芯片是STM32F103RE,E字段代表FLASH是512KB的,设置的FLASH大小是512KB,SRAM设置成64KB

2.2

三、

3.1


总结

未完待续

相关推荐
羽获飞8 分钟前
从零开始学嵌入式之STM32——9.STM32的时钟系统
stm32·单片机·嵌入式硬件
飞睿科技1 小时前
乐鑫智能开关方案解析:基于ESP32-C系列的低功耗、高集成设计
嵌入式硬件·物联网·esp32·智能家居·乐鑫科技
来自晴朗的明天2 小时前
13、NMOS 电源防反接电路
单片机·嵌入式硬件·硬件工程
17(无规则自律)2 小时前
深入浅出 Linux 内核模块,写一个内核版的 Hello World
linux·arm开发·嵌入式硬件
芯岭技术2 小时前
PY32MD310单片机:高性能、低功耗的32位电机控制微控制器
单片机·嵌入式硬件
wotaifuzao3 小时前
STM32 + FreeRTOS 的订阅通知组件架构
stm32·嵌入式硬件·架构·freertos·事件驱动·嵌入式架构
小龙报4 小时前
【51单片机】深度解析 51 串口 UART:原理、配置、收发实现与工程化应用全总结
c语言·开发语言·c++·stm32·单片机·嵌入式硬件·51单片机
Lester_110111 小时前
STM32 高级定时器PWM互补输出模式--如果没有死区,突然关闭PWM有产生瞬间导通的可能吗
stm32·单片机·嵌入式硬件·嵌入式软件
小李独爱秋12 小时前
“bootmgr is compressed”错误:根源、笔记本与台式机差异化解决方案深度指南
运维·stm32·单片机·嵌入式硬件·文件系统·电脑故障
梁洪飞15 小时前
内核的schedule和SMP多核处理器启动协议
linux·arm开发·嵌入式硬件·arm