Hi,
I'm working on a custom board, based on DA850/OMAP-L138 LCDK. I'm working with linux 3.3 kernel provided with the DA850/OMAP-L138LCDK. My custom board has a FPGA Spartan 6 on it. The DSP code running use EDMA transfer to get FPGA data so it can do something else instead of always transferring FPGA data. EDMA transfer are running about 500 000 access per second. I'm loading DSP code while linux is running.
The problem is that as soon as I load DSP code, linux freeze, as if it can't access EDMA ressources, like the DSP is using them all because the clock is to high. If I reduce the DSP DMA access speed to 50 000 access per second, linux do not freeze anymore. But it's not fast enough to get all data processed by the FPGA.
I don't know what to do so linux (ARM) and the DSP can use the EDMA at the same time without cutting DSP EDMA transfer rate. I know that my board as a SPI flash memory on it and the SPI driver use EDMA access, but I'm not accessing SPI flash while running DSP code and it still freeze. I don't know what else could use DMA in linux causing it to crash when DSP almost take all EDMA ressources.
Does anybody has a solution to my problem??
Thank you
Sylvain