+ All Categories
Home > Documents > 25942557 IT1353 Embedded System All 5 Units

25942557 IT1353 Embedded System All 5 Units

Date post: 08-Apr-2018
Category:
Upload: akshay-sharma
View: 221 times
Download: 0 times
Share this document with a friend

of 71

Transcript
  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    1/71

    13/4/2009 1

    Embedded Systems

    Special Lecture

    By

    N.SHANMUGASUNDARAM

    Asst. Professor ECE Department

    Mahendra Engineering College

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    2/71

    13/4/2009 2

    What is an Embedded System?

    Embedded system is a

    Microcontroller based

    Software driven Reliable

    Real time control system

    Autonomous or Human interactive Operating on diverse physical variables

    In diverse environments

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    3/71

    13/4/2009 3

    DRIVES

    What is an Embedded System?

    Embedded system is a Hardware with Software embedded in it,

    for a dedicated application.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    4/71

    13/4/2009 4

    SMART Embedded Systems

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    5/71

    13/4/2009 5

    SMART Embedded Systems

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    6/71

    13/4/2009 6

    SMART Embedded Systems

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    7/71

    13/4/2009 7

    HARDWAREProcessor, RAM, ROM, ADC, DAC, Timers, Ports, etc.

    APPLICATION SOFTWARE written in Assembly, C, C++, Java, etc.

    RTOS (to supervise the Application Software)

    C OS-II, Win CE, VxWorks, Embedded Linux, etc.

    3 MAIN COMPONENTS of Embedded System

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    8/71

    13/4/2009 8

    SMALL SCALE:8/16 bit CPU, little H/w, less S/w complexity, No RTOS,Battery operated.

    MEDIUM SCALE:16/32 bit C or DSPs, Complex H/w & S/w design, RTOSSource code Engg tools, IDE.

    SOPHISTICATED:Configurable processors, Cutting edge applications,Highly complex H/w and S/w design,

    CLASSIFICATION of Embedded Systems

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    9/71

    13/4/2009 9

    SKILLS for Embedded System Engineer

    HARDWARE:

    P / C, DSPs, Memories, Peripheral devices, sensors,Computer architecture, Digital electronics, Electronic system design,Control system, Data communication.

    SOFTWARE:

    IDE - Editor, Assemblers, Compilers, Linkers, Debuggers, Simulator.Programming languages - Assembly, C, C++, Java

    RTOS Vxworks, Win CE, RTLinux, etc.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    10/71

    13/4/2009 10

    COMPONENTS of Embedded System Hardware

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    11/71

    13/4/2009 11

    PROCESSORS for Embedded Systems

    ALU

    ControlUnit

    PROCESSOR

    Types of Processor

    General Purpose Processor(c, P, DSP, EP,MP)

    Application Specific System Processor

    Multiprocessor system

    GPP/ASIP core with other hardware integrated in ASIC chip.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    12/71

    13/4/2009 12

    OTHER HARDWARE for Embedded Systems

    1. Power supply circuit

    2. Memory - EPROM, RAM, EEPROM (flash), CACHE

    3. I/O Ports - 8255 (PPI), 8251 (UART)

    4. Timers - 8253

    5. ADC / DAC - ADC0809, DAC0800

    6. Display & Keyboard Controllers - 8279

    7. Programmable Interrupt Controllers - 8259

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    13/71

    13/4/2009 13

    SOFTWARE Components in Embedded Systems

    Programming Languages: 1. Machine code

    2. Assembly language

    3. High level languages ie., C, C++

    Editor Simulator

    Assembler Loader

    Compiler Stethoscope

    Linker Trace scope

    Debugger IDE

    Software Tools:

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    14/71

    13/4/2009 14

    Software Development Chain

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    15/71

    13/4/2009 15

    HARDWARE in Exemplary Embedded Systems

    Processor Multi processor on a Chip

    Bus Size 32

    Architecture RISC

    Cache Memory Yes

    ROM 1 MB

    EEPROM 32 KB

    RAM 1 MB

    I/O Ports KBD & Display ports

    DAC & ADC YesModulation / Demodulation Yes

    DSP instructions Yes

    MOBILE PHONE

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    16/71

    13/4/2009 16

    SOFTWARE in Exemplary Embedded Systems

    Editor yes

    Interpreter No

    Assembler No

    Cross Assembler No

    Compiler yes

    Locator yes

    Simulator yes

    Source code Engg tools yes

    RTOS yes

    IDE yes

    Stethoscope yes

    MOBILE PHONE

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    17/71

    13/4/2009 17

    Exemplary SOC for Mobile Phone

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    18/71

    13/4/2009 18

    Types of I/O Devices

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    19/71

    13/4/2009 19

    Structure ofSerial Port

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    20/71

    13/4/2009 20

    Structure ofParallel Port

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    21/71

    13/4/2009 21

    BUSES for Communication

    Buses

    Serial Parallel

    ISA, EISA, PCI, I2C, CAN, USB,

    I2C : Bus for communication between multiple ICs.CAN: Bus used in automobiles with centrally controlled network.

    USB: Bus for communication between CPU and devices like mouse, etc.

    ISA, EISA, PCI are standard buses for parallel communication used inPCs, computer network devices, etc.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    22/71

    13/4/2009 22

    Types ofTIMERS

    Timers

    Hardware

    Timer

    Software

    Timer

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    23/71

    13/4/2009 23

    Structure ofHardware Timer

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    24/71

    13/4/2009 24

    Usage ofTIMERS

    1 Real Time Clock (RTC) for the system

    2 Initiating an Event after a preset time delay

    3 Initiating an Event after a comparison of preset times

    4 Capturing the count value in timer on an event

    5 Finding time interval between two events

    6 Watchdog timer

    7 Baud rate control for Serial communication

    8 Scheduling of various tasks in RTOS

    9 Time slicing of various tasks

    10 Time division multiplexing

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    25/71

    13/4/2009 25

    Programming Embedded Systems in Assy & C

    Assembly C, C++

    1. Full use of processor specific

    instructions.

    1. Software development cycle is short

    due to usage of functions, std library

    functions, modular programming

    approach, Top down design, etc.

    2. Machine codes are Compact. 2. Data type declarations make

    programming easy.

    3. Device driver code needs only

    few assembly instructions.

    3. Type checking eliminates errors.

    4. Usage of Control structures

    like if-then, do-while, for, etc.

    5. Portability to different hardware

    and OS.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    26/71

    13/4/2009 26

    Programming Embedded Systems using C++

    Combines the advantage ofOOPS, C & Assembly.

    Special features: Data Encapsulation, inheritance, etc.

    Advantages : Reusability of software components.

    Disadvantages: Standard C++ programming makes code complexand lengthy, due to features like Templates, Multipleinheritance, Exception handling, Virtual base classes,Namespaces, etc.

    Solution : Special version of C++ (Embedded C++) has provision for selective disabling of features.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    27/71

    13/4/2009 27

    Phases of Software Development

    1. Definition and Analysisof the SystemRequirement

    a) Complete Specification of the System.b) Specification of the data, functions, tasks,..

    c) System behaviour

    d) Constraints of Design

    e) Human machine interaction

    f) Expected life cycle

    g) Validation criteria & time delivery schedule

    2. Development The process of software

    Designing, Coding and Testing.

    3. Support a) Correction of bugsb) Addition of extra functions as per changing

    environment

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    28/71

    13/4/2009 28

    S/w development of Typical application (Automobiles)

    Development of a Embedded system in a Car to monitor

    Instrument clusters, Engine performance, Automatic Gear box,

    Brakes, etc., the typical code will be as follows

    Watch 1254

    Recording data of usage / malfunction 168

    Engine speed 399

    Vehicle speed 557

    Odometer 999

    Wake-up / Sleep down 252

    Fuel 376

    Alarms 4781

    Coolant Temperature 537

    Light Control 1925

    Automatic gear box 207

    (Total 11643 LOC)

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    29/71

    13/4/2009 29

    Source Code Engineering tool

    It is a tool for source code development, compiling, debugging and testing.

    eg. SNiFF+ from WindRiver Systems

    Features of SNiFF+

    Comprehension, Navigation and Browsing

    Editing

    Configuring (selective disabling of C++ features)

    Compiling

    Debugging

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    30/71

    13/4/2009 30

    Code / Memory Optimization

    It is a process of making the code compact and fitting into a small

    memory space without affecting code performance.

    Techniques for code optimization: Use ofunsigned byte

    Avoiding std lib functions, when simple coding is possible.

    Usage of Assy code, when target processor is well known.

    Usage of Global Variable, when no chance for shared data problem.

    Reduce usage offrequent function calls.

    Usage ofdelete / free, to release the used memory.

    Disabling the used features of C++.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    31/71

    13/4/2009 31

    Process / Tasks / Threads

    Process : It is a sequentially running program with its state.

    Task : An application consisting of tasks controlled by scheduling

    mechanism of an OS.

    Threads : Light weighted sub-process in application program,

    controlled by process control entity.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    32/71

    13/4/2009 32

    Function ISR Task

    - Set of instructions forperforming an actions.

    - Called by Proc/Task/ISR.

    - Each Fn has a context

    - Provision for nestedFunction calls.

    - ISR is independent

    - Call from H/w & S/w.

    - ISR has Priority.

    - Each ISR has Context.

    - Task is independent.

    - Sync done by RTOS.

    - Scheduler runs onetask at a time.

    Comparison ofFunction / ISR / Task

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    33/71

    13/4/2009 33

    Inter Process Communication (IPC)

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    34/71

    13/4/2009 34

    Inter Process Communication (IPC)

    IPC: Some information generated by a processes / tasks, by setting / resettinga flag / value, or generates an output so that it lets another process takenote / use of it.

    Types: 1) Signal

    2) Semaphores (flags, mutex, resource key, counting)

    3) Queues, Pipes or Mailbox (eg. LCD display in Mobile Time, Ph No.)

    4) Sockets (eg. COM port in PC to connect modem, port 80 web server)

    5) Remote Procedure Calls (RPC) for distributed processes

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    35/71

    13/4/2009 35

    Shared Data Problem & its Solutions

    Shared Data Problem: Conflict arising on a common variable due to usageby multiple tasks / processes on it.

    Eg. Interrupt changing thesubsequent bits while processing a 32 bit data on a8-bit CPU.

    Solutions: 1) Use of modifier Volatile

    2) Use of Re-entrant functions

    3) Putting shared variable in circular queues

    4) Disabling interrupts on execution of Criticalsection

    5) Using Semaphores

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    36/71

    13/4/2009 36

    Semaphore & its types

    Types of Semaphores: 1) Single, 2) Multiple, 3) Mutex

    4) P & V 5) Counting

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    37/71

    13/4/2009 37

    GOALS of Operating System

    1. Facilitating easy sharing of resource as per schedule and allocation.

    2. Facilitating easy implementation of application software.

    3. Optimally scheduling the processes on one / more CPU.

    4. Maximizing the system performance without any security breach.

    5. Providing the management functions for Processes, tasks, etc.

    6. Providing the management functions for Devices, Files, etc.

    7. Providing easy interface and management functions for network & protocols.

    8. Providing portability of application software on different hardware.

    9. Providing interoperability of application on different networks.

    10. Providing common set of interfaces.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    38/71

    13/4/2009 38

    STRUCTURE of Operating System

    Application Software

    API

    System Software(with functions other than in OS)

    OS interface

    OS

    Hardware OS

    Interface

    Hardware

    Eg. Device driver for Multimedia device

    Consists of KERNEL(Operated in User and Supervisory modes)

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    39/71

    13/4/2009 39

    KERNEL of Operating System

    - OS is a middle layer between Application Software & Hardware.

    - It consists of KERNEL and other functions not provided by Kernel.

    - KERNEL is operated in Supervisory mode andOther functions are operated in User Mode.

    KERNEL Services

    Process Management

    Memory Management

    Inter Process Communication

    I/O management

    Interrupt Control

    Device drivers

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    40/71

    13/4/2009 40

    Process Management in OS

    A. Process Creation: Initial and Subsequent process.

    B. Management of Created process:

    - Processing resource requests

    - Allocation of Resources (through Message / system calls)

    - Controlling of process through PCB.

    - Scheduling and synchronization

    Process management consists of

    creation, activation, running, blocking, resumption, deactivation, deletion of processes.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    41/71

    13/4/2009 41

    Memory Management in OS

    A. Memory Allocation: at the time of creation of a new process / tasks.

    B. Memory Management after allocation:

    - Fixed block allocation

    - Dynamic block allocation

    - Dynamic page allocation

    - Dynamic data memory allocation

    - Dynamic address reallocation

    - Multiprocessor memory allocation

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    42/71

    13/4/2009 42

    Device Management in OS

    A. Manages Physical / Virtual devices (eg. Pipes & sockets).

    B. Three standard approach to three types of device drivers

    a) Programmed I/O poling

    b) Interrupt driven through ISRc) DMA

    C. Functions of Device manager

    It includes function like Device detection & addition, device allocation and

    registration, device sharing, device buffer management, device accessmanagement.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    43/71

    13/4/2009 43

    File System Organization & Implementation

    - File is a named entity stored on secondary storage device.

    - It contains data in different formats.

    - Both real and Virtual files (Pipe) are managed.

    Functions to Organize Files in systematic way:

    Open

    Write

    Read Seek

    Close

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    44/71

    13/4/2009 44

    Real Time Operating System (RTOS)

    RTOS is an OS for Embedded system

    for response time and event controlled processes.

    RTOS Services:

    Basic OS functions - PM, RM, MM, DM, FSM, I/o, etc.

    RTOS main functions - RT task scheduling and latency control

    Time management - Time Allocation, time slicing & monitoring for efficiency.

    Predictability - Predicting time behaviour and initiation of tasksynchronization

    Priorities Management - Allocation and Inheritance

    IPC - Synchronization of Tasks using IPC.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    45/71

    13/4/2009 45

    Why need RTOS?

    Reasons for need of RTOS Occasions for NO need of RTOS

    When efficient scheduling inneeded for multitasks with timeconstraints.

    Task synchronization isneeded.

    Interrupt latency Control isessential.

    Small scale embedded systemnever use RTOS.

    Instead of functions in RTOS,standard lib functions in C can beused.

    eg. malloc(), free(),

    fopen(), fclose(), etc.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    46/71

    13/4/2009 46

    RTOS Task Scheduling Models

    A. Control flow strategy

    Complete control of i/p and o/ps. Co-operative scheduler adopts this

    strategy. Worst case latencies are well defined.

    B. Data flow strategy Interrupt occurrences are predictable.

    Task control not deterministic.Eg.network. (Packet arrival not predictable) Pre-emptive scheduler adopts this

    strategy.

    C. Control-data flow strategy Task scheduler fns are designed withpredefined time-out delays.

    WC latency is deterministic, because themax delay is predefined.

    Cyclic Co-op Schd, Pre-emp Schd, Fixedtime Schd, Dynamic RT Schd uses thisstrategy.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    47/71

    13/4/2009 47

    Co-operative Round robin Scheduling

    Other Types of Co-operative scheduling: i) using ordered list.

    ii) using time slicing with timers

    Dis-advantages: Longer execution time of a low priority task makes a higherpriority task wait until it finishes.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    48/71

    13/4/2009 48

    Pre-emptive Scheduling

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    49/71

    13/4/2009 49

    Other Scheduling techniques and Critical Section

    Critical Section: It is an important portion of a task, which should not beblocked as it uses a shared variable.

    Here, Pre-emptive scheduling leads to conflict.

    Other SchedulingTechniques: 1) Fixed real time scheduling of Tasks

    2) Probabilistic timed Petrinets

    3) Multi Thread Graphs (MTG)

    RTOS - Real Time Operating

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    50/71

    13/4/2009 50

    p gSystem

    A Real-Time Operating System (RTOS) is an operatingsystem (OS) intended for real-time applications inEmbedded systems.

    A key characteristic of real-time operating systems is thelevel of its consistency concerning the amount of time ittakes to accept and complete an application's task.

    A real-time OS has an advanced algorithm for scheduling.

    Key factors in an real-time OS are a minimal interruptlatency and a minimal thread switching latency.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    51/71

    13/4/2009 51

    Basic functions of RTOS

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    52/71

    13/4/2009 52

    Need forTested RTOS

    While designing a complex embedded systems, we need a tested bugfree codes for the following.

    Multiple task functions in C or C++.

    Real time clock based software timers (RTCSWT).

    Software for Co-operative scheduler. Software for a Pre-emptive scheduler.

    Device drivers and Device managers.

    Functions for Inter Process Communications.

    Network functions

    Error handling functions and exception handling functions.

    Testing and System debugging software.

    A readily available RTOS package provides the above functions and alot of time is saved for coding the same.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    53/71

    13/4/2009 53

    Options in RTOS

    Optionsfor

    RTOS

    Own RTOSLinuxBasedRTOS

    C/ OS-II(Freeware)

    PSoSVxWorksNucleusWin CE

    Palm OS

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    54/71

    13/4/2009 54

    C/OS-II (MUCOS)

    C/OS-II is Free Open-sourceRTOS designed by Jean J. Labrossein 1992.

    C/OS-II is intended forNon-commercial use.

    C/OS-II codes are in C and few CPU specific modules are in ASSY.

    C/OS-II code Port on MANY Processors that are commonly used inES design.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    55/71

    13/4/2009 55

    Features of C/OS-II

    C/OS-II is a Scalable OS.

    C/OS-II uses Pre-emptive Scheduler(for multitasking).

    C/OS-II has System level functions.

    C/OS-II has Task service functions.

    C/OS-II has Task delay functions. C/OS-II has Memory allocation functions.

    C/OS-II has IPC functions.

    C/OS-II has Semaphore, Queue, Mailbox functions.

    when OS or OS_used as prefix, it denotes a function / variableis a C/OS-II function or variable.

    Eg. OSTaskCreate() --- C/OS-II function for TASK CREATION.

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    56/71

    13/4/2009 56

    Source code files of C/OS-II

    A. Processor dependent source files

    Os_cpu.h Processor definition header file

    Os_cfg.h Kernel building configuration file

    Os_tick.c C file for ISR and RTOS timers

    Os_cpu_c.c Processor C codes file

    Os_cpu-a.s12 Assy code for task switching functions (68HC12)

    Source code files of C/OS-II

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    57/71

    13/4/2009 57

    (contd..)

    Ucos.ii.h MUCOS header file

    Ucos.ii.c MUCOS header file

    Os_core.c For RTOS core

    Os_time.c For RTOS timer

    Os_task.c For RTOS task related functions

    Os_mem.c For Memory partitioning

    Os_sem.c For Semaphore related functionsOs_q.c For Queue related functions

    B. Processor independent source files

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    58/71

    13/4/2009 58

    RTOS System level functions

    The System level functions are

    void OSInit (void) At the beginning prior to OSStart()

    void OSStart (void) After OSInit() and task creating functions

    void OSTickInit (void) To initialize System timer ticks

    void OSIntEnter(void) Just after the start of ISR codes

    Void OSIntExit (void) before return form the ISR codes

    OS_ENTER_CRITICAL Macro to disable all interrupts

    OS_EXIT_CRITICAL Macro to enable all interrupts

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    59/71

    13/4/2009 59

    Task Service functions

    These functions are used to create task, suspend and resume, andtime setting and retrieving functions.

    unsigned byte OSTaskCreate () Must call before running a task

    unsigned byte OSTaskSuspend (..) Called for blocking a task

    unsigned byte OSTaskResume (..) Called for resuming a blocked task

    void OSTimeset (..) When system time is to be set

    Unsigned int OSTimeGet (void) Find present count when time is read

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    60/71

    13/4/2009 60

    Time Delay functions

    MUCOS Time delay functions for the tasks are

    void OSTimeDly () To delay a task by count-1 value

    unsigned byte OSTimeDlyResume () To resume a task after a preset delay

    void OSTimeDlyHMSM () Time delay to block a task

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    61/71

    13/4/2009 61

    Memory related functions

    MUCOS memory related functions for the tasks are

    OSMem *OSMemCreate () To create and initialize memory partition

    void *OSMemGet (..) To find the pointer of memory control block

    unsigned byte OSMemQuery (..) To find pointers of memory blocks

    and data structures

    unsigned byte OSMemPut () To return a pointer of memory block

    S f

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    62/71

    13/4/2009 62

    Semaphore related functions

    When a semaphore created by OS and used a resource acquiring key, it mustbe initialized with 1 to indicate the resource is available.

    MUCOS Semaphore related functions for the tasks are

    OS_Event OSSemCreate () To create and initialize a semaphore

    void OSSemPend (..) To check whether a semaphore is pending

    unsigned short OSSemAccept (..) To check whether SemVal > 0

    unsigned byte OSSemPost () If SemVal = 0 or more, increments, and

    makes a semaphore again not pending.

    unsigned byte OSSemQuery () To get semaphore information

    Oth f ti

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    63/71

    13/4/2009 63

    Other functions

    Apart from the previous said functions, MUCOS has functions related to

    Mailbox

    Queue

    A t ti Ch l t V di M hi (ACVM)

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    64/71

    13/4/2009 64

    Automatic Chocolate Vending Machine (ACVM)

    Applications

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    65/71

    13/4/2009 65

    Applications

    Medical instrumentation Military applications Aerospace research

    Robotics Consumer Electronics Industrial Applications Automobiles

    Telecommunication

    B kth h i E b dd d S t D i

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    66/71

    13/4/2009 66

    Breakthrough in Embedded System Designs

    M k t P t ti l f E b dd d S t

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    67/71

    13/4/2009 67

    According to analyst firm,the embedded system opportunity is expected to touch

    US$ 360 billion (in terms of devices)

    US$ 36 billion (up from the existing US$ 2 billion).

    Experts also predict that there will be a ten-fold increase in the number ofpeople employed in the embedded systems industry,

    from the current 60,000 professionals to oversix lakh people by 2015.

    - Source: NASSCOM

    Market Potential forEmbedded Systems

    E b dd d S t C i i B l

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    68/71

    13/4/2009 68

    Embedded Systems Companies in Bangalore

    Sadhanasoft Click Technologies (I) Pvt. Ltd. NiharInfowayLtd. Infobahn (India) Pvt. Ltd.

    VisionComptechIntegrators Ltd

    DatamationConsultants Pvt. Ltd.

    Koenig Solutions Pvt. Ltd. Convergent Communications (India) Pv

    OptimalInfotechPvt. Ltd. CompucomSoftware Ltd. SuryaSoft-Tech Ltd Kale Consultants Ltd

    DatamationConsultants Pvt. Ltd.

    SuryaSoft-Tech Ltd Mphasis-BFL LtdRhombus Technologies Pvt. Ltd.

    Mphasis-BFL Ltd Global Automation ( Kale Consultants Ltd MindEdgeSolutions

    KarishmaSoftware Ltd. Parsec Technologies (India) Ltd.

    Binary Semantics Ltd. Netmumbai

    VirgosysSoftware Pvt. Ltd. Polaris Software Lab Ltd Cybersol Technologies Pvt Ltd SolutionNetIndia Pvt. Ltd.

    IQura Technologies Pvt. Ltd. SDIInfotechPvt. Ltd. DatumTechnologys(India) Ltd

    GatewayWebSystemsPvt. Ltd.

    WorldwideInfotechInc. JavaSoftechPvt. Ltd. Binary Semantics Ltd. LearnetIndia Ltd.

    Intrepid Solutions Private Ltd Global Software Initiatives Pvt. Ltd.

    WebspectrumSoftware Pvt. Ltd.

    KPITInfosystems Ltd

    iBiltTechnologies Ltd iTechWorkshop Pvt. Ltd. DatumTechnologys(India) Ltd

    Perfect E Com SolutionPvtLtd.

    References

    http://www.devseeker.in/content/companies/Pune/Sadhanasoft.htmlhttp://www.devseeker.in/content/companies/Pune/Click-Technologies-(I).htmlhttp://www.devseeker.in/content/companies/Bangalore/Nihar-Infoway-.htmlhttp://www.devseeker.in/content/companies/Bangalore/Nihar-Infoway-.htmlhttp://www.devseeker.in/content/companies/Bangalore/Nihar-Infoway-.htmlhttp://www.devseeker.in/content/companies/Bangalore/Infobahn-(India).htmlhttp://www.devseeker.in/content/companies/Kolkata/Vision-Comptech-Integrators-Limited.htmlhttp://www.devseeker.in/content/companies/Kolkata/Vision-Comptech-Integrators-Limited.htmlhttp://www.devseeker.in/content/companies/Kolkata/Vision-Comptech-Integrators-Limited.htmlhttp://www.devseeker.in/content/companies/Assam/Datamation-Consultants.htmlhttp://www.devseeker.in/content/companies/Assam/Datamation-Consultants.htmlhttp://www.devseeker.in/content/companies/Delhi/Koenig-Solutions.htmlhttp://www.devseeker.in/content/companies/Delhi/Convergent-Communications-(India).htmlhttp://www.devseeker.in/content/companies/Mumbai/Optimal-Infotech.htmlhttp://www.devseeker.in/content/companies/Mumbai/Optimal-Infotech.htmlhttp://www.devseeker.in/content/companies/Mumbai/Optimal-Infotech.htmlhttp://www.devseeker.in/content/companies/Kolkata/Compucom-Software-.htmlhttp://www.devseeker.in/content/companies/Kolkata/Compucom-Software-.htmlhttp://www.devseeker.in/content/companies/Delhi/Surya-Soft-Tech-Limited.htmlhttp://www.devseeker.in/content/companies/Delhi/Surya-Soft-Tech-Limited.htmlhttp://www.devseeker.in/content/companies/Pune/Kale-Consultants-Limited.htmlhttp://www.devseeker.in/content/companies/Delhi/Datamation-Consultants.htmlhttp://www.devseeker.in/content/companies/Delhi/Datamation-Consultants.htmlhttp://www.devseeker.in/content/companies/Mumbai/Surya-Soft-Tech-Limited.htmlhttp://www.devseeker.in/content/companies/Mumbai/Surya-Soft-Tech-Limited.htmlhttp://www.devseeker.in/content/companies/Pune/Mphasis-BFL-Limited.htmlhttp://www.devseeker.in/content/companies/Mumbai/Rhombus-Technologies.htmlhttp://www.devseeker.in/content/companies/Mumbai/Mphasis-BFL-Limited.htmlhttp://www.devseeker.in/content/companies/Bangalore/Global-Automation.htmlhttp://www.devseeker.in/content/companies/Delhi/Kale-Consultants-Limited.htmlhttp://www.devseeker.in/content/companies/Kolkata/MindEdge-Solutions.htmlhttp://www.devseeker.in/content/companies/Kolkata/MindEdge-Solutions.htmlhttp://www.devseeker.in/content/companies/Andhra_Pradesh/Karishma-Software.htmlhttp://www.devseeker.in/content/companies/Andhra_Pradesh/Karishma-Software.htmlhttp://www.devseeker.in/content/companies/Mumbai/Parsec-Technologies-(India)-.htmlhttp://www.devseeker.in/content/companies/Mumbai/Binary-Semantics-.htmlhttp://www.devseeker.in/content/companies/Mumbai/Netmumbai.htmlhttp://www.devseeker.in/content/companies/Bangalore/Virgosys-Software.htmlhttp://www.devseeker.in/content/companies/Bangalore/Virgosys-Software.htmlhttp://www.devseeker.in/content/companies/Andhra_Pradesh/Polaris-Software-Lab.htmlhttp://www.devseeker.in/content/companies/Mumbai/Cybersol-Technologies-Private-Limited.htmlhttp://www.devseeker.in/content/companies/Mumbai/SolutionNet-India.htmlhttp://www.devseeker.in/content/companies/Mumbai/SolutionNet-India.htmlhttp://www.devseeker.in/content/companies/Bangalore/IQura-Technologies.htmlhttp://www.devseeker.in/content/companies/Delhi/SDI-Infotech.htmlhttp://www.devseeker.in/content/companies/Delhi/SDI-Infotech.htmlhttp://www.devseeker.in/content/companies/Delhi/SDI-Infotech.htmlhttp://www.devseeker.in/content/companies/Pune/Datum-Technologys-(India)-Limited.htmlhttp://www.devseeker.in/content/companies/Pune/Datum-Technologys-(India)-Limited.htmlhttp://www.devseeker.in/content/companies/Pune/Datum-Technologys-(India)-Limited.htmlhttp://www.devseeker.in/content/companies/Pune/Gateway-WebSystems.htmlhttp://www.devseeker.in/content/companies/Pune/Gateway-WebSystems.htmlhttp://www.devseeker.in/content/companies/Pune/Gateway-WebSystems.htmlhttp://www.devseeker.in/content/companies/Bangalore/Worldwide-Infotech-Inc.htmlhttp://www.devseeker.in/content/companies/Bangalore/Worldwide-Infotech-Inc.htmlhttp://www.devseeker.in/content/companies/Bangalore/Worldwide-Infotech-Inc.htmlhttp://www.devseeker.in/content/companies/Pune/Java-Softech.htmlhttp://www.devseeker.in/content/companies/Pune/Java-Softech.htmlhttp://www.devseeker.in/content/companies/Pune/Java-Softech.htmlhttp://www.devseeker.in/content/companies/Kolkata/Binary-Semantics-.htmlhttp://www.devseeker.in/content/companies/Bangalore/Learnet-India-.htmlhttp://www.devseeker.in/content/companies/Bangalore/Learnet-India-.htmlhttp://www.devseeker.in/content/companies/Pune/Intrepid-Solutions-Private-Limited.htmlhttp://www.devseeker.in/content/companies/Bangalore/Global-Software-Initiatives.htmlhttp://www.devseeker.in/content/companies/Bangalore/Webspectrum-Software.htmlhttp://www.devseeker.in/content/companies/Bangalore/Webspectrum-Software.htmlhttp://www.devseeker.in/content/companies/Bangalore/Global-Software-Initiatives.htmlhttp://www.devseeker.in/content/companies/Bangalore/Webspectrum-Software.htmlhttp://www.devseeker.in/content/companies/Pune/KPIT-Infosystems-Limited.htmlhttp://www.devseeker.in/content/companies/Pune/KPIT-Infosystems-Limited.htmlhttp://www.devseeker.in/content/companies/Pune/KPIT-Infosystems-Limited.htmlhttp://www.devseeker.in/content/companies/Delhi/iBilt-Technologies-Limited.htmlhttp://www.devseeker.in/content/companies/Delhi/iBilt-Technologies-Limited.htmlhttp://www.devseeker.in/content/companies/Bangalore/iTech-Workshop.htmlhttp://www.devseeker.in/content/companies/Bangalore/iTech-Workshop.htmlhttp://www.devseeker.in/content/companies/Delhi/Datum-Technologys-(India)-Limited.htmlhttp://www.devseeker.in/content/companies/Delhi/Datum-Technologys-(India)-Limited.htmlhttp://www.devseeker.in/content/companies/Delhi/Datum-Technologys-(India)-Limited.htmlhttp://www.devseeker.in/content/companies/Mumbai/Perfect-E-Com-Solution.htmlhttp://www.devseeker.in/content/companies/Mumbai/Perfect-E-Com-Solution.htmlhttp://www.devseeker.in/content/companies/Mumbai/Perfect-E-Com-Solution.htmlhttp://www.devseeker.in/content/companies/Mumbai/Perfect-E-Com-Solution.htmlhttp://www.devseeker.in/content/companies/Mumbai/Perfect-E-Com-Solution.htmlhttp://www.devseeker.in/content/companies/Mumbai/Perfect-E-Com-Solution.htmlhttp://www.devseeker.in/content/companies/Delhi/Datum-Technologys-(India)-Limited.htmlhttp://www.devseeker.in/content/companies/Delhi/Datum-Technologys-(India)-Limited.htmlhttp://www.devseeker.in/content/companies/Delhi/Datum-Technologys-(India)-Limited.htmlhttp://www.devseeker.in/content/companies/Bangalore/iTech-Workshop.htmlhttp://www.devseeker.in/content/companies/Bangalore/iTech-Workshop.htmlhttp://www.devseeker.in/content/companies/Delhi/iBilt-Technologies-Limited.htmlhttp://www.devseeker.in/content/companies/Delhi/iBilt-Technologies-Limited.htmlhttp://www.devseeker.in/content/companies/Pune/KPIT-Infosystems-Limited.htmlhttp://www.devseeker.in/content/companies/Pune/KPIT-Infosystems-Limited.htmlhttp://www.devseeker.in/content/companies/Pune/KPIT-Infosystems-Limited.htmlhttp://www.devseeker.in/content/companies/Bangalore/Webspectrum-Software.htmlhttp://www.devseeker.in/content/companies/Bangalore/Webspectrum-Software.htmlhttp://www.devseeker.in/content/companies/Bangalore/Global-Software-Initiatives.htmlhttp://www.devseeker.in/content/companies/Pune/Intrepid-Solutions-Private-Limited.htmlhttp://www.devseeker.in/content/companies/Bangalore/Learnet-India-.htmlhttp://www.devseeker.in/content/companies/Bangalore/Learnet-India-.htmlhttp://www.devseeker.in/content/companies/Kolkata/Binary-Semantics-.htmlhttp://www.devseeker.in/content/companies/Pune/Java-Softech.htmlhttp://www.devseeker.in/content/companies/Pune/Java-Softech.htmlhttp://www.devseeker.in/content/companies/Pune/Java-Softech.htmlhttp://www.devseeker.in/content/companies/Bangalore/Worldwide-Infotech-Inc.htmlhttp://www.devseeker.in/content/companies/Bangalore/Worldwide-Infotech-Inc.htmlhttp://www.devseeker.in/content/companies/Bangalore/Worldwide-Infotech-Inc.htmlhttp://www.devseeker.in/content/companies/Pune/Gateway-WebSystems.htmlhttp://www.devseeker.in/content/companies/Pune/Gateway-WebSystems.htmlhttp://www.devseeker.in/content/companies/Pune/Gateway-WebSystems.htmlhttp://www.devseeker.in/content/companies/Pune/Datum-Technologys-(India)-Limited.htmlhttp://www.devseeker.in/content/companies/Pune/Datum-Technologys-(India)-Limited.htmlhttp://www.devseeker.in/content/companies/Pune/Datum-Technologys-(India)-Limited.htmlhttp://www.devseeker.in/content/companies/Delhi/SDI-Infotech.htmlhttp://www.devseeker.in/content/companies/Delhi/SDI-Infotech.htmlhttp://www.devseeker.in/content/companies/Delhi/SDI-Infotech.htmlhttp://www.devseeker.in/content/companies/Bangalore/IQura-Technologies.htmlhttp://www.devseeker.in/content/companies/Mumbai/SolutionNet-India.htmlhttp://www.devseeker.in/content/companies/Mumbai/SolutionNet-India.htmlhttp://www.devseeker.in/content/companies/Mumbai/Cybersol-Technologies-Private-Limited.htmlhttp://www.devseeker.in/content/companies/Andhra_Pradesh/Polaris-Software-Lab.htmlhttp://www.devseeker.in/content/companies/Bangalore/Virgosys-Software.htmlhttp://www.devseeker.in/content/companies/Bangalore/Virgosys-Software.htmlhttp://www.devseeker.in/content/companies/Mumbai/Netmumbai.htmlhttp://www.devseeker.in/content/companies/Mumbai/Binary-Semantics-.htmlhttp://www.devseeker.in/content/companies/Mumbai/Parsec-Technologies-(India)-.htmlhttp://www.devseeker.in/content/companies/Andhra_Pradesh/Karishma-Software.htmlhttp://www.devseeker.in/content/companies/Andhra_Pradesh/Karishma-Software.htmlhttp://www.devseeker.in/content/companies/Kolkata/MindEdge-Solutions.htmlhttp://www.devseeker.in/content/companies/Kolkata/MindEdge-Solutions.htmlhttp://www.devseeker.in/content/companies/Delhi/Kale-Consultants-Limited.htmlhttp://www.devseeker.in/content/companies/Bangalore/Global-Automation.htmlhttp://www.devseeker.in/content/companies/Mumbai/Mphasis-BFL-Limited.htmlhttp://www.devseeker.in/content/companies/Mumbai/Mphasis-BFL-Limited.htmlhttp://www.devseeker.in/content/companies/Mumbai/Rhombus-Technologies.htmlhttp://www.devseeker.in/content/companies/Pune/Mphasis-BFL-Limited.htmlhttp://www.devseeker.in/content/companies/Pune/Mphasis-BFL-Limited.htmlhttp://www.devseeker.in/content/companies/Mumbai/Surya-Soft-Tech-Limited.htmlhttp://www.devseeker.in/content/companies/Mumbai/Surya-Soft-Tech-Limited.htmlhttp://www.devseeker.in/content/companies/Delhi/Datamation-Consultants.htmlhttp://www.devseeker.in/content/companies/Delhi/Datamation-Consultants.htmlhttp://www.devseeker.in/content/companies/Pune/Kale-Consultants-Limited.htmlhttp://www.devseeker.in/content/companies/Delhi/Surya-Soft-Tech-Limited.htmlhttp://www.devseeker.in/content/companies/Delhi/Surya-Soft-Tech-Limited.htmlhttp://www.devseeker.in/content/companies/Kolkata/Compucom-Software-.htmlhttp://www.devseeker.in/content/companies/Kolkata/Compucom-Software-.htmlhttp://www.devseeker.in/content/companies/Mumbai/Optimal-Infotech.htmlhttp://www.devseeker.in/content/companies/Mumbai/Optimal-Infotech.htmlhttp://www.devseeker.in/content/companies/Mumbai/Optimal-Infotech.htmlhttp://www.devseeker.in/content/companies/Delhi/Convergent-Communications-(India).htmlhttp://www.devseeker.in/content/companies/Delhi/Koenig-Solutions.htmlhttp://www.devseeker.in/content/companies/Assam/Datamation-Consultants.htmlhttp://www.devseeker.in/content/companies/Assam/Datamation-Consultants.htmlhttp://www.devseeker.in/content/companies/Kolkata/Vision-Comptech-Integrators-Limited.htmlhttp://www.devseeker.in/content/companies/Kolkata/Vision-Comptech-Integrators-Limited.htmlhttp://www.devseeker.in/content/companies/Kolkata/Vision-Comptech-Integrators-Limited.htmlhttp://www.devseeker.in/content/companies/Bangalore/Infobahn-(India).htmlhttp://www.devseeker.in/content/companies/Bangalore/Nihar-Infoway-.htmlhttp://www.devseeker.in/content/companies/Bangalore/Nihar-Infoway-.htmlhttp://www.devseeker.in/content/companies/Bangalore/Nihar-Infoway-.htmlhttp://www.devseeker.in/content/companies/Pune/Click-Technologies-(I).htmlhttp://www.devseeker.in/content/companies/Pune/Sadhanasoft.html
  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    69/71

    13/4/2009 69

    References

    1. Rajkamal, Embedded Systems Architecture, Programming and Design,TMH, First reprint Oct. 2003

    2. David E.Simon,An Embedded Software Primer, Pearson Education Asia,

    First Indian Reprint 2000.

    3. www.embedded.com

    4. www.micrcontroller.com

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    70/71

    13/4/2009 70

    Thank You

  • 8/6/2019 25942557 IT1353 Embedded System All 5 Units

    71/71

    Thank Youfor your PATIENCE.


Recommended