Hi!

When I try to singlestep my code openocd crashes.
I have a custom AT91SAM7S64-Board as target and Luminary LM3S811-Eval-Board (with an additional connection from debug-connector to the FT2232 reset output, so it behaves like a normal FT2232 board) as debugger. When I break at some random point (really doesn't matter where) in my code and then single step after a few instructions openocd crashes. The error happens just before jumps in most cases. E.g. when the current instruction is just before the end of a function, a "if" statement, a "else" statement, etc. However I'm not completely sure which instruction actually causes the crash. If you need more details I can step through the asm code at different locations and see if there is a common instruction that always causes this problem.

The problem is verified with the following revisions:
Open On-Chip Debugger 1.0 (2009-03-12-01:10) svn:r1409 (from Debian)
Open On-Chip Debugger 1.0 (2009-03-20-14:36) svn:1422
Open On-Chip Debugger 1.0 (2009-04-10-01:08) svn:1454 (current SVN)

Regards,

Hermann


Here's the backtrace and openocd's log messages:

gdb --args openocd -f z_flashnew.cfg
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(gdb) run
Starting program: /usr/local/bin/openocd -f z_flashnew.cfg
Open On-Chip Debugger 1.0 (2009-03-20-14:36) svn:1422


BUGS? Read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS


$URL: svn://svn.berlios.de/openocd/trunk/src/openocd.c $
force hard breakpoints
jtag_speed: 3
Info : JTAG tap: sam7s64.cpu tap/device found: 0x3f0f0f0f (Manufacturer: 0x787, Part: 0xf0f0, Version: 0x3)
Info : JTAG Tap/device matched
Warn : no tcl port specified, using default port 6666
Warn : DBGACK set while target was in unknown state. Reset or initialize target.
target state: halted
target halted in ARM state due to breakpoint, current mode: Supervisor
cpsr: 0x20000053 pc: 0x001001bc
Info : JTAG tap: sam7s64.cpu tap/device found: 0x3f0f0f0f (Manufacturer: 0x787, Part: 0xf0f0, Version: 0x3)
Info : JTAG Tap/device matched
Warn : srst pulls trst - can not reset into halted mode. Issuing halt after reset.
target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x20000053 pc: 0x00100114
Info : accepting 'gdb' connection from 0
Warn : acknowledgment received, but no packet pending

Program received signal SIGSEGV, Segmentation fault.
buf_get_u32 (buffer=0x74697277 <Address 0x74697277 out of bounds>, first=0, num=32)
    at ../../src/helper/binarybuffer.h:58
58 return (((u32)buffer[3])<<24)|(((u32)buffer[2])<<16)|(((u32)buffer[1])<<8)|(((u32)buffer[0])<<0);
(gdb) bt
#0 buf_get_u32 (buffer=0x74697277 <Address 0x74697277 out of bounds>, first=0, num=32)
    at ../../src/helper/binarybuffer.h:58
#1 0x08077a82 in arm_simulate_step (target=0x8855740, dry_run_pc=0xbf857d28) at arm_simulator.c:418 #2 0x08063f73 in arm7_9_step (target=0x8855740, current=1, address=0, handle_breakpoints=0) at arm7_9_common.c:1765 #3 0x080c3087 in gdb_input_inner (connection=0x8846550) at gdb_server.c:2111
#4  0x080c30b2 in gdb_input (connection=0x8846550) at gdb_server.c:2175
#5  0x080bdbf0 in server_loop (command_context=0x8838008) at server.c:443
#6  0x08049f9c in openocd_main (argc=3, argv=0xbf857f84) at openocd.c:274
#7  0x08049ca2 in main (argc=Cannot access memory at address 0x20
) at main.c:52

Attachment: z_flashnew.cfg
Description: Binary data

_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to