diff --git a/Fred_bootloader/Fred_bootloader.atsuo b/Fred_bootloader/Fred_bootloader.atsuo index ffb553a450bbae02b9a7df0aba262361f8a0350c..39cc6c1d7df5106435dba4a53aea01817e58cbe8 100644 Binary files a/Fred_bootloader/Fred_bootloader.atsuo and b/Fred_bootloader/Fred_bootloader.atsuo differ diff --git a/Fred_bootloader/Fred_bootloader.cproj b/Fred_bootloader/Fred_bootloader.cproj index 8950fd68d4e5a37fee83686844a5560c87afaefa..464b4b72721955c98e08aa0de167a7cb436f6f16 100644 --- a/Fred_bootloader/Fred_bootloader.cproj +++ b/Fred_bootloader/Fred_bootloader.cproj @@ -28,89 +28,88 @@ <eraseonlaunchrule>0</eraseonlaunchrule> <AsfFrameworkConfig> <framework-data> - <options> - <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.ioport" 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="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.usart" 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" /> - </options> - <configurations /> - <files> - <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/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/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/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/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/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/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/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/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/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/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/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.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/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/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/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/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/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/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.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/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/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/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.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/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/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/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" /> - </files> - <documentation help="http://asf.atmel.com/docs/3.19.0/common.applications.user_application.user_board.xmegaau/html/index.html" /> - <offline-documentation help="" /> - <dependencies> - <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.19.0" /> - </dependencies> - <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" /> - </framework-data> + <options> + <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.ioport" 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="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.usart" 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" /> + </options> + <configurations /> + <files> + <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/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/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/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/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/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/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/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/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/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/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/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.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/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/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/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/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/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/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.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/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/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/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.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/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/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/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" /> + </files> + <documentation help="http://asf.atmel.com/docs/3.19.0/common.applications.user_application.user_board.xmegaau/html/index.html" /> + <offline-documentation help="" /> + <dependencies> + <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.6.0" /> + </dependencies> + <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" /> +</framework-data> </AsfFrameworkConfig> - <avrtool>com.atmel.avrdbg.tool.jtagice3plus</avrtool> + <avrtool>com.atmel.avrdbg.tool.atmelice</avrtool> <com_atmel_avrdbg_tool_jtagice3plus> <ToolOptions> <InterfaceProperties> - <JtagDbgClock>3470000</JtagDbgClock> </InterfaceProperties> <InterfaceName>JTAG</InterfaceName> </ToolOptions> @@ -119,89 +118,19 @@ <ToolName>JTAGICE3</ToolName> </com_atmel_avrdbg_tool_jtagice3plus> <avrtoolinterface>JTAG</avrtoolinterface> + <com_atmel_avrdbg_tool_atmelice> + <ToolOptions> + <InterfaceProperties> + <JtagDbgClock>7500000</JtagDbgClock> + </InterfaceProperties> + <InterfaceName>JTAG</InterfaceName> + </ToolOptions> + <ToolType>com.atmel.avrdbg.tool.atmelice</ToolType> + <ToolNumber>J41800035419</ToolNumber> + <ToolName>Atmel-ICE</ToolName> + </com_atmel_avrdbg_tool_atmelice> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)' == 'Release' "> - <ToolchainSettings> - <AvrGcc> - <avrgcc.common.optimization.RelaxBranches>True</avrgcc.common.optimization.RelaxBranches> - <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> - <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> - <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> - <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> - <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> - <avrgcc.compiler.symbols.DefSymbols> - <ListValues> - <Value>NDEBUG</Value> - <Value>BOARD=USER_BOARD</Value> - <Value>IOPORT_XMEGA_COMPAT=1</Value> - <Value>F_CPU=32000000UL</Value> - </ListValues> - </avrgcc.compiler.symbols.DefSymbols> - <avrgcc.compiler.directories.IncludePaths> - <ListValues> - <Value>../common/applications/user_application/user_board/config</Value> - <Value>../src/ASF/xmega/utils</Value> - <Value>../src/config</Value> - <Value>../src/ASF/common/boards</Value> - <Value>../src/ASF/xmega/utils/preprocessor</Value> - <Value>../src/ASF/common/utils</Value> - <Value>../src</Value> - <Value>../src/ASF/common/boards/user_board</Value> - <Value>../src/ASF/xmega/drivers/cpu</Value> - <Value>../src/ASF/xmega/drivers/nvm</Value> - <Value>../src/ASF/xmega/drivers/pmic</Value> - <Value>../src/ASF/xmega/drivers/wdt</Value> - <Value>../src/ASF/common/services/clock</Value> - <Value>../src/ASF/common/services/ioport</Value> - <Value>../src/ASF/common/services/serial/xmega_usart</Value> - <Value>../src/ASF/common/services/serial</Value> - <Value>../src/ASF/xmega/drivers/usart</Value> - <Value>../src/ASF/xmega/drivers/sleep</Value> - <Value>../src/ASF/xmega/drivers/tc</Value> - <Value>../src/ASF/common/services/sleepmgr</Value> - </ListValues> - </avrgcc.compiler.directories.IncludePaths> - <avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level> - <avrgcc.compiler.optimization.OtherFlags>-fdata-sections</avrgcc.compiler.optimization.OtherFlags> - <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> - <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> - <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> - <avrgcc.compiler.miscellaneous.OtherFlags>-std=gnu99 -fno-strict-aliasing -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -mrelax</avrgcc.compiler.miscellaneous.OtherFlags> - <avrgcc.linker.libraries.Libraries> - <ListValues> - <Value>libm</Value> - </ListValues> - </avrgcc.linker.libraries.Libraries> - <avrgcc.linker.miscellaneous.LinkerFlags>-Wl,--relax,-section-start=.text=0x20000</avrgcc.linker.miscellaneous.LinkerFlags> - <avrgcc.assembler.general.AssemblerFlags>-mrelax -DBOARD=USER_BOARD</avrgcc.assembler.general.AssemblerFlags> - <avrgcc.assembler.general.IncludePaths> - <ListValues> - <Value>../common/applications/user_application/user_board/config</Value> - <Value>../src/ASF/xmega/utils</Value> - <Value>../src/config</Value> - <Value>../src/ASF/common/boards</Value> - <Value>../src/ASF/xmega/utils/preprocessor</Value> - <Value>../src/ASF/common/utils</Value> - <Value>../src</Value> - <Value>../src/ASF/common/boards/user_board</Value> - <Value>../src/ASF/xmega/drivers/cpu</Value> - <Value>../src/ASF/xmega/drivers/nvm</Value> - <Value>../src/ASF/xmega/drivers/pmic</Value> - <Value>../src/ASF/xmega/drivers/wdt</Value> - <Value>../src/ASF/common/services/clock</Value> - <Value>../src/ASF/common/services/ioport</Value> - <Value>../src/ASF/common/services/serial/xmega_usart</Value> - <Value>../src/ASF/common/services/serial</Value> - <Value>../src/ASF/xmega/drivers/usart</Value> - <Value>../src/ASF/xmega/drivers/sleep</Value> - <Value>../src/ASF/xmega/drivers/tc</Value> - <Value>../src/ASF/common/services/sleepmgr</Value> - </ListValues> - </avrgcc.assembler.general.IncludePaths> -</AvrGcc> - </ToolchainSettings> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> <ToolchainSettings> <AvrGcc> <avrgcc.common.optimization.RelaxBranches>True</avrgcc.common.optimization.RelaxBranches> @@ -212,10 +141,10 @@ <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> <avrgcc.compiler.symbols.DefSymbols> <ListValues> - <Value>DEBUG</Value> + <Value>NDEBUG</Value> <Value>BOARD=USER_BOARD</Value> + <Value>IOPORT_XMEGA_COMPAT=1</Value> <Value>F_CPU=32000000UL</Value> - <Value>IOPORT_XMEGA_COMPAT</Value> </ListValues> </avrgcc.compiler.symbols.DefSymbols> <avrgcc.compiler.directories.IncludePaths> @@ -242,9 +171,10 @@ <Value>../src/ASF/common/services/sleepmgr</Value> </ListValues> </avrgcc.compiler.directories.IncludePaths> - <avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level> + <avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level> <avrgcc.compiler.optimization.OtherFlags>-fdata-sections</avrgcc.compiler.optimization.OtherFlags> - <avrgcc.compiler.optimization.DebugLevel>Maximum (-g3)</avrgcc.compiler.optimization.DebugLevel> + <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> + <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> <avrgcc.compiler.miscellaneous.OtherFlags>-std=gnu99 -fno-strict-aliasing -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -mrelax</avrgcc.compiler.miscellaneous.OtherFlags> <avrgcc.linker.libraries.Libraries> @@ -252,7 +182,7 @@ <Value>libm</Value> </ListValues> </avrgcc.linker.libraries.Libraries> - <avrgcc.linker.miscellaneous.LinkerFlags>-Wl,--relax</avrgcc.linker.miscellaneous.LinkerFlags> + <avrgcc.linker.miscellaneous.LinkerFlags>-Wl,--relax,-section-start=.text=0x20000</avrgcc.linker.miscellaneous.LinkerFlags> <avrgcc.assembler.general.AssemblerFlags>-mrelax -DBOARD=USER_BOARD</avrgcc.assembler.general.AssemblerFlags> <avrgcc.assembler.general.IncludePaths> <ListValues> @@ -278,10 +208,89 @@ <Value>../src/ASF/common/services/sleepmgr</Value> </ListValues> </avrgcc.assembler.general.IncludePaths> - <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> </AvrGcc> </ToolchainSettings> </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> + <ToolchainSettings> + <AvrGcc> + <avrgcc.common.optimization.RelaxBranches>True</avrgcc.common.optimization.RelaxBranches> + <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> + <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> + <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> + <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> + <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures> + <avrgcc.compiler.symbols.DefSymbols> + <ListValues> + <Value>DEBUG</Value> + <Value>BOARD=USER_BOARD</Value> + <Value>F_CPU=32000000UL</Value> + <Value>IOPORT_XMEGA_COMPAT</Value> + </ListValues> + </avrgcc.compiler.symbols.DefSymbols> + <avrgcc.compiler.directories.IncludePaths> + <ListValues> + <Value>../common/applications/user_application/user_board/config</Value> + <Value>../src/ASF/xmega/utils</Value> + <Value>../src/config</Value> + <Value>../src/ASF/common/boards</Value> + <Value>../src/ASF/xmega/utils/preprocessor</Value> + <Value>../src/ASF/common/utils</Value> + <Value>../src</Value> + <Value>../src/ASF/common/boards/user_board</Value> + <Value>../src/ASF/xmega/drivers/cpu</Value> + <Value>../src/ASF/xmega/drivers/nvm</Value> + <Value>../src/ASF/xmega/drivers/pmic</Value> + <Value>../src/ASF/xmega/drivers/wdt</Value> + <Value>../src/ASF/common/services/clock</Value> + <Value>../src/ASF/common/services/ioport</Value> + <Value>../src/ASF/common/services/serial/xmega_usart</Value> + <Value>../src/ASF/common/services/serial</Value> + <Value>../src/ASF/xmega/drivers/usart</Value> + <Value>../src/ASF/xmega/drivers/sleep</Value> + <Value>../src/ASF/xmega/drivers/tc</Value> + <Value>../src/ASF/common/services/sleepmgr</Value> + </ListValues> + </avrgcc.compiler.directories.IncludePaths> + <avrgcc.compiler.optimization.OtherFlags>-fdata-sections</avrgcc.compiler.optimization.OtherFlags> + <avrgcc.compiler.optimization.DebugLevel>Maximum (-g3)</avrgcc.compiler.optimization.DebugLevel> + <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> + <avrgcc.compiler.miscellaneous.OtherFlags>-std=gnu99 -fno-strict-aliasing -Wstrict-prototypes -Wmissing-prototypes -Werror-implicit-function-declaration -Wpointer-arith -mrelax</avrgcc.compiler.miscellaneous.OtherFlags> + <avrgcc.linker.libraries.Libraries> + <ListValues> + <Value>libm</Value> + </ListValues> + </avrgcc.linker.libraries.Libraries> + <avrgcc.linker.miscellaneous.LinkerFlags>-Wl,--relax</avrgcc.linker.miscellaneous.LinkerFlags> + <avrgcc.assembler.general.AssemblerFlags>-mrelax -DBOARD=USER_BOARD</avrgcc.assembler.general.AssemblerFlags> + <avrgcc.assembler.general.IncludePaths> + <ListValues> + <Value>../common/applications/user_application/user_board/config</Value> + <Value>../src/ASF/xmega/utils</Value> + <Value>../src/config</Value> + <Value>../src/ASF/common/boards</Value> + <Value>../src/ASF/xmega/utils/preprocessor</Value> + <Value>../src/ASF/common/utils</Value> + <Value>../src</Value> + <Value>../src/ASF/common/boards/user_board</Value> + <Value>../src/ASF/xmega/drivers/cpu</Value> + <Value>../src/ASF/xmega/drivers/nvm</Value> + <Value>../src/ASF/xmega/drivers/pmic</Value> + <Value>../src/ASF/xmega/drivers/wdt</Value> + <Value>../src/ASF/common/services/clock</Value> + <Value>../src/ASF/common/services/ioport</Value> + <Value>../src/ASF/common/services/serial/xmega_usart</Value> + <Value>../src/ASF/common/services/serial</Value> + <Value>../src/ASF/xmega/drivers/usart</Value> + <Value>../src/ASF/xmega/drivers/sleep</Value> + <Value>../src/ASF/xmega/drivers/tc</Value> + <Value>../src/ASF/common/services/sleepmgr</Value> + </ListValues> + </avrgcc.assembler.general.IncludePaths> + <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel> +</AvrGcc> + </ToolchainSettings> + </PropertyGroup> <ItemGroup> <Folder Include="src\" /> <Folder Include="src\ASF\" /> diff --git a/Fred_bootloader/src/bootloader.c b/Fred_bootloader/src/bootloader.c index 4d5c5715383c3bdce78e8748eef1cc85627d445a..c9db87b108e37defa73fe0709051f64d2692a4ab 100644 --- a/Fred_bootloader/src/bootloader.c +++ b/Fred_bootloader/src/bootloader.c @@ -220,5 +220,7 @@ void eeprom_write_upgrade_started( void ) bool eeprom_is_pending( void ) { - return eeprom_read_byte(EEPROM_ADDR_FWUPGRADE) == EEPROM_FWUPGRADE_STARTED; + uint8_t value = eeprom_read_byte(EEPROM_ADDR_FWUPGRADE); + return (value == EEPROM_FWUPGRADE_STARTED) || + (value != EEPROM_FWREADY_VALUE && value != EEPROM_FWUPGRADE_VALUE); } diff --git a/Fred_bootloader/src/timer_lib.c b/Fred_bootloader/src/timer_lib.c index 7c899a68196125a1520944d52da2a39e528cdcd4..0904d6eb720be809f85851998adb62b1863b8fdc 100644 --- a/Fred_bootloader/src/timer_lib.c +++ b/Fred_bootloader/src/timer_lib.c @@ -50,12 +50,12 @@ static void tc_overflow_callback(void) //100 ms sec_counter++; idle_counter++; timer_100ms_flag = true; - if(sec_counter == 5) + if(sec_counter == 10) { ioport_toggle_pin(MMC_LED); sec_counter = 0; } - //RESET after 10 s of inactivity + //RESET after 20 s of inactivity if (idle_counter == INACTIVITY_BEFORE_RESET_S*10) { //reset processor diff --git a/Fred_bootloader/src/timer_lib.h b/Fred_bootloader/src/timer_lib.h index 876987e52168b830ab70cb1509e76956dc686eae..c9e63a50d6ec76b390580cf1c7d80361f9192e76 100644 --- a/Fred_bootloader/src/timer_lib.h +++ b/Fred_bootloader/src/timer_lib.h @@ -28,7 +28,7 @@ #ifndef TIMER_LIB_H_ #define TIMER_LIB_H_ -#define INACTIVITY_BEFORE_RESET_S 10 +#define INACTIVITY_BEFORE_RESET_S 20 extern volatile bool timer_100ms_flag; diff --git a/FuseRelayBoard/src/eeprom.c b/FuseRelayBoard/src/eeprom.c index 3e8b5b13f58a921d00f7484dfbe5ecae1a48d059..7967147de812efb2a2ccd443de20ee80115f3c32 100644 --- a/FuseRelayBoard/src/eeprom.c +++ b/FuseRelayBoard/src/eeprom.c @@ -37,6 +37,7 @@ void initEEPROM( void ) { if (eeprom_read_byte(EEPROM_ADDR_INIT) != EEPROM_INIT_VALUE) { + printf("!Initializing EEPROM with default values\r\n"); eeprom_write_byte(EEPROM_ADDR_LIMIT_MASK, 0xFF); eeprom_write_dword(EEPROM_ADDR_LIMIT_CHANNEL0, MAX_CURRENT_LIMIT); eeprom_write_dword(EEPROM_ADDR_LIMIT_CHANNEL1, MAX_CURRENT_LIMIT);