DIY Free Toolchain for Kinetis: Part 10 – Project Creation with GNU ARM Eclipse 2.1.1

As mentioned in Part 9: There is a new GNU ARM Eclipse plugin 2.1.1, and this one makes project creation for Freescale devices easier than ever 🙂

  • Native Kinetis-L project templates for FRDM-KL25Z and FRDM-KL46Z boards
  • Easier than ever project creation for Processor Expert projects
GNU ARM Eclipse 2.1.1

GNU ARM Eclipse 2.1.1

Continue reading

DIY Free Toolchain for Kinetis: Part 9 – Express Setup in 8 Steps

On Monday the new semester starts, and yet again: we will do a Sumo thing :-). They can choose which tool chain they would like to use to develop their application for the ARM Cortex-M0+ used from Freescale. One option is to create a ‘Do-It-Yourself’ toolchain. Since the start of the series, things have evolved: there is a new GNU ARM tool chain available, Segger has updated their drivers, and most important the GNU ARM Eclipse plugin has been greatly extended to support Freescale parts and Processor Expert. So instead to read through all the previous tutorials, this one is about putting together a free tool chain less than 10 minutes (not counting the time to download around 500 MByte).

DIY Eclipse Toolchain

DIY Eclipse Toolchain

Continue reading

IoT: FreeRTOS Down to the Micro Amps

University research projects can be a lot fun, and are very challenging the same time. The good thing is that there is always someting new to learn :-).

This week-end I was working on my Internet of Things (IoT) project, based on a Freescale KL15Z and a nRF24L01+ transceiver. In essence it is a wireless data logger. For this, I only can afford a few micro amps consumed by the whole board over an extended period of time. I mean 21 micro amps for running a whole board with sensor, EEPROM, wireless transceiver, operating system and an ARM Cortex-M0+ ready to crunch numbers at 20 MHz 🙂

21 micro amps for wireless sensor node

21 micro amps for wireless sensor node (when not sending)

Continue reading

EnterCritical() and ExitCritical(): Why Things are Failing Badly

I have carefully implemented my firmware. It works perfectly for hours, days, months, maybe for years. If there would not be this problem: the firmware crashes sporadically :-(. Yes, I’m using watchdogs to recover, but hey: it is a serious problem. And because it happens only under rare and special conditions, it is hard to track it down or to debug it.

Accessing shared data

Accessing shared data from the main application and from an interrupt

The thing is: these nightmares exist, and they are real and nasty. I’m pushing my students hard on this topic: It is about how to protect critical sections. And what could go wrong. And here is just yet another example: how it can go badly wrong if you are not careful. And it took me a while too to realize where the problem is. It was not a fun ride….

Continue reading

Debugging the same Project Multiple Times in Parallel with Eclipse

I have I project which I want to debug on multiple boards the same time. So how can I download and debug the same application to multiple boards/processors, and debug them all the same time from within the same workspace and Eclipse IDE?

This is a typical scenario I have with my RNet stack: the same application runs on multiple boards, and I want to debug all the boards with the same project with the same Eclipse. For example to wireless sensor nodes with the RNet nRF24L01+ stack as in the picture below:

Two FRDM-KL25Z with nRF24L01+ Transceivers

Two FRDM-KL25Z with nRF24L01+ Transceivers

Continue reading

DIY Free Toolchain for Kinetis: Part 7 – GNU ARM Eclipse Plugins

Tired by the tool chains provided by your silicon vendor? Do you want to use a free and open tool chain? Then you probably followed by “DIY Free Toolchain” series already. In “DIY Free Toolchain for Kinetis: Part 2 – Eclipse IDE” I used the standard GNU Eclipse plugins. As mentioned in above post, there is an even better and more powerful plugin available: the GNU ARM Eclipse plug-ins. There is a dedicated blog site which provides excellent documentation and direct access to new and frequent releases. And these days there is a true a Christmas gift for every Eclipse lover: the version 1.1.7 with the addition of J-Link debugger plugin :-).

GNU ARM Eclipse (http://gnuarmeclipse.livius.net)

GNU ARM Eclipse

Continue reading

New P&E OpenSDA Firmware v114

Good news for everyone having Windows 8.1: P&E has released Dec 11th 2013 a new FRDM board firmware which solves the bootloader issue found with Windows 8.1. The new firmware can download from https://www.pemicro.com/opensda/.

New PnE OpenSDA Firmware

New PnE OpenSDA Firmware

Continue reading

Tutorial: Replacing IAR EW with Eclipse IDE

Are you using IAR tools and you are jealous looking at what others can accomplish with Eclipse? You wish you could use your IAR build tools but taking advantage of Eclipse too?

I do not want to start a religious IDE war here ;-). At least for IAR, there is a way to bring both worlds together: having IAR build and debug tools integrated in Eclipse :mrgreen: :

Using IAR Tools In Eclipse

Using IAR Compiler and Debugger in Eclipse

Continue reading

Review: ThunderBench with the Freescale FRDM Board and Processor Expert

For the Eclipse and Processor Expert lovers of this world: there is another Eclipse based IDE you can use: ThunderBench made by Emprog:

ThunderBench for ARM Eclipse Startup Screen

ThunderBench for ARM Eclipse Startup Screen

They support a range of ARM based devices, including the Freescale ones I’m using. So I downloaded the v3.24 30 day trial from their download page last week. Finally I have found some time to try it out. Could this be an alternative to use my Freescale FRDM boards with Processor Expert?

Continue reading

Using the FRDM-KL25Z with CMSIS-DAP to program non-Freescale ARM Microcontrollers

Freescale might not have thought about this: how to use Freescale boards and silicon to develop for non-Freescale silicon? 😉

I tinkered around using the FRDM (e.g. FRDM-KL25Z) board as a general purpose programming or debugging device. See the links to the posts at the end of this article. I have used it to program and debug other Freescale ARM processors. It requires board changes and the usage of a different OpenSDA firmware which has its own limitations (no USB CDC serial bridge). But for about $15-20 I have a device to program my own external boards :-).

If you are using Keil tools, then the good news is: With CMSIS-DAP you can debug any other (even non-Freescale) ARM device as long it is supported by the IDE :mgreen:

FRDM-KL25Z debugging the nRF51422-DK (Source: Keith Wakeham)

FRDM-KL25Z debugging the nRF51422-DK (Source: Keith Wakeham)

Continue reading