objectcopy (OBC) from raw to object needs command line parameter "-B <avr-architecture>"
In case of atmega1284p this arch is avr51 and not avr4X so it will crash in version v0.85.
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
DEFINES = #-DDEBUG_LEVEL=2
ifeq ($(DEVICE), atmega8)
FUSEOPT = $(FUSEOPT_8)
DEFINES = #-DDEBUG_LEVEL=2
ifeq ($(DEVICE), atmega8)
FUSEOPT = $(FUSEOPT_8)
- BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_8)
+ BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_8)
+ MCUARCH = avr4
else ifeq ($(DEVICE), atmega32)
FUSEOPT = $(FUSEOPT_32)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_32)
else ifeq ($(DEVICE), atmega32)
FUSEOPT = $(FUSEOPT_32)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_32)
else ifeq ($(DEVICE), atmega88)
FUSEOPT = $(FUSEOPT_88)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_88)
else ifeq ($(DEVICE), atmega88)
FUSEOPT = $(FUSEOPT_88)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_88)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE
else ifeq ($(DEVICE), atmega88a)
FUSEOPT = $(FUSEOPT_88)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_88)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE
else ifeq ($(DEVICE), atmega88a)
FUSEOPT = $(FUSEOPT_88)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_88)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE
else ifeq ($(DEVICE), atmega88p)
FUSEOPT = $(FUSEOPT_88)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_88)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE
else ifeq ($(DEVICE), atmega88p)
FUSEOPT = $(FUSEOPT_88)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_88)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE
else ifeq ($(DEVICE), atmega88pa)
FUSEOPT = $(FUSEOPT_88)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_88)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE
else ifeq ($(DEVICE), atmega88pa)
FUSEOPT = $(FUSEOPT_88)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_88)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE
else ifeq ($(DEVICE), atmega164a)
FUSEOPT = $(FUSEOPT_164)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_164)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE
else ifeq ($(DEVICE), atmega164a)
FUSEOPT = $(FUSEOPT_164)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_164)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE -DCONFIG_NO__BOOTLOADER_CAN_EXIT
else ifeq ($(DEVICE), atmega164p)
FUSEOPT = $(FUSEOPT_164)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_164)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE -DCONFIG_NO__BOOTLOADER_CAN_EXIT
else ifeq ($(DEVICE), atmega164p)
FUSEOPT = $(FUSEOPT_164)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_164)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE -DCONFIG_NO__BOOTLOADER_CAN_EXIT
else ifeq ($(DEVICE), atmega164pa)
FUSEOPT = $(FUSEOPT_164)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_164)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE -DCONFIG_NO__BOOTLOADER_CAN_EXIT
else ifeq ($(DEVICE), atmega164pa)
FUSEOPT = $(FUSEOPT_164)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_164)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE -DCONFIG_NO__BOOTLOADER_CAN_EXIT
else ifeq ($(DEVICE), atmega168)
FUSEOPT = $(FUSEOPT_168)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_168)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE -DCONFIG_NO__BOOTLOADER_CAN_EXIT
else ifeq ($(DEVICE), atmega168)
FUSEOPT = $(FUSEOPT_168)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_168)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE $(CHOOSEFLASHSAVE)
else ifeq ($(DEVICE), atmega168a)
FUSEOPT = $(FUSEOPT_168)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_168)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE $(CHOOSEFLASHSAVE)
else ifeq ($(DEVICE), atmega168a)
FUSEOPT = $(FUSEOPT_168)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_168)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE $(CHOOSEFLASHSAVE)
else ifeq ($(DEVICE), atmega168p)
FUSEOPT = $(FUSEOPT_168)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_168)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE $(CHOOSEFLASHSAVE)
else ifeq ($(DEVICE), atmega168p)
FUSEOPT = $(FUSEOPT_168)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_168)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE $(CHOOSEFLASHSAVE)
else ifeq ($(DEVICE), atmega168pa)
FUSEOPT = $(FUSEOPT_168)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_168)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE $(CHOOSEFLASHSAVE)
else ifeq ($(DEVICE), atmega168pa)
FUSEOPT = $(FUSEOPT_168)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_168)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE $(CHOOSEFLASHSAVE)
else ifeq ($(DEVICE), atmega324a)
FUSEOPT = $(FUSEOPT_324)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_324)
DEFINES += -DCONFIG_NO__HAVE_READ_LOCK_FUSE $(CHOOSEFLASHSAVE)
else ifeq ($(DEVICE), atmega324a)
FUSEOPT = $(FUSEOPT_324)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_324)
else ifeq ($(DEVICE), atmega324p)
FUSEOPT = $(FUSEOPT_324)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_324)
else ifeq ($(DEVICE), atmega324p)
FUSEOPT = $(FUSEOPT_324)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_324)
else ifeq ($(DEVICE), atmega324pa)
FUSEOPT = $(FUSEOPT_324)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_324)
else ifeq ($(DEVICE), atmega324pa)
FUSEOPT = $(FUSEOPT_324)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_324)
else ifeq ($(DEVICE), atmega328)
FUSEOPT = $(FUSEOPT_328)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_328)
else ifeq ($(DEVICE), atmega328)
FUSEOPT = $(FUSEOPT_328)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_328)
else ifeq ($(DEVICE), atmega328p)
FUSEOPT = $(FUSEOPT_328)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_328)
else ifeq ($(DEVICE), atmega328p)
FUSEOPT = $(FUSEOPT_328)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_328)
else ifeq ($(DEVICE), atmega644)
FUSEOPT = $(FUSEOPT_644)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_644)
else ifeq ($(DEVICE), atmega644)
FUSEOPT = $(FUSEOPT_644)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_644)
else ifeq ($(DEVICE), atmega644a)
FUSEOPT = $(FUSEOPT_644)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_644)
else ifeq ($(DEVICE), atmega644a)
FUSEOPT = $(FUSEOPT_644)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_644)
else ifeq ($(DEVICE), atmega644p)
FUSEOPT = $(FUSEOPT_644)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_644)
else ifeq ($(DEVICE), atmega644p)
FUSEOPT = $(FUSEOPT_644)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_644)
else ifeq ($(DEVICE), atmega644pa)
FUSEOPT = $(FUSEOPT_644)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_644)
else ifeq ($(DEVICE), atmega644pa)
FUSEOPT = $(FUSEOPT_644)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_644)
else ifeq ($(DEVICE), atmega128)
FUSEOPT = $(FUSEOPT_128)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_128)
else ifeq ($(DEVICE), atmega128)
FUSEOPT = $(FUSEOPT_128)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_128)
else ifeq ($(DEVICE), atmega1284)
FUSEOPT = $(FUSEOPT_1284)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_1284)
else ifeq ($(DEVICE), atmega1284)
FUSEOPT = $(FUSEOPT_1284)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_1284)
else ifeq ($(DEVICE), atmega1284p)
FUSEOPT = $(FUSEOPT_1284)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_1284)
else ifeq ($(DEVICE), atmega1284p)
FUSEOPT = $(FUSEOPT_1284)
BOOTLOADER_ADDRESS = $(BOOTLOADER_ADDRESS_1284)
else
FUSEOPT = unknown
endif
else
FUSEOPT = unknown
endif
$(OBC) -j .text -j .data -O binary ../firmware/main.bin usbasploader.raw
usbasploader.o: usbasploader.raw
$(OBC) -j .text -j .data -O binary ../firmware/main.bin usbasploader.raw
usbasploader.o: usbasploader.raw
- $(OBC) -I binary -O elf32-avr --rename-section .data=.text --redefine-sym _binary_usbasploader_raw_start=usbasploader usbasploader.raw usbasploader.o
+ $(OBC) -B $(MCUARCH) -I binary -O elf32-avr --rename-section .data=.text --redefine-sym _binary_usbasploader_raw_start=usbasploader usbasploader.raw usbasploader.o
updater.o: updater.c usbasploader.h usbasploader.raw usbasploader.o
updater.o: updater.c usbasploader.h usbasploader.raw usbasploader.o