Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26343
  • 博文数量: 9
  • 博客积分: 185
  • 博客等级: 入伍新兵
  • 技术积分: 90
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-08 19:14
文章分类
文章存档

2013年(10)

我的朋友

发布时间:2013-01-12 20:04:04

    spin_lock是Linux内核的一种同步机制。内核代码可以通过获得spin_lock宣称对某一资源的占有,直到其释放该spin_lock;如果内核代码试图获得一个已经锁定的spin_lock,则这部分代码会一直忙等待,直到获得该spin_lock    1、定义和初始化spinlock    在linux中定义spinlock的方法很简单,和普通的变量定义一样。       spinlock_t  spinlock;    &n......【阅读全文】

阅读(1315) | 评论(0) | 转发(0)

发布时间:2013-01-12 20:02:50

void *usb_buffer_alloc (struct usb_device *dev, size_t size, gfp_t mem_flags, dma_addr_t *dma); 这个函数是 usbcore 提供的 . 从名字上就能知道它是用来申请内存的 ,内核中给出了一些介绍。   第一个参数就是 struct usb_device 结构体的指针 , 第二个参数申请的 buffer 的大小 , 第三个参数 ,GFP_KERNEL, 是一个内存申请的 flag, 通常内存申请都用这个 flag, 除非是中断上下文 , 不能睡眠 , 那就得用 GPF_ATOMIC,......【阅读全文】

阅读(1460) | 评论(0) | 转发(0)

发布时间:2013-01-09 14:28:16

1、usb设备与驱动程序的匹配过程    a.先安装驱动,后插入设备       这种情况下,usb host controller完成对设备的枚举过程后,将设备的信息封装到一个usb_interface结构体中。usb core根据该结构体提供的设备信息(Vendor_id & Product_id)去遍历所有的驱动程序,找到支持该设备的驱动,并调用该驱动中的probe函数。最终将该驱动与设备关联,完成驱动程序的注册。 b.先插入设备,后安装驱动      ......【阅读全文】

阅读(4636) | 评论(0) | 转发(1)

发布时间:2013-01-09 10:27:06

文章出处:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/21/2602015.html 一、信号量       信号量又称为信号灯,它是用来协调不同进程间的数据对象的,而最主要的应用是共享内存方式的进程间通信。本质上,信号量是一个计数器,它用来记录对某个资源(如共享内存)的存取状况。一般说来,为了获得共享资源,进程需要执行下列操作:    (1) 测试控制该资源的信号量。    (2) 若此信号量的值为正,则允许进行使用该资源。进程将信号量减1。    (3) ......【阅读全文】

阅读(1379) | 评论(0) | 转发(0)

发布时间:2013-01-08 22:25:32

今天内容:USB驱动 1.         在USB设备组织结构中,从上到下分为设备(device)、配置(config)、接口(interface)和端点(endpoint)四个层次。 2.         设备地代表了一个插入的USB设备,在内核使用数据结构 struct usb_device来描述。 3.         一个USB设备可以有......【阅读全文】

阅读(847) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册