Embedded System Design And History - PowerPoint PPT Presentation

1 / 99
About This Presentation
Title:

Embedded System Design And History

Description:

Embedded System Design And History ARM history ARM0: Acorn Computers Ltd used 6502 (which powered Apple-II then) to design BBC Micro computer. – PowerPoint PPT presentation

Number of Views:1822
Avg rating:3.0/5.0
Slides: 100
Provided by: Aqua2
Category:

less

Transcript and Presenter's Notes

Title: Embedded System Design And History


1
Embedded System Design And History
2
Outline
  • Introduction
  • History
  • Embedded System Design
  • Embedded Microprocessor
  • Embedded Operating System
  • Embedded Linux Distributions
  • Embedded Application

3
What is Embedded System?
  • An embedded system is a special-purpose system in
    which the computer is completely encapsulated by
    the device it controls.
  • An embedded system performs pre-defined tasks,
    usually with very specific requirements.
  • Mobile phones, MP3 Players, Digital Cameras are
    very common embedded systems in our life.

4
What is Embedded System?
  • Since the system is dedicated to a specific task,
    design engineers can optimize it and reduce the
    size and cost of the product.
  • Power Constrain, Performance requirements.
  • Embedded systems are often mass-produced, so the
    cost savings may be multiplied by millions of
    items.

5
Outline
  • Introduction
  • History
  • Embedded System Design
  • Embedded Microprocessor
  • Embedded Operating System
  • Embedded Linux Distributions
  • Embedded Application

6
History
  • Apollo Guidance Computer (AGC), 1963 1
  • The first recognizably modern embedded system.
  • Developed by Charles Stark Draper at the MIT
    Instrumentation Laboratory .
  • Used in real-time by astronaut pilots to collect
    and provide flight information.
  • Automatically control all of the navigational
    functions of the Apollo spacecraft.
  • The Apollo flight computer was the first to use
    integrated circuits (ICs).
  • The computer's RAM was magnetic core memory (4K
    words) and ROM was implemented as core rope
    memory (32K words).

Source The Computer History Museum
7
History
  • D-17 Guidance Computer, 1961 1966 1
  • The first mass-produced embedded system developed
    for Minuteman missile.
  • Built from discrete transistor logic and had a
    hard disk for main memory.
  • When the Minuteman II went into production in
    1966, the D-17 was replaced with a new computer
    that was the first high-volume use of integrated
    circuits.
  • This program alone reduced prices on quad NAND
    gate ICs from 1000/each to 3/each, permitting
    their use in commercial products.

8
History
  • Intel 4004, 1
  • The first microprocessor.
  • Which found its way into calculators and other
    small systems.
  • Required external memory and support chips.
  • 8-bit Microprocessor, 1971-1974
  • 8008, 8080, 8085, 6800, 6502, Z-80, Ti, NS
  • Hundred if not thousand vendors rushed into this
    market.
  • The 6502 was used by Apple Co. to design
    Apple-II, which sparked the Personal computer era.

9
History
  • 16-bit CPU
  • 8088, 8086, 80286 Z-800. 68000
  • About 20 companies had released their products.
  • Why did the 16-bit CPU not make any significant
    impact in the market?
  • IBM PC Era began from 1979
  • 8088 was used in PC and PC/XT, 80286 was used in
    the PC/AT.
  • This adoption of Intel CPU plus the OS supplied
    by Microsoft created two biggest PC Giants
    (Monsters) rule the world up to this day.
  • 80286 is used in IBM PS/2 personal computer
    system .
  • M intentional persuaded the IBM to use assembly
    to implement the OS/2 so that caused a long delay
    of the OS/2-286 release. During that time, Bill
    Gate secretly develops the Windows to emulate the
    Macs OS.
  • Single chip microcontroller (8051 MCU) series
    which was developed by Intel in 1980 for use in
    embedded systems .

10
History
  • 32-bit CPU
  • 68020, 80386, NS32032, Z8000, Japan TRON CPU .
  • Only a handful manufacturer would be able to
    reach the 32-bit CPU market. Why ?
  • The era of the RISC
  • the era RISC Reduced Instruction Set Computer
    comes. (RISC vs. CISC) But the battle turned out
    to be the CISC(x86)'s big victory.
  • The code density for RISC is poor compared to the
    CISC.
  • The large installed X86 PC software base is a
    big hurdle to the RISC machines to overcome.

11
History
  • Simple history of RISC
  • Even the RISC idea (around 1980) was rebutted by
    the computer architects during its early
    development.
  • For at that time, most computer architects tried
    to enhance the performance of CPU by adding more
    complex instructions .
  • RISC is simply against the intuition. Why RISC
    prevails?
  • X86 vs. RISC ... This is a big question!

