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

📄 globaltypes.h

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 H
📖 第 1 页 / 共 2 页
字号:
/* ============================================================================
*
*            TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION
*
*   Property of Texas Instruments
*   For Unrestricted Internal Use Only 
*   Unauthorized reproduction and/or distribution is strictly prohibited.
*   This product is protected under copyright law and trade secret law as an unpublished work.
*   Created 2003, (C) Copyright 2003 Texas Instruments.  All rights reserved.
*
*   Component:     Global Types
*    
*   Filename:      GlobalTypes.h           
*    
*   Description:  
*
*   Domain:     ARM11 / ARM7
*
*   Fucntional Specifcation Version: Not valid
*
*   Validating Test Cases: None
*    
* =============================================================================
*/
#ifndef __GLOBALTYPES_H
#define __GLOBALTYPES_H

/* ============================================================================
* INCLUDE FILES (only if necessary)
* =============================================================================
*/
#ifdef __cplusplus
extern "C"
{
#endif

/* ============================================================================
* EXPORTED DEFINITIONS
* =============================================================================
*/


/* ----------------------------------------------------------------------------
* Definition: NULL
*
* DESCRIPTION:  Invalid pointer
*
* -----------------------------------------------------------------------------
*/
#define NULL        (void *)0

/* ----------------------------------------------------------------------------
* Definition: RET_CODE_BASE
*
* DESCRIPTION:  Base value for return code offsets
*
* -----------------------------------------------------------------------------
*/
#define RET_CODE_BASE        0

/* ----------------------------------------------------------------------------
* Definition: *BIT_OFFSET
*
* DESCRIPTION:  offset in bytes from start of 32-bit word.
*
* -----------------------------------------------------------------------------
*/
#define LOWER_16BIT_OFFSET          0
#define UPPER_16BIT_OFFSET          2

#define LOWER_8BIT_OFFSET           0
#define LOWER_MIDDLE_8BIT_OFFSET    1
#define UPPER_MIDDLE_8BIT_OFFSET    2
#define UPPER_8BIT_OFFSET           3

#define LOWER_8BIT_OF16_OFFSET      0
#define UPPER_8BIT_OF16_OFFSET      1

/* ----------------------------------------------------------------------------
* Definition: *BIT_SHIFT
*
* DESCRIPTION:  offset in bits from start of 32-bit word.
*
* -----------------------------------------------------------------------------
*/
#define LOWER_16BIT_SHIFT          0
#define UPPER_16BIT_SHIFT          16

#define LOWER_8BIT_SHIFT           0
#define LOWER_MIDDLE_8BIT_SHIFT    8
#define UPPER_MIDDLE_8BIT_SHIFT    16
#define UPPER_8BIT_SHIFT           24

#define LOWER_8BIT_OF16_SHIFT      0
#define UPPER_8BIT_OF16_SHIFT      8


/* ----------------------------------------------------------------------------
* Definition: LOWER_16BIT_MASK
*
* DESCRIPTION:  16 bit mask used for inclusion of lower 16 bits i.e. mask out 
*               the upper 16 bits
*
* -----------------------------------------------------------------------------
*/
#define LOWER_16BIT_MASK        0x0000FFFF


/* ----------------------------------------------------------------------------
* Definition: LOWER_8BIT_MASK
*
* DESCRIPTION:  8 bit masks used for inclusion of 8 bits i.e. mask out 
*               the upper 16 bits
*
* -----------------------------------------------------------------------------
*/
#define LOWER_8BIT_MASK           0x000000FF

/* ----------------------------------------------------------------------------
* Definition: RETURN_32BITS_FROM_16LOWER_AND_16UPPER(lower16Bits, upper16Bits)
*
* DESCRIPTION:  Returns a 32 bit value given a 16 bit lower value and a 16
*               bit upper value
*
* -----------------------------------------------------------------------------
*/
#define RETURN_32BITS_FROM_16LOWER_AND_16UPPER(lower16Bits,upper16Bits)\
    (((((UWORD32)lower16Bits)  & LOWER_16BIT_MASK                      )) | \
     (((((UWORD32)upper16Bits) & LOWER_16BIT_MASK) << UPPER_16BIT_SHIFT))  )


/* ----------------------------------------------------------------------------
* Definition: RETURN_16BITS_FROM_8LOWER_AND_8UPPER(lower16Bits, upper16Bits)
*
* DESCRIPTION:  Returns a 16 bit value given a 8 bit lower value and a 8
*               bit upper value
*
* -----------------------------------------------------------------------------
*/
#define RETURN_16BITS_FROM_8LOWER_AND_8UPPER(lower8Bits,upper8Bits)\
    (((((UWORD32)lower8Bits)  & LOWER_8BIT_MASK                           )) | \
     (((((UWORD32)upper8Bits) & LOWER_8BIT_MASK) << UPPER_8BIT_OF16_SHIFT ))  )
    
/* ----------------------------------------------------------------------------
* Definition: RETURN_32BITS_FROM_4_8BIT_VALUES(
*                                       lower8Bits, 
                                        lowerMiddle8Bits, 
                                        lowerUpper8Bits, 
                                        upper8Bits)
*
* DESCRIPTION:  Returns a 32 bit value given four 8 bit values
*
* -----------------------------------------------------------------------------
*/
#define RETURN_32BITS_FROM_4_8BIT_VALUES(lower8Bits, lowerMiddle8Bits, lowerUpper8Bits, upper8Bits)\
    (((((UWORD32)lower8Bits)        & LOWER_8BIT_MASK                            )) | \
     (((((UWORD32)lowerMiddle8Bits) & LOWER_8BIT_MASK) << LOWER_MIDDLE_8BIT_SHIFT)) | \
     (((((UWORD32)lowerUpper8Bits)  & LOWER_8BIT_MASK) << UPPER_MIDDLE_8BIT_SHIFT)) | \
     (((((UWORD32)upper8Bits)       & LOWER_8BIT_MASK) << UPPER_8BIT_SHIFT       ))  )


/* ----------------------------------------------------------------------------
* Definition: READ_LOWER_16BITS_OF_32(value32bits)
*
* DESCRIPTION:  Returns a 16 lower bits of 32bit value 
*
* -----------------------------------------------------------------------------
*/
#define READ_LOWER_16BITS_OF_32(value32bits)\
    ((UWORD16)((UWORD32)(value32bits) & LOWER_16BIT_MASK))

/* ----------------------------------------------------------------------------
* Definition: READ_UPPER_16BITS_OF_32(value32bits)
*
* DESCRIPTION:  Returns a 16 lower bits of 32bit value 
*
* -----------------------------------------------------------------------------
*/
#define READ_UPPER_16BITS_OF_32(value32bits)\
    (((UWORD16)((UWORD32)(value32bits) >> UPPER_16BIT_SHIFT)) & LOWER_16BIT_MASK)


/* ----------------------------------------------------------------------------
* Definition: READ_LOWER_8BITS_OF_32(value32bits)
*
* DESCRIPTION:  Returns a 8 lower bits of 32bit value 
*
* -----------------------------------------------------------------------------
*/
#define READ_LOWER_8BITS_OF_32(value32bits)\
    ((UWORD8)((UWORD32)(value32bits) & LOWER_8BIT_MASK))

/* ----------------------------------------------------------------------------
* Definition: READ_LOWER_MIDDLE_8BITS_OF_32(value32bits)
*
* DESCRIPTION:  Returns a 8 lower middle bits of 32bit value 
*
* -----------------------------------------------------------------------------
*/
#define READ_LOWER_MIDDLE_8BITS_OF_32(value32bits)\
    (((UWORD8)((UWORD32)(value32bits) >> LOWER_MIDDLE_8BIT_SHIFT)) & LOWER_8BIT_MASK)

/* ----------------------------------------------------------------------------
* Definition: READ_LOWER_MIDDLE_8BITS_OF_32(value32bits)
*
* DESCRIPTION:  Returns a 8 lower middle bits of 32bit value 
*
* -----------------------------------------------------------------------------
*/
#define READ_UPPER_MIDDLE_8BITS_OF_32(value32bits)\
    (((UWORD8)((UWORD32)(value32bits) >> LOWER_MIDDLE_8BIT_SHIFT)) & LOWER_8BIT_MASK)

/* ----------------------------------------------------------------------------
* Definition: READ_UPPER_8BITS_OF_32(value32bits)
*
* DESCRIPTION:  Returns a 8 upper bits of 32bit value 
*
* -----------------------------------------------------------------------------
*/
#define READ_UPPER_8BITS_OF_32(value32bits)\
    (((UWORD8)((UWORD32)(value32bits) >> UPPER_8BIT_SHIFT)) & LOWER_8BIT_MASK)


/* ----------------------------------------------------------------------------
* Definition: READ_LOWER_8BITS_OF_16(value16bits)
*
* DESCRIPTION:  Returns a 8 lower bits of 16bit value 
*
* -----------------------------------------------------------------------------
*/
#define READ_LOWER_8BITS_OF_16(value16bits)\
    ((UWORD8)((UWORD16)(value16bits) & LOWER_8BIT_MASK))

/* ----------------------------------------------------------------------------
* Definition: READ_UPPER_8BITS_OF_16(value32bits)
*
* DESCRIPTION:  Returns a 8 upper bits of 16bit value 
*
* -----------------------------------------------------------------------------
*/
#define READ_UPPER_8BITS_OF_16(value16bits)\
    (((UWORD8)((UWORD32)(value16bits) >> UPPER_8BIT_SHIFT)) & LOWER_8BIT_MASK)

/* ============================================================================
* EXPORTED TYPES
* =============================================================================
*/



/* ----------------------------------------------------------------------------
* TYPE: FLOAT       
*
* DESCRIPTION: Type to be used for floating point calculation. Note that 
*              floating point calculation is very CPU expensive, and you should
*              only  use if you absolutely need this.
*
* -----------------------------------------------------------------------------
*/
typedef float  FLOAT;

/* ----------------------------------------------------------------------------
* TYPE: boolean_t        
*
* DESCRIPTION:  Boolean Type True, False 
*
* -----------------------------------------------------------------------------
*/



/* ----------------------------------------------------------------------------
* TYPE: ReturnCode_t        
*
* DESCRIPTION:  Return codes to be returned by all library functions 
*
* -----------------------------------------------------------------------------
*/
typedef enum ReturnCode_label {
    RET_OK = 0, 
    RET_FAIL, 
    RET_BAD_NULL_PARAM,
    RET_PARAM_OUT_OF_RANGE,
    RET_INVALID_ID,
    RET_EMPTY,
    RET_FULL,
    RET_TIMEOUT,

⌨️ 快捷键说明

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