Software for embedding in a system Part 1




Embedded Systems in Tamil


Software for embedding into the system

  • ROM image
  • Programming Languages and
  • Program models

Rom Image

  • Final stage software also called ROM image (Just as an image is a unique sequence and arrangement of pixels, embedded software is also a unique placement and arrangement at each ROM address of bytes for instructions and data).
 ROM Memory

ROM Memory

Final machine software

  • Bytes at each address defined for creating the ROM image.
  • By changing this image, the same hardware platform works differently and can be used for entirely different applications.
  • Distinct ROM image in a distinct Embedded System.
  • Compressed Codes and Data ROM image may alternatively be compressed software (for example, the zip format) and data.
 Final Machine Software

Final Machine Software

Programming Languages

  • Machine Language Coding :
    • Programmer defines the addresses and the corresponding bytes or bits at each address.
    • Used in configuring some specific physical device or subsystem like transceiver.
  • Assembly Language Coding :
    • It is needed for Invoking Processor.
    • Specific Instructions is requiring to understanding of the processor and instruction set.

Three steps when using assembly language

  • Assembler
  • Linker and
  • Locator
 Assembly Language

Assembly Language

Assembler

 Assembler

Assembler

Loader

 Loader

Loader

Programming language C or C++ or Visual

 Different Program Layer

Different Program Layer

  • Application Software - Different Program Layers
  • Program layers:
    • Processor commands
    • Main function
    • Task functions and
    • Library functions
    • Interrupt service routines and kernel (scheduler), Compiler
    • Generates an object file. Using linker and locator, the file for ROM image is created for the targeted hardware. C++ and Java are other languages used for software coding.
 Converting C into ROM Image

Converting C Program into ROM Image

Program Models

 Programming Models

Programming Models

Sequential programming

#include<reg51.h>  

void main(void)  
{
  P1 = 0x00; 
  		 
  while(1)  
     {
       P1 = 0xFF;          
       for(int i=0;I < 250;i + +);   // Dummy for loop to get delay
       P1 = 0x00;  
       for(int i=0;I < 250;i + +); // Dummy for loop to get delay
     }
}
 Sequential Programming

Sequential Programming

Object Oriented Programming Model

class Program
 {
  static void Main(string[] args)
  { 
     KaaShivRectangle r = new KaaShivRectangle();
     r.Values(); 
  }
 }
  class KaaShivRectangle
  { 
   double length;
   double width;
   public void Values()
   {
       length = 5; 
       width = 4;
   }

Finite State Machine for data path

class Bomb : public Fsm
 {
int myTimeout;            // extended state variable
public:
 
   void initial(Event const *e); // initial pseudostate
   void setting(Event const *e);       // state handler
   void timing(Event const *e);        // state handler
   void blast(Event const *e);         // state handler
};
 Finite State Machine

Finite State Machine

Multithreaded programming

 Multithreading Programming

Multithreading Programming



Related Searches to Software for embedding in a system Part 1

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We don't have any banner, Flash, animation, obnoxious sound, or popup ad. We do not implement these annoying types of ads!

We need money to operate the site, and almost all of it comes from our online advertising.

Please add wikitechy.com to your ad blocking whitelist or disable your adblocking software.

×