- 博客(3)
- 资源 (53)
- 收藏
- 关注
原创 usb驱动程序分析
<br />usb驱动是linux内核中比较复杂的驱动之一,因此,大多数usb教程建议从usb-skeleton开始学习usb驱动。个人认为这是相当正确的,usb-sekelton提供了一个usb驱动开发的模板,而且代码量较少,很适合初学者的学习。 记住,对于c语言的程序设计说,数据结构是整个程序的灵魂。因此,分析别人编写的代码的简洁的入口点就是高清代码中主要数据结构之间的关系。分析以usb-skeleton为例的完整的usb驱动框架,我们就从主要的几个数据结构入手。 一、usb驱动框架的主要数据结构
2011-03-30 19:47:00 6332 1
原创 completion使用方法
<br />Linux系统提供了一种比信号量更好的同步机制,即completion,它用于一个执行单元等待另一个执行单元执行完某事。Linux系统中与completion相关的操作主要有以下4种:<br /> (1) 定义completion<br /> struct completion my_completion;<br /> (2) 初始化completion<br /> init_completion(&my_completion);<br />
2011-03-28 17:06:00 4018
原创 KVM中使用usb设备
<br />进来学习usb驱动,看到网上都在分析usb-skeleton.c的驱动框架,就想对其调试一下,看一下其函数调用流程。要想调试usb-skeleton,首先需要kvm能够探测到usb设备;其次,在kvm中编译usb-skeleton.c;最后,卸载默认的usb-storage.ko,加载usb-skeleton.ko.1. kvm中使用usb设备要想在kvm中使用usb设备,只需在启动参数中增加usb选项即可。下面是我的kvm驱动命令,红色字体为新添加的参数:sudo kvm -drive f
2011-03-28 16:20:00 6211
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人