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.

[参考译文] AM5716:GPMC CS0地址空间

Guru**** 2925550 points

Other Parts Discussed in Thread: AM5716

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/665837/am5716-gpmc-cs0-address-space

器件型号:AM5716

您好!

我想了解一下 GPMC CS0可以使用的空间。 我的理解是否正确?

从 GPMC 以外的其他位置引导后、应用程序不能使用 CS0的最低1-MIB 存储器空间[0x0000 0000 - 0x000F FFFFFFFFF]。 另一方面、在从 GPMC 引导时、可以使用该空间。 在 NAND 引导中、从0x0000 0000 0000引导。 在 XIP 引导中、MPU ROM 代码跳转至地址0x0800 0000而不是0x0000 0000。

我指的是以下文档。

AM 571 x TRM (SPRUHZ7G)
2.2 L3_MAIN 存储器映射
33.3通过 ROM 代码进行器件初始化

此致、
Kazu

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

    TRM 中的第2.2节规定:

    引导空间:
    -当使用适当的外部 SYS_BOOT 引脚配置从片上 ROM 引导时、最低的1-MIB 存储器空间[0x0000 0000–
    0x000F FFFFF]被重定向至片上引导 ROM 地址空间[0x4000 0000–0x400F FFFFF]。
    -从 GPMC 引导时,内存空间是 GPMC 地址空间的一部分。 复位时、0x0000 0000地址在芯片选择上可用
    存储器大小为16Mib.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Biser、

    感谢您的快速回复。

    [引用 USER="Biser Gatchev-XID"]-使用适当的外部 sys_boot 引脚配置从片上 ROM 引导时、最低的1-MIB 存储器空间[0x0000 0000–0x000F FFFFFFF]会重定向到片上引导 ROM 地址空间[0x4000 0000–0x400F FFF]。[/QUERPQE]

    如果 AM5716从 GPMC 以外的其他位置引导、是否意味着我的 CA15应用程序无法访问 CS0的最低1-MIB 存储器空间? CM4和 C66呢?

    MMU 是否用于在引导时重定向? 如果是、我认为我的应用程序可以通过更改 MMU 设置来访问此空间。

    请给我一些建议。

    此致、
    Kazu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已要求工厂团队进行评论。 他们将在这里发布。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Kazu、

    我认为、在引导过程的最初阶段、当 ROM 引导加载程序首次执行时、存在此限制、但您也希望将 GPMC 与 CS0结合使用。  在此初始启动时、通常分配给 GPMC CS0的 L3地址映射的底部1MB 会重新映射、以供 ROM 引导加载程序使用。  引导过程完成且加载了应用程序后、可以对 MMU 进行重新编程、以使用 GPMC CS0中存在的所有存储器。

    您为何关注这种低级行为?  所有这些都应由作为我们 PROC-SDK 一部分提供的代码进行管理。  具体而言、您是否在运行 Linux?  这将由 Uboot 管理。

    Tom

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

    您好、Tom、

    感谢您的支持。

    [引用 user="Tom Johnson 16214]\n 您为什么会关注这种低级行为?  所有这些都应由作为我们 PROC-SDK 一部分提供的代码进行管理。  具体而言、您是否在运行 Linux?  这将由 Uboot 管理。

    在我的电路板上、一个 SRAM (几 MB)被连接至 GPMC 的 CS0。 CA15无法访问地址0、因为 CS0不会变为活动状态。 但它似乎能够访问接下来的1 MB (0x0010 0000 - 0x0020 0000)。

    如果我需要设置 MMU 配置、您能告诉我如何更改方法吗? 我正在使用我自己的 RTOS。

    我认为 PDK 的 SBL_startup.c 中的 SBL_MMUInit 函数看起来像是重新分配地址0 (物理地址0到虚拟地址0)。 但我在 GEL 文件中找不到这样的说明。

    此致、
    Kazu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以在 SRAM 中使用物理地址设置 MMU、并将虚拟地址配置为0。

    Steve K.