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.

[参考译文] TMS320F28388D:如何调试 MCAN 应用代码

Guru**** 2595805 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1070634/tms320f28388d-how-to-debug-mcan-application-code

部件号:TMS320F28388D

尊敬的专家:  

我的客户在运行“mCAN_Ex9_Transmit”示例并尝试使用断点调试应用程序或暂停执行时遇到问题。 他们正在使用外部 CAN 接收器。  

加载代码并运行示例后,我的客户希望调试代码并输入断点。  

他注意到,插入断点后,在断点处停止,然后让代码再次运行,CAN 通信不再工作。 因此,当进入 CPU 调试状态时,会发生一些故障。

是否有办法在不中断 MCAN 通信的情况下调试应用程序,或者不需要对整个设备进行扫描?

请告诉我,如果有方法只重置 MCAN 控制器/通信,这是否足以重新启动正确的 MCAN 数据包的 Tx/Rx?

谢谢,致以诚挚的问候,

格雷戈

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

    您好,Gregor,

    调试事件期间会发生时钟停止。 这可能在这里发挥作用。 出现这种情况时,是否可以检查 MCAN_CCCR 寄存器的值?

    关于重置 MCAN 控制器的问题,您可以使用“Sysctl_resetPeripheral (sysctl_Periph_RES_MCANA)”功能(而不是 POR)重置模块

    此致,

    普拉文

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

    你好,普拉文,  

    感谢您对此进行研究。 客户通过启用,即使在进入调试模式后,也能使 MCAN 通信正常运行

    "initParams.emulationEnable     = 0x1U;"

    将此值设置为1时,Tx_CAN 帧在离开调试状态后也被正确发送,并继续执行代码。  

    无需重置 CAN 控制器或设备。

    谢谢,致以诚挚的问候,

    格雷戈