Using Segger Real Time Terminal (RTT) with Eclipse

I have used semihosting more and more in my projects. However, there are several disadvantage of using it:

  • Without special handlers, it only works with an active debug connection going on. Without a debugger attached, the application blocks otherwise.
  • Because it needs debugger interactions, it is rather slow (only several hundreds of bytes per second)

The good news is that Segger supports with their debug probes a faster approach with what they name Real Time Terminal (RTT). And it even runs without a debugger attached to the board: all what I need is a Segger J-Link probe (or Segger J-Link OpenSDA) plus a telnet client.

Segger RTT Viewer

Segger RTT Viewer

Continue reading

Processor Expert Component Repositories

Processor Expert for Kinetis v3.0.0 (which is part of Freescale Kinetis Design Studio v3.0.0, KDS) has now the concept of ‘repositories’ for the components.

Previously, Processor Expert was able to use two paths for its components (e.g. in KDS v2.0.0):

  1. The ‘System‘ directory inside the Eclipse installation
  2. The ‘User‘ directory: a fixed path, global for all installations

These directories are listed in the workspace settings (menu Window > Preferences > Processor Expert > Paths):

Processor Expert Paths in v2.0.0

Processor Expert Paths in v2.0.0

Continue reading

McuOnEclipse Components: 05-July-2015 Release

I know: A new McuOnEclipse Processor Expert components release was long overdue. But I have been extremely busy in the last months, but now the university semester is over, and I have finally some spare time to catch up on a lot of things. So here we go: there is a new component release available on SourceForge (https://sourceforge.net/projects/mcuoneclipse/files/PEx%20Components/): Components 2015-07-05.zip

McuOneEclipse Components on SourceForge

McuOneEclipse Components on SourceForge

Continue reading

How to Reset an ARM Cortex-M with Software

There are cases when I need to do a reset of the device by software. For example I have loaded the application image with the bootloader, and then I need to perform a reset of the microcontroller to do a restart. As a human user I can press the reset button on the board. But how to do this from the software and application running on the board, without user manual intervention? Or if I simply want to reset the system for whatever reason?

Performing a Software System Reset with Kinetis Design Studio
Performing a Software System Reset with Kinetis Design Studio
Continue reading

Merging NXP LPCXpresso IDE with Freescale Kinetis Design Studio, Processor Expert and Kinetis SDK

So NXP announced here a $40 Billion Merger with Freescale. Frequent readers of my blog will know that I’m using in my own and university projects many Freescale devices with Eclipse based tools (Eclipse Kepler/Luna, Emprog ThunderBench, Atollic TrueSTUDIO, Freescale CodeWarrior and of Freescale Kinetis Design Studio) in combination with Processor Expert. In a few projects I have used NXP devices with the CodeRed Eclipse base tools too. So I was curious how that merger of the two silicon companies could look like, if you merge the Freescale and NXP Eclipse based tools, and mix it with Processor Expert and the Freescale Kinetis SDK? The result looks like this:

LPCXpresso v7.7.2 with Processor Expert and Kinetis SDK

LPCXpresso v7.7.2 with Processor Expert and Kinetis SDK

Continue reading

Reduce Eclipse ‘Install New Software’ Installation Time

In Eclipse, the usual way to add new plugins or extend the IDE is using the menu Help > Install New Software. Same thing for the newly released Freescale Kinetis Design Studio V3.0.0: I add the support for new devices in the Freescale Kinetis SDK from the SDK Eclipse update:

Installing Kinetis SDK v1.2 update in Eclipse

Installing Kinetis SDK v1.2 update in Eclipse

One thing I noticed with this (and all others updates I do) is that they take much time to install. That’s expected if the update needs to be downloaded from the web. But I was wondering why it takes so long even if the files are local?

Thanks to a tip (thank you, Marek!), there is a setting to cut the installation time :-). Continue reading

Freescale Processor Expert Survey

Frequent readers of this blog know: I’m using Processor Expert in most of my projects with CodeWarrior, Driver Suite or Kinetis Design Studio. With the move of Freescale to Kinetis Design Studio and the Kinetis SDK with Processor Expert, there is an opportunity for our voice to be heard in a survey Freescale now runs about configuration tools and Processor Expert.

Processor Expert

Processor Expert

Happy Surveying 🙂

Tutorial: FreeRTOS with the Kinetis SDK and Processor Expert

Freescale had announced at FTF back in April this year that they will use Kinetis Design Studio  and the Kinetis SDK for all new Kinetis devices. The switch from CodeWarrior to Kinetis Design Studio (see “Comparing CodeWarrior with Kinetis Design Studio“) was not much of big deal for my projects (although CodeWarrior still has better features), and projects are rather easily portable. However, the move to the Kinetis SDK has been massively disruptive: Before it was easy to move projects from one device to another with Processor Expert, even from S08 to ColdFire to Kinetis. Now with the Kinetis SDK everything is very different. At least Freescale now officially supports FreeRTOS, and for myself as a big fan of that open source RTOS, that was some good news.

Blinking Red LED with FreeRTOS Task using Kinetis SDK, FreeRTOS and Processor Expert

Blinking Red LED with FreeRTOS Task using Kinetis SDK, FreeRTOS and Processor Expert

So in this tutorial I’m showing how FreeRTOS can be used with the Kinetis Design Studio. That makes at least using the Kinetis SDK bit more familiar to me :-).

Continue reading

C++ with Kinetis Design Studio

Unlike CodeWarrior, the Kinetis Design Studio (at least in V1.1.1) does not offer a choice between C and C++ projects. That makes sense with the GNU ARM Eclipse plugins, other than the CodeWarrior gcc integration, there is no need for setting up a special tool chain for C++ (see “Compiling C Files with GNU ARM G++“). While this is great, things are not perfect yet, so I’m providing in this post the information needed to properly setup a C++ project with Kinetis Design Studio V1.1.1.

Debug View of Startup Code Calling C++ Constructors

Debug View of Startup Code Calling C++ Constructors

Continue reading

Switching ARM GNU Tool Chain and Libraries in Kinetis Design Studio

The Freescale Kinetis Design Studio (KDS) V1.0.1 beta is using a different GNU ARM toolchain than the ARM Inc. supported one on launchpad (GCC ARM Embedded). Additionally, KDS is using newlib 1.19 and newlib-nano 1.0, while there just has been a new release of the GCC ARM Embedded a month ago with the 4.8.4 update 2 release in June this year. So how to upgrade KDS to the latest and greatest GCC ARM Embedded?

Continue reading