On Tuesday 16 June 2009, David Brownell wrote:
> Fix a bug preventing ICEpick "enable that TAP" code from working:
.... and FWIW, I've now seen ARM9 CPUs be properly enabled using
an ICEpick-C and set up so OpenOCD can talk to them.
Other than polishing off rough spots, I'll highlight two more
tasks that I think will affect Beagle and the like:
- Cortex A8 support. Merge these three patches and I think
it should basically be unblocked, for folk using Beagle.
- System resets. These boards use the TI-14 connectors,
with no SRST signal. I understand system resets can be
done by a few ICEpick commands. Failing that, I suppose
"force a (CPU) watchdog reset" would help too.
Enough for now...
# For ICEpick-C, as seen in DaVinci and OMAP3.
# jrc == TAP name for the ICEpick
# port == a port number, 0..15
proc icepick_c_tapenable {jrc port} {
# NOTE: it's important not to enter RUN/IDLE state until
# done sending these instructions and data to the ICEpick.
# And never to enter RESET, which will disable the TAPs.
# REVISIT ICEpick-C actually manage 32 routes.
# TI numbers this set both 0..15 and (more often) 16..31
# select router
irscan $jrc 7 -endstate IRPAUSE
drscan $jrc 8 0x89 -endstate DRPAUSE
# set ip control
irscan $jrc 2 -endstate IRPAUSE
drscan $jrc 32 [expr 0xa0002108 + ($port << 24)] -endstate DRPAUSE
irscan $jrc 0x3F -endstate RUN/IDLE
runtest 10
}
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development