8 sounds usb Rev3 flashing firmware xe Topic is solved

Technical questions regarding the XTC tools and programming with XMOS.
ibocakir06
Member
Posts: 8
Joined: Wed Mar 01, 2017 11:25 pm

8 sounds usb Rev3 flashing firmware xe

Post by ibocakir06 »

Hi guys, I have a problem with flashing the 8soundsUSB_REV3 board.

I have :

- 8SoundsUSB_REV3 Board : https://sourceforge.net/p/eightsoundsus ... Main_Page/
- XTAG-3 : https://www.xmos.com/support/boards?product=19480
- XtimeComposer IDE v. 14.2.4
- 8soundsUSB_REV3.xe binary file.

I can clearly debug this file but when i flash, i get an error : target-xn-v0-bdf0fc09: Error: XN11192 Incomplete network configuration (no direction specified for link "4" on node "0")

I did some several changes to .xn file but nothing changed.

I will be pleasure if you help me,

Thanks.


View Solution
User avatar
Ross
XCore Expert
Posts: 962
Joined: Thu Dec 10, 2009 9:20 pm
Location: Bristol, UK

Post by Ross »

It's an issue with the XN file that was used to build the XE.

Suggest you start with a working standard one at add your modifications, whatever they may be.
ibocakir06
Member
Posts: 8
Joined: Wed Mar 01, 2017 11:25 pm

Post by ibocakir06 »

How can I find the true xn file ?

The processor on the board is : XS1-L02A-QF124-C4

But i cant select this target when I create a new project. Can I use this one instead of XS1-L02A-QF124-C4 ? : XS1-L16A-128-QF124-C8

But any changings on the 2 xn files dont make any different reaction on the error. It still gives the XN11192 error.

What is the true xn file ?
User avatar
Ross
XCore Expert
Posts: 962
Joined: Thu Dec 10, 2009 9:20 pm
Location: Bristol, UK

Post by Ross »

The XN file describes the network of chips on the board, clocking and support hardware etc. Ideally you should get the working XN file from the author of the board. Though reverse engineering is probably quite an easy task.
doumdi
Member++
Posts: 18
Joined: Thu Mar 24, 2011 6:18 pm
Contact:

Post by doumdi »

