提示:文章
前言
前期疑问:
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
总结
未完待续