diff options
Diffstat (limited to 'lib/lufa/Bootloaders/Printer')
-rw-r--r-- | lib/lufa/Bootloaders/Printer/BootloaderAPITable.S | 182 | ||||
-rw-r--r-- | lib/lufa/Bootloaders/Printer/makefile | 124 |
2 files changed, 153 insertions, 153 deletions
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 |
35 | BootloaderAPI_Trampolines: | 35 | BootloaderAPI_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 |
67 | BootloaderAPI_JumpTable: | 67 | BootloaderAPI_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 |
87 | BootloaderAPI_Signatures: | 87 | BootloaderAPI_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 | ||
14 | MCU = at90usb1287 | 14 | MCU = at90usb1287 |
15 | ARCH = AVR8 | 15 | ARCH = AVR8 |
16 | BOARD = USBKEY | 16 | BOARD = USBKEY |
17 | F_CPU = 8000000 | 17 | F_CPU = 8000000 |
18 | F_USB = $(F_CPU) | 18 | F_USB = $(F_CPU) |
19 | OPTIMIZATION = s | 19 | OPTIMIZATION = s |
20 | TARGET = BootloaderPrinter | 20 | TARGET = BootloaderPrinter |
21 | SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) | 21 | SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) |
22 | LUFA_PATH = ../../LUFA | 22 | LUFA_PATH = ../../LUFA |
23 | CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) | 23 | CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) |
24 | LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) | 24 | LD_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. |
29 | FLASH_SIZE_KB = 128 | 29 | FLASH_SIZE_KB = 128 |
30 | BOOT_SECTION_SIZE_KB = 8 | 30 | BOOT_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. |
34 | CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) | 34 | CALC_ADDRESS_IN_HEX = $(shell printf "0x%X" $$(( $(1) )) ) |
35 | BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) | 35 | BOOT_START_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024 ) |
36 | BOOT_SEC_OFFSET = $(call CALC_ADDRESS_IN_HEX, ($(FLASH_SIZE_KB) * 1024) - ($(strip $(1))) ) | 36 | BOOT_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. |
40 | BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2)) | 40 | BOOT_SECTION_LD_FLAG = -Wl,--section-start=$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=$(strip $(2)) |
41 | BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96) | 41 | BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, .apitable_trampolines, BootloaderAPI_Trampolines, 96) |
42 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32) | 42 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_jumptable, BootloaderAPI_JumpTable, 32) |
43 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8) | 43 | BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8) |
44 | 44 | ||
45 | # Default target | 45 | # Default target |
46 | all: | 46 | all: |
47 | 47 | ||
48 | # Include LUFA-specific DMBS extension modules | 48 | # Include LUFA-specific DMBS extension modules |
49 | DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA | 49 | DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA |
50 | include $(DMBS_LUFA_PATH)/lufa-sources.mk | 50 | include $(DMBS_LUFA_PATH)/lufa-sources.mk |
51 | include $(DMBS_LUFA_PATH)/lufa-gcc.mk | 51 | include $(DMBS_LUFA_PATH)/lufa-gcc.mk |
52 | 52 | ||
53 | # Include common DMBS build system modules | 53 | # Include common DMBS build system modules |
54 | DMBS_PATH ?= $(LUFA_PATH)/Build/DMBS/DMBS | 54 | DMBS_PATH ?= $(LUFA_PATH)/Build/DMBS/DMBS |
55 | include $(DMBS_PATH)/core.mk | 55 | include $(DMBS_PATH)/core.mk |
56 | include $(DMBS_PATH)/cppcheck.mk | 56 | include $(DMBS_PATH)/cppcheck.mk |
57 | include $(DMBS_PATH)/doxygen.mk | 57 | include $(DMBS_PATH)/doxygen.mk |
58 | include $(DMBS_PATH)/dfu.mk | 58 | include $(DMBS_PATH)/dfu.mk |
59 | include $(DMBS_PATH)/gcc.mk | 59 | include $(DMBS_PATH)/gcc.mk |
60 | include $(DMBS_PATH)/hid.mk | 60 | include $(DMBS_PATH)/hid.mk |
61 | include $(DMBS_PATH)/avrdude.mk | 61 | include $(DMBS_PATH)/avrdude.mk |
62 | include $(DMBS_PATH)/atprogram.mk | 62 | include $(DMBS_PATH)/atprogram.mk |