Embedded Interview Questions

Embedded System and Linux Device Driver Interview Questions

5/8/202418 min read

Below modules are covered most and top interview questions related to embedded system and Linux kernel, ARM Architecture, Linux BSP.
  • · Linux General

  • · Linux Boot Sequence

  • · Linux Compiler

  • · Linux Modules

  • · Linux Char Device Driver

  • · Linux Debugging

  • · LDD - Concurrency, RC and Sync

  • · Linux Time, Delay, Differed Work

  • · Linux Memory Management

  • · Linux Communicating with H/W

  • · Interrupt Handling in Linux

  • · Linux Common Driver and & Kernel

  • · Linux Process Scheduler

  • · Linux File System

  • · Linux IO Architecture

  • · Linux System Calls

  • · Linux Network Device Driver

  • · Linux I2C Driver

  • · Linux SPI Driver

  • · Linux V4L2 Driver

  • · Linux USB Device Driver

  • · Linux Power Management

  • Linux General Interview Questions

§ UNIX script to find the specific string from the given file?

§ How would you debug kernel code?

§ How we can modify the default behavior of setsockopt() parameters.?

§ Describe the steps to add a new global sysctl() or fnctl() paramater. How can make Mutex global to All CPUs in your Board? Because spinlock is global to all CPUs in SMP system. Just make Mutex work like spinlock?

§ Difference between macro & micro Kernel.

§ what you observed difference between QNX & Linux

§ What part of kernel driver worked? Explain

§ Why driver code in not written in C++/Java

§ Run Time optimization

§ How to define the process of QNX/Arch delivery integration

§ Details of performance related optimization?

§ How you Evaluate the Driver

§ How to handle situation when a program is too large for code space? (edit linker file)

§ What is big endian and little endian? implement a function changes the endians

§ scheduler in linux

§ Explain about file system in linux kernel and how a kernel handles any file when it was created.

§ what is file descriptor and what information it contains in file descriptor

§ How do you see system messages and how do find the issues in system by reading the proc file system or dmesg queues or sysfs information.

§ What all kind of info is presented in procfs.

§ Deadlock example

§ In a Process Address Space what if stack or heap collides?

§ Advantages and disadvantages of Polling & Interrupt drivers.

§ What are the different modes in ARM.?

§ Behaviour of system call from user level to kernel level.

§ how to synchronize devices which operates at different frequencies

§ What is kernel thread?

§ What is pthread?

§ How to give memory of 250Mb to kernel (high zone memory)

§ what all Debugging techniques you

§ What is an re-entrant function?

§ Overall knowledge of kernel building knowledge.

§ basics of board support package

§ How can you rate yourself in KERNEL?

§ System calls flow?

§ Points you will inquiry when a driver from one platform to be ported to another platform?

§ How do you pass data between kernel modules?

§ What are different embedded design patters?

§ Explain about any Device Driver project your good at?

§ Comfort level in Assembly level language?

§ What are the kernel structures and which kernel structure used in device driver development?

§ What is interrupt nesting, How IRQ priority handled?

§ What is SERDES?

§ What is Partition on DO-178B document?

§ What is Real time system

§ How the data integrity check is done in case of network packets or I2c driver communication?

§ Have you checked linux lib code

§ How to debug kernel code

§ What is x86 and what are the registers used

§ How to write a makefile to build a customized kernel

§ More questions on debug and crash point related

§ What is Dead code and Deactivated code and diff b/w them?

§ Level of software as per DO-178B?

§ Memory allocation using Kmalloc with FLAGS?

§ How to create buffers in Kernel?

§ What is the difference b/w kmalloc and vmalloc

§ How to build the vmlinux image

§ How to speed up the memcpy, have you seen memcpy code in kernel ?

§ Power Management Techniques - Experience.

§ What is preemption? Do we need preemption for multitasking? In fedora, preemption has been disabled, then how it is doing multitasking?

§ How can we disable the preemption in the kernel?

§ Where the PCB of the current running process is located?

