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 |
