The MCUXpresso IDE manifest container.
The identifier defined in the external XML document
Identification information associated to the SDK related to the SDK structure.
The container of the supported compilers in the KSDK.
Supported compiler.
The container of the supported core roles in the SDK: roles are defined in the user manual or chip model or sources.
Supported device core slave roles definitions.
The container of the settings of the supported toolchains in the KSDK.
The container of the supported toolchains in the KSDK.
Supported toolchain.
The container of the supported boards in the KSDK.
Supported boards.
The container of the supported devices in the KSDK.
Supported devices.
The container of the supported components in the KSDK.
List of package components.
Available components.
Version of the SDK manifest.
API version of the SDK.
SDK configuration hash.
The examples root element container for external file handling and validation.
The debug configurations root element container for external file handling and validation.
The toolchain settings root element container for external file handling and validation.
Identification information associated to the SDK related to the SDK structure.
A super-element provinding references to already defined elements.
The metadata container.
The metadata describing the element.
The references to existing elements if more, in the current XML file.
Type for attribute 'version' in identifiable types.
The metadata container.
The metadata describing the element.
Defines container.
The define symbol to be used in all the compilers/assemblers.
A super-element providing common info for the concrete element.
The element long description.
The element image available in the KSDK.
Optional defines container, used only if there are any defines.
The element identifier.
The element name.
The element full name.
The element brief description.
The link to the web resource.
Element version. Intended for future updates of the device information (e.g. new package added).
Optional versioning of changes made to a 3rd party software by NXP (for example changes related to porting of the software to NXP devices).
Marks element specific for particular tools.
Marks files specific for particular compiler. The attribute is used in following elements:
- toolchain - to provide information about compiler used by the toolchain
- toolchainSettings - to provide information about compiler used by the toolchain
- source - to provide information in case the source files are compiler specific
This is base and simple identifiable type with 'id', 'name' and optional 'brief' attributes.
It is used by majority of other elements.
Includes also optional attribute 'href', and optional elements 'description', 'image', 'metadataSet'.
This is identifiable type for KSDK element.
Contains 'id', 'name', 'version' and optional 'revision' and 'brief' attributes.
Includes also optional attribute 'href', and optional elements 'description', 'image', 'metadataSet'.
This is base identifiable type with 'defines' element, contains 'id', 'name' and optional 'brief' attributes.
Includes also optional attribute 'href', and optional elements 'description', 'image', 'metadataSet'.
This is base identifiable type with 'defines' element, contains 'id', 'name' and optional 'brief' attributes.
Includes also optional attribute 'href', and optional elements 'description', 'image', 'metadataSet'.
This is identifiable type for 'board' elements,
with optional 'defines' sub-element, contains 'id', 'name' and optional 'revision' and 'brief' attributes.
Version is fixed to '1.0.0' and it is reserved for future use.
Includes also optional attribute 'href', and optional elements 'description', 'image', 'metadataSet'.
This is identifiable type for toolchain and toolchainSettings elements.
Contains 'id', 'name', 'version', 'full_name', 'compiler' and optional 'revision', 'brief', 'toolchain' attributes.
Includes also optional attribute 'href', and optional elements 'description', 'image', 'metadataSet'.
This is base identifiable type with 'defines' element, contains 'id', 'name' and optional 'toolchain', 'brief' attributes.
Includes also optional attribute 'href', and optional elements 'description', 'image', 'metadataSet'.
This is identifiable type for 'component' elements,
with optional 'defines' sub-element, contains 'id', 'name', 'version' and optional 'full_name', 'brief' attributes.
Includes also optional attribute 'href', and optional elements 'description', 'image', 'metadataSet'.
This is identifiable type for 'device' elements,
with optional 'defines' sub-element, contains 'id', 'name', 'full_name' and optional 'brief' attributes.
Attribute 'version' is fixed to '1.0.0' (no real meaning)
Includes also optional attribute 'href', and optional elements 'description', 'image', 'metadataSet'.
The device description.
The specific device package. This could
be extended in the future for further
uses (e.g. pins functions allocation).
Evaluation board references container.
Referenced evaluation
boards.
Supported evaluation
board.
ID of the board
defined in the
manifest.
Debug configurations container.
Supported debug configurations/extensions.
Linker settings container.
Family to which the device belongs. For example K6x, LPC540xx, MIMXRT1050, etc.
Platform to which the family belongs. For example Kinetis, LPC, i.MX etc.
Contains name of package(s).
Optional number of pins for the package.
Memory area specification.
Optional, for memory that are related to
specific devices.
Total memory available on the processor.
The total internal flash size in kb.
The total ram size in kb.
The board description.
The extensions made to the memory config provided by the device. This is used in order to handle external memories provided by the board.
Total amount of external memory available on the board.
The examples container. Can be used to handle specific board configuration sources.
Debug configurations container.
Supported debug configurations/extensions.
The reference to the supported device package for the board.
Define the board type.
Supported example.
The external XML file used.
The project types container.
The project type supported by the example.
Debug configurations container.
Supported debug configurations/extensions.
The include paths container.
The include path relative to the example base path.
Example source code.
Devices id-refs for this example.
The Core Id reference specific for this example and related to a specific device core.
NOTE: the list for the device core and role in the XSD is ONLY used to correctly populate the content
while handling external definition. Only the first item is actually used.
The core slave roles reference specific for this example.
NOTE: the list for the device core and role in the XSD is ONLY used to correctly populate the content
while handling external definition. Only the first item is actually used.
Boards id-refs for this example.
ID-Refs of components dependencies separated by space.
Optional, add references to required projects (e.g. multicore master/slave projects).
Relative path to the example base path.
Path is relative to the package root directory.
Category of the example to be displayed in UI, slash '/' separated groups.
General file container. Type used to list general files except component files (see componentSourceType) and flash driver files (see sourceDriverBinaryType).
Flash driver files container.
Script files container.
Relative path to project base folder.
It is used to construct the project explorer structure。
Files container base type.
Relative path to the package root directory.
It is used only for type="example"
Relative path to component base folder.
It is used only for type="component"
No longer used. Kept only for backward compatibility with previous schema versions.
Relative path to (component) project base folder.
If the value is not specified, the default value will be taken from the attribute relative_path.
The recommended method to use: it will copy or link the files by default,
according to this method attribute. Basically, it could be used to override any "copy source"
or "standalone" machanism.
It is used only for type="lib".
Type of source files of example.
Marks files specific for particular tool.
Marks files specific for particular compiler
Component variant for linker component.
The required element needed by this source.
If true, all the files contained in the source element will be excluded from the build.
The Core Ids reference specific for this include path and related to specific device cores.
No longer used. Kept only for backward compatibility with previous schema versions.
Used to hide source files from MCUXpresso IDE Project Explorer: if true, the source files are included in the project directory on the disk, however,
they are not visible in the Project Explorer.
Component files container. Used to list files of examples and components.
Relative path to component base project folder.
If the attribute is not provided, relative_path is used instead.
It is strongly recommended avoid usage of the this attribute and keep aplignment with relative_path attribute.
Example files container. Used to list files of examples.
Relative path to project base folder.
It is used to construct the project explorer structure for both linked and standalone project.
For linked, it is virtual, for standalone, it is real.
Defines the possible source string format.
Source files specification used for other than component elements (see also fileComponentType).
Source files specification.
Source files specification.
File name mask including extension.
Manifest macro symbols can be used.
They are delimited using $| and | characters and replaced by MCUXpresso tools with specific string derived from device selected in the tools.
Usage macros: device, device_full_name, package, core_name, core_type, core, compiler, toolchain.
(e.g. $|device_full_name| - element "device", attribute "full_name")
Used to hide source files from MCUXpresso IDE Project Explorer: if true, the source files are included in the project directory on the disk, however,
they are not visible in the Project Explorer.
Build configuration definition.
The build configurations definitions container.
Build configuration definition.
Define the active build configuration (among the listed and the default).
An active build configuration can be set using the default debug and release build configuration
identifiers, thus, there is no need to create a new build configuration element to specify the active one.
By default (if the attribute is not specified) it is set to the default debug build configuration.
The reference type extending existing toolchainSetting with new options.
The list of new build configurations.
The toolchainSetting build steps container.
The toolchainSetting options.
The toolchain settings extensions container. Contains additional device, board, component, source or file-specific toolchains settings that extends default, common toolchain settings.
Supported toolchainSettings settings.
The list of new build configurations.
The toolchainSetting build steps container.
The toolchainSetting options.
Supported toolchains settings.
The container of the supported debug configurations in the KSDK.
Supported toolchain type.
Name of the toolchain vendor.
Link to the vendor homepage.
Option specification.
Eclipse toolchainSetting option value without spaces. This value will be applied on the defined eclipse option.
Eclipse option ID. ID of the configured property (ID of the element in the plugin).
Type of the property.
Eclipse option name (name visible for the UI element).
List of build configurations this option applies to. If not specified it will apply to all the build configurations.
The required component in a complex dependency condition.
The "and" logic, it means all conditions should met or selected.
The "or" logic, it means at least one conditions should met or selected.
Conditions are sorted by priority, default component is the fist value in the list.
Top level container under the "ComponentType" dependencies attribute.
It restricts the content to just one item.
Logic of complex dependencies.
The package component definition.
The following mapping will be applied for the component base folder:
"driver" then target directory is "drivers"
"linker" then target directory is "" (root folder)
"other" then target directory is "" (root folder)
"CMSIS" then target directory is "CMSIS" (e.g. same as component-type)
"startup" then target directory is "startup" (e.g. same as component-type)
"utilities" then target directory is "utilities" (e.g. same as component-type)
"OS" then target directory is component-name
"middleware" then target directory is component-name
"project_template" and component-name = (device or board) then target directory is "board"
"project_template" and component-name = RTOS-component-name then target directory is "source"
Lists of ids of components on which the component is dependent.
CMSIS Component reference.
Component sources.
The include paths container.
The include path relative to the component base path.
Define component visibility in the UI.
Define component type.
Optional, for components that are related to
specific devices (e.g. drivers).
Optional, for components that are related to
specific device's packages (e.g. drivers).
Optional. List of names of components
(separated by space) on which the component
is dependent. This component will be
automatically imported in the project.
Optional, component API version (currently
used for RTOSes).
The Core Ids reference specific for this include path and related to specific device cores.
The core slave roles reference specific for this component.
The core boot role references.
No longer used. Kept only for backward compatibility with previous schema versions.
Location of the component inside SDK package e.g. relative path from SDK package root to the component.
Location of the component inside standalone project e.g. relative path from project root to the component.
Category of the component to be displayed in UI, slash '/' separated groups.
The reference type to a debug configuration for overriding use.
The scripts container.
The debugging scripts.
The parameters container.
The debugging parameters.
The memory drivers container.
The memory driver for a specific memory block.
Debugging setting property.
The scripts container.
The debugging scripts.
The parameters container.
The debugging parameters.
The memory drivers container.
The memory driver for a specific memory block.
The supported probe for the debug configuration.
List of build configurations this debug configuration refers to. If not specified it will apply to all the build configurations.
The debug parameter type definition.
The param value.
The default value.
Space separated enum values.
True if the param is required.
The param type.
Additional parameter options.
The supported probe for the specific debug setting.
The script type.
The source file containing the script in the package.
The script code.
The script type.
The silent setting.
The emulator settings used for the script.
The metadata serves as general purpose container for data structured in key-value format, providing additional information to the parent element.
Although the key and value might be any string, there are some predefined keys with specific meaning and usage:
- compatible_device - For device, contains name of an alternative device that is compatible with this device.
- compatible_device.{tool_id} - Same as compatible_device, but for a specific tool. For example, compatible_device.segger contains alternative name to be used in Segger debugger.
- html - Contains formatted documentation of the parent element. Basic html formatting is supported.
- USB_KHCI_COUNT - For device, specifies number of KHCI controllers available on the chip.
- USB_KHCI_Controller_number - Same as USB_KHCI_COUNT.
Specific metadata content.
The content.
The metadata name.
The metadata string value.
The compiler type.
The type of the supported compiler.
The core role type.
The memory region specification.
Start address of the memory area.
Memory area size in bytes.
Memory type.
Memory access type (R,W,RX,RW).
The driver of a specific memory block. It contains the references to the memory blocks as well as the binary file in the SDK.
Defines the possible core boot roles.
Defines the possible core types.
Defines the possible build configuration types.
Defines the possible board types.
Defines the possible memory acces types.
Defines the possible file types.
Note that "src" is used to sources used both for C or C++ projects; "src_c" is used only C project srelated files; "src_cpp" is used only for C++ projects related files.
Defines the possible include types.
Defines the possible compilers types.
Defines the possible option type.
Defines the possible project types.
Memory type.
Defines the possible project nature types.
Defines the possible component types.
Defines the possible toolchain ID.
Defines the possible project natures.
Defines the possible linker setting variable names.
Defines the possible supported probes.
The debug configurations container.
The external XML file used.
The available debug configurations.
The examples container.
The external XML file used.
The toolchain settings container.
The external XML file used.
Supported toolchain settings.
The build step element.
List of build configurations this step applies to. If not specified then the steps applies to all build configurations in a project.
The toolchain pre-build and post-build steps container.
Commands executed prior project build is invoked.
Commands executed after project build is completed.
The container of the external identifiers.
The identifier defined in an external XML document
Linker settings. Specific for the linker component.
The linker property name.
The linker property value.
Project type specification.
Type of the project.
Nature of the project.
Include specification (allowing to find header files cfor compilation).
This is used for example projects only: Path is relative from project root directory.
This is used for components only. It is relative path from component base folder.
The attribute has two usages with minor differences:
(1) in the component: it is relative path from component base folder.
The value is optional and default value is same as `relative_path` attribute.
It is not recommeded to use and keep value same as `relative_path`.
(2) in the example project: it is relative path from package root folder.
Here the value must be specified (attribute is required).
Marks the path specific for particular tool.
Marks the path specific for particular compiler
Type of the include to use.
No longer used. Kept only for backward compatibility with previous schema versions.
The Core Ids reference specific for this include path and related to specific device cores.
Include specification for component.
Include specification for example.
Define specification. It can refers to one or more debug configurations.
The name of the define.
Manifest macro symbols can be used.
They are delimited using $| and | characters and replaced by MCUXpresso tools with specific string derived from device selected in the tools.
Usage macros: device, device_full_name, package, core_name, core_type, core, compiler, toolchain.
(e.g. $|device_full_name| - element "device", attribute "full_name")
The value of the define, it may be null.
The name of the define.
Manifest macro symbols can be used.
They are delimited using $| and | characters and replaced by MCUXpresso tools with specific string derived from device selected in the tools.
Usage macros: device, device_full_name, package, core_name, core_type, core, compiler, toolchain.
(e.g. $|device_full_name| - element "device", attribute "full_name")
Core definition type.
Debug configurations container.
Supported debug configurations/extensions.
Linker settings container.
Toolchain settings container. Used when a new project is created for this core.
Floating point unit present
Defines if core supports DSP instructions
The attribute is required for cm33 core types, where the dsp is 'configurable'
The slave role references.
The core boot role references.