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

VxWorks

开发平台:

C/C++

  1. /* usrWdbSys.c - configuration file for the system mode WDB agent */
  2. /* Copyright 1997-1998 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01b,03jun98,dbt  check if WDB core is initialized before initializing 
  7.  system mode. 
  8.  Set mode to system mode only if the task mode agent is not
  9.  available.
  10. 01a,21jul97,ms   taken from 01y of usrWdb.c
  11. */
  12. /*
  13. DESCRIPTION
  14. This library configures and initializes the system mode WDB agent.
  15. */
  16. /* externals */
  17. extern BOOL wdbIsInitialized;
  18. /* locals */
  19. static uint_t wdbExternStackArray [WDB_STACK_SIZE/sizeof(uint_t)];
  20. /******************************************************************************
  21. *
  22. * wdbSysModeInit - configure and initialize the system mode WDB agent.
  23. *
  24. */
  25. STATUS wdbSysModeInit (void)
  26.     {
  27.     caddr_t pExternStack;
  28.     if (!wdbIsInitialized)
  29. return (ERROR);
  30. #if _STACK_DIR == _STACK_GROWS_DOWN
  31.     pExternStack = (caddr_t)&wdbExternStackArray
  32. [WDB_STACK_SIZE/sizeof(uint_t)];
  33.     pExternStack = (caddr_t)STACK_ROUND_DOWN (pExternStack);
  34. #else /* _STACK_DIR == _STACK_GROWS_UP */
  35.     pExternStack = (caddr_t)wdbExternStackArray;
  36.     pExternStack = (caddr_t)STACK_ROUND_UP (pExternStack);
  37. #endif /* _STACK_DIR == _STACK_GROWS_DOWN */
  38.     if (wdbExternInit (pExternStack) != OK)
  39. return (ERROR);
  40.     if (!wdbRunsTasking())
  41. wdbModeSet (WDB_MODE_EXTERN);
  42.     return (OK);
  43.     }
  44. #ifdef INCLUDE_KERNEL
  45. /******************************************************************************
  46. *
  47. * wdbSp - spawn a task with default params
  48. */ 
  49. void wdbSp
  50.     (
  51.     int (*func)(),
  52.     int arg0,
  53.     int arg1,
  54.     int arg2,
  55.     int arg3,
  56.     int arg4
  57.     )
  58.     {
  59.     taskSpawn (NULL, WDB_SPAWN_PRI, WDB_SPAWN_OPTS, WDB_SPAWN_STACK_SIZE, func,
  60. arg0, arg1, arg2, arg3, arg4, 0, 0, 0, 0, 0);
  61.     }
  62. #endif /* INCLUDE_KERNEL */