哈喽,你们好。今天更新一篇驱动笔试面试总结。因为百度网盘分享的资料老是失效。因此,我把PDF版本,放在了百度网盘群组中,出现问题,能够和我及时反馈。linux
你们能够加我好友,好友经过后,发送【资料群】给我,会自动拉进群里。本文内容已同步更新在github,点击阅读原文能够直达github。git
Linux驱动

指令
经常使用的Linux指令
怎么查看当前进程?怎么执行退出?怎么查看当前路径?
ls 命令执行什么功能? 能够带哪些参数,有什么区别?
建立目录用什么命令?
建立文件用什么命令?
复制文件用什么命令?
查看文件内容有哪些命令可使用?
怎么向屏幕输出带空格的字符串,好比”hello world”?
移动文件用哪一个命令?更名用哪一个命令?
删除文件用哪一个命令?若是须要连目录及目录下文件一块删除呢?删除空文件夹用什么命令?
查找文件内容用哪一个命令?
查找文件用哪一个命令?
cat命令
经常使用的GCC指令
预处理
编译为汇编代码
汇编
连接
一步到位编译
多文件编译
警告处理
经常使用的GDB调试指令
经常使用的驱动开发指令
加载/卸载驱动
Linux驱动如何查看驱动模块中打印信息?
如何查看内核中已有的字符设备的信息?
如何查看正在使用的有哪些中断号?
uboot
什么是bootloader?
uboot启动过程当中作了那些事?
为何要给内核传递参数呢?
uboot和内核如何完成参数传递?
为何uboot要关掉cache?
文件系统
什么是根文件系统?
根文件系统为何这么重要?
可执行映像文件一般由几部分构成,它们有什么特色?
中断
硬中断 / 软中断是什么?有什么区别?
中断为何要区分上半部和下半部?
中断下半部通常如何实现?
linux中断的响应执行流程?中断的申请及什么时候执行(什么时候执行中断处理函数)?
Linux驱动模型
字符设备驱动模型
LCD驱动模型
总线设备驱动模型
输入子系统模型
platform总线的匹配规则是什么?在具体应用上要不要先注册驱动再注册设备?有前后顺序没?
Linux内核
内核镜像格式有几种?分别有什么区别?
内核中申请内存有哪几个函数?有什么区别?
什么是内核空间,用户空间?
为何须要区份内核空间与用户空间?
什么是内核态和用户态?
用户空间与内核通讯方式有哪些?
内核链表为何具备通用性?
应用程序中open()在linux中执行过程当中是如何从用户空间到内核空间?
怎样申请大块内核内存?
设备驱动
请简述主设备号和次设备号的用途。
字符型驱动设备怎么建立设备文件?
设备驱动程序中如何注册一个字符设备?分别解释一下它的几个参数的含义。
/dev/下面的设备文件是怎么建立出来的?
Linux设备中字符设备和块设备有什么主要区别?分别举例。
驱动中操做物理绝对地址为何要先ioremap?
insmod,rmmod一个驱动模块,会执行模块中的哪一个函数?在设计上要注意哪些问题?
NAND驱动的probe流程
Linux驱动开发中,经常使用的调试方法有哪些?
Linux驱动开发经常使用函数
# 结语github
资料中,不免会有一些错误,有任何问题,均可以在github向我提交issue。文中的勘误,我都会更新在github中。点击阅读原文能够直达github。面试
微信公众号近期改变了推送规则,若是您想常常看到个人文章,能够选择置顶星标公众号。在每次阅读后,在页面下方点一个「赞」或「在看」,这样,每次推送的文章才会第一时间出如今您的订阅列表里。微信
文章来源函数
嵌入式软件工程师笔试面试指南-Linux驱动 spa