Hi,
I’m trying to port FreeRTOS on energymicro GiantGeko (CortexM3) with codesourcery cross-compiler. I’m able to compile and run a demo application, but the task that I create it seems that doesn’t start.
When I try to debug it seems that vPortStartFirstTask in port.c (an assembler routine) hangs forever, but the task routine is never reached.
My starting point was http://www.freertos.org/Interactive_Frames/Open_Frames.html?http://interactive.freertos.org/entries/20291196-energy-optimized-port-of-freertos-6-for-efm32, but I tryed also with the last version of FreeRTOS and I have a similar problem (in prvPortStartFirstTask routine in port.c).
Yes, I tried with official demo (as I explain in my first post), but I port it from IAR (I think the only compiler supported, at the moment for energymicro) to codesourcery because our OEM customer don’t want to buy a licence. If there is a FreeRTOS port for codesourcery (for energymicro) could be very usefull!
The problem it seems to be soved!!!!
I have to change the code in startup_efm32gg.s (I compile this file instead of the modified startup_efm32_cs3.s in the project because I have GiantGeko and not Geko, this is my orrible mistake! -.- ).
But, I think the best and elegant solution, is to add in my FreeRTOSConfig.h this few lines:
#define vPortSVCHandler SVC_Handler
#define xPortPendSVHandler PendSV_Handler
#define vPortSVCHandler SVC_Handler
#define xPortSysTickHandler SysTick_Handler
[\code]
Now it works! I can also debug with eclipse and JLink! Great! I can investigate now about EM2 energy mode...
Thanks a lot for your precious, professional and very quick support!
Regards, Valerio