标签:usr end 字符 问题 通信 lease spi rem 问题:
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. 进程上下文,中断上下文
标签:usr end 字符 问题 通信 lease spi rem 问题:
原文地址:https://www.cnblogs.com/feliz/p/11432937.html