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.

#define

Denotes that this platform supports 64-bit data-types.

#define

Use the Master Program Memory Declarations from platform-common.h.

typedef bool

A typedef to make the size of the variable explicitly known.

typedef unsigned char

Denotes that this platform supports 64-bit data-types.

typedef signed char

Denotes that this platform supports 64-bit data-types.

typedef unsigned short

Denotes that this platform supports 64-bit data-types.

typedef signed short

Denotes that this platform supports 64-bit data-types.

typedef unsigned int

Denotes that this platform supports 64-bit data-types.

typedef signed int

Denotes that this platform supports 64-bit data-types.

typedef unsigned long long

Denotes that this platform supports 64-bit data-types.

typedef signed long long

Denotes that this platform supports 64-bit data-types.

typedef unsigned int

Denotes that this platform supports 64-bit data-types.

Miscellaneous Macros#

#define

A convenient method for code to know what endiannes processor it is running on. For the Cortex-M3, we are little endian.

#define
NTOHS (val)

Define intrinsics for NTOHL and NTOHS to save code space by making endian.c compile to nothing.

#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.

#define

A friendlier name for the compiler's intrinsic for not stripping.

#define
EEPROM errorerror

A friendlier name for the compiler's intrinsic for eeprom reference.

#define

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.

#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)

#define

A convenient method for code to know what endiannes processor it is running on. For the Cortex-M3, we are little endian.

#define

Declare a variable as unused to avoid a warning. Has no effect in IAR builds.

#define

Some platforms need to cast enum values that have the high bit set.

#define
STACK_FILL_VALUE 0xCDCDCDCDU

Define the magic value that is interpreted by IAR C-SPY's Stack View.

#define
RAMFUNC __ramfunc

Define a generic RAM function identifier to a compiler specific one.

#define

Define a generic no operation identifier to a compiler specific one.

#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.

#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));.

#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);.

#define

Stub for code not running in simulation.

#define

Stub for code not running in simulation.

#define

Stub for code not running in simulation.

#define

Use the Divide and Modulus Operations from platform-common.h.

#define
VAR_AT_SEGMENT (__variableDeclaration, __segmentName)

Provide a portable way to specify the segment where a variable lives.

#define

Convinience macro for turning a token into a string.

#define

Provide a portable way to align data.

#define
WEAK (__symbol)

Provide a portable way to specify a symbol as weak.

#define
NO_INIT (__symbol)

Provide a portable way to specify a non initialized symbol.

#define
STATIC_ASSERT (__condition, __errorstr)

Provide a portable way to specify a compile time assert.

void
halInternalAssertFailed(const char *filename, int linenumber)

A prototype definition for use by the assert macro. (see hal/micro/micro.h)

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.

Portable segment names#

#define
__NO_INIT__ ".noinitlegacy"

Portable segment names.

#define
__DEBUG_CHANNEL__ "DEBUG_CHANNEL"

Portable segment names.

#define
__INTVEC__ ".intvec"

Portable segment names.

#define
__CSTACK__ "CSTACK"

Portable segment names.

#define
__RESETINFO__ "RESETINFO"

Portable segment names.

#define
__DATA_INIT__ ".data_init"

Portable segment names.

#define
__DATA__ ".data"

Portable segment names.

#define
__BSS__ ".bss"

Portable segment names.

#define
__CONST__ ".rodata"

Portable segment names.

#define
__TEXT__ ".text"

Portable segment names.

#define
__TEXTRW_INIT__ ".textrw_init"

Portable segment names.

#define
__TEXTRW__ ".textrw"

Portable segment names.

#define
__AAT__ "AAT"

Portable segment names.

#define
__BAT__ "BAT"

Portable segment names.

#define

Portable segment names.

#define
__FAT__ "FAT"

Portable segment names.

#define
__RAT__ "RAT"

Portable segment names.

#define
__SIMEE__ "SIMEE"

Portable segment names.

#define
__PSSTORE__ "PSSTORE"

Portable segment names.

#define
__LONGTOKEN__ "LONGTOKEN"

Portable segment names.

#define
__EMHEAP__ "EMHEAP"

Portable segment names.

#define
__GUARD_REGION__ "GUARD_REGION"

Portable segment names.

#define
__DLIB_PERTHREAD_INIT__ "__DLIB_PERTHREAD_init"

Portable segment names.

#define
__DLIB_PERTHREAD_INITIALIZED_DATA__ "DLIB_PERTHREAD_INITIALIZED_DATA"

Portable segment names.

#define
__DLIB_PERTHREAD_ZERO_DATA__ "DLIB_PERTHREAD_ZERO_DATA"

Portable segment names.

#define
__INTERNAL_STORAGE__ "INTERNAL_STORAGE"

Portable segment names.

#define
__LOCKBITS_IN_MAINFLASH__ "LOCKBITS_IN_MAINFLASH"

Portable segment names.

#define
__UNRETAINED_RAM__ "UNRETAINED_RAM"

Portable segment names.

#define
_NO_INIT_SEGMENT_BEGIN __segment_begin(__NO_INIT__)

Portable segment names.

#define
_DEBUG_CHANNEL_SEGMENT_BEGIN __segment_begin(__DEBUG_CHANNEL__)

Portable segment names.

#define
_INTVEC_SEGMENT_BEGIN __segment_begin(__INTVEC__)

Portable segment names.

