NXP MCUXpresso IDE User Manual

MCUXpresso IDE User Guide
Rev. 11.3.1 — 2 April, 2021 User guide

NXP Semiconductors MCUXpresso IDE User Guide

MCUXpresso IDE User Guide -
User Guide
2 April, 2021
Copyright © 2021 NXP Semiconductors
All rights reserved.
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
ii
NXP Semiconductors MCUXpresso IDE User Guide
1. Introduction to MCUXpresso IDE ................................................................................... 1
1.1. MCUXpresso IDE Overview of Features ............................................................. 1
1.1.1. Summary of Features ............................................................................. 2
1.1.2. Supported Debug Probes ........................................................................ 3
1.1.3. Development Boards ............................................................................... 4
2. New Features in MCUXpresso IDE version 11.3.x ......................................................... 7
2.1. Feature Highlights from previous releases of MCUXpresso IDE ............................ 8
3. IDE Overview ............................................................................................................. 12
3.1. Workspaces ..................................................................................................... 12
3.2. Welcome View ................................................................................................. 12
3.3. Documentation and Help .................................................................................. 13
3.4. Perspectives and Views ................................................................................... 14
3.5. Major Components of the Develop Perspective ................................................. 16
3.5.1. Dark Theme .......................................................................................... 18
3.6. The Quickstart Panel ....................................................................................... 19
3.7. Project Explorer and New Projects ................................................................... 21
3.8. Updating MCUXpresso IDE .............................................................................. 22
3.8.1. Locating IDE Components ..................................................................... 23
4. Part Support Overview (Preinstalled and via SDKs) ...................................................... 24
4.1. Preinstalled Part Support ................................................................................. 24
4.1.1. Differences in Preinstalled and SDK Part Handling .................................. 24
4.1.2. Viewing Preinstalled Part Support .......................................................... 25
4.2. SDK Part Support ............................................................................................ 26
4.2.1. Obtaining and Installing a Plugin SDK .................................................... 26
4.2.2. SDK Part Support via SDK Builder ........................................................ 28
4.2.3. Obtaining and Installing an SDK via SDK Builder .................................... 28
4.2.4. Installed SDKs Operations ..................................................................... 30
4.2.5. Installed SDKs Features ........................................................................ 33
4.2.6. Advanced Use: SDK Importing and Configuration ................................... 34
4.2.7. Advanced Use: SDK Misc Options ......................................................... 36
4.2.8. Important notes for SDK Users .............................................................. 37
4.3. Enhanced Project Sharing Features .................................................................. 39
4.3.1. Project Drag and Drop .......................................................................... 39
4.3.2. Project Local SDK Part Support ............................................................. 39
4.3.3. Project Local Support files ..................................................................... 41
5. Creating New Projects using installed SDK Part Support .............................................. 44
5.1. New Project Wizard ......................................................................................... 44
5.1.1. SDK New Project Wizard: Basic Project Creation and Settings ................. 46
5.1.2. SDK New Project Wizard: Advanced Project Settings .............................. 49
5.2. Project Build .................................................................................................... 51
5.2.1. Build Configurations .............................................................................. 52
6. Importing Example Projects (from installed SDKs) ........................................................ 53
6.1. SDK Example Import Wizard ............................................................................ 54
6.1.1. SDK Example Import Wizard: Basic Selection ......................................... 54
6.1.2. SDK Example Import Wizard: Advanced options ..................................... 56
6.1.3. SDK Example Import Wizard: Import from XML fragment ......................... 57
6.1.4. Importing Examples to non default locations ........................................... 59
7. SDK Project Component Management ........................................................................ 60
7.1. SDK Project Component Management example ................................................ 60
7.2. SDK Project Refresh ........................................................................................ 63
8. Creating New Projects using Preinstalled Part Support ................................................. 64
8.1. New Project Wizard ......................................................................................... 64
8.2. Creating a Project ............................................................................................ 65
8.2.1. Selecting the Wizard Type ..................................................................... 66
8.2.2. Configuring the Project .......................................................................... 67
8.2.3. Wizard Options ..................................................................................... 67
8.2.4. Project Created ..................................................................................... 70
9. Importing Example Projects (from the file system) ........................................................ 71
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
iii
NXP Semiconductors MCUXpresso IDE User Guide
9.1. Code Bundles for LPC800 Family Devices ........................................................ 71
9.2. LPCOpen Software Drivers and Examples ........................................................ 72
9.3. Importing an Example Project ........................................................................... 72
9.3.1. Importing Examples for the LPCXpresso4337 Development Board ........... 74
9.4. Exporting Projects ............................................................................................ 75
9.5. Building Projects .............................................................................................. 76
9.5.1. Build Configurations .............................................................................. 76
10. Debug Solutions Overview ........................................................................................ 77
10.1. Starting a Debug Session ............................................................................... 77
10.2. An Introduction to Launch Configuration Files .................................................. 78
10.3. LinkServer Debug Connections ....................................................................... 81
10.4. LinkServer Debug Operation .......................................................................... 81
10.4.1. LinkServer Debug Scripts .................................................................... 83
10.5. LinkServer Troubleshooting ............................................................................ 84
10.5.1. Debug Log .......................................................................................... 84
10.5.2. Flash Programming ............................................................................. 86
10.5.3. LinkServer executables ........................................................................ 87
10.6. PEmicro Debug Connections .......................................................................... 87
10.7. PEmicro Debug Operation .............................................................................. 88
10.7.1. PEmicro Differences from LinkServer Debug ........................................ 88
10.7.2. PEmicro Software Updates .................................................................. 89
10.8. SEGGER Debug Connections ........................................................................ 89
10.8.1. SEGGER software installation .............................................................. 89
10.9. SEGGER Debug Operation ............................................................................ 91
10.9.1. SEGGER Differences from LinkServer Debug ....................................... 91
10.10. SEGGER Troubleshooting ............................................................................ 91
11. Debugging a Project ................................................................................................. 95
11.1. Debugging Overview ...................................................................................... 95
11.1.1. Debug Launch .................................................................................... 95
11.1.2. Debug Probe Selection Dialog (Probes Discovered) .............................. 96
11.1.3. Controlling Execution ........................................................................... 99
11.2. Launch Configurations .................................................................................. 101
11.2.1. Editing a Launch Configuration (LinkServer) ....................................... 103
11.3. Common Debug Operations and Launch Configurations ................................. 104
11.3.1. Debug Quickstart Shortcuts ............................................................... 104
11.3.2. Connecting to a running Target (attach) .............................................. 105
11.3.3. Controlling the initial Breakpoint (on main) .......................................... 107
11.3.4. Debugging Pre-loaded binaries (Add Symbols) ................................... 109
11.3.5. Disconnect Behaviour ........................................................................ 110
11.3.6. Project Flash Programming ................................................................ 111
11.4. Breakpoints .................................................................................................. 112
11.4.1. Breakpoint Types .............................................................................. 112
11.4.2. Breakpoints Resources ...................................................................... 112
11.4.3. Skip All Breakpoints .......................................................................... 113
11.5. Watchpoints ................................................................................................. 113
11.5.1. Using Watchpoints to monitor stack depth .......................................... 115
11.6. Registers ..................................................................................................... 115
11.6.1. Basic Register set (Core Registers) .................................................... 116
11.7. Faults .......................................................................................................... 118
11.8. Peripherals .................................................................................................. 120
11.8.1. Peripheral Filters ............................................................................... 122
11.9. Global and Live Global Variables .................................................................. 123
11.10. Live Global Variable Plotting ....................................................................... 126
11.10.1. Live Global Variable Graphing details ............................................... 127
11.11. Heap and Stack View ................................................................................. 129
11.12. Additional Debug Features .......................................................................... 130
11.12.1. Local Variables ................................................................................ 130
11.12.2. Disassembly view ............................................................................ 131
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
iv
NXP Semiconductors MCUXpresso IDE User Guide
11.12.3. Memory view ................................................................................... 132
12. Configuring a Project .............................................................................................. 133
12.1. Changes available via Quickstart Quick Settings ............................................ 133
12.2. Project Settings ............................................................................................ 134
12.3. Changing the MCU (and associated SDK) ..................................................... 134
12.4. Changing the MCU (SDK) package type ....................................................... 136
13. MCUXpresso Config Tools ...................................................................................... 137
13.1. Using the Config Tools ................................................................................. 137
13.1.1. Tool Perspectives .............................................................................. 138
13.1.2. Pins Tool ..................................................................................... 138
13.1.3. Clocks Tool .................................................................................. 138
13.1.4. Peripherals Tool ........................................................................... 138
13.1.5. Device Configuration Tool ............................................................. 138
13.1.6. TEE Tool ..................................................................................... 139
13.1.7. Generate Code ................................................................................. 139
13.1.8. SDK Components .............................................................................. 139
14. The GUI Flash Tool ................................................................................................ 140
14.1. The Advanced GUI Flash Tool ...................................................................... 141
14.1.1. Advanced GUI Flash Tool command Preview ...................................... 142
14.1.2. Advanced GUI Flash Tool logged Output ............................................ 143
14.1.3. Advanced GUI Flash Tool Programming an arbitrary Binary ................. 144
15. LinkServer Flash Support ........................................................................................ 145
15.1. Default vs Per-Region Flash Drivers ............................................................. 145
15.2. Advanced Flash Drivers ............................................................................... 146
15.2.1. LPC18xx / LPC43xx Internal Flash Drivers .......................................... 146
15.2.2. LPC SPIFI QSPI Flash Drivers ........................................................... 147
15.2.3. i.MX RT QSPI and Hyper Flash Drivers .............................................. 148
15.2.4. Flash Drivers using SFDP (LPC and iMX RT) ..................................... 149
15.3. Kinetis Flash Drivers .................................................................................... 152
15.4. Configuring projects to span multiple Flash Devices ....................................... 153
15.5. The LinkServer GUI Flash Programmer ......................................................... 153
15.6. The LinkServer Command Line Flash Programmer ........................................ 153
15.6.1. Command Line Programming ............................................................. 153
16. C/C++ Library Support ............................................................................................ 160
16.1. Overview of Redlib, Newlib and NewlibNano ................................................. 160
16.1.1. Redlib extensions to C90 ................................................................... 160
16.1.2. Newlib vs NewlibNano ....................................................................... 160
16.2. Library Variants ............................................................................................ 161
16.3. Switching the selected C library .................................................................... 162
16.3.1. Manually Switching ............................................................................ 162
16.4. What is Semihosting? ................................................................................... 163
16.4.1. Background to Semihosting ............................................................... 163
16.4.2. Semihosting Implementation .............................................................. 163
16.4.3. Semihosting Performance .................................................................. 163
16.4.4. Important notes about using Semihosting ........................................... 163
16.4.5. Semihosted printf and Debugging ....................................................... 164
16.4.6. Semihosting Specification .................................................................. 165
16.5. Use of printf ................................................................................................. 165
16.5.1. Redlib printf Variants ......................................................................... 165
16.5.2. NewlibNano printf Variants ................................................................. 165
16.5.3. Newlib printf variants ......................................................................... 166
16.5.4. Printf when using LPCOpen ............................................................... 166
16.5.5. Printf when using SDK ...................................................................... 166
16.5.6. Retargeting printf/scanf ...................................................................... 166
16.5.7. How to use ITM Printf ....................................................................... 167
16.6. itoa() and uitoa() .......................................................................................... 168
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
v
NXP Semiconductors MCUXpresso IDE User Guide
16.6.1. Redlib ............................................................................................... 168
16.6.2. Newlib/NewlibNano ............................................................................ 169
16.7. Libraries and linker scripts ............................................................................ 169
17. Memory Configuration and Linker Scripts ................................................................. 171
17.1. Introduction .................................................................................................. 171
17.2. Managed Linker Script Overview ................................................................... 171
17.3. How are Managed Linker Scripts Generated? ................................................ 172
17.4. Default Image Layout ................................................................................... 173
17.5. Examining the layout of the generated image ................................................ 173
17.5.1. Linker --print-memory-usage .............................................................. 174
17.5.2. arm-none-eabi-size ............................................................................ 175
17.5.3. Linker Map Files ............................................................................... 175
17.6. Image Information (Info) ............................................................................... 175
17.6.1. Memory Usage .................................................................................. 177
17.6.2. Memory Contents .............................................................................. 177
17.6.3. Call Graph ........................................................................................ 178
17.6.4. Use of Filters .................................................................................... 180
17.7. Enhanced Syntax Highlighting ...................................................................... 181
17.8. Other Options affecting the Generated Image ................................................ 187
17.8.1. LPC MCUs – Code Read Protection ................................................... 187
17.8.2. Kinetis MCUs – Flash Config Blocks .................................................. 188
17.8.3. Placement of USB Data ..................................................................... 189
17.8.4. Plain Load Image .............................................................................. 189
17.8.5. Link Application to RAM .................................................................... 190
17.9. Modifying the Generated Linker Script / Memory Layout ................................. 191
17.10. Using the Memory Configuration Editor ....................................................... 191
17.10.1. Editing a Memory Configuration ....................................................... 192
17.10.2. Device specific vs Default Flash Drivers ........................................... 195
17.10.3. Restoring a Memory Configuration ................................................... 195
17.10.4. Copying Memory Configurations ....................................................... 195
17.11. Global Data Placement ............................................................................... 195
17.12. Modifying heap/stack placement ................................................................. 196
17.12.1. MCUXpresso style Heap and Stack .................................................. 196
17.12.2. LPCXpresso style Heap and Stack ................................................... 197
17.12.3. Reserving RAM for IAP Flash Programming ...................................... 198
17.12.4. Stack Checking ............................................................................... 198
17.12.5. Heap Checking ................................................................................ 199
17.12.6. Checking the Heap from your Application ......................................... 199
17.13. Placement of specific code/data Items ......................................................... 200
17.13.1. Placing code and data into different Memory Regions ........................ 200
17.13.2. Placing data into different RAM blocks using Macros ......................... 202
17.13.3. Noinit Memory Sections ................................................................... 202
17.13.4. Placing code/rodata into different FLASH Blocks ............................... 203
17.13.5. Placing specific functions into RAM Blocks ........................................ 204
17.13.6. Reducing Code Size when support for LPC CRP or Kinetis Flash
Config Block is Enabled ................................................................................ 205
17.14. FreeMarker Linker Script Templates ............................................................ 205
17.14.1. Basics ............................................................................................. 206
17.14.2. Reference ....................................................................................... 206
17.15. FreeMarker Linker Script Template Examples .............................................. 211
17.15.1. Relocating code from FLASH to RAM ............................................... 211
17.15.2. Configuring projects to span multiple Flash Devices ........................... 214
17.16. Disabling Managed Linker Scripts ............................................................... 215
18. Multicore Projects ................................................................................................... 216
18.1. Introduction .................................................................................................. 216
18.2. Creating a Master / Slave project Pair (using an SDK) .................................... 217
18.2.1. Creating the M0 Slave project ............................................................ 217
18.2.2. Creating the M4 Master project .......................................................... 219
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
vi
NXP Semiconductors MCUXpresso IDE User Guide
18.3. Creating a Master / Slave project Pair (using Preinstalled Part Support) ........... 223
18.3.1. Creating the M0 Slave project ............................................................ 223
18.3.2. Creating the M4 Master project .......................................................... 225
18.4. Debugging MultiCore Projects ....................................................................... 226
18.4.1. Controlling Debug Views .................................................................... 227
18.4.2. Slave Project Debug .......................................................................... 228
18.4.3. Auto-debug slave project(s) for multicore projects ................................ 229
18.5. MultiCore Projects additional Information ....................................................... 231
18.5.1. Defines ............................................................................................. 231
18.5.2. Slave Boot Code ............................................................................... 231
18.5.3. Reset Handler code ........................................................................... 231
19. Appendix – Additional Hints and Tips ....................................................................... 232
19.1. Part Support Handling from SDKs ................................................................. 232
19.1.1. SDK Version control .......................................................................... 232
19.1.2. SDK Manifest versioning .................................................................... 232
19.1.3. Device versions ................................................................................. 233
19.2. How do I switch between Debug and Release builds? .................................... 234
19.2.1. Changing the build configuration of a single project ............................. 234
19.2.2. Changing the build configuration of multiple projects ............................ 234
19.3. Editing Hints and Tips .................................................................................. 234
19.3.1. Multiple views onto the same file ........................................................ 234
19.3.2. Viewing two edited files at once ......................................................... 235
19.3.3. Source folding ................................................................................... 235
19.3.4. Editor templates and Code completion ............................................... 235
19.3.5. Brace matching ................................................................................. 235
19.3.6. Syntax coloring ................................................................................. 235
19.3.7. Comment/uncomment block ............................................................... 236
19.3.8. Format code ...................................................................................... 236
19.3.9. Correct Indentation ............................................................................ 236
19.3.10. Insert spaces for tabs in editor ......................................................... 236
19.3.11. Replacing tabs with spaces .............................................................. 236
19.4. Hardware Floating Point Support .................................................................. 237
19.4.1. Floating Point Variants ....................................................................... 237
19.4.2. Floating point use – Preinstalled MCUs .............................................. 237
19.4.3. Floating point use – SDK installed MCUs ........................................... 238
19.4.4. Modifying floating point configuration for an existing project .................. 238
19.4.5. Do all Cortex-M4 MCUs provide floating point in hardware? ................. 238
19.4.6. Why do I get a hard fault when my code executes a floating point
operation? .................................................................................................... 238
19.5. LinkServer Scripts ........................................................................................ 239
19.5.1. Supplied Scripts ................................................................................ 239
19.5.2. User Scripts ...................................................................................... 239
19.5.3. Debugging code from RAM ................................................................ 239
19.5.4. LinkServer Scripting Features ............................................................ 240
19.6. RAM projects with LinkServer ....................................................................... 243
19.6.1. Advantages of developing with RAM projects ...................................... 244
19.7. The Console View ........................................................................................ 244
19.7.1. Console types ................................................................................... 245
19.7.2. Copying the contents of a console ..................................................... 245
19.7.3. Relocating and duplicating the Console view ....................................... 246
19.8. Using Terminal View for UART communication with target .............................. 247
19.9. Using and troubleshooting LPC-Link2 ............................................................ 250
19.9.1. LPC-Link2 hardware .......................................................................... 250
19.9.2. Softloaded vs Pre-programmed probe firmware ................................... 250
19.9.3. LPC-Link2 firmware variants .............................................................. 250
19.9.4. Manually booting LPC-Link2 .............................................................. 251
19.9.5. LPC-Link2 windows drivers ................................................................ 253
19.9.6. LPC-Link2 failing to enumerate .......................................................... 253
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
vii
NXP Semiconductors MCUXpresso IDE User Guide
19.9.7. Troubleshooting LPC-Link2 ................................................................ 255
19.10. Using and troubleshooting MCU-Link .......................................................... 255
19.10.1. MCU-Link hardware ......................................................................... 255
19.10.2. MCU-Link firmware .......................................................................... 256
19.10.3. MCU-Link Windows Drivers .............................................................. 257
19.10.4. Troubleshooting MCU-Link ............................................................... 257
19.11. Creating bin, hex or S-Record files .............................................................. 258
19.11.1. Simple conversion within the IDE ..................................................... 258
19.11.2. From the command line ................................................................... 259
19.11.3. Automatically converting the file during a build .................................. 259
19.11.4. Binary files and checksums .............................................................. 259
19.12. Post-build (and Pre-build) steps .................................................................. 259
19.12.1. Temporarily removing post-build steps .............................................. 260
19.13. Save Info for Support ................................................................................. 260
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
viii
NXP Semiconductors MCUXpresso IDE User Guide

