Provide a portable way to specify the segment where a variable lives.ĪLIGN_VAR(_variableDeclaration, alignment) VAR_AT_SEGMENT(_variableDeclaration, _segmentName) _variableDeclaration _segmentName Use the Divide and Modulus Operations from platform-common.h. Some platforms need to cast enum values that have the high bit set.ĭefine the magic value that is interpreted by IAR C-SPY's Stack View.ĭefine a generic RAM function identifier to a compiler specific one.ĭefine a generic no operation identifier to a compiler specific one.Ī convenience macro that makes it easy to change the field of a register to any value. HalResetWatchdog() halInternalResetWatchDog()ĭefine _attribute_ to nothing since it isn't handled by IAR.ĭeclare a variable as unused to avoid a warning. Set debug level based on whether or DEBUG is defined.ĪPPLICATION_IMAGE_END ((u32) _section_end ("FLASH_IMAGE")) _delay_cycles() is an intrinsic IAR call however, we have explicity disallowed it since it is too specific to the system clock.ĪPPLICATION_IMAGE_START ((u32) _section_begin("FLASH_IMAGE")) _delay_cycles(x) please_use_halCommonDelayMicroseconds_instead_of_delay_cycles These are a set of typedefs to make the size of all variable declarations explicitly known.Ī typedef to make the size of the variable explicitly known.Ī convenient method for code to know what endiannes processor it is running on.Ī friendlier name for the compiler's intrinsic for not stripping.Ī friendlier name for the compiler's intrinsic for eeprom reference.
Include platform-common.h last to pick up defaults and common definitions. Use the C Standard Library Memory Utilities from platform-common.h. Use the Master Program Memory Declarations from platform-common.h. Compiler and Platform specific definitions and typedefs for the IAR ARM C compiler.