TDA4VM: Unable to capture interrupt CSLR_R5FSS0_INTROUTER0_IN_MCSPI4_INTR_SPI_0

Part Number: TDA4VM

Hello,

     I want to commuication between mcu1_0 and mcu2_1, use spi mcu_mcspi2 and mcspi4.

      I can now use polling for SPI communication, but the interrupt method has failed all the time. I can't capture MCU 2_ 1. What should I do?

      Thank you very much, looking forward to your reply.

  • Hi Ye Ma,

    Can you please refer to the PDK example in ti-processor-sdk-rtos-j721e-evm-07_03_00_07\pdk_jacinto_07_03_00_29\packages\ti\drv\spi\example\mcspi_slavemode\src folder. This example demonstrates how to use this SPI instance to communicate between mcu and main domain. 

    Regards,

    Brijesh

  • I just refer to this example and the example in mcusw, but both of these communicate with MCU1_0 and MPU1_0. I am MCU1_0 and want to communicate with MCU2_1.

    I tried the CSLR_MAIN2MCU_LVL_INTRTR0_IN_MCSPI4_INTR_SPI_0 interrupt in MCU2_1, I can receive the interrupt, but the data is wrong.

    For the demo on the master side, I use \mcusw\mcuss_demos\inter_core_comm\ipc_spi_master。

    Can you give me some help? thank you very much.

  • when I use iterrupt, the first transfer is right, but others, the data is alwalys 0.

  • Hello Ye ma,

    ok, so you are now able to get the interrupt and even the first data. But somehow second data/frame is incorrect.

    Is the frames correctly sent from the TX? Are you using same example for this experiment? 

    Regards,

    Brijesh 

  • yes, I use the same example for this experiment. I think the frames from the TX is correct. 

    Now I have the following questions:


    1. What does the CSLR_MAIN2MCU_LVL_INTRTR0_IN_MCSPI4_INTR_SPI_0 interrupt mean? I don’t understand the meaning of MAIN2MCU. Why can’t I receive the CSLR_R5FSS0_INTROUTER0_IN_MCSPI4_INTR_SPI_0 interrupt?


    2. When I use the CSLR_MAIN2MCU_LVL_INTRTR0_IN_MCSPI4_INTR_SPI_0 interrupt, when the data I transmit is 40 bytes, I will receive the data for the first time, but the data is incorrect. When the data I transmitted was <=32 bytes, only the first time was correct, and the rest were all 0. I use a for loop to call the SPI_transfer function in the loop.


    This problem bothers me, looking forward to your reply.