Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: Serial gdb debugging on the Jukebox
From: Nielsen Linus (ext) (Linus.Nielsen_at_elema.siemens.se)
Date: 2002-04-16


Hello fellow rockers!

I have commited a first alpha of the GDB stub in the CVS. It allows you to
debug your Archos code via the serial port using GDB.
You have to connect your Archos to your PC somehow (see the hardware mods
page http://bjorn.haxx.se/rockbox/mods/).
I included the README from the CVS below.

Good luck!

/Linus

----------------------------------------------------------------------------
-----------

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.



Page was last modified "Jan 10 2012" The Rockbox Crew
aaa