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

📄 sdevcfg.c

📁 这是单板上DPRAM的驱动程序
💻 C
字号:
/* @(#) pSOSystem/PPC V221 */
/***********************************************************************/
/*                                                                     */
/*   MODULE:  mpc8xx/ecom/src/ecom8xx.c                                */
/*   DATE:    99/10/22                                                 */
/*   AUTHOR:  Dong Aiping                                              */
/*   PURPOSE:                                                          */
/*                                                                     */
/*---------------------------------------------------------------------*/
/*                                                                     */
/*           Copyright 1999 - 2000, ZHONGXING TELECOM CO.,LTD.         */
/*                      ALL RIGHTS RESERVED                            */
/*                                                                     */
/*---------------------------------------------------------------------*/
/*                                                                     */
/*  This file defines the SDevice                                      */
/*                                                                     */
/***********************************************************************/
extern void EcomExceptionHandle(void);

UCHAR *sd_init(UCHAR *FreeMemPtr)
{
    int i,DEV;
    memset(sd_table,0,sizeof(sd_table));

    SysSetVector(V_MACH_CK,(void (*)())EcomExceptionHandle,VT_REG,MSR_ME,0);
    
    {  /* Reserved */
        EcomMiscCfgStruct cfg={0};
        FreeMemPtr=EcomMiscBspInit(SDN_MISC, FreeMemPtr, &cfg ); 
    }
    {   /* void *BaseAddr, ULONG MaxSize, ULONG UnitSize */
        Flash16CfgStruct cfg={ CS1_BASE, CS1_SIZE, 64*1024 };
        FreeMemPtr=Flash16BspInit(SDN_FLASH,FreeMemPtr,&cfg);
    }
#if 1
    if(Is2MHWInput()==TRUE)
    {   /* BaseAddr, reserved */
        MT898xCfgStruct cfg={ CS6_BASE,0};
        cfg.Imsr=IMSR_IDR_2M|IMSR_ODR_2M;
       FreeMemPtr=MT898xBspInit(SDN_MT898x,FreeMemPtr,&cfg);
    }
    else{
    /* MT8986 for 8M*/    
        {   /* BaseAddr, reserved */
            MT898xCfgStruct cfg={ CS6_BASE,0};
            cfg.Imsr=IMSR_DMO|IMSR_IDR_8M|IMSR_ODR_2M;
       FreeMemPtr=MT898xBspInit(SDN_MT898x,FreeMemPtr,&cfg);
    }
        
        
     {   /* BaseAddr, reserved */
        MT898xCfgStruct cfg={ CS3_BASE,0};
        cfg.Imsr=IMSR_DMO|IMSR_IDR_2M|IMSR_ODR_8M;
        FreeMemPtr=MT898xBspInit(SDN_MT898x_8M,FreeMemPtr,&cfg);
    }    
    }
#endif 
    
    { /* UB,ch,TDM,RecvBD,SendBD, BufLen, subnum,BDTable, IsrPara, IntTable */
        /* TDMA-->SCC2 */
        QmcGlobalCfgStruct *gid, gcfg;
        QmcSubChanCfgStruct cfg;
        memset(&gcfg,0,sizeof(gcfg));
        gcfg.ch=1;gcfg.UseTDM=1;gcfg.MaxRecvBD=gcfg.MaxSendBD=5;
        gcfg.MaxBufLen=280;
        gcfg.MaxSubChanNum=BD_QMC_CHAN_NUM1; 
        gcfg.SubChParamOffset=0;
        gcfg.IntTableLen=100;
        gcfg.InitTDM=InitTDMA;
        FreeMemPtr=QmcBspGlobalInit(FreeMemPtr,&gcfg, &gid);
        for(i=0;i<BD_QMC_CHAN_NUM1;i++)
        {
          cfg.ch=i;
          FreeMemPtr=QmcBspSubChanInit(SDN_ECOM_HDLC0+i,FreeMemPtr,&cfg,gid);
        }
        QmcInitEnd(gid);
       
    }
    { /* UB,ch,TDM,RecvBD,SendBD, BufLen, subnum,BDTable, IsrPara, IntTable */
        /* TDMB-->SCC4 */
        QmcGlobalCfgStruct *gid, gcfg;
        QmcSubChanCfgStruct cfg;
        memset(&gcfg,0,sizeof(gcfg));
        gcfg.ch=3;gcfg.UseTDM=2;gcfg.MaxRecvBD=gcfg.MaxSendBD=5;
        gcfg.MaxBufLen=280;
        gcfg.MaxSubChanNum=BD_QMC_CHAN_NUM2; 
        gcfg.SubChParamOffset=BD_QMC_CHAN_NUM1*64;
        gcfg.IntTableLen=100;
        gcfg.InitTDM=InitTDMB;
        FreeMemPtr=QmcBspGlobalInit(FreeMemPtr,&gcfg, &gid);
        for(i=0;i<BD_QMC_CHAN_NUM2;i++)
        {
          cfg.ch=i+BD_QMC_CHAN_NUM1;
          FreeMemPtr=QmcBspSubChanInit(SDN_ECOM_HDLC0+BD_QMC_CHAN_NUM1+i,FreeMemPtr,&cfg,gid);
        }
        QmcInitEnd(gid);
     
    }

#if SC_BOOT_ROM!=YES
#endif 

    return FreeMemPtr;
}

⌨️ 快捷键说明

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