总结复习 目录 总结复习 一、杂项驱动开发 + GPIO子系统 1:何为杂项、何为驱动、Linux下驱动有什么特点? 2:杂项的特点有什么 3:杂项是如何注册(misc_register();)、杂项是如何取消注册(misc_deregister();) 4:GPIO子系统是什么,有什么用? 5:GPIO子系统的GPIO编号如何获取 6:GPIO子系统如何申请一个 引脚,不申请行不行? 7:GPIO子系统怎么设置 GPIO的工作模式的 8:GPIO子系统如何获取GPIO的状态的 9:如果我想让 GPIO工作在 复用模式,是否可以用GPIO子系统开发 实践代码:控制LED灯 出现的问题:编译不通过, 文件夹的名字最好不用中文和中文符号,最好用下划线 二、Linux2.6的驱动开发 1:对比杂项驱动有什么特点 2:Linux2.6的开发流程是如何的 3:Linux2.6下如何申请设备号(alloc_chrdev_region) 4:如何初始化 cdev和添加cdev 5:如何生成设备文件 代码实践:实现蜂鸣器驱动 三、多节点和内核接口 1、多节点主要是一个思想 2:内核的接口: read和 write 实践:多节点:一个驱动生成多个设备文件 实践:copy_from_user和copy_to_user 四、设备树 1、什么是设备树,设备树有什么用 2:设备树存在的位置和最终生成的文件类型 3:没有设备树的内核是否可以正常工作 4:设备树的追加有什么意义 5:设备树的节点里面属性值有几种类型 6:如何在设备树里面新增一个节点 常见属性 1、通过路径查找节点 2、通过名字查找节点(of_find_node_by_name&