David Anders wrote
> the ICEPick works as a JTAG Route Controler(JRC),
[snip]
> due to the number of multi-core arm devices becoming available, a
vast majority of the vendors will be providing JRC's as their primary
means of jtag.
This is what I think needs to be done to make a beagle board work. (I
don't have one - so I can't make it happen).
(1) a new "target event" to occur at a specific spot in the reset
sequence, and/or tap configuration sequence or some where.
Inserting it is easy - It is the "where to insert it" that I don't know.
ie: "The where" -is the point in time when TAP must be reconfigured.
Perhaps this only occurs at HARD reset?
Or only at INIT - because it survives hard reset?
Or anytime it needs to be redone?
I do not know.
If you must add a new one, this is how:
(a) src/target/target.h - "enum target_event"
Add the new event name enum.
(b) src/target/target.c - "const Jim_Nvp nvp_target_events[]"
Add new entries.
(c) Where needed, call the function:
target_handle_event( target, <EVENT_ENUMERATION> )
(2) In your openocd.cfg file - define the "event function"
Required, after you create the target, add a line like this:
[new_target_name] configure -event NEWEVENTNAME TCLBODY
Where NEWEVENTNAME, is what you added in the NVP table (1)(b).
The TCLBODY can done one of many ways, for example:
Option #1
[new_target_name] configure -event FOOBAR "source
somefile.foo"
Would read & execute commands from a file.
Option #2
proc my_funky_proc { } {
.... various commands here ...
}
[new_target_name] configure -event FOOBAR my_funky_proc
Creates a function - and calls that function instead.
Examples are here:
https://lists.berlios.de/pipermail/openocd-development/2008-October/003312.html
I create a "gdb-attach" event script, and change the "reset event".
Other examples can be found in: "src/target/target/*.cfg
(3) The only question that I can think of is if we need a few more
"helper" commands put in place.
-Duane.
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development