转自:http://blog.csdn.net/zkami/article/details/2496770 usb_hcd_omap_probe (const struct hc_driver *driver) (dev/ohci/ohci-omap.c)在模块初始化时被platform_driver_register()调用,用来初始化与ohci_hcd_omap_driver相匹配的usb主控制器.->usb_create_hcd(driver);   创建一个代表host-controll…
转自:http://blog.csdn.net/ljzcom/article/details/8186914 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 2 关键数据结构 3 系统架构 4 usb_submit_urb   1. 主机控制器(Host Controller) • UHCI: Universal Host Controller Interface (通用主机控制接口, USB1.0/1.1)      • OHCI: Open Host Contro…
Protecting computer systems from attacks that attempt to change USB topology and for ensuring that the system's information regarding USB topology is accurate is disclosed. A software model is defined that, together with secure USB hardware, provides…
文章目录 1. 简介 2. Usb Core 驱动设备模型 2.1 Usb Device Layer 2.1.1 device (struct usb_device) 2.1.2 driver (struct usb_device_driver) 2.1.3 bus (usb_bus_type) 2.2 Usb Interface Layer 2.2.1 device (struct usb_interface) 2.2.2 driver (struct usb_driver) 2.2.3 bu…
1. 主机控制器(Host Controller) • UHCI: Universal Host Controller Interface (通用主机控制接口, USB1.0/1.1)      • OHCI: Open Host Controller Interface (开放主机控制接口,USB1.0/1.1)      • EHCI: Enhanced Host Controller Interface (用于USB2.0高速设备的“增强主机控制接口”) USB的拓扑结构决定了主机控制器就…
一.linux 下的usb驱动框架 在linux系统中,usb驱动可以从两个角度去观察,一个是主机侧,一个是设备侧.linux usb 驱动的总体框架如下图所示:   从主机侧看usb驱动可分为四层:usb主机控制器硬件底层.usb主机控制器驱动.usb核心和usb设备驱动. 在主机侧要实现的驱动主要分为两类:usb主机控制器驱动和usb设备驱动.主机控制器驱动负责控制插入其中的usb设备,usb设备驱动主要负责usb设备和主机的通信. usb核心向上为设备驱动提供编程接口,向下为usb控制器驱…
Security arrangements for a universal serial bus (USB) protocol stack of a USB host system are provided. The security arrangements prevent an unauthorized or suspicious USB device from communicating with the host system, detect suspicious activity or…
目录 1. 背景介绍 2. Device (gadget zero) 2.1 gadget zero 创建 2.2 SourceSink Function 2.3 Loopback Function 3. Host (usbtest.ko) 3.1 testcase 3.2 ioctl 4. App (testusb) 参考资料 1. 背景介绍 在测试 USB 时,普通的做法是找一些 U 盘.鼠标.键盘 等外设来做一些测试,但是这些测试还是偏上层偏功能的.相比较 HC (USB Host Con…
转自:http://blog.chinaunix.net/uid-23046336-id-3243543.html   看了http://blog.chinaunix.net/uid-11848011-id-96188.html的驱动框架分析,感觉受益匪浅.对于一些内容,我自己查漏补缺. 首先我们按照顺序,看内核模块的注册以及释放函数如下: 点击(此处)折叠或打开 static int __init usb_skel_init(void) { int result; /* register th…
转自:http://blog.chinaunix.net/uid-11848011-id-96188.html 初次接触与OS相关的设备驱动编写,感觉还挺有意思的,为了不至于忘掉看过的东西,笔记跟总结当然不可缺,更何况我决定为嵌入式卖命了.好,言归正传,我说一说这段时间的收获,跟大家分享一下Linux的驱动开发.但这次只先针对Linux的USB子系统作分析,因为周五研讨老板催货.当然,还会顺带提一下其他的驱动程序写法.        事实上,Linux的设备驱动都遵循一个惯例——表征驱动程序(用…