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.

[参考译文] AM3352:UART 启动似乎不工作(未打印出 CCCC。 TX 从低电平开始、稍后保持高电平。)

Guru**** 2540720 points
Other Parts Discussed in Thread: TPS65910, AM3352

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/980690/am3352-uart-boot-seems-not-working-no-cccc-printed-out-tx-starts-at-low-and-keeps-high-later

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

您好!

我正在开发一个使用 TPS65910作为 PMIC 的定制板。

我们已将 sysboot 引脚配置为 0 1 0 0 x x x x x x x x x x 0 1 0 0、这意味着 SPI0→MMC0→USB0→UART0。 (注:由于空间问题、我们没有 SD 卡插槽和 usb0接口。)

 我们以前通过 UART 在另一个基于 am3352的项目中加载 SPL 和 u-boot 映像。 (X 调制解调器、Y 调制解调器、引导! 然后使用 tftp 和 SF 命令将 FW 刷写到 SPI 闪存中。)

区别在于、这是我们第一次使用 TPS65910。

这次我们看不到 "CCCCC"被打印出来。 (UART0 TX 从低电平开始、并在稍后保持3.3V 电压。 SPI 闪存 SCLK 的行为相同。)

问题是、

我们如何知道 TPS65910是否正常工作?  (BOOT1=1,BOOT0=0)

我们还可以做什么来确定它是 UART 通道问题还是电源序列问题(或其他问题)?

请告诉我上述信息是否不够。

谢谢!

参考文献:

原创 μ 调试方法 AM3352 + TPS65910调试记录 μ A +μ A

从控制台 UART 引导 U-boot

