工具/软件:
您好、TI 专家、
[在 SDK:0902]:
我想配置 C6X2 中的引脚、但解锁 MMR 失败:


状态= BOARD_FAIL;

看起来解锁 MMR 失败。
如何解决这个问题?
[在 SDK 中:0806]:
我):以下方法初始化引脚、这是成功的(μ s、但在 0902 初始化中不起作用

此致
Eason
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.
工具/软件:
您好、TI 专家、
[在 SDK:0902]:
我想配置 C6X2 中的引脚、但解锁 MMR 失败:


状态= BOARD_FAIL;

看起来解锁 MMR 失败。
如何解决这个问题?
[在 SDK 中:0806]:
我):以下方法初始化引脚、这是成功的(μ s、但在 0902 初始化中不起作用

此致
Eason
你好、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}
};你好、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