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 :)
This commit is contained in:
Olaf Rempel 2015-03-21 09:15:43 +01:00
parent 31d65c76d7
commit bc5d45359a
2 changed files with 4 additions and 4 deletions

View File

@ -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
# ---------------------------------------------------------------------------

4
main.c
View File

@ -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,