geleon
驱动牛犊
驱动牛犊
  • 注册日期2003-01-15
  • 最后登录2005-03-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1862回复:6

有关d12采用DMA方式读写flash存储器的问题

楼主#
更多 发布于:2004-04-06 19:06
请问用AT89C51+D12能够对K9F6408、5608或者其它的NAND存储器进行DMA操作吗?如何控制?谢谢!lijilai2003@hotmail.com.
geleon
Shentu
驱动小牛
驱动小牛
  • 注册日期2004-04-05
  • 最后登录2011-01-24
  • 粉丝0
  • 关注0
  • 积分234分
  • 威望24点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-04-06 19:15
应该是不行的。
你仔细看看D12的资料。
我的经验是,DMA一般只能在buffer 与 ram 之间进行,没见过还能对flash进行DMA的。
dragon_hn
驱动中牛
驱动中牛
  • 注册日期2002-05-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分297分
  • 威望40点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-04-07 09:57
应该是不行的。
你仔细看看D12的资料。
我的经验是,DMA一般只能在buffer 与 ram 之间进行,没见过还能对flash进行DMA的。


"DMA一般只能在buffer 与 ram 之间进行"
另外例如:支持DMA的DSP和支持DMA的USB芯片之间
完整一点说应该是支持DMA的两个接口之间(主从或称DMA控制器和DMA设备之间).如果两者有一个不支持DMA就肯定不能用DMA.

[编辑 -  4/7/04 by  dragon_hn]
www.dragon-2008.com 欢迎交流
chencharley
驱动牛犊
驱动牛犊
  • 注册日期2004-03-27
  • 最后登录2004-05-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-04-07 10:59
如果是cpu和接口芯片d12都支持dma,能用dma方式完成flash和pc的通讯吗?
dragon_hn
驱动中牛
驱动中牛
  • 注册日期2002-05-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分297分
  • 威望40点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-04-07 14:21
如果是cpu和接口芯片d12都支持dma,能用dma方式完成flash和pc的通讯吗?

这种情况下DMA是支持CPU和D12端点数据缓存区之间的数据传输.FLASH与PC是不存在直接的通讯的,所以也不存在DMA问题,它们之间经过了D12和CPU的中转.
具体一点说:CPU读取FLASH的扇区操作没有DMA,CPU与D12之间的端点数据传输有DMA,D12与PC之间当然没有DMA之说法了.
www.dragon-2008.com 欢迎交流
geleon
驱动牛犊
驱动牛犊
  • 注册日期2003-01-15
  • 最后登录2005-03-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-04-07 20:04
对FLASH的写入应该是一次写入一个数据块(一页)。那是不是只要给出初页地址,就可以一次写入一块(例如64 BYTE)。那么一次性写入64BYTE的过程是否可以看成一次DMA过程。
geleon
Shentu
驱动小牛
驱动小牛
  • 注册日期2004-04-05
  • 最后登录2011-01-24
  • 粉丝0
  • 关注0
  • 积分234分
  • 威望24点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-04-08 11:36
不行吧,完全不一样的动作。
对flash操作要用特定的命令,比如0x00、0x85.....(for samsung)。
为什么一定要这样去理解呢?一定要把flash和dma联系起来?
游客

返回顶部