Good Evening,
I am using an OMAP3530 processor with 256 MB of memory running Angstrom as a test platform to experiment with DSP applications. My test case is the readwrite sample that is published with dspbios. I have set up a custom memory map where two, one MB plots of memory, are set aside just for the GPP/DSP Proc_Read and Proc_write functions to send information back and forth. Additionally, I have made sure the cache is pointing to the correct place using the MARn bits. Upon testing everything works....
However, the question arrises from the measured time it took for the PROC_read and PROC_write functions to complete. It took my beagleboard on average 3.0 ms to write 1MB worth of data from the gpp to the dsp. However, it took nearly ten times as long (25.3 ms) in order to read the 1MB worth of data coming from the dsp to the gpp. Is this normal behavior? (My gut would expect the opposite behavior if anything... and definitely not 10 times slower) I have traced the PROC_read vs. PROC_write code through the user space to the kernel space to the dsp .... and the code for both of them seem almost identical except at the very end... Does anyone have an explanation of why this speed difference could be happening? Or any way to speed it up? Thanks!
Colin