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.

[参考译文] AM3352:AM335x GPMC 与 FPGA 的通信应如何处理?

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1043276/am3352-what-should-be-done-for-am335x-gpmc-communication-with-fpga

器件型号:AM3352
Thread 中讨论的其他器件:SysConfig

我们开发了一个具有 Altera FPGA 的 AM335x 板、其与 AM335x 的接口是 GPMA。

我们使用了20位地址、16位地址与数据复用。 下面是由 PinMux 软件生成的 dtsi:

我们使用的 TI SDK 为6.0与 Linux 内核3.2、原理图如下所示:

e2e.ti.com/.../gsc_2D00_004_2D00_g10_2D00_lch00core_5F00_va.pdf

我的问题:

1.是 pinmux 还行,因为它与 TRM 的图7-3 GPMC 和16位地址/数据复用存储器有很大不同。
我们不使用 beON_CLE BE1n WPN 等待信号。 我们使用 GPMC_A[16]-GPMC_A[19](R13、V14、U14、T14)作为 A16-A19

除了6个配置寄存器外、还应采取哪些措施让 GPMC 与 FPGA 正常配合工作。

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

    您好、Mianbo、

    我会将您的查询路由至我们的 GPMC HW 专家、以获取有关您的设计的意见、 但我只想提一下、内核3.2的 SDK 6.0是8年前发布的、不再受支持、请计划在您的设计中使用最新的 Processor SDK Linux 版本。

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

    您好、Mianbo、

    1.我认为 dtsi 文件中有错误。

    在多路复用地址数据16位器件中、ZCZ 焊球 R13:GPMC_A[0]永远不会被使用。

    A16出现在位于 ZCZ 封装 V14的 GPMC_A[1]引脚上。

    [引用 userid="500936" URL"~/support/processors-group/processors/f/processors-forum/1043276/am3352-what-should-be-done-for-am335x-gpmc-communication-with-fpga "]我们使用 GPMC_A[16]-GPMC_A[19](R13、V14、U14、T14)作为 A16-A19

    根据 TRM 和 SysConfig 工具(1.9.0+2015)、您应该正在使用...
    GPMC_A[16]-GPMC_A[19](V14、U14、T14、R14)在 Mux_mode 0中作为 A16-A19"(而不是 Mux_mode 4)。

    这与数据表中的表4-2引脚属性和表7-5相对应。 TRM 中的 GPMC 引脚复用选项。

    请参阅 https://dev.ti.com/sysconfig 上的 SysConfig 工具


    SysConfig 工具的 dtsi 输出(1.9.0+2015):


    TRM 表7-5. GPMC 引脚复用选项

    2、共享7个 GPMC 配置寄存器的内容、我可以看一下。

    此致、
    标记

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

    @刘斌。 我知道 SDK 6.0非常旧。  但是、我们只想评估硬件平台、SDK 6.0是可以在不做太多修改的情况下工作的版本、因为我们在之前的硬件中使用了它。 SDK 7.0等其他版本无法正确引导、可能需要付出很大的努力才能移植、并且评估任务具有时间限制。 不过、在硬件评估正常后、我们将考虑使用7.0等更新的 SDK。

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

    @  dtsi 文件是根据我们的硬件设计生成的。 您可以检查附件文件中的原理图。  那么、您是否意味着 我们的硬件设计中存在错误? 这就是我想知道的问题。

    7个配置寄存器的内容如下:

    [507.584747] FPGA_GPMC_伪 信息:TEST_GPMC.c (106)_GPMC_show_conf:GPMC CONF1:0x00001000
    [507.593475] FPGA_GPMC_伪 信息:TEST_GPMC.c (108)_GPMC_show_conf:GPMC CONF2:0x001e1e01
    [507.602203] FPGA_GPMC_伪 信息:TEST_GPMC.c (110)_GPMC_show_conf:GPMC CONF3:0x00080300
    [507.610931] FPGA_GPMC_伪 信息:TEST_GPMC.c (112)_GPMC_show_conf:GPMC CONV4:0x1c091c09
    [507.619628] FPGA_GPMC_伪 信息:TEST_GPMC.c (114)_GPMC_show_conf:GPMC Conf5:0x04181f1f
    [507.628356] FPGA_GPMC_伪 信息:TEST_GPMC.c (116)_GPMC_show_conf:GPMC CONF6:0x00000fcf
    [507.637084] FPGA_GPMC_伪 信息:TEST_GPMC.c (118)_GPMC_show_conf:GPMC CONF7:0x00000f48

    BTW、是否有方法从用户级应用程序中设置和读取7个配置寄存器的内容?