前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >嵌入式软件工程师笔试面试指南-Linux驱动

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

原创
作者头像
嵌入式与Linux那些事
修改2021-05-17 11:01:18
2.1K0
修改2021-05-17 11:01:18
举报

哈喽,大家好。今天更新一篇驱动笔试面试总结。 由于文章篇幅有限,本文只给出了问题,并没有给出答案。我把PDF版本,放在了百度网盘群组中,出现问题,可以和我及时反馈。

大家可以加我好友,好友通过后,发送【资料群】给我,会自动拉进群里。 (主页有我联系方式

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向我提交issue。文中的勘误,我都会更新在github中。点击阅读原文可以直达github。

如果觉得本篇文章对你有帮助,在收藏的时候,可以双击下屏幕支持下作者,这个对我真的很重要!

你的每一个赞我都当成了喜欢,谢谢各位兄弟姐妹啦~

关于作者

本硕双非,参加了2020年秋招和2021年的春招,投递岗位是嵌入式软件(驱动)相关。总共收获Oppo,小米,海康威视,兆易创新,全志科技等十余家公司的offer。 我把自己的秋招,春招历程详细记录了下来,同时,把自己秋招过程总结的笔试面试资料分享了出来,即嵌入式软件工程师笔试面试指南。关注我的知乎专栏即可获取。PDF版本获取方式在公众号。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 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驱动开发常用函数
                                                                                                                                • 结语
                                                                                                                                  • 关于作者
                                                                                                                                  领券
                                                                                                                                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档