Connections to a target OS using NFS (GDB-NFS)

This is useful for developing software on deeply embedded systems, and also for debugging brand new targets where only the CPU and RAM are initially known to work. Connections of this type are referred to as GDB-NFS connections. The following figure shows the GDB-NFS connection method:

Figure 57. GDB-NFS connections

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.

For example, the minimum I/O support that Linux requires is a system console and a root file system. You can connect the console to a GDB command-line console and, with the appropriate driver, you can mount the root file system over NFS with debug hardware acting as a bridge. Alternatively, you might have a file system and kernel loaded into memory and booted, and an NFS file system mounted to be shared later.


This network connection is not as fast as an office LAN, because of the limited bandwidth of DCC.


If your target has a complete operating system, you can mount a file system over NFS. In this case, debug hardware acts as a bridge.

To debug a target using a GDB-NFS connection:

  1. Power-up your target hardware and debug hardware unit.

  2. Load the Linux kernel and uBoot image using rviload. For example:

    ./rviload --host=rvi5 -j1000000 -mVEC -a0 7fc0:uImage 1000000:u-boot.bin

    Press Return. Messages appear showing u-boot loading and running the Linux kernel.


    This is similar for rviload.exe for MSDOS users.

  3. Mount the directory exported by NFS using the following command:

    ~ # mount -t nfs -n client_IP_address:/exported_directory /mnt

Show/hideSee also

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0498D