📄 myfunction.c
字号:
#include "myfunction.h"
void ReadSram(P9054_HANDLE hP9054)
{
DWORD data=0;
int addr=0;
int i;
FILE *fp;
if((fp=fopen("sram.dat","wb"))==NULL)
{
printf("Cannot open this file\n");
exit(0);
}
for (i=0;i<256*1024;i++)
{
data = P9054_ReadDWord(hP9054, 2, addr);
fwrite(&data,sizeof(int),1,fp);
addr+=4;
}
fclose(fp);
}
void WriteSram(P9054_HANDLE hP9054)
{
int data=0;
int addr=0;
int i;
for (i=0;i<256*1024;i++)
{
P9054_WriteDWord(hP9054, 2, addr, data);
addr+=4;
data+=1;
}
}
void WriteSramSameDate(P9054_HANDLE hP9054)
{
int data=0;
int addr=0;
int i;
printf("Input a data to Write:0x");
scanf("%x",&data);
for (i=0;i<256*1024;i++)
{
P9054_WriteDWord(hP9054, 2, addr, data);
addr+=4;
}
}
void WriteSramByByte(P9054_HANDLE hP9054)
{
unsigned char data=0;
unsigned long addr=0;
for (addr=0;addr<3;addr++)
{
P9054_WriteByte(hP9054, AD_PCI_BAR2, addr, data);
data++;
}
}
void WriteDpram(P9054_HANDLE hP9054)
{
int data=0;
int addr=0;
int i;
for (i=0;i<1024;i++)
{
P9054_WriteDWord(hP9054, 3, addr, data);
addr+=4;
data+=1;
}
}
void ReadDpram(P9054_HANDLE hP9054)
{
int data=0;
int addr=0;
int i;
FILE *fp;
if((fp=fopen("dpram.dat","wb"))==NULL)
{
printf("Cannot open this file\n");
exit(0);
}
for (i=0;i<1024;i++)
{
data = P9054_ReadDWord(hP9054, 3, addr);
fwrite(&data,sizeof(int),1,fp);
addr+=4;
}
fclose(fp);
}
void ReadPciBa0(P9054_HANDLE hP9054)
{
int data=0;
int addr=0;
FILE *fp;
if((fp=fopen("Ba0.dat","wb"))==NULL)
{
printf("Cannot open this file\n");
exit(0);
}
for (addr=0;addr<0xff;addr+=4)
{
data = P9054_ReadDWord(hP9054, 0, addr);
fwrite(&data,sizeof(int),1,fp);
}
fclose(fp);
}
void DMA_SG_L2P(P9054_HANDLE hP9054)
{
unsigned char *BufferPool;
P9054_DMA_HANDLE dma_return;
FILE *fp;
int i;
unsigned char data;
//分配缓冲池空间并初始化
if ((BufferPool=(unsigned char *)malloc(BUFFER_POOL_SIZE*sizeof(unsigned char)))==NULL)
{
printf("Cannot allocate enough memory, terminated.\n");
return;
}
else printf("DMA Pool allocation ..........................COMPLETE.\n");
for (i=0;i<BUFFER_POOL_SIZE;i++)
*(BufferPool+i)=0;
dma_return = P9054_DMAOpen (hP9054, 0, BufferPool,
BUFFER_POOL_SIZE, 1, P9054_MODE_DWORD, P9054_DMA_CHANNEL_0);
if (dma_return=NULL)
{
printf("DMA open failed!\n");
return;
}
else
printf("DMA open successful!\n");
// P9054_DMAStart (hP9054, dma_return, 0);
// P9054_DMAClose (hP9054, dma_return);
if((fp=fopen("dma.dat","wb"))==NULL)
{
printf("Cannot open this file\n");
exit(0);
}
for (i=0;i<4096;i++)
{
data = *(BufferPool+i);
fwrite(&data,sizeof(unsigned char),1,fp);
}
fclose(fp);
free(BufferPool);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -