Link Order: Using Multiple Definitions with ARM GNU Linker and Eclipse

Sometimes I have ‘multiple definitions’ in my projects: this means that I have functions defined in one source files, and I need to ‘overwrite’ one or more with a version in another source file.  For example I have a source file with utility functions (Utility.c), and I want to overwrite some of these functions with a different implementation in a different file (MyUtility.c). How can I do this?

Continue reading

Kinetis K60 Crowdfunding Board

Crowd-funding is getting even more popular, and I was pointed to this project: a crowd-funded open hardware board based on the Freescale Kinetis K60 device, featured on Indiegogo:

OHI Board with Freescale K60

OHI Board with Freescale K60

Continue reading

FRDM Board not responding? Check your Virus Scanner!

In case you have this problem with the FRDM boards: You are using the FRDM bootloader mode (it shows up as BOOTLOADER) or the MSD mode (e.g. it shows up as FRDM-KL25Z) (see OpenSDA on the Freedom KL25Z Board) and it does not respond any more, or does not work as expected, then read on…

Continue reading

Changing Initialization Sequence in Processor Expert

Now I have implemented a watchdog with Processor Expert for my system. But what I have found out? I ended up with a looping system, and the watchdog did not fire 😦

What went wrong?

Continue reading

Zumo Robot assembled

This week we were busy with building and documenting the first robots based on the Zumo Robot Chassis PCB.

Chassis Base PCB

The chassis is designed to hook up the FRDM-KL25Z board from Freescale. It is using parts from Pololu (chassis, motors, DC-DC converter, line sensor, H-Bridge, encoders):

ZumoBaseBoardOverview

Zumo Base Board Overview

Continue reading

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

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

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