Embedded System Design And History

Similar presentations


Presentation on theme: "Embedded System Design And History"— Presentation transcript:

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] 8-bit Microprocessor, 1971-1974
The first microprocessor. Which found its way into calculators and other small systems. Required external memory and support chips. 8-bit Microprocessor, 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, Z 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, 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 Mac’s OS. Single chip microcontroller (8051 MCU) series which was developed by Intel in 1980 for use in embedded systems .

10 History 32-bit CPU The era of the RISC
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 Architecture Design
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 + CPU==> NIOS-II, Microblaze, ARM and PPC, from Altera, Xilinx...) Their costs range from USD$3-4 to or more. Power problem... The X86 CPU reached 4 GHz around 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 Intel’s 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 MHz ARM1 ARMv1 ARM1 First implementation None ARM2 ARMv2 ARM2 ARMv2 added the MUL (multiply) instruction None 4 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 MHz ARM3 ARMv2a ARM3 First integrated memory cache. 4 KB unified MHz 0.50 DMIPS/MHz ARM6 ARMv3 ARM60 ARMv3 first to support 32-bit memory address space (previously 26-bit) None MHz ARM7TDMI ARMv4T ARM7TDMI(-S) 3-stage pipeline, Thumb none MHz 63 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 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 ==> 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 >95% 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, 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 USB Controller Memory Interface PIO Interface ADC RTC SRAM SDRAM Flash 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 doesn’t 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 ARM’s 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. Moore’s 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: Moore’s 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: < ARM7TDMI-S: < >50 ARM9TDMI: ARM1020E: ~ IXP (XScale): Inter 486 cpu: CortexA9Singlecore: CortexA9Dualcore: 1.9~

60 Embedded Microprocessor
MIPS (Microprocessor without Interlocked Pipeline Stages) A RISC microprocessor architecture developed by MIPS Technologies. MIPS designs are used in SGI’s 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 Apple–IBM–Motorola 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 < 512 KB uCkernel + tools < 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 Wikipedia, the free encyclopedia ARM Developer Suite
Hardware/Software Codesign Group Hardware/Software Codesign 電子工程專輯,關注嵌入式系統的發展動力 LinuxDevices.com, Snapshot of the embedded Linux market -- May, 2006 Micrium.com, uCOS-II LinuxDevices.com, Linux 2.6: A Breakthrough for Embedded Systems Embedded.com, Embedded systems survey: Operating systems up for grabs LinuxDevices.com, Embedded Linux Distributions Quick Reference Guide Linux Journal, uClinux for Linux programmers Linux Device Driver, 3rd Edition, O'Reilly Embedded.com, Linux's Future in the Embedded Systems Market

99 Thank You!


Download ppt "Embedded System Design And History"

Similar presentations


Ads by Google