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

📄 mpc860.h

📁 MPC860的SCC2配置HDLC示例代码
💻 H
📖 第 1 页 / 共 3 页
字号:
/*-----------------------------------------------------------------------------				
*
* File:  MPC860.H
** Description:  
*
* Definitions of the parameter area RAM.
* Note that different structures are overlaid
* at the same offsets for the different modes
* of operation.
*
* History:
** 12/12/95	lvn	Bundled multiple files from MSIL into this file
*
* 6/18/96   saw     Replaced:
*
*                   VUWORD	simt_tbscr;
*	                 VUWORD	simt_rtcsc;
*	                 With:
*
*                   VUHWORD	simt_tbscr;
*                   VUBYTE	RESERVED100[0x2];
*                   VUHWORD	simt_rtcsc;
*                   VUBYTE	RESERVED110[0x2];
*
* 10/4/96      saw  Filled in PCMCIA section.
*
* 11/21/96     saw  Changed address of PIP PBODR to 0xac2 from 0xac0.
*
* 12/18/96     saw  Renamed Registers:
*
*                        scc_gsmra -> scc_gsmr_l
*                        scc_gsmrb -> scc_gsmr_h
*
* 1/6/97       sgj  Created 860 version from 8xx code standard
*
* 7/18/97	   sgj  Corrected mapping of Ucode/BD DPRAM
*
* 8/8/97       sgj  Added definitions for key registers for System
*                   Integration timers, Clock, and Reset
*
* 8/26/97      sgj  Removed ADS-specific definitions and
*                   reorganized for readability
*
* 11/20/97     jay  Added to and cleaned up the parameter map definitions
* 
*-----------------------------------------------------------------------------*/


/******************************************************************************
*
* Definitions of Parameter RAM entries for each peripheral and mode
*
******************************************************************************/

/*---------------------------------------------------------------------------*/
/*	                    HDLC parameter RAM (SCC)							           */
/*---------------------------------------------------------------------------*/

struct hdlc_pram 

{
       
   /*-------------------*/
   /* SCC parameter RAM */
   /*-------------------*/
   
   UHWORD	rbase;		/* RX BD base address */
   UHWORD	tbase;		/* TX BD base address */
   UBYTE	   rfcr;		   /* Rx function code */
   UBYTE	   tfcr;		   /* Tx function code */
   UHWORD	mrblr;		/* Rx buffer length */
   UWORD	   rstate;		/* Rx internal state */
   UWORD	   rptr;		   /* Rx internal data pointer */
   UHWORD	rbptr;		/* rb BD Pointer */
   UHWORD	rcount;		/* Rx internal byte count */
   UWORD	   rtemp;		/* Rx temp */
   UWORD	   tstate;		/* Tx internal state */
   UWORD	   tptr;		   /* Tx internal data pointer */
   UHWORD	tbptr;		/* Tx BD pointer */
   UHWORD	tcount;		/* Tx byte count */
   UWORD	   ttemp;		/* Tx temp */
   UWORD	   rcrc;		   /* temp receive CRC */
   UWORD	   tcrc;		   /* temp transmit CRC */
   
   /*-----------------------------*/
   /* HDLC specific parameter RAM */
   /*-----------------------------*/

   UBYTE	   RESERVED1[4];	/* Reserved area */
   UWORD	   c_mask;			/* CRC constant */
   UWORD	   c_pres;			/* CRC preset */
   UHWORD	disfc;			/* discarded frame counter */
   UHWORD	crcec;			/* CRC error counter */
   UHWORD	abtsc;			/* abort sequence counter */
   UHWORD	nmarc;			/* nonmatching address rx cnt */
   UHWORD	retrc;			/* frame retransmission cnt */
   UHWORD	mflr;			   /* maximum frame length reg */
   UHWORD	max_cnt;		   /* maximum length counter */
   UHWORD	rfthr;			/* received frames threshold */
   UHWORD	rfcnt;			/* received frames count */
   UHWORD	hmask;			/* user defined frm addr mask */
   UHWORD	haddr1;			/* user defined frm address 1 */
   UHWORD	haddr2;			/* user defined frm address 2 */
   UHWORD	haddr3;			/* user defined frm address 3 */
   UHWORD	haddr4;			/* user defined frm address 4 */
   UHWORD	tmp;			   /* temp */
   UHWORD	tmp_mb;			/* temp */
};


