Hello,
I was hoping someone could clear up some confusion around the DMA working control packet semantics. From reading the TRM it says that the bits in the working control packet are "only updated after a channel is arbitrated out from the priority queue" and from the following post:
http://e2e.ti.com/support/microcontrollers/hercules/f/312/t/158061.aspx#578719
It seems that this means "these registers will not update until this channel is kicked out and another channel runs". Based on testing, if I only have one DMA channel running and I try to poll the working packet registers, they seem to never update (which would make sense if this channel is never "aribrated away"). Am I understanding this correctly? What I really want to be able to do is read CDADDR or CTCOUNT from the working control packet while my DMA is running to get its "progress". From the interpretation I am getting, this seems impossible (short of "chaining" a bogus transaction on another channel). Is this correct, or is there some way to do what I am trying to do. Thanks.