stm32f746 discovery 怎么将数据存储在sdram

要想代码在SRAM中运行。有几个步骤需要做。

1、中断向量表需要修改,这样才能把中断向量表重新映射一遍。

#ifdef VECT_TAB_SRAM

NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);

#else

NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);

#endif

2、分散加载要设置,就是设置你的代码段和数据段在ram的运行地址,就是arm手册中的运行域。

3、你的代码相当于boot 和app模式,boot在flash中执行,然后把app从nor flash搬到sram所在地址。

你的运行域地址就是代码搬移到sram所在的地址