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

📄 ethernet.h

📁 MPC860的SCC1配置以太网示例代码
💻 H
字号:
/*-----------------------------------------------------------------------				
*
* File:  ethernet.h
** Description:  
*
* 		Constants and Definitions for MPC860 Ethernet Example.
*     [Interrupt-driven version].
*
* History:
** 12 JUN 96    saw     Initial version.
* 20 FEB 97    sgj     Created HDLC version from IRDa version
* 26 AUG 97    sgj     Modified BD structure and cleaned up
* 20 NOV 97    jay     Modified BD structure and cleaned up
* 07 JAN 98	   ecg	  Created Transparent Version from HDLC version
* 22 JAN 98    ecg     Created Ethernet version from Transparent version
*-----------------------------------------------------------------------*/

/*----------------------------------------------------------------------*//*                   MPC8xx CONSTANTS AND DEFINITIONS                   */
/*----------------------------------------------------------------------*/#define INTERRUPT_LEVEL 4 	/* integer between 0 and 7 inclusive */

#define BASE_EVT 0x0  /* Base Address of Exception Vector Table */

#define EXT_INT_VECTOR ((BASE_EVT) + 0x500)  /* Base address of external 
											               interrupt code */

#define NEXT_VECTOR (EXT_INT_VECTOR + 0x100)

/*----------------------------------------------------------------------*//*                APPLICATION CONSTANTS AND DEFINITIONS                 */
/*----------------------------------------------------------------------*/
/*----------------------------------------*/
/* Constants and Definitions for Ethernet */
/*----------------------------------------*/

#define ENET_C_PRES    0xFFFFFFFF    /* CRC Preset */#define ENET_C_MASK    0xDEBB20E3    /* Constant MASK for CRC */
#define ENET_MFLR      1518		    /* Ethernet Max Frame Length */
#define ENET_MINFLR    64            /* Ethernet Min Frame Length */
#define ENET_MDMA      1520          /* Max DMA length */
#define ENET_RET_LIM   15            /* Retry Limit Threshold */
#define ENET_PAD       0x8888        /* Pad Characters */
#define ENET_DSR		  0xD555			 /* DSR value for Ethernet */
#define ENET_PADDR_H   0x5548;       /* Physical Address 1 (MSB) */
#define ENET_PADDR     0x3322;       /* Physical Address */
#define ENET_PADDR_L   0x1900;       /* Physical Address 1 (LSB) */

#define TXBUFINDEX     8


typedef struct bcsr 

{
	UWORD  bcsr0; /* Board Control and Status Register */
	UWORD  bcsr1;
	UWORD  bcsr2;
	UWORD  bcsr3;
} BCSR;

/*--------------------------------*//* Size of buffers in buffer pool */
/*--------------------------------*/#define BUFFER_SIZE 256

/*---------------------------------------------------*//* Number of Receive and Transmit Buffer Descriptors */
/*---------------------------------------------------*/#define NUM_RXBDS 8
#define NUM_TXBDS 8

/*-------------------------*//* Single buffer component */
/*-------------------------*/typedef UBYTE LB[BUFFER_SIZE];
#define MAX_TXBD_INDEX	16#define FIRST_TX_BUF 8

typedef struct BufferDescriptor 

{
   UHWORD bd_cstatus;     /* control and status */
   UHWORD bd_length;      /* transfer length */
   UBYTE  *bd_addr;       /* buffer address */

} BD;
/*--------------------------*/
/* Buffer Descriptor Format */
/*--------------------------*/
typedef struct BufferDescRings 

{
    BD RxBD[NUM_RXBDS];    /* Rx BD ring */
    BD TxBD[NUM_TXBDS];    /* Tx BD ring */
} BDRINGS;
#define BD_RX_ERROR 0xBF    /* Mask for set of Receive Buffer Errors,
                               including: DE, LG, NO, AB, CR, OV, CD */
/*-----------------------------------------------------------------*/
/* Number of Instructions in Vector Table for particular Interrupt */
/*-----------------------------------------------------------------*/
#define VECTOR_BLOCK_LEN 0x100
/*------------------------------------*/
/* SIU Vector Interrupt Code: Level 4 */
/*------------------------------------*/
#define IC_LEVEL_4  0x24

/*----------------------------------------------------------*//* SCC1 Interrupt Vector Code in CPM Vector Register (CIVR) */
/*----------------------------------------------------------*/#define SCC1_VECTOR 0x1E
#define ETHEN 0x20000000	  /* ETHEN in bit 2 of BCSR1 */

#define READY_TO_RX_CMD   0  /* Ready to receive a command */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -