EMBEDDED SYSTEMS
          Suresh Kalidasan
Agenda
   Introduction 
   Basic Aspects 
   In Detail 
   OS/RTOS 
   Example Program Flow from Top to Bottom 
   Open Source & Road Map 
   In General 
Introduction
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. 
General Application of Embedded 
            System
Aerospace: Navigation system, automation landing system, 
 flight altitude control, engine control, space exploration


                                NASA's Mars Sojourner
                                 Rover.
                                8-bit Intel 80C85
                                VxWorks RTOS
Automotive: Fuel injection control, passenger environment 
control (AC, player, drive etc), security control (airbag, parking 
         assistant, collusion detection and more), GPS
Communication: Satellites, network routers, switches, hubs and 

                      test equipments  
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.
Home: Microwave ovens, dishwashers, CD/DVD players, 

              Television, clock radios    
                                    Miele dishwashers.
                                    8-bit Motorola 68HC05.
Industrial: Robots, surveillance system, testing machines.



                                      Fanuc Industrial 
                                       robots. 
Instrumentation: Data collection, oscilloscopes, signal 
     generators, signal analyzers, power supplies.


                              Hand held oscilloscopes
                              Digital oscilloscopes
Medical: Imaging system (X­Ray, MRI, Ultrasound), patient 

    monitoring, surgery machines, OP integrators.    
                              MRI Scanning
                              Full body image results
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)
Some more
      IBM Research’s Linux
       wrist watch prototype.
      32-bit ARM RISC.
Toys
      Sony AIBO ERS-110
       Robotic Dog.
      64-bit MIPS RISC.
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.
Sensors in different areas ­ 1 
Sensors in different areas ­ 2
Basic Aspects
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
Top Computer Languages Used
                      Usage of top 
                       computer 
                       languages 
                       defined by 
                       statistics on 
                       open source 
                       projects at 
                       SourceForge
What is real time system ?
   System with operational deadlines from event to 
    system response.
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.
In Detail
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
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
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. 
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)
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. 
Application of RTOS
   Missile Launching
   Flight Control
   Medical devices (Surgery Machines)
   Space vehicles
   Robots
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
OS/RTOS
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. 
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
Example Programming Flow from 
Top to Bottom (OS to Assembly)
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)
OS & C Compilation Flow
   With Multiprocessing example in board
Open Source & Road Map 
Open Source
Growth in Open Source
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. 
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
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
     
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.
In General
Where we are from (1)
Where we are from (2)
Here we are now
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
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
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
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
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)
Feedback

More Related Content

PDF
Introduction to Linux
PPTX
Introduction to Unix
PDF
Software Engineering-Unit 3 "System Modelling" by Adi.pdf
PPTX
Estimating Software Maintenance Costs
PDF
System calls
PPTX
Erd practice exercises
PPT
Linux architecture
PPTX
Introduction to linux ppt
Introduction to Linux
Introduction to Unix
Software Engineering-Unit 3 "System Modelling" by Adi.pdf
Estimating Software Maintenance Costs
System calls
Erd practice exercises
Linux architecture
Introduction to linux ppt

What's hot (20)

PPT
Server configuration
PPTX
Design Pattern in Software Engineering
PPTX
Linux process management
PDF
Operating systems system structures
PDF
RTOS - Real Time Operating Systems
PDF
Concepts of Real time Systems (RTS)
PPT
UML Diagrams
PPTX
Comparative Analysis of Windows and Linux System
PDF
Embedded Operating System - Linux
PPT
Operating System 2
PPT
Basic Linux kernel
PDF
Zephyr-Overview-20230124.pdf
PPT
Linux memory consumption
PPTX
source code metrics and other maintenance tools and techniques
PPT
Registers
PPTX
PPTX
Software requirement specification
PPTX
Overview of UML Diagrams
PPTX
Software Engineering
PPTX
ELF(executable and linkable format)
Server configuration
Design Pattern in Software Engineering
Linux process management
Operating systems system structures
RTOS - Real Time Operating Systems
Concepts of Real time Systems (RTS)
UML Diagrams
Comparative Analysis of Windows and Linux System
Embedded Operating System - Linux
Operating System 2
Basic Linux kernel
Zephyr-Overview-20230124.pdf
Linux memory consumption
source code metrics and other maintenance tools and techniques
Registers
Software requirement specification
Overview of UML Diagrams
Software Engineering
ELF(executable and linkable format)
Ad

