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

📄 ixnpedlmacros_p.h

📁 有关ARM开发板上的IXP400网络驱动程序的源码以。
💻 H
字号:
/** * @file IxNpeDlMacros_p.h * * @author Intel Corporation * @date 21 January 2002 * * @brief This file contains the macros for the IxNpeDl component. * *  * @par * IXP400 SW Release version 2.1 *  * -- Copyright Notice -- *  * @par * Copyright (c) 2001-2005, Intel Corporation. * All rights reserved. *  * @par * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. Neither the name of the Intel Corporation nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. *  *  * @par * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *  *  * @par * -- End of Copyright Notice --*//** * @defgroup IxNpeDlMacros_p IxNpeDlMacros_p * * @brief Macros for the IxNpeDl component. *  * @{ */#ifndef IXNPEDLMACROS_P_H#define IXNPEDLMACROS_P_H/* * Put the user defined include files required. */#if (CPU != XSCALE)/* To support IxNpeDl unit tests... */#include <stdio.h>#include "test/IxNpeDlTestReg.h"#else   #include "IxOsal.h"#endif/* * Typedefs *//** * @typedef IxNpeDlTraceTypes * @brief Enumeration defining IxNpeDl trace levels */typedef enum{    IX_NPEDL_TRACE_OFF,     /**< no trace */    IX_NPEDL_DEBUG,         /**< debug */    IX_NPEDL_FN_ENTRY_EXIT  /**< function entry/exit */} IxNpeDlTraceTypes;/* * #defines and macros. *//* Implementation of the following macros for use with IxNpeDl unit test code */#if (CPU != XSCALE)/** * @def IX_NPEDL_TRACE_LEVEL * * @brief IxNpeDl debug trace level */#define IX_NPEDL_TRACE_LEVEL IX_NPEDL_FN_ENTRY_EXIT/** * @def IX_NPEDL_ERROR_REPORT * * @brief Mechanism for reporting IxNpeDl software errors * * @param char* [in] STR - Error string to report * * This macro simply prints the error string passed. * Intended for use with IxNpeDl unit test code. * * @return none */#define IX_NPEDL_ERROR_REPORT(STR) printf ("IxNpeDl ERROR: %s\n", (STR));/** * @def IX_NPEDL_WARNING_REPORT * * @brief Mechanism for reporting IxNpeDl software errors * * @param char* [in] STR - Error string to report * * This macro simply prints the error string passed. * Intended for use with IxNpeDl unit test code. * * @return none */#define IX_NPEDL_WARNING_REPORT(STR) printf ("IxNpeDl WARNING: %s\n", (STR));/** * @def IX_NPEDL_TRACE0 * * @brief Mechanism for tracing debug for the IxNpeDl component, for no arguments * * @param unsigned [in] LEVEL - one of IxNpeDlTraceTypes enumerated values * @param char* [in] STR - Trace string * * This macro simply prints the trace string passed, if the level is supported.  * Intended for use with IxNpeDl unit test code. * * @return none */#define IX_NPEDL_TRACE0(LEVEL, STR) \{ \    if (LEVEL <= IX_NPEDL_TRACE_LEVEL) \    { \        printf ("IxNpeDl TRACE: "); \        printf ((STR)); \        printf ("\n"); \    } \} /** * @def IX_NPEDL_TRACE1 * * @brief Mechanism for tracing debug for the IxNpeDl component, with 1 argument * * @param unsigned [in] LEVEL - one of IxNpeDlTraceTypes enumerated values * @param char* [in] STR - Trace string * @param argType [in] ARG1 - Argument to trace * * This macro simply prints the trace string passed, if the level is supported. * Intended for use with IxNpeDl unit test code. * * @return none */#define IX_NPEDL_TRACE1(LEVEL, STR, ARG1) \{ \    if (LEVEL <= IX_NPEDL_TRACE_LEVEL) \    { \        printf ("IxNpeDl TRACE: "); \        printf (STR, ARG1); \        printf ("\n"); \    } \}/** * @def IX_NPEDL_TRACE2 * * @brief Mechanism for tracing debug for the IxNpeDl component, with 2 arguments * * @param unsigned [in] LEVEL - one of IxNpeDlTraceTypes enumerated values * @param char* [in] STR - Trace string * @param argType [in] ARG1 - Argument to trace * @param argType [in] ARG2 - Argument to trace * * This macro simply prints the trace string passed, if the level is supported.  * Intended for use with IxNpeDl unit test code. * * @return none */#define IX_NPEDL_TRACE2(LEVEL, STR, ARG1, ARG2) \{ \    if (LEVEL <= IX_NPEDL_TRACE_LEVEL) \    { \        printf ("IxNpeDl TRACE: "); \        printf (STR, ARG1, ARG2); \        printf ("\n"); \    } \}/** * @def IX_NPEDL_REG_WRITE * * @brief Mechanism for writing to a memory-mapped register * * @param UINT32 [in] base   - Base memory address for this NPE's registers * @param UINT32 [in] offset - Offset from base memory address * @param UINT32 [in] value  - Value to write to register * * This macro calls a function from Unit Test code to write a register.  This * allows extra flexibility for unit testing of the IxNpeDl component. * * @return none */#define IX_NPEDL_REG_WRITE(base, offset, value) \{ \    ixNpeDlTestRegWrite (base, offset, value); \}/** * @def IX_NPEDL_REG_READ * * @brief Mechanism for reading from a memory-mapped register * * @param UINT32 [in] base     - Base memory address for this NPE's registers * @param UINT32 [in] offset   - Offset from base memory address * @param UINT32 *[out] value  - Value read from register * * This macro calls a function from Unit Test code to read a register.  This * allows extra flexibility for unit testing of the IxNpeDl component. * * @return none */#define IX_NPEDL_REG_READ(base, offset, value) \{ \    ixNpeDlTestRegRead (base, offset, value); \}/* Implementation of the following macros when integrated with IxOsal */#else  /* #if (CPU != XSCALE) *//** * @def IX_NPEDL_TRACE_LEVEL * * @brief IxNpeDl debug trace level */#define IX_NPEDL_TRACE_LEVEL IX_NPEDL_DEBUG/** * @def IX_NPEDL_ERROR_REPORT * * @brief Mechanism for reporting IxNpeDl software errors * * @param char* [in] STR - Error string to report * * This macro is used to report IxNpeDl software errors. * * @return none */#define IX_NPEDL_ERROR_REPORT(STR) \    ixOsalLog (IX_OSAL_LOG_LVL_ERROR, IX_OSAL_LOG_DEV_STDERR, STR, 0, 0, 0, 0, 0, 0);/** * @def IX_NPEDL_WARNING_REPORT * * @brief Mechanism for reporting IxNpeDl software warnings * * @param char* [in] STR - Warning string to report * * This macro is used to report IxNpeDl software warnings. * * @return none */#define IX_NPEDL_WARNING_REPORT(STR) \    ixOsalLog (IX_OSAL_LOG_LVL_WARNING, IX_OSAL_LOG_DEV_STDOUT, STR, 0, 0, 0, 0, 0, 0);/** * @def IX_NPEDL_TRACE0 * * @brief Mechanism for tracing debug for the IxNpeDl component, for no arguments * * @param unsigned [in] LEVEL - one of IxNpeDlTraceTypes enumerated values * @param char* [in] STR - Trace string * * This macro simply prints the trace string passed, if the level is supported. * * @return none */#define IX_NPEDL_TRACE0(LEVEL, STR) \{ \    if (LEVEL <= IX_NPEDL_TRACE_LEVEL) \    { \        if (LEVEL == IX_NPEDL_FN_ENTRY_EXIT) \        { \            ixOsalLog (IX_OSAL_LOG_LVL_DEBUG3, IX_OSAL_LOG_DEV_STDOUT, STR, 0, 0, 0, 0, 0, 0); \        } \        else if (LEVEL == IX_NPEDL_DEBUG) \        { \            ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE, IX_OSAL_LOG_DEV_STDOUT, STR, 0, 0, 0, 0, 0, 0); \        } \    } \}/** * @def IX_NPEDL_TRACE1 * * @brief Mechanism for tracing debug for the IxNpeDl component, with 1 argument * * @param unsigned [in] LEVEL - one of IxNpeDlTraceTypes enumerated values * @param char* [in] STR - Trace string * @param argType [in] ARG1 - Argument to trace * * This macro simply prints the trace string passed, if the level is supported.  * * @return none */#define IX_NPEDL_TRACE1(LEVEL, STR, ARG1) \{ \    if (LEVEL <= IX_NPEDL_TRACE_LEVEL) \    { \        if (LEVEL == IX_NPEDL_FN_ENTRY_EXIT) \        { \            ixOsalLog (IX_OSAL_LOG_LVL_DEBUG3, IX_OSAL_LOG_DEV_STDOUT, STR, ARG1, 0, 0, 0, 0, 0); \        } \        else if (LEVEL == IX_NPEDL_DEBUG) \        { \            ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE, IX_OSAL_LOG_DEV_STDOUT, STR, ARG1, 0, 0, 0, 0, 0); \        } \    } \}/** * @def IX_NPEDL_TRACE2 * * @brief Mechanism for tracing debug for the IxNpeDl component, with 2 arguments * * @param unsigned [in] LEVEL - one of IxNpeDlTraceTypes enumerated values * @param char* [in] STR - Trace string * @param argType [in] ARG1 - Argument to trace * @param argType [in] ARG2 - Argument to trace * * This macro simply prints the trace string passed, if the level is supported.  * * @return none */#define IX_NPEDL_TRACE2(LEVEL, STR, ARG1, ARG2) \{ \    if (LEVEL <= IX_NPEDL_TRACE_LEVEL) \    { \        if (LEVEL == IX_NPEDL_FN_ENTRY_EXIT) \        { \            ixOsalLog (IX_OSAL_LOG_LVL_DEBUG3, IX_OSAL_LOG_DEV_STDOUT, STR, ARG1, ARG2, 0, 0, 0, 0); \        } \        else if (LEVEL == IX_NPEDL_DEBUG) \        { \            ixOsalLog (IX_OSAL_LOG_LVL_MESSAGE, IX_OSAL_LOG_DEV_STDOUT, STR, ARG1, ARG2, 0, 0, 0, 0); \        } \    } \}/** * @def IX_NPEDL_REG_WRITE * * @brief Mechanism for writing to a memory-mapped register * * @param UINT32 [in] base   - Base memory address for this NPE's registers * @param UINT32 [in] offset - Offset from base memory address * @param UINT32 [in] value  - Value to write to register * * This macro forms the address of the register from base address + offset, and  * dereferences that address to write the contents of the register. * * @return none */#define IX_NPEDL_REG_WRITE(base, offset, value) \    IX_OSAL_WRITE_LONG(((base) + (offset)), (value))/** * @def IX_NPEDL_REG_READ * * @brief Mechanism for reading from a memory-mapped register * * @param UINT32 [in] base    - Base memory address for this NPE's registers * @param UINT32 [in] offset  - Offset from base memory address * @param UINT32 *[out] value  - Value read from register * * This macro forms the address of the register from base address + offset, and  * dereferences that address to read the register contents. * * @return none */#define IX_NPEDL_REG_READ(base, offset, value) \    *(value) = IX_OSAL_READ_LONG(((base) + (offset)))#endif  /* #if (CPU != XSCALE) */#endif /* IXNPEDLMACROS_P_H *//** * @} defgroup IxNpeDlMacros_p */

⌨️ 快捷键说明

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