The design advisory says:
I've been able to compile an .xe binary of app_usb_aud_mic_array with the patched version of sc_xud, but all attempts to run the binary generate a "xrun: Cannot load image, XCore 0 is not enabled" error.the USB audio application app_usb_aud_mic_array distributed in the current release of the USB Audio 2.0 Reference Software package sw_usb_audio (6.15.2rc1) will not work with this latest design because it performs a check that VBUS is present before enabling the USB connection.
Most of the forum posts about "XCore 0 is not enabled" discuss hardware issues; this board is an XMOS-designed dev board so I assume the design is ok; from non-exhaustive visual inspection it looks free of gross defects.
Steps to reproduce
* ordered XK-USB-MIC-UF216 from digi-key
* PCB is marked 2V0 on the back side. Per the Design Advisory, rev 2 boards require updated FW.
* download XTimeComposer latest (14.4.1)
* plugged in the provided XTAG3 board
* attached provided "short" USB cable to the XTAG3 USB port
* attached provided "long" USB cable to the dev board
* Plugged both USB ports into a USB 3.0 Mac OS X 10.13 host
* On power up, all LEDS illuminate and remain lit.
* XTAG3 is enumerated in the USB device tree.
* XMOS audio device is not enumerated in the device tree.
Following the design advisory directions: (using command line on OS X; xTimeComposer on Mac does not populate libraries or examples.)
* Open terminal
* run SetEnv.command from ~/xmos. (Same result if starting in install dir)
* Download https://www.xmos.ai/download/sw_usb_aud ... .15.2).zip
* unzip to ~/xmos/sw_usb_audio
* Download https://www.xmos.ai/download/sc_xud.zip(2.6.1).zip
* unzip to ~/xmos/
* replace directories ~/xmos/sw_usb_audio/sc_usb and ~/xmos/sw_usb_audio/sc_xud with the respective directories from sc_xud.zip(2.6.1).zip
* (also tried replacing only sc_xud, same result)
* So I can build ok. But then I get into trouble:
Code: Select all
$ cd ~/xmos/sw_usb_audio/sw_usb_audio/app_usb_aud_mic_array $ xmake (...) Creating app_usb_aud_mic_array_2i8o2.xe Constraint check for tile: Cores available: 8, used: 4 . OKAY Timers available: 10, used: 4 . OKAY Chanends available: 32, used: 10 . OKAY Memory available: 262144, used: 45296 . OKAY (Stack: 2628, Code: 17604, Data: 25064) Constraints checks PASSED. Constraint check for tile: Cores available: 8, used: 6 . OKAY Timers available: 10, used: 8 . OKAY Chanends available: 32, used: 19 . OKAY Memory available: 262144, used: 57408 . OKAY (Stack: 4076, Code: 38880, Data: 14452) Constraints checks PASSED. Build Complete Built all configurations
Code: Select all
$ cd bin/2i8o2 $ xrun -l Available XMOS Devices ---------------------- ID Name Adapter ID Devices -- ---- ---------- ------- 0 XMOS XTAG-3 ibH9k0JD None $ xrun --id 0 app_usb_aud_mic_array_2i8o2.xe xrun: Cannot load image, XCore 0 is not enabled $ xrun --id ibH9k0JD app_usb_aud_mic_array_2i8o2.xe xrun: Cannot load image, XCore 0 is not enabled $ xrun --list-board-info XMOS Target Board Info ---------------------- ID Name Serial Type -- ---- ------ ---- 0 Unknown 0x00000000 0x00000000
- reinstalling Xtimecomposer now that the DNS issue is fixed
- running setenv command from installation directory instead of ~/xmos.
- power up board usb first then xtag3, and vice-versa
- swap short and long usb cables
- reboot host
- Switch to Windows
============ Windows ==========
* Install XtimeComposer on Windows 10 machine with a USB 2.0 card.
* Install the XMOS-only version of the Thesycon driver.
* Reboot and start XTimeComposer
* Startup on the Windows version of XTimeComposer is a much better experience than on the Mac. (None of the documentation, library, or example folders populate on the Mac; it just says "Connection to https://www.xmos.com failed".)
* Try working through the app_getting_started "hello, world" example.
* XK-USB-MIC-UF216 does not appear in the "Target" list. It uses the XUF216-512-TQ128 (I assume -C20?) part.
* I tried these (none seems correct, but what to use?)
** xCore-200 Explorer
** sliceKIT Core Board (XU216)
* All of these failed with the same error as on the Mac, "xrun: cannot load image, XCore 0 is not enabled".
* I did not try building sw_usb_audio on Windows because it seems I can't program even hello world.
I found these support posts; they confirm I need new firmware, but haven't addressed my issue.
Mic Array: USB Audio Device - No Devices connected ("The board requires 6.19+ firmware version.", but no link to such version)
XP-USB-MIC-UF216 not detected it as USB audio device ("Firmware version 6.19+ must be used", again no link)
Is there a public repository for sw_usb_audio/sc_usb_audio? (link to three github sites; helpful but none has sw_usb_audio)
How to start on XCore microphone array (XP-USB-MIC-UF216) ("I am able to build a correct firmware and load it to the board." So it works for some people)
Getting started with the xCORE Microphone Array (notes publication of design advisory for XK-USB-MIC-UF216)
Change microphone gain XP-USB-MIC-UF216 (low gain, maybe due to sensitivity change from Akustica -> Infineon mic change)
Any suggestions on what to try next? It hasn't been a great out-of-box experience so far.
p.s. Might I recommend posting an updated binary for this board + flashing instructions on the xmos website? A github repo for the dev kits would also be appreciated. Downloading various zip archives and hand-merging directories is not really optimal...