Linux-BSP-驱动-面试题大全
Posted feliz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux-BSP-驱动-面试题大全相关的知识,希望对你有一定的参考价值。
1. 了解Linux的那个驱动?举例讲讲。
a.驱动注册过程:通过platform_bus, register_platform_device和register_platform_driver时都会在总线查询是否有匹配的设备或驱动,如果有就会调用driver的probe函数。 <延伸问题:device和driver通过什么匹配的?name或id_table(dtsi里面compatable字段)> b.驱动类型:字符设备(fb显示设备)、块儿设备、网络设备 c.字符设备为例,驱动需要实现的函数fops:(open,read,write,release,store,show实现暴露给usr space的设备节点,suspend, resume并不是都实现这些)
2. 中断上半部下半部
top half: spinlock_irqsave做很少的工作,需要快速处理完,一般是关中断,清中断标志位,保存数据,调用中断下半部,开中断。 botomm half: tasklet, workque(可以睡眠可以调度)。 中断里用spin lock,不能用semphore(可以调度可以睡眠)
3. spinlock semphore mutex 区别
4. 内核空间和用户空间通信方式
5. boot传给kernel的参数
6. linux 进程调度方法
7. linux softirq
8. MMU作用
9. 访问外部寄存器的方法 *(volatile unsigned int*)ADDR ioremap
10. 实现container_of
11. 32位bit位反转
12. 进程上下文,中断上下文
以上是关于Linux-BSP-驱动-面试题大全的主要内容,如果未能解决你的问题,请参考以下文章
Android面试题及答案整理(2022年最新Android面试题大全带答案)