...the world's most energy friendly microcontrollers
2016-04-28 - Giant Gecko Family - d0053_Rev1.20
57
www.silabs.com
using the primary data structure. The controller continues to switch from primary to alternate to primary…
until either:
• the host processor configures the alternate data structure for a basic cycle
• it reads an invalid data structure.
Note
After the controller completes the N primary transfers it invalidates the primary data
structure by setting the cycle_ctrl field to b000.
The controller only asserts
dma_done[C]
when the scatter-gather transaction completes using an auto-
request cycle.
In scatter-gather mode, the controller uses the primary data structure to program the alternate data
structure. Table 8.4 (p. 57) lists the fields of the channel_cfg memory location for the primary data
structure, that you must program with constant values and those that can be user defined.
Table 8.4. channel_cfg for a primary data structure, in memory scatter-gather mode
Bit
Field
Value
Description
Constant-value fields:
[31:30}
dst_inc
b10
Configures the controller to use word increments for the address
[29:28]
dst_size
b10
Configures the controller to use word transfers
[27:26]
src_inc
b10
Configures the controller to use word increments for the address
[25:24]
src_size
b10
Configures the controller to use word transfers
[17:14]
R_power
b0010
Configures the controller to perform four DMA transfers
[3]
next_useburst
0
For a memory scatter-gather DMA cycle, this bit must be set to zero
[2:0]
cycle_ctrl
b100
Configures the controller to perform a memory scatter-gather DMA cycle
User defined values:
[23:21]
dst_prot_ctrl
-
Configures the state of
HPROT
1
when the controller writes the destination data
[20:18]
src_prot_ctrl
-
Configures the state of
HPROT
when the controller reads the source data
[13:4]
n_minus_1
N
2
Configures the controller to perform N DMA transfers, where N is a multiple of four
1
ARM PL230 homepage [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0417a/index.html]
2
Because the R_power field is set to four, you must set N to be a multiple of four. The value given by N/4 is the number of times
that you must configure the alternate data structure.
See Section 8.4.3.3 (p. 64) for more information.
Figure 8.4 (p. 58) shows a memory scatter-gather example.
Summary of Contents for Giant Gecko EFM32GG
Page 842: ......