Skip to content
Snippets Groups Projects
Commit 359d2b15 authored by mfenner's avatar mfenner
Browse files

Bootloader modified: hex added , LED and message improvements

parent d47b0a2e
No related branches found
No related tags found
No related merge requests found
No preview for this file type
...@@ -28,83 +28,83 @@ ...@@ -28,83 +28,83 @@
<eraseonlaunchrule>0</eraseonlaunchrule> <eraseonlaunchrule>0</eraseonlaunchrule>
<AsfFrameworkConfig> <AsfFrameworkConfig>
<framework-data> <framework-data>
<options> <options>
<option id="common.boards" value="Add" config="" content-id="Atmel.ASF" /> <option id="common.boards" value="Add" config="" content-id="Atmel.ASF" />
<option id="common.services.basic.clock" value="Add" config="" content-id="Atmel.ASF" /> <option id="common.services.basic.clock" value="Add" config="" content-id="Atmel.ASF" />
<option id="common.services.ioport" value="Add" config="" content-id="Atmel.ASF" /> <option id="common.services.ioport" value="Add" config="" content-id="Atmel.ASF" />
<option id="common.services.basic.serial" value="Add" config="" content-id="Atmel.ASF" /> <option id="common.services.basic.serial" value="Add" config="" content-id="Atmel.ASF" />
<option id="common.utils.interrupt" value="Add" config="" content-id="Atmel.ASF" /> <option id="common.utils.interrupt" value="Add" config="" content-id="Atmel.ASF" />
<option id="xmega.drivers.nvm" value="Add" config="" content-id="Atmel.ASF" /> <option id="xmega.drivers.nvm" value="Add" config="" content-id="Atmel.ASF" />
<option id="xmega.drivers.tc" value="Add" config="" content-id="Atmel.ASF" /> <option id="xmega.drivers.tc" value="Add" config="" content-id="Atmel.ASF" />
<option id="xmega.drivers.usart" value="Add" config="" content-id="Atmel.ASF" /> <option id="xmega.drivers.usart" value="Add" config="" content-id="Atmel.ASF" />
<option id="xmega.drivers.wdt" value="Add" config="" content-id="Atmel.ASF" /> <option id="xmega.drivers.wdt" value="Add" config="" content-id="Atmel.ASF" />
<option id="xmega.drivers.pmic" value="Add" config="" content-id="Atmel.ASF" /> <option id="xmega.drivers.pmic" value="Add" config="" content-id="Atmel.ASF" />
</options> </options>
<configurations /> <configurations />
<files> <files>
<file path="src/main.c" framework="" version="" source="common/applications/user_application/main.c" changed="False" content-id="Atmel.ASF" /> <file path="src/main.c" framework="" version="" source="common/applications/user_application/main.c" changed="False" content-id="Atmel.ASF" />
<file path="src/config/conf_board.h" framework="" version="" source="common/applications/user_application/user_board/config/conf_board.h" changed="False" content-id="Atmel.ASF" /> <file path="src/config/conf_board.h" framework="" version="" source="common/applications/user_application/user_board/config/conf_board.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/boards/board.h" framework="" version="" source="common/boards/board.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/boards/board.h" framework="" version="" source="common/boards/board.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/boards/user_board/init.c" framework="" version="" source="common/boards/user_board/init.c" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/boards/user_board/init.c" framework="" version="" source="common/boards/user_board/init.c" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/boards/user_board/user_board.h" framework="" version="" source="common/boards/user_board/user_board.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/boards/user_board/user_board.h" framework="" version="" source="common/boards/user_board/user_board.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/utils/interrupt.h" framework="" version="" source="common/utils/interrupt.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/utils/interrupt.h" framework="" version="" source="common/utils/interrupt.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/utils/interrupt/interrupt_avr8.h" framework="" version="" source="common/utils/interrupt/interrupt_avr8.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/utils/interrupt/interrupt_avr8.h" framework="" version="" source="common/utils/interrupt/interrupt_avr8.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/utils/make/Makefile.avr.in" framework="" version="" source="common/utils/make/Makefile.avr.in" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/utils/make/Makefile.avr.in" framework="" version="" source="common/utils/make/Makefile.avr.in" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/utils/parts.h" framework="" version="" source="common/utils/parts.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/utils/parts.h" framework="" version="" source="common/utils/parts.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/utils/assembler.h" framework="" version="" source="xmega/utils/assembler.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/utils/assembler.h" framework="" version="" source="xmega/utils/assembler.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/utils/assembler/gas.h" framework="" version="" source="xmega/utils/assembler/gas.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/utils/assembler/gas.h" framework="" version="" source="xmega/utils/assembler/gas.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/utils/bit_handling/clz_ctz.h" framework="" version="" source="xmega/utils/bit_handling/clz_ctz.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/utils/bit_handling/clz_ctz.h" framework="" version="" source="xmega/utils/bit_handling/clz_ctz.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/utils/compiler.h" framework="" version="" source="xmega/utils/compiler.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/utils/compiler.h" framework="" version="" source="xmega/utils/compiler.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/utils/preprocessor/mrepeat.h" framework="" version="" source="xmega/utils/preprocessor/mrepeat.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/utils/preprocessor/mrepeat.h" framework="" version="" source="xmega/utils/preprocessor/mrepeat.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/utils/preprocessor/preprocessor.h" framework="" version="" source="xmega/utils/preprocessor/preprocessor.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/utils/preprocessor/preprocessor.h" framework="" version="" source="xmega/utils/preprocessor/preprocessor.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/utils/preprocessor/stringz.h" framework="" version="" source="xmega/utils/preprocessor/stringz.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/utils/preprocessor/stringz.h" framework="" version="" source="xmega/utils/preprocessor/stringz.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/utils/preprocessor/tpaste.h" framework="" version="" source="xmega/utils/preprocessor/tpaste.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/utils/preprocessor/tpaste.h" framework="" version="" source="xmega/utils/preprocessor/tpaste.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/utils/progmem.h" framework="" version="" source="xmega/utils/progmem.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/utils/progmem.h" framework="" version="" source="xmega/utils/progmem.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/utils/status_codes.h" framework="" version="" source="xmega/utils/status_codes.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/utils/status_codes.h" framework="" version="" source="xmega/utils/status_codes.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/drivers/cpu/ccp.s" framework="" version="3.19.0" source="xmega\drivers\cpu\ccp.s" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/drivers/cpu/ccp.s" framework="" version="3.19.0" source="xmega\drivers\cpu\ccp.s" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/drivers/cpu/xmega_reset_cause.h" framework="" version="3.19.0" source="xmega\drivers\cpu\xmega_reset_cause.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/drivers/cpu/xmega_reset_cause.h" framework="" version="3.19.0" source="xmega\drivers\cpu\xmega_reset_cause.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/drivers/cpu/ccp.h" framework="" version="3.19.0" source="xmega\drivers\cpu\ccp.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/drivers/cpu/ccp.h" framework="" version="3.19.0" source="xmega\drivers\cpu\ccp.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/drivers/nvm/nvm.c" framework="" version="3.19.0" source="xmega\drivers\nvm\nvm.c" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/drivers/nvm/nvm.c" framework="" version="3.19.0" source="xmega\drivers\nvm\nvm.c" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/drivers/nvm/nvm_asm.s" framework="" version="3.19.0" source="xmega\drivers\nvm\nvm_asm.s" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/drivers/nvm/nvm_asm.s" framework="" version="3.19.0" source="xmega\drivers\nvm\nvm_asm.s" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/drivers/nvm/nvm.h" framework="" version="3.19.0" source="xmega\drivers\nvm\nvm.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/drivers/nvm/nvm.h" framework="" version="3.19.0" source="xmega\drivers\nvm\nvm.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/drivers/pmic/pmic.h" framework="" version="3.19.0" source="xmega\drivers\pmic\pmic.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/drivers/pmic/pmic.h" framework="" version="3.19.0" source="xmega\drivers\pmic\pmic.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/drivers/wdt/wdt.c" framework="" version="3.19.0" source="xmega\drivers\wdt\wdt.c" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/drivers/wdt/wdt.c" framework="" version="3.19.0" source="xmega\drivers\wdt\wdt.c" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/drivers/wdt/wdt.h" framework="" version="3.19.0" source="xmega\drivers\wdt\wdt.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/drivers/wdt/wdt.h" framework="" version="3.19.0" source="xmega\drivers\wdt\wdt.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/clock/xmega/sysclk.c" framework="" version="3.19.0" source="common\services\clock\xmega\sysclk.c" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/clock/xmega/sysclk.c" framework="" version="3.19.0" source="common\services\clock\xmega\sysclk.c" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/clock/pll.h" framework="" version="3.19.0" source="common\services\clock\pll.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/clock/pll.h" framework="" version="3.19.0" source="common\services\clock\pll.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/clock/genclk.h" framework="" version="3.19.0" source="common\services\clock\genclk.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/clock/genclk.h" framework="" version="3.19.0" source="common\services\clock\genclk.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/clock/osc.h" framework="" version="3.19.0" source="common\services\clock\osc.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/clock/osc.h" framework="" version="3.19.0" source="common\services\clock\osc.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/clock/xmega/pll.h" framework="" version="3.19.0" source="common\services\clock\xmega\pll.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/clock/xmega/pll.h" framework="" version="3.19.0" source="common\services\clock\xmega\pll.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/clock/xmega/sysclk.h" framework="" version="3.19.0" source="common\services\clock\xmega\sysclk.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/clock/xmega/sysclk.h" framework="" version="3.19.0" source="common\services\clock\xmega\sysclk.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/clock/xmega/osc.h" framework="" version="3.19.0" source="common\services\clock\xmega\osc.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/clock/xmega/osc.h" framework="" version="3.19.0" source="common\services\clock\xmega\osc.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/clock/sysclk.h" framework="" version="3.19.0" source="common\services\clock\sysclk.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/clock/sysclk.h" framework="" version="3.19.0" source="common\services\clock\sysclk.h" changed="False" content-id="Atmel.ASF" />
<file path="src/Config/conf_clock.h" framework="" version="3.19.0" source="common\services\clock\xmega\module_config_usb\conf_clock.h" changed="False" content-id="Atmel.ASF" /> <file path="src/Config/conf_clock.h" framework="" version="3.19.0" source="common\services\clock\xmega\module_config_usb\conf_clock.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/ioport/xmega/ioport_compat.c" framework="" version="3.19.0" source="common\services\ioport\xmega\ioport_compat.c" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/ioport/xmega/ioport_compat.c" framework="" version="3.19.0" source="common\services\ioport\xmega\ioport_compat.c" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/ioport/xmega/ioport_compat.h" framework="" version="3.19.0" source="common\services\ioport\xmega\ioport_compat.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/ioport/xmega/ioport_compat.h" framework="" version="3.19.0" source="common\services\ioport\xmega\ioport_compat.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/ioport/xmega/ioport.h" framework="" version="3.19.0" source="common\services\ioport\xmega\ioport.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/ioport/xmega/ioport.h" framework="" version="3.19.0" source="common\services\ioport\xmega\ioport.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/ioport/ioport.h" framework="" version="3.19.0" source="common\services\ioport\ioport.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/ioport/ioport.h" framework="" version="3.19.0" source="common\services\ioport\ioport.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/serial/usart_serial.c" framework="" version="3.19.0" source="common\services\serial\usart_serial.c" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/serial/usart_serial.c" framework="" version="3.19.0" source="common\services\serial\usart_serial.c" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/serial/xmega_usart/usart_serial.h" framework="" version="3.19.0" source="common\services\serial\xmega_usart\usart_serial.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/serial/xmega_usart/usart_serial.h" framework="" version="3.19.0" source="common\services\serial\xmega_usart\usart_serial.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/serial/serial.h" framework="" version="3.19.0" source="common\services\serial\serial.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/serial/serial.h" framework="" version="3.19.0" source="common\services\serial\serial.h" changed="False" content-id="Atmel.ASF" />
<file path="src/Config/conf_usart_serial.h" framework="" version="3.19.0" source="common\services\serial\xmega_usart\module_config\conf_usart_serial.h" changed="False" content-id="Atmel.ASF" /> <file path="src/Config/conf_usart_serial.h" framework="" version="3.19.0" source="common\services\serial\xmega_usart\module_config\conf_usart_serial.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/drivers/usart/usart.c" framework="" version="3.19.0" source="xmega\drivers\usart\usart.c" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/drivers/usart/usart.c" framework="" version="3.19.0" source="xmega\drivers\usart\usart.c" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/drivers/usart/usart.h" framework="" version="3.19.0" source="xmega\drivers\usart\usart.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/drivers/usart/usart.h" framework="" version="3.19.0" source="xmega\drivers\usart\usart.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/drivers/sleep/sleep.h" framework="" version="3.19.0" source="xmega\drivers\sleep\sleep.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/drivers/sleep/sleep.h" framework="" version="3.19.0" source="xmega\drivers\sleep\sleep.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/drivers/tc/tc.c" framework="" version="3.19.0" source="xmega\drivers\tc\tc.c" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/drivers/tc/tc.c" framework="" version="3.19.0" source="xmega\drivers\tc\tc.c" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/xmega/drivers/tc/tc.h" framework="" version="3.19.0" source="xmega\drivers\tc\tc.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/xmega/drivers/tc/tc.h" framework="" version="3.19.0" source="xmega\drivers\tc\tc.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/sleepmgr/xmega/sleepmgr.c" framework="" version="3.19.0" source="common\services\sleepmgr\xmega\sleepmgr.c" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/sleepmgr/xmega/sleepmgr.c" framework="" version="3.19.0" source="common\services\sleepmgr\xmega\sleepmgr.c" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/sleepmgr/sleepmgr.h" framework="" version="3.19.0" source="common\services\sleepmgr\sleepmgr.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/sleepmgr/sleepmgr.h" framework="" version="3.19.0" source="common\services\sleepmgr\sleepmgr.h" changed="False" content-id="Atmel.ASF" />
<file path="src/ASF/common/services/sleepmgr/xmega/sleepmgr.h" framework="" version="3.19.0" source="common\services\sleepmgr\xmega\sleepmgr.h" changed="False" content-id="Atmel.ASF" /> <file path="src/ASF/common/services/sleepmgr/xmega/sleepmgr.h" framework="" version="3.19.0" source="common\services\sleepmgr\xmega\sleepmgr.h" changed="False" content-id="Atmel.ASF" />
<file path="src/Config/conf_sleepmgr.h" framework="" version="3.19.0" source="common\services\sleepmgr\xmega\module_config\conf_sleepmgr.h" changed="False" content-id="Atmel.ASF" /> <file path="src/Config/conf_sleepmgr.h" framework="" version="3.19.0" source="common\services\sleepmgr\xmega\module_config\conf_sleepmgr.h" changed="False" content-id="Atmel.ASF" />
</files> </files>
<documentation help="http://asf.atmel.com/docs/3.19.0/common.applications.user_application.user_board.xmegaau/html/index.html" /> <documentation help="http://asf.atmel.com/docs/3.19.0/common.applications.user_application.user_board.xmegaau/html/index.html" />
<offline-documentation help="" /> <offline-documentation help="" />
<dependencies> <dependencies>
<content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.6.0" /> <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.6.0" />
</dependencies> </dependencies>
<project id="common.applications.user_application.user_board.xmegaau" value="Add" config="" content-id="Atmel.ASF" /> <project id="common.applications.user_application.user_board.xmegaau" value="Add" config="" content-id="Atmel.ASF" />
<board id="board.user_board.xmegaau" value="Add" config="" content-id="Atmel.ASF" /> <board id="board.user_board.xmegaau" value="Add" config="" content-id="Atmel.ASF" />
</framework-data> </framework-data>
</AsfFrameworkConfig> </AsfFrameworkConfig>
<avrtool>com.atmel.avrdbg.tool.atmelice</avrtool> <avrtool>com.atmel.avrdbg.tool.atmelice</avrtool>
<com_atmel_avrdbg_tool_jtagice3plus> <com_atmel_avrdbg_tool_jtagice3plus>
...@@ -210,6 +210,8 @@ ...@@ -210,6 +210,8 @@
</avrgcc.assembler.general.IncludePaths> </avrgcc.assembler.general.IncludePaths>
</AvrGcc> </AvrGcc>
</ToolchainSettings> </ToolchainSettings>
<PreBuildEvent>call "$(MSBuildProjectDirectory)\..\..\..\Automation\SubWCRev.exe" "$(MSBuildProjectDirectory)\src" "$(MSBuildProjectDirectory)\..\..\..\Automation\version.h.in" "$(MSBuildProjectDirectory)\src\version.h"
</PreBuildEvent>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ToolchainSettings> <ToolchainSettings>
...@@ -290,6 +292,10 @@ ...@@ -290,6 +292,10 @@
<avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel>
</AvrGcc> </AvrGcc>
</ToolchainSettings> </ToolchainSettings>
<PreBuildEvent>call "$(MSBuildProjectDirectory)\..\..\..\Automation\SubWCRev.exe" "$(MSBuildProjectDirectory)\src" "$(MSBuildProjectDirectory)\..\..\..\Automation\version.h.in" "$(MSBuildProjectDirectory)\src\version.h"
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Folder Include="src\" /> <Folder Include="src\" />
......
:020000022000DC
:10000000FDC000001CC100001AC1000018C10000A2
:1000100016C1000014C1000012C1000010C1000090
:100020000EC100000CC100000AC1000008C10000A0
:1000300006C1000004C1000033C200005EC200001F
:1000400089C20000B4C20000DFC200000AC3000081
:1000500035C3000060C300008BC30000B6C30000BE
:10006000EEC00000ECC00000EAC00000E8C00000E4
:10007000E6C00000E4C00000E2C00000E0C00000F4
:10008000DEC00000DCC00000DAC00000D8C0000004
:10009000D6C00000D4C00000D2C00000D0C0000014
:1000A000CEC00000CCC00000CAC00000C8C0000024
:1000B000C6C00000C4C00000C2C0000075C500007A
:1000C000A0C50000CBC50000F6C5000021C6000099
:1000D0004CC6000077C60000A2C60000CDC60000D6
:1000E000F8C60000ACC00000AAC00000A8C0000014
:1000F000A6C00000A4C00000A2C00000A0C0000074
:100100009EC000009CC000009AC0000098C0000083
:1001100096C0000094C0000092C0000090C0000093
:100120008EC000008CC000008AC0000088C00000A3
:1001300086C0000077C30000A2C30000CDC300004A
:10014000F8C3000023C400004EC4000079C40000BE
:10015000A4C40000CFC40000FAC4000070C00000B6
:100160006EC000006CC000006AC0000068C00000E3
:1001700066C0000064C0000062C0000060C00000F3
:100180005EC000005CC000005AC0000058C0000003
:1001900056C0000054C0000052C0000050C0000013
:1001A0004EC000004CC000004AC0000048C0000023
:1001B000BDC60000E8C6000013C700003EC700002F
:1001C00069C7000094C700003AC0000038C00000B2
:1001D00036C0000034C0000032C0000030C0000053
:1001E0002EC000002CC000002AC0000028C0000063
:1001F00026C0000024C0000022C0000011241FBE41
:10020000CFEFCDBFDFE3DEBF01E00CBF10E2A0E027
:10021000B0E2EAECF0E202E00BBF02C007900D9200
:10022000A837B107D9F722E2A8E7B0E201C01D92D2
:10023000AE3CB207E1F70F94F10C0D944110E0CE03
:1002400082E391E0909307062FEF33EF41E02150D6
:1002500030404040E1F700C00000815099F7089518
:10026000E0EAF0E082818F7B98ED94BF82831CBE30
:10027000E0E0F0E01994909179209827909379200C
:10028000089565E58FE390E00F94780F2FEF87EEE8
:1002900093E0215080409040E1F700C000000895B5
:1002A0008FE390E00F94680F91E0853509F490E0BA
:1002B000892F089580EA9BE00F94FA0991E020913C
:1002C0007920821390E0892F089564E48FE390E011
:1002D0000D94780FF12C10E080917B228130E9F0B1
:1002E00038F0823009F43BC08330C1F7B9DFF4CF76
:1002F000D7DF81110EC087E090E20F94800B8FE36F
:1003000090E00F94680F682F80EA9BE00F94F20949
:10031000A7DF81E080937B22DFCF81E290E20F9420
:10032000800B80EA9BE00F94FA09C82F8230C9F74E
:1003300080EA9BE00F94FA098093782061E080EADC
:100340009BE00F94F2096091782080EA9BE00F9483
:10035000F2090F94340BB9DFC0937B22BDCF10920A
:10036000792080EA9BE00F94FA0990917820891314
:10037000F8CF80EA9BE00F94FA09C82F7CDFC330E6
:1003800009F051C080EA9BE00F94FA0980937A2229
:1003900072DFC0E0D0E0E12C80EA9BE00F94FA0924
:1003A000082F69DFF11012C0013021F42197FF24DA
:1003B000F39413C08EEF800F843040F465E580EA3B
:1003C0009BE00F94F2091F5FEE24E394FE01E658D0
:1003D000FF4D00830F94340BF12C2196C11582E060
:1003E000D807D4F267DF8823A1F060917A2270E009
:1003F000762F6627770F882777FD8095982F01E065
:1004000020E032E04AE750E20F94E80BEE2009F1D9
:1004100027C066E680EA9BE0E5D76091792080EA14
:100420009BE0E0D714C0C43039F444DF882379F06E
:1004300083E080937B220DC0C53049F43BDF8823E5
:1004400031F061E089E790E00F948D0C02C01F5FEE
:1004500007C061E080EA9BE0C5D70F94340B3CCF26
:10046000143128F462E080EA9BE0BCD735CF63E02A
:1004700080EA9BE0B7D782E490E20F94800B61E0C2
:1004800089E790E00F948D0C27CF8FE390E00F94D5
:10049000680F9BEA980F81E0923008F480E008959D
:1004A0001F920F920FB60F9211240BB60F922F933B
:1004B0003F934F935F936F937F938F939F93AF93EC
:1004C000BF93EF93FF93E091C222F091C322309744
:1004D00009F01995FF91EF91BF91AF919F918F9185
:1004E0007F916F915F914F913F912F910F900BBE34
:1004F0000F900FBE0F901F9018951F920F920FB67E
:100500000F9211240BB60F922F933F934F935F934B
:100510006F937F938F939F93AF93BF93EF93FF93CB
:10052000E091C022F091C122309709F01995FF9116
:10053000EF91BF91AF919F918F917F916F915F915B
:100540004F913F912F910F900BBE0F900FBE0F90C8
:100550001F9018951F920F920FB60F9211240BB691
:100560000F922F933F934F935F936F937F938F934C
:100570009F93AF93BF93EF93FF93E091BE22F091CF
:10058000BF22309709F01995FF91EF91BF91AF917C
:100590009F918F917F916F915F914F913F912F919B
:1005A0000F900BBE0F900FBE0F901F9018951F92CB
:1005B0000F920FB60F9211240BB60F922F933F9309
:1005C0004F935F936F937F938F939F93AF93BF935B
:1005D000EF93FF93E091BC22F091BD22309709F098
:1005E0001995FF91EF91BF91AF919F918F917F915D
:1005F0006F915F914F913F912F910F900BBE0F9094
:100600000FBE0F901F9018951F920F920FB60F926A
:1006100011240BB60F922F933F934F935F936F93D9
:100620007F938F939F93AF93BF93EF93FF93E0914B
:10063000BA22F091BB22309709F01995FF91EF9102
:10064000BF91AF919F918F917F916F915F914F91EA
:100650003F912F910F900BBE0F900FBE0F901F90E8
:1006600018951F920F920FB60F9211240BB60F928E
:100670002F933F934F935F936F937F938F939F93AA
:10068000AF93BF93EF93FF93E091B822F091B9221B
:10069000309709F01995FF91EF91BF91AF919F911C
:1006A0008F917F916F915F914F913F912F910F901B
:1006B0000BBE0F900FBE0F901F9018951F920F92B8
:1006C0000FB60F9211240BB60F922F933F934F93B7
:1006D0005F936F937F938F939F93AF93BF93EF93AA
:1006E000FF93E091B622F091B722309709F0199567
:1006F000FF91EF91BF91AF919F918F917F916F91FA
:100700005F914F913F912F910F900BBE0F900FBEB5
:100710000F901F9018951F920F920FB60F921124F1
:100720000BB60F922F933F934F935F936F937F93EB
:100730008F939F93AF93BF93EF93FF93E091B42276
:10074000F091B522309709F01995FF91EF91BF9183
:10075000AF919F918F917F916F915F914F913F9159
:100760002F910F900BBE0F900FBE0F901F901895FA
:100770001F920F920FB60F9211240BB60F922F9368
:100780003F934F935F936F937F938F939F93AF9319
:10079000BF93EF93FF93E091B222F091B322309791
:1007A00009F01995FF91EF91BF91AF919F918F91B2
:1007B0007F916F915F914F913F912F910F900BBE61
:1007C0000F900FBE0F901F9018951F920F920FB6AB
:1007D0000F9211240BB60F922F933F934F935F9379
:1007E0006F937F938F939F93AF93BF93EF93FF93F9
:1007F000E091B022F091B122309709F01995FF9164
:10080000EF91BF91AF919F918F917F916F915F9188
:100810004F913F912F910F900BBE0F900FBE0F90F5
:100820001F9018951F920F920FB60F9211240BB6BE
:100830000F922F933F934F935F936F937F938F9379
:100840009F93AF93BF93EF93FF93E091AE22F0910C
:10085000AF22309709F01995FF91EF91BF91AF91B9
:100860009F918F917F916F915F914F913F912F91C8
:100870000F900BBE0F900FBE0F901F9018951F92F8
:100880000F920FB60F9211240BB60F922F933F9336
:100890004F935F936F937F938F939F93AF93BF9388
:1008A000EF93FF93E091AC22F091AD22309709F0E5
:1008B0001995FF91EF91BF91AF919F918F917F918A
:1008C0006F915F914F913F912F910F900BBE0F90C1
:1008D0000FBE0F901F9018951F920F920FB60F9298
:1008E00011240BB60F922F933F934F935F936F9307
:1008F0007F938F939F93AF93BF93EF93FF93E09179
:10090000AA22F091AB22309709F01995FF91EF914F
:10091000BF91AF919F918F917F916F915F914F9117
:100920003F912F910F900BBE0F900FBE0F901F9015
:1009300018951F920F920FB60F9211240BB60F92BB
:100940002F933F934F935F936F937F938F939F93D7
:10095000AF93BF93EF93FF93E091A822F091A92268
:10096000309709F01995FF91EF91BF91AF919F9149
:100970008F917F916F915F914F913F912F910F9048
:100980000BBE0F900FBE0F901F9018951F920F92E5
:100990000FB60F9211240BB60F922F933F934F93E4
:1009A0005F936F937F938F939F93AF93BF93EF93D7
:1009B000FF93E091A622F091A722309709F01995B4
:1009C000FF91EF91BF91AF919F918F917F916F9127
:1009D0005F914F913F912F910F900BBE0F900FBEE3
:1009E0000F901F9018951F920F920FB60F9211241F
:1009F0000BB60F922F933F934F935F936F937F9319
:100A00008F939F93AF93BF93EF93FF93E091A422B3
:100A1000F091A522309709F01995FF91EF91BF91C0
:100A2000AF919F918F917F916F915F914F913F9186
:100A30002F910F900BBE0F900FBE0F901F90189527
:100A40001F920F920FB60F9211240BB60F922F9395
:100A50003F934F935F936F937F938F939F93AF9346
:100A6000BF93EF93FF93E091A222F091A3223097DE
:100A700009F01995FF91EF91BF91AF919F918F91DF
:100A80007F916F915F914F913F912F910F900BBE8E
:100A90000F900FBE0F901F9018951F920F920FB6D8
:100AA0000F9211240BB60F922F933F934F935F93A6
:100AB0006F937F938F939F93AF93BF93EF93FF9326
:100AC000E091A022F091A122309709F01995FF91B1
:100AD000EF91BF91AF919F918F917F916F915F91B6
:100AE0004F913F912F910F900BBE0F900FBE0F9023
:100AF0001F9018951F920F920FB60F9211240BB6EC
:100B00000F922F933F934F935F936F937F938F93A6
:100B10009F93AF93BF93EF93FF93E0919E22F09149
:100B20009F22309709F01995FF91EF91BF91AF91F6
:100B30009F918F917F916F915F914F913F912F91F5
:100B40000F900BBE0F900FBE0F901F9018951F9225
:100B50000F920FB60F9211240BB60F922F933F9363
:100B60004F935F936F937F938F939F93AF93BF93B5
:100B7000EF93FF93E0919C22F0919D22309709F032
:100B80001995FF91EF91BF91AF919F918F917F91B7
:100B90006F915F914F913F912F910F900BBE0F90EE
:100BA0000FBE0F901F9018951F920F920FB60F92C5
:100BB00011240BB60F922F933F934F935F936F9334
:100BC0007F938F939F93AF93BF93EF93FF93E091A6
:100BD0009A22F0919B22309709F01995FF91EF919D
:100BE000BF91AF919F918F917F916F915F914F9145
:100BF0003F912F910F900BBE0F900FBE0F901F9043
:100C000018951F920F920FB60F9211240BB60F92E8
:100C10002F933F934F935F936F937F938F939F9304
:100C2000AF93BF93EF93FF93E0919822F0919922B5
:100C3000309709F01995FF91EF91BF91AF919F9176
:100C40008F917F916F915F914F913F912F910F9075
:100C50000BBE0F900FBE0F901F9018951F920F9212
:100C60000FB60F9211240BB60F922F933F934F9311
:100C70005F936F937F938F939F93AF93BF93EF9304
:100C8000FF93E0919622F0919722309709F0199501
:100C9000FF91EF91BF91AF919F918F917F916F9154
:100CA0005F914F913F912F910F900BBE0F900FBE10
:100CB0000F901F9018951F920F920FB60F9211244C
:100CC0000BB60F922F933F934F935F936F937F9346
:100CD0008F939F93AF93BF93EF93FF93E0919422F1
:100CE000F0919522309709F01995FF91EF91BF91FE
:100CF000AF919F918F917F916F915F914F913F91B4
:100D00002F910F900BBE0F900FBE0F901F90189554
:100D10001F920F920FB60F9211240BB60F922F93C2
:100D20003F934F935F936F937F938F939F93AF9373
:100D3000BF93EF93FF93E0919222F091932230972B
:100D400009F01995FF91EF91BF91AF919F918F910C
:100D50007F916F915F914F913F912F910F900BBEBB
:100D60000F900FBE0F901F9018951F920F920FB605
:100D70000F9211240BB60F922F933F934F935F93D3
:100D80006F937F938F939F93AF93BF93EF93FF9353
:100D9000E0919022F0919122309709F01995FF91FE
:100DA000EF91BF91AF919F918F917F916F915F91E3
:100DB0004F913F912F910F900BBE0F900FBE0F9050
:100DC0001F9018951F920F920FB60F9211240BB619
:100DD0000F922F933F934F935F936F937F938F93D4
:100DE0009F93AF93BF93EF93FF93E0918E22F09187
:100DF0008F22309709F01995FF91EF91BF91AF9134
:100E00009F918F917F916F915F914F913F912F9122
:100E10000F900BBE0F900FBE0F901F9018951F9252
:100E20000F920FB60F9211240BB60F922F933F9390
:100E30004F935F936F937F938F939F93AF93BF93E2
:100E4000EF93FF93E0918C22F0918D22309709F07F
:100E50001995FF91EF91BF91AF919F918F917F91E4
:100E60006F915F914F913F912F910F900BBE0F901B
:100E70000FBE0F901F9018951F920F920FB60F92F2
:100E800011240BB60F922F933F934F935F936F9361
:100E90007F938F939F93AF93BF93EF93FF93E091D3
:100EA0008A22F0918B22309709F01995FF91EF91EA
:100EB000BF91AF919F918F917F916F915F914F9172
:100EC0003F912F910F900BBE0F900FBE0F901F9070
:100ED00018951F920F920FB60F9211240BB60F9216
:100EE0002F933F934F935F936F937F938F939F9332
:100EF000AF93BF93EF93FF93E0918822F091892203
:100F0000309709F01995FF91EF91BF91AF919F91A3
:100F10008F917F916F915F914F913F912F910F90A2
:100F20000BBE0F900FBE0F901F9018951F920F923F
:100F30000FB60F9211240BB60F922F933F934F933E
:100F40005F936F937F938F939F93AF93BF93EF9331
:100F5000FF93E0918622F0918722309709F019954E
:100F6000FF91EF91BF91AF919F918F917F916F9181
:100F70005F914F913F912F910F900BBE0F900FBE3D
:100F80000F901F9018951F920F920FB60F92112479
:100F90000BB60F922F933F934F935F936F937F9373
:100FA0008F939F93AF93BF93EF93FF93E09184222E
:100FB000F0918522309709F01995FF91EF91BF913B
:100FC000AF919F918F917F916F915F914F913F91E1
:100FD0002F910F900BBE0F900FBE0F901F90189582
:100FE0001F920F920FB60F9211240BB60F922F93F0
:100FF0003F934F935F936F937F938F939F93AF93A1
:10100000BF93EF93FF93E0918222F0918322309778
:1010100009F01995FF91EF91BF91AF919F918F9139
:101020007F916F915F914F913F912F910F900BBEE8
:101030000F900FBE0F901F9018951F920F920FB632
:101040000F9211240BB60F922F933F934F935F9300
:101050006F937F938F939F93AF93BF93EF93FF9380
:10106000E0918022F0918122309709F01995FF914B
:10107000EF91BF91AF919F918F917F916F915F9110
:101080004F913F912F910F900BBE0F900FBE0F907D
:101090001F9018951F920F920FB60F9211240BB646
:1010A0000F922F933F934F935F936F937F938F9301
:1010B0009F93AF93BF93EF93FF93E0917E22F091C4
:1010C0007F22309709F01995FF91EF91BF91AF9171
:1010D0009F918F917F916F915F914F913F912F9150
:1010E0000F900BBE0F900FBE0F901F9018951F9280
:1010F0000F920FB60F9211240BB60F922F933F93BE
:101100004F935F936F937F938F939F93AF93BF930F
:10111000EF93FF93E0917C22F0917D22309709F0CC
:101120001995FF91EF91BF91AF919F918F917F9111
:101130006F915F914F913F912F910F900BBE0F9048
:101140000FBE0F901F901895CF93CFB7F8948115CD
:1011500028E0920711F461E005C0803428E092078E
:1011600031F462E083E023D364E083E028C081159A
:1011700029E0920711F461E005C0803429E092076C
:1011800031F462E084E013D364E084E018C0811598
:101190002AE0920711F461E005C080342AE092074A
:1011A00031F462E085E003D364E085E008C0811596
:1011B0009B4071F461E086E0FAD264E086E0F7D209
:1011C0009FB7F8948091C9228F5F8093C9229FBFF7
:1011D000CFBFCF910895811528E0920729F460933D
:1011E000C2227093C3220895803428E0920729F424
:1011F0006093B6227093B7220895811529E0920773
:1012000029F46093AE227093AF220895803429E0D0
:10121000920729F46093A2227093A3220895811566
:101220002AE0920729F460939A2270939B220895F2
:1012300080342AE0920729F460938E2270938F22E3
:10124000089581159B4021F4609386227093872234
:101250000895009709F4C5C0803C910511F460E140
:1012600005C0811524E0920719F464E080E0B8C05D
:10127000803821E0920711F462E0F8CF811521E077
:10128000920711F461E0F2CF803823E0920711F465
:1012900061E00BC0803923E0920711F461E012C0D5
:1012A000811522E0920719F462E081E099C0803450
:1012B00022E0920711F462E005C0803223E0920739
:1012C00019F464E082E08CC0811528E0920711F4E3
:1012D00061E07FC0811529E0920711F461E06CC0E4
:1012E00081152AE0920711F461E079C081152BE0A5
:1012F000920711F461E053C0803428E0920711F4A2
:1013000062E067C0803429E0920711F462E054C0C3
:1013100080342AE0920711F462E061C0803928E04D
:10132000920711F464E055C0803929E0920711F466
:1013300064E042C080392AE0920711F464E04FC0B3
:1013400080392BE0920711F464E029C0803C28E04A
:10135000920711F468E03DC0803C29E0920711F447
:1013600068E02AC0803C2AE0920711F468E037C0A8
:10137000803A28E0920711F460E12BC0803A29E01E
:10138000920711F460E118C0803A2AE0920711F444
:1013900060E125C0803A2BE0920719F460E186E015
:1013A0001FC0803B28E0920711F460E212C0803B2E
:1013B00029E0920719F460E284E012C0803B2AE041
:1013C000920711F460E20BC0803824E0920719F410
:1013D00060E483E005C0803A944019F460E485E05D
:1013E000E6C10895FC01218125FFFCCF608380E0E8
:1013F00090E00895FC01218127FFFCCF80810895B2
:101400008F929F92AF92BF92CF92DF92EF92FF9214
:101410000F931F93CF93DF93EC016A017B01480187
:101420005901B901A801A3E07695679557954795AD
:10143000AA95D1F7D901C80116E1B695A795979558
:1014400087951A95D1F72C8122FD08C0769567956E
:1014500057954795B695A795979587954C155D0532
:101460006E057F0508F497C0C816D906EA06FB0684
:1014700008F491C08C8182FD04C0CC0CDD1CEE1CF4
:10148000FF1CC501B401A7019601F0D28FEF90E0D7
:10149000A0E0B0E019EF281739074A075B0758F0BA
:1014A000880F991FAA1FBB1F1D3F0CF481601F5F8F
:1014B000173089F74BC017FF49C0D701C60103E0B9
:1014C000880F991FAA1FBB1F0A95D1F7881A990A7E
:1014D000AA0ABB0A812F992787FD90951E3FE4F445
:1014E0006DEF7FEF681B790BA501940104C0220FFB
:1014F000331F441F551F6A95D2F7CA01B90146012F
:101500005701B694A79497948794680D791D8A1D06
:101510009B1DA701960118C09C012D5F3F4FD7016D
:10152000C60104C0880F991FAA1FBB1F2A95D2F7B6
:101530009C01AD01BC01CD01969587957795679586
:10154000680D791D8A1D9B1D91D21CC023E0210FBF
:10155000D701C60104C0880F991FAA1FBB1F2A9577
:10156000D2F79C01AD01BC01CD0196958795779589
:101570006795680D791D8A1D9B1D78D22150310910
:1015800041095109832F8F701295107F812B8F8312
:101590002E8381E001C080E0DF91CF911F910F91F8
:1015A000FF90EF90DF90CF90BF90AF909F908F9083
:1015B00008950F931F93CF93DF93EC018B0149DEC6
:1015C0008D818F738D83F80184819581892B96811C
:1015D000992311F098E001C090E0892B8D83F801E8
:1015E000408151816281738100E018E428EE31E08E
:1015F000CE0106DF9C8198609C839C8190619C83D6
:10160000DF91CF911F910F9108958091C4228F5F38
:101610008093C4228091C5229091C6220196809326
:10162000C5229093C62281E08093C7229091C42264
:10163000923121F4809307061092C4228091C52232
:101640009091C622883C910571F480917B22823072
:1016500030F40F944502811102C00F94410161E002
:1016600089E790E05AC108951092C5221092C622CF
:10167000089580E098E068DD65E07BE080E098E038
:10168000AADDE0E0F8E08181887F818384ED90E34A
:1016900086A397A386818C7F8683868181608683DB
:1016A0008081807F866080830895CF93DF93CDB75C
:1016B000DEB72797CDBFDEBF809104208D83809158
:1016C00005208E83809106208F8380910020909149
:1016D0000120A0910220B091032089839A83AB83DB
:1016E000BC8360E186E063D0BE016F5F7F4F80EA1C
:1016F0009BE05FDF2796CDBFDEBFDF91CF910895DE
:10170000CF93DF93EC016991662321F080EA9BE09F
:1017100069DEF9CFDF91CF910895FC0180E090E080
:10172000262F30E0D901082E02C0B595A7950A945E
:10173000E2F7A0FF05C0DF01A80FB91F50965C9328
:1017400001968830910571F740FF07C041FF02C044
:10175000658301C0668361830895628308958FEF76
:101760008093700080937100809372008093730067
:101770008093740080937500809376009FB7F894EF
:10178000809150008260809350009FBF80915100F3
:1017900081FFFCCF61E080E490E0BFD09FB7F89478
:1017A000809150008E7F809350009FBF08959FB717
:1017B000F894E82FF0E0E059FF4F60958081862390
:1017C00080839FBF08958091CF0187FDFCCF08954E
:1017D0002F923F924F925F926F927F928F929F9241
:1017E000AF92BF92CF92DF92EF92FF920F931F932F
:1017F000CF93DF9300D000D0CDB7DEB76B017C0173
:101800001A012B833C830D834B015C018824E894EF
:1018100090F88B819C81892B09F469C0D4DF240165
:10182000350100E011E020E03D81332351F06BBE33
:10183000F2018791969189839A83019631F021E094
:1018400004C08FEF9FEF89839A83EB81FC813097EF
:1018500069F1C414D504E604F70481F43197EB83ED
:10186000FC83FFEFCF1ADF0AEF0AFF0AF101819133
:101870001F0189838B819C81892BC1F0D301C20117
:101880000196A11DB11DC816D906EA06FB0671F422
:10189000EB81FC813197EB83FC83FFEFCF1ADF0AEA
:1018A000EF0AFF0AF10181911F018A8349815A8160
:1018B000C301B2012E83F6D3F2E04F0E511C611C1E
:1018C000711C015011092E810115110509F0ACCFD1
:1018D000222319F078DF45E202C075DF44E2C5013A
:1018E000B401D1D332E0930EA11CB11C92CF269645
:1018F000CDBFDEBFDF91CF911F910F91FF90EF9091
:10190000DF90CF90BF90AF909F908F907F906F901F
:101910005F904F903F902F9008951BBEFC0128EDE3
:1019200024BF60830895AB01982F96959695969560
:10193000877061E070E001C0660F8A95EAF720E2E7
:10194000929FC00111249A5FE8CE61E070E080E0D0
:10195000EADF60E070E089E1E6DF60E070E088E106
:10196000E2DF68E370E081E2DEDF68E370E080E2FE
:10197000DADF63E070E08BE2D6DF60E070E08AE2FD
:10198000D2DF61E070E082E1CEDF61E070E083E110
:10199000CADF61E070E084E1C6DF61E070E085E10C
:1019A000C2DF61E070E08EE1BEDF63E070E087E1FE
:1019B000BADF61E070E08AE1B6DF60E070E08BE101
:1019C000B2DF60E070E08CE1AEDF60E070E08DE1FE
:1019D000AADF60E070E08EE1A6DF60E070E08CE2FC
:1019E000A2CF0F931F93CF93DF93CDB7DEB7DA95D6
:1019F000CDBFDEBFAADFB3DE00EA10E0F8018281CE
:101A0000806498ED94BF828334DE87E0F80182839E
:101A100082818F7782831182789447DE0F94200130
:101A200081E0E0E0F6E087831F9286E18F931F92CA
:101A300080E18F9382E690E29F938F938E010F5FF8
:101A40001F4F1F930F9334D0C8015ADE0F946A01C1
:101A50000F943001CDBFDEBF80E090E0D395CDBFC5
:101A6000DEBFDF91CF911F910F910895A1E21A2E51
:101A7000AA1BBB1BFD010DC0AA1FBB1FEE1FFF1F32
:101A8000A217B307E407F50720F0A21BB30BE40B82
:101A9000F50B661F771F881F991F1A9469F76095C9
:101AA0007095809590959B01AC01BD01CF01089583
:101AB0000F931F93CF93DF93CDB7DEB72E97CDBF94
:101AC000DEBF0E891F8986E08C8309831A838FEF1E
:101AD0009FE78D839E83AE01465E5F4F688D798D53
:101AE000CE0101960DD0EF81F885E00FF11F108235
:101AF0002E96CDBFDEBFDF91CF911F910F9108953C
:101B00002F923F924F925F926F927F928F929F920D
:101B1000AF92BF92CF92DF92EF92FF920F931F93FB
:101B2000CF93DF93CDB7DEB72C97CDBFDEBF7C015F
:101B30006B018A01FC0116821782838181FFB0C18B
:101B4000CE0101964C01F7019381F60193FD859139
:101B500093FF81916F01882309F49EC1853239F486
:101B600093FD859193FF81916F01853221F4B70137
:101B700090E0F7D1E8CF512C312C20E02032A0F4B6
:101B80008B3269F030F4803259F0833269F420618D
:101B90002CC08D3239F0803339F4216026C02260A8
:101BA000246023C0286021C027FD27C030ED380FF6
:101BB0003A3078F426FF06C0FAE05F9E300D11241B
:101BC000532E13C08AE0389E300D1124332E20622C
:101BD0000CC08E3221F426FD5FC1206406C08C3615
:101BE00011F4206802C0883641F4F60193FD859116
:101BF00093FF81916F018111C1CF982F9F7D9554E3
:101C0000933028F40C5F1F4FFFE3F9830DC0833638
:101C100031F0833771F0833509F057C021C0F801E6
:101C2000808189830E5F1F4F44244394512C5401BB
:101C300014C03801F2E06F0E711CF801A080B18071
:101C400026FF03C0652D70E002C06FEF7FEFC50176
:101C50002C877CD12C0183012C852F77222E16C056
:101C60003801F2E06F0E711CF801A080B18026FFF0
:101C700003C0652D70E002C06FEF7FEFC5012C87B8
:101C80005AD12C012C852068222E830123FC19C0F7
:101C9000832D90E048165906A0F4B70180E290E049
:101CA00060D13A94F5CFF50127FC859127FE81910B
:101CB0005F01B70190E055D131103A94F1E04F1A2D
:101CC00051084114510479F7DEC0843611F0893689
:101CD00031F5F80127FF07C060817181828193810E
:101CE0000C5F1F4F08C060817181882777FD809548
:101CF000982F0E5F1F4F2F76B22E97FF09C0909539
:101D00008095709561957F4F8F4F9F4F2068B22EC1
:101D10002AE030E0A40157D1A82EA81843C0853787
:101D200029F42F7EB22E2AE030E025C0F22FF97F71
:101D3000BF2E8F36C1F018F4883579F0ADC08037EA
:101D400019F0883721F0A8C02F2F2061B22EB4FEE1
:101D50000DC08B2D8460B82E09C024FF0AC09F2FB0
:101D60009660B92E06C028E030E005C020E130E0E2
:101D700002C020E132E0F801B7FE07C06081718146
:101D8000828193810C5F1F4F06C06081718180E06A
:101D900090E00E5F1F4FA40116D1A82EA818FB2DAE
:101DA000FF77BF2EB6FE0BC02B2D2E7FA51450F44F
:101DB000B4FE0AC0B2FC08C02B2D2E7E05C07A2CC2
:101DC0002B2D03C07A2C01C0752C24FF0DC0FE0101
:101DD000EA0DF11D8081803311F4297E09C022FFB4
:101DE00006C07394739404C0822F867809F07394AC
:101DF00023FD12C020FF06C05A2C731418F4530C94
:101E00005718732C731460F4B70180E290E02C87AC
:101E1000A8D073942C85F6CF731410F4371801C032
:101E2000312C24FF11C0B70180E390E02C8799D0BA
:101E30002C8522FF16C021FF03C088E590E002C078
:101E400088E790E0B7010CC0822F867851F021FD21
:101E500002C080E201C08BE227FD8DE2B70190E075
:101E600080D0A51430F4B70180E390E07AD05A9482
:101E7000F8CFAA94F401EA0DF11D8081B70190E03A
:101E800070D0A110F6CF332009F45DCEB70180E207
:101E900090E067D03A94F7CFF7018681978102C02E
:101EA0008FEF9FEF2C96CDBFDEBFDF91CF911F91BB
:101EB0000F91FF90EF90DF90CF90BF90AF909F90E9
:101EC0008F907F906F905F904F903F902F900895EC
:101ED00003D0808199270895E0ECF1E0378537FD44
:101EE000FDCF348538603487FC01E050F04F089511
:101EF000262FE0ECF1E0378537FDFDCF3485377FC5
:101F00003487378531FF09C036E3328738ED34BF77
:101F100031E03387378537FDFDCF33E33287808368
:101F200091831282248325E3228728ED31E024BFA8
:101F3000338701960895FC010590615070400110AF
:101F4000D8F7809590958E0F9F1F0895FC016150E2
:101F5000704001900110D8F7809590958E0F9F1FCB
:101F600008950F931F93CF93DF93182F092FEB0141
:101F70008B8181FD03C08FEF9FEF20C082FF10C0D7
:101F80004E815F812C813D81421753077CF4E881AB
:101F9000F9819F012F5F3F4F28833983108306C04B
:101FA000E885F985812F1995892B29F72E813F81A5
:101FB0002F5F3F4F2E833F83812F902FDF91CF9153
:101FC0001F910F910895FA01AA27283051F120316D
:101FD00081F1E8946F936E7F6E5F7F4F8F4F9F4FBD
:101FE000AF4FB1E03ED0B4E03CD0670F781F891FFF
:101FF0009A1FA11D680F791F8A1F911DA11D6A0FCD
:10200000711D811D911DA11D20D009F468943F917F
:102010002AE0269F11243019305D3193DEF6CF017E
:102020000895462F4770405D4193B3E00FD0C9F744
:10203000F6CF462F4F70405D4A3318F0495D31FDB1
:102040004052419302D0A9F7EACFB4E0A695979504
:10205000879577956795BA95C9F7009761057105DA
:1020600008959B01AC010A2E069457954795379524
:102070002795BA95C9F7620F731F841F951FA01D7E
:062080000895F894FFCF63
:102086009BB78BBFFB018091CA014093CA017DE9D2
:1020960070933400E8958093CA019BBF0895209100
:1020A600CF0127FDFCCF9BB78BBFFB018091CA01F7
:1020B60023E22093CA010A01E89511248093CA01FC
:0420C6009BBF08951F
:1020CA00802500000300005374617274696E6720F2
:1020DA006170706C69636174696F6E2E2E2E0D0AC1
:1020EA000057616974696E6720666F72206669724B
:1020FA006D776172652075706C6F61642E2E2E0D7E
:10210A000A00526573657474696E672043505520DE
:10211A002D20746F6F206D616E79206572726F72F7
:10212A007300426F6F746C6F61646572205625325A
:08213A00642E2532640D0A0039
:0400000320000000D9
:00000001FF
...@@ -18,6 +18,17 @@ uint8_t page[FLASH_PAGE_SIZE] = {0}; ...@@ -18,6 +18,17 @@ uint8_t page[FLASH_PAGE_SIZE] = {0};
uint8_t checksum = 0; uint8_t checksum = 0;
uint8_t handshake = 0; uint8_t handshake = 0;
void welcome_led_blink()
{
uint8_t i;
for (i=0; i<50; i++)
{
ioport_toggle_pin(MMC_LED);
_delay_ms(20);
}
}
void start_firmware() void start_firmware()
{ {
void (*app_start)( void ) = APP_SECTION_START; // Set up function pointer to RESET vector. void (*app_start)( void ) = APP_SECTION_START; // Set up function pointer to RESET vector.
...@@ -42,9 +53,10 @@ void start_bootloader() ...@@ -42,9 +53,10 @@ void start_bootloader()
switch (state) switch (state)
{ {
case INIT: case INIT:
if (eeprom_read_upgrade() == false) if (eeprom_check_magic_byte_invalid() == false)
{ {
usart_putchar(USART_SERIAL, eeprom_read_byte(EEPROM_ADDR_FWUPGRADE)); printString("Starting application...\r\n");
usart_putchar(USART_SERIAL, eeprom_read_byte(EEPROM_ADDR_MAGICBYTE));
start_firmware(); start_firmware();
} }
state = HANDSHAKE; state = HANDSHAKE;
...@@ -52,7 +64,7 @@ void start_bootloader() ...@@ -52,7 +64,7 @@ void start_bootloader()
/////////////////////////////////////// ///////////////////////////////////////
case HANDSHAKE: case HANDSHAKE:
printString("Waiting for firmware upload...\r\n");
do do
{ {
usart_serial_getchar(USART_SERIAL, &chr); usart_serial_getchar(USART_SERIAL, &chr);
...@@ -189,21 +201,21 @@ void checksum_add_byte(uint8_t byte) ...@@ -189,21 +201,21 @@ void checksum_add_byte(uint8_t byte)
void eeprom_write_upgrade( void ) void eeprom_write_upgrade( void )
{ {
eeprom_write_byte(EEPROM_ADDR_FWUPGRADE, EEPROM_FWUPGRADE_VALUE); eeprom_write_byte(EEPROM_ADDR_MAGICBYTE, EEPROM_FWUPGRADE_VALUE);
} }
void eeprom_write_ready( void ) void eeprom_write_ready( void )
{ {
eeprom_write_byte(EEPROM_ADDR_FWUPGRADE, EEPROM_FWREADY_VALUE); eeprom_write_byte(EEPROM_ADDR_MAGICBYTE, EEPROM_FWREADY_VALUE);
_delay_ms(40); _delay_ms(40);
} }
bool eeprom_read_upgrade( void ) bool eeprom_check_magic_byte_invalid( void )
{ {
//return false; //return false;
// return true; // return true;
//usart_putchar(USART_SERIAL, eeprom_read_byte((EEPROM_ADDR_FWUPGRADE))); //usart_putchar(USART_SERIAL, eeprom_read_byte((EEPROM_ADDR_MAGICBYTE)));
return eeprom_read_byte(EEPROM_ADDR_FWUPGRADE) != EEPROM_FWREADY_VALUE; return eeprom_read_byte(EEPROM_ADDR_MAGICBYTE) != EEPROM_FWREADY_VALUE;
} }
bool read_compare_checksum(void) bool read_compare_checksum(void)
...@@ -215,12 +227,12 @@ bool read_compare_checksum(void) ...@@ -215,12 +227,12 @@ bool read_compare_checksum(void)
void eeprom_write_upgrade_started( void ) void eeprom_write_upgrade_started( void )
{ {
eeprom_write_byte(EEPROM_ADDR_FWUPGRADE, EEPROM_FWUPGRADE_STARTED); eeprom_write_byte(EEPROM_ADDR_MAGICBYTE, EEPROM_FWUPGRADE_STARTED);
} }
bool eeprom_is_pending( void ) bool eeprom_is_pending( void )
{ {
uint8_t value = eeprom_read_byte(EEPROM_ADDR_FWUPGRADE); uint8_t value = eeprom_read_byte(EEPROM_ADDR_MAGICBYTE);
return (value == EEPROM_FWUPGRADE_STARTED) || return (value == EEPROM_FWUPGRADE_STARTED) ||
(value != EEPROM_FWREADY_VALUE && value != EEPROM_FWUPGRADE_VALUE); (value != EEPROM_FWREADY_VALUE && value != EEPROM_FWUPGRADE_VALUE);
} }
...@@ -28,7 +28,7 @@ extern BootloaderState state; ...@@ -28,7 +28,7 @@ extern BootloaderState state;
#define BOOTLDR_ERR_MAX 20 #define BOOTLDR_ERR_MAX 20
#define EEPROM_ADDR_FWUPGRADE (uint8_t *) 63 #define EEPROM_ADDR_MAGICBYTE (uint8_t *) 63
#define EEPROM_FWUPGRADE_VALUE (uint8_t) 0x56 #define EEPROM_FWUPGRADE_VALUE (uint8_t) 0x56
#define EEPROM_FWREADY_VALUE (uint8_t) 0x55 #define EEPROM_FWREADY_VALUE (uint8_t) 0x55
#define EEPROM_FWUPGRADE_STARTED (uint8_t) 0x44 #define EEPROM_FWUPGRADE_STARTED (uint8_t) 0x44
...@@ -38,9 +38,10 @@ void start_firmware(void); ...@@ -38,9 +38,10 @@ void start_firmware(void);
void eeprom_write_upgrade(void); void eeprom_write_upgrade(void);
void eeprom_write_upgrade_started(void); void eeprom_write_upgrade_started(void);
void eeprom_write_ready(void); void eeprom_write_ready(void);
bool eeprom_read_upgrade(void); bool eeprom_check_magic_byte_invalid(void);
bool eeprom_is_pending(void); bool eeprom_is_pending(void);
void checksum_add_byte(uint8_t byte); void checksum_add_byte(uint8_t byte);
bool read_compare_checksum(void); bool read_compare_checksum(void);
void welcome_led_blink(void);
#endif /* BOOTLOADER_H_ */ #endif /* BOOTLOADER_H_ */
\ No newline at end of file
...@@ -27,9 +27,11 @@ ...@@ -27,9 +27,11 @@
*/ */
#include <asf.h> #include <asf.h>
#include <util/delay.h> #include <util/delay.h>
#include <stdio.h>
#include "usart_lib.h" #include "usart_lib.h"
#include "timer_lib.h" #include "timer_lib.h"
#include "bootloader.h" #include "bootloader.h"
#include "version.h"
#include <ccp.h> #include <ccp.h>
int main (void) int main (void)
{ {
...@@ -49,10 +51,13 @@ int main (void) ...@@ -49,10 +51,13 @@ int main (void)
pmic_init(); pmic_init();
pmic_set_scheduling(PMIC_SCH_FIXED_PRIORITY);//PMIC_SCH_ROUND_ROBIN); pmic_set_scheduling(PMIC_SCH_FIXED_PRIORITY);//PMIC_SCH_ROUND_ROBIN);
cpu_irq_enable(); cpu_irq_enable();
usart_init(); usart_init();
printString("Bootloader\r\n"); welcome_led_blink();
ioport_toggle_pin(MMC_LED);
char message[256];
sprintf(message,"Bootloader V%2d.%2d\r\n",SVN_REVISION_MAJOR,SVN_REVISION_MINOR);
printString(message);
start_bootloader(); start_bootloader();
//reset processor //reset processor
//ccp_write_io((void *)&RST.CTRL, RST_SWRST_bm); //ccp_write_io((void *)&RST.CTRL, RST_SWRST_bm);
......
...@@ -50,7 +50,7 @@ static void tc_overflow_callback(void) //100 ms ...@@ -50,7 +50,7 @@ static void tc_overflow_callback(void) //100 ms
sec_counter++; sec_counter++;
idle_counter++; idle_counter++;
timer_100ms_flag = true; timer_100ms_flag = true;
if(sec_counter == 10) if(sec_counter == LED_BLINK_PERIOD)
{ {
ioport_toggle_pin(MMC_LED); ioport_toggle_pin(MMC_LED);
sec_counter = 0; sec_counter = 0;
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#define TIMER_LIB_H_ #define TIMER_LIB_H_
#define INACTIVITY_BEFORE_RESET_S 20 #define INACTIVITY_BEFORE_RESET_S 20
#define LED_BLINK_PERIOD 18
extern volatile bool timer_100ms_flag; extern volatile bool timer_100ms_flag;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment