--------------------------------------------------------------------
2012/10/10/三
1:驱动程序应该处理如何使硬件可用的问题;=>机制(需要提供什么功能);
=>策略(如何使用这些功能);
第一章:P10
2:读者经常会在内核API中看到具有两个下划线(__)前缀的函数名称,具有这种名称的
函数通常是接口的底层组件,应谨慎使用;实质上,双下划线告诉程序员:"谨慎使用,否
则后果自负".
第二章:P28
3: Documentation/kbuild =>构建内核
Documentation/Changes文件列出了需要的工具版本;
第二章:P28
4:有且只有系统调用的名字前带有“sys_”前缀;
5:insmod/modprobe/rmmod/lsmod(proc/modules)
查看系统日志文件:/var/log/messages或者系统配置使用的文件;将看到导致模块
装载失败的原因;
6:公共内核符号表:中包含了所有全局内核项(即函数和变量)的地址;
7:每个USB输入设备模块层叠在usbcore和input模块之上;
第二章:P33
8: 大部分内核代码中都要包含相当数量的头文件,以便获得函数、数据类型和变量的定
义;
9:Kconfig很简单;Makefile中"obj-$(CONFIG_XXX) += ttyprintk.o"代表添加一个
驱动源文件;
---------------------------------------------------------------------
2012/10/11/四
1: 分配的主设备号函数里面的:"char *name":name是和该编号范围关联的设备名称;它
将出现在“/proc/devices和sysfs中”;已经分配的不能使用的主设备号:
Documentation/devices.txt文件中;
第二章:P49
2:/etc/rc.local文件中可以调用自己写的脚本;
3:struct cdev *i_cdev;是表示字符设备的内核的内部结构;将inode指向一个字符设备
文件时,该字段包含了指向struct cdev结构的指针;=〉把字符设备注册进内核;内核和设
备间的接口;
第三章:P61
2012/10/10/三
1:驱动程序应该处理如何使硬件可用的问题;=>机制(需要提供什么功能);
=>策略(如何使用这些功能);
第一章:P10
2:读者经常会在内核API中看到具有两个下划线(__)前缀的函数名称,具有这种名称的
函数通常是接口的底层组件,应谨慎使用;实质上,双下划线告诉程序员:"谨慎使用,否
则后果自负".
第二章:P28
3: Documentation/kbuild =>构建内核
Documentation/Changes文件列出了需要的工具版本;
第二章:P28
4:有且只有系统调用的名字前带有“sys_”前缀;
5:insmod/modprobe/rmmod/lsmod(proc/modules)
查看系统日志文件:/var/log/messages或者系统配置使用的文件;将看到导致模块
装载失败的原因;
6:公共内核符号表:中包含了所有全局内核项(即函数和变量)的地址;
7:每个USB输入设备模块层叠在usbcore和input模块之上;
第二章:P33
8: 大部分内核代码中都要包含相当数量的头文件,以便获得函数、数据类型和变量的定
义;
9:Kconfig很简单;Makefile中"obj-$(CONFIG_XXX) += ttyprintk.o"代表添加一个
驱动源文件;
---------------------------------------------------------------------
2012/10/11/四
1: 分配的主设备号函数里面的:"char *name":name是和该编号范围关联的设备名称;它
将出现在“/proc/devices和sysfs中”;已经分配的不能使用的主设备号:
Documentation/devices.txt文件中;
第二章:P49
2:/etc/rc.local文件中可以调用自己写的脚本;
3:struct cdev *i_cdev;是表示字符设备的内核的内部结构;将inode指向一个字符设备
文件时,该字段包含了指向struct cdev结构的指针;=〉把字符设备注册进内核;内核和设
备间的接口;
第三章:P61