*/\r
\r
/*\r
+Changes from V4.2.1\r
+ + CallReturn Depth increased from 10 to 12 levels to accomodate wizC/fedC V14.\r
+ +CodeOptions added to disable the wizC/fedC optimiser within asm\r
+\r
Changes from V3.2.1\r
+ CallReturn Depth increased from 8 to 10 levels to accomodate wizC/fedC V12.\r
\r
#define portSTACK_CALLRETURN_ENTRY_SIZE ( 2 )\r
#endif\r
\r
-#define portSTACK_MINIMAL_CALLRETURN_DEPTH ( 10 )\r
+#define portSTACK_MINIMAL_CALLRETURN_DEPTH ( 12 )\r
#define portSTACK_OTHER_BYTES ( 20 )\r
\r
unsigned portSHORT usCalcMinStackSize = 0;\r
* We do this here already to avoid W-register conflicts.\r
*/\r
_Pragma("asm")\r
+ dupmodoff\r
movlw OVERHEADPAGE0-LOCOPTSIZE+MAXLOCOPTSIZE\r
movwf PRODL,ACCESS ; PRODL is used as temp register\r
+ dupmodon\r
_Pragma("asmend")\r
ucScratch = PRODL;\r
\r
* Fetch the size of compiler's scratchspace.\r
*/\r
_Pragma("asm")\r
+ dupmodoff\r
movlw OVERHEADPAGE0-LOCOPTSIZE+MAXLOCOPTSIZE\r
movlb usCalcMinStackSize>>8\r
movwf usCalcMinStackSize,BANKED\r
+ dupmodon\r
_Pragma("asmend")\r
\r
/*\r
portDISABLE_INTERRUPTS(); \\r
\\r
_Pragma("asm") \\r
+ dupmodoff \\r
; \\r
; Push the relevant SFR's onto the task's stack \\r
; \\r
movff pxCurrentTCB+1,FSR0H \\r
movff FSR2L,POSTINC0 \\r
movff FSR2H,POSTINC0 \\r
+ dupmodon \\r
_Pragma("asmend") \\r
} while(0)\r
\r
do \\r
{ \\r
_Pragma("asm") \\r
+ dupmodoff \\r
; \\r
; Set FSR0 to point to pxCurrentTCB->pxTopOfStack. \\r
; \\r
movff PREINC2,WREG \\r
movff PREINC2,STATUS \\r
return 0 ; Return without affecting interrupts \\r
+ dupmodon \\r
_Pragma("asmend") \\r
} while(0)\r
\r
#define portYIELD() vPortYield()\r
\r
#define portNOP() _Pragma("asm") \\r
+ dupmodoff \\r
nop \\r
+ dupmodon \\r
_Pragma("asmend")\r
\r
/*-----------------------------------------------------------*/\r