The latest incarnation of development connections is the XTAG2 board and standard. prior to that there was XTAG and on board usb JTAG FTDI chips which looks a lot like standard JTAG. If one is building a development board the question arises over what to use out of these possible alternatives, so here are some questions to help start a thread which will enable folks building such things to make such decisions.
1) Can one use a standard JTAG board/unit like Arm and FPGA products support? If so are them some guidelines and or requirements like OCD compliance? Also are there any XMOS/tested or approved JTAG products?
2) Does one have to provide an additional virtual console when using another JTAG solution, or is that just an optional feature.
3) Looking at the schematics for the Dev kits and XTAG2 etc.. It seems like an extra LLink 4 pin channel is added to the JTAG signals. How is this link used and what benefit does it provide?
4) What are the key benefits offered by XTAG2 vs XTAG, what function does the L1 add to XTAG2
Sorry if these questions seem a little obvious but I am trying to get to grips with what are the options are when developing a custom dev board. Also clarifying what XTAG/2 offer over JTAG is obviously beneficial to the over all community understanding.
Xtag,Xtag2 & JTag
-
- XCore Legend
- Posts: 1274
- Joined: Thu Dec 10, 2009 10:20 pm
-
- Active Member
- Posts: 53
- Joined: Sun Dec 13, 2009 5:39 pm
1) Yes, it´s possible
2) Optional feature for the user when running the software
3) Booting from the LLink, or for loading custom firmware into the XTAG2 and using the
link as usual.
4) as point 3, and specially if running user code on XTAG2. That code is loaded from PC ad
every time the XTAG2 is connected to the USB. There is a custom bootloader inside the
8k PROM of the XTAG2.
2) Optional feature for the user when running the software
3) Booting from the LLink, or for loading custom firmware into the XTAG2 and using the
link as usual.
4) as point 3, and specially if running user code on XTAG2. That code is loaded from PC ad
every time the XTAG2 is connected to the USB. There is a custom bootloader inside the
8k PROM of the XTAG2.
-
- XCore Addict
- Posts: 169
- Joined: Fri Jan 08, 2010 12:13 am
1) Yes, but some work would need to be done here to get them to work and the XMOS tools won't support them directly. XMOS would reccommend XTAG2
2) Not quite sure what you mean here, but if you are talking about print statements then they are optional, as is the virtual serial interface
3) Sorry to contradict nisma here, but it isn't used for booting. It is planned that XTAG2 will eventually provide an XMOS Link <-> USB adapter as an option for fast data transfer to/from a host
4) XTAG2 is about 10x faster than XTAG and uses XMOS tech. so is much more under XMOS' control - this will be the primary supported device for debugging etc as XMOS has full control of the feature set (and can add things like (3)). The L1 on the XTAG2 does all the work instead of using an FTDI chip.
Also, not quite sure what nisma means in (4), but all the software is in the 8K OTP. No software is loaded onto the XTAG2 L1, it is only used as a device to provide a USB to JTAG bridge.
2) Not quite sure what you mean here, but if you are talking about print statements then they are optional, as is the virtual serial interface
3) Sorry to contradict nisma here, but it isn't used for booting. It is planned that XTAG2 will eventually provide an XMOS Link <-> USB adapter as an option for fast data transfer to/from a host
4) XTAG2 is about 10x faster than XTAG and uses XMOS tech. so is much more under XMOS' control - this will be the primary supported device for debugging etc as XMOS has full control of the feature set (and can add things like (3)). The L1 on the XTAG2 does all the work instead of using an FTDI chip.
Also, not quite sure what nisma means in (4), but all the software is in the 8K OTP. No software is loaded onto the XTAG2 L1, it is only used as a device to provide a USB to JTAG bridge.
Paul
On two occasions I have been asked, 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.
On two occasions I have been asked, 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.
-
- XCore Legend
- Posts: 1274
- Joined: Thu Dec 10, 2009 10:20 pm
Thanks Nisma & Paul Great responses.
@Paul couple more questions if I may
1) Is the source code available for XTAG2?
2) Although the XTAG code is burned into the OTP, is it possible to load further code?
3) I am fascinated by the idea of XMOS Link <-> USB is this only for debugging or could this be used more generally in a USB driver type scenario. Can you provide any further information?
4) Will the XMOS Link <-> USB feature require a hardware design change on the XTAG2
XTAG2 looks like the way to go for my projects, particularly if I can get access to the code.
@Paul couple more questions if I may
1) Is the source code available for XTAG2?
2) Although the XTAG code is burned into the OTP, is it possible to load further code?
3) I am fascinated by the idea of XMOS Link <-> USB is this only for debugging or could this be used more generally in a USB driver type scenario. Can you provide any further information?
4) Will the XMOS Link <-> USB feature require a hardware design change on the XTAG2
XTAG2 looks like the way to go for my projects, particularly if I can get access to the code.
-
- XCore Addict
- Posts: 169
- Joined: Fri Jan 08, 2010 12:13 am
1) The JTAG side of things is available from http://www.xmoslinkers.org/node/321 - the USB side isn't on general release. You would need to contact XMOS for further information on this.
2) I believe it is possible to run custom code using the JTAG interface to the XTAG2. There are some through holes that provide the relevant connections. Whether you need to make any modifications to stop the device automatically booting from OTP I am not sure about - check the boot mode pin configurations for this.
3) This hasn't been fully defined as yet apart from there probably will be support for it in future. I guess it would be a general purpose thing as that would prove to be more useful.
4) Unlikely as the connections are already there, though it might require a new board to be bought as a firmware upgrade would be needed and this can't be done with devices that have the OTP blown.
2) I believe it is possible to run custom code using the JTAG interface to the XTAG2. There are some through holes that provide the relevant connections. Whether you need to make any modifications to stop the device automatically booting from OTP I am not sure about - check the boot mode pin configurations for this.
3) This hasn't been fully defined as yet apart from there probably will be support for it in future. I guess it would be a general purpose thing as that would prove to be more useful.
4) Unlikely as the connections are already there, though it might require a new board to be bought as a firmware upgrade would be needed and this can't be done with devices that have the OTP blown.
Paul
On two occasions I have been asked, 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.
On two occasions I have been asked, 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.
-
- XCore Legend
- Posts: 1274
- Joined: Thu Dec 10, 2009 10:20 pm
Once again Paul thanks for your comprehensive feedback
It brings to mind a few more queries however
First I noticed this thread when searching for USB hints on Linkers, it seems to indicate loading software onto the XTag2, is what nisma refers to in (4) ?
Secondly I see the JTag code for Xtag2 that you linked to - thanks thats really helpful.
However I was looking to emulate directly the XTag2 and would thus need the L1/3318 usb code at the XTag2 end to achieve this. How do I go about getting the source code for this?
regards
Al
It brings to mind a few more queries however
First I noticed this thread when searching for USB hints on Linkers, it seems to indicate loading software onto the XTag2, is what nisma refers to in (4) ?
Link - http://www.xmoslinkers.org/forum/viewto ... ?f=7&t=555he XTAG-2 hardware is connected to provide a serial port via the XSYS connector. The UART itself is provided by software loaded onto the XTAG-2 at run time by the debugger. There is no virtual COM port for the XTAG-2 (Could you please point me at the documentation that states there is as this is incorrect). The decision was taken to provide a UART via the software tools in order to have consistancy across Windows, Linux and OSX as users were having problems with using the UART on any system apart from Windows.
The UART support in the tools for the XK-1 is currently in beta and as such is only available in the command line tools. Only sending data to the host with a baud rate of 115200 is supported at this time. This is being addressed and the UART will be integrated into the XDE in a future release of the development tools.
Currently if you require output from the UART then from the command line run the command
xrun --uart test.xe
Secondly I see the JTag code for Xtag2 that you linked to - thanks thats really helpful.
However I was looking to emulate directly the XTag2 and would thus need the L1/3318 usb code at the XTag2 end to achieve this. How do I go about getting the source code for this?
regards
Al
-
- XCore Addict
- Posts: 169
- Joined: Fri Jan 08, 2010 12:13 am
Ah ok... I hadn't quite realised how the UART stuff on XTAG2 works.
Source code or a binary library for the USB code is currently only available directly from XMOS. Please contact them using the XMOS Ticketing system
Source code or a binary library for the USB code is currently only available directly from XMOS. Please contact them using the XMOS Ticketing system
Paul
On two occasions I have been asked, 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.
On two occasions I have been asked, 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.
-
- XCore Legend
- Posts: 1274
- Joined: Thu Dec 10, 2009 10:20 pm
I placed a new ticket #1385
Awaiting response..
Awaiting response..
-
- XCore Legend
- Posts: 1274
- Joined: Thu Dec 10, 2009 10:20 pm
Given the fact I haven't had a response yet from my ticket and the fact that the XTag2 code (including its usb code) appears to be rather closed I am going to have to follow a plan b otherwise my project will slip badly.
The issues with the USB interface choices are also covered here: http://www.xcore.com/forum/viewtopic.php?f=8&t=130
Thus I am now working on using the FTDI FT2232D to handle the JTAG stuff as I cannot afford for this project to derail.
Is it possible to use lower cost alternatives to FTDI FT2232D, anyone have experience with this?
regards
Al
The issues with the USB interface choices are also covered here: http://www.xcore.com/forum/viewtopic.php?f=8&t=130
Thus I am now working on using the FTDI FT2232D to handle the JTAG stuff as I cannot afford for this project to derail.
Is it possible to use lower cost alternatives to FTDI FT2232D, anyone have experience with this?
regards
Al
-
- XCore Addict
- Posts: 162
- Joined: Thu Dec 31, 2009 8:51 am
The FT2232H is lower cost than the FT2232D in the US.
If all you want is USB then you have a lot of options. If you want JTAG I think the FT2232D is the only solution directly supported.
If you use the FT2232H code and modify the XMOS tools to use the JTAG stuff, I'd love to see it.
If you want USB, ethernet and other peripherals like, I2C/I2S, SPI and SDRAM, it's probably just to program a cheap ARM and hang the XMOS off it with an XLINK. I already made my design with such a configuration and I save a ton of board space and money.
If all you want is USB then you have a lot of options. If you want JTAG I think the FT2232D is the only solution directly supported.
If you use the FT2232H code and modify the XMOS tools to use the JTAG stuff, I'd love to see it.
If you want USB, ethernet and other peripherals like, I2C/I2S, SPI and SDRAM, it's probably just to program a cheap ARM and hang the XMOS off it with an XLINK. I already made my design with such a configuration and I save a ton of board space and money.