1. Introduction to MCUXpresso IDE

MCUXpresso IDE version 11.3.1 is a low-cost microcontroller (MCU) development platform ecosystem from NXP. It provides an end-to-end solution enabling engineers to develop embedded applications from initial evaluation to final production.
The MCUXpresso platform ecosystem includes:
MCUXpresso IDE [12] - a software development environment for creating applications for NXP’s ARM Cortex-M based MCUs including “LPC”, “Kinetis” and iMX RT" ranges.
MCUXpresso Config Tools [137] , comprising of Pins, Clocks and Peripherals Tools that are designed to work with SDK projects and are fully integrated and installed by default.
MCUXpresso SDKs [24], each offering a package of device support and example software extending the capability and part knowledge of MCUXpresso IDE.
• The range of LPCXpresso development boards, each of which includes a built-in “LPC­Link”, “LPC-Link2”, or CMSIS-DAP compatible debug probe. These boards are developed in collaboration with Embedded Artists.
• The range of Tower and Freedom development boards, most of which include an OpenSDA debug circuit supporting a range of firmware options.
• The range of iMX RT Series EVK development board which include an OpenSDA debug circuit supporting a range of firmware options, or high performance FreeLink (LPC-Link2 compatible) debug probe.
• The standalone “LPC-Link2” debug probe.
• The standalone “MCU-Link” debug probe.
This guide is intended as an introduction to using MCUXpresso IDE. It assumes that you have some knowledge of MCUs and software development for embedded systems.
Note: MCUXpresso IDE incorporates technology and design from LPCXpresso IDE. This means that users familiar with LPCXpresso IDE will find MCUXpresso IDE looks relatively familiar.

