/* ---------------------------------------------------------------------------- * SAM Software Package License * ---------------------------------------------------------------------------- * Copyright (c) 2011-2012, Atmel Corporation * * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following condition is met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the disclaimer below. * * Atmel's name may not be used to endorse or promote products derived from * this software without specific prior written permission. * * DISCLAIMER: 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 * 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. * ---------------------------------------------------------------------------- */ #pragma once // Gently pulse the D13 LED #define LED_PIN 17 #define PORTA PORT->Group[0] #define LED_PORT PORTA #define LED_ON LED_PORT.OUTSET.reg = (uint32_t)(1 << LED_PIN); #define LED_OFF LED_PORT.OUTCLR.reg = (uint32_t)(1 << LED_PIN); /* * If BOOT_DOUBLE_TAP_ADDRESS is defined the bootloader is started by * quickly tapping two times on the reset button. * BOOT_DOUBLE_TAP_ADDRESS must point to a free SRAM cell that must not * be touched from the loaded application. */ #define BOOT_DOUBLE_TAP_ADDRESS 0x20007FFC #define BOOT_DOUBLE_TAP_DATA (*((volatile uint32_t *) BOOT_DOUBLE_TAP_ADDRESS)) /* * If BOOT_LOAD_PIN is defined the bootloader is started if the selected * pin is tied LOW. */ //#define BOOT_LOAD_PIN PIN_PA21 // Pin 7 //#define BOOT_LOAD_PIN PIN_PA15 // Pin 5 #define BOOT_PIN_MASK (1U << (BOOT_LOAD_PIN & 0x1f)) #define CPU_FREQUENCY 8000000 #define APP_START_ADDRESS 0x00002000 #define FLASH_WAIT_STATES 1 #define BOOT_USART_MODULE SERCOM0 //#define BOOT_USART_MODULE SERCOM5 #define BOOT_USART_MUX_SETTINGS UART_RX_PAD3_TX_PAD2 //#define BOOT_USART_PAD3 PINMUX_PB23D_SERCOM5_PAD3 //#define BOOT_USART_PAD2 PINMUX_PB22D_SERCOM5_PAD2 #define BOOT_USART_PAD3 PINMUX_PA11C_SERCOM0_PAD3 #define BOOT_USART_PAD2 PINMUX_PA10C_SERCOM0_PAD2 #define BOOT_USART_PAD1 PINMUX_UNUSED #define BOOT_USART_PAD0 PINMUX_UNUSED