Hiding a Component in CDE

This post is for the geeks of us: the ones writing Processor Expert components with CDE (Components Development Environment). The problem is the following: In the Components Library view I have all my components listed, such as the USB stack components:

USB Stack Components

USB Stack Components

Continue reading

Advertisements

FreeRTOS V8.0.0 Final Release available as Processor Expert Component

The final FreeRTOS V8.0.0 has been released last week: time to update the Processor Expert component for it, and this time it is really a major release ūüôā : from V7.5.0 to V8.0.0:

FreeRTOS V8.0.0 Processor Expert Component

FreeRTOS V8.0.0 Processor Expert Component

FreeRTOS V8.0.0 comes with many small changes, especially it now includes many of the extra casts I have contributed to avoid compiler warnings. And additionally it has a brand new feature: Event Groups.

Continue reading

DIY: Changing Processor Expert Components

I’m maintaining and hosting now more than 100 different Processor Expert components on GitHub. Instead to deal with¬†CDE (Component Development Environment, that’s the SDK to create your own components), most users simply download and install the PEupd files. If you deal with normal source files, and if spot something you want (or need to change), then you can easily do this. But what if you want or need to change something in that code which comes with the PEupd file(s)?

Components in the Components Library

Components in the Components Library

Continue reading

Processor Expert CDE: Debug Verbose Mode

I have one rule I try to follow every day: my code shall be warning free. Writing software for multiple compilers gets challenging with this rule, but it avoids the ‘not seeing the forest because of the trees’ problem. This rule extends to writing Processor Expert components with CDE (Component Development Environment). What I have missed (and not used) is a useful option to enable debug output:

Enable Processor Expert Components Debug Verbose Mode

Enable Processor Expert Components Debug Verbose Mode

Continue reading

How to use MCUonEclipse GitHub without Git

Not everyone is familiar with Git, and not everyone wants to use it. Although I think using Git or SVN is something every software engineer today needs to master ūüėČ To make it easier for the ‘non-Gitter’ to use the Processor Expert components, they are available now as *.PEupd files as described here. However, the *.PEupd files are just a snapshot, and not the latest and greatest. So how to use the latest component sources and example projects without Git?

gits in a box

gits in a box

Continue reading

Processor Expert Component *.PEupd Files on GitHub

The MCUonEclipse GitHub repository is great for everyone which is familiar with Git or GitHub. Prevsiouly I was hosting my Processor Expert components on steinerberg.com. Exporting and maintaining the Processor Expert Update Files (*.PEupd) one by one is a lot of effort. GitHub makes things a lot easier, but again: you need to be familiar with it. And not everyone is ‘gitting’ yet. To help the rest of the world (the non-Gitter), I have now published Processor Expert update files for all the components in the repository, so it is easier to install them.

IMPORTANT NOTE: After October 17th 2014, the releases of the McuOnEclipse Processor Expert has been moved to SourceForge, see McuOnEclipse Releases on SourceForge

Continue reading

Added Write Protection Pin to FatFsMemSDHC

What was missing in the FatFsMemSDHC component presented here is support for a ‘write protection’ pin. Well, that write protection is not present on micro-SD cards, and on normal SD cards it is a simple plastic thing with no real hardware meaning: it is all up to the software to respect it. While my other SD card components have support for such a write protection detection, it was lacking for the FatFsMemSDHC (for Kinetis) component. Time to fix this!

SD Card Lock

SD Card Lock: an SD-Card, a micro-SD Card and a micro-SD card adapter, both with write-enabled

Continue reading

Review of CodeWarrior for MCU10.4

Freescale has released this week an updated version of CodeWarrior: version 10.4. I’m usually not switching a tools version in the middle of a university semester. Unless I see a real benefit, and the risk is low. Well, I have used it now for a few days, and I have decided to move my projects from 10.3 to 10.4. Why? Read on…

CW for MCU10.4

CW for MCU10.4

Continue reading

Tutorial: Creating a Processor Expert Component for an Accelerometer

