What are Embedded Systems.243
and then use the same interface to debug it. If the target does not have a JTAG interface, you can
transfer using a serial or Ethernet link. Sometimes the target machine is already running an oper-
ating system and you have to transfer an application to the target machine. In some other circum-
stances you may have to build and transfer a single packaged file that contains the operating
system as well as applications. If the target system is already running the operating system, you
can transfer you application using a network interface very easily. If you have a single packaged
file, you can have a boot routine on the target machine that may download this file from a TFTP
server as well.
The bottom line is that there are many methods used by developers depending upon the
nature of the files to be transferred, availability of special hardware on the target machine, avail-
ability of boot routines on the target machine and the operating system used. You can select a
method that best suits your needs.
8.1.4.4Remote Debugging
In the case of cross-platform development and embedded systems, you have to debug your
code remotely. There are multiple reasons for that including:
•The target machine is different from the host machine so that you can’t execute the
code on your host machine.
•The target system is connected to some special hardware and the software interacts
with that special hardware. To debug in a real-world situation, you have to debug it
remotely.
•The target system itself has some special hardware that is different from the host
machine. For example, the target system may have the same CPU as the host machine
but has different hardware interrupts.
There may be other reasons in addition to the ones mentioned here. In this chapter you will
learn how to attach to a process running on a target machine using GNU debugger. You will use
a local file that contains all of the symbol table information. Before you connect to the target
machine, you will load this symbol table information into
gdb
and then start a debug session
remotely on the target machine.
8.2What are Embedded Systems.
There are many definitions of embedded system but all of these can be combined into a single
concept. An embedded system is a special-purpose computer system that is used for a particular
task. The special computer system is usually less powerful than general-purpose systems,
although some exceptions do exist where embedded systems are very powerful and complicated.
Usually a low power consumption CPU with a limited amount of memory is used in embedded
systems. Many embedded systems use very small operating systems; most of these provide very
limited operating system capabilities. However as memory and CPU power is becoming cheap,
Next Page >>
<< Previous Page
Back to the Table of Contents