On Fri, Jul 8, 2011 at 4:30 PM, Brian Hutchinson <b.hutch...@gmail.com> wrote: > But my question still remains how do I specify port "D" for IcePick? > Pass port "4" to icepick_c_tapenable? > >> target/icepick.cfg from trunk that I got a few days ago has this line in it: >> >> drscan $jrc 32 [expr 0xa0002108 + ($port << 24)] -endstate DRPAUSE >> >> ti_beagleboard.cfg and ti_beagleboard_xm both call icepick_c_tapenable >> and pass '3' as the port which I assume is IcePick "C" >> >> So the drscan above, using 3 as the port, would evaluate to >> 0x30a0002108 would it not? That is more than 32 bits and so wouldn't >> only 0xa0002108 be clocked into the register??? >> >> Please help me understand this. I'm trying to setup a .cfg for a TI >> C6A816x and Code Composer Studio 5 says the XDS100v2 that I'm using is >> on IcePick D so should I pass port '4' to the icepick_c_tapenable >> routine? >> >> Regards, >> >> Brian >>
So I might not have a perfect answer, but I've been wrestling with ICEPick over the past couple weeks and I might be able to shed some light. ICEPick D is the next revision of the JTAG Route Controller called ICEPick. Documentation on ICEPick can be found on TI's Processor Wiki here: http://processors.wiki.ti.com/index.php/ICEPICK And the document for ICEPick D is here: http://processors.wiki.ti.com/images/f/f6/Router_Scan_Sequence-ICEpick-D.pdf The target/icepick.cfg file only has the tapenable function for ICEPick C. It's going to have to change slightly to work with ICEPick D; specifically, after the line: drscan $jrc 32 [expr 0xa0002108 + ($port << 24)] -endstate DRPAUSE you will have to add a line like: drscan $jrc 32 [expr 0xe0002008 + ($core << 24)] -endstate DRPAUSE Well, not add, because that would break ICEPick C support. But make a new function in the target/icepick.cfg file called icepick_d_tapenable that has that new line and takes an extra argument for Core ID. (I'm guessing it has something to do with multicore processors.) The port address should be listed in the datasheet, but the ones I found in the AM1808 datasheet were kinda weird... like 17 and above, and they're supposed to fit in a 4-bit value? Confusing, so I just used the ones from the omapl138.cfg target. Good luck, ~Eric _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development