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.

[参考译文] TDA4VM:如何在 C6x2?中配置 GPIO

Guru**** 2451970 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1547803/tda4vm-how-to-config-gpio-in-c6x2

器件型号:TDA4VM


工具/软件:

您好、TI 专家、

[在 SDK:0902]:

我想配置 C6X2 中的引脚、但解锁 MMR 失败:

状态= BOARD_FAIL;

看起来解锁 MMR 失败。

如何解决这个问题?



[在 SDK 中:0806]:

我):以下方法初始化引脚、这是成功的(μ s、但在 0902 初始化中不起作用




此致
Eason

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

    您好 TI 专家

    有什么建议吗?

    此致
    Eason

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

    您好、


    我将在内部讨论这个主题。 我会尽快与您联系。

    此致、
    Sivadeep

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

    你好、Sivadeep

    TI 专家有任何建议吗?

    此致
    Eason

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

    嗨、Sivadeep

    TI 专家有任何建议吗?

    此致
    Eason

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

    你好、Sivadeep

    TI 专家有任何建议吗?

    此致
    Eason

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

    您好、

    引脚多路复用是否设置正确?

    对延迟表示歉意—我目前正在检查此问题、并将在接下来的两天内更新您。

    此致、

    Sivadeep

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

    你好、Sivadeep

    是否正确设置了 pinmux?

    是的。

    以下是我的 pinmux 设置 cfg:

    static pinmuxPerCfg_t gMcasp4PinCfg[] =
    {
        /* MyMCASP4 -> MCASP4_ACLKX -> AE21 */
        {
            PIN_PRG1_PRU0_GPO18, PIN_MODE(12) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyMCASP4 -> MCASP4_AFSX -> AH21 */
        {
            PIN_PRG1_PRU0_GPO19, PIN_MODE(12) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyMCASP4 -> MCASP4_AXR0 -> AG21 */
        {
            PIN_PRG1_PRU1_GPO5, PIN_MODE(12) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyMCASP4 -> MCASP4_AXR1 -> AC21 */
        {
            PIN_PRG1_PRU1_GPO7, PIN_MODE(12) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyMCASP4 -> MCASP4_AXR2 -> Y23 */
        {
            PIN_PRG1_PRU1_GPO8, PIN_MODE(12) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyMCASP4 -> MCASP4_AXR3 -> AF21 */
        {
            PIN_PRG1_PRU1_GPO9, PIN_MODE(12) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        {PINMUX_END}
    };
    
    static pinmuxPerCfg_t gMcasp10PinCfg[] =
    {
        /* MyMCASP10 -> MCASP10_ACLKX -> U23 */
        {
            PIN_RGMII5_TX_CTL, PIN_MODE(12) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyMCASP10 -> MCASP10_AFSX -> U26 */
        {
            PIN_RGMII5_RX_CTL, PIN_MODE(12) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyMCASP10 -> MCASP10_AXR0 -> V28 */
        {
            PIN_RGMII5_TD3, PIN_MODE(12) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        /* MyMCASP10 -> MCASP10_AXR2 -> U29 */
        {
            PIN_RGMII5_TXC, PIN_MODE(12) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        },
        {PINMUX_END}
    };
    
    static pinmuxPerCfg_t gI2c4PinCfg[] =
    {
        /* MyI2C4 -> I2C4_SCL -> AD19 */
        {
            PIN_PRG1_MDIO0_MDIO, PIN_MODE(2) | \
            ((PIN_PULL_DIRECTION | PIN_INPUT_ENABLE) & (~PIN_PULL_DISABLE))
        },
        /* MyI2C4 -> I2C4_SDA -> AD18 */
        {
            PIN_PRG1_MDIO0_MDC, PIN_MODE(2) | \
            ((PIN_PULL_DIRECTION | PIN_INPUT_ENABLE) & (~PIN_PULL_DISABLE))
        },
        {PINMUX_END}
    };
    
    static pinmuxPerCfg_t gI2c6PinCfg[] =
    {
        /* MyI2C6 -> I2C6_SCL -> W2 */
        {
            PIN_I3C0_SCL, PIN_MODE(4) | \
            ((PIN_PULL_DIRECTION | PIN_INPUT_ENABLE) & (~PIN_PULL_DISABLE))
        },
        /* MyI2C6 -> I2C6_SDA -> W1 */
        {
            PIN_I3C0_SDA, PIN_MODE(4) | \
            ((PIN_PULL_DIRECTION | PIN_INPUT_ENABLE) & (~PIN_PULL_DISABLE))
        },
        {PINMUX_END}
    };
    
    static pinmuxModuleCfg_t gI2cPinCfg[] =
    {
        {4, TRUE, gI2c4PinCfg},
        {6, TRUE, gI2c6PinCfg},
        {PINMUX_END}
    };
    
    static pinmuxModuleCfg_t gMcaspPinCfg[] =
    {
        {4, TRUE, gMcasp4PinCfg},
        {10, TRUE, gMcasp10PinCfg},
        {PINMUX_END}
    };
    
    static pinmuxBoardCfg_t MainPinmuxData[] =
    {
        {0, gI2cPinCfg},
        {1, gMcaspPinCfg},
        {PINMUX_END}
    };


    此致
    Eason

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

    尊敬的 Eason:

    这是随机发生的、还是每次都发生?

    您能否将 8.2 中使用的相同代码集成到 9.2 中、并检查是否出现相同的错误?

    此外、是否触发了任何错误代码或中断、或者在调试期间执行是否跳转到另一个位置?

    此致、

    SIvadeep

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

    你好、Sivadeep

    这是随机发生的、还是每次发生?

    每次。

    您能否将 8.2 中使用的相同代码集成到 9.2 中并检查是否发生相同的错误?

    我将 0806 的代码准确地集成到 0902 上、但在设置引脚多路复用时、它在 0806 上工作、但在 0902 上不工作。

    另外、是否触发了任何错误代码或中断、或者在调试期间执行是否跳转到另一个位置?

    在 CCS 调试期间、没有触发任何异常、也不是硬件错误。

    顺便说一下、我使用 0806 上的 SPL 启动模式和 0902 上的 SBL 启动模式。 是否需要在 SBL 中设置其他内容?

    您能否使用上面提到的 pinmux 配置成功初始化 C6X_2?


    此致
    Eason

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

    尊敬的 Eason:

    它看起来像是解锁 MMR 失败。

    您知道 MMR 解锁中返回故障的位置吗?

    顺便说一下、我使用 0806 上的 SPL 启动模式和 0902 上的 SBL 启动模式。 我是否需要在 SBL 中设置任何其他内容?

    您在使用 SBL 进行引导时是否遇到任何问题? SBL 中也应该有一个 MMR 解锁、这会失败吗?

    您能否使用上面提到的 pinmux 配置成功初始化 C6X_2?
    [/报价]

    您能否提供有关您正在使用哪些内核以及正在运行哪些内核的更多信息? 为什么要尝试从 C6x 设置此 pinmux?

    谢谢、

    Neehar

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

    嗨、Neehar

    您知道 MMR 解锁中返回失败的位置吗?

    通过“Board_pinmuxKickctrl"返回“返回:

    ]使用 SBL 引导是否有任何问题? SBL 中也应该有一个 MMR 解锁、这会失败吗?

    SBL 在 MCU1_0 中运行、并在启动时不会出现任何问题。

    根据我的调试结果、MMR 解锁在 MCU1_0、MCU2_0 或 MCU3_0 上的启动期间始终不会失败;它仅在 C6x 上失败。

    您能提供有关您正在使用哪些内核以及正在运行哪些内核的更多信息吗? 为什么您尝试从 C6x 设置此 pinmux?

    我想在 C6X_2 中使用 I2C 和 McASP、但我不想使用 app_init () 中的引脚初始化函数、这将初始化所有引脚(包括其他内核使用的引脚)。 因此、我只想初始化 C6X_2 中使用的引脚。 在我们的工程中,使用的所有内核不会在 app_init () 中调用引脚初始化函数,而是使用相同的初始化接口初始化自己的引脚。 但是、初始化在其他内核中可以正常工作、但在 C6X_2 中失败。


    此致
    Eason

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

    嗨、Neehar

    我想我找到了这个问题、可能是 SDK 中有一个错误。

    在 C6x 上解锁 MMR 失败、但我不知道为什么。

    在其他 R5F 内核上不会发生这种情况。

    因此、只需在 C6x 上配置 RAT。

    此致
    Eason