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.

[参考译文] AM3703:ROM 代码无法加载并跳转至 SPL u-boot 2021.01

Guru**** 2545580 points
Other Parts Discussed in Thread: AM3703

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1120070/am3703-rom-code-unable-to-load-and-jump-to-spl-u-boot-2021-01

器件型号:AM3703

大家好、TI 人!

我目前正在使用 AM3703、并尝试从电路板上的 u-boot 2021.01构建/加载 SPL。 它被复制在 SD 卡上、并被称为"MLO"、这与过去对旧的 TI X 加载程序所做的一样。

如今、MLO 根本不启动。 我有一个 Lauterbach JTAG 调试探针、将代码投射到内部 ROM 代码无法成功转到地址0x40200800、该代码应跳转到 MLO 中。 相反、CPU 停止执行并在地址0x00014010处跳转。

我假设 MLO 太大:实际上二进制文件大约为74KB,比内部 RAM 内存中可用的内存大。 但是 AM37x 参考手册指出 MLO 文件的最大容量可达128KB (在本例中,它加载到何处?!)。 为了减小 MLO 的尺寸、除了支持 MMC 从 SD 卡加载 u-boot.bin 外、我已经取消激活了 menuconfig (SPL 菜单)中几乎所有可用的选项。

=>如何调试 CPU 中的 ROM 代码并了解问题出在哪?

=>内存/寄存器中是否有调试值可检索以了解错误?

最终信息:使用相同的 SD 卡、但在其上复制旧的 MLO 可以正常工作。 SD 卡格式看起来不错。

感谢 您的帮助!

Joel

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

    您好、Joel、
    TRM 图26-7. GP 器件的64KB RAM 存储器映射
    => 0xF0000是引导映像的最大大小。
    一些 JTAG 调试选项:
    -正常启动电路板
    -将 JTAG 连接到您的运行板上、其中"连接"意味着连接/连接 JTAG 而不进行目标复位。
    -根据当前 PC 值、通过 JTAG 断开运行板
    a)。 在 SPL 范围内、需要进一步调试 SPL 以查看锁定位置。
    b)。 在 bootrom 中、检查锁存在 CM CONTROL_STATUS 寄存器中的 SYSBOOT[]、以查看它是否与您板上配置的 SYSBOOT 引脚匹配。
    此外、可以通过读取 TRM 中所述的跟踪矢量来检查引导程序的进度
    表26-9. 跟踪数据
    26.4.9跟踪
    另一种选择是在 SPL 代码的早期添加"旋转环路"、并尝试执行上述步骤以查看复位后是否会出现"旋转环路"。
    最棒的
    -香港

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

    您好

    再次感谢快速回答我的问题:-)

    第一个问题是 MLO 太大。 这是我的第一个假设,感谢确认这一点。

    =>如何减小 MLO 的尺寸以适应可用空间?

    我注意到 MLO 内部有器件树、大约为30KB。  是否可以将其删除? 如果是,如何? 我尝试删除 了 CONFIG_SPL_OD_CONTROL 选项、但无法生成。

    我还应该检查和调整其他事项以减小 MLO 大小?

    感谢您的帮助、

    Joel

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

    其他信息:我的旧板之前使用的是自定义的 x 铲叉。

    我在这里读到: https://lukejin.wordpress.com/2011/02/22/beagleboard-xm-research1-initialization-x-load/ 、不能使用 u-boot SPL、因为它总是太大。 是真的吗? 无法自定义 SPL 的内容以适应 AM3703的 SRAM?

    供我参考:OMAP3器件的 TI x 加载程序官方源代码在哪里? 我的旧版本可能需要更新才能获得最新的修复程序:-)

    谢谢、

    Joel

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

    其他信息我刚刚意识到、用于在 Yocto 构建的 meta-ti 中移除了 x 加载程序、可在 Dunfed => https://git.ti.com/cgit/arago-project/meta-ti/tree/recipes-bsp/x-load?h=dunfell 中获取

    也许我应该使用它而不是使用 u-boot SPL?

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

    您好、Joel、
    这是最后一个支持 AM37xx 的 TI Linux SDK
    www.ti.com/.../06.00.00.00
    software-dl.ti.com/.../sitara-linuxsdk-sdg-06.00.00.00.pdf
    我不确定您在 AM37xx 上通过这款传统 Linux SDK 可获得多少帮助。
    最棒的
    -香港

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

    您好

    感谢您提供的所有这些信息、我可能会用几个部分来构建我自己的解决方案。  我目前正在开始将 x 负载沙丘配方移植到 kirkstone、我将做一些补丁来将我自己的电路板安装到 x 负载中。

    SPL 对于 AM37x 来说确实太大:-)

    感谢你的帮助。

    此致、

    Joel