About Embedded Systems Interview Preparation
Embedded Systems interview questions and answers for freshers and experienced candidates, including basic concepts, advanced topics, practical examples, project discussion points and common HR preparation guidance.
For better preparation, read each question carefully, understand the concept, prepare one real example,
and connect your answer with your project or work experience.
Embedded Systems Questions List
Quick list of important Embedded Systems interview questions. Detailed answer previews are available below.
- What is the need for an infinite loop in Embedded systems?
- How does combination of functions reduce memory requirements in embedded systems?
- A vast majority of High Performance Embedded systems today use RISC architecture why?
- Why do we need virtual device drivers when we have physical device drivers?
- What is the need for DMAC in ES?
- What is Endianness of a system and how do different systems communicate with each other?
- How are macros different from inline functions?
- What could be the reasons for a System to have gone blank and how would you Debug it?
- Explain interrupt latency and how can we decrease it?
- How to create a child process in linux?
- Significance of watchdog timer in Embedded Systems
- If you buy some RTOS, what are the features you look for in ?
- What are the commonly found errors in Embedded Systems?
- What is the need for having multibyte data input and output buffers in case of device ports?
- What are the differences between analytical and computational modeling?
- What are the functional requirements that are used in the embedded systems?
- Why is Model transformations used in the embedded system?
- What is interaction semantics used in embedded systems?
- What are the different types of system involved in embedded system?
- What are the different types of Buses used by the embedded systems?
- What is the main function of Multiplexed Address/Data Bus?
- How does Input/Output bus functions?
- What is the function of simple thread poll in embedded system?
Question 1: What is the need for an infinite loop in Embedded systems?
Answer: Infinite Loops are those program constructs where in there is no break statement so as to get out of the loop, it just keeps looping over the statements within the block defined. Example: While(Boolean True) OR for(;;); { //Code } Embedded systems need infinite loops for repeatedly processing/monitoring the state of the program. One example could be the case of a program state continuously being checked for any exceptional errors that might just occur during run time such as memory outage or divide by zero etc., For e.g. Customer care Telephone systems where in a pre-recorded audio file is played in case the dialer is put on hold.. Also circu...
View detailed answer →
Question 2: How does combination of functions reduce memory requirements in embedded systems?
Answer: The amount of code that has to be dealt with is reduced thus easing the overhead and redundancy is eliminated in case if there is anything common among the functions. Memory allocation is another aspect that is optimized and it also makes sense to group a set of functions related in some way as one single unit rather than having them to be dispersed in the whole program. In case of interactive systems display of menu list and reading in the choices of user's could be encapsulated as a single unit.
View detailed answer →
Question 3: A vast majority of High Performance Embedded systems today use RISC architecture why?
Answer: According to the instruction sets used, computers are normally classified into RISC and CISC.RISC stands for 'Reduced Instruction Set Computing' .The design philosophy of RISC architecture is such that only one instruction is performed on each machine cycle thus taking very less time and speeding up when compared to their CISC counterparts. Here the use of registers is optimised as most of the memory access operations are limited to store and load operations. Fewer and simple addressing modes, and simple instruction formats leads to greater efficiency, optimisation of compilers, re-organisation of code for better throughput in terms of space ...
View detailed answer →
Question 4: Why do we need virtual device drivers when we have physical device drivers?
Answer: Device drivers are basically a set of modules/routines so as to handle a device for which a direct way of communication is not possible through the user's application program and these can be thought of as an interface thus keeping the system small providing for minimalistic of additions of code, if any. Physical device drivers can’t perform all the logical operations needed in a system in cases like IPC, Signals and so on... The main reason for having virtual device drivers is to mimic the behaviour of certain hardware devices without it actually being present and these could be attributed to the high cost of the devices or the unavail...
View detailed answer →
Question 5: What is the need for DMAC in ES?
Answer: Direct memory access is mainly used to overcome the disadvantages of interrupt and progam controlled I/O. DMA modules usually take the control over from the processor and perform the memory operations and this is mainly because to counteract the mismatch in the processing speeds of I/O units and the procesor.This is comparatively faster. It is an important part of any embedded systems,and the reason for their use is that they can be used for bursty data transfers instead of single byte approaches. It has to wait for the systems resources such as the system bus in case it is already in control of it.
View detailed answer →
Question 6: What is Endianness of a system and how do different systems communicate with each other?
Answer: Endianness basically refers to the ordering of the bytes within words or larger bytes of data treated as a single entity. When we consider a several bytes of data say for instance 4 bytes of data,XYZQ the lower byte if stored in a Higher address and others in successively decreasing addresses ,then it refers to the Big Endian and the vice versa of this refers to Little Endian architecture. Intel 80x86 usually follows Little Endian and others like IBM systems follow Big Endian formats. If the data is being transmitted care has to be taken so as to know as to which byte,whether the higher or the lower byte is being transmitted. Hence a common f...
View detailed answer →
Question 7: How are macros different from inline functions?
Answer: Macros are normally used whenever a set of instructions/tasks have to be repeatedly performed. They are small programs to carryout some predefined actions. We normally use the #define directive in case we need to define the values of some constants so in case a change is needed only the value can be changed and is reflected throughout. #define mul(a,b) (a*b) The major disadvantage of macros is that they are not really functions and the usual error checking and stepping through of the code does not occur. Inline functions are expanded whenever it is invoked rather than the control going to the place where the function is defined and avoids all...
View detailed answer →
Question 8: What could be the reasons for a System to have gone blank and how would you Debug it?
Answer: Possible reasons could be, - PC being overheated. - Dust having being accumulated all around. - CPU fans not working properly . - Faulty power connections. - Faulty circuit board from where the power is being drawn. - Support Drivers not having being installed. Debugging steps which can be taken are: - Cleaning the system thoroughly and maintaining it in a dust-free environment. Environment that is cool enough and facilitates for easy passage of air should be ideal enough. - By locating the appropriate support drivers for the system in consideration and having them installed.
View detailed answer →
Question 9: Explain interrupt latency and how can we decrease it?
Answer: Interrupt latency basically refers to the time span an interrupt is generated and it being serviced by an appropriate routine defined.,usually the interrupt handler. External signals,some condition in the program or by the occurrence of some event,these could be the reasons for generation of an interrupt. Interrupts can also be masked so as to ignore them even if an event occurs for which a routine has to be executed. Following steps could be followed to reduce the latency - isrs being simple and short. - Interrupts being serviced immediately - Avoiding those instructions that increase the latency period. - Also by prioritizing interrupts ove...
View detailed answer →
Question 10: How to create a child process in linux?
Answer: Prototype of the function used to create a child process is pid_t fork(void); Fork is the system call that is used to create a child process. It takes no arguments and returns a value of type pid_t. If the function succeeds it returns the pid of the child process created to its parent and child receives a zero value indicating its successful creation. On failure, a -1 will be returned in the parent's context, no child process will be created, and errno will be set The child process normally performs all its operations in its parents context but each process independently of one another and also inherits some of the important attributes from i...
View detailed answer →
Question 11: Significance of watchdog timer in Embedded Systems
Answer: Watchdog timer is basically a timing device that is set for predefined time interval and some event should occur during that time interval else the device generates a time out signal. One application where it is most widely used is when the mobile phone hangs and no activity takes place,in those cases watchdog timer performs a restart of the system and comes to the rescue of the users. It is used to reset to the original state whenever some inappropriate events take place such as too many commands being given at the same time or other activities that result in malfunctioning of the GUI.It is usually operated by counter devices.
View detailed answer →
Question 12: If you buy some RTOS, what are the features you look for in ?
Answer: Deterministic operating system having guaranteed worst-case interrupt latency and context-switch times. -Documentation providing for the minimum, average, and maximum number of clock cycles required by each system call -Interrupt response times should be very minute. -Context switch time should be very low. -Compatibility with several plugin devices. - Overall it should be very reliable.
View detailed answer →
Question 13: What are the commonly found errors in Embedded Systems?
Answer: Damage of memory devices due to transient current and static discharges. - Malfunctioning of address lines due to a short in the circuit - Malfunctioning of Data lines. - Some memory locations being inaccessible in storage due to garbage or errors. - Improper insertion of Memory devices into the memory slots - Faulty control signals.
View detailed answer →
Question 14: What is the need for having multibyte data input and output buffers in case of device ports?
Answer: It’s normally the case that some devices transfer the output either in a bursty or a sequential manner and also during input entry. If we take the example of keyboards, all the data entered is stored in a buffer and given at a time or one character at a time. In case of networking there may be several requests to access the same resource and all these are queued in a buffer and serviced in the order they are received Hence to avoid the input/output units from getting overloaded with requests, we use multibyte buffers.
View detailed answer →
Question 15: What are the differences between analytical and computational modeling?
Answer: Analytical model allows the components to deal with the concurrency that are given during the process and the quantitative constraints that might come in between the components. Whereas, computational model deal with the non-deterministic abstraction hierarchy that has computational complexity to deal with the concurrency and allow it put also the physical constraints. • Analytical models can’t deal with the partial and incremental specifications that are non-deterministic. It is also not good in controlling the computation complexity that is used in the hardware design. Whereas, Computational model can, deal with constraints easil...
View detailed answer →
Question 16: What are the functional requirements that are used in the embedded systems?
Answer: Functional requirements specifies the discrete and the logic to provide the services, functionality, features and the implementation that is independent from the components that are getting used in it. These are used to represent the constraints that are in the form of physical and define the probability to specify the components discretely from each other. The functional requirements are given for the hardware as well that gives more performance and measures the physical resources that are present like clock frequency, latency, etc. Functional requirements allow the system and hardware machines to transfer the functions with the non-determin...
View detailed answer →
Question 17: Why is Model transformations used in the embedded system?
Answer: Model transformations involve multiple models that are used to define different views of a system. It provides different level of granularity that it doesn’t use either the top-down approach or the bottom-up approach to implement the basic functionality of the system. It is used to integrate the library components used that involves the iteration of the model that needs to be constructed. It also involves the analysis of the model so that the process can be made automated by using the construction tools. The compilation made the progress by improving the code that is written in high level language and the code generator produce the code...
View detailed answer →
Question 18: What is interaction semantics used in embedded systems?
Answer: interaction semantics allow the actions to be performed by the system components to allow it to get the global behavior. The interaction can be atomic or non-atomic dependent on the interaction between the components. These components can’t be modified using the interference having the other interactions. Languages that are used, having buffered communication, and other languages, that include multi-threaded languages that use non-atomic interactions. There are two types of interactions that are used: • Strong synchronization: allow the components to participate together and have strong bonding in between. • Weakly synchronizi...
View detailed answer →
Question 19: What are the different types of system involved in embedded system?
Answer: Embedded systems are used to give the response in real time. So, it consists of the real time systems that allow the correct information to be passed to get the correct responses. For example, it includes of the flight control system that produce the responses in real time and it always the take the values also in real time. If any delay been caused by the system then it deals in the fatal error. The real time system includes the system that provides the response on time with the small delay. Real time systems include of many other system such as: - Hard Real-Time Systems - these are the systems that server the purpose of having constrai...
View detailed answer →
Question 20: What are the different types of Buses used by the embedded systems?
Answer: The buses are used to pass the messages between different components of the system. There are buses existing as: • Memory Bus: it is related to the processor that is connected to the memory (RAM) using the data bus. This bus includes the collection of wires that are in series and runs parallel to each other to send the data from memory to the processor and vice versa. • Multiplexed Address/Data Bus: Multiplex data bus consists of the bus that can read and write in the memory but it decreases the performance due to the time consumed in reading and writing of the data in the memory. • De-multiplexed Bus: these consists of two wir...
View detailed answer →
Question 21: What is the main function of Multiplexed Address/Data Bus?
Answer: The memory bus is used to carry the address and the data from the processor to the memory so that it can be easily accessed by the devices. These buses carry the value of the data that has to be passed for the proper functioning. The use of the technique “Time division multiplexing” is used that allow the reading and writing of the data to be done from the same bus line. This requires lots of time to be given to the bus so that it can complete the read and write operation of the data in the memory. This is very expensive process due to the data transfer technique that is used in between the processor and the memory. This also give...
View detailed answer →
Question 22: How does Input/Output bus functions?
Answer: Input and output devices or functions allow the user to interact with the external files. Input and output functions are used to transfer the load on the bus. It uses the multiplexes having the input and output signals that remain same. Input and output buses move at the slower rate or speed than the processor speed. This increases the problem of bottleneck or the deadlock due to poor performance. There is a possibility to send more transistors for a layout to be given. These different devices may have very different speeds of communication. When programming IO bus control, make sure to take this into account. In some systems, memory mapped I...
View detailed answer →
Question 23: What is the function of simple thread poll in embedded system?
Answer: Simple thread poll allow the ready output to be passed for checking by giving it to the bus that is free and then the output is sent along the thread. The bus can send the output depending on the time that has been given and during the transfer the user won’t be able to perform any other operation. The input is given after finding out the bus is free or not and if it free then a check is made to see that the input exists or not. This thread poll is easy to understand but it is not efficient method to allow the data to be put over the bus manually. The problem of not doing multi-tasking can occur due to doing one task at a time. The meth...
View detailed answer →