English
Language : 

R01US0079ED0103 Datasheet, PDF (24/66 Pages) Renesas Technology Corp – RENESAS 32-Bit MCU
Data Flash Access Library - Type T01, European Release
User Interface (API)
Chapter 4 User Interface (API)
This chapter provides the formal description of the application programming interface of the Flash Data
Library Type T01 (FDL). It is strongly advised to read and understand the previous chapters presenting
the concepts and structures of the library before continuing with the API details.
4.1 Pre-compile configuration
The pre-compile configuration has a direct impact on the object file generated by the compiler. Hence it is
used for conditional compilation (e.g. solve device dependencies of the code).
The configuration is done in the module fdl_cfg.h. The user has to configure all parameters and
attributes by adapting the related constant definitions in that header-file.
The following configuration options are available:
1. Critical section
One configuration element is the critical section handling of the library. The function R_FDL_Init
needs to activate the device internal special memory for a short time in order to have access to
certain data. This results in disabling the Code Flash. During that time, code from Code Flash cannot
be executed as well as data cannot be read. The library provides the possibility to execute call-back
routines in order for the user to handle the implications of disabling the Code flash (for the impact on
the application, please refer to Chapter 6 Cautions). The call-back routines are executed at the begin
and end of the critical section. The defines to set the call back routines are described in the following:
FDL_CRITICAL_SECTION_BEGIN: Possibility to execute a call back routine at critical section start
(e.g. disable interrupts and exceptions)
FDL_CRITICAL_SECTION_END: Possibility to execute a call back routine at critical section end (e.g.
enable interrupts and exceptions)
Implementation in the sample application:
#define FDL_CRITICAL_SECTION_BEGIN FDL_User_CriticalSetionBegin();
#define FDL_CRITICAL_SECTION_END FDL_User_CriticalSetionEnd();
2. Device family
The macro FDL_CFG_E1X_P1X_PLATFORM must be defined for E1x and P1x and must be left
undefined for F1x and R1x devices.
4.2 Run-time configuration
The FDL configuration can be changed dynamically at runtime. It contains important FDL related
information (e.g. CPU frequency, number of blocks used by library, authentication code) and EEL
information (e.g. EEL pool size and EEL starting block number).
The run-time configuration is stored in a descriptor structure (see r_fdl_descriptor_t), which is
declared in r_fdl_types.h, but defined in the user application and passed to the library by the function
R_FDL_Init.
The file fdl_descriptor.c shall show an example of the descriptor structure definition and filling, while
the fdl_descriptor.h shall show an example of the definitions required to fill in the structure.
In fact, the file fdl_descriptor.h might be modified according to the user applications needs and
might be added to the user application project together with the fdl_descriptor.c. The descriptor files
(.c and .h) are part of the library installation package.
R01US0079ED0103
24
User Manual