Hello,
I am developing software for a custom board comprising and FPGA and 2 C6678 DSPs and connects to a host computer via PCIe Gen3.
The EDMA3 engine is used to DMA data between each DSP and the FPGA and that normally works fine. However, when running a utility to transfer a large amount of data from host to DDR memory attached to FPGA the data being DMAd between DSP and FPGA becomes corrupted.
With Blackhawk debugger I found that 2 of the EDMA3TCs are indicating BUS ERROR (i.e. ERRSTAT = 0x00000001) and the ERRDET register indicates the errors occur during read operations.
So, I have the following questions:
1. Are the bus errors occurring due to (PCIe read) timeouts?
2. What can be done to eliminate these errors?
3. What can be done to recover from these errors when they occur (i.e. if I enable EDMA3TC error interrupts, what can be done in ISR to recover from the error)?
Thanks,
Brad