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:Linux/AM335X:无法从 uart0引导 spl

Guru**** 2547440 points
Other Parts Discussed in Thread: AM3352

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/600266/linux-linux-am335x-the-spl-can-not-boot-from-uart0

主题中讨论的其他器件:AM3352

工具/软件:Linux

您好,

   我下载最新的 Linux SDK。uboot 版本为2016.05。我想让 spl.bin 通过 uart0下载到 AM3352并运行。我将 CONFIG_SPL_TEXT_base 更改为0x402F0400。

   PC 的 COM 端口配置为以115200波特、8位、无奇偶校验、1个停止位、无流量控制和 x 调制解调器协议运行。

    但是、成功下载 u-boot-spl.bin 后、我看不到任何 spl 跟踪。

      MLO 文件 可以成功从 SD 卡引导。

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

    您是否执行了以下步骤: processors.wiki.ti.com/.../Linux_Core_U-Boot_User's_Guide

    确保在 u-boot-spl.bin 之后立即发送 uboot.img、方法与检查相同。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Dwarakesh、
    感谢您的快速回复。
    如果 uboot.img 已通过 uart0下载、您是否意味着 u-boot-spl.bin 将不会运行?我认为 spl 可以从 SD 卡加载 u-boot.img。但是、我想它在从 uart0下载后不会运行。
    从 uboot 2011.09中编译的 u-boot-spl.bin 可用于 UART 引导。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Xing、

    您是否已更改 u-boot-spl.bin 以从 SDCard 载入 uboot? 如果是、它将能够。 否则、如果您使用默认 u-boot-spl.bin 用于 UART 引导、则需要使用 u-boot-spl.bin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Dwarakesh、

              您是否意味着在下载 u-boot.img 之前不会运行默认 u-boot-spl.bin?

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

    如果是用于 UART 引导的 u-boot-spl.bin、看起来它不会显示任何日志、如"CCCC"或任何引导日志、但它将运行并等待 uboot.img 立即传输。 但是,如果您修改了 u-boot-spl.bin (或 u-boot-spl.bin,它使用 u-boot.img 的 MMC 加载),则它可能会提供日志或从 MMC 加载。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Xing、

    查看以下帖子:
    e2e.ti.com/.../534961
    2 .e2e.ti.com/.../1963420
    e2e.ti.com/.../2045963
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Dwarakesh

         感谢您提供这些信息!

         我对  "如果它是用于 UART 引导的 u-boot-spl.bin、它看起来不会显示任何日志、如"CCCCC"或任何引导日志、但它将运行并等待 uboot.img 立即传输。"如果 SPL 运行、它将跳转至0x402F0400、并将调用 preloader_console_init 函数。

        或者、您能告诉我 spl 中关于"等待 uboot.img"的代码在哪里?

          

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

    函数是 spl_load_image(),它调用 spl_ymodem_load_image()
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Dwarakesh、
    非常感谢!
    我认为 preloader_console_init()函数将在 spl_load_image()之前调用。
    日志"U-Boot SPL " plain_version "(" U_boot_date "-"\ U_boot_time ")"应在 junp 至 spl_load_image 函数之前显示。
    可能会挂起。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Xing、

    你没有得到这份日志、那么是的、这可能是因为 SPL 被挂起而引起的问题、这是不正确的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Dwarakesh、

            我发现 uboot 将在   start.s 文件的复位函数中的"BL cpu_init_cp15"处挂起。它无法 进入 "cpu_init_cp15"函数。

          但是、如果我将"BL CPU_init_cp15"更改为"b CPU_init_cp15"、则可以运行"cp_init_cp15"函数。

          你对此有什么建议吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不明白为什么它会有所不同。 理想情况下、BL 表示使用 Link 进行分支。 如果要返回到调用方代码、则需要保存链接地址。 B 单独表示分支、这意味着它不会返回给调用方。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Dwarakesh、

       是的、我知道。但是、我真的想知道 BL 命令在什么条件下会失败。

       我 已经测试了 LDR 命令、也可以跳过子例程。

       如何调试 此问题的建议 对 我也很有帮助。

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

    您是否正在使用最新 SDK 中的 uboot? 您是否使用了软件包中提供的相同的交叉编译器? 我看到包装中有 BL、看起来很好。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Dwarakesh、

             我使用最新的 SDK 并使用 linaro 6.3.1进行编译。我认为此问题可能与交叉编译器无关。

             因为  u-boot-spl.bin 版本2011.09适用于 UART 引导。 它由同一个交叉编译器编译。

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

    1.您是否比较了 start.S 流程中的两个代码? 它们是否相同?
    使用 Processor SDK 交叉编译器进行编译时会发生什么情况。 行为是相同的?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Dwarakesh、
    这两个 uboot 版本之间存在许多差异。
    我尚未在 SDK 中使用交叉编译器。因为我在下载 Linux SDK 之前安装了最新的 linaro 交叉编译器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Xing、

    我认为值得尝试使用处理器 SDK 编译器编译 uboot。 我想知道 AM355x 在两个 uboot 中的 start.S 文件或 init 文件是否不同或相同。