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

Reply via email to