Updated McuOnEclipse Components: USB for KL24Z, FatFs v0.10c, Shell Backspace and FreeRTOS Trace Hook Configuration

I have received several requests to post a quick note when there is a new release (16-Nov-2014) of the McuOnEclipse components on SourceForge (see “McuOnEclipse Releases on SourceForge“). I have published today a new release, and with following major improvements:

  1. USB support for Kinetis KL24Z
  2. FatFs now features the latest Elm-Chan v0.10c release
  3. Backspace support in Shell
  4. Configuration item in FreeRTOS for Percepio Trace Hooks
McuOnEclipse SourceForge

McuOnEclipse SourceForge

USB Stack with Kinetis KL24Z Support

The FSL_USB_Stack components support now the Kinetis KL24Z:

Kinetis KL24Z supported in FSL_USB_Stack

Kinetis KL24Z supported in FSL_USB_Stack

FatFs with Elm-Chan R0.10c

The FatFS component has been updated and uses now the latest R0.10c from http://elm-chan.org/fsw/ff/00index_e.html

FatFs r0.10c

FatFs r0.10c

R0.10c comes with bug fixes and many improvements, but as well with a changed API for mounting. Instead a numeric drive number for multidrive support, it now requires a string. I have updated my components to reflect this.

FRESULT f_mount (
    FATFS* fs,            /* Pointer to the file system object (NULL:unmount)*/
    const TCHAR* path,    /* Logical drive number to be mounted/unmounted */
    uint8_t opt            /* 0:Do not mount (delayed mount), 1:Mount immediately */

This means that you might need to update your projects too: Instead of the drive number (e.g. 0) pass now an empty string “” or “0”.

Backspace support in Shell

If using a console like Putty then you probably send characters by characters, instead of the whole command in one sequence. Thanks to the contribution of Daniel Winz (thanks again!) the Shell component supports backspace (deleting characters already sent).

Putty with Shell

Putty with Shell

Now I can hit backspace (both ‘\b’ and ‘\177’ are supported):

Backspace entered

Backspace entered

Entering backspace will delete the last character, so I can enter the correct string:

text entered after backspace

text entered after backspace

If using the Shell in that mode, and if the terminal does not feature an ‘auto-echo’: enable the Echo function in the Shell:

Echo in Shell

Echo in Shell

Percepio Trace Configuration Item for FreeRTOS

If FreeRTOS trace gets enabled, then the RTOS gets instrumented with trace hooks (see “Tracing with FreeRTOS+Trace from Percepio“). But it requires as well the the trace gets initialized by the application, or trace elements enabled and controlled by the application. To make it easier for the application, the FreeRTOSConfig.h now contains a define

#define configUSE_TRACE_HOOKS                     1 /* using Percepio Trace hooks */

which can be used by the application for conditional code. configUSE_TRACE_HOOKS is set to 1 if trace hooks are used, 0 otherwise.

FreeRTOS Configuration Item for Trace

FreeRTOS Configuration Item for Trace


I try to keep the releases on SourceForge about once a month, but there has been several changes in the last two weeks who made it worthwile to do a new release. I hope that it is useful for you.

Happy SourceForging 🙂

PS: you can subscribe on https://sourceforge.net/projects/mcuoneclipse/ to get notified about new releases.


13 thoughts on “Updated McuOnEclipse Components: USB for KL24Z, FatFs v0.10c, Shell Backspace and FreeRTOS Trace Hook Configuration

    • This all can be used with the K64F parts, as long as you are NOT using the Kinetis SDK. The Kinetis SDK introduces a new API which is disruptive and let all the previous components fail. I have updated a few components (WAIT, Timeout, FreeRTOS to name a few) so they can work with the SDK. But everything else using a *_LDD component or other Freescale supplied high level components will *not* work with the SDK.


  1. I’m very grateful for the shell backspace! Thank you thank you!
    Now all I’d like is F3 (or something) to invoke “repeat the last command”.


  2. Hi Erich,

    USB stack wrapper for KL24Z needs same NVIC configuration setup functions (for enabling/disabling) as KL25Z in file USB1.c.
    Without that USB interface wont work.



  3. Erich,
    I just imported an old ColdFire MCF51AC256 project from CW 6.3, through CW 10.2, and on to 10.6.

    I updated all your components to the latest version. FatFs was updated to ChaN R0.10c as expected.

    But, diskio.c has a 2007 copyright date, and contains these declarations which do not compile:

    static volatile DSTATUS Stat = STA_NOINIT; /* Disk status */
    static BYTE CardType = CT_SD1; /* Card type flags */

    BYTE is not defined, but once was in integer.h, now commented out:
    /*typedef unsigned char BYTE;*/ /* use uint8_t instead! */

    Any idea what’s out of sync here?


What do you think?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.