Getting Started with GCC-ERC32: C/C++ Compilation System for Mission Critical Spacecraft Applications | ||
---|---|---|
Prev | Chapter 2. Advanced Techniques | Next |
If you have a recent Atmel Starter Kit, then you may have the newer version of rdbmon rather than Version 1.0 as featured above. This new rdbmon is quite different from Version 1.0, and must be used in a different way.
We begin by resetting the target computer and getting the rdbmon banner.
ERC32 boot loader v1.1 system clock : 10.0 MHz baud rate : 19200 baud prom : 512 K, 3 ws ram : 4096 K, 2 banks, 0/0 ws (r/w) edac : enabled parity : enabled write-protect : 0x023f9000 - 0x023fad90 watchdog : disabled ... and more
On the host computer, we then use erc-coff-gdb to download xgcmon.
$ erc-coff-gdb xgcmon_rdb XGC erc32-ada Version 1.7.7b1 (debugger) Copyright (c) 1996, 2002, XGC Software. Based on gdb version 5.1.1 Copyright (c) 1998 Free Software Foundation... (gdb) tar rem /dev/ttyS1 Remote debugging using /dev/ttyS1 0x02000000 in start () (gdb) lo Loading section .init, size 0x120 lma 0x2000000 Loading section .text, size 0x2cc0 lma 0x2000120 Loading section .rodata, size 0x1e0 lma 0x2002de0 Loading section .data, size 0x98 lma 0x2002fc0 Start address 0x2000000, load size 12376 Transfer rate: 1868 bits/sec, 263 bytes/write. (gdb) r The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: .../monitor/xgcmon_rdb
The xgc monitor should now run and display its banner. We've omitted the dollar signs.
Id: xgcmon.c,v 1.11 2005/02/02 10:12:03 cvs Exp
Now use Control-C to break in, and quit the debugger.
Program received signal SIGINT, Interrupt. main () at xgcmon.c:92 92 while (1) (gdb) q
Now use erc-coff-gdb to run the application program.
$ erc-coff-gdb demo XGC erc32-ada Version 1.7.7b1 (debugger) Copyright (c) 1996, 2002, XGC Software. Based on gdb version 5.1.1 Copyright (c) 1998 Free Software Foundation... (gdb) tar rem /dev/ttyS1 A program is being debugged already. Kill it? (y or n) y Remote debugging using /dev/ttyS1 0x02000000 in stext ()
Now download the application program.
(gdb) load Loading section .text, size 0x56c8 lma 0x2000000 Loading section .rodata, size 0x608 lma 0x20056c8 Loading section .data, size 0x3b0 lma 0x2005cd0 Start address 0x2000000, load size 24704 Transfer rate: 3593 bits/sec, 274 bytes/write. (gdb) r The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: ../xgc/src/erc32-ada/demo/demo