1.1 MCUXpresso IDE Overview of Features

MCUXpresso IDE is a fully featured software development environment for NXP’s ARM­based MCUs, and includes all the tools necessary to develop high-quality embedded software applications in a timely and cost effective fashion.
MCUXpresso IDE is based on the Eclipse IDE and includes the industry standard ARM GNU toolchain. It brings developers an easy-to-use and unlimited code size development environment for NXP MCUs based on Cortex-M cores (LPC, Kinetis and iMX RT). The IDE combines the best of the widely popular LPCXpresso and Kinetis Design Studio IDE’s, providing a common platform for all NXP Cortex-M microcontrollers.
MCUXpresso IDE is a free toolchain providing developers with no restrictions on code or debug sizes. It provides an intuitive and powerful interface with profiling, power measurement on supported boards, GNU tool integration and library, multicore capable debugger, trace functionality and more. MCUXpresso IDE debug connections support Freedom, Tower, EVK, LPCXpresso and custom development boards with industry leading open-source and commercial debug probes including MCU-Link, LPC-Link2, PEmicro and SEGGER.
MCUXpresso IDE User Guide -
User Guide
The fully featured debugger supports both SWD and JTAG debugging, and features direct download to on-chip and external flash memory.
For the latest details on new features and functionality, please visit:
http://www.nxp.com/mcuxpresso/ide
© 2021 NXP Semiconductors. All rights reserved.
Rev. 11.3.1 — 2 April, 2021
1
NXP Semiconductors MCUXpresso IDE User Guide

