Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Embedded System

7,480 views

Published on

I made this for upcoming students some time back. Thanks for all authors and Gurus who helped me to frame this documents.

  • have to download it..!!!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Embedded System

  1. 1. EMBEDDED SYSTEMS Suresh Kalidasan
  2. 2. Agenda  Introduction   Basic Aspects   In Detail   OS/RTOS   Example Program Flow from Top to Bottom   Open Source & Road Map   In General 
  3. 3. Introduction
  4. 4. What is Embedded Systems (ES)?  An Embedded  System is a  special purpose  computer system  designed to  perform one or a  few dedicated  functions, often  with real time  computing. 
  5. 5. General Application of Embedded  System
  6. 6. Aerospace: Navigation system, automation landing system,  flight altitude control, engine control, space exploration  NASA's Mars Sojourner Rover.  8-bit Intel 80C85  VxWorks RTOS
  7. 7. Automotive: Fuel injection control, passenger environment  control (AC, player, drive etc), security control (airbag, parking  assistant, collusion detection and more), GPS
  8. 8. Communication: Satellites, network routers, switches, hubs and  test equipments  
  9. 9. Computer peripherals: Printers, scanners, keyboards, displays,  modems, hard disk drives, DVD drives, USB drives and more  Thin Flash drives  (approx less than  4mm)  General OS or  Single threaded  operation can do.
  10. 10. Home: Microwave ovens, dishwashers, CD/DVD players,  Television, clock radios    Miele dishwashers.  8-bit Motorola 68HC05.
  11. 11. Industrial: Robots, surveillance system, testing machines.  Fanuc Industrial  robots. 
  12. 12. Instrumentation: Data collection, oscilloscopes, signal  generators, signal analyzers, power supplies.  Hand held oscilloscopes  Digital oscilloscopes
  13. 13. Medical: Imaging system (X­Ray, MRI, Ultrasound), patient  monitoring, surgery machines, OP integrators.    MRI Scanning  Full body image results
  14. 14. Personal: PDA, mobile phones, wrist watches, game  environment, players, and more  Sonicare Plus  toothbrush(8­bit Zilog Z8)  Motorola i1000plus iDEN Multi-Service Digital Phone (Motorola 32-bit MCORE)
  15. 15. Some more  IBM Research’s Linux wrist watch prototype.  32-bit ARM RISC.
  16. 16. Toys  Sony AIBO ERS-110 Robotic Dog.  64-bit MIPS RISC.
  17. 17. Beagle Board  Beagle Board  (ported for Linux,  Windows  Embedded,  Android and more)  OMAP3530 ARM  Cortex A8 series  Serial Port, USB,  DVI­D and  expansion slots.
  18. 18. Sensors in different areas ­ 1 
  19. 19. Sensors in different areas ­ 2
  20. 20. Basic Aspects
  21. 21. Programming Language Used 90.0% 80.0% 70.0% 1998­1999 60.0% 1999­2000 50.0% 40.0% 30.0% 20.0% 10.0% 0.0% Assembly C C++ Java Other  C is very common in embedded programming
  22. 22. Top Computer Languages Used  Usage of top  computer  languages  defined by  statistics on  open source  projects at  SourceForge
  23. 23. What is real time system ?  System with operational deadlines from event to  system response.
  24. 24. Hard/Soft Real­Time Systems  Soft Real­Time System − Compute output response as fast as possible, but  no specific deadlines that must be met.  Hard Real­Time System − Output response must be computed by specified  deadline or system fails.
  25. 25. In Detail
  26. 26. Embedded Development Cycle  Design Hardware  Manufacture hardware and test  Boot the system   Add peripherals and test  Complete boot loader process  Port Operation System  Create your own application
  27. 27. What is boot loader ?  A boot loader typically loads the main operating  system from the computer.   In a common PC it checks for RAM, VGA  device, if these devices are OK the control goes  to input devices and hard disk to load Operation  System (Linux or Windows). Boot Loaders are  generally you can see AMI Trends when your  power your computer   In Embedded System it is architecture  dependent
  28. 28. What is Operating System ?  An operating  system is an  interface between  hardware and user;  it is responsible for  the management  and co­ordination of  activities and the  sharing of limited  resources of the  computer. 
  29. 29. Why Operating System in  Embedded ?  To do more specialized operations such as  multi­processing, interfacing complicated  devices  Utilizing processor efficiency   Making generic for different architectures (e.g.:  x86 (Intel), ARM (ARM Co.), PPC (Apple­IBM­ Motorola) and more)
  30. 30. RTOS  Real Time Operating System; as the name  implies RTOS are generally with operational  deadline to do specific task.  e.g.: VxWorks, uC/OSII (small kernel), RT  Linux, uITRON based RTOS (NORTi), QNX and  more. 
  31. 31. Application of RTOS  Missile Launching  Flight Control  Medical devices (Surgery Machines)  Space vehicles  Robots
  32. 32. Very High Level Software  Architecture   Centralized control  is like one man army  which increases  performance time   De­centralized  control, adaptive  behavior, self  configuring and self  restoring
  33. 33. OS/RTOS
  34. 34. What to Choose OS/RTOS ?  If the product needs to work with time then  RTOS will be good to select.   If the product does not work with critical time  deadlines then OS will serve. 
  35. 35. Which OS or RTOS to choose for  Embedded devices?  Continuous growth in Open Source software  triggers manufactures to focus towards Linux  and other OSS   Some products are now switched from VxWorks  to Linux with RT patch to avoid production cost  paid to RTOS manufactures  Still more free RTOS are in use
  36. 36. Example Programming Flow from  Top to Bottom (OS to Assembly)
  37. 37. C & Assembly Compilation Flow In C Language: int var1, var2, var3; var3 = var2 + var1; In Assembly: 1. LOAD ACCUMULATOR WITH VAR2 FROM MEMORY POINTER (RAM) eg: LDA #4002 2. LOAD PROCESSING REGISTER WITH VAR1 FROM MEMORY POINTER (RAM) eg: LDB #4003 3.  USE ADD INSTRUCTION IN ASSEMBLY LEVEL TO ADD VAR1 + VAR2 eg: ADD B 4. STORE THE CONTENT OF ACCUMULATOR TO MEMORY (RAM) eg: STA #4004 Results will be available in accumulator with PSW (Program Status Word)
  38. 38. OS & C Compilation Flow  With Multiprocessing example in board
  39. 39. Open Source & Road Map 
  40. 40. Open Source
  41. 41. Growth in Open Source
  42. 42. How Open Source Can Help You?  You will know more about forum and how to  communicate with people  You will get more contacts and understand  different technology and terminology from those.   Community web browsing and enhancing will be  increased which leads to structuring yourself. 
  43. 43. As Students  Try using Open sources software and contribute  your ideas to World.  Using Linux based desktop OS can trigger you  a lot in your carrier growth  Apply all these concepts in embedded system  too
  44. 44. Embedded Learning Cycle Flow  Understand and acquire knowledge about − Hardware (that you learn in college about transistor, circuits and  more) − Assembly language (that you learn in college 8085 or x86  architecture) − Learn Generic languages such as C and C++ − Use the same C in different embedded architectures  (such as 8051, PIC, ARM and more) − Learn OS concept and try to apply it in embedded  environments  
  45. 45. Road Map for Learners  Buy and play with small hardware boards and components  (design timer circuits, LED flashers and more)  Use Simulator tools in PC for learning assembly language and  try with low cost boards in home or in college  Use Cross­Compiler tools such as Keil C in Windows and other  tools in Linux machines and see different stages of compilation  and linking process, try the same with the same board that you  did for assembly language learning.  Enhance Open Source usage from your Desktop to embedded  device   As an example try with Beagle Board.
  46. 46. In General
  47. 47. Where we are from (1)
  48. 48. Where we are from (2)
  49. 49. Here we are now
  50. 50. Some trends in Embedded  Systems  Increasing code size − average code size: 16­64KB in 1992, 64K­512KB in  1996. − migration from hand (assembly) coding to high­level  languages  Reuse of hardware and software components − processors (micro­controllers, DSPs) − software components (drivers)  Increasing integration and system complexity − integration of RF, DSP, network interfaces − 32­bit processors, IO processors
  51. 51. Embedded system metrics  Some metrics: − performance: MIPS, reads/sec etc. − power: Watts − cost: Dollars − Software and architecture:  Instruction set, code density, register organization, caches, addressing, data types etc.  MIPS, Watts and cost are related − technology driven − to get more MIPS for fewer Watts  look at the sources of power consumption  use power management and voltage scaling
  52. 52. Contribute to Nation  All these technology starts from Magnetism and  reaches up to Robotics.   The Embedded Industries growth highly  depends on processor manufactures   So it is key for us to manufacture processor, but  at this stage it may be difficult. Instead we can  start FPGA programming (preferred  VHDL  programming language)  If you can complete a sample core in FPGA it  may be good at college level
  53. 53. If you need help  As always Google or some search engines will  fit all your needs.   Your friends the best  Make me also your friend, contact me at  suresh.kalidasan@ymail.com
  54. 54. Useful Links  http://beagleboard.org/  http://sourceforge.net (General Software)  http://opencores.org/  (FPGA)  http://www.vaultbbs.com/pinnacle/  (assembly simulation for 8051)  http://www.keil.com/ (Cross  Compilation)
  55. 55. Feedback

×