User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide4 / 143
NXP Semiconductors
Chapter 1
Introduction
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.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide5 / 143
NXP Semiconductors
Introduction
Figure 1. Desktop version of Pins tool
1.2 Tools localization
MCUXpresso Config Tools are available in English and Simplified Chinese only.
The locale of MCUXpresso Config Tools automatically copies the global settings of your computer.
To set the locale manually, add the following parameter to the command line:
tools.exe -nl zh
You can also set the locale in the tools.ini file by adding the following line:
-Duser.language=zh
NOTE
Setting your system locale to Chinese will automatically launch the tool with localized Chinese menu items, tool
tips, and help. You may need to delete the
items may be cached.
[home_dir]/.nxp
folder after switching languages because some menu
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide6 / 143
NXP Semiconductors
Chapter 2
User Interface
2.1 Start Development wizard
Upon starting MCUXpresso Config Tools, you are automatically welcomed by a startup wizard. With this wizard, you can create
a new configuration or open an existing one.
NOTE
To skip the wizard on subsequent startups, select the Always open last configuration checkbox below the Open an
existing configuration option. You can also perform the same action by selecting the Automatically open previously
used configuration checkbox in Preferences.
Figure 2. Start development wizard
NOTE
The content of this wizard is similar to the wizard you open by selecting File > New in the Menu bar.
2.2 Creating, saving, and opening a configuration
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:
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide7 / 143
NXP Semiconductors
User Interface
Table 2. Supported toolchain project files
ToolchainProject file
IAR EWEWP
MDK μVisionUVPROJX
ARM GCCCMakeLists.txt
2.2.1 Creating a new configuration
You can create a new configuration from the Start development wizard or by selecting File > New from the Menu bar.
If you start creating your development for any NXP board or kit, we recommended you start with an MCUXpresso SDK example
to create a new configuration for a board or a kit. Such configuration contains board-specific settings. If you select a processor,
the configuration will be empty.
After the new configuration is created, you can continue by importing an existing configuration from an MEX file. This is useful if
you already have a configuration available or if you want to reuse a previous configuration. To import an existing configuration from
an MEX file, select File > Import... > Import configuration (*.mex) from the Menu bar.
2.2.1.1 Cloning an SDK example
You can create a new configuration by cloning an SDK example project for IAR Embedded Workbench, Keil μVision and/or GCC
ARM Embedded (command line). The resulting project contains all source files and libraries to build the project and can be easily
customized, shared or put under control version system.
SDK example cloning is supported for MCUXpresso SDK 2.2 and higher.
NOTE
To be able to clone an SDK example or create a “hello_world” project, you must first download an SDK package.
For more information about SDK packages offered by NXP Semiconductors, refer to the MXUXpresso Software
Development Kit website.
NOTE
If the server is unavailable, and device data is not cached, creating the project will fail.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide8 / 143
NXP Semiconductors
User Interface
Figure 3. Cloning SDK
To clone an SDK example, do the following:
1. In the Start development wizard, select Create a new configuration based on an SDK example or hello world project.
Alternatively, in the Menu bar, select File > New.
2. Click Next.
3. Specify the path to your locally-saved SDK package.
4. Choose the toolchain you want to create the project for.
5. Choose the SDK example you want to clone.
6. Specify a base project directory to save your project to.
7. Specify project name.
8. Click Finish.
You can also create a basic, minimally-customized “hello_world” project without having to select an SDK example from the
package.To create a “hello_world” project, do the following:
1. In the Start development wizard, select Create a new configuration based on an SDK example or hello world project.
Alternatively, in the Menu bar, select File > New.
2. Click Next.
3. Specify the path to your locally-saved SDK package.
4. Choose the toolchain you want to create the project for.
5. Select Create “hello_world”.
6. Specify a base project directory to save your project to.
7. Specify project name.
8. Click Finish.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide9 / 143
NXP Semiconductors
User Interface
2.2.1.2 Creating a new toolchain configuration
You can create a configuration for an already existing toolchain project. Once done, configuration files associated with the project
will be updated directly.
MCUXpresso Config Tools currently supports the following toolchains:
• MCUXpresso IDE
• Codewarrior
• IAR Embedded Workbench
• Keil MDK uVision
• ARM GCC
To create a configuration based on an existing IDE/Toolchain project, do the following:
1. In the Start development wizard, select the Create a new configuration based on an existing IDE/Toolchain projectelect
Create a new configuration based on an SDK example or hello world project. Alternatively, in the Menu bar, select File
> New.
2. Click Browse.
3. Select the project file and confirm by clicking OK.
4. Click Finish.
2.2.1.3 Creating a new standalone configuration
You can create a new configuration that isn’t part of any toolchain project.
You can later include this configuration in a project by saving the configuration (MEX) file in the toolchain project folder.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide10 / 143
NXP Semiconductors
User Interface
Figure 4. Creating a new configuration
To create a standalone configuration, do the following:
1. In the Start development wizard select Create new standalone configuration for processor, board or kit. Alternatively, in the
Menu bar, select File > New.
2. Click Next.
3. Select the processor, board, or kit from the list.
NOTE
If you’re working offline, you will only see locally-saved options. For more information, see the Working
offline section.
4. Name your configuration. Optionally, you can select processor package, core, and SDK version.
5. Click Finish.
2.2.2 Saving a configuration
To save your configuration for future use, select File>Save from the Menu bar.
To save a back-up of your configuration, do the following:
1. In the Menu bar, select File>Save Copy As.
2. In the dialog, specify the name and destination of the configuration.
3. Click Save.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide11 / 143
NXP Semiconductors
User Interface
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 3. Supported toolchain project files
ToolchainProject file
IAR EWEWP
MDK μVisionUVPROJX
ARM GCCCMakeLists.txt
2.2.3 Opening an existing configuration
To open an already existing configuration, do the following:
1. In the Start development wizard, select Open an existing configuration. Alternatively, in the Menu bar, select File > Open.
2. Click Browse to navigate to your configuration file.
3. Select the configuration file and click Open.
4. Optionally, select Always open last configuration to skip the Start development wizard and load the last-saved configuration
by default.
2.2.4 User templates
You can export and store the current configuration as a user template for later use as a reference configuration file.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide12 / 143
NXP Semiconductors
User Interface
Figure 5. Export template
The exported template is available in the New Configuration wizard and can be used to create a new configuration. You can also
define custom labels for pins or identifiers prefixes for #define in generated code. You can export the configuration by selecting,
in the Menu bar, File > Export > Tools Configuration > Export Configuration as Template.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide13 / 143
NXP Semiconductors
User Interface
Figure 6. Create a new configuration from the template
NOTE
The templates are stored in at the following location on your local hard disk: {$user}/.nxp/{tools_folder}/
{version}/templates.
2.2.5 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.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide14 / 143
NXP Semiconductors
User Interface
Figure 7. Import Source wizard
3. Click Next.
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.
2.2.5.1 Importing configuration
To import an existing configuration from an MEX file, do the following:
1. In the Menu bar, select File > Import...>.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide15 / 143
NXP Semiconductors
User Interface
2. In the Import wizard, select MCUXpresso Config Tools > Import configuration (*.mex).
3. Click Next.
4. On the next page, click Browse to specify the location of the registers file.
5. Select the MEX 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.
Figure 8. Import configuration
2.2.5.2 Importing registers
You can import register configuration from a processor memory dump.
NOTE
Currently, register configuration can be imported into the Clocks tool only.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide16 / 143
NXP Semiconductors
A processor memory-dump file in the CSV or S19 format is required for importing register configuration.
Figure 9. Import Registers
NOTE
User Interface
To import register configuration, do the following:
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide17 / 143
NXP Semiconductors
User Interface
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 10. 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.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide18 / 143
NXP Semiconductors
User Interface
2.2.6 Restoring configuration from source code
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 11. 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.3 Menu bar
The Menu bar contains five menus: File, Edit, Tools, Views, Help and a tool-specific menu.
The File menu contains file management items.
Table 4. File menu
Menu itemDescription
New...Create a new configuration. For more information, see the Configuration section.
OpenOpen a configuration from an MEX file.
SaveSave current configuration.
Save Copy As...Create a backup copy of the current configuration.
Table continues on the next page...
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide19 / 143
NXP Semiconductors
User Interface
Table 4. File menu (continued)
Menu itemDescription
Switch processorSwitch to a different processor. For more information, see the Switching processor section.
Switch packageSwitch to a different processor package. For more information, see the Switching
processor section.
Select CoreSelect a processor core for further configuration.
Data ManagerManage local data. For more information, see the Managing data and working offline section.
Import...Import settings from source files. For more information, see the Advanced Features section.
Export...Export source files and other tool information. For more information, see the Advanced
Features section.
ExitExit the application. If there are any unsaved changes, you are prompted to save the changes.
The Edit menu contains basic editing actions as well as items modifying the appearance and behavior of the whole framework.
Table 5. Edit menu
Menu itemDescription
Open Update Code DialogUpdate code after configuration change. For more information, see the
Update code section.
Undo (...)Cancel a previous action. The action to be undone is always appended.
Redo (...)Cancel a previous undo action. The action to be redone is always appended.
CopyCopy the selected text to the clipboard.
Select AllSelect the whole text in the current field/view.
Call from default initialization functionSet the currently selected functional group to be called from the default
initialization function.
Functional Group PropertiesEdit functional group properties.
PreferencesEdit preferences. For more information, see the Preferences section.
Configuration PreferencesEdit configuration preferences. For more information, see the Configuration
Preferences section.
The Tools menu lists all the tools available in the tools framework. Use this menu to switch between the tools.
The Tool-specific menu contains items tailor-made for individual tools. Only items pertinent to the currently active tool are
displayed. The menu name copies the name of the currently active tool.
Table 6. Tool-specific menu
ItemDescription
Functional GroupsOpen the Functional group properties window.
RefreshRefresh both the generated code and the whole GUI.
Reset to Board DefaultsReset the configuration of the Board/Kit defaults.
Reset to Processor DefaultsReset the configuration of the processor's defaults.
Table continues on the next page...
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide20 / 143
NXP Semiconductors
User Interface
Table 6. Tool-specific menu (continued)
ItemDescription
Automatic Routing (Pins)Attempt to resolve routing issues. Opens the Automatic Routing dialog,
which displays routing issues that have been resolved and those which
require manual correction.
Apply Expansion Board (Pins)Apply an expansion board to an already created expansion header
Unlock All Settings (Clocks)Unlock all currently active locks.
Unlock Settings on the Active Path (Clocks)Unlock all settings on the selected path.
Global Settings (Peripherals)Open a tab aggregating global settings of all configuration sets.
Open dialog to customize initialization
Open a dialog for customization of peripheral initialization order.
order (Peripherals)
Clear All Commands (Device Configuration)Remove all entered commands.
The Views menu contains a tool-specific list of available views. Select a view from the list to open it. Select an already opened
view to highlight it. Choose Reset views to reset the current tool perspective to its default state.
The Help menu contains assistance and general information-related items.
Table 7. Help menu
ItemDescription
ContentsDisplay the User Guide.
Quick Start guideOpen a PDF file of the Quick Start guide.
Release NotesDisplay release notes of the installed version.
CommunityDisplay web pages of the product-related community forums.
Processor InformationDisplay web pages containing information about the currently
used processor.
Kit/Board InformationDisplay web pages containing information about the currently
used board or kit.
Open SDK APIDisplay documentation of the relevant SDK API.
Check for updatesCheck for a newer version of the product. If a new version
is available, you are promopted to confirm and perform
the update
Open Cheat SheetDisplay a cheat sheet to help with using the tools. You can also
load a cheat sheet from a file, or from a URL.
AboutDisplay general product information.
2.4 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.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide21 / 143
NXP Semiconductors
User Interface
Table 8. 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
directly within specified toolchain project.
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.4.1 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.4.2 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.4.3 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.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide22 / 143
NXP Semiconductors
User Interface
Figure 12. Update Files window
To inspect the code difference between the versions, click the change link.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide23 / 143
NXP Semiconductors
User Interface
Figure 13. Show differences
To update the project without opening the Update Files dialog, deselect the Always show details before Update Code checkbox.
To access the Update Code dialog from the Update Code dropdown menu, select Open Update Code Dialog.
Figure 14. Update Code dropdown menu
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide24 / 143
NXP Semiconductors
User Interface
NOTE
The generated code is always overwritten.
NOTE
Before the current file is overwritten, it's copied with a BAK extension.
The Update Code action is enabled under following conditions:
• MEX configuration file is saved locally
• 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.4.4 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 15. Functional groups
You can use two additional buttons to further configure functional groups:
Table 9. 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.4.4.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.
• Clock gate enable
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide25 / 143
NXP Semiconductors
User Interface
Figure 16. Functional group properties for the Pins tool
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide26 / 143
NXP Semiconductors
User Interface
Figure 17. Functional group properties for the Clocks tool
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide27 / 143
NXP Semiconductors
User Interface
Figure 18. Functional group properties for Peripherals Tool
2.4.5 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 10. Undo/reto actions
IconDescription
Cancels the previous action
Cancels the previous undo action
2.4.6 Selecting the tools
Buttons on the extreme right-hand side of the toolbar represent available tools. Click the icons to quickly navigate between Pins,
Clocks, Peripherals, Device Configuration, and TEE tools.
2.5 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.
2.6 Preferences
To configure preferences in the Preferences dialog, select Edit>Preferences from the Menu bar.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide28 / 143
NXP Semiconductors
NOTE
You can restore settings to default by selecting Restore Defaults in the lower right corner of the dialog.
User Interface
Figure 19. Preferences
Several settings are available.
Table 11. Preferences
ItemDescription
Line ending styleSelect between Windows (CR + LF), Linux/Mac (LF), or Default
(based on host).
Generate files read-onlyPrevent modifying the source files unintentionally. Generated
source files are marked as read-only.
Generate source folderAt build time, automatically create a folder including
source files.
Create empty configuration if no yaml is availableGenerates a configuration even if no yaml is present.
Table continues on the next page...
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide29 / 143
NXP Semiconductors
User Interface
Table 11. Preferences (continued)
ItemDescription
Always overwrite files without askingUpdate existing files automatically, without prompting.
Always show details before Update CodeReview changes before the project is updated.
Undo history sizeEnter the maximum number of steps that can be undone. Enter
0 to disable.
Proxy connection
• Direct – Connect directly and avoid a proxy connection.
• Native – Use system proxy configuration for
network connection.
NOTE
The proxy settings are copied from operating
system settings. In case of error, you can specify
proxy information in the tools.ini file, located in the
<install_dir>/bin/ folder. Make sure the file contains
the following lines:
— Djava.net.useSystemProxies=true (already
present by default)
— Dhttp.proxyHost=<somecompany.proxy.net>
— Dhttp.proxyPort=80
NOTE
Authentication is
not supported.
Work OfflineDisable both the connection to NXP cloud and the download of
processor/board/kit data.
Processor data updateSelect from the following options:
• Auto Update – Update the processor data automatically.
• Manual – Update processor data after confirmation.
• Disabled – Disable processor data update.
Show pin label & identifier table columns (Pins tool)Select to show the pin label and the label identifier in the
relevant views.
Show Overview window on opening configuration for the
first time
Open the Overview dialog on opening configuration for the
first time.
Help us to improve the toolSend device-configuration and tool-use information to NXP.
Sending this information to NXP helps fix issues and improve
the tools
Automatically load last configuration on startupAvoid the startup window and load the last used
configuration instead.
2.6.1 Appearance
In the Appearance window, you can configure the look and feel of the user interface.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide30 / 143
NXP Semiconductors
User Interface
Figure 20. Appearance
Following options are available:
• Enable theming (requires restart)
• Theme
• Color and Font Theme
• Enable animations
• Used mixed fonts and colors for labels
• Show most recently used tabs
Additionally, you can select the Colors and Fonts sub-window to further specify the appearance of interface elements.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide31 / 143
NXP Semiconductors
User Interface
Figure 21. Colors and Fonts
2.7 Configuration preferences
In the Configuration preferences window, you can set your preferences for to the configuration storage file (MEX).
To configure the preferences related to the configuration, select Edit > Configuration Preferences from the Menu bar.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide32 / 143
NXP Semiconductors
User Interface
Figure 22. Configuration Preferences
Several preferences are available.
•
Table 12. 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.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide33 / 143
NXP Semiconductors
User Interface
2.8 Problems view
The Problems view displays issues in individual tools and in the inter-dependencies between the tools.
Figure 23. 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:
Table 13. Problems view
ItemDescription
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 14. 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.9 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
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide34 / 143
NXP Semiconductors
User Interface
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.
Figure 24. Registers view
The Registers view contains several items.
Table 15. Registers
ItemDescription
Peripheral filter drop-down listList the registers only for the selected peripheral. Select all to list registers for
all the peripherals.
Show modified registers only chekboxHide the registers that are left in their after-reset state or are not configured.
Text filterFilter content by text.
The following table lists the color highlighting styles used in the Registers view.
Table 16. Color codes
ColorDescription
Yellow
Indicates that the bit-field has been affected by the last change made in the tool.
background
Gray text colorIndicates the bit-field is not edited and the value is the after-reset value.
Black textIndicates the bit-fields that the tool modifies.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide35 / 143
NXP Semiconductors
User Interface
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.10 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 25. Log view
2.11 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 opens automatically when you create and open a new configuration. You can disable this behavior in
the Preferences.
Config Tools Overview contains several items.
Table 17. 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.
Table continues on the next page...
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide36 / 143
NXP Semiconductors
User Interface
Table 17. Config Tools Overview (continued)
ItemDescription
Pins/Clocks/Peripherals/TEE/Device ConfigurationDisplays basic information about the Pins, Clocks, Peripherals,
TEE and Device Configuration tools.
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 18. 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.
• To open a tool-specific overview, select Views > Overview from the main menu.
Figure 26. Config Tools Overview
NOTE
Unsupported tools are not displayed in the overview.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide37 / 143
NXP Semiconductors
Chapter 3
Pins Tool
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 27. 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 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.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide38 / 143
NXP Semiconductors
Pins Tool
3. For the selected peripheral, select one of the available Signals.
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.2 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.
Figure 28. Selecting the peripheral (B)
c. Select the input node of peripheral B from the drop-down list in the Signal column.
Figure 29. Selecting the input node (B)
d. Select the output signal of peripheral A from the drop-down list in the Routed pin/signal column.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide39 / 143
NXP Semiconductors
Figure 30. Selecting the output signal
Once the configuration is done, the row will look like this:
Figure 31. Result
Pins Tool
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.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide40 / 143
NXP Semiconductors
Figure 32. Selecting the peripheral (B)>
Pins Tool
c. Select the input node of peripheral B from the drop-down list in the Signal column.
Figure 33. Selecting the input node (B)
d. Select the XB_IN pin from the drop-down list in the Routed pin/signal column.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide41 / 143
NXP Semiconductors
Figure 34. Selecting the pin
Once the configuration is done, the row will look like this:
Pins Tool
Figure 35. Result
NOTE
In this example, GPIOF0 is multiplexed with XB_IN6, QTimerB channel 2 output/input and QSPI1 SCLK signal. In
this case, the tool will automatically pick XB_IN6 for the pin as XB_IN6 is the only option to be routed to EVTG0
input A.
3. Routing the signal from internal peripheral (A) output to a pin via inter-peripheral crossbar
NOTE
Only if a crossbar switch is present.
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.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide42 / 143
NXP Semiconductors
Figure 36. Selecting the peripheral (A)
Pins Tool
c. Select the input node of peripheral A from the drop-down list in the Signal column.
Figure 37. Selecting the output signal (A)
d. Select the XB_OUT pin from the drop-down list in the Route to column.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide43 / 143
NXP Semiconductors
Figure 38. Selecting the pin
Once the configuration is done, the row will look like this:
Pins Tool
Figure 39. Result
NOTE
In this example, GPIOC14 is multiplexed with XB_OUT4, SDA of I2C0 and fault4 of eFlexPWMA. In this case, the
tool will automatically configure XB_OUT4 for the pin GPIOC14 (pin 87) as XB_OUT4 is the only option for EVTG0
output A.
3.2 Example workflow
This section lists the steps to create an example pin configuration, which can then be used in a project.
In this example, three pins (UART3_RX, UART3_TX and PTB20) on a board are configured.
You can use the generated files with the application code.
1. In the Pins view on the left, select the UART3_RX and TX signals. For this, you can click into the cells to make them ‘green’.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide44 / 143
NXP Semiconductors
Pins Tool
Figure 40. Configuring signals in the Pins view
2. In the Routing Details view, select the Output direction for the TX and PTB20 signals.
Figure 41. Selecting direction
NOTE
For GPIO peripherals, you can set the Direction by clicking the cell and selecting from the drop-down menu. If you
select Output you can also set GPIO initial state by clicking the cell in the GPIO initial state column. If you select
Input you can also set GPIO interrupt by clicking the cell in the GPIO interrupt column.
3. The Pins tool automatically generates the source code for pin_mux.c and pin_mux.h on the right panel of Code Preview.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide45 / 143
NXP Semiconductors
Pins Tool
Figure 42. Generated code
4. You can now copy-paste the content of the source(s) to your application and IDE. Alternatively, you can export the
generated files or update the code with the Update Code button in Toolbar. To export the files, select File > Export (in the
desktop version) or select the menu Pins > Export menu (in the Web version). In the Export dialog expand the tree control
for the tool you want to export sources for and select the Export Source Files option. Export, select the Export Source
Files option.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide46 / 143
NXP Semiconductors
Pins Tool
Figure 43. Export
5. Click Next and specify the directory for each respective core (in multicore configuration) where you want to store the
exported files for each individual core (in case of multicore configuration).
6. Click Finish to export the files.
7. Integrate and use the exported files in your application as source files.
3.3 User interface
The Pins tool consists of several views.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide47 / 143
NXP Semiconductors
Figure 44. Pins tool user interface
Pins Tool
Figure 45. Selecting power group
NOTE
Power Groups are not supported for all processors.
3.3.1 Pins view
The Pins view shows all the pins in a table format.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide48 / 143
NXP Semiconductors
Pins Tool
Figure 46. Pins table view
This view shows the list of all the pins available on a given device. The Pin name column shows the default name of the pin, or
if the pin is routed. The pin name is changed to show appropriate function for selected peripheral if routed. The next columns of
the table shows peripherals and pin name(s) on given peripheral. Peripherals with few items are cumulated in the last column.
To route/unroute a pin to the given peripheral, select the relevant cell in the Pin column. Routed pins are highlighted in green. If
a conflict in routing exists, the pins are highlighted in red.
Every routed pin appears in the Routed pins table.
When multiple functions are specified in the configuration, the Pins view shows pins for selected function primarily. Pins for
different functions are shown with light transparency and cannot be configured until switched to this function.
Select a row to open a drop-down list that offers the following options:
• Route/Unroute the pin.
• Highlight the pin in the Package view.
• Set the label and identifier for the pin.
• Add a comment to the pin. You can later inspect the comment in the Code Preview view.
TIP
The option to route more signals to a single pin is indicated by an ellipsis (...). Select the cell to open a dialog to
choose from multiple available signals. The dialog also displays which signals are routed by default.
3.3.2 Package view
The Package view displays the processor package. The processor package provides an overview of the package including
resource allocation.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide49 / 143
NXP Semiconductors
Pins Tool
Figure 47. Processor package
This view shows package overview with pins location. In the center are the peripherals.
To highlight the pin/peripheral configuration in the Pins and Routing Details views, right-click the pin or peripheral and
select Highlight.
For BGA packages, use the Resources icon to see them.
• Green color indicates the routed pins/peripherals.
• Gray color indicates that the pin/peripheral is not routed.
• Dark Gray color indicates that the pin/peripheral is dedicated. It is routed by default and has no impact on generated code.
The view also shows the package variant and the description (type and number of pins).
The following icons are available in the toolbar:
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide50 / 143
NXP Semiconductors
Table 19. Toolbar options
IconDescription
Zoom in package image.
Zoom out package image.
Rotate package image.
Show pins as you can see it from the bottom. This option is available on BGA packages only.
Show pins as you can see it from the top. This option is available on BGA packages only.
Show resources. This option is available on BGA packages only.
Switch package.
Package legend.
Pins Tool
NOTE
Depending on the processor package selected, not all views are available.
The Switch package icon launches Switch package for the Processor.
Figure 48. Switch package
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide51 / 143
NXP Semiconductors
Pins Tool
The Switch package for the Processor window shows list of available processor packages, showing package type and number
of pins.
3.3.3 Peripheral Signals view
The Peripheral Signals view shows a list of peripherals and their signals. Only the Peripheral Signals and Pins view show the
checkbox (allocated) with status.
Table 20. Status codes
Color codeStatus
Error
Configured
Not configured
Warning
Dedicated: Device is routed by default and has no impact on the generated code.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide52 / 143
NXP Semiconductors
Pins Tool
Figure 49. Peripheral Signals view
Use the checkbox to route/unroute the pins.
To highlight the pin/routing configuration about the peripheral in the Package and Routing Details views, right-click the signal and
select Highlight.
To route/unroute multiple pins, click the peripheral and select the options in the Select signals dialog.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide53 / 143
Show pins not routed
Show dedicated pins
Show routed pins
Show pins with
analog signals
Show pins with low leakage power mode
wake-up capability
Show pins with
digital signals
Show pins with input signals
Show only pins with
interrupt capability
Show pins with
output signals
Show pins with
input/output signals
NXP Semiconductors
Pins Tool
Figure 50. Select signals dialog
3.3.3.1 Filtering in the Pins and Peripheral Signals views
The following image illustrates the filtering controls in the Pins and Peripheral Signals views.
Figure 51. Filtering Controls
Type any text to search across the table/tree. It will search for the pins/peripheral signals containing the specified text. You can
also use wildcards "*" and "?" to help you filter results you want. Use "space" to search for multiple strings at the same time.
User's Guide54 / 143
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
NXP Semiconductors
Pins Tool
3.3.4 Routing Details view
In the Routing Details view, you can inspect and configure routed pins and internal signals. You can also configure the electrical
properties of pins and view them. It displays the pad configuration available in a configuration where each pin is associated with
the signal name and the function.
NOTE
The electrical features are configured only for pins in the table. For example, the routed pins.
The table is empty when a new configuration is created, which means no pin is configured. Each row represents configuration of
a single pin and if there are no conflicts, then the code is immediately updated. For Boards/Kits the pins are routed already.
Figure 52. Routing Details
Add a new row with the Add new row button in the view toolbar.
Configure the pin/signal by selecting the Peripheral first, then the required Signal, and finally, the pin to Route to.
Use the columns in the right side of the table to configure the electrical features.
You can also use the Pins and Peripheral Signals views to route pins and peripheral signals and view/modify the configuration in
the Routing Details view. If the feature is not supported,
n/a
is displayed.
To highlight peripheral/pin information in the Package and Pins views, right-click the row and select Highlight.
To filter rows, type the text or the search phrase in the filter area in the view toolbar.
NOTE
When you enter the search text, it also searches the text in the full pin names displays rows that contain the
search text.
To display pins or signals only, use the Pins and Signals buttons in the view toolbar.
To add a new row to the end of table, click on the Add new row button.
To remove the selected row, click on the Delete the selected row button.
To delete a specific row or insert a new row at a given position, right-click and use the dropdown list commands.
To add a specific number of rows, enter the number in the field.
To clear the table, type 0.
To change the order of the rows, use the arrow icons to move one row up or down.
To filter table entries by text, enter the text string in the type filter text field.
To copy the row, right-click any cell in the row and select Copy. You can later paste the copied row into the Routing Details view
of another functional group or configuration by right-clicking the table and choosing Paste.
The gray background indicates read-only items.
The italic value indicates that the value is not configured and it shows the after-reset value and no code is generated, so the
configuration relies on the after reset value or the values configured from the different functions.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide55 / 143
NXP Semiconductors
Pins Tool
TIP
• The value shown using italic indicates the after-reset value. The real value may be different from the after reset
value, if configured in other functions.
Use the drop-down menu to select the required value.
• If you select the same value as the after-reset value, the tool will always generate code to set this feature.
Use the drop-down "Reset" value to reset the value to its after-reset state.
• If an item does not support reset to after reset value, the Reset menu is not available.
• The first row shows pin number or coordinate on BGA package.
3.3.4.1 Labels and identifiers
You can define the label of any pin that can be displayed in user interface for ease of identification.
Boards and kits have pre-defined labels. However, it's also possible to define a pin label listed in the Pins and Routing
Details views.
To set\update the Labels and Identifier columns visibility, select Edit > Preferences from the Menu bar, and select the Show pin
label & identifier table columns (Pins tool) checkbox.
The pin identifier is used to generate the #define in the pin_mux.h file. However, it's an optional parameter. If the parameter is
not defined, the code for #define is not generated. Additionally, you can define multiple identifiers, using the “;” character as a
separator. You can also set the identifier by typing it directly into the cell in the Identifier column in the Routing Details views.
Figure 53. Pin identifier
In this case it's possible to select from values if the pin is routed. See Routing Details.
Figure 54. Identifier in Routing Details table
A check is implemented to ensure whether the generated defines are duplicated in the pin_mux.h file. These duplications are
indicated in the identifier column as errors. See Identifier errors.
Figure 55. Identifier errors
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide56 / 143
NXP Semiconductors
Pins Tool
You can also select the pin to use in a given routing from the Routing Details view. However, the identifier must be a valid C
identifier and should be used in the source code.
Figure 56. Pins macros prefix
If multiple functions are used, each individual function can include a special prefix. Check the Pins > Functional Group Properties
> Set custome #define prefix checkbox to enter prefix of macros in particular function used in the generated code of the pin_mux.h
file. Entered prefix text must be a C identifier. If unchecked, the Function name is used as a default prefix.
3.3.5 Expansion Header
In the Expansion Header view, you can add and modify an expansion header configuration, map the connectors, and route the
pin signals. You can also import and apply an expansion board to the header.
Certain boards, such as LPCXpresso55S69, come with preconfigured expansion headers.
Figure 57. Expansion header
The expansion header is not automatically preset for every supported device. If the header is not preconfigured, follow these steps
to create and modify an expansion header configuration:
1. Open the view by selecting Views>Expansion Header from the Toolbar.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide57 / 143
NXP Semiconductors
2. Add a new header by selecting the Add button in the view toolbar.
3. In the Add New Expansion Header window, select the Header type from the drop-down list.
Pins Tool
Figure 58. Adding new expansion header
4. Name the header and map the connectors.
Figure 59. Adding new expansion header
5. Select OK.
Expansion Header view now displays the connector layout. You can point your cursor over the pins to display additional
information. Right-click the pin to display a shortcut menu of additional options.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide58 / 143
NXP Semiconductors
Pins Tool
Figure 60. Expansion header
6. To map the header pin to processor pin, right-click the header pin and select Connect.
7. In the Connector Pin dialog, select the processor pin/external signal from the list and click OK.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide59 / 143
NXP Semiconductors
Pins Tool
Figure 61. Connected pin
8. To route the pin, right-click the header pin and select Route.
9. In the Pin dialog, select the signal from the list and click OK.
The connector pin is now routed.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide60 / 143
NXP Semiconductors
Pins Tool
Figure 62. Routed pin
You can create more than one expansion header configuration. Switch between the configurations in the view's
drop-down list.
To highlight the pin/routing configuration in the Pins and Routing Details views, right-click the connector pin and
select Highlight.
Modify the configuration parameters at any time by selecting the Edit button. Information in the Pins view is
updated automatically.
Remove a configuration by selecting the Remove button.
Use the Label drop-down list to switch between display information for header, board, and routing.
3.3.5.1 Expansion Board
In the Expansion Header view, you can also apply an expansion board to an already created expansion header. The expansion
board configuration can be imported into Pins tool in the form of an XML file. Based on the chosen processor, the tool will then
recommend adequate routing.
NOTE
Only a single expansion board can be configured per expansion header.
1. In the Expansion Header view, click the Apply expansion board to the selected header. Alternatively, select Pins>Apply
expansion board from the Menu bar.
2. In the Apply expansion board dialog, click Browse to locate the XML file with expansion board information and click OK.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide61 / 143
NXP Semiconductors
Figure 63. Apply expansion board
3. Click OK to apply the expansion board.
Pins Tool
4. On the next page, choose if you want to create a new functional group for the expansion board, or modify an existing
functional group. In the latter case, use the dropdown list to select from available functional groups.
5. In the Expansion Board Routing table, inspect the suggested routing of expansion board pins. If you want to change the
route of a pin, click the pin cell in the Route column and select the signal in the Connector pin dialog and click Done.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide62 / 143
NXP Semiconductors
Pins Tool
Figure 64. Expansion board routing
6. Choose how you want to populate identifiers for code. Following options are available:
• Expansion header names
• Expansion board names
• None
7. Click Apply to apply the settings.
You can change the expansion board signal routing at any time by clicking the Configure routing for expansion board button
in the Expansion Header view.
3.3.6 Power groups
If your processor supports power groups, an additional tab will appear next to Pins and Peripheral Signals.
NOTE
This feature is not supported for all devices.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide63 / 143
NXP Semiconductors
Pins Tool
Figure 65. Selecting power group
3.3.7 Highlighting and color coding
You can easily identify routed pins/peripherals in the package using highlighting. By default, the current selection (pin/peripheral)
is highlighted in the Package view.
• The pin/peripheral is highlighted by yellow border around it in the Package view. If the highlighted pin/peripheral is selected
then it has a blue border around it.
• Red indicates that the pin has an error.
• Green indicates that the pin is muxed or used.
• Light grey indicates that the pin is available for mux, but is not muxed or used.
• Dark gray indicates that the pin/peripheral is dedicated. It is routed by default and has no impact on generated code.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide64 / 143
Highlighted
peripheral
Unallocated
peripheral
Peripheral
with error
Routed pin
Unrouted pin
Highlighted
unrouted pin
Pin with error
Dedicated pin
Dedicated
peripheral
Allocated
peripheral
NXP Semiconductors
Pins Tool
Figure 66. Highlighting and color coding
Figure 67. Pins conflicts
Figure 68. Warnings
• Package view
— Click on the peripheral or use the pop-up menu to highlight peripherals:
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide65 / 143
NXP Semiconductors
Pins Tool
◦ and all allocated pins (to selected peripheral).
◦ or all available pins if nothing is allocated yet.
— Click on the pin or use the pop-up menu to highlight the pin and the peripherals.
— Click outside the package to cancel the highlight.
• Peripherals / Pins view
— The peripheral and pin behaves as described above image.
NOTE
The tool highlights pins during the drop-down menu traversal on pins.
3.4 Errors and warnings
The Pins Tool checks for any conflict in the routing and also for errors in the configuration. Routing conflicts are checked only for
the selected functionor across all INIT functions (default initialization functions) if the function is configured as INIT function. It is
possible to configure different routing of one pin in different functions to allow dynamic pins routing re-configuration.
Figure 69. Error and warnings
If an error or warning is encountered, the conflict in the Routing Details view is represented in the first column of the row
and the error/warning is indicated in the cell, where the conflict was created. The first two rows in the figure above show the
peripheral/signal where the erroneous configuration occurs. The fourth row shows the warning on the unconfigured identifier while
specifying a direction. The detailed error/warning message appears as a tooltip.
For more information on error and warnings color, see the Highlighting and Color Coding section.
3.4.1 Incomplete routing
A cell with incomplete routing is indicated by a red background. To generate proper pin routing, click on the drop down arrow and
select the suitable value. A red decorator on a cell indicates an error condition.
Figure 70. Incomplete routing
The tooltip of the cell shows more details about the conflict or the error, typically it lists the lines where conflict occurs.
You can also select Pins > Automatic Routing from the Main menu to resolve any routing issues.
NOTE
Not all routing issues can be resolved automatically. In some cases, manual intervention is required.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide66 / 143
NXP Semiconductors
Pins Tool
3.5 Code generation
If the settings are correct and no error is reported, the code generation engine instantly re-generates the source code. You can
view the resulting code the Code Preview view of the Pins tool.
Code Preview automatically highlights differences between the current and immediately preceding iteration of the code. You
can choose between two modes of highlighting by clicking the Set viewing style for source differences. You can also disable
highlighting altogether from the same dropdown menu.
For multicores, the sources are generated for each core. Appropriate files are shown with @Core #{number} tag.
NOTE
The tag name may be different depending on the selected multi-core processor family/type.
You can also copy and paste the generated code into the source files. The view generates code for each function. In addition to
the function comments, the tool configuration is stored in a YAML format. This comment is not intended for direct editing and can
be used later to restore the pins configuration.
Figure 71. Generated code
YAML configuration contains configuration of each pin. It stores only non-default values.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide67 / 143
NXP Semiconductors
Pins Tool
TIP
For multicore processors, it will generate source files for each core. If processor is supported by SDK, it can
generate BOARD_InitBootPins function call from main by default. You can specify "Call from BOARD_InitBootPins"
for each function, in order to generate appropriate function call.
3.6 Using pins definitions in code
The Pins tool generates definitions of named constants that can be leveraged in the application code. Using such constants based
on user-specified identifiers allows you to write code which is independent of configured routing. In the case you change the pin
where the signal is routed, the application will still refer to the proper pin.
The name of the define is composed from function group prefix and pin identifier. For more details. see Functional groups and
Labels and identifiers sections.
To write to this GPIO pin in application using the SDK driver (fsl_gpio.h), you can for example use the following code referring to
the generated defines for the pin with identifier
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide68 / 143
NXP Semiconductors
Chapter 4
Clocks Tool
The Clocks Tool configures initialization of the system clock (core, system, bus, and peripheral clocks) and generates the C code
with clock initialization functions and configuration structures.
4.1 Features
The Clocks tool allows you to perform various actions related to the Clock initialization, among them the following:
• Inspect and modifies element configurations on the clock path from the clock source up to the core/peripherals.
• Validate clock elements settings and calculates the resulting output clock frequencies.
• Generate a configuration code using the SDK.
• Modify the settings and provides output using the table view of the clock elements with their parameters.
• Navigate, modify, and display important settings and frequencies easily in Diagram view.
• Edit detailed settings in Details view.
• Inspect the interconnections between peripherals and consuming clocks in Module Clocks view.
• Find clock elements settings that fulfills given requirements for outputs.
• Fully integrated in tools framework along with other tools.
• Shows configuration problems in Problems view and guides the user for the resolution.
4.2 User interface
The Clocks tool is integrated and runs within the MCUXpresso Config Tools framework.
Figure 72. User interface
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide69 / 143
NXP Semiconductors
4.3 Details view
The Details view displays and allows you to change clock-element settings information.
The information is also updated in real-time based on any changes in the Clocks Diagram and Clocks Table.
Clocks Tool
Figure 73. Details view
In the Details view, you can perform the following actions:
• Display clock-element information - Point the mouse cursor at the clock element to display general clock-element information.
• View the clock-element in Clocks Diagram or Clocks Table - Left-click on a clock element to highlight it in the Clocks Diagram
or Clocks Table views, depending on which is currently active.
• View detailed clock-element information - Double-click on a clock element to display element details, as well as highlight the
element in Clocks Diagram or Clocks Table, depending on which is currently active. You can also view element details by
clicking the Open in new window button in the upper right corner of the Details view.
• Modify clock-element settings - Left-click in the Value column to change clock element value, such as frequency, or select an
option from the dropdown menu.
• Lock/unlock clock elements - Right-click on a clock element to lock/unlock the element.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide70 / 143
NXP Semiconductors
Clocks Tool
• Filter for active/locked/erroneous clock elements - Use the buttons in the upper-right corner of the Details view to filter for
active/locked/erroneous clock elements, or to remove all current filters.
4.4 Clock Consumers view
The Clock Consumers view provides an overview of peripheral instances. It also provides information on clock-clock instance
pairing. This view is not editable and is for information only.
NOTE
Information about which peripherals are consuming which output clock is available in the clock output tooltip.
Figure 74. Clock Consumers view
4.5 Clocks diagram
The clocks diagram shows the structure of the entire clock model, including the clock functionality handled by the tool. It visualizes
the flow of the clock signal from clock sources to clock output. It's dynamically refreshed after every change and always reflects
the current state of the clock model.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide71 / 143
NXP Semiconductors
At the same time it allows you to edit the settings of the clock elements.
Clocks Tool
Figure 75. Clocks diagram
4.5.1 Mouse actions in diagram
You can perform the following actions in the Clock diagram view.
• Position the mouse cursor on the element to see the tooltip with the information on the clock element such as status,
description, output frequency, constraints, and enable/disable conditions.
• Single-click on output frequency or scale to change output frequency or scale.
• Single-click on lock to remove the lock.
• Double-click on the element to show its settings in the Details view (force to open the view if closed or not visible).
• Single-click on the element to show its settings in the Details view.
• Single-click on a selected Clock source to display a dropdown menu for enabling or disabling the source.
• Single-click on a selected Clock selector to display selector input options.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide72 / 143
NXP Semiconductors
Figure 76. Clocks mouse actions in diagram
• Right-click on the element, component, or clock output to see a pop-up menu with the following options.
— Edit settings of: {element} – Invokes the floating view with the settings for a single element.
Clocks Tool
— Edit all settings – Invokes the floating view with all the settings for an element.
— Edit settings on the path to: {clock output} – Invokes the floating view with the settings for all elements on the clock
path leading to the selected clock output.
Figure 77. Floating view
4.5.2 Color and line styles
Different color and line styles indicate different information for the element and clock signal paths.
The color and line styles can indicate:
• Active clock path for selected output
• Clock signal path states - used/unused/error/unavailable
• Element states – normal/disabled/error
To inspect colors and style appearance, select Help > Show diagram legend from the main menu.
4.5.3 Clock model structure
The clock model consists of interconnected clock elements. The clock signal flows from the clock sources through various clock
elements to the clock outputs. The clock element can have specific enable conditions that can stop the signal from being passed
to the successor. The clock element can also have specific constraints and limits that are watched by the Clocks Tool. To inspect
these details, position the cursor on the element in the clock diagram to display the tooltip.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide73 / 143
NXP Semiconductors
Clocks Tool
The following are the clock model elements.
• Clock source – Produces a clock signal of a specified frequency. If it's an external clock source, it can have one or more
related pins.
Figure 78. Clock source
• Clocks selector (multiplexer) – Selects one input from multiple inputs and passes the signal to the output.
Figure 79. Clocks selector
• Prescaler – Divides or multiplies the frequency with a selectable or fixed ratio.
Figure 80. Prescaler
• Frequency Locked Loop (FLL) – Multiplies an input frequency with given factor.
Figure 81. Frequency Locked Loop
• Phase Locked Loop (PLL) – Contains pre-divider and thus is able to divide/multiply with a given value.
Figure 82. Phase Locaked Loop
• Clock gate – Stops the propagation of incoming signal.
• Clock output – Marks the clock signal output that has some name and can be further used by the peripherals or other parts
of the processor. You can put a lock and/or frequency request.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide74 / 143
NXP Semiconductors
Clocks Tool
Figure 83. Clock output
• Clock component – Group of clock elements surrounded with a border. The clock component can have one or more outputs.
The clock component usually corresponds to the processor modules or peripherals. The component output may behave like
clock gates, allowing or preventing the signal flow out of the component.
Figure 84. Clock component
• Configuration element – Additional setting of an element. Configuration elements do not have graphical representation in the
diagram. They are shown in the setting table for the element or the clock path the element is on.
4.6 Clock configuration
Each clock configuration (functional group) lists the settings for the entire clock system and is a part of the global configuration
stored in the MEX file. Initially, after the new clock configuration is created, it's set to reflect the default after-reset state of
the processor.
There can be one or more clock configurations handled by the Clocks tool. The default clock configuration is created with the name
“
BOARD_BootClockRUN
All clock settings are stored individually for each clock configuration so that each clock configuration is
configured independently.
”. Multiple configurations means multiple options are available for the processor initialization.
NOTE
Clocks configurations (functional groups) are presented at the top of the view. You can switch between them by selecting them
from the dropdown menu.
Figure 85. Default clock configuration
NOTE
The code generation engine of the tool generates function with the name derived from the Clock
configuration name.
4.7 Global settings
Global settings, such as Run Mode and MCG mode, influence the entire clock system. It's recommended to set them first. Global
settings can be modified in Clock Table, Clock Diagram, and Details views.
NOTE
Global settings can be changed at any time.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide75 / 143
NXP Semiconductors
Clocks Tool
Figure 86. Global settings
4.8 Clock sources
The Clock Sources table is located in the Clocks Table view. You can also edit the clock sources directly from the Diagram view
or from the Details view.
You can configure the availability of external clock sources (check the checkbox) and set their frequencies. Some sources can
have additional settings available when you unfold the node.
If the external crystal or the system oscillator clock is available, check the checkbox in the clock source row and specify
the frequency.
Figure 87. External clock source configuration
NOTE
Some clock sources remain inactive even though the checkbox is checked. This is because the clock sources
functionality depends on other settings like power mode or additional enable/disable setting options. You can hover
the cursor on the setting to see a tooltip with information on the element and possible limitations/options.
4.9 Setting states and markers
The following states, styles, and markers reflect the information shown in the settings’ rows in the settings tables (clock sources,
output, details or individual).
Table 21. Setting states and markers
State/Style/
Marker
Error markerIndicates that there is an error in the settings or something related to it. See the tooltip of the
Warning markerIndicates that there is a warning in the settings or something related to it. See the tooltip of
Lock iconIndicates that the settings (that may be automatically adjusted by the tool) are locked
IconDescription
setting for details.
the setting for details.
to prevent any automatic adjustment. If the setting can be locked, they are automatically
locked when you change the value. To add/remove the lock manually, use the pop-up menu
command Lock/Unlock.
Table continues on the next page...
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide76 / 143
NXP Semiconductors
Table 21. Setting states and markers (continued)
Clocks Tool
State/Style/
IconDescription
Marker
NOTE
The clock element settings that cannot be automatically adjusted by the tool
keep their value as is and do not allow locking. These are: clock sources, clock
selectors and configuration elements.
Yellow
Indicates that the field is directly or indirectly changed by the previous user action.
background
Gray textIndicates that the value of setting does not actively influence the clock. It is disabled or
relates to an inactive clock element. For example, on the clock path following the unavailable
clock source or disabled element. The frequency signal also show the text “inactive” instead
of frequency. The value is also gray when the value is read-only. In such a state it is not
possible to modify the value.
4.10 Frequency settings
The Clocks tool instantly re-calculates the state of the entire clock system after each change of settings from the clock source up
to the clock outputs.
The current state of all clock outputs is listed in the Clock Outputs view located on the right side of the clock sources. The displayed
value can be:
• Frequency – Indicates that a clock signal is active and the output is fed with the shown frequency. The tool automatically
chooses the appropriate frequency units. In case the number is too long or has more than three decimal places, it's shortened
and only two decimal places are shown, followed by an ellipsis (‘…’), indicating that the number is longer.
• “Inactive” text – Indicates that no clock signal flows into the clock output or is disabled due to some setting.
If you have a specific requirement for an output clock, click on the frequency you would like to set, change it, and press Enter.
Figure 88. Setting the core clock frequency
In case the tool has reached/attained the required frequency, it appears locked and is displayed as follows:
Figure 89. Tool attains the required frequency
In case the tool is not able to reach/attain the required frequency or some other problem occurs, it's displayed as follows:
Figure 90. Tool encounters problem
The frequency value in square brackets [ ] indicates the value that the tool is actually using in the calculations instead of the value
that has been requested.
NOTE
You can edit or set requirements only for the clock source and the output frequencies. The other values can be
adjusted only when no error is reported.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide77 / 143
NXP Semiconductors
Clocks Tool
4.10.1 Pop-up menu commands
• Lock/Unlock – Removes a lock on the frequency which enables the tool to change any valid value that satisfies all other
requirements, limits, and constraints.
• Find Near Valid Value – Tries to find a valid frequency that lies near the specified value, in case the tool failed in reaching the
requested frequency.
Figure 91. Pop-up menu commands
4.10.2 Frequency precision
For locked frequency settings (where user requests a specific value) the frequency precision value is also displayed. By default,
the value is 0.1% but can be individually adjusted by clicking the value.
Figure 92. Frequency precision
4.11 Dependency arrows
In the Clocks Table view, the area between the clock sources and the clock output contains arrows directing the clock source to
outputs. The arrows lead from the current clock source used for the selected output into all outputs that are using the signal from
the same clock source. This identifies the dependencies and the influences when there is change in the clock source or elements
on a shared clock path.
Figure 93. Dependency arrows
4.12 Troubleshooting problems
It's possible that problems or conflicts occur while working with the Clocks Tool. Such problems and the overall status are indicated
in red on the central status bar of the Clocks Tool. The status bar displays global information on the reported problem.
You may encounter any of the following problems:
1. Requirement(s) not satisfiable: Indicates that there are one or more locked frequency or frequency constraints for which
the tool is not able to find a valid settings and satisfy those requirements.
2. Invalid settings or requirements: [
state of settings is beyond the acceptable range.
The following are some tips to troubleshoot encountered problems.
User's Guide78 / 143
element list
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
] – Indicates that the value of a settings is not valid. For example: The current
NXP Semiconductors
Clocks Tool
1. Find the elements and settings with marked errors in the diagram or tables and see the details in the tooltip.
2. Start with only one locked frequency and let the tool find and calculate other ones. After you are successful you can
add more.
3. Go through the locked outputs, if there are any, and verify the requirements (possible errors in the required frequency,
wrong units, and so on).
4. If you are OK to have a near around of the requested value, right-click and from the pop-up menu select Clock output > Find
near value.
5. If you cannot reach the values you need, see the clock paths leading to the clock output you want to adjust and check the
selectors if it's possible to switch to another source of clock.
6. Try to remove locks by selecting Clocks > Unlock All Settings. In case many changes are required, you can simply reset
the model to the default values and start from the beginning. To reset, select Clocks > Reset to processor defaults.
You can resolve most of the reported problems using the Problems view. Each problem is listed as a separate row. The following
options appear when you right-click on a selected row in the Problems view.
• Show problem - Shows the problem in the Clocks Diagram view If one the solutions are possible then the pop up is
extended by:
— Remove lock - Removes the lock from erroneous element.
— Find Near value - Finds the nearest value.
Figure 94. Find Near Value Dialog
◦ Unlock settings active path and try again - unlocks all elements that lead to selected output and tries to recompute.
◦ Unlock settings and try again - unlocks all locked values and tries to recompute. If automatic value computation fails,
nothing will be changed.
◦ Cancel - cancels the modifications.
4.13 Code generation
If the settings are correct and no error is reported, the tool’s code generation engine instantly re-generates the source code. The
resulting code is found in the Code Preview view.
Code Preview automatically highlights differences between the current and immediately preceding iteration of the code. You
can choose between two modes of highlighting by clicking the Set viewing style for source differences. You can also disable
highlighting altogether from the same dropdown menu.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide79 / 143
NXP Semiconductors
Clocks Tool
Figure 95. Code Preview
4.13.1 Working with the code
The generated code is aligned with the SDK. To use the code with the SDK project it's necessary to transfer the code into your
project structure.
To transfer the code into your project, do the following in the Code Preview:
• Copy the content using the COPY command, either by pressing the CTRL+C keys or the pop-up menu after the whole text
is selected.
• Use export command.
• Click the Export button in Code Preview view.
• Click Update Code in the toolbar.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide80 / 143
NXP Semiconductors
Chapter 5
Peripherals Tool
5.1 Features
The Peripherals tool features:
• Configuration of initialization for SDK drivers
• User friendly user interface allowing to inspect and modify settings
• Smart configuration component selection along the SDK drivers used in toolchain project
• Instant validation of basic constraints and problems in configuration
• Generation of initialization source code using SDK function calls
• Multiple functional-group support for initialization alternatives
• Configuration problems are shown in the Problems view and marked with decorators in other views
• Integration in MCUXpresso Config Tools framework along with other tools
• Middleware configuration support (USB)
5.2 Basic terms and definitions
Table 22. Terms and definitions
TermDefinition
Functional groupRepresents a group of peripherals that are initialized as a group. The tool generates
a C function for each functional group that contains the initialization code for the
peripheral instances in this group. Only one functional group can be selected as default
initialization, the others are treated as alternatives that are not initialized by default.
Peripheral instanceOccurrence of a peripheral (device) of specific type. For example, UART peripheral
has three instances on the selected processor, so there are UART0, UART1 and
UART2 devices.
Configuration componentProvides user interface for configuring SDK software component (for example,
peripheral driver) and generates code for its initialization.
Component instanceConfiguration component can have multiple instances with different settings. (for
example, for each peripheral instance like UART0, UART1).
Component modeSpecific use-case of the component instance (for example, TRANSFER mode of DSPI,
or interrupt-based mode of communication.
5.3 Workflow
The following steps briefly describe the basic workflow in the Peripherals tool.
1. Select Tools>Peripherals from the tools framework main menu to open the Peripherals tool.
2. In the Peripherals view, select the peripheral instance you would like to configure (use the checkbox).
3. In case more components are available for use by the peripheral, the Select component dialog appears. The dialog
displays the list of suitable configuration components for the selected peripheral matching the SDK driver for the
selected processor.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide81 / 143
NXP Semiconductors
Peripherals Tool
4. Select the component you want to use and click OK.
5. In the settings editor that automatically opens, select the Component mode that you would like to use and configure
individual settings.
NOTE
The selection of the component mode may impact appearance of some settings. Therefore, the selection of the
mode should be always the first step.
6. Open the Code Preview and see the output source code.
NOTE
Note: The source code preview is automatically generated after each change if no error is reported.
7. You can use the Update Code button from the toolbar. Alternatively, you can export the source code by selecting
File>Export... from the Menu bar.
NOTE
Note: To export the source code, you can also click the Export button in the Code Preview view.
8. Settings can be saved in a MEX format (used for all settings of all tools) by selecting File>Save from the Menu bar.
5.4 User interface
Figure 96. User interface
Figure 97. Peripheral view
Figure 98. Components view
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide82 / 143
NXP Semiconductors
Peripherals Tool
5.4.1 Toolbar (Peripherals)
In addition to general items available to all tools, the Toolbar of the Peripherals tool contains additional items unique to it:
Table 23. Toolbar
ItemDescription
Global settingsOpen a tab aggregating global settings of all configuration sets.
Initialization orderOpen a dialog for customization of peripheral initialization order.
NOTE
For details on other items, refer to the Toolbar chapter.
5.4.1.1 Initialization order dialog
In the Initialization order dialog, you can customize the initialization order of peripherals within selected functional groups.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide83 / 143
NXP Semiconductors
Peripherals Tool
Figure 99. Initialization order dialog
1. Select the functional group you want to modify using the Functional group dropdown list.
2. In the Initialization order list, use the up and down arrows to adjust the sequence of initialization.
3. Click Save order to save your settings, or Cancel to close the dialog without changes.
5.4.2 Components view
The components view shows a list of configuration components, sorted by category into groups such as Middleware, Peripheral
drivers and others.
The view highlights configuration components based on their status.
Table 24. Component status
StatusColor highlighting
EnabledLight gray.
Enabled/with warningLight gray with the alert symbol.
Enabled/with errorRed with the error symbol.
DisabledDark gray.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide84 / 143
NXP Semiconductors
Peripherals Tool
Figure 100. Components view
In the Components view, you can perform several actions.
Table 25. Components view actions
Display configuration-component informationPoint the mouse cursor at the configuration component to
display general configuration-component information.
Open the Settings Editor of the configuration componentLeft-click the configuration component to open its
Settings Editor.
Add new configuration componentsLeft-click the + button and select from the list to add a
new component. In the Select component dialog, you can
filter the list to show only toolchain-project-relevant, or latest
version components. You can also click the + buttons next
to Middleware/Peripheral drivers/Other categories to add new
components in them directly.
Table continues on the next page...
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide85 / 143
NXP Semiconductors
Peripherals Tool
Table 25. Components view actions (continued)
Filter configuration components by nameType a text string to filter configuration component names in the
search bar.
Right-click the the configuration component to open a shortcut menu. Several options are available in the shortcut menu.
Table 26. Shortcut menu options
OptionDescription
OpenOpen the configuration component in the Settings Editor.
Open in another viewDuplicates the configuration component in the Settings Editor.
Edit commentCreate/Edit custom notes for the configuration component.
Lock/Unlock editing of component instanceLock/Unlock the editing of the component instance.
DocumentationDisplay the documentation of the configuration component, if available.
RemoveRemove the component from configuration.
NOTE
If the component has any global settings, a dialog
appears prompting you to confirm the removal. If
the component doesn't have any global settings,
the component is deleted after removing the
last instance.
MigrateMigrate the component to a different component type or to a
component with a newer driver version.
Enable/DisableEnable/Disable the configuration component
Move toChoose from available functional groups to move the configuration
component to.
Copy toChoose from available functional groups to copy the configuration
component to.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide86 / 143
NXP Semiconductors
Peripherals Tool
5.4.3 Peripherals view
The Peripherals view contains a table showing a list of available peripherals on the currently selected processor that can be
configured by the Peripherals tool. In case of multicore processors, the displayed peripherals are also core-specific.
Each instance of a peripheral (for example, UART0) occupies one row. First column contains peripheral name and a checkbox
indicating whether the peripheral is used by any component instance.
Second column contains a name of component instance handling the peripheral. This name is customizable in the settings editor
and it is used in generated code. The name of the component instance can't contain spaces.
You can enable an instance by selecting the checkbox, or by clicking the switch in the settings editor of the component instance.
Disable a component instance by deselecting it.
Double-click on the second column to open the Settings Editor for the component instance.
Right-click the the peripheral to open a shortcut menu. Several options are available in the shortcut menu.
Table 27. Shortcut menu options
OptionDescription
OpenOpen the component instance in the Settings Editor.
Open in another viewDuplicate the component instance in the Settings Editor.
AddAdd a component instance to the peripheral.
Edit commentCreate/Edit custom notes for the component instance.
Lock/Unlock editing of component instanceLock/Unlock the editing of the component instance.
DocumentationDisplay the documentation of the component instance, if available.
RemoveRemove the component instance from configuration. If more instances
are in use, a confirmation window will allow you to select which
instance you want to remove.
MigrateMigrate the component to a different component type or to a
component with a newer driver version.
Enable/DisableEnable/Disable the component instance.
Move toChoose from available functional groups to move the component
instance to.
Copy toChoose from available functional groups to copy the component
instance to.
Initialized in user code
Mark the peripheral as configured by user code (available on not
configured peripherals).
5.4.4 Settings Editor
You can edit peripheral component settings in the Settings Editor. Open editors are shown in the central area of the screen,
each with its own tab. Multiple editors can be opened at the same time. Changes done in the editor are immediately applied and
kept even if the settings editor is closed. Settings that are disabled are highlighted in gray. In case that a component instance
is disabled, all settings are highlighted in gray. Tooltips are displayed for all enabled settings when the mouse cursor is placed
at settings.
To open Settings Editor, do the following:
• Double-click the component instance in the Peripherals or Components view to display component instance settings.
• Left-click the component in the Components view to display global settings of the component.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide87 / 143
NXP Semiconductors
Peripherals Tool
5.4.4.1 Quick selections
Settings are grouped to larger groups (config sets) that may provide presets with typical values. You can use these presets to
quickly set the desired typical combination of settings or return to the default state.
Figure 101. Quick selection example
5.4.4.2 Settings
Following setting types are available in the Settings Editor
• Boolean – Two state setting (yes/no, true/false).
Figure 102. Boolean setting example
• Integer, Float – Integer or float number.
Figure 103. Integer/Float setting example
• String – Textual input. More than a single entry can be supported.
Figure 104. String setting example
• Enumeration – Selection of one item from list of values.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide88 / 143
NXP Semiconductors
Peripherals Tool
Figure 105. Enumeration setting example
• Set – List of values, multiple of them can be selected.
Figure 106. Set setting example
• Structure – Group of multiple settings of different types, may contain settings of any type including nested structures.
Figure 107. Structure setting example
• Array – Array of multiple settings of same type – you can add/remove items. The array of simple structures may also be
represented as a table grid, master-detail, and as radio buttons.
Figure 108. Array
The ‘+’ button adds a new item at the end of array. To rearrange the position or delete an item, right-click the item and select
one of the following options: Move up, Move down, Move to top, Move to bottom, or Remove. You can also copy-paste an array
from one instance to another by right-clicking the array label and choosing Copy. You can then navigate to another instance
array, right-click the table and choose Paste to add it.
NOTE
System clipboard is not used for this purpose.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide89 / 143
NXP Semiconductors
Figure 109. Array setting example
• Info – Read-only information for the user.
Figure 110. Array setting example
• File setting - Link/import an external settings file.
Peripherals Tool
5.4.4.3 Settings Editor header
All components share the Settings Editor header. In the header, you can view and change component information, enable or
disable the component, and view component documentation (where applicable).
Figure 111. Settings Editor header
Table 28. Settings Editor header
Header itemDescription
DescriptionDisplays the configuration component title.
NameDisplays the component instance name. This name is used in the
generated code in constants and function identifiers and is derived from
the peripheral name. You can change it at any time by clicking the Custom
name button and editing the field.
ModeDisplays the required usage for the component instance and influences
available settings. Use the dropdown menu to change the mode
(where applicable).
PeripheralDisplays the name of the peripheral to be associated with the component
instance. Use the dropdown menu to change it.
DocumentationClick the button to view configuration component-specific documentation
in the Documentation view. Note that not all configuration components
are documented, therefore not all setting headers contain the
Documentation icon.
Table continues on the next page...
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide90 / 143
NXP Semiconductors
Peripherals Tool
Table 28. Settings Editor header (continued)
Header itemDescription
Lock editingClick the button to lock/unlock component editing. Source code will still
be generated.
Enable/disable component instance switchUse the switch to enable or disable selected component instance. Note that
by disabling the instance, you don’t remove it from the tools configuration,
but prevent its inclusion in the generated code.
5.4.5 Documentation view
You can display component-specific documentation by opening the Documentation view.
NOTE
Not all components might have this option enabled.
Figure 112. Documentation view
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide91 / 143
NXP Semiconductors
Peripherals Tool
You can open the Documentation view in several ways:
• In the Peripherals view, right-click the peripheral checkbox and choose Documentation from the list.
• In the Components view, right-click the component and choose Documentation from the list.
• In the Settings Editor, click the Documentation button next to component name.
• In the Settings Editor, click the question mark next to the settings label.
5.5 Problems
The tool validates the settings and problems and errors are reported in the Problems view.
If there is an error related to the setting or component an error decorator is shown next to the element containing an error.
Figure 113. Error decorators
In the case of a dependency error, a quick-fix button is displayed.
Figure 114. Quick fix 1
Right-click the button to display a list of issues, then left-click the issue to display possible solutions.
Figure 115. Quick fix 2
5.6 Code generation
If the settings are correct and no error is reported, the tool’s code generation engine instantly re-generates the source code. You
can view the resulting code the Code Preview view of the Peripherals tool.
Code Preview automatically highlights differences between the current and immediately preceding iteration of the code. You
can choose between two modes of highlighting by clicking the Set viewing style for source differences. You can also disable
highlighting altogether from the same dropdown menu.
The Peripherals tool produces the following C files:
• peripherals.c
• peripherals.h
NOTE
For multicore processors the peripherals.c/.h are generated for each core, containing functional groups associated
with that core. This can be configured in functional group properties.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide92 / 143
NXP Semiconductors
Peripherals Tool
NOTE
Some components, such as the USB or FlexSPI, may generate additional output files.
These files contain initialization code for peripherals produced by selected configuration components including:
• Constants and functions declaration in header file.
• Global variables for the user application that are used in the initialization. For example, handles and buffers.
• Initialization function for each configuration component.
• Initialization function for each functional group. The name of the function is the same as the functional group name. These
functions include execution of all assigned components’ initialization functions.
• Default initialization function containing call to the function initializing the selected functional group of peripherals.
NOTE
The prefixes of the global definitions (defines, constants, variables and functions) can be configured in the
Properties of the functional group.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide93 / 143
NXP Semiconductors
Peripherals Tool
Figure 116. Code Preview
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide94 / 143
NXP Semiconductors
Chapter 6
Device Configuration Tool
Device Configuration tool allows you to configure the initialization of memory interfaces of your hardware. Use the Device
Configuration Data (DCD) view to create different types of commands and specify their sequence, define their address, values,
sizes, and polls.
Figure 117. Device Configuration tool
6.1 Device Configuration Data (DCD) view
The Device Configuration Data (DCD) view displays memory initialization commands of your currently active configuration. Here,
you can create new command groups and commands and specify their parameters.
6.1.1 Device Configuration Data (DCD) view actions
The following is a list of command and command group-relevant actions you can perform in the Device Configuration Data
(DCD) view:
• Create a new command group - Right-click the table and choose Add Group from the context menu.
• Re/Name a command group - Left-click the command group cell and enter the required name.
• Disable a command group - Right-click the command group row and choose Disable Group from the context menu.
• Remove a command group - Right-click the command group row and choose Remove Group from the context menu.
• Collapse all command groups - Right-click the the table and choose Collapse All Groups from the context menu.
• Expand all command groups - Right-click the table and choose Expand All Groups from the context menu.
• Add a command to a group - Right-click the table and choose Add Command from the context menu. Alternatively, click the
Add Command button in the tool's toolbar.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide95 / 143
NXP Semiconductors
Device Configuration Tool
• Specify command type - Left-click the row's Command cell and choose from the dropdown menu.
• Specify register address for a command - Left-click the row's Address cell and choose from the dropdown menu.
• Specify a value or a mask for a command - Left-click the row's Value(s) / Mask(s) cell to open the mask window. Enter the
value into the field and select OK. Alternatively, select Cancel to cancel the operation, or Reset to reset the value.
Figure 118. Mask
• Specify the size of write/read data for a command - Left-click the row's Size cell and choose from the dropdown menu.
• Specify the number of polls of a command - Left-click the row's Poll cell and enter the required value.
• Add a comment to a command - Left-click the row's Comment cell.
• Remove a command - Right-click the command row and choose Remove Command from the context menu. Alternatively,
click the Remove Command button in the tool's toolbar.
• Cut a command - Right-click the command row and choose Cut from the context menu.
• Copy a command - Right-click the command row and choose Copy from the context menu.
• Paste a command - Right-click the command row and choose Paste from the context menu.
NOTE
You can remove all commands by clicking Device Configuration in the Menu bar and choosing Clear All Commands
from the dropdown menu.
Basic cell selection shortcuts are applicable.
• Select additional commands - Ctrl+Left-click the command row.
6.2 Code generation
If the settings are correct and no error is reported, the code generation engine instantly re-generates the source code. You can
view the resulting code the Code Preview view of the Device Configuration tool.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide96 / 143
NXP Semiconductors
Device Configuration Tool
Code Preview automatically highlights differences between the current and immediately preceding iteration of the code. You
can choose between two modes of highlighting by clicking the Set viewing style for source differences. You can also disable
highlighting altogether from the same dropdown menu.
Device Configuration source code can be generated in a C array (default) or binary format.
The code in a C array format is generated in two files:
• dcd.c
• dcd.h
The code in a binary format is generated in a single file:
• dcd.bin
To change the code format, choose the required option from the dropdown menu in the Device Configuration Data (DCD) view.
Figure 119. Code Preview
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide97 / 143
NXP Semiconductors
Chapter 7
Trusted Execution Environment Tool
In the Trusted Execution Environment, or TEE tool, you can configure security policies of memory areas, bus masters, and
peripherals, in order to isolate and safeguard sensitive areas of your application.
You can set security policies of different parts of your application in the Security Access Configuration and its sub-views, and
review these policies in the Memory Attribution Map, Access Overview. and Domains Overview views. Use the User Memory
Regions view to create a convenient overview of memory regions and their security levels.
You can also view registers handled by the TEE tool in the Registers view, and inspect the code in the Code Preview tool.
NOTE
In order for your configuration to come into effect, make sure you have enabled the relevant enable secure check
option in the Miscellaneous sub-view of the Security Access Configuration view.
Figure 120. TEE tool user interface (SAU+IDAU)
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide98 / 143
NXP Semiconductors
Trusted Execution Environment Tool
Figure 121. TEE tool user interface (RDC)
7.1 AHB with security extension-enabled devices
The features and appearance of the TEE tool are based on the security model of the loaded device.
This section describes the features and appearance of the tool for devices with ARM TrustZone and AHB with security extension
Currently, following devices of this type are supported:
• LPC55Sxx
— LPC55S69, LPC55S66
— LPC55S16, LPC55S14
— LPC55S06, LPC55S04
• RT6xx, RT5xx
— MIMXRT685S, MIMXRT633S
— MIMXRT595S, MIMXRT555S, MIMXRT533S
NOTE
Pre-production only.
7.1.1 User Memory Regions view
In the User Memory Regions view, you can create and maintain a high-level configuration of memory regions and their security
levels. You can create the regions, name them, specify their address, size, security level, and provide them with a description. You
can then fix any errors in the settings with the help of the Problems view.
Create a new memory region by clicking the Add new memory region button in the view's header.
Enter/change the memory region's parameters by clicking the row's cells. In the Security Level column, you have these options
to choose from:
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide99 / 143
NXP Semiconductors
Trusted Execution Environment Tool
• NS-User - Non-secure user
• NS-Priv - Non-secure privileged
• S-User - Secure user
• S-Priv - Secure privileged
• NSC-User - Non-secure callable user
• NSC-Priv - Non-secure callable privileged
• Any
Errors in configuration are highlighted by a red icon in the relevant cell. In the case the issue is easily fixed, you can right-click the
cell to display a dropdown list of offered solutions.
Remove the memory region by selecting the table row and clicking the Remove selected memory region(s) button in the
view's header.
User Guide for MCUXpresso Config Tools (Desktop), Rev. 0, 1/2021
User's Guide100 / 143
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.