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.

[参考译文] PROCESSOR-SDK-DRA8X-TDA4X:PROCESSOR-SDK-DRA8X-TDA4X

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/905167/processor-sdk-dra8x-tda4x-processor-sdk-dra8x-tda4x

器件型号:PROCESSOR-SDK-DRA8X-TDA4X

我们需要在 TDA4X-EVM 上驱动 MCAN 3-5-7、但未找到相关的配置信息。 

是否有相应的配置文件可以驱动相应的 MCAN。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您能否查看这些示例是否有助于:

    此致、

    Yordan

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

    此演示应用仅适用于 MCAN0 MCAN4 MCAN9和 MCAN11、但我找不到 MCAN1 MCAN2 MCAN3 MCAN5 MCAN7的驱动程序。  我找不到这些 MCAN 引脚配置。  

    例如:

    空 CanApp_PlatformInit()
        uint32 regVal = 0U;
        /* 解锁     分区 7的锁定密钥寄存器 :IO 板
              MAIN_CTRL_MMR 中的配置寄存器*/
        /* 写入 分区 7 锁定 密钥 0 寄存器 */
        CSL_REG32_WR (CSL_WKUP_CTRL_MMR0_CFG0_BASE + 0x1D008、 0x68EF3490);
        /* 写入 分区 7 锁定 密钥 1 寄存器 */
        CSL_REG32_WR (CSL_WKUP_CTRL_MMR0_CFG0_BASE + 0x1D00C、 0xD172BC5A);
        /* 检查  解锁 */
        regVal = CSL_REG32_RD (CSL_WKUP_CTRL_MMR0_CFG0_BASE + 0x1D008);
        while ((regVal & 0x1) != 0x1U)
        {
            regVal = CSL_REG32_RD (CSL_WKUP_CTRL_MMR0_CFG0_BASE + 0x1D008);
        }
        /* 解锁 完成 */
        /* 以下 代码 将  在     后续 版本 中被端口模块取代*/
    #if 已定义 (build_MCU1_0)
        /* MCU MCAN 0 Tx 焊盘 配置 */
        regVal = CSL_REG32_RD (CSL_WKUP_CTRL_MMR0_CFG0_BASE + 0x1C0A8U);
        regVal &= 0U;
        regVal |= 0x60000U;
        CSL_REG32_WR (CSL_WKUP_CTRL_MMR0_CFG0_BASE + 0x1C0A8U、 regVal);
        /* MCU MCAN 0 Rx 焊盘 配置 */
        regVal = CSL_REG32_RD (CSL_WKUP_CTRL_MMR0_CFG0_BASE + 0x1C0ACU);
        regVal &= 0U;
        regVal |= 0x60000U;
        CSL_REG32_WR (CSL_WKUP_CTRL_MMR0_CFG0_BASE + 0x1C0ACU、 regVal);
        /* MCU MCAN 1 Tx 焊盘 配置 */
        regVal = CSL_REG32_RD (CSL_WKUP_CTRL_MMR0_CFG0_BASE + 0x1C0C0U);
        regVal &= 0U;
        regVal |= 0x60001U;
        CSL_REG32_WR (CSL_WKUP_CTRL_MMR0_CFG0_BASE + 0x1C0C0U、 regVal);
        /* MCU MCAN 1 Rx 焊盘 配置 */
        regVal = CSL_REG32_RD (CSL_WKUP_CTRL_MMR0_CFG0_BASE + 0x1C0C4U);
        regVal &= 0U;
        regVal |= 0x60001U;
        CSL_REG32_WR (CSL_WKUP_CTRL_MMR0_CFG0_BASE + 0x1C0C4U、 regVal);
    #endif //build_MCU1_0

    #if 已定义 (build_MCU2_1)

        /* 修复 SDK 错误, flynnpeng 2020-5-14  */
        /* 解锁     分区 7的锁定密钥寄存器 :IO 板
              MAIN_CTRL_MMR 中的配置寄存器*/
        /* 写入 分区 7 锁定 密钥 0 寄存器 */
        CSL_REG32_WR (CSL_CTRL_MMR0_CFG0_BASE + 0x1D008、 0x68EF3490);
        /* 写入 分区 7 锁定 密钥 1 寄存器 */
        CSL_REG32_WR (CSL_CTRL_MMR0_CFG0_BASE + 0x1D00C、 0xD172BC5A);
        /* 检查  解锁 */
        regVal = CSL_REG32_RD (CSL_CTRL_MMR0_CFG0_BASE + 0x1D008);
        while ((regVal & 0x1) != 0x1U)
        {
            regVal = CSL_REG32_RD (CSL_CTRL_MMR0_CFG0_BASE + 0x1D008);
        }
        /* 结束 修复 SDK 错误, flynnpeng 2020-5-14 */

        /* 主 MCAN 0 Tx 焊盘 配置 */
        regVal = 0x60000U;
        CSL_REG32_WR (CSL_CTRL_MMR0_CFG0_BASE + 0x1C20CU、 regVal);
        /* 主 MCAN 0 Rx 焊盘 配置 */
        regVal = 0x60000U;
        CSL_REG32_WR (CSL_CTRL_MMR0_CFG0_BASE + 0x1C208U、 regVal);
        /* 主 MCAN 4 Tx 焊盘 配置 */
        regVal = 0x60006U;
        CSL_REG32_WR (CSL_CTRL_MMR0_CFG0_BASE + 0x1C020U、 regVal);
        /* 主 MCAN 4 Rx 焊盘 配置 */
        regVal = 0x60006U;
        CSL_REG32_WR (CSL_CTRL_MMR0_CFG0_BASE + 0x1C024U、 regVal);
        /* 主 MCAN 9 Tx 焊盘 配置 */
        regVal = 0x60006U;
        CSL_REG32_WR (CSL_CTRL_MMR0_CFG0_BASE + 0x1C0CCU、 regVal);
        /* 主 MCAN 9 Rx 焊盘 配置 */
        regVal = 0x60006U;
        CSL_REG32_WR (CSL_CTRL_MMR0_CFG0_BASE + 0x1C0D0U、 regVal);
        /* 主 MCAN 11 Tx 焊盘 配置 */
        regVal = 0x60006U;
        CSL_REG32_WR (CSL_CTRL_MMR0_CFG0_BASE + 0x1C11CU、 regVal);
        /* 主 MCAN 11 Rx 焊盘 配置 */
        regVal = 0x60006U;
        CSL_REG32_WR (CSL_CTRL_MMR0_CFG0_BASE + 0x1C120U、 regVal);
    #endif //build_MCU2_1.
        /* 将 MCAN 收发器 从  STB 模式( 即 正常 模式 )中退出*/
        CanApp_EnableResumer();
    此功能仅设置 MCAN0 MCAN4 MCAN9 MCAN11引脚。
    谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    TDA4 SoC 支持16个 CAN、即 SoC 中有16个 MCAN 控制器- MCU 域中有2个、而 MCU 域中有14个  

    在 TDA4 EVM 上、我们暴露了以下(突出显示的) CAN 端口:

    MCU_MCAN0、MCU_MCAN1、MCAN0和 MCAN2位于基本通用处理器板上、其余 MCAN4、5、6、7、9和11则暴露在 GESI 子卡上。

    [引用 user5354548"]我们需要在 TDA4X-EVM 上驱动 MCAN 3-5-7,但未找到相关的配置信息。

    即使我们没有其余 CAN 实例的配置、我们也可以在内部回送模式下运行它们、但如果您正在寻找 MCAN3、则 EVM 上无法运行除内部回送之外的任何内容。

    对于 MCAN5和 MCAN7:在进行正确的引脚多路复用并为其启用收发器后、可以使用这些引脚。  

    问)由于您想具体使用 MCAN3、5和7、有什么具体原因?

    注意:以上都假设您有 GESI 子卡。

    此致、

    Karan