嵌入式软件工程师笔试面试指南-Linux驱动

哈喽,你们好。今天更新一篇驱动笔试面试总结。因为百度网盘分享的资料老是失效。因此,我把PDF版本,放在了百度网盘群组中,出现问题,能够和我及时反馈。linux

你们能够加我好友,好友经过后,发送【资料群】给我,会自动拉进群里。本文内容已同步更新在github,点击阅读原文能够直达github。git

Linux驱动

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

相关文章
相关标签/搜索