Latest Embedded Systems Interview Questions and Answers
What do you mean by interrupt latency?
Interrupt latency refers to the time taken for the system to start the handler for the specific interrupt. The time from the time of arrival of interrupt to the time it is being handled.
What typecast is applied when we have a signed and an unsigned int in an expression?
The unsigned int is typecast into the signed value.
How are variables mapped across to the various memories by the C compiler?
The compiler maintains the symbol table which has the related information of all the variable names along with the length of the allocated space, the access unit length for the pointer (type of pointer) and the starting address of the memory space.
What is a memory leak? What is a segmentation fault?
The memory leak refers to the uncleared memory mat builds up across me lifetime of the process. When it comes to a huge value me system stalls its execution due to me unavailability of the memory. The segmentation fault on the other hand refers to me condition when our program tries to access a memory space that has already been freed up.
What is ISR? Can they be passed any parameter and can they return a value?
ISR refers to the Interrupt Service Routines. These are procedures stored at specific memory addresses which are called when certain type of interrupt occurs. The ISRs cannot return a value and they cannot be passed any parameters.
a=7; b=8; x=a++-b; printf(“%d”, x ); What does this code give as output?
The compiler understands the statement expression a–b by taking off as much operators as it makes sense to a variable. So (a++) is taken as a parameter and then the expression becomes 8-8 which in turn gives the x value as 0. Thus the output value is 0.
What are little endian and big endian types of storage? How can you identify which type of allocation a system follows?
The little endian memory representation allocates the least address to the least significant bit and the big endian is where the highest significant bit takes up the least addressed memory space. We can Identify the system’s usage by defining an integer value and accessing it as a character.
if(* (char *) &p == 0x2) printf (“little endian\n”); else printf (“big endian\n”);
What is the scope of a function that is declared as static?
The static function when declared within a specific module is scoped only in that module and can only be accessed from it.
What is the use of having the const qualifier?
The const qualifier identifies a specific parameter or variable as read-only attribute to the function or to the entire program. This can come in handy when we are dealing with static data inside function and in a program.
Why do we need a infinite loop in embedded systems development? What are the different ways by which you can code in a infinite loop?
The infinite loops are coded in to give a delay or sleep to the program execution for a specific amount of clock ticks. They can be implemented as:
What is the difference between embedded systems and the system in which rtos is running?
Embedded system is just combination of s/w and h/w that is some embedded sys may have os some may not and rtos is an os.