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

📄 wdbserial.c

📁 IXP425的BSP代码
💻 C
字号:
/* wdbSerial.c - WDB serial communication initialization library *//* Copyright 1998 Wind River Systems, Inc. *//*modification history--------------------01c,13sep01,jhw  Fixed sysSerialChanGet return value test (SPR 70225).01b,22may98,dbt  reworked01a,11mar98,ms   written*//*DESCRIPTIONInitializes the serial connection for the WDB agent.NOMANUAL*//* lower WDB_MTU to SLMTU bytes for serial connection */#if     WDB_MTU > SLMTU#undef  WDB_MTU#define WDB_MTU SLMTU#endif  /* WDB_MTU > SLMTU *//******************************************************************************** wdbCommDevInit - initialize the serial connection** This routine initializes the serial connection used by the WDB agent.** RETURNS :* OK or ERROR if the serial connection can not be initialized.** NOMANUAL*/STATUS wdbCommDevInit    (    WDB_COMM_IF *	pCommIf,    char ** 		ppWdbInBuf,    char **		ppWdbOutBuf    )    {    SIO_CHAN *			pSioChan;	/* serial I/O channel */    static WDB_SLIP_PKT_DEV	wdbSlipPktDev;	/* SLIP packet device */    static uint_t		wdbInBuf [WDB_MTU/4];    static uint_t		wdbOutBuf [WDB_MTU/4];    /* update input & output buffer pointers */    *ppWdbInBuf = (char *) wdbInBuf;    *ppWdbOutBuf = (char *) wdbOutBuf;    /* update communcation interface mtu */    wdbCommMtu = WDB_MTU;    /* a raw serial channel supports task or external agent */    pSioChan = sysSerialChanGet (WDB_TTY_CHANNEL);    if (pSioChan == (SIO_CHAN *) ERROR)	{	if (_func_printErr != NULL)	    _func_printErr ("wdbSerialInit error: bad serial channel %d\n",		WDB_TTY_CHANNEL);	return (ERROR);	}    sioIoctl (pSioChan, SIO_BAUD_SET, (void *)WDB_TTY_BAUD);#ifdef  INCLUDE_WDB_TTY_TEST    {    int	waitChar = 0;        if (WDB_TTY_ECHO)	waitChar = 0333;#ifdef	INCLUDE_KERNEL    /* test in polled mode if the kernel hasn't started */    if (taskIdCurrent == 0)	wdbSioTest (pSioChan, SIO_MODE_POLL, waitChar);    else	wdbSioTest (pSioChan, SIO_MODE_INT, waitChar);#else	/* INCLUDE_KERNEL */    wdbSioTest (pSioChan, SIO_MODE_POLL, waitChar);#endif	/* INCLUDE_KERNEL */    }#endif  /* INCLUDE_WDB_TTY_TEST */    wdbSlipPktDevInit   (&wdbSlipPktDev, pSioChan, udpRcv);    if (udpCommIfInit (pCommIf, &wdbSlipPktDev.wdbDrvIf) == ERROR)	return (ERROR);    return (OK);    }

⌨️ 快捷键说明

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