Enable GCC's -pipe option by default, to build projects using intermediary logical...
[pub/USBasp.git] / Bootloaders / CDC / BootloaderCDC.h
index 4b9e7d6..36af962 100644 (file)
@@ -47,6 +47,7 @@
 
                #include "Descriptors.h"
                #include "BootloaderAPI.h"
 
                #include "Descriptors.h"
                #include "BootloaderAPI.h"
+               #include "Config/AppConfig.h"
 
                #include <LUFA/Drivers/USB/USB.h>
                #include <LUFA/Drivers/Board/LEDs.h>
 
                #include <LUFA/Drivers/USB/USB.h>
                #include <LUFA/Drivers/Board/LEDs.h>
@@ -67,6 +68,9 @@
                /** Eight character bootloader firmware identifier reported to the host when requested */
                #define SOFTWARE_IDENTIFIER          "LUFACDC"
 
                /** Eight character bootloader firmware identifier reported to the host when requested */
                #define SOFTWARE_IDENTIFIER          "LUFACDC"
 
+               /** Magic bootloader key to unlock forced application start mode. */
+               #define MAGIC_BOOT_KEY            0xDC42CACA
+               
        /* Type Defines: */
                /** Type define for a non-returning pointer to the start of the loaded application in flash memory. */
                typedef void (*AppPtr_t)(void) ATTR_NO_RETURN;
        /* Type Defines: */
                /** Type define for a non-returning pointer to the start of the loaded application in flash memory. */
                typedef void (*AppPtr_t)(void) ATTR_NO_RETURN;
@@ -75,6 +79,8 @@
                static void CDC_Task(void);
                static void SetupHardware(void);
 
                static void CDC_Task(void);
                static void SetupHardware(void);
 
+               void Application_Jump_Check(void) ATTR_INIT_SECTION(3);
+
                void EVENT_USB_Device_ConfigurationChanged(void);
 
                #if defined(INCLUDE_FROM_BOOTLOADERCDC_C) || defined(__DOXYGEN__)
                void EVENT_USB_Device_ConfigurationChanged(void);
 
                #if defined(INCLUDE_FROM_BOOTLOADERCDC_C) || defined(__DOXYGEN__)