Friday, August 30, 2013

Hard Real Time System & soft Seal Time System

What is Real time Embedded System

Definition 1:
A real-time system is one that must process information and produce a response within a specified time, else risk severe consequences, including failure. That is, in a system with a real-time constraint it is no good to have the correct action or the correct answer after a certain deadline: it is either by the deadline or it is useless!

Definition 2 :
Any system in which the time at which output is produced is significant. This is usually because the input corresponds to some event in the physical world, and the output has to relate to that same event. The lag from input time to output time must be sufficiently small for acceptable timeliness

Definition 3 :
Any information processing activity or system which has to respond to externally generated input stimuli within a finite and specified period.


"A real-time system is one whose correctness is based on both the correctness of the outputs and their timeliness. The ‘novelty’ here is that the system is time critical."

Ex: A telephone switching system must feed dial tone to thousands of subscribers within a recommended limit of second.the software message Communication system involved have to work with in a limited time.


Programming for Embedded systems

Programming for Embedded systems

  1. C , c++ 
  2. Target Specific Assembly
  3. Optimization for speed
  4. Optimization for Memory



Communication Interfaces ,How to generate executable Images

Communication Software

Communication interface is required to interact with external world as well as other devices with in the system. Various industry standard Communication interface available are:
  1. TCP/IP
  2. USB
  3. UART
  4. SPI
  5. I2C
  6. I2S
Process of Generating Executable Images

Cross platform development





Categories Of Embedded Systems and Application software

Categories of Embedded system OS:

1.Non Real time Operating System
Ex: Embedded Linux, Windows XP
(DVD players, set top boxes)

2. Real time Operating System
Ex:QNX, VxWorks, RTLinux

3. Mobile/Handled Operating System
Ex:Plam OS, Symbian OS, Windows CE etc
(PDA’s, smart phones, palmtops etc)

4. Custom or Limited Kernel  based on the need

Application Software

By now you should have Decided the OS to be used

 Development tools For the operating system to gain access to the OS service.

Few Examples are

  1. Keil for ARM
  2. RVDS for ARM
  3. Code Composer studio for TI targets
Application Specific Software has to developed above the Operating System using the specific tool

Common API’s provided by OS are:

  1. To create, suspend and delete a task
  2. To do task scheduling for meeting the requirements
  3. To facilitate Inter task communication
  4. To facilitate synchronisation
  5. To Initialize, increment and reset counters
  6. To allocate and free memory
  7. To access I/O devices
  8. To access Communication protocol stack



Wednesday, August 28, 2013

Introduction to Embedded Systems

What is an Embedded System?

An Embedded system is a computer system with a dedicated function with  real-time computing constraints. It is integrated as part of a device often including hardware and mechanical parts.  An Embedded system is a device controlled by set of instructions which is stored on a chip.These devices are usually controlled by a processor that executes the instructions stored on a memory chip.


It is a combination of Computer Hardware, Software and perhaps additional Mechanical Parts, designed to perform a Specific Function.

Desktop System Vs Embedded System

  1. In contrast to Desktops that performs a Variety of Tasks, an Embedded System performs a Single, Well-Defined Task. 
  2. The System has a Processor, Associated Peripherals, and Software for a Specific Purpose.
  3. For example, in a Mobile Phone the Embedded Processor needs to Process Voice (to Send and Receive Speech Signals) as well as implement Communication Protocols. 
  4. The Hardware is Custom Built for the Specific Purpose

Generalization of Application Areas

Embedded Systems cover such a broad range of products that generalization is difficult. Here are some broad categories:
  1. Aerospace 
  2. Defense Electronics
  3. Automotive
  4. Broadcast 
  5. Entertainment
  6. Consumer Appliances
  7. Digital Imaging
  8. Industrial Measurement and Control

A typical Embedded system contains:

1.Processor
2.Memory
3.IO devices
4.Software to control

Software Architecture of an Embedded System

The software in Embedded systems consists of

1.  Operating system
2.  Application software 

Embedded systems are constrained for memory so we can’t use an operating systems such as Windows or Linux.

Services provided by operating system:

1.Process/task management
2.Memory management
3.I/O management
4.Providing the services to the application
5.Providing the user interface 


Attributes of Embedded system :

1.Reliability
2.Performance
3.Power Consumption
4.Cost
5.Size
6.Small foot prints
7.Limited User Interface
8.portability
9.scalability
10.Software Up gradation Capability