#define
_CSTACK_SEGMENT_BEGIN __segment_begin(__CSTACK__)

Portable segment names.

#define
_RESETINFO_SEGMENT_BEGIN __segment_begin(__RESETINFO__)

Portable segment names.

#define
_DATA_INIT_SEGMENT_BEGIN __segment_begin(__DATA_INIT__)

Portable segment names.

#define
_DATA_SEGMENT_BEGIN __segment_begin(__DATA__)

Portable segment names.

#define
_BSS_SEGMENT_BEGIN __segment_begin(__BSS__)

Portable segment names.

#define
_CONST_SEGMENT_BEGIN __segment_begin(__CONST__)

Portable segment names.

#define
_TEXT_SEGMENT_BEGIN __segment_begin(__TEXT__)

Portable segment names.

#define
_TEXTRW_INIT_SEGMENT_BEGIN __segment_begin(__TEXTRW_INIT__)

Portable segment names.

#define
_TEXTRW_SEGMENT_BEGIN __segment_begin(__TEXTRW__)

Portable segment names.

#define
_AAT_SEGMENT_BEGIN __segment_begin(__AAT__)

Portable segment names.

#define
_BAT_SEGMENT_BEGIN __segment_begin(__BAT__)

Portable segment names.

#define
_BAT_INIT_SEGMENT_BEGIN __segment_begin(__BAT_INIT__)

Portable segment names.

#define
_FAT_SEGMENT_BEGIN __segment_begin(__FAT__)

Portable segment names.

#define
_RAT_SEGMENT_BEGIN __segment_begin(__RAT__)

Portable segment names.

#define
_SIMEE_SEGMENT_BEGIN __segment_begin(__SIMEE__)

Portable segment names.

#define
_PSSTORE_SEGMENT_BEGIN __segment_begin(__PSSTORE__)

Portable segment names.

#define
_LONGTOKEN_SEGMENT_BEGIN __segment_begin(__LONGTOKEN__)

Portable segment names.

#define
_EMHEAP_SEGMENT_BEGIN __segment_begin(__EMHEAP__)

Portable segment names.

#define
_GUARD_REGION_SEGMENT_BEGIN __segment_begin(__GUARD_REGION__)

Portable segment names.

#define
_DLIB_PERTHREAD_INIT_SEGMENT_BEGIN __segment_begin(__DLIB_PERTHREAD_INIT__)

Portable segment names.

#define
_DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_BEGIN __segment_begin(__DLIB_PERTHREAD_INITIALIZED_DATA__)

Portable segment names.

#define
_DLIB_PERTHREAD_ZERO_DATA_SEGMENT_BEGIN __segment_begin(__DLIB_PERTHREAD_ZERO_DATA__)

Portable segment names.

#define
_INTERNAL_STORAGE_SEGMENT_BEGIN __segment_begin(__INTERNAL_STORAGE__)

Portable segment names.

#define
_LOCKBITS_IN_MAINFLASH_SEGMENT_BEGIN __segment_begin(__LOCKBITS_IN_MAINFLASH__)

Portable segment names.

#define
_UNRETAINED_RAM_SEGMENT_BEGIN __segment_begin(__UNRETAINED_RAM__)

Portable segment names.

#define
_NO_INIT_SEGMENT_END __segment_end(__NO_INIT__)

Portable segment names.

#define
_DEBUG_CHANNEL_SEGMENT_END __segment_end(__DEBUG_CHANNEL__)

Portable segment names.

#define
_INTVEC_SEGMENT_END __segment_end(__INTVEC__)

Portable segment names.

#define
_CSTACK_SEGMENT_END __segment_end(__CSTACK__)

Portable segment names.

#define
_RESETINFO_SEGMENT_END __segment_end(__RESETINFO__)

Portable segment names.

#define
_DATA_INIT_SEGMENT_END __segment_end(__DATA_INIT__)

Portable segment names.

#define
_DATA_SEGMENT_END __segment_end(__DATA__)

Portable segment names.

#define
_BSS_SEGMENT_END __segment_end(__BSS__)

Portable segment names.

#define
_CONST_SEGMENT_END __segment_end(__CONST__)

Portable segment names.

#define
_TEXT_SEGMENT_END __segment_end(__TEXT__)

Portable segment names.

#define
_TEXTRW_INIT_SEGMENT_END __segment_end(__TEXTRW_INIT__)

Portable segment names.

#define
_TEXTRW_SEGMENT_END __segment_end(__TEXTRW__)

Portable segment names.

#define
_AAT_SEGMENT_END __segment_end(__AAT__)

Portable segment names.

#define
_BAT_SEGMENT_END __segment_end(__BAT__)

Portable segment names.

#define
_BAT_INIT_SEGMENT_END __segment_end(__BAT_INIT__)

Portable segment names.

#define
_FAT_SEGMENT_END __segment_end(__FAT__)

Portable segment names.

#define
_RAT_SEGMENT_END __segment_end(__RAT__)

Portable segment names.

#define
_SIMEE_SEGMENT_END __segment_end(__SIMEE__)

Portable segment names.

#define
_PSSTORE_SEGMENT_END __segment_end(__PSSTORE__)

Portable segment names.

#define
_LONGTOKEN_SEGMENT_END __segment_end(__LONGTOKEN__)

Portable segment names.

#define
_EMHEAP_SEGMENT_END __segment_end(__EMHEAP__)

