OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 12841|回复: 11

求助STM32外部SRAM当做RAM使用

[复制链接]

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2013-7-25
在线时间
0 小时
发表于 2013-9-1 21:46:14 | 显示全部楼层 |阅读模式
最近在用STM32进行图像处理,由于内部RAM的空间不够用,所以想用外部SRAM当RAM一样使用,但后来实验发现外部SRAM是挂在FSMC上的,看了很多资料都是把外部SRAM当做存储器使用,没有当做内存来使用,现在有两个问题想请高手帮忙解答,一是如何进行配置才能把SRAM当做单独的RAM使用,特别是keil里面还有没有其他地方需要设置,(我看有些资料上说中断地址也要写到FSMC的BANK上),第二个就是挂在FSMC上的两个设备可否不通过内部RAM进行通信(外部SRAM与LCD,但此时SRAM已作为内存是否可以?)我用的是STM32F207ZGt6。请高手帮忙解答,跪谢
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-9-1 23:20:42 | 显示全部楼层
外挂SRAM就是可以当成RAM用的。。。
不过我一般用绝对地址定位,来使用外部SRAM,而不用MDK自动分配这种方式。
因为如果速度要求高的计算,使用外部SRAM,那么速度就大打折扣了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2013-7-25
在线时间
0 小时
 楼主| 发表于 2013-9-2 00:25:04 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
哦,谢谢原子哥,我试试
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2013-9-16
在线时间
0 小时
发表于 2013-9-16 11:18:17 | 显示全部楼层
请问楼主问题解决了吗,我也有一样的疑问
回复 支持 反对

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2013-7-25
在线时间
0 小时
 楼主| 发表于 2013-9-21 09:01:37 | 显示全部楼层
回复【4楼】michael_open:
---------------------------------
还没有,之前逻辑有点混乱,现在重理思路,您解决的怎样了?
回复 支持 反对

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2013-7-25
在线时间
0 小时
 楼主| 发表于 2013-9-21 09:35:16 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥,您好,请问有没有使用外部SRAM作为程序运行空间的例程供小弟参考一下呢?
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2013-9-21 11:37:13 | 显示全部楼层
103ZET6,SDIO,显示SD卡文件内容到屏幕,外扩RAM在bank1 ne3上,256*16,显示器在bank1 ne1上

SDIO+FATFS+Font+ExtSRAM.zip

532.25 KB, 下载次数: 1232

回复 支持 反对

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2013-7-25
在线时间
0 小时
 楼主| 发表于 2013-9-21 13:02:23 | 显示全部楼层
回复【7楼】ricefat:
---------------------------------
谢谢大侠,我下下来学习一下
回复 支持 反对

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2013-7-25
在线时间
0 小时
 楼主| 发表于 2013-9-22 10:45:53 | 显示全部楼层
回复【7楼】ricefat:
---------------------------------
六楼大哥,谢谢你啦,参照你的例程做法我在207上已经调通了,主要是栈起始地址设置问题还有一个就是在  “     LDR     R0, =SystemInit
                 BLX     R0” 与“     LDR     R0, =__main
                 BX      R0”之间
添加LDR     R0, =__initial_sp          ; restore original stack pointer
               MSR     MSP, R0
回复 支持 反对

使用道具 举报

6

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2013-7-25
在线时间
0 小时
 楼主| 发表于 2013-9-22 10:47:00 | 显示全部楼层
回复【4楼】michael_open:
---------------------------------
请看8楼我的回复,可以把六楼大哥的例程下下来看看
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2013-9-22 14:57:04 | 显示全部楼层
回复【9楼】just0511:
---------------------------------
启动文件我也是直接用了官方外扩SRAM的实例
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2017-10-1
在线时间
24 小时
发表于 2018-8-2 16:03:10 | 显示全部楼层
正点原子 发表于 2013-9-1 23:20
外挂SRAM就是可以当成RAM用的。。。
不过我一般用绝对地址定位,来使用外部SRAM,而不用MDK自动分配这种方 ...

寄存器版本的如何实现啊?原子哥
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 11:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表