Definition Embedded system is a combination of computer hardware, software and, perhaps,
additional mechanical parts, designed to perform a specific function.
Embedded
systems are usually programmed in high level language that is compiled (and/or
assembled) into an executable ("machine") code. These are loaded into
Read Only Memory (ROM) and called "firmware", "microcode"
or a "microkernel". The microprocessor is 8-bit or 16-bit.The bit size
refers to the amount of memory accessed by the processor. There is usually no
operating system and perhaps 0.5k of RAM. The functions implemented normally have
no priorities. As the need for features increases and/or as the need to establish
priorities arises, it becomes more important to have some sort of decision making
mechanism be part of the embedded system. The most advanced systems actually have
a tiny, streamlined OS running the show, executing on a 32-bit or 64-bit processor.
This is called RTOS.
Embedded
Hardware All embedded system has a microprocessor
or microcontroller for processing of information and execution of programs, memory
in the form of ROM/RAM for storing embedded software programs and data, and I/O
interfaces for external interface. Any additional requirement in an embedded system
is dependent on the equipment it is controlling. Very often these systems have
a standard serial port, a network interface, I/O interface, or hardware to interact
with sensors and activators on the equipment.
Embedded
Software C has become the language of choice
for embedded programmers, because it has the benefit of processor independence,
which allows the programmer to concentrate on algorithms and applications, rather
than on the details of processor architecture. However, many of its advantages
apply equally to other high-level languages as well. Perhaps the greatest strength
of C is that it gives embedded programmers an extraordinary degree of direct hardware
control without sacrificing the benefits of high-level languages. Compilers and
cross compilers are also available for almost every processor with C.
Any
source code written in C or C++ or Assembly language must be converted into an
executable image that can be loaded onto a ROM chip. The process of converting
the source code representation of your embedded software into an executable image
involves three distinct steps, and the system or computer on which these processes
are executed is called a host computer.First, each of the source files that make
an embedded application must be compiled or assembled into distinct object files.Second,
all of the object files that result from the first step must be linked into a
final object file called the relocatable program.