The Making Of RTOS Processor Expert Components

OK, I think this topic is a very special one, and probably not of interest of many folks out there. Or how many want to create a Processor Expert Plugin for an RTOS? Well, I did this. And I think that topic might be very controversial too, especially for all the RTOS vendors out there :-). The thoughts expressed here about creating Processor Expert components do not only apply for an RTOS, but as well for any other ‘complex’ software or stack. So if you are interested about the ‘behind the scenes’ of creating Processor Expert components, especially in the context of an RTOS, then read on ;-).

Continue reading

Tutorial: FreeRTOS on DEMOJM

If you are new to Processor Expert in MCU10, and new to FreeRTOS, then you need to learn two new things in parallel the same time. That might be overwhelming. But don’t worry: if you do things step by step and slowly the first time, this much easier than you might think. This tutorial shall help you with this.

This is a step-by-step tutorial about how to create a project with CodeWarrior for MCU10.2, Processor Expert and the DEMOJM board. The goal is to create a project from scratch with two tasks blinking an LED. This tutorial uses the DEMOJM board, but in practice any other ColdFire/Kinetis/S08 board can be used as well.

Continue reading

Killing Me Softly: Zombies and Debugger Engines

I’m stressing the CodeWarrior debugger a lot: having multiple boards attached, debugging things in parallel, switching and unplugging boards all the time. I have my eclipse IDE running for several days and nights (up to a week or more), with constantly suspending and resuming and switching networks. And sometimes it is my fault (see Device is Secure?). But well, sometimes the CodeWarrior debugger has a problem too. Luckily, a simple trick gets things back on track.

Continue reading

Device is secure?

It is one of these long weekends which allow to catch up on many things. One thing I finally completed was the move to FreeRTOS V7.1.1. With this I did some tests using the Tower boards, including the Kinetis one. So I have rebuild my Kinetis K60 application and was ready to flash the device. But then to my surprise I got this dialog:

Device is secure. Erase to unsecure?

Device is secure. Erase to unsecure?

Continue reading

Bit Banging I2C

The Freescale ColdFire V2 (MCF52259) is a great communication device: an embedded Processor like a Swiss Army Knife: Great peripherals, USB and Ethernet interface, a lot of flash application space and up to 64 KByte of RAM. I’m using that core in many projects, and there is great community support for it with boards and software. Unfortunately Freescale somehow provides Processor Expert support only half way for it. Support for the I2C bus is missing :-(.

Continue reading

Fixing the Morpho Core Exception

After running the MQX batch installation file for MCU10.2 (see MQX Eclipse Working Sets) I had an error dialog when I inspected my debug/run configuration:

“Error loading data producer reader: com.freescale.morpho.core.CWException: The function “getServiceByContractID” returned an error condition (0x80040154)”

Error loading data producer reader

Error loading data producer reader

Continue reading

MQX Eclipse Working Sets

Working Sets are a very useful feature in the Eclipse Framework (see Working Sets Explained). But: with a standard Eclipse distribution it is not possible to import or export working sets. The good news is: the AnyEdit plugins (see 5 Best Eclipse plugins) provides that missing functionality. The other good news is: Buried in the Freescale MQX 3.8 distribution for Eclipse CodeWarrior, there is an even better implementation for the Eclipse Working Sets.

Continue reading

Trimming S08 with P&E

Freescale S08 controllers have an internal clock generator (ICG) which allows the device to run without an external clock signal. But as devices differ, they need to be calibrated and trimmed. The microcontrollers are usually trimmed in the factory. How can I trim it myself if I need something better?

Continue reading

CRC Calculation with MCU10

With USB goes medical I have a serial-to-USB (CDC) support for my TWR-S08MM128 board. What makes these devices targeted for medical applications interesting for other applications are features like bootloader support and a CRC (Cyclic Redundancy Check)  engine. But how can I generate the required CRC numbers with MCU10?

Continue reading