IAR PLATFORM_HEADER Configuration
Compiler and Platform specific definitions and typedefs for the IAR ARM C compiler. More...
Macros | |
#define | HAL_HAS_INT64 |
Denotes that this platform supports 64-bit data-types. More... | |
#define | _HAL_USE_COMMON_PGM_ |
Use the Master Program Memory Declarations from platform-common.h . More... | |
#define | _HAL_USE_COMMON_MEMUTILS_ |
If the line below is uncommented we will use Ember memory APIs, otherwise, we will use the C Standard library (memset,memcpy,memmove) APIs. More... | |
#define | PLATCOMMONOKTOINCLUDE |
Include platform-common.h last to pick up defaults and common definitions. More... | |
#define | MAIN_FUNCTION_PARAMETERS |
The kind of arguments the main function takes. More... | |
#define | MAIN_FUNCTION_ARGUMENTS |
Functions | |
void | _executeBarrierInstructions (void) |
Master Variable Types | |
These are a set of typedefs to make the size of all variable declarations explicitly known. | |
typedef bool | boolean |
A typedef to make the size of the variable explicitly known. More... | |
typedef unsigned char | int8u |
A typedef to make the size of the variable explicitly known. More... | |
typedef signed char | int8s |
A typedef to make the size of the variable explicitly known. More... | |
typedef unsigned short | int16u |
A typedef to make the size of the variable explicitly known. More... | |
typedef signed short | int16s |
A typedef to make the size of the variable explicitly known. More... | |
typedef unsigned int | int32u |
A typedef to make the size of the variable explicitly known. More... | |
typedef signed int | int32s |
A typedef to make the size of the variable explicitly known. More... | |
typedef unsigned long long | int64u |
A typedef to make the size of the variable explicitly known. More... | |
typedef signed long long | int64s |
A typedef to make the size of the variable explicitly known. More... | |
typedef unsigned int | PointerType |
A typedef to make the size of the variable explicitly known. More... | |
Miscellaneous Macros | |
void | halInternalAssertFailed (const char *filename, int linenumber) |
A prototype definition for use by the assert macro. (see hal/micro/micro.h ) More... | |
void | halInternalResetWatchDog (void) |
Macro to reset the watchdog timer. Note: be very very careful when using this as you can easily get into an infinite loop if you are not careful. More... | |
#define | BIGENDIAN_CPU |
A convenient method for code to know what endiannes processor it is running on. For the Cortex-M3, we are little endian. More... | |
#define | NTOHS(val) |
Define intrinsics for NTOHL and NTOHS to save code space by making endian.c compile to nothing. More... | |
#define | NTOHL(val) |
A convenient method for code to know what endiannes processor it is running on. For the Cortex-M3, we are little endian. More... | |
#define | NO_STRIPPING |
A friendlier name for the compiler's intrinsic for not stripping. More... | |
#define | EEPROM |
A friendlier name for the compiler's intrinsic for eeprom reference. More... | |
#define | __SOURCEFILE__ |
The SOURCEFILE macro is used by asserts to list the filename if it isn't otherwise defined, set it to the compiler intrinsic which specifies the whole filename and path of the sourcefile. More... | |
#define | assert(condition) |
A custom implementation of the C language assert macro. This macro implements the conditional evaluation and calls the function halInternalAssertFailed(). (see hal/micro/micro.h ) More... | |
#define | halResetWatchdog() |
A convenient method for code to know what endiannes processor it is running on. For the Cortex-M3, we are little endian. More... | |
#define | __attribute__(...) |
Define attribute to nothing since it isn't handled by IAR. More... | |
#define | UNUSED |
Declare a variable as unused to avoid a warning. Has no effect in IAR builds. More... | |
#define | SIGNED_ENUM |
Some platforms need to cast enum values that have the high bit set. More... | |
#define | STACK_FILL_VALUE |
Define the magic value that is interpreted by IAR C-SPY's Stack View. More... | |
#define | RAMFUNC |
Define a generic RAM function identifier to a compiler specific one. More... | |
#define | NO_OPERATION() |
Define a generic no operation identifier to a compiler specific one. More... | |
#define | SET_REG_FIELD(reg, field, value) |
A convenience macro that makes it easy to change the field of a register to any unsigned value. More... | |
#define | SET_CMSIS_REG(reg, mask, value) |
A convenience macro that makes it easy to change a register using the provided mask(s) and value(s). Example: SET_CMSIS_REG(GPIO->P[1].CFGH, (_GPIO_P_CFGH_Px5_MASK | _GPIO_P_CFGH_Px6_MASK), (GPIO_P_CFGH_Px5_OUT | GPIO_P_CFGH_Px6_OUT));. More... | |
#define | SET_CMSIS_REG_FIELD(reg, field, value) |
A convenience macro that makes it easy to change the field of a register, as defined in CMSIS Device headers, to any unsigned value. Example using EM35xx: SET_CMSIS_REG_FIELD(GPIO->P[0].CFGL, GPIO_P_CFGL_Px0, _GPIO_P_CFGL_Px0_OUT);. More... | |
#define | simulatedTimePasses() |
Stub for code not running in simulation. More... | |
#define | simulatedTimePassesMs(x) |
Stub for code not running in simulation. More... | |
#define | simulatedSerialTimePasses() |
Stub for code not running in simulation. More... | |
#define | _HAL_USE_COMMON_DIVMOD_ |
Use the Divide and Modulus Operations from platform-common.h . More... | |
#define | VAR_AT_SEGMENT(__variableDeclaration, __segmentName) |
Provide a portable way to specify the segment where a variable lives. More... | |
#define | STRINGIZE(X) |
Convinience macro for turning a token into a string. More... | |
#define | ALIGNMENT(X) |
Provide a portable way to align data. More... | |
#define | WEAK(__symbol) |
Provide a portable way to specify a symbol as weak. More... | |
#define | NO_INIT(__symbol) |
Provide a portable way to specify a non initialized symbol. More... | |
#define | STATIC_ASSERT(__condition, __errorstr) |
Provide a portable way to specify a compile time assert. More... | |
Portable segment names | |
#define | __NO_INIT__ |
Portable segment names. More... | |
#define | __DEBUG_CHANNEL__ |
Portable segment names. More... | |
#define | __INTVEC__ |
Portable segment names. More... | |
#define | __CSTACK__ |
Portable segment names. More... | |
#define | __RESETINFO__ |
Portable segment names. More... | |
#define | __DATA_INIT__ |
Portable segment names. More... | |
#define | __DATA__ |
Portable segment names. More... | |
#define | __BSS__ |
Portable segment names. More... | |
#define | __CONST__ |
Portable segment names. More... | |
#define | __TEXT__ |
Portable segment names. More... | |
#define | __TEXTRW_INIT__ |
Portable segment names. More... | |
#define | __TEXTRW__ |
Portable segment names. More... | |
#define | __AAT__ |
Portable segment names. More... | |
#define | __BAT__ |
Portable segment names. More... | |
#define | __BAT_INIT__ |
Portable segment names. More... | |
#define | __FAT__ |
Portable segment names. More... | |
#define | __RAT__ |
Portable segment names. More... | |
#define | __NVM__ |
Portable segment names. More... | |
#define | __SIMEE__ |
Portable segment names. More... | |
#define | __PSSTORE__ |
Portable segment names. More... | |
#define | __EMHEAP__ |
Portable segment names. More... | |
#define | __EMHEAP_OVERLAY__ |
Portable segment names. More... | |
#define | __GUARD_REGION__ |
Portable segment names. More... | |
#define | __DLIB_PERTHREAD_INIT__ |
Portable segment names. More... | |
#define | __DLIB_PERTHREAD_INITIALIZED_DATA__ |
Portable segment names. More... | |
#define | __DLIB_PERTHREAD_ZERO_DATA__ |
Portable segment names. More... | |
#define | __INTERNAL_STORAGE__ |
Portable segment names. More... | |
#define | __LOCKBITS_IN_MAINFLASH__ |
Portable segment names. More... | |
#define | __UNRETAINED_RAM__ |
Portable segment names. More... | |
#define | _NO_INIT_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _DEBUG_CHANNEL_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _INTVEC_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _CSTACK_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _RESETINFO_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _DATA_INIT_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _DATA_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _BSS_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _CONST_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _TEXT_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _TEXTRW_INIT_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _TEXTRW_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _AAT_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _BAT_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _BAT_INIT_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _FAT_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _RAT_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _NVM_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _SIMEE_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _PSSTORE_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _EMHEAP_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _EMHEAP_OVERLAY_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _GUARD_REGION_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _DLIB_PERTHREAD_INIT_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _DLIB_PERTHREAD_ZERO_DATA_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _INTERNAL_STORAGE_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _LOCKBITS_IN_MAIN_FLASH_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _UNRETAINED_RAM_SEGMENT_BEGIN |
Portable segment names. More... | |
#define | _NO_INIT_SEGMENT_END |
Portable segment names. More... | |
#define | _DEBUG_CHANNEL_SEGMENT_END |
Portable segment names. More... | |
#define | _INTVEC_SEGMENT_END |
Portable segment names. More... | |
#define | _CSTACK_SEGMENT_END |
Portable segment names. More... | |
#define | _RESETINFO_SEGMENT_END |
Portable segment names. More... | |
#define | _DATA_INIT_SEGMENT_END |
Portable segment names. More... | |
#define | _DATA_SEGMENT_END |
Portable segment names. More... | |
#define | _BSS_SEGMENT_END |
Portable segment names. More... | |
#define | _CONST_SEGMENT_END |
Portable segment names. More... | |
#define | _TEXT_SEGMENT_END |
Portable segment names. More... | |
#define | _TEXTRW_INIT_SEGMENT_END |
Portable segment names. More... | |
#define | _TEXTRW_SEGMENT_END |
Portable segment names. More... | |
#define | _AAT_SEGMENT_END |
Portable segment names. More... | |
#define | _BAT_SEGMENT_END |
Portable segment names. More... | |
#define | _BAT_INIT_SEGMENT_END |
Portable segment names. More... | |
#define | _FAT_SEGMENT_END |
Portable segment names. More... | |
#define | _RAT_SEGMENT_END |
Portable segment names. More... | |
#define | _NVM_SEGMENT_END |
Portable segment names. More... | |
#define | _SIMEE_SEGMENT_END |
Portable segment names. More... | |
#define | _PSSTORE_SEGMENT_END |
Portable segment names. More... | |
#define | _EMHEAP_SEGMENT_END |
Portable segment names. More... | |
#define | _EMHEAP_OVERLAY_SEGMENT_END |
Portable segment names. More... | |
#define | _GUARD_REGION_SEGMENT_END |
Portable segment names. More... | |
#define | _DLIB_PERTHREAD_INIT_SEGMENT_END |
Portable segment names. More... | |
#define | _DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_END |
Portable segment names. More... | |
#define | _DLIB_PERTHREAD_ZERO_DATA_SEGMENT_END |
Portable segment names. More... | |
#define | _INTERNAL_STORAGE_SEGMENT_END |
Portable segment names. More... | |
#define | _LOCKBITS_IN_MAIN_FLASH_SEGMENT_END |
Portable segment names. More... | |
#define | _UNRETAINED_RAM_SEGMENT_END |
Portable segment names. More... | |
#define | _NO_INIT_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _DEBUG_CHANNEL_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _INTVEC_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _CSTACK_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _RESETINFO_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _DATA_INIT_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _DATA_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _BSS_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _CONST_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _TEXT_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _TEXTRW_INIT_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _TEXTRW_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _AAT_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _BAT_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _BAT_INIT_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _FAT_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _RAT_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _NVM_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _SIMEE_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _PSSTORE_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _EMHEAP_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _EMHEAP_OVERLAY_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _GUARD_REGION_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _DLIB_PERTHREAD_INIT_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _DLIB_PERTHREAD_ZERO_DATA_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _INTERNAL_STORAGE_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _LOCKBITS_IN_MAIN_FLASH_SEGMENT_SIZE |
Portable segment names. More... | |
#define | _UNRETAINED_RAM_SEGMENT_SIZE |
Portable segment names. More... | |
External Declarations | |
These are routines that are defined in certain header files that we don't want to include, e.g. stdlib.h | |
int | abs (int I) |
Returns the absolute value of I (also called the magnitude of I). That is, if I is negative, the result is the opposite of I, but if I is nonnegative the result is I. More... | |
Detailed Description
Compiler and Platform specific definitions and typedefs for the IAR ARM C compiler.
- Note
iar.h
should be included first in all source files by setting the preprocessor macro PLATFORM_HEADER to point to it.iar.h
automatically includesplatform-common.h
.
See iar.h
and platform-common.h
for source code.
Macro Definition Documentation
#define __AAT__ |
Portable segment names.
Definition at line 373
of file iar.h
.
#define __attribute__ | ( | ... | ) |
Define attribute to nothing since it isn't handled by IAR.
Definition at line 221
of file iar.h
.
#define __BAT__ |
Portable segment names.
Definition at line 374
of file iar.h
.
#define __BAT_INIT__ |
Portable segment names.
Definition at line 375
of file iar.h
.
#define __BSS__ |
Portable segment names.
Definition at line 368
of file iar.h
.
#define __CONST__ |
Portable segment names.
Definition at line 369
of file iar.h
.
#define __CSTACK__ |
Portable segment names.
Definition at line 364
of file iar.h
.
#define __DATA__ |
Portable segment names.
Definition at line 367
of file iar.h
.
#define __DATA_INIT__ |
Portable segment names.
Definition at line 366
of file iar.h
.
#define __DEBUG_CHANNEL__ |
Portable segment names.
Definition at line 362
of file iar.h
.
#define __DLIB_PERTHREAD_INIT__ |
Portable segment names.
Definition at line 384
of file iar.h
.
#define __DLIB_PERTHREAD_INITIALIZED_DATA__ |
Portable segment names.
Definition at line 385
of file iar.h
.
#define __DLIB_PERTHREAD_ZERO_DATA__ |
Portable segment names.
Definition at line 386
of file iar.h
.
#define __EMHEAP__ |
Portable segment names.
Definition at line 381
of file iar.h
.
#define __EMHEAP_OVERLAY__ |
Portable segment names.
Definition at line 382
of file iar.h
.
#define __FAT__ |
Portable segment names.
Definition at line 376
of file iar.h
.
#define __GUARD_REGION__ |
Portable segment names.
Definition at line 383
of file iar.h
.
#define __INTERNAL_STORAGE__ |
Portable segment names.
Definition at line 387
of file iar.h
.
#define __INTVEC__ |
Portable segment names.
Definition at line 363
of file iar.h
.
#define __LOCKBITS_IN_MAINFLASH__ |
Portable segment names.
Definition at line 388
of file iar.h
.
#define __NO_INIT__ |
Portable segment names.
Definition at line 361
of file iar.h
.
#define __NVM__ |
Portable segment names.
Definition at line 378
of file iar.h
.
#define __PSSTORE__ |
Portable segment names.
Definition at line 380
of file iar.h
.
#define __RAT__ |
Portable segment names.
Definition at line 377
of file iar.h
.
#define __RESETINFO__ |
Portable segment names.
Definition at line 365
of file iar.h
.
#define __SIMEE__ |
Portable segment names.
Definition at line 379
of file iar.h
.
#define __SOURCEFILE__ |
The SOURCEFILE macro is used by asserts to list the filename if it isn't otherwise defined, set it to the compiler intrinsic which specifies the whole filename and path of the sourcefile.
Definition at line 167
of file iar.h
.
#define __TEXT__ |
Portable segment names.
Definition at line 370
of file iar.h
.
#define __TEXTRW__ |
Portable segment names.
Definition at line 372
of file iar.h
.
#define __TEXTRW_INIT__ |
Portable segment names.
Definition at line 371
of file iar.h
.
#define __UNRETAINED_RAM__ |
Portable segment names.
Definition at line 389
of file iar.h
.
#define _AAT_SEGMENT_BEGIN |
Portable segment names.
Definition at line 440
of file iar.h
.
#define _AAT_SEGMENT_END |
Portable segment names.
Definition at line 470
of file iar.h
.
#define _AAT_SEGMENT_SIZE |
Portable segment names.
Definition at line 500
of file iar.h
.
#define _BAT_INIT_SEGMENT_BEGIN |
Portable segment names.
Definition at line 442
of file iar.h
.
#define _BAT_INIT_SEGMENT_END |
Portable segment names.
Definition at line 472
of file iar.h
.
#define _BAT_INIT_SEGMENT_SIZE |
Portable segment names.
Definition at line 502
of file iar.h
.
#define _BAT_SEGMENT_BEGIN |
Portable segment names.
Definition at line 441
of file iar.h
.
#define _BAT_SEGMENT_END |
Portable segment names.
Definition at line 471
of file iar.h
.
#define _BAT_SEGMENT_SIZE |
Portable segment names.
Definition at line 501
of file iar.h
.
#define _BSS_SEGMENT_BEGIN |
Portable segment names.
Definition at line 435
of file iar.h
.
#define _BSS_SEGMENT_END |
Portable segment names.
Definition at line 465
of file iar.h
.
#define _BSS_SEGMENT_SIZE |
Portable segment names.
Definition at line 495
of file iar.h
.
#define _CONST_SEGMENT_BEGIN |
Portable segment names.
Definition at line 436
of file iar.h
.
#define _CONST_SEGMENT_END |
Portable segment names.
Definition at line 466
of file iar.h
.
#define _CONST_SEGMENT_SIZE |
Portable segment names.
Definition at line 496
of file iar.h
.
#define _CSTACK_SEGMENT_BEGIN |
Portable segment names.
Definition at line 431
of file iar.h
.
#define _CSTACK_SEGMENT_END |
Portable segment names.
Definition at line 461
of file iar.h
.
#define _CSTACK_SEGMENT_SIZE |
Portable segment names.
Definition at line 491
of file iar.h
.
#define _DATA_INIT_SEGMENT_BEGIN |
Portable segment names.
Definition at line 433
of file iar.h
.
#define _DATA_INIT_SEGMENT_END |
Portable segment names.
Definition at line 463
of file iar.h
.
#define _DATA_INIT_SEGMENT_SIZE |
Portable segment names.
Definition at line 493
of file iar.h
.
#define _DATA_SEGMENT_BEGIN |
Portable segment names.
Definition at line 434
of file iar.h
.
#define _DATA_SEGMENT_END |
Portable segment names.
Definition at line 464
of file iar.h
.
#define _DATA_SEGMENT_SIZE |
Portable segment names.
Definition at line 494
of file iar.h
.
#define _DEBUG_CHANNEL_SEGMENT_BEGIN |
Portable segment names.
Definition at line 429
of file iar.h
.
#define _DEBUG_CHANNEL_SEGMENT_END |
Portable segment names.
Definition at line 459
of file iar.h
.
#define _DEBUG_CHANNEL_SEGMENT_SIZE |
Portable segment names.
Definition at line 489
of file iar.h
.
#define _DLIB_PERTHREAD_INIT_SEGMENT_BEGIN |
Portable segment names.
Definition at line 451
of file iar.h
.
#define _DLIB_PERTHREAD_INIT_SEGMENT_END |
Portable segment names.
Definition at line 481
of file iar.h
.
#define _DLIB_PERTHREAD_INIT_SEGMENT_SIZE |
Portable segment names.
Definition at line 511
of file iar.h
.
#define _DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_BEGIN |
Portable segment names.
Definition at line 452
of file iar.h
.
#define _DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_END |
Portable segment names.
Definition at line 482
of file iar.h
.
#define _DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_SIZE |
Portable segment names.
Definition at line 512
of file iar.h
.
#define _DLIB_PERTHREAD_ZERO_DATA_SEGMENT_BEGIN |
Portable segment names.
Definition at line 453
of file iar.h
.
#define _DLIB_PERTHREAD_ZERO_DATA_SEGMENT_END |
Portable segment names.
Definition at line 483
of file iar.h
.
#define _DLIB_PERTHREAD_ZERO_DATA_SEGMENT_SIZE |
Portable segment names.
Definition at line 513
of file iar.h
.
#define _EMHEAP_OVERLAY_SEGMENT_BEGIN |
Portable segment names.
Definition at line 449
of file iar.h
.
#define _EMHEAP_OVERLAY_SEGMENT_END |
Portable segment names.
Definition at line 479
of file iar.h
.
#define _EMHEAP_OVERLAY_SEGMENT_SIZE |
Portable segment names.
Definition at line 509
of file iar.h
.
#define _EMHEAP_SEGMENT_BEGIN |
Portable segment names.
Definition at line 448
of file iar.h
.
#define _EMHEAP_SEGMENT_END |
Portable segment names.
Definition at line 478
of file iar.h
.
#define _EMHEAP_SEGMENT_SIZE |
Portable segment names.
Definition at line 508
of file iar.h
.
#define _FAT_SEGMENT_BEGIN |
Portable segment names.
Definition at line 443
of file iar.h
.
#define _FAT_SEGMENT_END |
Portable segment names.
Definition at line 473
of file iar.h
.
#define _FAT_SEGMENT_SIZE |
Portable segment names.
Definition at line 503
of file iar.h
.
#define _GUARD_REGION_SEGMENT_BEGIN |
Portable segment names.
Definition at line 450
of file iar.h
.
#define _GUARD_REGION_SEGMENT_END |
Portable segment names.
Definition at line 480
of file iar.h
.
#define _GUARD_REGION_SEGMENT_SIZE |
Portable segment names.
Definition at line 510
of file iar.h
.
#define _HAL_USE_COMMON_DIVMOD_ |
Use the Divide and Modulus Operations from platform-common.h
.
Definition at line 312
of file iar.h
.
#define _HAL_USE_COMMON_MEMUTILS_ |
If the line below is uncommented we will use Ember memory APIs, otherwise, we will use the C Standard library (memset,memcpy,memmove) APIs.
Definition at line 530
of file iar.h
.
#define _HAL_USE_COMMON_PGM_ |
Use the Master Program Memory Declarations from platform-common.h
.
Definition at line 126
of file iar.h
.
#define _INTERNAL_STORAGE_SEGMENT_BEGIN |
Portable segment names.
Definition at line 454
of file iar.h
.
#define _INTERNAL_STORAGE_SEGMENT_END |
Portable segment names.
Definition at line 484
of file iar.h
.
#define _INTERNAL_STORAGE_SEGMENT_SIZE |
Portable segment names.
Definition at line 514
of file iar.h
.
#define _INTVEC_SEGMENT_BEGIN |
Portable segment names.
Definition at line 430
of file iar.h
.
#define _INTVEC_SEGMENT_END |
Portable segment names.
Definition at line 460
of file iar.h
.
#define _INTVEC_SEGMENT_SIZE |
Portable segment names.
Definition at line 490
of file iar.h
.
#define _LOCKBITS_IN_MAIN_FLASH_SEGMENT_BEGIN |
Portable segment names.
Definition at line 455
of file iar.h
.
#define _LOCKBITS_IN_MAIN_FLASH_SEGMENT_END |
Portable segment names.
Definition at line 485
of file iar.h
.
#define _LOCKBITS_IN_MAIN_FLASH_SEGMENT_SIZE |
Portable segment names.
Definition at line 515
of file iar.h
.
#define _NO_INIT_SEGMENT_BEGIN |
Portable segment names.
Definition at line 428
of file iar.h
.
#define _NO_INIT_SEGMENT_END |
Portable segment names.
Definition at line 458
of file iar.h
.
#define _NO_INIT_SEGMENT_SIZE |
Portable segment names.
Definition at line 488
of file iar.h
.
#define _NVM_SEGMENT_BEGIN |
Portable segment names.
Definition at line 445
of file iar.h
.
#define _NVM_SEGMENT_END |
Portable segment names.
Definition at line 475
of file iar.h
.
#define _NVM_SEGMENT_SIZE |
Portable segment names.
Definition at line 505
of file iar.h
.
#define _PSSTORE_SEGMENT_BEGIN |
Portable segment names.
Definition at line 447
of file iar.h
.
#define _PSSTORE_SEGMENT_END |
Portable segment names.
Definition at line 477
of file iar.h
.
#define _PSSTORE_SEGMENT_SIZE |
Portable segment names.
Definition at line 507
of file iar.h
.
#define _RAT_SEGMENT_BEGIN |
Portable segment names.
Definition at line 444
of file iar.h
.
#define _RAT_SEGMENT_END |
Portable segment names.
Definition at line 474
of file iar.h
.
#define _RAT_SEGMENT_SIZE |
Portable segment names.
Definition at line 504
of file iar.h
.
#define _RESETINFO_SEGMENT_BEGIN |
Portable segment names.
Definition at line 432
of file iar.h
.
#define _RESETINFO_SEGMENT_END |
Portable segment names.
Definition at line 462
of file iar.h
.
#define _RESETINFO_SEGMENT_SIZE |
Portable segment names.
Definition at line 492
of file iar.h
.
#define _SIMEE_SEGMENT_BEGIN |
Portable segment names.
Definition at line 446
of file iar.h
.
#define _SIMEE_SEGMENT_END |
Portable segment names.
Definition at line 476
of file iar.h
.
#define _SIMEE_SEGMENT_SIZE |
Portable segment names.
Definition at line 506
of file iar.h
.
#define _TEXT_SEGMENT_BEGIN |
Portable segment names.
Definition at line 437
of file iar.h
.
#define _TEXT_SEGMENT_END |
Portable segment names.
Definition at line 467
of file iar.h
.
#define _TEXT_SEGMENT_SIZE |
Portable segment names.
Definition at line 497
of file iar.h
.
#define _TEXTRW_INIT_SEGMENT_BEGIN |
Portable segment names.
Definition at line 438
of file iar.h
.
#define _TEXTRW_INIT_SEGMENT_END |
Portable segment names.
Definition at line 468
of file iar.h
.
#define _TEXTRW_INIT_SEGMENT_SIZE |
Portable segment names.
Definition at line 498
of file iar.h
.
#define _TEXTRW_SEGMENT_BEGIN |
Portable segment names.
Definition at line 439
of file iar.h
.
#define _TEXTRW_SEGMENT_END |
Portable segment names.
Definition at line 469
of file iar.h
.
#define _TEXTRW_SEGMENT_SIZE |
Portable segment names.
Definition at line 499
of file iar.h
.
#define _UNRETAINED_RAM_SEGMENT_BEGIN |
Portable segment names.
Definition at line 456
of file iar.h
.
#define _UNRETAINED_RAM_SEGMENT_END |
Portable segment names.
Definition at line 486
of file iar.h
.
#define _UNRETAINED_RAM_SEGMENT_SIZE |
Portable segment names.
Definition at line 516
of file iar.h
.
#define ALIGNMENT | ( | X | ) |
Provide a portable way to align data.
Definition at line 329
of file iar.h
.
#define assert | ( | condition | ) |
A custom implementation of the C language assert macro. This macro implements the conditional evaluation and calls the function halInternalAssertFailed(). (see hal/micro/micro.h
)
Definition at line 184
of file iar.h
.
#define BIGENDIAN_CPU |
A convenient method for code to know what endiannes processor it is running on. For the Cortex-M3, we are little endian.
Definition at line 139
of file iar.h
.
#define EEPROM |
A friendlier name for the compiler's intrinsic for eeprom reference.
Definition at line 158
of file iar.h
.
#define HAL_HAS_INT64 |
Denotes that this platform supports 64-bit data-types.
Definition at line 121
of file iar.h
.
#define halResetWatchdog | ( |
| ) |
A convenient method for code to know what endiannes processor it is running on. For the Cortex-M3, we are little endian.
Definition at line 215
of file iar.h
.
#define MAIN_FUNCTION_ARGUMENTS |
Definition at line 567
of file iar.h
.
#define MAIN_FUNCTION_PARAMETERS |
The kind of arguments the main function takes.
Definition at line 566
of file iar.h
.
#define NO_INIT | ( | __symbol | ) |
Provide a portable way to specify a non initialized symbol.
Definition at line 341
of file iar.h
.
#define NO_OPERATION | ( |
| ) |
Define a generic no operation identifier to a compiler specific one.
Definition at line 253
of file iar.h
.
#define NO_STRIPPING |
A friendlier name for the compiler's intrinsic for not stripping.
Definition at line 152
of file iar.h
.
#define NTOHL | ( | val | ) |
A convenient method for code to know what endiannes processor it is running on. For the Cortex-M3, we are little endian.
Definition at line 146
of file iar.h
.
#define NTOHS | ( | val | ) |
Define intrinsics for NTOHL and NTOHS to save code space by making endian.c compile to nothing.
Definition at line 145
of file iar.h
.
#define PLATCOMMONOKTOINCLUDE |
Include platform-common.h
last to pick up defaults and common definitions.
Definition at line 559
of file iar.h
.
#define RAMFUNC |
Define a generic RAM function identifier to a compiler specific one.
Definition at line 247
of file iar.h
.
#define SET_CMSIS_REG | ( | reg, |
|
mask, |
|||
value |
|||
) |
A convenience macro that makes it easy to change a register using the provided mask(s) and value(s). Example: SET_CMSIS_REG(GPIO->P[1].CFGH, (_GPIO_P_CFGH_Px5_MASK | _GPIO_P_CFGH_Px6_MASK), (GPIO_P_CFGH_Px5_OUT | GPIO_P_CFGH_Px6_OUT));.
Definition at line 276
of file iar.h
.
#define SET_CMSIS_REG_FIELD | ( | reg, |
|
field, |
|||
value |
|||
) |
A convenience macro that makes it easy to change the field of a register, as defined in CMSIS Device headers, to any unsigned value. Example using EM35xx: SET_CMSIS_REG_FIELD(GPIO->P[0].CFGL, GPIO_P_CFGL_Px0, _GPIO_P_CFGL_Px0_OUT);.
Definition at line 287
of file iar.h
.
#define SET_REG_FIELD | ( | reg, |
|
field, |
|||
value |
|||
) |
A convenience macro that makes it easy to change the field of a register to any unsigned value.
Definition at line 259
of file iar.h
.
#define SIGNED_ENUM |
Some platforms need to cast enum values that have the high bit set.
Definition at line 232
of file iar.h
.
#define simulatedSerialTimePasses | ( |
| ) |
Stub for code not running in simulation.
Definition at line 307
of file iar.h
.
#define simulatedTimePasses | ( |
| ) |
Stub for code not running in simulation.
Definition at line 297
of file iar.h
.
#define simulatedTimePassesMs | ( | x | ) |
Stub for code not running in simulation.
Definition at line 302
of file iar.h
.
#define STACK_FILL_VALUE |
Define the magic value that is interpreted by IAR C-SPY's Stack View.
Definition at line 237
of file iar.h
.
#define STATIC_ASSERT | ( | __condition, |
|
__errorstr |
|||
) |
Provide a portable way to specify a compile time assert.
Definition at line 347
of file iar.h
.
#define STRINGIZE | ( | X | ) |
Convinience macro for turning a token into a string.
Definition at line 324
of file iar.h
.
#define UNUSED |
Declare a variable as unused to avoid a warning. Has no effect in IAR builds.
Definition at line 227
of file iar.h
.
#define VAR_AT_SEGMENT | ( | __variableDeclaration, |
|
__segmentName |
|||
) |
Provide a portable way to specify the segment where a variable lives.
Definition at line 318
of file iar.h
.
#define WEAK | ( | __symbol | ) |
Provide a portable way to specify a symbol as weak.
Definition at line 335
of file iar.h
.
Typedef Documentation
typedef bool boolean |
A typedef to make the size of the variable explicitly known.
Definition at line 106
of file iar.h
.
typedef signed short int16s |
A typedef to make the size of the variable explicitly known.
Definition at line 110
of file iar.h
.
typedef unsigned short int16u |
A typedef to make the size of the variable explicitly known.
Definition at line 109
of file iar.h
.
typedef signed int int32s |
A typedef to make the size of the variable explicitly known.
Definition at line 112
of file iar.h
.
typedef unsigned int int32u |
A typedef to make the size of the variable explicitly known.
Definition at line 111
of file iar.h
.
typedef signed long long int64s |
A typedef to make the size of the variable explicitly known.
Definition at line 114
of file iar.h
.
typedef unsigned long long int64u |
A typedef to make the size of the variable explicitly known.
Definition at line 113
of file iar.h
.
typedef signed char int8s |
A typedef to make the size of the variable explicitly known.
Definition at line 108
of file iar.h
.
typedef unsigned char int8u |
A typedef to make the size of the variable explicitly known.
Definition at line 107
of file iar.h
.
typedef unsigned int PointerType |
A typedef to make the size of the variable explicitly known.
Definition at line 115
of file iar.h
.
Function Documentation
void _executeBarrierInstructions | ( | void |
| ) |
int abs | ( | int | I | ) |
Returns the absolute value of I (also called the magnitude of I). That is, if I is negative, the result is the opposite of I, but if I is nonnegative the result is I.
- Parameters
-
I
An integer.
- Returns
- A nonnegative integer.
void halInternalAssertFailed | ( | const char * | filename, |
int | linenumber |
||
) |
A prototype definition for use by the assert macro. (see hal/micro/micro.h
)
void halInternalResetWatchDog | ( | void |
| ) |
Macro to reset the watchdog timer. Note: be very very careful when using this as you can easily get into an infinite loop if you are not careful.