OpenEdv-开源电子网

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

stm32外接sram详细配置(基于MDK)

[复制链接]

5

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2012-2-16
在线时间
4 小时
发表于 2013-1-30 10:43:11 | 显示全部楼层 |阅读模式
  此配置实用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]。

SRAM.rar

12.05 KB, 下载次数: 346

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-1-30 10:55:22 | 显示全部楼层
回复 支持 反对

使用道具 举报

25

主题

683

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1351
金钱
1351
注册时间
2012-4-25
在线时间
195 小时
发表于 2013-1-30 16:23:44 | 显示全部楼层
不错,实用
回复 支持 反对

使用道具 举报

20

主题

71

帖子

0

精华

初级会员

Rank: 2

积分
171
金钱
171
注册时间
2011-11-6
在线时间
0 小时
发表于 2013-7-1 23:01:44 | 显示全部楼层
回复【3楼】mygod:
---------------------------------
回复【楼主位】sky007tao:
---------------------------------
太好了
原子哥,求交往~(*^__^*) 
回复 支持 反对

使用道具 举报

57

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
453
金钱
453
注册时间
2013-5-23
在线时间
47 小时
发表于 2013-7-5 10:59:47 | 显示全部楼层
回复【楼主位】sky007tao:
---------------------------------
谢谢分享 我正找外扩SRAM资料,但是还是有疑问:那些文件需要改?
回复 支持 反对

使用道具 举报

57

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
453
金钱
453
注册时间
2013-5-23
在线时间
47 小时
发表于 2013-7-5 11:03:31 | 显示全部楼层
我修改了启动文件**hd.s  就能用了, ,“size”添0x80000  这个怎么来的
回复 支持 反对

使用道具 举报

17

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
166
金钱
166
注册时间
2013-3-20
在线时间
0 小时
发表于 2013-8-8 22:50:04 | 显示全部楼层
回复【楼主位】sky007tao:
---------------------------------
你好,size的大小是不是外扩sdram的空间大小,原子的sdram是1m(16bit*512k)的那么是不是大小配置为0x10000
此外,是不是可以再汇编里面提前初始化外部ram
回复 支持 反对

使用道具 举报

54

主题

537

帖子

0

精华

高级会员

Rank: 4

积分
797
金钱
797
注册时间
2012-2-27
在线时间
7 小时
发表于 2013-8-9 10:48:06 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
这样做是不是就可以不用像例程那样malloc和free了,直接就可以使用了啊。像STM32自带的内部sram一样。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-9 11:00:22 | 显示全部楼层
回复【8楼】wwjdwy:
---------------------------------
什么意思
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

54

主题

537

帖子

0

精华

高级会员

Rank: 4

积分
797
金钱
797
注册时间
2012-2-27
在线时间
7 小时
发表于 2013-8-9 12:22:41 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
就是比如 直接分配*p=xxx;就有可能分配到扩展的内存。
就不用使用malloc函数来手动给它分配一个指定地址。

就是我想让系统自动分配内存,不用我手动操作
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-9 14:03:56 | 显示全部楼层
回复【10楼】wwjdwy:
---------------------------------
不行吧...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2013-8-9 14:13:00 | 显示全部楼层
回复【楼主位】sky007tao:
---------------------------------
可以考虑在RW和ZI-data初始化前配置完所需的硬件。
于20150522停用该账号:http://www.microstar.club
回复 支持 反对

使用道具 举报

54

主题

537

帖子

0

精华

高级会员

Rank: 4

积分
797
金钱
797
注册时间
2012-2-27
在线时间
7 小时
发表于 2013-8-9 18:39:44 | 显示全部楼层
回复【11楼】正点原子:
---------------------------------
我看战舰的例程里没有对MDK进行配置。而是在文件里定义了使用内存块位置。所以个人猜想是不是MDK像楼主那样设置了之后就不用使用内存管理了。
回复 支持 反对

使用道具 举报

54

主题

537

帖子

0

精华

高级会员

Rank: 4

积分
797
金钱
797
注册时间
2012-2-27
在线时间
7 小时
发表于 2013-8-9 18:40:53 | 显示全部楼层
回复【楼主位】sky007tao:
---------------------------------
楼主来个完整工程吧,你的压缩包里面没有FSMC相关文件啊。
使用时候如何给一个变量地址与空间大小,能给个演示语句么。
多谢了嘿嘿
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-15 14:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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