Embedded System Design. Web Sites tem#Preemptive_taskshttp://en.wikipedia.org/wiki/Embedded_sys tem#Preemptive_tasks.

Slides:



Advertisements
Similar presentations
Embedded System Lab. What is an embedded systems? An embedded system is a computer system designed for specific control functions within a larger system,
Advertisements

CHAPTER 1 THE 8051 MICROCONTROLLERS. Microcontroller vs. General- Purpose Microprocessor General-purpose microprocessors have ◦ No RAM ◦ No ROM ◦ No I/O.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Chapter 1: Introduction
Chapter 13 Embedded Systems
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
Embedded Systems Introduction CS423 Dick Steflik.
Chapter 13 Embedded Systems
Figure 1.1 Interaction between applications and the operating system.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
By Andrew Gliga Cs 147. What are Embedded Systems? Similar to real computers  They have CPU, memory, I/O Though they have limited tasks  Can only do.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
Dalya Gaber. Definition:- Embedded system is any device that includes a computer but is not itself a general purpose computer. It has hardware & software.
Embedded Computing Overview Dr. Curtis Nelson Engr355 – Embedded Systems Design Walla Walla University.
Computer Organization and Assembly language
Microcontroller: Introduction
Building an Application Server for Home Network based on Android Platform Yi-hsien Liao Supervised by : Dr. Chao-huang Wei Department of Electrical Engineering.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
Introduction to Embedded Systems. What is an Embedded System? Electronic devices that incorporate a microprocessor or microcontroller within their implementation.
Chapter 19: Real-Time Systems Silberschatz, Galvin and Gagne ©2005 AE4B33OSS Chapter 19: Real-Time Systems System Characteristics Features of Real-Time.
Embedded System Programming Andrew Ho. Agenda Embedded System Overview Embedded System Developing Programming on Embedded System Q&A.
EMBEDDED SYSTEMS G.V.P.COLLEGE OF ENGINEERING Affiliated to J.N.T.U. By By D.Ramya Deepthi D.Ramya Deepthi & V.Soujanya V.Soujanya.
NetBurner MOD 5282 Network Development Kit MCF 5282 Integrated ColdFire 32 bit Microcontoller 2 DB-9 connectors for serial I/O supports: RS-232, RS-485,
part I, , Part I Introduction to Operating Systems First Semester, Year 2000 Wannarat Suntiamorntut Department of Computer Engineering,
CS 546: Intelligent Embedded Systems Gaurav S. Sukhatme Robotic Embedded Systems Lab Center for Robotics and Embedded Systems Computer Science Department.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
CS 1308 Computer Literacy and the Internet. Introduction  Von Neumann computer  “Naked machine”  Hardware without any helpful user-oriented features.
Micro processor and Micro Controllers
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Microcontroller Presented by Hasnain Heickal (07), Sabbir Ahmed(08) and Zakia Afroze Abedin(19)
PRESENTED BY :BIREN KUMAR SAMAL ADMISSION NO:22I&E/2000.
Reference: Ian Sommerville, Chap 15  Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Introduction The purpose of this project was to embed a real time kernel on the microcontroller ATmega128L and demonstrate the multitasking capability.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
Real Time Operating Systems Introduction to Real-Time Operating Systems (Part I) Course originally developed by Maj Ron Smith.
Outcome 1: Describe the structure and function of an operating system.
© Paradigm Publishing, Inc. 4-1 Chapter 4 System Software Chapter 4 System Software.
What is a Microprocessor ? A microprocessor consists of an ALU to perform arithmetic and logic manipulations, registers, and a control unit Its has some.
19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 19: Real-Time Systems.
Lecture 1: Network Operating Systems (NOS) An Introduction.
Lecture 7: Overview Microprocessors / microcontrollers.
Chapter 19: Real-Time Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 19: Real-Time Systems System Characteristics.
Slides created by: Professor Ian G. Harris Embedded Systems  Embedded systems are computer-based systems which are embedded inside another device (car,
1.  System Characteristics  Features of Real-Time Systems  Implementing Real-Time Operating Systems  Real-Time CPU Scheduling  An Example: VxWorks5.x.
Embedded Systems Introduction. Microprocessor building blocks 1. ALU (Arithmetic Logic Unit): The ALU is a sequential logic circuitry that is intended.
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
Submitted by:.  Project overview  Block diagram  Power supply  Microcontroller  MAX232 & DB9 Connector  Relay  Relay driver  Software requirements.
HOME AUTOMATION USING PC DONE BY RAJESHKUMAR S SRI HARSHA D.
Embedded Systems Overview Prepared by Nisha Sinsinbar Subject: Microcontoller & Interfacing Sub code: EC Department.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Lecture 1: Network Operating Systems (NOS)
Embedded Operating system GROUP NO. 3 HAMZA MEHMOOD AHMED SAAD.
Embedded Systems. What is Embedded Systems?  Embedded reflects the facts that they are an integral.
Case Study #1 Microcontroller System. What is a microcontroller? A microcontroller can be considered a self-contained system with a processor, memory.
Voice Controlled Robot by Cell Phone with Android App
Network Operating Systems (NOS)
Lecture 1: Network Operating Systems (NOS)
EmbedDed Systems – MECT190
Why microcontrollers in embedded systems?
Chapter 1: The 8051 Microcontrollers
EmbedDed Systems – MECT190
CS 501: Software Engineering Fall 1999
Outline Chapter 2 (cont) OS Design OS structure
Embedded system Micro controller.
CHAPTER 1 THE 8051 MICROCONTROLLERS
Lecture Topics: 11/1 Hand back midterms
Presentation transcript:

Embedded System Design

Web Sites tem#Preemptive_taskshttp://en.wikipedia.org/wiki/Embedded_sys tem#Preemptive_tasks

A Brief of Embedded System An embedded system is a special-purpose system in which the computer is completely encapsulated by or dedicated to the device or system it controls.computer Since the system is dedicated to specific tasks, design engineers can optimize it, reducing the size and cost of the product. Embedded systems are often mass-produced, benefiting from economies of scale.economies of scale

Examples of embedded systems automatic teller machines (ATMs)automatic teller machines avionics, such as inertial guidance systems, flight control hardware/software and other integrated systems in aircraft and missilesavionicsinertial guidance systemsaircraftmissiles cellular telephones and telephone switchescellular telephonestelephone switches engine controllers and antilock brake controllers for automobilesengine controllersantilock brake controllers home automation products, such as thermostats, air conditioners, sprinklers, and security monitoring systemshome automationthermostatsair conditionerssprinklerssecurity monitoring handheld calculatorscalculators household appliances, including microwave ovens, washing machines, television sets, DVD players and recordersappliancesmicrowave ovenswashing machines televisionDVD playersrecorders medical equipment Handheld computers Videogame consoles computer peripherals such as routers and printersroutersprinters Industrial controllers for remote machine operation.

History The first recognizably modern embedded system was the Apollo Guidance Computer, developed by Charles Stark Draper at the MIT Instrumentation Laboratory. The first mass-produced embedded system was the Autonetics D-17 guidance computer for the Minuteman (missile), released in Minuteman (missile) In 1978 National Engineering Manufacturers Association released the standard for a programmable microcontroller. By the mid-1980s, widespread use of embedded systems became feasible with microcontroller.

Characteristics Some also have real-time performance constraints.real-time An embedded system very often is physically built-in to the device it is controlling. The software written for embedded systems is often called firmware, and is stored in read-only memory or Flash memory chips rather than a disk drive.Flash memory

Characteristics User interfaces - range from no user interface at all to full user interfaces similar to desktop operating systems in devices such as PDAs. Complexity – from simple embedded devices use buttons, LEDs to full graphical screen, with touch sensing or even World Wide Web interface (TCP/IP required)LEDstouchWorld Wide Web

Characteristics CPU platform –two distinct categories: microprocessors (μP) and microcontrollers (μC). μC have built-in peripherals on the chip, reducing size of the system. –CPU architectures used: ARM, MIPS, Coldfire/68k, PowerPC, x86, PIC, 8051, Atmel AVR, Renesas H8, SH, V850, FR-V, M32R, Z80, Z8CPU architecturesARMMIPSColdfire68k PowerPCx86PIC8051Atmel AVRRenesas H8 SHV850FR-VM32RZ80Z8 –For small, low-volume embedded and ruggedized system. PC/104 and PC/104+ are used. They often use DOS, Linux, NetBSD, QNX, or VxWorks.PC/104DOSLinuxNetBSDQNXVxWorks –High-volume embedded systems use system on a chip (SoC), an application-specific integrated circuit (ASIC), or field-programmable gate array (FPGA) to execute the firmware.system on a chipapplication-specific integrated circuitfield-programmable gate array

Characteristics Peripherals –Serial Communication Interfaces (SCI): RS-232, RS- 422, RS-485 etcRS-232RS- 422RS-485 –Synchronous Serial Communication Interface: I2C, JTAG, SPI, SSC and ESSII2C JTAGSPI –Universal Serial Bus (USB)Universal Serial Bus –Networks: Controller Area Network, LonWorks, etcController Area NetworkLonWorks –Timers: PLL(s), Capture/Compare and Time Processing Units –Discrete IO: aka General Purpose Input Output (GPIO)

Characteristics Tools –Generally, compilers, assemblers, and debuggers are used to develop embedded system software.compilersassemblersdebuggers –An in-circuit emulator (ICE) is a hardware device that replaces or plugs into the microprocessor, and provides facilities to quickly load and debug experimental code in the system.in-circuit emulator –For systems using digital signal processing, developers may use a math workbench such as MathCad or Mathematica to simulate the mathematics.digital signal processingMathCadMathematica –Software tools can come from several sources: Software companies that specialize in the embedded market Ported from the GNU software development toolsGNU Sometimes, development tools for a personal computer can be used if the embedded processor is a close relative to a common PC processor.

Characteristics Debugging –at different levels, ranging from assembly- or source- level debugging with an in-circuit emulator or in-circuit debugger, to output from serial debug ports or JTAG/Nexus interfaces, to an emulated environment running on a personal computer.in-circuit emulatorpersonal computer –As the complexity of embedded systems grows (e.g. cellphones, PDAs), higher level tools and operating systems (Linux, NetBSD, OSGi or Embedded Java) are migrating into machinery where it makes sense. cellphonesLinuxNetBSDOSGiEmbedded Java

Characteristics Reliability –unreliable mechanical moving parts such as disk drives, switches or buttons are avoided. –Recovery from errors may be achieved with techniques such as a watchdog timer that resets the computer unless the software periodically notifies the watchdog.watchdog timer –Specific reliability issues may include: "limp modes" that provide partial function. Examples include space systems, undersea cables, navigational beacons, bore-hole systems, and automobiles. Backups are selected by an operator. Examples include aircraft navigation, reactor control systems, safety-critical chemical factory controls, train signals, engines on single-engine aircraft. The system will lose large amounts of money when shut down: Telephone switches, factory controls, bridge and elevator controls, funds transfer and market making, automated sales and service.

Embedded software architectures Simple control loop –software simply has a loop. The loop calls subroutines, each of which manages a part of the hardware or software. Interrupt controlled system –tasks performed by the system are triggered by different kinds of events. (e.g. a timer, or by a serial port controller receiving a byte) –Usually there is a simple task in a main loop also. The tasks performed in the interrupt handlers should be as short as possibl –Some times longer tasks are added to a queue structure Cooperative multitasking –A nonpreemptive multitasking system is very similar to the simple control loop scheme, except that the loop is hidden in an API. (usually called "pause", "wait", "yield", etc.).nonpreemptive multitasking API –The advantages and disadvantages are very similar to the control loop, except that adding new software is easier.

Embedded software architectures Preemptive multitasking –A low-level piece of code (scheduler) switches between tasks based on a timer. It introduces all the complexities of managing multiple tasks running seemingly at the same time. –Tasks must be precisely separated. Access to shared data must be controlled by some synchronization strategy, such as message queues, semaphores or a non-blocking synchronization scheme. non-blocking synchronization –It is common for organizations to buy a real-time operating system, allowing the application programmers to concentrate on device functionality rather than operating system servicesreal-time operating system

Embedded software architectures Microkernels and exokernels –A microkernel can allocate memory and CPU time to different threads of execution. User mode processes implement major functions such as file systems, network interfaces, etc.microkernel –Exokernels communicate efficiently by normal subroutine calls. The hardware, and all the software in the system are available to, and extensible by application programmers.Exokernels

Embedded software architectures Monolithic kernels –A full kernel with sophisticated capabilities is adapted to suit an embedded environment. –It requires more hardware resources and can be less predictable and reliable. –Common examples are Embedded Linux and Windows CE.Embedded LinuxWindows CE –This type of embedded system is increasing in popularity. Here are some of the reasons: Ports to common embedded chip sets (ARM, x86, PowerPC) are available. They permit re-use of publicly available code for Device Drivers, Web Servers, Firewalls, and other code.Device DriversWeb ServersFirewalls Running application code in user mode is more reliable, easier to debug and that therefore the development process is easier and the code more portable. A system such as Embedded Linux has fast enough response for many applications (real-time requirement). Features requiring faster response than can be guaranteed can often be placed in hardware.hardware Many RTOS systems have a per-unit cost (royalty).

Grading 60% Labs(3 labs) 40% Term Project