Software programming model, Hal system library support, Software programming model -5 – Altera Embedded Peripherals IP User Manual

Page 236: Hal system library support -5

Advertising
background image

Software Programming Model

This section describes the programming model for the DMA controller, including the register map and

software declarations to access the hardware. For Nios II processor users, Altera provides HAL system

library drivers that enable you to access the DMA controller core using the HAL API for DMA devices.

HAL System Library Support

The Altera-provided driver implements a HAL DMA device driver that integrates into the HAL system

library for Nios II systems. HAL users should access the DMA controller via the familiar HAL API, rather

than accessing the registers directly.
If your program uses the HAL device driver to access the DMA controller, accessing the device registers

directly interferes with the correct behavior of the driver.
The HAL DMA driver provides both ends of the DMA process; the driver registers itself as both a receive

channel (

alt_dma_rxchan

) and a transmit channel (

alt_dma_txchan

). The Nios II Software Develope’s

Handbook provides complete details of the HAL system library and the usage of DMA devices.

ioctl() Operations

ioctl()

operation requests are defined for both the receive and transmit channels, which allows you to

control the hardware-dependent aspects of the DMA controller. Two

ioctl()

functions are defined for

the receiver driver and the transmitter driver:

alt_dma_rxchan_ioctl()

and

alt_dma_txchan_ioctl()

.

The table below lists the available operations. These are valid for both the transmit and receive channels.

Table 23-2: Operations for alt_dma_rxchan_ioctl() and alt_dma_txchan_ioctl()

Request

Meaning

ALT_DMA_SET_MODE_8

Transfers data in units of 8 bits. The parameter

arg

is ignored.

ALT_DMA_SET_MODE_16

Transfers data in units of 16 bits. The parameter

arg

is ignored.

ALT_DMA_SET_MODE_32

Transfers data in units of 32 bits. The parameter

arg

is ignored.

ALT_DMA_SET_MODE_64

Transfers data in units of 64 bits. The parameter

arg

is ignored.

ALT_DMA_SET_MODE_128

Transfers data in units of 128 bits. The parameter

arg

is ignored.

ALT_DMA_RX_ONLY_ON

(1)

Sets a DMA receiver into streaming mode. In this case, data is read

continuously from a single location. The parameter

arg

specifies the

address to read from.

ALT_DMA_RX_ONLY_OFF

(1)

Turns off streaming mode for a receive channel. The parameter

arg

is

ignored.

ALT_DMA_TX_ONLY_ON

(1)

Sets a DMA transmitter into streaming mode. In this case, data is

written continuously to a single location. The parameter

arg

specifies

the address to write to.

ALT_DMA_TX_ONLY_OFF

(1)

Turns off streaming mode for a transmit channel. The parameter

arg

is

ignored.

UG-01085

2014.24.07

Software Programming Model

23-5

DMA Controller Core

Altera Corporation

Send Feedback

Advertising