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

📄 mpc8260.h

📁 MPC8260的Fast Ethernet的例子。配置FCC为Fast Ethernet模式
💻 H
📖 第 1 页 / 共 4 页
字号:
/*--------------------------------------------------------------------------    
*
* File:  MPC8260.H
*
*
* Description:  
*
* Main Internal Memory Maps for the MPC8260 PowerQUICC 2.
*
* Note that different structures can be overlaid at the same offsets for the 
* different modes of operation.
*
*
* History:
*
* 13 JUL 98    ggh    initial version
*
*----------------------------------------------------------------------------*/

#ifndef _MPC8260_H 
#define _MPC8260_H

//#define _Packed __packed__
#define _PackedType
 
#pragma pack(push,1)

/******************************************************************************
*
*  PARAMETER RAM (PRAM) FOR EACH PERIPHERAL
*  
*  Each subsection contains protocol-specific PRAM for each peripheral,
*  followed by the PRAM common to all protocols for that peripheral.  These 
*  structs are used as needed in the main MPC8260 memory map structure.  Note 
*  that different modes of operation will require the use of different PRAM 
*  structs, and that certain structs may overlay and conflict with the use of 
*  other PRAM areas.  Consult the MPC8260 VUser Manual for details as to what
*  is unavailable when certain protocols are run on certain peripherals.
*
******************************************************************************/
                                  

/*---------------------------------------------------------------------------*/
/*                   SERIAL COMMUNICATION CONTROLLER (SCC)                   */
/*---------------------------------------------------------------------------*/

/*----------*/
/* SCC HDLC */
/*----------*/

typedef  struct 
{
    VUBYTE  reserved1[4]; /* Reserved area */
    VUWORD  c_mask;       /* CRC constant */
    VUWORD  c_pres;       /* CRC preset */
    VUHWORD disfc;        /* discarded frame counter */
    VUHWORD crcec;        /* CRC error counter */
    VUHWORD abtsc;        /* abort sequence counter */
    VUHWORD nmarc;        /* nonmatching address rx cnt */
    VUHWORD retrc;        /* frame transmission counter. */
                          /* For FCC this area is reserved.*/
    VUHWORD mflr;         /* maximum frame length reg */
    VUHWORD max_cnt;      /* maximum length counter */
    VUHWORD rfthr;        /* received frames threshold */
    VUHWORD rfcnt;        /* received frames count */
    VUHWORD hmask;        /* user defined frm addr mask */
    VUHWORD haddr1;       /* user defined frm address 1 */
    VUHWORD haddr2;       /* user defined frm address 2 */
    VUHWORD haddr3;       /* user defined frm address 3 */
    VUHWORD haddr4;       /* user defined frm address 4 */
    VUHWORD tmp;          /* temp */
    VUHWORD tmp_mb;       /* temp */
}_PackedType t_HdlcScc_Pram;

 
/*--------------*/
/* SCC Ethernet */
/*--------------*/

