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.

[参考译文] SK-AM62B-P1:OSPI 引导模式下无 UART 输出 (SK AM62x)

Guru**** 2544320 points
Other Parts Discussed in Thread: SK-AM62B-P1, UNIFLASH, SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1550458/sk-am62b-p1-no-uart-output-in-ospi-boot-mode-sk-am62x

器件型号:SK-AM62B-P1
Thread 中讨论的其他器件: UNIFLASHSK-AM62SYSCONFIG

工具/软件:

您好的团队、

我正在 Ubuntu 22.04 上使用 SK AM62x、并为我的电路板下载了正确的软件包 (mcu_sdk-am62x)。 以下是目前为止我所做的工作:

  1. 我成功读取了 UART 字符。
  2. 我使用 UART 引导模式将映像从 Linux 计算机传输到 SoC、并成功完成。
  3. 我将引导加载程序配置为对映像使用 OSPI 模式。

但是、当电路板以 OSPI 模式引导时、我看不到任何输出。 我怀疑问题出在引导加载程序、因为它没有输出。 您能指导我如何进行故障排除或解决此问题吗?

谢谢!

预期输出



机器中的自举输出


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

    您好、

    因此、首先、您需要检查预期日志是否已正确打开的 UART COM 端口。

    有关上述内容、请参阅以下内容:  【常见问题解答】SK-AM62:不同 UART 的用途 

    此外、由于您使用的是 SK-AM62B-P1、我假设其上的闪存为 S28HS512T、因此能否确认引导模式引脚是否 设置为以下配置?

    如果是、您正处于正确的轨道上。

    接下来、如果您看到您打开了正确的 UART COM 端口、请检查相同的设置、例如奇偶校验、波特率等。

    接下来、在上述引导模式中设置之后、请打开 CCS 并连接到 R5 内核。 连接到 R5 内核后、请让我知道它卡住的地址。

    注意:建议对 AM62x 使用最新的 MCU PLUS SDK。

    谢谢、

    Vaibhav

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

    尊敬的 Vaibhav:

    我有一个疑问。 您是说我应该坚持使用 OSPI 引导模式并在 R5 内核上运行“Hello World“等示例吗? 如果我在 OSPI 模式下在内核上以调试模式运行程序、我应该能看到正确的地址。 但是、我已经构建并加载 Hello World 示例、并将调试器设置为 R5F 内核、但调试器不会启动。 如果我切换到 Cortex-A53 内核 0、则调试器工作一次、但随后尝试失败。 我可以做什么?

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

    尊敬的 Vaibhav:

    我已使用 Hello World 示例连接到 R5 内核。 我是否需要运行程序来查看地址、或者是否有其他方法来获取地址? 当我连接到 R5 内核时、我只看到 DDR 初始化消息、这可能是我看不到引导加载程序输出的原因。

    此外、当我连接到 M4F 内核时、Hello World 消息不会出现在串行控制台上;它仅显示在 CIO 控制台中。

    谢谢你。

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

    尊敬的 Raj:

    感谢您的耐心。

    好的、让我们从几点开始。

    期待您的答复。

    谢谢、

    Vaibhav

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

    尊敬的 Vaibhav:

    • 请告诉我您的电路板是 GP 还是 HSFS、请点击此处查看:  【常见问题解答】[AM6XX]:如何检查器件类型是 HS-SE、FS 还是 GP? 
      答: 我已经按照你发布的链接,运行 Python 脚本,并确认我的板是 GP。
    • 另请检查您拥有的确切电路板是 AM62X-SK、AM62X-SK-LP 或 AM62X-SIP-SK。
      答案:  电路板为 SK-AM62x

    • 如果器件类型为 HS FS、则在执行 UART Uniflash 步骤(运行“python uart_uniflash.py -p……“的 python 脚本)时、您需要刷写 HS FS 映像 “)
      答案:它不是 HS FS  
          先前为该板运行的脚本
          选项列表
      cd ${SDK_INSTALL_PATH}/tools/boot
      python uart_uniflash.py -p COM --cfg=sbl_prebuilt/am62x-sk/default_sbl_null.cfg
      




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

    尊敬的 Vaibhav:

    我对 SK-AM62x 上的 OSPI NOR 引导加载程序问题有疑问。 我点击了链接、其中您提到在 OSPI NOR 模式下引导无法正常工作。 由于我目前正在通过 OSPI NOR 进行刷写、我可以使用替代方法吗? 顺便说一下、AM62 板上的闪存是 Cypress 28HS512T。

    OSPI 引导模式不起作用的链接:
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1551867/faq-am62x-am62px-am62d-q1-am64x-am275x-s28hs512t-does-not-boot-in-ospi-bootmode

    我的电路板上有闪存 (SK AM62x)



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

    尊敬的 Vaibhav:

    我有一个问题:我是否需要在 SK AM62x 器件树中启用 OSPI NOR 闪存组件?  

    谢谢、

    Raj

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

    尊敬的 Vaibhav:

    在浏览论坛时、我怀疑可能需要启用 SysConfig。 我还使用 SysConfig 以及您建议的 OSPI 引导模式启用了 OSPI NOR 闪存。 但是、“Hello World“程序仍然未执行。

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

    尊敬的 Vaibhav:

    经过进一步的探索,我发现了以下问题。 它似乎与 DDR 问题有关。 我不确定菜单脚本是什么。 这是我需要通过 SysConfig 启用的、还是需要运行脚本?



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

    尊敬的 Raj:

    您看到的常见问题解答是关于 S28HS512T 不以 OSPI 引导模式引导的原因。

    您必须设置的引导模式如下:

    这尽管当前标记为 OSPI、但实际上是 xSPI 引导模式。 这是一个文档错误、我们将予以解决。 因此、xSPI 引导模式很好。

    此外、您无需通过更改 SysConfig 向 hello world 应用程序添加任何额外内容。

    对于默认的 SBL Null、我的假设是您没有更改任何文件、并且您以其默认形式刷写了文件:

    刷写后、转到 CCS、当您连接到内核 R500 时、请转到“调用栈“以查看它显示/卡住的地址。 我需要这样才能继续前进。

    下面只是示例屏幕截图、但您需要连接到 R5 内核并告诉我地址。

    此致、

    Vaibhav

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

    尊敬的 Vaibhav:

    我在调用栈中观察到以下内容:

    我遵循 R5F 内核“Hello World“示例中的步骤。

    第 1 步:-
    我连接时、会显示 GEL 脚本“DDR not initialized“。 在这个初始步骤中、我看到了带有一些地址的调用堆栈。

    步骤 1 图片


    步骤 2:-
    之后、我重置 CPU 目标、这是加载程序所必需的。

    步骤 2 图片:-


    第 3 步:-
    但是、当我加载程序时、看不到调用栈。

    第 3 步:-

    为了您的清晰、我会发布图片。 要启动 DDR(这似乎是问题的根本原因)、我应该如何解决此问题?

    有关 DDR 的问题

    如何运行此 DDR GEL 脚本? 当我浏览菜单布局和 DDR 选项时、我唯一看到的是“Disable"(“(禁用(禁用)。 我看不到任何“Enable DDR“选项。 我应该在这里做什么?

    DDR 禁用 PIC



    谢谢!

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

    尊敬的 Vaibhav:

    链接:-

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1026825/tmds64gpevm-r5_0_0-ddr-initialization-stuck/3797277?tisearch=e2e-sitesearch&keymatch=DDR%2525252525252520not%2525252525252520initialized%2525252525252520with%2525252525252520R5%2525252525252520connect



    截至目前、电路板处于 xSPI 模式。 如前所述、它未处于 OSPI 模式。 每次我在 xSPI 模式下复位电路板时、我是否都需要在 UART 终端中查看这些日志?

    断开并重新连接 UART 和电源线时、我每次都会看到这些日志。 这是否意味着 DDR 已初始化? 如果我的 DDR 已经初始化、为什么我不能在 main() 函数中停止?

    日志




    谢谢!

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

    您好、

    如果每次进行下电上电时您都在 UART 终端上看到上述日志、则 SoC 会正确初始化。

    要像 hello world 示例一样将示例加载到 R5 内核中、不能直接通过 CCS 完成、而必须通过 UART Uniflash 进行刷写。

    请参阅以下内容: https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/latest/exports/docs/api_guide_am62x/DEVELOP_AND_DEBUG_DMR5.html

    如果有帮助、请告诉我。

    谢谢、

    Vaibhav