📄 inc.c
字号:
/*************************************************************************//* *//* Copyright Mentor Graphics Corporation 2002 *//* All Rights Reserved. *//* *//* THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS *//* THE PROPERTY OF MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS *//* SUBJECT TO LICENSE TERMS. *//* *//*************************************************************************//*************************************************************************//* *//* FILE NAME VERSION *//* *//* inc.c Nucleus PLUS 1.14 *//* *//* COMPONENT *//* *//* IN - Initialization *//* *//* DESCRIPTION *//* *//* This file contains initialization and setup routines associated *//* with the initialization component. *//* *//* DATA STRUCTURES *//* *//* None *//* *//* FUNCTIONS *//* *//* INC_Initialize Common system initialization *//* *//* DEPENDENCIES *//* *//* in_extr.h Initialization functions *//* er_extr.h Error handling function *//* hi_extr.h History functions *//* tc_extr.h Thread Control functions *//* mb_extr.h Mailbox functions *//* qu_extr.h Queue functions *//* pi_extr.h Pipe functions *//* sm_extr.h Semaphore functions *//* ev_extr.h Event group functions *//* pm_extr.h Partition memory functions *//* dm_extr.h Dynamic memory functions *//* tm_extr.h Timer functions *//* io_extr.h I/O Driver functions *//* *//* HISTORY *//* *//* DATE REMARKS *//* *//* 03-01-1993 Created initial version 1.0 *//* 04-19-1993 Verified version 1.0 *//* 03-01-1994 Replaced void with VOID, *//* resulting in version 1.1 *//* *//* 03-18-1994 Verified version 1.1 *//* 04-17-1996 updated to version 1.2 *//* 03-20-1998 Moved the INC_Initialize_State *//* define values into their own *//* in_defs.h include file as part *//* of SPR455. This creates *//* version 1.2a. *//* 03-24-1998 Released version 1.3. *//* 03-26-1999 Released 1.11m (new release *//* numbering scheme) *//* 04-17-2002 Released version 1.13m *//* 11-07-2002 Released version 1.14 *//*************************************************************************/#define NU_SOURCE_FILE#include "in_defs.h" /* Initialization defines */#include "in_extr.h" /* Initialization functions */#include "hi_extr.h" /* History functions */#include "er_extr.h" /* Error handling function */#include "tc_extr.h" /* Thread Control functions */#include "mb_extr.h" /* Mailbox functions */#include "qu_extr.h" /* Queue functions */#include "pi_extr.h" /* Pipe functions */#include "sm_extr.h" /* Semaphore functions */#include "ev_extr.h" /* Event group functions */#include "pm_extr.h" /* Partition memory functions*/#include "dm_extr.h" /* Dynamic memory functions */#include "tm_extr.h" /* Timer functions */#include "io_extr.h" /* I/O Driver functions *//* Define global variable that contains the state of initialization. This flag is for information use only. */INT INC_Initialize_State;/* Define external functions that access the release and license information. */CHAR *RLC_Release_Information(VOID);CHAR *LIC_License_Information(VOID);#if defined(NU_MODULE_SUPPORT) && (NU_MODULE_SUPPORT > 0)/* Prototypes for Module Initialization funcitons */STATUS MRC_Initialize(VOID);STATUS MSC_Initialize(VOID);#endif/*************************************************************************//* *//* FUNCTION *//* *//* INC_Initialize *//* *//* DESCRIPTION *//* *//* This function is the main initialization function of the system. *//* All components are initialized by this function. After system *//* initialization is complete, the Application_Initialize routine *//* is called. After all initialization is complete, this function *//* calls TCT_Schedule to start scheduling tasks. *//* *//* CALLED BY *//* *//* INT_Initialize Target dependent initialize *//* *//* CALLS *//* *//* Application_Initialize Application initialize *//* RLC_Release_Information Release information *//* LIC_License_Information License information *//* ERI_Initialize Error handling initialize *//* HII_Initialize History initialization *//* TCI_Initialize Thread control initialize *//* MBI_Initialize Mailbox initialize *//* QUI_Initialize Queue initialize *//* PII_Initialize Pipe initialize *//* SMI_Initialize Semaphore initialize *//* EVI_Initialize Event flag initialize *//* PMI_Initialize Partition memory initialize *//* DMI_Initialize Dynamic memory initialize *//* TMI_Initialize Timer initialize *//* IOI_Initialize I/O Driver initialize *//* MRC_Initialize Memory Region initialize *//* MSC_Initialize Module Support initialize *//* TCT_Schedule Thread scheduling loop *//* *//* INPUTS *//* *//* first_available_memory Pointer to available memory *//* *//* OUTPUTS *//* *//* None *//* *//* HISTORY *//* *//* DATE REMARKS *//* *//* 03-01-1993 Created initial version 1.0 *//* 04-19-1993 Verified version 1.0 *//* *//*************************************************************************/VOID INC_Initialize(VOID *first_available_memory){ /* Indicate that initialization is starting. */ INC_Initialize_State = INC_START_INITIALIZE; /* Call release information function. */ RLC_Release_Information(); /* Call license information function. */ LIC_License_Information(); /* Initialize the Error handling (ER) component. */ ERI_Initialize(); /* Initialize the History (HI) component. */ HII_Initialize();#if defined(NU_MODULE_SUPPORT) && (NU_MODULE_SUPPORT > 0) MRC_Initialize(); /* Initialize Memory Region component */ MSC_Initialize(); /* Initialize Module Support component */#endif /* Initialize the Thread Control (TC) component. */ TCI_Initialize(); /* Initialize the Mailbox (MB) component. */ MBI_Initialize(); /* Initialize the Queue (QU) component. */ QUI_Initialize(); /* Initialize the Pipe (PI) component. */ PII_Initialize(); /* Initialize the Semaphore (SM) component. */ SMI_Initialize(); /* Initialize the Event Group (EV) component. */ EVI_Initialize(); /* Initialize the Partition memory (PM) component. */ PMI_Initialize(); /* Initialize the Dynamic memory (DM) component. */ DMI_Initialize(); /* Initialize the Timer (TM) component. */ TMI_Initialize(); /* Initialize the I/O Driver (IO) component. */ IOI_Initialize(); /* Invoke the application-supplied initialization function. */ Application_Initialize(first_available_memory); /* Indicate that initialization is finished. */ INC_Initialize_State = INC_END_INITIALIZE; /* Start scheduling threads of execution. */ TCT_Schedule();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -