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.

[参考译文] TDA4VE-Q1:裸机 LPDDR4 RAM 测试

Guru**** 2535150 points
Other Parts Discussed in Thread: UNIFLASH, SK-TDA4VM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1412523/tda4ve-q1-baremetal-lpddr4-ram-testing

器件型号:TDA4VE-Q1
主题中讨论的其他器件:UNIFLASHSK-TDA4VM

工具与软件:

尊敬的 TI 支持部门:

LPDDR4 RAM 作为客户项目的一部分进行测试。
由于这没有测试模式、因此很难通过边界扫描进行测试。 通过软件进行的测试(例如、可通过 JTAG 加载到 RAM 中的小型裸机程序)在这里将更有效。

是否有用于访问 DDR RAM 的裸机应用示例?

我们看到、通过 GEL 脚本进行电路板初始化会在能够初始化 LPDDR4 RAM 之前执行许多步骤。
进行硬件初始化的 Cortex-R5引导加载程序示例将非常有用。

此致、

Andreas

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

    您好!

    是否有一个用于访问 DDR RAM 的裸机应用程序示例?

    答案很简单:不  

    通过访问 TDA4器件的 DDR 存储器地址区域(例如:写入地址0x80000000并读回)直接访问 DDR 存储器。  

    [报价 userid="621221" url="~/support/processors-group/processors/f/processors-forum/1412523/tda4ve-q1-baremetal-lpddr4-ram-testing 我们看到通过 GEL 脚本进行的电路板初始化在能够初始化 LPDDR4 RAM 之前要执行大量步骤。
    执行硬件初始化的 Cortex-R5引导加载程序示例将非常有用。[/QUOT]

    TI 通过软件开发套件(SDK)提供引导加载程序代码。 有关 tiboot3.bin 文件的示例、请参阅、其中包含用于初始化 DDR 的 R5引导加载程序代码。

    https://www.ti.com/tool/PROCESSOR-SDK-J721S2 

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j721s2/10_00_00_08/exports/docs/linux/Foundational_Components U-Boot/UG-General-Info.html#boot-flow 

    此致、
    Kevin

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

    尊敬的 Kevin:

    感谢您的答复。 我们的用例是将引导加载程序代码传输到 Cortex-R5的 OCM RAM 并运行。 目前我们在完成电路板初始化方面遇到了问题。 此操作因 keywriter_img 和 flash_programming 映像(UNIFLASH 工具)而失败。

    我们知道高级文档、但这里缺少详细信息、以及初始化无法完成的原因(请参阅我的其他工单)。 如果提供关于如何编译执行电路板启动的裸机 R5应用程序的分步指南、会非常有帮助。

    此致、

    Andreas

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

    尊敬的 Andreas:

    目前我们在完成电路板初始化时遇到问题。 此操作因 keywriter_img 和 flash_programming 映像(UNIFLASH 工具)而失败。[/QUOT]

    如果这些意见与下面的原始 E2E 相关、请让我们在原始 E2E 主题中继续讨论问题。 很遗憾、我不是为您提供 UNIFLASH 帮助的合适 TI 员工。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1410769/sk-tda4vm-uniflash-tool-boot-into-u-boot-cannot-transfer-tiboot3-bin 

    此致、
    Kevin

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

    尊敬的 Kevin:

    在这种情况下、我希望保留在提供的 SDK 启动代码中
    ti-processor-sdk-rtos-j721e-evm-10_00_00_05/pdk_jacinto_10_00_00_27 packages/ti/boot/sbl

    make help中运行向packages/ti/build 我展示了适用于 mmcsd、ospi、uart 以及 hs 变体的许多 SBL 目标。 对于 SK-TDA4VM 评估板、我想尝试sbl_uart_img通过 XDS200 TI 调试器和 Code Composer Studio 12.4运行:

    1. make BOARD=j721e_evm CORE=mcu1_0 all (由于缺少依赖项而需要)
    2. make BOARD=j721e_evm CORE=mcu1_0 sbl_uart_img
    3. 使用 CCS12.4进行裸机调试
      1. 启动 J721E_EVM 的选定配置(按照 CCS 调试设置中的说明创建)
      2. 在 JS 窗口中运行: loadJSFile("/home/dev/ti/ti-processor-sdk-rtos-j721e-evm-10_00_00_05/pdk_jacinto_10_00_00_27/packages/ti/drv/sciclient/tools/ccsLoadDmsc/j721e/launch.js")
      3. 这种情况下会通过外部工具(即我们希望 Cortex-R5执行的操作)来初始化电路板。
      4. 连接 MCU_Cortex_R5_0 > Load Code > /home/dev/ti/ti-processor-sdk-rtos-j721e-evm-10_00_00_05/pdk_jacinto_10_00_00_27/packages/ti/boot/sbl/binary/j721e_evm/uart/bin/sbl_uart_img_mcu1_0_relase.xer5f
      5. 无法进行调试。 ELF 未运行、且没有错误、内核卡在地址0x000004CA
    4. 对执行相同操作 sbl_boot_test
      1. 运行 launch.js
      2. 连接 MCU_Cortex_R5_0 > Load Code > /home/dev/ti/ti-processor-sdk-rtos-j721e-evm-10_00_00_05/pdk_jacinto_10_00_00_27/packages/ti/boot/sbl/example/k3MulticoreApp/binary/j721e/sbl_boot_test_j721e_evm_mcu1_0TestApp_release.xer5f
      3. ELF 卡在中 HwiP_undefined_handler_c()
    5. 还有一个示例 keywriter_img
      1. 在 CCS 中启动 J721E_EVM 的所选配置
      2. 应执行的操作 不会 运行 launch.js
      3. 连接到 MCU1_0
      4. 基准输入负载 packages/ti/boot/keywriter/binary/keywriter_img_j721e_release.xer5f
      5. 调试器开始 main()
      6. 程序在功能中失败UART_printf()。 我认为这是预料之中的、因为函数需要运行 TISCI (是这样吗?)

    我缺少正确运行裸机电路板初始化的任何起点、以便我们可以调整代码来运行 DDR 测试。

    此致、

    Andreas

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

    尊敬的 Kevin:

    增编:显然还有一个时间问题。

    我可以运行 Cortex-R5 ELF packages/ti/boot/sbl/binary/j721e_evm/emmc_boot0/bin/sbl_emmc_boot0_img_mcu1_0_release.xer5f
    我在复位后直接将 ELF 连接并加载到 MCU1_0时。

    在内部sbl_main.c我可以看到,我们可以启用 DDR 初始化用-DSBL_ENABLE_DDR,但程序在加载 SYSFW 时失败SBLSciClientInit(devGroup),我想由于 SBL 无法从 emmc0读取 sysfw 图像,因为它目前是空的。
    此外SBL_log()、无法解析通过 UART1的输出。 波特率是否配置为115200之外的另一个值?

    此致、

    Andreas

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

    尊敬的  Andreas

    [报价 userid="621221" url="~/support/processors-group/processors/f/processors-forum/1412523/tda4ve-q1-baremetal-lpddr4-ram-testing/5411320 #5411320"] packages/ti/boot/sbl/binary/j721e_evm/emmc_boot0/bin/sbl_emmc_boot0_img_mcu1_0_release.xer5f
    当我在复位后直接将 ELF 连接并加载到 MCU1_0时。[/QUOT]

     您是否根据 4.3 CCS/JTAG 该过程执行此测试?

    4.3 CCS/JTAG
    Apply attached patch as mentioned in faq-how-to-flash-ospi-using-ccs-on-tda4x-dra82-evm on PDK, which is
    available as part of PSDKRA. This patch adds a utility that can be used to flash OSPI using CCS and JTAG
    interface.
    4.3.1 Flashing Instructions
    1. Apply 0001-Add-support-for-flashing-OSPI-flash-using-CCS.patch on the PDK.
    2. Change flag USE_CCS to yes in the pdk/packages/ti/board/utils/uniflash/target/build/uart_make.mk file.
    3. Rebuild flash programmer by using make -sj PLATFORM=j721e_evm board_utils_uart_flash_programmer
    from pdk/packages/ti/build.
    4. Flash Writer binary would be available in pdk/packages/ti/board/utils/uniflash/target/bin/j721e_evm/
    uart_j721e_evm_flash_programmer_release.xer5f.
    5. Launch CCS and target configuration. For details on this step, see this.
    6. From Scripting Console run loadJsFile("pdk/packages/ti/drv/Sciclient/tools/ccsLoadDmsc/j721e/launch.js")
    from the CCS scripting console.
    7. Once Java script is completed, load flash writer code in MCU_CortexRegistered_R5_0 core and Run it.
    8. Application runs and displays 3 menu options on the CCS console, Erase OSPI flash, Flashing file in OSPI
    and exit.
    9. For erasing flash, select the start address and size to be erased.
    10. For flashing a file, enter the file name with the full path, then enter offset where file is to be flashed, then load
    the file using CCS scripting console (command to load is printed on CCS console). Once file is loaded from
    scripting console, enter '0' on CCS console.
    11. Press '2' on main menu to exit, after all files are flashed.

    此致、

    Karthik

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

    尊敬的 Karthik:

    我记得遵循这些确切的 闪存说明、但我不知道该补丁也应该应用于最新的 SDK (PSDK 版本10)。 最好的方法是使用 PSDK 7.3版对此进行测试、但目前 TI 的 PSDK 下载失败/缓慢。 我解决了`ccs_main.c 的两个编译器错误`并且能够构建目标` board_utils_uart_flash_programmer`。

    打开 CCS 后、启动目标配置并成功运行 launch.js 脚本:

    运行 cortex-R5 elfuart_j721e_evm_flash_programmer_release.xer5f 未成功。 处理器运行、但绝不会返回到主函数。 停止 CPU 时、PC 在地址0x4CA:

    可以在复位后直接加载 Cortex-R5 elf (不运行 launch.js)、但程序会不停地轮询以使 sciserver 进行响应(比较反向跟踪):

    在我看来、这是预期行为、因为 sciserver testapp 未运行(应该在 MCU_Cortex_R5_0上运行、并且我将该内核用于 elf 文件)。

    `m是否认为可以在 J721S2_HS 器件(使用 R θ ake -J8 Board=j721s2_evm core=mcu1_0 board_utils_uart_flash_programmer_hs`)上测试? 我不确定、但 SciClient 在 HS 器件的 SMS 内核上运行、对吗?

    编辑:我尝试在 J721S2 HS-ELF 型号上运行 board_utils_uart_flash_programmer_hs FS、而 MCU_Cortex_R5_0根本没有执行 ELF。

    此致、

    Andreas

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

    尊敬的  Andreas:

    我们的用例是将引导加载程序代码传输到 Cortex-R5的 OCM RAM 并运行该代码

    如果您用例是传输引导加载程序、请尝试使用 SD 引导模式。 那么从它开始会更简单。  

    [报价 userid="621221" url="~/support/processors-group/processors/f/processors-forum/1412523/tda4ve-q1-baremetal-lpddr4-ram-testing/5409560 #5409560"]

    目前我们在完成电路板初始化方面遇到了问题。 此操作因 keywriter_img 和 flash_programming 映像(UNIFLASH 工具)而失败。

    [报价]

    您能否确认您使用的是 HS 器件还是 GP 器件?

    此致、

    Karthik

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

    尊敬的 Karthik:

    如果您用例是传输引导加载程序、请尝试使用 SD 引导模式。 那么从它开始会更简单。  

    如何正确启动uart_j721e_evm_flash_programmer_release? 我想我必须将uart_j721e_evm_flash_programmer_release.tiimage放入 SD 卡的引导分区中、而不是 .xer5f正确吗?

    我不想通过默认启动tiboot3.bin,因为我们需要一个裸机 eMMC 刷写应用程序通过 JTAG

    您能否确认您使用的是 HS 器件还是 GP 器件?

    我当前正在使用 J721EXSKG01EVM (SK-TDA4VM) GP 器件、并想在进行有效设置后转到 J721S2 HS 器件。

    此致、

    Andreas

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

    尊敬的  Andreas:

    [报价 userid="621221" url="~/support/processors-group/processors/f/processors-forum/1412523/tda4ve-q1-baremetal-lpddr4-ram-testing/5417803 #5417803"]

    我当前正在使用 J721EXSKG01EVM (SK-TDA4VM) GP 器件、并想在进行有效设置后转到 J721S2 HS 器件。

    [报价]

    SK-TDA4VM (入门套件)器件没有 eMMC。 请参阅原理图。 您似乎正在使用针对 J721e_EVM 器件的 TDA4刷写技术文档。

    此致、

    Karthik

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

    尊敬的 Karthik:

    我已经知道了、但此票证的主题是通过裸机 Cortex-R5应用程序进行电路板和 DDR 初始化。 我刚刚使用了 emmc0 SBL 映像、但应用在初始化 eMMC0之前甚至中止了。

    使用在 SK-TDA4VM (J721E_EVM)上进行测试 ti-processor-sdk-rtos-j721e-evm-07_03_00_07消息流 sbl_uart_img

    • 执行的launch.js脚本 loadSciserverFlag = 0
    • 从构建的 sbl_uart_img 中加载.xer5f
    • 应用程序运行、UART1等待 tifs.bin

    下一步可能是在 SBL_SciClientInit ()之前移动 DDR 初始化、但我不确定初始化 PLL、时钟和 DDR 是否需要 SciClient。 您是否知道执行 DDR 初始化所需的先决条件?

    此致、

    Andreas

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

    尊敬的 Andreas:

    在 tda4vm-sk 电路板上未验证 RTOS。 经过验证的 SDK:

    https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-SK - TDA4VM/10.00.00.08

    因此、如果您拥有 SK EVM、您可以使用 Karthik 上文提到的 SD 卡。 我们没有可用于初始化 DDR 的 barmetal 应用、即使该应用适用于未在 SK 板上验证的 EVM、也是如此。  

    任何时钟请求都需要器件管理器。

    此致、

    基尔西  

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

    Keerthy、您好!

    感谢您的回答、这对您有所帮助!

    在这种情况下、您是否知道 RTOS 封装是否可与 XJ721S25AALZ (TDA4VE-HS)结合使用? 不久的将来、还将需要为 OTP Keywriting 提供 RTOS SDK 支持。

    此致、

    Andreas

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

    Keerthy、您好!

    一个评论:与 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1418335/faq-j784s4xevm-how-to-load-tifs-using-jtag-on-hs-fs-device/5433552#5433552的见解
    我可以测试 SBL 初始化、但在"Initializing DDR……"步骤中失败、不会打印"DONE"。 您知道为什么会发生这种情况吗?

    此致、

    Andreas

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

    尊敬的  Andreas:

    步骤并从不打印"DONE"。 您知道为什么会发生这种情况吗?

    相关讨论正在这个主题 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1420023/processor-sdk-j721s2-cannot-run-keywriter-via-jtag-xj721s25aalz-hs-fs-device 上进行 ,请按照上面的主题进一步支持.

    Reagrds、

    Karthik

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

    现在 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1420023/processor-sdk-j721s2-cannot-run-keywriter-via-jtag-xj721s25aalz-hs-fs-device 也已关闭、正在关闭主题帖。