Bootstrap

STM32 RAM在Memory Map中被分为3个区域

型号为STM32F407ZET6,Memory Map如下:

可以看到Flash是完整的一块区域,而RAM却被分成了12KB + 16KB + 64KB = 192KB的三块。

通过查阅资料可知这是ST在芯片设计时针对不同类型的变量做出的考虑,其中:

  • 1.CCM SRAM: 64 KB,是独立的高性能内存,具有单独的总线直接与 Cortex-M4 核心相连。特点:访问延迟极低,适用于对性能要求极高的代码或数据,这个区域绝大部分情况是用不到的(以我目前的水平)。
  • 2.SRAM1:112 KB,在程序里写的大部分RW变量都存在这里。
  • 3.SRAM2:主要是为了与 DMA 控制器配合而设置的,SRAM2 与 SRAM1 采用了不同的总线。需要在SRAM2里运行的程序会自动定义进来,不需要手动设置。

;