Dynamic Programming - STMicroelectronics SPC572L series Reference Manual

Table of Contents

Advertisement

RM0400
Desired link
TCD control field name
behavior
CSR[MAJOR_E_LINK]
Link at end of
CSR[MAJOR_LINKCH]
major loop
Link channel number when linking at
end of major loop
19.5.7

Dynamic programming

19.5.7.1
Dynamic priority changing
The following two options are recommended for dynamically changing channel priority
levels:
1.
Switch to Round-Robin Channel Arbitration mode, change the channel priorities, then
switch back to Fixed Arbitration mode.
2.
Disable all the channels, then change the channel priorities, then enable the
appropriate channels.
19.5.7.2
Dynamic channel linking
Dynamic channel linking is the process of setting the TCD.major.e_link bit during channel
execution. This bit is read from the TCD local memory at the end of channel execution, thus
allowing the user to enable the feature during channel execution.
Because the user is allowed to change the configuration during execution, a coherency
model is needed. Consider the scenario where the user attempts to execute a dynamic
channel link by enabling the TCD.major.e_link bit at the same time the eDMA engine is
retiring the channel. The TCD.major.e_link would be set in the programmer's model, but it
would be unclear whether the actual link was made before the channel retired.
The coherency model in
request.
Table 203. Coherency model for a dynamic channel link request
Ste
p
1
Write 1b to the TCD.major.e_link bit.
2
Read back the TCD.major.e_link bit.
Test the TCD.major.e_link request status:
3
– If TCD.major.e_link = 1b, the dynamic link attempt was successful.
– If TCD.major.e_link = 0b, the attempted dynamic link did not succeed (the channel was already retiring).
For this request, the TCD local memory controller forces the TCD.major.e_link bit to zero on
any writes to a channel's TCD.word7 after that channel's TCD.done bit is set, indicating the
major loop is complete.
Table 202. Channel linking parameters(Continued)
Table 203
DocID027809 Rev 4
Enhanced Direct Memory Access (eDMA)
Enable channel-to-channel linking on major loop completion
is recommended when executing a dynamic channel link
Action
Description
447/2058
449

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the SPC572L series and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Table of Contents