


First, the hardware of the target machine is often unavailable or unstable during the development process. The main reason why cross-development was adopted for embedded systems is that native compilation usually cannot be done effectively on the target machine. The cross-development method is not only required for compilation but also for debugging. During development, cross-compilation, assembly, and linking tools on the host machine are used to produce binary code that is executable on the target machine then the executable files are downloaded and run on the target machine. They may also be special evaluation boards or software-based emulators for development provided by embedded system manufacturers.

Target machines can be any of the numerous kinds of embedded devices such as mobile phones, tablets, and so on. The corresponding embedded system is called the target machine. Usually the host machine is a general-purpose computer such as a PC. The cross-development environment is built on the development, or host, machine. The typical cross-development configuration is shown in Figure 3-1. In general, embedded systems are not compatible with the local development environment and so software development is usually done with cross-development. Development Environment of Android ApplicationsĪs we mentioned earlier, software development for general-purpose computers is always achieved through native compilation or development. The following sections describe the development environment, development process, debugging, and simulation of Android systems.
