From 51dd86e6da04aacbae9284fb2c98576ff3e2be29 Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Tue, 21 Jun 2016 15:03:09 +0300 Subject: [PATCH] Add new SAMD21 boards // Issue #520, #620 --- platformio/boards/adafruit.json | 30 ++++++++++++ platformio/boards/arduino.json | 32 +++++++++++++ platformio/boards/sparkfun.json | 64 +++++++++++++++++++++++++- platformio/builder/scripts/atmelsam.py | 2 +- 4 files changed, 126 insertions(+), 2 deletions(-) diff --git a/platformio/boards/adafruit.json b/platformio/boards/adafruit.json index 6200608e..fc5ef21c 100644 --- a/platformio/boards/adafruit.json +++ b/platformio/boards/adafruit.json @@ -248,5 +248,35 @@ }, "url": "http://www.adafruit.com/products/2000", "vendor": "Adafruit" + }, + "adafruit_feather_m0_usb": { + "build": { + "core": "arduino_zero", + "extra_flags": "-DARDUINO_SAMD_FEATHER_M0 -DARDUINO_ARCH_SAMD -D__SAMD21G18A__", + "f_cpu": "48000000L", + "mcu": "samd21g18a", + "cpu": "cortex-m0plus", + "usb_product": "Adafruit Feather M0", + "variant": "arduino_zero", + "ldscript": "flash_with_bootloader.ld", + "hwids": [ + ["0x239A", "0x800B"], + ["0x239A", "0x000B"] + ] + }, + "frameworks": ["arduino"], + "name": "Adafruit Feather M0", + "platform": "atmelsam", + "upload": { + "disable_flushing": true, + "maximum_ram_size": 32768, + "maximum_size": 262144, + "protocol": "sam-ba", + "require_upload_port" : true, + "use_1200bps_touch": true, + "wait_for_upload_port": true + }, + "url": "https://www.adafruit.com/product/2772", + "vendor": "Adafruit" } } diff --git a/platformio/boards/arduino.json b/platformio/boards/arduino.json index dab169e5..36153504 100644 --- a/platformio/boards/arduino.json +++ b/platformio/boards/arduino.json @@ -923,5 +923,37 @@ }, "url": "https://www.arduino.cc/en/Main/ArduinoBoardZero", "vendor": "Arduino" + }, + "mkr1000USB": { + "build": { + "core": "arduino_zero", + "extra_flags": "-DARDUINO_SAMD_MKR1000 -DARDUINO_ARCH_SAMD -D__SAMD21G18A__", + "f_cpu": "48000000L", + "mcu": "samd21g18a", + "cpu": "cortex-m0plus", + "usb_product": "Arduino MKR1000", + "variant": "mkr1000", + "ldscript": "flash_with_bootloader.ld", + "hwids": [ + ["0x2341", "0x804E"], + ["0x2341", "0x004E"], + ["0x2341", "0x824E"], + ["0x2341", "0x024E"] + ] + }, + "frameworks": ["arduino"], + "name": "Arduino MKR1000", + "platform": "atmelsam", + "upload": { + "disable_flushing": true, + "maximum_ram_size": 32768, + "maximum_size": 262144, + "protocol": "sam-ba", + "require_upload_port" : true, + "use_1200bps_touch": true, + "wait_for_upload_port": true + }, + "url": "https://www.arduino.cc/en/Main/ArduinoMKR1000", + "vendor": "Arduino" } } diff --git a/platformio/boards/sparkfun.json b/platformio/boards/sparkfun.json index 44d5cb52..b14a9ab9 100644 --- a/platformio/boards/sparkfun.json +++ b/platformio/boards/sparkfun.json @@ -238,5 +238,67 @@ }, "url": "https://www.sparkfun.com/products/12923", "vendor": "SparkFun" + }, + + "sparkfun_samd21_dev_usb": { + "build": { + "core": "arduino_zero", + "extra_flags": "-DARDUINO_SAMD_ZERO -DARDUINO_ARCH_SAMD -D__SAMD21G18A__", + "f_cpu": "48000000L", + "mcu": "samd21g18a", + "cpu": "cortex-m0plus", + "usb_product": "SparkFun SAMD21", + "variant": "arduino_zero", + "ldscript": "flash_with_bootloader.ld", + "hwids": [ + ["0x1B4F", "0x8D21"], + ["0x1B4F", "0x0D21"] + ] + }, + "frameworks": ["arduino"], + "name": "SparkFun SAMD21 Dev Breakout", + "platform": "atmelsam", + "upload": { + "disable_flushing": true, + "maximum_ram_size": 32768, + "maximum_size": 262144, + "protocol": "sam-ba", + "require_upload_port" : true, + "use_1200bps_touch": true, + "wait_for_upload_port": true + }, + "url": "https://www.sparkfun.com/products/13672", + "vendor": "SparkFun" + }, + + "sparkfun_samd21_mini_usb": { + "build": { + "core": "arduino_zero", + "extra_flags": "-DARDUINO_SAMD_ZERO -DARDUINO_ARCH_SAMD -D__SAMD21G18A__", + "f_cpu": "48000000L", + "mcu": "samd21g18a", + "cpu": "cortex-m0plus", + "usb_product": "SparkFun SAMD21", + "variant": "SparkFun_SAMD_Mini", + "ldscript": "flash_with_bootloader.ld", + "hwids": [ + ["0x1B4F", "0x8D21"], + ["0x1B4F", "0x0D21"] + ] + }, + "frameworks": ["arduino"], + "name": "SparkFun SAMD21 Mini Breakout", + "platform": "atmelsam", + "upload": { + "disable_flushing": true, + "maximum_ram_size": 32768, + "maximum_size": 262144, + "protocol": "sam-ba", + "require_upload_port" : true, + "use_1200bps_touch": true, + "wait_for_upload_port": true + }, + "url": "https://www.sparkfun.com/products/13664", + "vendor": "SparkFun" } -} \ No newline at end of file +} diff --git a/platformio/builder/scripts/atmelsam.py b/platformio/builder/scripts/atmelsam.py index 5fa5cd4b..9c9297e4 100644 --- a/platformio/builder/scripts/atmelsam.py +++ b/platformio/builder/scripts/atmelsam.py @@ -137,7 +137,7 @@ if "sam3x8e" in env.get("BOARD_OPTIONS", {}).get("build", {}).get("mcu", None): ] ) -elif "zero" in env.subst("$BOARD"): +elif "samd" in env.get("BOARD_OPTIONS", {}).get("build", {}).get("mcu", None): env.Append( LINKFLAGS=[ "--specs=nosys.specs",