University exam grading are all done now and results are in the system, and it is already time to prepare for the fall semester. I always try to use the latest and greatest tools in my courses, and the NXP MCUXpresso IDE 11.4.0 just came out. So time to have a look and explore the changes and features.
💡 Note that there is the new v11.4.0 build 6237 available which replaces the build 6224 initially used in this article. See https://community.nxp.com/t5/MCUXpresso-IDE-Knowledge-Base/MCUXpresso-IDE-v11-4-0-Now-Available/ta-p/1308619 for details.
While I’m using different IDE’s including the Microsoft Visual Studio Code in my projects, Eclipse is still the de-facto standard for embedded development, especially because of its debugging support.
The 11.4.0 release comes as expected with updated Eclipse, GNU tool chain, config tools, debug libraries and bug fixes. From the release notes and looking at the 11.4.0 release, below are my personal highlights and noteworthy changes:
- ThreadX/Azure RTOS support in addition to FreeRTOS
- Heap and Stack usage for non-bare metal applications
- Energy Measurement
- Offline Peripheral View
- Probe Nicknames, Remote Connections
- Dark Theme
Below some details about the items….
Microsoft is expanding (again?) its efforts into the embedded space, including the acquisition of ThreadX. It will probably take a long time until ThreadX might catch up with FreeRTOS (if ever?), but at least there is now ThreadX debugging support present in the IDE up to the level of FreeRTOS. The ‘RTOS’ menu includes several views to show the application RTOS-specific data, similar to what I love from the views for FreeRTOS:
Heap and Stack Usage
Previously the ‘Heap and Stack Usage’ was only available for bare-metal applications. While it is true that in an non-bare-metal application the RTOS manages typically its own heap and the task stacks, there is still the global heap and the MSP stack present on ARM Cortex-M. The new version considers this and now the standard library heap and main stack is shown in an RTOS environment too:
The Energy Measurement views have been updated, and allow now both sampling the voltage and the target current.
It is now possible to inspect and use the CMSIS-SVD files without a debug session, using the ‘Offline Peripherals’ view:
That way during development and without a debug session or hardware I can inspect and use the peripheral and bit level information:
Probe Nicknames and Remote Connections
I’m frequently debugging multiple boards using multiple debug probes. While the probes can be distinguished by the USB IDs/Serial number, this is not easy to remember. The new IDE includes now the ability to assign and use ‘nicknames’ for the probes. That way I have an easy way to recognize the debug probe I want to use for a debug session:
💡 It works for J-Link, and is supposed to work with P&E probes (but don’t have found a way to assign a nickname).
The nickname is shown in the launch configuration too:
The J-Link connection supports a remote server connection (similar to the Eclipse Embedded CDT):
For all the ‘Dark Theme‘ lovers: the new Eclipse comes with many small improvements for the theme, including ‘dark’ scrollbars, making the view more ‘darker’.
The MCUXpresso IDE 11.4.0 release comes with several good and new enhancements for embedded development for the the NXP LPC, Kinetis and i.MX RT devices. As always: I would not switch during an active project development. But as the IDE works side-by-side with an existing/earlier version, there are benefits to have it installed and use it for the new projects. I will for sure switch my fall semester lab projects to the new version.
Happy Eclipsing 🙂
- Announcement: MCUXpresso IDE v11.4.0 Now Available – NXP Community
- IDE download link: https://www.nxp.com/mcuxpresso/ide/download
- previous version: MCUXpresso IDE 10.3.1