§ How the kernel refers the PCB of the current running process?

§ What is the use of strace command?

Linux Boot Sequence Interview Questions

§ Explain about the Linux boot sequence in case of ARM architecture?

§ How is the command line arguments passed to Linux kernel by the u-boot (bootloader)?

§ Explain about ATAGS?

§ Explain about command line arguments that are passed to linux kernel and how/where they are parsed in kernel code?

§ Explain about device tree.

§ Explain device tree concepts in linux.

§ Which process / directory is responsible for the kernel is decompressed during boot up ?

§ Diff b/w MLO & IPL.

§ What is grub loader

§ Embedded board Booting sequence

§ Booting Sequence of a board?

§ How a user mode is transferred to kernel mode?

§ Why primary boot loader and secondary boot loader required?

§ What are types of boot loader?

§ How to decrease the time of booting processes

Linux Compiler Interview Questions

§ About linker scripts

§ What is compiler

§ Compiler stages , explain

§ What is relocatable file and Executable file

§ What is the use of relocatable file use

§ Excutable file formats?

§ Shared libraries and how to create?

§ Static compilation and Dynamic compilation differences

§ How to reduce the size of executable file?

§ How are the compiler optimization techniques?

§ What are the static and shared libraries?

§ What is dynamic linking? What is static linking?

§ What are the advantages of dynamic linking or Shared libraries?

§ Does gcc search for both static and shared libraries? Which is searched initially by gcc compiler?

§ What should be done for Shared library based linking in gcc?

Linux Modules Interview Questions

§ To deploy a module inside kernel, what are the possible methods? Mention actual difference among them.

§ Explain about about ksets, kobjects and ktypes. How are they related?

§ As kernel can access user space memory, why should copy_from_user is needed?

§ How many ways we can assign a major minor number to any device?

§ User application will block on IOCTL, in kernel until interrupt arrives this IOCTL will be blocked. When interrupt comes IOCTL should return. Design this mechanism.

§ What is IOCTL, how it is used in user and kernel driver code ?

§ What is difference between sleep_on ( ) and interruptible_sleep_on ( ) APIs in linux kernel ?

§ When should should use which one, how it should be decided ?

§ How to make a module as loadable module?

§ How to make a module as in-built module?

§ Explain about Kconfig build system?

§ Explain about the init call mechanism.

§ What is the difference between early init and late init?

§ Early init functions are called when only the boot processor is online.

§ Run before initialising SMP.

§ Only for built-in code, not modules.

§ Late init functions are called after all the CPUs are online.

§ How are the atomic functions implemented in case of ARM architecture?

§ How is container_of( ) macro implemented?

§ Explain about system call flow in case of ARM Linux.

§ What 's the use of init and exit macros?

§ How to ensure that init function of a partiuclar driver was called before our driver's init function is called (assume that both these drivers are built into the kenrel image)?

§ Main Advantages and disadvantages of having separate user space and kernel space?

§ What is user space and kernel space?

§ What is re entrant function

§ what is module

§ What is a device driver and write a simple driver and explain what happens when an insmod is done an module?

§ How will you insert a module statically in to linux kernel

§ how the device files are created in Linux

§ How static drivers can runs? Without doing any insmod?

§ What are Callback functions?

§ What kind of information the Linux driver modules (.ko) files has?

§ What are the different ways the Linux can switch from User Space to Kernel Space & vice-versa?

§ How User space buffer can be accessed from kernel level and vice versa?

§ How "Make" is performed in compiling a module?

§ What is the path of your driver inside kernel?

§ What are the function names for the driver you designed?

§ Static Drivers vs Dynamic Driver?

§ Diff SLAB and Vmalloc

§ copy_to_user and copy_from_user?

§ What happens if you load a module without Init and Exit routines?

§ How to create a device file?

§ What is "Major Number"? What is "Minor Number"?

§ What is the tool to watch the kernel logs?

§ How do you pass a value to a module as a parameter?

§ When you declare a symbol in a module as "static" storage type, then where it goes?

