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.

[参考译文] AM3358:使用 Yocto 项目创建入门套件自定义图像

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/564904/am3358-starter-kit-custom-image-created-with-yocto-project

器件型号:AM3358

尊敬的先生:

接下来是我的情况:

我使用 Yocto 项目为 AM335x 入门套件板(AM335x EVM SK)构建自定义映像。

我下载了 meta-ti 并编辑了 poky 编译目录的 conf 目录中的“local.conf”文件,将“machine”变量的值更改为“AM335x-EVM”。

执行“bitbake core-image-minimal”命令后,我获得了自定义映像并复制到 SD 卡。

我复制到 SD 卡的以下文件:mLO、zImage、u-boot.img、适用于 AM335x EVM SK 的 dtb 文件和适用于 AM335x EVM 入门套件的 rootfs。

 

打开 AM335x 入门套件并配置启动(使用 USB 串行通信)后、Linux 启动成功、并且大多数 AM335x 入门套件外设被识别。

 

但是、我的问题是、USB1不能与 Yocto 项目的 Linux 映像构建配合使用、而是与德州仪器 AM335x 入门套件中提供的 SD 卡上的 Linux 映像配合使用。

 

当我在 DTS 文件« AM335x-evmsk.dts »(位于«poky/build/tmp/work 共享/am335x-evm/kernel-source/arch/arm/boot/dts»中的 Yocto 项目目录)中查看 USB1配置时、它似乎已正确配置…

以下是« AM335x-evmsk.dts »文件中的 USB1配置:

(三

USB{(&D)

               状态="正常";

};

 

&USB_CTRL_mod{

               状态="正常";

};

 

USB1_phy{

               状态="正常";

};

 

USB1{(&S)

               状态="正常";

               DR_MODE ="主机";

};

 

(三

我不知道 DTS 文件中是否有其他配置来使用 USB1…

 

其他观察结果:

-在 USB1 5V 电源上、没有5V 电压(引脚« VUSB_VBUS1 »)。

这意味着 μ«AM335x_USB1_DRVVBUS »引脚处于低电平状态、但如果 DTS 文件配置正确、则应为高电平状态。

 

下面是 AM335x EVM SK 的原理图部分,它对应于 USB1电源控制:

 

-“/dev/”目录中没有 USB,“lsusb”命令不存在。

 

如何解决这些问题使 USB1正常工作,以及如何使 Linux 识别将连接到该 USB1端口的所有 USB 外设?

 

此致。

标准

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

    USB 专家已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Stan、


    我不使用 Yacto、无法判断它是什么问题、但我怀疑内核映像没有为 USB 正确构建、我们可以检查您的内核映像中缺少的内容。

    请确保您的文件系统具有 lsusb 和 lsmod 命令、然后在您的板上运行以下诊断脚本并提供日志。

    e2e.ti.com/.../3301.chkusb.sh.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不知道如何在文件系统中添加"lsusb"和"lsmod "命令
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    然后、只需将 TI 处理器 SDK 中提供的文件系统用于诊断目的。 该文件系统具有所有必需的赞扬。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    以下是使用 Yocto 创建的文件系统的结果:
    root@AM335x-EVM:/#./3301.chkusb.sh
    chkusb.sh 版本0.2.3
    Linux AM335x-EVM 4.4.4.19-ge581bb1cac #3抢先于1月5日12:50:05 CET 2017 armv7l GNU/Linux
    错误:找不到 lsusb 命令
    root@AM335x-EVM:/#

    这里是 TI 处理器 SDK 中提供的文件系统的结果
    root@AM335x-EVM:/#./3301.chkusb.sh
    chkusb.sh 版本0.2.3
    Linux AM335x-EVM 3.2.0 #1 Tue Jun 25 16:40:47 CDT 2013 armv7l GNU/Linux
    不支持的内核版本:3.2.0
    root@AM335x-EVM:/#
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用用户="Stan Niko]Linux AM335x-EVM 3.2.0 #1 Tue Jun 25 16:40:47 CDT 2013 armv7l GNU/Linux
    不支持的内核版本:3.2.0
    根目录@AM335x-EVM:/#[/引述]

    AM335x 内核 v3.2非常旧、不再受 TI 支持。 请迁移到最新的处理器 SDK。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    USB1主机与 TI SDK 处理器中提供的内核3.2配合使用。
    但我的问题不涉及德州提供的内核、而是与 Yocto 一起获得的内核。
    我想使用通过 Yocto 创建的内核。
    Yocto 创建的内核版本为4.4.19,大多数 AM335x 入门套件外设(以太网、触摸屏、SD 插槽...)已被识别 但是 USB1主机不起作用...没有 USB 设备位于"/dev/"目录中、找不到"lsusb"命令、并且在" vUSB_VBUS1"上没有 USB 电源
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我相信 Yocto 是一个社区项目、此处不受支持、此论坛仅支持 TI 处理器 SDK。

    但我建议您首先检查是否在 Yocto 构建中启用了 USB 相关驱动程序。 请将其.config 与 TI Processer SDK 内核中的.config 进行比较、后者也是 v4.4内核。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    最后、我解决了我的问题。
    如果其他人不知道如何解决 USB1主机问题、解决方案是将值" kernel-modules"添加到 local.conf 文件中的 image_install_append 变量中。
    要使用"lsusb"命令、只需附加"usbuutils"即可。
    解决方案:image_install_append ="内核模块 usutils"
x 出现错误。请重试或与管理员联系。