aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/lufa/Bootloaders/MassStorage/BootloaderAPITable.S204
-rw-r--r--lib/lufa/Bootloaders/MassStorage/makefile150
-rw-r--r--lib/lufa/Bootloaders/Printer/BootloaderAPITable.S182
-rw-r--r--lib/lufa/Bootloaders/Printer/makefile124
-rw-r--r--lib/lufa/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt90
-rw-r--r--lib/lufa/LUFA/StudioIntegration/VSIX/extension.vsixmanifest64
6 files changed, 407 insertions, 407 deletions
diff --git a/lib/lufa/Bootloaders/MassStorage/BootloaderAPITable.S b/lib/lufa/Bootloaders/MassStorage/BootloaderAPITable.S
index 30165700d..44eb15ea9 100644
--- a/lib/lufa/Bootloaders/MassStorage/BootloaderAPITable.S
+++ b/lib/lufa/Bootloaders/MassStorage/BootloaderAPITable.S
@@ -1,102 +1,102 @@
1/* 1/*
2 LUFA Library 2 LUFA Library
3 Copyright (C) Dean Camera, 2017. 3 Copyright (C) Dean Camera, 2017.
4 4
5 dean [at] fourwalledcubicle [dot] com 5 dean [at] fourwalledcubicle [dot] com
6 www.lufa-lib.org 6 www.lufa-lib.org
7*/ 7*/
8 8
9/* 9/*
10 Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) 10 Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
11 11
12 Permission to use, copy, modify, distribute, and sell this 12 Permission to use, copy, modify, distribute, and sell this
13 software and its documentation for any purpose is hereby granted 13 software and its documentation for any purpose is hereby granted
14 without fee, provided that the above copyright notice appear in 14 without fee, provided that the above copyright notice appear in
15 all copies and that both that the copyright notice and this 15 all copies and that both that the copyright notice and this
16 permission notice and warranty disclaimer appear in supporting 16 permission notice and warranty disclaimer appear in supporting
17 documentation, and that the name of the author not be used in 17 documentation, and that the name of the author not be used in
18 advertising or publicity pertaining to distribution of the 18 advertising or publicity pertaining to distribution of the
19 software without specific, written prior permission. 19 software without specific, written prior permission.
20 20
21 The author disclaims all warranties with regard to this 21 The author disclaims all warranties with regard to this
22 software, including all implied warranties of merchantability 22 software, including all implied warranties of merchantability
23 and fitness. In no event shall the author be liable for any 23 and fitness. In no event shall the author be liable for any
24 special, indirect or consequential damages or any damages 24 special, indirect or consequential damages or any damages
25 whatsoever resulting from loss of use, data or profits, whether 25 whatsoever resulting from loss of use, data or profits, whether
26 in an action of contract, negligence or other tortious action, 26 in an action of contract, negligence or other tortious action,
27 arising out of or in connection with the use or performance of 27 arising out of or in connection with the use or performance of
28 this software. 28 this software.
29*/ 29*/
30 30
31#if AUX_BOOT_SECTION_SIZE > 0 31#if AUX_BOOT_SECTION_SIZE > 0
32#warning Using a AUX bootloader section in addition to the defined bootloader space (see documentation). 32#warning Using a AUX bootloader section in addition to the defined bootloader space (see documentation).
33 33
34; Trampoline to jump over the AUX bootloader section to the start of the bootloader, 34; Trampoline to jump over the AUX bootloader section to the start of the bootloader,
35; on devices where an AUX bootloader section is used. 35; on devices where an AUX bootloader section is used.
36.section .boot_aux_trampoline, "ax" 36.section .boot_aux_trampoline, "ax"
37.global Boot_AUX_Trampoline 37.global Boot_AUX_Trampoline
38Boot_AUX_Trampoline: 38Boot_AUX_Trampoline:
39 jmp BOOT_START_ADDR 39 jmp BOOT_START_ADDR
40#endif 40#endif
41 41
42; Trampolines to actual API implementations if the target address is outside the 42; Trampolines to actual API implementations if the target address is outside the
43; range of a rjmp instruction (can happen with large bootloader sections) 43; range of a rjmp instruction (can happen with large bootloader sections)
44.section .apitable_trampolines, "ax" 44.section .apitable_trampolines, "ax"
45.global BootloaderAPI_Trampolines 45.global BootloaderAPI_Trampolines
46BootloaderAPI_Trampolines: 46BootloaderAPI_Trampolines:
47 47
48 BootloaderAPI_ErasePage_Trampoline: 48 BootloaderAPI_ErasePage_Trampoline:
49 jmp BootloaderAPI_ErasePage 49 jmp BootloaderAPI_ErasePage
50 BootloaderAPI_WritePage_Trampoline: 50 BootloaderAPI_WritePage_Trampoline:
51 jmp BootloaderAPI_WritePage 51 jmp BootloaderAPI_WritePage
52 BootloaderAPI_FillWord_Trampoline: 52 BootloaderAPI_FillWord_Trampoline:
53 jmp BootloaderAPI_FillWord 53 jmp BootloaderAPI_FillWord
54 BootloaderAPI_ReadSignature_Trampoline: 54 BootloaderAPI_ReadSignature_Trampoline:
55 jmp BootloaderAPI_ReadSignature 55 jmp BootloaderAPI_ReadSignature
56 BootloaderAPI_ReadFuse_Trampoline: 56 BootloaderAPI_ReadFuse_Trampoline:
57 jmp BootloaderAPI_ReadFuse 57 jmp BootloaderAPI_ReadFuse
58 BootloaderAPI_ReadLock_Trampoline: 58 BootloaderAPI_ReadLock_Trampoline:
59 jmp BootloaderAPI_ReadLock 59 jmp BootloaderAPI_ReadLock
60 BootloaderAPI_WriteLock_Trampoline: 60 BootloaderAPI_WriteLock_Trampoline:
61 jmp BootloaderAPI_WriteLock 61 jmp BootloaderAPI_WriteLock
62 BootloaderAPI_UNUSED1: 62 BootloaderAPI_UNUSED1:
63 ret 63 ret
64 BootloaderAPI_UNUSED2: 64 BootloaderAPI_UNUSED2:
65 ret 65 ret
66 BootloaderAPI_UNUSED3: 66 BootloaderAPI_UNUSED3:
67 ret 67 ret
68 BootloaderAPI_UNUSED4: 68 BootloaderAPI_UNUSED4:
69 ret 69 ret
70 BootloaderAPI_UNUSED5: 70 BootloaderAPI_UNUSED5:
71 ret 71 ret
72 72
73 73
74 74
75; API function jump table 75; API function jump table
76.section .apitable_jumptable, "ax" 76.section .apitable_jumptable, "ax"
77.global BootloaderAPI_JumpTable 77.global BootloaderAPI_JumpTable
78BootloaderAPI_JumpTable: 78BootloaderAPI_JumpTable:
79 79
80 rjmp BootloaderAPI_ErasePage_Trampoline 80 rjmp BootloaderAPI_ErasePage_Trampoline
81 rjmp BootloaderAPI_WritePage_Trampoline 81 rjmp BootloaderAPI_WritePage_Trampoline
82 rjmp BootloaderAPI_FillWord_Trampoline 82 rjmp BootloaderAPI_FillWord_Trampoline
83 rjmp BootloaderAPI_ReadSignature_Trampoline 83 rjmp BootloaderAPI_ReadSignature_Trampoline
84 rjmp BootloaderAPI_ReadFuse_Trampoline 84 rjmp BootloaderAPI_ReadFuse_Trampoline
85 rjmp BootloaderAPI_ReadLock_Trampoline 85 rjmp BootloaderAPI_ReadLock_Trampoline
86 rjmp BootloaderAPI_WriteLock_Trampoline 86 rjmp BootloaderAPI_WriteLock_Trampoline
87 rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1 87 rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1
88 rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2 88 rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2
89 rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3 89 rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3
90 rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4 90 rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4
91 rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5 91 rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5
92 92
93 93
94 94
95; Bootloader table signatures and information 95; Bootloader table signatures and information
96.section .apitable_signatures, "ax" 96.section .apitable_signatures, "ax"
97.global BootloaderAPI_Signatures 97.global BootloaderAPI_Signatures
98BootloaderAPI_Signatures: 98BootloaderAPI_Signatures:
99 99
100 .long BOOT_START_ADDR ; Start address of the bootloader 100 .long BOOT_START_ADDR ; Start address of the bootloader
101 .word 0xDF30 ; Signature for the MS class bootloader, V1 101 .word 0xDF30 ; Signature for the MS class bootloader, V1
102 .word 0xDCFB ; Signature for a LUFA class bootloader 102 .word 0xDCFB ; Signature for a LUFA class bootloader
diff --git a/lib/lufa/Bootloaders/MassStorage/makefile b/lib/lufa/Bootloaders/MassStorage/makefile
index 7f0ec82a7..f3948e754 100644
--- a/lib/lufa/Bootloaders/MassStorage/makefile
+++ b/lib/lufa/Bootloaders/MassStorage/makefile
@@ -1,75 +1,75 @@
1# 1#
2# LUFA Library 2# LUFA Library
3# Copyright (C) Dean Camera, 2017. 3# Copyright (C) Dean Camera, 2017.
4# 4#
5# dean [at] fourwalledcubicle [dot] com 5# dean [at] fourwalledcubicle [dot] com
6# www.lufa-lib.org 6# www.lufa-lib.org
7# 7#
8# -------------------------------------- 8# --------------------------------------
9# LUFA Project Makefile. 9# LUFA Project Makefile.
10# -------------------------------------- 10# --------------------------------------
11 11
12# Run "make help" for target help. 12# Run "make help" for target help.
13 13
14MCU = at90usb1287 14MCU = at90usb1287
15ARCH = AVR8 15ARCH = AVR8
16BOARD = USBKEY 16BOARD = USBKEY
17F_CPU = 8000000 17F_CPU = 8000000
18F_USB = $(F_CPU) 18F_USB = $(F_CPU)
19OPTIMIZATION = s 19OPTIMIZATION = s
20TARGET = BootloaderMassStorage 20TARGET = BootloaderMassStorage
21SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S Lib/SCSI.c Lib/VirtualFAT.c $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) 21SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S Lib/SCSI.c Lib/VirtualFAT.c $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS)
22LUFA_PATH = ../../LUFA 22LUFA_PATH = ../../LUFA
23CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) 23CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET)
24LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) 24LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS)
25 25
26# Flash size and bootloader section sizes of the target, in KB. These must 26# Flash size and bootloader section sizes of the target, in KB. These must
27# match the target's total FLASH size and the bootloader size set in the 27# match the target's total FLASH size and the bootloader size set in the
28# device's fuses. 28# device's fuses.
29FLASH_SIZE_KB = 128 29FLASH_SIZE_KB = 128
30BOOT_SECTION_SIZE_KB = 8 30BOOT_SECTION_SIZE_KB = 8
31 31
32# Bootloader address calculation formulas 32# Bootloader address calculation formulas
33# Do not modify these macros, but rather modify the dependent values above. 33# Do not modify these macros, but rather modify the dependent values above.
34CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) 34CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) )
35BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) 35BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 )
36BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) ) 36BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) )
37 37
38# Bootloader linker section flags for relocating the API table sections to 38# Bootloader linker section flags for relocating the API table sections to
39# known FLASH addresses - these should not normally be user-edited. 39# known FLASH addresses - these should not normally be user-edited.
40BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2)) 40BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2))
41BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96) 41BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96)
42BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32) 42BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32)
43BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8) 43BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8)
44 44
45# Check if the bootloader needs an AUX section, located before the real bootloader section to store some of the 45# Check if the bootloader needs an AUX section, located before the real bootloader section to store some of the
46# bootloader code. This is required for 32KB and smaller devices, where the actual bootloader is 6KB but the maximum 46# bootloader code. This is required for 32KB and smaller devices, where the actual bootloader is 6KB but the maximum
47# bootloader section size is 4KB. The actual usable application space will be reduced by 6KB for these devices. 47# bootloader section size is 4KB. The actual usable application space will be reduced by 6KB for these devices.
48ifeq ($(BOOT_SECTION_SIZE_KB),8) 48ifeq ($(BOOT_SECTION_SIZE_KB),8)
49 CC_FLAGS += -DAUX_BOOT_SECTION_SIZE=0 49 CC_FLAGS += -DAUX_BOOT_SECTION_SIZE=0
50else 50else
51 AUX_BOOT_SECTION_SIZE_KB = (6 - $(BOOT_SECTION_SIZE_KB)) 51 AUX_BOOT_SECTION_SIZE_KB = (6 - $(BOOT_SECTION_SIZE_KB))
52 52
53 CC_FLAGS += -DAUX_BOOT_SECTION_SIZE='($(AUX_BOOT_SECTION_SIZE_KB) * 1024)' 53 CC_FLAGS += -DAUX_BOOT_SECTION_SIZE='($(AUX_BOOT_SECTION_SIZE_KB) * 1024)'
54 LD_FLAGS += -Wl,--section-start=.boot_aux=$(call BOOT_SEC_OFFSET, (($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024 - 16)) 54 LD_FLAGS += -Wl,--section-start=.boot_aux=$(call BOOT_SEC_OFFSET, (($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024 - 16))
55 LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .boot_aux_trampoline, Boot_AUX_Trampoline, ($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024) 55 LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .boot_aux_trampoline, Boot_AUX_Trampoline, ($(BOOT_SECTION_SIZE_KB) + $(AUX_BOOT_SECTION_SIZE_KB)) * 1024)
56endif 56endif
57 57
58# Default target 58# Default target
59all: 59all:
60 60
61# Include LUFA-specific DMBS extension modules 61# Include LUFA-specific DMBS extension modules
62DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA 62DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA
63include $(DMBS_LUFA_PATH)/lufa-sources.mk 63include $(DMBS_LUFA_PATH)/lufa-sources.mk
64include $(DMBS_LUFA_PATH)/lufa-gcc.mk 64include $(DMBS_LUFA_PATH)/lufa-gcc.mk
65 65
66# Include common DMBS build system modules 66# Include common DMBS build system modules
67DMBS_PATH ?= $(LUFA_PATH)/Build/DMBS/DMBS 67DMBS_PATH ?= $(LUFA_PATH)/Build/DMBS/DMBS
68include $(DMBS_PATH)/core.mk 68include $(DMBS_PATH)/core.mk
69include $(DMBS_PATH)/cppcheck.mk 69include $(DMBS_PATH)/cppcheck.mk
70include $(DMBS_PATH)/doxygen.mk 70include $(DMBS_PATH)/doxygen.mk
71include $(DMBS_PATH)/dfu.mk 71include $(DMBS_PATH)/dfu.mk
72include $(DMBS_PATH)/gcc.mk 72include $(DMBS_PATH)/gcc.mk
73include $(DMBS_PATH)/hid.mk 73include $(DMBS_PATH)/hid.mk
74include $(DMBS_PATH)/avrdude.mk 74include $(DMBS_PATH)/avrdude.mk
75include $(DMBS_PATH)/atprogram.mk 75include $(DMBS_PATH)/atprogram.mk
diff --git a/lib/lufa/Bootloaders/Printer/BootloaderAPITable.S b/lib/lufa/Bootloaders/Printer/BootloaderAPITable.S
index 76f37bf49..d8358c31c 100644
--- a/lib/lufa/Bootloaders/Printer/BootloaderAPITable.S
+++ b/lib/lufa/Bootloaders/Printer/BootloaderAPITable.S
@@ -1,91 +1,91 @@
1/* 1/*
2 LUFA Library 2 LUFA Library
3 Copyright (C) Dean Camera, 2017. 3 Copyright (C) Dean Camera, 2017.
4 4
5 dean [at] fourwalledcubicle [dot] com 5 dean [at] fourwalledcubicle [dot] com
6 www.lufa-lib.org 6 www.lufa-lib.org
7*/ 7*/
8 8
9/* 9/*
10 Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) 10 Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
11 11
12 Permission to use, copy, modify, distribute, and sell this 12 Permission to use, copy, modify, distribute, and sell this
13 software and its documentation for any purpose is hereby granted 13 software and its documentation for any purpose is hereby granted
14 without fee, provided that the above copyright notice appear in 14 without fee, provided that the above copyright notice appear in
15 all copies and that both that the copyright notice and this 15 all copies and that both that the copyright notice and this
16 permission notice and warranty disclaimer appear in supporting 16 permission notice and warranty disclaimer appear in supporting
17 documentation, and that the name of the author not be used in 17 documentation, and that the name of the author not be used in
18 advertising or publicity pertaining to distribution of the 18 advertising or publicity pertaining to distribution of the
19 software without specific, written prior permission. 19 software without specific, written prior permission.
20 20
21 The author disclaims all warranties with regard to this 21 The author disclaims all warranties with regard to this
22 software, including all implied warranties of merchantability 22 software, including all implied warranties of merchantability
23 and fitness. In no event shall the author be liable for any 23 and fitness. In no event shall the author be liable for any
24 special, indirect or consequential damages or any damages 24 special, indirect or consequential damages or any damages
25 whatsoever resulting from loss of use, data or profits, whether 25 whatsoever resulting from loss of use, data or profits, whether
26 in an action of contract, negligence or other tortious action, 26 in an action of contract, negligence or other tortious action,
27 arising out of or in connection with the use or performance of 27 arising out of or in connection with the use or performance of
28 this software. 28 this software.
29*/ 29*/
30 30
31; Trampolines to actual API implementations if the target address is outside the 31; Trampolines to actual API implementations if the target address is outside the
32; range of a rjmp instruction (can happen with large bootloader sections) 32; range of a rjmp instruction (can happen with large bootloader sections)
33.section .apitable_trampolines, "ax" 33.section .apitable_trampolines, "ax"
34.global BootloaderAPI_Trampolines 34.global BootloaderAPI_Trampolines
35BootloaderAPI_Trampolines: 35BootloaderAPI_Trampolines:
36 36
37 BootloaderAPI_ErasePage_Trampoline: 37 BootloaderAPI_ErasePage_Trampoline:
38 jmp BootloaderAPI_ErasePage 38 jmp BootloaderAPI_ErasePage
39 BootloaderAPI_WritePage_Trampoline: 39 BootloaderAPI_WritePage_Trampoline:
40 jmp BootloaderAPI_WritePage 40 jmp BootloaderAPI_WritePage
41 BootloaderAPI_FillWord_Trampoline: 41 BootloaderAPI_FillWord_Trampoline:
42 jmp BootloaderAPI_FillWord 42 jmp BootloaderAPI_FillWord
43 BootloaderAPI_ReadSignature_Trampoline: 43 BootloaderAPI_ReadSignature_Trampoline:
44 jmp BootloaderAPI_ReadSignature 44 jmp BootloaderAPI_ReadSignature
45 BootloaderAPI_ReadFuse_Trampoline: 45 BootloaderAPI_ReadFuse_Trampoline:
46 jmp BootloaderAPI_ReadFuse 46 jmp BootloaderAPI_ReadFuse
47 BootloaderAPI_ReadLock_Trampoline: 47 BootloaderAPI_ReadLock_Trampoline:
48 jmp BootloaderAPI_ReadLock 48 jmp BootloaderAPI_ReadLock
49 BootloaderAPI_WriteLock_Trampoline: 49 BootloaderAPI_WriteLock_Trampoline:
50 jmp BootloaderAPI_WriteLock 50 jmp BootloaderAPI_WriteLock
51 BootloaderAPI_UNUSED1: 51 BootloaderAPI_UNUSED1:
52 ret 52 ret
53 BootloaderAPI_UNUSED2: 53 BootloaderAPI_UNUSED2:
54 ret 54 ret
55 BootloaderAPI_UNUSED3: 55 BootloaderAPI_UNUSED3:
56 ret 56 ret
57 BootloaderAPI_UNUSED4: 57 BootloaderAPI_UNUSED4:
58 ret 58 ret
59 BootloaderAPI_UNUSED5: 59 BootloaderAPI_UNUSED5:
60 ret 60 ret
61 61
62 62
63 63
64; API function jump table 64; API function jump table
65.section .apitable_jumptable, "ax" 65.section .apitable_jumptable, "ax"
66.global BootloaderAPI_JumpTable 66.global BootloaderAPI_JumpTable
67BootloaderAPI_JumpTable: 67BootloaderAPI_JumpTable:
68 68
69 rjmp BootloaderAPI_ErasePage_Trampoline 69 rjmp BootloaderAPI_ErasePage_Trampoline
70 rjmp BootloaderAPI_WritePage_Trampoline 70 rjmp BootloaderAPI_WritePage_Trampoline
71 rjmp BootloaderAPI_FillWord_Trampoline 71 rjmp BootloaderAPI_FillWord_Trampoline
72 rjmp BootloaderAPI_ReadSignature_Trampoline 72 rjmp BootloaderAPI_ReadSignature_Trampoline
73 rjmp BootloaderAPI_ReadFuse_Trampoline 73 rjmp BootloaderAPI_ReadFuse_Trampoline
74 rjmp BootloaderAPI_ReadLock_Trampoline 74 rjmp BootloaderAPI_ReadLock_Trampoline
75 rjmp BootloaderAPI_WriteLock_Trampoline 75 rjmp BootloaderAPI_WriteLock_Trampoline
76 rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1 76 rjmp BootloaderAPI_UNUSED1 ; UNUSED ENTRY 1
77 rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2 77 rjmp BootloaderAPI_UNUSED2 ; UNUSED ENTRY 2
78 rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3 78 rjmp BootloaderAPI_UNUSED3 ; UNUSED ENTRY 3
79 rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4 79 rjmp BootloaderAPI_UNUSED4 ; UNUSED ENTRY 4
80 rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5 80 rjmp BootloaderAPI_UNUSED5 ; UNUSED ENTRY 5
81 81
82 82
83 83
84; Bootloader table signatures and information 84; Bootloader table signatures and information
85.section .apitable_signatures, "ax" 85.section .apitable_signatures, "ax"
86.global BootloaderAPI_Signatures 86.global BootloaderAPI_Signatures
87BootloaderAPI_Signatures: 87BootloaderAPI_Signatures:
88 88
89 .long BOOT_START_ADDR ; Start address of the bootloader 89 .long BOOT_START_ADDR ; Start address of the bootloader
90 .word 0xDF20 ; Signature for the Printer class bootloader 90 .word 0xDF20 ; Signature for the Printer class bootloader
91 .word 0xDCFB ; Signature for a LUFA class bootloader 91 .word 0xDCFB ; Signature for a LUFA class bootloader
diff --git a/lib/lufa/Bootloaders/Printer/makefile b/lib/lufa/Bootloaders/Printer/makefile
index 2c8582ca2..1de35bba0 100644
--- a/lib/lufa/Bootloaders/Printer/makefile
+++ b/lib/lufa/Bootloaders/Printer/makefile
@@ -1,62 +1,62 @@
1# 1#
2# LUFA Library 2# LUFA Library
3# Copyright (C) Dean Camera, 2017. 3# Copyright (C) Dean Camera, 2017.
4# 4#
5# dean [at] fourwalledcubicle [dot] com 5# dean [at] fourwalledcubicle [dot] com
6# www.lufa-lib.org 6# www.lufa-lib.org
7# 7#
8# -------------------------------------- 8# --------------------------------------
9# LUFA Project Makefile. 9# LUFA Project Makefile.
10# -------------------------------------- 10# --------------------------------------
11 11
12# Run "make help" for target help. 12# Run "make help" for target help.
13 13
14MCU = at90usb1287 14MCU = at90usb1287
15ARCH = AVR8 15ARCH = AVR8
16BOARD = USBKEY 16BOARD = USBKEY
17F_CPU = 8000000 17F_CPU = 8000000
18F_USB = $(F_CPU) 18F_USB = $(F_CPU)
19OPTIMIZATION = s 19OPTIMIZATION = s
20TARGET = BootloaderPrinter 20TARGET = BootloaderPrinter
21SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) 21SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS)
22LUFA_PATH = ../../LUFA 22LUFA_PATH = ../../LUFA
23CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) 23CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET)
24LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) 24LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS)
25 25
26# Flash size and bootloader section sizes of the target, in KB. These must 26# Flash size and bootloader section sizes of the target, in KB. These must
27# match the target's total FLASH size and the bootloader size set in the 27# match the target's total FLASH size and the bootloader size set in the
28# device's fuses. 28# device's fuses.
29FLASH_SIZE_KB = 128 29FLASH_SIZE_KB = 128
30BOOT_SECTION_SIZE_KB = 8 30BOOT_SECTION_SIZE_KB = 8
31 31
32# Bootloader address calculation formulas 32# Bootloader address calculation formulas
33# Do not modify these macros, but rather modify the dependent values above. 33# Do not modify these macros, but rather modify the dependent values above.
34CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) 34CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) )
35BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) 35BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 )
36BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) ) 36BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) )
37 37
38# Bootloader linker section flags for relocating the API table sections to 38# Bootloader linker section flags for relocating the API table sections to
39# known FLASH addresses - these should not normally be user-edited. 39# known FLASH addresses - these should not normally be user-edited.
40BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2)) 40BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2))
41BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96) 41BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96)
42BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32) 42BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32)
43BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8) 43BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8)
44 44
45# Default target 45# Default target
46all: 46all:
47 47
48# Include LUFA-specific DMBS extension modules 48# Include LUFA-specific DMBS extension modules
49DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA 49DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA
50include $(DMBS_LUFA_PATH)/lufa-sources.mk 50include $(DMBS_LUFA_PATH)/lufa-sources.mk
51include $(DMBS_LUFA_PATH)/lufa-gcc.mk 51include $(DMBS_LUFA_PATH)/lufa-gcc.mk
52 52
53# Include common DMBS build system modules 53# Include common DMBS build system modules
54DMBS_PATH ?= $(LUFA_PATH)/Build/DMBS/DMBS 54DMBS_PATH ?= $(LUFA_PATH)/Build/DMBS/DMBS
55include $(DMBS_PATH)/core.mk 55include $(DMBS_PATH)/core.mk
56include $(DMBS_PATH)/cppcheck.mk 56include $(DMBS_PATH)/cppcheck.mk
57include $(DMBS_PATH)/doxygen.mk 57include $(DMBS_PATH)/doxygen.mk
58include $(DMBS_PATH)/dfu.mk 58include $(DMBS_PATH)/dfu.mk
59include $(DMBS_PATH)/gcc.mk 59include $(DMBS_PATH)/gcc.mk
60include $(DMBS_PATH)/hid.mk 60include $(DMBS_PATH)/hid.mk
61include $(DMBS_PATH)/avrdude.mk 61include $(DMBS_PATH)/avrdude.mk
62include $(DMBS_PATH)/atprogram.mk 62include $(DMBS_PATH)/atprogram.mk
diff --git a/lib/lufa/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt b/lib/lufa/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt
index e7e230166..e7b57ab64 100644
--- a/lib/lufa/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt
+++ b/lib/lufa/LUFA/StudioIntegration/HV1/lufa_hv1_transform.xslt
@@ -1,45 +1,45 @@
1<!-- 1<!--
2 LUFA Library 2 LUFA Library
3 Copyright (C) Dean Camera, 2017. 3 Copyright (C) Dean Camera, 2017.
4 4
5 dean [at] fourwalledcubicle [dot] com 5 dean [at] fourwalledcubicle [dot] com
6 www.lufa-lib.org 6 www.lufa-lib.org
7--> 7-->
8 8
9<!-- Docbook XML to Microsoft Help Viewer 1.0 transform file --> 9<!-- Docbook XML to Microsoft Help Viewer 1.0 transform file -->
10 10
11<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 11<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
12 12
13 <xsl:import href="../Docbook/mshelp/docbook.xsl"/> 13 <xsl:import href="../Docbook/mshelp/docbook.xsl"/>
14 14
15 <xsl:output method="xml" indent="no"/> 15 <xsl:output method="xml" indent="no"/>
16 16
17 <xsl:template match="emphasis[@role = 'keyword' or @role = 'keywordtype' or @role = 'keywordflow']"> 17 <xsl:template match="emphasis[@role = 'keyword' or @role = 'keywordtype' or @role = 'keywordflow']">
18 <span class="hl-keyword" style="color: #0079C1"> 18 <span class="hl-keyword" style="color: #0079C1">
19 <xsl:apply-templates/> 19 <xsl:apply-templates/>
20 </span> 20 </span>
21 </xsl:template> 21 </xsl:template>
22 22
23 <xsl:template match="emphasis[@role = 'stringliteral' or @role = 'charliteral']"> 23 <xsl:template match="emphasis[@role = 'stringliteral' or @role = 'charliteral']">
24 <span class="hl-string" style="color: #800000"> 24 <span class="hl-string" style="color: #800000">
25 <xsl:apply-templates/> 25 <xsl:apply-templates/>
26 </span> 26 </span>
27 </xsl:template> 27 </xsl:template>
28 28
29 <xsl:template match="emphasis[@role = 'comment']"> 29 <xsl:template match="emphasis[@role = 'comment']">
30 <em class="hl-comment" style="color: #008000"> 30 <em class="hl-comment" style="color: #008000">
31 <xsl:apply-templates/> 31 <xsl:apply-templates/>
32 </em> 32 </em>
33 </xsl:template> 33 </xsl:template>
34 34
35 <xsl:template match="emphasis[@role = 'preprocessor']"> 35 <xsl:template match="emphasis[@role = 'preprocessor']">
36 <span class="hl-preprocessor" style="color: #A000A0"> 36 <span class="hl-preprocessor" style="color: #A000A0">
37 <xsl:apply-templates/> 37 <xsl:apply-templates/>
38 </span> 38 </span>
39 </xsl:template> 39 </xsl:template>
40 40
41 <xsl:template match="emphasis[@role = 'normal' and ancestor::programlisting]"> 41 <xsl:template match="emphasis[@role = 'normal' and ancestor::programlisting]">
42 <xsl:apply-templates /> 42 <xsl:apply-templates />
43 </xsl:template> 43 </xsl:template>
44 44
45</xsl:stylesheet> 45</xsl:stylesheet>
diff --git a/lib/lufa/LUFA/StudioIntegration/VSIX/extension.vsixmanifest b/lib/lufa/LUFA/StudioIntegration/VSIX/extension.vsixmanifest
index f155618b7..a1901cb56 100644
--- a/lib/lufa/LUFA/StudioIntegration/VSIX/extension.vsixmanifest
+++ b/lib/lufa/LUFA/StudioIntegration/VSIX/extension.vsixmanifest
@@ -1,32 +1,32 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2 2
3<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010"> 3<Vsix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2010">
4 <Identifier Id="FourWalledCubicle.LUFA.0e160d5c-e331-48d9-850b-e0387912171b"> 4 <Identifier Id="FourWalledCubicle.LUFA.0e160d5c-e331-48d9-850b-e0387912171b">
5 <Name>LUFA Library</Name> 5 <Name>LUFA Library</Name>
6 <Author>Dean Camera</Author> 6 <Author>Dean Camera</Author>
7 <Version>0</Version> 7 <Version>0</Version>
8 <MoreInfoUrl>http://www.lufa-lib.org</MoreInfoUrl> 8 <MoreInfoUrl>http://www.lufa-lib.org</MoreInfoUrl>
9 <Description xml:space="preserve">LUFA, the Lightweight USB Framework for AVRs.</Description> 9 <Description xml:space="preserve">LUFA, the Lightweight USB Framework for AVRs.</Description>
10 10
11 <License>License.txt</License> 11 <License>License.txt</License>
12 <Icon>LUFA_thumb.png</Icon> 12 <Icon>LUFA_thumb.png</Icon>
13 <PreviewImage>LUFA.png</PreviewImage> 13 <PreviewImage>LUFA.png</PreviewImage>
14 14
15 <SupportedProducts> 15 <SupportedProducts>
16 <IsolatedShell Version="7.0">AtmelStudio</IsolatedShell> 16 <IsolatedShell Version="7.0">AtmelStudio</IsolatedShell>
17 </SupportedProducts> 17 </SupportedProducts>
18 18
19 <SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.5"/> 19 <SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.5"/>
20 <Locale>1033</Locale> 20 <Locale>1033</Locale>
21 21
22 <AllUsers>false</AllUsers> 22 <AllUsers>false</AllUsers>
23 </Identifier> 23 </Identifier>
24 24
25 <References/> 25 <References/>
26 26
27 <Content> 27 <Content>
28 <VsPackage>LUFA.pkgdef</VsPackage> 28 <VsPackage>LUFA.pkgdef</VsPackage>
29 <CustomExtension Type="MSHelp">helpcontentsetup.msha</CustomExtension> 29 <CustomExtension Type="MSHelp">helpcontentsetup.msha</CustomExtension>
30 <CustomExtension Type="asf-manifest">asf-manifest.xml</CustomExtension> 30 <CustomExtension Type="asf-manifest">asf-manifest.xml</CustomExtension>
31 </Content> 31 </Content>
32</Vsix> 32</Vsix>