霍华德

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

    您好 Howard、
    TPS65910 PMIC 用于多种 TI 参考板、例如 AM335x GP EVM、IDK 和 SK...
    您是否了解过《适用于 AM335x 处理器的 TPS65910Ax 用户指南》
    www.ti.com/.../swcu093
    另一个很好的参考是"AM335x 原理图检查清单"
    www.ti.com/.../sprabn2
    需要满足 AM335x 数据表第6.1.1节中列出的电源定序
    www.ti.com/.../am3358
    最棒的
    -香港

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

    您好、Hong、

    我们的设计参考入门套件硬件。 (AM335x 入门套件硬件用户指南)

    如需更多信息、我将要求我们的硬件团队成员回复。

    谢谢!

    霍华德

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

    你(们)好

    现在强制 PMIC 输出功率、电源序列正确、如下图所示

    晶振24M 正确,但 UART 仍然无法输出“CCC”

    你可以有什么建议吗?

    谢谢

    Daniel

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

    Daniel、您好!

    我们能否测量 SYSBOOT 引脚以检查该值是否与预定义的引导顺序匹配?
    如果电路板上提供 JTAG 访问、则可以方便地"连接"JTAG 以确定 Bootrom 是否开始运行?

    最棒的

    -香港

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

    您好、Hong、

    CCS JTAG 测试连接成功。 但是、在选择 Probe_0/CortexA8 >右键单击>连接目标。 它会弹出错误、如下所示。

    连接到目标时出错:
    (错误-2062 @ 0x1FE)
    无法停止设备。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。
    (仿真包8.2.0.00004)

     

    根据 TI 的参考资料、该错误是由于调试探针无法在发出复位或上电之前或之后恢复与器件或内核的通信而导致的。
    这可能是由多种原因造成的。 例如、外部硬件问题可能会影响这一点、包括复位线路上的上拉电阻器无效或缺失、电源干扰等
    我们现在正尝试通过以下文档找出根本原因。 如果您对加快调试过程有任何建议、请告知我们。

    谢谢!

    霍华德

    ------------------------

    Edit1:Connect CS_DAP_DebugSS 在此 视频之后,我可以看到“Memory Browser Shows All???????? 。

    Edit2:AM335x 启用的外部晶振正在工作。

    Edit3:测试另一个板。 结果更糟。 错误消息如下所示。 (连接 CortexA8和 CS_DAP_DebugSS 均失败。)

    连接到目标时出错:
    (错误-2131 @ 0x0)
    无法访问设备寄存器。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。
    (仿真包8.2.0.00004)

    ------------------------

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

    您好 Howard、

    一些情况:
    A)如果 AM335x 在您的电路板上引导、则"CCCC..." 如果 UART 是您配置的引导设备之一、则应从串行终端输出"should "。
    您是否测量了 SYSBOOT 引脚以确保它们与引导器件顺序相匹配?
    您还可以检查电路板上的 UART 连接。
    在这种情况下、您"应该"能够连接 CCS JTAG。
    您是否在任何基于 AM335x 的工作电路板上尝试过 CCS JTAG 连接过程?

    b)如果 AM335x 根本无法在电路板上启动=> CCS JTAT 将无法连接到电路板。
    您需要查看您的电路板设计/连接...
    您是否已检查另一个电路板以观察到相同的问题?

    最棒的
    -香港

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

    您好、Hong、

    我们看不到 uart0的"CCCCCC"输出、因此我们首先检查了 PMIC 上电序列... 看起来不错。
    然后我们检查了晶振... 看起来也不错。
    然后 sysboot 调整器... 同样也可以。
    最后、我们尝试使用 JTAG 与 CCS 进行测试。 "测试连接"步骤已通过。
    我运行 Load >.ccxml > Connect Target "CortxA8"、"M3_wakeupSS_0"、失败并显示错误(错误-2062 @ 0x1FE)。
    连接目标"CS_DAP_DebugSS"没有错误提示、但存储器浏览器显示所有???????? 。
    我们尝试了另一个硬件样本、但结果更糟。

    我完全同意你的意见。 我们必须查看我们的电路板设计/连接... 我们已经在这样做了。
    奇怪的是、这个新项目的 HW 是从另一个已经成功的项目引用的。
    HW 团队表示、他们仅更改了 sysboot 序列并将自设计的加电原理图替换为 TPS65910。 (此索赔不准确、因为存在其他差异、例如 USB0被移除... 但对于系统引导、我们认为最关键的部分是 PMIC。)
    现在、硬件团队正在使用"试用和错误"来查找根本原因、因为他们不知道问题是什么。 因此、这可能需要很长时间。

    我想知道、作为 FW 工程师、我如何帮助他们加快该过程。

    -霍华德

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

    您好 Howard、
    我同意您的意见、即有必要进行全面的电路板检查。
    原始帖子中引用的链接是一个很好的分步板检查列表。
    blog.csdn.net/.../73295277
    最棒的
    -香港

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

    您好、Hong、

    VDD_MPU +1.1V 是否正常? (参考手册有效)

    但是、我们在另一个项目中使用1.26V。 因此、我们的硬件团队想知道它是否会影响 sysboot 过程。

    -霍华德

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

    您好 Howard、
    根据 AM335x SoC 的速度等级、您可能需要参阅 AM335x 数据表以了解建议的 VDD_MPU 电压。
    表5-7. 具有器件版本代码"A"或更高版本的 ZCZ 封装的 VDD_MPU 选项

    速度等级可从器件标识中读取、请参阅"图8-1。 AM335x 器件命名规则"

    速度等级也可从 CM EFUSE_SMA 寄存器@44E107Fc 中读取、1GHz 器件上读取@u-boot 的示例如下所示:

    => MD 0x44E107Fc 1
    44e107fc:00013c2f 

    最棒的

    -香港

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

    您好、Hong、

    我们使用另一个工作板(来自其他项目)、其 sysboot 配置最初为10110b→SPI0 MMC0 UART0 EMAC1。 CCCCC 正在正常打印。
    然后、我们将 sysboot 配置修改为11000b→SPI0 MMC0 USB0 UART0、这与我们的新板相同、它不再打印出 CCCCC。 但它确实按顺序具有 UART0。

    以下是2个问题。
    我们如何确保 sysboot 的完整周期已经完成? (我应该等待多长时间?)
    2.如果 sysboot 配置中有 USB0、我们是否需要注意 USB0原理图? (我们仅使用 USB1、因此我们将 USB0引脚设置为悬空。)

    -霍华德

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

    您好 Howard、
    有关引导设备列表超时值的问题、请参阅 AM335x TRM 的第26章。
    我使用与您相同的 SYSBOOT[4:0]=11000b 在 AM335x GP EVM 上进行了测试、并捕获了跟踪矢量日志(附件中):
    - AM3_tracing_vector_1.txt:从 SD 卡启动
    - AM3_tracing_vector_2.txt:未插入 SD 卡、"ccc..." 从串行终端

    有关片上 ROM 执行序列的跟踪向量详细信息、请参阅 AM335x TRM 的第26.1.14节
    最棒的
    -香港

    e2e.ti.com/.../am3_5F00_tracing_5F00_vector_5F00_1.txt

    e2e.ti.com/.../am3_5F00_tracing_5F00_vector_5F00_2.txt

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

    我们最终发现存在硬件缺陷、问题已得到解决。

    感谢你的帮助!

    -霍华德

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

    您好 Howard、
    感谢您的更新、很高兴知道问题是由根部引起的并得到了解决。
    请单击"解决"此问题。
    最棒的
    -香港