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

楼主: 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版