SlideShare ist ein Scribd-Unternehmen logo
1 von 55
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

Weitere ähnliche Inhalte

Was ist angesagt?

Real Time Operating Systems
Real Time Operating SystemsReal Time Operating Systems
Real Time Operating SystemsRohit Joshi
 
Programming pic microcontrollers
Programming pic microcontrollersProgramming pic microcontrollers
Programming pic microcontrollersMAIYO JOSPHAT
 
Embedded systems - UNIT-1 - Mtech
Embedded systems - UNIT-1 - MtechEmbedded systems - UNIT-1 - Mtech
Embedded systems - UNIT-1 - Mtechsangeetha rakhi
 
Arm corrected ppt
Arm corrected pptArm corrected ppt
Arm corrected pptanish jagan
 
Microcontroller(18CS44) module 1
Microcontroller(18CS44)  module 1Microcontroller(18CS44)  module 1
Microcontroller(18CS44) module 1Swetha A
 
Introduction to Multi-core Architectures
Introduction to Multi-core ArchitecturesIntroduction to Multi-core Architectures
Introduction to Multi-core ArchitecturesPrabhakaran V M
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded SystemsMohamed Tarek
 
Introduction to embedded system
Introduction to embedded systemIntroduction to embedded system
Introduction to embedded systemajitsaraf123
 
Arm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_armArm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_armPrashant Ahire
 
EMBEDDED SYSTEMS
EMBEDDED SYSTEMSEMBEDDED SYSTEMS
EMBEDDED SYSTEMSkarthikas82
 
Introduction to Embedded Systems I: Chapter 2 (1st portion)
Introduction to Embedded Systems I: Chapter 2 (1st portion)Introduction to Embedded Systems I: Chapter 2 (1st portion)
Introduction to Embedded Systems I: Chapter 2 (1st portion)Moe Moe Myint
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded SystemsJoy Dutta
 
FPGA Hardware Accelerator for Machine Learning
FPGA Hardware Accelerator for Machine Learning FPGA Hardware Accelerator for Machine Learning
FPGA Hardware Accelerator for Machine Learning Dr. Swaminathan Kathirvel
 

Was ist angesagt? (20)

Real Time Operating Systems
Real Time Operating SystemsReal Time Operating Systems
Real Time Operating Systems
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
Programming pic microcontrollers
Programming pic microcontrollersProgramming pic microcontrollers
Programming pic microcontrollers
 
ARM CORTEX M3 PPT
ARM CORTEX M3 PPTARM CORTEX M3 PPT
ARM CORTEX M3 PPT
 
Embedded systems - UNIT-1 - Mtech
Embedded systems - UNIT-1 - MtechEmbedded systems - UNIT-1 - Mtech
Embedded systems - UNIT-1 - Mtech
 
Hardware-Software Codesign
Hardware-Software CodesignHardware-Software Codesign
Hardware-Software Codesign
 
Arm corrected ppt
Arm corrected pptArm corrected ppt
Arm corrected ppt
 
Microcontroller(18CS44) module 1
Microcontroller(18CS44)  module 1Microcontroller(18CS44)  module 1
Microcontroller(18CS44) module 1
 
Introduction to Multi-core Architectures
Introduction to Multi-core ArchitecturesIntroduction to Multi-core Architectures
Introduction to Multi-core Architectures
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
 
QNX Sales Engineering Presentation
QNX Sales Engineering PresentationQNX Sales Engineering Presentation
QNX Sales Engineering Presentation
 
Introduction to Embedded Systems
Introduction to Embedded Systems Introduction to Embedded Systems
Introduction to Embedded Systems
 
Introduction to embedded system
Introduction to embedded systemIntroduction to embedded system
Introduction to embedded system
 
Arm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_armArm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_arm
 
Arm processor
Arm processorArm processor
Arm processor
 
EMBEDDED SYSTEMS
EMBEDDED SYSTEMSEMBEDDED SYSTEMS
EMBEDDED SYSTEMS
 
Introduction to Embedded Systems I: Chapter 2 (1st portion)
Introduction to Embedded Systems I: Chapter 2 (1st portion)Introduction to Embedded Systems I: Chapter 2 (1st portion)
Introduction to Embedded Systems I: Chapter 2 (1st portion)
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
 
