Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 24

INTRODUCTION TO EMBEDDED

SYSTEMS
Microprocessor vs. Microcontroller
Microprocessor Microcontroller
• CPU is stand-alone, RAM, • CPU, RAM, ROM, I/O and timer
ROM, I/O, timer are separate are all on a single chip
• designer can decide on the • fixed amount of on-chip ROM,
amount of ROM, RAM and RAM, I/O ports
I/O ports.
• for applications in which cost,
• expensive power and space are critical
• versatility
• single-purpose (control-oriented)
• general-purpose
• Low processing power
• High processing power
• High power consumption • Low power consumption
• Instruction sets focus on • Bit-level operations
processing-intensive • Instruction sets focus on control
operations and bit-level operations
• Typically 32/64 – bit • Typically 8/16 bit
• Typically deep pipeline (5-20 • Typically single-cycle/two-stage
stages)
pipeline
Embedded
Systems
Embedded Systems
• Embedded literally means enclosed firmly in a surrounding
mass

• A group of devices forming a network to distribute


functionality that serve a common purpose defines a system
Embedded Systems?

• What is an Embedded Systems?

• What are the applications of Embedded Systems?

• Concepts in Embedded Systems.

• Development Life Cycle of Embedded Systems.


Introduction to Embedded Systems Technology

• What is an Embedded System?

Embedded System=Hardware + Software

Definition: It is a computational engine, employing hardware


and software, designed to perform specific function/s.

The software is used for providing features and flexibility.

The hardware is used for performance and sometimes


security.
Introduction to Embedded Systems Technology

Typical characteristics:

Perform a single or tightly knit set of functions; (not


usually "general purpose”)

Increasingly high-performing & real-time constrained;

Power, cost and reliability are often important attributes


that influence design;
Applications of Embedded Systems
CONCEPTS

• Embedded Development Boards

• Embedded Operating Systems

• Real Time Embedded Systems


• Hard and Soft Real Time Systems
• Real Time Operating Systems
• Real Time Applications of Embedded Systems
CONCEPTS

a)Embedded Development Boards:

A prototype hardware used in the embedded application development .

A typical board consists of the following:


a. Microprocessor/Microcontroller(8 / 16 /32 bit).
b. Memory ( RAM / ROM / Flash / EEPROM ).
c. Peripherals and Peripheral controllers (Serial port, Ethernet Interface,
USB port etc.,).
d. Debug ports.

Some boards may also include:


LCD display, Keyboard and mouse interface.
CONCEPTS
Development Boards
CONCEPTS

b)Embedded Operating Systems


Since embedded systems are usually not general-purpose systems, the
OS need not be as sophisticated as commercial general-purpose OS.
These operating systems are smaller in size. Most of these operating
systems also offer real-time capabilities, which are missing in
general purpose systems.
Although there are hundreds of operating systems available for the
embedded market, some of the most commonly used ones are:
• VxWorks
• pSOS
• Embedded Linux
• QNX
• Windows CE
CONCEPTS

Embedded Operating Systems

When you use an embedded operating system, you can take out many parts of the
kernel that are required in the general-purpose OS.

Parts that are the most likely candidates for removal from the embedded OS are:

•Disk drivers.

•CD-ROM drivers.

•Most of the networking code.

•Sound and multimedia related drivers and components.

•Most of the file system support.

The trimmed version of the OS will be much smaller compared to the general-purpose
Operating System.
CONCEPTS

c) Real Time Embedded Systems:

What is a Real Time System?


In a Real-Time System the correctness of the system behavior depends not only
on the logical results of the computations, but also on the physical instant at
which these results are produced.
Real-time does not mean "fast". Real-time means either or both of
• capable of responding to external events timely (within prescribed time-limits)
• Operating within the specified time constraints

A real-time computer system must react to stimuli from the controlled object
(or the operator) within time intervals dictated by its environment. The instant
at which the a result is produced is called as a DEAD LINE
CONCEPTS
c) Real Time Embedded Systems:
Classifications of Real-Time Systems:
• Hard Real Time Systems
• Soft Real Time systems
Development Life Cycle of Embedded Systems
Tools and utilities used in development process.

Compilers
Assemblers
Linkers
Debuggers
Emulators
Simulators
IDEs
Tools and utilities used in development
process.
Compilers
• Translate the human readable source code into "hex code" that represents the
machine instructions (op codes).

Classification of Compilers:

• Native Compilers: These generates codes (hex codes) for the processor of the
host system.
Example: Turbo C compiler, GCC compiler etc.,

• Cross Compilers: Generates codes for the processor of the target system. These
compilers run on host machine.(usually computer based on x86 processor).
Example: ARMCC compiler, arm-elf-gcc compiler etc.,(for ARM
processors).
Tools and utilities used in development process.

Assemblers
• Translate the human readable assembly level language( of the “target” processor)
into "hex code" that represents the machine instructions (op codes).

Classification of Assemblers:

Native Assemblers: These generates codes (hex codes) for the processor of the host
system.

Cross Assemblers: Generates codes for the processor of the target system.
Tools and utilities used in development process.

Linkers

• Links source codes; generates single final program.

At the same time they take care of a chip's memory allocation by assigning
each instruction to a microcontroller memory addresses in such a way that
different modules do not overlap.
Tools and utilities used in development process.
Debuggers

• A debugger is a piece of software running on the host machine that allows you
to download your code and then control the functions of the target system from
the host.

Common debugging features include

• The capability to examine and modify the microcontroller's on-chip registers,


data- and program-memory;

• Pausing or stopping program executing at defined program locations by


setting breakpoints;

• Single-stepping (execute one instruction at a time) through the code;

• Looking at a history of executed code (trace).


Tools and utilities used in development process.
Tools and utilities used in development process.
Emulators
• An emulator is a piece of hardware that ideally behaves exactly
like the real microcontroller chip with all its integrated
functionality.

• The emulator provides a high speed hardware interface between


the target processor (on the development board) with an on-chip
debug interface and the debugger software on the host machine.
Tools and utilities used in development process.

Simulators

• Simulators try to model the behavior of the complete microcontroller


in software.

• Some simulators go even a step further and include the whole system
(simulation of peripherals outside of the microcontroller).

• Simulators are best suited to test algorithms that run completely


within the microcontroller (like a math routine for example).

You might also like