MCUXpresso IDE Knowledge Base

cancel
Showing results for 
Search instead for 
Did you mean: 

MCUXpresso IDE Knowledge Base

Labels

Discussions

Sort by:
This video shows how to create, build and debug a new SDK project with MCUXpresso IDE. Enjoy!
View full article
As a heads-up: several uses reported a problems with downloading the MCUXpresso IDE setup/installer program. If pressing the 'Download' button, you might come back to the login screen (to log into your NXP user account): The likely reason for this is that your NXP account needs re-activation. You should see a link to open a SR (Service Request) which you could use. Otherwise post a comment here so your account can be re-activated. I hope this helps, Erich
View full article
MCUXpresso IDE combines the best features of the LPCXpresso IDE and Kinetis Design Studio. For users more familiar with KDS, here’s a high level overview of some of the things that are different in basic interactions with this new tool.   Quickstart Panel. One of the biggest and most useful changes is the Quickstart panel in the lower left hand corner of the IDE. This is where users import MCUXpresso SDK projects, build projects, debug projects, and modify some project settings.   Importing SDK Example Projects This is now done via the Quickstart Panel, and by default will create a unique copy of the project inside the workspace directory with all the necessary source files for the board, drivers, and source so it can be easily shared.   Debugging SDK Projects This is also now done via the Quickstart Panel, and is straightforward. One important thing to note though is that if you want to change the debugger protocol (ie move from CMSIS-DAP to Segger JLink) you need to delete both the .launch files in the project so that the debugger settings will reset.   Semihosting If default options are kept when importing in SDK projects, semihosting is used for printf commands. See this Community post for details on how to use the UART for printf instead (which is connected to the OpenSDA circuit on development boards), as well as how to switch between the two options.   Importing SDKs New device support is added to MCUXpresso IDE by importing SDK packages. There’s an XML file inside the SDK packages that tell it all the information the IDE needs to know. Reference this Community post for some of the options you have in how to import an SDK into the IDE, and also refer to Section 4 of the MCUXpresso User Guide or this in-depth training video.   MCUXpresso SDK This is just a re-branding of Kinetis SDK 2.x now that it supports more than just Kinetis devices, so there are no significant differences with this new name change.   Porting a KDS project to MCUXpresso There is no automatic tool to take a KDS project and convert it to a MCUXpresso project, so there is some manual work involved in porting a KDS project to MCUXpresso IDE. The recommended path would be to import/create the closest MCUXpresso SDK project, and then copy in the custom source code and other modifications. Minimal code re-write should be required since the drivers are the same. They are also both Eclipse/GCC based IDEs so predefines should be straight forward to port over. 
View full article
MCUXpresso SDK packages are downloaded as .zip files. If you are using a 3 rd party IDE such as IAR or Keil, then the package must be unzipped in order to access the project files. Also an unzipped SDK folder must be available for the MCUXpresso Config Tools. This is why the default recommendation is to go ahead and unzip a downloaded SDK package.   However if using MCUXpresso IDE, then either the zipped or unzipped SDK can be imported into the MCUXpresso IDE. A zipped SDK will save disk space and can be imported into the IDE more quickly than an unzipped SDK folder. MCUXpresso’s IDE part support is extended by importing MCUXpresso SDKs into the IDE, so this can save some time if you need to add a new device. Also note that your SDK package must support MCUXpresso, and thus must have been recently created in the SDK Builder (after March 24th) with explicit support for MCUXpresso in the package, else you will get an error when trying to import it.  When an MCUXpresso SDK zip package or folder is drag-and-dropped into the IDE, a copy of that zip/folder is made and put into the C:\Users\<user_name>\mcuxpresso\SDKPackages directory. Thus you can delete the original copy that was downloaded to save disk space.     If the imported SDK was zipped, then when creating or importing example projects, the SDK source files are always copied into the workspace. If the imported SDK was unzipped, then you are given the option to either copy the SDK source files into the workspace (which is the default), or the SDK files can be referenced directly as linked references.   If an SDK is imported as a zipped file, it can be later unzipped from inside the MCUXpresso IDE. This unzipping has been optimized so it’s much faster than unzipping it via a program like WinZip. When unzipping inside the MCUXpresso IDE, the zip file that was in the MCUXpresso SDKPackages folder will automatically be deleted from the hard drive once its finished unzipping. You can then use this unzipped folder for that SDK location when using the MCUXpresso Config tools.       You can also add MCUXpresso SDKs by placing an SDK package (zipped or unzipped) into that default SDKPackages directory (C:\Users\<user_name>\mcuxpresso\SDKPackage) and restarting the MCUXpresso IDE.    Finally you can also specify additional directories that MCUXpresso IDE should search for SDK files (both zipped or unzipped) by going to Window -> Preferences -> MCUXpresso IDE -> SDK Options. This can be useful for keeping a repository of SDKs in a special location on your hard drive. For SDKs stored outside the default location though, the "Delete SDK" function is disabled inside the IDE, and the extra search paths are only saved per workspace, so if you choose another workspace, it won't know about the new SDK folders until you re-add the path. If multiple SDKs are found for the same device in different locations, the IDE select the package to use by priority on the list (top has priority).    More detailed information on pre-installed part support and importing SDKs can be found in Section 4 of the MCUXpresso IDE User's Guide, as well as in this informative training video. 
View full article
Semihosting printf with MCUXpresso IDE When importing MCUXpresso SDK projects into MCUXpresso IDE, they will be configured by default to use “semihosting” for the terminal output. This means the project will use the debugger connection to send terminal characters instead of the UART. More information on semihosting can be found on this Community document and in Section 11.4 of the MCUXpresso User Guide.   Note that the information in this post is only applicable when using the MCUXpresso IDE, as the projects for other IDEs will use the UART by default when opening up their respective MCUXpresso SDK projects. Also semihosting only works when there is an active debug connection to the device.    printf with semihosting:   printf with UART Terminal (with TeraTerm):   How to choose UART output during the project import In order to use the UART for MCUXpresso IDE projects, some configuration settings need to be modified when importing in the project. First, you will need to uncheck the “Enable semihosting” option to clear the box. This will tell the project to use the normal libraries and not the semihosting libraries.   Then on the next screen, you’ll want to uncheck the “Redirect SDK “PRINTF” to C library “printf”” box to clear it. This will tell the project to use the MCUXpresso SDK source files for printf instead of the generic C files. This allows you to debug, and modify if desired, the printf functionality found inside the MCUXpresso SDK. Section 5.1.2 of the MCUXpresso IDE User Guide describes the options on this screen in more detail.     Switching between semihosting and UART If you’re already imported the project and wish to switch between using semihosting or the UART, you can do this from the “Quick Settings” menu inside the Quickstart panel.    If moving from semi-hosting to UART, this will change the library used to “nohost-nf” and set SDK_DEBUGCONSOLE define to 1 inside the pre-processor settings. If moving from UART to semi-hosting, this will change the library to “semihost-nf” and set SDK_DEBUGCONSOLE define to 0.    If you're not seeing any printf output, double check you have the right settings.    Note that when importing the project initially and “Enable semihosting” is deselected and “Redirect SDK “PRINTF” to C library “printf”” is deselected in order to use the UART for terminal output, there is no SDK_DEBUGCONSOLE defined in the project settings. However inside the debug console SDK code itself, there is a #if statement so that if that value is not defined, then that define is set to 1, and hence why the SDK debug console is still used in that case.
View full article
This video shows how to import MCUXpresso SDKs into the MCUXpresso IDE.
View full article
The MCUXpresso IDE has a versatile way to create different binary files (S-Record/S19, Intel Hex or raw Binary) which then can be used by other tools like flash programmer or bootloaders. Check out the IDE documentation (menu Help > MCUXpresso IDE User Guide): where you can search for any topics like this: See as well the following article (external link) on that subject: MCUXpresso IDE: S-Record, Intel Hex and Binary Files | MCU on Eclipse  Enjoy!
View full article
As part of my university engagement, I have posted an overview article about the new MCUXpresso IDE: (external link): MCUXPresso IDE: Unified Eclipse IDE for NXPs ARM Cortex-M Microcontrollers | MCU on Eclipse  I hope you find it useful, Erich
View full article
Attached MCUXpresso IDE fact sheet gives an overview about the IDE and its capabilities. More information is available on MCUXpresso IDE|NXP .
View full article