XN file for dual XCORE-200-EXPLORER setup

Technical questions regarding the xTIMEcomposer, xSOFTip Explorer and Programming with XMOS.
erlingrj
Member
Posts: 14
Joined: Tue Aug 10, 2021 1:21 pm

XN file for dual XCORE-200-EXPLORER setup

Post by erlingrj »

Hi.

I have followed the guide here: https://www.xcore.com/viewtopic.php?f=8&t=4837 to configure a network with 2 XCORE-200-EXPLORER dev-kits. However, I am unable to properly compile a simple example program. This is the output from compiling:

Code: Select all

erling@ubuntu-ntnu ~/d/multichip> xmake
Checking build modules
No build modules used.
Analyzing main.xc
Rebuild .build/_pca.rsp
Propagating analysis
Creating dependencies for main.xc
Compiling main.xc
Rebuild .build/_obj.rsp
Creating multichip.xe
Constraint check for tile[0]:
  Cores available:            8,   used:          1 .  OKAY
  Timers available:          10,   used:          1 .  OKAY
  Chanends available:        32,   used:          1 .  OKAY
  Memory available:       262144,   used:       1128 .  OKAY
    (Stack: 348, Code: 664, Data: 116)
Constraints checks PASSED.
Constraint check for tile[1]:
  Cores available:            8,   used:          1 .  OKAY
  Timers available:          10,   used:          1 .  OKAY
  Chanends available:        32,   used:          0 .  OKAY
  Memory available:       262144,   used:       1104 .  OKAY
    (Stack: 348, Code: 652, Data: 104)
Constraints checks PASSED.
_ntcglE57aX: Error: Node 32780, tile 2 not found.
xmake[1]: *** [bin//multichip.xe] Error 1
xmake: *** [bin//multichip.xe] Error 2
I have made the following changes on the XN file, relative the one I found in the example.
1. Added pageSize, SectorSize and NumPages to the SQIFlash definitions
2. Removed the USB node from Package1 as the compiler complained that there were no routes from node0 (package1) to the USB node on package2

I have added everything to a small repo at Github if anyone wanna take a look and try to compile it for themselves. Please see: https://github.com/erlingrj/xmos-multi-chip

Thanks for any advice,


User avatar
GeorgeIoak
Active Member
Posts: 56
Joined: Wed May 19, 2010 9:42 pm

Post by GeorgeIoak »

I am very far from an expert but I took a quick look at your XN files and noticed that you moved the SPI flash definition from Tile 0 to Tile 2

Code: Select all

<Device NodeId="1" Tile="2" Class="SQIFlash" Name="bootFlash2" Type="S25FL116K"
Perhaps that has something to do with the compile error?
User avatar
CousinItt
Respected Member
Posts: 275
Joined: Wed May 31, 2017 6:55 pm

Post by CousinItt »

I think there are a few things wrong. You have declared two flash memories but your second node is set to boot from a link, also the tile numbers within each package are local, it's the references that are global.

Here's a working XN file from an old project using two xCORE-200 explorer kits. I don't know if the new Rev 15 tools will like it, but it's OK with xTimeComposer 14.x.
glob.xn
You do not have the required permissions to view the files attached to this post.
erlingrj
Member
Posts: 14
Joined: Tue Aug 10, 2021 1:21 pm

Post by erlingrj »

Thanks. I can confirm that the XN file from CousinItt works well with the new v15 tools. I will have to dig a bit deeper to understand why.
erlingrj
Member
Posts: 14
Joined: Tue Aug 10, 2021 1:21 pm

Post by erlingrj »

It turns out the mistake was that for Package 2 I specified the Tiles like this:

<Tile Number="2" Reference="tile[2]"/>
<Tile Number="3" Reference="tile[3]"/>

However, it seems as the Number variable must refer to the 0-indexed id of the tile on that package. So it should be
<Tile Number="0" Reference="tile[2]"/>
<Tile Number="1" Reference="tile[3]"/>