This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/PROCESSOR-SDK-AM335X:在 AM335x-EVM 板中将 USB0用作 USB 串行器件

Guru**** 2555630 points
Other Parts Discussed in Thread: TPS65910, TMP275

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/598458/linux-processor-sdk-am335x-using-usb0-as-usb-serial-device-in-am335x-evm-board

器件型号:PROCESSOR-SDK-AM335X
主题中讨论的其他器件:TPS65910DA8XXTMP275

工具/软件:Linux

您好!

我已经浏览 了 AM335x_USB_Driver_Guide 并按照此处所述对其进行了配置。 当我将设备连接到 PC 时、我在设备管理器中看不到任何 USB 串行设备。 当我使用命令 lsusb 时,我将得到的响应为  

总线001设备001:ID 1d6b:0002,但我在设备管理器中看不到串行设备。

以下是日志:  

KÇ μ A
U-Boot SPL 2013.01.01 (2013年6月25日- 16:42:52)
MUSB - hdrc:ConfigData=0xde (UTMI-8、dyn FIFO、大容量组合、大容量分离、HB-ISO Rx、 HB-ISO Tx、SoftConn)
MUSB - hdrc:MHDRC RTL 版本2.0
musb-hdrc:设置 fifo_mode 4.
musb-hdrc:28/31最大 EP、16384/16384存储器
USB 外设模式控制器、位于47401000、使用 PIO、IRQ 0
MUSB - hdrc:ConfigData=0xde (UTMI-8、dyn FIFO、大容量组合、大容量分离、HB-ISO Rx、 HB-ISO Tx、SoftConn)
MUSB - hdrc:MHDRC RTL 版本2.0
musb-hdrc:设置 fifo_mode 4.
musb-hdrc:28/31最大 EP、16384/16384存储器
USB 主机模式控制器、位于47401800、使用 PIO、IRQ 0
OMAP SD/MMC:0
正在读取 u-boot.img
正在读取 u-boot.img


U-Boot 2013.01.01 (2013年6月25日- 16:42:52)

I2C:就绪
DRAM:1 GiB
警告:未启用缓存
NAND:256 MIB
MMC:OMAP SD/MMC:0、OMAP SD/MMC:1.
***警告- CRC 错误,使用默认环境

MUSB - hdrc:ConfigData=0xde (UTMI-8、dyn FIFO、大容量组合、大容量分离、HB-ISO Rx、 HB-ISO Tx、SoftConn)
MUSB - hdrc:MHDRC RTL 版本2.0
musb-hdrc:设置 fifo_mode 4.
musb-hdrc:28/31最大 EP、16384/16384存储器
USB 外设模式控制器、位于47401000、使用 PIO、IRQ 0
MUSB - hdrc:ConfigData=0xde (UTMI-8、dyn FIFO、大容量组合、大容量分离、HB-ISO Rx、 HB-ISO Tx、SoftConn)
MUSB - hdrc:MHDRC RTL 版本2.0
musb-hdrc:设置 fifo_mode 4.
musb-hdrc:28/31最大 EP、16384/16384存储器
USB 主机模式控制器、位于47401800、使用 PIO、IRQ 0
网络: 未设置。 验证第一个电子保险丝 MAC
CPsw、USB_ether
按任意键停止自动引导:1.
0
mmc0是当前器件
在器件0上找到 SD/MMC
正在阅读 uEnv.txt
153字节在2ms (74.2 KiB/s)内读取
uEnv.txt 上的已加载环境
正在从 MMC 导入环境...
正在运行 envcmd ...
正在读取 uImage
3205496字节在320ms (9.6 MIB/s)内读取
##从 Legacy Image 中引导内核,地址为82000000...
映像名称:Linux-3.2.0
映像类型:ARM Linux 内核映像(未压缩)
数据大小:3205432字节= 3.1 MiB
加载地址:80008000
入口点:80008000
正在验证校验和... 好的
正在加载内核映像... 好的
好的

正在启动内核...

