Mic Array DFU Topic is solved

Technical discussions related to any XMOS development kit or reference design. Eg XK-1A, sliceKIT, etc.
rgilio
Active Member
Posts: 36
Joined: Wed Jul 03, 2019 1:01 am

Mic Array DFU

Post by rgilio »

I've been spending a lot of time attempting to get the Mic Array (https://www.xmos.com/products/voice/micarray) to work with DFU. I've verified another board such as the Multi-Channel audio board (https://www.xmos.com/products/audio/kits) that DFU works with the USB Audio software provided.

I've figured out for the Mic Array, the main issue in the USB Audio software is that the AUDIO_IO_TILE is defined to be on Tile[1]. The DFU interface is being ran inside the AUDIO process which places it on Tile[1] on the Mic Array while on the Multi Channel board, the AUDIO_IO_TILE is Tile[0]. This matters because the DFU process needs to be running on Tile[0] since that's where the QSPI pins are connected to. However it seems moving over the AUDIO_IO_TILE to be TILE 0 seems to require a rather large overhaul of the provided software to support this transition. Simply adjusting XN file for the Mic Array seems to cause many resource exceptions even if it compiles just fine. The I2C & I2S lines are on Tile[1] but I need to have DFU on Tile[0] in order to get it working.

I'm wondering if anyone has had any success with using the USB Audio Driver (https://www.xmos.com/software/usb-audio/driver-support/) to perform DFU on a Mic Array. I know that there are other threads particularly about the XUF216 itself having some DFU issues, but not specifically the Mic Array as those other issues don't seem to apply here since they're on their own custom hardware.
View Solution
rgilio
Active Member
Posts: 36
Joined: Wed Jul 03, 2019 1:01 am

Post by rgilio »

After working with support I was able to get DFU working and I'm attaching the changed files.

The reason DFU wasn't working was because the USB Audio Module didn't have a case for having the AUDIO_IO_TILE on tile 1 while needing DFU which required tile 0 since that tile has the flashing pins on the Mic Array.
Adjustments were made to put DFU Interface on tile 0 and remove the DFU Interface from the Audio process if it was on a different tile, otherwise keep the original functionality.
You do not have the required permissions to view the files attached to this post.