📄 dma_util.h
字号:
/******************************************************************************/
/* DNA PROPRIETARY INFORMATION */
/* (C) Copyright 1997,1998 by DNA Enterprises, Inc. */
/* All rights reserved */
/******************************************************************************/
/* DMA_UTILS.H - DMA Utilities */
/* */
/* This module implements a simple DMA manager which marks resources in */
/* use or available based on request and release calls. */
/* */
/* MACRO FUNCTIONS: */
/* */
/* FUNCTIONS: */
/* dma_chan_request() - request DMA channel */
/* dma_chan_release() - release reserved channel */
/* dma_gidx_request() - request global index register */
/* dma_gidx_release() - release global index register */
/* dma_gadr_request() - request global address register */
/* dma_gadr_release() - release global address register */
/* dma_gcnt_request() - request global cnt reload register */
/* dma_gcnt_release() - release global cnt reload register */
/* */
/******************************************************************************/
#ifndef _DMA_UTIL_H_
#define _DMA_UTIL_H_
#define SPLIT_ADDR 0
#define SOURCE_RLD 1
#define DEST_RLD 2
#define AVAILABLE 0
#define IN_USE 1
typedef enum
{
DMA_CH_IDX_NONE= -1,
DMA_CH0_IDX = 0,
DMA_CH1_IDX,
DMA_CH2_IDX,
DMA_CH3_IDX
} Dma_channel_idx;
typedef enum
{
DMA_GIDX_IDX_NONE= -1,
DMA_GIDXA_IDX= 0,
DMA_GIDXB_IDX
} Dma_gidx_idx;
typedef enum
{
DMA_GADR_IDX_NONE= -1,
DMA_GADRA_IDX= 0,
DMA_GADRB_IDX,
DMA_GADRC_IDX,
DMA_GADRD_IDX
} Dma_gadr_idx;
typedef enum
{
DMA_GCNT_IDX_NONE= -1,
DMA_GCNTA_IDX= 0,
DMA_GCNTB_IDX
} Dma_gcnt_idx;
Dma_channel_idx dma_chan_request(void);
void dma_chan_release(Dma_channel_idx chan_idx);
int dma_idx_to_isn(Dma_channel_idx idx);
int dma_interrupt_enable(Dma_channel_idx idx,void (*p_isr)(void));
Dma_gidx_idx dma_gidx_request(void);
void dma_gidx_release(Dma_gidx_idx gidx_idx);
Dma_gadr_idx dma_gadr_request(int operation);
void dma_gadr_release(Dma_gadr_idx gadr_idx);
Dma_gcnt_idx dma_gcnt_request(void);
void dma_gcnt_release(Dma_gcnt_idx dma_gcnt_idx);
void dma_util_reset(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -