USB Used Ports

Technical questions regarding the XTC tools and programming with XMOS.
Post Reply
User avatar
RedDave
Experienced Member
Posts: 77
Joined: Fri Oct 05, 2018 4:26 pm

USB Used Ports

Post by RedDave »

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?


User avatar
CousinItt
Respected Member
Posts: 360
Joined: Wed May 31, 2017 6:55 pm

Post by CousinItt »

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:

http://www.xcore.com/viewtopic.php?t=4302

http://www.xcore.com/viewtopic.php?t=5768
User avatar
RedDave
Experienced Member
Posts: 77
Joined: Fri Oct 05, 2018 4:26 pm

Post by RedDave »

Thanks for the links. Very useful.

The document I was referring to was the USB Library documentation. (https://www.xmos.com/developer/download ... .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.
https://www.xmos.com/developer/publishe ... 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.
Post Reply