save some more memory in case "BOOTLOADER_CAN_EXIT" is deactivated
authorStephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Tue, 13 Nov 2012 17:07:03 +0000 (18:07 +0100)
committerStephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Wed, 14 Nov 2012 20:54:33 +0000 (20:54 +0000)
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
firmware/bootloaderconfig.h
firmware/main.c

index 2b94da4..a54adab 100644 (file)
@@ -215,10 +215,12 @@ static inline void  bootLoaderInit(void)
     MCUCSR = 0;                     /* clear all reset flags for next time */
 }
 
+#if BOOTLOADER_CAN_EXIT
 static inline void  bootLoaderExit(void)
 {
     PIN_PORT(JUMPER_PORT) = 0;         /* undo bootLoaderInit() changes */
 }
+#endif
 
 #define bootLoaderCondition()          ((PIN_PIN(JUMPER_PORT) & (1 << PIN(JUMPER_PORT, JUMPER_BIT))) == 0)
 
index c80ab7d..fe5d09f 100644 (file)
 #include <string.h>
 
 
-
-static void leaveBootloader() __attribute__((__noreturn__));
-
 #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
@@ -177,6 +178,7 @@ static const uchar  signatureBytes[4] = {
 
 /* ------------------------------------------------------------------------ */
 
+#if BOOTLOADER_CAN_EXIT
 static void (*nullVector)(void) __attribute__((__noreturn__));
 
 static void leaveBootloader()
@@ -197,6 +199,7 @@ static void leaveBootloader()
  */
     nullVector();
 }
+#endif
 
 /* ------------------------------------------------------------------------ */
 
@@ -430,7 +433,9 @@ int __attribute__((noreturn)) main(void)
         }while (1);            /* main event loop */
 #endif
     }
+#if BOOTLOADER_CAN_EXIT
     leaveBootloader();
+#endif
 }
 
 /* ------------------------------------------------------------------------ */