diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2013-04-06 14:34:57 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2013-04-06 14:34:57 +0000 |
commit | ace61d757e0c580365adfcd8464c28ca9f98f878 (patch) | |
tree | b511bed19f8b72d3a3b1243e0d862343335147e6 | |
parent | 09ae9ad0046d827e6a9267bc8874a767b0078ae9 (diff) | |
download | lufa-ace61d757e0c580365adfcd8464c28ca9f98f878.tar.gz lufa-ace61d757e0c580365adfcd8464c28ca9f98f878.tar.bz2 lufa-ace61d757e0c580365adfcd8464c28ca9f98f878.zip |
Add checks to the bootloaders so that they will give a user-friendly compile error if not compiled with size optimizations.
-rw-r--r-- | Bootloaders/CDC/BootloaderCDC.h | 5 | ||||
-rw-r--r-- | Bootloaders/DFU/BootloaderDFU.h | 9 | ||||
-rw-r--r-- | Bootloaders/HID/BootloaderHID.h | 9 | ||||
-rw-r--r-- | Bootloaders/MassStorage/BootloaderMassStorage.h | 5 | ||||
-rw-r--r-- | Bootloaders/Printer/BootloaderPrinter.h | 5 |
5 files changed, 29 insertions, 4 deletions
diff --git a/Bootloaders/CDC/BootloaderCDC.h b/Bootloaders/CDC/BootloaderCDC.h index b5d5e0b02..76d579d26 100644 --- a/Bootloaders/CDC/BootloaderCDC.h +++ b/Bootloaders/CDC/BootloaderCDC.h @@ -52,6 +52,11 @@ #include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/Board/LEDs.h> + /* Preprocessor Checks: */ + #if !defined(__OPTIMIZE_SIZE__) + #error This bootloader requires that it be compiled for size, not speed for it to fit into the target device. + #endif + /* Macros: */ /** Version major of the CDC bootloader. */ #define BOOTLOADER_VERSION_MAJOR 0x01 diff --git a/Bootloaders/DFU/BootloaderDFU.h b/Bootloaders/DFU/BootloaderDFU.h index 5223e47eb..537902393 100644 --- a/Bootloaders/DFU/BootloaderDFU.h +++ b/Bootloaders/DFU/BootloaderDFU.h @@ -54,13 +54,18 @@ #include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/Board/LEDs.h> + /* Preprocessor Checks: */ + #if !defined(__OPTIMIZE_SIZE__) + #error This bootloader requires that it be compiled for size, not speed for it to fit into the target device. + #endif + /* Macros: */ /** Major bootloader version number. */ #define BOOTLOADER_VERSION_MINOR 2 /** Minor bootloader version number. */ #define BOOTLOADER_VERSION_REV 0 - + /** Magic bootloader key to unlock forced application start mode. */ #define MAGIC_BOOT_KEY 0xDC42 @@ -203,7 +208,7 @@ static void ProcessWriteCommand(void); static void ProcessReadCommand(void); #endif - + void Application_Jump_Check(void) ATTR_INIT_SECTION(3); #endif diff --git a/Bootloaders/HID/BootloaderHID.h b/Bootloaders/HID/BootloaderHID.h index 306f3efa9..e63b19d94 100644 --- a/Bootloaders/HID/BootloaderHID.h +++ b/Bootloaders/HID/BootloaderHID.h @@ -48,18 +48,23 @@ #include <LUFA/Drivers/USB/USB.h> + /* Preprocessor Checks: */ + #if !defined(__OPTIMIZE_SIZE__) + #error This bootloader requires that it be compiled for size, not speed for it to fit into the target device. + #endif + /* Macros: */ /** Bootloader special address to start the user application */ #define COMMAND_STARTAPPLICATION 0xFFFF /** Magic bootloader key to unlock forced application start mode. */ #define MAGIC_BOOT_KEY 0xDC42 - + /* Function Prototypes: */ static void SetupHardware(void); void Application_Jump_Check(void) ATTR_INIT_SECTION(3); - + void EVENT_USB_Device_ConfigurationChanged(void); void EVENT_USB_Device_UnhandledControlRequest(void); diff --git a/Bootloaders/MassStorage/BootloaderMassStorage.h b/Bootloaders/MassStorage/BootloaderMassStorage.h index 05b0eedfe..5e90739ad 100644 --- a/Bootloaders/MassStorage/BootloaderMassStorage.h +++ b/Bootloaders/MassStorage/BootloaderMassStorage.h @@ -50,6 +50,11 @@ #include <LUFA/Drivers/Board/LEDs.h> #include <LUFA/Drivers/USB/USB.h> + /* Preprocessor Checks: */ + #if !defined(__OPTIMIZE_SIZE__) + #error This bootloader requires that it be compiled for size, not speed for it to fit into the target device. + #endif + /* Macros: */ /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ #define LEDMASK_USB_NOTREADY LEDS_LED1 diff --git a/Bootloaders/Printer/BootloaderPrinter.h b/Bootloaders/Printer/BootloaderPrinter.h index 4995cdca9..22104c53f 100644 --- a/Bootloaders/Printer/BootloaderPrinter.h +++ b/Bootloaders/Printer/BootloaderPrinter.h @@ -47,6 +47,11 @@ #include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/Board/LEDs.h> + /* Preprocessor Checks: */ + #if !defined(__OPTIMIZE_SIZE__) + #error This bootloader requires that it be compiled for size, not speed for it to fit into the target device. + #endif + /* Macros: */ /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ #define LEDMASK_USB_NOTREADY LEDS_LED1 |