The Freescale OpenSDA Trap: “No Device Available”, or something like that….

Self-Motivation: I write this post in the hope to cut the number of ‘please help me’ emails in my inbox ;-):

If you want to debug one of the Freescale boards with OpenSDA (FRDM-KL25Z, FRDM-K20, FRDM-KL05Z, FRDM-KL46Z48M, FRDM-KL02Z, TWR-KL47Z48M, …), and if you get this dialog …

No Device Available

No Device Available

… then read on.

Continue reading

Tutorial: FreeMASTER Visualization and Run-Time Debugging

“A picture says more than 1000 words.”

I don’t know the source of that quote, but for sure it is true for every developer and engineer too. Engineers need to work a lot with numbers. But numbers can be transformed into pictures and graphs which can make complex things and relationships easier to understand. Verifying proper functionality of a PID closed loop controller or watching sensor values with a nice plot is definitely something very useful. Would it not be great to watch sensor data changing over time in a chart like the one below?

Accelerometer Graph

Accelerometer Graph

One way is to export data and then show it e.g. in Excel (which has been great chart functions). But even better, if this could be done directly with data provided from the target board? If you think this is hard to do, then I can show you how this can be done in a few steps with the help of a very nice tool: FreeMASTER 🙂

Continue reading

DIY Free Toolchain for Kinetis: Part 6 – Linux Host with OpenOCD and CMSIS-DAP

For everyone who wants to build a Do-It-Yourself toolchain for Kinetis on Linux, I recommend to read the following excellent post by Karibe:

Setting up Linux opensource build and debug tools for freescale freedom board FRDM-KL25Z

He describes how to get OpenOCD with CMSIS-DAP working with Eclipse on Ubuntu to debug the FRDM-KL25Z board.

List of Tutorials

Happy Linuxing 🙂

DIY Free Toolchain for Kinetis: Part 5 – FreeRTOS Eclipse Kernel Awareness with GDB

So far I have covered in this tutorial series how to install ARM GNU gcc, adding Eclipse, followed by adding GNU GDB debugger, and then adding Processor Expert. I’m using FreeRTOS a lot in my projects, and luckily there is a Kernel Awareness Plugin available for FreeRTOS for GDB in Eclipse. This tutorial is about how to install and use it.

Queues and Tasks

Queues and Tasks

Continue reading

DIY Free Toolchain for Kinetis: Part 3 – Debugger (GDB Server with P&E and Segger)

This is the third part of a tutorial series how to ‘do-it-yourself’ a tool chain for the Freescale Kinetis microcontroller, with the FRDM-KL25Z as example. The tool chain is using GNU ARM gcc plus Eclipse Kepler release. So far I have the following parts:

List of Tutorials

So far things are very generic. But with debugging it means different hardware, and different hardware connections. And for this connection we need a GDB Server.

GDB Server

Eclipse CDT features a GNU Debugger (GDB), and this is what I want to use here: debugging my microcontroller with GDB inside Eclipse. In order to debug the microcontroller, I need two other things: a GDB Server and a Debug Probe.

GDB with GDB Server

GDB with GDB Server

Continue reading

Using Keil µVision 4 (ARM-MDK) with Processor Expert Driver Suite

❗ This article has been written for the version 4 of µVision. There is an update for version 5 of µVision here: “Using Keil μVision 5 with Processor Expert

The good thing with using ARM microcontroller is: there are plenty of tool choices. Even myself, I’m using multiple different tool chains. And while I’m heavily using Eclipse, there are non-Eclipse tool chains which have their advantages too.

The cool thing with CodeWarrior is that beside of Eclipse based, it comes with Processor Expert integrated. And I’m using Processor Expert a lot in my projects. But using Processor Expert does not mean I’m limited to CodeWarrior or Eclipse. So I can use CodeRed or IAR as tool chain with it. And this post is about using Processor Expert with the µVision tool chain from Keil/ARM.

Keil uVision Splash Screen

Keil uVision Splash Screen

Continue reading

Bricking and Recovering FRDM-KL25Z Boards: Reset, SWD Clock and Low Power

I’m working with a student on building a small autonomous robot platform, based on the FRDM-KL25Z board. We integrated new software modules, compiled and linked, and then downloaded the application to the board. While debugging and stepping through the application startup, I had this:

The Debugger has lost communication on connection

The Debugger has lost communication on connection

Outsch! That’s not good. Even worse, trying to connect again to the board failed :-(. What happened?

Continue reading

CMSIS-DAP with IAR and the KL25Z Freedom Board

Beside of USBDM, there is another Open Source implementation of a debug interface for the Freedom Board OpenSDA: CMSIS-DAP.

CMSIS-DAP stands for ‘Cortex Microcontroller Software Interface Standard – Debug Access Port’) has been published by ARM Inc. With this, there is an open source alternative to proprietary implementation (e.g. P&E OpenSDA or Segger OpenSDA).
Beside of the ARM MDK IDE, CMSIS-DAP is supported by Coocox and IAR. And IAR is what I’m using in this post.

Continue reading

Freedom Board with Segger OpenSDA Debug Firmware

Looks like there is some movement on the ‘OpenSDA Front’: After CodeRed has released their RedProbe OpenSDA firmware, now Segger has released an OpenSDA firmware.

With this, I get a low-cost debugging solution similar to the well-known J-Link run control devices. The OpenSDA Segger Firmware is something like a J-Link-lite.

FRDM-KL25Z with Segger OpenSDA Debug Firmware

FRDM-KL25Z with Segger OpenSDA Debug Firmware

Continue reading