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

📄 mpc8xxx.h

📁 开放源码实时操作系统源码.
💻 H
📖 第 1 页 / 共 5 页
字号:
    } SpecificProtocol;
    volatile CYG_BYTE COMPLETE_SIZE_OF_DPRAM_PAGE[0x5c];
} _PackedType t_Scc_Pram;



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

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

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


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

typedef _Packed struct 
{
    CYG_WORD    stat_bus;       /* Internal use buffer. */
    CYG_WORD    cam_ptr;        /* CAM address. */
    CYG_WORD    c_mask;         /* CRC constant mask*/
    CYG_WORD    c_pres;      /* CRC preset */
    CYG_WORD    crcec;          /* CRC error counter */
    CYG_WORD    alec;           /* alignment error counter */
    CYG_WORD    disfc;          /* discarded frame counter */
    CYG_WORD16   ret_lim;        /* Retry limit threshold. */
    CYG_WORD16   ret_cnt;        /* Retry limit counter. */
    CYG_WORD16   p_per;          /* persistence */
    CYG_WORD16   boff_cnt;       /* back-off counter */
    CYG_WORD    gaddr_h;        /* group address filter, high */
    CYG_WORD    gaddr_l;        /* group address filter, low */
    CYG_WORD16   tfcstat;        /* out of sequece Tx BD staus. */
    CYG_WORD16   tfclen;         /* out of sequece Tx BD length. */
    CYG_WORD    tfcptr;         /* out of sequece Tx BD data pointer. */
    CYG_WORD16   mflr;           /* maximum frame length reg */
    CYG_WORD16   paddr1_h;       /* physical address (MSB) */
    CYG_WORD16   paddr1_m;       /* physical address */
    CYG_WORD16   paddr1_l;       /* physical address (LSB) */
    CYG_WORD16   ibd_cnt;        /* internal BD counter. */
    CYG_WORD16   ibd_start;      /* internal BD start pointer. */
    CYG_WORD16   ibd_end;        /* internal BD end pointer. */
    CYG_WORD16   tx_len;         /* tx frame length counter */
    CYG_BYTE    ibd_base[0x20]; /* internal micro code usage. */
    CYG_WORD    iaddr_h;        /* individual address filter, high */
    CYG_WORD    iaddr_l;        /* individual address filter, low */
    CYG_WORD16   minflr;         /* minimum frame length reg */
    CYG_WORD16   taddr_h;        /* temp address (MSB) */
    CYG_WORD16   taddr_m;        /* temp address */
    CYG_WORD16   taddr_l;        /* temp address (LSB) */
    CYG_WORD16   pad_ptr;        /* pad_ptr. */
    CYG_WORD16   cf_type;        /* flow control frame type coding. */
    CYG_WORD16   cf_range;       /* flow control frame range. */
    CYG_WORD16   max_b;          /* max buffer descriptor byte count. */
    CYG_WORD16   maxd1;          /* max DMA1 length register. */
    CYG_WORD16   maxd2;          /* max DMA2 length register. */
    CYG_WORD16   maxd;           /* Rx max DMA. */
    CYG_WORD16   dma_cnt;        /* Rx DMA counter. */
    
    /* counter: */
    CYG_WORD    octc;           /* received octets counter. */
    CYG_WORD    colc;           /* estimated number of collisions */
    CYG_WORD    broc;           /* received good packets of broadcast address */
    CYG_WORD    mulc;           /* received good packets of multicast address */
    CYG_WORD    uspc;           /* received packets shorter then 64 octets. */
    CYG_WORD    frgc;           /* as uspc + bad packets */
    CYG_WORD    ospc;           /* received packets longer then 1518 octets. */
    CYG_WORD    jbrc;           /* as ospc + bad packets  */
    CYG_WORD    p64c;           /* received packets of 64 octets.. */
    CYG_WORD    p65c;           /* received packets of 65-128 octets.. */
    CYG_WORD    p128c;          /* received packets of 128-255 octets.. */
    CYG_WORD    p256c;          /* received packets of 256-511 octets.. */
    CYG_WORD    p512c;          /* received packets of 512-1023 octets.. */
    CYG_WORD    p1024c;         /* received packets of 1024-1518 octets.. */
    CYG_WORD    cam_buf;        /* cam respond internal buffer. */
    CYG_WORD16   rfthr;          /* received frames threshold */
    CYG_WORD16   rfcnt;          /* received frames count */
} _PackedType t_EnetFcc_Pram;


