Dependency Installation - nxp-mcuxpresso/vscode-for-mcux GitHub Wiki

In addition to the extension itself, some extra tools and software components are required for the full development flow within VS Code.

All of these dependencies are managed by the MCUXpresso Installer tool, designed to guide you through the installation process. When clicking Open MCUXpresso Installer from Quickstart Panel view, if the extension does not find it, it will automatically download and start the tool.

Alternatively, you can download MCUXpresso Installer tool from the following links:

After installation, the Installer layout can be found in the following locations:

  • Windows: %userprofile%\AppData\Local\Programs\MCUXpressoInstaller
  • Linux: $HOME/MCUXpressoInstaller
  • macOS: The Installer is a disk image file (.dmg) and can be easily mounted in /Applications by dragging and dropping the Installer icon

Note: The Installer does not require admin rights on any platform. Additionally, the installation with admin rights is prevented by default on Linux.

This will provide options to install:

  • Python/west to run scripts and understand complex repositories;
  • git for the ability to clone source repositories and add version control;
  • ninja, cmake for build process infrastructure;
  • Zephyr SDK minimal bundle if you want to develop applications based on Zephyr. Also, some additional libraries and tools are required for build process;
  • GNU Arm Toolchain if you want to develop applications based on MCUXpresso SDK; on top of the toolchain, additional NXP libraries and headers are provided to facilitate various extra features like semihosting stubs, macros to create MTB support (for Cortex M0+), macros to allow code/data to be placed into alternate memory banks, etc;
  • LinkServer, Segger J-Link and PEmicro debug probes software support;
  • CMSIS-Toolbox to work with an Open-CMSIS-Pack environment.
  • MCUXpresso Configuration Tools to allow developers to quickly build a custom SDK and leverage pins, clocks and peripherals to generate initialization C code or register values for custom board support.
  • MCUXpresso SEC Secure Provisioning Tool to simplify generation and provisioning of bootable executables on NXP MCU devices.

MCUXpresso Installer involves a few steps, aiming to install (or upgrade to a minimal required version) the dependencies from above:

MCUXpresso Installer

You can select one or multiple items from the available list. Clicking the "Install" button will install those items that do not already exist at the required minimal versions:

Software kits environments:

  • MCUXpresso SDK Developer - it contains necessary dependencies for users targeting to develop applications based on MCUXpresso SDK.
  • Zephyr Developer - aims to create an environment for Zephyr RTOS based applications. Pip, west and other Python requirements are installed in a Python virtual environment located on:
    • Windows: %userprofile%/.mcuxpressotools/.venv
    • Linux and macOS: $HOME/.mcuxpressotools/.venv

The steps performed by the Installer to create a development environment for Zephyr can be manually run:

Windows:

  1. Open a cmd.exe terminal window
  2. Create a virtual environment:
        python -m venv %userprofile%/.mcuxpressotools/.venv
    
  3. Activate the virtual environment:
        %userprofile%/.mcuxpressotools/.venv/Scripts/activate.bat
    
  4. Install pip
        python -m ensurepip --upgrade
    
  5. Install west:
        pip install west --upgrade
    
  6. Zephyr’s requirements.txt file declares additional Python dependencies. Download and unzip the requirements, then install them with pip.
        wget https://www.nxp.com/lgfiles/updates/mcuxpresso/requirements-1.0.zip
        7z x requirements-1.0.zip -o requirements
        pip install -r ./requirements/requirements.txt
    

