Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

MCUXpresso IDE 10.2.1: Terminate Behavior, FreeRTOS Plugins, and More

DZone 's Guide to

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.

· IoT Zone ·
Free Resource

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

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!

Terminate Behavior

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:

Terminate behavior

Terminate behavior

FreeRTOS Plugins

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.

Pause Button

Pause Button

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:

  1. The value of the configFRTOS_MEMORY_SCHEME in the FreeRTOSDebugConfigstructure (as described in Required Source Code Changes)
  2. The value of the user-defined variable freeRTOSMemoryScheme
  3. The details contained in the available FreeRTOS heap related variables ( ucHeap, xHeapStructSize, and heapSTRUCT_SIZE).

The console log is now showing how the heap memory type has been identified:

FreeRTOS Log entries

FreeRTOS Log entries

Make sure you include freertos_tasks_c_additions.h by setting:

#define configINCLUDE_FREERTOS_TASK_C_ADDITIONS_H 1


in FreeRTOSConfig.h and verify that the proper heap type is set in that structure:

FreeRTOS Memory Scheme

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

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

i.MX Flash Driver Examples

Debug Perspective

The approach described in “Using a Custom Debug Perspective in Eclipse” is now working again with the new IDE:

Debug Perspective

Debug Perspective

Summary

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.

Happy MCUXpressing!

Links

Topics:
iot ,mcuxpresso ide 10.2.1 ,mcuxpresso ,mcuxpresso ide ,tutorial ,free rtos

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}