Software for Embedded in a System Part 2
Embedded Systems in Tamil
Software for Embedding in a System
- Device drivers
- Device manager
- RTOS and
- Software tools
- In an embedded system, there are number of physical devices.
- Physical devices - keypad , LCD display or touch screen , memory stick(flash memory) , wireless networking device , parallel port and network card In an embedded system, there are number of virtual devices.
- Virtual devices - pipe , file , RAM disk , socket
Device Driver / Device Manager
Device Driver/Device Manager
- A device driver is software for controlling (configuring), receiving and sending a byte or a stream of bytes from or to a device.
- A set of generic functions , such as create ( ), open ( ), connect ( ), listen ( ), accept ( ), read ( ), write ( ), close ( ), delete ( ) for use by high level programmers. Each generic function calls a specific software (interrupt service routine), which controls a device function or device input or output.
Device controls and functions
- By Calling an ISR (also called Interrupt Handler Routine) on hardware or software interrupt.
- Placing appropriate bits at the control register or word.
- Setting status flag(s) in the status register for interrupting, therefore running (driving) the ISR, Resetting the status flag after interrupt service.
Device Manager for the devices and drivers
- Device Management software (usually a part of the OS) provide codes for detecting the presence of devices, for initializing (configuring) these and for testing the devices that are present.
- Also includes software for allocating and registering port(s) or device codes and data at memory addresses for the various devices at distinctly different addresses, including codes for detecting any collision between the allocated addresses.
Operating System (OS)
- Multitasking using an operating System (OS) and Real time operating system (RTOS), Concurrent Processes, tasks or threads.
- A System is composed of two or more concurrent processes that execute Operating System.
- Multitasking (multiprocessing or multithreaded) software Scheduling multiple tasks, Processes, memory, device, ports, network, file system, timers, event functions, inter processor communication, shared memory, security, GUIs, management.
Real Time Operating System (RTOS)
- Embedded software is most often designed for deterministic performance and task and ISR latencies in addition to the OS functions.
- Performing multiple actions and controlling multiple devices and their ISRs with defined real time constraints and with deadlines for these Task and ISRs priority allocations , their preemptive scheduling , OS for providing deterministic performance during concurrent processing and execution with hard or soft timing requirements with priority allocation and preemption.
- RTOS is needed when the tasks for the system have real time constraints and deadlines for finishing the tasks.
Structure of RTOS
- OS μCOS-II
- Windows CE
- Linux 2.6.24 or RTLinux
Difference between RTOS and GPOS
|RTOS (Real-time Operating System)||GPOS (General-purpose Operating System)|
|Deterministic: No Random Execution pattern||Random Execution pattern|
|Predictable Response times||Response times not Guaranteed|
|Examples : Contiki Source Code, FreeRTOSTM, ZephyrTM Project||Examples :Windows, Linux, Unix|
|Use case : Embedded Computing||Use case :Desktop, laptop, tablet computers.|
Development Tool software tools
- Assembler and Cross Assembler, IDE
Application Software DevelopmentTools
- Source Code Engineering Tools
- Stethoscope (tracks the switching from one task to another as a function of time, stores beats)
- Trace Scope (traces changes in a parameter(s) as a function of time)
- A Simulator used to simulate the target processor and hardware elements on a host PC and to run and test the executable module.
Examples of Embedded System
- Smart Cards
- Missiles and Satellites
- Computer Networking
- Digital Consumer Electronics and
Example of Embedded System
- Mobile phone
- Digital camera
- Point of sales terminals
- Automatic Chocolate Vending Machine
- Stepper motor controllers for a robotics system
- Washing or cooking system
- Multitasking Toys
- Microcontroller - Based single or multi-display digital panel meter for voltage, current, resistance and frequency.
Application of Embedded System
- Keyboard controller
- Serial port cards
- CD drive or Hard Disk drive controller
- Peripheral controllers, a CRT display controller, a keyboard controller, a DRAM controller, a DMA controller, a printer controller, a laser printer-controller, a LAN controller, a disk drive controller.
- Fax or photocopy or printer or scannerMachineRemote (controller) of TV.
- Telephone with memory, display and other sophisticated features.
- Motor controls Systems - For examples, an accurate control of speed and position of d.c. motor, robot, and CNC machine. The automotive applications like such as a close loop engine control, a dynamic ride control, and an anti-lock braking system monitor.
- Electronic data acquisition and supervisory control system Spectrum analyzer.
- Biomedical systems - For example, an ECG LCD display-cum-recorder, a blood- cell recorder cum analyzer and a patient monitor system service.