一系列相互独立的端点在一起构成了USB逻辑设备,在系统结构中,位于下方红色方框内: 二、端点的分类 每个USB设备都有一个唯一的设备地址,设备地址是设备连接上主机时由主机分配的,主机主要依靠这个设备地址对...USB设备进行访问。...五、端点与管道 1、管道的概念 管道是主机软件(数据缓存区),和USB设备各各端点之间的数据传输连接,他是两者之间通信流的抽象(实际上数据传输是USB总线接口完成)。...1)、“流”指不具有USB定义格式的数据流,流通道中的数据是流的形式,也就是该数据内容不具有USB要求的结构。...2)、“消息”指具有某种USB定义格式的数据流。消息通道与端点的关系同流通道与端点的关系是不同的。
mc: Linux media interface: v0.10 videodev: Linux video capture interface: v2.00 Advanced Linux Sound...4200400.ohci1-controller: OHCI Host Controller sunxi-ohci 4200400.ohci1-controller: new USB bus registered...2.0 started, EHCI 1.00 hub 3-0:1.0: USB hub found hub 3-0:1.0: 1 port detected [ohci0-controller]: sunxi_usb_enable_ohci...4101400.ohci0-controller: OHCI Host Controller sunxi-ohci 4101400.ohci0-controller: new USB bus registered...mc: Linux media interface: v0.10 videodev: Linux video capture interface: v2.00 Advanced Linux Sound
这个概念,在开发底层驱动程序时,首先要确认的就是设备的资源信息,例如设备的地址, 在2.6内核中将每个设备的资源用结构platform_device来描述,该结构体定义在kernel\include\linux...num_resources; struct resource * resource; }; 该结构一个重要的元素是resource,该元素存入了最为重要的设备资源信息,定义在kernel\include\linux...start = IRQ_USBH1, .end = IRQ_USBH1, .flags = IORESOURCE_IRQ, }, }; 这里定义了两组resource,它描述了一个usb...host设备的资源,第1组描述了这个usb host设备所占用的 总线地址范围,IORESOURCE_MEM表示第1组描述的是内存类型的资源信息,第2组描述了这个usb host设备 的中断号,IORESOURCE_IRQ...必须在设备驱动加载之前被调用,可以把它放到: subsys_initcall(pxa27x_init); 驱动程序需要实现结构体struct platform_driver,参考kernel\driver\usb
做Linux方面也有三个多月了,对代码中的有些结构一直不是非常明确,比方platform_device与platform_driver一直分不清关系。在网上搜了下,做个总结。...-ohci", //s3c6410-usb .id = -1, .num_resources = ARRAY_SIZE(s3c_usb_resource)..., .remove = ohci_hcd_s3c2410_drv_remove, .shutdown = usb_hcd_platform_shutdown, /*.suspend...= ohci_hcd_s3c2410_drv_suspend, */ /*.resume = ohci_hcd_s3c2410_drv_resume, */ .driver =...的1124行)函数中调用函数platform_driver_register()注冊该platform_driver,须要注意的是s3c_device_usb结构中name元素和ohci_hcd_s3c2410
] sunxi-ohci 4200400.ohci1-controller: new USB bus registered, assigned bus number 2 [ 2.004795] sunxi-ohci...4200400.ohci1-controller: irq 50, io mem 0x04200400 [ 2.086338] hub 2-0:1.0: USB hub found [ 2.090582...] sunxi-ohci 4200400.ohci1-controller: new USB bus registered, assigned bus number 2 [ 2.004795] sunxi-ohci...学习嵌入式Linux 基本知识 : https://www.bilibili.com/video/BV1VN4y137Tf 熟悉嵌入式Linux开发 学习Tina-SDK开发 学习Linux驱动开发...学习专题课程(比如RISC-V架构专题) 工作岗位 嵌入式Linux 应用开发 初级 高级 嵌入式Linux驱动开发 初级 中级 高级 嵌入式系统开发 嵌入式Linux系统优化工程师
如果将 USB 设备(ehci_hcd、ohci_hcd 和 uhci_hcd) 编译为模块,则需要此文件,这样它们就会以正确的顺序加载。...ehci_hcd 需要在 ohci_hcd 和 uhci_hcd 之前加载,否则在系统启动过程中将会输出警告。...运行以下命令建立 /etc/modprobe.d/usb.conf 文件: install -v -m755 -d /etc/modprobe.d cat > /etc/modprobe.d/usb.conf...<< "EOF" # Begin /etc/modprobe.d/usb.conf install ohci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe.../etc/modprobe.d/usb.conf EOF 安装完成后清理工作: cd .. rm -rf linux-3.19 ---- 本次分享到此结束啦~ 如果觉得文章对你有帮助,点赞、收藏、关注
[AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller 00:12.1 USB controller: Advanced Micro Devices, Inc....[AMD/ATI] SB7x0 USB OHCI1 Controller 00:12.2 USB controller: Advanced Micro Devices, Inc....[AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller 00:13.1 USB controller: Advanced Micro Devices, Inc....[AMD/ATI] SB7x0 USB OHCI1 Controller 00:13.2 USB controller: Advanced Micro Devices, Inc....读者可以在阅读关于 USB 设备的文章,了解有关 Linux 硬件的更多信息:使用此 USB ID 存储库识别 Linux 上的更多设备。
Linux 软件包包含 Linux 内核。...负责加载内核模块的程序 modprobe 和 insmod 从 /etc/modprobe.d 下的配置文件中读取加载顺序,例如,如果 USB 驱动程序 (ehci_hcd、ohci_hcd 和 uhci_hcd...) 被构建为模块,则必须按照先加载 echi_hcd,再加载 ohci_hcd 和 uhci_hcd 的正确顺序,才能避免引导时出现警告信息。...为此,执行以下命令创建文件 /etc/modprobe.d/usb.conf: install -v -m755 -d /etc/modprobe.d cat > /etc/modprobe.d/usb.conf...<< "EOF" # Begin /etc/modprobe.d/usb.conf install ohci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe
快速启动: git clone https://gitee.com/fhcloud/linux-v3s cd linux-v3s make v3s_pi_defconfig make 输出的内核文件在:...软件设计 软件方案主要讲这8个部分:Linux内核、2.4寸LCD彩屏驱动、USB、以太网、无线网卡RTL8723BS、ADC按键、音频播放、libcurl。...Linux内核 内核采用Linux5.15.143主线内核,在其基础上,修改了部分代码,适配V3S大部分外设。...= "okay"; }; ohci0: usb@01c1a400 { compatible = "...>, ; resets = , <&ccu
gadget 功能前关闭 adb 功能时却报异常的解决办法 4 附录 4.1 Linux-4.x/Linux-5.4 Gadget 配置示例 4.1.1 小机做 mass storage 4.1.2...1.3 适用范围 表 1-1: 适用产品列表 内核版本 驱动文件 Linux-4.9 drivers/usb/* Linux-5.4 drivers/usb/* 2 模块介绍 2.1 模块功能介绍...>; }; ohci1:ohci1-controller@0x05200400 { drvvbus-supply = ; }; • Vbus 配置 reg_usb1_...USB 总线采用树形结构,在一条总线上只能有唯一的主机设备。Linux 内核从主机和设备两个角度观察 USB 总线结构。...图 2-11: linux-4.x usb gadget 配置选择 2.6.2 linux-4.x/linux-5.4 USB Gadget 配置流程 Linux-4.x/Linux-5.4 使用 configfs
) += ohci-s3c2410.o b,再查看一下Kconfig, config USB_OHCI_HCD_S3C2410 tristate "OHCI support for Samsung...c,通过Makefile和Kconfig发现,s3c2410依赖于USB_OHCI_HCD_S3C2410 和 USB_OHCI_HCD,那USB_OHCI_HCD呢?...config USB_OHCI_HCD tristate "OHCI HCD (USB 1.1) support" depends on HAS_DMA && HAS_IOMEM --...d,USB_OHCI_HCD只依赖于DMA和IOMEM。...继续回到Makefile,判断USB_OHCI_HCD会编译哪些文件 obj-$(CONFIG_USB_OHCI_HCD) += ohci-hcd.o e,看到这里,我们明白要打开s3c2410的host
[AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller 00:12.1 USB controller: Advanced Micro Devices, Inc....[AMD/ATI] SB7x0 USB OHCI1 Controller 00:12.2 USB controller: Advanced Micro Devices, Inc....[AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller 00:13.1 USB controller: Advanced Micro Devices, Inc....[AMD/ATI] SB7x0 USB OHCI1 Controller 00:13.2 USB controller: Advanced Micro Devices, Inc....[AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI2 Controller 00:18.0 Host bridge: Advanced Micro Devices, Inc.
图 四.6 开发板登录界面图 进入命令行后,就可以执行各种Linux命令了,如图3.7所示: 图 四.7通过串口在开发板上体验Linux命令 3.通过adb传输文件 adb命令全称...detected [ 46.143975] [ohci0-controller]: sunxi_usb_enable_ohci [ 46.149713] [sunxi-ohci0]: probe...USB2.0 'Open' Host Controller (OHCI) Driver [ 46.178753] sunxi-ohci 4101000.ohci0-controller: new...USB bus registered, assigned bus number 2 [ 46.188518] sunxi-ohci 4101000.ohci0-controller: irq 312...[ 49.945431] usb 2-1: new full-speed USB device number 2 using sunxi-ohci [ 50.168452] usb 2-1: not
该命令由 pciutils 包提供,可用于各种基于 Linux 和 BSD 的操作系统。...[AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller00:12.1 USB controller: Advanced Micro Devices, Inc....[AMD/ATI] SB7x0 USB OHCI1 Controller00:12.2 USB controller: Advanced Micro Devices, Inc....[AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller00:13.1 USB controller: Advanced Micro Devices, Inc....[AMD/ATI] SB7x0 USB OHCI1 Controller00:13.2 USB controller: Advanced Micro Devices, Inc.
Linux 内核源码:include\linux\usb.h Linux 内核源码:drivers\hid\usbhid\usbmouse.c 1....BUS/DEV/DRV 模型 "USB 接口"是逻辑上的 USB 设备,编写的 usb_driver 驱动程序,支持的是"USB 接口": USB 控制器或 Hub 识别出 USB 设备后,会创建、...注册 usb_device usb_device 被"drivers\usb\core\generic.c" 驱动认领后,会选择、设置某个配置 这个配置下面的接口,都会分配、设置、注册一个 usb_interface...左边的 usb_driver 和右边的 usb_interface 如果匹配,则调用 usb_driver.probe 2....接口函数 在 USB 设备驱动程序中,能使用的 USB 函数都在这个头文件里:include\linux\usb.h。
[ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.4.61 (ubuntu@ubuntu1804...[ 0.276486] mc: Linux media interface: v0.10 [ 0.280780] videodev: Linux video capture interface...detected [ 1.806020] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 1.813010] sunxi-ohci...1.878993] sunxi-ohci 4200400.ohci1-controller: OHCI Host Controller [ 1.886249] sunxi-ohci 4200400....ohci1-controller: new USB bus registered, assigned bus number 2 [ 1.896150] sunxi-ohci 4200400.ohci1
启动开发板 开发板启动连接接口如下: 接入①12v电源、③USB-OTG和②USB串口。拨动电源开关,即可启动开发板。...[ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.4.61 (ubuntu@ubuntu1804...[ 0.276486] mc: Linux media interface: v0.10 [ 0.280780] videodev: Linux video capture interface...detected [ 1.806020] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 1.813010] sunxi-ohci....ohci1-controller: new USB bus registered, assigned bus number 2 [ 1.896150] sunxi-ohci 4200400.ohci1
[ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.2.0-licheepi-zero+...1-0:1.0: 1 port detected [ 0.955319] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [...0.961673] ohci-platform: OHCI generic platform driver [ 0.967232] ohci-platform 1c1a400.usb: Generic...Platform OHCI controller [ 0.973983] ohci-platform 1c1a400.usb: new USB bus registered, assigned...bus number 2 [ 0.981968] ohci-platform 1c1a400.usb: irq 27, io mem 0x01c1a400 [ 1.054635] hub 2
: USB 1.1 'Open' Host Controller (OHCI) Driver [ 2.712647] ohci-platform: OHCI generic platform driver...4.606055] hub 2-0:1.0: 1 port detected [ 4.614695] ohci-platform 1c14400.usb: Generic Platform OHCI...controller [ 4.627974] ohci-platform 1c14400.usb: new USB bus registered, assigned bus number 3 [...4.643687] ohci-platform 1c14400.usb: irq 33, io mem 0x01c14400 [ 4.730281] hub 3-0:1.0: USB hub...Platform OHCI controller [ 4.759793] ohci-platform 1c1c400.usb: new USB bus registered, assigned bus
]usb probe ok [01.118]usb setup ok set address 0x8 set address 0x8 ok [04.123]do_burn_from_boot usb...[ 0.113095] Advanced Linux Sound Architecture Driver Initialized...detected [ 1.423237] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 1.430191] sunxi-ohci...4200400.ohci1-controller: new USB bus registered, assigned bus number 2 [ 1.499508] sunxi-ohci 4200400....ohci1-controller: irq 50, io mem 0x04200400 [ 1.569855] hub 2-0:1.0: USB hub found [ 1.574120
领取专属 10元无门槛券
手把手带您无忧上云