Hello, everybody. A summary of the written interview was updated today. As a result of baidu net disk to share the data is always invalid. Therefore, I put the PDF version in the Baidu network disk group, if there is a problem, you can timely feedback with me.

You can add me as a friend. After your friend passes, you can send me the “profile group”, which will be automatically pulled into the group. This article has been updated on GitHub. Click to read it and you can find it on GitHub.

Linux driver

instruction

Common Linux directives

How to view the current process? How to perform an exit? How to view the current path?

What function does the ls command perform? What parameters can you take with you and what’s the difference?

What command is used to create a directory?

What command is used to create the file?

What command is used to copy the file?

What commands are available to view the contents of a file?

How do I print a string of Spaces to the screen, such as “Hello World”?

Which command is used to move the file? Which command is used to change the name?

Which command is used to delete a file? What if you need to delete the files in the directory? What command do I use to delete an empty folder?

Which command is used to find the contents of a file?

Which command is used to find the file?

The cat command

Commonly used GCC instructions

pretreatment

Compile to assembly code

assembly

link

One-step compilation

Multifile compilation

Warning processing

Commonly used GDB debugging instructions

Common driver development instructions

Load/Unload drivers

How can a Linux driver view printed information in a driver module?

How do I view information about existing character devices in the kernel?

How do I see which interrupt numbers are in use?

uboot

What is a bootloader?

What does uboot do during startup?

Why pass parameters to the kernel?

How does uboot and the kernel complete parameter passing?

Why does the uboot disable the cache?

The file system

What is the root file system?

Why is the root file system so important?

An executable image file usually consists of several parts. What are their characteristics?

interrupt

What is a hard interrupt/soft interrupt? What’s the difference?

Why do interruptions differentiate between upper and lower halves?

How is interrupting the lower half generally implemented?

The response execution flow for Linux interrupts? The request for an interrupt and when to execute it (when to execute the interrupt handler)?

Linux driver model

Character device driver model

LCD drive model

Bus device driver model

Input subsystem model

What are the matching rules for the Platform bus? Do I need to register the driver before registering the device in the specific application? In any order?

The Linux kernel

How many kernel image formats are there? What’s the difference?

Which several functions apply for memory in the kernel? What’s the difference?

What is kernel space, user space?

Why do you need to distinguish between kernel space and user space?

What are kernel mode and user mode?

What are the ways that user space communicates with the kernel?

Why are kernel linked lists universal?

How does open() in an application move from user space to kernel space during execution in Linux?

How do I apply for bulk kernel memory?

Device drivers

Please describe the purpose of the primary and secondary equipment numbers.

How do character driver devices create device files?

How do I register a character device in the device driver? Explain the meaning of several parameters.

How is the device file created under /dev/dev/created?

What are the main differences between character devices and block devices in Linux devices? Give examples.

Why do drivers need ioremap to operate physical absolute addresses first?

Insmod, rmmod A driver module. Which function in the module will be executed? What should we pay attention to in the design?

NAND driven Probe process

What are the commonly used debugging methods in Linux driver development?

Linux drivers develop common functions

# epilogue

There will inevitably be some mistakes in the data. If you have any questions, you can submit an issue to me on GitHub. I will update the errors in the article on GitHub. Click to read the article and you can find it on GitHub.

WeChat public account recently changed the push rules, if you want to often see my articles, you can choose to place the top star mark public account. After each reading, click “like” or “watching” at the bottom of the page, so that each article will appear first in your feed list.

The article source

Embedded Software Engineer Written Exam Interview Guide -Linux Driver