USB Host 配置
5 Dec 2024
Read time: 3 minute(s)
ArtInChip 提供了两路 USB Host 端口和一路 USB Device 端口,需要分别进行配置:
-
USB Host Contoller 配置
ArtInChip 在一个 USB Host 端口中提供了下列 Host Contoller,在软件上需要需要分开配置: -
USB Interface 驱动配置
完成 USB Host Contoller 配置后,系统可以正确识别插入 USB 总线的 Device 设备。此时配置 USB Interface 驱动。USB Device 有各种不同类型 ,例如 U 盘、键盘鼠标、无线网卡。在 USB Device 中以 Interface 为单位提供不同类型的功能。如需使用 USB Device 具体功能,配置不同类型 USB Interface 的驱动。
不同类型 USB Interface 驱动的配置可查看:
配置 EHCI 控制器
针对 USB 2.0 (High Speed) 的 EHCI 控制器,配置流程如下:
-
在 menuconfig 中配置设备。
使能 USB 端口,并且配置当前 USB 端口为 Host 模式:> Board options [*] Using Usb0 Select Usb0 mode (Host) --->
-
在 menuconfig 中配置 CherryUSB 驱动。
使能 CherryUSB 驱动,并且使能 Host 模式:> Local packages options > Third-party packages options [*] CherryUSB: tiny and portable USB host/device stack for embedded system with USB IP ---> [*] Enable usb host mode --->
U 盘配置
-
在 menuconfig 中使能 CherryUSB 中 msc 类型的 Host Class 驱动,并且使能对应实例模板:
> Local packages options > Third-party packages options [*] CherryUSB: tiny and portable USB host/device stack for embedded system with USB IP ---> [*] Enable usb host mode ---> [*] Enable usb msc driver ---> [*] Use msc template
-
插入 U 盘,会自动挂载到
/disk
目录:[I/USB] New high-speed device on Hub 1, Port 1 connected [I/USB] New device found,idVendor:30de,idProduct:6544,bcdDevice:0100 [I/USB] The device has 1 interfaces [I/USB] Enumeration success, start loading class driver [I/USB] Loading msc class driver [I/USB] Get max LUN:1 [I/USB] Ep=81 Attr=02 Mps=512 Interval=255 Mult=00 [I/USB] Ep=02 Attr=02 Mps=512 Interval=255 Mult=00 [I/USB] Capacity info: [I/USB] Block num:30274560,block size:512 [I/USB] Register MSC Class:/dev/sda found part[0], begin: 32256, size: 14.446GB [I] udisk_init()122 Found partition 0: type = 11, offet=0x3f, size=0x1cdf2a1 01-01 08:00:06 I/NO_TAG: try to mount file system!