Arpith Chacko Jacob - since 1982...

Archives for: July 2004, 24

  Application debugging on ARM7TDMI embedded systems

July 24, 2004  

This article describes the steps to be followed to debug applications on embedded ARM7TDMI processors using the GNU Debugger 'GDB' and gdbserver.

Embedded systems typically have memory constraints that restrict the size of executables (with debug information) and debuggers stored in ram. A stripped executable binary of much smaller size is usually placed on the target board, while the executable with debugging information remains on the host development system. Similarly since GDB is a large and sophisticated debugger, a light-weight control program gdbserver was created to be run on the target system.

gdbserver is executed along with the stripped application on the target machine. GDB is loaded on the host system along with the unstripped application, containing debug symbols. GDB communicates with gdbserver via a serial port or TCP/IP to provide a full-fledged debugging environment. In this article a GUI front-end debugger, Data Display Debugger 'DDD' is used.

Continue...

  Of JVMs and other software for ARM Linux

July 24, 2004  

Random notes on the installation of Wonka, Kaffe, PCSC-lite, and Java Native Interface on ARM linux systems.

Kaffe-1.1.0 for arm linux 6724 Kb
Wonka-0.9.6 2207 Kb
Wonka binary1042 Kb
Wre.jar (reduced packages, 1209 Kb uncompressed)

Continue...

  Mounting windows shares from Linux

July 24, 2004  

Here's a quick shell script I wrote to mount windows shares from Linux. It may be called with the arguments 'mount' or 'umount' to respectively mount and unmount the windows shares.

#!/bin/sh

if [ $# -le "0" ]; then
   echo "Usage: mwfs [mount | umount]"
   exit 0
fi

case "$1" in
   [mM][oO][uU][nN][tT] ) echo "Mounting wfs..."
        echo "Please enter password for acmeuser"
        stty -echo
        read PASS
        stty echo
        echo "Mounting //acme/users..."
        smbmount //acme/users /home/acmeuser/wfs/users -o username=acmeuser,workgroup=acmeindia,password=$PASS

   ;;
   [uU][mM][oO][uU][nN][tT] ) echo "Unmounting wfs..."
        echo "Unmounting //acme/users..."
        umount /home/acmeuser/wfs/users/

   ;;

   * )
   echo "Invalid parameter"
esac

exit 0

  Kermit download software for Linux Systems

July 24, 2004  

During uClinux development, one of the most useful tools is a kermit download utility. Most bootloaders support download of binary images on to their targets via the Kermit protocol on a serial line. In windows the program Hyperterminal may be used to send the file from a host. For unix systems Columbia University released a free program, G-Kermit CU, which can be called by Minicom to perform a kermit transfer.

The following patch allows G-Kermit CU to function as a standalone program, eliminating the need of a terminal program such as Minicom.

Continue...

  Adding a new kernel module into the uClinux distribution

July 24, 2004  

This article details the steps that need to be followed to add a kernel module to the uClinux build process.

Continue...

  Adding user applications into the uClinux distribution

July 24, 2004  

This article details the steps that need to be followed to add a user application to the uClinux build process. Upon building the uClinux distribution, the executable is created and copied to the romfs directory which is included with the final image. After the target board boots up, the binary may be executed from the rom filesystem.

Continue...