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.

[参考译文] AM4378:u-boot-spl 无法通过以太网外设引导。

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1196286/am4378-u-boot-spl-failed-to-boot-over-ethernet-peripheral

器件型号:AM4378

我正在尝试在 AM437X GP-EVM 上执行外设引导以刷写 eMMC。

已配置启动引脚,我将在 u-buntu 计算机上获取 BOOTP 数据包,并将 DHP & tftp 服务器配置为发送 u-boot.img,u-boot-spl 二进制文件。

RBL 可以下载 u-boot-spl.bin 文件。 u-boot-spl 无法发送 BOOTP 数据包并抛出以下错误。

无法为以太网@4a10000获取 PHY: 地址0

使用 BOOTP 引导时出现问题。

SPL:无法从所有引导设备引导。

###错误####请重置主板###

我尝试使用 SDK 中的二进制文件、也获得了相同的错误。

我的所有二进制文件都出自 Yocto、整个设置工作一次展示了一个关于使用 NFS 服务器进行 EMMC 闪存的演示。 我突然收到这个错误。

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

    我尝试添加一些打印语句。 还启用标志调试。  

    common/spl/spl_net.c
    @@-41、7 +41、7 @@ static int spl_net_load_image (struct spl_image_info *spl_image、
    env_set ("ethact"、bootdev->boot_device_name);
    RV = NET_LOOP (BOOTP);
    如果(RV < 0){
    - printf("使用 bootp 启动时出现问题\n");
    + printf ("使用 BOOTP RV=%d\n",RV)启动时出现问题;
    回程房车;
    }

    b/net/net.c.
    @@-441、12 +441、14 @@ restart:
    switch (net_check_prereq (protocol)){
    情形1:
    /*网络未配置*/
    + printf("/*未配置网络*/\n");
    ETH_Halt ();
    NET_SET_STATE (PREV_NET_STATE);
    返回-ENODEV;

    情形2:
    /*未配置网络设备*/
    + printf ("/*未配置网络设备*/\n");
    中断;

    通过以太网加载 u-boot-spl 后、返回类型为-19、即 ENODEV。 看起来是以太网初始化问题。

    输出如下:  

    无法为以太网@4a10000获取 PHY: 地址0

    使用 BOOTP RV =-19引导时出现问题。

    SPL:无法从所有引导设备引导。

    ###错误####请重置主板###

    需要您的帮助来调试此问题。   

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

    Siva,

    我同意这看起来像以太网初始化/配置问题。 您完全可以加载 U-Boot 这一事实很有希望、因为这表明您的硬件可能良好。

    TI 处理器 SDK 的哪个版本与您使用的 U-Boot 版本最匹配? 您使用何种以太网 PHY 连接到何种 AM437x 引脚? 您能否提供合适的原理图片段?

    谢谢。

    Stuart

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

    您好、Stuart Baker、

    我在使用预编译 SDK 二进制文件的 AM437X-GP-EVM 板上也看到了此问题。 我使用的是 TI SDK 08.02.00.24版本预编译二进制文件。  

    出于调试目的、我将使用 ti-u-boot-2020.01分支、我不确定该 u-boot 与哪个 TI 处理器 SDK 版本非常匹配。  

    此致、

    Siva.

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

    Siva,

    是的、您在原始帖子中提到了这是 GP-EVM、很抱歉我漏掉了这个内容。 我正在寻找一位主题专家来尝试重现此问题。

    谢谢。

    Stuart

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

    您好!

    您正在使用哪个 TI SDK 版本? 您还提到了 Yocto 构建是您的构建吗? 您能否尝试 TI SDK 版本中的二进制文件?

    此致、

    Schuyler 先生