You are on page 1of 13

ASSINGMENT-3

Q-1-What are the basic requirement for the development of


embedded software for an embedded system?

Software development is the computer
programming, documenting, testing, and bug fixing involved in
creating and maintaining applications and frameworks involved
in a software release life cycle and resulting in a software
product.
Embedded software is a computer software written to control
machines or devices that are not typically thought of as
computers. Each embedded system is unique, with specialized
hardware and specialized software
Modern embedded system are often based on
microcontroller(CPUs with integrated memory or peripheral
interfaces) but ordinary microcontroller(using external chips for
memory & peripheral interface circuits. Are also still common,
especially in more complex system. A common standard class
of dedicated processor is the DSP.
Steps involved in preparing embedded software similar to
general programming
Use Spiral Model
Decide on programming language (C)
Know capabilities/limitations of processor/compiler
Main difference is that target hardware platform is unique
Leads to additional software complexity
1. Reliability- lifetime of the system after buying can it must
be reliable. The cost should be reliable to perfectly meet
the requiemnt of the embedded system .No bugs shuld be
found & provide good service to consumers.
Example- smart phones
It is the ability of a system functions under stated condition
for a specified period of time.it also explainsthe
consistency or repeatability of research measures.
2. Error handling- It can be possible by humans, the system
should be expected to run without the help of humans to
run for a longer period. the system should be specific so
not to be failed.
3. Cost effective- should be cost effective. A system is said
to be technically effective if a product is producing the
maximum output from the minimum quantity of inputs,
such as labour, capital and technology.
The concept of cost efficiency is related to productive
efficiency. Productive efficiency is concerned with
producing at th lowest point on the short run average cost
curve.
4. Power consumption- power consumption is directly
proportional to the cost. The system should be designed like
that it must be cost efficient.

5. Efficient use of memory- RAM sizes also directly proportional
to the cost. As the memory sizes increases the cost of the
system goes on increasing.

6. performance requirement- the performance is the another
man factor of the system.
Q-2- why concurrency is very important for development of
embedded system?
Concurrency is when multiple activities occur during the same
time interval. It is a natural phenomenon; in the real world many
things are happening simultaneously. Such parallelism is
especially prevalent in realtime embedded systems, where
multiple and potentially independent and non-synchronized
external stimuli are common (e.g., multiple users of a telephone
system). Each stimulus can result in a concurrent thread of
execution (instance of a use case) within the embedded
system. For example, multiple telephone calls could be in
progress, each of which requires its own complex sequence of
actions to control the overall call.
Software that interacts with the physical world has concurrency
as an unavoidable design challenge.
It has the capability to involve physical world where multiple
features takes time. If many controller are combined with an
embedded system then it must takes time controller must have
the capability to control the work.
These concurrency problems mainly occur when components
access share resources simultaneously and communicate with
each other. If these problems are not addressed then a system
could lead to sporadic and disastrous failures. During the
previous decade one could enhance the system.

Concurrency and distribution can also be used to increase the
performance and controllability of systems. Multiple processors
can be used to perform tasks in parallel to speed up
computational work. Within a single processor, multitasking can
increase responsiveness by preventing one activity from
blocking another (e.g.,waiting for input). Concurrency can be
used to speed up the startup of a system by processing the
actions to get each component ready for operation in parallel,
rather than initializing each one sequentially.
Controllability of the system can also be enhanced by
concurrency. For example, a process can be started or stopped
mid-stream by other concurrent processes. The above
capabilities would be difficult to achieve without concurrent
software.
Q-3-Heterogenity place an important role in embedded
system. Defines it?
Ans- There are different computation style implementation
technology. Means each one is not connected tThe increasing
complexity of heterogeneous systems-on-chip, SoC, and
distributed embedded systems makes system optimization and
exploration a challenging task. Ideally, a designer would try all
possible system configurations and choose the best one
regarding specific system requirements. Unfortunately, such an
approach is not possible because of the tremendous number of
design parameters with sophisticated effects on system
properties each other. Example- phonebook A major challenge
of heterogeneous system optimization is the lack of coherent
models and systematic search techniques. For this reason it is
important to evaluate a large number of architectures and
implementation alternatives. Ideally, the designer would try all
possible alternatives and choose the best regarding specific
system requirements. Unfortunately, this is not possible
because the high number of design parameters in complex
systems leads to a
very large design-space, prohibiting an exhaustive search.
Consequently, good exploration techniques are needed to find
optimal, or at least good, design alternatives. Manual design
space exploration heavily reduces design productivity. It is
highly desirable to automate at least part of the process. Of
course, even automatic exploration cannot search the whole
design space in reasonable time. Therefore, it is important to
find an appropriate sub search space containing good
solutions. Restriction of the search space to crucial system
parameters is necessary to allow an efficient search for good
design alternatives. task is activated due to an activating event.
Activating events can be generated in a multitude of ways,
including expiration of a timer, external or internal interrupt, and
task chaining. Task communication in SymTA/S is modeled
either using FIFOs or registers. In the case of FIFO
communication, each task is assumed to have one input FIFO.
A task reads its activating data from its input FIFO and writes
data into the input FIFO of a dependent task. A task may read
its input data at any time during one execution. The data is
therefore assumed to be available at the input during the whole
execution of the task. A task needs to be mapped on a
computation or communication resource to execute.When
multiple tasks share the same resource, then two or more tasks
may request the resource at the same time. In order to arbitrate
request conflicts, a resource is associated with a scheduler
which selects a task to which it grants the resource out of the
set of active tasks
according to some scheduling policy. Other active tasks have to
wait

Q-4-why timeliness is required for an system?
Ans-It is one of the features of embedded system. Timeliness
means the reaching of the system to its target is as important
as the reaching the target within time. Ex-microwave, washing
machine.
Computation takes time
1. It deals with the time because with which it
interacts evolve over time.
2. Satisfies timing constrains.
3. Performance gain is needed, speculative
instruction execution & branch designed for
embedded system to compromise the system
efficiency & reliability.
Distributed real-time embedded system have stringent
requirements for key performance properties, such as end-to-
end timeliness and reliability, in order to operate properly. In
recent years, with the continuously decreasing feature size and
increasing demand for computation capabilities of overheating
and even thermal failures. As a result, their temperature must
be explicitly controlled for improved reliability. While a variety of
control algorithms have been proposed for either real-time
guarantees or thermal management in an isolated manner.




Q-5-define the term Interface?
Ans- It can combine components by interfacing system can
combine components. The interface can refer to either a
hardware connection or a user interface. It can alsobe used as
averb, describing hoe two devices connect to each other.
A hardware interface is used to connect two or more electronic
devices together. For example, a printer typically connects to a
computer via a USb interface Therefore the USB port on the
compuer is considered the hardware interface. The printer itself
also has a USB interface, which is where the other end of the
USB cable connects. Several common peripherals connect to a
computer via USB, while other devices use a firewire
connection or other interface. Ethernet connection are
commonly used for networking , which is whymost cable
modems and routers have an Ethernet interface.
Many other Electronic devices besides computers use some
type of unterface to connect to other equipment. For example, a
TV may connect to a Blu-ray player via an HDMI cable and may
connect to a cable box using component cables.Audio devices
may have either analog or digital audio connections and may
include a MIDI interface,which is used to transfer MIDI data.
Ipod have a proprietary dock connector interface, which
allows them to connect to a power source and transfer data via
USB.
Since there are many different types of electronics devices,
there are also a lot of electronic devices, there are also a lot of
hardware interfaces. Fortunately, standards like USB,
firewire,HDMI , and MIDI have helped consolidate the number
of interface into a manageable number. After all, it would be
pretty difficult if each digital camera, printer , keyboard, and
mouse used a different interface .
There are different types of interfaces:-
1. Hardware interfaces
2. Software interfaces
Hardware interfaces eistsin many of the components such
as the various buses, storage devices, other I/O devices,
etc.
A hardware interface is described by the mechanical,
electrical and logical signals at the interface and the
protocol for sequencing them. A standard interface, such
as SCSI, decouples the design and introduction of
computing hardware, such as I/O devices, from the design
and introduction of other components of a computing
system, thereby allowing user and manufacturers great
flexibility in the implementation of computing system.
A software interface may refer to a wide range of different
types of interface at diff. levels an operating system may
interface with piece of hardware .application or programs
running on the operating system may need to interact via
streams, and in object oriented programs, object within an
application may need to interact via methods.

Q-R-6- How a Firm real-time system is different from
hard-real time system and soft real time system?
Ans-
Real-time is a quantitative notion of time. Real-time is
measured using a physical (real) clock. Whenever we quantify
time using a physical clock, we deal with real time. An example
use of this quantitative notion of time can be observed in a
description of an automated chemical plant. Consider this:
when the temperature of the chemical reaction chamber attains
a certain predetermined temperature, say 250
o
C, the system
automatically switches off the heater within a predetermined
time interval, say within 30 milliseconds. In this description of a
part of the behavior of a chemical plant, the time value that was
referred to denotes the readings of some physical clock present
in the plant automation system.
In contrast to real time, logical time (also known as virtual
time) deals with a qualitative notion of time and is expressed
using event ordering relations such as before, after, sometimes,
eventually, precedes, succeeds, etc. While dealing with logical
time, time readings from a physical clock are not necessary for
ordering the events. As an example, consider the following part
of the behavior of library automation software used to automate
the book-keeping activities of a college library:
Hard real time means you must absolutely hit every deadline.
Very few system have this requirement. Some example are
nuclear systems, some medical application such as
pacemaker, a large no. Of defence application , avionics etc.
Firm real-time system can miss some deadlines but eventually
performance will degrade of many are missed. A good example
is the bits, no big deal, but miss too many &your going to
eventually degrade the system. Similar would be seismic
sensors. If you miss a few data points, no big deal, but you
have to catch most of them to make sense of the data. More
importantly is going to die if they dont work correctly.
The line is fuzzy, because even a pacemaker can be off by a
small amount without killing the patient, but thats the general.
A system is called a real-time system, when we need
quantitative expression of time (i.e. real-time) to describe the
behavior of the system
Real-time systems have of late, found applications in wide
ranging areas. In the following, we list some of the prominent
areas of application of real-time systems and in each identified
case, we discuss a few example applications in some detail. As
we can imagine, the list would become very vast if we try to
exhaustively list all areas of applications of real-time systems.
We have therefore restricted our list to only a handful of areas,
and out of these we have explained only a few selected
applications to conserve space. We have pointed out the
quantitative notions of time used in the discussed applications.
Industrial applications constitute a major usage area of real-
time systems. A few examples of industrial applications of real-
time systems are: process control systems, industrial
automation systems, SCADA applications, test and
measurement equipments, and robotic equipments.
Example 1: Chemical Plant Control
Chemical plant control systems are essentially a type of
process control application. In an automated chemical plant, a
real-time computer periodically monitors plant conditions. The
plant conditions are determined based on current readings of
pressure, temperature, and chemical concentration of the
reaction chamber

Example 2: Automated Car Assembly Plant
An automated car assembly plant is an example of a plant
automation system. In an automated car assembly plant, the
work product (partially assembled car) moves on a conveyor
belt (see Fig. 28.1). By the side of the conveyor belt, several
workstations are placed. Each workstation performs some
specific work on the work product such as fitting engine, fitting
door, fitting wheel, and spray painting the car, etc.

A few examples of medical applications of real-time
systems are: robots, MRI scanners, radiation therapy
equipments, bedside monitors, and computerized axial
tomography (CAT).
Example 4: Robot Used in Recovery of Displaced
Radioactive Material
Robots have become very popular nowadays and are being
used in a wide variety of medical applications. An application
that we discuss here is a robot used in retrieving displaced
radioactive materials.

Q-7- Each software quality is needed for an embedded
software? If yes how?
Ans- It is one component of whole embedded system
development process. Software analysis is a software
engineering activity that brings system requirements closer to
software designs. In this activity, system requirement are
elaborated into software requirement. The elaboration into
software requirement. The elaboration is done by refining,
analysing, modelling 7 specifying allocated system requirement
into software requirement.
Two distinct activities are performed during the
specification of software requirements problem analysis &
product description. Problem analysis is inactivity where
analysis brainstorm ideas interview people & identification all
possible constraints on the problem solution. Product
description is concerned with the external behaviour of the
product. The purpose of the product description activity is to
solve the problem that is understand after the problem analysis.
A software specification is delivered as a resusult of the
requirement analysis. If necessary, it may be jointly prepared
with customers because software engineering usually do not
understand customer problems and domain are a well enough
to produce correct requirement.

After the software requirement have been analysed&
specified. They need to be verified. Verification ensueres that
requirement
1-correctly describe behaviour & characteristic of the system.
2-are internally consistent.
3-are completely high quality.
4-provide an adequate basis to proceed with design
implementation & testing.









Q-R 8- What are the design steps for development of
Embedded software?
Ans- there are various design steps for development of
Embedded system those are:-
Determine requirements: A requirement is something that
the system must exhibits or a quality the system must
have. Requirements are defined at the beginning of the
development as a specification of what should be
developed. Requirements for a system are typically a
combination of demands from different people at different
level of the developing organisation and from the
environment where the syste must operate. Requirements
in a system are generally classified as system hardware
and software requirements.

Design system architecture:

It represents the structure and organisation of
software components, their properties, and connection
between them, The architecture enables software
engineers to analyse the effectiveness of the design in
meeting its requirement. Having a good software
architecture doesnt ensure that the developed product will
meets its requirements. On other hand a badly made
architecture makes it almost impossible to meet the
products requirement. Other quality attributes like
testability. Under stability and modifiability can be also
implemented in the architectural design.

Selecting Operating system if any:




Choose development platform: development platform
becomes costly and complex to switch or even upgrade.
So for a start up choosing the development technologies
is a permanent decision unless or until matures are need
to or can afford to do major technology upgrades.
On other hand the choice of development platform is very
important in terms ofthe overall product development
process and operational management of the company.

Code the application: proper code and application is
required, code is a collection of computer instruction
written using some human readable computer language
usuallyas text. The source code is specially designed to
facilitate the work of computer programmes. The source
code is often transformed by a compiler program into loe-
level machine code understood by the computer.

Optimize the code according to the requirement

Verification in the host system.


Verify the software in the target system.

You might also like