Compartilhar via


Ceddk.dll DMA Functions (Compact 2013)

3/26/2014

The following table shows the Ceddk.dll direct memory access (DMA) functions.

Function

Description

DMAAllocateChannel

This function prepares the system for a DMA operation on behalf of the target device and also returns a handle that can be used by DMAIssueTransfer.

DMACancelTransfer

This function cancels an active DMA transfer.

DMACloseBuffer

This function is called after DMA is finished and frees all the resources that were allocated by DMAOpenBuffer It also calls DMAFlushBlockBuffer before it returns.

DMACloseTransfer

This function closes a DMA transfer and releases all related resources.

DMAFreeChannel

This function frees a DMA channel buffer allocated by DMAAllocateChannel, along with all the resources the DMA channel uses.

DMAFlushBlockBuffer

This function manually flushes the DMA buffer block in order to regain cache coherency.

DMAGetAdapter

This function is used to return the length and physical address of a DMA buffer block created by DMAOpenBuffer.

DMAGetBufferPhysAddr

This function is returns the length and physical address of a DMA buffer block created by DMAOpenBuffer.

DMAGetContexts

This function retrieves the Context1 and Context2 values of a DMA transfer object. These values are set by functions such as DMAIssueTransfer during the creation of a DMA transfer object.

DMAGetStatus

This function gets the current status of an active or queued DMA transfer.

DMAIssueMultiBufferTransfer

This function queues multiple DMA transfer requests. Much like DMAIssueTransfer, if there are no other DMA transfer queued in the DMA channel, this function sets up map descriptor registers for a channel to map the first DMA transfer from a locked-down buffer.

DMAIssueRawTransfer

This function sets up map descriptor registers for a channel to map a DMA transfer from a locked-down buffer. This function fails if there are other DMA transfers queued in the DMA channel.

DMAIssueTransfer

This function sets up map descriptor registers for a channel to map a DMA transfer from a locked-down buffer. If there are other DMA transfers queued in the DMA channel this transfer is queued as well.

DMAOpenBuffer

This function is used to map a virtual buffer to a physical DMA block.

DMARawTransferControl

This function controls hardware mapped DMA transfers directly, unless the transfer is already completed or is not queued.

DMAStartTransfer

This function puts a DMA transfer into auto start mode.

DMATransferOnBlocks

This function is used to start a subordinate DMA transfer that uses an associated memory block.

HalAllocateCommonBuffer

This function allocates memory, locks it down, and maps it so that it is simultaneously accessible from the processor and a device for DMA operations.

HalFreeCommonBuffer

This function frees a common buffer allocated by HalAllocateCommonBuffer, along with all resources the buffer uses.

HalTranslateSystemAddress

This function translates a physical system address to a logical bus address, which can be passed to a bus controller, for example, a DMA bus controller.

See Also

Reference

Ceddk.dll DMA Reference