Professional Documents
Culture Documents
Chapter 1 - Final
Chapter 1 - Final
fgdfgf
• Light Emitting Diodes (LEDs)
• LEDs are the most widely use d output devices in embedded systems. Red , green and
yellow LEDs are used for status display as well as for indications of visual alarms for such
events as power supply failure. Blue and white LEDs are also available, but they are very
expensive.
Software Architecture
• An embedded operating system does all these activity .
2.4.1 TCP/IP Protocol Suite
• The application process (say for transferring a file) generates an application
byte stream which is divided into TCP segments and sent to the IP layer.
• The TCP segment is encapsulated in the IP datagram and sent to the data link
layer. The IP datagram is encapsulated in the data link layer frame.
• The data link layer frame is sent to the physical layer interface and then the
bit stream is sent over the transmission medium. At the destination, each
layer strips off the header, does the necessary processing based on the
information in the header and passes the remaining portion of the data to
the higher layer.
Current Trends
To address the challenges just mentioned, various trends are being adopted.
i) Multi-core processors:
It has become very clear that trying to improve processor performance by
increasing clock frequencies is fraught with difficulties, because the direct
result of higher clock frequency is high power dissipation.
Thus, the option of using more than one processor core (at lower clock
frequencies) is being tried out. Thus, the current smart phones and gaming
consoles use multi-core processors.
It may be understood that if there are two cores, one may be a DSP core while
the other is a general purpose core. Th e design of multi core systems requires
new design environments which are being developed at a rapid rate.
ii) Embedded and real-time operating systems:
With the emergence of complex applications, many new
embedded and real-time operating systems have become
popular.
Linux has emerged as a popular embedded OS, and others like
Android and newer versions of Symbion have came up for
mobile applications and handheld devices.
iii) Newer areas of deployment of embedded devices:
Embedded devices have applications in the entertainment, healthcare
and automotive segments. Besides that, there are applications in the
communication and military fields as well. Research and
development in these fi elds is going ahead.
SOFTWARE DEVELOPMENT TOOLS
• An embedded system, as we see, includes both hardware and software. To
develop the hardware and software in unison, a number of tools become
necessary. Another related term is ‘firmware’. When software is embedded in
hardware, it becomes a ‘firmware’.
• The hardware involved here is a non-volatile memory which is part of an MCU
or system board. Currently flash ROM is the device of choice for firmware.
• To understand the program development steps.
• The assumption is that the hardware design is being done parallel, and out to
develop, test and port the software onto the embedded systems board.
• It is only after the software is thoroughly tested can it be burned into the flash
(ROM) of the target processor.
An Embedded Board
A Host Computer and an Embedded Board
The program to be run on the selected MCU cannot be simply burned
on its flash without testing and making sure that it is working as per
the required specifications. Th is part of developing a working and
tested program called ‘software development’.
The Integrated Development Environment (IDE)
• An integrated development environment (IDE) is a programming
environment that has
been packaged as an application program, consisting of a code editor, a cross
compiler, a debugger, and a graphical user interface (GUI) builder.
• Code Editor
• Builder
• Simulator
• GUI (Graphical User Interface)
List of popular IDEs
Code Editor
• In an IDE (take a look at the Keil IDE, for example), the processes of ‘compile,
assemble and link’ are together called ‘build’.
• The output from the build process is the hex fi le which can be loaded into the
flash of the processor or be simulated using the simulator of the IDE. Figure
shows the executable file being loaded into memory, using a ‘loader’.
Simulator
• This is also called a software debugger.
• This is a software which allows debugging of code by identifying
and correcting logical errors.
• Here, setting break points and single step execution is possible.
• The most important aspect of a software debugger in an
embedded system IDE is that the architecture of the selected
processor is ‘simulated’.
• if it is the 8051 MCU that has been selected, there is the facility to view the
registers, RAM and ROM locations of this MCU after each step of
execution. The available peripherals such as timers, GPIO, serial ports, etc.
are also viewable.
• There is the facility for simulating the external input ports and logic values.
• This means that if to an input GPIO pin, applying a ‘1’ as input is to be
given, it can be done and the result of this (in memory or a register) can be
observed.
Out of Circuit Programming