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-驱动-面试题大全的主要内容,如果未能解决你的问题,请参考以下文章

2020 年最新版 Java 面试题大全(文末附参考答案)

Android面试题及答案整理(2022年最新Android面试题大全带答案)

2022年Unity 面试题 五萬字 二佰道 Unity面试题大全,面试题总结全网最全,收藏一篇足够面试

.NET面试题大全(C#面试题)2020更新

java程序员面试题大全含答案(2018--2019)

vue面试题大全