Debugging with gdb – Moxa Technologies UC-7420/7410 User Manual
Page 79
UC-7420/7410 User’s Manual
Programmer’s Guide
5-3
Obtaining help
Use the Linux man utility to obtain help on many of the utilities provided by the tool chain. For
example to get help on the armv5b-linux-gcc compiler, issue the command:
#man armv5b-linux-gcc
Cross Compiling Applications and Libraries
To compile a simple C application, just use the cross compiler instead of the regular compiler:
#mxscaleb-gcc –o example –Wall –g –O2 example.c
#mxscaleb-strip –s example
#mxscaleb-gcc -ggdb –o example-debug example.c
Tools Available in the Host Environment
Most of the cross compiler tools are the same as their native compiler counterparts, but with an
additional prefix that specifies the target system. In the case of x86 environments, the prefix is
i386-linux- and in the case of UC-7420/7410 Xscale boards, it is mxscaleb-.
For example the native C compiler is gcc and the cross C compiler for Xscale in UC-7420/7410 is
mxscaleb-gcc.
The following cross compiler tools are provided:
ar
Manage archives (static libraries)
as Assembler
c++, g++
C++ compiler
cpp C
preprocessor
gcc C
compiler
gdb Debugger
ld Linker
nm
Lists symbols from object files
objcopy
Copies and translates object files
objdump
Displays information about object files
ranlib
Generates indexes to archives (static libraries)
readelf
Displays information about ELF files
size
Lists object file section sizes
strings
Prints strings of printable characters from files (usually object files)
strip
Removes symbols and sections from object files (usually debugging information)
Debugging with GDB
First compile the program must with option -ggdb. Use the following steps:
1. To debug a program called hello-debug on the target, use the command:
#gdbserver 192.168.4.142:2000 hello-debug
This is where 2000 is the network port number on which the server waits for a connection
from the client. This can be any available port number on the target. Following this are the
name of the program to be debugged (hello-debug), plus that program’s arguments. Output
similar to the following will be sent to the console:
Process hello-debug created; pid=38