Greetings from endianness hell

Revision 90 just got committed to the SVN.

I’ve spent the last two weeks cleaning up the handling of different target/host endianness. So far, all the generic code should be endianness safe, but the flash writing code is definitely not. Please report back if the OpenOCD still doesn’t work on your big-endian target and/or host. I only have little endian targets and hosts to test with. If your target is big-endian, make sure you’ve configured the OpenOCD accordingly (target line in the .cfg file).

For those of you running OpenOCD on little-endian boxes with little-endian targets, the endianness fixes offer noticeable improvements to the memory reading code. The “arm7_9 fast_writes [enable|disable]” command was renamed to “arm7_9 fast_memory_access [enable|disable]” to reflect the changed behaviour, but the old name is still available (but deprecated, so change your init files).

While working with a EP9301 based board, I stumbled accross a problem on ARM920T targets with the data cache enabled. The current workaround for this problem is to keep linefills to the cache enabled, to ensure correct operation. If you happen to know more about this problem (see Google Groups for a longer explanation).

See the changelog for other fixes and enhancements.

Comments are closed.