Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
b993249
Add I2C Repeated Start Capability
legomanww Nov 10, 2015
9977fa3
Make white space consistent
sandeepmistry Nov 17, 2015
a2949d5
Wait for idle or bus owner state in startTransmissionWIRE instead of …
sandeepmistry Nov 18, 2015
324e899
[bl] Allowing USB VID customization
aethaniel Dec 14, 2015
75b71ab
[bl] Fixing wrong byte in Makefile/VIDH
aethaniel Dec 14, 2015
17734c5
Fixed MIDI descriptors
agdl Dec 17, 2015
20104a6
Use asynchronous fractional mode to configure UART
sandeepmistry Jan 5, 2016
69cf567
USB keyboard right shift key was ignored
bbx10 Jan 6, 2016
f763660
Merge branch 'wire-master-repeated-starts' of https://github.com/sand…
cmaglie Jan 13, 2016
28b979b
Change extension of Wire examples, .pde to .ino
sandeepmistry Jan 13, 2016
2211cf1
Undo accidental change to slave_sender example
sandeepmistry Jan 13, 2016
3ea315a
Port some AVR Serial_ (SerialUSB) API's over
sandeepmistry Nov 17, 2015
4bba56f
Fix https://github.com/arduino/ArduinoCore-samd/issues/83 by changing…
TomKeddie Jan 3, 2016
7fad702
Change flush semantics to match AVR, fixes https://github.com/arduino…
TomKeddie Jan 3, 2016
f1c1833
Updates to changelog
cmaglie Jan 18, 2016
2a6d856
Merge branch 'usbshiftkey' of https://github.com/bbx10/ArduinoCore-samd
cmaglie Jan 19, 2016
2a37de9
Correct use of I2C slave address mask, it should be set to 0 for exac…
sandeepmistry Jan 19, 2016
e53584c
Added externs for additional Wire instances
Jan 19, 2016
5c19b45
Followed the precedent in SPI and Wire libraries, adding #ifdefs to c…
Jan 19, 2016
f355d30
Merge branch 'master' of https://github.com/spiderkeys/ArduinoCore-samd
sandeepmistry Jan 20, 2016
b0af07e
Merge branch 'bl_usb_vid_customization' of https://github.com/aethani…
sandeepmistry Jan 22, 2016
5f9b54b
Remove commented out sections for IDE 1.6.5, as this core requires ID…
sandeepmistry Jan 22, 2016
c9a0009
Merge branch 'MIDIdescriptorsFix' of https://github.com/arduino/Ardui…
sandeepmistry Jan 26, 2016
4de7b45
Add bootloaders build dir to git ignore
sandeepmistry Jan 29, 2016
8420706
Correct baud rate value for UART
sandeepmistry Feb 3, 2016
70b4444
Added MKR1000 variant
cmaglie Nov 16, 2015
c216d9e
Fixed variant pins
cmaglie Nov 20, 2015
9bb2a39
Variant file make up
cmaglie Nov 20, 2015
3cd9139
Added bootloader for MKR1000
cmaglie Nov 24, 2015
2d19892
Update PIN LED value
sandeepmistry Jan 15, 2016
e924cfa
Added drivers for MKR1000
cmaglie Feb 11, 2016
e804ad8
Update revision log and release 1.6.3
cmaglie Feb 15, 2016
155f259
Force link _printf_float in dtostrf
sandeepmistry Feb 11, 2016
e8d6cf5
Merge branch 'wire-slave-address-exact-match' of https://github.com/s…
cmaglie Feb 18, 2016
b00b1a2
update changelog
cmaglie Feb 18, 2016
31a647e
Fix 10 second blocking delay
bbx10 Jan 8, 2016
9d2b779
Replace assignments to epAttribs
bbx10 Jan 21, 2016
0be9198
Add ASCII control codes
bbx10 Feb 13, 2016
d89aaf1
update changelog
cmaglie Feb 18, 2016
261c375
USBHost: removed wrong init() calls
cmaglie Feb 18, 2016
610a937
Only re-enable IRQ if PRIMASK was 0 before disabling IRQ
sandeepmistry Jan 15, 2016
7a31226
update changelog
cmaglie Feb 18, 2016
e6d19f7
Removed experimental MKR1000 variant
cmaglie Feb 19, 2016
ccac6ce
Release 1.6.4
cmaglie Feb 19, 2016
c608786
Merge branch 'master' of https://github.com/rocketscream/ArduinoCore-…
sandeepmistry Feb 23, 2016
0d57cfe
Set MANW bit of NVMCTRL to 1 at startup (default is 0).
cmaglie Feb 26, 2016
a73e50d
Merge branch 'bootloader-serial-baud' of git://github.com/sandeepmist…
cmaglie Mar 2, 2016
dd6890a
Use modulo operator in Print::printNumber
sandeepmistry Mar 3, 2016
ba02d34
Add USB transfer RX/TX LED blinking
sandeepmistry Mar 4, 2016
47079cd
Adding Arduino IDE to the prereqs in README
Mar 13, 2016
6aa6dc1
Added definitions for DAC0 in variants
cmaglie Mar 30, 2016
de71470
Clear RX buffer in TwoWire::requestFrom before reading
sandeepmistry Jan 18, 2016
4fa2216
Update to changelog
cmaglie Mar 30, 2016
fe4747b
Merge branch 'master' of https://github.com/scottdarch/ArduinoCore-samd
cmaglie Mar 30, 2016
ea894b1
Fixed USB sendStringDescriptor
cmaglie Jan 4, 2016
ba1ad40
Add cast for string passed into strlen
sandeepmistry Jan 26, 2016
cee4a8d
Descriptor type (0x03) should be second byte for string descriptor
sandeepmistry Jan 26, 2016
d7a41f5
Write protect bootloader after "Burn bootloader" command.
cmaglie Mar 30, 2016
c5e541d
Added MKR1000 variant
cmaglie Feb 19, 2016
1ff1b79
MKR1000: Fixed external interrupt on pin 9
cmaglie Feb 26, 2016
aa52b48
USBHost: fixed missing include (breaks build on MKR1000)
cmaglie Feb 26, 2016
eb2787f
MKR1000: Added DAC0 definition. See #126
cmaglie Mar 30, 2016
df98257
Changelog updated
cmaglie Mar 31, 2016
e1b164f
recipe.ar.pattern backwards compatibility
sandeepmistry Apr 4, 2016
2b71432
Port analogInputToDigitalPin macro
sandeepmistry Apr 4, 2016
96a759d
Correct prog_int64_t and prog_uint64_t typedefs
sandeepmistry Apr 5, 2016
3c58ee8
Correct NUM_DIGITAL_PINS to include analog pins
sandeepmistry Apr 5, 2016
897532f
Merge branch 'pgmspace.h-64_t' of https://github.com/sandeepmistry/Ar…
cmaglie Apr 6, 2016
0352cc8
Change digitalPinToInterrupt to return pin, and use g_APinDescription…
sandeepmistry Feb 23, 2016
2e620d7
Move digitalPinToInterrupt definition to Arduino.h if variant complia…
sandeepmistry Feb 23, 2016
bdba296
Add change log for variant compliance
sandeepmistry Feb 23, 2016
90bf3d5
Make Arduino.h version of digitalPinToInterrupt return argument
sandeepmistry Feb 23, 2016
49f0d67
Bump ARDUINO_SAMD_VARIANT_COMPLIANCE to 100606
sandeepmistry Apr 6, 2016
1c8071a
Make MKR1000 variant compliance level 1.6.6
sandeepmistry Apr 6, 2016
c9a59eb
Small fix in VARIANT_COMPLIANCE_CHANGELOG
cmaglie Apr 19, 2016
4a86ddc
Updated changelog
cmaglie Apr 19, 2016
2e9e453
Merge branch 'usb-tx-rx-led' of https://github.com/sandeepmistry/Ardu…
cmaglie Apr 19, 2016
58761d9
Merge branch 'archive_file_path-backwards-compatibility' of https://g…
cmaglie Apr 19, 2016
351c9e8
Port SDA and SCL symbols
sandeepmistry Apr 4, 2016
f3dac47
Port Wire.write(...) overloads
sandeepmistry Apr 13, 2016
8ca15b1
Update changelog
cmaglie Apr 19, 2016
b527f11
Strings now support iterators
cmaglie Apr 20, 2016
37c256b
Removed whitespaces in WString.h
cmaglie Apr 20, 2016
153d993
Remove enabling bootloader protection when burning bootloader
sandeepmistry Apr 21, 2016
1722b7a
Updated Zero bootloader (bin files)
cmaglie May 9, 2016
e7bd6f4
Added bossac_remote pattern to platform.txt
cmaglie May 9, 2016
b79dd93
Updated changelog
cmaglie May 19, 2016
cfa831f
Updated platform version
cmaglie May 19, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Added MKR1000 variant
  • Loading branch information
