
R01UH0218EJ0110 Rev.1.10
Page 194 of 664
Sep 12, 2011
R32C/142 Group and R32C/145 Group
13. DMAC II
13.1.3
Interrupt Control Register of the Peripheral Function
Set bits ILVL2 to ILVL0 in the interrupt control register for the peripheral interrupt triggering DMAC II to
111b (level 7).
13.1.4
Relocatable Vector Table of the Peripheral Function
Set the start address of the DMAC II index to the interrupt vector for the peripheral interrupt triggering
DMAC II.
To use the chained transfer, allocate the relocatable vector table on the RAM.
13.1.5
IRLT Bit in the IIOiIE Register (i = 0 to 11)
To use the intelligent I/O interrupt as a trigger for DMAC II, set the IRLT bit in the corresponding IIOilE
register to 0 (interrupt request for DMA or DMA II used).
13.2
DMAC II Operation
Set the DMAII bit in registers RIPL1 and RIPL2 to 1 (interrupt request level 7 used for DMA II transfer) to
perform a DMA II transfer. DMAC II is activated by an interrupt request from any peripheral function with
bits ILVL2 to ILVL0 in the corresponding interrupt control register set to 111b (level 7). These peripheral
interrupt requests are available only for DMA II transfer and cannot be used for the CPU.
When an interrupt request is generated with interrupt request level 7, DMAC II is activated irrespective of
the state of the I flag or IPL.
When a peripheral interrupt request triggering DMAC II and a higher-priority request such as the
watchdog timer interrupt, oscillator stop detection interrupt, or NMI are simultaneously generated, the
higher-priority interrupt is accepted prior to the DMA II transfer, and the DMA II transfer starts after the
higher-priority interrupt sequence.
13.3
Transfer Types
DMAC II transfers three types of 8-bit or 16-bit data as follows:
Memory-to-memory transfer: Data is transferred from a given memory location in a 64-Mbyte space
(addresses 00000000h to 01FFFFFFh and FE000000h to
FFFFFFFFh) to another given memory location in the same space.
Immediate data transfer:
Immediate data is transferred to a given memory location in a 64-
Mbyte space.
Calculation transfer:
Two data are added together and the result is transferred to a given
memory location in a 64-Kbyte space.
When 16-bit data is transferred to DADR at FFFFFFFFh, it is transferred to 00000000h as well as
FFFFFFFFh. The same transfer is performed when SADR is FFFFFFFFh.
13.3.1
Memory-to-memory Transfer
Data transfer between any two memory locations can be:
A transfer from a fixed address to another fixed address
A transfer from a fixed address to an address range in memory
A transfer from an address range in memory to a fixed address
A transfer from an address range in memory to another address range in memory
When increment addressing mode is selected, SADR and DADR increment by 1 in a 8-bit transfer and
by 2 in a 16-bit transfer after a data transfer for the next transfer. When SADR or DADR exceeds
FFFFFFFFh by the incrementation, it returns to 00000000h. Likewise, when SADR or DADR exceeds
01FFFFFFh, it becomes 02000000h, but an actual transfer is performed for FE000000h.