Saturday, 17 December 2016

Embedded Systems Interview Questions




1) Explain what is embedded system in a computer system?
An embedded system is a computer system that is part of a larger system or machine.  It is a system with a dedicated function within a larger electrical or mechanical system.
2) 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
3) Mention how I/O devices are classified for embedded system?
The I/O devices of embedded system are classified into two categories
  • Serial
  • Parallel
Serial
Input
Output
  • Synchronous :
Audio/Video signalAudio/Video signal
  • Asynchronous :
Keypad, Mouse, ModemPrinter, Modem



Parallel
Input
Output
  • Single bit :
Rotation, Threshold sensorsPulses to external circuit
  • Multi bit :
Vp from ADC, sensorsLCD, Printer

4) Why embedded system is useful?
With embedded system, it is possible to replace dozens or even more of hardware logic gates, input buffers, timing circuits, output drivers, etc. with a relatively cheap microprocessor.
5) Explain what are real-time embedded systems?
Real-time embedded systems are computer systems that monitor, respond or control an external environment. This environment is connected to the computer system through actuators, sensors, and other input-output interfaces.
ID-100142142 

6) Explain what is microcontroller?
The microcontroller is a self-contained system with peripherals, memory and a processor that can be used as embedded system.
7) Mention what is the difference between microprocessor and microcontroller?
Microprocessor is managers of the resources (I/O, memory) which lie outside of its architecture

Microcontroller have I/O, memory, etc. built into it and specifically designed for control
8) What does DMA address will deal with?
DMA address deals with physical addresses. It is a device which directly drives the data and address bus during data transfer. So, it is purely physical address.

9) Explain what is interrupt latency? How can you reduce it?
Interrupt latency is a time taken to return from the interrupt service routine post handling a specific interrupt.  By writing minor ISR routines, interrupt latency can be reduced.
10) Mention what are buses used for communication in embedded system?
For embedded system, the buses used for communication includes
  • I2C: It is used for communication between multiple ICs
  • CAN: It is used in automobiles with centrally controlled network
  • USB: It is used for communication between CPU and devices like mouse, etc.
While ISA, EISA, PCI are standard buses for parallel communication used in PCs, computer network devices, etc.
11) List out various uses of timers in embedded system?
Timers in embedded system are used in multiple ways
  • Real Time Clock (RTC) for the system
  • Initiating an event after a preset time delay
  • Initiating an even after a comparison of preset times
  • Capturing the count value in timer on an event
  • Between two events finding the time interval
  • Time slicing for various tasks
  • Time division multiplexing
  • Scheduling of various tasks in RTOS
12) Explain what is a Watchdog Timer?
A watchdog timer is an electronic device or electronic card that execute specific operation after certain time period if something goes wrong with an electronic system.
13) Explain what is the need for an infinite loop in embedded systems?
Embedded systems require infinite loops for repeatedly processing or monitoring the state of the program.  For instance, the case of a program state continuously being verified for any exceptional errors that might just happen during run-time such as memory outage or divide by zero, etc.
14) List out some of the commonly found errors in Embedded Systems?
Some of the commonly found errors in embedded systems are
  • Damage of memory devices static discharges and transient current
  • Address line malfunctioning due to a short in circuit
  • Data lines malfunctioning
  • Due to garbage or errors some memory locations being inaccessible in storage
  • Inappropriate insertion of memory devices into the memory slots
  • Wrong control signals
15) Explain what is semaphore?
A semaphore is an abstract datatype or variable that is used for controlling access, by multiple processes to a common resource in a concurrent system such as multiprogramming operating system.  Semaphores are commonly used for two purposes
  • To share a common memory space
  • To share access to files
16) Explain what is the difference between mutexes and semaphores?
Mutexes
Semaphores
  • A mutex object enables one thread into a controlled section, forcing other threads which tries to gain access to that section to wait until the first thread has moved out from that section
  • Semaphore allows multiple access to shared resources
  • Mutex can only be released by thread which had acquired it
  • A semaphore can be signaled from any other thread or process.
  • Mutex will always have a known owner
  • While for semaphore you won’t know which thread we are blocking on
  • Mutex is also a tool that is used to provide deadlock-free mutual exclusion (either consumer or producer can have the key and proceed with their work)
  • Semaphore is a synchronization tool to overcome the critical section problem
  • Mutexes by definition are binary semaphores, so there are two states locked or unlocked
  • Semaphores are usually referred to counted locks
17) When one must use recursion function? Mention what happens when recursion functions are declared inline?
Recursion function can be used when you are aware of the number of recursive calls is not excessive. Inline functions property says whenever it will called, it will copy the complete definition of that function. Recursive function declared as inline creates the burden on the compilers execution.
18) Explain whether we can use semaphore or mutex or spinlock in interrupt context in Linux Kernel?
Semaphore or Mutex cannot be used for interrupt context in Linux Kernel. While spinlocks can be used for locking in interrupt context.

No comments:

Post a Comment