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

📄 usrconfig.c

📁 2410/vxworks/tornado下的基本实验包括 serial,ramdrv,interrupt,multi-FTP,TCP,UDP-Under the basic experimental
💻 C
📖 第 1 页 / 共 3 页
字号:
    loadAoutInit ();				/* use a.out format */#else	/* coff or ecoff */#if	defined(INCLUDE_ECOFF)    loadEcoffInit ();				/* use ecoff format */#else	/* ecoff */#if	defined(INCLUDE_COFF)    loadCoffInit ();				/* use coff format */#else   /* coff */#if	defined(INCLUDE_ELF)    loadElfInit ();				/* use elf format */#else#if	defined(INCLUDE_SOM_COFF)    loadSomCoffInit ();#else#if	defined(INCLUDE_PECOFF)    {    extern int loadPecoffInit();    loadPecoffInit ();    }#endif#endif#endif#endif#endif#endif#endif	/* INCLUDE_LOADER */    /* initialize wtx client to synchronize host and target symbol tables */#ifdef	INCLUDE_SYM_TBL_SYNC    symSyncLibInit ();#endif /* INCLUDE_SYM_TBL_SYNC */    /* initialize network */#ifdef  INCLUDE_NET_INIT    usrBootLineInit (sysStartType);	/* crack the bootline */# if defined(INCLUDE_LOGGING) && defined(INCLUDE_LOG_STARTUP)    logMsg ("before usrNetInit()\n", 1,2,3,4,5,6);    taskDelay (2);	/* allow time for message to be displayed */# endif	/* INCLUDE_LOGGING && INCLUDE_LOG_STARTUP */    usrNetInit (BOOT_LINE_ADRS);	/* initialize network support */# if defined(INCLUDE_LOGGING) && defined(INCLUDE_LOG_STARTUP)    logMsg ("after usrNetInit()\n", 1,2,3,4,5,6);    taskDelay (2);	/* allow time for message to be displayed */# endif	/* INCLUDE_LOGGING && INCLUDE_LOG_STARTUP */#endif	/* INCLUDE_NET_INIT */#ifdef	INCLUDE_PASSFS    {    extern STATUS passFsInit ();    extern void *passFsDevInit ();    char passName [256];    if (passFsInit (1) == OK)	{	extern char vxsim_hostname[];	extern char vxsim_cwd[];	sprintf (passName, "%s:", vxsim_hostname);	if (passFsDevInit (passName) == NULL)	    {#ifdef INCLUDE_STDIO	    printf ("passFsDevInit failed for <%s>\n", passName);#endif /* INCLUDE_STDIO */	    }	else	    {	    sprintf (passName, "%s:%s", vxsim_hostname, vxsim_cwd);	    ioDefPathSet (passName);	    }	}    else#ifdef INCLUDE_STDIO	printf ("passFsInit failed\n");#endif /* INCLUDE_STDIO */    }#endif	/* INCLUDE_PASSFS */#ifdef	INCLUDE_DOS_DISK    {    char unixName [80];    extern void unixDrv ();    extern void unixDiskInit ();    extern char *u_progname;  /* home of executable */    char *pLastSlash;    unixDrv ();    pLastSlash = strrchr (u_progname, '/');    pLastSlash = (pLastSlash == NULL) ? u_progname : (pLastSlash + 1);    sprintf (unixName, "/tmp/%s%d.dos", pLastSlash, sysProcNumGet());    unixDiskInit (unixName, "A:", 0);    }#endif	/* INCLUDE_DOS_DISK */    /* initialize shared memory objects */#ifdef INCLUDE_SM_OBJ			/* unbundled shared memory objects */    usrSmObjInit (BOOT_LINE_ADRS);#endif /* INCLUDE_SM_OBJ */   /* initialize WindMP */#ifdef INCLUDE_VXFUSION			/* unbundled VxFusion (distributed objects) */    usrVxFusionInit (BOOT_LINE_ADRS);#ifdef INCLUDE_SHOW_ROUTINES    {    extern void msgQDistShowInit();    extern void distNameShowInit ();    extern void distIfShowInit ();    extern void msgQDistGrpShowInit ();    msgQDistShowInit();    distNameShowInit ();    distIfShowInit ();    msgQDistGrpShowInit ();    }#endif /* INCLUDE_SHOW_ROUTINES */#endif /* INCLUDE_WINDMP */    /* write protect text segment & vector table only after bpattach () */#ifdef	INCLUDE_MMU_FULL		/* unbundled mmu product */#ifdef	INCLUDE_PROTECT_TEXT    if (vmTextProtect () != OK)	printf ("\nError protecting text segment. errno = %x\n", errno);#endif	/* INCLUDE_PROTECT_TEXT */#ifdef	INCLUDE_PROTECT_VEC_TABLE    if (intVecTableWriteProtect () != OK)	printf ("\nError protecting vector table. errno = %x\n", errno);#endif	/* INCLUDE_PROTECT_VEC_TABLE */#endif	/* INCLUDE_MMU_FULL */    /* install select hook only after NFS/RPC for proper delete hook order */#ifdef	INCLUDE_SELECT    selTaskDeleteHookAdd ();#endif	/* INCLUDE_SELECT */    /* create system and status symbol tables */#ifdef  INCLUDE_STANDALONE_SYM_TBL# if defined(INCLUDE_LOGGING) && defined(INCLUDE_LOG_STARTUP)    logMsg ("before symTblCreate()\n", 1,2,3,4,5,6);    taskDelay (2);	/* allow time for message to be displayed */# endif	/* INCLUDE_LOGGING && INCLUDE_LOG_STARTUP */    sysSymTbl = symTblCreate (SYM_TBL_HASH_SIZE_LOG2, TRUE, memSysPartId);#ifdef	INCLUDE_SYM_TBL_SYNC    /* create a module (group 1) that is not synchronized (SPR# 20301) */    moduleCreate ("vxWorks.sym",#if (defined INCLUDE_AOUT)		  MODULE_A_OUT,#elif ((defined INCLUDE_COFF) || (defined INCLUDE_ECOFF) || \       (defined INCLUDE_SOMCOFF))		  MODULE_ECOFF,#elif (defined INCLUDE_ELF)		  MODULE_ELF,#endif /* INCLUDE_AOUT */		  HIDDEN_MODULE|LOAD_NO_SYMBOLS);#endif /* INCLUDE_SYM_TBL_SYNC */    printf ("\nAdding %ld symbols for standalone.\n", standTblSize);    /* fill in from built in table*/    for (ix = 0; (ULONG) ix < standTblSize; ix++)#if	((CPU_FAMILY == ARM) && ARM_THUMB)	thumbSymTblAdd (sysSymTbl, &(standTbl[ix]));#else	symTblAdd (sysSymTbl, &(standTbl[ix]));#endif	/* CPU_FAMILY == ARM */# if defined(INCLUDE_LOGGING) && defined(INCLUDE_LOG_STARTUP)    logMsg ("sysSymTbl complete.\n", 1,2,3,4,5,6);    taskDelay (2);	/* allow time for message to be displayed */# endif	/* INCLUDE_LOGGING && INCLUDE_LOG_STARTUP */#endif	/* INCLUDE_STANDALONE_SYM_TBL */#ifdef  INCLUDE_NET_SYM_TBL    sysSymTbl = symTblCreate (SYM_TBL_HASH_SIZE_LOG2, TRUE, memSysPartId);    netLoadSymTbl ();				/* fill in table from host */#endif	/* INCLUDE_NET_SYM_TBL */#ifdef  INCLUDE_STAT_SYM_TBL    statSymTbl = symTblCreate (STAT_TBL_HASH_SIZE_LOG2, FALSE, memSysPartId);    for (ix = 0; (ULONG)ix < statTblSize; ix ++) /* fill in from builtin table*/	symTblAdd (statSymTbl, &(statTbl [ix]));#endif	/* INCLUDE_STAT_SYM_TBL */    /* initialize C++ support library */#if	defined (INCLUDE_CPLUS) && defined (INCLUDE_CPLUS_MIN)#error	Define only one of INCLUDE_CPLUS or INCLUDE_CPLUS_MIN, not both#endif#if	defined (INCLUDE_CPLUS) || defined (INCLUDE_CPLUS_MIN)#ifndef INCLUDE_CTORS_DTORS#define INCLUDE_CTORS_DTORS#endif#endif#ifdef  INCLUDE_CTORS_DTORS   /*    * call compiler generated init functions (usually - but not necessarily -   * C++ related)   */   cplusCtorsLink ();#endif#ifdef	INCLUDE_CPLUS			/* all standard C++ runtime support */    cplusLibInit ();#endif#ifdef	INCLUDE_CPLUS_MIN		/* minimal C++ runtime support */    cplusLibMinInit ();#endif#ifdef INCLUDE_CPLUS_DEMANGLER    cplusDemanglerInit ();#endif    /* initialize COM/DCOM runtime support */#ifdef INCLUDE_COM    comLibInit ();#endif#ifdef INCLUDE_DCOM    dcomLibInit ();#endif    /* initialize Wind Web Server */#ifdef INCLUDE_HTTP    httpd ();#endif /* INCLUDE_HTTP */#ifdef   INCLUDE_RBUFF                  /* install rBuff support */    rBuffLibInit();#ifdef  INCLUDE_SHOW_ROUTINES    rBuffShowInit ();                   /* install rBuff show routine */#endif  /* INCLUDE_SHOW_ROUTINES */#endif /* INCLUDE_RBUFF */#ifdef INCLUDE_WINDVIEW    windviewConfig ();#endif /* INCLUDE_WINDVIEW */    /* initialize the WDB debug agent */#ifdef  INCLUDE_WDB# if defined(INCLUDE_LOGGING) && defined(INCLUDE_LOG_STARTUP)    logMsg ("before wdbConfig()\n", 1,2,3,4,5,6);    taskDelay (2);	/* allow time for message to be displayed */# endif	/* INCLUDE_LOGGING && INCLUDE_LOG_STARTUP */    wdbConfig();# if defined(INCLUDE_LOGGING) && defined(INCLUDE_LOG_STARTUP)    logMsg ("after wdbConfig()\n", 1,2,3,4,5,6);    taskDelay (2);	/* allow time for message to be displayed */# endif	/* INCLUDE_LOGGING && INCLUDE_LOG_STARTUP */#ifdef	INCLUDE_WDB_BANNER#if (WDB_COMM_TYPE == WDB_COMM_NETWORK)#define WDB_COMM_TYPE_STR "WDB_COMM_NETWORK"#endif /* WDB_COMM_TYPE == WDB_COMM_NETWORK */#if (WDB_COMM_TYPE == WDB_COMM_SERIAL)#define WDB_COMM_TYPE_STR "WDB_COMM_SERIAL"#endif /* WDB_COMM_TYPE == WDB_COMM_SERIAL */#if (WDB_COMM_TYPE == WDB_COMM_TYCODRV_5_2)#define WDB_COMM_TYPE_STR "WDB_COMM_TYCODRV_5_2"#endif /* WDB_COMM_TYPE == WDB_COMM_TYCODRV_5_2 */#if (WDB_COMM_TYPE ==  WDB_COMM_NETROM)#define WDB_COMM_TYPE_STR "WDB_COMM_NETROM"#endif /* WDB_COMM_TYPE == WDB_COMM_NETROM */#if (WDB_COMM_TYPE ==  WDB_COMM_VTMD)#define WDB_COMM_TYPE_STR "WDB_COMM_VTMD"#endif /* WDB_COMM_TYPE == WDB_COMM_VTMD */#if (WDB_COMM_TYPE ==  WDB_COMM_END)#define WDB_COMM_TYPE_STR "WDB_COMM_END"#endif /* WDB_COMM_TYPE == WDB_COMM_END */#if (WDB_COMM_TYPE ==  WDB_COMM_CUSTOM)#define WDB_COMM_TYPE_STR "WDB_COMM_CUSTOM"#endif /* WDB_COMM_TYPE == WDB_COMM_CUSTOM */#if (WDB_COMM_TYPE ==  WDB_COMM_PIPE)#define WDB_COMM_TYPE_STR "WDB_COMM_PIPE"#endif /* WDB_COMM_TYPE == WDB_COMM_PIPE */#ifndef WDB_COMM_TYPE_STR#define WDB_COMM_TYPE_STR "Unknown"#endif /* WDB_COMM_TYPE_STR */#ifndef INCLUDE_SHELL    /* WDB banner same as printed by usrWdbBanner */    printf ("\n\n");    printf ("%23s\n\n", runtimeName);    printf ("Copyright 1984-2002  Wind River Systems, Inc.\n\n");    printf ("            CPU: %s\n", sysModel ());    printf ("   Runtime Name: %s\n", runtimeName);    printf ("Runtime Version: %s\n", runtimeVersion);    printf ("    BSP version: " BSP_VERSION BSP_REV "\n");    printf ("        Created: %s\n", creationDate);    printf ("  WDB Comm Type: %s\n", WDB_COMM_TYPE_STR);    printf ("            WDB: %s.\n\n",	    ((wdbRunsExternal () || wdbRunsTasking ()) ?		 "Ready" : "Agent configuration failed") );#endif /*INCLUDE_SHELL*/#endif /*INCLUDE_WDB_BANNER*/#endif  /* INCLUDE_WDB */    /* initialize interactive shell */#ifdef  INCLUDE_SHELL#ifdef	INCLUDE_SECURITY			/* include shell security */    if ((sysFlags & SYSFLG_NO_SECURITY) == 0)	{        loginInit ();				/* initialize login table */        shellLoginInstall (loginPrompt, NULL);	/* install security program */	/* add additional users here as required */        loginUserAdd (LOGIN_USER_NAME, LOGIN_PASSWORD);	}#endif	/* INCLUDE_SECURITY */    printLogo ();				/* print out the banner page */    printf ("                               ");    printf ("CPU: %s.  Processor #%d.\n", sysModel (), sysProcNumGet ());    printf ("                              ");#ifdef	HITACHI_SH_KERNEL_ON_SDRAM    printf ("Memory Size: 0x%x.", (UINT)(sysMemTop () - (char *)FREE_RAM_ADRS));#else	/* HITACHI_SH_KERNEL_ON_SDRAM */    printf ("Memory Size: 0x%x.", (UINT)(sysMemTop () - (char *)LOCAL_MEM_LOCAL_ADRS));#endif	/* HITACHI_SH_KERNEL_ON_SDRAM */    printf ("  BSP version " BSP_VERSION BSP_REV ".");#if defined(INCLUDE_WDB) && defined(INCLUDE_WDB_BANNER)    printf ("\n                             ");    printf ("WDB Comm Type: %s", WDB_COMM_TYPE_STR);    printf ("\n                            ");    printf ("WDB: %s.",	    ((wdbRunsExternal () || wdbRunsTasking ()) ?		 "Ready" : "Agent configuration failed") );#endif /*INCLUDE_WDB && INCLUDE_WDB_BANNER*/    printf ("\n\n");#ifdef	INCLUDE_STARTUP_SCRIPT			/* run a startup script */    if (sysBootParams.startupScript [0] != EOS)	usrStartupScript (sysBootParams.startupScript);#endif	/* INCLUDE_STARTUP_SCRIPT */    shellInit (SHELL_STACK_SIZE, TRUE);		/* create the shell */    /* only include the simple demo if the shell is NOT included */#else#if defined(INCLUDE_DEMO)			/* create demo w/o shell */    taskSpawn ("demo", 20, 0, 2000, (FUNCPTR)usrDemo, 0,0,0,0,0,0,0,0,0,0);#endif						/* mips cpp no elif */#endif	/* INCLUDE_SHELL */#ifdef  INCLUDE_WINDML    usrWindMlInit ();#endif  /* INCLUDE_WINDML */#if defined (INCLUDE_SOUND) && defined(INCLUDE_SB16)    sb16Drv ();            /* install sound driver SB16 */    sb16DevCreate ("/sound", 0x220, 5, 1, 5);#endif /* INCLUDE_SOUND && INCLUDE_SB16 */#if defined(INCLUDE_JAVA)    javaConfig ();#endif	/* INCLUDE_JAVA */#ifdef INCLUDE_HTML    usrHtmlInit ();#endif /* INCLUDE_HTML */#if CPU==SIMNT    win_ReleaseMutex(simUpMutex);#endif#ifdef INCLUDE_USER_APPL    /* Startup the user's application */    USER_APPL_INIT;	/* must be a valid C statement or block */#endif    }/********************************************************************************* usrClock - user-defined system clock interrupt routine** This routine is called at interrupt level on each clock interrupt.* It is installed by usrRoot() with a sysClkConnect() call.* It calls all the other packages that need to know about clock ticks,* including the kernel itself.** If the application needs anything to happen at the system clock interrupt* level, it can be added to this routine.** RETURNS: N/A*/void usrClock ()    {    tickAnnounce ();	/* announce system tick to kernel */    }#ifdef	INCLUDE_DEMO/********************************************************************************* usrDemo - example application without shell** This routine is spawned as a task at the end of usrRoot(), if INCLUDE_DEMO* is defined, and INCLUDE_SHELL is NOT defined in configAll.h or config.h.* It is intended to indicate how a shell-less application can be linked,* loaded, and ROMed.** NOMANUAL*/void usrDemo (void)    {    char string [40];    printf ("VxWorks (for %s) version %s.\n", sysModel (), vxWorksVersion);    printf ("Kernel: %s.\n", kernelVersion ());    printf ("Made on %s.\n", creationDate);    FOREVER        {        printf ("\nThis is a test.  Type something: ");        fioRdString (STD_IN, string, sizeof (string));	printf ("\nYou typed \"%s\".\n", string);	if (strcmp (string, "0") == 0)	    memShow (0);	if (strcmp (string, "1") == 0)	    memShow (1);        }    }#endif	/* INCLUDE_DEMO */

⌨️ 快捷键说明

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