Our firmware is based on the USB audio platform (moved Audio stack to tile 0, USB to tile 1, added an extra I2C module - both on tile 0, and a couple to "threads" to deal with IO).
We are having some intermittent audio issues (and crashes) when the application is built with 32-bit USB Audio enabled, both with the 8.1 and 9.0 USB Audio.
The issues arise after I switch sample rate or bit-depth: often the audio playback becomes intermittent, i.e. it plays for up to 1, 2 seconds then drops and gets back up and so on; sometimes changing sample rate (or bit-depth) fixes the issues, sometimes not.
I can see that the I2S data follow the audio, i.e. I see bursts of data followed by silence, instead of a continuum of data.
In some rarer events, when the system is in this intermittent state after some time it may crash (i.e. this doesn't happen all the time, when it's in this state), always with the following trace message
Code: Select all
xrun: Program received signal ET_LOAD_STORE, Memory access exception.
0x00082398 in handle_audio_request (c_mix_out=<optimised out>) at /home/max/workspace/xmos/bkp-usbaudio/lib_xua/lib_xua/src/core/buffer/decouple/decouple.xc:589
Did anyone experience this issue before or have any advice on how to solve this?
Is there any setting on the client's side that needs adjusting for the bw required by this configuration (currently I am testing with Reaper on a Mac, with default block size).