Introduction
To
ES
Mohamed Abd Elhay

Copyright © 2012 Embedded Systems
Committee
Copyright © 2012 Embedded Systems
Committee
Copyright © 2012 Embedded Systems
Committee
Copyright © 2012 Embedded Systems
Committee
 Embedded Systems
 Embedded Systems Applications
 Embedded Systems Types
 Memories

 Embedded system developing
 Embedded Systems Market in Egypt
Copyright © 2012 Embedded Systems
Committee
Copyright © 2012 Embedded Systems
Committee
•Embedded system is a special purpose system designed to
perform one or a few dedicated
functions.
• Embedded systems are computing systems with tightly
coupled hardware and software integration.

Copyright © 2012 Embedded Systems
Committee
The Word “Embedded” reflects the fact that these systems are
usually an integral part of
a larger system, known as the embedding system.
“A computer built into a system and not seen by the user as
being a computer”
It is usually Embedded as a part of a complete device
including hardware and mechanical parts.

Copyright © 2012 Embedded Systems
Committee
Can Personal Computer be considered as an Embedded
System as it integrates hardware and software to
perform functions? Why?

NO
PC cannot be considered as an embedded system
because
1. It uses a General-Purpose Processor
2. The system is built independently from the software
runs on it.

Else ATM machine
Copyright © 2012 Embedded Systems
Committee
Communication:
Mobile Handsets
Switches and Routers
Image processing and Consumers:
Cameras
Mp3 and Mp4 players
PlayStation
Automotive:
Engine Management System
Claimant Control System
Appliances:
Microwave
Washing Machines
Copyright © 2012 Embedded Systems
Committee
1) Microprocessors.
2) Microcontrollers.
3) DSPs.

Copyright © 2012 Embedded Systems
Committee
1-Microprocessor:
• CPU = ALU + Registers + Control unit
• Microprocessor function is to fetch the instructions
from the memory then decode and execute them.

• Microprocessor alone is useless

Copyright © 2012 Embedded Systems
Committee
1-Microprocessor:

a-General Purpose Processors












32 or 64-bit data path
Central processing engine of a mainframe, workstation, PC, PDA
X86, PowerPC, SPARC, Pentium
Complex in design because these processors provide a full scale of features and a wide
spectrum of functionalities
Modern processors have:
a built-in memory management unit (MMU) to provide memory protection and virtual
memory for multitasking-capable.
General-purpose operating systems.
Have advanced cache logic.
Built-in math co-processor capable of performing fast floating-point operations.
Interfaces to support a variety of external peripheral devices.
These processors result in large power consumption, heat production, and size

Copyright © 2012 Embedded Systems
Committee
1-Microprocessor:
b-Embedded general purpose Processors
 Designed for a wide range of application (consumer and communication)
 8/16 or 32-bit data path
 Limited functionality depends on the application
 Scaled-down versions of existing computational micros
 Reaches around 200 MHz
 Usually integrated into larger dedicated systems in a SoC (System on
Chip), also called core-based ASIC
 Examples: ARM, PowerPC, MIPS, 68K, x86
 ARM has seized the lion’s share of the market

Copyright © 2012 Embedded Systems
Committee
2-Microcontroller:
• Microcontrollers

are often referred to as single chip devices or single

chip computers in a small size that its resources are far more limited than
those of a desktop personal computer.

• Microcontroller = CPU + Memory + Peripherals
•The workhorse of industrial electronics.
•Designed for standalone operation.
•Include processing unit 8-bit, 16-bit, 32-bit.

Copyright © 2012 Embedded Systems
Committee
2-Microcontroller:
Microcontroller Main Components
Microcontroller has eight main components:
1. Central processing unit (CPU)

2. ROM
3. RAM
4. Input and Output (GPIO or DIO)

5. Timer
6. Interrupt circuitry
7. Buses

8. Watchdog
Copyright © 2012 Embedded Systems
Committee
Copyright © 2012 Embedded Systems
Committee
Processor Control Unit Architecture:
» Harvard Architecture:
includes two memory units :
► An
►A

instruction memory holds the program

separate data memory is used for computations

► The

advantage is that we can read an instruction and load or

store data in the same clock cycle

» Von Neumann Architecture:
includes one memory unit :
►a

single main memory that holds both program instructions

and data
Copyright © 2012 Embedded Systems
Committee
Instruction Set Architecture:
 RISC is short for “Reduced Instruction Set Computer”

 RISC is a set of building concepts, that can be followed to
