Embedded systems are found everywhere in the world. For example, if you have a car then it has music player, led lights that are examples of the embedded system. If you live in home then good examples are oven, washing machine, AC, modem, TV remote etc.
Embedded systems have helped our life and make our life easy. Embedded systems are made with the help of microprocessors and microcontrollers that were first time build in 1960. The first modern embedded system named Apollo Guidance Computer was built in 1965.
Now let me explain what exactly an embedded system is.
What is an embedded system?
Embedded system is a combination of software and hardware to perform one specific task. The language code which is used to communicate in embedded systems is known as firmware. The software code is first written in any high-level language and then converted to machine language and assembled into the microcontroller chip. 90% of microcontroller chips are made for embedded systems.
Nowadays microchips are used in the manufacturing of smartphones, tablets and also in supercomputers.
Components of embedded system
The main components of an embedded system are hardware and software.
There are different type of hardware used in embedded systems.
The processor is of two types. One is a microprocessor and the other is a microcontroller. The microprocessor is used for processing larger tasks while the microcontroller is commonly used for some specific smaller tasks. Processors may be 8 bit, 16 bit, 32 bit and 64 bit. Most of the time 8 bit or 16-bit processors are used in embedded systems. But for large embedded systems 32 bit or 64-bit processors are also used.
The power supply is to provide electricity to the embedded system. The power supply can be provided in the form of a battery or wall adapter. The voltage of the power supply range from 1.8 volts to 5 volts.
In programming, we often use a timer or delay to wait for some code to run or for any event to generate. But in programming timers is overhead and consumes computing power. So we need separate timers/counters unit which helps the embedded system to perform work at a specific interval. The timers can be used in the washing machine, oven etc.
Input and output:
Any machine that works needs some type of input or output. For example, music player in a car needs input from the user to make volume up or down or play the next song. The input/output reads data from the register or memory of the device.
Memory is used to store temporary or permanent data. There are 3 types of memory used in embedded systems i.e. RAM, ROM, EEPROM. RAM (Random access memory) is a volatile memory where data is stored temporarily. RAM is used when the device or machine is running and data is gone when the device is turned off. RAM helps to store/read data used by the embedded system. ROM (Read-only memory) is a type of memory in which data is stored permanently and it helps to boot the embedded system. EEPROM (Electrically Erasable Programmable Read-Only Memory) is an advancement of ROM in which data is stored and also can be erased and rewritten.
Communication ports help one embedded system to communicate with another embedded system. Most of the microcontrollers have built-in ports. Some examples of communication ports are CAN, SPI, USB, Ethernet, UART etc.
There are some software components used in the embedded system which are below:
The emulator is a software or hardware component which behaves the same as any another system. If you want to copy features of another system then you can do so by attaching emulator to your system. Your system will behave the same at the target system.
A compiler is a program that converts high-level programming language code like C++, Java, and Python into low-level language code like machine language, assembly language or machine code. Program is first written in the high-level language than before transferring code to embedded systems it is first converted to machine language by a compiler.
A debugger is a program that identifies and help to fix errors in the program. Sometimes the code not works as expected so errors are detected by the debugger.
Assembler is used to convert assembly language to hex code. If you are a programmer who writes the program in assembly language then you have to convert your code to hex code or machine code which can be understood by the embedded system.