RM0400
Step
5
Read back the 16 bit TCD control/status field.
Test the TCD.e_sg request status and TCD.major.linkch value:
– If e_sg = 1b, the dynamic link attempt was successful.
– If e_sg = 0b and the major.linkch (ID) did not change, the attempted dynamic link did not succeed (the
6
channel was already retiring).
– If e_sg = 0b and the major.linkch (ID) changed, the dynamic link attempt was successful (the new TCD's
e_sg value cleared the e_sg bit).
19.5.7.3.2 Method 2 (channel using major loop linking)
For a channel using major loop channel linking, the coherency model in
used for a dynamic scatter/gather request. This method uses the TCD.dlast_sga field as a
TCD identification (ID).
Step
Write 1b to theTCD.d_req bit.
Note: Should a dynamic scatter/gather attempt fail, setting the d_req bit will prevent a future hardware
1
activation of this channel. This stops the channel from executing with a destination address (daddr)
that was calculated using a scatter/gather address (written in the next step) instead of a dlast final
offset value.
2
Write theTCD.dlast_sga field with the scatter/gather address.
3
Write 1b to the TCD.e_sg bit.
4
Read back the TCD.e_sg bit.
Test the TCD.e_sg request status:
– If e_sg = 1b, the dynamic link attempt was successful.
– If e_sg = 0b, read the 32 bit TCD dlast_sga field.
5
– If e_sg = 0b and the dlast_sga did not change, the attempted dynamic link did not succeed (the channel
was already retiring).
– If e_sg = 0b and the dlast_sga changed, the dynamic link attempt was successful (the new TCD's e_sg
value cleared the e_sg bit).
Table 204. Coherency model for method 1(Continued)
Table 205. Coherency model for method 2
DocID027809 Rev 4
Enhanced Direct Memory Access (eDMA)
Action
Action
Table 205
may be
449/2058
449
Need help?
Do you have a question about the SPC572L series and is the answer not in the manual?
Questions and answers