Skip to main content

IAR Embedded Workbench for RL78 5.20

Prebuilt runtime libraries

In this section:

The prebuilt runtime libraries are configured for different combinations of these options:

  • Code model

  • Data model

  • Processor core

  • Size of the double floating-point type

  • Calling convention

  • Use of the --generate_far_runtime_library_calls option

  • Library configuration—Normal or Full.

The linker will automatically include the correct library files and library configuration file. To explicitly specify a library configuration, use the ‑‑dlib_config compiler option. However, the Full library configuration is the only configuration that exists for Libc++. The ‑‑dlib_config compiler option cannot be used to specify another configuration.

Tip

To see which runtime library files that the linker includes, use the linker option ‑‑log libraries, see ‑‑log.

Library filename syntax

The names of the libraries are constructed from these elements:

library

Specifies the IAR DLIB runtime environment.

rl

Specifies the RL78 microcontroller.

code_model

Specifies the code model:

n = Near

f = Far

data_model

Specifies the data model:

n = Near

f = Far

h = Huge

size_of_double

Specifies the size of double:

f = 32 bits

d = 64 bits

calling_c

Specifies the calling convention:

1 = the V1 calling convention

2 = the V2 calling convention

core

Specifies the core:

2 = S1 or S2

3 = S3

lib_config

Specifies the library configuration:

n = Normal

f = Full

far_rt_calls

Specifies whether the compiler option ‑‑generate_far_runtime_library_calls is used:

f = the option is used

empty if the option is not used

debug_io

Specifies the support for C-SPY emulated I/O:

d = support for C-SPY emulated I/O

n = no support for C-SPY emulated I/O

Note

The library configuration file has the same base name as the library.

You can find the library files and the library configuration files in the directory rl78\lib.

Groups of library files

The libraries are delivered in groups of library functions:

Library files for C library functions

These are the functions defined by Standard C, for example functions like printf and scanf.

The names of the library files are constructed in the following way:

dlrl{code_model}{data_model}{size_of_double}{calling_c}{core} {lib_config}[far_rt_calls].a

which more specifically means

dlrl{n|f}{n|f|h}{f|d}{1|2}{2|3}{n|f}[f].a
Library files for C++11 library functions

These are the functions defined by C++11, compiled with support for Standard C++.

The names of the library files are constructed in the following way:

dlpprl{code_model}{data_model}{size_of_double}{calling_c}{core} {lib_config}[far_rt_calls].a

which more specifically means

dlpprl{n|f}{n|f|h}{f|d}{1|2}{2|3}{n|f}[f].a
Library files for C++17 library functions

These are the functions defined by C++17, compiled with support for Standard C++.

The names of the library files are constructed in the following way:

dllibcpprl{code_model}{data_model}{size_of_double}{calling_c} {core}[far_rt_calls].a

which more specifically means

dllibcpprl{n|f}{n|f|h}{f|d}{1|2}{2|3}[f].a
Library files for C++ runtime library functions

These are the runtime functions needed for C++, used for both the Libc++ and the DLIB C++ libraries.

The names of the library files are constructed in the following way:

dlpprtrl{code_model}{data_model}{size_of_double}{calling_c}{core}{lib_config}[far_rt_calls].a

which more specifically means

dlpprtrl{n|f}{n|f|h}{f|d}{1|2}{2|3}{n|f}[f].a
Library files for thread support

These are the functions for thread support.

The names of the library files are constructed in the following way:

thrl{code_model}{data_model}{size_of_double}{calling_c}{core}{lib_config}[far_rt_calls].a

which more specifically means

thrl{n|f}{n|f|h}{f|d}{1|2}{2|3}{n|f}[f].a
Library files with support for timezone and daylight saving time functionality

These are the functions with support for timezone and daylight saving time functionality.

The names of the library files are constructed in the following way:

tzrl{code_model}{data_model}{size_of_double}{calling_c}{core}{lib_config}[far_rt_calls].a

which more specifically means

tzrl{n|f}{n|f|h}{f|d}{1|2}{2|3}{n|f}[f].a
Library files for C-SPY emulated I/O

These are functions for C-SPY emulated I/O.

The names of the library files are constructed in the following way:

dbgrl{code_model}{data_model}{size_of_double}{calling_c}{core} {debug_io}.a

which more specifically means

dbgrl{n|f}{n|f|h}{f|d}{1|2}{2|3}{d|n}.a
Library files for hardware multiplication/division support

These are the functions with replacement support using the hardware multiplication/division support cores for S2 and S3.

The names of the library files are constructed in the following way:

hwmulrl{core}[far_rt_calls].a

which more specifically means

hwmulrl{2|3}[f].a