正在解压缩 Linux... 已完成、正在引导内核。
[0.000000] Linux 版本3.2.0 (Ali@Ali)(gcc 版本4.9.2 20140904 (预发布版本)(Crossstake-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09))#5 Thu May 18 18 16:09:19 IST 2017
[0.000000] CPU:ARMv7处理器[413fc082]修订版2 (ARMv7)、CR=10c53c7d
[0.000000] CPU:PIPT/VIPT 非混叠数据高速缓存、VIPT 别名指令高速缓存
[0.000000]机器:am335xevm
[0.000000]内存策略:ECC 禁用、数据高速缓存写回
[0.000000] AM335X ES2.1 (SGX NEON )
[0.000000]在区域顺序和移动分组中构建了1个区域列表。 总页数:32512
[0.000000]内核命令行:console=ttyO0、115200n8 root=/dev/mmcblk0p2 mem=128M rootwait
[0.000000] PID 哈希表条目:512 (顺序:-1、2048字节)
[0.000000]条目高速缓存散列表条目:16384 (顺序:4、65536字节)
[0.000000] inode 高速缓存散列表条目:8192 (顺序:3、32768字节)
[0.000000]内存:总共128MB = 128MB
[0.000000]内存:可用的内存为123204k/123204k、保留的内存为7868k、0K HIGHMEM
[0.000000]虚拟内核内存布局:
[0.000000]矢量:0xff0000-0xff1000 (4KB)
[0.000000] fixmap:0xFF00000 - 0xFFE0000 (896 KB)
[0.000000] vmalloc:0xc8800000 - 0xc000000 (872 MB)
[0.000000]低内存:0xC0000000 - 0xc8000000 (128 MB)
[0.000000]模块:bbf000000 - 0xC0000000 (16 MB)
[0.000000].text:0xc0008000 - 0xc05b7000 (5820KB)
[0.000000].init:0xc05b7000 - 0xc05f2000 (236KB)
[0.000000].data:0xc05f2000 - 0xc065c270 (425KB)
[0.000000].bss:0xc065c294 - 0xc068b524 (189KB)
[0.000000] NR_IRQ:396
[0.000000] IRQ:在0xfa200000 (修订版5.0)处找到具有128个中断的 INTC
[0.000000]在1个活动控制器上总共有128个中断
[0.000000] OMAP 时钟事件源:24000000 Hz 时的 GPTIMER2
[0.000000] OMAP 时钟源:32768Hz 时的 GPTIMER1
[0.000000] sched_clock:32kHz 时为32位、分辨率为30517ns、每131071999ms 换行一次
[0.000000]控制台:彩色虚拟设备80x30
[0.000091]校准延迟环路... 996.14茂物剪(lpj=4980736)
[0.088867] pid_max:默认值:32768最小值:301
[0.088958]安全框架已初始化
[0.089019]安装高速缓存散列表条目:512
[0.089355] CPU:测试写入缓冲区一致性:好
[0.108428] omap_hwmod:pruss:无法硬复位
[0.109405] print_constraints:伪:
[0.109710] NET:注册协议系列16.
[0.111480] OMAP GPIO 硬件版本0.1
[0.113494] OMAP_mux_init:添加分区:#1:内核、标志:0
[0.115020] omap_i2c.1:别名 fck 已存在
[0.115722] OMAP2_mcspi.1:别名 fck 已存在
[0.115905] OMAP2_mcspi.2:别名 fck 已存在
[0.116638] EDMA.0:别名 Fck 已存在
[0.116668] EDMA.0:别名 Fck 已存在
[0.116668] EDMA.0:别名 Fck 已存在
[0.136718]生物:创建层块 为0
[0.138458] SCSI 子系统已初始化
[0.139831] usbcore:注册的新接口驱动程序 usbfs
[0.140075] usbcore:注册的新接口驱动程序集线器
[0.140228] usbcore:注册的新设备驱动程序 USB
[0.140502] registerd cpi-DMA Intr @ IRQ 17.
[0.140502] Cpipi41 Init DONE Qmgr-base (c887a000) dma-base (c8878000)
[0.140533] Cppi41初始化完成
[0.140533] musb-ti81xx musb-ti81xx:musb0、board_mode=0x13、plat_mode=0x3
[0.140777] musb-ti81xx musb-ti81xx:musb1、board_mode=0x13、plat_mode=0x1
[0.158874] OMAP-i2c OMAP-i2c.1:100kHz 时的总线1修订版2.4.0
[0.160430] tps65910 1-002D:JTAGGREVNUM 0x0
[0.162750] print_constraints:VRTC:
[0.164154] print_constraints:VIO:1500mV
[0.166442] print_constraints:VDD1:正常情况下为1325 mV 时为600 <-> 1500 mV
[0.168670] print_constraints:VDD2:正常1137mV 时为600<-> 1500mV
[0.169647] print_constraints:VDD3:5000mV
[0.171051] print_constraints:VDIG1:为1800mV
[0.1724] print_constraints:VDIG2:1800mV
[0.173797] print_constraints:VPLL:1800mV
[0.175201] print_constraints:VDAC:1800mV
[0.176574] print_constraints:VAUX1:1800mV
[0.177947] print_constraints:VAUX2:3300 mV 时
[0.179351] print_constraints:VAUX33:3300 mV
[0.180725] print_constraints:VMMC:3300 mV 时
[0.181121] tps65910 1-002D:无中断支持、无内核 IRQ
[0.182220]高级 Linux 声音架构驱动程序版本1.0.24。
[0.183166]切换到时钟源 gp 计时器
[0.194671] musb-hdrc:6.0版,?dma?,OTG (外设+主机)
[0.194854] musb-hdrc musb-hdrc.0:DMA 类型:dma-cppi41
[0.195129] MUSB0控制器的 USBSS 修订版= 4ea20800
[0.195159] musb0:已启用 SW BABBLE 控制
[0.195892] musb-hdrc musb-hdrc.0:使用 DMA、IRQ 18的 USB OTG 模式控制器位于 c883c000
[0.196044] musb-hdrc musb-hdrc.1:DMA 类型:dma-cppi41
[0.196289] MUSB1控制器的 USBSS 版本= 4ea20800
[0.196319] musb1:已启用软件 BABBLE 控制
[0.196655] musb-hdrc musb-hddrc.1:MUSB HDRC 主机驱动程序
[0.196777] musb-hdrc musb-hdrc.1:新的 USB 总线已注册、分配的总线编号1
[0.196868] USB USB1:找到新的 USB 器件、idVendor=1d6b、idProduct=0002
[0.196899] USB USB1:新 USB 器件字符串:MFR=3、Product=2、SerialNumber=1
[0.196899] USB USB1:产品:MUSB HDRC 主机驱动程序
[0.196899] USB USB1:制造商:Linux 3.2.0 musb-hcd
[0.196929] USB USB1:串行编号:musb-hdrc.1.
[0.197570]集线器1-0:1.0:找到 USB 集线器
[0.197570]集线器1-0:1.0:检测到1个端口
[0.198028] musb-hdrc musb-hdrc.1:c883e800的 USB 主机模式控制器、使用 DMA、IRQ 19
[0.198394] NET:注册协议系列2.
[0.198547] IP 路由高速缓存散列表条目:1024 (顺序:0、4096字节)
[0.198791] TCP 建立哈希表条目:4096 (顺序:3、32768字节)
[0.198852] TCP 绑定哈希表条目:4096 (顺序:2、16384字节)
[0.198883] TCP:已配置哈希表(建立4096 BIND 4096)
[0.198913] TCP 注册
[0.198913] UDP 哈希表条目:256 (顺序:0、4096字节)
[0.198944] UP-Lite 哈希表条目:256 (顺序:0、4096字节)
[0.199066] NET:注册协议系列1.
[0.199310] RPC:注册后命名为 UNIX 套接字传输模块。
[0.199310] RPC:注册的 UDP 传输模块。
[0.199310] RPC:注册的 TCP 传输模块。
[0.199340] RPC:注册的 TCP NFSv4.1反向通道传输模块。
[0.199554] NetWinder 浮点仿真器 V0.97 (双精度)
[0.206054] VFS:磁盘配额 dquot_6.5.2
[0.206115] Dquot 高速缓存散列表条目:1024 (顺序0、4096字节)
[0.206542] msgmni 已设置为240
[0.209136] ALG:无 stdrng (krng)测试
[0.209716]已注册 IO 调度程序 NOP
[0.209716]已登记 IO 调度程序的截止日期
[0.209777]注册的 IO 调度程序 cfq (默认值)
[0.210754]无法将 LED4设置为完全打开
[0.244079] OMAP-UART.0:MMIO 0x44e09000 (IRQ = 72)处的 ttyO0是 OMAP UART0
[0.892303]控制台[ttyO0]已启用
[0.896484] OMAP-UART.1:MMIO 0x48022000 (IRQ = 73)上的 ttyO1是 OMAP UART1
[0.904235] OMAP-UART.2:MMIO 0x48024000 (IRQ = 74)处的 ttyO2是 OMAP UART2
[0.911926] OMAP-UART.3:MMIO 0x481a6000 (IRQ = 44)上的 ttyO3是 OMAP UART3
[0.919647] OMAP-UART.4:MMIO 0x481a8000 (IRQ = 45)上的 ttyO4是 OMAP UART4
[0.927368] OMAP_UART.5:MMIO 0x481aa000 (IRQ = 46)处的 ttyO5是 OMAP UART5
[0.935485] OMAP4_rng OMAP4_rng:OMAP4随机数生成器版本。 2.00
[0.949645]返修:模块已加载
[0.956634]循环:模块已加载
[0.960052] i2c 内核:使用传统挂起方法的驱动程序[tsl2550]
[0.966552] i2c-core:使用传统恢复方法的驱动程序[tsl2550]
[0.972961] at24 1-0051:32768字节24c256 EEPROM、可写、64字节/写入
[0.987060]在 AM335x EVM 上检测到子卡。
[0.992065] CPLD 版本:CPLD1.0G
[0.995910] at24 1-0050:32768字节24c256 EEPROM、可写、64字节/写入
[1.011260]板名称:A33515BB
[1.014648]电路板版本:1.6A
[1.017944] SKU:SKU#01
[1.021026]该板是配置文件1中的通用 EVM
[1.027557] da8xx_LCDC.0:别名 Fck 已存在
[1.033020] da8xx_LCDC da8xx_LCDC.0:GLCD:找到 TFC_S9700RTWV35TR_01b 面板
[1.055175]控制台:切换到彩色帧缓冲器设备100x30
[1.070465] OMAP-GPMC OMAP-GPMC:GPMC 版本6.0
[1.075531]在 CS0上注册 NAND
[1.079772] OMAP_i2c.2:别名 Fck 已存在
[1.103820] omap_i2c omap_i2c.2:100kHz 时的总线2版本2.4.0
[1.110168] tsl2550 2-0039:标准工作模式
[1.115966] tsl2550 2-0039:支持版本 1.2启用
[1.121673] omap_hsmmc.0:别名 fck 已存在
[1.127105] d_CAN.1:别名 fck 已存在
[1.134429]注册的 am33xx_SR 器件
[1.138641]_regulator _get:2-0018未找到电源 Vdd、正在使用虚拟稳压器
[1.146270]_regulator _get:2-0018未找到电源 Vdd_io、正在使用虚拟稳压器
[1.174652] lis3lv02d:找到8位3DLH 传感器
[1.264129]输入:/devices/platform/lis3lv02d/input/input0上的 St LIS3LV02DL 加速计
[1.275451] mtdoops:必须提供 MTD 器件(mtddev=name/number)
[1.282623] OMAP2-nand 驱动程序正在初始化
[1.287261]检测到 ONFI 闪存
[1.290679] ONFI 参数页0有效
[1.294342] NAND 器件:制造商 ID:0x2C、芯片 ID:0xda (Micron MT29F2G08ABAEAWP)
[1.302886]在"OMAP2-nand.0"上创建8个 MTD 分区:
[1.308471] 0x0000000000000000 0x000000020000:"SPL"
[1.314605] 0x00000002000-0x000000040000:"SPL.Backup1"
[1.321228] 0x000000040000-0x000000060000:"SPL.Backup2"
[1.327880] 0x000000060000-0x000000080000:"SPL.backup3"
[1.334533] 0x000000080000-0x000000260000:“U-Boot”
[1.341491] 0x000000260000-0x000000280000:“U-Boot Env”
[1.348083] 0x000000280000-0x000000780000:“内核”
[1.356323] 0x000000780000-0x000010000000:“文件系统”
[1.465057] OneNAND 驱动程序正在初始化
[1.470214] CAN 器件驱动程序接口
[1.474273]适用于 Bosch D_CAN 控制器1.0的 CAN 总线驱动程序
[1.480651] d_can d_CAN.1:已注册设备(IRQ=55、IRQ_obj=56)
[1.533813] DaVinci_MDIO DaVinci_MDIO.0:达芬奇 MDIO 修订版本1.6
[1.540283] DaVinci_MDIO DaVinci_MDIO.0:检测到的 phy 掩码 FFFFFFFE
[1.547637] DaVinci_MDIO.0:探测
[1.551177] DaVinci_MDIO DaVinci_MDIO.0:PHY[0]:器件0:00、驱动程序未知
[1.558837] usbcore:注册的新接口驱动程序 zd1201
[1.564849] usbcore:注册的新接口驱动程序 CDC_ether
[1.571044] usbcore:注册的新接口驱动程序 CDC_eem
[1.577087] usbcore:注册的新接口驱动程序 dm9601
[1.582977] CDC_NCM:2011年8月4日
[1.586456] usbcore:注册的新接口驱动程序 CDC_NCM
[1.592376]正在初始化 USB 大容量存储驱动程序...
[1.597656] usbcore:注册的新接口驱动程序 USB 存储
[1.603973]已注册 USB 海量存储支持。
[1.609069] usbcore:注册的新接口驱动程序 usbserial
[1.615173] usbserial:USB Serial Driver 内核
[1.620086] mousedev:PS/2鼠标设备,适用于所有鼠标
[1.626922]输入:TI-TSC 作为/devices/platform/omap/ti_tscadc/tsc/input/input1
[1.635345] OMAP_RTC am33xx-RTC:RTC 内核:将 am33xx-RTC 注册为 rtc0
[1.642395] am33xx-RTC:已在运行
[1.646636] i2c /dev/entries 驱动程序
[1.650756] Linux 视频捕捉接口:v2.00
[1.655883] usbcore:注册的新接口驱动程序 uvcvideo
[1.661895] USB 视频类驱动程序(1.1.1)
[1.667022] LM75 2-0048:hwmon0:传感器"tmp275"
[1.94461] OMAP 看门狗计时器修订版0x01:初始超时60秒
[1.953033]空闲:使用调速器梯
[1.957733]空闲:使用调速器菜单
[1.964080] OMAP4_AES_MOD_INIT:正在加载 AM33X AES 驱动程序
[1.969757] OMAP4-AES OMAP4-AES:AM33X AES 硬件加速器版本:3.02
[1.976440] OMAP4_AES_PROBE:PROBE ()完成
[1.980834] OMAP4_SHAMM_MOD_INIT:加载 AM33X SHA/MD5驱动程序
[1.986968] OMAP4-SHAM OMAP4-SHAM OMAP4-SHAM:AM33X SHA/MD5 HW 加速版本:4.03
[2.001739] OMAP4_SHAN_PROBE:PROBE ()完成
[2.010070] usbcore:注册的新接口驱动程序 usbhid
[2.015930] usbhid:USB HID 内核驱动程序
[2.020477] tidc tidc:附加的 ADC 驱动器
[2.025604] usbcore:注册的新接口驱动程序 snd-usb-audio
[2.033477] ALSA 器件列表:
[2.036621]未找到声卡。
[2.040191] oprofile:硬件计数器不可用
[2.045471]配置文件:使用计时器中断。
[2.049957] NF_conntrack 版本0.5.0 (1925桶、最大7700)
[2.056579] IP_Tables:(c) 2000-2006年 Netfilter 核心小组
[2.062225] TCP 立方注册
[2.065643] NET:注册协议系列17.
[2.070281] CAN:控制器局域网内核(修订版20090105 ABI 8)
[2.076812] NET:注册协议系列29
[2.081512] CAN:原始协议(修订版20090105)
[2.085968] CAN:广播管理器协议(修订版20090105 t)
[2.091918]注册 DNS_旋 变传感器密钥类型
[2.096923] VFP 支持 v0.3:实施方41架构3第30部分版本 c 修订版3
[2.104919]支持 ThumbEE CPU 扩展。
[2.109466] mux:设置 hwmod IO IRQ -22失败
[2.114990] AM33XX 系列的电源管理
[2.119842]尝试加载 am335x-pm-firmware.bin (超时60秒)
[2.126525]已将 M3固件复制到 UMEM
[2.130889] Cortex M3固件版本= 0x181
[2.137298] create_regulator:VDD1:无法创建 debugfs 目录
[2.145660] SmartReflex SmartReflex:am33xx_SR_probe:驱动程序已初始化
[2.160217]时钟:禁用未使用的时钟以节省功耗
[2.175964]检测到 MACID=d0:39:72:29:f2:7a
[2.181274] mmc0:地址 AAAA 处的新高速 SDHC 卡
[2.187561] cpsw:Detected MACID = d0:39:72:29:f2:7c
[2.193420] mmcblk0:mmc0:AAAA SU04G 3.69 GiB
[2.199523] OMAP_RTC am33xx-RTC:将系统时钟设置为2000-01-01 00:00:17 UTC (946684817)
[2.208862] mmcblk0:P1 P2
[2.246429] kjournald 正在启动。 提交间隔5秒
[2.253631] EXT3-FS (mmcblk0p2):使用内部日志
[2.259124] EXT3-FS (mmcblk0p2):恢复完成
[2.265533] EXT3-FS (mmcblk0p2):已安装文件系统、具有有序数据模式
[2.272796] VFS:在器件179:2上安装了根(ext3文件系统)。
[2.279418]释放初始化内存:236K

