I'm posting this as an preview of some work that's not yet complete, in case someone has insightful comments they want to share...
It's actually two things: - ARM "Debug Programmer's Model" (DPM) for ARMv6/ARMv7 cores (but not the M profiles, Cortex-M cores). Basically the debug interface is now architectural, so a certain level of code shareability is guaranteed. I think this stuff might as well merge ASAP, unless there's some issue with the concept. It can't break anything until it gets used, after all! * DPM interface, and support for register access. We can eventually share breakpoint and watchpoint code too. * ARM11 support. This is an extremely thin layer over the current Debug TAP interface. Cortex-A8 support will be easy too. (But needs at least one minor tweak to the interface.) - Make ARM11 use that stuff ... so it can work better (with support for different core modes and states), reuse lots of standard code, and support more standard interfaces. This is a significant overhaul, so I don't plan to put most of it back until I resolve one issue (see below). There's no overall solution for partial/incremental merge either, since intermediate steps necessarily leave some key loose ends. Or so it looks to me... * Add a _second_ register cache to ARM11, covering all standard registers. Gives access to e.g. FIQ shadows. (Loose end: the previous stuff is still used along various code paths!) "arm reg" works, etc. * Use standard single step code, not custom ARM11 glue. Just simplification; removes one code path that still used the old register set, and one expects Thumb will now behave. * Use standard V4/V5 run_algorithm(), not a trimmed-down subset. ISSUE: doesn't quite work, not sure why yet. ("flash erase_check" misbehaved, but at least one of the bugs seems to lie outside the ARM11 code.) * Remove "history" mechanism. It's only for debug help, and if it's desirable it should be done for *ALL* cores. (This could actually be removed before any of these patches merge.) * Remove most of that original register cache, and switch to the DPM primitives for the tasks it handled. Only a few debug registers are left (for now). So I expect to merge the two "add DPM" patches and the "remove histor mechanism" patch by tomorrow, unless somone has a good counter-argument, and continue to chase down the breakage I see in the "flash erase_check" code. _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development