On Friday 28 August 2009 19:28:50 Magnus Lundin wrote:

> The usual way for OpenOCD targets to check if a PROCESSOR_HALTED flag
> has been set is not to do it in the halt command but rather in the poll
> command.
> This in general improves performance when using long roundtrip
> interfaces like USB.

Okay, I was not sure about the state transitions and such, I can remove that 
part and plant some asserts in the other paths to make sure they are not 
called before the core is paused.

>
> This does not affect stability but  only moves the actual run state
> detection, and affect the halt and resume commands.
>
> Some other checks lite testing for DTRRXfull and wait for previous
> instruction patch definetly improves stability but they are performance
> killer especially for debug work like single stepping.

I sincerely disagree here. These bits directly come out of the Cortex A8 
Technical Reference Manual and not following them is not making things fast 
but it makes them unreliable.

In other words, why would ever want to read half of the result?


> Perhaps we need a debugmode=FAST / debugmode = STABLE  flag to control
> speed vs stability.
>
> When developing the cortex_a8 code I had the "enable ITR for code
> execution" in the init script. In general we try put put this kind of
> target initialisations in TCL setup/reset scripts.

Ah great, from my understanding the code running on the core can access the L3 
and L4 registers as well. So in theory and practice the code running on the 
core has changed the ITR flag. This is why I put it into the debug_entry right 
after saving the old DSCR to make sure it is enabled.


maybe this clear things up, I will need to single step through linux to see 
when stuff breaks in OpenOCD... my assumption is enabling the MMU but I will 
find this out next week.

        z,

_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to