Renaming Eclipse CDT Projects

When I create a project in Eclipse (e.g. in Kinetis Design Studio with the GNU ARM Eclipse plugins), I have to specify the name of the project during creation time:

Project Name in Eclipse

Project Name in Eclipse

But what if I change my mind later on and want to use a different name? How to rename the project?

Continue reading

Blinky LED with openHAB on Raspberry Pi

In my earlier post I showed how I have installed the open source openHAB home automation system (see “Installing openHAB Home Automation on Raspberry Pi“). In this post I show how to control a local LED on the Raspberry Pi with openHAB home automation system: how to control any GPIO pin on the Raspberry Pi from remote:

Controlling the LED with openHAB

Controlling the LED with openHAB

Continue reading

Autostarting openHAB on Raspberry Pi

In “Installing openHAB Home Automation on Raspberry Pi” I have set up openHAB on a Raspberry Pi 2. But when I reboot it, I need to start openHAB manually. This post is about how to start openHAB automatically after a reboot.

openHAB running

openHAB running

Continue reading

Installing openHAB Home Automation on Raspberry Pi

I’m currently building a home automation project around Raspberry Pi: I want to be able to monitor and control things like the lights, garage doors and the heating system both at home and from remote. I already have added a touch screen to one of my Raspberry Pi 2 computers (see “Adding a Touch LCD to the Raspberry Pi 2“). This article is about how to install the openHAB on that Raspberry so it can be the brain of the automation system.

openHAB Demo House on Pi

openHAB Demo House on Pi

Continue reading

Linting with Eclipse and the GNU ARM Embedded Launchpad Compiler

For a space project we have to make sure that things are not failing while our hardware orbits around the Mother Earth. Therefore we are using different static and dynamic analysis tools, and one of it is using PC-lint from Gimpel to catch as many errors and bugs as possible. For that project, we are using Eclipse with the GNU ARM Embedded (launchpad) ARM compiler and Eclipse as IDE with the GNU ARM Eclipse plugins. There are commercial plugins available for linting with Eclipse (e.g. Linticator), but with a few tweaks it is possible to lint with Eclipse free-of-charge. So this article is about how to lint an Eclipse (Freescale/NXP Kinetis Design Studio) project with PC-Lint.

Lint messages in Eclipse

Lint messages in Eclipse

Continue reading

Tutorial: FreeRTOS Projects with Kinetis SDK V1.3 and the SDK Project Generator

This tutorial describes how to create a Kinetis SDK V1.3 project using the Freescale project generator in Kinetis Design Studio.

project generator

project generator

Continue reading

A Raspberry Pi for $5! What are your decision factors?

It it is obvious that a new trend from the US is swapping over to Europe and probably the rest of the world: Black Friday. That is the day yesterday following Thanksgiving day in the United States. It is a ‘shopping’ day. Consequently, the stores are battling with huge discounts. And I use that  to fill up my inventory for the Christmas-time projects 🙂 What caught my attention yesterday Friday was this: a Raspberry Pi Zero for US$5!!!!

Raspberry Pi Zero

Raspberry Pi Zero (Picture: Adafruit)

Continue reading

McuOnEclipse Components: 22-Nov-2015 Release

A lot of good things happened in the last three weeks, so here is a new updated McuOnEclipse component release, with the following main improvements:

  1. Updated Segger RTT component
  2. New Segger SystemView component
  3. FreeRTOS ‘tasklist’ shell command
  4. FreeRTOS with support for Segger SystemView

SystemViewer

Continue reading

GNU gcc printf() and BuiltIn Optimizations

Readers of my blog know: I’m not a fan of printf(), and I think for many good reasons. Still printf() is widely used, and the GNU gcc tries to optimize things. This is observed with a simple example: If I’m writing

printf("a");

Then the code produced (ARM Cortex-M0+ with GNU ARM Embedded 4.9 2015q2 gives:

movs r0, #97    ; 0x61
bl 0xa98

Instead of calling printf(), it is calling putchar()! Why is that?

PutChar instead of Printf

PutChar instead of Printf

Continue reading

Tutorial: lwip with FreeRTOS and the Freescale FRDM-K64F Board

This tutorial is about how to create a lwIP project with FreeRTOS using the Kinetis SDK V1.3.0 with Kinetis Design Studio on the Freescale FRDM-K64F board.

FRDM-K64F Board with lwIP running

FRDM-K64F Board with lwIP running

Continue reading