Picking up, briefly, an old thread about how OpenOCD could learn to support "smart" dongles... where code running inside the JTAG adapter can offload some tasks from OpenOCD, like polling for status changes.
On Monday 23 November 2009, David Brownell wrote: > On Monday 23 November 2009, Dean Glazeski wrote: > > What about us poor graduate students who make less than unemployed people? > > I can't afford big name JTAG dongles! :) I would be very interested in > > trying to work on a project like this in the time I have available. > > That's part of why I suggested someone whip together a standard > (reference?) platform, and sketched what it might look like. > > Something breadboardable, or which can be put together by simple > hacks to a widely available board, would be a place to start. It's come to my attention that at least current versions of NXP's "LPCXpresso" [1] ($US 30) might include a candidate for this. Briefly, there are two versions of this. Each card has two halves, which can be split apart (by first scoring the PCB then splitting along that score): - Breakout board for LPC1114 (Cortex-M0) or LPC1343 (Cortex-M3); the two versions differ in which breakout is used. - "Smart" JTAG adapter, "LPC-Link". Supports JTAG, SWD + SWO. That LPC-Link thing has an LPC3154 driving JTAG or SWD via SPI, with a high speed USB link upstream. And there seems to be a JTAG link connected to the LPC3154 chip itself, sufficient for debugging JTAG code (you'd provide its hardware hookup yourself). That LPC3154 has an ARM926 with 192 KBytes SRAM ... but no flash, so if you're not going to load it via JTAG, it expects to get its code downloaded over USB (using DFU). (The chip can boot from SPI flash, but the board doesn't populate that footprint.) So anyone wanting to work on this kind of project for OpenOCD could presumably get an LPC-Link and develop a new firmware image for it ... one that's not coupled to the CodeRed tools included with that board. Enumerate over USB, and accept commands to perform whatever JTAG or SWD operations need to be handled, using SPI and a few GPIOs. One question is whether they've tried to lock down that board to "blessed" firwmare images -- crypto-sealed by someone. If they have, this kind of project wouldn't work. I think the hardware is designed to support that stuff, so another issue would be whether they'd switch to that in the future. Regardless, if *current* versions aren't locked down, then they might make decent platforms for this kind of work. - Dave [1] http://ics.nxp.com/lpcxpresso/ ... one suspects that these are subsidized a bit by NXP, at least to the extent of accepting a profit margin measured in "more developers" rather than per-board incremental revenue. _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development