RNet Stack as Component, nRF24L01+ with Software SPI

The great thing with Processor Expert is: it writes the code for me :-). I’m using now the RNet wireless stack in more than 10 different projects, and keeping the projects up-to-date with the RNet stack sources in a traditional way gets harder and harder: I  need to make sure the paths are pointing to the right place, and if I pass the project to somebody else, I have to make sure all the sources are packaged with that project. Processor Expert makes things simpler: it can generate the source files into my project, and I can easily configure it.

So instead to copy and support files by hand, I decided to package the RNet stack files into a Processor Expert component: all still normal C files, but easier to configure and distribute.

RNet Component

RNet Component

Continue reading

FreeRTOS, malloc() and SP check with GNU Tools

FreeRTOS has many memory allocation options (see Memory Management) with four ‘schemes’. One of it is the a simple wrapper over the library malloc() and free() routines. I admit, I have not used them, as usually I avoid to include such kind of libraries, as they have their own problems. Anyway, a discussion in the FreeRTOS forum raised my interest: obviously some malloc() implementation (as in the EWL library of CodeWarrior) are making a safety check against the current stack pointer.

Continue reading

Starting Point for Kinetis Low Power LLS Mode

In “IoT: FreeRTOS Down to the Micro Amps” I’m using an application with FreeRTOS to get down in micro amps low power mode. Well, nearly all or my applications are using FreeRTOS because it makes the application scalable and extensible. Still, for anyone not used to an RTOS, that might be a hard start. So here we go: how to get into the Kinetis Low Power LLS Mode *without* an RTOS.

Power Measurement

Power Measurement

Continue reading

Variable Debugging with Eclipse Kepler

The current Eclipse Kepler version comes with changes for debugging variables. I have students coming from the earlier Eclipse versions, so here are a few tips for dealing with variables in Eclipse Kepler.

Variables View in Eclipse

Variables View in Eclipse

Continue reading

Sharing Debug Configuration with Eclipse

Maybe you had this problem too: you shared a project with somebody, only to realize that your carefully crafted debug configuration was not shared?

Eclipse has the concept to store settings in the ‘framework’. The ‘framework’ is the Eclipse internal data, basically what is inside the .metadata folder of the workspace.

metadata folder in workspace

metadata folder in workspace

Continue reading

Tutorial: Thermal Printer, Part 1: Hardware Setup with FRDM Board

One of my embedded projects is to measure the running time in a sports event (see “Sports Timing System in a Lunch Box“). The recorded time is stored in an EEPROM plus sent over USB or wireless connection to the host. It would be great if I could print out the time and ranking directly, so if there is no PC, the system can be small and tiny. So here is my next project and tutorial: Printing with the Freedom board!

Hello World on the Printer with FRDM-KL25Z

Hello World on the Printer with FRDM-KL25Z

Continue reading

Generating Static FreeRTOS Source Code

Using Processor Expert is an awesome tool: it generates source code for me, and I can can ‘dynamically’ tune my projects to my needs. Still, sometimes it is better or desirable to have a ‘normal’ or ‘static’ project. This is very well possible with Processor Expert (see “Sneaking from Processor Expert” or “Disable my Code Generation“): I can generate the code one time, and then use it without Processor Expert.

To make this even easier, I have added an option to the FreeRTOS Processor Expert component to generate ‘static’ code I can copy-paste to projects and tool chains which are either not supported by Processor Expert, or just for ‘static’ projects.

FreeRTOS Custom Port Settings

FreeRTOS Custom Port Settings

Continue reading

Processing the Pololu Motor Shaft Encoders

For the first generation of the INTRO Zumo robots, I have Pololu optical wheel encoders (see “Adding Quadrature Encoder to the Zumo Chassis“) which were available last year. It seems that Pololu heard my feedback, and are offering new encoders. Time to move things to the next level, using an optical encoder attached to the motor shaft:

Optical Motor Shaft Encoder

Optical Motor Shaft Encoder

Continue reading