On Wednesday 14 October 2009, Wookey wrote: > +++ Michael Schwingen [2009-10-13 19:41 +0200]: > > David Brownell wrote: > > Looks quite stable to me. I use it regularly at home on IXP42x (I have a > > BDI2000 at work), mostly in the mode of "reset halt / erase & program > > flash / reset run", plus from time to time some gdb-based debugging. I > > had some problems with breakpoints, but forcing hard breakpoints seems > > to fix that. > > > > Debugging inside the Linux kernel seems a bit tricky for now. > > I haven't tested new code yet (will do next week), but certainly > with existing code we find that on pxa270, the kernel does not boot if > openocd has left the CPU running in debug mode. i.e. to reboot and run > the kernel we have to do 'jtag_reset 0 1' (to just waggle the reset > lines), not 'reset halt/run' (which puts the CPU in debug mode).
That's behavior I'd expect without the patch I sent. :) The "reset halt" or "reset run" will more or less "jtag_reset 1 1", invalidating the mini-icache (per spec). But the debugger never reloads it... Your "jtag_reset 0 1" (then "jtag_rest 0 0") resets without invalidating the mini-icache, so the debug handler is still active. The very latest code calls an "init_reset". You could also tweak that, making it not skip TRST when invoked in run/halt/init mode (just 'setup' mode). > Presumably it should be possible to boot the kernel with the debug > enabled? (It would be very useful). Yes. The debug handler should look at how it's invoked, and just branch to the reset handler if it's not in "special debug mode". And if OpenOCD didn't force trapping on reset ... then you could reboot as often as you like, only breaking into OpenOCD when that's explicitly requested (via the vector catch hardware). - Dave _______________________________________________ Openocd-development mailing list [email protected] https://lists.berlios.de/mailman/listinfo/openocd-development