ibocakir06, I can generate a new firmware for you. Do you know what is causing the error? We use XS1-L16A-128-QF124-C8 devices now. Did you build the board yourself?

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>XS1-L2A-QF124</Name>

  <Declarations>
    <Declaration>core tile[2]</Declaration>
  </Declarations>

  <Nodes>
      <Node Id="0" Type="XS1-L1A" oscillator="13Mhz" systemfrequency="500Mhz" referencefrequency="100MHz">
      <Core Number="0" Reference="tile[0]">
        <!-- SPI Ports --> 
        <Port Location="XS1_PORT_1A" Name="PORT_SPI_MISO"/>
        <Port Location="XS1_PORT_1B" Name="PORT_SPI_SS"/>
        <Port Location="XS1_PORT_1C" Name="PORT_SPI_CLK"/> 
        <Port Location="XS1_PORT_1D" Name="PORT_SPI_MOSI"/>

        <!-- Standard USB Audio Ports --> 
        
        
        
        <!-- <Port Location="XS1_PORT_1K" Name="PORT_SPDIF_IN"/> --> <!-- coax -->
        <!--<Port Location="XS1_PORT_1J" Name="PORT_SPDIF_IN"/> -->  <!-- opt -->
        <!--<Port Location="XS1_PORT_1J" Name="PORT_ADAT_IN"/>  -->  <!-- opt -->
        <Port Location="XS1_PORT_1L" Name="PORT_MCLK_IN2"/> 
        <Port Location="XS1_PORT_1M" Name="PORT_USB_RESET"/>
        <!--<Port Location="XS1_PORT_4E" Name="PORT_PLL_CLK"/>  -->
        <Port Location="XS1_PORT_32A" Name="PORT_MCLK_COUNT"/>
      </Core>
      <Boot>
        <Source Location="SPI:bootFlash"/>
        <Bootee NodeId="1"/>
      </Boot>
    </Node>
    <Node Id="1" Type="XS1-L1A" oscillator="13Mhz" systemfrequency="500MHz" referencefrequency="100MHz">
      <Boot>
        <Source Location="XMOSLINK"/>
      </Boot>
      <Core Number="0" Reference="tile[1]">
        <!-- Standard USB Audio Ports -->
        <Port Location="XS1_PORT_1A" Name="PORT_I2S_ADC3"/>
        <Port Location="XS1_PORT_1B" Name="PORT_I2S_ADC2"/>
        <Port Location="XS1_PORT_1C" Name="PORT_I2C_SDA"/>
        <Port Location="XS1_PORT_1D" Name="PORT_I2C_SCL"/>
        <Port Location="XS1_PORT_1E" Name="PORT_I2S_LRCLK"/>
        <!-- <Port Location="XS1_PORT_1F" Name="PORT_I2S_DAC3_NOT"/> -->
        <!-- <Port Location="XS1_PORT_1G" Name="PORT_I2S_ADC0_NOT"/> -->
        <!-- Port Location="XS1_PORT_1H" Name="PORT_I2S_DAC2_NOT"/> -->
        <Port Location="XS1_PORT_1I" Name="PORT_I2S_BCLK"/>
        <!-- J: Optical, K: Coax -->
        <Port Location="XS1_PORT_1J" Name="PORT_I2S_ADC0"/>
        <Port Location="XS1_PORT_1K" Name="PORT_I2S_ADC1"/>
        <Port Location="XS1_PORT_1L" Name="PORT_MCLK_IN"/>
        <Port Location="XS1_PORT_1M" Name="PORT_I2S_DAC0"/>
        <Port Location="XS1_PORT_1N" Name="PORT_I2S_DAC1"/>
        <Port Location="XS1_PORT_1O" Name="PORT_MIDI_OUT"/>
        <Port Location="XS1_PORT_1P" Name="PORT_MIDI_IN"/>

        <Port Location="XS1_PORT_4A" Name="PORT_AUD_CFG"/>
        <Port Location="XS1_PORT_4E" Name="PORT_PLL_REF"/>
        <Port Location="XS1_PORT_4F" Name="PORT_GPIO"/>
        <Port Location="XS1_PORT_8B" Name="PORT_LED"/>
      </Core>
    </Node>
  </Nodes>

  <Links>
    <Link Encoding="5wire" Delays="0,1">
      <LinkEndpoint NodeId="0" Link="4"/>
      <LinkEndpoint NodeId="1" Link="7"/>
    </Link>
    <Link Encoding="5wire" Delays="0,1">
      <LinkEndpoint NodeId="0" Link="5"/>
      <LinkEndpoint NodeId="1" Link="6"/>
    </Link>
    <Link Encoding="5wire" Delays="0,1">
      <LinkEndpoint NodeId="0" Link="6"/>
      <LinkEndpoint NodeId="1" Link="5"/>
    </Link>
    <Link Encoding="5wire" Delays="0,1">
      <LinkEndpoint NodeId="0" Link="7"/>
      <LinkEndpoint NodeId="1" Link="4"/>
    </Link>
    <Link Encoding="2wire" Delays="4,4" Flags="XSCOPE">
      <LinkEndpoint NodeId="0" Link="X0LA" />
      <LinkEndpoint RoutingId="0x8000" Chanend="1" />
    </Link>
  </Links>

  <Packages>
    <Package ID="0" Type="XS1-L2A-QF124">
      <Component NodeId="0" InPackage="0"/>
      <Component NodeId="1" InPackage="1"/>
    </Package>
  </Packages>

  <ExternalDevices>
    <Device NodeId="0" Core="0" Class="SPIFlash" Name="bootFlash" Type="AT25DF041A">
      <Attribute Name="PORT_SPI_MISO" Value="PORT_SPI_MISO"/>
      <Attribute Name="PORT_SPI_SS"   Value="PORT_SPI_SS"/>
      <Attribute Name="PORT_SPI_CLK"  Value="PORT_SPI_CLK"/>
      <Attribute Name="PORT_SPI_MOSI" Value="PORT_SPI_MOSI"/>
    </Device>
  </ExternalDevices>

  <JTAGChain>
     <JTAGDevice NodeId="0"/>
     <JTAGDevice NodeId="1"/>
  </JTAGChain>
 