cmaglie committed Feb 11, 2016
commit 70b4444be4b82587f418f586860fd4fdb3c135bf
45 changes: 45 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,48 @@ arduino_zero_native.build.vid=0x2341
arduino_zero_native.build.pid=0x804d
arduino_zero_native.bootloader.tool=openocd
arduino_zero_native.bootloader.file=zero/samd21_sam_ba.bin

# Arduino/Genuino MKR1000
# ---------------------------------------
mkr1000.name=Arduino/Genuino MKR1000
mkr1000.vid.0=0x2341
mkr1000.pid.0=0x804e
mkr1000.vid.1=0x2341
mkr1000.pid.1=0x004e

mkr1000.vid.2=0x2341
mkr1000.pid.2=0x824e
# If the board is a 2341:824e use 2341:824e for build and set other parameters as well
mkr1000.vid.2.build.vid=0x2341
mkr1000.vid.2.build.pid=0x824e
mkr1000.vid.2.build.usb_product="Genuino MKR1000"
mkr1000.vid.2.bootloader.file=mkr1000/samd21_sam_ba_genuino.bin

mkr1000.vid.3=0x2341
mkr1000.pid.3=0x024e
# If the board is a 2341:024e use 2341:824e for build and set other parameters as well
mkr1000.vid.3.build.vid=0x2341
mkr1000.vid.3.build.pid=0x824e
mkr1000.vid.3.build.usb_product="Genuino MKR1000"
mkr1000.vid.3.bootloader.file=mkr1000/samd21_sam_ba_genuino.bin

