User Interface

Start Development wizard

Upon starting Config Tools, you are automatically welcomed by a startup wizard. With this wizard, you can create a 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.

_images/start_dev_wizard_imx.png

Start development wizard

Note: The content of this wizard is similar to the wizard that you open by selecting File > New in the Menu bar.

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 tools. The folder with the saved MEX file must contain exactly one project file to be able to parse the toolchain project.

Creating a new configuration

You can create a 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 example to create a 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. It 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.

Creating a new standalone configuration

You can create a new configuration that is not part of any toolchain project.

_images/imxcreate.png

Creating a new configuration

To create a standalone configuration, do the following:

  1. In the Start development wizard select Create a 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 are 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.

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.

    The folder with the saved MEX file must contain exactly one project file to be able to parse the toolchain project.

Opening an existing configuration

To open an 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.

User templates

You can export and store the current configuration as a user template for later use as a reference configuration file.

_images/n_exporttemplate.png

Export template

The exported template is available in the New Configuration wizard and can be used to create a 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.

_images/n_newtemplate.png

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.

Importing sources

You can import source code files to use as a basis for further configuration.

Note: You can import only C or DTSI files containing valid YAML configuration blocks generated by the Config Tools. The configuration is reconstructed from the YAML block and the rest of the imported file is ignored.

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.

    _images/i_import.png

    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 that 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 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.

Importing configuration

To import an existing configuration from an MEX file, do the following:

  1. In the Menu bar, select File > Import…>.

  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 that 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 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.

_images/imximport.png

Import Wizard

_images/mcux7import.png

Import configuration

Importing Board/Kit Configuration

Use import settings from default board/kit templates provided within CFG tools data for further configuration.

To import board/kit configuration, do the following:

  1. In the Menu bar, select File > Import…>.

  2. In the Import wizard, select Config Tools for i.MX > Import Board/Kit Configuration.

  3. Click Next.

  4. On the next page, select the board/kit variant from the dropdown menu.

  5. Select which functional groups to import (based on tools) by selecting the checkbox in the left column.

  6. 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 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.

  7. Click Finish.

Exporting sources

It’s possible to export the generated source using the Export wizard.

To launch the Export wizard:

  1. Select File > Export from the Menu bar.

  2. Select Export Source Files.

    _images/n_ui_exportpage1.png

    Export wizard

  3. Click Next.

  4. Select the target folder where you want to store the generated files.

    _images/n_userinterface_exportsourcesselecttargetfolder.png

    Export sources – Select target folder

  5. In case of multicore processors, select the cores you want to export.

  6. Click Finish.

Toolbar

The toolbar is 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.

Item

Description

Config Tools Overview

Open the Overview dialog with information about currently used tools.

Show Problems View

Open the Problems view.

Update Code

Open the update dialog allowing you to update generated peripheral initialization code directly within specified toolchain project.

Generate Code

Regenerate source code when “Enable Code Preview” preference is disabled.

Functional group selection

Select 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 initialization

Set the current functional group to be initialized by the default initialization function.

Functional group properties

Open the Functional group properties dialog to modify name and other properties of the function group.

Tool selection

Display icons of individual tools. Use them to switch between tools.

Undo/Redo

Undo/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.

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 on the left side of the toolbar.

Config Tools Overview contains several items.

Item

Description

Configuration – General Info

Displays 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 Info

Displays the processor, part number, core, and SDK-version information of the current configuration.

Project

Displays toolchain project information.

Pins/Clocks/Peripherals/DDR/SERDES/PBL/TEE

Displays basic information about Pins, Clocks, Peripherals, DDR, SERDES, PBL, TEE tools.

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:

Item

Description

Generated code

Contains the list of source-code files. Click the links to open the files in the Code Preview view.

Functional groups

Contains the list of the currently active functional groups. To select the groups in the Functional groups tab in the toolbar, select the relevant links.

_images/imxoverview.png

Config Tools Overview

Note: Unsupported tools are not displayed in the overview.

Update code

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.

_images/updatecode.png

Update Code dropdown menu

Note: The generated code is always overwritten.

The Update Code action is enabled under following conditions:

  • If the MEX configuration is saved in a toolchain project, the processor selected in the tool matches with processor selected in the toolchain project

  • Core is selected (for multicore processors)

Functional groups

Every Pins 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.

_images/mcux7fungus.png

Functional groups

You can use two additional buttons to further configure functional groups:

Icon

Description

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.

Functional group properties

In the Functional Group Properties window, you can configure several options for functions and code generation. Each setting 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 is 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 parameters for selected functional groups.

Functional group properties are specific for individual Config Tools:

The Pins tool:

  • Set custom #define prefix- If this property is set, the specific custom prefix is used for macros generated into the pin_mux.h. Otherwise the name of the functional group is used as the prefix.

  • Prefix - The custom prefix string. If it is empty, no prefix is used.

  • Clocks gate enable - If this property is enabled, the clock gate is enabled in the generated code. The clock gate is needed for access to the peripherals, so have it enabled elsewhere.

  • Core(for multicore processors only) - Selects the core that is used for executing this function.

  • Full pins initialization - If this property is set, all features of the pins are fully initialized in the generated function even if matches the after-reset state of the processor. If it is not set, values “Not specified” or “No init” can be selected.

  • De-initialization function - If this feature is set, an additional function that sets all pins and peripheral signals in this functional group to their after-reset state is generated. The new function has a suffix _deinit by default.

  • Set custom de-initialization function name - Allows specifying a user-defined name of the de-initialization function.

