Use noinline attribute on C portion of asm functions, increase warning level and fix warnings output by new level.

This commit is contained in:
Richard Barry 2009-09-28 18:23:17 +00:00
parent 75c6804bb1
commit 00462893c9
5 changed files with 61 additions and 78 deletions

View file

@ -57,7 +57,7 @@
* you are absolutely sure that no stack space is used.
*/
void vButtonISRWrapper( void ) __attribute__ ((naked));
void vButtonHandler( void );
void vButtonHandler( void ) __attribute__ ((noinline));
void vButtonHandler( void )
{
@ -86,7 +86,7 @@ void vButtonISRWrapper( void )
/* Call the handler to do the work. This must be a separate function to
the wrapper to ensure the correct stack frame is set up. */
vButtonHandler();
__asm volatile( "bl vButtonHandler" );
/* Restore the context of whichever task is going to run once the interrupt
completes. */