Allow the MSP430X IAR port layer to skip pre-loading all register values for created tasks.

pull/4/head
Richard Barry 14 years ago
parent 9a24d4a37f
commit 20ddcce965

@ -137,30 +137,37 @@ unsigned long *pulTopOfStack;
pxTopOfStack = ( portSTACK_TYPE * ) pusTopOfStack; pxTopOfStack = ( portSTACK_TYPE * ) pusTopOfStack;
/* Next the general purpose registers. */ /* Next the general purpose registers. */
*pxTopOfStack = ( portSTACK_TYPE ) 0xfffff; #ifdef PRELOAD_REGISTER_VALUES
pxTopOfStack--; *pxTopOfStack = ( portSTACK_TYPE ) 0xffff;
*pxTopOfStack = ( portSTACK_TYPE ) 0xeeeee; pxTopOfStack--;
pxTopOfStack--; *pxTopOfStack = ( portSTACK_TYPE ) 0xeeee;
*pxTopOfStack = ( portSTACK_TYPE ) 0xddddd; pxTopOfStack--;
pxTopOfStack--; *pxTopOfStack = ( portSTACK_TYPE ) 0xdddd;
*pxTopOfStack = ( portSTACK_TYPE ) pvParameters; pxTopOfStack--;
pxTopOfStack--; *pxTopOfStack = ( portSTACK_TYPE ) pvParameters;
*pxTopOfStack = ( portSTACK_TYPE ) 0xbbbbb; pxTopOfStack--;
pxTopOfStack--; *pxTopOfStack = ( portSTACK_TYPE ) 0xbbbb;
*pxTopOfStack = ( portSTACK_TYPE ) 0xaaaaa; pxTopOfStack--;
pxTopOfStack--; *pxTopOfStack = ( portSTACK_TYPE ) 0xaaaa;
*pxTopOfStack = ( portSTACK_TYPE ) 0x99999; pxTopOfStack--;
pxTopOfStack--; *pxTopOfStack = ( portSTACK_TYPE ) 0x9999;
*pxTopOfStack = ( portSTACK_TYPE ) 0x88888; pxTopOfStack--;
pxTopOfStack--; *pxTopOfStack = ( portSTACK_TYPE ) 0x8888;
*pxTopOfStack = ( portSTACK_TYPE ) 0x55555; pxTopOfStack--;
pxTopOfStack--; *pxTopOfStack = ( portSTACK_TYPE ) 0x5555;
*pxTopOfStack = ( portSTACK_TYPE ) 0x66666; pxTopOfStack--;
pxTopOfStack--; *pxTopOfStack = ( portSTACK_TYPE ) 0x6666;
*pxTopOfStack = ( portSTACK_TYPE ) 0x55555; pxTopOfStack--;
pxTopOfStack--; *pxTopOfStack = ( portSTACK_TYPE ) 0x5555;
*pxTopOfStack = ( portSTACK_TYPE ) 0x44444; pxTopOfStack--;
pxTopOfStack--; *pxTopOfStack = ( portSTACK_TYPE ) 0x4444;
pxTopOfStack--;
#else
pxTopOfStack -= 3;
*pxTopOfStack = ( portSTACK_TYPE ) pvParameters;
pxTopOfStack -= 9;
#endif
/* A variable is used to keep track of the critical section nesting. /* A variable is used to keep track of the critical section nesting.
This variable has to be stored as part of the task context and is This variable has to be stored as part of the task context and is

Loading…
Cancel
Save