Tutorial: Creating a Processor Expert Component for an Accelerometer

If you are a frequent reader of this blog, then you know: I’m a big fan of Processor Expert components. While there are many Processor Expert components delivered with CodeWarrior, it lacks many components and device drivers beside of the normal on-chip peripherals. But value gets added to an embedded project with all the external devices, sensors and actuators. That’s why I have created many more components which are available on my GitHub site. Readers of this blog have asked several times to create a tutorial on how to create a Processor Expert component. So why not working on that on a long Easter weekend full of cold rain and snow?

So here we go: a tutorial how to create a Processor Expert component for the MMA8451Q accelerometer found on the FRDM-KL25Z board:

MMA8451Q Accelerometer on the FRDM-KL25Z Board

MMA8451Q Accelerometer on the FRDM-KL25Z Board

Continue reading

Copy of Processor Expert Components

Many times I have Processor Expert components carefully configured in one project, and then I want to have the same thing in another project. There is actually an easy way to carry out this: to copy components from one project to another.

Continue reading

Version Control with Processor Expert Projects

Using a version control system for software development is a standard procedure today. While things are pretty clear for ‘standard’ Eclipse projects, it is not that easy for Processor Expert projects. I’m using Processor Expert projects with Git and SVN (Subversion). I want to share here tips how to use Processor Expert projects with a version control system. Screenshots and vocabulary are for TortoiseGit and Git, but applicable to any other VCS (Version Control System).

Git Repositories View in Eclipse

Git Repositories View in Eclipse

Continue reading

Maze solving FRDM-KL25Z Robot goes backward for Dead-Ends

The maze solving robot based on the Freedom FRDM-KL25Z and Pololu Zumo shield has new features:

  1. For dead-end paths, instead turning around, the robot is driving backward
  2. Higher speed for going forward/backward/turns
  3. In the finish area, the robot turns around
  4. It reverts the solution path, so the robot can directly run from the finish area to the start
FRDM-KL25Z Robot on Practice Area

FRDM-KL25Z Robot on Practice Area

Continue reading

The Quotation Problem

Maybe this article gets the attention of a local optometrist or eye shop: I have a business opportunity for you! ;-).

I ran into a weird problem: I received an ARM GNU gcc project which failed during the generation of the S19 file in strange way:

'Executing target #80 Freedom_Zumo.siz'
'Invoking: ARM Ltd Windows GNU Create Flash Image'
“C:/Freescale/CW MCU v10.3\eclipse\../Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-objcopy”  -O srec Freedom_Zumo.elf "Freedom_Zumo.hex"
' '
Der Befehl "“C:" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
mingw32-make: *** [Freedom_Zumo.hex] Error 1

Continue reading

Quick Switch Editor in Eclipse

Probably I need to add 3rd monitor to my laptop system, or maybe I’m not organized enough. But as a matter of fact: I want to have as many source files as possible open in Eclipse. But there is simply not enough screen real estate to show them all:

Many source files open

Many source files open

With that many source files open, I need an effective way to switch between the files.

Continue reading

Editor Templates in Eclipse

Eclipse is a good IDE. At a first glance, it does the job. Good enough. At least for myself, I was not that much excited when I used it the first time. I came from the Microsoft Visual Studio world, and have used many other proprietary IDE’s. So Eclipse was just ‘yet another one’. But what Eclipse makes really great is the incredible wealth of functionality which is not visible right away. Yes, this is the same for any other software tool: it takes time to explore, and once you know things well, you do not want to switch or even consider something different. Same for me.

The other thing is: after some time, I get used to things, and I do not appreciate it that much any more. Only until someone reminds me that maybe things are not that well-known? This is what happened to me two days ago: I did some editing in Eclipse, while a colleague was watching me doing this. Then he said something like this

“Hey, what did you do? What was that?!? How did you do that?”

I do not remember his exact words, as I was surprised as well. I did not do anything special? Kinda standard Eclipse thing. Well, maybe not.

Continue reading

Search in Processor Expert Component Properties

Sometimes I’m looking for a functionality, and I cannot find it. But this does not mean that it does not exist ;-).

The Eclipse preference pages have a great filter text field: If I want to change a setting which has something to do with ‘color’, I can enter that text and it will show me all setting pages having something to do with ‘color’:

Eclipse Preference Filter

Eclipse Preference Filter

Continue reading

USB MSD Host for the Freedom Board

Sometimes things take longer than anticipated. And this is definitely the case for my USB MSD Host project where I wanted to use a USB memory stick with the Freedom FRDM-KL25Z board.

Memory Stick attached to the Freedom Board

Memory Stick attached to the Freedom Board

But finally, I have things working. At least most of the time ….

Continue reading

Skipping Breakpoints

The challenge with small microcontroller like the ARM-Cortex-M0+ is that they have very limited debugging resources. As such, the number of hardware break points is very limited (see this post). For example for the KL25Z on the Freedom board, I only have 2 break points available if I want to do stepping:

No more hardware breakpoints available

No more hardware break points available

Continue reading