DSP EMIF总线CS0连接 FPGA, CS1连接 Flash。总线宽度均为16BIT,小端方式,100MHZ,DSP为主, CCS3.3开发坏境
1、EMIF CS0 访问,使用 memcpy()函数往从设备端发送数据,经常从设备端收到数据只有低字节数据正确,高字节错误的情况,如发送数据为0x2211,FPGA收到 的数可能会变成 0x1111,但不是每次都错。改用自己写的mycpy就正常了。这是为什么?
inline void mycpy(void *dest, const void *src, int len) { const unsigned short *s = src; unsigned short *d = dest; while (size--) { *d++ = *s++; } }
2、EMIF CS1连接了 FLASH芯片,带DSP/BIOS情况下,在main函数中读取FLASH正常,偶尔会出现读取FLASH固定地址数据错误(在DSP 使用CCS打断点调试时,FPGA发送中断信号给DSP,随后DSP继续执行准备读取FLASH的情况下),每次错误时读到数据都为0x004F000F,再次读取才会正常。但是使用不带操作系统的工程测试该段地址一直都正常。