Embedded Systems

Embedded Systems

Embedded Systems


In the present age, we are surrounded by fully automatic environment where the tasks are fulfilled within no time and that too without involving much human efforts. This achievement is possible due to large scale employability of embedded systems in different areas such as automatic cars, dishwashers, thermostats etc (Koopman, 2004). In the beginning embedded systems were employed in small devices such as iPod, mp3 player, Bluetooth headset, PlayStation but they have established their place in the several other key sectors such as banking, military, space, research, defence etc.

Practically, embedded systems are application dependent computer system and are a part of a large mechanical or electrical system. They iterate a specific task on the basis of the instructions provided by the user or developer. Embedded systems are actually an integration of software and hardware.
It is noteworthy that embedded systems are primarily dependent on a microcontroller in which timer, memory, counters etc are all placed together on the CPU and thus eliminating the need for extra memory. From the aforementioned discussion it can be concluded that embedded systems are not a single unit rather they are built onto a separate device.

Since years embedded systems are referred to as systems that perform some special functions in complex and large mechanical, electrical systems (Ganssle & Barr, 2003). As mentioned previously an embedded system is a significant part of the device it is built-in, including the hardware and mechanical parts (Heath, 2003).
In the present scenario, embedded systems are used in certain sophisticated devices and perform the task of controlling them (Barr & Massa, 2006). As per the industry records it has been observed that approximately 98% of the total microprocessors manufactured are employed in embedded systems (Barr, 2009).

Sometimes defined as special purpose computer, embedded systems are placed in the sophisticated devices for controlling them and perform certain pre-defined tasks. Since these systems are developed with the objective of fulfilling certain task, the engineers or developers can modify the systems with the objective of reducing the cost and size of the product manufactured, as they are often produced in bulk. Optimization of the design of the systems as per the need can augment the cost-effectiveness (Hsu, Nair, Freeh, & Menzies, 2018) .

Noticeably, with the advancement in the designs of the embedded systems, the complexity of the systems also increases. Additionally, the new devices or implementation of new technologies to the classical systems enhances their performance and enables them to perform the tasks assigned in a smart and efficient manner. Some of the key attributes of an embedded system are as follows:
Computational power: All embedded systems are equipped with some specific amount of computing power (Suarez, Garcia, & Garcia, 2000).
Memory: In order to remember the data provided, the embedded systems have a certain memory capacity.
Real-time: Since the embedded systems are built keeping in mind the different real-time constraints, these devices are designed in such a way so as to respond to the inputs provided by user.
Communication: In order to execute the tasks, the devices are built such that they respond to the inputs provided by the user and thus establishing effective communication.
Dynamic decisions: This property of the embedded systems assert that the system should be able to make decisions on the basis of input provided and modify the response as per the alterations in the input from the surrounding devices such as sensors (Jen-Hao Teng, Chin-Yuan Tseng, & Yu-Hung Chen, 2004).
Besides exhibiting higher efficacy in the present-day complex devices, there are some key challenges that hinder the performance of embedded systems. Some of these challenges are as follows.
Limited operating system support for programming: In an embedded system operating system is a key component since it handles the tasks such as memory management, scheduling etc.
Limited secondary memory: A majority of the embedded systems are dependent on some other types of non-volatile memory like ROM etc., rather than secondary memory devices. Since the systems with 16MB flash are considered to be premium, thus our code and data size must be small.
Limited random access memory: It is necessary that while programming embedded systems one must be careful about the memory leaks as these programs are assumed to be run for longer periods and leaking of a single byte of memory during execution might halt the system (Ramamritham, Arya, & Fohler, 2004).

References:


Barr, M., & Massa, A. (2006). Programming Embedded Systems: With C and GNU Development Tools (2nd ed.). Retrieved from http://www.staroceans.org/kernel-and-driver/Embedded.Systems-Programming.with.C.and.GNU.Development.Tools.(OReilly-2nd.Ed-2006).pdf

Barr, M. (2009). Real men program in C. Retrieved from https://www.embedded.com/real-men-program-in-c/
Heath, S. (2003). Embedded Systems Design. Retrieved from http://read.pudn.com/downloads158/ebook/707037/Embedded Systems Design – 2ed – 0750655461.pdf

Hsu, C.-J., Nair, V., Freeh, V. W., & Menzies, T. (2018). Arrow: Low-Level Augmented Bayesian Optimization for Finding the Best Cloud VM. 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS), 660–670. https://doi.org/10.1109/ICDCS.2018.00070

Jen-Hao Teng, Chin-Yuan Tseng, & Yu-Hung Chen. (2004). Integration of networked embedded systems into power equipment remote control and monitoring. 2004 IEEE Region 10 Conference TENCON 2004., C, 566–569. https://doi.org/10.1109/TENCON.2004.1414834

Koopman, P. (2004). Embedded system security. Computer, 37(7), 95–97. https://doi.org/10.1109/MC.2004.52

Kune, R., Konugurthi, P. K., Agarwal, A., Chillarige, R. R., & Buyya, R. (2016). The anatomy of big data computing. Software – Practice and Experience, 46(1), 79–105. https://doi.org/10.1002/spe.2374

Ramamritham, K., Arya, K., & Fohler, G.
(2004). System software for embedded applications. 17th International Conference on VLSI Design. Proceedings., 12–14. https://doi.org/10.1109/ICVD.2004.1260893

Rogers, C. F. (2006). Faculty perceptions about e-cheating during online testing. Journal of Computing Sciences in Colleges, 22(2), 206–212. Retrieved from https://dl.acm.org/citation.cfm?id=1181901.1181936

Suarez, Garcia, & Garcia. (2000). Performance debugging of parallel and distributed embedded systems. Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems PDSE-99, 135–149. https://doi.org/10.1109/PDSE.2000.847858

Wu, F., Rüdiger, C., & Yuce, M. (2017). Rea
l-Time Performance of a Self-Powered Environmental IoT Sensor Network System. Sensors, 17(2), 282. https://doi.org/10.3390/s17020282

Checklist


Is this article helpful?