背景:STM32通过硬件FSMC接口扩展了一片IS62WV51216,该芯片的容量为512K的16bit,即1024K的byte,也就是1M byte,容量为0x100000。
下面为STM32的FSMC的存储区域划分图
其中bank1用来分配给外扩SRAM用,ban1的总大小为256M, ban1又划分了4个子区,每个子区64M,这4个子区的访问首地址是由硬件的FSMC_NEx来决定的。举例我们使用FSMC_NE4连接扩展SRAM,则区域对应首地址为0x6C00 0000。
3.下面通过修改.sct文件将指定文件的全局变量分配到外部RAM中
步骤1:Keil->Option中勾选上使用外部RAM
其中Start为外部RAM首地址,Size为整个RAM的大小
步骤2:Option->Linker中选择自定义分散加载文件
步骤三:点击上面Edit 编辑对应的.sct文件
上面定义了外部RAM的起始地址和大小,然后指定将main函数中定义的全局变量分配到外部RAM中
步骤四:打开生成.map文件,查找main.c中变量是否分配到了外部RAM
|