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
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
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
Assembler
Assembler
Loader
Loader
Programming language C or C++ or Visual
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 Program into ROM Image
Program Models
Programming Models
Sequential programming
Sequential Programming
Object Oriented Programming Model
Finite State Machine for data path
Finite State Machine
Multithreaded programming
Multithreading Programming