stm32f439中怎么让程序在片外SDRAM中执行
1个回答
2016-12-02 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517199
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
要想代码在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所在的地址
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所在的地址
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询