📄 ge_test.c
字号:
/**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-
* test.c - Ethernet 1000M code. .
*
* Copyright 2001-12 by GDT, Inc
*
* modification history
* --------------------
* 2001-12-14,yang xinyan created.
*
*/
#include <vxWorks.h>
#include <stdio.h>
#include <stdlib.h>
#include <lstlib.h>
#include <netbuflib.h>
#include <msgQlib.h>
#include <semLib.h>
#include <errno.h>
#include <errnolib.h>
#include <assert.h>
#include <string.h>
#include <taskLib.h>
#include <sysLib.h>
#include "GE_Test.h"
#include "GE_Utility.h"
#include "GE_Global.h"
#include "GE_GlobalP.h"
/*
extern void hpstatdata();
extern void spstatdata();
*/
/*from 1to 0--spb*/
static ULONG testPacket2[16]={ 0xffffffff,0xffff1234,0x56789abc,0x08060001,
0x08000604,0x00011234,0x56789abc,0x66666666,
0x00000000,0x00001234,0x56780000,0x00000000,
0x00000000,0x00000000,0x00000000,0x00000000};
/*
static ULONG testPacket2[16]={ 0xffffffff,0xffff1234,0x56789abc,0x08060001,
0x08000604,0x00011234,0x56789abc,0x66666666,
0x00000000,0x00001234,0x56780000,0x00000000,
0x00000000,0x00000000,0x00000000,0x00000000};
static ULONG testPacket2[80]={0x66666666,0x66661234,0x56789abc,0x08060001,
0x08000604,0x00011234,0x56789abc,0x66666666,
0x66666666,0x66661234,0x5678FFFF,0xDDDDDDDD,
0xCCCCCCCC,0x00000000,0xFFFFFFFF,0x00000000,
0xA1A2A3A4,0x00000000,0xFFFFFFFF,0x00000000,
0xFFFFFFFF,0x00000000,0xFFFFFFFF,0x00000000,
0xFFFFFFFF,0x00000000,0xFFFFFFFF,0x00000000,
0xFFFFFFFF,0x00000000,0xFFFFFFFF,0x00000000,
0xFFFFFFFF,0x00000000,0xFFFFFFFF,0x00000000};
*/
/*from 0 to 1--spa*/
static ULONG testPacket1[80]={0x66666666,0x66661234,0x56789abc,0x08001000,
0x00004540,0x00400000,0x00000906,0x2e50c012,
0x0102c012,0x02020000,0x00000000,0x0000aaaa,
0xaaaaaaaa,0xaaaaffff,0xffffffff,0xFFFF5555,
0x55555555,0x5555ffff,0x0000ffff,0x0000aaaa,
0x5555aaaa,0x55555555};
/*static ULONG E_DATA[500]= {0x0100002A,0x12345678,0x40000000,
0x06060300,0x00080000,0xc0000000,
0x00000002,0x0003BBBB,0xc0000000,
0xBBBBFF12,0x345678cc,0xc0000000,
0xccccFFFF,0xFFFFDDDD,0xc0000000,
0xDDDDCCCC,0xCCCC0000,0xc0000000,
0x0000FFFF,0xFFFFA1A2,0x80000000,
0xA3A40000,0x0000FFFF,0xc0000002,
0x41434143,0x41434143,0xc0000000,
0x41434142,0x4c000020,0xc0000000,
0x00010000,0x00000000,0x80000000};
*/
static ULONG E_long_pac[600]= {0x010005dc,0xddccbbaa,0x40000000,
0x06060300,0x00080000,0xc0000000,
0x00000002,0x0003BBBB,0xc0000000,
0xBBBBFF12,0x345678cc,0xc0000000,
0xccccFFFF,0xFFFFDDDD,0xc0000000,
0xDDDDCCCC,0xCCCC0000,0xc0000000,
0x0000FFFF,0xFFFFA1A2,0xc0000000,
0xA3A40000,0xA5A6FFFF,0xc0000000,
0x10000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x20000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x30000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x40000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x50000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x60000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x70000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x80000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x90000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x10000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x11000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x12000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x13000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x14000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x15000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x16000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x17000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x18000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x19000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x20000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x21000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x22000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0x00000000,0x00000000,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xFFFFFFFF,0xFFFFFFFF,0xc0000000,
0xAAAAAAAA,0xBBBBBBBB,0xc0000000,
0xCCCCCCCC,0xDDDDDDDD,0xc0000000,
0xEEEEEEEE,0xFFFFFFFF,0xc0000000,
0x00000000,0x11111111,0xc0000000,
0x22222222,0xF1F2F3F4,0x80000000};
static ULONG E_DATA[50]= {0x0100004b,0xaabbccdd,0x40000000,
0x06060300,0x11111111,0xc0000000,
0x22222222,0x33333333,0xc0000000,
0x44444444,0x55555555,0xc0000000,
0x66666666,0x77777777,0xc0000000,
0x88888888,0x99999999,0xc0000000,
0xAAAAAAAA,0xBBBBBBBB,0xc0000000,
0xCCCCCCCC,0xDDDDDDDD,0xc0000000,
0xEEEEEEEE,0xFFFFFFFF,0xc0000000,
0x00000000,0xAAAAAAAA,0xc0000000,
0xBBBBBBBB,0xC1C2C3C4,0x80000000};
static ULONG E_DATAc[50]= {0x0000004b,0xffffffff,0x40000000,
0x06060300,0x11111111,0xc0000000,
0x22222222,0x33333333,0xc0000000,
0x44444444,0x55555555,0xc0000000,
0x66666666,0x77777777,0xc0000000,
0x88888888,0x99999999,0xc0000000,
0xAAAAAAAA,0xBBBBBBBB,0xc0000000,
0xCCCCCCCC,0xDDDDDDDD,0xc0000000,
0xEEEEEEEE,0xFFFFFFFF,0xc0000000,
0xffffffff,0xeeeeeeee,0xc0000000,
0xdddddddd,0xcccccccc,0xc0000000,
0xbbbbbbbb,0xaaaaaaaa,0xc0000000,
0x00000000,0xAAAAAAAA,0xc0000000,
0xBBBBBBBB,0xC1C2C3C4,0x80000000};
static ULONG B_DATA[500];
static ULONG E_DATAC[500];
static ULONG testLength=81;
ULONG testPacketBefore[400];
ULONG testPacketAfter[400];
ULONG testPacketBeforeLength;
ULONG testPacketAfterLength;
static ULONG PKT1[1024];
static ULONG PKT[1024];
#define PKT_COUNT 1
/*#define E_LEN 30*/
#define E_LENa 567
#define E_LEN 33
#define E_LENc 42
#define B_LEN 20
/**********************************************/
void pkt()
{
unsigned int i;
for(i=0;i<PKT_COUNT;i++)
{
bcopy((char*)&(testPacket1[0]),(char*)&PKT[i*8],testLength*(i+1));
}
}
/*******************************************
*
*/
void cfg()
{
before_init();
after_init();
taskDelay(1);
infpgaInit();
outfpgaInit();
outfpgaWrite(0x1e,0);
Fibre();
taskDelay(1);
outfpgaWrite(0x1c,0x0);
outfpgaWrite(0x1d,0x0);
infpgaWrite(0x18,0x30+GE_swiport);
endis_h();
cam_init();
/*cam_add(0xf0,0x5a5a5a5a,0x1234,0x56789abc);
cam_add(0x1,0x03040506,0x1234,0x56789abc);
cam_add(0x2,0x01020304,0x1234,0x56789abc);
cam_add(0x3,0x0304050a,0x1234,0x56789abc);
cam_add(0x4,0x03040507,0x6666,0x66666666);
cam_add(0x5,0x03040aff,0x6666,0x66666666);
cam_add(0x6,0x0304050f,0x6666,0x66666666);*/
}
/*******************************************
* test sys_outfpga;
*/
STATUS test_outfpga()
{
unsigned int i;
unsigned int result=0;/*0:succeed;1:failed*/
if(test_config()!=OK)
{
return ERROR;
printf("test_outfpga:config failed!\n");
}
write_E();
if(read_E_out_Fifo()==ERROR)
{
result=1;
}
if(read_out_PM3386_Fifo()==ERROR)
{
result=1;
}
if(result==1)
{
return ERROR;
}
return OK;
}
STATUS test_PM3386()
{
unsigned int result=0;
if(test_config()!=OK)
{
return ERROR;
}
infpgaWrite(0x18,0x10+GE_swiport);
spa();
if(read_PM3386_in_Fifo()!=OK)
{
result=1;
}
if(read_out_PM3386_Fifo()!=OK)
{
result=1;
}
if(result==1)
{
return ERROR;
}
return OK;
}
STATUS test_infpga()
{
unsigned int result=0;
if(test_config()!=OK)
{
return ERROR;
}
infpgaWrite(0x18,0x10+GE_swiport);
spb(0,0);
if(read_PM3386_in_Fifo()!=OK)
{
result=1;
}
infpgaWrite(0x18,0x30+GE_swiport);
spb(0,0);
if(read_in_proFifo()!=OK)
{
result=1;
}
if(result==1)
{
return ERROR;
}
return OK;
}
/******************************************************************************************
* Init infpga,outfpga,PM3386 ,set PM3386 work in sys_loop or in line_loop and fianally test
this kind of configuration:
*/
STATUS test_config()
{
if (outfpgaInit()!=OK)
{
printf("test_config:(ERROR)outfpga init failed!\n");
return ERROR;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -