1,字符型驱动设备是怎么创建设备文件的,就是/dev/下面的设备文件,供上层应用程序打开使用的文件?2,写一个中断服务需要注意哪些?如果中断产生之后要做比较多的事情你是怎么做的?3,自旋锁和信号量在互斥使用时需要注意哪些?在中断服务程序里面的互斥是使用自旋锁还是信号量?还是两者都能用?为什么?4,原子操作你怎么理解?5,nsmod 一个驱动模块,会执行模块中的哪个函数?rmmod呢?这两个函数在设计上要注意哪些?遇到过卸载驱动出现异常没?是什么问题引起的?6,在驱动调试过程中遇到过oops没?你是怎么处理的?7,ioctl和unlock_ioctl有什么区别?8,驱动中操作物理绝对地址为什么要先ioremap?9,设备驱动模型三个重要成员是?platfoem总线的匹配规则是?在具体应用上要不要先注册驱动再注册设备?有先后顺序没?10,linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些?11,linux中内存划分及如何使用?虚拟地址及物理地址的概念及彼此之间的转化,高端内存概念?高端内存和物理地址、逻辑地址、线性地址的关系?12,linux中中断的实现机制,tasklet与workqueue的区别及底层实现区别?为什么要区分上半部和下半部?13,linux中断的响应执行流程?中断的申请及何时执行(何时执行中断处理函数)?14,linux中的同步机制?spinlock(自旋锁)与信号量的区别?15、linux中RCU原理?16,linux中软中断的实现原理?17,linux系统实现原子操作有哪些方法?18,MIPS Cpu中空间地址是怎么划分的?如在uboot中如何操作设备的特定的寄存器?19,linux中系统调用过程?如:应用程序中read()在linux中执行过程即从用户空间到内核空间?20,linux内核的启动过程(源代码级)?21,linux调度原理?22,linux网络子系统的认识?23,linux内核里面,内存申请有哪几个函数,各自的区别?24,IRQ和FIQ有什么区别,在CPU里面是是怎么做的?25,中断的上半部分和下半部分的问题:讲下分成上半部分和下半部分的原因,为何要分?讲下如何实现?以上会收录到我的专栏中点击下方专栏就可以看到! c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM