《Linux设备驱动》学习笔记……

--------------------------------------------------------------------
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



你可能感兴趣的:(Linux)