X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/df9b04c87fa803d2237c407ba17845fe1ca53674..refs/heads/ProMicro:/Bootloaders/Printer/BootloaderPrinter.h diff --git a/Bootloaders/Printer/BootloaderPrinter.h b/Bootloaders/Printer/BootloaderPrinter.h index fcbd8d765..661896b03 100644 --- a/Bootloaders/Printer/BootloaderPrinter.h +++ b/Bootloaders/Printer/BootloaderPrinter.h @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2013. + Copyright (C) Dean Camera, 2021. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2021 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted @@ -41,11 +41,19 @@ #include #include #include + #include #include "Descriptors.h" + #include "BootloaderAPI.h" - #include #include + #include + #include + + /* Preprocessor Checks: */ + #if !defined(__OPTIMIZE_SIZE__) + #error This bootloader requires that it be optimized for size, not speed, to fit into the target device. Change optimization settings and try again. + #endif /* Macros: */ /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ @@ -63,6 +71,16 @@ /** LED mask for the library LED driver, to indicate that the USB interface is busy. */ #define LEDMASK_USB_BUSY LEDS_LED2 + /** Magic bootloader key to unlock forced application start mode. */ + #define MAGIC_BOOT_KEY 0xDC42 + + /* Type Defines: */ + #if (FLASHEND > 0xFFFF) + typedef uint32_t flashaddr_t; + #else + typedef uint16_t flashaddr_t; + #endif + /* Enums: */ /** Intel HEX parser state machine states. */ enum HEX_Parser_States_t @@ -88,7 +106,7 @@ }; /* Function Prototypes: */ - void SetupHardware(void); + static void SetupHardware(void); void EVENT_USB_Device_Connect(void); void EVENT_USB_Device_Disconnect(void);