avr-gcc naked define for task functions: cave

mpbock wrote on Wednesday, January 09, 2013:

Hi everyone,

after a long and intense search for a strange behaviour of a little program which uses RTOS 7.3.0 on an ATMega644 I want to share this little caveat with all of you and maybe the Real Time Engineers staff may put a little warning onto their FAQ.

In the FAQ (http://www.freertos.org/FAQMem.html) is stated you can use the naked attribute to ommit prologue and epilogue of an never returning function like the main and the task function.
But beware that also the frame pointer will not be set up. Therefore if your “naked function” uses too many local variables than could be hold in the internal registers they can not be correctly swapped out using the frame pointer.

Beside this I would like to say that FeeRTOS is a really cool piece of software, thanks for that.

HTH, kind regards Martin Bock

rtel wrote on Sunday, January 13, 2013:

Thanks - the offending comment has been removed.  It is rather old and is no longer valid.  In fact, I noticed a few things on that page that needed modification.  Some of the old documentation needs a bit of a purge.