Linux:

  1. Use apt to install Python venv package:
        sudo apt install python3-venv
    
  2. Create a virtual environment:
        python3 -m venv $HOME/.mcuxpressotools/.venv
    
  3. Activate the virtual environment:
        source $HOME/mcuxpressotools/.venv/bin/activate
    
  4. Install pip
        python -m ensurepip --upgrade
    
  5. Install west:
        pip install west --upgrade
    
  6. Zephyr’s requirements.txt file declares additional Python dependencies. Download and unzip the requirements, then install them with pip.
        wget https://www.nxp.com/lgfiles/updates/mcuxpresso/requirements-1.0.tar.bz2
        tar -xf requirements-1.0.tar.bz2 -C requirements
        pip install -r ./requirements/requirements.txt
        ```
    
    

macOS:

  1. Create a virtual environment:
        python3 -m venv $HOME/.mcuxpressotools/.venv
    
  2. Activate the virtual environment:
        source $HOME/.mcuxpressotools/.venv/bin/activate
    
  3. Install pip
        python -m ensurepip --upgrade
    
  4. Install west:
        pip install west --upgrade
    
  5. Zephyr’s requirements.txt file declares additional Python dependencies. Download and unzip the requirements, then install them with pip.
        wget https://www.nxp.com/lgfiles/updates/mcuxpresso/requirements-1.0.tar.bz2
        tar -xf requirements-1.0.tar.bz2 -C requirements
        pip install -r ./requirements/requirements.txt
    

ARM components:

  • Arm GNU Toolchain - toolchain for MCUXpresso SDK development plus NXP extension pack used to provide extra functionalities (i.e. additional runtime libraries, semihosting, trace, multicore, etc.).
  • Arm GNU Toolchain add-ons - NXP toolchain extension pack used to provide extra functionalities that can be used on top of an Arm GNU Toolchain distribution (i.e. runtime libraries, semihosting, trace, multicore, etc.). Although it is built and tested with a particular baseline version of Arm GNU Toolchain (which also gives this pack version number) it can be also copied on top of a user custom Arm GNU Toolchain version in order to benefit on all provided MCUXpresso for VS Code extension functionalities. To achieve this, be sure the content of this archive is unzipped and copied on top of the desired Arm GNU Toolchain root installed file layout.
  • CMSIS-Toolbox - aims to work with an Open-CMSIS-Pack environment.

Debug probes software:

  • LinkServer - NXP software for LinkServer based NXP debug probes (LPC-Link2, MCU-Link, ...).
  • Segger J-Link - software support for SEGGER J-Link debug probes.
  • PEmicro - GDB server for PEmicro debug probes.

Standalone Tools:

  • MCUXpresso Configuration Tools - optimized for designing with Arm® Cortex®-M-based devices from NXP to allow developers to quickly build a custom SDK and leverage pins, clocks and peripherals to generate initialization C code or register values for custom board support
  • MCUXpresso SEC security tool - simplify generation and provisioning of bootable executables on NXP MCU devices.
  • GUI Guider - HMI design tool for embedded GUI and host-side FreeMASTER visualization design using LVGL.
  • FreeMASTER - Real-time debug monitor that enables runtime visualization and control of application variables.

Component status, version and updates

Each component indicates with a colored badge its update status as following:

  • greenbadge (green badge): component is up to date. Tooltip indicates each sub-component and its installed version. MCUXpresso Installer Component Updated
  • graybadge (gray badge): component or sub-component missing. Tooltip indicates each sub-component and its status and installed version. If this component is needed, select it and install it. MCUXpresso Installer Component Missing
  • yellowbadge (yellow badge): component or subcomponent with an older version than the latest one available. Tooltip indicates sub-component installed version and newer available version. If this component is intended to be used, it is recommended to update it. MCUXpresso Installer Component Lower
  • redbadge (red badge): component or sub-component does not meet minimum required version. Tooltip indicates sub-component installed version and required version. If this component is intended to be used, it is highly recommended to update it. MCUXpresso Installer Component Outdated

Once the installation process starts, a console with a progress bar will display the status and execution details. The colored badge status will also be updated at the end of installation process.

MCUXpresso Installer Console

The console output displays details of where a tool is downloaded from and also where it is installed.

MCUXpresso Installer Console Destination Path

A check for component updates is available on toolbar, forcing a rescan of installed tools.

MCUXpresso Installer Version Check

In case of a successful installation, the previously selected components will become unselected. If the Installer has updated the environment variables, then a warning message will be displayed.

MCUXpresso Installer Warning Env Variables

In case of errors, the component selection remains active and the console will report the encountered issues. If the cause of error can be fixed by user, pressing again the "Install" button will restart the previous component selection.

The installer will skip previously installed components after finding the minimal version exists.

A context menu is available within the console area, to allow Select All / Copy and Clear operations over the generated log.

MCUXpresso Installer Console Menu

Dark/light theme

From the top toolbar, user can switch between dark and light themes.

MCUXpresso Installer Theme Dark MCUXpresso Installer Theme Light

home