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.

[参考译文] TDA2SG:TDA2SG

Guru**** 2547260 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/613857/tda2sg-tda2sg

器件型号:TDA2SG

您好!

我们的一位客户设计了基于 TDA2x 的定制硬件。 在 TDA2x 自定义 目标硬件中,它们使用双内存接口(SBLLIB_DUAL_EMIF_1GB_512MB)。 执行随附文件中列出的更改后、我们能够在 EVM 和客户基于 TDAx 的定制 硬件上运行 AppImage。

当我们尝试使用此新配置分配非缓存段中的内存时,我们将得到“MDMA 错误”,这是我们在单个内存接口(SBLLIB_SINGLE_EMIF_512MB)中得到的,

请帮帮我。

此致

Socratese2e.ti.com/.../TargetBoardModification.xlsx

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

    您使用的 Starterware 版本是什么?

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

    我们使用 starterware_01_06_00_16和 Vision SDK 2.10。

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

    你好、Socrates、

    您能告诉我您正在使用的 Ammu 和 Lisa 地图配置吗?
    另外,您要尝试分配的0xB*区域中的地址会导致 MDMA 错误,该地址是什么?

    此致、
    Rishabh

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

    您好、Rishabh、

    PFA Ammu 配置文件、下面是我们正在使用的 Lisa 映射配置
    /* ma_lisa_map_i */
    HW_WR_REG32 (SOC_MA_MPU_CONF_REGS_BASE + LSA_MAP_0、0x80600200U);
    HW_WR_REG32 (SOC_MA_MPU_CONF_REGS_BASE + LSA_MAP_1、0xC0500100U);
    /* DMM_LISA_MAP_I */
    HW_WR_REG32 (SOC_DMM_CONF_REGS_BASE + LSA_MAP_0、0x80600200U);
    HW_WR_REG32 (SOC_DMM_CONF_REGS_BASE + LSA_MAP_1、0xC0500100U);

    我们尚未修改这两种配置,两者都是 TI 提供的默认配置。

    此致、
    Socratese2e.ti.com/.../Ammu1_5F00_bios.cfg

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

    您需要修改 Ammu、因为这是针对512 MB 内存映射完成的。 您应该将0xA000_0000逻辑地址映射到0xA000_0000物理地址。

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

    您好、Rishabh、

    根据您的建议、将0xA000_0000逻辑映射到0xA000_0000物理地址。 但是,它不会引导并显示  “跳转到 MPU CPU0应用程序”。

    当我恢复更改时、它将正确启动。 请找到此链的随附屏幕截图。

    谢谢

    此致
    索格拉茨

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

    您必须进行以下更改、才能将 Vision SDK 存储器映射从512 MB 修改为1.5 GB (通常需要用户修改与地址转换相关的代码部分)。
    VPDMA 初始化
    A15 MMU
    M4 Ammu
    4. MemoryMap:将 DDR3_base_ADDR_1转换为512MB 的代码段应该被注释掉
    5.将 SBL 构建为1.5 GB,以便正确设置 LISA 映射。

    您能否参阅 Vision SDK 中的存储器映射文档(VisionSDK_UserGuide_MemoryMap.pdf)并进行相应的更改?

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

    根据您的建议、我们已进行了修改
    M4 Ammu
    2.将 SBL 构建为1.5 GB

    我们无法获得有关以下内容的大量信息
    3. VPDMA 初始化
    4. A15 MMU 和
    5.内存映射


    您能否提供有关(3)、(4)和(5)在 VSDK 中进行更改的位置的更多见解?

    谢谢

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

    你好、Socrates、

    请查找以下信息:

    VPDMA:

    您将把0xA000_0000映射到0xA000_0000、因此地址转换应该为 false。

    ti_compones\drivers\中 \src\VPS\src\vpsdrv_init.c 进行以下更改:

    vpsLibInitPrms.isAddrTransReq = false; 

    A15 MMU:

    0xA000_0000映射应更改为一对一映射。 在 VISION_SDK\src\MAIN_APP\tda2xx\a15_0\a15_0.cfg 中、进行以下更改:

    对于(var i=0xA0000000;i < 0xC0000000;i = i + 0x00200000){
    //每个“块”描述符条目跨越2MB 地址范围
    Mmu.setSecondLevelDescMeta(i、i、attrs2);
    } 

    3.内存映射

     将 DDR3_base_ADDR_1转换为512MB 的代码段应该被注释掉(ddr3_base_ADDR_1 = ddr3_base_ADDR_1_512*MB)。 应在 xs 文件中进行相关更改

    此致、

    Rishabh

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

    您好、Rishabh、

    根据 您的建议进行了更改。 但是 MDMA 错误尚未解决。

    请查找随附的错误 日志。

    以下更改是否正确? 请提供建议。

    1) M4 Ammu:

    路径:..\VISION_SDK\src\MAIN_APP\tda2xx\ipu1_0

    文件名:Ammu1_bios.cfg 和

    行号:212

    上一页:
    entry.logicalAddress = 0xA0000000;
    entry.translatedAddress = 0x8000000;
                   
    存在:
    entry.logicalAddress = 0xA0000000;
    entry.translatedAddress = 0xA0000000;
                   

    2) 2)将 SBL 构建为1.5 GB、以便正确设置 LISA 映射

    路径:..\VISION_SDK\build\makerules
                   
    文件名:build_SBL.mk
                   
    第46行

    SBL_TDA2XX_OPTIONS =$(SBL_common_options) platform=tda2xx EMIFMODE = DUAL_EMIF_1GB_512MB FORCE_OPPMODE = true OPPMODE = OPP_nom PM_Optimize = true

    谢谢

    此致

    索格拉茨

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

    您能否共享其他更改、即 A15 MMU 和存储器映射。
    谢谢。

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

    正如您之前的回复中所述、我们更新了 A15 MMU 和存储器映射。

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

    您能否共享存储器映射更改的 xs 文件?

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

    您好、Rishabh、

    请查找附加的文件。


    1号)

    CONFIG_M4.%ld 文件中的更改(第18行)

    if (A15TargetOS =>"BIOS")

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

    在上面的代码段中、调用了1024MB.xs e2e.ti.com/.../MemoryMapChanges.zipfile。


    2)

    更改了直纹线、mk (行号:212)

    ifeq ($(平台)、tda2xx-EVM)
    ifeq ($(DDR_MEM)、)
     DDR_MEM:= DDR_MEM_1024M
    字节序
    字节序

    将 DDR_MEM_512M 更改为 DDR_MEM1024M。


    谢谢

    此致
    索格拉茨

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

    你好、Socrates、

    您要使用1 GB 还是1.5 GB? 我认为该线程大约为1.5 GB。 请参阅随附的文件 e2e.ti.com/.../mem_5F00_segment_5F00_definition_5F00_1_5F00_5gb_5F00_bios.xs.txt 、分析差异、然后尝试。

    此致、

    Rishabh