我正在使用CCS调试2.8377万D。 在我的应用程序中,我要分别重置CPU1和CPU2。 F2837xD外设驱动程序库提供了一个名为 sysctl_resetDevice()的函数来执行看门狗重置。
它适用于CPU1,即在CPU1看门狗重置后,CPU1的PC将再次进入main()。 但是,CPU2无法正常工作。 CPU2的看门狗重置后,PC将转至0x3fe44e,即ESTOP0。 同时,CPU1运行正常。 然后使用CCS重置并重新启动CPU2,CPU2可以再次运行。
问题1:CPU2的CCS复位和看门狗复位有何区别?
根据TRM, CPU2的CCS复位和看门狗复位如下所示。
CPU2重置看门狗后,为什么CPU2不能再次转至main()?
问题2: 在仿真模式下,CPU2的引导顺序是什么?
在我的项目中,CPU1不发送IPC命令来引导CPU2。 这是否意味着CPU2可以在仿真模式下自行启动而无需CPU1控制?
当CPU2进入等待引导模式时,它将保持复位并等待CPU1发出的引导命令。 仿真模式下的CPU2是否如此?
问题3:CPU1是否有任何方法可以在不中断CPU1的情况下重置CPU2?

