From ade673d5468c547d6053d51ee8abe1dcf72ef1a2 Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Tue, 17 Feb 2015 20:17:33 +0200 Subject: [PATCH] Improve support of Atmel SAM platform --- .../arduino-internal-libs/platformio.ini | 8 +++---- platformio/builder/scripts/atmelsam.py | 23 ++++++++++++------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/examples/atmelavr-and-arduino/arduino-internal-libs/platformio.ini b/examples/atmelavr-and-arduino/arduino-internal-libs/platformio.ini index 8b2638cc..e784abdd 100644 --- a/examples/atmelavr-and-arduino/arduino-internal-libs/platformio.ini +++ b/examples/atmelavr-and-arduino/arduino-internal-libs/platformio.ini @@ -57,7 +57,7 @@ platform = atmelavr framework = arduino board = yun -#[env:arduino_due] -#platform = atmelsam -#framework = arduino -#board = due +[env:arduino_due] +platform = atmelsam +framework = arduino +board = due diff --git a/platformio/builder/scripts/atmelsam.py b/platformio/builder/scripts/atmelsam.py index efe5e304..3437ae19 100644 --- a/platformio/builder/scripts/atmelsam.py +++ b/platformio/builder/scripts/atmelsam.py @@ -34,31 +34,38 @@ env.Replace( "-mcpu=${BOARD_OPTIONS['build']['mcu']}" ], - CCFLAGS=[ - "-g", # include debugging info (so errors include line numbers) + CPPFLAGS=[ + "-g", # include debugging info (so errors include line numbers) "-Os", # optimize for size - "-Wall", # show warnings + "-fdata-sections", + "-ffunction-sections", # place each function in its own section + "-Wall", + "-MMD", # output dependancy info + "-mcpu=${BOARD_OPTIONS['build']['mcu']}", + "-mthumb", "-ffunction-sections", # place each function in its own section "-fdata-sections", - "-MMD", # output dependency info - "-mcpu=${BOARD_OPTIONS['build']['mcu']}", - "-mthumb" + "-nostdlib" ], CXXFLAGS=[ "-fno-rtti", + "-felide-constructors", "-fno-exceptions" ], CPPDEFINES=[ - "F_CPU=$BOARD_F_CPU" + "F_CPU=$BOARD_F_CPU", + "printf=iprintf" ], LINKFLAGS=[ "-Os", "-Wl,--gc-sections", "-mcpu=${BOARD_OPTIONS['build']['mcu']}", - "-mthumb" + "-mthumb", + "-Wl,--entry=Reset_Handler", + "-Wl,--start-group" ], SIZEPRINTCMD='"$SIZETOOL" -B -d $SOURCES',