Overview of ARM Microcontrollers and Tools

In this semester course, students (and myself too, of course :-)) are building a Mini Sumo Robot. That robot is using the Freescale FRDM-KL25Z board with an ARM Cortex-M0+ on it. Today I’ll give an introduction to the ARM core to the class, and timing is right: this morning I have found an excellent overview about ARM microcontroller and tools written by Jay Carlson.: Getting Started with ARM Microcontrollers.

Continue reading

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

New CodeWarrior for MCU10.5

On Friday, Freescale has updated CodeWarrior for MCU10 from V10.4 to V10.5, available on http://www.freescale.com/cwmcu10. I have not had much time to use it over the week-end, but here is a list of the things which in my view will make me switch my projects over to 10.5 and use it in my university classes:

  • Smaller: smaller setup and less disk space
  • Faster: faster debugging and flashing
  • Features: Eclipse Juno, detachable editor views, ‘unlimited’ breakpoints, simplified debugger attach/connect/download, and more.

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

Electric Race Car “julier” wins at Red Bull Ring in Spielberg

I’m very, very proud about what the FSE (Formula Student Electric) team accomplished! After winning the overall 1st place in Silverstone (UK), the overall 2nd place in Hockenheim (Germany), they managed to win the Formula Student event in Spielberg (Austria) too 🙂

Julier in Spielberg (Benjamin Hildebrandt)

Julier in Spielberg (Benjamin Hildebrandt)

Continue reading

Optimized FreeRTOS: Stack Check and SysTick for ARM Cortex Cores

The ARM Cortex specification includes the ‘SysTick’ (System Tick Timer): a dedicated system timer which is intended to be used as time base for an RTOS. While technically it would be possible to use any periodic interrupt timer, I’m using as well the SysTick for my FreeRTOS ARM ports. And because Processor Expert includes a nice timer interface, I’m using the TimerUnit_LDD:

TimerUnit LDD for SysTick

TimerUnit LDD for SysTick

While this is great for flexibility, it has its price in efficiency. That TimerUnit_LDD adds overhead. So I want to get rid of the TimerUnit_LDD and use a more efficient way.

Continue reading