From 6da854a4be583522a5a4b8e3668f89f05c9b2554 Mon Sep 17 00:00:00 2001 From: Jim Lindblom Date: Tue, 10 Jan 2017 11:17:45 -0700 Subject: [PATCH 1/5] Updating cores to Arduino samd 1.6.11 cores --- sparkfun/samd/cores/arduino/Arduino.h | 4 ++ sparkfun/samd/cores/arduino/Reset.cpp | 16 +++++ .../samd/cores/arduino/USB/SAMD21_USBDevice.h | 2 +- sparkfun/samd/cores/arduino/USB/USBDesc.h | 2 +- sparkfun/samd/cores/arduino/startup.c | 64 ++++++++++++++++++- 5 files changed, 85 insertions(+), 3 deletions(-) diff --git a/sparkfun/samd/cores/arduino/Arduino.h b/sparkfun/samd/cores/arduino/Arduino.h index b6fd4e73..e645743b 100644 --- a/sparkfun/samd/cores/arduino/Arduino.h +++ b/sparkfun/samd/cores/arduino/Arduino.h @@ -55,6 +55,10 @@ extern "C"{ void yield( void ) ; +/* system functions */ +int main( void ); +void init( void ); + /* sketch */ void setup( void ) ; void loop( void ) ; diff --git a/sparkfun/samd/cores/arduino/Reset.cpp b/sparkfun/samd/cores/arduino/Reset.cpp index 8809907e..053d7c5f 100644 --- a/sparkfun/samd/cores/arduino/Reset.cpp +++ b/sparkfun/samd/cores/arduino/Reset.cpp @@ -24,7 +24,15 @@ extern "C" { #endif #define NVM_MEMORY ((volatile uint16_t *)0x000000) + +#if (ARDUINO_SAMD_VARIANT_COMPLIANCE >= 10610) + +extern const uint32_t __text_start__; +#define APP_START ((volatile uint32_t)(&__text_start__) + 4) + +#else #define APP_START 0x00002004 +#endif static inline bool nvmReady(void) { return NVMCTRL->INTFLAG.reg & NVMCTRL_INTFLAG_READY; @@ -35,6 +43,13 @@ static void banzai() { // Disable all interrupts __disable_irq(); + // Avoid erasing the application if APP_START is < than the minimum bootloader size + // This could happen if without_bootloader linker script was chosen + // Minimum bootloader size in SAMD21 family is 512bytes (RM section 22.6.5) + if (APP_START < (0x200 + 4)) { + goto reset; + } + // Erase application while (!nvmReady()) ; @@ -44,6 +59,7 @@ static void banzai() { while (!nvmReady()) ; +reset: // Reset the device NVIC_SystemReset() ; diff --git a/sparkfun/samd/cores/arduino/USB/SAMD21_USBDevice.h b/sparkfun/samd/cores/arduino/USB/SAMD21_USBDevice.h index 31b9e965..a33bc1b0 100644 --- a/sparkfun/samd/cores/arduino/USB/SAMD21_USBDevice.h +++ b/sparkfun/samd/cores/arduino/USB/SAMD21_USBDevice.h @@ -106,7 +106,7 @@ class USBDevice_SAMD21G18x { inline void epBank0EnableStalled(ep_t ep) { usb.DeviceEndpoint[ep].EPINTENSET.bit.STALL0 = 1; } inline void epBank1EnableStalled(ep_t ep) { usb.DeviceEndpoint[ep].EPINTENSET.bit.STALL1 = 1; } inline void epBank0EnableTransferComplete(ep_t ep) { usb.DeviceEndpoint[ep].EPINTENSET.bit.TRCPT0 = 1; } - inline void epBank1EnableTransferComplete(ep_t ep) { usb.DeviceEndpoint[ep].EPINTENSET.bit.TRCPT0 = 1; } + inline void epBank1EnableTransferComplete(ep_t ep) { usb.DeviceEndpoint[ep].EPINTENSET.bit.TRCPT1 = 1; } inline void epBank0DisableSetupReceived(ep_t ep) { usb.DeviceEndpoint[ep].EPINTENCLR.bit.RXSTP = 1; } inline void epBank0DisableStalled(ep_t ep) { usb.DeviceEndpoint[ep].EPINTENCLR.bit.STALL0 = 1; } diff --git a/sparkfun/samd/cores/arduino/USB/USBDesc.h b/sparkfun/samd/cores/arduino/USB/USBDesc.h index e4335aa9..6088ee08 100644 --- a/sparkfun/samd/cores/arduino/USB/USBDesc.h +++ b/sparkfun/samd/cores/arduino/USB/USBDesc.h @@ -41,7 +41,7 @@ #define CDC_TX CDC_ENDPOINT_IN #endif -#define ISERIAL_MAX_LEN 20 +#define ISERIAL_MAX_LEN 33 // Defined string description #define IMANUFACTURER 1 diff --git a/sparkfun/samd/cores/arduino/startup.c b/sparkfun/samd/cores/arduino/startup.c index 3e01e79a..0161d401 100644 --- a/sparkfun/samd/cores/arduino/startup.c +++ b/sparkfun/samd/cores/arduino/startup.c @@ -38,6 +38,7 @@ // Constants for Clock generators #define GENERIC_CLOCK_GENERATOR_MAIN (0u) #define GENERIC_CLOCK_GENERATOR_XOSC32K (1u) +#define GENERIC_CLOCK_GENERATOR_OSC32K (1u) #define GENERIC_CLOCK_GENERATOR_OSCULP32K (2u) /* Initialized at reset for WDT */ #define GENERIC_CLOCK_GENERATOR_OSC8M (3u) // Constants for Clock multiplexers @@ -51,6 +52,24 @@ void SystemInit( void ) /* Turn on the digital interface clock */ PM->APBAMASK.reg |= PM_APBAMASK_GCLK ; + +#if defined(CRYSTALLESS) + + /* ---------------------------------------------------------------------------------------------- + * 1) Enable OSC32K clock (Internal 32.768Hz oscillator) + */ + + uint32_t calib = (*((uint32_t *) FUSES_OSC32K_CAL_ADDR) & FUSES_OSC32K_CAL_Msk) >> FUSES_OSC32K_CAL_Pos; + + SYSCTRL->OSC32K.reg = SYSCTRL_OSC32K_CALIB(calib) | + SYSCTRL_OSC32K_STARTUP( 0x6u ) | // cf table 15.10 of product datasheet in chapter 15.8.6 + SYSCTRL_OSC32K_EN32K | + SYSCTRL_OSC32K_ENABLE; + + while ( (SYSCTRL->PCLKSR.reg & SYSCTRL_PCLKSR_OSC32KRDY) == 0 ); // Wait for oscillator stabilization + +#else // has crystal + /* ---------------------------------------------------------------------------------------------- * 1) Enable XOSC32K clock (External on-board 32.768Hz oscillator) */ @@ -63,6 +82,8 @@ void SystemInit( void ) /* Wait for oscillator stabilization */ } +#endif + /* Software reset the module to ensure it is re-initialized correctly */ /* Note: Due to synchronization, there is a delay from writing CTRL.SWRST until the reset is complete. * CTRL.SWRST and STATUS.SYNCBUSY will both be cleared when the reset is complete, as described in chapter 13.8.1 @@ -85,8 +106,12 @@ void SystemInit( void ) } /* Write Generic Clock Generator 1 configuration */ - GCLK->GENCTRL.reg = GCLK_GENCTRL_ID( GENERIC_CLOCK_GENERATOR_XOSC32K ) | // Generic Clock Generator 1 + GCLK->GENCTRL.reg = GCLK_GENCTRL_ID( GENERIC_CLOCK_GENERATOR_OSC32K ) | // Generic Clock Generator 1 +#if defined(CRYSTALLESS) + GCLK_GENCTRL_SRC_OSC32K | // Selected source is Internal 32KHz Oscillator +#else GCLK_GENCTRL_SRC_XOSC32K | // Selected source is External 32KHz Oscillator +#endif // GCLK_GENCTRL_OE | // Output clock to a pin for tests GCLK_GENCTRL_GENEN ; @@ -130,6 +155,41 @@ void SystemInit( void ) /* Wait for synchronization */ } +#if defined(CRYSTALLESS) + + #define NVM_SW_CALIB_DFLL48M_COARSE_VAL 58 + #define NVM_SW_CALIB_DFLL48M_FINE_VAL 64 + + // Turn on DFLL + uint32_t coarse =( *((uint32_t *)(NVMCTRL_OTP4) + (NVM_SW_CALIB_DFLL48M_COARSE_VAL / 32)) >> (NVM_SW_CALIB_DFLL48M_COARSE_VAL % 32) ) + & ((1 << 6) - 1); + if (coarse == 0x3f) { + coarse = 0x1f; + } + uint32_t fine =( *((uint32_t *)(NVMCTRL_OTP4) + (NVM_SW_CALIB_DFLL48M_FINE_VAL / 32)) >> (NVM_SW_CALIB_DFLL48M_FINE_VAL % 32) ) + & ((1 << 10) - 1); + if (fine == 0x3ff) { + fine = 0x1ff; + } + + SYSCTRL->DFLLVAL.bit.COARSE = coarse; + SYSCTRL->DFLLVAL.bit.FINE = fine; + /* Write full configuration to DFLL control register */ + SYSCTRL->DFLLCTRL.reg = SYSCTRL_DFLLCTRL_USBCRM | /* USB correction */ + SYSCTRL_DFLLCTRL_CCDIS | + SYSCTRL_DFLLCTRL_WAITLOCK | + SYSCTRL_DFLLCTRL_QLDIS ; /* Disable Quick lock */ + + while ( (SYSCTRL->PCLKSR.reg & SYSCTRL_PCLKSR_DFLLRDY) == 0 ) + { + /* Wait for synchronization */ + } + + /* Enable the DFLL */ + SYSCTRL->DFLLCTRL.reg |= SYSCTRL_DFLLCTRL_ENABLE ; + +#else // has crystal + /* Write full configuration to DFLL control register */ SYSCTRL->DFLLCTRL.reg |= SYSCTRL_DFLLCTRL_MODE | /* Enable the closed loop mode */ SYSCTRL_DFLLCTRL_WAITLOCK | @@ -149,6 +209,8 @@ void SystemInit( void ) /* Wait for locks flags */ } +#endif + while ( (SYSCTRL->PCLKSR.reg & SYSCTRL_PCLKSR_DFLLRDY) == 0 ) { /* Wait for synchronization */ From 3d035693efbf5535bf54738a603410996eaee2ba Mon Sep 17 00:00:00 2001 From: Jim Lindblom Date: Tue, 10 Jan 2017 11:36:04 -0700 Subject: [PATCH 2/5] Adding Spectacle Director board variant --- sparkfun/samd/boards.txt | 30 ++- sparkfun/samd/platform.txt | 2 +- .../debug_scripts/variant.gdb | 31 +++ .../gcc/flash_with_bootloader.ld | 211 ++++++++++++++++ .../gcc/flash_without_bootloader.ld | 212 +++++++++++++++++ .../openocd_scripts/arduino_zero.cfg | 30 +++ .../pins_arduino.h | 21 ++ .../SparkFun_Spectacle_Director/variant.cpp | 221 +++++++++++++++++ .../SparkFun_Spectacle_Director/variant.h | 225 ++++++++++++++++++ 9 files changed, 981 insertions(+), 2 deletions(-) create mode 100644 sparkfun/samd/variants/SparkFun_Spectacle_Director/debug_scripts/variant.gdb create mode 100644 sparkfun/samd/variants/SparkFun_Spectacle_Director/linker_scripts/gcc/flash_with_bootloader.ld create mode 100644 sparkfun/samd/variants/SparkFun_Spectacle_Director/linker_scripts/gcc/flash_without_bootloader.ld create mode 100644 sparkfun/samd/variants/SparkFun_Spectacle_Director/openocd_scripts/arduino_zero.cfg create mode 100644 sparkfun/samd/variants/SparkFun_Spectacle_Director/pins_arduino.h create mode 100644 sparkfun/samd/variants/SparkFun_Spectacle_Director/variant.cpp create mode 100644 sparkfun/samd/variants/SparkFun_Spectacle_Director/variant.h diff --git a/sparkfun/samd/boards.txt b/sparkfun/samd/boards.txt index 0b86f291..c6b7860d 100644 --- a/sparkfun/samd/boards.txt +++ b/sparkfun/samd/boards.txt @@ -97,4 +97,32 @@ samd21_9dof.build.extra_combine_flags= samd21_9dof.build.vid=0x1B4F samd21_9dof.build.pid=0x9D0F samd21_9dof.bootloader.tool=openocd -samd21_9dof.bootloader.file=zero/SparkFun_9DoF_Razor_M0.bin \ No newline at end of file +samd21_9dof.bootloader.file=zero/SparkFun_9DoF_Razor_M0.bin + +spectacle.name=SparkFun Spectacle Director +spectacle.vid.0=0x1B4F +spectacle.pid.0=0x8888 +spectacle.vid.1=0x1B4F +spectacle.pid.1=0x0888 +spectacle.upload.tool=bossac +spectacle.upload.protocol=sam-ba +spectacle.upload.maximum_size=262144 +spectacle.upload.use_1200bps_touch=true +spectacle.upload.wait_for_upload_port=true +spectacle.upload.native_usb=true +spectacle.build.mcu=cortex-m0plus +spectacle.build.f_cpu=48000000L +spectacle.build.usb_product="Spectacle" +spectacle.build.usb_manufacturer="SparkFun" +spectacle.build.board=SAMD_ZERO +spectacle.build.core=arduino +spectacle.build.extra_flags=-D__SAMD21G18A__ {build.usb_flags} +spectacle.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld +spectacle.build.openocdscript=openocd_scripts/arduino_zero.cfg +spectacle.build.variant=SparkFun_Spectacle_Director +spectacle.build.variant_system_lib= +spectacle.build.extra_combine_flags= +spectacle.build.vid=0x1B4F +spectacle.build.pid=0x8D21 +spectacle.bootloader.tool=openocd +spectacle.bootloader.file=zero/SparkFun_spectacle.bin \ No newline at end of file diff --git a/sparkfun/samd/platform.txt b/sparkfun/samd/platform.txt index 51399dd8..b8b74381 100644 --- a/sparkfun/samd/platform.txt +++ b/sparkfun/samd/platform.txt @@ -20,7 +20,7 @@ # https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification name=SparkFun SAMD (32-bits ARM Cortex-M0+) Boards -version=1.3.2 +version=1.3.3 # Compile variables # ----------------- diff --git a/sparkfun/samd/variants/SparkFun_Spectacle_Director/debug_scripts/variant.gdb b/sparkfun/samd/variants/SparkFun_Spectacle_Director/debug_scripts/variant.gdb new file mode 100644 index 00000000..3c37ffde --- /dev/null +++ b/sparkfun/samd/variants/SparkFun_Spectacle_Director/debug_scripts/variant.gdb @@ -0,0 +1,31 @@ +# +# Arduino Zero OpenOCD script. +# +# Copyright (c) 2014-2015 Arduino LLC. All right reserved. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +# Define 'reset' command +define reset + +info reg + +break main + +# End of 'reset' command +end + +target remote | openocd -c "interface cmsis-dap" -c "set CHIPNAME at91samd21g18" -f target/at91samdXX.cfg -c "gdb_port pipe; log_output openocd.log" diff --git a/sparkfun/samd/variants/SparkFun_Spectacle_Director/linker_scripts/gcc/flash_with_bootloader.ld b/sparkfun/samd/variants/SparkFun_Spectacle_Director/linker_scripts/gcc/flash_with_bootloader.ld new file mode 100644 index 00000000..4475f951 --- /dev/null +++ b/sparkfun/samd/variants/SparkFun_Spectacle_Director/linker_scripts/gcc/flash_with_bootloader.ld @@ -0,0 +1,211 @@ +/* + Copyright (c) 2014-2015 Arduino LLC. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +/* Linker script to configure memory regions. + * Need modifying for a specific board. + * FLASH.ORIGIN: starting address of flash + * FLASH.LENGTH: length of flash + * RAM.ORIGIN: starting address of RAM bank 0 + * RAM.LENGTH: length of RAM bank 0 + */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x00000000+0x2000, LENGTH = 0x00040000-0x2000 /* First 8KB used by bootloader */ + RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00008000 +} + +/* Linker script to place sections and symbol values. Should be used together + * with other linker script that defines memory regions FLASH and RAM. + * It references following symbols, which must be defined in code: + * Reset_Handler : Entry of reset handler + * + * It defines following symbols, which code can use without definition: + * __exidx_start + * __exidx_end + * __copy_table_start__ + * __copy_table_end__ + * __zero_table_start__ + * __zero_table_end__ + * __etext + * __data_start__ + * __preinit_array_start + * __preinit_array_end + * __init_array_start + * __init_array_end + * __fini_array_start + * __fini_array_end + * __data_end__ + * __bss_start__ + * __bss_end__ + * __end__ + * end + * __HeapLimit + * __StackLimit + * __StackTop + * __stack + */ +ENTRY(Reset_Handler) + +SECTIONS +{ + .text : + { + KEEP(*(.isr_vector)) + *(.text*) + + KEEP(*(.init)) + KEEP(*(.fini)) + + /* .ctors */ + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + + /* .dtors */ + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + + *(.rodata*) + + KEEP(*(.eh_frame*)) + } > FLASH + + .ARM.extab : + { + *(.ARM.extab* .gnu.linkonce.armextab.*) + } > FLASH + + __exidx_start = .; + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > FLASH + __exidx_end = .; + + /* To copy multiple ROM to RAM sections, + * uncomment .copy.table section and, + * define __STARTUP_COPY_MULTIPLE in startup_ARMCMx.S */ + /* + .copy.table : + { + . = ALIGN(4); + __copy_table_start__ = .; + LONG (__etext) + LONG (__data_start__) + LONG (__data_end__ - __data_start__) + LONG (__etext2) + LONG (__data2_start__) + LONG (__data2_end__ - __data2_start__) + __copy_table_end__ = .; + } > FLASH + */ + + /* To clear multiple BSS sections, + * uncomment .zero.table section and, + * define __STARTUP_CLEAR_BSS_MULTIPLE in startup_ARMCMx.S */ + /* + .zero.table : + { + . = ALIGN(4); + __zero_table_start__ = .; + LONG (__bss_start__) + LONG (__bss_end__ - __bss_start__) + LONG (__bss2_start__) + LONG (__bss2_end__ - __bss2_start__) + __zero_table_end__ = .; + } > FLASH + */ + + __etext = .; + + .data : AT (__etext) + { + __data_start__ = .; + *(vtable) + *(.data*) + + . = ALIGN(4); + /* preinit data */ + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP(*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + + . = ALIGN(4); + /* init data */ + PROVIDE_HIDDEN (__init_array_start = .); + KEEP(*(SORT(.init_array.*))) + KEEP(*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + + + . = ALIGN(4); + /* finit data */ + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP(*(SORT(.fini_array.*))) + KEEP(*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + + KEEP(*(.jcr*)) + . = ALIGN(4); + /* All data end */ + __data_end__ = .; + + } > RAM + + .bss : + { + . = ALIGN(4); + __bss_start__ = .; + *(.bss*) + *(COMMON) + . = ALIGN(4); + __bss_end__ = .; + } > RAM + + .heap (COPY): + { + __end__ = .; + PROVIDE(end = .); + *(.heap*) + __HeapLimit = .; + } > RAM + + /* .stack_dummy section doesn't contains any symbols. It is only + * used for linker to calculate size of stack sections, and assign + * values to stack symbols later */ + .stack_dummy (COPY): + { + *(.stack*) + } > RAM + + /* Set stack top to end of RAM, and stack limit move down by + * size of stack_dummy section */ + __StackTop = ORIGIN(RAM) + LENGTH(RAM); + __StackLimit = __StackTop - SIZEOF(.stack_dummy); + PROVIDE(__stack = __StackTop); + + __ram_end__ = ORIGIN(RAM) + LENGTH(RAM) -1 ; + + /* Check if data + heap + stack exceeds RAM limit */ + ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") +} diff --git a/sparkfun/samd/variants/SparkFun_Spectacle_Director/linker_scripts/gcc/flash_without_bootloader.ld b/sparkfun/samd/variants/SparkFun_Spectacle_Director/linker_scripts/gcc/flash_without_bootloader.ld new file mode 100644 index 00000000..0162f077 --- /dev/null +++ b/sparkfun/samd/variants/SparkFun_Spectacle_Director/linker_scripts/gcc/flash_without_bootloader.ld @@ -0,0 +1,212 @@ +/* + Copyright (c) 2014-2015 Arduino LLC. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +/* Linker script to configure memory regions. + * Need modifying for a specific board. + * FLASH.ORIGIN: starting address of flash + * FLASH.LENGTH: length of flash + * RAM.ORIGIN: starting address of RAM bank 0 + * RAM.LENGTH: length of RAM bank 0 + */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000 + RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00008000 +} + +/* Linker script to place sections and symbol values. Should be used together + * with other linker script that defines memory regions FLASH and RAM. + * It references following symbols, which must be defined in code: + * Reset_Handler : Entry of reset handler + * + * It defines following symbols, which code can use without definition: + * __exidx_start + * __exidx_end + * __copy_table_start__ + * __copy_table_end__ + * __zero_table_start__ + * __zero_table_end__ + * __etext + * __data_start__ + * __preinit_array_start + * __preinit_array_end + * __init_array_start + * __init_array_end + * __fini_array_start + * __fini_array_end + * __data_end__ + * __bss_start__ + * __bss_end__ + * __end__ + * end + * __HeapLimit + * __StackLimit + * __StackTop + * __stack + * __ram_end__ + */ +ENTRY(Reset_Handler) + +SECTIONS +{ + .text : + { + KEEP(*(.isr_vector)) + *(.text*) + + KEEP(*(.init)) + KEEP(*(.fini)) + + /* .ctors */ + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + + /* .dtors */ + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + + *(.rodata*) + + KEEP(*(.eh_frame*)) + } > FLASH + + .ARM.extab : + { + *(.ARM.extab* .gnu.linkonce.armextab.*) + } > FLASH + + __exidx_start = .; + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > FLASH + __exidx_end = .; + + /* To copy multiple ROM to RAM sections, + * uncomment .copy.table section and, + * define __STARTUP_COPY_MULTIPLE in startup_ARMCMx.S */ + /* + .copy.table : + { + . = ALIGN(4); + __copy_table_start__ = .; + LONG (__etext) + LONG (__data_start__) + LONG (__data_end__ - __data_start__) + LONG (__etext2) + LONG (__data2_start__) + LONG (__data2_end__ - __data2_start__) + __copy_table_end__ = .; + } > FLASH + */ + + /* To clear multiple BSS sections, + * uncomment .zero.table section and, + * define __STARTUP_CLEAR_BSS_MULTIPLE in startup_ARMCMx.S */ + /* + .zero.table : + { + . = ALIGN(4); + __zero_table_start__ = .; + LONG (__bss_start__) + LONG (__bss_end__ - __bss_start__) + LONG (__bss2_start__) + LONG (__bss2_end__ - __bss2_start__) + __zero_table_end__ = .; + } > FLASH + */ + + __etext = .; + + .data : AT (__etext) + { + __data_start__ = .; + *(vtable) + *(.data*) + + . = ALIGN(4); + /* preinit data */ + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP(*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + + . = ALIGN(4); + /* init data */ + PROVIDE_HIDDEN (__init_array_start = .); + KEEP(*(SORT(.init_array.*))) + KEEP(*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + + + . = ALIGN(4); + /* finit data */ + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP(*(SORT(.fini_array.*))) + KEEP(*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + + KEEP(*(.jcr*)) + . = ALIGN(4); + /* All data end */ + __data_end__ = .; + + } > RAM + + .bss : + { + . = ALIGN(4); + __bss_start__ = .; + *(.bss*) + *(COMMON) + . = ALIGN(4); + __bss_end__ = .; + } > RAM + + .heap (COPY): + { + __end__ = .; + PROVIDE(end = .); + *(.heap*) + __HeapLimit = .; + } > RAM + + /* .stack_dummy section doesn't contains any symbols. It is only + * used for linker to calculate size of stack sections, and assign + * values to stack symbols later */ + .stack_dummy (COPY): + { + *(.stack*) + } > RAM + + /* Set stack top to end of RAM, and stack limit move down by + * size of stack_dummy section */ + __StackTop = ORIGIN(RAM) + LENGTH(RAM) ; + __StackLimit = __StackTop - SIZEOF(.stack_dummy); + PROVIDE(__stack = __StackTop); + + __ram_end__ = ORIGIN(RAM) + LENGTH(RAM) -1 ; + + /* Check if data + heap + stack exceeds RAM limit */ + ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") +} diff --git a/sparkfun/samd/variants/SparkFun_Spectacle_Director/openocd_scripts/arduino_zero.cfg b/sparkfun/samd/variants/SparkFun_Spectacle_Director/openocd_scripts/arduino_zero.cfg new file mode 100644 index 00000000..36c65c32 --- /dev/null +++ b/sparkfun/samd/variants/SparkFun_Spectacle_Director/openocd_scripts/arduino_zero.cfg @@ -0,0 +1,30 @@ +# +# Arduino Zero OpenOCD script. +# +# Copyright (c) 2014-2015 Arduino LLC. All right reserved. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +source [find interface/cmsis-dap.cfg] + +# chip name +set CHIPNAME at91samd21g18 +set ENDIAN little + +# choose a port here +set telnet_port 0 + +source [find target/at91samdXX.cfg] diff --git a/sparkfun/samd/variants/SparkFun_Spectacle_Director/pins_arduino.h b/sparkfun/samd/variants/SparkFun_Spectacle_Director/pins_arduino.h new file mode 100644 index 00000000..db0e40c3 --- /dev/null +++ b/sparkfun/samd/variants/SparkFun_Spectacle_Director/pins_arduino.h @@ -0,0 +1,21 @@ +/* + Copyright (c) 2014-2015 Arduino LLC. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +// API compatibility +#include "variant.h" + diff --git a/sparkfun/samd/variants/SparkFun_Spectacle_Director/variant.cpp b/sparkfun/samd/variants/SparkFun_Spectacle_Director/variant.cpp new file mode 100644 index 00000000..85ba2416 --- /dev/null +++ b/sparkfun/samd/variants/SparkFun_Spectacle_Director/variant.cpp @@ -0,0 +1,221 @@ +/* + Copyright (c) 2014-2015 Arduino LLC. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ +/* + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * + Pin number + ZERO Board pin | PIN | Label/Name | Comments (* is for default peripheral in use) + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | | Digital Low | | | + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | 0 | 0 -> RX | PA11 | | EIC/EXTINT[11] ADC/AIN[19] PTC/X[3] *SERCOM0/PAD[3] SERCOM2/PAD[3] TCC0/WO[3] TCC1/WO[1] + * | 1 | 1 <- TX | PA10 | | EIC/EXTINT[10] ADC/AIN[18] PTC/X[2] *SERCOM0/PAD[2] TCC0/WO[2] TCC1/WO[0] + * | 2 | 2 | PA14 | | EIC/EXTINT[14] SERCOM2/PAD[2] SERCOM4/PAD[2] TC3/WO[0] TCC0/WO[4] + * | 3 | ~3 | PA09 | | EIC/EXTINT[9] ADC/AIN[17] PTC/X[1] SERCOM0/PAD[1] SERCOM2/PAD[1] *TCC0/WO[1] TCC1/WO[3] + * | 4 | ~4 | PA08 | | EIC/NMI ADC/AIN[16] PTC/X[0] SERCOM0/PAD[0] SERCOM2/PAD[0] *TCC0/WO[0] TCC1/WO[2] + * | 5 | ~5 | PA15 | | EIC/EXTINT[15] SERCOM2/PAD[3] SERCOM4/PAD[3] *TC3/WO[1] TCC0/WO[5] + * | 6 | ~6 | PA20 | | EIC/EXTINT[4] PTC/X[8] SERCOM5/PAD[2] SERCOM3/PAD[2] *TCC0/WO[6] + * | 7 | 7 | PA21 | | EIC/EXTINT[5] PTC/X[9] SERCOM5/PAD[3] SERCOM3/PAD[3] TCC0/WO[7] + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | | Digital High | | | + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | 8 | ~8 | PA06 | | EIC/EXTINT[6] ADC/AIN[6] AC/AIN[2] PTC/Y[4] SERCOM0/PAD[2] *TCC1/WO[0] + * | 9 | ~9 | PA07 | | EIC/EXTINT[7] ADC/AIN[7] AC/AIN[3] PTC/Y[5] SERCOM0/PAD[3] *TCC1/WO[1] + * | 10 | ~10 | PA18 | | EIC/EXTINT[2] PTC/X[6] +SERCOM1/PAD[2] SERCOM3/PAD[2] *TC3/WO[0] TCC0/WO[2] + * | 11 | ~11 | PA16 | | EIC/EXTINT[0] PTC/X[4] +SERCOM1/PAD[0] SERCOM3/PAD[0] *TCC2/WO[0] TCC0/WO[6] + * | 12 | ~12 | PA19 | | EIC/EXTINT[3] PTC/X[7] +SERCOM1/PAD[3] SERCOM3/PAD[3] TC3/WO[1] *TCC0/WO[3] + * | 13 | ~13 | PA17 | LED | EIC/EXTINT[1] PTC/X[5] +SERCOM1/PAD[1] SERCOM3/PAD[1] *TCC2/WO[1] TCC0/WO[7] + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | | Analog Connector | | | + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | 14 | A0 | PA02 | A0 | EIC/EXTINT[2] *ADC/AIN[0] DAC/VOUT PTC/Y[0] + * | 15 | A1 | PB08 | A1 | EIC/EXTINT[8] *ADC/AIN[2] PTC/Y[14] SERCOM4/PAD[0] TC4/WO[0] + * | 16 | A2 | PB09 | A2 | EIC/EXTINT[9] *ADC/AIN[3] PTC/Y[15] SERCOM4/PAD[1] TC4/WO[1] + * | 17 | A3 | PA04 | A3 | EIC/EXTINT[4] *ADC/AIN[4] AC/AIN[0] PTC/Y[2] SERCOM0/PAD[0] TCC0/WO[0] + * | 18 | A4 | PA05 | A4 | EIC/EXTINT[5] *ADC/AIN[5] AC/AIN[1] PTC/Y[5] SERCOM0/PAD[1] TCC0/WO[1] + * | 19 | A5 | PB02 | A5 | EIC/EXTINT[2] *ADC/AIN[10] PTC/Y[8] SERCOM5/PAD[0] + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | | Wire | | | + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | 20 | SDA | PA22 | SDA | EIC/EXTINT[6] PTC/X[10] *SERCOM3/PAD[0] SERCOM5/PAD[0] TC4/WO[0] TCC0/WO[4] + * | 21 | SCL | PA23 | SCL | EIC/EXTINT[7] PTC/X[11] *SERCOM3/PAD[1] SERCOM5/PAD[1] TC4/WO[1] TCC0/WO[5] + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | |SPI (Legacy ICSP) | | | + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | 22 | 1 | PA12 | MISO | EIC/EXTINT[12] SERCOM2/PAD[0] *SERCOM4/PAD[0] TCC2/WO[0] TCC0/WO[6] + * | | 2 | | 5V0 | + * | 23 | 4 | PB10 | MOSI | EIC/EXTINT[10] *SERCOM4/PAD[2] TC5/WO[0] TCC0/WO[4] + * | 24 | 3 | PB11 | SCK | EIC/EXTINT[11] *SERCOM4/PAD[3] TC5/WO[1] TCC0/WO[5] + * | | 5 | | RESET | + * | | 6 | | GND | + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | | LEDs | | | + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | 25 | | PB03 | RX | + * | 26 | | PA27 | TX | + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | | USB | | | + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | 27 | | PA28 | USB_HOST_ENABLE | EIC/EXTINT[8] + * | 28 | | PA24 | USB_NEGATIVE | *USB/DM + * | 29 | | PA25 | USB_POSITIVE | *USB/DP + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | | EDBG | | | + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | 30 | | PB22 | EDBG_UART TX | *SERCOM5/PAD[2] + * | 31 | | PB23 | EDBG_UART RX | *SERCOM5/PAD[3] + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | 32 | | PA22 | EDBG_SDA | Pin 20 (SDA) + * | 33 | | PA23 | EDBG_SCL | Pin 21 (SCL) + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | 34 | | PA19 | EDBG_MISO | EIC/EXTINT[3] *SERCOM1/PAD[3] SERCOM3/PAD[3] TC3/WO[1] TCC0/WO[3] + * | 35 | | PA16 | EDBG_MOSI | EIC/EXTINT[0] *SERCOM1/PAD[0] SERCOM3/PAD[0] TCC2/WO[0] TCC0/WO[6] + * | 36 | | PA18 | EDBG_SS | EIC/EXTINT[2] *SERCOM1/PAD[2] SERCOM3/PAD[2] TC3/WO[0] TCC0/WO[2] + * | 37 | | PA17 | EDBG_SCK | EIC/EXTINT[1] *SERCOM1/PAD[1] SERCOM3/PAD[1] TCC2/WO[1] TCC0/WO[7] + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | 38 | ATN | PA13 | EDBG_GPIO0 | EIC/EXTINT[13] SERCOM2/PAD[1] SERCOM4/PAD[1] *TCC2/WO[1] TCC0/WO[7] + * | 39 | | PA21 | EDBG_GPIO1 | Pin 7 + * | 40 | | PA06 | EDBG_GPIO2 | Pin 8 + * | 41 | | PA07 | EDBG_GPIO3 | Pin 9 + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | | | | | + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | | GND | | | + * | 42 | AREF | PA03 | | EIC/EXTINT[3] *[ADC|DAC]/VREFA ADC/AIN[1] PTC/Y[1] + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | |32.768KHz Crystal | | | + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + * | | | PA00 | XIN32 | EIC/EXTINT[0] SERCOM1/PAD[0] TCC2/WO[0] + * | | | PA01 | XOUT32 | EIC/EXTINT[1] SERCOM1/PAD[1] TCC2/WO[1] + * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- + */ + + +#include "variant.h" + +/* + * Pins descriptions + */ +const PinDescription g_APinDescription[]= +{ + // 0..13 - Digital pins + // ---------------------- + // 0/1 - SERCOM/UART (Serial1) + { PORTA, 11, PIO_SERCOM, (PIN_ATTR_DIGITAL), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_11 }, // RX: SERCOM0/PAD[3] + { PORTA, 10, PIO_SERCOM, (PIN_ATTR_DIGITAL), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_10 }, // TX: SERCOM0/PAD[2] + + // 2..12 + // Digital Low + { PORTA, 14, PIO_DIGITAL, (PIN_ATTR_DIGITAL), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_14 }, + { PORTA, 9, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM0_CH1, TCC0_CH1, EXTERNAL_INT_9 }, // TCC0/WO[1] + { PORTA, 8, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM0_CH0, TCC0_CH0, EXTERNAL_INT_NMI }, // TCC0/WO[0] + { PORTA, 15, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM3_CH1, TC3_CH1, EXTERNAL_INT_15 }, // TC3/WO[1] + { PORTA, 20, PIO_TIMER_ALT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER_ALT), No_ADC_Channel, PWM0_CH6, TCC0_CH6, EXTERNAL_INT_4 }, // TCC0/WO[6] + { PORTA, 21, PIO_DIGITAL, (PIN_ATTR_DIGITAL), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_5 }, + + // Digital High + { PORTA, 6, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM1_CH0, TCC1_CH0, EXTERNAL_INT_6 }, // TCC1/WO[0] + { PORTA, 7, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM1_CH1, TCC1_CH1, EXTERNAL_INT_7 }, // TCC1/WO[1] + { PORTA, 18, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM3_CH0, TC3_CH0, EXTERNAL_INT_2 }, // TC3/WO[0] + { PORTA, 16, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM2_CH0, TCC2_CH0, EXTERNAL_INT_0 }, // TCC2/WO[0] + { PORTA, 19, PIO_TIMER_ALT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER_ALT), No_ADC_Channel, PWM0_CH3, TCC0_CH3, EXTERNAL_INT_3 }, // TCC0/WO[3] + + // 13 (LED) + { PORTA, 17, PIO_PWM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM2_CH1, TCC2_CH1, EXTERNAL_INT_1 }, // TCC2/WO[1] + + // 14..19 - Analog pins + // -------------------- + { PORTA, 2, PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel0, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 }, // ADC/AIN[0] + { PORTB, 8, PIO_ANALOG, (PIN_ATTR_PWM|PIN_ATTR_TIMER), ADC_Channel2, PWM4_CH0, TC4_CH0, EXTERNAL_INT_8 }, // ADC/AIN[2] + { PORTB, 9, PIO_ANALOG, (PIN_ATTR_PWM|PIN_ATTR_TIMER), ADC_Channel3, PWM4_CH1, TC4_CH1, EXTERNAL_INT_9 }, // ADC/AIN[3] + { PORTA, 4, PIO_ANALOG, 0, ADC_Channel4, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_4 }, // ADC/AIN[4] + { PORTA, 5, PIO_ANALOG, 0, ADC_Channel5, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_5 }, // ADC/AIN[5] + { PORTB, 2, PIO_ANALOG, 0, ADC_Channel10, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 }, // ADC/AIN[10] + + // 20..21 I2C pins (SDA/SCL and also EDBG:SDA/SCL) + // ---------------------- + { PORTA, 22, PIO_SERCOM, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_6 }, // SDA: SERCOM3/PAD[0] + { PORTA, 23, PIO_SERCOM, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_7 }, // SCL: SERCOM3/PAD[1] + + // 22..24 - SPI pins (ICSP:MISO,SCK,MOSI) + // ---------------------- + { PORTA, 12, PIO_SERCOM_ALT, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_12 }, // MISO: SERCOM4/PAD[0] + { PORTB, 10, PIO_SERCOM_ALT, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_10 }, // MOSI: SERCOM4/PAD[2] + { PORTB, 11, PIO_SERCOM_ALT, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_11 }, // SCK: SERCOM4/PAD[3] + + // 25..26 - RX/TX LEDS (PB03/PA27) + // -------------------- + { PORTB, 3, PIO_OUTPUT, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // used as output only + { PORTA, 27, PIO_OUTPUT, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // used as output only + + // 27..29 - USB + // -------------------- + { PORTA, 28, PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // USB Host enable + { PORTA, 24, PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // USB/DM + { PORTA, 25, PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // USB/DP + + // 30..41 - EDBG + // ---------------------- + // 30/31 - EDBG/UART + { PORTB, 22, PIO_SERCOM_ALT, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // TX: SERCOM5/PAD[2] + { PORTB, 23, PIO_SERCOM_ALT, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // RX: SERCOM5/PAD[3] + + // 32/33 I2C (SDA/SCL and also EDBG:SDA/SCL) + { PORTA, 22, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // SDA: SERCOM3/PAD[0] + { PORTA, 23, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // SCL: SERCOM3/PAD[1] + + // 34..37 - EDBG/SPI + { PORTA, 19, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // MISO: SERCOM1/PAD[3] + { PORTA, 16, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // MOSI: SERCOM1/PAD[0] + { PORTA, 18, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // SS: SERCOM1/PAD[2] + { PORTA, 17, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // SCK: SERCOM1/PAD[1] + + // 38..41 - EDBG/Digital + { PORTA, 13, PIO_PWM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM0_CH5, NOT_ON_TIMER, EXTERNAL_INT_13 }, // EIC/EXTINT[13] *TCC2/WO[1] TCC0/WO[7] + { PORTA, 21, PIO_PWM_ALT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM0_CH7, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // Pin 7 + { PORTA, 6, PIO_PWM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM1_CH0, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // Pin 8 + { PORTA, 7, PIO_PWM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM1_CH1, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // Pin 9 + + // 42 (AREF) + { PORTA, 3, PIO_ANALOG, PIN_ATTR_ANALOG, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // DAC/VREFP + + // ---------------------- + // 43 - Alternate use of A0 (DAC output) + { PORTA, 2, PIO_ANALOG, PIN_ATTR_ANALOG, DAC_Channel0, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 }, // DAC/VOUT +} ; + +const void* g_apTCInstances[TCC_INST_NUM+TC_INST_NUM]={ TCC0, TCC1, TCC2, TC3, TC4, TC5 } ; + +// Multi-serial objects instantiation +SERCOM sercom0( SERCOM0 ) ; +SERCOM sercom1( SERCOM1 ) ; +SERCOM sercom2( SERCOM2 ) ; +SERCOM sercom3( SERCOM3 ) ; +SERCOM sercom4( SERCOM4 ) ; +SERCOM sercom5( SERCOM5 ) ; + +Uart Serial1( &sercom0, PIN_SERIAL1_RX, PIN_SERIAL1_TX, PAD_SERIAL1_RX, PAD_SERIAL1_TX ) ; +Uart Serial( &sercom5, PIN_SERIAL_RX, PIN_SERIAL_TX, PAD_SERIAL_RX, PAD_SERIAL_TX ) ; +void SERCOM0_Handler() +{ + Serial1.IrqHandler(); +} + +void SERCOM5_Handler() +{ + Serial.IrqHandler(); +} + diff --git a/sparkfun/samd/variants/SparkFun_Spectacle_Director/variant.h b/sparkfun/samd/variants/SparkFun_Spectacle_Director/variant.h new file mode 100644 index 00000000..4cbf6bee --- /dev/null +++ b/sparkfun/samd/variants/SparkFun_Spectacle_Director/variant.h @@ -0,0 +1,225 @@ +/* + Copyright (c) 2014-2015 Arduino LLC. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef _VARIANT_SPECTACLE_DIRECTOR_ +#define _VARIANT_SPECTACLE_DIRECTOR_ + +// The definitions here needs a SAMD core >=1.6.6 +#define ARDUINO_SAMD_VARIANT_COMPLIANCE 10606 + +/*---------------------------------------------------------------------------- + * Definitions + *----------------------------------------------------------------------------*/ + +#define CRYSTALLESS 1 // The Spectacle does not have an external 32kHz oscillator + +/** Frequency of the board main oscillator */ +#define VARIANT_MAINOSC (32768ul) + +/** Master clock frequency */ +#define VARIANT_MCK (48000000ul) + +/*---------------------------------------------------------------------------- + * Headers + *----------------------------------------------------------------------------*/ + +#include "WVariant.h" + +#ifdef __cplusplus +#include "SERCOM.h" +#include "Uart.h" +#endif // __cplusplus + +#ifdef __cplusplus +extern "C" +{ +#endif // __cplusplus + +/*---------------------------------------------------------------------------- + * Pins + *----------------------------------------------------------------------------*/ + +// Number of pins defined in PinDescription array +#define PINS_COUNT (26u) +#define NUM_DIGITAL_PINS (20u) +#define NUM_ANALOG_INPUTS (6u) +#define NUM_ANALOG_OUTPUTS (1u) +#define analogInputToDigitalPin(p) ((p < 6u) ? (p) + 14u : -1) + +#define digitalPinToPort(P) ( &(PORT->Group[g_APinDescription[P].ulPort]) ) +#define digitalPinToBitMask(P) ( 1 << g_APinDescription[P].ulPin ) +//#define analogInPinToBit(P) ( ) +#define portOutputRegister(port) ( &(port->OUT.reg) ) +#define portInputRegister(port) ( &(port->IN.reg) ) +#define portModeRegister(port) ( &(port->DIR.reg) ) +#define digitalPinHasPWM(P) ( g_APinDescription[P].ulPWMChannel != NOT_ON_PWM || g_APinDescription[P].ulTCChannel != NOT_ON_TIMER ) + +/* + * digitalPinToTimer(..) is AVR-specific and is not defined for SAMD + * architecture. If you need to check if a pin supports PWM you must + * use digitalPinHasPWM(..). + * + * https://github.com/arduino/Arduino/issues/1833 + */ +// #define digitalPinToTimer(P) + +// LEDs +#define PIN_LED_13 (13u) +#define PIN_LED_RXL (25u) +#define PIN_LED_TXL (26u) +#define PIN_LED PIN_LED_13 +#define PIN_LED2 PIN_LED_RXL +#define PIN_LED3 PIN_LED_TXL +#define LED_BUILTIN PIN_LED_13 + +/* + * Analog pins + */ +#define PIN_A0 (14ul) +#define PIN_A1 (15ul) +#define PIN_A2 (16ul) +#define PIN_A3 (17ul) +#define PIN_A4 (18ul) +#define PIN_A5 (19ul) +#define PIN_DAC0 (14ul) + +static const uint8_t A0 = PIN_A0; +static const uint8_t A1 = PIN_A1; +static const uint8_t A2 = PIN_A2; +static const uint8_t A3 = PIN_A3; +static const uint8_t A4 = PIN_A4; +static const uint8_t A5 = PIN_A5; +static const uint8_t DAC0 = PIN_DAC0; +#define ADC_RESOLUTION 12 + +// Other pins +#define PIN_ATN (38ul) +static const uint8_t ATN = PIN_ATN; + +/* + * Serial interfaces + */ +// Serial (EDBG) +#define PIN_SERIAL_RX (31ul) +#define PIN_SERIAL_TX (30ul) +#define PAD_SERIAL_TX (UART_TX_PAD_2) +#define PAD_SERIAL_RX (SERCOM_RX_PAD_3) + +// Serial1 +#define PIN_SERIAL1_RX (0ul) +#define PIN_SERIAL1_TX (1ul) +#define PAD_SERIAL1_TX (UART_TX_PAD_2) +#define PAD_SERIAL1_RX (SERCOM_RX_PAD_3) + +/* + * SPI Interfaces + */ +#define SPI_INTERFACES_COUNT 1 + +#define PIN_SPI_MISO (22u) +#define PIN_SPI_MOSI (23u) +#define PIN_SPI_SCK (24u) +#define PERIPH_SPI sercom4 +#define PAD_SPI_TX SPI_PAD_2_SCK_3 +#define PAD_SPI_RX SERCOM_RX_PAD_0 + +static const uint8_t SS = PIN_A2 ; // SERCOM4 last PAD is present on A2 but HW SS isn't used. Set here only for reference. +static const uint8_t MOSI = PIN_SPI_MOSI ; +static const uint8_t MISO = PIN_SPI_MISO ; +static const uint8_t SCK = PIN_SPI_SCK ; + +/* + * Wire Interfaces + */ +#define WIRE_INTERFACES_COUNT 1 + +#define PIN_WIRE_SDA (20u) +#define PIN_WIRE_SCL (21u) +#define PERIPH_WIRE sercom3 +#define WIRE_IT_HANDLER SERCOM3_Handler + +static const uint8_t SDA = PIN_WIRE_SDA; +static const uint8_t SCL = PIN_WIRE_SCL; + +/* + * USB + */ +#define PIN_USB_HOST_ENABLE (27ul) +#define PIN_USB_DM (28ul) +#define PIN_USB_DP (29ul) + +/* + * I2S Interfaces + */ +#define I2S_INTERFACES_COUNT 1 + +#define I2S_DEVICE 0 +#define I2S_CLOCK_GENERATOR 3 +#define PIN_I2S_SD (9u) +#define PIN_I2S_SCK (1u) +#define PIN_I2S_FS (0u) + +#ifdef __cplusplus +} +#endif + +/*---------------------------------------------------------------------------- + * Arduino objects - C++ only + *----------------------------------------------------------------------------*/ + +#ifdef __cplusplus + +/* ========================= + * ===== SERCOM DEFINITION + * ========================= +*/ +extern SERCOM sercom0; +extern SERCOM sercom1; +extern SERCOM sercom2; +extern SERCOM sercom3; +extern SERCOM sercom4; +extern SERCOM sercom5; + +extern Uart Serial; +extern Uart Serial1; + +#endif + +// These serial port names are intended to allow libraries and architecture-neutral +// sketches to automatically default to the correct port name for a particular type +// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, +// the first hardware serial port whose RX/TX pins are not dedicated to another use. +// +// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor +// +// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial +// +// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library +// +// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. +// +// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX +// pins are NOT connected to anything by default. +#define SERIAL_PORT_USBVIRTUAL SerialUSB +#define SERIAL_PORT_MONITOR Serial +// Serial has no physical pins broken out, so it's not listed as HARDWARE port +#define SERIAL_PORT_HARDWARE Serial1 +#define SERIAL_PORT_HARDWARE_OPEN Serial1 + +#endif /* _VARIANT_SPECTACLE_DIRECTOR_ */ + From bc8322f6695cf326cbee980fc148cb5331165248 Mon Sep 17 00:00:00 2001 From: Jim Lindblom Date: Tue, 10 Jan 2017 11:38:55 -0700 Subject: [PATCH 3/5] Adding samd 1.3.3 core to package manager. --- IDE_Board_Manager/package_sparkfun_index.json | 20 ++++++++++++++++++ IDE_Board_Manager/sparkfun-samd-1.3.3.tar.bz2 | Bin 0 -> 207895 bytes 2 files changed, 20 insertions(+) create mode 100644 IDE_Board_Manager/sparkfun-samd-1.3.3.tar.bz2 diff --git a/IDE_Board_Manager/package_sparkfun_index.json b/IDE_Board_Manager/package_sparkfun_index.json index 2634fe36..fedefb39 100644 --- a/IDE_Board_Manager/package_sparkfun_index.json +++ b/IDE_Board_Manager/package_sparkfun_index.json @@ -174,6 +174,26 @@ { "name":"SparkFun 9DoF Razor IMU M0" } ], "toolsDependencies":[] + }, + { + "name":"SparkFun SAMD Boards (dependency: Arduino SAMD Boards 1.6.11)", + "architecture":"samd", + "version":"1.3.3", + "category":"Contributed", + "url":"https://github.com/sparkfun/Arduino_Boards/raw/spectacle/IDE_Board_Manager/sparkfun-samd-1.3.3.tar.bz2", + "archiveFileName":"sparkfun-samd-1.3.3.tar.bz2", + "checksum":"SHA-256:013502547abedd00976d44c7a3b6a4075284c3fb0a360c29c6ffced1ef4f1273", + "size":"207895", + "help":{ + "online":"https://forums.sparkfun.com" + }, + "boards":[ + { "name":"SparkFun SAMD21 Mini Breakout" }, + { "name":"SparkFun SAMD21 Dev Breakout" }, + { "name":"SparkFun 9DoF Razor IMU M0" }, + { "name":"SparkFun Spectacle Director" } + ], + "toolsDependencies":[] } ], "tools":[] diff --git a/IDE_Board_Manager/sparkfun-samd-1.3.3.tar.bz2 b/IDE_Board_Manager/sparkfun-samd-1.3.3.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..324311131050adc5c472b30936b18cdd0877fc97 GIT binary patch literal 207895 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 Date: Tue, 10 Jan 2017 16:10:49 -0700 Subject: [PATCH 4/5] Fixing DFLL coarse and fine setting bug --- IDE_Board_Manager/package_sparkfun_index.json | 4 ++-- IDE_Board_Manager/sparkfun-samd-1.3.3.tar.bz2 | Bin 207895 -> 207911 bytes sparkfun/samd/cores/arduino/startup.c | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/IDE_Board_Manager/package_sparkfun_index.json b/IDE_Board_Manager/package_sparkfun_index.json index fedefb39..5b0d7105 100644 --- a/IDE_Board_Manager/package_sparkfun_index.json +++ b/IDE_Board_Manager/package_sparkfun_index.json @@ -182,8 +182,8 @@ "category":"Contributed", "url":"https://github.com/sparkfun/Arduino_Boards/raw/spectacle/IDE_Board_Manager/sparkfun-samd-1.3.3.tar.bz2", "archiveFileName":"sparkfun-samd-1.3.3.tar.bz2", - "checksum":"SHA-256:013502547abedd00976d44c7a3b6a4075284c3fb0a360c29c6ffced1ef4f1273", - "size":"207895", + "checksum":"SHA-256:344c33368532736dfd5b40fb41fc67fa7e26bc8a66e289f4859b52b9d0f6825d", + "size":"207911", "help":{ "online":"https://forums.sparkfun.com" }, diff --git a/IDE_Board_Manager/sparkfun-samd-1.3.3.tar.bz2 b/IDE_Board_Manager/sparkfun-samd-1.3.3.tar.bz2 index 324311131050adc5c472b30936b18cdd0877fc97..b91faf5b57edcb514501f959c48204d75f61687a 100644 GIT binary patch delta 205309 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
N>zl{Bd>xJ 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�-a)K=AHq7@COkw$Q~%+ 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 diff --git a/sparkfun/samd/cores/arduino/startup.c b/sparkfun/samd/cores/arduino/startup.c index 0161d401..73b7526f 100644 --- a/sparkfun/samd/cores/arduino/startup.c +++ b/sparkfun/samd/cores/arduino/startup.c @@ -172,8 +172,7 @@ void SystemInit( void ) fine = 0x1ff; } - SYSCTRL->DFLLVAL.bit.COARSE = coarse; - SYSCTRL->DFLLVAL.bit.FINE = fine; + SYSCTRL->DFLLVAL.reg = SYSCTRL_DFLLVAL_COARSE(coarse) | SYSCTRL_DFLLVAL_FINE(fine); /* Write full configuration to DFLL control register */ SYSCTRL->DFLLCTRL.reg = SYSCTRL_DFLLCTRL_USBCRM | /* USB correction */ SYSCTRL_DFLLCTRL_CCDIS | From 594424a4639cd3625a67c2ef960407b617e8824a Mon Sep 17 00:00:00 2001 From: Jim Lindblom Date: Wed, 11 Jan 2017 14:34:07 -0700 Subject: [PATCH 5/5] Adding Spectacle Director bootloader --- sparkfun/samd/bootloaders/spectacle/Makefile | 170 ++++++ sparkfun/samd/bootloaders/spectacle/README.md | 95 +++ .../bootloaders/spectacle/board_definitions.h | 40 ++ .../board_definitions_arduino_mkr1000.h | 82 +++ .../board_definitions_arduino_mkrzero.h | 81 +++ .../board_definitions_arduino_zero.h | 81 +++ .../board_definitions_genuino_mkr1000.h | 83 +++ .../board_definitions_genuino_zero.h | 81 +++ .../board_definitions_sparkfun_spectacle.h | 82 +++ .../bootloaders/spectacle/board_driver_led.c | 42 ++ .../bootloaders/spectacle/board_driver_led.h | 63 ++ .../spectacle/board_driver_serial.c | 104 ++++ .../spectacle/board_driver_serial.h | 89 +++ .../bootloaders/spectacle/board_driver_usb.c | 361 ++++++++++++ .../bootloaders/spectacle/board_driver_usb.h | 45 ++ .../samd/bootloaders/spectacle/board_init.c | 266 +++++++++ .../bootloaders/spectacle/board_startup.c | 141 +++++ .../spectacle/bootloader_samd21x18.ld | 221 +++++++ .../spectacle/build_all_bootloaders.sh | 17 + sparkfun/samd/bootloaders/spectacle/main.c | 233 ++++++++ .../samd/bootloaders/spectacle/sam_ba_cdc.c | 98 ++++ .../samd/bootloaders/spectacle/sam_ba_cdc.h | 91 +++ .../bootloaders/spectacle/sam_ba_monitor.c | 553 ++++++++++++++++++ .../bootloaders/spectacle/sam_ba_monitor.h | 72 +++ .../bootloaders/spectacle/sam_ba_serial.c | 534 +++++++++++++++++ .../bootloaders/spectacle/sam_ba_serial.h | 143 +++++ .../samd/bootloaders/spectacle/sam_ba_usb.c | 436 ++++++++++++++ .../samd/bootloaders/spectacle/sam_ba_usb.h | 103 ++++ .../spectacle/sparkfun_spectacle.atsln | 22 + .../spectacle/sparkfun_spectacle.bin | Bin 0 -> 5404 bytes .../sparkfun_spectacle.componentinfo.xml | 4 + .../spectacle/sparkfun_spectacle.cproj | 229 ++++++++ .../spectacle/sparkfun_spectacle.hex | 340 +++++++++++ 33 files changed, 5002 insertions(+) create mode 100644 sparkfun/samd/bootloaders/spectacle/Makefile create mode 100644 sparkfun/samd/bootloaders/spectacle/README.md create mode 100644 sparkfun/samd/bootloaders/spectacle/board_definitions.h create mode 100644 sparkfun/samd/bootloaders/spectacle/board_definitions_arduino_mkr1000.h create mode 100644 sparkfun/samd/bootloaders/spectacle/board_definitions_arduino_mkrzero.h create mode 100644 sparkfun/samd/bootloaders/spectacle/board_definitions_arduino_zero.h create mode 100644 sparkfun/samd/bootloaders/spectacle/board_definitions_genuino_mkr1000.h create mode 100644 sparkfun/samd/bootloaders/spectacle/board_definitions_genuino_zero.h create mode 100644 sparkfun/samd/bootloaders/spectacle/board_definitions_sparkfun_spectacle.h create mode 100644 sparkfun/samd/bootloaders/spectacle/board_driver_led.c create mode 100644 sparkfun/samd/bootloaders/spectacle/board_driver_led.h create mode 100644 sparkfun/samd/bootloaders/spectacle/board_driver_serial.c create mode 100644 sparkfun/samd/bootloaders/spectacle/board_driver_serial.h create mode 100644 sparkfun/samd/bootloaders/spectacle/board_driver_usb.c create mode 100644 sparkfun/samd/bootloaders/spectacle/board_driver_usb.h create mode 100644 sparkfun/samd/bootloaders/spectacle/board_init.c create mode 100644 sparkfun/samd/bootloaders/spectacle/board_startup.c create mode 100644 sparkfun/samd/bootloaders/spectacle/bootloader_samd21x18.ld create mode 100644 sparkfun/samd/bootloaders/spectacle/build_all_bootloaders.sh create mode 100644 sparkfun/samd/bootloaders/spectacle/main.c create mode 100644 sparkfun/samd/bootloaders/spectacle/sam_ba_cdc.c create mode 100644 sparkfun/samd/bootloaders/spectacle/sam_ba_cdc.h create mode 100644 sparkfun/samd/bootloaders/spectacle/sam_ba_monitor.c create mode 100644 sparkfun/samd/bootloaders/spectacle/sam_ba_monitor.h create mode 100644 sparkfun/samd/bootloaders/spectacle/sam_ba_serial.c create mode 100644 sparkfun/samd/bootloaders/spectacle/sam_ba_serial.h create mode 100644 sparkfun/samd/bootloaders/spectacle/sam_ba_usb.c create mode 100644 sparkfun/samd/bootloaders/spectacle/sam_ba_usb.h create mode 100644 sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.atsln create mode 100644 sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.bin create mode 100644 sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.componentinfo.xml create mode 100644 sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.cproj create mode 100644 sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.hex diff --git a/sparkfun/samd/bootloaders/spectacle/Makefile b/sparkfun/samd/bootloaders/spectacle/Makefile new file mode 100644 index 00000000..59797703 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/Makefile @@ -0,0 +1,170 @@ +# Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. +# Copyright (c) 2015 Arduino LLC. All right reserved. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +# ----------------------------------------------------------------------------- +# Paths +ifeq ($(OS),Windows_NT) + # Are we using mingw/msys/msys2/cygwin? + ifeq ($(TERM),xterm) + T=$(shell cygpath -u $(LOCALAPPDATA)) + MODULE_PATH?=$(T)/Arduino15/packages/arduino + RM=rm + SEP=/ + else + MODULE_PATH?=$(LOCALAPPDATA)/Arduino15/packages/arduino + RM=rm + SEP=\\ + endif +else + UNAME_S := $(shell uname -s) + + ifeq ($(UNAME_S),Linux) + MODULE_PATH?=$(HOME)/.arduino15/packages/arduino + RM=rm + SEP=/ + endif + + ifeq ($(UNAME_S),Darwin) + MODULE_PATH?=$(HOME)/Library/Arduino15/packages/arduino/ + RM=rm + SEP=/ + endif +endif + +ARM_GCC_PATH?=$(MODULE_PATH)/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi- +BUILD_PATH=build + +# ----------------------------------------------------------------------------- +# Tools +CC=$(ARM_GCC_PATH)gcc +OBJCOPY=$(ARM_GCC_PATH)objcopy +NM=$(ARM_GCC_PATH)nm +SIZE=$(ARM_GCC_PATH)size + +# ----------------------------------------------------------------------------- +# Boards definitions +NAME?=sparkfun_spectacle +BOARD_ID?=sparkfun_spectacle + +# ----------------------------------------------------------------------------- +# Compiler options +CFLAGS_EXTRA=-D__SAMD21G18A__ -DBOARD_ID_$(BOARD_ID) +CFLAGS=-mthumb -mcpu=cortex-m0plus -Wall -c -std=gnu99 -ffunction-sections -fdata-sections -nostdlib -nostartfiles --param max-inline-insns-single=500 +ifdef DEBUG + CFLAGS+=-g3 -O1 -DDEBUG=1 +else + CFLAGS+=-Os -DDEBUG=0 +endif + +ELF=$(NAME).elf +BIN=$(NAME).bin +HEX=$(NAME).hex + + +INCLUDES=-I"$(MODULE_PATH)/tools/CMSIS/4.5.0/CMSIS/Include/" -I"$(MODULE_PATH)/tools/CMSIS-Atmel/1.0.0/CMSIS/Device/ATMEL/" + +# ----------------------------------------------------------------------------- +# Linker options +LDFLAGS=-mthumb -mcpu=cortex-m0plus -Wall -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--unresolved-symbols=report-all +LDFLAGS+=-Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols --specs=nano.specs --specs=nosys.specs + +# ----------------------------------------------------------------------------- +# Source files and objects +SOURCES= \ + board_driver_led.c \ + board_driver_serial.c \ + board_driver_usb.c \ + board_init.c \ + board_startup.c \ + main.c \ + sam_ba_usb.c \ + sam_ba_cdc.c \ + sam_ba_monitor.c \ + sam_ba_serial.c + +OBJECTS=$(addprefix $(BUILD_PATH)/, $(SOURCES:.c=.o)) +DEPS=$(addprefix $(BUILD_PATH)/, $(SOURCES:.c=.d)) + +ifneq "test$(AVRSTUDIO_EXE_PATH)" "test" + AS_BUILD=copy_for_atmel_studio + AS_CLEAN=clean_for_atmel_studio +else + AS_BUILD= + AS_CLEAN= +endif + + +all: print_info $(SOURCES) $(BIN) $(HEX) $(AS_BUILD) + +$(ELF): Makefile $(BUILD_PATH) $(OBJECTS) + @echo ---------------------------------------------------------- + @echo Creating ELF binary + "$(CC)" -L. -L$(BUILD_PATH) $(LDFLAGS) -Os -Wl,--gc-sections -save-temps -Tbootloader_samd21x18.ld -Wl,-Map,"$(BUILD_PATH)/$(NAME).map" -o "$(BUILD_PATH)/$(ELF)" -Wl,--start-group $(OBJECTS) -lm -Wl,--end-group + "$(NM)" "$(BUILD_PATH)/$(ELF)" >"$(BUILD_PATH)/$(NAME)_symbols.txt" + "$(SIZE)" --format=sysv -t -x $(BUILD_PATH)/$(ELF) + +$(BIN): $(ELF) + @echo ---------------------------------------------------------- + @echo Creating flash binary + "$(OBJCOPY)" -O binary $(BUILD_PATH)/$< $@ + +$(HEX): $(ELF) + @echo ---------------------------------------------------------- + @echo Creating flash binary + "$(OBJCOPY)" -O ihex $(BUILD_PATH)/$< $@ + +$(BUILD_PATH)/%.o: %.c + @echo ---------------------------------------------------------- + @echo Compiling $< to $@ + "$(CC)" $(CFLAGS) $(CFLAGS_EXTRA) $(INCLUDES) $< -o $@ + @echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +$(BUILD_PATH): + @echo ---------------------------------------------------------- + @echo Creating build folder + -mkdir $(BUILD_PATH) + +print_info: + @echo ---------------------------------------------------------- + @echo Compiling bootloader using + @echo BASE PATH = $(MODULE_PATH) + @echo GCC PATH = $(ARM_GCC_PATH) +# @echo OS = $(OS) +# @echo SHELL = $(SHELL) +# @echo TERM = $(TERM) +# "$(CC)" -v +# env + +copy_for_atmel_studio: $(BIN) $(HEX) + @echo ---------------------------------------------------------- + @echo Atmel Studio detected, copying ELF to project root for debug + cp $(BUILD_PATH)/$(ELF) . + +clean_for_atmel_studio: + @echo ---------------------------------------------------------- + @echo Atmel Studio detected, cleaning ELF from project root + -$(RM) ./$(ELF) + +clean: $(AS_CLEAN) + @echo ---------------------------------------------------------- + @echo Cleaning project + -$(RM) $(BIN) + -$(RM) $(HEX) + -$(RM) $(BUILD_PATH)/*.* + -rmdir $(BUILD_PATH) + +.phony: print_info $(BUILD_PATH) diff --git a/sparkfun/samd/bootloaders/spectacle/README.md b/sparkfun/samd/bootloaders/spectacle/README.md new file mode 100644 index 00000000..b0d939db --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/README.md @@ -0,0 +1,95 @@ +# Arduino Zero Bootloader + +## 1- Prerequisites + +The project build is based on Makefile system. +Makefile is present at project root and try to handle multi-platform cases. + +Multi-plaform GCC is provided by ARM here: https://launchpad.net/gcc-arm-embedded/+download + +Atmel Studio contains both make and ARM GCC toolchain. You don't need to install them in this specific use case. + +For all builds and platforms you will need to have the Arduino IDE installed and the board support +package for "Arduino SAMD Boards (32-bits ARM Cortex-M0+)". You can install the latter +from the former's "Boards Manager" UI. + +### Windows + +* Native command line +Make binary can be obtained here: http://gnuwin32.sourceforge.net/packages/make.htm + +* Cygwin/MSys/MSys2/Babun/etc... +It is available natively in all distributions. + +* Atmel Studio +An Atmel Studio **7** Makefile-based project is present at project root, just open samd21_sam_ba.atsln file in AS7. + +### Linux + +Make is usually available by default. + +### OS X + +Make is available through XCode package. + + +## 2- Selecting available SAM-BA interfaces + +By default both USB and UART are made available, but this parameter can be modified in sam_ba_monitor.h, line 31: + +Set the define SAM_BA_INTERFACE to +* SAM_BA_UART_ONLY for only UART interface +* SAM_BA_USBCDC_ONLY for only USB CDC interface +* SAM_BA_BOTH_INTERFACES for enabling both the interfaces + +## 3- Behaviour + +This bootloader implements the double-tap on Reset button. +By quickly pressing this button two times, the board will reset and stay in bootloader, waiting for communication on either USB or USART. + +The USB port in use is the USB Native port, close to the Reset button. +The USART in use is the one available on pins D0/D1, labelled respectively RX/TX. Communication parameters are a baudrate at 115200, 8bits of data, no parity and 1 stop bit (8N1). + +## 4- Description + +**Pinmap** + +The following pins are used by the program : +PA25 : input/output (USB DP) +PA24 : input/output (USB DM) +PA11 : input (USART RX) +PA10 : output (USART TX) + +The application board shall avoid driving the PA25, PA24, PB23 and PB22 signals while the boot program is running (after a POR for example). + +**Clock system** + +CPU runs at 48MHz from Generic Clock Generator 0 on DFLL48M. + +Generic Clock Generator 1 is using external 32kHz oscillator and is the source of DFLL48M. + +USB and USART are using Generic Clock Generator 0 also. + +**Memory Mapping** + +Bootloader code will be located at 0x0 and executed before any applicative code. + +Applications compiled to be executed along with the bootloader will start at 0x2000 (see linker script bootloader_samd21x18.ld). + +Before jumping to the application, the bootloader changes the VTOR register to use the interrupt vectors of the application @0x2000.<- not required as application code is taking care of this. + +## 5- How to build + +If not specified the makefile builds for **Arduino Zero**: + +``` +make +``` + +if you want to make a custom bootloader for a derivative board you must supply all the necessary information in a `board_definitions_xxx.h` file, and add the corresponding case in `board_definitions.h`. +For example for the **Arduino MKR1000** we use `board_definitions_arduino_mkr1000.h` and it is build with the following command: + +``` +BOARD_ID=arduino_mkr1000 NAME=samd21_sam_ba_arduino_mkr1000 make clean all +``` + diff --git a/sparkfun/samd/bootloaders/spectacle/board_definitions.h b/sparkfun/samd/bootloaders/spectacle/board_definitions.h new file mode 100644 index 00000000..72db49a1 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/board_definitions.h @@ -0,0 +1,40 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#if defined(BOARD_ID_arduino_zero) + #include "board_definitions_arduino_zero.h" +#elif defined(BOARD_ID_genuino_zero) + #include "board_definitions_genuino_zero.h" +#elif defined(BOARD_ID_arduino_mkr1000) + #include "board_definitions_arduino_mkr1000.h" +#elif defined(BOARD_ID_genuino_mkr1000) + #include "board_definitions_genuino_mkr1000.h" +#elif defined(BOARD_ID_arduino_mkrzero) + #include "board_definitions_arduino_mkrzero.h" +#elif defined(BOARD_ID_sparkfun_spectacle) + #include "board_definitions_sparkfun_spectacle.h" +#else + #error You must define a BOARD_ID and add the corresponding definitions in board_definitions.h +#endif + +// Common definitions +// ------------------ + +#define BOOT_PIN_MASK (1U << (BOOT_LOAD_PIN & 0x1f)) + diff --git a/sparkfun/samd/bootloaders/spectacle/board_definitions_arduino_mkr1000.h b/sparkfun/samd/bootloaders/spectacle/board_definitions_arduino_mkr1000.h new file mode 100644 index 00000000..4e71e4d5 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/board_definitions_arduino_mkr1000.h @@ -0,0 +1,82 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef _BOARD_DEFINITIONS_H_ +#define _BOARD_DEFINITIONS_H_ + +/* + * USB device definitions + */ +#define STRING_PRODUCT "Arduino MKR1000" +#define USB_VID_HIGH 0x23 +#define USB_VID_LOW 0x41 +#define USB_PID_HIGH 0x00 +#define USB_PID_LOW 0x4E + +/* + * 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 (0x20007FFCul) +#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_USART_MODULE SERCOM0 +#define BOOT_USART_BUS_CLOCK_INDEX PM_APBCMASK_SERCOM0 +#define BOOT_USART_PER_CLOCK_INDEX GCLK_CLKCTRL_ID_SERCOM0_CORE_Val +#define BOOT_USART_PAD_SETTINGS UART_RX_PAD3_TX_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 + +/* Master clock frequency */ +#define CPU_FREQUENCY (48000000ul) +#define VARIANT_MCK CPU_FREQUENCY + +/* Frequency of the board main oscillator */ +#define VARIANT_MAINOSC (32768ul) + +/* Calibration values for DFLL48 pll */ +#define NVM_SW_CALIB_DFLL48M_COARSE_VAL (58) +#define NVM_SW_CALIB_DFLL48M_FINE_VAL (64) + +/* + * LEDs definitions + */ +// PA20 (digital pin 6) +#define BOARD_LED_PORT (0) +#define BOARD_LED_PIN (20) + +// No RX/TX led +//#define BOARD_LEDRX_PORT +//#define BOARD_LEDRX_PIN + +//#define BOARD_LEDTX_PORT +//#define BOARD_LEDTX_PIN + +#endif // _BOARD_DEFINITIONS_H_ diff --git a/sparkfun/samd/bootloaders/spectacle/board_definitions_arduino_mkrzero.h b/sparkfun/samd/bootloaders/spectacle/board_definitions_arduino_mkrzero.h new file mode 100644 index 00000000..0adfeb67 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/board_definitions_arduino_mkrzero.h @@ -0,0 +1,81 @@ +/* + Copyright (c) 2016 Arduino LLC. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef _BOARD_DEFINITIONS_H_ +#define _BOARD_DEFINITIONS_H_ + +/* + * USB device definitions + */ +#define STRING_PRODUCT "Arduino MKRZero" +#define USB_VID_HIGH 0x23 +#define USB_VID_LOW 0x41 +#define USB_PID_HIGH 0x00 +#define USB_PID_LOW 0x4F + +/* + * 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 (0x20007FFCul) +#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 +//#define BOOT_LOAD_PIN PIN_PA15 + +#define BOOT_USART_MODULE SERCOM5 +#define BOOT_USART_BUS_CLOCK_INDEX PM_APBCMASK_SERCOM5 +#define BOOT_USART_PER_CLOCK_INDEX GCLK_CLKCTRL_ID_SERCOM5_CORE_Val +#define BOOT_USART_PAD_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_PAD1 PINMUX_UNUSED +#define BOOT_USART_PAD0 PINMUX_UNUSED + +/* Master clock frequency */ +#define CPU_FREQUENCY (48000000ul) +#define VARIANT_MCK CPU_FREQUENCY + +/* Frequency of the board main oscillator */ +#define VARIANT_MAINOSC (32768ul) + +/* Calibration values for DFLL48 pll */ +#define NVM_SW_CALIB_DFLL48M_COARSE_VAL (58) +#define NVM_SW_CALIB_DFLL48M_FINE_VAL (64) + +/* + * LEDs definitions + */ +// PB08 (digital pin 32) +#define BOARD_LED_PORT (1) +#define BOARD_LED_PIN (8) + +// No RX/TX led +//#define BOARD_LEDRX_PORT +//#define BOARD_LEDRX_PIN + +//#define BOARD_LEDTX_PORT +//#define BOARD_LEDTX_PIN + +#endif // _BOARD_DEFINITIONS_H_ diff --git a/sparkfun/samd/bootloaders/spectacle/board_definitions_arduino_zero.h b/sparkfun/samd/bootloaders/spectacle/board_definitions_arduino_zero.h new file mode 100644 index 00000000..eac27b73 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/board_definitions_arduino_zero.h @@ -0,0 +1,81 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef _BOARD_DEFINITIONS_H_ +#define _BOARD_DEFINITIONS_H_ + +/* + * USB device definitions + */ +#define STRING_PRODUCT "Arduino Zero" +#define USB_VID_HIGH 0x23 +#define USB_VID_LOW 0x41 +#define USB_PID_HIGH 0x00 +#define USB_PID_LOW 0x4D + +/* + * 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 (0x20007FFCul) +#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_USART_MODULE SERCOM0 +#define BOOT_USART_BUS_CLOCK_INDEX PM_APBCMASK_SERCOM0 +#define BOOT_USART_PER_CLOCK_INDEX GCLK_CLKCTRL_ID_SERCOM0_CORE_Val +#define BOOT_USART_PAD_SETTINGS UART_RX_PAD3_TX_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 + + +/* Master clock frequency */ +#define CPU_FREQUENCY (48000000ul) +#define VARIANT_MCK CPU_FREQUENCY + +/* Frequency of the board main oscillator */ +#define VARIANT_MAINOSC (32768ul) + +/* Calibration values for DFLL48 pll */ +#define NVM_SW_CALIB_DFLL48M_COARSE_VAL (58) +#define NVM_SW_CALIB_DFLL48M_FINE_VAL (64) + +/* + * LEDs definitions + */ +#define BOARD_LED_PORT (0) +#define BOARD_LED_PIN (17) + +#define BOARD_LEDRX_PORT (1) +#define BOARD_LEDRX_PIN (3) + +#define BOARD_LEDTX_PORT (0) +#define BOARD_LEDTX_PIN (27) + +#endif // _BOARD_DEFINITIONS_H_ diff --git a/sparkfun/samd/bootloaders/spectacle/board_definitions_genuino_mkr1000.h b/sparkfun/samd/bootloaders/spectacle/board_definitions_genuino_mkr1000.h new file mode 100644 index 00000000..d97163d4 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/board_definitions_genuino_mkr1000.h @@ -0,0 +1,83 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef _BOARD_DEFINITIONS_H_ +#define _BOARD_DEFINITIONS_H_ + +/* + * USB device definitions + */ +#define STRING_PRODUCT "Genuino MKR1000" +#define USB_VID_HIGH 0x23 +#define USB_VID_LOW 0x41 +#define USB_PID_HIGH 0x02 +#define USB_PID_LOW 0x4E + +/* + * 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 (0x20007FFCul) +#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_USART_MODULE SERCOM0 +#define BOOT_USART_BUS_CLOCK_INDEX PM_APBCMASK_SERCOM0 +#define BOOT_USART_PER_CLOCK_INDEX GCLK_CLKCTRL_ID_SERCOM0_CORE_Val +#define BOOT_USART_PAD_SETTINGS UART_RX_PAD3_TX_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 + + +/* Master clock frequency */ +#define CPU_FREQUENCY (48000000ul) +#define VARIANT_MCK CPU_FREQUENCY + +/* Frequency of the board main oscillator */ +#define VARIANT_MAINOSC (32768ul) + +/* Calibration values for DFLL48 pll */ +#define NVM_SW_CALIB_DFLL48M_COARSE_VAL (58) +#define NVM_SW_CALIB_DFLL48M_FINE_VAL (64) + +/* + * LEDs definitions + */ +// PA20 (digital pin 6) +#define BOARD_LED_PORT (0) +#define BOARD_LED_PIN (20) + +// No RX/TX led +//#define BOARD_LEDRX_PORT +//#define BOARD_LEDRX_PIN + +//#define BOARD_LEDTX_PORT +//#define BOARD_LEDTX_PIN + +#endif // _BOARD_DEFINITIONS_H_ diff --git a/sparkfun/samd/bootloaders/spectacle/board_definitions_genuino_zero.h b/sparkfun/samd/bootloaders/spectacle/board_definitions_genuino_zero.h new file mode 100644 index 00000000..a4e27d83 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/board_definitions_genuino_zero.h @@ -0,0 +1,81 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef _BOARD_DEFINITIONS_H_ +#define _BOARD_DEFINITIONS_H_ + +/* + * USB device definitions + */ +#define STRING_PRODUCT "Genuino Zero" +#define USB_VID_HIGH 0x23 +#define USB_VID_LOW 0x41 +#define USB_PID_HIGH 0x02 +#define USB_PID_LOW 0x4D + +/* + * 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 (0x20007FFCul) +#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_USART_MODULE SERCOM0 +#define BOOT_USART_BUS_CLOCK_INDEX PM_APBCMASK_SERCOM0 +#define BOOT_USART_PER_CLOCK_INDEX GCLK_CLKCTRL_ID_SERCOM0_CORE_Val +#define BOOT_USART_PAD_SETTINGS UART_RX_PAD3_TX_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 + + +/* Master clock frequency */ +#define CPU_FREQUENCY (48000000ul) +#define VARIANT_MCK CPU_FREQUENCY + +/* Frequency of the board main oscillator */ +#define VARIANT_MAINOSC (32768ul) + +/* Calibration values for DFLL48 pll */ +#define NVM_SW_CALIB_DFLL48M_COARSE_VAL (58) +#define NVM_SW_CALIB_DFLL48M_FINE_VAL (64) + +/* + * LEDs definitions + */ +#define BOARD_LED_PORT (0) +#define BOARD_LED_PIN (17) + +#define BOARD_LEDRX_PORT (1) +#define BOARD_LEDRX_PIN (3) + +#define BOARD_LEDTX_PORT (0) +#define BOARD_LEDTX_PIN (27) + +#endif // _BOARD_DEFINITIONS_H_ diff --git a/sparkfun/samd/bootloaders/spectacle/board_definitions_sparkfun_spectacle.h b/sparkfun/samd/bootloaders/spectacle/board_definitions_sparkfun_spectacle.h new file mode 100644 index 00000000..aa62309a --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/board_definitions_sparkfun_spectacle.h @@ -0,0 +1,82 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef _BOARD_DEFINITIONS_H_ +#define _BOARD_DEFINITIONS_H_ + +#define CRYSTALLESS // The Spectacle does not have an external 32kHz oscillator +/* + * USB device definitions + */ +#define STRING_PRODUCT "SparkFun Spectacle Director" +#define USB_VID_HIGH 0x1B +#define USB_VID_LOW 0x4F +#define USB_PID_HIGH 0x88 +#define USB_PID_LOW 0x88 + +/* + * 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 (0x20007FFCul) +#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_USART_MODULE SERCOM0 +#define BOOT_USART_BUS_CLOCK_INDEX PM_APBCMASK_SERCOM0 +#define BOOT_USART_PER_CLOCK_INDEX GCLK_CLKCTRL_ID_SERCOM0_CORE_Val +#define BOOT_USART_PAD_SETTINGS UART_RX_PAD3_TX_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 + + +/* Master clock frequency */ +#define CPU_FREQUENCY (48000000ul) +#define VARIANT_MCK CPU_FREQUENCY + +/* Frequency of the board main oscillator */ +#define VARIANT_MAINOSC (32768ul) + +/* Calibration values for DFLL48 pll */ +#define NVM_SW_CALIB_DFLL48M_COARSE_VAL (58) +#define NVM_SW_CALIB_DFLL48M_FINE_VAL (64) + +/* + * LEDs definitions + */ +#define BOARD_LED_PORT (0) +#define BOARD_LED_PIN (17) + +#define BOARD_LEDRX_PORT (1) +#define BOARD_LEDRX_PIN (3) + +#define BOARD_LEDTX_PORT (0) +#define BOARD_LEDTX_PIN (27) + +#endif // _BOARD_DEFINITIONS_H_ diff --git a/sparkfun/samd/bootloaders/spectacle/board_driver_led.c b/sparkfun/samd/bootloaders/spectacle/board_driver_led.c new file mode 100644 index 00000000..ffa6c478 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/board_driver_led.c @@ -0,0 +1,42 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include "board_driver_led.h" + +volatile uint8_t ledKeepValue = 0; +volatile uint8_t ledTargetValue = 20; +volatile int8_t ledDirection = 1; + +inline void LED_pulse() +{ + if (ledKeepValue == 0) { + ledTargetValue += ledDirection; + LED_toggle(); + } + ledKeepValue ++; + + if (ledTargetValue > 240 || ledTargetValue < 10) { + ledDirection = -ledDirection; + ledTargetValue += ledDirection; + } + + if (ledKeepValue == ledTargetValue) { + LED_toggle(); + } +} diff --git a/sparkfun/samd/bootloaders/spectacle/board_driver_led.h b/sparkfun/samd/bootloaders/spectacle/board_driver_led.h new file mode 100644 index 00000000..d7d47cad --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/board_driver_led.h @@ -0,0 +1,63 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef _BOARD_DRIVER_LED_ +#define _BOARD_DRIVER_LED_ + +#include +#include "board_definitions.h" + +#if defined(BOARD_LED_PORT) +inline void LED_init(void) { PORT->Group[BOARD_LED_PORT].DIRSET.reg = (1<Group[BOARD_LED_PORT].OUTSET.reg = (1<Group[BOARD_LED_PORT].OUTCLR.reg = (1<Group[BOARD_LED_PORT].OUTTGL.reg = (1<Group[BOARD_LEDRX_PORT].DIRSET.reg = (1<Group[BOARD_LEDRX_PORT].OUTCLR.reg = (1<Group[BOARD_LEDRX_PORT].OUTSET.reg = (1<Group[BOARD_LEDRX_PORT].OUTTGL.reg = (1<Group[BOARD_LEDTX_PORT].DIRSET.reg = (1<Group[BOARD_LEDTX_PORT].OUTCLR.reg = (1<Group[BOARD_LEDTX_PORT].OUTSET.reg = (1<Group[BOARD_LEDTX_PORT].OUTTGL.reg = (1<USART.SYNCBUSY.bit.ENABLE); + /* Disable the SERCOM UART module */ + sercom->USART.CTRLA.bit.ENABLE = 0; + /* Wait for synchronization */ + while(sercom->USART.SYNCBUSY.bit.SWRST); + /* Perform a software reset */ + sercom->USART.CTRLA.bit.SWRST = 1; + /* Wait for synchronization */ + while(sercom->USART.CTRLA.bit.SWRST); + /* Wait for synchronization */ + while(sercom->USART.SYNCBUSY.bit.SWRST || sercom->USART.SYNCBUSY.bit.ENABLE); + /* Update the UART pad settings, mode and data order settings */ + sercom->USART.CTRLA.reg = pad_conf | SERCOM_USART_CTRLA_MODE(1) | SERCOM_USART_CTRLA_DORD; + /* Wait for synchronization */ + while(sercom->USART.SYNCBUSY.bit.CTRLB); + /* Enable transmit and receive and set data size to 8 bits */ + sercom->USART.CTRLB.reg = SERCOM_USART_CTRLB_RXEN | SERCOM_USART_CTRLB_TXEN | SERCOM_USART_CTRLB_CHSIZE(0); + /* Load the baud value */ + sercom->USART.BAUD.reg = baud_val; + /* Wait for synchronization */ + while(sercom->USART.SYNCBUSY.bit.ENABLE); + /* Enable SERCOM UART */ + sercom->USART.CTRLA.bit.ENABLE = 1; +} + +void uart_disable(Sercom *sercom) +{ + /* Wait for synchronization */ + while(sercom->USART.SYNCBUSY.bit.ENABLE); + /* Disable SERCOM UART */ + sercom->USART.CTRLA.bit.ENABLE = 0; +} + +void uart_write_byte(Sercom *sercom, uint8_t data) +{ + /* Wait for Data Register Empty flag */ + while(!sercom->USART.INTFLAG.bit.DRE); + /* Write the data to DATA register */ + sercom->USART.DATA.reg = (uint16_t)data; +} + +uint8_t uart_read_byte(Sercom *sercom) +{ + /* Wait for Receive Complete flag */ + while(!sercom->USART.INTFLAG.bit.RXC); + /* Check for errors */ + if (sercom->USART.STATUS.bit.PERR || sercom->USART.STATUS.bit.FERR || sercom->USART.STATUS.bit.BUFOVF) + /* Set the error flag */ + uart_drv_error_flag = true; + /* Return the read data */ + return((uint8_t)sercom->USART.DATA.reg); +} + +void uart_write_buffer_polled(Sercom *sercom, uint8_t *ptr, uint16_t length) +{ + /* Do the following for specified length */ + do { + /* Wait for Data Register Empty flag */ + while(!sercom->USART.INTFLAG.bit.DRE); + /* Send data from the buffer */ + sercom->USART.DATA.reg = (uint16_t)*ptr++; + } while (length--); +} + +void uart_read_buffer_polled(Sercom *sercom, uint8_t *ptr, uint16_t length) +{ + /* Do the following for specified length */ + do { + /* Wait for Receive Complete flag */ + while(!sercom->USART.INTFLAG.bit.RXC); + /* Check for errors */ + if (sercom->USART.STATUS.bit.PERR || sercom->USART.STATUS.bit.FERR || sercom->USART.STATUS.bit.BUFOVF) + /* Set the error flag */ + uart_drv_error_flag = true; + /* Store the read data to the buffer */ + *ptr++ = (uint8_t)sercom->USART.DATA.reg; + } while (length--); +} diff --git a/sparkfun/samd/bootloaders/spectacle/board_driver_serial.h b/sparkfun/samd/bootloaders/spectacle/board_driver_serial.h new file mode 100644 index 00000000..809f7ec0 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/board_driver_serial.h @@ -0,0 +1,89 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef UART_DRIVER_H +#define UART_DRIVER_H + +#include +#include +#include + +#define PINMUX_UNUSED 0xFFFFFFFF + +/* SERCOM UART available pad settings */ +enum uart_pad_settings { + UART_RX_PAD0_TX_PAD2 = SERCOM_USART_CTRLA_RXPO(0) | SERCOM_USART_CTRLA_TXPO(1), + UART_RX_PAD1_TX_PAD2 = SERCOM_USART_CTRLA_RXPO(1) | SERCOM_USART_CTRLA_TXPO(1), + UART_RX_PAD2_TX_PAD0 = SERCOM_USART_CTRLA_RXPO(2), + UART_RX_PAD3_TX_PAD0 = SERCOM_USART_CTRLA_RXPO(3), + UART_RX_PAD1_TX_PAD0 = SERCOM_USART_CTRLA_RXPO(1), + UART_RX_PAD3_TX_PAD2 = SERCOM_USART_CTRLA_RXPO(3) | SERCOM_USART_CTRLA_TXPO(1), +}; + +/** + * \brief Initializes the UART + * + * \param Pointer to SERCOM instance + * \param Baud value corresponding to the desired baudrate + * \param SERCOM pad settings + */ +void uart_basic_init(Sercom *sercom, uint16_t baud_val, enum uart_pad_settings pad_conf); + +/** + * \brief Disables UART interface + * + * \param Pointer to SERCOM instance + */ +void uart_disable(Sercom *sercom); + +/** + * \brief Sends a single byte through UART interface + * + * \param Pointer to SERCOM instance + * \param Data to send + */ +void uart_write_byte(Sercom *sercom, uint8_t data); + +/** + * \brief Reads a single character from UART interface + * + * \param Pointer to SERCOM instance + * \return Data byte read + */ +uint8_t uart_read_byte(Sercom *sercom); + +/** + * \brief Sends buffer on UART interface + * + * \param Pointer to SERCOM instance + * \param Pointer to data to send + * \param Number of bytes to send + */ +void uart_write_buffer_polled(Sercom *sercom, uint8_t *ptr, uint16_t length); + +/** + * \brief Reads data on UART interface + * + * \param Pointer to SERCOM instance + * \param Pointer to store read data + * \param Number of bytes to read + */ +void uart_read_buffer_polled(Sercom *sercom, uint8_t *ptr, uint16_t length); + +#endif diff --git a/sparkfun/samd/bootloaders/spectacle/board_driver_usb.c b/sparkfun/samd/bootloaders/spectacle/board_driver_usb.c new file mode 100644 index 00000000..f1c83f44 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/board_driver_usb.c @@ -0,0 +1,361 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include +#include "board_driver_usb.h" +#include "sam_ba_usb.h" +#include "sam_ba_cdc.h" + +#define NVM_USB_PAD_TRANSN_POS (45) +#define NVM_USB_PAD_TRANSN_SIZE (5) +#define NVM_USB_PAD_TRANSP_POS (50) +#define NVM_USB_PAD_TRANSP_SIZE (5) +#define NVM_USB_PAD_TRIM_POS (55) +#define NVM_USB_PAD_TRIM_SIZE (3) + +__attribute__((__aligned__(4))) UsbDeviceDescriptor usb_endpoint_table[MAX_EP]; // Initialized to zero in USB_Init +__attribute__((__aligned__(4))) uint8_t udd_ep_out_cache_buffer[2][64]; //1 for CTRL, 1 for BULK +__attribute__((__aligned__(4))) uint8_t udd_ep_in_cache_buffer[2][64]; //1 for CTRL, 1 for BULK + +static volatile bool read_job = false; + +/*---------------------------------------------------------------------------- + * \brief + */ +P_USB_CDC USB_Open(P_USB_CDC pCdc, Usb *pUsb) +{ + pCdc->pUsb = pUsb; + pCdc->currentConfiguration = 0; + pCdc->currentConnection = 0; + pCdc->IsConfigured = USB_IsConfigured; +// pCdc->Write = USB_Write; +// pCdc->Read = USB_Read; + + pCdc->pUsb->HOST.CTRLA.bit.ENABLE = true; + + return pCdc; +} + +/*---------------------------------------------------------------------------- + * \brief Initializes USB + */ +void USB_Init(void) +{ + uint32_t pad_transn, pad_transp, pad_trim; + + /* Enable USB clock */ + PM->APBBMASK.reg |= PM_APBBMASK_USB; + + /* Set up the USB DP/DN pins */ + PORT->Group[0].PINCFG[PIN_PA24G_USB_DM].bit.PMUXEN = 1; + PORT->Group[0].PMUX[PIN_PA24G_USB_DM/2].reg &= ~(0xF << (4 * (PIN_PA24G_USB_DM & 0x01u))); + PORT->Group[0].PMUX[PIN_PA24G_USB_DM/2].reg |= MUX_PA24G_USB_DM << (4 * (PIN_PA24G_USB_DM & 0x01u)); + PORT->Group[0].PINCFG[PIN_PA25G_USB_DP].bit.PMUXEN = 1; + PORT->Group[0].PMUX[PIN_PA25G_USB_DP/2].reg &= ~(0xF << (4 * (PIN_PA25G_USB_DP & 0x01u))); + PORT->Group[0].PMUX[PIN_PA25G_USB_DP/2].reg |= MUX_PA25G_USB_DP << (4 * (PIN_PA25G_USB_DP & 0x01u)); + + /* ---------------------------------------------------------------------------------------------- + * Put Generic Clock Generator 0 as source for Generic Clock Multiplexer 6 (USB reference) + */ + GCLK->CLKCTRL.reg = GCLK_CLKCTRL_ID( 6 ) | // Generic Clock Multiplexer 6 + GCLK_CLKCTRL_GEN_GCLK0 | // Generic Clock Generator 0 is source + GCLK_CLKCTRL_CLKEN ; + + while ( GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY ) + { + /* Wait for synchronization */ + } + + /* Reset */ + USB->DEVICE.CTRLA.bit.SWRST = 1; + while (USB->DEVICE.SYNCBUSY.bit.SWRST) + { + /* Sync wait */ + } + + /* Load Pad Calibration */ + pad_transn =( *((uint32_t *)(NVMCTRL_OTP4) + + (NVM_USB_PAD_TRANSN_POS / 32)) + >> (NVM_USB_PAD_TRANSN_POS % 32)) + & ((1 << NVM_USB_PAD_TRANSN_SIZE) - 1); + + if (pad_transn == 0x1F) + { + pad_transn = 5; + } + + USB->HOST.PADCAL.bit.TRANSN = pad_transn; + + pad_transp =( *((uint32_t *)(NVMCTRL_OTP4) + + (NVM_USB_PAD_TRANSP_POS / 32)) + >> (NVM_USB_PAD_TRANSP_POS % 32)) + & ((1 << NVM_USB_PAD_TRANSP_SIZE) - 1); + + if (pad_transp == 0x1F) + { + pad_transp = 29; + } + + USB->HOST.PADCAL.bit.TRANSP = pad_transp; + pad_trim =( *((uint32_t *)(NVMCTRL_OTP4) + + (NVM_USB_PAD_TRIM_POS / 32)) + >> (NVM_USB_PAD_TRIM_POS % 32)) + & ((1 << NVM_USB_PAD_TRIM_SIZE) - 1); + + if (pad_trim == 0x7) + { + pad_trim = 3; + } + + USB->HOST.PADCAL.bit.TRIM = pad_trim; + + /* Set the configuration */ + /* Set mode to Device mode */ + USB->HOST.CTRLA.bit.MODE = 0; + /* Enable Run in Standby */ + USB->HOST.CTRLA.bit.RUNSTDBY = true; + /* Set the descriptor address */ + USB->HOST.DESCADD.reg = (uint32_t)(&usb_endpoint_table[0]); + /* Set speed configuration to Full speed */ + USB->DEVICE.CTRLB.bit.SPDCONF = USB_DEVICE_CTRLB_SPDCONF_FS_Val; + /* Attach to the USB host */ + USB->DEVICE.CTRLB.reg &= ~USB_DEVICE_CTRLB_DETACH; + + /* Initialize endpoint table RAM location to a known value 0 */ + memset((uint8_t *)(&usb_endpoint_table[0]), 0, sizeof(usb_endpoint_table)); +} + +uint32_t USB_Write(Usb *pUsb, const char *pData, uint32_t length, uint8_t ep_num) +{ + uint32_t data_address; + uint8_t buf_index; + + /* Set buffer index */ + buf_index = (ep_num == 0) ? 0 : 1; + + /* Check for requirement for multi-packet or auto zlp */ + if (length >= (1 << (usb_endpoint_table[ep_num].DeviceDescBank[1].PCKSIZE.bit.SIZE + 3))) + { + /* Update the EP data address */ + data_address = (uint32_t) pData; + /* Enable auto zlp */ + usb_endpoint_table[ep_num].DeviceDescBank[1].PCKSIZE.bit.AUTO_ZLP = true; + } + else + { + /* Copy to local buffer */ + memcpy(udd_ep_in_cache_buffer[buf_index], pData, length); + /* Update the EP data address */ + data_address = (uint32_t) &udd_ep_in_cache_buffer[buf_index]; + } + + /* Set the buffer address for ep data */ + usb_endpoint_table[ep_num].DeviceDescBank[1].ADDR.reg = data_address; + /* Set the byte count as zero */ + usb_endpoint_table[ep_num].DeviceDescBank[1].PCKSIZE.bit.BYTE_COUNT = length; + /* Set the multi packet size as zero for multi-packet transfers where length > ep size */ + usb_endpoint_table[ep_num].DeviceDescBank[1].PCKSIZE.bit.MULTI_PACKET_SIZE = 0; + /* Clear the transfer complete flag */ + pUsb->DEVICE.DeviceEndpoint[ep_num].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT1; + /* Set the bank as ready */ + pUsb->DEVICE.DeviceEndpoint[ep_num].EPSTATUSSET.bit.BK1RDY = true; + + /* Wait for transfer to complete */ + while ( (pUsb->DEVICE.DeviceEndpoint[ep_num].EPINTFLAG.bit.TRCPT1) == 0 ); + + return length; +} + +/*---------------------------------------------------------------------------- + * \brief Read available data from Endpoint OUT + */ +uint32_t USB_Read(Usb *pUsb, char *pData, uint32_t length) +{ + uint32_t packetSize = 0; + + if (!read_job) + { + /* Set the buffer address for ep data */ + usb_endpoint_table[USB_EP_OUT].DeviceDescBank[0].ADDR.reg = (uint32_t)&udd_ep_out_cache_buffer[USB_EP_OUT-1]; + /* Set the byte count as zero */ + usb_endpoint_table[USB_EP_OUT].DeviceDescBank[0].PCKSIZE.bit.BYTE_COUNT = 0; + /* Set the byte count as zero */ + usb_endpoint_table[USB_EP_OUT].DeviceDescBank[0].PCKSIZE.bit.MULTI_PACKET_SIZE = 0; + /* Start the reception by clearing the bank 0 ready bit */ + pUsb->DEVICE.DeviceEndpoint[USB_EP_OUT].EPSTATUSCLR.bit.BK0RDY = true; + /* set the user flag */ + read_job = true; + } + + /* Check for Transfer Complete 0 flag */ + if ( pUsb->DEVICE.DeviceEndpoint[USB_EP_OUT].EPINTFLAG.bit.TRCPT0 ) + { + /* Set packet size */ + packetSize = SAM_BA_MIN(usb_endpoint_table[USB_EP_OUT].DeviceDescBank[0].PCKSIZE.bit.BYTE_COUNT, length); + /* Copy read data to user buffer */ + memcpy(pData, udd_ep_out_cache_buffer[USB_EP_OUT-1], packetSize); + /* Clear the Transfer Complete 0 flag */ + pUsb->DEVICE.DeviceEndpoint[USB_EP_OUT].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT0; + /* Clear the user flag */ + read_job = false; + } + + return packetSize; +} + +uint32_t USB_Read_blocking(Usb *pUsb, char *pData, uint32_t length) +{ + if (read_job) + { + /* Stop the reception by setting the bank 0 ready bit */ + pUsb->DEVICE.DeviceEndpoint[USB_EP_OUT].EPSTATUSSET.bit.BK0RDY = true; + /* Clear the user flag */ + read_job = false; + } + + /* Set the buffer address for ep data */ + usb_endpoint_table[USB_EP_OUT].DeviceDescBank[0].ADDR.reg = ((uint32_t)pData); + /* Set the byte count as zero */ + usb_endpoint_table[USB_EP_OUT].DeviceDescBank[0].PCKSIZE.bit.BYTE_COUNT = 0; + /* Set the multi packet size as zero for multi-packet transfers where length > ep size */ + usb_endpoint_table[USB_EP_OUT].DeviceDescBank[0].PCKSIZE.bit.MULTI_PACKET_SIZE = length; + /* Clear the bank 0 ready flag */ + pUsb->DEVICE.DeviceEndpoint[USB_EP_OUT].EPSTATUSCLR.bit.BK0RDY = true; + /* Wait for transfer to complete */ + while (!( pUsb->DEVICE.DeviceEndpoint[USB_EP_OUT].EPINTFLAG.bit.TRCPT0 )); + /* Clear Transfer complete 0 flag */ + pUsb->DEVICE.DeviceEndpoint[USB_EP_OUT].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT0; + + return length; +} + +/*---------------------------------------------------------------------------- + * \brief Test if the device is configured and handle enumeration + */ +uint8_t USB_IsConfigured(P_USB_CDC pCdc) +{ + Usb *pUsb = pCdc->pUsb; + + /* Check for End of Reset flag */ + if (pUsb->DEVICE.INTFLAG.reg & USB_DEVICE_INTFLAG_EORST) + { + /* Clear the flag */ + pUsb->DEVICE.INTFLAG.reg = USB_DEVICE_INTFLAG_EORST; + /* Set Device address as 0 */ + pUsb->DEVICE.DADD.reg = USB_DEVICE_DADD_ADDEN | 0; + /* Configure endpoint 0 */ + /* Configure Endpoint 0 for Control IN and Control OUT */ + pUsb->DEVICE.DeviceEndpoint[0].EPCFG.reg = USB_DEVICE_EPCFG_EPTYPE0(1) | USB_DEVICE_EPCFG_EPTYPE1(1); + pUsb->DEVICE.DeviceEndpoint[0].EPSTATUSSET.reg = USB_DEVICE_EPSTATUSSET_BK0RDY; + pUsb->DEVICE.DeviceEndpoint[0].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUSCLR_BK1RDY; + /* Configure control OUT Packet size to 64 bytes */ + usb_endpoint_table[0].DeviceDescBank[0].PCKSIZE.bit.SIZE = 3; + /* Configure control IN Packet size to 64 bytes */ + usb_endpoint_table[0].DeviceDescBank[1].PCKSIZE.bit.SIZE = 3; + /* Configure the data buffer address for control OUT */ + usb_endpoint_table[0].DeviceDescBank[0].ADDR.reg = (uint32_t)&udd_ep_out_cache_buffer[0]; + /* Configure the data buffer address for control IN */ + usb_endpoint_table[0].DeviceDescBank[1].ADDR.reg = (uint32_t)&udd_ep_in_cache_buffer[0]; + /* Set Multipacket size to 8 for control OUT and byte count to 0*/ + usb_endpoint_table[0].DeviceDescBank[0].PCKSIZE.bit.MULTI_PACKET_SIZE = 8; + usb_endpoint_table[0].DeviceDescBank[0].PCKSIZE.bit.BYTE_COUNT = 0; + pUsb->DEVICE.DeviceEndpoint[0].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUSCLR_BK0RDY; + + // Reset current configuration value to 0 + pCdc->currentConfiguration = 0; + } + else + { + if (pUsb->DEVICE.DeviceEndpoint[0].EPINTFLAG.reg & USB_DEVICE_EPINTFLAG_RXSTP) + { + sam_ba_usb_CDC_Enumerate(pCdc); + } + } + + return pCdc->currentConfiguration; +} + +/*---------------------------------------------------------------------------- + * \brief Stall the control endpoint + */ +void USB_SendStall(Usb *pUsb, bool direction_in) +{ + /* Check the direction */ + if (direction_in) + { + /* Set STALL request on IN direction */ + pUsb->DEVICE.DeviceEndpoint[0].EPSTATUSSET.bit.STALLRQ1 = 1; + } + else + { + /* Set STALL request on OUT direction */ + pUsb->DEVICE.DeviceEndpoint[0].EPSTATUSSET.bit.STALLRQ0 = 1; + } +} + +/*---------------------------------------------------------------------------- + * \brief Send zero length packet through the control endpoint + */ +void USB_SendZlp(Usb *pUsb) +{ + /* Set the byte count as zero */ + usb_endpoint_table[0].DeviceDescBank[1].PCKSIZE.bit.BYTE_COUNT = 0; + /* Clear the transfer complete flag */ + pUsb->DEVICE.DeviceEndpoint[0].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_TRCPT1; + /* Set the bank as ready */ + pUsb->DEVICE.DeviceEndpoint[0].EPSTATUSSET.bit.BK1RDY = true; + /* Wait for transfer to complete */ + while (!( pUsb->DEVICE.DeviceEndpoint[0].EPINTFLAG.bit.TRCPT1 )); +} + +/*---------------------------------------------------------------------------- + * \brief Set USB device address obtained from host + */ +void USB_SetAddress(Usb *pUsb, uint16_t wValue) +{ + pUsb->DEVICE.DADD.reg = USB_DEVICE_DADD_ADDEN | wValue; +} + +/*---------------------------------------------------------------------------- + * \brief Configure USB device + */ +void USB_Configure(Usb *pUsb) +{ + /* Configure BULK OUT endpoint for CDC Data interface*/ + pUsb->DEVICE.DeviceEndpoint[USB_EP_OUT].EPCFG.reg = USB_DEVICE_EPCFG_EPTYPE0(3); + /* Set maximum packet size as 64 bytes */ + usb_endpoint_table[USB_EP_OUT].DeviceDescBank[0].PCKSIZE.bit.SIZE = 3; + pUsb->DEVICE.DeviceEndpoint[USB_EP_OUT].EPSTATUSSET.reg = USB_DEVICE_EPSTATUSSET_BK0RDY; + /* Configure the data buffer */ + usb_endpoint_table[USB_EP_OUT].DeviceDescBank[0].ADDR.reg = (uint32_t)&udd_ep_out_cache_buffer[1]; + + /* Configure BULK IN endpoint for CDC Data interface */ + pUsb->DEVICE.DeviceEndpoint[USB_EP_IN].EPCFG.reg = USB_DEVICE_EPCFG_EPTYPE1(3); + /* Set maximum packet size as 64 bytes */ + usb_endpoint_table[USB_EP_IN].DeviceDescBank[1].PCKSIZE.bit.SIZE = 3; + pUsb->DEVICE.DeviceEndpoint[USB_EP_IN].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUSCLR_BK1RDY; + /* Configure the data buffer */ + usb_endpoint_table[USB_EP_IN].DeviceDescBank[1].ADDR.reg = (uint32_t)&udd_ep_in_cache_buffer[1]; + + /* Configure INTERRUPT IN endpoint for CDC COMM interface*/ + pUsb->DEVICE.DeviceEndpoint[USB_EP_COMM].EPCFG.reg = USB_DEVICE_EPCFG_EPTYPE1(4); + /* Set maximum packet size as 64 bytes */ + usb_endpoint_table[USB_EP_COMM].DeviceDescBank[1].PCKSIZE.bit.SIZE = 0; + pUsb->DEVICE.DeviceEndpoint[USB_EP_COMM].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUSCLR_BK1RDY; +} diff --git a/sparkfun/samd/bootloaders/spectacle/board_driver_usb.h b/sparkfun/samd/bootloaders/spectacle/board_driver_usb.h new file mode 100644 index 00000000..4e71b8c1 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/board_driver_usb.h @@ -0,0 +1,45 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef _BOARD_DRIVER_USB_H_ +#define _BOARD_DRIVER_USB_H_ + +#include "sam_ba_cdc.h" + +extern UsbDeviceDescriptor usb_endpoint_table[MAX_EP]; +extern uint8_t udd_ep_out_cache_buffer[2][64]; //1 for CTRL, 1 for BULK +extern uint8_t udd_ep_in_cache_buffer[2][64]; //1 for CTRL, 1 for BULK + +P_USB_CDC USB_Open(P_USB_CDC pCdc, Usb *pUsb); + +void USB_Init(void); + +uint32_t USB_Write(Usb *pUsb, const char *pData, uint32_t length, uint8_t ep_num); +uint32_t USB_Read(Usb *pUsb, char *pData, uint32_t length); +uint32_t USB_Read_blocking(Usb *pUsb, char *pData, uint32_t length); + +uint8_t USB_IsConfigured(P_USB_CDC pCdc); + +void USB_SendStall(Usb *pUsb, bool direction_in); +void USB_SendZlp(Usb *pUsb); + +void USB_SetAddress(Usb *pUsb, uint16_t wValue); +void USB_Configure(Usb *pUsb); + +#endif // _BOARD_DRIVER_USB_H_ diff --git a/sparkfun/samd/bootloaders/spectacle/board_init.c b/sparkfun/samd/bootloaders/spectacle/board_init.c new file mode 100644 index 00000000..6c3f44d7 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/board_init.c @@ -0,0 +1,266 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include +#include "board_definitions.h" + +/** + * \brief system_init() configures the needed clocks and according Flash Read Wait States. + * At reset: + * - OSC8M clock source is enabled with a divider by 8 (1MHz). + * - Generic Clock Generator 0 (GCLKMAIN) is using OSC8M as source. + * We need to: + * 1) Enable XOSC32K clock (External on-board 32.768Hz oscillator), will be used as DFLL48M reference. + * 2) Put XOSC32K as source of Generic Clock Generator 1 + * 3) Put Generic Clock Generator 1 as source for Generic Clock Multiplexer 0 (DFLL48M reference) + * 4) Enable DFLL48M clock + * 5) Switch Generic Clock Generator 0 to DFLL48M. CPU will run at 48MHz. + * 6) Modify PRESCaler value of OSCM to have 8MHz + * 7) Put OSC8M as source for Generic Clock Generator 3 + */ +// Constants for Clock generators +#define GENERIC_CLOCK_GENERATOR_MAIN (0u) +#define GENERIC_CLOCK_GENERATOR_XOSC32K (1u) +#define GENERIC_CLOCK_GENERATOR_OSC32K (1u) +#define GENERIC_CLOCK_GENERATOR_OSCULP32K (2u) /* Initialized at reset for WDT */ +#define GENERIC_CLOCK_GENERATOR_OSC8M (3u) +// Constants for Clock multiplexers +#define GENERIC_CLOCK_MULTIPLEXER_DFLL48M (0u) + +void board_init(void) +{ + /* Set 1 Flash Wait State for 48MHz, cf tables 20.9 and 35.27 in SAMD21 Datasheet */ + NVMCTRL->CTRLB.bit.RWS = NVMCTRL_CTRLB_RWS_HALF_Val; + + /* Turn on the digital interface clock */ + PM->APBAMASK.reg |= PM_APBAMASK_GCLK; + +#if defined(CRYSTALLESS) + + /* ---------------------------------------------------------------------------------------------- + * 1) Enable OSC32K clock (Internal 32.768Hz oscillator) + */ + + uint32_t calib = (*((uint32_t *) FUSES_OSC32K_CAL_ADDR) & FUSES_OSC32K_CAL_Msk) >> FUSES_OSC32K_CAL_Pos; + + SYSCTRL->OSC32K.reg = SYSCTRL_OSC32K_CALIB(calib) | + SYSCTRL_OSC32K_STARTUP( 0x6u ) | // cf table 15.10 of product datasheet in chapter 15.8.6 + SYSCTRL_OSC32K_EN32K | + SYSCTRL_OSC32K_ENABLE; + + while ( (SYSCTRL->PCLKSR.reg & SYSCTRL_PCLKSR_OSC32KRDY) == 0 ); // Wait for oscillator stabilization + +#else // has crystal + + /* ---------------------------------------------------------------------------------------------- + * 1) Enable XOSC32K clock (External on-board 32.768Hz oscillator) + */ + SYSCTRL->XOSC32K.reg = SYSCTRL_XOSC32K_STARTUP( 0x6u ) | /* cf table 15.10 of product datasheet in chapter 15.8.6 */ + SYSCTRL_XOSC32K_XTALEN | SYSCTRL_XOSC32K_EN32K ; + SYSCTRL->XOSC32K.bit.ENABLE = 1 ; /* separate call, as described in chapter 15.6.3 */ + + while ( (SYSCTRL->PCLKSR.reg & SYSCTRL_PCLKSR_XOSC32KRDY) == 0 ) + { + /* Wait for oscillator stabilization */ + } + +#endif + /* Software reset the module to ensure it is re-initialized correctly */ + /* Note: Due to synchronization, there is a delay from writing CTRL.SWRST until the reset is complete. + * CTRL.SWRST and STATUS.SYNCBUSY will both be cleared when the reset is complete, as described in chapter 13.8.1 + */ + GCLK->CTRL.reg = GCLK_CTRL_SWRST; + + while ( (GCLK->CTRL.reg & GCLK_CTRL_SWRST) && (GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY) ) + { + /* Wait for reset to complete */ + } + + /* ---------------------------------------------------------------------------------------------- + * 2) Put XOSC32K as source of Generic Clock Generator 1 + */ + GCLK->GENDIV.reg = GCLK_GENDIV_ID( GENERIC_CLOCK_GENERATOR_XOSC32K ); // Generic Clock Generator 1 + + while ( GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY ) + { + /* Wait for synchronization */ + } + + /* Write Generic Clock Generator 1 configuration */ + GCLK->GENCTRL.reg = GCLK_GENCTRL_ID( GENERIC_CLOCK_GENERATOR_OSC32K ) | // Generic Clock Generator 1 +#if defined(CRYSTALLESS) + GCLK_GENCTRL_SRC_OSC32K | // Selected source is Internal 32KHz Oscillator +#else + GCLK_GENCTRL_SRC_XOSC32K | // Selected source is External 32KHz Oscillator +#endif +// GCLK_GENCTRL_OE | // Output clock to a pin for tests + GCLK_GENCTRL_GENEN; + + while ( GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY ) + { + /* Wait for synchronization */ + } + + /* ---------------------------------------------------------------------------------------------- + * 3) Put Generic Clock Generator 1 as source for Generic Clock Multiplexer 0 (DFLL48M reference) + */ + GCLK->CLKCTRL.reg = GCLK_CLKCTRL_ID( GENERIC_CLOCK_MULTIPLEXER_DFLL48M ) | // Generic Clock Multiplexer 0 + GCLK_CLKCTRL_GEN_GCLK1 | // Generic Clock Generator 1 is source + GCLK_CLKCTRL_CLKEN; + + while ( GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY ) + { + /* Wait for synchronization */ + } + + /* ---------------------------------------------------------------------------------------------- + * 4) Enable DFLL48M clock + */ + + /* DFLL Configuration in Closed Loop mode, cf product datasheet chapter 15.6.7.1 - Closed-Loop Operation */ + + /* Remove the OnDemand mode, Bug http://avr32.icgroup.norway.atmel.com/bugzilla/show_bug.cgi?id=9905 */ + SYSCTRL->DFLLCTRL.bit.ONDEMAND = 0; + + while ( (SYSCTRL->PCLKSR.reg & SYSCTRL_PCLKSR_DFLLRDY) == 0 ) + { + /* Wait for synchronization */ + } + + SYSCTRL->DFLLMUL.reg = SYSCTRL_DFLLMUL_CSTEP( 31 ) | // Coarse step is 31, half of the max value + SYSCTRL_DFLLMUL_FSTEP( 511 ) | // Fine step is 511, half of the max value + SYSCTRL_DFLLMUL_MUL( (VARIANT_MCK/VARIANT_MAINOSC) ); // External 32KHz is the reference + + while ( (SYSCTRL->PCLKSR.reg & SYSCTRL_PCLKSR_DFLLRDY) == 0 ) + { + /* Wait for synchronization */ + } + +#if defined(CRYSTALLESS) + + // Turn on DFLL + uint32_t coarse =( *((uint32_t *)(NVMCTRL_OTP4) + (NVM_SW_CALIB_DFLL48M_COARSE_VAL / 32)) >> (NVM_SW_CALIB_DFLL48M_COARSE_VAL % 32) ) + & ((1 << 6) - 1); + if (coarse == 0x3f) { + coarse = 0x1f; + } + uint32_t fine =( *((uint32_t *)(NVMCTRL_OTP4) + (NVM_SW_CALIB_DFLL48M_FINE_VAL / 32)) >> (NVM_SW_CALIB_DFLL48M_FINE_VAL % 32) ) + & ((1 << 10) - 1); + if (fine == 0x3ff) { + fine = 0x1ff; + } + + SYSCTRL->DFLLVAL.reg = SYSCTRL_DFLLVAL_COARSE(coarse) | SYSCTRL_DFLLVAL_FINE(fine); + /* Write full configuration to DFLL control register */ + SYSCTRL->DFLLCTRL.reg = SYSCTRL_DFLLCTRL_USBCRM | /* USB correction */ + SYSCTRL_DFLLCTRL_CCDIS | + SYSCTRL_DFLLCTRL_WAITLOCK | + SYSCTRL_DFLLCTRL_QLDIS ; /* Disable Quick lock */ + + while ( (SYSCTRL->PCLKSR.reg & SYSCTRL_PCLKSR_DFLLRDY) == 0 ) + { + /* Wait for synchronization */ + } + + /* Enable the DFLL */ + SYSCTRL->DFLLCTRL.reg |= SYSCTRL_DFLLCTRL_ENABLE ; + +#else // has crystal + + /* Write full configuration to DFLL control register */ + SYSCTRL->DFLLCTRL.reg |= SYSCTRL_DFLLCTRL_MODE | /* Enable the closed loop mode */ + SYSCTRL_DFLLCTRL_WAITLOCK | + SYSCTRL_DFLLCTRL_QLDIS ; /* Disable Quick lock */ + + while ( (SYSCTRL->PCLKSR.reg & SYSCTRL_PCLKSR_DFLLRDY) == 0 ) + { + /* Wait for synchronization */ + } + + /* Enable the DFLL */ + SYSCTRL->DFLLCTRL.reg |= SYSCTRL_DFLLCTRL_ENABLE ; + + while ( (SYSCTRL->PCLKSR.reg & SYSCTRL_PCLKSR_DFLLLCKC) == 0 || + (SYSCTRL->PCLKSR.reg & SYSCTRL_PCLKSR_DFLLLCKF) == 0 ) + { + /* Wait for locks flags */ + } + +#endif + + while ( (SYSCTRL->PCLKSR.reg & SYSCTRL_PCLKSR_DFLLRDY) == 0 ) + { + /* Wait for synchronization */ + } + + /* ---------------------------------------------------------------------------------------------- + * 5) Switch Generic Clock Generator 0 to DFLL48M. CPU will run at 48MHz. + */ + GCLK->GENDIV.reg = GCLK_GENDIV_ID( GENERIC_CLOCK_GENERATOR_MAIN ); // Generic Clock Generator 0 + + while ( GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY ) + { + /* Wait for synchronization */ + } + + /* Write Generic Clock Generator 0 configuration */ + GCLK->GENCTRL.reg = GCLK_GENCTRL_ID( GENERIC_CLOCK_GENERATOR_MAIN ) | // Generic Clock Generator 0 + GCLK_GENCTRL_SRC_DFLL48M | // Selected source is DFLL 48MHz +// GCLK_GENCTRL_OE | // Output clock to a pin for tests + GCLK_GENCTRL_IDC | // Set 50/50 duty cycle + GCLK_GENCTRL_GENEN; + + while ( GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY ) + { + /* Wait for synchronization */ + } + +#if 0 + /* ---------------------------------------------------------------------------------------------- + * 6) Modify PRESCaler value of OSC8M to have 8MHz + */ + SYSCTRL->OSC8M.bit.PRESC = SYSCTRL_OSC8M_PRESC_1_Val; + SYSCTRL->OSC8M.bit.ONDEMAND = 0; + + /* ---------------------------------------------------------------------------------------------- + * 7) Put OSC8M as source for Generic Clock Generator 3 + */ + GCLK->GENDIV.reg = GCLK_GENDIV_ID( GENERIC_CLOCK_GENERATOR_OSC8M ); // Generic Clock Generator 3 + + /* Write Generic Clock Generator 3 configuration */ + GCLK->GENCTRL.reg = GCLK_GENCTRL_ID( GENERIC_CLOCK_GENERATOR_OSC8M ) | // Generic Clock Generator 3 + GCLK_GENCTRL_SRC_OSC8M | // Selected source is RC OSC 8MHz (already enabled at reset) +// GCLK_GENCTRL_OE | // Output clock to a pin for tests + GCLK_GENCTRL_GENEN; + + while ( GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY ) + { + /* Wait for synchronization */ + } +#endif //0 + + /* + * Now that all system clocks are configured, we can set CPU and APBx BUS clocks. + * These values are normally the ones present after Reset. + */ + PM->CPUSEL.reg = PM_CPUSEL_CPUDIV_DIV1; + PM->APBASEL.reg = PM_APBASEL_APBADIV_DIV1_Val; + PM->APBBSEL.reg = PM_APBBSEL_APBBDIV_DIV1_Val; + PM->APBCSEL.reg = PM_APBCSEL_APBCDIV_DIV1_Val; +} diff --git a/sparkfun/samd/bootloaders/spectacle/board_startup.c b/sparkfun/samd/bootloaders/spectacle/board_startup.c new file mode 100644 index 00000000..593d93b6 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/board_startup.c @@ -0,0 +1,141 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include + +struct ConstVectors +{ + /* Stack pointer */ + void* pvStack; + + /* Cortex-M handlers */ + void* pfnReset_Handler; + void* pfnNMI_Handler; + void* pfnHardFault_Handler; + void* pfnReservedM12; + void* pfnReservedM11; + void* pfnReservedM10; + void* pfnReservedM9; + void* pfnReservedM8; + void* pfnReservedM7; + void* pfnReservedM6; + void* pfnSVC_Handler; + void* pfnReservedM4; + void* pfnReservedM3; + void* pfnPendSV_Handler; + void* pfnSysTick_Handler; +}; + +/* Symbols exported from linker script */ +extern uint32_t __etext ; +extern uint32_t __data_start__ ; +extern uint32_t __data_end__ ; +extern uint32_t __bss_start__ ; +extern uint32_t __bss_end__ ; +extern uint32_t __StackTop; + +extern int main(void); +extern void __libc_init_array(void); + +/* Exception Table */ +__attribute__ ((section(".isr_vector"))) +const struct ConstVectors exception_table = +{ + /* Configure Initial Stack Pointer, using linker-generated symbols */ + .pvStack = (void*) (&__StackTop), + + .pfnReset_Handler = (void*) Reset_Handler, + .pfnNMI_Handler = (void*) NMI_Handler, + .pfnHardFault_Handler = (void*) HardFault_Handler, + .pfnReservedM12 = (void*) (0UL), /* Reserved */ + .pfnReservedM11 = (void*) (0UL), /* Reserved */ + .pfnReservedM10 = (void*) (0UL), /* Reserved */ + .pfnReservedM9 = (void*) (0UL), /* Reserved */ + .pfnReservedM8 = (void*) (0UL), /* Reserved */ + .pfnReservedM7 = (void*) (0UL), /* Reserved */ + .pfnReservedM6 = (void*) (0UL), /* Reserved */ + .pfnSVC_Handler = (void*) SVC_Handler, + .pfnReservedM4 = (void*) (0UL), /* Reserved */ + .pfnReservedM3 = (void*) (0UL), /* Reserved */ + .pfnPendSV_Handler = (void*) PendSV_Handler, + .pfnSysTick_Handler = (void*) SysTick_Handler, +}; + +/** + * \brief This is the code that gets called on processor reset. + * Initializes the device and call the main() routine. + */ +void Reset_Handler( void ) +{ + uint32_t *pSrc, *pDest; + + /* Initialize the initialized data section */ + pSrc = &__etext; + pDest = &__data_start__; + + if ( (&__data_start__ != &__data_end__) && (pSrc != pDest) ) + { + for (; pDest < &__data_end__ ; pDest++, pSrc++ ) + { + *pDest = *pSrc ; + } + } + + /* Clear the zero section */ + if ( &__bss_start__ != &__bss_end__ ) + { + for ( pDest = &__bss_start__ ; pDest < &__bss_end__ ; pDest++ ) + { + *pDest = 0ul ; + } + } + +// board_init(); // will be done in main() after app check + + /* Initialize the C library */ +// __libc_init_array(); + + main(); + + while (1); +} + +void NMI_Handler(void) +{ + __BKPT(14); + while (1); +} + +void HardFault_Handler(void) +{ + __BKPT(13); + while (1); +} + +void SVC_Handler(void) +{ + __BKPT(5); + while (1); +} + +void PendSV_Handler(void) +{ + __BKPT(2); + while (1); +} diff --git a/sparkfun/samd/bootloaders/spectacle/bootloader_samd21x18.ld b/sparkfun/samd/bootloaders/spectacle/bootloader_samd21x18.ld new file mode 100644 index 00000000..2a8b056d --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/bootloader_samd21x18.ld @@ -0,0 +1,221 @@ +/* + Copyright (c) 2014-2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +/* Linker script to configure memory regions. + * Need modifying for a specific board. + * FLASH.ORIGIN: starting address of flash + * FLASH.LENGTH: length of flash + * RAM.ORIGIN: starting address of RAM bank 0 + * RAM.LENGTH: length of RAM bank 0 + */ +MEMORY +{ + FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x2000 /* First 8KB used by bootloader */ + RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00008000-0x0004 /* 4 bytes used by bootloader to keep data between resets */ +} + +/* Linker script to place sections and symbol values. Should be used together + * with other linker script that defines memory regions FLASH and RAM. + * It references following symbols, which must be defined in code: + * Reset_Handler : Entry of reset handler + * + * It defines following symbols, which code can use without definition: + * __exidx_start + * __exidx_end + * __copy_table_start__ + * __copy_table_end__ + * __zero_table_start__ + * __zero_table_end__ + * __etext + * __data_start__ + * __preinit_array_start + * __preinit_array_end + * __init_array_start + * __init_array_end + * __fini_array_start + * __fini_array_end + * __data_end__ + * __bss_start__ + * __bss_end__ + * __end__ + * end + * __HeapLimit + * __StackLimit + * __StackTop + * __stack + * __sketch_vectors_ptr + */ +ENTRY(Reset_Handler) + +SECTIONS +{ + . = ORIGIN(FLASH); + + .vectors : + { + KEEP(*(.isr_vector)) + } > FLASH + + .text : + { + *(.text*) + + KEEP(*(.init)) + KEEP(*(.fini)) + + /* .ctors */ + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + + /* .dtors */ + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + + *(.rodata*) + + KEEP(*(.eh_frame*)) + } > FLASH + + .ARM.extab : + { + *(.ARM.extab* .gnu.linkonce.armextab.*) + } > FLASH + + __exidx_start = .; + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > FLASH + __exidx_end = .; + + /* To copy multiple ROM to RAM sections, + * uncomment .copy.table section and, + * define __STARTUP_COPY_MULTIPLE in startup_ARMCMx.S */ + /* + .copy.table : + { + . = ALIGN(4); + __copy_table_start__ = .; + LONG (__etext) + LONG (__data_start__) + LONG (__data_end__ - __data_start__) + LONG (__etext2) + LONG (__data2_start__) + LONG (__data2_end__ - __data2_start__) + __copy_table_end__ = .; + } > FLASH + */ + + /* To clear multiple BSS sections, + * uncomment .zero.table section and, + * define __STARTUP_CLEAR_BSS_MULTIPLE in startup_ARMCMx.S */ + /* + .zero.table : + { + . = ALIGN(4); + __zero_table_start__ = .; + LONG (__bss_start__) + LONG (__bss_end__ - __bss_start__) + LONG (__bss2_start__) + LONG (__bss2_end__ - __bss2_start__) + __zero_table_end__ = .; + } > FLASH + */ + + __etext = .; + PROVIDE(__sketch_vectors_ptr = ORIGIN(FLASH) + LENGTH(FLASH)); + + + .data : AT (__etext) + { + __data_start__ = .; + *(vtable) + *(.data*) + + . = ALIGN(4); + /* preinit data */ + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP(*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + + . = ALIGN(4); + /* init data */ + PROVIDE_HIDDEN (__init_array_start = .); + KEEP(*(SORT(.init_array.*))) + KEEP(*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + + + . = ALIGN(4); + /* finit data */ + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP(*(SORT(.fini_array.*))) + KEEP(*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + + KEEP(*(.jcr*)) + . = ALIGN(4); + /* All data end */ + __data_end__ = .; + + } > RAM + + .bss : + { + . = ALIGN(4); + __bss_start__ = .; + *(.bss*) + *(COMMON) + . = ALIGN(4); + __bss_end__ = .; + } > RAM + + .heap (COPY): + { + __end__ = .; + PROVIDE(end = .); + *(.heap*) + __HeapLimit = .; + } > RAM + + /* .stack_dummy section doesn't contains any symbols. It is only + * used for linker to calculate size of stack sections, and assign + * values to stack symbols later */ + .stack_dummy (COPY): + { + *(.stack*) + } > RAM + + /* Set stack top to end of RAM, and stack limit move down by + * size of stack_dummy section */ + __StackTop = ORIGIN(RAM) + LENGTH(RAM); + __StackLimit = __StackTop - SIZEOF(.stack_dummy); + PROVIDE(__stack = __StackTop); + + __ram_end__ = ORIGIN(RAM) + LENGTH(RAM) -1 ; + + /* Check if data + heap + stack exceeds RAM limit */ + ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") +} diff --git a/sparkfun/samd/bootloaders/spectacle/build_all_bootloaders.sh b/sparkfun/samd/bootloaders/spectacle/build_all_bootloaders.sh new file mode 100644 index 00000000..e837f7bf --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/build_all_bootloaders.sh @@ -0,0 +1,17 @@ +#!/bin/bash -ex + +BOARD_ID=arduino_zero NAME=samd21_sam_ba make clean all + +BOARD_ID=genuino_zero NAME=samd21_sam_ba_genuino make clean all + +BOARD_ID=arduino_mkr1000 NAME=samd21_sam_ba_arduino_mkr1000 make clean all +mv -v samd21_sam_ba_arduino_mkr1000.* ../mkr1000/ + +BOARD_ID=genuino_mkr1000 NAME=samd21_sam_ba_genuino_mkr1000 make clean all +mv -v samd21_sam_ba_genuino_mkr1000.* ../mkr1000/ + +BOARD_ID=arduino_mkrzero NAME=samd21_sam_ba_arduino_mkrzero make clean all +mv -v samd21_sam_ba_arduino_mkrzero.* ../mkrzero/ + +echo Done building bootloaders! + diff --git a/sparkfun/samd/bootloaders/spectacle/main.c b/sparkfun/samd/bootloaders/spectacle/main.c new file mode 100644 index 00000000..8d5c52b2 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/main.c @@ -0,0 +1,233 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include +#include +#include "sam_ba_monitor.h" +#include "sam_ba_serial.h" +#include "board_definitions.h" +#include "board_driver_led.h" +#include "sam_ba_usb.h" +#include "sam_ba_cdc.h" + +extern uint32_t __sketch_vectors_ptr; // Exported value from linker script +extern void board_init(void); + +#if (defined DEBUG) && (DEBUG == 1) +volatile uint32_t* pulSketch_Start_Address; +#endif + +static volatile bool main_b_cdc_enable = false; + +/** + * \brief Check the application startup condition + * + */ +static void check_start_application(void) +{ +// LED_init(); +// LED_off(); + +#if (!defined DEBUG) || ((defined DEBUG) && (DEBUG == 0)) +uint32_t* pulSketch_Start_Address; +#endif + + /* + * Test sketch stack pointer @ &__sketch_vectors_ptr + * Stay in SAM-BA if value @ (&__sketch_vectors_ptr) == 0xFFFFFFFF (Erased flash cell value) + */ + if (__sketch_vectors_ptr == 0xFFFFFFFF) + { + /* Stay in bootloader */ + return; + } + + /* + * Load the sketch Reset Handler address + * __sketch_vectors_ptr is exported from linker script and point on first 32b word of sketch vector table + * First 32b word is sketch stack + * Second 32b word is sketch entry point: Reset_Handler() + */ + pulSketch_Start_Address = &__sketch_vectors_ptr ; + pulSketch_Start_Address++ ; + + /* + * Test vector table address of sketch @ &__sketch_vectors_ptr + * Stay in SAM-BA if this function is not aligned enough, ie not valid + */ + if ( ((uint32_t)(&__sketch_vectors_ptr) & ~SCB_VTOR_TBLOFF_Msk) != 0x00) + { + /* Stay in bootloader */ + return; + } + +#if defined(BOOT_DOUBLE_TAP_ADDRESS) + #define DOUBLE_TAP_MAGIC 0x07738135 + if (PM->RCAUSE.bit.POR) + { + /* On power-on initialize double-tap */ + BOOT_DOUBLE_TAP_DATA = 0; + } + else + { + if (BOOT_DOUBLE_TAP_DATA == DOUBLE_TAP_MAGIC) + { + /* Second tap, stay in bootloader */ + BOOT_DOUBLE_TAP_DATA = 0; + return; + } + + /* First tap */ + BOOT_DOUBLE_TAP_DATA = DOUBLE_TAP_MAGIC; + + /* Wait 0.5sec to see if the user tap reset again. + * The loop value is based on SAMD21 default 1MHz clock @ reset. + */ + for (uint32_t i=0; i<125000; i++) /* 500ms */ + /* force compiler to not optimize this... */ + __asm__ __volatile__(""); + + /* Timeout happened, continue boot... */ + BOOT_DOUBLE_TAP_DATA = 0; + } +#endif + +/* +#if defined(BOOT_LOAD_PIN) + volatile PortGroup *boot_port = (volatile PortGroup *)(&(PORT->Group[BOOT_LOAD_PIN / 32])); + volatile bool boot_en; + + // Enable the input mode in Boot GPIO Pin + boot_port->DIRCLR.reg = BOOT_PIN_MASK; + boot_port->PINCFG[BOOT_LOAD_PIN & 0x1F].reg = PORT_PINCFG_INEN | PORT_PINCFG_PULLEN; + boot_port->OUTSET.reg = BOOT_PIN_MASK; + // Read the BOOT_LOAD_PIN status + boot_en = (boot_port->IN.reg) & BOOT_PIN_MASK; + + // Check the bootloader enable condition + if (!boot_en) + { + // Stay in bootloader + return; + } +#endif +*/ + +// LED_on(); + + /* Rebase the Stack Pointer */ + __set_MSP( (uint32_t)(__sketch_vectors_ptr) ); + + /* Rebase the vector table base address */ + SCB->VTOR = ((uint32_t)(&__sketch_vectors_ptr) & SCB_VTOR_TBLOFF_Msk); + + /* Jump to application Reset Handler in the application */ + asm("bx %0"::"r"(*pulSketch_Start_Address)); +} + +#if DEBUG_ENABLE +# define DEBUG_PIN_HIGH port_pin_set_output_level(BOOT_LED, 1) +# define DEBUG_PIN_LOW port_pin_set_output_level(BOOT_LED, 0) +#else +# define DEBUG_PIN_HIGH do{}while(0) +# define DEBUG_PIN_LOW do{}while(0) +#endif + +/** + * \brief SAMD21 SAM-BA Main loop. + * \return Unused (ANSI-C compatibility). + */ +int main(void) +{ +#if SAM_BA_INTERFACE == SAM_BA_USBCDC_ONLY || SAM_BA_INTERFACE == SAM_BA_BOTH_INTERFACES + P_USB_CDC pCdc; +#endif + DEBUG_PIN_HIGH; + + /* Jump in application if condition is satisfied */ + check_start_application(); + + /* We have determined we should stay in the monitor. */ + /* System initialization */ + board_init(); + __enable_irq(); + +#if SAM_BA_INTERFACE == SAM_BA_UART_ONLY || SAM_BA_INTERFACE == SAM_BA_BOTH_INTERFACES + /* UART is enabled in all cases */ + serial_open(); +#endif + +#if SAM_BA_INTERFACE == SAM_BA_USBCDC_ONLY || SAM_BA_INTERFACE == SAM_BA_BOTH_INTERFACES + pCdc = usb_init(); +#endif + + DEBUG_PIN_LOW; + + /* Initialize LEDs */ + LED_init(); + LEDRX_init(); + LEDRX_off(); + LEDTX_init(); + LEDTX_off(); + + /* Start the sys tick (1 ms) */ + SysTick_Config(1000); + + /* Wait for a complete enum on usb or a '#' char on serial line */ + while (1) + { +#if SAM_BA_INTERFACE == SAM_BA_USBCDC_ONLY || SAM_BA_INTERFACE == SAM_BA_BOTH_INTERFACES + if (pCdc->IsConfigured(pCdc) != 0) + { + main_b_cdc_enable = true; + } + + /* Check if a USB enumeration has succeeded and if comm port has been opened */ + if (main_b_cdc_enable) + { + sam_ba_monitor_init(SAM_BA_INTERFACE_USBCDC); + /* SAM-BA on USB loop */ + while( 1 ) + { + sam_ba_monitor_run(); + } + } +#endif + +#if SAM_BA_INTERFACE == SAM_BA_UART_ONLY || SAM_BA_INTERFACE == SAM_BA_BOTH_INTERFACES + /* Check if a '#' has been received */ + if (!main_b_cdc_enable && serial_sharp_received()) + { + sam_ba_monitor_init(SAM_BA_INTERFACE_USART); + /* SAM-BA on Serial loop */ + while(1) + { + sam_ba_monitor_run(); + } + } +#endif + } +} + +void SysTick_Handler(void) +{ + LED_pulse(); + + sam_ba_monitor_sys_tick(); +} diff --git a/sparkfun/samd/bootloaders/spectacle/sam_ba_cdc.c b/sparkfun/samd/bootloaders/spectacle/sam_ba_cdc.c new file mode 100644 index 00000000..37734092 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/sam_ba_cdc.c @@ -0,0 +1,98 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include "sam_ba_cdc.h" +#include "board_driver_usb.h" + +usb_cdc_line_coding_t line_coding= +{ + 115200, // baudrate + 0, // 1 Stop Bit + 0, // None Parity + 8 // 8 Data bits +}; + +#define pCdc (&sam_ba_cdc) + +int cdc_putc(/*P_USB_CDC pCdc,*/ int value) +{ + /* Send single byte on USB CDC */ + USB_Write(pCdc->pUsb, (const char *)&value, 1, USB_EP_IN); + + return 1; +} + +int cdc_getc(/*P_USB_CDC pCdc*/void) +{ + uint8_t rx_char; + + /* Read singly byte on USB CDC */ + USB_Read(pCdc->pUsb, (char *)&rx_char, 1); + + return (int)rx_char; +} + +bool cdc_is_rx_ready(/*P_USB_CDC pCdc*/void) +{ + /* Check whether the device is configured */ + if ( !USB_IsConfigured(pCdc) ) + return 0; + + /* Return transfer complete 0 flag status */ + return (pCdc->pUsb->DEVICE.DeviceEndpoint[USB_EP_OUT].EPINTFLAG.bit.TRCPT0); +} + +uint32_t cdc_write_buf(/*P_USB_CDC pCdc,*/ void const* data, uint32_t length) +{ + /* Send the specified number of bytes on USB CDC */ + USB_Write(pCdc->pUsb, (const char *)data, length, USB_EP_IN); + return length; +} + +uint32_t cdc_read_buf(/*P_USB_CDC pCdc,*/ void* data, uint32_t length) +{ + /* Check whether the device is configured */ + if ( !USB_IsConfigured(pCdc) ) + return 0; + + /* Read from USB CDC */ + return USB_Read(pCdc->pUsb, (char *)data, length); +} + +uint32_t cdc_read_buf_xmd(/*P_USB_CDC pCdc,*/ void* data, uint32_t length) +{ + /* Check whether the device is configured */ + if ( !USB_IsConfigured(pCdc) ) + return 0; + + /* Blocking read till specified number of bytes is received */ + // XXX: USB_Read_blocking is not reliable + // return USB_Read_blocking(pCdc, (char *)data, length); + + char *dst = (char *)data; + uint32_t remaining = length; + while (remaining) + { + uint32_t readed = USB_Read(pCdc->pUsb, (char *)dst, remaining); + remaining -= readed; + dst += readed; + } + + return length; +} diff --git a/sparkfun/samd/bootloaders/spectacle/sam_ba_cdc.h b/sparkfun/samd/bootloaders/spectacle/sam_ba_cdc.h new file mode 100644 index 00000000..49b7643c --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/sam_ba_cdc.h @@ -0,0 +1,91 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef _SAM_BA_USB_CDC_H_ +#define _SAM_BA_USB_CDC_H_ + +#include +#include "sam_ba_usb.h" + +typedef struct +{ + uint32_t dwDTERate; + uint8_t bCharFormat; + uint8_t bParityType; + uint8_t bDataBits; +} usb_cdc_line_coding_t; + +/* CDC Class Specific Request Code */ +#define GET_LINE_CODING 0x21A1 +#define SET_LINE_CODING 0x2021 +#define SET_CONTROL_LINE_STATE 0x2221 + +extern usb_cdc_line_coding_t line_coding; + + +/** + * \brief Sends a single byte through USB CDC + * + * \param Data to send + * \return number of data sent + */ +int cdc_putc(/*P_USB_CDC pCdc,*/ int value); + +/** + * \brief Reads a single byte through USB CDC + * + * \return Data read through USB + */ +int cdc_getc(/*P_USB_CDC pCdc*/); + +/** + * \brief Checks if a character has been received on USB CDC + * + * \return \c 1 if a byte is ready to be read. + */ +bool cdc_is_rx_ready(/*P_USB_CDC pCdc*/); + +/** + * \brief Sends buffer on USB CDC + * + * \param data pointer + * \param number of data to send + * \return number of data sent + */ +uint32_t cdc_write_buf(/*P_USB_CDC pCdc,*/ void const* data, uint32_t length); + +/** + * \brief Gets data on USB CDC + * + * \param data pointer + * \param number of data to read + * \return number of data read + */ +uint32_t cdc_read_buf(/*P_USB_CDC pCdc,*/ void* data, uint32_t length); + +/** + * \brief Gets specified number of bytes on USB CDC + * + * \param data pointer + * \param number of data to read + * \return number of data read + */ +uint32_t cdc_read_buf_xmd(/*P_USB_CDC pCdc,*/ void* data, uint32_t length); + +#endif // _SAM_BA_USB_CDC_H_ diff --git a/sparkfun/samd/bootloaders/spectacle/sam_ba_monitor.c b/sparkfun/samd/bootloaders/spectacle/sam_ba_monitor.c new file mode 100644 index 00000000..8b31b947 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/sam_ba_monitor.c @@ -0,0 +1,553 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include "sam.h" +#include +#include "sam_ba_monitor.h" +#include "sam_ba_serial.h" +#include "board_driver_serial.h" +#include "board_driver_usb.h" +#include "sam_ba_usb.h" +#include "sam_ba_cdc.h" +#include "board_driver_led.h" + +const char RomBOOT_Version[] = SAM_BA_VERSION; +const char RomBOOT_ExtendedCapabilities[] = "[Arduino:XYZ]"; + +/* Provides one common interface to handle both USART and USB-CDC */ +typedef struct +{ + /* send one byte of data */ + int (*put_c)(int value); + /* Get one byte */ + int (*get_c)(void); + /* Receive buffer not empty */ + bool (*is_rx_ready)(void); + /* Send given data (polling) */ + uint32_t (*putdata)(void const* data, uint32_t length); + /* Get data from comm. device */ + uint32_t (*getdata)(void* data, uint32_t length); + /* Send given data (polling) using xmodem (if necessary) */ + uint32_t (*putdata_xmd)(void const* data, uint32_t length); + /* Get data from comm. device using xmodem (if necessary) */ + uint32_t (*getdata_xmd)(void* data, uint32_t length); +} t_monitor_if; + +#if SAM_BA_INTERFACE == SAM_BA_UART_ONLY || SAM_BA_INTERFACE == SAM_BA_BOTH_INTERFACES +/* Initialize structures with function pointers from supported interfaces */ +const t_monitor_if uart_if = +{ + .put_c = serial_putc, + .get_c = serial_getc, + .is_rx_ready = serial_is_rx_ready, + .putdata = serial_putdata, + .getdata = serial_getdata, + .putdata_xmd = serial_putdata_xmd, + .getdata_xmd = serial_getdata_xmd +}; +#endif + +#if SAM_BA_INTERFACE == SAM_BA_USBCDC_ONLY || SAM_BA_INTERFACE == SAM_BA_BOTH_INTERFACES +//Please note that USB doesn't use Xmodem protocol, since USB already includes flow control and data verification +//Data are simply forwarded without further coding. +const t_monitor_if usbcdc_if = +{ + .put_c = cdc_putc, + .get_c = cdc_getc, + .is_rx_ready = cdc_is_rx_ready, + .putdata = cdc_write_buf, + .getdata = cdc_read_buf, + .putdata_xmd = cdc_write_buf, + .getdata_xmd = cdc_read_buf_xmd +}; +#endif + +/* The pointer to the interface object use by the monitor */ +t_monitor_if * ptr_monitor_if; + +/* b_terminal_mode mode (ascii) or hex mode */ +volatile bool b_terminal_mode = false; +volatile bool b_sam_ba_interface_usart = false; + +/* Pulse generation counters to keep track of the time remaining for each pulse type */ +#define TX_RX_LED_PULSE_PERIOD 100 +volatile uint16_t txLEDPulse = 0; // time remaining for Tx LED pulse +volatile uint16_t rxLEDPulse = 0; // time remaining for Rx LED pulse + +void sam_ba_monitor_init(uint8_t com_interface) +{ +#if SAM_BA_INTERFACE == SAM_BA_UART_ONLY || SAM_BA_INTERFACE == SAM_BA_BOTH_INTERFACES + //Selects the requested interface for future actions + if (com_interface == SAM_BA_INTERFACE_USART) + { + ptr_monitor_if = (t_monitor_if*) &uart_if; + b_sam_ba_interface_usart = true; + } +#endif +#if SAM_BA_INTERFACE == SAM_BA_USBCDC_ONLY || SAM_BA_INTERFACE == SAM_BA_BOTH_INTERFACES + if (com_interface == SAM_BA_INTERFACE_USBCDC) + { + ptr_monitor_if = (t_monitor_if*) &usbcdc_if; + } +#endif +} + +/* + * Central SAM-BA monitor putdata function using the board LEDs + */ +static uint32_t sam_ba_putdata(t_monitor_if* pInterface, void const* data, uint32_t length) +{ + uint32_t result ; + + result=pInterface->putdata(data, length); + + LEDTX_on(); + txLEDPulse = TX_RX_LED_PULSE_PERIOD; + + return result; +} + +/* + * Central SAM-BA monitor getdata function using the board LEDs + */ +static uint32_t sam_ba_getdata(t_monitor_if* pInterface, void* data, uint32_t length) +{ + uint32_t result ; + + result=pInterface->getdata(data, length); + + if (result) + { + LEDRX_on(); + rxLEDPulse = TX_RX_LED_PULSE_PERIOD; + } + + return result; +} + +/* + * Central SAM-BA monitor putdata function using the board LEDs + */ +static uint32_t sam_ba_putdata_xmd(t_monitor_if* pInterface, void const* data, uint32_t length) +{ + uint32_t result ; + + result=pInterface->putdata_xmd(data, length); + + LEDTX_on(); + txLEDPulse = TX_RX_LED_PULSE_PERIOD; + + return result; +} + +/* + * Central SAM-BA monitor getdata function using the board LEDs + */ +static uint32_t sam_ba_getdata_xmd(t_monitor_if* pInterface, void* data, uint32_t length) +{ + uint32_t result ; + + result=pInterface->getdata_xmd(data, length); + + if (result) + { + LEDRX_on(); + rxLEDPulse = TX_RX_LED_PULSE_PERIOD; + } + + return result; +} + +/** + * \brief This function allows data emission by USART + * + * \param *data Data pointer + * \param length Length of the data + */ +void sam_ba_putdata_term(uint8_t* data, uint32_t length) +{ + uint8_t temp, buf[12], *data_ascii; + uint32_t i, int_value; + + if (b_terminal_mode) + { + if (length == 4) + int_value = *(uint32_t *) data; + else if (length == 2) + int_value = *(uint16_t *) data; + else + int_value = *(uint8_t *) data; + + data_ascii = buf + 2; + data_ascii += length * 2 - 1; + + for (i = 0; i < length * 2; i++) + { + temp = (uint8_t) (int_value & 0xf); + + if (temp <= 0x9) + *data_ascii = temp | 0x30; + else + *data_ascii = temp + 0x37; + + int_value >>= 4; + data_ascii--; + } + buf[0] = '0'; + buf[1] = 'x'; + buf[length * 2 + 2] = '\n'; + buf[length * 2 + 3] = '\r'; + sam_ba_putdata(ptr_monitor_if, buf, length * 2 + 4); + } + else + sam_ba_putdata(ptr_monitor_if, data, length); + return; +} + +volatile uint32_t sp; +void call_applet(uint32_t address) +{ + uint32_t app_start_address; + + __disable_irq(); + + sp = __get_MSP(); + + /* Rebase the Stack Pointer */ + __set_MSP(*(uint32_t *) address); + + /* Load the Reset Handler address of the application */ + app_start_address = *(uint32_t *)(address + 4); + + /* Jump to application Reset Handler in the application */ + asm("bx %0"::"r"(app_start_address)); +} + +uint32_t current_number; +uint32_t i, length; +uint8_t command, *ptr_data, *ptr, data[SIZEBUFMAX]; +uint8_t j; +uint32_t u32tmp; + +uint32_t PAGE_SIZE, PAGES, MAX_FLASH; + +// Prints a 32-bit integer in hex. +static void put_uint32(uint32_t n) +{ + char buff[8]; + int i; + for (i=0; i<8; i++) + { + int d = n & 0XF; + n = (n >> 4); + + buff[7-i] = d > 9 ? 'A' + d - 10 : '0' + d; + } + sam_ba_putdata( ptr_monitor_if, buff, 8); +} + +static void sam_ba_monitor_loop(void) +{ + length = sam_ba_getdata(ptr_monitor_if, data, SIZEBUFMAX); + ptr = data; + + for (i = 0; i < length; i++, ptr++) + { + if (*ptr == 0xff) continue; + + if (*ptr == '#') + { + if (b_terminal_mode) + { + sam_ba_putdata(ptr_monitor_if, "\n\r", 2); + } + if (command == 'S') + { + //Check if some data are remaining in the "data" buffer + if(length>i) + { + //Move current indexes to next avail data (currently ptr points to "#") + ptr++; + i++; + + //We need to add first the remaining data of the current buffer already read from usb + //read a maximum of "current_number" bytes + if ((length-i) < current_number) + { + u32tmp=(length-i); + } + else + { + u32tmp=current_number; + } + + memcpy(ptr_data, ptr, u32tmp); + i += u32tmp; + ptr += u32tmp; + j = u32tmp; + } + //update i with the data read from the buffer + i--; + ptr--; + //Do we expect more data ? + if(jput_c(0x6); + } + } + else if (command == 'T') + { + b_terminal_mode = 1; + sam_ba_putdata(ptr_monitor_if, "\n\r", 2); + } + else if (command == 'N') + { + if (b_terminal_mode == 0) + { + sam_ba_putdata( ptr_monitor_if, "\n\r", 2); + } + b_terminal_mode = 0; + } + else if (command == 'V') + { + sam_ba_putdata( ptr_monitor_if, "v", 1); + sam_ba_putdata( ptr_monitor_if, (uint8_t *) RomBOOT_Version, strlen(RomBOOT_Version)); + sam_ba_putdata( ptr_monitor_if, " ", 1); + sam_ba_putdata( ptr_monitor_if, (uint8_t *) RomBOOT_ExtendedCapabilities, strlen(RomBOOT_ExtendedCapabilities)); + sam_ba_putdata( ptr_monitor_if, " ", 1); + ptr = (uint8_t*) &(__DATE__); + i = 0; + while (*ptr++ != '\0') + i++; + sam_ba_putdata( ptr_monitor_if, (uint8_t *) &(__DATE__), i); + sam_ba_putdata( ptr_monitor_if, " ", 1); + i = 0; + ptr = (uint8_t*) &(__TIME__); + while (*ptr++ != '\0') + i++; + sam_ba_putdata( ptr_monitor_if, (uint8_t *) &(__TIME__), i); + sam_ba_putdata( ptr_monitor_if, "\n\r", 2); + } + else if (command == 'X') + { + // Syntax: X[ADDR]# + // Erase the flash memory starting from ADDR to the end of flash. + + // Note: the flash memory is erased in ROWS, that is in block of 4 pages. + // Even if the starting address is the last byte of a ROW the entire + // ROW is erased anyway. + + uint32_t dst_addr = current_number; // starting address + + while (dst_addr < MAX_FLASH) + { + // Execute "ER" Erase Row + NVMCTRL->ADDR.reg = dst_addr / 2; + NVMCTRL->CTRLA.reg = NVMCTRL_CTRLA_CMDEX_KEY | NVMCTRL_CTRLA_CMD_ER; + while (NVMCTRL->INTFLAG.bit.READY == 0) + ; + dst_addr += PAGE_SIZE * 4; // Skip a ROW + } + + // Notify command completed + sam_ba_putdata( ptr_monitor_if, "X\n\r", 3); + } + else if (command == 'Y') + { + // This command writes the content of a buffer in SRAM into flash memory. + + // Syntax: Y[ADDR],0# + // Set the starting address of the SRAM buffer. + + // Syntax: Y[ROM_ADDR],[SIZE]# + // Write the first SIZE bytes from the SRAM buffer (previously set) into + // flash memory starting from address ROM_ADDR + + static uint32_t *src_buff_addr = NULL; + + if (current_number == 0) + { + // Set buffer address + src_buff_addr = (uint32_t*)ptr_data; + } + else + { + // Write to flash + uint32_t size = current_number/4; + uint32_t *src_addr = src_buff_addr; + uint32_t *dst_addr = (uint32_t*)ptr_data; + + // Set automatic page write + NVMCTRL->CTRLB.bit.MANW = 0; + + // Do writes in pages + while (size) + { + // Execute "PBC" Page Buffer Clear + NVMCTRL->CTRLA.reg = NVMCTRL_CTRLA_CMDEX_KEY | NVMCTRL_CTRLA_CMD_PBC; + while (NVMCTRL->INTFLAG.bit.READY == 0) + ; + + // Fill page buffer + uint32_t i; + for (i=0; i<(PAGE_SIZE/4) && iADDR.reg = ((uint32_t)dst_addr) / 2; + NVMCTRL->CTRLA.reg = NVMCTRL_CTRLA_CMDEX_KEY | NVMCTRL_CTRLA_CMD_WP; + while (NVMCTRL->INTFLAG.bit.READY == 0) + ; + + // Advance to next page + dst_addr += i; + src_addr += i; + size -= i; + } + } + + // Notify command completed + sam_ba_putdata( ptr_monitor_if, "Y\n\r", 3); + } + else if (command == 'Z') + { + // This command calculate CRC for a given area of memory. + // It's useful to quickly check if a transfer has been done + // successfully. + + // Syntax: Z[START_ADDR],[SIZE]# + // Returns: Z[CRC]# + + uint8_t *data = (uint8_t *)ptr_data; + uint32_t size = current_number; + uint16_t crc = 0; + uint32_t i = 0; + for (i=0; i", 1); + } + } + else + { + if (('0' <= *ptr) && (*ptr <= '9')) + { + current_number = (current_number << 4) | (*ptr - '0'); + } + else if (('A' <= *ptr) && (*ptr <= 'F')) + { + current_number = (current_number << 4) | (*ptr - 'A' + 0xa); + } + else if (('a' <= *ptr) && (*ptr <= 'f')) + { + current_number = (current_number << 4) | (*ptr - 'a' + 0xa); + } + else if (*ptr == ',') + { + ptr_data = (uint8_t *) current_number; + current_number = 0; + } + else + { + command = *ptr; + current_number = 0; + } + } + } +} + +void sam_ba_monitor_sys_tick(void) +{ + /* Check whether the TX or RX LED one-shot period has elapsed. if so, turn off the LED */ + if (txLEDPulse && !(--txLEDPulse)) + LEDTX_off(); + if (rxLEDPulse && !(--rxLEDPulse)) + LEDRX_off(); +} + +/** + * \brief This function starts the SAM-BA monitor. + */ +void sam_ba_monitor_run(void) +{ + uint32_t pageSizes[] = { 8, 16, 32, 64, 128, 256, 512, 1024 }; + PAGE_SIZE = pageSizes[NVMCTRL->PARAM.bit.PSZ]; + PAGES = NVMCTRL->PARAM.bit.NVMP; + MAX_FLASH = PAGE_SIZE * PAGES; + + ptr_data = NULL; + command = 'z'; + while (1) + { + sam_ba_monitor_loop(); + } +} diff --git a/sparkfun/samd/bootloaders/spectacle/sam_ba_monitor.h b/sparkfun/samd/bootloaders/spectacle/sam_ba_monitor.h new file mode 100644 index 00000000..19575ec7 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/sam_ba_monitor.h @@ -0,0 +1,72 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef _MONITOR_SAM_BA_H_ +#define _MONITOR_SAM_BA_H_ + +#define SAM_BA_VERSION "2.0" + +/* Enable the interfaces to save code size */ +#define SAM_BA_BOTH_INTERFACES 0 +#define SAM_BA_UART_ONLY 1 +#define SAM_BA_USBCDC_ONLY 2 + +#ifndef SAM_BA_INTERFACE +#define SAM_BA_INTERFACE SAM_BA_USBCDC_ONLY //SAM_BA_BOTH_INTERFACES +#endif + +/* Selects USB as the communication interface of the monitor */ +#define SAM_BA_INTERFACE_USBCDC 1 +/* Selects USART as the communication interface of the monitor */ +#define SAM_BA_INTERFACE_USART 0 + +/* Selects USB as the communication interface of the monitor */ +#define SIZEBUFMAX 64 + +/** + * \brief Initialize the monitor + * + */ +void sam_ba_monitor_init(uint8_t com_interface); + +/** + * \brief System tick function of the SAM-BA Monitor + * + */ +void sam_ba_monitor_sys_tick(void); + +/** + * \brief Main function of the SAM-BA Monitor + * + */ +void sam_ba_monitor_run(void); + +/** + * \brief + * + */ +void sam_ba_putdata_term(uint8_t* data, uint32_t length); + +/** + * \brief + * + */ +void call_applet(uint32_t address); + +#endif // _MONITOR_SAM_BA_H_ diff --git a/sparkfun/samd/bootloaders/spectacle/sam_ba_serial.c b/sparkfun/samd/bootloaders/spectacle/sam_ba_serial.c new file mode 100644 index 00000000..09607ecf --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/sam_ba_serial.c @@ -0,0 +1,534 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include +#include "board_definitions.h" +#include "sam_ba_serial.h" +#include "board_driver_serial.h" + +/* Local reference to current Usart instance in use with this driver */ +//struct usart_module usart_sam_ba; + +/* Variable to let the main task select the appropriate communication interface */ +volatile uint8_t b_sharp_received; + +/* RX and TX Buffers + rw pointers for each buffer */ +volatile uint8_t buffer_rx_usart[USART_BUFFER_SIZE]; + +volatile uint8_t idx_rx_read; +volatile uint8_t idx_rx_write; + +volatile uint8_t buffer_tx_usart[USART_BUFFER_SIZE]; + +volatile uint8_t idx_tx_read; +volatile uint8_t idx_tx_write; + +/* Test for timeout in AT91F_GetChar */ +uint8_t error_timeout; +uint16_t size_of_data; +uint8_t mode_of_transfer; + +#define BOOT_USART_PAD(n) BOOT_USART_PAD##n + +/** + * \brief Open the given USART + */ +void serial_open(void) +{ + uint32_t port; + uint32_t pin; + + /* Configure the port pins for SERCOM_USART */ + if (BOOT_USART_PAD0 != PINMUX_UNUSED) + { + /* Mask 6th bit in pin number to check whether it is greater than 32 i.e., PORTB pin */ + port = (BOOT_USART_PAD0 & 0x200000) >> 21; + pin = (BOOT_USART_PAD0 >> 16); + PORT->Group[port].PINCFG[(pin - (port*32))].bit.PMUXEN = 1; + PORT->Group[port].PMUX[(pin - (port*32))/2].reg &= ~(0xF << (4 * (pin & 0x01u))); + PORT->Group[port].PMUX[(pin - (port*32))/2].reg |= (BOOT_USART_PAD0 & 0xFF) << (4 * (pin & 0x01u)); + } + + if (BOOT_USART_PAD1 != PINMUX_UNUSED) + { + /* Mask 6th bit in pin number to check whether it is greater than 32 i.e., PORTB pin */ + port = (BOOT_USART_PAD1 & 0x200000) >> 21; + pin = BOOT_USART_PAD1 >> 16; + PORT->Group[port].PINCFG[(pin - (port*32))].bit.PMUXEN = 1; + PORT->Group[port].PMUX[(pin - (port*32))/2].reg &= ~(0xF << (4 * (pin & 0x01u))); + PORT->Group[port].PMUX[(pin - (port*32))/2].reg |= (BOOT_USART_PAD1 & 0xFF) << (4 * (pin & 0x01u)); + } + + if (BOOT_USART_PAD2 != PINMUX_UNUSED) + { + /* Mask 6th bit in pin number to check whether it is greater than 32 i.e., PORTB pin */ + port = (BOOT_USART_PAD2 & 0x200000) >> 21; + pin = BOOT_USART_PAD2 >> 16; + PORT->Group[port].PINCFG[(pin - (port*32))].bit.PMUXEN = 1; + PORT->Group[port].PMUX[(pin - (port*32))/2].reg &= ~(0xF << (4 * (pin & 0x01u))); + PORT->Group[port].PMUX[(pin - (port*32))/2].reg |= (BOOT_USART_PAD2 & 0xFF) << (4 * (pin & 0x01u)); + } + + if (BOOT_USART_PAD3 != PINMUX_UNUSED) + { + /* Mask 6th bit in pin number to check whether it is greater than 32 i.e., PORTB pin */ + port = (BOOT_USART_PAD3 & 0x200000) >> 21; + pin = BOOT_USART_PAD3 >> 16; + PORT->Group[port].PINCFG[(pin - (port*32))].bit.PMUXEN = 1; + PORT->Group[port].PMUX[(pin - (port*32))/2].reg &= ~(0xF << (4 * (pin & 0x01u))); + PORT->Group[port].PMUX[(pin - (port*32))/2].reg |= (BOOT_USART_PAD3 & 0xFF) << (4 * (pin & 0x01u)); + } + + /* Enable clock for BOOT_USART_MODULE */ + PM->APBCMASK.reg |= BOOT_USART_BUS_CLOCK_INDEX ; + + /* Set GCLK_GEN0 as source for GCLK_ID_SERCOMx_CORE */ + GCLK->CLKCTRL.reg = GCLK_CLKCTRL_ID( BOOT_USART_PER_CLOCK_INDEX ) | // Generic Clock 0 (SERCOMx) + GCLK_CLKCTRL_GEN_GCLK0 | // Generic Clock Generator 0 is source + GCLK_CLKCTRL_CLKEN ; + + while ( GCLK->STATUS.reg & GCLK_STATUS_SYNCBUSY ) + { + /* Wait for synchronization */ + } + + /* Baud rate 115200 - clock 48MHz -> BAUD value-63018 */ + uart_basic_init(BOOT_USART_MODULE, 63018, BOOT_USART_PAD_SETTINGS); + + //Initialize flag + b_sharp_received = false; + idx_rx_read = 0; + idx_rx_write = 0; + idx_tx_read = 0; + idx_tx_write = 0; + + error_timeout = 0; +} + +/** + * \brief Close communication line + */ +void serial_close(void) +{ + uart_disable(BOOT_USART_MODULE); +} + +/** + * \brief Puts a byte on usart line + * The type int is used to support printf redirection from compiler LIB. + * + * \param value Value to put + * + * \return \c 1 if function was successfully done, otherwise \c 0. + */ +int serial_putc(int value) +{ + uart_write_byte(BOOT_USART_MODULE, (uint8_t)value); + return 1; +} + +int serial_getc(void) +{ + uint16_t retval; + //Wait until input buffer is filled + while(!(serial_is_rx_ready())); + retval = (uint16_t)uart_read_byte(BOOT_USART_MODULE); + //usart_read_wait(&usart_sam_ba, &retval); + return (int)retval; + +} + +int serial_sharp_received(void) +{ + if (serial_is_rx_ready()) + { + if (serial_getc() == SHARP_CHARACTER) + return (true); + } + return (false); +} + +bool serial_is_rx_ready(void) +{ + return (BOOT_USART_MODULE->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_RXC); +} + +int serial_readc(void) +{ + int retval; + retval = buffer_rx_usart[idx_rx_read]; + idx_rx_read = (idx_rx_read + 1) & (USART_BUFFER_SIZE - 1); + return (retval); +} + +//Send given data (polling) +uint32_t serial_putdata(void const* data, uint32_t length) +{ + uint32_t i; + uint8_t* ptrdata; + ptrdata = (uint8_t*) data; + for (i = 0; i < length; i++) + { + serial_putc(*ptrdata); + ptrdata++; + } + return (i); +} + +//Get data from comm. device +uint32_t serial_getdata(void* data, uint32_t length) +{ + uint8_t* ptrdata; + ptrdata = (uint8_t*) data; + *ptrdata = serial_getc(); + return (1); +} + +static const uint16_t crc16Table[256]= +{ + 0x0000,0x1021,0x2042,0x3063,0x4084,0x50a5,0x60c6,0x70e7, + 0x8108,0x9129,0xa14a,0xb16b,0xc18c,0xd1ad,0xe1ce,0xf1ef, + 0x1231,0x0210,0x3273,0x2252,0x52b5,0x4294,0x72f7,0x62d6, + 0x9339,0x8318,0xb37b,0xa35a,0xd3bd,0xc39c,0xf3ff,0xe3de, + 0x2462,0x3443,0x0420,0x1401,0x64e6,0x74c7,0x44a4,0x5485, + 0xa56a,0xb54b,0x8528,0x9509,0xe5ee,0xf5cf,0xc5ac,0xd58d, + 0x3653,0x2672,0x1611,0x0630,0x76d7,0x66f6,0x5695,0x46b4, + 0xb75b,0xa77a,0x9719,0x8738,0xf7df,0xe7fe,0xd79d,0xc7bc, + 0x48c4,0x58e5,0x6886,0x78a7,0x0840,0x1861,0x2802,0x3823, + 0xc9cc,0xd9ed,0xe98e,0xf9af,0x8948,0x9969,0xa90a,0xb92b, + 0x5af5,0x4ad4,0x7ab7,0x6a96,0x1a71,0x0a50,0x3a33,0x2a12, + 0xdbfd,0xcbdc,0xfbbf,0xeb9e,0x9b79,0x8b58,0xbb3b,0xab1a, + 0x6ca6,0x7c87,0x4ce4,0x5cc5,0x2c22,0x3c03,0x0c60,0x1c41, + 0xedae,0xfd8f,0xcdec,0xddcd,0xad2a,0xbd0b,0x8d68,0x9d49, + 0x7e97,0x6eb6,0x5ed5,0x4ef4,0x3e13,0x2e32,0x1e51,0x0e70, + 0xff9f,0xefbe,0xdfdd,0xcffc,0xbf1b,0xaf3a,0x9f59,0x8f78, + 0x9188,0x81a9,0xb1ca,0xa1eb,0xd10c,0xc12d,0xf14e,0xe16f, + 0x1080,0x00a1,0x30c2,0x20e3,0x5004,0x4025,0x7046,0x6067, + 0x83b9,0x9398,0xa3fb,0xb3da,0xc33d,0xd31c,0xe37f,0xf35e, + 0x02b1,0x1290,0x22f3,0x32d2,0x4235,0x5214,0x6277,0x7256, + 0xb5ea,0xa5cb,0x95a8,0x8589,0xf56e,0xe54f,0xd52c,0xc50d, + 0x34e2,0x24c3,0x14a0,0x0481,0x7466,0x6447,0x5424,0x4405, + 0xa7db,0xb7fa,0x8799,0x97b8,0xe75f,0xf77e,0xc71d,0xd73c, + 0x26d3,0x36f2,0x0691,0x16b0,0x6657,0x7676,0x4615,0x5634, + 0xd94c,0xc96d,0xf90e,0xe92f,0x99c8,0x89e9,0xb98a,0xa9ab, + 0x5844,0x4865,0x7806,0x6827,0x18c0,0x08e1,0x3882,0x28a3, + 0xcb7d,0xdb5c,0xeb3f,0xfb1e,0x8bf9,0x9bd8,0xabbb,0xbb9a, + 0x4a75,0x5a54,0x6a37,0x7a16,0x0af1,0x1ad0,0x2ab3,0x3a92, + 0xfd2e,0xed0f,0xdd6c,0xcd4d,0xbdaa,0xad8b,0x9de8,0x8dc9, + 0x7c26,0x6c07,0x5c64,0x4c45,0x3ca2,0x2c83,0x1ce0,0x0cc1, + 0xef1f,0xff3e,0xcf5d,0xdf7c,0xaf9b,0xbfba,0x8fd9,0x9ff8, + 0x6e17,0x7e36,0x4e55,0x5e74,0x2e93,0x3eb2,0x0ed1,0x1ef0 +}; + +//*---------------------------------------------------------------------------- +//* \brief Compute the CRC +//*---------------------------------------------------------------------------- +unsigned short serial_add_crc(char ptr, unsigned short crc) +{ + return (crc << 8) ^ crc16Table[((crc >> 8) ^ ptr) & 0xff]; +} + +//*---------------------------------------------------------------------------- +//* \brief +//*---------------------------------------------------------------------------- +static uint16_t getbytes(uint8_t *ptr_data, uint16_t length) +{ + uint16_t crc = 0; + uint16_t cpt; + uint8_t c; + + for (cpt = 0; cpt < length; ++cpt) + { + c = serial_getc(); + if (error_timeout) + return 1; + crc = serial_add_crc(c, crc); + //crc = (crc << 8) ^ xcrc16tab[(crc>>8) ^ c]; + if (size_of_data || mode_of_transfer) + { + *ptr_data++ = c; + if (length == PKTLEN_128) + size_of_data--; + } + } + + return crc; +} + +//*---------------------------------------------------------------------------- +//* \brief Used by Xup to send packets. +//*---------------------------------------------------------------------------- +static int putPacket(uint8_t *tmppkt, uint8_t sno) +{ + uint32_t i; + uint16_t chksm; + uint8_t data; + + chksm = 0; + + serial_putc(SOH); + + serial_putc(sno); + serial_putc((uint8_t) ~(sno)); + + for (i = 0; i < PKTLEN_128; i++) + { + if (size_of_data || mode_of_transfer) + { + data = *tmppkt++; + size_of_data--; + } + else + data = 0x00; + + serial_putc(data); + + //chksm = (chksm<<8) ^ xcrc16tab[(chksm>>8)^data]; + chksm = serial_add_crc(data, chksm); + } + + /* An "endian independent way to extract the CRC bytes. */ + serial_putc((uint8_t) (chksm >> 8)); + serial_putc((uint8_t) chksm); + + return (serial_getc()); /* Wait for ack */ +} + +//*---------------------------------------------------------------------------- +//* \brief Called when a transfer from target to host is being made (considered +//* an upload). +//*---------------------------------------------------------------------------- +//Send given data (polling) using xmodem (if necessary) +uint32_t serial_putdata_xmd(void const* data, uint32_t length) +{ + uint8_t c, sno = 1; + uint8_t done; + uint8_t * ptr_data = (uint8_t *) data; + error_timeout = 0; + if (!length) + mode_of_transfer = 1; + else + { + size_of_data = length; + mode_of_transfer = 0; + } + + if (length & (PKTLEN_128 - 1)) + { + length += PKTLEN_128; + length &= ~(PKTLEN_128 - 1); + } + + /* Startup synchronization... */ + /* Wait to receive a NAK or 'C' from receiver. */ + done = 0; + while (!done) { + c = (uint8_t) serial_getc(); + if (error_timeout) + { // Test for timeout in serial_getc + error_timeout = 0; + c = (uint8_t) serial_getc(); + if (error_timeout) + { + error_timeout = 0; + return (0); + } + } + switch (c) + { + case NAK: + done = 1; + // ("CSM"); + break; + case 'C': + done = 1; + // ("CRC"); + break; + case 'q': /* ELS addition, not part of XMODEM spec. */ + return (0); + default: + break; + } + } + + done = 0; + sno = 1; + while (!done) + { + c = (uint8_t) putPacket((uint8_t *) ptr_data, sno); + if (error_timeout) + { // Test for timeout in serial_getc + error_timeout = 0; + return (0); + } + switch (c) + { + case ACK: + ++sno; + length -= PKTLEN_128; + ptr_data += PKTLEN_128; + // ("A"); + break; + + case NAK: + // ("N"); + break; + + case CAN: + case EOT: + default: + done = 0; + break; + } + + if (!length) + { + serial_putc(EOT); + serial_getc(); /* Flush the ACK */ + break; + } + // ("!"); + } + + mode_of_transfer = 0; + // ("Xup_done."); + return (1); + // return(0); +} + +/*---------------------------------------------------------------------------- + * \brief Used by serial_getdata_xmd to retrieve packets. + */ +static uint8_t getPacket(uint8_t *ptr_data, uint8_t sno) +{ + uint8_t seq[2]; + uint16_t crc, xcrc; + + getbytes(seq, 2); + xcrc = getbytes(ptr_data, PKTLEN_128); + if (error_timeout) + return (false); + + /* An "endian independent way to combine the CRC bytes. */ + crc = (uint16_t) serial_getc() << 8; + crc += (uint16_t) serial_getc(); + + if (error_timeout == 1) + return (false); + + if ((crc != xcrc) || (seq[0] != sno) || (seq[1] != (uint8_t) (~sno))) + { + serial_putc(CAN); + return (false); + } + + serial_putc(ACK); + return (true); +} + +//*---------------------------------------------------------------------------- +//* \brief Called when a transfer from host to target is being made (considered +//* an download). +//*---------------------------------------------------------------------------- +//Get data from comm. device using xmodem (if necessary) +uint32_t serial_getdata_xmd(void* data, uint32_t length) +{ + uint32_t timeout; + char c; + uint8_t * ptr_data = (uint8_t *) data; + uint32_t b_run, nbr_of_timeout = 100; + uint8_t sno = 0x01; + uint32_t data_transfered = 0; + + //Copied from legacy source code ... might need some tweaking + uint32_t loops_per_second = CPU_FREQUENCY/60; + + error_timeout = 0; + + if (length == 0) + mode_of_transfer = 1; + else + { + size_of_data = length; + mode_of_transfer = 0; + } + + /* Startup synchronization... */ + /* Continuously send NAK or 'C' until sender responds. */ + // ("Xdown"); + while (1) + { + serial_putc('C'); + timeout = loops_per_second; + while (!(serial_is_rx_ready()) && timeout) + timeout--; + if (timeout) + break; + + if (!(--nbr_of_timeout)) + return (0); +// return -1; + } + + b_run = true; + // ("Got response"); + while (b_run != false) + { + c = (char) serial_getc(); + if (error_timeout) + { // Test for timeout in serial_getc + error_timeout = 0; + return (0); +// return (-1); + } + switch (c) + { + case SOH: /* 128-byte incoming packet */ + // ("O"); + b_run = getPacket(ptr_data, sno); + if (error_timeout) + { // Test for timeout in serial_getc + error_timeout = 0; + return (0); + // return (-1); + } + if (b_run == true) + { + ++sno; + ptr_data += PKTLEN_128; + data_transfered += PKTLEN_128; + } + break; + case EOT: // ("E"); + serial_putc(ACK); + b_run = false; + break; + case CAN: // ("C"); + case ESC: /* "X" User-invoked abort */ + default: + b_run = false; + break; + } + // ("!"); + } + mode_of_transfer = 0; + return (true); +// return(b_run); +} + diff --git a/sparkfun/samd/bootloaders/spectacle/sam_ba_serial.h b/sparkfun/samd/bootloaders/spectacle/sam_ba_serial.h new file mode 100644 index 00000000..cb69f459 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/sam_ba_serial.h @@ -0,0 +1,143 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef _SAM_BA_SERIAL_H_ +#define _SAM_BA_SERIAL_H_ + +#include +#include + + +/* USART buffer size (must be a power of two) */ +#define USART_BUFFER_SIZE (128) + +/* Define the default time-out value for USART. */ +#define USART_DEFAULT_TIMEOUT (1000) + +/* Xmodem related defines */ +/* CRC16 polynomial */ +#define CRC16POLY (0x1021) + +#define SHARP_CHARACTER '#' + +/* X/Ymodem protocol: */ +#define SOH (0x01) +//#define STX (0x02) +#define EOT (0x04) +#define ACK (0x06) +#define NAK (0x15) +#define CAN (0x18) +#define ESC (0x1b) + +#define PKTLEN_128 (128) + + +/** + * \brief Open the given USART + */ +void serial_open(void); + +/** + * \brief Stops the USART + */ +void serial_close(void); + +/** + * \brief Puts a byte on usart line + * + * \param value Value to put + * + * \return \c 1 if function was successfully done, otherwise \c 0. + */ +int serial_putc(int value); + +/** + * \brief Waits and gets a value on usart line + * + * \return value read on usart line + */ +int serial_getc(void); + +/** + * \brief Returns true if the SAM-BA Uart received the sharp char + * + * \return Returns true if the SAM-BA Uart received the sharp char + */ +int serial_sharp_received(void); + +/** + * \brief This function checks if a character has been received on the usart line + * + * \return \c 1 if a byte is ready to be read. + */ +bool serial_is_rx_ready(void); + +/** + * \brief Gets a value on usart line + * + * \return value read on usart line + */ +int serial_readc(void); + +/** + * \brief Send buffer on usart line + * + * \param data pointer + * \param number of data to send + * \return number of data sent + */ +uint32_t serial_putdata(void const* data, uint32_t length); //Send given data (polling) + +/** + * \brief Gets data from usart line + * + * \param data pointer + * \param number of data to get + * \return value read on usart line + */ +uint32_t serial_getdata(void* data, uint32_t length); //Get data from comm. device + +/** + * \brief Send buffer on usart line using Xmodem protocol + * + * \param data pointer + * \param number of data to send + * \return number of data sent + */ +uint32_t serial_putdata_xmd(void const* data, uint32_t length); //Send given data (polling) using xmodem (if necessary) + +/** + * \brief Gets data from usart line using Xmodem protocol + * + * \param data pointer + * \param number of data to get + * \return value read on usart line + */ +uint32_t serial_getdata_xmd(void* data, uint32_t length); //Get data from comm. device using xmodem (if necessary) + +/** + * \brief Compute the CRC + * + * \param Char to add to CRC + * \param Previous CRC + * \return The new computed CRC + */ +unsigned short serial_add_crc(char c, unsigned short crc); + +#endif // _SAM_BA_SERIAL_H_ diff --git a/sparkfun/samd/bootloaders/spectacle/sam_ba_usb.c b/sparkfun/samd/bootloaders/spectacle/sam_ba_usb.c new file mode 100644 index 00000000..068b81d8 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/sam_ba_usb.c @@ -0,0 +1,436 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include +#include +#include "board_definitions.h" +#include "sam_ba_usb.h" +#include "board_driver_usb.h" +#include "sam_ba_cdc.h" + +/* This data array will be copied into SRAM as its length is inferior to 64 bytes, + * and so can stay in flash. + */ +static __attribute__((__aligned__(4))) +const char devDescriptor[] = +{ + /* Device descriptor */ + 0x12, // bLength + 0x01, // bDescriptorType + 0x00, // bcdUSB L + 0x02, // bcdUSB H + 0x02, // bDeviceClass: CDC class code + 0x00, // bDeviceSubclass: CDC class sub code + 0x00, // bDeviceProtocol: CDC Device protocol + 0x40, // bMaxPacketSize0 + USB_VID_LOW, // idVendor L + USB_VID_HIGH, // idVendor H + USB_PID_LOW, // idProduct L + USB_PID_HIGH, // idProduct H + 0x00, // bcdDevice L, here matching SAM-BA version + 0x02, // bcdDevice H + STRING_INDEX_MANUFACTURER, // iManufacturer + STRING_INDEX_PRODUCT, // iProduct + 0x00, // SerialNumber, should be based on product unique ID + 0x01 // bNumConfigs +}; + +/* This data array will be consumed directly by USB_Write() and must be in SRAM. + * We cannot send data from product internal flash. + */ +static __attribute__((__aligned__(4))) +char cfgDescriptor[] = +{ + /* ============== CONFIGURATION 1 =========== */ + /* Configuration 1 descriptor */ + 0x09, // CbLength + 0x02, // CbDescriptorType + 0x43, // CwTotalLength 2 EP + Control + 0x00, + 0x02, // CbNumInterfaces + 0x01, // CbConfigurationValue + 0x00, // CiConfiguration + 0x80, // CbmAttributes Bus powered without remote wakeup: 0x80, Self powered without remote wakeup: 0xc0 + 0x32, // CMaxPower, report using 100mA, enough for a bootloader + + /* Communication Class Interface Descriptor Requirement */ + 0x09, // bLength + 0x04, // bDescriptorType + 0x00, // bInterfaceNumber + 0x00, // bAlternateSetting + 0x01, // bNumEndpoints + 0x02, // bInterfaceClass + 0x02, // bInterfaceSubclass + 0x00, // bInterfaceProtocol + 0x00, // iInterface + + /* Header Functional Descriptor */ + 0x05, // bFunction Length + 0x24, // bDescriptor type: CS_INTERFACE + 0x00, // bDescriptor subtype: Header Func Desc + 0x10, // bcdCDC:1.1 + 0x01, + + /* ACM Functional Descriptor */ + 0x04, // bFunctionLength + 0x24, // bDescriptor Type: CS_INTERFACE + 0x02, // bDescriptor Subtype: ACM Func Desc + 0x00, // bmCapabilities + + /* Union Functional Descriptor */ + 0x05, // bFunctionLength + 0x24, // bDescriptorType: CS_INTERFACE + 0x06, // bDescriptor Subtype: Union Func Desc + 0x00, // bMasterInterface: Communication Class Interface + 0x01, // bSlaveInterface0: Data Class Interface + + /* Call Management Functional Descriptor */ + 0x05, // bFunctionLength + 0x24, // bDescriptor Type: CS_INTERFACE + 0x01, // bDescriptor Subtype: Call Management Func Desc + 0x00, // bmCapabilities: D1 + D0 + 0x01, // bDataInterface: Data Class Interface 1 + + /* Endpoint 1 descriptor */ + 0x07, // bLength + 0x05, // bDescriptorType + 0x83, // bEndpointAddress, Endpoint 03 - IN + 0x03, // bmAttributes INT + 0x08, // wMaxPacketSize + 0x00, + 0xFF, // bInterval + + /* Data Class Interface Descriptor Requirement */ + 0x09, // bLength + 0x04, // bDescriptorType + 0x01, // bInterfaceNumber + 0x00, // bAlternateSetting + 0x02, // bNumEndpoints + 0x0A, // bInterfaceClass + 0x00, // bInterfaceSubclass + 0x00, // bInterfaceProtocol + 0x00, // iInterface + + /* First alternate setting */ + /* Endpoint 1 descriptor */ + 0x07, // bLength + 0x05, // bDescriptorType + 0x81, // bEndpointAddress, Endpoint 01 - IN + 0x02, // bmAttributes BULK + USB_EP_IN_SIZE, // wMaxPacketSize + 0x00, + 0x00, // bInterval + + /* Endpoint 2 descriptor */ + 0x07, // bLength + 0x05, // bDescriptorType + 0x02, // bEndpointAddress, Endpoint 02 - OUT + 0x02, // bmAttributes BULK + USB_EP_OUT_SIZE, // wMaxPacketSize + 0x00, + 0x00 // bInterval +}; + +#ifndef STRING_MANUFACTURER +# define STRING_MANUFACTURER "Arduino LLC" +#endif + +#ifndef STRING_PRODUCT +# define STRING_PRODUCT "Arduino Zero" +#endif + +USB_CDC sam_ba_cdc; + +/*---------------------------------------------------------------------------- + * \brief This function is a callback invoked when a SETUP packet is received + */ +void sam_ba_usb_CDC_Enumerate(P_USB_CDC pCdc) +{ + Usb *pUsb = pCdc->pUsb; + static volatile uint8_t bmRequestType, bRequest, dir; + static volatile uint16_t wValue, wIndex, wLength, wStatus; + + /* Clear the Received Setup flag */ + pUsb->DEVICE.DeviceEndpoint[0].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_RXSTP; + + /* Read the USB request parameters */ + bmRequestType = udd_ep_out_cache_buffer[0][0]; + bRequest = udd_ep_out_cache_buffer[0][1]; + wValue = (udd_ep_out_cache_buffer[0][2] & 0xFF); + wValue |= (udd_ep_out_cache_buffer[0][3] << 8); + wIndex = (udd_ep_out_cache_buffer[0][4] & 0xFF); + wIndex |= (udd_ep_out_cache_buffer[0][5] << 8); + wLength = (udd_ep_out_cache_buffer[0][6] & 0xFF); + wLength |= (udd_ep_out_cache_buffer[0][7] << 8); + + /* Clear the Bank 0 ready flag on Control OUT */ + pUsb->DEVICE.DeviceEndpoint[0].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUSCLR_BK0RDY; + + /* Handle supported standard device request Cf Table 9-3 in USB specification Rev 1.1 */ + switch ((bRequest << 8) | bmRequestType) + { + case STD_GET_DESCRIPTOR: + if (wValue>>8 == STD_GET_DESCRIPTOR_DEVICE) + { + /* Return Device Descriptor */ + USB_Write(pCdc->pUsb, devDescriptor, SAM_BA_MIN(sizeof(devDescriptor), wLength), USB_EP_CTRL); + } + else if (wValue>>8 == STD_GET_DESCRIPTOR_CONFIGURATION) + { + /* Return Configuration Descriptor */ + USB_Write(pCdc->pUsb, cfgDescriptor, SAM_BA_MIN(sizeof(cfgDescriptor), wLength), USB_EP_CTRL); + } + else if (wValue>>8 == STD_GET_DESCRIPTOR_STRING) + { + switch ( wValue & 0xff ) + { + case STRING_INDEX_LANGUAGES: { + uint16_t STRING_LANGUAGE[2] = { (STD_GET_DESCRIPTOR_STRING<<8) | 4, 0x0409 }; + + USB_Write(pCdc->pUsb, (const char*)STRING_LANGUAGE, SAM_BA_MIN(sizeof(STRING_LANGUAGE), wLength), USB_EP_CTRL); + } + break; + + case STRING_INDEX_MANUFACTURER: + USB_SendString(pCdc->pUsb, STRING_MANUFACTURER, wLength ); + break; + + case STRING_INDEX_PRODUCT: + USB_SendString(pCdc->pUsb, STRING_PRODUCT, wLength ); + break; + default: + /* Stall the request */ + USB_SendStall(pUsb, true); + break; + } + } + else + { + /* Stall the request */ + USB_SendStall(pUsb, true); + } + break; + + case STD_SET_ADDRESS: + /* Send ZLP */ + USB_SendZlp(pUsb); + /* Set device address to the newly received address from host */ + USB_SetAddress(pCdc->pUsb, wValue); + break; + + case STD_SET_CONFIGURATION: + /* Store configuration */ + pCdc->currentConfiguration = (uint8_t)wValue; + + /* Send ZLP */ + USB_SendZlp(pUsb); + + /* Configure the 3 needed endpoints */ + USB_Configure(pUsb); + break; + + case STD_GET_CONFIGURATION: + /* Return current configuration value */ + USB_Write(pCdc->pUsb, (char *) &(pCdc->currentConfiguration), sizeof(pCdc->currentConfiguration), USB_EP_CTRL); + break; + + case STD_GET_STATUS_ZERO: + wStatus = 0; + USB_Write(pCdc->pUsb, (char *) &wStatus, sizeof(wStatus), USB_EP_CTRL); + break; + + case STD_GET_STATUS_INTERFACE: + wStatus = 0; + USB_Write(pCdc->pUsb, (char *) &wStatus, sizeof(wStatus), USB_EP_CTRL); + break; + + case STD_GET_STATUS_ENDPOINT: + wStatus = 0; + dir = wIndex & 80; + wIndex &= 0x0F; + if (wIndex <= 3) + { + if (dir) + { + wStatus = (pUsb->DEVICE.DeviceEndpoint[wIndex].EPSTATUS.reg & USB_DEVICE_EPSTATUSSET_STALLRQ1) ? 1 : 0; + } + else + { + wStatus = (pUsb->DEVICE.DeviceEndpoint[wIndex].EPSTATUS.reg & USB_DEVICE_EPSTATUSSET_STALLRQ0) ? 1 : 0; + } + /* Return current status of endpoint */ + USB_Write(pCdc->pUsb, (char *) &wStatus, sizeof(wStatus), USB_EP_CTRL); + } + else + { + /* Stall the request */ + USB_SendStall(pUsb, true); + } + break; + + case STD_SET_FEATURE_ZERO: + /* Stall the request */ + USB_SendStall(pUsb, true); + break; + + case STD_SET_FEATURE_INTERFACE: + /* Send ZLP */ + USB_SendZlp(pUsb); + break; + + case STD_SET_FEATURE_ENDPOINT: + dir = wIndex & 0x80; + wIndex &= 0x0F; + if ((wValue == 0) && wIndex && (wIndex <= 3)) + { + /* Set STALL request for the endpoint */ + if (dir) + { + pUsb->DEVICE.DeviceEndpoint[wIndex].EPSTATUSSET.reg = USB_DEVICE_EPSTATUSSET_STALLRQ1; + } + else + { + pUsb->DEVICE.DeviceEndpoint[wIndex].EPSTATUSSET.reg = USB_DEVICE_EPSTATUSSET_STALLRQ0; + } + + /* Send ZLP */ + USB_SendZlp(pUsb); + } + else + { + /* Stall the request */ + USB_SendStall(pUsb, true); + } + break; + + case STD_SET_INTERFACE: + case STD_CLEAR_FEATURE_ZERO: + /* Stall the request */ + USB_SendStall(pUsb, true); + break; + + case STD_CLEAR_FEATURE_INTERFACE: + /* Send ZLP */ + USB_SendZlp(pUsb); + break; + + case STD_CLEAR_FEATURE_ENDPOINT: + dir = wIndex & 0x80; + wIndex &= 0x0F; + + if ((wValue == 0) && wIndex && (wIndex <= 3)) + { + if (dir) + { + if (pUsb->DEVICE.DeviceEndpoint[wIndex].EPSTATUS.bit.STALLRQ1) + { + // Remove stall request + pUsb->DEVICE.DeviceEndpoint[wIndex].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUSCLR_STALLRQ1; + if (pUsb->DEVICE.DeviceEndpoint[wIndex].EPINTFLAG.bit.STALL1) + { + pUsb->DEVICE.DeviceEndpoint[wIndex].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL1; + // The Stall has occurred, then reset data toggle + pUsb->DEVICE.DeviceEndpoint[wIndex].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUSSET_DTGLIN; + } + } + } + else + { + if (pUsb->DEVICE.DeviceEndpoint[wIndex].EPSTATUS.bit.STALLRQ0) + { + // Remove stall request + pUsb->DEVICE.DeviceEndpoint[wIndex].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUSCLR_STALLRQ0; + if (pUsb->DEVICE.DeviceEndpoint[wIndex].EPINTFLAG.bit.STALL0) + { + pUsb->DEVICE.DeviceEndpoint[wIndex].EPINTFLAG.reg = USB_DEVICE_EPINTFLAG_STALL0; + // The Stall has occurred, then reset data toggle + pUsb->DEVICE.DeviceEndpoint[wIndex].EPSTATUSCLR.reg = USB_DEVICE_EPSTATUSSET_DTGLOUT; + } + } + } + /* Send ZLP */ + USB_SendZlp(pUsb); + } + else + { + USB_SendStall(pUsb, true); + } + break; + + // handle CDC class requests + case SET_LINE_CODING: + /* Send ZLP */ + USB_SendZlp(pUsb); + break; + + case GET_LINE_CODING: + /* Send current line coding */ + USB_Write(pCdc->pUsb, (char *) &line_coding, SAM_BA_MIN(sizeof(usb_cdc_line_coding_t), wLength), USB_EP_CTRL); + break; + + case SET_CONTROL_LINE_STATE: + /* Store the current connection */ + pCdc->currentConnection = wValue; + /* Send ZLP */ + USB_SendZlp(pUsb); + break; + + default: + /* Stall the request */ + USB_SendStall(pUsb, true); + break; + } +} + +/*---------------------------------------------------------------------------- + * \brief + */ +P_USB_CDC usb_init(void) +{ + sam_ba_cdc.pUsb = USB; + + /* Initialize USB */ + USB_Init(); + /* Get the default CDC structure settings */ + USB_Open(&sam_ba_cdc, sam_ba_cdc.pUsb); + + return &sam_ba_cdc; +} + +/*---------------------------------------------------------------------------- + * \brief Send a USB descriptor string. + * + * The input string is plain ASCII but is sent out as UTF-16 with the correct 2-byte prefix. + */ +uint32_t USB_SendString(Usb *pUsb, const char* ascii_string, uint8_t maxLength) +{ + uint8_t string_descriptor[255]; // Max USB-allowed string length + uint16_t* unicode_string=(uint16_t*)(string_descriptor+2); // point on 3 bytes of descriptor + int resulting_length; + + string_descriptor[0] = (strlen(ascii_string)<<1) + 2; + string_descriptor[1] = STD_GET_DESCRIPTOR_STRING; + + for ( resulting_length = 1 ; *ascii_string && (resulting_length>1) ; resulting_length++ ) + { + *unicode_string++ = (uint16_t)(*ascii_string++); + } + + return USB_Write(pUsb, (const char*)string_descriptor, resulting_length<<1, USB_EP_CTRL); +} diff --git a/sparkfun/samd/bootloaders/spectacle/sam_ba_usb.h b/sparkfun/samd/bootloaders/spectacle/sam_ba_usb.h new file mode 100644 index 00000000..457fdbc0 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/sam_ba_usb.h @@ -0,0 +1,103 @@ +/* + Copyright (c) 2015 Arduino LLC. All right reserved. + Copyright (c) 2015 Atmel Corporation/Thibaut VIARD. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef CDC_ENUMERATE_H +#define CDC_ENUMERATE_H + +#include +#include + +#define USB_EP_CTRL (0u) +#define USB_EP_OUT (2u) +#define USB_EP_OUT_SIZE (0x40u) +#define USB_EP_IN (1u) +#define USB_EP_IN_SIZE (0x40u) +#define USB_EP_COMM (3u) +#define MAX_EP (4u) + +/* USB standard request code */ +#define STD_GET_STATUS_ZERO (0x0080u) +#define STD_GET_STATUS_INTERFACE (0x0081u) +#define STD_GET_STATUS_ENDPOINT (0x0082u) + +#define STD_CLEAR_FEATURE_ZERO (0x0100u) +#define STD_CLEAR_FEATURE_INTERFACE (0x0101u) +#define STD_CLEAR_FEATURE_ENDPOINT (0x0102u) + +#define STD_SET_FEATURE_ZERO (0x0300u) +#define STD_SET_FEATURE_INTERFACE (0x0301u) +#define STD_SET_FEATURE_ENDPOINT (0x0302u) + +#define STD_SET_ADDRESS (0x0500u) +#define STD_GET_DESCRIPTOR (0x0680u) +#define STD_SET_DESCRIPTOR (0x0700u) +#define STD_GET_CONFIGURATION (0x0880u) +#define STD_SET_CONFIGURATION (0x0900u) +#define STD_GET_INTERFACE (0x0A81u) +#define STD_SET_INTERFACE (0x0B01u) +#define STD_SYNCH_FRAME (0x0C82u) + +#define STD_GET_DESCRIPTOR_DEVICE (1u) +#define STD_GET_DESCRIPTOR_CONFIGURATION (2u) +#define STD_GET_DESCRIPTOR_STRING (3u) +#define STD_GET_DESCRIPTOR_INTERFACE (4u) +#define STD_GET_DESCRIPTOR_ENDPOINT (5u) +#define STD_GET_DESCRIPTOR_DEVICE_QUALIFIER (6u) +#define STD_GET_DESCRIPTOR_OTHER_SPEED_CONFIGURATION (7u) +#define STD_GET_DESCRIPTOR_INTERFACE_POWER1 (8u) + +#define FEATURE_ENDPOINT_HALT (0u) +#define FEATURE_DEVICE_REMOTE_WAKEUP (1u) +#define FEATURE_TEST_MODE (2u) + +#define STRING_INDEX_LANGUAGES (0x00u) +#define STRING_INDEX_MANUFACTURER (0x01u) +#define STRING_INDEX_PRODUCT (0x02u) + +#define SAM_BA_MIN(a, b) (((a) < (b)) ? (a) : (b)) + + +typedef struct _USB_CDC +{ + // Private members + Usb *pUsb; + uint8_t currentConfiguration; + uint8_t currentConnection; + // Public Methods: + uint8_t (*IsConfigured)(struct _USB_CDC *pCdc); +// uint32_t (*Write) (Usb *pUsb, const char *pData, uint32_t length, uint8_t ep_num); +// uint32_t (*Read) (Usb *pUsb, char *pData, uint32_t length); +} USB_CDC, *P_USB_CDC; + +/** + * \brief Initializes the USB module + * + * \return Pointer to the USB CDC structure + */ +P_USB_CDC usb_init(void); + +void sam_ba_usb_CDC_Enumerate(P_USB_CDC pCdc); + +uint32_t USB_SendString(Usb *pUsb, const char* ascii_string, uint8_t maxLength); + +extern USB_CDC sam_ba_cdc; + + + +#endif // CDC_ENUMERATE_H diff --git a/sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.atsln b/sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.atsln new file mode 100644 index 00000000..0641335d --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.atsln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Atmel Studio Solution File, Format Version 11.00 +VisualStudioVersion = 14.0.23107.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "sparkfun_spectacle", "sparkfun_spectacle.cproj", "{DCE6C7E3-EE26-4D79-826B-08594B9AD897}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Release|ARM = Release|ARM + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|ARM.ActiveCfg = Debug|ARM + {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|ARM.Build.0 = Debug|ARM + {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|ARM.ActiveCfg = Release|ARM + {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|ARM.Build.0 = Release|ARM + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.bin b/sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.bin new file mode 100644 index 0000000000000000000000000000000000000000..7aed3449d62bbaf51c4d0443dcfd2789a9824456 GIT binary patch literal 5404 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 QNy%wds0O~Xq&ocm8y&0urvLx| literal 0 HcmV?d00001 diff --git a/sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.componentinfo.xml b/sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.componentinfo.xml new file mode 100644 index 00000000..e2757552 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.componentinfo.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.cproj b/sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.cproj new file mode 100644 index 00000000..3894f194 --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.cproj @@ -0,0 +1,229 @@ + + + + 2.0 + 7.0 + com.Atmel.ARMGCC.C + dce6c7e3-ee26-4d79-826b-08594b9ad897 + ATSAMD21G18A + none + Executable + C + $(MSBuildProjectName) + .elf + $(MSBuildProjectDirectory)\$(Configuration) + sparkfun_spectacle + sparkfun_spectacle + sparkfun_spectacle + Native + true + false + true + true + 0x20000000 + + true + exception_table + 2 + 0 + + + + + + + + + + + + + + com.atmel.avrdbg.tool.jtagice3plus + J30200029917 + 0x10010005 + SWD + + + + 0 + + SWD + + com.atmel.avrdbg.tool.atmelice + J41800001895 + Atmel-ICE + + 2000000 + + + + + SWD + + com.atmel.avrdbg.tool.edbg + ATML2320040200000259 + EDBG + + + + + 2000000 + + SWD + + com.atmel.avrdbg.tool.jtagice3plus + J30200029917 + JTAGICE3 + + + + + + True + True + True + True + True + + + NDEBUG + + + Optimize for size (-Os) + True + True + + + libm + + + True + -Tsamd21j18a_flash.ld + + + + + + + True + True + True + True + True + + + DEBUG + + + Optimize (-O1) + True + Maximum (-g3) + True + + + libm + + + True + -Tsamd21j18a_flash.ld + Default (-g) + Default (-Wa,-g) + + + True + + DEBUG=1 all + clean + Makefile + + + + compile + board_definitions.h + + + compile + board_driver_led.c + + + compile + board_driver_led.h + + + compile + board_driver_serial.c + + + compile + board_driver_serial.h + + + compile + board_driver_usb.c + + + compile + board_driver_usb.h + + + compile + board_init.c + + + compile + board_startup.c + + + compile + main.c + + + compile + sam_ba_cdc.c + + + compile + sam_ba_cdc.h + + + compile + sam_ba_monitor.c + + + compile + sam_ba_monitor.h + + + compile + sam_ba_serial.c + + + compile + sam_ba_serial.h + + + compile + sam_ba_usb.c + + + compile + sam_ba_usb.h + + + + + compile + Makefile + + + compile + README.md + + + compile + bootloader_samd21x18.ld + + + + \ No newline at end of file diff --git a/sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.hex b/sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.hex new file mode 100644 index 00000000..4866cedb --- /dev/null +++ b/sparkfun/samd/bootloaders/spectacle/sparkfun_spectacle.hex @@ -0,0 +1,340 @@ +:10000000FC7F00209D0500008D050000910500008B +:1000100000000000000000000000000000000000E0 +:100020000000000000000000000000009505000036 +:10003000000000000000000099050000CD0600004F +:1000400010B5064C2378002B07D1054B002B02D0AE +:10005000044800E000BF0123237010BD5C000020B5 +:1000600000000000BC14000008B5084B002B03D0B2 +:100070000748084900E000BF07480368002B03D089 +:10008000064B002B00D0984708BDC046000000007A +:10009000BC14000060000020580000200000000098 +:1000A000154A164B1178002909D115491878097895 +:1000B0004118C9B21970802012498002C8611178B4 +:1000C0000131C9B211701978F02902D819780929BB +:1000D00009D80B4908784042C0B2087018780978EE +:1000E0004118C9B2197012781B789A4203D1802244 +:1000F000044B9202DA617047780000200100002072 +:10010000000000200044004170B50368041C988B77 +:100110001A1C0821FF32084226D080209983987249 +:10012000112353704021144B917150715E68134D2F +:10013000C0202E40800506435E605E69354028433E +:1001400058610F4818600F4818615D680E482840D4 +:100150008025AD02284358605868800B80035860A2 +:1001600000235171237105E0137ADA0602D5201CB1 +:1001700000F0E6FA207970BD98010020FFFFFF8FA4 +:100180009800002018010020FF3F00F000230371B9 +:100190004371044B016083600B78022213430B70A0 +:1001A0007047C0460901000038B5364B2021DA6996 +:1001B00001200A43DA61344B06241A7802431A708C +:1001C000324B0F2219789143197019782143197015 +:1001D0002F490C782043087019780A401A701A7851 +:1001E00060210A431A702B4B2B4A5A805A7852B21C +:1001F000002AFBDB294B01211A780A431A709A78EE +:10020000D107FCD426480268510B1F2211409142AD +:1002100000D1052111408C011D8D22492940214327 +:1002200019850468A10C0A401F2A00D11D221C8DCB +:100230001F210A408C4322431A8502680721D20DF0 +:100240000A408A4200D103220A40188D1103164A3F +:1002500002400A431A8519787F220A401A701A78D8 +:10026000042112480A431A7058621A890C218A43E1 +:100270001A811A8901218A431A810021802200F003 +:10028000A4FF38BD00040040584400413C440041F4 +:1002900059440041000C004006400000005000415D +:1002A000246080003FF8FFFFFF8FFFFF98010020D0 +:1002B000F7B5141C1F4A5F0101971D1CD319061CBA +:1002C0005869271C4000400F03301033C74006D048 +:1002D0000F1C8022596812060A435A6009E02F1C3D +:1002E0007B1E9F41144BBF01FF18381C221C00F0DD +:1002F00063FF01990F48083542181761131C5269B2 +:10030000A104920B890C92030A435A6159690B4A62 +:100310000A405A616B01F3180222DA71597980227E +:1003200052420A435A716B01F318DB799A07FAD5E6 +:10033000201CFEBD9801002018010020FF3F00F0A6 +:10034000F8B51A4E051C3378141C002B12D1184B2B +:10035000184A1A645A6C920B92035A64586C164AE3 +:1003600002405A64A2235B00EA5C40200243EA5444 +:10037000012333704827FF37EA5D0123134012D071 +:100380000B4B5A6C9204920CA24202D25C6CA404F5 +:10039000A40C081C221C074900F00EFF0123EB559A +:1003A0000023337000E01C1C201CF8BD79000020E5 +:1003B00098010020D8000020FF3F00F0FF30837933 +:1003C0002022002900D110221343837170470000BE +:1003D000084BFF305A69920B92035A610223037251 +:1003E000827980235B4213438371037A9A07FCD599 +:1003F0007047C0469801002080235B421943C9B270 +:100400008172704770B5A02303225B00C254134B66 +:10041000134A5C6CC021144089050C4346255C647A +:10042000FF35402444550F4D30261D6490256D0046 +:1004300046555D6B15402943922559636D00802117 +:100440004155094D1D63B0256D0044555C6F224038 +:100450005A67B2235B00C15470BDC04698010020AA +:10046000FFFFFF8FD80000205801002030B53B4B24 +:100470001E215A688A4302210A4339495A608B690E +:1004800008221343374A8B611368D804400E364B59 +:1004900000041843354B9861101CDA685407FCD5EA +:1004A000334A012414701478E50704D5304C64787D +:1004B00064B2002CF7DB01249460547864B2002C01 +:1004C000FBDB2C4D2A4C6560547864B2002CFBDBBE +:1004D0008225274CED016580547864B2002CFBDB4B +:1004E0009C8C8025AC439C84DC68E506FCD5224DC1 +:1004F0001E4CE562DC68E506FCD50468A40E3F2CC2 +:1005000000D11F241D481E4D00688005800DA842A3 +:1005100000D11C48A40220439862B22000019884B4 +:10052000DC681248E506FBD5848C02252C438484C4 +:10053000D868C406FCD50023936053785BB2002BC7 +:10054000FBDB11480A4B586053785BB2002BFBDB96 +:1005500000230B724B728B72CB7230BD0040004196 +:1005600000040040246080000606000000080040EF +:10057000000C004001040100B805FF7D28608000E8 +:10058000FF030000FF010000000703000EBEFEE7AE +:100590000DBEFEE705BEFEE702BEFEE70E4A0F48AF +:1005A00038B5824204D10E4A0E4B93420ED10AE076 +:1005B0000D4C9442F7D00023D1188842F3D9E55866 +:1005C00004330D60F8E700F011F804E09342FAD22A +:1005D000002102C3FAE7FEE7000000205C000020D3 +:1005E000980200205C000020C01400002B4A38B59F +:1005F0001368141C01331ED0D1B200291BD1284B23 +:10060000187801231840274B0AD11D6826498D42CE +:1006100001D118600FE01960244901390029FCD18B +:100620001960236883F30888FF239A43204B9A605C +:100630001A4B5B681847FFF719FF62B600F04CF8D9 +:100640001C4B802292021C499A6008220A601B49B6 +:10065000041C0A60802212059A609A61184B194A9C +:10066000C0215A60124A0906106A0002000A0143BA +:10067000116200229A6007221A60A368201C984722 +:10068000114B002801D001221A701B78002BF4D0E6 +:10069000012000F085FA00F0FFFAFCE700200000DE +:1006A00038040040FC7F00203581730748E80100D2 +:1006B00000ED00E0004400418844004198440041BE +:1006C00010E000E0E70300007A00002008B5FFF723 +:1006D000E7FC00F0BDFA08BD10B5054B054C2360E2 +:1006E000FFF762FD201C2168FFF750FD201C10BDA4 +:1006F000005000411802002070B5051CC0B0081C55 +:10070000161C0C1C00F069FD40006A4603230230F1 +:100710005370107076080123E218013A11785A00DC +:10072000002906D1281C69460023FFF7C1FD40B00F +:1007300070BDB342F6DA684681520133ECE700003F +:10074000F7B5BA4A04681378B949271CFF37051C66 +:10075000102038720B705378B648B74E03709378F8 +:100760003380D178338809020B4333801179B34B3E +:100770001980517918880902084318809079B04986 +:100780000880D2790888120202430A8040227A71D6 +:10079000A84F3A78A64F120238780F1C0243A94896 +:1007A0008446181C624500D1C2E020DC802149004B +:1007B0008A4200D16EE109DC812A00D192E0822ACE +:1007C00000D195E0802A00D064E18BE081235B00BA +:1007D0009A4200D1CFE000DA58E1C0239B009A4250 +:1007E00000D157E1984B9A4200D14FE152E190235A +:1007F0001B019A4269D015DCD023DB009A4222D03B +:1008000088231B019A4269D0A023DB009A4200D0C2 +:1008100040E1201CFFF7DCFD3188286889B2FFF732 +:10082000EBFD3BE1894B9A4200D12FE100DC31E145 +:10083000874B9A4200D11DE1864B9A4200D029E1B4 +:1008400033886B7122E133881B0A012B08D10B8896 +:1008500012222868934201D80A8892B27E4911E197 +:1008600033881B0A022B08D10B8843222868934245 +:1008700001D80A8892B2794904E133881B0A032B14 +:1008800000D007E13388DBB2012B17D0002B07D053 +:10089000022B00D0FEE00A882868D2B2704911E02D +:1008A000042201A86F4900F087FC3B8804222868D5 +:1008B000934201D83A8892B201A9E3E00A882868F5 +:1008C0006949D2B2FFF718FFE8E03388201C2B718A +:1008D000FFF77EFD201CFFF795FDDFE0291C01C915 +:1008E0000122CFE0614900230B8028680222CAE080 +:1008F0005E4900220A801888502210405C4A10701D +:100900001E880F20304018801888032800D9C1E0C5 +:1009100012781B8808335B01E418A379002A01D000 +:100920009B0600E0DB06DB0F0B8028680222A9E0B3 +:1009300019887F2291434E4AC9B2117018880F213D +:10094000014019803188002900D0A3E019880029CE +:1009500000D19FE01988032900D99BE012781B88F9 +:1009600008335B01E318002A02D020225A718DE07F +:10097000102159718AE002887F239A433C4BD2B2FE +:100980001A7001880F220A4002803288002A00D0A3 +:1009900080E00288002A00D17CE00288032A00D986 +:1009A00078E01B78002B1FD0038808335B01E31825 +:1009B0009B799A066AD50388202208335B01E318E5 +:1009C0001A71038808335B01E318DB795F065DD594 +:1009D0000388402208335B01E318DA71038802229E +:1009E00008335B01E3181EE0038808335B01E3185A +:1009F0009B79D9064AD50388102208335B01E31896 +:100A00001A71038808335B01E318DB799A063DD538 +:100A10000388202208335B01E318DA71038801227E +:100A200008335B01E3181A7130E0C04698000020DB +:100A30007C0000208200002084000020860000202E +:100A400080000020020300000103000021200000BC +:100A5000A1210000212200002C120000040000202F +:100A60001012000000120000041200007E0000209E +:100A70007B0000200B8808222868934201D80A884E +:100A800092B207490023FFF713FC07E0201CFFF791 +:100A90009FFC03E0201C0121FFF790FCF7BDC0463E +:100AA0004800002007B5054B0122019001A91868F4 +:100AB000131CFFF7FDFB01200EBDC04618020020ED +:100AC00013B5054B6C4607341868211C0122FFF74B +:100AD00037FC207816BDC0461802002010B5074C20 +:100AE000201CFFF711FB031C0020834205D0226865 +:100AF0004823FF33D05C0123184010BD18020020AA +:100B000010B5054A0C1C031C191C10680123221C7B +:100B1000FFF7CEFB201C10BD1802002070B5084C5A +:100B2000061C201C0D1CFFF7EFFA0023984205D08D +:100B30002068311C2A1CFFF703FC031C181C70BD25 +:100B400018020020F8B50C4C051C201C0E1CFFF7E9 +:100B5000DBFA0023271C341C98420AD0002C07D053 +:100B6000291C221C3868FFF7EBFB241A2D18F5E727 +:100B7000331C181CF8BDC0461802002008B5031C21 +:100B8000081C111C9847044B802212055A61034B24 +:100B900064221A8008BDC046004400418C00002039 +:100BA000012802D1014A024B1A60704790120000DE +:100BB0008802002030B50A1C1C4985B00978031C46 +:100BC00000292AD0042A01D1006804E0022A01D1B8 +:100BD000008800E00078520004A98B180B3B9C1A97 +:100BE000A3420BD00F210140092902D83025294307 +:100BF00000E0373119700009013BF1E701A930230A +:100C00000B7078234B700A208B1898700D20D870C9 +:100C1000074B04321B68D86803E005490968C868B7 +:100C2000191CFFF7ABFF05B030BDC046880000209F +:100C30008802002072B6EFF30883044A1360036849 +:100C400083F30888436818477047C0468C02002029 +:100C50000D4B1A88002A09D01A88013A92B21A80DC +:100C6000002A03D18022094B12059A61084B1A8889 +:100C7000002A08D01A88013A92B21A80002A02D1BA +:100C8000044B08221A6070478C0000200044004189 +:100C90008A00002098440041F0B591B008A9CE4ADE +:100CA0000B1C31CA31C351CA51C360CA60C3CB4B9C +:100CB000CB489A687A255203520F92005258C9497C +:100CC00002609C68A4B262430C60C74900240A60B9 +:100CD000C64A1460C64C2570C64CC74D2368281CF4 +:100CE0001B6940219847002805D0C44B08221A6090 +:100CF000C34B64221A80C34B00221860C24B1D6094 +:100D0000C24BC24DBF4F1A602A683B689A42E3D279 +:100D1000BD4B1B681A78FF2A00D120E2232A00D09D +:100D2000F7E1BB4E3378002B06D0B24BB9491B68B4 +:100D30000222D868FFF722FFAD4B1B78532B3FD11F +:100D40003B682A6893421ED9AF4801322A609A1A3A +:100D5000B14B01681B6801310160B04E9A4201D26B +:100D6000326000E03360A14832680068049000F00F +:100D700023FA336829685A182A60A34A1668F118BA +:100D80001160A74A13702B68013B2B609E4B1A68B9 +:100D9000013A1A60A24BA04A1B7811688B420DD20F +:100DA00022689248C91A006892699047002805D0C5 +:100DB000924B08221A60924B64221A80C04696E138 +:100DC000522B0ED18948944A2368006811685B69E8 +:100DD00003909847934B802212055A616422924BEC +:100DE0000DE04F2B05D1814B8B4A1B6812681A709E +:100DF0007DE1482B05D17D4B874A1B6812681A801C +:100E000075E1572B05D1794B834A1B6812681A602C +:100E10006DE16F2B03D1754B0121186807E0682B3A +:100E200008D1724B7C481B6802211B880360FFF7C6 +:100E3000C1FE5CE1772B06D16C4B77481B6804211F +:100E40001B680360F3E7472B13D1734B1868FFF758 +:100E5000F1FE764B1B6883F3088862B6744B1B78EF +:100E6000002B00D143E1634B06201B681B689847A9 +:100E70003DE1542B04D1012333705E4B1B6864E0C9 +:100E80004E2B0CD13378002B06D15A4B61491B688D +:100E90000222D868FFF772FE0023337027E1562B39 +:100EA00057D123686349D8680122FFF767FE23689A +:100EB0006149D8680322FFF761FE604D2368291C51 +:100EC000D8680122FFF75AFE23685D49D8680D22D1 +:100ED000FFF754FE2368291CD8680122FFF74EFE55 +:100EE000494F4A4D5749002339602B603A1C281C52 +:100EF00013685E1C16601B780593002B03D00368F3 +:100F000001330360F4E73B4E2A683368D868FFF783 +:100F100035FE33684949D8680122FFF72FFE05994D +:100F2000296049493960384A1368581C10601B7899 +:100F3000002B04D0354B1A6801321A60F3E733688E +:100F40002A68D868FFF71AFE3368D8683149022248 +:100F5000CBE0314A582B17D1214E234D3668136808 +:100F60002A68B10093420AD21C4D5808E8613748FC +:100F700028801A4D287DC607FBD55B18F2E71D4B6C +:100F800033491B68D868AFE0592B00D07DE0126868 +:100F9000164B3049002A02D11B680B6070E00F4DE0 +:100FA000086819686B680D4E8025AB439208736022 +:100FB000002A65D0284B094D2B80084E337DDD0774 +:100FC000FBD50023064D2D680195AD08AB4247D3F4 +:100FD000224D024E35804AE04012000000400041A0 +:100FE0004002002038020020340200208402002049 +:100FF0003002002088020020440200209444004176 +:101000008A000020280200202C0200203C02002040 +:10101000880000208412000090020020940200202A +:1010200024020020004400418C0000208C0200209B +:10103000940000206012000089120000621200007B +:10104000AC120000641200007012000002A5FFFF45 +:10105000791200009000002044A5FFFF04A5FFFFC7 +:101060009342B5D09D00465901334E51AAE7404EF8 +:10107000357DEE07FBD59D0049194019D21A97E737 +:101080003C4B3D491B68D8682EE05A2B2FD13B4B77 +:1010900017681D680026EF19BD4206D02878311C5C +:1010A00000F07EF80135061CF6E7324B34491B6828 +:1010B0000122D868FFF762FD07230F223240111C7E +:1010C00036093031092A00DD07311820C0186A4678 +:1010D0008154013BF1D2236806A9D8680822FFF7A2 +:1010E0004DFD23682749D8680322FFF747FD264BAB +:1010F0007A221A70254B00221A60254B1B789342E6 +:101100002DD01C4B23491B680122D868FFF736FD00 +:1011100025E0111C3039C8B21C4B092804D81D68C1 +:101120002A01114319601AE0111C4139052903D81D +:101130001E68373A310106E0111C6139052904D8CF +:101140001868573A01010A4308E02C2A03D10B4AD8 +:101150001968116001E00C490A7000221A600E4BF8 +:101160001A6801321A600D4B1A680132C9E5C0468F +:1011700000400041880200207D120000840200200F +:101180008112000083120000300200209002002033 +:1011900088000020871200003C0200202C02002062 +:1011A0000B0A5840034B4000C05A0902484080B225 +:1011B0007047C046BA12000010B50023934203D016 +:1011C000CC5CC4540133F9E710BD031C8218934270 +:1011D00002D019700133FAE770470023C25C013373 +:1011E000002AFBD1581E7047F8B5C046F8BC08BCB1 +:1011F0009E467047F8B5C046F8BC08BC9E4670478E +:101200000403090441726475696E6F204C4C4300FD +:10121000537061726B46756E2053706563746163C1 +:101220006C65204469726563746F7200120100027C +:10123000020000404F1B88880002010200010000EC +:101240000800000010000000200000004000000026 +:101250008000000000010000000200000004000007 +:10126000760020004A616E20313120323031370063 +:1012700031343A33333A343100580A0D00590A0DEB +:10128000005A00230A0D003E00322E3000000000FC +:10129000A50A0000C10A0000DD0A0000010B0000E1 +:1012A0001D0B0000010B0000450B00005B41726448 +:1012B00075696E6F3A58595A5D000000211042203E +:1012C00063308440A550C660E770088129914AA127 +:1012D0006BB18CC1ADD1CEE1EFF13112100273329E +:1012E0005222B5529442F772D662399318837BB377 +:1012F0005AA3BDD39CC3FFF3DEE36224433420042E +:101300000114E664C774A44485546AA54BB52885C6 +:101310000995EEE5CFF5ACC58DD55336722611167D +:101320003006D776F6669556B4465BB77AA7199716 +:101330003887DFF7FEE79DD7BCC7C448E558866805 +:10134000A7784008611802282338CCC9EDD98EE966 +:10135000AFF9488969990AA92BB9F55AD44AB77ADD +:10136000966A711A500A333A122AFDDBDCCBBFFBB6 +:101370009EEB799B588B3BBB1AABA66C877CE44CED +:10138000C55C222C033C600C411CAEED8FFDECCD06 +:10139000CDDD2AAD0BBD688D499D977EB66ED55EBD +:1013A000F44E133E322E511E700E9FFFBEEFDDDF56 +:1013B000FCCF1BBF3AAF599F788F8891A981CAB1E2 +:1013C000EBA10CD12DC14EF16FE18010A100C23014 +:1013D000E3200450254046706760B9839893FBA3CF +:1013E000DAB33DC31CD37FE35EF3B1029012F32264 +:1013F000D2323542145277625672EAB5CBA5A8951F +:1014000089856EF54FE52CD50DC5E234C324A014B3 +:1014100081046674476424540544DBA7FAB79987AE +:10142000B8975FE77EF71DC73CD7D326F236910603 +:10143000B01657667676154634564CD96DC90EF9F6 +:101440002FE9C899E9898AB9ABA944586548067853 +:101450002768C018E1088238A3287DCB5CDB3FEB0E +:101460001EFBF98BD89BBBAB9ABB754A545A376AA3 +:10147000167AF10AD01AB32A923A2EFD0FED6CDDDE +:101480004DCDAABD8BADE89DC98D267C076C645CF3 +:10149000454CA23C832CE01CC10C1FEF3EFF5DCFEE +:1014A0007CDF9BAFBABFD98FF89F176E367E554E43 +:1014B000745E932EB23ED10EF01E000000000000BC +:1014C00001140000090243000201008032090400F7 +:1014D000000102020000052400100104240200059E +:1014E000240600010524010001070583030800FF0D +:1014F00009040100020A0000000705810240000003 +:10150000070502024000000000C2010000000800C0 +:0C15100069000000410000000000000025 +:040000030000059D57 +:00000001FF