亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? le1vediag.c

?? Zalink50114----TDMoIP芯片驅動源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
	 sprintf((buffer+strlen(buffer)),"Tmi_ovf_Msk(0x60010):\t %08x\tTask manager interface overflow mask\n",value);
	 ZL5011X_REG_READ(slotNum, ZL5011X_PLA_BASE + 0x60018, &value);
	 sprintf((buffer+strlen(buffer)),"cxt_err_clear(0x60018):\t %08x\tWrite in zero, prior to reading Context error memory\n",value);
	 
	 sprintf((buffer+strlen(buffer)),"Zl5011x TIF Block key Register Value:\t\n");
	 ZL5011X_REG_READ(slotNum, ZL5011X_TIF_BASE + 0x0, &value);
	 sprintf((buffer+strlen(buffer)),"TIF Control(0x60008):\t %08x\tDefines the operational modes for the TDM inputs and outputs\n",value);

	 sprintf((buffer+strlen(buffer)),"Zl5011x TM Block key Register Value:\t\n");
	 ZL5011X_REG_READ(slotNum, ZL5011X_TM_BASE + 0x44, &value);
	 sprintf((buffer+strlen(buffer)),"TM_clear_int_reg(0x44):\t %08x\tTM Interrupt Clear register\n",value);
	 ZL5011X_REG_READ(slotNum, ZL5011X_PLA_BASE + 0x84, &value);
	 sprintf((buffer+strlen(buffer)),"TM_mask_int_reg(084):\t %08x\tTM Interrupt Mask register\n",value);
	 ZL5011X_REG_READ(slotNum, ZL5011X_PLA_BASE + 0xc0, &value);
	 sprintf((buffer+strlen(buffer)),"TM_int_reg(0xc0):\t %08x\tTM Interrupt register 'raw'\n",value);
	 ZL5011X_REG_READ(slotNum, ZL5011X_PLA_BASE + 0xc4, &value);
	 sprintf((buffer+strlen(buffer)),"TM_int_poll_reg(0xc4):\t %08x\tTM Interrupt Status register\n",value);

     if(CARD_TMD_OVER_IP_4_1 == b_physIfType(slotNum))
     {
         sprintf((buffer+strlen(buffer)),"========\tEnd Slot %d E1VE Card\t========%d\n",slotNum,(int)strlen(buffer));
     }
     else
     {
         sprintf((buffer+strlen(buffer)),"========\tEnd Slot %d T1VE Card\t========%d\n",slotNum,(int)strlen(buffer));
     }
     return OK;
}
/******************************************************
 Function:
  drv_le1veShowCpld()

 Description:
  打印E1VE板CPLD 基本信息
 Inputs:
  slotNum 槽位號
  buffer 回顯字符串指針
 Outputs:
  buffer 

 Returns:
   OK or ERROR
 Remarks:
  *******************************************************/
int drv_le1veShowCpld(int slotNum, char *buffer)
{
    int i=0;
	int value=0;
    if(CARD_TMD_OVER_IP_4_1 == b_physIfType(slotNum))
    {
        sprintf(buffer,"\n========\tSlot: %d E1VE Card CPLD\t ========\n",slotNum);
    }
    else
    {
        sprintf(buffer,"\n========\tEnd Slot: %d T1VE Card CPLD\t========\n",slotNum);
    }
    for(i=0;i<0x1b;i++)
    {
        if(0 ==(i % 16))
	        sprintf((buffer+strlen(buffer)),"\n%08x:",i);
		value = drv_cpldRegRead(slotNum,4*(LE1VE_CPLD_OFFSET+i));
		sprintf((buffer+strlen(buffer)),"%02x ", value & 0xFF);
    }
	sprintf((buffer+strlen(buffer)),"\ninterface_type_addr(0x00) \t\tinterface_sub_type_addr(0x01)\n");
    sprintf((buffer+strlen(buffer)),"cpld_version_addr(0x02) \t\tdevice_id_addr(0x03)\n");
	sprintf((buffer+strlen(buffer)),"interrupt_state_addr(0x05) \t\tinterrupt_indicate_addr(0x06)\n");
    sprintf((buffer+strlen(buffer)),"interrupt_mask_addr(0x07)\t:0-enable 1-disable \nimpedance_switch_addr(0x08)\t:0-75 1-210\n");
    sprintf((buffer+strlen(buffer)),"dm_ctl_addr(0x13)\t\t:0-4354 TDM 1-BACkPLANE TDM\nadaptive_clock_addr(0x1a)\t:0-disable 1-enable\n");	
	sprintf((buffer+strlen(buffer)),"H-MVIP_16M_clock(0x1b)\t: 1-line_refclk 2-TMV-8dc 3-local 16M \n");
	if(CARD_TMD_OVER_IP_4_1 == b_physIfType(slotNum))
    {
        sprintf((buffer+strlen(buffer)),"========\tSlot: %d E1VE Card CPLD\t ========\n",slotNum);
    }
    else
    {
        sprintf((buffer+strlen(buffer)),"========\tEnd Slot: %d T1VE Card CPLD\t========\n",slotNum);
    }
	return OK;
}
/******************************************************
 Function:
  drv_le1veShowFpga()

 Description:
  打印E1VE板FPGA 基本信息
 Inputs:
  slotNum 槽位號
  buffer 回顯字符串指針
 Outputs:
  buffer 

 Returns:
   OK or ERROR
 Remarks:
  *******************************************************/
