Tuesday, November 9, 2010

CSTACK & FreeRTOS

FreeRTOS V6.1.0
MCU: ARM Cortex-M3
Compiler: IAR 5.3

修改CSTACK的大小會當機!
如果當機的話,可以修改port.c.
---------------------------------------------------------------
portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )
{
/* Simulate the stack frame as it would be created by a context switch
interrupt. */
   pxTopOfStack--; /* 將該行移除或加回,就可解決當機的問題 */
....
....
---------------------------------------------------------------

針對不同的CSTACK size, linker會把CSTACK排在不同的地方;可能是RAM的開頭或尾巴。