Portable segment names.

#define
_GUARD_REGION_SEGMENT_END __segment_end(__GUARD_REGION__)

Portable segment names.

#define
_DLIB_PERTHREAD_INIT_SEGMENT_END __segment_end(__DLIB_PERTHREAD_INIT__)

Portable segment names.

#define
_DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_END __segment_end(__DLIB_PERTHREAD_INITIALIZED_DATA__)

Portable segment names.

#define
_DLIB_PERTHREAD_ZERO_DATA_SEGMENT_END __segment_end(__DLIB_PERTHREAD_ZERO_DATA__)

Portable segment names.

#define
_INTERNAL_STORAGE_SEGMENT_END __segment_end(__INTERNAL_STORAGE__)

Portable segment names.

#define
_LOCKBITS_IN_MAINFLASH_SEGMENT_END __segment_end(__LOCKBITS_IN_MAINFLASH__)

Portable segment names.

#define
_UNRETAINED_RAM_SEGMENT_END __segment_end(__UNRETAINED_RAM__)

Portable segment names.

#define
_NO_INIT_SEGMENT_SIZE __segment_size(__NO_INIT__)

Portable segment names.

#define
_DEBUG_CHANNEL_SEGMENT_SIZE __segment_size(__DEBUG_CHANNEL__)

Portable segment names.

#define
_INTVEC_SEGMENT_SIZE __segment_size(__INTVEC__)

Portable segment names.

#define
_CSTACK_SEGMENT_SIZE __segment_size(__CSTACK__)

Portable segment names.

#define
_RESETINFO_SEGMENT_SIZE __segment_size(__RESETINFO__)

Portable segment names.

#define
_DATA_INIT_SEGMENT_SIZE __segment_size(__DATA_INIT__)

Portable segment names.

#define
_DATA_SEGMENT_SIZE __segment_size(__DATA__)

Portable segment names.

#define
_BSS_SEGMENT_SIZE __segment_size(__BSS__)

Portable segment names.

#define
_CONST_SEGMENT_SIZE __segment_size(__CONST__)

Portable segment names.

#define
_TEXT_SEGMENT_SIZE __segment_size(__TEXT__)

Portable segment names.

#define
_TEXTRW_INIT_SEGMENT_SIZE __segment_size(__TEXTRW_INIT__)

Portable segment names.

#define
_TEXTRW_SEGMENT_SIZE __segment_size(__TEXTRW__)

Portable segment names.

#define
_AAT_SEGMENT_SIZE __segment_size(__AAT__)

Portable segment names.

#define
_BAT_SEGMENT_SIZE __segment_size(__BAT__)

Portable segment names.

#define
_BAT_INIT_SEGMENT_SIZE __segment_size(__BAT_INIT__)

Portable segment names.

#define
_FAT_SEGMENT_SIZE __segment_size(__FAT__)

Portable segment names.

#define
_RAT_SEGMENT_SIZE __segment_size(__RAT__)

Portable segment names.

#define
_SIMEE_SEGMENT_SIZE __segment_size(__SIMEE__)

Portable segment names.

#define
_PSSTORE_SEGMENT_SIZE __segment_size(__PSSTORE__)

Portable segment names.

#define
_LONGTOKEN_SEGMENT_SIZE __segment_size(__LONGTOKEN__)

Portable segment names.

#define
_EMHEAP_SEGMENT_SIZE __segment_size(__EMHEAP__)

Portable segment names.

#define
_GUARD_REGION_SEGMENT_SIZE __segment_size(__GUARD_REGION__)

Portable segment names.

#define
_DLIB_PERTHREAD_INIT_SEGMENT_SIZE __segment_size(__DLIB_PERTHREAD_INIT__)

Portable segment names.

#define
_DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_SIZE __segment_size(__DLIB_PERTHREAD_INITIALIZED_DATA__)

Portable segment names.

#define
_DLIB_PERTHREAD_ZERO_DATA_SEGMENT_SIZE __segment_size(__DLIB_PERTHREAD_ZERO_DATA__)

Portable segment names.

#define
_INTERNAL_STORAGE_SEGMENT_SIZE __segment_size(__INTERNAL_STORAGE__)

Portable segment names.

#define
_LOCKBITS_IN_MAINFLASH_SEGMENT_SIZE __segment_size(__LOCKBITS_IN_MAINFLASH__)

Portable segment names.

#define
_UNRETAINED_RAM_SEGMENT_SIZE __segment_size(__UNRETAINED_RAM__)

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

#define

Include platform-common.h last to pick up defaults and common definitions.

#define

The kind of arguments the main function takes.

#define

Include platform-common.h last to pick up defaults and common definitions.

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.

Functions#

Master Variable Types Documentation#

HAL_HAS_INT64#

#define HAL_HAS_INT64

Denotes that this platform supports 64-bit data-types.


Definition at line 97 of file /mnt/raid/workspaces/ws.r4wf6JzLX/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.


Definition at line 102 of file /mnt/raid/workspaces/ws.r4wf6JzLX/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.


Definition at line 82 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

int8u#

typedef unsigned char int8u

Denotes that this platform supports 64-bit data-types.


Definition at line 83 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

int8s#

typedef signed char int8s

Denotes that this platform supports 64-bit data-types.


Definition at line 84 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

int16u#

typedef unsigned short int16u

