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.

TMS570LS1227: DMA handler for CAN messages: handling different incoming messages

Expert 2105 points

Part Number: TMS570LS1227

What's the best way to setup this up : If I want multiple message boxes to trigger DMA transfer to where I need straight?

So I have one message box transfer working with DMA through IF3. In setup,  while setting up control packet , you specify source & destination, and I'm not sure if it's possible to setup different destinations based on message box which triggered the transfer.. ?

Is there way to have a different DMA interrupt for different message box or not?

  • I'm not sure if it's possible to setup different destinations based on message box which triggered the transfer.. ?

    Yes, you can modify the destination address dynamically for mail box DMA transfer. When the current DMA transfer is completed, update the DMA destination address:

    dmaRAMREG->PCP[DMA_CH0].IDADDR  = (uint32)&RX_NEW_Address;

    Is there way to have a different DMA interrupt for different message box or not?

    Yes, you can use different DMA interrupt for DMA channels. For example DMA channel 0 use FTC, but DMA channel 1 uses BTC, etc.

  • Yes, you can modify the destination address dynamically

    Don't quite like modifying it dynamically, I would like to set it once with no change.

    Yes, you can use different DMA interrupt for DMA channels. For example DMA channel 0 use FTC, but DMA channel 1 uses BTC, etc.

    Mm, I'm not understanding the suggestion: are you saying, I can configure the _same_  request line  -  IF3 of DCAN1 - with more than one DMA channel, and this would allow to automatically transfer from DCAN into designed RAM address, based on message received ..?

    That would be what I want, but I dont see how, without looking into what was received in IF3 every single time ...

  • I am sorry. I mis-understood your question.  One DMA request line can only be mapped to 1 DMA channel.