USB Used Ports

Technical questions regarding the xTIMEcomposer, xSOFTip Explorer and Programming with XMOS.
Active Member
Posts: 54
Joined: Fri Oct 05, 2018 4:26 pm

USB Used Ports

Postby RedDave » Thu Nov 22, 2018 5:11 pm

I have a simple virtual serial port working on an eXplorerKit. Looking at the documentation it tells me that I should not use P4A-D and P1ACEFGHIK.

I understand that these are connected to the USB transceiver internally to the xCORE.
When the XUD is instantiated are these ports disconnected from the GPIO and simply aren't connected? (This is my initial assumption given a quick probe with a 'scope).

I have written some code that spams various of the required ports as outputs. The USB continues to function.
If this is the case, is there a reason that libUSB doesn't simply "use" these ports so that my code would fail to compile if I attempted to use the USB ports in another task?
XCore Addict
Posts: 132
Joined: Wed May 31, 2017 6:55 pm

Postby CousinItt » Thu Nov 22, 2018 6:50 pm

Which documentation are you referring to? The ports you mention aren't the same as those shown in the XE216 data sheet, so I'm a bit confused.

These threads may help:
Active Member
Posts: 54
Joined: Fri Oct 05, 2018 4:26 pm

Postby RedDave » Thu Nov 22, 2018 7:26 pm

Thanks for the links. Very useful.

The document I was referring to was the USB Library documentation. ( ... .2rc2).pdf)

I note from one of your links that this was identified as incorrect over a year ago.

The Port Map is a very useful layout. ... nent=18106

It taken literally, it implies that P8A, P16A, P32A cannot be used, but P4A can. I assume this is not the case as they are all on the same pins!


This biggest thing that I had missed is that USB can be run on Tile 0 or Tile 1. This makes my life very much easier! It isn't mentioned in the USB Library documentation or the associated application notes (I may have missed it if it is). They simply state that various ports on Tile 0 cannot be used.

For our development, we are unsure whether we want to use Ethernet or USB yet. I thought that Ethernet was on Tile 1 and USB on Tile 0, therefore our custom electronics would need to be jumper connected to both Tiles to test the two options. That need has just gone away. I will test my USB code on Tile 1 on Monday to confirm.

Who is online

Users browsing this forum: No registered users and 0 guests