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:
- USB support for Kinetis KL24Z
- FatFs now features the latest Elm-Chan v0.10c release
- Backspace support in Shell
- Configuration item in FreeRTOS for Percepio Trace Hooks
USB Stack with Kinetis KL24Z Support
The FSL_USB_Stack components support now the Kinetis KL24Z:
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
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).
Now I can hit backspace (both ‘\b’ and ‘\177’ are supported):
Entering backspace will delete the last character, so I can enter the correct string:
If using the Shell in that mode, and if the terminal does not feature an ‘auto-echo’: enable the Echo function in the 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.
Summary
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.
Hi Erich
Nice. How easily does this port to the K64F part?
LikeLike
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.
LikeLike
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”.
LikeLike
Hmm, let me think about this. Maybe with ‘cursur up/down’ to scroll through the last few commands?
LikeLike
Doesn’t seem to work for me (Teraterm). Not a big deal. Backspace will make life easier.
LikeLike
Backspace does not work with Teraterm? Or what does not work?
LikeLike
Sorry, I am being unclear. I meant (a) the new backspace feature works with Teraterm and will be very useful. Thanks!. (b) Teraterm does not seem to have a command-repeat key sequence such as “cursor up/down”.
LikeLike
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.
BR,
Zoran
LikeLike
Hi Zoran,
sorry, I have missed to add that support in this place 😦
I have commited the fix here: https://github.com/ErichStyger/McuOnEclipse_PEx/commit/ad62e97eba8784405a766fdcecd405f08f7d6969
So maybe you can take the file/fix from here until I make a new release?
Thanks,
Erich
LikeLike
Yeah, I’ve fixed that. I have USB on KL24Z custom device working :-).
Thanks a lot,
Zoran
LikeLike
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?
/Bill
LikeLike
Hi Bill,
old version of the FatFS component had copied that file. But it is not used any more. You can delete diskio.c from your Generated_code folder, and you should be fine.
LikeLike
Thank you very much — that did it!
Bill
LikeLike