/*-----------------*/
/* FCC Common PRAM */
/*-----------------*/

typedef _Packed struct 
{
    CYG_WORD16   riptr;      /* Rx internal temporary data pointer. */
    CYG_WORD16   tiptr;      /* Tx internal temporary data pointer. */
    CYG_WORD16   reserved0;  /* Reserved */
    CYG_WORD16   mrblr;      /* Rx buffer length */
    CYG_WORD    rstate;     /* Rx internal state */
    CYG_WORD    rbase;      /* RX BD base address */
    CYG_WORD16   rbdstat;    /* Rx BD status and control */
    CYG_WORD16   rbdlen;     /* Rx BD data length */
    CYG_WORD    rdptr;      /* rx BD data pointer */
    CYG_WORD    tstate;     /* Tx internal state */
    CYG_WORD    tbase;      /* TX BD base address */
    CYG_WORD16   tbdstat;    /* Tx BD status and control */
    CYG_WORD16   tbdlen;     /* Tx BD data length */
    CYG_WORD    tdptr;      /* Tx  data pointer */
    CYG_WORD    rbptr;      /* rx BD pointer */
    CYG_WORD    tbptr;      /* Tx BD pointer */
    CYG_WORD    rcrc;       /* Temp receive CRC */
    CYG_WORD    reserved_1[0x1];
    CYG_WORD    tcrc;       /* Temp transmit CRC */
    union                /* Protocol-Specific parameter ram */
   {
        t_HdlcFcc_Pram    h;
       t_EnetFcc_Pram    e;
    } SpecificProtocol;      
} _PackedType t_Fcc_Pram;



/*---------------------------------------------------------------------------*/
/*                 MULTICHANNEL COMMUNICATION CONTROLLER (MCC)              */
/*---------------------------------------------------------------------------*/

/******************************************************************************
* Note that each MCC uses multiple logical channels.  We first define the     *
* PRAM for a logical channel (which can be used in either HDLC or Transparent *
* mode;  wherever there are differences, it is specified), followed by the    *
* PRAM for an MCC itself.                                                     *
******************************************************************************/

/*---------------------*/
/* MCC Logical Channel */
/*---------------------*/

typedef _Packed struct
{
    CYG_WORD    tstate;     /* Tx internal state. */ 
    CYG_WORD    zistate;    /* Zero insertion machine state. */
    CYG_WORD    zidata0;    /* Zero insertion high CYG_WORD16. */
    CYG_WORD    zidata1;    /* Zero insertion low CYG_WORD16. */
    CYG_WORD16   tbdflags;   /* Tx internal BD flags. */
    CYG_WORD16   tbdcnt;     /* Tx internal byte count . */
    CYG_WORD    tbdptr;     /* Tx internal data pointer. */
    CYG_WORD16   intmask;    /* Interrupt mask flags. */
    CYG_WORD16   chamr;      /* channel mode register. */
    CYG_WORD    tcrc;       /* Transparent: reserved. */
                         /* Hdlc: Temp receive CRC.*/
    CYG_WORD    rstate;     /* Rx internal state. */ 
    CYG_WORD    zdstate;    /* Zero deletion machine state. */
    CYG_WORD    zddata0;    /* Zero deletion  high CYG_WORD16. */
    CYG_WORD    zddata1;    /* Zero deletion  low CYG_WORD16. */
    CYG_WORD16   rbdflags;   /* Rx internal BD flags. */
    CYG_WORD16   rbdcnt;     /* Rx internal byte count . */
    CYG_WORD    rbdptr;     /* Rx internal data pointer. */
    CYG_WORD16   maxrlen;    /* Transparent: Max receive buffer length. */
                         /* Hdlc: Max receive frame length. */
    CYG_WORD16   sync_maxcnt;/* Transparent: Receive synchronization pattern*/
                         /* Hdlc: Max length counter. */
    CYG_WORD    rcrc;       /* Transparent: reserved. */
                         /* Hdlc: Temp receive CRC.*/
} _PackedType t_Mch_Pram;