mkr1000.upload.tool=bossac
mkr1000.upload.protocol=sam-ba
mkr1000.upload.maximum_size=262144
mkr1000.upload.use_1200bps_touch=true
mkr1000.upload.wait_for_upload_port=true
mkr1000.upload.native_usb=true
mkr1000.build.mcu=cortex-m0plus
mkr1000.build.f_cpu=48000000L
mkr1000.build.usb_product="Arduino MKR1000"
mkr1000.build.usb_manufacturer="Arduino LLC"
mkr1000.build.board=SAMD_MKR1000
mkr1000.build.core=arduino
mkr1000.build.extra_flags=-D__SAMD21G18A__ {build.usb_flags}
mkr1000.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld
mkr1000.build.openocdscript=openocd_scripts/arduino_zero.cfg
mkr1000.build.variant=mkr1000
mkr1000.build.vid=0x2341
mkr1000.build.pid=0x804e
mkr1000.bootloader.tool=openocd
mkr1000.bootloader.file=mkr1000/samd21_sam_ba.bin
31 changes: 31 additions & 0 deletions variants/mkr1000/debug_scripts/variant.gdb
Original file line number Diff line number Diff line change
@@ -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"
211 changes: 211 additions & 0 deletions variants/mkr1000/linker_scripts/gcc/flash_with_bootloader.ld
Original file line number Diff line number Diff line change
@@ -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")
}
Loading