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
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to