diff options
Diffstat (limited to 'Bootloaders')
| -rw-r--r-- | Bootloaders/CDC/asf.xml | 322 | ||||
| -rw-r--r-- | Bootloaders/DFU/asf.xml | 312 | ||||
| -rw-r--r-- | Bootloaders/HID/asf.xml | 246 | ||||
| -rw-r--r-- | Bootloaders/MassStorage/BootloaderAPITable.S | 204 | ||||
| -rw-r--r-- | Bootloaders/MassStorage/asf.xml | 312 | ||||
| -rw-r--r-- | Bootloaders/MassStorage/makefile | 150 | ||||
| -rw-r--r-- | Bootloaders/Printer/BootloaderAPITable.S | 182 | ||||
| -rw-r--r-- | Bootloaders/Printer/asf.xml | 318 | ||||
| -rw-r--r-- | Bootloaders/Printer/makefile | 124 | 
9 files changed, 1085 insertions, 1085 deletions
| diff --git a/Bootloaders/CDC/asf.xml b/Bootloaders/CDC/asf.xml index 72f3ff04c7..02e7063c66 100644 --- a/Bootloaders/CDC/asf.xml +++ b/Bootloaders/CDC/asf.xml @@ -1,161 +1,161 @@ -<asf xmlversion="1.0">
 -	<project caption="CDC Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.128_4" force-caption="true" workspace-name="lufa_cdc_128kb_4kb_">
 -		<require idref="lufa.bootloaders.cdc"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="at90usb1287"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x1F000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<project caption="CDC Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.64_4" force-caption="true" workspace-name="lufa_cdc_64kb_4kb_">
 -		<require idref="lufa.bootloaders.cdc"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="at90usb647"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0xF000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<project caption="CDC Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.32_4" force-caption="true" workspace-name="lufa_cdc_32kb_4kb_">
 -		<require idref="lufa.bootloaders.cdc"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="atmega32u4"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<project caption="CDC Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.16_4" force-caption="true" workspace-name="lufa_cdc_16kb_4kb_">
 -		<require idref="lufa.bootloaders.cdc"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="atmega16u2"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x3000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<project caption="CDC Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.8_4" force-caption="true" workspace-name="lufa_cdc_8kb_4kb_">
 -		<require idref="lufa.bootloaders.cdc"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="atmega8u2"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x1000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<module type="application" id="lufa.bootloaders.cdc" caption="CDC Bootloader">
 -		<info type="description" value="summary">
 -		CDC Class Bootloader, capable of reprogramming a device using avrdude or other AVR109 protocol compliant software when plugged into a host.
 -		</info>
 -
 - 		<info type="gui-flag" value="move-to-root"/>
 -
 -		<info type="keyword" value="Technology">
 -			<keyword value="Bootloaders"/>
 -			<keyword value="USB Device"/>
 -		</info>
 -
 - 		<device-support-alias value="lufa_avr8"/>
 -		<device-support-alias value="lufa_xmega"/>
 -		<device-support-alias value="lufa_uc3"/>
 -
 -		<build type="include-path" value="."/>
 -		<build type="c-source" value="BootloaderCDC.c"/>
 -		<build type="header-file" value="BootloaderCDC.h"/>
 -		<build type="c-source" value="Descriptors.c"/>
 -		<build type="header-file" value="Descriptors.h"/>
 -		<build type="c-source" value="BootloaderAPI.c"/>
 -		<build type="header-file" value="BootloaderAPI.h"/>
 -		<build type="asm-source" value="BootloaderAPITable.S"/>
 -
 -		<build type="module-config" subtype="path" value="Config"/>
 -		<build type="header-file" value="Config/LUFAConfig.h"/>
 -		<build type="header-file" value="Config/AppConfig.h"/>
 -
 -		<build type="distribute" subtype="user-file" value="doxyfile"/>
 -		<build type="distribute" subtype="user-file" value="BootloaderCDC.txt"/>
 -		<build type="distribute" subtype="user-file" value="LUFA CDC Bootloader.inf"/>
 -
 -		<require idref="lufa.common"/>
 -		<require idref="lufa.platform"/>
 -		<require idref="lufa.drivers.usb"/>
 -		<require idref="lufa.drivers.board"/>
 -		<require idref="lufa.drivers.board.leds"/>
 -	</module>
 -</asf>
 +<asf xmlversion="1.0"> +	<project caption="CDC Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.128_4" force-caption="true" workspace-name="lufa_cdc_128kb_4kb_"> +		<require idref="lufa.bootloaders.cdc"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="at90usb1287"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x1F000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<project caption="CDC Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.64_4" force-caption="true" workspace-name="lufa_cdc_64kb_4kb_"> +		<require idref="lufa.bootloaders.cdc"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="at90usb647"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0xF000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<project caption="CDC Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.32_4" force-caption="true" workspace-name="lufa_cdc_32kb_4kb_"> +		<require idref="lufa.bootloaders.cdc"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="atmega32u4"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x7000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<project caption="CDC Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.16_4" force-caption="true" workspace-name="lufa_cdc_16kb_4kb_"> +		<require idref="lufa.bootloaders.cdc"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="atmega16u2"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x3000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<project caption="CDC Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.cdc.avr8.8_4" force-caption="true" workspace-name="lufa_cdc_8kb_4kb_"> +		<require idref="lufa.bootloaders.cdc"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="atmega8u2"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x1000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<module type="application" id="lufa.bootloaders.cdc" caption="CDC Bootloader"> +		<info type="description" value="summary"> +		CDC Class Bootloader, capable of reprogramming a device using avrdude or other AVR109 protocol compliant software when plugged into a host. +		</info> + + 		<info type="gui-flag" value="move-to-root"/> + +		<info type="keyword" value="Technology"> +			<keyword value="Bootloaders"/> +			<keyword value="USB Device"/> +		</info> + + 		<device-support-alias value="lufa_avr8"/> +		<device-support-alias value="lufa_xmega"/> +		<device-support-alias value="lufa_uc3"/> + +		<build type="include-path" value="."/> +		<build type="c-source" value="BootloaderCDC.c"/> +		<build type="header-file" value="BootloaderCDC.h"/> +		<build type="c-source" value="Descriptors.c"/> +		<build type="header-file" value="Descriptors.h"/> +		<build type="c-source" value="BootloaderAPI.c"/> +		<build type="header-file" value="BootloaderAPI.h"/> +		<build type="asm-source" value="BootloaderAPITable.S"/> + +		<build type="module-config" subtype="path" value="Config"/> +		<build type="header-file" value="Config/LUFAConfig.h"/> +		<build type="header-file" value="Config/AppConfig.h"/> + +		<build type="distribute" subtype="user-file" value="doxyfile"/> +		<build type="distribute" subtype="user-file" value="BootloaderCDC.txt"/> +		<build type="distribute" subtype="user-file" value="LUFA CDC Bootloader.inf"/> + +		<require idref="lufa.common"/> +		<require idref="lufa.platform"/> +		<require idref="lufa.drivers.usb"/> +		<require idref="lufa.drivers.board"/> +		<require idref="lufa.drivers.board.leds"/> +	</module> +</asf> diff --git a/Bootloaders/DFU/asf.xml b/Bootloaders/DFU/asf.xml index 6f3312b764..f56aba69f5 100644 --- a/Bootloaders/DFU/asf.xml +++ b/Bootloaders/DFU/asf.xml @@ -1,156 +1,156 @@ -<asf xmlversion="1.0">
 -	<project caption="DFU Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.128_4" force-caption="true" workspace-name="lufa_dfu_128kb_4kb_">
 -		<require idref="lufa.bootloaders.dfu"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="at90usb1287"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x1F000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<project caption="DFU Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.64_4" force-caption="true" workspace-name="lufa_dfu_64kb_4kb_">
 -		<require idref="lufa.bootloaders.dfu"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="at90usb647"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0xF000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<project caption="DFU Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.32_4" force-caption="true" workspace-name="lufa_dfu_32kb_4kb_">
 -		<require idref="lufa.bootloaders.dfu"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="atmega32u4"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<project caption="DFU Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.16_4" force-caption="true" workspace-name="lufa_dfu_16kb_4kb_">
 -		<require idref="lufa.bootloaders.dfu"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="atmega16u2"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x3000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<project caption="DFU Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.8_4" force-caption="true" workspace-name="lufa_dfu_8kb_4kb_">
 -		<require idref="lufa.bootloaders.dfu"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="atmega8u2"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x1000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<module type="application" id="lufa.bootloaders.dfu" caption="DFU Bootloader">
 -		<info type="description" value="summary">
 -		DFU Class Bootloader, capable of reprogramming a device using the Atmel FLIP or other AVR DFU programming software when plugged into a host.
 -		</info>
 -
 - 		<info type="gui-flag" value="move-to-root"/>
 -
 -		<info type="keyword" value="Technology">
 -			<keyword value="Bootloaders"/>
 -			<keyword value="USB Device"/>
 -		</info>
 -
 - 		<device-support-alias value="lufa_avr8"/>
 -		<device-support-alias value="lufa_xmega"/>
 -		<device-support-alias value="lufa_uc3"/>
 -
 -		<build type="include-path" value="."/>
 -		<build type="c-source" value="BootloaderDFU.c"/>
 -		<build type="header-file" value="BootloaderDFU.h"/>
 -		<build type="c-source" value="Descriptors.c"/>
 -		<build type="header-file" value="Descriptors.h"/>
 -		<build type="c-source" value="BootloaderAPI.c"/>
 -		<build type="header-file" value="BootloaderAPI.h"/>
 -		<build type="asm-source" value="BootloaderAPITable.S"/>
 -
 -		<build type="module-config" subtype="path" value="Config"/>
 -		<build type="header-file" value="Config/LUFAConfig.h"/>
 -		<build type="header-file" value="Config/AppConfig.h"/>
 -
 -		<build type="distribute" subtype="user-file" value="doxyfile"/>
 -		<build type="distribute" subtype="user-file" value="BootloaderDFU.txt"/>
 -
 -		<require idref="lufa.common"/>
 -		<require idref="lufa.platform"/>
 -		<require idref="lufa.drivers.usb"/>
 -		<require idref="lufa.drivers.board"/>
 -		<require idref="lufa.drivers.board.leds"/>
 -	</module>
 -</asf>
 +<asf xmlversion="1.0"> +	<project caption="DFU Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.128_4" force-caption="true" workspace-name="lufa_dfu_128kb_4kb_"> +		<require idref="lufa.bootloaders.dfu"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="at90usb1287"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x1F000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<project caption="DFU Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.64_4" force-caption="true" workspace-name="lufa_dfu_64kb_4kb_"> +		<require idref="lufa.bootloaders.dfu"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="at90usb647"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0xF000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<project caption="DFU Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.32_4" force-caption="true" workspace-name="lufa_dfu_32kb_4kb_"> +		<require idref="lufa.bootloaders.dfu"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="atmega32u4"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x7000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<project caption="DFU Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.16_4" force-caption="true" workspace-name="lufa_dfu_16kb_4kb_"> +		<require idref="lufa.bootloaders.dfu"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="atmega16u2"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x3000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<project caption="DFU Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.dfu.avr8.8_4" force-caption="true" workspace-name="lufa_dfu_8kb_4kb_"> +		<require idref="lufa.bootloaders.dfu"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="atmega8u2"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x1000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<module type="application" id="lufa.bootloaders.dfu" caption="DFU Bootloader"> +		<info type="description" value="summary"> +		DFU Class Bootloader, capable of reprogramming a device using the Atmel FLIP or other AVR DFU programming software when plugged into a host. +		</info> + + 		<info type="gui-flag" value="move-to-root"/> + +		<info type="keyword" value="Technology"> +			<keyword value="Bootloaders"/> +			<keyword value="USB Device"/> +		</info> + + 		<device-support-alias value="lufa_avr8"/> +		<device-support-alias value="lufa_xmega"/> +		<device-support-alias value="lufa_uc3"/> + +		<build type="include-path" value="."/> +		<build type="c-source" value="BootloaderDFU.c"/> +		<build type="header-file" value="BootloaderDFU.h"/> +		<build type="c-source" value="Descriptors.c"/> +		<build type="header-file" value="Descriptors.h"/> +		<build type="c-source" value="BootloaderAPI.c"/> +		<build type="header-file" value="BootloaderAPI.h"/> +		<build type="asm-source" value="BootloaderAPITable.S"/> + +		<build type="module-config" subtype="path" value="Config"/> +		<build type="header-file" value="Config/LUFAConfig.h"/> +		<build type="header-file" value="Config/AppConfig.h"/> + +		<build type="distribute" subtype="user-file" value="doxyfile"/> +		<build type="distribute" subtype="user-file" value="BootloaderDFU.txt"/> + +		<require idref="lufa.common"/> +		<require idref="lufa.platform"/> +		<require idref="lufa.drivers.usb"/> +		<require idref="lufa.drivers.board"/> +		<require idref="lufa.drivers.board.leds"/> +	</module> +</asf> diff --git a/Bootloaders/HID/asf.xml b/Bootloaders/HID/asf.xml index 9394b13530..c67b9419ed 100644 --- a/Bootloaders/HID/asf.xml +++ b/Bootloaders/HID/asf.xml @@ -1,123 +1,123 @@ -<asf xmlversion="1.0">
 -	<project caption="HID Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.128_4" force-caption="true" workspace-name="lufa_hid_128kb_4kb_">
 -		<require idref="lufa.bootloaders.hid"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="at90usb1287"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x1F000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/>
 -	</project>
 -
 -	<project caption="HID Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.64_4" force-caption="true" workspace-name="lufa_hid_64kb_4kb_">
 -		<require idref="lufa.bootloaders.hid"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="at90usb647"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0xF000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/>
 -	</project>
 -
 -	<project caption="HID Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.32_4" force-caption="true" workspace-name="lufa_hid_32kb_4kb_">
 -		<require idref="lufa.bootloaders.hid"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="atmega32u4"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
 -	</project>
 -
 -	<project caption="HID Bootloader - 16KB FLASH / 2KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.16_2" force-caption="true" workspace-name="lufa_hid_16kb_2kb_">
 -		<require idref="lufa.bootloaders.hid"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="atmega16u2"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x3800"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3800"/>
 -	</project>
 -
 -	<project caption="HID Bootloader - 8KB FLASH / 2KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.8_2" force-caption="true" workspace-name="lufa_hid_8kb_2kb_">
 -		<require idref="lufa.bootloaders.hid"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="atmega8u2"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x1800"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1800"/>
 -	</project>
 -
 -	<module type="application" id="lufa.bootloaders.hid" caption="HID Bootloader">
 -		<info type="description" value="summary">
 -		HID Class Bootloader, capable of reprogramming a device via a custom cross-platform command line utility when plugged into a host.
 -		</info>
 -
 - 		<info type="gui-flag" value="move-to-root"/>
 -
 -		<info type="keyword" value="Technology">
 -			<keyword value="Bootloaders"/>
 -			<keyword value="USB Device"/>
 -		</info>
 -
 -		<device-support-alias value="lufa_avr8"/>
 -		<device-support-alias value="lufa_xmega"/>
 -		<device-support-alias value="lufa_uc3"/>
 -
 -		<build type="include-path" value="."/>
 -		<build type="c-source" value="BootloaderHID.c"/>
 -		<build type="header-file" value="BootloaderHID.h"/>
 -		<build type="c-source" value="Descriptors.c"/>
 -		<build type="header-file" value="Descriptors.h"/>
 -
 -		<build type="module-config" subtype="path" value="Config"/>
 -		<build type="header-file" value="Config/LUFAConfig.h"/>
 -
 -		<build type="distribute" subtype="user-file" value="doxyfile"/>
 -		<build type="distribute" subtype="user-file" value="BootloaderHID.txt"/>
 -		<build type="distribute" subtype="directory" value="HostLoaderApp"/>
 -		<build type="distribute" subtype="directory" value="HostLoaderApp_Python"/>
 -
 -		<require idref="lufa.common"/>
 -		<require idref="lufa.platform"/>
 -		<require idref="lufa.drivers.usb"/>
 -		<require idref="lufa.drivers.board"/>
 -		<require idref="lufa.drivers.board.leds"/>
 -	</module>
 -</asf>
 +<asf xmlversion="1.0"> +	<project caption="HID Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.128_4" force-caption="true" workspace-name="lufa_hid_128kb_4kb_"> +		<require idref="lufa.bootloaders.hid"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="at90usb1287"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x1F000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> +	</project> + +	<project caption="HID Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.64_4" force-caption="true" workspace-name="lufa_hid_64kb_4kb_"> +		<require idref="lufa.bootloaders.hid"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="at90usb647"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0xF000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> +	</project> + +	<project caption="HID Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.32_4" force-caption="true" workspace-name="lufa_hid_32kb_4kb_"> +		<require idref="lufa.bootloaders.hid"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="atmega32u4"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x7000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> +	</project> + +	<project caption="HID Bootloader - 16KB FLASH / 2KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.16_2" force-caption="true" workspace-name="lufa_hid_16kb_2kb_"> +		<require idref="lufa.bootloaders.hid"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="atmega16u2"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x3800"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3800"/> +	</project> + +	<project caption="HID Bootloader - 8KB FLASH / 2KB Boot - AVR8 Architecture" id="lufa.bootloaders.hid.avr8.8_2" force-caption="true" workspace-name="lufa_hid_8kb_2kb_"> +		<require idref="lufa.bootloaders.hid"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="atmega8u2"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x1800"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1800"/> +	</project> + +	<module type="application" id="lufa.bootloaders.hid" caption="HID Bootloader"> +		<info type="description" value="summary"> +		HID Class Bootloader, capable of reprogramming a device via a custom cross-platform command line utility when plugged into a host. +		</info> + + 		<info type="gui-flag" value="move-to-root"/> + +		<info type="keyword" value="Technology"> +			<keyword value="Bootloaders"/> +			<keyword value="USB Device"/> +		</info> + +		<device-support-alias value="lufa_avr8"/> +		<device-support-alias value="lufa_xmega"/> +		<device-support-alias value="lufa_uc3"/> + +		<build type="include-path" value="."/> +		<build type="c-source" value="BootloaderHID.c"/> +		<build type="header-file" value="BootloaderHID.h"/> +		<build type="c-source" value="Descriptors.c"/> +		<build type="header-file" value="Descriptors.h"/> + +		<build type="module-config" subtype="path" value="Config"/> +		<build type="header-file" value="Config/LUFAConfig.h"/> + +		<build type="distribute" subtype="user-file" value="doxyfile"/> +		<build type="distribute" subtype="user-file" value="BootloaderHID.txt"/> +		<build type="distribute" subtype="directory" value="HostLoaderApp"/> +		<build type="distribute" subtype="directory" value="HostLoaderApp_Python"/> + +		<require idref="lufa.common"/> +		<require idref="lufa.platform"/> +		<require idref="lufa.drivers.usb"/> +		<require idref="lufa.drivers.board"/> +		<require idref="lufa.drivers.board.leds"/> +	</module> +</asf> diff --git a/Bootloaders/MassStorage/BootloaderAPITable.S b/Bootloaders/MassStorage/BootloaderAPITable.S index 30165700d7..44eb15ea9d 100644 --- a/Bootloaders/MassStorage/BootloaderAPITable.S +++ b/Bootloaders/MassStorage/BootloaderAPITable.S @@ -1,102 +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 --git a/Bootloaders/MassStorage/asf.xml b/Bootloaders/MassStorage/asf.xml index f1d550d1eb..700ffa26ff 100644 --- a/Bootloaders/MassStorage/asf.xml +++ b/Bootloaders/MassStorage/asf.xml @@ -1,156 +1,156 @@ -<asf xmlversion="1.0">
 -	<project caption="Mass Storage Bootloader - 128KB FLASH / 8KB Boot - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.128_8" force-caption="true" workspace-name="lufa_ms_128kb_8kb_">
 -		<require idref="lufa.bootloaders.mass_storage"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="at90usb1287"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x1E000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1E000"/>
 -
 -		<build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<project caption="Mass Storage Bootloader - 64KB FLASH / 8KB Boot - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.64_8" force-caption="true" workspace-name="lufa_ms_64kb_8kb_">
 -		<require idref="lufa.bootloaders.mass_storage"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="at90usb647"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0xE000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0xE000"/>
 -
 -		<build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<project caption="Mass Storage Bootloader - 32KB FLASH / 4KB Boot (2KB AUX) - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.32_4" force-caption="true" workspace-name="lufa_ms_32kb_4kb_">
 -		<require idref="lufa.bootloaders.mass_storage"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="atmega32u4"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
 -
 -		<build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x6810"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x6800"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<project caption="Mass Storage Bootloader - 16KB FLASH / 4KB Boot (2KB AUX) - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.16_4" force-caption="true" workspace-name="lufa_ms_16kb_4kb_">
 -		<require idref="lufa.bootloaders.mass_storage"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="atmega16u2"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x3000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/>
 -
 -		<build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x2810"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x2800"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<module type="application" id="lufa.bootloaders.mass_storage" caption="Mass Storage Bootloader">
 -		<info type="description" value="summary">
 -		Mass Storage Class Bootloader, capable of reprogramming a device via binary BIN files copied to the virtual FAT12 file-system it creates when plugged into a host.
 -		</info>
 -
 - 		<info type="gui-flag" value="move-to-root"/>
 -
 -		<info type="keyword" value="Technology">
 -			<keyword value="Bootloaders"/>
 -			<keyword value="USB Device"/>
 -		</info>
 -
 -		<device-support-alias value="lufa_avr8"/>
 -		<device-support-alias value="lufa_xmega"/>
 -		<device-support-alias value="lufa_uc3"/>
 -
 -		<build type="include-path" value="."/>
 -		<build type="c-source" value="BootloaderMassStorage.c"/>
 -		<build type="header-file" value="BootloaderMassStorage.h"/>
 -		<build type="c-source" value="Descriptors.c"/>
 -		<build type="header-file" value="Descriptors.h"/>
 -		<build type="c-source" value="BootloaderAPI.c"/>
 -		<build type="header-file" value="BootloaderAPI.h"/>
 -		<build type="asm-source" value="BootloaderAPITable.S"/>
 -
 -		<build type="module-config" subtype="path" value="Config"/>
 -		<build type="header-file" value="Config/LUFAConfig.h"/>
 -		<build type="header-file" value="Config/AppConfig.h"/>
 -
 -		<build type="include-path" value="Lib"/>
 -		<build type="header-file" value="Lib/VirtualFAT.h"/>
 -		<build type="c-source" value="Lib/VirtualFAT.c"/>
 -		<build type="header-file" value="Lib/SCSI.h"/>
 -		<build type="c-source" value="Lib/SCSI.c"/>
 -
 -		<build type="distribute" subtype="user-file" value="doxyfile"/>
 -		<build type="distribute" subtype="user-file" value="BootloaderMassStorage.txt"/>
 -
 -		<require idref="lufa.common"/>
 -		<require idref="lufa.platform"/>
 -		<require idref="lufa.drivers.usb"/>
 -		<require idref="lufa.drivers.board"/>
 -		<require idref="lufa.drivers.board.leds"/>
 -	</module>
 -</asf>
 +<asf xmlversion="1.0"> +	<project caption="Mass Storage Bootloader - 128KB FLASH / 8KB Boot - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.128_8" force-caption="true" workspace-name="lufa_ms_128kb_8kb_"> +		<require idref="lufa.bootloaders.mass_storage"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="at90usb1287"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x1E000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1E000"/> + +		<build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<project caption="Mass Storage Bootloader - 64KB FLASH / 8KB Boot - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.64_8" force-caption="true" workspace-name="lufa_ms_64kb_8kb_"> +		<require idref="lufa.bootloaders.mass_storage"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="at90usb647"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0xE000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0xE000"/> + +		<build type="define" name="AUX_BOOT_SECTION_SIZE" value="0"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<project caption="Mass Storage Bootloader - 32KB FLASH / 4KB Boot (2KB AUX) - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.32_4" force-caption="true" workspace-name="lufa_ms_32kb_4kb_"> +		<require idref="lufa.bootloaders.mass_storage"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="atmega32u4"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x7000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> + +		<build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/> +		<build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x6810"/> +		<build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x6800"/> +		<build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<project caption="Mass Storage Bootloader - 16KB FLASH / 4KB Boot (2KB AUX) - AVR8 Architecture" id="lufa.bootloaders.mass_storage.avr8.16_4" force-caption="true" workspace-name="lufa_ms_16kb_4kb_"> +		<require idref="lufa.bootloaders.mass_storage"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="atmega16u2"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x3000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> + +		<build type="define" name="AUX_BOOT_SECTION_SIZE" value="2048"/> +		<build type="linker-config" subtype="flags" value="--section-start=.boot_aux=0x2810"/> +		<build type="linker-config" subtype="flags" value="--section-start=.boot_aux_trampoline=0x2800"/> +		<build type="linker-config" subtype="flags" value="--undefined=Boot_AUX_Trampoline"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<module type="application" id="lufa.bootloaders.mass_storage" caption="Mass Storage Bootloader"> +		<info type="description" value="summary"> +		Mass Storage Class Bootloader, capable of reprogramming a device via binary BIN files copied to the virtual FAT12 file-system it creates when plugged into a host. +		</info> + + 		<info type="gui-flag" value="move-to-root"/> + +		<info type="keyword" value="Technology"> +			<keyword value="Bootloaders"/> +			<keyword value="USB Device"/> +		</info> + +		<device-support-alias value="lufa_avr8"/> +		<device-support-alias value="lufa_xmega"/> +		<device-support-alias value="lufa_uc3"/> + +		<build type="include-path" value="."/> +		<build type="c-source" value="BootloaderMassStorage.c"/> +		<build type="header-file" value="BootloaderMassStorage.h"/> +		<build type="c-source" value="Descriptors.c"/> +		<build type="header-file" value="Descriptors.h"/> +		<build type="c-source" value="BootloaderAPI.c"/> +		<build type="header-file" value="BootloaderAPI.h"/> +		<build type="asm-source" value="BootloaderAPITable.S"/> + +		<build type="module-config" subtype="path" value="Config"/> +		<build type="header-file" value="Config/LUFAConfig.h"/> +		<build type="header-file" value="Config/AppConfig.h"/> + +		<build type="include-path" value="Lib"/> +		<build type="header-file" value="Lib/VirtualFAT.h"/> +		<build type="c-source" value="Lib/VirtualFAT.c"/> +		<build type="header-file" value="Lib/SCSI.h"/> +		<build type="c-source" value="Lib/SCSI.c"/> + +		<build type="distribute" subtype="user-file" value="doxyfile"/> +		<build type="distribute" subtype="user-file" value="BootloaderMassStorage.txt"/> + +		<require idref="lufa.common"/> +		<require idref="lufa.platform"/> +		<require idref="lufa.drivers.usb"/> +		<require idref="lufa.drivers.board"/> +		<require idref="lufa.drivers.board.leds"/> +	</module> +</asf> diff --git a/Bootloaders/MassStorage/makefile b/Bootloaders/MassStorage/makefile index 7f0ec82a7f..f3948e754f 100644 --- a/Bootloaders/MassStorage/makefile +++ b/Bootloaders/MassStorage/makefile @@ -1,75 +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 --git a/Bootloaders/Printer/BootloaderAPITable.S b/Bootloaders/Printer/BootloaderAPITable.S index 76f37bf499..d8358c31ce 100644 --- a/Bootloaders/Printer/BootloaderAPITable.S +++ b/Bootloaders/Printer/BootloaderAPITable.S @@ -1,91 +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 --git a/Bootloaders/Printer/asf.xml b/Bootloaders/Printer/asf.xml index 86a56911ed..b5c0c6b3a5 100644 --- a/Bootloaders/Printer/asf.xml +++ b/Bootloaders/Printer/asf.xml @@ -1,159 +1,159 @@ -<asf xmlversion="1.0">
 -	<project caption="Printer Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.128_4" force-caption="true" workspace-name="lufa_printer_128kb_4kb_">
 -		<require idref="lufa.bootloaders.printer"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="at90usb1287"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x1F000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<project caption="Printer Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.64_4" force-caption="true" workspace-name="lufa_printer_64kb_4kb_">
 -		<require idref="lufa.bootloaders.printer"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="at90usb647"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0xF000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<project caption="Printer Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.32_4" force-caption="true" workspace-name="lufa_printer_32kb_4kb_">
 -		<require idref="lufa.bootloaders.printer"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="atmega32u4"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x7000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<project caption="Printer Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.16_4" force-caption="true" workspace-name="lufa_printer_16kb_4kb_">
 -		<require idref="lufa.bootloaders.printer"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="atmega16u2"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x3000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<project caption="Printer Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.8_4" force-caption="true" workspace-name="lufa_printer_8kb_4kb_">
 -		<require idref="lufa.bootloaders.printer"/>
 -		<require idref="lufa.boards.dummy.avr8"/>
 -		<generator value="as5_8"/>
 -
 -		<device-support value="atmega8u2"/>
 -		<config name="lufa.drivers.board.name" value="none"/>
 -
 -		<config name="config.compiler.optimization.level" value="size"/>
 -
 -		<build type="define" name="F_CPU" value="16000000UL"/>
 -		<build type="define" name="F_USB" value="16000000UL"/>
 -
 -		<build type="define" name="BOOT_START_ADDR" value="0x1000"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/>
 -
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/>
 -		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/>
 -		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/>
 -	</project>
 -
 -	<module type="application" id="lufa.bootloaders.printer" caption="Printer Bootloader">
 -		<info type="description" value="summary">
 -		Printer Class Bootloader, capable of reprogramming a device by "printing" new HEX files to the virtual Plain-Text printer it creates when plugged into a host.
 -		</info>
 -
 - 		<info type="gui-flag" value="move-to-root"/>
 -
 -		<info type="keyword" value="Technology">
 -			<keyword value="Bootloaders"/>
 -			<keyword value="USB Device"/>
 -		</info>
 -
 -		<device-support-alias value="lufa_avr8"/>
 -		<device-support-alias value="lufa_xmega"/>
 -		<device-support-alias value="lufa_uc3"/>
 -
 -		<build type="include-path" value="."/>
 -		<build type="c-source" value="BootloaderPrinter.c"/>
 -		<build type="header-file" value="BootloaderPrinter.h"/>
 -		<build type="c-source" value="Descriptors.c"/>
 -		<build type="header-file" value="Descriptors.h"/>
 -		<build type="c-source" value="BootloaderAPI.c"/>
 -		<build type="header-file" value="BootloaderAPI.h"/>
 -		<build type="asm-source" value="BootloaderAPITable.S"/>
 -
 -		<build type="module-config" subtype="path" value="Config"/>
 -		<build type="header-file" value="Config/LUFAConfig.h"/>
 -
 -		<build type="distribute" subtype="user-file" value="doxyfile"/>
 -		<build type="distribute" subtype="user-file" value="BootloaderPrinter.txt"/>
 -
 -		<require idref="lufa.common"/>
 -		<require idref="lufa.platform"/>
 -		<require idref="lufa.drivers.usb"/>
 -		<require idref="lufa.drivers.board"/>
 -		<require idref="lufa.drivers.board.leds"/>
 -	</module>
 -</asf>
 +<asf xmlversion="1.0"> +	<project caption="Printer Bootloader - 128KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.128_4" force-caption="true" workspace-name="lufa_printer_128kb_4kb_"> +		<require idref="lufa.bootloaders.printer"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="at90usb1287"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x1F000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1F000"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FFA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FFE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FFF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<project caption="Printer Bootloader - 64KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.64_4" force-caption="true" workspace-name="lufa_printer_64kb_4kb_"> +		<require idref="lufa.bootloaders.printer"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="at90usb647"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0xF000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0xF000"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0xFFA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0xFFE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0xFFF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<project caption="Printer Bootloader - 32KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.32_4" force-caption="true" workspace-name="lufa_printer_32kb_4kb_"> +		<require idref="lufa.bootloaders.printer"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="atmega32u4"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x7000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x7000"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x7FA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x7FE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x7FF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<project caption="Printer Bootloader - 16KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.16_4" force-caption="true" workspace-name="lufa_printer_16kb_4kb_"> +		<require idref="lufa.bootloaders.printer"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="atmega16u2"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x3000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x3000"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x3FA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x3FE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x3FF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<project caption="Printer Bootloader - 8KB FLASH / 4KB Boot - AVR8 Architecture" id="lufa.bootloaders.printer.avr8.8_4" force-caption="true" workspace-name="lufa_printer_8kb_4kb_"> +		<require idref="lufa.bootloaders.printer"/> +		<require idref="lufa.boards.dummy.avr8"/> +		<generator value="as5_8"/> + +		<device-support value="atmega8u2"/> +		<config name="lufa.drivers.board.name" value="none"/> + +		<config name="config.compiler.optimization.level" value="size"/> + +		<build type="define" name="F_CPU" value="16000000UL"/> +		<build type="define" name="F_USB" value="16000000UL"/> + +		<build type="define" name="BOOT_START_ADDR" value="0x1000"/> +		<build type="linker-config" subtype="flags" value="--section-start=.text=0x1000"/> + +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_trampolines=0x1FA0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Trampolines"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_jumptable=0x1FE0"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_JumpTable"/> +		<build type="linker-config" subtype="flags" value="--section-start=.apitable_signatures=0x1FF8"/> +		<build type="linker-config" subtype="flags" value="--undefined=BootloaderAPI_Signatures"/> +	</project> + +	<module type="application" id="lufa.bootloaders.printer" caption="Printer Bootloader"> +		<info type="description" value="summary"> +		Printer Class Bootloader, capable of reprogramming a device by "printing" new HEX files to the virtual Plain-Text printer it creates when plugged into a host. +		</info> + + 		<info type="gui-flag" value="move-to-root"/> + +		<info type="keyword" value="Technology"> +			<keyword value="Bootloaders"/> +			<keyword value="USB Device"/> +		</info> + +		<device-support-alias value="lufa_avr8"/> +		<device-support-alias value="lufa_xmega"/> +		<device-support-alias value="lufa_uc3"/> + +		<build type="include-path" value="."/> +		<build type="c-source" value="BootloaderPrinter.c"/> +		<build type="header-file" value="BootloaderPrinter.h"/> +		<build type="c-source" value="Descriptors.c"/> +		<build type="header-file" value="Descriptors.h"/> +		<build type="c-source" value="BootloaderAPI.c"/> +		<build type="header-file" value="BootloaderAPI.h"/> +		<build type="asm-source" value="BootloaderAPITable.S"/> + +		<build type="module-config" subtype="path" value="Config"/> +		<build type="header-file" value="Config/LUFAConfig.h"/> + +		<build type="distribute" subtype="user-file" value="doxyfile"/> +		<build type="distribute" subtype="user-file" value="BootloaderPrinter.txt"/> + +		<require idref="lufa.common"/> +		<require idref="lufa.platform"/> +		<require idref="lufa.drivers.usb"/> +		<require idref="lufa.drivers.board"/> +		<require idref="lufa.drivers.board.leds"/> +	</module> +</asf> diff --git a/Bootloaders/Printer/makefile b/Bootloaders/Printer/makefile index 2c8582ca22..1de35bba02 100644 --- a/Bootloaders/Printer/makefile +++ b/Bootloaders/Printer/makefile @@ -1,62 +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 | 
