wdbNetrom.c
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:2k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* wdbNetrom.c - WDB netrom communication initialization library */
  2. /* Copyright 1998 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01b,22may98,dbt  reworked
  7. 01a,11mar98,ms   written
  8. */
  9. /*
  10. DESCRIPTION
  11. Initializes the netrom connection for the WDB agent.
  12. NOMANUAL
  13. */
  14. #if WDB_NETROM_TYPE == 400
  15. #include "wdb/wdbNetromPktDrv.c"
  16. #elif WDB_NETROM_TYPE == 500
  17. #include "wdb/amc500/wdbNetromPktDrv.c"
  18. #else /* WDB_NETROM_TYPE != 400 && WDB_NETROM_TYPE != 500 */
  19. #error  WDB_NETROM_TYPE unknown
  20. #endif /* WDB_NETROM_TYPE == 400 */
  21. #if     WDB_MTU > NETROM_MTU
  22. #undef  WDB_MTU
  23. #define WDB_MTU NETROM_MTU
  24. #endif  /* WDB_MTU > NETROM_MTU */
  25. /******************************************************************************
  26. *
  27. * wdbCommDevInit - initialize the netrom connection
  28. */
  29. STATUS wdbCommDevInit
  30.     (
  31.     WDB_COMM_IF * pCommIf,
  32.     char **  ppWdbInBuf,
  33.     char ** ppWdbOutBuf
  34.     )
  35.     {
  36.     int dpOffset; /* offset of dualport RAM */
  37.     static WDB_NETROM_PKT_DEV wdbNetromPktDev;/* NETROM packet device */
  38.     static uint_t wdbInBuf [WDB_MTU/4];
  39.     static uint_t wdbOutBuf [WDB_MTU/4];
  40.     /* update input & output buffer pointers */
  41.     *ppWdbInBuf = (char *) wdbInBuf;
  42.     *ppWdbOutBuf = (char *) wdbOutBuf;
  43.     /* update communication interface mtu */
  44.     wdbCommMtu = WDB_MTU;
  45.     /* netrom packet driver - supports task or external agent */
  46.     dpOffset = (ROM_SIZE - DUALPORT_SIZE) * WDB_NETROM_WIDTH;
  47.     wdbNetromPktDevInit (&wdbNetromPktDev, (caddr_t)ROM_BASE_ADRS + dpOffset,
  48.  WDB_NETROM_WIDTH, WDB_NETROM_INDEX,
  49.  WDB_NETROM_NUM_ACCESS, udpRcv,
  50.  WDB_NETROM_POLL_DELAY);
  51.     if (udpCommIfInit (pCommIf, &wdbNetromPktDev.wdbDrvIf) == ERROR)
  52. return (ERROR);
  53.     return (OK);
  54.     }