int drv_le1veShowFpga(int slotNum, char *buffer)
{
	LE1VE_PCI_DRV_CTRL  *pDrv =NULL;
    int i=0;
	int value =0;
    if(CARD_TMD_OVER_IP_4_1 == b_physIfType(slotNum))
    {
        sprintf(buffer,"\n========\tSlot: %d E1VE Card FPGA\t ========\n",slotNum);
    }
    else
    {
        sprintf(buffer,"\n========\tSlot: %d T1VE Card FPGA\t========\n",slotNum);
    }
    for(i=0;i<0xB;i++)
    {
        if(0 ==(i % 16))
	        sprintf((buffer+strlen(buffer)),"\n%08x:",i);
		value = drv_fpgaRegRead(slotNum,4*(LE1VE_FPGA_OFFSET+i));
		sprintf((buffer+strlen(buffer)),"%02x ", value & 0xFF);
    }
    sprintf((buffer+strlen(buffer)),"\nVersion_reg(0x00)\t: Bit[3:0]-sub version\tBit[7:4]-major version \n");
    sprintf((buffer+strlen(buffer)),"DeviceID_reg(0x01)\n");
	sprintf((buffer+strlen(buffer)),"Down_succ_reg0(0x02)\t: 0x55 for success\n");
    sprintf((buffer+strlen(buffer)),"Down_succ_reg1(0x03)\t: 0xAA for success\n");
    sprintf((buffer+strlen(buffer)),"Cpu_ctl_reg(0x03)\t: Bit[0]: 1-write enable \t\tBit[1]: 1-read enalbe\n");
	sprintf((buffer+strlen(buffer)),"\t\t\t  Bit[5]: 1-operation time over\t\tBit[6]: 1-data ready\n\t\t\t  Bit[7]: 0-bus free 1--bus busy\n");
	sprintf((buffer+strlen(buffer)),"Cpu_addr_reg\t: Bit[23:0] composed by reg(0x04)[0-7] and reg(0x05)[8-15] and reg(0x06)[16-23]\n");
	sprintf((buffer+strlen(buffer)),"Cpu_data_reg\t: Bit[31:0] composed by reg(0x07)[0-7] and reg(0x08)[8-15] and reg(0x09)[16-23] \n\t\t  and reg(0x10)[24-32]\n");
    sprintf((buffer+strlen(buffer)),"\nFPGA PCI Registers:\n");
	pDrv = (LE1VE_PCI_DRV_CTRL  *)gpLe1veDrvCtrl[slotNum - 1];
	if(NULL != pDrv)
	{
	    sprintf((buffer+strlen(buffer)),"Up BD table base addr\t:%08x\n",Drv_Swap32(mapPhysToVirt(pDrv->pMem->rxDescBase)));
	    sprintf((buffer+strlen(buffer)),"Down BD table base addr\t:%08x\n",Drv_Swap32(mapPhysToVirt(pDrv->pMem->txDescBase)));
	    sprintf((buffer+strlen(buffer)),"BD table Number\t\t:%08x\n",Drv_Swap32(mapPhysToVirt(pDrv->pMem->descNum)));
	    sprintf((buffer+strlen(buffer)),"PCI Interrupt State\t:%08x\n",Drv_Swap32(mapPhysToVirt(pDrv->pMem->pciIntState)));
	    sprintf((buffer+strlen(buffer)),"PCI Interrupt Mask\t:%08x\n",Drv_Swap32(mapPhysToVirt(pDrv->pMem->pciIntMask)));
	    sprintf((buffer+strlen(buffer)),"Up Enable\t\t:%08x\n",Drv_Swap32(mapPhysToVirt(pDrv->pMem->rxEnable)));
        sprintf((buffer+strlen(buffer)),"Down Enable\t\t:%08x\n",Drv_Swap32(mapPhysToVirt(pDrv->pMem->txEnable)));
	}
	if(CARD_TMD_OVER_IP_4_1 == b_physIfType(slotNum))
    {
        sprintf((buffer+strlen(buffer)),"========\tSlot: %d E1VE Card FPGA\t ========\n",slotNum);
    }
    else
    {
        sprintf((buffer+strlen(buffer)),"========\tSlot: %d T1VE Card FPGA\t========\n",slotNum);
    }
    return OK;   
}

