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.

[参考译文] RTOS/TDA2P-ACD:DDR 应力测试集成到 SBL 中

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/676834/rtos-tda2p-acd-ddr-stress-test-integration-into-sbl

器件型号:TDA2P-ACD

工具/软件:TI-RTOS

大家好、

我们项目的要求之一是将 DDR 应力测试作为 SBL 的一部分。

我们能否将 DDR 应力测试集成到 TDA2P 的 SBL 中。  我可以从 适用于 TDA2p-EVM 的 processor_sdk_vision_03_02_00_00\ti_components \drivers\pdk_01_08_01_06\packages/ti\CSL\examples\DDR\DDR_test_app 构建和运行 DDR 应力测试应用程序。 我能否将其集成到 SBL 中,以便 SBL 完成其所有初始化例程时,用户应该能够从 UART 菜单( 当前计划用于 DDR)中选择运行硬件测试实用程序或跳转到主应用程序。 可行吗?

此外,请告知我们 是否有此方面的任何信息。

此致

Hrishikesh

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

    SBL 从 OCMC RAM 运行、DDR 应力测试应用程序也从 OCMC 内存运行。
    SBL 在执行期间加载应用程序映像、这将覆盖 SBL 代码本身。
    因此、您需要更新 DDR 负荷测试应用链接器命令文件、以便与 SBL 没有冲突。

    此致、
    Rishabh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Rishabh、
    感谢您的反馈。 据我了解、对于两个应用程序的 linker.cmd 文件、在 SBL_app 中、所有分配都是针对 OCMCRAM1 (RWIX)完成的:org = 0x40300000、len = 0x00080000、对于 DDR 应力测试应用程序、所有分配都是大胆的
    Board_IO_DELAY_DATA:{*(Board_IO_DELAY_DATA)} at>OCMCRAM1
    Board_IO_DELAY_CODE:{*(Board_IO_DELAY_CODE)} at>OCMCRAM1配置为 OCMCRAM3,因此如果我将这两个部分移至 OCMC3,是否会发生冲突?
    另外,您还想告诉我,“SBL 在执行期间加载应用程序映像,这将覆盖 SBL 代码本身”发生在哪一点?
    此致
    Hrishikesh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Hrishikesh、

    我刚刚浏览了应用程序。
    是的、您应该在 OCMCRAM3中分配这些段、即使在这些段中似乎没有分配任何段。
    SBL 流程:SoC 初始化->应用程序映像加载->从内核启动。
    有关更多详细信息、请参阅 SBL 文档和代码。

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

    你好

    我已将 DDR 应力测试应用集成到 SBL 中并构建它。 现在、当用户按任意键时、它将跳转到 DDR 测试应用程序、否则将跳转到应用程序。

    我使用 CCS 调试为 TDA2Px-EVM 的 SDcard 引导 nom 引导模式构建的 SBL 二进制文件。 但是、当我运行 DDR 应力测试时、它会在测试失败时给出结果。 我在这里附上了 UART 的日志。 如果我遗漏了任何东西、请告诉我。

    此致

    Hrishikesh

    e2e.ti.com/.../teraterm2.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,
    此外、当我测试了在相同设置上独立构建的 DDR 应力测试应用程序时、它又成功了。
    此致
    Hrishikesh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Hrishikesh、

    从日志中、我可以看到 u-boot 也在您的系统上运行。 您应该使用从 PDK 构建的 SBL MLO、然后尝试运行此应用。

    此致、
    Rishabh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Risabh
    我在使用 CCS (调试)模式时插入了 SD 卡、当我为电路板通电时、日志会出现。 但是、我已经按照您的建议尝试了使用 MLO、但结果仍然相同。 我有以下错误日志
    "在 src 和 dst 地址处的值匹配错误
    src 地址0x403252E4的值为 X55
    dst 地址0x9FC00110的值为 xFFFFFFFF
    EDMA 测试在地址0x9FC00110上失败"这是否意味着测试通过了先前的内存段?
    此外、在 DDR 测试应用中、我已对 EDMA 初始化调用进行了注释
    EMDAsetRegion(地区);
    EDMA3Init (base_address、0)和在 SBL_tda2xx_main.c 中,在调用 DDR 测试应用程序后,我正在调用 EDMA3Deinit()。
    此致
    Hrishikesh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Hrishikesh、

    您能解释一下您到底在尝试什么吗?
    是使用 GEL 还是 SBL。
    您使用的是 SBL 还是 U-boot?
    您在 DDR 测试应用中进行了哪些更改
    此外、初始化后的 EDMA 应再次初始化而不进行去初始化。
    您是否检查过此场景?

    此致、
    Rishabh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Risabh
    为了进行测试和调试(中断 SBL ->应用程序流)、我使用的是 CCS 和 GEL 文件、现在该功能正常、我已切换到 SBL。
    2.我已将 DDR 测试应用程序文件 DDR_test.c 和 DDR_main.c (从 main.c 重命名)添加到 SBL Build pdk_01_08_01_06\packages/ti\boot\SBL_auto_SBL_app\src\tda2xx 中。 这些文件使用同一文件夹中的 lnk_tda2xx_a15.cmd,而不是 main(),我已将其重命名为 DDR_testApp(),每当用户中断来自 UART 终端的 SBL 流时,它就从 SBL_tda2xx_main.c 调用。
    对 DDR_testApp()的调用来自 if (0U != sblEntryPoints.Entrypoint[SBLLIB_CORE_ID_MPU_CPU0]){循环。
    我还测试了情形 EDMA 一旦初始化、应在不进行去初始化的情况下再次进行初始化。 ,此处 EDMA 的重新初始化发生在 DDR_main.c 中,但结果是相同的,即当我选择 DDR 测试时,它失败,并在先前的更新中打印消息。 但是如果我测试独立的 DDR 测试应用程序,它工作正常,没有显示故障。
    我希望这种情况在我的设置中消失。 请就此提供您的反馈。
    此致
    Hrishikesh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Hrishikesh、

    这不是有效的测试用例方案。
    当有人说使用 SBL 运行时、这意味着 SBL 将加载应用程序映像并将控制权移交给它。
    您需要创建 DDR 测试应用的 AppImage 并使用 SBL 引导它。
    遗憾的是、对于 DDR 应用、您需要对 SBL 引导进行存储器映射更改、这种情况很常见、因为应用通常不使用 OCMC1。
    您需要更改 DDR 应用的链接器 cmd 文件、以便不会最终覆盖 SBL 本身。
    希望这对您有所帮助。

    此致、
    Rishabh