Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
     MCUCSR = 0;                     /* clear all reset flags for next time */
 }
 
     MCUCSR = 0;                     /* clear all reset flags for next time */
 }
 
 static inline void  bootLoaderExit(void)
 {
     PIN_PORT(JUMPER_PORT) = 0;         /* undo bootLoaderInit() changes */
 }
 static inline void  bootLoaderExit(void)
 {
     PIN_PORT(JUMPER_PORT) = 0;         /* undo bootLoaderInit() changes */
 }
 
 #define bootLoaderCondition()          ((PIN_PIN(JUMPER_PORT) & (1 << PIN(JUMPER_PORT, JUMPER_BIT))) == 0)
 
 
 #define bootLoaderCondition()          ((PIN_PIN(JUMPER_PORT) & (1 << PIN(JUMPER_PORT, JUMPER_BIT))) == 0)
 
 
-
-static void leaveBootloader() __attribute__((__noreturn__));
-
 #include "bootloaderconfig.h"
 #include "usbdrv/usbdrv.c"
 
 #include "bootloaderconfig.h"
 #include "usbdrv/usbdrv.c"
 
+#if BOOTLOADER_CAN_EXIT
+static void leaveBootloader() __attribute__((__noreturn__));
+#endif
+
 #ifndef BOOTLOADER_ADDRESS
   #error need to know the bootloaders flash address!
 #endif
 #ifndef BOOTLOADER_ADDRESS
   #error need to know the bootloaders flash address!
 #endif
 
 /* ------------------------------------------------------------------------ */
 
 
 /* ------------------------------------------------------------------------ */
 
 static void (*nullVector)(void) __attribute__((__noreturn__));
 
 static void leaveBootloader()
 static void (*nullVector)(void) __attribute__((__noreturn__));
 
 static void leaveBootloader()
 
 /* ------------------------------------------------------------------------ */
 
 
 /* ------------------------------------------------------------------------ */
 
         }while (1);            /* main event loop */
 #endif
     }
         }while (1);            /* main event loop */
 #endif
     }
 }
 
 /* ------------------------------------------------------------------------ */
 }
 
 /* ------------------------------------------------------------------------ */