/*-------------------------------------------------------------------------*/
/*	                 ASYNC HDLC parameter RAM (SCC)						         */
/*-------------------------------------------------------------------------*/

struct async_hdlc_pram 

{
       
   /*-------------------*/
   /* SCC parameter RAM */
   /*-------------------*/

   UHWORD	rbase;		/* RX BD base address */
   UHWORD	tbase;		/* TX BD base address */
   UBYTE	   rfcr;		   /* Rx function code */
   UBYTE	   tfcr;		   /* Tx function code */
   UHWORD	mrblr;		/* Rx buffer length */
   UWORD	   rstate;		/* Rx internal state */
   UWORD	   rptr;		   /* Rx internal data pointer */
   UHWORD	rbptr;		/* rb BD Pointer */
   UHWORD	rcount;		/* Rx internal byte count */
   UWORD	   rtemp;		/* Rx temp */
   UWORD	   tstate;		/* Tx internal state */
   UWORD	   tptr;		   /* Tx internal data pointer */
   UHWORD	tbptr;		/* Tx BD pointer */
   UHWORD	tcount;		/* Tx byte count */
   UWORD 	ttemp;		/* Tx temp */
   UWORD	   rcrc;		   /* temp receive CRC */
   UWORD    tcrc;		   /* temp transmit CRC */
         
   /*-----------------------------------*/
   /* ASYNC HDLC specific parameter RAM */
   /*-----------------------------------*/

   UBYTE	   RESERVED1[4];	/* Reserved area */
   UWORD	   c_mask;			/* CRC constant */
   UWORD	   c_pres;			/* CRC preset */
   UHWORD	bof;			   /* begining of flag character */
   UHWORD	eof;			   /* end of flag character */
   UHWORD	esc;			   /* control escape character */
   UBYTE	   RESERVED2[4];	/* Reserved area */
   UHWORD	zero;			   /* zero */
   UBYTE	   RESERVED3[2];	/* Reserved area */
   UHWORD	rfthr;			/* received frames threshold */
   UBYTE	   RESERVED4[4];	/* Reserved area */
   UWORD	   txctl_tbl;		/* Tx ctl char mapping table */
   UWORD	   rxctl_tbl;		/* Rx ctl char mapping table */
   UHWORD	nof;			   /* Number of opening flags */
};


/*--------------------------------------------------------------------------*/
/*                    UART parameter RAM (SCC)								       */
/*--------------------------------------------------------------------------*/

/*----------------------------------------*/
/* bits in uart control characters table  */
/*----------------------------------------*/

#define	CC_INVALID	0x8000		/* control character is valid */
#define	CC_REJ		0x4000		/* don't store char in buffer */
#define	CC_CHAR		0x00ff		/* control character */

/*------*/
/* UART */
/*------*/

struct uart_pram 

{
   /*-------------------*/
   /* SCC parameter RAM */
   /*-------------------*/

   UHWORD	rbase;		/* RX BD base address */
   UHWORD	tbase;		/* TX BD base address */
   UBYTE	   rfcr;		   /* Rx function code */
   UBYTE	   tfcr;		   /* Tx function code */
   UHWORD	mrblr;		/* Rx buffer length */
   UWORD	   rstate;		/* Rx internal state */
   UWORD	   rptr;		   /* Rx internal data pointer */
   UHWORD	rbptr;		/* rb BD Pointer */
   UHWORD	rcount;		/* Rx internal byte count */
   UWORD	   rx_temp;	   /* Rx temp */
   UWORD	   tstate;		/* Tx internal state */
   UWORD	   tptr;		   /* Tx internal data pointer */
   UHWORD	tbptr;		/* Tx BD pointer */
   UHWORD	tcount;		/* Tx byte count */
   UWORD	   ttemp;		/* Tx temp */
   UWORD	   rcrc;		   /* temp receive CRC */
   UWORD	   tcrc;		   /* temp transmit CRC */