12
History
  • Notable RISC CPUs
  • MIPS, PPC, M88000, PA-RISC, DEC-Alpha, Clipper,
    ARM
  • Architecture Design
  • Instruction, Register set, memory model,
    pipelined architecture, Superscalar, simultaneous
    multithreading, multi-core.
  • Does RISC really reduce the instruction set?
  • So what is the key to the 32-bit RISC? A Big
    design Team is needed.

13
History
  • Architecture is far too complex for a small
    company to handle. Compiler tool chain support,
    OS, middle ware, development kit...
  • (FPAG CPUgt NIOS-II, Microblaze, ARM and PPC,
    from Altera, Xilinx...)
  • Their costs range from USD3-4 to 30-40 or more.
    Power problem... The X86 CPU reached 4 GHz around
    2001. But no fast CPU was made to the market.

14
History
  • RISC vs X86
  • In the performance with application base game,
    the RICS failed miserably to the Intels X86
    architecture.
  • So the RISC company had to find the alternative
    market and focused on the embedded system.
  • The tide has been changing now, the RISC power
    player ARM strikes back. In low-power application
    the X86 is no match to the ARM.

15
ARM history
  • ARM0 Acorn Computers Ltd used 6502 (which
    powered Apple-II then) to design BBC Micro
    computer.
  • ARM1 ARM 2 (Inspired by Berkley RISC project)
  • The official Acorn RISC Machine project started
    in October 1983.
  • VLSI Technology, Inc was chosen as silicon
    partner.
  • VLSI produced the first ARM silicon on 26 April
    1985 it worked the first time and came to be
    termed ARM1 by April 1985.
  • The first "real" production systems named ARM2
    were available the following year.

16
ARM History
  • ARM Family ARM Architecture ARM Core Feature
    Cache (I/D), MMU Typical MIPS _at_ MHz
  • ARM1 ARMv1 ARM1 First implementation None
  • ARM2 ARMv2 ARM2 ARMv2 added the MUL (multiply)
    instruction None 4 MIPS _at_ 8 MHz
  • 0.33 DMIPS/MHz
  • ARMv2a ARM250 Integrated MEMC (MMU), Graphics
    and IO processor. ARMv2a added the SWP and SWPB
    (swap) instructions. None, MEMC1a 7 MIPS _at_ 12
    MHz
  • ARM3 ARMv2a ARM3 First integrated memory
    cache. 4 KB unified 12 MIPS _at_ 25 MHz
  • 0.50 DMIPS/MHz
  • ARM6 ARMv3 ARM60 ARMv3 first to support 32-bit
    memory address space (previously 26-bit) None
    10 MIPS _at_ 12 MHz
  • ARM7TDMI ARMv4T ARM7TDMI(-S) 3-stage pipeline,
    Thumb none 15 MIPS _at_ 16.8 MHz
  • 63 DMIPS _at_ 70 MHz
  • ARM9TDMI ARMv4T ARM9TDMI 5-stage pipeline,
    Thumb none

17
ARM Key Architecture
  • The ARM architecture includes the following RISC
    features
  • Load/store architecture.
  • No support for misaligned memory accesses (now
    supported in ARMv6 cores, with some exceptions
    related to load/store multiple word
    instructions).
  • Uniform 16 32-bit register file.
  • Fixed instruction width of 32 bits to ease
    decoding and pipelining, at the cost of decreased
    code density. Later, the Thumb instruction set
    increased code density. Now Thumb-2 ISA
  • Mostly single-cycle execution.

18
ARM architecture
  • To compensate for the simpler design, compared
    with contemporary processors like the Intel 80286
    and Motorola 68020, some additional design
    features were used
  • Conditional execution of most instructions,
    reducing branch overhead and compensating for the
    lack of a branch predictor.
  • Arithmetic instructions alter condition codes
    only when desired.
  • 32-bit barrel shifter which can be used without
    performance penalty with most arithmetic
    instructions and address calculations.
  • Powerful indexed addressing modes.
  • A link register for fast leaf function calls.
  • Simple, but fast, 2-priority-level interrupt
    subsystem with banked register banks.

19
  • ARM Cortex
  • Application Profile-A8, A9, A15, A7
  • Real-time Profile Cortex-R4
  • MCU profile M3, M4 (Low power of M NXP's
    Cortext-M3 0.05mW/MHz, M4 0.06mW/Mhz. NXP-LPC430
    gt M0 M4 running at 150MHz consumes only 9mW)