/*----------*/
/* MCC PRAM */
/*----------*/

typedef _Packed struct
{
    CYG_WORD     mccbase;    /* A pointer to starting address of BD rings. */
    CYG_WORD16   mccstate;   /* Controller state. */
    CYG_WORD16   mrblr;      /* Maximum receive buffer length. */
    CYG_WORD16   grfthr;     /* Global receive frame threshold. */
    CYG_WORD16   grfcnt;     /* Global receive frame counter. */
    CYG_WORD     rinttmp;    /* Temp location for receive interrupt table entry. */                            
    CYG_WORD     data0;      /* Temporary location for holding data. */
    CYG_WORD     data1;      /* Temporary location for holding data. */
    CYG_WORD     tintbase;   /* Transmit interrupt table base address. */
    CYG_WORD     tintptr;    /* Transmit interrupt table pointer. */ 
    CYG_WORD     tinttmp;    /* Temp location for receive interrupt table entry. */
    CYG_WORD16   sctpbase;   /* A pointer to the super channel transmit table*/
    CYG_BYTE     res0[0x2];  /* Reserved area */
    CYG_WORD     c_mask32;   /* CRC constant. */
    CYG_WORD16   xtrabase;   /* A pointer to the beginning of extra parameters */                            
    CYG_WORD16   c_mask16;   /* CRC constant. */
    CYG_WORD     rinttmp0;   /* Temp location for receive interrupt table entry. */                            
    CYG_WORD     rinttmp1;   /* Temp location for receive interrupt table entry. */
    CYG_WORD     rinttmp2;   /* Temp location for receive interrupt table entry. */
    CYG_WORD     rinttmp3;   /* Temp location for receive interrupt table entry. */
    CYG_WORD     rintbase0;  /* Receive interrupt table base address. */
    CYG_WORD     rintptr0;   /* Receive interrupt table pointer. */
    CYG_WORD     rintbase1;  /* Receive interrupt table base address. */
    CYG_WORD     rintptr1;   /* Receive interrupt table pointer. */
    CYG_WORD     rintbase2;  /* Receive interrupt table base address. */
    CYG_WORD     rintptr2;   /* Receive interrupt table pointer. */
    CYG_WORD     rintbase3;  /* Receive interrupt table base address. */
    CYG_WORD     rintptr3;   /* Receive interrupt table pointer. */
    CYG_BYTE     pad[0xa0];
} _PackedType t_Mcc_Pram;



/*---------------------------------------------------------------------------*/
/*                              ATM PARAMETER RAM                            */
/*---------------------------------------------------------------------------*/


/*--------------------------------------*/
/* Address Compression parameters table */
/*--------------------------------------*/

_Packed struct AddressCompressionPram 
{
    volatile CYG_WORD  VptBase;  /* VP-level addressing table base address */
    volatile CYG_WORD  VctBase;  /* VC-level addressing table base address */
    volatile CYG_WORD  Vpt1Base; /* VP1-level addressing table base address */  
    volatile CYG_WORD  Vct1Base; /* VC1-level addressing table base address */
    volatile CYG_WORD16 VpMask;    /* VP mask for address compression look-up */
} _PackedType;


/*-------------------------------*/
/* External CAM parameters table */
/*-------------------------------*/

_Packed struct ExtCamPram 
{
    volatile CYG_WORD  ExtCamBase;    /* Base address of the external CAM */
    volatile CYG_BYTE  reserved00[4];  /* Reserved */
    volatile CYG_WORD  ExtCam1Base;   /* Base address of the external CAM1 */
    volatile CYG_BYTE  reserved01[6];  /* Reserved */
} _PackedType;


/*---------------------------*/
/* ATM mode parameters table */
/*---------------------------*/

typedef _Packed struct AtmPram 

⌨️ 快捷键说明

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