Linux-BSP-驱动-面试题大全

匿名 (未验证) 提交于 2019-12-02 21:56:30

1. 了解Linux的那个驱动?举例讲讲。

a.驱动注册过程:通过platform_bus, register_platform_deviceregister_platform_driver时都会在总线查询是否有匹配的设备或驱动,如果有就会调用driverprobe函数。 <延伸问题:devicedriver通过什么匹配的?nameid_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. 进程上下文,中断上下文

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!