20
A glance of Cortex A8
  • Key features of the Cortex-A8 core are
  • Frequency from 600 MHz to 1 GHz and above
  • Superscalar dual-issue microarchitecture
    13-stage superscalar pipeline
  • NEON SIMD instruction set extension
    (optional)
  • VFPv3 Floating Point Unit (optional)
  • Thumb-2 instruction set encoding
  • Jazelle RCT
  • Advanced branch prediction unit with gt95
    accuracy
  • Integrated level 2 Cache (0-4 MB)
  • 2.0 DMIPS / MHz

21
  • VFP and (for floating point)
  • NEON (SIMD) Instruction Set. (For Multimedia
    applications)

22
  • Amazon Kindle FreeScale i.MX508, Cortex-A8
  • Xilinx's Zynq Dual core A9 MPcore(hard core
    CPU) FPGA (235K--30K Logic cells), USB, Gbps
    ethernet, 10.315 Gbps serial

23
ARM Entering the Server Market
  • SAN JOSE, Calif. -- Startup Calxeda (Austin) has
    released a few details about its unannounced
    ARM-based processor aimed at low power servers.
  • Calxeda's initial reference design will be based
    on a quad-core Cortex A9 SoC that consumes 5W
    including associated DRAM. The chip includes a
    fabric that acts as an interconnect to other
    processors, enabling OEMs to pack as many as 120
    SoCs in a 2U-sized chassis.
  • (Rackmount 19 inches wide 1U 1.75 inches)

24
ARM Entering the Server Market
  • SAN JOSE, Calif. Marvell will try to thrust ARM
    into servers and networking gear with a 1.6 GHz
    quad-core Cortex A9 chip debuting at the ARM
    Technology Conference. The Armada XP aims at a
    broad range of systems from low power Web servers
    for business to network-attached storage and
    media servers for the digital home.
  • The Armada XP delivers up to 16,600 Dhrystone
    MIPS at 10W. It includes up to 2 Mbytes L2 cache
    and supports a 64-bit interface to DDR2/3 memory
    running at up to 800 MHz.

25
Outline
  • Introduction
  • History
  • Embedded System Design
  • Embedded Microprocessor
  • Embedded Operating System
  • Embedded Linux Distributions
  • Embedded Application

26
Embedded System Design
  • Components of embedded system
  • Hardware
  • Processor, memory, ASIC, controllers,
    peripherals
  • Firmware/software
  • Boot loader, embedded OS, device drivers,
    applications
  • Design and Development Skills
  • HDL Verilog, VHDL
  • I/O, analog and digital interfacing, peripherals
  • Development kits Compiler, linker
  • Firmware design Assembly and Low-level C
    language
  • Device driver design
  • Embedded operating system design or porting
  • System programming System calls, IPC, Socket
  • Application software design JAVA, C

27
Embedded System Design
  • Example Digital camera hardware block diagram

Processor Core
DSP
LCD Controller
Image De/Encoder
SPI
Memory Interface
PIO Interface
USB Controller
ADC
SDRAM
SRAM
Flash
RTC
SoC
28
Embedded System Design
  • Example Digital camera firmware/software

Image Capturer
Image Processing
System Configure
File Manager
GUI
Several Tasks
Embedded OS
Device drivers LCD, Sensor, SD Card
Low level initializing code (Boot loader)
29
Embedded System Design Issues
  • Cost and Performance
  • Lowering the cost affects the speed of embedded
    system.
  • Most often speed issue doesnt matter and one
    achieves the task at lower cost.
  • Simplifying the hardware allows cost reduction.
  • Specifications and User Constraints
  • Specifications define that what task is to be
    achieved.
  • The constraints help the designer to select
    appropriate hardware and software setup to
    develop an embedded system.

The selection of an embedded system depends upon
the requirement specifications.
30
Embedded System Design Issues
  • Selection of hardware and software of an embedded
    system
  • CPU Architecture
  • ARM or MIPS or ?
  • Storage Size and Speed
  • SDRAM or DDR ?
  • RAM, ROM, Flash memory size ?
  • Interfaces
  • PIO or RS232 or ?
  • Touch screen or keypad ?
  • Development kits
  • GNU tools or others ?
  • Embedded OS
  • Real-time or not?
  • Kernel size ?
  • Multi-task supported ?
  • Easy to port ?
  • Embedded Applications
  • Implement with C, C or JAVA ?
  • GUI Microwindows or MiniGUI or ?