/******************************************************
 Function:
  drv_le1veShowBuffer()

 Description:
  打印E1VE板BUFFER 基本信息
 Inputs:
  slotNum 槽位號
  buffer 回顯字符串指針
 Outputs:
  buffer 

 Returns:
   OK or ERROR
 Remarks:
  *******************************************************/
int drv_le1veShowBuffer(int slotNum, char *buffer)
{
	LE1VE_PCI_DRV_CTRL  *pDrv =NULL;

    if(CARD_TMD_OVER_IP_4_1 == b_physIfType(slotNum))
    {
        sprintf(buffer,"\n========\tSlot: %d E1VE Card BUFFER\t ========\n",slotNum);
    }
    else
    {
        sprintf(buffer,"\n========\tSlot: %d T1VE Card BUFFER\t========\n",slotNum);
    }
	pDrv = gpLe1veDrvCtrl[slotNum - 1];
    if(NULL != pDrv)
    {
	    drv_le1veBDShow(pDrv, (buffer+strlen(buffer)));
    }
    if(CARD_TMD_OVER_IP_4_1 == b_physIfType(slotNum))
    {
        sprintf((buffer+strlen(buffer)),"========\tEnd Slot: %d E1VE Card BUFFER\t ========\n",slotNum);
    }
    else
    {
        sprintf((buffer+strlen(buffer)),"========\tEnd Slot: %d T1VE Card BUFFER\t========\n",slotNum);
    }

    return OK;
}

/******************************************************
 Function:
  diag_prjLe1veParse()

 Description:
  E1VE診斷參數解析函數
 Inputs:
  pMsg OAM消息
  pLe1veParam 項目診斷參數
 Outputs:

 Returns:
   OK or ERROR
 Remarks:
  *******************************************************/
int diag_prjLe1veParse(MSG_COMM_OAM       *pMsg, diagPrjParam *pLe1veParam)
{
   OPR_DATA *pData = (OPR_DATA *)pMsg->Data;
   DIAG_TRACE(DIAG_NORMAL_FN_ID,"diag_prjLe1veParse --",0,0,0,0,0,0);
   if(NULL== pMsg || NULL == pLe1veParam)
   {
      DIAG_TRACE(DIAG_ERR_FN_ID,"diag_prjLe1veParse --Null Pointer",0,0,0,0,0,0);
      return ERROR;
   }
   pLe1veParam->IntfCard.diagSubType = DIAG_TYPE_GET(pMsg->CmdID);
   pLe1veParam->IntfCard.slotNum= *(pData->Data);
   return OK;   
}
/******************************************************
 Function:
  drv_le1veDiag()

 Description:
  E1VE診斷入口函數
 Inputs:
  pdiagPrjParam 診斷參數指針
  ret_buffer 回顯字符串指針
 Outputs:
  *ret_buffer 

 Returns:
   OK or ERROR
 Remarks:
  *******************************************************/
