# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Protego

# MLA -- Getting Started

20 December, 2013

- 1
- 2
…
- 10
- 11
- 12
- 13
- 14
…
- 21
- 22

1.5 System Configurations
This section describes the files that make up a system configuration.
Description
In MLA, a system configuration consists of a set of files that define the build options, how the system is initialized, and how it
runs after it has been initialized. The purpose of each of these files is described in the topics in this section.
1.5.1 system_config.h
This topic describes the purpose of system configuration header file.
Description
System Configuration
In MLA, most library modules have a set of build time configuration options that define a variety of parameters (such as
buffer sizes, maximum or minimum limits, and default behavior). These configuration options normally have acceptable
default values. However, if you want to configure a library for your specific needs, its configuration options can be defined
using C language preprocessor #define statements. The set of configuration options supported is described for each library
in the "Configuring the Library" section of its help document and most libraries provide a template and example configuration
header files.
To obtain its build configuration options, every library includes the same common top-level configuration file that must be
called system_config.h and that must be defined as part of your system configuration.
If all the framework module configuration goes in one file, the file can be long. Hence, configuration tends to get split into
sub-include files, such as gfx_config.h and usb_config.h. These can exist and can have different names. However,
system_config.h must exist and the name of this file cannot be changed.
1.5.2 system.c
This section describes the system.c file.
Description
The configuration specific implementations that would exist in c source files in the configuration folder can really be
organized, file wise, in any way the application developer wishes, since framework module files are not dependent on these
files. In an MLA, the specific function is called from the
main
function in order to initialize all modules in the system. This
function is implemented as part of a system configuration, normally in a file named
system.c
. The initialization function
needs to have the same name across all the build configurations. This file may also include other necessary global system
items that must be implemented in order to initialize a system such as processor configuration bits, clock settings, debug
settings and system-wide global data structures.
1.5.3 system.h
This section describes the system.h file.
1.5 System Configurations MLA - Getting Started Help system.h
12
1

- 1
- 2
…
- 10
- 11
- 12
- 13
- 14
…
- 21
- 22