Introduction
Embedded System is a combination of software and
hardware to get the specific work done. From small to large devices embedded
systems plays an important role in real world applications.
An embedded system can be an independent system or it
can be a part of a large system. There are several advantages of Embedded
System like low-cost, user friendly, low power consumption, etc. They have
great efficiency level. To make the efficient embedded system one should
overcome the failures caused.
Usually, two types of failure occur in an embedded
system
1. Hardware
Failure
2. Software
Failure
Hardware Failure in Embedded Systems:
· Badly
Calibrated Sensors: If the sensors are not properly calibrated, it will be less
sensitive to the input/error and will give less accurate output.
· Electrical
Failure: If any surge/spike gets into the embedded system, the system may cause
severe damage like short circuit, too high voltage/current pass through the
system.
· Mechanical
Failure: Jamming of the valve may also lead to serious damage.
· Temperature
Effects: Due to temperature effects some components get deformed in nature.
Deformation of components is also one of the reason due to which system may get
failed.
· Manufacturing/Assembly
process deficiencies: Sometimes, there is a manufacturing defect in some
components this will give rise to failure of an embedded system.
· Material
Failure: As majority of embedded systems uses semiconductors. So, there are
high chances of getting corroded.
· Hostile Environments: Every component has its own operating temperature range. Sometimes, environment plays an important role to get the efficient resultant output.
Software Failure in Embedded System:
· Deadlock:
It is a situation where a batch of processes are blocked because each process
is holding a resource and waiting for another resource acquired by some other
process. When an active application hits a deadlock, it may "hang" or
system becomes unresponsive.
· Buffer
Overflow: This occurs when a program tries to store more data in a temporary memory
that it can hold. Writing outside the allocated memory area can corrupt the
data, crash the program or cause the execution of malicious code that can allow
an attacker/hacker to modify the target process address space.
· Resource
Starvation: Starvation is the problem that occurs when low priority processes
get jammed for an unspecified time as the high priority processes keep
executing.
· Dangling
Pointers: A dangling pointer is a pointer to memory that your program should
not use. Using dangling pointers is a common mistake among beginners. One kind
of dangling pointer is an address in a part of memory that the OS knows does
not belong to your process. Using such a dangling pointer leads to a memory
fault.
· Race
Condition: A race condition occurs when two threads access a shared variable at
the same time. The first thread reads the variable, and the second thread reads
the same value from the variable. This may lead unexpected behaviour of the
system.
· Too
Small Memory: If the size of program code is more than the EEPROM/EPROM/PROM
then the embedded system is unable to execute the commands.
· Resource
leaks: This is type of programming errors which lead to the loss of computer
control over some of the hardware resources. Memory leaks are the simplest form
of resource leak.
· Shared interfaces with other systems: An interface is a shared boundary across which two or more separate components of an Embedded system exchange information. The exchange can be between software, computer hardware, peripheral devices, etc. Because of this some sometimes false data get shared or data gets lost.
Operational Failure:
Because of human mistakes such type of failure takes
place in the system. For example, Panipat ammonia gas leak tragedy (1992) is an
example of an operational failure.
Conclusion
From this article we get to know about different causes
of failures in the embedded systems and its overview. Because of these failures in the embedded
system one can face financial as well as human loss, less productivity, etc. By
overcoming this we can solve above following problems.
References
2. https://www.opuskinetic.com/2017/09/3-industrial-accidents-caused-by-human-error/
3. http://www.indiaenvironmentportal.org.in/content/13242/the-panipat-tragedy-what-went-wrong/
4. https://www.viewpointusa.com/IE/wp/top-5-embedded-system-design-fails/
Comments