Kinetis K60 and CodeWarrior

uhhlv wrote on Wednesday, October 26, 2011:

There s no FreeRTOS demo for kinetis K60 and Codewarrior. Does it mean that it isn t possible to use FreeRTOS for Kinetis and Codewarrior at the moment or is it possible to start with this combination without a demo?
Is it planned to create a demo for Kinetis and Codewarrior soon?

davedoors wrote on Wednesday, October 26, 2011:

CodeWarrior is just Eclipse these days I think. Does it use GCC, or, like TI, have Freescale felt the need to add yet another compiler to the ARM compiler arsenal? If it is GCC, then no problem. If it is not, then lobby your Freescale FAE hard for FreeRTOS support.

howsthat wrote on Sunday, September 02, 2012:

Hi
FreeRTOS provides only a port on Kinetis K60 using IAR EWARM. I only have Codewarrior. Can somebody guide me if it is possible to use the same code in Codewarrior?( I think IAR doesn’t use GCC ….in such a case how can someone get started with RTOS)?

howsthat wrote on Sunday, September 02, 2012:

Can somebody reply to the above question posted by “uhhl”?

rtel wrote on Sunday, September 02, 2012:

Cortex-M3 and Cortex-M4 devices are supported with IAR, Keil and GCC.  Cortex-M4 devices are additionally supported with Tasking.

If you CodeWarrior uses GCC, then it is supported, it is just that there is not a pre-configured demo that will work “out of the box”.  It is impossible to provide demos for every combination of chip and compiler (31 chips and 14 tool chains supported, plus numerous development boards per chip!) - but there are lots of GCC demos for other ports that can be used as a reference. 

+ Create a project in CodeWarrior,
+ Check it runs,
+ Add in the FreeRTOS code (FreeRTOS/Source, FreeRTOS/source/portable/GCC/ARM_CM3, FreeRTOS/source/portable/MemMang/heap_x.c),
+ Copy a FreeRTOSConfig.h file from another project
+ Add the FreeRTOS interrupt handlers into the vector table
+ Compiler and work out the include paths required to remove the errors (FreeRTOS/Source/include FreeRTOS/Source/portable/GCC/ARM_CM3 (or CM4), and the directory that has the FreeRTOSConfig.h header file as starters).

There three links were posted recently about the required interrupt vectors:

http://www.freertos.org/FreeRTOS_Support_Forum_Archive/September_2011/freertos_FreeRTOS_on_Atmel_SAM3U_in_CrossStudio_4694403.html

http://www.freertos.org/FreeRTOS_Support_Forum_Archive/June_2012/freertos_FreeRTOS_on_energymicro_GiantGeko_sourcery_5364965.html

http://www.freertos.org/FreeRTOS_Support_Forum_Archive/January_2012/freertos_LPC1768_FreeRTOS_4964917.html

Regards.

howsthat wrote on Monday, September 03, 2012:

Hi Richard……Thanks a lot. I’ll try these steps & yes Codewarrior uses GCC so it should be doable.
Would let you know once I succeed.

Appreciate your responsiveness.

xz8987f wrote on Tuesday, September 04, 2012:

Hello,
besides of the pointers provided by Richard: there is a CodeWarrior port (with Processor Expert) available in the FreeRTOS community ports, and described in http://mcuoneclipse.wordpress.com/2012/07/20/freertos-with-gcc-cortex-m0-and-kinetis-kl25z-freedom-board/. It supports both GCC and the Freescale ARM compiler. You can integrate gcc into CodeWarrior for MCU10.2 manually, and CodeWarrior V10.3 already comes with ARM Inc. GNU/gcc integrated.

sergioprado wrote on Wednesday, September 05, 2012:

I have been using FreeRTOS on a K60 MCU using CW 10.2 for a while and it works pretty well.

Sergio Prado

howsthat wrote on Wednesday, September 05, 2012:

Thanks for your replies guys.
@ xz8987f: Yes, I am aware of this work that is quite useful.  Thanks for the info though.