Joe,

Try adding this to your configuration file

#----
gdb_memory_map     enable
#----

This tells openocd to inform GDB where 'flash lives' - thus GDB will 
attempt to use hardware breakpoints.

====

You are also not paying attention to what GDB is telling you - when it 
"cannot find the bounds of the current function" - not much is going to 
work..

This is very true of the command "step" - which - is a *source*level* 
step. Read back through what I told you about how GDB steps ... if the 
current PC is not within the bounds of your code - GDB has no way to 
figure out how to "STEP" - it can - however "stepi" - which is an 
instruction step, but *you* the human need to type "stepi" - not "step".

===========================
I start GDB - without a configuration file, and type various commands - 
below is a transcript of what I am typing with embedded comments.
I am using an atmel at91sam3u4E chip on a SAM3U-EK eval board, I do not 
have a Luminary Micro - however both are cortex-M3 parts.


===========================

[du...@borgcube basic-internalflash-project]$ 
../../../install/bin/arm-none-eabi-gdb
GNU gdb (GDB) 6.7.50.20080107-cvs
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 "--host=i686-pc-linux-gnu 
--target=arm-none-eabi".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.

===========================
I did not specify a CONFIG file on the command-line and I did not 
specify an ELF file on the command line.
therefore I must type commands and specify the ELF file I want to debug.
===========================

=====
Specify the ELF file...
=====
(gdb) file 
./bin/basic-internalflash-project-at91sam3u-ek-at91sam3u4-flash.elf
Reading symbols from 
/home/duane/cortex/b/basic-internalflash-project-at91sam3u-ek/basic-internalflash-project/bin/bas
ic-internalflash-project-at91sam3u-ek-at91sam3u4-flash.elf...done.
=====
Specify the target
=====

(gdb) target remote 192.168.0.100:3333
Remote debugging using 192.168.0.100:3333
0x00000000 in ?? ()

=====
Tell openocd to HALT the target
=====
(gdb) mon halt

=====
Tell openocd to RESET the target.
=====
(gdb) mon reset
JTAG tap: sam3.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 
0xba00, ver: 0x4)
JTAG Tap/device matched

=====
And i tell it to  halt again...
=====
(gdb) mon halt
target state: halted
target halted due to debug-request, current mode: Handler BusFault
xPSR: 0x21000005 pc: 0x000817dc

=====
Load my program - this actually programs the flash
=====

(gdb) load
Loading section .fixed, size 0x133c lma 0x80000
Loading section .relocate, size 0xf4 lma 0x8133c
Start address 0x811dc, load size 5168
Transfer rate: 4 KB/sec, 2584 bytes/write.

=====
Set a breakpoint at "main()"
=====

(gdb) break main
Breakpoint 1 at 0x800c0: file main.c, line 168.

=====
Tell GDB to continue - see the NOTE from GDB...
=====

(gdb) cont
Continuing.
Note: automatically using hardware breakpoints for read-only addresses.

=====
I hit my breakpoint..
=====
Breakpoint 1, main () at main.c:168
168         TRACE_CONFIGURE(DBGU_STANDARD, 115200, BOARD_MCK);
(gdb)

=====
Works for me :-)
=====

-Duane.

_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to