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.

[参考译文] RTOS/AM3357:SD 卡引导失败

Guru**** 2582405 points
Other Parts Discussed in Thread: AM3357, AMIC110

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/631581/rtos-am3357-sd-card-boot-fails

器件型号:AM3357
主题中讨论的其他器件: AMIC110

工具/软件:TI-RTOS

尊敬的 TI-RTOS 支持团队:

我构建了 EtherCAT 从站应用、必须引导我们的 AM3357定制开发板、然后运行 EtherCAT 从站应用。

我按照 Processor SDK RTOS 引导 AM335x/AM437x 中的步骤操作、生成并将 MLO 和应用文件复制到 SD 卡。

我尝试通过 SD 卡引导、但没有发生任何情况、并且 UART 终端上没有显示任何内容。

似乎未加载 MLO 文件。

我想知道仅使用这两个文件 MLO 和 app 启动电路板是否正确?

或者它还需要 u-boot.img 和 uEnv 像 Linux 内核一样进行引导?

此致、

Eric

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

    您的定制板使用的 UART 是否与 TI 评估平台 AM335x ICE 或 AMIC110 ICE 相同? 您能否详细说明您在定制板上所做的更改。 Processor SDK RTOS 中的引导加载程序可配置 UART、DDR 并根据 TI 评估平台上的配置设置时钟。 要执行同样的操作、您需要修改源代码以考虑您在自定义平台上可能引入的硬件配置。

    SBL 与任何其他应用类似、也可以通过仿真器加载以进行调试。 以将其移植到您的平台、而不是将 MLO 放在 SD 卡上。 使用仿真器加载与引导加载程序相对应的.out、以查看代码在何处挂起。

    另一个关键部分是确保为 SD 引导正确配置了 SYSBOOT 引脚、以便 SOC 上的 ROM 引导加载程序可以识别、初始化次级引导加载程序并从正确的引导介质中读取。

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

    Rahul、

    我们的定制板旨在专注于 EtherCAT 通信。 它有两个以太网连接器。 不同之处在于与 BeagleBone Black 几乎相同。

    我按照 准备 SD 卡的步骤操作。 我现在使用了位于 PDK 封装中的引导加载程序映像。 因此,我应该修改哪个源以生成我需要的引导加载程序?

    此致、

    Eric

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否选择了与 Beagle Bone Black 相对应的引导加载程序版本? 您是否具有相同的 DDR 部件和 UART 及时钟?

    AM335x 上引导加载程序的源文件位于:
    pdk_am335x_1_0_x\packages/ti\starterware\bootloader\src
    如果在 pdk_am335x_1_0_x\packages/ti\starterware\bootloader 下打开 makefile 文件、则可以看到作为引导加载程序一部分构建的所有文件。

    pinmux 和特定于电路板的配置位于:
    pdk_am335x_1_0_x\packages/ti\starterware\board\AM335x
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Rahul、

    我不确定我是否选择了正确版本的引导加载程序。 我已重建 PDK 封装。 但是、我只能在 pdk_am335x_1_0_7/packages/ti/starterware/binary/bootloader/bin 下找到 AM335x-EVM。

    我想知道如何生成 BeagleBone Black 版本?

    此致、

    Eric

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

    PDK 中提供的引导加载程序二进制文件是一种通用二进制文件、可用于所有 TI 评估平台、因为它具有基于 EEPROM 编程检测 BoardID 的机制。 请参阅"pdk_am335x_1_0_x\packages/ti\starterware\bootloader\src\AM335x\SBL_AM335x_platform.c "文件中的函数 SBLPlatformConfig,这将使用函数 BOARDGetId 检测板 ID (请参阅文件:pdk_am335x_1_star3x.c\am335x_board.c)

    如果从 EEPROM 读取的板 ID 是 Board_AM335X_BeagleBone-Board_name、则会相应地设置 PLL 和 DDR。 如果您有自定义平台、则可以删除 BoardGetId 函数并填充 gBoardDataEeprom 结构、以便引导加载程序将其检测为 BeagleBoard。

    希望这一见解能有所帮助。

    此致、
    Rahul