阅读:1861回复:6
有关d12采用DMA方式读写flash存储器的问题
请问用AT89C51+D12能够对K9F6408、5608或者其它的NAND存储器进行DMA操作吗?如何控制?谢谢!lijilai2003@hotmail.com.
|
|
|
沙发#
发布于:2004-04-06 19:15
应该是不行的。
你仔细看看D12的资料。 我的经验是,DMA一般只能在buffer 与 ram 之间进行,没见过还能对flash进行DMA的。 |
|
板凳#
发布于:2004-04-07 09:57
应该是不行的。 "DMA一般只能在buffer 与 ram 之间进行" 另外例如:支持DMA的DSP和支持DMA的USB芯片之间 完整一点说应该是支持DMA的两个接口之间(主从或称DMA控制器和DMA设备之间).如果两者有一个不支持DMA就肯定不能用DMA. [编辑 - 4/7/04 by dragon_hn] |
|
|
地板#
发布于:2004-04-07 10:59
如果是cpu和接口芯片d12都支持dma,能用dma方式完成flash和pc的通讯吗?
|
|
地下室#
发布于: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之说法了. |
|
|
5楼#
发布于:2004-04-07 20:04
对FLASH的写入应该是一次写入一个数据块(一页)。那是不是只要给出初页地址,就可以一次写入一块(例如64 BYTE)。那么一次性写入64BYTE的过程是否可以看成一次DMA过程。
|
|
|
6楼#
发布于:2004-04-08 11:36
不行吧,完全不一样的动作。
对flash操作要用特定的命令,比如0x00、0x85.....(for samsung)。 为什么一定要这样去理解呢?一定要把flash和dma联系起来? |
|