埃斯提爱慕 发表于 2015-6-23 22:14:57

smjnk 发表于 2015-6-24 00:40:57

这个确实没用过,学习了

阿本 发表于 2015-6-24 08:20:20

mark               

index219 发表于 2015-7-1 09:33:57

你好,我也正使用F4的CCM,可是像你说的,一旦分配MCU变量到CCM区域就死机,请问F4的CCM还需要做什么修改。(变量已经在MAP文件下看过,分配到CCM区段了)

creep 发表于 2015-7-1 10:08:18

index219 发表于 2015-7-1 09:33
你好,我也正使用F4的CCM,可是像你说的,一旦分配MCU变量到CCM区域就死机,请问F4的CCM还需要做什么修改。 ...

你看清楚我可没有说F4把变量分配到CCM区域会fault,我是说分配函数到CCM区域会fault。

index219 发表于 2015-7-1 10:26:01

creep 发表于 2015-7-1 10:08
你看清楚我可没有说F4把变量分配到CCM区域会fault,我是说分配函数到CCM区域会fault。 ...

当变量长度少的时候(如buf【2】),分配到CCM是不会fault,但是当定义变量buf【64*1024】,大数组的时候就会fault。而且buf【2】的情况下,对变量初始化buf【1】=2后,代码实际运行,串口打印出buf【1】的值确实400多。 请教下,F4的CCM是否还需要做其他的配置?

creep 发表于 2015-7-1 10:28:44

index219 发表于 2015-7-1 10:26
当变量长度少的时候(如buf【2】),分配到CCM是不会fault,但是当定义变量buf【64*1024】,大数组的时候 ...

首先你要确定你定义的数组size小于CCM的区域,不同的片子CCM的大小是不同的,根据这个大小来修改SCR里面的CCM的值,要不然肯定会出错。其他的设置和F3的一样。

qianfan 发表于 2015-7-1 10:55:41

creep 发表于 2015-6-19 09:58
有金币送点金币
没金币捧点人气

表示不知道如何送金币啊

index219 发表于 2015-7-1 10:56:05

creep 发表于 2015-7-1 10:28
首先你要确定你定义的数组size小于CCM的区域,不同的片子CCM的大小是不同的,根据这个大小来修改SCR里面 ...

第一:我是用的是F407,CCM大小64k。
第二:使用IAR编译环境,.icf文件下配置CCMRAM地址范围在0x10000000-0x1000ffff.
第三:在.map文件下查看到变量ucHeap【64*1024】 地址成功分配到0x100000000x10000

CCM的相关配置都是官方提供的F3参考文档,结果是程序实际跑起来,就会进入fault。

creep 发表于 2015-7-1 11:16:19

QianFan 发表于 2015-7-1 10:55
表示不知道如何送金币啊

感谢版主,你这是要准备打赏我点金币吗?

creep 发表于 2015-7-1 11:20:09

index219 发表于 2015-7-1 10:56
第一:我是用的是F407,CCM大小64k。
第二:使用IAR编译环境,.icf文件下配置CCMRAM地址范围在0x10000000- ...

1.我没有用过IAR测试CCM分配,所以我不知道是不是和keil的设置一致。
2.我感觉你应该先找到你上面说的把变量分频到CCM然后变量会出错的原因。
3.有空我试下在keil里分配64K的数组到CCM里面会不会有问题。

creep 发表于 2015-7-1 11:42:55

index219 发表于 2015-7-1 10:56
第一:我是用的是F407,CCM大小64k。
第二:使用IAR编译环境,.icf文件下配置CCMRAM地址范围在0x10000000- ...

我刚测试了keil下把64K数组放在CCM,数组写进去的内容没有变化,数组内元素可以修改,程序正常运行不会fault。
http://files.note.sdo.com/OMD2T~lpdx2q4M2eM000FE

qianfan 发表于 2015-7-1 11:57:22

creep 发表于 2015-7-1 11:16
感谢版主,你这是要准备打赏我点金币吗?

表示版主不能打赏,只有管理员有这个权限。。。

index219 发表于 2015-7-1 16:09:43

creep 发表于 2015-7-1 11:42
我刚测试了keil下把64K数组放在CCM,数组写进去的内容没有变化,数组内元素可以修改,程序正常运行不会fa ...

好的,非常感谢,我至少可以确认KEIL下可以。我在找找IAR原因。

wu1169668869 发表于 2015-7-29 00:59:52

尝试去看keil的帮助文档没什么大收获
楼主这个方法还不错,不知道能不能用DMA来传输定义在SDRAM中的数据!!!?
页: 1 [2] 3 4 5
查看完整版本: 【STM32F303开发】+ 使用片内的CCMRAM缩短代码执行时间