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.

[参考译文] USB2ANY:当在 Linux 终端窗口中的 Linux 命令中控制时、USB2ANY 是否工作?

Guru**** 2479025 points
Other Parts Discussed in Thread: USB2ANY, TPS631012

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

https://e2e.ti.com/support/amplifiers-group/amplifiers/f/amplifiers-forum/1542386/usb2any-does-usb2any-work-when-controlled-in-linux-commands-in-linux-terminal-on-window

器件型号:USB2ANY
主题中讨论的其他器件: TPS631012

工具/软件:

您好:  

我的客户制造智能手机、而 TI 则在系统上设计直流/直流转换器。 他们想在构建自己的电路板之前、首先使用我们的 EVM 验证他们的 Linux 内核驱动程序代码。 他们将通过 Linux 终端发送/接收命令。

USB2ANY 在这种情况下是否可以正常工作? USB2ANY 似乎是基于窗口的驱动程序、我想知道它是否与基于窗口的 GUI 相同(当它通过窗口上的 Linux 终端进行控制时)。  

如果存在任何误解或您需要更多信息来回答、请告知。  

感谢你的帮助。

Ella

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

    原则上是可能的。 USB2ANY 枚举为 HID 器件、 并在控制数据包中发送/接收其所有信息。 因此、可以构建包含 hidlib 或 等效 操作系统级接口驱动程序的内容、手动构建和解构 HID 数据包、并在任何固件版本与器件进行交互、而无需使用任何特定于 Windows 的驱动程序或库。 实际上、我认为任何人都没有编写 可移植代码来实现这一点、但在浏览器中运行的 GUI Composer 库(我在查找源代码时遇到了一些问题)除外。

    具体取决于所需的功能 (GPIO? SPI 呢? I2C?) 我们也许可以把这一点放在一起,或者至少提供足够的脚手架来展示如何填充剩余的自己。

    客户需要从 USB2ANY 获取哪些无法在 Linux 环境中直接实现的具体行为? 大多数 Linux 计算机在处理器中内置了 I2C、SMBus、PMBus 和 UART/SPI 功能、是否有理由在环路中插入 USB2ANY?

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

    尊敬的 Derek:

    感谢 您的评论。  

    这适用于 TPS631012EVM、TPS631012 评估模块用户指南的 I2C 通信,操作非常简单 — 读取/写入寄存器。   

    ]客户需要使用 USB2ANY 执行哪些无法在 Linux 环境中直接完成的特定行为?

    我当时认为物理 I2C 接口转换可能需要 USB2ANY。 虽然 Linux 将在终端中运行、但数据包应从 PC USB 端口转换为 3.3V/GND/SDA/SCL 的形式。 根据您在上面的评论、您能否详细解释如何直接从 PC Linux 环境到 TI EVM 电路板实现 I2C 通信?

    此致、

    Ella  

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

    同样、根据主机处理器的不同、系统 SoC 或处理器中可能存在 I2C 总线主器件、或者可能有扩展总线器件在某些其他接口集合上可用。 大多数 Linux 内核还预编译了 i2c-tools 软件包 、其中包括 i2cdetect、i2cdump、i2cget、i2cset、i2ctransfer 命令行程序(请参见我链接到  Debian 的手册页,但各个发行版中的程序应该完全相同)。 这些方法易于使用自定义内核进行包含和编译、占用的空间非常小、并且可以根据需要与其他命令行程序链接和连接。 如果客户的 SoC 内核中尚未提供这些工具(或它们的某个版本)、我会感到非常惊讶、因为您提到他们正在将其用于智能手机。

    对 TPS631012 数据表进行的简要回顾表明总共有三个寄存器、因此在我看来、实现简单的用户空间驱动程序不需要花费太多精力。 i2c-tools 软件包为用户空间程序提供 libi2c,以应对更复杂的场景,内核文档提供了如何编写内核和用户空间驱动程序的说明 — 同样,如果客户还不知道所有这些,我会感到非常惊讶。

    我还查看了 TPS631012 数据表、看起来只有三个寄存器来控制整个器件。 我认为,实现所需功能应该非常简单,无论是作为驱动程序、简单的用户空间程序、shell 脚本等