MOTOROLA
MC68349 USER'S MANUAL
7- 39
7.9.2 DMA Channel Example Configuration Code
The following are examples of configuration sequences for a DMA channel in single- and
dual-addressing modes.
***************************************************************************
* MC68349 basic DMA channel register initialization example code.
* This code is used to initialize the 68349's internal DMA channel
* registers, providing basic functions for operation.
* The code sets up channel 1 for external burst request generation,
* single-address mode, long word size transfers.
* Control signals are asserted on the DMA read cycle.
***************************************************************************
Example 1: External Burst Request Generation, Single-Address Transfers.
***************************************************************************
* SIM49 equates
***************************************************************************
MBAR
EQU $0003FF00 Address of SIM49 Module Base Address Reg.
MODBASE
EQU $FFFFF000 SIM49 MBAR address value
***************************************************************************
* DMA Channel 1 equates
DMACH1
EQU $780
Offset from MBAR for channel 1 regs
DMAMCR1
EQU $0
MCR for channel 1
* Channel 1 register offsets from channel 1 base address
DMAINT1
EQU $4
interrupt register channel 1
DMACCR1
EQU $8
control register channel 1
DMACSR1
EQU $A
status register channel 1
DMAFCR1
EQU $B
function code register channel 1
DMASAR1
EQU $C
source address register channel 1
DMADAR1
EQU $10
destination address register channel 1
DMABTC1
EQU $14
byte transfer count register channel 1
SARADD
EQU $10000
source address
NUMBYTE
EQU $C
number of bytes to transfer
***************************************************************************
* Initialize DMA Channel 1
***************************************************************************
LEA
MODBASE+DMACH1,A0 Pointer to channel 1
* Initialize DMA channel 1 MCR
* Normal Operation, ignore FREEZE, single-address mode. ISM field at 2. Make
* sure CPU32+ SR I2-I0 bits are less than or equal to ISM bits for channel startup.
* Supervisor/user reg. unrestricted, MAID field at 7. IARB priority at 1.
MOVE.W
#$1271,(A0)