请按 Enter 键激活此控制台。
/#
/#
/#lsusb

总线001器件001:ID 1d6b:0002

在将 USB0用作 USB 串行器件之前、是否需要执行其他配置?

此致

Mohasin Ali

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Mohasinali、

    我建议您仅启用一个 Gadget 驱动程序。

    看起来您已启用
    USB CDC/NCM
    2. USB UVC
    3. USB HID

    只需配置 USB CDC/NCM

    在启用将 USB 设备配置为复合设备的 g_multi之前、不可能有多个 USB 小工具驱动程序。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    莫哈桑

    内核 v3.2非常旧、不再受支持。 请迁移到最新的处理器 SDK。
    当报告此类问题时、请附加您的内核配置-/proc/config.gz、并提供有关如何按照用户指南配置 USB 小工具的详细信息。
    您需要在主机 PC 上运行命令"lsusb"、而不是在 AM335x 板上运行。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Bin、
    谢谢你。
    我们将迁移到最新的 Processor SDK。 我希望主机 PC 能够检测到我的器件(Sitara AM335x EVM)、并希望将该器件视为简单的通信端口。 要将我们的器件视为串行 COM 端口、需要配置哪些必要的功能?


    此致
    莫哈桑纳利
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Mohasinali、

    使用最新的 Processor SDK 内核、您可以使用 tisdk_AM335x-evm_defconfig 构建内核、并将其用作 defconfig、后者启用了所有 USB 相关模块。 然后、在电路板上引导 Linux 后、在电路板上运行命令'modprobe g_serial'以加载 USB 串行小工具驱动程序。 现在、将 AM335x USB 外设端口连接到 USB 主机端口、主机应将 AM335x 板枚举为串行 COM 端口。