EFM32 Demo not running (gcc tool chain)

tbrandon wrote on Wednesday, July 13, 2011:

Copied the CORTEX_EFMG890F128_IAR directory to CORTEX_EFMG890F128_GCC and created a Makefile to use with the codesourcery tool chain (version arm-2010q1).  Unfortunately the demo does nothing … literary.  After vTaskStartScheduler is called, the other tasks appear to be never called. 

Using gdb  ^C reports:    0x000000c0 in _IRQHandlerinterrupt ()

Any ideas?


rtel wrote on Thursday, July 14, 2011:

Well there could be one of twenty different things.  From a three line description of what you have done I can only speculate on the most likely - and that would be that you have not populated the interrupt vector table correctly.  Look at the other Cortex-M3 GCC demos - you need to populate the PendSV, SysTick and SVC interrupts with xPortPendSVHandler, vPortSysTickHandler and vPortSVCHandler respectively.

If your project is using CMSIS, then you can map these to the CMSIS names by adding the following lines to FreeRTOSConfig.h, then including FreeRTOSConfig.h in the file that defines the vector table.

#define vPortSVCHandler SVC_Handler
#define xPortPendSVHandler PendSV_Handler
#define xPortSysTickHandler SysTick_Handler


tbrandon wrote on Thursday, July 14, 2011:

Brilliant.  That did it.  Thank you.