Keil Logo

Components in Project

Files of Software Components are included into the project the following way:

  • Configurable source and header files are copied to the project using the folder structure explained below.
  • Libraries, source, and header files that are not configurable (and need no modification) are stored in the folders of the Software Component and get included directly from this location into the project.
  • An Include Path to the header files of the Software Component is added to the C/C++ Compiler control string.
  • User Code Templates can be added to any File Group and copied to any folder. Refer to Add Source Files to Project for more information.

Files of Software Components in the Project Folder

The following folders and files are created in the Project Folder:

Folder Content
.\RTE Contains the file RTE_Components.h
.\RTE\component class Configurable files for each component class are stored in sub-folders. The name of this sub-folder is derived from the component class name.
.\RTE\Device\device name Configurable files of the component class Device. For each device selected for a Project, an additional sub-folder is created and the name is derived from the device name.

The folder .\RTE is created in the project root folder when using Software Components. You should not modify the content of this folder.


The file .\RTE\RTE_Components.h is automatically created during the Build Project step. For each selected Software Component it contains #define statements required by the component. These statements are defined in the *.PDSC file for that component. The following example shows a sample content of a RTE_Components.h file:

   Auto generated Run-Time-Environment Component Configuration File
        *** Do not modify ! ***

   Define the Device Header File:
#define CMSIS_device_header "stm32f10x.h"

#define RTE_Network_Interface_ETH_0     /* Network Interface ETH 0 */
#define RTE_Network_Socket_BSD          /* Network Socket BSD */
#define RTE_Network_Socket_TCP          /* Network Socket TCP */
#define RTE_Network_Socket_UDP          /* Network Socket UDP */

#endif /* RTE_COMPONENTS_H */

The typical usage of the RTE_Components.h file is in header files to control the inclusion of files that are related to other components of the same Software Pack.

#include "RTE_Components.h"
#include  CMSIS_device_header

#ifdef  RTE_Network_Interface_ETH_0  // if component Network Interface ETH 0 is included
#include "Net_Config_ETH_0.h"        // add the related configuration file for this component

Files of Software Components in the Project Window

Each component class has its own File Group. The component group and sub-group is shown in parenthesis.

Components in Project

Icons are explained in File, Group, and Component Attributes.

The context menu offers item related options to:

  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.