C6678中EMIF包括4个片选,包括CE0、CE1、CE2和CE3。
DSP6678与FPGA使用EMIF传输数据,6678读或者写操作时会进行setup,strobe,hold操作,当连续进行多个地址进行读或者写操作时,每个地址都会进行setup,strobe,hold操作么?还是,先进行setup,然后在strobe期间读或者写所有地址的数据,最后hold?就是DSP EMIF口进行多个数据地址的读写操作的过程是怎么样的?
比如EMIF CE0地址为0x70000000,在DSP端进行读数据操作代码为memcpy(dst,(char *)0x70000000,512);这行代码意思为从起始地址为0x70000000,数据长度为512字节的内存里将数据读取出来。
请问,第一方式:setup后,在strobe期间一次把512字节读取完,最后进入hold;
第二种方式:setup后,在strobe期间只能读取2字节,进入hold,再一次进入setup、strobe和hold读取2字节,经过256次循环读完512字节的数据。
上述两种方式哪种是正确的?