I make changes in functions: - arm7_9_set_breakpoint(),arm7_9_unset_breakpoint() – I think it's clear to understand - armv4_5_get_gdb_reg_list() - registers in target->reg_cache variable are stored in host endianes (little endian) so if target is configured to work in big endian GDB expects data returned formatted in big endian. In original version register values was always returned in little endian. I declared additional variable tmp_regs[26] holding values converted to target endiannes and returning it to upper layer (gdb_server.c). I also add function armv4_5_get_real_reg() to transform tmp_regs[i] to real register from target->reg_cache variable. Maybe it can be done in more clear way but I'm beginner in openocd sources and I needed fast solution to debug my big endian target.
2008/11/13 Øyvind Harboe <[EMAIL PROTECTED]> > On Thu, Nov 13, 2008 at 9:49 AM, quba54 Gazeta.pl <[EMAIL PROTECTED]> > wrote: > > Hi, > > > > Recently I also had to debug big endian arm7 target (mac7111) and I make > > some modifications in openocd source code. See attachment. > > Please explain a bit more what you have done and why. > > Thanks! > > > > > -- > Øyvind Harboe > http://www.zylin.com/zy1000.html > ARM7 ARM9 XScale Cortex > JTAG debugger and flash programmer >
_______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development