What are Embedded Systems? Use, Definition, Types
An embedded system is a combination of computer hardware and software for a specific function or special functions within a large system. These systems have limited capacity and therefore limited programmability. In our daily life, we frequently use many electrical and electronic circuits and kits designed using embedded systems technology. Besides industrial machines, medical devices, automobiles, cameras, household items, airplanes, vending machines and toys, mobile devices include many embedded systems.
Electronic systems that integrate hardware circuits with software programming techniques to provide project solutions are called embedded systems. Embedded systems are computing systems. By using this embedded system technology, the complexity, cost and size of circuits can be greatly reduced. There are also embedded systems with complex user interfaces (for example, embedded systems used in mobile devices) as there are simple embedded systems with no user interface (for example, devices where the embedded system is designed to perform a single task). Buttons, leds, touch screens can be given as examples of user interfaces. Some embedded systems can also use remote user interfaces.
Embedded System Hardware
An embedded system is basically an electronic system that can or may not be programmed to run, organize and perform single or multiple tasks based on the application. Embedded systems can be microprocessor or microcontroller based. In both cases, at the heart of the product is an integrated circuit (IC) designed to compute for real-time operations. Microprocessors cannot be visually distinguished from microcontrollers.
Microprocessors use only the central processing unit (CPU) and therefore other components such as memory chips have to be added to the system. Microcontrollers are designed as self-sufficient systems. Microcontrollers not only have a CPU, but also peripherals such as memory, RAM and serial communication ports. Because microcontrollers tend to use a whole system, they are often used in more complex systems. For example; Microcontrollers are mostly used in home appliances, medical devices, robots and vehicles.
Embedded System Software
A software used in an embedded system is a set of instructions called a program. A typical industrial microcontroller is fairly straightforward compared to a typical corporate desktop computer and is often dependent on a simpler and less memory-consuming program environment. Because an embedded system is designed to perform only specific tasks, design engineers have to optimize size, cost, power consumption, reliability and performance. Simple devices run on bare metal and are programmed using the machine code of the chip’s CPU.
These programs can primarily be written using any programming environment such as Proteus or Lab-view using any programming language such as C / C ++ or embedded C. However, embedded systems often use operating systems or language platforms suitable for embedded use where real-time operating environments must be provided. Examples of these are the simplified Linux versions, EmbeddedJava, and Windows IoT (formerly Windows Embedded).
Debugging in Embedded Systems
Just as it is necessary to debug the operating systems and programming environments of large-scale computers, this is also necessary for embedded systems. Programmers working in the computer environment have the opportunity to run debugger applications where they can monitor both the developed code and the actions of the code developed during operation. Unfortunately, embedded system programmers do not have such a possibility. Some programming languages operate on microcontrollers efficiently enough to have primitive interactive debugging directly on the chip.
In addition, processors often have CPU debuggers that can be controlled via a JTAG or similar debug port and thus control program execution. In many cases, embedded system programmers need tools that have a separate debug system attached to the target system via serial or another port. In this scenario, the programmer can see the source code on the screen of a traditional personal computer, such as when debugging software on a desktop computer. A common approach is to run software that emulates / emulates the physical chip on a computer. Thus, it is possible to debug the errors in the program written for the physical chip.
In general, embedded systems placed more emphasis on testing and debugging, as the large number of devices using embedded controls are designed for use in situations where security and reliability are top priority. While some embedded systems can be relatively simple, many embedded systems have to make decisions like humans or offer capabilities that exceed human possibilities. For example, by integrating sensor data in some aviation systems, it can act much faster than humans can based on this information.
Embedded systems; It is easily customizable, has low power consumption, low cost and high performance. Therefore, digital electronics, telecommunications, computer network, smart cards, satellite systems, military defense system equipment, research system hardware, etc. It is used in many areas such as. However, developing an embedded system requires considerable effort and takes a long time to launch.