OpenOCD/CMSIS-DAP Debugging with Eclipse and without an IDE

OpenOCD is an open source and free-of-charge debugging solution, which is a great option here at the University of Lucerne, as students do not need to buy an expensive debugging probe. Still, I recommend to buy professional probes like the P&E or Segger ones, as they are worth every (Euro) cent. But for a ‘zero’ budget, OpenOCD with CMSIS-DAP is something to consider. And with Kinetis Design Studio using the GNU ARM Eclipse Plugins, OpenOCD is not that hard to be used. And because both Freescale and GNU ARM Eclipse offer OpenOCD Windows binaries, that connection method is in the reach of Windows users too.

FRDM-KL25Z with OpenOCD Debug

FRDM-KL25Z with OpenOCD Debug

Continue reading

Attaching to a Running Target with Segger J-Link, GDB and Eclipse

This happens several times for me: I have a board running for a while (even for days), and then it crashes or is stuck somewhere. Yes, I usually use a watchdog do recover from that situation. But it would be good to know and debug the problem. With CodeWarrior I had the functionality in the debugger to ‘attach’ or ‘connect’ to a running (stuck/crashed) board. However, with Eclipse/Kinetis Design Studio/GDB this is a different debugger, and not possible. At connection time with the debugger the target does a reset, so I don’t know any more where the application crashed. But now I have a solution, at least with the Segger GDB :-).

Debug Hard Fault Attached Target

Debug Hard Fault Attached Target

Continue reading

Snow Plowing (Darth Vader) Sumo Bot

Finally, winter with lots of snow arrived in Switzerland. Getting up at 5am this morning to free up my front yard from the 25 cm snow which came down overnight, so I can drive my wife to work. She does not like driving in snow conditions, but it is fun for me :-). But lots of snow, I thought I could use a little helper bot:

Snow Plowing Sumo Bot

Snow Plowing Sumo Bot

Continue reading

USB with the Freescale FRDM-K22F Board

The FRDM-K22F is one of the latest members of the Freedom board families: 512 KByte Flash, 128 KB RAM and the usual Freedom board components on it. Unfortunately, Freescale decided not to populate the micro-SD card connector on the board, so from this perspective the FRDM-K64F is more value for the money. But the board has USB, so this makes it still interesting. And this is what this post is about: Adding USB to the FRDM-K22F board in a few minutes…

Freescale FRDM-K22F Board

Freescale FRDM-K22F Board

Continue reading

Code Coverage for Embedded Target with Eclipse, gcc and gcov

The great thing with open source tools like Eclipse and GNU (gcc, gdb) is that there is a wealth of excellent tools: one thing I had in mind to explore for a while is how to generate code coverage of my embedded application. Yes, GNU and Eclipse comes with code profiling and code coverage tools, all for free! The only downside seems to be that these tools seems to be rarely used for embedded targets. Maybe that knowledge is not widely available? So here is my attempt to change this :-).

Or: How cool is it to see in Eclipse how many times a line in my sources has been executed?

Line Coverage in Eclipse

Line Coverage in Eclipse

And best of all, it does not stop here….

Continue reading

Tutorial: IoT Datalogger with ESP8266 WiFi Module and FRDM-KL25Z

In my earlier post “Tutorial: Web Server with the ESP8266 WiFi Module” I  used the ESP8266 WiFi module to run a local web server. This is a cool way to control devices inside my network. But to use that web page from the internet, I would need to open up my router which I don’t want to do for obvious reasons. Why not going the other way: host the web page in the internet, and have my board communicating with that internet page? This is exactly what this hype around IoT (Internet of Things) is all about :-).

ThingSpeak Channel for ESP8266

ThingSpeak Channel for ESP8266

Continue reading

Tutorial: Web Server with the ESP8266 WiFi Module

It has been a while since my first post about the ESP8266 (see “Cheap and Simple WiFi with ESP8266 for the FRDM Board“). The ESP8266 is a new inexpensive ($4.50) WiFi module which makes it easy to connect to the network or internet. Finally this week-end I have found the time to write up a tutorial:
how to implement a WiFi web server for the ESP8266 WiFi module and the Freescale FRDM-KL25Z board:

WSP8266 Web Server

WSP8266 Web Server

FRDM-KL25Z with ESP8266 WiFi Module

FRDM-KL25Z with ESP8266 WiFi Module

Continue reading