The MCUXpresso Config Tools set is a suite of evaluation and configuration tools that help you from initial evaluation to production
software development. Following tools are included:
Table 1. MCUXpresso Config Tools
NameDescription
Pins Tool
Clocks Tool
Peripherals ToolEnable you to configure the initialization for the MCUXpresso SDK drivers.
Device
Configuration Tool
TEE ToolEnables you to configure security policies of memory areas, bus masters, and peripherals, in order to
Enables you to configure the pins of a device. Pins tool enables you to create, inspect, change, and modify
any aspect of the pin configuration and muxing of the device.
Enables you to configure initialization of the system clock (core, system, bus, and peripheral clocks) and
generates the C code with clock initialization functions and configuration structures.
Enables you to generate a Device Configuration Data (DCD) image using the format and constrains
specified in the Boot ROM reference manual.
isolate and safeguard sensitive areas of your application.
1.1 Versions
The suite of these tools is called MCUXpresso Config Tools. These tools are provided as an online Web application or as a desktop
application or as integrated version in MCUXpresso IDE.
NOTE
The desktop version of the tool contacts the NXP server and fetches the list of the available processors. Once used,
the processors data is retrieved on demand.
TIP
To use the desktop tool in the offline mode, create a configuration for the given processor while online. The tool will
then store the processors locally in the user folder and enable faster access and offline use. Otherwise, it is possible
to download and export the data using the Export menu.
In this context, configuration stands for common tools settings stored in an MEX (Microcontrollers Export Configuration) file. This
file contains settings of all available toolsand can be used in both web and desktop versions.
The folder with the saved MEX file must contain exactly one project file to be able to parse the toolchain project. The file type
depends on the toolchain of the project and can be one of the following:
Table 2. Supported toolchain project files
ToolchainProject file
IAR EWEWP
MDK μVisionUVPROJX
ARM GCCCMakeLists.txt
2.1.1 Creating a new configuration
In Project Explorer, right-click the Eclipse project based on MCUXpresso SDK, and select MCUXpresso Config Tool > Open Pins.
One of the following actions takes place:
• If the project contains an MEX file in the root folder, the file is opened.
• If the project contains any source file with tool configuration (pin_mux.c, clock_config.c and/or peripheral.c), the tool
configuration is imported from this file.
• Otherwise, an empty/default configuration for selected processor is created.
NOTE
The same command can be invoked also from popup menu on the MEX file or from toolbar in Project Explorer view.
2.1.2 Saving a configuration
You can save your configuration by clicking the Save button on the toolbar or selecting File>Save from the Main Menu. The
command is enabled only if the configuration is dirty (unsaved) and one of MCUXpresso Config Tool perspective is opened. The
configuration is always saved into an MEX file stored in the project root folder. If file doesn't exist, new one is created using current
project name.
NOTE
Configuration is also saved when you select Update Code in the toolbar.
2.1.3 Importing sources
To import source code files, do the following:
1. In the Menu bar, select File > Import....
2. From the list, select MCUXpresso Config Tools>Import Source.
4. On the next page, click Browse to specify the location of the source file.
5. Select the source file you wish to import and click Open.
6. On the next page, select which functional groups to import (based on tools) by selecting the checkbox in the left column.
7. Define how to import the functional groups by selecting one of the two available options in the dropdown menu in the
right column:
• Rename – All files are merged into the current configuration. It imports all the functions only. If the imported
function has the same name as an existing one, it is automatically renamed to the indexed one. For example, if
BOARD_InitPins already exists in the configuration then the imported function is renamed to BOARD_InitPins1.
• Overwrite – All files are merged into the current configuration. It imports all the functions only. If the imported
function has the same name as an existing one, then the existing one is replaced with the imported one.
8. Click Finish.
NOTE
Only C files with valid YAML configuration can be imported. It imports the configuration only, then the whole C file
is re-created based on this setting. The rest of the C and DTSI files are ignored.
1. In the Menu bar, select File > Import…. Alternatively, click the Import Registers Configuration button in the Registers view,
or drag-and-drop the memory dump file anywhere in the Registers view area.
Figure 4. Import Registers Configuration
2. In the Import wizard, select MCUXpresso Config Tools > Import Registers.
3. Click Next.
4. On the next page, click Browse to specify the location of the registers configuration.
5. Select the registers file you wish to import, and click OK.
6. By default, the imported register configuration will overwrite the existing functional group. If you want a new functional group
to be created instead, select the Create new functional group option button, and specify the functional group name.
7. Click Finish.
NOTE
All registers are imported from the dump file regardless of their relevance to clock configuration, therefore, the list
can contain registers not needed by the Clocks tool.
The generated code contains information about the Clocks tool settings that are used in the tool (block within a comment in
YAML format).
The following is an example of the settings information in the generated source code.
Figure 5. Setting Information in the source code
If this information is not corrupted, it's possible to re-import the clock settings into the tool using the following steps.
1. In the Menu bar, select File > Import….
2. From the list, select MCUXpresso Config Tools > Clocks Tool > Import Source Files.
3. Click Next.
4. Click Browse.
5. Navigate and select the
6. If the settings parse successfully, clock configurations are added into the current global configuration.
clock_config.c
file previously produced by the Clocks tool.
2.2 Toolbar
The toolbar is located on the top of the window and includes buttons/menus of frequently used actions common to all tools. See
the following sections for more information.
Table 3. Toolbar
ItemDescription
Config Tools OverviewOpen the Overview dialog with information about currently-used tools.
Show Problems ViewOpen the Problems view.
Update CodeOpen the update dialog allowing you to update generated peripheral initialization code
Functional group selectionSelect functional group. Functional group in the Peripherals tool represents a group
of peripherals that are initialized as a group. The tool generates a C function for each
function group that contains the initialization code.
Call from default initializationSet the current functional group to be initialized by the default initialization function.
Functional group propertiesOpen the Functional group properties dialog to modify name and other properties of
the function group.
Tool selectionDisplay icons of individual tools. Use them to switch between tools.
Undo/RedoUndo/Redo last action.
In addition, the toolbar may contain additional items depending on the selected tool. See the chapters dedicated to individual tools
for more information.
2.2.1 Eclipse project selection
You can use the Eclipse project drop-down menu to switch between projects.
2.2.2 Config Tools Overview
Click the Config Tools Overview button to open Config Tools Overview and inspect information about the configuration, hardware,
and project. For more information, see the Config Tools Overview section.
2.2.3 Show Problems View
Click the Show Problems View to open/highlight the Problems view and inspect any errors in your configuration. See Problems
view for more information.
Button color depends on issue type. Red indicates the presence of at least one error, yellow indicates the presence of at least
one warning.
2.2.4 Update code
To update the generated code in the related toolchain project, click the Update Code button. In the window, select the tools or files
you want to update. If the file is updated automatically, the button is filled with a black square. The reason is displayed in the tooltip.
Previous version of the file can be retrieved from Eclipse local history.
The Update Code action is enabled under following conditions:
• If the MEX configuration is saved in a toolchain project, the processor selected in the tool matches with processor selected
in the toolchain project
• Core is selected (for multicore processors)
2.2.5 Functional groups
Every Pins/Clocks/Peripherals configuration can contain several functional groups.
These groups represent functions which will be generated into source code. Use the dropdown menu to switch between functional
groups and configure them.
Figure 9. Functional groups
You can use two additional buttons to further configure functional groups:
Table 4. Functional Groups
IconDescription
Toggle "Called from default initialization function" feature (in
source code)
Opens the Functional group properties window
NOTE
Red/orange background indicates errors/warnings in the configuration.
2.2.5.1 Functional group properties
In the Functional Group Properties window, you can configure several options for functions and code generation. Each settings
is applicable for the selected function. You can specify generated function name, select core (for multicore processors only) that
is affecting the generated source code, or write function description (this description will be generated in the C file). You can also
add, copy, and remove functional groups as needed.
Aside from name and description, you can choose to set the following parameters for selected functional groups:
• Set custom #define prefix - Enable to use the specified prefix for the identifiers in the source code. You can also modify
the functions order (on the left), the order is applied in the generated code.
NOTE
Not all processors support this option.
• Called from default initialization function - Enable to call the function is called from the default initialization function.
Figure 10. Functional group properties for the Pins tool
2.2.6 Undo/Redo actions
You can reverse your actions by using Undo/Redo buttons available in the Toolbar. You can also perform these actions from the
Edit menu in the Menu bar.
Table 5. Undo/reto actions
IconDescription
Cancels the previous action
Cancels the previous undo action
2.2.7 Selecting the tools
Buttons on the extreme right-hand side of the toolbar represent available tools. Click the icons to quickly navigate between .
2.3 Status bar
The status bar is visible at the bottom part of the GUI. Status bar indicates error and warning state of the currently selected
functional group.
To configure the preferences related to the configuration, uses popup menu on the Eclipse project, select Properties and then
MCUXpresso Config Tools in the left pane.
Figure 12. Configuration Preferences
Several preferences are available.
•
Table 7. Configuration Preferences
ItemDescription
Validate boot init onlyValidate tools' dependencies only against ‘boot init’ function
group.When selected, dependencies from all functional groups
of all tools must be satisfied in the functional groups marked for
default initialization. Clearing this option hides warnings in case
the user is using complex scenarios with alternating functional
groups within the application code.
Generate YAMLGenerate YAML into C sources files.
Generate extended information into header fileGenerate extended information into the header file. For
projects created in earlier MCUXpresso versions, this option is
selected by default.
Custom source file copyright headerAdd a custom copyright header to generated source files that
don't already contain copyright.
Generate code only for registers that are different from the
after-reset state
Generate code only for registers that are different from the
after-reset state. For projects created in earlier MCUXpresso
versions, this option is selected by default.
WARNING
When the source does not contain YAML code, it can't be imported.
2.6 Problems view
The Problems view displays issues in individual tools and in the inter-dependencies between the tools.
Figure 13. Problems view
To open the Problems view, click the Show Problems view button in the Toolbar, or select Views > Problems from the Menu bar.
The Problems table contains the following information:
LevelSeverity of the problem: Information, Warning, or Error.
ResourceResource related to the problem, such as signal name, the clock signal, and so on.
IssueDescription of the problem.
OriginInformation on the dependency source.
TargetTool that handles the dependency and its resolution.
TypeType of the problem. It's either the validation checking dependencies between tools, or a single tool issue.
Every issue comes with a context menu accessible by right-clicking the table row. Use this menu to access information about the
problem or to apply a quick fix where applicable. You can also copy the rows for later use by right-clicking the row and selecting
Copy or by using the Ctrl+C shortcut. You can use the Ctrl+left-click shortcut to add additional rows to the selection.
NOTE
Quick fix is only available for problems highlighted with the "lightbulb" icon.
Filter buttons are available on the right side of the Problems view ribbon.
Table 9. Filter buttons
ButtonDescription
Enables the Validate boot init only preference. See Configuration preferences section for details.
Filters messages in the Problems view. If selected, only problems for the active tool are displayed. See
Configuration preferences section for details.
2.7 Registers view
The Registers view lists the registers handled by the tool models. You can see the state of the processor registers that correspond
to the current configuration settings and also the state that is in the registers by default after the reset. The values of the registers
are displayed in the hexadecimal and binary form. If the value of the register (or bit) is not defined, an interrogation mark "?" is
displayed instead of the value.
NOTE
This view contains registers for the seleted tool. The view uses registers as internal parameters but it might not
handle all the register writes needed in the code. The register writes are done inside the SDK functions that are
called by the generated code. There might be additional registers accessed in the SDK code during the setup
process, and such register writes are not known to the tool and are not displayed in the registers view.
2.8 Log view
The Log view shows user-specific information about MCUXpresso Config Tools operations. The Log view can show up to 100
records across all tools in chronological order.
Each log entry consists of a timestamp, the name of the tool responsible for the entry, severity level, and the actual message. If
no tool name is specified, the entry was triggered by shared functionality.
You can filter the content of the Log view using the combo boxes to display only specific tool and/or severity level information.
Filters in different tools can be set independently.
Buffered log records are cleared using the clear button. This affects Log views across all tools.
Figure 15. Log view
2.9 Config tools overview
The Config Tools Overview provides you with general information about your currently active configuration, hardware, and project.
It also provides a quick overview of the used/active and unused/inactive tools, generated code, and functional groups. By default,
the Config Tools Overview icon is located on the left side of the toolbar.
Config Tools Overview contains several items.
Table 12. Config Tools Overview
ItemDescription
Configuration – General InfoDisplays the name of and the path to the MEX file of the current
configuration. Click the link to open the folder containing
the MEX file. To import additional settings, click the Import
additional settings into current configuration button.
Configuration – HW InfoDisplays the processor, part number, core, and SDK-version
information of the current configuration.
ProjectDisplays toolchain project information.
Pins/Clocks/Peripherals/TEE/Device ConfigurationDisplays basic information about the Pins, Clocks, Peripherals,
NOTE
If you have disabled a tool and want to reopen it, click the tool icon in the upper right corner or select it from the
Main Menu. The Config Tools Overview opens automatically.
To enable/disable the tools, click the toggle button. You can navigate to the tools by clicking their icons. Following information
about the tools is also available:
Table 13. Config Tools Overview
ItemDescription
Generated codeContains the list of source-code files. Click the links to open the files in the Code Preview view.
Functional groupsContains the list of the currently active functional groups. To select the groups in the Functional
groups tab in the toolbar, select the relevant links.
•
Figure 16. Config Tools Overview
NOTE
Unsupported tools are not displayed in the overview.
Pins tool is an easy-to-use tool for configuration of device pins. The Pins tool software helps create, inspect, change, and modify
any element of pin configuration and device muxing.
Figure 17. Pins tool
3.1 Pins routing principle
The Pins tool is designed to configure routing peripheral signals either to pins or to internal signals.
Internal signal is an interconnection node which peripheral signals can be connected to (without any pin interaction). Connecting
two peripheral signals to internal signal makes an interconnection of these two peripheral signals.
This routing configuration can be done in the following views:
• Pins
• Peripheral Signals
• Package
• Routing Details
Following two sections describe the two methods you can use to define the routing path.
3.1.1 Beginning with peripheral selection
You can select the peripheral in the Routing Details view and the Peripheral Signals view.
1. Select the Peripheral.
2. In Routing Details view, select one of the available Signals or expand the peripheral in Peripheral Signals view.
Items (pins/internal signals) in the Routed pin/signal column in the Routing Details view have following decorators:
• Exclamation mark and default text color indicates that such item selection causes a register conflict or the item cannot
be routed to the selected peripheral signal (some other peripheral signal can be).
• Exclamation mark and gray text color indicates that the item cannot be routed to any signal of the selected peripheral.
The item is available for different peripheral using the same signal.
NOTE
Route to field in Routing details view contains items that are connectable to the selected signal (without its
channel if applicable). So when selected signal is “GPIO, 6” then the Routed pin/signal provides items connectable
to “GPIO”.
3.1.2 Beginning with pin/internal signal selection
You can select a pin or an internal signal in the Routing Details view.
1. Select the pin/internal signal (Routed pin/signal).
2. Select one of the available Peripherals. In the Pins view, see all available peripherals/signals by selecting the checkbox in
the first column or scroll down to the required peripheral type.
3. For the selected peripheral, select one of the available Signals.
Pins Tool
Items in Peripheral column in Routing Details view have the following symbols:
• Exclamation mark and default text color indicates that such item selection can cause a register conflict or the item does
not support selected signal.
• Exclamation mark and gray text color indicates that the item cannot be routed to the selected pin/internal signal. The
item is available for different pin/internal signal using the same signal.
NOTE
In the Pins view and the Package view you can configure only pins and not internal signals.
3.1.3 Routing of peripheral signals
Peripheral signals representing on-chip peripheral input or output can be connected to other on-chip peripherals or to a pin through
an inter-peripheral crossbar. You can configure this connection in the Routing Details view.
Three types of peripheral signal routing are available:
1. Routing the signal from the output of an internal peripheral (A) into the input of another internal peripheral (B)
The signal leads from the output of one internal peripheral (A) to the input node of another internal peripheral (B). In other
words, signal leads from A to B (A > B). To configure a signal in this way, perform the following steps (PWM triggering ADC
(PWM > ADC) used as example):
a. Add a new row in the Routing Details view.
b. Select peripheral B from the drop-down list in the Peripheral column.
NOTE
It’s necessary to select the ADC peripheral where the signal leads to (input in ADC). It’s a limitation of the Pins tool
that the signal is not listed for the PWM peripheral (output). Notice the direction of the signal in the Arrow column.
2. Routing the signal from a pin on the package to internal peripheral input signal through an inter-peripheral crossbar
NOTE
Only if a crossbar switch is present.
The signal leads from a pin on the package (XB_IN) connected through an inter-peripheral crossbar, to an internal
peripheral (B) input node. In other words, the signal leads from XB_IN to B (XB_IN > B). To configure a signal in this way,
perform the following steps (routing pin 55 using XB_IN6 to EVTG0 input A (XB_IN6 > EVTG0) used as example):
a. Add a new row in the Routing Details view.
b. Select peripheral B from the drop-down list in the Peripheral column.
Pins Tool
Figure 22. Selecting the peripheral (B)>
c. Select the input node of peripheral B from the drop-down list in the Signal column.
The signal leads from internal peripheral (A) output to a pin connected through an inter-peripheral crossbar on the package
(XB_OUT). In other words, the signal leads from A to XB_OUT (A > XB_OUT). To configure a signal in this way, perform
the following steps (routing EVTG0 output to a pin 87 using XB_OUT4 used as an example):
a. Add a new row in the Routing Details view.
b. Select peripheral A from the drop-down list in the Peripheral column.
Pins Tool
Figure 26. Selecting the peripheral (A)
c. Select the input node of peripheral A from the drop-down list in the Signal column.
Figure 27. Selecting the output signal (A)
d. Select the XB_OUT pin from the drop-down list in the Route to column.