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/TDA2:在3GB 上运行 DDR 测试

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/719853/rtos-tda2-running-ddr-test-on-3gb

器件型号:TDA2

工具/软件:TI-RTOS

大家好、

我尝试将 Vision SDK 3.03 DDR 测试示例配置为在 TDA2p 上使用3GB RAM 运行。 2GB 连接到 EMIF1、1GB 连接到 EMIF2。 我所做的更改包括:

-(vision_path)/vision_sdk/links_fw/src/rtos/BIOS_app_common/tda2px/a15_0/a15_0.cfg (第165行。 Mmu.setSecondLevelDescMeta(i、i、attrs2))

-(vision_path)/vision_sdk/links_fw/src/rtos/BIOS_app_common/tda2px/ipu1_0/Ammu1_bios.cfg (第207行。 entry.translatedAddress = 0xA0000000)

-(vision_path)/vision_sdk/links_fw/src/rtos/BIOS_app_common/tda2px/ipu2/Ammu2_bios.cfg (第207行。 entry.translatedAddress = 0xA0000000)

-(vision_path)/vision_sdk/links_fw/src/rtos/BIOS_app_common/tda2px/eve_common/tlb_config_eve_common.c (第100行。 #define Size_3G (0xC0000000U)、第134行。 请将 size_1GB 设置为 size_3GB)

-(vision_path)/vision_sdk/apps/configs/build_makeconfig (第106行)。 $(echo)\# DDR_MEM=$(DDR_MEM)[选项:DDR_MEM_128M DDR_MEM_512M DDR_MEM_1024M DDR_MEM_3G])

-(vision_path)/vision_sdk/apps/configs/defaults.mk (第16行。 DDR_MEM=DDR_MEM_3G)

-(vision_path)/vision_sdk/apps/configs/tda2px evm_BIOS_all/cfg.mk (DDR_MEM=DDR_MEM_3G)

-(vision_path)/vision_sdk/build/rtos/makerules/component.mk (在 ifeq ($(DDR_MEM)、DDR_MEM_512MB 之后)

                                                                                                                                     VISION_SDK_CFLAGS +=-DTDA2XX_512MB_DDR

                                                                                                                              字节序

                                                                                                                 添加了 ifeq ($(DDR_MEM)、DDR_MEM_3G)
                                                                                                                                      VISION_SDK_CFLAGS +=-DTDA2XX_3GB_DDR
                                                                                                                               字节序

-(vision_path)/vision_sdk/links_fw/src/rtos/utils_common/include/utils_mem_cfg.h (添加了#ifdef TDA2XX_512MB_DDR 块之后)

      #ifdef TDA2XX_3GB_DDR
         #ifdef ECC_FFI 包含
            #define UTILS_MEM_HEALL_DDR_Cached_size     (309*1024*1024)
         其他
          #ifdef OpenCL_include
            #define UTILS_MEM_HEALL_DDR_Cached_size     (249*1024*1024)
          其他
            #define UTILS_MEM_HEALL_DDR_Cached_size     (700*1024*1024)
          #endif
         #endif
      #endif

所有这些之后、我基于 mem_segure_define_3GB_BIOS.xs 文件创建了 mem_segure_define_BIOS.xs 文件、并将其放置在(Vision_path)/vision_sdk/apps/build/tda2px/中。 我所做的更改是 DDR3_size =(1024+2048)*MB 和 DDR3_base_size_0 = 1008*MB。

稍后、我在 CONFIG_a15.bld、CONFIG_ARp32.bld、CONFIG_C66.bld、CONFIG_M4.bld 文件中包含了 mem_segure_3GB_BIOS.xs。 添加

if (platformMem ="DDR_MEM_3G")

                    VAR MemSegDefine =     XDC.loadCapsule ("mem_segure_define_1_5gb_BIOS.xs");

之后

if (platformMem ="DDR_MEM_512M")

VAR MemSegDefine = XDC.loadCapsule ("mem_segure_define_BIOS.xs"); 



之后、我按如下方式设置 SBL:
-(vision_path)/vision_sdk/build/rtos/makerules (第127行。 pdk_SBL_build_options =$(pdk_build_options) EMIFMODE = DUAL_EMIF_3GB)
-(Vision_path)/ti_compons/drivers/pdk_01_09_00_17/packages/ti/boot/sbl_auto/sbl_lib/src/tda2xx/sbl_lib_config_tda2xx.h (第63行。 TDA2XX_EMIF_MODE 设置为(SBLLIB_DUAL_EMIF_3GB)
-(Vision_path)/ti_compons/drivers/pdk_01_09_00_17/packages/ti/boot/sbl_auto/sbl_utils/src/tda2xx/sbl_utils_tda2px_DDR_config.c 位于#if (TDA2XX_EMIF_MODE = SBLLIB_single_mif_mif_mif_mif_mif_mif_mif_mif_mif_mif_mif_mid)之后

#if (TDA2XX_EMIF_MODE = SBLLIB_DUAL_EMIF_3GB)
   {
       SBLLibPrintf (SBLLIB_TRACE_DEBUG、
                    "      非交错模式下的两个 EMIF (总共3GB)\n");
       /* ma_lisa_map_i */
       HW_WR_REG32 (SOC_MA_MPU_CONF_REGS_BASE + LSA_MAP_0、0x80700100U);
       HW_WR_REG32 (SOC_MA_MPU_CONF_REGS_BASE + LSA_MAP_1、0xC0600200U);
       /* DMM_LISA_MAP_I */
       HW_WR_REG32 (SOC_DMM_CONF_REGS_BASE + LSA_MAP_0、0x80700100U);
       HW_WR_REG32 (SOC_DMM_CONF_REGS_BASE + LSA_MAP_1、0xC0600100U);
   }
#endif。

我在 main.c 中稍微更改了 DDR 测试、将 DDR_SIZE EMIF1定义为0x7FFFFFFF、将 DDR_SIZE EMIF2定义为0x3FFFFFFF、还将 EMIF1_DDR_BASE_ADDRESS 定义为0x8000000和 EMIF2_DDR_BASE_ADDRESS
设置为0xC0000000。

问题是当我运行测试并尝试运行全内存读/写测试时、消息 I get on terminal is size of DDR is 0x0 (我在终端上获得的消息是 DDR 的大小为0x0)。 您是否可能知道为什么会发生这种情况?

此致、

Bosko

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

    我在 Lisa 映射中看到了一个错误。 您能否在两个位置将 LISA_MAP_1设置为0xC0600200U。

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

    我没有听到您的反馈、我假设您能够解决您的问题。
    如果不是、只需在下面发布回复(如果该线程由于超时而锁定、则创建新线程)。

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

    您好 Rishabh、

    很抱歉耽误你的回答。 我将 LSA_MAP_1更改为0xC0600200U、但仍具有相同的输出。 跳过第一个 DDR 测试用例。 我在 UART 上得到的唯一结果是 DDR 的大小为0x0。

    此致、

    Bosko

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

    在您最初的问题中、您已经提到了"EMIF1_DDR_BASE_ADDRESS 至0x80000000、EMIF2_DDR_BASE_ADDRESS 至0xC0000000"。
    您能否正确设置基址、因为您当前具有重叠的地址。

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

    您好 Rishabh、

    我更改了起始地址、但这没有帮助。 我还尝试将 EMIF1上的存储器大小从2GB 降低到1GB、但没有进展。

    此致、

    Bosko

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

    您能否删除所有更改并检查应用程序是否适合您。

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

    您好 Rishabh

    在进行任何更改之前、我运行512 MB 测试、工作正常。 我想先尝试将测试配置为在 EMIF1上使用2GB、然后再添加 EMIF2。

    此致、

    Bosko

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

    您是否使用 SBL 或 gels 运行 DDR 测试? 您能否先在 EMIF1上仅尝试1 GB。

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

    我正在使用 SBL。 没问题、我将首先尝试运行1 GB 并在此处发布结果。

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

    我设法让测试分别在 EMIF1上运行2 GB、在 EMIF2上运行1 GB、但我仍然不知道当我合并 EMIF1和 EMIF2时为什么测试不运行。

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

    这是一个非常有用的结果。 从0x8000_0000开始、只有2 GB 到0xFFF_FFFF。
    要一次测试3 GB,您需要配置 MMU。
    是否有一个特定的要求需要一次性测试所有 DDR?

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

    您好、Rishabh、

    问题是我们的系统具有3GB 的 RAM。 EMIF1为2GB、EMIF2为1GB。 它们可以单独工作、此时我们可以看到 EMIF1上为2GB、EMIF2上为1GB、但当我们将两个 EMIF 配置为协同工作时、在 Linux 下只能看到2GB。 您可能对这是什么原因有什么看法吗?

    此致、

    Bosko

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

    您能否查看此链接 :opbuwiki.dal.design.ti.com/.../DRA7x_4GB_DDR_SUPPORT

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

    您好、Rishabh、

    是否可以再次向我发送链接? 我无法打开这个。

    此致、

    Bosko

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

    该文档需要 NDA。
    您能否请您的 TI 代表提供此文档?

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

    您好 Rishabh、

    是否有任何有关如何更改 MMU 以进行 DDR 测试以测试完整的3GB 或更大容量的文档?

    此致、

    Bosko

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

    我们将在10月第一周结束前正式发布。
    您能等到该时间并自行选择版本了。

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

    我们发布了支持2 GB 以上 DDR 的版本。
    您可以从 software-dl.ti.com/.../index_FDS.html 中选择版本

    此致、
    Rishabh