Moxa Technologies UC-7420/7410 user manual Debugging with GDB, Obtaining help

Page 79

UC-7420/7410 User’s Manual

Programmer’s Guide

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-gcccompiler, 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-debugon 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

5-3

Image 79
Contents Third Edition, June UC-7420/7410 User’s ManualTrademarks Copyright NoticeDisclaimer Table of Contents Chapter UC Finder Appendix B Windows Tool Chain Introduction ‰ Hardware Introduction IntroductionUC-7410-LX Package ChecklistProduct Features OverviewProduct Hardware Specifications Hardware Introduction Appearance and DimensionsAppearance Dimensions LED Indicators Hardware Block DiagramLED Name Color Meaning Real Time Clock Reset-type ButtonsReset Button Reset to default ButtonWall or Cabinet Placement OptionsHardware Connection Description Wiring RequirementsDIN-Rail Mounting Grounding UC-7420/7410 Connecting the PowerConnecting to the Network Pin SignalPin RS-232 RS-422 RS-485 Connecting to a Serial DeviceConnecting to the Console Port CompactFlashSoftware Architecture Software IntroductionSoftware Package Journaling Flash File System JFFS2Software Version Comparison Table Directory Change Protocol stacks and utilitiesGetting Started ‰ Configuring the Ethernet InterfaceConnecting UC-7420/7410 to a PC Powering on UC-7420/7410Serial Console 192.168.4.127 255.255.255.0 Default IP Address NetmaskTelnet Console 192.168.3.127 255.255.255.0Windows Users SSH ConsoleStatic IP addresses Configuring the Ethernet InterfaceModifying Network Settings with the Serial Console Linux UsersDynamic IP addresses IEEE802.11b Configuring the Wlan via the Pcmcia InterfaceModifying Network Settings over the Network Default IP address is 192.168.5.127, netmask#vi /etc/wlan/wlancfg-any IEEE802.11g Setting Setting ExplanationKey1Str, Key2Str, Key3Str, Key4Str-Sets strings Key1 to Key4 TurboRate-Enables or disables TurboRate Step Installing the Tool Chain LinuxTest Program-Developing Hello.c Checking the Flash Memory SpaceYou should receive the following response Compiling Hello.cDeveloping Your First Application Testing EnvironmentUploading Hello to UC-7420/7410 and Running the Program #mount -t iso9660 /dev/cdrom /mnt/cdrom Compiling tcps2.cPuTTY Uploading tcps2-release and Running the Program#jobs // use this command to check if the program is running UC-7420/7410 User’s Manual Testing Procedure SummaryUC-7420/7410 User’s Manual Managing Embedded Linux ‰ System Version Information ‰ System Image BackupUpgrading the firmware will erase all data on the Flash ROM System Image BackupSystem Version Information Upgrading the Firmware#upramdisk #cd /mnt/ramdisk Loading Factory Defaults Firmware versions earlier than V1.5 not including Backing Up the User File SystemFirmware version V1.5 and later versions Enabling and Disabling Daemons UC-7420/7410 User’s Manual Managing Embedded Linux Setting the Run-Level Setting the Time Manually Adjusting the System TimeNTP Client Example shell script to update the system time periodicallyUpdating the Time Automatically Enable cron when the system boots up Cron-daemon to Execute Scheduled CommandsChange mode of fixtime.sh Enable the cron daemon manuallyUSB Mass Storage Connecting PeripheralsCF Mass Storage ‰ Iptables ‰ NAT Managing CommunicationsDisabling the Telnet/ftp server Web Service-ApacheTelnet / FTP Enabling the Telnet/ftp serverUsr/www/cgi-bin Saving a Web Page to the CF Card Use the following commands to restart the Apache web server Iptables Local Host Packets Examples Observe and erase chain rulesDefine policy for chain rules UsageIptmac Append or delete rulesNAT Example Enabling NAT at BootupDial-up Service-PPP Example 2 Connecting to a PPP server over a hard-wired link UP Loopback Running How to check the connection#vi /etc/exports Setting up UC-7420/7410 as an NFS ServerSetting up a Machine for Incoming PPP Connections NFS Network File SystemSetting up UC-7420/7410 as an NFS Client Steps 2 MailOpen VPN Internet IFS=‘ Create link symbols to enable this script at boot time Destination Gateway Genmsk Flags Metric Use Iface Now ping Host B from Host a by typing Setup 3 Routed IP Destination Gateway Genmsk Flags Metric Use Iface Programmer’s Guide Flash Memory Map Address Size ContentsLinux Tool Chain Introduction Tools Available in the Host Environment Debugging with GDBObtaining help Cross Compiling Applications and LibrariesRTC Real Time Clock Device APIBuzzer WDT Watch Dog Timer Input Int fd File handle from swtdopen return value Output User application example Example Special NoteSwtddisableswtdfd Int mainint argc, char *argv Pidt sonpid Example to get the baud rate Example to set the baud rateExamples KeyPadBaud rate inaccuracy Special NoteMake File Example UC Finder Windows UC Finder Installing the SoftwareUC-7420/7410 User’s Manual UC Finder Broadcast Search Linux ucfinder Editor System CommandsBusybox V0.60.4 Linux normal command utility collection File managerOther ProcessMoxa special utilities Windows Tool Chain Introduction Introduction Select the Root Directory Installation ProcedureUC-7420/7410 User’s Manual Windows Tool Chain Introduction UC-7420/7410 User’s Manual Windows Tool Chain Introduction Using the Bash Shell UC-7420/7410 User’s Manual Windows Tool Chain Introduction GDB debug tool-InsightUC-7420/7410 User’s Manual Windows Tool Chain Introduction Service Information Following services are provided Moxa Internet ServicesMoxa Product † UC-7410-LX † UC-7420-LX Serial Number Problem Report FormProduct Return Procedure