你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

楼主: creep

[STM32F3] 【STM32F303开发】+ 使用片内的CCMRAM缩短代码执行时间

  [复制链接]

0

主题

24

回帖

0

蝴蝶豆

初级会员

最后登录
2018-1-12
发表于 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是否还需要做其他的配置?
回复 支持 反对

使用道具 举报

60

主题

2051

回帖

31

蝴蝶豆

版主

最后登录
2020-12-9
 楼主| 发表于 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的一样。
回复 支持 反对

使用道具 举报

77

主题

1927

回帖

5

蝴蝶豆

论坛元老

最后登录
2020-11-18
发表于 2015-7-1 10:55:41 | 显示全部楼层
creep 发表于 2015-6-19 09:58
有金币送点金币
没金币捧点人气

表示不知道如何送金币啊
回复 支持 反对

使用道具 举报

0

主题

24

回帖

0

蝴蝶豆

初级会员

最后登录
2018-1-12
发表于 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】 地址成功分配到0x10000000  0x10000

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

使用道具 举报

60

主题

2051

回帖

31

蝴蝶豆

版主

最后登录
2020-12-9
 楼主| 发表于 2015-7-1 11:16:19 | 显示全部楼层
QianFan 发表于 2015-7-1 10:55
表示不知道如何送金币啊

感谢版主,你这是要准备打赏我点金币吗?
回复 支持 反对

使用道具 举报

60

主题

2051

回帖

31

蝴蝶豆

版主

最后登录
2020-12-9
 楼主| 发表于 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里面会不会有问题。
回复 支持 反对

使用道具 举报

60

主题

2051

回帖

31

蝴蝶豆

版主

最后登录
2020-12-9
 楼主| 发表于 2015-7-1 11:42:55 | 显示全部楼层
index219 发表于 2015-7-1 10:56
第一:我是用的是F407,CCM大小64k。
第二:使用IAR编译环境,.icf文件下配置CCMRAM地址范围在0x10000000- ...

我刚测试了keil下把64K数组放在CCM,数组写进去的内容没有变化,数组内元素可以修改,程序正常运行不会fault。
回复 支持 反对

使用道具 举报

77

主题

1927

回帖

5

蝴蝶豆

论坛元老

最后登录
2020-11-18
发表于 2015-7-1 11:57:22 | 显示全部楼层
creep 发表于 2015-7-1 11:16
感谢版主,你这是要准备打赏我点金币吗?

表示版主不能打赏,只有管理员有这个权限。。。
回复 支持 反对

使用道具 举报

0

主题

24

回帖

0

蝴蝶豆

初级会员

最后登录
2018-1-12
发表于 2015-7-1 16:09:43 | 显示全部楼层
creep 发表于 2015-7-1 11:42
我刚测试了keil下把64K数组放在CCM,数组写进去的内容没有变化,数组内元素可以修改,程序正常运行不会fa ...

好的,非常感谢,我至少可以确认KEIL下可以。我在找找IAR原因。
回复 支持 反对

使用道具 举报

14

主题

1066

回帖

2

蝴蝶豆

金牌会员

最后登录
2019-1-10
发表于 2015-7-29 00:59:52 | 显示全部楼层
尝试去看keil的帮助文档没什么大收获
楼主这个方法还不错,不知道能不能用DMA来传输定义在SDRAM中的数据!!!?
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版