Embedded Components

Welcome to the exciting world of Processor Expert Embedded Components!

This site contains components using the Processor Expert Embedded Components technology, as used in CodeWarrior for Microcontrollers 10.x (in short: CW MCU10.x). I'm using MCU10.3, but in general the components are backwards compatible.

The initial set of components have been created in a research project at the Lucerne University of Applied Sciences and Arts where I'm teaching Embedded Systems Programming. The Embedded Components are used in our research projects, in many student projects and of course as well in my own projects :-).

Important Information

Starting January 1st 2013, the latest and greatest versions of components and examples are hosted on GitHub and SourceForge.

More Information

I'm maintaining my own blog at http://mcuoneclipse.com. There is as well a book coming out soon, see this link. And everything is hosted on GitHub too.


Keep in mind that everyting is provided 'as is', without any warranty. If you have any suggestions/questions, then contact me under erich _dot_ styger _at_ hslu _dot_ ch .

List of Embedded Components

All latest and greatest components, all-in-one archive file to download are here.

Currently available components, in alphabetical order:

Component Description
24AA_EEPROM Microchip 24AA EEPROM driver.
BootLoaderDisk File System for Bootloader.
BootLoaderUSB Bootloader over USB.
FAT_FileSystem FAT FatFS File System.
FatFsMemSDHC Memory Manager for FatFS using SDHC_LDD.
FontDisplay Draw text on a graphical display.
FreeRTOS FreeRTOS Operating System.
FreeRTOSTrace Trace hook implementation for FreeRTOS.
FSShell File System Shell and generic shell.
FSL_USB_Stack Wrapper for Freescale USB Stack.
GDisplay Graphical Display drawing routines.
GenericBitIO Generic Bit I/O.
GenericTimeDate Generic Date/Time handling.
GenericI2C Generic Software I2C driver, on top of a low level one (e.g. HW I2C or GenericSWI2C).
GenericSWI2C Generic Software I2C with 'bit banging'.
GenericSWSPI Generic Software SPI with 'bit banging'.
GFont Graphical Fonts.
HardFault Hard Fault handler for Kinetis to simplify debugging of HardFault exceptions.
I2CSpy Utility to inspect I2C devices.
LCDHTA HD44780 2x16 Character Display Driver.
LED Universal LED driver.
MC13192 Wireless Transceiver Driver for MC1321x and MC13192/MC1320x.
MaxonF2140 DC Motor driver (PWM for speed, BitIO for direction).
PCA9554 NXP PCA9554(A) I2C I/O Expander.
PID_Int PID Control Loop with Integer values.
PercepioTrace Percepio FreeRTOS+Trace wrapper.
QuadCounter Quadratur Decoder with sampling or Input Capture.
RTC_Maxim Maxim I2C RTC device driver for DS3232 and DS1307.
RingBufferUInt8 Ring Buffer for unsigned 8bit values.
S19 S19 File Parser.
SD_Card Low Level SD-Card driver for FatFS.
PDC8544 Display Driver for black/white Philips display found in Nokia phones.
SimpleEvents Simple Event Flags.
SMAC SMAC 2.4 GHz stack for MC13213 and MC13201.
SSD1289 Solomon Systech SSD1289 LCD.
SSEC Security driver for SPHY.
SPHY PHY driver for SMAC.
Tacho Tachometer.
Timeout Timeout handler.
Trigger Trigger module implementing mini-threads.
Utility Utility functions.
Wait Busy Waiting Routines.

How to Install Embedded Components

Download the Embedded Components to your harddisk (Save as...). Use the menu 'Processor Expert > Import Package':

Import Component

Then browse to your downloaded component (you can import multiple components in a single step).

After you have imported a component(s), use the 'Refresh' context menu in the 'Components Library' view or restart MCU10.

