看了下C6678 EMIF16接口的文档,接口文档中没有提及使用EDMA3 读写通过emif16外接的nor flash数据的介绍,不像SPI /I2C之类的在文档中有DMA事件,但我的C6678手册的TeraNet 组织结构表中,看到EMIF16接口作为从接口,可以与EDMA3cc1、EDMA3cc2直接相连等,这个是不是就说明可以利用EDMA3直接读写EMIF16接口?
如果可以的话,该如何操作?我的理解是:由于nor flash地址空间有全局地址,可以类似于对DDR3一样直接给定源地址 、目的地址、数据长度等等参数,进行数据读写?(我这里先忽略flash的复位、擦除等操作)
不知道我的这种思路是否正确,麻烦专家指导一下,谢谢
Wu Feng:
求指导啊
Brighton Feng:
回复 Wu Feng:
你的理解基本正确,EDMA可以读写EMIF。
对NOR FLASH的读操作和对DDR的读没有什么区别;不过EDMA的“写”和NOR FLASH的“写”不是同一个概念。一个NOR FLASH的“写”操作包含好几个EMIF总线的“写”操作,用EDMA实现不方便,还是用CPU访问比较容易实现。
Wu Feng:
回复 Brighton Feng:
谢谢您的回答。
如果EIMF16接口直接连接FPGA的话,应该没有你说的像EMIF16接口那样多个EIMF总线的写操作,这样用EDMA好还是直接用CPU访问好?
Brighton Feng:
回复 Wu Feng:
如果FPGA实现一个SRAM的接口,那EDMA就可以象访问片内存储器一样直接访问FPGA。
Wu Feng:
回复 Brighton Feng:
6678的EMIF16接口能接SRAM么?我记得在哪看过EMIF16接口是不是要接ASRAM ?
Wu Feng:
回复 Brighton Feng:
好的,谢谢~~