typedef  struct 
{
    VUWORD  c_pres;      /* CRC preset */
    VUWORD  c_mask;      /* CRC constant mask*/
    VUWORD  crcec;       /* CRC error counter */
    VUWORD  alec;        /* alignment error counter */
    VUWORD  disfc;       /* discarded frame counter */
    VUHWORD pads;        /* Short frame pad character. */
    VUHWORD ret_lim;     /* Retry limit threshold. */
    VUHWORD ret_cnt;     /* Retry limit counter. */
    VUHWORD mflr;        /* maximum frame length reg */
    VUHWORD minflr;      /* minimum frame length reg */
    VUHWORD maxd1;       /* max DMA1 length register. */
    VUHWORD maxd2;       /* max DMA2 length register. */
    VUHWORD maxd;        /* Rx max DMA. */
    VUHWORD dma_cnt;     /* Rx DMA counter. */
    VUHWORD max_b;       /* max buffer descriptor byte count. */
    VUHWORD gaddr1;      /* group address filter */
    VUHWORD gaddr2;      /* group address filter */
    VUHWORD gaddr3;      /* group address filter */
    VUHWORD gaddr4;      /* group address filter */
    VUWORD  tbuf0_data0; /* Saved area 0, current frame. */
    VUWORD  tbuf0_data1; /* Saved area 1, current frame. */
    VUWORD  tbuf0_rba0;
    VUWORD  tbuf0_crc;
    VUHWORD tbuf0_bcnt;
    VUHWORD paddr1_h;    /* physical address (MSB) */
    VUHWORD paddr1_m;    /* physical address */
    VUHWORD paddr1_l;    /* physical address (LSB) */
    VUHWORD p_per;       /* persistence */
    VUHWORD rfbd_ptr;    /* Rx first BD pointer. */
    VUHWORD tfbd_ptr;    /* Tx first BD pointer. */
    VUHWORD tlbd_ptr;    /* Tx last BD pointer. */
    VUWORD  tbuf1_data0; /* Saved area 0, next frame. */
    VUWORD  tbuf1_data1; /* Saved area 1, next frame. */
    VUWORD  tbuf1_rba0;
    VUWORD  tbuf1_crc;
    VUHWORD tbuf1_bcnt;
    VUHWORD tx_len;      /* tx frame length counter */
    VUHWORD iaddr1;      /* individual address filter. */
    VUHWORD iaddr2;      /* individual address filter.  */
    VUHWORD iaddr3;      /* individual address filter. */
    VUHWORD iaddr4;      /* individual address filter.  */
    VUHWORD boff_cnt;    /* back-off counter */
    VUHWORD taddr_h;     /* temp address (MSB) */
    VUHWORD taddr_m;     /* temp address */
    VUHWORD taddr_l;     /* temp address (LSB) */
} _PackedType t_EnetScc_Pram;

/*----------*/
/* SCC VUART */
/*----------*/

typedef  struct 
{
    VUBYTE  reserved1[8];   /* Reserved area */
    VUHWORD max_idl;        /* maximum idle characters */
    VUHWORD idlc;           /* rx idle counter (internal) */
    VUHWORD brkcr;          /* break count register */
    VUHWORD parec;          /* Rx parity error counter */
    VUHWORD frmec;          /* Rx framing error counter */
    VUHWORD nosec;          /* Rx noise counter */
    VUHWORD brkec;          /* Rx break character counter */
    VUHWORD brkln;          /* Receive break length */
    VUHWORD uaddr1;         /* address character 1 */
    VUHWORD uaddr2;         /* address character 2 */
    VUHWORD rtemp;          /* temp storage */
    VUHWORD toseq;          /* Tx out of sequence char */
    VUHWORD cc[8];          /* Rx control characters */
    VUHWORD rccm;           /* Rx control char mask */
    VUHWORD rccr;           /* Rx control char register */
    VUHWORD rlbc;           /* Receive last break char */
} _PackedType t_UartScc_Pram;


/*-----------------*/
/* SCC Transparent */
/*-----------------*/

typedef  struct  
{
    VUWORD  c_mask;         /* CRC constant */
    VUWORD  c_pres;         /* CRC preset */
} _PackedType t_TransScc_Pram;


/*------------*/
/* SCC Bisync */
/*------------*/

typedef  struct  
{
    VUBYTE  reserved1[4];   /* Reserved area */
    VUWORD  crcc;           /* CRC Constant Temp Value */
    VUHWORD prcrc;          /* Preset Receiver CRC-16/LRC */
    VUHWORD ptcrc;          /* Preset Transmitter CRC-16/LRC */
    VUHWORD parec;          /* Receive Parity Error Counter */
    VUHWORD bsync;          /* BISYNC SYNC Character */
    VUHWORD bdle;           /* BISYNC DLE Character */
    VUHWORD cc[8];          /* Rx control characters */
    VUHWORD rccm;           /* Receive Control Character Mask */
} _PackedType t_BisyncScc_Pram;


/*-----------------*/
/* SCC Common PRAM */
/*-----------------*/

