Java Reference
In-Depth Information
Chapter 24
Embedded Java
24.1 Introduction
Although Java first gained fame with applets in Web browsers and then became
a popular tool for creating large enterprise services, the developers of Java orig-
inally intended it for embedded applications in consumer devices such as TV
remote controls and Personal Data Assistants (see Chapter 1). The term “embed-
ded” generally refers to encapsulating a processor into a device, along with pro-
grams stored in non-volatile memory, to provide services and features specific to
that device. Microcontrollers, for example, are the most common type of embed-
ded processors.
By embedded Java we refer to a device that contains either a conventional
processor running a JVM or a special type of processor that either directly executes
Java bytecodes or assists a conventional processor with executing bytecodes. The
motivations for device designers to embed Java depend on the particular device,
but, in general, Java provides flexibility, interactivity, networking, portability, and
fast development of the software for embedded projects.
Today several types of commercial devices come with Java built into them.
As mentioned in Chapter 1, over 600 million JavaCards have been sold around
the world as of mid-2004, and several hundred cell phone models include Java.
Embedded applications typically must deal with very limited resources. A
full-blown J2SE application on a desktop with a Swing graphical interface might
require several megabytes of RAM. A typical embedded environment consisting
of a basic processor and a minimal amount of memory presents a challenge to
programmers who must fit codes within the limitations of the system while still
providing the solid reliability required for a consumer device. A cell phone should
never need rebooting!
In this chapter, we give a brief introduction to J2ME (Java 2 Micro Edition),
which provides a systematic approach to choosing a subset of packages and
classes that fit into small systems with memory resources ranging from a few
hundred kilobytes on a basic cell phone to a few megabytes in a PDA or a high-
end cell phone. We also look at the topic of real-time Java since embedded systems
frequently involve hard real-time requirements.
651
Search WWH ::




Custom Search