1.1.1 Summary of Features

Complete C/C++ integrated development environment
• Eclipse-based IDE with many ease-of-use enhancements
• Built on Eclipse 2020.06 (Eclipse Platform 4.16.0 and CDT 9.11.1)
• The IDE installs with various Eclipse plugins including:
• Git, and support for PEmicro debug probes
• The IDE can be further enhanced with many other Eclipse plugins
• Command line tools are included for integration into build, test, and manufacturing systems
Industry standard GNU toolchain GCC9-2020-q2-update including:
• C and C++ compilers, assembler, and linker
• Converters for SREC, HEX, and binary
Advanced project wizards
• Simple creation of pre-configured applications for specific MCUs [64]
• Extendable with MCUXpresso SDKs [44]
• Device-specific support for NXP’s ARM-based MCUs (including LPC, Kinetis and iMX RT)
Automatic generation [171] of linker scripts for correct placement of code and data into Flash and RAM
• Extended support for flexible placement of heap and stack [196]
• Automatic generation of MCU-specific startup and device initialization code
Note: No assembler required with Cortex-M MCUs
Advanced multicore support
• Provision for creating linked projects [216] for each core in multicore MCUs
• Debugging of multicore projects [226] within a single IDE instance, with the ability to link various debug views to specific cores
Fully featured native debugger supporting SWD and JTAG connection via LinkServer
• Built-in optimized Flash programming [145] for internal and external QSPI and Hyper Flash
• High-level and instruction-level debug [99]
Breakpoints [112] and Watchpoints [113]
• Views of CPU registers [115] and on-chip peripherals [120]
• Support for multiple devices on the JTAG scan-chain
Full install and integration of 3rd party debug solutions from:
PEmicro [87]
SEGGER J-Link [89]
Library support
• Redlib: a small-footprint embedded C library
• RedLib-nf: a smaller footprint library offering reduced fprintf support
• RedLib-mb: a library variant offering enhanced semihosting performance
• Newlib: a complete C and C++ library
• NewlibNano: a new small-footprint C and C++ library, based on Newlib
• LPCOpen MCU software libraries
• Cortex Microcontroller Software Interface Standard (CMSIS) libraries and source code
• Extendible support per device via MCUXpresso SDKs
MCUXpresso IDE User Guide -
User Guide
Trace functionality
• Instruction trace via Embedded Trace Buffer (ETB) on certain Cortex-M3/M4/M7 based MCUs or via Micro Trace Buffer (MTB) on Cortex-M0+ based MCUs
© 2021 NXP Semiconductors. All rights reserved.
Rev. 11.3.1 — 2 April, 2021
2
NXP Semiconductors MCUXpresso IDE User Guide
• Providing a snapshot of application execution with linkage back to source, disassembly and
profile
• SWO Trace on Cortex-M3/M4/M7/M33 based MCUs when debugging via MCU-Link and LPC­Link2, providing functionality including:
• Profile tracing
• Interrupt tracing
• Datawatch tracing
• Printf over ITM
Note: Now extended to work with PEmicro and SEGGER J-Link, in addition to native LinkServer
LinkServer Energy Measurement
• On LPCXpresso boards, sample power usage at adjustable rates of up to 100 ksps; average power and energy usage display option
• Explore detailed plots of collected data in the IDE
• Export and import data for offline analysis
MCUXpresso Configuration Tools
MCUXpresso Config Tools [137], designed to work with SDK projects are fully integrated and installed by default

1.1.2 Supported Debug Probes

MCUXpresso IDE installs with built in support for 3 debug solutions. This support includes the installation of all necessary drivers and supporting software.
Note: Certain mbed boards require a serial port driver to be recognised and this one exception must be installed separately for each board. The driver is linked from Help -> Additional
Resources -> MBED Serial Port Driver Website
In normal use MCUXpresso IDE presents a similar interface and array of features for each of the solutions listed below:
Native LinkServer (including CMSIS-DAP) as also used in LPCXpresso IDE
• this supports a variety of debug probes including OpenSDA programmed with CMSIS-DAP firmware, LPC-Link2 etc.
https://community.nxp.com/message/630896
PEmicro
• this supports a variety of debug probes including OpenSDA programmed with PEmicro compatible firmware and MultiLink and Cyclone probes
https://www.pemicro.com/
SEGGER J-Link
• this supports a variety of debug probes including OpenSDA programmed with J-Link compatible firmware and J-Link debug probes
https://www.segger.com/
MCUXpresso IDE User Guide -
User Guide
Please see Debug Solutions Overview Chapter [77] for more details. Note: Kinetis Freedom and Tower boards typically provide an on-board OpenSDA debug circuit.
This can be programmed with a range of debug firmware including:
• mBed CMSIS-DAP – supported by LinkServer connections
• DAP-Link – supported by LinkServer connections (DAP-Link is preferred to mBed CMSIS-DAP when available)
© 2021 NXP Semiconductors. All rights reserved.
Rev. 11.3.1 — 2 April, 2021
3
NXP Semiconductors MCUXpresso IDE User Guide
• J-Link – supported by SEGGER J-Link connections
• PEmicro – supported by PEmicro connections
The default firmware can be changed if required, for details of the procedure and range of supported firmware options please information visit: http://www.nxp.com/opensda
Tip
Under Windows 10, OpenSDA Bootloaders might experience problems and the OpenSDA LED will blink an error code. The following article discusses the problem and how it can be fixed: https://mcuoneclipse.com/2018/04/10/recovering-opensda-
boards-with-windows-10

