summaryrefslogtreecommitdiff
path: root/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu
diff options
context:
space:
mode:
Diffstat (limited to 'MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu')
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp.h166
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3a0_a1/iar/at32uc3a-isp.hex478
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3a0_a1/iar/lnkat32uc3a-isp.xcl150
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3a0_a1/iar/usb_device_dfu_isp.ewp934
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3a0_a1/sysclk.c187
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/iar/at32uc3c-isp.hex504
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/iar/lnkat32uc3c-isp.xcl150
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/iar/usb_device_dfu_isp.ewp940
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/at32uc3c-isp-1.1.0.binbin0 -> 8188 bytes
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/at32uc3c-isp-1.1.0.hex515
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/at32uc3c-isp_cfg-1.1.0.dat1
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/program_at32uc3c-isp-1.1.0.cmd56
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/program_at32uc3c-isp-1.1.0.sh59
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/readme.txt4
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/at32uc3c-isp-1.1.1.hex504
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/at32uc3c-isp_cfg-1.1.1.dat1
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/program_at32uc3c-isp-1.1.1.cmd82
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/program_at32uc3c-isp-1.1.1.sh59
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/report_111.txt1037
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.2/at32uc3c-isp-1.1.2.hex504
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.2/at32uc3c-isp_cfg-1.1.2.dat1
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.2/program_at32uc3c-isp-1.1.2.cmd82
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.2/program_at32uc3c-isp-1.1.2.sh59
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/sysclk_uc3c.c233
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/iar/at32uc3d-isp.hex503
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/iar/lnkat32uc3d-isp.xcl150
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/iar/usb_device_dfu_isp.ewp942
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/at32uc3d-isp-1.1.0.hex508
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/at32uc3d-isp_cfg-1.1.0.dat1
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/flip/ATUC128D3.xml38
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/flip/atmel_usb_dfu.inf192
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/program_at32uc3d-isp-1.1.0.cmd56
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/program_at32uc3d-isp-1.1.0.sh59
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/Readme.txt595
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/at32uc3d-isp-1.1.1.binbin0 -> 8140 bytes
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/at32uc3d-isp-1.1.1.hex512
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/at32uc3d-isp_cfg-1.1.1.dat1
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/avr32.7zbin0 -> 546933 bytes
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/program_at32uc3d-isp-1.1.1.cmd82
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/program_at32uc3d-isp-1.1.1.sh59
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/Readme.txt595
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/at32uc3d-isp-1.1.2.binbin0 -> 8000 bytes
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/at32uc3d-isp-1.1.2.hex503
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/at32uc3d-isp_cfg-1.1.2.dat1
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/avr32.7zbin0 -> 562489 bytes
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/program_at32uc3d-isp-1.1.2.cmd82
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/program_at32uc3d-isp-1.1.2.sh59
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/sysclk_uc3d.c196
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/boot.S322
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/boot.h65
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/boot.s82304
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_board.h41
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_clock.h45
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_freq_detect.h62
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_isp.h138
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_usb.h143
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/flash_api.h1996
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/intc.c69
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/intc.h94
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/isp.c331
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/main.c101
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/main.h46
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/conf_board.h41
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/conf_clock.h57
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/conf_isp.h67
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/iar/atxmega128a1u_boot.xcl71
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/iar/cstartup.s90195
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/iar/macros.m90180
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/releases/atxmega128a1u-bootloader-usb-dfu-1.0.1/atxmega128a1u_bootloader_usb_dfu_101.hex358
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/conf_board.h41
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/conf_clock.h57
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/conf_isp.h67
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/iar/atxmega128b1_boot.xcl72
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/iar/cstartup.s90195
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/iar/macros.m90181
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/releases/atxmega128b1-bootloader-usb-dfu-1.0.1/atxmega128b1_bootloader_usb_dfu_101.hex340
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/conf_board.h41
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/conf_clock.h57
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/conf_isp.h67
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/iar/atxmega256a3bu_boot.xcl72
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/iar/cstartup.s90211
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/iar/macros.m90180
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/conf_board.h41
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/conf_clock.h56
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/conf_isp.h69
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/atxmega64a1_boot.xcl73
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/common_services_usb_class_dfu_device_atmel_isp_atxmega64a1u.ewp2089
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/cstartup.s90199
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/macros.m90180
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/test_on_atxmega128a1_boot.xcl73
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/sysclk_opt.c91
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/udc_opt.c463
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/conf_usb.h151
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/isp.c203
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/main.c71
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/main.h42
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/module_config/conf_usb.h127
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/udi_dfu_atmel.c815
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/udi_dfu_atmel.h104
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/udi_dfu_atmel_conf.h75
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/udi_dfu_atmel_desc.c142
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/standard/udi_dfu.c173
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/standard/udi_dfu.h109
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/standard/udi_dfu_conf.h70
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/standard/udi_dfu_desc.c142
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/usb_atmel_dfu.h244
-rw-r--r--MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/usb_protocol_dfu.h186
107 files changed, 24135 insertions, 0 deletions
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp.h
new file mode 100644
index 0000000..43ac72a
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp.h
@@ -0,0 +1,166 @@
+/**
+ * \file
+ *
+ * \brief In system programming API to manage security, memories and fuses
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef _ISP_H_
+#define _ISP_H_
+
+#include "conf_isp.h"
+#include "conf_usb.h"
+#include "usb_atmel_dfu.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Data type for holding flash memory addresses.
+ */
+#ifdef ISP_SMALL_MEMORY_SIZE
+typedef uint16_t isp_addr_t;
+#else
+typedef uint32_t isp_addr_t;
+#endif
+
+/**
+ * \name In system programming API to manage security, memories and fuses
+ */
+//@{
+
+/**
+ * \name Interfaces to control chip
+ */
+//@{
+extern void isp_init(void);
+extern bool isp_is_security(void);
+extern void isp_force_isp(bool force);
+extern bool isp_erase_chip(void);
+#ifdef UDI_DFU_ATMEL_FIX_ERASE_CHIP_PROTOCOL
+extern bool isp_start_erase_chip(void);
+#endif
+extern void isp_start_appli_rst(void);
+extern void isp_start_appli_norst(void);
+//@}
+
+//! Memory API definition
+typedef struct {
+ uint32_t size;
+ void (*fnct_read) (void *dst, isp_addr_t src, uint16_t nbytes);
+ void (*fnct_write) (isp_addr_t dst, const void *src, uint16_t nbytes);
+} isp_mem_t;
+
+//! \name Memories list
+#if (UDI_DFU_ATMEL_PROTOCOL_VERSION == DFU_ATMEL_PROTOCOL_VERSION_1)
+typedef union {
+ isp_mem_t const *mem[DFU_ATMEL_V1_MEM_COUNT];
+ struct {
+ isp_mem_t const *flash;
+ isp_mem_t const *eeprom;
+ isp_mem_t const *bootloader;
+ isp_mem_t const *signature;
+ isp_mem_t const *user;
+ };
+} isp_mems_t;
+#endif
+
+#if (UDI_DFU_ATMEL_PROTOCOL_VERSION == DFU_ATMEL_PROTOCOL_VERSION_2)
+typedef union {
+ isp_mem_t const *mem[DFU_ATMEL_V2_MEM_COUNT];
+ struct {
+ isp_mem_t const *flash;
+ isp_mem_t const *eeprom;
+ isp_mem_t const *security;
+ isp_mem_t const *conf;
+ isp_mem_t const *bootloader;
+ isp_mem_t const *signature;
+ isp_mem_t const *user;
+ isp_mem_t const *int_ram;
+ isp_mem_t const *ext_mem_cs0;
+ isp_mem_t const *ext_mem_cs1;
+ isp_mem_t const *ext_mem_cs2;
+ isp_mem_t const *ext_mem_cs3;
+ isp_mem_t const *ext_mem_cs4;
+ isp_mem_t const *ext_mem_cs5;
+ isp_mem_t const *ext_mem_cs6;
+ isp_mem_t const *ext_mem_cs7;
+ isp_mem_t const *ext_mem_df;
+ };
+} isp_mems_t;
+#endif
+
+extern const isp_mems_t isp_memories;
+
+
+
+/*
+ * alignment requested to simulate a memory
+ */
+COMPILER_PACK_SET(1);
+
+//! \name Memory signature structure
+typedef union {
+ uint8_t mem[4];
+ struct {
+ uint8_t manufacture;
+ uint8_t product_number_msb;
+ uint8_t product_number_lsb;
+ uint8_t product_revision;
+ };
+} isp_mem_signature_t;
+
+
+//! \name Memory bootloader structure
+// It is used to store medium and minor bootloader versions
+// Example: Version 0x00 give 1.0.0 on batchisp log
+// Example: Version 0x03 give 1.0.3 on batchisp log
+// Example: Version 0x25 give 1.2.5 on batchisp log
+// id1 & id2 is not used and must be always at 0.
+typedef struct {
+ uint8_t version;
+ uint8_t id1;
+ uint8_t id2;
+} isp_mem_bootloader_t;
+
+COMPILER_PACK_RESET();
+
+
+//@}
+
+#ifdef __cplusplus
+}
+#endif
+#endif // _ISP_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3a0_a1/iar/at32uc3a-isp.hex b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3a0_a1/iar/at32uc3a-isp.hex
new file mode 100644
index 0000000..7d1f8e6
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3a0_a1/iar/at32uc3a-isp.hex
@@ -0,0 +1,478 @@
+:0200000480007A
+:10000000E1B80000F1D8C2C35818C090FEC8FFF094
+:10001000FC190061E06D0D1CD041D6033008FE795B
+:100020000D30E06A01FCEA1A8080FE7B0C00700053
+:10003000E061504BEA1149537402E06301070494F4
+:10004000C76CC141E7D2C210E043E11EC0F1EDB27E
+:100050000009C0C3F6F30140E06403150873C13121
+:10006000EDB30003C3830230C3C1C53C9101E06D11
+:100070000D34D353FEC00074E3B00001E0A00C3E89
+:10008000E0A00D20EDB20008C262E06A01F8EA1AB1
+:1000900080807402E06301070494C49CCE71E7D2AF
+:1000A000C22FE043494FCE21E7D2C108E043006EA2
+:1000B000CDD2FE7A1000E6041605A964080A7584FC
+:1000C000E013001FE8030A44E7D2C2010654EDB46E
+:1000D0000000CCC20230C051C1CC300830009100C9
+:1000E000FC100061E3B0000030003001300230034A
+:1000F000300430053006300730083009300A300B44
+:10010000300C300D300EE3B00001E3B0004248BFC8
+:10011000FC1255009302EE12FF0093021C9FE805AB
+:100120001200EA051117E60509450A54E04400FFEC
+:10013000FE9BFFF758045EF480002000D021304B76
+:10014000FE6C0000784AA39AC062781AA39AC03263
+:10015000992BCC68308A310CFE6900007218AD987A
+:10016000C213FE6B00007619A589C673FE6B0800EA
+:10017000301AFE6900007248A198E082009272185D
+:10018000A198E082008E7609AFC99709FE69000048
+:10019000935A936C760CA1DC970C760CAFAC970C51
+:1001A000C9F8FE690220930C930AFE690160FE689B
+:1001B000010070CEA39EC062340C930CE0A004D862
+:1001C000C8F870CEA38EC042E0A00594C89870CE47
+:1001D000A19EC092FE6801C0700EA19EC042E0A028
+:1001E0000529C7E8E0680910EA180000706EFE678C
+:1001F00001006EC6A586C102930A6EC7A197C70308
+:10020000582EC071916B930CFE6B01C097CCC688C1
+:10021000583EC661C0F86EC8A598CA42930C6ECB12
+:10022000A38BC5E3581EC041E0A005CEC598584E2B
+:10023000C571E86C0000CE9B972AE0A002FBFE6C23
+:100240000000780BE01BFF80990B780BA7BB990B84
+:10025000787BA1AB997BFE6C0100780BE069040010
+:10026000308A3408F00A0C4AF4090D4AE01BE68390
+:100270003FF9F20A001AF4091200F3D9C005F20A94
+:10028000111CA56AE21A197C144B990B780BA1BBBF
+:10029000990B78CBB39BCFE2E0A00454C21872480C
+:1002A000A598C0E27218A598C0B27609AFC997099F
+:1002B000FE690000935C936A760CA1BCC71B761A9A
+:1002C000A38AC0E2760CAFCC970C302C972C760C1E
+:1002D000AFAC970C761CF9DCC161E0A00C05D02214
+:1002E000D603D70380000B6C80000CF080000C302C
+:1002F00080000DC48000083080000B4080001AE4AC
+:10030000E06B1C5CEA1B8000FE6C1408780AF5DACE
+:10031000C1A3F60A032C5EFCFE6A14007409A7C987
+:10032000340BF7EC006C124C950C5EFDFE6B140860
+:10033000760CA19CCFC25EFDD42118951697E0667D
+:100340000008EA160000F0160000FE6C1404780B9A
+:10035000E01BFFC0EBD5C00616455807C0A6E01548
+:1003600000FFE415FF000A9BEBD7C010F7E51085EE
+:10037000EBD5C018EA15A5009905781CE21C000C05
+:100380008D1CF0160000D82AFE6B1408760CF9DCE0
+:10039000C0815EFCD4013FFB309CCCFFD80A00003A
+:1003A000D401F60A1518304AF9BA0005189B149CB6
+:1003B000CC4FD80AD42118961697CA3F0E9BAD9CF5
+:1003C000B9360C9CCEEFD82AD421189730063105C7
+:1003D00020150E9B0A9CCEFFE06B0008EA1B000074
+:1003E000761C18465805CF519716D82AFE6B140C68
+:1003F0007618760A30091449F9DCC006EDBC000510
+:10040000F2081730F00C0A48A1985F3C5EFC00002F
+:10041000D42118971696F7DCC006308CC8EFEC0C88
+:100420001518C0400E9CCE3FD822DA2AD401F60A15
+:100430001518C061F9DCC006189B307CC7EFD80ADC
+:10044000D401F60A1518300BC030CE3FD80ACEFFC3
+:10045000D80A0000D4013FFB303CFEB0FF6FD80A41
+:10046000D401189B30CCFEB0FF69FE6B1408760CEB
+:10047000F9DCC0A1D8020000D42116973016189BD1
+:10048000302CFEB0FF5BEE0C1518C0C0E067000812
+:10049000EA1700006E153FFCCE4F18966E1C1845EB
+:1004A0008F150C9CD8220000D431189730163005D7
+:1004B000FEB0FF28F8041609C09820140E9B089C73
+:1004C000CDCF18665C56661C1845E0630008EA1339
+:1004D00000005804CF3187150C9CD832D4013FFB63
+:1004E00030FCFEB0FF2BFE6B1408760CF9DCC0A1CB
+:1004F000D8020000D42118973FFB30ECFEB0FF1E5D
+:10050000EE0C1518F9BC0001C020CE9FD8220000C7
+:10051000D4013FFB30DCFEB0FF11D80AD671204D6C
+:100520001697149530013003FC168000FEB0FEEAE9
+:100530001806502640560C05FC1C80001836C08258
+:100540005C360E0618060C97FC168000C0E8402B9F
+:100550001636C0B3FC1C80801836C0725C360E069E
+:1005600018060C97FC168080E06C0201EA1C808063
+:100570001835C063E0650200EA158080C0A8301C11
+:10058000EA1C80801835C052402B0A3BFBF5300234
+:100590000A9CA1CCE01CFFFCE01CFFF8503CE5D518
+:1005A000C003C0E8580BC050300CCA5F681C184329
+:1005B0003FFB30DCFEB0FEC2069C68131843E064CB
+:1005C0000008EA1400000A36E08200AA3FFB303C33
+:1005D000FEB0FEB4681C18430C99E019FE00F2CC82
+:1005E000FE00403AF40C0D4E0A9CE01CFE00183947
+:1005F0005F2CF7D6C009C2200C90E010FFF8C0387D
+:10060000B30AB32A0039CFD3F7D6C003C17030087C
+:10061000133AFA080B0A2FF81638CFB35888C0627D
+:100620000F3BFA080B0B2FF8CFAB0096403A143073
+:10063000C042BB0AAD2AC0283011A39EEC0B1603A2
+:10064000161E1C98303B0E6B167BC040202BC080C2
+:10065000C1E85808C1E0AF0BAD2A2018CFBB58083D
+:10066000C180300B0F2AFA0B0A1A2FFB584BCFB35D
+:10067000BB0AAD2A2018CF4B300B0F3AFA0B0B0AEE
+:100680002FFB588BCFB3BB0AAD2A20185808CF5187
+:10069000F80B1518C200E20C1518C0300498C09869
+:1006A0003008C0580F3CFA080B0C2FF80438CFB3B1
+:1006B0000A995802C061C0C8133CFA080B0C2FF805
+:1006C0005888CFB3BB0AAD2AC038B30AB32AF9D9C8
+:1006D000C009CFC1301CEA1C80801836FB3B001BD0
+:1006E000FE92FF62580BC070300B3FFCFEB0FEC69E
+:1006F000681C18433FFB301CFEB0FE20069C6813AC
+:100700001843402B1636FE93FF5C5C360E06FC1C2D
+:10071000808018060C97FC168080C52B8913405CDE
+:100720002FCDDC72E06C00A0EA1C0000782B760A6A
+:1007300015BC2FEAF5DC50005CCCE06B00A0EA1B96
+:100740000000762A740B5C7C160C5EFCD421189693
+:100750001697CE9F0D8B16061836C0920D9B584BE0
+:10076000C060F6071800CF710C9CD822D82A000070
+:10077000D42118961697E06C00B0EA1C0000198B83
+:10078000580BC021D82AE06500A0EA1500006A2BAA
+:10079000760C19CBF6061800CF628B3CCC4FC048C4
+:1007A000178A140B8B3B6A3B183BCED2179A584AD8
+:1007B000CF8117AAF4061800CF4117BAF407180022
+:1007C000CF01DA2AD4211897E0660770EA16800074
+:1007D000300B5D16C021D82AE06500A0EA150000A4
+:1007E0006A2C781BF6070F84683C5D1C189B0E9CD6
+:1007F0005D16CF206A3C305BCAAFCFE1681C5D1C40
+:10080000DA2A0000D4211897CB4FC021D82AE066FD
+:1008100000A0EA160000305B6C3CC99FCF816C2CB5
+:10082000781BF6070F8CF01C00005F1CD82200001C
+:10083000D421E06700A0EA170000E06600B0EA16E5
+:1008400000000D8C580CC0C03005C0580A9CCBBFAE
+:100850002FF55C556E2C780B17CC1835CF85300CE6
+:10086000AC8CAE1CD82A0000D401E06B0910EA1B46
+:100870000000969C5C5CE0A0096DD80A80001B50CB
+:10088000E06B0910EA1B0000969AF3DAC008E068F2
+:10089000008CEA180000F40C1608201CC060201C14
+:1008A000C080201CC1805EFD700C972C198AC21874
+:1008B000700CF93A00111439C0255EFD701CF8095E
+:1008C000033A972AF809033C19BA2FECF9DA5000D9
+:1008D0005CCAC0F8E06C0014EA1C00005C5A147A90
+:1008E000C060201AC0D0201AC0E05EFD304A972CAC
+:1008F00096BCF40C1900F80A1730B66A5EFF2FCCCC
+:1009000030CACF6B2F0C308ACF3B0000D431E06669
+:100910000910EA1600000D8BE06400B0EA14000034
+:10092000098CE06700A0EA170000EDBB0007C502D4
+:100930008CBAF4091510C021D83AF7DBC00530296C
+:100940003015C1810D9C187CC060206CC0B0202C7B
+:10095000C0B0D83A582AC020D83A2FE78D27AC69C2
+:10096000DA3AC8FFD832581AC020D83A8D24AC657C
+:10097000DA3A581BC1F10D9B58ABCDF1581AC02083
+:10098000D83AF80B1518CFD08CA45C546E2C780B89
+:1009900017CC1834CF64300B089CCEBECF206E2C01
+:1009A000781BF604032C783B5D1BAE8C8D27AC6561
+:1009B000DA3A582BCC210D9C580CCBF1582AC02088
+:1009C000D83A300CAE2C2FC78D27AC69DA3AF7DB5A
+:1009D000C005E0650804EA158000580BC4F10D9CC1
+:1009E000201CC140202CCA90202CC060202CCA5052
+:1009F000202CC180D83A8CBC580CC020D83AE06C6E
+:100A00000868EA1C80008D4CDA3A8CBC580CC02077
+:100A1000D83A8C9C581CCFD18E9CE21CFDFFAE1C9A
+:100A2000DA3A8CBC580CC020D83AE0A008EBCFD002
+:100A3000E063008CEA130000660CF93B00118C9C0B
+:100A4000F80B1800CF23CF5E8C9CA88C5C5CF80B55
+:100A50001518C021DA3A661BF60C003B208B8F2B51
+:100A600030066E2C780B17CC1836CF54300B0C9CFC
+:100A70005D15CDB02FF65C56CF5B581BFE91FF5E27
+:100A80000D9B58BBFE91FF5A8CBB580BC030300CED
+:100A9000C0E8F80B1518CFC08CA45C548C975C5739
+:100AA000089CC91ECF500E9B089C5D155C5CD8321B
+:100AB00080001C00D421300CE0670910EA17000008
+:100AC000AE6C8F4C8F5C0F8CEDBC0007C0528EBBA0
+:100AD000580BC021D82AE21C0060C041C18FC02041
+:100AE000DA2A0F8CF9DCC005581CCF51E06C00B03D
+:100AF000EA1C0000198B580BCEE08EA65C56E0670E
+:100B000000A0EA1700006E2C780B17CC1836CE34F4
+:100B1000E0650770EA158000300B0C9C5D15CDB0C8
+:100B20006E2C781BF60603276E3C5D1CF7DCC008B4
+:100B30000C9C5D15CD006E2C5D1CCD31D82A0000BB
+:100B4000FE6C01F0304B990B302B990BE06C1000D0
+:100B5000FE6B0018970C300CE06B0910EA1B0000CC
+:100B6000974C975CB66C976C5EFD0000D421E067F3
+:100B70000910EA1700006E6C580CC070583CC03069
+:100B8000584CC021C32DCDDF3046FE6C0130780BB0
+:100B9000E61B7FF0FC1C0080183BC1D1FC1CE00070
+:100BA000300B193AEE0B0B0A2FFB588BCFB58E9CEE
+:100BB0005CCCAE1C8EAC5CCCAE2C8EBC5CCCAE3CAB
+:100BC000FE6501F0FEB0FF78C0A1305C8F6CE86C70
+:100BD00000008B0CFE6C013099C6D82AFE6C0130E7
+:100BE00099C68EECF9DCC006F80B15105F0CE06BB3
+:100BF000092CEA1B0000B68C300C0F8AA98AC0723F
+:100C0000B61CB62C302C8F6CC14CD82A8EBA580A20
+:100C1000C031CD9CD82AB61CB62C301C8F6C310C40
+:100C2000FE6B013097CC8B0CD82AD70380000AB416
+:100C3000D4313017FE6C01F099C7E0660910EA164E
+:100C400000006C6CE0650B40EA158000583CC04128
+:100C5000CCCC5D15D83A582CC0305D15D83A8CEB09
+:100C6000E065092CEA1500008AAC162C5C7CFE6459
+:100C70000160FE6301F0C2310B8C580CC071304C26
+:100C80008D6C310C890C870CD83A30028A9C180B79
+:100C90008CBC183BC0656C5C580CC0305D1CC0310E
+:100CA000AA82C2188AAC8A9B180BAA1BAA228CECB7
+:100CB000F7DCC006F60A15105F0BAA8BE04C00416A
+:100CC000F9BC0440FC1BE0006C298AAA120A300916
+:100CD000C058153816C82FF95C591839CFB58AABEA
+:100CE000180BAA2B87078907308C890C870CD83AF8
+:100CF000D421E0670910EA1700006E6C3026584CCA
+:100D0000C071FE6C013099C6C70CC1BFD82AFE6500
+:100D100001F0581CC0A0305C8F6CE86C00008B0C9C
+:100D2000FE6C013099C6D82AFE6B0130760CF9DCD6
+:100D3000C28BE064092CEA14000088AB169A8EE995
+:100D4000F60C00081039C044F20B010C5C7CFC1B53
+:100D5000E0006E29120A3009C058173814C82FF95C
+:100D60005C591839CFB588AB180BA82BE04C004064
+:100D7000C081F9DBC010889B180B8EBA143BC0B53C
+:100D80006E5C580CC0305D1CCC70FE6C013099C696
+:100D9000C1ACD82A8EEBF80B1900C0C16E5C580CA0
+:100DA000CBB05D1CCB9088AC889B180BA81B300C7B
+:100DB000A82CFE6C013099C6310CFE6B013097CC2B
+:100DC0008B0CD82A303CE06B0910EA1B0000976CB2
+:100DD000FE6C01F0301B990BFE6A0160950B308BA5
+:100DE000950B990B5EFD0000D401E06B0910EA1B26
+:100DF0000000764C580CC0205D1CD80AEC5BBBA0F0
+:100E0000C032304BC118E06AC6C0EA1A002D143B4C
+:100E1000C032305BC098E06A1200EA1A007A143BD4
+:100E2000306BF9BB020778AAE01AFFF8F7DBC003C2
+:100E3000144B99AB5EFD0000D4211897C0AC6F5CD9
+:100E4000A98CCFE2D82A0000780BA3CB990B5EFDCA
+:100E500078AAE01AF8FFA96BE21B0700144B99ABC4
+:100E6000780BA3AB990B5EFD78CBE01BF8FFA9AB29
+:100E700099CB5EFDD4211897C06C6F5CAB8CCFE230
+:100E8000D82A000078C9E419FFF8E67A0000F5EBEB
+:100E9000010B124BA1AB99CB5EFD0000D421189E33
+:100EA00040574066E06C1D00EA1C80007805E015A4
+:100EB0007878E4157878F9D6C0031845EE0C150754
+:100EC000E21C00801845A966E21607000A46AF77C3
+:100ED000E21780000C47E67C0000F9EA010A0E4A9E
+:100EE000B77BE61B0080144BB968E6180700104B6F
+:100EF000F7E911FB9D1B7D5CA78CCFE2D82A00008F
+:100F0000D421E0671CF8EA1780006E0EE01E00ECAA
+:100F1000F3D9C0011C49302EFDEA001A124A3109EA
+:100F2000F3E80048104A4058A968E218FF00104A48
+:100F3000F80B002CF94A0060D82A0000F80B002CAE
+:100F4000798BA3ABF94B00605EFD0000F80B002C21
+:100F5000798BA3CBF94B00605EFD0000D421E06EDD
+:100F60001CFCEA1E80007C07E017F0FDE417C0F0CF
+:100F7000302EFDE800180E48A969E2190F0010494B
+:100F8000EE780000F1EA010A124A4058B968E61802
+:100F90003F00104AF80B002C998AD82AD401F80B8C
+:100FA000002C788EE01EFFE3F5E9101AF5E8102A10
+:100FB00031CBF7EA002A1C4A998AD80AF80B002C90
+:100FC000788BA1AB998B5EFDF80B002C788BA1CBB5
+:100FD000998B5EFD795BA19BCFE25EFD780AE01AFA
+:100FE000FFFCF7DBC002144B990B5EFDD421189671
+:100FF0001497C05F0E9B0C9CC20F301B0C9CCEFF45
+:10100000D82A0000D431201D3007E06608FCEA161B
+:1010100000008D27E0650910EA1500008B578B470B
+:10102000E06400B4EA140000A887302CA8CCE06388
+:1010300000BCEA13000007AC0DCBE06A19C0EA1A45
+:10104000800030A207892019C0802029C1F0201912
+:10105000C4A02029C680C3E8F60C1518C3E1E6CC6D
+:10106000FFFE5D1AC370079C580CC341E06C00FC86
+:10107000EA1C00008B2CE06C0800AA6CE06C18885D
+:10108000EA1C80008B5C301CC2C8F60C1518C251DB
+:10109000E6CCFFFE5D1AC1E0E06C003CEA1C0000FB
+:1010A0000DDBF80B0F8A741C580CC031303CC16842
+:1010B000079C187CC040201CC080C0C8E06C1A1C73
+:1010C000EA1C80008D2CCE0BE06C17FCEA1C800023
+:1010D000CFAB098C580CC04130FCA88CA8C2300C96
+:1010E0002FFDD832079B167BC040203BC0C0CF5B92
+:1010F000E04C00FFCF21E0A00559C030ACC7CC4B7D
+:10110000304CCECB187CC040201CC080CE6BE06C35
+:101110001604EA1C80008D3CCB7BE06C1628EA1C90
+:101120008000CFABF60A1518CD81079B583BCD51F7
+:1011300007BB189A187CC040201AC090CCEB587C92
+:10114000C044ACDB8D07CA0B308CCC8B300C500C00
+:10115000BA8B07CCBA9C400BE06C003CEA1C000048
+:101160000DDAF80A0F89720C183BCEF28D0BC8CB42
+:1011700080001BA8D421202D306AE06B2400EA1BDC
+:1011800000F4FE7C0C00FEB0FF33300A300BFE7C16
+:101190000D00E0A002EFFE7C0D00E0A0031FE0A028
+:1011A00001BD33FC500C30083009303A300BFE7C66
+:1011B0000C00FEB0FED530083019301A300BFE7C22
+:1011C0000C00FEB0FEED300BFE7C0C00FEB0FEF815
+:1011D000FE7C0C00FEB0FF00E0660318EA168000FB
+:1011E000301C5D16302BFE7C0C00FEB0FEF9301A70
+:1011F000301BBB1B30183019FE7C0C00FEB0FE50BB
+:10120000300C5D162FEDD82A80000FEC800017708F
+:10121000800017D88000151880000FBC80000FD404
+:10122000D421202DE0670318EA178000301C5D17D9
+:10123000300A300BBB1B30083009FE7C0C00FEB0BE
+:10124000FE2F300BFE7C0C00FEB0FECA300C5D178A
+:10125000300BFE7C0C00FEB0FEB930083009300ABD
+:10126000300BFE7C0C00FEB0FE9B300C500C3008A6
+:101270003009300A300BFE7C0C00FEB0FE71300BE2
+:10128000FE7C0C00FEB0FDE6FE7C0C00FEB0FDDE38
+:10129000FE7C0C00E0A004D42FEDD82A80000E9C28
+:1012A00080000FDC80000FC880000F9C80000F5C66
+:1012B00080000E5080000E4880001C3CD401300994
+:1012C000FC188000100CFEB0F92BD80AD421189716
+:1012D000F40C1510C040FEB0F859AE8CD82AD703D4
+:1012E00080000388D401F40C1510C060178C580CD2
+:1012F000C030FEB0F851D80A80000394D42118956C
+:1013000016971496C0680E9CFEB0F8722FF70ACCA0
+:101310000C9CFE360001F80B1510CF61D82AD703BC
+:10132000800003ECD421189616951497C0680B3BE7
+:101330000C9CFEB0F8872FF60E9CFE370001F80BD0
+:101340001510CF61D82AD70380000440E06900104F
+:10135000EA190000F60B001B16091898580A5E0DD2
+:10136000133B201A10CBCFD15EFD0000E06900983E
+:10137000EA190000F20B00291898580A5E0D133B79
+:10138000201A10CBCFD15EFDFC198080120B18986B
+:10139000580A5E0D1739201A10C9CFD15EFD000022
+:1013A000D4013019FC188080100CFEB0F8B9D80AAE
+:1013B0008000051CE06C0098EA1C0000358BB88B9F
+:1013C000320BB89BE1BB0040B98BB8ABE1BB00402E
+:1013D000F7DBC204B8BB5EFDD401201D301A300B10
+:1013E0001A9CC75F1B8B580B5F1C2FFDD802000097
+:1013F000D401C81CFEB0FFE0FEB0FFF0E06B08FCBB
+:10140000EA1B0000B6CCDA0A800013B4800013D8BF
+:101410005EFD0000D401E06C0910EA1C0000198A8E
+:10142000149BE21B0060E04B0020C020D80A1999F1
+:10143000E06808FCEA180000E06B00B4EA1B00005A
+:10144000A98AC2522029C1B02019C0402029C0C099
+:10145000C4B8989A580AC48198BA586AC451992B4A
+:10146000306BB86BDA0A989A580AC3E198BA581ADE
+:10147000C3B12FCB992B301BB86BDA0A17CC58AC01
+:10148000C330702C580CC3005D1CD8022019C10059
+:101490002039C0602029C28117CA58AAC250989A20
+:1014A000580AC22198BA580AC1F1C25CDA0A17CAAE
+:1014B00058AAC1A0703A580AC070E06B1B90EA1B92
+:1014C0008000994BDA0A98BA580AC0E0E06B00BC79
+:1014D000EA1B0000992B340BB86BE06B1004EA1B7D
+:1014E0008000995BDA0A30FCB68C30ACB6CCD80AF6
+:1014F0005EFD0000300CE06B00B4EA1B0000B68C0F
+:10150000302AB6CAE06B08FCEA1B0000B6DC970C78
+:10151000972C973C5EFD0000D431205DFACCFFF89B
+:10152000E06B1CECEA1B8000B709B928170818A863
+:101530003FF73FF4E0661BECEA1680005D16E0A082
+:10154000034D501CE0651C48EA1580005D15E0A0C5
+:10155000038118905D165D15300330053006C21802
+:101560001830C1F4401B0A3BC1C41615F80001062F
+:10157000EC0B141FE072C138EC020648F602034976
+:10158000109A129B0A98EA09141FE0A002B714935C
+:10159000580AC070400C141C5C4CE04C2711C1254B
+:1015A00050030A920C91E0A003191895E0A0035291
+:1015B00018960435C035023CCD445803C031300C78
+:1015C000C198300CFACAFFF8F40C032B062B083B29
+:1015D000F6041730F80717302FFC583CCF435BF761
+:1015E000C041F9D3C008C068FACBFFF8F607032C56
+:1015F0005C5C2FBDD832D70380001AF880001BD85E
+:1016000080001C50D401300CC24CD303FE7C0D3042
+:10161000E06B0A01EA1B5500990BE06B0A01EA1B1B
+:10162000AA00990BC0080000D401300CC12CFEB0F8
+:10163000FDF9300CE3BC0042E1BC0042E04C048008
+:10164000CFC3FEB0F54CD80A80001220800000DA2B
+:10165000D4211897300CE06B01FCEA1B8080EE0A65
+:101660001518C040760AAB8AC373760AA9DAF5E783
+:101670001097318BEE0B0A4A5C5A145CA96C5C7CA7
+:10168000308AEDBC000FC042EC1C83805C7CA17CE6
+:101690005C7C201ACF71A98C208BCED1E017FF0083
+:1016A0001847FC168080FEB0F6D737FC6C0B0CABED
+:1016B000201CCFD1E06B01FC169C6C0A163CEE0A94
+:1016C00017000CAA2FCCE04C0200CF85300CFEB0E6
+:1016D000F713FEB0F71FD82A80000454800004F4EA
+:1016E00080000510D421E0A0013FE1B70000D30342
+:1016F000FE6608006C0CAFDC8D0C6C0C300AE06BE5
+:101700000220E06C013CEA1C8000E0A002336C0C7B
+:10171000B9BC8D0C6C0CB9CC8D0C6C0CADCC8D0C9B
+:101720006C0CADAC8D0C6C0CAFBC8D0C6C0CAFCCE0
+:101730008D0C6C0C6C1BAF9BCFE2FE6C0000780B29
+:10174000ADCB990B780BE81B0C00990B6C0CA1BC72
+:101750008D0C6C0CAFAC8D0CFE7C0D44780BA1ABEA
+:10176000990BE3B70000D82A8000196480001B7031
+:10177000D421189616951497582BC034590AC025B1
+:10178000D82A581BC0A1FE7C0C00FEB0FB6F300BAA
+:10179000FE7C0C00FEB0FB706C0CA59CCFE3A37527
+:1017A000EBE71085B1A58D056C0CA59CCFE3300B44
+:1017B0000C9CC09C3FFB0C9CC1ACDA2A80000E68DC
+:1017C00080000E74780AA59ACFE3991B780BA59B2D
+:1017D000CFE35EFD781B5EFB780BA59BCFE3780B18
+:1017E000A1AB990B780BA59BCFE35EFD780AA59A78
+:1017F000CFE3992B780BA59BCFE35EFDD431E06757
+:1018000008FCEA170000E066003CEA1600000FDC66
+:10181000EC0C0F8BF735000CE06300FCEA130000C2
+:101820006E4C580CC250E06B0800F80B0D445C7411
+:10183000081C8F4C089A6E0B069C0FD9EC090F8878
+:1018400070195D19069CC0486E0B2FFB8F0B089B0F
+:10185000FE3400015C74F60A1510CE30193B0A3BC9
+:10186000CF40305CE06B00B4EA1B0000B68C0FACDC
+:10187000A68C0FBCA69CE06C0910EA1C0000992302
+:10188000302BB86BDA3A0000D421E06508FCEA1589
+:1018900000006A0BF7DBC0066A4C160C8B4CE06745
+:1018A0000800F8070D4C5C7CF80B01045C746A4A74
+:1018B000181A8B4AE06600FCEA160000580CC100BA
+:1018C000089A0C0B6A0CE069003CEA1900000BD87E
+:1018D000F2080F8E7C295D196A0C080C8B0CE06CE9
+:1018E0000910EA1C00009926B867E06B1888EA1B0B
+:1018F0008000995BDA2A0000EBCD40FEE06C1D040D
+:10190000EA1C8000E06E1D1CEA1E8000300A300BCD
+:10191000190719061905EFE61003E7D3C002C1C184
+:10192000EA041603C1900C37C090AF092014AD280B
+:10193000CFD1EBD5C003C121C0B82014AD2ACFE16F
+:10194000EBD5C003C050300220150CC2CFD11C3CD7
+:10195000CE03E3CF80FE0C37CF700F3120150CC1C2
+:10196000CEBB0000D421201D300C500C30083009B3
+:10197000301A304BFE7C0C00FEB0FAC4304BFE7CBB
+:101980000C00FEB0FADD2FFDD82AD70380000F3CF3
+:10199000D421201D304BFE7C0C00FEB0FAD9300C57
+:1019A000500C30083009300A304BFE7C0C00FEB081
+:1019B000FAA92FFDD82AD70380000F4C80000F0012
+:1019C000D401201DE06B08FCEA1B0000760A500AD7
+:1019D000198AB6AA199AB6BA19AABAAA19BABABA73
+:1019E000760C1B091839C0B3E06A003CEA1A000003
+:1019F00017D8F4080F8E7C0A1439C0B3E06C00B419
+:101A0000EA1C0000308BB88B30ABB8CB300CD8025E
+:101A1000122C2FFC974C301CD8020000D421E06718
+:101A200008FCEA170000E06C08006E4BF60C0D464F
+:101A30005C76F606010C8F4CE06500FCEA150000B0
+:101A40000C9A6E0B0A9CE069003CEA1900000FD862
+:101A5000F2080F8E7C195D196E0C0C0C8F0CE06C6B
+:101A60000910EA1C00009925B866E06B1A1CEA1BF5
+:101A70008000995BDA2A0000D421E1BC0000D30386
+:101A8000FE6B0800760AAFCA970A308AFE6900002A
+:101A9000932A3049FE6800009129301991293108B4
+:101AA000FE6E00009D287C07A9C79D079D6A9D6961
+:101AB0009D68760AAFAA970AE3BC0000D82A000006
+:101AC000D401D503FEB0FB58E0A000A8E0A000A020
+:101AD000C031E0A000A9C0088000117480001C186B
+:101AE00080001C0CD401F80B1518C030E0A0009C3D
+:101AF000D80AD70380001C24EBCD4080340C30077B
+:101B0000300EA17A5CFB5CFE5CF7103EF20713001E
+:101B1000C053101EEE090147A1AA201CCF310E9917
+:101B20001C98E3CD80800000D401E1BC0000D30309
+:101B3000FE6B0800760AAFDA970A760AADCA970AF2
+:101B4000E3BC0000FEB0FF26D80AD703800019903E
+:101B5000FE6B0000760AA7DA970A760AE01AFF8081
+:101B6000F9DCC007144C970C760CA7BC970C5EFDF3
+:101B7000E0690000EA198000121CF9DCC00EF9EAE5
+:101B800011ECFE7A0800A59BF40B092C5EFD000009
+:101B9000D401E0A0004FE06C08FCEA1C0000783B98
+:101BA0005D1BD80A80001C30D401300CFEB0F40E4E
+:101BB000300CFEB0F47BDA0A800003C8800004A871
+:101BC000FC198000120B1898580A5E0D1739201A5C
+:101BD00010C9CFD15EFD0000D401FE7C0D00FEB027
+:101BE000FDFBA17CD802D703800017D4D401300BB1
+:101BF000FE7C0D00FEB0FDE8D80AD703800017C4B4
+:101C0000FE6B0000760CF9DCC0075EFCD401E0A09E
+:101C10000025D80280001C58D401FEB0FD65D80A0A
+:101C2000800016E4D401FEB0FF29D80A80001A789B
+:101C3000D401FEB0FF7BD80A80001B2878ABE01BE4
+:101C4000FFF899AB5EFD0000300CE3BC00425EFD86
+:0A1C5000E1BC00425EFC00005EFFF4
+:101C5C0000008000000100000002000000040000F1
+:101C6C000006000000080000000C0000001000003E
+:101C7C000000020080001388800013A0FF00000009
+:101C8C000008000080001BC0800012BCFF00000098
+:101C9C000000000000000000000000000000000038
+:101CAC0000000001800012CC800012E40000000053
+:101CBC0000000020800012FC8000132401000000B2
+:101CCC00000000038000134C000000000000000026
+:101CDC00000000048000136C0000000000000000F5
+:101CEC00007A120000B71B0000F424000000000072
+:101CFC00000000000000000080001D200000000813
+:101D0C000000008C00000098000000980000089A69
+:101D20008000032C000000001000000004030904E0
+:101D30000C03410054004D0045004C0008034400D2
+:101D400046005500800013F0800014108000141429
+:101D5000800014F080001C8C80001C9C80001CAC57
+:101D600080001CBC80001CCC80001CDC80001C7C23
+:101D70001201000200000040EB03F82F00010102F5
+:101D800000010000090212000101008002090400A4
+:101D900000000000000000000000002C0000006CAB
+:0C1DA000000000800000005800000084DB
+:040000058000000077
+:00000001FF
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3a0_a1/iar/lnkat32uc3a-isp.xcl b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3a0_a1/iar/lnkat32uc3a-isp.xcl
new file mode 100644
index 0000000..2cbf9df
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3a0_a1/iar/lnkat32uc3a-isp.xcl
@@ -0,0 +1,150 @@
+/******************************************************************************
+ * AVR32 AT32UC3A ISP XLINK command file for AVR32 IAR C/C++ Compiler.
+ *
+ * The assumed memory layout is the one of the AT32UC3A0512:
+ *
+ * Start Stop Name Type
+ * ---------- ---------- ----- --------------
+ * 0x00000000 0x0000FFFF SRAM RAM
+ * 0x80000000 0x8007FFFF FLASH FLASH
+ * 0x80800000 0x808001FF USER FLASH
+ *
+ * Usage: xlink your_file(s) -f xcl-file libraries
+ *
+ * - Compiler: IAR EWAVR32
+ * - Supported devices: AVR32 AT32UC3A
+ *
+ * - author Atmel Corporation: http://www.atmel.com \n
+ * Support and FAQ: http://support.atmel.no/
+ *
+ ******************************************************************************/
+
+/* Copyright (c) 2009 Atmel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an Atmel
+ * AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+ *
+ */
+
+/************************************************************************/
+/* The following segments are defined in this link file: */
+/* */
+/* Code segments */
+/* CODE32 -- Program code used by __code32 functions. */
+/* RESET -- Reset code. */
+/* EVSEG -- Exception vector handlers. */
+/* */
+/* Constant segments */
+/* INITTAB -- Segment initializer table. */
+/* DIFUNCT -- Dynamic initialization vector used by C++. */
+/* SWITCH -- Switch tables. */
+/* ACTAB -- Table of pointers to acall functions. */
+/* */
+/* DATA21_ID -- Initialization data for DATA21_I. */
+/* DATA32_ID -- Initialization data for DATA32_I. */
+/* DATA32_C -- Constant __data32 data. */
+/* */
+/* CHECKSUM -- Checksum segment. */
+/* */
+/* Data segments */
+/* DATA21_I -- Initialized __data21 data with non-zero */
+/* initial value. */
+/* DATA32_I -- Initialized __data32 data with non-zero */
+/* initial value. */
+/* DATA21_Z -- Initialized __data21 data with zero initial value. */
+/* DATA32_Z -- Initialized __data32 data with zero initial value. */
+/* DATA21_N -- Non-initialized __data21. */
+/* DATA32_N -- Non-initialized __data32. */
+/* SSTACK -- The system stack. */
+/* CSTACK -- The application stack. */
+/* HEAP -- The heap used by malloc and free. */
+/* */
+/************************************************************************/
+
+/************************************************************************/
+/* Define CPU */
+/************************************************************************/
+
+-cavr32
+
+/************************************************************************/
+/* Reset code is located at address 0x80000000 and up. */
+/************************************************************************/
+
+-Z(CODE)RESET=80000000-8007FFFF
+
+/************************************************************************/
+/* The exception handler code is located at address 0x80000000 */
+/* and up. Make sure that the exception table gets properly */
+/* allocated. By using the special -Z@ allocation primitive, the */
+/* placement is guaranteed to be at _EVBASE and onwards. */
+/************************************************************************/
+
+-Z@(CODE)EVTAB=80000000-8007FFFF
+-Z@(CODE)EV100=80000100-8007FFFF
+-P(CODE)EVSEG=80000000-8007FFFF
+
+/************************************************************************/
+/* Allocate code and const segments. */
+/************************************************************************/
+
+-P(CODE)CODE32=80000000-8007FFFF
+-P(CONST)DATA32_C=80000000-8007FFFF
+-P(CONST)USERDATA32_C=80800000-808001FF
+
+// Initializers
+-Z(CONST)INITTAB,DIFUNCT=80000000-8007FFFF
+-Z(CONST)CHECKSUM,SWITCH=80000000-8007FFFF
+-Z(CONST)DATA21_ID,DATA32_ID=80000000-8007FFFF
+-Z(CONST)RAMCODE21_ID,RAMCODE32_ID=80000000-8007FFFF
+
+-Z(CONST)ACTAB,HTAB=80000000-8007FFFF
+
+/************************************************************************/
+/* Allocate the read/write segments that are mapped to RAM. */
+/************************************************************************/
+
+-Z(CODE)RAMCODE21=00000004-0000FFFF
+-Z(DATA)DATA21_I,DATA21_Z,DATA21_N=00000004-0000FFFF
+-Z(CODE)RAMCODE32=00000004-0000FFFF
+-Z(DATA)DATA32_I,DATA32_Z,DATA32_N=00000004-0000FFFF
+-Z(DATA)TRACEBUFFER=00000004-0000FFFF
+
+-Z(DATA)HEAP+_HEAP_SIZE=00000004-0000FFFF
+-Z(DATA)CSTACK+_CSTACK_SIZE=00000004-0000FFFF
+-Z(DATA)SSTACK+_SSTACK_SIZE=00000004-0000FFFF
+
+/************************************************************************/
+/* Copy the RAMCODE bytes to the initializer segments. */
+/************************************************************************/
+
+-QRAMCODE21=RAMCODE21_ID
+-QRAMCODE32=RAMCODE32_ID
+
+/************************************************************************/
+/* End of File */
+/************************************************************************/
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3a0_a1/iar/usb_device_dfu_isp.ewp b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3a0_a1/iar/usb_device_dfu_isp.ewp
new file mode 100644
index 0000000..64839c6
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3a0_a1/iar/usb_device_dfu_isp.ewp
@@ -0,0 +1,934 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<project>
+ <fileVersion>2</fileVersion>
+ <configuration>
+ <name>Release</name>
+ <toolchain>
+ <name>AVR32</name>
+ </toolchain>
+ <debug>0</debug>
+ <settings>
+ <name>General</name>
+ <archiveVersion>4</archiveVersion>
+ <data>
+ <version>6</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CoreRevisionSlave</name>
+ <version>1</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ProcessorCoreDyn</name>
+ <state>at32uc3a0512</state>
+ </option>
+ <option>
+ <name>ProcessorCoreSlave</name>
+ <state>at32uc3a0512</state>
+ </option>
+ <option>
+ <name>CodeModel</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>DataModel</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>EnableSimdInstructions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EnableDspInstructions</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>EnableRmwInstructions</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GAllowUnaligned</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GOutputBinary</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ExePath</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ObjPath</name>
+ <state>Release\Obj</state>
+ </option>
+ <option>
+ <name>ListPath</name>
+ <state>Release\List</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelect</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelectSlave</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>RTDescription</name>
+ <state>Use the full configuration of the C/EC++ runtime library. Full locale interface, C locale, file descriptor support, multibytes in printf and scanf, and hex floats in strtod.</state>
+ </option>
+ <option>
+ <name>RTLibraryPath</name>
+ <state>$TOOLKIT_DIR$\lib\dlavr32allasf.r82</state>
+ </option>
+ <option>
+ <name>RTConfigPath</name>
+ <state>$TOOLKIT_DIR$\lib\dlavr32allasf.h</state>
+ </option>
+ <option>
+ <name>Input variant</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Input description</name>
+ <state>No specifier n, no float.</state>
+ </option>
+ <option>
+ <name>Output variant</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Output description</name>
+ <state>No specifier a or A.</state>
+ </option>
+ <option>
+ <name>GUnhandledInterrupts</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GUnhandledExceptions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GTraceBufferSize</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GSStackSize</name>
+ <state>0x0400</state>
+ </option>
+ <option>
+ <name>GCStackSize</name>
+ <state>0x0000</state>
+ </option>
+ <option>
+ <name>GHeapSize</name>
+ <state>0x0004</state>
+ </option>
+ <option>
+ <name>GeneralEnableMisra</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVerbose</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CoreRevision</name>
+ <version>1</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GTraceSelect</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GTraceBufferFull</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GeneralMisraVer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>GEnableNanoTrace</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EnableFpuInstructions</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ICCAVR32</name>
+ <archiveVersion>7</archiveVersion>
+ <data>
+ <version>8</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CCDefines</name>
+ <state>BOARD=DUMMY_BOARD</state>
+ </option>
+ <option>
+ <name>CCPreprocFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocComments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListCMnemonics</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListCMessages</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListAssFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListAssSource</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagSuppress</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagRemark</name>
+ <state>Pa082</state>
+ </option>
+ <option>
+ <name>CCDiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCCore</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCodeModel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDataModel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCRequirePrototypes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMigrationPreprocExtentions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCExt</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCharIs</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCAllowList</name>
+ <version>0</version>
+ <state>1111111</state>
+ </option>
+ <option>
+ <name>CCObjUseModuleName</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCObjModuleName</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDebugInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCDiagWarnAreErr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCompilerRuntimeInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>$FILE_BNAME$.r82</state>
+ </option>
+ <option>
+ <name>CCLangSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLibConfigHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>PreInclude</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CompilerMisraOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIncludePath2</name>
+ <state>$PROJ_DIR$\..\</state>
+ <state>$PROJ_DIR$\..\..\</state>
+ <state>$PROJ_DIR$\..\..\..\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\utils\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\boards\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\utils\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\utils\preprocessor\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\boards\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\gpio\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\pm\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\flashc\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\rtc\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\cpu\cycle_counter\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\usbb\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\services\basic\freq_detect\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\basic\clock\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\usb\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\usb\udc\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\usb\class\dfu\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\usb\class\dfu\device\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\usb\class\dfu\device\atmel\</state>
+ </option>
+ <option>
+ <name>CCStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCStdIncludePath</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ </option>
+ <option>
+ <name>IExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCModuleTypeOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCModuleType</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptLevel</name>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CCOptStrategy</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptLevelSlave</name>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>CCFPIMPLLIST</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCFPIMPL description</name>
+ <state>Use the space efficient but slower implementation unless another module uses the fast implementation.</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>AAVR32</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>AObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ACore</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADiagSuppress</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagRemark</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagWarnAreErr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>APreprocFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>APreprocComments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>APreprocLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADefines</name>
+ <state>BOARD=DUMMY_BOARD</state>
+ </option>
+ <option>
+ <name>AIncludePaths</name>
+ <state>$PROJ_DIR$\..\</state>
+ <state>$PROJ_DIR$\..\..\</state>
+ <state>$PROJ_DIR$\..\..\..\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\utils\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\utils\preprocessor\</state>
+ </option>
+ <option>
+ <name>AListFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ACrossReference</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AMacDefs</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AMacExps</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AOnlyAsmed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ANoDiagnostics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AListOptions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AMnemonicFirst</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADirectiveFirst</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ACaseSensitivity</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ADebug</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AMacroChars</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>$FILE_BNAME$.r82</state>
+ </option>
+ <option>
+ <name>ATruncateLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AModel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AOverrideStandardPaths</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AStandardIncludePaths</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>JAVATOC</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ <settings>
+ <name>CUSTOM</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <extensions></extensions>
+ <cmdline></cmdline>
+ </data>
+ </settings>
+ <settings>
+ <name>BICOMP</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ <settings>
+ <name>BUILDACTION</name>
+ <archiveVersion>1</archiveVersion>
+ <data>
+ <prebuild></prebuild>
+ <postbuild></postbuild>
+ </data>
+ </settings>
+ <settings>
+ <name>XLINK</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>14</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>XOutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>usb_device_dfu_isp.d82</state>
+ </option>
+ <option>
+ <name>OutputFormat</name>
+ <version>11</version>
+ <state>16</state>
+ </option>
+ <option>
+ <name>FormatVariant</name>
+ <version>8</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>SecondaryOutputFile</name>
+ <state>(None for the selected format)</state>
+ </option>
+ <option>
+ <name>XDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AlwaysOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OverlapWarnings</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>NoGlobalCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XList</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>SegmentMap</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ListSymbols</name>
+ <state>2</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>XIncludes</name>
+ <state>$TOOLKIT_DIR$\LIB\</state>
+ </option>
+ <option>
+ <name>ModuleStatus</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XclOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XclFile</name>
+ <state>$PROJ_DIR$\lnkat32uc3a-isp.xcl</state>
+ </option>
+ <option>
+ <name>XclFileSlave</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DoFill</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>FillerByte</name>
+ <state>0xFF</state>
+ </option>
+ <option>
+ <name>DoCrc</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcSize</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcAlgo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcPoly</name>
+ <state>0x11021</state>
+ </option>
+ <option>
+ <name>CrcCompl</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OXLibIOConfig</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XRTSegmentSizes</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RangeCheckAlternatives</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SuppressAllWarn</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SuppressDiags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>TreatAsWarn</name>
+ <state></state>
+ </option>
+ <option>
+ <name>TreatAsErr</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ModuleLocalSym</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcBitOrder</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IncludeSuppressed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ModuleSummary</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>xcProgramEntryLabel</name>
+ <state>__program_start</state>
+ </option>
+ <option>
+ <name>DebugInformation</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RuntimeControl</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IoEmulation</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AllowExtraOutput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GenerateExtraOutput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XExtraOutOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ExtraOutputFile</name>
+ <state>at32uc3a-isp.hex</state>
+ </option>
+ <option>
+ <name>ExtraOutputFormat</name>
+ <version>11</version>
+ <state>23</state>
+ </option>
+ <option>
+ <name>ExtraFormatVariant</name>
+ <version>8</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>xcOverrideProgramEntryLabel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>xcProgramEntryLabelSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ListOutputFormat</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>BufferedTermOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OXImportSlaves</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OverlaySystemMap</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RawBinaryFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinarySymbol</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinarySegment</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinaryAlign</name>
+ <state></state>
+ </option>
+ <option>
+ <name>XLinkMisraHandler</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcAlign</name>
+ <state>4</state>
+ </option>
+ <option>
+ <name>CrcInitialValue</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>OXExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OXExtraOptions</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>XAR</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>XAROutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XARInputs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>BILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ </configuration>
+ <group>
+ <name>drivers</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\flashc\flashc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\pm\pm.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\rtc\rtc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\usbb\usbb_device.c</name>
+ </file>
+ </group>
+ <group>
+ <name>services</name>
+ <group>
+ <name>basic</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\services\basic\freq_detect\freq_detect.c</name>
+ </file>
+ </group>
+ <group>
+ <name>usb</name>
+ <group>
+ <name>class</name>
+ <group>
+ <name>dfu</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\udi_dfu_atmel.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\udi_dfu_atmel_desc.c</name>
+ </file>
+ </group>
+ </group>
+ <group>
+ <name>udc</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\udc\udc.c</name>
+ </file>
+ </group>
+ </group>
+ </group>
+ <file>
+ <name>$PROJ_DIR$\..\..\boot.s82</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\intc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\isp.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\main.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\sysclk.c</name>
+ </file>
+</project>
+
+
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3a0_a1/sysclk.c b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3a0_a1/sysclk.c
new file mode 100644
index 0000000..f46e1b1
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3a0_a1/sysclk.c
@@ -0,0 +1,187 @@
+/**
+ * \file
+ *
+ * \brief Part-specific system clock management
+ *
+ * Copyright (C) 2010 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#include "preprocessor.h"
+#include "compiler.h"
+#include "board.h"
+#include "pm.h"
+#if UC3C
+#include "ast.h"
+#else
+#include "rtc.h"
+#endif
+#include "cycle_counter.h"
+#include "flashc.h"
+#include "freq_detect.h"
+
+/*!
+ * Detects extern OSC frequency and enable USB clock
+ */
+void sysclk_init(void)
+{
+ int mul;
+
+ // Switch to OSC ISP
+ // Set max startup time to make sure any crystal will be supported
+ // We cannot use a TC to measure this OSC frequency
+ // because the master clock must be faster than the clock selected by the TC
+ pm_switch_to_osc0(&AVR32_PM, 16000000,
+ AVR32_PM_OSCCTRL0_STARTUP_16384_RCOSC);
+ // Initialize the RTC with the internal RC oscillator
+ // RTC will count at the frequency of 115KHz/2
+ rtc_init(&AVR32_RTC, RTC_OSC_RC, 0);
+ rtc_enable(&AVR32_RTC);
+
+ // Detect the frequency
+ // mul = (((96000000 / freq_detect_start())/2)-1)
+ switch (freq_detect_start()) {
+ case 8000000:
+ mul = 5;
+ break;
+ case 16000000:
+ mul = 2;
+ break;
+ case 12000000:
+ default:
+ mul = 3;
+ break;
+ }
+
+ // Set PLL0 VCO @ 96 MHz
+ pm_pll_setup(&AVR32_PM, 0, // pll
+ mul, // mul
+ 0, // div
+ 0, // osc
+ 63); // lockcount
+
+ // Set PLL0 @ 48 MHz
+ pm_pll_set_option(&AVR32_PM, 0, // pll
+ 1, // pll_freq
+ 1, // pll_div2
+ 0); // pll_wbwdisable
+
+ // Enable PLL0
+ pm_pll_enable(&AVR32_PM, 0);
+
+ // Wait for PLL0 locked with a 10-ms time-out
+ pm_wait_for_pll0_locked(&AVR32_PM);
+
+ // Use 1 flash wait state
+ flashc_set_wait_state(1);
+
+ // Switch the main clock to PLL0
+ pm_switch_to_clock(&AVR32_PM, AVR32_PM_MCCTRL_MCSEL_PLL0);
+
+ // fPBA: 12 MHz
+ // fPBB: 12 MHz
+ // fHSB: 12 MHz
+ pm_cksel(&AVR32_PM, 1, // pbadiv
+ 1, // pbasel
+ 1, // pbbdiv
+ 1, // pbbsel
+ 1, // hsbdiv
+ 1); // hsbsel
+
+ // Use 0 flash wait state
+ flashc_set_wait_state(0);
+}
+
+
+/*!
+ * Reset the generation of system clocks and switch to RCOsc
+ */
+void sysclk_reset(void)
+{
+ flashc_set_wait_state(1);
+ pm_cksel(&AVR32_PM, 0, 0, 0, 0, 0, 0);
+ pm_switch_to_clock(&AVR32_PM, AVR32_PM_MCCTRL_MCSEL_SLOW);
+ flashc_set_wait_state(0);
+ pm_pll_disable(&AVR32_PM, 0);
+ pm_pll_set_option(&AVR32_PM, 0, 0, 0, 0);
+ pm_pll_setup(&AVR32_PM, 0, 0, 0, 0, 0);
+ pm_enable_clk0_no_wait(&AVR32_PM, AVR32_PM_OSCCTRL0_STARTUP_0_RCOSC);
+ pm_disable_clk0(&AVR32_PM);
+ pm_enable_osc0_ext_clock(&AVR32_PM);
+}
+
+
+void sysclk_enable_usb(void)
+{
+ // Setup USB GCLK
+ pm_gc_setup(&AVR32_PM, AVR32_PM_GCLK_USBB, // gc
+ 1, // osc_or_pll: use Osc (if 0) or PLL (if 1)
+ 0, // pll_osc: select Osc0/PLL0 or Osc1/PLL1
+#if UC3A3
+ 1, // diven
+ 1); // div
+#else
+ 0, // diven
+ 0); // div
+#endif
+
+ // Enable USB GCLK
+ pm_gc_enable(&AVR32_PM, AVR32_PM_GCLK_USBB);
+}
+
+
+void sysclk_disable_usb(void)
+{
+ pm_gc_disable(&AVR32_PM, AVR32_PM_GCLK_USBB);
+ pm_gc_setup(&AVR32_PM, AVR32_PM_GCLK_USBB, 0, 0, 0, 0);
+}
+
+
+void freq_detect_iface_ref_cnt_reset(void)
+{
+ rtc_set_value(&AVR32_RTC, 0);
+}
+
+int freq_detect_iface_ref_cnt_value(void)
+{
+ return rtc_get_value(&AVR32_RTC) * 2;
+}
+
+void freq_detect_iface_target_cnt_reset(void)
+{
+ Set_sys_count(0);
+}
+
+int freq_detetc_iface_target_cnt_value(void)
+{
+ return Get_sys_count();
+}
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/iar/at32uc3c-isp.hex b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/iar/at32uc3c-isp.hex
new file mode 100644
index 0000000..ecd19b0
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/iar/at32uc3c-isp.hex
@@ -0,0 +1,504 @@
+:0200000480007A
+:10000000E1B80000F1D8C2C35818C090FEC8FFF094
+:10001000FC190061E06D0DF4D041D6033008FE7983
+:100020001000E06A01FCEA1A8080FE7B0400700088
+:10003000E061504BEA1149537402E06301070494F4
+:10004000C76CC141E7D2C210E043E11EC0F1EDB27E
+:100050000009C0C3F6F30180E06423170873C131BF
+:10006000EDB30003C3830230C3C1C53C9101E06D11
+:100070000E0CD353FEC00074E3B00001E0A00CF8F6
+:10008000E0A00D98EDB20008C262E06A01F8EA1A39
+:1000900080807402E06301070494C49CCE71E7D2AF
+:1000A000C22FE043494FCE21E7D2C108E043007C94
+:1000B000CDD2FE7A2000E6041605A974080A7584DC
+:1000C000E013001FE8030A44E7D2C2010654EDB46E
+:1000D0000000CCC20230C051C1CC300830009100C9
+:1000E000FC100061E3B0000030003001300230034A
+:1000F000300430053006300730083009300A300B44
+:10010000300C300D300EE3B00001E3B0004248BFC8
+:10011000FC1255009302EE12FF0093021C9FE805AB
+:100120001200EA051117E60509450A54E04400FFEC
+:10013000FE9BFFF758045EF480002000308A310CEB
+:10014000FE6B10047609AD99C1837609A589C55364
+:10015000FE6A18003019763EA19EC5727608A198F5
+:10016000C542740BAFCB950BFE6B10049749975C9F
+:10017000740CAFAC950CC6D8FE691220930C930A90
+:10018000FE6911307208A398C042E0A0019DC61814
+:100190007208A388C042E0A0025FC5B87208A198A7
+:1001A000C092FE6811C0700EA19EC042E0A001E4A2
+:1001B000C508E06E0980EA1E00007D08720EA58E5B
+:1001C000C08293CA720CA19CC4435838C421C0F8A1
+:1001D000720EA59ECBB293CC720CA38CC3A35818FD
+:1001E000C041E0A002A5C3585848C331E86C0000E4
+:1001F000FE6B11C097CCC2D8971AE0A00521E0A0F1
+:100200000107E0A0014DC258763EA59EC1227608A6
+:10021000A598C0F27408AFC89508FE6A1800741853
+:10022000AF98C043760AA19ACF92974C9759C118BC
+:10023000741BA38BC0E2740CAFCC950C302C952CA6
+:10024000740CAFAC950C741CF9DCC161E0A00CC45B
+:10025000FE6C1800786BD603800004C4800006543E
+:10026000800005748000072C80000C3C8000040C8A
+:100270008000049C80001BD4E1BC0000D3035EFC22
+:100280005EFF0000D421E0A00CB5CF7F1897FE667A
+:1002900018006C0CAFDC8D0C6C0C300AE06B0100AC
+:1002A000E06C013CEA1C8000E0A00CF06C0CB9BCD6
+:1002B0008D0C6C0CB9CC8D0C6C0CADCC8D0C6C0C0D
+:1002C000ADAC8D0C6C0CAFBC8D0C6C0CAFCC8D0C34
+:1002D0006C0C6C1BAF9BCFE2E0690980EA1900004F
+:1002E000300A300BF2EB0020F2EB0028F2EB00308A
+:1002F000F2EB00386CCB2E098DC9FE6C1000780B28
+:10030000ADCB990B780BE81B0C00990B6C0CA1BCC6
+:100310008D0C6C0CAFAC8D0CFE7C0588780BA1AB02
+:10032000990BB197C023D503D82AD70380001BF0BF
+:1003300080001C88D421CA1F1897FE6C1800780B07
+:10034000AFDB990B780BADCB990BE0A00C61B197AB
+:10035000C023D503D82AD70380001C0CD421C8DFC2
+:100360001897FE6618006C0CAFCC8D0C6C1BAF9B05
+:10037000CFE2FE6C1000780BA9CB990BE0A00460D3
+:10038000C46CC8DC308CFE6B1000976C301BFE6AAE
+:100390001000956B310AFE691000936A932C304C63
+:1003A000932C933B932A6C0CAFAC8D0CB197C0236C
+:1003B000D503D82A80000C3CFE6C1800780BAFCB1C
+:1003C000990BFE6C1000780BA9AB990B5EFD000039
+:1003D000FE6B1000760AA7DA970A760AE01AFF8009
+:1003E000F9DCC007144C970C760CA7BC970C5EFD8B
+:1003F000FE6B1000760CF9DCC0075EFCE06A098039
+:10040000EA1A0000952CB46B5EFD0000D401FE6C6E
+:100410001000780BE01BFF80990B780BA7BB990BA2
+:10042000FE6C1100780B308A3409F20A0C4AE0693C
+:100430000400F4090D4AE01BE68B3FF9F20A001AAA
+:10044000F4091200F20A111CA56AE21A1974144B7D
+:10045000990BE06C0980EA1C0000F8CBFFBC998B7B
+:10046000789BE41B8000999BFE6C1000787BA1AB0D
+:10047000997BFC1C0100FE6B11F097CCCFEEFE6B5C
+:1004800011F0304A970A302A970AE06B1000FE6A92
+:100490001000956BB19CC023D503D80A301CFE6BAD
+:1004A0001220970C302CFE6B1160970C300CE06B17
+:1004B0000980EA1B0000974C975CB66CF74C004033
+:1004C0005EFD0000D421E0670980EA1700006F0C90
+:1004D000580CC030C5EDCE3FFE6611F0FE651160D0
+:1004E00030446E9CF9DCC00F588CC090305CEF4CEF
+:1004F0000040E86C00008D0C8B04D82AEEEA004422
+:10050000AF1BF9DBC0105CCCAE1C8EAC5CCCAE2C4F
+:10051000F9DAC0105CCCAE3CE0A004E8CE808B04DD
+:10052000E06C0A04EA1C0000300B0F8AA98AC0F2B2
+:100530008EEAF5DAC006F40915105F0AB88AB81B0E
+:10054000B82B302CEF4C0040C16CD82A8EBA580A18
+:10055000C031CEDCD82AB81BB82B301CEF4C004081
+:1005600031078B07C8AE8D07B19CC023D503D82AAD
+:1005700080000EE8D431E0630278EA1380005D1356
+:100580003017FE6B11F097C7B19CC023D503E0660E
+:100590000980EA1600006D0C583CC041CFACC7FF83
+:1005A000D83A8CECE0650A04EA1500008AA4182405
+:1005B0005C74C1F10B8B580BC031CD5CD83A300262
+:1005C0008A9B160C8CBB163CC0656C5C580CC0300A
+:1005D0005D1CC031AA82C1188AAC8A9B180BAA1B69
+:1005E000AA228CE4F9D4C006F80B15105F0CAA8C73
+:1005F000E0440041F9B404405D13FE6B1130760A0B
+:10060000A38AC082B19CC023D503304CED4C00407E
+:10061000D83A6C298AAB1609089BECCEFFBC58046B
+:10062000C0501338201B1CC8CFD18AAB080BAA2B93
+:100630006C9BE01B8000E9D4C00F16448D94FE6BC8
+:10064000113097C7FE6B11F09707B19CC023D503FB
+:10065000D83A0000D431E0670980EA1700006F0C37
+:10066000FE6611F0E86500003054581CC0C0582CDC
+:10067000C030584CC031C8DCC048EF4400408D0544
+:10068000C0EFD83A6E9BF7DBC00FE0630A04EA13B1
+:10069000000086AC189A8EE9F80B00081039C044A7
+:1006A000F20C010B5C7BEEC9FFBC6E2C180A169C89
+:1006B000149E580BC0501338201C1CC8CFD186ACD8
+:1006C000160CA62C5C7CFE6211603021E04B0040D1
+:1006D000C061869B180B8EBA143BC0F5AE6C6E5C85
+:1006E000580CC0805D1CC061EF4400408D05850141
+:1006F000D83A8501C1CCD83A8EEBF80B1900C0C1AD
+:100700006E5C580CCF205D1CCF0086AC869B180B0E
+:10071000A61B300CA62C850131078507FEB0FDAE67
+:100720008D07B19CC023D503D83A0000D401E06CFA
+:100730000980EA1C0000303BF94B0040789BE01B2D
+:100740008000999BFEB0FD9AFE6B1160301A970AEB
+:10075000FE6911F0930A308A970A930AB19CC0236C
+:10076000D503D80AD401304CE06B0980EA1B0000A5
+:10077000F74C0040FEB0FD82310BFE6A1160950B14
+:10078000FE6A11F0950BB19CC023D503D80A000076
+:10079000D401E06B0980EA1B0000764C580CC020A5
+:1007A0005D1CD80AFE6C000C780BE06A1D34EA1A56
+:1007B0008000F7DBC004F40B032CA99C5EFC000056
+:1007C000FE6A00007409A7C9340BF7EC006C124CE8
+:1007D000950C5EFDFE6B0008760CA19CCFC25EFD01
+:1007E000D42118951697E0660008EA160000F01666
+:1007F0000000FE6C0004780BE01BFFC0EBD5C006C8
+:1008000016455807C0A6E01500FFE415FF000A9B37
+:10081000EBD7C010F7E51085EBD5C018EA15A50099
+:100820009905781CE21C000C8D1CF0160000D82ADB
+:10083000FE6B0008760CF9DCC0815EFCD4013FFB46
+:10084000309CCCFFD80A0000D401F60A1518304AB3
+:10085000F9BA0005189B149CCC4FD80AD4211896DD
+:100860001697CA1F0E9BA58CB9360C9CCEEFD82AC2
+:10087000D42118973006310520150E9B0A9CCEFF17
+:10088000E06B0008EA1B0000761C18465805CF51A3
+:100890009716D82AFE6B00147618760A3009144988
+:1008A000F9DCC006EDBC0005F2081730F00C0A4870
+:1008B000A1985F3C5EFC0000D42118971696F7DCE7
+:1008C000C006308CC8EFEC0C1518C0400E9CCE3F13
+:1008D000D822DA2AD401F60A1518C061F9DCC0065C
+:1008E000189B307CC7EFD80AD401F60A1518300BD4
+:1008F000C030CE3FD80ACEFFD80A0000D401189BE2
+:1009000030CCFEB0FF6FFE6B0008760CF9DCC0A1A6
+:10091000D8020000D42116973016189B302CFEB058
+:10092000FF61EE0C1518C0C0E0670008EA17000070
+:100930006E153FFCCE4F18966E1C18458F150C9CFB
+:10094000D8220000D4013FFB30FCFEB0FF4BFE6B11
+:100950000008760CF9DCC0A1D8020000D421189759
+:100960003FFB30ECFEB0FF3EEE0C1518F9BC000169
+:10097000C020CE9FD8220000D671204D3001300318
+:10098000FE6C000C7809FC188000E06E1D34EA1E35
+:100990008000F3D9C004FC09032C180850284056E5
+:1009A00016970C0A1495FC1C80001836C0825C3621
+:1009B000160618060C97FC168000C0D81036C0B377
+:1009C000FC1C80801836C0725C36160618060C9720
+:1009D000FC168080E06C0201EA1C8080183AC0633B
+:1009E000E0650200EA158080C098301CEA1C808017
+:1009F000183AC0421438FBF530020A9CA1CCE01C26
+:100A0000FFFCE01CFFF8503CE5D5C003C0E8580BE4
+:100A1000C050300CCA4F681C18433FFB30DCFEB09E
+:100A2000FEE1069C68131843E0640008EA14000025
+:100A30000A36E08200AA3FFB303CFEB0FED3681CC1
+:100A400018430C99E019FE00F2CCFE00403AF40C79
+:100A50000D4E0A9CE01CFE0018395F2CF7D6C00929
+:100A6000C2200C90E010FFF8C038B30AB32A003956
+:100A7000CFD3F7D6C003C1703008133AFA080B0A77
+:100A80002FF81638CFB35888C0620F3BFA080B0B0B
+:100A90002FF8CFAB0096403A1430C042BB0AAD2AC3
+:100AA000C0283011A39EEC0B1603161E1C98303B79
+:100AB0000E6B167BC040202BC080C1E85808C1E0F7
+:100AC000AF0BAD2A2018CFBB5808C180300B0F2ABE
+:100AD000FA0B0A1A2FFB584BCFB3BB0AAD2A2018CA
+:100AE000CF4B300B0F3AFA0B0B0A2FFB588BCFB3BF
+:100AF000BB0AAD2A20185808CF51F80B1518C200B0
+:100B0000E20C1518C0300498C0983008C0580F3C4B
+:100B1000FA080B0C2FF80438CFB30A995802C061B9
+:100B2000C0C8133CFA080B0C2FF85888CFB3BB0A87
+:100B3000AD2AC038B30AB32AF9D9C009CFC1301CD5
+:100B4000EA1C80801836FB3B001BFE92FF62580BAC
+:100B5000C070300B3FFCFEB0FEDF681C18433FFB4B
+:100B6000301CFEB0FE3F069C68131843402B16361F
+:100B7000FE93FF5C5C360E06FC1C808018060C970A
+:100B8000FC168080C52B8913405C2FCDDC720000E1
+:100B9000D401E06A00F4EA1A000015895809C0215E
+:100BA000D80AE06A00E8EA1A00007418700913C84D
+:100BB000F00C1800CF6295297418700E1DB92FEE35
+:100BC000FDD950005CC9202E5C791C09C048118EEB
+:100BD0001C08952874281238CE42119E584ECF8199
+:100BE00011AEFC0C1800CF4111BEFC0B1800CF0158
+:100BF000DA0A0000D4211897300BCCBFC021D82AC4
+:100C0000E06C00E8EA1C0000781B761CF8070F8BEC
+:100C1000761C5D1CDA2A0000D4211897CBAFC021C6
+:100C2000D82AE06C00E8EA1C0000781B761CF80764
+:100C30000F8BF01B00005F1CD8220000D421E0675E
+:100C400000E8EA170000E06600F4EA1600000D8CE8
+:100C5000580CC0C03005C0580A9CCCDF2FF55C553D
+:100C60006E1C780B17CC1835CF85300CAC8CE06C33
+:100C70000100AE1CD82A0000D401E06B0980EA1BF9
+:100C80000000969CF9DCC007FEB0FBA4D80AD7038D
+:100C9000800003D0D421E0670980EA1700008E9B12
+:100CA000F3DBC008E06800D4EA180000E06A03FC47
+:100CB000EA1A8000F60C1608201CC060201CC0E058
+:100CC000201CC210D82A700C198B5D1A8EBC8EEBBA
+:100CD000F60C1900EFFC3C06DA2A700CF93B001107
+:100CE0001639C025D82A701BF609033C19BB2FEC16
+:100CF000F9DB50005CCB5C7B202C5D1A302C6E2B1A
+:100D0000B69CCE5BE06C0014EA1C00005C5B167BBA
+:100D1000C060201BC070201BC180D82A304B2E4CD5
+:100D2000CD5B305BF8C9FFE03008F208070E5CCEFF
+:100D3000F8080016AC1E2FF81638CF853029F20BB4
+:100D4000001BB88B5C5BCC2B30CBF8C9FFD8CEDB5B
+:100D5000D431E0660980EA1600000D8CE06500F4ED
+:100D6000EA1500000B8BE06700E8EA170000EDBC15
+:100D70000007C4828CBAF4091510C021D83AF9DCF6
+:100D8000C005E06403FCEA148000580CC1A10D9C6E
+:100D9000187CC060206CC0C0202CC0C0D83A582A33
+:100DA000C020D83A302BEECCFFFE5D14DA3AC73FB4
+:100DB000D832581AC020D83A301B0A9C5D14DA3A4F
+:100DC000581CCDD10D9C58ACCDA1581AC020D83A92
+:100DD000F60C1518CFD08CA55C556E1C780B17CC73
+:100DE0001835CF64300B0A9CCD4ECF206E1C781B7B
+:100DF000F605032C783B5D1BAE8C301B0E9C5D14FE
+:100E0000DA3AF9DCC005E0640C18EA148000580CEA
+:100E1000C4F10D9C201CC140202CCB10202CC060A4
+:100E2000202CCAD0202CC180D83A8CBC580CC020B1
+:100E3000D83AE06C0C78EA1C80008D4CDA3A8CBC15
+:100E4000580CC020D83A8C9C581CCFD18E9CE21CE8
+:100E5000FDFFAE1CDA3A8CBC580CC020D83AFEB06C
+:100E6000FAC9CFD0E06300D4EA130000660CF93B66
+:100E700000118C9CF80B1800CF23CE1E8C9CAA8CE2
+:100E80005C5CF80B1518C021DA3A661BF60C003BC7
+:100E9000208B8F1B30066E1C780B17CC1836CF5466
+:100EA000300B0C9C5D14CDB02FF65C56CF5B581CFC
+:100EB000FE91FF660D9C58BCFE91FF628CBC580CE5
+:100EC000C030300CC0E8F60C1518CFC08CA55C55AE
+:100ED0008C975C570A9CC8FECF500E9B0A9C5D14F1
+:100EE0005C5CD832800003F0D421300CE0670980CC
+:100EF000EA170000AE6C8F4C8F5C0F8CEDBC0007C6
+:100F0000C0528EBB580BC021D82AE21C0060C041E1
+:100F1000C20FC020DA2A0F8CF9DCC005581CCF5153
+:100F2000E06C00F4EA1C0000198B580BCEE08EA692
+:100F30005C56E06700E8EA1700006E1C780B17CCDF
+:100F40001836CE34E0650B90EA158000300B0C9C0F
+:100F50005D15CDB06E1C781BF60603276E3C5D1C3C
+:100F6000F7DCC0080C9C5D15CD006E2C5D1CCD31EE
+:100F7000D82A0000D401C65CE0A003B2E0A003C2FE
+:100F8000E06B00F8EA1B0000F76C0008DA0AD703F0
+:100F9000800016DC800017005EFD0000D421E065B3
+:100FA0000980EA1500000B8C189BE21B0060E04BE7
+:100FB0000020C020D82A0B9BE06603FCEA168000C4
+:100FC000E06700F8EA170000A98CC162202BC0F08E
+:100FD000201BC301E06C0120EA1C0000198B580B98
+:100FE000C020C33D306B0E9C5D16DA2A6E6C580C27
+:100FF000C2105D1CD822201BC050203BC1B1C21CB6
+:10100000DA2A6E7C580CC0A0300CE0A003CBE06C58
+:101010001060EA1C80008B4CDA2A340BE06C01244F
+:10102000EA1C00005D16E06C1070EA1C80008B5C0E
+:10103000DA2A30FCAE8C30ACAECCD82A5EFD000093
+:10104000300CE06B00F8EA1B0000B68C302AB6CA00
+:10105000E06A0980EA1A0000955C954C977C5EFD79
+:10106000D401E06C00F8EA1C0000787B5D1BD80A14
+:10107000D431201DCE6FE06700F8EA1700000E960D
+:1010800030048F64301CE0A0038DE06A0964EA1A22
+:101090000000EF3C000815831863E06C0124EA1C93
+:1010A000000019A9E0650164EA150000E0681294E7
+:1010B000EA188000E06000FF30A23031198E199BE1
+:1010C000F7EE108EE02E0100C0F0E02E0200C2D03C
+:1010D000201EC430E02E00FFC6F0203EC710E02ED8
+:1010E0000200C7E0CAC8E60B1518C050AE81302C0C
+:1010F000AECCCA586E5B580BC041AE81AEC2C9F8C7
+:101100002FEC5D18E080009CE06B08000A9CFEB0AC
+:10111000F977E06C1C28EA1C8000E06B0980EA1B70
+:101120000000975C301CC8C82FEC5D18E080008878
+:101130006E4C580CC041AE81AEC2C818E60C1518F2
+:10114000C060E06C1280EA1C8000C058E06C12D8CD
+:10115000EA1C80008F6CCE7B2FEC5D18C7006E4CB4
+:10116000580CC041AE81AEC2C6A86E9C580CCDB022
+:10117000E06B0800F80B0D445C74081C8F9C089A07
+:101180006E8B0A9C6E495D190A9CC0486E8B2FFBC2
+:101190008F8B089BFE3400015C74F60A1510CE603C
+:1011A000193B003BCF40305CAE8CE06C1304EA1C72
+:1011B00080008F6CCB8B0039C421C47CC418127999
+:1011C000C0402019C070CAFBE06C1768EA1C8000A0
+:1011D000C058E06C1784EA1C80008F7CCA4B19BB96
+:1011E0001279C0402019C200C9EB591BC055308C80
+:1011F000AE8CAEC2C248583BC080582BC060584B22
+:10120000C040585B5F1CC028300CB48C2F47E06C8A
+:10121000005CEA1C0000F80B0F8AB509AF2815081E
+:101220000EA88D84C80B300A500ABA8B19CBBA9B12
+:10123000400B6E3C183BCDC28F8BC75B300C2FFD33
+:10124000D832D703800017A0D421E06700F8EA174E
+:101250000000E0A00263C070300CEF6C0008300B9F
+:10126000302AC048301C309B304AAECAAE8BE06B8F
+:101270000120EA1B0000B68CDA2AD7038000171879
+:10128000E06C00F8EA1C0000303BB88B302BB8CB88
+:101290005EFD0000E06B00F8EA1B00007689E619AD
+:1012A000FFFF198AA96A1409199A120A978A1498D1
+:1012B000E618FFFF19A9A969120819B91009763CA7
+:1012C0001839C063308CB68C30ACB6CC5EFD122AB7
+:1012D0002FFA979A5EFF0000D421E0670164EA17B5
+:1012E0000000E06600F8EA1600006C9A5C7A6C8BED
+:1012F0000E9C6C495D196C9B5C7B0E9CFEB0F8806B
+:10130000DA2A0000D401E06C00F8EA1C0000788BB7
+:10131000E06C0164EA1C0000F60A1608B88AB89B63
+:10132000302BFEB0F86DDA0A800003FCE07B86A06B
+:10133000FE7A0814740918695E1D201BCFA15EFE99
+:10134000D421FE780818E06E1200EA1E007AE067E9
+:10135000C6C0EA17002DEC76BBA0580CC2414A3536
+:101360006A0CA1AC0C3BC0323009C0980E3BC032B5
+:101370003019C0581C3B3029F9B90203189EE01EF1
+:10138000FFF9306CF9E900191C49129BE1BC00001F
+:10139000D3033249EA19AA0091098B0BB19CC243CD
+:1013A000D503D82A49256A0C1895A1A50C3BC03253
+:1013B0003009C0980E3BC0323019C0581C3B302950
+:1013C000F9B90203E015FFF9306CF9E9001912458B
+:1013D000E1BC0000D3033289EA19AA009109484907
+:1013E0009305B19CCDE2D82AFFFF0824FFFF08280F
+:1013F000D401202DA36CFE790824F20C0308FA0C0A
+:101400000908109EE01EF0FFA96BE21B0F001C4BA9
+:10141000B1ABFA0C090BE1BB0000D303F8C8FFDC49
+:10142000EA18AA00FE7E08189D08FA0C030EF20CBA
+:10143000090EB19BC023D503F40C1518C060301CF5
+:10144000C76FC0303FFCC028300C2FEDD802000021
+:10145000D401202DA36CFE7A081CF40C030BFA0CAB
+:10146000090B1699E019F0C1E419C0F0FB38001C13
+:10147000306BF7E800181049FB38000CFB3E000EFB
+:10148000F1EE1018FB3E000DF1EE1028338BF7E85B
+:10149000003810494058A968E2180F001049404828
+:1014A000EE7B0000F7E8010810494068B968E618CB
+:1014B0003F001049FA0C0909E1BB0000D303F8C949
+:1014C000FFE4EA19AA00FE7808189109FA0C03084B
+:1014D000F40C0908B19BC023D5032FEDD80A0000F6
+:1014E000202DA36CFE7B081CF60C030AFA0C090ADB
+:1014F0001499A1A9FA0C0909E1BA0000D303F8C9AB
+:10150000FFE4EA19AA00FE7808189109FA0C03080A
+:10151000F60C0908B19AC023D5032FED5EFD00003B
+:10152000202DA36CFE7B081CF60C030AFA0C090A9A
+:101530001499A1C9FA0C0909E1BA0000D303F8C94A
+:10154000FFE4EA19AA00FE7808189109FA0C0308CA
+:10155000F60C0908B19AC023D5032FED5EFD0000FB
+:10156000FE7B0814580CC051760CA59C5E3DCFDB69
+:10157000760CA78CCFE25EFDE07B86A0FE7A086445
+:10158000F40C002A740CA1CC950C740CA19C5E2D5B
+:10159000201BCFC15EFE0000D43116971495300396
+:1015A000F20616012016FE740864E80C0024680B8D
+:1015B000A19BC0623013CE1FC0373FFCD832B1664A
+:1015C000E61600FF302CF9E500150C45A967E21777
+:1015D0000F000A4789075813C041680CA1AC890C59
+:1015E000D83A0000D4013009FC188000100CFEB07D
+:1015F000F9C5D80AD4211897F40C1510C040FEB0D4
+:10160000F919AE8CD82AD70380000830D401F40C25
+:101610001510C060178C580CC030FEB0F911D80AF4
+:101620008000083CD421189516971496C0680E9C2B
+:10163000FEB0F9322FF70ACC0C9CFE360001F80BF5
+:101640001510CF61D82AD70380000894D4211896AA
+:1016500016951497C0680B3B0C9CFEB0F9472FF60B
+:101660000E9CFE370001F80B1510CF61D82AD70366
+:10167000800008E8E0690010EA190000F60B001B82
+:1016800016091898580A5E0D133B201A10CBCFD1BB
+:101690005EFD0000E06900E0EA190000F20B00299D
+:1016A0001898580A5E0D133B201A10CBCFD15EFD5F
+:1016B000FC198080120B1898580A5E0D1739201AF1
+:1016C00010C9CFD15EFD0000D4013019FC18808014
+:1016D000100CFEB0F953D80A80000978E5BC000070
+:1016E000E06B00E0EA1B0000F80A1601B68AF80A6F
+:1016F0001614B69AF80A160CB6AABD8CB6BC5EFDD6
+:10170000D401201D301A300B1A9CC75F1B8B580B5D
+:101710005F1C2FFDD8020000D421E06700E4EA1727
+:1017200000008E8C580CC071FEB0F83EAE0C300C30
+:10173000FEB0F8A0E0660080C0D85806C0F0FE3CBD
+:101740000001AE0C300B5C7CFEB0F8E6FE36FF010B
+:101750005C568E8C580CCF21DA2AD82A800007A438
+:101760008000087080000914D303FE7C1000E06B39
+:101770000A03EA1B5501990BE06B0A03EA1BAA0155
+:10178000990BC008D401FEB0F5D7E0A000BBFEB0B5
+:10179000F4A6D80A8000033480001900800000DA23
+:1017A000D401201D300BE06A01FCEA1A8080740924
+:1017B000A9D9F3EC109C500C318C4009F20C0A4A68
+:1017C0005C5A145BA96B5C7B308AEDBB000FC04296
+:1017D000EC1B83805C7BA17B5C7B201ACF71A98B87
+:1017E000208CCEC1129AE01AFF00144B500B304AE5
+:1017F0001A9BE06C01FCC69F2FFDD80AD42120ADB6
+:10180000E0672400EA1700F40E9B300CFEB0FD9A4E
+:10181000301A306B300CFEB0FDED0E9CE0A0015E86
+:10182000E0671CA8EA178000301C5D173009300AF9
+:10183000300BFE7C0C00E0A0019BC021C008FE7CA8
+:101840000C00E0A001A5E0A0009F4ABB161CC04010
+:10185000161CC040C058305CC048302CC028303CFA
+:10186000300BFB6B002433FA508A507B506C301CD9
+:10187000FB6C0016FB6B0015FB6C0014FACCFFEC44
+:101880001A9B3149190A16AA2049CFD1300CFEB053
+:10189000FDE1300CFEB0FE26300CFEB0FE63E066CB
+:1018A00007C0EA168000301C5D16303C5D17E0670B
+:1018B0001B24EA178000301B300C5D17301B301CD6
+:1018C0005D17301B303C5D17301B302C5D17301B13
+:1018D000304C5D17300C5D162F6DD82A80001340F8
+:1018E000800013F080001AD880001B6C80001B8CD5
+:1018F00080001984007A1200800014E080001560D6
+:10190000D42120ADE06707C0EA178000301C5D17C6
+:10191000E0661B24EA168000300B300C5D16300B9D
+:10192000301C5D16300B303C5D16300B302C5D16D4
+:10193000300B304C5D16300CE0A001B8300C5D1758
+:10194000300CFEB0FDEF300CFB6C0024508C507C52
+:10195000506CFB6C0016FB6C0015FB6C0014FACC91
+:10196000FFEC1A9B3149190A16AA2049CFD1300C35
+:10197000FEB0FD702F6DD82A80001CA880001520B5
+:1019800080001450D431205DFACCFFF8E06B1D7C50
+:10199000EA1B8000B709B928170818A83FF73FF4D9
+:1019A000E0661D0CEA1680005D16E0A001A7501C41
+:1019B000E0651D20EA1580005D15E0A001B71890D4
+:1019C0005D165D15300330053006C2181830C1F4BD
+:1019D000401B0A3BC1C41615F8000106EC0B141F8E
+:1019E000E072D330EC020648F6020349109A129BCB
+:1019F0000A98EA09141FE0A001311493580AC07034
+:101A0000400C141C5C4CE04C2711C12550030A9279
+:101A10000C91E0A001731895E0A001881896043598
+:101A2000C035023CCD445803C031300CC178300C75
+:101A3000FACAFFF8F40C032B062B083BF604173008
+:101A4000F80717302FFC583CCF435BF7E60C170024
+:101A5000C050FACBFFF8F607032C2FBDD832D703BE
+:101A600080001C5880001CF880001D28EBCD40FE33
+:101A7000E06C1E54EA1C8000E06E1E6CEA1E8000C2
+:101A8000300A300B190719061905EFE61003E7D3E2
+:101A9000C002C1C1EA041603C1900C37C090AF095F
+:101AA0002014AD28CFD1EBD5C003C121C0B820147C
+:101AB000AD2ACFE1EBD5C003C050300220150CC2D7
+:101AC000CFD11C3CCE03E3CF80FE0C37CF700F315B
+:101AD00020150CC1CEBB0000D4211897E06607E0AA
+:101AE000EA168000E06B07C0EA1B8000E06C8A41C8
+:101AF000EA1C01F71837C103301C5D1BE06C148130
+:101B0000EA1C03EF18373FFBC042311C5D16D82A90
+:101B1000310C5D16D82A300C5D1B3FFB311C5D1665
+:101B2000D82A0000D401FE790404720AFE7904D494
+:101B30007208A788C0333FFCD802E1B90000D30384
+:101B40003048F00C0028EA18AA00FE7E04589D08D0
+:101B5000E01AFFF8F7DBC003144BA7BBFE7A0404BE
+:101B6000F40C092BB199C023D503D80AD4017828E5
+:101B7000BD98CFE3A96BA1ABF94B0040B16A990ABC
+:101B8000782BB99BCFE3129BC0CCDA0A782BB99B98
+:101B9000CFE3780BA1AB990B782BB99BCFE35EFD1C
+:101BA000782AB99ACFE3991B782BB99BCFE35EFDD6
+:101BB000D401D503FEB0FE24FEB0F366FEB0F3629E
+:101BC000C031FEB0F3CDC008800017FC8000028455
+:101BD00080000280D401F80B1518C040FEB0F3C09D
+:101BE000D80AFEB0F3EBD80A8000035C800003B88B
+:101BF000D4013009300A305B300CFEB0FCCF300C21
+:101C0000E0A00070D80AD70380001CE0D401300C9B
+:101C1000FE7B0864970C3009300A305BFEB0FCBED6
+:101C2000D80AD70380001598D401E06900F8EA19B2
+:101C30000000728C729A5C7AE06B0164EA1B00000F
+:101C4000F1DCC006100B72585D18300CE06B098097
+:101C5000EA1B0000975CDA0AEBCD4080340C3007B9
+:101C6000300EA17A5CFB5CFE5CF7103EF2071300BD
+:101C7000C053101EEE090147A1AA201CCF310E99B6
+:101C80001C98E3CD80800000E0690000EA19800024
+:101C9000121CF9DCC00EF9EA11ECFE7A0000A59BDB
+:101CA000F40B092C5EFD0000E1BB0000D303FC1A1D
+:101CB000AA00FE790458930AFE7A0400950CB19BA1
+:101CC0005E3DD5035EFD0000FC198000120B1898E4
+:101CD000580A5E0D1739201A10C9CFD15EFD0000D9
+:101CE000FE7B0864F60C002B760CA19C5E3D760C06
+:101CF000A1AC970C5EFD0000D401FE7C0C00E0A0BE
+:101D00000019A17CD802D70380001D30D401300B0C
+:101D1000FE7C0C00FEB0FF46D80AD70380001BA053
+:101D2000300CE3BC00425EFDE1BC00425EFC000002
+:101D3000781B5EFB00001000000020000000400047
+:101D4000000080000000C0000001000000018000D1
+:101D50000002000000030000000400000006000074
+:101D600000080000000C000000100000002000002F
+:101D7000000000000000000000000000007A1200D7
+:101D800000B71B0000F424000008000080001CC8FD
+:101D9000800015E4000000000000000000000000CA
+:101DA00000000001800015F48000160C00000020E7
+:101DB000800016248000164C00000003800016747A
+:101DC00000000000000000048000169400000000E5
+:101DD00000000200800016B0800016C8000000005D
+:101DE00000000000000000000000000000000000F3
+:101DF00000000000000000000000000000000000E3
+:101E000000000000000000000000000000000000D2
+:101E100000000000000000000000000000000000C2
+:101E200000000000000000000000000000000000B2
+:101E300000000000000000000000000000000000A2
+:101E40000000000000000000000000000000000092
+:101E50000000000080001E7000000008000000D498
+:0C1E6000000000E0000000E00000092A83
+:101E7000800007D4000000001200000000030000F2
+:101E80000000000000000000000000000000000052
+:101E900000000000000000000403090441544D4507
+:101EA0004C000000444655204154333255433343DF
+:101EB0000000000080000F7480000F9880000F9CCD
+:101EC0008000103C80001D8880001D9480001DA0B3
+:101ED00080001DAC80001DB880001DC480001DD096
+:101EE00080001DDC80001DE880001DF480001E00C5
+:101EF00080001E0C80001E1880001E2480001E30F2
+:101F000080001E3C80001E481201000200000040BC
+:101F1000EB03EB2F02010102000100000902120095
+:101F2000010100C0320904000000000000000000B0
+:101F30000000004C000000B4000000C8000000A039
+:041F4000000000CCD1
+:040000058000000077
+:00000001FF
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/iar/lnkat32uc3c-isp.xcl b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/iar/lnkat32uc3c-isp.xcl
new file mode 100644
index 0000000..e0e450b
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/iar/lnkat32uc3c-isp.xcl
@@ -0,0 +1,150 @@
+/******************************************************************************
+ * AVR32 AT32UC3C ISP XLINK command file for AVR32 IAR C/C++ Compiler.
+ *
+ * The assumed memory layout is the one of the AT32UC3C0512:
+ *
+ * Start Stop Name Type
+ * ---------- ---------- ----- --------------
+ * 0x00000000 0x0000FFFF SRAM RAM
+ * 0x80000000 0x8007FFFF FLASH FLASH
+ * 0x80800000 0x808001FF USER FLASH
+ *
+ * Usage: xlink your_file(s) -f xcl-file libraries
+ *
+ * - Compiler: IAR EWAVR32
+ * - Supported devices: AVR32 AT32UC3C
+ *
+ * - author Atmel Corporation: http://www.atmel.com \n
+ * Support and FAQ: http://support.atmel.no/
+ *
+ ******************************************************************************/
+
+/* Copyright (c) 2009 Atmel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an Atmel
+ * AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+ *
+ */
+
+/************************************************************************/
+/* The following segments are defined in this link file: */
+/* */
+/* Code segments */
+/* CODE32 -- Program code used by __code32 functions. */
+/* RESET -- Reset code. */
+/* EVSEG -- Exception vector handlers. */
+/* */
+/* Constant segments */
+/* INITTAB -- Segment initializer table. */
+/* DIFUNCT -- Dynamic initialization vector used by C++. */
+/* SWITCH -- Switch tables. */
+/* ACTAB -- Table of pointers to acall functions. */
+/* */
+/* DATA21_ID -- Initialization data for DATA21_I. */
+/* DATA32_ID -- Initialization data for DATA32_I. */
+/* DATA32_C -- Constant __data32 data. */
+/* */
+/* CHECKSUM -- Checksum segment. */
+/* */
+/* Data segments */
+/* DATA21_I -- Initialized __data21 data with non-zero */
+/* initial value. */
+/* DATA32_I -- Initialized __data32 data with non-zero */
+/* initial value. */
+/* DATA21_Z -- Initialized __data21 data with zero initial value. */
+/* DATA32_Z -- Initialized __data32 data with zero initial value. */
+/* DATA21_N -- Non-initialized __data21. */
+/* DATA32_N -- Non-initialized __data32. */
+/* SSTACK -- The system stack. */
+/* CSTACK -- The application stack. */
+/* HEAP -- The heap used by malloc and free. */
+/* */
+/************************************************************************/
+
+/************************************************************************/
+/* Define CPU */
+/************************************************************************/
+
+-cavr32
+
+/************************************************************************/
+/* Reset code is located at address 0x80000000 and up. */
+/************************************************************************/
+
+-Z(CODE)RESET=80000000-8007FFFF
+
+/************************************************************************/
+/* The exception handler code is located at address 0x80000000 */
+/* and up. Make sure that the exception table gets properly */
+/* allocated. By using the special -Z@ allocation primitive, the */
+/* placement is guaranteed to be at _EVBASE and onwards. */
+/************************************************************************/
+
+-Z@(CODE)EVTAB=80000000-8007FFFF
+-Z@(CODE)EV100=80000100-8007FFFF
+-P(CODE)EVSEG=80000000-8007FFFF
+
+/************************************************************************/
+/* Allocate code and const segments. */
+/************************************************************************/
+
+-P(CODE)CODE32=80000000-8007FFFF
+-P(CONST)DATA32_C=80000000-8007FFFF
+-P(CONST)USERDATA32_C=80800000-808001FF
+
+// Initializers
+-Z(CONST)INITTAB,DIFUNCT=80000000-8007FFFF
+-Z(CONST)CHECKSUM,SWITCH=80000000-8007FFFF
+-Z(CONST)DATA21_ID,DATA32_ID=80000000-8007FFFF
+-Z(CONST)RAMCODE21_ID,RAMCODE32_ID=80000000-8007FFFF
+
+-Z(CONST)ACTAB,HTAB=80000000-8007FFFF
+
+/************************************************************************/
+/* Allocate the read/write segments that are mapped to RAM. */
+/************************************************************************/
+
+-Z(CODE)RAMCODE21=00000004-0000FFFF
+-Z(DATA)DATA21_I,DATA21_Z,DATA21_N=00000004-0000FFFF
+-Z(CODE)RAMCODE32=00000004-0000FFFF
+-Z(DATA)DATA32_I,DATA32_Z,DATA32_N=00000004-0000FFFF
+-Z(DATA)TRACEBUFFER=00000004-0000FFFF
+
+-Z(DATA)HEAP+_HEAP_SIZE=00000004-0000FFFF
+-Z(DATA)CSTACK+_CSTACK_SIZE=00000004-0000FFFF
+-Z(DATA)SSTACK+_SSTACK_SIZE=00000004-0000FFFF
+
+/************************************************************************/
+/* Copy the RAMCODE bytes to the initializer segments. */
+/************************************************************************/
+
+-QRAMCODE21=RAMCODE21_ID
+-QRAMCODE32=RAMCODE32_ID
+
+/************************************************************************/
+/* End of File */
+/************************************************************************/
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/iar/usb_device_dfu_isp.ewp b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/iar/usb_device_dfu_isp.ewp
new file mode 100644
index 0000000..4a03442
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/iar/usb_device_dfu_isp.ewp
@@ -0,0 +1,940 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<project>
+ <fileVersion>2</fileVersion>
+ <configuration>
+ <name>Release</name>
+ <toolchain>
+ <name>AVR32</name>
+ </toolchain>
+ <debug>0</debug>
+ <settings>
+ <name>General</name>
+ <archiveVersion>4</archiveVersion>
+ <data>
+ <version>6</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CoreRevisionSlave</name>
+ <version>1</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>ProcessorCoreDyn</name>
+ <state>at32uc3c0512c</state>
+ </option>
+ <option>
+ <name>ProcessorCoreSlave</name>
+ <state>at32uc3c0512c</state>
+ </option>
+ <option>
+ <name>CodeModel</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>DataModel</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>EnableSimdInstructions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EnableDspInstructions</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>EnableRmwInstructions</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GAllowUnaligned</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GOutputBinary</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ExePath</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ObjPath</name>
+ <state>Release\Obj</state>
+ </option>
+ <option>
+ <name>ListPath</name>
+ <state>Release\List</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelect</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelectSlave</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>RTDescription</name>
+ <state>Use the full configuration of the C/EC++ runtime library. Full locale interface, C locale, file descriptor support, multibytes in printf and scanf, and hex floats in strtod.</state>
+ </option>
+ <option>
+ <name>RTLibraryPath</name>
+ <state>$TOOLKIT_DIR$\lib\dlavr32allahf.r82</state>
+ </option>
+ <option>
+ <name>RTConfigPath</name>
+ <state>$TOOLKIT_DIR$\lib\dlavr32allahf.h</state>
+ </option>
+ <option>
+ <name>Input variant</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Input description</name>
+ <state>No specifier n, no float.</state>
+ </option>
+ <option>
+ <name>Output variant</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Output description</name>
+ <state>No specifier a or A.</state>
+ </option>
+ <option>
+ <name>GUnhandledInterrupts</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GUnhandledExceptions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GTraceBufferSize</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GSStackSize</name>
+ <state>0x0400</state>
+ </option>
+ <option>
+ <name>GCStackSize</name>
+ <state>0x0000</state>
+ </option>
+ <option>
+ <name>GHeapSize</name>
+ <state>0x1000</state>
+ </option>
+ <option>
+ <name>GeneralEnableMisra</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVerbose</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CoreRevision</name>
+ <version>1</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>GTraceSelect</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GTraceBufferFull</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GeneralMisraVer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>GEnableNanoTrace</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EnableFpuInstructions</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ICCAVR32</name>
+ <archiveVersion>7</archiveVersion>
+ <data>
+ <version>8</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CCDefines</name>
+ <state>BOARD=DUMMY_BOARD</state>
+ </option>
+ <option>
+ <name>CCPreprocFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocComments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListCMnemonics</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListCMessages</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListAssFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListAssSource</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagSuppress</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagRemark</name>
+ <state>Pa082</state>
+ </option>
+ <option>
+ <name>CCDiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCCore</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCodeModel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDataModel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCRequirePrototypes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMigrationPreprocExtentions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCExt</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCharIs</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCAllowList</name>
+ <version>0</version>
+ <state>1111111</state>
+ </option>
+ <option>
+ <name>CCObjUseModuleName</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCObjModuleName</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDebugInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCDiagWarnAreErr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCompilerRuntimeInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>$FILE_BNAME$.r82</state>
+ </option>
+ <option>
+ <name>CCLangSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLibConfigHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>PreInclude</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CompilerMisraOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIncludePath2</name>
+ <state>$PROJ_DIR$\..\</state>
+ <state>$PROJ_DIR$\..\..\</state>
+ <state>$PROJ_DIR$\..\..\..\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\utils\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\utils\preprocessor\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\utils\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\boards\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\boards\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\gpio\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\pm\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\scif\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\ast\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\flashc\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\rtc\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\cpu\cycle_counter\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\usbc\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\basic\clock\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\services\basic\freq_detect\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\usb\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\usb\udc\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\usb\class\dfu\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\usb\class\dfu\device\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\usb\class\dfu\device\atmel\</state>
+ </option>
+ <option>
+ <name>CCStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCStdIncludePath</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ </option>
+ <option>
+ <name>IExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCModuleTypeOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCModuleType</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptLevel</name>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CCOptStrategy</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptLevelSlave</name>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>CCFPIMPLLIST</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCFPIMPL description</name>
+ <state>Use the space efficient but slower implementation unless another module uses the fast implementation.</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>AAVR32</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>AObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ACore</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADiagSuppress</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagRemark</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagWarnAreErr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>APreprocFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>APreprocComments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>APreprocLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADefines</name>
+ <state>BOARD=DUMMY_BOARD</state>
+ </option>
+ <option>
+ <name>AIncludePaths</name>
+ <state>$PROJ_DIR$\..\</state>
+ <state>$PROJ_DIR$\..\..\</state>
+ <state>$PROJ_DIR$\..\..\..\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\utils\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\utils\preprocessor\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\utils\</state>
+ </option>
+ <option>
+ <name>AListFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ACrossReference</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AMacDefs</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AMacExps</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AOnlyAsmed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ANoDiagnostics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AListOptions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AMnemonicFirst</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADirectiveFirst</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ACaseSensitivity</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ADebug</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AMacroChars</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>$FILE_BNAME$.r82</state>
+ </option>
+ <option>
+ <name>ATruncateLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AModel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AOverrideStandardPaths</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AStandardIncludePaths</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>JAVATOC</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ <settings>
+ <name>CUSTOM</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <extensions></extensions>
+ <cmdline></cmdline>
+ </data>
+ </settings>
+ <settings>
+ <name>BICOMP</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ <settings>
+ <name>BUILDACTION</name>
+ <archiveVersion>1</archiveVersion>
+ <data>
+ <prebuild></prebuild>
+ <postbuild></postbuild>
+ </data>
+ </settings>
+ <settings>
+ <name>XLINK</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>14</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>XOutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>usb_device_dfu_isp.d82</state>
+ </option>
+ <option>
+ <name>OutputFormat</name>
+ <version>11</version>
+ <state>16</state>
+ </option>
+ <option>
+ <name>FormatVariant</name>
+ <version>8</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>SecondaryOutputFile</name>
+ <state>(None for the selected format)</state>
+ </option>
+ <option>
+ <name>XDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AlwaysOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OverlapWarnings</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>NoGlobalCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XList</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>SegmentMap</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ListSymbols</name>
+ <state>2</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>XIncludes</name>
+ <state>$TOOLKIT_DIR$\LIB\</state>
+ </option>
+ <option>
+ <name>ModuleStatus</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XclOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XclFile</name>
+ <state>$PROJ_DIR$\lnkat32uc3c-isp.xcl</state>
+ </option>
+ <option>
+ <name>XclFileSlave</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DoFill</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>FillerByte</name>
+ <state>0xFF</state>
+ </option>
+ <option>
+ <name>DoCrc</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcSize</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcAlgo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcPoly</name>
+ <state>0x11021</state>
+ </option>
+ <option>
+ <name>CrcCompl</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OXLibIOConfig</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XRTSegmentSizes</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RangeCheckAlternatives</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SuppressAllWarn</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SuppressDiags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>TreatAsWarn</name>
+ <state></state>
+ </option>
+ <option>
+ <name>TreatAsErr</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ModuleLocalSym</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcBitOrder</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IncludeSuppressed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ModuleSummary</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>xcProgramEntryLabel</name>
+ <state>__program_start</state>
+ </option>
+ <option>
+ <name>DebugInformation</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RuntimeControl</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IoEmulation</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AllowExtraOutput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GenerateExtraOutput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XExtraOutOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ExtraOutputFile</name>
+ <state>at32uc3c-isp.hex</state>
+ </option>
+ <option>
+ <name>ExtraOutputFormat</name>
+ <version>11</version>
+ <state>23</state>
+ </option>
+ <option>
+ <name>ExtraFormatVariant</name>
+ <version>8</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>xcOverrideProgramEntryLabel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>xcProgramEntryLabelSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ListOutputFormat</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>BufferedTermOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OXImportSlaves</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OverlaySystemMap</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RawBinaryFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinarySymbol</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinarySegment</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinaryAlign</name>
+ <state></state>
+ </option>
+ <option>
+ <name>XLinkMisraHandler</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcAlign</name>
+ <state>4</state>
+ </option>
+ <option>
+ <name>CrcInitialValue</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>OXExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OXExtraOptions</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>XAR</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>XAROutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XARInputs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>BILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ </configuration>
+ <group>
+ <name>drivers</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\ast\ast.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\flashc\flashc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\pm\pm_uc3c.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\scif\scif_uc3c.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\usbc\usbc_device.c</name>
+ </file>
+ </group>
+ <group>
+ <name>services</name>
+ <group>
+ <name>basic</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\services\basic\freq_detect\freq_detect.c</name>
+ </file>
+ </group>
+ <group>
+ <name>usb</name>
+ <group>
+ <name>class</name>
+ <group>
+ <name>dfu</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\udi_dfu_atmel.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\udi_dfu_atmel_desc.c</name>
+ </file>
+ </group>
+ </group>
+ <group>
+ <name>udc</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\udc\udc.c</name>
+ </file>
+ </group>
+ </group>
+ </group>
+ <file>
+ <name>$PROJ_DIR$\..\..\boot.s82</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\intc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\isp.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\main.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\sysclk_uc3c.c</name>
+ </file>
+</project>
+
+
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/at32uc3c-isp-1.1.0.bin b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/at32uc3c-isp-1.1.0.bin
new file mode 100644
index 0000000..1b1a17d
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/at32uc3c-isp-1.1.0.bin
Binary files differ
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/at32uc3c-isp-1.1.0.hex b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/at32uc3c-isp-1.1.0.hex
new file mode 100644
index 0000000..cf9c9d3
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/at32uc3c-isp-1.1.0.hex
@@ -0,0 +1,515 @@
+:0200000480007A
+:10000000E1B80000F1D8C2C35818C090FEC8FFF094
+:10001000FC190061E06D0D5CD041D6033008FE791B
+:100020001000E06A01FCEA1A8080FE7B0400700088
+:10003000E061504BEA1149537402E06301070494F4
+:10004000C76CC141E7D2C210E043E11EC0F1EDB27E
+:100050000009C0C3F6F30180E06421170873C131C1
+:10006000EDB30003C3830230C3C1C53C9101E06D11
+:100070000D74D353FEC00074E3B00001E0A00D384E
+:10008000E0A00E50EDB20008C262E06A01F8EA1A80
+:1000900080807402E06301070494C49CCE71E7D2AF
+:1000A000C22FE043494FCE21E7D2C108E043007C94
+:1000B000CDD2FE7A2000E6041605A964080A7584EC
+:1000C000E013001FE8030A44E7D2C2010654EDB46E
+:1000D0000000CCC20230C051C1CC300830009100C9
+:1000E000FC100061E3B0000030003001300230034A
+:1000F000300430053006300730083009300A300B44
+:10010000300C300D300EE3B00001E3B0004248BFC8
+:10011000FC1255009302EE12FF0093021C9FE805AB
+:100120001200EA051117E60509450A54E04400FFEC
+:10013000FE9BFFF758045EF480002000D02130873A
+:10014000FE6C1000784BA39BC102781BA39BC0D20E
+:10015000304CFE6B1000972C767AA19AF7F72A03A1
+:10016000F7FC3A05C783C778E0A002D4C741FE6C0C
+:100170001000781BA58BC3529927E0A005BFFE6C29
+:100180001000780BE01BFF80990B780BA7BB990B35
+:10019000FE6C1100780BE0690400308A3408F00A24
+:1001A0000C4AF4090D4AE01BE68B3FF9F20A001AEB
+:1001B000F4091200F3D9C005F20A111CA56AE21A6B
+:1001C0001974144B990BE0A000FBFE6C1000787BB7
+:1001D000A1AB997BFC1C0100FE6B1220970CC3B8ED
+:1001E000310BFE6C1800301AFE6910007248A1989D
+:1001F000C1227218A198C0F27809AFC99909FE69A5
+:100200001000935A936B780BA1DB990B780BAFAB73
+:10021000990BC2187248A598C0E27218A598C0B28E
+:100220007809AFC99909FE691000935B936A780B4E
+:10023000A1BBCEFB781AA38AC0E2780BAFCB990B97
+:10024000302B992B780BAFAB990B781CF9DCC16183
+:10025000E0A00D7AFE6C1800786BD022D603D7038D
+:100260008000071080000CF8800003BC80001D4453
+:10027000E1BC0000D3035EFC5EFF0000D421E0A0DF
+:100280000D35CF7F1897FE6618006C0CAFDC8D0C17
+:100290006C0C300AE06B0100E06C013CEA1C800051
+:1002A000E0A00D746C0CB9BC8D0C6C0CB9CC8D0C31
+:1002B0006C0CADCC8D0C6C0CADAC8D0C6C0CAFBC67
+:1002C0008D0C6C0CAFCC8D0C6C0C6C1BAF9BCFE20F
+:1002D000E06C1000300A300BB91BF8EB0008F8EBAB
+:1002E0000010F8EB00186CCA8DCCFE6C1000780B77
+:1002F000ADCB990B780BE81B0C00990B6C0CA1BCD7
+:100300008D0C6C0CAFAC8D0CFE7C0588780BA1AB12
+:10031000990BE3B70000D82A80001CE880001D88F4
+:10032000D421CA7F1897FE6C1800780BAFDB990BAD
+:10033000780BADCB990BE0A00CE7E3B70000D82A0F
+:1003400080001D04D421C95FFE6B1800760AAFCA75
+:10035000970AFE6A10007409A9C99509308AFE69D6
+:100360001000936A3019FE68100091693108FE6E22
+:1003700010009D68304EFE6710008F6E8F2A8F2E02
+:100380008F298F28760AAFAA970AE3BC0000D82AE3
+:10039000FE6B1000760AA7DA970A760AE01AFF8049
+:1003A000F9DCC007144C970C760CA7BC970C5EFDCB
+:1003B000FE6B1000760CF9DCC0075EFCD421E06C0B
+:1003C0001000E0670910EA170000EECBFFE4990B7C
+:1003D000781BE41B8000B7AB991B781BE01B8000E7
+:1003E000991BC47FFE6B11F0304A970A302A970A96
+:1003F000E06B1000FE6A1018950BE3BC0000300C97
+:100400008F4C8F5CAE6C8F6CD82A0000D421E067D3
+:100410000910EA1700006E6C580CC090585CC07050
+:10042000583CC030584CC021C6ADCC9FFE66116010
+:10043000E06C10003044781BF7DBC00F588BC070A5
+:10044000781BE01B8000991B8D04D82AEEE8001C65
+:10045000AF19781BE01B8000991B8E9C5CCCAE1CF6
+:100460008EAC5CCCAE2C8EBC5CCCAE3CFE6511F090
+:10047000E0A00590C081305C8F6CE86C00008B0CB4
+:100480008D04D82A8D048EECF9DCC006F80B15100B
+:100490005F0CE06B096CEA1B0000B68C300C0F8A15
+:1004A000A98AC072B61CB62C302C8F6CC14CD82ACD
+:1004B0008EBA580AC031CE3CD82AB61CB62C301C95
+:1004C0008F6C31078D07CD5E8B07E3BC0000D82A07
+:1004D00080000F90D431E0670270EA1780005D174A
+:1004E0003016FE6B11F097C6E3BC0000E064091003
+:1004F000EA140000686CE06503BCEA158000583C13
+:10050000C041CFDC5D15D83A582CC0305D15D83AC3
+:1005100088ECE065096CEA1500008AAB182B5C7B5F
+:10052000C1F10B8B580BC031CCACD83A30038A9B4D
+:10053000160C88BB163CC065685C580CC0305D1C4E
+:10054000C031AA83C2588AAC8A9B180BAA1BAA2363
+:1005500088EBF9DBC006F80A15105F0CAA8CE04B9B
+:100560000041F9BB0440E06A10007419E0198000F2
+:10057000F9DBC00F18499519741CE41C8000951C08
+:1005800068298AAC180995098AAC160CAA2C5D1743
+:10059000FE6B11F09706FE6A116095063089950989
+:1005A0009709E3BC0000D83AD431E0670910EA1794
+:1005B00000006E6CFE6611603025584CC0518D05F0
+:1005C000C9ECCFDED83AFE6411F0581CC080305C14
+:1005D0008F6CE86C0000890C8D05D83AE06B100038
+:1005E000761AF5DAC00FE063096CEA13000086ACF6
+:1005F00018998EE8F80A000E1C38C044F00C010A65
+:100600005C7AEEC8FFE46E2C1809149C1292580A0A
+:10061000C050113E201C04CECFD1761CE01C8000BF
+:10062000971C86AC140CA62CE04A0040C0715C7C80
+:10063000869B180B8EBA143BC0956E5C580CC0306C
+:100640005D1CCC608D05C1BCD83A8EEBF80B19004F
+:10065000C0C16E5C580CCBC05D1CCBA086AC869B29
+:10066000180BA61B300CA62C8D0531078D07FEB08C
+:10067000FE018907E3BC0000D83A0000D401303CF9
+:10068000E06B0910EA1B0000976CE06C1000781B0F
+:10069000E41B8000991B781BE01B8000991BFEB0B7
+:1006A000FDE9FE6B1160301A970AFE6911F0930A9A
+:1006B000308A970A930AE3BC0000D80AD401E06CA0
+:1006C0000910EA1C0000304B996BE06B10002E4CB7
+:1006D000970C761CE41C8000B7AC971C761CE01CC1
+:1006E0008000971CFEB0FDC6310BFE6A1160950BB1
+:1006F000FE6A11F0950BE3BC0000D80AD401E06B50
+:100700000910EA1B0000764C580CC0205D1CD80A6A
+:10071000D401FE6C1004780BAD9BC023D80AFEB048
+:10072000FDA9FE6A1220310B950B30899509E3BCB7
+:100730000000FE6C1130780AA39AC072340CFE6B74
+:10074000113097CCC64EDA0A780AA38AC032C2DFCB
+:10075000DA0A780AA19AC082FE6A11C07408A198C8
+:10076000C032CB9EDA0AE0680910EA180000706A0D
+:100770007808A588C0C299C9780BA19BC1A3582A43
+:10078000C031C9DFDA0A583AC141C0E87809A599F1
+:10079000CC6299CB780BA38BC0C3581AC031C6FF6B
+:1007A000DA0A584AC061E86C0000FE6B11C097CCB1
+:1007B000DA0A0000FE6C000C780BE06A1E94EA1A5C
+:1007C0008000F7DBC004F40B032CA99C5EFC000046
+:1007D000FE6A00007409A7C9340BF7EC006C124CD8
+:1007E000950C5EFDFE6B0008760CA19CCFC25EFDF1
+:1007F000D42118951697E0660008EA160000F01656
+:100800000000FE6C0004780BE01BFFC0EBD5C006B7
+:1008100016455807C0A6E01500FFE415FF000A9B27
+:10082000EBD7C010F7E51085EBD5C018EA15A50089
+:100830009905781CE21C000C8D1CF0160000D82ACB
+:10084000FE6B0008760CF9DCC0815EFCD4013FFB36
+:10085000309CCCFFD80A0000D401F60A1518304AA3
+:10086000F9BA0005189B149CCC4FD80AD4211896CD
+:100870001697CA1F0E9BA58CB9360C9CCEEFD82AB2
+:10088000D42118973006310520150E9B0A9CCEFF07
+:10089000E06B0008EA1B0000761C18465805CF5193
+:1008A0009716D82AFE6B00147618760A3009144978
+:1008B000F9DCC006EDBC0005F2081730F00C0A4860
+:1008C000A1985F3C5EFC0000D42118971696F7DCD7
+:1008D000C006308CC8EFEC0C1518C0400E9CCE3F03
+:1008E000D822DA2AD401F60A1518C061F9DCC0064C
+:1008F000189B307CC7EFD80AD401F60A1518300BC4
+:10090000C030CE3FD80ACEFFD80A0000D4013FFB4A
+:10091000303CFEB0FF6FD80AD401189B30CCFEB03B
+:10092000FF69FE6B0008760CF9DCC0A1D80200005C
+:10093000D42116973016189B302CFEB0FF5BEE0CBE
+:100940001518C0C0E0670008EA1700006E153FFCEC
+:10095000CE4F18966E1C18458F150C9CD82200009F
+:10096000D431189730163005FEB0FF261894C09881
+:1009700020140E9B089CCDDF18665C56661C18453B
+:10098000E0630008EA1300005804CF3187150C9C7F
+:10099000D8320000D4013FFB30FCFEB0FF2BFE6BD1
+:1009A0000008760CF9DCC0A1D8020000D421189709
+:1009B0003FFB30ECFEB0FF1EEE0C1518F9BC000139
+:1009C000C020CE9FD8220000D4013FFB30DCFEB017
+:1009D000FF11D80AD671204D30013003FE6C000C97
+:1009E0007809FC188000E06E1E94EA1E8000F3D99E
+:1009F000C004FC09032C18085028405616970C0A0E
+:100A00001495FC1C80001836C0825C361606180649
+:100A10000C97FC168000C0D81036C0B3FC1C808038
+:100A20001836C0725C36160618060C97FC168080C5
+:100A3000E06C0201EA1C8080183AC063E0650200A5
+:100A4000EA158080C098301CEA1C8080183AC042A9
+:100A50001438FBF530020A9CA1CCE01CFFFCE01C22
+:100A6000FFF8503CE5D5C003C0E8580BC050300C2F
+:100A7000C9EF681C18433FFB30DCFEB0FEBB069C90
+:100A800068131843E0640008EA1400000A36E082A4
+:100A900000AA3FFB303CFEB0FEAD681C18430C9929
+:100AA000E019FE00F2CCFE00403AF40C0D4E0A9C18
+:100AB000E01CFE0018395F2CF7D6C009C2200C904C
+:100AC000E010FFF8C038B30AB32A0039CFD3F7D605
+:100AD000C003C1703008133AFA080B0A2FF8163811
+:100AE000CFB35888C0620F3BFA080B0B2FF8CFAB7F
+:100AF0000096403A1430C042BB0AAD2AC0283011DB
+:100B0000A39EEC0B1603161E1C98303B0E6B167B37
+:100B1000C040202BC080C1E85808C1E0AF0BAD2A0F
+:100B20002018CFBB5808C180300B0F2AFA0B0A1AC5
+:100B30002FFB584BCFB3BB0AAD2A2018CF4B300B3D
+:100B40000F3AFA0B0B0A2FFB588BCFB3BB0AAD2A17
+:100B500020185808CF51F80B1518C200E20C1518D0
+:100B6000C0300498C0983008C0580F3CFA080B0CED
+:100B70002FF80438CFB30A995802C061C0C8133C9B
+:100B8000FA080B0C2FF85888CFB3BB0AAD2AC0382F
+:100B9000B30AB32AF9D9C009CFC1301CEA1C80803E
+:100BA0001836FB3B001BFE92FF62580BC070300BE7
+:100BB0003FFCFEB0FEBF681C18433FFB301CFEB07C
+:100BC000FE19069C68131843402B1636FE93FF5CF3
+:100BD0005C360E06FC1C808018060C97FC16808084
+:100BE000C52B8913405C2FCDDC720000E06C00A0A7
+:100BF000EA1C0000782B760A15BC2FEAF5DC5000C1
+:100C00005CCCE06B00A0EA1B0000762A740B5C7CD5
+:100C1000160C5EFCD42118961697CE9F0D8B1606E7
+:100C20001836C0920D9B584BC060F6071800CF7164
+:100C30000C9CD822D82A0000D42118961697E06C74
+:100C400000B0EA1C0000198B580BC021D82AE065BF
+:100C500000A0EA1500006A2B760C19CBF6061800E6
+:100C6000CF628B3CCC4FC048178A140B8B3B6A3B3E
+:100C7000183BCED2179A584ACF8117AAF40618000B
+:100C8000CF4117BAF4071800CF01DA2AD4211897F8
+:100C9000E0660C38EA168000300B5D16C021D82AB9
+:100CA000E06500A0EA1500006A2C781BF6070F84A7
+:100CB000683C5D1C189B0E9C5D16CF206A3C305B27
+:100CC000CAAFCFE1681C5D1CDA2A0000D421189756
+:100CD000CB4FC021D82AE06600A0EA160000305BA6
+:100CE0006C3CC99FCF816C2C781BF6070F8CF01CD5
+:100CF00000005F1CD8220000D421E06700A0EA17A2
+:100D00000000E06600B0EA1600000D8C580CC0C070
+:100D10003005C0580A9CCBBF2FF55C556E2C780B64
+:100D200017CC1835CF85300CAC8CAE1CD82A0000FF
+:100D3000D401E06B0910EA1B0000969C5C5CFEB0DD
+:100D4000FB29D80A80000390E06B0910EA1B000021
+:100D5000969AF3DAC008E068008CEA180000F40CF8
+:100D60001608201CC060201CC0F0201CC2205EFDA4
+:100D7000700C972C198AB66A96BC96EAF40C190086
+:100D8000F7FC3C065EFF700CF93A00111439C025DF
+:100D90005EFD701CF809033A972AF809033811BC64
+:100DA0002FE8F1DC50005CCCB66C302CB49CCE5BF0
+:100DB000E06C0014EA1C00005C5A147AC060201A2F
+:100DC000C0D0201AC0E05EFD304A972C96BCF40CCF
+:100DD0001900F80A1730B66A5EFF2FCC30CACF6B05
+:100DE0002F0C308ACF3B0000D431E0660910EA16A0
+:100DF00000000D8BE06400B0EA140000098CE0678D
+:100E000000A0EA170000EDBB0007C5028CBAF40988
+:100E10001510C021D83AF7DBC00530293015C18143
+:100E20000D9C187CC060206CC0B0202CC0B0D83A9B
+:100E3000582AC020D83A2FE78D27AC69DA3AC85F24
+:100E4000D832581AC020D83A8D24AC65DA3A581BEB
+:100E5000C1F10D9B58ABCDF1581AC020D83AF80B10
+:100E60001518CFD08CA45C546E2C780B17CC18348A
+:100E7000CF64300B089CCE1ECF206E2C781BF6045E
+:100E8000032C783B5D1BAE8C8D27AC65DA3A582B72
+:100E9000CC210D9C580CCBF1582AC020D83A300CEC
+:100EA000AE2C2FC78D27AC69DA3AF7DBC005E065B9
+:100EB0000CCCEA158000580BC4F10D9C201CC140DD
+:100EC000202CCA90202CC060202CCA50202CC1801D
+:100ED000D83A8CBC580CC020D83AE06C0D30EA1CD3
+:100EE00080008D4CDA3A8CBC580CC020D83A8C9CCF
+:100EF000581CCFD18E9CE21CFDFFAE1CDA3A8CBC94
+:100F0000580CC020D83AFEB0FA55CFD0E063008C20
+:100F1000EA130000660CF93B00118C9CF80B1800DA
+:100F2000CF23CEBE8C9CA88C5C5CF80B1518C0211E
+:100F3000DA3A661BF60C003B208B8F2B30066E2CAA
+:100F4000780B17CC1836CF54300B0C9C5D15CDB0F8
+:100F50002FF65C56CF5B581BFE91FF5E0D9B58BB76
+:100F6000FE91FF5A8CBB580BC030300CC0E8F80B18
+:100F70001518CFC08CA45C548C975C57089CC87E15
+:100F8000CF500E9B089C5D155C5CD832800003B08E
+:100F9000D421300CE0670910EA170000AE6C8F4CCA
+:100FA0008F5C0F8CEDBC0007C0528EBB580BC0216C
+:100FB000D82AE21C0060C041C18FC020DA2A0F8C01
+:100FC000F9DCC005581CCF51E06C00B0EA1C0000F1
+:100FD000198B580BCEE08EA65C56E06700A0EA178E
+:100FE00000006E2C780B17CC1836CE34E0650C3828
+:100FF000EA158000300B0C9C5D15CDB06E2C781B73
+:10100000F60603276E3C5D1CF7DCC0080C9C5D15E2
+:10101000CD006E2C5D1CCD31D82A0000E07B86A06F
+:10102000FE7A0814740918695E1D201BCFA15EFEAC
+:10103000D421FE780818E06E1200EA1E007AE067FC
+:10104000C6C0EA17002DEC76BBA0580CC2414A3549
+:101050006A0CA1AC0C3BC0323009C0980E3BC032C8
+:101060003019C0581C3B3029F9B90203189EE01E04
+:10107000FFF9306CF9E900191C49129BE1BC000032
+:10108000D3033249EA19AA0091098B0BB19CC243E0
+:10109000D503D82A49256A0C1895A1A50C3BC03266
+:1010A0003009C0980E3BC0323019C0581C3B302963
+:1010B000F9B90203E015FFF9306CF9E9001912459E
+:1010C000E1BC0000D3033289EA19AA00910948491A
+:1010D0009305B19CCDE2D82AFFFF0824FFFF082822
+:1010E000D401202DA36CFE790824F20C0308FA0C1D
+:1010F0000908109EE01EF0FFA96BE21B0F001C4BBD
+:10110000B1ABFA0C090BE1BB0000D303F8C8FFDC5C
+:10111000EA18AA00FE7E08189D08FA0C030EF20CCD
+:10112000090EB19BC023D503F40C1518C060301C08
+:10113000C76FC0303FFCC028300C2FEDD802000034
+:10114000D401202DA36CFE7A081CF40C030BFA0CBE
+:10115000090B1699E019F0C1E419C0F0FB38001C26
+:10116000306BF7E800181049FB38000CFB3E000E0E
+:10117000F1EE1018FB3E000DF1EE1028338BF7E86E
+:10118000003810494058A968E2180F00104940483B
+:10119000EE7B0000F7E8010810494068B968E618DE
+:1011A0003F001049FA0C0909E1BB0000D303F8C95C
+:1011B000FFE4EA19AA00FE7808189109FA0C03085E
+:1011C000F40C0908B19BC023D5032FEDD80A000009
+:1011D000202DA36CFE7B081CF60C030AFA0C090AEE
+:1011E0001499A1A9FA0C0909E1BA0000D303F8C9BE
+:1011F000FFE4EA19AA00FE7808189109FA0C03081E
+:10120000F60C0908B19AC023D5032FED5EFD00004E
+:10121000202DA36CFE7B081CF60C030AFA0C090AAD
+:101220001499A1C9FA0C0909E1BA0000D303F8C95D
+:10123000FFE4EA19AA00FE7808189109FA0C0308DD
+:10124000F60C0908B19AC023D5032FED5EFD00000E
+:10125000FE7B0814580CC051760CA59C5E3DCFDB7C
+:10126000760CA78CCFE25EFDE07B86A0FE7A086458
+:10127000F40C002A740CA1CC950C740CA19C5E2D6E
+:10128000201BCFC15EFE0000D431169714953003A9
+:10129000F20616012016FE740864E80C0024680BA0
+:1012A000A19BC0623013CE1FC0373FFCD832B1665D
+:1012B000E61600FF302CF9E500150C45A967E2178A
+:1012C0000F000A4789075813C041680CA1AC890C6C
+:1012D000D83A0000D42120ADE0672400EA1700F4DA
+:1012E0000E9B300CFEB0FEA6301A306B300CFEB0F8
+:1012F000FEF90E9CE0A0048EE0671DA8EA178000AE
+:10130000301C5D173009300A300BFE7C0C00E0A069
+:1013100004CBC021C008FE7C0C00E0A004D5E0A0F6
+:1013200002854ABB161CC040161CC040C058305C29
+:10133000C048302CC028303C300BFB6B002433FA03
+:10134000508A507B506C301CFB6C0016FB6B0015F8
+:10135000FB6C0014FACCFFEC1A9B3149190A16AA4F
+:101360002049CFD1300CFEB0FEED300CFEB0FF3284
+:10137000300CFEB0FF6FE06607D0EA168000301C2C
+:101380005D16303C5D17E0671C5CEA178000301B7F
+:10139000300C5D17301B301C5D17301B303C5D1767
+:1013A000301B302C5D17301B304C5D17300C5D1638
+:1013B0002F6DD82A80001030800010E080001C10B3
+:1013C00080001CA480001CC480001828007A120031
+:1013D000800011D080001250D42120ADE06707D0EA
+:1013E000EA178000301C5D17E0661C5CEA1680007E
+:1013F000300B300C5D16300B301C5D16300B303C62
+:101400005D16300B302C5D16300B304C5D16300CF9
+:10141000E0A004CC300C5D17300CFEB0FEFB300CAD
+:10142000FB6C0024508C507C506CFB6C0016FB6CE9
+:101430000015FB6C0014FACCFFEC1A9B3149190A19
+:1014400016AA2049CFD1300CFEB0FE7C2F6DD82AD1
+:1014500080001DA88000121080001140D431201D92
+:101460003007E06608FCEA1600008D27E0650910E9
+:10147000EA1500008B578B47E06400B4EA140000C3
+:10148000A887302CA8CCE06300BCEA13000007ACAE
+:101490000DCBE06A1B58EA1A800030A20789201998
+:1014A000C0802029C1F02019C4A02029C680C3E82B
+:1014B000F60C1518C3E1E6CCFFFE5D1AC370079C5D
+:1014C000580CC341E06C00FCEA1C00008B2CE06C63
+:1014D0000800AA6CE06C1A7CEA1C80008B5C301C53
+:1014E000C2C8F60C1518C251E6CCFFFE5D1AC1E069
+:1014F000E06C003CEA1C00000DDBF80B0F8A741C4A
+:10150000580CC031303CC168079C187CC040201C7E
+:10151000C080C0C8E06C1BB4EA1C80008D2CCE0BD0
+:10152000E06C19F0EA1C8000CFAB098C580CC0416C
+:1015300030FCA88CA8C2300C2FFDD832079B167B3C
+:10154000C040203BC0C0CF5BE04C00FFCF21E0A0FB
+:10155000043DC030ACC7CC4B304CCECB187CC04027
+:10156000201CC080CE6BE06C1910EA1C80008D3C02
+:10157000CB7BE06C1934EA1C8000CFABF60A15185F
+:10158000CD81079B583BCD5107BB189A187CC040B2
+:10159000201AC090CCEB587CC044ACDB8D07CA0B42
+:1015A000308CCC8B300C500CBA8B07CCBA9C400BD7
+:1015B000E06C003CEA1C00000DDAF80A0F89720C9E
+:1015C000183BCEF28D0BC8CB80001DC8D40130096A
+:1015D000FC188000100CFEB0F9FFD80AD42118972F
+:1015E000F40C1510C040FEB0F92DAE8CD82AD703EC
+:1015F00080000840D401F40C1510C060178C580C02
+:10160000C030FEB0F925D80A8000084CD4211895C6
+:1016100016971496C0680E9CFEB0F9462FF70ACCB8
+:101620000C9CFE360001F80B1510CF61D82AD703A9
+:10163000800008A4D421189616951497C0680B3B17
+:101640000C9CFEB0F95B2FF60E9CFE370001F80BE8
+:101650001510CF61D82AD703800008F8E069001080
+:10166000EA190000F60B001B16091898580A5E0DBF
+:10167000133B201A10CBCFD15EFD0000E06900982B
+:10168000EA190000F20B00291898580A5E0D133B66
+:10169000201A10CBCFD15EFDFC198080120B189858
+:1016A000580A5E0D1739201A10C9CFD15EFD00000F
+:1016B000D4013019FC188080100CFEB0F98DD80AC6
+:1016C000800009D4E06C0098EA1C0000358BB88BD0
+:1016D000320BB89BE1BB0040B98BB8ABE1BB00401B
+:1016E000B18BB8BB5EFD0000D401201D301A300B59
+:1016F0001A9CC75F1B8B580B5F1C2FFDD802000084
+:10170000D401C81CFEB0FFE0FEB0FFF0E06B08FCA7
+:10171000EA1B0000B6CCDA0A800016C4800016E886
+:101720005EFD0000D401E06C0910EA1C0000198A7B
+:10173000149BE21B0060E04B0020C020D80A1999DE
+:10174000E06808FCEA180000E06B00B4EA1B000047
+:10175000A98AC2522029C1B02019C0402029C0C086
+:10176000C4B8989A580AC48198BA586AC451992B37
+:10177000306BB86BDA0A989A580AC3E198BA581ACB
+:10178000C3B12FCB992B301BB86BDA0A17CC58ACEE
+:10179000C330702C580CC3005D1CD8022019C10046
+:1017A0002039C0602029C28117CA58AAC250989A0D
+:1017B000580AC22198BA580AC1F1C25CDA0A17CA9B
+:1017C00058AAC1A0703A580AC070E06B1DE0EA1B2D
+:1017D0008000994BDA0A98BA580AC0E0E06B00BC66
+:1017E000EA1B0000992B340BB86BE06B145CEA1B0E
+:1017F0008000995BDA0A30FCB68C30ACB6CCD80AE3
+:101800005EFD0000300CE06B00B4EA1B0000B68CFB
+:10181000302AB6CAE06B08FCEA1B0000B6DC970C65
+:10182000972C973C5EFD0000D431205DFACCFFF888
+:10183000E06B1F4CEA1B8000B709B928170818A8ED
+:101840003FF73FF4E0661E28EA1680005D16E0A030
+:1018500002F7501CE0651E80EA1580005D15E0A0CF
+:10186000031518905D165D15300330053006C2185B
+:101870001830C1F4401B0A3BC1C41615F80001061C
+:10188000EC0B141FE072C200EC020648F60203499A
+:10189000109A129B0A98EA09141FE0A0025F1493A1
+:1018A000580AC070400C141C5C4CE04C2711C12538
+:1018B00050030A920C91E0A002C31895E0A002E642
+:1018C00018960435C035023CCD445803C031300C65
+:1018D000C178300CFACAFFF8F40C032B062B083B36
+:1018E000F6041730F80717302FFC583CCF435BF74E
+:1018F000E60C1700C050FACBFFF8F607032C2FBDFB
+:10190000D832D70380001D5880001E3C80001E88FE
+:10191000D401300CC24CD303FE7C1000E06B0A03F0
+:10192000EA1B5501990BE06B0A03EA1BAA01990B0C
+:10193000C0080000D401300CC12CFEB0FD4F300CAB
+:10194000E3BC0042E1BC0042E04C0480CFC3FEB0E7
+:10195000F3C6D80A800013D8800000DAD421189783
+:10196000300CE06B01FCEA1B8080EE0A1518C040C9
+:10197000760AAB8AC373760AA9DAF5E71097318B3A
+:10198000EE0B0A4A5C5A145CA96C5C7C308AEDBC94
+:10199000000FC042EC1C83805C7CA17C5C7C201A24
+:1019A000CF71A98C208BCED1E017FF001847FC1611
+:1019B0008080FEB0F7AD37FC6C0B0CAB201CCFD198
+:1019C000E06B01FC169C6C0A163CEE0A17000CAA90
+:1019D0002FCCE04C0200CF85300CFEB0F7E9FEB012
+:1019E000F7F5D82A8000090C800009AC800009C8EE
+:1019F000D431E06708FCEA170000E066003CEA1614
+:101A000000000FDCEC0C0F8BF735000CE06300FCE2
+:101A1000EA1300006E4C580CC250E06B0800F80B43
+:101A20000D445C74081C8F4C089A6E0B069C0FD9F1
+:101A3000EC090F8870195D19069CC0486E0B2FFBCE
+:101A40008F0B089BFE3400015C74F60A1510CE3033
+:101A5000193B0A3BCF40305CE06B00B4EA1B00004E
+:101A6000B68C0FACA68C0FBCA69CE06C0910EA1CCF
+:101A700000009923302BB86BDA3A0000D421E065DE
+:101A800008FCEA1500006A0BF7DBC0066A4C160C6E
+:101A90008B4CE0670800F8070D4C5C7CF80B0104E8
+:101AA0005C746A4A181A8B4AE06600FCEA16000069
+:101AB000580CC100089A0C0B6A0CE069003CEA194A
+:101AC00000000BD8F2080F8E7C295D196A0C080CF7
+:101AD0008B0CE06C0910EA1C00009926B867E06BDB
+:101AE0001A7CEA1B8000995BDA2A0000EBCD40FEED
+:101AF000E06C1F58EA1C8000E06E1F70EA1E800038
+:101B0000300A300B190719061905EFE61003E7D361
+:101B1000C002C1C1EA041603C1900C37C090AF09DE
+:101B20002014AD28CFD1EBD5C003C121C0B82014FB
+:101B3000AD2ACFE1EBD5C003C050300220150CC256
+:101B4000CFD11C3CCE03E3CF80FE0C37CF700F31DA
+:101B500020150CC1CEBB0000D401201DE06B08FC99
+:101B6000EA1B0000760A500A198AB6AA199AB6BA70
+:101B700019AABAAA19BABABA760C1B091839C0B38D
+:101B8000E06A003CEA1A000017D8F4080F8E7C0ABD
+:101B90001439C0B3E06C00B4EA1C0000308BB88B81
+:101BA00030ABB8CB300CD802122C2FFC974C301C29
+:101BB000D8020000D421E06708FCEA170000E06CBE
+:101BC00008006E4BF60C0D465C76F606010C8F4C49
+:101BD000E06500FCEA1500000C9A6E0B0A9CE069B7
+:101BE000003CEA1900000FD8F2080F8E7C195D192D
+:101BF0006E0C0C0C8F0CE06C0910EA1C000099258F
+:101C0000B866E06B1BB4EA1B8000995BDA2A00001F
+:101C1000D4211897E06607F0EA168000E06B07D041
+:101C2000EA1B8000E06C8A41EA1C01F71837C10307
+:101C3000301C5D1BE06C1481EA1C03EF18373FFB7E
+:101C4000C042311C5D16D82A310C5D16D82A300CE2
+:101C50005D1B3FFB311C5D16D82A0000D401FE79C4
+:101C60000404720AFE7904D47208A788C0333FFCCA
+:101C7000D802E1B90000D3033048F00C0028EA187C
+:101C8000AA00FE7E04589D08E01AFFF8F7DBC003A7
+:101C9000144BA7BBFE7A0404F40C092BB199C023A2
+:101CA000D503D80AD4017828BD98CFE3A96BA1AB9E
+:101CB000F94B0040B16A990A782BB99BCFE3129B8C
+:101CC000C0CCDA0A782BB99BCFE3780BA1AB990B88
+:101CD000782BB99BCFE35EFD782AB99ACFE3991BA5
+:101CE000782BB99BCFE35EFDD4013009300A305B1D
+:101CF000300CFEB0FACB300CE0A00080D80AD7033D
+:101D000080001DF8D401300CFE7B0864970C30096C
+:101D1000300A305BFEB0FABAD80AD70380001288C6
+:101D2000D401D503FEB0FAD8E0A000A6E0A000924E
+:101D3000C031E0A00095C008800012D480001E745D
+:101D400080001E50D401F80B1518C030E0A00088A8
+:101D5000D80AD70380001E5CEBCD4080340C3007DE
+:101D6000300EA17A5CFB5CFE5CF7103EF2071300BC
+:101D7000C053101EEE090147A1AA201CCF310E99B5
+:101D80001C98E3CD80800000E0690000EA19800023
+:101D9000121CF9DCC00EF9EA11ECFE7A0000A59BDA
+:101DA000F40B092C5EFD0000E1BB0000D303FC1A1C
+:101DB000AA00FE790458930AFE7A0400950CB19BA0
+:101DC0005E3DD5035EFD0000D401300CFEB0F55A37
+:101DD000300CFEB0F5C7DA0A800008808000096088
+:101DE000D401E0A00043E06C08FCEA1C0000783B52
+:101DF0005D1BD80A80001E68FE7B0864F60C002B71
+:101E0000760CA19C5E3D760CA1AC970C5EFD0000AB
+:101E1000FC198000120B1898580A5E0D1739201A09
+:101E200010C9CFD15EFD0000D401300BFE7C0C0048
+:101E3000FEB0FF54D80AD70380001CD8D401FE7C22
+:101E40000C00E0A00027A17CD802D70380001E90E0
+:101E5000D401FEB0F213D80280000278D401FEB0A3
+:101E6000F273D80A80000344D401FEB0F25BD80AB2
+:101E700080000320D401FEB0F203D80A8000027C67
+:101E8000300CE3BC00425EFDE1BC00425EFC0000A1
+:101E9000781B5EFB000010000000200000004000E6
+:101EA000000080000000C000000100000001800070
+:101EB0000002000000030000000400000006000013
+:101EC00000080000000C00000010000000200000CE
+:101ED00000000000000000000000000000000004FE
+:101EE0008000167C000000000000000000080000D8
+:101EF00080001E10800015CCFF00000000000000D4
+:101F000000000000000000000000000000000001D0
+:101F1000800015DC800015F40000000000000020A7
+:101F20008000160C80001634010000000000000341
+:101F30008000165C000000000000000000000200AD
+:101F400080001698800016B0FF000000007A120092
+:101F500000B71B0000F4240080001F700000000880
+:101F60000000008C0000009800000098000008DAD3
+:101F7000800007E4000000001000000004030904D2
+:101F80000C03410054004D0045004C000803440080
+:101F9000460055008000170080001720800017249D
+:101FA0008000180080001EEC80001EFC80001F0CCA
+:101FB00080001F1C80001F2C80001EDC80001F3C46
+:101FC0001201000200000040EB03EB2F00010102B0
+:101FD0000001000009021200010100800209040052
+:101FE00000000000000000000000002C0000006C59
+:0C1FF00000000080000000580000008489
+:040000058000000077
+:00000001FF
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/at32uc3c-isp_cfg-1.1.0.dat b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/at32uc3c-isp_cfg-1.1.0.dat
new file mode 100644
index 0000000..76f0ab2
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/at32uc3c-isp_cfg-1.1.0.dat
@@ -0,0 +1 @@
+’žbáÿ× \ No newline at end of file
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/program_at32uc3c-isp-1.1.0.cmd b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/program_at32uc3c-isp-1.1.0.cmd
new file mode 100644
index 0000000..3bf47f7
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/program_at32uc3c-isp-1.1.0.cmd
@@ -0,0 +1,56 @@
+@echo off
+setlocal enableextensions enabledelayedexpansion
+
+: This command script programs the ISP (flash array), the ISP
+: configuration word (User page) and the general-purpose fuse bits.
+
+: Copyright (C) 2006-2008, Atmel Corporation All rights reserved.
+:
+: Redistribution and use in source and binary forms, with or without
+: modification, are permitted provided that the following conditions are met:
+:
+: 1. Redistributions of source code must retain the above copyright notice, this
+: list of conditions and the following disclaimer.
+:
+: 2. Redistributions in binary form must reproduce the above copyright notice,
+: this list of conditions and the following disclaimer in the documentation and/
+: or other materials provided with the distribution.
+:
+: 3. The name of ATMEL may not be used to endorse or promote products derived
+: from this software without specific prior written permission.
+:
+: THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED
+: WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND
+: SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
+: INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+: BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+: DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+: OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+: NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+: EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+echo.
+echo Performing a JTAG Chip Erase command.
+avr32program chiperase
+
+echo.
+echo Programming MCU memory from `at32uc3c-isp-1.1.0.hex'.
+avr32-objcopy -I ihex -O binary at32uc3c-isp-1.1.0.hex at32uc3c-isp-1.1.0.bin
+avr32program program -finternal@0x80000000 -cint -e -v -O0x80000000 -Fbin at32uc3c-isp-1.1.0.bin
+del at32uc3c-isp-1.1.0.bin
+
+echo.
+echo Programming ISP configuration word \(default for EVK1100 i.e. Word2 == 0x929E1424 and Word1 == 0xE11EFFD7\)
+avr32program program -finternal@0x80000000 -cint -e -v -O0x808001F8 -Fbin at32uc3c-isp_cfg-1.1.0.dat
+
+echo.
+echo Programming general-purpose fuse bits.
+avr32program writefuses -finternal@0x80000000 gp=0xFFF7FFFF
+
+echo.
+echo Resetting MCU.
+avr32program run -R
+
+pause
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/program_at32uc3c-isp-1.1.0.sh b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/program_at32uc3c-isp-1.1.0.sh
new file mode 100644
index 0000000..de04095
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/program_at32uc3c-isp-1.1.0.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+# This shell script programs the ISP (flash array), the ISP configuration words
+# (User page) and the general-purpose fuse bits.
+
+# Copyright (c) 2009 Atmel Corporation. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# 3. The name of Atmel may not be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# 4. This software may only be redistributed and used in connection with an Atmel
+# AVR product.
+#
+# THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+# EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+#
+
+
+echo
+echo Performing a JTAG Chip Erase command.
+avr32program chiperase
+
+echo
+echo Programming MCU memory from \`at32uc3c-isp-H.hex\'.
+avr32-objcopy -I ihex -O binary at32uc3c-isp-1.1.0.hex at32uc3c-isp-1.1.0.bin
+avr32program program -finternal@0x80000000,512Kb -cint -e -v -O0x80000000 -Fbin at32uc3c-isp-1.1.0.bin
+rm -f at32uc3c-isp-1.1.0.bin
+
+echo
+echo Programming ISP configuration words \(default for EVK1100 i.e. Word2 == 0x929E1424 and Word1 == 0xE11EFFD7\)
+avr32program program -finternal@0x80000000 -cint -e -v -O0x808001F8 -Fbin at32uc3c-isp_cfg-1.1.0.dat
+
+echo
+echo Programming general-purpose fuse bits.
+avr32program writefuses -finternal@0x80000000 gp=0xFFF7FFFF
+
+echo
+echo Resetting MCU.
+avr32program reset
+
+pause
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/readme.txt b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/readme.txt
new file mode 100644
index 0000000..7b4d631
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.0/readme.txt
@@ -0,0 +1,4 @@
+Header files package: SVN revision 10251.
+
+
+IAR version : 3.31 \ No newline at end of file
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/at32uc3c-isp-1.1.1.hex b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/at32uc3c-isp-1.1.1.hex
new file mode 100644
index 0000000..cd7f4ee
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/at32uc3c-isp-1.1.1.hex
@@ -0,0 +1,504 @@
+:0200000480007A
+:10000000E1B80000F1D8C2C35818C090FEC8FFF094
+:10001000FC190061E06D0DF4D041D6033008FE7983
+:100020001000E06A01FCEA1A8080FE7B0400700088
+:10003000E061504BEA1149537402E06301070494F4
+:10004000C76CC141E7D2C210E043E11EC0F1EDB27E
+:100050000009C0C3F6F30180E06423170873C131BF
+:10006000EDB30003C3830230C3C1C53C9101E06D11
+:100070000E0CD353FEC00074E3B00001E0A00CF8F6
+:10008000E0A00D98EDB20008C262E06A01F8EA1A39
+:1000900080807402E06301070494C49CCE71E7D2AF
+:1000A000C22FE043494FCE21E7D2C108E043007C94
+:1000B000CDD2FE7A2000E6041605A974080A7584DC
+:1000C000E013001FE8030A44E7D2C2010654EDB46E
+:1000D0000000CCC20230C051C1CC300830009100C9
+:1000E000FC100061E3B0000030003001300230034A
+:1000F000300430053006300730083009300A300B44
+:10010000300C300D300EE3B00001E3B0004248BFC8
+:10011000FC1255009302EE12FF0093021C9FE805AB
+:100120001200EA051117E60509450A54E04400FFEC
+:10013000FE9BFFF758045EF480002000308A310CEB
+:10014000FE6B10047609AD99C1837609A589C55364
+:10015000FE6A18003019763EA19EC5727608A198F5
+:10016000C542740BAFCB950BFE6B10049749975C9F
+:10017000740CAFAC950CC6D8FE691220930C930A90
+:10018000FE6911307208A398C042E0A0019DC61814
+:100190007208A388C042E0A0025FC5B87208A198A7
+:1001A000C092FE6811C0700EA19EC042E0A001E4A2
+:1001B000C508E06E0980EA1E00007D08720EA58E5B
+:1001C000C08293CA720CA19CC4435838C421C0F8A1
+:1001D000720EA59ECBB293CC720CA38CC3A35818FD
+:1001E000C041E0A002A5C3585848C331E86C0000E4
+:1001F000FE6B11C097CCC2D8971AE0A00521E0A0F1
+:100200000107E0A0014DC258763EA59EC1227608A6
+:10021000A598C0F27408AFC89508FE6A1800741853
+:10022000AF98C043760AA19ACF92974C9759C118BC
+:10023000741BA38BC0E2740CAFCC950C302C952CA6
+:10024000740CAFAC950C741CF9DCC161E0A00CC45B
+:10025000FE6C1800786BD603800004C4800006543E
+:10026000800005748000072C80000C3C8000040C8A
+:100270008000049C80001BD4E1BC0000D3035EFC22
+:100280005EFF0000D421E0A00CB5CF7F1897FE667A
+:1002900018006C0CAFDC8D0C6C0C300AE06B0100AC
+:1002A000E06C013CEA1C8000E0A00CF06C0CB9BCD6
+:1002B0008D0C6C0CB9CC8D0C6C0CADCC8D0C6C0C0D
+:1002C000ADAC8D0C6C0CAFBC8D0C6C0CAFCC8D0C34
+:1002D0006C0C6C1BAF9BCFE2E0690980EA1900004F
+:1002E000300A300BF2EB0020F2EB0028F2EB00308A
+:1002F000F2EB00386CCB2E098DC9FE6C1000780B28
+:10030000ADCB990B780BE81B0C00990B6C0CA1BCC6
+:100310008D0C6C0CAFAC8D0CFE7C0588780BA1AB02
+:10032000990BB197C023D503D82AD70380001BF0BF
+:1003300080001C88D421CA1F1897FE6C1800780B07
+:10034000AFDB990B780BADCB990BE0A00C61B197AB
+:10035000C023D503D82AD70380001C0CD421C8DFC2
+:100360001897FE6618006C0CAFCC8D0C6C1BAF9B05
+:10037000CFE2FE6C1000780BA9CB990BE0A00460D3
+:10038000C46CC8DC308CFE6B1000976C301BFE6AAE
+:100390001000956B310AFE691000936A932C304C63
+:1003A000932C933B932A6C0CAFAC8D0CB197C0236C
+:1003B000D503D82A80000C3CFE6C1800780BAFCB1C
+:1003C000990BFE6C1000780BA9AB990B5EFD000039
+:1003D000FE6B1000760AA7DA970A760AE01AFF8009
+:1003E000F9DCC007144C970C760CA7BC970C5EFD8B
+:1003F000FE6B1000760CF9DCC0075EFCE06A098039
+:10040000EA1A0000952CB46B5EFD0000D401FE6C6E
+:100410001000780BE01BFF80990B780BA7BB990BA2
+:10042000FE6C1100780B308A3409F20A0C4AE0693C
+:100430000400F4090D4AE01BE68B3FF9F20A001AAA
+:10044000F4091200F20A111CA56AE21A1974144B7D
+:10045000990BE06C0980EA1C0000F8CBFFBC998B7B
+:10046000789BE41B8000999BFE6C1000787BA1AB0D
+:10047000997BFC1C0100FE6B11F097CCCFEEFE6B5C
+:1004800011F0304A970A302A970AE06B1000FE6A92
+:100490001000956BB19CC023D503D80A301CFE6BAD
+:1004A0001220970C302CFE6B1160970C300CE06B17
+:1004B0000980EA1B0000974C975CB66CF74C004033
+:1004C0005EFD0000D421E0670980EA1700006F0C90
+:1004D000580CC030C5EDCE3FFE6611F0FE651160D0
+:1004E00030446E9CF9DCC00F588CC090305CEF4CEF
+:1004F0000040E86C00008D0C8B04D82AEEEA004422
+:10050000AF1BF9DBC0105CCCAE1C8EAC5CCCAE2C4F
+:10051000F9DAC0105CCCAE3CE0A004E8CE808B04DD
+:10052000E06C0A04EA1C0000300B0F8AA98AC0F2B2
+:100530008EEAF5DAC006F40915105F0AB88AB81B0E
+:10054000B82B302CEF4C0040C16CD82A8EBA580A18
+:10055000C031CEDCD82AB81BB82B301CEF4C004081
+:1005600031078B07C8AE8D07B19CC023D503D82AAD
+:1005700080000EE8D431E0630278EA1380005D1356
+:100580003017FE6B11F097C7B19CC023D503E0660E
+:100590000980EA1600006D0C583CC041CFACC7FF83
+:1005A000D83A8CECE0650A04EA1500008AA4182405
+:1005B0005C74C1F10B8B580BC031CD5CD83A300262
+:1005C0008A9B160C8CBB163CC0656C5C580CC0300A
+:1005D0005D1CC031AA82C1188AAC8A9B180BAA1B69
+:1005E000AA228CE4F9D4C006F80B15105F0CAA8C73
+:1005F000E0440041F9B404405D13FE6B1130760A0B
+:10060000A38AC082B19CC023D503304CED4C00407E
+:10061000D83A6C298AAB1609089BECCEFFBC58046B
+:10062000C0501338201B1CC8CFD18AAB080BAA2B93
+:100630006C9BE01B8000E9D4C00F16448D94FE6BC8
+:10064000113097C7FE6B11F09707B19CC023D503FB
+:10065000D83A0000D431E0670980EA1700006F0C37
+:10066000FE6611F0E86500003054581CC0C0582CDC
+:10067000C030584CC031C8DCC048EF4400408D0544
+:10068000C0EFD83A6E9BF7DBC00FE0630A04EA13B1
+:10069000000086AC189A8EE9F80B00081039C044A7
+:1006A000F20C010B5C7BEEC9FFBC6E2C180A169C89
+:1006B000149E580BC0501338201C1CC8CFD186ACD8
+:1006C000160CA62C5C7CFE6211603021E04B0040D1
+:1006D000C061869B180B8EBA143BC0F5AE6C6E5C85
+:1006E000580CC0805D1CC061EF4400408D05850141
+:1006F000D83A8501C1CCD83A8EEBF80B1900C0C1AD
+:100700006E5C580CCF205D1CCF0086AC869B180B0E
+:10071000A61B300CA62C850131078507FEB0FDAE67
+:100720008D07B19CC023D503D83A0000D401E06CFA
+:100730000980EA1C0000303BF94B0040789BE01B2D
+:100740008000999BFEB0FD9AFE6B1160301A970AEB
+:10075000FE6911F0930A308A970A930AB19CC0236C
+:10076000D503D80AD401304CE06B0980EA1B0000A5
+:10077000F74C0040FEB0FD82310BFE6A1160950B14
+:10078000FE6A11F0950BB19CC023D503D80A000076
+:10079000D401E06B0980EA1B0000764C580CC020A5
+:1007A0005D1CD80AFE6C000C780BE06A1D34EA1A56
+:1007B0008000F7DBC004F40B032CA99C5EFC000056
+:1007C000FE6A00007409A7C9340BF7EC006C124CE8
+:1007D000950C5EFDFE6B0008760CA19CCFC25EFD01
+:1007E000D42118951697E0660008EA160000F01666
+:1007F0000000FE6C0004780BE01BFFC0EBD5C006C8
+:1008000016455807C0A6E01500FFE415FF000A9B37
+:10081000EBD7C010F7E51085EBD5C018EA15A50099
+:100820009905781CE21C000C8D1CF0160000D82ADB
+:10083000FE6B0008760CF9DCC0815EFCD4013FFB46
+:10084000309CCCFFD80A0000D401F60A1518304AB3
+:10085000F9BA0005189B149CCC4FD80AD4211896DD
+:100860001697CA1F0E9BA58CB9360C9CCEEFD82AC2
+:10087000D42118973006310520150E9B0A9CCEFF17
+:10088000E06B0008EA1B0000761C18465805CF51A3
+:100890009716D82AFE6B00147618760A3009144988
+:1008A000F9DCC006EDBC0005F2081730F00C0A4870
+:1008B000A1985F3C5EFC0000D42118971696F7DCE7
+:1008C000C006308CC8EFEC0C1518C0400E9CCE3F13
+:1008D000D822DA2AD401F60A1518C061F9DCC0065C
+:1008E000189B307CC7EFD80AD401F60A1518300BD4
+:1008F000C030CE3FD80ACEFFD80A0000D401189BE2
+:1009000030CCFEB0FF6FFE6B0008760CF9DCC0A1A6
+:10091000D8020000D42116973016189B302CFEB058
+:10092000FF61EE0C1518C0C0E0670008EA17000070
+:100930006E153FFCCE4F18966E1C18458F150C9CFB
+:10094000D8220000D4013FFB30FCFEB0FF4BFE6B11
+:100950000008760CF9DCC0A1D8020000D421189759
+:100960003FFB30ECFEB0FF3EEE0C1518F9BC000169
+:10097000C020CE9FD8220000D671204D3001300318
+:10098000FE6C000C7809FC188000E06E1D34EA1E35
+:100990008000F3D9C004FC09032C180850284056E5
+:1009A00016970C0A1495FC1C80001836C0825C3621
+:1009B000160618060C97FC168000C0D81036C0B377
+:1009C000FC1C80801836C0725C36160618060C9720
+:1009D000FC168080E06C0201EA1C8080183AC0633B
+:1009E000E0650200EA158080C098301CEA1C808017
+:1009F000183AC0421438FBF530020A9CA1CCE01C26
+:100A0000FFFCE01CFFF8503CE5D5C003C0E8580BE4
+:100A1000C050300CCA4F681C18433FFB30DCFEB09E
+:100A2000FEE1069C68131843E0640008EA14000025
+:100A30000A36E08200AA3FFB303CFEB0FED3681CC1
+:100A400018430C99E019FE00F2CCFE00403AF40C79
+:100A50000D4E0A9CE01CFE0018395F2CF7D6C00929
+:100A6000C2200C90E010FFF8C038B30AB32A003956
+:100A7000CFD3F7D6C003C1703008133AFA080B0A77
+:100A80002FF81638CFB35888C0620F3BFA080B0B0B
+:100A90002FF8CFAB0096403A1430C042BB0AAD2AC3
+:100AA000C0283011A39EEC0B1603161E1C98303B79
+:100AB0000E6B167BC040202BC080C1E85808C1E0F7
+:100AC000AF0BAD2A2018CFBB5808C180300B0F2ABE
+:100AD000FA0B0A1A2FFB584BCFB3BB0AAD2A2018CA
+:100AE000CF4B300B0F3AFA0B0B0A2FFB588BCFB3BF
+:100AF000BB0AAD2A20185808CF51F80B1518C200B0
+:100B0000E20C1518C0300498C0983008C0580F3C4B
+:100B1000FA080B0C2FF80438CFB30A995802C061B9
+:100B2000C0C8133CFA080B0C2FF85888CFB3BB0A87
+:100B3000AD2AC038B30AB32AF9D9C009CFC1301CD5
+:100B4000EA1C80801836FB3B001BFE92FF62580BAC
+:100B5000C070300B3FFCFEB0FEDF681C18433FFB4B
+:100B6000301CFEB0FE3F069C68131843402B16361F
+:100B7000FE93FF5C5C360E06FC1C808018060C970A
+:100B8000FC168080C52B8913405C2FCDDC720000E1
+:100B9000D401E06A00F4EA1A000015895809C0215E
+:100BA000D80AE06A00E8EA1A00007418700913C84D
+:100BB000F00C1800CF6295297418700E1DB92FEE35
+:100BC000FDD950005CC9202E5C791C09C048118EEB
+:100BD0001C08952874281238CE42119E584ECF8199
+:100BE00011AEFC0C1800CF4111BEFC0B1800CF0158
+:100BF000DA0A0000D4211897300BCCBFC021D82AC4
+:100C0000E06C00E8EA1C0000781B761CF8070F8BEC
+:100C1000761C5D1CDA2A0000D4211897CBAFC021C6
+:100C2000D82AE06C00E8EA1C0000781B761CF80764
+:100C30000F8BF01B00005F1CD8220000D421E0675E
+:100C400000E8EA170000E06600F4EA1600000D8CE8
+:100C5000580CC0C03005C0580A9CCCDF2FF55C553D
+:100C60006E1C780B17CC1835CF85300CAC8CE06C33
+:100C70000100AE1CD82A0000D401E06B0980EA1BF9
+:100C80000000969CF9DCC007FEB0FBA4D80AD7038D
+:100C9000800003D0D421E0670980EA1700008E9B12
+:100CA000F3DBC008E06800D4EA180000E06A03FC47
+:100CB000EA1A8000F60C1608201CC060201CC0E058
+:100CC000201CC210D82A700C198B5D1A8EBC8EEBBA
+:100CD000F60C1900EFFC3C06DA2A700CF93B001107
+:100CE0001639C025D82A701BF609033C19BB2FEC16
+:100CF000F9DB50005CCB5C7B202C5D1A302C6E2B1A
+:100D0000B69CCE5BE06C0014EA1C00005C5B167BBA
+:100D1000C060201BC070201BC180D82A304B2E4CD5
+:100D2000CD5B305BF8C9FFE03008F208070E5CCEFF
+:100D3000F8080016AC1E2FF81638CF853029F20BB4
+:100D4000001BB88B5C5BCC2B30CBF8C9FFD8CEDB5B
+:100D5000D431E0660980EA1600000D8CE06500F4ED
+:100D6000EA1500000B8BE06700E8EA170000EDBC15
+:100D70000007C4828CBAF4091510C021D83AF9DCF6
+:100D8000C005E06403FCEA148000580CC1A10D9C6E
+:100D9000187CC060206CC0C0202CC0C0D83A582A33
+:100DA000C020D83A302BEECCFFFE5D14DA3AC73FB4
+:100DB000D832581AC020D83A301B0A9C5D14DA3A4F
+:100DC000581CCDD10D9C58ACCDA1581AC020D83A92
+:100DD000F60C1518CFD08CA55C556E1C780B17CC73
+:100DE0001835CF64300B0A9CCD4ECF206E1C781B7B
+:100DF000F605032C783B5D1BAE8C301B0E9C5D14FE
+:100E0000DA3AF9DCC005E0640C18EA148000580CEA
+:100E1000C4F10D9C201CC140202CCB10202CC060A4
+:100E2000202CCAD0202CC180D83A8CBC580CC020B1
+:100E3000D83AE06C0C78EA1C80008D4CDA3A8CBC15
+:100E4000580CC020D83A8C9C581CCFD18E9CE21CE8
+:100E5000FDFFAE1CDA3A8CBC580CC020D83AFEB06C
+:100E6000FAC9CFD0E06300D4EA130000660CF93B66
+:100E700000118C9CF80B1800CF23CE1E8C9CAA8CE2
+:100E80005C5CF80B1518C021DA3A661BF60C003BC7
+:100E9000208B8F1B30066E1C780B17CC1836CF5466
+:100EA000300B0C9C5D14CDB02FF65C56CF5B581CFC
+:100EB000FE91FF660D9C58BCFE91FF628CBC580CE5
+:100EC000C030300CC0E8F60C1518CFC08CA55C55AE
+:100ED0008C975C570A9CC8FECF500E9B0A9C5D14F1
+:100EE0005C5CD832800003F0D421300CE0670980CC
+:100EF000EA170000AE6C8F4C8F5C0F8CEDBC0007C6
+:100F0000C0528EBB580BC021D82AE21C0060C041E1
+:100F1000C20FC020DA2A0F8CF9DCC005581CCF5153
+:100F2000E06C00F4EA1C0000198B580BCEE08EA692
+:100F30005C56E06700E8EA1700006E1C780B17CCDF
+:100F40001836CE34E0650B90EA158000300B0C9C0F
+:100F50005D15CDB06E1C781BF60603276E3C5D1C3C
+:100F6000F7DCC0080C9C5D15CD006E2C5D1CCD31EE
+:100F7000D82A0000D401C65CE0A003B2E0A003C2FE
+:100F8000E06B00F8EA1B0000F76C0008DA0AD703F0
+:100F9000800016DC800017005EFD0000D421E065B3
+:100FA0000980EA1500000B8C189BE21B0060E04BE7
+:100FB0000020C020D82A0B9BE06603FCEA168000C4
+:100FC000E06700F8EA170000A98CC162202BC0F08E
+:100FD000201BC301E06C0120EA1C0000198B580B98
+:100FE000C020C33D306B0E9C5D16DA2A6E6C580C27
+:100FF000C2105D1CD822201BC050203BC1B1C21CB6
+:10100000DA2A6E7C580CC0A0300CE0A003CBE06C58
+:101010001060EA1C80008B4CDA2A340BE06C01244F
+:10102000EA1C00005D16E06C1070EA1C80008B5C0E
+:10103000DA2A30FCAE8C30ACAECCD82A5EFD000093
+:10104000300CE06B00F8EA1B0000B68C302AB6CA00
+:10105000E06A0980EA1A0000955C954C977C5EFD79
+:10106000D401E06C00F8EA1C0000787B5D1BD80A14
+:10107000D431201DCE6FE06700F8EA1700000E960D
+:1010800030048F64301CE0A0038DE06A0964EA1A22
+:101090000000EF3C000815831863E06C0124EA1C93
+:1010A000000019A9E0650164EA150000E0681294E7
+:1010B000EA188000E06000FF30A23031198E199BE1
+:1010C000F7EE108EE02E0100C0F0E02E0200C2D03C
+:1010D000201EC430E02E00FFC6F0203EC710E02ED8
+:1010E0000200C7E0CAC8E60B1518C050AE81302C0C
+:1010F000AECCCA586E5B580BC041AE81AEC2C9F8C7
+:101100002FEC5D18E080009CE06B08000A9CFEB0AC
+:10111000F977E06C1C28EA1C8000E06B0980EA1B70
+:101120000000975C301CC8C82FEC5D18E080008878
+:101130006E4C580CC041AE81AEC2C818E60C1518F2
+:10114000C060E06C1280EA1C8000C058E06C12D8CD
+:10115000EA1C80008F6CCE7B2FEC5D18C7006E4CB4
+:10116000580CC041AE81AEC2C6A86E9C580CCDB022
+:10117000E06B0800F80B0D445C74081C8F9C089A07
+:101180006E8B0A9C6E495D190A9CC0486E8B2FFBC2
+:101190008F8B089BFE3400015C74F60A1510CE603C
+:1011A000193B003BCF40305CAE8CE06C1304EA1C72
+:1011B00080008F6CCB8B0039C421C47CC418127999
+:1011C000C0402019C070CAFBE06C1768EA1C8000A0
+:1011D000C058E06C1784EA1C80008F7CCA4B19BB96
+:1011E0001279C0402019C200C9EB591BC055308C80
+:1011F000AE8CAEC2C248583BC080582BC060584B22
+:10120000C040585B5F1CC028300CB48C2F47E06C8A
+:10121000005CEA1C0000F80B0F8AB509AF2815081E
+:101220000EA88D84C80B300A500ABA8B19CBBA9B12
+:10123000400B6E3C183BCDC28F8BC75B300C2FFD33
+:10124000D832D703800017A0D421E06700F8EA174E
+:101250000000E0A00263C070300CEF6C0008300B9F
+:10126000302AC048301C309B304AAECAAE8BE06B8F
+:101270000120EA1B0000B68CDA2AD7038000171879
+:10128000E06C00F8EA1C0000303BB88B302BB8CB88
+:101290005EFD0000E06B00F8EA1B00007689E619AD
+:1012A000FFFF198AA96A1409199A120A978A1498D1
+:1012B000E618FFFF19A9A969120819B91009763CA7
+:1012C0001839C063308CB68C30ACB6CC5EFD122AB7
+:1012D0002FFA979A5EFF0000D421E0670164EA17B5
+:1012E0000000E06600F8EA1600006C9A5C7A6C8BED
+:1012F0000E9C6C495D196C9B5C7B0E9CFEB0F8806B
+:10130000DA2A0000D401E06C00F8EA1C0000788BB7
+:10131000E06C0164EA1C0000F60A1608B88AB89B63
+:10132000302BFEB0F86DDA0A800003FCE07B86A06B
+:10133000FE7A0814740918695E1D201BCFA15EFE99
+:10134000D421FE780818E06E1200EA1E007AE067E9
+:10135000C6C0EA17002DEC76BBA0580CC2414A3536
+:101360006A0CA1AC0C3BC0323009C0980E3BC032B5
+:101370003019C0581C3B3029F9B90203189EE01EF1
+:10138000FFF9306CF9E900191C49129BE1BC00001F
+:10139000D3033249EA19AA0091098B0BB19CC243CD
+:1013A000D503D82A49256A0C1895A1A50C3BC03253
+:1013B0003009C0980E3BC0323019C0581C3B302950
+:1013C000F9B90203E015FFF9306CF9E9001912458B
+:1013D000E1BC0000D3033289EA19AA009109484907
+:1013E0009305B19CCDE2D82AFFFF0824FFFF08280F
+:1013F000D401202DA36CFE790824F20C0308FA0C0A
+:101400000908109EE01EF0FFA96BE21B0F001C4BA9
+:10141000B1ABFA0C090BE1BB0000D303F8C8FFDC49
+:10142000EA18AA00FE7E08189D08FA0C030EF20CBA
+:10143000090EB19BC023D503F40C1518C060301CF5
+:10144000C76FC0303FFCC028300C2FEDD802000021
+:10145000D401202DA36CFE7A081CF40C030BFA0CAB
+:10146000090B1699E019F0C1E419C0F0FB38001C13
+:10147000306BF7E800181049FB38000CFB3E000EFB
+:10148000F1EE1018FB3E000DF1EE1028338BF7E85B
+:10149000003810494058A968E2180F001049404828
+:1014A000EE7B0000F7E8010810494068B968E618CB
+:1014B0003F001049FA0C0909E1BB0000D303F8C949
+:1014C000FFE4EA19AA00FE7808189109FA0C03084B
+:1014D000F40C0908B19BC023D5032FEDD80A0000F6
+:1014E000202DA36CFE7B081CF60C030AFA0C090ADB
+:1014F0001499A1A9FA0C0909E1BA0000D303F8C9AB
+:10150000FFE4EA19AA00FE7808189109FA0C03080A
+:10151000F60C0908B19AC023D5032FED5EFD00003B
+:10152000202DA36CFE7B081CF60C030AFA0C090A9A
+:101530001499A1C9FA0C0909E1BA0000D303F8C94A
+:10154000FFE4EA19AA00FE7808189109FA0C0308CA
+:10155000F60C0908B19AC023D5032FED5EFD0000FB
+:10156000FE7B0814580CC051760CA59C5E3DCFDB69
+:10157000760CA78CCFE25EFDE07B86A0FE7A086445
+:10158000F40C002A740CA1CC950C740CA19C5E2D5B
+:10159000201BCFC15EFE0000D43116971495300396
+:1015A000F20616012016FE740864E80C0024680B8D
+:1015B000A19BC0623013CE1FC0373FFCD832B1664A
+:1015C000E61600FF302CF9E500150C45A967E21777
+:1015D0000F000A4789075813C041680CA1AC890C59
+:1015E000D83A0000D4013009FC188000100CFEB07D
+:1015F000F9C5D80AD4211897F40C1510C040FEB0D4
+:10160000F919AE8CD82AD70380000830D401F40C25
+:101610001510C060178C580CC030FEB0F911D80AF4
+:101620008000083CD421189516971496C0680E9C2B
+:10163000FEB0F9322FF70ACC0C9CFE360001F80BF5
+:101640001510CF61D82AD70380000894D4211896AA
+:1016500016951497C0680B3B0C9CFEB0F9472FF60B
+:101660000E9CFE370001F80B1510CF61D82AD70366
+:10167000800008E8E0690010EA190000F60B001B82
+:1016800016091898580A5E0D133B201A10CBCFD1BB
+:101690005EFD0000E06900E0EA190000F20B00299D
+:1016A0001898580A5E0D133B201A10CBCFD15EFD5F
+:1016B000FC198080120B1898580A5E0D1739201AF1
+:1016C00010C9CFD15EFD0000D4013019FC18808014
+:1016D000100CFEB0F953D80A80000978E5BC000070
+:1016E000E06B00E0EA1B0000F80A1601B68AF80A6F
+:1016F0001614B69AF80A160CB6AABD8CB6BC5EFDD6
+:10170000D401201D301A300B1A9CC75F1B8B580B5D
+:101710005F1C2FFDD8020000D421E06700E4EA1727
+:1017200000008E8C580CC071FEB0F83EAE0C300C30
+:10173000FEB0F8A0E0660080C0D85806C0F0FE3CBD
+:101740000001AE0C300B5C7CFEB0F8E6FE36FF010B
+:101750005C568E8C580CCF21DA2AD82A800007A438
+:101760008000087080000914D303FE7C1000E06B39
+:101770000A03EA1B5501990BE06B0A03EA1BAA0155
+:10178000990BC008D401FEB0F5D7E0A000BBFEB0B5
+:10179000F4A6D80A8000033480001900800000DA23
+:1017A000D401201D300BE06A01FCEA1A8080740924
+:1017B000A9D9F3EC109C500C318C4009F20C0A4A68
+:1017C0005C5A145BA96B5C7B308AEDBB000FC04296
+:1017D000EC1B83805C7BA17B5C7B201ACF71A98B87
+:1017E000208CCEC1129AE01AFF00144B500B304AE5
+:1017F0001A9BE06C01FCC69F2FFDD80AD42120ADB6
+:10180000E0672400EA1700F40E9B300CFEB0FD9A4E
+:10181000301A306B300CFEB0FDED0E9CE0A0015E86
+:10182000E0671CA8EA178000301C5D173009300AF9
+:10183000300BFE7C0C00E0A0019BC021C008FE7CA8
+:101840000C00E0A001A5E0A0009F4ABB161CC04010
+:10185000161CC040C058305CC048302CC028303CFA
+:10186000300BFB6B002433FA508A507B506C301CD9
+:10187000FB6C0016FB6B0015FB6C0014FACCFFEC44
+:101880001A9B3149190A16AA2049CFD1300CFEB053
+:10189000FDE1300CFEB0FE26300CFEB0FE63E066CB
+:1018A00007C0EA168000301C5D16303C5D17E0670B
+:1018B0001B24EA178000301B300C5D17301B301CD6
+:1018C0005D17301B303C5D17301B302C5D17301B13
+:1018D000304C5D17300C5D162F6DD82A80001340F8
+:1018E000800013F080001AD880001B6C80001B8CD5
+:1018F00080001984007A1200800014E080001560D6
+:10190000D42120ADE06707C0EA178000301C5D17C6
+:10191000E0661B24EA168000300B300C5D16300B9D
+:10192000301C5D16300B303C5D16300B302C5D16D4
+:10193000300B304C5D16300CE0A001B8300C5D1758
+:10194000300CFEB0FDEF300CFB6C0024508C507C52
+:10195000506CFB6C0016FB6C0015FB6C0014FACC91
+:10196000FFEC1A9B3149190A16AA2049CFD1300C35
+:10197000FEB0FD702F6DD82A80001CA880001520B5
+:1019800080001450D431205DFACCFFF8E06B1D7C50
+:10199000EA1B8000B709B928170818A83FF73FF4D9
+:1019A000E0661D0CEA1680005D16E0A001A7501C41
+:1019B000E0651D20EA1580005D15E0A001B71890D4
+:1019C0005D165D15300330053006C2181830C1F4BD
+:1019D000401B0A3BC1C41615F8000106EC0B141F8E
+:1019E000E072C200EC020648F6020349109A129B0C
+:1019F0000A98EA09141FE0A001311493580AC07034
+:101A0000400C141C5C4CE04C2711C12550030A9279
+:101A10000C91E0A001731895E0A001881896043598
+:101A2000C035023CCD445803C031300CC178300C75
+:101A3000FACAFFF8F40C032B062B083BF604173008
+:101A4000F80717302FFC583CCF435BF7E60C170024
+:101A5000C050FACBFFF8F607032C2FBDD832D703BE
+:101A600080001C5880001CF880001D28EBCD40FE33
+:101A7000E06C1E54EA1C8000E06E1E6CEA1E8000C2
+:101A8000300A300B190719061905EFE61003E7D3E2
+:101A9000C002C1C1EA041603C1900C37C090AF095F
+:101AA0002014AD28CFD1EBD5C003C121C0B820147C
+:101AB000AD2ACFE1EBD5C003C050300220150CC2D7
+:101AC000CFD11C3CCE03E3CF80FE0C37CF700F315B
+:101AD00020150CC1CEBB0000D4211897E06607E0AA
+:101AE000EA168000E06B07C0EA1B8000E06C8A41C8
+:101AF000EA1C01F71837C103301C5D1BE06C148130
+:101B0000EA1C03EF18373FFBC042311C5D16D82A90
+:101B1000310C5D16D82A300C5D1B3FFB311C5D1665
+:101B2000D82A0000D401FE790404720AFE7904D494
+:101B30007208A788C0333FFCD802E1B90000D30384
+:101B40003048F00C0028EA18AA00FE7E04589D08D0
+:101B5000E01AFFF8F7DBC003144BA7BBFE7A0404BE
+:101B6000F40C092BB199C023D503D80AD4017828E5
+:101B7000BD98CFE3A96BA1ABF94B0040B16A990ABC
+:101B8000782BB99BCFE3129BC0CCDA0A782BB99B98
+:101B9000CFE3780BA1AB990B782BB99BCFE35EFD1C
+:101BA000782AB99ACFE3991B782BB99BCFE35EFDD6
+:101BB000D401D503FEB0FE24FEB0F366FEB0F3629E
+:101BC000C031FEB0F3CDC008800017FC8000028455
+:101BD00080000280D401F80B1518C040FEB0F3C09D
+:101BE000D80AFEB0F3EBD80A8000035C800003B88B
+:101BF000D4013009300A305B300CFEB0FCCF300C21
+:101C0000E0A00070D80AD70380001CE0D401300C9B
+:101C1000FE7B0864970C3009300A305BFEB0FCBED6
+:101C2000D80AD70380001598D401E06900F8EA19B2
+:101C30000000728C729A5C7AE06B0164EA1B00000F
+:101C4000F1DCC006100B72585D18300CE06B098097
+:101C5000EA1B0000975CDA0AEBCD4080340C3007B9
+:101C6000300EA17A5CFB5CFE5CF7103EF2071300BD
+:101C7000C053101EEE090147A1AA201CCF310E99B6
+:101C80001C98E3CD80800000E0690000EA19800024
+:101C9000121CF9DCC00EF9EA11ECFE7A0000A59BDB
+:101CA000F40B092C5EFD0000E1BB0000D303FC1A1D
+:101CB000AA00FE790458930AFE7A0400950CB19BA1
+:101CC0005E3DD5035EFD0000FC198000120B1898E4
+:101CD000580A5E0D1739201A10C9CFD15EFD0000D9
+:101CE000FE7B0864F60C002B760CA19C5E3D760C06
+:101CF000A1AC970C5EFD0000D401FE7C0C00E0A0BE
+:101D00000019A17CD802D70380001D30D401300B0C
+:101D1000FE7C0C00FEB0FF46D80AD70380001BA053
+:101D2000300CE3BC00425EFDE1BC00425EFC000002
+:101D3000781B5EFB00001000000020000000400047
+:101D4000000080000000C0000001000000018000D1
+:101D50000002000000030000000400000006000074
+:101D600000080000000C000000100000002000002F
+:101D7000000000000000000000000000007A1200D7
+:101D800000B71B0000F424000008000080001CC8FD
+:101D9000800015E4000000000000000000000000CA
+:101DA00000000001800015F48000160C00000020E7
+:101DB000800016248000164C00000003800016747A
+:101DC00000000000000000048000169400000000E5
+:101DD00000000200800016B0800016C8000000005D
+:101DE00000000000000000000000000000000000F3
+:101DF00000000000000000000000000000000000E3
+:101E000000000000000000000000000000000000D2
+:101E100000000000000000000000000000000000C2
+:101E200000000000000000000000000000000000B2
+:101E300000000000000000000000000000000000A2
+:101E40000000000000000000000000000000000092
+:101E50000000000080001E7000000008000000D498
+:0C1E6000000000E0000000E00000092A83
+:101E7000800007D4000000001100000000030000F3
+:101E80000000000000000000000000000000000052
+:101E900000000000000000000403090441544D4507
+:101EA0004C000000444655204154333255433343DF
+:101EB0000000000080000F7480000F9880000F9CCD
+:101EC0008000103C80001D8880001D9480001DA0B3
+:101ED00080001DAC80001DB880001DC480001DD096
+:101EE00080001DDC80001DE880001DF480001E00C5
+:101EF00080001E0C80001E1880001E2480001E30F2
+:101F000080001E3C80001E481201000200000040BC
+:101F1000EB03EB2F01010102000100000902120096
+:101F2000010100C0320904000000000000000000B0
+:101F30000000004C000000B4000000C8000000A039
+:041F4000000000CCD1
+:040000058000000077
+:00000001FF
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/at32uc3c-isp_cfg-1.1.1.dat b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/at32uc3c-isp_cfg-1.1.1.dat
new file mode 100644
index 0000000..76f0ab2
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/at32uc3c-isp_cfg-1.1.1.dat
@@ -0,0 +1 @@
+’žbáÿ× \ No newline at end of file
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/program_at32uc3c-isp-1.1.1.cmd b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/program_at32uc3c-isp-1.1.1.cmd
new file mode 100644
index 0000000..67539b0
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/program_at32uc3c-isp-1.1.1.cmd
@@ -0,0 +1,82 @@
+@echo off
+setlocal enableextensions enabledelayedexpansion
+
+: This command script programs the ISP (flash array), the ISP
+: configuration word (User page) and the general-purpose fuse bits.
+
+: Copyright (C) 2006-2008, Atmel Corporation All rights reserved.
+:
+: Redistribution and use in source and binary forms, with or without
+: modification, are permitted provided that the following conditions are met:
+:
+: 1. Redistributions of source code must retain the above copyright notice, this
+: list of conditions and the following disclaimer.
+:
+: 2. Redistributions in binary form must reproduce the above copyright notice,
+: this list of conditions and the following disclaimer in the documentation and/
+: or other materials provided with the distribution.
+:
+: 3. The name of ATMEL may not be used to endorse or promote products derived
+: from this software without specific prior written permission.
+:
+: THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED
+: WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND
+: SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
+: INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+: BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+: DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+: OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+: NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+: EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+echo.
+echo Performing a JTAG Chip Erase command.
+avr32program -p AVRONE chiperase -F
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+
+echo.
+echo Programming MCU memory from `at32uc3c-isp-1.1.1.hex'.
+avr32-objcopy -I ihex -O binary at32uc3c-isp-1.1.1.hex at32uc3c-isp-1.1.1.bin
+avr32program -p AVRONE program -finternal@0x80000000 -cint -e -v -O0x80000000 -Fbin at32uc3c-isp-1.1.1.bin
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+del at32uc3c-isp-1.1.1.bin
+
+echo.
+echo Programming ISP configuration word \(default for UC3C_EK i.e. Word2 == 0x929E0E62 and Word1 == 0xE11EFFD7\)
+avr32program -p AVRONE program -finternal@0x80000000 -cint -e -v -O0x808001F8 -Fbin at32uc3c-isp_cfg-1.1.1.dat
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+
+echo.
+echo Programming general-purpose fuse bits.
+avr32program -p AVRONE writefuses -finternal@0x80000000 gp=0xFFF7FFFF
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+
+echo.
+echo Resetting MCU.
+avr32program -p AVRONE run -R
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+
+color 27
+pause
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/program_at32uc3c-isp-1.1.1.sh b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/program_at32uc3c-isp-1.1.1.sh
new file mode 100644
index 0000000..edcf00a
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/program_at32uc3c-isp-1.1.1.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+# This shell script programs the ISP (flash array), the ISP configuration words
+# (User page) and the general-purpose fuse bits.
+
+# Copyright (c) 2009 Atmel Corporation. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# 3. The name of Atmel may not be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# 4. This software may only be redistributed and used in connection with an Atmel
+# AVR product.
+#
+# THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+# EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+#
+
+
+echo
+echo Performing a JTAG Chip Erase command.
+avr32program chiperase
+
+echo
+echo Programming MCU memory from \`at32uc3c-isp-H.hex\'.
+avr32-objcopy -I ihex -O binary at32uc3c-isp-1.1.1.hex at32uc3c-isp-1.1.1.bin
+avr32program program -finternal@0x80000000,512Kb -cint -e -v -O0x80000000 -Fbin at32uc3c-isp-1.1.1.bin
+rm -f at32uc3c-isp-1.1.1.bin
+
+echo
+echo Programming ISP configuration words \(default for EVK1100 i.e. Word2 == 0x929E1424 and Word1 == 0xE11EFFD7\)
+avr32program program -finternal@0x80000000 -cint -e -v -O0x808001F8 -Fbin at32uc3c-isp_cfg-1.1.1.dat
+
+echo
+echo Programming general-purpose fuse bits.
+avr32program writefuses -finternal@0x80000000 gp=0xFFF7FFFF
+
+echo
+echo Resetting MCU.
+avr32program reset
+
+pause
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/report_111.txt b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/report_111.txt
new file mode 100644
index 0000000..b47b53e
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.1/report_111.txt
@@ -0,0 +1,1037 @@
+Tests for DFU bootloader
+
+Device information:
+ Device Name UC3C0512C
+ Device Revision D
+ JTAG ID 0x3200003f
+ SRAM size 64 kB
+ Flash size 512 kB
+batchisp version: 1.2.5
+= SETUP OK
+Connected to AVR ONE! 000000000274 version 4.16.
+Querying file system information.
+FPGA file avr32 version 4.0 loaded.
+JTAG clock is configured at 32.014 MHz.
+Connected to STK600 (rev C). Firmware version 0x0206.
+Connected to STK600 (rev C). Firmware version 0x0206.
+Reading frequencies.
+Connected to AVR ONE! 000000000274 version 4.16.
+Querying file system information.
+FPGA file avr32 version 4.0 loaded.
+JTAG clock is configured at 32.014 MHz.
+CPU resumes execution at 0x80000000.
+Running batchisp 1.2.5 on Wed Jan 26 17:56:19 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Selecting BOOT......................... PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Reading memory......................... PASS 0x00000 0x00000
+
+Summary: Total 7 Passed 7 Failed 0
+= TEST 1-1 - PASS
+Connected to AVR ONE! 000000000274 version 4.16.
+Querying file system information.
+FPGA file avr32 version 4.0 loaded.
+JTAG clock is configured at 32.014 MHz.
+Connected to STK600 (rev C). Firmware version 0x0206.
+Connected to STK600 (rev C). Firmware version 0x0206.
+Reading frequencies.
+Connected to AVR ONE! 000000000274 version 4.16.
+Querying file system information.
+FPGA file avr32 version 4.0 loaded.
+JTAG clock is configured at 32.014 MHz.
+CPU resumes execution at 0x80000000.
+Running batchisp 1.2.5 on Wed Jan 26 17:56:29 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Selecting BOOT......................... PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Reading memory......................... PASS 0x00000 0x00000
+
+Summary: Total 7 Passed 7 Failed 0
+= TEST 1-2 - PASS
+Connected to AVR ONE! 000000000274 version 4.16.
+Querying file system information.
+FPGA file avr32 version 4.0 loaded.
+JTAG clock is configured at 32.014 MHz.
+Connected to STK600 (rev C). Firmware version 0x0206.
+Connected to STK600 (rev C). Firmware version 0x0206.
+Reading frequencies.
+Connected to AVR ONE! 000000000274 version 4.16.
+Querying file system information.
+FPGA file avr32 version 4.0 loaded.
+JTAG clock is configured at 32.014 MHz.
+CPU resumes execution at 0x80000000.
+Running batchisp 1.2.5 on Wed Jan 26 17:56:39 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Selecting BOOT......................... PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Reading memory......................... PASS 0x00000 0x00000
+
+Summary: Total 7 Passed 7 Failed 0
+= TEST 1-3 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 17:56:41 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Verify defaut ISP configuration in Word 1 and Word 2 from UC3C
+Selecting USER......................... PASS
+Setting Address Range.................. PASS 0x001f8 0x001f8
+Filling buffer......................... PASS 0x001f8 0x001f8 0X92
+Setting Address Range.................. PASS 0x001f9 0x001f9
+Filling buffer......................... PASS 0x001f9 0x001f9 0X9E
+Setting Address Range.................. PASS 0x001fa 0x001fa
+Filling buffer......................... PASS 0x001fa 0x001fa 0X0E
+Setting Address Range.................. PASS 0x001fb 0x001fb
+Filling buffer......................... PASS 0x001fb 0x001fb 0X62
+Setting Address Range.................. PASS 0x001fc 0x001fc
+Filling buffer......................... PASS 0x001fc 0x001fc 0XE1
+Setting Address Range.................. PASS 0x001fd 0x001fd
+Filling buffer......................... PASS 0x001fd 0x001fd 0X1E
+Setting Address Range.................. PASS 0x001fe 0x001fe
+Filling buffer......................... PASS 0x001fe 0x001fe 0XFF
+Setting Address Range.................. PASS 0x001ff 0x001ff
+Filling buffer......................... PASS 0x001ff 0x001ff 0XD7
+Setting Address Range.................. PASS 0x001f8 0x001ff
+Verifying memory....................... PASS 0x001f8 0x001ff
+
+Summary: Total 23 Passed 23 Failed 0
+= TEST 2-1 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 17:56:44 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Verify default configuration of GP fuses bits from UC3C
+Selecting CONFIGURATION................ PASS
+Setting Address Range.................. PASS 0x00000 0x0001f
+Filling buffer......................... PASS 0x00000 0x0001f 0X1
+Setting Address Range.................. PASS 0x00013 0x00013
+Filling buffer......................... PASS 0x00013 0x00013 0X0
+Setting Address Range.................. PASS 0x00000 0x0001f
+Verifying memory....................... PASS 0x00000 0x0001f
+
+Summary: Total 11 Passed 11 Failed 0
+= TEST 2-2 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 17:56:46 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+The security bit must be disabled
+Selecting SECURITY..................... PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Filling buffer......................... PASS 0x00000 0x00000 0
+Verifying memory....................... PASS 0x00000 0x00000
+
+Summary: Total 8 Passed 8 Failed 0
+= TEST 2-3 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 17:56:49 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Verify Signature from UC3C
+Selecting SIGNATURE.................... PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Filling buffer......................... PASS 0x00000 0x00000 0X1F
+Setting Address Range.................. PASS 0x00001 0x00001
+Filling buffer......................... PASS 0x00001 0x00001 0X20
+Setting Address Range.................. PASS 0x00002 0x00002
+Filling buffer......................... PASS 0x00002 0x00002 0X00
+Setting Address Range.................. PASS 0x00003 0x00003
+Filling buffer......................... PASS 0x00003 0x00003 0X03
+Setting Address Range.................. PASS 0x00000 0x00003
+Verifying memory....................... PASS 0x00000 0x00003
+
+Summary: Total 15 Passed 15 Failed 0
+= TEST 2-4 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 17:56:51 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Verify Bootloader Version 1.1.1 (0x11) from UC3C
+Selecting BOOT......................... PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Filling buffer......................... PASS 0x00000 0x00000 0X11
+Setting Address Range.................. PASS 0x00001 0x00002
+Filling buffer......................... PASS 0x00001 0x00002 0X00
+Setting Address Range.................. PASS 0x00000 0x00002
+Verifying memory....................... PASS 0x00000 0x00002
+
+Summary: Total 11 Passed 11 Failed 0
+= TEST 2-5 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 17:56:54 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Load a HEX file in application section which blink LED0 of STK600 on PB0 (part pin PA08)
+Erasing................................ PASS
+Selecting FLASH........................ PASS
+Parsing HEX file....................... PASS app.hex
+Programming memory
+WARNING: The user program and the bootloader overlap!
+Programming memory..................... PASS 0x00000 0x02577
+Verifying memory....................... PASS 0x00000 0x02577
+
+Summary: Total 9 Passed 9 Failed 0
+Connected to AVR ONE! 000000000274 version 4.16.
+Querying file system information.
+FPGA file avr32 version 4.0 loaded.
+JTAG clock is configured at 32.014 MHz.
+CPU resumes execution at 0x80000000.
+Running batchisp 1.2.5 on Wed Jan 26 17:57:19 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Selecting BOOT......................... PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Reading memory......................... PASS 0x00000 0x00000
+
+Summary: Total 7 Passed 7 Failed 0
+= TEST 3-1 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 17:57:22 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Launch start command with hardware reset
+Starting Application................... PASS RESET 1
+
+Summary: Total 5 Passed 5 Failed 0
+Connected to AVR ONE! 000000000274 version 4.16.
+Querying file system information.
+FPGA file avr32 version 4.0 loaded.
+JTAG clock is configured at 32.014 MHz.
+CPU resumes execution at 0x80000000.
+Test PASS
+= TEST 3-2 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 17:57:50 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Selecting BOOT......................... PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Reading memory......................... PASS 0x00000 0x00000
+
+Summary: Total 7 Passed 7 Failed 0
+= TEST 3-3 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 17:57:52 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Disable ISP_IO_COND_END bit
+Selecting USER......................... PASS
+Setting Address Range.................. PASS 0x001fc 0x001fc
+Filling buffer......................... PASS 0x001fc 0x001fc 0XE1
+Setting Address Range.................. PASS 0x001fd 0x001fd
+Filling buffer......................... PASS 0x001fd 0x001fd 0X1E
+Setting Address Range.................. PASS 0x001fe 0x001fe
+Filling buffer......................... PASS 0x001fe 0x001fe 0XFE
+Setting Address Range.................. PASS 0x001ff 0x001ff
+Filling buffer......................... PASS 0x001ff 0x001ff 0XD0
+Setting Address Range.................. PASS 0x001fc 0x001ff
+Programming memory..................... PASS 0x001fc 0x001ff
+Verifying memory....................... PASS 0x001fc 0x001ff
+
+Summary: Total 16 Passed 16 Failed 0
+Running batchisp 1.2.5 on Wed Jan 26 17:57:55 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Launch start command with hardware reset
+Starting Application................... PASS RESET 1
+
+Summary: Total 5 Passed 5 Failed 0
+Test PASS
+= TEST 3-4 - PASS
+Connected to AVR ONE! 000000000274 version 4.16.
+Querying file system information.
+FPGA file avr32 version 4.0 loaded.
+JTAG clock is configured at 32.014 MHz.
+ Unlocking flash: ================================================== 100.0%
+
+ Erasing flash: \
+ Erasing flash: done
+Programming 8 bytes in 1 segment.
+ Programming flash: ========================= 50.0%
+ Verifying flash: ================================================== 100.0%
+
+Connected to AVR ONE! 000000000274 version 4.16.
+Querying file system information.
+FPGA file avr32 version 4.0 loaded.
+JTAG clock is configured at 32.014 MHz.
+CPU resumes execution at 0x80000000.
+Running batchisp 1.2.5 on Wed Jan 26 17:58:10 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Selecting BOOT......................... PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Reading memory......................... PASS 0x00000 0x00000
+
+Summary: Total 7 Passed 7 Failed 0
+Connected to AVR ONE! 000000000274 version 4.16.
+Querying file system information.
+FPGA file avr32 version 4.0 loaded.
+JTAG clock is configured at 32.014 MHz.
+ Unlocking flash: ================================================== 100.0%
+
+ Erasing flash: \
+ Erasing flash: done
+Programming 8 bytes in 1 segment.
+ Programming flash: ========================= 50.0%
+ Verifying flash: ================================================== 100.0%
+
+Connected to AVR ONE! 000000000274 version 4.16.
+Querying file system information.
+FPGA file avr32 version 4.0 loaded.
+JTAG clock is configured at 32.014 MHz.
+CPU resumes execution at 0x80000000.
+Running batchisp 1.2.5 on Wed Jan 26 17:58:19 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Selecting BOOT......................... PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Reading memory......................... PASS 0x00000 0x00000
+
+Summary: Total 7 Passed 7 Failed 0
+= TEST 3-5 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 17:58:22 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Write ISP_IO_COND_PIN = PA14, ISP_IO_COND_LEVEL=0
+Selecting USER......................... PASS
+Setting Address Range.................. PASS 0x001f8 0x001f8
+Filling buffer......................... PASS 0x001f8 0x001f8 0X92
+Setting Address Range.................. PASS 0x001f9 0x001f9
+Filling buffer......................... PASS 0x001f9 0x001f9 0X9F
+Setting Address Range.................. PASS 0x001fa 0x001fa
+Filling buffer......................... PASS 0x001fa 0x001fa 0X0E
+Setting Address Range.................. PASS 0x001fb 0x001fb
+Filling buffer......................... PASS 0x001fb 0x001fb 0X77
+Setting Address Range.................. PASS 0x001f8 0x001fb
+Programming memory..................... PASS 0x001f8 0x001fb
+Verifying memory....................... PASS 0x001f8 0x001fb
+
+Summary: Total 16 Passed 16 Failed 0
+Running batchisp 1.2.5 on Wed Jan 26 17:58:24 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Launch start command with hardware reset
+Starting Application................... PASS RESET 1
+
+Summary: Total 5 Passed 5 Failed 0
+Test PASS
+Running batchisp 1.2.5 on Wed Jan 26 17:58:45 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Selecting BOOT......................... PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Reading memory......................... PASS 0x00000 0x00000
+
+Summary: Total 7 Passed 7 Failed 0
+= TEST 4-1 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 17:58:48 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Write ISP_IO_COND_PIN = PB00, ISP_IO_COND_LEVEL=1
+Selecting USER......................... PASS
+Setting Address Range.................. PASS 0x001f8 0x001f8
+Filling buffer......................... PASS 0x001f8 0x001f8 0X92
+Setting Address Range.................. PASS 0x001f9 0x001f9
+Filling buffer......................... PASS 0x001f9 0x001f9 0X9E
+Setting Address Range.................. PASS 0x001fa 0x001fa
+Filling buffer......................... PASS 0x001fa 0x001fa 0X20
+Setting Address Range.................. PASS 0x001fb 0x001fb
+Filling buffer......................... PASS 0x001fb 0x001fb 0XA8
+Setting Address Range.................. PASS 0x001f8 0x001fb
+Programming memory..................... PASS 0x001f8 0x001fb
+Verifying memory....................... PASS 0x001f8 0x001fb
+
+Summary: Total 16 Passed 16 Failed 0
+Running batchisp 1.2.5 on Wed Jan 26 17:58:50 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Launch start command with hardware reset
+Starting Application................... PASS RESET 1
+
+Summary: Total 5 Passed 5 Failed 0
+Running batchisp 1.2.5 on Wed Jan 26 17:58:58 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Selecting BOOT......................... PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Reading memory......................... PASS 0x00000 0x00000
+
+Summary: Total 7 Passed 7 Failed 0
+= TEST 4-2 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 17:59:00 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Write ISP_IO_COND_PIN = PC30, ISP_IO_COND_LEVEL=1
+Selecting USER......................... PASS
+Setting Address Range.................. PASS 0x001f8 0x001f8
+Filling buffer......................... PASS 0x001f8 0x001f8 0X92
+Setting Address Range.................. PASS 0x001f9 0x001f9
+Filling buffer......................... PASS 0x001f9 0x001f9 0X9E
+Setting Address Range.................. PASS 0x001fa 0x001fa
+Filling buffer......................... PASS 0x001fa 0x001fa 0X5E
+Setting Address Range.................. PASS 0x001fb 0x001fb
+Filling buffer......................... PASS 0x001fb 0x001fb 0XD5
+Setting Address Range.................. PASS 0x001f8 0x001fb
+Programming memory..................... PASS 0x001f8 0x001fb
+Verifying memory....................... PASS 0x001f8 0x001fb
+
+Summary: Total 16 Passed 16 Failed 0
+Running batchisp 1.2.5 on Wed Jan 26 17:59:03 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Launch start command with hardware reset
+Starting Application................... PASS RESET 1
+
+Summary: Total 5 Passed 5 Failed 0
+Running batchisp 1.2.5 on Wed Jan 26 17:59:09 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Selecting BOOT......................... PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Reading memory......................... PASS 0x00000 0x00000
+
+Summary: Total 7 Passed 7 Failed 0
+= TEST 4-3 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 17:59:12 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Write ISP_IO_COND_PIN = PD09, ISP_IO_COND_LEVEL=1
+Selecting USER......................... PASS
+Setting Address Range.................. PASS 0x001f8 0x001f8
+Filling buffer......................... PASS 0x001f8 0x001f8 0X92
+Setting Address Range.................. PASS 0x001f9 0x001f9
+Filling buffer......................... PASS 0x001f9 0x001f9 0X9E
+Setting Address Range.................. PASS 0x001fa 0x001fa
+Filling buffer......................... PASS 0x001fa 0x001fa 0X69
+Setting Address Range.................. PASS 0x001fb 0x001fb
+Filling buffer......................... PASS 0x001fb 0x001fb 0X50
+Setting Address Range.................. PASS 0x001f8 0x001fb
+Programming memory..................... PASS 0x001f8 0x001fb
+Verifying memory....................... PASS 0x001f8 0x001fb
+
+Summary: Total 16 Passed 16 Failed 0
+Running batchisp 1.2.5 on Wed Jan 26 17:59:14 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Launch start command with hardware reset
+Starting Application................... PASS RESET 1
+
+Summary: Total 5 Passed 5 Failed 0
+Running batchisp 1.2.5 on Wed Jan 26 17:59:18 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Selecting BOOT......................... PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Reading memory......................... PASS 0x00000 0x00000
+
+Summary: Total 7 Passed 7 Failed 0
+= TEST 4-4 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 17:59:21 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Set a bad CRC in ISP configuration word 2
+Selecting USER......................... PASS
+Setting Address Range.................. PASS 0x001f8 0x001f8
+Filling buffer......................... PASS 0x001f8 0x001f8 0X92
+Setting Address Range.................. PASS 0x001f9 0x001f9
+Filling buffer......................... PASS 0x001f9 0x001f9 0X9E
+Setting Address Range.................. PASS 0x001fa 0x001fa
+Filling buffer......................... PASS 0x001fa 0x001fa 0X0E
+Setting Address Range.................. PASS 0x001fb 0x001fb
+Filling buffer......................... PASS 0x001fb 0x001fb 0X61
+Setting Address Range.................. PASS 0x001f8 0x001fb
+Programming memory..................... PASS 0x001f8 0x001fb
+Verifying memory....................... PASS 0x001f8 0x001fb
+
+Summary: Total 16 Passed 16 Failed 0
+Running batchisp 1.2.5 on Wed Jan 26 17:59:24 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Launch start command with hardware reset
+Starting Application................... PASS RESET 1
+
+Summary: Total 5 Passed 5 Failed 0
+Connected to AVR ONE! 000000000274 version 4.16.
+Querying file system information.
+FPGA file avr32 version 4.0 loaded.
+JTAG clock is configured at 32.014 MHz.
+CPU resumes execution at 0x80000000.
+Running batchisp 1.2.5 on Wed Jan 26 17:59:31 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Selecting BOOT......................... PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Reading memory......................... PASS 0x00000 0x00000
+
+Summary: Total 7 Passed 7 Failed 0
+Running batchisp 1.2.5 on Wed Jan 26 17:59:34 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Program default configuration Word 2 from UC3C
+Selecting USER......................... PASS
+Setting Address Range.................. PASS 0x001f8 0x001f8
+Filling buffer......................... PASS 0x001f8 0x001f8 0X92
+Setting Address Range.................. PASS 0x001f9 0x001f9
+Filling buffer......................... PASS 0x001f9 0x001f9 0X9E
+Setting Address Range.................. PASS 0x001fa 0x001fa
+Filling buffer......................... PASS 0x001fa 0x001fa 0X0E
+Setting Address Range.................. PASS 0x001fb 0x001fb
+Filling buffer......................... PASS 0x001fb 0x001fb 0X62
+Setting Address Range.................. PASS 0x001f8 0x001fb
+Programming memory..................... PASS 0x001f8 0x001fb
+Verifying memory....................... PASS 0x001f8 0x001fb
+
+Summary: Total 16 Passed 16 Failed 0
+= TEST 4-5 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 17:59:36 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Enable security bit
+Selecting SECURITY..................... PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Filling buffer......................... PASS 0x00000 0x00000 0
+Verifying memory....................... PASS 0x00000 0x00000
+Filling buffer......................... PASS 0x00000 0x00000 1
+Programming memory..................... PASS 0x00000 0x00000
+Verifying memory....................... PASS 0x00000 0x00000
+
+Summary: Total 11 Passed 11 Failed 0
+Running batchisp 1.2.5 on Wed Jan 26 17:59:44 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Check access on all memories available
+Selecting SECURITY..................... PASS
+Reading memory......................... PASS 0x00000 0x00000
+Selecting CONFIGURATION................ PASS
+Reading memory......................... PASS 0x00000 0x0001f
+Selecting BOOT......................... PASS
+Reading memory......................... PASS 0x00000 0x00002
+Selecting SIGNATURE.................... PASS
+Reading memory......................... PASS 0x00000 0x00003
+Selecting FLASH........................ PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Reading memory......................... PASS* Device protection is set.
+Selecting USER......................... PASS
+Setting Address Range.................. PASS 0x00000 0x00000
+Reading memory......................... PASS* Device protection is set.
+
+Summary: Total 18 Passed 18 Failed 0
+= TEST 5-1 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 18:00:34 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Selecting CONFIGURATION................ PASS
+Verify default configuration of GP fuses bits from UC3C
+Setting Address Range.................. PASS 0x00000 0x0001f
+Filling buffer......................... PASS 0x00000 0x0001f 0X1
+Setting Address Range.................. PASS 0x00013 0x00013
+Filling buffer......................... PASS 0x00013 0x00013 0X0
+Setting Address Range.................. PASS 0x00000 0x0001f
+Verifying memory....................... PASS 0x00000 0x0001f
+Modify a byte of fuse bit
+Setting Address Range.................. PASS 0x00000 0x00007
+Filling buffer......................... PASS 0x00000 0x00007 0
+Programming memory..................... PASS 0x00000 0x00007
+Setting Address Range.................. PASS 0x00000 0x0001f
+Verifying memory....................... PASS 0x00000 0x0001f
+Setting Address Range.................. PASS 0x00000 0x00007
+Filling buffer......................... PASS 0x00000 0x00007 1
+Programming memory..................... PASS 0x00000 0x00007
+Setting Address Range.................. PASS 0x00000 0x0001f
+Verifying memory....................... PASS 0x00000 0x0001f
+Modify one fuse bit
+Setting Address Range.................. PASS 0x0001e 0x0001e
+Filling buffer......................... PASS 0x0001e 0x0001e 0
+Programming memory..................... PASS 0x0001e 0x0001e
+Setting Address Range.................. PASS 0x00000 0x0001f
+Verifying memory....................... PASS 0x00000 0x0001f
+Setting Address Range.................. PASS 0x0001f 0x0001f
+Filling buffer......................... PASS 0x0001f 0x0001f 0
+Programming memory..................... PASS 0x0001f 0x0001f
+Setting Address Range.................. PASS 0x00000 0x0001f
+Verifying memory....................... PASS 0x00000 0x0001f
+Write default configuration of GP fuses bits from UC3C
+Setting Address Range.................. PASS 0x00000 0x0001f
+Filling buffer......................... PASS 0x00000 0x0001f 0X1
+Setting Address Range.................. PASS 0x00013 0x00013
+Filling buffer......................... PASS 0x00013 0x00013 0X0
+Setting Address Range.................. PASS 0x00000 0x0001f
+Programming memory..................... PASS 0x00000 0x0001f
+Verifying memory....................... PASS 0x00000 0x0001f
+
+Summary: Total 38 Passed 38 Failed 0
+= TEST 6-1 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 18:00:38 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Tests erase F and blankcheck commands
+Erasing................................ PASS
+Selecting FLASH........................ PASS
+Setting Address Range.................. PASS 0x02000 0x7ffff
+Blank checking......................... PASS 0x02000 0x7ffff
+Filling buffer......................... PASS 0x02000 0x7ffff 0XFF
+Verifying memory....................... PASS 0x02000 0x7ffff
+Filling buffer......................... PASS 0x02000 0x7ffff 0X55
+Programming memory..................... PASS 0x02000 0x7ffff
+Verifying memory....................... PASS 0x02000 0x7ffff
+Blank checking......................... PASS* Blank check fail at 0x02000
+Erasing................................ PASS
+Selecting FLASH........................ PASS
+Setting Address Range.................. PASS 0x02000 0x7ffff
+Blank checking......................... PASS 0x02000 0x7ffff
+
+Summary: Total 18 Passed 18 Failed 0
+= TEST 7-1 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 18:03:07 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+run Read/Write flash sequences
+Selecting FLASH........................ PASS
+Setting Address Range.................. PASS 0x02000 0x7ffff
+Filling buffer......................... PASS 0x02000 0x7ffff 0XFF
+Setting Address Range.................. PASS 0x02001 0x02002
+Filling buffer......................... PASS 0x02001 0x02002 0X11
+Programming memory..................... PASS 0x02001 0x02002
+Setting Address Range.................. PASS 0x021fe 0x0221e
+Filling buffer......................... PASS 0x021fe 0x0221e 0X22
+Programming memory..................... PASS 0x021fe 0x0221e
+Setting Address Range.................. PASS 0x04000 0x04fff
+Filling buffer......................... PASS 0x04000 0x04fff 0X33
+Programming memory..................... PASS 0x04000 0x04fff
+Setting Address Range.................. PASS 0x0fffc 0x10000
+Filling buffer......................... PASS 0x0fffc 0x10000 0X44
+Programming memory..................... PASS 0x0fffc 0x10000
+Setting Address Range.................. PASS 0x3fffe 0x40001
+Filling buffer......................... PASS 0x3fffe 0x40001 0X55
+Programming memory..................... PASS 0x3fffe 0x40001
+Setting Address Range.................. PASS 0x40200 0x4ffff
+Filling buffer......................... PASS 0x40200 0x4ffff 0X66
+Programming memory..................... PASS 0x40200 0x4ffff
+Setting Address Range.................. PASS 0x7ffff 0x7ffff
+Filling buffer......................... PASS 0x7ffff 0x7ffff 0X77
+Programming memory..................... PASS 0x7ffff 0x7ffff
+Setting Address Range.................. PASS 0x10001 0x1f5ff
+Filling buffer......................... PASS 0x10001 0x1f5ff 0X88
+Programming memory..................... PASS 0x10001 0x1f5ff
+Setting Address Range.................. PASS 0x02000 0x7ffff
+Verifying memory....................... PASS 0x02000 0x7ffff
+
+Summary: Total 33 Passed 33 Failed 0
+= TEST 7-2 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 18:03:54 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Load a HEX file in application section which blink LED0 of STK600 on PB0 (part pin PA08)
+Erasing................................ PASS
+Selecting FLASH........................ PASS
+Parsing HEX file....................... PASS app.hex
+Programming memory
+WARNING: The user program and the bootloader overlap!
+Programming memory..................... PASS 0x00000 0x02577
+Verifying memory....................... PASS 0x00000 0x02577
+
+Summary: Total 9 Passed 9 Failed 0
+= TEST 7-3 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 18:04:15 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Verify blankcheck command on User flash page 512B
+Selecting USER......................... PASS
+Setting Address Range.................. PASS 0x00000 0x001f7
+Blank checking......................... PASS 0x00000 0x001f7
+Setting Address Range.................. PASS 0x00100 0x00100
+Filling buffer......................... PASS 0x00100 0x00100 0X55
+Programming memory..................... PASS 0x00100 0x00100
+Setting Address Range.................. PASS 0x00000 0x001f7
+Blank checking......................... PASS* Blank check fail at 0x00100
+Setting Address Range.................. PASS 0x00100 0x00100
+Filling buffer......................... PASS 0x00100 0x00100 0XFF
+Programming memory..................... PASS 0x00100 0x00100
+Setting Address Range.................. PASS 0x00000 0x001f7
+Blank checking......................... PASS 0x00000 0x001f7
+
+Summary: Total 17 Passed 17 Failed 0
+= TEST 8-1 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 18:04:18 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Verify Read/Write access on user flash 512B
+Selecting USER......................... PASS
+Setting Address Range.................. PASS 0x00000 0x001f7
+Filling buffer......................... PASS 0x00000 0x001f7 0X55
+Programming memory..................... PASS 0x00000 0x001f7
+Verifying memory....................... PASS 0x00000 0x001f7
+Filling buffer......................... PASS 0x00000 0x001f7 0XFF
+Programming memory..................... PASS 0x00000 0x001f7
+Verifying memory....................... PASS 0x00000 0x001f7
+Setting Address Range.................. PASS 0x00000 0x00000
+Filling buffer......................... PASS 0x00000 0x00000 0X11
+Programming memory..................... PASS 0x00000 0x00000
+Setting Address Range.................. PASS 0x0007f 0x00081
+Filling buffer......................... PASS 0x0007f 0x00081 0X22
+Programming memory..................... PASS 0x0007f 0x00081
+Setting Address Range.................. PASS 0x00081 0x000f0
+Filling buffer......................... PASS 0x00081 0x000f0 0X33
+Programming memory..................... PASS 0x00081 0x000f0
+Setting Address Range.................. PASS 0x000fb 0x00110
+Filling buffer......................... PASS 0x000fb 0x00110 0X44
+Programming memory..................... PASS 0x000fb 0x00110
+Setting Address Range.................. PASS 0x00150 0x001f7
+Filling buffer......................... PASS 0x00150 0x001f7 0X55
+Programming memory..................... PASS 0x00150 0x001f7
+Setting Address Range.................. PASS 0x00000 0x001f7
+Verifying memory....................... PASS 0x00000 0x001f7
+Filling buffer......................... PASS 0x00000 0x001f7 0XFF
+Programming memory..................... PASS 0x00000 0x001f7
+Blank checking......................... PASS 0x00000 0x001f7
+
+Summary: Total 32 Passed 32 Failed 0
+= TEST 8-2 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 18:04:22 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Launch start command with hardware reset
+Starting Application................... PASS RESET 1
+
+Summary: Total 5 Passed 5 Failed 0
+Test PASS
+= TEST 9-1 - PASS
+Running batchisp 1.2.5 on Wed Jan 26 18:05:52 2011
+
+
+
+AT32UC3C0512C - USB - USB/DFU
+
+
+Device selection....................... PASS
+Hardware selection..................... PASS
+Opening port........................... PASS
+Reading Bootloader version............. PASS 1.1.1
+Launch start command with software reset
+Starting Application................... PASS NORESET 0
+
+Summary: Total 5 Passed 5 Failed 0
+Test PASS
+= TEST 9-2 - PASS
+==== All tests PASS ====
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.2/at32uc3c-isp-1.1.2.hex b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.2/at32uc3c-isp-1.1.2.hex
new file mode 100644
index 0000000..ecd19b0
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.2/at32uc3c-isp-1.1.2.hex
@@ -0,0 +1,504 @@
+:0200000480007A
+:10000000E1B80000F1D8C2C35818C090FEC8FFF094
+:10001000FC190061E06D0DF4D041D6033008FE7983
+:100020001000E06A01FCEA1A8080FE7B0400700088
+:10003000E061504BEA1149537402E06301070494F4
+:10004000C76CC141E7D2C210E043E11EC0F1EDB27E
+:100050000009C0C3F6F30180E06423170873C131BF
+:10006000EDB30003C3830230C3C1C53C9101E06D11
+:100070000E0CD353FEC00074E3B00001E0A00CF8F6
+:10008000E0A00D98EDB20008C262E06A01F8EA1A39
+:1000900080807402E06301070494C49CCE71E7D2AF
+:1000A000C22FE043494FCE21E7D2C108E043007C94
+:1000B000CDD2FE7A2000E6041605A974080A7584DC
+:1000C000E013001FE8030A44E7D2C2010654EDB46E
+:1000D0000000CCC20230C051C1CC300830009100C9
+:1000E000FC100061E3B0000030003001300230034A
+:1000F000300430053006300730083009300A300B44
+:10010000300C300D300EE3B00001E3B0004248BFC8
+:10011000FC1255009302EE12FF0093021C9FE805AB
+:100120001200EA051117E60509450A54E04400FFEC
+:10013000FE9BFFF758045EF480002000308A310CEB
+:10014000FE6B10047609AD99C1837609A589C55364
+:10015000FE6A18003019763EA19EC5727608A198F5
+:10016000C542740BAFCB950BFE6B10049749975C9F
+:10017000740CAFAC950CC6D8FE691220930C930A90
+:10018000FE6911307208A398C042E0A0019DC61814
+:100190007208A388C042E0A0025FC5B87208A198A7
+:1001A000C092FE6811C0700EA19EC042E0A001E4A2
+:1001B000C508E06E0980EA1E00007D08720EA58E5B
+:1001C000C08293CA720CA19CC4435838C421C0F8A1
+:1001D000720EA59ECBB293CC720CA38CC3A35818FD
+:1001E000C041E0A002A5C3585848C331E86C0000E4
+:1001F000FE6B11C097CCC2D8971AE0A00521E0A0F1
+:100200000107E0A0014DC258763EA59EC1227608A6
+:10021000A598C0F27408AFC89508FE6A1800741853
+:10022000AF98C043760AA19ACF92974C9759C118BC
+:10023000741BA38BC0E2740CAFCC950C302C952CA6
+:10024000740CAFAC950C741CF9DCC161E0A00CC45B
+:10025000FE6C1800786BD603800004C4800006543E
+:10026000800005748000072C80000C3C8000040C8A
+:100270008000049C80001BD4E1BC0000D3035EFC22
+:100280005EFF0000D421E0A00CB5CF7F1897FE667A
+:1002900018006C0CAFDC8D0C6C0C300AE06B0100AC
+:1002A000E06C013CEA1C8000E0A00CF06C0CB9BCD6
+:1002B0008D0C6C0CB9CC8D0C6C0CADCC8D0C6C0C0D
+:1002C000ADAC8D0C6C0CAFBC8D0C6C0CAFCC8D0C34
+:1002D0006C0C6C1BAF9BCFE2E0690980EA1900004F
+:1002E000300A300BF2EB0020F2EB0028F2EB00308A
+:1002F000F2EB00386CCB2E098DC9FE6C1000780B28
+:10030000ADCB990B780BE81B0C00990B6C0CA1BCC6
+:100310008D0C6C0CAFAC8D0CFE7C0588780BA1AB02
+:10032000990BB197C023D503D82AD70380001BF0BF
+:1003300080001C88D421CA1F1897FE6C1800780B07
+:10034000AFDB990B780BADCB990BE0A00C61B197AB
+:10035000C023D503D82AD70380001C0CD421C8DFC2
+:100360001897FE6618006C0CAFCC8D0C6C1BAF9B05
+:10037000CFE2FE6C1000780BA9CB990BE0A00460D3
+:10038000C46CC8DC308CFE6B1000976C301BFE6AAE
+:100390001000956B310AFE691000936A932C304C63
+:1003A000932C933B932A6C0CAFAC8D0CB197C0236C
+:1003B000D503D82A80000C3CFE6C1800780BAFCB1C
+:1003C000990BFE6C1000780BA9AB990B5EFD000039
+:1003D000FE6B1000760AA7DA970A760AE01AFF8009
+:1003E000F9DCC007144C970C760CA7BC970C5EFD8B
+:1003F000FE6B1000760CF9DCC0075EFCE06A098039
+:10040000EA1A0000952CB46B5EFD0000D401FE6C6E
+:100410001000780BE01BFF80990B780BA7BB990BA2
+:10042000FE6C1100780B308A3409F20A0C4AE0693C
+:100430000400F4090D4AE01BE68B3FF9F20A001AAA
+:10044000F4091200F20A111CA56AE21A1974144B7D
+:10045000990BE06C0980EA1C0000F8CBFFBC998B7B
+:10046000789BE41B8000999BFE6C1000787BA1AB0D
+:10047000997BFC1C0100FE6B11F097CCCFEEFE6B5C
+:1004800011F0304A970A302A970AE06B1000FE6A92
+:100490001000956BB19CC023D503D80A301CFE6BAD
+:1004A0001220970C302CFE6B1160970C300CE06B17
+:1004B0000980EA1B0000974C975CB66CF74C004033
+:1004C0005EFD0000D421E0670980EA1700006F0C90
+:1004D000580CC030C5EDCE3FFE6611F0FE651160D0
+:1004E00030446E9CF9DCC00F588CC090305CEF4CEF
+:1004F0000040E86C00008D0C8B04D82AEEEA004422
+:10050000AF1BF9DBC0105CCCAE1C8EAC5CCCAE2C4F
+:10051000F9DAC0105CCCAE3CE0A004E8CE808B04DD
+:10052000E06C0A04EA1C0000300B0F8AA98AC0F2B2
+:100530008EEAF5DAC006F40915105F0AB88AB81B0E
+:10054000B82B302CEF4C0040C16CD82A8EBA580A18
+:10055000C031CEDCD82AB81BB82B301CEF4C004081
+:1005600031078B07C8AE8D07B19CC023D503D82AAD
+:1005700080000EE8D431E0630278EA1380005D1356
+:100580003017FE6B11F097C7B19CC023D503E0660E
+:100590000980EA1600006D0C583CC041CFACC7FF83
+:1005A000D83A8CECE0650A04EA1500008AA4182405
+:1005B0005C74C1F10B8B580BC031CD5CD83A300262
+:1005C0008A9B160C8CBB163CC0656C5C580CC0300A
+:1005D0005D1CC031AA82C1188AAC8A9B180BAA1B69
+:1005E000AA228CE4F9D4C006F80B15105F0CAA8C73
+:1005F000E0440041F9B404405D13FE6B1130760A0B
+:10060000A38AC082B19CC023D503304CED4C00407E
+:10061000D83A6C298AAB1609089BECCEFFBC58046B
+:10062000C0501338201B1CC8CFD18AAB080BAA2B93
+:100630006C9BE01B8000E9D4C00F16448D94FE6BC8
+:10064000113097C7FE6B11F09707B19CC023D503FB
+:10065000D83A0000D431E0670980EA1700006F0C37
+:10066000FE6611F0E86500003054581CC0C0582CDC
+:10067000C030584CC031C8DCC048EF4400408D0544
+:10068000C0EFD83A6E9BF7DBC00FE0630A04EA13B1
+:10069000000086AC189A8EE9F80B00081039C044A7
+:1006A000F20C010B5C7BEEC9FFBC6E2C180A169C89
+:1006B000149E580BC0501338201C1CC8CFD186ACD8
+:1006C000160CA62C5C7CFE6211603021E04B0040D1
+:1006D000C061869B180B8EBA143BC0F5AE6C6E5C85
+:1006E000580CC0805D1CC061EF4400408D05850141
+:1006F000D83A8501C1CCD83A8EEBF80B1900C0C1AD
+:100700006E5C580CCF205D1CCF0086AC869B180B0E
+:10071000A61B300CA62C850131078507FEB0FDAE67
+:100720008D07B19CC023D503D83A0000D401E06CFA
+:100730000980EA1C0000303BF94B0040789BE01B2D
+:100740008000999BFEB0FD9AFE6B1160301A970AEB
+:10075000FE6911F0930A308A970A930AB19CC0236C
+:10076000D503D80AD401304CE06B0980EA1B0000A5
+:10077000F74C0040FEB0FD82310BFE6A1160950B14
+:10078000FE6A11F0950BB19CC023D503D80A000076
+:10079000D401E06B0980EA1B0000764C580CC020A5
+:1007A0005D1CD80AFE6C000C780BE06A1D34EA1A56
+:1007B0008000F7DBC004F40B032CA99C5EFC000056
+:1007C000FE6A00007409A7C9340BF7EC006C124CE8
+:1007D000950C5EFDFE6B0008760CA19CCFC25EFD01
+:1007E000D42118951697E0660008EA160000F01666
+:1007F0000000FE6C0004780BE01BFFC0EBD5C006C8
+:1008000016455807C0A6E01500FFE415FF000A9B37
+:10081000EBD7C010F7E51085EBD5C018EA15A50099
+:100820009905781CE21C000C8D1CF0160000D82ADB
+:10083000FE6B0008760CF9DCC0815EFCD4013FFB46
+:10084000309CCCFFD80A0000D401F60A1518304AB3
+:10085000F9BA0005189B149CCC4FD80AD4211896DD
+:100860001697CA1F0E9BA58CB9360C9CCEEFD82AC2
+:10087000D42118973006310520150E9B0A9CCEFF17
+:10088000E06B0008EA1B0000761C18465805CF51A3
+:100890009716D82AFE6B00147618760A3009144988
+:1008A000F9DCC006EDBC0005F2081730F00C0A4870
+:1008B000A1985F3C5EFC0000D42118971696F7DCE7
+:1008C000C006308CC8EFEC0C1518C0400E9CCE3F13
+:1008D000D822DA2AD401F60A1518C061F9DCC0065C
+:1008E000189B307CC7EFD80AD401F60A1518300BD4
+:1008F000C030CE3FD80ACEFFD80A0000D401189BE2
+:1009000030CCFEB0FF6FFE6B0008760CF9DCC0A1A6
+:10091000D8020000D42116973016189B302CFEB058
+:10092000FF61EE0C1518C0C0E0670008EA17000070
+:100930006E153FFCCE4F18966E1C18458F150C9CFB
+:10094000D8220000D4013FFB30FCFEB0FF4BFE6B11
+:100950000008760CF9DCC0A1D8020000D421189759
+:100960003FFB30ECFEB0FF3EEE0C1518F9BC000169
+:10097000C020CE9FD8220000D671204D3001300318
+:10098000FE6C000C7809FC188000E06E1D34EA1E35
+:100990008000F3D9C004FC09032C180850284056E5
+:1009A00016970C0A1495FC1C80001836C0825C3621
+:1009B000160618060C97FC168000C0D81036C0B377
+:1009C000FC1C80801836C0725C36160618060C9720
+:1009D000FC168080E06C0201EA1C8080183AC0633B
+:1009E000E0650200EA158080C098301CEA1C808017
+:1009F000183AC0421438FBF530020A9CA1CCE01C26
+:100A0000FFFCE01CFFF8503CE5D5C003C0E8580BE4
+:100A1000C050300CCA4F681C18433FFB30DCFEB09E
+:100A2000FEE1069C68131843E0640008EA14000025
+:100A30000A36E08200AA3FFB303CFEB0FED3681CC1
+:100A400018430C99E019FE00F2CCFE00403AF40C79
+:100A50000D4E0A9CE01CFE0018395F2CF7D6C00929
+:100A6000C2200C90E010FFF8C038B30AB32A003956
+:100A7000CFD3F7D6C003C1703008133AFA080B0A77
+:100A80002FF81638CFB35888C0620F3BFA080B0B0B
+:100A90002FF8CFAB0096403A1430C042BB0AAD2AC3
+:100AA000C0283011A39EEC0B1603161E1C98303B79
+:100AB0000E6B167BC040202BC080C1E85808C1E0F7
+:100AC000AF0BAD2A2018CFBB5808C180300B0F2ABE
+:100AD000FA0B0A1A2FFB584BCFB3BB0AAD2A2018CA
+:100AE000CF4B300B0F3AFA0B0B0A2FFB588BCFB3BF
+:100AF000BB0AAD2A20185808CF51F80B1518C200B0
+:100B0000E20C1518C0300498C0983008C0580F3C4B
+:100B1000FA080B0C2FF80438CFB30A995802C061B9
+:100B2000C0C8133CFA080B0C2FF85888CFB3BB0A87
+:100B3000AD2AC038B30AB32AF9D9C009CFC1301CD5
+:100B4000EA1C80801836FB3B001BFE92FF62580BAC
+:100B5000C070300B3FFCFEB0FEDF681C18433FFB4B
+:100B6000301CFEB0FE3F069C68131843402B16361F
+:100B7000FE93FF5C5C360E06FC1C808018060C970A
+:100B8000FC168080C52B8913405C2FCDDC720000E1
+:100B9000D401E06A00F4EA1A000015895809C0215E
+:100BA000D80AE06A00E8EA1A00007418700913C84D
+:100BB000F00C1800CF6295297418700E1DB92FEE35
+:100BC000FDD950005CC9202E5C791C09C048118EEB
+:100BD0001C08952874281238CE42119E584ECF8199
+:100BE00011AEFC0C1800CF4111BEFC0B1800CF0158
+:100BF000DA0A0000D4211897300BCCBFC021D82AC4
+:100C0000E06C00E8EA1C0000781B761CF8070F8BEC
+:100C1000761C5D1CDA2A0000D4211897CBAFC021C6
+:100C2000D82AE06C00E8EA1C0000781B761CF80764
+:100C30000F8BF01B00005F1CD8220000D421E0675E
+:100C400000E8EA170000E06600F4EA1600000D8CE8
+:100C5000580CC0C03005C0580A9CCCDF2FF55C553D
+:100C60006E1C780B17CC1835CF85300CAC8CE06C33
+:100C70000100AE1CD82A0000D401E06B0980EA1BF9
+:100C80000000969CF9DCC007FEB0FBA4D80AD7038D
+:100C9000800003D0D421E0670980EA1700008E9B12
+:100CA000F3DBC008E06800D4EA180000E06A03FC47
+:100CB000EA1A8000F60C1608201CC060201CC0E058
+:100CC000201CC210D82A700C198B5D1A8EBC8EEBBA
+:100CD000F60C1900EFFC3C06DA2A700CF93B001107
+:100CE0001639C025D82A701BF609033C19BB2FEC16
+:100CF000F9DB50005CCB5C7B202C5D1A302C6E2B1A
+:100D0000B69CCE5BE06C0014EA1C00005C5B167BBA
+:100D1000C060201BC070201BC180D82A304B2E4CD5
+:100D2000CD5B305BF8C9FFE03008F208070E5CCEFF
+:100D3000F8080016AC1E2FF81638CF853029F20BB4
+:100D4000001BB88B5C5BCC2B30CBF8C9FFD8CEDB5B
+:100D5000D431E0660980EA1600000D8CE06500F4ED
+:100D6000EA1500000B8BE06700E8EA170000EDBC15
+:100D70000007C4828CBAF4091510C021D83AF9DCF6
+:100D8000C005E06403FCEA148000580CC1A10D9C6E
+:100D9000187CC060206CC0C0202CC0C0D83A582A33
+:100DA000C020D83A302BEECCFFFE5D14DA3AC73FB4
+:100DB000D832581AC020D83A301B0A9C5D14DA3A4F
+:100DC000581CCDD10D9C58ACCDA1581AC020D83A92
+:100DD000F60C1518CFD08CA55C556E1C780B17CC73
+:100DE0001835CF64300B0A9CCD4ECF206E1C781B7B
+:100DF000F605032C783B5D1BAE8C301B0E9C5D14FE
+:100E0000DA3AF9DCC005E0640C18EA148000580CEA
+:100E1000C4F10D9C201CC140202CCB10202CC060A4
+:100E2000202CCAD0202CC180D83A8CBC580CC020B1
+:100E3000D83AE06C0C78EA1C80008D4CDA3A8CBC15
+:100E4000580CC020D83A8C9C581CCFD18E9CE21CE8
+:100E5000FDFFAE1CDA3A8CBC580CC020D83AFEB06C
+:100E6000FAC9CFD0E06300D4EA130000660CF93B66
+:100E700000118C9CF80B1800CF23CE1E8C9CAA8CE2
+:100E80005C5CF80B1518C021DA3A661BF60C003BC7
+:100E9000208B8F1B30066E1C780B17CC1836CF5466
+:100EA000300B0C9C5D14CDB02FF65C56CF5B581CFC
+:100EB000FE91FF660D9C58BCFE91FF628CBC580CE5
+:100EC000C030300CC0E8F60C1518CFC08CA55C55AE
+:100ED0008C975C570A9CC8FECF500E9B0A9C5D14F1
+:100EE0005C5CD832800003F0D421300CE0670980CC
+:100EF000EA170000AE6C8F4C8F5C0F8CEDBC0007C6
+:100F0000C0528EBB580BC021D82AE21C0060C041E1
+:100F1000C20FC020DA2A0F8CF9DCC005581CCF5153
+:100F2000E06C00F4EA1C0000198B580BCEE08EA692
+:100F30005C56E06700E8EA1700006E1C780B17CCDF
+:100F40001836CE34E0650B90EA158000300B0C9C0F
+:100F50005D15CDB06E1C781BF60603276E3C5D1C3C
+:100F6000F7DCC0080C9C5D15CD006E2C5D1CCD31EE
+:100F7000D82A0000D401C65CE0A003B2E0A003C2FE
+:100F8000E06B00F8EA1B0000F76C0008DA0AD703F0
+:100F9000800016DC800017005EFD0000D421E065B3
+:100FA0000980EA1500000B8C189BE21B0060E04BE7
+:100FB0000020C020D82A0B9BE06603FCEA168000C4
+:100FC000E06700F8EA170000A98CC162202BC0F08E
+:100FD000201BC301E06C0120EA1C0000198B580B98
+:100FE000C020C33D306B0E9C5D16DA2A6E6C580C27
+:100FF000C2105D1CD822201BC050203BC1B1C21CB6
+:10100000DA2A6E7C580CC0A0300CE0A003CBE06C58
+:101010001060EA1C80008B4CDA2A340BE06C01244F
+:10102000EA1C00005D16E06C1070EA1C80008B5C0E
+:10103000DA2A30FCAE8C30ACAECCD82A5EFD000093
+:10104000300CE06B00F8EA1B0000B68C302AB6CA00
+:10105000E06A0980EA1A0000955C954C977C5EFD79
+:10106000D401E06C00F8EA1C0000787B5D1BD80A14
+:10107000D431201DCE6FE06700F8EA1700000E960D
+:1010800030048F64301CE0A0038DE06A0964EA1A22
+:101090000000EF3C000815831863E06C0124EA1C93
+:1010A000000019A9E0650164EA150000E0681294E7
+:1010B000EA188000E06000FF30A23031198E199BE1
+:1010C000F7EE108EE02E0100C0F0E02E0200C2D03C
+:1010D000201EC430E02E00FFC6F0203EC710E02ED8
+:1010E0000200C7E0CAC8E60B1518C050AE81302C0C
+:1010F000AECCCA586E5B580BC041AE81AEC2C9F8C7
+:101100002FEC5D18E080009CE06B08000A9CFEB0AC
+:10111000F977E06C1C28EA1C8000E06B0980EA1B70
+:101120000000975C301CC8C82FEC5D18E080008878
+:101130006E4C580CC041AE81AEC2C818E60C1518F2
+:10114000C060E06C1280EA1C8000C058E06C12D8CD
+:10115000EA1C80008F6CCE7B2FEC5D18C7006E4CB4
+:10116000580CC041AE81AEC2C6A86E9C580CCDB022
+:10117000E06B0800F80B0D445C74081C8F9C089A07
+:101180006E8B0A9C6E495D190A9CC0486E8B2FFBC2
+:101190008F8B089BFE3400015C74F60A1510CE603C
+:1011A000193B003BCF40305CAE8CE06C1304EA1C72
+:1011B00080008F6CCB8B0039C421C47CC418127999
+:1011C000C0402019C070CAFBE06C1768EA1C8000A0
+:1011D000C058E06C1784EA1C80008F7CCA4B19BB96
+:1011E0001279C0402019C200C9EB591BC055308C80
+:1011F000AE8CAEC2C248583BC080582BC060584B22
+:10120000C040585B5F1CC028300CB48C2F47E06C8A
+:10121000005CEA1C0000F80B0F8AB509AF2815081E
+:101220000EA88D84C80B300A500ABA8B19CBBA9B12
+:10123000400B6E3C183BCDC28F8BC75B300C2FFD33
+:10124000D832D703800017A0D421E06700F8EA174E
+:101250000000E0A00263C070300CEF6C0008300B9F
+:10126000302AC048301C309B304AAECAAE8BE06B8F
+:101270000120EA1B0000B68CDA2AD7038000171879
+:10128000E06C00F8EA1C0000303BB88B302BB8CB88
+:101290005EFD0000E06B00F8EA1B00007689E619AD
+:1012A000FFFF198AA96A1409199A120A978A1498D1
+:1012B000E618FFFF19A9A969120819B91009763CA7
+:1012C0001839C063308CB68C30ACB6CC5EFD122AB7
+:1012D0002FFA979A5EFF0000D421E0670164EA17B5
+:1012E0000000E06600F8EA1600006C9A5C7A6C8BED
+:1012F0000E9C6C495D196C9B5C7B0E9CFEB0F8806B
+:10130000DA2A0000D401E06C00F8EA1C0000788BB7
+:10131000E06C0164EA1C0000F60A1608B88AB89B63
+:10132000302BFEB0F86DDA0A800003FCE07B86A06B
+:10133000FE7A0814740918695E1D201BCFA15EFE99
+:10134000D421FE780818E06E1200EA1E007AE067E9
+:10135000C6C0EA17002DEC76BBA0580CC2414A3536
+:101360006A0CA1AC0C3BC0323009C0980E3BC032B5
+:101370003019C0581C3B3029F9B90203189EE01EF1
+:10138000FFF9306CF9E900191C49129BE1BC00001F
+:10139000D3033249EA19AA0091098B0BB19CC243CD
+:1013A000D503D82A49256A0C1895A1A50C3BC03253
+:1013B0003009C0980E3BC0323019C0581C3B302950
+:1013C000F9B90203E015FFF9306CF9E9001912458B
+:1013D000E1BC0000D3033289EA19AA009109484907
+:1013E0009305B19CCDE2D82AFFFF0824FFFF08280F
+:1013F000D401202DA36CFE790824F20C0308FA0C0A
+:101400000908109EE01EF0FFA96BE21B0F001C4BA9
+:10141000B1ABFA0C090BE1BB0000D303F8C8FFDC49
+:10142000EA18AA00FE7E08189D08FA0C030EF20CBA
+:10143000090EB19BC023D503F40C1518C060301CF5
+:10144000C76FC0303FFCC028300C2FEDD802000021
+:10145000D401202DA36CFE7A081CF40C030BFA0CAB
+:10146000090B1699E019F0C1E419C0F0FB38001C13
+:10147000306BF7E800181049FB38000CFB3E000EFB
+:10148000F1EE1018FB3E000DF1EE1028338BF7E85B
+:10149000003810494058A968E2180F001049404828
+:1014A000EE7B0000F7E8010810494068B968E618CB
+:1014B0003F001049FA0C0909E1BB0000D303F8C949
+:1014C000FFE4EA19AA00FE7808189109FA0C03084B
+:1014D000F40C0908B19BC023D5032FEDD80A0000F6
+:1014E000202DA36CFE7B081CF60C030AFA0C090ADB
+:1014F0001499A1A9FA0C0909E1BA0000D303F8C9AB
+:10150000FFE4EA19AA00FE7808189109FA0C03080A
+:10151000F60C0908B19AC023D5032FED5EFD00003B
+:10152000202DA36CFE7B081CF60C030AFA0C090A9A
+:101530001499A1C9FA0C0909E1BA0000D303F8C94A
+:10154000FFE4EA19AA00FE7808189109FA0C0308CA
+:10155000F60C0908B19AC023D5032FED5EFD0000FB
+:10156000FE7B0814580CC051760CA59C5E3DCFDB69
+:10157000760CA78CCFE25EFDE07B86A0FE7A086445
+:10158000F40C002A740CA1CC950C740CA19C5E2D5B
+:10159000201BCFC15EFE0000D43116971495300396
+:1015A000F20616012016FE740864E80C0024680B8D
+:1015B000A19BC0623013CE1FC0373FFCD832B1664A
+:1015C000E61600FF302CF9E500150C45A967E21777
+:1015D0000F000A4789075813C041680CA1AC890C59
+:1015E000D83A0000D4013009FC188000100CFEB07D
+:1015F000F9C5D80AD4211897F40C1510C040FEB0D4
+:10160000F919AE8CD82AD70380000830D401F40C25
+:101610001510C060178C580CC030FEB0F911D80AF4
+:101620008000083CD421189516971496C0680E9C2B
+:10163000FEB0F9322FF70ACC0C9CFE360001F80BF5
+:101640001510CF61D82AD70380000894D4211896AA
+:1016500016951497C0680B3B0C9CFEB0F9472FF60B
+:101660000E9CFE370001F80B1510CF61D82AD70366
+:10167000800008E8E0690010EA190000F60B001B82
+:1016800016091898580A5E0D133B201A10CBCFD1BB
+:101690005EFD0000E06900E0EA190000F20B00299D
+:1016A0001898580A5E0D133B201A10CBCFD15EFD5F
+:1016B000FC198080120B1898580A5E0D1739201AF1
+:1016C00010C9CFD15EFD0000D4013019FC18808014
+:1016D000100CFEB0F953D80A80000978E5BC000070
+:1016E000E06B00E0EA1B0000F80A1601B68AF80A6F
+:1016F0001614B69AF80A160CB6AABD8CB6BC5EFDD6
+:10170000D401201D301A300B1A9CC75F1B8B580B5D
+:101710005F1C2FFDD8020000D421E06700E4EA1727
+:1017200000008E8C580CC071FEB0F83EAE0C300C30
+:10173000FEB0F8A0E0660080C0D85806C0F0FE3CBD
+:101740000001AE0C300B5C7CFEB0F8E6FE36FF010B
+:101750005C568E8C580CCF21DA2AD82A800007A438
+:101760008000087080000914D303FE7C1000E06B39
+:101770000A03EA1B5501990BE06B0A03EA1BAA0155
+:10178000990BC008D401FEB0F5D7E0A000BBFEB0B5
+:10179000F4A6D80A8000033480001900800000DA23
+:1017A000D401201D300BE06A01FCEA1A8080740924
+:1017B000A9D9F3EC109C500C318C4009F20C0A4A68
+:1017C0005C5A145BA96B5C7B308AEDBB000FC04296
+:1017D000EC1B83805C7BA17B5C7B201ACF71A98B87
+:1017E000208CCEC1129AE01AFF00144B500B304AE5
+:1017F0001A9BE06C01FCC69F2FFDD80AD42120ADB6
+:10180000E0672400EA1700F40E9B300CFEB0FD9A4E
+:10181000301A306B300CFEB0FDED0E9CE0A0015E86
+:10182000E0671CA8EA178000301C5D173009300AF9
+:10183000300BFE7C0C00E0A0019BC021C008FE7CA8
+:101840000C00E0A001A5E0A0009F4ABB161CC04010
+:10185000161CC040C058305CC048302CC028303CFA
+:10186000300BFB6B002433FA508A507B506C301CD9
+:10187000FB6C0016FB6B0015FB6C0014FACCFFEC44
+:101880001A9B3149190A16AA2049CFD1300CFEB053
+:10189000FDE1300CFEB0FE26300CFEB0FE63E066CB
+:1018A00007C0EA168000301C5D16303C5D17E0670B
+:1018B0001B24EA178000301B300C5D17301B301CD6
+:1018C0005D17301B303C5D17301B302C5D17301B13
+:1018D000304C5D17300C5D162F6DD82A80001340F8
+:1018E000800013F080001AD880001B6C80001B8CD5
+:1018F00080001984007A1200800014E080001560D6
+:10190000D42120ADE06707C0EA178000301C5D17C6
+:10191000E0661B24EA168000300B300C5D16300B9D
+:10192000301C5D16300B303C5D16300B302C5D16D4
+:10193000300B304C5D16300CE0A001B8300C5D1758
+:10194000300CFEB0FDEF300CFB6C0024508C507C52
+:10195000506CFB6C0016FB6C0015FB6C0014FACC91
+:10196000FFEC1A9B3149190A16AA2049CFD1300C35
+:10197000FEB0FD702F6DD82A80001CA880001520B5
+:1019800080001450D431205DFACCFFF8E06B1D7C50
+:10199000EA1B8000B709B928170818A83FF73FF4D9
+:1019A000E0661D0CEA1680005D16E0A001A7501C41
+:1019B000E0651D20EA1580005D15E0A001B71890D4
+:1019C0005D165D15300330053006C2181830C1F4BD
+:1019D000401B0A3BC1C41615F8000106EC0B141F8E
+:1019E000E072D330EC020648F6020349109A129BCB
+:1019F0000A98EA09141FE0A001311493580AC07034
+:101A0000400C141C5C4CE04C2711C12550030A9279
+:101A10000C91E0A001731895E0A001881896043598
+:101A2000C035023CCD445803C031300CC178300C75
+:101A3000FACAFFF8F40C032B062B083BF604173008
+:101A4000F80717302FFC583CCF435BF7E60C170024
+:101A5000C050FACBFFF8F607032C2FBDD832D703BE
+:101A600080001C5880001CF880001D28EBCD40FE33
+:101A7000E06C1E54EA1C8000E06E1E6CEA1E8000C2
+:101A8000300A300B190719061905EFE61003E7D3E2
+:101A9000C002C1C1EA041603C1900C37C090AF095F
+:101AA0002014AD28CFD1EBD5C003C121C0B820147C
+:101AB000AD2ACFE1EBD5C003C050300220150CC2D7
+:101AC000CFD11C3CCE03E3CF80FE0C37CF700F315B
+:101AD00020150CC1CEBB0000D4211897E06607E0AA
+:101AE000EA168000E06B07C0EA1B8000E06C8A41C8
+:101AF000EA1C01F71837C103301C5D1BE06C148130
+:101B0000EA1C03EF18373FFBC042311C5D16D82A90
+:101B1000310C5D16D82A300C5D1B3FFB311C5D1665
+:101B2000D82A0000D401FE790404720AFE7904D494
+:101B30007208A788C0333FFCD802E1B90000D30384
+:101B40003048F00C0028EA18AA00FE7E04589D08D0
+:101B5000E01AFFF8F7DBC003144BA7BBFE7A0404BE
+:101B6000F40C092BB199C023D503D80AD4017828E5
+:101B7000BD98CFE3A96BA1ABF94B0040B16A990ABC
+:101B8000782BB99BCFE3129BC0CCDA0A782BB99B98
+:101B9000CFE3780BA1AB990B782BB99BCFE35EFD1C
+:101BA000782AB99ACFE3991B782BB99BCFE35EFDD6
+:101BB000D401D503FEB0FE24FEB0F366FEB0F3629E
+:101BC000C031FEB0F3CDC008800017FC8000028455
+:101BD00080000280D401F80B1518C040FEB0F3C09D
+:101BE000D80AFEB0F3EBD80A8000035C800003B88B
+:101BF000D4013009300A305B300CFEB0FCCF300C21
+:101C0000E0A00070D80AD70380001CE0D401300C9B
+:101C1000FE7B0864970C3009300A305BFEB0FCBED6
+:101C2000D80AD70380001598D401E06900F8EA19B2
+:101C30000000728C729A5C7AE06B0164EA1B00000F
+:101C4000F1DCC006100B72585D18300CE06B098097
+:101C5000EA1B0000975CDA0AEBCD4080340C3007B9
+:101C6000300EA17A5CFB5CFE5CF7103EF2071300BD
+:101C7000C053101EEE090147A1AA201CCF310E99B6
+:101C80001C98E3CD80800000E0690000EA19800024
+:101C9000121CF9DCC00EF9EA11ECFE7A0000A59BDB
+:101CA000F40B092C5EFD0000E1BB0000D303FC1A1D
+:101CB000AA00FE790458930AFE7A0400950CB19BA1
+:101CC0005E3DD5035EFD0000FC198000120B1898E4
+:101CD000580A5E0D1739201A10C9CFD15EFD0000D9
+:101CE000FE7B0864F60C002B760CA19C5E3D760C06
+:101CF000A1AC970C5EFD0000D401FE7C0C00E0A0BE
+:101D00000019A17CD802D70380001D30D401300B0C
+:101D1000FE7C0C00FEB0FF46D80AD70380001BA053
+:101D2000300CE3BC00425EFDE1BC00425EFC000002
+:101D3000781B5EFB00001000000020000000400047
+:101D4000000080000000C0000001000000018000D1
+:101D50000002000000030000000400000006000074
+:101D600000080000000C000000100000002000002F
+:101D7000000000000000000000000000007A1200D7
+:101D800000B71B0000F424000008000080001CC8FD
+:101D9000800015E4000000000000000000000000CA
+:101DA00000000001800015F48000160C00000020E7
+:101DB000800016248000164C00000003800016747A
+:101DC00000000000000000048000169400000000E5
+:101DD00000000200800016B0800016C8000000005D
+:101DE00000000000000000000000000000000000F3
+:101DF00000000000000000000000000000000000E3
+:101E000000000000000000000000000000000000D2
+:101E100000000000000000000000000000000000C2
+:101E200000000000000000000000000000000000B2
+:101E300000000000000000000000000000000000A2
+:101E40000000000000000000000000000000000092
+:101E50000000000080001E7000000008000000D498
+:0C1E6000000000E0000000E00000092A83
+:101E7000800007D4000000001200000000030000F2
+:101E80000000000000000000000000000000000052
+:101E900000000000000000000403090441544D4507
+:101EA0004C000000444655204154333255433343DF
+:101EB0000000000080000F7480000F9880000F9CCD
+:101EC0008000103C80001D8880001D9480001DA0B3
+:101ED00080001DAC80001DB880001DC480001DD096
+:101EE00080001DDC80001DE880001DF480001E00C5
+:101EF00080001E0C80001E1880001E2480001E30F2
+:101F000080001E3C80001E481201000200000040BC
+:101F1000EB03EB2F02010102000100000902120095
+:101F2000010100C0320904000000000000000000B0
+:101F30000000004C000000B4000000C8000000A039
+:041F4000000000CCD1
+:040000058000000077
+:00000001FF
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.2/at32uc3c-isp_cfg-1.1.2.dat b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.2/at32uc3c-isp_cfg-1.1.2.dat
new file mode 100644
index 0000000..76f0ab2
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.2/at32uc3c-isp_cfg-1.1.2.dat
@@ -0,0 +1 @@
+’žbáÿ× \ No newline at end of file
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.2/program_at32uc3c-isp-1.1.2.cmd b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.2/program_at32uc3c-isp-1.1.2.cmd
new file mode 100644
index 0000000..3b9c850
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.2/program_at32uc3c-isp-1.1.2.cmd
@@ -0,0 +1,82 @@
+@echo off
+setlocal enableextensions enabledelayedexpansion
+
+: This command script programs the ISP (flash array), the ISP
+: configuration word (User page) and the general-purpose fuse bits.
+
+: Copyright (C) 2006-2008, Atmel Corporation All rights reserved.
+:
+: Redistribution and use in source and binary forms, with or without
+: modification, are permitted provided that the following conditions are met:
+:
+: 1. Redistributions of source code must retain the above copyright notice, this
+: list of conditions and the following disclaimer.
+:
+: 2. Redistributions in binary form must reproduce the above copyright notice,
+: this list of conditions and the following disclaimer in the documentation and/
+: or other materials provided with the distribution.
+:
+: 3. The name of ATMEL may not be used to endorse or promote products derived
+: from this software without specific prior written permission.
+:
+: THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED
+: WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND
+: SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
+: INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+: BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+: DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+: OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+: NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+: EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+echo.
+echo Performing a JTAG Chip Erase command.
+avr32program -p AVRONE chiperase -F
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+
+echo.
+echo Programming MCU memory from `at32uc3c-isp-1.1.2.hex'.
+avr32-objcopy -I ihex -O binary at32uc3c-isp-1.1.2.hex at32uc3c-isp-1.1.2.bin
+avr32program -p AVRONE program -finternal@0x80000000 -cint -e -v -O0x80000000 -Fbin at32uc3c-isp-1.1.2.bin
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+del at32uc3c-isp-1.1.2.bin
+
+echo.
+echo Programming ISP configuration word \(default for UC3C_EK i.e. Word2 == 0x929E0E62 and Word1 == 0xE11EFFD7\)
+avr32program -p AVRONE program -finternal@0x80000000 -cint -e -v -O0x808001F8 -Fbin at32uc3c-isp_cfg-1.1.2.dat
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+
+echo.
+echo Programming general-purpose fuse bits.
+avr32program -p AVRONE writefuses -finternal@0x80000000 gp=0xFFF7FFFF
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+
+echo.
+echo Resetting MCU.
+avr32program -p AVRONE run -R
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+
+color 27
+pause
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.2/program_at32uc3c-isp-1.1.2.sh b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.2/program_at32uc3c-isp-1.1.2.sh
new file mode 100644
index 0000000..f78bde8
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/releases/at32uc3c-isp-1.1.2/program_at32uc3c-isp-1.1.2.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+# This shell script programs the ISP (flash array), the ISP configuration words
+# (User page) and the general-purpose fuse bits.
+
+# Copyright (c) 2009 Atmel Corporation. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# 3. The name of Atmel may not be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# 4. This software may only be redistributed and used in connection with an Atmel
+# AVR product.
+#
+# THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+# EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+#
+
+
+echo
+echo Performing a JTAG Chip Erase command.
+avr32program chiperase
+
+echo
+echo Programming MCU memory from \`at32uc3c-isp-H.hex\'.
+avr32-objcopy -I ihex -O binary at32uc3c-isp-1.1.2.hex at32uc3c-isp-1.1.2.bin
+avr32program program -finternal@0x80000000,512Kb -cint -e -v -O0x80000000 -Fbin at32uc3c-isp-1.1.2.bin
+rm -f at32uc3c-isp-1.1.2.bin
+
+echo
+echo Programming ISP configuration words \(default for EVK1100 i.e. Word2 == 0x929E1424 and Word1 == 0xE11EFFD7\)
+avr32program program -finternal@0x80000000 -cint -e -v -O0x808001F8 -Fbin at32uc3c-isp_cfg-1.1.2.dat
+
+echo
+echo Programming general-purpose fuse bits.
+avr32program writefuses -finternal@0x80000000 gp=0xFFF7FFFF
+
+echo
+echo Resetting MCU.
+avr32program reset
+
+pause
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/sysclk_uc3c.c b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/sysclk_uc3c.c
new file mode 100644
index 0000000..6ec97a4
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3c/sysclk_uc3c.c
@@ -0,0 +1,233 @@
+/**
+ * \file
+ *
+ * \brief Part-specific system clock management
+ *
+ * Copyright (C) 2010 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#include "preprocessor.h"
+#include "compiler.h"
+#include "board.h"
+#include "pm_uc3c.h"
+#include "scif_uc3c.h"
+#include "ast.h"
+#include "cycle_counter.h"
+#include "flashc.h"
+
+
+// Use Internal RC8MHz, wait characterization results
+// If it works use this configuration as default.
+//#define INTERNAL_RC8MHZ_USED
+
+#ifndef INTERNAL_RC8MHZ_USED
+#include "freq_detect.h"
+#endif
+
+/*!
+ * Detects extern OSC frequency and enable USB clock
+ */
+void sysclk_init(void)
+{
+
+#ifdef INTERNAL_RC8MHZ_USED
+ // Start the 8Mhz Oscillator
+ scif_start_rc8M();
+ // Set the main clock source as being RC8MHz.
+ pm_set_mclk_source(PM_CLK_SRC_RC8M);
+
+ scif_pll_opt_t opt;
+ opt.osc = 2;
+ opt.lockcount = 63;
+ opt.div = 0;
+ opt.mul = 5;
+ opt.pll_div2 = 1;
+ opt.pll_wbwdisable = 0;
+ opt.pll_freq = 1;
+
+ // lockcount in main clock for the PLL wait lock
+ scif_pll_setup(SCIF_PLL0, opt);
+
+ /* Enable PLL0 */
+ scif_pll_enable(SCIF_PLL0);
+
+ /* Wait for PLL0 locked */
+ scif_wait_for_pll_locked(SCIF_PLL0);
+#else
+ int mul;
+
+ // Switch to OSC ISP
+ // Set max startup time to make sure any crystal will be supported
+ // We cannot use a TC to measure this OSC frequency
+ // because the master clock must be faster than the clock selected by the TC
+
+ // Configure OSC0 in crystal mode, external crystal
+ // with a fcrystal Hz frequency.
+ scif_configure_osc_crystalmode(SCIF_OSC0, 16000000);
+ // Enable the OSC0
+ scif_enable_osc(SCIF_OSC0, AVR32_SCIF_OSCCTRL0_STARTUP_16384_RCOSC,
+ true);
+ flashc_set_flash_waitstate_and_readmode(16000000);
+ pm_set_mclk_source(PM_CLK_SRC_OSC0);
+
+ // Initialize the AST with the internal RC oscillator
+ // AST will count at the frequency of 115KHz/2
+ if (!ast_init_counter(&AVR32_AST, AST_OSC_RC, 0, 0)) {
+ while (1);
+ }
+ // Enable the AST
+ ast_enable(&AVR32_AST);
+
+ // Detect the frequency
+ // mul = (((96000000 / freq_detect_start())/2)-1)
+ switch (freq_detect_start()) {
+ case 8000000:
+ mul = 5;
+ break;
+ case 16000000:
+ mul = 2;
+ break;
+ case 12000000:
+ default:
+ mul = 3;
+ break;
+ }
+
+ scif_pll_opt_t opt;
+
+ // Set PLL0 VCO @ 96 MHz
+ // Set PLL0 @ 48 MHz
+ opt.osc = SCIF_OSC0;
+ opt.lockcount = 63;
+ opt.div = 0;
+ opt.mul = mul;
+ opt.pll_div2 = 1;
+ opt.pll_wbwdisable = 0;
+ opt.pll_freq = 1;
+
+ // lockcount in main clock for the PLL wait lock
+ scif_pll_setup(SCIF_PLL0, opt);
+
+ /* Enable PLL0 */
+ scif_pll_enable(SCIF_PLL0);
+
+ /* Wait for PLL0 locked */
+ scif_wait_for_pll_locked(SCIF_PLL0);
+
+ // Use 1 flash wait state
+ flashc_set_wait_state(1);
+
+ // Switch the main clock to PLL0
+ pm_set_mclk_source(PM_CLK_SRC_PLL0);
+
+ // fPBA: 12 MHz
+ // fPBB: 12 MHz
+ // fHSB: 12 MHz
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_0, PM_CKSEL_DIVRATIO_4); // CPU
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_1, PM_CKSEL_DIVRATIO_4); // HSB
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_3, PM_CKSEL_DIVRATIO_4); // PBB
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_2, PM_CKSEL_DIVRATIO_4); // PBA
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_4, PM_CKSEL_DIVRATIO_4); // PBC
+
+ // Use 0 flash wait state
+ flashc_set_wait_state(0);
+#endif
+}
+
+
+/*!
+ * Reset the generation of system clocks and switch to RCOsc
+ */
+void sysclk_reset(void)
+{
+ flashc_set_wait_state(1);
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_0, PM_CKSEL_DIVRATIO_2); // CPU
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_1, PM_CKSEL_DIVRATIO_2); // HSB
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_3, PM_CKSEL_DIVRATIO_2); // PBB
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_2, PM_CKSEL_DIVRATIO_2); // PBA
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_4, PM_CKSEL_DIVRATIO_2); // PBC
+
+ pm_set_mclk_source(PM_CLK_SRC_SLOW);
+
+ flashc_set_wait_state(0);
+ scif_pll_disable(SCIF_PLL0);
+
+ scif_pll_opt_t opt;
+ opt.osc = 0;
+ opt.lockcount = 0;
+ opt.div = 0;
+ opt.mul = 0;
+ opt.pll_div2 = 0;
+ opt.pll_wbwdisable = 0;
+ opt.pll_freq = 0;
+ scif_pll_setup(SCIF_PLL0, opt); // lockcount in main clock for the PLL wait lock
+}
+
+
+void sysclk_enable_usb(void)
+{
+ // Setup USB GCLK
+ scif_gc_setup(AVR32_SCIF_GCLK_USBC,
+ SCIF_GCCTRL_PLL0, AVR32_SCIF_GC_NO_DIV_CLOCK, 0);
+ // Enable USB GCLK
+ scif_gc_enable(AVR32_SCIF_GCLK_USBC);
+}
+
+
+void sysclk_disable_usb(void)
+{
+ AVR32_SCIF.gcctrl[AVR32_SCIF_GCLK_USBC] = 0;
+ scif_gc_setup(AVR32_SCIF_GCLK_USBC,
+ SCIF_GCCTRL_PLL0, AVR32_SCIF_GC_NO_DIV_CLOCK, 0);
+}
+
+
+void freq_detect_iface_ref_cnt_reset(void)
+{
+ ast_set_counter_value(&AVR32_AST, 0);
+}
+
+int freq_detect_iface_ref_cnt_value(void)
+{
+ return ast_get_counter_value(&AVR32_AST) * 2;
+}
+
+void freq_detect_iface_target_cnt_reset(void)
+{
+ Set_sys_count(0);
+}
+
+int freq_detetc_iface_target_cnt_value(void)
+{
+ return Get_sys_count();
+}
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/iar/at32uc3d-isp.hex b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/iar/at32uc3d-isp.hex
new file mode 100644
index 0000000..3929490
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/iar/at32uc3d-isp.hex
@@ -0,0 +1,503 @@
+:0200000480007A
+:10000000E1B80000F1D8C2C35818C0A0FEC8FFEE86
+:100010003009EA190061E06D0DB4D041D603300813
+:10002000FE791C00E06A00FCEA1A8080FE7B140066
+:100030007000E061504BEA1149537402E06301071C
+:100040000494C78CC141E7D2C210E043E11EC0F165
+:10005000EDB20009C0C3F6F30180E0642317087312
+:10006000C131EDB30003C3830230C3C1C54C91015C
+:10007000E06D0DCCD353FEC00076E3B00001E0A0EC
+:100080000D4BE0A00D7FEDB20008C262E06A00F8FF
+:10009000EA1A80807402E06301070494C4BCCE7144
+:1000A000E7D2C22FE043494FCE21E7D2C108E04357
+:1000B0000033CDD2FE7A2800E6041605A974080A9A
+:1000C0007584E013001FE8030A44E7D2C201065416
+:1000D000EDB40000CCC20230C051C1DC30083000A9
+:1000E00091003000EA100061E3B000003000300100
+:1000F0003002300330043005300630073008300954
+:10010000300A300B300C300D300EE3B00001E3B09C
+:10011000004248CF3002EA1255009302EE12FF006F
+:1001200093021C9FE8051200EA051117E605094530
+:100130000A54E04400FFFE9BFFF758045EF4000001
+:1001400080002000308A310CFE6B00047609AD99E6
+:10015000C1837609A589C553FE6A08003019763E29
+:10016000A19EC5727608A198C542740BAFCB950BC2
+:10017000FE6B00049749975C740CAFAC950CC6D825
+:10018000FE690220930C930AFE6901307208A3985D
+:10019000C042E0A0019FC6187208A388C042E0A038
+:1001A0000261C5B87208A198C092FE6801C0700EC5
+:1001B000A19EC042E0A001E6C508E06E0940EA1E2B
+:1001C00000007D08720EA58EC08293CA720CA19C9D
+:1001D000C4435838C421C0F8720EA59ECBB293CC4C
+:1001E000720CA38CC3A35818C041E0A002A7C35847
+:1001F0005848C331E86C0000FE6B01C097CCC2D8F0
+:10020000971AE0A00555E0A00107E0A0014FC258F1
+:10021000763EA59EC1227608A598C0F27408AFC8A4
+:100220009508FE6A08007418AF98C043760AA19A30
+:10023000CF92974C9759C118741BA38BC0E2740CD2
+:10024000AFCC950C302C952C740CAFAC950C741C69
+:10025000F9DCC161E0A00CB2FE6C0800786BD6033B
+:10026000800004D080000660800005808000073890
+:1002700080000CAC80000414800004A880001BB82F
+:10028000E1BC0000D3035EFC5EFF0000D421E0A0CF
+:100290000CE7CF7F1897FE6608006C0CAFDC8D0C66
+:1002A0006C0C300AE06B0220E06C0144EA1C800018
+:1002B000E0A00D326C0CB9BC8D0C6C0CB9CC8D0C63
+:1002C0006C0CADCC8D0C6C0CADAC8D0C6C0CAFBC57
+:1002D0008D0C6C0CAFCC8D0C6C0C6C1BAF9BCFE2FF
+:1002E000E0690940EA190000300A300BF2EB002007
+:1002F000F2EB0028F2EB0030F2EB00386CCB2E0969
+:100300008DC9FE6C0000780BADCB990B780BE81B08
+:100310000C00990B6C0CA1BC8D0C6C0CAFAC8D0C53
+:10032000FE7C1588780BA1AB990BB197C023D50340
+:10033000D82AD70380001C5C80001D14D421CA1F5A
+:100340001897FE6C0800780BAFDB990B780BADCBE0
+:10035000990BE0A00C93B197C023D503D82AD703FB
+:1003600080001C78D421C8DF1897FE6608006C0C4A
+:10037000AFCC8D0C6C1BAF9BCFE2FE6C0000780BFA
+:10038000A9CB990BE0A00494C46CC8FC308CFE6B24
+:100390000000976C301BFE6A0000956B310AFE6905
+:1003A0000000936A932C304C932C933B932A6C0C53
+:1003B000AFAC8D0CB197C023D503D82A80000CAC0C
+:1003C000FE6C0800780BAFCB990BFE6C0000780B2D
+:1003D000A9AB990B5EFD0000FE6B0000760AA7DA60
+:1003E000970A760AE01AFF80F9DCC007144C970CD4
+:1003F000760CA7BC970C5EFDFE6B0000760CF9DC5A
+:10040000C0075EFCE06A0940EA1A0000952CB46B54
+:100410005EFD0000D401FE6C0000780BE01BFF8045
+:10042000990B780BA7BB990BFE6C0100780B308AF7
+:100430003409F20A0C4AE0690400F4090D4AE01B91
+:10044000E68B3FF9F20A001AF4091200F20A111CB5
+:10045000A56AE21A1974144B990BE06C0940EA1C66
+:100460000000F8CBFFBC998B789BE41B8000999B24
+:10047000FE6C0000787BA1AB997B300CEA1C01007C
+:10048000FE6B01F097CCCFDEFE6B01F0304A970A8D
+:10049000302A970AE06B1000FE6A0000956BB19C51
+:1004A000C023D503D80A0000301CFE6B0220970C35
+:1004B000302CFE6B0160970C300CE06B0940EA1B9E
+:1004C0000000974C975CB66CF74C00405EFD000056
+:1004D000D421E0670940EA1700006F0C580CC030C7
+:1004E000C5EDCE3FFE6601F0FE65016030446E9CB6
+:1004F000F9DCC00F588CC090305CEF4C0040E86CC9
+:1005000000008D0C8B04D82AEEEA0044AF1BF9DB07
+:10051000C0105CCCAE1C8EAC5CCCAE2CF9DAC0103A
+:100520005CCCAE3CE0A0051ACE808B04E06C09C424
+:10053000EA1C0000300B0F8AA98AC0F28EEAF5DAB5
+:10054000C006F40915105F0AB88AB81BB82B302C06
+:10055000EF4C0040C16CD82A8EBA580AC031CEDCAC
+:10056000D82AB81BB82B301CEF4C004031078B0742
+:10057000C88E8D07B19CC023D503D82A80000F58A0
+:10058000D431E0630280EA1380005D133017FE6B04
+:1005900001F097C7B19CC023D503E0660940EA1675
+:1005A00000006D0C583CC041CFACC7FFD83A8CEC72
+:1005B000E06509C4EA1500008AA418245C74C1F13E
+:1005C0000B8B580BC031CD5CD83A30028A9B160C8D
+:1005D0008CBB163CC0656C5C580CC0305D1CC031D7
+:1005E000AA82C1188AAC8A9B180BAA1BAA228CE487
+:1005F000F9D4C006F80B15105F0CAA8CE04400413A
+:10060000F9B404405D13FE6B0130760AA38AC08200
+:10061000B19CC023D503304CED4C0040D83A6C2936
+:100620008AAB1609089BECCEFFBC5804C0501338A7
+:10063000201B1CC8CFD18AAB080BAA2B6C9BE01BDC
+:100640008000E9D4C00F16448D94FE6B013097C72B
+:10065000FE6B01F09707B19CC023D503D83A000088
+:10066000D431E0670940EA1700006F0CFE6601F024
+:10067000E86500003054581CC0C0582CC030584C9D
+:10068000C031C8DCC048EF4400408D05C0EFD83A07
+:100690006E9BF7DBC00FE06309C4EA13000086AC71
+:1006A000189A8EE9F80B00081039C044F20C010BBF
+:1006B0005C7BEEC9FFBC6E2C180A169C149E580B6E
+:1006C000C0501338201C1CC8CFD186AC160CA62CE9
+:1006D0005C7CFE6201603021E04B0040C061869B83
+:1006E000180B8EBA143BC0F5AE6C6E5C580CC08013
+:1006F0005D1CC061EF4400408D058501D83A85013D
+:10070000C1CCD83A8EEBF80B1900C0C16E5C580C06
+:10071000CF205D1CCF0086AC869B180BA61B300C2F
+:10072000A62C850131078507FEB0FDAC8D07B19C75
+:10073000C023D503D83A0000D401E06C0940EA1C7C
+:100740000000303BF94B0040789BE01B8000999BF8
+:10075000FEB0FD98FE6B0160301A970AFE6901F049
+:10076000930A308A970A930AB19CC023D503D80A0A
+:10077000D401304CE06B0940EA1B0000F74C00400C
+:10078000FEB0FD80310BFE6A0160950BFE6A01F040
+:10079000950BB19CC023D503D80A0000D401E06BAF
+:1007A0000940EA1B0000764C580CC0205D1CD80A9A
+:1007B000FE6C140C780BE06A1DA0EA1A8000F7DBCF
+:1007C000C004F40B032CA98C5EFC0000FE6A14002C
+:1007D0007409A7C9340BF7EC006C124C950C5EFD44
+:1007E000D421E0670838EA178000E06B07CCEA1BE9
+:1007F0008000E06AE1C1EA1A00E4143CC123E06A27
+:10080000C381EA1A01C9143C301CC0625D1B3FFB66
+:10081000311C5D17D82A5D1B3FFB310C5D17D82AB0
+:10082000300C5D1B3FFB311C5D17D82AFE6B140892
+:10083000760CA19CCFC25EFDD42118951697E06678
+:100840000008EA160000F0160000FE6C1404780B95
+:10085000E01BFFC0EBD5C00616455807C0A6E01543
+:1008600000FFE415FF000A9BEBD7C010F7E51085E9
+:10087000EBD5C018EA15A5009905781CE21C000C00
+:100880008D1CF0160000D82AFE6B1408760CF9DCDB
+:10089000C0815EFCD4013FFB309CCCFFD80A000035
+:1008A000D401F60A1518304AF9BA0005189B149CB1
+:1008B000CC4FD80AD42118961697C7BF0E9BA39C7D
+:1008C000B9360C9CCEEFD82AD42118973006308543
+:1008D00020150E9B0A9CCEFFE06B0008EA1B00006F
+:1008E000761C18465805CF519716D82AFE6B14145B
+:1008F0007618760A30091449F9DCC006EDBC00050B
+:10090000F2081730F00C0A48A1985F3C5EFC00002A
+:10091000D42118971696F7DCC006308CC8EFEC0C83
+:100920001518C0400E9CCE3FD822DA2AD401F60A10
+:100930001518C061F9DCC006189B307CC7EFD80AD7
+:10094000D401F60A1518300BC030CE3FD80ACEFFBE
+:10095000D80A0000D401189B30CCFEB0FF6FFE6BAC
+:100960001408760CF9DCC0A1D8020000D421169737
+:100970003016189B302CFEB0FF61EE0C1518C0C06D
+:10098000E0670008EA1700006E153FFCCE4F18968E
+:100990006E1C18458F150C9CD8220000D4013FFB1B
+:1009A00030FCFEB0FF4BFE6B1408760CF9DCC0A1E6
+:1009B000D8020000D42118973FFB30ECFEB0FF3E78
+:1009C000EE0C1518F9BC0001C020CE9FD822000003
+:1009D000D671204D30013002FE6C140C78093008BD
+:1009E000EA188000E06E1DA0EA1E8000F3D9C00462
+:1009F000FC09032C18085028405616970C0A149529
+:100A0000300CEA1C80001836C0831036C0B3300C9E
+:100A1000EA1C80801836C0625C36160618060C97F1
+:100A20001896E06C0101EA1C8080183AC063E0650A
+:100A30000100EA158080C098301CEA1C8080183ABA
+:100A4000C0421438F00517300A9CA1CCE01CFFFC12
+:100A5000E01CFFF8503CE9D5C003C0E8580BC0507B
+:100A6000300CCA9F661C18423FFB30DCFEB0FEE62D
+:100A7000049C66121842E0630008EA1300000A367C
+:100A8000E08200BB3FFB303CFEB0FED8661C184243
+:100A90000C99E019FF00F2CCFF00403AF40C0D4B2A
+:100AA0000A9CE01CFF0018395F2AF9D6C008C26012
+:100AB0000C98E018FFF8C058720C12AC720C12AC13
+:100AC0001039CFB3FDD6C003C190300C1336FA0CE9
+:100AD0000B062FFC1C3CCFB3588CC0620F39FA0CAC
+:100AE0000B092FFCCFAB109640391238C062400979
+:100AF0000CA940190CA9C0283011A39BEC0C1603BB
+:100B0000181B303C0E6C187CC040202CC0B0C1A813
+:100B1000169C580CC2700F0B0CAB0F0B0CAB201CAF
+:100B2000CF9B169C580CC1E0300B0F29FA0B0A1909
+:100B30002FFB584BCFB340090CA940190CA9201C1E
+:100B4000CF2B169CC0D8300B0F39FA0B0B092FFB9B
+:100B5000588BCFB340090CA940190CA9201C580C84
+:100B6000CF31F40C1518C240E20C1518C030089CA7
+:100B7000C098300CC0580F3BFA0C0B0B2FFC083CF4
+:100B8000CFB30A995804C061C108133BFA0C0B0B90
+:100B90002FFC588CCFB3400B0CAB401B0CABC05898
+:100BA000720C12AC720C12ACF9D9C008CFA1301C77
+:100BB000EA1C80801836FB3B001BFE92FF51580B4D
+:100BC000C070300B3FFCFEB0FED3661C18423FFBEA
+:100BD000301CFEB0FE33049C66121842402B1636C1
+:100BE000FE93FF4B5C360E06300CEA1C8080180624
+:100BF0000C971896C41B8712405C2FCDDC72000046
+:100C0000D401E06A00B4EA1A000015895809C0212D
+:100C1000D80AE06A00A8EA1A00007418700913C81C
+:100C2000F00C1800CF6295297418700E1DB92FEEC4
+:100C3000FDD950005CC9202E5C791C09C048118E7A
+:100C40001C08952874281238CE42119E584ECF8128
+:100C500011AEFC0C1800CF4111BEFC0B1800CF01E7
+:100C6000DA0A0000D4211897300BCCBFC021D82A53
+:100C7000E06C00A8EA1C0000781B761CF8070F8BBC
+:100C8000761C5D1CDA2A0000D4211897CBAFC02156
+:100C9000D82AE06C00A8EA1C0000781B761CF80734
+:100CA0000F8BF01B00005F1CD8220000D421E067EE
+:100CB00000A8EA170000E06600B4EA1600000D8CF8
+:100CC000580CC0C03005C0580A9CCCDF2FF55C55CD
+:100CD0006E1C780B17CC1835CF85300CAC8CE06CC3
+:100CE0000100AE1CD82A0000D401E06B0940EA1BC9
+:100CF0000000969CF9DCC007FEB0FB70D80AD70351
+:100D0000800003D8D421E0670940EA1700008E9BD9
+:100D1000F3DBC008E0680090EA180000E06A040411
+:100D2000EA1A8000F60C1608201CC060201CC0E0E7
+:100D3000201CC210D82A700C198B5D1A8EBC8EEB49
+:100D4000F60C1900C022AE6CDA2A700CF93B0011C7
+:100D50001639C025D82A701BF609033C19BB2FECA5
+:100D6000F9DB50005CCB5C7B202C5D1A302C6E2BA9
+:100D7000B69CCE5BE06C0014EA1C00005C5B167B4A
+:100D8000C060201BC070201BC180D82A304B2E4C65
+:100D9000CD5B305BF8C9FFE03008F208070E5CCE8F
+:100DA000F8080016AC1E2FF81638CF853029F20B44
+:100DB000001BB88B5C5BCC2B30CBF8C9FFD8CEDBEB
+:100DC000D431E0660940EA1600000D8CE06500B4FD
+:100DD000EA1500000B8BE06700A8EA170000EDBCE5
+:100DE0000007C4828CBAF4091510C021D83AF9DC86
+:100DF000C005E0640404EA148000580CC1A10D9CF5
+:100E0000187CC060206CC0C0202CC0C0D83A582AC2
+:100E1000C020D83A302BEECCFFFE5D14DA3AC73F43
+:100E2000D832581AC020D83A301B0A9C5D14DA3ADE
+:100E3000581CCDD10D9C58ACCDA1581AC020D83A21
+:100E4000F60C1518CFD08CA55C556E1C780B17CC02
+:100E50001835CF64300B0A9CCD4ECF206E1C781B0A
+:100E6000F605032C783B5D1BAE8C301B0E9C5D148D
+:100E7000DA3AF9DCC005E0640C88EA148000580C0A
+:100E8000C4F10D9C201CC140202CCB10202CC06034
+:100E9000202CCAD0202CC180D83A8CBC580CC02041
+:100EA000D83AE06C0CE8EA1C80008D4CDA3A8CBC35
+:100EB000580CC020D83A8C9C581CCFD18E9CE21C78
+:100EC000FDFFAE1CDA3A8CBC580CC020D83AFEB0FC
+:100ED000FA95CFD0E0630090EA130000660CF93B6E
+:100EE00000118C9CF80B1800CF23CE1E8C9CAA8C72
+:100EF0005C5CF80B1518C021DA3A661BF60C003B57
+:100F0000208B8F1B30066E1C780B17CC1836CF54F5
+:100F1000300B0C9C5D14CDB02FF65C56CF5B581C8B
+:100F2000FE91FF660D9C58BCFE91FF628CBC580C74
+:100F3000C030300CC0E8F60C1518CFC08CA55C553D
+:100F40008C975C570A9CC8FECF500E9B0A9C5D1480
+:100F50005C5CD832800003F8D421300CE067094093
+:100F6000EA170000AE6C8F4C8F5C0F8CEDBC000755
+:100F7000C0528EBB580BC021D82AE21C0060C04171
+:100F8000C20FC020DA2A0F8CF9DCC005581CCF51E3
+:100F9000E06C00B4EA1C0000198B580BCEE08EA662
+:100FA0005C56E06700A8EA1700006E1C780B17CCAF
+:100FB0001836CE34E0650C00EA158000300B0C9C2E
+:100FC0005D15CDB06E1C781BF60603276E3C5D1CCC
+:100FD000F7DCC0080C9C5D15CD006E2C5D1CCD317E
+:100FE000D82A0000D401C65CE0A0038CE0A0039CDA
+:100FF000E06B00B8EA1B0000F76C0008DA0AD703C0
+:1010000080001700800017245EFD0000D421E065F9
+:101010000940EA1500000B8C189BE21B0060E04BB6
+:101020000020C020D82A0B9BE0660404EA1680004A
+:10103000E06700B8EA170000A98CC162202BC0F05D
+:10104000201BC301E06C00E0EA1C0000198B580B68
+:10105000C020C2DD306B0E9C5D16DA2A6E6C580C17
+:10106000C2105D1CD822201BC050203BC1B1C21C45
+:10107000DA2A6E7C580CC0A0300CE0A003A5E06C0E
+:1010800010D0EA1C80008B4CDA2A340BE06C00E4B0
+:10109000EA1C00005D16E06C10E0EA1C80008B5C2E
+:1010A000DA2A30FCAE8C30ACAECCD82A5EFD000023
+:1010B000300CE06B00B8EA1B0000B68C302AB6CAD0
+:1010C000E06A0940EA1A0000955C954C977C5EFD49
+:1010D000D401E06C00B8EA1C0000787B5D1BD80AE4
+:1010E000D431201DCE6FE06700B8EA1700000E96DD
+:1010F00030048F64301CE0A00367E06A0924EA1A18
+:101100000000EF3C000815831863E06C00E4EA1C63
+:10111000000019A9E0650124EA150000E06008005C
+:10112000E06812F8EA18800030A23031198E199B5D
+:10113000F7EE108EE02E0100C0F0E02E0200C2C0DB
+:10114000201EC420E02E00FFC6D0203EC6D0E02ED8
+:101150000200C780CA68E60B1518C050AE81302C5B
+:10116000AECCC9F86E5B580BC041AE81AEC2C99817
+:101170002FEC5D18E0800096009B0A9CFEB0F944BD
+:10118000E06C1C94EA1C8000E06B0940EA1B000044
+:10119000975C301CC8782FEC5D18E08000836E4CA3
+:1011A000580CC041AE81AEC2C7C8E60C1518C0606D
+:1011B000E06C12E4EA1C8000C058E06C133CEA1CAE
+:1011C00080008F6CCE7B2FEC5D18C6B06E4C580C37
+:1011D000C041AE81AEC2C6586E9C580CCDB0F8006E
+:1011E0000D445C74081C8F9C089A6E8B0A9C6E4997
+:1011F0005D190A9CC0486E8B2FFB8F8B089BFE34B9
+:1012000000015C74F60A1510CE80193BE04B00FF1C
+:10121000CF30305CAE8CE06C1368EA1C80008F6CC1
+:10122000CB9BC45CC3F8F20C1518C061E06C178C42
+:10123000EA1C8000C058E06C17A8EA1C80008F7C74
+:10124000CA9B19BB1279C0402019C200CA3B591B66
+:10125000C055308CAE8CAEC2C248583BC080582BB3
+:10126000C060584BC040585B5F1CC028300CB48C29
+:101270002F47E06C1DE8EA1C8000F80B0F8AB509C7
+:10128000AF2815080EA88D84C85B300A500ABA8BA7
+:1012900019CBBA9B400B6E3C183BCDC28F8BC7ABB2
+:1012A000300C2FFDD832D703800017C4D421E0675B
+:1012B00000B8EA170000E0A00243C070300CEF6CE9
+:1012C0000008300B302AC048301C309B304AAECA70
+:1012D000AE8BE06B00E0EA1B0000B68CDA2AD70385
+:1012E0008000173CE06C00B8EA1C0000303BB88B73
+:1012F000302BB8CB5EFD0000E06B00B8EA1B0000AD
+:101300007689E619FFFF198AA96A1409199A120A3F
+:10131000978A1498E618FFFF19A9A969120819B944
+:101320001009763C1839C063308CB68C30ACB6CC22
+:101330005EFD122A2FFA979A5EFF0000D421E06723
+:101340000124EA170000E06600B8EA1600006C9A73
+:101350005C7A6C8B0E9C6C495D196C9B5C7B0E9C63
+:10136000FEB0F852DA2A0000D401E06C00B8EA1CA2
+:101370000000788BE06C0124EA1C0000F60A1608D5
+:10138000B88AB89B302BFEB0F83FDA0A800004041C
+:10139000E07B86A0FE7A5814740918695E1D201B34
+:1013A000CFA15EFE580C5E1F498C780AA1AAEC5BA7
+:1013B000BBA0C032300CC118E06CC6C0EA1C002DC6
+:1013C000183BC032301CC098E06C1200EA1C007A56
+:1013D000183B302CF9BC0203E01AFFF9149B189A51
+:1013E000306CF9EA001A164AE1BC0000D303324B14
+:1013F000EA1BAA00FE795818930B484B970AB19C38
+:101400005E3DD5035EFDD703FFFF5824D401201DA8
+:10141000A36CFE795824F20C0308FA0C0908109EFC
+:10142000E01EF0FFA96BE21B0F001C4BB1ABFA0CE6
+:10143000090BE1BB0000D303F8C8FFDCEA18AA00DF
+:10144000FE7E58189D08FA0C030EF20C090EB19B93
+:10145000C023D503F40C1518C060301CC9AFC030D0
+:101460003FFCC028300C2FFDD8020000D401202DF5
+:10147000A36CFE7A581CF40C030BFA0C090B16999A
+:10148000E019F0C5E419C0F0FB38001C302BF7E878
+:1014900000181049FB38000CFB3E000EF1EE10184E
+:1014A000FB3E000DF1EE1028338BF7E800381049B1
+:1014B0004058A968E2180F0010494048EE7B000030
+:1014C000F7E8010810494068B968E6183F0010497C
+:1014D000FA0C0909E1BB0000D303F8C9FFE4EA19DB
+:1014E000AA00FE7858189109FA0C0308F40C0908B0
+:1014F000B19BC023D5032FEDD80A0000202DA36C8B
+:10150000FE7B581CF60C030AFA0C090A1499A1A9CF
+:10151000FA0C0909E1BA0000D303F8C9FFE4EA199B
+:10152000AA00FE7858189109FA0C0308F60C09086D
+:10153000B19AC023D5032FED5EFD0000202DA36CD2
+:10154000FE7B581CF60C030AFA0C090A1499A1C96F
+:10155000FA0C0909E1BA0000D303F8C9FFE4EA195B
+:10156000AA00FE7858189109FA0C0308F60C09082D
+:10157000B19AC023D5032FED5EFD0000FE7B581409
+:10158000580CC051760CA39C5E3DCFDB760CA58C2D
+:10159000CFE25EFDE07B86A0FE7A5860F40C002A64
+:1015A000740CA1CC950C740CA19C5E2D201BCFC19A
+:1015B0005EFE0000D431169714953003F206160132
+:1015C0002016FE745860E80C0024680BA19BC062D2
+:1015D0003013CE1FC0373FFCD832B166E61600FF8D
+:1015E000302CF9E500150C45A967E2170F000A47F2
+:1015F00089075813C041680CA1AC890CD83A000087
+:10160000D40130093008EA188000100CFEB0F9E26D
+:10161000D80A0000D4211897F40C1510C040FEB071
+:10162000F935AE8CD82AD70380000888D401F40C91
+:101630001510C060178C580CC030FEB0F92DD80AB8
+:1016400080000894D421189516971496C0680E9CB3
+:10165000FEB0F94E2FF70ACC0C9CFE360001F80BB9
+:101660001510CF61D82AD703800008ECD421189632
+:1016700016951497C0680B3B0C9CFEB0F9632FF6CF
+:101680000E9CFE370001F80B1510CF61D82AD70346
+:1016900080000940E0690010EA190000F60B001B09
+:1016A00016091898580A5E0D133B201A10CBCFD19B
+:1016B0005EFD0000E06900A0EA190000F20B0029BD
+:1016C0001898580A5E0D133B201A10CBCFD15EFD3F
+:1016D0003009EA198080120B1898580A5E0D1739E4
+:1016E000201A10C9CFD15EFDD40130193008EA1894
+:1016F0008080100CFEB0F96ED80AD703800009D0A4
+:10170000E5BC0000E06B00A0EA1B0000F80A16012F
+:10171000B68AF80A1614B69AF80A160CB6AABD8C40
+:10172000B6BC5EFDD401201D301A300B1A9CC73F99
+:101730001B8B580B5F1C2FFDD8020000D421E067E3
+:1017400000A4EA1700008E8C580CC071FEB0F8326D
+:10175000AE0C300CFEB0F8BAE0660080C0D8580677
+:10176000C0F0FE3C0001AE0C300B5C7CFEB0F9001A
+:10177000FE36FF015C568E8C580CCF21DA2AD82A0F
+:10178000800007B0800008C88000096CD303FE7C8D
+:101790001C00E06B0A03EA1B5501990BE06B0A037E
+:1017A000EA1BAA01990BC008D401FEB0F5C9E0A05C
+:1017B00000B9FEB0F495D80A8000033C80001920DF
+:1017C000800000DCD401201D300BE06A00FCEA1A26
+:1017D00080807409A9D9F3EC109C500C318C40091D
+:1017E000F20C0A4A5C5A145BA96B5C7B308AEDBB35
+:1017F000000FC042EC1B83805C7BA17B5C7B201ACA
+:10180000CF71A98B208CCEC1129AE01AFF00144B25
+:10181000500B304A1A9BE06C00FCC67F2FFDD80AA3
+:10182000D42120ADE0671B00EA1700B70E9B300CF7
+:10183000FEB0FDBA301A306B300CFEB0FDE90E9CE4
+:10184000FEB0F7D0E0671CF4EA178000301C5D178B
+:101850003009300A300BFE7C1800E0A001BDC02129
+:10186000C008FE7C1800E0A001C7E0A0009B4AABC6
+:10187000161CC040161CC040C058305CC048302CFC
+:10188000C028303C300BFB6B002433FA508A507B6D
+:10189000506C301CFB6C0016FB6B0015FB6C0014CD
+:1018A000FACCFFEC1A9B3149190A16AA2049CFD16C
+:1018B000300CFEB0FDDD300CFEB0FE22300CFEB070
+:1018C000FE5FE06607CCEA168000301C5D16302C07
+:1018D0005D17E0671C18EA178000301B300C5D179D
+:1018E000301B301C5D17301B303C5D17301B302C1B
+:1018F0005D17300C5D162F6DD82AD703800013A416
+:101900008000140C800007E080001BD480001BF4D2
+:10191000800019A0007A1200800014FC8000157C61
+:10192000D42120ADE06707CCEA178000301C5D179A
+:10193000E0661C18EA168000300B300C5D16300B88
+:10194000301C5D16300B303C5D16300B302C5D16B4
+:10195000300CE0A001D1300C5D17300CFEB0FDF072
+:10196000300CFB6C0024508C507C506CFB6C0016CF
+:10197000FB6C0015FB6C0014FACCFFEC1A9B314990
+:10198000190A16AA2049CFD1300CFEB0FD712F6D77
+:10199000D82AD70380001CF48000153C8000146C0A
+:1019A000D431205DFACCFFF8E06B1E44EA1B8000C6
+:1019B000B709B928170818A83FF73FF4E0661D7863
+:1019C000EA1680005D16E0A001CF501CE0651D8C7A
+:1019D000EA1580005D15E0A001DF18905D165D1529
+:1019E000300330053006C2181830C1F4401B0A3BE2
+:1019F000C1C41615F8000106EC0B141FE072D330B9
+:101A0000EC020648F6020349109A129B0A98EA096A
+:101A1000141FE0A001591493580AC070400C141C04
+:101A20005C4CE04C2711C12550030A920C91E0A0B8
+:101A3000019B1895E0A001B018960435C035023C12
+:101A4000CD445803C031300CC178300CFACAFFF8CD
+:101A5000F40C032B062B083BF6041730F80717305D
+:101A60002FFC583CCF435BF7E60C1700C050FACB75
+:101A7000FFF8F607032C2FBDD832D70380001CC413
+:101A800080001D6480001D94D4211897169630059F
+:101A90003004C0780F9B0F8CC08C18452FE72FF4B3
+:101AA0000C34CF930A9CD822FE792800F80A160538
+:101AB000A97A120A3019F9DCC005F20C0949167B23
+:101AC000C100201BC130201BC130201BC140201B86
+:101AD000C150201BC170201BC170201BC1905EFF34
+:101AE000956995A995E995295EFD9559CFBB9569AD
+:101AF0009599CF9B95599599CF6B956995A995D94E
+:101B0000CF3B9559CFCB9569959995D9CEDB955912
+:101B10009599CF6BEBCD40FEE06C1E94EA1C8000E3
+:101B2000E06E1EACEA1E8000300A300B1907190661
+:101B30001905EFE61003E7D3C002C1C1EA0416039A
+:101B4000C1900C37C090AF092014AD28CFD1EBD590
+:101B5000C003C121C0B82014AD2ACFE1EBD5C0032A
+:101B6000C050300220150CC2CFD11C3CCE03E3CFB5
+:101B700080FE0C37CF700F3120150CC1CEBB00009A
+:101B8000D401303BE06C1E8CEA1C8000FEB0FF7E6E
+:101B9000D503FEB0FE47FEB0F37BFEB0F377C03155
+:101BA000FEB0F3E2C008D70380001A888000182036
+:101BB0008000028C80000288D401F80B1518C04008
+:101BC000FEB0F3D2D80AFEB0F3FDD80A8000036459
+:101BD000800003C0D4017828BD98CFE3A96BA1ABE6
+:101BE000F94B0040B16A990A782BB99BCFE3129B5D
+:101BF000C0CCDA0A782BB99BCFE3780BA1AB990B59
+:101C0000782BB99BCFE35EFD782AB99ACFE3991B75
+:101C1000782BB99BCFE35EFDD401FE791404720AE0
+:101C2000FE7914D47208A788CFC2E1B90000D303AB
+:101C30003048F00C0028EA18AA00FE7E14589D08CF
+:101C4000E01AFFF8F7DBC003144BA7BBFE7A1404BD
+:101C5000F40C092BB199C023D503D80AD40130095B
+:101C6000300A303B303CFEB0FCA7303CE0A00070B6
+:101C7000D80AD70380001D4CD401300CFE7B586C71
+:101C8000970C3009300A303B303CFEB0FC95D80A46
+:101C9000800015B4D401E06900B8EA190000728C24
+:101CA000729A5C7AE06B0124EA1B0000F1DCC0064A
+:101CB000100B72585D18300CE06B0940EA1B0000F5
+:101CC000975CDA0AEBCD4080340C3007300EA17AF5
+:101CD0005CFB5CFE5CF7103EF2071300C053101E65
+:101CE000EE090147A1AA201CCF310E991C98E3CD23
+:101CF00080800000E1BB0000D303300AEA1AAA008A
+:101D0000FE791458930AFE7A1400950CB19B5E3D3F
+:101D1000D5035EFDE0690000EA198000121CF9DCC1
+:101D2000C00EF9EA11ECFE7A1000A59BF40B092C09
+:101D30005EFD00003009EA198000120B1898580A5D
+:101D40005E0D1739201A10C9CFD15EFDFE7B586099
+:101D5000F60C002B760CA19C5E3D760CA1AC970C8A
+:101D60005EFD0000D401FE7C1800E0A00019A17CFB
+:101D7000D802D70380001D9CD401300BFE7C1800D4
+:101D8000FEB0FF44D80AD70380001C08300CE3BC27
+:101D900000425EFDE1BC00425EFC0000781B5EFB81
+:101DA0000000100000002000000040000000800043
+:101DB0000000C000000100000001800000020000DF
+:101DC00000030000000400000006000000080000FE
+:101DD000000C0000001000000020000000000000C7
+:101DE000000000000000000080001E8080001E68CF
+:101DF00080001E2C80001E3880001E7480001E5043
+:101E000080001E5C80001E6880001E6880001E68C6
+:101E100080001E6880001E6880001E6880001E68AA
+:101E200080001E6880001E6880001E68000000019F
+:101E3000800016148000162C00000020800016443C
+:101E40008000166C007A120000B71B0000F424001A
+:101E500000000004800016B4000000000000010033
+:101E6000800016D0800016E800000000000000008E
+:101E70000000000000000003800016940000000035
+:101E80000002000080001D34800016002E002F008C
+:101E90003000000080001EB000000008000000902C
+:0C1EA000000000A0000000A00000092AC3
+:101EB0008000082C00000000120000000003000059
+:101EC0000000000000000000000000000000000012
+:101ED00000000000000000000403090441544D45C7
+:101EE0004C0000004446552041543332554333449E
+:101EF0000000000080000FE4800010088000100C3B
+:101F0000800010AC1201000200000040EB03E92F3A
+:101F1000020101020001000009021200010100C0DB
+:101F20003209040000000000000000000000004C26
+:101F300000000070000000840000005C00000088C9
+:040000058000000077
+:00000001FF
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/iar/lnkat32uc3d-isp.xcl b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/iar/lnkat32uc3d-isp.xcl
new file mode 100644
index 0000000..9ef7a62
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/iar/lnkat32uc3d-isp.xcl
@@ -0,0 +1,150 @@
+/******************************************************************************
+ * AVR32 AT32UC3C ISP XLINK command file for AVR32 IAR C/C++ Compiler.
+ *
+ * The assumed memory layout is the one of the AT32UC3C0512:
+ *
+ * Start Stop Name Type
+ * ---------- ---------- ----- --------------
+ * 0x00000000 0x0000FFFF SRAM RAM
+ * 0x80000000 0x8007FFFF FLASH FLASH
+ * 0x80800000 0x808001FF USER FLASH
+ *
+ * Usage: xlink your_file(s) -f xcl-file libraries
+ *
+ * - Compiler: IAR EWAVR32
+ * - Supported devices: AVR32 AT32UC3C
+ *
+ * - author Atmel Corporation: http://www.atmel.com \n
+ * Support and FAQ: http://support.atmel.no/
+ *
+ ******************************************************************************/
+
+/* Copyright (c) 2009 Atmel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an Atmel
+ * AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+ *
+ */
+
+/************************************************************************/
+/* The following segments are defined in this link file: */
+/* */
+/* Code segments */
+/* CODE32 -- Program code used by __code32 functions. */
+/* RESET -- Reset code. */
+/* EVSEG -- Exception vector handlers. */
+/* */
+/* Constant segments */
+/* INITTAB -- Segment initializer table. */
+/* DIFUNCT -- Dynamic initialization vector used by C++. */
+/* SWITCH -- Switch tables. */
+/* ACTAB -- Table of pointers to acall functions. */
+/* */
+/* DATA21_ID -- Initialization data for DATA21_I. */
+/* DATA32_ID -- Initialization data for DATA32_I. */
+/* DATA32_C -- Constant __data32 data. */
+/* */
+/* CHECKSUM -- Checksum segment. */
+/* */
+/* Data segments */
+/* DATA21_I -- Initialized __data21 data with non-zero */
+/* initial value. */
+/* DATA32_I -- Initialized __data32 data with non-zero */
+/* initial value. */
+/* DATA21_Z -- Initialized __data21 data with zero initial value. */
+/* DATA32_Z -- Initialized __data32 data with zero initial value. */
+/* DATA21_N -- Non-initialized __data21. */
+/* DATA32_N -- Non-initialized __data32. */
+/* SSTACK -- The system stack. */
+/* CSTACK -- The application stack. */
+/* HEAP -- The heap used by malloc and free. */
+/* */
+/************************************************************************/
+
+/************************************************************************/
+/* Define CPU */
+/************************************************************************/
+
+-cavr32
+
+/************************************************************************/
+/* Reset code is located at address 0x80000000 and up. */
+/************************************************************************/
+
+-Z(CODE)RESET=80000000-8001FFFF
+
+/************************************************************************/
+/* The exception handler code is located at address 0x80000000 */
+/* and up. Make sure that the exception table gets properly */
+/* allocated. By using the special -Z@ allocation primitive, the */
+/* placement is guaranteed to be at _EVBASE and onwards. */
+/************************************************************************/
+
+-Z@(CODE)EVTAB=80000000-8001FFFF
+-Z@(CODE)EV100=80000100-8001FFFF
+-P(CODE)EVSEG=80000000-8001FFFF
+
+/************************************************************************/
+/* Allocate code and const segments. */
+/************************************************************************/
+
+-P(CODE)CODE32=80000000-8001FFFF
+-P(CONST)DATA32_C=80000000-8001FFFF
+-P(CONST)USERDATA32_C=80800000-808001FF
+
+// Initializers
+-Z(CONST)INITTAB,DIFUNCT=80000000-8001FFFF
+-Z(CONST)CHECKSUM,SWITCH=80000000-8001FFFF
+-Z(CONST)DATA21_ID,DATA32_ID=80000000-8001FFFF
+-Z(CONST)RAMCODE21_ID,RAMCODE32_ID=80000000-8001FFFF
+
+-Z(CONST)ACTAB,HTAB=80000000-8001FFFF
+
+/************************************************************************/
+/* Allocate the read/write segments that are mapped to RAM. */
+/************************************************************************/
+
+-Z(CODE)RAMCODE21=00000004-0000FFFF
+-Z(DATA)DATA21_I,DATA21_Z,DATA21_N=00000004-0000FFFF
+-Z(CODE)RAMCODE32=00000004-0000FFFF
+-Z(DATA)DATA32_I,DATA32_Z,DATA32_N=00000004-0000FFFF
+-Z(DATA)TRACEBUFFER=00000004-0000FFFF
+
+-Z(DATA)HEAP+_HEAP_SIZE=00000004-0000FFFF
+-Z(DATA)CSTACK+_CSTACK_SIZE=00000004-0000FFFF
+-Z(DATA)SSTACK+_SSTACK_SIZE=00000004-0000FFFF
+
+/************************************************************************/
+/* Copy the RAMCODE bytes to the initializer segments. */
+/************************************************************************/
+
+-QRAMCODE21=RAMCODE21_ID
+-QRAMCODE32=RAMCODE32_ID
+
+/************************************************************************/
+/* End of File */
+/************************************************************************/
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/iar/usb_device_dfu_isp.ewp b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/iar/usb_device_dfu_isp.ewp
new file mode 100644
index 0000000..415ab34
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/iar/usb_device_dfu_isp.ewp
@@ -0,0 +1,942 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<project>
+ <fileVersion>2</fileVersion>
+ <configuration>
+ <name>Release</name>
+ <toolchain>
+ <name>AVR32</name>
+ </toolchain>
+ <debug>0</debug>
+ <settings>
+ <name>General</name>
+ <archiveVersion>4</archiveVersion>
+ <data>
+ <version>6</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CoreRevisionSlave</name>
+ <version>1</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ProcessorCoreDyn</name>
+ <state>avr32a</state>
+ </option>
+ <option>
+ <name>ProcessorCoreSlave</name>
+ <state>avr32a</state>
+ </option>
+ <option>
+ <name>CodeModel</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>DataModel</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>EnableSimdInstructions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EnableDspInstructions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EnableRmwInstructions</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GAllowUnaligned</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GOutputBinary</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ExePath</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ObjPath</name>
+ <state>Release\Obj</state>
+ </option>
+ <option>
+ <name>ListPath</name>
+ <state>Release\List</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelect</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelectSlave</name>
+ <version>0</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>RTDescription</name>
+ <state>Use the full configuration of the C/EC++ runtime library. Full locale interface, C locale, file descriptor support, multibytes in printf and scanf, and hex floats in strtod.</state>
+ </option>
+ <option>
+ <name>RTLibraryPath</name>
+ <state>$TOOLKIT_DIR$\lib\dlavr32allasf.r82</state>
+ </option>
+ <option>
+ <name>RTConfigPath</name>
+ <state>$TOOLKIT_DIR$\lib\dlavr32allasf.h</state>
+ </option>
+ <option>
+ <name>Input variant</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Input description</name>
+ <state>No specifier n, no float.</state>
+ </option>
+ <option>
+ <name>Output variant</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Output description</name>
+ <state>No specifier a or A.</state>
+ </option>
+ <option>
+ <name>GUnhandledInterrupts</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GUnhandledExceptions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GTraceBufferSize</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GSStackSize</name>
+ <state>0x0400</state>
+ </option>
+ <option>
+ <name>GCStackSize</name>
+ <state>0x0000</state>
+ </option>
+ <option>
+ <name>GHeapSize</name>
+ <state>0x1000</state>
+ </option>
+ <option>
+ <name>GeneralEnableMisra</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVerbose</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CoreRevision</name>
+ <version>1</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GTraceSelect</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GTraceBufferFull</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GeneralMisraVer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>GEnableNanoTrace</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EnableFpuInstructions</name>
+ <state>0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ICCAVR32</name>
+ <archiveVersion>7</archiveVersion>
+ <data>
+ <version>8</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CCDefines</name>
+ <state>BOARD=DUMMY_BOARD</state>
+ <state>__ATUC128D3__</state>
+ </option>
+ <option>
+ <name>CCPreprocFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocComments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListCMnemonics</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListCMessages</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListAssFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListAssSource</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagSuppress</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagRemark</name>
+ <state>Pa082</state>
+ </option>
+ <option>
+ <name>CCDiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCCore</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCodeModel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDataModel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCRequirePrototypes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMigrationPreprocExtentions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCExt</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCharIs</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCAllowList</name>
+ <version>0</version>
+ <state>1111111</state>
+ </option>
+ <option>
+ <name>CCObjUseModuleName</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCObjModuleName</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDebugInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCDiagWarnAreErr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCompilerRuntimeInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>$FILE_BNAME$.r82</state>
+ </option>
+ <option>
+ <name>CCLangSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLibConfigHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>PreInclude</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CompilerMisraOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIncludePath2</name>
+ <state>$PROJ_DIR$\..\</state>
+ <state>$PROJ_DIR$\..\..\</state>
+ <state>$PROJ_DIR$\..\..\..\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\utils\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\utils\preprocessor\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\utils\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\boards\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\boards\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\gpio\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\pm\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\scif\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\ast\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\flashcdw\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\rtc\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\cpu\cycle_counter\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\usbc\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\clock\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\services\freq_detect\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\usb\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\usb\udc\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\usb\class\dfu\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\usb\class\dfu\device\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\services\usb\class\dfu\device\atmel\</state>
+ </option>
+ <option>
+ <name>CCStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCStdIncludePath</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ </option>
+ <option>
+ <name>IExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCModuleTypeOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCModuleType</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptLevel</name>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CCOptStrategy</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptLevelSlave</name>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>CCFPIMPLLIST</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCFPIMPL description</name>
+ <state>Use the space efficient but slower implementation unless another module uses the fast implementation.</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>AAVR32</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>AObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ACore</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADiagSuppress</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagRemark</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADiagWarnAreErr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>APreprocFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>APreprocComments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>APreprocLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADefines</name>
+ <state>BOARD=DUMMY_BOARD</state>
+ <state>__ATUC128D3__</state>
+ </option>
+ <option>
+ <name>AIncludePaths</name>
+ <state>$PROJ_DIR$\..\</state>
+ <state>$PROJ_DIR$\..\..\</state>
+ <state>$PROJ_DIR$\..\..\..\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\utils\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\utils\preprocessor\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\common\utils\</state>
+ </option>
+ <option>
+ <name>AListFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ACrossReference</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AMacDefs</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AMacExps</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AOnlyAsmed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ANoDiagnostics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AListOptions</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AMnemonicFirst</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADirectiveFirst</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ACaseSensitivity</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ADebug</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AMacroChars</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>$FILE_BNAME$.r82</state>
+ </option>
+ <option>
+ <name>ATruncateLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AModel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AOverrideStandardPaths</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AStandardIncludePaths</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>JAVATOC</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ <settings>
+ <name>CUSTOM</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <extensions></extensions>
+ <cmdline></cmdline>
+ </data>
+ </settings>
+ <settings>
+ <name>BICOMP</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ <settings>
+ <name>BUILDACTION</name>
+ <archiveVersion>1</archiveVersion>
+ <data>
+ <prebuild></prebuild>
+ <postbuild></postbuild>
+ </data>
+ </settings>
+ <settings>
+ <name>XLINK</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>14</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>XOutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>usb_device_dfu_isp.d82</state>
+ </option>
+ <option>
+ <name>OutputFormat</name>
+ <version>11</version>
+ <state>16</state>
+ </option>
+ <option>
+ <name>FormatVariant</name>
+ <version>8</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>SecondaryOutputFile</name>
+ <state>(None for the selected format)</state>
+ </option>
+ <option>
+ <name>XDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AlwaysOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OverlapWarnings</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>NoGlobalCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XList</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>SegmentMap</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ListSymbols</name>
+ <state>2</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>XIncludes</name>
+ <state>$TOOLKIT_DIR$\LIB\</state>
+ </option>
+ <option>
+ <name>ModuleStatus</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XclOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XclFile</name>
+ <state>$PROJ_DIR$\lnkat32uc3d-isp.xcl</state>
+ </option>
+ <option>
+ <name>XclFileSlave</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DoFill</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>FillerByte</name>
+ <state>0xFF</state>
+ </option>
+ <option>
+ <name>DoCrc</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcSize</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcAlgo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcPoly</name>
+ <state>0x11021</state>
+ </option>
+ <option>
+ <name>CrcCompl</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OXLibIOConfig</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XRTSegmentSizes</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RangeCheckAlternatives</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SuppressAllWarn</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SuppressDiags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>TreatAsWarn</name>
+ <state></state>
+ </option>
+ <option>
+ <name>TreatAsErr</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ModuleLocalSym</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcBitOrder</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IncludeSuppressed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ModuleSummary</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>xcProgramEntryLabel</name>
+ <state>__program_start</state>
+ </option>
+ <option>
+ <name>DebugInformation</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RuntimeControl</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IoEmulation</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AllowExtraOutput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GenerateExtraOutput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XExtraOutOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ExtraOutputFile</name>
+ <state>at32uc3d-isp.hex</state>
+ </option>
+ <option>
+ <name>ExtraOutputFormat</name>
+ <version>11</version>
+ <state>23</state>
+ </option>
+ <option>
+ <name>ExtraFormatVariant</name>
+ <version>8</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>xcOverrideProgramEntryLabel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>xcProgramEntryLabelSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ListOutputFormat</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>BufferedTermOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OXImportSlaves</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OverlaySystemMap</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RawBinaryFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinarySymbol</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinarySegment</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinaryAlign</name>
+ <state></state>
+ </option>
+ <option>
+ <name>XLinkMisraHandler</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcAlign</name>
+ <state>4</state>
+ </option>
+ <option>
+ <name>CrcInitialValue</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>OXExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OXExtraOptions</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>XAR</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>XAROutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XARInputs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>BILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ </configuration>
+ <group>
+ <name>drivers</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\ast\ast.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\flashcdw\flashcdw.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\gpio\gpio.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\pm\pm_uc3d.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\scif\scif_uc3d.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\drivers\usbc\usbc_device.c</name>
+ </file>
+ </group>
+ <group>
+ <name>services</name>
+ <group>
+ <name>usb</name>
+ <group>
+ <name>class</name>
+ <group>
+ <name>dfu</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\udi_dfu_atmel.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\udi_dfu_atmel_desc.c</name>
+ </file>
+ </group>
+ </group>
+ <group>
+ <name>udc</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\udc\udc.c</name>
+ </file>
+ </group>
+ </group>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\avr32\services\freq_detect\freq_detect.c</name>
+ </file>
+ </group>
+ <file>
+ <name>$PROJ_DIR$\..\..\boot.s82</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\intc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\isp.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\main.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\sysclk_uc3d.c</name>
+ </file>
+</project>
+
+
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/at32uc3d-isp-1.1.0.hex b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/at32uc3d-isp-1.1.0.hex
new file mode 100644
index 0000000..7be0aa7
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/at32uc3d-isp-1.1.0.hex
@@ -0,0 +1,508 @@
+:0200000480007A
+:10000000E1B80000F1D8C2C35818C0A0FEC8FFEE86
+:100010003009EA190061E06D0DB4D041D603300813
+:10002000FE791C00E06A01FCEA1A8080FE7B140065
+:100030007000E061504BEA1149537402E06301071C
+:100040000494C78CC141E7D2C210E043E11EC0F165
+:10005000EDB20009C0C3F6F30180E0642117087314
+:10006000C131EDB30003C3830230C3C1C54C91015C
+:10007000E06D0DCCD353FEC00076E3B00001E0A0EC
+:100080000D23E0A00DB3EDB20008C262E06A01F8F2
+:10009000EA1A80807402E06301070494C4BCCE7144
+:1000A000E7D2C22FE043494FCE21E7D2C108E04357
+:1000B0000033CDD2FE7A2800E6041605A964080AAA
+:1000C0007584E013001FE8030A44E7D2C201065416
+:1000D000EDB40000CCC20230C051C1DC30083000A9
+:1000E00091003000EA100061E3B000003000300100
+:1000F0003002300330043005300630073008300954
+:10010000300A300B300C300D300EE3B00001E3B09C
+:10011000004248CF3002EA1255009302EE12FF006F
+:1001200093021C9FE8051200EA051117E605094530
+:100130000A54E04400FFFE9BFFF758045EF4000001
+:1001400080002000308A310CFE6B00047609AD99E6
+:10015000C1837609A589C553FE6A08003019763E29
+:10016000A19EC5727608A198C542740BAFCB950BC2
+:10017000FE6B00049749975C740CAFAC950CC6D825
+:10018000FE690220930C930AFE6901307208A3985D
+:10019000C042E0A00197C6187208A388C042E0A040
+:1001A0000259C5B87208A198C092FE6801C0700ECD
+:1001B000A19EC042E0A001DEC508E06E0940EA1E33
+:1001C00000007D08720EA58EC08293CA720CA19C9D
+:1001D000C4435838C421C0F8720EA59ECBB293CC4C
+:1001E000720CA38CC3A35818C041E0A0029DC35851
+:1001F0005848C331E86C0000FE6B01C097CCC2D8F0
+:10020000971AE0A0055FE0A000FFE0A00147C258F8
+:10021000763EA59EC1227608A598C0F27408AFC8A4
+:100220009508FE6A08007418AF98C043760AA19A30
+:10023000CF92974C9759C118741BA38BC0E2740CD2
+:10024000AFCC950C302C952C740CAFAC950C741C69
+:10025000F9DCC161E0A00CE6FE6C0800786BD60307
+:10026000800004C0800006508000057080000724D4
+:1002700080000CC0800004048000049880001C20D2
+:10028000E1BC0000D3035EFC5EFF0000D421E0A0CF
+:100290000D1BCF7F1897FE6608006C0CAFDC8D0C31
+:1002A0006C0C300AE06B0220E06C0144EA1C800018
+:1002B000E0A00D4E6C0CB9BC8D0C6C0CB9CC8D0C47
+:1002C0006C0CADCC8D0C6C0CADAC8D0C6C0CAFBC57
+:1002D0008D0C6C0CAFCC8D0C6C0C6C1BAF9BCFE2FF
+:1002E000E0690940EA190000300A300BF2EB002007
+:1002F000F2EB0028F2EB0030F2EB00386CCB2E0969
+:100300008DC9FE6C0000780BADCB990B780BE81B08
+:100310000C00990B6C0CA1BC8D0C6C0CAFAC8D0C53
+:10032000FE7C1588780BA1AB990BB197C023D50340
+:10033000D82AD70380001CC480001D4CD421CA1FBA
+:100340001897FE6C0800780BAFDB990B780BADCBE0
+:10035000990BE0A00CC7B197C023D503D82AD703C7
+:1003600080001CE0D421C8DF1897FE6608006C0CE2
+:10037000AFCC8D0C6C1BAF9BCFE2FE6C0000780BFA
+:10038000A9CB990BE0A0049EC3ECC87C308CFE6B1B
+:100390000000976C301BFE6A0000956B310AFE6905
+:1003A0000000936A932C304C932C933B932A6C0C53
+:1003B000AFAC8D0CB197C023D503D82A80000CC0F8
+:1003C000FE6C0800780BAFCB990BFE6C0000780B2D
+:1003D000A9AB990B5EFD0000FE6B0000760AA7DA60
+:1003E000970A760AE01AFF80F9DCC007144C970CD4
+:1003F000760CA7BC970C5EFDFE6B0000760CF9DC5A
+:10040000C0075EFCD401FE6C0000780BE01BFF808F
+:10041000990B780BA7BB990BFE6C0100780B308A07
+:100420003409F20A0C4AE0690400F4090D4AE01BA1
+:10043000E68B3FF9F20A001AF4091200F20A111CC5
+:10044000A56AE21A1974144B990BE06C0940EA1C76
+:100450000000F8CBFFBC998B789BE41B8000999B34
+:10046000FE6C0000787BA1AB997B300CEA1C01008C
+:10047000FE6B01F097CCC05FFE6B01F0304A970A2B
+:10048000302A970AE06B1000FE6A0000956BB19C61
+:10049000C023D503D80A0000301CFE6B0220970C45
+:1004A000302CFE6B0160970C300CE06B0940EA1BAE
+:1004B0000000974C975CB66CF74C00405EFD000066
+:1004C000D421E0670940EA1700006F0C580CC030D7
+:1004D000C5CDCE3FFE6601F0FE65016030446E9CE6
+:1004E000F9DCC00F588CC090305CEF4C0040E86CD9
+:1004F00000008D0C8B04D82AEEEA0044AF1BF9DB18
+:10050000C0105CCCAE1C8EAC5CCCAE2CF9DAC0104A
+:100510005CCCAE3CE0A0052ACE808B04E06C09C424
+:10052000EA1C0000300B0F8AA98AC0F28EEAF5DAC5
+:10053000C006F40915105F0AB88AB81BB82B302C16
+:10054000EF4C0040C16CD82A8EBA580AC031CEBCDC
+:10055000D82AB81BB82B301CEF4C004031078B0752
+:10056000C90E8D07B19CC023D503D82A80000F681F
+:10057000D431E0630280EA1380005D133017FE6B14
+:1005800001F097C7B19CC023D503E0660940EA1685
+:1005900000006D0C583CC041CF8CC7FFD83A8CECA2
+:1005A000E06509C4EA1500008AA418245C74C1F14E
+:1005B0000B8B580BC031CD3CD83A30028A9B160CBD
+:1005C0008CBB163CC0656C5C580CC0305D1CC031E7
+:1005D000AA82C1188AAC8A9B180BAA1BAA228CE497
+:1005E000F9D4C006F80B15105F0CAA8CE04400414A
+:1005F000F9B404405D13FE6B0130760AA38AC08211
+:10060000B19CC023D503304CED4C0040D83A6C2946
+:100610008AAB1609089BECCEFFBC5804C0501338B7
+:10062000201B1CC8CFD18AAB080BAA2B6C9BE01BEC
+:100630008000E9D4C00F16448D94FE6B013097C73B
+:10064000FE6B01F09707B19CC023D503D83A000098
+:10065000D431E0670940EA1700006F0CFE6601F034
+:10066000E86500003054581CC0C0582CC030584CAD
+:10067000C031C8BCC048EF4400408D05C0EFD83A37
+:100680006E9BF7DBC00FE06309C4EA13000086AC81
+:10069000189A8EE9F80B00081039C044F20C010BCF
+:1006A0005C7BEEC9FFBC6E2C180A169C149E580B7E
+:1006B000C0501338201C1CC8CFD186AC160CA62CF9
+:1006C000FE6201603021E04B0040C0715C7C869B83
+:1006D000180B8EBA143BC0E56E5C580CC0805D1CD4
+:1006E000C061EF4400408D058501D83A8501C1BC49
+:1006F000D83A8EEBF80B1900C0C16E5C580CCF20B5
+:100700005D1CCF0086AC869B180BA61B300CA62C5C
+:10071000850131078507FEB0FDB58D07B19CC0236B
+:10072000D503D83AD401E06C0940EA1C0000303B04
+:10073000F94B0040789BE01B8000999BFEB0FDA226
+:10074000FE6B0160301A970AFE6901F0930A308A45
+:10075000970A930AB19CC023D503D80AD401304C20
+:10076000E06B0940EA1B0000F74C0040FEB0FD8A38
+:10077000310BFE6A0160950BFE6A01F0950BB19C8E
+:10078000C023D503D80A0000D401E06B0940EA1B5E
+:100790000000764C580CC0205D1CD80AFE6C140C6E
+:1007A000780BE06A1E08EA1A8000F7DBC004F40B3D
+:1007B000032CA98C5EFC0000FE6A14007409A7C912
+:1007C000340BF7EC006C124C950C5EFDD421E06705
+:1007D0000824EA178000E06B07B8EA1B8000E06A93
+:1007E000E1C1EA1A00E4143CC123E06AC381EA1AB9
+:1007F00001C9143C301CC0625D1B3FFB311C5D17FE
+:10080000D82A5D1B3FFB310C5D17D82A300C5D1BCD
+:100810003FFB311C5D17D82AFE6B1408760CA19C97
+:10082000CFC25EFDD42118951697E0660008EA163F
+:100830000000F0160000FE6C1404780BE01BFFC0F3
+:10084000EBD5C00616455807C0A6E01500FFE41515
+:10085000FF000A9BEBD7C010F7E51085EBD5C01859
+:10086000EA15A5009905781CE21C000C8D1CF016F9
+:100870000000D82AFE6B1408760CF9DCC0815EFCFF
+:10088000D4013FFB309CCCFFD80A0000D401F60A0B
+:100890001518304AF9BA0005189B149CCC4FD80A99
+:1008A000D42118961697C7BF0E9BA39CB9360C9CF3
+:1008B000CEEFD82AD42118973006308520150E9B0C
+:1008C0000A9CCEFFE06B0008EA1B0000761C18466D
+:1008D0005805CF519716D82AFE6B14147618760A4D
+:1008E00030091449F9DCC006EDBC0005F2081730E8
+:1008F000F00C0A48A1985F3C5EFC0000D4211897D8
+:100900001696F7DCC006308CC8EFEC0C1518C0400A
+:100910000E9CCE3FD822DA2AD401F60A1518C061FF
+:10092000F9DCC006189B307CC7EFD80AD401F60A60
+:100930001518300BC030CE3FD80ACEFFD80A0000C1
+:10094000D4013FFB303CFEB0FF6FD80AD401189BA6
+:1009500030CCFEB0FF69FE6B1408760CF9DCC0A148
+:10096000D8020000D42116973016189B302CFEB008
+:10097000FF5BEE0C1518C0C0E0670008EA17000026
+:100980006E153FFCCE4F18966E1C18458F150C9CAB
+:10099000D8220000D431189730163005FEB0FF0081
+:1009A0001894C09820140E9B089CCDDF18665C56E6
+:1009B000661C1845E0630008EA1300005804CF31B4
+:1009C00087150C9CD8320000D4013FFB30FCFEB0F0
+:1009D000FF2BFE6B1408760CF9DCC0A1D8020000D6
+:1009E000D42118973FFB30ECFEB0FF1EEE0C15181B
+:1009F000F9BC0001C020CE9FD8220000D4013FFBEB
+:100A000030DCFEB0FF11D80AD671204D3001300223
+:100A1000FE6C140C78093008EA188000E06E1E089D
+:100A2000EA1E8000F3D9C004FC09032C18085028E2
+:100A3000405616970C0A1495300CEA1C80001836A4
+:100A4000C0831036C0B3300CEA1C80801836C062F8
+:100A50005C36160618060C971896E06C0101EA1C25
+:100A60008080183AC063E0650100EA158080C09874
+:100A7000301CEA1C8080183AC0421438F005173048
+:100A80000A9CA1CCE01CFFFCE01CFFF8503CE9D51F
+:100A9000C003C0E8580BC050300CCA3F661C184257
+:100AA0003FFB30DCFEB0FEC0049C66121842E063DF
+:100AB0000008EA1300000A36E08200BB3FFB303C2E
+:100AC000FEB0FEB2661C18420C99E019FF00F2CC91
+:100AD000FF00403AF40C0D4B0A9CE01CFF00183953
+:100AE0005F2AF9D6C008C2600C98E018FFF8C05819
+:100AF000720C12AC720C12AC1039CFB3FDD6C0031D
+:100B0000C190300C1336FA0C0B062FFC1C3CCFB3F3
+:100B1000588CC0620F39FA0C0B092FFCCFAB109622
+:100B200040391238C06240090CA940190CA9C028EC
+:100B30003011A39BEC0C1603181B303C0E6C187C78
+:100B4000C040202CC0B0C1A8169C580CC2700F0B1E
+:100B50000CAB0F0B0CAB201CCF9B169C580CC1E0B0
+:100B6000300B0F29FA0B0A192FFB584BCFB3400952
+:100B70000CA940190CA9201CCF2B169CC0D8300BF7
+:100B80000F39FA0B0B092FFB588BCFB340090CA977
+:100B900040190CA9201C580CCF31F40C1518C24078
+:100BA000E20C1518C030089CC098300CC0580F3BA0
+:100BB000FA0C0B0B2FFC083CCFB30A995804C06108
+:100BC000C108133BFA0C0B0B2FFC588CCFB3400B16
+:100BD0000CAB401B0CABC058720C12AC720C12ACBC
+:100BE000F9D9C008CFA1301CEA1C80801836FB3B25
+:100BF000001BFE92FF51580BC070300B3FFCFEB043
+:100C0000FEB3661C18423FFB301CFEB0FE0D049C78
+:100C100066121842402B1636FE93FF4B5C360E06CA
+:100C2000300CEA1C808018060C971896C41B87129B
+:100C3000405C2FCDDC720000D401E06A00D4EA1AD7
+:100C4000000015895809C021D80AE06A00C8EA1ACC
+:100C500000007418700913C8F00C1800CF629529B1
+:100C60007418700E1DB92FEEFDD950005CC9202EEE
+:100C70005C791C09C048118E1C089528742812380C
+:100C8000CE42119E584ECF8111AEFC0C1800CF41C0
+:100C900011BEFC0B1800CF01DA0A0000D42118970E
+:100CA000300BCCBFC021D82AE06C00C8EA1C000081
+:100CB000781B761CF8070F8B761C5D1CDA2A000067
+:100CC000D421E06700C8EA170000E06600D4EA1605
+:100CD00000000D8C580CC0C03005C0580A9CCDFFD8
+:100CE0002FF55C556E1C780B17CC1835CF85300C62
+:100CF000AC8CAE1CD82A0000D401E06B0940EA1B82
+:100D00000000969C5C5CFEB0FB69D80A800003D8AA
+:100D1000D421E06B0940EA1B0000969AF3DAC00880
+:100D2000E068009CEA180000F40C1608201CC06063
+:100D3000201CC0F0201CC220D82A700C972C198AC5
+:100D4000B66A96BC96EAF40C1900C022B66CDA2A90
+:100D5000700CF93A00111439C025D82A701CF80912
+:100D6000033A972AF809033811BC2FE8F1DC500048
+:100D70005CCCB66C302CB49CCE5BE06C0014EA1CEE
+:100D800000005C5A147AC060201AC090201AC22059
+:100D9000D82A2ECC972C304CB66CC158309AF8C952
+:100DA000FFE83008F208070E5CCEF8080017AE1E08
+:100DB0002FF81438CF853029F20A001AB88A5C5A05
+:100DC000B66A972C96BC96EAF40C1900C022B66C51
+:100DD000DA2A303AF8C9FFDCCE5B0000D421E066A5
+:100DE0000940EA1600000D8CE06400D4EA1400000B
+:100DF000098BE06700C8EA170000EDBC0007C422B9
+:100E00008CBAF4091510C021D82AF9DCC0053015B8
+:100E1000C1910D9C187CC060206CC0C0202CC0C04B
+:100E2000D82A582AC020D82A2FE78D27302CAC6C1E
+:100E3000DA2AC6FFD822581AC020D82A8D24AC65D9
+:100E4000DA2A581CCE210D9C58ACCDF1581AC0207E
+:100E5000D82AF60C1518CFD08CA45C546E1C780BD5
+:100E600017CC1834CF64300B089CCE7ECF206E1C7C
+:100E7000781BF604032C783B5D1BAE8C8D27AC658C
+:100E8000DA2AF9DCC005C5410D9C201CC140202C8C
+:100E9000CBC0202CC060202CCB80202CC180D82A35
+:100EA0008CBC580CC020D82AE06C0CF8EA1C8000DE
+:100EB0008D4CDA2A8CBC580CC020D82A8C9C581C2B
+:100EC000CFD18E9CE21CFDFFAE1CDA2A8CBC580CE4
+:100ED000C020D82AFEB0FA92CFD0E065009CEA1577
+:100EE00000006A0CF93B00118C9CF80B1800CF2312
+:100EF000CE8E8C9CA88C5C5CF80B1518C021DA2A6D
+:100F00006A1BF60C003B208B8F1B30066E1C780B87
+:100F100017CA1436CF54781BF606032CF01C0000B9
+:100F20005F1CF80B1518CD602FF65C56CF0B581CC4
+:100F3000FE91FF6C0D9C58BCFE91FF688CBC580C58
+:100F4000C020D82AF60C1518CFD08CA55C550A9C69
+:100F5000CA6ECF806E1C781BF605032CF01C0000B7
+:100F60005F1CD822800003F8D421300CE0670940D0
+:100F7000EA170000AE6C8F4C8F5C0F8CEDBC000745
+:100F8000C0528EBB580BC021D82AE21C0060C04161
+:100F9000C26FC020DA2A0F8CF9DCC005581CCF5173
+:100FA000E06C00D4EA1C0000198B580BCEE08EA632
+:100FB0005C56E06700C8EA1700006E1C780B17CC7F
+:100FC0001836CE34E0650C38EA158000300B0C9CE6
+:100FD0005D15CDB06E1C781BF60603276E3C5D1CBC
+:100FE000F7DCC0080C9C5D15CD006E2C5D1CCD316E
+:100FF000D82A0000E07B86A0FE7A5814740918698C
+:101000005E1D201BCFA15EFE580C5E1F498C780A26
+:10101000A1AAEC5BBBA0C032300CC118E06CC6C00A
+:10102000EA1C002D183BC032301CC098E06C120046
+:10103000EA1C007A183B302CF9BC0203E01AFFF9D5
+:10104000149B189A306CF9EA001A164AE1BC0000A9
+:10105000D303324BEA1BAA00FE795818930B484B76
+:10106000970AB19C5E3DD5035EFDD703FFFF582470
+:10107000D401201DA36CFE795824F20C0308FA0C4D
+:101080000908109EE01EF0FFA96BE21B0F001C4B2D
+:10109000B1ABFA0C090BE1BB0000D303F8C8FFDCCD
+:1010A000EA18AA00FE7E58189D08FA0C030EF20CEE
+:1010B000090EB19BC023D503F40C1518C060301C79
+:1010C000C9AFC0303FFCC028300C2FFDD802000053
+:1010D000D401202DA36CFE7A581CF40C030BFA0CDF
+:1010E000090B1699E019F0C5E419C0F0FB38001C93
+:1010F000302BF7E800181049FB38000CFB3E000EBF
+:10110000F1EE1018FB3E000DF1EE1028338BF7E8DE
+:10111000003810494058A968E2180F0010494048AB
+:10112000EE7B0000F7E8010810494068B968E6184E
+:101130003F001049FA0C0909E1BB0000D303F8C9CC
+:10114000FFE4EA19AA00FE7858189109FA0C03087E
+:10115000F40C0908B19BC023D5032FEDD80A000079
+:10116000202DA36CFE7B581CF60C030AFA0C090A0E
+:101170001499A1A9FA0C0909E1BA0000D303F8C92E
+:10118000FFE4EA19AA00FE7858189109FA0C03083E
+:10119000F60C0908B19AC023D5032FED5EFD0000BF
+:1011A000202DA36CFE7B581CF60C030AFA0C090ACE
+:1011B0001499A1C9FA0C0909E1BA0000D303F8C9CE
+:1011C000FFE4EA19AA00FE7858189109FA0C0308FE
+:1011D000F60C0908B19AC023D5032FED5EFD00007F
+:1011E000FE7B5814580CC051760CA39C5E3DCFDB9F
+:1011F000760CA58CCFE25EFDE07B86A0FE7A58607F
+:10120000F40C002A740CA1CC950C740CA19C5E2DDE
+:10121000201BCFC15EFE0000D43116971495300319
+:10122000F20616012016FE745860E80C0024680BC4
+:10123000A19BC0623013CE1FC0373FFCD832B166CD
+:10124000E61600FF302CF9E500150C45A967E217FA
+:101250000F000A4789075813C041680CA1AC890CDC
+:10126000D83A0000D42120ADE0671B00EA1700B790
+:101270000E9B300CFEB0FECA301A306B300CFEB044
+:10128000FEF90E9CFEB0FAA4E0671D2CEA17800060
+:10129000301C5D173009300A300BFE7C1800E0A0CE
+:1012A00004F1C021C008FE7C1800E0A004FBE0A00F
+:1012B000028B4AAB161CC040161CC040C058305CA4
+:1012C000C048302CC028303C300BFB6B002433FA74
+:1012D000508A507B506C301CFB6C0016FB6B001569
+:1012E000FB6C0014FACCFFEC1A9B3149190A16AAC0
+:1012F0002049CFD1300CFEB0FEED300CFEB0FF32F5
+:10130000300CFEB0FF6FE06607B8EA168000301CB4
+:101310005D16302C5D17E0671C3CEA178000301B1F
+:10132000300C5D17301B301C5D17301B303C5D17D7
+:10133000301B302C5D17300C5D162F6DD82AD7036B
+:101340008000100880001070800007CC80001C8096
+:1013500080001CA0800017C4007A12008000116079
+:10136000800011E0D42120ADE06707B8EA178000C3
+:10137000301C5D17E0661C3CEA168000300B300C18
+:101380005D16300B301C5D16300B303C5D16300B9B
+:10139000302C5D16300CE0A004CB300C5D17300C07
+:1013A000FEB0FF00300CFB6C0024508C507C506C65
+:1013B000FB6C0016FB6C0015FB6C0014FACCFFEC08
+:1013C0001A9B3149190A16AA2049CFD1300CFEB018
+:1013D000FE812F6DD82AD70380001D2C800011A01C
+:1013E000800010D0D431201D3007E0660920EA16B5
+:1013F00000008D27E0650940EA1500008B578B47F8
+:10140000E06400D8EA140000A887302CA8CCE06380
+:1014100000E0EA13000007AC0DCBE06A1B30EA1ACB
+:10142000800030A207892019C0802029C1F020192E
+:10143000C4A02029C680C3E8F60C1518C3E1E6CC89
+:10144000FFFE5D1AC370079C580CC341E06C01207D
+:10145000EA1C00008B2CE06C0800AA6CE06C1A54AB
+:10146000EA1C80008B5C301CC2C8F60C1518C251F7
+:10147000E6CCFFFE5D1AC1E0E06C004CEA1C000007
+:101480000DDBF80B0F8A741C580CC031303CC1685E
+:10149000079C187CC040201CC080C0C8E06C1B8C1E
+:1014A000EA1C80008D2CCE0BE06C19C8EA1C800071
+:1014B000CFAB098C580CC04130FCA88CA8C2300CB2
+:1014C0002FFDD832079B167BC040203BC0C0CF5BAE
+:1014D000E04C00FFCF21E0A00463C030ACC7CC4B90
+:1014E000304CCECB187CC040201CC080CE6BE06C52
+:1014F00018ACEA1C80008D3CCB7BE06C18D0EA1C59
+:101500008000CFABF60A1518CD81079B583BCD5113
+:1015100007BB189A187CC040201AC090CCEB587CAE
+:10152000C044ACDB8D07CA0B308CCC8B300C500C1C
+:10153000BA8B07CCBA9C400BE06C004CEA1C000054
+:101540000DDAF80A0F89720C183BCEF28D0BC8CB5E
+:1015500080001D9CD40130093008EA188000100C6E
+:10156000FEB0FA54D80A0000D4211897F40C1510D4
+:10157000C040FEB0F981AE8CD82AD7038000087431
+:10158000D401F40C1510C060178C580CC030FEB09C
+:10159000F979D80A80000880D421189516971496F6
+:1015A000C0680E9CFEB0F99A2FF70ACC0C9CFE3650
+:1015B0000001F80B1510CF61D82AD703800008D896
+:1015C000D421189616951497C0680B3B0C9CFEB05E
+:1015D000F9AF2FF60E9CFE370001F80B1510CF6106
+:1015E000D82AD7038000092CE0690010EA1900000E
+:1015F000F60B001B16091898580A5E0D133B201AAB
+:1016000010CBCFD15EFD0000E06900C0EA190000F8
+:10161000F20B00291898580A5E0D133B201A10CBC4
+:10162000CFD15EFD3009EA198080120B1898580A54
+:101630005E0D1739201A10C9CFD15EFDD4013019C3
+:101640003008EA188080100CFEB0F9E0D80AD70301
+:1016500080000A08E06C00C0EA1C0000358BB88BE3
+:10166000320BB89BE1BB0040B98BB8ABE1BB00408B
+:10167000B18BB8BB5EFD0000D401201D301A300BC9
+:101680001A9CC73F1B8B580B5F1C2FFDD802000014
+:10169000D401C87CFEB0FFE0FEB0FFF0E06B092093
+:1016A000EA1B0000B6CCDA0A8000165480001678D7
+:1016B0005EFD0000D421E0670940EA1700000F8CAE
+:1016C000189BE21B0060E04B0020C020D82A0F9B33
+:1016D000E0650920EA150000E06600D8EA1600007F
+:1016E000A98CC252202BC1B0201BC040202BC0C0EF
+:1016F000C4E88E9C580CC4B18EBC586CC4818F2633
+:10170000306CAE6CDA2A8E9C580CC4118EBC581CFE
+:10171000C3E12FC68F26301CAE6CDA2A0DCC58AC34
+:10172000C3606A2C580CC3305D1CD822201BC1003A
+:10173000203BC060202BC2B10DCC58ACC2808E9C27
+:10174000580CC2518EBC580CC221C2BCDA2A301CC3
+:10175000E0A000D40DCC58ACC1A06A3C580CC070BD
+:10176000E06C1D84EA1C80008F4CDA2A8EBC580C79
+:10177000C0E0E06C00E0EA1C00008F2C340CAE6C82
+:10178000E06C13E4EA1C80008F5CDA2A30FCAC8C3D
+:1017900030ACACCCD82AD703800018F85EFD00002E
+:1017A000300CE06B00D8EA1B0000B68C302AB6CAB9
+:1017B000E06B0920EA1B0000B6DC970C972C973CE5
+:1017C0005EFD0000D431205DFACCFFF8E06B1EC056
+:1017D000EA1B8000B709B928170818A83FF73FF49B
+:1017E000E0661DE0EA1680005D16E0A002F1501CE4
+:1017F000E0651DF4EA1580005D15E0A00301189076
+:101800005D165D15300330053006C2181830C1F47E
+:10181000401B0A3BC1C41615F8000106EC0B141F4F
+:10182000E072C200EC020648F6020349109A129BCD
+:101830000A98EA09141FE0A002631493580AC070C2
+:10184000400C141C5C4CE04C2711C12550030A923B
+:101850000C91E0A002BD1895E0A002D218960435C4
+:10186000C035023CCD445803C031300CC178300C37
+:10187000FACAFFF8F40C032B062B083BF6041730CA
+:10188000F80717302FFC583CCF435BF7E60C1700E6
+:10189000C050FACBFFF8F607032C2FBDD832D70380
+:1018A00080001CFC80001DCC80001DFCD401300C8D
+:1018B000C24CD303FE7C1C00E06B0A03EA1B5501FB
+:1018C000990BE06B0A03EA1BAA01990BC008000000
+:1018D000D401300CC12CFEB0FD47300CE3BC0042FB
+:1018E000E1BC0042E04C0480CFC3FEB0F3F9D80A5B
+:1018F00080001364800000DCD421E06B01FCEA1B53
+:101900008080F80A1518C040760CAB8CC113760C99
+:101910003007EA178080FEB0F815340C6E0B0EAB62
+:10192000201CCFD1300CFEB0F85DFEB0F869D82A8B
+:1019300080000940800009E0800009FCD42118974C
+:10194000169630053004C0780F9B0F8CC08C18455C
+:101950002FE72FF40C34CF930A9CD822FE7928006D
+:10196000F80A1605A97A120A3019F9DCC005F20C3A
+:101970000949167BC100201BC130201BC130201B30
+:10198000C140201BC150201BC170201BC170201BF7
+:10199000C1905EFF956995A995E995295EFD9559D8
+:1019A000CFBB95699599CF9B95599599CF6B9569C3
+:1019B00095A995D9CF3B9559CFCB9569959995D94F
+:1019C000CEDB95599599CF6BD431E0670920EA17A2
+:1019D0000000E066004CEA1600000FDCEC0C0F8BF8
+:1019E000F735000CE0630120EA1300006E4C580C40
+:1019F000C250E06B0800F80B0D445C74081C8F4C5F
+:101A0000089A6E0B069C0FD9EC090F8870195D19A6
+:101A1000069CC0486E0B2FFB8F0B089BFE34000109
+:101A20005C74F60A1510CE30193B0A3BCF40305C8F
+:101A3000E06B00D8EA1B0000B68C0FACA68C0FBC84
+:101A4000A69CE06C0940EA1C00009923302BB86B7F
+:101A5000DA3A0000D421E0650920EA1500006A0B9B
+:101A6000F7DBC0066A4C160C8B4CE0670800F807E1
+:101A70000D4C5C7CF80B01045C746A4A181A8B4AA2
+:101A8000E0660120EA160000580CC100089A0C0B11
+:101A90006A0CE069004CEA1900000BD8F2080F8EBE
+:101AA0007C295D196A0C080C8B0CE06C0940EA1C5F
+:101AB00000009926B867E06B1A54EA1B8000995B16
+:101AC000DA2A0000EBCD40FEE06C1ED4EA1C800058
+:101AD000E06E1EECEA1E8000300A300B1907190672
+:101AE0001905EFE61003E7D3C002C1C1EA041603EB
+:101AF000C1900C37C090AF092014AD28CFD1EBD5E1
+:101B0000C003C121C0B82014AD2ACFE1EBD5C0037A
+:101B1000C050300220150CC2CFD11C3CCE03E3CF05
+:101B200080FE0C37CF700F3120150CC1CEBB0000EA
+:101B3000D401201DE06B0920EA1B0000760A500A40
+:101B4000198AB6AA199AB6BA19AABAAA19BABABA01
+:101B5000760C1B091839C0B3E06A004CEA1A000081
+:101B600017D8F4080F8E7C0A1439C0B3E06C00D883
+:101B7000EA1C0000308BB88B30ABB8CB300CD802ED
+:101B8000122C2FFC974C301CD8020000D421E067A7
+:101B90000920EA170000E06C08006E4BF60C0D46B9
+:101BA0005C76F606010C8F4CE0650120EA1500001A
+:101BB0000C9A6E0B0A9CE069004CEA1900000FD8E1
+:101BC000F2080F8E7C195D196E0C0C0C8F0CE06CFA
+:101BD0000940EA1C00009925B866E06B1B8CEA1BE3
+:101BE0008000995BDA2A0000D401303BE06C1ECC07
+:101BF000EA1C8000FEB0FEA4D503FEB0FB35FEB0AB
+:101C0000F347FEB0F343C031FEB0F3AEC008D703D4
+:101C10008000193C800012648000028C80000288E1
+:101C2000D401F80B1518C040FEB0F39ED80AFEB0E0
+:101C3000F3C9D80A80000364800003C0D401FE7990
+:101C40001404720AFE7914D47208A788CFC2E1B9CD
+:101C50000000D3033048F00C0028EA18AA00FE7EEA
+:101C600014589D08E01AFFF8F7DBC003144BA7BB1C
+:101C7000FE7A1404F40C092BB199C023D503D80AB9
+:101C8000D4017828BD98CFE3A96BA1ABF94B0040F4
+:101C9000B16A990A782BB99BCFE3129BC0CCDA0AC0
+:101CA000782BB99BCFE3780BA1AB990B782BB99B21
+:101CB000CFE35EFD782AB99ACFE3991B782BB99BC5
+:101CC000CFE35EFDD4013009300A303B303CFEB03A
+:101CD000FAA5303CE0A00070D80AD70380001DB4FC
+:101CE000D401300CFE7B586C970C3009300A303B25
+:101CF000303CFEB0FA93D80A80001218EBCD408039
+:101D0000340C3007300EA17A5CFB5CFE5CF7103EB1
+:101D1000F2071300C053101EEE090147A1AA201CB0
+:101D2000CF310E991C98E3CD80800000E1BB00000C
+:101D3000D303300AEA1AAA00FE791458930AFE7AED
+:101D40001400950CB19B5E3DD5035EFDE06900007B
+:101D5000EA198000121CF9DCC00EF9EA11ECFE7AD7
+:101D60001000A59BF40B092C5EFD00003009EA1958
+:101D70008000120B1898580A5E0D1739201A10C9E6
+:101D8000CFD15EFDD401FEB0F2DBE06C0920EA1C8D
+:101D90000000783B5D1BD80A8000033CD401300C66
+:101DA000FEB0F58A300CFEB0F5F7DA0A800008B410
+:101DB00080000994FE7B5860F60C002B760CA19CE9
+:101DC0005E3D760CA1AC970C5EFD0000D401FE7C5C
+:101DD0001800E0A00019A17CD802D70380001E04DF
+:101DE000D401300BFE7C1800FEB0FF66D80AD70382
+:101DF00080001CB4300CE3BC00425EFDE1BC00423C
+:101E00005EFC0000781B5EFB00001000000020005C
+:101E100000004000000080000000C0000001000041
+:101E20000001800000020000000300000004000028
+:101E30000006000000080000000C00000010000078
+:101E40000020000000000000000000000000000072
+:101E500000000100800016248000163CFF000000F6
+:101E60000002000080001D6C80001554FF0000007F
+:101E70000000000000000000000000000000000062
+:101E8000000000018000156880001580000000003F
+:101E90000000002080001598800015C0010000009F
+:101EA00000000003800015E80000000000000000B2
+:101EB0000000000480001608000000000000000080
+:101EC000007A120000B71B0000F424002E002F003F
+:101ED0003000000080001EF0000000080000009CA0
+:0C1EE000000000C0000000C00000090A63
+:101EF000800008180000000010000000000300002F
+:101F000000000000000000000000000000000000D1
+:101F10000403090441544D454C2041565200000031
+:101F20004446550080001690800016B0800016B41C
+:101F30008000179C80001E6080001E7080001E8044
+:101F400080001E9080001EA080001EB080001E50E9
+:101F50001201000200000040EB03E92F0001010222
+:101F600000010000090212000101008002090400C2
+:101F700000000000000000000000003C0000007CA9
+:0C1F8000000000900000006800000094C9
+:040000058000000077
+:00000001FF
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/at32uc3d-isp_cfg-1.1.0.dat b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/at32uc3d-isp_cfg-1.1.0.dat
new file mode 100644
index 0000000..a6f8083
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/at32uc3d-isp_cfg-1.1.0.dat
@@ -0,0 +1 @@
+’ž"íáÿ× \ No newline at end of file
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/flip/ATUC128D3.xml b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/flip/ATUC128D3.xml
new file mode 100644
index 0000000..e644ff7
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/flip/ATUC128D3.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!DOCTYPE Part SYSTEM "part.dtd">
+<Part NAME="ATUC128D3">
+ <USB_PID VALUE="2FE9" />
+
+ <PageSize SIZE="256" />
+
+ <Memory NAME="FLASH" SIZE="131072" ADDR="80000000" />
+
+ <Memory NAME="BOOTLOADER" SIZE="3" INDEX="3"/>
+
+ <Memory NAME="SIGNATURE" SIZE="4" INDEX="6"/>
+
+ <Memory NAME="SECURITY" SIZE="1" />
+
+ <Memory NAME="CONFIGURATION" SIZE="32" />
+
+ <Memory NAME="USER" SIZE="256" ADDR="80800000" INDEX="11" />
+
+ <Memory NAME="INT_RAM" SIZE="16384" ADDR="0" INDEX="20" />
+
+ <!-- EXT_RAM memories are too large (>= 16Mbyte) to create a buffer; we declare a 0-byte size for them.
+ We program them during the ELF parsing process. -->
+
+ <Memory NAME="EXT_MEM_CS0" SIZE="0" ADDR="C0000000" />
+
+ <Memory NAME="EXT_MEM_CS1" SIZE="0" ADDR="D0000000" />
+
+ <Memory NAME="EXT_MEM_CS2" SIZE="0" ADDR="C8000000" />
+
+ <Memory NAME="EXT_MEM_CS3" SIZE="0" ADDR="CC000000" />
+
+ <Memory NAME="EXT_MEM_DF" SIZE="8388608" ADDR="0" INDEX="30" />
+
+ <Protocol FILE="USB_DFU_02.xml" />
+
+ <Protocol FILE="RS232_I02.xml" />
+</Part>
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/flip/atmel_usb_dfu.inf b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/flip/atmel_usb_dfu.inf
new file mode 100644
index 0000000..17af506
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/flip/atmel_usb_dfu.inf
@@ -0,0 +1,192 @@
+[Version]
+Signature = "$Chicago$"
+provider = %manufacturer%
+DriverVer = 07/07/2009,1.12.0.1
+CatalogFile = atmel_usb_dfu.cat
+CatalogFile.NT = atmel_usb_dfu.cat
+CatalogFile.NTAMD64 = atmel_usb_dfu_x64.cat
+
+Class = LibusbDevices
+ClassGUID = {2BF3BE07-AA90-44E9-8CB0-13E9F76527DA}
+
+[ClassInstall]
+AddReg=libusb_class_install_add_reg
+
+[ClassInstall32]
+AddReg=libusb_class_install_add_reg
+
+[libusb_class_install_add_reg]
+HKR,,,,"Atmel USB Devices"
+HKR,,Icon,,"-20"
+
+[Manufacturer]
+%manufacturer%=Devices,NT,NTAMD64
+
+;--------------------------------------------------------------------------
+; Files
+;--------------------------------------------------------------------------
+
+[SourceDisksNames]
+1 = "Libusb-Win32 Driver Installation Disk",,
+
+[SourceDisksFiles]
+libusb0.sys = 1,,
+libusb0.dll = 1,,
+libusb0_x64.sys = 1,,
+libusb0_x64.dll = 1,,
+
+[DestinationDirs]
+libusb_files_sys = 10,system32\drivers
+libusb_files_sys_x64 = 10,system32\drivers
+libusb_files_dll = 10,system32
+libusb_files_dll_wow64 = 10,syswow64
+libusb_files_dll_x64 = 10,system32
+
+[libusb_files_sys]
+libusb0.sys
+
+[libusb_files_sys_x64]
+libusb0.sys,libusb0_x64.sys
+
+[libusb_files_dll]
+libusb0.dll
+
+[libusb_files_dll_wow64]
+libusb0.dll
+
+[libusb_files_dll_x64]
+libusb0.sys,libusb0_x64.dll
+
+;--------------------------------------------------------------------------
+; Device driver
+;--------------------------------------------------------------------------
+
+[libusb_DEV]
+CopyFiles = libusb_files_sys, libusb_files_dll
+AddReg = libusb_add_reg
+
+[libusb_DEV.NT]
+CopyFiles = libusb_files_sys, libusb_files_dll
+AddReg = libusb_add_reg
+
+[libusb_DEV.NTAMD64]
+CopyFiles = libusb_files_sys, libusb_files_dll, libusb_files_sys_x64, libusb_files_dll_wow64, libusb_files_dll_x64
+AddReg = libusb_add_reg
+
+;[libusb_DEV.HW]
+;DelReg = libusb_del_reg_hw
+;AddReg = libusb_add_reg_hw
+
+[libusb_DEV.NT.HW]
+DelReg = libusb_del_reg_hw
+AddReg = libusb_add_reg_hw
+
+[libusb_DEV.NTAMD64.HW]
+DelReg = libusb_del_reg_hw
+AddReg = libusb_add_reg_hw
+
+[libusb_DEV.NT.Services]
+AddService = libusb0, 0x00000002, libusb_add_service
+
+[libusb_DEV.NTAMD64.Services]
+AddService = libusb0, 0x00000002, libusb_add_service
+
+[libusb_add_reg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,libusb0.sys
+
+; Older versions of this .inf file installed filter drivers. They are not
+; needed any more and must be removed
+[libusb_del_reg_hw]
+HKR,,LowerFilters
+HKR,,UpperFilters
+
+; Device properties
+[libusb_add_reg_hw]
+HKR,,SurpriseRemovalOK, 0x00010001, 1
+
+;--------------------------------------------------------------------------
+; Services
+;--------------------------------------------------------------------------
+
+[libusb_add_service]
+DisplayName = "Atmel - LibUsb Kernel Driver 07/07/2009, 1.12.0.1"
+ServiceType = 1
+StartType = 3
+ErrorControl = 0
+ServiceBinary = %12%\libusb0.sys
+
+;--------------------------------------------------------------------------
+; Devices
+;--------------------------------------------------------------------------
+
+[Devices]
+"AT32UC3C"=LIBUSB_DEV, USB\VID_03EB&PID_2FEB
+"ATUC3D"=LIBUSB_DEV, USB\VID_03EB&PID_2FE9
+"ATxmega128A1U"=LIBUSB_DEV, USB\VID_03EB&PID_2FED
+"ATmega8U2"=LIBUSB_DEV, USB\VID_03EB&PID_2FEE
+"ATmega16U2"=LIBUSB_DEV, USB\VID_03EB&PID_2FEF
+"ATmega32U2"=LIBUSB_DEV, USB\VID_03EB&PID_2FF0
+"AT32UC3A3"=LIBUSB_DEV, USB\VID_03EB&PID_2FF1
+"ATmega32U6"=LIBUSB_DEV, USB\VID_03EB&PID_2FF2
+"ATmega16U4"=LIBUSB_DEV, USB\VID_03EB&PID_2FF3
+"ATmega32U4"=LIBUSB_DEV, USB\VID_03EB&PID_2FF4
+"AT32UC3B"=LIBUSB_DEV, USB\VID_03EB&PID_2FF6
+"AT90USB82"=LIBUSB_DEV, USB\VID_03EB&PID_2FF7
+"AT32UC3A"=LIBUSB_DEV, USB\VID_03EB&PID_2FF8
+"AT90USB64"=LIBUSB_DEV, USB\VID_03EB&PID_2FF9
+"AT90USB162"=LIBUSB_DEV, USB\VID_03EB&PID_2FFA
+"AT90USB128"=LIBUSB_DEV, USB\VID_03EB&PID_2FFB
+"AT89C5130/AT89C5131"=LIBUSB_DEV, USB\VID_03EB&PID_2FFD
+"AT8XC5122"=LIBUSB_DEV, USB\VID_03EB&PID_2FFE
+"AT89C5132/AT89C51SND1/AT89C51SND2"=LIBUSB_DEV, USB\VID_03EB&PID_2FFF
+
+[Devices.NT]
+"AT32UC3C"=LIBUSB_DEV, USB\VID_03EB&PID_2FEB
+"ATUC3D"=LIBUSB_DEV, USB\VID_03EB&PID_2FE9
+"ATxmega128A1U"=LIBUSB_DEV, USB\VID_03EB&PID_2FED
+"ATmega8U2"=LIBUSB_DEV, USB\VID_03EB&PID_2FEE
+"ATmega16U2"=LIBUSB_DEV, USB\VID_03EB&PID_2FEF
+"ATmega32U2"=LIBUSB_DEV, USB\VID_03EB&PID_2FF0
+"AT32UC3A3"=LIBUSB_DEV, USB\VID_03EB&PID_2FF1
+"ATmega32U6"=LIBUSB_DEV, USB\VID_03EB&PID_2FF2
+"ATmega16U4"=LIBUSB_DEV, USB\VID_03EB&PID_2FF3
+"ATmega32U4"=LIBUSB_DEV, USB\VID_03EB&PID_2FF4
+"AT32UC3B"=LIBUSB_DEV, USB\VID_03EB&PID_2FF6
+"AT90USB82"=LIBUSB_DEV, USB\VID_03EB&PID_2FF7
+"AT32UC3A"=LIBUSB_DEV, USB\VID_03EB&PID_2FF8
+"AT90USB64"=LIBUSB_DEV, USB\VID_03EB&PID_2FF9
+"AT90USB162"=LIBUSB_DEV, USB\VID_03EB&PID_2FFA
+"AT90USB128"=LIBUSB_DEV, USB\VID_03EB&PID_2FFB
+"AT89C5130/AT89C5131"=LIBUSB_DEV, USB\VID_03EB&PID_2FFD
+"AT8XC5122"=LIBUSB_DEV, USB\VID_03EB&PID_2FFE
+"AT89C5132/AT89C51SND1/AT89C51SND2"=LIBUSB_DEV, USB\VID_03EB&PID_2FFF
+
+[Devices.NTAMD64]
+"AT32UC3C"=LIBUSB_DEV, USB\VID_03EB&PID_2FEB
+"ATUC3D"=LIBUSB_DEV, USB\VID_03EB&PID_2FE9
+"ATxmega128A1U"=LIBUSB_DEV, USB\VID_03EB&PID_2FED
+"ATmega8U2"=LIBUSB_DEV, USB\VID_03EB&PID_2FEE
+"ATmega16U2"=LIBUSB_DEV, USB\VID_03EB&PID_2FEF
+"ATmega32U2"=LIBUSB_DEV, USB\VID_03EB&PID_2FF0
+"AT32UC3A3"=LIBUSB_DEV, USB\VID_03EB&PID_2FF1
+"ATmega32U6"=LIBUSB_DEV, USB\VID_03EB&PID_2FF2
+"ATmega16U4"=LIBUSB_DEV, USB\VID_03EB&PID_2FF3
+"ATmega32U4"=LIBUSB_DEV, USB\VID_03EB&PID_2FF4
+"AT32UC3B"=LIBUSB_DEV, USB\VID_03EB&PID_2FF6
+"AT90USB82"=LIBUSB_DEV, USB\VID_03EB&PID_2FF7
+"AT32UC3A"=LIBUSB_DEV, USB\VID_03EB&PID_2FF8
+"AT90USB64"=LIBUSB_DEV, USB\VID_03EB&PID_2FF9
+"AT90USB162"=LIBUSB_DEV, USB\VID_03EB&PID_2FFA
+"AT90USB128"=LIBUSB_DEV, USB\VID_03EB&PID_2FFB
+"AT89C5130/AT89C5131"=LIBUSB_DEV, USB\VID_03EB&PID_2FFD
+"AT8XC5122"=LIBUSB_DEV, USB\VID_03EB&PID_2FFE
+"AT89C5132/AT89C51SND1/AT89C51SND2"=LIBUSB_DEV, USB\VID_03EB&PID_2FFF
+
+
+;--------------------------------------------------------------------------
+; Strings
+;--------------------------------------------------------------------------
+
+[Strings]
+manufacturer = "Atmel Corporation"
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/program_at32uc3d-isp-1.1.0.cmd b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/program_at32uc3d-isp-1.1.0.cmd
new file mode 100644
index 0000000..63da3f9
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/program_at32uc3d-isp-1.1.0.cmd
@@ -0,0 +1,56 @@
+@echo off
+setlocal enableextensions enabledelayedexpansion
+
+: This command script programs the ISP (flash array), the ISP
+: configuration word (User page) and the general-purpose fuse bits.
+
+: Copyright (C) 2006-2008, Atmel Corporation All rights reserved.
+:
+: Redistribution and use in source and binary forms, with or without
+: modification, are permitted provided that the following conditions are met:
+:
+: 1. Redistributions of source code must retain the above copyright notice, this
+: list of conditions and the following disclaimer.
+:
+: 2. Redistributions in binary form must reproduce the above copyright notice,
+: this list of conditions and the following disclaimer in the documentation and/
+: or other materials provided with the distribution.
+:
+: 3. The name of ATMEL may not be used to endorse or promote products derived
+: from this software without specific prior written permission.
+:
+: THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED
+: WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND
+: SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
+: INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+: BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+: DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+: OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+: NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+: EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+echo.
+echo Performing a JTAG Chip Erase command.
+avr32program chiperase
+
+echo.
+echo Programming MCU memory from `at32uc3c-isp-1.1.0.hex'.
+avr32-objcopy -I ihex -O binary at32uc3d-isp-1.1.0.hex at32uc3d-isp-1.1.0.bin
+avr32program program -finternal@0x80000000 -cint -e -v -O0x80000000 -Fbin at32uc3d-isp-1.1.0.bin
+del at32uc3d-isp-1.1.0.bin
+
+echo.
+echo Programming ISP configuration word \(default for EVK1100 i.e. Word2 == 0x929E1424 and Word1 == 0xE11EFFD7\)
+avr32program program -finternal@0x80000000 -cint -e -v -O0x808000F8 -Fbin at32uc3d-isp_cfg-1.1.0.dat
+
+echo.
+echo Programming general-purpose fuse bits.
+avr32program writefuses -finternal@0x80000000 gp=0xFFF5FFFF
+
+echo.
+echo Resetting MCU.
+avr32program run -R
+
+pause
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/program_at32uc3d-isp-1.1.0.sh b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/program_at32uc3d-isp-1.1.0.sh
new file mode 100644
index 0000000..1637990
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.0/program_at32uc3d-isp-1.1.0.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+# This shell script programs the ISP (flash array), the ISP configuration words
+# (User page) and the general-purpose fuse bits.
+
+# Copyright (c) 2009 Atmel Corporation. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# 3. The name of Atmel may not be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# 4. This software may only be redistributed and used in connection with an Atmel
+# AVR product.
+#
+# THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+# EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+#
+
+
+echo
+echo Performing a JTAG Chip Erase command.
+avr32program chiperase
+
+echo
+echo Programming MCU memory from \`at32uc3c-isp-H.hex\'.
+avr32-objcopy -I ihex -O binary at32uc3d-isp-1.1.0.hex at32uc3d-isp-1.1.0.bin
+avr32program program -finternal@0x80000000,512Kb -cint -e -v -O0x80000000 -Fbin at32uc3d-isp-1.1.0.bin
+rm -f at32uc3d-isp-1.1.0.bin
+
+echo
+echo Programming ISP configuration words \(default for EVK1100 i.e. Word2 == 0x929E1424 and Word1 == 0xE11EFFD7\)
+avr32program program -finternal@0x80000000 -cint -e -v -O0x808000F8 -Fbin at32uc3d-isp_cfg-1.1.0.dat
+
+echo
+echo Programming general-purpose fuse bits.
+avr32program writefuses -finternal@0x80000000 gp=0xFFF7FFFF
+
+echo
+echo Resetting MCU.
+avr32program reset
+
+pause
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/Readme.txt b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/Readme.txt
new file mode 100644
index 0000000..7f2a638
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/Readme.txt
@@ -0,0 +1,595 @@
+avr32.7z is header package used to compile at32uc3d-isp-1.1.1.hex project on IAR
+
+IAR Assembler for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\aavr32.exe
+05/11/2010 10:20:02, 4440064 bytes
+
+IAR C/C++ Compiler for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\iccavr32.exe
+05/11/2010 10:22:16, 9531392 bytes
+
+IAR Java to C converter for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\javatoc.exe
+05/11/2010 10:19:04, 163840 bytes
+
+IAR Library Builder
+4.61S (4.61.19.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\xar.exe
+08/12/2009 17:48:46, 163840 bytes
+
+IAR XLIB
+4.61S/386 (4.61.19.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\xlib.exe
+08/12/2009 17:49:48, 532480 bytes
+
+IAR XLINK
+4.61S (4.61.19.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\xlink.exe
+08/12/2009 19:05:14, 2326528 bytes
+
+WDREG Installation Utility 10.10
+10.10 (10.1.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\drivers\Jungo\win32\wdreg.exe
+04/11/2010 18:09:20, 286720 bytes
+
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\drivers\Jungo\wow64\system64.exe
+04/11/2010 18:09:20, 45568 bytes
+
+WDREG Installation Utility 10.10
+10.10 (10.1.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\drivers\Jungo\wow64\wdreg.exe
+04/11/2010 18:09:20, 145920 bytes
+
+IAR CSpyBat
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\CSpyBat.exe
+14/09/2010 01:34:10, 757760 bytes
+
+IAR Build Utility
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\IarBuild.exe
+14/09/2010 01:32:54, 106496 bytes
+
+IAR Embedded Workbench IDE
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\IarIdePm.exe
+14/09/2010 01:32:34, 487424 bytes
+
+IAR C-SPY AVR ONE! Driver for Atmel AVR32
+3.30.2/W32 [Beta] [Beta] (3.30.2.9999)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\avr32avrone.dll
+14/10/2010 13:04:46, 2965504 bytes
+
+IAR C-SPY Batch Library Support Plug-in for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\avr32bat.dll
+05/11/2010 10:18:14, 503808 bytes
+
+IAR C-SPY JTAGICE mkII Driver for Atmel AVR32
+3.30.2/W32 [Beta] [Beta] (3.30.2.9999)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\avr32jtagicemkII.dll
+14/10/2010 13:02:48, 2945024 bytes
+
+IAR C-SPY Library Support Plug-in for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\avr32LibSupport.dll
+05/11/2010 10:20:06, 602112 bytes
+
+IAR LibSupport Plug-in Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\avr32LibSupport.ENU.dll
+14/09/2010 01:26:30, 10240 bytes
+
+IAR C-SPY Processor Descriptor for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\avr32proc.dll
+05/11/2010 10:18:02, 1814528 bytes
+
+IAR C-SPY Simulator Driver for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\avr32sim.dll
+05/11/2010 10:21:10, 2678784 bytes
+
+IAR Workbench Target Descriptor for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\swtdavr32.dll
+05/11/2010 10:17:40, 933888 bytes
+
+IAR Workbench Target Descriptor, AVR ONE!, for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\swtdavr32avrone.dll
+05/11/2010 10:17:32, 671744 bytes
+
+IAR Workbench Target Descriptor, JTAGICE mkII, for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\swtdavr32jtagicemkII.dll
+05/11/2010 10:18:12, 675840 bytes
+
+IAR Workbench Target Descriptor, Simulator for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\swtdavr32sim.dll
+05/11/2010 10:19:00, 434176 bytes
+
+wdapi 10.10
+10.10 (10.1.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\win32\wdapi1010.dll
+04/11/2010 18:09:20, 143360 bytes
+
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\win32\WinDriverStub.dll
+04/11/2010 18:09:20, 8192 bytes
+
+wdapi 10.10
+10.10 (10.1.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\wow64\wdapi1010.dll
+04/11/2010 18:09:20, 143360 bytes
+
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\wow64\WinDriverStub.dll
+04/11/2010 18:09:20, 8192 bytes
+
+Driver Install Frameworks for API library module
+2.1 (2.1.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\drivers\Jungo\win32\difxapi.dll
+04/11/2010 18:09:20, 319456 bytes
+
+µC/OS-II KA Plug-in for C-SPY DLL
+2.50 2007-09-10 (2.5.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.dll
+05/11/2010 09:34:42, 471040 bytes
+
+IAR STK600 Plug-in
+1.0.3.0 (1.0.3.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\plugins\Stk600Plugin\Stk600Plugin.dll
+04/11/2010 18:09:34, 471040 bytes
+
+IAR CSpyBat Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\CSpyBat.ENU.dll
+14/09/2010 01:26:24, 5632 bytes
+
+IAR C-SPY Debugger GUI
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\DebuggerGui.dll
+14/09/2010 01:40:00, 1937408 bytes
+
+IAR C-SPY Debugger GUI Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\DebuggerGui.ENU.dll
+14/09/2010 01:26:28, 69632 bytes
+
+IAR Find In Files
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\FindInFiles.dll
+14/09/2010 01:31:08, 352256 bytes
+
+IAR Find In Files Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\FindInFiles.ENU.dll
+14/09/2010 01:26:28, 4608 bytes
+
+IAR Build Utility Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\IarBuild.ENU.dll
+14/09/2010 01:26:28, 3072 bytes
+
+IAR Embedded Workbench IDE Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\IarIdePm.ENU.dll
+14/09/2010 01:26:26, 479232 bytes
+
+IAR IDE Framework
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\IdeFramework.dll
+14/09/2010 01:27:02, 1056768 bytes
+
+IAR IDE Framework Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\IdeFramework.ENU.dll
+14/09/2010 01:26:32, 4096 bytes
+
+IAR C-SPY Debugger Kernel
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\kernel.dll
+14/09/2010 01:35:32, 2580480 bytes
+
+IAR C-SPY Debugger Kernel Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\kernel.ENU.dll
+14/09/2010 01:26:32, 13824 bytes
+
+IAR Log Window
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\LogWindow.dll
+14/09/2010 01:30:24, 274432 bytes
+
+IAR Log Window Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\LogWindow.ENU.dll
+14/09/2010 01:26:26, 10240 bytes
+
+IAR Project Manager Engine
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\ProjectManagerEngine.dll
+14/09/2010 01:31:36, 1355776 bytes
+
+IAR Project Manager Engine Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\ProjectManagerEngine.ENU.dll
+14/09/2010 01:26:22, 12800 bytes
+
+IAR Project Manager Gui
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\ProjectManagerGui.dll
+14/09/2010 01:38:56, 872448 bytes
+
+IAR Project Manager Gui Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\ProjectManagerGui.ENU.dll
+14/09/2010 01:26:20, 163840 bytes
+
+IAR Text Editor
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\TextEditor.dll
+14/09/2010 01:33:00, 806912 bytes
+
+IAR Text Editor Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\TextEditor.ENU.dll
+14/09/2010 01:26:14, 32768 bytes
+
+Shared Library for Xerces-C Version 1.5.1
+1, 5, 1 (1.5.1.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\xerces-c_1_5_1.dll
+14/09/2010 00:37:18, 1257472 bytes
+
+IAR XmlLib
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\XmlLib.dll
+14/09/2010 01:23:06, 102400 bytes
+
+IAR Code Coverage Plug-in
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\CodeCoverage\CodeCoverage.dll
+14/09/2010 01:33:46, 507904 bytes
+
+IAR Code Coverage Plug-in Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\CodeCoverage\CodeCoverage.ENU.dll
+14/09/2010 01:26:30, 10752 bytes
+
+IAR ORTI RTOS Plug-in
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\Orti\Orti.dll
+14/09/2010 01:36:12, 647168 bytes
+
+IAR ORTI RTOS Plug-in Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\Orti\Orti.ENU.dll
+14/09/2010 01:26:24, 8704 bytes
+
+IAR Profiling Plug-in
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\Profiling\Profiling.dll
+14/09/2010 01:30:04, 507904 bytes
+
+IAR Profiling Plug-in Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\Profiling\Profiling.ENU.dll
+14/09/2010 01:26:22, 9728 bytes
+
+IAR Stack Plug-in
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\Stack\Stack.dll
+14/09/2010 01:29:08, 536576 bytes
+
+IAR Stack Plug-in Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\Stack\Stack.ENU.dll
+14/09/2010 01:26:18, 7680 bytes
+
+IAR Symbols Plug-in
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\SymList\SymList.dll
+14/09/2010 01:28:54, 487424 bytes
+
+IAR Symbols Plug-in Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\SymList\SymList.ENU.dll
+14/09/2010 01:26:16, 3072 bytes
+
+Metadata dll for package 'avr32_asm_lib_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_asm_lib_all.dll
+09/11/2010 09:37:26, 94208 bytes
+
+Metadata dll for package 'avr32_asm_lib_src'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_asm_lib_src.dll
+09/11/2010 09:37:34, 94208 bytes
+
+Metadata dll for package 'avr32_atmel_include_files_generated_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_atmel_include_files_generated_all.dll
+09/11/2010 09:37:46, 118784 bytes
+
+Metadata dll for package 'avr32_autorun_release'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_autorun_release.dll
+09/11/2010 09:37:30, 90112 bytes
+
+Metadata dll for package 'avr32_bin_release'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_bin_release.dll
+09/11/2010 09:37:14, 94208 bytes
+
+Metadata dll for package 'avr32_bin_release_cs'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_bin_release_cs.dll
+09/11/2010 09:37:34, 90112 bytes
+
+Metadata dll for package 'avr32_compiler_support_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_compiler_support_all.dll
+09/11/2010 09:37:40, 90112 bytes
+
+Metadata dll for package 'avr32_created_infocenter_enu_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_created_infocenter_enu_all.dll
+09/11/2010 09:37:16, 94208 bytes
+
+Metadata dll for package 'avr32_cspy_release'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_cspy_release.dll
+09/11/2010 09:37:24, 90112 bytes
+
+Metadata dll for package 'avr32_devices_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_devices_all.dll
+09/11/2010 09:37:46, 94208 bytes
+
+Metadata dll for package 'avr32_dlib_extra_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_dlib_extra_all.dll
+09/11/2010 09:37:30, 98304 bytes
+
+Metadata dll for package 'avr32_dlib_extra_src'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_dlib_extra_src.dll
+09/11/2010 09:37:36, 98304 bytes
+
+Metadata dll for package 'avr32_dlib_generated_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_dlib_generated_all.dll
+09/11/2010 09:37:26, 102400 bytes
+
+Metadata dll for package 'avr32_dlib_generated_src'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_dlib_generated_src.dll
+09/11/2010 09:37:32, 159744 bytes
+
+Metadata dll for package 'avr32_doc_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_doc_all.dll
+09/11/2010 09:37:16, 94208 bytes
+
+Metadata dll for package 'avr32_ew_release'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_ew_release.dll
+09/11/2010 09:37:36, 90112 bytes
+
+Metadata dll for package 'avr32_hlp_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_hlp_all.dll
+09/11/2010 09:37:26, 90112 bytes
+
+Metadata dll for package 'avr32_iar_device_files_generated_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_iar_device_files_generated_all.dll
+09/11/2010 09:37:38, 110592 bytes
+
+Metadata dll for package 'avr32_infocenter_templates_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_infocenter_templates_all.dll
+09/11/2010 09:37:20, 98304 bytes
+
+Metadata dll for package 'avr32_installer_release'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_installer_release.dll
+09/11/2010 09:37:22, 90112 bytes
+
+Metadata dll for package 'avr32_lib_tools_src'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_lib_tools_src.dll
+09/11/2010 09:37:22, 98304 bytes
+
+Metadata dll for package 'avr32_qscards_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_qscards_all.dll
+09/11/2010 09:37:12, 90112 bytes
+
+Metadata dll for package 'avr32_rtlib_release'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_rtlib_release.dll
+09/11/2010 09:37:16, 102400 bytes
+
+Metadata dll for package 'avr32_send_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_send_all.dll
+09/11/2010 09:37:20, 102400 bytes
+
+Metadata dll for package 'avr32_stk600_driver_release'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_stk600_driver_release.dll
+09/11/2010 09:37:24, 90112 bytes
+
+Metadata dll for package 'avr32_stk600_plugin_release'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_stk600_plugin_release.dll
+09/11/2010 09:37:10, 90112 bytes
+
+Metadata dll for package 'avr32_windriver_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_windriver_all.dll
+09/11/2010 09:37:34, 94208 bytes
+
+Metadata dll for package 'avr32_xlink_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_xlink_all.dll
+09/11/2010 09:37:44, 94208 bytes
+
+Metadata dll for package 'common_vcredistx86_2005_sp1_atl_all'
+6.0.2900.2180 (6.0.2900.2180)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\common_vcredistx86_2005_sp1_atl_all.dll
+09/11/2010 09:37:12, 90112 bytes
+
+Metadata dll for package 'common_vcredistx86_2008_sp1_atl_all'
+9.0.30729.4148 (9.0.30729.4148)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\common_vcredistx86_2008_sp1_atl_all.dll
+09/11/2010 09:37:36, 90112 bytes
+
+Metadata dll for package 'common_vcredistx86_export_all'
+1.0.0.0 (1.0.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\common_vcredistx86_export_all.dll
+09/11/2010 09:37:22, 90112 bytes
+
+Metadata dll for package 'IDE_CodeCoverageRelease_plugin'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_CodeCoverageRelease_plugin.dll
+09/11/2010 09:37:48, 90112 bytes
+
+Metadata dll for package 'IDE_CSpyBatRelease_exe_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_CSpyBatRelease_exe_langdll.dll
+09/11/2010 09:37:24, 90112 bytes
+
+Metadata dll for package 'IDE_DebuggerGuiRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_DebuggerGuiRelease_dll_langdll.dll
+09/11/2010 09:37:40, 90112 bytes
+
+Metadata dll for package 'IDE_FindInFilesRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_FindInFilesRelease_dll_langdll.dll
+09/11/2010 09:37:44, 90112 bytes
+
+Metadata dll for package 'IDE_IarBuildRelease_exe_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_IarBuildRelease_exe_langdll.dll
+09/11/2010 09:37:38, 90112 bytes
+
+Metadata dll for package 'IDE_IarIdePmRelease_exe_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_IarIdePmRelease_exe_langdll.dll
+09/11/2010 09:37:26, 90112 bytes
+
+Metadata dll for package 'IDE_IdeFrameworkRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_IdeFrameworkRelease_dll_langdll.dll
+09/11/2010 09:37:28, 90112 bytes
+
+Metadata dll for package 'IDE_kernelRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_kernelRelease_dll_langdll.dll
+09/11/2010 09:37:48, 90112 bytes
+
+Metadata dll for package 'IDE_LibSupportRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_LibSupportRelease_dll_langdll.dll
+09/11/2010 09:37:28, 90112 bytes
+
+Metadata dll for package 'IDE_LogWindowRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_LogWindowRelease_dll_langdll.dll
+09/11/2010 09:37:28, 90112 bytes
+
+Metadata dll for package 'IDE_MiscRelease_misc'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_MiscRelease_misc.dll
+09/11/2010 09:37:40, 90112 bytes
+
+Metadata dll for package 'IDE_OrtiRelease_plugin'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_OrtiRelease_plugin.dll
+09/11/2010 09:37:20, 90112 bytes
+
+Metadata dll for package 'IDE_PlatformPackagesRelease_delivery'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_PlatformPackagesRelease_delivery.dll
+09/11/2010 09:37:18, 90112 bytes
+
+Metadata dll for package 'IDE_Platform_release'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_Platform_release.dll
+09/11/2010 09:37:30, 90112 bytes
+
+Metadata dll for package 'IDE_ProfilingRelease_plugin'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_ProfilingRelease_plugin.dll
+09/11/2010 09:37:48, 90112 bytes
+
+Metadata dll for package 'IDE_ProjectManagerEngineRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_ProjectManagerEngineRelease_dll_langdll.dll
+09/11/2010 09:37:32, 90112 bytes
+
+Metadata dll for package 'IDE_ProjectManagerGuiRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_ProjectManagerGuiRelease_dll_langdll.dll
+09/11/2010 09:37:32, 90112 bytes
+
+Metadata dll for package 'IDE_SelfTestRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_SelfTestRelease_dll_langdll.dll
+09/11/2010 09:37:42, 90112 bytes
+
+Metadata dll for package 'IDE_StackRelease_plugin'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_StackRelease_plugin.dll
+09/11/2010 09:37:18, 90112 bytes
+
+Metadata dll for package 'IDE_SymListRelease_plugin'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_SymListRelease_plugin.dll
+09/11/2010 09:37:42, 90112 bytes
+
+Metadata dll for package 'IDE_TextEditorRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_TextEditorRelease_dll_langdll.dll
+09/11/2010 09:37:44, 90112 bytes
+
+Metadata dll for package 'IDE_XercesXMLRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_XercesXMLRelease_dll_langdll.dll
+09/11/2010 09:37:22, 90112 bytes
+
+Metadata dll for package 'IDE_XmlLibRelease_dll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_XmlLibRelease_dll.dll
+09/11/2010 09:37:42, 90112 bytes
+
+Metadata dll for package 'lms_init_media'
+1.0.0 (1.0.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\lms_init_media.dll
+09/11/2010 09:37:18, 90112 bytes
+
+Metadata dll for package 'lms_init_release'
+1.0.0 (1.0.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\lms_init_release.dll
+09/11/2010 09:37:30, 90112 bytes
+
+Metadata dll for package 'lms_license_support_release'
+1.0.1 (1.0.1.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\lms_license_support_release.dll
+09/11/2010 09:37:12, 90112 bytes
+
+Metadata dll for package 'lms_safenet_dongle_drivers_media'
+7.5.0 (7.5.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\lms_safenet_dongle_drivers_media.dll
+09/11/2010 09:37:44, 90112 bytes
+
+Metadata dll for package 'lms_utilities_release'
+1.1.1 (1.1.1.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\lms_utilities_release.dll
+09/11/2010 09:37:40, 94208 bytes \ No newline at end of file
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/at32uc3d-isp-1.1.1.bin b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/at32uc3d-isp-1.1.1.bin
new file mode 100644
index 0000000..eb0d28e
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/at32uc3d-isp-1.1.1.bin
Binary files differ
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/at32uc3d-isp-1.1.1.hex b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/at32uc3d-isp-1.1.1.hex
new file mode 100644
index 0000000..2bed70a
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/at32uc3d-isp-1.1.1.hex
@@ -0,0 +1,512 @@
+:0200000480007A
+:10000000E1B80000F1D8C2C35818C0A0FEC8FFEE86
+:100010003009EA190061E06D0E14D041D6033008B2
+:10002000FE791C00E06A00FCEA1A8080FE7B140066
+:100030007000E061504BEA1149537402E06301071C
+:100040000494C78CC141E7D2C210E043E11EC0F165
+:10005000EDB20009C0C3F6F30180E0642317087312
+:10006000C131EDB30003C3830230C3C1C54C91015C
+:10007000E06D0E2CD353FEC00076E3B00001E0A08B
+:100080000D51E0A00D85EDB20008C262E06A00F8F3
+:10009000EA1A80807402E06301070494C4BCCE7144
+:1000A000E7D2C22FE043494FCE21E7D2C108E04357
+:1000B0000033CDD2FE7A2800E6041605A974080A9A
+:1000C0007584E013001FE8030A44E7D2C201065416
+:1000D000EDB40000CCC20230C051C1DC30083000A9
+:1000E00091003000EA100061E3B000003000300100
+:1000F0003002300330043005300630073008300954
+:10010000300A300B300C300D300EE3B00001E3B09C
+:10011000004248CF3002EA1255009302EE12FF006F
+:1001200093021C9FE8051200EA051117E605094530
+:100130000A54E04400FFFE9BFFF758045EF4000001
+:1001400080002000308A310CFE6B00047609AD99E6
+:10015000C1837609A589C553FE6A08003019763E29
+:10016000A19EC5727608A198C542740BAFCB950BC2
+:10017000FE6B00049749975C740CAFAC950CC6D825
+:10018000FE690220930C930AFE6901307208A3985D
+:10019000C042E0A0019FC6187208A388C042E0A038
+:1001A0000261C5B87208A198C092FE6801C0700EC5
+:1001B000A19EC042E0A001E6C508E06E09A0EA1ECB
+:1001C00000007D08720EA58EC08293CA720CA19C9D
+:1001D000C4435838C421C0F8720EA59ECBB293CC4C
+:1001E000720CA38CC3A35818C041E0A002A7C35847
+:1001F0005848C331E86C0000FE6B01C097CCC2D8F0
+:10020000971AE0A00555E0A00107E0A0014FC258F1
+:10021000763EA59EC1227608A598C0F27408AFC8A4
+:100220009508FE6A08007418AF98C043760AA19A30
+:10023000CF92974C9759C118741BA38BC0E2740CD2
+:10024000AFCC950C302C952C740CAFAC950C741C69
+:10025000F9DCC161E0A00CB8FE6C0800786BD60335
+:10026000800004D080000660800005808000073890
+:1002700080000CAC80000414800004A880001BC423
+:10028000E1BC0000D3035EFC5EFF0000D421E0A0CF
+:100290000CEDCF7F1897FE6608006C0CAFDC8D0C60
+:1002A0006C0C300AE06B0220E06C0144EA1C800018
+:1002B000E0A00D386C0CB9BC8D0C6C0CB9CC8D0C5D
+:1002C0006C0CADCC8D0C6C0CADAC8D0C6C0CAFBC57
+:1002D0008D0C6C0CAFCC8D0C6C0C6C1BAF9BCFE2FF
+:1002E000E06909A0EA190000300A300BF2EB0020A7
+:1002F000F2EB0028F2EB0030F2EB00386CCB2E0969
+:100300008DC9FE6C0000780BADCB990B780BE81B08
+:100310000C00990B6C0CA1BC8D0C6C0CAFAC8D0C53
+:10032000FE7C1588780BA1AB990BB197C023D50340
+:10033000D82AD70380001C6880001D20D421CA1F42
+:100340001897FE6C0800780BAFDB990B780BADCBE0
+:10035000990BE0A00C99B197C023D503D82AD703F5
+:1003600080001C84D421C8DF1897FE6608006C0C3E
+:10037000AFCC8D0C6C1BAF9BCFE2FE6C0000780BFA
+:10038000A9CB990BE0A00494C46CC8FC308CFE6B24
+:100390000000976C301BFE6A0000956B310AFE6905
+:1003A0000000936A932C304C932C933B932A6C0C53
+:1003B000AFAC8D0CB197C023D503D82A80000CAC0C
+:1003C000FE6C0800780BAFCB990BFE6C0000780B2D
+:1003D000A9AB990B5EFD0000FE6B0000760AA7DA60
+:1003E000970A760AE01AFF80F9DCC007144C970CD4
+:1003F000760CA7BC970C5EFDFE6B0000760CF9DC5A
+:10040000C0075EFCE06A09A0EA1A0000952CB46BF4
+:100410005EFD0000D401FE6C0000780BE01BFF8045
+:10042000990B780BA7BB990BFE6C0100780B308AF7
+:100430003409F20A0C4AE0690400F4090D4AE01B91
+:10044000E68B3FF9F20A001AF4091200F20A111CB5
+:10045000A56AE21A1974144B990BE06C09A0EA1C06
+:100460000000F8CBFFBC998B789BE41B8000999B24
+:10047000FE6C0000787BA1AB997B300CEA1C01007C
+:10048000FE6B01F097CCCFDEFE6B01F0304A970A8D
+:10049000302A970AE06B1000FE6A0000956BB19C51
+:1004A000C023D503D80A0000301CFE6B0220970C35
+:1004B000302CFE6B0160970C300CE06B09A0EA1B3E
+:1004C0000000974C975CB66CF74C00405EFD000056
+:1004D000D421E06709A0EA1700006F0C580CC03067
+:1004E000C5EDCE3FFE6601F0FE65016030446E9CB6
+:1004F000F9DCC00F588CC090305CEF4C0040E86CC9
+:1005000000008D0C8B04D82AEEEA0044AF1BF9DB07
+:10051000C0105CCCAE1C8EAC5CCCAE2CF9DAC0103A
+:100520005CCCAE3CE0A0051ACE808B04E06C0A24C3
+:10053000EA1C0000300B0F8AA98AC0F28EEAF5DAB5
+:10054000C006F40915105F0AB88AB81BB82B302C06
+:10055000EF4C0040C16CD82A8EBA580AC031CEDCAC
+:10056000D82AB81BB82B301CEF4C004031078B0742
+:10057000C88E8D07B19CC023D503D82A80000F58A0
+:10058000D431E0630280EA1380005D133017FE6B04
+:1005900001F097C7B19CC023D503E06609A0EA1615
+:1005A00000006D0C583CC041CFACC7FFD83A8CEC72
+:1005B000E0650A24EA1500008AA418245C74C1F1DD
+:1005C0000B8B580BC031CD5CD83A30028A9B160C8D
+:1005D0008CBB163CC0656C5C580CC0305D1CC031D7
+:1005E000AA82C1188AAC8A9B180BAA1BAA228CE487
+:1005F000F9D4C006F80B15105F0CAA8CE04400413A
+:10060000F9B404405D13FE6B0130760AA38AC08200
+:10061000B19CC023D503304CED4C0040D83A6C2936
+:100620008AAB1609089BECCEFFBC5804C0501338A7
+:10063000201B1CC8CFD18AAB080BAA2B6C9BE01BDC
+:100640008000E9D4C00F16448D94FE6B013097C72B
+:10065000FE6B01F09707B19CC023D503D83A000088
+:10066000D431E06709A0EA1700006F0CFE6601F0C4
+:10067000E86500003054581CC0C0582CC030584C9D
+:10068000C031C8DCC048EF4400408D05C0EFD83A07
+:100690006E9BF7DBC00FE0630A24EA13000086AC10
+:1006A000189A8EE9F80B00081039C044F20C010BBF
+:1006B0005C7BEEC9FFBC6E2C180A169C149E580B6E
+:1006C000C0501338201C1CC8CFD186AC160CA62CE9
+:1006D0005C7CFE6201603021E04B0040C061869B83
+:1006E000180B8EBA143BC0F5AE6C6E5C580CC08013
+:1006F0005D1CC061EF4400408D058501D83A85013D
+:10070000C1CCD83A8EEBF80B1900C0C16E5C580C06
+:10071000CF205D1CCF0086AC869B180BA61B300C2F
+:10072000A62C850131078507FEB0FDAC8D07B19C75
+:10073000C023D503D83A0000D401E06C09A0EA1C1C
+:100740000000303BF94B0040789BE01B8000999BF8
+:10075000FEB0FD98FE6B0160301A970AFE6901F049
+:10076000930A308A970A930AB19CC023D503D80A0A
+:10077000D401304CE06B09A0EA1B0000F74C0040AC
+:10078000FEB0FD80310BFE6A0160950BFE6A01F040
+:10079000950BB19CC023D503D80A0000D401E06BAF
+:1007A00009A0EA1B0000764C580CC0205D1CD80A3A
+:1007B000FE6C140C780BE06A1DACEA1A8000F7DBC3
+:1007C000C004F40B032CA98C5EFC0000FE6A14002C
+:1007D0007409A7C9340BF7EC006C124C950C5EFD44
+:1007E000D421E0670838EA178000E06B07CCEA1BE9
+:1007F0008000E06AE1C1EA1A00E4143CC123E06A27
+:10080000C381EA1A01C9143C301CC0625D1B3FFB66
+:10081000311C5D17D82A5D1B3FFB310C5D17D82AB0
+:10082000300C5D1B3FFB311C5D17D82AFE6B140892
+:10083000760CA19CCFC25EFDD42118951697E06678
+:100840000008EA160000F0160000FE6C1404780B95
+:10085000E01BFFC0EBD5C00616455807C0A6E01543
+:1008600000FFE415FF000A9BEBD7C010F7E51085E9
+:10087000EBD5C018EA15A5009905781CE21C000C00
+:100880008D1CF0160000D82AFE6B1408760CF9DCDB
+:10089000C0815EFCD4013FFB309CCCFFD80A000035
+:1008A000D401F60A1518304AF9BA0005189B149CB1
+:1008B000CC4FD80AD42118961697C7BF0E9BA39C7D
+:1008C000B9360C9CCEEFD82AD42118973006308543
+:1008D00020150E9B0A9CCEFFE06B0008EA1B00006F
+:1008E000761C18465805CF519716D82AFE6B14145B
+:1008F0007618760A30091449F9DCC006EDBC00050B
+:10090000F2081730F00C0A48A1985F3C5EFC00002A
+:10091000D42118971696F7DCC006308CC8EFEC0C83
+:100920001518C0400E9CCE3FD822DA2AD401F60A10
+:100930001518C061F9DCC006189B307CC7EFD80AD7
+:10094000D401F60A1518300BC030CE3FD80ACEFFBE
+:10095000D80A0000D401189B30CCFEB0FF6FFE6BAC
+:100960001408760CF9DCC0A1D8020000D421169737
+:100970003016189B302CFEB0FF61EE0C1518C0C06D
+:10098000E0670008EA1700006E153FFCCE4F18968E
+:100990006E1C18458F150C9CD8220000D4013FFB1B
+:1009A00030FCFEB0FF4BFE6B1408760CF9DCC0A1E6
+:1009B000D8020000D42118973FFB30ECFEB0FF3E78
+:1009C000EE0C1518F9BC0001C020CE9FD822000003
+:1009D000D671204D30013002FE6C140C78093008BD
+:1009E000EA188000E06E1DACEA1E8000F3D9C00456
+:1009F000FC09032C18085028405616970C0A149529
+:100A0000300CEA1C80001836C0831036C0B3300C9E
+:100A1000EA1C80801836C0625C36160618060C97F1
+:100A20001896E06C0101EA1C8080183AC063E0650A
+:100A30000100EA158080C098301CEA1C8080183ABA
+:100A4000C0421438F00517300A9CA1CCE01CFFFC12
+:100A5000E01CFFF8503CE9D5C003C0E8580BC0507B
+:100A6000300CCA9F661C18423FFB30DCFEB0FEE62D
+:100A7000049C66121842E0630008EA1300000A367C
+:100A8000E08200BB3FFB303CFEB0FED8661C184243
+:100A90000C99E019FF00F2CCFF00403AF40C0D4B2A
+:100AA0000A9CE01CFF0018395F2AF9D6C008C26012
+:100AB0000C98E018FFF8C058720C12AC720C12AC13
+:100AC0001039CFB3FDD6C003C190300C1336FA0CE9
+:100AD0000B062FFC1C3CCFB3588CC0620F39FA0CAC
+:100AE0000B092FFCCFAB109640391238C062400979
+:100AF0000CA940190CA9C0283011A39BEC0C1603BB
+:100B0000181B303C0E6C187CC040202CC0B0C1A813
+:100B1000169C580CC2700F0B0CAB0F0B0CAB201CAF
+:100B2000CF9B169C580CC1E0300B0F29FA0B0A1909
+:100B30002FFB584BCFB340090CA940190CA9201C1E
+:100B4000CF2B169CC0D8300B0F39FA0B0B092FFB9B
+:100B5000588BCFB340090CA940190CA9201C580C84
+:100B6000CF31F40C1518C240E20C1518C030089CA7
+:100B7000C098300CC0580F3BFA0C0B0B2FFC083CF4
+:100B8000CFB30A995804C061C108133BFA0C0B0B90
+:100B90002FFC588CCFB3400B0CAB401B0CABC05898
+:100BA000720C12AC720C12ACF9D9C008CFA1301C77
+:100BB000EA1C80801836FB3B001BFE92FF51580B4D
+:100BC000C070300B3FFCFEB0FED3661C18423FFBEA
+:100BD000301CFEB0FE33049C66121842402B1636C1
+:100BE000FE93FF4B5C360E06300CEA1C8080180624
+:100BF0000C971896C41B8712405C2FCDDC72000046
+:100C0000D401E06A0114EA1A000015895809C021CC
+:100C1000D80AE06A0108EA1A00007418700913C8BB
+:100C2000F00C1800CF6295297418700E1DB92FEEC4
+:100C3000FDD950005CC9202E5C791C09C048118E7A
+:100C40001C08952874281238CE42119E584ECF8128
+:100C500011AEFC0C1800CF4111BEFC0B1800CF01E7
+:100C6000DA0A0000D4211897300BCCBFC021D82A53
+:100C7000E06C0108EA1C0000781B761CF8070F8B5B
+:100C8000761C5D1CDA2A0000D4211897CBAFC02156
+:100C9000D82AE06C0108EA1C0000781B761CF807D3
+:100CA0000F8BF01B00005F1CD8220000D421E067EE
+:100CB0000108EA170000E0660114EA1600000D8C36
+:100CC000580CC0C03005C0580A9CCCDF2FF55C55CD
+:100CD0006E1C780B17CC1835CF85300CAC8CE06CC3
+:100CE0000100AE1CD82A0000D401E06B09A0EA1B69
+:100CF0000000969CF9DCC007FEB0FB70D80AD70351
+:100D0000800003D8D421E06709A0EA1700008E9B79
+:100D1000F3DBC008E06800DCEA180000E06A0404C5
+:100D2000EA1A8000F60C1608201CC060201CC0E0E7
+:100D3000201CC210D82A700C198B5D1A8EBC8EEB49
+:100D4000F60C1900C022AE6CDA2A700CF93B0011C7
+:100D50001639C025D82A701BF609033C19BB2FECA5
+:100D6000F9DB50005CCB5C7B202C5D1A302C6E2BA9
+:100D7000B69CCE5BE06C001CEA1C00005C5B167B42
+:100D8000C060201BC070201BC180D82A304B2E4C65
+:100D9000CD5B305BF8C9FFE03008F208070E5CCE8F
+:100DA000F8080016AC1E2FF81638CF853029F20B44
+:100DB000001BB88B5C5BCC2B30CBF8C9FFD8CEDBEB
+:100DC000D431E06609A0EA1600000D8CE06501143C
+:100DD000EA1500000B8BE0670108EA170000EDBC84
+:100DE0000007C4828CBAF4091510C021D83AF9DC86
+:100DF000C005E0640404EA148000580CC1A10D9CF5
+:100E0000187CC060206CC0C0202CC0C0D83A582AC2
+:100E1000C020D83A302BEECCFFFE5D14DA3AC73F43
+:100E2000D832581AC020D83A301B0A9C5D14DA3ADE
+:100E3000581CCDD10D9C58ACCDA1581AC020D83A21
+:100E4000F60C1518CFD08CA55C556E1C780B17CC02
+:100E50001835CF64300B0A9CCD4ECF206E1C781B0A
+:100E6000F605032C783B5D1BAE8C301B0E9C5D148D
+:100E7000DA3AF9DCC005E0640C88EA148000580C0A
+:100E8000C4F10D9C201CC140202CCB10202CC06034
+:100E9000202CCAD0202CC180D83A8CBC580CC02041
+:100EA000D83AE06C0CE8EA1C80008D4CDA3A8CBC35
+:100EB000580CC020D83A8C9C581CCFD18E9CE21C78
+:100EC000FDFFAE1CDA3A8CBC580CC020D83AFEB0FC
+:100ED000FA95CFD0E06300DCEA130000660CF93B22
+:100EE00000118C9CF80B1800CF23CE1E8C9CAA8C72
+:100EF0005C5CF80B1518C021DA3A661BF60C003B57
+:100F0000208B8F1B30066E1C780B17CC1836CF54F5
+:100F1000300B0C9C5D14CDB02FF65C56CF5B581C8B
+:100F2000FE91FF660D9C58BCFE91FF628CBC580C74
+:100F3000C030300CC0E8F60C1518CFC08CA55C553D
+:100F40008C975C570A9CC8FECF500E9B0A9C5D1480
+:100F50005C5CD832800003F8D421300CE06709A033
+:100F6000EA170000AE6C8F4C8F5C0F8CEDBC000755
+:100F7000C0528EBB580BC021D82AE21C0060C04171
+:100F8000C20FC020DA2A0F8CF9DCC005581CCF51E3
+:100F9000E06C0114EA1C0000198B580BCEE08EA601
+:100FA0005C56E0670108EA1700006E1C780B17CC4E
+:100FB0001836CE34E0650C00EA158000300B0C9C2E
+:100FC0005D15CDB06E1C781BF60603276E3C5D1CCC
+:100FD000F7DCC0080C9C5D15CD006E2C5D1CCD317E
+:100FE000D82A0000D401C65CE0A00392E0A003A2CE
+:100FF000E06B0118EA1B0000F76C0008DA0AD7035F
+:101000008000170C800017305EFD0000D421E065E1
+:1010100009A0EA1500000B8C189BE21B0060E04B56
+:101020000020C020D82A0B9BE0660404EA1680004A
+:10103000E0670118EA170000A98CC162202BC0F0FC
+:10104000201BC301E06C0140EA1C0000198B580B07
+:10105000C020C33D306B0E9C5D16DA2A6E6C580CB6
+:10106000C2105D1CD822201BC050203BC1B1C21C45
+:10107000DA2A6E7C580CC0A0300CE0A003ABE06C08
+:1010800010D0EA1C80008B4CDA2A340BE06C01444F
+:10109000EA1C00005D16E06C10E0EA1C80008B5C2E
+:1010A000DA2A30FCAE8C30ACAECCD82A5EFD000023
+:1010B000300CE06B0118EA1B0000B68C302AB6CA6F
+:1010C000E06A09A0EA1A0000955C954C977C5EFDE9
+:1010D000D401E06C0118EA1C0000787B5D1BD80A83
+:1010E000D431201DCE6FE0670118EA1700000E967C
+:1010F00030048F64301CE0A0036DE06A0984EA1AB2
+:101100000000EF3C000815831863E06C0144EA1C02
+:10111000000019A9E0650184EA150000E0681304E5
+:10112000EA188000E06000FF30A23031198E199B70
+:10113000F7EE108EE02E0100C0F0E02E0200C2D0CB
+:10114000201EC430E02E00FFC6F0203EC710E02E67
+:101150000200C7E0CAC8E60B1518C050AE81302C9B
+:10116000AECCCA586E5B580BC041AE81AEC2C9F856
+:101170002FEC5D18E080009CE06B08000A9CFEB03C
+:10118000F943E06C1CA0EA1C8000E06B09A0EA1B9C
+:101190000000975C301CC8C82FEC5D18E080008808
+:1011A0006E4C580CC041AE81AEC2C818E60C151882
+:1011B000C060E06C12F0EA1C8000C058E06C13487C
+:1011C000EA1C80008F6CCE7B2FEC5D18C7006E4C44
+:1011D000580CC041AE81AEC2C6A86E9C580CCDB0B2
+:1011E000E06B0800F80B0D445C74081C8F9C089A97
+:1011F0006E8B0A9C6E495D190A9CC0486E8B2FFB52
+:101200008F8B089BFE3400015C74F60A1510CE60CB
+:10121000193B003BCF40305CAE8CE06C1374EA1C91
+:1012200080008F6CCB8B0039C421C47CC418127928
+:10123000C0402019C070CAFBE06C1798EA1C8000FF
+:10124000C058E06C17B4EA1C80008F7CCA4B19BBF5
+:101250001279C0402019C200C9EB591BC055308C0F
+:10126000AE8CAEC2C248583BC080582BC060584BB1
+:10127000C040585B5F1CC028300CB48C2F47E06C1A
+:101280000064EA1C0000F80B0F8AB509AF281508A6
+:101290000EA88D84C80B300A500ABA8B19CBBA9BA2
+:1012A000400B6E3C183BCDC28F8BC75B300C2FFDC3
+:1012B000D832D703800017D0D421E0670118EA178D
+:1012C0000000E0A00243C070300CEF6C0008300B4F
+:1012D000302AC048301C309B304AAECAAE8BE06B1F
+:1012E0000140EA1B0000B68CDA2AD70380001748B9
+:1012F000E06C0118EA1C0000303BB88B302BB8CBF7
+:101300005EFD0000E06B0118EA1B00007689E6191B
+:10131000FFFF198AA96A1409199A120A978A149860
+:10132000E618FFFF19A9A969120819B91009763C36
+:101330001839C063308CB68C30ACB6CC5EFD122A46
+:101340002FFA979A5EFF0000D421E0670184EA1724
+:101350000000E0660118EA1600006C9A5C7A6C8B5B
+:101360000E9C6C495D196C9B5C7B0E9CFEB0F84C2E
+:10137000DA2A0000D401E06C0118EA1C0000788B26
+:10138000E06C0184EA1C0000F60A1608B88AB89BD3
+:10139000302BFEB0F839DA0A80000404E07B86A026
+:1013A000FE7A5814740918695E1D201BCFA15EFED9
+:1013B000580C5E1F498C780AA1AAEC5BBBA0C03216
+:1013C000300CC118E06CC6C0EA1C002D183BC032BE
+:1013D000301CC098E06C1200EA1C007A183B302CDC
+:1013E000F9BC0203E01AFFF9149B189A306CF9EA71
+:1013F000001A164AE1BC0000D303324BEA1BAA00D4
+:10140000FE795818930B484B970AB19C5E3DD50363
+:101410005EFDD703FFFF5824D401201DA36CFE7985
+:101420005824F20C0308FA0C0908109EE01EF0FF85
+:10143000A96BE21B0F001C4BB1ABFA0C090BE1BB13
+:101440000000D303F8C8FFDCEA18AA00FE7E581893
+:101450009D08FA0C030EF20C090EB19BC023D503B4
+:10146000F40C1518C060301CC9AFC0303FFCC02858
+:10147000300C2FFDD8020000D401202DA36CFE7A81
+:10148000581CF40C030BFA0C090B1699E019F0C563
+:10149000E419C0F0FB38001C302BF7E800181049A5
+:1014A000FB38000CFB3E000EF1EE1018FB3E000D69
+:1014B000F1EE1028338BF7E8003810494058A9683E
+:1014C000E2180F0010494048EE7B0000F7E80108E1
+:1014D00010494068B968E6183F001049FA0C09093C
+:1014E000E1BB0000D303F8C9FFE4EA19AA00FE78C3
+:1014F00058189109FA0C0308F40C0908B19BC02391
+:10150000D5032FEDD80A0000202DA36CFE7B581CBC
+:10151000F60C030AFA0C090A1499A1A9FA0C090994
+:10152000E1BA0000D303F8C9FFE4EA19AA00FE7883
+:1015300058189109FA0C0308F60C0908B19AC0234F
+:10154000D5032FED5EFD0000202DA36CFE7B581C03
+:10155000F60C030AFA0C090A1499A1C9FA0C090934
+:10156000E1BA0000D303F8C9FFE4EA19AA00FE7843
+:1015700058189109FA0C0308F60C0908B19AC0230F
+:10158000D5032FED5EFD0000FE7B5814580CC051B2
+:10159000760CA39C5E3DCFDB760CA58CCFE25EFD86
+:1015A000E07B86A0FE7A5860F40C002A740CA1CC73
+:1015B000950C740CA19C5E2D201BCFC15EFE00001B
+:1015C000D431169714953003F20616012016FE74D6
+:1015D0005860E80C0024680BA19BC0623013CE1F3A
+:1015E000C0373FFCD832B166E61600FF302CF9E573
+:1015F00000150C45A967E2170F000A478907581321
+:10160000C041680CA1AC890CD83A0000D401300963
+:101610003008EA188000100CFEB0F9DCD80A00008F
+:10162000D4211897F40C1510C040FEB0F92FAE8CE1
+:10163000D82AD70380000888D401F40C1510C060A4
+:10164000178C580CC030FEB0F927D80A80000894D7
+:10165000D421189516971496C0680E9CFEB0F948D0
+:101660002FF70ACC0C9CFE360001F80B1510CF6149
+:10167000D82AD703800008ECD42118961695149721
+:10168000C0680B3B0C9CFEB0F95D2FF60E9CFE373C
+:101690000001F80B1510CF61D82AD703800009404C
+:1016A000E0690018EA190000F60B001B16091898EB
+:1016B000580A5E0D133B201A10CBCFD15EFD0000FF
+:1016C000E0690100EA190000F20B00291898580A95
+:1016D0005E0D133B201A10CBCFD15EFD3009EA1905
+:1016E0008080120B1898580A5E0D1739201A10C9FD
+:1016F000CFD15EFDD40130193008EA188080100C7B
+:10170000FEB0F968D80AD703800009D0E5BC000014
+:10171000E06B0100EA1B0000F80A1601B68AF80A1D
+:101720001614B69AF80A160CB6AABD8CB6BC5EFDA5
+:10173000D401201D301A300B1A9CC73F1B8B580B4D
+:101740005F1C2FFDD8020000D421E0670104EA17D6
+:1017500000008E8C580CC071FEB0F82CAE0C300C12
+:10176000FEB0F8B4E0660080C0D85806C0F0FE3C79
+:101770000001AE0C300B5C7CFEB0F8FAFE36FF01C7
+:101780005C568E8C580CCF21DA2AD82A800007B0FC
+:10179000800008C88000096CD303FE7C1C00E06B4D
+:1017A0000A03EA1B5501990BE06B0A03EA1BAA0125
+:1017B000990BC008D401FEB0F5C3E0A000B9FEB09B
+:1017C000F48FD80A8000033C8000192C800000DCD4
+:1017D000D401201D300BE06A00FCEA1A80807409F5
+:1017E000A9D9F3EC109C500C318C4009F20C0A4A38
+:1017F0005C5A145BA96B5C7B308AEDBB000FC04266
+:10180000EC1B83805C7BA17B5C7B201ACF71A98B56
+:10181000208CCEC1129AE01AFF00144B500B304AB4
+:101820001A9BE06C00FCC67F2FFDD80AD42120ADA6
+:10183000E0671B00EA1700B70E9B300CFEB0FDBA44
+:10184000301A306B300CFEB0FDE90E9CFEB0F7CACA
+:10185000E0671D00EA178000301C5D173009300A70
+:10186000300BFE7C1800E0A001BDC021C008FE7C4A
+:101870001800E0A001C7E0A0009B4AAB161CC040C6
+:10188000161CC040C058305CC048302CC028303CCA
+:10189000300BFB6B002433FA508A507B506C301CA9
+:1018A000FB6C0016FB6B0015FB6C0014FACCFFEC14
+:1018B0001A9B3149190A16AA2049CFD1300CFEB023
+:1018C000FDDD300CFEB0FE22300CFEB0FE5FE066A7
+:1018D00007CCEA168000301C5D16302C5D17E067DF
+:1018E0001C24EA178000301B300C5D17301B301CA5
+:1018F0005D17301B303C5D17301B302C5D17300CF2
+:101900005D162F6DD82AD703800013B080001418FD
+:10191000800007E080001BE080001C00800019AC04
+:10192000007A12008000150880001588D42120ADAF
+:10193000E06707CCEA178000301C5D17E0661C24C6
+:10194000EA168000300B300C5D16300B301C5D1633
+:10195000300B303C5D16300B302C5D16300CE0A0A7
+:1019600001D1300C5D17300CFEB0FDF0300CFB6C7B
+:101970000024508C507C506CFB6C0016FB6C0015E6
+:10198000FB6C0014FACCFFEC1A9B3149190A16AA19
+:101990002049CFD1300CFEB0FD712F6DD82AD7036E
+:1019A00080001D008000154880001478D431205D2F
+:1019B000FACCFFF8E06B1DF4EA1B8000B709B928E8
+:1019C000170818A83FF73FF4E0661D84EA16800068
+:1019D0005D16E0A001CF501CE0651D98EA1580005F
+:1019E0005D15E0A001DF18905D165D153003300530
+:1019F0003006C2181830C1F4401B0A3BC1C416158A
+:101A0000F8000106EC0B141FE072D330EC0206481C
+:101A1000F6020349109A129B0A98EA09141FE0A0E3
+:101A200001591493580AC070400C141C5C4CE04CD3
+:101A30002711C12550030A920C91E0A0019B189533
+:101A4000E0A001B018960435C035023CCD445803DF
+:101A5000C031300CC178300CFACAFFF8F40C032BFB
+:101A6000062B083BF6041730F80717302FFC583CBC
+:101A7000CF435BF7E60C1700C050FACBFFF8F60730
+:101A8000032C2FBDD832D70380001CD080001D70DE
+:101A900080001DA0D4211897169630053004C07818
+:101AA0000F9B0F8CC08C18452FE72FF40C34CF936D
+:101AB0000A9CD822FE792800F80A1605A97A120A8B
+:101AC0003019F9DCC005F20C0949167BC100201B56
+:101AD000C130201BC130201BC140201BC150201B26
+:101AE000C170201BC170201BC1905EFF956995A934
+:101AF00095E995295EFD9559CFBB95699599CF9B41
+:101B000095599599CF6B956995A995D9CF3B9559DD
+:101B1000CFCB9569959995D9CEDB95599599CF6B92
+:101B2000EBCD40FEE06C1ED4EA1C8000E06E1EECA3
+:101B3000EA1E8000300A300B190719061905EFE676
+:101B40001003E7D3C002C1C1EA041603C1900C37E9
+:101B5000C090AF092014AD28CFD1EBD5C003C1216F
+:101B6000C0B82014AD2ACFE1EBD5C003C05030027D
+:101B700020150CC2CFD11C3CCE03E3CF80FE0C3726
+:101B8000CF700F3120150CC1CEBB0000D401303B0B
+:101B9000E06C1ECCEA1C8000FEB0FF7ED503FEB0D8
+:101BA000FE47FEB0F375FEB0F371C031FEB0F3DC5A
+:101BB000C008D70380001A948000182C8000028C83
+:101BC00080000288D401F80B1518C040FEB0F3CC99
+:101BD000D80AFEB0F3F7D80A80000364800003C07F
+:101BE000D4017828BD98CFE3A96BA1ABF94B004095
+:101BF000B16A990A782BB99BCFE3129BC0CCDA0A61
+:101C0000782BB99BCFE3780BA1AB990B782BB99BC1
+:101C1000CFE35EFD782AB99ACFE3991B782BB99B65
+:101C2000CFE35EFDD401FE791404720AFE7914D468
+:101C30007208A788CFC2E1B90000D3033048F00C86
+:101C40000028EA18AA00FE7E14589D08E01AFFF842
+:101C5000F7DBC003144BA7BBFE7A1404F40C092B6A
+:101C6000B199C023D503D80AD4013009300A303BDA
+:101C7000303CFEB0FCA7303CE0A00070D80AD7038F
+:101C800080001D58D401300CFE7B586C970C300935
+:101C9000300A303B303CFEB0FC95D80A800015C0BD
+:101CA000D401E0690118EA190000728C729A5C7A1A
+:101CB000E06B0184EA1B0000F1DCC006100B7258D7
+:101CC0005D18300CE06B09A0EA1B0000975CDA0A93
+:101CD000EBCD4080340C3007300EA17A5CFB5CFE0B
+:101CE0005CF7103EF2071300C053101EEE090147C7
+:101CF000A1AA201CCF310E991C98E3CD8080000052
+:101D0000E1BB0000D303300AEA1AAA00FE79145896
+:101D1000930AFE7A1400950CB19B5E3DD5035EFDDF
+:101D2000E0690000EA198000121CF9DCC00EF9EA33
+:101D300011ECFE7A1000A59BF40B092C5EFD00004F
+:101D40003009EA198000120B1898580A5E0D1739ED
+:101D5000201A10C9CFD15EFDFE7B5860F60C002B17
+:101D6000760CA19C5E3D760CA1AC970C5EFD00004C
+:101D7000D401FE7C1800E0A00019A17CD802D70392
+:101D800080001DA8D401300BFE7C1800FEB0FF447B
+:101D9000D80AD70380001C14300CE3BC00425EFD5F
+:101DA000E1BC00425EFC0000781B5EFB00001000FE
+:101DB0000000200000004000000080000000C00083
+:101DC000000100000001800000020000000300008C
+:101DD000000400000006000000080000000C0000E5
+:101DE00000100000002000000000000000000000C3
+:101DF00000000000007A120000B71B0000F424006D
+:101E00000002000080001D408000160C0000000051
+:101E1000000000000000000000000001800016200B
+:101E200080001638000000208000165080001678D0
+:101E300000000003800016A0000000000000000465
+:101E4000800016C00000000000000100800016DCC9
+:101E5000800016F4000000000000000000000000F8
+:101E60000000000000000000000000000000000072
+:101E70000000000000000000000000000000000062
+:101E80000000000000000000000000000000000052
+:101E90000000000000000000000000000000000042
+:101EA0000000000000000000000000000000000032
+:101EB0000000000000000000000000000000000022
+:101EC0000000000000000000000000002E002F00B5
+:101ED0003000000080001EF000000008000000DC60
+:0C1EE00000000100000001000000092AC1
+:101EF0008000082C0000000000000001000000002D
+:101F000011000000000300000000000000000000BD
+:101F100000000000000000000000000000000000C1
+:101F20000403090441544D454C000000444655202B
+:101F300041543332554333440000000080000FE425
+:101F4000800010088000100C800010AC80001E0083
+:101F500080001E0C80001E1880001E2480001E3091
+:101F600080001E3C80001E4880001E5480001E60C1
+:101F700080001E6C80001E7880001E8480001E90F1
+:101F800080001E9C80001EA880001EB480001EC021
+:101F90001201000200000040EB03E92F01010102E1
+:101FA0000001000009021200010100C03209040012
+:101FB000000000000000000000000054000000BC11
+:0C1FC000000000D0000000A8000000D4C9
+:040000058000000077
+:00000001FF
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/at32uc3d-isp_cfg-1.1.1.dat b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/at32uc3d-isp_cfg-1.1.1.dat
new file mode 100644
index 0000000..34a3dba
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/at32uc3d-isp_cfg-1.1.1.dat
@@ -0,0 +1 @@
+’ž káÿ× \ No newline at end of file
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/avr32.7z b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/avr32.7z
new file mode 100644
index 0000000..25113a9
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/avr32.7z
Binary files differ
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/program_at32uc3d-isp-1.1.1.cmd b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/program_at32uc3d-isp-1.1.1.cmd
new file mode 100644
index 0000000..77f7e00
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/program_at32uc3d-isp-1.1.1.cmd
@@ -0,0 +1,82 @@
+@echo off
+setlocal enableextensions enabledelayedexpansion
+
+: This command script programs the ISP (flash array), the ISP
+: configuration word (User page) and the general-purpose fuse bits.
+
+: Copyright (C) 2006-2008, Atmel Corporation All rights reserved.
+:
+: Redistribution and use in source and binary forms, with or without
+: modification, are permitted provided that the following conditions are met:
+:
+: 1. Redistributions of source code must retain the above copyright notice, this
+: list of conditions and the following disclaimer.
+:
+: 2. Redistributions in binary form must reproduce the above copyright notice,
+: this list of conditions and the following disclaimer in the documentation and/
+: or other materials provided with the distribution.
+:
+: 3. The name of ATMEL may not be used to endorse or promote products derived
+: from this software without specific prior written permission.
+:
+: THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED
+: WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND
+: SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
+: INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+: BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+: DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+: OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+: NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+: EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+echo.
+echo Performing a JTAG Chip Erase command.
+avr32program -p AVRONE chiperase -F
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+
+echo.
+echo Programming MCU memory from `at32uc3d-isp-1.1.1.hex'.
+avr32-objcopy -I ihex -O binary at32uc3d-isp-1.1.1.hex at32uc3d-isp-1.1.1.bin
+avr32program -p AVRONE program -finternal@0x80000000 -cint -e -v -O0x80000000 -Fbin at32uc3d-isp-1.1.1.bin
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+del at32uc3d-isp-1.1.1.bin
+
+echo.
+echo Programming ISP configuration word \(default for UC3D_EK i.e. Word2 == 0x929E0D6B and Word1 == 0xE11EFFD7\)
+avr32program -p AVRONE program -finternal@0x80000000 -cint -e -v -O0x808000F8 -Fbin at32uc3d-isp_cfg-1.1.1.dat
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+
+echo.
+echo Programming general-purpose fuse bits.
+avr32program -p AVRONE writefuses -finternal@0x80000000 gp=0xFFF5FFFF
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+
+echo.
+echo Resetting MCU.
+avr32program -p AVRONE run -R
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+
+color 27
+pause
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/program_at32uc3d-isp-1.1.1.sh b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/program_at32uc3d-isp-1.1.1.sh
new file mode 100644
index 0000000..811afdc
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.1/program_at32uc3d-isp-1.1.1.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+# This shell script programs the ISP (flash array), the ISP configuration words
+# (User page) and the general-purpose fuse bits.
+
+# Copyright (c) 2009 Atmel Corporation. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# 3. The name of Atmel may not be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# 4. This software may only be redistributed and used in connection with an Atmel
+# AVR product.
+#
+# THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+# EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+#
+
+
+echo
+echo Performing a JTAG Chip Erase command.
+avr32program chiperase
+
+echo
+echo Programming MCU memory from \`at32uc3c-isp-H.hex\'.
+avr32-objcopy -I ihex -O binary at32uc3d-isp-1.1.1.hex at32uc3d-isp-1.1.1.bin
+avr32program program -finternal@0x80000000,128Kb -cint -e -v -O0x80000000 -Fbin at32uc3d-isp-1.1.1.bin
+rm -f at32uc3d-isp-1.1.1.bin
+
+echo
+echo Programming ISP configuration words \(default for EVK1101 i.e. Word2 == 0x929E0D6b and Word1 == 0xE11EFFD7\)
+avr32program program -finternal@0x80000000 -cint -e -v -O0x808000F8 -Fbin at32uc3d-isp_cfg-1.1.1.dat
+
+echo
+echo Programming general-purpose fuse bits.
+avr32program writefuses -finternal@0x80000000 gp=0xFFF7FFFF
+
+echo
+echo Resetting MCU.
+avr32program reset
+
+pause
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/Readme.txt b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/Readme.txt
new file mode 100644
index 0000000..c46cc52
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/Readme.txt
@@ -0,0 +1,595 @@
+avr32.7z is header package used to compile at32uc3d-isp-1.1.2.hex project on IAR
+
+IAR Assembler for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\aavr32.exe
+05/11/2010 10:20:02, 4440064 bytes
+
+IAR C/C++ Compiler for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\iccavr32.exe
+05/11/2010 10:22:16, 9531392 bytes
+
+IAR Java to C converter for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\javatoc.exe
+05/11/2010 10:19:04, 163840 bytes
+
+IAR Library Builder
+4.61S (4.61.19.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\xar.exe
+08/12/2009 17:48:46, 163840 bytes
+
+IAR XLIB
+4.61S/386 (4.61.19.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\xlib.exe
+08/12/2009 17:49:48, 532480 bytes
+
+IAR XLINK
+4.61S (4.61.19.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\xlink.exe
+08/12/2009 19:05:14, 2326528 bytes
+
+WDREG Installation Utility 10.10
+10.10 (10.1.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\drivers\Jungo\win32\wdreg.exe
+04/11/2010 18:09:20, 286720 bytes
+
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\drivers\Jungo\wow64\system64.exe
+04/11/2010 18:09:20, 45568 bytes
+
+WDREG Installation Utility 10.10
+10.10 (10.1.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\drivers\Jungo\wow64\wdreg.exe
+04/11/2010 18:09:20, 145920 bytes
+
+IAR CSpyBat
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\CSpyBat.exe
+14/09/2010 01:34:10, 757760 bytes
+
+IAR Build Utility
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\IarBuild.exe
+14/09/2010 01:32:54, 106496 bytes
+
+IAR Embedded Workbench IDE
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\IarIdePm.exe
+14/09/2010 01:32:34, 487424 bytes
+
+IAR C-SPY AVR ONE! Driver for Atmel AVR32
+3.30.2/W32 [Beta] [Beta] (3.30.2.9999)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\avr32avrone.dll
+14/10/2010 13:04:46, 2965504 bytes
+
+IAR C-SPY Batch Library Support Plug-in for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\avr32bat.dll
+05/11/2010 10:18:14, 503808 bytes
+
+IAR C-SPY JTAGICE mkII Driver for Atmel AVR32
+3.30.2/W32 [Beta] [Beta] (3.30.2.9999)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\avr32jtagicemkII.dll
+14/10/2010 13:02:48, 2945024 bytes
+
+IAR C-SPY Library Support Plug-in for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\avr32LibSupport.dll
+05/11/2010 10:20:06, 602112 bytes
+
+IAR LibSupport Plug-in Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\avr32LibSupport.ENU.dll
+14/09/2010 01:26:30, 10240 bytes
+
+IAR C-SPY Processor Descriptor for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\avr32proc.dll
+05/11/2010 10:18:02, 1814528 bytes
+
+IAR C-SPY Simulator Driver for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\avr32sim.dll
+05/11/2010 10:21:10, 2678784 bytes
+
+IAR Workbench Target Descriptor for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\swtdavr32.dll
+05/11/2010 10:17:40, 933888 bytes
+
+IAR Workbench Target Descriptor, AVR ONE!, for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\swtdavr32avrone.dll
+05/11/2010 10:17:32, 671744 bytes
+
+IAR Workbench Target Descriptor, JTAGICE mkII, for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\swtdavr32jtagicemkII.dll
+05/11/2010 10:18:12, 675840 bytes
+
+IAR Workbench Target Descriptor, Simulator for Atmel AVR32
+3.31.1 (3.31.1.40059)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\swtdavr32sim.dll
+05/11/2010 10:19:00, 434176 bytes
+
+wdapi 10.10
+10.10 (10.1.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\win32\wdapi1010.dll
+04/11/2010 18:09:20, 143360 bytes
+
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\win32\WinDriverStub.dll
+04/11/2010 18:09:20, 8192 bytes
+
+wdapi 10.10
+10.10 (10.1.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\wow64\wdapi1010.dll
+04/11/2010 18:09:20, 143360 bytes
+
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\bin\wow64\WinDriverStub.dll
+04/11/2010 18:09:20, 8192 bytes
+
+Driver Install Frameworks for API library module
+2.1 (2.1.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\drivers\Jungo\win32\difxapi.dll
+04/11/2010 18:09:20, 319456 bytes
+
+µC/OS-II KA Plug-in for C-SPY DLL
+2.50 2007-09-10 (2.5.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.dll
+05/11/2010 09:34:42, 471040 bytes
+
+IAR STK600 Plug-in
+1.0.3.0 (1.0.3.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\avr32\plugins\Stk600Plugin\Stk600Plugin.dll
+04/11/2010 18:09:34, 471040 bytes
+
+IAR CSpyBat Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\CSpyBat.ENU.dll
+14/09/2010 01:26:24, 5632 bytes
+
+IAR C-SPY Debugger GUI
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\DebuggerGui.dll
+14/09/2010 01:40:00, 1937408 bytes
+
+IAR C-SPY Debugger GUI Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\DebuggerGui.ENU.dll
+14/09/2010 01:26:28, 69632 bytes
+
+IAR Find In Files
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\FindInFiles.dll
+14/09/2010 01:31:08, 352256 bytes
+
+IAR Find In Files Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\FindInFiles.ENU.dll
+14/09/2010 01:26:28, 4608 bytes
+
+IAR Build Utility Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\IarBuild.ENU.dll
+14/09/2010 01:26:28, 3072 bytes
+
+IAR Embedded Workbench IDE Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\IarIdePm.ENU.dll
+14/09/2010 01:26:26, 479232 bytes
+
+IAR IDE Framework
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\IdeFramework.dll
+14/09/2010 01:27:02, 1056768 bytes
+
+IAR IDE Framework Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\IdeFramework.ENU.dll
+14/09/2010 01:26:32, 4096 bytes
+
+IAR C-SPY Debugger Kernel
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\kernel.dll
+14/09/2010 01:35:32, 2580480 bytes
+
+IAR C-SPY Debugger Kernel Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\kernel.ENU.dll
+14/09/2010 01:26:32, 13824 bytes
+
+IAR Log Window
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\LogWindow.dll
+14/09/2010 01:30:24, 274432 bytes
+
+IAR Log Window Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\LogWindow.ENU.dll
+14/09/2010 01:26:26, 10240 bytes
+
+IAR Project Manager Engine
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\ProjectManagerEngine.dll
+14/09/2010 01:31:36, 1355776 bytes
+
+IAR Project Manager Engine Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\ProjectManagerEngine.ENU.dll
+14/09/2010 01:26:22, 12800 bytes
+
+IAR Project Manager Gui
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\ProjectManagerGui.dll
+14/09/2010 01:38:56, 872448 bytes
+
+IAR Project Manager Gui Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\ProjectManagerGui.ENU.dll
+14/09/2010 01:26:20, 163840 bytes
+
+IAR Text Editor
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\TextEditor.dll
+14/09/2010 01:33:00, 806912 bytes
+
+IAR Text Editor Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\TextEditor.ENU.dll
+14/09/2010 01:26:14, 32768 bytes
+
+Shared Library for Xerces-C Version 1.5.1
+1, 5, 1 (1.5.1.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\xerces-c_1_5_1.dll
+14/09/2010 00:37:18, 1257472 bytes
+
+IAR XmlLib
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\bin\XmlLib.dll
+14/09/2010 01:23:06, 102400 bytes
+
+IAR Code Coverage Plug-in
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\CodeCoverage\CodeCoverage.dll
+14/09/2010 01:33:46, 507904 bytes
+
+IAR Code Coverage Plug-in Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\CodeCoverage\CodeCoverage.ENU.dll
+14/09/2010 01:26:30, 10752 bytes
+
+IAR ORTI RTOS Plug-in
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\Orti\Orti.dll
+14/09/2010 01:36:12, 647168 bytes
+
+IAR ORTI RTOS Plug-in Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\Orti\Orti.ENU.dll
+14/09/2010 01:26:24, 8704 bytes
+
+IAR Profiling Plug-in
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\Profiling\Profiling.dll
+14/09/2010 01:30:04, 507904 bytes
+
+IAR Profiling Plug-in Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\Profiling\Profiling.ENU.dll
+14/09/2010 01:26:22, 9728 bytes
+
+IAR Stack Plug-in
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\Stack\Stack.dll
+14/09/2010 01:29:08, 536576 bytes
+
+IAR Stack Plug-in Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\Stack\Stack.ENU.dll
+14/09/2010 01:26:18, 7680 bytes
+
+IAR Symbols Plug-in
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\SymList\SymList.dll
+14/09/2010 01:28:54, 487424 bytes
+
+IAR Symbols Plug-in Language Specific Resources
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\common\plugins\SymList\SymList.ENU.dll
+14/09/2010 01:26:16, 3072 bytes
+
+Metadata dll for package 'avr32_asm_lib_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_asm_lib_all.dll
+09/11/2010 09:37:26, 94208 bytes
+
+Metadata dll for package 'avr32_asm_lib_src'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_asm_lib_src.dll
+09/11/2010 09:37:34, 94208 bytes
+
+Metadata dll for package 'avr32_atmel_include_files_generated_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_atmel_include_files_generated_all.dll
+09/11/2010 09:37:46, 118784 bytes
+
+Metadata dll for package 'avr32_autorun_release'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_autorun_release.dll
+09/11/2010 09:37:30, 90112 bytes
+
+Metadata dll for package 'avr32_bin_release'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_bin_release.dll
+09/11/2010 09:37:14, 94208 bytes
+
+Metadata dll for package 'avr32_bin_release_cs'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_bin_release_cs.dll
+09/11/2010 09:37:34, 90112 bytes
+
+Metadata dll for package 'avr32_compiler_support_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_compiler_support_all.dll
+09/11/2010 09:37:40, 90112 bytes
+
+Metadata dll for package 'avr32_created_infocenter_enu_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_created_infocenter_enu_all.dll
+09/11/2010 09:37:16, 94208 bytes
+
+Metadata dll for package 'avr32_cspy_release'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_cspy_release.dll
+09/11/2010 09:37:24, 90112 bytes
+
+Metadata dll for package 'avr32_devices_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_devices_all.dll
+09/11/2010 09:37:46, 94208 bytes
+
+Metadata dll for package 'avr32_dlib_extra_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_dlib_extra_all.dll
+09/11/2010 09:37:30, 98304 bytes
+
+Metadata dll for package 'avr32_dlib_extra_src'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_dlib_extra_src.dll
+09/11/2010 09:37:36, 98304 bytes
+
+Metadata dll for package 'avr32_dlib_generated_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_dlib_generated_all.dll
+09/11/2010 09:37:26, 102400 bytes
+
+Metadata dll for package 'avr32_dlib_generated_src'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_dlib_generated_src.dll
+09/11/2010 09:37:32, 159744 bytes
+
+Metadata dll for package 'avr32_doc_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_doc_all.dll
+09/11/2010 09:37:16, 94208 bytes
+
+Metadata dll for package 'avr32_ew_release'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_ew_release.dll
+09/11/2010 09:37:36, 90112 bytes
+
+Metadata dll for package 'avr32_hlp_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_hlp_all.dll
+09/11/2010 09:37:26, 90112 bytes
+
+Metadata dll for package 'avr32_iar_device_files_generated_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_iar_device_files_generated_all.dll
+09/11/2010 09:37:38, 110592 bytes
+
+Metadata dll for package 'avr32_infocenter_templates_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_infocenter_templates_all.dll
+09/11/2010 09:37:20, 98304 bytes
+
+Metadata dll for package 'avr32_installer_release'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_installer_release.dll
+09/11/2010 09:37:22, 90112 bytes
+
+Metadata dll for package 'avr32_lib_tools_src'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_lib_tools_src.dll
+09/11/2010 09:37:22, 98304 bytes
+
+Metadata dll for package 'avr32_qscards_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_qscards_all.dll
+09/11/2010 09:37:12, 90112 bytes
+
+Metadata dll for package 'avr32_rtlib_release'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_rtlib_release.dll
+09/11/2010 09:37:16, 102400 bytes
+
+Metadata dll for package 'avr32_send_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_send_all.dll
+09/11/2010 09:37:20, 102400 bytes
+
+Metadata dll for package 'avr32_stk600_driver_release'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_stk600_driver_release.dll
+09/11/2010 09:37:24, 90112 bytes
+
+Metadata dll for package 'avr32_stk600_plugin_release'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_stk600_plugin_release.dll
+09/11/2010 09:37:10, 90112 bytes
+
+Metadata dll for package 'avr32_windriver_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_windriver_all.dll
+09/11/2010 09:37:34, 94208 bytes
+
+Metadata dll for package 'avr32_xlink_all'
+3.31.2 (3.31.2.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\avr32_xlink_all.dll
+09/11/2010 09:37:44, 94208 bytes
+
+Metadata dll for package 'common_vcredistx86_2005_sp1_atl_all'
+6.0.2900.2180 (6.0.2900.2180)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\common_vcredistx86_2005_sp1_atl_all.dll
+09/11/2010 09:37:12, 90112 bytes
+
+Metadata dll for package 'common_vcredistx86_2008_sp1_atl_all'
+9.0.30729.4148 (9.0.30729.4148)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\common_vcredistx86_2008_sp1_atl_all.dll
+09/11/2010 09:37:36, 90112 bytes
+
+Metadata dll for package 'common_vcredistx86_export_all'
+1.0.0.0 (1.0.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\common_vcredistx86_export_all.dll
+09/11/2010 09:37:22, 90112 bytes
+
+Metadata dll for package 'IDE_CodeCoverageRelease_plugin'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_CodeCoverageRelease_plugin.dll
+09/11/2010 09:37:48, 90112 bytes
+
+Metadata dll for package 'IDE_CSpyBatRelease_exe_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_CSpyBatRelease_exe_langdll.dll
+09/11/2010 09:37:24, 90112 bytes
+
+Metadata dll for package 'IDE_DebuggerGuiRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_DebuggerGuiRelease_dll_langdll.dll
+09/11/2010 09:37:40, 90112 bytes
+
+Metadata dll for package 'IDE_FindInFilesRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_FindInFilesRelease_dll_langdll.dll
+09/11/2010 09:37:44, 90112 bytes
+
+Metadata dll for package 'IDE_IarBuildRelease_exe_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_IarBuildRelease_exe_langdll.dll
+09/11/2010 09:37:38, 90112 bytes
+
+Metadata dll for package 'IDE_IarIdePmRelease_exe_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_IarIdePmRelease_exe_langdll.dll
+09/11/2010 09:37:26, 90112 bytes
+
+Metadata dll for package 'IDE_IdeFrameworkRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_IdeFrameworkRelease_dll_langdll.dll
+09/11/2010 09:37:28, 90112 bytes
+
+Metadata dll for package 'IDE_kernelRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_kernelRelease_dll_langdll.dll
+09/11/2010 09:37:48, 90112 bytes
+
+Metadata dll for package 'IDE_LibSupportRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_LibSupportRelease_dll_langdll.dll
+09/11/2010 09:37:28, 90112 bytes
+
+Metadata dll for package 'IDE_LogWindowRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_LogWindowRelease_dll_langdll.dll
+09/11/2010 09:37:28, 90112 bytes
+
+Metadata dll for package 'IDE_MiscRelease_misc'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_MiscRelease_misc.dll
+09/11/2010 09:37:40, 90112 bytes
+
+Metadata dll for package 'IDE_OrtiRelease_plugin'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_OrtiRelease_plugin.dll
+09/11/2010 09:37:20, 90112 bytes
+
+Metadata dll for package 'IDE_PlatformPackagesRelease_delivery'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_PlatformPackagesRelease_delivery.dll
+09/11/2010 09:37:18, 90112 bytes
+
+Metadata dll for package 'IDE_Platform_release'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_Platform_release.dll
+09/11/2010 09:37:30, 90112 bytes
+
+Metadata dll for package 'IDE_ProfilingRelease_plugin'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_ProfilingRelease_plugin.dll
+09/11/2010 09:37:48, 90112 bytes
+
+Metadata dll for package 'IDE_ProjectManagerEngineRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_ProjectManagerEngineRelease_dll_langdll.dll
+09/11/2010 09:37:32, 90112 bytes
+
+Metadata dll for package 'IDE_ProjectManagerGuiRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_ProjectManagerGuiRelease_dll_langdll.dll
+09/11/2010 09:37:32, 90112 bytes
+
+Metadata dll for package 'IDE_SelfTestRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_SelfTestRelease_dll_langdll.dll
+09/11/2010 09:37:42, 90112 bytes
+
+Metadata dll for package 'IDE_StackRelease_plugin'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_StackRelease_plugin.dll
+09/11/2010 09:37:18, 90112 bytes
+
+Metadata dll for package 'IDE_SymListRelease_plugin'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_SymListRelease_plugin.dll
+09/11/2010 09:37:42, 90112 bytes
+
+Metadata dll for package 'IDE_TextEditorRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_TextEditorRelease_dll_langdll.dll
+09/11/2010 09:37:44, 90112 bytes
+
+Metadata dll for package 'IDE_XercesXMLRelease_dll_langdll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_XercesXMLRelease_dll_langdll.dll
+09/11/2010 09:37:22, 90112 bytes
+
+Metadata dll for package 'IDE_XmlLibRelease_dll'
+5.6.4.1675 (5.6.4.1675)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\IDE_XmlLibRelease_dll.dll
+09/11/2010 09:37:42, 90112 bytes
+
+Metadata dll for package 'lms_init_media'
+1.0.0 (1.0.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\lms_init_media.dll
+09/11/2010 09:37:18, 90112 bytes
+
+Metadata dll for package 'lms_init_release'
+1.0.0 (1.0.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\lms_init_release.dll
+09/11/2010 09:37:30, 90112 bytes
+
+Metadata dll for package 'lms_license_support_release'
+1.0.1 (1.0.1.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\lms_license_support_release.dll
+09/11/2010 09:37:12, 90112 bytes
+
+Metadata dll for package 'lms_safenet_dongle_drivers_media'
+7.5.0 (7.5.0.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\lms_safenet_dongle_drivers_media.dll
+09/11/2010 09:37:44, 90112 bytes
+
+Metadata dll for package 'lms_utilities_release'
+1.1.1 (1.1.1.0)
+C:\Program Files\IAR Systems\Embedded Workbench 5.6\install-info\lms_utilities_release.dll
+09/11/2010 09:37:40, 94208 bytes \ No newline at end of file
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/at32uc3d-isp-1.1.2.bin b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/at32uc3d-isp-1.1.2.bin
new file mode 100644
index 0000000..6c52313
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/at32uc3d-isp-1.1.2.bin
Binary files differ
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/at32uc3d-isp-1.1.2.hex b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/at32uc3d-isp-1.1.2.hex
new file mode 100644
index 0000000..3929490
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/at32uc3d-isp-1.1.2.hex
@@ -0,0 +1,503 @@
+:0200000480007A
+:10000000E1B80000F1D8C2C35818C0A0FEC8FFEE86
+:100010003009EA190061E06D0DB4D041D603300813
+:10002000FE791C00E06A00FCEA1A8080FE7B140066
+:100030007000E061504BEA1149537402E06301071C
+:100040000494C78CC141E7D2C210E043E11EC0F165
+:10005000EDB20009C0C3F6F30180E0642317087312
+:10006000C131EDB30003C3830230C3C1C54C91015C
+:10007000E06D0DCCD353FEC00076E3B00001E0A0EC
+:100080000D4BE0A00D7FEDB20008C262E06A00F8FF
+:10009000EA1A80807402E06301070494C4BCCE7144
+:1000A000E7D2C22FE043494FCE21E7D2C108E04357
+:1000B0000033CDD2FE7A2800E6041605A974080A9A
+:1000C0007584E013001FE8030A44E7D2C201065416
+:1000D000EDB40000CCC20230C051C1DC30083000A9
+:1000E00091003000EA100061E3B000003000300100
+:1000F0003002300330043005300630073008300954
+:10010000300A300B300C300D300EE3B00001E3B09C
+:10011000004248CF3002EA1255009302EE12FF006F
+:1001200093021C9FE8051200EA051117E605094530
+:100130000A54E04400FFFE9BFFF758045EF4000001
+:1001400080002000308A310CFE6B00047609AD99E6
+:10015000C1837609A589C553FE6A08003019763E29
+:10016000A19EC5727608A198C542740BAFCB950BC2
+:10017000FE6B00049749975C740CAFAC950CC6D825
+:10018000FE690220930C930AFE6901307208A3985D
+:10019000C042E0A0019FC6187208A388C042E0A038
+:1001A0000261C5B87208A198C092FE6801C0700EC5
+:1001B000A19EC042E0A001E6C508E06E0940EA1E2B
+:1001C00000007D08720EA58EC08293CA720CA19C9D
+:1001D000C4435838C421C0F8720EA59ECBB293CC4C
+:1001E000720CA38CC3A35818C041E0A002A7C35847
+:1001F0005848C331E86C0000FE6B01C097CCC2D8F0
+:10020000971AE0A00555E0A00107E0A0014FC258F1
+:10021000763EA59EC1227608A598C0F27408AFC8A4
+:100220009508FE6A08007418AF98C043760AA19A30
+:10023000CF92974C9759C118741BA38BC0E2740CD2
+:10024000AFCC950C302C952C740CAFAC950C741C69
+:10025000F9DCC161E0A00CB2FE6C0800786BD6033B
+:10026000800004D080000660800005808000073890
+:1002700080000CAC80000414800004A880001BB82F
+:10028000E1BC0000D3035EFC5EFF0000D421E0A0CF
+:100290000CE7CF7F1897FE6608006C0CAFDC8D0C66
+:1002A0006C0C300AE06B0220E06C0144EA1C800018
+:1002B000E0A00D326C0CB9BC8D0C6C0CB9CC8D0C63
+:1002C0006C0CADCC8D0C6C0CADAC8D0C6C0CAFBC57
+:1002D0008D0C6C0CAFCC8D0C6C0C6C1BAF9BCFE2FF
+:1002E000E0690940EA190000300A300BF2EB002007
+:1002F000F2EB0028F2EB0030F2EB00386CCB2E0969
+:100300008DC9FE6C0000780BADCB990B780BE81B08
+:100310000C00990B6C0CA1BC8D0C6C0CAFAC8D0C53
+:10032000FE7C1588780BA1AB990BB197C023D50340
+:10033000D82AD70380001C5C80001D14D421CA1F5A
+:100340001897FE6C0800780BAFDB990B780BADCBE0
+:10035000990BE0A00C93B197C023D503D82AD703FB
+:1003600080001C78D421C8DF1897FE6608006C0C4A
+:10037000AFCC8D0C6C1BAF9BCFE2FE6C0000780BFA
+:10038000A9CB990BE0A00494C46CC8FC308CFE6B24
+:100390000000976C301BFE6A0000956B310AFE6905
+:1003A0000000936A932C304C932C933B932A6C0C53
+:1003B000AFAC8D0CB197C023D503D82A80000CAC0C
+:1003C000FE6C0800780BAFCB990BFE6C0000780B2D
+:1003D000A9AB990B5EFD0000FE6B0000760AA7DA60
+:1003E000970A760AE01AFF80F9DCC007144C970CD4
+:1003F000760CA7BC970C5EFDFE6B0000760CF9DC5A
+:10040000C0075EFCE06A0940EA1A0000952CB46B54
+:100410005EFD0000D401FE6C0000780BE01BFF8045
+:10042000990B780BA7BB990BFE6C0100780B308AF7
+:100430003409F20A0C4AE0690400F4090D4AE01B91
+:10044000E68B3FF9F20A001AF4091200F20A111CB5
+:10045000A56AE21A1974144B990BE06C0940EA1C66
+:100460000000F8CBFFBC998B789BE41B8000999B24
+:10047000FE6C0000787BA1AB997B300CEA1C01007C
+:10048000FE6B01F097CCCFDEFE6B01F0304A970A8D
+:10049000302A970AE06B1000FE6A0000956BB19C51
+:1004A000C023D503D80A0000301CFE6B0220970C35
+:1004B000302CFE6B0160970C300CE06B0940EA1B9E
+:1004C0000000974C975CB66CF74C00405EFD000056
+:1004D000D421E0670940EA1700006F0C580CC030C7
+:1004E000C5EDCE3FFE6601F0FE65016030446E9CB6
+:1004F000F9DCC00F588CC090305CEF4C0040E86CC9
+:1005000000008D0C8B04D82AEEEA0044AF1BF9DB07
+:10051000C0105CCCAE1C8EAC5CCCAE2CF9DAC0103A
+:100520005CCCAE3CE0A0051ACE808B04E06C09C424
+:10053000EA1C0000300B0F8AA98AC0F28EEAF5DAB5
+:10054000C006F40915105F0AB88AB81BB82B302C06
+:10055000EF4C0040C16CD82A8EBA580AC031CEDCAC
+:10056000D82AB81BB82B301CEF4C004031078B0742
+:10057000C88E8D07B19CC023D503D82A80000F58A0
+:10058000D431E0630280EA1380005D133017FE6B04
+:1005900001F097C7B19CC023D503E0660940EA1675
+:1005A00000006D0C583CC041CFACC7FFD83A8CEC72
+:1005B000E06509C4EA1500008AA418245C74C1F13E
+:1005C0000B8B580BC031CD5CD83A30028A9B160C8D
+:1005D0008CBB163CC0656C5C580CC0305D1CC031D7
+:1005E000AA82C1188AAC8A9B180BAA1BAA228CE487
+:1005F000F9D4C006F80B15105F0CAA8CE04400413A
+:10060000F9B404405D13FE6B0130760AA38AC08200
+:10061000B19CC023D503304CED4C0040D83A6C2936
+:100620008AAB1609089BECCEFFBC5804C0501338A7
+:10063000201B1CC8CFD18AAB080BAA2B6C9BE01BDC
+:100640008000E9D4C00F16448D94FE6B013097C72B
+:10065000FE6B01F09707B19CC023D503D83A000088
+:10066000D431E0670940EA1700006F0CFE6601F024
+:10067000E86500003054581CC0C0582CC030584C9D
+:10068000C031C8DCC048EF4400408D05C0EFD83A07
+:100690006E9BF7DBC00FE06309C4EA13000086AC71
+:1006A000189A8EE9F80B00081039C044F20C010BBF
+:1006B0005C7BEEC9FFBC6E2C180A169C149E580B6E
+:1006C000C0501338201C1CC8CFD186AC160CA62CE9
+:1006D0005C7CFE6201603021E04B0040C061869B83
+:1006E000180B8EBA143BC0F5AE6C6E5C580CC08013
+:1006F0005D1CC061EF4400408D058501D83A85013D
+:10070000C1CCD83A8EEBF80B1900C0C16E5C580C06
+:10071000CF205D1CCF0086AC869B180BA61B300C2F
+:10072000A62C850131078507FEB0FDAC8D07B19C75
+:10073000C023D503D83A0000D401E06C0940EA1C7C
+:100740000000303BF94B0040789BE01B8000999BF8
+:10075000FEB0FD98FE6B0160301A970AFE6901F049
+:10076000930A308A970A930AB19CC023D503D80A0A
+:10077000D401304CE06B0940EA1B0000F74C00400C
+:10078000FEB0FD80310BFE6A0160950BFE6A01F040
+:10079000950BB19CC023D503D80A0000D401E06BAF
+:1007A0000940EA1B0000764C580CC0205D1CD80A9A
+:1007B000FE6C140C780BE06A1DA0EA1A8000F7DBCF
+:1007C000C004F40B032CA98C5EFC0000FE6A14002C
+:1007D0007409A7C9340BF7EC006C124C950C5EFD44
+:1007E000D421E0670838EA178000E06B07CCEA1BE9
+:1007F0008000E06AE1C1EA1A00E4143CC123E06A27
+:10080000C381EA1A01C9143C301CC0625D1B3FFB66
+:10081000311C5D17D82A5D1B3FFB310C5D17D82AB0
+:10082000300C5D1B3FFB311C5D17D82AFE6B140892
+:10083000760CA19CCFC25EFDD42118951697E06678
+:100840000008EA160000F0160000FE6C1404780B95
+:10085000E01BFFC0EBD5C00616455807C0A6E01543
+:1008600000FFE415FF000A9BEBD7C010F7E51085E9
+:10087000EBD5C018EA15A5009905781CE21C000C00
+:100880008D1CF0160000D82AFE6B1408760CF9DCDB
+:10089000C0815EFCD4013FFB309CCCFFD80A000035
+:1008A000D401F60A1518304AF9BA0005189B149CB1
+:1008B000CC4FD80AD42118961697C7BF0E9BA39C7D
+:1008C000B9360C9CCEEFD82AD42118973006308543
+:1008D00020150E9B0A9CCEFFE06B0008EA1B00006F
+:1008E000761C18465805CF519716D82AFE6B14145B
+:1008F0007618760A30091449F9DCC006EDBC00050B
+:10090000F2081730F00C0A48A1985F3C5EFC00002A
+:10091000D42118971696F7DCC006308CC8EFEC0C83
+:100920001518C0400E9CCE3FD822DA2AD401F60A10
+:100930001518C061F9DCC006189B307CC7EFD80AD7
+:10094000D401F60A1518300BC030CE3FD80ACEFFBE
+:10095000D80A0000D401189B30CCFEB0FF6FFE6BAC
+:100960001408760CF9DCC0A1D8020000D421169737
+:100970003016189B302CFEB0FF61EE0C1518C0C06D
+:10098000E0670008EA1700006E153FFCCE4F18968E
+:100990006E1C18458F150C9CD8220000D4013FFB1B
+:1009A00030FCFEB0FF4BFE6B1408760CF9DCC0A1E6
+:1009B000D8020000D42118973FFB30ECFEB0FF3E78
+:1009C000EE0C1518F9BC0001C020CE9FD822000003
+:1009D000D671204D30013002FE6C140C78093008BD
+:1009E000EA188000E06E1DA0EA1E8000F3D9C00462
+:1009F000FC09032C18085028405616970C0A149529
+:100A0000300CEA1C80001836C0831036C0B3300C9E
+:100A1000EA1C80801836C0625C36160618060C97F1
+:100A20001896E06C0101EA1C8080183AC063E0650A
+:100A30000100EA158080C098301CEA1C8080183ABA
+:100A4000C0421438F00517300A9CA1CCE01CFFFC12
+:100A5000E01CFFF8503CE9D5C003C0E8580BC0507B
+:100A6000300CCA9F661C18423FFB30DCFEB0FEE62D
+:100A7000049C66121842E0630008EA1300000A367C
+:100A8000E08200BB3FFB303CFEB0FED8661C184243
+:100A90000C99E019FF00F2CCFF00403AF40C0D4B2A
+:100AA0000A9CE01CFF0018395F2AF9D6C008C26012
+:100AB0000C98E018FFF8C058720C12AC720C12AC13
+:100AC0001039CFB3FDD6C003C190300C1336FA0CE9
+:100AD0000B062FFC1C3CCFB3588CC0620F39FA0CAC
+:100AE0000B092FFCCFAB109640391238C062400979
+:100AF0000CA940190CA9C0283011A39BEC0C1603BB
+:100B0000181B303C0E6C187CC040202CC0B0C1A813
+:100B1000169C580CC2700F0B0CAB0F0B0CAB201CAF
+:100B2000CF9B169C580CC1E0300B0F29FA0B0A1909
+:100B30002FFB584BCFB340090CA940190CA9201C1E
+:100B4000CF2B169CC0D8300B0F39FA0B0B092FFB9B
+:100B5000588BCFB340090CA940190CA9201C580C84
+:100B6000CF31F40C1518C240E20C1518C030089CA7
+:100B7000C098300CC0580F3BFA0C0B0B2FFC083CF4
+:100B8000CFB30A995804C061C108133BFA0C0B0B90
+:100B90002FFC588CCFB3400B0CAB401B0CABC05898
+:100BA000720C12AC720C12ACF9D9C008CFA1301C77
+:100BB000EA1C80801836FB3B001BFE92FF51580B4D
+:100BC000C070300B3FFCFEB0FED3661C18423FFBEA
+:100BD000301CFEB0FE33049C66121842402B1636C1
+:100BE000FE93FF4B5C360E06300CEA1C8080180624
+:100BF0000C971896C41B8712405C2FCDDC72000046
+:100C0000D401E06A00B4EA1A000015895809C0212D
+:100C1000D80AE06A00A8EA1A00007418700913C81C
+:100C2000F00C1800CF6295297418700E1DB92FEEC4
+:100C3000FDD950005CC9202E5C791C09C048118E7A
+:100C40001C08952874281238CE42119E584ECF8128
+:100C500011AEFC0C1800CF4111BEFC0B1800CF01E7
+:100C6000DA0A0000D4211897300BCCBFC021D82A53
+:100C7000E06C00A8EA1C0000781B761CF8070F8BBC
+:100C8000761C5D1CDA2A0000D4211897CBAFC02156
+:100C9000D82AE06C00A8EA1C0000781B761CF80734
+:100CA0000F8BF01B00005F1CD8220000D421E067EE
+:100CB00000A8EA170000E06600B4EA1600000D8CF8
+:100CC000580CC0C03005C0580A9CCCDF2FF55C55CD
+:100CD0006E1C780B17CC1835CF85300CAC8CE06CC3
+:100CE0000100AE1CD82A0000D401E06B0940EA1BC9
+:100CF0000000969CF9DCC007FEB0FB70D80AD70351
+:100D0000800003D8D421E0670940EA1700008E9BD9
+:100D1000F3DBC008E0680090EA180000E06A040411
+:100D2000EA1A8000F60C1608201CC060201CC0E0E7
+:100D3000201CC210D82A700C198B5D1A8EBC8EEB49
+:100D4000F60C1900C022AE6CDA2A700CF93B0011C7
+:100D50001639C025D82A701BF609033C19BB2FECA5
+:100D6000F9DB50005CCB5C7B202C5D1A302C6E2BA9
+:100D7000B69CCE5BE06C0014EA1C00005C5B167B4A
+:100D8000C060201BC070201BC180D82A304B2E4C65
+:100D9000CD5B305BF8C9FFE03008F208070E5CCE8F
+:100DA000F8080016AC1E2FF81638CF853029F20B44
+:100DB000001BB88B5C5BCC2B30CBF8C9FFD8CEDBEB
+:100DC000D431E0660940EA1600000D8CE06500B4FD
+:100DD000EA1500000B8BE06700A8EA170000EDBCE5
+:100DE0000007C4828CBAF4091510C021D83AF9DC86
+:100DF000C005E0640404EA148000580CC1A10D9CF5
+:100E0000187CC060206CC0C0202CC0C0D83A582AC2
+:100E1000C020D83A302BEECCFFFE5D14DA3AC73F43
+:100E2000D832581AC020D83A301B0A9C5D14DA3ADE
+:100E3000581CCDD10D9C58ACCDA1581AC020D83A21
+:100E4000F60C1518CFD08CA55C556E1C780B17CC02
+:100E50001835CF64300B0A9CCD4ECF206E1C781B0A
+:100E6000F605032C783B5D1BAE8C301B0E9C5D148D
+:100E7000DA3AF9DCC005E0640C88EA148000580C0A
+:100E8000C4F10D9C201CC140202CCB10202CC06034
+:100E9000202CCAD0202CC180D83A8CBC580CC02041
+:100EA000D83AE06C0CE8EA1C80008D4CDA3A8CBC35
+:100EB000580CC020D83A8C9C581CCFD18E9CE21C78
+:100EC000FDFFAE1CDA3A8CBC580CC020D83AFEB0FC
+:100ED000FA95CFD0E0630090EA130000660CF93B6E
+:100EE00000118C9CF80B1800CF23CE1E8C9CAA8C72
+:100EF0005C5CF80B1518C021DA3A661BF60C003B57
+:100F0000208B8F1B30066E1C780B17CC1836CF54F5
+:100F1000300B0C9C5D14CDB02FF65C56CF5B581C8B
+:100F2000FE91FF660D9C58BCFE91FF628CBC580C74
+:100F3000C030300CC0E8F60C1518CFC08CA55C553D
+:100F40008C975C570A9CC8FECF500E9B0A9C5D1480
+:100F50005C5CD832800003F8D421300CE067094093
+:100F6000EA170000AE6C8F4C8F5C0F8CEDBC000755
+:100F7000C0528EBB580BC021D82AE21C0060C04171
+:100F8000C20FC020DA2A0F8CF9DCC005581CCF51E3
+:100F9000E06C00B4EA1C0000198B580BCEE08EA662
+:100FA0005C56E06700A8EA1700006E1C780B17CCAF
+:100FB0001836CE34E0650C00EA158000300B0C9C2E
+:100FC0005D15CDB06E1C781BF60603276E3C5D1CCC
+:100FD000F7DCC0080C9C5D15CD006E2C5D1CCD317E
+:100FE000D82A0000D401C65CE0A0038CE0A0039CDA
+:100FF000E06B00B8EA1B0000F76C0008DA0AD703C0
+:1010000080001700800017245EFD0000D421E065F9
+:101010000940EA1500000B8C189BE21B0060E04BB6
+:101020000020C020D82A0B9BE0660404EA1680004A
+:10103000E06700B8EA170000A98CC162202BC0F05D
+:10104000201BC301E06C00E0EA1C0000198B580B68
+:10105000C020C2DD306B0E9C5D16DA2A6E6C580C17
+:10106000C2105D1CD822201BC050203BC1B1C21C45
+:10107000DA2A6E7C580CC0A0300CE0A003A5E06C0E
+:1010800010D0EA1C80008B4CDA2A340BE06C00E4B0
+:10109000EA1C00005D16E06C10E0EA1C80008B5C2E
+:1010A000DA2A30FCAE8C30ACAECCD82A5EFD000023
+:1010B000300CE06B00B8EA1B0000B68C302AB6CAD0
+:1010C000E06A0940EA1A0000955C954C977C5EFD49
+:1010D000D401E06C00B8EA1C0000787B5D1BD80AE4
+:1010E000D431201DCE6FE06700B8EA1700000E96DD
+:1010F00030048F64301CE0A00367E06A0924EA1A18
+:101100000000EF3C000815831863E06C00E4EA1C63
+:10111000000019A9E0650124EA150000E06008005C
+:10112000E06812F8EA18800030A23031198E199B5D
+:10113000F7EE108EE02E0100C0F0E02E0200C2C0DB
+:10114000201EC420E02E00FFC6D0203EC6D0E02ED8
+:101150000200C780CA68E60B1518C050AE81302C5B
+:10116000AECCC9F86E5B580BC041AE81AEC2C99817
+:101170002FEC5D18E0800096009B0A9CFEB0F944BD
+:10118000E06C1C94EA1C8000E06B0940EA1B000044
+:10119000975C301CC8782FEC5D18E08000836E4CA3
+:1011A000580CC041AE81AEC2C7C8E60C1518C0606D
+:1011B000E06C12E4EA1C8000C058E06C133CEA1CAE
+:1011C00080008F6CCE7B2FEC5D18C6B06E4C580C37
+:1011D000C041AE81AEC2C6586E9C580CCDB0F8006E
+:1011E0000D445C74081C8F9C089A6E8B0A9C6E4997
+:1011F0005D190A9CC0486E8B2FFB8F8B089BFE34B9
+:1012000000015C74F60A1510CE80193BE04B00FF1C
+:10121000CF30305CAE8CE06C1368EA1C80008F6CC1
+:10122000CB9BC45CC3F8F20C1518C061E06C178C42
+:10123000EA1C8000C058E06C17A8EA1C80008F7C74
+:10124000CA9B19BB1279C0402019C200CA3B591B66
+:10125000C055308CAE8CAEC2C248583BC080582BB3
+:10126000C060584BC040585B5F1CC028300CB48C29
+:101270002F47E06C1DE8EA1C8000F80B0F8AB509C7
+:10128000AF2815080EA88D84C85B300A500ABA8BA7
+:1012900019CBBA9B400B6E3C183BCDC28F8BC7ABB2
+:1012A000300C2FFDD832D703800017C4D421E0675B
+:1012B00000B8EA170000E0A00243C070300CEF6CE9
+:1012C0000008300B302AC048301C309B304AAECA70
+:1012D000AE8BE06B00E0EA1B0000B68CDA2AD70385
+:1012E0008000173CE06C00B8EA1C0000303BB88B73
+:1012F000302BB8CB5EFD0000E06B00B8EA1B0000AD
+:101300007689E619FFFF198AA96A1409199A120A3F
+:10131000978A1498E618FFFF19A9A969120819B944
+:101320001009763C1839C063308CB68C30ACB6CC22
+:101330005EFD122A2FFA979A5EFF0000D421E06723
+:101340000124EA170000E06600B8EA1600006C9A73
+:101350005C7A6C8B0E9C6C495D196C9B5C7B0E9C63
+:10136000FEB0F852DA2A0000D401E06C00B8EA1CA2
+:101370000000788BE06C0124EA1C0000F60A1608D5
+:10138000B88AB89B302BFEB0F83FDA0A800004041C
+:10139000E07B86A0FE7A5814740918695E1D201B34
+:1013A000CFA15EFE580C5E1F498C780AA1AAEC5BA7
+:1013B000BBA0C032300CC118E06CC6C0EA1C002DC6
+:1013C000183BC032301CC098E06C1200EA1C007A56
+:1013D000183B302CF9BC0203E01AFFF9149B189A51
+:1013E000306CF9EA001A164AE1BC0000D303324B14
+:1013F000EA1BAA00FE795818930B484B970AB19C38
+:101400005E3DD5035EFDD703FFFF5824D401201DA8
+:10141000A36CFE795824F20C0308FA0C0908109EFC
+:10142000E01EF0FFA96BE21B0F001C4BB1ABFA0CE6
+:10143000090BE1BB0000D303F8C8FFDCEA18AA00DF
+:10144000FE7E58189D08FA0C030EF20C090EB19B93
+:10145000C023D503F40C1518C060301CC9AFC030D0
+:101460003FFCC028300C2FFDD8020000D401202DF5
+:10147000A36CFE7A581CF40C030BFA0C090B16999A
+:10148000E019F0C5E419C0F0FB38001C302BF7E878
+:1014900000181049FB38000CFB3E000EF1EE10184E
+:1014A000FB3E000DF1EE1028338BF7E800381049B1
+:1014B0004058A968E2180F0010494048EE7B000030
+:1014C000F7E8010810494068B968E6183F0010497C
+:1014D000FA0C0909E1BB0000D303F8C9FFE4EA19DB
+:1014E000AA00FE7858189109FA0C0308F40C0908B0
+:1014F000B19BC023D5032FEDD80A0000202DA36C8B
+:10150000FE7B581CF60C030AFA0C090A1499A1A9CF
+:10151000FA0C0909E1BA0000D303F8C9FFE4EA199B
+:10152000AA00FE7858189109FA0C0308F60C09086D
+:10153000B19AC023D5032FED5EFD0000202DA36CD2
+:10154000FE7B581CF60C030AFA0C090A1499A1C96F
+:10155000FA0C0909E1BA0000D303F8C9FFE4EA195B
+:10156000AA00FE7858189109FA0C0308F60C09082D
+:10157000B19AC023D5032FED5EFD0000FE7B581409
+:10158000580CC051760CA39C5E3DCFDB760CA58C2D
+:10159000CFE25EFDE07B86A0FE7A5860F40C002A64
+:1015A000740CA1CC950C740CA19C5E2D201BCFC19A
+:1015B0005EFE0000D431169714953003F206160132
+:1015C0002016FE745860E80C0024680BA19BC062D2
+:1015D0003013CE1FC0373FFCD832B166E61600FF8D
+:1015E000302CF9E500150C45A967E2170F000A47F2
+:1015F00089075813C041680CA1AC890CD83A000087
+:10160000D40130093008EA188000100CFEB0F9E26D
+:10161000D80A0000D4211897F40C1510C040FEB071
+:10162000F935AE8CD82AD70380000888D401F40C91
+:101630001510C060178C580CC030FEB0F92DD80AB8
+:1016400080000894D421189516971496C0680E9CB3
+:10165000FEB0F94E2FF70ACC0C9CFE360001F80BB9
+:101660001510CF61D82AD703800008ECD421189632
+:1016700016951497C0680B3B0C9CFEB0F9632FF6CF
+:101680000E9CFE370001F80B1510CF61D82AD70346
+:1016900080000940E0690010EA190000F60B001B09
+:1016A00016091898580A5E0D133B201A10CBCFD19B
+:1016B0005EFD0000E06900A0EA190000F20B0029BD
+:1016C0001898580A5E0D133B201A10CBCFD15EFD3F
+:1016D0003009EA198080120B1898580A5E0D1739E4
+:1016E000201A10C9CFD15EFDD40130193008EA1894
+:1016F0008080100CFEB0F96ED80AD703800009D0A4
+:10170000E5BC0000E06B00A0EA1B0000F80A16012F
+:10171000B68AF80A1614B69AF80A160CB6AABD8C40
+:10172000B6BC5EFDD401201D301A300B1A9CC73F99
+:101730001B8B580B5F1C2FFDD8020000D421E067E3
+:1017400000A4EA1700008E8C580CC071FEB0F8326D
+:10175000AE0C300CFEB0F8BAE0660080C0D8580677
+:10176000C0F0FE3C0001AE0C300B5C7CFEB0F9001A
+:10177000FE36FF015C568E8C580CCF21DA2AD82A0F
+:10178000800007B0800008C88000096CD303FE7C8D
+:101790001C00E06B0A03EA1B5501990BE06B0A037E
+:1017A000EA1BAA01990BC008D401FEB0F5C9E0A05C
+:1017B00000B9FEB0F495D80A8000033C80001920DF
+:1017C000800000DCD401201D300BE06A00FCEA1A26
+:1017D00080807409A9D9F3EC109C500C318C40091D
+:1017E000F20C0A4A5C5A145BA96B5C7B308AEDBB35
+:1017F000000FC042EC1B83805C7BA17B5C7B201ACA
+:10180000CF71A98B208CCEC1129AE01AFF00144B25
+:10181000500B304A1A9BE06C00FCC67F2FFDD80AA3
+:10182000D42120ADE0671B00EA1700B70E9B300CF7
+:10183000FEB0FDBA301A306B300CFEB0FDE90E9CE4
+:10184000FEB0F7D0E0671CF4EA178000301C5D178B
+:101850003009300A300BFE7C1800E0A001BDC02129
+:10186000C008FE7C1800E0A001C7E0A0009B4AABC6
+:10187000161CC040161CC040C058305CC048302CFC
+:10188000C028303C300BFB6B002433FA508A507B6D
+:10189000506C301CFB6C0016FB6B0015FB6C0014CD
+:1018A000FACCFFEC1A9B3149190A16AA2049CFD16C
+:1018B000300CFEB0FDDD300CFEB0FE22300CFEB070
+:1018C000FE5FE06607CCEA168000301C5D16302C07
+:1018D0005D17E0671C18EA178000301B300C5D179D
+:1018E000301B301C5D17301B303C5D17301B302C1B
+:1018F0005D17300C5D162F6DD82AD703800013A416
+:101900008000140C800007E080001BD480001BF4D2
+:10191000800019A0007A1200800014FC8000157C61
+:10192000D42120ADE06707CCEA178000301C5D179A
+:10193000E0661C18EA168000300B300C5D16300B88
+:10194000301C5D16300B303C5D16300B302C5D16B4
+:10195000300CE0A001D1300C5D17300CFEB0FDF072
+:10196000300CFB6C0024508C507C506CFB6C0016CF
+:10197000FB6C0015FB6C0014FACCFFEC1A9B314990
+:10198000190A16AA2049CFD1300CFEB0FD712F6D77
+:10199000D82AD70380001CF48000153C8000146C0A
+:1019A000D431205DFACCFFF8E06B1E44EA1B8000C6
+:1019B000B709B928170818A83FF73FF4E0661D7863
+:1019C000EA1680005D16E0A001CF501CE0651D8C7A
+:1019D000EA1580005D15E0A001DF18905D165D1529
+:1019E000300330053006C2181830C1F4401B0A3BE2
+:1019F000C1C41615F8000106EC0B141FE072D330B9
+:101A0000EC020648F6020349109A129B0A98EA096A
+:101A1000141FE0A001591493580AC070400C141C04
+:101A20005C4CE04C2711C12550030A920C91E0A0B8
+:101A3000019B1895E0A001B018960435C035023C12
+:101A4000CD445803C031300CC178300CFACAFFF8CD
+:101A5000F40C032B062B083BF6041730F80717305D
+:101A60002FFC583CCF435BF7E60C1700C050FACB75
+:101A7000FFF8F607032C2FBDD832D70380001CC413
+:101A800080001D6480001D94D4211897169630059F
+:101A90003004C0780F9B0F8CC08C18452FE72FF4B3
+:101AA0000C34CF930A9CD822FE792800F80A160538
+:101AB000A97A120A3019F9DCC005F20C0949167B23
+:101AC000C100201BC130201BC130201BC140201B86
+:101AD000C150201BC170201BC170201BC1905EFF34
+:101AE000956995A995E995295EFD9559CFBB9569AD
+:101AF0009599CF9B95599599CF6B956995A995D94E
+:101B0000CF3B9559CFCB9569959995D9CEDB955912
+:101B10009599CF6BEBCD40FEE06C1E94EA1C8000E3
+:101B2000E06E1EACEA1E8000300A300B1907190661
+:101B30001905EFE61003E7D3C002C1C1EA0416039A
+:101B4000C1900C37C090AF092014AD28CFD1EBD590
+:101B5000C003C121C0B82014AD2ACFE1EBD5C0032A
+:101B6000C050300220150CC2CFD11C3CCE03E3CFB5
+:101B700080FE0C37CF700F3120150CC1CEBB00009A
+:101B8000D401303BE06C1E8CEA1C8000FEB0FF7E6E
+:101B9000D503FEB0FE47FEB0F37BFEB0F377C03155
+:101BA000FEB0F3E2C008D70380001A888000182036
+:101BB0008000028C80000288D401F80B1518C04008
+:101BC000FEB0F3D2D80AFEB0F3FDD80A8000036459
+:101BD000800003C0D4017828BD98CFE3A96BA1ABE6
+:101BE000F94B0040B16A990A782BB99BCFE3129B5D
+:101BF000C0CCDA0A782BB99BCFE3780BA1AB990B59
+:101C0000782BB99BCFE35EFD782AB99ACFE3991B75
+:101C1000782BB99BCFE35EFDD401FE791404720AE0
+:101C2000FE7914D47208A788CFC2E1B90000D303AB
+:101C30003048F00C0028EA18AA00FE7E14589D08CF
+:101C4000E01AFFF8F7DBC003144BA7BBFE7A1404BD
+:101C5000F40C092BB199C023D503D80AD40130095B
+:101C6000300A303B303CFEB0FCA7303CE0A00070B6
+:101C7000D80AD70380001D4CD401300CFE7B586C71
+:101C8000970C3009300A303B303CFEB0FC95D80A46
+:101C9000800015B4D401E06900B8EA190000728C24
+:101CA000729A5C7AE06B0124EA1B0000F1DCC0064A
+:101CB000100B72585D18300CE06B0940EA1B0000F5
+:101CC000975CDA0AEBCD4080340C3007300EA17AF5
+:101CD0005CFB5CFE5CF7103EF2071300C053101E65
+:101CE000EE090147A1AA201CCF310E991C98E3CD23
+:101CF00080800000E1BB0000D303300AEA1AAA008A
+:101D0000FE791458930AFE7A1400950CB19B5E3D3F
+:101D1000D5035EFDE0690000EA198000121CF9DCC1
+:101D2000C00EF9EA11ECFE7A1000A59BF40B092C09
+:101D30005EFD00003009EA198000120B1898580A5D
+:101D40005E0D1739201A10C9CFD15EFDFE7B586099
+:101D5000F60C002B760CA19C5E3D760CA1AC970C8A
+:101D60005EFD0000D401FE7C1800E0A00019A17CFB
+:101D7000D802D70380001D9CD401300BFE7C1800D4
+:101D8000FEB0FF44D80AD70380001C08300CE3BC27
+:101D900000425EFDE1BC00425EFC0000781B5EFB81
+:101DA0000000100000002000000040000000800043
+:101DB0000000C000000100000001800000020000DF
+:101DC00000030000000400000006000000080000FE
+:101DD000000C0000001000000020000000000000C7
+:101DE000000000000000000080001E8080001E68CF
+:101DF00080001E2C80001E3880001E7480001E5043
+:101E000080001E5C80001E6880001E6880001E68C6
+:101E100080001E6880001E6880001E6880001E68AA
+:101E200080001E6880001E6880001E68000000019F
+:101E3000800016148000162C00000020800016443C
+:101E40008000166C007A120000B71B0000F424001A
+:101E500000000004800016B4000000000000010033
+:101E6000800016D0800016E800000000000000008E
+:101E70000000000000000003800016940000000035
+:101E80000002000080001D34800016002E002F008C
+:101E90003000000080001EB000000008000000902C
+:0C1EA000000000A0000000A00000092AC3
+:101EB0008000082C00000000120000000003000059
+:101EC0000000000000000000000000000000000012
+:101ED00000000000000000000403090441544D45C7
+:101EE0004C0000004446552041543332554333449E
+:101EF0000000000080000FE4800010088000100C3B
+:101F0000800010AC1201000200000040EB03E92F3A
+:101F1000020101020001000009021200010100C0DB
+:101F20003209040000000000000000000000004C26
+:101F300000000070000000840000005C00000088C9
+:040000058000000077
+:00000001FF
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/at32uc3d-isp_cfg-1.1.2.dat b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/at32uc3d-isp_cfg-1.1.2.dat
new file mode 100644
index 0000000..34a3dba
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/at32uc3d-isp_cfg-1.1.2.dat
@@ -0,0 +1 @@
+’ž káÿ× \ No newline at end of file
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/avr32.7z b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/avr32.7z
new file mode 100644
index 0000000..2674715
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/avr32.7z
Binary files differ
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/program_at32uc3d-isp-1.1.2.cmd b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/program_at32uc3d-isp-1.1.2.cmd
new file mode 100644
index 0000000..832b0f1
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/program_at32uc3d-isp-1.1.2.cmd
@@ -0,0 +1,82 @@
+@echo off
+setlocal enableextensions enabledelayedexpansion
+
+: This command script programs the ISP (flash array), the ISP
+: configuration word (User page) and the general-purpose fuse bits.
+
+: Copyright (C) 2006-2008, Atmel Corporation All rights reserved.
+:
+: Redistribution and use in source and binary forms, with or without
+: modification, are permitted provided that the following conditions are met:
+:
+: 1. Redistributions of source code must retain the above copyright notice, this
+: list of conditions and the following disclaimer.
+:
+: 2. Redistributions in binary form must reproduce the above copyright notice,
+: this list of conditions and the following disclaimer in the documentation and/
+: or other materials provided with the distribution.
+:
+: 3. The name of ATMEL may not be used to endorse or promote products derived
+: from this software without specific prior written permission.
+:
+: THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED
+: WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND
+: SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
+: INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+: BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+: DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+: OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+: NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+: EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+echo.
+echo Performing a JTAG Chip Erase command.
+avr32program -p AVRONE chiperase -F
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+
+echo.
+echo Programming MCU memory from `at32uc3d-isp-1.1.2.hex'.
+avr32-objcopy -I ihex -O binary at32uc3d-isp-1.1.2.hex at32uc3d-isp-1.1.2.bin
+avr32program -p AVRONE program -finternal@0x80000000 -cint -e -v -O0x80000000 -Fbin at32uc3d-isp-1.1.2.bin
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+del at32uc3d-isp-1.1.2.bin
+
+echo.
+echo Programming ISP configuration word \(default for UC3D_EK i.e. Word2 == 0x929E0D6B and Word1 == 0xE11EFFD7\)
+avr32program -p AVRONE program -finternal@0x80000000 -cint -e -v -O0x808000F8 -Fbin at32uc3d-isp_cfg-1.1.2.dat
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+
+echo.
+echo Programming general-purpose fuse bits.
+avr32program -p AVRONE writefuses -finternal@0x80000000 gp=0xFFF5FFFF
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+
+echo.
+echo Resetting MCU.
+avr32program -p AVRONE run -R
+if ERRORLEVEL 1 (
+ color 47
+ pause
+ exit
+)
+
+color 27
+pause
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/program_at32uc3d-isp-1.1.2.sh b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/program_at32uc3d-isp-1.1.2.sh
new file mode 100644
index 0000000..65e0dac
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/releases/at32uc3d-isp-1.1.2/program_at32uc3d-isp-1.1.2.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+# This shell script programs the ISP (flash array), the ISP configuration words
+# (User page) and the general-purpose fuse bits.
+
+# Copyright (c) 2009 Atmel Corporation. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# 3. The name of Atmel may not be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# 4. This software may only be redistributed and used in connection with an Atmel
+# AVR product.
+#
+# THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+# EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+#
+
+
+echo
+echo Performing a JTAG Chip Erase command.
+avr32program chiperase
+
+echo
+echo Programming MCU memory from \`at32uc3c-isp-H.hex\'.
+avr32-objcopy -I ihex -O binary at32uc3d-isp-1.1.2.hex at32uc3d-isp-1.1.2.bin
+avr32program program -finternal@0x80000000,128Kb -cint -e -v -O0x80000000 -Fbin at32uc3d-isp-1.1.2.bin
+rm -f at32uc3d-isp-1.1.2.bin
+
+echo
+echo Programming ISP configuration words \(default for EVK1101 i.e. Word2 == 0x929E0D6b and Word1 == 0xE11EFFD7\)
+avr32program program -finternal@0x80000000 -cint -e -v -O0x808000F8 -Fbin at32uc3d-isp_cfg-1.1.2.dat
+
+echo
+echo Programming general-purpose fuse bits.
+avr32program writefuses -finternal@0x80000000 gp=0xFFF7FFFF
+
+echo
+echo Resetting MCU.
+avr32program reset
+
+pause
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/sysclk_uc3d.c b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/sysclk_uc3d.c
new file mode 100644
index 0000000..05e4edf
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/at32uc3d/sysclk_uc3d.c
@@ -0,0 +1,196 @@
+/**
+ * \file
+ *
+ * \brief Part-specific system clock management
+ *
+ * Copyright (C) 2010 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#include "preprocessor.h"
+#include "compiler.h"
+#include "board.h"
+#include "pm_uc3d.h"
+#include "scif_uc3d.h"
+#include "ast.h"
+#include "cycle_counter.h"
+#include "flashcdw.h"
+#include "freq_detect.h"
+
+/*!
+ * Detects extern OSC frequency and enable USB clock
+ */
+void sysclk_init(void)
+{
+ int mul;
+
+ // Switch to OSC ISP
+ // Set max startup time to make sure any crystal will be supported
+ // We cannot use a TC to measure this OSC frequency
+ // because the master clock must be faster than the clock selected by the TC
+
+ // Configure OSC0 in crystal mode, external crystal
+ // with a fcrystal Hz frequency.
+ scif_configure_osc_crystalmode(SCIF_OSC0, 12000000);
+ // Enable the OSC0
+ scif_enable_osc(SCIF_OSC0, AVR32_SCIF_OSCCTRL0_STARTUP_16384_RCOSC,
+ true);
+ flashcdw_set_flash_waitstate_and_readmode(12000000);
+ pm_set_mclk_source(PM_CLK_SRC_OSC0);
+
+ // Initialize the AST with the internal RC oscillator
+ // AST will count at the frequency of 115KHz/2
+ if (!ast_init_counter(&AVR32_AST, AST_OSC_RC, 0, 0)) {
+ while (1);
+ }
+ // Enable the AST
+ ast_enable(&AVR32_AST);
+
+ // Detect the frequency
+ // mul = (((96000000 / freq_detect_start())/2)-1)
+ switch (freq_detect_start()) {
+ case 8000000:
+ mul = 5;
+ break;
+ case 16000000:
+ mul = 2;
+ break;
+ case 12000000:
+ default:
+ mul = 3;
+ break;
+ }
+
+ scif_pll_opt_t opt;
+ // Set PLL0 VCO @ 96 MHz
+ // Set PLL0 @ 48 MHz
+ opt.osc = SCIF_OSC0;
+ opt.lockcount = 63;
+ opt.div = 0;
+ opt.mul = mul;
+ opt.pll_div2 = 1;
+ opt.pll_wbwdisable = 0;
+ opt.pll_freq = 1;
+
+ // lockcount in main clock for the PLL wait lock
+ scif_pll_setup(SCIF_PLL0, opt);
+
+ /* Enable PLL0 */
+ scif_pll_enable(SCIF_PLL0);
+
+ /* Wait for PLL0 locked */
+ scif_wait_for_pll_locked(SCIF_PLL0);
+
+ // Use 1 flash wait state
+ flashcdw_set_wait_state(1);
+
+ // Switch the main clock to PLL0
+ pm_set_mclk_source(PM_CLK_SRC_PLL0);
+
+ // fPBA: 12 MHz
+ // fPBB: 12 MHz
+ // fHSB: 12 MHz
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_0, PM_CKSEL_DIVRATIO_4); // CPU
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_1, PM_CKSEL_DIVRATIO_4); // HSB
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_3, PM_CKSEL_DIVRATIO_4); // PBB
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_2, PM_CKSEL_DIVRATIO_4); // PBA
+
+ // Use 0 flash wait state
+ flashcdw_set_wait_state(0);
+}
+
+
+/*!
+ * Reset the generation of system clocks and switch to RCOsc
+ */
+void sysclk_reset(void)
+{
+ flashcdw_set_wait_state(1);
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_0, PM_CKSEL_DIVRATIO_2); // CPU
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_1, PM_CKSEL_DIVRATIO_2); // HSB
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_3, PM_CKSEL_DIVRATIO_2); // PBB
+ pm_set_clk_domain_div(PM_CLK_DOMAIN_2, PM_CKSEL_DIVRATIO_2); // PBA
+
+ pm_set_mclk_source(PM_CLK_SRC_SLOW);
+
+ flashcdw_set_wait_state(0);
+ scif_pll_disable(SCIF_PLL0);
+
+ scif_pll_opt_t opt;
+ opt.osc = 0;
+ opt.lockcount = 0;
+ opt.div = 0;
+ opt.mul = 0;
+ opt.pll_div2 = 0;
+ opt.pll_wbwdisable = 0;
+ opt.pll_freq = 0;
+ scif_pll_setup(SCIF_PLL0, opt); // lockcount in main clock for the PLL wait lock
+}
+
+
+void sysclk_enable_usb(void)
+{
+ // Setup USB GCLK
+ scif_gc_setup(AVR32_SCIF_GCLK_USBC,
+ SCIF_GCCTRL_PLL0, AVR32_SCIF_GC_NO_DIV_CLOCK, 0);
+ // Enable USB GCLK
+ scif_gc_enable(AVR32_SCIF_GCLK_USBC);
+}
+
+
+void sysclk_disable_usb(void)
+{
+ AVR32_SCIF.gcctrl[AVR32_SCIF_GCLK_USBC] = 0;
+ scif_gc_setup(AVR32_SCIF_GCLK_USBC,
+ SCIF_GCCTRL_PLL0, AVR32_SCIF_GC_NO_DIV_CLOCK, 0);
+}
+
+
+void freq_detect_iface_ref_cnt_reset(void)
+{
+ ast_set_counter_value(&AVR32_AST, 0);
+}
+
+int freq_detect_iface_ref_cnt_value(void)
+{
+ return ast_get_counter_value(&AVR32_AST) * 2;
+}
+
+void freq_detect_iface_target_cnt_reset(void)
+{
+ Set_sys_count(0);
+}
+
+int freq_detetc_iface_target_cnt_value(void)
+{
+ return Get_sys_count();
+}
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/boot.S b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/boot.S
new file mode 100644
index 0000000..2a42400
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/boot.S
@@ -0,0 +1,322 @@
+/*This file is prepared for Doxygen automatic documentation generation.*/
+/*! \file *********************************************************************
+ *
+ * \brief AVR32 UC3 ISP boot.
+ *
+ * - Compiler: GNU GCC for AVR32
+ * - Supported devices: All AVR32UC devices with an INTC module can be used.
+ *
+ * \author Atmel Corporation: http://www.atmel.com \n
+ * Support and FAQ: http://support.atmel.no/
+ *
+ ******************************************************************************/
+
+/* Copyright (c) 2009 Atmel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an Atmel
+ * AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+ *
+ */
+
+#include <avr32/io.h>
+#include "conf_isp.h"
+#include "parts.h"
+
+#if UC3C
+// These defines are missing from or wrong in the toolchain header file ip_xxx.h or part.h
+#ifndef AVR32_WDT_KEY_VALUE
+#define AVR32_WDT_KEY_VALUE 0x00000055
+#endif
+#define AVR32_SR_M_SUP 0x00000001
+#define AVR32_SR_M_SIZE 3
+#define AVR32_SR_M_OFFSET 22
+#define AVR32_SRAM_ADDRESS 0x00000000
+#endif
+
+//! @{
+//! \verbatim
+
+
+ // Performs efficiently a bitwise logical Exclusive-OR between the specified
+ // register and an immediate value of up to 32 bits. The result is stored in
+ // the destination register.
+ .macro eor.w rd, imm
+ .if \imm & 0x0000FFFF
+ eorl \rd, LO(\imm)
+ .endif
+ .if \imm & 0xFFFF0000
+ eorh \rd, HI(\imm)
+ .endif
+ .endm
+
+ // Moves efficiently an immediate value of up to 32 bits into a register.
+ .macro mov.w rd, imm
+ .if ((-(1 << (21 - 1))) <= \imm) && (\imm <= ((1 << (21 - 1)) - 1))
+ mov \rd, \imm
+#if __AVR32_UC__ >= 2
+ .elseif !(\imm & 0x0000FFFF)
+ movh \rd, HI(\imm)
+#endif
+ .else
+ mov \rd, LO(\imm)
+ orh \rd, HI(\imm)
+ .endif
+ .endm
+
+ // Performs efficiently a bitwise logical OR between the specified register
+ // and an immediate value of up to 32 bits. The result is stored in the
+ // destination register.
+ .macro or.w rd, imm
+ .if \imm & 0x0000FFFF
+ orl \rd, LO(\imm)
+ .endif
+ .if \imm & 0xFFFF0000
+ orh \rd, HI(\imm)
+ .endif
+ .endm
+
+
+ .section .reset, "ax", @progbits
+
+
+ .balign 2
+
+ // Reset vector: This must be linked @ 0x80000000.
+ .global _start
+ .type _start, @function
+_start:
+ mov.w r8, ISP_KEY_ADDRESS // r8 = &ISP_KEY
+ mov.w r9, AVR32_WDT_ADDRESS // r9 = &AVR32_WDT
+ mov.w r10, ISP_CFG1_ADDRESS // r10 = &ISP_CFG1
+ mov.w r11, AVR32_PM_ADDRESS // r11 = &AVR32_PM
+ ld.w r0, r8[0] // r0 = ISP_KEY[0]
+ mov.w r1, ISP_KEY_VALUE // r1 = ISP_KEY_VALUE
+
+ // Check CRC8 validity of the user page configuration word1.
+ ld.w r2, r10[0] // r2 = config_word1
+ mov.w r3, ISP_CFG1_CRC8_POLYNOMIAL // r3 = crc8_polynomial
+ mov r4, r2 // r4 = config_word1_tempo
+ rcall test_crc8_end
+ brne start_loader // The config word1 CRC8 is invalid: launch the ISP process.
+
+ // Check the magic key of the user page configuration word1.
+ bfextu r3, r2, ISP_CFG1_BOOT_KEY1_OFFSET, ISP_CFG1_BOOT_KEY1_SIZE // r3 = ISP_BOOT_KEY1
+ cp.w r3, ISP_CFG1_BOOT_KEY1_VALUE
+ brne start_loader // The config word1 magic key is incorrect: launch the ISP process
+
+ // Test the value of the ISP_FORCE bit.
+test_isp_force:
+ bld r2, ISP_CFG1_FORCE_OFFSET
+ brcs start_loader // The ISP_FORCE bit is set: launch the ISP process.
+
+ // Test the reset cause.
+ ld.w r3, r11[AVR32_PM_RCAUSE] // r3 = AVR32_PM.RCAUSE
+#if (UC3A || UC3B)
+ mov.w r4, AVR32_PM_RCAUSE_POR_MASK |\
+ AVR32_PM_RCAUSE_EXT_MASK |\
+ AVR32_PM_RCAUSE_JTAG_MASK |\
+ AVR32_PM_RCAUSE_OCDRST_MASK |\
+ AVR32_PM_RCAUSE_JTAGHARD_MASK // r4 = POR|EXT|OCD|JTAG
+#elif UC3C
+ mov.w r4, AVR32_PM_RCAUSE_POR_MASK |\
+ AVR32_PM_RCAUSE_EXT_MASK |\
+ AVR32_PM_RCAUSE_JTAG_MASK |\
+ AVR32_PM_RCAUSE_OCDRST_MASK |\
+ AVR32_PM_RCAUSE_BOD33_MASK |\
+ AVR32_PM_RCAUSE_BOD_MASK // r4 = POR|EXT|OCD|JTAG|BOD33|BOD
+#else
+#error 'Part configuration is missing'
+#endif
+ tst r3, r4
+ brne manage_io_cond // The reset cause was one of POR|EXT|OCD|JTAG|JTAGHARD: check the IO conditions that control the ISP activation.
+
+ // Was the reset cause a WDT reset?
+ bld r3, AVR32_PM_RCAUSE_WDT_OFFSET
+ brcs start_program // The reset cause was a WDT reset: start the application
+
+ // ISP RAM Key set?
+ cp.w r0, r1
+ brne start_program_no_isp_key // Start the application
+
+ // Start of the ISP process
+start_loader:
+ rcall disable_wdt // Disable the WDT
+ st.w r8[0], r1 // Set ISP RAM Key
+
+ // Set initial stack pointer.
+ mov sp, _estack
+
+ // Disable the exception processing.
+ ssrf AVR32_SR_EM_OFFSET
+
+ // Set up EVBA so interrupts can be enabled.
+ mov r0, _evba
+ mtsr AVR32_EVBA, r0
+
+ // Load initialized data having a global lifetime from the data LMA.
+ mov r0, _data
+ mov r1, _edata
+ sub r2, pc, $ - _data_lma
+ rcall load_idata
+
+ // Clear uninitialized data having a global lifetime in the blank static storage section.
+ mov r0, __bss_start
+ mov r1, _end
+ mov.w r2, 0
+ mov.w r3, 0
+ rjmp clear_udata
+clear_udata_loop:
+ st.d r0++, r2
+clear_udata:
+ cp.w r0, r1
+ brlo clear_udata_loop
+
+ // Load constant data and code from the const LMA.
+ mov r0, _const
+ mov r1, _econst
+ sub r2, pc, $ - _const_lma
+ rcall load_idata
+
+ // Call the ISP main function, which must not return.
+ call main
+
+ // Check of the IO conditions that control the ISP activation.
+manage_io_cond:
+ // Test the ISP_IO_COND_EN bit.
+ bld r2, ISP_CFG1_IO_COND_EN_OFFSET
+ brcc start_program // ISP_IO_COND_EN is 0: start the application.
+
+ // Check CRC8 validity of the user page configuration word2.
+ mov.w r10, ISP_CFG2_ADDRESS
+ ld.w r2, r10[0] // r2 = config_word2
+ mov.w r3, ISP_CFG2_CRC8_POLYNOMIAL // r3 = crc8_polynomial
+ mov r4, r2 // r4 = config_word2_tempo
+ rcall test_crc8_end
+ brne start_loader // The config word2 CRC8 is invalid: launch the ISP process.
+
+ // Check the magic key of the user page configuration word2
+ bfextu r3, r2, ISP_CFG2_BOOT_KEY_OFFSET, ISP_CFG2_BOOT_KEY_SIZE
+ cp.w r3, ISP_CFG2_BOOT_KEY_VALUE
+ brne start_loader // The config word2 magic key is incorrect: launch the ISP process
+
+ // ISP IO Condition active?
+ bfextu r3, r2, ISP_CFG2_IO_COND_PIN_OFFSET, ISP_CFG2_IO_COND_PIN_SIZE // r3 = IO_COND_PIN
+ cp.w r3, AVR32_GPIO_NUMBER_OF_PINS
+ brhs start_loader // The IO pin is invalid: launch the ISP process
+
+ // Check the IO condition
+ mov.w r10, AVR32_GPIO_ADDRESS
+ lsr r4, r3, 5 // r4 = IO_COND_PIN/32 = GPIO_port_IO_COND_PIN
+ lsl r4, 8 // r4 = offset to the port of the IO_COND_PIN
+ add r10, r4 // r10 = &(AVR32_GPIO[port of the IO_COND_PIN].GPER)
+ ld.w r4, r10[AVR32_GPIO_PVR] // r4 = AVR32_GPIO[port of the IO_COND_PIN].PVR
+ andl r3, 0x1F // r3 = pin&0x1F
+ lsr r4, r4, r3 // r4 = gpio_port->pvr >> (pin & 0x1F)
+ bfextu r3, r2, ISP_CFG2_IO_COND_LEVEL_OFFSET, ISP_CFG2_IO_COND_LEVEL_SIZE // r3 = IO_COND_LEVEL
+ eor r4, r3
+ bld r4, 0
+ brcc start_loader // The ISP IO Condition is not active: launch the ISP process
+
+start_program:
+ cp.w r0, r1
+ brne start_program_no_isp_key
+ rcall disable_wdt
+ .global boot_program
+ .type boot_program, @function
+boot_program:
+ // Clear ISP RAM Key
+ mov.w r8, ISP_KEY_ADDRESS
+ mov.w r0, 0
+ st.w r8[0], r0
+start_program_no_isp_key:
+ mov.w r0, AVR32_SR_GM_MASK | AVR32_SR_EM_MASK | (AVR32_SR_M_SUP << AVR32_SR_M_OFFSET)
+ mtsr AVR32_SR, r0
+ .irp rd, r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, sp, lr
+ mov.w \rd, 0
+ .endr
+ mtsr AVR32_EVBA, r0
+ mtsr AVR32_COUNT, r0
+ lddpc pc, program_start_address
+
+disable_wdt:
+ mov.w r2, AVR32_WDT_KEY_VALUE << AVR32_WDT_CTRL_KEY_OFFSET
+ st.w r9[AVR32_WDT_CTRL], r2
+ eor.w r2, AVR32_WDT_CTRL_KEY_MASK
+ st.w r9[AVR32_WDT_CTRL], r2
+ mov pc, lr
+
+load_idata_loop:
+ ld.d r4, r2++
+ st.d r0++, r4
+load_idata:
+ cp.w r0, r1
+ brlo load_idata_loop
+ mov pc, lr
+
+ // Common CRC8 function
+crc8:
+ clz r5, r4
+ rsub r5, r5, 32 - 9
+ lsl r5, r3, r5
+ eor r4, r5
+#if 0
+ .global test_crc8_end
+ .type test_crc8_end, @function
+#endif
+test_crc8_end:
+ cp.w r4, 0xFF
+ brhi crc8
+ cp.w r4, 0
+ retal r4
+
+
+// Constant data area.
+
+ .balign 4
+
+program_start_address:
+ .word PROGRAM_START_ADDRESS
+
+
+ .section .evba, "ax", @progbits
+
+
+ .balign 2
+
+ // Start of exception vector table: Unrecoverable exception.
+ .global _evba
+ .type _evba, @function
+_evba:
+ lda.w r8, _start
+ mov.w r9, AVR32_SR_GM_MASK | AVR32_SR_EM_MASK | (AVR32_SR_M_SUP << AVR32_SR_M_OFFSET)
+ mov sp, _estack - 6 * 4
+ pushm r8-r9
+ rete
+
+
+//! \endverbatim
+//! @}
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/boot.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/boot.h
new file mode 100644
index 0000000..72199a9
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/boot.h
@@ -0,0 +1,65 @@
+/*This file is prepared for Doxygen automatic documentation generation.*/
+/*! \file *********************************************************************
+ *
+ * \brief AVR32 UC3 ISP boot.
+ *
+ * - Compiler: IAR EWAVR32 and GNU GCC for AVR32
+ * - Supported devices: All AVR32UC devices with an INTC module can be used.
+ * - AppNote:
+ *
+ * \author Atmel Corporation: http://www.atmel.com \n
+ * Support and FAQ: http://support.atmel.no/
+ *
+ ******************************************************************************/
+
+/* Copyright (c) 2009 Atmel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an Atmel
+ * AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#ifndef _BOOT_H_
+#define _BOOT_H_
+
+
+//_____ I N C L U D E S ____________________________________________________
+
+
+//_____ M A C R O S ________________________________________________________
+
+
+//_____ D E C L A R A T I O N S ____________________________________________
+
+/*! \brief Boots the program.
+ *
+ * \warning It may only be called from the CPU supervisor mode.
+ */
+extern void boot_program(void);
+
+
+#endif // _BOOT_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/boot.s82 b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/boot.s82
new file mode 100644
index 0000000..7068db1
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/boot.s82
@@ -0,0 +1,304 @@
+/*This file is prepared for Doxygen automatic documentation generation.*/
+/*! \file *********************************************************************
+ *
+ * \brief AVR32 UC3 ISP boot.
+ *
+ * - Compiler: IAR EWAVR32
+ * - Supported devices: All AVR32UC devices with an INTC module can be used.
+ *
+ * \author Atmel Corporation: http://www.atmel.com \n
+ * Support and FAQ: http://support.atmel.no/
+ *
+ ******************************************************************************/
+
+/* Copyright (c) 2009 Atmel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an Atmel
+ * AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+ *
+ */
+
+#include <avr32/io.h>
+#include "conf_isp.h"
+#include "parts.h"
+
+#if UC3C
+// These defines are missing from or wrong in the toolchain header file ip_xxx.h or part.h
+#ifndef AVR32_WDT_KEY_VALUE
+#define AVR32_WDT_KEY_VALUE 0x00000055
+#endif
+#define AVR32_SR_M_SUP 0x00000001
+#define AVR32_SR_M_SIZE 3
+#define AVR32_SR_M_OFFSET 22
+#define AVR32_SRAM_ADDRESS 0x00000000
+#endif
+
+//! @{
+//! \verbatim
+
+
+ // Performs efficiently a bitwise logical Exclusive-OR between the specified
+ // register and an immediate value of up to 32 bits. The result is stored in
+ // the destination register.
+eor_w\
+ MACRO rd, imm
+ IF (imm) & 0x0000FFFF
+ eorl rd, LWRD(imm)
+ ENDIF
+ IF (imm) & 0xFFFF0000
+ eorh rd, HWRD(imm)
+ ENDIF
+ ENDM
+
+ // Moves efficiently an immediate value of up to 32 bits into a register.
+mov_w\
+ MACRO rd, imm
+ IF (((-(1 << (21 - 1))) <= (imm)) && ((imm) <= ((1 << (21 - 1)) - 1))) ||\
+ (((1 << 32) - (1 << (21 - 1))) <= (imm))
+ mov rd, imm
+#if __CORE_REVISION__ >= 2
+ ELSEIF !((imm) & 0x0000FFFF)
+ movh rd, HWRD(imm)
+#endif
+ ELSE
+ mov rd, LWRD(imm)
+ orh rd, HWRD(imm)
+ ENDIF
+ ENDM
+
+ // Performs efficiently a bitwise logical OR between the specified register
+ // and an immediate value of up to 32 bits. The result is stored in the
+ // destination register.
+or_w\
+ MACRO rd, imm
+ IF (imm) & 0x0000FFFF
+ orl rd, LWRD(imm)
+ ENDIF
+ IF (imm) & 0xFFFF0000
+ orh rd, HWRD(imm)
+ ENDIF
+ ENDM
+
+
+ RSEG SSTACK:DATA:NOROOT(2)
+
+
+ RSEG RESET:CODE:NOROOT(1)
+
+
+ ALIGN 1
+
+ // Reset vector: This must be linked @ 0x80000000.
+ PUBLIC __program_start
+__program_start:
+
+ // Start of exception vector table: Unrecoverable exception.
+ PUBLIC _evba
+_evba:
+ mfsr r8, AVR32_SR
+ bfextu r8, r8, AVR32_SR_M_OFFSET, AVR32_SR_M_SIZE
+ cp.w r8, 001b
+ breq boot_supervisor_mode
+ sub r8, pc, $ - boot_supervisor_mode
+ mov_w r9, AVR32_SR_GM_MASK | AVR32_SR_EM_MASK | (AVR32_SR_M_SUP << AVR32_SR_M_OFFSET)
+ mov sp, SFE(SSTACK) - 6 * 4
+ pushm r8-r9
+ rete
+
+boot_supervisor_mode:
+ mov_w r8, ISP_KEY_ADDRESS
+ mov_w r9, AVR32_WDT_ADDRESS
+ mov_w r10, ISP_CFG1_ADDRESS
+ mov_w r11, AVR32_PM_ADDRESS
+ ld.w r0, r8[0]
+ mov_w r1, ISP_KEY_VALUE
+
+ // Check CRC8 validity of the user page configuration word1.
+ ld.w r2, r10[0] // r2 = config_word1
+ mov_w r3, ISP_CFG1_CRC8_POLYNOMIAL // r3 = crc8_polynomial
+ mov r4, r2 // r4 = config_word1_tempo
+ rcall test_crc8_end
+ brne start_loader // The config word1 CRC8 is invalid: launch the ISP process.
+
+ // Check the magic key of the user page configuration word1.
+ bfextu r3, r2, ISP_CFG1_BOOT_KEY1_OFFSET, ISP_CFG1_BOOT_KEY1_SIZE // r3 = ISP_BOOT_KEY1
+ cp.w r3, ISP_CFG1_BOOT_KEY1_VALUE
+ brne start_loader // The config word1 magic key is incorrect: launch the ISP process
+
+ // Test the value of the ISP_FORCE bit.
+test_isp_force:
+ bld r2, ISP_CFG1_FORCE_OFFSET
+ brcs start_loader // The ISP_FORCE bit is set: launch the ISP process.
+
+ // Test the reset cause.
+ ld.w r3, r11[AVR32_PM_RCAUSE]
+#if (UC3A || UC3B)
+ mov_w r4, AVR32_PM_RCAUSE_POR_MASK |\
+ AVR32_PM_RCAUSE_EXT_MASK |\
+ AVR32_PM_RCAUSE_JTAG_MASK |\
+ AVR32_PM_RCAUSE_OCDRST_MASK |\
+ AVR32_PM_RCAUSE_JTAGHARD_MASK
+#elif ( UC3C || UC3D )
+ mov_w r4, AVR32_PM_RCAUSE_POR_MASK |\
+ AVR32_PM_RCAUSE_EXT_MASK |\
+ AVR32_PM_RCAUSE_JTAG_MASK |\
+ AVR32_PM_RCAUSE_OCDRST_MASK |\
+ AVR32_PM_RCAUSE_JTAGHARD_MASK|\
+ AVR32_PM_RCAUSE_BOD33_MASK |\
+ AVR32_PM_RCAUSE_BOD_MASK // r4 = POR|EXT|OCD|JTAG|BOD33|BOD
+#else
+#error 'Part configuration is missing'
+#endif
+ tst r3, r4
+ brne manage_io_cond // The reset cause was one of POR|EXT|OCD|JTAG|JTAGHARD: check the IO conditions that control the ISP activation.
+
+ // Was the reset cause a WDT reset?
+ bld r3, AVR32_PM_RCAUSE_WDT_OFFSET
+ brcs start_program // The reset cause was a WDT reset: start the application
+
+ // ISP RAM Key set?
+ cp.w r0, r1
+ brne start_program_no_isp_key // Start the application
+
+ // Start of the ISP process
+start_loader:
+ rcall disable_wdt
+ st.w r8[0], r1 // Set ISP RAM Key
+
+ // Set initial stack pointer.
+ mov sp, SFE(SSTACK)
+
+ // Disable the exception processing.
+ ssrf AVR32_SR_EM_OFFSET
+
+ // Set up EVBA so interrupts can be enabled.
+ sub r0, pc, $ - _evba
+ mtsr AVR32_EVBA, r0
+
+ // Initialize segments.
+ PUBLIC ?need_segment_init
+?need_segment_init:
+ EXTERN __segment_init
+ rcall __segment_init
+
+ // Call the ISP main function, which must not return.
+ EXTERN main
+ rcall main
+
+ // Check of the IO conditions that control the ISP activation.
+manage_io_cond:
+ // Test the ISP_IO_COND_EN bit.
+ bld r2, ISP_CFG1_IO_COND_EN_OFFSET
+ brcc start_program // ISP_IO_COND_EN is 0: start the application.
+
+ // Check CRC8 validity of the user page configuration word2.
+ mov_w r10, ISP_CFG2_ADDRESS
+ ld.w r2, r10[0] // r2 = config_word2
+ mov_w r3, ISP_CFG2_CRC8_POLYNOMIAL // r3 = crc8_polynomial
+ mov r4, r2 // r4 = config_word2_tempo
+ rcall test_crc8_end
+ brne start_loader // The config word2 CRC8 is invalid: launch the ISP process.
+
+ // Check the magic key of the user page configuration word2
+ bfextu r3, r2, ISP_CFG2_BOOT_KEY_OFFSET, ISP_CFG2_BOOT_KEY_SIZE
+ cp.w r3, ISP_CFG2_BOOT_KEY_VALUE
+ brne start_loader // The config word2 magic key is incorrect: launch the ISP process
+
+ // ISP IO Condition active?
+ bfextu r3, r2, ISP_CFG2_IO_COND_PIN_OFFSET, ISP_CFG2_IO_COND_PIN_SIZE // r3 = IO_COND_PIN
+ cp.w r3, AVR32_GPIO_NUMBER_OF_PINS
+ brhs start_loader // The IO pin is invalid: launch the ISP process
+
+ // Check the IO condition
+ mov_w r10, AVR32_GPIO_ADDRESS
+ lsr r4, r3, 5
+#if (UC3A || UC3B)
+ lsl r4, 8
+#elif (UC3C || UC3L || UC3D)
+ lsl r4, 9
+#endif
+ add r10, r4
+ ld.w r4, r10[AVR32_GPIO_PVR]
+ andl r3, 0x1F
+ lsr r4, r4, r3
+ bfextu r3, r2, ISP_CFG2_IO_COND_LEVEL_OFFSET, ISP_CFG2_IO_COND_LEVEL_SIZE
+ eor r4, r3
+ bld r4, 0
+ brcc start_loader // The ISP IO Condition is not active: launch the ISP process
+
+start_program:
+ cp.w r0, r1
+ brne start_program_no_isp_key
+ rcall disable_wdt
+ PUBLIC boot_program
+boot_program:
+ mov_w r8, ISP_KEY_ADDRESS
+ mov_w r0, 0
+ st.w r8[0], r0
+start_program_no_isp_key:
+ mov_w r0, AVR32_SR_GM_MASK | AVR32_SR_EM_MASK | (AVR32_SR_M_SUP << AVR32_SR_M_OFFSET)
+ mtsr AVR32_SR, r0
+ REPTI rd, r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, sp, lr
+ mov_w rd, 0
+ ENDR
+ mtsr AVR32_EVBA, r0
+ mtsr AVR32_COUNT, r0
+ lddpc pc, program_start_address
+
+disable_wdt:
+ mov_w r2, AVR32_WDT_KEY_VALUE << AVR32_WDT_CTRL_KEY_OFFSET
+ st.w r9[AVR32_WDT_CTRL], r2
+ eor_w r2, AVR32_WDT_CTRL_KEY_MASK
+ st.w r9[AVR32_WDT_CTRL], r2
+ mov pc, lr
+
+ // Common CRC8 function
+crc8:
+ clz r5, r4
+ rsub r5, r5, 32 - 9
+ lsl r5, r3, r5
+ eor r4, r5
+test_crc8_end:
+ cp.w r4, 0xFF
+ brhi crc8
+ cp.w r4, 0
+ retal r4
+
+
+// Constant data area.
+
+ ALIGN 2
+
+program_start_address:
+ DC32 PROGRAM_START_ADDRESS
+
+
+ END
+
+
+//! \endverbatim
+//! @}
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_board.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_board.h
new file mode 100644
index 0000000..fd0efa2
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_board.h
@@ -0,0 +1,41 @@
+/*This file is prepared for Doxygen automatic documentation generation.*/
+/*! \file *********************************************************************
+ *
+ * \brief Board configuration
+ *
+ * Copyright (C) 2010 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+#ifndef CONF_BOARD_H_INCLUDED
+#define CONF_BOARD_H_INCLUDED
+
+#endif /* CONF_BOARD_H_INCLUDED */
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_clock.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_clock.h
new file mode 100644
index 0000000..ac58200
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_clock.h
@@ -0,0 +1,45 @@
+/**
+ * \file
+ *
+ * \brief Clock system configuration
+ *
+ * Copyright (C) 2010 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+#ifndef CONF_CLOCK_H_INCLUDED
+#define CONF_CLOCK_H_INCLUDED
+
+// USB Generic clock used but not defined.
+// It is only to provide USB routines header.
+#define CONFIG_USBCLK_SOURCE USBCLK_SRC_PLL0
+
+#endif /* CONF_CLOCK_H_INCLUDED */
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_freq_detect.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_freq_detect.h
new file mode 100644
index 0000000..710da9e
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_freq_detect.h
@@ -0,0 +1,62 @@
+/*This file is prepared for Doxygen automatic documentation generation.*/
+/*! \file ******************************************************************
+ *
+ * \brief Frequency detection configuration file.
+ *
+ * This file contains the possible external configuration of the ISP.
+ *
+ * - Compiler: IAR EWAVR32 and GNU GCC for AVR32
+ * - Supported devices: All AVR32 devices with a USB module can be used.
+ * - AppNote:
+ *
+ * \author Atmel Corporation: http://www.atmel.com \n
+ * Support and FAQ: http://support.atmel.no/
+ *
+ ***************************************************************************/
+
+/* Copyright (c) 2009 Atmel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an Atmel
+ * AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#ifndef _CONF_FREQ_DETECT_H_
+#define _CONF_FREQ_DETECT_H_
+
+//! The reference's frequency.
+#define FREQ_DETECT_REF_HZ 119600
+
+//! A coefficient that defines the accuracy of the detection.
+ //! The highest it is, the less accurate the result will be but the fastest it
+//! will be generated.
+#define FREQ_DETECT_CONV_RATE 10000
+
+#define FREQ_DETECT_FREQ_AVALAIBLE \
+ { 8000000, 12000000, 16000000 }
+
+#endif // _CONF_FREQ_DETECT_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_isp.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_isp.h
new file mode 100644
index 0000000..8015d73
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_isp.h
@@ -0,0 +1,138 @@
+/*This file is prepared for Doxygen automatic documentation generation.*/
+/*! \file ******************************************************************
+ *
+ * \brief ISP configuration file.
+ *
+ * This file contains the possible external configuration of the ISP.
+ *
+ * - Compiler: IAR EWAVR32 and GNU GCC for AVR32
+ * - Supported devices: All AVR32 devices with a USB module can be used.
+ * - AppNote:
+ *
+ * \author Atmel Corporation: http://www.atmel.com \n
+ * Support and FAQ: http://support.atmel.no/
+ *
+ ***************************************************************************/
+
+/* Copyright (c) 2009 Atmel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an Atmel
+ * AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+ *
+ */
+
+#ifndef _CONF_ISP_H_
+#define _CONF_ISP_H_
+
+#include "compiler.h"
+#include "flash_api.h"
+
+// Bootloader Versions
+// Example: Version 0x00 give 1.0.0 on batchisp log
+// Example: Version 0x03 give 1.0.3 on batchisp log
+// Example: Version 0x25 give 1.2.5 on batchisp log
+// The UC3 rule is :
+// - 1.0.X for bootloader which follow specification AVR32784 (doc7745)
+// - 1.1.X for bootloader which follow specification AVR32806
+#if UC3C
+#define BOOTLOADER_VERSION 0x12 // Third version is 12 (1.1.2)
+#elif UC3D
+#define BOOTLOADER_VERSION 0x12 // Third version is 12 (1.1.2)
+#else
+#error A new version of bootloader must be define for this new part (start to at 0)
+#endif
+
+#define ISP_CFG1 (*(volatile U32 *)ISP_CFG1_ADDRESS)
+#define ISP_CFG1_ADDRESS \
+ (FLASH_API_USER_PAGE_ADDRESS + ISP_CFG1_OFFSET)
+#define ISP_CFG1_OFFSET \
+ (FLASH_API_USER_PAGE_SIZE - ISP_CFG1_SIZE)
+#define ISP_CFG1_SIZE 4
+
+#define ISP_CFG1_BOOT_KEY1 16
+#define ISP_CFG1_BOOT_KEY1_MASK 0xFFFF0000
+#define ISP_CFG1_BOOT_KEY1_OFFSET 16
+#define ISP_CFG1_BOOT_KEY1_SIZE 16
+#define ISP_CFG1_BOOT_KEY1_VALUE 0xE11E
+
+#define ISP_CFG1_FORCE 9
+#define ISP_CFG1_FORCE_MASK 0x00000200
+#define ISP_CFG1_FORCE_OFFSET 9
+#define ISP_CFG1_FORCE_SIZE 1
+
+#define ISP_CFG1_IO_COND_EN 8
+#define ISP_CFG1_IO_COND_EN_MASK 0x00000100
+#define ISP_CFG1_IO_COND_EN_OFFSET 8
+#define ISP_CFG1_IO_COND_EN_SIZE 1
+
+#define ISP_CFG1_CRC8 0
+#define ISP_CFG1_CRC8_MASK 0x000000FF
+#define ISP_CFG1_CRC8_OFFSET 0
+#define ISP_CFG1_CRC8_SIZE 8
+#define ISP_CFG1_CRC8_POLYNOMIAL 0x107
+
+#define ISP_CFG2 (*(volatile U32 *)ISP_CFG2_ADDRESS)
+#define ISP_CFG2_ADDRESS \
+ (FLASH_API_USER_PAGE_ADDRESS + ISP_CFG2_OFFSET)
+#define ISP_CFG2_OFFSET \
+ (FLASH_API_USER_PAGE_SIZE - ISP_CFG1_SIZE - ISP_CFG2_SIZE)
+#define ISP_CFG2_SIZE 4
+
+#define ISP_CFG2_BOOT_KEY 17
+#define ISP_CFG2_BOOT_KEY_MASK 0xFFFE0000
+#define ISP_CFG2_BOOT_KEY_OFFSET 17
+#define ISP_CFG2_BOOT_KEY_SIZE 15
+#define ISP_CFG2_BOOT_KEY_VALUE 0x494F
+
+#define ISP_CFG2_IO_COND_LEVEL 16
+#define ISP_CFG2_IO_COND_LEVEL_MASK 0x00010000
+#define ISP_CFG2_IO_COND_LEVEL_OFFSET 16
+#define ISP_CFG2_IO_COND_LEVEL_SIZE 1
+
+#define ISP_CFG2_IO_COND_PIN 8
+#define ISP_CFG2_IO_COND_PIN_MASK 0x0000FF00
+#define ISP_CFG2_IO_COND_PIN_OFFSET 8
+#define ISP_CFG2_IO_COND_PIN_SIZE 8
+
+#define ISP_CFG2_CRC8 0
+#define ISP_CFG2_CRC8_MASK 0x000000FF
+#define ISP_CFG2_CRC8_OFFSET 0
+#define ISP_CFG2_CRC8_SIZE 8
+#define ISP_CFG2_CRC8_POLYNOMIAL 0x107
+
+#define ISP_KEY (*(volatile U32 *)ISP_KEY_ADDRESS)
+#define ISP_KEY_ADDRESS (AVR32_SRAM_ADDRESS + ISP_KEY_OFFSET)
+#define ISP_KEY_OFFSET 0x00000000
+#define ISP_KEY_SIZE 4
+#define ISP_KEY_VALUE ('I' << 24 | 'S' << 16 | 'P' << 8 | 'K')
+
+#define PROGRAM_START_ADDRESS \
+ (AVR32_FLASH_ADDRESS + PROGRAM_START_OFFSET)
+#define PROGRAM_START_OFFSET 0x00002000
+
+
+#endif // _CONF_ISP_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_usb.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_usb.h
new file mode 100644
index 0000000..5433422
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/conf_usb.h
@@ -0,0 +1,143 @@
+/**
+ * \file
+ *
+ * \brief USB configuration file
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef _CONF_USB_H_
+#define _CONF_USB_H_
+
+#include "compiler.h"
+
+//! To reduce the code size, the interrupt register management from IAR is not used
+#if defined(__ICCAVR32__)
+# include "intc.h"
+# undef irq_register_handler
+# define irq_register_handler(func, int_num, int_lvl) \
+ INTC_register_interrupt(&func, int_num, \
+ TPASTE2(AVR32_INTC_INT, int_lvl))
+# undef ISR
+# define ISR(func, int_grp, int_lvl) \
+ __interrupt static void func (void)
+#endif
+
+/**
+ * USB Device Configuration
+ * @{
+ */
+
+//! Device definition (mandatory)
+#define USB_DEVICE_VENDOR_ID USB_VID_ATMEL
+#if UC3A0 || UC3A1
+#define USB_DEVICE_PRODUCT_ID USB_PID_ATMEL_DFU_AT32UC3A
+#define USB_DEVICE_PRODUCT_NAME "DFU AT32UC3A"
+#elif UC3B
+#define USB_DEVICE_PRODUCT_ID USB_PID_ATMEL_DFU_AT32UC3B
+#define USB_DEVICE_PRODUCT_NAME "DFU AT32UC3B"
+#elif UC3A3
+#define USB_DEVICE_PRODUCT_ID USB_PID_ATMEL_DFU_AT32UC3A3
+#define USB_DEVICE_PRODUCT_NAME "DFU AT32UC3A3"
+#elif UC3C
+#define USB_DEVICE_PRODUCT_ID USB_PID_ATMEL_DFU_AT32UC3C
+#define USB_DEVICE_PRODUCT_NAME "DFU AT32UC3C"
+#elif UC3D
+#define USB_DEVICE_PRODUCT_ID USB_PID_ATMEL_DFU_ATUC3D
+#define USB_DEVICE_PRODUCT_NAME "DFU AT32UC3D"
+#else
+#error Unknow DFU PID for this AVR part
+#endif
+
+#define USB_DEVICE_MAJOR_VERSION (BOOTLOADER_VERSION>>4)
+#define USB_DEVICE_MINOR_VERSION (BOOTLOADER_VERSION&0x0F)
+#define USB_DEVICE_POWER 100 // Consumption on Vbus line (mA)
+#define USB_DEVICE_MANUFACTURE_NAME "ATMEL"
+#define USB_DEVICE_ATTR USB_CONFIG_ATTR_SELF_POWERED
+
+/**
+ * Device speeds support
+ * Only Full speed is authorized on DFU ATMEL
+ * Because FLIP supports only full speed
+ * Also:
+ * - low speed is too slow (endpoint 8 Bytes)
+ * - high speed does not increase flash program speed
+ * - high speed is not supported on custom board with bad USB layout
+ * @{
+ */
+// No speed change possible
+//@}
+
+/**
+ * USB Device Callbacks definitions (Optional)
+ * @{
+ */
+#define UDC_VBUS_EVENT(b_vbus_high) main_vbus_action(b_vbus_high)
+//@}
+
+//@}
+
+
+/**
+ * USB Interface Configuration
+ * @{
+ */
+/**
+ * Configuration of DFU interface
+ * @{
+ */
+//! Interface callback definition
+#define UDI_DFU_ENABLE_EXT() true
+#define UDI_DFU_DISABLE_EXT()
+
+//! Version of ATMEL protocol used
+#define UDI_DFU_ATMEL_PROTOCOL_VERSION DFU_ATMEL_PROTOCOL_VERSION_2
+// Split erase is avaliable since batchisp 1.2.5 to avoid USB protocol 2 error
+#define UDI_DFU_ATMEL_PROTOCOL_2_SPLIT_ERASE_CHIP
+//@}
+//@}
+
+
+/**
+ * USB Device Driver Configuration
+ * @{
+ */
+#define UDD_NO_SLEEP_MGR
+//@}
+
+//! The includes of classes and other headers must be done at the end of this file to avoid compile error
+#include "udi_dfu_atmel_conf.h"
+#include "main.h"
+#include "conf_isp.h" // Need to put bootloader version at USB device version
+
+#endif // _CONF_USB_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/flash_api.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/flash_api.h
new file mode 100644
index 0000000..0c3c352
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/flash_api.h
@@ -0,0 +1,1996 @@
+/*This file is prepared for Doxygen automatic documentation generation.*/
+/*! \file *********************************************************************
+ *
+ * \brief API for AVR UC3 internal FLASH software drivers.
+ *
+ * AVR UC3 Flash Controller software driver module.
+ *
+ * - Compiler: IAR EWAVR32 and GNU GCC for AVR32
+ * - Supported devices: All AVR UC3 devices
+ * - AppNote:
+ *
+ * \author Atmel Corporation: http://www.atmel.com \n
+ * Support and FAQ: http://support.atmel.no/
+ *
+ ******************************************************************************/
+
+/* Copyright (C) 2006-2008, Atmel Corporation All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of ATMEL may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND
+ * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+#ifndef _FLASH_API_H_
+#define _FLASH_API_H_
+
+#include <avr32/io.h>
+#include "compiler.h"
+
+
+#if defined(AVR32_FLASHC)
+
+//! Flash Base Address
+#define FLASH_API_BASE_ADDRESS AVR32_FLASH
+
+#define FLASH_API_SIZE AVR32_FLASH_SIZE
+
+//! Flash size.
+#define FLASH_API_FLASH_SIZE AVR32_FLASHC_FLASH_SIZE
+
+//! Flash page size.
+#define FLASH_API_PAGE_SIZE AVR32_FLASHC_PAGE_SIZE
+
+//! Number of flash regions defined by the FLASHC.
+#define FLASH_API_REGIONS AVR32_FLASHC_REGIONS
+
+//! User page size
+#define FLASH_API_USER_PAGE_SIZE AVR32_FLASHC_USER_PAGE_SIZE
+
+//! User page
+#define FLASH_API_USER_PAGE AVR32_FLASHC_USER_PAGE
+
+//! User page address
+#define FLASH_API_USER_PAGE_ADDRESS AVR32_FLASHC_USER_PAGE_ADDRESS
+
+//! Number of GP fuses
+#define FLASH_API_GPF_NUM AVR32_FLASHC_GPF_NUM
+
+/*! \name Flash commands
+ */
+//! @{
+// Note: all commands supported by the flashc driver should be abstracted here.
+#define FLASH_API_FCMD_CMD_EP AVR32_FLASHC_FCMD_CMD_EP
+#define FLASH_API_FCMD_CMD_EUP AVR32_FLASHC_FCMD_CMD_EUP
+
+//! @}
+
+#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling.
+
+#include "flashc.h"
+
+/*! \name Flash Properties
+ */
+//! @{
+
+/*! \brief Gets the size of the whole flash array.
+ *
+ * \return The size of the whole flash array in bytes.
+ */
+#define flash_api_get_flash_size flashc_get_flash_size
+
+/*! \brief Gets the total number of pages in the flash array.
+ *
+ * \return The total number of pages in the flash array.
+ */
+#define flash_api_get_page_count flashc_get_page_count
+
+/*! \brief Gets the number of pages in each flash region.
+ *
+ * \return The number of pages in each flash region.
+ */
+#define flash_api_get_page_count_per_region flashc_get_page_count_per_region
+
+/*! \brief Gets the region number of a page.
+ *
+ * \param page_number The page number:
+ * \arg \c 0 to <tt>(flash_api_get_page_count() - 1)</tt>: a page number within
+ * the flash array;
+ * \arg <tt>< 0</tt>: the current page number.
+ *
+ * \return The region number of the specified page.
+ */
+#define flash_api_get_page_region flashc_get_page_region
+
+/*! \brief Gets the number of the first page of a region.
+ *
+ * \param region The region number: \c 0 to <tt>(AVR32_FLASHC_REGIONS - 1)</tt>.
+ *
+ * \return The number of the first page of the specified region.
+ */
+#define flash_api_get_region_first_page_number flashc_get_region_first_page_number
+
+//! @}
+
+
+/*! \name FLASHC Control
+ */
+//! @{
+
+/*! \brief Gets the number of wait states of flash read accesses.
+ *
+ * \return The number of wait states of flash read accesses.
+ */
+#define flash_api_get_wait_state flashc_get_wait_state
+
+/*! \brief Sets the number of wait states of flash read accesses.
+ *
+ * \param wait_state The number of wait states of flash read accesses: \c 0 to
+ * \c 1.
+ */
+#define flash_api_set_wait_state flashc_set_wait_state
+
+/*! \brief Tells whether the Flash Ready interrupt is enabled.
+ *
+ * \return Whether the Flash Ready interrupt is enabled.
+ */
+#define flash_api_is_ready_int_enabled flashc_is_ready_int_enabled
+
+/*! \brief Enables or disables the Flash Ready interrupt.
+ *
+ * \param enable Whether to enable the Flash Ready interrupt: \c TRUE or
+ * \c FALSE.
+ */
+#define flash_api_enable_ready_int flashc_enable_ready_int
+
+/*! \brief Tells whether the Lock Error interrupt is enabled.
+ *
+ * \return Whether the Lock Error interrupt is enabled.
+ */
+#define flash_api_is_lock_error_int_enabled flashc_is_lock_error_int_enabled
+
+/*! \brief Enables or disables the Lock Error interrupt.
+ *
+ * \param enable Whether to enable the Lock Error interrupt: \c TRUE or
+ * \c FALSE.
+ */
+#define flash_api_enable_lock_error_int flashc_enable_lock_error_int
+
+/*! \brief Tells whether the Programming Error interrupt is enabled.
+ *
+ * \return Whether the Programming Error interrupt is enabled.
+ */
+#define flash_api_is_prog_error_int_enabled flashc_is_prog_error_int_enabled
+
+/*! \brief Enables or disables the Programming Error interrupt.
+ *
+ * \param enable Whether to enable the Programming Error interrupt: \c TRUE or
+ * \c FALSE.
+ */
+#define flash_api_enable_prog_error_int flashc_enable_prog_error_int
+
+//! @}
+
+
+/*! \name FLASHC Status
+ */
+//! @{
+
+/*! \brief Tells whether the FLASHC is ready to run a new command.
+ *
+ * \return Whether the FLASHC is ready to run a new command.
+ */
+#define flash_api_is_ready flashc_is_ready
+
+/*! \brief Waits actively until the FLASHC is ready to run a new command.
+ *
+ * This is the default function assigned to \ref flash_api_wait_until_ready.
+ */
+#define flash_api_default_wait_until_ready flashc_default_wait_until_ready
+
+//! Pointer to the function used by the driver when it needs to wait until the
+//! FLASHC is ready to run a new command.
+//! The default function is \ref flash_api_default_wait_until_ready.
+//! The user may change this pointer to use another implementation.
+#define flash_api_wait_until_ready flashc_wait_until_ready
+
+/*! \brief Tells whether a Lock Error has occurred during the last function
+ * called that issued one or more FLASHC commands.
+ *
+ * \return Whether a Lock Error has occurred during the last function called
+ * that issued one or more FLASHC commands.
+ */
+#define flash_api_is_lock_error flashc_is_lock_error
+
+/*! \brief Tells whether a Programming Error has occurred during the last
+ * function called that issued one or more FLASHC commands.
+ *
+ * \return Whether a Programming Error has occurred during the last function
+ * called that issued one or more FLASHC commands.
+*/
+#define flash_api_is_programming_error flashc_is_programming_error
+
+//! @}
+
+
+/*! \name FLASHC Command Control
+ */
+//! @{
+
+/*! \brief Gets the last issued FLASHC command.
+ *
+ * \return The last issued FLASHC command.
+ */
+#define flash_api_get_command flashc_get_command
+
+/*! \brief Gets the current FLASHC page number.
+ *
+ * \return The current FLASHC page number.
+ */
+#define flash_api_get_page_number flashc_get_page_number
+
+/*! \brief Issues a FLASHC command.
+ *
+ * \param command The command: \c AVR32_FLASHC_FCMD_CMD_x.
+ * \param page_number The page number to apply the command to:
+ * \arg \c 0 to <tt>(flash_api_get_page_count() - 1)</tt>: a page number within
+ * the flash array;
+ * \arg <tt>< 0</tt>: use this to apply the command to the current page number
+ * or if the command does not apply to any page number;
+ * \arg this argument may have other meanings according to the command. See
+ * the FLASHC chapter of the MCU datasheet.
+ *
+ * \warning A Lock Error is issued if the command violates the protection
+ * mechanism.
+ *
+ * \warning A Programming Error is issued if the command is invalid.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_issue_command flashc_issue_command
+
+//! @}
+
+
+/*! \name FLASHC Global Commands
+ */
+//! @{
+
+/*! \brief Issues a No Operation command to the FLASHC.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_no_operation flashc_no_operation
+
+/*! \brief Issues an Erase All command to the FLASHC.
+ *
+ * This command erases all bits in the flash array, the general-purpose fuse
+ * bits and the Security bit. The User page is not erased.
+ *
+ * This command also ensures that all volatile memories, such as register file
+ * and RAMs, are erased before the Security bit is erased, i.e. deactivated.
+ *
+ * \warning A Lock Error is issued if at least one region is locked or the
+ * bootloader protection is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note An erase operation can only set bits.
+ */
+#define flash_api_erase_all flashc_erase_all
+
+//! @}
+
+
+/*! \name FLASHC Protection Mechanisms
+ */
+//! @{
+
+/*! \brief Tells whether the Security bit is active.
+ *
+ * \return Whether the Security bit is active.
+ */
+#define flash_api_is_security_bit_active flashc_is_security_bit_active
+
+/*! \brief Activates the Security bit.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_activate_security_bit flashc_activate_security_bit
+
+/*! \brief Gets the bootloader protected size.
+ *
+ * \return The bootloader protected size in bytes.
+ */
+#define flash_api_get_bootloader_protected_size flashc_get_bootloader_protected_size
+
+/*! \brief Sets the bootloader protected size.
+ *
+ * \param bootprot_size The wanted bootloader protected size in bytes. If this
+ * size is not supported, the actual size will be the
+ * nearest greater available size or the maximal possible
+ * size if the requested size is too large.
+ *
+ * \return The actual bootloader protected size in bytes.
+ *
+ * \warning A Lock Error is issued if the Security bit is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_set_bootloader_protected_size flashc_set_bootloader_protected_size
+
+/*! \brief Tells whether external privileged fetch is locked.
+ *
+ * \return Whether external privileged fetch is locked.
+ */
+#define flash_api_is_external_privileged_fetch_locked flashc_is_external_privileged_fetch_locked
+
+/*! \brief Locks or unlocks external privileged fetch.
+ *
+ * \param lock Whether to lock external privileged fetch: \c TRUE or \c FALSE.
+ *
+ * \warning A Lock Error is issued if the Security bit is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_lock_external_privileged_fetch flashc_lock_external_privileged_fetch
+
+/*! \brief Tells whether the region of a page is locked.
+ *
+ * \param page_number The page number:
+ * \arg \c 0 to <tt>(flash_api_get_page_count() - 1)</tt>: a page number within
+ * the flash array;
+ * \arg <tt>< 0</tt>: the current page number.
+ *
+ * \return Whether the region of the specified page is locked.
+ */
+#define flash_api_is_page_region_locked flashc_is_page_region_locked
+
+/*! \brief Tells whether a region is locked.
+ *
+ * \param region The region number: \c 0 to <tt>(AVR32_FLASHC_REGIONS - 1)</tt>.
+ *
+ * \return Whether the specified region is locked.
+ */
+#define flash_api_is_region_locked flashc_is_region_locked
+
+/*! \brief Locks or unlocks the region of a page.
+ *
+ * \param page_number The page number:
+ * \arg \c 0 to <tt>(flash_api_get_page_count() - 1)</tt>: a page number within
+ * the flash array;
+ * \arg <tt>< 0</tt>: the current page number.
+ * \param lock Whether to lock the region of the specified page: \c TRUE or
+ * \c FALSE.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_lock_page_region flashc_lock_page_region
+
+/*! \brief Locks or unlocks a region.
+ *
+ * \param region The region number: \c 0 to <tt>(AVR32_FLASHC_REGIONS - 1)</tt>.
+ * \param lock Whether to lock the specified region: \c TRUE or \c FALSE.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_lock_region flashc_lock_region
+
+/*! \brief Locks or unlocks all regions.
+ *
+ * \param lock Whether to lock the regions: \c TRUE or \c FALSE.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_lock_all_regions flashc_lock_all_regions
+
+//! @}
+
+
+/*! \name Access to General-Purpose Fuses
+ */
+//! @{
+
+/*! \brief Reads a general-purpose fuse bit.
+ *
+ * \param gp_fuse_bit The general-purpose fuse bit: \c 0 to \c 63.
+ *
+ * \return The value of the specified general-purpose fuse bit.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_read_gp_fuse_bit flashc_read_gp_fuse_bit
+
+/*! \brief Reads a general-purpose fuse bit-field.
+ *
+ * \param pos The bit-position of the general-purpose fuse bit-field: \c 0 to
+ * \c 63.
+ * \param width The bit-width of the general-purpose fuse bit-field: \c 0 to
+ * \c 64.
+ *
+ * \return The value of the specified general-purpose fuse bit-field.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_read_gp_fuse_bitfield flashc_read_gp_fuse_bitfield
+
+/*! \brief Reads a general-purpose fuse byte.
+ *
+ * \param gp_fuse_byte The general-purpose fuse byte: \c 0 to \c 7.
+ *
+ * \return The value of the specified general-purpose fuse byte.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_read_gp_fuse_byte flashc_read_gp_fuse_byte
+
+/*! \brief Reads all general-purpose fuses.
+ *
+ * \return The value of all general-purpose fuses as a word.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_read_all_gp_fuses flashc_read_all_gp_fuses
+
+/*! \brief Erases a general-purpose fuse bit.
+ *
+ * \param gp_fuse_bit The general-purpose fuse bit: \c 0 to \c 63.
+ * \param check Whether to check erase: \c TRUE or \c FALSE.
+ *
+ * \return Whether the erase succeeded or always \c TRUE if erase check was not
+ * requested.
+ *
+ * \warning A Lock Error is issued if the Security bit is active and the command
+ * is applied to BOOTPROT or EPFL fuses.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note An erase operation can only set bits.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_erase_gp_fuse_bit flashc_erase_gp_fuse_bit
+
+/*! \brief Erases a general-purpose fuse bit-field.
+ *
+ * \param pos The bit-position of the general-purpose fuse bit-field: \c 0 to
+ * \c 63.
+ * \param width The bit-width of the general-purpose fuse bit-field: \c 0 to
+ * \c 64.
+ * \param check Whether to check erase: \c TRUE or \c FALSE.
+ *
+ * \return Whether the erase succeeded or always \c TRUE if erase check was not
+ * requested.
+ *
+ * \warning A Lock Error is issued if the Security bit is active and the command
+ * is applied to BOOTPROT or EPFL fuses.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note An erase operation can only set bits.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_erase_gp_fuse_bitfield flashc_erase_gp_fuse_bitfield
+
+/*! \brief Erases a general-purpose fuse byte.
+ *
+ * \param gp_fuse_byte The general-purpose fuse byte: \c 0 to \c 7.
+ * \param check Whether to check erase: \c TRUE or \c FALSE.
+ *
+ * \return Whether the erase succeeded or always \c TRUE if erase check was not
+ * requested.
+ *
+ * \warning A Lock Error is issued if the Security bit is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note An erase operation can only set bits.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_erase_gp_fuse_byte flashc_erase_gp_fuse_byte
+
+/*! \brief Erases all general-purpose fuses.
+ *
+ * \param check Whether to check erase: \c TRUE or \c FALSE.
+ *
+ * \return Whether the erase succeeded or always \c TRUE if erase check was not
+ * requested.
+ *
+ * \warning A Lock Error is issued if the Security bit is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note An erase operation can only set bits.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_erase_all_gp_fuses flashc_erase_all_gp_fuses
+
+/*! \brief Writes a general-purpose fuse bit.
+ *
+ * \param gp_fuse_bit The general-purpose fuse bit: \c 0 to \c 63.
+ * \param value The value of the specified general-purpose fuse bit.
+ *
+ * \warning A Lock Error is issued if the Security bit is active and the command
+ * is applied to BOOTPROT or EPFL fuses.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note A write operation can only clear bits.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_write_gp_fuse_bit flashc_write_gp_fuse_bit
+
+/*! \brief Writes a general-purpose fuse bit-field.
+ *
+ * \param pos The bit-position of the general-purpose fuse bit-field: \c 0 to
+ * \c 63.
+ * \param width The bit-width of the general-purpose fuse bit-field: \c 0 to
+ * \c 64.
+ * \param value The value of the specified general-purpose fuse bit-field.
+ *
+ * \warning A Lock Error is issued if the Security bit is active and the command
+ * is applied to BOOTPROT or EPFL fuses.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note A write operation can only clear bits.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_write_gp_fuse_bitfield flashc_write_gp_fuse_bitfield
+
+/*! \brief Writes a general-purpose fuse byte.
+ *
+ * \param gp_fuse_byte The general-purpose fuse byte: \c 0 to \c 7.
+ * \param value The value of the specified general-purpose fuse byte.
+ *
+ * \warning A Lock Error is issued if the Security bit is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note A write operation can only clear bits.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_write_gp_fuse_byte flashc_write_gp_fuse_byte
+
+/*! \brief Writes all general-purpose fuses.
+ *
+ * \param value The value of all general-purpose fuses as a word.
+ *
+ * \warning A Lock Error is issued if the Security bit is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note A write operation can only clear bits.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_write_all_gp_fuses flashc_write_all_gp_fuses
+
+/*! \brief Sets a general-purpose fuse bit with the appropriate erase and write
+ * operations.
+ *
+ * \param gp_fuse_bit The general-purpose fuse bit: \c 0 to \c 63.
+ * \param value The value of the specified general-purpose fuse bit.
+ *
+ * \warning A Lock Error is issued if the Security bit is active and the command
+ * is applied to BOOTPROT or EPFL fuses.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_set_gp_fuse_bit flashc_set_gp_fuse_bit
+
+/*! \brief Sets a general-purpose fuse bit-field with the appropriate erase and
+ * write operations.
+ *
+ * \param pos The bit-position of the general-purpose fuse bit-field: \c 0 to
+ * \c 63.
+ * \param width The bit-width of the general-purpose fuse bit-field: \c 0 to
+ * \c 64.
+ * \param value The value of the specified general-purpose fuse bit-field.
+ *
+ * \warning A Lock Error is issued if the Security bit is active and the command
+ * is applied to BOOTPROT or EPFL fuses.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_set_gp_fuse_bitfield flashc_set_gp_fuse_bitfield
+
+/*! \brief Sets a general-purpose fuse byte with the appropriate erase and write
+ * operations.
+ *
+ * \param gp_fuse_byte The general-purpose fuse byte: \c 0 to \c 7.
+ * \param value The value of the specified general-purpose fuse byte.
+ *
+ * \warning A Lock Error is issued if the Security bit is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_set_gp_fuse_byte flashc_set_gp_fuse_byte
+
+/*! \brief Sets all general-purpose fuses with the appropriate erase and write
+ * operations.
+ *
+ * \param value The value of all general-purpose fuses as a word.
+ *
+ * \warning A Lock Error is issued if the Security bit is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_set_all_gp_fuses flashc_set_all_gp_fuses
+
+//! @}
+
+
+/*! \name Access to Flash Pages
+ */
+//! @{
+
+/*! \brief Clears the page buffer.
+ *
+ * This command resets all bits in the page buffer to one. Write accesses to the
+ * page buffer can only change page buffer bits from one to zero.
+ *
+ * \warning The page buffer is not automatically reset after a page write.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_clear_page_buffer flashc_clear_page_buffer
+
+/*! \brief Tells whether the page to which the last Quick Page Read or Quick
+ * Page Read User Page command was applied was erased.
+ *
+ * \return Whether the page to which the last Quick Page Read or Quick Page Read
+ * User Page command was applied was erased.
+ */
+#define flash_api_is_page_erased flashc_is_page_erased
+
+/*! \brief Applies the Quick Page Read command to a page.
+ *
+ * \param page_number The page number:
+ * \arg \c 0 to <tt>(flash_api_get_page_count() - 1)</tt>: a page number within
+ * the flash array;
+ * \arg <tt>< 0</tt>: the current page number.
+ *
+ * \return Whether the specified page is erased.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_quick_page_read flashc_quick_page_read
+
+/*! \brief Erases a page.
+ *
+ * \param page_number The page number:
+ * \arg \c 0 to <tt>(flash_api_get_page_count() - 1)</tt>: a page number within
+ * the flash array;
+ * \arg <tt>< 0</tt>: the current page number.
+ * \param check Whether to check erase: \c TRUE or \c FALSE.
+ *
+ * \return Whether the erase succeeded or always \c TRUE if erase check was not
+ * requested.
+ *
+ * \warning A Lock Error is issued if the command is applied to a page belonging
+ * to a locked region or to the bootloader protected area.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note An erase operation can only set bits.
+ */
+#define flash_api_erase_page flashc_erase_page
+
+/*! \brief Erases all pages within the flash array.
+ *
+ * \param check Whether to check erase: \c TRUE or \c FALSE.
+ *
+ * \return Whether the erase succeeded or always \c TRUE if erase check was not
+ * requested.
+ *
+ * \warning A Lock Error is issued if at least one region is locked or the
+ * bootloader protection is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note An erase operation can only set bits.
+ */
+#define flash_api_erase_all_pages flashc_erase_all_pages
+
+/*! \brief Writes a page from the page buffer.
+ *
+ * \param page_number The page number:
+ * \arg \c 0 to <tt>(flash_api_get_page_count() - 1)</tt>: a page number within
+ * the flash array;
+ * \arg <tt>< 0</tt>: the current page number.
+ *
+ * \warning A Lock Error is issued if the command is applied to a page belonging
+ * to a locked region or to the bootloader protected area.
+ *
+ * \warning The page buffer is not automatically reset after a page write.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note A write operation can only clear bits.
+ */
+#define flash_api_write_page flashc_write_page
+
+/*! \brief Issues a Quick Page Read User Page command to the FLASHC.
+ *
+ * \return Whether the User page is erased.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_quick_user_page_read flashc_quick_user_page_read
+
+/*! \brief Erases the User page.
+ *
+ * \param check Whether to check erase: \c TRUE or \c FALSE.
+ *
+ * \return Whether the erase succeeded or always \c TRUE if erase check was not
+ * requested.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note An erase operation can only set bits.
+ */
+#define flash_api_erase_user_page flashc_erase_user_page
+
+/*! \brief Writes the User page from the page buffer.
+ *
+ * \warning The page buffer is not automatically reset after a page write.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note A write operation can only clear bits.
+ */
+#define flash_api_write_user_page flashc_write_user_page
+
+/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst
+ * from the repeated \a src source byte.
+ *
+ * The destination areas that are not within the flash array or the User page
+ * are ignored.
+ *
+ * All pointer and size alignments are supported.
+ *
+ * \param dst Pointer to flash destination.
+ * \param src Source byte.
+ * \param nbytes Number of bytes to set.
+ * \param erase Whether to erase before writing: \c TRUE or \c FALSE.
+ *
+ * \return The value of \a dst.
+ *
+ * \warning This function may be called with \a erase set to \c FALSE only if
+ * the destination consists only of erased words, i.e. this function
+ * can not be used to write only one bit of a previously written word.
+ * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the
+ * resulting value in flash may be different from \c 0x00000000.
+ *
+ * \warning A Lock Error is issued if the command is applied to pages belonging
+ * to a locked region or to the bootloader protected area.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_memset8 flashc_memset8
+
+/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst
+ * from the repeated \a src big-endian source half-word.
+ *
+ * The destination areas that are not within the flash array or the User page
+ * are ignored.
+ *
+ * All pointer and size alignments are supported.
+ *
+ * \param dst Pointer to flash destination.
+ * \param src Source half-word.
+ * \param nbytes Number of bytes to set.
+ * \param erase Whether to erase before writing: \c TRUE or \c FALSE.
+ *
+ * \return The value of \a dst.
+ *
+ * \warning This function may be called with \a erase set to \c FALSE only if
+ * the destination consists only of erased words, i.e. this function
+ * can not be used to write only one bit of a previously written word.
+ * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the
+ * resulting value in flash may be different from \c 0x00000000.
+ *
+ * \warning A Lock Error is issued if the command is applied to pages belonging
+ * to a locked region or to the bootloader protected area.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_memset16 flashc_memset16
+
+/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst
+ * from the repeated \a src big-endian source word.
+ *
+ * The destination areas that are not within the flash array or the User page
+ * are ignored.
+ *
+ * All pointer and size alignments are supported.
+ *
+ * \param dst Pointer to flash destination.
+ * \param src Source word.
+ * \param nbytes Number of bytes to set.
+ * \param erase Whether to erase before writing: \c TRUE or \c FALSE.
+ *
+ * \return The value of \a dst.
+ *
+ * \warning This function may be called with \a erase set to \c FALSE only if
+ * the destination consists only of erased words, i.e. this function
+ * can not be used to write only one bit of a previously written word.
+ * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the
+ * resulting value in flash may be different from \c 0x00000000.
+ *
+ * \warning A Lock Error is issued if the command is applied to pages belonging
+ * to a locked region or to the bootloader protected area.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_memset32 flashc_memset32
+
+/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst
+ * from the repeated \a src big-endian source double-word.
+ *
+ * The destination areas that are not within the flash array or the User page
+ * are ignored.
+ *
+ * All pointer and size alignments are supported.
+ *
+ * \param dst Pointer to flash destination.
+ * \param src Source double-word.
+ * \param nbytes Number of bytes to set.
+ * \param erase Whether to erase before writing: \c TRUE or \c FALSE.
+ *
+ * \return The value of \a dst.
+ *
+ * \warning This function may be called with \a erase set to \c FALSE only if
+ * the destination consists only of erased words, i.e. this function
+ * can not be used to write only one bit of a previously written word.
+ * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the
+ * resulting value in flash may be different from \c 0x00000000.
+ *
+ * \warning A Lock Error is issued if the command is applied to pages belonging
+ * to a locked region or to the bootloader protected area.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_memset64 flashc_memset64
+
+/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst
+ * from the repeated \a src big-endian source pattern.
+ *
+ * The destination areas that are not within the flash array or the User page
+ * are ignored.
+ *
+ * All pointer and size alignments are supported.
+ *
+ * \param dst Pointer to flash destination.
+ * \param src Source double-word.
+ * \param src_width \a src width in bits: 8, 16, 32 or 64.
+ * \param nbytes Number of bytes to set.
+ * \param erase Whether to erase before writing: \c TRUE or \c FALSE.
+ *
+ * \return The value of \a dst.
+ *
+ * \warning This function may be called with \a erase set to \c FALSE only if
+ * the destination consists only of erased words, i.e. this function
+ * can not be used to write only one bit of a previously written word.
+ * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the
+ * resulting value in flash may be different from \c 0x00000000.
+ *
+ * \warning A Lock Error is issued if the command is applied to pages belonging
+ * to a locked region or to the bootloader protected area.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_memset flashc_memset
+
+/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst
+ * from the source pointed to by \a src.
+ *
+ * The destination areas that are not within the flash array or the User page
+ * are ignored.
+ *
+ * All pointer and size alignments are supported.
+ *
+ * \param dst Pointer to flash destination.
+ * \param src Pointer to source data.
+ * \param nbytes Number of bytes to copy.
+ * \param erase Whether to erase before writing: \c TRUE or \c FALSE.
+ *
+ * \return The value of \a dst.
+ *
+ * \warning If copying takes place between areas that overlap, the behavior is
+ * undefined.
+ *
+ * \warning This function may be called with \a erase set to \c FALSE only if
+ * the destination consists only of erased words, i.e. this function
+ * can not be used to write only one bit of a previously written word.
+ * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the
+ * resulting value in flash may be different from \c 0x00000000.
+ *
+ * \warning A Lock Error is issued if the command is applied to pages belonging
+ * to a locked region or to the bootloader protected area.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_memcpy flashc_memcpy
+
+//! @}
+#endif // __AVR32_ABI_COMPILER__
+
+#elif defined(AVR32_FLASHCDW)
+
+//! Flash Base Address
+#define FLASH_API_BASE_ADDRESS AVR32_FLASHCDW_BASE_ADDRESS
+
+#define FLASH_API_SIZE AVR32_FLASHCDW_FLASH_SIZE
+
+//! Flash size.
+#define FLASH_API_FLASH_SIZE AVR32_FLASHCDW_FLASH_SIZE
+
+//! Flash page size.
+#define FLASH_API_PAGE_SIZE AVR32_FLASHCDW_PAGE_SIZE
+
+//! Number of flash regions defined by the FLASHCDW.
+#define FLASH_API_REGIONS AVR32_FLASHCDW_REGIONS
+
+//! User page size
+#define FLASH_API_USER_PAGE_SIZE AVR32_FLASHCDW_USER_PAGE_SIZE
+
+//! User page
+#define FLASH_API_USER_PAGE AVR32_FLASHCDW_USER_PAGE
+
+//! User page address
+#define FLASH_API_USER_PAGE_ADDRESS AVR32_FLASHCDW_USER_PAGE_ADDRESS
+
+//! Number of GP fuses
+#define FLASH_API_GPF_NUM AVR32_FLASHC_GPF_NUM
+
+/*! \name Flash commands
+ */
+//! @{
+// Note: all commands supported by the flashcdw driver should be abstracted here.
+#define FLASH_API_FCMD_CMD_EP AVR32_FLASHCDW_FCMD_CMD_EP
+#define FLASH_API_FCMD_CMD_EUP AVR32_FLASHCDW_FCMD_CMD_EUP
+
+//! @}
+
+#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling.
+
+#include "flashcdw.h"
+
+/*! \name Flash Properties
+ */
+//! @{
+
+/*! \brief Gets the size of the whole flash array.
+ *
+ * \return The size of the whole flash array in bytes.
+ */
+#define flash_api_get_flash_size flashcdw_get_flash_size
+
+/*! \brief Gets the total number of pages in the flash array.
+ *
+ * \return The total number of pages in the flash array.
+ */
+#define flash_api_get_page_count flashcdw_get_page_count
+
+/*! \brief Gets the number of pages in each flash region.
+ *
+ * \return The number of pages in each flash region.
+ */
+#define flash_api_get_page_count_per_region flashcdw_get_page_count_per_region
+
+/*! \brief Gets the region number of a page.
+ *
+ * \param page_number The page number:
+ * \arg \c 0 to <tt>(flash_api_get_page_count() - 1)</tt>: a page number within
+ * the flash array;
+ * \arg <tt>< 0</tt>: the current page number.
+ *
+ * \return The region number of the specified page.
+ */
+#define flash_api_get_page_region flashcdw_get_page_region
+
+/*! \brief Gets the number of the first page of a region.
+ *
+ * \param region The region number: \c 0 to <tt>(AVR32_FLASHC_REGIONS - 1)</tt>.
+ *
+ * \return The number of the first page of the specified region.
+ */
+#define flash_api_get_region_first_page_number flashcdw_get_region_first_page_number
+
+//! @}
+
+
+/*! \name FLASHC Control
+ */
+//! @{
+
+/*! \brief Gets the number of wait states of flash read accesses.
+ *
+ * \return The number of wait states of flash read accesses.
+ */
+#define flash_api_get_wait_state flashcdw_get_wait_state
+
+/*! \brief Sets the number of wait states of flash read accesses.
+ *
+ * \param wait_state The number of wait states of flash read accesses: \c 0 to
+ * \c 1.
+ */
+#define flash_api_set_wait_state flashcdw_set_wait_state
+
+/*! \brief Tells whether the Flash Ready interrupt is enabled.
+ *
+ * \return Whether the Flash Ready interrupt is enabled.
+ */
+#define flash_api_is_ready_int_enabled flashcdw_is_ready_int_enabled
+
+/*! \brief Enables or disables the Flash Ready interrupt.
+ *
+ * \param enable Whether to enable the Flash Ready interrupt: \c TRUE or
+ * \c FALSE.
+ */
+#define flash_api_enable_ready_int flashcdw_enable_ready_int
+
+/*! \brief Tells whether the Lock Error interrupt is enabled.
+ *
+ * \return Whether the Lock Error interrupt is enabled.
+ */
+#define flash_api_is_lock_error_int_enabled flashcdw_is_lock_error_int_enabled
+
+/*! \brief Enables or disables the Lock Error interrupt.
+ *
+ * \param enable Whether to enable the Lock Error interrupt: \c TRUE or
+ * \c FALSE.
+ */
+#define flash_api_enable_lock_error_int flashcdw_enable_lock_error_int
+
+/*! \brief Tells whether the Programming Error interrupt is enabled.
+ *
+ * \return Whether the Programming Error interrupt is enabled.
+ */
+#define flash_api_is_prog_error_int_enabled flashcdw_is_prog_error_int_enabled
+
+/*! \brief Enables or disables the Programming Error interrupt.
+ *
+ * \param enable Whether to enable the Programming Error interrupt: \c TRUE or
+ * \c FALSE.
+ */
+#define flash_api_enable_prog_error_int flashcdw_enable_prog_error_int
+
+//! @}
+
+
+/*! \name FLASHC Status
+ */
+//! @{
+
+/*! \brief Tells whether the FLASHC is ready to run a new command.
+ *
+ * \return Whether the FLASHC is ready to run a new command.
+ */
+#define flash_api_is_ready flashcdw_is_ready
+
+/*! \brief Waits actively until the FLASHC is ready to run a new command.
+ *
+ * This is the default function assigned to \ref flash_api_wait_until_ready.
+ */
+#define flash_api_default_wait_until_ready flashcdw_default_wait_until_ready
+
+//! Pointer to the function used by the driver when it needs to wait until the
+//! FLASHC is ready to run a new command.
+//! The default function is \ref flash_api_default_wait_until_ready.
+//! The user may change this pointer to use another implementation.
+#define flash_api_wait_until_ready flashcdw_wait_until_ready
+
+/*! \brief Tells whether a Lock Error has occurred during the last function
+ * called that issued one or more FLASHC commands.
+ *
+ * \return Whether a Lock Error has occurred during the last function called
+ * that issued one or more FLASHC commands.
+ */
+#define flash_api_is_lock_error flashcdw_is_lock_error
+
+/*! \brief Tells whether a Programming Error has occurred during the last
+ * function called that issued one or more FLASHC commands.
+ *
+ * \return Whether a Programming Error has occurred during the last function
+ * called that issued one or more FLASHC commands.
+*/
+#define flash_api_is_programming_error flashcdw_is_programming_error
+
+//! @}
+
+
+/*! \name FLASHC Command Control
+ */
+//! @{
+
+/*! \brief Gets the last issued FLASHC command.
+ *
+ * \return The last issued FLASHC command.
+ */
+#define flash_api_get_command flashcdw_get_command
+
+/*! \brief Gets the current FLASHC page number.
+ *
+ * \return The current FLASHC page number.
+ */
+#define flash_api_get_page_number flashcdw_get_page_number
+
+/*! \brief Issues a FLASHC command.
+ *
+ * \param command The command: \c AVR32_FLASHC_FCMD_CMD_x.
+ * \param page_number The page number to apply the command to:
+ * \arg \c 0 to <tt>(flash_api_get_page_count() - 1)</tt>: a page number within
+ * the flash array;
+ * \arg <tt>< 0</tt>: use this to apply the command to the current page number
+ * or if the command does not apply to any page number;
+ * \arg this argument may have other meanings according to the command. See
+ * the FLASHC chapter of the MCU datasheet.
+ *
+ * \warning A Lock Error is issued if the command violates the protection
+ * mechanism.
+ *
+ * \warning A Programming Error is issued if the command is invalid.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_issue_command flashcdw_issue_command
+
+//! @}
+
+
+/*! \name FLASHC Global Commands
+ */
+//! @{
+
+/*! \brief Issues a No Operation command to the FLASHC.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_no_operation flashcdw_no_operation
+
+/*! \brief Issues an Erase All command to the FLASHC.
+ *
+ * This command erases all bits in the flash array, the general-purpose fuse
+ * bits and the Security bit. The User page is not erased.
+ *
+ * This command also ensures that all volatile memories, such as register file
+ * and RAMs, are erased before the Security bit is erased, i.e. deactivated.
+ *
+ * \warning A Lock Error is issued if at least one region is locked or the
+ * bootloader protection is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note An erase operation can only set bits.
+ */
+#define flash_api_erase_all flashcdw_erase_all
+
+//! @}
+
+
+/*! \name FLASHC Protection Mechanisms
+ */
+//! @{
+
+/*! \brief Tells whether the Security bit is active.
+ *
+ * \return Whether the Security bit is active.
+ */
+#define flash_api_is_security_bit_active flashcdw_is_security_bit_active
+
+/*! \brief Activates the Security bit.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_activate_security_bit flashcdw_activate_security_bit
+
+/*! \brief Gets the bootloader protected size.
+ *
+ * \return The bootloader protected size in bytes.
+ */
+#define flash_api_get_bootloader_protected_size flashcdw_get_bootloader_protected_size
+
+/*! \brief Sets the bootloader protected size.
+ *
+ * \param bootprot_size The wanted bootloader protected size in bytes. If this
+ * size is not supported, the actual size will be the
+ * nearest greater available size or the maximal possible
+ * size if the requested size is too large.
+ *
+ * \return The actual bootloader protected size in bytes.
+ *
+ * \warning A Lock Error is issued if the Security bit is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_set_bootloader_protected_size flashcdw_set_bootloader_protected_size
+
+/*! \brief Tells whether external privileged fetch is locked.
+ *
+ * \return Whether external privileged fetch is locked.
+ */
+#define flash_api_is_external_privileged_fetch_locked flashcdw_is_external_privileged_fetch_locked
+
+/*! \brief Locks or unlocks external privileged fetch.
+ *
+ * \param lock Whether to lock external privileged fetch: \c TRUE or \c FALSE.
+ *
+ * \warning A Lock Error is issued if the Security bit is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_lock_external_privileged_fetch flashcdw_lock_external_privileged_fetch
+
+/*! \brief Tells whether the region of a page is locked.
+ *
+ * \param page_number The page number:
+ * \arg \c 0 to <tt>(flash_api_get_page_count() - 1)</tt>: a page number within
+ * the flash array;
+ * \arg <tt>< 0</tt>: the current page number.
+ *
+ * \return Whether the region of the specified page is locked.
+ */
+#define flash_api_is_page_region_locked flashcdw_is_page_region_locked
+
+/*! \brief Tells whether a region is locked.
+ *
+ * \param region The region number: \c 0 to <tt>(AVR32_FLASHC_REGIONS - 1)</tt>.
+ *
+ * \return Whether the specified region is locked.
+ */
+#define flash_api_is_region_locked flashcdw_is_region_locked
+
+/*! \brief Locks or unlocks the region of a page.
+ *
+ * \param page_number The page number:
+ * \arg \c 0 to <tt>(flash_api_get_page_count() - 1)</tt>: a page number within
+ * the flash array;
+ * \arg <tt>< 0</tt>: the current page number.
+ * \param lock Whether to lock the region of the specified page: \c TRUE or
+ * \c FALSE.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_lock_page_region flashcdw_lock_page_region
+
+/*! \brief Locks or unlocks a region.
+ *
+ * \param region The region number: \c 0 to <tt>(AVR32_FLASHC_REGIONS - 1)</tt>.
+ * \param lock Whether to lock the specified region: \c TRUE or \c FALSE.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_lock_region flashcdw_lock_region
+
+/*! \brief Locks or unlocks all regions.
+ *
+ * \param lock Whether to lock the regions: \c TRUE or \c FALSE.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_lock_all_regions flashcdw_lock_all_regions
+
+//! @}
+
+
+/*! \name Access to General-Purpose Fuses
+ */
+//! @{
+
+/*! \brief Reads a general-purpose fuse bit.
+ *
+ * \param gp_fuse_bit The general-purpose fuse bit: \c 0 to \c 63.
+ *
+ * \return The value of the specified general-purpose fuse bit.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_read_gp_fuse_bit flashcdw_read_gp_fuse_bit
+
+/*! \brief Reads a general-purpose fuse bit-field.
+ *
+ * \param pos The bit-position of the general-purpose fuse bit-field: \c 0 to
+ * \c 63.
+ * \param width The bit-width of the general-purpose fuse bit-field: \c 0 to
+ * \c 64.
+ *
+ * \return The value of the specified general-purpose fuse bit-field.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_read_gp_fuse_bitfield flashcdw_read_gp_fuse_bitfield
+
+/*! \brief Reads a general-purpose fuse byte.
+ *
+ * \param gp_fuse_byte The general-purpose fuse byte: \c 0 to \c 7.
+ *
+ * \return The value of the specified general-purpose fuse byte.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_read_gp_fuse_byte flashcdw_read_gp_fuse_byte
+
+/*! \brief Reads all general-purpose fuses.
+ *
+ * \return The value of all general-purpose fuses as a word.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_read_all_gp_fuses flashcdw_read_all_gp_fuses
+
+/*! \brief Erases a general-purpose fuse bit.
+ *
+ * \param gp_fuse_bit The general-purpose fuse bit: \c 0 to \c 63.
+ * \param check Whether to check erase: \c TRUE or \c FALSE.
+ *
+ * \return Whether the erase succeeded or always \c TRUE if erase check was not
+ * requested.
+ *
+ * \warning A Lock Error is issued if the Security bit is active and the command
+ * is applied to BOOTPROT or EPFL fuses.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note An erase operation can only set bits.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_erase_gp_fuse_bit flashcdw_erase_gp_fuse_bit
+
+/*! \brief Erases a general-purpose fuse bit-field.
+ *
+ * \param pos The bit-position of the general-purpose fuse bit-field: \c 0 to
+ * \c 63.
+ * \param width The bit-width of the general-purpose fuse bit-field: \c 0 to
+ * \c 64.
+ * \param check Whether to check erase: \c TRUE or \c FALSE.
+ *
+ * \return Whether the erase succeeded or always \c TRUE if erase check was not
+ * requested.
+ *
+ * \warning A Lock Error is issued if the Security bit is active and the command
+ * is applied to BOOTPROT or EPFL fuses.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note An erase operation can only set bits.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_erase_gp_fuse_bitfield flashcdw_erase_gp_fuse_bitfield
+
+/*! \brief Erases a general-purpose fuse byte.
+ *
+ * \param gp_fuse_byte The general-purpose fuse byte: \c 0 to \c 7.
+ * \param check Whether to check erase: \c TRUE or \c FALSE.
+ *
+ * \return Whether the erase succeeded or always \c TRUE if erase check was not
+ * requested.
+ *
+ * \warning A Lock Error is issued if the Security bit is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note An erase operation can only set bits.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_erase_gp_fuse_byte flashcdw_erase_gp_fuse_byte
+
+/*! \brief Erases all general-purpose fuses.
+ *
+ * \param check Whether to check erase: \c TRUE or \c FALSE.
+ *
+ * \return Whether the erase succeeded or always \c TRUE if erase check was not
+ * requested.
+ *
+ * \warning A Lock Error is issued if the Security bit is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note An erase operation can only set bits.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_erase_all_gp_fuses flashcdw_erase_all_gp_fuses
+
+/*! \brief Writes a general-purpose fuse bit.
+ *
+ * \param gp_fuse_bit The general-purpose fuse bit: \c 0 to \c 63.
+ * \param value The value of the specified general-purpose fuse bit.
+ *
+ * \warning A Lock Error is issued if the Security bit is active and the command
+ * is applied to BOOTPROT or EPFL fuses.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note A write operation can only clear bits.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_write_gp_fuse_bit flashcdw_write_gp_fuse_bit
+
+/*! \brief Writes a general-purpose fuse bit-field.
+ *
+ * \param pos The bit-position of the general-purpose fuse bit-field: \c 0 to
+ * \c 63.
+ * \param width The bit-width of the general-purpose fuse bit-field: \c 0 to
+ * \c 64.
+ * \param value The value of the specified general-purpose fuse bit-field.
+ *
+ * \warning A Lock Error is issued if the Security bit is active and the command
+ * is applied to BOOTPROT or EPFL fuses.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note A write operation can only clear bits.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_write_gp_fuse_bitfield flashcdw_write_gp_fuse_bitfield
+
+/*! \brief Writes a general-purpose fuse byte.
+ *
+ * \param gp_fuse_byte The general-purpose fuse byte: \c 0 to \c 7.
+ * \param value The value of the specified general-purpose fuse byte.
+ *
+ * \warning A Lock Error is issued if the Security bit is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note A write operation can only clear bits.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_write_gp_fuse_byte flashcdw_write_gp_fuse_byte
+
+/*! \brief Writes all general-purpose fuses.
+ *
+ * \param value The value of all general-purpose fuses as a word.
+ *
+ * \warning A Lock Error is issued if the Security bit is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note A write operation can only clear bits.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_write_all_gp_fuses flashcdw_write_all_gp_fuses
+
+/*! \brief Sets a general-purpose fuse bit with the appropriate erase and write
+ * operations.
+ *
+ * \param gp_fuse_bit The general-purpose fuse bit: \c 0 to \c 63.
+ * \param value The value of the specified general-purpose fuse bit.
+ *
+ * \warning A Lock Error is issued if the Security bit is active and the command
+ * is applied to BOOTPROT or EPFL fuses.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_set_gp_fuse_bit flashcdw_set_gp_fuse_bit
+
+/*! \brief Sets a general-purpose fuse bit-field with the appropriate erase and
+ * write operations.
+ *
+ * \param pos The bit-position of the general-purpose fuse bit-field: \c 0 to
+ * \c 63.
+ * \param width The bit-width of the general-purpose fuse bit-field: \c 0 to
+ * \c 64.
+ * \param value The value of the specified general-purpose fuse bit-field.
+ *
+ * \warning A Lock Error is issued if the Security bit is active and the command
+ * is applied to BOOTPROT or EPFL fuses.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_set_gp_fuse_bitfield flashcdw_set_gp_fuse_bitfield
+
+/*! \brief Sets a general-purpose fuse byte with the appropriate erase and write
+ * operations.
+ *
+ * \param gp_fuse_byte The general-purpose fuse byte: \c 0 to \c 7.
+ * \param value The value of the specified general-purpose fuse byte.
+ *
+ * \warning A Lock Error is issued if the Security bit is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_set_gp_fuse_byte flashcdw_set_gp_fuse_byte
+
+/*! \brief Sets all general-purpose fuses with the appropriate erase and write
+ * operations.
+ *
+ * \param value The value of all general-purpose fuses as a word.
+ *
+ * \warning A Lock Error is issued if the Security bit is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note The actual number of general-purpose fuse bits implemented by hardware
+ * is given by \c AVR32_FLASHC_GPF_NUM. The other bits among the 64 are
+ * fixed at 1 by hardware.
+ */
+#define flash_api_set_all_gp_fuses flashcdw_set_all_gp_fuses
+
+//! @}
+
+
+/*! \name Access to Flash Pages
+ */
+//! @{
+
+/*! \brief Clears the page buffer.
+ *
+ * This command resets all bits in the page buffer to one. Write accesses to the
+ * page buffer can only change page buffer bits from one to zero.
+ *
+ * \warning The page buffer is not automatically reset after a page write.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_clear_page_buffer flashcdw_clear_page_buffer
+
+/*! \brief Tells whether the page to which the last Quick Page Read or Quick
+ * Page Read User Page command was applied was erased.
+ *
+ * \return Whether the page to which the last Quick Page Read or Quick Page Read
+ * User Page command was applied was erased.
+ */
+#define flash_api_is_page_erased flashcdw_is_page_erased
+
+/*! \brief Applies the Quick Page Read command to a page.
+ *
+ * \param page_number The page number:
+ * \arg \c 0 to <tt>(flash_api_get_page_count() - 1)</tt>: a page number within
+ * the flash array;
+ * \arg <tt>< 0</tt>: the current page number.
+ *
+ * \return Whether the specified page is erased.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_quick_page_read flashcdw_quick_page_read
+
+/*! \brief Erases a page.
+ *
+ * \param page_number The page number:
+ * \arg \c 0 to <tt>(flash_api_get_page_count() - 1)</tt>: a page number within
+ * the flash array;
+ * \arg <tt>< 0</tt>: the current page number.
+ * \param check Whether to check erase: \c TRUE or \c FALSE.
+ *
+ * \return Whether the erase succeeded or always \c TRUE if erase check was not
+ * requested.
+ *
+ * \warning A Lock Error is issued if the command is applied to a page belonging
+ * to a locked region or to the bootloader protected area.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note An erase operation can only set bits.
+ */
+#define flash_api_erase_page flashcdw_erase_page
+
+/*! \brief Erases all pages within the flash array.
+ *
+ * \param check Whether to check erase: \c TRUE or \c FALSE.
+ *
+ * \return Whether the erase succeeded or always \c TRUE if erase check was not
+ * requested.
+ *
+ * \warning A Lock Error is issued if at least one region is locked or the
+ * bootloader protection is active.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note An erase operation can only set bits.
+ */
+#define flash_api_erase_all_pages flashcdw_erase_all_pages
+
+/*! \brief Writes a page from the page buffer.
+ *
+ * \param page_number The page number:
+ * \arg \c 0 to <tt>(flash_api_get_page_count() - 1)</tt>: a page number within
+ * the flash array;
+ * \arg <tt>< 0</tt>: the current page number.
+ *
+ * \warning A Lock Error is issued if the command is applied to a page belonging
+ * to a locked region or to the bootloader protected area.
+ *
+ * \warning The page buffer is not automatically reset after a page write.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note A write operation can only clear bits.
+ */
+#define flash_api_write_page flashcdw_write_page
+
+/*! \brief Issues a Quick Page Read User Page command to the FLASHC.
+ *
+ * \return Whether the User page is erased.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_quick_user_page_read flashcdw_quick_user_page_read
+
+/*! \brief Erases the User page.
+ *
+ * \param check Whether to check erase: \c TRUE or \c FALSE.
+ *
+ * \return Whether the erase succeeded or always \c TRUE if erase check was not
+ * requested.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note An erase operation can only set bits.
+ */
+#define flash_api_erase_user_page flashcdw_erase_user_page
+
+/*! \brief Writes the User page from the page buffer.
+ *
+ * \warning The page buffer is not automatically reset after a page write.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ *
+ * \note A write operation can only clear bits.
+ */
+#define flash_api_write_user_page flashcdw_write_user_page
+
+/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst
+ * from the repeated \a src source byte.
+ *
+ * The destination areas that are not within the flash array or the User page
+ * are ignored.
+ *
+ * All pointer and size alignments are supported.
+ *
+ * \param dst Pointer to flash destination.
+ * \param src Source byte.
+ * \param nbytes Number of bytes to set.
+ * \param erase Whether to erase before writing: \c TRUE or \c FALSE.
+ *
+ * \return The value of \a dst.
+ *
+ * \warning This function may be called with \a erase set to \c FALSE only if
+ * the destination consists only of erased words, i.e. this function
+ * can not be used to write only one bit of a previously written word.
+ * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the
+ * resulting value in flash may be different from \c 0x00000000.
+ *
+ * \warning A Lock Error is issued if the command is applied to pages belonging
+ * to a locked region or to the bootloader protected area.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_memset8 flashcdw_memset8
+
+/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst
+ * from the repeated \a src big-endian source half-word.
+ *
+ * The destination areas that are not within the flash array or the User page
+ * are ignored.
+ *
+ * All pointer and size alignments are supported.
+ *
+ * \param dst Pointer to flash destination.
+ * \param src Source half-word.
+ * \param nbytes Number of bytes to set.
+ * \param erase Whether to erase before writing: \c TRUE or \c FALSE.
+ *
+ * \return The value of \a dst.
+ *
+ * \warning This function may be called with \a erase set to \c FALSE only if
+ * the destination consists only of erased words, i.e. this function
+ * can not be used to write only one bit of a previously written word.
+ * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the
+ * resulting value in flash may be different from \c 0x00000000.
+ *
+ * \warning A Lock Error is issued if the command is applied to pages belonging
+ * to a locked region or to the bootloader protected area.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_memset16 flashcdw_memset16
+
+/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst
+ * from the repeated \a src big-endian source word.
+ *
+ * The destination areas that are not within the flash array or the User page
+ * are ignored.
+ *
+ * All pointer and size alignments are supported.
+ *
+ * \param dst Pointer to flash destination.
+ * \param src Source word.
+ * \param nbytes Number of bytes to set.
+ * \param erase Whether to erase before writing: \c TRUE or \c FALSE.
+ *
+ * \return The value of \a dst.
+ *
+ * \warning This function may be called with \a erase set to \c FALSE only if
+ * the destination consists only of erased words, i.e. this function
+ * can not be used to write only one bit of a previously written word.
+ * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the
+ * resulting value in flash may be different from \c 0x00000000.
+ *
+ * \warning A Lock Error is issued if the command is applied to pages belonging
+ * to a locked region or to the bootloader protected area.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_memset32 flashcdw_memset32
+
+/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst
+ * from the repeated \a src big-endian source double-word.
+ *
+ * The destination areas that are not within the flash array or the User page
+ * are ignored.
+ *
+ * All pointer and size alignments are supported.
+ *
+ * \param dst Pointer to flash destination.
+ * \param src Source double-word.
+ * \param nbytes Number of bytes to set.
+ * \param erase Whether to erase before writing: \c TRUE or \c FALSE.
+ *
+ * \return The value of \a dst.
+ *
+ * \warning This function may be called with \a erase set to \c FALSE only if
+ * the destination consists only of erased words, i.e. this function
+ * can not be used to write only one bit of a previously written word.
+ * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the
+ * resulting value in flash may be different from \c 0x00000000.
+ *
+ * \warning A Lock Error is issued if the command is applied to pages belonging
+ * to a locked region or to the bootloader protected area.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_memset64 flashcdw_memset64
+
+/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst
+ * from the repeated \a src big-endian source pattern.
+ *
+ * The destination areas that are not within the flash array or the User page
+ * are ignored.
+ *
+ * All pointer and size alignments are supported.
+ *
+ * \param dst Pointer to flash destination.
+ * \param src Source double-word.
+ * \param src_width \a src width in bits: 8, 16, 32 or 64.
+ * \param nbytes Number of bytes to set.
+ * \param erase Whether to erase before writing: \c TRUE or \c FALSE.
+ *
+ * \return The value of \a dst.
+ *
+ * \warning This function may be called with \a erase set to \c FALSE only if
+ * the destination consists only of erased words, i.e. this function
+ * can not be used to write only one bit of a previously written word.
+ * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the
+ * resulting value in flash may be different from \c 0x00000000.
+ *
+ * \warning A Lock Error is issued if the command is applied to pages belonging
+ * to a locked region or to the bootloader protected area.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_memset flashcdw_memset
+
+/*! \brief Copies \a nbytes bytes to the flash destination pointed to by \a dst
+ * from the source pointed to by \a src.
+ *
+ * The destination areas that are not within the flash array or the User page
+ * are ignored.
+ *
+ * All pointer and size alignments are supported.
+ *
+ * \param dst Pointer to flash destination.
+ * \param src Pointer to source data.
+ * \param nbytes Number of bytes to copy.
+ * \param erase Whether to erase before writing: \c TRUE or \c FALSE.
+ *
+ * \return The value of \a dst.
+ *
+ * \warning If copying takes place between areas that overlap, the behavior is
+ * undefined.
+ *
+ * \warning This function may be called with \a erase set to \c FALSE only if
+ * the destination consists only of erased words, i.e. this function
+ * can not be used to write only one bit of a previously written word.
+ * E.g., if \c 0x00000001 then \c 0xFFFFFFFE are written to a word, the
+ * resulting value in flash may be different from \c 0x00000000.
+ *
+ * \warning A Lock Error is issued if the command is applied to pages belonging
+ * to a locked region or to the bootloader protected area.
+ *
+ * \note The FLASHC error status returned by \ref flash_api_is_lock_error and
+ * \ref flash_api_is_programming_error is updated.
+ */
+#define flash_api_memcpy flashcdw_memcpy
+
+//! @}
+#endif // __AVR32_ABI_COMPILER__
+
+#else
+#error "Unsupported flash controller"
+#endif
+
+#endif // _FLASH_API_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/intc.c b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/intc.c
new file mode 100644
index 0000000..3acef88
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/intc.c
@@ -0,0 +1,69 @@
+/*This file is prepared for Doxygen automatic documentation generation.*/
+/*! \file *********************************************************************
+ *
+ * \brief INTC driver for AVR32 UC3.
+ *
+ * AVR32 Interrupt Controller driver module.
+ *
+ * - Compiler: IAR EWAVR32 and GNU GCC for AVR32
+ * - Supported devices: All AVR32 devices with an INTC module can be used.
+ * - AppNote:
+ *
+ * \author Atmel Corporation: http://www.atmel.com \n
+ * Support and FAQ: http://support.atmel.no/
+ *
+ ******************************************************************************/
+
+/* Copyright (c) 2009 Atmel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an Atmel
+ * AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+ *
+ */
+
+#include <avr32/io.h>
+#include "compiler.h"
+#include "intc.h"
+
+
+//! Exception Vector Base Address.
+extern void _evba;
+
+
+void INTC_register_interrupt(__int_handler handler, unsigned int irq,
+ unsigned int int_level)
+{
+ // Program the IPRX register of the IRQ group to set the interrupt priority
+ // level and the interrupt vector offset that will be fetched by the core
+ // interrupt system.
+ AVR32_INTC.ipr[irq / AVR32_INTC_MAX_NUM_IRQS_PER_GRP] =
+ ((((U32) handler - (U32) & _evba) <<
+ AVR32_INTC_IPR_AUTOVECTOR_OFFSET) &
+ AVR32_INTC_IPR_AUTOVECTOR_MASK) | ((int_level <<
+ AVR32_INTC_IPR_INTLEVEL_OFFSET) &
+ AVR32_INTC_IPR_INTLEVEL_MASK);
+}
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/intc.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/intc.h
new file mode 100644
index 0000000..81a8ac3
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/intc.h
@@ -0,0 +1,94 @@
+/*This file is prepared for Doxygen automatic documentation generation.*/
+/*! \file *********************************************************************
+ *
+ * \brief INTC driver for AVR32 UC3.
+ *
+ * AVR32 Interrupt Controller driver module.
+ *
+ * - Compiler: IAR EWAVR32 and GNU GCC for AVR32
+ * - Supported devices: All AVR32 devices with an INTC module can be used.
+ * - AppNote:
+ *
+ * \author Atmel Corporation: http://www.atmel.com \n
+ * Support and FAQ: http://support.atmel.no/
+ *
+ ******************************************************************************/
+
+/* Copyright (c) 2009 Atmel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an Atmel
+ * AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#ifndef _INTC_H_
+#define _INTC_H_
+
+#include "compiler.h"
+
+
+//! Maximal number of interrupt request lines per group.
+#define AVR32_INTC_MAX_NUM_IRQS_PER_GRP 32
+
+//! Number of interrupt priority levels.
+#define AVR32_INTC_NUM_INT_LEVELS (1 << AVR32_INTC_IPR_INTLEVEL_SIZE)
+
+
+#ifdef __AVR32_ABI_COMPILER__ // Automatically defined when compiling for AVR32, not when assembling.
+
+//! Pointer to interrupt handler.
+#if (defined __GNUC__)
+typedef void (*__int_handler) (void);
+#elif (defined __ICCAVR32__)
+typedef void (__interrupt * __int_handler) (void);
+#endif
+
+
+/*! \brief Registers an interrupt handler.
+ *
+ * \param handler Interrupt handler to register.
+ * \param irq IRQ of the interrupt handler to register.
+ * \param int_level Interrupt priority level to assign to the group of this IRQ.
+ *
+ * \warning The interrupt handler must manage the `rete' instruction, what can
+ * be done thanks to pure assembly, inline assembly or the
+ * `__attribute__((__interrupt__))' C function attribute.
+ *
+ * \warning If several interrupt handlers of a same group are registered, all
+ * interrupts of this group will fetch the last interrupt handler
+ * registered for this group with the last registered interrupt
+ * priority level.
+ *
+ * \note Taken and adapted from Newlib.
+ */
+extern void INTC_register_interrupt(__int_handler handler, unsigned int irq,
+ unsigned int int_level);
+
+#endif // __AVR32_ABI_COMPILER__
+
+
+#endif // _INTC_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/isp.c b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/isp.c
new file mode 100644
index 0000000..35b7ca3
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/isp.c
@@ -0,0 +1,331 @@
+/**
+ * \file
+ *
+ * \brief In system programming to control security, memories and fuses
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#include "conf_isp.h"
+#include "board.h"
+#include "isp.h"
+#include "boot.h"
+#include "string.h"
+#include "flash_api.h"
+#include "udc.h"
+
+#if UC3C || UC3D
+// These defines are missing from or wrong
+// in the toolchain header file ip_xxx.h or part.h
+#ifndef AVR32_WDT_KEY_VALUE
+ #define AVR32_WDT_KEY_VALUE 0x00000055
+#endif
+// These defines are missing from or wrong
+// in the toolchain header file ip_xxx.h or part.h
+#ifndef AVR32_SCIF_RCOSC_FREQUENCY
+ #define AVR32_SCIF_RCOSC_FREQUENCY 115200
+#endif
+#endif
+
+extern void sysclk_reset(void);
+
+/**
+ * \name Memory APIs
+ */
+//@{
+
+//! Memory signature which store information about device
+static isp_mem_signature_t mem_signature;
+
+//! Memory bootloader which store information about bootloader
+static isp_mem_bootloader_t mem_bootloader = {
+ .version = BOOTLOADER_VERSION,
+ .id1 = 0,
+ .id2 = 0,
+};
+
+
+void mem_flash_read(void *dst, uint32_t src, uint16_t nbytes)
+{
+ memcpy(dst, FLASH_API_BASE_ADDRESS + src, nbytes);
+}
+
+void mem_flash_write(uint32_t dst, const void *src, uint16_t nbytes)
+{
+ flash_api_memcpy(FLASH_API_BASE_ADDRESS + dst, src, nbytes, FALSE);
+}
+
+void mem_security_read(void *dst, uint32_t src, uint16_t nbytes)
+{
+ if (nbytes) {
+ *(U8 *) dst = flash_api_is_security_bit_active();
+ }
+}
+
+void mem_security_write(uint32_t dst, const void *src, uint16_t nbytes)
+{
+ if (nbytes && *(U8 *) src) {
+ flash_api_activate_security_bit();
+ }
+}
+
+void mem_configuration_read(void *dst, uint32_t src, uint16_t nbytes)
+{
+ U8 *dest = dst;
+ while (nbytes--) {
+ *dest++ = flash_api_read_gp_fuse_bit(src++);
+ }
+}
+
+void mem_configuration_write(uint32_t dst, const void *src, uint16_t nbytes)
+{
+ const U8 *source = src;
+ while (nbytes--) {
+ flash_api_set_gp_fuse_bit(dst++, *source++);
+ }
+}
+
+static void mem_bootloader_read(void *dst, uint32_t src, uint16_t nbytes)
+{
+ memcpy(dst, &mem_bootloader + src, nbytes);
+}
+
+void mem_signature_read(void *dst, uint32_t src, uint16_t nbytes)
+{
+ memcpy(dst, &mem_signature + src, nbytes);
+}
+
+void mem_user_read(void *dst, uint32_t src, uint16_t nbytes)
+{
+ memcpy(dst, (U8 *) FLASH_API_USER_PAGE + src, nbytes);
+}
+
+
+void mem_user_write(uint32_t dst, const void *src, uint16_t nbytes)
+{
+ flash_api_memcpy(FLASH_API_USER_PAGE + dst, src, nbytes, TRUE);
+}
+
+//! Interface for memory flash
+const isp_mem_t isp_flash = {
+ .size = FLASH_API_SIZE,
+ .fnct_read = mem_flash_read,
+ .fnct_write = mem_flash_write,
+};
+
+//! Interface for bit security
+const isp_mem_t isp_security = {
+ .size = 1,
+ .fnct_read = mem_security_read,
+ .fnct_write = mem_security_write,
+};
+
+//! Interface for memory configuration
+const isp_mem_t isp_conf = {
+ .size = FLASH_API_GPF_NUM,
+ .fnct_read = mem_configuration_read,
+ .fnct_write = mem_configuration_write,
+};
+
+//! Interface for memory bootloader
+const isp_mem_t isp_bootloader = {
+ .size = sizeof(mem_bootloader),
+ .fnct_read = mem_bootloader_read,
+ .fnct_write = NULL,
+};
+
+//! Interface for memory signature
+const isp_mem_t isp_signature = {
+ .size = sizeof(mem_signature),
+ .fnct_read = mem_signature_read,
+ .fnct_write = NULL,
+};
+
+//! Interface for memory user
+const isp_mem_t isp_user = {
+ .size = FLASH_API_USER_PAGE_SIZE,
+ .fnct_read = mem_user_read,
+ .fnct_write = mem_user_write,
+};
+
+//! Interface for memory no available
+const isp_mem_t isp_no_available = {
+ .size = 0,
+ .fnct_read = NULL,
+ .fnct_write = NULL,
+};
+
+const isp_mems_t isp_memories = {
+ .flash = &isp_flash,
+ .eeprom = &isp_no_available,
+ .security = &isp_security,
+ .conf = &isp_conf,
+ .bootloader = &isp_bootloader,
+ .signature = &isp_signature,
+ .user = &isp_user,
+ .int_ram = &isp_no_available,
+ .ext_mem_cs0 = &isp_no_available,
+ .ext_mem_cs1 = &isp_no_available,
+ .ext_mem_cs2 = &isp_no_available,
+ .ext_mem_cs3 = &isp_no_available,
+ .ext_mem_cs4 = &isp_no_available,
+ .ext_mem_cs5 = &isp_no_available,
+ .ext_mem_cs6 = &isp_no_available,
+ .ext_mem_cs7 = &isp_no_available,
+ .ext_mem_df = &isp_no_available,
+};
+
+//@}
+
+
+void isp_init(void)
+{
+ uint32_t did_reg = Get_debug_register(AVR32_DID);
+ mem_signature.manufacture =
+ Rd_bitfield(did_reg, AVR32_DID_MID_MASK);
+ mem_signature.product_number_msb =
+ Rd_bitfield(did_reg, AVR32_DID_PN_MASK)>>8;
+ mem_signature.product_number_lsb =
+ Rd_bitfield(did_reg, AVR32_DID_PN_MASK);
+ mem_signature.product_revision =
+ Rd_bitfield(did_reg, AVR32_DID_RN_MASK);
+}
+
+bool isp_is_security(void)
+{
+ uint8_t value;
+ isp_security.fnct_read(&value, 0, 1);
+ return value;
+}
+
+#ifdef UDI_DFU_ATMEL_PROTOCOL_2_SPLIT_ERASE_CHIP
+bool isp_erase_chip(void)
+{
+ static uint16_t isp_page_number=0;
+ uint8_t isp_page_number_split;
+
+ if (isp_page_number==0) {
+ isp_page_number = flash_api_get_page_count();
+ flash_api_lock_all_regions(FALSE);
+ }
+ isp_page_number_split = 128;
+ while (isp_page_number && isp_page_number_split) {
+ flash_api_erase_page(--isp_page_number, FALSE);
+ isp_page_number_split--;
+ }
+ return (isp_page_number==0);
+}
+#else
+bool isp_erase_chip(void)
+{
+ flash_api_lock_all_regions(FALSE);
+ flash_api_erase_all_pages(FALSE);
+ return true;
+}
+#endif
+
+void isp_start_appli_rst(void)
+{
+ cpu_irq_disable();
+ AVR32_WDT.ctrl = AVR32_WDT_CTRL_EN_MASK |
+ (10 << AVR32_WDT_CTRL_PSEL_OFFSET) |
+#if (UC3C || UC3D)
+ AVR32_WDT_CTRL_CEN_MASK | AVR32_WDT_CTRL_DAR_MASK |
+#endif
+ (AVR32_WDT_KEY_VALUE << AVR32_WDT_CTRL_KEY_OFFSET);
+ AVR32_WDT.ctrl = AVR32_WDT_CTRL_EN_MASK |
+ (10 << AVR32_WDT_CTRL_PSEL_OFFSET) |
+#if (UC3C || UC3D)
+ AVR32_WDT_CTRL_CEN_MASK | AVR32_WDT_CTRL_DAR_MASK |
+#endif
+ ((~AVR32_WDT_KEY_VALUE << AVR32_WDT_CTRL_KEY_OFFSET) &
+ AVR32_WDT_CTRL_KEY_MASK);
+ while (1);
+}
+
+void isp_start_appli_norst(void)
+{
+ udc_stop(); // Stop USB device
+ sysclk_reset(); // Reset system clock
+
+ boot_program();
+}
+
+/**
+* Calculates the CRC-8-CCITT.
+*
+* CRC-8-CCITT is defined to be x^8 + x^2 + x + 1
+*
+* To use this function use the following template:
+*
+* crc = Crc8( crc, data );
+*/
+#define POLYNOMIAL (ISP_CFG1_CRC8_POLYNOMIAL << 7)
+static U8 Crc8(U8 inCrc, U8 inData)
+{
+ int i;
+ U16 data;
+
+ data = inCrc ^ inData;
+ data <<= 8;
+
+ for (i = 0; i < 8; i++) {
+ if ((data & 0x8000) != 0) {
+ data = data ^ POLYNOMIAL;
+ }
+ data = data << 1;
+ }
+ return (unsigned char)(data >> 8);
+}
+
+
+void isp_force_isp(bool force)
+{
+ uint32_t tempo;
+ U8 crc8 = 0;
+ int i;
+
+ // 1) Read the config word1 and set the ISP_FORCE bit to force.
+ tempo = (ISP_CFG1 & ~ISP_CFG1_FORCE_MASK)
+ | ((force << ISP_CFG1_FORCE_OFFSET) & ISP_CFG1_FORCE_MASK);
+
+ // 2) Compute the CRC8 and update the config word1
+ for (i = 24; i; i -= 8) // Compute the CRC8 on the 3 upper Bytes of the word.
+ crc8 = Crc8(crc8, tempo >> i);
+ tempo = (tempo & ~ISP_CFG1_CRC8_MASK)
+ | ((crc8 << ISP_CFG1_CRC8_OFFSET) & ISP_CFG1_CRC8_MASK);
+
+ // 3) Write the config word1
+ mem_user_write(ISP_CFG1_OFFSET, &tempo, 4);
+}
+
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/main.c b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/main.c
new file mode 100644
index 0000000..fad56e0
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/main.c
@@ -0,0 +1,101 @@
+/**
+ * \file
+ *
+ * \brief Main functions
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#include "compiler.h"
+#include "preprocessor.h"
+#include "board.h"
+#include "sysclk.h"
+#include "conf_usb.h"
+#include "udd.h"
+#include "udc.h"
+#include "udi_dfu_atmel.h"
+#include "isp.h"
+#if UC3D
+#include "gpio.h"
+#endif
+
+/*! \brief Main function. Execution starts here.
+ */
+int main(void)
+{
+#if UC3D
+ static const gpio_map_t USB_GPIO_MAP =
+ {
+ {AVR32_USBC_DP_PIN, AVR32_USBC_DP_FUNCTION},
+ {AVR32_USBC_DM_PIN, AVR32_USBC_DM_FUNCTION},
+ {AVR32_USBC_VBUS_PIN, AVR32_USBC_VBUS_FUNCTION}
+ };
+
+ // Assign GPIO pins to USB.
+ gpio_enable_module(USB_GPIO_MAP,
+ sizeof(USB_GPIO_MAP) / sizeof(USB_GPIO_MAP[0]));
+#endif
+ cpu_irq_enable();
+
+ sysclk_init();
+
+ // Start USB stack to authorize VBus monitoring
+ udc_start();
+
+ if (!udc_include_vbus_monitoring()) {
+ // VBUS monitoring is not available on this product
+ // thereby VBUS has to be considered as present
+ main_vbus_action(true);
+ }
+
+ while (true) {
+ }
+}
+
+void main_vbus_action(bool b_high)
+{
+ if (b_high) {
+ // Attach USB Device
+ udc_attach();
+ }else{
+ // Detach USB Device
+ udc_detach();
+ }
+}
+
+
+/**
+ * \mainpage ASF USB Device DFU
+ *
+ * TODO
+ */
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/main.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/main.h
new file mode 100644
index 0000000..5c191e8
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/avr32/main.h
@@ -0,0 +1,46 @@
+/**
+ * \file
+ *
+ * \brief Main functions
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef _MAIN_H_
+#define _MAIN_H_
+
+/*! \brief Called when Vbus line state change
+ */
+void main_vbus_action(bool b_high);
+
+#endif // _MAIN_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/conf_board.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/conf_board.h
new file mode 100644
index 0000000..6825b7b
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/conf_board.h
@@ -0,0 +1,41 @@
+/*This file is prepared for Doxygen automatic documentation generation.*/
+/*! \file *********************************************************************
+ *
+ * \brief Board configuration for spi example
+ *
+ * Copyright (C) 2010 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+#ifndef CONF_BOARD_H_INCLUDED
+#define CONF_BOARD_H_INCLUDED
+
+#endif /* CONF_BOARD_H_INCLUDED */
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/conf_clock.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/conf_clock.h
new file mode 100644
index 0000000..3fb0b8c
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/conf_clock.h
@@ -0,0 +1,57 @@
+/**
+ * \file
+ *
+ * \brief Clock system configuration for clock example 1
+ *
+ * Copyright (C) 2010 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+#ifndef CONF_CLOCK_H_INCLUDED
+#define CONF_CLOCK_H_INCLUDED
+
+//! Configuration using On-Chip RC oscillator
+//! Use external board OSC (8MHz)
+//! Clk USB = 48MHz (used by USB)
+//! Clk sys = 48MHz
+//! Clk cpu/per = 12MHz
+#define CONFIG_USBCLK_SOURCE USBCLK_SRC_RCOSC
+#define CONFIG_OSC_RC32_CAL 48000000UL
+
+#define CONFIG_OSC_AUTOCAL OSC_ID_RC32MHZ
+#define CONFIG_OSC_AUTOCAL_REF_OSC OSC_ID_USBSOF
+
+#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_RC32MHZ
+#define CONFIG_SYSCLK_PSADIV SYSCLK_PSADIV_2
+#define CONFIG_SYSCLK_PSBCDIV SYSCLK_PSBCDIV_1_2
+
+
+#endif /* CONF_CLOCK_H_INCLUDED */
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/conf_isp.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/conf_isp.h
new file mode 100644
index 0000000..f4f1219
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/conf_isp.h
@@ -0,0 +1,67 @@
+/*This file is prepared for Doxygen automatic documentation generation.*/
+/*! \file ******************************************************************
+ *
+ * \brief ISP configuration file.
+ *
+ * This file contains the possible external configuration of the ISP.
+ *
+ * - Compiler: IAR EWAVR32 and GNU GCC for AVR32
+ * - Supported devices: All AVR32 devices with a USB module can be used.
+ * - AppNote:
+ *
+ * \author Atmel Corporation: http://www.atmel.com \n
+ * Support and FAQ: http://support.atmel.no/
+ *
+ ***************************************************************************/
+
+/* Copyright (c) 2009 Atmel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an Atmel
+ * AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+ *
+ */
+
+#ifndef _CONF_ISP_H_
+#define _CONF_ISP_H_
+
+#include "compiler.h"
+#include "nvm.h"
+
+// Version of bootloader
+// Note: It is display in second and last position by FLIP "1.V.V"
+// Example: Verison 0x00 give 1.0.0
+// Example: Verison 0x03 give 1.0.3
+// Example: Verison 0x25 give 1.2.5
+#define BOOTLOADER_VERSION 0x01
+
+#if (FLASH_SIZE<=0x10000)
+// FLASH < 64KB, then bootloader 4KB and ISP is optimized
+// All memories (flash,eeprom,...) do not exced 64KB.
+#define ISP_SMALL_MEMORY_SIZE
+#endif
+
+#endif // _CONF_ISP_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/iar/atxmega128a1u_boot.xcl b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/iar/atxmega128a1u_boot.xcl
new file mode 100644
index 0000000..15386ba
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/iar/atxmega128a1u_boot.xcl
@@ -0,0 +1,71 @@
+
+
+
+
+// N O T E :
+// This is an experimental file autogenerated by an XSL transformation.
+// Read more about the purpose of this file and how it was generated here:
+// http://avrtools.norway.atmel.com/pmwiki/pmwiki.php?n=Software.XmegaFiles
+//////////////////////////////////////////////////////////////////////////////
+
+// Set up XLINK
+-ca90
+-w29
+
+// Memory size definitions for convenience
+// The '_..X_' prefix is used by C-SPY as an indication that the label should
+// not be displayed in the dissassembly window.
+
+-D_..X_FLASH_BASE=20002
+-D_..X_CODE_END=21FFF
+-D_..X_INTVEC_END=201FB
+
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// Code (flash) segments
+-Z(CODE)INTVEC=201F4-201FF
+-Z(CODE)CODE,BOOT=201FC-_..X_CODE_END
+-Z(CODE)FARCODE=201FC-_..X_CODE_END
+-Z(CODE)INITTAB=201FC-_..X_CODE_END
+-Z(CODE)NEAR_ID=201FC-_..X_CODE_END
+
+
+
+
+-D_..X_SRAM_BASE=2040
+-D_..X_SRAM_TINY_END=FF
+-D_..X_SRAM_NEAR_END=FFFF
+-D_..X_SRAM_FAR_END=FFFFFF
+-D_..X_SRAM_HUGE_END=FFFFFF
+
+/*
+ * Modify the lines below to alter the size of the RSTACK, CSTACK and HEAP
+ * segments. These need to be fine tuned to suit your specific application.
+ */
+-D_..X_CSTACK_SIZE=1000 /* 4096 bytes for auto variables and register save. */
+-D_..X_RSTACK_SIZE=100 /* 256 bytes for return addresses, equivalent to */
+ /* 128 levels of calls, including interrupts. */
+-D_..X_NEAR_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+-D_..X_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+-D_..X_FAR_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+-D_..X_HUGE_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+//////////////////////////////////////////////////////////////////////////////
+// Data (SRAM, external ROM or external NV RAM) memory
+-Z(DATA)SRAM_NO_INIT=2000-2001
+-Z(DATA)TINY_I,TINY_Z,TINY_N=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+-Z(DATA)RSTACK+_..X_RSTACK_SIZE=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+-Z(DATA)NEAR_I,NEAR_Z,NEAR_N,NEAR_C=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+-Z(DATA)NEAR_HEAP+_..X_NEAR_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+//-Z(DATA)FAR_I=[10000-_..X_SRAM_FAR_END]/10000
+-Z(DATA)CSTACK+_..X_CSTACK_SIZE=[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)HEAP+_..X_HEAP_SIZE=[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)IOSTREAM_N#[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)FAR_Z,FAR_N,FAR_C=[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)FAR_HEAP+_..X_FAR_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_FAR_END
+-Z(DATA)HUGE_I,HUGE_Z,HUGE_N,HUGE_C=_..X_SRAM_BASE-_..X_SRAM_HUGE_END
+-Z(DATA)HUGE_HEAP+_..X_HUGE_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_HUGE_END
+
+
+
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/iar/cstartup.s90 b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/iar/cstartup.s90
new file mode 100644
index 0000000..dbbb984
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/iar/cstartup.s90
@@ -0,0 +1,195 @@
+;----------------------------------------------------------------------------
+;
+; This module contains the AVR C and EC++ startup
+;
+; File version: $Revision: 6648 $
+;
+;----------------------------------------------------------------------------
+
+
+#include "macros.m90"
+
+#define RST_STATUS 0x0078 ///< Reset Controller status
+#define RST_SRF_bp 5 ///< Software Reset Flag bit position
+#define RST_SRF_bm 0x20 ///< Software Reset Flag bit mask
+
+#define SWITCHPORT PORTF
+#define SWITCHPIN 0
+
+#define PORTF 0x06A0
+#define DIR 0
+#define DIRSET 1
+#define DIRCLR 2
+#define DIRTGL 3
+#define PORT_OUT 4
+#define OUTSET 5
+#define OUTCLR 6
+#define OUTTGL 7
+#define PORT_IN 8
+#define INTCTRL 9
+#define INT0MASK 10
+#define INT1MASK 11
+#define INTFLAGS 12
+#define reserved_0x0D 13
+#define reserved_0x0E 14
+#define reserved_0x0F 15
+#define PIN0CTRL 16
+
+
+;----------------------------------------------------------------------------
+; Set up the RESET segment with a reset vector
+;----------------------------------------------------------------------------
+ MODULE ?RESET
+ EXTERN ?C_STARTUP
+ PUBLIC __program_start
+ PUBLIC ?RESET
+
+ ASEG 0x20000
+__program_start:
+?RESET:
+ RJMP ?C_STARTUP
+
+ ENDMOD
+
+;----------------------------------------------------------------------------
+; Set up the INTVEC segment with a reset vector
+;----------------------------------------------------------------------------
+ MODULE ?VECT
+ COMMON INTVEC:CODE:ROOT(1) ; Align at an even address
+ EXTERN ?C_STARTUP
+ ENDMOD
+
+;----------------------------------------------------------------------------
+; Forward declarations of segments used in initialization
+;----------------------------------------------------------------------------
+ RSEG CSTACK:DATA:NOROOT(0)
+ RSEG RSTACK:DATA:NOROOT(0)
+
+;----------------------------------------------------------------------------
+; Perform C initialization
+;----------------------------------------------------------------------------
+ MODULE ?C_STARTUP
+ EXTERN main
+ EXTERN exit
+ EXTERN _exit
+
+ RSEG CODE:CODE:NOROOT(1)
+ PUBLIC ?C_STARTUP
+ PUBLIC __RESTART
+ EXTERN ?RESET
+
+__RESTART:
+?C_STARTUP:
+
+#if A90_POINTER_REG_SIZE > 2
+ PUBLIC ?zero_reg_initialization
+?zero_reg_initialization:
+ CLR R15
+ OUT RAMPD,R15
+#endif
+
+
+;----------------------------------------------------------------------------
+; Boot Process
+;----------------------------------------------------------------------------
+
+boot_process:
+ // Test Software reset
+ LDS R16,(RST_STATUS)
+ SBRC R16,RST_SRF_bp // Test Software Reset Flag
+ RJMP start_app_jmp
+
+ // Test ISP pin
+ STS (SWITCHPORT+DIR), R15
+ LDI R16,0x18
+ STS (SWITCHPORT+PIN0CTRL+SWITCHPIN), R16
+ LDI R16,0xFF
+tempo:
+ DEC R16
+ TST R16
+ BRNE tempo
+ LDS R16,(SWITCHPORT+PORT_IN)
+ SBRS R16,SWITCHPIN // test ISP pin active
+ RJMP start_boot // pin activated
+
+ // Test beginning of flash blank
+ LDI R30, 0
+ LDI R31, 0
+ ELPM R16, Z+
+ ELPM R17, Z
+ CPI R16, 255
+ BRNE start_app_jmp
+ CPI R17, 255
+ BRNE start_app_jmp
+
+ RJMP start_boot
+start_app_jmp:
+ JMP start_app
+
+;----------------------------------------------------------------------------
+; Call Bootloader
+;----------------------------------------------------------------------------
+ RSEG STARTBOOT:CODE:NOROOT(1), 0x201FC
+ PUBLIC start_boot
+start_boot:
+ RJMP ?SETUP_STACK
+
+;----------------------------------------------------------------------------
+; Set up the CSTACK and RSTACK pointers.
+;----------------------------------------------------------------------------
+ RSEG CODE:CODE:NOROOT(1)
+ EXTERN __segment_init
+ PUBLIC ?need_segment_init
+
+?SETUP_STACK:
+ ;; Return address stack (RSTACK)
+ LDI R16,LOW(SFE(RSTACK)-1)
+ OUT 0x3D,R16
+#if A90_POINTER_REG_SIZE > 1
+ LDI R16,HIGH(SFE(RSTACK)-1)
+ OUT 0x3E,R16
+#endif
+
+ ;; Data stack (CSTACK)
+ LDI Y0,LOW(SFE(CSTACK))
+#if A90_POINTER_REG_SIZE > 1
+#if MEMORY_MODEL == TINY_MEMORY_MODEL
+ LDI Y1,0
+#else
+ LDI Y1,HIGH(SFE(CSTACK))
+#endif
+#if A90_POINTER_REG_SIZE > 2
+ LDI Z0,HWRD(SFB(CSTACK))
+ OUT RAMPY,Z0
+#endif
+#endif
+?need_segment_init:
+ XCALL __segment_init
+ RCALL main
+
+;----------------------------------------------------------------------------
+; Call Application
+;----------------------------------------------------------------------------
+ EXTERN start_app_key
+
+start_app:
+ STS (SWITCHPORT+PIN0CTRL+SWITCHPIN), R15
+ LDS R16, start_app_key
+ LDS R17, (start_app_key + 1)
+ CPI R16, 0xAA
+ SBCI R17, 0x55
+ BREQ clear_rst_flags
+jump_0:
+ JMP 0
+
+// It is a start application launched by a batchisp start command
+// then clear reset flagS
+clear_rst_flags:
+ STS start_app_key, R15
+ STS (start_app_key + 1), R15
+ LDI R16,RST_SRF_bm
+ STS RST_STATUS,R16 // Clear Software Reset Flag
+ RJMP jump_0
+ END
+
+;----------------------------------------------------------------------------
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/iar/macros.m90 b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/iar/macros.m90
new file mode 100644
index 0000000..ae18cf3
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/iar/macros.m90
@@ -0,0 +1,180 @@
+;----------------------------------------------------------------------------
+;
+; MACROS.M90
+;
+; This module contains the A90/AVR C macros
+; used by cstartup.s90 and other assemble source.
+;
+; File version: $Revision: 1.8 $
+;
+;
+;----------------------------------------------------------------------------
+
+#if (((__TID__ >> 8) & 0x7F) != 90)
+#error This file should only be assembled by aa90 or aavr
+#endif
+
+#define A90_PROC_OPTION ((__TID__ >> 4) & 0x0F)
+
+/* Long or relative jumps and calls */
+#if (A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 1)
+#define XCALL RCALL
+#define XJMP RJMP
+#else
+#define XCALL CALL
+#define XJMP JMP
+#endif
+
+/* Length of pointer registers (X/Y/Z) */
+#if (A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 2)
+#define A90_POINTER_REG_SIZE 1
+#define A90_TINY_INDEX
+#else /*!(A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 2)*/
+#if (A90_PROC_OPTION == 1) || (A90_PROC_OPTION == 3) || (A90_PROC_OPTION ==5)
+#define A90_POINTER_REG_SIZE 2
+#else /*!(A90_PROC_OPTION == 1) || (A90_PROC_OPTION == 3) || (A90_PROC_OPTION ==5)*/
+#if (A90_PROC_OPTION == 4) || (A90_PROC_OPTION == 6)
+#define A90_POINTER_REG_SIZE 3
+#define A90_EXTENDED_DATA
+#else /*!(A90_PROC_OPTION == 4) || (A90_PROC_OPTION == 6)*/
+#error Unknown processor option!!
+#endif /*!(A90_PROC_OPTION == 4) || (A90_PROC_OPTION == 6)*/
+#endif /*!(A90_PROC_OPTION == 1) || (A90_PROC_OPTION == 3) || (A90_PROC_OPTION ==5)*/
+#endif /*!(A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 2)*/
+
+#if (A90_PROC_OPTION > 4)
+#define A90_LARGE_CODE
+#endif
+
+#if (A90_PROC_OPTION > 1)
+#define A90_HAS_POSSIBLE_ELPM
+#endif
+
+#ifdef A90_HAS_POSSIBLE_ELPM
+#ifdef __HAS_ELPM__
+#define A90_HAS_ELPM
+#else
+#ifndef SMALL_FLASH
+#define A90_HAS_ELPM
+#endif
+#endif
+#endif
+
+#if A90_PROC_OPTION > 1
+#define A90_24BIT_GENERIC
+#endif
+
+#if A90_PROC_OPTION < 2
+#define A90_16BIT_GENERIC
+#endif
+
+#ifdef __MEMORY_MODEL__
+
+#define TINY_MEMORY_MODEL 0
+#define SMALL_MEMORY_MODEL 1
+#define LARGE_MEMORY_MODEL 2
+#define GENERIC_MEMORY_MODEL 3
+#define HUGE_MEMORY_MODEL 4
+
+#if __MEMORY_MODEL__ == 1
+#undef MEMORY_MODEL
+#define MEMORY_MODEL TINY_MEMORY_MODEL
+#endif
+
+#if __MEMORY_MODEL__ == 2
+#undef MEMORY_MODEL
+#define MEMORY_MODEL SMALL_MEMORY_MODEL
+#endif
+
+#if __MEMORY_MODEL__ == 3
+#undef MEMORY_MODEL
+#define MEMORY_MODEL LARGE_MEMORY_MODEL
+#endif
+
+#if __MEMORY_MODEL__ == 4
+#undef MEMORY_MODEL
+#define MEMORY_MODEL GENERIC_MEMORY_MODEL
+#endif
+
+#if __MEMORY_MODEL__ == 5
+#undef MEMORY_MODEL
+#define MEMORY_MODEL HUGE_MEMORY_MODEL
+#endif
+
+#else
+
+#ifdef MEMORY_MODEL
+#define t 0
+#define s 1
+#define l 2
+#define g 3
+#define h 4
+
+#define TINY_MEMORY_MODEL 0
+#define SMALL_MEMORY_MODEL 1
+#define LARGE_MEMORY_MODEL 2
+#define GENERIC_MEMORY_MODEL 3
+#define HUGE_MEMORY_MODEL 4
+
+#if MEMORY_MODEL == t
+#undef MEMORY_MODEL
+#define MEMORY_MODEL TINY_MEMORY_MODEL
+#endif
+
+#if MEMORY_MODEL == s
+#undef MEMORY_MODEL
+#define MEMORY_MODEL SMALL_MEMORY_MODEL
+#endif
+
+#if MEMORY_MODEL == l
+#undef MEMORY_MODEL
+#define MEMORY_MODEL LARGE_MEMORY_MODEL
+#endif
+
+#if MEMORY_MODEL == g
+#undef MEMORY_MODEL
+#define MEMORY_MODEL GENERIC_MEMORY_MODEL
+#endif
+
+#if MEMORY_MODEL == h
+#undef MEMORY_MODEL
+#define MEMORY_MODEL HUGE_MEMORY_MODEL
+#endif
+
+#undef t
+#undef s
+#undef l
+#undef g
+#undef h
+#endif
+#endif
+
+/* Register nicknames */
+#define T0 R0
+#define T1 R1
+#define T2 R2
+#define T3 R3
+#define P0 R16
+#define P1 R17
+#define P2 R18
+#define P3 R19
+#define Q0 R20
+#define Q1 R21
+#define Q2 R22
+#define Q3 R23
+#define X0 R26
+#define X1 R27
+#define X2 R25
+#define Y0 R28
+#define Y1 R29
+#define Z0 R30
+#define Z1 R31
+#define Z2 R19
+
+/* I/O-Space Register nicknames */
+#define RAMPD 0x38
+#define RAMPX 0x39
+#define RAMPY 0x3A
+#define RAMPZ 0x3B
+#define EIND 0x3C
+#define SREG 0x3F
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/releases/atxmega128a1u-bootloader-usb-dfu-1.0.1/atxmega128a1u_bootloader_usb_dfu_101.hex b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/releases/atxmega128a1u-bootloader-usb-dfu-1.0.1/atxmega128a1u_bootloader_usb_dfu_101.hex
new file mode 100644
index 0000000..e26c999
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128a1u/releases/atxmega128a1u-bootloader-usb-dfu-1.0.1/atxmega128a1u_bootloader_usb_dfu_101.hex
@@ -0,0 +1,358 @@
+:020000022000DC
+:0200000005C138
+:1001F4000D94C7080D94F50825C040E04BBFF801E5
+:1002040058ED54BF20830895FF24F8BE0091780070
+:1002140005FD16C0F092A00608E10093B0060FEFAA
+:100224000A950023E9F70091A80600FFE5CFE0E076
+:10023400F0E0079116910F3F19F41F3F09F4DCCF4A
+:100244000D942F010FE30DBF01E20EBFCAE0DBE303
+:10025400E0E0EABF0F945F0BC1D0F092B0060C94BB
+:1002640000004091CA01E12FFF270093CA010491C5
+:100274004093CA0108954A951AF0000F111FFBCF4D
+:100284000895AF93BF93D8013BBF29BF01900D924E
+:10029400415050406040D1F7BF91AF910895FA9218
+:1002A400EA92DA92CA92BA92AA929A928A927A922A
+:1002B4006A925A924A92BA93AA939A938A93089505
+:1002C400FF84EE84DD84CC84BB84AA8499848884EE
+:1002D4007F806E805D804C80BB81AA8199818881FA
+:1002E400F0E0EC0FFD1FEF0108953BB72BBFF801C1
+:1002F4002091CA014093CA013DE930933400E89546
+:100304002093CA013BBF08953091CF0137FDFCCF44
+:100314003BB72BBFF8012091CA0113E21093CA0125
+:100324000A01E8952093CA013BBF08950A011B0105
+:10033400B901A801800191010D948E02E1E0EA93D4
+:100344000D94A5020A01A901980180010D940002EF
+:100354009A01AB010D9434020A01A90120E431E2AF
+:10036400200D311D0D94310B0A01A90120E232E266
+:10037400F7CF009190000093202200919100009308
+:100384002122009192000093222200919300009375
+:1003940023220895E0EDF1E030E03BBF008101FB52
+:1003A40000E000F90F270895089530E00091CF018F
+:1003B40007FDFBCF40E200E010E020E00F9477015E
+:1003C4000F948A0201E00895F89420917900216045
+:1003D40009E710E00F94FF00FFCFF6CF27E402EA0D
+:1003E40010E00F94FF000F945B0378940F946D0852
+:1003F4000F94A108FFCFE4E00D946E01B9010AD077
+:10040400105F98018B010F94310BECEC52D0077FF5
+:1004140000830895ECEC04D02081286020830895A3
+:10042400F1E030E03BBF08950F945D01C801A22FB5
+:10043400B091CA012DD012D007FDFDCF03E3009384
+:10044400CA013093C2019093C1018093C001A0936B
+:10045400C40105E327D0B093CA01CDCF30E00091A9
+:10046400CF0108950F945B01D801C9012A0107C087
+:10047400FC01D7DF2191CF018D01D6DF11968201D6
+:100484002FEF420E521E012B99F7E6E00D946C01FA
+:10049400EFEC0FD007FDFCCF008101FF02C006E3A3
+:1004A40001D008950093CA0121E00BEC11E00D94F2
+:1004B400FF00B6DF008108953093C2013093C1017B
+:1004C40008959A938A93802F9091CA01E1DFC6DF41
+:1004D40007FDFDCF03E30093CA0100E0EDDF0093C5
+:1004E400C0018093C40103950032C8F39093CA01FC
+:1004F400899199910895D6DF8093CA0189910895CD
+:100504008A93ADDF07FDFDCF8091CA0100E3F3CFED
+:1005140001D0F6CF0FEFD5CF1C0108018A01CB0122
+:10052400A001622F0BC0FA016BBF2691F80179DF9D
+:1005340021938F014F5F5F4F6F4F0197282F292B16
+:1005440091F7C10108950F94510122977A014B014B
+:10055400AA88280139011170802F952DD901801B9B
+:10056400910BA040B04007C07ADF07FDFDCF45E204
+:10057400002D0F947701082D092909F450C0BB24DC
+:10058400CC24DD24D394AA2071F0FC01ABBF0791E5
+:100594001691088319834881512F4F3F5F4F31F0E3
+:1005A400BB24B39403C00FEF08830983082D0929E2
+:1005B400B9F0481659066A067B0629F434D0088334
+:1005C400082D092969F08C019D010F5F1F4F2F4FE2
+:1005D4003F4F401651066206730611F424D0098376
+:1005E400488159818C019D010F9486018E5F9F4F34
+:1005F400AF4FBF4F0FEFC00ED01E0C2D0D2919F6B3
+:100604008C019D010050124020403040BB20002E40
+:1006140009F0AACF24DF07FDFDCF44E2A9CF22963B
+:10062400E1E10D9462010FEF800E901E01E0400E97
+:1006340000E0501E601E701EF7010BBF01917F0188
+:1006440008953FB7F8940A9519F00A9559F02AC00D
+:100654001830E6E56ED011F4016001C00E7F00830E
+:10066400E8E61DC0E6E565D0097F0083183021F473
+:1006740000810260008312C01F3F21F415D0008165
+:100684000460F8CF143051F40FD01FB7F894E0E5AC
+:100694000081046000831FBF06810683E0E60081B9
+:1006A400016000833FBF089500E807870BEB008BD0
+:1006B40008952497E0E7F0E007E01FEF30E03BBF48
+:1006C40011930A95D1F725E001E410E051D01CE123
+:1006D4002AD009831DE127D0088319810F3F1F4FBA
+:1006E40021F400E413E208831983088119810A8341
+:1006F4001B830A81009362000B810093630016D070
+:10070400026000831FBFE1E5008101FFFCCF21E00F
+:1007140000E42DD01FEF02E094DF08D00E7F0083A9
+:100724001FBF2496089502E00D9433011FB7F89477
+:10073400E0E5F0E0FBBF008108952FB7F894109531
+:1007440004D0012300832FBF0895F0E0E02FE05987
+:10075400FF4F30E03BBFEFCF063011F428E101C07A
+:1007640020E0236004E403D010E400E0E6CF10E0CE
+:100774000D94FF000F945D013CD12681222311F4D6
+:1007840000E037C042815381DA0190E039BF6D91B6
+:100794007C91DB01149639BF2C91021788F764838E
+:1007A4007583DA014D915C91DA01129639BF2D916E
+:1007B4003C91420F531F07C06C9104801580060EB4
+:1007C400191E04821582A481B581A417B507C0F649
+:1007D400119699BF2C911197243071F712962C9190
+:1007E4001297021749F713962C911397121721F7B2
+:1007F40001E0E4E00D946E018A93802F10E032D181
+:1008040011F400E006C016D0038114812581CFD1F4
+:1008140001E0899108958A93802F24D149F00AD068
+:10082400008111812281C3D1002311F001E001C0B4
+:1008340000E0EFCFE0912622F091272290D18BD1D6
+:1008440022E0829F000D111DF8010081F181E02F4B
+:100854000895AA9320D131F0A0E002C01AD1A39543
+:10086400B1D1E0F300E000932A2201E010E07AD154
+:100874001BBF00831183A99108950091B42A0F77B7
+:100884000D94B8080091B42A002329F00A9541F088
+:100894000A9519F126C024E030E00BEB11E21BC0ED
+:1008A40025E00FEB11E240E050E0F801E40FF51F02
+:1008B4005BBF608132E0439FF001E956FE4D6283E5
+:1008C40053834395421780F3220F2E5F2093972181
+:1008D40030E007E911E2B9D005C021E105EC11E2ED
+:1008E400E2CF02C001E0089500E00895BA93AA930C
+:1008F400A2EBBAE233D1628123810EE012E22A959F
+:1009040029F02A95B9F02A9599F11BC0F801408184
+:100914005181FA0120818A0198D0FD014BD1428591
+:1009240053850417150710F40287138701E0A99172
+:10093400B9910895F8014081F181E42F218962176A
+:1009440010F000E0F4CFF80106D124E0629F7FD0DC
+:100954004081F181E42F22813381F801042F118138
+:1009640074D022E0FBD00085F185E02F2183D5CF20
+:1009740089DF002391F6E5CF9A938A9382EB9AE27A
+:10098400FC018CD021F000E08991999108950F9495
+:10099400BB080023C1F3E0910E22F0910F22DFD0B7
+:1009A4002189FC010281201770F353DFFC01D7D0A9
+:1009B400028100932A2220912A22222311F401E0A9
+:1009C400E3CF009110221091112234E0239F000DF7
+:1009D400111D04501040C6D00283138380E009D057
+:1009E4003AD068F710E0082F16DF002361F28395F0
+:1009F400F6CFE4E2F2E2B3C00F945D010091B82AAD
+:100A04001091B92A013020E0104011F000E01CC020
+:100A1400A4E2B2E240D0D1F38091B62AFD012BBF0B
+:100A24001AD0A0F710E0082F1DD081F3FD01C6D025
+:100A3400829F0DD00ADFB8D000932B2221E030E052
+:100A440017968D0102D001E0D4CE0D94BE08000D9E
+:100A5400111DF80108950281F381E02FB9D08017A8
+:100A640008950A2F87DE00230895AA938A93E2EB60
+:100A7400FAE214D011F000E00AC00DD0E1F3A48131
+:100A8400828107D00023B9F3182F0A2FC4DE89917D
+:100A9400F2CE0A2FB1CE00912A22E5CF8BD0012BC2
+:100AA4000895E2EBFAE25BD0008107FF2AC0468199
+:100AB4005781042F052BA9F100810F71E1F4018105
+:100AC400002329F0065061F0025059F02AC0423048
+:100AD40000E0504009F0089522E004E212E209C067
+:100AE40005CF413000E0504009F0089521E00AE2CA
+:100AF40012E2ABDFF7CE0130A1F401810A3089F4B0
+:100B04007BCF0F7111F501810A9599F0025049F0DC
+:100B1400025029F0025029F00250B1F002C082D0F4
+:100B240009F0E2CE0FE314E021E00487158726875D
+:100B3400E1CF78D0B1F70FD00130104091F712D047
+:100B440000810D7F0083D6CF17CF013051F701818B
+:100B54000B3039F78ACF028113810895FD0130E00B
+:100B64003BBF0895E4E2F2E208950F945E0193DF3F
+:100B740011F400E016C0A091B62A24D0D0F710E0FA
+:100B840070DFB9F3EFDF1AD0A29F61DF808191811A
+:100B9400FC010AD0102F65DF61F3FC010BD0208526
+:100BA40006D0E3E00D946F01018512852385F801D9
+:100BB4002CBF1994D4DF0681178108950CD0CBDFA4
+:100BC40022E00895E4E2F2E206D002D0A0170895EC
+:100BD4003CDE04810895C3DF0281F38138CEE2EB69
+:100BE400FAE200E00BBF02870387048705870687C4
+:100BF4000787008B018B008107FF03C013D009F422
+:100C040073CE0091B22A007621F44BDF002309F061
+:100C140069CE0091B22A0F71013091F7A6DF00234B
+:100C2400B9F7EECF068117813ACF5BD00F94BB01A1
+:100C34000F94CC0100934A22DBC0089510D2A2EB9A
+:100C4400BAE20091B22A0076003209F048C010914D
+:100C5400B32A90E099BF0C9107FF18C0125049F0D5
+:100C64001A95C9F526E030E006E312E298D101E0D6
+:100C740037C04AD09BBF408D518D628D403059079B
+:100C8400690749F1FA016CBF19952AC01A9521F038
+:100C9400135009F526D0EBCFB2D0438D548D658D1A
+:100CA40000E0D5D059F00F94D60109E816E021E010
+:100CB400FD019BBF048715872687D9CF20E40CE468
+:100CC40012E26DD100E916E021E0FD019BBF078728
+:100CD400108B218BCCCF18D00FE09BBF8CD000E0C1
+:100CE400A2C101C01AC100E01AD1E2EBFAE200E0AD
+:100CF4000BBF0787008B018B04870587068704D009
+:100D0400038F048F058F0895ECE2F2E2089577D003
+:100D1400038D148D258DF8012CBF1994BA93AA93D1
+:100D2400E0DFD8D000E0FD010BBF008F018F028F00
+:100D340001E00F94D601F0914C22E0914D22E05055
+:100D4400F14071F0E050F24069F0319769F0EF5FE3
+:100D5400F04061F0339799F0E050F24001F121C086
+:100D640029D020C04ED01EC066D01CC00F94D7011D
+:100D7400002300E0B9F000934A2201E013C000917F
+:100D84004E22002321F406EE11E021E003C00FEE11
+:100D940011E021E00BD0038F148F258FEECF5BD0B1
+:100DA40001C000E0A991B991089594D0FD0130E00B
+:100DB4003BBF089524D0068D178D012309F0ABC0E5
+:100DC40047815085618543D011F414D002C02ED0E0
+:100DD40009F4A3C020E038E0E0D00CE318E021E0FF
+:100DE400E2EBFAE2E4DF0787108B218B01C0D5D058
+:100DF40001E0089503E002870AE00687089584DF8E
+:100E0400D6CF14D019F01FD011F4F4DF86C0068DAC
+:100E1400178D012321F00DE817E021E003C005EC54
+:100E240017E021E0008F118F228FE2CF0EE412E24F
+:100E34007CD000230895FADF19F005D011F4DADF2D
+:100E44006CC0AFD0D5CFDBDF4481558166814030A3
+:100E540050406040089503D1249700914F2210918F
+:100E64004E22112319F01A95A9F031C0013140F036
+:100E740008E0009336220AE000933A2200E028C0FA
+:100E84002CD000E0ACE3B2E209BF0D930D930D93B7
+:100E94000C931DC040E0488349834A834B830B83F2
+:100EA400009150220A8316D048815981602F7B819A
+:100EB40090E099BF0D911D912D913C91139740178E
+:100EC400510762077307A0F6FD019BBFC0D001E084
+:100ED4002496A9C0ACE2B2E20895033041F0023096
+:100EE40031F0043021F0053011F011E001C010E0C0
+:100EF40010934B2212E0019FF001EB58FE4D57DF97
+:100F04000080F1810CE212E220E0E02D4AE050E0A2
+:100F140060E00D94430103E002D000E008950093E3
+:100F2400362202E000933A2208950F9459013DDFDE
+:100F340062897389F8011080512D0180402DFD01D3
+:100F4400008A118A628B738B1B01F8011280038063
+:100F5400FD014080518062807380041415042604CE
+:100F6400370420F008E047DF00E00AC0041A150A3D
+:100F7400260A370A01E0000E131E231E331E56D024
+:100F8400E8E00D946A013BDF2488358954D0222D92
+:100F940063D035DF248935892ACF0CE812E20D9419
+:100FA400BE085DD097DF02DF448955896689778959
+:100FB400042F052B062B072BB1F1403008E0500716
+:100FC4006040704010F4CA0102C080E098E00A0159
+:100FD40026883788081A190A230A330A27D0392F92
+:100FE4002AD0282F39D00CE812E208C0FD013BBFFB
+:100FF40029D04F5F5F4F6F4F7F4F29D09C010197DE
+:10100400232B89F2F801D3DE21918F012F3F71F355
+:1010140005E00093362203E318E021E0FD013BBF25
+:10102400008F118F228FE4E00D946E01048A158ADB
+:10103400268A378A089506D0048115812681F8010D
+:101044002CBF089540895189628973890895408B22
+:10105400518B628B738B08950CE812E219940D94F2
+:101064005D01CDDE4089018900938C2240938D225D
+:1010740022E0BDCEF4DF99DE00881188228933890D
+:1010840064897589002D0F7310E04CE852E2400F1B
+:10109400511F800190E0179699BF0D901D902C90E0
+:1010A400F0012CBE1995E2EBFAE29BBF9787908B77
+:1010B400918B01E0B8CF1AE107D00093FA041BE149
+:1010C40003D00093FB04089502E00F9433010F3F13
+:1010D40009F40FE108958A9300E30F94AE030FB768
+:1010E400F894802F20E050E0022F10E0F9D0F801AE
+:1010F400E057F54D5BBF518B23952230A0F3DBDF26
+:101104000091C0040093C004E0ECA4D20068008302
+:1011140000810061008300EA1AE20683178353D139
+:101124000FEF0583E8EC008101600083E0EC0081AF
+:10113400006400838FBF8991089500E008951FB76C
+:10114400F89400E46FD200E26DD283D20160008390
+:10115400E9EC008102600083E8EC00810064008314
+:10116400E9EC0081016000831FBF08950093C3046C
+:1011740008950091C30408950093BA2A1093BB2ADA
+:101184002093BC2A3093BD2A089567D000E008BF9D
+:1011940032D2002331F5EBEC5DD204FF18C000E13C
+:1011A40041D20F942B0400E00093C30420E430E008
+:1011B40010E06CD020E430E010E000E867D00AECE6
+:1011C4001AE20093A42A1093A52A65D10AC00081CB
+:1011D40006FF02C000E404C0008105FF02C000E273
+:1011E40021D21BD0189539D000E008BF1ED20023AD
+:1011F40099F402E00093CC040091C50400E02CD0E3
+:10120400F801E7D0008105FF04C000E01FD044D1FD
+:1012140003C000E81BD0E0D0E4CF4CBEBBBFA9BFE5
+:1012240098BF8FBF09911991299139914991599189
+:10123400699179910990199029903990E991F991DE
+:1012440089919991A991B9914990089505D0F8018E
+:1012540002D20F7D0083089534C04A92BA93AA93B0
+:101264009A938A93FA93EA933A922A921A920A9256
+:101274007A936A935A934A933A932A931A930A93C2
+:101284008FB798B7A9B7BBB74CB608958A932051C6
+:10129400304041F02051304039F02052304031F09C
+:1012A40080E005C081E003C082E001C083E0D4DFB8
+:1012B40020E0F8012BBF218326E020838064818312
+:1012C4003ACF60EA7AE2202F2F70220F402F440F8A
+:1012D40000E010E0001F020F03D0060F171F08954F
+:1012E40043E00D943D01E8ECF4E0B2DF00810F7DB2
+:1012F4006CD1008D0260008F328F338F008D0F7D93
+:10130400008F008D0F7B008F00890F7D008B00897B
+:101314000F7B008BE2EBFAE2348735873687378719
+:10132400308B318B32873387368B0895ACD00023D2
+:1013340031F0033011F0043009F44ED1ACD00091F7
+:10134400A22A1091A32A083050E01040A1F548E0E9
+:101354002AEC3AE28D010F94310B3AD0008D0160F2
+:10136400008F00890160008BE8ECF4E02CD02BD0D6
+:101374000F94F105002311F411D11DC090E099BF21
+:101384000C91FD019BBF07FF0CC002850F7319F47C
+:1013940001E0078B01C0978B11D002E0068B1CD0B3
+:1013A4000AC006811781012B11F401D104C006D0B3
+:1013B40001E0068BC4D0E4E00D946E01928B938B14
+:1013C400948B958B08950081006244CF0093C82AC2
+:1013D400FDD030E03BBF089556D0033011F45AD00D
+:1013E40051C0FD01F6DF42855385648975898A0100
+:1013F400061B170B80E99AE2202F212B29F5078978
+:10140400002311F4E6D03EC002891389040F151F8E
+:10141400468157810417150720F08AD011F085D032
+:1014240041F400E00093C92AFC010BBF028F038F33
+:1014340025C08AD042851385042F242F2F7311F4DD
+:1014440021E001C020E0278B013420E0120710F0D6
+:1014540000E410E0FC01028F138FFD0140855185EB
+:1014640064897589460F571FFC01448F558FFD0110
+:1014740044895589400F511F448B558BFC01008DC5
+:101484000D7F008F98CF0F945D01A2EBBAE200911B
+:10149400C82A0895A1D027CFF6DF043011F4FADF6B
+:1014A40043C08091A22A9091A32AFD0192DF04886F
+:1014B4001588428553858001080F191F401751076D
+:1014C40018F4CA0180199109AC012AEC3AE20085AA
+:1014D4001185000D111D0F94310BFD017ADF048974
+:1014E4001589080F191F048B158B048980349040CB
+:1014F40031F435D0668177814617570750F002875B
+:10150400138716D021F011D011F448D00DC04FD05C
+:101514000BC0428553854017510729F409D0A9F31C
+:1015240004D099F311D00BD046CF62D00023089594
+:10153400478550896189403053076307089546D031
+:1015440000890D7F008B0895FD0130E03BBF0489C5
+:10155400158905D0428B538B348B358B0895428982
+:101564005389400F511F089533DF008905FD08C0DA
+:101574000091C82A013009F41AC0043009F410D0CB
+:10158400089526DF008D05FD08C00091C82A0230A9
+:1015940009F41FC0033009F403D0089505E016DFF1
+:1015A400018D0460018F01890460018B089503E0BB
+:1015B4000093C82A00E00093AA2A0093AB2A06D01D
+:1015C4000BBF008D0D7F008F08950083E0E9FAE2E0
+:1015D400089504E0FBDEB4CFE2EBFAE2FADE4485E0
+:1015E4005585668540305307630709F001D0089597
+:1015F400FA016CBF1994EBEC2DD002FF07C0F093F5
+:10160400CA040091A82A06FDAFDF21C0008101FFB2
+:1016140008C002E007D00091A02A06FFF6CFB1DF90
+:10162400F4CF8BCD0093CA040895ECEC13D000FFE3
+:1016340084CD01E0CADF00890F77008B008D0F771E
+:10164400008F01E0EFDF00890F7E008B6FDE01E089
+:101654000895E1ECF4E030E03BBF00810895BD0162
+:10166400D801F90107C030E03BBF219139BF2D9368
+:1016740041505040242F252BB1F7DB01089540E061
+:1016840099BF4D9399B70150104020403040402FEE
+:10169400412B422B432B99F708953BBF07913BB74E
+:1016A40099BF0D9399B74150504060407040042F4A
+:1016B400052B062B072B89F7089504E2402E07E13A
+:1016C400502E02E0602EF201362D6BBE47915791E9
+:1016D40067917691F201EC5FFF4F3F4F3BBFA791BB
+:1016E400B7919691F201362DE95FFF4F3F4F3BBF13
+:1016F400079117913691F801012B032B11F0CDDFDF
+:1017040003C08A019B01BBDF0AE0400E00E0501ECB
+:10171400601EA201662D483357416240A0F208952D
+:10172400EA080000202200000000D200000040214E
+:101734000038170201000000000200980101A00116
+:101744000100080000A40101AA010103000000AE89
+:10175400010100000004000000B6010100000000C7
+:1017640000000000000000000043214D216B216BAC
+:1017740021572161216B216B216B216B216B216B23
+:10178400216B216B216B216B216B21000300000075
+:101794000000000000000000000000000000000045
+:1017A4000000000000000000000000000000000431
+:1017B40003090441544D454C0044465520415458B6
+:1017C4004D454741313238413155001706011F0656
+:1017D400012006017406010012010002000000400D
+:1017E400EB03ED2F010001020001090212000101C7
+:1017F40000C032090400000000000000D721F621D7
+:061804000822E4210A2283
+:0400000320000000D9
+:00000001FF
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/conf_board.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/conf_board.h
new file mode 100644
index 0000000..6825b7b
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/conf_board.h
@@ -0,0 +1,41 @@
+/*This file is prepared for Doxygen automatic documentation generation.*/
+/*! \file *********************************************************************
+ *
+ * \brief Board configuration for spi example
+ *
+ * Copyright (C) 2010 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+#ifndef CONF_BOARD_H_INCLUDED
+#define CONF_BOARD_H_INCLUDED
+
+#endif /* CONF_BOARD_H_INCLUDED */
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/conf_clock.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/conf_clock.h
new file mode 100644
index 0000000..3fb0b8c
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/conf_clock.h
@@ -0,0 +1,57 @@
+/**
+ * \file
+ *
+ * \brief Clock system configuration for clock example 1
+ *
+ * Copyright (C) 2010 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+#ifndef CONF_CLOCK_H_INCLUDED
+#define CONF_CLOCK_H_INCLUDED
+
+//! Configuration using On-Chip RC oscillator
+//! Use external board OSC (8MHz)
+//! Clk USB = 48MHz (used by USB)
+//! Clk sys = 48MHz
+//! Clk cpu/per = 12MHz
+#define CONFIG_USBCLK_SOURCE USBCLK_SRC_RCOSC
+#define CONFIG_OSC_RC32_CAL 48000000UL
+
+#define CONFIG_OSC_AUTOCAL OSC_ID_RC32MHZ
+#define CONFIG_OSC_AUTOCAL_REF_OSC OSC_ID_USBSOF
+
+#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_RC32MHZ
+#define CONFIG_SYSCLK_PSADIV SYSCLK_PSADIV_2
+#define CONFIG_SYSCLK_PSBCDIV SYSCLK_PSBCDIV_1_2
+
+
+#endif /* CONF_CLOCK_H_INCLUDED */
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/conf_isp.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/conf_isp.h
new file mode 100644
index 0000000..f4f1219
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/conf_isp.h
@@ -0,0 +1,67 @@
+/*This file is prepared for Doxygen automatic documentation generation.*/
+/*! \file ******************************************************************
+ *
+ * \brief ISP configuration file.
+ *
+ * This file contains the possible external configuration of the ISP.
+ *
+ * - Compiler: IAR EWAVR32 and GNU GCC for AVR32
+ * - Supported devices: All AVR32 devices with a USB module can be used.
+ * - AppNote:
+ *
+ * \author Atmel Corporation: http://www.atmel.com \n
+ * Support and FAQ: http://support.atmel.no/
+ *
+ ***************************************************************************/
+
+/* Copyright (c) 2009 Atmel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an Atmel
+ * AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+ *
+ */
+
+#ifndef _CONF_ISP_H_
+#define _CONF_ISP_H_
+
+#include "compiler.h"
+#include "nvm.h"
+
+// Version of bootloader
+// Note: It is display in second and last position by FLIP "1.V.V"
+// Example: Verison 0x00 give 1.0.0
+// Example: Verison 0x03 give 1.0.3
+// Example: Verison 0x25 give 1.2.5
+#define BOOTLOADER_VERSION 0x01
+
+#if (FLASH_SIZE<=0x10000)
+// FLASH < 64KB, then bootloader 4KB and ISP is optimized
+// All memories (flash,eeprom,...) do not exced 64KB.
+#define ISP_SMALL_MEMORY_SIZE
+#endif
+
+#endif // _CONF_ISP_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/iar/atxmega128b1_boot.xcl b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/iar/atxmega128b1_boot.xcl
new file mode 100644
index 0000000..7667724
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/iar/atxmega128b1_boot.xcl
@@ -0,0 +1,72 @@
+
+
+
+
+// N O T E :
+// This is an experimental file autogenerated by an XSL transformation.
+// Read more about the purpose of this file and how it was generated here:
+// http://avrtools.norway.atmel.com/pmwiki/pmwiki.php?n=Software.XmegaFiles
+//////////////////////////////////////////////////////////////////////////////
+
+// Set up XLINK
+-ca90
+-w29
+
+// Memory size definitions for convenience
+// The '_..X_' prefix is used by C-SPY as an indication that the label should
+// not be displayed in the dissassembly window.
+
+-D_..X_FLASH_BASE=20002
+-D_..X_CODE_END=21FFF
+-D_..X_INTVEC_END=201FB
+
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// Code (flash) segments
+-Z(CODE)INTVEC=2007C-2008C
+-Z(CODE)CODE,BOOT=2008C-_..X_CODE_END
+-Z(CODE)FARCODE=2008C-_..X_CODE_END
+-Z(CODE)INITTAB=2008C-_..X_CODE_END
+-Z(CODE)NEAR_ID=2008C-_..X_CODE_END
+
+
+
+
+-D_..X_SRAM_BASE=2040
+-D_..X_SRAM_TINY_END=FF
+-D_..X_SRAM_NEAR_END=FFFF
+-D_..X_SRAM_FAR_END=FFFFFF
+-D_..X_SRAM_HUGE_END=FFFFFF
+
+/*
+ * Modify the lines below to alter the size of the RSTACK, CSTACK and HEAP
+ * segments. These need to be fine tuned to suit your specific application.
+ */
+-D_..X_CSTACK_SIZE=1000 /* 4096 bytes for auto variables and register save. */
+-D_..X_RSTACK_SIZE=100 /* 256 bytes for return addresses, equivalent to */
+ /* 128 levels of calls, including interrupts. */
+-D_..X_NEAR_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+-D_..X_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+-D_..X_FAR_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+-D_..X_HUGE_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+//////////////////////////////////////////////////////////////////////////////
+// Data (SRAM, external ROM or external NV RAM) memory
+-Z(DATA)SRAM_NO_INIT=2000-2001
+-Z(DATA)TINY_I,TINY_Z,TINY_N=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+-Z(DATA)RSTACK+_..X_RSTACK_SIZE=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+-Z(DATA)NEAR_I,NEAR_Z,NEAR_N,NEAR_C=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+-Z(DATA)NEAR_HEAP+_..X_NEAR_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+//-Z(DATA)FAR_I=[10000-_..X_SRAM_FAR_END]/10000
+-Z(DATA)CSTACK+_..X_CSTACK_SIZE=[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)HEAP+_..X_HEAP_SIZE=[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)IOSTREAM_N#[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)FAR_Z,FAR_N,FAR_C=[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)FAR_HEAP+_..X_FAR_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_FAR_END
+-Z(DATA)HUGE_I,HUGE_Z,HUGE_N,HUGE_C=_..X_SRAM_BASE-_..X_SRAM_HUGE_END
+-Z(DATA)HUGE_HEAP+_..X_HUGE_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_HUGE_END
+
+
+
+
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/iar/cstartup.s90 b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/iar/cstartup.s90
new file mode 100644
index 0000000..dbcfe88
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/iar/cstartup.s90
@@ -0,0 +1,195 @@
+;----------------------------------------------------------------------------
+;
+; This module contains the AVR C and EC++ startup
+;
+; File version: $Revision: 6648 $
+;
+;----------------------------------------------------------------------------
+
+
+#include "macros.m90"
+
+#define RST_STATUS 0x0078 ///< Reset Controller status
+#define RST_SRF_bp 5 ///< Software Reset Flag bit position
+#define RST_SRF_bm 0x20 ///< Software Reset Flag bit mask
+
+#define SWITCHPORT PORTC
+#define SWITCHPIN 6
+
+#define PORTC 0x0640
+#define DIR 0
+#define DIRSET 1
+#define DIRCLR 2
+#define DIRTGL 3
+#define PORT_OUT 4
+#define OUTSET 5
+#define OUTCLR 6
+#define OUTTGL 7
+#define PORT_IN 8
+#define INTCTRL 9
+#define INT0MASK 10
+#define INT1MASK 11
+#define INTFLAGS 12
+#define reserved_0x0D 13
+#define reserved_0x0E 14
+#define reserved_0x0F 15
+#define PIN0CTRL 16
+
+
+;----------------------------------------------------------------------------
+; Set up the RESET segment with a reset vector
+;----------------------------------------------------------------------------
+ MODULE ?RESET
+ EXTERN ?C_STARTUP
+ PUBLIC __program_start
+ PUBLIC ?RESET
+
+ ASEG 0x20000
+__program_start:
+?RESET:
+ RJMP ?C_STARTUP
+
+ ENDMOD
+
+;----------------------------------------------------------------------------
+; Set up the INTVEC segment with a reset vector
+;----------------------------------------------------------------------------
+ MODULE ?VECT
+ COMMON INTVEC:CODE:ROOT(1) ; Align at an even address
+ EXTERN ?C_STARTUP
+ ENDMOD
+
+;----------------------------------------------------------------------------
+; Forward declarations of segments used in initialization
+;----------------------------------------------------------------------------
+ RSEG CSTACK:DATA:NOROOT(0)
+ RSEG RSTACK:DATA:NOROOT(0)
+
+;----------------------------------------------------------------------------
+; Perform C initialization
+;----------------------------------------------------------------------------
+ MODULE ?C_STARTUP
+ EXTERN main
+ EXTERN exit
+ EXTERN _exit
+
+ RSEG CODE:CODE:NOROOT(1)
+ PUBLIC ?C_STARTUP
+ PUBLIC __RESTART
+ EXTERN ?RESET
+
+__RESTART:
+?C_STARTUP:
+
+#if A90_POINTER_REG_SIZE > 2
+ PUBLIC ?zero_reg_initialization
+?zero_reg_initialization:
+ CLR R15
+ OUT RAMPD,R15
+#endif
+
+
+;----------------------------------------------------------------------------
+; Boot Process
+;----------------------------------------------------------------------------
+
+boot_process:
+ // Test Software reset
+ LDS R16,(RST_STATUS)
+ SBRC R16,RST_SRF_bp // Test Software Reset Flag
+ RJMP start_app_jmp
+
+ // Test ISP pin
+ STS (SWITCHPORT+DIR), R15
+ LDI R16,0x18
+ STS (SWITCHPORT+PIN0CTRL+SWITCHPIN), R16
+ LDI R16,0xFF
+tempo:
+ DEC R16
+ TST R16
+ BRNE tempo
+ LDS R16,(SWITCHPORT+PORT_IN)
+ SBRS R16,SWITCHPIN // test ISP pin active
+ RJMP start_boot // pin activated
+
+ // Test beginning of flash blank
+ LDI R30, 0
+ LDI R31, 0
+ ELPM R16, Z+
+ ELPM R17, Z
+ CPI R16, 255
+ BRNE start_app_jmp
+ CPI R17, 255
+ BRNE start_app_jmp
+
+ RJMP start_boot
+start_app_jmp:
+ JMP start_app
+
+;----------------------------------------------------------------------------
+; Call Bootloader
+;----------------------------------------------------------------------------
+ RSEG STARTBOOT:CODE:NOROOT(1), 0x201FC
+ PUBLIC start_boot
+start_boot:
+ RJMP ?SETUP_STACK
+
+;----------------------------------------------------------------------------
+; Set up the CSTACK and RSTACK pointers.
+;----------------------------------------------------------------------------
+ RSEG CODE:CODE:NOROOT(1)
+ EXTERN __segment_init
+ PUBLIC ?need_segment_init
+
+?SETUP_STACK:
+ ;; Return address stack (RSTACK)
+ LDI R16,LOW(SFE(RSTACK)-1)
+ OUT 0x3D,R16
+#if A90_POINTER_REG_SIZE > 1
+ LDI R16,HIGH(SFE(RSTACK)-1)
+ OUT 0x3E,R16
+#endif
+
+ ;; Data stack (CSTACK)
+ LDI Y0,LOW(SFE(CSTACK))
+#if A90_POINTER_REG_SIZE > 1
+#if MEMORY_MODEL == TINY_MEMORY_MODEL
+ LDI Y1,0
+#else
+ LDI Y1,HIGH(SFE(CSTACK))
+#endif
+#if A90_POINTER_REG_SIZE > 2
+ LDI Z0,HWRD(SFB(CSTACK))
+ OUT RAMPY,Z0
+#endif
+#endif
+?need_segment_init:
+ XCALL __segment_init
+ RCALL main
+
+;----------------------------------------------------------------------------
+; Call Application
+;----------------------------------------------------------------------------
+ EXTERN start_app_key
+
+start_app:
+ STS (SWITCHPORT+PIN0CTRL+SWITCHPIN), R15
+ LDS R16, start_app_key
+ LDS R17, (start_app_key + 1)
+ CPI R16, 0xAA
+ SBCI R17, 0x55
+ BREQ clear_rst_flags
+jump_0:
+ JMP 0
+
+// It is a start application launched by a batchisp start command
+// then clear reset flagS
+clear_rst_flags:
+ STS start_app_key, R15
+ STS (start_app_key + 1), R15
+ LDI R16,RST_SRF_bm
+ STS RST_STATUS,R16 // Clear Software Reset Flag
+ RJMP jump_0
+ END
+
+;----------------------------------------------------------------------------
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/iar/macros.m90 b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/iar/macros.m90
new file mode 100644
index 0000000..5d1c46d
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/iar/macros.m90
@@ -0,0 +1,181 @@
+;----------------------------------------------------------------------------
+;
+; MACROS.M90
+;
+; This module contains the A90/AVR C macros
+; used by cstartup.s90 and other assemble source.
+;
+; File version: $Revision: 1.8 $
+;
+;
+;----------------------------------------------------------------------------
+
+
+#if (((__TID__ >> 8) & 0x7F) != 90)
+#error This file should only be assembled by aa90 or aavr
+#endif
+
+#define A90_PROC_OPTION ((__TID__ >> 4) & 0x0F)
+
+/* Long or relative jumps and calls */
+#if (A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 1)
+#define XCALL RCALL
+#define XJMP RJMP
+#else
+#define XCALL CALL
+#define XJMP JMP
+#endif
+
+/* Length of pointer registers (X/Y/Z) */
+#if (A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 2)
+#define A90_POINTER_REG_SIZE 1
+#define A90_TINY_INDEX
+#else /*!(A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 2)*/
+#if (A90_PROC_OPTION == 1) || (A90_PROC_OPTION == 3) || (A90_PROC_OPTION ==5)
+#define A90_POINTER_REG_SIZE 2
+#else /*!(A90_PROC_OPTION == 1) || (A90_PROC_OPTION == 3) || (A90_PROC_OPTION ==5)*/
+#if (A90_PROC_OPTION == 4) || (A90_PROC_OPTION == 6)
+#define A90_POINTER_REG_SIZE 3
+#define A90_EXTENDED_DATA
+#else /*!(A90_PROC_OPTION == 4) || (A90_PROC_OPTION == 6)*/
+#error Unknown processor option!!
+#endif /*!(A90_PROC_OPTION == 4) || (A90_PROC_OPTION == 6)*/
+#endif /*!(A90_PROC_OPTION == 1) || (A90_PROC_OPTION == 3) || (A90_PROC_OPTION ==5)*/
+#endif /*!(A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 2)*/
+
+#if (A90_PROC_OPTION > 4)
+#define A90_LARGE_CODE
+#endif
+
+#if (A90_PROC_OPTION > 1)
+#define A90_HAS_POSSIBLE_ELPM
+#endif
+
+#ifdef A90_HAS_POSSIBLE_ELPM
+#ifdef __HAS_ELPM__
+#define A90_HAS_ELPM
+#else
+#ifndef SMALL_FLASH
+#define A90_HAS_ELPM
+#endif
+#endif
+#endif
+
+#if A90_PROC_OPTION > 1
+#define A90_24BIT_GENERIC
+#endif
+
+#if A90_PROC_OPTION < 2
+#define A90_16BIT_GENERIC
+#endif
+
+#ifdef __MEMORY_MODEL__
+
+#define TINY_MEMORY_MODEL 0
+#define SMALL_MEMORY_MODEL 1
+#define LARGE_MEMORY_MODEL 2
+#define GENERIC_MEMORY_MODEL 3
+#define HUGE_MEMORY_MODEL 4
+
+#if __MEMORY_MODEL__ == 1
+#undef MEMORY_MODEL
+#define MEMORY_MODEL TINY_MEMORY_MODEL
+#endif
+
+#if __MEMORY_MODEL__ == 2
+#undef MEMORY_MODEL
+#define MEMORY_MODEL SMALL_MEMORY_MODEL
+#endif
+
+#if __MEMORY_MODEL__ == 3
+#undef MEMORY_MODEL
+#define MEMORY_MODEL LARGE_MEMORY_MODEL
+#endif
+
+#if __MEMORY_MODEL__ == 4
+#undef MEMORY_MODEL
+#define MEMORY_MODEL GENERIC_MEMORY_MODEL
+#endif
+
+#if __MEMORY_MODEL__ == 5
+#undef MEMORY_MODEL
+#define MEMORY_MODEL HUGE_MEMORY_MODEL
+#endif
+
+#else
+
+#ifdef MEMORY_MODEL
+#define t 0
+#define s 1
+#define l 2
+#define g 3
+#define h 4
+
+#define TINY_MEMORY_MODEL 0
+#define SMALL_MEMORY_MODEL 1
+#define LARGE_MEMORY_MODEL 2
+#define GENERIC_MEMORY_MODEL 3
+#define HUGE_MEMORY_MODEL 4
+
+#if MEMORY_MODEL == t
+#undef MEMORY_MODEL
+#define MEMORY_MODEL TINY_MEMORY_MODEL
+#endif
+
+#if MEMORY_MODEL == s
+#undef MEMORY_MODEL
+#define MEMORY_MODEL SMALL_MEMORY_MODEL
+#endif
+
+#if MEMORY_MODEL == l
+#undef MEMORY_MODEL
+#define MEMORY_MODEL LARGE_MEMORY_MODEL
+#endif
+
+#if MEMORY_MODEL == g
+#undef MEMORY_MODEL
+#define MEMORY_MODEL GENERIC_MEMORY_MODEL
+#endif
+
+#if MEMORY_MODEL == h
+#undef MEMORY_MODEL
+#define MEMORY_MODEL HUGE_MEMORY_MODEL
+#endif
+
+#undef t
+#undef s
+#undef l
+#undef g
+#undef h
+#endif
+#endif
+
+/* Register nicknames */
+#define T0 R0
+#define T1 R1
+#define T2 R2
+#define T3 R3
+#define P0 R16
+#define P1 R17
+#define P2 R18
+#define P3 R19
+#define Q0 R20
+#define Q1 R21
+#define Q2 R22
+#define Q3 R23
+#define X0 R26
+#define X1 R27
+#define X2 R25
+#define Y0 R28
+#define Y1 R29
+#define Z0 R30
+#define Z1 R31
+#define Z2 R19
+
+/* I/O-Space Register nicknames */
+#define RAMPD 0x38
+#define RAMPX 0x39
+#define RAMPY 0x3A
+#define RAMPZ 0x3B
+#define EIND 0x3C
+#define SREG 0x3F
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/releases/atxmega128b1-bootloader-usb-dfu-1.0.1/atxmega128b1_bootloader_usb_dfu_101.hex b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/releases/atxmega128b1-bootloader-usb-dfu-1.0.1/atxmega128b1_bootloader_usb_dfu_101.hex
new file mode 100644
index 0000000..ee0371a
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega128b1/releases/atxmega128b1-bootloader-usb-dfu-1.0.1/atxmega128b1_bootloader_usb_dfu_101.hex
@@ -0,0 +1,340 @@
+:020000022000DC
+:020000004CC0F2
+:08007C000D94C8070D94F7076D
+:10008C0040E04BBFF80158ED54BF20830895009118
+:10009C00780005FD16C0F092400608E10093560664
+:1000AC000FEF0A950023E9F70091480606FFA0C060
+:1000BC00E0E0F0E0079116910F3F19F41F3F09F4AF
+:1000CC0097C00D9472000FE30DBF01E20EBFCAEE94
+:1000DC00DAE30F94230A54D0F092560600910020D4
+:1000EC00109101200A3A154511F00C940000F09281
+:1000FC000020F092012000E200937800F6CF4091AE
+:10010C00CA01E12FFF270093CA0104914093CA0151
+:10011C0008954A951AF0000F111FFBCF0895AF9365
+:10012C00BF93D80101900D9241505040D9F7BF9127
+:10013C00AF910895FA92EA92DA92CA92BA92AA927E
+:10014C009A928A927A926A925A924A92BA93AA9301
+:10015C009A938A930895FF84EE84DD84CC84BB84C7
+:10016C00AA84998488847F806E805D804C80BB815A
+:10017C00AA8199818881F0E0EC0FFD1FEF010895B1
+:10018C0027E402EA10E00F9446000F94AC02789436
+:10019C000F9470070F94A207FFCF3BB72BBFF8014A
+:1001AC002091CA014093CA013DE930933400E8958F
+:1001BC002093CA013BBF08953091CF0137FDFCCF8E
+:1001CC003BB72BBFF8012091CA0113E21093CA016F
+:0C01DC000A01E8952093CA013BBF08957A
+:1001FC006ACF0A011B01B901A801800191010D947C
+:10020C00E201E1E0EA930D94FC010A01A9019801D5
+:10021C0080010D9459019A01AB010D9488010A01DA
+:10022C00A90120E431E2200D311D0D94060A0A01CA
+:10023C00A90120E132E2F7CFE0E1F2E20091900077
+:10024C000083009191000183009192000283009140
+:10025C00930003830895E0EDF1E0008101FB00E0E1
+:10026C0000F90F27089508950091CF0107FDFCCFE9
+:10027C0040E200E010E020E030E00F94D3000F9457
+:10028C00DE0101E00895F8940AEA15E5E0E0F0E2F9
+:10029C000083118320917900216009E710E00F940D
+:1002AC004600FFCFF0CFB901EFECF1E0208127FD44
+:1002BC00FBCF0BD0105F98018B010F94060AECEC6E
+:1002CC00F1E00081077F00830895ECEC2081286029
+:1002DC00208308950F94AC00C801A22FB091CA01DD
+:1002EC0026D063D007FDFDCF4CD09093C1018093F5
+:1002FC00C001A093C40105E325D0B093CA01E4E08A
+:10030C000D94BD000F94AA00D801C9012A0106C0A2
+:10031C00FC012191CF018D01DDDF119682012FEFC0
+:10032C00420E521E012BA1F7E6E00D94BB00EFEC40
+:10033C00F1E0008107FDFBCF008101FF02C006E365
+:10034C0001D008950093CA0121E00BEC11E00D944B
+:10035C0046009A938A93802F9091CA01E8DF25D0AA
+:10036C0007FDFDCF0ED00093C1010093C001809317
+:10037C00C40103950032C8F39093CA0189919991F5
+:10038C00089503E30093CA0100E00093C2010895AD
+:10039C00D9DF8093CA01899108958A9306D007FD0D
+:1003AC00FDCF8091CA0100E3F3CF0091CF010895F6
+:1003BC0001D0F3CF0FEFCDCF1C0108018A01CB0187
+:1003CC00A001622F2091CF0127FDFCCF282F292BD4
+:1003DC0059F0FA016BBF2691F80121938F014F5F01
+:1003EC005F4F6F4F0197F2CFC10108950F94A0009A
+:1003FC0022977A014B01AA8828013901912FD90142
+:10040C0080E007C0D2DF07FDFDCF45E2002D0F9441
+:10041C00D300082D092909F44EC0CC24C6DF07FDF2
+:10042C00FDCF00E8B02EAA2071F0FC01ABBF079104
+:10043C001691088319832881312F2F3F3F4F31F0BC
+:10044C00CC24C39403C00FEF08830983082D09291A
+:10045C00B9F0481659066A067B0629F430D0088391
+:10046C00082D092969F08C019D010F5F1F4F2F4F3B
+:10047C003F4F401651066206730611F420D00983D3
+:10048C00488159818C019D010F94E2008E5F9F4F32
+:10049C00AF4FBF4FBA9439F68C019D0100501140FB
+:1004AC0020403040CC20002E09F0ACCF7EDF07FD81
+:1004BC00FDCF44E2ABCF2296E1E10D94B1000FEFFA
+:1004CC00800E901E01E0400E00E0501E601E701E5B
+:1004DC00F70101917F0108953FB7F8940A9519F03F
+:1004EC000A9561F02CC01830E6E5F0E0008111F4BB
+:1004FC00016001C00E7F0083E8E61EC0E6E5F0E077
+:10050C000081097F0083183021F400810260008390
+:10051C0012C01F3F21F415D000810460F8CF1430B5
+:10052C0051F40FD01FB7F894E0E50081046000830C
+:10053C001FBF06810683E0E60081016000833FBF98
+:10054C00089500E807870BEB008B08952497E0E7EC
+:10055C00F0E007E01FEF11930A95E1F725E001E4C5
+:10056C004DD01CE12AD009831DE127D008831981C5
+:10057C000F3F1F4F21F400E413E208831983088115
+:10058C0019810A831B830A81009362000B810093FB
+:10059C00630016D0026000831FBFE1E5008101FFFC
+:1005AC00FCCF21E000E42AD01FEF02E095DF08D059
+:1005BC000E7F00831FBF2496089502E00D948500E2
+:1005CC001FB7F894E0E5F0E0008108954FB7F89478
+:1005DC00109504D0012300834FBF0895F0E0E02F65
+:1005EC00E059FF4FF1CF063011F428E101C020E0B3
+:1005FC00236004E403D010E400E0E8CF10E00D9495
+:10060C0046000D0137D12681222311F400E033C0BE
+:10061C0022813381D9014D915C91DA0114966C9150
+:10062C000617A0F744835583D9012D913C91D9012C
+:10063C0012964D915C91240F351F08C04C9150E0DF
+:10064C0064817581640F751F64837583A481B58182
+:10065C00A217B307D8F611964C911197443071F745
+:10066C0012964C911297041749F713964C911397C5
+:10067C00141721F701E0D001089543D0802F10E02A
+:10068C00C6D111F400E006C015D003811481258178
+:10069C00B9D101E02DC035D0802FB9D149F00AD0A5
+:1006AC00008111812281AED1002311F001E001C043
+:1006BC0000E01EC0A6E1B2E2ED91FC91A281B381F3
+:1006CC0002E0809FA00DB11DED91FC91089519D011
+:1006DC0012D039F080E003C0082FCFDF8395EED025
+:1006EC00D8F300E000931A2201E010E00D931C9364
+:1006FC00E4E00D94BD00A4E1B2E200911A220023C3
+:10070C0008950D94AC000091942A0F770D94BA07BC
+:10071C000091942A002329F00A9541F00A9511F1D1
+:10072C0025C024E030E009EB11E21AC025E00DEB06
+:10073C0011E240E050E0F801E40FF51F608132E077
+:10074C00439FF001E956FE4D628353834395421754
+:10075C0088F3220F2E5F2093972130E007E911E2F6
+:10076C0046D005C020E103EC11E2E3CF02C001E06A
+:10077C00089500E0089575D0FD01428123810AE0BF
+:10078C0012E22A9529F02A9589F02A9531F112C0A6
+:10079C0030D0208130E028D069D0228533850217F3
+:1007AC00130710F40287138701E01BC022D02189A4
+:1007BC00421710F000E0F9CFF801F4D024E0429F8A
+:1007CC00000D111D16D0228133810ED022E0FD01C7
+:1007DC000085F185E02F2183DFCF9ADF0023E1F63E
+:1007EC00E9CFA991B9910895F801008111810D9477
+:1007FC00C207F8012081F181E22F089532D036D062
+:10080C00012B11F000E0EDCF0F94BD070023D1F3C5
+:10081C00EAE0F2E24FD02189FD010281201790F32A
+:10082C0056DFFD01028100931A2220911A22222305
+:10083C0011F401E0E8CFEAE0F2E2B4D034E0239F17
+:10084C00000D111D0450104015D002831383A0E03D
+:10085C00E0D0A01770F710E049D0002399F2A395CF
+:10086C00F7CFBA93AA93A2E9BAE20895FD010681E3
+:10087C0017810895E4E1F2E2089543DF96D00681F2
+:10088C0017810130104011F000E013C034DFE1F3A8
+:10089C00848114D0C8F7B9D0B9F3FD01A6D00AD021
+:1008AC00AED000931B2221E030E017968D019FDF24
+:1008BC0001E01ECF0081F181E02F0895FD01ABD046
+:1008CC0080170895AA938A9370D072D011F000E02B
+:1008DC000AC013DFE1F3A48182810A2FCEDE00234C
+:1008EC00B1F3182F03D08991A99108950A2FD3CE73
+:1008FC005CD0008107FF2CC026813781022F032B8F
+:10090C00B9F100810F71F1F40181002329F0065037
+:10091C0069F0025061F02CC0223000E0304009F048
+:10092C00089522E030E004E112E20AC024CF213025
+:10093C0000E0304009F0089521E030E00AE112E2D5
+:10094C0056DF15CF0130A1F401810A3089F495CF1F
+:10095C000F7111F501810A9599F0025049F002507E
+:10096C0029F0025029F00250B1F002C021D009F058
+:10097C0000CF09E813E021E0048715872687E1CF33
+:10098C0017D0B1F70FD00130104091F773DF008111
+:10099C000D7F0083D6CF32CF013051F701810B3060
+:1009AC0039F790CF028113810895E2E9FAE20895B4
+:1009BC0006811781012B0895A4DE9FDE11F400E05F
+:1009CC0013C08091962A25D08017C8F71ED0B9F392
+:1009DC0051DF0BD0A081B181FD0111D0102F16D0A9
+:1009EC0071F344DF20850ED083CE0281F381E02F9A
+:1009FC00D9DF22E0829F000D111DF80108950185B9
+:100A0C0012852385F8012CBF199410E0082FF9DD0D
+:100A1C0076CEE4E1F2E20281F381E02F4BDF048138
+:100A2C000895C3DF00E002870387048705870687E4
+:100A3C000787008B018B008107FF03C0B9DF09F426
+:100A4C0098CE0091922A007621F452DF002309F00F
+:100A5C008ECE0091922A0F71013091F7ADDF0023F9
+:100A6C00B9F7EECF5AD00F9422010F9431010093B5
+:100A7C003A22D6C00895BA93AA93A2E9BAE2009199
+:100A8C00922A0076003209F044C01091932A0C91FE
+:100A9C0007FF18C0125049F01A95C1F526E030E056
+:100AAC0006E212E284D101E035C01FD1408D518D98
+:100ABC00628D00E040305007600741F1FA016CBFD5
+:100ACC00199528C01A9521F0135001F526D0EBCFBB
+:100ADC000CD1438D548D658D00E0D0D051F00F9426
+:100AEC0039010CEA15E021E0FD0104871587268702
+:100AFC00DACF20E430E00CE312E259D103EB15E03D
+:100B0C0021E0FD010787108B218BCDCFEED00FE0BC
+:100B1C008AD000E0A991B991089501C00AC11B2F98
+:100B2C002A2FE3D000E0028702E00687A1EABAE2AE
+:100B3C0000E00D930D930C9315970D930D930C935F
+:100B4C00038F048F058FA22FB12F0895CED0038D64
+:100B5C00148D258DF8012CBF19940F94AC00DDDF9A
+:100B6C00ACE1B2E200E0FD01008F018F028F01E0E9
+:100B7C000F943901ECE3F2E2908181818050914035
+:100B8C0071F08050924069F0019769F08F5F90404E
+:100B9C0061F0039799F080509240F9F020C023D077
+:100BAC001FC045D01DC05DD01BC00F943A0100235F
+:100BBC0000E0B1F000933A2201E012C00281002360
+:100BCC0021F409E411E021E003C008E511E021E083
+:100BDC00FD01038F148F258FEFCF54D001C000E09F
+:100BEC00E4E00D94BD0081D0068D178D012309F032
+:100BFC009AC047815085618541D011F413D002C051
+:100C0C002BD009F496C020E038E0CFD002E417E0F6
+:100C1C0021E0E2E9FAE20787108B218B01C0C5D0F5
+:100C2C0001E0089503E002870AE00687089514D0D6
+:100C3C0019F01FD011F4F6DF7CC0068D178D01233F
+:100C4C0021F009E916E021E003C001ED16E021E0F6
+:100C5C00008F118F228FE4CF0EE312E26CD00023B1
+:100C6C000895FADF19F005D011F4DCDF62C0A1D0D1
+:100C7C00D7CFECE1F2E2448155816681403050409F
+:100C8C00604008952497ECE3F2E203811281112372
+:100C9C0019F01A9581F026C0013128F026D008E011
+:100CAC00C2DF00E020C024D000E01FD0008B018BFD
+:100CBC00028B038B17C040E0488349834A834B83E4
+:100CCC000B8304810A8311D0088119812A813B810D
+:100CDC0040815181628173810417150726073707FC
+:100CEC00E8F6AED001E024960895ECE1F2E2089526
+:100CFC00033041F0023031F0043021F0053011F0B6
+:100D0C0011E001C010E010933B2212E0019FF001B2
+:100D1C00EB58FE4D6081F1810CE112E2E62F4AE0C6
+:100D2C0050E00D94950003E00093262202E000931E
+:100D3C002A2200E008950F94AB00ACE1B2E2FD0171
+:100D4C0022893389F80150814180FD01408A518B01
+:100D5C00F801128103810D901D902D903C901397FA
+:100D6C00001511052205330540F008E000932622FA
+:100D7C000AE000932A2200E00BC00419150B220B89
+:100D8C00330B59D0FD01048B158B268B378B01E06F
+:100D9C00E5E00D94BC00A9DF2488358959D0222DBB
+:100DAC0054D0A3DF248935893ACF0CE712E20D9495
+:100DBC00C2070F94AC00ACE1B2E2FD0104891589C5
+:100DCC0026893789402F412B422B432B99F1003038
+:100DDC0048E0140780E02040304010F4C80101C006
+:100DEC0098E0A80166897789481B590B60407040D0
+:100DFC00448B558B668B778B392F2AD0282F25D097
+:100E0C004CE752E204C0FD0150D015D019D08C0132
+:100E1C000197012B91F2FA010191AF010F3F99F368
+:100E2C0005E00093262208E317E021E0FD01008F86
+:100E3C00118F228FD5CE0F5F1F4F2F4F3F4F08952D
+:100E4C00008B118B228B338B08950CE712E21994D3
+:100E5C004089518962897389048115812681F80141
+:100E6C002CBF089542DF0089418940937C22009376
+:100E7C007D2222E030E0D3CE38DF17D0648975892B
+:100E8C00402F4F73042E11244CE752E2400D511D9C
+:100E9C00078010842184F0012CBE199500E0E2E952
+:100EAC00FAE20787008B018BBBCE0089118922895E
+:100EBC00338908951AE107D00093FA041BE103D09B
+:100ECC000093FB04089502E00F9485000F3F09F492
+:100EDC000FE108958A9300E30F94F9020FB7F89489
+:100EEC00802F20E030E08901ECD0F801E458F54D7A
+:100EFC00358323952230B0F3DDDF0091C0040093DD
+:100F0C00C004E0EC6BD000680083008100610083BA
+:100F1C0000E81AE2E6EC00831183E0EC44D10FEF19
+:100F2C000583E8EC1ED0E0EC0081006400838FBFE9
+:100F3C008991089500E008951FB7F89400E448D211
+:100F4C0000E246D2E1ECF4E00CD0E9EC0081026066
+:100F5C000083E8EC008100640083E9EC02D01FBF41
+:100F6C0008950081016006C00093C30408950091A8
+:100F7C00C304089500830895E7D1068F178F20A32B
+:100F8C0031A3089560D00ED2002329F526D004FF9A
+:100F9C0018C000E11DD20F946D0300E00093C30450
+:100FAC0020E430E010E064D020E430E010E000E811
+:100FBC005FD00AEA1AE20093842A1093852A43D15F
+:100FCC000AC0008106FF02C000E404C0008105FFD6
+:100FDC0002C000E2FDD11CD01895EBECF4E00081CE
+:100FEC00089531D0F8D1002391F402E00093CC04A1
+:100FFC000091C50400E026D0F801008105FF04C073
+:10100C0000E01BD028D103C000E817D0CFD0E3CF2D
+:10101C00ACBF9BBF8FBF099119912991399149910F
+:10102C005991699179910990199029903990E99188
+:10103C00F99189919991A991089504D0F8010081B1
+:10104C000F7D98CF2FC0AA939A938A93FA93EA9321
+:10105C003A922A921A920A927A936A935A934A93E0
+:10106C003A932A931A930A938FB79BB7ACB7089508
+:10107C008A932051304041F02051304039F02052B9
+:10108C00304031F080E005C081E003C082E001C057
+:10109C0083E0D8DF20E0F801218326E02083806400
+:1010AC00818346CF60E87AE2202F2F70220F402FE9
+:1010BC00440F00E010E0001F020F03D0060F171FB3
+:1010CC00089543E00D948F00E8ECF4E0B8DFB7DF4F
+:1010DC003BD104850260048700E010E00687078797
+:1010EC0004850F7D048704850F7B048704810F7DA5
+:1010FC00048304810F7B048312A313A314A315A3ED
+:10110C0016A317A310A311A314A708959DD0002311
+:10111C0031F0033011F0043009F439D194D0FD01D1
+:10112C0006811781083050E01040A1F548E02AEA0A
+:10113C003AE202E91AE20F94060AFD010485016005
+:10114C000487048101600483E8ECF4E02CD02BD0FC
+:10115C000F941705002311F4FAD01CC0FD01068969
+:10116C0007FF0CC000A10F7311F401E001C000E0F7
+:10117C0005A713D002E004A719D00CC0048D158D5F
+:10118C00012B11F4EFD006C008D001E004A70481B4
+:10119C000D7F0483A991B991089500E000A701A7E0
+:1011AC0002A703A7089500810062E4CE4DD003305E
+:1011BC0011F448D046C0FD0120A131A142A553A590
+:1011CC008901041B150B402F412B19F505A5002394
+:1011DC0011F4D2D036C000A511A5020F131F248D17
+:1011EC00358D0217130720F090D011F07ED039F412
+:1011FC0000E00093A92AFD01068707871FC078D05D
+:10120C0020A111A1022F2F7311F421E001C020E0C5
+:10121C0025A7013420E0120710F000E410E0068747
+:10122C001787268D378D42A553A5240F351F208B8C
+:10123C00318B9A01200F311F22A733A704850D7F14
+:10124C000487A8CFA4D040CFBA93AA93ACE7BAE254
+:10125C000091A82A08950F94AC00F8DF043011F423
+:10126C00F1DF40C0FD018681978162A573A520A1A5
+:10127C0031A18B01080F191F2017310718F4C90170
+:10128C00861B970BAC012AEA3AE2068D178D060FE6
+:10129C00171F0F94060AFD0102A513A5080F191FAD
+:1012AC0002A713A78034904031F42AD0448D558D79
+:1012BC002417350750F000A311A327D021F015D027
+:1012CC0011F445D00FC04ED00DC020A131A1201774
+:1012DC00310729F41AD0A9F308D099F309D0048165
+:1012EC000D7F0483E4E00D94BD0059D000230895D4
+:1012FC00FD0102A513A504D020A731A700E050CF13
+:10130C0020A531A5200F311F089545A156A167A135
+:10131C0000E0403050076007089535D005FD07C048
+:10132C0004A5013009F41EC0043009F414D008954A
+:10133C000BD0048505FD07C004A5023009F41CC0C0
+:10134C00033009F408D00895ECE7FAE2089505E0BB
+:10135C000093A82AF9DF05850460058705810460E0
+:10136C0005830895F1DF03E004A700E006870787F3
+:10137C0004850D7F0487089504E00093A82A03D008
+:10138C000D7F04830895ECE7FAE204810895DCDF15
+:10139C0042A153A164A1BCDF09F001D00895FA0168
+:1013AC006CBF19941ADE02FF07C0F093CA040091B7
+:1013BC00882A06FDB2DF22C0008101FF08C002E0CE
+:1013CC0007D00091802A06FFF6CFB2DFF4CFB2CD62
+:1013DC000093CA0408950091CC0400FFABCD01E04A
+:1013EC000093CC04D0DF0F77048304850F77048738
+:1013FC0001E0EEDF04810F7E048388DE01E00895B6
+:10140C00BD01D801F90104C021912D9341505040E8
+:10141C00242F252BC9F7DB01089520E008D0E9F72C
+:10142C0008953BBF27913BB702D0D9F708952D9370
+:10143C0001501040202F212B089506EA402E04E184
+:10144C00502E02E0602EF201362D6BBE07911691E4
+:10145C00F201EE5FFF4F3F4F3BBFA791B691F201F8
+:10146C00362DEC5FFF4F3F4F3BBF47915791669135
+:10147C00242F252B262B21F0FA01362FD2DF01C089
+:10148C00CCDF07E0400E00E0501E601EA201662D6E
+:10149C00443B54416240B8F20895DA08102200002F
+:1014AC0000CE004021B4140201000000000200FF35
+:1014BC000001070101000800000B010111010103EB
+:1014CC00000000150101000000040000001D0101D6
+:1014DC000000000000000000000000000043214D4F
+:1014EC00216B216B21572161216B216B216B216BAE
+:1014FC00216B216B216B216B216B216B216B2100EB
+:10150C0003000000000000000000000000000000CC
+:10151C0000000000000000000000000000000000BF
+:10152C00000403090441544D454C004446552041E8
+:10153C0054584D454741313238423100380501404D
+:10154C000501410501940501120100020000004053
+:10155C00EB03EA2F01000102000109021200010154
+:10156C0000C032090400000000000000D421F22168
+:06157C000422E02106221A
+:0400000320000000D9
+:00000001FF
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/conf_board.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/conf_board.h
new file mode 100644
index 0000000..6825b7b
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/conf_board.h
@@ -0,0 +1,41 @@
+/*This file is prepared for Doxygen automatic documentation generation.*/
+/*! \file *********************************************************************
+ *
+ * \brief Board configuration for spi example
+ *
+ * Copyright (C) 2010 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+#ifndef CONF_BOARD_H_INCLUDED
+#define CONF_BOARD_H_INCLUDED
+
+#endif /* CONF_BOARD_H_INCLUDED */
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/conf_clock.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/conf_clock.h
new file mode 100644
index 0000000..3fb0b8c
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/conf_clock.h
@@ -0,0 +1,57 @@
+/**
+ * \file
+ *
+ * \brief Clock system configuration for clock example 1
+ *
+ * Copyright (C) 2010 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+#ifndef CONF_CLOCK_H_INCLUDED
+#define CONF_CLOCK_H_INCLUDED
+
+//! Configuration using On-Chip RC oscillator
+//! Use external board OSC (8MHz)
+//! Clk USB = 48MHz (used by USB)
+//! Clk sys = 48MHz
+//! Clk cpu/per = 12MHz
+#define CONFIG_USBCLK_SOURCE USBCLK_SRC_RCOSC
+#define CONFIG_OSC_RC32_CAL 48000000UL
+
+#define CONFIG_OSC_AUTOCAL OSC_ID_RC32MHZ
+#define CONFIG_OSC_AUTOCAL_REF_OSC OSC_ID_USBSOF
+
+#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_RC32MHZ
+#define CONFIG_SYSCLK_PSADIV SYSCLK_PSADIV_2
+#define CONFIG_SYSCLK_PSBCDIV SYSCLK_PSBCDIV_1_2
+
+
+#endif /* CONF_CLOCK_H_INCLUDED */
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/conf_isp.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/conf_isp.h
new file mode 100644
index 0000000..9540b3d
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/conf_isp.h
@@ -0,0 +1,67 @@
+/*This file is prepared for Doxygen automatic documentation generation.*/
+/*! \file ******************************************************************
+ *
+ * \brief ISP configuration file.
+ *
+ * This file contains the possible external configuration of the ISP.
+ *
+ * - Compiler: IAR EWAVR32 and GNU GCC for AVR32
+ * - Supported devices: All AVR32 devices with a USB module can be used.
+ * - AppNote:
+ *
+ * \author Atmel Corporation: http://www.atmel.com \n
+ * Support and FAQ: http://support.atmel.no/
+ *
+ ***************************************************************************/
+
+/* Copyright (c) 2009 Atmel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an Atmel
+ * AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+ *
+ */
+
+#ifndef _CONF_ISP_H_
+#define _CONF_ISP_H_
+
+#include "compiler.h"
+#include "nvm.h"
+
+// Version of bootloader
+// Note: It is display in second and last position by FLIP "1.V.V"
+// Example: Verison 0x00 give 1.0.0
+// Example: Verison 0x03 give 1.0.3
+// Example: Verison 0x25 give 1.2.5
+#define BOOTLOADER_VERSION 0x00
+
+#if (FLASH_SIZE<=0x10000)
+// FLASH < 64KB, then bootloader 4KB and ISP is optimized
+// All memories (flash,eeprom,...) do not exced 64KB.
+#define ISP_SMALL_MEMORY_SIZE
+#endif
+
+#endif // _CONF_ISP_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/iar/atxmega256a3bu_boot.xcl b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/iar/atxmega256a3bu_boot.xcl
new file mode 100644
index 0000000..2e1315c
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/iar/atxmega256a3bu_boot.xcl
@@ -0,0 +1,72 @@
+
+
+
+
+// N O T E :
+// This is an experimental file autogenerated by an XSL transformation.
+// Read more about the purpose of this file and how it was generated here:
+// http://avrtools.norway.atmel.com/pmwiki/pmwiki.php?n=Software.XmegaFiles
+//////////////////////////////////////////////////////////////////////////////
+
+// Set up XLINK
+-ca90
+-w29
+
+// Memory size definitions for convenience
+// The '_..X_' prefix is used by C-SPY as an indication that the label should
+// not be displayed in the dissassembly window.
+
+-D_..X_FLASH_BASE=40002
+-D_..X_CODE_END=41FFF
+-D_..X_INTVEC_END=401FB
+
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// Code (flash) segments
+-Z(CODE)INTVEC=401F4-401FF
+-Z(CODE)CODE,BOOT=401FC-_..X_CODE_END
+-Z(CODE)FARCODE=401FC-_..X_CODE_END
+-Z(CODE)INITTAB=401FC-_..X_CODE_END
+-Z(CODE)NEAR_ID=401FC-_..X_CODE_END
+
+
+
+
+-D_..X_SRAM_BASE=2040
+-D_..X_SRAM_TINY_END=FF
+-D_..X_SRAM_NEAR_END=FFFF
+-D_..X_SRAM_FAR_END=FFFFFF
+-D_..X_SRAM_HUGE_END=FFFFFF
+
+/*
+ * Modify the lines below to alter the size of the RSTACK, CSTACK and HEAP
+ * segments. These need to be fine tuned to suit your specific application.
+ */
+-D_..X_CSTACK_SIZE=1000 /* 4096 bytes for auto variables and register save. */
+-D_..X_RSTACK_SIZE=100 /* 256 bytes for return addresses, equivalent to */
+ /* 128 levels of calls, including interrupts. */
+-D_..X_NEAR_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+-D_..X_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+-D_..X_FAR_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+-D_..X_HUGE_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+//////////////////////////////////////////////////////////////////////////////
+// Data (SRAM, external ROM or external NV RAM) memory
+-Z(DATA)SRAM_NO_INIT=2000-2001
+-Z(DATA)TINY_I,TINY_Z,TINY_N=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+-Z(DATA)RSTACK+_..X_RSTACK_SIZE=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+-Z(DATA)NEAR_I,NEAR_Z,NEAR_N,NEAR_C=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+-Z(DATA)NEAR_HEAP+_..X_NEAR_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+//-Z(DATA)FAR_I=[10000-_..X_SRAM_FAR_END]/10000
+-Z(DATA)CSTACK+_..X_CSTACK_SIZE=[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)HEAP+_..X_HEAP_SIZE=[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)IOSTREAM_N#[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)FAR_Z,FAR_N,FAR_C=[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)FAR_HEAP+_..X_FAR_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_FAR_END
+-Z(DATA)HUGE_I,HUGE_Z,HUGE_N,HUGE_C=_..X_SRAM_BASE-_..X_SRAM_HUGE_END
+-Z(DATA)HUGE_HEAP+_..X_HUGE_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_HUGE_END
+
+
+
+
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/iar/cstartup.s90 b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/iar/cstartup.s90
new file mode 100644
index 0000000..c761e36
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/iar/cstartup.s90
@@ -0,0 +1,211 @@
+;----------------------------------------------------------------------------
+;
+; This module contains the AVR C and EC++ startup
+;
+; File version: $Revision: 6648 $
+;
+;----------------------------------------------------------------------------
+
+
+#include "macros.m90"
+
+#define SWITCHPORT PORTF
+#define SWITCHPIN 0
+
+#define PORTF 0x06A0
+#define DIR 0
+#define DIRSET 1
+#define DIRCLR 2
+#define DIRTGL 3
+#define PORT_OUT 4
+#define OUTSET 5
+#define OUTCLR 6
+#define OUTTGL 7
+#define PORT_IN 8
+#define INTCTRL 9
+#define INT0MASK 10
+#define INT1MASK 11
+#define INTFLAGS 12
+#define reserved_0x0D 13
+#define reserved_0x0E 14
+#define reserved_0x0F 15
+#define PIN0CTRL 16
+
+
+
+;----------------------------------------------------------------------------
+; Set up the RESET segment with a reset vector
+;----------------------------------------------------------------------------
+ MODULE ?RESET
+ EXTERN ?C_STARTUP
+ PUBLIC __program_start
+ PUBLIC ?RESET
+
+ ASEG 0x40000
+__program_start:
+?RESET:
+ RJMP ?C_STARTUP
+
+ ENDMOD
+
+;----------------------------------------------------------------------------
+; Set up the INTVEC segment with a reset vector
+;----------------------------------------------------------------------------
+ MODULE ?VECT
+ COMMON INTVEC:CODE:ROOT(1) ; Align at an even address
+ EXTERN ?C_STARTUP
+ ENDMOD
+
+;----------------------------------------------------------------------------
+; Forward declarations of segments used in initialization
+;----------------------------------------------------------------------------
+ RSEG CSTACK:DATA:NOROOT(0)
+ RSEG RSTACK:DATA:NOROOT(0)
+
+;----------------------------------------------------------------------------
+; Perform C initialization
+;----------------------------------------------------------------------------
+ MODULE ?C_STARTUP
+ EXTERN __segment_init
+ EXTERN main
+ EXTERN exit
+ EXTERN _exit
+
+;----------------------------------------------------------------------------
+; If the return address stack is located in external SRAM, make sure that
+; you have uncommented the correct code in __low_level_init!!!
+;----------------------------------------------------------------------------
+ RSEG CODE:CODE:NOROOT(1)
+ PUBLIC ?C_STARTUP
+ PUBLIC __RESTART
+ EXTERN ?RESET
+
+__RESTART:
+?C_STARTUP:
+#if A90_POINTER_REG_SIZE > 2
+ PUBLIC ?zero_reg_initialization
+?zero_reg_initialization:
+ CLR R15
+ OUT RAMPD,R15
+#endif
+ REQUIRE ?SETUP_STACK
+ REQUIRE ?RESET
+ RSEG CODE:CODE:NOROOT(1)
+ PUBLIC __RSTACK_in_external_ram
+__RSTACK_in_external_ram:
+ LDI R16,0xC0
+ OUT 0x35,R16 ;Enable the external SRAM with a wait state
+
+ RSEG CODE:CODE:NOROOT(1)
+ PUBLIC __RSTACK_in_external_ram_new_way
+ EXTERN __?XMCRA
+
+__RSTACK_in_external_ram_new_way:
+ LDI R16,0x8C ;SRE=1,SRL2=0,SRL1=0,SRL0=0,SRW11=1,SRW10=1,SRW01=0,SRW00=0
+ STS __?XMCRA,R16 ;Enable the external SRAM with maximum wait state.
+
+;----------------------------------------------------------------------------
+; Set up the CSTACK and RSTACK pointers.
+;----------------------------------------------------------------------------
+ RSEG CODE:CODE:NOROOT(1)
+?SETUP_STACK:
+ ;; Return address stack (RSTACK)
+ LDI R16,LOW(SFE(RSTACK)-1)
+ OUT 0x3D,R16
+#if A90_POINTER_REG_SIZE > 1
+ LDI R16,HIGH(SFE(RSTACK)-1)
+ OUT 0x3E,R16
+#endif
+
+ ;; Data stack (CSTACK)
+ LDI Y0,LOW(SFE(CSTACK))
+#if A90_POINTER_REG_SIZE > 1
+#if MEMORY_MODEL == TINY_MEMORY_MODEL
+ LDI Y1,0
+#else
+ LDI Y1,HIGH(SFE(CSTACK))
+#endif
+#if A90_POINTER_REG_SIZE > 2
+ LDI Z0,HWRD(SFB(CSTACK))
+ OUT RAMPY,Z0
+#endif
+#endif
+
+#if A90_POINTER_REG_SIZE > 2
+; Nothing here, the things previously here has been done earlier.
+#else
+; REQUIRE ?call_low_level_init
+
+;----------------------------------------------------------------------------
+; Clear R15 so that it can be used as zero register by the code generator.
+; The compiler will emit a "REQUIRE ?zero_reg_initialization" statement if
+; this optimization has been enabled.
+;----------------------------------------------------------------------------
+ RSEG CODE:CODE:NOROOT(1)
+ PUBLIC ?zero_reg_initialization
+
+?zero_reg_initialization:
+ CLR R15
+
+
+;----------------------------------------------------------------------------
+; Call __low_level_init to do low level initializatons. Modify the supplied
+; __low_level_init module to add your own initialization code or to
+; remove segment initialization (by returning 0).
+;----------------------------------------------------------------------------
+ RSEG CODE:CODE:NOROOT(1)
+#endif
+ REQUIRE ?cstartup_call_main
+
+;----------------------------------------------------------------------------
+; Call __segment_init to initialize segments.
+;----------------------------------------------------------------------------
+
+ RSEG CODE:CODE:NOROOT(1)
+ PUBLIC ?need_segment_init
+ EXTERN start_app_key
+ EXTERN nvm_flash_read_byte
+
+ // BOOT PROCESS MANAGEMENT .....
+ STS (SWITCHPORT+DIR), R15
+ LDI R16,0x18
+ STS (SWITCHPORT+PIN0CTRL+SWITCHPIN), R16
+ LDI R16,0xFF
+temp0:
+ DEC R16
+ TST R16
+ BRNE temp0
+ LDS R16,(SWITCHPORT+PORT_IN)
+ SBRS R16,SWITCHPIN // test DFU pin active
+ RJMP start_boot // pin activated
+ //test blank ?
+ LDI R30, 0
+ LDI R31, 0
+ ELPM R16, Z+
+ ELPM R17, Z
+ CPI R16, 255
+ BRNE start0
+ CPI R17, 255
+ BRNE start0
+start_boot:
+?need_segment_init:
+ XCALL __segment_init
+
+
+;----------------------------------------------------------------------------
+; Call main
+;----------------------------------------------------------------------------
+ RSEG CODE:CODE:NOROOT(1)
+
+ PUBLIC ?cstartup_call_main
+
+?cstartup_call_main:
+ RCALL main
+start0:
+ STS (SWITCHPORT+PIN0CTRL+SWITCHPIN), R15
+jump0:
+ JMP 0
+ END
+
+;----------------------------------------------------------------------------
+;
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/iar/macros.m90 b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/iar/macros.m90
new file mode 100644
index 0000000..ae18cf3
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega256a3bu/iar/macros.m90
@@ -0,0 +1,180 @@
+;----------------------------------------------------------------------------
+;
+; MACROS.M90
+;
+; This module contains the A90/AVR C macros
+; used by cstartup.s90 and other assemble source.
+;
+; File version: $Revision: 1.8 $
+;
+;
+;----------------------------------------------------------------------------
+
+#if (((__TID__ >> 8) & 0x7F) != 90)
+#error This file should only be assembled by aa90 or aavr
+#endif
+
+#define A90_PROC_OPTION ((__TID__ >> 4) & 0x0F)
+
+/* Long or relative jumps and calls */
+#if (A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 1)
+#define XCALL RCALL
+#define XJMP RJMP
+#else
+#define XCALL CALL
+#define XJMP JMP
+#endif
+
+/* Length of pointer registers (X/Y/Z) */
+#if (A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 2)
+#define A90_POINTER_REG_SIZE 1
+#define A90_TINY_INDEX
+#else /*!(A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 2)*/
+#if (A90_PROC_OPTION == 1) || (A90_PROC_OPTION == 3) || (A90_PROC_OPTION ==5)
+#define A90_POINTER_REG_SIZE 2
+#else /*!(A90_PROC_OPTION == 1) || (A90_PROC_OPTION == 3) || (A90_PROC_OPTION ==5)*/
+#if (A90_PROC_OPTION == 4) || (A90_PROC_OPTION == 6)
+#define A90_POINTER_REG_SIZE 3
+#define A90_EXTENDED_DATA
+#else /*!(A90_PROC_OPTION == 4) || (A90_PROC_OPTION == 6)*/
+#error Unknown processor option!!
+#endif /*!(A90_PROC_OPTION == 4) || (A90_PROC_OPTION == 6)*/
+#endif /*!(A90_PROC_OPTION == 1) || (A90_PROC_OPTION == 3) || (A90_PROC_OPTION ==5)*/
+#endif /*!(A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 2)*/
+
+#if (A90_PROC_OPTION > 4)
+#define A90_LARGE_CODE
+#endif
+
+#if (A90_PROC_OPTION > 1)
+#define A90_HAS_POSSIBLE_ELPM
+#endif
+
+#ifdef A90_HAS_POSSIBLE_ELPM
+#ifdef __HAS_ELPM__
+#define A90_HAS_ELPM
+#else
+#ifndef SMALL_FLASH
+#define A90_HAS_ELPM
+#endif
+#endif
+#endif
+
+#if A90_PROC_OPTION > 1
+#define A90_24BIT_GENERIC
+#endif
+
+#if A90_PROC_OPTION < 2
+#define A90_16BIT_GENERIC
+#endif
+
+#ifdef __MEMORY_MODEL__
+
+#define TINY_MEMORY_MODEL 0
+#define SMALL_MEMORY_MODEL 1
+#define LARGE_MEMORY_MODEL 2
+#define GENERIC_MEMORY_MODEL 3
+#define HUGE_MEMORY_MODEL 4
+
+#if __MEMORY_MODEL__ == 1
+#undef MEMORY_MODEL
+#define MEMORY_MODEL TINY_MEMORY_MODEL
+#endif
+
+#if __MEMORY_MODEL__ == 2
+#undef MEMORY_MODEL
+#define MEMORY_MODEL SMALL_MEMORY_MODEL
+#endif
+
+#if __MEMORY_MODEL__ == 3
+#undef MEMORY_MODEL
+#define MEMORY_MODEL LARGE_MEMORY_MODEL
+#endif
+
+#if __MEMORY_MODEL__ == 4
+#undef MEMORY_MODEL
+#define MEMORY_MODEL GENERIC_MEMORY_MODEL
+#endif
+
+#if __MEMORY_MODEL__ == 5
+#undef MEMORY_MODEL
+#define MEMORY_MODEL HUGE_MEMORY_MODEL
+#endif
+
+#else
+
+#ifdef MEMORY_MODEL
+#define t 0
+#define s 1
+#define l 2
+#define g 3
+#define h 4
+
+#define TINY_MEMORY_MODEL 0
+#define SMALL_MEMORY_MODEL 1
+#define LARGE_MEMORY_MODEL 2
+#define GENERIC_MEMORY_MODEL 3
+#define HUGE_MEMORY_MODEL 4
+
+#if MEMORY_MODEL == t
+#undef MEMORY_MODEL
+#define MEMORY_MODEL TINY_MEMORY_MODEL
+#endif
+
+#if MEMORY_MODEL == s
+#undef MEMORY_MODEL
+#define MEMORY_MODEL SMALL_MEMORY_MODEL
+#endif
+
+#if MEMORY_MODEL == l
+#undef MEMORY_MODEL
+#define MEMORY_MODEL LARGE_MEMORY_MODEL
+#endif
+
+#if MEMORY_MODEL == g
+#undef MEMORY_MODEL
+#define MEMORY_MODEL GENERIC_MEMORY_MODEL
+#endif
+
+#if MEMORY_MODEL == h
+#undef MEMORY_MODEL
+#define MEMORY_MODEL HUGE_MEMORY_MODEL
+#endif
+
+#undef t
+#undef s
+#undef l
+#undef g
+#undef h
+#endif
+#endif
+
+/* Register nicknames */
+#define T0 R0
+#define T1 R1
+#define T2 R2
+#define T3 R3
+#define P0 R16
+#define P1 R17
+#define P2 R18
+#define P3 R19
+#define Q0 R20
+#define Q1 R21
+#define Q2 R22
+#define Q3 R23
+#define X0 R26
+#define X1 R27
+#define X2 R25
+#define Y0 R28
+#define Y1 R29
+#define Z0 R30
+#define Z1 R31
+#define Z2 R19
+
+/* I/O-Space Register nicknames */
+#define RAMPD 0x38
+#define RAMPX 0x39
+#define RAMPY 0x3A
+#define RAMPZ 0x3B
+#define EIND 0x3C
+#define SREG 0x3F
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/conf_board.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/conf_board.h
new file mode 100644
index 0000000..6825b7b
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/conf_board.h
@@ -0,0 +1,41 @@
+/*This file is prepared for Doxygen automatic documentation generation.*/
+/*! \file *********************************************************************
+ *
+ * \brief Board configuration for spi example
+ *
+ * Copyright (C) 2010 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+#ifndef CONF_BOARD_H_INCLUDED
+#define CONF_BOARD_H_INCLUDED
+
+#endif /* CONF_BOARD_H_INCLUDED */
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/conf_clock.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/conf_clock.h
new file mode 100644
index 0000000..79b0180
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/conf_clock.h
@@ -0,0 +1,56 @@
+/**
+ * \file
+ *
+ * \brief Clock system configuration for clock example 1
+ *
+ * Copyright (C) 2010 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+#ifndef CONF_CLOCK_H_INCLUDED
+#define CONF_CLOCK_H_INCLUDED
+
+//! Configuration using On-Chip RC oscillator
+//! Use external board OSC (8MHz)
+//! Clk USB = 48MHz (used by USB)
+//! Clk sys = 48MHz
+//! Clk cpu/per = 12MHz
+#define CONFIG_USBCLK_SOURCE USBCLK_SRC_RCOSC
+#define CONFIG_OSC_RC32_CAL 48000000UL
+
+#define CONFIG_OSC_AUTOCAL OSC_ID_RC32MHZ
+#define CONFIG_OSC_AUTOCAL_REF_OSC OSC_ID_USBSOF
+
+#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_RC32MHZ
+#define CONFIG_SYSCLK_PSADIV SYSCLK_PSADIV_2
+#define CONFIG_SYSCLK_PSBCDIV SYSCLK_PSBCDIV_1_2
+
+#endif /* CONF_CLOCK_H_INCLUDED */
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/conf_isp.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/conf_isp.h
new file mode 100644
index 0000000..a3b79fe
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/conf_isp.h
@@ -0,0 +1,69 @@
+/*This file is prepared for Doxygen automatic documentation generation.*/
+/*! \file ******************************************************************
+ *
+ * \brief ISP configuration file.
+ *
+ * This file contains the possible external configuration of the ISP.
+ *
+ * - Compiler: IAR EWAVR32 and GNU GCC for AVR32
+ * - Supported devices: All AVR32 devices with a USB module can be used.
+ * - AppNote:
+ *
+ * \author Atmel Corporation: http://www.atmel.com \n
+ * Support and FAQ: http://support.atmel.no/
+ *
+ ***************************************************************************/
+
+/* Copyright (c) 2009 Atmel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an Atmel
+ * AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
+ *
+ */
+
+#ifndef _CONF_ISP_H_
+#define _CONF_ISP_H_
+
+#include "compiler.h"
+#include "nvm.h"
+
+// Version of bootloader
+// Note: It is display in second and last position by FLIP "1.V.V"
+// Example: Verison 0x00 give 1.0.0
+// Example: Verison 0x03 give 1.0.3
+// Example: Verison 0x25 give 1.2.5
+#define BOOTLOADER_VERSION 0x00
+
+#if (FLASH_SIZE<=0x10000)
+// FLASH < 64KB, then bootloader 4KB and ISP is optimized
+// All memories (flash,eeprom,...) do not exced 64KB.
+#define ISP_SMALL_MEMORY_SIZE
+#else
+#error Temporary change FLASH_SIZE of ATXMEGA128A1U part to be 64KB
+#endif
+
+#endif // _CONF_ISP_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/atxmega64a1_boot.xcl b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/atxmega64a1_boot.xcl
new file mode 100644
index 0000000..260b06c
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/atxmega64a1_boot.xcl
@@ -0,0 +1,73 @@
+
+
+
+
+// N O T E :
+// This is an experimental file autogenerated by an XSL transformation.
+// Read more about the purpose of this file and how it was generated here:
+// http://avrtools.norway.atmel.com/pmwiki/pmwiki.php?n=Software.XmegaFiles
+//////////////////////////////////////////////////////////////////////////////
+
+// Set up XLINK
+-ca90
+-w29
+
+// Memory size definitions for convenience
+// The '_..X_' prefix is used by C-SPY as an indication that the label should
+// not be displayed in the dissassembly window.
+
+-D_..X_FLASH_BASE=10002
+-D_..X_CODE_END=10FFF
+-D_..X_INTVEC_END=101FB
+
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// Code (flash) segments
+-Z(CODE)INTVEC=101F4-101FF
+-Z(CODE)BOOT=_..X_FLASH_BASE-101F3
+-Z(CODE)CODE=101FC-_..X_CODE_END
+-Z(CODE)FARCODE=101FC-_..X_CODE_END
+-Z(CODE)INITTAB=101FC-_..X_CODE_END
+-Z(CODE)NEAR_ID=101FC-_..X_CODE_END
+
+
+
+
+-D_..X_SRAM_BASE=2040
+-D_..X_SRAM_TINY_END=FF
+-D_..X_SRAM_NEAR_END=FFFF
+-D_..X_SRAM_FAR_END=FFFFFF
+-D_..X_SRAM_HUGE_END=FFFFFF
+
+/*
+ * Modify the lines below to alter the size of the RSTACK, CSTACK and HEAP
+ * segments. These need to be fine tuned to suit your specific application.
+ */
+-D_..X_CSTACK_SIZE=1000 /* 4096 bytes for auto variables and register save. */
+-D_..X_RSTACK_SIZE=100 /* 256 bytes for return addresses, equivalent to */
+ /* 128 levels of calls, including interrupts. */
+-D_..X_NEAR_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+-D_..X_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+-D_..X_FAR_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+-D_..X_HUGE_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+//////////////////////////////////////////////////////////////////////////////
+// Data (SRAM, external ROM or external NV RAM) memory
+-Z(DATA)SRAM_NO_INIT=2000-2001
+-Z(DATA)TINY_I,TINY_Z,TINY_N=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+-Z(DATA)RSTACK+_..X_RSTACK_SIZE=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+-Z(DATA)NEAR_I,NEAR_Z,NEAR_N,NEAR_C=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+-Z(DATA)NEAR_HEAP+_..X_NEAR_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+//-Z(DATA)FAR_I=[10000-_..X_SRAM_FAR_END]/10000
+-Z(DATA)CSTACK+_..X_CSTACK_SIZE=[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)HEAP+_..X_HEAP_SIZE=[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)IOSTREAM_N#[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)FAR_Z,FAR_N,FAR_C=[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)FAR_HEAP+_..X_FAR_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_FAR_END
+-Z(DATA)HUGE_I,HUGE_Z,HUGE_N,HUGE_C=_..X_SRAM_BASE-_..X_SRAM_HUGE_END
+-Z(DATA)HUGE_HEAP+_..X_HUGE_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_HUGE_END
+
+
+
+
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/common_services_usb_class_dfu_device_atmel_isp_atxmega64a1u.ewp b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/common_services_usb_class_dfu_device_atmel_isp_atxmega64a1u.ewp
new file mode 100644
index 0000000..fa6945a
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/common_services_usb_class_dfu_device_atmel_isp_atxmega64a1u.ewp
@@ -0,0 +1,2089 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<project>
+ <fileVersion>2</fileVersion>
+ <configuration>
+ <name>Debug</name>
+ <toolchain>
+ <name>AVR</name>
+ </toolchain>
+ <debug>1</debug>
+ <settings>
+ <name>General</name>
+ <archiveVersion>10</archiveVersion>
+ <data>
+ <version>8</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>GGEnhancedCore</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Variant Memory</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ExePath</name>
+ <state>Debug\Exe</state>
+ </option>
+ <option>
+ <name>ObjPath</name>
+ <state>Debug\Obj</state>
+ </option>
+ <option>
+ <name>ListPath</name>
+ <state>Debug\List</state>
+ </option>
+ <option>
+ <name>GGEnableConfig</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GG64KFlash</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GG64BitDoubles</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GGFPSLICCOnfig</name>
+ <version>0</version>
+ <state>3</state>
+ </option>
+ <option>
+ <name>LCEnableBitDefs</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>LCHeapSize</name>
+ <state>0x10</state>
+ </option>
+ <option>
+ <name>SCCStackSize</name>
+ <state>0x100</state>
+ </option>
+ <option>
+ <name>SCExtCStack</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SCRStackSize</name>
+ <state>0x100</state>
+ </option>
+ <option>
+ <name>SCExtRStack</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SCEnableBus</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SCAddWaitstate</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SCRamBase</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>SCRamSize</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>SCRomBase</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>SCRomSize</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>SCNVBase</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>SCNVSize</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>SCInitWithReti</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GOutputBinary</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GGEepromUtil</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GGEepromUtilSize</name>
+ <state>2048</state>
+ </option>
+ <option>
+ <name>New Variant Processor</name>
+ <version>33</version>
+ <state>190</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelect</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RTDescription</name>
+ <state>Use the normal configuration of the C/EC++</state>
+ <state>runtime library. No locale interface,</state>
+ <state>C locale, no file descriptor support,</state>
+ <state>no multibytes in printf and scanf, and</state>
+ <state>no hex floats in strtod.</state>
+ </option>
+ <option>
+ <name>RTConfigPath</name>
+ <state>$TOOLKIT_DIR$\LIB\DLIB\dlAVR-6s-xmega-n.h</state>
+ </option>
+ <option>
+ <name>RTLibraryPath</name>
+ <state>$TOOLKIT_DIR$\LIB\DLIB\dlAVR-6s-xmega-n.r90</state>
+ </option>
+ <option>
+ <name>Input variant</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Input description</name>
+ <state> No specifier n, no float or long long.</state>
+ </option>
+ <option>
+ <name>Output variant</name>
+ <version>0</version>
+ <state>3</state>
+ </option>
+ <option>
+ <name>Output description</name>
+ <state> specifier a or A, no specifier n, no float or long long.</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelectSlave</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GeneralEnableMisra</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVerbose</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LCTinyHeapSize</name>
+ <state>0x10</state>
+ </option>
+ <option>
+ <name>LCNearHeapSize</name>
+ <state>0x20</state>
+ </option>
+ <option>
+ <name>LCFarHeapSize</name>
+ <state>0x1000</state>
+ </option>
+ <option>
+ <name>LCHugeHeapSize</name>
+ <state>0x1000</state>
+ </option>
+ <option>
+ <name>LCsHeapConfigText</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GGNoMULInstruction</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ICCAVR</name>
+ <archiveVersion>5</archiveVersion>
+ <data>
+ <version>14</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CCVariantProcessor</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEnhancedCore</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCVariantMemory</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCDefines</name>
+ <state>__ATxmega128A1U__</state>
+ <state>BOARD=DUMMY_BOARD</state>
+ </option>
+ <option>
+ <name>CCPreprocFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCPreprocComments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListCMnemonics</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListCMessages</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListAssSource</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagSuppress</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagRemark</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCWarnAsError</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCConstInRAM</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCInitInFlash</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCForceVariables</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOldCallConv</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLockRegs</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptSizeSpeed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptimization</name>
+ <version>1</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>CCAllowList</name>
+ <version>3</version>
+ <state>111111</state>
+ </option>
+ <option>
+ <name>CCCrossCallPassesList</name>
+ <version>8</version>
+ <state>5</state>
+ </option>
+ <option>
+ <name>CCObjUseModuleName</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCObjModuleName</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDebugInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCNoErrorMsg</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CC64BitDoubles</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CC64KFlash</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEnableExtBus</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEnableBitDefs</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptForceCrossCall</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCharIs</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCExt</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRequirePrototypes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCompilerRuntimeInfo</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>newCCIncludePaths</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ <state>$TOOLKIT_DIR$\INC\DLIB\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\drivers\cpu</state>
+ <state>$PROJ_DIR$\.</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\boards\dummy</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\utils</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\drivers\nvm</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\drivers\usb</state>
+ <state>$PROJ_DIR$\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\boards</state>
+ <state>$PROJ_DIR$\..\..\..\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\utils</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\clock</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\udc</state>
+ <state>$PROJ_DIR$\..\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\boards</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\utils\preprocessor</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..</state>
+ </option>
+ <option>
+ <name>CCStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCStdIncludePaths</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ <state>$TOOLKIT_DIR$\INC\DLIB\</state>
+ </option>
+ <option>
+ <name>CCEepromSize</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLockRegsSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptSizeSpeedSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptimizationSlave</name>
+ <version>1</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>CCOutputFile</name>
+ <state>$FILE_BNAME$.r90</state>
+ </option>
+ <option>
+ <name>CCLangSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerMisraOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLibConfigHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>PreInclude</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCOverrideModuleTypeDefault</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRadioModuleType</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRadioModuleTypeSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCCAdditionalCommandLineOptionsSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>AAVR</name>
+ <archiveVersion>4</archiveVersion>
+ <data>
+ <version>10</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>IProcessor</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ACaseSensitivity</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AWarnEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnWhat</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnOne</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange1</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CDebug</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ADefines</name>
+ <state>BOARD=DUMMY_BOARD</state>
+ </option>
+ <option>
+ <name>MacroChars</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>UndefAsm</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>UndefFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>UndefLine</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>UndefTime</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>UndefDate</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>UndefTid</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AList</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AListHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AListing</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Includes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacDefs</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacExps</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacExec</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OnlyAssed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MultiLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>TabSpacing</name>
+ <state>8</state>
+ </option>
+ <option>
+ <name>AXRef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDefines</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefInternal</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDual</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OAEnhancedCore</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AMaxErrOn</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AMaxErrNum</name>
+ <state>100</state>
+ </option>
+ <option>
+ <name>ANewIncludes</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ <state>$TOOLKIT_DIR$\INC\DLIB\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\drivers\cpu</state>
+ <state>$PROJ_DIR$\.</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\boards\dummy</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\utils</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\drivers\nvm</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\drivers\usb</state>
+ <state>$PROJ_DIR$\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\boards</state>
+ <state>$PROJ_DIR$\..\..\..\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\utils</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\clock</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\udc</state>
+ <state>$PROJ_DIR$\..\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\boards</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\utils\preprocessor</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..</state>
+ </option>
+ <option>
+ <name>AsmMultiByteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AavrVariantMemory</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AsmHasElpm</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AsmOutputFile</name>
+ <state>$FILE_BNAME$.r90</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CUSTOM</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <extensions></extensions>
+ <cmdline></cmdline>
+ </data>
+ </settings>
+ <settings>
+ <name>BICOMP</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ <settings>
+ <name>BUILDACTION</name>
+ <archiveVersion>1</archiveVersion>
+ <data>
+ <prebuild></prebuild>
+ <postbuild></postbuild>
+ </data>
+ </settings>
+ <settings>
+ <name>XLINK</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>13</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>XOutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>common_services_usb_class_dfu_device_atmel_isp_atxmega64a1u.d90</state>
+ </option>
+ <option>
+ <name>OutputFormat</name>
+ <version>11</version>
+ <state>70</state>
+ </option>
+ <option>
+ <name>FormatVariant</name>
+ <version>8</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>SecondaryOutputFile</name>
+ <state>(None for the selected format)</state>
+ </option>
+ <option>
+ <name>XDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AlwaysOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OverlapWarnings</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>NoGlobalCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XList</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>SegmentMap</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ListSymbols</name>
+ <state>2</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>XIncludes</name>
+ <state>$TOOLKIT_DIR$\LIB\</state>
+ </option>
+ <option>
+ <name>ModuleStatus</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XclOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XclFile</name>
+ <state>$PROJ_DIR$\test_on_atxmega128a1_boot.xcl</state>
+ </option>
+ <option>
+ <name>XclFileSlave</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DoFill</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>FillerByte</name>
+ <state>0xFF</state>
+ </option>
+ <option>
+ <name>DoCrc</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcSize</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcAlgo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcPoly</name>
+ <state>0x11021</state>
+ </option>
+ <option>
+ <name>CrcCompl</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RangeCheckAlternatives</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SuppressAllWarn</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SuppressDiags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>TreatAsWarn</name>
+ <state></state>
+ </option>
+ <option>
+ <name>TreatAsErr</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ModuleLocalSym</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcBitOrder</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OXSysConfig</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IncludeSuppressed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ModuleSummary</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>xcProgramEntryLabel</name>
+ <state>__program_start</state>
+ </option>
+ <option>
+ <name>DebugInformation</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RuntimeControl</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IoEmulation</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AllowExtraOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GenerateExtraOutput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XExtraOutOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ExtraOutputFile</name>
+ <state>common_services_usb_class_dfu_device_atmel_isp_atxmega64a1u.a90</state>
+ </option>
+ <option>
+ <name>ExtraOutputFormat</name>
+ <version>11</version>
+ <state>23</state>
+ </option>
+ <option>
+ <name>ExtraFormatVariant</name>
+ <version>8</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>xcOverrideProgramEntryLabel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>xcProgramEntryLabelSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ListOutputFormat</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>BufferedTermOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XcRTLibraryFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OXLibIOConfig</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XLinkMisraHandler</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OverlaySystemMap</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RawBinaryFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinarySymbol</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinarySegment</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinaryAlign</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CrcAlign</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcInitialValue</name>
+ <state>0x00</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>XAR</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>XAROutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XARInputs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>BILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ </configuration>
+ <configuration>
+ <name>Release</name>
+ <toolchain>
+ <name>AVR</name>
+ </toolchain>
+ <debug>0</debug>
+ <settings>
+ <name>General</name>
+ <archiveVersion>10</archiveVersion>
+ <data>
+ <version>8</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>GGEnhancedCore</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>Variant Memory</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ExePath</name>
+ <state>Release\Exe</state>
+ </option>
+ <option>
+ <name>ObjPath</name>
+ <state>Release\Obj</state>
+ </option>
+ <option>
+ <name>ListPath</name>
+ <state>Release\List</state>
+ </option>
+ <option>
+ <name>GGEnableConfig</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GG64KFlash</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GG64BitDoubles</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GGFPSLICCOnfig</name>
+ <version>0</version>
+ <state>3</state>
+ </option>
+ <option>
+ <name>LCEnableBitDefs</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>LCHeapSize</name>
+ <state>0x10</state>
+ </option>
+ <option>
+ <name>SCCStackSize</name>
+ <state>0x100</state>
+ </option>
+ <option>
+ <name>SCExtCStack</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SCRStackSize</name>
+ <state>0x100</state>
+ </option>
+ <option>
+ <name>SCExtRStack</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SCEnableBus</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SCAddWaitstate</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SCRamBase</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>SCRamSize</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>SCRomBase</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>SCRomSize</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>SCNVBase</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>SCNVSize</name>
+ <state>0x0</state>
+ </option>
+ <option>
+ <name>SCInitWithReti</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GOutputBinary</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GGEepromUtil</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GGEepromUtilSize</name>
+ <state>2048</state>
+ </option>
+ <option>
+ <name>New Variant Processor</name>
+ <version>33</version>
+ <state>190</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelect</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>RTDescription</name>
+ <state>runtime library. No locale interface,</state>
+ <state>C locale, no file descriptor support,</state>
+ <state>no multibytes in printf and scanf, and</state>
+ <state>no hex floats in strtod.</state>
+ <state>Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
+ </option>
+ <option>
+ <name>RTConfigPath</name>
+ <state>$TOOLKIT_DIR$\LIB\DLIB\dlAVR-6s-xmega-n.h</state>
+ </option>
+ <option>
+ <name>RTLibraryPath</name>
+ <state>$TOOLKIT_DIR$\LIB\DLIB\dlAVR-6s-xmega-n.r90</state>
+ </option>
+ <option>
+ <name>Input variant</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>Input description</name>
+ <state>Full formatting.</state>
+ </option>
+ <option>
+ <name>Output variant</name>
+ <version>0</version>
+ <state>3</state>
+ </option>
+ <option>
+ <name>Output description</name>
+ <state> specifier a or A, no specifier n, no float or long long.</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelectSlave</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GeneralEnableMisra</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVerbose</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LCTinyHeapSize</name>
+ <state>0x10</state>
+ </option>
+ <option>
+ <name>LCNearHeapSize</name>
+ <state>0x20</state>
+ </option>
+ <option>
+ <name>LCFarHeapSize</name>
+ <state>0x1000</state>
+ </option>
+ <option>
+ <name>LCHugeHeapSize</name>
+ <state>0x1000</state>
+ </option>
+ <option>
+ <name>LCsHeapConfigText</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GGNoMULInstruction</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ICCAVR</name>
+ <archiveVersion>5</archiveVersion>
+ <data>
+ <version>14</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CCVariantProcessor</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEnhancedCore</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCVariantMemory</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCDefines</name>
+ <state>NDEBUG</state>
+ <state>BOARD=DUMMY_BOARD</state>
+ </option>
+ <option>
+ <name>CCPreprocFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocComments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCMnemonics</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCListCMessages</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagSuppress</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagRemark</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCWarnAsError</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCConstInRAM</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCInitInFlash</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCForceVariables</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOldCallConv</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLockRegs</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptSizeSpeed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptimization</name>
+ <version>1</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>CCAllowList</name>
+ <version>3</version>
+ <state>111111</state>
+ </option>
+ <option>
+ <name>CCCrossCallPassesList</name>
+ <version>8</version>
+ <state>5</state>
+ </option>
+ <option>
+ <name>CCObjUseModuleName</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCObjModuleName</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDebugInfo</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCNoErrorMsg</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CC64BitDoubles</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CC64KFlash</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEnableExtBus</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEnableBitDefs</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptForceCrossCall</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCharIs</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCExt</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRequirePrototypes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCompilerRuntimeInfo</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>newCCIncludePaths</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ <state>$TOOLKIT_DIR$\INC\DLIB\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\drivers\cpu</state>
+ <state>$PROJ_DIR$\.</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\boards\dummy</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\utils</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\drivers\nvm</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\drivers\usb</state>
+ <state>$PROJ_DIR$\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\boards</state>
+ <state>$PROJ_DIR$\..\..\..\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\utils</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\clock</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\udc</state>
+ <state>$PROJ_DIR$\..\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\boards</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\utils\preprocessor</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..</state>
+ </option>
+ <option>
+ <name>CCStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCStdIncludePaths</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ <state>$TOOLKIT_DIR$\INC\DLIB\</state>
+ </option>
+ <option>
+ <name>CCEepromSize</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLockRegsSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptSizeSpeedSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCOptimizationSlave</name>
+ <version>1</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>CCOutputFile</name>
+ <state>$FILE_BNAME$.r90</state>
+ </option>
+ <option>
+ <name>CCLangSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerMisraOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLibConfigHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>PreInclude</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCOverrideModuleTypeDefault</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRadioModuleType</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRadioModuleTypeSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCCAdditionalCommandLineOptionsSlave</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules04</name>
+ <version>0</version>
+ <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+ </option>
+ <option>
+ <name>CompilerMisraRules98</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>AAVR</name>
+ <archiveVersion>4</archiveVersion>
+ <data>
+ <version>10</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>IProcessor</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ACaseSensitivity</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AWarnEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnWhat</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnOne</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange1</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CDebug</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADefines</name>
+ <state>BOARD=DUMMY_BOARD</state>
+ </option>
+ <option>
+ <name>MacroChars</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>UndefAsm</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>UndefFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>UndefLine</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>UndefTime</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>UndefDate</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>UndefTid</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AList</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AListHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AListing</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Includes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacDefs</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacExps</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacExec</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OnlyAssed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MultiLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>TabSpacing</name>
+ <state>8</state>
+ </option>
+ <option>
+ <name>AXRef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDefines</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefInternal</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDual</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OAEnhancedCore</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AMaxErrOn</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AMaxErrNum</name>
+ <state>100</state>
+ </option>
+ <option>
+ <name>ANewIncludes</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ <state>$TOOLKIT_DIR$\INC\DLIB\</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\drivers\cpu</state>
+ <state>$PROJ_DIR$\.</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\boards\dummy</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\utils</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\drivers\nvm</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\drivers\usb</state>
+ <state>$PROJ_DIR$\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\boards</state>
+ <state>$PROJ_DIR$\..\..\..\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\utils</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\clock</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\udc</state>
+ <state>$PROJ_DIR$\..\..</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\boards</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\utils\preprocessor</state>
+ <state>$PROJ_DIR$\..\..\..\..\..\..</state>
+ </option>
+ <option>
+ <name>AsmMultiByteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AavrVariantMemory</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AsmHasElpm</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AsmOutputFile</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CUSTOM</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <extensions></extensions>
+ <cmdline></cmdline>
+ </data>
+ </settings>
+ <settings>
+ <name>BICOMP</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ <settings>
+ <name>BUILDACTION</name>
+ <archiveVersion>1</archiveVersion>
+ <data>
+ <prebuild></prebuild>
+ <postbuild></postbuild>
+ </data>
+ </settings>
+ <settings>
+ <name>XLINK</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>13</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>XOutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OutputFormat</name>
+ <version>11</version>
+ <state>70</state>
+ </option>
+ <option>
+ <name>FormatVariant</name>
+ <version>8</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>SecondaryOutputFile</name>
+ <state>(None for the selected format)</state>
+ </option>
+ <option>
+ <name>XDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AlwaysOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OverlapWarnings</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>NoGlobalCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XList</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>SegmentMap</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ListSymbols</name>
+ <state>2</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>XIncludes</name>
+ <state>###Uninitialized###</state>
+ </option>
+ <option>
+ <name>ModuleStatus</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XclOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XclFile</name>
+ <state>$PROJ_DIR$\atxmega64a1_boot.xcl</state>
+ </option>
+ <option>
+ <name>XclFileSlave</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DoFill</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>FillerByte</name>
+ <state>0xFF</state>
+ </option>
+ <option>
+ <name>DoCrc</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcSize</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcAlgo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcPoly</name>
+ <state>0x11021</state>
+ </option>
+ <option>
+ <name>CrcCompl</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RangeCheckAlternatives</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SuppressAllWarn</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SuppressDiags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>TreatAsWarn</name>
+ <state></state>
+ </option>
+ <option>
+ <name>TreatAsErr</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ModuleLocalSym</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcBitOrder</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OXSysConfig</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IncludeSuppressed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ModuleSummary</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>xcProgramEntryLabel</name>
+ <state>__program_start</state>
+ </option>
+ <option>
+ <name>DebugInformation</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RuntimeControl</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IoEmulation</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AllowExtraOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GenerateExtraOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XExtraOutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ExtraOutputFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ExtraOutputFormat</name>
+ <version>11</version>
+ <state>25</state>
+ </option>
+ <option>
+ <name>ExtraFormatVariant</name>
+ <version>8</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>xcOverrideProgramEntryLabel</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>xcProgramEntryLabelSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ListOutputFormat</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>BufferedTermOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XcRTLibraryFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OXLibIOConfig</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XLinkMisraHandler</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OverlaySystemMap</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RawBinaryFile</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinarySymbol</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinarySegment</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinaryAlign</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CrcAlign</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcInitialValue</name>
+ <state>0x00</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>XAR</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>XAROutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XARInputs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>BILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ </configuration>
+ <mfc_discard>
+ <configuration>Debug</configuration>
+ </mfc_discard>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\drivers\cpu\ccp.s</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\cstartup.s90</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\isp.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\main.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\drivers\nvm\nvm.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\drivers\nvm\nvm_asm.s</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\clock\xmega\sysclk.c</name>
+ <excluded>
+ <configuration>Debug</configuration>
+ </excluded>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\sysclk_opt.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\udc\udc.c</name>
+ <excluded>
+ <configuration>Debug</configuration>
+ </excluded>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\udc_opt.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\udi_dfu_atmel.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\udi_dfu_atmel_desc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\..\..\..\..\..\..\..\xmega\drivers\usb\usb_device.c</name>
+ </file>
+</project>
+
+
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/cstartup.s90 b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/cstartup.s90
new file mode 100644
index 0000000..8546fa6
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/cstartup.s90
@@ -0,0 +1,199 @@
+;----------------------------------------------------------------------------
+;
+; This module contains the AVR C and EC++ startup
+;
+; File version: $Revision: 6648 $
+;
+;----------------------------------------------------------------------------
+
+
+#include "macros.m90"
+
+#define RST_STATUS 0x0078 ///< Reset Controller status
+#define RST_SRF_bp 5 ///< Software Reset Flag bit position
+#define RST_SRF_bm 0x20 ///< Software Reset Flag bit mask
+
+#define SWITCHPORT PORTF
+#define SWITCHPIN 0
+
+#define PORTF 0x06A0
+#define DIR 0
+#define DIRSET 1
+#define DIRCLR 2
+#define DIRTGL 3
+#define PORT_OUT 4
+#define OUTSET 5
+#define OUTCLR 6
+#define OUTTGL 7
+#define PORT_IN 8
+#define INTCTRL 9
+#define INT0MASK 10
+#define INT1MASK 11
+#define INTFLAGS 12
+#define reserved_0x0D 13
+#define reserved_0x0E 14
+#define reserved_0x0F 15
+#define PIN0CTRL 16
+
+
+;----------------------------------------------------------------------------
+; Set up the RESET segment with a reset vector
+;----------------------------------------------------------------------------
+ MODULE ?RESET
+ EXTERN ?C_STARTUP
+ PUBLIC __program_start
+ PUBLIC ?RESET
+
+#ifdef __ATxmega128A1U__
+ ASEG 0x20000
+#else // It is ATxmega64A1U
+ ASEG 0x10000
+#endif
+
+__program_start:
+?RESET:
+ RJMP ?C_STARTUP
+
+ ENDMOD
+
+;----------------------------------------------------------------------------
+; Set up the INTVEC segment with a reset vector
+;----------------------------------------------------------------------------
+ MODULE ?VECT
+ COMMON INTVEC:CODE:ROOT(1) ; Align at an even address
+ EXTERN ?C_STARTUP
+ ENDMOD
+
+;----------------------------------------------------------------------------
+; Forward declarations of segments used in initialization
+;----------------------------------------------------------------------------
+ RSEG CSTACK:DATA:NOROOT(0)
+ RSEG RSTACK:DATA:NOROOT(0)
+
+;----------------------------------------------------------------------------
+; Perform C initialization
+;----------------------------------------------------------------------------
+ MODULE ?C_STARTUP
+ EXTERN main
+ EXTERN exit
+ EXTERN _exit
+
+ RSEG BOOT:CODE:NOROOT(1)
+ PUBLIC ?C_STARTUP
+ PUBLIC __RESTART
+ EXTERN ?RESET
+
+__RESTART:
+?C_STARTUP:
+
+#if A90_POINTER_REG_SIZE > 2
+ PUBLIC ?zero_reg_initialization
+?zero_reg_initialization:
+ CLR R15
+ OUT RAMPD,R15
+#endif
+
+
+;----------------------------------------------------------------------------
+; Boot Process
+;----------------------------------------------------------------------------
+
+boot_process:
+ // Test Software reset
+ LDS R16,(RST_STATUS)
+ SBRC R16,RST_SRF_bp // Test Software Reset Flag
+ RJMP start_app
+
+ // Test ISP pin
+ STS (SWITCHPORT+DIR), R15
+ LDI R16,0x18
+ STS (SWITCHPORT+PIN0CTRL+SWITCHPIN), R16
+ LDI R16,0xFF
+tempo:
+ DEC R16
+ TST R16
+ BRNE tempo
+ LDS R16,(SWITCHPORT+PORT_IN)
+ SBRS R16,SWITCHPIN // test ISP pin active
+ RJMP start_boot // pin activated
+
+ // Test beginning of flash blank
+ LDI R30, 0
+ LDI R31, 0
+ ELPM R16, Z+
+ ELPM R17, Z
+ CPI R16, 255
+ BRNE start_app_jmp
+ CPI R17, 255
+ BRNE start_app_jmp
+
+ RJMP start_boot
+start_app_jmp:
+ RJMP start_app
+
+;----------------------------------------------------------------------------
+; Call Bootloader
+;----------------------------------------------------------------------------
+ RSEG STARTBOOT:CODE:NOROOT(1), 0x201FC
+ PUBLIC start_boot
+start_boot:
+ RJMP ?SETUP_STACK
+
+;----------------------------------------------------------------------------
+; Set up the CSTACK and RSTACK pointers.
+;----------------------------------------------------------------------------
+ RSEG BOOT:CODE:NOROOT(1)
+ EXTERN __segment_init
+ PUBLIC ?need_segment_init
+
+?SETUP_STACK:
+ ;; Return address stack (RSTACK)
+ LDI R16,LOW(SFE(RSTACK)-1)
+ OUT 0x3D,R16
+#if A90_POINTER_REG_SIZE > 1
+ LDI R16,HIGH(SFE(RSTACK)-1)
+ OUT 0x3E,R16
+#endif
+ ;; Data stack (CSTACK)
+ LDI Y0,LOW(SFE(CSTACK))
+#if A90_POINTER_REG_SIZE > 1
+#if MEMORY_MODEL == TINY_MEMORY_MODEL
+ LDI Y1,0
+#else
+ LDI Y1,HIGH(SFE(CSTACK))
+#endif
+#if A90_POINTER_REG_SIZE > 2
+ LDI Z0,HWRD(SFB(CSTACK))
+ OUT RAMPY,Z0
+#endif
+#endif
+?need_segment_init:
+ XCALL __segment_init
+ RCALL main
+
+;----------------------------------------------------------------------------
+; Call Application
+;----------------------------------------------------------------------------
+ EXTERN start_app_key
+
+start_app:
+ STS (SWITCHPORT+PIN0CTRL+SWITCHPIN), R15
+ LDS R16, start_app_key
+ LDS R17, (start_app_key + 1)
+ CPI R16, 0xAA
+ SBCI R17, 0x55
+ BREQ clear_rst_flags
+jump_0:
+ JMP 0
+
+// It is a start application launched by a batchisp start command
+// then clear reset flagS
+clear_rst_flags:
+ STS start_app_key, R15
+ STS (start_app_key + 1), R15
+ LDI R16,RST_SRF_bm
+ STS RST_STATUS,R16 // Clear Software Reset Flag
+ RJMP jump_0
+ END
+
+;----------------------------------------------------------------------------
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/macros.m90 b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/macros.m90
new file mode 100644
index 0000000..ae18cf3
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/macros.m90
@@ -0,0 +1,180 @@
+;----------------------------------------------------------------------------
+;
+; MACROS.M90
+;
+; This module contains the A90/AVR C macros
+; used by cstartup.s90 and other assemble source.
+;
+; File version: $Revision: 1.8 $
+;
+;
+;----------------------------------------------------------------------------
+
+#if (((__TID__ >> 8) & 0x7F) != 90)
+#error This file should only be assembled by aa90 or aavr
+#endif
+
+#define A90_PROC_OPTION ((__TID__ >> 4) & 0x0F)
+
+/* Long or relative jumps and calls */
+#if (A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 1)
+#define XCALL RCALL
+#define XJMP RJMP
+#else
+#define XCALL CALL
+#define XJMP JMP
+#endif
+
+/* Length of pointer registers (X/Y/Z) */
+#if (A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 2)
+#define A90_POINTER_REG_SIZE 1
+#define A90_TINY_INDEX
+#else /*!(A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 2)*/
+#if (A90_PROC_OPTION == 1) || (A90_PROC_OPTION == 3) || (A90_PROC_OPTION ==5)
+#define A90_POINTER_REG_SIZE 2
+#else /*!(A90_PROC_OPTION == 1) || (A90_PROC_OPTION == 3) || (A90_PROC_OPTION ==5)*/
+#if (A90_PROC_OPTION == 4) || (A90_PROC_OPTION == 6)
+#define A90_POINTER_REG_SIZE 3
+#define A90_EXTENDED_DATA
+#else /*!(A90_PROC_OPTION == 4) || (A90_PROC_OPTION == 6)*/
+#error Unknown processor option!!
+#endif /*!(A90_PROC_OPTION == 4) || (A90_PROC_OPTION == 6)*/
+#endif /*!(A90_PROC_OPTION == 1) || (A90_PROC_OPTION == 3) || (A90_PROC_OPTION ==5)*/
+#endif /*!(A90_PROC_OPTION == 0) || (A90_PROC_OPTION == 2)*/
+
+#if (A90_PROC_OPTION > 4)
+#define A90_LARGE_CODE
+#endif
+
+#if (A90_PROC_OPTION > 1)
+#define A90_HAS_POSSIBLE_ELPM
+#endif
+
+#ifdef A90_HAS_POSSIBLE_ELPM
+#ifdef __HAS_ELPM__
+#define A90_HAS_ELPM
+#else
+#ifndef SMALL_FLASH
+#define A90_HAS_ELPM
+#endif
+#endif
+#endif
+
+#if A90_PROC_OPTION > 1
+#define A90_24BIT_GENERIC
+#endif
+
+#if A90_PROC_OPTION < 2
+#define A90_16BIT_GENERIC
+#endif
+
+#ifdef __MEMORY_MODEL__
+
+#define TINY_MEMORY_MODEL 0
+#define SMALL_MEMORY_MODEL 1
+#define LARGE_MEMORY_MODEL 2
+#define GENERIC_MEMORY_MODEL 3
+#define HUGE_MEMORY_MODEL 4
+
+#if __MEMORY_MODEL__ == 1
+#undef MEMORY_MODEL
+#define MEMORY_MODEL TINY_MEMORY_MODEL
+#endif
+
+#if __MEMORY_MODEL__ == 2
+#undef MEMORY_MODEL
+#define MEMORY_MODEL SMALL_MEMORY_MODEL
+#endif
+
+#if __MEMORY_MODEL__ == 3
+#undef MEMORY_MODEL
+#define MEMORY_MODEL LARGE_MEMORY_MODEL
+#endif
+
+#if __MEMORY_MODEL__ == 4
+#undef MEMORY_MODEL
+#define MEMORY_MODEL GENERIC_MEMORY_MODEL
+#endif
+
+#if __MEMORY_MODEL__ == 5
+#undef MEMORY_MODEL
+#define MEMORY_MODEL HUGE_MEMORY_MODEL
+#endif
+
+#else
+
+#ifdef MEMORY_MODEL
+#define t 0
+#define s 1
+#define l 2
+#define g 3
+#define h 4
+
+#define TINY_MEMORY_MODEL 0
+#define SMALL_MEMORY_MODEL 1
+#define LARGE_MEMORY_MODEL 2
+#define GENERIC_MEMORY_MODEL 3
+#define HUGE_MEMORY_MODEL 4
+
+#if MEMORY_MODEL == t
+#undef MEMORY_MODEL
+#define MEMORY_MODEL TINY_MEMORY_MODEL
+#endif
+
+#if MEMORY_MODEL == s
+#undef MEMORY_MODEL
+#define MEMORY_MODEL SMALL_MEMORY_MODEL
+#endif
+
+#if MEMORY_MODEL == l
+#undef MEMORY_MODEL
+#define MEMORY_MODEL LARGE_MEMORY_MODEL
+#endif
+
+#if MEMORY_MODEL == g
+#undef MEMORY_MODEL
+#define MEMORY_MODEL GENERIC_MEMORY_MODEL
+#endif
+
+#if MEMORY_MODEL == h
+#undef MEMORY_MODEL
+#define MEMORY_MODEL HUGE_MEMORY_MODEL
+#endif
+
+#undef t
+#undef s
+#undef l
+#undef g
+#undef h
+#endif
+#endif
+
+/* Register nicknames */
+#define T0 R0
+#define T1 R1
+#define T2 R2
+#define T3 R3
+#define P0 R16
+#define P1 R17
+#define P2 R18
+#define P3 R19
+#define Q0 R20
+#define Q1 R21
+#define Q2 R22
+#define Q3 R23
+#define X0 R26
+#define X1 R27
+#define X2 R25
+#define Y0 R28
+#define Y1 R29
+#define Z0 R30
+#define Z1 R31
+#define Z2 R19
+
+/* I/O-Space Register nicknames */
+#define RAMPD 0x38
+#define RAMPX 0x39
+#define RAMPY 0x3A
+#define RAMPZ 0x3B
+#define EIND 0x3C
+#define SREG 0x3F
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/test_on_atxmega128a1_boot.xcl b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/test_on_atxmega128a1_boot.xcl
new file mode 100644
index 0000000..df200a8
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/iar/test_on_atxmega128a1_boot.xcl
@@ -0,0 +1,73 @@
+
+
+
+
+// N O T E :
+// This is an experimental file autogenerated by an XSL transformation.
+// Read more about the purpose of this file and how it was generated here:
+// http://avrtools.norway.atmel.com/pmwiki/pmwiki.php?n=Software.XmegaFiles
+//////////////////////////////////////////////////////////////////////////////
+
+// Set up XLINK
+-ca90
+-w29
+
+// Memory size definitions for convenience
+// The '_..X_' prefix is used by C-SPY as an indication that the label should
+// not be displayed in the dissassembly window.
+
+-D_..X_FLASH_BASE=20002
+-D_..X_CODE_END=20FFF
+-D_..X_INTVEC_END=201FB
+
+
+
+
+//////////////////////////////////////////////////////////////////////////////
+// Code (flash) segments
+-Z(CODE)INTVEC=201F4-201FF
+-Z(CODE)BOOT=_..X_FLASH_BASE-201F3
+-Z(CODE)CODE=201FC-_..X_CODE_END
+-Z(CODE)FARCODE=201FC-_..X_CODE_END
+-Z(CODE)INITTAB=201FC-_..X_CODE_END
+-Z(CODE)NEAR_ID=201FC-_..X_CODE_END
+
+
+
+
+-D_..X_SRAM_BASE=2040
+-D_..X_SRAM_TINY_END=FF
+-D_..X_SRAM_NEAR_END=FFFF
+-D_..X_SRAM_FAR_END=FFFFFF
+-D_..X_SRAM_HUGE_END=FFFFFF
+
+/*
+ * Modify the lines below to alter the size of the RSTACK, CSTACK and HEAP
+ * segments. These need to be fine tuned to suit your specific application.
+ */
+-D_..X_CSTACK_SIZE=1000 /* 4096 bytes for auto variables and register save. */
+-D_..X_RSTACK_SIZE=100 /* 256 bytes for return addresses, equivalent to */
+ /* 128 levels of calls, including interrupts. */
+-D_..X_NEAR_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+-D_..X_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+-D_..X_FAR_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+-D_..X_HUGE_HEAP_SIZE=1000 /* 4096 bytes of heap. */
+//////////////////////////////////////////////////////////////////////////////
+// Data (SRAM, external ROM or external NV RAM) memory
+-Z(DATA)SRAM_NO_INIT=2000-2001
+-Z(DATA)TINY_I,TINY_Z,TINY_N=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+-Z(DATA)RSTACK+_..X_RSTACK_SIZE=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+-Z(DATA)NEAR_I,NEAR_Z,NEAR_N,NEAR_C=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+-Z(DATA)NEAR_HEAP+_..X_NEAR_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_NEAR_END
+//-Z(DATA)FAR_I=[10000-_..X_SRAM_FAR_END]/10000
+-Z(DATA)CSTACK+_..X_CSTACK_SIZE=[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)HEAP+_..X_HEAP_SIZE=[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)IOSTREAM_N#[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)FAR_Z,FAR_N,FAR_C=[_..X_SRAM_BASE-_..X_SRAM_FAR_END]/10000
+-Z(DATA)FAR_HEAP+_..X_FAR_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_FAR_END
+-Z(DATA)HUGE_I,HUGE_Z,HUGE_N,HUGE_C=_..X_SRAM_BASE-_..X_SRAM_HUGE_END
+-Z(DATA)HUGE_HEAP+_..X_HUGE_HEAP_SIZE=_..X_SRAM_BASE-_..X_SRAM_HUGE_END
+
+
+
+
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/sysclk_opt.c b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/sysclk_opt.c
new file mode 100644
index 0000000..aebe515
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/sysclk_opt.c
@@ -0,0 +1,91 @@
+/**
+ * \file
+ *
+ * \brief Chip-specific system clock management functions
+ *
+ * Copyright (C) 2010 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#include <compiler.h>
+
+#include <sysclk.h>
+#include <osc.h>
+#include <pll.h>
+#if (CONFIG_OSC_RC32_CAL==48000000UL)
+#include <nvm.h>
+#endif
+
+void sysclk_init(void)
+{
+ sysclk_set_prescalers(CONFIG_SYSCLK_PSADIV,CONFIG_SYSCLK_PSBCDIV);
+ //* Replace osc_user_calibration(OSC_ID_RC32MHZ,cal);
+ DFLLRC32M.CALA=0x40;
+ DFLLRC32M.CALB=0x23;
+ osc_enable(OSC_ID_RC32MHZ);
+ osc_wait_ready(OSC_ID_RC32MHZ);
+ ccp_write_io((uint8_t *)&CLK.CTRL, CONFIG_SYSCLK_SOURCE);
+ //* Replace osc_enable_autocalibration(CONFIG_OSC_AUTOCAL,CONFIG_OSC_AUTOCAL_REF_OSC);
+ OSC.DFLLCTRL &= ~(OSC_RC32MCREF_gm);
+ // Calibrate 32MRC at 48MHz using USB SOF
+ // 48MHz/1kHz=0xBB80
+ DFLLRC32M.COMP1=0x80;
+ DFLLRC32M.COMP2=0xBB;
+ OSC.DFLLCTRL |= OSC_RC32MCREF_USBSOF_gc;
+ DFLLRC32M.CTRL |= DFLL_ENABLE_bm;
+}
+
+
+/**
+ * \brief Enable clock for the USB module
+ *
+ * \pre CONFIG_USBCLK_SOURCE must be defined.
+ *
+ * \param freq The required USB clock frequency in MHz:
+ * \arg \c 6 for 6 MHz
+ * \arg \c 48 for 48 MHz
+ */
+void sysclk_enable_usb(uint8_t freq)
+{
+ Assert(freq == 48);
+ ccp_write_io((uint8_t *)&CLK.USBCTRL, 0
+ | CLK_USBSRC_RCOSC_gc
+ | CLK_USBSEN_bm);
+}
+
+/**
+ * \brief Disable clock for the USB module
+ */
+void sysclk_disable_usb(void)
+{
+ ccp_write_io((uint8_t *)&CLK.USBCTRL, 0);
+}
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/udc_opt.c b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/udc_opt.c
new file mode 100644
index 0000000..8c8cd75
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/atxmega64a1u/udc_opt.c
@@ -0,0 +1,463 @@
+/**
+ * \file
+ *
+ * \brief USB Device Controller (UDC)
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#include "conf_usb.h"
+#include "usb_protocol.h"
+#include "udd.h"
+#include "udc_desc.h"
+#include "udi.h"
+#include "udc.h"
+#include "udi_dfu_atmel.h"
+
+extern bool udi_dfu_atmel_enable(void);
+extern void udi_dfu_atmel_disable(void);
+extern bool udi_dfu_atmel_setup(void);
+
+/**
+ * \addtogroup udc_group
+ * @{
+ */
+
+//! \name Internal variables to manage the USB device
+//! @{
+
+//! Device status state (see enum usb_device_status in usb_protocol.h)
+static le16_t udc_device_status;
+//! Device Configuration number selected by the USB host
+static uint8_t udc_num_configuration = 0;
+//! Pointer on the selected speed device configuration
+//static udc_config_speed_t UDC_DESC_STORAGE *udc_ptr_conf;
+//! Pointer on interface descriptor used by SETUP request.
+//static usb_iface_desc_t UDC_DESC_STORAGE *udc_ptr_iface;
+extern UDC_DESC_STORAGE usb_dev_desc_t udc_device_desc;
+//! Structure for USB Device Configuration Descriptor
+COMPILER_PACK_SET(1);
+typedef struct {
+ usb_conf_desc_t conf;
+ udi_dfu_atmel_desc_t udi_dfu_atmel;
+} udc_desc_t;
+COMPILER_PACK_RESET();
+extern UDC_DESC_STORAGE udc_desc_t udc_desc_fs;
+
+//! @}
+
+
+//! \name Internal structure to store the USB device main strings
+//! @{
+
+/**
+ * \brief USB device manufacture name storage
+ * String is allocated only if USB_DEVICE_MANUFACTURE_NAME is declared
+ * by usb application configuration
+ */
+#ifdef USB_DEVICE_MANUFACTURE_NAME
+static uint8_t udc_string_manufacturer_name[] = USB_DEVICE_MANUFACTURE_NAME;
+#define USB_DEVICE_MANUFACTURE_NAME_SIZE (sizeof(udc_string_manufacturer_name)-1)
+#else
+#define USB_DEVICE_MANUFACTURE_NAME_SIZE 0
+#endif
+
+
+/**
+ * \brief USB device product name storage
+ * String is allocated only if USB_DEVICE_PRODUCT_NAME is declared
+ * by usb application configuration
+ */
+#ifdef USB_DEVICE_PRODUCT_NAME
+static uint8_t udc_string_product_name[] = USB_DEVICE_PRODUCT_NAME;
+#define USB_DEVICE_PRODUCT_NAME_SIZE (sizeof(udc_string_product_name)-1)
+#else
+#define USB_DEVICE_PRODUCT_NAME_SIZE 0
+#endif
+
+/**
+ * \brief USB device serial number storage
+ * String is allocated only if USB_DEVICE_SERIAL_NAME is declared
+ * by usb application configuration
+ */
+#ifdef USB_DEVICE_SERIAL_NAME
+static uint8_t udc_string_serial_name[] = USB_DEVICE_SERIAL_NAME;
+#define USB_DEVICE_SERIAL_NAME_SIZE (sizeof(udc_string_serial_name)-1)
+#else
+#define USB_DEVICE_SERIAL_NAME_SIZE 0
+#endif
+
+/**
+ * \brief USB device string descriptor
+ * Structure used to transfer ASCII strings to USB String descriptor structure.
+ */
+struct udc_string_desc_t {
+ usb_str_desc_t header;
+ le16_t string[Max(Max(USB_DEVICE_MANUFACTURE_NAME_SIZE, \
+ USB_DEVICE_PRODUCT_NAME_SIZE), USB_DEVICE_SERIAL_NAME_SIZE)];
+};
+static UDC_DESC_STORAGE struct udc_string_desc_t udc_string_desc = {
+ .header.bDescriptorType = USB_DT_STRING
+};
+
+/**
+ * \brief Language ID of USB device (US ID by default)
+ */
+static UDC_DESC_STORAGE usb_str_lgid_desc_t udc_string_desc_languageid = {
+ .desc.bLength = sizeof(usb_str_lgid_desc_t),
+ .desc.bDescriptorType = USB_DT_STRING,
+ .string = {LE16(USB_LANGID_EN_US)}
+};
+
+//! @}
+
+
+
+
+/**
+ * \brief Disables an usb device interface (UDI)
+ * This routine call the UDI corresponding to interface number
+ *
+ * \param iface_num Interface number to disable
+ *
+ * \return 1 if it is done or 0 if interface is not found
+ */
+static bool udc_iface_disable(void) @ "BOOT"
+{
+ // Disable interface
+ udi_dfu_atmel_disable();
+ return true;
+}
+
+
+/**
+ * \brief Enables an usb device interface (UDI)
+ * This routine calls the UDI corresponding
+ * to the interface and setting number.
+ *
+ * \param iface_num Interface number to enable
+ * \param setting_num Setting number to enable
+ *
+ * \return 1 if it is done or 0 if interface is not found
+ */
+static bool udc_iface_enable(void) @ "BOOT"
+{
+ // Enable the interface
+ return udi_dfu_atmel_enable();
+}
+
+
+/**
+ * \brief Reset the current configuration of the USB device,
+ * This routines can be called by UDD when a RESET on the USB line occurs.
+ */
+void udc_reset(void) @ "BOOT"
+{
+ if (udc_num_configuration) {
+ udc_iface_disable();
+ }
+ udc_num_configuration = 0;
+ udc_device_status =
+#if (USB_DEVICE_ATTR & USB_CONFIG_ATTR_SELF_POWERED)
+ CPU_TO_LE16(USB_DEV_STATUS_SELF_POWERED);
+#else
+ CPU_TO_LE16(USB_DEV_STATUS_BUS_POWERED);
+#endif
+}
+
+
+/**
+ * \brief Standard device request to get device status
+ *
+ * \return true if success
+ */
+static bool udc_req_std_dev_get_status(void) @ "BOOT"
+{
+ udd_set_setup_payload(
+ (uint8_t *) &udc_device_status,
+ sizeof(udc_device_status));
+ return true;
+}
+
+
+/**
+ * \brief Change the address of device
+ * Callback called at the end of request set address
+ */
+static void udc_valid_address(void) @ "BOOT"
+{
+ udd_set_address(udd_g_ctrlreq.req.wValue & 0x7F);
+}
+
+
+/**
+ * \brief Standard device request to set device address
+ *
+ * \return true if success
+ */
+static bool udc_req_std_dev_set_address(void) @ "BOOT"
+{
+ // The address must be changed at the end of setup request after the handshake
+ // then we use a callback to change address
+ udd_g_ctrlreq.callback = udc_valid_address;
+ return true;
+}
+
+
+/**
+ * \brief Standard device request to get device string descriptor
+ *
+ * \return true if success
+ */
+static bool udc_req_std_dev_get_str_desc(void) @ "BOOT"
+{
+ uint8_t i;
+ uint8_t *str;
+ uint8_t str_lgt=0;
+
+ // Link payload pointer to the string corresponding at request
+ switch (udd_g_ctrlreq.req.wValue & 0xff) {
+ case 0:
+ udd_set_setup_payload(
+ (uint8_t *) & udc_string_desc_languageid,
+ sizeof(udc_string_desc_languageid));
+ break;
+
+#ifdef USB_DEVICE_MANUFACTURE_NAME
+ case 1:
+ str_lgt = USB_DEVICE_MANUFACTURE_NAME_SIZE;
+ str = udc_string_manufacturer_name;
+ break;
+#endif
+#ifdef USB_DEVICE_PRODUCT_NAME
+ case 2:
+ str_lgt = USB_DEVICE_PRODUCT_NAME_SIZE;
+ str = udc_string_product_name;
+ break;
+#endif
+#ifdef USB_DEVICE_SERIAL_NAME
+ case 3:
+ str_lgt = USB_DEVICE_SERIAL_NAME_SIZE;
+ str = udc_string_serial_name;
+ break;
+#endif
+ default:
+ return false;
+ }
+
+ if (str_lgt != 0) {
+ for(i = 0; i < str_lgt; i++) {
+ udc_string_desc.string[i] = cpu_to_le16((le16_t)str[i]);
+ }
+
+ udc_string_desc.header.bLength = 2 + (str_lgt) * 2;
+ udd_set_setup_payload(
+ (uint8_t *) &udc_string_desc,
+ udc_string_desc.header.bLength);
+ }
+ return true;
+}
+
+
+/**
+ * \brief Standard device request to get descriptors about USB device
+ *
+ * \return true if success
+ */
+static bool udc_req_std_dev_get_descriptor(void) @ "BOOT"
+{
+ // Check descriptor ID
+ switch ((uint8_t) (udd_g_ctrlreq.req.wValue >> 8)) {
+ case USB_DT_DEVICE:
+ // Device descriptor requested
+ udd_set_setup_payload(
+ (uint8_t*)&udc_device_desc,
+ udc_device_desc.bLength);
+ break;
+
+ case USB_DT_CONFIGURATION:
+ // Configuration descriptor requested
+ // FS descriptor
+ udd_set_setup_payload(
+ (uint8_t*)&udc_desc_fs,
+ le16_to_cpu(udc_desc_fs.conf.wTotalLength));
+ break;
+
+ case USB_DT_STRING:
+ // String descriptor requested
+ if (!udc_req_std_dev_get_str_desc()) {
+ return false;
+ }
+ break;
+
+ default:
+ // Unknown descriptor requested
+ return false;
+ }
+ // if the descriptor is larger than length requested, then reduce it
+ if (udd_g_ctrlreq.req.wLength < udd_g_ctrlreq.payload_size)
+ udd_g_ctrlreq.payload_size = udd_g_ctrlreq.req.wLength;
+ return true;
+}
+
+
+/**
+ * \brief Standard device request to get configuration number
+ *
+ * \return true if success
+ */
+static bool udc_req_std_dev_get_configuration(void) @ "BOOT"
+{
+ udd_set_setup_payload(
+ &udc_num_configuration,
+ 1);
+ return true;
+}
+
+
+/**
+ * \brief Standard device request to enable a configuration
+ *
+ * \return true if success
+ */
+static bool udc_req_std_dev_set_configuration(void) @ "BOOT"
+{
+ // Reset current configuration
+ udc_reset();
+
+ // Enable new configuration
+ udc_num_configuration = udd_g_ctrlreq.req.wValue & 0xFF;
+ if (udc_num_configuration == 0) {
+ return true; // Default empty configuration requested
+ }
+ // Pointer of the configuration descriptor always good
+ // Enable all interfaces of the selected configuration
+ if (!udc_iface_enable())
+ return false;
+ return true;
+}
+
+
+/**
+ * \brief Main routine to manage the standard USB SETUP request
+ *
+ * \return true if the request is supported
+ */
+static bool udc_reqstd(void) @ "BOOT"
+{
+ if (USB_REQ_RECIP_DEVICE != Udd_setup_recipient()) {
+ return false;
+ }
+
+ if (Udd_setup_is_in()) {
+ // Standard Get Device request
+ switch (udd_g_ctrlreq.req.bRequest) {
+ case USB_REQ_GET_STATUS:
+ return udc_req_std_dev_get_status();
+ case USB_REQ_GET_DESCRIPTOR:
+ return udc_req_std_dev_get_descriptor();
+ case USB_REQ_GET_CONFIGURATION:
+ return udc_req_std_dev_get_configuration();
+ }
+ } else {
+ // Standard Set Device request
+ switch (udd_g_ctrlreq.req.bRequest) {
+ case USB_REQ_SET_ADDRESS:
+ return udc_req_std_dev_set_address();
+ case USB_REQ_SET_CONFIGURATION:
+ return udc_req_std_dev_set_configuration();
+ }
+ }
+ return false;
+}
+
+
+/**
+ * \brief Send the SETUP interface request to UDI
+ *
+ * \return true if the request is supported
+ */
+static bool udc_req_iface(void) @ "BOOT"
+{
+ // Send the SETUP request to the UDI corresponding to the interface number
+ return udi_dfu_atmel_setup();
+}
+
+
+/**
+ * \brief Main routine to manage the USB SETUP request.
+ *
+ * This function parses a USB SETUP request and submits an appropriate
+ * response back to the host or, in the case of SETUP OUT requests
+ * with data, sets up a buffer for receiving the data payload.
+ *
+ * The main standard requests defined by the USB 2.0 standard are handled
+ * internally. The interface requests are sent to UDI, and the specific request
+ * sent to a specific application callback.
+ *
+ * \return true if the request is supported, else the request is stalled by UDD
+ */
+bool udc_process_setup(void) @ "BOOT"
+{
+ // By default no data (receive/send) and no callbacks registered
+ udd_g_ctrlreq.payload_size = 0;
+ udd_g_ctrlreq.callback = NULL;
+ udd_g_ctrlreq.over_under_run = NULL;
+
+ if (Udd_setup_is_in()) {
+ if (udd_g_ctrlreq.req.wLength == 0)
+ return false; // Error from USB host
+ }
+
+ // If standard request then try to decode it in UDC
+ if (Udd_setup_type() == USB_REQ_TYPE_STANDARD) {
+ if (udc_reqstd())
+ return true;
+ }
+
+ // If interface request then try to decode it in UDI
+ if (Udd_setup_recipient() == USB_REQ_RECIP_INTERFACE) {
+ if (udc_req_iface())
+ return true;
+ }
+
+ // Here SETUP request unknown by UDC and UDIs
+#ifdef USB_DEVICE_SPECIFIC_REQUEST
+ // Try to decode it in specific callback
+ return USB_DEVICE_SPECIFIC_REQUEST(); // Ex: Vendor request,...
+#else
+ return false;
+#endif
+}
+
+//! @}
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/conf_usb.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/conf_usb.h
new file mode 100644
index 0000000..3b59682
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/conf_usb.h
@@ -0,0 +1,151 @@
+/**
+ * \file
+ *
+ * \brief USB configuration file
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef _CONF_USB_H_
+#define _CONF_USB_H_
+
+#include "compiler.h"
+#include "nvm.h"
+
+/* Redefine USB interrupt vectors base address to safe code space */
+# if defined(__GNUC__)
+# error GCC no supported when interrupt vectors space is optimized
+/*
+# undef USB_BUSEVENT_vect
+# undef USB_TRNCOMPL_vect
+# undef USB_BUSEVENT_vect_num
+# undef USB_TRNCOMPL_vect_num
+# define USB_BUSEVENT_vect_num 1
+# define USB_BUSEVENT_vect _VECTOR(1)
+# define USB_TRNCOMPL_vect_num 2
+# define USB_TRNCOMPL_vect _VECTOR(2)
+*/
+# elif defined(__ICCAVR__)
+# undef USB_BUSEVENT_vect
+# undef USB_TRNCOMPL_vect
+# define USB_BUSEVENT_vect 0x0
+# define USB_TRNCOMPL_vect 0x4
+# endif
+
+
+/**
+ * USB Device Configuration
+ * @{
+ */
+
+//! Device definition (mandatory)
+#define USB_DEVICE_VENDOR_ID USB_VID_ATMEL
+#if part_is_defined(ATxmega128A1U)
+#define USB_DEVICE_PRODUCT_ID USB_PID_ATMEL_DFU_ATXMEGA128A1U
+#if (FLASH_SIZE>0x10000) // Optimize code space (Boot = 4KB) Temporary to support 64A1U
+#define USB_DEVICE_PRODUCT_NAME "DFU ATXMEGA128A1U"
+#endif
+#elif part_is_defined(ATxmega641U)
+#define USB_DEVICE_PRODUCT_ID USB_PID_ATMEL_DFU_ATXMEGA64A1U
+//#define USB_DEVICE_PRODUCT_NAME "DFU ATXMEGA64A1U" // To safe code space
+#elif part_is_defined(ATxmega128B1)
+#define USB_DEVICE_PRODUCT_ID USB_PID_ATMEL_DFU_ATXMEGA128B1
+#define USB_DEVICE_PRODUCT_NAME "DFU ATXMEGA128B1"
+#elif part_is_defined(ATxmega256A3U) || part_is_defined(ATxmega256A3BU)
+#define USB_DEVICE_PRODUCT_ID USB_PID_ATMEL_DFU_ATXMEGA256A3_U_BU
+#define USB_DEVICE_PRODUCT_NAME "DFU ATXMEGA256A3_U_BU"
+#else
+#error Unknow DFU PID for this AVR part
+#endif
+
+#define USB_DEVICE_MAJOR_VERSION (BOOTLOADER_VERSION>>4)
+#define USB_DEVICE_MINOR_VERSION (BOOTLOADER_VERSION&0x0F)
+#define USB_DEVICE_POWER 100 // Consumption on Vbus line (mA)
+#if (FLASH_SIZE>0x10000) // Optimize code space (Boot = 4KB)
+#define USB_DEVICE_MANUFACTURE_NAME "ATMEL"
+#endif
+#define USB_DEVICE_ATTR USB_CONFIG_ATTR_SELF_POWERED
+
+/**
+ * Device speeds support
+ * Only Full speed is authorized on DFU ATMEL
+ * Because FLIP supports only full speed
+ * Also:
+ * - low speed is too slow (endpoint 8 Bytes)
+ * - high speed does not increase flash program speed
+ * - high speed is not supported on custom board with bad USB layout
+ * @{
+ */
+// No speed change possible
+//@}
+
+/**
+ * USB Device Callbacks definitions (Optional)
+ * @{
+ */
+#define UDC_VBUS_EVENT(b_vbus_high) // NO VBUS EVENT on XMEGA
+//@}
+
+//@}
+
+
+/**
+ * USB Interface Configuration
+ * @{
+ */
+/**
+ * Configuration of DFU interface
+ * @{
+ */
+//! Interface callback definition
+#define UDI_DFU_ENABLE_EXT() true
+#define UDI_DFU_DISABLE_EXT()
+
+//! Version of ATMEL protocol used
+#define UDI_DFU_ATMEL_PROTOCOL_VERSION DFU_ATMEL_PROTOCOL_VERSION_2
+//@}
+//@}
+
+
+/**
+ * USB Device Driver Configuration
+ * @{
+ */
+#define UDD_NO_SLEEP_MGR
+//@}
+
+//! The includes of classes and other headers must be done at the end of this file to avoid compile error
+#include "udi_dfu_atmel_conf.h"
+#include "conf_isp.h" // Need to put bootloader version at USB device version
+
+#endif // _CONF_USB_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/isp.c b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/isp.c
new file mode 100644
index 0000000..b2ad001
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/isp.c
@@ -0,0 +1,203 @@
+/**
+ * \file
+ *
+ * \brief In system programming to control security, memories and fuses
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#include "conf_isp.h"
+#include "nvm.h"
+#include "isp.h"
+#include "string.h"
+
+
+#ifdef __GNUC__
+ uint16_t start_app_key __attribute__ ((section (".noinit")));
+#else
+ __no_init uint16_t start_app_key @"SRAM_NO_INIT";
+#endif
+
+/**
+ * \name Memory APIs
+ */
+//@{
+
+//! Memory signature which store information about device
+static isp_mem_signature_t mem_signature;
+
+//! Memory bootloader which store information about bootloader
+static isp_mem_bootloader_t mem_bootloader = {
+ .version = BOOTLOADER_VERSION,
+ .id1 = 0,
+ .id2 = 0,
+};
+
+
+void mem_flash_read(void *dst, isp_addr_t src, uint16_t nbytes)
+{
+ nvm_flash_read_buffer(src, dst, nbytes);
+}
+
+void mem_flash_write(isp_addr_t dst, const void *src, uint16_t nbytes)
+{
+ nvm_flash_erase_and_write_buffer(dst, src, nbytes, true);
+}
+
+void mem_eeprom_read(void *dst, isp_addr_t src, uint16_t nbytes)
+{
+ nvm_eeprom_read_buffer( src, dst, nbytes );
+}
+
+void mem_eeprom_write(isp_addr_t dst, const void *src, uint16_t nbytes)
+{
+ nvm_eeprom_erase_and_write_buffer(dst, src, nbytes);
+}
+
+static void mem_bootloader_read(void *dst, isp_addr_t src, uint16_t nbytes)
+{
+ memcpy(dst, (uint8_t*)&mem_bootloader + src, nbytes);
+}
+
+void mem_signature_read(void *dst, isp_addr_t src, uint16_t nbytes)
+{
+ memcpy(dst, (uint8_t*)&mem_signature + src, nbytes);
+}
+
+//! Interface for memory flash
+const isp_mem_t isp_flash = {
+ .size = FLASH_SIZE,
+ .fnct_read = mem_flash_read,
+ .fnct_write = mem_flash_write,
+};
+
+//! Interface for memory eeprom
+const isp_mem_t isp_eeprom = {
+ .size = EEPROM_SIZE,
+ .fnct_read = mem_eeprom_read,
+ .fnct_write = mem_eeprom_write,
+};
+
+//! Interface for memory bootloader
+const isp_mem_t isp_bootloader = {
+ .size = sizeof(mem_bootloader),
+ .fnct_read = mem_bootloader_read,
+ .fnct_write = NULL,
+};
+
+//! Interface for memory signature
+const isp_mem_t isp_signature = {
+ .size = sizeof(mem_signature),
+ .fnct_read = mem_signature_read,
+ .fnct_write = NULL,
+};
+
+//! Interface for memory no available
+const isp_mem_t isp_no_available = {
+ .size = 0,
+ .fnct_read = NULL,
+ .fnct_write = NULL,
+};
+
+#if (UDI_DFU_ATMEL_PROTOCOL_VERSION == DFU_ATMEL_PROTOCOL_VERSION_1)
+const isp_mems_t isp_memories = {
+ .flash = &isp_flash,
+ .eeprom = &isp_eeprom,
+ .bootloader = &isp_bootloader,
+ .signature = &isp_signature,
+ .user = &isp_no_available,
+};
+#endif
+
+#if (UDI_DFU_ATMEL_PROTOCOL_VERSION == DFU_ATMEL_PROTOCOL_VERSION_2)
+const isp_mems_t isp_memories = {
+ .flash = &isp_flash,
+ .eeprom = &isp_eeprom,
+ .security = &isp_no_available,
+ .conf = &isp_no_available,
+ .bootloader = &isp_bootloader,
+ .signature = &isp_signature,
+ .user = &isp_no_available,
+ .int_ram = &isp_no_available,
+ .ext_mem_cs0 = &isp_no_available,
+ .ext_mem_cs1 = &isp_no_available,
+ .ext_mem_cs2 = &isp_no_available,
+ .ext_mem_cs3 = &isp_no_available,
+ .ext_mem_cs4 = &isp_no_available,
+ .ext_mem_cs5 = &isp_no_available,
+ .ext_mem_cs6 = &isp_no_available,
+ .ext_mem_cs7 = &isp_no_available,
+ .ext_mem_df = &isp_no_available,
+};
+#endif
+
+//@}
+
+void isp_init(void)
+{
+ mem_signature.manufacture = MCU.DEVID0;
+ mem_signature.product_number_msb = MCU.DEVID1;
+ mem_signature.product_number_lsb = MCU.DEVID2;
+ mem_signature.product_revision = MCU.REVID;
+}
+
+bool isp_is_security(void)
+{
+ return !(NVM.LOCKBITS&NVM_LOCKBITS_LB1_bm);
+}
+
+void isp_force_isp(bool force)
+{
+}
+
+bool isp_erase_chip(void)
+{
+ nvm_flash_erase_app();
+ nvm_eeprom_erase_all();
+ return true;
+}
+
+void isp_start_appli_rst(void)
+{
+ cpu_irq_disable();
+ // generate soft reset for xmega
+ start_app_key=0x55AA;
+ ccp_write_io((uint8_t *)&RST.CTRL, RST.CTRL | RST_SWRST_bm);
+ while (1);
+}
+
+void isp_start_appli_norst(void)
+{
+ isp_start_appli_rst();
+}
+
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/main.c b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/main.c
new file mode 100644
index 0000000..618b05e
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/main.c
@@ -0,0 +1,71 @@
+/**
+ * \file
+ *
+ * \brief Main functions
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#include "compiler.h"
+#include "preprocessor.h"
+#include "sysclk.h"
+#include "conf_usb.h"
+#include "udd.h"
+#include "udc.h"
+#include "udi_dfu_atmel.h"
+
+
+/*! \brief Main function. Execution starts here.
+ */
+int main(void) @ "BOOT"
+{
+ // Map interrupt vectors table in bootloader section
+ ccp_write_io((uint8_t*)&PMIC.CTRL, PMIC_IVSEL_bm | PMIC_LOLVLEN_bm | PMIC_MEDLVLEN_bm | PMIC_HILVLEN_bm);
+
+ sysclk_init();
+ cpu_irq_enable();
+
+ // Start USB stack to authorize VBus monitoring
+ udc_start();
+
+ udc_attach();
+ while (true) {
+ }
+}
+
+
+/**
+ * \mainpage ASF USB Device DFU
+ *
+ * TODO
+ */
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/main.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/main.h
new file mode 100644
index 0000000..fdadac3
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/isp/xmega/main.h
@@ -0,0 +1,42 @@
+/**
+ * \file
+ *
+ * \brief Main functions
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef _MAIN_H_
+#define _MAIN_H_
+
+#endif // _MAIN_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/module_config/conf_usb.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/module_config/conf_usb.h
new file mode 100644
index 0000000..0dff0a1
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/module_config/conf_usb.h
@@ -0,0 +1,127 @@
+/**
+ * \file
+ *
+ * \brief USB configuration file
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef _CONF_USB_H_
+#define _CONF_USB_H_
+
+#include "compiler.h"
+
+#warning You must refill the following definitions with a correct values
+
+/**
+ * USB Device Configuration
+ * @{
+ */
+
+//! Device definition (mandatory)
+#define USB_DEVICE_VENDOR_ID 0x0000
+#define USB_DEVICE_PRODUCT_ID 0x0000
+#define USB_DEVICE_MAJOR_VERSION 1
+#define USB_DEVICE_MINOR_VERSION 0
+#define USB_DEVICE_POWER 100 // Consumption on Vbus line (mA)
+#define USB_DEVICE_ATTR \
+ (USB_CONFIG_ATTR_SELF_POWERED)
+// (USB_CONFIG_ATTR_BUS_POWERED)
+// (USB_CONFIG_ATTR_REMOTE_WAKEUP|USB_CONFIG_ATTR_SELF_POWERED)
+// (USB_CONFIG_ATTR_REMOTE_WAKEUP|USB_CONFIG_ATTR_BUS_POWERED)
+
+//! USB Device string definitions (Optional)
+// #define USB_DEVICE_MANUFACTURE_NAME "Manufacture name"
+// #define USB_DEVICE_PRODUCT_NAME "Product name"
+// #define USB_DEVICE_SERIAL_NAME "12...EF"
+
+/**
+ * Device speeds support
+ * Only Full speed is authorized on DFU ATMEL
+ * Because FLIP supports only full speed
+ * Also:
+ * - low speed is too slow (endpoint 8 Bytes)
+ * - high speed does not increase flash program speed
+ * - high speed is not supported on custom board with bad USB layout
+ * @{
+ */
+// No speed change possible
+//@}
+
+/**
+ * USB Device Callbacks definitions (Optional)
+ * @{
+ */
+// #define UDC_VBUS_EVENT(b_vbus_high) user_callback_vbus_action(b_vbus_high)
+// #define UDC_SOF_EVENT() user_callback_sof_action()
+// #define UDC_SUSPEND_EVENT() user_callback_suspend_action()
+// #define UDC_RESUME_EVENT() user_callback_resume_action()
+//! Mandatory when USB_DEVICE_ATTR authorizes remote wakeup feature
+// #define UDC_REMOTEWAKEUP_ENABLE() user_callback_remotewakeup_enable()
+// #define UDC_REMOTEWAKEUP_DISABLE() user_callback_remotewakeup_disable()
+//! When a extra string descriptor must be supported
+//! other than manufacturer, product and serial string
+// #define UDC_GET_EXTRA_STRING()
+//@}
+
+//@}
+
+
+/**
+ * USB Interface Configuration
+ * @{
+ */
+/**
+ * Configuration of DFU interface
+ * @{
+ */
+//! Interface callback definition
+#define UDI_DFU_ENABLE_EXT() true
+#define UDI_DFU_DISABLE_EXT()
+
+//! Version of ATMEL protocol used (V1 for mega/xmega and V2 for UC3)
+#define UDI_DFU_ATMEL_PROTOCOL_VERSION DFU_ATMEL_PROTOCOL_VERSION_1
+//@}
+//@}
+
+
+/**
+ * USB Device Driver Configuration
+ * @{
+ */
+//@}
+
+//! The includes of classes and other headers must be done at the end of this file to avoid compile error
+#include "udi_dfu_atmel_conf.h"
+
+#endif // _CONF_USB_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/udi_dfu_atmel.c b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/udi_dfu_atmel.c
new file mode 100644
index 0000000..4498e5f
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/udi_dfu_atmel.c
@@ -0,0 +1,815 @@
+/**
+ * \file
+ *
+ * \brief USB Device Firmware Upgrade (DFU) interface definitions.
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#include "conf_usb.h"
+#include "usb_protocol.h"
+#include "usb_protocol_dfu.h"
+#include "usb_atmel_dfu.h"
+#include "udd.h"
+#include "udc.h"
+#include "udi_dfu_atmel.h"
+#include "isp.h"
+#include "string.h"
+
+
+#ifndef UDI_DFU_ATMEL_PROTOCOL_VERSION
+# error UDI_DFU_ATMEL_PROTOCOL_VERSION must be define in conf_usb.h
+#endif
+#if ((UDI_DFU_ATMEL_PROTOCOL_VERSION != DFU_ATMEL_PROTOCOL_VERSION_2) \
+ && (UDI_DFU_ATMEL_PROTOCOL_VERSION != DFU_ATMEL_PROTOCOL_VERSION_1))
+# error Bootloader protocol not supported (UDI_DFU_ATMEL_PROTOCOL_VERSION)
+#endif
+
+
+/**
+ * \addtogroup udi_dfu_atmel_group
+ * @{
+ */
+
+/**
+ * \name Interface for UDC
+ */
+//@{
+
+bool udi_dfu_atmel_enable(void);
+void udi_dfu_atmel_disable(void);
+bool udi_dfu_atmel_setup(void);
+uint8_t udi_dfu_atmel_getsetting(void);
+
+//! Global structure which contains standard UDI API for UDC
+UDC_DESC_STORAGE udi_api_t udi_api_dfu_atmel = {
+ .enable = udi_dfu_atmel_enable,
+ .disable = udi_dfu_atmel_disable,
+ .setup = udi_dfu_atmel_setup,
+ .getsetting = udi_dfu_atmel_getsetting,
+};
+
+//@}
+
+
+/**
+ * \name Internal routines to manage DFU requests
+ */
+//@{
+static void udi_dfu_atmel_reset_protocol(void);
+static void udi_dfu_atmel_reset_cpu(void);
+
+static bool udi_dfu_atmel_cmd_decode(void);
+static void udi_dfu_atmel_sel_mem( uint8_t mem_num );
+static bool udi_dfu_atmel_mem_protected(void);
+static bool udi_dfu_atmel_mem_getaddr(uint8_t * arg);
+static bool udi_dfu_atmel_mem_read(void);
+static void udi_dfu_atmel_mem_check(void);
+static bool udi_dfu_atmel_mem_send_last_add(void);
+static bool udi_dfu_atmel_mem_write(void);
+
+#if (UDI_DFU_ATMEL_PROTOCOL_VERSION == DFU_ATMEL_PROTOCOL_VERSION_2)
+static bool udi_dfu_atmel_program(void);
+static bool udi_dfu_atmel_read(void);
+static bool udi_dfu_atmel_blankcheck(void);
+static bool udi_dfu_atmel_erase_chip(void);
+static void udi_dfu_atmel_start(void);
+static bool udi_dfu_atmel_select_memory(void);
+#else // V1
+static bool udi_dfu_atmel_progstart(uint8_t mem);
+static bool udi_dfu_atmel_read(uint8_t mem, bool b_check);
+static void udi_dfu_atmel_read_id(uint8_t mem, uint8_t addr);
+static bool udi_dfu_atmel_chip_erase(void);
+static void udi_dfu_atmel_start_app(uint8_t mode);
+#ifndef ISP_SMALL_MEMORY_SIZE
+static bool udi_dfu_atmel_cmd_decode_changeaddr(void);
+#endif
+#endif
+//@}
+
+#define CAT_CMD(val1,val2) (((uint16_t)val1<<8)|(val2<<0))
+
+
+/**
+ * \name Internal variables to manage DFU requests
+ */
+//@{
+
+static dfu_status_t udi_dfu_atmel_status;
+#if (UDI_DFU_ATMEL_PROTOCOL_VERSION == DFU_ATMEL_PROTOCOL_VERSION_2)
+# ifdef UDI_DFU_ATMEL_PROTOCOL_2_SPLIT_ERASE_CHIP
+static bool udi_dfu_atmel_erase_running;
+# endif
+#endif
+
+//! Structure to store the command fields
+#if (UDI_DFU_ATMEL_PROTOCOL_VERSION == DFU_ATMEL_PROTOCOL_VERSION_2)
+static dfu_atmel_v2_cmd_t udi_dfu_atmel_cmd;
+#else // V1
+static dfu_atmel_v1_cmd_t udi_dfu_atmel_cmd;
+#endif
+
+#if (UDI_DFU_ATMEL_PROTOCOL_VERSION == DFU_ATMEL_PROTOCOL_VERSION_2)
+#define DFU_ATMEL_BUF_TRANS_SIZE DFU_ATMEL_V2_BUF_TRANS_SIZE
+#else // V1
+#define DFU_ATMEL_BUF_TRANS_SIZE DFU_ATMEL_V1_BUF_TRANS_SIZE
+#endif
+
+
+//! Buffer to receive or send data
+COMPILER_WORD_ALIGNED
+ static uint8_t
+ udi_dfu_atmel_buf_trans[DFU_ATMEL_BUF_TRANS_SIZE];
+
+//! Callback to use when an upload request is received
+static bool(*udi_dfu_atmel_upload_callback) (void);
+
+//! Notify a reset request to start
+static void (*udi_dfu_atmel_reset_callback) (void);
+
+//! Store the current security level
+static bool udi_dfu_atmel_security;
+
+/**
+ * \name To manage memories
+ */
+//@{
+
+/**
+ * \name To manage memory transfers
+ */
+//@{
+#if (UDI_DFU_ATMEL_PROTOCOL_VERSION == DFU_ATMEL_PROTOCOL_VERSION_2)
+static bool udi_dfu_atmel_mem_b_protected;
+#endif
+static isp_addr_t udi_dfu_atmel_mem_add;
+static isp_addr_t udi_dfu_atmel_mem_nb_data;
+static isp_mem_t udi_dfu_atmel_mem_sel;
+//@}
+
+
+
+//@}
+
+//@}
+
+
+bool udi_dfu_atmel_enable(void)
+{
+ udi_dfu_atmel_reset_protocol();
+ // Load chip information
+ isp_init();
+ udi_dfu_atmel_security = isp_is_security();
+ return UDI_DFU_ENABLE_EXT();
+}
+
+
+void udi_dfu_atmel_disable(void)
+{
+ UDI_DFU_DISABLE_EXT();
+}
+
+
+bool udi_dfu_atmel_setup(void)
+{
+ //** Interface requests
+ if (Udd_setup_type() != USB_REQ_TYPE_CLASS) {
+ return false; // Only class request decoded
+ }
+
+ if (Udd_setup_is_in()) {
+ // Requests Class Interface Get
+ switch (udd_g_ctrlreq.req.bRequest) {
+ case USB_REQ_DFU_GETSTATUS:
+#if (UDI_DFU_ATMEL_PROTOCOL_VERSION == DFU_ATMEL_PROTOCOL_VERSION_2)
+# ifdef UDI_DFU_ATMEL_PROTOCOL_2_SPLIT_ERASE_CHIP
+ if (udi_dfu_atmel_erase_running) {
+ udi_dfu_atmel_erase_chip();
+ }
+# endif
+#endif
+ Assert(udd_g_ctrlreq.req.wValue==0);
+ Assert(sizeof(udi_dfu_atmel_status)==udd_g_ctrlreq.req.wLength);
+ udd_set_setup_payload(
+ (uint8_t *) & udi_dfu_atmel_status,
+ sizeof(udi_dfu_atmel_status));
+ return true;
+
+ // Used to send data to the host
+ // when the previous Atmel command (DNLOAD) request data
+ case USB_REQ_DFU_UPLOAD:
+#if (UDI_DFU_ATMEL_PROTOCOL_VERSION == DFU_ATMEL_PROTOCOL_VERSION_2)
+# ifdef UDI_DFU_ATMEL_PROTOCOL_2_SPLIT_ERASE_CHIP
+ Assert( !udi_dfu_atmel_erase_running );
+# endif
+#endif
+ Assert(DFU_STATE_DFUERROR != udi_dfu_atmel_status.bState);
+ if (NULL != udi_dfu_atmel_upload_callback) {
+ return udi_dfu_atmel_upload_callback();
+ }
+ }
+ }
+
+#if (UDI_DFU_ATMEL_PROTOCOL_VERSION == DFU_ATMEL_PROTOCOL_VERSION_2)
+# ifdef UDI_DFU_ATMEL_PROTOCOL_2_SPLIT_ERASE_CHIP
+ Assert( !udi_dfu_atmel_erase_running );
+# endif
+#endif
+
+ if (Udd_setup_is_out()) {
+ // Requests Class Interface Set
+ switch (udd_g_ctrlreq.req.bRequest) {
+ case USB_REQ_DFU_CLRSTATUS:
+ Assert(udd_g_ctrlreq.req.wValue==0);
+ Assert(udd_g_ctrlreq.req.wLength==0);
+ udi_dfu_atmel_reset_protocol();
+ return true;
+
+ // DNLOAD request including Atmel command fields
+ // and data for write operation.
+ // For read operation, the data are sent in the next UPLOAD request
+ case USB_REQ_DFU_DNLOAD:
+ // Check if a reset has been requested
+ if (NULL != udi_dfu_atmel_reset_callback) {
+ // Remove force ISP before a reset CPU to start Application
+ isp_force_isp(false);
+ // Then this DNLOAD DFU request must be empty (0==wLength)
+ // and valid the reset application command.
+ // Valid SETUP request and reset application via request callback.
+ udd_g_ctrlreq.callback = udi_dfu_atmel_reset_cpu;
+ return true;
+ }
+
+ Assert(DFU_STATE_DFUERROR != udi_dfu_atmel_status.bState);
+ Assert(udd_g_ctrlreq.req.wLength!=0);
+
+ // The first packet contains the command
+ // after this packet the over_under_run callback can be called
+ // if the Host want to send more data to device
+ udd_set_setup_payload(
+ (uint8_t *) & udi_dfu_atmel_cmd,
+ sizeof(udi_dfu_atmel_cmd)),
+ // Called when the first packet is received
+ // before continuing DATA phase or start ZLP phase
+ udd_g_ctrlreq.over_under_run = udi_dfu_atmel_cmd_decode;
+ // Note udd_g_ctrlreq.callback is updated
+ // by udi_dfu_atmel_cmd_decode() before ZLP phase
+ return true;
+ }
+ }
+ // Unknown request
+ udi_dfu_atmel_status.bStatus = DFU_STATUS_ERRSTALLEDPK;
+ udi_dfu_atmel_status.bState = DFU_STATE_DFUERROR;
+ return false;
+}
+
+
+uint8_t udi_dfu_atmel_getsetting(void)
+{
+ return 0;
+}
+
+
+static void udi_dfu_atmel_reset_protocol(void)
+{
+ // Reset DFU status
+ udi_dfu_atmel_status.bStatus = DFU_STATUS_OK;
+ udi_dfu_atmel_status.bState = DFU_STATE_DFUIDLE;
+ // These fields are not used and always set to zero:
+ // bwPollTimeout[3]
+ // iString
+
+ // Reset all callbacks
+ udd_g_ctrlreq.over_under_run = NULL;
+ udd_g_ctrlreq.callback = NULL;
+ udi_dfu_atmel_reset_callback = NULL;
+}
+
+static void udi_dfu_atmel_reset_cpu(void)
+{
+ udi_dfu_atmel_reset_callback();
+}
+
+
+#if (UDI_DFU_ATMEL_PROTOCOL_VERSION == DFU_ATMEL_PROTOCOL_VERSION_2)
+
+//! Called by over_under_run when the first data packet
+//! from a DNLOAD DFU request is received
+static bool udi_dfu_atmel_cmd_decode(void)
+{
+ // By default no callback initialized
+ // By default request states are success and finish
+ udi_dfu_atmel_reset_protocol();
+ udi_dfu_atmel_upload_callback = NULL;
+
+ // To restart ISP in case of USB cable is unplug during program load
+ isp_force_isp(true);
+
+ // Decode Atmel command ID
+ switch (CAT_CMD(udi_dfu_atmel_cmd.group, udi_dfu_atmel_cmd.cmd_id)) {
+
+ case CAT_CMD(DFU_ATMEL_V2_CMD_GRP_DNLOAD,
+ DFU_ATMEL_V2_CMD_PROGRAM_START):
+ return udi_dfu_atmel_program();
+
+ case CAT_CMD(DFU_ATMEL_V2_CMD_GRP_UPLOAD,
+ DFU_ATMEL_V2_CMD_READ_MEMORY):
+ return udi_dfu_atmel_read();
+ case CAT_CMD(DFU_ATMEL_V2_CMD_GRP_UPLOAD,
+ DFU_ATMEL_V2_CMD_BLANK_CHECK):
+ return udi_dfu_atmel_blankcheck();
+
+ case CAT_CMD(DFU_ATMEL_V2_CMD_GRP_EXEC,
+ DFU_ATMEL_V2_CMD_ERASE):
+ return udi_dfu_atmel_erase_chip();
+ case CAT_CMD(DFU_ATMEL_V2_CMD_GRP_EXEC,
+ DFU_ATMEL_V2_CMD_START_APPLI):
+ udi_dfu_atmel_start();
+ return true;
+
+ case CAT_CMD(DFU_ATMEL_V2_CMD_GRP_SELECT,
+ DFU_ATMEL_V2_CMD_SELECT_MEMORY):
+ return udi_dfu_atmel_select_memory();
+ }
+ return false; // Unknow command
+}
+
+static bool udi_dfu_atmel_program(void)
+{
+ // Check list before start memory programmation
+ if (udi_dfu_atmel_security && udi_dfu_atmel_mem_b_protected) {
+ // Security enabled
+ return udi_dfu_atmel_mem_protected();
+ }
+ if (!udi_dfu_atmel_mem_sel.fnct_write) {
+ udi_dfu_atmel_status.bStatus = DFU_STATUS_ERRWRITE;
+ udi_dfu_atmel_status.bState = DFU_STATE_DFUERROR;
+ return false; // Write memory not available
+ }
+ if (!udi_dfu_atmel_mem_getaddr(&udi_dfu_atmel_cmd.arg[0]))
+ return false; // Bad Range
+
+ // Init buffer to fill during next DATA phase of request
+ udd_set_setup_payload(
+ udi_dfu_atmel_buf_trans,
+ DFU_ATMEL_BUF_TRANS_SIZE);
+ // Init callback called after buffer filled
+ udd_g_ctrlreq.over_under_run = udi_dfu_atmel_mem_write;
+ return true;
+}
+
+static bool udi_dfu_atmel_read(void)
+{
+ // Check before decoding the command
+ if (!udi_dfu_atmel_mem_getaddr(&udi_dfu_atmel_cmd.arg[0]))
+ return false; // Range bad
+
+ if (!udi_dfu_atmel_mem_sel.fnct_read) {
+ udi_dfu_atmel_status.bStatus = DFU_STATUS_ERRWRITE;
+ udi_dfu_atmel_status.bState = DFU_STATE_DFUERROR;
+ return false; // Read memory not available
+ }
+
+ if (udi_dfu_atmel_security && udi_dfu_atmel_mem_b_protected) {
+ // Memory security then remove read callback by protected callback
+ udi_dfu_atmel_upload_callback = udi_dfu_atmel_mem_protected;
+ }else{
+ udi_dfu_atmel_upload_callback = udi_dfu_atmel_mem_read;
+ }
+ return true;
+}
+
+static bool udi_dfu_atmel_blankcheck(void)
+{
+ // Check before decoding the command
+ if (!udi_dfu_atmel_mem_getaddr(&udi_dfu_atmel_cmd.arg[0]))
+ return false; // Range bad
+
+ if (!udi_dfu_atmel_mem_sel.fnct_read) {
+ udi_dfu_atmel_status.bStatus = DFU_STATUS_ERRWRITE;
+ udi_dfu_atmel_status.bState = DFU_STATE_DFUERROR;
+ return false; // Read memory not available
+ }
+ udi_dfu_atmel_mem_check();
+ return true;
+}
+
+static bool udi_dfu_atmel_erase_chip(void)
+{
+ Assert(udi_dfu_atmel_cmd.arg[0]==DFU_ATMEL_V2_CMD_ERASE_ARG_CHIP);
+
+#ifdef UDI_DFU_ATMEL_PROTOCOL_2_SPLIT_ERASE_CHIP
+ if (isp_erase_chip()) {
+ // Erase finish
+ udi_dfu_atmel_security = false;
+ udi_dfu_atmel_erase_running = false;
+ udi_dfu_atmel_status.bStatus = DFU_STATUS_OK;
+ udi_dfu_atmel_status.bState = DFU_STATE_DFUIDLE;
+ }else{
+ // Erase on-going
+ udi_dfu_atmel_erase_running = true;
+ udi_dfu_atmel_status.bStatus = DFU_STATUS_ERRNOTDONE;
+ udi_dfu_atmel_status.bState = DFU_STATE_DFUDNBUSY;
+ }
+#else
+ if (!isp_erase_chip()) {
+ return false;
+ }
+ // Erase finish
+ udi_dfu_atmel_security = false;
+#endif
+ return true;
+}
+
+static void udi_dfu_atmel_start(void)
+{
+ // Start application reset after next DNLOAD request
+ if (udi_dfu_atmel_cmd.arg[0] == DFU_ATMEL_V2_CMD_START_APPLI_ARG_RESET) {
+ udi_dfu_atmel_reset_callback = isp_start_appli_rst;
+ }else{
+ Assert(app == DFU_ATMEL_V2_CMD_START_APPLI_ARG_NO_RESET);
+ udi_dfu_atmel_reset_callback = isp_start_appli_norst;
+ }
+}
+
+static bool udi_dfu_atmel_select_memory(void)
+{
+ switch (udi_dfu_atmel_cmd.arg[0]) {
+ case DFU_ATMEL_V2_CMD_SELECT_MEMORY_ARG_UNIT:
+ if (DFU_ATMEL_V2_MEM_COUNT <= udi_dfu_atmel_cmd.arg[1]) {
+ udi_dfu_atmel_status.bStatus = DFU_STATUS_ERRADDRESS;
+ udi_dfu_atmel_status.bState = DFU_STATE_DFUERROR;
+ return false; // Memory id error
+ }
+ udi_dfu_atmel_sel_mem(udi_dfu_atmel_cmd.arg[1]);
+ udi_dfu_atmel_mem_add = 0;
+ break;
+
+#ifndef ISP_SMALL_MEMORY_SIZE
+ case DFU_ATMEL_V2_CMD_SELECT_MEMORY_ARG_PAGE:
+ {
+ uint32_t tmp = 0;
+ MSB0W(tmp) = udi_dfu_atmel_cmd.arg[1];
+ MSB1W(tmp) = udi_dfu_atmel_cmd.arg[2];
+ if (tmp >= udi_dfu_atmel_mem_sel.size) {
+ udi_dfu_atmel_status.bStatus = DFU_STATUS_ERRADDRESS;
+ udi_dfu_atmel_status.bState = DFU_STATE_DFUERROR;
+ return false; // Address error
+ }
+ udi_dfu_atmel_mem_add = tmp;
+ }
+ break;
+#endif
+
+ default:
+ Assert(false); // Bad command
+ break;
+ }
+
+ return true;
+}
+
+
+#else // V1
+
+// Called when a DNLOAD DFU request is received
+// The DFU Atmel command are sending in DNLOAD request
+//
+// Note: An Atmel DFU commands can be stalled in following cases:
+// memory security, bad address or blank check fail
+static bool udi_dfu_atmel_cmd_decode(void)
+{
+ // By default no callback initialized
+ // By default request states are success and finish
+ udi_dfu_atmel_reset_protocol();
+ udi_dfu_atmel_upload_callback = NULL;
+
+ // Decode Atmel command ID
+ switch (CAT_CMD(udi_dfu_atmel_cmd.cmd_id,
+ udi_dfu_atmel_cmd.arg[0])) {
+
+#ifndef ISP_SMALL_MEMORY_SIZE
+ // Command to change high address
+ case CAT_CMD(DFU_ATMEL_V1_CMD_CHANGE_BASE_ADDR,
+ DFU_ATMEL_V1_CMD_CHANGE_BASE_ADDR_ARG0):
+ return udi_dfu_atmel_cmd_decode_changeaddr();
+#endif
+
+ // Commands to program a memory
+ case CAT_CMD(DFU_ATMEL_V1_CMD_PROG_START,
+ DFU_ATMEL_V1_CMD_PROG_START_ARG_FLASH):
+ return udi_dfu_atmel_progstart(DFU_ATMEL_V1_MEM_FLASH);
+ case CAT_CMD(DFU_ATMEL_V1_CMD_PROG_START,
+ DFU_ATMEL_V1_CMD_PROG_START_ARG_EEPROM):
+ return udi_dfu_atmel_progstart(DFU_ATMEL_V1_MEM_EEPROM);
+ case CAT_CMD(DFU_ATMEL_V1_CMD_PROG_START,
+ DFU_ATMEL_V1_CMD_PROG_START_ARG_CUSTOM):
+ return udi_dfu_atmel_progstart(DFU_ATMEL_V1_MEM_CUSTOM);
+
+ // Commands to read a memory
+ case CAT_CMD(DFU_ATMEL_V1_CMD_READ,
+ DFU_ATMEL_V1_CMD_READ_ARG_FLASH):
+ return udi_dfu_atmel_read(DFU_ATMEL_V1_MEM_FLASH,false);
+ case CAT_CMD(DFU_ATMEL_V1_CMD_READ,
+ DFU_ATMEL_V1_CMD_READ_ARG_EEPROM):
+ return udi_dfu_atmel_read(DFU_ATMEL_V1_MEM_EEPROM,false);
+ case CAT_CMD(DFU_ATMEL_V1_CMD_READ,
+ DFU_ATMEL_V1_CMD_READ_ARG_CUSTOM):
+ return udi_dfu_atmel_read(DFU_ATMEL_V1_MEM_CUSTOM,false);
+
+ // Commands to blank check a memory
+ case CAT_CMD(DFU_ATMEL_V1_CMD_READ,
+ DFU_ATMEL_V1_CMD_READ_ARG_FLASHCHECK):
+ return udi_dfu_atmel_read(DFU_ATMEL_V1_MEM_FLASH,true);
+ }
+
+ switch (CAT_CMD(udi_dfu_atmel_cmd.cmd_id,
+ udi_dfu_atmel_cmd.arg[0])) {
+
+ // Commands to erase chip
+ case CAT_CMD(DFU_ATMEL_V1_CMD_WRITE,
+ DFU_ATMEL_V1_CMD_WRITE_ARG_ERASE):
+ return udi_dfu_atmel_chip_erase();
+
+ // Commands to start application
+ case CAT_CMD(DFU_ATMEL_V1_CMD_WRITE,
+ DFU_ATMEL_V1_CMD_WRITE_ARG_RST):
+ udi_dfu_atmel_start_app(udi_dfu_atmel_cmd.arg[1]);
+ return true;
+
+ // Commands to read Bootloader version
+ case CAT_CMD(DFU_ATMEL_V1_CMD_READ_ID,
+ DFU_ATMEL_V1_CMD_READ_ID_ARG_BOOTLOADER):
+ udi_dfu_atmel_read_id(DFU_ATMEL_V1_MEM_BOOTLOADER,
+ udi_dfu_atmel_cmd.arg[1]);
+ return true;
+
+ // Commands to read Chip indentification
+ case CAT_CMD(DFU_ATMEL_V1_CMD_READ_ID,
+ DFU_ATMEL_V1_CMD_READ_ID_ARG_SIGNATURE):
+ switch (udi_dfu_atmel_cmd.arg[1]) {
+ case DFU_ATMEL_V1_CMD_READ_ID_SIGNATURE_ARG_MANUF:
+ udi_dfu_atmel_read_id(DFU_ATMEL_V1_MEM_SIGNATURE,0);
+ break;
+ case DFU_ATMEL_V1_CMD_READ_ID_SIGNATURE_ARG_FAMILY:
+ udi_dfu_atmel_read_id(DFU_ATMEL_V1_MEM_SIGNATURE,1);
+ break;
+ case DFU_ATMEL_V1_CMD_READ_ID_SIGNATURE_ARG_PRODUCT:
+ udi_dfu_atmel_read_id(DFU_ATMEL_V1_MEM_SIGNATURE,2);
+ break;
+ case DFU_ATMEL_V1_CMD_READ_ID_SIGNATURE_ARG_REVISION:
+ udi_dfu_atmel_read_id(DFU_ATMEL_V1_MEM_SIGNATURE,3);
+ break;
+ }
+ return true;
+ }
+
+ return false; // Unknow command
+}
+
+static bool udi_dfu_atmel_progstart(uint8_t mem)
+{
+ udi_dfu_atmel_sel_mem(mem);
+
+ if (udi_dfu_atmel_security) {
+ return udi_dfu_atmel_mem_protected();
+ }
+
+ if (!udi_dfu_atmel_mem_getaddr(&udi_dfu_atmel_cmd.arg[1])) {
+ return false; // Bad Range
+ }
+
+ // Init buffer to fill during next DATA phase of request
+ udd_set_setup_payload(
+ udi_dfu_atmel_buf_trans,
+ DFU_ATMEL_BUF_TRANS_SIZE);
+ // Init callback called after buffer filled
+ udd_g_ctrlreq.over_under_run = udi_dfu_atmel_mem_write;
+ return true;
+}
+
+static bool udi_dfu_atmel_read(uint8_t mem, bool b_check)
+{
+ udi_dfu_atmel_sel_mem( mem );
+
+ if (!udi_dfu_atmel_mem_getaddr(&udi_dfu_atmel_cmd.arg[1]))
+ return false; // Bad Range
+
+ if ((!udi_dfu_atmel_mem_sel.fnct_read) || udi_dfu_atmel_security) {
+ // Read memory not available OR memory protected
+ // then accept request but stall next UPLOAD DFU request
+ udi_dfu_atmel_upload_callback = udi_dfu_atmel_mem_protected;
+ return true;
+ }
+
+ if (b_check) {
+ // It is not a read operation then it is a blanc check, thus do it now
+ udi_dfu_atmel_mem_check();
+ }else{
+ udi_dfu_atmel_upload_callback = udi_dfu_atmel_mem_read;
+ }
+ return true;
+}
+
+
+static bool udi_dfu_atmel_chip_erase(void)
+{
+ Assert(udi_dfu_atmel_cmd.arg[1]==DFU_ATMEL_V1_CMD_WRITE_ARG_ERASE_CHIP);
+ if (!isp_erase_chip()) {
+ return false;
+ }
+ udi_dfu_atmel_security = false;
+ return true;
+}
+
+
+static void udi_dfu_atmel_start_app(uint8_t mode)
+{
+ // Start application reset after next DNLOAD request
+ if (mode == DFU_ATMEL_V1_CMD_WRITE_ARG_RST_HW) {
+ udi_dfu_atmel_reset_callback = isp_start_appli_rst;
+ }else{
+ Assert(app == DFU_ATMEL_V1_CMD_WRITE_ARG_RST_SF);
+ udi_dfu_atmel_reset_callback = isp_start_appli_norst;
+ }
+}
+
+static void udi_dfu_atmel_read_id(uint8_t mem, uint8_t addr)
+{
+ udi_dfu_atmel_sel_mem( mem );
+ udi_dfu_atmel_mem_add = addr;
+ udi_dfu_atmel_mem_nb_data = 1;
+ udi_dfu_atmel_upload_callback = udi_dfu_atmel_mem_read;
+}
+
+#ifndef ISP_SMALL_MEMORY_SIZE
+static bool udi_dfu_atmel_cmd_decode_changeaddr(void)
+{
+ udi_dfu_atmel_mem_add = ((uint32_t)udi_dfu_atmel_cmd.arg[2])<<16;
+ return true;
+}
+#endif
+
+#endif // Protocol V1 or V2
+
+
+static void udi_dfu_atmel_sel_mem( uint8_t mem_num )
+{
+#if (UDI_DFU_ATMEL_PROTOCOL_VERSION == DFU_ATMEL_PROTOCOL_VERSION_2)
+ if((mem_num!=DFU_ATMEL_V2_MEM_CONFIGURATION)
+ &&(mem_num!=DFU_ATMEL_V2_MEM_SECURITY)
+ &&(mem_num!=DFU_ATMEL_V2_MEM_BOOTLOADER)
+ &&(mem_num!=DFU_ATMEL_V2_MEM_SIGNATURE)) {
+ udi_dfu_atmel_mem_b_protected = true;
+ }else{
+ udi_dfu_atmel_mem_b_protected = false;
+ }
+#endif
+ udi_dfu_atmel_mem_sel = *isp_memories.mem[mem_num];
+}
+
+static bool udi_dfu_atmel_mem_protected(void)
+{
+ udi_dfu_atmel_status.bStatus = DFU_STATUS_ERRWRITE;
+ udi_dfu_atmel_status.bState = DFU_STATE_DFUIDLE;
+ return false;
+}
+
+
+static bool udi_dfu_atmel_mem_getaddr(uint8_t * arg)
+{
+ isp_addr_t addr_end;
+
+ // Get address for request argument
+ udi_dfu_atmel_mem_add =
+ (udi_dfu_atmel_mem_add&0xFFFF0000) + ((uint16_t)arg[0]<<8) + (arg[1]<<0);
+ addr_end =
+ (udi_dfu_atmel_mem_add&0xFFFF0000) + ((uint16_t)arg[2]<<8) + (arg[3]<<0);
+
+ Assert(addr_end >= udi_dfu_atmel_mem_add);
+
+ // Check address
+ if (addr_end >= udi_dfu_atmel_mem_sel.size) {
+ udi_dfu_atmel_status.bStatus = DFU_STATUS_ERRADDRESS;
+ udi_dfu_atmel_status.bState = DFU_STATE_DFUERROR;
+ return false;
+ }
+
+ // Compute the number of data to transfer
+ udi_dfu_atmel_mem_nb_data = addr_end - udi_dfu_atmel_mem_add + 1;
+ return true;
+}
+
+
+static bool udi_dfu_atmel_mem_read(void)
+{
+ Assert(udi_dfu_atmel_mem_nb_data <= DFU_ATMEL_BUF_TRANS_SIZE);
+ udi_dfu_atmel_mem_sel.fnct_read(udi_dfu_atmel_buf_trans,
+ udi_dfu_atmel_mem_add, udi_dfu_atmel_mem_nb_data);
+
+ // Init buffer to transfer
+ udd_set_setup_payload( udi_dfu_atmel_buf_trans, udi_dfu_atmel_mem_nb_data);
+ return true;
+}
+
+
+static void udi_dfu_atmel_mem_check(void)
+{
+ uint8_t *ptr_buf;
+ uint16_t packet_size;
+
+ while (udi_dfu_atmel_mem_nb_data) {
+ // Compute buffer to read
+ packet_size = min(udi_dfu_atmel_mem_nb_data,
+ DFU_ATMEL_BUF_TRANS_SIZE);
+ udi_dfu_atmel_mem_nb_data -= packet_size;
+
+ // Fill buffer from memory
+ udi_dfu_atmel_mem_sel.fnct_read(udi_dfu_atmel_buf_trans,
+ udi_dfu_atmel_mem_add, packet_size);
+
+ // Check buffer content
+ ptr_buf = udi_dfu_atmel_buf_trans;
+ while (packet_size--) {
+ if (*ptr_buf++ != 0xFF) {
+ // Error, don't stall request but:
+ // Update DFU status
+ udi_dfu_atmel_status.bStatus = DFU_STATUS_ERRCHECK_ERASED;
+ // Send last address checked in next Upload command
+ udi_dfu_atmel_upload_callback = udi_dfu_atmel_mem_send_last_add;
+ return;
+ }
+ udi_dfu_atmel_mem_add++;
+ }
+ }
+}
+
+
+static bool udi_dfu_atmel_mem_send_last_add(void)
+{
+ // Send last checked address
+ udi_dfu_atmel_buf_trans[0] = (uint8_t)(udi_dfu_atmel_mem_add>>8);
+ udi_dfu_atmel_buf_trans[1] = (uint8_t)udi_dfu_atmel_mem_add;
+ // Init buffer to transfer
+ udd_set_setup_payload( udi_dfu_atmel_buf_trans, 2);
+ return true;
+}
+
+
+static bool udi_dfu_atmel_mem_write(void)
+{
+ uint8_t padding_prefix;
+
+ Assert(udi_dfu_atmel_mem_nb_data <= DFU_ATMEL_BUF_TRANS_SIZE);
+ Assert(udi_dfu_atmel_mem_nb_data == udd_g_ctrlreq.payload_size);
+
+ // In order to be in accordance with the memory write entity (page size),
+ // X non-significant bytes may be added before the first byte to program.
+ // The X number is calculated to align the beginning of the firmware
+ // with the memory write entity.
+ padding_prefix = Get_align(udi_dfu_atmel_mem_add,
+ USB_DEVICE_EP_CTRL_SIZE);
+
+ // Program data in memory
+ udi_dfu_atmel_mem_sel.fnct_write
+ (udi_dfu_atmel_mem_add,
+ udi_dfu_atmel_buf_trans + padding_prefix,
+ udi_dfu_atmel_mem_nb_data);
+
+ // Init callback called after buffer filled
+ udd_g_ctrlreq.over_under_run = NULL;
+ return true;
+}
+
+
+//@}
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/udi_dfu_atmel.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/udi_dfu_atmel.h
new file mode 100644
index 0000000..48c0deb
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/udi_dfu_atmel.h
@@ -0,0 +1,104 @@
+/**
+ * \file
+ *
+ * \brief USB Device Firmware Upgrade (DFU) interface definitions.
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef _UDI_DFU_ATMEL_H_
+#define _UDI_DFU_ATMEL_H_
+
+#include "conf_usb.h"
+#include "usb_protocol.h"
+#include "usb_protocol_dfu.h"
+#include "usb_atmel_dfu.h"
+#include "udd.h"
+#include "udc_desc.h"
+#include "udi.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * \ingroup udi_group
+ * \defgroup udi_dfu_atmel_group UDI for Device Firmware Upgrade Atmel specific
+ *
+ * The DFU from Atmel is based on DFU specification,
+ * but does not implement all features.
+ * @{
+ */
+
+/**
+ * \name Interface Descriptor
+ *
+ * The following structures provide the interface descriptor.
+ * It must be implemented in USB configuration descriptor.
+ */
+//@{
+
+//! Interface descriptor structure for DFU Atmel
+typedef struct {
+ usb_iface_desc_t iface;
+} udi_dfu_atmel_desc_t;
+
+//! By default no string associated to this interface
+#ifndef UDI_DFU_ATMEL_STRING_ID
+#define UDI_DFU_ATMEL_STRING_ID 0
+#endif
+
+//! Content of DFU interface descriptor for all speeds
+#define UDI_DFU_ATMEL_DESC {\
+ .iface.bLength = sizeof(usb_iface_desc_t),\
+ .iface.bDescriptorType = USB_DT_INTERFACE,\
+ .iface.bInterfaceNumber = UDI_DFU_ATMEL_IFACE_NUMBER,\
+ .iface.bAlternateSetting = 0,\
+ .iface.bNumEndpoints = 0,\
+ .iface.bInterfaceClass = NO_CLASS,\
+ .iface.bInterfaceSubClass = NO_SUBCLASS,\
+ .iface.bInterfaceProtocol = NO_PROTOCOL,\
+ .iface.iInterface = UDI_DFU_ATMEL_STRING_ID,\
+ }
+//@}
+
+
+//! Global structure which contains standard UDI API for UDC
+extern UDC_DESC_STORAGE udi_api_t udi_api_dfu_atmel;
+
+//@}
+
+#ifdef __cplusplus
+}
+#endif
+#endif // _UDI_DFU_ATMEL_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/udi_dfu_atmel_conf.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/udi_dfu_atmel_conf.h
new file mode 100644
index 0000000..fdd7274
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/udi_dfu_atmel_conf.h
@@ -0,0 +1,75 @@
+/**
+ * \file
+ *
+ * \brief Default DFU configuration for a USB Device
+ * with a single interface Atmel DFU
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef _UDI_DFU_ATMEL_CONF_H_
+#define _UDI_DFU_ATMEL_CONF_H_
+
+#include "conf_usb.h"
+#include "usb_protocol_dfu.h"
+#include "usb_atmel_dfu.h"
+
+/**
+ * \ingroup udi_dfu_group
+ * \defgroup udi_dfu_group_conf Default DFU configuration for a USB Device
+ * with a single interface DFU
+ *
+ * @{
+ */
+
+//! Control endpoint size
+#if (UDI_DFU_ATMEL_PROTOCOL_VERSION == DFU_ATMEL_PROTOCOL_VERSION_2)
+#define USB_DEVICE_EP_CTRL_SIZE 64
+#else
+#define USB_DEVICE_EP_CTRL_SIZE 32
+#endif
+
+//! Interface number
+#define UDI_DFU_ATMEL_IFACE_NUMBER 0
+
+/**
+ * \name UDD Configuration
+ */
+//@{
+//! 0 endpoints used by DFU interface
+#define USB_DEVICE_MAX_EP 0
+//@}
+
+//@}
+
+#endif // _UDI_DFU_ATMEL_CONF_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/udi_dfu_atmel_desc.c b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/udi_dfu_atmel_desc.c
new file mode 100644
index 0000000..9da5923
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/atmel/udi_dfu_atmel_desc.c
@@ -0,0 +1,142 @@
+/**
+ * \file
+ *
+ * \brief Default descriptors for a USB Device with a single interface DFU Atmel
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#include "conf_usb.h"
+#include "udd.h"
+#include "udi.h"
+#include "udc_desc.h"
+#include "udi_dfu_atmel.h"
+
+
+/**
+ * \ingroup udi_dfu_atmel_group
+ * \defgroup udi_dfu_atmel_group_desc Default descriptors for a USB Device
+ * with a single interface DFU Atmel
+ *
+ * @{
+ */
+
+//! Only one interface for this device
+#define USB_DEVICE_NB_INTERFACE 1
+
+/**INDENT-OFF**/
+//! USB Device Descriptor
+COMPILER_WORD_ALIGNED
+UDC_DESC_STORAGE usb_dev_desc_t udc_device_desc = {
+ .bLength = sizeof(usb_dev_desc_t),
+ .bDescriptorType = USB_DT_DEVICE,
+ .bcdUSB = LE16(USB_V2_0),
+ .bDeviceClass = 0,
+ .bDeviceSubClass = 0,
+ .bDeviceProtocol = 0,
+ .bMaxPacketSize0 = USB_DEVICE_EP_CTRL_SIZE,
+ .idVendor = LE16(USB_DEVICE_VENDOR_ID),
+ .idProduct = LE16(USB_DEVICE_PRODUCT_ID),
+ .bcdDevice = LE16((USB_DEVICE_MAJOR_VERSION << 8)
+ | USB_DEVICE_MINOR_VERSION),
+#ifdef USB_DEVICE_MANUFACTURE_NAME
+ .iManufacturer = 1,
+#else
+ .iManufacturer = 0, // No manufacture string
+#endif
+#ifdef USB_DEVICE_PRODUCT_NAME
+ .iProduct = 2,
+#else
+ .iProduct = 0, // No product string
+#endif
+#ifdef USB_DEVICE_SERIAL_NAME
+ .iSerialNumber = 3,
+#else
+ .iSerialNumber = 0, // No serial string
+#endif
+ .bNumConfigurations = 1
+};
+
+
+//! Structure for USB Device Configuration Descriptor
+COMPILER_PACK_SET(1);
+typedef struct {
+ usb_conf_desc_t conf;
+ udi_dfu_atmel_desc_t udi_dfu_atmel;
+} udc_desc_t;
+COMPILER_PACK_RESET();
+
+//! USB Device Configuration Descriptor filled
+COMPILER_WORD_ALIGNED
+UDC_DESC_STORAGE udc_desc_t udc_desc_fs = {
+ .conf.bLength = sizeof(usb_conf_desc_t),
+ .conf.bDescriptorType = USB_DT_CONFIGURATION,
+ .conf.wTotalLength = LE16(sizeof(udc_desc_t)),
+ .conf.bNumInterfaces = USB_DEVICE_NB_INTERFACE,
+ .conf.bConfigurationValue = 1,
+ .conf.iConfiguration = 0,
+ .conf.bmAttributes = USB_CONFIG_ATTR_MUST_SET | USB_DEVICE_ATTR,
+ .conf.bMaxPower = USB_CONFIG_MAX_POWER(USB_DEVICE_POWER),
+ .udi_dfu_atmel = UDI_DFU_ATMEL_DESC,
+};
+
+#ifdef USB_DEVICE_HS_SUPPORT
+# error DFU Atmel for USB High Speed not implemented
+#endif
+
+
+/**
+ * \name UDC structures which content all USB Device definitions
+ */
+//@{
+
+//! Associate an UDI for each USB interface
+UDC_DESC_STORAGE udi_api_t *udi_apis[USB_DEVICE_NB_INTERFACE] = {
+ &udi_api_dfu_atmel,
+};
+
+//! Add UDI with USB Descriptors FS
+UDC_DESC_STORAGE udc_config_speed_t udc_config_lsfs[1] = {{
+ .desc = (usb_conf_desc_t UDC_DESC_STORAGE*)&udc_desc_fs,
+ .udi_apis = udi_apis,
+}};
+
+//! Add all information about USB Device in global structure for UDC
+UDC_DESC_STORAGE udc_config_t udc_config = {
+ .confdev_lsfs = &udc_device_desc,
+ .conf_lsfs = udc_config_lsfs,
+};
+
+//@}
+/**INDENT-ON**/
+//@}
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/standard/udi_dfu.c b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/standard/udi_dfu.c
new file mode 100644
index 0000000..120c0b5
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/standard/udi_dfu.c
@@ -0,0 +1,173 @@
+/**
+ * \file
+ *
+ * \brief USB Device Firmware Upgrade (DFU) interface definitions.
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#include "conf_usb.h"
+#include "usb_protocol.h"
+#include "usb_protocol_dfu.h"
+#include "udd.h"
+#include "udc.h"
+#include "udi_dfu.h"
+
+/**
+ * \addtogroup udi_dfu_group
+ * @{
+ */
+
+/**
+ * \name Interface for UDC
+ */
+//@{
+
+bool udi_dfu_enable(void);
+void udi_dfu_disable(void);
+bool udi_dfu_setup(void);
+uint8_t udi_dfu_getsetting(void);
+
+//! Global structure which contains standard UDI API for UDC
+UDC_DESC_STORAGE udi_api_t udi_api_dfu = {
+ .enable = udi_dfu_enable,
+ .disable = udi_dfu_disable,
+ .setup = udi_dfu_setup,
+ .getsetting = udi_dfu_getsetting,
+};
+
+//@}
+
+/**
+ * \name Variables to manage DFU status
+ */
+//@{
+static dfu_status_t dfu_status;
+//@}
+
+//@}
+
+
+bool udc_dfu_enable(void)
+{
+ return UDI_DFU_ENABLE_EXT();
+}
+
+
+void udc_dfu_disable(void)
+{
+ UDI_DFU_DISABLE_EXT();
+}
+
+bool udc_dfu_setup(void)
+{
+
+ //** Interface requests
+ if (Udd_setup_type() != USB_REQ_TYPE_CLASS) {
+ return false; // Only class request decoded
+ }
+// TODO: use state of DFU specification
+ if (Udd_setup_is_in()) {
+ // Requests Class Interface Get
+ switch (udd_g_ctrlreq.req.bRequest) {
+ case USB_REQ_DFU_GETSTATUS:
+ if (0 != udd_g_ctrlreq.req.wValue)
+ break;
+ if (sizeof(udi_dfu_status) !=
+ udd_g_ctrlreq.req.wLength)
+ break;
+ udd_g_ctrlreq.payload =
+ (uint8_t *) & udi_dfu_status;
+ udd_g_ctrlreq.payload_size =
+ sizeof(udi_dfu_status);
+ return true;
+
+ case USB_REQ_DFU_GETSTATE:
+ if (0 != udd_g_ctrlreq.req.wValue)
+ break;
+ if (sizeof(udi_dfu_status.bState) !=
+ udd_g_ctrlreq.req.wLength)
+ break;
+ udd_g_ctrlreq.payload =
+ (uint8_t *) &
+ (udi_dfu_status.bState);
+ udd_g_ctrlreq.payload_size =
+ sizeof(udi_dfu_status.bState);
+ return true;
+
+ case USB_REQ_DFU_UPLOAD:
+ break;
+ }
+ }
+
+
+ if (Udd_setup_is_out()) {
+ // Requests Class Interface Set
+ switch (udd_g_ctrlreq.req.bRequest) {
+ case USB_REQ_DFU_ABORT:
+ break;
+ case USB_REQ_DFU_CLRSTATUS:
+ if (0 != udd_g_ctrlreq.req.wValue)
+ break;
+ if (0 != udd_g_ctrlreq.req.wLength)
+ break;
+ udi_dfu_clear_status();
+ return true;
+
+ case USB_REQ_DFU_DNLOAD:
+ break;
+ }
+ }
+ // Unknown request
+ udi_dfu_status.bStatus = DFU_STATUS_ERRSTALLEDPK;
+ udi_dfu_status.bState = DFU_STATE_DFUERROR;
+ return false;
+}
+
+
+uint8_t udi_dfu_getsetting(void)
+{
+ return 0;
+}
+
+
+static void udi_dfu_clear_status(void)
+{
+ // Reset DFU status
+ udi_dfu_status.bStatus = DFU_STATUS_OK;
+ udi_dfu_status.bState = DFU_STATE_DFUIDLE;
+ // These fields are not used and always set to zero:
+ // bwPollTimeout[3]
+ // iString
+}
+
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/standard/udi_dfu.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/standard/udi_dfu.h
new file mode 100644
index 0000000..363a8ff
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/standard/udi_dfu.h
@@ -0,0 +1,109 @@
+/**
+ * \file
+ *
+ * \brief USB Device Firmware Upgrade (DFU) interface definitions.
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef _UDI_DFU_H_
+#define _UDI_DFU_H_
+
+#include "conf_usb.h"
+#include "usb_protocol.h"
+#include "usb_protocol_dfu.h"
+#include "udd.h"
+#include "udc_desc.h"
+#include "udi.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * \ingroup udi_group
+ * \defgroup udi_dfu_group UDI for Device Firmware Upgrade (DFU)
+ *
+ * @{
+ */
+
+/**
+ * \name Interface Descriptor
+ *
+ * The following structures provide the interface descriptor.
+ * It must be implemented in USB configuration descriptor.
+ */
+//@{
+
+//! Interface descriptor structure for DFU
+typedef struct {
+ usb_iface_desc_t iface;
+ usb_dfu_functional_desc_t func;
+} udi_dfu_desc_t;
+
+//! By default no string associated to this interface
+#ifndef UDI_DFU_STRING_ID
+#define UDI_DFU_STRING_ID 0
+#endif
+
+//! Content of DFU interface descriptor for all speeds
+#define UDI_DFU_DESC {\
+ .iface.bLength = sizeof(usb_iface_desc_t),\
+ .iface.bDescriptorType = USB_DT_INTERFACE,\
+ .iface.bInterfaceNumber = UDI_DFU_IFACE_NUMBER,\
+ .iface.bAlternateSetting = 0,\
+ .iface.bNumEndpoints = 0,\
+ .iface.bInterfaceClass = DFU_CLASS,\
+ .iface.bInterfaceSubClass = DFU_SUBCLASS,\
+ .iface.bInterfaceProtocol = DFU_PROTOCOL,\
+ .iface.iInterface = UDI_DFU_STRING_ID,\
+ .func.bLength = sizeof(usb_dfu_functional_desc_t),\
+ .func.bDescriptorType = USB_DT_DFU_FUNCTIONAL,\
+ .func.bmAttributes = \
+ USB_DFU_FONC_CAN_DNLOAD|USB_DFU_FONC_CAN_UPLOAD,\
+ .func.wDetachTimeOut = x,\
+ .func.wTransferSize = x,\
+ .func.bcdDFUVersion = USB_DFU_V1_1,\
+ }
+//@}
+
+
+//! Global structure which contains standard UDI API for UDC
+extern UDC_DESC_STORAGE udi_api_t udi_api_dfu;
+
+//@}
+
+#ifdef __cplusplus
+}
+#endif
+#endif // _UDI_DFU_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/standard/udi_dfu_conf.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/standard/udi_dfu_conf.h
new file mode 100644
index 0000000..4f5db77
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/standard/udi_dfu_conf.h
@@ -0,0 +1,70 @@
+/**
+ * \file
+ *
+ * \brief Default DFU configuration for a USB Device
+ * with a single interface DFU
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef _UDI_DFU_CONF_H_
+#define _UDI_DFU_CONF_H_
+
+#include "conf_usb.h"
+#include "usb_protocol_dfu.h"
+
+/**
+ * \ingroup udi_dfu_group
+ * \defgroup udi_dfu_group_conf Default DFU configuration for a USB Device
+ * with a single interface DFU
+ *
+ * @{
+ */
+
+//! Control endpoint size
+#define USB_DEVICE_EP_CTRL_SIZE 32
+
+//! Interface number
+#define UDI_DFU_IFACE_NUMBER 0
+
+/**
+ * \name UDD Configuration
+ */
+//@{
+//! 0 endpoints used by DFU interface
+#define USB_DEVICE_MAX_EP 0
+//@}
+
+//@}
+
+#endif // _UDI_DFU_CONF_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/standard/udi_dfu_desc.c b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/standard/udi_dfu_desc.c
new file mode 100644
index 0000000..387093b
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/device/standard/udi_dfu_desc.c
@@ -0,0 +1,142 @@
+/**
+ * \file
+ *
+ * \brief Default descriptors for a USB Device with a single interface DFU
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#include "conf_usb.h"
+#include "udd.h"
+#include "udi.h"
+#include "udc_desc.h"
+#include "udi_dfu.h"
+
+
+/**
+ * \ingroup udi_dfu_group
+ * \defgroup udi_dfu_group_desc Default descriptors for a USB Device
+ * with a single interface DFU
+ *
+ * @{
+ */
+
+//! Only one interface for this device
+#define USB_DEVICE_NB_INTERFACE 1
+
+/**INDENT-OFF**/
+//! USB Device Descriptor
+COMPILER_WORD_ALIGNED
+UDC_DESC_STORAGE usb_dev_desc_t udc_device_desc = {
+ .bLength = sizeof(usb_dev_desc_t),
+ .bDescriptorType = USB_DT_DEVICE,
+ .bcdUSB = LE16(USB_V2_0),
+ .bDeviceClass = 0,
+ .bDeviceSubClass = 0,
+ .bDeviceProtocol = 0,
+ .bMaxPacketSize0 = USB_DEVICE_EP_CTRL_SIZE,
+ .idVendor = LE16(USB_DEVICE_VENDOR_ID),
+ .idProduct = LE16(USB_DEVICE_PRODUCT_ID),
+ .bcdDevice = LE16((USB_DEVICE_MAJOR_VERSION << 8)
+ | USB_DEVICE_MINOR_VERSION),
+#ifdef USB_DEVICE_MANUFACTURE_NAME
+ .iManufacturer = 1,
+#else
+ .iManufacturer = 0, // No manufacture string
+#endif
+#ifdef USB_DEVICE_PRODUCT_NAME
+ .iProduct = 2,
+#else
+ .iProduct = 0, // No product string
+#endif
+#ifdef USB_DEVICE_SERIAL_NAME
+ .iSerialNumber = 3,
+#else
+ .iSerialNumber = 0, // No serial string
+#endif
+ .bNumConfigurations = 1
+};
+
+
+//! Structure for USB Device Configuration Descriptor
+COMPILER_PACK_SET(1);
+typedef struct {
+ usb_conf_desc_t conf;
+ udi_dfu_desc_t udi_dfu;
+} udc_desc_t;
+COMPILER_PACK_RESET();
+
+//! USB Device Configuration Descriptor filled
+COMPILER_WORD_ALIGNED
+UDC_DESC_STORAGE udc_desc_t udc_desc_fs = {
+ .conf.bLength = sizeof(usb_conf_desc_t),
+ .conf.bDescriptorType = USB_DT_CONFIGURATION,
+ .conf.wTotalLength = LE16(sizeof(udc_desc_t)),
+ .conf.bNumInterfaces = USB_DEVICE_NB_INTERFACE,
+ .conf.bConfigurationValue = 1,
+ .conf.iConfiguration = 0,
+ .conf.bmAttributes = USB_CONFIG_ATTR_MUST_SET | USB_DEVICE_ATTR,
+ .conf.bMaxPower = USB_CONFIG_MAX_POWER(USB_DEVICE_POWER),
+ .udi_dfu = UDI_DFU_DESC,
+};
+
+#ifdef USB_DEVICE_HS_SUPPORT
+# error DFU for USB High Speed not implemented
+#endif
+
+
+/**
+ * \name UDC structures which content all USB Device definitions
+ */
+//@{
+
+//! Associate an UDI for each USB interface
+UDC_DESC_STORAGE udi_api_t *udi_apis[USB_DEVICE_NB_INTERFACE] = {
+ &udi_api_dfu,
+};
+
+//! Add UDI with USB Descriptors FS
+UDC_DESC_STORAGE udc_config_speed_t udc_config_lsfs[1] = {{
+ .desc = (usb_conf_desc_t UDC_DESC_STORAGE*)&udc_desc_fs,
+ .udi_apis = udi_apis,
+}};
+
+//! Add all information about USB Device in global structure for UDC
+UDC_DESC_STORAGE udc_config_t udc_config = {
+ .confdev_lsfs = &udc_device_desc,
+ .conf_lsfs = udc_config_lsfs,
+};
+
+//@}
+/**INDENT-ON**/
+//@}
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/usb_atmel_dfu.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/usb_atmel_dfu.h
new file mode 100644
index 0000000..c25b05e
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/usb_atmel_dfu.h
@@ -0,0 +1,244 @@
+/**
+ * \file
+ *
+ * \brief USB Device Firmware Upgrade (DFU) Atmel definitions.
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef _USB_ATMEL_DFU_H_
+#define _USB_ATMEL_DFU_H_
+
+/**
+ * \ingroup usb_atmel_ids_group
+ * \defgroup usb_dfu_atmel USB Device Firmware Upgrade (DFU) Atmel definitions
+ *
+ * @{
+ */
+
+//! \defgroup Atmel DFU Protocol versions
+//@{
+#define DFU_ATMEL_PROTOCOL_VERSION_2 2 // Used by UC3 parts
+#define DFU_ATMEL_PROTOCOL_VERSION_1 1 // Used by Mega and Xmega parts
+#define DFU_ATMEL_PROTOCOL_VERSION_0 0 // Used by C51 parts
+//@}
+
+/**
+ * \defgroup usb_dfu_atmel_pv1 Definitions for Atmel DFU Protocol version 1
+ *
+ * Note: Often used by mega parts.
+ *
+ * @{
+ */
+
+COMPILER_PACK_SET(1);
+/**
+ * \brief DFU Atmel AVR 8-bit command fields
+ */
+typedef struct {
+ uint8_t cmd_id;
+ uint8_t arg[5];
+ //! To do a structure size = control endpoint size = 32
+ uint8_t reserved[32 - 6];
+} dfu_atmel_v1_cmd_t;
+COMPILER_PACK_RESET();
+
+//! Size of buffer used by FLIP to receive or send data
+#define DFU_ATMEL_V1_BUF_TRANS_SIZE 1024
+
+//! \name USB DFU Atmel AVR 8-bit Commands
+//@{
+#define DFU_ATMEL_V1_CMD_PROG_START 0x01
+#define DFU_ATMEL_V1_CMD_READ 0x03
+#define DFU_ATMEL_V1_CMD_WRITE 0x04
+#define DFU_ATMEL_V1_CMD_READ_ID 0x05
+#define DFU_ATMEL_V1_CMD_CHANGE_BASE_ADDR 0x06
+
+//! \name PROG_START arguments
+//@{
+#define DFU_ATMEL_V1_CMD_PROG_START_ARG_FLASH 0x00
+#define DFU_ATMEL_V1_CMD_PROG_START_ARG_EEPROM 0x01
+#define DFU_ATMEL_V1_CMD_PROG_START_ARG_CUSTOM 0x08
+//@}
+
+//! \name READ arguments
+//@{
+#define DFU_ATMEL_V1_CMD_READ_ARG_FLASH 0x00
+#define DFU_ATMEL_V1_CMD_READ_ARG_FLASHCHECK 0x01
+#define DFU_ATMEL_V1_CMD_READ_ARG_EEPROM 0x02
+#define DFU_ATMEL_V1_CMD_READ_ARG_CUSTOM 0x03
+//@}
+
+//! \name DFU_ATMEL_V1_CMD_WRITE arguments
+//@{
+#define DFU_ATMEL_V1_CMD_WRITE_ARG_ERASE 0x00
+#define DFU_ATMEL_V1_CMD_WRITE_ARG_RST 0x03
+//! \name DFU_ATMEL_V1_CMD_WRITE_ARG_ERASE arguments
+//@{
+#define DFU_ATMEL_V1_CMD_WRITE_ARG_ERASE_CHIP 0xFF
+//@}
+//! \name DFU_ATMEL_V1_CMD_WRITE_ARG_RST arguments
+//@{
+#define DFU_ATMEL_V1_CMD_WRITE_ARG_RST_HW 0x00
+#define DFU_ATMEL_V1_CMD_WRITE_ARG_RST_SF 0x01
+//@}
+//@}
+
+//! \name DFU_ATMEL_V1_CMD_READID_ arguments
+//@{
+#define DFU_ATMEL_V1_CMD_READ_ID_ARG_BOOTLOADER 0x00
+#define DFU_ATMEL_V1_CMD_READ_ID_ARG_SIGNATURE 0x01
+//! \name DFU_ATMEL_V1_CMD_READ_ID_ARG_SIGNATURE arguments
+//@{
+#define DFU_ATMEL_V1_CMD_READ_ID_SIGNATURE_ARG_MANUF 0x30
+#define DFU_ATMEL_V1_CMD_READ_ID_SIGNATURE_ARG_FAMILY 0x31
+#define DFU_ATMEL_V1_CMD_READ_ID_SIGNATURE_ARG_PRODUCT 0x60
+#define DFU_ATMEL_V1_CMD_READ_ID_SIGNATURE_ARG_REVISION 0x61
+//@}
+//@}
+
+//! \name DFU_ATMEL_V1_CMD_CHANGE_BASE_ADDR arguments
+//@{
+#define DFU_ATMEL_V1_CMD_CHANGE_BASE_ADDR_ARG0 0x03
+#define DFU_ATMEL_V1_CMD_CHANGE_BASE_ADDR_ARG1 0x00
+//@}
+
+//! \name Memory units available
+//@{
+#define DFU_ATMEL_V1_MEM_FLASH 0x00
+#define DFU_ATMEL_V1_MEM_EEPROM 0x01
+#define DFU_ATMEL_V1_MEM_BOOTLOADER 0x02
+#define DFU_ATMEL_V1_MEM_SIGNATURE 0x03
+#define DFU_ATMEL_V1_MEM_CUSTOM 0x04
+#define DFU_ATMEL_V1_MEM_COUNT 0x05 // Number of memory units
+//@}
+
+//@}
+
+
+/**
+ * \defgroup usb_dfu_atmel_pv2 Definitions for Atmel DFU Protocol version 2
+ *
+ * Note: Often used by uc3.parts
+ *
+ * @{
+ */
+
+COMPILER_PACK_SET(1);
+/**
+ * \brief DFU Atmel command fields
+ */
+typedef struct {
+ uint8_t group;
+ uint8_t cmd_id;
+ uint8_t arg[4];
+ // To do a structure size = control endpoint size = 64
+ uint8_t reserved[64 - 6];
+} dfu_atmel_v2_cmd_t;
+COMPILER_PACK_RESET();
+
+//! Size of buffer used by FLIP to receive or send data
+//! Note: Write uses 2K and Read uses 1KB
+#define DFU_ATMEL_V2_BUF_TRANS_SIZE (2*1024)
+
+//! \name Command Groups
+//@{
+#define DFU_ATMEL_V2_CMD_GRP_DNLOAD 0x01
+#define DFU_ATMEL_V2_CMD_GRP_UPLOAD 0x03
+#define DFU_ATMEL_V2_CMD_GRP_EXEC 0x04
+#define DFU_ATMEL_V2_CMD_GRP_SELECT 0x06
+//@}
+
+//! \name DNLOAD commands
+//@{
+#define DFU_ATMEL_V2_CMD_PROGRAM_START 0x00
+//@}
+
+
+//! \name UPLOAD commands
+//@{
+#define DFU_ATMEL_V2_CMD_READ_MEMORY 0x00
+#define DFU_ATMEL_V2_CMD_BLANK_CHECK 0x01
+//@}
+
+//! \name EXEC commands
+//@{
+#define DFU_ATMEL_V2_CMD_ERASE 0x00
+#define DFU_ATMEL_V2_CMD_START_APPLI 0x03
+//! \name ERASE arguments
+//@{
+#define DFU_ATMEL_V2_CMD_ERASE_ARG_CHIP 0xFF
+//@}
+//! \name START_APPLI arguments
+//@{
+#define DFU_ATMEL_V2_CMD_START_APPLI_ARG_RESET 0x00
+#define DFU_ATMEL_V2_CMD_START_APPLI_ARG_NO_RESET 0x01
+//@}
+//@}
+
+//! \name SELECT commands
+//@{
+#define DFU_ATMEL_V2_CMD_SELECT_MEMORY 0x03
+//! \name SELECT_MEMORY arguments
+//@{
+#define DFU_ATMEL_V2_CMD_SELECT_MEMORY_ARG_UNIT 0x00
+#define DFU_ATMEL_V2_CMD_SELECT_MEMORY_ARG_PAGE 0x01
+//! \name Memory units field
+//@{
+#define DFU_ATMEL_V2_MEM_FLASH 0x00
+#define DFU_ATMEL_V2_MEM_EEPROM 0x01
+#define DFU_ATMEL_V2_MEM_SECURITY 0x02
+#define DFU_ATMEL_V2_MEM_CONFIGURATION 0x03
+#define DFU_ATMEL_V2_MEM_BOOTLOADER 0x04
+#define DFU_ATMEL_V2_MEM_SIGNATURE 0x05
+#define DFU_ATMEL_V2_MEM_USER 0x06
+#define DFU_ATMEL_V2_MEM_INT_RAM 0x07
+#define DFU_ATMEL_V2_MEM_EXT_MEM_CS0 0x08
+#define DFU_ATMEL_V2_MEM_EXT_MEM_CS1 0x09
+#define DFU_ATMEL_V2_MEM_EXT_MEM_CS2 0x0A
+#define DFU_ATMEL_V2_MEM_EXT_MEM_CS3 0x0B
+#define DFU_ATMEL_V2_MEM_EXT_MEM_CS4 0x0C
+#define DFU_ATMEL_V2_MEM_EXT_MEM_CS5 0x0D
+#define DFU_ATMEL_V2_MEM_EXT_MEM_CS6 0x0E
+#define DFU_ATMEL_V2_MEM_EXT_MEM_CS7 0x0F
+#define DFU_ATMEL_V2_MEM_EXT_MEM_DF 0x10
+#define DFU_ATMEL_V2_MEM_COUNT 0x11 // Number of memory units
+//@}
+//@}
+//@}
+
+//@}
+
+//@}
+
+#endif // _USB_ATMEL_DFU_H_
diff --git a/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/usb_protocol_dfu.h b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/usb_protocol_dfu.h
new file mode 100644
index 0000000..1227e17
--- /dev/null
+++ b/MakefileBasedBuild/Atmel/sam3x/sam3x-ek/libraries/usb_device/class/dfu/usb_protocol_dfu.h
@@ -0,0 +1,186 @@
+/**
+ * \file
+ *
+ * \brief USB Device Firmware Upgrade (DFU) protocol definitions.
+ *
+ * Copyright (C) 2009 Atmel Corporation. All rights reserved.
+ *
+ * \page License
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * 3. The name of Atmel may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 4. This software may only be redistributed and used in connection with an
+ * Atmel AVR product.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
+ * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ */
+
+#ifndef _USB_PROTOCOL_DFU_H_
+#define _USB_PROTOCOL_DFU_H_
+
+/**
+ * \ingroup usb_protocol_group
+ * \defgroup usb_dfu_protocol USB Device Firmware Upgrade (DFU)
+ * protocol definitions
+ *
+ * @{
+ */
+
+/**
+ * \name Class value
+ */
+//@{
+#define DFU_CLASS 0xFE
+//@}
+
+/**
+ * \name SubClass value
+ */
+//@{
+#define DFU_SUBCLASS 0x01
+//@}
+
+/**
+ * \name protocol value
+ */
+//@{
+#define DFU_PROTOCOL 0x01
+//@}
+
+
+/**
+ * \brief DFU USB requests (bRequest)
+ */
+enum usb_reqid_dfu {
+ USB_REQ_DFU_DETACH = 0x00,
+ USB_REQ_DFU_DNLOAD = 0x01,
+ USB_REQ_DFU_UPLOAD = 0x02,
+ USB_REQ_DFU_GETSTATUS = 0x03,
+ USB_REQ_DFU_CLRSTATUS = 0x04,
+ USB_REQ_DFU_GETSTATE = 0x05,
+ USB_REQ_DFU_ABORT = 0x06,
+};
+
+/**
+ * \brief DFU USB descriptor types
+ */
+enum usb_descriptor_type_dfu {
+ USB_DT_DFU_FUNCTIONAL = 0x21,
+};
+
+
+//! \name USB DFU Status IDs
+//@{
+#define DFU_STATUS_OK 0x00
+#define DFU_STATUS_ERRTARGET 0x01
+#define DFU_STATUS_ERRFILE 0x02
+#define DFU_STATUS_ERRWRITE 0x03
+#define DFU_STATUS_ERRERASE 0x04
+#define DFU_STATUS_ERRCHECK_ERASED 0x05
+#define DFU_STATUS_ERRPROG 0x06
+#define DFU_STATUS_ERRVERIFY 0x07
+#define DFU_STATUS_ERRADDRESS 0x08
+#define DFU_STATUS_ERRNOTDONE 0x09
+#define DFU_STATUS_ERRFIRMWARE 0x0A
+#define DFU_STATUS_ERRVENDOR 0x0B
+#define DFU_STATUS_ERRUSBR 0x0C
+#define DFU_STATUS_ERRPOR 0x0D
+#define DFU_STATUS_ERRUNKNOWN 0x0E
+#define DFU_STATUS_ERRSTALLEDPK 0x0F
+//@}
+
+//! \name USB DFU State IDs
+//@{
+#define DFU_STATE_APPIDLE 0x00
+#define DFU_STATE_APPDETACH 0x01
+#define DFU_STATE_DFUIDLE 0x02
+#define DFU_STATE_DFUDNLOAD_SUNC 0x03
+#define DFU_STATE_DFUDNBUSY 0x04
+#define DFU_STATE_DFUDNLOAD_IDLE 0x05
+#define DFU_STATE_DFUMANIFEST_SYNC 0x06
+#define DFU_STATE_DFUMANIFEST 0x07
+#define DFU_STATE_DFUMANIFEST_WAIT_RESET 0x08
+#define DFU_STATE_DFUUPLOAD_IDLE 0x09
+#define DFU_STATE_DFUERROR 0x0A
+//@}
+
+
+/**
+ * \brief DFU Functional attributes
+ */
+enum usb_dfu_functional_attributes {
+ USB_DFU_FONC_CAN_DNLOAD = (1 << 0),
+ USB_DFU_FONC_CAN_UPLOAD = (1 << 1),
+ USB_DFU_FONC_MANIFEST_TOLERANT = (1 << 2),
+ USB_DFU_FONC_WILL_DETACH = (1 << 3),
+};
+
+//! Value for fields bcdDFU(Version)
+#define USB_DFU_V1_0 0x0100 //!< USB DFU Specification version 1.0
+
+COMPILER_PACK_SET(1);
+
+/**
+ * \brief DFU Descriptor
+ */
+typedef struct {
+ uint8_t bLength; //!< Size of this descriptor in bytes
+ uint8_t bDescriptorType; //!< DFU functional descriptor type
+ uint8_t bmAttributes; //!< DFU attributes
+ le16_t wDetachTimeOut; //!< Detach timeout
+ le16_t wTransferSize; //!< Maximum number of bytes that the device can accept
+ le16_t bcdDFUVersion; //!< DFU specification release
+} usb_dfu_functional_desc_t;
+
+/**
+ * \brief DFU Status
+ */
+typedef struct {
+ uint8_t bStatus;
+ uint8_t bwPollTimeout[3];
+ uint8_t bState;
+ uint8_t iString;
+} dfu_status_t;
+
+/**
+ * \brief DFU File Suffix
+ */
+typedef struct {
+ le32_t dwCRC; //!< Number The CRC of the entire file, excluding dwCRC.
+ uint8_t bLength; //!< The length of this DFU suffix including dwCRC.
+ uint8_t ucDfuSignature[3]; //!< The unique DFU signature field.
+ le16_t bcdDFU; //!< DFU specification number.
+ le16_t idVendor; //!< The vendor ID associated with this file.
+ //!< Either FFFFh or must match device's vendor ID.
+ le16_t idProduct; //!< The product ID associated with this file.
+ //!< Either FFFFh or must match device's product ID.
+ le16_t bcdDevice; //!< The release number of the device
+ //!< Either FFFFh or a BCD firmware release or version number.
+} dfu_file_suffix_t;
+
+COMPILER_PACK_RESET();
+
+//@}
+
+#endif // _USB_PROTOCOL_DFU_H_