Denotes that this platform supports 64-bit data-types.


Definition at line 85 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

int16s#

typedef signed short int16s

Denotes that this platform supports 64-bit data-types.


Definition at line 86 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

int32u#

typedef unsigned int int32u

Denotes that this platform supports 64-bit data-types.


Definition at line 87 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

int32s#

typedef signed int int32s

Denotes that this platform supports 64-bit data-types.


Definition at line 88 of file /mnt/raid/workspaces/ws.r4wf6JzLX/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.


Definition at line 89 of file /mnt/raid/workspaces/ws.r4wf6JzLX/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.


Definition at line 90 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

PointerType#

typedef unsigned int PointerType

Denotes that this platform supports 64-bit data-types.


Definition at line 91 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

Miscellaneous Macros Documentation#

BIGENDIAN_CPU#

#define BIGENDIAN_CPU
Value:
false

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 115 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

NTOHS#

#define NTOHS
Value:
(val)

Define intrinsics for NTOHL and NTOHS to save code space by making endian.c compile to nothing.


Definition at line 121 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

NTOHL#

#define NTOHL
Value:
(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 122 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

NO_STRIPPING#

#define NO_STRIPPING
Value:
__root

A friendlier name for the compiler's intrinsic for not stripping.


Definition at line 128 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

EEPROM#

#define EEPROM
Value:
errorerror

A friendlier name for the compiler's intrinsic for eeprom reference.


Definition at line 134 of file /mnt/raid/workspaces/ws.r4wf6JzLX/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.


Definition at line 143 of file /mnt/raid/workspaces/ws.r4wf6JzLX/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)


Definition at line 160 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

halResetWatchdog#

#define halResetWatchdog
Value:
()

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 191 of file /mnt/raid/workspaces/ws.r4wf6JzLX/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.


Definition at line 198 of file /mnt/raid/workspaces/ws.r4wf6JzLX/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.


Definition at line 203 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

STACK_FILL_VALUE#

#define STACK_FILL_VALUE
Value:
0xCDCDCDCDU

Define the magic value that is interpreted by IAR C-SPY's Stack View.


Definition at line 208 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

RAMFUNC#

#define RAMFUNC
Value:
__ramfunc

Define a generic RAM function identifier to a compiler specific one.


Definition at line 218 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

NO_OPERATION#

#define NO_OPERATION
Value:
()

Define a generic no operation identifier to a compiler specific one.


Definition at line 224 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

SET_REG_FIELD#

