Ok, a couple of general questions...
1) How do you actually enable the USB on Tile1? I've imported the latest usb library and put all usb functionality on tile[1] inside of main. However, when I compile the code, xTIMEComposer still thinks that usb functionality should be implemented on tile[0]. Do I need to import a special library? For instance, I read that the xCore-200 devices now use the XS2 architecture...(#include <xs2.h> doesn't seem to be a thing).
2) Also, I appear to be able to flash to the device. However, the device doesn't boot after a power cycle. Are there any special configurations that need to be set in xTimeComposer? I'm using the previous version of tools, Version: Community_14.1.2 (build 17961, Dec-04-2015) . I'm hesitant to update to the latest version since this tool set has worked on each of the dev kits that I have tested. After some soul searching, I decided --force-pll-reset in the flash options to no avail.
Thanks,
--Kyle
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<Network xmlns="http://www.xmos.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.xmos.com http://www.xmos.com">
<Type>Device</Type>
<Name>XEF216-512-TQ128-C20 Device</Name>
<Declarations>
<Declaration>tileref tile[2]</Declaration>
<Declaration>tileref usb_tile</Declaration>
</Declarations>
<Packages>
<Package id="0" Type="XS2-UFnA-512-TQ128">
<Nodes>
<Node Id="0" InPackageId="0" Type="XS2-L16A-512" SystemFrequency="500MHz" OscillatorSrc="1">
<Boot>
<Source Location="bootFlash"/>
</Boot>
<Tile Number="0" Reference="tile[0]">
<Port Location="XS1_PORT_1A" Name="OSC_EN"/>
<Port Location="XS1_PORT_1D" Name="TILE0_CLKB"/>
<Port Location="XS1_PORT_1E" Name="PORT_DCLK"/>
<Port Location="XS1_PORT_1F" Name="PORT_CNV"/>
<Port Location="XS1_PORT_1G" Name="PORT_BUSY"/>
<Port Location="XS1_PORT_1H" Name="PORT_SDO"/>
<Port Location="XS1_PORT_1I" Name="PORT_SCK"/>
<Port Location="XS1_PORT_1J" Name="PORT_PD"/>
<Port Location="XS1_PORT_1K" Name="PORT_RESET"/>
<Port Location="XS1_PORT_1L" Name="PORT_DIN"/>
<Port Location="XS1_PORT_1M" Name="PORT_T0_EXT_CLK"/>
<Port Location="XS1_PORT_1N" Name="PORT_T0_LOOP1"/>
<Port Location="XS1_PORT_1O" Name="PORT_T0_LOOP2"/>
<Port Location="XS1_PORT_1P" Name="PORT_T0_LOOP3"/>
<Port Location="XS1_PORT_4E" Name="TILE0_INDICATORS"/>
<Port Location="XS1_PORT_1B" Name="PORT_SQI_CS"/>
<Port Location="XS1_PORT_1C" Name="PORT_SQI_SCLK"/>
<Port Location="XS1_PORT_4B" Name="PORT_SQI_SIO"/>
</Tile>
<Tile Number="1" Reference="tile[1]">
<Port Location="XS1_PORT_4E" Name="TILE1_INDICATORS"/>
<Port Location="XS1_PORT_1P" Name="TILE1_CLKB"/>
<Port Location="XS1_PORT_1O" Name="PORT_T1_EXT_CLK"/>
<Port Location="XS1_PORT_1N" Name="PORT_T1_LOOP1"/>
<Port Location="XS1_PORT_1M" Name="PORT_T1_LOOP2"/>
<Port Location="XS1_PORT_1L" Name="PORT_T1_LOOP2"/>
</Tile>
</Node>
<Node Id="1" InPackageId="1" Type="periph:XS1-SU" Reference="usb_tile" Oscillator="24MHz">
</Node>
</Nodes>
<Links>
<Link Encoding="5wire">
<LinkEndpoint NodeId="0" Link="8" Delays="52clk,52clk"/>
<LinkEndpoint NodeId="1" Link="XL0" Delays="1clk,1clk"/>
</Link>
</Links>
</Package>
</Packages>
<ExternalDevices>
<Device NodeId="0" Tile="0" Class="SQIFlash" Name="bootFlash">
<Attribute Name="PORT_SQI_CS" Value="PORT_SQI_CS"/>
<Attribute Name="PORT_SQI_SCLK" Value="PORT_SQI_SCLK"/>
<Attribute Name="PORT_SQI_SIO" Value="PORT_SQI_SIO"/>
</Device>
</ExternalDevices>
<JTAGChain>
<JTAGDevice NodeId="0"/>
</JTAGChain>
</Network>
Code: Select all
int main(){
interface i_led0 i0;
interface i_led1 i1;
interface i_led2 i2;
interface i_led3 i3;
interface i_led4 i4;
chan c_ep_out[XUD_EP_COUNT_OUT], c_ep_in[XUD_EP_COUNT_IN];
par{
on tile[0]: STATUS(i0, i1, i2, i3, i4);
on tile[0]: heartbeat(i0);
on tile[1]: xud(c_ep_out, XUD_EP_COUNT_OUT, c_ep_in, XUD_EP_COUNT_IN,
null, XUD_SPEED_HS, XUD_PWR_SELF);
on tile[1]: endpoint0(c_ep_out[0], c_ep_in[0]);
on tile[1]: custom_endpoint(c_ep_out[1], c_ep_in[1]);
}
return 0;
}
Code: Select all
Creating xCore-8Ch-ADC.xe
/Users/klu/workspace/lib_usb/xudlib/XUD_Manager.xc: Error: Program on "tile[1]" contains a reference to resource "rx_usb_clk" not resident on that tile.
/Users/klu/workspace/lib_usb/xudlib/XUD_Manager.xc: Error: Program on "tile[1]" contains a reference to resource "tx_usb_clk" not resident on that tile.
/Users/klu/workspace/lib_usb/xudlib/XUD_Manager.xc: Error: Program on "tile[1]" contains a reference to resource "p_usb_clk" not resident on that tile.
/Users/klu/workspace/lib_usb/xudlib/XUD_Manager.xc: Error: Program on "tile[1]" contains a reference to resource "flag2_port" not resident on that tile.
/Users/klu/workspace/lib_usb/xudlib/XUD_Manager.xc: Error: Program on "tile[1]" contains a reference to resource "flag1_port" not resident on that tile.
/Users/klu/workspace/lib_usb/xudlib/XUD_Manager.xc: Error: Program on "tile[1]" contains a reference to resource "flag0_port" not resident on that tile.
/Users/klu/workspace/lib_usb/xudlib/XUD_Manager.xc: Error: Program on "tile[1]" contains a reference to resource "rx_rdy" not resident on that tile.
/Users/klu/workspace/lib_usb/xudlib/XUD_Manager.xc: Error: Program on "tile[1]" contains a reference to resource "p_usb_rxd" not resident on that tile.
/Users/klu/workspace/lib_usb/xudlib/XUD_Manager.xc: Error: Program on "tile[1]" contains a reference to resource "p_usb_txd" not resident on that tile.
/Users/klu/workspace/lib_usb/xudlib/XUD_Manager.xc: Error: Program on "tile[1]" contains a reference to resource "tx_readyin" not resident on that tile.
/Users/klu/workspace/lib_usb/xudlib/XUD_Manager.xc: Error: Program on "tile[1]" contains a reference to resource "tx_readyout" not resident on that tile.
xmake[1]: *** [bin//xCore-8Ch-ADC.xe] Error 1
xmake: *** [bin//xCore-8Ch-ADC.xe] Error 2