For those who use the MCUXpresso SDK dashboard to build your archive/zip SDK package, the build and import flow remains the same. PDF files are no longer integrated to the zipped folder, but can be found in the new documentation site.
The 25.03.00 GitHub SDK release offers customers the power to use Git as a source control management solution. You'll be able to work in large teams on a common shared code base. Changes from NXP are reflected in Git status notifications. NXP also uses the West meta tool to share a recipe for what Git repositories are included in official SDK releases. This also started the introduction of customer access to SDK “previews”. Two previews are published to GitHub for customers to evaluate in the months prior to each quarterly release. Customers are now able to test if patches resolve a product requirement. The preview also provides early progress in code development on new features due for the next quarterly release.
This guide will focus on those who would like to migrate to the GitHub SDK using freestanding examples. A freestanding example is unlike standard repository examples, freestanding examples don’t support hierarchical configuration for the board or device porting, so there is no PROJECT_BOARD_PORT_PATH
or PROJECT_DEVICE_PORT_PATH
in the project
macro and there is no location restriction for freestanding examples which means they can be placed anywhere.
The installation guide provides the prerequisites necessary to install the necessary components to your operating system for proper use of the tools. In this guide we'll use MCUXpresso for VS Code, however the information below will also apply to those using the CLI directly.
Advanced users can manually install the tools that are needed. Others can take advantage of the MCUXpresso Installer, which will automatically check for missing tools and install (or update) if needed. To open the MCUXpresso Installer, open the MCUXpresso for VS Code and then select 'Open MCUXpresso Installer'.
A new window will open up, select at least 'MCUXpresso SDK Developer', but you may select other options for your environment.
Once you have the environment set up, you can select 'Import Repository' from the quick start panel. Choose Remote and then select the repository from the drop-down list, here you should find the new GitHub SDK 25.03.00 or newer.
1. Select the repository to import
2. Select the revision or branch to import
3. The name of the repository is filled in automatically
4. Choose a folder in your system to download it
5. Select Import
Once imported it will enumerate under 'Imported Repositories'
When your workspace is completely empty you will see that under 'Projects' there will be two options to import an example. If your workspace is not empty, then use the QuickStart panel to import an example.
For this guide, we'll import an example from the repository.
Once the project has been imported you will find the following sub-sections in the project explorer window.
Settings - Includes several JSON files containing several necessary configurations for the project and tools.
MCU - Description of the board, device and package used.
Build Configurations - Contains the different build profiles generated that can be used by default. Generally this is the debug and release profiles.
Repository - Includes the repository contents, such as all examples, drivers and middleware.
Project Files - Includes the specific files for the project.
A freestanding example allows you to store the project wherever you like, offering greater flexibility. However, the files within the repository folder within the project itself are shared among multiple examples. This means that any changes made to one example will affect other examples that use the same files, such as drivers and middleware.
The project files as described contain the specific files needed in this example. For the purpose of this guide, hello world was imported to demonstrate the key file locations. Browsing the main content in the drop-down menu from the project files we can see the following:
Generally the files seen here are specific to the project itself. Changes to these will not affect other projects. Project files will generally include source, pin, clock and board files.
CMakeLists.txt - This file is used by CMake, a cross-platform build system, to manage the build process of software projects.
CMakePresets.json - This file is used to define common configuration, build, and test options for CMake projects. It helps standardize and share build settings across different environments and users.
example.yml - This file is typically used to define configuration settings in a human-readable format. YAML (YAML Ain't Markup Language) is often used for configuration files because of its simplicity and readability.
hello_world.c - This is the source file in the hello world example, which contains the 'main' function.
Kconfig - It defines configuration options in a hierarchical structure, allowing users to enable or disable features and set parameters.
mcux_include.json - This file is used in the MCUXpresso for VS Code ecosystem to manage environment variables and configuration settings for building projects
prj.conf - It is used to specify application-specific configuration settings.
readme.md - This provides the description of the example, how it works and the minimum hardware requirements.
To build the application , use the 'Build' button located on the right side of the example's title.
To start a debug session, use the 'Debug' button.
For more details on building and debugging using MCUXpresso for VS Code. Use the following resources and guides.: