stm32f4 discovery SDRAM例程怎么生成scatter file文件

2019-07-14 13:55发布

在F4系列的固件库里面看到这个例程
STM32f4_dsp_stdperiph_libProjectSTM32F4xx_StdPeriph_ExamplesFMCFMC_SDRAM_DataMemory
在readme里面看到介绍:
This example shows how to use the MT48LC2M3B2B5-7E SDRAM mounted on
STM324x9I-EVAL RevB as data memory (including heap and stack).

不是discovery板子上用的那个SDRAM芯片,使用discovery板子自带例程:
STM32F429I-Discovery_FW_V1.0.1ProjectsPeripheral_ExamplesFMC_SDRAM     中的初始化方式
  /* SDRAM Initialization */  
  SDRAM_Init();

  /* FMC SDRAM GPIOs Configuration */
  SDRAM_GPIOConfig();

  /* Disable write protection */
  FMC_SDRAMWriteProtectionConfig(FMC_Bank2_SDRAM,DISABLE);

将上述代码添加到template工程system_stm32f4xx.c的初始化函数
void SystemInit(void)中的
#if defined(DATA_IN_ExtSRAM) || defined(DATA_IN_ExtSDRAM)
  SystemInit_ExtMemCtl();
#endif /* DATA_IN_ExtSRAM || DATA_IN_ExtSDRAM */

代码段的下方

根据readme中所说需要把所有相同文件替换,看了一下几个文件都没做改动就没做修改,
环境用的keil,在readme中有如下:
<li> MDK-ARM
    - in Project->Options for Linker window, uncheck the option "Use Memory Layout
      from Target Dialog". You can then import the scatter file dedicated for this
      example.
    - uncomment "#define DATA_IN_ExtSDRAM " in the "system_stm32f4xx.c" file           

第一点需要导入一个scatter file,但是工程好像没有给出。。。

第二点的效果应该和自己导入那两个初始化一样?吧。。。

没玩过这么深入,还请有经验的帮帮忙~~多谢多谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
mmwurwer
1楼-- · 2019-07-15 12:52
 精彩回答 2  元偷偷看……
mmwurwer
2楼-- · 2019-07-15 13:42
还是没能解决
fantasyo老时光
3楼-- · 2019-07-15 16:27
mmwurwer 发表于 2019-3-1 15:33
现在好像就遇到这种问题
我的sct文件现在是这样的:
; *************************************************************

你这个分散加载肯定是有问题的,你要把启动代码部分数据放置在内部RAM中。

一周热门 更多>