int drv_le1veDiag(diagPrjParam *pdiagPrjParam, char **ret_buffer)
{
     char  *tempbuf= NULL;
     if(NULL ==(tempbuf = DIAG_ALLOC(DIAG_BUFFER_SIZE)))
     {
         return ERROR;
     }
	 memset(tempbuf,0,DIAG_BUFFER_SIZE);
    /*分配內存*/
    switch(pdiagPrjParam->IntfCard.diagSubType)
    {
            case DIAG_PRJ_CARD_CLOCKINTFO:
		        le1veDignoseDisplayClockinfo(pdiagPrjParam->IntfCard.slotNum, tempbuf);
			   break;
         case DIAG_PRJ_CARD_BASICINFO:
			drv_le1veShowCardInfo(pdiagPrjParam->IntfCard.slotNum, tempbuf);
			break;
	     case DIAG_PRJ_CARD_CPLD:
	 	       drv_le1veShowCpld(pdiagPrjParam->IntfCard.slotNum, tempbuf);
	 	       break;
	     case DIAG_PRJ_CARD_FPGA:
	 	       drv_le1veShowFpga(pdiagPrjParam->IntfCard.slotNum, tempbuf);
	 	       break;
	     case DIAG_PRJ_CARD_BUFFER:
	 	       drv_le1veShowBuffer(pdiagPrjParam->IntfCard.slotNum, tempbuf);
	 	       break;
	         default :
		       break;
    }
    (*ret_buffer) = tempbuf; 
    return OK;
}

