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

[复制链接]
12035|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,比较清楚。
 楼主| qqatscau 发表于 2012-11-29 16:23 | 显示全部楼层
使用上有什么区别?
我添加那64KB到工程设置中后,程序运行得不正常。
 楼主| qqatscau 发表于 2012-11-29 16:55 | 显示全部楼层
未命名.JPG
使用KEIL4.53, STM32F407,
当有这句时:char temp[1024] __at(0x10000000);  时出现上面的编译错误,
但将地址改为: char temp[1024] __at(0x10001000);  则没有错误。
这又是为什么?
 楼主| qqatscau 发表于 2012-11-29 17:15 | 显示全部楼层
4.jpg

还有一个问题,KEIL中默认使用128K RAM (起始地址:0x20000000),如果添加上另外的64K CCM DATA RAM (起始地址:0X10000000)后,编译器会优先使用那64K RAM,有没有办法让编译器优先使用那128K RAM?
 楼主| qqatscau 发表于 2012-11-30 09:14 | 显示全部楼层
顶下。。。
Aaron238 发表于 2012-11-30 10:16 | 显示全部楼层
那 64K 的SRAM 速度会比  128K的快  那个是专门用来 放数据的,这样CPU的效率会高很多
 楼主| qqatscau 发表于 2012-11-30 14:03 | 显示全部楼层
那上面几个问题如何解决?
而且使用那64K RAM时我的板子连不以以太网。
dun2011 发表于 2014-7-3 16:09 | 显示全部楼层
qqatscau 发表于 2012-11-30 14:03
那上面几个问题如何解决?
而且使用那64K RAM时我的板子连不以以太网。

大哥,你的问题解决了吗?我的也出现了这个问题。
海陆空653 发表于 2017-5-12 10:06 | 显示全部楼层
//YZC 发表于 2014-7-3 16:57
上面是407文档上的截图,CCM只能被D-bus直接访问,Ethernet DMA只能访问SRAM和FSMC,你的以太网程序应该 ...

结合分散加载文件分析,查看以太网部分的分配到那片内存,刚好解决的我的问题,以太网能正常分配的IP地址并且能正常通信了。 为了避免编译器自动分配失败的问题,建议用分散加载文件把以太网相关的数据放到SRAM中去,不要放到CCM-RAM中;
whtwhtw 发表于 2017-5-12 11:07 | 显示全部楼层
11.png
CCM的64K内存是直接与CPU进行访问的,别的设备都访问不了
22.jpg
其作用是作为普通SRAM内存快速访问的备份数据,但是也要注意SRAM内存数据更新要同时更新CCM中的数据。
zchong 发表于 2017-5-12 16:37 | 显示全部楼层
CCM不能用于DMA
您需要登录后才可以回帖 登录 | 注册

本版积分规则

28

主题

156

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部