In OpenOCD there is a bit of clever handling of working areas.

You can essentially allocate a piece of working memory on the target and
store e.g. an algorithm into that working area over an extended period
of time to improve performance.

If a reset or similar happens, then OpenOCD will iterate through all the
working areas and null out the pointers to the working area so that
e.g. the flash routines know to reallocate and repopulate the working
areas.

The neat side effect of this is that it will leave algorithms in
target memory for a long time, increasing performance.

The nasty side effect is that it *really* complicates the code path...

I have an unsubstantiated suspicion that this breaks e.g. flash
programming on arm926ejs.

If I can catch this handling of working memory red-handed in causing
bugs, my instinct would be to remove it. I'm hopeful that e.g. flash
programming routines would be able to recover the performance
with slight rewriting....



-- 
Øyvind Harboe
http://www.zylin.com/zy1000.html
ARM7 ARM9 ARM11 XScale Cortex
JTAG debugger and flash programmer
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to