Embedded Systems

Document Sample
Embedded Systems Powered By Docstoc
					                    
Hardware, Software and Applications

             Subhash K.U
“An Embedded System is a microcontroller (or microprocessor) based
system) that is embedded as a subsystem in a larger system (which may or
may not be a computer system) to perform one or few dedicated and/or
specific functions often with real-time computing constraints”

   Input                                                      Output

                            Embedded System
   It performs a single task
   Not for general purpose use
   High performance bound and real time constrained
   High reliability bound
   Hardware – Software systems
   Software is used for extra features and flexibility
   Hardware (processors, ASICs, memory etc. are used for performance
    and security
 Consumer    electronics
 Military and Aerospace software applications
 Healthcare (Medical Electronics)
 Telecommunications
 Industrial automation and process control software
   Embedded processors (MIPS, ARM, PowerPC etc.)
   Flash Memory
   RAM ( in MB )
   Communication ports (Ethernet, USB, Serial etc.)
   Power Supply Regulator

and many more…….
“Firmware is a microcode (lowest level code directly talking to hardware) that
internally control various electronic devices”

Firmware usually resides in PLAs (or PROMs)

Examples of devices containing firmware include end-user products:
 Remote controls hardware
 Calculators
 Computer keyboards
 TFT Screens
and many more…..
   Types of Software:
     o System Software
         • Operating System
              • MMU, EFMS, Scheduler etc.
     o Application Software
         • Games, Browsers, calculator etc.

   Software is used for extra features and flexibility depending on the
    type of the embedded system like Mobile phones, Digital Signage
   Embedded systems without software also exists like x-ray detectors,
    remote controls, micro-wave ovens etc. But these contain firmware.
   Firmware is a must for every embedded devices.
   Operating systems should be time bound (RTOS)
    o Quick and predictable response to events
    o Advanced algorithms for scheduling
    o Examples: VxWorks, QNX, RTLinux, Symbian
   Should be customized and optimized
   Non-RTOS operating systems are also used
    o Designed to be used in embedded computer systems like PDAs
    o Operate with a limited number of resources
    o Very compact and extremely efficient by design
    o Examples: Windows CE, Minix 3, Embedded Linux
 C, Embedded C
   o Device Driver implementation
   o Kernel module implementation

 C++, Java (optimized), etc.
   o For application development
General steps:

Steps 1: Write code ( C, C++ etc. ) in a host machine.
         Host machine is development machine.
Steps 2: Cross compile source code for the target machine.
        Target machine is your embedded device.
Step 3: Flash your executable to your target machine through Serial
        port, Ethernet port or USB port.
Step 4: Execute the code in your target machine and test.
   Code should be speed efficient to support real-time
    o Less CPU execution time
   Code should be space efficient
    o Less Memory

               “Speed Vs Space complexity”

   More time spent on Design front
Career options for fresh college graduates:

 Hardware Design Engineer
   o Electrical/Electronics Engineers

 Software Design Engineer
   o Electrical/Electronics/Computer Science Engineers
   Embedded System Architecture, Programming and Design
    o Raj Kamal
   Embedded System Design A Unified Hardware/Software Introduction
    o Tony Givargis
    The C programming Language
    o   Dennis.M.Ritchie & Brain.W.Kernighan
    The C++ programming Language
    o   Bjarne Stroustrup
    Object Oriented Programming with C++
    o   Subhash.K.U
Thank - you

Shared By: