Why do I get Cannot load image, XCore 0 is not enabled?

If you have a simple question and just want an answer.
User avatar
migueljds
Verified
Experienced Member
Posts: 96
Joined: Thu Dec 10, 2009 7:08 pm

Why do I get Cannot load image, XCore 0 is not enabled?

Post by migueljds »

When bringing up a new board design or during production test the following
error my be returned from xrun: Cannot load image, XCore 0 is not enabled.
This error message means that the XTAG or XTAG2 JTAG debug adapter can
access the JTAG tap on the device, but cannot access the XCore tap on the
device.

There are many reasons why this may be the case including:

1. The JTAG interface to the XCore has been disabled in the OTP security
register.

2. The device is being permanently held in reset by the RST_N signal.

3. No clock is being supplied to the device; or the clock frequency
supplied to the device is unsuitable for the selected PLL multiplier. The
PLL multiplier is set using the MODE pins and should be configured so that
the XCore boots up at or below its maximum frequency. Further details on
the MODE pins can be found in the relevant device datasheet.

4. The VDD Core supply is outside of tolerance (see the device datasheet).

5. The VDD PLL supply is outside of tolerance (see the device datasheet) or
not present, or has a filter with too high a resistor. This will mean that
the PLL is not locked and hence the XCore will be kept in reset.

6. The power supplies have not been correctly sequenced. The VDDIO (and
OTP_VDDIO if present) supply must be within specification (3.0V-3.6V)
before the VDD Core supply is turned on; see the datasheet for details.

7. The device, especially the ground paddle, has not been correctly
soldered to the board. This can either be in the form of not connected
solder joints or shorted solder joints to other pins, ground or power.
User avatar
Thomas
Experienced Member
Posts: 66
Joined: Fri Feb 05, 2010 12:34 pm

Post by Thomas »

Regarding Reason number 3:
Make sure that the Oscillator value in the .xn file matches the frequency of the input CLK
User avatar
ccrome
Active Member
Posts: 62
Joined: Wed Sep 23, 2015 1:15 am

Post by ccrome »

migueljds wrote: Mon Jul 15, 2019 5:06 pm
3. No clock is being supplied to the device; or the clock frequency
supplied to the device is unsuitable for the selected PLL multiplier. The
PLL multiplier is set using the MODE pins and should be configured so that
the XCore boots up at or below its maximum frequency. Further details on
the MODE pins can be found in the relevant device datasheet.
Yep, this one for me. Thanks for the answer. Somehow 1/10 oscillators got programmed incorrectly to 45 MHz instead of 24MHz.

Thanks,
=-Caleb
fabra
Active Member
Posts: 40
Joined: Sat May 09, 2020 4:20 pm

Post by fabra »

How did you figure out the frequency that the device was programmed for?
nathanfauvey
Junior Member
Posts: 5
Joined: Mon May 23, 2022 10:50 am

Post by nathanfauvey »

Hi all,
I have the same error when I try to do a simple hello world program. I made a custom board (with appropriate XN file), and here is what i get from the command prompt :
$ xrun --io a.xe
xrun: Cannot load image, XCore 0 is not enabled

I don't know how to fix it, so please if anyone has tips to give, it would be very nice.

Thanks
breadbanana
Junior Member
Posts: 7
Joined: Mon Apr 03, 2023 10:08 pm

Post by breadbanana »

migueljds wrote: Mon Jul 15, 2019 5:06 pm When bringing up a new board design or during production test the following
error my be returned from xrun: Cannot load image, XCore 0 is not enabled.
This error message means that the XTAG or XTAG2 JTAG debug adapter can
access the JTAG tap on the device, but cannot access the XCore tap on the
device.

There are many reasons why this may be the case including:

1. The JTAG interface to the XCore has been disabled in the OTP security
register.

2. The device is being permanently held in reset by the RST_N signal.

3. No clock is being supplied to the device; or the clock frequency
supplied to the device is unsuitable for the selected PLL multiplier. The
PLL multiplier is set using the MODE pins and should be configured so that
the XCore boots up at or below its maximum frequency. Further details on
the MODE pins can be found in the relevant device datasheet.

4. The VDD Core supply is outside of tolerance (see the device datasheet).

5. The VDD PLL supply is outside of tolerance (see the device datasheet) or
not present, or has a filter with too high a resistor. This will mean that
the PLL is not locked and hence the XCore will be kept in reset.

6. The power supplies have not been correctly sequenced. The VDDIO (and
OTP_VDDIO if present) supply must be within specification (3.0V-3.6V)
before the VDD Core supply is turned on; see the datasheet for details.

7. The device, especially the ground paddle, has not been correctly
soldered to the board. This can either be in the form of not connected
solder joints or shorted solder joints to other pins, ground or power.
This was the most useful piece of information that yet i found on this forum, these information should be available on an Application Note! Thanks!