Can't figure out "XCore 0 is not enabled" error

Technical questions regarding the XTC tools and programming with XMOS.
User avatar
landon
Experienced Member
Posts: 71
Joined: Mon Sep 06, 2010 4:05 pm

Can't figure out "XCore 0 is not enabled" error

Post by landon »

I've been rolling along fine developing code. For some reason, I just started hitting this error:

"Cannot load image, XCore 0 is not enabled" when I try to launch the debug.

First, I get a perfectly clean build:

Code: Select all

Building target: virtj-sensor-64-xs1.xe
Invoking: Mapper/Linker
xcc -Werror=timing-syntax --show-report -o "virtj-sensor-64-xs1.xe"  ./src/uart.o ./src/virtj-actions.o ./src/virtj-console.o ./src/virtj-emitters.o ./src/virtj-sensor.o ./src/virtstr.o ./src/xfifo.o    ../SFE.xn  
xcc: warning: --show-report is deprecated, use -report instead
Constraint check for node 0, core 0:
  Stack available:   00001198,   used: 0000040c .  OKAY
  Threads available:        8,   used:        5 .  OKAY
  Timers available:        10,   used:        3 .  OKAY
  Chanends available:      32,   used:        6 .  OKAY
    Constraints checks PASSED.
xmap: Warning: Node "0" does not have 100Mhz reference clock.
Finished building target: virtj-sensor-64-xs1.xe
I enabled the gdb console verbose output so I could try to provide a little more information. Here's the console output when the debugger is attempting to load and come up:

Code: Select all

"/Users/lcox/Documents/360vl-src/virtjoule/xmos/virtj-sensor-64-xs1": No such file or directory.
.gdbinit: No such file or directory.
97-gdb-set confirm off
97^done
(gdb) 
98-gdb-set width 0
98^done
(gdb) 
99-gdb-set height 0
99^done
(gdb) 
100-interpreter-exec console echo
100^done
(gdb) 
101-gdb-show prompt
101^done,value="(gdb) "
(gdb) 
102-gdb-set auto-solib-add on
102^done
(gdb) 
103-gdb-set stop-on-solib-events 0
connect --id 0
103^done
(gdb) 
104-gdb-set stop-on-solib-events 1
104^done
(gdb) 
105-gdb-set remotebaud 115200
105^done
(gdb) 
106 connect --id 0
&"connect --id 0\n"
~"0x00000000 in ?? ()\n"
0x00000000 in ?? ()
106^done
(gdb) 
107 load
&"load\n"
Loading image to XCore 0
&"Cannot load image, XCore 0 is not enabled\n"
107^error,msg="Cannot load image, XCore 0 is not enabled"
(gdb) 
108-gdb-exit
load
Cannot load image, XCore 0 is not enabled
108^exit
Part of what makes no sense is this initial error message:

Code: Select all

"/Users/lcox/Documents/360vl-src/virtjoule/xmos/virtj-sensor-64-xs1": No such file or directory.
This is my project directory, and it exists - the "Debug" build is there.

Code: Select all

cooper:virtj-sensor lcox$ ls /Users/lcox/Documents/360vl-src/virtjoule/xmos/virtj-sensor-64-xs1
Debug			build-virtjconsole	test			virtj-console.rl
SFE.xn			src			virtj-console.dot
cooper:virtj-sensor lcox$ 
The target .xe file is also there:

Code: Select all

cooper:Debug lcox$ pwd
/Users/lcox/Documents/360vl-src/virtjoule/xmos/virtj-sensor-64-xs1/Debug
cooper:Debug lcox$ ls
makefile		sources.mk		subdir.mk		virtj-sensor-64-xs1.xe
objects.mk		src			test
cooper:Debug lcox$ 
I'm baffled as to what could be wrong. Anyone have any hints or things to try?

Landon


User avatar
Bianco
XCore Expert
Posts: 754
Joined: Thu Dec 10, 2009 6:56 pm

Post by Bianco »

xmap: Warning: Node "0" does not have 100Mhz reference clock.

is this intentional?
User avatar
landon
Experienced Member
Posts: 71
Joined: Mon Sep 06, 2010 4:05 pm

Post by landon »

Hi Bianco,

I'm using the Sparkfun XMOS board. Their SFN.xn defines a set of clock values that are:

Code: Select all

    <Node Id="0" Type="XS1-L1A" Oscillator="13MHz" SystemFrequency="399750kHz" ReferenceFrequency="99937500Hz">
 
I was able to run with it fine prior to these issues, so I don't have any reason to suspect clock issues.

Landon
User avatar
landon
Experienced Member
Posts: 71
Joined: Mon Sep 06, 2010 4:05 pm

Post by landon »

I should also mention that the board is running independently as well. It's running my last flashed software when it's not under XJTAG control. So, as far as I can tell, the board is working normally in that respect. I thought maybe I smoked it somehow, but it appears to be fine.

-edit- This also doesn't appear to be related to my software. When I try to run the Sparkfun example project, I get the same error "XCore 0 is not enabled"

Landon
User avatar
Woody
XCore Addict
Posts: 165
Joined: Wed Feb 10, 2010 2:32 pm

Post by Woody »

Have you fixed this?
User avatar
landon
Experienced Member
Posts: 71
Joined: Mon Sep 06, 2010 4:05 pm

Post by landon »

For a few days it went away, but I have no idea why. Now it's back to the same problem.

I still don't know what causes it or what cures it, either one, but it's not the code and the hardware works when I let it run whatever's in flash and it works after the XCore not enabled error goes away (mysteriously), so I do not think it is a hardware problem either.

It acts like some sort of problem with XDev->XJTag, but there is precious little to support that theory - I just don't have any more diagnostics from XDev to give a clue.
User avatar
Woody
XCore Addict
Posts: 165
Joined: Wed Feb 10, 2010 2:32 pm

Post by Woody »

I think it might be a hardware problem with the Sparkfun board. We think they did have a problem that manifest itself in this way. Have you tried contacting them?
User avatar
landon
Experienced Member
Posts: 71
Joined: Mon Sep 06, 2010 4:05 pm

Post by landon »

Sorry for some reason I didn't see your reply right away.

I have not contacted them about this particular error. But if you think this is a hardware error related to Sparkfun, I should know shortly as I have two more boards of theirs I'm building prototypes with and I'll probably see it again if it's a repeatable problem.

Thanks,

Landon