diff --git a/hardware/arduino/sam/boards.txt b/hardware/arduino/sam/boards.txt index 370e0f5f5..c081c7167 100644 --- a/hardware/arduino/sam/boards.txt +++ b/hardware/arduino/sam/boards.txt @@ -1,36 +1,5 @@ -############################################################## -arduino_due_u.name=Arduino DueU Dev. Ed. -arduino_due_u.upload.tool=bossac -arduino_due_u.upload.protocol=sam-ba -arduino_due_u.upload.maximum_size=262144 -arduino_due_u.build.mcu=cortex-m3 -arduino_due_u.build.f_cpu=96000000L -arduino_due_u.build.core=arduino -arduino_due_u.build.extra_flags=-D__SAM3U4E__ -mthumb -DUSB_PID={build.pid} -DUSB_VID={build.vid} -DUSBCON -arduino_due_u.build.ldscript=linker_scripts/gcc/flash.ld -arduino_due_u.build.variant=arduino_due_u -arduino_due_u.build.variant_system_lib=libsam_sam3u4e_gcc_rel.a -arduino_due_u.build.vid=0x2341 -arduino_due_u.build.pid=0x003e - -############################################################## - -arduino_due_x.name=Arduino DueX Dev. Ed. -arduino_due_x.upload.tool=bossac -arduino_due_x.upload.protocol=sam-ba -arduino_due_x.upload.maximum_size=524288 -arduino_due_x.build.mcu=cortex-m3 -arduino_due_x.build.f_cpu=84000000L -arduino_due_x.build.core=arduino -arduino_due_x.build.extra_flags=-D__SAM3X8E__ -mthumb -DUSB_PID={build.pid} -DUSB_VID={build.vid} -DUSBCON -arduino_due_x.build.ldscript=linker_scripts/gcc/flash.ld -arduino_due_x.build.variant=arduino_due_x -arduino_due_x.build.variant_system_lib=libsam_sam3x8e_gcc_rel.a -arduino_due_x.build.vid=0x2341 -arduino_due_x.build.pid=0x003e - -arduino_due_x_r2.name=Arduino DueX R2 Dev. Ed. +arduino_due_x_r2.name=Arduino Due Dev. Ed. arduino_due_x_r2.upload.tool=bossac arduino_due_x_r2.upload.protocol=sam-ba arduino_due_x_r2.upload.maximum_size=524288 @@ -45,16 +14,3 @@ arduino_due_x_r2.build.variant_system_lib=libsam_sam3x8e_gcc_rel.a arduino_due_x_r2.build.vid=0x2341 arduino_due_x_r2.build.pid=0x003e -############################################################## - -adk2.name=Google ADK2 -adk2.upload.tool=adk2install -adk2.upload.protocol=sam-ba -adk2.upload.maximum_size=49152 -adk2.build.mcu=cortex-m3 -adk2.build.f_cpu=84000000L -adk2.build.core=arduino -adk2.build.extra_flags=-D__SAM3X8E__ -mthumb -adk2.build.ldscript=linker_scripts/gcc/flash.ld -adk2.build.variant=adk2 -adk2.build.variant_system_lib=libsam_sam3x8e_gcc_rel.a diff --git a/hardware/arduino/sam/programmers.txt b/hardware/arduino/sam/programmers.txt index 371e5ae82..e69de29bb 100644 --- a/hardware/arduino/sam/programmers.txt +++ b/hardware/arduino/sam/programmers.txt @@ -1,18 +0,0 @@ -samba.name=SAM-BA -samba.communication=serial -samba.protocol=sam-ba -samba.speed=19200 - -sambausb.name=SAM-BA -sambausb.communication=usb -sambausb.protocol=sam-ba - -arduinosamba.name=Arduino as SAM-BA -arduinosamba.communication=serial -arduinosamba.protocol=sam-ba -arduinosamba.speed=19200 - -arduinosambausb.name=Arduino as SAM-BA USB -arduinosambausb.communication=usb -arduinosambausb.protocol=sam-ba - diff --git a/hardware/atmel/sam/boards.txt b/hardware/atmel/sam/boards.txt deleted file mode 100644 index 88d2a83a5..000000000 --- a/hardware/atmel/sam/boards.txt +++ /dev/null @@ -1,91 +0,0 @@ -############################################################## - -sam3n_ek.name=Atmel SAM3N-EK -sam3n_ek.upload.tool=bossac -sam3n_ek.upload.protocol=sam-ba -sam3n_ek.upload.maximum_size=49152 -sam3n_ek.upload.speed=115200 -sam3n_ek.build.mcu=cortex-m3 -sam3n_ek.build.f_cpu=48000000L -sam3n_ek.build.core=arduino:sam -sam3n_ek.build.extra_flags=-D__SAM3N4C__ -mthumb -sam3n_ek.build.ldscript=linker_scripts/gcc/flash.ld -sam3n_ek.build.variant=sam3n_ek -sam3n_ek.build.variant_system_lib=libsam_sam3n4c_gcc_rel.a - -############################################################## - -sam3s_ek.name=Atmel SAM3S-EK -sam3s_ek.upload.tool=bossac -sam3s_ek.upload.protocol=sam-ba -sam3s_ek.upload.maximum_size=49152 -sam3s_ek.upload.speed=115200 -sam3s_ek.build.mcu=cortex-m3 -sam3s_ek.build.f_cpu=64000000L -sam3s_ek.build.core=arduino:sam -sam3s_ek.build.extra_flags=-D__SAM3S4C__ -mthumb -sam3s_ek.build.ldscript=linker_scripts/gcc/flash.ld -sam3s_ek.build.variant=sam3s_ek -sam3s_ek.build.variant_system_lib=libsam_sam3s4c_gcc_rel.a - -############################################################## - -sam3s_ek2.name=Atmel SAM3S-EK2 -sam3s_ek2.upload.tool=bossac -sam3s_ek2.upload.protocol=sam-ba -sam3s_ek2.upload.maximum_size=49152 -sam3s_ek2.upload.speed=115200 -sam3s_ek2.build.mcu=cortex-m3 -sam3s_ek2.build.f_cpu=64000000L -sam3s_ek2.build.core=arduino:sam -sam3s_ek2.build.extra_flags=-D__SAM3SD8C__ -mthumb -sam3s_ek2.build.ldscript=linker_scripts/gcc/flash.ld -sam3s_ek2.build.variant=sam3s_ek2 -sam3s_ek2.build.variant_system_lib=libsam_sam3sd8c_gcc_rel.a - -############################################################## - -sam3u_ek.name=Atmel SAM3U-EK -sam3u_ek.upload.tool=bossac -sam3u_ek.upload.protocol=sam-ba -sam3u_ek.upload.maximum_size=49152 -sam3u_ek.upload.speed=115200 -sam3u_ek.build.mcu=cortex-m3 -sam3u_ek.build.f_cpu=96000000L -sam3u_ek.build.core=arduino:sam -sam3u_ek.build.extra_flags=-D__SAM3U4E__ -mthumb -sam3u_ek.build.ldscript=linker_scripts/gcc/flash.ld -sam3u_ek.build.variant=sam3u_ek -sam3u_ek.build.variant_system_lib=libsam_sam3u4e_gcc_rel.a - -############################################################## - -sam3x_ek.name=Atmel SAM3X-EK -sam3x_ek.upload.tool=bossac -sam3x_ek.upload.protocol=sam-ba -sam3x_ek.upload.maximum_size=49152 -sam3x_ek.upload.speed=115200 -sam3x_ek.build.mcu=cortex-m3 -sam3x_ek.build.f_cpu=84000000L -sam3x_ek.build.core=arduino:sam -sam3x_ek.build.extra_flags=-D__SAM3X8H__ -mthumb -sam3x_ek.build.ldscript=linker_scripts/gcc/flash.ld -sam3x_ek.build.variant=sam3x_ek -sam3x_ek.build.variant_system_lib=libsam_sam3x8h_gcc_rel.a - -############################################################## - -sam4s_ek.name=Atmel SAM4S-EK -sam4s_ek.upload.tool=bossac -sam4s_ek.upload.protocol=sam-ba -sam4s_ek.upload.maximum_size=49152 -sam4s_ek.upload.speed=115200 -sam4s_ek.build.mcu=cortex-m3 -sam4s_ek.build.f_cpu=120000000L -sam4s_ek.build.core=arduino:sam -sam4s_ek.build.extra_flags=-D__SAM4S16C__ -mthumb -sam4s_ek.build.ldscript=linker_scripts/gcc/flash.ld -sam4s_ek.build.variant=sam4s_ek -sam4s_ek.build.variant_system_lib=libsam_sam4s16c_gcc_rel.a - - diff --git a/hardware/atmel/sam/platform.txt b/hardware/atmel/sam/platform.txt deleted file mode 100644 index b61412eb2..000000000 --- a/hardware/atmel/sam/platform.txt +++ /dev/null @@ -1,62 +0,0 @@ - -# SAM3 compile variables -# --------------------- - -name=Atmel SAM3 -compiler.path={runtime.ide.path}/hardware/tools/g++_arm_none_eabi/bin/ -compiler.c.cmd=arm-none-eabi-gcc -compiler.c.flags=-c -g -Os -w -mlong-calls -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf -compiler.c.elf.cmd=arm-none-eabi-gcc -compiler.c.elf.flags=-Os -Wl,--gc-sections -compiler.S.flags=-c -g -assembler-with-cpp -compiler.cpp.cmd=arm-none-eabi-g++ -compiler.cpp.flags=-c -g -Os -w -mlong-calls -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -Dprintf=iprintf -compiler.ar.cmd=arm-none-eabi-ar -compiler.ar.flags=rcs -compiler.objcopy.cmd=arm-none-eabi-objcopy -compiler.objcopy.eep.flags=-O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 -compiler.elf2hex.flags=-O binary -compiler.elf2hex.cmd=arm-none-eabi-objcopy -compiler.ldflags= -compiler.size.cmd=arm-none-eabi-size -compiler.define=-DARDUINO= - -compiler.libsam.c.flags=-I{build.system.path}/libsam -I{build.system.path}/CMSIS/CMSIS/Include/ -I{build.system.path}/CMSIS/Device/ATMEL/ - -# SAM3 compile patterns -# --------------------- - -## Compile c files -recipe.c.o.pattern={compiler.path}{compiler.c.cmd} {compiler.c.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -D{software}={runtime.ide.version} {build.extra_flags} {compiler.libsam.c.flags} {includes} {source_file} -o {object_file} - -## Compile c++ files -recipe.cpp.o.pattern={compiler.path}{compiler.cpp.cmd} {compiler.cpp.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -D{software}={runtime.ide.version} {build.extra_flags} {compiler.libsam.c.flags} {includes} {source_file} -o {object_file} - -## Create archives -recipe.ar.pattern={compiler.path}{compiler.ar.cmd} {compiler.ar.flags} {build.path}/{archive_file} {object_file} - -## Combine gc-sections, archives, and objects -recipe.c.combine.pattern={compiler.path}{compiler.c.elf.cmd} {compiler.c.elf.flags} -mcpu={build.mcu} -T{build.variant.path}/{build.ldscript} -Wl,-Map,{build.path}/{build.project_name}.map -o {build.path}/{build.project_name}.elf -L{build.path} -lm -lgcc -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group {object_files} {build.variant.path}/{build.variant_system_lib} {build.path}/{archive_file} -Wl,--end-group - -## Create eeprom -recipe.objcopy.eep.pattern= - -## Create hex -recipe.objcopy.hex.pattern={compiler.path}{compiler.elf2hex.cmd} {compiler.elf2hex.flags} {build.path}/{build.project_name}.elf {build.path}/{build.project_name}.bin - -## Compute size -recipe.size.pattern={compiler.path}{compiler.size.cmd} -A {build.path}/{build.project_name}.elf -recipe.size.regex=\.text\s+([0-9]+).* - - -# SAM3 Uploader tools -# ------------------- - -tools.bossac.cmd=bossac -tools.bossac.cmd.windows=bossac.exe -tools.bossac.path={runtime.ide.path}/hardware/tools - -tools.bossac.upload.params.verbose=-i -d -tools.bossac.upload.params.quiet= -tools.bossac.upload.pattern={path}/{cmd} {upload.verbose} --port={serial.port.file} -e -w -v -b {build.path}/{build.project_name}.bin - diff --git a/hardware/atmel/sam/programmers.txt b/hardware/atmel/sam/programmers.txt deleted file mode 100644 index 371e5ae82..000000000 --- a/hardware/atmel/sam/programmers.txt +++ /dev/null @@ -1,18 +0,0 @@ -samba.name=SAM-BA -samba.communication=serial -samba.protocol=sam-ba -samba.speed=19200 - -sambausb.name=SAM-BA -sambausb.communication=usb -sambausb.protocol=sam-ba - -arduinosamba.name=Arduino as SAM-BA -arduinosamba.communication=serial -arduinosamba.protocol=sam-ba -arduinosamba.speed=19200 - -arduinosambausb.name=Arduino as SAM-BA USB -arduinosambausb.communication=usb -arduinosambausb.protocol=sam-ba - diff --git a/hardware/atmel/sam/sam.bat b/hardware/atmel/sam/sam.bat deleted file mode 100644 index 624e9a829..000000000 --- a/hardware/atmel/sam/sam.bat +++ /dev/null @@ -1,9 +0,0 @@ -set Path=%ARM_GCC_TOOLCHAIN% -export Path - -start "libsam" /d"..\..\arduino\sam\system\libsam\build_gcc" /max "cd" -start "libarduino" /d"..\..\arduino\sam\cores\sam\build_gcc" /max "cd" -start "libvariant sam3s-ek" /d"variants\sam3s_ek\build_gcc" /max "cd" -start "libvariant sam3u-ek" /d"variants\sam3u_ek\build_gcc" /max "cd" -start "libvariant sam3x-ek" /d"variants\sam3x_ek\build_gcc" /max "cd" -start "test" /d"..\..\arduino\sam\cores\sam\validation\build_gcc" /max "cd" \ No newline at end of file diff --git a/hardware/atmel/sam/variants/sam3s_ek/SAM3S-EK_REVB.pdf b/hardware/atmel/sam/variants/sam3s_ek/SAM3S-EK_REVB.pdf deleted file mode 100644 index 6f3f55475..000000000 Binary files a/hardware/atmel/sam/variants/sam3s_ek/SAM3S-EK_REVB.pdf and /dev/null differ diff --git a/hardware/atmel/sam/variants/sam3s_ek/build_gcc/Makefile b/hardware/atmel/sam/variants/sam3s_ek/build_gcc/Makefile deleted file mode 100644 index 715568f7a..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/build_gcc/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -# -# Copyright (c) 2011 Arduino. 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 -# - -# Makefile for compiling libboard -BOARD = - -SUBMAKE_OPTIONS=--no-builtin-rules --no-builtin-variables --no-print-directory - -#------------------------------------------------------------------------------- -# Rules -#------------------------------------------------------------------------------- - -all: sam3s_ek - -.PHONY: sam3s_ek -sam3s_ek: - @echo --- Making sam3s_ek - @$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f libvariant_sam3s_ek.mk -# @$(MAKE) $(SUBMAKE_OPTIONS) -f libvariant_sam3s_ek.mk - -.PHONY: clean -clean: - @echo --- Cleaning sam3s_ek - @$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f libvariant_sam3s_ek.mk $@ -# @$(MAKE) $(SUBMAKE_OPTIONS) -f libvariant_sam3s_ek.mk $@ - - diff --git a/hardware/atmel/sam/variants/sam3s_ek/build_gcc/debug.mk b/hardware/atmel/sam/variants/sam3s_ek/build_gcc/debug.mk deleted file mode 100644 index d0716744a..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/build_gcc/debug.mk +++ /dev/null @@ -1,25 +0,0 @@ -# -# Copyright (c) 2011 Arduino. 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 -# - -# Optimization level -# -O1 Optimize -# -O2 Optimize even more -# -O3 Optimize yet more -# -O0 Reduce compilation time and make debugging produce the expected results -# -Os Optimize for size -OPTIMIZATION = -g -O0 -DDEBUG diff --git a/hardware/atmel/sam/variants/sam3s_ek/build_gcc/gcc.mk b/hardware/atmel/sam/variants/sam3s_ek/build_gcc/gcc.mk deleted file mode 100644 index 32f35d264..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/build_gcc/gcc.mk +++ /dev/null @@ -1,82 +0,0 @@ -# -# Copyright (c) 2011 Arduino. 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 -# - -# Tool suffix when cross-compiling -CROSS_COMPILE = $(ARM_GCC_TOOLCHAIN)/arm-none-eabi- - -# Compilation tools -AR = $(CROSS_COMPILE)ar -CC = $(CROSS_COMPILE)gcc -CXX = $(CROSS_COMPILE)g++ -AS = $(CROSS_COMPILE)as -NM = $(CROSS_COMPILE)nm -ifeq ($(OS),Windows_NT) -RM=cs-rm -Rf -else -RM=rm -Rf -endif - -SEP=\\ - -# --------------------------------------------------------------------------------------- -# C Flags - -CFLAGS += -Wall -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -CFLAGS += -Werror-implicit-function-declaration -Wmain -Wparentheses -CFLAGS += -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -CFLAGS += -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -CFLAGS += -Wshadow -Wpointer-arith -Wbad-function-cast -Wwrite-strings -CFLAGS += -Wsign-compare -Waggregate-return -Wstrict-prototypes -CFLAGS += -Wmissing-prototypes -Wmissing-declarations -CFLAGS += -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -CFLAGS += -Wpacked -Wredundant-decls -Wnested-externs -Winline -Wlong-long -CFLAGS += -Wunreachable-code -CFLAGS += -Wcast-align -#CFLAGS += -Wmissing-noreturn -#CFLAGS += -Wconversion - -CFLAGS += --param max-inline-insns-single=500 -mcpu=cortex-m3 -mthumb -mlong-calls -ffunction-sections -fdata-sections -nostdlib -std=c99 -CFLAGS += $(OPTIMIZATION) $(INCLUDES) -D$(CHIP) -D$(VARIANT) - -# To reduce application size use only integer printf function. -CFLAGS += -Dprintf=iprintf - -# --------------------------------------------------------------------------------------- -# CPP Flags - -CPPFLAGS += -Wall -Wchar-subscripts -Wcomment -Wformat=2 -CPPFLAGS += -Wmain -Wparentheses -Wcast-align -Wunreachable-code -CPPFLAGS += -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -CPPFLAGS += -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -CPPFLAGS += -Wshadow -Wpointer-arith -Wwrite-strings -CPPFLAGS += -Wsign-compare -Waggregate-return -Wmissing-declarations -CPPFLAGS += -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -CPPFLAGS += -Wpacked -Wredundant-decls -Winline -Wlong-long -#CPPFLAGS += -Wmissing-noreturn -#CPPFLAGS += -Wconversion - -CPPFLAGS += --param max-inline-insns-single=500 -mcpu=cortex-m3 -mthumb -mlong-calls -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -std=c++98 -CPPFLAGS += $(OPTIMIZATION) $(INCLUDES) -D$(CHIP) - -# To reduce application size use only integer printf function. -CPPFLAGS += -Dprintf=iprintf - -# --------------------------------------------------------------------------------------- -# ASM Flags - -ASFLAGS = -mcpu=cortex-m3 -mthumb -Wall -g $(OPTIMIZATION) $(INCLUDES) diff --git a/hardware/atmel/sam/variants/sam3s_ek/build_gcc/libvariant_sam3s_ek.mk b/hardware/atmel/sam/variants/sam3s_ek/build_gcc/libvariant_sam3s_ek.mk deleted file mode 100644 index fde39f771..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/build_gcc/libvariant_sam3s_ek.mk +++ /dev/null @@ -1,177 +0,0 @@ -# -# Copyright (c) 2012 Arduino. 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 -# - -# Makefile for compiling libArduino -.SUFFIXES: .o .a .c .s - -CHIP=__SAM3S4C__ -VARIANT=sam3s_ek -LIBNAME=libvariant_$(VARIANT) -TOOLCHAIN=gcc - -#------------------------------------------------------------------------------- -# Path -#------------------------------------------------------------------------------- - -# Output directories -OUTPUT_BIN = ../../../cores/sam - -# Libraries -PROJECT_BASE_PATH = .. -SYSTEM_PATH = ../../../system -CMSIS_ROOT_PATH = $(SYSTEM_PATH)/CMSIS -CMSIS_ARM_PATH=$(CMSIS_ROOT_PATH)/CMSIS/Include -CMSIS_ATMEL_PATH=$(CMSIS_ROOT_PATH)/Device/ATMEL -#CMSIS_CHIP_PATH=$(CMSIS_ROOT_PATH)/Device/ATMEL/$(CHIP_SERIE) - -ARDUINO_PATH = ../../../cores/sam -VARIANT_BASE_PATH = ../../../variants -VARIANT_PATH = ../../../variants/$(VARIANT) - -#------------------------------------------------------------------------------- -# Files -#------------------------------------------------------------------------------- - -vpath %.h $(PROJECT_BASE_PATH) $(SYSTEM_PATH) $(VARIANT_PATH) -vpath %.cpp $(PROJECT_BASE_PATH) $(PROJECT_BASE_PATH) - -VPATH+=$(PROJECT_BASE_PATH) - -INCLUDES = -#INCLUDES += -I$(PROJECT_BASE_PATH) -INCLUDES += -I$(ARDUINO_PATH) -INCLUDES += -I$(SYSTEM_PATH) -INCLUDES += -I$(SYSTEM_PATH)/libsam -INCLUDES += -I$(VARIANT_BASE_PATH) -INCLUDES += -I$(VARIANT_PATH) -INCLUDES += -I$(CMSIS_ARM_PATH) -INCLUDES += -I$(CMSIS_ATMEL_PATH) - -#------------------------------------------------------------------------------- -ifdef DEBUG -include debug.mk -else -include release.mk -endif - -#------------------------------------------------------------------------------- -# Tools -#------------------------------------------------------------------------------- - -include $(TOOLCHAIN).mk - -#------------------------------------------------------------------------------- -ifdef DEBUG -OUTPUT_OBJ=debug -OUTPUT_LIB_POSTFIX=dbg -else -OUTPUT_OBJ=release -OUTPUT_LIB_POSTFIX=rel -endif - -OUTPUT_LIB=$(LIBNAME)_$(TOOLCHAIN)_$(OUTPUT_LIB_POSTFIX).a -OUTPUT_PATH=$(OUTPUT_OBJ)_$(VARIANT) - -#------------------------------------------------------------------------------- -# C source files and objects -#------------------------------------------------------------------------------- -C_SRC=$(wildcard $(PROJECT_BASE_PATH)/*.c) - -C_OBJ_TEMP = $(patsubst %.c, %.o, $(notdir $(C_SRC))) - -# during development, remove some files -C_OBJ_FILTER= - -C_OBJ=$(filter-out $(C_OBJ_FILTER), $(C_OBJ_TEMP)) - -#------------------------------------------------------------------------------- -# CPP source files and objects -#------------------------------------------------------------------------------- -CPP_SRC=$(wildcard $(PROJECT_BASE_PATH)/*.cpp) - -CPP_OBJ_TEMP = $(patsubst %.cpp, %.o, $(notdir $(CPP_SRC))) - -# during development, remove some files -CPP_OBJ_FILTER= - -CPP_OBJ=$(filter-out $(CPP_OBJ_FILTER), $(CPP_OBJ_TEMP)) - -#------------------------------------------------------------------------------- -# Assembler source files and objects -#------------------------------------------------------------------------------- -A_SRC=$(wildcard $(PROJECT_BASE_PATH)/*.s) - -A_OBJ_TEMP=$(patsubst %.s, %.o, $(notdir $(A_SRC))) - -# during development, remove some files -A_OBJ_FILTER= - -A_OBJ=$(filter-out $(A_OBJ_FILTER), $(A_OBJ_TEMP)) - -#------------------------------------------------------------------------------- -# Rules -#------------------------------------------------------------------------------- -all: $(VARIANT) - -$(VARIANT): create_output $(OUTPUT_LIB) - -.PHONY: create_output -create_output: - @echo ------------------------- - @echo --- Preparing $(VARIANT) files in $(OUTPUT_PATH) $(OUTPUT_BIN) - @echo ------------------------- -# @echo *$(INCLUDES) -# @echo ------------------------- -# @echo *$(C_SRC) -# @echo ------------------------- -# @echo *$(C_OBJ) -# @echo ------------------------- -# @echo *$(addprefix $(OUTPUT_PATH)/, $(C_OBJ)) -# @echo ------------------------- -# @echo *$(CPP_SRC) -# @echo ------------------------- -# @echo *$(CPP_OBJ) -# @echo ------------------------- -# @echo *$(addprefix $(OUTPUT_PATH)/, $(CPP_OBJ)) -# @echo ------------------------- -# @echo *$(A_SRC) -# @echo ------------------------- - - -@mkdir $(OUTPUT_PATH) 1>NUL 2>&1 - -$(addprefix $(OUTPUT_PATH)/,$(C_OBJ)): $(OUTPUT_PATH)/%.o: %.c -# @"$(CC)" -v -c $(CFLAGS) $< -o $@ - @"$(CC)" -c $(CFLAGS) $< -o $@ - -$(addprefix $(OUTPUT_PATH)/,$(CPP_OBJ)): $(OUTPUT_PATH)/%.o: %.cpp -# @"$(CC)" -c $(CPPFLAGS) $< -o $@ - @"$(CC)" -xc++ -c $(CPPFLAGS) $< -o $@ - -$(addprefix $(OUTPUT_PATH)/,$(A_OBJ)): $(OUTPUT_PATH)/%.o: %.s - @"$(AS)" -c $(ASFLAGS) $< -o $@ - -$(OUTPUT_LIB): $(addprefix $(OUTPUT_PATH)/, $(C_OBJ)) $(addprefix $(OUTPUT_PATH)/, $(CPP_OBJ)) $(addprefix $(OUTPUT_PATH)/, $(A_OBJ)) - @"$(AR)" -v -r "$(OUTPUT_BIN)/$@" $^ - @"$(NM)" "$(OUTPUT_BIN)/$@" > "$(OUTPUT_BIN)/$@.txt" - - -.PHONY: clean -clean: - @echo --- Cleaning $(VARIANT) files [$(OUTPUT_PATH)$(SEP)*.o] - -@$(RM) $(OUTPUT_PATH) 1>NUL 2>&1 - -@$(RM) $(OUTPUT_BIN)/$(OUTPUT_LIB) 1>NUL 2>&1 diff --git a/hardware/atmel/sam/variants/sam3s_ek/build_gcc/release.mk b/hardware/atmel/sam/variants/sam3s_ek/build_gcc/release.mk deleted file mode 100644 index 0d15157f4..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/build_gcc/release.mk +++ /dev/null @@ -1,25 +0,0 @@ -# -# Copyright (c) 2011 Arduino. 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 -# - -# Optimization level -# -O1 Optimize -# -O2 Optimize even more -# -O3 Optimize yet more -# -O0 Reduce compilation time and make debugging produce the expected results -# -Os Optimize for size -OPTIMIZATION = -Os diff --git a/hardware/atmel/sam/variants/sam3s_ek/build_iar/libvariant_sam3s_ek.ewd b/hardware/atmel/sam/variants/sam3s_ek/build_iar/libvariant_sam3s_ek.ewd deleted file mode 100644 index 3ca049b67..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/build_iar/libvariant_sam3s_ek.ewd +++ /dev/null @@ -1,1769 +0,0 @@ - - - - 2 - - Debug - - ARM - - 1 - - C-SPY - 2 - - 22 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ARMSIM_ID - 2 - - 1 - 1 - 1 - - - - - - - - ANGEL_ID - 2 - - 0 - 1 - 1 - - - - - - - - - - - - GDBSERVER_ID - 2 - - 0 - 1 - 1 - - - - - - - - - - - IARROM_ID - 2 - - 1 - 1 - 1 - - - - - - - - - JLINK_ID - 2 - - 13 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LMIFTDI_ID - 2 - - 2 - 1 - 1 - - - - - - - - - - MACRAIGOR_ID - 2 - - 3 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - PEMICRO_ID - 2 - - 0 - 1 - 1 - - - - - - - - - - - - - - - - - RDI_ID - 2 - - 2 - 1 - 1 - - - - - - - - - - - - - - - - STLINK_ID - 2 - - 2 - 1 - 1 - - - - - - - - - - - THIRDPARTY_ID - 2 - - 0 - 1 - 1 - - - - - - - - XDS100_ID - 2 - - 0 - 1 - 1 - - - - - - - $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin - 0 - - - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin - 1 - - - $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin - 1 - - - - - Release - - ARM - - 0 - - C-SPY - 2 - - 22 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ARMSIM_ID - 2 - - 1 - 1 - 0 - - - - - - - - ANGEL_ID - 2 - - 0 - 1 - 0 - - - - - - - - - - - - GDBSERVER_ID - 2 - - 0 - 1 - 0 - - - - - - - - - - - IARROM_ID - 2 - - 1 - 1 - 0 - - - - - - - - - JLINK_ID - 2 - - 13 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LMIFTDI_ID - 2 - - 2 - 1 - 0 - - - - - - - - - - MACRAIGOR_ID - 2 - - 3 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - PEMICRO_ID - 2 - - 0 - 1 - 0 - - - - - - - - - - - - - - - - - RDI_ID - 2 - - 2 - 1 - 0 - - - - - - - - - - - - - - - - STLINK_ID - 2 - - 2 - 1 - 0 - - - - - - - - - - - THIRDPARTY_ID - 2 - - 0 - 1 - 0 - - - - - - - - XDS100_ID - 2 - - 0 - 1 - 0 - - - - - - - $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin - 0 - - - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin - 1 - - - $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin - 1 - - - - - - diff --git a/hardware/atmel/sam/variants/sam3s_ek/build_iar/libvariant_sam3s_ek.ewp b/hardware/atmel/sam/variants/sam3s_ek/build_iar/libvariant_sam3s_ek.ewp deleted file mode 100644 index 35a44c755..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/build_iar/libvariant_sam3s_ek.ewp +++ /dev/null @@ -1,1824 +0,0 @@ - - - - 2 - - Debug - - ARM - - 1 - - General - 3 - - 21 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ICCARM - 2 - - 28 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AARM - 2 - - 8 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OBJCOPY - 0 - - 1 - 1 - 1 - - - - - - - - - CUSTOM - 3 - - - - - - - BICOMP - 0 - - - - BUILDACTION - 1 - - - - - - - ILINK - 0 - - 13 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IARCHIVE - 0 - - 0 - 1 - 1 - - - - - - - BILINK - 0 - - - - - Release - - ARM - - 0 - - General - 3 - - 21 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ICCARM - 2 - - 28 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AARM - 2 - - 8 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OBJCOPY - 0 - - 1 - 1 - 0 - - - - - - - - - CUSTOM - 3 - - - - - - - BICOMP - 0 - - - - BUILDACTION - 1 - - - - - - - ILINK - 0 - - 13 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IARCHIVE - 0 - - 0 - 1 - 0 - - - - - - - BILINK - 0 - - - - - common - - $PROJ_DIR$\..\..\common\cortex_handlers.cpp - - - $PROJ_DIR$\..\..\common\UARTClass.cpp - - - $PROJ_DIR$\..\..\common\UARTClass.h - - - $PROJ_DIR$\..\..\common\USARTClass.cpp - - - $PROJ_DIR$\..\..\common\USARTClass.h - - - - $PROJ_DIR$\..\pins_arduino.h - - - $PROJ_DIR$\..\variant.cpp - - - $PROJ_DIR$\..\variant.h - - - - diff --git a/hardware/atmel/sam/variants/sam3s_ek/debug_scripts/gcc/sam3s_ek_flash.gdb b/hardware/atmel/sam/variants/sam3s_ek/debug_scripts/gcc/sam3s_ek_flash.gdb deleted file mode 100644 index 2ce32081b..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/debug_scripts/gcc/sam3s_ek_flash.gdb +++ /dev/null @@ -1,32 +0,0 @@ -#******************************************************* -# -# Connect to J-Link and debug application in flash. -# - -# define 'reset' command -define reset - -# Connect to the J-Link gdb server -target remote localhost:2331 -# Reset the chip to get to a known state -monitor reset - -# Select flash device -monitor flash device = AT91SAM3S4C -# Enable flash download and flash breakpoints -monitor flash download = 1 -# Load the program -load - -# Reset peripheral (RSTC_CR) -set *0x400e1400 = 0xA5000004 - -# Initializing PC and stack pointer -mon reg sp=(0x400000) -set *0x400004 = *0x400004 & 0xFFFFFFFE -mon reg pc=(0x400004) -info reg - -# end of 'reset' command -end - diff --git a/hardware/atmel/sam/variants/sam3s_ek/debug_scripts/gcc/sam3s_ek_sram.gdb b/hardware/atmel/sam/variants/sam3s_ek/debug_scripts/gcc/sam3s_ek_sram.gdb deleted file mode 100644 index 019bd0a94..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/debug_scripts/gcc/sam3s_ek_sram.gdb +++ /dev/null @@ -1,27 +0,0 @@ -#************************************************* -# -# Connect to J-Link and debug application in sram on SAM3S -# -# Note: -# First, users should modify Step1 and Step2 according to their project, -# then do Step3. - -# Step1: Connect to the J-Link gdb server -define reset -target remote localhost:2331 -monitor reset - -# Step2: Load file(eg. getting-started project) -load - -# Step3: Reset peripheral (RSTC_CR) -set *0x400e1400 = 0xA5000004 - -# Step4: Initializing PC and stack pointer -# Modify pc value to even before writing pc register -mon reg sp=(0x20000000) -set *0x20000004 = *0x20000004 & 0xFFFFFFFE -mon reg pc=(0x20000004) -info reg - -end diff --git a/hardware/atmel/sam/variants/sam3s_ek/debug_scripts/iar/sam3s_ek_flash.mac b/hardware/atmel/sam/variants/sam3s_ek/debug_scripts/iar/sam3s_ek_flash.mac deleted file mode 100644 index 786914233..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/debug_scripts/iar/sam3s_ek_flash.mac +++ /dev/null @@ -1,42 +0,0 @@ -// --------------------------------------------------------- -// ATMEL Microcontroller Software Support - ROUSSET - -// --------------------------------------------------------- -// The software is delivered "AS IS" without warranty or -// condition of any kind, either express, implied or -// statutory. This includes without limitation any warranty -// or condition with respect to merchantability or fitness -// for any particular purpose, or against the infringements of -// intellectual property rights of others. -// --------------------------------------------------------- -// File: at91sam3s-ek-flash.mac -// User setup file for CSPY debugger. -// --------------------------------------------------------- - -/********************************************************************* -* -* execUserReset() -*/ -execUserReset() -{ - __message "------------------------------ execUserReset ---------------------------------"; - __message "-------------------------------Set PC Reset ----------------------------------"; - - __hwReset(0); - - // peripheral reset RSTC_CR - __writeMemory32(0xA5000004,0x400e1400,"Memory"); -} - -/********************************************************************* -* -* execUserPreload() -*/ -execUserPreload() -{ - __message "------------------------------ execUserPreload ---------------------------------"; - - __hwReset(0); //* Hardware Reset: CPU is automatically halted after the reset - - // peripheral reset RSTC_CR - __writeMemory32(0xA5000004,0x400e1400,"Memory"); -} diff --git a/hardware/atmel/sam/variants/sam3s_ek/debug_scripts/iar/sam3s_ek_sram.mac b/hardware/atmel/sam/variants/sam3s_ek/debug_scripts/iar/sam3s_ek_sram.mac deleted file mode 100644 index 94d385add..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/debug_scripts/iar/sam3s_ek_sram.mac +++ /dev/null @@ -1,42 +0,0 @@ -// --------------------------------------------------------- -// ATMEL Microcontroller Software Support - ROUSSET - -// --------------------------------------------------------- -// The software is delivered "AS IS" without warranty or -// condition of any kind, either express, implied or -// statutory. This includes without limitation any warranty -// or condition with respect to merchantability or fitness -// for any particular purpose, or against the infringements of -// intellectual property rights of others. -// --------------------------------------------------------- -// File: at91sam3s-ek-sram.mac -// User setup file for CSPY debugger. -// --------------------------------------------------------- - -/********************************************************************* -* -* execUserReset() -*/ -execUserReset() -{ - __message "------------------------------ execUserReset ---------------------------------"; - __message "-------------------------------Set PC Reset ----------------------------------"; - - __hwReset(0); - - // peripheral reset RSTC_CR - __writeMemory32(0xA5000004,0x400e1400,"Memory"); -} - -/********************************************************************* -* -* execUserPreload() -*/ -execUserPreload() -{ - __message "------------------------------ execUserPreload ---------------------------------"; - - __hwReset(0); //* Hardware Reset: CPU is automatically halted after the reset - - // peripheral reset RSTC_CR - __writeMemory32(0xA5000004,0x400e1400,"Memory"); -} diff --git a/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/README.txt b/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/README.txt deleted file mode 100644 index c2ce9dbf0..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/README.txt +++ /dev/null @@ -1,9 +0,0 @@ -files to be used for Arduino API build: -flash_arduino.ld - -files to be used for Arduino Bootloader build: -flash_arduino_bootloader.ld - -files to be used for other uses of board -flash.ld -sram.ld \ No newline at end of file diff --git a/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/gcc/flash.ld b/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/gcc/flash.ld deleted file mode 100644 index c47a2c508..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/gcc/flash.ld +++ /dev/null @@ -1,140 +0,0 @@ -/* ---------------------------------------------------------------------------- - * ATMEL Microcontroller Software Support - * ---------------------------------------------------------------------------- - * Copyright (c) 2009, Atmel Corporation - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the disclaimer below. - * - * Atmel's name may not be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * ---------------------------------------------------------------------------- - */ - -/*------------------------------------------------------------------------------ - * Linker script for running in internal FLASH on the ATSAM3S4 - *----------------------------------------------------------------------------*/ - -OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") -OUTPUT_ARCH(arm) -SEARCH_DIR(.) - -/* Memory Spaces Definitions */ -MEMORY -{ - rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00040000 /* flash, 256K */ - ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x0000c000 /* sram, 48K */ -} - -/* Section Definitions */ -SECTIONS -{ - .text : - { - . = ALIGN(4); - _sfixed = .; - KEEP(*(.vectors .vectors.*)) - *(.text .text.* .gnu.linkonce.t.*) - *(.glue_7t) *(.glue_7) - *(.rodata .rodata* .gnu.linkonce.r.*) - *(.ARM.extab* .gnu.linkonce.armextab.*) - - /* Support C constructors, and C destructors in both user code - and the C library. This also provides support for C++ code. */ - . = ALIGN(4); - KEEP(*(.init)) - . = ALIGN(4); - __preinit_array_start = .; - KEEP (*(.preinit_array)) - __preinit_array_end = .; - - . = ALIGN(4); - __init_array_start = .; - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - __init_array_end = .; - - . = ALIGN(0x4); - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*crtend.o(.ctors)) - - . = ALIGN(4); - KEEP(*(.fini)) - - . = ALIGN(4); - __fini_array_start = .; - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - __fini_array_end = .; - - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*crtend.o(.dtors)) - - . = ALIGN(4); - _efixed = .; /* End of text section */ - } > rom - - /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > rom - PROVIDE_HIDDEN (__exidx_end = .); - - . = ALIGN(4); - _etext = .; - - .relocate : AT (_etext) - { - . = ALIGN(4); - _srelocate = .; - *(.ramfunc .ramfunc.*); - *(.data .data.*); - . = ALIGN(4); - _erelocate = .; - } > ram - - /* .bss section which is used for uninitialized data */ - .bss (NOLOAD) : - { - . = ALIGN(4); - _sbss = . ; - _szero = .; - *(.bss .bss.*) - *(COMMON) - . = ALIGN(4); - _ebss = . ; - _ezero = .; - } > ram - - /* stack section */ - .stack (NOLOAD): - { - . = ALIGN(8); - *(.stack .stack.*) - } > ram - - . = ALIGN(4); - _end = . ; -} diff --git a/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/gcc/flash_arduino.ld b/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/gcc/flash_arduino.ld deleted file mode 100644 index 1900568e9..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/gcc/flash_arduino.ld +++ /dev/null @@ -1,140 +0,0 @@ -/* ---------------------------------------------------------------------------- - * ATMEL Microcontroller Software Support - * ---------------------------------------------------------------------------- - * Copyright (c) 2009, Atmel Corporation - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the disclaimer below. - * - * Atmel's name may not be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * ---------------------------------------------------------------------------- - */ - -/*------------------------------------------------------------------------------ - * Linker script for running in internal FLASH on the ATSAM3S4 - *----------------------------------------------------------------------------*/ - -OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") -OUTPUT_ARCH(arm) -SEARCH_DIR(.) - -/* Memory Spaces Definitions */ -MEMORY -{ - rom (rx) : ORIGIN = 0x00404000, LENGTH = 0x0003c000 /* flash, 240KB = 256K minus 16KB of bootloader */ - ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x0000c000 /* sram, 48KB */ -} - -/* Section Definitions */ -SECTIONS -{ - .text : - { - . = ALIGN(4); - _sfixed = .; - KEEP(*(.vectors .vectors.*)) - *(.text .text.* .gnu.linkonce.t.*) - *(.glue_7t) *(.glue_7) - *(.rodata .rodata* .gnu.linkonce.r.*) - *(.ARM.extab* .gnu.linkonce.armextab.*) - - /* Support C constructors, and C destructors in both user code - and the C library. This also provides support for C++ code. */ - . = ALIGN(4); - KEEP(*(.init)) - . = ALIGN(4); - __preinit_array_start = .; - KEEP (*(.preinit_array)) - __preinit_array_end = .; - - . = ALIGN(4); - __init_array_start = .; - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - __init_array_end = .; - - . = ALIGN(0x4); - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*crtend.o(.ctors)) - - . = ALIGN(4); - KEEP(*(.fini)) - - . = ALIGN(4); - __fini_array_start = .; - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - __fini_array_end = .; - - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*crtend.o(.dtors)) - - . = ALIGN(4); - _efixed = .; /* End of text section */ - } > rom - - /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > rom - PROVIDE_HIDDEN (__exidx_end = .); - - . = ALIGN(4); - _etext = .; - - .relocate : AT (_etext) - { - . = ALIGN(4); - _srelocate = .; - *(.ramfunc .ramfunc.*); - *(.data .data.*); - . = ALIGN(4); - _erelocate = .; - } > ram - - /* .bss section which is used for uninitialized data */ - .bss (NOLOAD) : - { - . = ALIGN(4); - _sbss = . ; - _szero = .; - *(.bss .bss.*) - *(COMMON) - . = ALIGN(4); - _ebss = . ; - _ezero = .; - } > ram - - /* stack section */ - .stack (NOLOAD): - { - . = ALIGN(8); - *(.stack .stack.*) - } > ram - - . = ALIGN(4); - _end = . ; -} diff --git a/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/gcc/flash_arduino_bootloader.ld b/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/gcc/flash_arduino_bootloader.ld deleted file mode 100644 index b1f362548..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/gcc/flash_arduino_bootloader.ld +++ /dev/null @@ -1,140 +0,0 @@ -/* ---------------------------------------------------------------------------- - * ATMEL Microcontroller Software Support - * ---------------------------------------------------------------------------- - * Copyright (c) 2009, Atmel Corporation - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the disclaimer below. - * - * Atmel's name may not be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * ---------------------------------------------------------------------------- - */ - -/*------------------------------------------------------------------------------ - * Linker script for running in internal FLASH on the ATSAM3S4 - *----------------------------------------------------------------------------*/ - -OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") -OUTPUT_ARCH(arm) -SEARCH_DIR(.) - -/* Memory Spaces Definitions */ -MEMORY -{ - rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00004000 /* flash, 16KB */ - ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x0000c000 /* sram, 48KB */ -} - -/* Section Definitions */ -SECTIONS -{ - .text : - { - . = ALIGN(4); - _sfixed = .; - KEEP(*(.vectors .vectors.*)) - *(.text .text.* .gnu.linkonce.t.*) - *(.glue_7t) *(.glue_7) - *(.rodata .rodata* .gnu.linkonce.r.*) - *(.ARM.extab* .gnu.linkonce.armextab.*) - - /* Support C constructors, and C destructors in both user code - and the C library. This also provides support for C++ code. */ - . = ALIGN(4); - KEEP(*(.init)) - . = ALIGN(4); - __preinit_array_start = .; - KEEP (*(.preinit_array)) - __preinit_array_end = .; - - . = ALIGN(4); - __init_array_start = .; - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - __init_array_end = .; - - . = ALIGN(0x4); - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*crtend.o(.ctors)) - - . = ALIGN(4); - KEEP(*(.fini)) - - . = ALIGN(4); - __fini_array_start = .; - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - __fini_array_end = .; - - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*crtend.o(.dtors)) - - . = ALIGN(4); - _efixed = .; /* End of text section */ - } > rom - - /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > rom - PROVIDE_HIDDEN (__exidx_end = .); - - . = ALIGN(4); - _etext = .; - - .relocate : AT (_etext) - { - . = ALIGN(4); - _srelocate = .; - *(.ramfunc .ramfunc.*); - *(.data .data.*); - . = ALIGN(4); - _erelocate = .; - } > ram - - /* .bss section which is used for uninitialized data */ - .bss (NOLOAD) : - { - . = ALIGN(4); - _sbss = . ; - _szero = .; - *(.bss .bss.*) - *(COMMON) - . = ALIGN(4); - _ebss = . ; - _ezero = .; - } > ram - - /* stack section */ - .stack (NOLOAD): - { - . = ALIGN(8); - *(.stack .stack.*) - } > ram - - . = ALIGN(4); - _end = . ; -} diff --git a/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/gcc/sram.ld b/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/gcc/sram.ld deleted file mode 100644 index 9c6875554..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/gcc/sram.ld +++ /dev/null @@ -1,140 +0,0 @@ -/* ---------------------------------------------------------------------------- - * ATMEL Microcontroller Software Support - * ---------------------------------------------------------------------------- - * Copyright (c) 2009, Atmel Corporation - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the disclaimer below. - * - * Atmel's name may not be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * ---------------------------------------------------------------------------- - */ - -/*------------------------------------------------------------------------------ - * Linker script for running in internal SRAM on the ATSAM3S4 - *----------------------------------------------------------------------------*/ - -OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") -OUTPUT_ARCH(arm) -SEARCH_DIR(.) - -/* Memory Spaces Definitions */ -MEMORY -{ - rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00040000 /* flash, 256K */ - ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x0000c000 /* sram, 48K */ -} - -/* Section Definitions */ -SECTIONS -{ - .text : - { - . = ALIGN(4); - _sfixed = .; - KEEP(*(.vectors .vectors.*)) - *(.text .text.* .gnu.linkonce.t.*) - *(.glue_7t) *(.glue_7) - *(.rodata .rodata* .gnu.linkonce.r.*) - *(.ARM.extab* .gnu.linkonce.armextab.*) - - /* Support C constructors, and C destructors in both user code - and the C library. This also provides support for C++ code. */ - . = ALIGN(4); - KEEP(*(.init)) - . = ALIGN(4); - __preinit_array_start = .; - KEEP (*(.preinit_array)) - __preinit_array_end = .; - - . = ALIGN(4); - __init_array_start = .; - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - __init_array_end = .; - - . = ALIGN(0x4); - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*crtend.o(.ctors)) - - . = ALIGN(4); - KEEP(*(.fini)) - - . = ALIGN(4); - __fini_array_start = .; - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - __fini_array_end = .; - - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*crtend.o(.dtors)) - - . = ALIGN(4); - _efixed = .; /* End of text section */ - } > ram - - . = ALIGN(4); - _etext = .; - - .relocate : AT (_etext) - { - . = ALIGN(4); - _srelocate = .; - *(.ramfunc .ramfunc.*); - *(.data .data.*); - . = ALIGN(4); - _erelocate = .; - } > ram - - /* .bss section which is used for uninitialized data */ - .bss (NOLOAD) : - { - . = ALIGN(4); - _sbss = . ; - _szero = .; - *(.bss .bss.*) - *(COMMON) - . = ALIGN(4); - _ebss = . ; - _ezero = .; - } > ram - - /* stack section */ - .stack (NOLOAD): - { - . = ALIGN(8); - *(.stack .stack.*) - } > ram - - /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > ram - PROVIDE_HIDDEN (__exidx_end = .); - - . = ALIGN(4); - _end = . ; -} diff --git a/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/iar/sam3s_ek_flash.icf b/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/iar/sam3s_ek_flash.icf deleted file mode 100644 index d4bb4deb5..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/iar/sam3s_ek_flash.icf +++ /dev/null @@ -1,28 +0,0 @@ -/*###ICF### Section handled by ICF editor, don't touch! ****/ -/*-Editor annotation file-*/ -/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ -/*-Vector table start*/ -define symbol __ICFEDIT_vector_start__ = 0x00400000; -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; -define symbol __ICFEDIT_region_RAM_end__ = 0x2000BFFF; -define symbol __ICFEDIT_region_ROM_start__ = 0x00400000; -define symbol __ICFEDIT_region_ROM_end__ = 0x0043FFFF; -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x4000; -define symbol __ICFEDIT_size_heap__ = 0x2000; -/**** End of ICF editor section. ###ICF###*/ - -define memory mem with size = 4G; -define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; -define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; - -define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; - -initialize by copy { readwrite }; -do not initialize { section .noinit }; - -place at address mem:__ICFEDIT_vector_start__ { readonly section .intvec }; -place in ROM_region { readonly }; -place in RAM_region { readwrite, block CSTACK, block HEAP }; diff --git a/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/iar/sam3s_ek_sram.icf b/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/iar/sam3s_ek_sram.icf deleted file mode 100644 index 1666effb4..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/linker_scripts/iar/sam3s_ek_sram.icf +++ /dev/null @@ -1,25 +0,0 @@ -/*###ICF### Section handled by ICF editor, don't touch! ****/ -/*-Editor annotation file-*/ -/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ -/*-Vector table start*/ -define symbol __ICFEDIT_vector_start__ = 0x20000000; -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; -define symbol __ICFEDIT_region_RAM_end__ = 0x2000BFFF; -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x2000; -define symbol __ICFEDIT_size_heap__ = 0x200; -/**** End of ICF editor section. ###ICF###*/ - -define memory mem with size = 4G; -define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; - -/* define block RamVect with alignment = 8, size = __ICFEDIT_size_vectors__ { }; */ -define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; - -initialize by copy with packing=none { readwrite }; -do not initialize { section .noinit }; - -place at address mem:__ICFEDIT_vector_start__ { readonly section .intvec }; -place in RAM_region { readonly, readwrite, block CSTACK, block HEAP }; diff --git a/hardware/atmel/sam/variants/sam3s_ek/variant.cpp b/hardware/atmel/sam/variants/sam3s_ek/variant.cpp deleted file mode 100644 index 6defc1fb1..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/variant.cpp +++ /dev/null @@ -1,229 +0,0 @@ -/* - Copyright (c) 2011 Arduino. 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 "variant.h" - -/* - * Pins descriptions - */ -extern const PinDescription g_APinDescription[]= -{ - // LEDS, 0..2 -#if defined VARIANT_REV_A - { PIOC, PIO_PC20, ID_PIOC, PIO_OUTPUT_1, PIO_DEFAULT }, // LED BLUE - { PIOC, PIO_PC21, ID_PIOC, PIO_OUTPUT_1, PIO_DEFAULT }, // LED GREEN - { PIOC, PIO_PC22, ID_PIOC, PIO_OUTPUT_1, PIO_DEFAULT }, // LED RED -#elif defined VARIANT_REV_B - { PIOA, PIO_PA19, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT }, // LED BLUE - { PIOA, PIO_PA20, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT }, // LED GREEN - { PIOC, PIO_PC20, ID_PIOC, PIO_OUTPUT_1, PIO_DEFAULT }, // LED RED -#else -#error "No board revision defined" -#endif - - // Clock 32KHz, 3..4 - { PIOA, PIO_PA7, ID_PIOA, PIO_NOT_A_PIN, PIO_DEFAULT }, // XIN32 - { PIOA, PIO_PA8, ID_PIOA, PIO_NOT_A_PIN, PIO_DEFAULT }, // XOUT32 - - // Clock 12MHz, 5..6 - { PIOB, PIO_PB9, ID_PIOB, PIO_NOT_A_PIN, PIO_DEFAULT }, // XIN - { PIOB, PIO_PB8, ID_PIOB, PIO_NOT_A_PIN, PIO_DEFAULT }, // XOUT - - // JTAG, 7..10 - { PIOB, PIO_PB4, ID_PIOB, PIO_NOT_A_PIN, PIO_DEFAULT }, // TDI - { PIOB, PIO_PB5, ID_PIOB, PIO_NOT_A_PIN, PIO_DEFAULT }, // TDO - { PIOB, PIO_PB6, ID_PIOB, PIO_NOT_A_PIN, PIO_DEFAULT }, // TMS - { PIOB, PIO_PB7, ID_PIOB, PIO_NOT_A_PIN, PIO_DEFAULT }, // TCK - - // USB, 11..13 - { PIOB, PIO_PB10, ID_PIOB, PIO_NOT_A_PIN, PIO_DEFAULT }, // DDM - { PIOB, PIO_PB11, ID_PIOB, PIO_NOT_A_PIN, PIO_DEFAULT }, // DDP -#if defined VARIANT_REV_A - { PIOC, PIO_PC23, ID_PIOC, PIO_INPUT, PIO_PULLUP }, // USB_VBUS -#elif defined VARIANT_REV_B - { PIOC, PIO_PC21, ID_PIOC, PIO_INPUT, PIO_PULLUP }, // USB_VBUS -#else -#error "No board revision defined" -#endif - - // UART0 (Serial), 14..16 - { PIOA, PIO_PA9, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT }, // URXD0 - { PIOA, PIO_PA10, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT }, // UTXD0 - { PIOA, PIO_PA9|PIO_PA10, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT }, // All UART0 pins - - // Push buttons, 17..18 - { PIOB, PIO_PB3, ID_PIOB, PIO_INPUT, PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE }, // PB1 - { PIOC, PIO_PC12, ID_PIOC, PIO_INPUT, PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_FALL_EDGE }, // PB2 - - // QTouch Slider, 19..20 - { PIOA, (PIO_PA0 | PIO_PA2 | PIO_PA4), ID_PIOA, PIO_INPUT, PIO_DEFAULT }, // QTSLIDR SNS - { PIOA, (PIO_PA1 | PIO_PA3 | PIO_PA5), ID_PIOA, PIO_INPUT, PIO_DEFAULT }, // QTSLIDR SNSK - - // QTouch Buttons, 21..22 - { PIOC, (PIO_PC22 | PIO_PC24 | PIO_PC26 | PIO_PC28 | PIO_PC30), ID_PIOC, PIO_INPUT, PIO_DEFAULT }, // KEYS SNS - { PIOC, (PIO_PC23 | PIO_PC25 | PIO_PC27 | PIO_PC29 | PIO_PC31), ID_PIOC, PIO_INPUT, PIO_DEFAULT }, // KEYS SNSK - - // MCI (SDCARD), 23..30 -#if defined VARIANT_REV_A - { PIOA, PIO_PA15, ID_PIOA, PIO_INPUT, PIO_PULLUP }, // MCI Card Detect -#elif defined VARIANT_REV_B - { PIOA, PIO_PA6, ID_PIOA, PIO_INPUT, PIO_PULLUP }, // MCI Card Detect -#else -#error "No board revision defined" -#endif - { PIOA, PIO_PA30, ID_PIOA, PIO_PERIPH_C, PIO_PULLUP }, // MCDA0 - { PIOA, PIO_PA31, ID_PIOA, PIO_PERIPH_C, PIO_PULLUP }, // MCDA1 - { PIOA, PIO_PA26, ID_PIOA, PIO_PERIPH_C, PIO_PULLUP }, // MCDA2 - { PIOA, PIO_PA27, ID_PIOA, PIO_PERIPH_C, PIO_PULLUP }, // MCDA3 - { PIOA, PIO_PA28, ID_PIOA, PIO_PERIPH_C, PIO_PULLUP }, // MCCDA - { PIOA, PIO_PA29, ID_PIOA, PIO_PERIPH_C, PIO_PULLUP }, // MCCK - - { PIOA, PIO_PA26|PIO_PA27|PIO_PA28|PIO_PA29|PIO_PA30|PIO_PA31, ID_PIOA, PIO_PERIPH_C, PIO_PULLUP }, // All MCI Pins - - // SPI, 31..34 - { PIOA, PIO_PA12A_MISO, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT }, // MISO - { PIOA, PIO_PA13A_MOSI, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT }, // MOSI - { PIOA, PIO_PA14A_SPCK, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT }, // SPCK - { PIOA, PIO_PA11A_NPCS0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT }, // NPCS0 - - // TouchScreen, 35..36 -#if defined VARIANT_REV_A - { PIOA, PIO_PA4, ID_PIOA, PIO_INPUT, PIO_PULLUP }, // IRQ_TSC - { PIOA, PIO_PA5, ID_PIOA, PIO_INPUT, PIO_PULLUP }, // BUSY_TSC -#elif defined VARIANT_REV_B - { PIOA, PIO_PA16, ID_PIOA, PIO_INPUT, PIO_PULLUP }, // IRQ_TSC - { PIOA, PIO_PA17, ID_PIOA, PIO_INPUT, PIO_PULLUP }, // BUSY_TSC -#else -#error "No board revision defined" -#endif - - // USART1, 37..41 - { PIOA, PIO_PA21A_RXD1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT }, // RXD1 - { PIOA, PIO_PA22A_TXD1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT }, // TXD1 - { PIOA, PIO_PA24A_RTS1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT }, // RTS1 - { PIOA, PIO_PA25A_CTS1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT }, // CTS1 - { PIOA, PIO_PA23A_SCK1, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT }, // COM1 ENABLE (MAX232) - - // LCD, 42..47 - { PIOC, 0xFF, ID_PIOC, PIO_PERIPH_A, PIO_PULLUP }, // EBI Data bus - { PIOC, PIO_PC8, ID_PIOC, PIO_PERIPH_A, PIO_PULLUP }, // EBI_NWE - { PIOC, PIO_PC11, ID_PIOC, PIO_PERIPH_A, PIO_PULLUP }, // EBI_NRD - { PIOC, PIO_PC15, ID_PIOC, PIO_PERIPH_A, PIO_PULLUP }, // LCD CS - { PIOC, PIO_PC19, ID_PIOC, PIO_PERIPH_A, PIO_PULLUP }, // LCD RS - { PIOC, PIO_PC13, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT }, // LCD BackLight - - { NULL, 0, 0, PIO_NOT_A_PIN, PIO_DEFAULT } // END -} ; - -/* - * UART objects - */ -RingBuffer rx_buffer1 ; -RingBuffer tx_buffer1 ; -RingBuffer rx_buffer2 ; -RingBuffer tx_buffer2 ; - -UARTClass Serial( UART0, UART0_IRQn, ID_UART0, &rx_buffer1, &tx_buffer1 ) ; -UARTClass Serial2( UART1, UART1_IRQn, ID_UART1, &rx_buffer2, &tx_buffer2 ) ; - -#ifdef __cplusplus -extern "C" { -#endif - -// IT handlers -extern void UART0_Handler( void ) -{ - Serial.IrqHandler() ; -} - -extern void UART1_Handler( void ) -{ - Serial2.IrqHandler() ; -} - -#ifdef __cplusplus -} -#endif - -// ---------------------------------------------------------------------------- -/* - * USART objects - */ -RingBuffer rx_buffer3 ; -RingBuffer tx_buffer3 ; -RingBuffer rx_buffer4 ; -RingBuffer tx_buffer4 ; - -USARTClass Serial3( USART0, USART0_IRQn, ID_USART0, &rx_buffer3, &tx_buffer3 ) ; -USARTClass Serial4( USART1, USART1_IRQn, ID_USART1, &rx_buffer4, &tx_buffer4 ) ; - -#ifdef __cplusplus -extern "C" { -#endif - -// IT handlers -extern void USART0_Handler( void ) -{ - Serial3.IrqHandler() ; -} - -extern void USART1_Handler( void ) -{ - Serial4.IrqHandler() ; -} - -#ifdef __cplusplus -} -#endif - -// ---------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * - */ -extern void init( void ) -{ - SystemInit() ; - - /* Set Systick to 1ms interval, common to all SAM3 variants */ - if ( SysTick_Config( SystemCoreClock / 1000 ) ) - { - /* Capture error */ - while ( 1 ) ; - } - - /* Disable watchdog, common to all SAM variants */ - WDT_Disable( WDT ) ; - - // Initialize Serial port UART0, common to all SAM3 variants - PIO_Configure( g_APinDescription[PINS_UART].pPort, g_APinDescription[PINS_UART].ulPinType, - g_APinDescription[PINS_UART].ulPin, g_APinDescription[PINS_UART].ulPinConfiguration ) ; - - // Switch off Power LED - PIO_Configure( g_APinDescription[PIN_LED_RED].pPort, g_APinDescription[PIN_LED_RED].ulPinType, - g_APinDescription[PIN_LED_RED].ulPin, g_APinDescription[PIN_LED_RED].ulPinConfiguration ) ; - PIO_Clear( g_APinDescription[PIN_LED_RED].pPort, g_APinDescription[PIN_LED_RED].ulPin ) ; -} -#ifdef __cplusplus -} -#endif - diff --git a/hardware/atmel/sam/variants/sam3s_ek/variant.h b/hardware/atmel/sam/variants/sam3s_ek/variant.h deleted file mode 100644 index 427f411cd..000000000 --- a/hardware/atmel/sam/variants/sam3s_ek/variant.h +++ /dev/null @@ -1,184 +0,0 @@ -/* - Copyright (c) 2011 Arduino. 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_SAM3S_EK_ -#define _VARIANT_SAM3S_EK_ - -/*---------------------------------------------------------------------------- - * Headers - *----------------------------------------------------------------------------*/ - -#include "Arduino.h" -#ifdef __cplusplus -#include "UARTClass.h" -#include "USARTClass.h" -#endif - -/** - * Libc porting layers - */ -#if defined ( __GNUC__ ) /* GCC CS3 */ -# include /** RedHat Newlib minimal stub */ -#endif - -/*---------------------------------------------------------------------------- - * Definitions - *----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*/ - -#ifndef sam3s_ek -#define sam3s_ek -#endif - -/** Name of the board */ -#define VARIANT_NAME "SAM3S-EK" - -#define VARIANT_REV_A -/* -#define VARIANT_REV_B -*/ - -/** Frequency of the board main oscillator */ -#define VARIANT_MAINOSC 12000000 - -/** Master clock frequency */ -#define VARIANT_MCK 64000000 - -/*---------------------------------------------------------------------------- - * Pins - *----------------------------------------------------------------------------*/ - -// Number of pins defined in PinDescription array -#define PINS_COUNT (84u) - -// LEDs -#define PIN_LED_BLUE (0u) -#define PIN_LED_GREEN (1u) -#define PIN_LED_RED (2u) -#define PIN_LED PIN_LED_BLUE - -/* - * SPI Interfaces - */ -#define SPI_INTERFACES_COUNT 1 - -#define SPI_INTERFACE SPI -#define SPI_INTERFACE_ID ID_SPI -#define PIN_SPI_SS (4u) -#define PIN_SPI_MOSI (76u) -#define PIN_SPI_MISO (75u) -#define PIN_SPI_SCK (77u) - -static const uint8_t SS = 34 ; -static const uint8_t MOSI = 32 ; -static const uint8_t MISO = 31 ; -static const uint8_t SCK = 33 ; - -/* - * Wire Interfaces - */ -#define WIRE_INTERFACES_COUNT 2 - -#define PIN_WIRE_SDA (20u) -#define PIN_WIRE_SCL (21u) -#define WIRE_INTERFACE TWI1 -#define WIRE_INTERFACE_ID ID_TWI1 -#define WIRE_ISR_HANDLER TWI1_IrqHandler - -#define PIN_WIRE1_SDA (68u) -#define PIN_WIRE1_SCL (69u) -#define WIRE1_INTERFACE TWI0 -#define WIRE1_INTERFACE_ID ID_TWI0 -#define WIRE1_ISR_HANDLER TWI0_IrqHandler - -#if defined VARIANT_REV_A -# define PIN_TSC_IRQ_WUP_ID (1UL << 3) -#elif defined VARIANT_REV_B -# define PIN_TSC_IRQ_WUP_ID (1UL << 15) -#else -#error "No board revision defined" -#endif - -#define BOARD_LCD_PINS PIN_EBI_DATA_BUS, PIN_EBI_NRD, PIN_EBI_NWE, PIN_EBI_NCS1, PIN_EBI_LCD_RS -#define BOARD_LCD_BASE 0x61000000 /** Define ILI9325 base address. */ -#define BOARD_LCD_RS (1 << 1) /** Define ILI9325 register select signal. */ - -/* - * UART/USART Interfaces - */ -#define PINS_UART (6u) - -#define PINS_USART0 (81u) -#define PINS_USART1 (82u) - -/* - * Analog pins - */ -static const uint8_t A0 = 54; -static const uint8_t A1 = 55; -static const uint8_t A2 = 56; -static const uint8_t A3 = 57; -static const uint8_t A4 = 58; -static const uint8_t A5 = 59; -static const uint8_t A6 = 60; -static const uint8_t A7 = 61; -static const uint8_t A8 = 62; -static const uint8_t A9 = 63; -static const uint8_t A10 = 64; -static const uint8_t A11 = 65; -static const uint8_t A12 = 66; -static const uint8_t A13 = 67; -static const uint8_t A14 = ; -static const uint8_t A15 = ; - -#define PIN_DAC0 (u) - -/* - * PWM - */ -#define PWM_INTERFACE PWM -#define PWM_INTERFACE_ID ID_PWM -#define PWM_FREQUENCY 1000 -#define PWM_MAX_DUTY_CYCLE 255 -#define PWM_MIN_DUTY_CYCLE 0 - -/* - * TC - */ -#define TC_INTERFACE TC0 -#define TC_INTERFACE_ID ID_TC0 -#define TC_FREQUENCY 1000 -#define TC_MAX_DUTY_CYCLE 255 -#define TC_MIN_DUTY_CYCLE 0 - -/*---------------------------------------------------------------------------- - * Arduino objects - C++ only - *----------------------------------------------------------------------------*/ - -#ifdef __cplusplus - -extern UARTClass Serial ; -extern UARTClass Serial2 ; - -extern USARTClass Serial3 ; - -#endif - -#endif /* _VARIANT_SAM3S_EK_ */ - diff --git a/hardware/atmel/sam/variants/sam3u_ek/SAM3U-EK_REVC.pdf b/hardware/atmel/sam/variants/sam3u_ek/SAM3U-EK_REVC.pdf deleted file mode 100644 index 4f828cf85..000000000 Binary files a/hardware/atmel/sam/variants/sam3u_ek/SAM3U-EK_REVC.pdf and /dev/null differ diff --git a/hardware/atmel/sam/variants/sam3u_ek/build_gcc/Makefile b/hardware/atmel/sam/variants/sam3u_ek/build_gcc/Makefile deleted file mode 100644 index e231bd72d..000000000 --- a/hardware/atmel/sam/variants/sam3u_ek/build_gcc/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -# -# Copyright (c) 2011 Arduino. 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 -# - -# Makefile for compiling libboard -BOARD = - -SUBMAKE_OPTIONS=--no-builtin-rules --no-builtin-variables --no-print-directory - -#------------------------------------------------------------------------------- -# Rules -#------------------------------------------------------------------------------- - -all: sam3u_ek - -.PHONY: sam3u_ek -sam3u_ek: - @echo --- Making sam3u_ek - @$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f libvariant_sam3u_ek.mk -# @$(MAKE) $(SUBMAKE_OPTIONS) -f libvariant_sam3u_ek.mk - -.PHONY: clean -clean: - @echo --- Cleaning sam3u_ek - @$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f libvariant_sam3u_ek.mk $@ -# @$(MAKE) $(SUBMAKE_OPTIONS) -f libvariant_sam3u_ek.mk $@ - - diff --git a/hardware/atmel/sam/variants/sam3u_ek/build_gcc/debug.mk b/hardware/atmel/sam/variants/sam3u_ek/build_gcc/debug.mk deleted file mode 100644 index d0716744a..000000000 --- a/hardware/atmel/sam/variants/sam3u_ek/build_gcc/debug.mk +++ /dev/null @@ -1,25 +0,0 @@ -# -# Copyright (c) 2011 Arduino. 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 -# - -# Optimization level -# -O1 Optimize -# -O2 Optimize even more -# -O3 Optimize yet more -# -O0 Reduce compilation time and make debugging produce the expected results -# -Os Optimize for size -OPTIMIZATION = -g -O0 -DDEBUG diff --git a/hardware/atmel/sam/variants/sam3u_ek/build_gcc/gcc.mk b/hardware/atmel/sam/variants/sam3u_ek/build_gcc/gcc.mk deleted file mode 100644 index 32f35d264..000000000 --- a/hardware/atmel/sam/variants/sam3u_ek/build_gcc/gcc.mk +++ /dev/null @@ -1,82 +0,0 @@ -# -# Copyright (c) 2011 Arduino. 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 -# - -# Tool suffix when cross-compiling -CROSS_COMPILE = $(ARM_GCC_TOOLCHAIN)/arm-none-eabi- - -# Compilation tools -AR = $(CROSS_COMPILE)ar -CC = $(CROSS_COMPILE)gcc -CXX = $(CROSS_COMPILE)g++ -AS = $(CROSS_COMPILE)as -NM = $(CROSS_COMPILE)nm -ifeq ($(OS),Windows_NT) -RM=cs-rm -Rf -else -RM=rm -Rf -endif - -SEP=\\ - -# --------------------------------------------------------------------------------------- -# C Flags - -CFLAGS += -Wall -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -CFLAGS += -Werror-implicit-function-declaration -Wmain -Wparentheses -CFLAGS += -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -CFLAGS += -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -CFLAGS += -Wshadow -Wpointer-arith -Wbad-function-cast -Wwrite-strings -CFLAGS += -Wsign-compare -Waggregate-return -Wstrict-prototypes -CFLAGS += -Wmissing-prototypes -Wmissing-declarations -CFLAGS += -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -CFLAGS += -Wpacked -Wredundant-decls -Wnested-externs -Winline -Wlong-long -CFLAGS += -Wunreachable-code -CFLAGS += -Wcast-align -#CFLAGS += -Wmissing-noreturn -#CFLAGS += -Wconversion - -CFLAGS += --param max-inline-insns-single=500 -mcpu=cortex-m3 -mthumb -mlong-calls -ffunction-sections -fdata-sections -nostdlib -std=c99 -CFLAGS += $(OPTIMIZATION) $(INCLUDES) -D$(CHIP) -D$(VARIANT) - -# To reduce application size use only integer printf function. -CFLAGS += -Dprintf=iprintf - -# --------------------------------------------------------------------------------------- -# CPP Flags - -CPPFLAGS += -Wall -Wchar-subscripts -Wcomment -Wformat=2 -CPPFLAGS += -Wmain -Wparentheses -Wcast-align -Wunreachable-code -CPPFLAGS += -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -CPPFLAGS += -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -CPPFLAGS += -Wshadow -Wpointer-arith -Wwrite-strings -CPPFLAGS += -Wsign-compare -Waggregate-return -Wmissing-declarations -CPPFLAGS += -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -CPPFLAGS += -Wpacked -Wredundant-decls -Winline -Wlong-long -#CPPFLAGS += -Wmissing-noreturn -#CPPFLAGS += -Wconversion - -CPPFLAGS += --param max-inline-insns-single=500 -mcpu=cortex-m3 -mthumb -mlong-calls -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -std=c++98 -CPPFLAGS += $(OPTIMIZATION) $(INCLUDES) -D$(CHIP) - -# To reduce application size use only integer printf function. -CPPFLAGS += -Dprintf=iprintf - -# --------------------------------------------------------------------------------------- -# ASM Flags - -ASFLAGS = -mcpu=cortex-m3 -mthumb -Wall -g $(OPTIMIZATION) $(INCLUDES) diff --git a/hardware/atmel/sam/variants/sam3u_ek/build_gcc/libvariant_sam3u_ek.mk b/hardware/atmel/sam/variants/sam3u_ek/build_gcc/libvariant_sam3u_ek.mk deleted file mode 100644 index 70e80887d..000000000 --- a/hardware/atmel/sam/variants/sam3u_ek/build_gcc/libvariant_sam3u_ek.mk +++ /dev/null @@ -1,177 +0,0 @@ -# -# Copyright (c) 2012 Arduino. 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 -# - -# Makefile for compiling libArduino -.SUFFIXES: .o .a .c .s - -CHIP=__SAM3U4E__ -VARIANT=sam3u_ek -LIBNAME=libvariant_$(VARIANT) -TOOLCHAIN=gcc - -#------------------------------------------------------------------------------- -# Path -#------------------------------------------------------------------------------- - -# Output directories -OUTPUT_BIN = ../../../cores/sam - -# Libraries -PROJECT_BASE_PATH = .. -SYSTEM_PATH = ../../../system -CMSIS_ROOT_PATH = $(SYSTEM_PATH)/CMSIS -CMSIS_ARM_PATH=$(CMSIS_ROOT_PATH)/CMSIS/Include -CMSIS_ATMEL_PATH=$(CMSIS_ROOT_PATH)/Device/ATMEL -#CMSIS_CHIP_PATH=$(CMSIS_ROOT_PATH)/Device/ATMEL/$(CHIP_SERIE) - -ARDUINO_PATH = ../../../cores/sam -VARIANT_BASE_PATH = ../../../variants -VARIANT_PATH = ../../../variants/$(VARIANT) - -#------------------------------------------------------------------------------- -# Files -#------------------------------------------------------------------------------- - -vpath %.h $(PROJECT_BASE_PATH) $(SYSTEM_PATH) $(VARIANT_PATH) -vpath %.cpp $(PROJECT_BASE_PATH) $(PROJECT_BASE_PATH) - -VPATH+=$(PROJECT_BASE_PATH) - -INCLUDES = -#INCLUDES += -I$(PROJECT_BASE_PATH) -INCLUDES += -I$(ARDUINO_PATH) -INCLUDES += -I$(SYSTEM_PATH) -INCLUDES += -I$(SYSTEM_PATH)/libsam -INCLUDES += -I$(VARIANT_BASE_PATH) -INCLUDES += -I$(VARIANT_PATH) -INCLUDES += -I$(CMSIS_ARM_PATH) -INCLUDES += -I$(CMSIS_ATMEL_PATH) - -#------------------------------------------------------------------------------- -ifdef DEBUG -include debug.mk -else -include release.mk -endif - -#------------------------------------------------------------------------------- -# Tools -#------------------------------------------------------------------------------- - -include $(TOOLCHAIN).mk - -#------------------------------------------------------------------------------- -ifdef DEBUG -OUTPUT_OBJ=debug -OUTPUT_LIB_POSTFIX=dbg -else -OUTPUT_OBJ=release -OUTPUT_LIB_POSTFIX=rel -endif - -OUTPUT_LIB=$(LIBNAME)_$(TOOLCHAIN)_$(OUTPUT_LIB_POSTFIX).a -OUTPUT_PATH=$(OUTPUT_OBJ)_$(VARIANT) - -#------------------------------------------------------------------------------- -# C source files and objects -#------------------------------------------------------------------------------- -C_SRC=$(wildcard $(PROJECT_BASE_PATH)/*.c) - -C_OBJ_TEMP = $(patsubst %.c, %.o, $(notdir $(C_SRC))) - -# during development, remove some files -C_OBJ_FILTER= - -C_OBJ=$(filter-out $(C_OBJ_FILTER), $(C_OBJ_TEMP)) - -#------------------------------------------------------------------------------- -# CPP source files and objects -#------------------------------------------------------------------------------- -CPP_SRC=$(wildcard $(PROJECT_BASE_PATH)/*.cpp) - -CPP_OBJ_TEMP = $(patsubst %.cpp, %.o, $(notdir $(CPP_SRC))) - -# during development, remove some files -CPP_OBJ_FILTER= - -CPP_OBJ=$(filter-out $(CPP_OBJ_FILTER), $(CPP_OBJ_TEMP)) - -#------------------------------------------------------------------------------- -# Assembler source files and objects -#------------------------------------------------------------------------------- -A_SRC=$(wildcard $(PROJECT_BASE_PATH)/*.s) - -A_OBJ_TEMP=$(patsubst %.s, %.o, $(notdir $(A_SRC))) - -# during development, remove some files -A_OBJ_FILTER= - -A_OBJ=$(filter-out $(A_OBJ_FILTER), $(A_OBJ_TEMP)) - -#------------------------------------------------------------------------------- -# Rules -#------------------------------------------------------------------------------- -all: $(VARIANT) - -$(VARIANT): create_output $(OUTPUT_LIB) - -.PHONY: create_output -create_output: - @echo ------------------------- - @echo --- Preparing $(VARIANT) files in $(OUTPUT_PATH) $(OUTPUT_BIN) - @echo ------------------------- -# @echo *$(INCLUDES) -# @echo ------------------------- -# @echo *$(C_SRC) -# @echo ------------------------- -# @echo *$(C_OBJ) -# @echo ------------------------- -# @echo *$(addprefix $(OUTPUT_PATH)/, $(C_OBJ)) -# @echo ------------------------- -# @echo *$(CPP_SRC) -# @echo ------------------------- -# @echo *$(CPP_OBJ) -# @echo ------------------------- -# @echo *$(addprefix $(OUTPUT_PATH)/, $(CPP_OBJ)) -# @echo ------------------------- -# @echo *$(A_SRC) -# @echo ------------------------- - - -@mkdir $(OUTPUT_PATH) 1>NUL 2>&1 - -$(addprefix $(OUTPUT_PATH)/,$(C_OBJ)): $(OUTPUT_PATH)/%.o: %.c -# @"$(CC)" -v -c $(CFLAGS) $< -o $@ - @"$(CC)" -c $(CFLAGS) $< -o $@ - -$(addprefix $(OUTPUT_PATH)/,$(CPP_OBJ)): $(OUTPUT_PATH)/%.o: %.cpp -# @"$(CC)" -c $(CPPFLAGS) $< -o $@ - @"$(CC)" -xc++ -c $(CPPFLAGS) $< -o $@ - -$(addprefix $(OUTPUT_PATH)/,$(A_OBJ)): $(OUTPUT_PATH)/%.o: %.s - @"$(AS)" -c $(ASFLAGS) $< -o $@ - -$(OUTPUT_LIB): $(addprefix $(OUTPUT_PATH)/, $(C_OBJ)) $(addprefix $(OUTPUT_PATH)/, $(CPP_OBJ)) $(addprefix $(OUTPUT_PATH)/, $(A_OBJ)) - @"$(AR)" -v -r "$(OUTPUT_BIN)/$@" $^ - @"$(NM)" "$(OUTPUT_BIN)/$@" > "$(OUTPUT_BIN)/$@.txt" - - -.PHONY: clean -clean: - @echo --- Cleaning $(VARIANT) files [$(OUTPUT_PATH)$(SEP)*.o] - -@$(RM) $(OUTPUT_PATH) 1>NUL 2>&1 - -@$(RM) $(OUTPUT_BIN)/$(OUTPUT_LIB) 1>NUL 2>&1 diff --git a/hardware/atmel/sam/variants/sam3u_ek/build_gcc/release.mk b/hardware/atmel/sam/variants/sam3u_ek/build_gcc/release.mk deleted file mode 100644 index 0d15157f4..000000000 --- a/hardware/atmel/sam/variants/sam3u_ek/build_gcc/release.mk +++ /dev/null @@ -1,25 +0,0 @@ -# -# Copyright (c) 2011 Arduino. 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 -# - -# Optimization level -# -O1 Optimize -# -O2 Optimize even more -# -O3 Optimize yet more -# -O0 Reduce compilation time and make debugging produce the expected results -# -Os Optimize for size -OPTIMIZATION = -Os diff --git a/hardware/atmel/sam/variants/sam3u_ek/debug_scripts/gcc/sam3u_ek_flash.gdb b/hardware/atmel/sam/variants/sam3u_ek/debug_scripts/gcc/sam3u_ek_flash.gdb deleted file mode 100644 index a0fb3fd20..000000000 --- a/hardware/atmel/sam/variants/sam3u_ek/debug_scripts/gcc/sam3u_ek_flash.gdb +++ /dev/null @@ -1,33 +0,0 @@ -#******************************************************* -# -# Connect to J-Link and debug application in flash. -# - -# define 'reset' command -define reset - -# Connect to the J-Link gdb server -target remote localhost:2331 -# Reset the chip to get to a known state -monitor reset - -# Select flash device -monitor flash device = AT91SAM3U4E -# Enable flash download and flash breakpoints -monitor flash download = 1 -# Load the program -load - -# Reset peripheral (RSTC_CR) -set *0x400e1200 = 0xA5000004 - -# Initializing PC and stack pointer -mon reg sp=(0x80000) -set *0x80004 = *0x80004 & 0xFFFFFFFE -mon reg pc=(0x80004) -info reg - -break main - -# end of 'reset' command -end diff --git a/hardware/atmel/sam/variants/sam3u_ek/debug_scripts/gcc/sam3u_ek_sram.gdb b/hardware/atmel/sam/variants/sam3u_ek/debug_scripts/gcc/sam3u_ek_sram.gdb deleted file mode 100644 index 5fa44e23c..000000000 --- a/hardware/atmel/sam/variants/sam3u_ek/debug_scripts/gcc/sam3u_ek_sram.gdb +++ /dev/null @@ -1,29 +0,0 @@ -#******************************************************* -# -# Connect to J-Link and debug application in flash. -# - -# define 'reset' command -define reset - -# Connect to the J-Link gdb server -target remote localhost:2331 -# Reset the chip to get to a known state -monitor reset - -# Load the program -load - -# Reset peripheral (RSTC_CR) -set *0x400e1200 = 0xA5000004 - -# Initializing PC and stack pointer -mon reg sp=(0x20000000) -set *0x20000004 = *0x20000004 & 0xFFFFFFFE -mon reg pc=(0x20000004) -info reg - -break main - -# end of 'reset' command -end diff --git a/hardware/atmel/sam/variants/sam3u_ek/debug_scripts/iar/sam3u_ek_flash.mac b/hardware/atmel/sam/variants/sam3u_ek/debug_scripts/iar/sam3u_ek_flash.mac deleted file mode 100644 index 959583582..000000000 --- a/hardware/atmel/sam/variants/sam3u_ek/debug_scripts/iar/sam3u_ek_flash.mac +++ /dev/null @@ -1,44 +0,0 @@ -// --------------------------------------------------------- -// ATMEL Microcontroller Software Support - ROUSSET - -// --------------------------------------------------------- -// The software is delivered "AS IS" without warranty or -// condition of any kind, either express, implied or -// statutory. This includes without limitation any warranty -// or condition with respect to merchantability or fitness -// for any particular purpose, or against the infringements of -// intellectual property rights of others. -// --------------------------------------------------------- -// File: at91sam3u-ek-flash.mac -// User setup file for CSPY debugger. -// --------------------------------------------------------- -__var __mac_i; -__var __mac_pt; - -/********************************************************************* -* -* execUserReset() -*/ -execUserReset() -{ - __message "------------------------------ execUserReset ---------------------------------"; - __message "-------------------------------Set PC Reset ----------------------------------"; - - __hwReset(0); - - // perpheral reset RSTC_CR - __writeMemory32(0xA5000004,0x400e1200,"Memory"); -} - -/********************************************************************* -* -* execUserPreload() -*/ -execUserPreload() -{ - __message "------------------------------ execUserPreload ---------------------------------"; - - __hwReset(0); //* Hardware Reset: CPU is automatically halted after the reset - - // perpheral reset RSTC_CR - __writeMemory32(0xA5000004,0x400e1200,"Memory"); -} diff --git a/hardware/atmel/sam/variants/sam3u_ek/debug_scripts/iar/sam3u_ek_sram.mac b/hardware/atmel/sam/variants/sam3u_ek/debug_scripts/iar/sam3u_ek_sram.mac deleted file mode 100644 index ba86029d3..000000000 --- a/hardware/atmel/sam/variants/sam3u_ek/debug_scripts/iar/sam3u_ek_sram.mac +++ /dev/null @@ -1,44 +0,0 @@ -// --------------------------------------------------------- -// ATMEL Microcontroller Software Support - ROUSSET - -// --------------------------------------------------------- -// The software is delivered "AS IS" without warranty or -// condition of any kind, either express, implied or -// statutory. This includes without limitation any warranty -// or condition with respect to merchantability or fitness -// for any particular purpose, or against the infringements of -// intellectual property rights of others. -// --------------------------------------------------------- -// File: at91sam3u-ek-sram.mac -// User setup file for CSPY debugger. -// --------------------------------------------------------- -__var __mac_i; -__var __mac_pt; - -/********************************************************************* -* -* execUserReset() -*/ -execUserReset() -{ - __message "------------------------------ execUserReset ---------------------------------"; - __message "-------------------------------Set PC Reset ----------------------------------"; - - //__hwReset(50); - - // perpheral reset RSTC_CR - __writeMemory32(0xA5000004,0x400e1200,"Memory"); -} - -/********************************************************************* -* -* execUserPreload() -*/ -execUserPreload() -{ - __message "------------------------------ execUserPreload ---------------------------------"; - - __hwReset(0); //* Hardware Reset: CPU is automatically halted after the reset - - // perpheral reset RSTC_CR - __writeMemory32(0xA5000004,0x400e1200,"Memory"); -} diff --git a/hardware/atmel/sam/variants/sam3u_ek/linker_scripts/gcc/flash.ld b/hardware/atmel/sam/variants/sam3u_ek/linker_scripts/gcc/flash.ld deleted file mode 100644 index c79e630a5..000000000 --- a/hardware/atmel/sam/variants/sam3u_ek/linker_scripts/gcc/flash.ld +++ /dev/null @@ -1,150 +0,0 @@ -/* ---------------------------------------------------------------------------- - * ATMEL Microcontroller Software Support - * ---------------------------------------------------------------------------- - * Copyright (c) 2009, Atmel Corporation - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the disclaimer below. - * - * Atmel's name may not be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * ---------------------------------------------------------------------------- - */ - -/*------------------------------------------------------------------------------ - * Linker script for running in internal FLASH on the SAM3U4 - *----------------------------------------------------------------------------*/ - -OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") -OUTPUT_ARCH(arm) -SEARCH_DIR(.) - -/* Memory Spaces Definitions */ -MEMORY -{ - flash0 (W!RX) : ORIGIN = 0x00080000, LENGTH = 0x00020000 /* Flash0, 128K */ - flash1 (W!RX) : ORIGIN = 0x00100000, LENGTH = 0x00020000 /* Flash1, 128K */ - sram0 (W!RX) : ORIGIN = 0x20000000, LENGTH = 0x00008000 /* Sram0, 32K */ - sram1 (W!RX) : ORIGIN = 0x20080000, LENGTH = 0x00004000 /* Sram1, 16K */ - rom (rx) : ORIGIN = ORIGIN(flash1)-LENGTH(flash0), LENGTH = LENGTH(flash0)+LENGTH(flash1) /* Flash, 256K */ - ram (rwx) : ORIGIN = ORIGIN( sram1)-LENGTH( sram0), LENGTH = LENGTH( sram0)+LENGTH( sram1) /* sram, 48K */ -} - -/* The stack size used by the application. NOTE: you need to adjust */ -STACK_SIZE = 0x2000; - -/* Section Definitions */ -SECTIONS -{ - .text : - { - . = ALIGN(4); - _sfixed = .; - KEEP(*(.vectors .vectors.*)) - *(.text .text.* .gnu.linkonce.t.*) - *(.glue_7t) *(.glue_7) - *(.rodata .rodata* .gnu.linkonce.r.*) - *(.ARM.extab* .gnu.linkonce.armextab.*) - - /* Support C constructors, and C destructors in both user code - and the C library. This also provides support for C++ code. */ - . = ALIGN(4); - KEEP(*(.init)) - . = ALIGN(4); - __preinit_array_start = .; - KEEP (*(.preinit_array)) - __preinit_array_end = .; - - . = ALIGN(4); - __init_array_start = .; - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - __init_array_end = .; - - . = ALIGN(0x4); - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*crtend.o(.ctors)) - - . = ALIGN(4); - KEEP(*(.fini)) - - . = ALIGN(4); - __fini_array_start = .; - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - __fini_array_end = .; - - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*crtend.o(.dtors)) - - . = ALIGN(4); - _efixed = .; /* End of text section */ - } > flash0 - - /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > flash0 - PROVIDE_HIDDEN (__exidx_end = .); - - . = ALIGN(4); - _etext = .; - - .relocate : AT (_etext) - { - . = ALIGN(4); - _srelocate = .; - *(.ramfunc .ramfunc.*); - *(.data .data.*); - . = ALIGN(4); - _erelocate = .; - } > sram0 - - /* .bss section which is used for uninitialized data */ - .bss (NOLOAD) : - { - . = ALIGN(4); - _sbss = . ; - _szero = .; - *(.bss .bss.*) - *(COMMON) - . = ALIGN(4); - _ebss = . ; - _ezero = .; - } > sram0 - - /* stack section */ - .stack (NOLOAD): - { - . = ALIGN(8); - _sstack = .; - . = . + STACK_SIZE; - . = ALIGN(8); - _estack = .; - } > sram1 - - . = ALIGN(4); - _end = . ; -} diff --git a/hardware/atmel/sam/variants/sam3u_ek/linker_scripts/gcc/sram.ld b/hardware/atmel/sam/variants/sam3u_ek/linker_scripts/gcc/sram.ld deleted file mode 100644 index c8e21ad30..000000000 --- a/hardware/atmel/sam/variants/sam3u_ek/linker_scripts/gcc/sram.ld +++ /dev/null @@ -1,150 +0,0 @@ -/* ---------------------------------------------------------------------------- - * ATMEL Microcontroller Software Support - * ---------------------------------------------------------------------------- - * Copyright (c) 2009, Atmel Corporation - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the disclaimer below. - * - * Atmel's name may not be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * ---------------------------------------------------------------------------- - */ - -/*------------------------------------------------------------------------------ - * Linker script for running in internal SRAM on the SAM3U4 - *----------------------------------------------------------------------------*/ - -OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") -OUTPUT_ARCH(arm) -SEARCH_DIR(.) - -/* Memory Spaces Definitions */ -MEMORY -{ - flash0 (W!RX) : ORIGIN = 0x00080000, LENGTH = 0x00020000 /* Flash0, 128K */ - flash1 (W!RX) : ORIGIN = 0x00100000, LENGTH = 0x00020000 /* Flash1, 128K */ - sram0 (W!RX) : ORIGIN = 0x20000000, LENGTH = 0x00008000 /* Sram0, 32K */ - sram1 (W!RX) : ORIGIN = 0x20080000, LENGTH = 0x00004000 /* Sram1, 16K */ - rom (rx) : ORIGIN = ORIGIN(flash1)-LENGTH(flash0), LENGTH = LENGTH(flash0)+LENGTH(flash1) /* Flash, 256K */ - ram (rwx) : ORIGIN = ORIGIN( sram1)-LENGTH( sram0), LENGTH = LENGTH( sram0)+LENGTH( sram1) /* sram, 48K */ -} - -/* The stack size used by the application. NOTE: you need to adjust */ -STACK_SIZE = 0x800; - -/* Section Definitions */ -SECTIONS -{ - .text : - { - . = ALIGN(4); - _sfixed = .; - KEEP(*(.vectors .vectors.*)) - *(.text .text.* .gnu.linkonce.t.*) - *(.glue_7t) *(.glue_7) - *(.rodata .rodata* .gnu.linkonce.r.*) - *(.ARM.extab* .gnu.linkonce.armextab.*) - - /* Support C constructors, and C destructors in both user code - and the C library. This also provides support for C++ code. */ - . = ALIGN(4); - KEEP(*(.init)) - . = ALIGN(4); - __preinit_array_start = .; - KEEP (*(.preinit_array)) - __preinit_array_end = .; - - . = ALIGN(4); - __init_array_start = .; - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - __init_array_end = .; - - . = ALIGN(0x4); - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*crtend.o(.ctors)) - - . = ALIGN(4); - KEEP(*(.fini)) - - . = ALIGN(4); - __fini_array_start = .; - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - __fini_array_end = .; - - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*crtend.o(.dtors)) - - . = ALIGN(4); - _efixed = .; /* End of text section */ - } > sram0 - - . = ALIGN(4); - _etext = .; - - .relocate : AT (_etext) - { - . = ALIGN(4); - _srelocate = .; - *(.ramfunc .ramfunc.*); - *(.data .data.*); - . = ALIGN(4); - _erelocate = .; - } > sram1 - - /* .bss section which is used for uninitialized data */ - .bss (NOLOAD) : - { - . = ALIGN(4); - _sbss = . ; - _szero = .; - *(.bss .bss.*) - *(COMMON) - . = ALIGN(4); - _ebss = . ; - _ezero = .; - } > sram1 - - /* stack section */ - .stack (NOLOAD): - { - . = ALIGN(8); - _sstack = .; - . = . + STACK_SIZE; - . = ALIGN(8); - _estack = .; - } > sram1 - - /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > sram1 - PROVIDE_HIDDEN (__exidx_end = .); - - . = ALIGN(4); - _end = . ; -} diff --git a/hardware/atmel/sam/variants/sam3u_ek/linker_scripts/iar/flash.icf b/hardware/atmel/sam/variants/sam3u_ek/linker_scripts/iar/flash.icf deleted file mode 100644 index 956230fbd..000000000 --- a/hardware/atmel/sam/variants/sam3u_ek/linker_scripts/iar/flash.icf +++ /dev/null @@ -1,49 +0,0 @@ -/*###ICF### Section handled by ICF editor, don't touch! ****/ -/*-Editor annotation file-*/ -/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ -/*-Vector table start*/ -define symbol __ICFEDIT_vector_start__ = 0x00080000; /*Add for CMSIS*/ -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_RAM0_start__ = 0x20000000; -define symbol __ICFEDIT_region_RAM0_end__ = 0x20007FFF; -define symbol __ICFEDIT_region_RAM1_start__ = 0x20080000; -define symbol __ICFEDIT_region_RAM1_end__ = 0x20083FFF; -define symbol __ICFEDIT_region_ROM0_start__ = 0x00080000; -define symbol __ICFEDIT_region_ROM0_end__ = 0x0009FFFF; -define symbol __ICFEDIT_region_ROM1_start__ = 0x00100000; -define symbol __ICFEDIT_region_ROM1_end__ = 0x0011FFFF; -/*-Sizes-*/ -/*define symbol __ICFEDIT_size_cstack__ = 0x1000;*//*for nandflash*/ -define symbol __ICFEDIT_size_cstack__ = 0x2000; -define symbol __ICFEDIT_size_heap__ = 0x200; -/*-Specials-*/ -/*define symbol __ICFEDIT_region_RAM_VECT_start__ = __ICFEDIT_region_RAM0_start__;*/ /*Referenced for CMSIS*/ -/*define symbol __ICFEDIT_size_vectors__ = 0x100;*/ /*Referenced for CMSIS*/ -/*-Exports-*/ -/*export symbol __ICFEDIT_region_RAM_VECT_start__;*/ -export symbol __ICFEDIT_vector_start__; /*Add for CMSIS*/ -/**** End of ICF editor section. ###ICF###*/ - -define memory mem with size = 4G; -/*define region RAM_VECT_region = mem:[from __ICFEDIT_region_RAM_VECT_start__ size __ICFEDIT_size_vectors__];*/ /*Referenced for CMSIS*/ -/*define region RAM0_region = mem:[from __ICFEDIT_region_RAM0_start__+__ICFEDIT_size_vectors__ to __ICFEDIT_region_RAM0_end__];*/ /*Referenced for CMSIS*/ -define region RAM0_region = mem:[from __ICFEDIT_region_RAM0_start__ to __ICFEDIT_region_RAM0_end__]; -define region RAM1_region = mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__]; -/*define region RAM_region = mem:[from __ICFEDIT_region_RAM0_start__+__ICFEDIT_size_vectors__ to __ICFEDIT_region_RAM0_end__] | - mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__];*/ /*Referenced for CMSIS*/ -define region ROM0_region = mem:[from __ICFEDIT_region_ROM0_start__ to __ICFEDIT_region_ROM0_end__]; -define region ROM1_region = mem:[from __ICFEDIT_region_ROM1_start__ to __ICFEDIT_region_ROM1_end__]; - -/*define block RamVect with alignment = 8, size = __ICFEDIT_size_vectors__ { };*/ -define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; - -initialize by copy { readwrite }; -do not initialize { section .noinit }; - -/*place at start of ROM0_region { readonly section .vectors };*/ /*Referenced for CMSIS*/ -place at address mem:__ICFEDIT_vector_start__ { readonly section .intvec }; /*Add for CMSIS*/ -place in ROM0_region { readonly }; -place in RAM0_region { readwrite, block HEAP }; -place in RAM1_region { block CSTACK }; /* for nandflash*/ -/*place in RAM_VECT_region { block RamVect };*/ /*Referenced for CMSIS*/ \ No newline at end of file diff --git a/hardware/atmel/sam/variants/sam3u_ek/linker_scripts/iar/sram.icf b/hardware/atmel/sam/variants/sam3u_ek/linker_scripts/iar/sram.icf deleted file mode 100644 index d7d33537a..000000000 --- a/hardware/atmel/sam/variants/sam3u_ek/linker_scripts/iar/sram.icf +++ /dev/null @@ -1,33 +0,0 @@ -/*###ICF### Section handled by ICF editor, don't touch! ****/ -/*-Editor annotation file-*/ -/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ -/*-Vector table start*/ -define symbol __ICFEDIT_vector_start__ = 0x20000000; -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_RAM0_start__ = 0x20000000; -define symbol __ICFEDIT_region_RAM0_end__ = 0x20007FFF; -define symbol __ICFEDIT_region_RAM1_start__ = 0x20080000; -define symbol __ICFEDIT_region_RAM1_end__ = 0x20083FFF; -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x900; -define symbol __ICFEDIT_size_heap__ = 0x200; -/*-Exports-*/ -export symbol __ICFEDIT_vector_start__; -/**** End of ICF editor section. ###ICF###*/ - -define memory mem with size = 4G; -define region RAM0_region = mem:[from __ICFEDIT_region_RAM0_start__ to __ICFEDIT_region_RAM0_end__]; -define region RAM1_region = mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__]; -/*define region RAM_region = mem:[from __ICFEDIT_region_RAM0_start__+__ICFEDIT_size_vectors__ to __ICFEDIT_region_RAM0_end__] | - mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__];*/ - -/* define block RamVect with alignment = 8, size = __ICFEDIT_size_vectors__ { }; */ -define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; - -initialize by copy { readwrite }; -do not initialize { section .noinit }; - -place at address mem:__ICFEDIT_vector_start__ { readonly section .intvec }; -place in RAM0_region { readonly }; -place in RAM1_region { readwrite, block CSTACK, block HEAP }; diff --git a/hardware/atmel/sam/variants/sam3u_ek/pins.xls b/hardware/atmel/sam/variants/sam3u_ek/pins.xls deleted file mode 100644 index 4b1389fbf..000000000 Binary files a/hardware/atmel/sam/variants/sam3u_ek/pins.xls and /dev/null differ diff --git a/hardware/atmel/sam/variants/sam3u_ek/variant.cpp b/hardware/atmel/sam/variants/sam3u_ek/variant.cpp deleted file mode 100644 index f045f597c..000000000 --- a/hardware/atmel/sam/variants/sam3u_ek/variant.cpp +++ /dev/null @@ -1,189 +0,0 @@ -/* - Copyright (c) 2011 Arduino. 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 "variant.h" - -/* - * Pins descriptions - */ -extern const PinDescription g_APinDescription[]= -{ - // LEDS, 0..2 - { PIOB, PIO_PB0, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // LED BLUE - { PIOB, PIO_PB1, ID_PIOB, PIO_OUTPUT_1, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // LED GREEN - { PIOB, PIO_PB2, ID_PIOB, PIO_OUTPUT_1, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // LED RED - - // USB, 3..3 - { PIOA, PIO_PA0, ID_PIOA, PIO_INPUT, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // USB_VBUS - - // UART (Serial), 4..6 - { PIOA, PIO_PA11A_URXD, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // URXD - { PIOA, PIO_PA12A_UTXD, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // UTXD - { PIOA, PIO_PA11A_URXD|PIO_PA12A_UTXD, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // All UART pins - - // Push buttons, 7..8 - { PIOA, PIO_PA18, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEGLITCH, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PB_LEFT - { PIOA, PIO_PA19, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEGLITCH, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PB_RIGHT - - // MCI (SDCARD), 9..19 - { PIOA, PIO_PA25, ID_PIOA, PIO_INPUT, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // MCI Card Detect - { PIOA, PIO_PA5A_MCDA0, ID_PIOA, PIO_PERIPH_A, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // MCDA0 - { PIOA, PIO_PA6A_MCDA1, ID_PIOA, PIO_PERIPH_A, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // MCDA1 - { PIOA, PIO_PA7A_MCDA2, ID_PIOA, PIO_PERIPH_A, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // MCDA2 - { PIOA, PIO_PA8A_MCDA3, ID_PIOA, PIO_PERIPH_A, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // MCDA3 - { PIOC, PIO_PC28B_MCDA4, ID_PIOC, PIO_PERIPH_B, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // MCDA4 - { PIOC, PIO_PC29B_MCDA5, ID_PIOC, PIO_PERIPH_B, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // MCDA5 - { PIOC, PIO_PC30B_MCDA6, ID_PIOC, PIO_PERIPH_B, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // MCDA6 - { PIOC, PIO_PC31B_MCDA7, ID_PIOC, PIO_PERIPH_B, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // MCDA7 - { PIOA, PIO_PA4A_MCCDA, ID_PIOA, PIO_PERIPH_A, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // MCCDA - { PIOA, PIO_PA3A_MCCK, ID_PIOA, PIO_PERIPH_A, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // MCCK - - // SPI, 20..23 - { PIOA, PIO_PA13A_MISO, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // MISO - { PIOA, PIO_PA14A_MOSI, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // MOSI - { PIOA, PIO_PA15A_SPCK, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // SPCK - { PIOC, PIO_PC14B_NPCS2, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // NPCS2 - - // TouchScreen, 24..25 - { PIOA, PIO_PA24, ID_PIOA, PIO_INPUT, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // IRQ_TSC - { PIOA, PIO_PA2, ID_PIOA, PIO_INPUT, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // BUSY_TSC - - // USART1, 26..29 - { PIOA, PIO_PA21A_RXD1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // RXD1 - { PIOA, PIO_PA20A_TXD1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // TXD1 - { PIOA, PIO_PA22B_RTS1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // RTS1 - { PIOA, PIO_PA23B_CTS1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // CTS1 - - // LCD, 30..47 - { PIOB, 0xFE01FE00, ID_PIOB, PIO_PERIPH_A, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // EBI Data bus PB9-16 PB25-31 - { PIOB, PIO_PB23A_NWE, ID_PIOB, PIO_PERIPH_A, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // EBI_NWE - { PIOB, PIO_PB19A_NRD, ID_PIOB, PIO_PERIPH_A, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // EBI_NRD - { PIOC, PIO_PC16A_NCS2, ID_PIOC, PIO_PERIPH_A, PIO_PULLUP, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // LCD CS - { PIOB, PIO_PB8, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // LCD RS - { PIOC, PIO_PC19, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // LCD BackLight - - { NULL, 0, 0, PIO_NOT_A_PIN, PIO_DEFAULT, 0, NO_ADC, NO_ADC, NO_PWM, NO_TC } // END -} ; - -/* - * UART objects - */ -RingBuffer rx_buffer1 ; - -UARTClass Serial( UART, UART_IRQn, ID_UART, &rx_buffer1 ) ; - -// IT handlers -void UART_Handler(void) -{ - Serial.IrqHandler() ; -} - -// ---------------------------------------------------------------------------- -/* - * USART objects - */ -RingBuffer rx_buffer2 ; -RingBuffer rx_buffer3 ; - -USARTClass Serial2( USART0, USART0_IRQn, ID_USART0, &rx_buffer2 ) ; -USARTClass Serial3( USART1, USART1_IRQn, ID_USART1, &rx_buffer3 ) ; - -// IT handlers -void USART0_Handler( void ) -{ - Serial2.IrqHandler() ; -} - -void USART1_Handler( void ) -{ - Serial3.IrqHandler() ; -} - -// ---------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -// Should be made in a better way... -extern void analogOutputInit(void); - -/** - * - */ -extern void init( void ) -{ - SystemInit() ; - - // Set Systick to 1ms interval, common to all SAM3 variants - if ( SysTick_Config( SystemCoreClock / 1000 ) ) - { - // Capture error - while ( 1 ) ; - } - - // Disable watchdog, common to all SAM variants - WDT_Disable( WDT ) ; - - // Initialize Serial port UART, common to all SAM3 variants - PIO_Configure( - g_APinDescription[PINS_UART].pPort, - g_APinDescription[PINS_UART].ulPinType, - g_APinDescription[PINS_UART].ulPin, - g_APinDescription[PINS_UART].ulPinConfiguration); - - // Initialize Serial ports USART - PIO_Configure( - g_APinDescription[PINS_USART0].pPort, - g_APinDescription[PINS_USART0].ulPinType, - g_APinDescription[PINS_USART0].ulPin, - g_APinDescription[PINS_USART0].ulPinConfiguration); - PIO_Configure( - g_APinDescription[PINS_USART1].pPort, - g_APinDescription[PINS_USART1].ulPinType, - g_APinDescription[PINS_USART1].ulPin, - g_APinDescription[PINS_USART1].ulPinConfiguration); - - // Switch off Power LED - PIO_Configure( g_APinDescription[PIN_LED_RED].pPort, g_APinDescription[PIN_LED_RED].ulPinType, - g_APinDescription[PIN_LED_RED].ulPin, g_APinDescription[PIN_LED_RED].ulPinConfiguration ) ; - PIO_Clear( g_APinDescription[PIN_LED_RED].pPort, g_APinDescription[PIN_LED_RED].ulPin ) ; - - // Initialize 10bit Analog Controller - PMC_EnablePeripheral( ID_ADC ) ; - adc_init( ADC, SystemCoreClock, ADC_FREQ_MAX, ADC_STARTUP ) ; - adc_configure_timing( ADC, 15 ) ; - adc_configure_trigger( ADC, ADC_TRIG_SW ) ; - adc_disable_interrupt( ADC, 0xFFFFFFFF ) ; /* Disable all adc interrupt. */ - adc_disable_channel( ADC, ADC_ALL_CHANNEL ) ; - - // Initialize 12bit Analog Controller - PMC_EnablePeripheral( ID_ADC12B ) ; - adc12_init( ADC12B, SystemCoreClock, ADC12_FREQ_MAX, ADC12_STARTUP_FAST, 1 ) ; - adc12_configure_timing( ADC12B, 15 ) ; - adc12_configure_trigger( ADC12B, ADC_TRIG_SW ) ; - adc12_disable_interrupt( ADC12B, 0xFFFFFFFF ) ; /* Disable all adc interrupt. */ - adc12_disable_channel( ADC12B, ADC_ALL_CHANNEL ) ; - - // Initialize analogOutput module - analogOutputInit(); -} -#ifdef __cplusplus -} -#endif - diff --git a/hardware/atmel/sam/variants/sam3u_ek/variant.h b/hardware/atmel/sam/variants/sam3u_ek/variant.h deleted file mode 100644 index d259ea6a0..000000000 --- a/hardware/atmel/sam/variants/sam3u_ek/variant.h +++ /dev/null @@ -1,173 +0,0 @@ -/* - Copyright (c) 2011 Arduino. 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_SAM3U_EK_ -#define _VARIANT_SAM3U_EK_ - -/*---------------------------------------------------------------------------- - * Headers - *----------------------------------------------------------------------------*/ - -#include "Arduino.h" -#ifdef __cplusplus -#include "UARTClass.h" -#include "USARTClass.h" -#endif - -/** - * Libc porting layers - */ -#if defined ( __GNUC__ ) /* GCC CS3 */ -# include /** RedHat Newlib minimal stub */ -#endif - -/*---------------------------------------------------------------------------- - * Definitions - *----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*/ - -#ifndef sam3u_ek -#define sam3u_ek -#endif - -/** Name of the board */ -#define VARIANT_NAME "SAM3U-EK" - -/* -#define VARIANT_REV_A -#define VARIANT_REV_B -#define VARIANT_REV_C -#define VARIANT_REV_D -*/ - -/** Frequency of the board main oscillator */ -#define VARIANT_MAINOSC 12000000 - -/** Master clock frequency */ -#define VARIANT_MCK 96000000 - -/*---------------------------------------------------------------------------- - * Pins - *----------------------------------------------------------------------------*/ - -// Number of pins defined in PinDescription array -#define PINS_COUNT (84u) - -// LEDs -#define PIN_LED_BLUE (0u) -#define PIN_LED_GREEN (1u) -#define PIN_LED_RED (2u) -#define PIN_LED PIN_LED_BLUE -#define PIN_LED2 PIN_LED_GREEN - -/* - * SPI Interfaces - */ -#define SPI_INTERFACES_COUNT 1 - -#define SPI_INTERFACE SPI -#define SPI_INTERFACE_ID ID_SPI -#define PIN_SPI_SS (4u) -#define PIN_SPI_MOSI (76u) -#define PIN_SPI_MISO (75u) -#define PIN_SPI_SCK (77u) - -static const uint8_t SS = 23 ; -static const uint8_t MOSI = 21 ; -static const uint8_t MISO = 20 ; -static const uint8_t SCK = 22 ; - -/* - * Wire Interfaces - */ -#define WIRE_INTERFACES_COUNT 2 - -#define PIN_WIRE_SDA (20u) -#define PIN_WIRE_SCL (21u) -#define WIRE_INTERFACE TWI1 -#define WIRE_INTERFACE_ID ID_TWI1 -#define WIRE_ISR_HANDLER TWI1_IrqHandler - -#define PIN_WIRE1_SDA (68u) -#define PIN_WIRE1_SCL (69u) -#define WIRE1_INTERFACE TWI0 -#define WIRE1_INTERFACE_ID ID_TWI0 -#define WIRE1_ISR_HANDLER TWI0_IrqHandler - -/* - * UART/USART Interfaces - */ -#define PINS_UART (6u) - -#define PINS_USART0 (81u) -#define PINS_USART1 (82u) - -/* - * Analog pins - */ -static const uint8_t A0 = 54; -static const uint8_t A1 = 55; -static const uint8_t A2 = 56; -static const uint8_t A3 = 57; -static const uint8_t A4 = 58; -static const uint8_t A5 = 59; -static const uint8_t A6 = 60; -static const uint8_t A7 = 61; -static const uint8_t A8 = 62; -static const uint8_t A9 = 63; -static const uint8_t A10 = 64; -static const uint8_t A11 = 65; -static const uint8_t A12 = 66; -static const uint8_t A13 = 67; -// static const uint8_t A14 = ; -// static const uint8_t A15 = ; - -/* - * PWM - */ -#define PWM_INTERFACE PWM -#define PWM_INTERFACE_ID ID_PWM -#define PWM_FREQUENCY 1000 -#define PWM_MAX_DUTY_CYCLE 255 -#define PWM_MIN_DUTY_CYCLE 0 - -/* - * TC - */ -#define TC_INTERFACE TC0 -#define TC_INTERFACE_ID ID_TC0 -#define TC_FREQUENCY 1000 -#define TC_MAX_DUTY_CYCLE 255 -#define TC_MIN_DUTY_CYCLE 0 - -/*---------------------------------------------------------------------------- - * Arduino objects - C++ only - *----------------------------------------------------------------------------*/ - -#ifdef __cplusplus - -extern UARTClass Serial ; - -extern USARTClass Serial2 ; -extern USARTClass Serial3 ; - -#endif - -#endif /* _VARIANT_SAM3U_EK_ */ - diff --git a/hardware/atmel/sam/variants/sam3x_ek/build_gcc/Makefile b/hardware/atmel/sam/variants/sam3x_ek/build_gcc/Makefile deleted file mode 100644 index 9ec0ff604..000000000 --- a/hardware/atmel/sam/variants/sam3x_ek/build_gcc/Makefile +++ /dev/null @@ -1,38 +0,0 @@ -# -# Copyright (c) 2011 Arduino. 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 -# - -SUBMAKE_OPTIONS=--no-builtin-rules --no-builtin-variables --no-print-directory - -#------------------------------------------------------------------------------- -# Rules -#------------------------------------------------------------------------------- - -all: sam3x_ek - -.PHONY: sam3x_ek -sam3x_ek: - @echo --- Making sam3x_ek - @$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f libvariant_sam3x_ek.mk -# @$(MAKE) $(SUBMAKE_OPTIONS) -f libvariant_sam3x_ek.mk - -.PHONY: clean -clean: - @echo --- Cleaning sam3x_ek - @$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f libvariant_sam3x_ek.mk $@ -# @$(MAKE) $(SUBMAKE_OPTIONS) -f libvariant_sam3x_ek.mk $@ - diff --git a/hardware/atmel/sam/variants/sam3x_ek/build_gcc/debug.mk b/hardware/atmel/sam/variants/sam3x_ek/build_gcc/debug.mk deleted file mode 100644 index d0716744a..000000000 --- a/hardware/atmel/sam/variants/sam3x_ek/build_gcc/debug.mk +++ /dev/null @@ -1,25 +0,0 @@ -# -# Copyright (c) 2011 Arduino. 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 -# - -# Optimization level -# -O1 Optimize -# -O2 Optimize even more -# -O3 Optimize yet more -# -O0 Reduce compilation time and make debugging produce the expected results -# -Os Optimize for size -OPTIMIZATION = -g -O0 -DDEBUG diff --git a/hardware/atmel/sam/variants/sam3x_ek/build_gcc/gcc.mk b/hardware/atmel/sam/variants/sam3x_ek/build_gcc/gcc.mk deleted file mode 100644 index 32f35d264..000000000 --- a/hardware/atmel/sam/variants/sam3x_ek/build_gcc/gcc.mk +++ /dev/null @@ -1,82 +0,0 @@ -# -# Copyright (c) 2011 Arduino. 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 -# - -# Tool suffix when cross-compiling -CROSS_COMPILE = $(ARM_GCC_TOOLCHAIN)/arm-none-eabi- - -# Compilation tools -AR = $(CROSS_COMPILE)ar -CC = $(CROSS_COMPILE)gcc -CXX = $(CROSS_COMPILE)g++ -AS = $(CROSS_COMPILE)as -NM = $(CROSS_COMPILE)nm -ifeq ($(OS),Windows_NT) -RM=cs-rm -Rf -else -RM=rm -Rf -endif - -SEP=\\ - -# --------------------------------------------------------------------------------------- -# C Flags - -CFLAGS += -Wall -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int -CFLAGS += -Werror-implicit-function-declaration -Wmain -Wparentheses -CFLAGS += -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -CFLAGS += -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -CFLAGS += -Wshadow -Wpointer-arith -Wbad-function-cast -Wwrite-strings -CFLAGS += -Wsign-compare -Waggregate-return -Wstrict-prototypes -CFLAGS += -Wmissing-prototypes -Wmissing-declarations -CFLAGS += -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -CFLAGS += -Wpacked -Wredundant-decls -Wnested-externs -Winline -Wlong-long -CFLAGS += -Wunreachable-code -CFLAGS += -Wcast-align -#CFLAGS += -Wmissing-noreturn -#CFLAGS += -Wconversion - -CFLAGS += --param max-inline-insns-single=500 -mcpu=cortex-m3 -mthumb -mlong-calls -ffunction-sections -fdata-sections -nostdlib -std=c99 -CFLAGS += $(OPTIMIZATION) $(INCLUDES) -D$(CHIP) -D$(VARIANT) - -# To reduce application size use only integer printf function. -CFLAGS += -Dprintf=iprintf - -# --------------------------------------------------------------------------------------- -# CPP Flags - -CPPFLAGS += -Wall -Wchar-subscripts -Wcomment -Wformat=2 -CPPFLAGS += -Wmain -Wparentheses -Wcast-align -Wunreachable-code -CPPFLAGS += -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused -CPPFLAGS += -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef -CPPFLAGS += -Wshadow -Wpointer-arith -Wwrite-strings -CPPFLAGS += -Wsign-compare -Waggregate-return -Wmissing-declarations -CPPFLAGS += -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations -CPPFLAGS += -Wpacked -Wredundant-decls -Winline -Wlong-long -#CPPFLAGS += -Wmissing-noreturn -#CPPFLAGS += -Wconversion - -CPPFLAGS += --param max-inline-insns-single=500 -mcpu=cortex-m3 -mthumb -mlong-calls -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -std=c++98 -CPPFLAGS += $(OPTIMIZATION) $(INCLUDES) -D$(CHIP) - -# To reduce application size use only integer printf function. -CPPFLAGS += -Dprintf=iprintf - -# --------------------------------------------------------------------------------------- -# ASM Flags - -ASFLAGS = -mcpu=cortex-m3 -mthumb -Wall -g $(OPTIMIZATION) $(INCLUDES) diff --git a/hardware/atmel/sam/variants/sam3x_ek/build_gcc/libvariant_sam3x_ek.mk b/hardware/atmel/sam/variants/sam3x_ek/build_gcc/libvariant_sam3x_ek.mk deleted file mode 100644 index 59e7c0fbe..000000000 --- a/hardware/atmel/sam/variants/sam3x_ek/build_gcc/libvariant_sam3x_ek.mk +++ /dev/null @@ -1,179 +0,0 @@ -# -# Copyright (c) 2012 Arduino. 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 -# - -# Makefile for compiling libArduino -.SUFFIXES: .o .a .c .s - -CHIP=__SAM3X8H__ -VARIANT=sam3x_ek -LIBNAME=libvariant_$(VARIANT) -TOOLCHAIN=gcc - -#------------------------------------------------------------------------------- -# Path -#------------------------------------------------------------------------------- - -# Output directories -OUTPUT_BIN = ../../../../../arduino/sam/cores/sam - -# Libraries -PROJECT_BASE_PATH = .. -SYSTEM_PATH = ../../../../../arduino/sam/system -CMSIS_ROOT_PATH = $(SYSTEM_PATH)/CMSIS -CMSIS_ARM_PATH=$(CMSIS_ROOT_PATH)/CMSIS/Include -CMSIS_ATMEL_PATH=$(CMSIS_ROOT_PATH)/Device/ATMEL -#CMSIS_CHIP_PATH=$(CMSIS_ROOT_PATH)/Device/ATMEL/$(CHIP_SERIE) - -ARDUINO_PATH = ../../../../../arduino/sam/cores/sam -VARIANT_BASE_PATH = ../../../variants -VARIANT_PATH = ../../../variants/$(VARIANT) - -#------------------------------------------------------------------------------- -# Files -#------------------------------------------------------------------------------- - -vpath %.h $(PROJECT_BASE_PATH) $(SYSTEM_PATH) $(VARIANT_PATH) -vpath %.cpp $(PROJECT_BASE_PATH) - -VPATH+=$(PROJECT_BASE_PATH) - -INCLUDES = -#INCLUDES += -I$(PROJECT_BASE_PATH) -INCLUDES += -I$(ARDUINO_PATH) -INCLUDES += -I$(ARDUINO_PATH)/USB -INCLUDES += -I$(SYSTEM_PATH) -INCLUDES += -I$(SYSTEM_PATH)/libsam -INCLUDES += -I$(VARIANT_BASE_PATH) -INCLUDES += -I$(VARIANT_PATH) -INCLUDES += -I$(CMSIS_ARM_PATH) -INCLUDES += -I$(CMSIS_ATMEL_PATH) - -#------------------------------------------------------------------------------- -ifdef DEBUG -include debug.mk -else -include release.mk -endif - -#------------------------------------------------------------------------------- -# Tools -#------------------------------------------------------------------------------- - -include $(TOOLCHAIN).mk - -#------------------------------------------------------------------------------- -ifdef DEBUG -OUTPUT_OBJ=debug -OUTPUT_LIB_POSTFIX=dbg -else -OUTPUT_OBJ=release -OUTPUT_LIB_POSTFIX=rel -endif - -OUTPUT_LIB=$(LIBNAME)_$(TOOLCHAIN)_$(OUTPUT_LIB_POSTFIX).a -OUTPUT_PATH=$(OUTPUT_OBJ)_$(VARIANT) - -#------------------------------------------------------------------------------- -# C source files and objects -#------------------------------------------------------------------------------- -C_SRC=$(wildcard $(PROJECT_BASE_PATH)/*.c) - -C_OBJ_TEMP = $(patsubst %.c, %.o, $(notdir $(C_SRC))) - -# during development, remove some files -C_OBJ_FILTER= - -C_OBJ=$(filter-out $(C_OBJ_FILTER), $(C_OBJ_TEMP)) - -#------------------------------------------------------------------------------- -# CPP source files and objects -#------------------------------------------------------------------------------- -CPP_SRC=$(wildcard $(PROJECT_BASE_PATH)/*.cpp) - -CPP_OBJ_TEMP = $(patsubst %.cpp, %.o, $(notdir $(CPP_SRC))) - -# during development, remove some files -CPP_OBJ_FILTER= - -CPP_OBJ=$(filter-out $(CPP_OBJ_FILTER), $(CPP_OBJ_TEMP)) - -#------------------------------------------------------------------------------- -# Assembler source files and objects -#------------------------------------------------------------------------------- -A_SRC=$(wildcard $(PROJECT_BASE_PATH)/*.s) - -A_OBJ_TEMP=$(patsubst %.s, %.o, $(notdir $(A_SRC))) - -# during development, remove some files -A_OBJ_FILTER= - -A_OBJ=$(filter-out $(A_OBJ_FILTER), $(A_OBJ_TEMP)) - -#------------------------------------------------------------------------------- -# Rules -#------------------------------------------------------------------------------- -all: $(VARIANT) - -$(VARIANT): create_output $(OUTPUT_LIB) - -.PHONY: create_output -create_output: - @echo ------------------------- - @echo --- Preparing $(VARIANT) files in $(OUTPUT_PATH) $(OUTPUT_BIN) - @echo ------------------------- -# @echo *$(INCLUDES) -# @echo ------------------------- -# @echo *$(C_SRC) -# @echo ------------------------- -# @echo *$(C_OBJ) -# @echo ------------------------- -# @echo *$(addprefix $(OUTPUT_PATH)/, $(C_OBJ)) -# @echo ------------------------- -# @echo *$(CPP_SRC) -# @echo ------------------------- -# @echo *$(CPP_OBJ) -# @echo ------------------------- -# @echo *$(addprefix $(OUTPUT_PATH)/, $(CPP_OBJ)) -# @echo ------------------------- -# @echo *$(A_SRC) -# @echo ------------------------- - - -@mkdir $(OUTPUT_PATH) 1>NUL 2>&1 - -$(addprefix $(OUTPUT_PATH)/,$(C_OBJ)): $(OUTPUT_PATH)/%.o: %.c -# @"$(CC)" -v -c $(CFLAGS) $< -o $@ - @"$(CC)" -c $(CFLAGS) $< -o $@ - -$(addprefix $(OUTPUT_PATH)/,$(CPP_OBJ)): $(OUTPUT_PATH)/%.o: %.cpp -# @"$(CC)" -c $(CPPFLAGS) $< -o $@ - @"$(CC)" -xc++ -c $(CPPFLAGS) $< -o $@ - -$(addprefix $(OUTPUT_PATH)/,$(A_OBJ)): $(OUTPUT_PATH)/%.o: %.s - @"$(AS)" -c $(ASFLAGS) $< -o $@ - -$(OUTPUT_LIB): $(addprefix $(OUTPUT_PATH)/, $(C_OBJ)) $(addprefix $(OUTPUT_PATH)/, $(CPP_OBJ)) $(addprefix $(OUTPUT_PATH)/, $(A_OBJ)) - @"$(AR)" -v -r "$(OUTPUT_BIN)/$@" $^ - @"$(NM)" "$(OUTPUT_BIN)/$@" > "$(OUTPUT_BIN)/$@.txt" - - -.PHONY: clean -clean: - @echo --- Cleaning $(VARIANT) files [$(OUTPUT_PATH)$(SEP)*.o] - -@$(RM) $(OUTPUT_PATH) 1>NUL 2>&1 - -@$(RM) $(OUTPUT_BIN)/$(OUTPUT_LIB) 1>NUL 2>&1 - diff --git a/hardware/atmel/sam/variants/sam3x_ek/build_gcc/release.mk b/hardware/atmel/sam/variants/sam3x_ek/build_gcc/release.mk deleted file mode 100644 index 0d15157f4..000000000 --- a/hardware/atmel/sam/variants/sam3x_ek/build_gcc/release.mk +++ /dev/null @@ -1,25 +0,0 @@ -# -# Copyright (c) 2011 Arduino. 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 -# - -# Optimization level -# -O1 Optimize -# -O2 Optimize even more -# -O3 Optimize yet more -# -O0 Reduce compilation time and make debugging produce the expected results -# -Os Optimize for size -OPTIMIZATION = -Os diff --git a/hardware/atmel/sam/variants/sam3x_ek/debug_scripts/gcc/sam3x_ek_flash.gdb b/hardware/atmel/sam/variants/sam3x_ek/debug_scripts/gcc/sam3x_ek_flash.gdb deleted file mode 100644 index caf3b3cee..000000000 --- a/hardware/atmel/sam/variants/sam3x_ek/debug_scripts/gcc/sam3x_ek_flash.gdb +++ /dev/null @@ -1,37 +0,0 @@ -#******************************************************* -# -# Connect to J-Link and debug application in flash on SAM3X. -# - -# Define 'reset' command -define reset - -# Connect to the J-Link gdb server -target remote localhost:2331 - -# Reset the chip to get to a known state -monitor reset - -# Select flash device -monitor flash device = AT91SAM3X8H - -# Enable flash download and flash breakpoints -monitor flash download = 1 - -# Load the program -load - -# Reset peripheral (RSTC_CR) -set *0x400e1a00 = 0xA5000004 - -# Initialize PC and stack pointer -mon reg sp=(0x80000) -#set *0x80004 = *0x80004 & 0xFFFFFFFE -mon reg pc=(0x80004) - -info reg - -break main - -# End of 'reset' command -end diff --git a/hardware/atmel/sam/variants/sam3x_ek/debug_scripts/gcc/sam3x_ek_sram.gdb b/hardware/atmel/sam/variants/sam3x_ek/debug_scripts/gcc/sam3x_ek_sram.gdb deleted file mode 100644 index 595b46b6c..000000000 --- a/hardware/atmel/sam/variants/sam3x_ek/debug_scripts/gcc/sam3x_ek_sram.gdb +++ /dev/null @@ -1,37 +0,0 @@ -#******************************************************* -# -# Connect to J-Link and debug application in sram on SAM3X. -# - -# Define 'reset' command -define reset - -# Connect to the J-Link gdb server -target remote localhost:2331 - -# Reset the chip to get to a known state -monitor reset - -# Select flash device -monitor flash device = AT91SAM3X8H - -# Enable flash download and flash breakpoints -monitor flash download = 1 - -# Load the program -load - -# Reset peripheral (RSTC_CR) -set *0x400e1a00 = 0xA5000004 - -# Initialize PC and stack pointer -mon reg sp=(0x20000000) -#set *0x20000004 = *0x20000004 & 0xFFFFFFFE -mon reg pc=(0x20000004) - -info reg - -break main - -# End of 'reset' command -end diff --git a/hardware/atmel/sam/variants/sam3x_ek/debug_scripts/iar/sam3u_ek_flash.mac b/hardware/atmel/sam/variants/sam3x_ek/debug_scripts/iar/sam3u_ek_flash.mac deleted file mode 100644 index 959583582..000000000 --- a/hardware/atmel/sam/variants/sam3x_ek/debug_scripts/iar/sam3u_ek_flash.mac +++ /dev/null @@ -1,44 +0,0 @@ -// --------------------------------------------------------- -// ATMEL Microcontroller Software Support - ROUSSET - -// --------------------------------------------------------- -// The software is delivered "AS IS" without warranty or -// condition of any kind, either express, implied or -// statutory. This includes without limitation any warranty -// or condition with respect to merchantability or fitness -// for any particular purpose, or against the infringements of -// intellectual property rights of others. -// --------------------------------------------------------- -// File: at91sam3u-ek-flash.mac -// User setup file for CSPY debugger. -// --------------------------------------------------------- -__var __mac_i; -__var __mac_pt; - -/********************************************************************* -* -* execUserReset() -*/ -execUserReset() -{ - __message "------------------------------ execUserReset ---------------------------------"; - __message "-------------------------------Set PC Reset ----------------------------------"; - - __hwReset(0); - - // perpheral reset RSTC_CR - __writeMemory32(0xA5000004,0x400e1200,"Memory"); -} - -/********************************************************************* -* -* execUserPreload() -*/ -execUserPreload() -{ - __message "------------------------------ execUserPreload ---------------------------------"; - - __hwReset(0); //* Hardware Reset: CPU is automatically halted after the reset - - // perpheral reset RSTC_CR - __writeMemory32(0xA5000004,0x400e1200,"Memory"); -} diff --git a/hardware/atmel/sam/variants/sam3x_ek/debug_scripts/iar/sam3u_ek_sram.mac b/hardware/atmel/sam/variants/sam3x_ek/debug_scripts/iar/sam3u_ek_sram.mac deleted file mode 100644 index ba86029d3..000000000 --- a/hardware/atmel/sam/variants/sam3x_ek/debug_scripts/iar/sam3u_ek_sram.mac +++ /dev/null @@ -1,44 +0,0 @@ -// --------------------------------------------------------- -// ATMEL Microcontroller Software Support - ROUSSET - -// --------------------------------------------------------- -// The software is delivered "AS IS" without warranty or -// condition of any kind, either express, implied or -// statutory. This includes without limitation any warranty -// or condition with respect to merchantability or fitness -// for any particular purpose, or against the infringements of -// intellectual property rights of others. -// --------------------------------------------------------- -// File: at91sam3u-ek-sram.mac -// User setup file for CSPY debugger. -// --------------------------------------------------------- -__var __mac_i; -__var __mac_pt; - -/********************************************************************* -* -* execUserReset() -*/ -execUserReset() -{ - __message "------------------------------ execUserReset ---------------------------------"; - __message "-------------------------------Set PC Reset ----------------------------------"; - - //__hwReset(50); - - // perpheral reset RSTC_CR - __writeMemory32(0xA5000004,0x400e1200,"Memory"); -} - -/********************************************************************* -* -* execUserPreload() -*/ -execUserPreload() -{ - __message "------------------------------ execUserPreload ---------------------------------"; - - __hwReset(0); //* Hardware Reset: CPU is automatically halted after the reset - - // perpheral reset RSTC_CR - __writeMemory32(0xA5000004,0x400e1200,"Memory"); -} diff --git a/hardware/atmel/sam/variants/sam3x_ek/linker_scripts/gcc/flash.ld b/hardware/atmel/sam/variants/sam3x_ek/linker_scripts/gcc/flash.ld deleted file mode 100644 index 8d652b606..000000000 --- a/hardware/atmel/sam/variants/sam3x_ek/linker_scripts/gcc/flash.ld +++ /dev/null @@ -1,144 +0,0 @@ -/* ---------------------------------------------------------------------------- - * SAM Software Package License - * ---------------------------------------------------------------------------- - * Copyright (c) 2012, Atmel Corporation - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following condition is met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the disclaimer below. - * - * Atmel's name may not be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * ---------------------------------------------------------------------------- - */ - -OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") -OUTPUT_ARCH(arm) -SEARCH_DIR(.) - -/* Memory Spaces Definitions */ -MEMORY -{ - rom (rx) : ORIGIN = 0x00080000, LENGTH = 0x00080000 /* Flash, 512K */ - sram0 (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000 /* sram0, 64K */ - sram1 (rwx) : ORIGIN = 0x20080000, LENGTH = 0x00008000 /* sram1, 32K */ - ram (rwx) : ORIGIN = 0x20070000, LENGTH = 0x00018000 /* sram, 96K */ -} - -/* The stack size used by the application. NOTE: you need to adjust */ -STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x2000 ; - -/* Section Definitions */ -SECTIONS -{ - .text : - { - . = ALIGN(4); - _sfixed = .; - KEEP(*(.vectors .vectors.*)) - *(.text .text.* .gnu.linkonce.t.*) - *(.glue_7t) *(.glue_7) - *(.rodata .rodata* .gnu.linkonce.r.*) - *(.ARM.extab* .gnu.linkonce.armextab.*) - - /* Support C constructors, and C destructors in both user code - and the C library. This also provides support for C++ code. */ - . = ALIGN(4); - KEEP(*(.init)) - . = ALIGN(4); - __preinit_array_start = .; - KEEP (*(.preinit_array)) - __preinit_array_end = .; - - . = ALIGN(4); - __init_array_start = .; - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - __init_array_end = .; - - . = ALIGN(0x4); - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*crtend.o(.ctors)) - - . = ALIGN(4); - KEEP(*(.fini)) - - . = ALIGN(4); - __fini_array_start = .; - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - __fini_array_end = .; - - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*crtend.o(.dtors)) - - . = ALIGN(4); - _efixed = .; /* End of text section */ - } > rom - - /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > rom - PROVIDE_HIDDEN (__exidx_end = .); - - . = ALIGN(4); - _etext = .; - - .relocate : AT (_etext) - { - . = ALIGN(4); - _srelocate = .; - *(.ramfunc .ramfunc.*); - *(.data .data.*); - . = ALIGN(4); - _erelocate = .; - } > ram - - /* .bss section which is used for uninitialized data */ - .bss (NOLOAD) : - { - . = ALIGN(4); - _sbss = . ; - _szero = .; - *(.bss .bss.*) - *(COMMON) - . = ALIGN(4); - _ebss = . ; - _ezero = .; - } > ram - - /* stack section */ - .stack (NOLOAD): - { - . = ALIGN(8); - _sstack = .; - . = . + STACK_SIZE; - . = ALIGN(8); - _estack = .; - } > ram - - . = ALIGN(4); - _end = . ; -} diff --git a/hardware/atmel/sam/variants/sam3x_ek/linker_scripts/gcc/sram.ld b/hardware/atmel/sam/variants/sam3x_ek/linker_scripts/gcc/sram.ld deleted file mode 100644 index 2a0d54e17..000000000 --- a/hardware/atmel/sam/variants/sam3x_ek/linker_scripts/gcc/sram.ld +++ /dev/null @@ -1,145 +0,0 @@ -/* ---------------------------------------------------------------------------- - * SAM Software Package License - * ---------------------------------------------------------------------------- - * Copyright (c) 2012, Atmel Corporation - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following condition is met: - * - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the disclaimer below. - * - * Atmel's name may not be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * ---------------------------------------------------------------------------- - */ - -OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") -OUTPUT_ARCH(arm) -SEARCH_DIR(.) - -/* Memory Spaces Definitions */ -MEMORY -{ - rom (rx) : ORIGIN = 0x00080000, LENGTH = 0x00080000 /* Flash, 512K */ - sram0 (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000 /* sram0, 64K */ - sram1 (rwx) : ORIGIN = 0x20080000, LENGTH = 0x00008000 /* sram1, 32K */ - ram (rwx) : ORIGIN = 0x20070000, LENGTH = 0x00018000 /* sram, 96K */ -} - -/* The stack size used by the application. NOTE: you need to adjust */ -STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : 0x2000 ; - -/* Section Definitions */ -SECTIONS -{ - .text : - { - . = ALIGN(4); - _sfixed = .; - KEEP(*(.vectors .vectors.*)) - *(.text .text.* .gnu.linkonce.t.*) - *(.glue_7t) *(.glue_7) - *(.rodata .rodata* .gnu.linkonce.r.*) - *(.ARM.extab* .gnu.linkonce.armextab.*) - - /* Support C constructors, and C destructors in both user code - and the C library. This also provides support for C++ code. */ - . = ALIGN(4); - KEEP(*(.init)) - . = ALIGN(4); - __preinit_array_start = .; - KEEP (*(.preinit_array)) - __preinit_array_end = .; - - . = ALIGN(4); - __init_array_start = .; - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array)) - __init_array_end = .; - - . = ALIGN(0x4); - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*crtend.o(.ctors)) - - . = ALIGN(4); - KEEP(*(.fini)) - - . = ALIGN(4); - __fini_array_start = .; - KEEP (*(.fini_array)) - KEEP (*(SORT(.fini_array.*))) - __fini_array_end = .; - - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*crtend.o(.dtors)) - - . = ALIGN(4); - _efixed = .; /* End of text section */ - } > ram - - . = ALIGN(4); - _etext = .; - - .relocate : AT (_etext) - { - . = ALIGN(4); - _srelocate = .; - *(.ramfunc .ramfunc.*); - *(.data .data.*); - . = ALIGN(4); - _erelocate = .; - } > ram - - /* .bss section which is used for uninitialized data */ - .bss (NOLOAD) : - { - . = ALIGN(4); - _sbss = . ; - _szero = .; - *(.bss .bss.*) - *(COMMON) - . = ALIGN(4); - _ebss = . ; - _ezero = .; - } > ram - - /* stack section */ - .stack (NOLOAD): - { - . = ALIGN(8); - _sstack = .; - . = . + STACK_SIZE; - . = ALIGN(8); - _estack = .; - } > ram - - /* .ARM.exidx is sorted, so has to go in its own output section. */ - PROVIDE_HIDDEN (__exidx_start = .); - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > ram - PROVIDE_HIDDEN (__exidx_end = .); - - . = ALIGN(4); - _end = . ; -} - diff --git a/hardware/atmel/sam/variants/sam3x_ek/linker_scripts/iar/flash.icf b/hardware/atmel/sam/variants/sam3x_ek/linker_scripts/iar/flash.icf deleted file mode 100644 index 956230fbd..000000000 --- a/hardware/atmel/sam/variants/sam3x_ek/linker_scripts/iar/flash.icf +++ /dev/null @@ -1,49 +0,0 @@ -/*###ICF### Section handled by ICF editor, don't touch! ****/ -/*-Editor annotation file-*/ -/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ -/*-Vector table start*/ -define symbol __ICFEDIT_vector_start__ = 0x00080000; /*Add for CMSIS*/ -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_RAM0_start__ = 0x20000000; -define symbol __ICFEDIT_region_RAM0_end__ = 0x20007FFF; -define symbol __ICFEDIT_region_RAM1_start__ = 0x20080000; -define symbol __ICFEDIT_region_RAM1_end__ = 0x20083FFF; -define symbol __ICFEDIT_region_ROM0_start__ = 0x00080000; -define symbol __ICFEDIT_region_ROM0_end__ = 0x0009FFFF; -define symbol __ICFEDIT_region_ROM1_start__ = 0x00100000; -define symbol __ICFEDIT_region_ROM1_end__ = 0x0011FFFF; -/*-Sizes-*/ -/*define symbol __ICFEDIT_size_cstack__ = 0x1000;*//*for nandflash*/ -define symbol __ICFEDIT_size_cstack__ = 0x2000; -define symbol __ICFEDIT_size_heap__ = 0x200; -/*-Specials-*/ -/*define symbol __ICFEDIT_region_RAM_VECT_start__ = __ICFEDIT_region_RAM0_start__;*/ /*Referenced for CMSIS*/ -/*define symbol __ICFEDIT_size_vectors__ = 0x100;*/ /*Referenced for CMSIS*/ -/*-Exports-*/ -/*export symbol __ICFEDIT_region_RAM_VECT_start__;*/ -export symbol __ICFEDIT_vector_start__; /*Add for CMSIS*/ -/**** End of ICF editor section. ###ICF###*/ - -define memory mem with size = 4G; -/*define region RAM_VECT_region = mem:[from __ICFEDIT_region_RAM_VECT_start__ size __ICFEDIT_size_vectors__];*/ /*Referenced for CMSIS*/ -/*define region RAM0_region = mem:[from __ICFEDIT_region_RAM0_start__+__ICFEDIT_size_vectors__ to __ICFEDIT_region_RAM0_end__];*/ /*Referenced for CMSIS*/ -define region RAM0_region = mem:[from __ICFEDIT_region_RAM0_start__ to __ICFEDIT_region_RAM0_end__]; -define region RAM1_region = mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__]; -/*define region RAM_region = mem:[from __ICFEDIT_region_RAM0_start__+__ICFEDIT_size_vectors__ to __ICFEDIT_region_RAM0_end__] | - mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__];*/ /*Referenced for CMSIS*/ -define region ROM0_region = mem:[from __ICFEDIT_region_ROM0_start__ to __ICFEDIT_region_ROM0_end__]; -define region ROM1_region = mem:[from __ICFEDIT_region_ROM1_start__ to __ICFEDIT_region_ROM1_end__]; - -/*define block RamVect with alignment = 8, size = __ICFEDIT_size_vectors__ { };*/ -define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; - -initialize by copy { readwrite }; -do not initialize { section .noinit }; - -/*place at start of ROM0_region { readonly section .vectors };*/ /*Referenced for CMSIS*/ -place at address mem:__ICFEDIT_vector_start__ { readonly section .intvec }; /*Add for CMSIS*/ -place in ROM0_region { readonly }; -place in RAM0_region { readwrite, block HEAP }; -place in RAM1_region { block CSTACK }; /* for nandflash*/ -/*place in RAM_VECT_region { block RamVect };*/ /*Referenced for CMSIS*/ \ No newline at end of file diff --git a/hardware/atmel/sam/variants/sam3x_ek/linker_scripts/iar/sram.icf b/hardware/atmel/sam/variants/sam3x_ek/linker_scripts/iar/sram.icf deleted file mode 100644 index d7d33537a..000000000 --- a/hardware/atmel/sam/variants/sam3x_ek/linker_scripts/iar/sram.icf +++ /dev/null @@ -1,33 +0,0 @@ -/*###ICF### Section handled by ICF editor, don't touch! ****/ -/*-Editor annotation file-*/ -/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ -/*-Vector table start*/ -define symbol __ICFEDIT_vector_start__ = 0x20000000; -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_RAM0_start__ = 0x20000000; -define symbol __ICFEDIT_region_RAM0_end__ = 0x20007FFF; -define symbol __ICFEDIT_region_RAM1_start__ = 0x20080000; -define symbol __ICFEDIT_region_RAM1_end__ = 0x20083FFF; -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x900; -define symbol __ICFEDIT_size_heap__ = 0x200; -/*-Exports-*/ -export symbol __ICFEDIT_vector_start__; -/**** End of ICF editor section. ###ICF###*/ - -define memory mem with size = 4G; -define region RAM0_region = mem:[from __ICFEDIT_region_RAM0_start__ to __ICFEDIT_region_RAM0_end__]; -define region RAM1_region = mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__]; -/*define region RAM_region = mem:[from __ICFEDIT_region_RAM0_start__+__ICFEDIT_size_vectors__ to __ICFEDIT_region_RAM0_end__] | - mem:[from __ICFEDIT_region_RAM1_start__ to __ICFEDIT_region_RAM1_end__];*/ - -/* define block RamVect with alignment = 8, size = __ICFEDIT_size_vectors__ { }; */ -define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; - -initialize by copy { readwrite }; -do not initialize { section .noinit }; - -place at address mem:__ICFEDIT_vector_start__ { readonly section .intvec }; -place in RAM0_region { readonly }; -place in RAM1_region { readwrite, block CSTACK, block HEAP }; diff --git a/hardware/atmel/sam/variants/sam3x_ek/pins.xls b/hardware/atmel/sam/variants/sam3x_ek/pins.xls deleted file mode 100644 index 488f62f0b..000000000 Binary files a/hardware/atmel/sam/variants/sam3x_ek/pins.xls and /dev/null differ diff --git a/hardware/atmel/sam/variants/sam3x_ek/sam3x-ek_revb.pdf b/hardware/atmel/sam/variants/sam3x_ek/sam3x-ek_revb.pdf deleted file mode 100644 index 42566bafe..000000000 Binary files a/hardware/atmel/sam/variants/sam3x_ek/sam3x-ek_revb.pdf and /dev/null differ diff --git a/hardware/atmel/sam/variants/sam3x_ek/variant.cpp b/hardware/atmel/sam/variants/sam3x_ek/variant.cpp deleted file mode 100644 index 087ce611f..000000000 --- a/hardware/atmel/sam/variants/sam3x_ek/variant.cpp +++ /dev/null @@ -1,163 +0,0 @@ -/* - Copyright (c) 2011 Arduino. 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 "variant.h" - -/* - * DUE Board pin | PORT - * ----------------+-------- - * 0 RX0 | PA8 - * 1 TX0 | PA9 - * 13 TIOB0 | PB27 - * - * AT24C512BN pin | PORT - * ----------------+-------- - * SO | PA25 - * SI | PA26 - * SCK | PA27 - * #CS SS3 | PB23 - * - * - * LEDs | PORT - * ----------------+-------- - * "TX" | PA21 - * "RX" | PC30 - * "L" | PB27 - */ - - -/* - * Pins descriptions - */ -extern const PinDescription g_APinDescription[]= -{ - // 0 .. x - Digital pins - // ---------------------- - // 0/1 - UART (Serial) - { PIOA, PIO_PA8A_URXD, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // URXD - { PIOA, PIO_PA9A_UTXD, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // UTXD - - // 2/5 - LEDS - { PIOB, PIO_PB13, ID_PIOB, PIO_OUTPUT_1, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // USER_LED1 - { PIOB, PIO_PB12, ID_PIOB, PIO_OUTPUT_1, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // USER_LED2 - { PIOA, PIO_PA12, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // USER_LED3 - { PIOA, PIO_PA13, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // POWER_LED - - // 6/7 - USART0 (Serial2) - { PIOA, PIO_PA10A_RXD0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // URXD - { PIOA, PIO_PA11A_TXD0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // UTXD - - // 8 - UART (Serial) all pins - { PIOA, PIO_PA8A_URXD|PIO_PA9A_UTXD, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NO_PWM, NO_TC }, - - // 9 - USART0 (Serial2) all pins - { PIOA, PIO_PA11A_TXD0|PIO_PA10A_RXD0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NO_PWM, NO_TC }, - - // 10 - Analog pins - // ---------------------- - { PIOA, PIO_PA3, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC0, ADC1, NO_PWM, NO_TC }, // AD0 - - { NULL, 0, 0, PIO_NOT_A_PIN, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC } // END -} ; - -/* - * UART objects - */ -RingBuffer rx_buffer1 ; - -UARTClass Serial1( UART, UART_IRQn, ID_UART, &rx_buffer1 ) ; - -// IT handlers -void UART_Handler(void) -{ - Serial1.IrqHandler() ; -} - -// ---------------------------------------------------------------------------- -/* - * USART objects - */ -RingBuffer rx_buffer2 ; -RingBuffer rx_buffer3 ; - -USARTClass Serial2( USART0, USART0_IRQn, ID_USART0, &rx_buffer2 ) ; - -// IT handlers -void USART0_Handler( void ) -{ - Serial2.IrqHandler() ; -} - -// ---------------------------------------------------------------------------- - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * - */ -extern void init( void ) -{ - SystemInit() ; - - // Set Systick to 1ms interval, common to all SAM3 variants - if ( SysTick_Config( SystemCoreClock / 1000 ) ) - { - // Capture error - while ( 1 ) ; - } - - // Disable watchdog, common to all SAM variants - WDT_Disable( WDT ) ; - - // Initialize Serial port UART, common to all SAM3 variants - PIO_Configure( g_APinDescription[PINS_UART].pPort, - g_APinDescription[PINS_UART].ulPinType, - g_APinDescription[PINS_UART].ulPin, - g_APinDescription[PINS_UART].ulPinConfiguration ) ; - - // Initialize Serial ports USART - PIO_Configure( g_APinDescription[PINS_USART0].pPort, - g_APinDescription[PINS_USART0].ulPinType, - g_APinDescription[PINS_USART0].ulPin, - g_APinDescription[PINS_USART0].ulPinConfiguration ) ; - - // Switch off Power LED - PIO_Configure( g_APinDescription[PIN_LED_RED].pPort, - g_APinDescription[PIN_LED_RED].ulPinType, - g_APinDescription[PIN_LED_RED].ulPin, - g_APinDescription[PIN_LED_RED].ulPinConfiguration ) ; - - PIO_Clear( g_APinDescription[PIN_LED_RED].pPort, g_APinDescription[PIN_LED_RED].ulPin ) ; - - // Initialize 10bit Analog Controller - pmc_enable_periph_clk( ID_ADC ) ; - adc_init( ADC, SystemCoreClock, ADC_FREQ_MAX, ADC_STARTUP_FAST ) ; - adc_configure_timing(ADC, 0, ADC_SETTLING_TIME_3, 1); - adc_configure_trigger(ADC, ADC_TRIG_SW, 0); // Disable hardware trigger. - adc_disable_interrupt( ADC, 0xFFFFFFFF ) ; // Disable all ADC interrupts. - adc_disable_all_channel( ADC ) ; - - // Initialize analogOutput module - analogOutputInit(); -} -#ifdef __cplusplus -} -#endif - diff --git a/hardware/atmel/sam/variants/sam3x_ek/variant.h b/hardware/atmel/sam/variants/sam3x_ek/variant.h deleted file mode 100644 index f8c300798..000000000 --- a/hardware/atmel/sam/variants/sam3x_ek/variant.h +++ /dev/null @@ -1,122 +0,0 @@ -/* - Copyright (c) 2011 Arduino. 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_SAM3X_EK_ -#define _VARIANT_SAM3X_EK_ - -/*---------------------------------------------------------------------------- - * Headers - *----------------------------------------------------------------------------*/ - -// We have native USB on this variant -#define USBCON - -#include "Arduino.h" -#ifdef __cplusplus -#include "UARTClass.h" -#include "USARTClass.h" -#endif - -/** - * Libc porting layers - */ -#if defined ( __GNUC__ ) /* GCC CS3 */ -# include /** RedHat Newlib minimal stub */ -#endif - -/*---------------------------------------------------------------------------- - * Definitions - *----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*/ - -#ifndef sam3x_ek -#define sam3x_ek -#endif - -/** Name of the board */ -#define VARIANT_NAME "SAM3X-EK" - - -/** Frequency of the board main oscillator */ -#define VARIANT_MAINOSC 12000000 - -/** Master clock frequency */ -#define VARIANT_MCK 84000000 - -/*---------------------------------------------------------------------------- - * Pins - *----------------------------------------------------------------------------*/ - -// Number of pins defined in PinDescription array -#define PINS_COUNT (10u) - -// LEDs -#define PIN_LED_BLUE (2u) -#define PIN_LED_AMBER (3u) -#define PIN_LED_GREEN (4u) -#define PIN_LED_RED (5u) -#define PIN_LED PIN_LED_AMBER -#define PIN_LED2 PIN_LED_BLUE -#define PIN_LED3 PIN_LED_GREEN - -/* - * UART/USART Interfaces - */ -#define PINS_UART (8u) - -#define PINS_USART0 (9u) - - -/* - * Analog pins - */ -static const uint8_t A0 = 10; - -/* - * PWM - */ -#define PWM_INTERFACE PWM -#define PWM_INTERFACE_ID ID_PWM -#define PWM_FREQUENCY 1000 -#define PWM_MAX_DUTY_CYCLE 255 -#define PWM_MIN_DUTY_CYCLE 0 - -/* - * TC - */ -#define TC_INTERFACE TC0 -#define TC_INTERFACE_ID ID_TC0 -#define TC_FREQUENCY 1000 -#define TC_MAX_DUTY_CYCLE 255 -#define TC_MIN_DUTY_CYCLE 0 - -/*---------------------------------------------------------------------------- - * Arduino objects - C++ only - *----------------------------------------------------------------------------*/ - -#ifdef __cplusplus - -extern UARTClass Serial1 ; - -extern USARTClass Serial2 ; - -#endif - -#endif /* _VARIANT_SAM3X_EK_ */ - diff --git a/hardware/tools/.keep b/hardware/tools/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/hardware/tools/README.txt b/hardware/tools/README.txt deleted file mode 100644 index 4da5594ad..000000000 --- a/hardware/tools/README.txt +++ /dev/null @@ -1 +0,0 @@ -Here should be present the CodeSourcery ARM GCC toolchain \ No newline at end of file