L01 Intro
L01 Intro
Lecture: Introduction to
Embedded Systems
Embedded Systems:
Motivation
Motivation
Continuously increasing interest (in industrial, research and
education sectors) as well as rapid evolution in embedded
systems in the last years…
Driving Forces:
Progress in microelectronics / microprocessor technology,
controlled by a microprocessor!
Huge industrial activity in embedded systems
Slide 4
Embedded Systems:
Definitions
What is an embedded system?
1. Special Purpose Computer System
2. Embedded or ‘hidden’ in another system
3. Has several restrictions in design / development / operation
4. Embedded systems are Reactive
5. Often, it may have real-time restrictions (requirements for
responding before a deadline expires)
Slide 6
What is an Embedded System?
First, it is a computer system: anything that uses a
microprocessor, but is not a general-purpose computer:
Consumer electronics:
Slide 7
What is an Embedded System?
Second, it is embedded, or ‘hidden’ inside another system:
the user interacts with a special-purpose system, and not with
Slide 8
What is an embedded system?
Third, it has many sets of constraints / limitations, from the following:
Cost (€0.1 adds up over thousand/million units…)
Display and user interface (…also it may target users that are computer
illiterate)
Network bandwidth (if network connection at all)
Reliability
Security
Slide 9
What is an embedded system?
Fourth: Embedded Systems are Reactive:
computations occur in response to external events, that may
be:
Periodic events (e.g., rotating machinery and control loops, timers,…)
Aperiodic events (e.g., button closures, user interactions)
Fifth: it may have real-time requirements (responding before a
deadline expires)
Real-Time: timing correctness is part of system
correctness
Hard real-time
Absolute deadline, beyond which answer is useless
Deadline may include minimum time as well as maximum time
Soft real-time
Occasionally missing a deadline is not catastrophic
Utility of answer degrades with time difference from deadline
In general, Real Time does not mean Real Fast
Slide 10
A Typical Embedded System
An Embedded Designer's View…
CPU: Performance, Compilers, Operating Systems, Cost.
Memory Size, I/O connections, peripherals, Cost.
External
Environment
Slide 11
Embedded System Examples – Diverse Restrictions
Pocket remote control RF transmitter
100 KIPS, water/crushproof, fits in pocket, 5year battery life
Slide 12
Trends in Embedded Systems
Increasing code size
migration from hand (assembly) coding to high-level
languages
Reuse of hardware and software components
processors (micro-controllers, DSPs)
Slide 13
Microprocessor
There exists at least one microprocessor in (the heart of) an
embedded system
Microprocessor: CPU, memory, cache
Microcontroller:
Microprocessor, plus:
Slide 14
Embedded Systems:
Professional Opportunities
Why embedded systems are important?
Embedded Systems dominate the worldwide computer system
market
Yearly:
The worldwide market of general purpose computers is of the
order of billion US $
The worldwide market of embedded systems is also of the
order of billion US $
~100 million desktop PCs are produced
Slide 16
Embedded System Categories
General Computing
Applications similar to desktop computing, but in an embedded package
wearable computers),…
Control Systems
Closedloop feedback control of realtime systems
flight control,…
Signal Processing
Computations involving large data streams (signals)
Slide 17
Examples
Telecommunications
Wireline Access Systems
(copper enhancement,
DSLAM)
Wireless Access Systems
(microwave systems)
Terminal Equipments
Defense Systems
Secure Communications
Crypto-systems
Slide 18
Examples
General Computing
DiTV Set-top boxes, Home-
Gateways, Home Networking
Interactive TV Applications /
Electronic Program Guides
(embedded software)
Content Distribution Systems
Fleet Management Systems
Systems and terminal equipment
for lottery operations
Information kiosks
Smart Cards Applications
Cash Registers
Energy Meters
Slide 19
Several Types of Embedded System Functions
Applicationspecific interfacing
Buttons, bells, lights,...
Highspeed I/O
Signal processing
Multimedia data compression
Digital filtering
Control Laws
PID control
Fuzzy logic
Sequencing logic
Finite state machines
Fault response
Detection & reconfiguration
Diagnosis
...
Slide 20
Embedded Systems:
Education
Embedded Systems Designer’s Knowledge
Hardware and Software
The ‘low level’: computer architecture, micro-processors / micro-controllers,
assembly language, A/D-D/A converters, integrated circuit (ASIC/FPGA)
design
The ‘higher level’: programming languages C/C++, (Java ?), object-oriented
systems
Operating systems:
…mainly the “lower half” of the OS (which is connected to h/w):
operating systems, with typically small footprints and support for real-
time scheduling
Applications: networking, signal processing, control
Slide 22
Embedded Systems Designer’s Skills
Global System View
…the system is not just the microprocessor…
HW/SW Boundaries
…optimal and under constraints (cost, space, performance,…)
Products
…from specs to production…
…marketing, production…
…end-customer…
Slide 23
Embedded System Designer: Global View
Multi-Discipline
Electronic Hardware
Mechanical Hardware
Software
Control Algorithms
Signal Processing
Humans MultiObjective
Society/Institutions Dependability
Affordability
Safety
Security
Scalability
Timeliness MultiPhase
Requirements
Design
Manufacturing
Deployment
Logistics
Retirement
Slide 24
Education
Difficulties
Embedded systems cover a wide spectrum of computer
the students.
Intensive lab training is required.
Target
Courses must focus in the System / global view (not just
Slide 25
Embedded System Design approaches
Embedded problems typically solved using one of the following
three approaches
Slide 26
Pre-Requisite Knowledge/Skills
Basic, working knowledge of computer architecture
Slide 27
Sources and Literature
References
ARM manuals
Wayne Wolf, Computers as Components: Principles of
Embedded Computing System Design
Steve Heath, Embedded Systems Design
Bryant, O’Hallaron, Computer Systems – A Programmer’s
Perspective
Ben Ari, Principles of Concurrent and Distributed
Programming
Jane Liu, Real-Time Systems
Rajeev Gandhi, Fundamentals of Embedded Systems (CMU
course)
Slide 29