Document API IEC60730 Library
Macros
Toolchain Abstraction

Macros for toolchain abstraction. More...

Macros

#define NULL   ((void *) 0)
 Make sure there is a NULL defined if the toolchain does not provide it.
 
#define NOP()   __NOP()
 
#define IEC60730_VAR_NO_INIT   __attribute__((section(".noinit")))
 No init at startup.
 
#define IEC60730_DATA_NO_CLEAR   __attribute__((section(".ram_no_clear")))
 No clear at startup.
 
#define __STACK_BOTTOM   __attribute__((section(".stack_bottom")))
 
#define __CLASSB_RAM   __attribute__((section(".classb_ram")))
 
#define __RT_BUF   __attribute__((section(".rt_buf")))
 
#define __OVERLAP   __attribute__((section(".overlap")))
 
#define LB_ASM   __asm__
 Add assembly code.
 
#define LB_XSTR(x)   XSTR(x:)
 Add label.
 

Detailed Description

Macros for toolchain abstraction.

Introduction

This header file contains macros that are used to provide an abstraction for toolchain use in source code. The EFR32 compiler requires C-language extensions in order to fully use features of the EFR32 architecture. All compilers for EFR32 implement a set of extensions but use different names and ways of implementing those extensions. This header file provides macros that are defined for each supported toolchain and can be used in the source code. This allows the source code to use EFR32 extensions and remain independent of which toolchain is used for compilation.

Prior Toolchain Abstraction Header File

Refer file: sl_iec60730_toolchain.h

Supported Toolchains

Macro Definition Documentation

◆ __CLASSB_RAM

#define __CLASSB_RAM   __attribute__((section(".classb_ram")))

The __CLASSB_RAM macro is used to define (.classb_ram) section.

◆ __OVERLAP

#define __OVERLAP   __attribute__((section(".overlap")))

The __OVERLAP macro is used to define (.overlap) section.

◆ __RT_BUF

#define __RT_BUF   __attribute__((section(".rt_buf")))

The __RT_BUF macro is used to define (.rt_buf) section.

◆ __STACK_BOTTOM

#define __STACK_BOTTOM   __attribute__((section(".stack_bottom")))

The __STACK_BOTTOM macro is used to define (.stack_bottom) section.

◆ NOP

#define NOP ( )    __NOP()

__NOP should be declared in cmsis header core_cmInstr.h extern void __NOP(void); Macro to insert a no-operation (NOP) instruction.