Optimized BitIO_LDD Programming with Processor Expert

In my tutorial “Bits and Pins with Kinetis” I showed how to use the BitIO_LDD approach for Bit I/O access. I do not like this LDD (logical device driver) approach for several reasons:

  1. It requires an extra ‘device handle’ passed to the functions, even if such a device handle is not needed or desired.
  2. The code efficiency/size is negatively impacted by this.

Luckily, there is a way to hack around this 🙂

Continue reading

Zumo Robot Chassis PCB arrived!

Excellent news: I received this week the 40 INTRO Zumo Robot Base/Chassis PCBs, ready to bring the Zumo Robot project based on the FRDM-KL25Z board from Freescale to the next level:

Intro Zumo PCB TopSide

Intro Zumo PCB TopSide

Continue reading

Mini Sumo Robot with Proximity Sensors

The new semester is approaching fast! And I’m under pressure to get everything lined up and ready. This time, I want the students of the INTRO (Infotronic) course at the Lucerne University of Applied Sciences and Arts to have some fun with building and programming Mini-Sumo Robots 🙂

Opponent View

No chance to escape!

Continue reading

Mini Sumo Robot Competition running with FRDM-KL25Z

Rigi Schwinget (Roman Koch) (Source: http://en.wikipedia.org/wiki/File:Turnerundsennenschwinger.jpg)

Rigi Schwinget (Picture: Roman Koch)

Every three years, there is the “Eidgenössisches Schwing- und Ă„lplerfest” in Switzerland. A really big thing for us here. If you are not familiar with what this is, then have a read about the long tradition of  Schwingen in Switzerland.

Wondering what “Schwingen” or wrestling has to do with a technology blog? It is about having fun with robots!

Continue reading

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

Fail! The Zumo Shield Blade Problem

Ahhhhrg! I admit: I’m not immune to all the silly problems an engineer can face in his life. And sometimes it is about the most basic things. This morning was again such a day: One of the infrared sensors of my Zumo Robot reported wrong values:

Sensor wrong values

Sensor wrong values

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

Driver for Microchip 24xx Serial EEPROM

For many projects I need to store configuration or sensor data. For this I’m using either an SD card or program the internal flash memory of the microcontroller. Using the internal flash is a good thing as it does not need an external component. However, the typical number of programming cycles is limited to 10k-50k which is a limiting factor if data has to be recorded over a long time or very often. That’s why I’m using the very popular external 24xx external EEPROM devices from Microchip.

24LC512 connected to FRDM-KL25Z

24LC512 connected to FRDM-KL25Z

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