Clocks tool:

  • Set custom #define prefix - If this property is set, the custom prefix is used for macros define in clock_config.h Otherwise the name of the functional group is used as the prefix.

  • Prefix - The custom prefix string. If it is empty, no prefix is used.

  • Other settings - The processor-specific settings are specific for each processor. See the tooltips for details.

Peripherals tool:

  • Prefix - It is used for identifiers, constants, and functions related to the functional group that is used in generated code. If it is not specified, no prefix is used.

TEE tool:

  • Set custom #define prefix - If this property is checked, the custom prefix is used for macros define in generate code. Otherwise the name of the functional group is used as the prefix.

_images/fig_16_new_imx.png

Functional group properties for the Pins tool

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.

Icon

Description

Cancels the previous action

Cancels the previous undo action

Preferences

To configure preferences in the Preferences dialog, select Edit>Preferences from the Menu bar.

Note: You can restore settings to default by selecting Restore Defaults in the lower right corner of the dialog.

_images/preferences_imx.png

Preferences

Several settings are available.

Item

Description

Line ending style

Select between Windows (CR + LF), (LF), or Default (based on host).

Always overwrite files without asking

Update existing files automatically, without prompting.

Always show details before Update Code

Review changes before the project is updated.

Undo history size

Enter 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 that 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 Offline

Disable both the connection to NXP cloud and the download of processor/board/kit data.

Processor data update

Select from the following options:- Auto Update – Update the processor data automatically.
- Manual – Update processor data after confirmation.
- Disabled – Disable processor data update.

Check for application updates

Check for application updates on a weekly basis

Show pin label & identifier table columns (Pins Tool)

Select to show the pin label and the label identifier in the relevant views.

Require an identifier for Pins (Pins Tool)

Controls generation of pins “Identifier” related warnings. With this preference enabled, warnings will be generated for bidirectional signals that have no Identifier set.

Help us improve the tool

Send device-configuration and tool-use information to NXP. Sending this information to NXP helps fix issues and improve the tools

Show Overview window on opening configuration for the first time

Open the Overview dialog on opening configuration for the first time.

Automatically load last configuration on startup

Avoid the startup window and load the last used configuration instead.

Enable animations

Enables animations in the user interface, such as smoother scrolling or opening a drop-down menu.

Configuration preferences

The configuration preferences are general preferences stored within the configuration storage file (MEX).

To configure the preferences related to the configuration, select Edit > Configuration Preferences from the main menu.

_images/config_preferences.png

Configuration preferences

The following preferences are available:

Item

Description

Generate YAML

Select to generate YAML into C source files.

Custom toolchain project link

Select to set the path to the toolchain project folder, otherwise the default path in the same folder as the configuration is used. An absolute path or a relative path to a saved configuration (MEX) can be used. Only for standalone Config Tools.

Custom source file copyright header

Select to add a custom copyright header to generated source files that do not already contain copyright.

Output path overrides

Rules that are used to override the path of the output files are generated by the tools. They are applied in the Update code and Exports commands. A special dialog allows editing.

Generate code only for registers that are different from the after-reset state

Select to generate code for registers that are different from the after-reset state.

Enable Code Preview

Controls how the code is generated. When this preference is enabled, code generation is performed automatically after every change in the configuration and the Code Preview is updated accordingly. When this preference is disabled, code generation is stopped, warning message is displayed in Code Preview window, and the action can be manually triggered by using one of the available options: - By pressing the “generate code” link highlighted in the warning message from the Code Preview window.
- By pressing the Update Code button in the toolbar, where code update is preceded by code generation.

Warning: When the source does not contain YAML code, it cannot be imported.

Problems view

The Problems view displays issues in individual tools and in the inter-dependencies between the tools.

_images/problemsview.png

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:

Item

Description

Level

Severity of the problem: Information, Warning, or Error.

Resource

Resource related to the problem, such as signal name, the clock signal.

Issue

Description of the problem.

Origin

Information on the dependency source.

Target

Tool that handles the dependency and its resolution.

Type

Type of the problem. It is 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 “light bulb” icon.

Filter buttons are available on the right side of the Problems view ribbon.

Button

Description

Filters messages in the Problems view. If selected, only problems for the active tool are displayed. See Configuration preferences section for details.

Registers view

The Registers view lists the registers handled by the tool models. You can see the state of the processor registers that correspond to the current configuration settings and also the state that is in the registers by default after the reset. The values of the registers are displayed in the hexadecimal and binary form. If the value of the register (or bit) is not defined, an interrogation mark “?” is displayed instead of the value.

_images/registers_view_from_the_pins_general.png

Registers view

The Registers view contains several items.

Item

Description

Peripheral filter drop-down list

List the registers only for the selected peripheral. Select all to list registers for all the peripherals.

Show modified registers only checkbox

Hide the registers that are left in their after-reset state or are not configured.

Text filter

Filter content by text.

Import/Export registers

Import/Export registers from/to CSV (Import is available only for the Clocks tool)

The following table lists the color highlighting styles used in the Registers view.

Color

Description

Yellow background

Indicates that the bitfield has been affected by the last change made in the tool.

Gray text color

Indicates that the bitfield is not edited and the value is the after-reset value.

Black text

Indicates the bit-fields that the tool modifies.

Note: When the Peripherals tool is active and register initialization components are used, the user can perform manual changes to some of the displayed values.

Log view

The Log view shows user-specific information about 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. It affects Log views across all tools.

_images/mcuxlog.png

Log view