This is another article about the NXP MCUXpresso IDE (see “MCUXPresso IDE: Unified Eclipse IDE for NXPs ARM Cortex-M Microcontrollers“), this time it is about Post-build steps. Post-build steps are custom actions which can be executed after the build (or link phase), and are typically used to generate S-Record, Binary or Intel Hex files (see “S-Record, Intel Hex and Binary Files“).
Tag Archives: software project
MCUXpresso IDE: Unified Eclipse IDE for NXPs ARM Cortex-M Microcontrollers
There are many mergers going on in the industry, and one of the largest one was in 2016 the integration of Freescale Semiconductor with NXP Semiconductors, with both providing Eclipse based IDE’s to their customer base. Consequently, the company merger triggered a merger of the IDE’s, and last week NXP has released the result: the MCUXpresso IDE.
Tutorial: Using Eclipse with NXP MCUXpresso SDK v2 and Processor Expert
To me, software and tools are by far more important than the microcontroller. Because the silicon is a ‘one time kind of thing’, where the software has to be maintained and working over a longer time. And at least my software usually needs to be ported to a new device, so portability and available software and tools are critical to me.
The combination of MCUXpresso SDK (formerly Kinetis SDK) and Processor Expert is unfortunately not supported by NXP. But I have found a way to get them work together in a nice way, and this article is about making that combination possible :-).
Better FreeRTOS Debugging in Eclipse
With debugging FreeRTOS applications in Eclipse, it is a big to have views available showing all the threads, queues, timers and heap memory allocation. One of the best Eclipse plugins are the one NXP provides for FreeRTOS: they are free of charge and give me pretty much everything I need. However, if you are not that familiar with FreeRTOS itself, here are a few tips to get more out of the plugins.
McuOnEclipse Components: 12-Mar-2017 Release
I’m pleased to announce that a new release of the McuOnEclipse components is available in SourceForge, with the following main features and changes:
- Wait: Busy-Waiting using ARM DWT cycle counter
- Percepio FreeRTOS+Trace: Updated to version 3.1.1, simplified usage of streaming and snapshot mode
- GenericSWI2C: MCUXpresso SDK can be used with the bit-banging I2C driver support
- FreeRTOS: includes updates of the 9.0.1 release, ‘optimized task selection, enabled MPU support (experimental)
- Graphical GUI drivers for screens, windows, icons, headers, text widgets and more
- SSD1351: display driver for Solomon Systech SSD1351 display
- More components are now supported by the McuLibConfig settings
- Many other smaller bug fixes and enhancements
Tips for Making Copy of Eclipse CDT Projects Easier
Instead creating a new project from scratch, often it is simpler to copy an existing Eclipse CDT project, then change it and go on. To copy-past the a project in Eclipse:
- Select the project in the Project Explorer View (CTRL-C on Windows)
- Then paste it in the Project Explorer View (CTRL-V on Windows), and I can specify the new name:
However, to make that process simpler, a few things have to be done right in the ‘source’ project first.
McuOnEclipse Components: 28-Jan-2017 Release
I’m pleased to announce that a new release of the McuOnEclipse components is available in SourceForge, with the following main features and changes:
- New Sharp Memory Display Driver supporting 96×96 and 128×128 pixel ultra low power display
- PID_Int can be used without hardware
- GenericTimeData has added functions to convert date/time into strings
- HardFault can now disable write buffers on ARM Cortex to simplify debugging faults
- Folder support for SEGGER SystemView and Percepio FreeRTOS+Trace
- Component usage without Processor Expert
- NXP MCUXpresso SDK support for FreeRTOS using tickless idle mode and low power timer
- Many other smaller bug fixes and enhancements
Zephyr: Thoughts and First Steps on the ARM Cortex-M4F with gcc, gdb and Eclipse
The concept of Linux (Open Source, broad developer base and broad usage) is a success story. While there is a lot of diversity (and freedom) in the Linux world, Linux is Linux and again Linux :-). And the world has (mostly) standardized on Linux and its variants on the high embedded system side.
On the other side, the ‘middle and lower end’ Embedded world is fragmented and in many aspects proprietary. So it was no surprise to me when the Linux Foundation announced the ‘Zephyr’ project back in February 2016:
“The Linux Foundation Announces Project to Build Real-Time Operating System for Internet of Things Devices. Open source Zephyr™ Project aims to deliver an RTOS; opens call for developers to help advance project for the smallest footprint IoT devices.“
Ζεφυρος (Zephyros) is the Greek good of spring and the west wind. Obviously this inspired the logo for the Zephyr project:

Debugging ARM Cortex-M0+ HardFaults
To me, one of the most frustrating things working with ARM Cortex-M cores are the hard fault exceptions. I have lost several hours this week debugging and tracking an instance of a hard fault on an ARM Cortex-M0+ device.

Upgrading to Sharp 128×128 Pixel Memory Display
In “Low Power LCD: Adafruit Breakout Board with Sharp Memory Display” I used a 96×96 Sharp Display (LS013B4DN04) with the Adafruit breakout board, but because that one seems to be EOL (End Of Life), I searched for a replacement. I have found the 128×128 pixel version (Sharp LS013B7DH03), and best of all, it is pin compatible :-). With a small tweak of the driver, it works :-):