31
Embedded Hardware Design
  • Hardware Design Technology
  • System on a Chip (SoC)
  • Integrating all components of a computer or other
    electronic system into a single chip.
  • System on a Programmable Chip (SoPC)
  • SoPC is a family of mixed-signal arrays made by
    Cypress Semiconductor, featuring a
    microcontroller and integrated analog and digital
    peripherals.

32
Embedded Hardware Design
Figure SoC Design Flow (Top-half) Source
Wikipedia, the free encyclopedia 1
33
Embedded Hardware Design
Figure SoC Design Flow (Bottom-half) Source
Wikipedia, the free encyclopedia 1
34
Embedded Hardware Design
  • Hardware Description Language (HDL)
  • VHDL and Verilog
  • The two most widely-used and well-supported HDL
    varieties used in industry.
  • Others include
  • ABEL (Advanced Boolean Expression Language)
  • AHDL (Altera HDL, a proprietary language from
    Altera)
  • JHDL (based on Java)
  • Lava (based on Haskell)
  • MyHDL (based on Python)
  • PALASM
  • RHDL (based on Ruby)

35
Embedded Hardware Design
  • Design, Synthesis Tools
  • Altera
  • Max-plus II, Quartus II, SoPC Builder
  • Xilinx
  • ISE
  • Synplicity
  • Synplify
  • Simulation Tools
  • Model Technology
  • ModelSim

36
Embedded Software Design
  • Software Architecture Definition
  • This is the first stage of embedded software
    design.
  • Here the software team understands the system
    that is being designed.
  • The team also reviews at the proposed hardware
    architecture and develops a very basic software
    architecture.
  • This architecture definition will be further
    refined in co-design.
  • The complexity of embedded software depends on
    the application of your system.

37
Embedded Software Design
  • Common types of embedded software
  • Single-tasking or multi-tasking
  • Only one task needs to be performed at one period
    of time ? Single-tasking
  • Several tasks need to be performed at one period
    of time ? Multi-tasking

A finished
B finished
Task A
Task B
time
A finished
Task A
Task A
C finished
B finished
Task B
Task B
Task C
Task C
time
38
Embedded Software Design
  • Single-tasking example
  • ATM
  • Multi-tasking example
  • Multimedia phone

Withdraw money
Transfer accounts
Show account info
time
Play MP3

JAVA Game
time
39
Embedded Software Design
  • Non-real-time system or real-time system
  • Non-real-time system
  • A non-real-time system is one for which there is
    no deadline, even if fast response or high
    performance is desired or even preferred.
  • Real-time system
  • Hardware and software systems which are subject
    to a "real-time constraint" i.e. operational
    deadlines from event to system response.
  • A real-time system may be one where its
    application can be considered (within context) to
    be mission critical.

40
Embedded Software Design
  • Real-time system example
  • Anti-lock Brakes System (ABS)
  • A system on motor vehicles which prevents the
    wheels from locking while braking.
  • Real-time constraint
  • The short time in which the brakes must be
    released to prevent the wheel from locking.
  • Real-time computations are not completed in the
    time-period after the event before the deadline
    relative to the event ? have failed.

41
Embedded Software Design
  • Hard and Soft real-time system
  • Hard real-time system
  • The correctness of an operation depends not only
    upon the logical correctness of the operation but
    also upon the time at which it is performed.
  • Hard real-time systems are typically found
    interacting at a low level with physical
    hardware, in embedded systems.
  • Example Car Engine Control System
  • A delayed signal may cause engine failure or
    damage.
  • Other examples
  • Nuclear power stations
  • Car airbags

42
Embedded Software Design
  • Soft real-time system
  • Soft real-time systems are typically those used
    where there is some issue of concurrent access
    and the need to keep a number of connected
    systems up to date with changing situations.
  • Example1 The flight plans management system
  • The software that maintains and updates the
    flight plans for commercial airliners.
  • These can operate to a latency of seconds.
  • Example2 Live audio-video systems
  • Violation of constraints results in degraded
    quality, but the system can continue to operate.

43
Embedded Software Design
  • It is important to note that
  • Hard versus soft real-time does not necessarily
    relate to the length of time available.
  • A processor does not turn on cooling within 15
    minutes ? machine may overheat (hard real-time).
  • A network interface card is not read within a
    fraction of a second ? may lose buffered data
    but the data can be resent over the network if
    needed (soft real-time).
  • Real-time ? high performance
  • For Anti-lock Brakes System
  • Has been designed to meet its required deadlines.
  • No further performance gains are necessary.

