网名“鱼树”的学员聂龙浩,
学习“韦东山 Linux 视频第 2 期”时所写的笔,笔记很详细,供大家参考。
也许有错漏,请自行分辨。
目录
1 概念介绍 ................................................................................................................................................................ 3
Sysfs: ......................................................................................................................................................................... 3
内核对象机制: ................................................................................................................................................... 3
Kobject: ........................................................................................................................................................... 3
设备模型结构(/include/linux/device.h): .................................................................................................. 3
在内核中加入新驱动: ...................................................................................................................................... 4
驱动程序原理图: ............................................................................................................................................... 5
2.字符设备驱动 LED 驱动程序_编写编译: ..................................................................................................... 6
“应用进程” 和 “驱动程序”如何联系: ......................................................................................................... 6
Struct file 数据结构如下: ........................................................................................................................ 8
一,内核和驱动过程: ...................................................................................................................................... 9
二,注册驱动函数细节: ............................................................................................................................... 11
总结过程:驱动程序和应用程序的联系 .................................................................................................... 12
从应用层看: ............................................................................................................................................. 12
从驱动程序看:如操作 LED ................................................................................................................... 12
四,写一个简单的字符驱动程序: ............................................................................................................. 13
1,一个简单的框架: ............................................................................................................................. 14
驱动程序中设备号: ................................................................................................................................ 16
应用程序设备节点: ................................................................................................................................ 16
完善点亮 LED: ................................................................................................................................................. 17
一,分析:完善硬件操作 ............................................................................................................................... 17
先查原理图: ............................................................................................................................................. 18
二,写代码:硬件上的操作: ...................................................................................................................... 19
总结:写一个驱动程序。 ............................................................................................................................... 23
3 查询方式获取按键值: .................................................................................................................................... 26
一,驱动框架实现: ........................................................................................................................................ 26
二,硬件操作: ................................................................................................................................................. 27
LINUX 异常处理结构、中断处理结构: ...................................................................................................... 31
一,Linux 异常处理体系结构 框架: ........................................................................................................ 31
LINUX 中处理中断的过程: ................................................................................................................ 31