XTAG-2 - BOOT ROM

If you have a simple question and just want an answer.
markaren1
Junior Member
Posts: 7
Joined: Tue Jan 21, 2014 7:00 pm

XTAG-2 - BOOT ROM

Post by markaren1 »

Hi All,
 
I have modified an XTAG-2 to become a low cost target, with on-board USB-PHY, to do this, I have:
- Grounded CONFIG[2], CONFIG[3] (pins 24 and 25, to pin 23 which is GND) of the CPU
- soldered in a 7 pin header on TP 1..7, this becomes the JTAG port
- Attached an LED between J1 pins 4 & 6 (XL_DN1 & GND)
- Initally, this target is powered from a dumb 5V USB charger
- A 100mm cable assembly connects this target to an unmodified XTAG-2 which is used as the programmer
- xTIMEcomposer, Community 13 is running under XP (32 bit)
- I have a very simple test blinky-LED routine that is used to test this setup
 
If I plug the modified XTAG-2 into the XP machine, a second programmer is enumerated - this initially surprised me, but the BOOT ROM appears to be the first step in the boot process. Presumably this ROM contains the XTAG-2 code, and once it has been loaded into RAM, it runs until the JTAG interface says otherwise. Is this correct ?
 
Is there a way to stop this enumeration process (apart from possibly changing the CPU) ?
 
What is loaded in BOOT ROM of vanilla devices as supplied by venders such as Digikey ?
 


Is the BOOT ROM (as referenced in the XMOS CPU data sheet) programmable by the user, mask programmed, or what. Please tell me more about this device.
 
Thanks
 
-mark
 

 



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

Post by Bianco »

There is a difference between boot ROM and OTP memory.

The XMOS devices indeed do have a boot ROM that initializes the boot process.

The firmware for the XTAG-2 however is burned into the OTP memory.

Having the XTAG-2 OTP burned with the firmware, it will always boot from OTP and ignoring the mode select pins for boot mode.

This firmware however does not contain the firmware of the debug adapter itself. This is loaded through USB.

You can however load your own application instead of the debugging software using this example:

https://github.com/xcore/proj_xtag2/tre ... dyanmic_xe

If you buy an XMOS chip it will have a blank OTP.