1.1.3 Development Boards

NXP have a large range of development boards that work seamlessly with MCUXpresso IDE including:
LPCXpresso Boards for LPC
These boards provide practical and easy-to-use development hardware to use as a starting point for your LPC Cortex-M MCU based projects.
Figure 1.1. LPC800 series (LPCXpresso802)
Figure 1.2. LPCXpresso Development Board (LPCXpresso54608)
MCUXpresso IDE User Guide -
User Guide
For more information, visit: http://www.nxp.com/lpcxpresso-boards
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
4
NXP Semiconductors MCUXpresso IDE User Guide
Freedom and Tower Boards for Kinetis
Similarly, for Kinetis MCUs there are many development boards available including the popular Freedom and Tower ranges of boards.
Figure 1.3. Tower (TWR-KV58F220M)
For more information, visit: http://www.nxp.com/pages/:TOWER_HOME
Figure 1.4. Freedom (FRDM-K64F)
For more information, visit: http://www.nxp.com/pages/:FREDEVPLA
iMX RT Crossover Processor Boards
MCUXpresso IDE User Guide -
User Guide
iMX RT based boards bring the convergence of low power applications processors with high­performance microcontrollers.
© 2021 NXP Semiconductors. All rights reserved.
Rev. 11.3.1 — 2 April, 2021
5
NXP Semiconductors MCUXpresso IDE User Guide
Figure 1.5. i.MX RTxxxx Series (MIMXRT1050-EVK)
For more information, visit: https://www.nxp.com/pages/:IMX-RT-SERIES
Figure 1.6. i.MX RTxxx Series (MIMXRT600-EVK)
For more information, visit: https://www.nxp.com/pages/:IMX-RT-SERIES
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
6
NXP Semiconductors MCUXpresso IDE User Guide

2. New Features in MCUXpresso IDE version 11.3.x

The new MCUXpresso IDE product comes with a set of improvements and bug fixes including:
Product
• Eclipse version to 2020.06 (Eclipse Platform 4.16.0 / CDT9.11.1).
• MCUXpresso IDE integrated with OpenJDK8
• GNU ARM Embedded Toolchain to GCC9-2020-q2-update.
• Upgraded SEGGER J-Link software (v6.98a).
• Upgraded PEmicro plugin (v4.9.1).
• Upgraded MCUXpresso Config Tools (v9).
• Integrated GNU test coverage (gcov) and performance analysis (gprof) tools and Eclipse plugins.
• Added i.MX RT1024 support.
• Added i.MX RT1170 B0 support.
• Added i.MX RT1160 support.
• Added RT500 B2 support.
• Added LPC55S06 support.
• Added K32W041AM/K32W041A support.
• Added K32W061 support.
• Added 88MW320 support.
• Added MCU-Link probe debug support.
IDE
• Added Energy Measurement view aiming to replace the Power Measurement view. Main capabilities:
• The new view comes with the same feature-set as the old Power Measurement view;
• From a GUI perspective, it offers consistent look & feel with other views that display and
controls graphs (e.g. Global Variables, SWO-related views);
• Compatible with older LPCs having power on board measurement circuits;
• Power and energy estimation capability;
• Multiprobe and multiview support;
• Data collecting during an out-of-debug session and also during an active debug session;
• Data collecting with an active debug session while the core is in debug mode. Behavior is
controlled via toolbar buttons;
• Configuration of the server-side (rltool) and of the IDE using the Config tab within the view;
• Import/Export data functionality for offline analysis;
• See MCUXpresso_IDE_Energy_Measurement.pdf (or Help -> Help Contents) for details.
• Community forum accessible now from the main toolbar too (together with the older link from Help -> MCUXpresso IDE support forum). The default selection will open the community web inside the IDE.
• If you want to set the default browser as external browser, use Window -> Preferences ->
General -> Web browser -> Use external web browser.
• Enhanced SWO views:
• SWO Config: added new Tab for data traffic statistics, configuration for ITM Stimulus ports;
• SWO Profile: added samples and details tabs;
• SWO Data: added plot (similar to Global Variables);
• SWO Stats: moved inside SWO Config;
• ITM Console: added one tab for each stimulus port;
MCUXpresso IDE User Guide -
User Guide
Debug
• Auto-debug slave project(s) for multicore projects option becomes default option for multicore debug purpose (for LinkServer debug connection only). That means, in the case of multicore
© 2021 NXP Semiconductors. All rights reserved.
Rev. 11.3.1 — 2 April, 2021
7
NXP Semiconductors MCUXpresso IDE User Guide
projects on which master project refers one or several slave projects, debug sessions will be automatically started for slave projects after initiating debug with the master project.
• Option is set by default on: Window -> Preferences -> MCUXpresso IDE -> Debug
Options -> LinkServer Options -> Miscellaneous -> Enable Auto-debug slave project(s) for multicore projects.
• If you don’t want to have this feature enabled (so if you want to start debug sessions for
each core independently), uncheck this option.
• Similar, Auto-debug slave project(s) for multicore projects option becomes default option for multicore debug purpose for PEmicro too. Option is set by default on: Window -> Preferences
-> MCUXpresso IDE -> Debug Options -> PEMicro Options -> Enable Auto-debug slave project(s) for multicore projects.
Firmware version check on MCU-Link probes [98].
Automation/Command line
• Added SDK command line documentation within the layout ( MCUXpresso_SDK_Command_Line_User_Guide.pdf)
• Extend CLI functionality – Add new command to list SDK info:
-filter=string : filters the available information based on regex expression string.
e.g. -filter=K64 will display all data containing K64 string.
Please also see the supplied ReadMe document for further information and details of bug fixes etc. This document is located within the MCUXpresso IDE installation folder.

2.1 Feature Highlights from previous releases of MCUXpresso IDE