§ Steps involved in "Character Device Registration" in Linux2.4?

§ Steps involved in "Character Device Registration" in Linux2.6?

§ Creation of ioctls?

§ How do you write a driver's open () call? Explain briefly.

Linux Char Device Driver Interview Questions

§ How can we Free Device Numbers?

§ What is use of dev_t type?

§ What is the disadvantage of dynamic device number assignment?

§ Where can we write allocation and freeing of device number's code?

§ How can i use my own major and minor number for a device file?

§ How to see statically assigned major numbers?

§ What will happen/can u have printf/printk inside an interrupt handler

§ How can we allocate device number statically, dynamically?

§ What is mknod and it's usage?

§ How to retrieve major and minor number from dev_t type?

§ What is use of dev_t type?

§ What is the functionality of PROBE function

§ How to detect whether a device is not detected?

§ Where your driver will be in kernel

§ Which type of address (virtual or physical) is used in function iowrite32?

§ What is the type of driver char or n/w or block driver you developed?

§ How to register a CHAR driver to kernel?

§ How to load a dynamic driver or static driver?

§ How to develop a device driver for a hard device?

§ IOCTL implementation programs

§ Where will be your driver file will be located

§ What is the entry point of your driver

§ What are the ways in which linux kernel can be compiled?

§ How will get the driver added into the kernel? What are Kconfig files?

§ What is a kernel module?

§ What is the difference between insmod and modprobe?

§ How will you list the modules?

§ How do you get the list of currently available drivers?

§ How will you Access userspace memory from kernel? What are the various methods?

§ What is the use of ioctl(inode,file,cmd,arg) ApI?

§ What is the use of the poll(file, polltable) API?

§ What is the use of file->private_data in a device driver structure?

§ What is a device number?

§ What are the two types of devices drivers from VFS point of view?

§ What are character devices?

§ How the character device driver does ads and removes itself from the kernel?

§ What is the use of register_chrdev and unregister_chrdev ?

Linux Debugging Interview Questions

§ Debugging techniques. ?

§ What is Oops and kernel panic?

§ Does all Oops result in kernel panic?

§ What are the tools that you have used for debugging the Linux kernel?

§ What are the log levels in printk?

§ Can printk's be used in interrupt context?

§ How to print a stack trace from a particular function?

§ What's the use of early_printk( )?

§ Explain about the various gdb commands.

§ How to debug crash. Gdb

§ How debug prints/system trace could help solve above issues

§ How to debug while system is running

§ Have you worked in crash dump? How will you solve memory crash, what steps would you take if a crash occurs?

§ how to debug your driver if u had any buffer issues

§ Kernel crash dump analysis

§ Have analyzed kernel panic code dump(what all data it dumps and what do you understand from it)

§ How to debug crash, what is the first line you see when you see a crash/oops message, explain crash console

§ How do u debug when an process aborted.

§ Have you debug any issues using jtag/ any other debugger. If yes, how can we get the call stack in the debugger?

LDD - Concurrency, RC and Sync Interview Questions

§ What is the best synchronisation techniques used in linux kernel?

§ How SpinkLocks work in SMP and UP architectures. What happens when a interrupt is received? What is contained inside an interrupt handler what is the process of system call, what happens exactly and how the mode toggles between user/kernel modes and vice versa?

§ What are spin locks, are they better then mutex ?

§ Difference between semaphore and mutex.

§ What is difference between wake_up ( ) and wake_up_interruptible ( ) APIs in linux kernel ?

§ When should should use which one, how it should be decided ?

§ Why do we need synchronization mechanisms in Linux kernel?

§ What are the different synchonization mechanisms present in Linux kernel?

§ What are the differences between spinlock and mutex?

§ What is lockdep?

§ Which synchronization mechanism is safe to use in interrupt context and why?

§ Explain about the implementation of spinlock in case of ARM architecture.

§ Explain about the implementation of mutex in case of ARM architecture.

§ Explain about the notifier chains.

§ Explain about RCU locks and when are they used?

§ Explain about RW spinlocks locks and when are they used?

