Processor Expert CDE: Debug Verbose Mode

I have one rule I try to follow every day: my code shall be warning free. Writing software for multiple compilers gets challenging with this rule, but it avoids the ‘not seeing the forest because of the trees’ problem. This rule extends to writing Processor Expert components with CDE (Component Development Environment). What I have missed (and not used) is a useful option to enable debug output:

Enable Processor Expert Components Debug Verbose Mode

Enable Processor Expert Components Debug Verbose Mode

Continue reading

Bit-Banging I2C with ResetBus() Functionality

The good thing with the internet is: it allows engineers to collaborate. And here is an example: Marc is a reader of this blog had a problem with the I2C hardware of a Freescale Kinetis ARM microcontroller. In his case, the I2C bus could be stuck, and there seems no way to reset it with the I2C hardware on the microcontroller. So a solution would be to reset it with software instead.

Bit Banging Software I2C Driver

Bit Banging Software I2C Driver

Continue reading

Sumo Robots, one Week until Tournament

There is one week left until all the Sumo robots of the Infotronic course at the Lucerne University of Applied Sciences and Arts will enter a tournament. The robots have to pass a simple tests before they can enter the tournament: to push a ‘dummy’ robot outside the ring. This simple test is used at tournaments to avoid ‘passive’ robots just sitting in the middle of the ring ;-).

Sumo Robot against Dummy Bot

Sumo Robot against Dummy Bot

Continue reading

Kinetis Unique Identification Register

For my RNet stack I need a way to identify nodes in the network using a unique address. What I need is Media-Access (MAC) address. Base on such a unique address I can assign short addresses (e.g. with a DHCP or similar protocol to automatically assign shorter network addresses). So how to uniquely identify my network nodes?

The Freescale Kinetis microcontroller have nice feature: they have a Unique Identification Register (UID) which would be a perfect fit for a MAC address :-).

UID Output

UID Output

Continue reading

Sumo Robot with Accelerometer Remote Controller

Usually, there are two flavors of Sumo robot competition:

  1. Autonomous: no communication to the robot permitted after the start.
  2. Remote-controlled: there is a wireless remote controller driving the robot.

Just for fun, I have implemented a wireless remote controller application for my Zumo Robot using the Freescale SRB (MC13123) board. I’m using the Freescale MMA7260Q accelerometer on the SRB board to control the robot.

Accelerometer Remote Controller

Accelerometer Remote Controller

Continue reading

RNet: A Simple Open Source Radio Network Stack

I was searching the internet for an open source network stack for my nRF24L01+ transceivers. But these stacks were either too heavy or had a restrictive or not really non-open source license behind it. I was very reluctant to start with something I think already should exist. Two weeks ago I decided that I just do it from scratch, and here I am: I have the basics working 🙂

Two FRDM-KL25Z with nRF24L01+ Transceivers

Two FRDM-KL25Z with nRF24L01+ Transceivers

Continue reading

Processor Expert Component not Showing Up?

In case you are desperately looking a component in the components library view, but somehow it does not show up? For example I know there is component ‘InterruptVector’, but it is not present in the Components library view?

Where is the InterruptVector Component

Where is the InterruptVector Component

Continue reading

Tutorial: Using a Terminal Input and Output; *without* printf() and scanf()

So this tutorial is about using a terminal connection between my board and my host (e.g. a notebook) to read and write text:

Color Text in PuTTY

Color Text in PuTTY

Continue reading

FreeRTOS for the Freescale DSC 56F8400 Core

Yes, I have been busy with all the different ARM Cortex Mx cores I’m using in my projects. But beside of the ‘ARM domination of the world’, there are other interesting processors out there. While the ARM cores have added DSP (Digital Signal Processing) capabilities blurring the boundaries between pure MCU and DSP processors, there is still a place (or niche?) for specialized DSP processors. The power of such processors is in the domain of fast signal processing, e.g. for intelligent power switches or for advanced motor control.

TWR-56F8400 Board and Box

TWR-56F8400 Board and Box

Continue reading

Tutorial: Replacing IAR EW with Eclipse IDE

Are you using IAR tools and you are jealous looking at what others can accomplish with Eclipse? You wish you could use your IAR build tools but taking advantage of Eclipse too?

I do not want to start a religious IDE war here ;-). At least for IAR, there is a way to bring both worlds together: having IAR build and debug tools integrated in Eclipse :mrgreen: :

Using IAR Tools In Eclipse

Using IAR Compiler and Debugger in Eclipse

Continue reading