Product
• GNU make 4.2.1 is now integrated on IDE on all OS-es.
• FreeRTOS TAD synchronization with FreeRTOS 202002.00.
• New Welcome View [12], designed to provide a dramatically improved out-of-box experience for new users
• Improved IDE Update [22] capability simplifying the update procedure for all supported hosts
• Scripts to create a command line environment now supplied in DOS and Bash versions
• Use of these scripts is described within the Installation Guide
• SDK installation options improved, see SDK Importing and Configuration [34]
• Windows version now uses Busybox (from the GNU MCU Eclipse Windows Build Tools project) to provide Unix-like layer for GCC tools
• All previous Pro Edition features have been incorporated into the standard Free edition and the Pro edition has been discontinued
IDE
• Expressions added in Global Variables are now persistent between debug sessions.
• Added new control to manage the maximum number of child expressions that are evaluated in advance by the Live Variables service. This improves the Global Variables window responsiveness for instance when large structures are displayed. New control available on Eclipse Preferences -> MCUXpresso IDE -> Debug Options -> “Number of subexpressions proactively evaluated by Live Variables service”. Default is 2 set as depth.
• Added Save Info for Support [260] option to help reporting an issue by gathering MCU IDE environment information.
• New Plugin SDK [26] mechanism that provides a simpler flow for selection and installation of MCUXpresso IDE SDKs
• New Dark Theme [18] provides a low-light interface that displays mostly dark surfaces that may be more relaxing on the eye
• Improved Image Information View [175]
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
8
NXP Semiconductors MCUXpresso IDE User Guide
• Improved Installed SDK Operations [30]
• Improved Code Size [174]
• the code size of debug builds of SDK projects has been reduced by decreasing the overhead
of the assert() function, which is commonly called by SDK functions.
• Added support for handling more complex specification of dependencies between SDK components.
Heap and Stack View [129] for all debug solutions
• shows usage against allocated Managed Linkerscript [171] RAM allocation for bare metal
projects
• Live Heap updates and stack when paused
Image Information View [175] extends and replaces the Symbol Browser
• incorporating detailed memory usage plus hyperlinked Memory Content and Static Call
Graph display
• Revamped Develop Perspective [16]
• Editor Syntax Highlighting [181] for linker scripts, linker templates and debug map files
• providing linked navigation of file contents
• Redesigned Quickstart Panel [16]
• Quick Start panel -> Quick Settings [133] now displays the current settings for Library
• links for Dedicated Debug Operations [104] for all supported Debug Solutions
Faults View [118] automatically displayed (for LinkServer) should a CPU fault occur
• Improved Registers View [115] with enhanced display and grouping options
Launch Configurations [78] are now only automatically generated for the selected build configuration
• Project Memory Configuration [192] can now be edited in place for settings and wizards
• Project Explorer view enhanced to display current project build configuration for the selected project (also displayed in Quickstart view)
• Support for new MCUs based on the ARM Cortex M33
Projects
• Imported or new projects [21] will now expand to show the source file containing the main function and also opens this file within the editor
• Improved display of Components in New Project Wizard [44]
• Quick Start panel -> Quick Settings [133] now displays the current settings
• Project association with an SDK (MCU) can now be flexibly managed, maintaining existing memory configuration if desired see Project Configuration [133]
• Many enhancements for improved Project Sharing [39] including:
• Drag and Drop of projects for import and export
• Options for project local inclusion of: SDK part support, flash drivers, and LinkServer connect
and reset scripts
Project Virtual Nodes [134] introduced to enable easy visibility and editing of project configurations
Project GUI Flash Tool [111] for all debug solutions delivered via project launch configurations
Debug
• Most LinkServer Flash Programming [86] now implements a Verify Same operation for any flash sector that are unchanged from previous debug operations
• LinkServer MultiCore debug operations can now be started via a single click
• Reworked Live Global Variables [123] graphing offering improvements to variable selection and display
• Reworked SWO Interrupt trace
• LinkServer LPC-Link2 firmware now softloaded as v5.361 which offers improved debug control through target reset
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
9
NXP Semiconductors MCUXpresso IDE User Guide
• Redesigned LinkServer Launch configuration [78] dialogue offering improved functionality and ease of use
• this is reflected in a new LinkServer Launch configuration icon
• New launch configuration tab for all debug solutions to allow the loading of Debug
Symbols [109] from additional images
• Improved performance for Single Stepping LinkServer debug connections
• Implemented support for SWO Trace on Cortex-M33 based MCUs
Live Global Variables [123] are now available for SEGGER JLINK and PEmicro debug probes in addition to LinkServer LPC-Link2
• LinkServer internal flash drivers prioritised over supplied SDK drivers
Debug Shortcut buttons [104] now Multicore aware ensuring slave project attach settings are observed
• Improved Faults View [118] now displays Fault Address when available
• SWO trace features are now available for SEGGER JLINK and PEmicro debug probes in addition to LinkServer LPC-Link2
• LinkServer LPC-Link2 firmware now softloaded as v5.224 and offers faster operation and improved flash programming performance
• LinkServer debug probes now support selection via their serial number (for command line use)
• Increased integration of our supported debug solutions including:
GUI Flash Tool [140] is re-architected to provide support for LinkServer, PEmicro and
SEGGER debug solutions
• offering binary flash programming and erase capability for all supported debug solutions
• with a feature set integrated into the Quickstart panel, project Launch Configurations and from the IDE as before
• Instruction trace is seamlessly supported by LinkServer, PEmicro and SEGGER debug solutions
LinkServer Semihosted Operations [164] including printf are further optimised to deliver approximately double the performance of the previous release
Re-architected Semihosting Mechanism [164] via new library variant Redlib MB and LinkServer which can deliver both a further increase in performance and no disruption to code executing with time critical interrupts
• LinkServer Graphing of Global Variable Values [126]
Live global variable values can now be traced both in graphical and tabular forms
Peripheral Display Filtering [122] to simplify complex peripheral views
MCUXpresso IDE User Guide -
User Guide
LinkServer Flash Programming
SFDP Flash Drivers [149] extended to support iMX RT MCUs
• Programming of data flash regions on certain Kinetis parts is now supported
• Improved flash programming performance and reliability
• LinkServer Enhanced External SPIFI/QSPI programming [149] via self configuring flash drivers
• using JEDEC SFDP (Serial Flash Discovery Protocol) available for LPC18/43, LPC546xx,
LPC540xx (iMX RT to be made available post release)
SDK
• Improved SDK installation and refresh time
• Redesigned New and Import SDK example wizard
• incorporating Error Decorators
• SDK part support is now generated within the current workspace eliminating issues that could arise if multiple IDEs were launched
• part support is intelligently regenerated when required avoiding unnecessary delays
SDK drag and drop location [34] can now be set via a workspace preference
• Installed SDK view improved to display version information and enhanced tooltips
• SDK Manifest Analyser to provide visibility of SDK XML description
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
10
NXP Semiconductors MCUXpresso IDE User Guide
• Easy access to Embedded Documentation [30]
• Extension of SDK Component Management to allow Project Refresh [63]
• improved SDK Component Management
• General Improvements in SDK Handling including:
• SDK version string now present and reported in SDK view
• user selection of versioned internal XML descriptions (enabled via preference)
• better automatic support for SDKs with overlapping capabilities
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
11
NXP Semiconductors MCUXpresso IDE User Guide

3. IDE Overview

The following chapter provides a high level overview of the features offered by MCUXpresso IDE (often referred to as the IDE).

3.1 Workspaces

When you first launch MCUXpresso IDE, you will be asked to select a Workspace, as shown in Figure 3.1.
Figure 3.1. Workspace selection
A Workspace is simply a filing system directory used to store projects and data, and the recommended default location should typically be accepted for new installations. If you tick the Use this as the default and do not ask again option, then MCUXpresso IDE will always start up with the chosen Workspace opened; otherwise, you will always be prompted to choose a Workspace.
MCUXpresso IDE can only access a single Workspace at a time but many Workspaces may be used. You may change the Workspace that MCUXpresso IDE uses, via the File -> Switch
Workspace option.
Tip
It is possible to run multiple instances of the IDE in parallel with each instance accessing a different Workspace.
Note: when changing workspaces, you may choose to copy settings (preferences) from an existing workspace to the new workspace using the various Copy Settings tick box options.

3.2 Welcome View

