本文以USB鼠标讲解USB设备驱动。驱动程序中调用usb_register(struct usb_driver *)函数时,先判断USB总线驱动程序是否支持usb_driver里定义的id_table,若支持,调用usb_driver的probe函数。所以首先要定义并初始化usb_driver结构体...
分类:
系统相关 时间:
2014-07-06 23:38:42
阅读次数:
339
在使用linux的ramoops驱动模块时,在编译完加载时,会发现驱动加载不成功。明明直接使用的内核代码,为什么会出现这样的情况呢?
首先看一下ramoops的初始化代码:
180 static int __init ramoops_init(void)
181 {
182 return platform_driver_probe(&ramoops_driver, ramoops_pr...
分类:
其他好文 时间:
2014-07-04 00:24:28
阅读次数:
761
USB设备插入时,内核会读取设备信息,接着就把id_table里的信息与读取到的信息做比较,看是否匹配,如果匹配,就调用probe函数。USB设备拔出时会调用disconnect函数。URB在USB设备驱动程序中用来描述与USB设备通信时用到的基本载体和核心数据结构。...
分类:
系统相关 时间:
2014-06-18 11:51:03
阅读次数:
443
本文主要内容来源于V. L. Mironov 的“Fundamentals of scanning probe microscopy”。根据个人对SPM的理解略有改编。...
分类:
其他好文 时间:
2014-06-08 04:44:57
阅读次数:
192
在SPECCTRAQuest下,选择Analyze->SI/EMI
sim->Probe,进入如下图所示界面:注:BRD文件命名不用使用中文字符及一些不常用的字符,如".",最好只使用字母,数字和下划线的组合。否则,会出现提取不到任何网络的情况。一、提取拓扑结构点击viewTopology,出现如下...
分类:
其他好文 时间:
2014-05-21 20:57:28
阅读次数:
399