What the difference between ARM and DSP core when accessing FPGA using EMIFA in omapl138?

Started by shiv...@gmail.com July 2, 2013

I want to use EMIFA to access a dual port RAM in FPGA, which is designed to be 16-bit in width and 256-byte in depth. I have configured the EMIFA to be 16-bit data width, and used memcpy() to copy an array of the type of unsigned char into the dual port RAM. The ARM core can complete this course exactly, however, the DSP core can only complete it rigthly under an condition that the size of the array must be longer than 26 bytes. Which means when the size of the array that i want to copy is shortter than 26 bytes, 2 or 10 e.g, some bytes of the array could not be copyed into the FPGA rightly.

In my former opinion, the EMIFA interface would generate the same timing waveform when using the same function under the same configration no matter which core be used. But the problem i ran into today warned me that some differences may exist between ARM and DSP when accessing EIMFA. Anyone can teach me how to settle this problem?