I'm trying to connect two XK-1A boards using the the following XN-file.
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>Board</Type>
<Name>Two XK-1 Development Boards</Name>
<Declarations>
<Declaration>core stdcore[2]</Declaration>
</Declarations>
<Packages>
<Package id="0" Type="XS1-L1A-TQ128">
<Nodes>
<Node Id="0" InPackageId="0" Type="XS1-L1A" Oscillator="20MHz" SystemFrequency="400MHz">
<Boot>
<Source Location="SPI:bootFlash"/>
<Bootee NodeId="1"/>
</Boot>
<Core Number="0" Reference="stdcore[0]">
<Port Location="XS1_PORT_1I" Name="PORT_UART_RX"/>
<Port Location="XS1_PORT_1J" Name="PORT_UART_TX"/>
<Port Location="XS1_PORT_1K" Name="PORT_BUT_1"/>
<Port Location="XS1_PORT_1L" Name="PORT_BUT_2"/>
<Port Location="XS1_PORT_1M" Name="PORT_SPI_MISO"/>
<Port Location="XS1_PORT_1N" Name="PORT_SPI_SS"/>
<Port Location="XS1_PORT_1O" Name="PORT_SPI_CLK"/>
<Port Location="XS1_PORT_1P" Name="PORT_SPI_MOSI"/>
<Port Location="XS1_PORT_4F" Name="PORT_LED_1"/>
</Core>
</Node>
<Node Id="1" InPackageId="1" Type="XS1-L1A" Oscillator="20MHz" SystemFrequency="400MHz">
<Boot>
<Source Location="XMOSLINK"/>
</Boot>
<Core Number="0" Reference="stdcore[1]">
<Port Location="XS1_PORT_1I" Name="PORT_UART_RX"/>
<Port Location="XS1_PORT_1J" Name="PORT_UART_TX"/>
<Port Location="XS1_PORT_1K" Name="PORT_BUT_1"/>
<Port Location="XS1_PORT_1L" Name="PORT_BUT_2"/>
<Port Location="XS1_PORT_1M" Name="PORT_SPI_MISO"/>
<Port Location="XS1_PORT_1N" Name="PORT_SPI_SS"/>
<Port Location="XS1_PORT_1O" Name="PORT_SPI_CLK"/>
<Port Location="XS1_PORT_1P" Name="PORT_SPI_MOSI"/>
<Port Location="XS1_PORT_4F" Name="PORT_LED_1"/>
</Core>
</Node>
</Nodes>
</Package>
</Packages>
<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>
</Links>
<ExternalDevices>
<Device NodeId="0" Core="0" Class="SPIFlash" Name="bootFlash" Type="AT25FS010">
<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>
Code: Select all
/*
* multicore.xc
*
* Created on: Sep 30, 2011
* Author: schmiedl
*/
#include <xs1.h>
#include <platform.h>
#include "utils.h"
on stdcore[0] : out port leds0 = PORT_LED_0;
on stdcore[1] : out port leds1 = PORT_LED_1;
void led_loop0(out port leds) {
timer t;
unsigned time, state = 0;
while (1) {
t :> time;
leds <: state;
state = (state + 1) % 0x0F;
t when timerafter (time + DELAY_0_5_s) :> void;
}
}
void led_loop1(out port leds) {
timer t;
unsigned time, state = 0;
while (1) {
t :> time;
leds <: state;
state = (state + 1) % 0x0F;
t when timerafter (time + DELAY_0_5_s) :> void;
}
}
int main(void) {
par {
on stdcore[0] : led_loop0(leds0);
on stdcore[1] : led_loop1(leds1);
}
return 0;
}
Code: Select all
All call records have not exited in Multi-node boot
Thanks in advance!
Greetings,
Chris
[SOLVED]
found one here: http://www.xmos.com/discuss/viewtopic.php?f=6&t=576