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.

[参考译文] TDA4VH-Q1:EVK 中的 LPDDR4 器件 — 从四个更改为单个存储器

Guru**** 2964120 points

Other Parts Discussed in Thread: SYSCONFIG, TDA4VH-Q1, TDA4VM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1654992/tda4vh-q1-lpddr4-devices-in-evk---change-to-single-memory-from-four

器件型号: TDA4VH-Q1
Thread 中讨论的其他器件: TDA4VL、SYSCONFIG、TDA4VM、TDA4VH

尊敬的 TI 专家团队:

我们的评估使用了 TDA4VH EVM 模块 (J784S4XG01EVM)、并希望使用更少的 LPDDR 存储器配置 (8GB) 来测试我们的软件应用。

根据当前的 EVM 设置、电路板上有 4 ×LPDDR4 器件(共 32GB)。

您能否建议如何通过硬件或软件配置来禁用电路板上的三个 LPDDR4 器件?

非常感谢您的支持。

此致、
Johnson John

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

    您好、John:

    请参阅以下常见问题解答主题:

    1. 【常见问题解答】TDA4VM:TDA4x、DRA8x、AM68x、AM69x LPDDR4 主题

    2.【常见问题解答】TDA4VL-Q1:如何在 J721s2 SDK 中将 DDR 大小配置为 4GB?

    第二个主题展示了在 J721S2 SoC 的另一相关电路板上的类似用途、您可以遵循类似逻辑来减少 DDR 存储器。

    此致

    Suman

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

    尊敬的 Suman:

    您是否可以为 J784s4 提供类似的补丁、从 32 GB 到 8 GB RAM。

    实际上、我们尝试了 j721 补丁更改。 但在 j721s2 和 j784s4 之间有许多差异。

    因此、请提供 J784S4 的确切更改。

    此致、

    Jenius R.

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

    尊敬的 Suman:

    请查找添加的详细信息。

    我们将使用 Linux 版本“ti-processor-sdk-linux-adas-j784s4-evm-11_00_00_08“

    此致、

    Jenius R

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

    尊敬的 Jenius R:

    实际上我们已经尝试了 j721 修补程序的更改。 但在 j721s2 和 j784s4 之间有许多差异。

    您无法插入 J721S2 补丁并期望其适用于 J784S4。 J721S2 的变化展示了基准电压变化、J721S2 SoC 具有 2 个 DDR 控制器、该变化也将其限制为具有较少存储器的 1 个 DDR 控制器。

    您需要使用 DDR 配置工具(作为 SysConfig 工具的一部分提供)来生成仅 1 个 DDR 控制器所需的 DDR 配置 dtsi 文件。  该工具可在 TDA4VH-Q1 产品页面上找到。

    此致

    Suman

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

    尊敬的 Suman:

    感谢您的支持。

    应用更改后、它仅显示 32 GB。 但 DTB 有更改。  

    请查看以下详细信息:

    root@j784s4-evm:~# hexdump -C /proc/device-tree/memory@80000000/reg
    00000000 00 00 00 00 80 00 00 00 00 00 00  00 00 80 00 00 |… |
    00000010 00 00 00 08 80 00 00 00 00 00  00 07 80 00 00 00 |… |
    00000020
    root@j784s4-evm:~# fdtdump /boot/dtb/ti/k3-j784s4-evm.dtb | grep -A5 memory@80000000

    *** fdtdump 是一个低级调试工具、不适用于一般用途。
    ***如果要反编译 DTB、您可能需要
    ****   DTC-I DTB -O DTS

      内存@80000000{
        reg =<0x00000000 0x80000000 0x00000002 0x00000000>;
        device_type =“存储器“;
        全部引导;
      };
      __符号__{
    root@j784s4-evm:~# free
            总计     模块           提供免费共享缓冲/高速缓存
    内存:     29253004   508100 28845028       9508   207352  28744904.
    交换:        0       0       0

    ==========================================================================

    引导时间数据

      MMC:MMC@4f80000:0、MMC@4fb0000:1.
    从无处加载环境... 好的
    IN:  串行@2880000
    输出:  串行@2880000
    错误:  serial@2880000
    am65_cpsw_Nuss 以太网@46000000:K3 CPSW:nuss_ver:0x6BA02102 cpsw_ver:0x6BA82102 ale_ver:0x00293904 Ports:1
    网络:  eth0:以太网@46000000port@1.
    按任意键停止自动引导: 0  
    => bdinfo  
    BOOT_params = 0x000000000000
    DRAM 组  = 0x000000000000
    -> start  = 0x0000000080000000
    ->大小   = 0x0000000080000000
    DRAM 组  = 0x0000000000000001
    -> START  = 0x0000000880000000
    ->大小   = 0x0000000780000000
    flashstart = 0x0000000000000000
    闪存大小  = 0x000000000000
    Flashhoffset = 0x000000000000
    波特率  = 115200bps
    relocaddr  = 0x00000000ffe97000
    重新定位关闭  = 0x000000007f697000
    Build    = 64 位
    Current eth = Ethernet@46000000port@1
    ethaddr   = 04:25:e8:B6:b0:0b
    ip 地址   =
    FDT_blob  = 0x00000000fde32260
    LMB_DUMP_ALL:
     memory.count = 0x2
     存储器[0]   [0x80000000-0xffffffff]、0x80000000 字节、标志:无
     存储器[1]   [0x880000000-0xfffffffff]、0x780000000 字节、标志:无
     reserved.count = 0x4
     保留[0]  [0x9e800000-0xabffffff]、0xd800000 字节、标志:无映射
     保留[1]  [0xfce2f000-0xfce31fff]、0x3000 字节、标志:无通知、无覆盖
     保留[2]  [0xfce32250-0xffffffff]、0x31cddb0 字节、标志:无覆盖
     保留[3]  [0x880000000-0xfffffffff]、0x780000000 字节、标志:无覆盖
    器件树 =单独
    Serial addr = 0x0000000002880000
     宽度   = 0x0000000000000000
     SHIFT   = 0x000000000002
     偏移   = 0x0000000000000000
     时钟   = 0x0000000002dc6c00
    arch_number = 0x000000000000
    TLB addr  = 0x00000000ff0000
    irq_sp   = 0x00000000fde32250
    SP START  = 0x00000000fde32250
    早期 malloc 用法:3548/8000

    => FDT 地址 0xfde32260
    工作 FDT 设置为 fde32260
    => FDT 打印/内存
    内存@80000000{
     REG =<0x00000000 0x80000000 0x00000000 0x80000000 0x00000008 0x80000000 0x00000007 0x80000000>;
     device_type =“存储器“;
     全部引导;
    };

    此致、

    Jenius R

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

    尊敬的 Jenius:

    应用更改后、它仅显示 32 GB。 但 DTB 有更改。  [/报价]

    嗯、您到底做了什么更改? 您是否确定在启动时使用了修改后的 dtb 文件?

    U-Boot 和内核都使用不同的 DTB 文件、因此您需要确保还调整内核 DTB。

    [报价 userid=“683820“ url=“~/support/processors-group/processors/f/processors-forum/1654992/tda4vh-q1-lpddr4-devices-in-evk---change-to-single-memory-from-four/6384388 ]  内存@80000000{
        REG =<0x00000000 0x80000000 0x00000002 0x00000000>;

    这看起来并不正确。 大小 0x2_0000_0000 确实为 8GB、但 DDR 存储器并非都在 0x8000_0000 地址处连续。  

    => FDT print / memory
    内存@80000000{
     REG =<0x00000000 0x80000000 0x00000000 0x80000000 0x00000008 0x80000000 0x00000007 0x80000000>;
     device_type =“存储器“;
     全部引导;
    };

    这仍反映 32 GB。  我预计会看到类似这样的内容、但第二个元组应该如下所示:

    reg = <0x00000000 0x80000000 0x00000000 0x80000000 0x00000008 0x80000000 0x00000001 0x80000000>;

    DDR 控制器 dtsi 文件应主要实例化 1 个控制器、并且您需要  在 arch/arm/mach-k3/j784s4/j784s4_init.c 中调整 MAX_DDR_controllers 、以便 R5 SPL 代码仅配置/初始化 1 个控制器。

    此致

    Suman

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

    尊敬的 Suman:

    在 DDR 工具中、它生成了 6 个文件。 我们使用简单的 Linux SDK 构建器。

    1、j784s4_board_ddrRegInit.h

    2、J784S4-DDR-EVM-LP4.CMM

    3、J784S4-DDR-EVM-LP4.gel

    4、k3-j784s4-ddr-evm-lp4.dtsi

    5、settings_info.syscfg

    6、untitled.syscfg

    然后、我们将  k3-j784s4-ddr-evm-lp4-4266.dtsi 替换 为给定的 k3-j784s4-ddr-evm-lp4.dtsi。

    我们是否需要在 Linux SDK 中添加任何其他文件、如果是、请指明位置和文件名。

    已在 U-boot dtb k3-j784s4-ddr.dtsi 中禁用内存控制器。

      在 j784s4_init.c 中将 MAX_DDR_CONTROLLERS 更改为 1

    在 k3-j784s4-evm.dts 中更改了该值  

      内存@80000000{
        /* 8G RAM */
        REG =<0x00000000 0x80000000 0x00000000 0x80000000>、
           <0x00000008 0x80000000 0x00000001 0x80000000>;
        device_type =“存储器“;
        全部引导;
      };

     /boot/dtb/ti/k3-j784s4-evm.dtb 中的 dtb 反映了相同的,通过以下命令验证

    fdtdump /boot/dtb/ti/k3-j784s4-evm.dtb | grep -A5 存储器@80000000。

     内存@80000000{
        REG =<0x00000000 0x80000000 0x00000000 0x80000000 0x00000008 0x80000000 0x00000001 0x80000000>;
        device_type =“存储器“;
        全部引导;
      };

    更新了三个 Uboot 映像和 bin 文件

     (tiboot3.bin、tispl.bin、u-boot.img)。

    请找到随附的引导日志。

    e2e.ti.com/.../7041.boot.log

    此致

    Jenius

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

    尊敬的 Jenius:

    我们是否需要在 Linux SDK 中添加任何其他文件、如果是、请指明位置和文件名。

    dtsi 和头文件是所需的主要源文件。

    [引述 userid=“683820“ url=“~/support/processors-group/processors/f/processors-forum/1654992/tda4vh-q1-lpddr4-devices-in-evk---change-to-single-memory-from-four/6385993

    已在 U-boot dtb k3-j784s4-ddr.dtsi 中禁用内存控制器。

      在 j784s4_init.c 中将 MAX_DDR_CONTROLLERS 更改为 1

    [/报价]

    是的、这些都很好。

    请查找随附的引导日志。

    您的新日志现在是引导内核时的异常。 引导日志显示您也在引导远程内核。 需要调整视觉固件的存储器映射、以仅使用前 8GB 的存储器。

    我建议您不要启动任何 remoteproc 固件、并且也禁用 Linux 内核 remoteproc 驱动程序(您可以重命名文件系统中的相应模块名称)、以跳过加载和引导任何固件。

    请检查 Linux 内核是否可以首先使用 8 GB 内存启动。 您还应该能够在开始步骤中验证 U-Boot 中的可用存储器。

    此致

    Suman

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

    尊敬的 Suman:

    删除了固件并尝试启动。

    未解决。

    请找到引导日志。

    e2e.ti.com/.../Boot_5F00_no_5F00_firmware.log

    您能否提供 Linux SDK (ti-processor-sdk-linux-adas-j784s4-evm-11_00_00_08) 和 RTOS SDK (ti-processor-sdk-rtos-j784s4-evm-11_00_00_06) 的补丁。

    我们的最终目标是只保留一个 RAM 芯片并配置 8GB RAM。

    我们的项目也使用视觉应用程序运行。

    我们将从 Linux 在 RTOS C7X R5F 内核中启动应用。

    请帮助我们解决此问题。   

    此致、

    Jenius R

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

    尊敬的 Jenius:

    请查找引导日志。

    您的引导日志仍在应用所有 VisionApps 存储器分割、并应用 k3-j784s4-vision-apps.dtbo 叠加。 我建议您不要使用 uEnv.txt 文件、或调整 uEnv.txt 文件以使用以下内容:

    dorprocboot=0

    name_overlays=

    您能否为 Linux SDK (ti-processor-sdk-linux-adas-j784s4-evm-11_00_00_08) 和 RTOS SDK (ti-processor-sdk-rtos-j784s4-evm-11_00_00_06) 提供补丁。

    TI SDK 是一款参考 SDK、展示了多种不同的演示。 TDA4VH 是一款大型 SoC、我们可能无法支持所有有限 8GB 的 Vision SDK 用例。 这通常是产品定制功能的一部分、我们的客户必须对其固件进行微调。

    此外、11.0 SDK 是 STS SDK、并且我们对此 SDK 版本的支持有限。

    TI 建议 将 LTS SDK 版本 (11.02 或即将推出的任何 11.02.xx SDK) 用于生产目的。  

    [引述 userid=“683820“ url=“~/support/processors-group/processors/f/processors-forum/1654992/tda4vh-q1-lpddr4-devices-in-evk---change-to-single-memory-from-four/6387717

    我们的最终目标是只保留一个 RAM 芯片并配置 8GB RAM。

    我们的项目也使用视觉应用程序运行。

    我们将从 Linux 在 RTOS C7X R5F 内核中启动应用。

    [/报价]

    您的整体产品用例是什么? 第一步是能够在没有任何视觉固件的情况下引导 Linux。 TI IPC 固件都使用低 2GB 的存储器、因此您应该能够引导这些存储器。

    此致

    Suman

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

    尊敬的 Suman:

    感谢您的指导。

    我们已在删除 uEnv.txt 文件和远程内核固件后尝试引导。

    启动发生、但显示总容量为 32GB。

    请找到引导日志。  

    e2e.ti.com/.../1145.NO_5F00_Uenv.log

    请参阅以下内容以了解存储器空间、但同时根据我们的配置更改了 EVM 中的 DTB。

    root@j784s4-evm:~# free
            总计     模块           提供免费共享缓冲/高速缓存
    内存:     32607120   571976  32100140    10128   265804 32035144.   
    交换:        0       0       0


    root@j784s4-evm:~# fdtdump /boot/dtb/ti/k3-j784s4-evm.dtb | grep -A5 memory@8000

    *** fdtdump 是一个低级调试工具、不适用于一般用途。
    ***如果要反编译 DTB、您可能需要
    ****   DTC-I DTB -O DTS

      内存@80000000{
        REG =<0x00000000 0x80000000 0x00000000 0x80000000 0x00000008 0x80000000 0x00000001 0x80000000>;
        device_type =“存储器“;
        全部引导;
      };
      __符号__{

    支持我们使用 8GB 内存(仅用于 Linux)启动 EVM。
    请提供启动的步骤。

    此致、

    Jenius R.

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

    尊敬的 Jenius:

    发生了启动、但显示总共 32GB。

    很高兴看到启动发生了。  

    请支持我们仅使用 8GB 内存启动 EVM(用于 Linux)。
    请提供启动的步骤。

    基线指南之前都已提供。  请分享您的增补程序、以便我可以查看它们。

    此致

    Suman

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

    尊敬的 Suman:

    请找到所附的补丁。

    e2e.ti.com/.../RAM_5F00_changes.log

    此致、

    Jenius R.

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

    尊敬的 Jenius:

    请参阅 U-Boot 中的 k3-j784s4-evm.dts 文件。

    /nhome/sdk/ti-processor-sdk-linux-adas-j784s4-evm-11_02_00_04/board-support/ti-u-boot-2025.01+git$ git grep -n k3-j784s4-evm
    arch/arm/dts/k3-j784s4-evm-u-boot.dtsi:6:#define SPL_BOARD_DTB "spl/dts/ti/k3-j784s4-evm.dtb"
    arch/arm/dts/k3-j784s4-evm-u-boot.dtsi:7:#define BOARD_DESCRIPTION "k3-j784s4-evm"
    arch/arm/dts/k3-j784s4-r5-evm.dts:8:#include "k3-j784s4-evm.dts"
    arch/arm/dts/k3-j784s4-r5-evm.dts:11:#include "k3-j784s4-evm-u-boot.dtsi"
    board/ti/j784s4/MAINTAINERS:9:F:        arch/arm/dts/k3-j784s4-evm-u-boot.dtsi
    configs/j784s4_evm_a72_defconfig:15:CONFIG_DEFAULT_DEVICE_TREE="ti/k3-j784s4-evm"

    我建议您调整基准以指向新的 k3-j784s4-evm_8GB.dts 文件、或进行更改。

    此致

    Suman

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

    尊敬的 Suman:

    您能否提供 11.02 SDK 的补丁以配置 8GB。

    根据您的建议、我们计划使用最新的 SDK 版本。

    此致、

    Jenius R.

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

    尊敬的 Jenius:

    您能否提供 11.02 SDK 的补丁来配置 8GB。

    U-Boot 补丁:

    e2e.ti.com/.../0001_2D00_TEMP_2D00_j784s4_5F00_evm_2D00_Reduce_2D00_the_2D00_DDR_2D00_size_2D00_to_2D00_8_2D00_GB.patch

    内核补丁:

    e2e.ti.com/.../0001_2D00_TEMP_2D00_arm64_2D00_dts_2D00_ti_2D00_k3_2D00_j784s4_2D00_evm_2D00_Reduce_2D00_DDR_2D00_to_2D00_8_2D00_GB.patch

    此致

    Suman

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

    尊敬的 Suman:

    感谢您提供补丁。

    下面列出了构建后需要替换的文件。 请验证。

    1.k3-j784s4-evm.dtb

    2.tiboot3.bin

    3、tispl.bin

    4、u-boot.img

    如果我错过了任何内容、请告诉我。

    此致、

    Jenius。

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

    尊敬的 Jenius:

    [引述 userid=“683820“ url=“~/support/processors-group/processors/f/processors-forum/1654992/tda4vh-q1-lpddr4-devices-in-evk---change-to-single-memory-from-four/6392065

    下面列出了构建后需要替换的文件。 请验证。

    1.k3-j784s4-evm.dtb

    2.tiboot3.bin

    3、tispl.bin

    4、u-boot.img

    [/报价]

    是的、正确。

    我确实从 rootfs 中删除/重命名了 remoteproc 驱动程序模块 (.ko)、因此默认情况下不会引导 remoteprocs、并修改了 uEnv.txt 以注释掉覆盖层并将 dorprocboot 变量设置为 0。

    此外、这些变化。

    如果您确实要引导远程过程、请调整 rootfs lib/firmware 软链接以指向 PDK IPC echo_test 固件。

    此致

    Suman

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

    尊敬的 Jenius:

    现在、如果我尝试添加 vision apps dtbo、则显示 Kernel panic。

    是的、这是预期结果。 您不能使用默认的 Vision Apps dtbo 文件、因为它使用的存储器地址超出 8GB (0xA_0000_0000)。 您需要调整存储器映射、并使用合适的存储器映射重新构建所有 Vision Apps 固件。

    请帮助我们映射 R5F 和 C7X 内核的内存。

    我认为此票证的解决与 Linux U-Boot 和内核上所需的更改相关。 我不确定您的整体用例是什么、或者使用 TDA4VH (J784S4) 但仅使用 1 个 DDR 控制器的动机、而不是使用更小的 TDA4 器件(如 TDA4VL/J721S2、TDA4VPE/J742S2、甚至是 TDA4VM/J721E)。

    在任何情况下、请使用有关 RTOS 相关更改的“提出相关问题“打开新主题。

    请务必使用以下参考资料:

    1.  9.9.了解并更新适用于 J784S4 的 SDK 内存映射

    2.【常见问题解答】TDA4VM:TDA4VM/TDA4VL/TDA4AL/TDA4VH/DRA821:适用于 Jacinto SoC 上视觉应用的自定义 DDR 存储器映射

    第一个链接是 SDK 文档、提供有关自定义存储器映射的详细信息、第二个链接是使用更小的 2GB DDR 配置的参考。

    此致

    Suman

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

    嗨、苏曼、

    我们可以 将 ti-processor-sdk-linux-adas-j784s4-evm-11_02_00_04 与 ti-processor-sdk-rtos-j784s4-evm-11_00_00_06 配合使用。

    如果是、请提供相关步骤。

    此致、

    Jenius R

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

    尊敬的 Jenius:

    是否可以将 ti-processor-sdk-linux-adas-j784s4-evm-11_02_00_04 与 ti-processor-sdk-rtos-j784s4-evm-11_00_00_06 配合使用 。

    编号  TI 不支持或不建议混合和匹配不同版本的 Linux 和 RTOS SDK。 SDK 验证仅使用匹配的 SDK 版本完成、SDK 由许多可能具有相互依赖关系的不同组件组成。

    11.02 是最新的 LTS SDK 版本、将提供维护版本和 1 年支持。 我们建议您使用 11.02 SDK 或后续维护版本。

    仅供参考、11.02.01 SDK 维护版本将 在本周晚些时候发布。

    此致

    Suman