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

📄 test_functions.h

📁 Freescale MCF5445evb 参考测试代码
💻 H
📖 第 1 页 / 共 3 页
字号:
 * * Returns:      * * Notes:    The test performed is: if (( (Reg) & (Mask) ) != ( (Exp) & (Mask) ))  *****************************************************************************/#define WREM8( Reg, WrData, ExpData, Mask ) 		                        \{ 										\    tBYTE tmp;									\    /* write the reg */								\    *(volatile tBYTE *)(Reg)=(tBYTE)(WrData);                                   \    /* read the reg */								\    tmp = (volatile tBYTE)(*(volatile tBYTE *)(Reg)); 				\    /* test the reg */								\    if (( (tBYTE)(tmp) & (tBYTE)(Mask) ) != ( (tBYTE)(ExpData) & (tBYTE)(Mask) )) { /* failed */ \      FAIL_5( (tWORD)( CPRINT_E_WREM8 ), (tWORD)( Reg ), (tWORD)( WrData ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Mask ) ); \    }              								\    else {                                                                      \      SUCCESS_5( (tWORD)( CPRINT_S_WREM8 ), (tWORD)( Reg ), (tWORD)( WrData ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Mask ) ); \    }                                                                           \}									#define WREM16( Reg, WrData, ExpData, Mask ) 		                        \{ 										\    tHALF tmp;									\    /* write the reg */								\    *(volatile tHALF *)(Reg)=(tHALF)(WrData);                                   \    /* read the reg */								\    tmp = (volatile tHALF)(*(volatile tHALF *)(Reg)); 				\    /* test the reg */								\    if (( (tHALF)(tmp) & (tHALF)(Mask) ) != ( (tHALF)(ExpData) & (tHALF)(Mask) )) { /* failed */ \      FAIL_5( (tWORD)( CPRINT_E_WREM16 ), (tWORD)( Reg ), (tWORD)( WrData ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Mask ) ); \    }              								\    else {                                                                      \      SUCCESS_5( (tWORD)( CPRINT_S_WREM16 ), (tWORD)( Reg ), (tWORD)( WrData ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Mask ) ); \    }                                                                           \}									#define WREM32( Reg, WrData, ExpData, Mask ) 		                        \{ 										\    tWORD tmp;									\    /* write the reg */								\    *(volatile tWORD *)(Reg)=(tWORD)(WrData);                                   \    /* read the reg */								\    tmp = (volatile tWORD)(*(volatile tWORD *)(Reg)); 				\    /* test the reg */								\    if (( (tWORD)(tmp) & (tWORD)(Mask) ) != ( (tWORD)(ExpData) & (tWORD)(Mask) )) { /* failed */ \      FAIL_5( (tWORD)( CPRINT_E_WREM32 ), (tWORD)( Reg ), (tWORD)( WrData ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Mask ) ); \    }              								\    else {                                                                      \      SUCCESS_5( (tWORD)( CPRINT_S_WREM32 ), (tWORD)( Reg ), (tWORD)( WrData ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Mask ) ); \    }                                                                           \}									#define WAIT_REM8( Reg, ExpData, Mask, Timeout )                                \{                                                                               \    tBYTE tmp;                                                                  \    tHALF index = 0;                                                            \    /* read the reg */                                                          \    tmp = (volatile tBYTE)(*(volatile tBYTE *)(Reg));                           \    /* test the reg */                                                          \    while ( (( (volatile tBYTE)(tmp) & (volatile tBYTE)(Mask) ) !=              \             ( (volatile tBYTE)(ExpData) & (volatile tBYTE)(Mask) )) &&         \            ( (volatile tHALF) (index) < (volatile tHALF) (Timeout)) )          \      { tmp = (volatile tBYTE)(*(volatile tBYTE *)(Reg));                       \        index++;                                                                \      }                                                                         \    if (index >= Timeout) {                                                     \      FAIL_5( (tWORD)( CPRINT_E_WAIT_REM8 ), (tWORD)( Reg ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Mask ), (tWORD)( Timeout ) ); \    }                                                                           \    else {                                                                      \      SUCCESS_5( (tWORD)( CPRINT_S_WAIT_REM8 ), (tWORD)( Reg ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Mask ), (tWORD)( Timeout ) ); \    }                                                                           \}#define WAIT_REM16( Reg, ExpData, Mask, Timeout )                               \{                                                                               \    tHALF tmp;                                                                  \    tHALF  index = 0;                                                           \    /* read the reg */                                                          \    tmp = (volatile tHALF)(*(volatile tHALF *)(Reg));                           \    /* test the reg */                                                          \    while ( (( (volatile tHALF)(tmp) & (volatile tHALF)(Mask) ) !=              \             ( (volatile tHALF)(ExpData) & (volatile tHALF)(Mask) )) &&         \            ( (volatile tHALF) (index) < (volatile tHALF) (Timeout)) )          \      { tmp = (volatile tHALF)(*(volatile tHALF *)(Reg));                       \        index++;                                                                \      }                                                                         \    /* write the CPRINT */                                                       \    if (index >= Timeout) {                                                     \      FAIL_5( (tWORD)( CPRINT_E_WAIT_REM16 ), (tWORD)( Reg ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Mask ), (tWORD)( Timeout ) ); \    }                                                                           \    else { /* this means the test succeeded */                                  \      SUCCESS_5( (tWORD)( CPRINT_S_WAIT_REM16 ), (tWORD)( Reg ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Mask ), (tWORD)( Timeout ) ); \    } /* if test */                                                             \}#define WAIT_REM32( Reg, ExpData, Mask, Timeout )                               \{                                                                               \    tWORD tmp;                                                                  \    tHALF  index = 0;                                                           \    /* read the reg */                                                          \    tmp = (volatile tWORD)(*(volatile tWORD *)(Reg));                           \    /* test the reg */                                                          \    while ( (( (volatile tWORD)(tmp) & (volatile tWORD)(Mask) ) !=              \             ( (volatile tWORD)(ExpData) & (volatile tWORD)(Mask) )) &&         \            ( (volatile tHALF) (index) < (volatile tHALF) (Timeout)) )          \      { tmp = (volatile tWORD)(*(volatile tWORD *)(Reg));                       \        index++;                                                                \      }                                                                         \    /* write the CPRINT */                                                       \    if (index >= Timeout) {                                                     \      FAIL_5( (tWORD)( CPRINT_E_WAIT_REM32 ), (tWORD)( Reg ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Mask ), (tWORD)( Timeout ) ); \    }                                                                           \    else { /* this means the test succeeded */                                  \      SUCCESS_5( (tWORD)( CPRINT_S_WAIT_REM32 ), (tWORD)( Reg ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Mask ), (tWORD)( Timeout ) ); \    } /* if test */                                                             \}#define WAIT_RE8( Reg, ExpData, Timeout )                                       \{                                                                               \    tBYTE  tmp;                                                                 \    tHALF  index = 0;                                                           \    /* read the reg */                                                          \    tmp = (volatile tBYTE)(*(volatile tBYTE *)(Reg));                           \    /* test the reg */                                                          \    while ( (( (volatile tBYTE)(tmp)  ) !=                                      \             ( (volatile tBYTE)(ExpData)  )) &&                                 \            ( (volatile tHALF) (index) < (volatile tHALF) (Timeout)) )          \      { tmp = (volatile tBYTE)(*(volatile tBYTE *)(Reg));                       \        index++;                                                                \      }                                                                         \    /* write the CPRINT */                                                       \    if (index >= Timeout) {                                                     \      FAIL_4( (tWORD)( CPRINT_E_WAIT_RE8 ), (tWORD)( Reg ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Timeout ) ); \    }                                                                           \    else { /* this means the test succeeded */                                  \      SUCCESS_4( (tWORD)( CPRINT_S_WAIT_RE8 ), (tWORD)( Reg ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Timeout ) ); \    } /* if test */                                                             \}#define WAIT_RE16( Reg, ExpData, Timeout )                                      \{                                                                               \    tHALF tmp;                                                                  \    tHALF  index = 0;                                                           \    /* read the reg */                                                          \    tmp = (volatile tHALF)(*(volatile tHALF *)(Reg));                           \    /* test the reg */                                                          \    while ( (( (volatile tHALF)(tmp) ) !=                                       \             ( (volatile tHALF)(ExpData) )) &&                                  \            ( (volatile tHALF) (index) < (volatile tHALF) (Timeout)) )          \      { tmp = (volatile tHALF)(*(volatile tHALF *)(Reg));                       \        index++;                                                                \      }                                                                         \    /* write the CPRINT */                                                       \    if (index >= Timeout) {                                                     \      FAIL_4( (tWORD)( CPRINT_E_WAIT_RE16 ), (tWORD)( Reg ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Timeout ) ); \    }                                                                           \    else { /* this means the test succeeded */                                  \      SUCCESS_4( (tWORD)( CPRINT_S_WAIT_RE16 ), (tWORD)( Reg ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Timeout ) ); \    } /* if test */                                                             \}#define WAIT_RE32( Reg, ExpData, Timeout )                                      \{                                                                               \    tWORD tmp;                                                                  \    tHALF  index = 0;                                                           \    /* read the reg */                                                          \    tmp = (volatile tWORD)(*(volatile tWORD *)(Reg));                           \    /* test the reg */                                                          \    while ( (( (volatile tWORD)(tmp)  ) !=                                      \             ( (volatile tWORD)(ExpData) )) &&                                  \            ( (volatile tHALF) (index) < (volatile tHALF) (Timeout)) )          \      { tmp = (volatile tWORD)(*(volatile tWORD *)(Reg));                       \        index++;                                                                \      }                                                                         \    /* write the CPRINT */                                                       \    if (index >= Timeout) {                                                     \      FAIL_4( (tWORD)( CPRINT_E_WAIT_RE32 ), (tWORD)( Reg ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Timeout ) ); \    }                                                                           \    else { /* this means the test succeeded */                                  \      SUCCESS_4( (tWORD)( CPRINT_S_WAIT_RE32 ), (tWORD)( Reg ), (tWORD)( tmp ), (tWORD)( ExpData ), (tWORD)( Timeout ) ); \    } /* if test */                                                             \}#define BCLR8( address, mask )                                                  \{                                                                               \    tBYTE tmpi;                                                                 \    tBYTE tmpf;                                                                 \    tmpi = (volatile tBYTE)(*(volatile tBYTE *)(address));                      \    *(volatile tBYTE *)(address) = tmpi & ~(volatile tBYTE)( mask );            \    tmpf = (volatile tBYTE)(*(volatile tBYTE *)(address));                      \    SUCCESS_4( (tWORD)( CPRINT_BCLR8 ), (tWORD)( address ), (tWORD)( tmpi ), (tWORD)( mask ), (tWORD)( tmpf ) ); \}#define BCLR16( address, mask )                                                 \{                                                                               \    tHALF tmpi;                                                                 \    tHALF tmpf;                                                                 \    tmpi = (volatile tHALF)(*(volatile tHALF *)(address));                      \    *(volatile tHALF *)(address) = tmpi & ~(volatile tHALF)( mask );            \    tmpf = (volatile tHALF)(*(volatile tHALF *)(address));                      \    SUCCESS_4( (tWORD)( CPRINT_BCLR16 ), (tWORD)( address ), (tWORD)( tmpi ), (tWORD)( mask ), (tWORD)( tmpf ) ); \}//#define BCLR32( address, mask )                                                 \//{                                                                               \//    tWORD tmpi;                                                                 \ //   tWORD tmpf;                                                                 \ //   tmpi = (volatile tWORD)(*(volatile tWORD *)(address));                      \ //   *(volatile tWORD *)(address) = tmpi & ~(volatile tWORD)( mask );            \ //   tmpf = (volatile tWORD)(*(volatile tWORD *)(address));                      \ //   SUCCESS_4( (tWORD)( CPRINT_BCLR32 ), (tWORD)( address ), (tWORD)( tmpi ), (tWORD)( mask ), (tWORD)( tmpf ) ); \//}#define BFLIP8( address, mask )                                                 \{                                                                               \    tBYTE tmpi;                                                                 \    tBYTE tmpf;                                                                 \    tmpi = (volatile tBYTE)(*(volatile tBYTE *)(address));                      \    *(volatile tBYTE *)(address) = ~tmpi ^ ~(volatile tBYTE)( mask );           \    tmpf = (volatile tBYTE)(*(volatile tBYTE *)(address));                      \    SUCCESS_4( (tWORD)( CPRINT_BFLIP8 ), (tWORD)( address ), (tWORD)( tmpi ), (tWORD)( mask ), (tWORD)( tmpf ) ); \}#define BFLIP16( address, mask )                                                \{                                                                               \    tHALF tmpi;                                                                 \    tHALF tmpf;                                                                 \    tmpi = (volatile tHALF)(*(volatile tHALF *)(address));                      \    *(volatile tHALF *)(address) = ~tmpi ^ ~(volatile tHALF)( mask );           \    tmpf = (volatile tHALF)(*(volatile tHALF *)(address));                      \    SUCCESS_4( (tWORD)( CPRINT_BFLIP16 ), (tWORD)( address ), (tWORD)( tmpi ), (tWORD)( mask ), (tWORD)( tmpf ) ); \}#define BFLIP32( address, mask )                                                \{                                                                               \    tWORD tmpi;                                                                 \    tWORD tmpf;                                                                 \    tmpi = (volatile tWORD)(*(volatile tWORD *)(address));                      \    *(volatile tWORD *)(address) = ~tmpi ^ ~(volatile tWORD)( mask );           \    tmpf = (volatile tWORD)(*(volatile tWORD *)(address));                      \    SUCCESS_4( (tWORD)( CPRINT_BFLIP32 ), (tWORD)( address ), (tWORD)( tmpi ), (tWORD)( mask ), (tWORD)( tmpf ) ); \}#define BSET8( address, mask )                                                  \{                                                                               \    tBYTE tmpi;                                                                 \    tBYTE tmpf;                                                                 \    tmpi = (volatile tBYTE)(*(volatile tBYTE *)(address));                      \    *(volatile tBYTE *)(address) = tmpi | (volatile tBYTE)( mask );             \    tmpf = (volatile tBYTE)(*(volatile tBYTE *)(address));                      \    SUCCESS_4( (tWORD)( CPRINT_BSET8 ), (tWORD)( address ), (tWORD)( tmpi ), (tWORD)( mask ), (tWORD)( tmpf ) ); \}#define BSET16( address, mask )                                                 \{                                                                               \    tHALF tmpi;                                                                 \    tHALF tmpf;                                                                 \    tmpi = (volatile tHALF)(*(volatile tHALF *)(address));                      \    *(volatile tHALF *)(address) = tmpi | (volatile tHALF)( mask );             \    tmpf = (volatile tHALF)(*(volatile tHALF *)(address));                      \    SUCCESS_4( (tWORD)( CPRINT_BSET16 ), (tWORD)( address ), (tWORD)( tmpi ), (tWORD)( mask ), (tWORD)( tmpf ) ); \}#define BSET32( address, mask )                                                 \{                                                                               \    tWORD tmpi;                                                                 \    tWORD tmpf;                                                                 \    tmpi = (volatile tWORD)(*(volatile tWORD *)(address));                      \    *(volatile tWORD *)(address) = tmpi | (volatile tWORD)( mask );             \    tmpf = (volatile tWORD)(*(volatile tWORD *)(address));                      \    SUCCESS_4( (tWORD)( CPRINT_BSET32 ), (tWORD)( address ), (tWORD)( tmpi ), (tWORD)( mask ), (tWORD)( tmpf ) ); \}#endif

⌨️ 快捷键说明

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