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.

[参考译文] AM6442:eMMC 与 SanDisk SDINBDA6-128G-ZA2 的兼容性 — 后续

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1653689/am6442-emmc-compatibility-with-sandisk-sdinbda6-128g-za2---follow-up

器件型号: AM6442

尊敬的 TI:

跟进先前的支持请求:
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1639199/am6442-emmc-compatibility-with-sandisk-sdinbda6-128g-za2

(一段时间以来,我一直在研究不同的主题,因此出现了滞后)

-----

尊敬的 TI:

我可以重新定位不同的引导加载程序二进制文件、以便所有内容都适合 SanDisk 的默认 4MB 引导分区。 该引导序列在 Micron eMMC 器件上工作。 但是、在 SanDisk 上加载相同程序时、我无法使第一个引导加载程序 (R5 上的 tiboot3) 从 Bootrom EMMC 模式运行。

---------------------------------------- +0x0
|   tiboot3.bin (len 0x400)  |
---------------------------------------- +0x400
|   tispl.bin (len 0x900)  |
---------------------------------------- +0xD00
|   u-boot.img (len 0xF00)  |
---------------------------------------- +0x1C00

用于编程:

我在两个目标上使用完全相同的序列进行引导(通过 UART 加载引导加载程序二进制文件)、然后在 u-boot 中对 eMMC 器件进行编程(通过 tftp 加载引导加载程序二进制文件)。 我还对 partconf/bootbus 使用相同的设置。
MMC partconf 0 1 1.
MMC bootbus 0 2 0 0

不幸的是、BootROM 似乎找不到 SanDisk 引导分区? 在 EMMC Bootrom 模式下重新引导后、控制台上没有任何内容。
在 Micron 上、启动序列正确触发;立即显示 tiboot3 信息、重置并重新运行 tiboot3(由于一些冷启动勘误表)以及下一个 tispl 和 u-boot。


我还尝试从 Linux 刷写 SanDisk 引导加载程序二进制文件(通过 UART 引导、然后从 USB 存储设备运行 Linux)。 lsblk 正确显示 eMMC(引导分区和所有)、而且编程似乎没有问题(在安装 R/W 并通过'd'发送二进制文件后)。 在 EMMC 中引导后也是如此:完全没有响应。


我可以进一步尝试使用 SanDisk 存储设备启动并运行什么?

此致、
Marc

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

    您好:

    这看起来像是 ROM 启动失败。 为了确认同样的情况、您能否配置备份引导至 UART 并检查 ROM 是否跳转到它、从而确认 eMMC 主引导中的引导失败。

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

    您好、

    我的备份引导模式设置为无、因此我根据请求将其更改为 UART、但在 SanDisk 上进行 EMMC 引导后、无法恢复到 UART 备份模式。  我再次进行检查、对 OSPI 引导模式执行了相同的操作、在这种模式下、我还设置了 UART 备份模式。 此处、内核以 UART 启动、因为 OSPI 器件上没有编程内容。 QED。

    我注意到了一些我之前忽略的问题。 在 EMMC 模式下使用 SanDisk 冷启动内核时、我会获得第一个 R5 引导加载程序的第一次执行、但它不会进一步执行。 由于下述勘误表、它通常会执行第一个引导加载程序两次(当我使用 UART 引导模式加载所有引导加载程序时执行):

    U-Boot SPL 2026.01-g2549829cc194-Dirty (6 月 09 2026 - 15:09:29 +0200)
    在冷启动时重置以解决错误 ErrataID:i2331
    如果是 UART/DFU 引导、请重新发送 tiboot3.bin
    正在重置...

    发出热重新引导时、不会发生与先前报告的情况相同的任何情况。

    这是否意味着 ROM 加载程序正在开始执行 EMMC 代码(所以不跳转到备份引导)、但它陷入了第一阶段?

    如果可以向 tiboot3 中添加任何调试信息、请告诉我。

    此致、
    Marc

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在 EMMC 模式下通过 SanDisk 冷启动核心时、我确实获得了第一个 R5 引导加载程序的第一次执行、但没有进一步执行。

    这意味着您尚未针对该 eMMC 启用 RST 功能(以下常见问题解答中对此进行了介绍)。

    e2e.ti.com/.../faq-am62x-how-to-check-and-configure-emmc-flash-rst_n-signal-to-support-warm_reset-from-emmc-booting-on-am62x-sk-e2

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

    您好、Prashant、

    重置配置确实是问题所在!

    奇怪的是,在 Micron eMMCs 我从来没有启用这个功能;但在这个 SanDisk 它似乎是必要的?
    此外,因为这是一个不可逆的修改;我有点不愿意这样做,因为我想用 SanDisk 的部件来保护我的开发板。

    感谢您的支持!
    此致、
    Marc

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Strangely、在 Micron eMMCs 上、我从来没有启用过此功能;但在这个 SanDisk 上、它似乎是必要的?

    我想您可能也在不知不觉中在 Micron eMMC 上启用了它。 我想、在几乎所有 eMMC 上都需要启用该功能。