   /*------------------------------*/
   /*	UART specific parameter RAM  */
   /*------------------------------*/

   UBYTE	   RESERVED1[8];	/* Reserved area */
   UHWORD	max_idl;		   /* maximum idle characters */
   UHWORD	idlc;			   /* rx idle counter (internal) */
   UHWORD	brkcr;			/* break count register */

   UHWORD	parec;			/* Rx parity error counter */
   UHWORD	frmer;			/* Rx framing error counter */
   UHWORD	nosec;			/* Rx noise counter */
   UHWORD	brkec;			/* Rx break character counter */
   UHWORD	brkln;			/* Reaceive break length */
                                           
   UHWORD	uaddr1;			/* address character 1 */
   UHWORD	uaddr2;			/* address character 2 */
   UHWORD	rtemp;			/* temp storage */
   UHWORD	toseq;			/* Tx out of sequence char */
   UHWORD	cc[8];			/* Rx control characters */
   UHWORD	rccm;			   /* Rx control char mask */
   UHWORD	rccr;			   /* Rx control char register */
   UHWORD	rlbc;			   /* Receive last break char */
};


/*---------------------------------------------------------------------------
*                    BISYNC parameter RAM (SCC)
*--------------------------------------------------------------------------*/

struct bisync_pram 

{
   /*-------------------*/
   /* SCC parameter RAM */
   /*-------------------*/

   UHWORD	rbase;		/* RX BD base address */
   UHWORD	tbase;		/* TX BD base address */
   UBYTE	   rfcr;		   /* Rx function code */
   UBYTE	   tfcr;		   /* Tx function code */
   UHWORD	mrblr;		/* Rx buffer length */
   UWORD	   rstate;		/* Rx internal state */
   UWORD	   rptr;		   /* Rx internal data pointer */
   UHWORD	rbptr;		/* rb BD Pointer */
   UHWORD	rcount;		/* Rx internal byte count */
   UWORD	   rtemp;		/* Rx temp */
   UWORD	   tstate;		/* Tx internal state */
   UWORD	   tptr;		   /* Tx internal data pointer */
   UHWORD	tbptr;		/* Tx BD pointer */
   UHWORD	tcount;		/* Tx byte count */
   UWORD	   ttemp;		/* Tx temp */
   UWORD	   rcrc;		   /* temp receive CRC */
   UWORD	   tcrc;		   /* temp transmit CRC */

   /*--------------------------------*/
   /*	BISYNC specific parameter RAM */
   /*--------------------------------*/

   UBYTE	   RESERVED1[4];	/* Reserved area */
   UWORD	   crcc;			   /* CRC Constant Temp Value */
   UHWORD	prcrc;			/* Preset Receiver CRC-16/LRC */
   UHWORD	ptcrc;			/* Preset Transmitter CRC-16/LRC */
   UHWORD	parec;			/* Receive Parity Error Counter */
   UHWORD	bsync;			/* BISYNC SYNC Character */
   UHWORD	bdle;			   /* BISYNC DLE Character */
   UHWORD	cc[8];			/* Rx control characters */
   UHWORD	rccm;			   /* Receive Control Character Mask */
};


/*-------------------------------------------------------------------------*/
/*             Transparent mode parameter RAM (SCC)						   */
/*-------------------------------------------------------------------------*/

struct transparent_pram 

{
   /*--------------------*/
   /*	SCC parameter RAM */
   /*--------------------*/

