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.

[参考译文] LP-AM263P:.mcelf_xip 文件的 UniFlash 问题

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1479105/lp-am263p-uniflash-issues-with-mcelf_xip-files

器件型号:LP-AM263P
主题中讨论的其他器件:UNIFLASH

工具与软件:

您好!

我有一个小型多核 LED 闪烁应用。 使用 sbl_ospi 将其刷写在一起、我可以刷写.appimage/.appimage_xip 文件、并且可以使用 XIP 从 ram 或 FLASH 运行应用程序。

然后、当我刷写相同的应用但使用  sbl_ospi_multicore_elf 并刷写.mcelf/.mcelf_xip 文件时、我似乎能够运行该应用程序、但在刷写.mcelf_xip 文件时 UniFlash 出现错误。

Uniflash cmd 线路输出:

我还通过 Uniflash GUI 进行了尝试、这可以提供有关潜在错误(无效图像格式)的更多信息

如前所述、内核0上的应用程序似乎按预期运行、考虑到这个 uniflash 错误、这有点奇怪。

我开始更详细地浏览.mcelf 文件、似乎所有.mcelf_xip 文件只有在程序头文件的开头生成一个注释段、而不是在末尾生成 例如:

.mcelf 文件:

.mcelf_xip 文件:

这是否会导致 Uniflash 上出现无效映像错误-即使映像似乎仍然刷写正常?

如果没有-.mcelf_xip 文件导致 UniFlash 出现问题的其他可能原因是什么?

此外-什么是 UniFlash 错误过程? 例如、出现这个"无效映像"错误- 如果在刷写期间检测到错误、Uniflash 会对刚刚尝试写入的块发出后续的闪存擦除命令?

谢谢!

RENs

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

    尊敬的 Rens:

    我们尚未发现此问题、您能否分享您正在使用的示例项目。 我开始查看。

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

    尊敬的 Nilabh:

    请查看随附的具有 ocmc_example 和 sbl_ospi/sbl_ospi_multiore elf sbls 的示例工程、在这方面会出现相同的问题。

    e2e.ti.com/.../20250226_5F00_mcelf_5F00_xip_5F00_uniflash_5F00_issue.zip

    在该项目中、我包含了单独的 unifFlash 配置、您应该能够只更新本地存储库的地址、然后连续运行批处理文件"RunUniFlash.bat"和"celf_RununiFlash.bat"。

     如果我刷写.appimage_xip、uniflash 会提供预期的响应:

    应用程序似乎运行正常:

    对于.mcelf_xip、我收到错误响应:

    应用程序似乎挂起:

    希望附加的.zip 可以正常工作。 如果您同时提供更多有关 Uniflash 错误行为/预期图像格式的指针、会很有用。

    谢谢!

    RENs

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

    另外、为了说明这一点、我使用的是 Launchpad 硬件、尽管 Uniflash 配置文件的名称可能不建议这样做。

    与原始示例工程相比、附加的 sbl_ospi 中有一个更改(来自示例)以添加到具有超时的延迟循环中、但否则对 sbl_ospi、sbl_ospi_multiore 和 ocmc 的更改应该都很小。

    谢谢!

    RENs

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

    尊敬的 Rens:

    你可以尝试 ocmc 多核项目和尝试闪存,我不能尝试它上周,因为我生病了,我将尝试它本周,想让你张贴在这里.

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

    尊敬的 Nilabh:

    如前所述、ocmc 示例工程与我在上一篇文章中附加的工程之间的任何更改都非常微小(如果有)-无论是从"cc"将工程重命名为"lp"(正如我在 Launchpad 上进行测试时、ocmc 不适用于 Launchpad HW、尤其是 SDK 中的相关内容)、还是仅使用适用于 core0的 sysfcg 中的闪存复位引脚。 无重大更改。  而且.appimage 文件运行正常-因此无论使用 sbl_ospi 还是 sbl_multicore 的通用配置都不存在基本问题。

    我注意到的一点是、对于 ospi_sbl 和 sbl_multicore core0、在 SYSCFG 中错误地设置为在锁步中运行-这应该是独立的。 但是、我认为这不会影响仅针对.mcelf 文件的 Uniflash 行为。

     

    我无法访问 UniFlash 源代码、甚至不知道通过检查 Uniflash 来确定刷写失败、因此对我来说进一步调试很困难/徒劳。 如果在您这边运行附加的项目时遇到任何问题、请告诉我。

    谢谢!

    RENs

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

    发现问题:我对.appimage 和.mcelf 文件都使用了--flash-xip 标签。 刷写为 XIP 配置的.mcelf (Uniflash 标签)  

    --- flash-mcelf-xip 需要使用

    这样、Uniflash 可提供成功的闪存结果。

    不清楚 Uniflash 的调试输出。 我必须深入研究 uart_uniflash.py 并注意到.mcelf 文件存在这个特定的操作类型以了解问题。

    我是否建议在 uart_uniflash.py 脚本中进行简单的文件检查,以在将来为其他用户节省很多麻烦?

    if (来自--file 的文件类型与操作码不匹配)

    打印(错误:提供的文件 不适合所选操作)

    谢谢!

    RENs