§ Which are the synchronization techniques you use 'between processes', 'between process and

§ Interrupt' and 'between interrupts'; why and how?

§ What are the differences between semaphores and spinlocks?

§ Diff between mutex and semaphore? Can semaphore be used for data synchronisation purpose?

§ What is deadlock? How to come out of deadlock?

§ About Synchronization mechanism where you used in real time(examples)

§ what happen if you use mutex in ISR, how you over come with that problem

§ What is critical section?

§ Semaphore internal code behaviour in a way semaphore implementation?

§ spinlock vs mutex vs semaphore

§ Working of spinlocks

§ Can Spinlocks works on multiprocessor system.

§ In what scenarios mutex is used and semaphore is used.

§ What is the difference between Mutex and Binary semaphore

§ When a Mutex lock is acquired by a low priority task and High priority try to acquires the lock will the low priority task will be pre emitted .

§ The same above scenario is with sema and spinlock

§ How do you establish a sync mechanism in above hard disk scenarios.

§ Write a simple with crtical section,mutex lock and mutex unlock.

§ Spin locks behaviour?

§ If spin locks what flavor of spin locks will you use.

§ Explain Shared memory, Message Queue Synchronization techniques in Linux

§ How can you make part of driver code is allowed to be executed and not executed depending upon condition?

§ Different synchronisation techniques ?how do you chose the best sync mechanism fits the scenario?

§ What are all the Kernel APIs used in you driver programming?

§ how to divided critical work and non critical work based on top half and bottom Half

§ What is task_struct and how are task states maintained?

§ What is rwlock and spinlock? Briefly explain about both of them?

§ When will you use rwlock instead of spinlock?

§ Can spinlock/rwlock be used in Interrupt handler?

Linux Time, Delay, Differed Work Interview Questions

§ What are jiffies and HZ?

§ What is the initial value of jiffies when the system has started?

§ Explain about HR timers and normal timers?On what hardware timers, does the HR timers are based on?

§ How to declare that a specific hardware timers is used for kernel periodic timer interrupt used by the scheduler?

§ How software timers are implemented?

§ Timeslice, jiffy

§ What actually does a system does in a tick?

§ What is tick?

Linux Memory Management Interview Questions

§ When is that we we want to use "user virtual address" instead of "kernel virtual address"?

§ List some situations when we cannot go with kernel virtual address.?

§ How mb differ from wmb in Linux? Is mb equal to wmb & rmb ?

§ How to manage memory in linux kernel?

§ What is bus error? Common causes of bus errors?

§ What is memory leak ?

§ Write code for page fault handler in Linux

§ What is cache? How it is used and mapped the physical address cache and virtual address cache?

§ DMA controller.

§ Write a pseudo code for page fault handler.

§ What is virtual memory? What is the pre-requisite in hardware for supporting virtual memory ?

§ What are the differences between vmalloc and kmalloc? Which is preferred to use in device drivers?

§ What are the differences between slab allocator and slub allocator?

§ What is boot memory allocator?

§ How do you reserve block of memory?

§ What is virtual memory and what are the advantages of using virtual memory?

§ What's paging and swapping?

§ Is it better to enable swapping in embedded systems? and why?

§ What is the page size in Linux kernel in case of 32-bit ARM architecture?

§ What is page frame?

§ What are the different memory zones and why does different zones exist?

§ What is high memory and when is it needed?

§ Why is high memory zone not needed in case of 64-bit machine?

§ How to allocate a page frame from high memory?

§ In ARM, an abort exception if generated, if the page table doesn't contain a virtual to physical map for a particular page. How exactly does the MMU know that a virtual to physical map is present in the page-table or not?

§ What's a segmentation fault and what are the scenarios in which segmentation fault is triggered?

§ If the scenarios which triggers the segmentation fault has occurred, how the kernel identifies it and what

§ Are the actions that the kernel takes?

§ memory leak deduction and various ways of handling

§ How to write own malloc call

§ About memory mapped files

§ What is cache coherence?

§ What is protection mechanism?

§ What is DMA?

§ What is a page fault?

§ What is page write back?

§ Why not directly the physical address?

§ What is MMU?

§ Memory map of RAM

§ When cache is enabled in a operating system, DMA is enabled, how does DMA access the cache?

§ Explain MM - Segmentation, paging, swapping

§ Paging vs swapping

§ Different segments in a program

§ Does linux use segmentation

§ Memory alloc in linux - kmalloc vs vmalloc

§ Physical Virtual and logical addresses

§ Thrashing

§ What is DMA? Modes - cycle stealing/burst (blk transfer)/transparent

§ Cache coherency during dma. Which component handles it

§ Explain MMU in Linux

§ What is concept of virtual address or physical address?

§ What are the entry points in kernel?

§ How to create a major number dynamically?

§ Diff of Kmalloc and Vmalloc

§ How Memory Management works in KERNEL?

§ What are the possible ways that memory leaks can happen in a program?

§ How a memory leak can happen in a linked list?

§ What is the difference between kmalloc and vmalloc?

§ How to get physically contiguousness memory allocation if kmalloc is giving logical contiguousness allocations?

§ How does a driver get registered to kernel?

§ What is page fault? How page fault exception raises?

§ Tell about the Memory Layout of a Process in Linux?

§ How will you trace the system calls made into the kernel of lInux?

§ What is mmap ? MMAP & malloc ? MMAP & brk ? MMAP adv & dis-adv.

§ Tell the relation between Malloc and MMAP

§ Advantages of MMAP over read?

§ Tell the role of brk() in malloc / Tell the relation between heap and brk?

§ Example of using MMAP and MUNMAP in C?

§ Tell about the method/steps in Linux Kernel Compilation.

§ What is Kmalloc and how does it differ from normal malloc? Or why can't we use malloc in kernel code?

Linux Communicating with H/W Interview Questions

