打印

关于STM32F407IG外扩RAM的疑问!

[复制链接]
4718|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wanda216|  楼主 | 2013-9-5 16:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wanda216 于 2013-9-6 10:51 编辑

高手们好,我想把STM32上运行UC/OSII和UC/GUI时,STM32内部自带的RAM可能不够用,这就需要STM32的外扩RAM功能,内部RAM作为中断服务程序的堆栈使用,而外部RAM作为存放临时变量的地方和UC/OSII的任务切换用堆栈。我现在只是想把定义的全局变量,全局数组放到外部RAM中,内部RAM做堆栈使用,请问有设置成功的吗,我把原理图和KEIL设置图发上来,请高手帮我指点一二!
沙发
wanda216|  楼主 | 2013-9-5 16:52 | 只看该作者

使用特权

评论回复
板凳
trumpxp| | 2013-9-5 19:33 | 只看该作者
不是很了解啊    楼主   帮你顶一个   看看别人的问题   不知道有没有高手能够解决这个问题

使用特权

评论回复
地板
ningzb| | 2013-9-6 17:35 | 只看该作者
给你说个方向,需要是用连接定位文件,Scatter-Loading Description File generated by uVision,需要自己修改一下

主要是增加外部RAM的地址,并把变量放到一个文件中, 如下面的ExtSramDat.c中定义的全局变量,都会放到0x68000000开始长度0x80000以内的空间里
EX_RAM 0x68000000 0x80000{
          ExtSramDat.o(+RW,+ZI)
  }

你自己努力吧

使用特权

评论回复
5
chuangpu| | 2013-9-6 19:26 | 只看该作者
楼上是高手   谢谢了   楼主   方向很重要  谢谢

使用特权

评论回复
6
hawksabre| | 2013-9-7 09:50 | 只看该作者
好帖子   好好学习   需要消化消化   不错   楼主

使用特权

评论回复
7
1849097455| | 2013-9-7 09:57 | 只看该作者
学习一下

使用特权

评论回复
8
wanda216|  楼主 | 2013-9-7 11:41 | 只看该作者
本帖最后由 wanda216 于 2013-9-7 21:58 编辑

stm32外接sram详细配置(基于MDK)
    此配置实用st的官方例程,sram使用的区块为bank1,bank1的首地址为0x60000000尾地址为0x6fffffff,分为4个64M的区块。

其中:

Bank1_SRAM1_ADDR = 0x60000000;

Bank1_SRAM2_ADDR = 0x64000000;

Bank1_SRAM3_ADDR = 0x68000000;

Bank1_SRAM4_ADDR = 0x6c000000;

分别对应NE1,NE2,NE3,NE4四个片选,相应的IO口应按需要更改配置(下面有官方的例程,里面有详细代码)。

    如果想把变量分配到外部SRAM需要配置“Target Options ” ,选择RAM1前的“default”,后面start添0x68000000,“size”添0x80000,此处配置为Bank1_SRAM3的配置。

    但此时编译后运行会进入“HardFault_Handler()”函数的死循环,原因是配置了外部SRAM后变量会自动分配到外部SRAM但是代码中某些变量在SRAM初始化之前被编译,导致上述错误。

    可以通过将SRAM初始化之前编译的“**.c”和“**.s”文件的“Meorry Assignment”定义到内部RAM的方法来解决。操作方法是:右击该“**.c”选择“option for Flie "**.c"”将“zero Initialized Data”和“other Data”定义到IRAM[0x20000000-0x20000FFFF]。
我试了这个方法管用呢!

使用特权

评论回复
9
liuruoshui1987| | 2013-9-7 17:19 | 只看该作者
很有用的贴子,以后备用!

使用特权

评论回复
10
wanda216|  楼主 | 2013-9-11 10:02 | 只看该作者
谢谢ningzb,按照你的方法,我试验成功了,只是FSMC读写SRAM速度不是很满意啊!

使用特权

评论回复
11
victor1934| | 2016-6-8 22:58 | 只看该作者
先收藏,学习了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

13

帖子

0

粉丝