Hi,
I have used to connect *TWO* XK-1 boards, and they worked well.
Now, I got a second startkit from Digikey.
I want to connect two boards through XMOS Links like two XK-1s.
However, I do not know how to write suitable XN file for two start kits,
and I do not know how to program each core separately.
(XK-1's connector has JTAG chain, so programming to two XK-1 was same as single core)
Is there any document or sample?
Please let me know.
mio
Can I connect two startKITs via XMOS Links?
-
- Member
- Posts: 13
- Joined: Fri Dec 11, 2009 6:14 am
- Location: Japan
Can I connect two startKITs via XMOS Links?
mio / a.k.a. yu-pi-te-ru at http://moxi.jp/
-
- XCore Expert
- Posts: 589
- Joined: Wed Feb 29, 2012 10:03 am
It is possible to connect two startkits together via links and boot them from SPI. The steps should be as follows:
1. Compile a two tile application with the attached .xn file. You can only use one of the ADC tiles (it isn't possible to include both in the network since they would have the same routing ID). For example:
xcc app.xc 2_STARTKITS.xn -o app.xe
2. Next generate two flash binary images:
xflash app.xe --noinq --boot-partition-size 0x20000 -o flash_image
This will create two images (flash_image_0 and flash_image_1).
3. Finally write the flash images over jtag:
xflash --id <board_0_id> --write-all flash_image_0 --target STARTKIT
xflash --id <board_1_id> --write-all flash_image_1 --target STARTKIT
4. If you power cycle both boards at the same time they should boot into the two tile application you've written to the flash.
ExampleXN file is attached.
1. Compile a two tile application with the attached .xn file. You can only use one of the ADC tiles (it isn't possible to include both in the network since they would have the same routing ID). For example:
xcc app.xc 2_STARTKITS.xn -o app.xe
2. Next generate two flash binary images:
xflash app.xe --noinq --boot-partition-size 0x20000 -o flash_image
This will create two images (flash_image_0 and flash_image_1).
3. Finally write the flash images over jtag:
xflash --id <board_0_id> --write-all flash_image_0 --target STARTKIT
xflash --id <board_1_id> --write-all flash_image_1 --target STARTKIT
4. If you power cycle both boards at the same time they should boot into the two tile application you've written to the flash.
ExampleXN file is attached.
You do not have the required permissions to view the files attached to this post.
-
- Member
- Posts: 13
- Joined: Fri Dec 11, 2009 6:14 am
- Location: Japan
Hi, Sethu,
Attached My test program - LED blink program - was not worked.
My Test Procedure is ....
1)compile the code app.xc and xflash with the method which you tell me.
Attached Progarm app.xc is LED Blink program, so
2)I connected each board of linkC.
J8 connection is
3)I connect USB only board0 for power supply via J8-Pin13.
4)Boot each core (probably), but LED is not flashed.
5)xrun --dump-state is below. It seems to be stopped.
---- tile(board) 0 side---
---- tile(board) 1 side---
Attached My test program - LED blink program - was not worked.
My Test Procedure is ....
1)compile the code app.xc and xflash with the method which you tell me.
Attached Progarm app.xc is LED Blink program, so
Code: Select all
tile[1] counter send -- XMOS Link C --> tile[0] recieve -> out to tile[0] LED0,1 (XS1_PORT_1A.1D)
J8 connection is
Code: Select all
Board 0 J8 ---- Board 1 J8Pin3 (1OUT) ---- Pin6 (1IN)Pin4 (0OUT) ---- Pin5 (0IN)Pin5 (0IN) ---- Pin4 (0OUT)Pin6 (1IN) ---- Pin3 (1OUT)Pin11(GND) ---- Pin11(GND)Pin13(+5V) ---- Pin13(+5V)
4)Boot each core (probably), but LED is not flashed.
5)xrun --dump-state is below. It seems to be stopped.
---- tile(board) 0 side---
Code: Select all
xrun --dump-state-with-no-xe***** Active Cores ****** 1 tile[0] core[0] 0x000102a4 in ?? ()Thread 1 (tile[0] core[0]):***** Call Stack *****#0 0x000102a4 in ?? ()***** Disassembly *****0x102a4: in (2r) r0, res[r1] *0x102a6: chkct (rus) res[r1], 0x1 *0x102a8: ldc (ru6) r5, 0x00x102aa: out (r2r) res[r1], r5 *0x102ac: outct (rus) res[r1], 0x1 ****** Registers *****r0 0x80012002 -2147409918r1 0x80010002 -2147418110r2 0x80020002 -2147352574r3 0x104c4 66756r4 0x1 1r5 0x10450 66640r6 0x0 0r7 0x0 0r8 0x0 0r9 0x0 0r10 0x0 0r11 0x104c4 66756cp 0x10440 66624dp 0x10460 66656sp 0x1ff74 130932lr 0x101b2 65970pc 0x102a4 66212sr 0x40 64spc 0x0 0ssr 0x0 0et 0x0 0ed 0x0 0sed 0x0 0kep 0x10080 65664ksp 0x0 0
Code: Select all
***** Active Cores ****** 1 tile[0] core[0] 0x0001016e in ?? ()Thread 1 (tile[0] core[0]):***** Call Stack *****#0 0x0001016e in ?? ()***** Disassembly *****0x1016e: in (2r) r4, res[r0] *0x10170: setd (r2r) res[r0], r40x10172: in (2r) r6, res[r0] *0x10174: ldw (3r) r4, r11[r6]0x10176: in (2r) r5, res[r0] ****** Registers *****r0 0x80020002 -2147352574r1 0x1 1r2 0x1 1r3 0x0 0r4 0x0 0r5 0x80020102 -2147352318r6 0x0 0r7 0xff00 65280r8 0x0 0r9 0x0 0r10 0x0 0r11 0x10364 66404cp 0x10320 66336dp 0x10330 66352sp 0x1ff74 130932lr 0x1006c 65644pc 0x1016e 65902sr 0x40 64spc 0x0 0ssr 0x0 0et 0x0 0ed 0x0 0sed 0x0 0kep 0x10080 65664ksp 0x0 0
Code: Select all
You do not have the required permissions to view the files attached to this post.