Tracing with FreeRTOS+Trace from Percepio

As shown in Tracing FreeRTOS with a Hardware Probe: I have a nice hardware probe to trace out events from my application. But what about to use the target memory as trace buffer? New devices have much more on-chip memory, so this could be an attractive option. That was on my list of future extensions, but then the news came in: Percepio announced their collaboration with FreeRTOS+Trace: exactly what I needed!

It is using the same concept as the FreeRTOS Trace Probe: the trace hooks provided by the FreeRTOS API. But instead streaming it off the target as with the FreeRTOS Trace probe, it is using a RAM buffer on the device. The real cool thing is: the Percepio trace viewer is very, very nice!

Continue reading

Error importing task?

I was running into that dialog while opening my S08 project:

Target Task Error

Target Task Error: “Error importing task.”

Hmm, that’s weird: the target task framework complains about a target task, but in my project I’m not using any target tasks?

Continue reading

Tracing FreeRTOS with a Hardware Probe

Using an RTOS is an excellent thing: it provides services and allows to scale my application. But it adds complexity. With many tasks, queues and semaphores it is hard to have an overview what is going on. To get visibility, Martin Bucher has developed in a bachelor diploma work the FreeRTOS Trace Probe. Continue reading

Dissection of MCU10 Projects

Creating an eclipse managed make project with MCU10 is easy: Starting the wizard with File > New > Bareboard Project and after a few clicks I have a project. I don’t need to worry about all the files in the project structure, until……..well, until I need to put the files into a VCS.

Continue reading

Men In Black are back! Flashing and FX’ing…

I have mentioned in MCU10.2 released a new feature in CodeWarrior: support for the USB Universal Multilink FX from P&E Microcomputer Systems. Two Multilink FX arrived last week at the University, and finally I had my hands around it. The first thing which came to my mind when I saw the picture of the device on the P&E website: the black boxes are back!

Can I hope for a “Special FX Edition” in that box with cool sunglasses and a flash stick to erase and reprogram FLASH memory of microcontrollers? That would definitely make the flash erasing and programming easy and fast, as in the movie. 🙂
Continue reading

Recovering my Chinese OSBDM

At the University the lectures started, and as well all the bachelor diploma and industry projects. So I am running out of my TWR-MCF52259 boards as they are used by my students. No problem, as I have one remaining board in my shelf. I plugged the board into my machine, but YIKES! Look at this:

Chinese OSBDM?

Chinese OSBDM?

Continue reading

Oh my! An Interrupt…

Ahhrg! Again, my microcontroller stopped in an interrupt. And I have no clue why?

Using Processor Expert in MCU10 is a great thing as it takes care about the vector table. Usually the default settings for code generation are fine, but not in my case here. If you run into a spurious and unexpected interrupt, you stop in the Cpu_Interrupt() handler:
Continue reading

A little or big Indian? A Plea for Peace…

I use a Intel processor to write this text, and this processor is is using Little Endian for the byte order. This is about Endian, not Indian :-).

Many processors I have programmed were Big Endians. With the addition of Freescale Kinetis (an ARM Cortex M4) and DSC in MCU10.2, I have a daily mixture with Big Endian (S08, ColdFire, …) and Little Endian (DSC and Kinetis).

The term “endian” is described nicely in the IEN 137 written 1980 by Danny Cohen:
“ON HOLY WARS AND A PLEA FOR PEACE“.
Continue reading