FPGA Hardware Accelerator for Machine Learning
FPGA Hardware Accelerator for Machine Learning FPGA Hardware Accelerator for Machine Learning
FPGA Hardware Accelerator for Machine Learning
 

Andere mochten auch

ppt on embedded system
ppt on embedded systemppt on embedded system
ppt on embedded systemmanish katara
 
Embedded System Practical Workshop using the ARM Processor
Embedded System Practical Workshop using the ARM ProcessorEmbedded System Practical Workshop using the ARM Processor
Embedded System Practical Workshop using the ARM ProcessorMomenMostafa
 
Introduction to Embedded System
Introduction to Embedded SystemIntroduction to Embedded System
Introduction to Embedded SystemZakaria Gomaa
 
Embedded System
Embedded SystemEmbedded System
Embedded Systemsurendar
 
Summer training embedded system and its scope
Summer training  embedded system and its scopeSummer training  embedded system and its scope
Summer training embedded system and its scopeArshit Rai
 
Introduction To Embedded Systems
Introduction To Embedded SystemsIntroduction To Embedded Systems
Introduction To Embedded SystemsVishwa Mohan
 
Unit 1 embedded systems and applications
Unit 1 embedded systems and applicationsUnit 1 embedded systems and applications
Unit 1 embedded systems and applicationsDr.YNM
 
Embedded System Tools ppt
Embedded System Tools  pptEmbedded System Tools  ppt
Embedded System Tools pptHalai Hansika
 
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLEEDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLESabeel Irshad
 
Sierra Wireless Developer Day 2013 - Show&Tell 1 - ARM & Sierra Wireless
Sierra Wireless Developer Day 2013 - Show&Tell 1 - ARM & Sierra WirelessSierra Wireless Developer Day 2013 - Show&Tell 1 - ARM & Sierra Wireless
Sierra Wireless Developer Day 2013 - Show&Tell 1 - ARM & Sierra WirelessThibault Cantegrel
 

Andere mochten auch (20)

Introduction to Embedded System
Introduction to Embedded SystemIntroduction to Embedded System
Introduction to Embedded System
 
Embedded System Basics
Embedded System BasicsEmbedded System Basics
Embedded System Basics
 
ppt on embedded system
ppt on embedded systemppt on embedded system
ppt on embedded system
 
Embedded System Practical Workshop using the ARM Processor
Embedded System Practical Workshop using the ARM ProcessorEmbedded System Practical Workshop using the ARM Processor
Embedded System Practical Workshop using the ARM Processor
 
Introduction to Embedded System
Introduction to Embedded SystemIntroduction to Embedded System
Introduction to Embedded System
 
Embedded System
Embedded SystemEmbedded System
Embedded System
 
Summer training embedded system and its scope
Summer training  embedded system and its scopeSummer training  embedded system and its scope
Summer training embedded system and its scope
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
ARM Processor Tutorial
ARM Processor Tutorial ARM Processor Tutorial
ARM Processor Tutorial
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
Embedded system ppt
Embedded system pptEmbedded system ppt
Embedded system ppt
 
Introduction To Embedded Systems
Introduction To Embedded SystemsIntroduction To Embedded Systems
Introduction To Embedded Systems
 
Unit 1 embedded systems and applications
Unit 1 embedded systems and applicationsUnit 1 embedded systems and applications
Unit 1 embedded systems and applications
 
Embedded System Tools ppt
Embedded System Tools  pptEmbedded System Tools  ppt
Embedded System Tools ppt
 
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLEEDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
EDLC-EMBEDDED PRODUCT DEVELOPMENT LIFE CYCLE
 
FM Transmitter(S)-Network
FM Transmitter(S)-NetworkFM Transmitter(S)-Network
FM Transmitter(S)-Network
 
Sierra Wireless Developer Day 2013 - Show&Tell 1 - ARM & Sierra Wireless
Sierra Wireless Developer Day 2013 - Show&Tell 1 - ARM & Sierra WirelessSierra Wireless Developer Day 2013 - Show&Tell 1 - ARM & Sierra Wireless
Sierra Wireless Developer Day 2013 - Show&Tell 1 - ARM & Sierra Wireless
 
Arm Lecture
Arm LectureArm Lecture
Arm Lecture
 
6 weeks training on Embedded System
6 weeks training on Embedded System6 weeks training on Embedded System
6 weeks training on Embedded System
 
Timers
TimersTimers
Timers
 

