STM32 F4 存储结构

摘自stm32F4参考手册、数据手册、内核权威指南

Cortex M3 M4存储器映射:

STM32 F4 存储结构_第1张图片STM32 F4 存储结构_第2张图片

 

STM32 F4 存储结构_第3张图片

 

 

STM32 F4 存储结构_第4张图片

 

 

地址空间可以通过一种方式分为8个512MB的空间:

STM32 F4 存储结构_第5张图片

STM32F4xx寄存器边界地址:

STM32 F4 存储结构_第6张图片

STM32 F4 存储结构_第7张图片

STM32 F4 存储结构_第8张图片

 

 

 STM32F4xx内存和Flash地址:

STM32 F4 存储结构_第9张图片

 

 

 

STM32 F4 存储结构_第10张图片

STM32 F4 存储结构_第11张图片

 

STM32 F4 存储结构_第12张图片

 

STM32 F4 存储结构_第13张图片

 

STM32 F4 存储结构_第14张图片

 

 

STM32 F4 存储结构_第15张图片

STM32 F4 存储结构_第16张图片

 

 

STM32 F4 存储结构_第17张图片

 

    >>>>>Memory mapping<<<<<

       数据手册P71

STM32 F4 存储结构_第18张图片

 

 

             

             

STM32的Flash  >>>>>这是M3的Flash对应的情况,M4的与之类似。

STM32的Flash,严格说,应该是Flash模块。

该Flash模块包括:Flash主存储区(Main memory)、Flash信息区(Information block),以及Flash存储接口寄存器区(Flash memory interface)。

三个组成部分分别在0x0000 0000——0xFFFF FFFF不同的区域,如图(低密度的STM32)所示:

              STM32 F4 存储结构_第19张图片

Peripherals:外设的存储器映射,对该区域操作,就是对相应的外设进行操作;

SRAM:运行时临时存放代码的地方;

Flash:存放代码的地方;

System Memory:STM32出厂时自带的你只能使用,不能写或擦除;

Option Bytes:可以按照用户的需要进行配置(如配置看门狗为硬件实现还是软件实现);

今后,你的编写代码、程序运行、寄存器设置、ICP、IAP都依靠这些东西。

 

1).主闪存存储器启动:从STM32内置的Flash启动(0x08000000-0x080FFFFF 依芯片型号而定),一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。

2).系统存储器启动:从系统存储器启动(0x1FFF0000-0x1FFF77FF 依芯片型号而定) ,这种模式启动的程序功能是由厂家设置的。一般来说,我们选用这种启动模式时,是为了从串口下载程序,因为在厂家提供的ISP程序中,提供了串口下载程序的固件,可以通过这个ISP程序将用户程序下载到系统的Flash中。

3).片上SRAM启动:从内置SRAM启动(0x2000 0000-0x2001BFFF 依芯片型号而定),既然是SRAM,自然也就没有程序存储的能力了,这个模式一般用于程序调试。

下面讲解Boot MemorySpace(Aliased to Flash or systen memory depending onBOOT pins)。其实这块空间是预留的,不存数据,或者它压根不存在。在不同的启动方式下,这块区域会被映射到其他区域:

1).从Main Flash 启动:Boot Space 是Main Flash 的别名。以0x08000000 对应的内存为例,则该块内存既可以通过0x00000000 操作也可以通过0x08000000 操作,且都是操作的同一块内存

2).从System Memory启动:Boot Space 是System Memory的别名。以0x1FFFF000对应的内存为例,则该块内存既可以通过0x00000000 操作也可以通过0x1FFFF000操作,且都是操作的同一块内存

3).从SRAM 启动:SRAM 只能通过0x20000000进行操作,与上述两者不同。从SRAM 启动时,需要在应用程序初始化代码中重新设置向量表的位置。

 

   >>>>>Device overview<<<<<

      数据手册P19
STM32 F4 存储结构_第20张图片

       

你可能感兴趣的:(stm32)