If you have changed/updated a component, it is enough to close the project and re-open it again (select project, menu 'Project > Close Project' and then 'Project > Open Project'. This ensures that the latest and greatest Embedded Component driver is loaded.

Note: MCU10.2 has the 'Component Wizard' menu removed, as MCU10.2 contains the CDE (Component Development Environment) inside eclipse. If you still need to use the 'classic' Component Wizard, it is still availble in <Installation>MCU\ProcessorExpert\BeanWizard.exe.

Example Projects

Example Projects and Instructions how to use the example projects can be found here.


My Blog on MCU10 and eclipse: MCU on eclipse
MCU10 download: Freescale CodeWarrior for MCU10
Freescale forum about CodeWarrior: Freescale CodeWarrior Forum
My guest posts on the Freescale Blog: Software Meets Silicon
- The Art of Fixing Things
- The Power of Embedded Components
- Buried treasure? Unmanned helicopters, Tower cards, and CodeWarrior for Microcontrollers 10
- CodeWarrior Tool Tip #1: Improve performance by cleaning house in the Eclipse workspace
- CodeWarrior Tool Tip #2: Programming flash memory is easy
- CodeWarrior Tool Tip #3: History repeats itself
- CodeWarrior Tool Tip #4: The outline view
- CodeWarrior Tool Tip #5: The return of the subproject
- CodeWarrior Tool Tip #7: What's your preference?
- CodeWarrior Tool Tip #9: Stop on Startup
- Scripting: Welcome to the debugger shell
- 10 best Eclipse shortcuts
- The Freedom Board
- Software and Hardware Breakpoints


Date Description
31-Jan-2013 Updated Utility, LED and for IAR, see this post.
29-Dec-2012 Added PWM and shell interface to LED.
26-Dec-2012 Initial release of HardFault.
25-Dec-2012 Simplified version of LED.
22-Dec-2012 Initial release of LCDHTA.
16-Dec-2012 Updated Wait for more accurate timing for Kinetis. Updated PDC8544 for Kinetis. LCDHTA
08-Dec-2012 Updated Utility with new methods. Wait
05-Dec-2012 First release of new RTC_Maxim component, with updated FSShell and FAT_FileSystem for it.
04-Dec-2012 Fixed a bug in the GenericSWI2C component. First release of new GenericI2C component.
25-Nov-2012 Updated FreeRTOS with and fixed bug for gcc and Cortex-M0+ at higher optimization levels.
18-Nov-2012 Updated FAT_FileSystem and SD_Card.
13-Nov-2012 Updated FSShell and FSL_USB_Stack, as well the examples for it.
02-Oct-2012 Released the PDC8544 for Nokia black/white displays. First version of GenericSWSPI.
18-Aug-2012 Updated FreeRTOS to support version 7.2.0. Because of changed different heap handling, updated FSShell as well.
15-Aug-2012 Added SMAC, SSEC, SPHY, and MC13192.
09-Aug-2012 New version of RingBufferUInt8 which has been missed to be published with the new version of FSShell.
08-Aug-2012 Updated FreeRTOS with a fix for Freescale Kinetis compiler. Updated FSShell to automatically switch on/off LDD version of terminal, and fixed an internal error for non-LDD targets.
05-Aug-2012 Updated PercepioTrace to work with gcc. Improved support in FSShell for Tera Term.
30-Jul-2012 New component FatFsMemSDHC. Additionally updated FAT_FileSystem and FSShell and SD_Card.
29-Jul-2012 Fixed bug in LED component.FatFsMemSDHC
25-Jul-2012 New GenericTimeDate component.
18-Jul-2012 Updated FreeRTOS with support for ARM/Kinetis gcc and Cortex-M0+.
07-Jul-2012 Updated PercepioTrace, FreeRTOSTrace and FreeRTOS. See this post.
02-Jul-2012 Published new components PID_Int, Tacho, MaxonF2140 and QuadCounter.
13-Jun-2012 Fixed an issue in SD_Card, Wait supports now gcc assembly syntax.
03-Jun-2012 Updated PercepioTrace for V2.2.2.
27-May-2012 Updated FreeRTOS for V7.1.1.
21-May-2012 Updated FSShell for flexible text positions. New GenericSWI2C component.
04-May-2012 Updated FSL_USB_Stack with support for S08MM128.
25-Mar-2012 Added new component FreeRTOSTrace and PercepioTrace. Updated FreeRTOS to use free running counter (needed for Percepio Trace).
15-Mar-2012 Added new component 24AA_EEPROM and updated FSL_USB_Stack.
08-Mar-2012 Added new component RingBufferUInt8 and FSL_USB_Stack. 24AA_EEPROM
11-Feb-2012 FreeRTOS support for S12 and S12X and classic (non-eclipse) CodeWarrior, updated FSShell for classic CodeWarrior.
08-Feb-2012 Extended version of Utility with additional wrappers to the string library. Extended FAT_FileSystem with macro wrapper to f_eof(), f_error(), f_tell() and f_size().
01-Feb-2012 Fixed issue in FAT_FileSystem with read-only file system setting.
31-Jan-2012 Wait supports now as well the Freescale DSC family of microprocessors.
25-Jan-2012 SD_Card has now a setting for high/low active card detection pin.
06-Jan-2012 Additional components and example for bootloader over USB.
03-Jan-2012 Additional components, updates for FreeRTOS 7.1.0 and added Kinetis K70 example.
19-Nov-2011 Added GFont, FontDisplay, GDisplay, SSD1289
13-Nov-2011 Updated FSShell and FreeRTOS to 7.0.2. Additionally providing an 'all-in-one' download.
13-Nov-2011 Updated FreeRTOS to support Kinetis, including example for it.
02-Nov-2011 Updated FreeRTOS and FSShell and example applications. Added Trigger.
25-Oct-2011 Added PCA9554 and SimpleEvents
05-Sept-2011 More components, added example and instructions.
04-Sept-2011 Site creation, added first components.

Contact: NOSPAM_webmaster@steinerberg.com (remove the 'NOSPAM_' from the email address) or visit http://mcuoneclipse.com/