44
Embedded Software Design
  • Development Kits
  • GNU Tools
  • Free software, easy to get for developing.(Free
    as in Freedom)
  • Abundant in documents, manuals and lots of
    developing societies, easy to learn.
  • Fully support the GNU-based software such as
    Linux, Linux-based software, simplify the porting
    process.
  • Multiple platform supported, such as x86, ARM,
    MIPS, NIOS, PowerPC
  • Operate in command line mode.
  • Basic tools
  • C/C Compiler gcc, g
  • Assembler as
  • Linker ld
  • Debugger gdb
  • Others objcopy, objdump, nm, ar, strip, ranlib

45
Embedded Software Design
  • Integrated Development Environment (By ARMs
    example)
  • ARM Software Development Tools (ARM SDT)
  • Provided by ARM company.
  • Basic tools
  • C/C/THUMB Compiler armcc, tcc
  • Assembler armasm
  • Linker armlink
  • Debugger armsd
  • ADS is the newer version of SDT.
  • ARM Developer Suite (ADS) 2
  • An Integrated Development Environment for
    Windows, Linux and Solaris.
  • GUI development environment and debugger.
  • Support for families of processors
    including ARM7, ARM9, ARM9E, ARM10, StrongARM and
    Intel XScale.
  • Real-time Debug and Trace support.
  • On-line documentation.

46
Embedded Software Design
  • Software Porting
  • Porting is often a necessary process of designing
    a complex embedded system.
  • What kind of software can we port from existing
    software ?
  • Boot loader ? U-Boot, LILO
  • Embedded OS ? uClinux, uCOS-II
  • Applications ? mplayer, microwindows
  • Software selection issues for porting
  • Software complexity ?
  • Software is well-ported ?
  • What is the development tool that the software
    based on ?

47
Embedded Software Design
  • Example U-Boot (The Universal Boot Loader)
  • A GPL'ed cross-platform boot loader shepherded by
    project leader Wolfgang Denk.
  • Supports for hundreds of embedded boards and a
    wide variety of CPUs including PowerPC, ARM,
    MIPS, NIOS, and x86 ...etc.
  • Easily configure to strike the right balance
    between a rich feature set and a small binary
    footprint.
  • Allowing you to focus on the core of your
    embedded application.
  • Can easily add support for new hardware or add a
    special feature in U-Boot.

48
Hardware/Software Co-Design 3
  • Current methods for designing embedded systems
    require to specify and design hardware and
    software separately.
  • Designers often strive to make everything fit in
    software, and off-load only some parts of the
    design to hardware to meet timing constraints.
  • The problems with these design methods are
  • Lack of a unified hardware-software
    representation
  • Leads to difficulties in verifying the entire
    system.
  • A priori definition of partitions
  • Leads to sub-optimal designs.
  • Lack of a well-defined design flow
  • Makes specification revision difficult, and
    directly impacts time-to-market.

49
Hardware/Software Co-Design
  • Hardware/Software co-design can be defined as the
    cooperative design of hardware and software.
  • Co-design research deals with the problem of
    designing heterogeneous systems.
  • One of the goals of co-design is to shorten the
    time-to-market while reducing the design effort
    and costs of the designed products.

50
Hardware/Software Co-Design
Figure The design flow of the general
co-design Source 4
51
Outline
  • Introduction
  • History
  • Embedded System Design
  • Embedded Microprocessor
  • Embedded Operating System
  • Embedded Linux Distributions
  • Embedded Application

52
Embedded Microprocessor
  • The evolution of microprocessors has been known
    to follow Moore's Law when it comes to steadily
    increasing performance over the years.

Moores Law 1 This law suggests that the
complexity of an integrated circuit, with
respect to minimum component cost, doubles
every 24 months.
53
Embedded Microprocessor
Figure Moores Law Source 1
54
Embedded Microprocessor
  • There are many different CPU architectures used
    in embedded designs such as ARM, MIPS,
    Coldfire/68k, PowerPC, X86, PIC, 8051, Atmel AVR
    etc.
  • For more complex applications, 8/16-bit
    microprocessors are no longer suitable for the
    system because of the requirements of performance
    and functionalities.

55
Embedded Microprocessor
  • RISC (Reduced Instruction Set Computer)
  • In the mid-1980s to early-1990s, a crop of new
    high-performance RISC microprocessors appeared.
  • Some companies have attacked niches in the
    market, notably ARM, originally intended for home
    computer use but since focused at the embedded
    processor market.
  • Today RISC designs based on the MIPS, ARM or
    PowerPC core power the vast majority of computing
    devices.

56
Embedded Microprocessor
  • ARM (Advanced RISC Machine)
  • A 32-bit RISC processor architecture that is
    widely used in a number of embedded designs.
  • The ARM family accounts for over 75 of all
    32-bit embedded CPUs.
  • Can be found in all corners of consumer
    electronics from portable devices (PDAs, Mobile
    phones) to computer peripherals (Hard drives,
    desktop routers).

57
Embedded Microprocessor
  • ARM7 Cortex Cores 1

58
Embedded Microprocessor
  • The ARM architecture includes the following RISC
    features
  • Load/store architecture.
  • No support for misaligned memory accesses (now
    supported in v6 Arm cores).
  • Orthogonal instruction set.
  • Large 16 32-bit register file.
  • Fixed opcode width of 32 bits to ease decoding
    and pipelining, at the cost of decreased code
    density.
  • Mostly single-cycle execution.

59
Embedded Microprocessor
  • Power consumption
  • CPU Power W Clock
    /MHz
  • ARM7TDMI lt 0.25 60
    -110
  • ARM7TDMI-S lt 0.4
    gt50
  • ARM9TDMI 0.3
    167 - 220
  • ARM1020E 0.85 200
    - 400
  • IXP (XScale) 1.2
    533
  • Inter 486 cpu 10
    50
  • CortexA9Singlecore 0.4
    830
  • CortexA9Dualcore 1.90.5
    2000-800

60
Embedded Microprocessor
  • MIPS (Microprocessor without Interlocked Pipeline
    Stages)
  • A RISC microprocessor architecture developed by
    MIPS Technologies.
  • MIPS designs are used in
  • SGIs computer product line
  • Windows CE devices
  • Cisco routers
  • Video game consoles (Nintendo 64, Sony PS, PS2
    and PS Portable)
  • Many embedded systems

61
Embedded Microprocessor
  • MIPS CPU Family 1

62
Embedded Microprocessor
  • PowerPC
  • A RISC microprocessor architecture created by the
    1991 AppleIBMMotorola alliance, known as AIM.
  • Originally intended for personal computers,
    PowerPC CPUs have since become popular embedded
    and high-performance processors as well.

IBM PowerPC 601
IBM PowerPC 604e 200 MHz
63
Embedded Microprocessor
  • PowerPC design features
  • The PowerPC is designed along RISC principles,
    and allows for a superscalar implementation.
  • Versions of the design exist in both 32-bit and
    64-bit implementations.
  • Starting with the basic POWER specification, the
    PowerPC added support for operations in both
    big-endian and little-endian modes.

64
Embedded Microprocessor
  • Embedded PowerPC 1
  • IBM
  • 403 MMU added in most advanced version 403GCX
  • 405 MMU, Ethernet, serial, PCI, SRAM, SDRAM
  • 440xx 440EP, 440GP, 440GX
  • Motorola (now Freescale)
  • MPC860/8xx (PowerQUICC)networking telecomm
    card controllers
  • MPC5200/5200B (603e core)automotive
    industrial controllers
  • MPC8260/82xx (PowerQUICC II, a 603 core)
    networking telecomm system controllers with
    high-capacity on-chip switched bus

65
Embedded Microprocessor
  • Embedded processor preference trends 6

66
Outline
  • Introduction
  • History
  • Embedded System Design
  • Embedded Microprocessor
  • Embedded Operating System
  • Embedded Linux Distributions
  • Embedded Application

67
Embedded Operating System
  • Embedded operation systems
  • Symbian OS
  • Window CE
  • uC/OS-II
  • QNX
  • eCos
  • Android
  • Embedded Linux
  • Most of applications basing on Embedded Linux
    except special applications .

68
Embedded Operating System
  • Embedded Linux 1
  • Embedded Linux refers to the use of the Linux in
    embedded systems such as cell phones, PDA, media
    player handsets, and other consumer electronics
    devices.
  • Embedded Linux has these advantages compared to
    other embedded OS
  • Open source
  • Small footprint
  • No royalty costs
  • Mature and stable (over ten years of age and used
    in many devices)
  • Well supported

69
Embedded Operating System
  • Embedded Linux also provides the following
    supports besides multitasking, memory protection,
    IPC etc
  • File systems
  • Ext2, Ext3, JFFS, JFFS2, FAT, NTFS
  • Networking
  • TCP/IP, Bridging, Routing, WLAN, QoS
  • Device drivers
  • USB, IEEE1394, SCSI, PCI, Graphics
  • GUI
  • Microwindows, MiniGUI, Qt Embedded
  • etc

70
Embedded Operating System
  • Linux is a real-time system ?
  • The generic Linux 2.6 kernel is not yet a true
    real-time operating system.
  • Linux 2.6 is more responsive than 2.4
  • Linux 2.6 uses a preemptible kernel
  • The algorithm used for scheduling has been made
    more efficient in Linux 2.6
  • True real-time Linux
  • RTLinux, Montavista real-time solution