Ähnlich wie Embedded System

Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]Ionela
 
Embedded OS and Application-2024-01 Embedded system introduction.pdf
Embedded OS and Application-2024-01 Embedded system introduction.pdfEmbedded OS and Application-2024-01 Embedded system introduction.pdf
Embedded OS and Application-2024-01 Embedded system introduction.pdfmengsteabtewelde
 
Embedded Linux Talk Uni Forum
Embedded Linux Talk Uni ForumEmbedded Linux Talk Uni Forum
Embedded Linux Talk Uni ForumSumant Diwakar
 
Embedded Systems Introdution
Embedded Systems IntrodutionEmbedded Systems Introdution
Embedded Systems IntrodutionSheikh Ismail
 
L2 B Embedded Systems
L2 B Embedded SystemsL2 B Embedded Systems
L2 B Embedded SystemsLearn 2 Be
 
Embedded system design process
Embedded system design processEmbedded system design process
Embedded system design processRayees CK
 
Basics of OS & RTOS.ppt
Basics of OS & RTOS.pptBasics of OS & RTOS.ppt
Basics of OS & RTOS.pptDr.YNM
 
OSGi: Best Tool In Your Embedded Systems Toolbox
OSGi: Best Tool In Your Embedded Systems ToolboxOSGi: Best Tool In Your Embedded Systems Toolbox
OSGi: Best Tool In Your Embedded Systems ToolboxBrett Hackleman
 
Language for embedded system
Language for embedded systemLanguage for embedded system
Language for embedded systemvkrhanjeeth .
 
Language for Embedded System
Language for Embedded System Language for Embedded System
Language for Embedded System vkrhanjeeth .
 
13086000.ppt
13086000.ppt13086000.ppt
13086000.pptyibe5
 
Embeded System
Embeded SystemEmbeded System
Embeded SystemDhaval09
 
Embedded System basic and classifications
Embedded System basic and classificationsEmbedded System basic and classifications
Embedded System basic and classificationsrajkciitr
 

Ähnlich wie Embedded System (20)

Embedded system
Embedded systemEmbedded system
Embedded system
 
Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]Embedded Os [Linux & Co.]
Embedded Os [Linux & Co.]
 
Embedded OS and Application-2024-01 Embedded system introduction.pdf
Embedded OS and Application-2024-01 Embedded system introduction.pdfEmbedded OS and Application-2024-01 Embedded system introduction.pdf
Embedded OS and Application-2024-01 Embedded system introduction.pdf
 
Embedded Linux Talk Uni Forum
Embedded Linux Talk Uni ForumEmbedded Linux Talk Uni Forum
Embedded Linux Talk Uni Forum
 
Embedded Systems Introdution
Embedded Systems IntrodutionEmbedded Systems Introdution
Embedded Systems Introdution
 
Embedded Systems
Embedded SystemsEmbedded Systems
Embedded Systems
 
L2 B Embedded Systems
L2 B Embedded SystemsL2 B Embedded Systems
L2 B Embedded Systems
 
Embedded system design process
Embedded system design processEmbedded system design process
Embedded system design process
 
Basics of OS & RTOS.ppt
Basics of OS & RTOS.pptBasics of OS & RTOS.ppt
Basics of OS & RTOS.ppt
 
OSGi: Best Tool In Your Embedded Systems Toolbox
OSGi: Best Tool In Your Embedded Systems ToolboxOSGi: Best Tool In Your Embedded Systems Toolbox
OSGi: Best Tool In Your Embedded Systems Toolbox
 
Language for embedded system
Language for embedded systemLanguage for embedded system
Language for embedded system
 
Language for Embedded System
Language for Embedded System Language for Embedded System
Language for Embedded System
 
Embeddedsystem
EmbeddedsystemEmbeddedsystem
Embeddedsystem
 
UNIT V PPT.ppt
UNIT V PPT.pptUNIT V PPT.ppt
UNIT V PPT.ppt
 
13086000.ppt
13086000.ppt13086000.ppt
13086000.ppt
 
Operating system
Operating systemOperating system
Operating system
 
Tutorial Embedded System
Tutorial Embedded System Tutorial Embedded System
Tutorial Embedded System
 
Embeded System
Embeded SystemEmbeded System
Embeded System
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
Embedded System basic and classifications
Embedded System basic and classificationsEmbedded System basic and classifications
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)