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.

[参考译文] TMDS64EVM:通过 UART 引导模式刷写后应用程序未运行

Guru**** 2894030 points

Other Parts Discussed in Thread: TMDS64EVM, UNIFLASH, SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1636749/tmds64evm-application-not-running-after-flashing-via-uart-boot-mode

器件型号: TMDS64EVM
Thread 中讨论的其他器件: UNIFLASHSYSCONFIG

您好:
看来我花了很长时间才回应,所以 上一个线程 被锁定,但是
我仍在尝试使用 TMDS64EVM 上的 OSPI 引导来引导应用程序。
闪存编程成功完成、但应用程序在上电后不会启动。
 
参考资料:
 
使用的工具/文件:
  • 闪存应用程序(用于编程):
    • 路径:……\tools\boot\sbl_prebuilt\am64x-evm
    • 文件:sbl_uart_uniflash.release.hs_fs.tiimage
  • OSPI 引导加载程序(在引导时首先执行):
    • 路径:……\tools\boot\sbl_prebuilt\am64x-evm
    • 文件:sbl_ospi.release.hs_fs.tiimage
  • 用户应用程序(要编程的应用程序):
    • 路径:{CCS project directory}\Debug
    • 文件:uart_echo_callback_am64x-evm_r5fss0-0_nortos_ti-arm-clang.appimage.hs_fs
  • 闪存配置文件(已编辑):
    • 路径:……\tools\boot\sbl_prebuilt\am64x-evm
    • 文件:default_sbl_ospi.cfg
观察到的行为:
-刷写后,电路板切换到 OSPI 引导模式并通电,但应用程序不会启动。
- 看起来 OSPI SBL 在复位后没有执行、或者该执行不会继续到 R5F 内核释放的阶段。  
-使用 CCS 进行调试时, R5F 内核开始执行,但从闪存引导时, R5F 内核似乎不会启动。
-在 CCS 调试模式下、MAIN_Cortex_R5_0_0 最初进入停止状态、并在点击“继续“后转换为运行状态。
-刷写后在没有 CCS 的情况下开机时,LD22 保持关闭状态。
 
尽管刷写成功完成、但 CCS 调试执行和独立 OSPI 引导之间的引导行为不同。
 
目前正在探讨混合使用调试和发布版本的可能性、但这种可能性是并行的
我有请求。
 
请提供以下建议:
1) 此行为的可能根本原因  
2) ROM 执行 OSPI SBL 并正确启动 R5F 内核所需的设置或条件
 
感谢您的帮助、期待您的答复。
Michael
 
 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Michael:

    正如我在上一个线程中提到的、我在我的 EVM 上刷写了相同的二进制文件、可以在不出现任何问题的情况下启动 SoC、因此这是预料之外的。 请分享导致此问题的 SBL 工程。如果您使用的是预编译 SBL、则很可能是您的 UART 应用程序出现此问题、请同时共享您正在刷写的 UART 应用程序。

    此致、

    会面。

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

    尊敬的会议:

    感谢您的答复。

    我们能够确认、在使用 SDK 的默认 UART 回显回调示例时、SoC 可正确引导、并且在转换到自定义 UART 应用时会出现问题。

    此时、感谢您提供有关确定根本原因的指导、以便在不重新引入相同问题的情况下实施自定义工程。

    特别是在离开默认 UART 示例时、是否有任何 SysConfig 设置需要特别注意、尤其是在 Memory Configurator 部分(例如,MEMORY 区域,非‑可缓存区域,链接器‑相关设置等)?

    如果查看完整的 SysConfig 文件会有所帮助、我愿意通过专用渠道共享该文件。 请告诉我是否可以进行私人共享。

    我期待着你的持续支持。

    此致、
    Michael

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

    您好、

    SBL 无法引导自定义映像、使用 SDK 提供的默认 makefile 还是使用自定义编译设置? 可以共享您的应用映像或整个 UART 示例(如果可能)? 您可以通过私人消息共享这些内容。

    您还可以参考我之前分享的指南来调试 SBL:  【常见问题解答】AM62X/AM64X:【常见问题解答】在 RTOS SDK 中调试 SBL 引导 并找出 SBL 究竟卡住的位置。   

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

    尊敬的会议:

    由于某种原因、我无法接受您的请求、因此我发送了自己的一个请求。  

    接受后、我会将申请映像发送给您。

    此致、

    Michael

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

    您好、Michael:

    我已接受申请、请共享申请映像。

    此致、

    会面。

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

    尊敬的会议:

    我能够通过私人消息共享应用程序映像。

    此致、

    Michael

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

    您好、Michael:

    我看到您的应用放置在 MSRAM 中的 0x7000000 地址、这就是这个问题、请参阅: https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/12_00_00_27/exports/docs/api_guide_am64x/MEMORY_MAP.html 

    如前所述、前 2 个组为 SBL 保留、因此如果您将应用程序代码放在此处、那么 SBL 将在加载应用程序时覆盖自身、从而导致您观察到的问题。

    此致、

    会面。

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

    尊敬的会议:

    我是 Michael 的同事。 我联系您是因为他暂时离开办公室。

    我看到您将应用程序放置在 MSRAM 中的 0x7000000 地址、这就是问题所在、请参阅以下内容: https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/12_00_00_27/exports/docs/api_guide_am64x/MEMORY_MAP.html 

    我们尝试移动到 0x700C0000、但问题仍然存在。 如果我忽略了任何内容、或者缺少任何信息、请告诉我。

    此致、
    正常

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

    您好、

    您是否也面临同样的问题、能否共享引导日志?

    请另外共享您的新 appimage、如果可能、请至少共享整个工程或 linker.cmd 文件。

    此致、

    会面。