Comparison of real-time performance 8
71
Embedded Operating System
  • Embedded Linux devices
  • Mobile phones
  • Motorola A728, A760, E680i
  • Panasonic P901iTV, P902i
  • Samsung SGH-i858, SCH-i519
  • PDA, Handheld devices
  • Sharp SL-6000, SL-A300
  • Nokia 770 Internet Tablet
  • Compaq iPAQ
  • Audio/video entertainment devices
  • D-Link DSM-320
  • Haier/Freescale UWB media server
  • Motorola DCT5000 set-top box
  • etc

72
Embedded Operating System
  • Embedded systems survey Operating systems up for
    grabs. 9
  • Who influenced the choice of OS?

73
Embedded Operating System
  • What type of OS?

74
Embedded Operating System
  • Reasons for not choosing a commercial OS

75
Embedded Operating System
  • Commercial OS factors

76
Embedded Operating System
  • OS for next project

77
Embedded Operating System
  • Interest in Linux

78
Embedded Operating System
  • Reasons for considering Linux

79
Embedded Operating System
  • Reasons for not considering Linux

80
Embedded Operating System
  • Current commercial OS

81
Embedded Operating System
  • Commercial OS respondents would consider

82
Outline
  • Introduction
  • History
  • Embedded System Design
  • Embedded Microprocessor
  • Embedded Operating System
  • Embedded Linux Distributions
  • Embedded Application

83
Embedded Linux Distributions
  • Commercial Distributions 10
  • AMIRIX
  • Derived from standard, open source Debian
    GNU/Linux
  • Can be used in such things as Internet
    infrastructure, consumer devices, retail business
    products, and transportation systems.
  • Benefits
  • Fully optimized, tailored support
  • Truly embedded
  • Flash based, diskless operation
  • Headless support
  • Small footprint
  • Native and cross development host support
  • Comprehensive, user-friendly manual to get you up
    and running quickly

84
Embedded Linux Distributions
  • Lineo Embedix
  • Supports a wide range of CPUs with and without
    MMUs, including X86, PowerPC, ARM, MIPS, and
    more.
  • Ease your complete product development and
    release cycle, giving you the ability to spend
    your time on your product, not worrying about the
    OS.
  • Lineo Embedix provides
  • Very high performance hard real-time
  • Multi-processor (DSPs, 16 bit, 32 bit, and
    non-heterogeneous architectures) support
  • Native support for Legacy RTOS APIs
  • Smart Handheld Device solution stacks
  • Digital TV solution stacks (coming soon!)

85
Embedded Linux Distributions
  • LynuxWorks BlueCat
  • BlueCat Linux from LynuxWorks is an enhanced
    implementation of the Linux model, made viable
    for use in a wide range of embedded systems.
  • BlueCat Linux advantages
  • Single, accountable source for embedded
    Linux-inherently stable and supportable Linux
    environment.
  • Immediate productivity-includes powerful
    commercial-grade tools and support package for
    developing and deploying embedded Linux.
  • Unrivaled expertise-15 years of expertise in
    UNIX model-based embedded operating systems.

86
Embedded Linux Distributions
  • MontaVista Hard Hat Linux
  • MontaVista Linux is the leading embedded Linux
    development platform.
  • Designed for the scalability, dependability and
    performance required of well-designed embedded
    applications.
  • Supported platform x86/IA-32, PowerPC,
    StrongARM, XScale, MIPS, SH, ARM, and other
    microprocessor architectures.
  • Includes scaling and configuration tools
  • Let developers right size Linux kernel and
    filesystems to suit their memory footprint.
  • Includes support for various networking and
    routing protocols.

87
Embedded Linux Distributions
  • Red Hat Embedded Linux
  • Red Hat Embedded Linux Developer Suite
  • A collection of Tools and Runtime Technologies.
  • Enables the creation, deployment and testing of
    target software components for devices.
  • Accelerate development cycles and improve product
    quality.
  • Fine-grain configuration of operating system
    components ? RPM technology.
  • Stay flexible.
  • Red Hat has multiple service packages to choose
    from for the many stages of development.

88
Embedded Linux Distributions
  • Open Source Distributions 10
  • Embedded Debian
  • This project is to make Debian GNU/Linux a
    mainstream choice for embedded projects.
  • Embedded Debian tries to strip Debian down to be
    a much smaller system whilst keeping all the good
    things.
  • The 'embedded' hardware can be anything from a
    full-blown PC to a MMU-less thing with a few MB
    of RAM and flash.