int drv_le1veRegister(int slotNum)
{
    return  diag_prjIntfCardCtrlRegist(slotNum, diag_prjLe1veParse, drv_le1veDiag);
}
/********  test function ******/
int test_le1vebuffer(int slot)
{
   char *buffer =NULL;
   LE1VE_PCI_DRV_CTRL * pDrv =NULL;
   if(slot <1 || slot >8)
     return ERROR;
   if(NULL == (buffer = DIAG_ALLOC(DIAG_BUFFER_SIZE)))
   {
      return ERROR;
   }
   pDrv = (LE1VE_PCI_DRV_CTRL  *)gpLe1veDrvCtrl[slot - 1];
   drv_le1veBDShow(pDrv,buffer);
   printf("%s",buffer);
   DIAG_FREE(buffer);
   return OK;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美经典一区二区| 午夜精品久久久久久久 | 久久久久久久久久电影| 国产精品二区一区二区aⅴ污介绍| 亚洲一区在线看| 成人18视频日本| 精品美女一区二区| 偷偷要91色婷婷| 91视频国产观看| 欧美国产日韩亚洲一区| 免费成人在线影院| 欧美日韩国产精选| 亚洲精品伦理在线| caoporn国产精品| 久久久91精品国产一区二区精品| 蜜桃av一区二区三区| 欧美日韩不卡在线| 亚洲永久精品国产| 色拍拍在线精品视频8848| 国产精品每日更新在线播放网址| 久久99精品国产.久久久久| 91麻豆精品国产综合久久久久久 | 日韩一级大片在线观看| 亚洲综合色区另类av| 一本色道久久综合亚洲aⅴ蜜桃 | 9人人澡人人爽人人精品| 26uuu色噜噜精品一区| 免费成人美女在线观看.| 欧美一区二区三区视频在线 | 一区二区激情视频| 91黄视频在线观看| 亚洲欧美日韩国产综合在线| 99精品视频在线观看免费| 国产精品视频一二三区| 成人免费视频免费观看| 国产日产欧美精品一区二区三区| 国产精品一区免费视频| 国产欧美视频在线观看| 成人白浆超碰人人人人| 国产精品白丝在线| 在线视频你懂得一区二区三区| 亚洲精品免费在线播放| 欧美三级欧美一级| 久久国产精品露脸对白| 久久亚洲综合色| 国产99久久久国产精品 | 国产精品天干天干在观线| 粉嫩av一区二区三区粉嫩| 国产精品妹子av| 在线视频欧美区| 久久精品久久99精品久久| 久久综合九色综合欧美亚洲| 国产精品69毛片高清亚洲| 国产精品人成在线观看免费 | 亚洲国产综合91精品麻豆| 欧美精品自拍偷拍| 国产成人av电影在线观看| 亚洲婷婷在线视频| 欧美精品第一页| 国产在线乱码一区二区三区| 国产日韩一级二级三级| 色综合色综合色综合色综合色综合 | 亚洲综合色噜噜狠狠| 欧美乱熟臀69xxxxxx| 精品一区二区三区的国产在线播放 | 欧美精品乱码久久久久久| 精品一区二区在线观看| 中文字幕五月欧美| 欧美日韩中文字幕一区二区| 国产一区二区三区综合| 亚洲人妖av一区二区| 日韩欧美亚洲一区二区| 一本色道久久综合亚洲91| 久久成人18免费观看| 亚洲色大成网站www久久九九| 欧美一区二区三区在线观看| 99精品久久久久久| 久久99精品国产麻豆婷婷洗澡| 亚洲欧洲综合另类| 久久久一区二区三区| 欧美亚洲高清一区二区三区不卡| 国产一区二区主播在线| 亚洲国产欧美在线| 亚洲青青青在线视频| 久久久国际精品| 欧美一级视频精品观看| 色综合久久中文综合久久牛| 国产乱人伦偷精品视频不卡| 午夜精品免费在线| 亚洲精品免费看| 亚洲婷婷综合久久一本伊一区| 久久夜色精品国产噜噜av| 91精品福利在线一区二区三区| 日本国产一区二区| 99视频超级精品| 国产成人免费av在线| 国产露脸91国语对白| 麻豆精品一区二区| 天堂成人免费av电影一区| 亚洲综合视频在线| 又紧又大又爽精品一区二区| 国产精品国产三级国产普通话蜜臀| 精品国产凹凸成av人导航| 日韩欧美一区二区免费| 制服视频三区第一页精品| 欧美美女直播网站| 欧美夫妻性生活| 3d成人h动漫网站入口| 欧美日韩一二区| 精品视频123区在线观看| 日本丰满少妇一区二区三区| av高清不卡在线| 色综合久久中文字幕| 欧美在线综合视频| 精品视频在线免费看| 欧美日韩美少妇| 日韩一区二区三区在线观看| 91精品国产欧美日韩| 日韩欧美一区二区在线视频| 欧美一区二区精品久久911| 日韩欧美高清dvd碟片| 日韩你懂的在线播放| 2019国产精品| 日本一区二区成人在线| 国产精品国产三级国产a| 亚洲视频在线观看一区| 一个色在线综合| 日韩av不卡一区二区| 极品少妇xxxx精品少妇| 国产精品性做久久久久久| 成人手机在线视频| 一本色道久久加勒比精品| 在线综合视频播放| 久久久久高清精品| 亚洲精品日韩一| 日韩av成人高清| 国产成人精品一区二区三区四区 | 欧美一级国产精品| 久久免费看少妇高潮| 中文字幕一区二区三区四区不卡 | 4438x成人网最大色成网站| 欧美本精品男人aⅴ天堂| 国产精品视频一区二区三区不卡| 亚洲精品国产一区二区精华液| 首页综合国产亚洲丝袜| 久久99精品一区二区三区三区| 成人午夜av在线| 欧美裸体一区二区三区| 国产欧美中文在线| 亚洲国产乱码最新视频| 国产精品一区二区在线看| 91精彩视频在线观看| 欧美成人一区二区三区| 1000部国产精品成人观看| 久久国产精品一区二区| 91美女福利视频| 26uuu另类欧美亚洲曰本| 亚洲图片一区二区| 成人国产电影网| 日韩美女天天操| 一区二区三区欧美在线观看| 国产精品一区在线观看乱码| 欧美性猛交一区二区三区精品 | 成人app网站| 日韩精品自拍偷拍| 亚洲精品视频观看| 国产精品正在播放| 欧美一区二区三区思思人| 一二三四社区欧美黄| av一区二区三区在线| 精品福利在线导航| 天天亚洲美女在线视频| 色狠狠综合天天综合综合| 国产日韩欧美高清| 久久99国产精品成人| 欧美人成免费网站| 一区二区三区四区中文字幕| 成人av在线播放网站| 国产午夜亚洲精品午夜鲁丝片| 青青草精品视频| 欧美丰满一区二区免费视频| 亚洲综合在线五月| 91香蕉视频污| 亚洲视频一区在线观看| av电影天堂一区二区在线| 国产精品乱子久久久久| 国产在线日韩欧美| 久久综合色鬼综合色| 黑人巨大精品欧美一区| 日韩免费一区二区| 麻豆成人综合网| 日韩一级欧美一级| 九九九久久久精品| www亚洲一区| 精品一区二区三区av| www国产成人| 国产成人综合在线观看| 久久久久久99精品| 成人av电影免费在线播放| 国产精品免费观看视频|