查看: 9088|回复: 5

[已解决] 有关K60的DMA、RAM以及FlexRAM的问题(已解决)

[复制链接]

该用户从未签到

4

主题

11

帖子

0

新手上路

Rank: 1

积分
32
最后登录
1970-1-1
发表于 2013-5-16 13:47:50 | 显示全部楼层 |阅读模式
 请教一下,加假如通过DMA采集数据进RAM,在DMA触发时CPU是无法从内存获得指令或数据的。也就是说CPU可能可以从FLASH里获得指令但是无法将内存中的数据处理后保存。我现在想法如下,能不能把将一个相同功能的函数及变量在内存和flexRAM里复制两份。这样的话DMA分奇偶次,奇数次时DMA数据写入RAM,然后CPU调用FlexRAM里的函数并且处理FlexRAM里的数据,到偶次时DMA把数据写入FlexRAM, CPU调用RAM里的函数处理上一次DMA保存在RAM里的数据。不知这样可行否?
希望飞思卡尔工程师能够解答。
 
另外补充一个问题,RAM和FlexRAM速度差别有多大?存取周期大概为几个时钟周期?
我知道答案 目前已有4人回答
回复

使用道具 举报

该用户从未签到

85

主题

790

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2279
最后登录
1970-1-1
发表于 2013-5-16 14:55:02 | 显示全部楼层

RE:有关K60的DMA、RAM以及FlexRAM的问题

你说的这个情况是不可能发生的。因为Kinetis芯片中有一个corssbar,它的作用就是协调你思考的情况下,如果使MCU不死机的。
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

11

帖子

0

新手上路

Rank: 1

积分
32
最后登录
1970-1-1
 楼主| 发表于 2013-5-16 15:41:05 | 显示全部楼层

回复:有关K60的DMA、RAM以及FlexRAM的问题

回复第 2 楼 于2013-05-16 22:55:02发表:
你说的这个情况是不可能发生的。因为Kinetis芯片中有一个corssbar,它的作用就是协调你思考的情况下,如果使MCU不死机的。
不好意思不是看得很明白,您说的不可能是指哪种情况?是指DMA在操作RAM时CPU无法读取RAM中指令和数据的情况吗?我看过crossbar,crossbar的作用不是让不同的主设备能够同时访问不同的从设备吗?假如说DMA和CPU都要访问RAM的话,应该CPU还是要等的吧?
 
回复 支持 反对

使用道具 举报

该用户从未签到

85

主题

790

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2279
最后登录
1970-1-1
发表于 2013-5-20 11:57:02 | 显示全部楼层

RE:有关K60的DMA、RAM以及FlexRAM的问题(正解)

这个等待的动作是由Crossbar来控制的,与程序无关。corssbar,它的作用就是协调各个设备和core之间同时访问外设的情况下,MCU应该怎样工作,否则MCU不是要经常死机了。
 
回复 支持 反对

使用道具 举报

该用户从未签到

85

主题

790

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2279
最后登录
1970-1-1
发表于 2013-5-20 12:10:03 | 显示全部楼层

RE:有关K60的DMA、RAM以及FlexRAM的问题

我们拿K60 100MHz来做个比较。RAM是用Core时钟,那么访问时间就是一个core cycle。FlexRAM是用flash时钟,所以慢很多,这个要看你flash时钟的设置了。
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

11

帖子

0

新手上路

Rank: 1

积分
32
最后登录
1970-1-1
 楼主| 发表于 2013-5-20 15:09:44 | 显示全部楼层

RE:有关K60的DMA、RAM以及FlexRAM的问题

恩 多谢多谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-9-17 05:40 , Processed in 0.105299 second(s), 26 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表