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

📄 ge_test.c

📁 程序是一个vxworks下对PMC公司3386千兆MAC芯片的驱动和配置
💻 C
📖 第 1 页 / 共 5 页
字号:
/**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-
*	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 + -