Embedded Software
Embedded Software
Embedded software
• Embedded software is a piece of software
that is embedded in hardware or non-PC
devices.
• It is written specifically for the particular
hardware that it runs on and usually has
processing and memory constraints because
of the device's limited computing capabilities.
Embedded software Development
Tools
• • Compiler
• Cross-compiler
• Linker
• Loader
• Locators
• Simulator and
• ID
Compiler
• A compiler is a special program that processes
statements written in a particular
programming language and turns them into
machine language or "code" that a computer's
processor uses. The name "compiler" is
primarily used for programs that translate
source code from a high level programming
language to a lower level language (e.g.,
assembly language, object code, or machine
code) to create an executable program
Cross-compiler
• It is a type of compiler that can create executable code
for different machines other than the machine it runs
on . It includes a cross-compiler, one which runs on the
host but produces code for the target processor. Cross-
compiling doesn’t guarantee correct target code due
to (e.g., differences in word sizes, instruction sizes,
variable declarations, library functions)
• Cross-Assemblers: Host uses cross-assembler to
assemble code in target’s instruction syntax for the
target. A cross assembler which can convert
instructions into machine code for a computer other
than that on which it is run
Linker
• A linker or link editor is a computer system
program that takes one or more object files
(generated by a compiler or an assembler) and
combines them into a single executable file,
library file, or another 'object' file. Linking is
process of collecting and maintaining piece of code
and data into a single file. Linker also link a
particular module into system library.
• It takes object modules from assembler as input
and forms an executable file as output for loader
Loader and Locators
• A loader is the part of an operating system that is
responsible for loading programs and libraries.
Once loading is complete, the operating system
starts the program by passing control to the loaded
program code.
• The locator will use this information to assign
physical memory addresses to each of the code and
data sections within the re locatable program. It
will then produce an output file containing a binary
memory image that can be loaded into the target
ROM. In many cases, the locator is a separate
development tool.
Simulator
• It is, essentially, a program that allows the
user to observe an operation through
simulation without actually performing that
operation.
• Simulation software is used widely to design
equipment so that the final product will be as
close to design specs as possible without
expensive in process modification
Integrated Development
• An
Environment
integrated development environment (IDE) is
software for building applications that combines
common developer tools into a single graphical user
interface (GUI).
• An IDE, or Integrated Development Environment,
enables programmers to consolidate the different
aspects of writing a computer program.
• IDEs increase programmer productivity by combining
common activities of writing software into a single
application: editing source code, building executables,
and debugging.