89
Embedded Linux Distributions
  • PeeWeeLinux
  • A small Linux distribution aimed at embedded
    devices.
  • Main features
  • Ease of use
  • Menu driven development environment
  • Sources are available
  • Package maintenance using rpm
  • Ideal for embedded applications
  • Suitable for building single floppy systems
  • XFree86 support
  • Kernel supports USB, PCMCIA, and M-Systems
    Disk-On-Chip

90
Embedded Linux Distributions
  • uClinux
  • A derivative of Linux specifically for
    microprocessors which do NOT provide Memory
    Management Units (MMUs).
  • uClinux was first ported to the Motorola MC68328
    DragonBall Integrated Microprocessor.
  • Ported Microcontrollers and Microprocessors
  • Motorola DragonBall (M68EZ328), M68328, M68EN322,
    ColdFire, QUICC
  • ARM7TDMI
  • Atari 68k
  • Axis ETRAX
  • Altera NIOS/NIOS-II
  • and more all the time!

91
Embedded Linux Distributions
  • uClinux Features
  • Multitasking can be tricky ? non-MMU platform
  • Most of the source code for the kernel have been
    rewritten ? uClinux kernel is much smaller than
    the original Linux 2.0 kernel.
  • Retaining the main advantages of the Linux ?
    stability, superior network capability, and
    excellent file system support.
  • Key features
  • Common Linux API
  • uCkernel lt 512 KB
  • uCkernel tools lt 900 KB

92
Embedded Linux Distributions
  • ARM Linux
  • A port of the successful Linux Kernel to ARM
    processor based machines, lead mainly by Russell
    King.
  • ARM Linux is under almost constant development by
    various people and organizations around the
    world.
  • The ARM Linux kernel is being ported, or has been
    ported to more than 500 different machine
    variations.

93
Embedded Linux Distributions
  • Real-time Distributions 10
  • RTLinux
  • A "hard real-time" mini operating system.
  • Runs Linux as its lowest priority execution
    thread.
  • The Linux thread is made completely preemptible.
  • Real-time threads and interrupt handlers are
    never delayed by non-real-time operations.
  • The latest version of RTLinux supports user-level
    real-time programming.

94
Embedded Linux Distributions
  • RTAI (Real Time Application Interface)
  • A comprehensive Real Time Application Interface
    for Linux ? Not an operating system.
  • Usable both for uniprocessors (UP) and for
    symmetric multi processors (SMP).
  • Several architectures are supported
  • x86 (with and without FPU and TSC)
  • x86_64 (beta)
  • PowerPC (recovering)
  • ARM (StrongARM ARM7 clps711x-family, Cirrus
    Logic EP7xxx, CS89712, PXA25x)
  • RTAI is very much module oriented.
  • To use RTAI, you have to load the modules that
    implement whatever RTAI capabilities you need.

95
Outline
  • Introduction
  • History
  • Embedded System Design
  • Embedded Microprocessor
  • Embedded Operating System
  • Embedded Linux Distributions
  • Embedded Application

96
Embedded Application
  • OBS System
  • The Ocean Bottom Seismometer is a self contained
    data-acquisition system which free falls to the
    ocean floor and records seismic data generated by
    earthquakes .
  • Designed by Embedded System Lab.
  • Data acquisition and logging system
  • Time-base and GPS synchronization system
  • OBS release system
  • VHF and Flash light system

97
Embedded Application
  • SoPC based Automatic Vision Detection and
    Location
  • The system uses the FPGA board with SoPC as
    development platform to develop automatic
    detection and location system. The board can
    integrate video input and output, detection and
    location functions in a single FPGA chip.

98
References
  1. Wikipedia, the free encyclopedia
  2. ARM Developer Suite
  3. Hardware/Software Codesign Group
  4. Hardware/Software Codesign
  5. ??????,????????????
  6. LinuxDevices.com, Snapshot of the embedded Linux
    market -- May, 2006
  7. Micrium.com, uCOS-II
  8. LinuxDevices.com, Linux 2.6 A Breakthrough for
    Embedded Systems
  9. Embedded.com, Embedded systems survey Operating
    systems up for grabs
  10. LinuxDevices.com, Embedded Linux Distributions
    Quick Reference Guide
  11. Linux Journal, uClinux for Linux programmers
  12. Linux Device Driver, 3rd Edition, O'Reilly
  13. Embedded.com, Linux's Future in the Embedded
    Systems Market

99
Thank You!
Write a Comment
User Comments (0)
About PowerShow.com