| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- /***************************************************************************
- * Copyright (c) 2024 Microsoft Corporation
- *
- * This program and the accompanying materials are made available under the
- * terms of the MIT License which is available at
- * https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: MIT
- **************************************************************************/
- /**************************************************************************/
- /**************************************************************************/
- /** */
- /** ThreadX Component */
- /** */
- /** Initialize */
- /** */
- /**************************************************************************/
- /**************************************************************************/
- /**************************************************************************/
- /* */
- /* COMPONENT DEFINITION RELEASE */
- /* */
- /* tx_initialize.h PORTABLE C */
- /* 6.1 */
- /* AUTHOR */
- /* */
- /* William E. Lamie, Microsoft Corporation */
- /* */
- /* DESCRIPTION */
- /* */
- /* This file defines the ThreadX initialization component, including */
- /* data types and external references. It is assumed that tx_api.h */
- /* and tx_port.h have already been included. */
- /* */
- /* RELEASE HISTORY */
- /* */
- /* DATE NAME DESCRIPTION */
- /* */
- /* 05-19-2020 William E. Lamie Initial Version 6.0 */
- /* 09-30-2020 Yuxin Zhou Modified comment(s), */
- /* resulting in version 6.1 */
- /* */
- /**************************************************************************/
- #ifndef TX_INITIALIZE_H
- #define TX_INITIALIZE_H
- /* Define constants that indicate initialization is in progress. */
- #define TX_INITIALIZE_IN_PROGRESS ((ULONG) 0xF0F0F0F0UL)
- #define TX_INITIALIZE_ALMOST_DONE ((ULONG) 0xF0F0F0F1UL)
- #define TX_INITIALIZE_IS_FINISHED ((ULONG) 0x00000000UL)
- /* Define internal initialization function prototypes. */
- VOID _tx_initialize_high_level(VOID);
- VOID _tx_initialize_kernel_setup(VOID);
- VOID _tx_initialize_low_level(VOID);
- /* Define the macro for adding additional port-specific global data. This macro is defined
- as white space, unless defined by tx_port.h. */
- #ifndef TX_PORT_SPECIFIC_DATA
- #define TX_PORT_SPECIFIC_DATA
- #endif
- /* Define the macro for adding additional port-specific pre and post initialization processing.
- These macros is defined as white space, unless defined by tx_port.h. */
- #ifndef TX_PORT_SPECIFIC_PRE_INITIALIZATION
- #define TX_PORT_SPECIFIC_PRE_INITIALIZATION
- #endif
- #ifndef TX_PORT_SPECIFIC_POST_INITIALIZATION
- #define TX_PORT_SPECIFIC_POST_INITIALIZATION
- #endif
- #ifndef TX_PORT_SPECIFIC_PRE_SCHEDULER_INITIALIZATION
- #define TX_PORT_SPECIFIC_PRE_SCHEDULER_INITIALIZATION
- #endif
- /* Initialization component data declarations follow. */
- /* Determine if the initialization function of this component is including
- this file. If so, make the data definitions really happen. Otherwise,
- make them extern so other functions in the component can access them. */
- #ifdef TX_INITIALIZE_INIT
- #define INITIALIZE_DECLARE
- #else
- #define INITIALIZE_DECLARE extern
- #endif
- /* Define the unused memory pointer. The value of the first available
- memory address is placed in this variable in the low-level
- initialization function. The content of this variable is passed
- to the application's system definition function. */
- INITIALIZE_DECLARE VOID *_tx_initialize_unused_memory;
- #endif
|