optimize and simplify computer system design
 CISC is short for “Complex Instruction Set Computer”

 CISC is an old concepts that dates back when memory access
was slow

Copyright © 2012 Embedded Systems
Committee
Instruction Set Architecture:
 CISC aimed to integrate several functionalities in one instruction, in order to

limit the program size, and thus limit memory access in order to gain some
speed
 RISC on the other hand, aims to optimize execution of instructions by
limiting the capabilities of a single instruction, thus gaining speed from
execution point of view
 As memory technology developed more and more, memory access became
faster, and the limitation of memory access diminished
Copyright © 2012 Embedded Systems
Committee
3-Digital Signal Processors:
• Like microcontrollers BUT Focus on very efficient execution of
arithmetic operations.
• DSP has :
– specialized arithmetic units,
– optimized design in the memory,
– Addressing and bus architectures with multiprocessing capability that
allow the DSP to perform complex calculations extremely fast in real
time.
• Used widely in digital signal processing in communications systems
such as Cell phones and Image and video processing.
• TI (Texas Instruments) has been the dominant player in the DSP market
for several years.
Copyright © 2012 Embedded Systems
Committee
Advanced Embedded System
• Multi-core system on chip
Like mobile handset which has one chip contains:
1. DSP processor
2. Embedded processors like ARM
3. Custom hardware for GSM
4. Custom peripherals for board interface (keyboard, touch
screen, memory card interface)

Copyright © 2012 Embedded Systems
Committee
 RAM
 ROM

 EEPROM/FLASH
 Memory Mapping

Copyright © 2012 Embedded Systems
Committee
1-RAM:
 Random Access Memory (RAM)
 Also called Read/Write Memory, The term random
access refers to the ability to access any memory cell
directly. RAM is much faster than ROM
 Volatile memory, requires external power to maintain
memory content.
 Used to store data as long as Microcontroller is
powered and the program is running
 Modifiable through program instructions
 Addressable in instruction sets through different
addressing Mode
Copyright © 2012 Embedded Systems
Committee
1-RAM:
RAM Types:
1. Dynamic RAM (DRAM):
DRAM is a RAM device that requires periodic refreshing to retain its
content.

2. Static RAM (SRAM):
SRAM is a RAM device that retains its content as long as power is
supplied by an external power source. SRAM does not require periodic
refreshing and it is faster than DRAM.

3. Non-Volatile RAM (NVRAM)
• NVRAM is a special type of SRAM that has backup battery power so it can
retain its content after the main system power is shut off.
• Another variation of NVARM combines SRAM and EEPROM so that its
content is written into the EEPROM when power is shut off and is read
back from the EEPROM when power is restored.
Copyright © 2012 Embedded Systems
Committee
1-RAM:
RAM contents
Divided virtually to:
1. General purpose registers for CPU acts as
accumulators
2. Peripherals control special registers
3. Data RAM: all static variables in the program i.e.
each variable has a static address and its last value
lasts until microcontroller power off.
4. Stack
Copyright © 2012 Embedded Systems
Committee
2-ROM
 Permanent memory (Non-Volatile)
 Written upon programming the microcontroller
 Can’t be written/modified at run time

Copyright © 2012 Embedded Systems
Committee
2-ROM
ROM types
• OTP:
– one time programming ROM
– used in products
• Mask ROM:
– Programmed upon microcontroller production
• Flash ROM:
– Program electrically many times
– Used during development time
– Currently used in products to be updatable
Copyright © 2012 Embedded Systems
Committee
2-ROM
ROM contents:
I. Program code
II. Constant data
– Handled through const keyword in C.

Copyright © 2012 Embedded Systems
Committee
EEPROM/FLASH








Electrically erasable programmable Read only Memory
Acts as peripheral of microcontroller
Accessed through special registers
Could write/modify Data during Run time
Take more time in read/write access than RAM
keep data even the microcontroller is powered off
the FLASH memory is a variation of EEPROM, which
allows for block-level (e.g., 512-byte) programmability
that is much faster than EEPROM.
Copyright © 2012 Embedded Systems
Committee
Memory Mapping

Copyright © 2012 Embedded Systems
Committee
Trade off between HW and SW
For a certain application
 Which functional blocks should be performed in Hardware??
 Which functional blocks should be performed in software??

Copyright © 2012 Embedded Systems
Committee
Software characteristics
 Highly configurable
 Shorter development cycle
 Easier in versions updates
 Cheaper
 Constrained with processor speed which may satisfy real

time application and may not

Copyright © 2012 Embedded Systems
Committee
Hardware characteristics
 Longer development cycle
 Customized for specific application
 Better performance in high speed real time application

Copyright © 2012 Embedded Systems
Committee
SYSTEM ON BOARD
Board

Copyright © 2012 Embedded Systems
Committee
SYSTEM ON CHIP
Keyboard
controller

LCD
controller

USB interface

CPU

Memories

Customized
hardware

ASIC Chip

Copyright © 2012 Embedded Systems
Committee
HW / SW Partitioning
• In complicated systems functional blocks could be:

 Level 1: External discrete hardware component on board.
 Level 2: Hardware integrated with CPU on chip (SoC).
 Level 3: Done by software running on CPU.

Copyright © 2012 Embedded Systems
Committee
“Those systems in which the correctness of the system
depends not only on the logical result of the computation, but
also on the time at which the results are produced”
Real Time Systems are a very fast systems?
Real-time means completing tasks within specified deadlines,
it is not defined or limited by a specific execution speed.

Copyright © 2012 Embedded Systems
Committee
Copyright © 2012 Embedded Systems
Committee
System Development Cycle
1. System Specification Analysis
2. System Design
3. Development

 Hardware Development
 Software Development
4. System Integration

5. System Validation

Copyright © 2012 Embedded Systems
Committee
Software Development Cycle
1-Software Specification
2-Software Design
3-Coding / Testing

4-Software Integration
5-Software Validation

Copyright © 2012 Embedded Systems
Committee
1- Assembly
a-Lowest level human readable
b-Platform specific.
c-Assembly has one-to-one corresponding machine language
d-Using compiler to convert High Level language to Assembly

2-C Language

Copyright © 2012 Embedded Systems
Committee
Copyright © 2012 Embedded Systems
Committee
References

• ESC Training Team

Copyright © 2012 Embedded Systems
Committee
info@escommittee.net

Copyright © 2012 Embedded Systems
Committee