Viewers also liked (20)

PDF
Introduction to Embedded System
PPT
Embedded System Basics
PDF
Introduction to embedded system design
PPTX
ppt on embedded system
PPTX
Embedded System Practical Workshop using the ARM Processor
PDF
Introduction to Embedded System
PPT
Embedded System
PPTX
Summer training embedded system and its scope
PPT
Embedded system
PDF
ARM Processor Tutorial
PPT
Embedded system ppt
PPT
Introduction To Embedded Systems
DOC
Unit 1 embedded systems and applications
PPTX
Embedded System Tools ppt
PPTX
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
PPT
FM Transmitter(S)-Network
PDF
Sierra Wireless Developer Day 2013 - Show&Tell 1 - ARM & Sierra Wireless
PDF
Arm Lecture
PPTX
6 weeks training on Embedded System
Introduction to Embedded System
Embedded System Basics
Introduction to embedded system design
ppt on embedded system
Embedded System Practical Workshop using the ARM Processor
Introduction to Embedded System
Embedded System
Summer training embedded system and its scope
Embedded system
ARM Processor Tutorial
Embedded system ppt
Introduction To Embedded Systems
Unit 1 embedded systems and applications
Embedded System Tools ppt
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
FM Transmitter(S)-Network
Sierra Wireless Developer Day 2013 - Show&Tell 1 - ARM & Sierra Wireless
Arm Lecture
6 weeks training on Embedded System
Ad

Similar to Embedded System (20)

PPTX
Embedded system
PDF
Embedded Os [Linux & Co.]
PDF
Embedded OS and Application-2024-01 Embedded system introduction.pdf
PPT
Embedded Linux Talk Uni Forum
PPTX
Embedded Systems Introdution
PPTX
Embedded Systems
PDF
L2 B Embedded Systems
PPT
Embedded system design process
PPT
Basics of OS & RTOS.ppt
PPT
OSGi: Best Tool In Your Embedded Systems Toolbox
PPTX
Language for Embedded System
PPTX
Language for embedded system
PPT
Embeddedsystem
PPT
UNIT V PPT.ppt
PPT
13086000.ppt
PPTX
Operating system
PDF
Tutorial Embedded System
PPT
Embeded System
PPT
Embedded systems
PPTX
Embedded System basic and classifications
Embedded system
Embedded Os [Linux & Co.]
Embedded OS and Application-2024-01 Embedded system introduction.pdf
Embedded Linux Talk Uni Forum
Embedded Systems Introdution
Embedded Systems
L2 B Embedded Systems
Embedded system design process
Basics of OS & RTOS.ppt
OSGi: Best Tool In Your Embedded Systems Toolbox
Language for Embedded System
Language for embedded system
Embeddedsystem
UNIT V PPT.ppt
13086000.ppt
Operating system
Tutorial Embedded System
Embeded System
Embedded systems
Embedded System basic and classifications

Embedded System

  • 1. EMBEDDED SYSTEMS Suresh Kalidasan
  • 2. Agenda  Introduction   Basic Aspects   In Detail   OS/RTOS   Example Program Flow from Top to Bottom   Open Source & Road Map   In General 
  • 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. 
  • 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. Home: Microwave ovens, dishwashers, CD/DVD players,  Television, clock radios    Miele dishwashers.  8-bit Motorola 68HC05.
  • 12. Instrumentation: Data collection, oscilloscopes, signal  generators, signal analyzers, power supplies.  Hand held oscilloscopes  Digital oscilloscopes
  • 13. Medical: Imaging system (X­Ray, MRI, Ultrasound), patient  monitoring, surgery machines, OP integrators.    MRI Scanning  Full body image results
  • 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. Some more  IBM Research’s Linux wrist watch prototype.  32-bit ARM RISC.
  • 16. Toys  Sony AIBO ERS-110 Robotic Dog.  64-bit MIPS RISC.
  • 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.
  • 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. Top Computer Languages Used  Usage of top  computer  languages  defined by  statistics on  open source  projects at  SourceForge
  • 23. What is real time system ?  System with operational deadlines from event to  system response.
  • 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.
  • 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. 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. 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. 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. 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. Application of RTOS  Missile Launching  Flight Control  Medical devices (Surgery Machines)  Space vehicles  Robots
  • 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
  • 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. 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
  • 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. OS & C Compilation Flow  With Multiprocessing example in board
  • 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. 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. 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. 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.
  • 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. 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. 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. 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. 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)