MCUXpresso IDE version 11.1.0 launches with a new Welcome View. This View is intended to help reduce the learning curve for new users by offering links and help for common tasks and IDE operations.
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
12
NXP Semiconductors MCUXpresso IDE User Guide
Figure 3.2. Welcome View
1. Click to select, download and install a Plugin SDK [26]
2. Click to be guided through Creating a New Project [44]
3. Click to be guided through Importing an Example [53]
Since support for most NXP MCUs is added to the IDE via the installation of an SDK, the first option is to guide the user to a new Plugin SDK [26] installation view. From this view, an SDK for a required MCU or (development board) can be selected, downloaded and installed with just a few clicks. Also from this screen are guided workflows for creating New Projects and Installing SDK Examples.
Across the top of this View are links to Features and Resources including a jump to IDE link (highlighted above) which takes the user directly to the IDE’s main development view (Perspective).
Note: This Welcome View is provided by Eclipse functionality and so incorporates standard icons to maximise, minimise and restore etc. like all Eclipse views. Since this view is intended to be used full screen, minimising or restoring may lead to a poor screen layout. The recommended way to switch back to the main IDE Develop view is via the IDE link or by closing this Welcome Screen. The Welcome View can be restored at any time by clicking the Home Icon within the main Eclipse Icon view.
The Welcome view can be disabled from appearing at startup by unchecking the box at the lower right of the view.

3.3 Documentation and Help

MCUXpresso IDE User Guide -
User Guide
In addition to the help features offered from the Welcome View are a comprehensive suite of Guides.
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
13
NXP Semiconductors MCUXpresso IDE User Guide
MCUXpresso IDE is based on the Eclipse IDE framework, and many of the core features are described well in generic Eclipse documentation and in the help files to be found on MCUXpresso IDE’s Help -> Help Contents menu. It also provides access to the MCUXpresso IDE User Guide (this document), as well as the documentation for the compiler, linker, and other underlying tools.
MCUXpresso IDE documentation comprises a suite of documents including:
• MCUXpresso IDE Installation Guide
• MCUXpresso IDE User Guide (this document)
• MCUXpresso IDE SWO Trace Guide
• MCUXpresso IDE Instruction Trace Guide
• MCUXpresso IDE LinkServer Energy Measurement Guide
• MCUXpresso IDE FreeRTOS Debug Guide
• MCUXpresso (IDE) Config Tools User’s Guide
These Guides are also supplied in PDF format within the MCUXpresso IDE’s installation folder. To obtain assistance on using MCUXpresso IDE, visit: http://www.nxp.com/mcuxpresso/ide Related web links can be found at Help -> Additional resources as shown below:
Figure 3.3. Additional Resources

3.4 Perspectives and Views

The overall layout of the main MCUXpresso IDE window is known as a Perspective. Within each Perspective are many sub-windows, called Views. A View displays a set of data in the IDE environment. For example, this data might be source code, hex dumps, disassembly, or memory contents. Views can be opened, moved (dragged), docked, and closed, and the layout of the currently displayed Views can be saved and restored.
Typically, MCUXpresso IDE operates using the single Develop Perspective, under which both code development and debug sessions operate as shown in Figure 3.6. This single perspective simplifies the Eclipse environment, but at the cost of slightly reducing the amount of information displayed on screen.
Alternatively, MCUXpresso IDE can operate in a “dual Perspective” mode such that the C/
C++ Perspective is used for developing and navigating around your code and the Debug Perspective is used when debugging your application.
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
14
NXP Semiconductors MCUXpresso IDE User Guide
Note: when within the debug perspective, the concept of a selected project remains. The Blue
Debug button tool tip will display this selected project. Also, if a debug operation is started within the Debug perspective and a switch is made to the Develop perspective, the IDE will automatically open a debug stack view to display the active debug connection.
You can manually switch between Perspectives using the Perspective icons in the top right of the MCUXpresso IDE window, as shown in Figure 3.4.
Figure 3.4. Perspective selection
New perspectives can be selected by clicking the view+ icon. Once a view has been selected, its icon will appear within the horizontal section as highlighted above.
All Views in a Perspective can also be rearranged to match your specific requirements by dragging and dropping. If a View is accidentally closed, it can be restored by selecting it from the Window -> Show View dialog. The default layout for a perspective can be restored at any time via Window -> Perspective -> Reset Perspective.
Commonly used Views for Analysis (Trace) and RTOS debugging have been made more readily available via top level drop down menus as shown below:
Figure 3.5. Additional Views
MCUXpresso IDE User Guide -
User Guide
One selected, these additional views will appear alongside the Console view but can be relocated as desired.
Note: The rest of this guide assumes the default Develop Perspective is used.
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
15
NXP Semiconductors MCUXpresso IDE User Guide

3.5 Major Components of the Develop Perspective