Interrupt Handling in Linux Interview Questions

  1. Explain about the interrupt mechanism in linux?

  2. What are the APIs that are used to register an interrupt handler?

  3. How do you register an interrupt handler on a shared IRQ line?

  4. Explain about the flags that are passed to request_irq().

  5. Explain about the internals of Interrupt handling in case of Linux running on ARM.

  6. What are the precautions to be taken while writing an interrupt handler?

  7. Explain interrupt sequence in detail starting from ARM to registered interrupt handler.

  8. What is bottom half and top half.

  9. What is request_threaded_irq()

  10. If same interrupts occurs in two cpu how are they handled?

  11. How to synchronize data between 'two interrupts' and 'interrupts and process'.

  12. How are nested interrupts handled?

  13. How is task context saved during interrupt?

  14. What is bottom halves and Top half.? Whats their functionality?

  15. What are upper half and bottom half in device drivers.Why are they used?

  16. What is the difference between ISR and interrupt handler.(Both are the same)

  17. What is an ISR? What are the basic operations there?

  18. How would you handle sleeping or blocking instructions in an Interrupt Service Routine(if unavoidable) or basically if the length of ISR is long?

  19. Can u have reentrant code inside interrupt handler. (NO)

  20. Cache coherency.- MESI /MSI protocol

  21. What does a interrupt handler take in as input... and what does it return.( it does not accept or return anything)

  22. What is the disadvantage of dynamic device number assignment ?

  23. Data sharing between ISR and threads?

  24. How interrupts are generated?

  25. How to Enabling & Disabling of interrupts

  26. softirq vs tasklet vs workqueue

  27. How are interrupts handled in linux

  28. Top and bottom halves. Examples

  29. what is an interrupt and difference between exceptions and signals

  30. When a signal is raised on a interrupt line what will be passed to processor either interrupt number or anything else?

  31. How kernel comes to know which device raised an interrupt when interrupt is shared.

  32. What all the things to be taken care while handling an interrupt?

  33. Main difference between Tasklets and workqs?

  34. When an interrupt can be disabled? When an interrupt can be enabled again?( Not asked but better to find the answer

  35. How a interrupt is registered?

  36. how you select the bottom half mechanism and what are the differences between them

  37. what in interrupt context and process context

  38. Interrupt based driver.

  39. How a interrupt will be handled in Linux.

  40. Explain about shared interrupt and how an corresponding interrupt Handler is called while an interrupt is shared?

  41. What is software interrupt and hardware interrupt with examples?

  42. explain how an interrupt of hardware device is handled

  43. Interrupt handler ? how interrupt is serviced?

  44. How to register an interrupt handler?

  45. How to know whether a interrupt is an edge triggered or level triggered from registering an interrupt handler?

  46. what is softirq and tasklet and work queues?

  47. what are kernel synchronization techniques

  48. In detail about top half and bottom Half?

  49. In which interrupt context the interrupt will run?

  50. spin_lock_bh() diff spin_lock_irq()?

  51. ISR descriptor Table

  52. Top half and bottom half interrupt approach?

  53. Tell about interrupts handling in kernel?

  54. When a interrupt is handled whether that specific interrupt is disabled or not? If disabled why? if not disabled why not disabled?

  55. When a interrupt is handled tell whether all interrupts are disabled or not ?if yes why ?if no why?

  56. As device driver developer when you will you disable or enable particular interrupt or all interrupts What is the functionality of save_interrupts?

  57. What is the first function called when interrupt is handled?

  58. Have you heard about Handle_interrupt?

  59. What are the methods or functions to raise execute the interrupt process when interrupt occurs.

  60. What is the difference between IRQ & FIQ.

  61. How the synchronisation works in single processor system(spinlock_irq_save).

  62. Do_irq?

  63. How a delayed execution in interrupt is handled?

  64. A global data member is programmed to get modified in a thread and Interrupt, so what kind of synchronisation mechanism will you use?

  65. Can interrupts sleep?why?

  66. Types of interrupts?

  67. What actually happens while interrupt occurs exactly explain in terms of context switching ,what happens to the current running process?

  68. As their no code written to do context saving when a interrupt happens in any of the functions then which is responsible in doing this context saving and switching context?

  69. Interrupts, Bottom half.

  70. How buffer is copied to user level

  71. Explain working of interrupts

  72. Function Signature of registering Interrupt handler? And Flags used while requesting IRQ?

  73. How Interrupts are executed?

  74. What are software interrupts? What are hardware interrupts? Can you mention the names and explain?

  75. What are different caches [L1 and L2 cache]?

  76. What is the role of interrupts in a device driver? How are interrupts handled in device driver?

  77. How will you make interrupt handlers as fast as possible?

  78. What are the types of softirqs?

  79. Difference between Timer Softirq and Tasklet Softirq?

  80. What are tasklets? How are they activated? When and How are they initialized?

Linux Common Driver and & Kernel Interview Questions

  1. How do you improve performance of kernel code?

  2. How can one change the value of the Kernel Variables during the runtime?

  3. How does malloc work?

  4. Entry points into kernel?

Linux Process Scheduler Interview Questions

  1. How scheduler does pick particular task?

  2. When scheduler does pick a task?

  3. How is timeout managed?

  4. How does load balancing happens?

  5. Explain about any scheduler class?

  6. Explain about wait queues and how they implemented? Where and how are they used?

  7. What is process kernel stack and process user stack? What is the size of each and how are they allocated?

  8. Why do we need seperate kernel stack for each process?

  9. What all happens during context switch?

  10. What is thread_info? Why is it stored at the end of kernel stack?

  11. What is the use of preempt_count variable?

  12. What is the difference between interruptible and uninterruptible task states?

  13. How processes and threads are created? (from user level till kernel level)

  14. How is virtual run time (vruntime) calculated?

  15. Different types of schedulers (round robin, pre-emptive)

  16. What is scheduler algorithm?

  17. What is scheduler?

  18. Can a scheduler be locked?

  19. Who schedules the scheduler?

  20. At what frequency scheduler looks for threads/processes ready for schedule?

Linux File System Interview Questions

  1. What is /proc entry and how it is useful

  2. What is file system , how to create

  3. How to register file system

  4. When fine system registered what happens

  5. What are the different types of file systems are there, give example

  6. What is VFS? Explain briefly?

Linux IO Architecture Interview Questions

  1. How to write a particular value on real hardware register or hardware address in device driver programming?

  2. Port Mapping/Memory mapping

Linux System Calls Interview Questions

  1. System call? What happens in low level?

  2. How to add system call in kernel

  3. How system call causes change from user to kernel space

Linux Network Device Driver Interview Questions

  1. How to send information over network? (structure packing)

  2. Ethernet driver how a packet get transferred in Ethernet drivers?

  3. How a Reception of packet performed in a Ethernet device driver? (Explain from starting to reception of packet)

  4. How Ethernet device is registered

  5. How many interrupt lines you have been used in your driver development. 1. UART : 1 (RX). 2. Ethernet: 2 (RX & TX)

  6. How to register, allocate NIC.

  7. How a packet is sent in ethernet driver?

  8. What happens as soon as a packet arrives from the network in Linux ?

Linux I2C Driver Interview Questions

  1. What is the difference between I2C & SPI

  2. How will you chose which protocol to be used on board communication

  3. How the communication difference b/w I2C & SPI

  4. Is clock stretching is for Master or Slave in I2C protocol

  5. What is Bit Binding in I2C protocol

  6. What is i2c clock stretching

  7. What is repeat sequence in I2C? How this signal will look on CRO?

  8. How will you know if the I2C lines are noisy?

  9. What monitoring tools have you used like I2C sniffer

  10. How will you verify I2C communication? How will you know if there was a software or hw problem?

  11. what is i2c bus error

  12. I2C- dummy write, repeated start, arbitration, synchronization between masters

  13. Lm475 temperature driver project

  14. How can two slaves communicate with master in i2c protocol at a time?

  15. How can we address different devices from same vendor i2c?

  16. What is the clock frequency used in your I2C driver designed?

  17. What is the start bit condition in I2C?

  18. How I2C protocol works?

  19. What are different speeds the I2C had?

  20. How the master knows what the start condition is?

  21. While in between I2C communication what happens if clocks happens to be dragged low which is not as per i2c standard?

  22. What if the slave device is not responding or no acknowledge bit is sent by slave device?

  23. I2C : what is I2C Clock Stretch, Bus line clear.

Linux SPI Driver Interview Questions

  1. How many lines required for SPI communication?

  2. Do you need to change Clock polarity and phase for SPI?

  3. Who has control of SPI clock?

  4. Diff between SPI & I2C

Linux V4L2 Driver Interview Questions

  1.  Where the camera driver resided in kernel

  2.  What you know about VL42

  3.  Explain camera sensor driver project

  4.  Do u know about V4L2 layer

  5.  Explain in brief about your project (Camera device driver)?

  6.  What is the communication protocol used to communicate with camera sensor?

  7.  How to write data to camera sensor address?

  8.  What are the design issues/considerations that were taken care for your camera project?

  9.  How the data is transferred from camera sensor to LCD display

  10.  Do you know about IOCTL operations? And have they been used in your camera sensor project.

Linux USB Device Driver Interview Questions

  1.  If there is a speech audio data to be received by USB device what type of data transfers will you chose.

  2.  What are the different types of device descriptors?

  3.  How many END point descriptors can be present per device?

  4.  What is a configuration descriptor?

  5.  What is a control type of data transfer?

  6.  USB driver project?

  7.  blocking and non-blocking USB calls

  8.  Explain about USB device Deriver?

  9.  How USB driver is registration mechanism?

Linux Power Management Interview Questions

  1.  Explain about cpuidle framework.

  2.  Explain about cpufreq framework.

  3.  Explain about clock framework.

  4.  Explain about regulator framework.

  5.  Explain about suspened and resume framwork.

  6.  Explain about early suspend and late resume.

  7.  Explain about wakelocks.