   UHWORD	rbase;		/* RX BD base address */
   UHWORD	tbase;		/* TX BD base address */
   UBYTE	   rfcr;		   /* Rx function code */
   UBYTE	   tfcr;		   /* Tx function code */
   UHWORD	mrblr;		/* Rx buffer length */
   UWORD	   rstate;		/* Rx internal state */
   UWORD	   rptr;		   /* Rx internal data pointer */
   UHWORD	rbptr;		/* rb BD Pointer */
   UHWORD	rcount;		/* Rx internal byte count */
   UWORD	   rtemp;		/* Rx temp */
   UWORD	   tstate;		/* Tx internal state */
   UWORD	   tptr;		   /* Tx internal data pointer */
   UHWORD	tbptr;		/* Tx BD pointer */
   UHWORD	tcount;		/* Tx byte count */
   UWORD	   ttemp;		/* Tx temp */
   UWORD	   rcrc;		   /* temp receive CRC */
   UWORD	   tcrc;		   /* temp transmit CRC */

   /*-------------------------------------*/
   /*	TRANSPARENT specific parameter RAM */
   /*-------------------------------------*/

   UWORD	crc_p;		/* CRC Preset */
   UWORD	crc_c;		/* CRC constant */
};


/*-------------------------------------------------------------------------*/ 
/*                    Ethernet parameter RAM (SCC)						         */
/*-------------------------------------------------------------------------*/

struct ethernet_pram 

{
   /*--------------------*/
   /*	SCC parameter RAM */
   /*--------------------*/

   UHWORD	rbase;		/* RX BD base address */
   UHWORD	tbase;		/* TX BD base address */
   UBYTE	   rfcr;		   /* Rx function code */
   UBYTE	   tfcr;		   /* Tx function code */
   UHWORD	mrblr;		/* Rx buffer length */
   UWORD	   rstate;	 	/* Rx internal state */
   UWORD	   rptr;		   /* Rx internal data pointer */
   UHWORD	rbptr;		/* rb BD Pointer */
   UHWORD	rcount;		/* Rx internal byte count */
   UWORD	   rtemp;		/* Rx temp */
   UWORD	   tstate;		/* Tx internal state */
   UWORD	   tptr;		   /* Tx internal data pointer */
   UHWORD	tbptr;		/* Tx BD pointer */
   UHWORD	tcount;		/* Tx byte count */
   UWORD	   ttemp;		/* Tx temp */
   UWORD	   rcrc;		   /* temp receive CRC */
   UWORD	   tcrc;		   /* temp transmit CRC */

   /*---------------------------------*/
   /*	ETHERNET specific parameter RAM */
   /*---------------------------------*/

   UWORD	   c_pres;			/* preset CRC */
   UWORD	   c_mask;			/* constant mask for CRC */
   UWORD	   crcec;			/* CRC error counter */
   UWORD	   alec;			   /* alighnment error counter */
   UWORD	   disfc;			/* discard frame counter */
   UHWORD	pads;			   /* short frame PAD characters */
   UHWORD	ret_lim;		   /* retry limit threshold */
   UHWORD	ret_cnt;		   /* retry limit counter */
   UHWORD	mflr;			   /* maximum frame length reg */
   UHWORD	minflr;			/* minimum frame length reg */
   UHWORD	maxd1;			/* maximum DMA1 length reg */
   UHWORD	maxd2;			/* maximum DMA2 length reg */
   UHWORD	maxd;			   /* rx max DMA */
   UHWORD	dma_cnt;		   /* rx dma counter */
   UHWORD	max_b;			/* max bd byte count */
   UHWORD	gaddr1;			/* group address filter 1 */
   UHWORD	gaddr2;			/* group address filter 2 */
   UHWORD	gaddr3;			/* group address filter 3 */
   UHWORD	gaddr4;			/* group address filter 4 */
   UWORD	   tbuf0_data0;	/* save area 0 - current frm */
   UWORD	   tbuf0_data1;	/* save area 1 - current frm */
   UWORD	   tbuf0_rba0;
   UWORD	   tbuf0_crc;
   UHWORD	tbuf0_bcnt;
   UHWORD	paddr_h;		   /* physical address (MSB) */
   UHWORD	paddr_m;		   /* physical address */
   UHWORD	paddr_l;		   /* physical address (LSB) */
   UHWORD	p_per;			/* persistence */
   UHWORD	rfbd_ptr;		/* rx first bd pointer */
   UHWORD	tfbd_ptr;		/* tx first bd pointer */

⌨️ 快捷键说明

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