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.

[参考译文] TDA2xx L3地图放大器;IPU

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/674056/tda2xx-l3-map-ipu

您好!

IPU 子系统 ARMS 有一个位带别名区、可屏蔽部分 L3映射-特别是 EVE 配置和 EDMA_TPCC、EDMA_TC0、 EDMA_TC1。

其中每个都是 L3上的1MB 区域。

我正在尝试查看我是否只能使用小/中页在 IPU 上映射这些区域(使它们可见)、而不能使用其中一个大页(我需要其他映射)。

根据我看到的、对于 EVE、在所有初始化和配置阶段(加载存储器、配置 MMU、...)之后、 最有可能的是、只有邮箱才实际需要从 IPU 中可见(假设 EVE/DSP 将配置 EVE EDMA)-我可以使用一些小页面(所有4个 EVE 总共8个小页面)映射这些小页面

对于 EDMA 位置-从我看到的结果来看、每个1MB 区域中只有一小部分实际上映射到寄存器:

EDMA_TPCC:实际映射空间=~ 0x4330 0000 - 0x4330 8020 <=~ 33K -可使用中等页面映射

EDMA_TPCC:实际映射空间=~ 0x4340 0000 - 0x4340 0358 <=~ 1K -可使用小页面进行映射

EDMA_TPCC:实际映射空间=~ 0x4350 0000 - 0x4350 0358 <=~ 1K -可以使用小页面进行映射

我缺少什么吗?  

您能不能告诉我上面的映射是否足够并且确实将覆盖由 IPU 位带(0x4200 0000 - 43FF FFFF)屏蔽的区域的所有实际物理映射空间?

谢谢

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

    您还需要映射整个 IPU RAM。 您能否共享您计划使用的全部 Ammu 配置。
    我可以回顾一下、并指出您是否缺少任何关键领域。

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

    我仍在进行配置-考虑到 Ammu 页面的限制和我们的需求,确定我的所有选项...
    至于您的评论-我的意思是、我仍然保留了40000000 -> 40000000的大页面、以便映射 RAM。 我只想看看我是否能够保存在大页面上、而不是再次映射60000000 -> 40000000我只能使用较小的页面来到达由位带别名区域屏蔽的所需区域。
    我不是只留下6000000 -> 40000000、因为我主要想保留 OCMC 地址、因为它们是这样、我可以在内核之间共享指针、而不是重新映射所有其他内核视图

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

    大家好、

    我指的是大小为64KB 的 IPU RAM。 您应该将0x0:0x10000映射到0x55020000:0x55030000。 您将使用哪些页面来映射它?

    此致、
    Rishabh

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

    您好、Rishabh、
    我忘了在上一篇文章中提到,我仍然保留 了映射为0至55020000的一个小介质页。
    我认为我不需要将整个 RAM 映射到0 -一旦我到达入口点、我可以始终跳转到实际的 RAM 地址(在5502范围内) 、但我认为无论如何、我将有一个涵盖整个 RAM 的自由媒体页面
    我正在尝试查看总共4个 DDR 中是否有3个大页面、其中第四个页面是40000000到40000000的映射、涵盖40000000 - 60000000。 唯一的问题是由位带别名区屏蔽的区域-我尝试查看通过仅使用中小型页面执行我之前提到的映射是否足以覆盖由位带别名屏蔽的所有必要位置。

    谢谢
    家伙

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

    您可以执行以下映射:
    小页:保留小页0以将0x0映射到0x55020000,而小页1以将0x40000000映射到0x55080000。 对 EVE1、2、3、4邮箱使用剩余的8页。
    2.介质页:使用1介质页进行 EDMA 从0x43300000到0x63300000的映射。
    大页面:使用1大页面将0x4000_0000映射到0x4000_0000。

    使用此配置、您可以免费获得三个大页面用于映射 DDR。 您还可以免费获得中等页面。
    或者、您可以使用媒体页面来映射一个 EVE 的邮箱、并免费提供两个小页面。

    如果您使用 IPC 软件包、则需要映射系统邮箱5、6、7、8。 您可以通过分别使用邮箱5、6和邮箱7、8的两个小页来实现它。 在这种情况下、您必须为 EVE 邮箱使用一个中等页面、并且您不能免费使用中等/小页面。

    另一个注意事项是0x40000000-0x5FFFFFFF 是从不执行(XN)区域、这意味着您可以进行数据访问、但指令访问将导致故障异常。

    此致、
    Rishabh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、谢谢。
    这似乎很好,但是 EDMA 区域:EDMA_TC0、EDMA_TC1 -我也不需要访问这些区域(您描述的映射不包括它们)?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、

    通常我们不需要配置 TPTC 寄存器、它们会根据 EDMA TPCC 配置由硬件自动更新。

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

    大家好、谢谢。

    我是否可以相信用于 EDMA 处理的所有可用 API (CSL (裸机)或 emda_LLD (取决于 BIOS)都不会尝试写入/访问这些(EDMA_TC0、EDMA_TC1)区域?

    谢谢、
    家伙

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

    是的、没错。 无法从 CSL 或 EDMA LLD 访问 TPTC。

    此致、
    Rishabh