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
}
}
/* ------------------------------------------------------------------------ */
}
/* ------------------------------------------------------------------------ */