typedef  struct 
{
    VUHWORD rbase;      /* RX BD base address */
    VUHWORD tbase;      /* TX BD base address */
    VUBYTE  rfcr;       /* Rx function code */
    VUBYTE  tfcr;       /* Tx function code */
    VUHWORD mrblr;      /* Rx buffer length */
    VUWORD  rstate;     /* Rx internal state */
    VUWORD  rptr;       /* Rx internal data pointer */
    VUHWORD rbptr;      /* rb BD Pointer */
    VUHWORD rcount;     /* Rx internal byte count */
    VUWORD  rtemp;      /* Rx temp */
    VUWORD  tstate;     /* Tx internal state */
    VUWORD  tptr;       /* Tx internal data pointer */
    VUHWORD tbptr;      /* Tx BD pointer */
    VUHWORD tcount;     /* Tx byte count */
    VUWORD  ttemp;      /* Tx temp */
    VUWORD  rcrc;       /* temp receive CRC */
    VUWORD  tcrc;       /* temp transmit CRC */
    union 
    {
        t_HdlcScc_Pram    h;
        t_EnetScc_Pram    e;
        t_UartScc_Pram    u;
        t_TransScc_Pram   t;
        t_BisyncScc_Pram  b;
    } SpecificProtocol;
    VUBYTE COMPLETE_SIZE_OF_DPRAM_PAGE[0x5c];
} _PackedType t_Scc_Pram;



/*---------------------------------------------------------------------------*/
/*                      FAST COMMUNICATION CONTROLLER (FCC)                  */
/*---------------------------------------------------------------------------*/

/*----------*/
/* FCC HDLC */
/*----------*/

typedef  struct 
{
    VUBYTE  reserved1[8];   /* Reserved area */
    VUWORD  c_mask;         /* CRC constant */
    VUWORD  c_pres;         /* CRC preset */
    VUHWORD disfc;          /* discarded frame counter */
    VUHWORD crcec;          /* CRC error counter */
    VUHWORD abtsc;          /* abort sequence counter */
    VUHWORD nmarc;          /* nonmatching address rx cnt */
    VUWORD  max_cnt;        /* maximum length counter */
    VUHWORD mflr;           /* maximum frame length reg */
    VUHWORD rfthr;          /* received frames threshold */
    VUHWORD rfcnt;          /* received frames count */
    VUHWORD hmask;          /* user defined frm addr mask */
    VUHWORD haddr1;         /* user defined frm address 1 */
    VUHWORD haddr2;         /* user defined frm address 2 */
    VUHWORD haddr3;         /* user defined frm address 3 */
    VUHWORD haddr4;         /* user defined frm address 4 */
    VUHWORD tmp;            /* temp */
    VUHWORD tmp_mb;         /* temp */
} _PackedType t_HdlcFcc_Pram;


/*--------------*/
/* FCC Ethernet */
/*--------------*/

typedef  struct 
{
    VUWORD  stat_bus;       /* Internal use buffer. */
    VUWORD  cam_ptr;        /* CAM address. */
    VUWORD  c_mask;         /* CRC constant mask*/
    VUWORD  c_pres;         /* CRC preset */
    VUWORD  crcec;          /* CRC error counter */
    VUWORD  alec;           /* alignment error counter */
    VUWORD  disfc;          /* discarded frame counter */
    VUHWORD ret_lim;        /* Retry limit threshold. */
    VUHWORD ret_cnt;        /* Retry limit counter. */
    VUHWORD p_per;          /* persistence */
    VUHWORD boff_cnt;       /* back-off counter */
    VUWORD  gaddr_h;        /* group address filter, high */
    VUWORD  gaddr_l;        /* group address filter, low */
    VUHWORD tfcstat;        /* out of sequece Tx BD staus. */
    VUHWORD tfclen;         /* out of sequece Tx BD length. */
    VUWORD  tfcptr;         /* out of sequece Tx BD data pointer. */
    VUHWORD mflr;           /* maximum frame length reg */
    VUHWORD paddr1_h;       /* physical address (MSB) */
    VUHWORD paddr1_m;       /* physical address */
    VUHWORD paddr1_l;       /* physical address (LSB) */
    VUHWORD ibd_cnt;        /* internal BD counter. */
    VUHWORD ibd_start;      /* internal BD start pointer. */
    VUHWORD ibd_end;        /* internal BD end pointer. */
    VUHWORD tx_len;         /* tx frame length counter */

⌨️ 快捷键说明

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