Tile not resetting properly?

If you have a simple question and just want an answer.
Redeye
XCore Addict
Posts: 131
Joined: Wed Aug 03, 2011 9:13 am

Tile not resetting properly?

Post by Redeye »

I have a board with 3xL8 on it (2 are 64 pin, 1 is 128pin). Immediately after power-up it loads code fine. However, after that it will no longer run and I have to power cycle again before it loads code again.

After a lot of messing about I've isolated the problem down to the 128 pin IC (which is a XS1-L8A-64-TQ128-C5 and I've now isolated this on the board. If I run an application without the xscope link defined in the XN file then it runs fine time after time. As soon as I add the xscope definition in the XN file, the application runs after a power cycle but if I try to run it again I get :

0x00010000 in _start ()
Loading setup image to XCore 0
Loading section .text, size 0xf0 lma 0x10000
Loading section .cp.rodata, size 0x24 lma 0x100f0
Loading section .dp.data, size 0x8 lma 0x10114
Start address 0x10000, load size 284
Transfer rate: 138 KB/sec, 94 bytes/write.
First stage multi-node boot started
xrun: First stage multi-node boot failed, please check XN file and Xmos link connectivity

I've checked the RST_N and TRST_N lines and they're getting pulled low fine. I've even added a manual switch to short them to ground and that makes no difference either.

I've also tried adding :

read_sswitch_reg(get_core_id(), 6, x);
write_sswitch_reg(get_core_id(), 6, x);

to the end of the application. If I do this then the application runs fine every time even when I have the xscope link defined in the XN file.

So, I think that for some reason the switch isn't getting reset when I pull RST_N and TRST_N low. Has anyone any ideas why this might happen? I can't explain it at all - when grounding the RST_N and TRST_N pins doesn't seem to reset the IC but a programmatic reset does I'm pretty confused.
You do not have the required permissions to view the files attached to this post.