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.

TMS320F28379D: Enable CAN peripherals while debugger is paused?

Part Number: TMS320F28379D
Other Parts Discussed in Thread: CODECOMPOSER

Tool/software:

Is there a way to enable the CAN peripherals while a debug session is paused?

I'm writing unit tests via DSS, I'd like my test script to pause the application, write a CAN msg, then manually invoke the application's CAN RX interrupt:

        # get the current location where DSSUtils paused (at end of initialization() called from stdby_Init())
        curLocation = self.__class__.dss_utils.debug_session.memory.readRegister("PC")
        
        # send a valid NOP cmd
        msgt = ntcanfd.CanMsgT()
        msgt.id11 = 0x018
        msgt.set_data8_len(8)
        msgt.set_data8_byte(0x11, 0x0, 0x0, 0x13, 0x88, 0xFF, 0xFF, 0x0)
                            
        # send CAN message in background
        result = self.can_net1.can_send(msgt)
        
        # invoke the CAN RX interrupt to make the application receive the CAN msg
        self.__class__.dss_utils.debug_session.memory.writeRegister("PC", CAN_rx_isr_start_address)
        bp = self.__class__.dss_utils.debug_session.breakpoint.add(CAN_rx_isr_end_address)
        self.__class__.dss_utils.debug_session.target.run()
        self.__class__.dss_utils.debug_session.breakpoint.remove(bp)
        
        # go back to the previous location (end of initialization())
        self.__class__.dss_utils.debug_session.memory.writeRegister("PC", curLocation)
        
        # continue to the end of stdby_Init
        bp = self.__class__.dss_utils.debug_session.breakpoint.add(stdby_Init_end_address)
        self.__class__.dss_utils.debug_session.target.run()
        self.__class__.dss_utils.debug_session.breakpoint.remove(bp)

However, whenever the debug session is paused, the CAN message is not being transmitted (I'm monitoring all CAN traffic with an external tool, ESD's CANreal).

If instead of pausing the application, I let it run in the background (via debug_session.target.runAsynch()), the CAN msg is transmitted successfully.

Thank you