From: Jack Humbert Date: Mon, 10 Jul 2017 01:26:54 +0000 (-0400) Subject: Merge commit '8858438a770c1c982f33b296447ca77176c751f7' X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=62214986013ee6596afa55023f7a95a8527d910f;p=qmk_firmware.git Merge commit '8858438a770c1c982f33b296447ca77176c751f7' --- 62214986013ee6596afa55023f7a95a8527d910f diff --cc lib/lufa/Bootloaders/MassStorage/BootloaderAPITable.S index 30165700d,000000000..44eb15ea9 mode 100644,000000..100644 --- a/lib/lufa/Bootloaders/MassStorage/BootloaderAPITable.S +++ b/lib/lufa/Bootloaders/MassStorage/BootloaderAPITable.S @@@ -1,102 -1,0 +1,102 @@@ - /* - LUFA Library - Copyright (C) Dean Camera, 2017. - - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org - */ - - /* - Copyright 2017 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 - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaims all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. - */ - - #if AUX_BOOT_SECTION_SIZE > 0 - #warning Using a AUX bootloader section in addition to the defined bootloader space (see documentation). - - ; Trampoline to jump over the AUX bootloader section to the start of the bootloader, - ; on devices where an AUX bootloader section is used. - .section .boot_aux_trampoline, "ax" - .global Boot_AUX_Trampoline - Boot_AUX_Trampoline: - jmp BOOT_START_ADDR - #endif - - ; Trampolines to actual API implementations if the target address is outside the - ; range of a rjmp instruction (can happen with large bootloader sections) - .section .apitable_trampolines, "ax" - .global BootloaderAPI_Trampolines - BootloaderAPI_Trampolines: - - BootloaderAPI_ErasePage_Trampoline: - jmp BootloaderAPI_ErasePage - BootloaderAPI_WritePage_Trampoline: - jmp BootloaderAPI_WritePage - BootloaderAPI_FillWord_Trampoline: - jmp BootloaderAPI_FillWord - BootloaderAPI_ReadSignature_Trampoline: - jmp BootloaderAPI_ReadSignature - BootloaderAPI_ReadFuse_Trampoline: - jmp BootloaderAPI_ReadFuse - BootloaderAPI_ReadLock_Trampoline: - jmp BootloaderAPI_ReadLock - BootloaderAPI_WriteLock_Trampoline: - jmp BootloaderAPI_WriteLock - BootloaderAPI_UNUSED1: - ret - BootloaderAPI_UNUSED2: - ret - BootloaderAPI_UNUSED3: - ret - BootloaderAPI_UNUSED4: - ret - BootloaderAPI_UNUSED5: - ret - - - - ; API function jump table - .section .apitable_jumptable, "ax" - .global BootloaderAPI_JumpTable - BootloaderAPI_JumpTable: - - rjmp BootloaderAPI_ErasePage_Trampoline - rjmp BootloaderAPI_WritePage_Trampoline - rjmp BootloaderAPI_FillWord_Trampoline - rjmp BootloaderAPI_ReadSignature_Trampoline - rjmp BootloaderAPI_ReadFuse_Trampoline - rjmp BootloaderAPI_ReadLock_Trampoline - rjmp BootloaderAPI_WriteLock_Trampoline - rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1 - rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2 - rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3 - rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4 - rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5 - - - - ; Bootloader table signatures and information - .section .apitable_signatures, "ax" - .global BootloaderAPI_Signatures - BootloaderAPI_Signatures: - - .long BOOT_START_ADDR ; Start address of the bootloader - .word 0xDF30 ; Signature for the MS class bootloader, V1 - .word 0xDCFB ; Signature for a LUFA class bootloader ++/* ++ LUFA Library ++ Copyright (C) Dean Camera, 2017. ++ ++ dean [at] fourwalledcubicle [dot] com ++ www.lufa-lib.org ++*/ ++ ++/* ++ Copyright 2017 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 ++ without fee, provided that the above copyright notice appear in ++ all copies and that both that the copyright notice and this ++ permission notice and warranty disclaimer appear in supporting ++ documentation, and that the name of the author not be used in ++ advertising or publicity pertaining to distribution of the ++ software without specific, written prior permission. ++ ++ The author disclaims all warranties with regard to this ++ software, including all implied warranties of merchantability ++ and fitness. In no event shall the author be liable for any ++ special, indirect or consequential damages or any damages ++ whatsoever resulting from loss of use, data or profits, whether ++ in an action of contract, negligence or other tortious action, ++ arising out of or in connection with the use or performance of ++ this software. ++*/ ++ ++#if AUX_BOOT_SECTION_SIZE > 0 ++#warning Using a AUX bootloader section in addition to the defined bootloader space (see documentation). ++ ++; Trampoline to jump over the AUX bootloader section to the start of the bootloader, ++; on devices where an AUX bootloader section is used. ++.section .boot_aux_trampoline, "ax" ++.global Boot_AUX_Trampoline ++Boot_AUX_Trampoline: ++ jmp BOOT_START_ADDR ++#endif ++ ++; Trampolines to actual API implementations if the target address is outside the ++; range of a rjmp instruction (can happen with large bootloader sections) ++.section .apitable_trampolines, "ax" ++.global BootloaderAPI_Trampolines ++BootloaderAPI_Trampolines: ++ ++ BootloaderAPI_ErasePage_Trampoline: ++ jmp BootloaderAPI_ErasePage ++ BootloaderAPI_WritePage_Trampoline: ++ jmp BootloaderAPI_WritePage ++ BootloaderAPI_FillWord_Trampoline: ++ jmp BootloaderAPI_FillWord ++ BootloaderAPI_ReadSignature_Trampoline: ++ jmp BootloaderAPI_ReadSignature ++ BootloaderAPI_ReadFuse_Trampoline: ++ jmp BootloaderAPI_ReadFuse ++ BootloaderAPI_ReadLock_Trampoline: ++ jmp BootloaderAPI_ReadLock ++ BootloaderAPI_WriteLock_Trampoline: ++ jmp BootloaderAPI_WriteLock ++ BootloaderAPI_UNUSED1: ++ ret ++ BootloaderAPI_UNUSED2: ++ ret ++ BootloaderAPI_UNUSED3: ++ ret ++ BootloaderAPI_UNUSED4: ++ ret ++ BootloaderAPI_UNUSED5: ++ ret ++ ++ ++ ++; API function jump table ++.section .apitable_jumptable, "ax" ++.global BootloaderAPI_JumpTable ++BootloaderAPI_JumpTable: ++ ++ rjmp BootloaderAPI_ErasePage_Trampoline ++ rjmp BootloaderAPI_WritePage_Trampoline ++ rjmp BootloaderAPI_FillWord_Trampoline ++ rjmp BootloaderAPI_ReadSignature_Trampoline ++ rjmp BootloaderAPI_ReadFuse_Trampoline ++ rjmp BootloaderAPI_ReadLock_Trampoline ++ rjmp BootloaderAPI_WriteLock_Trampoline ++ rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1 ++ rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2 ++ rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3 ++ rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4 ++ rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5 ++ ++ ++ ++; Bootloader table signatures and information ++.section .apitable_signatures, "ax" ++.global BootloaderAPI_Signatures ++BootloaderAPI_Signatures: ++ ++ .long BOOT_START_ADDR ; Start address of the bootloader ++ .word 0xDF30 ; Signature for the MS class bootloader, V1 ++ .word 0xDCFB ; Signature for a LUFA class bootloader diff --cc lib/lufa/Bootloaders/MassStorage/makefile index 7f0ec82a7,000000000..f3948e754 mode 100644,000000..100644 --- a/lib/lufa/Bootloaders/MassStorage/makefile +++ b/lib/lufa/Bootloaders/MassStorage/makefile @@@ -1,75 -1,0 +1,75 @@@ - # - # LUFA Library - # Copyright (C) Dean Camera, 2017. - # - # dean [at] fourwalledcubicle [dot] com - # www.lufa-lib.org - # - # -------------------------------------- - # LUFA Project Makefile. - # -------------------------------------- - - # Run "make help" for target help. - - MCU = at90usb1287 - ARCH = AVR8 - BOARD = USBKEY - F_CPU = 8000000 - F_USB = $(F_CPU) - OPTIMIZATION = s - TARGET = BootloaderMassStorage - SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S Lib/SCSI.c Lib/VirtualFAT.c $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) - LUFA_PATH = ../../LUFA - CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) - LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) - - # Flash size and bootloader section sizes of the target, in KB. These must - # match the target's total FLASH size and the bootloader size set in the - # device's fuses. - FLASH_SIZE_KB = 128 - BOOT_SECTION_SIZE_KB = 8 - - # Bootloader address calculation formulas - # Do not modify these macros, but rather modify the dependent values above. - CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) - BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) - BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) ) - - # Bootloader linker section flags for relocating the API table sections to - # known FLASH addresses - these should not normally be user-edited. - BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2)) - BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96) - BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32) - BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8) - - # Check if the bootloader needs an AUX section, located before the real bootloader section to store some of the - # bootloader code. This is required for 32KB and smaller devices, where the actual bootloader is 6KB but the maximum - # bootloader section size is 4KB. The actual usable application space will be reduced by 6KB for these devices. - ifeq ($(BOOT_SECTION_SIZE_KB),8) - CC_FLAGS += -DAUX_BOOT_SECTION_SIZE=0 - else - AUX_BOOT_SECTION_SIZE_KB = (6 - $(BOOT_SECTION_SIZE_KB)) - - CC_FLAGS += -DAUX_BOOT_SECTION_SIZE='($(AUX_BOOT_SECTION_SIZE_KB) * 1024)' - LD_FLAGS += -Wl,--section-start=.boot_aux=$(call BOOT_SEC_OFFSET, (($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024 - 16)) - LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .boot_aux_trampoline, Boot_AUX_Trampoline, ($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024) - endif - - # Default target - all: - - # Include LUFA-specific DMBS extension modules - DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA - include $(DMBS_LUFA_PATH)/lufa-sources.mk - include $(DMBS_LUFA_PATH)/lufa-gcc.mk - - # Include common DMBS build system modules - DMBS_PATH ?= $(LUFA_PATH)/Build/DMBS/DMBS - include $(DMBS_PATH)/core.mk - include $(DMBS_PATH)/cppcheck.mk - include $(DMBS_PATH)/doxygen.mk - include $(DMBS_PATH)/dfu.mk - include $(DMBS_PATH)/gcc.mk - include $(DMBS_PATH)/hid.mk - include $(DMBS_PATH)/avrdude.mk - include $(DMBS_PATH)/atprogram.mk ++# ++# LUFA Library ++# Copyright (C) Dean Camera, 2017. ++# ++# dean [at] fourwalledcubicle [dot] com ++# www.lufa-lib.org ++# ++# -------------------------------------- ++# LUFA Project Makefile. ++# -------------------------------------- ++ ++# Run "make help" for target help. ++ ++MCU = at90usb1287 ++ARCH = AVR8 ++BOARD = USBKEY ++F_CPU = 8000000 ++F_USB = $(F_CPU) ++OPTIMIZATION = s ++TARGET = BootloaderMassStorage ++SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S Lib/SCSI.c Lib/VirtualFAT.c $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) ++LUFA_PATH = ../../LUFA ++CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) ++LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) ++ ++# Flash size and bootloader section sizes of the target, in KB. These must ++# match the target's total FLASH size and the bootloader size set in the ++# device's fuses. ++FLASH_SIZE_KB = 128 ++BOOT_SECTION_SIZE_KB = 8 ++ ++# Bootloader address calculation formulas ++# Do not modify these macros, but rather modify the dependent values above. ++CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) ++BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) ++BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) ) ++ ++# Bootloader linker section flags for relocating the API table sections to ++# known FLASH addresses - these should not normally be user-edited. ++BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2)) ++BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96) ++BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32) ++BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8) ++ ++# Check if the bootloader needs an AUX section, located before the real bootloader section to store some of the ++# bootloader code. This is required for 32KB and smaller devices, where the actual bootloader is 6KB but the maximum ++# bootloader section size is 4KB. The actual usable application space will be reduced by 6KB for these devices. ++ifeq ($(BOOT_SECTION_SIZE_KB),8) ++ CC_FLAGS += -DAUX_BOOT_SECTION_SIZE=0 ++else ++ AUX_BOOT_SECTION_SIZE_KB = (6 - $(BOOT_SECTION_SIZE_KB)) ++ ++ CC_FLAGS += -DAUX_BOOT_SECTION_SIZE='($(AUX_BOOT_SECTION_SIZE_KB) * 1024)' ++ LD_FLAGS += -Wl,--section-start=.boot_aux=$(call BOOT_SEC_OFFSET, (($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024 - 16)) ++ LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .boot_aux_trampoline, Boot_AUX_Trampoline, ($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024) ++endif ++ ++# Default target ++all: ++ ++# Include LUFA-specific DMBS extension modules ++DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA ++include $(DMBS_LUFA_PATH)/lufa-sources.mk ++include $(DMBS_LUFA_PATH)/lufa-gcc.mk ++ ++# Include common DMBS build system modules ++DMBS_PATH ?= $(LUFA_PATH)/Build/DMBS/DMBS ++include $(DMBS_PATH)/core.mk ++include $(DMBS_PATH)/cppcheck.mk ++include $(DMBS_PATH)/doxygen.mk ++include $(DMBS_PATH)/dfu.mk ++include $(DMBS_PATH)/gcc.mk ++include $(DMBS_PATH)/hid.mk ++include $(DMBS_PATH)/avrdude.mk ++include $(DMBS_PATH)/atprogram.mk diff --cc lib/lufa/Bootloaders/Printer/BootloaderAPITable.S index 76f37bf49,000000000..d8358c31c mode 100644,000000..100644 --- a/lib/lufa/Bootloaders/Printer/BootloaderAPITable.S +++ b/lib/lufa/Bootloaders/Printer/BootloaderAPITable.S @@@ -1,91 -1,0 +1,91 @@@ - /* - LUFA Library - Copyright (C) Dean Camera, 2017. - - dean [at] fourwalledcubicle [dot] com - www.lufa-lib.org - */ - - /* - Copyright 2017 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 - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaims all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. - */ - - ; Trampolines to actual API implementations if the target address is outside the - ; range of a rjmp instruction (can happen with large bootloader sections) - .section .apitable_trampolines, "ax" - .global BootloaderAPI_Trampolines - BootloaderAPI_Trampolines: - - BootloaderAPI_ErasePage_Trampoline: - jmp BootloaderAPI_ErasePage - BootloaderAPI_WritePage_Trampoline: - jmp BootloaderAPI_WritePage - BootloaderAPI_FillWord_Trampoline: - jmp BootloaderAPI_FillWord - BootloaderAPI_ReadSignature_Trampoline: - jmp BootloaderAPI_ReadSignature - BootloaderAPI_ReadFuse_Trampoline: - jmp BootloaderAPI_ReadFuse - BootloaderAPI_ReadLock_Trampoline: - jmp BootloaderAPI_ReadLock - BootloaderAPI_WriteLock_Trampoline: - jmp BootloaderAPI_WriteLock - BootloaderAPI_UNUSED1: - ret - BootloaderAPI_UNUSED2: - ret - BootloaderAPI_UNUSED3: - ret - BootloaderAPI_UNUSED4: - ret - BootloaderAPI_UNUSED5: - ret - - - - ; API function jump table - .section .apitable_jumptable, "ax" - .global BootloaderAPI_JumpTable - BootloaderAPI_JumpTable: - - rjmp BootloaderAPI_ErasePage_Trampoline - rjmp BootloaderAPI_WritePage_Trampoline - rjmp BootloaderAPI_FillWord_Trampoline - rjmp BootloaderAPI_ReadSignature_Trampoline - rjmp BootloaderAPI_ReadFuse_Trampoline - rjmp BootloaderAPI_ReadLock_Trampoline - rjmp BootloaderAPI_WriteLock_Trampoline - rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1 - rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2 - rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3 - rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4 - rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5 - - - - ; Bootloader table signatures and information - .section .apitable_signatures, "ax" - .global BootloaderAPI_Signatures - BootloaderAPI_Signatures: - - .long BOOT_START_ADDR ; Start address of the bootloader - .word 0xDF20 ; Signature for the Printer class bootloader - .word 0xDCFB ; Signature for a LUFA class bootloader ++/* ++ LUFA Library ++ Copyright (C) Dean Camera, 2017. ++ ++ dean [at] fourwalledcubicle [dot] com ++ www.lufa-lib.org ++*/ ++ ++/* ++ Copyright 2017 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 ++ without fee, provided that the above copyright notice appear in ++ all copies and that both that the copyright notice and this ++ permission notice and warranty disclaimer appear in supporting ++ documentation, and that the name of the author not be used in ++ advertising or publicity pertaining to distribution of the ++ software without specific, written prior permission. ++ ++ The author disclaims all warranties with regard to this ++ software, including all implied warranties of merchantability ++ and fitness. In no event shall the author be liable for any ++ special, indirect or consequential damages or any damages ++ whatsoever resulting from loss of use, data or profits, whether ++ in an action of contract, negligence or other tortious action, ++ arising out of or in connection with the use or performance of ++ this software. ++*/ ++ ++; Trampolines to actual API implementations if the target address is outside the ++; range of a rjmp instruction (can happen with large bootloader sections) ++.section .apitable_trampolines, "ax" ++.global BootloaderAPI_Trampolines ++BootloaderAPI_Trampolines: ++ ++ BootloaderAPI_ErasePage_Trampoline: ++ jmp BootloaderAPI_ErasePage ++ BootloaderAPI_WritePage_Trampoline: ++ jmp BootloaderAPI_WritePage ++ BootloaderAPI_FillWord_Trampoline: ++ jmp BootloaderAPI_FillWord ++ BootloaderAPI_ReadSignature_Trampoline: ++ jmp BootloaderAPI_ReadSignature ++ BootloaderAPI_ReadFuse_Trampoline: ++ jmp BootloaderAPI_ReadFuse ++ BootloaderAPI_ReadLock_Trampoline: ++ jmp BootloaderAPI_ReadLock ++ BootloaderAPI_WriteLock_Trampoline: ++ jmp BootloaderAPI_WriteLock ++ BootloaderAPI_UNUSED1: ++ ret ++ BootloaderAPI_UNUSED2: ++ ret ++ BootloaderAPI_UNUSED3: ++ ret ++ BootloaderAPI_UNUSED4: ++ ret ++ BootloaderAPI_UNUSED5: ++ ret ++ ++ ++ ++; API function jump table ++.section .apitable_jumptable, "ax" ++.global BootloaderAPI_JumpTable ++BootloaderAPI_JumpTable: ++ ++ rjmp BootloaderAPI_ErasePage_Trampoline ++ rjmp BootloaderAPI_WritePage_Trampoline ++ rjmp BootloaderAPI_FillWord_Trampoline ++ rjmp BootloaderAPI_ReadSignature_Trampoline ++ rjmp BootloaderAPI_ReadFuse_Trampoline ++ rjmp BootloaderAPI_ReadLock_Trampoline ++ rjmp BootloaderAPI_WriteLock_Trampoline ++ rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1 ++ rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2 ++ rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3 ++ rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4 ++ rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5 ++ ++ ++ ++; Bootloader table signatures and information ++.section .apitable_signatures, "ax" ++.global BootloaderAPI_Signatures ++BootloaderAPI_Signatures: ++ ++ .long BOOT_START_ADDR ; Start address of the bootloader ++ .word 0xDF20 ; Signature for the Printer class bootloader ++ .word 0xDCFB ; Signature for a LUFA class bootloader diff --cc lib/lufa/Bootloaders/Printer/makefile index 2c8582ca2,000000000..1de35bba0 mode 100644,000000..100644 --- a/lib/lufa/Bootloaders/Printer/makefile +++ b/lib/lufa/Bootloaders/Printer/makefile @@@ -1,62 -1,0 +1,62 @@@ - # - # LUFA Library - # Copyright (C) Dean Camera, 2017. - # - # dean [at] fourwalledcubicle [dot] com - # www.lufa-lib.org - # - # -------------------------------------- - # LUFA Project Makefile. - # -------------------------------------- - - # Run "make help" for target help. - - MCU = at90usb1287 - ARCH = AVR8 - BOARD = USBKEY - F_CPU = 8000000 - F_USB = $(F_CPU) - OPTIMIZATION = s - TARGET = BootloaderPrinter - SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) - LUFA_PATH = ../../LUFA - CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) - LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) - - # Flash size and bootloader section sizes of the target, in KB. These must - # match the target's total FLASH size and the bootloader size set in the - # device's fuses. - FLASH_SIZE_KB = 128 - BOOT_SECTION_SIZE_KB = 8 - - # Bootloader address calculation formulas - # Do not modify these macros, but rather modify the dependent values above. - CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) - BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) - BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) ) - - # Bootloader linker section flags for relocating the API table sections to - # known FLASH addresses - these should not normally be user-edited. - BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2)) - BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96) - BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32) - BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8) - - # Default target - all: - - # Include LUFA-specific DMBS extension modules - DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA - include $(DMBS_LUFA_PATH)/lufa-sources.mk - include $(DMBS_LUFA_PATH)/lufa-gcc.mk - - # Include common DMBS build system modules - DMBS_PATH ?= $(LUFA_PATH)/Build/DMBS/DMBS - include $(DMBS_PATH)/core.mk - include $(DMBS_PATH)/cppcheck.mk - include $(DMBS_PATH)/doxygen.mk - include $(DMBS_PATH)/dfu.mk - include $(DMBS_PATH)/gcc.mk - include $(DMBS_PATH)/hid.mk - include $(DMBS_PATH)/avrdude.mk - include $(DMBS_PATH)/atprogram.mk ++# ++# LUFA Library ++# Copyright (C) Dean Camera, 2017. ++# ++# dean [at] fourwalledcubicle [dot] com ++# www.lufa-lib.org ++# ++# -------------------------------------- ++# LUFA Project Makefile. ++# -------------------------------------- ++ ++# Run "make help" for target help. ++ ++MCU = at90usb1287 ++ARCH = AVR8 ++BOARD = USBKEY ++F_CPU = 8000000 ++F_USB = $(F_CPU) ++OPTIMIZATION = s ++TARGET = BootloaderPrinter ++SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) ++LUFA_PATH = ../../LUFA ++CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) ++LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) ++ ++# Flash size and bootloader section sizes of the target, in KB. These must ++# match the target's total FLASH size and the bootloader size set in the ++# device's fuses. ++FLASH_SIZE_KB = 128 ++BOOT_SECTION_SIZE_KB = 8 ++ ++# Bootloader address calculation formulas ++# Do not modify these macros, but rather modify the dependent values above. ++CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) ++BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) ++BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) ) ++ ++# Bootloader linker section flags for relocating the API table sections to ++# known FLASH addresses - these should not normally be user-edited. ++BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2)) ++BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96) ++BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32) ++BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8) ++ ++# Default target ++all: ++ ++# Include LUFA-specific DMBS extension modules ++DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA ++include $(DMBS_LUFA_PATH)/lufa-sources.mk ++include $(DMBS_LUFA_PATH)/lufa-gcc.mk ++ ++# Include common DMBS build system modules ++DMBS_PATH ?= $(LUFA_PATH)/Build/DMBS/DMBS ++include $(DMBS_PATH)/core.mk ++include $(DMBS_PATH)/cppcheck.mk ++include $(DMBS_PATH)/doxygen.mk ++include $(DMBS_PATH)/dfu.mk ++include $(DMBS_PATH)/gcc.mk ++include $(DMBS_PATH)/hid.mk ++include $(DMBS_PATH)/avrdude.mk ++include $(DMBS_PATH)/atprogram.mk diff --cc lib/lufa/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt index e7e230166,000000000..e7b57ab64 mode 100644,000000..100644 --- a/lib/lufa/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt +++ b/lib/lufa/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt @@@ -1,45 -1,0 +1,45 @@@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ diff --cc lib/lufa/LUFA/StudioIntegration/VSIX/extension.vsixmanifest index f155618b7,000000000..a1901cb56 mode 100644,000000..100644 --- a/lib/lufa/LUFA/StudioIntegration/VSIX/extension.vsixmanifest +++ b/lib/lufa/LUFA/StudioIntegration/VSIX/extension.vsixmanifest @@@ -1,32 -1,0 +1,32 @@@ - - - - - LUFA Library - Dean Camera - 0 - http://www.lufa-lib.org - LUFA, the Lightweight USB Framework for AVRs. - - License.txt - LUFA_thumb.png - LUFA.png - - - AtmelStudio - - - - 1033 - - false - - - - - - LUFA.pkgdef - helpcontentsetup.msha - asf-manifest.xml - - ++ ++ ++ ++ ++ LUFA Library ++ Dean Camera ++ 0 ++ http://www.lufa-lib.org ++ LUFA, the Lightweight USB Framework for AVRs. ++ ++ License.txt ++ LUFA_thumb.png ++ LUFA.png ++ ++ ++ AtmelStudio ++ ++ ++ ++ 1033 ++ ++ false ++ ++ ++ ++ ++ ++ LUFA.pkgdef ++ helpcontentsetup.msha ++ asf-manifest.xml ++ ++