Advanced Embedded Systems Interview Questions

4) Mention how I/O devices are classified for embedded system?

The I/O devices of embedded system are classified into two categories

Serial Input Output
Synchronous : Audio/Video signal Audio/Video signal
Asynchronous : Keypad, Mouse, Modem Printer, Modem
Parallel Input Output
Single bit : Rotation, Threshold sensors Pulses to external circuit
Multi bit : Vp from ADC, sensors LCD, Printer

3) Mention what are the essential components of embedded system?

Essential components of embedded system includes

  • Hardware
  • Processor
  • Memory
  • Timers
  • I/O circuits
  • System application specific circuits
  • Software
  • It ensures the availability of System Memory
  • It checks the Processor Speed availability
  • The need to limit power lost when running the system continuously
  • Real Time Operating System
  • It runs a process as per scheduling and do the switching from one process to another
  • What is the full form of ISR?

    ISR means Interrupt Service Routines. It is used when an interruption occurs. These procedures are stored at a memory location in the software.

    1 What is a RISC architecture?

    RISC architecture means Reduced instruction set computer architecture. It is a type of microprocessor architecture utilizing a small and highly optimized set of instructions to compute tasks in the least amount of time.

    What are the differences between the following 2 statements #include “…” and #include ?

    Both declarations specify for the files to be included in the current source file. The difference is in how and where the preprocessor looks for including the files. For #include "...", the preprocessor just searches for the file in the current directory as where the source file is present and if not found, it proceeds to search in the standard directories specified by the compiler. Whereas for the #include <...> declaration, the preprocessor looks for the files in the compiler designated directories where the standard library files usually reside.

    2 What do you understand by Wild Pointer? How is it different from Dangling Pointer?

    A pointer is said to be a wild pointer if it has not been initialized to NULL or a valid memory address. Consider the following declaration:

    Here the pointer ptr is not initialized and in the next step, we are trying to assign a valid value to it. If the ptr has a garbage location address, then that would corrupt the upcoming instructions too.

    If we are trying to de-allocate this pointer and free it as well using the free function, and again if we are not assigning the pointer as NULL or any valid address, then again chances are that the pointer would still be pointing to the garbage location and accessing from that would lead to errors. These pointers are called dangling pointers.

    What do you understand by startup code?

    A startup code is that piece of code that is called before the execution of the main function. This is used for creating a basic platform for the application and it is written in assembly language.

    ISR expands to Interrupt Service Routines. These are the procedures stored at a particular memory location and are called when certain interrupts occur. Interrupt refers to the signal sent to the processor that indicates there is a high-priority event that requires immediate attention. The processor suspends the normal flow of the program, executes the instructions in ISR to cater for the high priority event. Post execution of the ISR, the normal flow of the program resumes. The following diagrams represent the flow of ISR.

    Embedded Software Engineering Interview Questions & Answers

    Related Posts

    Leave a Reply

    Your email address will not be published. Required fields are marked *