stm32f439中怎么让程序在片外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所在的地址
温馨提示:答案为网友推荐,仅供参考
相似回答