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

How to Avoid Slow Processor Expert Projects

The Eclipse IDE is in my view the best IDE in the world :-). But it is not the fastest one: All the functionality and comfort has a price, and such a Java and highly flexible IDE requires its resources. The Eclipse community is continuously addressing that concern, and for example the Eclipse Juno 4.2 IDE in CodeWarrior for MCU10.5 shows this nicely: things are much smoother compared to the Eclipse Indigo 3.7 in MCU10.4. But if you feel that you do not want to use Processor Expert because it is too slow, then I have a trick how to improve performance by a factor of 10 :-).

Continue reading

Link Order: Using Multiple Definitions with ARM GNU Linker and Eclipse

Sometimes I have ‘multiple definitions’ in my projects: this means that I have functions defined in one source files, and I need to ‘overwrite’ one or more with a version in another source file.  For example I have a source file with utility functions (Utility.c), and I want to overwrite some of these functions with a different implementation in a different file (MyUtility.c). How can I do this?

Continue reading

Overview of ARM Microcontrollers and Tools

In this semester course, students (and myself too, of course :-)) are building a Mini Sumo Robot. That robot is using the Freescale FRDM-KL25Z board with an ARM Cortex-M0+ on it. Today I’ll give an introduction to the ARM core to the class, and timing is right: this morning I have found an excellent overview about ARM microcontroller and tools written by Jay Carlson.: Getting Started with ARM Microcontrollers.

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

Optimized FreeRTOS: Stack Check and SysTick for ARM Cortex Cores

The ARM Cortex specification includes the ‘SysTick’ (System Tick Timer): a dedicated system timer which is intended to be used as time base for an RTOS. While technically it would be possible to use any periodic interrupt timer, I’m using as well the SysTick for my FreeRTOS ARM ports. And because Processor Expert includes a nice timer interface, I’m using the TimerUnit_LDD:

TimerUnit LDD for SysTick

TimerUnit LDD for SysTick

While this is great for flexibility, it has its price in efficiency. That TimerUnit_LDD adds overhead. So I want to get rid of the TimerUnit_LDD and use a more efficient way.

Continue reading

DIY Free Toolchain for Kinetis: Part 6 – Linux Host with OpenOCD and CMSIS-DAP

For everyone who wants to build a Do-It-Yourself toolchain for Kinetis on Linux, I recommend to read the following excellent post by Karibe:

Setting up Linux opensource build and debug tools for freescale freedom board FRDM-KL25Z

He describes how to get OpenOCD with CMSIS-DAP working with Eclipse on Ubuntu to debug the FRDM-KL25Z board.

List of Tutorials

Happy Linuxing 🙂

FreeRTOS V7.5.0 released

A week ago, the updated FreeRTOS V7.5.0 has been released on FreeRTOS.org. So time to have my Processor Expert FreeRTOS component updated as well :-).

FreeRTOS V7.5.0

FreeRTOS V7.5.0

Continue reading

DIY Free Toolchain for Kinetis: Part 2 – Eclipse IDE

This is the second part of a multi-part tutorial about how to set up an open source tool chain with GNU ARM gcc + Eclipse to build and debug an application for Kinetis ARM devices.

List of Tutorials

Eclipse Kepler

Eclipse Kepler

Continue reading

DIY Free Toolchain for Kinetis: Part 1 – GNU ARM Build Tools

This is the first part of a multi-part tutorial on setting up a free and functional GNU gcc + Eclipse + debugger environment for use with the Freescale FRDM-KL25Z board.

List of Tutorials

In this first part, I’m showing how to install the GNU ARM tool chain to build a ‘blinking LED’ application for the FRDM-KL25Z. With 100% free tools 😉

Blinking Red RGB LED made with free tools

Blinking Red RGB LED made with free tools

Continue reading