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.

[参考译文] DRA821U:未检测到 DFU 作为备份引导模式

Guru**** 2964790 points

Other Parts Discussed in Thread: DRA821U

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1652775/dra821u-dfu-not-detected-as-backup-bootmode

器件型号: DRA821U

您好、

我们已基于 DRA821U 开发了新版本的定制电路板。

我们正在尝试使用 eMMC boot0 配置为主引导源并使用 DFU 作为备用引导源来引导电路板。 我们想使用 DFU 到达 U-Boot 阶段、然后刷写 eMMC。

但是、在引导我们的定制板时、让 DFU 正常工作仍然存在问题。 我们已经测试了其他引导模式配置、例如 eMMC 作为主引导、SD 作为备用引导、并且该设置可以正常工作。 通过该配置、我们就能够到达 Linux。

我们还通过 CTRLMMR_WKUP_BOOTCFG CTRLMMR_MAIN_BOOTCFG 从 U-Boot 中读取和寄存器来验证引导模式配置、它们包含预期值。

我们定制电路板的一个相关变化是、我们修改了 MCU_PLL 时钟配置、因为我们的电路板使用了 25MHz 时钟。 这个时钟配置是否与该问题相关? 当 DFU 用作备用引导模式时、它是否会影响它? 我们还针对 25MHz 时钟相应地配置了引导模式引脚。

如果此时钟配置预计不会影响 DFU、您建议检查哪些其他要点来帮助调试问题?

谢谢。

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

    您好、 Santiago

    您是否能够至少使用 DFU 引导模式刷写引导加载程序映像 (tiboot3.bin)?或者这种模式也无法正常工作?

    此致
    Diwakar

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

    尊敬的 Santiago:

    只是为了澄清一下、

    当 DFU 是定制板上的主引导模式时、它是否可以正常工作。

    DFU 引导模式是否在 TI EVM (DRA821U) 上使用相同的二进制文件?

      使用 DFU 作为主引导模式时、您能否共享 CTRLMMR_WKUP_BOOTCFG(对于 MCU_BOOTMODE 值)和 CTRLMMR_MAIN_BOOTCFG(对于 BOOTMODE 值)的值?

    此致

    Gokul Praveen

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

    您好、

    当使用 DFU 作为主引导模式时、我们无法进入 U-Boot 阶段、因此我们无法读取 CTRLMMR_WKUP_BOOTCFG 和的值 CTRLMMR_MAIN_BOOTCFG。 因此、我们继续将 DFU 作为备用引导模式进行调试。

    最后、我们设法使 DFU 作为备用引导模式运行。 我们将 SD 配置为主引导模式、将 DFU 配置为备用引导模式。 从 SD 引导、我们从 U-Boot 中读取以下值:

    ##### 引导模式转储 (SD - DFU)########
    CTRLMMR_MAIN_BOOTCFG (PAG 931 TRM)
    MD.l 0x00100034 1
    00100034:00000043 c...

    CTRLMMR_WKUP_BOOTCFG (PAG 360 TRM)
    => MD.l 0x43000034 1.
    43000034:00430103

    借助这些值、我们可以确认 DFU 作为备用引导模式已正确配置。

    之后、我们检查 USB_ID 电阻器。 我们的电路板在 USB_ID 上有下拉电阻、因此我们将其移除、让 USB_ID 保持悬空、以便作为 USB 设备运行、如数据表第 6.3 节“建议运行条件“中所述。

    完成此更改并使用 5V 和 3.3V 为定制电路板供电后、DFU 作为备用引导模式开始工作。 我们还尝试了仅使用 3.3V 为板供电、但在这种情况下、DFU 无法正常工作。

    然后、我们开始尝试使用 DFU 作为第二个器件的刷写方法。

    我们配置了引导模式、其中 eMMC boot0 作为主引导源、DFU 作为备用引导源。 使用 DFU、我们能够加载 tiboot3.bin、 tispl.bin和 u-boot.img、并成功到达 U-Boot。

    一旦在 U-Boot 中,我们尝试直接刷新根文件系统, tiboot3.bin tispl.bin然后刷新,并 u-boot.img 进入 eMMC boot0 分区。 为此、我们在 U-Boot 中使用了以下命令:

    setenv dfu_alt_info eMMC RAW 0 0

    DFU 0 MMC 0

    稍后在主机中:

    sudo dfu-util -a eMMC -D eMMC-image.rootfs.wic

    转接开始,最初似乎工作正常,但大约 20%似乎崩溃了。 DFU 被中断并 dfu-util 报告传输失败。

    重新启动电路板后、我们无法再进入 DFU 作为备用引导模式。 由于我们没有将引导加载程序映像刷写到 eMMC boot0 中、因此我们预计 ROM 引导加载程序在主引导源上失败、然后回退到备用引导源(即 DFU)。

    即使我们只尝试刷写根文件系统而尚未将引导加载程序刷写到 boot0、我们是否能以防止器件回退到 DFU 的方式损坏 eMMC?

    此外、ROM 引导流程中是否存在任何超时或故障情况、以确定器件何时放弃尝试从 eMMC boot0 引导并跳转到备用引导模式? 例如、如果 tiboot3.bin 未找到或无法正确加载、器件是否应该始终回退到 DFU?

    感谢您的支持。

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

    尊敬的 Santiago:

    我们是否能够以防止器件回退到 DFU 的方式损坏 eMMC、即使我们只尝试刷写根文件系统并且尚未将引导加载程序刷写到 boot0

    是的、我相信 eMMC 已损坏。 您可以使用 SD 卡引导到 Uboot 并尝试以下命令,这些命令会通过 DFU 将所有内容刷写到 eMMC。

    您是否可以尝试以下步骤使用以下参考从 uboot 刷写到  eMMC:第 3.3 节生成 eMMC tisdk-tiny-image.img 和 第 5.1.3 节 dfu-util

    TDA4 刷写技术

    此致

    Gokul Praveen

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

    尊敬的 Gokul:

    很抱歉、延迟的回复。

    我们最终设法使 eMMC 正常工作。 最后、eMMC 未损坏。

    该问题与我们的 USB 电缆有关、该电缆似乎存在间歇性连接问题。 因此、未正确检测到 DFU、但它不是由 eMMC 损坏引起的。

    更换 USB 电缆后、我们能够通过 DFU 从 U-Boot 刷写 eMMC 和 eMMC boot0 分区、而不会出现任何问题。

    非常感谢您在不同阶段的关注和支持。

    此致、
    Santi

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

    尊敬的 Santiago:

    很高兴听到这个问题已得到解决。

    此致

    Gokul Praveen