#define SET_REG_FIELD
Value:
do { \
reg = ((reg & (~field##_MASK)) \
| ((((uint32_t) value) << field##_BIT) \
& (field##_MASK))); \
} while (0)

A convenience macro that makes it easy to change the field of a register to any unsigned value.


Definition at line 230 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

SET_CMSIS_REG#

#define SET_CMSIS_REG
Value:
do { \
reg = (((reg) & (~mask)) | (value)); \
} while (0)

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 247 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

SET_CMSIS_REG_FIELD#

#define SET_CMSIS_REG_FIELD
Value:
do { \
reg = ((reg & (~_##field##_MASK)) \
| ((value << _##field##_SHIFT) \
& (_##field##_MASK))); \
} while (0)

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 258 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

simulatedTimePasses#

#define simulatedTimePasses

Stub for code not running in simulation.


Definition at line 268 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

simulatedTimePassesMs#

#define simulatedTimePassesMs

Stub for code not running in simulation.


Definition at line 273 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

simulatedSerialTimePasses#

#define simulatedSerialTimePasses

Stub for code not running in simulation.


Definition at line 278 of file /mnt/raid/workspaces/ws.r4wf6JzLX/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.


Definition at line 283 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

VAR_AT_SEGMENT#

#define VAR_AT_SEGMENT
Value:
(__variableDeclaration, __segmentName)

Provide a portable way to specify the segment where a variable lives.


Definition at line 289 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

STRINGIZE#

#define STRINGIZE
Value:
(X)

Convinience macro for turning a token into a string.


Definition at line 295 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

ALIGNMENT#

#define ALIGNMENT
Value:
(X)

Provide a portable way to align data.


Definition at line 300 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

WEAK#

#define WEAK
Value:
(__symbol)

Provide a portable way to specify a symbol as weak.


Definition at line 306 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

NO_INIT#

#define NO_INIT
Value:
(__symbol)

Provide a portable way to specify a non initialized symbol.


Definition at line 312 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

STATIC_ASSERT#

#define STATIC_ASSERT
Value:
(__condition, __errorstr)

Provide a portable way to specify a compile time assert.


Definition at line 318 of file /mnt/raid/workspaces/ws.r4wf6JzLX/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)

Parameters
N/Afilename
N/Alinenumber

Definition at line 152 of file /mnt/raid/workspaces/ws.r4wf6JzLX/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.

Parameters
N/A

Definition at line 184 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

Portable segment names Documentation#

__NO_INIT__#

#define __NO_INIT__
Value:
".noinitlegacy"

Portable segment names.


Definition at line 341 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__DEBUG_CHANNEL__#

#define __DEBUG_CHANNEL__
Value:
"DEBUG_CHANNEL"

Portable segment names.


Definition at line 344 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__INTVEC__#

#define __INTVEC__
Value:
".intvec"

Portable segment names.


Definition at line 345 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__CSTACK__#

#define __CSTACK__
Value:
"CSTACK"

Portable segment names.


Definition at line 346 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__RESETINFO__#

#define __RESETINFO__
Value:
"RESETINFO"

Portable segment names.


Definition at line 347 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__DATA_INIT__#

#define __DATA_INIT__
Value:
".data_init"

Portable segment names.


Definition at line 348 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__DATA__#

#define __DATA__
Value:
".data"

Portable segment names.


Definition at line 349 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__BSS__#

#define __BSS__
Value:
".bss"

Portable segment names.


Definition at line 350 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__CONST__#

#define __CONST__
Value:
".rodata"

Portable segment names.


Definition at line 351 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__TEXT__#

#define __TEXT__
Value:
".text"

Portable segment names.


Definition at line 352 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__TEXTRW_INIT__#

#define __TEXTRW_INIT__
Value:
".textrw_init"

Portable segment names.


Definition at line 353 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__TEXTRW__#

#define __TEXTRW__
Value:
".textrw"

Portable segment names.


Definition at line 354 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__AAT__#

#define __AAT__
Value:
"AAT"

Portable segment names.


Definition at line 355 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__BAT__#

#define __BAT__
Value:
"BAT"

Portable segment names.


Definition at line 356 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__BAT_INIT__#

#define __BAT_INIT__
Value:
"BAT"

Portable segment names.


Definition at line 357 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__FAT__#

#define __FAT__
Value:
"FAT"

Portable segment names.


Definition at line 358 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__RAT__#

#define __RAT__
Value:
"RAT"

Portable segment names.


Definition at line 359 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__SIMEE__#

#define __SIMEE__
Value:
"SIMEE"

Portable segment names.


Definition at line 360 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__PSSTORE__#

#define __PSSTORE__
Value:
"PSSTORE"

Portable segment names.


Definition at line 361 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__LONGTOKEN__#

#define __LONGTOKEN__
Value:
"LONGTOKEN"

Portable segment names.


Definition at line 362 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__EMHEAP__#

#define __EMHEAP__
Value:
"EMHEAP"

Portable segment names.


Definition at line 363 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__GUARD_REGION__#

#define __GUARD_REGION__
Value:
"GUARD_REGION"

Portable segment names.


Definition at line 364 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__DLIB_PERTHREAD_INIT__#

#define __DLIB_PERTHREAD_INIT__
Value:
"__DLIB_PERTHREAD_init"

Portable segment names.


Definition at line 365 of file /mnt/raid/workspaces/ws.r4wf6JzLX/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.


Definition at line 366 of file /mnt/raid/workspaces/ws.r4wf6JzLX/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.


Definition at line 367 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__INTERNAL_STORAGE__#

#define __INTERNAL_STORAGE__
Value:
"INTERNAL_STORAGE"

Portable segment names.


Definition at line 368 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__LOCKBITS_IN_MAINFLASH__#

#define __LOCKBITS_IN_MAINFLASH__
Value:
"LOCKBITS_IN_MAINFLASH"

Portable segment names.


Definition at line 369 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

__UNRETAINED_RAM__#

#define __UNRETAINED_RAM__
Value:
"UNRETAINED_RAM"

Portable segment names.


Definition at line 370 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_NO_INIT_SEGMENT_BEGIN#

#define _NO_INIT_SEGMENT_BEGIN
Value:
__segment_begin(__NO_INIT__)

Portable segment names.


Definition at line 408 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DEBUG_CHANNEL_SEGMENT_BEGIN#

#define _DEBUG_CHANNEL_SEGMENT_BEGIN
Value:
__segment_begin(__DEBUG_CHANNEL__)

Portable segment names.


Definition at line 409 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_INTVEC_SEGMENT_BEGIN#

#define _INTVEC_SEGMENT_BEGIN
Value:
__segment_begin(__INTVEC__)

Portable segment names.


Definition at line 410 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_CSTACK_SEGMENT_BEGIN#

#define _CSTACK_SEGMENT_BEGIN
Value:
__segment_begin(__CSTACK__)

Portable segment names.


Definition at line 411 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_RESETINFO_SEGMENT_BEGIN#

#define _RESETINFO_SEGMENT_BEGIN
Value:
__segment_begin(__RESETINFO__)

Portable segment names.


Definition at line 412 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DATA_INIT_SEGMENT_BEGIN#

#define _DATA_INIT_SEGMENT_BEGIN
Value:
__segment_begin(__DATA_INIT__)

Portable segment names.


Definition at line 413 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DATA_SEGMENT_BEGIN#

#define _DATA_SEGMENT_BEGIN
Value:
__segment_begin(__DATA__)

Portable segment names.


Definition at line 414 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_BSS_SEGMENT_BEGIN#

#define _BSS_SEGMENT_BEGIN
Value:
__segment_begin(__BSS__)

Portable segment names.


Definition at line 415 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_CONST_SEGMENT_BEGIN#

#define _CONST_SEGMENT_BEGIN
Value:
__segment_begin(__CONST__)

Portable segment names.


Definition at line 416 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_TEXT_SEGMENT_BEGIN#

#define _TEXT_SEGMENT_BEGIN
Value:
__segment_begin(__TEXT__)

Portable segment names.


Definition at line 417 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_TEXTRW_INIT_SEGMENT_BEGIN#

#define _TEXTRW_INIT_SEGMENT_BEGIN
Value:
__segment_begin(__TEXTRW_INIT__)

Portable segment names.


Definition at line 418 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_TEXTRW_SEGMENT_BEGIN#

#define _TEXTRW_SEGMENT_BEGIN
Value:
__segment_begin(__TEXTRW__)

Portable segment names.


Definition at line 419 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_AAT_SEGMENT_BEGIN#

#define _AAT_SEGMENT_BEGIN
Value:
__segment_begin(__AAT__)

Portable segment names.


Definition at line 420 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_BAT_SEGMENT_BEGIN#

#define _BAT_SEGMENT_BEGIN
Value:
__segment_begin(__BAT__)

Portable segment names.


Definition at line 421 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_BAT_INIT_SEGMENT_BEGIN#

#define _BAT_INIT_SEGMENT_BEGIN
Value:
__segment_begin(__BAT_INIT__)

Portable segment names.


Definition at line 422 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_FAT_SEGMENT_BEGIN#

#define _FAT_SEGMENT_BEGIN
Value:
__segment_begin(__FAT__)

Portable segment names.


Definition at line 423 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_RAT_SEGMENT_BEGIN#

#define _RAT_SEGMENT_BEGIN
Value:
__segment_begin(__RAT__)

Portable segment names.


Definition at line 424 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_SIMEE_SEGMENT_BEGIN#

#define _SIMEE_SEGMENT_BEGIN
Value:
__segment_begin(__SIMEE__)

Portable segment names.


Definition at line 425 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_PSSTORE_SEGMENT_BEGIN#

#define _PSSTORE_SEGMENT_BEGIN
Value:
__segment_begin(__PSSTORE__)

Portable segment names.


Definition at line 426 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_LONGTOKEN_SEGMENT_BEGIN#

#define _LONGTOKEN_SEGMENT_BEGIN
Value:
__segment_begin(__LONGTOKEN__)

Portable segment names.


Definition at line 427 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_EMHEAP_SEGMENT_BEGIN#

#define _EMHEAP_SEGMENT_BEGIN
Value:
__segment_begin(__EMHEAP__)

Portable segment names.


Definition at line 428 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_GUARD_REGION_SEGMENT_BEGIN#

#define _GUARD_REGION_SEGMENT_BEGIN
Value:
__segment_begin(__GUARD_REGION__)

Portable segment names.


Definition at line 429 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DLIB_PERTHREAD_INIT_SEGMENT_BEGIN#

#define _DLIB_PERTHREAD_INIT_SEGMENT_BEGIN
Value:
__segment_begin(__DLIB_PERTHREAD_INIT__)

Portable segment names.


Definition at line 430 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_BEGIN#

#define _DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_BEGIN
Value:
__segment_begin(__DLIB_PERTHREAD_INITIALIZED_DATA__)

Portable segment names.


Definition at line 431 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DLIB_PERTHREAD_ZERO_DATA_SEGMENT_BEGIN#

#define _DLIB_PERTHREAD_ZERO_DATA_SEGMENT_BEGIN
Value:
__segment_begin(__DLIB_PERTHREAD_ZERO_DATA__)

Portable segment names.


Definition at line 432 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_INTERNAL_STORAGE_SEGMENT_BEGIN#

#define _INTERNAL_STORAGE_SEGMENT_BEGIN
Value:
__segment_begin(__INTERNAL_STORAGE__)

Portable segment names.


Definition at line 433 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_LOCKBITS_IN_MAINFLASH_SEGMENT_BEGIN#

#define _LOCKBITS_IN_MAINFLASH_SEGMENT_BEGIN
Value:
__segment_begin(__LOCKBITS_IN_MAINFLASH__)

Portable segment names.


Definition at line 434 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_UNRETAINED_RAM_SEGMENT_BEGIN#

#define _UNRETAINED_RAM_SEGMENT_BEGIN
Value:
__segment_begin(__UNRETAINED_RAM__)

Portable segment names.


Definition at line 435 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_NO_INIT_SEGMENT_END#

#define _NO_INIT_SEGMENT_END
Value:
__segment_end(__NO_INIT__)

Portable segment names.


Definition at line 437 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DEBUG_CHANNEL_SEGMENT_END#

#define _DEBUG_CHANNEL_SEGMENT_END
Value:
__segment_end(__DEBUG_CHANNEL__)

Portable segment names.


Definition at line 438 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_INTVEC_SEGMENT_END#

#define _INTVEC_SEGMENT_END
Value:
__segment_end(__INTVEC__)

Portable segment names.


Definition at line 439 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_CSTACK_SEGMENT_END#

#define _CSTACK_SEGMENT_END
Value:
__segment_end(__CSTACK__)

Portable segment names.


Definition at line 440 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_RESETINFO_SEGMENT_END#

#define _RESETINFO_SEGMENT_END
Value:
__segment_end(__RESETINFO__)

Portable segment names.


Definition at line 441 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DATA_INIT_SEGMENT_END#

#define _DATA_INIT_SEGMENT_END
Value:
__segment_end(__DATA_INIT__)

Portable segment names.


Definition at line 442 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DATA_SEGMENT_END#

#define _DATA_SEGMENT_END
Value:
__segment_end(__DATA__)

Portable segment names.


Definition at line 443 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_BSS_SEGMENT_END#

#define _BSS_SEGMENT_END
Value:
__segment_end(__BSS__)

Portable segment names.


Definition at line 444 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_CONST_SEGMENT_END#

#define _CONST_SEGMENT_END
Value:
__segment_end(__CONST__)

Portable segment names.


Definition at line 445 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_TEXT_SEGMENT_END#

#define _TEXT_SEGMENT_END
Value:
__segment_end(__TEXT__)

Portable segment names.


Definition at line 446 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_TEXTRW_INIT_SEGMENT_END#

#define _TEXTRW_INIT_SEGMENT_END
Value:
__segment_end(__TEXTRW_INIT__)

Portable segment names.


Definition at line 447 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_TEXTRW_SEGMENT_END#

#define _TEXTRW_SEGMENT_END
Value:
__segment_end(__TEXTRW__)

Portable segment names.


Definition at line 448 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_AAT_SEGMENT_END#

#define _AAT_SEGMENT_END
Value:
__segment_end(__AAT__)

Portable segment names.


Definition at line 449 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_BAT_SEGMENT_END#

#define _BAT_SEGMENT_END
Value:
__segment_end(__BAT__)

Portable segment names.


Definition at line 450 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_BAT_INIT_SEGMENT_END#

#define _BAT_INIT_SEGMENT_END
Value:
__segment_end(__BAT_INIT__)

Portable segment names.


Definition at line 451 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_FAT_SEGMENT_END#

#define _FAT_SEGMENT_END
Value:
__segment_end(__FAT__)

Portable segment names.


Definition at line 452 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_RAT_SEGMENT_END#

#define _RAT_SEGMENT_END
Value:
__segment_end(__RAT__)

Portable segment names.


Definition at line 453 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_SIMEE_SEGMENT_END#

#define _SIMEE_SEGMENT_END
Value:
__segment_end(__SIMEE__)

Portable segment names.


Definition at line 454 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_PSSTORE_SEGMENT_END#

#define _PSSTORE_SEGMENT_END
Value:
__segment_end(__PSSTORE__)

Portable segment names.


Definition at line 455 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_LONGTOKEN_SEGMENT_END#

#define _LONGTOKEN_SEGMENT_END
Value:
__segment_end(__LONGTOKEN__)

Portable segment names.


Definition at line 456 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_EMHEAP_SEGMENT_END#

#define _EMHEAP_SEGMENT_END
Value:
__segment_end(__EMHEAP__)

Portable segment names.


Definition at line 457 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_GUARD_REGION_SEGMENT_END#

#define _GUARD_REGION_SEGMENT_END
Value:
__segment_end(__GUARD_REGION__)

Portable segment names.


Definition at line 458 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DLIB_PERTHREAD_INIT_SEGMENT_END#

#define _DLIB_PERTHREAD_INIT_SEGMENT_END
Value:
__segment_end(__DLIB_PERTHREAD_INIT__)

Portable segment names.


Definition at line 459 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_END#

#define _DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_END
Value:
__segment_end(__DLIB_PERTHREAD_INITIALIZED_DATA__)

Portable segment names.


Definition at line 460 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DLIB_PERTHREAD_ZERO_DATA_SEGMENT_END#

#define _DLIB_PERTHREAD_ZERO_DATA_SEGMENT_END
Value:
__segment_end(__DLIB_PERTHREAD_ZERO_DATA__)

Portable segment names.


Definition at line 461 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_INTERNAL_STORAGE_SEGMENT_END#

#define _INTERNAL_STORAGE_SEGMENT_END
Value:
__segment_end(__INTERNAL_STORAGE__)

Portable segment names.


Definition at line 462 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_LOCKBITS_IN_MAINFLASH_SEGMENT_END#

#define _LOCKBITS_IN_MAINFLASH_SEGMENT_END
Value:
__segment_end(__LOCKBITS_IN_MAINFLASH__)

Portable segment names.


Definition at line 463 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_UNRETAINED_RAM_SEGMENT_END#

#define _UNRETAINED_RAM_SEGMENT_END
Value:
__segment_end(__UNRETAINED_RAM__)

Portable segment names.


Definition at line 464 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_NO_INIT_SEGMENT_SIZE#

#define _NO_INIT_SEGMENT_SIZE
Value:
__segment_size(__NO_INIT__)

Portable segment names.


Definition at line 466 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DEBUG_CHANNEL_SEGMENT_SIZE#

#define _DEBUG_CHANNEL_SEGMENT_SIZE
Value:
__segment_size(__DEBUG_CHANNEL__)

Portable segment names.


Definition at line 467 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_INTVEC_SEGMENT_SIZE#

#define _INTVEC_SEGMENT_SIZE
Value:
__segment_size(__INTVEC__)

Portable segment names.


Definition at line 468 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_CSTACK_SEGMENT_SIZE#

#define _CSTACK_SEGMENT_SIZE
Value:
__segment_size(__CSTACK__)

Portable segment names.


Definition at line 469 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_RESETINFO_SEGMENT_SIZE#

#define _RESETINFO_SEGMENT_SIZE
Value:
__segment_size(__RESETINFO__)

Portable segment names.


Definition at line 470 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DATA_INIT_SEGMENT_SIZE#

#define _DATA_INIT_SEGMENT_SIZE
Value:
__segment_size(__DATA_INIT__)

Portable segment names.


Definition at line 471 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DATA_SEGMENT_SIZE#

#define _DATA_SEGMENT_SIZE
Value:
__segment_size(__DATA__)

Portable segment names.


Definition at line 472 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_BSS_SEGMENT_SIZE#

#define _BSS_SEGMENT_SIZE
Value:
__segment_size(__BSS__)

Portable segment names.


Definition at line 473 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_CONST_SEGMENT_SIZE#

#define _CONST_SEGMENT_SIZE
Value:
__segment_size(__CONST__)

Portable segment names.


Definition at line 474 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_TEXT_SEGMENT_SIZE#

#define _TEXT_SEGMENT_SIZE
Value:
__segment_size(__TEXT__)

Portable segment names.


Definition at line 475 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_TEXTRW_INIT_SEGMENT_SIZE#

#define _TEXTRW_INIT_SEGMENT_SIZE
Value:
__segment_size(__TEXTRW_INIT__)

Portable segment names.


Definition at line 476 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_TEXTRW_SEGMENT_SIZE#

#define _TEXTRW_SEGMENT_SIZE
Value:
__segment_size(__TEXTRW__)

Portable segment names.


Definition at line 477 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_AAT_SEGMENT_SIZE#

#define _AAT_SEGMENT_SIZE
Value:
__segment_size(__AAT__)

Portable segment names.


Definition at line 478 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_BAT_SEGMENT_SIZE#

#define _BAT_SEGMENT_SIZE
Value:
__segment_size(__BAT__)

Portable segment names.


Definition at line 479 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_BAT_INIT_SEGMENT_SIZE#

#define _BAT_INIT_SEGMENT_SIZE
Value:
__segment_size(__BAT_INIT__)

Portable segment names.


Definition at line 480 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_FAT_SEGMENT_SIZE#

#define _FAT_SEGMENT_SIZE
Value:
__segment_size(__FAT__)

Portable segment names.


Definition at line 481 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_RAT_SEGMENT_SIZE#

#define _RAT_SEGMENT_SIZE
Value:
__segment_size(__RAT__)

Portable segment names.


Definition at line 482 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_SIMEE_SEGMENT_SIZE#

#define _SIMEE_SEGMENT_SIZE
Value:
__segment_size(__SIMEE__)

Portable segment names.


Definition at line 483 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_PSSTORE_SEGMENT_SIZE#

#define _PSSTORE_SEGMENT_SIZE
Value:
__segment_size(__PSSTORE__)

Portable segment names.


Definition at line 484 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_LONGTOKEN_SEGMENT_SIZE#

#define _LONGTOKEN_SEGMENT_SIZE
Value:
__segment_size(__LONGTOKEN__)

Portable segment names.


Definition at line 485 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_EMHEAP_SEGMENT_SIZE#

#define _EMHEAP_SEGMENT_SIZE
Value:
__segment_size(__EMHEAP__)

Portable segment names.


Definition at line 486 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_GUARD_REGION_SEGMENT_SIZE#

#define _GUARD_REGION_SEGMENT_SIZE
Value:
__segment_size(__GUARD_REGION__)

Portable segment names.


Definition at line 487 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DLIB_PERTHREAD_INIT_SEGMENT_SIZE#

#define _DLIB_PERTHREAD_INIT_SEGMENT_SIZE
Value:
__segment_size(__DLIB_PERTHREAD_INIT__)

Portable segment names.


Definition at line 488 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_SIZE#

#define _DLIB_PERTHREAD_INITIALIZED_DATA_SEGMENT_SIZE
Value:
__segment_size(__DLIB_PERTHREAD_INITIALIZED_DATA__)

Portable segment names.


Definition at line 489 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_DLIB_PERTHREAD_ZERO_DATA_SEGMENT_SIZE#

#define _DLIB_PERTHREAD_ZERO_DATA_SEGMENT_SIZE
Value:
__segment_size(__DLIB_PERTHREAD_ZERO_DATA__)

Portable segment names.


Definition at line 490 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_INTERNAL_STORAGE_SEGMENT_SIZE#

#define _INTERNAL_STORAGE_SEGMENT_SIZE
Value:
__segment_size(__INTERNAL_STORAGE__)

Portable segment names.


Definition at line 491 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_LOCKBITS_IN_MAINFLASH_SEGMENT_SIZE#

#define _LOCKBITS_IN_MAINFLASH_SEGMENT_SIZE
Value:
__segment_size(__LOCKBITS_IN_MAINFLASH__)

Portable segment names.


Definition at line 492 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

_UNRETAINED_RAM_SEGMENT_SIZE#

#define _UNRETAINED_RAM_SEGMENT_SIZE
Value:
__segment_size(__UNRETAINED_RAM__)

Portable segment names.


Definition at line 493 of file /mnt/raid/workspaces/ws.r4wf6JzLX/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.


Definition at line 536 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

MAIN_FUNCTION_PARAMETERS#

#define MAIN_FUNCTION_PARAMETERS
Value:
void

The kind of arguments the main function takes.


Definition at line 543 of file /mnt/raid/workspaces/ws.r4wf6JzLX/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.


Definition at line 544 of file /mnt/raid/workspaces/ws.r4wf6JzLX/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.

Parameters
N/AI

An integer.

Returns

  • A nonnegative integer.


Definition at line 527 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h

Function Documentation#

_executeBarrierInstructions#

void _executeBarrierInstructions (void )
Parameters
N/A

Definition at line 501 of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/platform/base/hal/micro/cortexm3/compiler/iar.h