⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 buffer.h

📁 自己实现的一个DMA链的源码
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -