buffer.h
来自「自己实现的一个DMA链的源码」· C头文件 代码 · 共 60 行
H
60 行
#ifndef _BUFFER_H_
#define _BUFFER_H_
#include <cdefBF533.h> //BF533 Register Pointer Definition
//#include <stdio.h>
#include <sys\exception.h> //Interrupt Handling Header
//#include <stdlib.h>
#include <math.h>
#include <string.h>
#include "ccblkfn.h"
#include <sysreg.h>
#include <services/services.h>
#define DMA_HANDLE_0 0
#define DMA_HANDLE_1 1
#define DMA_READ_CHAN 0
#define DMA_WRITE_CHAN 1
#define DMA_SRC_CHAN 0
#define DMA_DST_CHAN 1
#define DMA_1D 0
#define DMA_2D 1
/*
// Buffer Init
void ConfigSrc2DTransPara(ADI_DMA_2D_TRANSFER *transSrc2D, void *addr, u16 XCount, s16 XModify, u16 YCount, s16 YModify);
void ConfigDst2DTransPara(ADI_DMA_2D_TRANSFER *transDst2D, void *addr, u16 XCount, s16 XModify, u16 YCount, s16 YModify);
void FastConfigSrc2DAddr(ADI_DMA_2D_TRANSFER *transSrc2D, void *addr);
void FastConfigDst2DAddr(ADI_DMA_2D_TRANSFER *transDst2D, void *addr);
// Buffer DMA Trans
void Memory_Callback0(void *AppHandle, u32 Event, void *pArg);
void Memory_Callback1(void *AppHandle, u32 Event, void *pArg);
*/
void Descriptor_Callback0( void *AppHandle, u32 Event, void *pArg);
void Descriptor_Callback1( void *AppHandle, u32 Event, void *pArg);
void Descriptor_Start(int handleId);
void Descriptor_Wait(int handleId);
void DesDmaSetAddr(int handleId, int Src0Dst1, int arrId, void *addr);
void DesBufferSetup(
int handleId,
int buffsNum, // number of buffers (descriptors) to use in each direction
int Read0Write1,
int Dma1D02D1, // 0 = 1-dimensional DMA, 1 = 2-dimensional DMA
int XCount, int XModify, // number of elements in each buffer (descriptor)
int YCount, int YModify,
int bytes_per_element); // number of bytes in each element (1, 2, or 4)
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?