I'm using the adc_dac_playback example on the EZ-589 kit.
The only thing I changed in the code is replace the line "if ((AdcCount >CALLBACK_COUNT) || (DacCount >CALLBACK_COUNT))" by a "if(0)" line to make the code run for a longer time.
Now, if I stop the code using a breakpoint, or pressing the pause button, and restart it afterwards, the output buffer is distorted in half of the cases.
I have traced the problem to the point that probably the synchronisation in the ping-pong system goes wrong, so the buffer that is submit in the callback function is actually the buffer that is used to fill the data from the sport. This is a guess because there is no way to know what buffers are used at a certain point or if buffers are filled or not if a callback is registered. Also stop the I/O DMA in the target settings doesn't solve this synchronisation problem.
How can I fix this, and be sure the synchronisation is OK after a breakpoint ?
If this cannot be solved, how can I use the drivers in debug mode ?