Day1

  • 1.
    Introduction To ES Mohamed Abd Elhay Copyright© 2012 Embedded Systems Committee
  • 2.
    Copyright © 2012Embedded Systems Committee
  • 3.
    Copyright © 2012Embedded Systems Committee
  • 4.
    Copyright © 2012Embedded Systems Committee
  • 5.
     Embedded Systems Embedded Systems Applications  Embedded Systems Types  Memories  Embedded system developing  Embedded Systems Market in Egypt Copyright © 2012 Embedded Systems Committee
  • 6.
    Copyright © 2012Embedded Systems Committee
  • 7.
    •Embedded system isa special purpose system designed to perform one or a few dedicated functions. • Embedded systems are computing systems with tightly coupled hardware and software integration. Copyright © 2012 Embedded Systems Committee
  • 8.
    The Word “Embedded”reflects the fact that these systems are usually an integral part of a larger system, known as the embedding system. “A computer built into a system and not seen by the user as being a computer” It is usually Embedded as a part of a complete device including hardware and mechanical parts. Copyright © 2012 Embedded Systems Committee
  • 9.
    Can Personal Computerbe considered as an Embedded System as it integrates hardware and software to perform functions? Why? NO PC cannot be considered as an embedded system because 1. It uses a General-Purpose Processor 2. The system is built independently from the software runs on it. Else ATM machine Copyright © 2012 Embedded Systems Committee
  • 10.
    Communication: Mobile Handsets Switches andRouters Image processing and Consumers: Cameras Mp3 and Mp4 players PlayStation Automotive: Engine Management System Claimant Control System Appliances: Microwave Washing Machines Copyright © 2012 Embedded Systems Committee
  • 11.
    1) Microprocessors. 2) Microcontrollers. 3)DSPs. Copyright © 2012 Embedded Systems Committee
  • 12.
    1-Microprocessor: • CPU =ALU + Registers + Control unit • Microprocessor function is to fetch the instructions from the memory then decode and execute them. • Microprocessor alone is useless Copyright © 2012 Embedded Systems Committee
  • 13.
    1-Microprocessor: a-General Purpose Processors            32or 64-bit data path Central processing engine of a mainframe, workstation, PC, PDA X86, PowerPC, SPARC, Pentium Complex in design because these processors provide a full scale of features and a wide spectrum of functionalities Modern processors have: a built-in memory management unit (MMU) to provide memory protection and virtual memory for multitasking-capable. General-purpose operating systems. Have advanced cache logic. Built-in math co-processor capable of performing fast floating-point operations. Interfaces to support a variety of external peripheral devices. These processors result in large power consumption, heat production, and size Copyright © 2012 Embedded Systems Committee
  • 14.
    1-Microprocessor: b-Embedded general purposeProcessors  Designed for a wide range of application (consumer and communication)  8/16 or 32-bit data path  Limited functionality depends on the application  Scaled-down versions of existing computational micros  Reaches around 200 MHz  Usually integrated into larger dedicated systems in a SoC (System on Chip), also called core-based ASIC  Examples: ARM, PowerPC, MIPS, 68K, x86  ARM has seized the lion’s share of the market Copyright © 2012 Embedded Systems Committee
  • 15.
    2-Microcontroller: • Microcontrollers are oftenreferred to as single chip devices or single chip computers in a small size that its resources are far more limited than those of a desktop personal computer. • Microcontroller = CPU + Memory + Peripherals •The workhorse of industrial electronics. •Designed for standalone operation. •Include processing unit 8-bit, 16-bit, 32-bit. Copyright © 2012 Embedded Systems Committee
  • 16.
    2-Microcontroller: Microcontroller Main Components Microcontrollerhas eight main components: 1. Central processing unit (CPU) 2. ROM 3. RAM 4. Input and Output (GPIO or DIO) 5. Timer 6. Interrupt circuitry 7. Buses 8. Watchdog Copyright © 2012 Embedded Systems Committee
  • 17.
    Copyright © 2012Embedded Systems Committee
  • 18.
    Processor Control UnitArchitecture: » Harvard Architecture: includes two memory units : ► An ►A instruction memory holds the program separate data memory is used for computations ► The advantage is that we can read an instruction and load or store data in the same clock cycle » Von Neumann Architecture: includes one memory unit : ►a single main memory that holds both program instructions and data Copyright © 2012 Embedded Systems Committee
  • 19.
    Instruction Set Architecture: RISC is short for “Reduced Instruction Set Computer”  RISC is a set of building concepts, that can be followed to optimize and simplify computer system design  CISC is short for “Complex Instruction Set Computer”  CISC is an old concepts that dates back when memory access was slow Copyright © 2012 Embedded Systems Committee
  • 20.
    Instruction Set Architecture: CISC aimed to integrate several functionalities in one instruction, in order to limit the program size, and thus limit memory access in order to gain some speed  RISC on the other hand, aims to optimize execution of instructions by limiting the capabilities of a single instruction, thus gaining speed from execution point of view  As memory technology developed more and more, memory access became faster, and the limitation of memory access diminished Copyright © 2012 Embedded Systems Committee
  • 21.
    3-Digital Signal Processors: •Like microcontrollers BUT Focus on very efficient execution of arithmetic operations. • DSP has : – specialized arithmetic units, – optimized design in the memory, – Addressing and bus architectures with multiprocessing capability that allow the DSP to perform complex calculations extremely fast in real time. • Used widely in digital signal processing in communications systems such as Cell phones and Image and video processing. • TI (Texas Instruments) has been the dominant player in the DSP market for several years. Copyright © 2012 Embedded Systems Committee
  • 22.
    Advanced Embedded System •Multi-core system on chip Like mobile handset which has one chip contains: 1. DSP processor 2. Embedded processors like ARM 3. Custom hardware for GSM 4. Custom peripherals for board interface (keyboard, touch screen, memory card interface) Copyright © 2012 Embedded Systems Committee
  • 23.
     RAM  ROM EEPROM/FLASH  Memory Mapping Copyright © 2012 Embedded Systems Committee
  • 24.
    1-RAM:  Random AccessMemory (RAM)  Also called Read/Write Memory, The term random access refers to the ability to access any memory cell directly. RAM is much faster than ROM  Volatile memory, requires external power to maintain memory content.  Used to store data as long as Microcontroller is powered and the program is running  Modifiable through program instructions  Addressable in instruction sets through different addressing Mode Copyright © 2012 Embedded Systems Committee
  • 25.
    1-RAM: RAM Types: 1. DynamicRAM (DRAM): DRAM is a RAM device that requires periodic refreshing to retain its content. 2. Static RAM (SRAM): SRAM is a RAM device that retains its content as long as power is supplied by an external power source. SRAM does not require periodic refreshing and it is faster than DRAM. 3. Non-Volatile RAM (NVRAM) • NVRAM is a special type of SRAM that has backup battery power so it can retain its content after the main system power is shut off. • Another variation of NVARM combines SRAM and EEPROM so that its content is written into the EEPROM when power is shut off and is read back from the EEPROM when power is restored. Copyright © 2012 Embedded Systems Committee
  • 26.
    1-RAM: RAM contents Divided virtuallyto: 1. General purpose registers for CPU acts as accumulators 2. Peripherals control special registers 3. Data RAM: all static variables in the program i.e. each variable has a static address and its last value lasts until microcontroller power off. 4. Stack Copyright © 2012 Embedded Systems Committee
  • 27.
    2-ROM  Permanent memory(Non-Volatile)  Written upon programming the microcontroller  Can’t be written/modified at run time Copyright © 2012 Embedded Systems Committee
  • 28.
    2-ROM ROM types • OTP: –one time programming ROM – used in products • Mask ROM: – Programmed upon microcontroller production • Flash ROM: – Program electrically many times – Used during development time – Currently used in products to be updatable Copyright © 2012 Embedded Systems Committee
  • 29.
    2-ROM ROM contents: I. Programcode II. Constant data – Handled through const keyword in C. Copyright © 2012 Embedded Systems Committee
  • 30.
    EEPROM/FLASH        Electrically erasable programmableRead only Memory Acts as peripheral of microcontroller Accessed through special registers Could write/modify Data during Run time Take more time in read/write access than RAM keep data even the microcontroller is powered off the FLASH memory is a variation of EEPROM, which allows for block-level (e.g., 512-byte) programmability that is much faster than EEPROM. Copyright © 2012 Embedded Systems Committee
  • 31.
    Memory Mapping Copyright ©2012 Embedded Systems Committee
  • 32.
    Trade off betweenHW and SW For a certain application  Which functional blocks should be performed in Hardware??  Which functional blocks should be performed in software?? Copyright © 2012 Embedded Systems Committee
  • 33.
    Software characteristics  Highlyconfigurable  Shorter development cycle  Easier in versions updates  Cheaper  Constrained with processor speed which may satisfy real time application and may not Copyright © 2012 Embedded Systems Committee
  • 34.
    Hardware characteristics  Longerdevelopment cycle  Customized for specific application  Better performance in high speed real time application Copyright © 2012 Embedded Systems Committee
  • 35.
    SYSTEM ON BOARD Board Copyright© 2012 Embedded Systems Committee
  • 36.
    SYSTEM ON CHIP Keyboard controller LCD controller USBinterface CPU Memories Customized hardware ASIC Chip Copyright © 2012 Embedded Systems Committee
  • 37.
    HW / SWPartitioning • In complicated systems functional blocks could be:  Level 1: External discrete hardware component on board.  Level 2: Hardware integrated with CPU on chip (SoC).  Level 3: Done by software running on CPU. Copyright © 2012 Embedded Systems Committee
  • 38.
    “Those systems inwhich the correctness of the system depends not only on the logical result of the computation, but also on the time at which the results are produced” Real Time Systems are a very fast systems? Real-time means completing tasks within specified deadlines, it is not defined or limited by a specific execution speed. Copyright © 2012 Embedded Systems Committee
  • 39.
    Copyright © 2012Embedded Systems Committee
  • 40.
    System Development Cycle 1.System Specification Analysis 2. System Design 3. Development  Hardware Development  Software Development 4. System Integration 5. System Validation Copyright © 2012 Embedded Systems Committee
  • 41.
    Software Development Cycle 1-SoftwareSpecification 2-Software Design 3-Coding / Testing 4-Software Integration 5-Software Validation Copyright © 2012 Embedded Systems Committee
  • 42.
    1- Assembly a-Lowest levelhuman readable b-Platform specific. c-Assembly has one-to-one corresponding machine language d-Using compiler to convert High Level language to Assembly 2-C Language Copyright © 2012 Embedded Systems Committee
  • 43.
    Copyright © 2012Embedded Systems Committee
  • 44.
    References • ESC TrainingTeam Copyright © 2012 Embedded Systems Committee
  • 45.
    info@escommittee.net Copyright © 2012Embedded Systems Committee