DMA
Direct Memory Access (DMA) APIs. More...
Modules |
|
Types | |
DMA data types.
|
|
Functions |
|
gos_result_t | gos_dma_alloc ( gos_handler_t callback, void *arg, gos_dma_channel_t *channel_ptr) |
Allocate a DMA channel.
More...
|
|
gos_result_t | gos_dma_free ( gos_dma_channel_t channel) |
Free a DMA channel.
More...
|
|
Detailed Description
Direct Memory Access (DMA) APIs.
Function Documentation
◆ gos_dma_alloc()
gos_result_t gos_dma_alloc | ( | gos_handler_t |
callback,
|
void * |
arg,
|
||
gos_dma_channel_t * |
channel_ptr
|
||
) |
Allocate a DMA channel.
Allocates a DMA channel from the kernel. The returned channel will be exclusively available to the user application.
- Note
- It is imperative to use this API to allocate channels which will be manually accessed by the application to prevent conflicts with the kernel's use of DMA.
- You must use gos_dma_free() to de-allocate the channel once it is no longer needed.
- Parameters
-
[in] callback
function to be called when a DMA transfer on the channel returned by this function is complete. This function will execute in the IRQ context. [in] arg
argument to pass to callback function [out] channel_ptr
Pointer to hold channel number of allocated DMA channel
- Returns
- result of API call
◆ gos_dma_free()
gos_result_t gos_dma_free | ( | gos_dma_channel_t |
channel
|
) |
Free a DMA channel.
Release a channel allocated by gos_dma_alloc.
- Parameters
-
[in] channel
DMA channel to free
- Returns
- result of API call