</Network>
doumdi
Member++
Posts: 18
Joined: Thu Mar 24, 2011 6:18 pm
Contact:

Post by doumdi »

@Ross, Just quick questions :

1) What happens when we specify systemfrequency="500MHz" on XS1-L16A-128-QF124-C8 (Max 400MHz) devices ? Is the device overclocked and operates above rating?

2) What is the best way to distribute firmware files (xe) so the user have minimum hassle with them?

Best regards,

Dominic
doumdi
Member++
Posts: 18
Joined: Thu Mar 24, 2011 6:18 pm
Contact:

Post by doumdi »

I have added information for the firmware here:

https://sourceforge.net/p/eightsoundsusb/wiki/Firmware/
User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am
Contact:

Post by infiniteimprobability »

1) What happens when we specify systemfrequency="500MHz" on XS1-L16A-128-QF124-C8 (Max 400MHz) devices ? Is the device overclocked and operates above rating?
It will probably work just fine on the bench. In fact, you could probably go a fair bit beyond 500.. However, we can't guarantee that all -C8 devices will run faster than 400MHz over temperature and voltage.
2) What is the best way to distribute firmware files (xe) so the user have minimum hassle with them?
Depends how users are going to use it. xe is fine for people using xtag to program the code
doumdi
Member++
Posts: 18
Joined: Thu Mar 24, 2011 6:18 pm
Contact:

Post by doumdi »

@infiniteimprobability

Thanks for the precision.

Dominic
ibocakir06
Member
Posts: 8
Joined: Wed Mar 01, 2017 11:25 pm

Post by ibocakir06 »

