DirtyLude
Well-Known Member
Jason: there's where I am not fully comprehending this whole jtag thing.
it seems to me that some arm chips (lpc for example) have internal bootloader that once up on reset can receive data on its own. so why do we need such an expensive device?
also, some of the schematics I have seen about jtag seems to suggest that it is taking signals from a db25 connector (rst, tms, tdi, tdo and tck), buffer them through a dual 232 chip and then dump them onto the same pins on the chip, with the rst signal reversed. that doesn't seem to be too difficult to wire up by oneself; and why do they need that buffering (for speed?)? so it seems to me the simplest thing would be to wire everything straight and then invert the rst signal (with a transistor). or if you are really cheap, program a dip8 pic to buffer it.
then there seems to be some compatibility issues as to certain cables are compatible with certain chips but not others so I am not sure where to begin.
The bootloaders, like SAMBA for the SAM7 chips. Are pretty basic. No debugging, and you load up a precompiled binary file into memory. I tried it once. I wont be using it again.
I think you are thinking of the FT232 JTAG setups. The buffers are used for level shifting as JTAG has to be able to handle a range of voltages. You can leave off the buffers if all you care about is 3.3V operations. ...and the FT232 has special JTAG functionality, it doesn't just operate as a RS232 level shifter. I started making my own, but in cases like this, I think it's just better to pay the $50 for a ready made product. For me, it's not worth playing around with details rather than just getting everything up and running.
I have the Olimex USB JTAG TINY. It's nice enough and works on the SAM and LPC chips. Only issue is only 2 hardware breakpoints which is inconvenient.
Even if you could get the chips at a dollar a pop, there are some inconveniences that make it not so worth it for small projects.
- 20 pin JTAG is a serious pain. I'm thinking of trying to minimize it to a 10pin header, but for someone who uses an 8bit micro with single pin debug/programming pin, even 10pins seems like a big hassle.
- you need both a PLL and an external crystal.
- the ARM cores run at 1.8V, so they have an onboard regulator that still requires you run traces from the internal regulator pins to the core power pins. It just makes routing boards for them complicated.
I never liked those development boards with all of the stuff attached to them. A simple header board is just more useful to me, especially if you already have stuff you can wire to it.
EDIT: It looks like routing core power isn't needed on the Cortex-M3 chips that I've looked at datasheets for. Now, I'm interested in these things. Looks like only Luminary Micro and ST have decent supplies out, at least available on Digikey. The prices aren't that fabulous, but they have a range of chips from small 20Mhz to large 72Mhz all in the same family.
Last edited: