Microchip® Advanced Software Framework

classb_cpu.h File Reference

Settings and definitions for the CPU register test.

Application note:
AVR1610: Guide to IEC60730 Class B compliance with XMEGA

Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.

#include "error_handler.h"

Macros

#define ASSEMBLY   __asm__ __volatile__
 
#define CLASSB_ERROR_CRIT   CLASSB_LABEL1
 Error handling in critical registers. More...
 
#define CLASSB_ERROR_NON_CRIT   CLASSB_LABEL2
 Error handling in non-critical registers. More...
 
#define CLASSB_HAS_BIGFLASH
 Automatically defined for devices with program memory larger than 64KB. More...
 
#define CLASSB_HAS_BIGMEM
 Automatically defined for devices with data memory larger than 64KB. More...
 
#define CLASSB_RegClear_IO(reg)
 Clear IO-register. More...
 
#define CLASSB_RegClear_R(reg)
 Clear R register. More...
 
#define CLASSB_RegRestore_IO(reg)
 Restore IO-register content. More...
 
#define CLASSB_RegRestore_R(reg)
 Load R register content from R31. More...
 
#define CLASSB_RegSet_IO(reg, value)
 Set IO-register to specified value. More...
 
#define CLASSB_RegSet_R_HI(reg, value)
 Set high R-register to specified value. More...
 
#define CLASSB_RegSet_R_LO(reg, value)
 Set low R-register to specified value. More...
 
#define CLASSB_RegStore_IO(reg)
 Store IO-register content. More...
 
#define CLASSB_RegStore_R(reg)
 Save R register content to R31. More...
 
#define CLASSB_RegTest_IO(reg, value, label)
 Test IO register with specified value, jump to specified label on fault. More...
 
#define CLASSB_RegTest_R_HI(reg, value, label)
 Test R16-31 with specified value, jump to specified label on fault. More...
 
#define CLASSB_RegTest_R_LO(reg, value, label)
 Test R0-15 with specified value, jump to specified label on fault. More...
 
Internal string manipulation macros
#define STRINGIZE_AUX(X)   #X
 
#define STRINGIZE(X)   STRINGIZE_AUX(X)
 
#define CONCAT3(X, Y, Z)   X##Y##Z
 
#define LABEL(X, Y, Z)   CONCAT3(X,Y,Z)
 

Functions

bool classb_register_test (void)
 CPU register self-diagnostic routine for AVR GCC. More...
 

#define ASSEMBLY   __asm__ __volatile__

Referenced by classb_register_test().

#define CONCAT3 (   X,
  Y,
 
)    X##Y##Z
#define LABEL (   X,
  Y,
 
)    CONCAT3(X,Y,Z)
#define STRINGIZE (   X)    STRINGIZE_AUX(X)
#define STRINGIZE_AUX (   X)    #X