aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2018-12-05 20:17:27 +1100
committerDean Camera <dean@fourwalledcubicle.com>2018-12-05 20:17:27 +1100
commit74dcaa91458cbe8c6b6cbbb246d87e379f32f0e0 (patch)
tree0247e30e9ea5901b0b57af96a66d63d0550ec551
parentf6a204b6abca954ac52fa65830ad3217394c71af (diff)
downloadlufa-74dcaa91458cbe8c6b6cbbb246d87e379f32f0e0.tar.gz
lufa-74dcaa91458cbe8c6b6cbbb246d87e379f32f0e0.tar.bz2
lufa-74dcaa91458cbe8c6b6cbbb246d87e379f32f0e0.zip
PrinterBootloader: Don't store 32-bit HEX parser flash offsets on small flash devices.
-rw-r--r--Bootloaders/Printer/BootloaderPrinter.c8
-rw-r--r--Bootloaders/Printer/BootloaderPrinter.h7
2 files changed, 11 insertions, 4 deletions
diff --git a/Bootloaders/Printer/BootloaderPrinter.c b/Bootloaders/Printer/BootloaderPrinter.c
index 629cc07b4..94521ef16 100644
--- a/Bootloaders/Printer/BootloaderPrinter.c
+++ b/Bootloaders/Printer/BootloaderPrinter.c
@@ -67,7 +67,7 @@ USB_ClassInfo_PRNT_Device_t TextOnly_Printer_Interface =
/** Intel HEX parser state machine state information, to track the contents of
* a HEX file streamed in as a sequence of arbitrary bytes.
*/
-struct
+static struct
{
/** Current HEX parser state machine state. */
uint8_t ParserState;
@@ -87,11 +87,11 @@ struct
/** Checksum of the current record received so far. */
uint8_t Checksum;
/** Starting address of the last addressed FLASH page. */
- uint32_t PageStartAddress;
+ flashaddr_t PageStartAddress;
/** Current 32-bit byte extended base address in FLASH being targeted. */
- uint32_t CurrBaseAddress;
+ flashaddr_t CurrBaseAddress;
/** Current 32-bit byte address in FLASH being targeted. */
- uint32_t CurrAddress;
+ flashaddr_t CurrAddress;
} HEXParser;
/** Indicates if there is data waiting to be written to a physical page of
diff --git a/Bootloaders/Printer/BootloaderPrinter.h b/Bootloaders/Printer/BootloaderPrinter.h
index 78f938c68..c927ec5ef 100644
--- a/Bootloaders/Printer/BootloaderPrinter.h
+++ b/Bootloaders/Printer/BootloaderPrinter.h
@@ -74,6 +74,13 @@
/** 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