port PIC24 and mplab compiler options

Hi I have two issue 1. In FreeFRTOS’ documentation to demo PIC24 is: <quote> Compiler options As with all the ports, it is essential that the correct compiler options are used. The best way to ensure this is to base your application on the provided demo application files. In particular the ‘Omit Frame Pointer’ option within the MPLAB C30 optimisation dialogue must be checked. <> But when I open demo in version 5.1.1 and 5.1.2 I see options: "-fno-omit-frame-pointer -g -Wall -DMPLAB_PIC24_PORT -mlarge-code -mlarge-data -O1 -fno-schedule-insns -fno-schedule-insns2" so we have "NO" omit-frame-pointer…  (-fno-omit… vs. -f-omit… ) it seems be confusing a little bit. Which is correct? 2. Assuming -fno-omit-frame-pointer is correct what is reason to use that option? I am asking for just academic reason, I suspect is something connected with context switch? I try understand limitations of this port. From documentation of compiler for example instrict function: __builtin_return_address can not use -fomit-frame-pointer, but not other warnings or limits in documentation (DS51284H). Best Regards /Greg

port PIC24 and mplab compiler options

-fno-omit-frame-pointer was needed because the PIC24 compiler generated bugged code when it not used. Maybe this is fixed now.

port PIC24 and mplab compiler options

I have gcc version v3.11 (B) 30 July 2008 Is good to know if it was fixed, and add proper comment to documentation that this flag is needed with version less then X.XX. How I can check that? Kind Regards

port PIC24 and mplab compiler options

I think V3.10B was the version that introduced the bug.  Prior to this the no-omit-frame-pointer options was not required.  Check the C30 release notes. Regards.

port PIC24 and mplab compiler options

from README.html: Fixed Issues v3.11 Compiler (…) C30-523 – Interrupt functions can overwrite saved value of W14 This error applies only to interrupt service routines. This could cause an _AddressError trap or a reset. Valid work-arounds (if not applying this patch) are to use -fno-omit-framepointer or use no_auto_psv with interrupt functions. I will try test this, mayby tommorow. Kind Regards

port PIC24 and mplab compiler options

I tested my application and I do not see any side effects with compiler 3.11. Without -fno-omit-frame-pointer is slightly less rom size and stack usage, but could be significant only in really big project (tested with -O3). BTW: Demo documentation  is still wrong, I expected someone fixed that. “’Omit Frame Pointer’ option within the MPLAB C30 optimisation dialogue must be checked.” If is checked then to options is added “-fomit-frame-pointer”, not “-fno-omit-frame-pointer” mplab 8.15.