首页 > 代码库 > 2. STM32 存储器映射和寄存器映射

2. STM32 存储器映射和寄存器映射

连接上篇博文,先说说存储器组织

FLASH,RAM,FAMC,AHB到APB的桥(片上外设)被组织在同一个4GB的线性地址空间内

可以访问的存储器空间被分成8个主要块即为BLock0~7,每块512MB。

(1)存储器映射

存储器本身不具有地址信息,其地址由芯片厂商或用户分配,这个分配地址的过程就叫存储器映射,给存储器再分配一个地址就叫存储器重映射。

在这8 个BLock里,最关注这三块:

BLock0:内部FLASH;(0x0000 0000 ~ 0x1FFF FFFF)

      FLASH:(0x0000 0000 ~ 0x1FFF FFFF)

 

BLock1:内部RAM;(0x0800 0000 ~ 0x0807 FFFF      512KB)

        预留:(0x2001 0000 ~ 0x3FFF FFFF)

       SRAM:(0x2000 0000 ~ 0x2000 FFFF       64KB)

 

BLock2:片上外设;(0x4000 0000 ~ 0x5FFF FFFF)

      APB1:  (0x4000 0000 ~ 0x4000 77FF)

      APB2:  (0x4001 0000 ~ 0x4001 3FFF)

      AHB:   (0x4001 8000 ~ 0x5003 FFFF)

 参考一波手册:

技术分享

技术分享

 

(2)寄存器映射

寄存器就是给BLock2上,片上外设的驱动单元(实质就是内存单元)起的别名,由不同的功能起不同的名字,这个起别名的过程就叫寄存器映射。

 

2. STM32 存储器映射和寄存器映射