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