One jtag to rule them all...? - Page 1
Forum section: electronics / beginners

author: daniel19210
author_rank: Contributor
timestamp: March 31, 2012, 07:56:31 pm
content: Hello. Recently i got tired of 8 bit uC and I decided to start with something bigger like ARM. There are couple types like: STM32, Atmel ARM, LPCxxxx, with different cores: ARM7, ARM9, CORTEX. Do i really need a different JTAG Programmer/Debugger for every one of them or there is one that supports all of them. Will Atmel's programmer program for example STM32? And last question. Is there one that will also support MSP430, CPLD and FPGA? Thanks for your help and sorry for bad English. It's not my native language.

author: olsenn
author_rank: Frequent Contributor
timestamp: March 31, 2012, 09:18:52 pm
content: I've asked this very same question in another post, and the answer that I have come to, is yes, you will need a seperate programmer/debugger/emulator for each manufacturer. There are some open source projects around which aim to mitigate this problem (such as OpenJTAG) but they won't work in the native IDE for (AVR Studio, Xilinx ISE etc), they don't support every device, and more complicated features like trace and debug are generally not available.If I were you, I would start out with dev boards that have a build in bootloader, and once you find a device that suits your fancy, then you can start buying equipment for it. Even though you'll probably need a different device for each IC you want to program, there are lots of cheap Chinese clones out there for the most popular ones (AVR, PIC, Xilinx...)

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: March 31, 2012, 09:49:11 pm
content: The Segger J-Link works at least with all the Arm CPUs (including those that only have SWD), is supported by all major development tools including the free CooCox and the EDU version costs only around 50€:www.segger.com/j-link-edu.html

author: Unknown
author_rank: Unknown
timestamp: March 31, 2012, 10:35:45 pm
content: I believe theBus Blasterby Dangerous Prototypes was designed with this idea in mind. Not sure how far they got. Proprietary protocols, like the AVR debugging protocol, may be a problem. I also seem to remember that they supported SWD but not SWO (tracing).

author: daniel19210
author_rank: Contributor
timestamp: April 01, 2012, 09:58:01 am
content: Thanks for your replies. I'm going to listen to Olsenn's avice and buy a developmement kit. Hopefully they are not so expensive and i can afford one or two. Actually couple hours after posting my question i found device I was looking for. It's called JTAG-lock-pick. But for now I'm going to stick to dev boards. I would have to buy one anyway. Thanks again.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: April 01, 2012, 12:04:58 pm
content: Now that FTDI have high-speed USB chips that can support JTAG directly, there isn't really any excuse for proprietory JTAG boxes - hopefully manufacturers will start using this instead of custom solutions.Not sure if it can do SWD, which seems to be appearing on newer ARMs like the NXP Cortex-M3's

author: olsenn
author_rank: Frequent Contributor
timestamp: April 01, 2012, 01:24:58 pm
content: QuoteApart from things like trace, which often neccessitate FPGAs, most 32-bit microproccessors are more than adequate enough to program any JTAG in terms of signalling requirements. The reason there are so many different programmers out there is largely due to lack of standardization. No one device has really been declared an industry standard which all companies write their software for; so instead of having one device to program all your devices, each company creates their own device and all communication software for their ICs are written for that device.Going for the FTDI chip is fait enough, and I think the bus blaster uses that (don't quote me on that), but really anything would do fine just as long as it is made standard. There will always be a need for a dedicated programmer because you don't always want your commercial product to have an easy means for the end user to update the firmware with a third party (hacked) one.

author: Unknown
author_rank: Unknown
timestamp: April 01, 2012, 01:49:09 pm
content: The Bus Blaster uses an FTDI chip plus a CPLD to achieve compatibility with several commercial programmers. An attempt to create a new implementation to solve the problem of too many standards.

author: metalphreak
author_rank: Frequent Contributor
timestamp: April 01, 2012, 03:37:22 pm
content: The TI Stellaris eval boards have an FTDI chip on them that does the JTAG/SWD stuff as well as offering a serial ttl port. As a bonus you can use the eval boards as a JTAG programmer for your own designs