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

Review: ThunderBench with the Freescale FRDM Board and Processor Expert

For the Eclipse and Processor Expert lovers of this world: there is another Eclipse based IDE you can use: ThunderBench made by Emprog:

ThunderBench for ARM Eclipse Startup Screen

ThunderBench for ARM Eclipse Startup Screen

They support a range of ARM based devices, including the Freescale ones I’m using. So I downloaded the v3.24 30 day trial from their download page last week. Finally I have found some time to try it out. Could this be an alternative to use my Freescale FRDM boards with Processor Expert?

Continue reading

IAR ARM v6.7 comes with improved Processor Expert Support

This week I saw on the IAR website that they have released the new IAR Embedded Workbench v6.7 for ARM. I was still on 6.5 using the free code size limited ‘Kickstart’ version), so I thought it would be a good time to upgrade to the v6.7. And there are good reasons as the connection to Processor Expert makes things much easier now.

Continue reading

First Set of nRF24L01+ Wireless Sensor Nodes with FRDM-KL25Z

If you were wondering why I am pushing the FRDM-KL25Z boards hard to the micro-amps, then have a look at this:

nRF24L01+ Network Nodes

nRF24L01+ Network Nodes

The five boards are the first set of prototypes with a FRDM-KL25Z for a battery operated wireless sensor network based on the nRF24L01+ 2.4GHz transceiver.

Continue reading

USB with the TWR-K60F120M and TWR-K70F120M

If you read my posts, then you probably know: I *love* the FRDM boards! But: Freescale has only the lower-end processors available with a FRDM board (yet?). As I need something more powerful for my Raspberry Pi Camera project, I’m using Tower boards instead. This gives me an ARM Cortex-M4 with 120 MHz, Floating Point unit plus 128 KByte SRAM :-).

For that project I need USB. So this post is about using the TWR-K60F120M and TWR-K70F120M with USB connectivity, using the USB CDC device class as example. Initially I thought I can do as easily with the FRDM boards. It turned out, that things are not that easy.

Freescale TWR-K70F120M Tower Board

Freescale TWR-K70F120M Tower Board

Continue reading

Eclipse Command Line Code Generation with Processor Expert

Eclipse based IDE’s have typically one limitation: the IDE has not much scripting capabilities. Yes, I can use things like JUnit for testing, but if it comes to build and debug C/C++ applications, then support gets really rare. An exception to this is CodeWarrior for MCU which features a command line version of the IDE which can be used for test automation as I used it in one of my tutorials. What I missed so far is to have a command line interface for Processor Expert to generate code. This is now possible with CodeWarrior for MCU10.5 :-).

Continue reading

Tutorial: Using the FRDM-KL25Z as Low Power Board

The FRDM-KL25Z is a great board: inexpensive (around US$15), small form factor, has easily accessible pins, and has a low power (capable, at least) microcontroller, and comes with an embedded debugging interface. So why not using this board right away ‘as is’ for a low power battery operated device? Great idea, you think? Yes, I thought too. Only to find out that the board needs 20 mA out of the box.

The good news is: It is possible on a week-end to get this 150 times better down to 132 μA, with an RTOS running all the time :-). I invite you to join a journey with board modifications, jumpers, schematics and many multi-meter pictures ;-)….

132 micro amps

132 micro amps!

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

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