Adding Multiple Include Paths to Build Settings in Eclipse

In Eclipse and CDT, I need to tell the compiler where it has to search for the header files. The normal way is to go to the compiler settings (menu Project > Properties > C/C++ Build > Settings) and then add the include paths, one by one, using the ‘+’ icon:

Adding Include Path

Adding Include Path (shown using the GNU ARM Eclipse plugin)

But for many include paths, this is a time-consuming process. But there is another way.

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

McGyver Way: Power over USB

Travel is a hassle these days: airline on strike in Europe, long security lines at the airport, bumpy flight and long transfer to the hotel which is so tiny that the taxi driver missed it twice! Anyway, at least this time the reservation of the room *did* work. Arrived completely tired and with notebook batteries drained and empty. Unpacked the power adapter, ready to charge it up. Only to realize that the notebook power supply cable does not match the travel adapter plug! :-(:

Travel Power Adapter Mismatch

Travel Power Adapter Mismatch

So I have packed the 3-pin notebook power supply instead my usual travel 2-pin one 😦

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

Adding ‘Show in Windows Explorer’ to Eclipse

In CodeWarrior there was a very useful feature in the CodeWarrior Projects view: with a context menu I can open that folder/file in Windows Explorer:

Show In Windows Explorer in CodeWarrior Projects View

Show In Windows Explorer in CodeWarrior Projects View

However, this feature is missing in Eclipse, so how to add this functionality?

Continue reading

Tutorial: Playing MP3 Files with VS1053B and FRDM Board

I want to make some noise with this post!!! This tutorial is about adding music and sound capabilities to the Freescale Freedom board, and to have a lot of fun with it :-). I need this ability for a larger project working on for a while. But I thought I share that sub-part how to play sound files. So with this tutorial I can turn my Freescale Freedom board into a music or sound player :-). And adding sounds is a cool way for any project, and as the music is stored on an SD card it fits easily hours of music or sounds.

MP3 Player with FRDM-KL25Z

MP3 Player with FRDM-KL25Z and Adafruit Music Maker MP3 Shield

Continue reading

Tutorial: How to Erase the FLASH with the GNU GDB debugger

I have several applications where I store application specific information in the microcontroller FLASH memory (see “Configuration Data: Using the Internal FLASH instead of an external EEPROM“). I have run into issues recently with the Segger J-Link GDB server as by default it does *not* erase all the FLASH memory. So the question is: How can I erase all (or part) of the FLASH memory with GDB (e.g. in Kinetis Design Studio or in Eclipse)?

Memory Monitor with Erased Flash

Memory Monitor with Erased Flash

Continue reading

Recovering the FRDM-K64F Bootloader, or: Cloning the Program of a Microcontroller

The Freescale FRDM-K64F and FRDM-K22F have a different OpenSDA (v2) firmware on it: unlike the earlier (v1), that firmware is open and not protected which is a great thing. However, it has the disadvantage if you use the wrong SWD/JTAG header on your board, the bootloader on the K20 OpenSDA microcontroller is gone 😦

Two SWD Headers on FRDM-K64F Board

Two SWD Headers on FRDM-K64F Board

Continue reading

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