Introduction to
Embedded and
RTOS
Embedded Systems
•An embedded system can be defined as a computing device that does a
specific focused job.
•Appliances such as AC, VCD player, DVD player, FAX machine, mobile phones
etc. are examples of embedded systems.
•Each of these will have a processor and specific hardware to meet specific
requirement of the application along with the embedded software.
•This embedded software is also called as firmware.
Embedded Systems Characteristics
•Embedded systems do a very specific task
•Embedded systems have limited resources, particularly the memory
•Embedded systems have to work against some deadlines(real-time
systems)
•Embedded systems are constrained for power.
•Embedded systems need to be highly reliable.
•Some embedded systems have to work in extreme conditions( high
temperature and humidity)
Application Areas
•Consumer appliances: Digital cameras, Electronic toys, DVD/VCD
players, etc.
•Office automation: Photocopy machine, FAX machine, modem,
Scanner, etc.
•Industrial automation: Process control in industries, Robots, etc.
•Medical electronics: ECG, EEG, BP measuring devices, etc.
•Computer networking: routers, bridges, etc.
•Telecommunications: IP phones, IP gateways, etc.
•Wireless technologies: Base station controllers, Mobile switching
centers, etc.
•Instrumentation: Oscilloscopes, spectrum analyzer, etc.
•Security: Biometric devices, encryption devices, etc.
Categories of Embedded systems
•Stand alone embedded systems(Digital cameras,
microwave ovens, CD player, AC, TV, etc.
•Real time systems( Missile tracking an aircraft)
•Networked Information Appliances( Web camera
connected to internet)
•Mobile Devices
Architecture of Embedded Systems
•CPU
•Memory (ROM and RAM)
•Input Devices
•Output Devices
•Communication Interfaces
• Application-specific circuitry
Specialties of Embedded systems
•Reliability(specially for mission-critical applications)
•Performance (in meeting deadlines e.g. time deadlines)
•Power consumption
•Cost( lower the better except for safety applications)
•Size( small size preferred)
•Limited user interface
•Software upgradation capability
Recent trends in Embedded systems
•Processor power(8-bit,16-bit, 32-bit and 64-bit micro-
controllers and microprocessors available, Powerful Digital
Signal Processors available for real-time analyses of audio and
video signals)
•Memory (available with reduced cost day by day)
•Operating Systems embedded( leads to fast software
development and time to market the system reduces)
Recent trends in Embedded systems
•Communication interfaces and Networking
Capabilities( Ethernet, wireless LAN and Infrared)
•Programming Languages ( availability of cross compilers
most of the development is using High-level languages
instead of assembly language)
•Development Tools ( Availability of such for development,
debugging, and testing and for modeling of embedded
systems leads to the fast development of robust and reliable
systems.
Real-time operating systems
•Real-time computing may be defined as that type of computing
in which the correctness of the system depends not only on the
logical result of the computation but also on the time at which
the results are produced.
•The operating system, and in particular the scheduler, is perhaps
the most important component of a real-time system.
Real-time operating systems
•Examples of current applications of real-time systems include
control of laboratory experiments, process control in industrial
plants, robotics, air traffic control, telecommunications, and
military command and control systems.
•Next-generation systems will include the autonomous land
rover, controllers of robots with elastic joints, systems found in
intelligent manufacturing, the space station, and undersea
exploration.
Real-time operating systems
•In general, in real-time systems, some of the tasks are real-time
tasks
•These have a certain degree of urgency to them.
•Such tasks are attempting to control or react to events that take
place in the outside world.
•Because these events occur in “real-time,” a real-time task must
be able to keep up with the events with which it is concerned.
•Thus, it is usually possible to associate a deadline with a
particular task, where the deadline specifies either a start time or
a completion time.
Real time operating systems
A real time task may be classified as hard or soft.
•A hard real-time task is one that must meet its deadline;
otherwise, it will cause unacceptable damage or a fatal error
to the system.
•A soft real-time task has an associated deadline that is
desirable but not mandatory; it still makes sense to schedule
and complete the task even if it has passed its deadline.
Real time operating systems
Another characteristic of real-time tasks is whether they are
periodic or aperiodic.
•An aperiodic task has a deadline by which it must finish or
start, or it may have a constraint on both start and finish time.
•In the case of a periodic task, the requirement may be stated
as “once per period T” or “exactly T units apart.”
Characteristics of Real time operating systems
•Determinism: An operating system is deterministic to the extent that it
performs operations at fixed, predetermined times or within predetermined
time intervals. When multiple processes are competing for resources and
processor time, no system will be fully deterministic.
•Responsiveness: Responsiveness is concerned with how long, after
acknowledgment, it takes an operating system to service the interrupt.
•User control: In a real-time system, however, it is essential to allow the
user fine-grained control over task priority. The user should be able to
distinguish between hard and soft tasks and to specify relative priorities
within each class.
Characteristics of Real-time operating systems
•Reliability: Reliability is typically far more important for real-time
systems as a real-time system is responding to and controlling
events in real-time.
•Fail-soft operation: Fail-soft operation is a characteristic that
refers to the ability of a system to fail in such a way as to preserve
as much capability and data as possible