See IAR PLATFORM_HEADER Configuration for detailed documentation.
License#
Copyright 2018 Silicon Laboratories Inc. www.silabs.com
The licensor of this software is Silicon Laboratories Inc. Your use of this software is governed by the terms of Silicon Labs Master Software License Agreement (MSLA) available at www.silabs.com/about-us/legal/master-software-license-agreement. This software is distributed to you in Source Code format and is governed by the sections of the MSLA applicable to Source Code.
/***************************************************************************/
#ifndef __IAR_H__
#define __IAR_H__
#ifndef __ICCARM__
#error Improper PLATFORM_HEADER
#endif
#ifdef LEGACY_PHY_BUILD
#include "hal/hal.h" // Use phy/hal/hal.h instead, per search rules
#else
#if (__VER__ < 6040002)
#error Only IAR EWARM versions greater than 6.40.2 are supported
#endif // __VER__
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Inclusion of <intrinsics.h> should be coming from the CMSIS files.
#include <stddef.h>
#include <stdarg.h>
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#if defined (CORTEXM3_EFM32_MICRO)
// EFR32
#include "em_device.h"
#define NVIC_CONFIG "hal/micro/cortexm3/efm32/nvic-config.h"
#include "interrupts-efm32.h"
#else
#error Unknown CORTEXM3 micro
#endif
//Provide a default NVIC configuration file. The build process can
//override this if it needs to.
#ifndef NVIC_CONFIG
#define NVIC_CONFIG "hal/micro/cortexm3/nvic-config.h"
#endif
// suppress warnings about unknown pragmas
// (as they may be pragmas known to other platforms)
#pragma diag_suppress = pe161
#endif // DOXYGEN_SHOULD_SKIP_THIS
typedef bool boolean; /*To ease adoption of bool instead of boolean.*/
typedef unsigned char int8u;
typedef signed char int8s;
typedef unsigned short int16u;
typedef signed short int16s;
typedef unsigned int int32u;
typedef signed int int32s;
typedef unsigned long long int64u;
typedef signed long long int64s;
typedef unsigned int PointerType;
#define HAL_HAS_INT64
#define _HAL_USE_COMMON_PGM_
#define BIGENDIAN_CPU false
#define NTOHS(val) (__REV16(val))
#define NTOHL(val) (__REV(val))
#define NO_STRIPPING __root
#define EEPROM errorerror
#ifndef __SOURCEFILE__
#define __SOURCEFILE__ __FILE__
#endif
#undef assert
void halInternalAssertFailed(const char *filename, int linenumber);
#ifdef DOXYGEN_SHOULD_SKIP_THIS
#define assert(condition)
#else //DOXYGEN_SHOULD_SKIP_THIS
// Don't define PUSH_REGS_BEFORE_ASSERT if it causes problems with the compiler.
// For example, in some compilers any inline assembly disables all optimization.
//
// For IAR V5.30, inline assembly apparently does not affect compiler output.
//#define PUSH_REGS_BEFORE_ASSERT
#ifdef PUSH_REGS_BEFORE_ASSERT
#define assert(condition) \
do { if (!(condition)) { \
asm ("PUSH {R0,R1,R2,LR}"); \
halInternalAssertFailed(__SOURCEFILE__, __LINE__); } } while (0)
#else
#define assert(condition) \
do { if (!(condition)) { \
halInternalAssertFailed(__SOURCEFILE__, __LINE__); } } while (0)
#endif
#endif //DOXYGEN_SHOULD_SKIP_THIS
void halInternalResetWatchDog(void);
#ifdef RTOS
void rtosResetWatchdog(void);
#define halResetWatchdog() rtosResetWatchdog()
#else
#define halResetWatchdog() halInternalResetWatchDog()
#endif //RTOS
#define UNUSED
#define SIGNED_ENUM
#define STACK_FILL_VALUE 0xCDCDCDCDU
#ifdef RAMEXE
//If the whole build is running out of RAM, as chosen by the RAMEXE build
//define, then define RAMFUNC to nothing since it's not needed.
#define RAMFUNC
#else //RAMEXE
#define RAMFUNC __ramfunc
#endif //RAMEXE
#define NO_OPERATION() __NOP()
#define SET_REG_FIELD(reg, field, value) \
do { \
reg = ((reg & (~field##_MASK)) \
| ((((uint32_t) value) << field##_BIT) \
& (field##_MASK))); \
} while (0)
#define SET_CMSIS_REG(reg, mask, value) \
do { \
reg = (((reg) & (~mask)) | (value)); \
} while (0)
#define SET_CMSIS_REG_FIELD(reg, field, value) \
do { \
reg = ((reg & (~_##field##_MASK)) \
| ((value << _##field##_SHIFT) \
& (_##field##_MASK))); \
} while (0)
#define simulatedTimePasses()
#define simulatedTimePassesMs(x)
#define simulatedSerialTimePasses()
#define _HAL_USE_COMMON_DIVMOD_
#define VAR_AT_SEGMENT(__variableDeclaration, __segmentName) \
__variableDeclaration @ __segmentName
#define STRINGIZE(X) #X
#define ALIGNMENT(X) \
_Pragma(STRINGIZE(data_alignment = X))
#define WEAK(__symbol) \
__weak __symbol
#define NO_INIT(__symbol) \
__no_init __symbol
#define STATIC_ASSERT(__condition, __errorstr) \
static_assert(__condition, __errorstr)
// EFR32xG22 may zero out the high portion of RAM after reset, meaning that data
// we wish to preserve across resets should be in the lower addresses. To deal
// with this, we defined a (new) __NO_INIT__ section adjacent to the reset info
// block and are selecting it and the old placement here based on the part for
// which we're compiling.
#if defined(_SILICON_LABS_32B_SERIES_2_CONFIG_2)
#define __NO_INIT__ ".noinitnew"
#else
#define __NO_INIT__ ".noinitlegacy"
#endif
#define __DEBUG_CHANNEL__ "DEBUG_CHANNEL"
#define __INTVEC__ ".intvec"
#define __CSTACK__ "CSTACK"
#define __RESETINFO__ "RESETINFO"
#define __DATA_INIT__ ".data_init"
#define __DATA__ ".data"
#define __BSS__ ".bss"
#define __CONST__ ".rodata"
#define __TEXT__ ".text"
#define __TEXTRW_INIT__ ".textrw_init"
#define __TEXTRW__ ".textrw"
#define __AAT__ "AAT" // Application address table
#define __BAT__ "BAT" // Bootloader address table
#define __BAT_INIT__ "BAT" // Bootloader address table
#define __FAT__ "FAT" // Fixed address table
#define __RAT__ "RAT" // Ramexe address table
#define __SIMEE__ "SIMEE" //Simulated EEPROM storage
#define __PSSTORE__ "PSSTORE" //PS Store storage
#define __LONGTOKEN__ "LONGTOKEN" //Dotdot MFg Certificate storage
#define __EMHEAP__ "EMHEAP" // Heap region for extra memory
#define __GUARD_REGION__ "GUARD_REGION" // Guard page between heap and stack
#define __DLIB_PERTHREAD_INIT__ "__DLIB_PERTHREAD_init" // DLIB_PERTHREAD flash initialization data
#define __DLIB_PERTHREAD_INITIALIZED_DATA__ "DLIB_PERTHREAD_INITIALIZED_DATA" // DLIB_PERTHREAD RAM region to init
#define __DLIB_PERTHREAD_ZERO_DATA__ "DLIB_PERTHREAD_ZERO_DATA" // DLIB_PERTHREAD RAM region to zero out
#define __INTERNAL_STORAGE__ "INTERNAL_STORAGE" //Internal storage region
#define __LOCKBITS_IN_MAINFLASH__ "LOCKBITS_IN_MAINFLASH" //Region of main flash for Lock Bits on Series2 Devices.
#define __UNRETAINED_RAM__ "UNRETAINED_RAM" //Region of RAM not retained during deepsleep
//=============================================================================
// The '#pragma segment=' declaration must be used before attempting to access
// the segments so the compiler properly handles the __segment_*() functions.
//
// The segment names used here are the default segment names used by IAR. Refer
// to the IAR Compiler Reference Guide for a proper description of these
// segments.
//=============================================================================
#pragma segment=__NO_INIT__
#pragma segment=__DEBUG_CHANNEL__
#pragma segment=__INTVEC__
#pragma segment=__CSTACK__
#pragma segment=__RESETINFO__
#pragma segment=__DATA_INIT__
#pragma segment=__DATA__
#pragma segment=__BSS__
#pragma segment=__CONST__
#pragma segment=__TEXT__
#pragma segment=__TEXTRW_INIT__
#pragma segment=__TEXTRW__
#pragma segment=__AAT__
#pragma segment=__BAT__
#pragma segment=__FAT__
#pragma segment=__RAT__
#pragma segment=__SIMEE__
#pragma segment=__PSSTORE__
#pragma segment=__LONGTOKEN__
#pragma segment=__EMHEAP__
#pragma segment=__GUARD_REGION__
#pragma segment=__DLIB_PERTHREAD_INIT__
#pragma segment=__DLIB_PERTHREAD_INITIALIZED_DATA__
#pragma segment=__DLIB_PERTHREAD_ZERO_DATA__
#pragma segment=__INTERNAL_STORAGE__
#pragma segment=__LOCKBITS_IN_MAINFLASH__
#pragma segment=__UNRETAINED_RAM__
#define _NO_INIT_SEGMENT_BEGIN __segment_begin(__NO_INIT__)
#define _DEBUG_CHANNEL_SEGMENT_BEGIN __segment_begin(__DEBUG_CHANNEL__)
#define _INTVEC_SEGMENT_BEGIN __segment_begin(__INTVEC__)
#define _CSTACK_SEGMENT_BEGIN __segment_begin(__CSTACK__)
#define _RESETINFO_SEGMENT_BEGIN __segment_begin(__RESETINFO__)
#define _DATA_INIT_SEGMENT_BEGIN __segment_begin(__DATA_INIT__)
#define _DATA_SEGMENT_BEGIN __segment_begin(__DATA__)
#define _BSS_SEGMENT_BEGIN __segment_begin(__BSS__)
#define _CONST_SEGMENT_BEGIN __segment_begin(__CONST__)
#define _TEXT_SEGMENT_BEGIN __segment_begin(__TEXT__)
#define _TEXTRW_INIT_SEGMENT_BEGIN __segment_begin(__TEXTRW_INIT__)
#define _TEXTRW_SEGMENT_BEGIN __segment_begin(__TEXTRW__)
#define _AAT_SEGMENT_BEGIN __segment_begin(__AAT__)
#define _BAT_SEGMENT_BEGIN __segment_begin(__BAT__)
#define _BAT_INIT_SEGMENT_BEGIN __segment_begin(__BAT_INIT__)
#define _FAT_SEGMENT_BEGIN __segment_begin(__FAT__)
#define _RAT_SEGMENT_BEGIN __segment_begin(__RAT__)
#define _SIMEE_SEGMENT_BEGIN __segment_begin(__SIMEE__)
#define _PSSTORE_SEGMENT_BEGIN __segment_begin(__PSSTORE__)
#define _LONGTOKEN_SEGMENT_BEGIN __segment_begin(__LONGTOKEN__)
#define _EMHEAP_SEGMENT_BEGIN __segment_begin(__EMHEAP__)
#define _GUARD_REGION_SEGMENT_BEGIN __segment_begin(__GUARD_REGION__)
#define _DLIB_PERTHREAD_INIT_SEGMENT_BEGIN __segment_begin(__DLIB_PERTHREAD_INIT__)
#define _DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_BEGIN __segment_begin(__DLIB_PERTHREAD_INITIALIZED_DATA__)
#define _DLIB_PERTHREAD_ZERO_DATA_SEGMENT_BEGIN __segment_begin(__DLIB_PERTHREAD_ZERO_DATA__)
#define _INTERNAL_STORAGE_SEGMENT_BEGIN __segment_begin(__INTERNAL_STORAGE__)
#define _LOCKBITS_IN_MAINFLASH_SEGMENT_BEGIN __segment_begin(__LOCKBITS_IN_MAINFLASH__)
#define _UNRETAINED_RAM_SEGMENT_BEGIN __segment_begin(__UNRETAINED_RAM__)
#define _NO_INIT_SEGMENT_END __segment_end(__NO_INIT__)
#define _DEBUG_CHANNEL_SEGMENT_END __segment_end(__DEBUG_CHANNEL__)
#define _INTVEC_SEGMENT_END __segment_end(__INTVEC__)
#define _CSTACK_SEGMENT_END __segment_end(__CSTACK__)
#define _RESETINFO_SEGMENT_END __segment_end(__RESETINFO__)
#define _DATA_INIT_SEGMENT_END __segment_end(__DATA_INIT__)
#define _DATA_SEGMENT_END __segment_end(__DATA__)
#define _BSS_SEGMENT_END __segment_end(__BSS__)
#define _CONST_SEGMENT_END __segment_end(__CONST__)
#define _TEXT_SEGMENT_END __segment_end(__TEXT__)
#define _TEXTRW_INIT_SEGMENT_END __segment_end(__TEXTRW_INIT__)
#define _TEXTRW_SEGMENT_END __segment_end(__TEXTRW__)
#define _AAT_SEGMENT_END __segment_end(__AAT__)
#define _BAT_SEGMENT_END __segment_end(__BAT__)
#define _BAT_INIT_SEGMENT_END __segment_end(__BAT_INIT__)
#define _FAT_SEGMENT_END __segment_end(__FAT__)
#define _RAT_SEGMENT_END __segment_end(__RAT__)
#define _SIMEE_SEGMENT_END __segment_end(__SIMEE__)
#define _PSSTORE_SEGMENT_END __segment_end(__PSSTORE__)
#define _LONGTOKEN_SEGMENT_END __segment_end(__LONGTOKEN__)
#define _EMHEAP_SEGMENT_END __segment_end(__EMHEAP__)
#define _GUARD_REGION_SEGMENT_END __segment_end(__GUARD_REGION__)
#define _DLIB_PERTHREAD_INIT_SEGMENT_END __segment_end(__DLIB_PERTHREAD_INIT__)
#define _DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_END __segment_end(__DLIB_PERTHREAD_INITIALIZED_DATA__)
#define _DLIB_PERTHREAD_ZERO_DATA_SEGMENT_END __segment_end(__DLIB_PERTHREAD_ZERO_DATA__)
#define _INTERNAL_STORAGE_SEGMENT_END __segment_end(__INTERNAL_STORAGE__)
#define _LOCKBITS_IN_MAINFLASH_SEGMENT_END __segment_end(__LOCKBITS_IN_MAINFLASH__)
#define _UNRETAINED_RAM_SEGMENT_END __segment_end(__UNRETAINED_RAM__)
#define _NO_INIT_SEGMENT_SIZE __segment_size(__NO_INIT__)
#define _DEBUG_CHANNEL_SEGMENT_SIZE __segment_size(__DEBUG_CHANNEL__)
#define _INTVEC_SEGMENT_SIZE __segment_size(__INTVEC__)
#define _CSTACK_SEGMENT_SIZE __segment_size(__CSTACK__)
#define _RESETINFO_SEGMENT_SIZE __segment_size(__RESETINFO__)
#define _DATA_INIT_SEGMENT_SIZE __segment_size(__DATA_INIT__)
#define _DATA_SEGMENT_SIZE __segment_size(__DATA__)
#define _BSS_SEGMENT_SIZE __segment_size(__BSS__)
#define _CONST_SEGMENT_SIZE __segment_size(__CONST__)
#define _TEXT_SEGMENT_SIZE __segment_size(__TEXT__)
#define _TEXTRW_INIT_SEGMENT_SIZE __segment_size(__TEXTRW_INIT__)
#define _TEXTRW_SEGMENT_SIZE __segment_size(__TEXTRW__)
#define _AAT_SEGMENT_SIZE __segment_size(__AAT__)
#define _BAT_SEGMENT_SIZE __segment_size(__BAT__)
#define _BAT_INIT_SEGMENT_SIZE __segment_size(__BAT_INIT__)
#define _FAT_SEGMENT_SIZE __segment_size(__FAT__)
#define _RAT_SEGMENT_SIZE __segment_size(__RAT__)
#define _SIMEE_SEGMENT_SIZE __segment_size(__SIMEE__)
#define _PSSTORE_SEGMENT_SIZE __segment_size(__PSSTORE__)
#define _LONGTOKEN_SEGMENT_SIZE __segment_size(__LONGTOKEN__)
#define _EMHEAP_SEGMENT_SIZE __segment_size(__EMHEAP__)
#define _GUARD_REGION_SEGMENT_SIZE __segment_size(__GUARD_REGION__)
#define _DLIB_PERTHREAD_INIT_SEGMENT_SIZE __segment_size(__DLIB_PERTHREAD_INIT__)
#define _DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_SIZE __segment_size(__DLIB_PERTHREAD_INITIALIZED_DATA__)
#define _DLIB_PERTHREAD_ZERO_DATA_SEGMENT_SIZE __segment_size(__DLIB_PERTHREAD_ZERO_DATA__)
#define _INTERNAL_STORAGE_SEGMENT_SIZE __segment_size(__INTERNAL_STORAGE__)
#define _LOCKBITS_IN_MAINFLASH_SEGMENT_SIZE __segment_size(__LOCKBITS_IN_MAINFLASH__)
#define _UNRETAINED_RAM_SEGMENT_SIZE __segment_size(__UNRETAINED_RAM__)
//A utility function for inserting barrier instructions. These
//instructions should be used whenever the MPU is enabled or disabled so
//that all memory/instruction accesses can complete before the MPU changes
//state.
void _executeBarrierInstructions(void);
// #define _HAL_USE_COMMON_MEMUTILS_
int abs(int I);
#define PLATCOMMONOKTOINCLUDE
#include "hal/micro/generic/compiler/platform-common.h"
#undef PLATCOMMONOKTOINCLUDE
#define MAIN_FUNCTION_PARAMETERS void
#define MAIN_FUNCTION_ARGUMENTS
#endif//LEGACY_PHY_BUILD
#endif // __IAR_H__
Master Variable Types#
LEGACY_PHY_BUILDThese are a set of typedefs to make the size of all variable declarations explicitly known.
Denotes that this platform supports 64-bit data-types.
Use the Master Program Memory Declarations from platform-common.h.
A typedef to make the size of the variable explicitly known.
Denotes that this platform supports 64-bit data-types.
Denotes that this platform supports 64-bit data-types.
Denotes that this platform supports 64-bit data-types.
Denotes that this platform supports 64-bit data-types.
Denotes that this platform supports 64-bit data-types.
Denotes that this platform supports 64-bit data-types.
Denotes that this platform supports 64-bit data-types.
Denotes that this platform supports 64-bit data-types.
Denotes that this platform supports 64-bit data-types.
Miscellaneous Macros#
A convenient method for code to know what endiannes processor it is running on. For the Cortex-M3, we are little endian.
Define intrinsics for NTOHL and NTOHS to save code space by making endian.c compile to nothing.
A convenient method for code to know what endiannes processor it is running on. For the Cortex-M3, we are little endian.
A friendlier name for the compiler's intrinsic for not stripping.
A friendlier name for the compiler's intrinsic for eeprom reference.
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.
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)
A convenient method for code to know what endiannes processor it is running on. For the Cortex-M3, we are little endian.
Declare a variable as unused to avoid a warning. Has no effect in IAR builds.
Some platforms need to cast enum values that have the high bit set.
Define the magic value that is interpreted by IAR C-SPY's Stack View.
Define a generic RAM function identifier to a compiler specific one.
Define a generic no operation identifier to a compiler specific one.
A convenience macro that makes it easy to change the field of a register to any unsigned 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));.
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);.
Stub for code not running in simulation.
Stub for code not running in simulation.
Stub for code not running in simulation.
Use the Divide and Modulus Operations from platform-common.h.
Provide a portable way to specify the segment where a variable lives.
Convinience macro for turning a token into a string.
Provide a portable way to align data.
Provide a portable way to specify a symbol as weak.
Provide a portable way to specify a non initialized symbol.
Provide a portable way to specify a compile time assert.
A prototype definition for use by the assert macro. (see hal/micro/micro.h)
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.
Portable segment names#
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
Portable segment names.
External Declarations#
If the line below is uncommented we will use Ember memory APIs, otherwise, we will use the C Standard library (memset,memcpy,memmove) APIs.These are routines that are defined in certain header files that we don't want to include, e.g. stdlib.h
Include platform-common.h last to pick up defaults and common definitions.
The kind of arguments the main function takes.
Include platform-common.h last to pick up defaults and common definitions.
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.
Functions#
Master Variable Types Documentation#
HAL_HAS_INT64#
#define HAL_HAS_INT64
Denotes that this platform supports 64-bit data-types.
97
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_HAL_USE_COMMON_PGM_#
#define _HAL_USE_COMMON_PGM_
Use the Master Program Memory Declarations from platform-common.h.
102
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
boolean#
typedef bool boolean
A typedef to make the size of the variable explicitly known.
82
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
int8u#
typedef unsigned char int8u
Denotes that this platform supports 64-bit data-types.
83
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
int8s#
typedef signed char int8s
Denotes that this platform supports 64-bit data-types.
84
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
int16u#
typedef unsigned short int16u
Denotes that this platform supports 64-bit data-types.
85
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
int16s#
typedef signed short int16s
Denotes that this platform supports 64-bit data-types.
86
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
int32u#
typedef unsigned int int32u
Denotes that this platform supports 64-bit data-types.
87
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
int32s#
typedef signed int int32s
Denotes that this platform supports 64-bit data-types.
88
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
int64u#
typedef unsigned long long int64u
Denotes that this platform supports 64-bit data-types.
89
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
int64s#
typedef signed long long int64s
Denotes that this platform supports 64-bit data-types.
90
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
PointerType#
typedef unsigned int PointerType
Denotes that this platform supports 64-bit data-types.
91
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
Miscellaneous Macros Documentation#
BIGENDIAN_CPU#
#define BIGENDIAN_CPUValue:
false
A convenient method for code to know what endiannes processor it is running on. For the Cortex-M3, we are little endian.
115
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
NTOHS#
#define NTOHSValue:
(val)
Define intrinsics for NTOHL and NTOHS to save code space by making endian.c compile to nothing.
121
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
NTOHL#
#define NTOHLValue:
(val)
A convenient method for code to know what endiannes processor it is running on. For the Cortex-M3, we are little endian.
122
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
NO_STRIPPING#
#define NO_STRIPPINGValue:
__root
A friendlier name for the compiler's intrinsic for not stripping.
128
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
EEPROM#
#define EEPROMValue:
errorerror
A friendlier name for the compiler's intrinsic for eeprom reference.
134
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__SOURCEFILE__#
#define __SOURCEFILE__Value:
__FILE__
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.
143
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
assert#
#define assert
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)
160
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
halResetWatchdog#
#define halResetWatchdogValue:
()
A convenient method for code to know what endiannes processor it is running on. For the Cortex-M3, we are little endian.
191
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
UNUSED#
#define UNUSED
Declare a variable as unused to avoid a warning. Has no effect in IAR builds.
198
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
SIGNED_ENUM#
#define SIGNED_ENUM
Some platforms need to cast enum values that have the high bit set.
203
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
STACK_FILL_VALUE#
#define STACK_FILL_VALUEValue:
0xCDCDCDCDU
Define the magic value that is interpreted by IAR C-SPY's Stack View.
208
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
RAMFUNC#
#define RAMFUNCValue:
__ramfunc
Define a generic RAM function identifier to a compiler specific one.
218
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
NO_OPERATION#
#define NO_OPERATIONValue:
()
Define a generic no operation identifier to a compiler specific one.
224
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
SET_REG_FIELD#
#define SET_REG_FIELDValue:
A convenience macro that makes it easy to change the field of a register to any unsigned value.
230
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
SET_CMSIS_REG#
#define SET_CMSIS_REGValue:
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));.
247
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
SET_CMSIS_REG_FIELD#
#define SET_CMSIS_REG_FIELDValue:
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);.
258
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
simulatedTimePasses#
#define simulatedTimePasses
Stub for code not running in simulation.
268
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
simulatedTimePassesMs#
#define simulatedTimePassesMs
Stub for code not running in simulation.
273
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
simulatedSerialTimePasses#
#define simulatedSerialTimePasses
Stub for code not running in simulation.
278
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_HAL_USE_COMMON_DIVMOD_#
#define _HAL_USE_COMMON_DIVMOD_
Use the Divide and Modulus Operations from platform-common.h.
283
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
VAR_AT_SEGMENT#
#define VAR_AT_SEGMENTValue:
(__variableDeclaration, __segmentName)
Provide a portable way to specify the segment where a variable lives.
289
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
STRINGIZE#
#define STRINGIZEValue:
(X)
Convinience macro for turning a token into a string.
295
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
ALIGNMENT#
#define ALIGNMENTValue:
(X)
Provide a portable way to align data.
300
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
WEAK#
#define WEAKValue:
(__symbol)
Provide a portable way to specify a symbol as weak.
306
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
NO_INIT#
#define NO_INITValue:
(__symbol)
Provide a portable way to specify a non initialized symbol.
312
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
STATIC_ASSERT#
#define STATIC_ASSERTValue:
(__condition, __errorstr)
Provide a portable way to specify a compile time assert.
318
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
halInternalAssertFailed#
void halInternalAssertFailed (const char * filename, int linenumber)
A prototype definition for use by the assert macro. (see hal/micro/micro.h)
N/A | filename | |
N/A | linenumber |
152
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
halInternalResetWatchDog#
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.
N/A |
184
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
Portable segment names Documentation#
__NO_INIT__#
#define __NO_INIT__Value:
".noinitlegacy"
Portable segment names.
341
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__DEBUG_CHANNEL__#
#define __DEBUG_CHANNEL__Value:
"DEBUG_CHANNEL"
Portable segment names.
344
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__INTVEC__#
#define __INTVEC__Value:
".intvec"
Portable segment names.
345
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__CSTACK__#
#define __CSTACK__Value:
"CSTACK"
Portable segment names.
346
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__RESETINFO__#
#define __RESETINFO__Value:
"RESETINFO"
Portable segment names.
347
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__DATA_INIT__#
#define __DATA_INIT__Value:
".data_init"
Portable segment names.
348
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__DATA__#
#define __DATA__Value:
".data"
Portable segment names.
349
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__BSS__#
#define __BSS__Value:
".bss"
Portable segment names.
350
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__CONST__#
#define __CONST__Value:
".rodata"
Portable segment names.
351
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__TEXT__#
#define __TEXT__Value:
".text"
Portable segment names.
352
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__TEXTRW_INIT__#
#define __TEXTRW_INIT__Value:
".textrw_init"
Portable segment names.
353
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__TEXTRW__#
#define __TEXTRW__Value:
".textrw"
Portable segment names.
354
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__AAT__#
#define __AAT__Value:
"AAT"
Portable segment names.
355
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__BAT__#
#define __BAT__Value:
"BAT"
Portable segment names.
356
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__BAT_INIT__#
#define __BAT_INIT__Value:
"BAT"
Portable segment names.
357
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__FAT__#
#define __FAT__Value:
"FAT"
Portable segment names.
358
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__RAT__#
#define __RAT__Value:
"RAT"
Portable segment names.
359
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__SIMEE__#
#define __SIMEE__Value:
"SIMEE"
Portable segment names.
360
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__PSSTORE__#
#define __PSSTORE__Value:
"PSSTORE"
Portable segment names.
361
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__LONGTOKEN__#
#define __LONGTOKEN__Value:
"LONGTOKEN"
Portable segment names.
362
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__EMHEAP__#
#define __EMHEAP__Value:
"EMHEAP"
Portable segment names.
363
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__GUARD_REGION__#
#define __GUARD_REGION__Value:
"GUARD_REGION"
Portable segment names.
364
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__DLIB_PERTHREAD_INIT__#
#define __DLIB_PERTHREAD_INIT__Value:
"__DLIB_PERTHREAD_init"
Portable segment names.
365
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__DLIB_PERTHREAD_INITIALIZED_DATA__#
#define __DLIB_PERTHREAD_INITIALIZED_DATA__Value:
"DLIB_PERTHREAD_INITIALIZED_DATA"
Portable segment names.
366
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__DLIB_PERTHREAD_ZERO_DATA__#
#define __DLIB_PERTHREAD_ZERO_DATA__Value:
"DLIB_PERTHREAD_ZERO_DATA"
Portable segment names.
367
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__INTERNAL_STORAGE__#
#define __INTERNAL_STORAGE__Value:
"INTERNAL_STORAGE"
Portable segment names.
368
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__LOCKBITS_IN_MAINFLASH__#
#define __LOCKBITS_IN_MAINFLASH__Value:
"LOCKBITS_IN_MAINFLASH"
Portable segment names.
369
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
__UNRETAINED_RAM__#
#define __UNRETAINED_RAM__Value:
"UNRETAINED_RAM"
Portable segment names.
370
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_NO_INIT_SEGMENT_BEGIN#
#define _NO_INIT_SEGMENT_BEGINValue:
__segment_begin(__NO_INIT__)
Portable segment names.
408
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DEBUG_CHANNEL_SEGMENT_BEGIN#
#define _DEBUG_CHANNEL_SEGMENT_BEGINValue:
__segment_begin(__DEBUG_CHANNEL__)
Portable segment names.
409
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_INTVEC_SEGMENT_BEGIN#
#define _INTVEC_SEGMENT_BEGINValue:
__segment_begin(__INTVEC__)
Portable segment names.
410
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_CSTACK_SEGMENT_BEGIN#
#define _CSTACK_SEGMENT_BEGINValue:
__segment_begin(__CSTACK__)
Portable segment names.
411
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_RESETINFO_SEGMENT_BEGIN#
#define _RESETINFO_SEGMENT_BEGINValue:
__segment_begin(__RESETINFO__)
Portable segment names.
412
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DATA_INIT_SEGMENT_BEGIN#
#define _DATA_INIT_SEGMENT_BEGINValue:
__segment_begin(__DATA_INIT__)
Portable segment names.
413
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DATA_SEGMENT_BEGIN#
#define _DATA_SEGMENT_BEGINValue:
__segment_begin(__DATA__)
Portable segment names.
414
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_BSS_SEGMENT_BEGIN#
#define _BSS_SEGMENT_BEGINValue:
__segment_begin(__BSS__)
Portable segment names.
415
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_CONST_SEGMENT_BEGIN#
#define _CONST_SEGMENT_BEGINValue:
__segment_begin(__CONST__)
Portable segment names.
416
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_TEXT_SEGMENT_BEGIN#
#define _TEXT_SEGMENT_BEGINValue:
__segment_begin(__TEXT__)
Portable segment names.
417
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_TEXTRW_INIT_SEGMENT_BEGIN#
#define _TEXTRW_INIT_SEGMENT_BEGINValue:
__segment_begin(__TEXTRW_INIT__)
Portable segment names.
418
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_TEXTRW_SEGMENT_BEGIN#
#define _TEXTRW_SEGMENT_BEGINValue:
__segment_begin(__TEXTRW__)
Portable segment names.
419
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_AAT_SEGMENT_BEGIN#
#define _AAT_SEGMENT_BEGINValue:
__segment_begin(__AAT__)
Portable segment names.
420
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_BAT_SEGMENT_BEGIN#
#define _BAT_SEGMENT_BEGINValue:
__segment_begin(__BAT__)
Portable segment names.
421
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_BAT_INIT_SEGMENT_BEGIN#
#define _BAT_INIT_SEGMENT_BEGINValue:
__segment_begin(__BAT_INIT__)
Portable segment names.
422
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_FAT_SEGMENT_BEGIN#
#define _FAT_SEGMENT_BEGINValue:
__segment_begin(__FAT__)
Portable segment names.
423
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_RAT_SEGMENT_BEGIN#
#define _RAT_SEGMENT_BEGINValue:
__segment_begin(__RAT__)
Portable segment names.
424
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_SIMEE_SEGMENT_BEGIN#
#define _SIMEE_SEGMENT_BEGINValue:
__segment_begin(__SIMEE__)
Portable segment names.
425
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_PSSTORE_SEGMENT_BEGIN#
#define _PSSTORE_SEGMENT_BEGINValue:
__segment_begin(__PSSTORE__)
Portable segment names.
426
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_LONGTOKEN_SEGMENT_BEGIN#
#define _LONGTOKEN_SEGMENT_BEGINValue:
__segment_begin(__LONGTOKEN__)
Portable segment names.
427
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_EMHEAP_SEGMENT_BEGIN#
#define _EMHEAP_SEGMENT_BEGINValue:
__segment_begin(__EMHEAP__)
Portable segment names.
428
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_GUARD_REGION_SEGMENT_BEGIN#
#define _GUARD_REGION_SEGMENT_BEGINValue:
__segment_begin(__GUARD_REGION__)
Portable segment names.
429
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DLIB_PERTHREAD_INIT_SEGMENT_BEGIN#
#define _DLIB_PERTHREAD_INIT_SEGMENT_BEGINValue:
__segment_begin(__DLIB_PERTHREAD_INIT__)
Portable segment names.
430
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_BEGIN#
#define _DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_BEGINValue:
__segment_begin(__DLIB_PERTHREAD_INITIALIZED_DATA__)
Portable segment names.
431
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DLIB_PERTHREAD_ZERO_DATA_SEGMENT_BEGIN#
#define _DLIB_PERTHREAD_ZERO_DATA_SEGMENT_BEGINValue:
__segment_begin(__DLIB_PERTHREAD_ZERO_DATA__)
Portable segment names.
432
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_INTERNAL_STORAGE_SEGMENT_BEGIN#
#define _INTERNAL_STORAGE_SEGMENT_BEGINValue:
__segment_begin(__INTERNAL_STORAGE__)
Portable segment names.
433
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_LOCKBITS_IN_MAINFLASH_SEGMENT_BEGIN#
#define _LOCKBITS_IN_MAINFLASH_SEGMENT_BEGINValue:
__segment_begin(__LOCKBITS_IN_MAINFLASH__)
Portable segment names.
434
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_UNRETAINED_RAM_SEGMENT_BEGIN#
#define _UNRETAINED_RAM_SEGMENT_BEGINValue:
__segment_begin(__UNRETAINED_RAM__)
Portable segment names.
435
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_NO_INIT_SEGMENT_END#
#define _NO_INIT_SEGMENT_ENDValue:
__segment_end(__NO_INIT__)
Portable segment names.
437
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DEBUG_CHANNEL_SEGMENT_END#
#define _DEBUG_CHANNEL_SEGMENT_ENDValue:
__segment_end(__DEBUG_CHANNEL__)
Portable segment names.
438
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_INTVEC_SEGMENT_END#
#define _INTVEC_SEGMENT_ENDValue:
__segment_end(__INTVEC__)
Portable segment names.
439
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_CSTACK_SEGMENT_END#
#define _CSTACK_SEGMENT_ENDValue:
__segment_end(__CSTACK__)
Portable segment names.
440
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_RESETINFO_SEGMENT_END#
#define _RESETINFO_SEGMENT_ENDValue:
__segment_end(__RESETINFO__)
Portable segment names.
441
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DATA_INIT_SEGMENT_END#
#define _DATA_INIT_SEGMENT_ENDValue:
__segment_end(__DATA_INIT__)
Portable segment names.
442
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DATA_SEGMENT_END#
#define _DATA_SEGMENT_ENDValue:
__segment_end(__DATA__)
Portable segment names.
443
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_BSS_SEGMENT_END#
#define _BSS_SEGMENT_ENDValue:
__segment_end(__BSS__)
Portable segment names.
444
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_CONST_SEGMENT_END#
#define _CONST_SEGMENT_ENDValue:
__segment_end(__CONST__)
Portable segment names.
445
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_TEXT_SEGMENT_END#
#define _TEXT_SEGMENT_ENDValue:
__segment_end(__TEXT__)
Portable segment names.
446
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_TEXTRW_INIT_SEGMENT_END#
#define _TEXTRW_INIT_SEGMENT_ENDValue:
__segment_end(__TEXTRW_INIT__)
Portable segment names.
447
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_TEXTRW_SEGMENT_END#
#define _TEXTRW_SEGMENT_ENDValue:
__segment_end(__TEXTRW__)
Portable segment names.
448
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_AAT_SEGMENT_END#
#define _AAT_SEGMENT_ENDValue:
__segment_end(__AAT__)
Portable segment names.
449
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_BAT_SEGMENT_END#
#define _BAT_SEGMENT_ENDValue:
__segment_end(__BAT__)
Portable segment names.
450
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_BAT_INIT_SEGMENT_END#
#define _BAT_INIT_SEGMENT_ENDValue:
__segment_end(__BAT_INIT__)
Portable segment names.
451
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_FAT_SEGMENT_END#
#define _FAT_SEGMENT_ENDValue:
__segment_end(__FAT__)
Portable segment names.
452
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_RAT_SEGMENT_END#
#define _RAT_SEGMENT_ENDValue:
__segment_end(__RAT__)
Portable segment names.
453
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_SIMEE_SEGMENT_END#
#define _SIMEE_SEGMENT_ENDValue:
__segment_end(__SIMEE__)
Portable segment names.
454
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_PSSTORE_SEGMENT_END#
#define _PSSTORE_SEGMENT_ENDValue:
__segment_end(__PSSTORE__)
Portable segment names.
455
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_LONGTOKEN_SEGMENT_END#
#define _LONGTOKEN_SEGMENT_ENDValue:
__segment_end(__LONGTOKEN__)
Portable segment names.
456
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_EMHEAP_SEGMENT_END#
#define _EMHEAP_SEGMENT_ENDValue:
__segment_end(__EMHEAP__)
Portable segment names.
457
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_GUARD_REGION_SEGMENT_END#
#define _GUARD_REGION_SEGMENT_ENDValue:
__segment_end(__GUARD_REGION__)
Portable segment names.
458
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DLIB_PERTHREAD_INIT_SEGMENT_END#
#define _DLIB_PERTHREAD_INIT_SEGMENT_ENDValue:
__segment_end(__DLIB_PERTHREAD_INIT__)
Portable segment names.
459
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_END#
#define _DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_ENDValue:
__segment_end(__DLIB_PERTHREAD_INITIALIZED_DATA__)
Portable segment names.
460
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DLIB_PERTHREAD_ZERO_DATA_SEGMENT_END#
#define _DLIB_PERTHREAD_ZERO_DATA_SEGMENT_ENDValue:
__segment_end(__DLIB_PERTHREAD_ZERO_DATA__)
Portable segment names.
461
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_INTERNAL_STORAGE_SEGMENT_END#
#define _INTERNAL_STORAGE_SEGMENT_ENDValue:
__segment_end(__INTERNAL_STORAGE__)
Portable segment names.
462
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_LOCKBITS_IN_MAINFLASH_SEGMENT_END#
#define _LOCKBITS_IN_MAINFLASH_SEGMENT_ENDValue:
__segment_end(__LOCKBITS_IN_MAINFLASH__)
Portable segment names.
463
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_UNRETAINED_RAM_SEGMENT_END#
#define _UNRETAINED_RAM_SEGMENT_ENDValue:
__segment_end(__UNRETAINED_RAM__)
Portable segment names.
464
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_NO_INIT_SEGMENT_SIZE#
#define _NO_INIT_SEGMENT_SIZEValue:
__segment_size(__NO_INIT__)
Portable segment names.
466
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DEBUG_CHANNEL_SEGMENT_SIZE#
#define _DEBUG_CHANNEL_SEGMENT_SIZEValue:
__segment_size(__DEBUG_CHANNEL__)
Portable segment names.
467
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_INTVEC_SEGMENT_SIZE#
#define _INTVEC_SEGMENT_SIZEValue:
__segment_size(__INTVEC__)
Portable segment names.
468
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_CSTACK_SEGMENT_SIZE#
#define _CSTACK_SEGMENT_SIZEValue:
__segment_size(__CSTACK__)
Portable segment names.
469
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_RESETINFO_SEGMENT_SIZE#
#define _RESETINFO_SEGMENT_SIZEValue:
__segment_size(__RESETINFO__)
Portable segment names.
470
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DATA_INIT_SEGMENT_SIZE#
#define _DATA_INIT_SEGMENT_SIZEValue:
__segment_size(__DATA_INIT__)
Portable segment names.
471
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DATA_SEGMENT_SIZE#
#define _DATA_SEGMENT_SIZEValue:
__segment_size(__DATA__)
Portable segment names.
472
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_BSS_SEGMENT_SIZE#
#define _BSS_SEGMENT_SIZEValue:
__segment_size(__BSS__)
Portable segment names.
473
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_CONST_SEGMENT_SIZE#
#define _CONST_SEGMENT_SIZEValue:
__segment_size(__CONST__)
Portable segment names.
474
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_TEXT_SEGMENT_SIZE#
#define _TEXT_SEGMENT_SIZEValue:
__segment_size(__TEXT__)
Portable segment names.
475
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_TEXTRW_INIT_SEGMENT_SIZE#
#define _TEXTRW_INIT_SEGMENT_SIZEValue:
__segment_size(__TEXTRW_INIT__)
Portable segment names.
476
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_TEXTRW_SEGMENT_SIZE#
#define _TEXTRW_SEGMENT_SIZEValue:
__segment_size(__TEXTRW__)
Portable segment names.
477
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_AAT_SEGMENT_SIZE#
#define _AAT_SEGMENT_SIZEValue:
__segment_size(__AAT__)
Portable segment names.
478
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_BAT_SEGMENT_SIZE#
#define _BAT_SEGMENT_SIZEValue:
__segment_size(__BAT__)
Portable segment names.
479
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_BAT_INIT_SEGMENT_SIZE#
#define _BAT_INIT_SEGMENT_SIZEValue:
__segment_size(__BAT_INIT__)
Portable segment names.
480
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_FAT_SEGMENT_SIZE#
#define _FAT_SEGMENT_SIZEValue:
__segment_size(__FAT__)
Portable segment names.
481
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_RAT_SEGMENT_SIZE#
#define _RAT_SEGMENT_SIZEValue:
__segment_size(__RAT__)
Portable segment names.
482
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_SIMEE_SEGMENT_SIZE#
#define _SIMEE_SEGMENT_SIZEValue:
__segment_size(__SIMEE__)
Portable segment names.
483
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_PSSTORE_SEGMENT_SIZE#
#define _PSSTORE_SEGMENT_SIZEValue:
__segment_size(__PSSTORE__)
Portable segment names.
484
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_LONGTOKEN_SEGMENT_SIZE#
#define _LONGTOKEN_SEGMENT_SIZEValue:
__segment_size(__LONGTOKEN__)
Portable segment names.
485
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_EMHEAP_SEGMENT_SIZE#
#define _EMHEAP_SEGMENT_SIZEValue:
__segment_size(__EMHEAP__)
Portable segment names.
486
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_GUARD_REGION_SEGMENT_SIZE#
#define _GUARD_REGION_SEGMENT_SIZEValue:
__segment_size(__GUARD_REGION__)
Portable segment names.
487
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DLIB_PERTHREAD_INIT_SEGMENT_SIZE#
#define _DLIB_PERTHREAD_INIT_SEGMENT_SIZEValue:
__segment_size(__DLIB_PERTHREAD_INIT__)
Portable segment names.
488
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_SIZE#
#define _DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_SIZEValue:
__segment_size(__DLIB_PERTHREAD_INITIALIZED_DATA__)
Portable segment names.
489
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_DLIB_PERTHREAD_ZERO_DATA_SEGMENT_SIZE#
#define _DLIB_PERTHREAD_ZERO_DATA_SEGMENT_SIZEValue:
__segment_size(__DLIB_PERTHREAD_ZERO_DATA__)
Portable segment names.
490
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_INTERNAL_STORAGE_SEGMENT_SIZE#
#define _INTERNAL_STORAGE_SEGMENT_SIZEValue:
__segment_size(__INTERNAL_STORAGE__)
Portable segment names.
491
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_LOCKBITS_IN_MAINFLASH_SEGMENT_SIZE#
#define _LOCKBITS_IN_MAINFLASH_SEGMENT_SIZEValue:
__segment_size(__LOCKBITS_IN_MAINFLASH__)
Portable segment names.
492
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
_UNRETAINED_RAM_SEGMENT_SIZE#
#define _UNRETAINED_RAM_SEGMENT_SIZEValue:
__segment_size(__UNRETAINED_RAM__)
Portable segment names.
493
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
External Declarations Documentation#
PLATCOMMONOKTOINCLUDE#
#define PLATCOMMONOKTOINCLUDE
Include platform-common.h last to pick up defaults and common definitions.
536
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
MAIN_FUNCTION_PARAMETERS#
#define MAIN_FUNCTION_PARAMETERSValue:
void
The kind of arguments the main function takes.
543
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
MAIN_FUNCTION_ARGUMENTS#
#define MAIN_FUNCTION_ARGUMENTS
Include platform-common.h last to pick up defaults and common definitions.
544
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h
abs#
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.
N/A | I | An integer. |
Returns
A nonnegative integer.
527
of file /mnt/raid/workspaces/ws.Q8qnkBLX2/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h