*** empty log message ***
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@96 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
89bec76422
commit
6de97875e8
1 changed files with 80 additions and 0 deletions
80
gdb/README
Normal file
80
gdb/README
Normal file
|
@ -0,0 +1,80 @@
|
|||
--------------------------------------------------------------------
|
||||
__________ __ ___.
|
||||
Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||
Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||
Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||
Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||
\/ \/ \/ \/ \/
|
||||
$Id$
|
||||
|
||||
Copyright (C) 2002 by Linus Nielsen Feltzing
|
||||
|
||||
--------------------------------------------------------------------
|
||||
|
||||
Debugging the Archos Jukebox
|
||||
----------------------------
|
||||
|
||||
To debug using the serial port on the Jukebox, you need to do the following:
|
||||
|
||||
1) Connect the serial port to the PC. This is best done with the "serial
|
||||
port mod" described on the home page, along with a serial port converter
|
||||
for the 3V signals from the Jukebox.
|
||||
|
||||
2) Build or download a GDB SH1 cross debugger
|
||||
|
||||
3) Compile the GDB stub from the CVS "gdb" archive
|
||||
|
||||
4) Copy the newly built ARCHOS.MOD to the Jukebox.
|
||||
|
||||
5) Start the Jukebox and fire up the GDB with the elf file you want to debug
|
||||
as an argument along with the baud rate:
|
||||
|
||||
# sh-elf-gdb -b 38400 test.elf
|
||||
|
||||
6) In GDB, type:
|
||||
|
||||
(gdb) target remote /dev/ttyS0
|
||||
|
||||
/dev/ttyS0 is the serial port you want to use. I guess Windows users
|
||||
would type COM1 or something like that.
|
||||
|
||||
GDB should answer with a message like:
|
||||
|
||||
Remote debugging using /dev/ttyS0
|
||||
0x090014b6 in ?? ()
|
||||
(gdb)
|
||||
|
||||
7) Load the code from the elf file you specified on the command line:
|
||||
|
||||
(gdb) load
|
||||
|
||||
GDB should answer like this:
|
||||
|
||||
Loading section .text, size 0x6b00 lma 0x9018000
|
||||
Loading section .data, size 0x738 lma 0x901eb00
|
||||
Start address 0x9018290, load size 29240
|
||||
Transfer rate: 11696 bits/sec, 102 bytes/write.
|
||||
(gdb)
|
||||
|
||||
8) You're set. Now try to set a breakpoint and run:
|
||||
|
||||
(gdb) b 22
|
||||
Breakpoint 1 at 0x90182c6: file led.c, line 14.
|
||||
(gdb) c
|
||||
Continuing.
|
||||
|
||||
Breakpoint 2, main () at led.c:15
|
||||
15 SSR1 &= ~(SCI_RDRF | SCI_ORER | SCI_PER | SCI_FER);
|
||||
(gdb)
|
||||
|
||||
Good luck!
|
||||
|
||||
|
||||
Technical details:
|
||||
|
||||
As for now, the GDB stub occupies the memory from 0x900000 up to
|
||||
0x9018000. This will change.
|
||||
|
||||
Compile and link your test program at 0x9018000 and up, and it will work.
|
||||
|
||||
The baud rate is 38400, and the settings are 8N1.
|
Loading…
Reference in a new issue