SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Parallel computing with Gpu
Parallel computing with GpuParallel computing with Gpu
Parallel computing with Gpu
Rohit Khatana
 
Design of embedded systems
Design of embedded systemsDesign of embedded systems
Design of embedded systems
Pradeep Kumar TS
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
WalaaMohamed
 

Tendances (20)

Linux Porting
Linux PortingLinux Porting
Linux Porting
 
Intro to Embedded OS, RTOS and Communication Protocols
Intro to Embedded OS, RTOS and Communication ProtocolsIntro to Embedded OS, RTOS and Communication Protocols
Intro to Embedded OS, RTOS and Communication Protocols
 
GPU - Basic Working
GPU - Basic WorkingGPU - Basic Working
GPU - Basic Working
 
U-boot and Android Verified Boot 2.0
U-boot and Android Verified Boot 2.0U-boot and Android Verified Boot 2.0
U-boot and Android Verified Boot 2.0
 
Graphics card
Graphics cardGraphics card
Graphics card
 
Parallel computing with Gpu
Parallel computing with GpuParallel computing with Gpu
Parallel computing with Gpu
 
Design of embedded systems
Design of embedded systemsDesign of embedded systems
Design of embedded systems
 
CUDA Architecture
CUDA ArchitectureCUDA Architecture
CUDA Architecture
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introduction
 
GRAPHICS PROCESSING UNIT (GPU)
GRAPHICS PROCESSING UNIT (GPU)GRAPHICS PROCESSING UNIT (GPU)
GRAPHICS PROCESSING UNIT (GPU)
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
 
Graphics processing unit ppt
Graphics processing unit pptGraphics processing unit ppt
Graphics processing unit ppt
 
Delivering a new level of visual performance in an SoC AMD "Raven Ridge" APU
Delivering a new level of visual performance in an SoC AMD "Raven Ridge" APUDelivering a new level of visual performance in an SoC AMD "Raven Ridge" APU
Delivering a new level of visual performance in an SoC AMD "Raven Ridge" APU
 
Introduction to Linux
Introduction to LinuxIntroduction to Linux
Introduction to Linux
 
Embedded C workshop
Embedded C workshopEmbedded C workshop
Embedded C workshop
 
Introduction to Embedded Systems
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded Systems
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
Real Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systemsReal Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systems
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systems
 
Introduction to parallel computing using CUDA
Introduction to parallel computing using CUDAIntroduction to parallel computing using CUDA
Introduction to parallel computing using CUDA
 

En vedette

ppt on embedded system
ppt on embedded systemppt on embedded system
ppt on embedded system
manish 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 Processor
MomenMostafa
 
Embedded System
Embedded SystemEmbedded System
Embedded System
surendar
 
Unit 1 embedded systems and applications
Unit 1 embedded systems and applicationsUnit 1 embedded systems and applications
Unit 1 embedded systems and applications
Dr.YNM
 
Embedded System Tools ppt
Embedded System Tools  pptEmbedded System Tools  ppt
Embedded System Tools ppt
Halai Hansika
 

En vedette (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
 
Introduction to embedded system design
Introduction to embedded system designIntroduction to embedded system design
Introduction to embedded system design
 
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
 
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
 

Similaire à Embedded System

Embedded Linux Talk Uni Forum
Embedded Linux Talk Uni ForumEmbedded Linux Talk Uni Forum
Embedded Linux Talk Uni Forum
Sumant Diwakar
 
Embedded system design process
Embedded system design processEmbedded system design process
Embedded system design process
Rayees CK
 
Embeded System
Embeded SystemEmbeded System
Embeded System
Dhaval09
 

Similaire à 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)