打印

STM32F4中的192K SRAM与64K DATA RAM有何不同?

[复制链接]
11337|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qqatscau|  楼主 | 2012-11-25 11:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
STM32F4中的192K SRAM与64K DATA RAM有何不同?
使用上有什么不同?
沙发
qqatscau|  楼主 | 2012-11-26 15:58 | 只看该作者
没有人用过吗?

使用特权

评论回复
板凳
qqatscau|  楼主 | 2012-11-29 09:17 | 只看该作者
香主能回答下吗

使用特权

评论回复
地板
IJK| | 2012-11-29 10:58 | 只看该作者
看一下STM32F4 datasheet里面 STM32F40x block diagram,比较清楚。

使用特权

评论回复
5
qqatscau|  楼主 | 2012-11-29 16:23 | 只看该作者
使用上有什么区别?
我添加那64KB到工程设置中后,程序运行得不正常。

使用特权

评论回复
6
qqatscau|  楼主 | 2012-11-29 16:55 | 只看该作者

使用KEIL4.53, STM32F407,
当有这句时:char temp[1024] __at(0x10000000);  时出现上面的编译错误,
但将地址改为: char temp[1024] __at(0x10001000);  则没有错误。
这又是为什么?

使用特权

评论回复
7
qqatscau|  楼主 | 2012-11-29 17:15 | 只看该作者


还有一个问题,KEIL中默认使用128K RAM (起始地址:0x20000000),如果添加上另外的64K CCM DATA RAM (起始地址:0X10000000)后,编译器会优先使用那64K RAM,有没有办法让编译器优先使用那128K RAM?

使用特权

评论回复
8
qqatscau|  楼主 | 2012-11-30 09:14 | 只看该作者
顶下。。。

使用特权

评论回复
9
Aaron238| | 2012-11-30 10:16 | 只看该作者
那 64K 的SRAM 速度会比  128K的快  那个是专门用来 放数据的,这样CPU的效率会高很多

使用特权

评论回复
10
qqatscau|  楼主 | 2012-11-30 14:03 | 只看该作者
那上面几个问题如何解决?
而且使用那64K RAM时我的板子连不以以太网。

使用特权

评论回复
11
dun2011| | 2014-7-3 16:09 | 只看该作者
qqatscau 发表于 2012-11-30 14:03
那上面几个问题如何解决?
而且使用那64K RAM时我的板子连不以以太网。

大哥,你的问题解决了吗?我的也出现了这个问题。

使用特权

评论回复
12
海陆空653| | 2017-5-12 10:06 | 只看该作者
//YZC 发表于 2014-7-3 16:57
上面是407文档上的截图,CCM只能被D-bus直接访问,Ethernet DMA只能访问SRAM和FSMC,你的以太网程序应该 ...

结合分散加载文件分析,查看以太网部分的分配到那片内存,刚好解决的我的问题,以太网能正常分配的IP地址并且能正常通信了。 为了避免编译器自动分配失败的问题,建议用分散加载文件把以太网相关的数据放到SRAM中去,不要放到CCM-RAM中;

使用特权

评论回复
13
whtwhtw| | 2017-5-12 11:07 | 只看该作者

CCM的64K内存是直接与CPU进行访问的,别的设备都访问不了

其作用是作为普通SRAM内存快速访问的备份数据,但是也要注意SRAM内存数据更新要同时更新CCM中的数据。

使用特权

评论回复
14
zchong| | 2017-5-12 16:37 | 只看该作者
CCM不能用于DMA

使用特权

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

本版积分规则

28

主题

156

帖子

0

粉丝