doumdi wrote:ibocakir06, I can generate a new firmware for you. Do you know what is causing the error? We use XS1-L16A-128-QF124-C8 devices now. Did you build the board yourself?

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>XS1-L2A-QF124</Name>

  <Declarations>
    <Declaration>core tile[2]</Declaration>
  </Declarations>

  <Nodes>
      <Node Id="0" Type="XS1-L1A" oscillator="13Mhz" systemfrequency="500Mhz" referencefrequency="100MHz">
      <Core Number="0" Reference="tile[0]">
        <!-- SPI Ports --> 
        <Port Location="XS1_PORT_1A" Name="PORT_SPI_MISO"/>
        <Port Location="XS1_PORT_1B" Name="PORT_SPI_SS"/>
        <Port Location="XS1_PORT_1C" Name="PORT_SPI_CLK"/> 
        <Port Location="XS1_PORT_1D" Name="PORT_SPI_MOSI"/>

        <!-- Standard USB Audio Ports --> 
        
        
        
        <!-- <Port Location="XS1_PORT_1K" Name="PORT_SPDIF_IN"/> --> <!-- coax -->
        <!--<Port Location="XS1_PORT_1J" Name="PORT_SPDIF_IN"/> -->  <!-- opt -->
        <!--<Port Location="XS1_PORT_1J" Name="PORT_ADAT_IN"/>  -->  <!-- opt -->
        <Port Location="XS1_PORT_1L" Name="PORT_MCLK_IN2"/> 
        <Port Location="XS1_PORT_1M" Name="PORT_USB_RESET"/>
        <!--<Port Location="XS1_PORT_4E" Name="PORT_PLL_CLK"/>  -->
        <Port Location="XS1_PORT_32A" Name="PORT_MCLK_COUNT"/>
      </Core>
      <Boot>
        <Source Location="SPI:bootFlash"/>
        <Bootee NodeId="1"/>
      </Boot>
    </Node>
    <Node Id="1" Type="XS1-L1A" oscillator="13Mhz" systemfrequency="500MHz" referencefrequency="100MHz">
      <Boot>
        <Source Location="XMOSLINK"/>
      </Boot>
      <Core Number="0" Reference="tile[1]">
        <!-- Standard USB Audio Ports -->
        <Port Location="XS1_PORT_1A" Name="PORT_I2S_ADC3"/>
        <Port Location="XS1_PORT_1B" Name="PORT_I2S_ADC2"/>
        <Port Location="XS1_PORT_1C" Name="PORT_I2C_SDA"/>
        <Port Location="XS1_PORT_1D" Name="PORT_I2C_SCL"/>
        <Port Location="XS1_PORT_1E" Name="PORT_I2S_LRCLK"/>
        <!-- <Port Location="XS1_PORT_1F" Name="PORT_I2S_DAC3_NOT"/> -->
        <!-- <Port Location="XS1_PORT_1G" Name="PORT_I2S_ADC0_NOT"/> -->
        <!-- Port Location="XS1_PORT_1H" Name="PORT_I2S_DAC2_NOT"/> -->
        <Port Location="XS1_PORT_1I" Name="PORT_I2S_BCLK"/>
        <!-- J: Optical, K: Coax -->
        <Port Location="XS1_PORT_1J" Name="PORT_I2S_ADC0"/>
        <Port Location="XS1_PORT_1K" Name="PORT_I2S_ADC1"/>
        <Port Location="XS1_PORT_1L" Name="PORT_MCLK_IN"/>
        <Port Location="XS1_PORT_1M" Name="PORT_I2S_DAC0"/>
        <Port Location="XS1_PORT_1N" Name="PORT_I2S_DAC1"/>
        <Port Location="XS1_PORT_1O" Name="PORT_MIDI_OUT"/>
        <Port Location="XS1_PORT_1P" Name="PORT_MIDI_IN"/>

        <Port Location="XS1_PORT_4A" Name="PORT_AUD_CFG"/>
        <Port Location="XS1_PORT_4E" Name="PORT_PLL_REF"/>
        <Port Location="XS1_PORT_4F" Name="PORT_GPIO"/>
        <Port Location="XS1_PORT_8B" Name="PORT_LED"/>
      </Core>
    </Node>
  </Nodes>

  <Links>
    <Link Encoding="5wire" Delays="0,1">
      <LinkEndpoint NodeId="0" Link="4"/>
      <LinkEndpoint NodeId="1" Link="7"/>
    </Link>
    <Link Encoding="5wire" Delays="0,1">
      <LinkEndpoint NodeId="0" Link="5"/>
      <LinkEndpoint NodeId="1" Link="6"/>
    </Link>
    <Link Encoding="5wire" Delays="0,1">
      <LinkEndpoint NodeId="0" Link="6"/>
      <LinkEndpoint NodeId="1" Link="5"/>
    </Link>
    <Link Encoding="5wire" Delays="0,1">
      <LinkEndpoint NodeId="0" Link="7"/>
      <LinkEndpoint NodeId="1" Link="4"/>
    </Link>
    <Link Encoding="2wire" Delays="4,4" Flags="XSCOPE">
      <LinkEndpoint NodeId="0" Link="X0LA" />
      <LinkEndpoint RoutingId="0x8000" Chanend="1" />
    </Link>
  </Links>

  <Packages>
    <Package ID="0" Type="XS1-L2A-QF124">
      <Component NodeId="0" InPackage="0"/>
      <Component NodeId="1" InPackage="1"/>
    </Package>
  </Packages>

  <ExternalDevices>
    <Device NodeId="0" Core="0" Class="SPIFlash" Name="bootFlash" Type="AT25DF041A">
      <Attribute Name="PORT_SPI_MISO" Value="PORT_SPI_MISO"/>
      <Attribute Name="PORT_SPI_SS"   Value="PORT_SPI_SS"/>
      <Attribute Name="PORT_SPI_CLK"  Value="PORT_SPI_CLK"/>
      <Attribute Name="PORT_SPI_MOSI" Value="PORT_SPI_MOSI"/>
    </Device>
  </ExternalDevices>

  <JTAGChain>
     <JTAGDevice NodeId="0"/>
     <JTAGDevice NodeId="1"/>
  </JTAGChain>
 
</Network>
Hi doumdi, thank you for your answer.

At your recommendation, now I want to blink the "GEN LED" on the board, and I can do it. 1000ms LOW and 1000ms HIGH.(In Run Mode).

When I want to flash it, i got a different error :

Error on tile[0]: failed to connect to flash device. Please verify that SPI type is supported and that the correct SPI ports are defined within your xn file.

I double checked the SPI ports :(according to the datasheet)

SPI MISO -> 1A
SPI MOSI -> 1D
SPI CLK -> 1C
SPI SS -> 1B
Post Reply