
2. Configure channel 1 in the DMA, including enabling the channel.
3. Configure a timer for the desired trigger interval.
4. Write 0xC5 to CHCFG1 (base a 0x01).
The following code example illustrates steps 1 and 4 above:
void DMAMUX_Init(uint8_t DMA_CH, uint8_t DMAMUX_SOURCE)
{
DMAMUX_0.CHCFG[DMA_CH].B.SOURCE = DMAMUX_SOURCE;
DMAMUX_0.CHCFG[DMA_CH].B.ENBL = 1;
DMAMUX_0.CHCFG[DMA_CH].B.TRIG = 1;
}
To enable a source, without periodic triggering:
1. Determine with which DMA channel the source will be associated. Note that only the
first 2 DMA channels have periodic triggering capability.
2. Clear the CHCFG[ENBL] and CHCFG[TRIG] fields of the DMA channel.
3. Ensure that the DMA channel is properly configured in the DMA. The DMA channel
may be enabled at this point.
4. Select the source to be routed to the DMA channel. Write to the corresponding
CHCFG register, ensuring that CHCFG[ENBL] is set while CHCFG[TRIG] is
cleared.
NOTE
The following is an example. See the chip configuration details
for the number of this device's DMA channels that have
triggering capability.
To configure source #5 transmit for use with DMA channel 1, with no periodic triggering
capability:
1. Write 0x00 to CHCFG1 (base a 0x01).
2. Configure channel 1 in the DMA, including enabling the channel.
3. Write 0x85 to CHCFG1 (base a 0x01).
The following code example illustrates steps 1 and 3 above:
In File registers.h:
#define DMAMUX_BASE_ADDR 0x40021000/* Example only ! */
/* Following example assumes char is 8-bits */
volatile unsigned char *CHCFG0 = (volatile unsigned char *) (DMAMUX_BA0x0000);
volatile unsigned char *CHCFG1 = (volatile unsigned char *) (DMAMUX_BA0x0001);
volatile unsigned char *CHCFG2 = (volatile unsigned char *) (DMAMUX_BA0x0002);
volatile unsigned char *CHCFG3 = (volatile unsigned char *) (DMAMUX_BA0x0003);
volatile unsigned char *CHCFG4 = (volatile unsigned char *) (DMAMUX_BA0x0004);
volatile unsigned char *CHCFG5 = (volatile unsigned char *) (DMAMUX_BA0x0005);
volatile unsigned char *CHCFG6 = (volatile unsigned char *) (DMAMUX_BA0x0006);
volatile unsigned char *CHCFG7 = (volatile unsigned char *) (DMAMUX_BA0x0007);
volatile unsigned char *CHCFG8 = (volatile unsigned char *) (DMAMUX_BA0x0008);
volatile unsigned char *CHCFG9 = (volatile unsigned char *) (DMAMUX_BA0x0009);
volatile unsigned char *CHCFG10= (volatile unsigned char *) (DMAMUX_BA0x000A);
volatile unsigned char *CHCFG11= (volatile unsigned char *) (DMAMUX_BA0x000B);
volatile unsigned char *CHCFG12= (volatile unsigned char *) (DMAMUX_BA0x000C);
volatile unsigned char *CHCFG13= (volatile unsigned char *) (DMAMUX_BA0x000D);
Initialization/application information
KV4x Reference Manual, Rev. 2, 02/2015
364
Preliminary
Freescale Semiconductor, Inc.
Summary of Contents for freescale KV4 Series
Page 2: ...KV4x Reference Manual Rev 2 02 2015 2 Preliminary Freescale Semiconductor Inc...
Page 60: ...KV4x Reference Manual Rev 2 02 2015 60 Preliminary Freescale Semiconductor Inc...
Page 128: ...Debug Security KV4x Reference Manual Rev 2 02 2015 128 Preliminary Freescale Semiconductor Inc...
Page 138: ...Boot KV4x Reference Manual Rev 2 02 2015 138 Preliminary Freescale Semiconductor Inc...
Page 1358: ...KV4x Reference Manual Rev 2 02 2015 1358 Preliminary Freescale Semiconductor Inc...