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.

[参考译文] TDA4VM:使用 TDA4VM 上的引导加载程序在 Cortex-R5上运行裸机代码时出现问题

Guru**** 2524550 points
Other Parts Discussed in Thread: TDA4VM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1433423/tda4vm-issues-running-baremetal-code-on-cortex-r5-with-bootloader-on-tda4vm

器件型号:TDA4VM

工具与软件:

您好!

我正在 TDA4VM 的 Cortex-R5内核上运行我自己的裸机代码、旨在使 LED 闪烁。 我使用arm-none-eabi-gcc编译器、曾尝试过 SBL 和 U-Boot 引导加载程序、但遇到了一些问题:

  • SBL: 为了运行此处的代码、我使用 SDK 中的 K3ImageGen 将 ELF 文件转换为 appimage、然后按照 SDK 文档中的规定将文件重命名为"app"。 通过 SBL 加载时、没有错误消息、但 LED 不会闪烁、表示代码未执行。 该代码通过 Code Composer Studio 加载时运行不会出现问题、因此我认为这不是代码本身的问题。

  • U-Boot:

    • 二进制格式(.bin): 当使用 U-Bootgo 命令时、我会收到一个带有的"同步中止"处理程序错误esr 0x02000000
    • uImage 格式: 这也会导致相同的"同步中止"错误。
    • 使用 bootelf 的 elf 格式(.elf): 这种方法不会产生任何误差、但也不会运行。 我检查了加载代码的存储器区域(0x80000000)、代码符合预期。 然而、所有寄存器均不发生变化、从而确认代码未在执行。

此外、我使用一个更简单的程序进行了测试、该程序只将一个值(0x123456789)写入到存储器中、但遇到相同的问题。

是否有任何见解可能是什么导致了这一问题、或者我可能需要在 U-Boot 或 SBL 中考虑哪些其他配置? 对于 DDR 或其他组件、是否存在我缺失的存储器访问权限或初始化?

感谢您的任何帮助!

此致、

Heverton。

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

    您好!

    在 U-Boot 或 SBL 中我可能需要考虑哪些附加配置?

    您是否要确认您使用的是 PROCESSOR-SDK-LINUX J721e 还是 PROCESSOR-SDK-RTOS J721e?  它是 定制板或 TI EVM?

    此致、

    Karthik

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

    尊敬的 Karthik:

    我使用的是 SK-TDA4VM-J721E、我的板是 PROCESSOR-SDK-LINUX。

    此致、

    Heverton

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

    您好!

    未使用 SK 板验证 RTOS SDK。 我建议使用 JTAG 来检查失败的原因。 您可以逐步检查。 由于这是自定义应用程序、因此我们无法真正确认出了什么问题。  

    此致、

    基尔西