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

📄 easimsg.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:     Easi Message macros
*    
*   Filename:      EasiMsg.h           
*    
*   Description:   Header file required by beach auto generated code
*
*   Domain:        ARM11
*
*    
* =============================================================================
*/
#ifndef __EASIMSG_H
#define __EASIMSG_H

/* ============================================================================
* INCLUDE FILES (only if necessary)
* =============================================================================
*/
#include "result.h"
#include "RESExt.h"
#include "EASI.h"

#ifdef __cplusplus
extern "C"
{
#endif

/* ============================================================================
* EXPORTED DEFINITIONS
* =============================================================================
*/
/* ----------------------------------------------------------------------------
* DEFINE: MSG**       
*
* DESCRIPTION:  defeine used for shifting/masking 32 bit values into 2 16 bit values
*
* -----------------------------------------------------------------------------
*/
#define  MSG_LOW_16BIT_MASK                 ((UWORD32)0xFFFF)
#define  MSG_SHIFT_UPR_TO_LWR_16BIT             16


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


/* ============================================================================
* EXPORTED VARIABLES
* =============================================================================
*/


/* ============================================================================
* EXPORTED FUNCTIONS/MACROS
* =============================================================================
*/

/* ----------------------------------------------------------------------------
* MACRO: MSG**       
*
* DESCRIPTION:  Macro used by beach auto-generated code to generate progress/
*               and error messsages.
*
* NOTE:         5 RES_Set function calls are called for each macro. This will result
*               in 5 spy values . except for MSG_RO_FAIL, MSG_WO_FAIL
* -----------------------------------------------------------------------------
*/

/* address based message macros */
#define MSG_POR_FAIL(regType, regAddr, regVal) \
    EASI_SetError(RET_POR_FAIL); \
    RES_Set(RES_EASI_BASE+RES_POR_FAIL); \
    RES_Set(regType); \
    RES_Set(regAddr); \
    RES_Set(((((UWORD32)regVal)) >> MSG_SHIFT_UPR_TO_LWR_16BIT) & MSG_LOW_16BIT_MASK); \
    RES_Set((((UWORD32)regVal)) & MSG_LOW_16BIT_MASK); \
    RES_Set(RES_EASI_BASE+RES_NOP_VALUE)
    
#define MSG_RI_FAIL_ONES(regType, regAddr, regVal) \
    EASI_SetError(RET_READ_INTEG_FAIL); \
    RES_Set(RES_EASI_BASE+RES_RI_FAIL_ONES); \
    RES_Set(regType); \
    RES_Set(regAddr); \
    RES_Set(((((UWORD32)regVal)) >> MSG_SHIFT_UPR_TO_LWR_16BIT) & MSG_LOW_16BIT_MASK); \
    RES_Set((((UWORD32)regVal)) & MSG_LOW_16BIT_MASK); \
    RES_Set(RES_EASI_BASE+RES_NOP_VALUE)

#define MSG_RI_FAIL_FIVES(regType, regAddr, regVal) \
    EASI_SetError(RET_READ_INTEG_FAIL); \
    RES_Set(RES_EASI_BASE+RES_RI_FAIL_FIVES); \
    RES_Set(regType); \
    RES_Set(regAddr); \
    RES_Set(((((UWORD32)regVal)) >> MSG_SHIFT_UPR_TO_LWR_16BIT) & MSG_LOW_16BIT_MASK); \
    RES_Set((((UWORD32)regVal)) & MSG_LOW_16BIT_MASK); \
    RES_Set(RES_EASI_BASE+RES_NOP_VALUE)

#define MSG_RI_FAIL_AAAAS(regType, regAddr, regVal) \
    EASI_SetError(RET_READ_INTEG_FAIL); \
    RES_Set(RES_EASI_BASE+RES_RI_FAIL_AAAAS); \
    RES_Set(regType); \
    RES_Set(regAddr); \
    RES_Set(((((UWORD32)regVal)) >> MSG_SHIFT_UPR_TO_LWR_16BIT) & MSG_LOW_16BIT_MASK); \
    RES_Set((((UWORD32)regVal)) & MSG_LOW_16BIT_MASK); \
    RES_Set(RES_EASI_BASE+RES_NOP_VALUE)

#define MSG_RI_FAIL_ZEROS(regType, regAddr, regVal) \
    EASI_SetError(RET_READ_INTEG_FAIL); \
    RES_Set(RES_EASI_BASE+RES_RI_FAIL_ZEROS); \
    RES_Set(regType); \
    RES_Set(regAddr); \
    RES_Set(((((UWORD32)regVal)) >> MSG_SHIFT_UPR_TO_LWR_16BIT) & MSG_LOW_16BIT_MASK); \
    RES_Set((((UWORD32)regVal)) & MSG_LOW_16BIT_MASK); \
    RES_Set(RES_EASI_BASE+RES_NOP_VALUE)

#define MSG_RO_FAIL(regType, regAddr, regValFirst, regValSecond) \
    EASI_SetError(RET_READ_ONLY_FAIL); \
    RES_Set(RES_EASI_BASE+RES_RO_FAIL); \
    RES_Set(regType); \
    RES_Set(regAddr); \
    RES_Set((((UWORD32)(regValFirst)) >> MSG_SHIFT_UPR_TO_LWR_16BIT) & MSG_LOW_16BIT_MASK); \
    RES_Set(((UWORD32)(regValFirst)) & MSG_LOW_16BIT_MASK); \
    RES_Set((((UWORD32)(regValSecond)) >> MSG_SHIFT_UPR_TO_LWR_16BIT) & MSG_LOW_16BIT_MASK); \
    RES_Set(((UWORD32)(regValSecond)) & MSG_LOW_16BIT_MASK)

#define MSG_WO_FAIL(regType, regAddr, regValFirst, regValSecond) \
    EASI_SetError(RET_WRTIE_ONLY_FAIL); \
    RES_Set(RES_EASI_BASE+RES_WO_FAIL); \
    RES_Set(regType); \
    RES_Set(regAddr); \
    RES_Set((((UWORD32)(regValFirst)) >> MSG_SHIFT_UPR_TO_LWR_16BIT) & MSG_LOW_16BIT_MASK); \
    RES_Set(((UWORD32)(regValFirst)) & MSG_LOW_16BIT_MASK); \
    RES_Set((((UWORD32)(regValSecond)) >> MSG_SHIFT_UPR_TO_LWR_16BIT) & MSG_LOW_16BIT_MASK); \
    RES_Set(((UWORD32)(regValSecond)) & MSG_LOW_16BIT_MASK)

#define MSG_RE_UP_POWER_ON_FAIL(regType, regAddr, regVal) \
    EASI_SetError(RET_RE_UP_FAIL); \
    RES_Set(RES_EASI_BASE+RES_RE_UP_POWER_ON_FAIL); \
    RES_Set(regType); \
    RES_Set(regAddr); \
    RES_Set(((((UWORD32)regVal)) >> MSG_SHIFT_UPR_TO_LWR_16BIT) & MSG_LOW_16BIT_MASK); \
    RES_Set((((UWORD32)regVal)) & MSG_LOW_16BIT_MASK); \
    RES_Set(RES_EASI_BASE+RES_NOP_VALUE)

#define MSG_RE_UP_ONES_FAIL(regType, regAddr, regVal) \
    EASI_SetError(RET_RE_UP_FAIL); \
    RES_Set(RES_EASI_BASE+RES_RE_UP_ONES_FAIL); \
    RES_Set(regType); \
    RES_Set(regAddr); \
    RES_Set(((((UWORD32)regVal)) >> MSG_SHIFT_UPR_TO_LWR_16BIT) & MSG_LOW_16BIT_MASK); \
    RES_Set((((UWORD32)regVal)) & MSG_LOW_16BIT_MASK); \
    RES_Set(RES_EASI_BASE+RES_NOP_VALUE)

#define MSG_RE_UP_ZEROS_FAIL(regType, regAddr, regVal) \
    EASI_SetError(RET_RE_UP_FAIL); \
    RES_Set(RES_EASI_BASE+RES_RE_UP_ZEROS_FAIL); \
    RES_Set(regType); \
    RES_Set(regAddr); \
    RES_Set(((((UWORD32)regVal)) >> MSG_SHIFT_UPR_TO_LWR_16BIT) & MSG_LOW_16BIT_MASK); \
    RES_Set((((UWORD32)regVal)) & MSG_LOW_16BIT_MASK); \
    RES_Set(RES_EASI_BASE+RES_NOP_VALUE)

#define MSG_RE_DOWN_POWER_ON_FAIL(regType, regAddr, regVal) \
    EASI_SetError(RET_RE_DOWN_FAIL); \
    RES_Set(RES_EASI_BASE+RES_RE_DOWN_POWER_ON_FAIL); \
    RES_Set(regType); \
    RES_Set(regAddr); \
    RES_Set(((((UWORD32)regVal)) >> MSG_SHIFT_UPR_TO_LWR_16BIT) & MSG_LOW_16BIT_MASK); \
    RES_Set((((UWORD32)regVal)) & MSG_LOW_16BIT_MASK); \
    RES_Set(RES_EASI_BASE+RES_NOP_VALUE)

#define MSG_RE_DOWN_ONES_FAIL(regType, regAddr, regVal)\
    EASI_SetError(RET_RE_DOWN_FAIL); \
    RES_Set(RES_EASI_BASE+RES_RE_DOWN_ONES_FAIL); \
    RES_Set(regType); \
    RES_Set(regAddr); \
    RES_Set(((((UWORD32)regVal)) >> MSG_SHIFT_UPR_TO_LWR_16BIT) & MSG_LOW_16BIT_MASK); \
    RES_Set((((UWORD32)regVal)) & MSG_LOW_16BIT_MASK); \
    RES_Set(RES_EASI_BASE+RES_NOP_VALUE)

#define MSG_RE_DOWN_ZEROS_FAIL(regType, regAddr, regVal)\
    EASI_SetError(RET_RE_DOWN_FAIL); \
    RES_Set(RES_EASI_BASE+RES_RE_DOWN_ZEROS_FAIL); \
    RES_Set(regType); \
    RES_Set(regAddr); \
    RES_Set(((((UWORD32)regVal)) >> MSG_SHIFT_UPR_TO_LWR_16BIT) & MSG_LOW_16BIT_MASK); \
    RES_Set((((UWORD32)regVal)) & MSG_LOW_16BIT_MASK); \
    RES_Set(RES_EASI_BASE+RES_NOP_VALUE)

/* no action currently reqiured for these macros */
#define MSG(data)                                   ((void)0)             

#define MSG_START_POR_TESTS                         ((void)0)

#define MSG_END_POR_TESTS                           ((void)0)

#define MSG_POR_TEST(regType, regAddr)              ((void)0)

#define MSG_START_RI_TESTS                          ((void)0)

#define MSG_END_RI_TESTS                            ((void)0)

#define MSG_RI_TEST(regType, regAddr)               ((void)0)

#define MSG_RI_ONES(regType, regAddr)               ((void)0)

#define MSG_RI_FIVES(regType, regAddr)              ((void)0)

#define MSG_RI_AAAAS(regType, regAddr)              ((void)0)

#define MSG_RI_ZEROS(regType, regAddr)              ((void)0)

#define MSG_START_RO_TESTS                          ((void)0)

#define MSG_END_RO_TESTS                            ((void)0) 

#define MSG_RO_TEST(regType, regAddr)               ((void)0)

#define MSG_START_WO_TESTS                          ((void)0) 

#define MSG_END_WO_TESTS                            ((void)0) 

#define MSG_WO_TEST(regType, regAddr)               ((void)0)

⌨️ 快捷键说明

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