If you are a frequent reader of this blog, then you know: I’m a big fan of Processor Expert components. While there are many Processor Expert components delivered with CodeWarrior, it lacks many components and device drivers beside of the normal on-chip peripherals. But value gets added to an embedded project with all the external devices, sensors and actuators. That’s why I have created many more components which are available on my GitHub site. Readers of this blog have asked several times to create a tutorial on how to create a Processor Expert component. So why not working on that on a long Easter weekend full of cold rain and snow?

So here we go: a tutorial how to create a Processor Expert component for the MMA8451Q accelerometer found on the FRDM-KL25Z board:

MMA8451Q Accelerometer on the FRDM-KL25Z Board

MMA8451Q Accelerometer on the FRDM-KL25Z Board

Continue reading

McuOnEclipse goes Git

When I have asked by a student last year if I’m uing Git, I said “Git what?”. Yep, a shame I did not know what Git was a this time. But it is never to late to learn new things.

I was coming from CVS, moved to the successor of it (SVN) and was happy with it. Especially with having a local SVN server and repository, that was (and still is) a great thing. But to truely collaborate with a worldwide community, it is time to use something different: Git.

GitHub Bootcamp: 4 simple steps to git

GitHub Bootcamp: 4 simple steps to git

Continue reading

Processor Expert Maxim I2C RTC for the Arduino Data Logger Shield

There was one part missing to complete the software support for my Arduino DataLogger Shield on top of my FRDM-KL25Z Freedom board: support for the Maxim DS1307 RTC (Real Time Clock).

DS1307 on the Adafruit Data Logger Shield

DS1307 on the Adafruit Data Logger Shield (Source: http://www.ladyada.net/make/logshield/design.html)

Things got delayed a bit, as I first needed to get the I2C infrastructure up and running (see this post). But finally, I have things working :-). I proudly present: RTC_Maxim!

Continue reading

There is a Time and Date for both Worlds

The Kinetis ARM Cortex-M4(F) is a wonderful machine: a 32bit architecture, plenty of FLASH and RAM, an ideal play field. I love the Kinetis Tower boards, and even more the Freedom board which has an ARM Cortex-M0+ on it. I have a lot of projects on S08, S12 and ColdFire at the university, and they are all using a lot of Processor Expert components. Processor Expert is such a great productivity tool: having software in components allows easy software re-use. With Processor Expert abstracting from the hardware, I can easily port my applications to new boards and processors. Well, until Processor Expert changed for Kinetis :-(.

Continue reading

CDE Hacking: Components with Multiple Files

Typically a Processor Expert component creates two files: a header file and a source file. That’s fine for normal drivers. But this does not work well for more complicated things like an RTOS or communication stacks: these are built from a whole set of source files. So how can I generate multiple files with a Processor Expert Component?

Continue reading

CDE Hacking: Processor and Compiler

Writing Processor Expert components is not always completely independent of the compiler and underlying microcontroller. In many cases I need to know the compiler for which the source code is generated. Or I need to know on which CPU architecture the code shall run. For this I need to know the compiler and the CPU family.

Continue reading

PID with Processor Expert

In my class at the university¬†I’m using a microcontroller attached to a DC motor from Maxon. The job of the microcontroller is to implement (among other things) a PID controller for the motor speed (or position). In the lab we implement the PID and all the related parts of the control loop without Processor Expert. But it easily can be done as well with Processor Expert components, as described here.

Continue reading

CDE Hacking: *.inc Files

In my previous post¬† I mentioned the Drivers\Common folder which has ‘include’ files. These files are maintained automatically by the Component Wizard. But what is the purpose of these files?

The Common Folder has *.inc files which are included in the driver as ‘function’ header. The .inc file contains documentation about the function and parameters for that function.

Continue reading

CDE Hacking: Where is my stuff? A dissection…

What I describe here is an overview about the different locations, folder and files you will see if you are importing or developing a Processor Expert User component. I’m showing below example screenshot for the FreeRTOS component, as this is probably the most complex one I ever have created.

Continue reading

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

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