From bc5d45359aa9370e6665c5c03eb5c3fff13db23e Mon Sep 17 00:00:00 2001 From: Olaf Rempel Date: Sat, 21 Mar 2015 09:15:43 +0100 Subject: [PATCH] Fix sizeof(VERSION_STRING) - sizeof(info) should not be increased (16->18) since the size is never exchanged with the I2C master. Also using a non 2^x size will result in bigger code since the compiler can no longer use a simple AND to implement the bcnt %= sizeof(info). - when using a info[16] the firmware is small enough to fit in a 512 word bootloader again :) --- Makefile | 4 ++-- main.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 4eb04cb..7829dc1 100644 --- a/Makefile +++ b/Makefile @@ -42,9 +42,9 @@ endif ifeq ($(MCU), atmega328p) # (8Mhz internal RC-Osz., 2.7V BOD) AVRDUDE_MCU=m328p -F -AVRDUDE_FUSES=lfuse:w:0xc2:m hfuse:w:0xda:m efuse:w:0xfd:m +AVRDUDE_FUSES=lfuse:w:0xc2:m hfuse:w:0xdc:m efuse:w:0xfd:m -BOOTLOADER_START=0x7800 +BOOTLOADER_START=0x7C00 endif # --------------------------------------------------------------------------- diff --git a/main.c b/main.c index c70e489..3e37917 100644 --- a/main.c +++ b/main.c @@ -55,7 +55,7 @@ #define SIGNATURE_BYTES 0x1E, 0x94, 0x06 #elif defined (__AVR_ATmega328P__) -#define VERSION_STRING "TWIBOOT m328pv2.1" +#define VERSION_STRING "TWIBOOTm328pv2.1" #define SIGNATURE_BYTES 0x1E, 0x95, 0x0F #else @@ -154,7 +154,7 @@ * SLA+W, 0x02, 0x02, addrh, addrl, {* bytes}, STO */ -const static uint8_t info[18] = VERSION_STRING; +const static uint8_t info[16] = VERSION_STRING; const static uint8_t chipinfo[8] = { SIGNATURE_BYTES,