Hi,
I plan to use a DMA channel for receiving CAN messages in a rotating buffer without any interruption (I plan to poll PBACTC - as i use only one DMA channel - to see if one message has been written in my buffer since my previous check).
My question is:
In the documentation (RM46 TRM) §16.2.8 Auto-Initiation:
When Auto-initiation Mode (AIM) bit of Channel Control Register (Section 16.3.2.4) register is enabled for
a channel and the channel is triggered by a software request for a block transfer, the channel will restart
again using the same channel information stored at the respective control packet after one block transfer
is completed. In the case of Hardware Request the channel needs to be retriggered each time after a
block is complete even if auto-initiation is enabled
And in the description of the HWCHENAS register for the HWCHENA bit:
Hardware channel enable bit. An active hardware DMA request cannot initiate a DMA transfer
unless the corresponding hardware enable bit is set.
The corresponding hardware enable bit is cleared automatically for the following conditions:
• At the end of a block transfer if the auto-initiation bit AIM (see CHCTRL) is not active.
• If an AHB bus error is detected for an active channel.
So, what is the expected action to "retriggered the hardware request channel" when both AIM and HWCHENA are set?
Bruno.