Figure 3.6. Develop Perspective (whilst debugging)
1. Project Explorer / Peripherals / Registers / Faults
• The Project Explorer view (shown) gives you a view of all the projects within your current
Workspace. [12]
• Many editing and configuration features are available from this view including new Project
Sharing [39] options and Virtual Nodes [134]
• When debugging, the Peripherals view allows you to display a list of the MCU
Peripherals [120] and project memory regions. Selecting a peripheral or memory region
will spawn a new window to display the detailed content. Note: depending on your MCUs configuration, some peripherals may not be powered/clocked and hence their content will not display.
• When debugging, the improved Registers view allows you to view the Registers [115] and their content within the CPU of your MCU.
• Pseudo registers are also displayed here such as ‘cycle delta’ which shows the calculated
number of cycles since the last pause
• Also displayed here is the Faults view, which will appear automatically if a CPU Fault [118] (such as hard fault) occurs. This view decodes CPU registers to provide detailed information indicating the reason for the fault occurring.
2. Quickstart / Variables / Breakpoints
• On the lower left of the window, the Quickstart Panel View (shown) has fast links to commonly used features. From here you can launch various wizards including New Project, Import projects from SDK and also from the File System plus options such as Build, Debug, Export etc.. The large icon in each section will perform the first option in the group i.e. New project, Build, Debug. Also, the Debug group contains debug solution specific Debug
Shortcut buttons [104].
Note: This Panel is essential to the operation of MCUXpresso IDE and so cannot be
removed from the perspective.
• Sitting in parallel to the Quickstart Panel, the Variables View allows you to see and edit the values of local variables.
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
16
NXP Semiconductors MCUXpresso IDE User Guide
• Sitting in parallel to the Quickstart Panel, the Breakpoints View allows you to see and modify currently set Breakpoints [112] and Watchpoints [113] .
3. Debug
• The Debug View appears when you are Debugging [95] your projects. This view shows you the debug stack, in the “stopped/paused” state you can click within the stack and inspect items in scope such as local variables.
4. Editor
• Centrally located is the Editor, which allows creation and editing of source code and other text files. When debugging, this is where you can see the code you are executing and can step from line to line. By pressing the 'i->' icon at the top of the Debug view, you can switch to stepping from source to assembly instructions. Clicking in the left margin will set and delete Breakpoints [112]
Enhanced Editors [181] provides structure, keyword and linkage for debug Map files,
Linker Script and Linker Template files.
5. Console / Installed SDKs / Problems / Trace Views / Power Measurement
• On the mid lower of the window are Console, Installed SDK and Problems Views etc. The Console View displays status information on compilation and debug operations, as well as displaying semihosted program output.
• The Installed SDK [24] view (shown) enables the management of installed SDKs. New SDKs can be added as Plugins via Drag and Drop or Copy and Paste. Other SDK management features are also provided from this view including unzip, explore and delete. Details of any selected SDK can be viewed in Outline view.
• SDK Documentation can be browsed and extracted
• The Problems View shows all compiler errors and warnings and will allow easy navigation to the error location in the Editor View.
• The Image Information View
• This Image Information [175] view provides detailed information on an image (or object)
static memory footprint (usage and content).
6. Quick Access/Perspective Selection
• Enables quick access to features such as views, perspectives etc. for example enter ‘Error’ to view and open the IDE’s Error Log, or ‘Trace’ to view and open the various LinkServer Trace views.
• Perspective Selection allows you to switch between the various defined perspectives.
7. Outline / Global Variables
• The Outline View allows you to quickly locate symbols, declarations, functions within the editor view. This view can also display details of any SDK selected in the Installed SDK view.
• Sitting in parallel is the Global Variables View (shown) which allows you to see and edit the values of Global variables.
• Variables can be monitored while the target is running using the Live Variables [123]
and Variable Graphing [126] features.
8. Memory / Heap and Stack / Trace
• The Memory View provides a range of options for viewing target memory
• The Heap and Stack View enables easy monitoring of Heap and Stack [129] values for bare metal projects.
• Warnings are given when preset limits are approached or exceeded
Trace Views
• Trace Views including SWO Trace (Profiling shown), Instruction Trace, and Power are not
shown on this screenshot, however these views may be selected when required from the Analysis Menu. For more information on Trace functionality, please see the MCUXpresso
IDE SWO Trace Guide and/or the MCUXpresso IDE Instruction Trace Guide and/or the MCUXpresso IDE LinkServer Power Measurement Guide.
• The SWO Trace Views allow you to gather and display runtime information using the
SWO/SWV technology that is part of Cortex-M3/M4/M7/M33 based parts.
• The Instruction Trace view on certain MCUs, you can capture and view instruction trace
data downloaded from the MCU’s Embedded Trace Buffer (ETB) or Micro Trace Buffer (MTB).
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
17
NXP Semiconductors MCUXpresso IDE User Guide
• The Power Measurement View, this view is capable of displaying real-time target power
usage. For more information please see the MCUXpresso IDE Power Measurement Guide.
9. Status Bar Shortcuts
• Various useful shortcuts, for example to open a project’s workspace or to open a terminal at the project’s location with the IDE’s environment. Hover here and tooltips will explain the various options.

3.5.1 Dark Theme

MCUXpresso IDE contains support for a Dark Theme. Dark Theme is a Workspace preference that can be selected from Window -> Preferences -> Appearance -> Theme followed by a selection from the drop down menu.
Figure 3.7. Appearance Preference
When selected, a Dark theme with be used to render the perspective and will appear similar to the image below:
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
18
NXP Semiconductors MCUXpresso IDE User Guide
Figure 3.8. Develop Perspective Dark
Note: An IDE restart File -> Restart is required for the perspective to display correctly.

3.6 The Quickstart Panel

A key feature of MCUXpresso IDE is the Quickstart Panel – which is frequently referenced
with this document. The Quickstart panel is designed to bring together many of the common IDE features and operations including links to Project Creation, Project Building, Project Debug and Miscellaneous common Project operations.
It is strongly recommended that this panel is used to perform the supported MCUXpresso IDE operations described below since many underlying Eclipse features are enhanced when accessed in this way to improve and simplify the user experience.
Features of the Panel are highlighted and described below:
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
19
NXP Semiconductors MCUXpresso IDE User Guide
Figure 3.9. The Quickstart Panel
Tip
The Large Icon performs the action of the first button in the group
Where:
1. Shows the Project currently selected within the Project Explorer view. Build, Debug and Miscellaneous operations will be performed to this Project
2. Links to Create New [44], Import SDK [53] and Import from the FileSystem [71]
3. Build [51] (or Clean) the currently selected Project
• See progress and results within the Console [244] view
4. Debug the currently selected Project
• Clicking Debug [95] will by default Build the project (if necessary), perform a Debug Probe
Discovery, create a default Launch Configuration [78] (if necessary) and if successful, begin the debug session.
• Terminate, Build and Debug, Terminates the existing Debug session for the selected project,
and them performs another debug operation. It is intended to be used for iterative source code fix and debug retry operations
5. Debug Shortcuts [104] offer a range of debug operations for specific vendor Debug Solutions
6. The Miscellaneous section offers a range of option and shortcuts
• Edit project settings is a shortcut equivalent to a right click on a project and then selecting
Properties
MCUXpresso Config [137] Tools offers shortcuts to launch one of the Config tools for the
selected project
Quick Settings [133] offers a range of options for the currently selected project
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
20
NXP Semiconductors MCUXpresso IDE User Guide
• Export the selected Project (and References) to the file system. See also additional
information on Sharing Projects [39]
• this feature requires that the project is selected at the top level within Project Explorer
• Build the Active Build Configuration of all projects within the current Workspace.
Tip
If the Quickstart panel has become hidden, then in the menu bar at the top of the IDE, select Window -> Show View -> MCUXpresso IDE and double-click on Quickstart

3.7 Project Explorer and New Projects

The version of Eclipse underlying MCUXpresso IDE incorporates some new Project Explorer functionality that is seen only when there are no projects within the chosen Workspace [12]
- as shown below:
Figure 3.10. Project Explorer Empty
The first two options here are directly equivalent to the first two operations offered via the Quickstart panel. It is recommended that the Quickstart is used in preference to the remaining options since this ensures that MCUXpresso IDE wizards and functionality is used.
Note: Due to this Eclipse feature, Drag and Drop functionality to the Project Explorer view is unavailable until the first project is created or imported.
New or Imported Projects will appear in the Project Explorer view. A newly created project will automatically expand to show the source file containing the main function. This source file will also be opened into the editor for convenience as shown below.
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
21
NXP Semiconductors MCUXpresso IDE User Guide
Figure 3.11. New or Imported Project

3.8 Updating MCUXpresso IDE

MCUXpresso IDE incorporates the facility to update an installation to add new features, updates and/or to roll out bug fixes etc. To facilitate this mechanism, MCUXpresso IDE version internals locate key components with Eclipse style plugins.
Tip
Locating low level components can be difficult due to both the complex directory structure but also because component locations may change after an update is performed. Therefore, to simplify the experience a number of softlinks are available within the install_dir/ide as discussed in section below “Locating IDE Components”
By default, when an update is released by NXP, a notification of the availability will appear at the bottom of the screen.
Figure 3.12. Update Notification
Alternatively you can check for updates via Help -> Check for Updates. If updates are available you will be presented with a dialogue similar to that below:
MCUXpresso IDE User Guide -
User Guide
Rev. 11.3.1 — 2 April, 2021
© 2021 NXP Semiconductors. All rights reserved.
22
Loading...
+ 239 hidden pages