MCUXpresso IDE 10.2.1: Terminate Behavior, FreeRTOS Plugins, and More
The newest MCUXpresso IDE release brought some exciting new features. Check out this post to learn more about terminate behavior and FreeRTOS plugins.
Join the DZone community and get the full member experience.Join For Free
NXP has just released the 10.2.1 update of their flagship Eclipse-based IDE. While the number increase from 10.2.0 to 10.2.1 indicates a minor release, there are several things which make me move over to that new release.
MCUXpresso IDE 10.2.1 build 795
For a detailed change list, you can find it here. Below are a few items from it that I think are worth special mentioning.
There is no need to uninstall the previous version(s). Make sure you always install it into a new folder. Never ‘overinstall’ a new Eclipse IDE over an existing one: bad and strange things might happen!
Using the LinkServer (aka LPC-Link2) debug connection, I can choose what will happen if I use ‘terminate’ (red square/stop button) in the debug session:
The FreeRTOS plugins have been updated to v1.0.6 (20180731518), which fixes a few problems. For example, the pause button works if I restart the debug session properly, so I can unpause the view.
Additionally, it fixes issues with the FreeRTOS heap recognition reported in the community forum. The MCUXpresso IDE now describes how the heap scheme is determined, in regards to:
- The value of the
FreeRTOSDebugConfigstructure (as described in Required Source Code Changes)
- The value of the user-defined variable
- The details contained in the available FreeRTOS heap related variables (
The console log is now showing how the heap memory type has been identified:
FreeRTOS Log entries
Make sure you include
freertos_tasks_c_additions.h by setting:
#define configINCLUDE_FREERTOS_TASK_C_ADDITIONS_H 1
FreeRTOSConfig.h and verify that the proper heap type is set in that structure:
FreeRTOS Memory Scheme
PRIMASK, BASEPRI, FAULTMASK, and CONTROL
With a Linkserver connection, I can now change the ARM core pseudo-registers. This is especially useful during debugging, for example, to enable/disable interrupts:
PRIMASK Editing to disable interrupts
i.MX RT Flash Drivers
The LinkServer debugger connection is using JEDEC SFDP information. The IDE includes examples of i.MX RT 1020 and 1050 flash programming projects which can be used as a starting point for custom boards with FLASH memory which does not include JEDEC SFDP information.
i.MX Flash Driver Examples
The approach described in “Using a Custom Debug Perspective in Eclipse” is now working again with the new IDE:
While this is a minor update, it comes with several improvements and enhancements that were worthwhile for me. I started to use that version instead of 10.2.1 for my projects, and that is going fine so far. Otherwise, I’ll keep you posted.
Opinions expressed by DZone contributors are their own.