printf() with the FRDM-KL25Z Board and without Processor Expert

In this tutorial I explored how to use printf(), and this tutorial is so generic that it works for any processor/microcontroller. That flexibility is because I’m using Processor Expert. In case Processor Expert shall not be used, then some tweaks are needed. Here I show what is needed to have printf() working with the FRDM-KL25Z board. I use the UART0 connected to OpenSDA USB CDC for this.

Continue reading

A new Freedom Board: FRDM-K20D50M with ARM Cortex M4

Freescale/Farnell/Element14 announced last week a new Freedom Board: the FRDM-K20D50M :-). As you can expect, I was not able to resist, and ordered one from my local Farnell store right away. So I did my first steps with it on this sunny and wonderful weekend (yes! we skipped Spring Time and entered Summer Time right away!).

I do not need to compare the board with the previous Freedom boards, as I have found an article here. I a nutshell: I get pretty much the same as with the FRDM-KL25Z, but instead of an ARM Cortex-M0+, it has an ARM Cortex-M4!

The new FRDM-K20D50M Board

The new FRDM-K20D50M Board

Continue reading

text, data and bss: Code and Data Size Explained

In “Code Size Information with gcc for ARM/Kinetis” I use an option in the ARM gcc tool chain for Eclipse to show me the code size:

   text       data        bss        dec        hex    filename
 0x1408       0x18      0x81c       7228       1c3c    size.elf

I have been asked by a reader of this blog what these item numbers really mean. Especially: what the heck is ‘bss’???? 🙂

Continue reading

Extended Driver for the MMA8451Q Accelerometer

In “Tutorial: Accelerating the KL25Z Freedom Board” I used the MMA8451Q accelerometer on the FRDM-KL25Z board in a very primitive way: I’m reading directly some low-level registers from the device through an I2C low-level component. No calibrating, no special device feature setting, only raw values. Since then, things have been evolved: In “Tutorial: Creating a Processor Expert Component for an Accelerometer” I started to create a driver for this accelerometer, and since then a lot more functionality has been added.

Tracing Accelerometer Values to the Shell

Traced Accelerometer Values to the Shell

Continue reading

RFduino: Wireless Cortex Arduino to the Size of a Finger Tip

How cool is this: combine ‘Arduino’, ‘Bluetooth’ and ‘Low Power’ with ‘small size’: an ARM Cortex-M0 board with low power Bluetooth 4.0, shrunk to size of a finger tip! 🙂

This Kickstarter project asked for $5k funding, and it has received over $245k! The video shows the prototype interacting with an iPhone:

It combines Arduino compatibility with the power of an ARM Cortex M0. Given the low-cost and versatility of that board, that would make that board an ideal base for many projects.

Adding an internet gateway, and I will have the ‘Internet of Things’ (IoT) 🙂

Happy RFing 🙂

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