From 562324d5f607195b6b838afad34d8ebe8afd925a Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Mon, 15 Oct 2012 13:34:01 +0200 Subject: [PATCH 1/2] Adjusted off-by-one naming for Serial object: Serial2/3/4 => Serial1/2/3 --- build/shared/lib/keywords.txt | 2 +- .../sam/variants/arduino_due_x/variant.cpp | 76 +++++++++---------- .../sam/variants/arduino_due_x/variant.h | 30 ++++---- 3 files changed, 53 insertions(+), 55 deletions(-) diff --git a/build/shared/lib/keywords.txt b/build/shared/lib/keywords.txt index 6b4480634..10477805a 100644 --- a/build/shared/lib/keywords.txt +++ b/build/shared/lib/keywords.txt @@ -163,9 +163,9 @@ shiftOut KEYWORD2 ShiftOut tone KEYWORD2 Tone Serial KEYWORD3 Serial +Serial1 KEYWORD3 Serial Serial2 KEYWORD3 Serial Serial3 KEYWORD3 Serial -Serial4 KEYWORD3 Serial SerialUSB KEYWORD3 Serial begin KEYWORD2 Serial_Begin end KEYWORD2 Serial_End diff --git a/hardware/arduino/sam/variants/arduino_due_x/variant.cpp b/hardware/arduino/sam/variants/arduino_due_x/variant.cpp index 29a30d9b4..92fd828c1 100644 --- a/hardware/arduino/sam/variants/arduino_due_x/variant.cpp +++ b/hardware/arduino/sam/variants/arduino_due_x/variant.cpp @@ -144,15 +144,15 @@ extern const PinDescription g_APinDescription[]= // 13 - AMBER LED { PIOB, PIO_PB27B_TIOB0, ID_PIOB, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_TIMER), NO_ADC, NO_ADC, NOT_ON_PWM, TC0_CHB0 }, // TIOB0 - // 14/15 - USART2 (Serial4) + // 14/15 - USART3 (Serial3) { PIOD, PIO_PD4B_TXD3, ID_PIOD, PIO_PERIPH_B, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // TXD3 { PIOD, PIO_PD5B_RXD3, ID_PIOD, PIO_PERIPH_B, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // RXD3 - // 16/17 - USART1 (Serial3) + // 16/17 - USART1 (Serial2) { PIOA, PIO_PA13A_TXD1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // TXD1 { PIOA, PIO_PA12A_RXD1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // RXD1 - // 18/19 - USART0 (Serial2) + // 18/19 - USART0 (Serial1) { PIOA, PIO_PA11A_TXD0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // TXD0 { PIOA, PIO_PA10A_RXD0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // RXD0 @@ -258,11 +258,11 @@ extern const PinDescription g_APinDescription[]= { PIOB, PIO_PB12A_TWD1|PIO_PB13A_TWCK1, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // 81 - 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, NOT_ON_PWM, NOT_ON_TIMER }, - // 82 - USART0 (Serial2) all pins + // 82 - USART0 (Serial1) 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, NOT_ON_PWM, NOT_ON_TIMER }, - // 83 - USART1 (Serial3) all pins + // 83 - USART1 (Serial2) all pins { PIOA, PIO_PA13A_TXD1|PIO_PA12A_RXD1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, - // 84 - USART3 (Serial4) all pins + // 84 - USART3 (Serial3) all pins { PIOD, PIO_PD4B_TXD3|PIO_PD5B_RXD3, ID_PIOD, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // 85 - USB @@ -285,42 +285,42 @@ extern const PinDescription g_APinDescription[]= /* * UART objects */ -RingBuffer rx_buffer1 ; +RingBuffer rx_buffer1; -UARTClass Serial( UART, UART_IRQn, ID_UART, &rx_buffer1 ) ; +UARTClass Serial(UART, UART_IRQn, ID_UART, &rx_buffer1); // IT handlers void UART_Handler(void) { - Serial.IrqHandler() ; + Serial.IrqHandler(); } // ---------------------------------------------------------------------------- /* * USART objects */ -RingBuffer rx_buffer2 ; -RingBuffer rx_buffer3 ; -RingBuffer rx_buffer4 ; +RingBuffer rx_buffer2; +RingBuffer rx_buffer3; +RingBuffer rx_buffer4; -USARTClass Serial2( USART0, USART0_IRQn, ID_USART0, &rx_buffer2 ) ; -USARTClass Serial3( USART1, USART1_IRQn, ID_USART1, &rx_buffer3 ) ; -USARTClass Serial4( USART3, USART3_IRQn, ID_USART3, &rx_buffer4 ) ; +USARTClass Serial1(USART0, USART0_IRQn, ID_USART0, &rx_buffer2); +USARTClass Serial2(USART1, USART1_IRQn, ID_USART1, &rx_buffer3); +USARTClass Serial3(USART3, USART3_IRQn, ID_USART3, &rx_buffer4); // IT handlers -void USART0_Handler( void ) +void USART0_Handler(void) { - Serial2.IrqHandler() ; + Serial1.IrqHandler(); } -void USART1_Handler( void ) +void USART1_Handler(void) { - Serial3.IrqHandler() ; + Serial2.IrqHandler(); } -void USART3_Handler( void ) +void USART3_Handler(void) { - Serial4.IrqHandler() ; + Serial3.IrqHandler(); } // ---------------------------------------------------------------------------- @@ -333,17 +333,17 @@ void __libc_init_array(void); void init( void ) { - SystemInit() ; + SystemInit(); // Set Systick to 1ms interval, common to all SAM3 variants - if ( SysTick_Config( SystemCoreClock / 1000 ) ) + if (SysTick_Config(SystemCoreClock / 1000)) { // Capture error - while ( 1 ) ; + while (true); } - // Disable watchdog, common to all SAM variants - WDT_Disable( WDT ) ; + // Disable watchdog + WDT_Disable(WDT); // Initialize C library __libc_init_array(); @@ -352,16 +352,12 @@ void init( void ) for (int i = 0; i < PINS_COUNT; i++) digitalWrite(i, LOW); - // Initialize Serial port UART, common to all SAM3 variants + // Initialize Serial port U(S)ART pins PIO_Configure( g_APinDescription[PINS_UART].pPort, g_APinDescription[PINS_UART].ulPinType, g_APinDescription[PINS_UART].ulPin, g_APinDescription[PINS_UART].ulPinConfiguration); - - Serial.begin(115200); - - // Initialize Serial ports USART PIO_Configure( g_APinDescription[PINS_USART0].pPort, g_APinDescription[PINS_USART0].ulPinType, @@ -373,12 +369,12 @@ void init( void ) g_APinDescription[PINS_USART1].ulPin, g_APinDescription[PINS_USART1].ulPinConfiguration); PIO_Configure( - g_APinDescription[PINS_USART2].pPort, - g_APinDescription[PINS_USART2].ulPinType, - g_APinDescription[PINS_USART2].ulPin, - g_APinDescription[PINS_USART2].ulPinConfiguration); + g_APinDescription[PINS_USART3].pPort, + g_APinDescription[PINS_USART3].ulPinType, + g_APinDescription[PINS_USART3].ulPin, + g_APinDescription[PINS_USART3].ulPinConfiguration); - // Initialize USB + // Initialize USB pins PIO_Configure( g_APinDescription[PINS_USB].pPort, g_APinDescription[PINS_USB].ulPinType, @@ -386,12 +382,12 @@ void init( void ) g_APinDescription[PINS_USB].ulPinConfiguration); // Initialize Analog Controller - pmc_enable_periph_clk( ID_ADC ) ; - adc_init( ADC, SystemCoreClock, ADC_FREQ_MAX, ADC_STARTUP_FAST ) ; + 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 ) ; + adc_disable_interrupt(ADC, 0xFFFFFFFF); // Disable all ADC interrupts. + adc_disable_all_channel(ADC); // Initialize analogOutput module analogOutputInit(); diff --git a/hardware/arduino/sam/variants/arduino_due_x/variant.h b/hardware/arduino/sam/variants/arduino_due_x/variant.h index 8ac0fd30f..11893cfe8 100644 --- a/hardware/arduino/sam/variants/arduino_due_x/variant.h +++ b/hardware/arduino/sam/variants/arduino_due_x/variant.h @@ -102,13 +102,13 @@ extern "C"{ (x==BOARD_SPI_SS1 ? 1 : \ (x==BOARD_SPI_SS2 ? 2 : 3))) -static const uint8_t SS = BOARD_SPI_SS0 ; -static const uint8_t SS1 = BOARD_SPI_SS1 ; -static const uint8_t SS2 = BOARD_SPI_SS2 ; -static const uint8_t SS3 = BOARD_SPI_SS3 ; -static const uint8_t MOSI = PIN_SPI_MOSI ; -static const uint8_t MISO = PIN_SPI_MISO ; -static const uint8_t SCK = PIN_SPI_SCK ; +static const uint8_t SS = BOARD_SPI_SS0; +static const uint8_t SS1 = BOARD_SPI_SS1; +static const uint8_t SS2 = BOARD_SPI_SS2; +static const uint8_t SS3 = BOARD_SPI_SS3; +static const uint8_t MOSI = PIN_SPI_MOSI; +static const uint8_t MISO = PIN_SPI_MISO; +static const uint8_t SCK = PIN_SPI_SCK; /* * Wire Interfaces @@ -130,11 +130,14 @@ static const uint8_t SCK = PIN_SPI_SCK ; /* * UART/USART Interfaces */ +// Serial #define PINS_UART (81u) - +// Serial1 #define PINS_USART0 (82u) +// Serial2 #define PINS_USART1 (83u) -#define PINS_USART2 (84u) +// Serial3 +#define PINS_USART3 (84u) /* * USB Interfaces @@ -201,11 +204,10 @@ static const uint8_t CANTX = 69; #ifdef __cplusplus -extern UARTClass Serial ; - -extern USARTClass Serial2 ; -extern USARTClass Serial3 ; -extern USARTClass Serial4 ; +extern UARTClass Serial; +extern USARTClass Serial1; +extern USARTClass Serial2; +extern USARTClass Serial3; #endif From 49ba3277ff5480334accf25045e98ece6cc8e71f Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Mon, 15 Oct 2012 17:22:10 +0200 Subject: [PATCH 2/2] Adjusted boards/variants --- hardware/arduino/sam/boards.txt | 36 +- .../sam/variants/adk2/build_gcc/Makefile | 42 -- .../sam/variants/adk2/build_gcc/debug.mk | 25 -- .../sam/variants/adk2/build_gcc/gcc.mk | 82 ---- .../adk2/build_gcc/libvariant_adk2.mk | 183 --------- .../sam/variants/adk2/build_gcc/release.mk | 25 -- .../adk2/debug_scripts/gcc/adk2_flash.gdb | 31 -- .../adk2/debug_scripts/gcc/adk2_sram.gdb | 23 -- .../variants/adk2/libsam_sam3x8e_gcc_rel.a | Bin 75306 -> 0 bytes .../adk2/libsam_sam3x8e_gcc_rel.a.txt | 381 ----------------- .../variants/adk2/linker_scripts/gcc/flash.ld | 144 ------- .../variants/adk2/linker_scripts/gcc/sram.ld | 145 ------- .../adk2/linker_scripts/iar/flash.icf | 49 --- .../variants/adk2/linker_scripts/iar/sram.icf | 33 -- .../arduino/sam/variants/adk2/pins_arduino.h | 21 - .../arduino/sam/variants/adk2/variant.cpp | 376 ----------------- hardware/arduino/sam/variants/adk2/variant.h | 188 --------- .../sam/variants/arduino_due_u/1661fa.pdf | Bin 231551 -> 0 bytes .../arduino_due_u/Arduino_ZZZ_U01.pdf | Bin 45548 -> 0 bytes .../variants/arduino_due_u/build_gcc/Makefile | 42 -- .../variants/arduino_due_u/build_gcc/debug.mk | 25 -- .../variants/arduino_due_u/build_gcc/gcc.mk | 82 ---- .../build_gcc/libvariant_arduino_due_u.mk | 183 --------- .../arduino_due_u/build_gcc/release.mk | 25 -- .../debug_scripts/gcc/arduino_due_flash.gdb | 31 -- .../debug_scripts/gcc/arduino_due_sram.gdb | 23 -- .../debug_scripts/iar/arduino_due_flash.mac | 44 -- .../debug_scripts/iar/arduino_due_sram.mac | 44 -- .../arduino_due_u/libsam_sam3u4e_gcc_rel.a | Bin 54752 -> 0 bytes .../libsam_sam3u4e_gcc_rel.a.txt | 323 --------------- .../arduino_due_u/linker_scripts/gcc/flash.ld | 150 ------- .../arduino_due_u/linker_scripts/gcc/sram.ld | 150 ------- .../linker_scripts/iar/flash.icf | 49 --- .../arduino_due_u/linker_scripts/iar/sram.icf | 33 -- .../sam/variants/arduino_due_u/pins.xls | Bin 60416 -> 0 bytes .../sam/variants/arduino_due_u/pins_arduino.h | 21 - .../sam/variants/arduino_due_u/variant.cpp | 383 ------------------ .../sam/variants/arduino_due_u/variant.h | 178 -------- 38 files changed, 18 insertions(+), 3552 deletions(-) delete mode 100644 hardware/arduino/sam/variants/adk2/build_gcc/Makefile delete mode 100644 hardware/arduino/sam/variants/adk2/build_gcc/debug.mk delete mode 100644 hardware/arduino/sam/variants/adk2/build_gcc/gcc.mk delete mode 100644 hardware/arduino/sam/variants/adk2/build_gcc/libvariant_adk2.mk delete mode 100644 hardware/arduino/sam/variants/adk2/build_gcc/release.mk delete mode 100644 hardware/arduino/sam/variants/adk2/debug_scripts/gcc/adk2_flash.gdb delete mode 100644 hardware/arduino/sam/variants/adk2/debug_scripts/gcc/adk2_sram.gdb delete mode 100644 hardware/arduino/sam/variants/adk2/libsam_sam3x8e_gcc_rel.a delete mode 100644 hardware/arduino/sam/variants/adk2/libsam_sam3x8e_gcc_rel.a.txt delete mode 100644 hardware/arduino/sam/variants/adk2/linker_scripts/gcc/flash.ld delete mode 100644 hardware/arduino/sam/variants/adk2/linker_scripts/gcc/sram.ld delete mode 100644 hardware/arduino/sam/variants/adk2/linker_scripts/iar/flash.icf delete mode 100644 hardware/arduino/sam/variants/adk2/linker_scripts/iar/sram.icf delete mode 100644 hardware/arduino/sam/variants/adk2/pins_arduino.h delete mode 100644 hardware/arduino/sam/variants/adk2/variant.cpp delete mode 100644 hardware/arduino/sam/variants/adk2/variant.h delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/1661fa.pdf delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/Arduino_ZZZ_U01.pdf delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/build_gcc/Makefile delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/build_gcc/debug.mk delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/build_gcc/gcc.mk delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/build_gcc/libvariant_arduino_due_u.mk delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/build_gcc/release.mk delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/debug_scripts/gcc/arduino_due_flash.gdb delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/debug_scripts/gcc/arduino_due_sram.gdb delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/debug_scripts/iar/arduino_due_flash.mac delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/debug_scripts/iar/arduino_due_sram.mac delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/libsam_sam3u4e_gcc_rel.a delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/libsam_sam3u4e_gcc_rel.a.txt delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/linker_scripts/gcc/flash.ld delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/linker_scripts/gcc/sram.ld delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/linker_scripts/iar/flash.icf delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/linker_scripts/iar/sram.icf delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/pins.xls delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/pins_arduino.h delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/variant.cpp delete mode 100644 hardware/arduino/sam/variants/arduino_due_u/variant.h diff --git a/hardware/arduino/sam/boards.txt b/hardware/arduino/sam/boards.txt index 8eea01533..5696bebea 100644 --- a/hardware/arduino/sam/boards.txt +++ b/hardware/arduino/sam/boards.txt @@ -1,22 +1,5 @@ -arduino_due_x.name=Arduino Due 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.upload.use_1200bps_touch=true -arduino_due_x.upload.wait_for_upload_port=true -arduino_due_x.upload.native_usb=true -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_dbg.name=Arduino Due Dev. Ed. (Debug port) +arduino_due_x_dbg.name=Arduino Due Dev. Ed. (Programming port) arduino_due_x_dbg.upload.tool=bossac arduino_due_x_dbg.upload.protocol=sam-ba arduino_due_x_dbg.upload.maximum_size=524288 @@ -33,3 +16,20 @@ arduino_due_x_dbg.build.variant_system_lib=libsam_sam3x8e_gcc_rel.a arduino_due_x_dbg.build.vid=0x2341 arduino_due_x_dbg.build.pid=0x003e +arduino_due_x.name=Arduino Due Dev. Ed. (Native port) +arduino_due_x.upload.tool=bossac +arduino_due_x.upload.protocol=sam-ba +arduino_due_x.upload.maximum_size=524288 +arduino_due_x.upload.use_1200bps_touch=true +arduino_due_x.upload.wait_for_upload_port=true +arduino_due_x.upload.native_usb=true +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 + diff --git a/hardware/arduino/sam/variants/adk2/build_gcc/Makefile b/hardware/arduino/sam/variants/adk2/build_gcc/Makefile deleted file mode 100644 index 53e76cec3..000000000 --- a/hardware/arduino/sam/variants/adk2/build_gcc/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -# -# Copyright (c) 2012 Google, Inc. 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: adk2 - -.PHONY: adk2 -adk2: - @echo ------------------------------------------------------------------------------------ - @echo --- Making variant adk2 - @$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f libvariant_adk2.mk -# @$(MAKE) $(SUBMAKE_OPTIONS) -f libvariant_adk2.mk - @echo ------------------------------------------------------------------------------------ - -.PHONY: clean -clean: - @echo ------------------------------------------------------------------------------------ - @echo --- Cleaning variant adk2 - @$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f libvariant_adk2.mk $@ -# @$(MAKE) $(SUBMAKE_OPTIONS) -f libvariant_adk2.mk $@ - @echo ------------------------------------------------------------------------------------ - diff --git a/hardware/arduino/sam/variants/adk2/build_gcc/debug.mk b/hardware/arduino/sam/variants/adk2/build_gcc/debug.mk deleted file mode 100644 index d0716744a..000000000 --- a/hardware/arduino/sam/variants/adk2/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/arduino/sam/variants/adk2/build_gcc/gcc.mk b/hardware/arduino/sam/variants/adk2/build_gcc/gcc.mk deleted file mode 100644 index 32f35d264..000000000 --- a/hardware/arduino/sam/variants/adk2/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/arduino/sam/variants/adk2/build_gcc/libvariant_adk2.mk b/hardware/arduino/sam/variants/adk2/build_gcc/libvariant_adk2.mk deleted file mode 100644 index 395cb82be..000000000 --- a/hardware/arduino/sam/variants/adk2/build_gcc/libvariant_adk2.mk +++ /dev/null @@ -1,183 +0,0 @@ -# -# Copyright (c) 2012 Google, Inc. 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=__SAM3X8E__ -VARIANT=adk2 -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 ------------------------- - @echo --- Preparing variant $(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 - @echo ------------------------------------------------------------------------------------ - -$(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 ------------------------------------------------------------------------------------ - @echo --- Cleaning $(VARIANT) files [$(OUTPUT_PATH)$(SEP)*.o] - -@$(RM) $(OUTPUT_PATH) 1>NUL 2>&1 - -@$(RM) $(OUTPUT_BIN)/$(OUTPUT_LIB) 1>NUL 2>&1 - @echo ------------------------------------------------------------------------------------ - diff --git a/hardware/arduino/sam/variants/adk2/build_gcc/release.mk b/hardware/arduino/sam/variants/adk2/build_gcc/release.mk deleted file mode 100644 index 0d15157f4..000000000 --- a/hardware/arduino/sam/variants/adk2/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/arduino/sam/variants/adk2/debug_scripts/gcc/adk2_flash.gdb b/hardware/arduino/sam/variants/adk2/debug_scripts/gcc/adk2_flash.gdb deleted file mode 100644 index c912752bc..000000000 --- a/hardware/arduino/sam/variants/adk2/debug_scripts/gcc/adk2_flash.gdb +++ /dev/null @@ -1,31 +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 - -# end of 'reset' command -end diff --git a/hardware/arduino/sam/variants/adk2/debug_scripts/gcc/adk2_sram.gdb b/hardware/arduino/sam/variants/adk2/debug_scripts/gcc/adk2_sram.gdb deleted file mode 100644 index c7cc015ba..000000000 --- a/hardware/arduino/sam/variants/adk2/debug_scripts/gcc/adk2_sram.gdb +++ /dev/null @@ -1,23 +0,0 @@ -#************************************************* -# -# Connect to J-Link and debug application in sram on SAM3U -# -# Note: -# First,users should do Step1 and Step2 according to your project, -# then do Step3. - -# Step1: Connect to the J-Link gdb server -#target remote localhost:2331 -#mon reset - -# Step2: Load file(eg. getting-started project) -#load bin/basic-dhrystone-project-at91sam3u-ek-at91sam3u4-sram.elf -#symbol-file bin/basic-dhrystone-project-at91sam3u-ek-at91sam3u4-sram.elf - -# Step3: Initializing PC and stack pointer -# Perpheral reset RSTC_CR -set *0x400e1200 = 0xA5000004 -# Modify pc value to even before writing pc register -mon reg sp=(0x20000000) -set *0x20000004 = *0x20000004 & 0xFFFFFFFE -mon reg pc=(0x20000004) diff --git a/hardware/arduino/sam/variants/adk2/libsam_sam3x8e_gcc_rel.a b/hardware/arduino/sam/variants/adk2/libsam_sam3x8e_gcc_rel.a deleted file mode 100644 index 00960209f107115c1cdfe6cccce3e8d88424e8d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75306 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 JL|CmW{J+2J8(;tc diff --git a/hardware/arduino/sam/variants/adk2/libsam_sam3x8e_gcc_rel.a.txt b/hardware/arduino/sam/variants/adk2/libsam_sam3x8e_gcc_rel.a.txt deleted file mode 100644 index 7447be8ba..000000000 --- a/hardware/arduino/sam/variants/adk2/libsam_sam3x8e_gcc_rel.a.txt +++ /dev/null @@ -1,381 +0,0 @@ - -adc10_sam3u.o: - -adc12_sam3u.o: - -adc_sam3snxa.o: - -pio.o: -00000000 T PIO_Clear -00000000 T PIO_Configure -00000000 T PIO_DisableInterrupt -00000000 T PIO_Get -00000000 T PIO_GetOutputDataStatus -00000000 T PIO_PullUp -00000000 T PIO_Set -00000000 T PIO_SetDebounceFilter -00000000 T PIO_SetInput -00000000 T PIO_SetOutput -00000000 T PIO_SetPeripheral - -pmc.o: -00000000 T pmc_clr_fast_startup_input -00000000 T pmc_disable_all_pck -00000000 T pmc_disable_all_periph_clk -00000000 T pmc_disable_interrupt -00000000 T pmc_disable_pck -00000000 T pmc_disable_periph_clk -00000000 T pmc_disable_pllack -00000000 T pmc_disable_udpck -00000000 T pmc_disable_upll_clock -00000000 T pmc_enable_all_pck -00000000 T pmc_enable_all_periph_clk -00000000 T pmc_enable_backupmode -00000000 T pmc_enable_interrupt -00000000 T pmc_enable_pck -00000000 T pmc_enable_periph_clk -00000000 T pmc_enable_pllack -00000000 T pmc_enable_sleepmode -00000000 T pmc_enable_udpck -00000000 T pmc_enable_upll_clock -00000000 T pmc_enable_waitmode -00000000 T pmc_get_interrupt_mask -00000000 T pmc_get_status -00000000 T pmc_get_writeprotect_status -00000000 T pmc_is_locked_pllack -00000000 T pmc_is_locked_upll -00000000 T pmc_is_pck_enabled -00000000 T pmc_is_periph_clk_enabled -00000000 T pmc_mck_set_prescaler -00000000 T pmc_mck_set_source -00000000 T pmc_osc_disable_fastrc -00000000 T pmc_osc_disable_xtal -00000000 T pmc_osc_enable_fastrc -00000000 T pmc_osc_is_ready_32kxtal -00000000 T pmc_osc_is_ready_mainck -00000000 T pmc_pck_set_prescaler -00000000 T pmc_pck_set_source -00000000 T pmc_set_fast_startup_input -00000000 T pmc_set_writeprotect -00000000 T pmc_switch_mainck_to_fastrc -00000000 T pmc_switch_mainck_to_xtal -00000000 T pmc_switch_mck_to_mainck -00000000 T pmc_switch_mck_to_pllack -00000000 T pmc_switch_mck_to_sclk -00000000 T pmc_switch_mck_to_upllck -00000000 T pmc_switch_pck_to_mainck -00000000 T pmc_switch_pck_to_pllack -00000000 T pmc_switch_pck_to_sclk -00000000 T pmc_switch_pck_to_upllck -00000000 T pmc_switch_sclk_to_32kxtal -00000000 T pmc_switch_udpck_to_pllack -00000000 T pmc_switch_udpck_to_upllck - -pwmc.o: -00000000 t FindClockConfiguration -00000000 T PWMC_ConfigureChannel -00000000 T PWMC_ConfigureChannelExt -00000000 T PWMC_ConfigureClocks -00000000 T PWMC_ConfigureComparisonUnit -00000000 T PWMC_ConfigureEventLineMode -00000000 T PWMC_ConfigureSyncChannel -00000000 T PWMC_DisableChannel -00000000 T PWMC_DisableChannelIt -00000000 T PWMC_DisableIt -00000000 T PWMC_DisableOverrideOutput -00000000 T PWMC_EnableChannel -00000000 T PWMC_EnableChannelIt -00000000 T PWMC_EnableFaultProtection -00000000 T PWMC_EnableIt -00000000 T PWMC_EnableOverrideOutput -00000000 T PWMC_FaultClear -00000000 T PWMC_SetDeadTime -00000000 T PWMC_SetDutyCycle -00000000 T PWMC_SetFaultMode -00000000 T PWMC_SetFaultProtectionValue -00000000 T PWMC_SetOverrideValue -00000000 T PWMC_SetPeriod -00000000 T PWMC_SetSyncChannelUpdatePeriod -00000000 T PWMC_SetSyncChannelUpdateUnlock -00000000 T PWMC_WriteBuffer - U __assert_func -00000000 r __func__.3192 -00000000 r __func__.3203 -00000000 r __func__.3218 -00000000 r __func__.3229 -00000000 r __func__.3240 -00000000 r __func__.3247 -00000000 r __func__.3331 -00000000 r __func__.3337 - -rtc.o: -00000000 T RTC_ClearSCCR -00000000 T RTC_DisableIt -00000000 T RTC_EnableIt -00000000 T RTC_GetDate -00000000 T RTC_GetHourMode -00000000 T RTC_GetSR -00000000 T RTC_GetTime -00000000 T RTC_SetDate -00000000 T RTC_SetDateAlarm -00000000 T RTC_SetHourMode -00000000 T RTC_SetTime -00000000 T RTC_SetTimeAlarm - U __assert_func -00000000 r __func__.3189 -00000000 r __func__.3198 -00000000 r __func__.3203 - -rtt.o: -00000000 T RTT_EnableIT -00000000 T RTT_GetStatus -00000000 T RTT_GetTime -00000000 T RTT_SetAlarm -00000000 T RTT_SetPrescaler - U __assert_func -00000000 r __func__.3196 -00000000 r __func__.3204 - -spi.o: -00000000 T SPI_Configure -00000000 T SPI_ConfigureNPCS -00000000 T SPI_Disable -00000000 T SPI_DisableIt -00000000 T SPI_Enable -00000000 T SPI_EnableIt -00000000 T SPI_GetStatus -00000000 T SPI_IsFinished -00000000 T SPI_Read -00000000 T SPI_Write - U pmc_enable_periph_clk - -tc.o: -00000000 T TC_Configure -00000000 T TC_FindMckDivisor -00000000 T TC_Start -00000000 T TC_Stop - U __assert_func -00000000 r __func__.3191 -00000000 r __func__.3197 -00000000 r __func__.3203 - -timetick.o: -00000000 T GetTickCount -00000000 T Sleep -00000000 T TimeTick_Configure -00000000 T TimeTick_Increment -00000000 T Wait -00000000 b _dwTickCount - -twi.o: -00000000 T TWI_ByteReceived -00000000 T TWI_ByteSent -00000000 T TWI_ConfigureMaster -00000000 T TWI_ConfigureSlave -00000000 T TWI_DisableIt -00000000 T TWI_EnableIt -00000000 T TWI_GetMaskedStatus -00000000 T TWI_GetStatus -00000000 T TWI_ReadByte -00000000 T TWI_SendSTOPCondition -00000000 T TWI_StartRead -00000000 T TWI_StartWrite -00000000 T TWI_Stop -00000000 T TWI_TransferComplete -00000000 T TWI_WriteByte - U __assert_func -00000000 r __func__.3556 -00000000 r __func__.3571 -00000000 r __func__.3575 -00000000 r __func__.3582 -00000000 r __func__.3586 -00000000 r __func__.3591 -00000000 r __func__.3599 -00000000 r __func__.3613 -00000000 r __func__.3618 -00000000 r __func__.3622 -00000000 r __func__.3627 -00000000 r __func__.3631 - -usart.o: -00000000 T USART_Configure -00000000 T USART_DisableIt -00000000 T USART_EnableIt -00000000 T USART_GetChar -00000000 T USART_GetStatus -00000000 T USART_IsDataAvailable -00000000 T USART_IsRxReady -00000000 T USART_PutChar -00000000 T USART_Read -00000000 T USART_ReadBuffer -00000000 T USART_SetIrdaFilter -00000000 T USART_SetReceiverEnabled -00000000 T USART_SetTransmitterEnabled -00000000 T USART_Write -00000000 T USART_WriteBuffer - U __assert_func -00000000 r __func__.3477 - -wdt.o: -00000000 T WDT_Disable -00000000 T WDT_Enable -00000000 T WDT_GetPeriod -00000000 T WDT_GetStatus -00000000 T WDT_Restart - -system_sam3xa.o: -00000000 D SystemCoreClock -00000000 T SystemCoreClockUpdate -00000000 T SystemInit -00000000 T system_init_flash - -startup_sam3xa.o: -00000000 W ADC_Handler -00000000 W BusFault_Handler -00000000 W CAN0_Handler -00000000 W CAN1_Handler -00000000 W DACC_Handler -00000000 W DMAC_Handler -00000000 W DebugMon_Handler -00000000 T Dummy_Handler -00000000 W EFC0_Handler -00000000 W EFC1_Handler -00000000 W EMAC_Handler -00000000 W HSMCI_Handler -00000000 W HardFault_Handler -00000000 W MemManage_Handler -00000000 W NMI_Handler -00000000 W PIOA_Handler -00000000 W PIOB_Handler -00000000 W PIOC_Handler -00000000 W PIOD_Handler -00000000 W PMC_Handler -00000000 W PWM_Handler -00000000 W PendSV_Handler -00000000 W RSTC_Handler -00000000 W RTC_Handler -00000000 W RTT_Handler -00000000 T Reset_Handler -00000000 W SMC_Handler -00000000 W SPI0_Handler -00000000 W SSC_Handler -00000000 W SUPC_Handler -00000000 W SVC_Handler -00000000 W SysTick_Handler -00000000 W TC0_Handler -00000000 W TC1_Handler -00000000 W TC2_Handler -00000000 W TC3_Handler -00000000 W TC4_Handler -00000000 W TC5_Handler -00000000 W TC6_Handler -00000000 W TC7_Handler -00000000 W TC8_Handler -00000000 W TRNG_Handler -00000000 W TWI0_Handler -00000000 W TWI1_Handler -00000000 W UART_Handler -00000000 W UOTGHS_Handler -00000000 W USART0_Handler -00000000 W USART1_Handler -00000000 W USART2_Handler -00000000 W USART3_Handler -00000000 W UsageFault_Handler -00000000 W WDT_Handler - U __libc_init_array - U _erelocate - U _estack - U _etext - U _ezero - U _sfixed - U _srelocate - U _szero -00000000 R exception_table - U main - -adc.o: -00000000 T adc_configure_power_save -00000000 T adc_configure_sequence -00000000 T adc_configure_timing -00000000 T adc_configure_trigger -00000000 T adc_disable_all_channel -00000000 T adc_disable_anch -00000000 T adc_disable_channel -00000000 T adc_disable_channel_differential_input -00000000 T adc_disable_channel_input_offset -00000000 T adc_disable_interrupt -00000000 T adc_disable_tag -00000000 T adc_disable_ts -00000000 T adc_enable_all_channel -00000000 T adc_enable_anch -00000000 T adc_enable_channel -00000000 T adc_enable_channel_differential_input -00000000 T adc_enable_channel_input_offset -00000000 T adc_enable_interrupt -00000000 T adc_enable_tag -00000000 T adc_enable_ts -00000000 T adc_get_actual_adc_clock -00000000 T adc_get_channel_status -00000000 T adc_get_channel_value -00000000 T adc_get_comparison_mode -00000000 T adc_get_interrupt_mask -00000000 T adc_get_latest_value -00000000 T adc_get_overrun_status -00000000 T adc_get_pdc_base -00000000 T adc_get_status -00000000 T adc_get_tag -00000000 T adc_get_writeprotect_status -00000000 T adc_init -00000000 T adc_set_bias_current -00000000 T adc_set_channel_input_gain -00000000 T adc_set_comparison_channel -00000000 T adc_set_comparison_mode -00000000 T adc_set_comparison_window -00000000 T adc_set_resolution -00000000 T adc_set_writeprotect -00000000 T adc_start -00000000 T adc_start_sequencer -00000000 T adc_stop -00000000 T adc_stop_sequencer - -udp.o: - -udphs.o: - -uotghs.o: -00000000 T UDD_Attach -00000000 T UDD_ClearIN -00000000 T UDD_ClearOUT -00000000 T UDD_ClearSetupInt -00000000 T UDD_Detach -00000000 T UDD_FifoByteCount -00000000 T UDD_GetFrameNumber -00000000 T UDD_Init -00000000 T UDD_InitEP -00000000 T UDD_InitEndpoints -00000000 T UDD_ReadWriteAllowed -00000000 T UDD_ReceivedSetupInt -00000000 T UDD_Recv -00000000 T UDD_Recv8 -00000000 T UDD_ReleaseRX -00000000 T UDD_ReleaseTX -00000000 T UDD_Send -00000000 T UDD_Send8 -00000000 T UDD_SetAddress -00000000 T UDD_SetStack -00000000 T UDD_Stall -00000000 T UDD_WaitForINOrOUT -00000000 T UDD_WaitIN -00000000 T UDD_WaitOUT -00000000 T UOTGHS_Handler - U g_interrupt_enabled -00000000 b gpf_isr - U pmc_enable_periph_clk - U pmc_enable_udpck - U pmc_enable_upll_clock - U pmc_switch_udpck_to_upllck -00000000 b ul_recv_fifo_ptr -00000000 b ul_send_fifo_ptr - -interrupt_sam_nvic.o: -00000000 D g_interrupt_enabled diff --git a/hardware/arduino/sam/variants/adk2/linker_scripts/gcc/flash.ld b/hardware/arduino/sam/variants/adk2/linker_scripts/gcc/flash.ld deleted file mode 100644 index 8d652b606..000000000 --- a/hardware/arduino/sam/variants/adk2/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/arduino/sam/variants/adk2/linker_scripts/gcc/sram.ld b/hardware/arduino/sam/variants/adk2/linker_scripts/gcc/sram.ld deleted file mode 100644 index 2a0d54e17..000000000 --- a/hardware/arduino/sam/variants/adk2/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/arduino/sam/variants/adk2/linker_scripts/iar/flash.icf b/hardware/arduino/sam/variants/adk2/linker_scripts/iar/flash.icf deleted file mode 100644 index 956230fbd..000000000 --- a/hardware/arduino/sam/variants/adk2/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/arduino/sam/variants/adk2/linker_scripts/iar/sram.icf b/hardware/arduino/sam/variants/adk2/linker_scripts/iar/sram.icf deleted file mode 100644 index d7d33537a..000000000 --- a/hardware/arduino/sam/variants/adk2/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/arduino/sam/variants/adk2/pins_arduino.h b/hardware/arduino/sam/variants/adk2/pins_arduino.h deleted file mode 100644 index 4e279aa7b..000000000 --- a/hardware/arduino/sam/variants/adk2/pins_arduino.h +++ /dev/null @@ -1,21 +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 -*/ - -// API compatibility -#include "variant.h" - diff --git a/hardware/arduino/sam/variants/adk2/variant.cpp b/hardware/arduino/sam/variants/adk2/variant.cpp deleted file mode 100644 index 96d93ba7f..000000000 --- a/hardware/arduino/sam/variants/adk2/variant.cpp +++ /dev/null @@ -1,376 +0,0 @@ -/* - Copyright (c) 2012 Google, Inc. 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" - -/* - * ADK2 Board pin | PORT - * ----------------+-------- - * 0 RXD0 | PA10 - * 1 TXD0 | PA11 - * 2 PWML0 | PA21 - * 3 PWML1 | PC4 - * 4 PWML2 | PC6 - * 5 PWML3 | PC8 - * 6 PWML4 | PC21 - * 7 PWML5 | PC22 - * 8 PWML6 | PC23 - * 9 PWML7 | PC24 - * 10 PWMH0 | PC3 - * 11 PWMH1 | PC5 - * 12 PWMH2 | PC7 - * 13 PWMH3 | PC9 ("L" LED on board) - * 14 TX3 | PD4 - * 15 RX3 | PD5 - * 16 TX2 | PB20 - * 17 RX2 | PB21 - * 18 TX1 | PA13 - * 19 RX1 | PA12 - * 20 SDA | PA17 - * 21 SCL | PA18 - * 22 | PA14 - * 23 | PA15 - * 24 | PD0 - * 25 | PD1 - * 26 | PD2 - * 27 | PD3 - * 28 | PB23 - * 29 | PB22 - * 30 | PC28 - * 31 | PC27 - * 32 | PC26 - * 33 | PC25 - * 34 | PB8 - * 35 | PB9 - * 36 | PB6 - * 37 | PB7 - * 38 | PB4 - * 39 | PB5 - * 40 | PB2 - * 41 | PB3 - * 42 | PB0 - * 43 | PB1 - * 44 | PA29 - * 45 | PA19 - * 46 | PA20 - * 47 | PA16 - * 48 | PC29 - * 49 | PC30 - * 50 | PA25 - * 51 | PA26 - * 52 | PA27 - * 53 | PA28 - * A0 | PA24 - * A1 | PA23 - * A2 | PA22 - * A3 | PA6 - * A4 | PA4 - * A5 | PA3 - * A6 | PA2 - * A7 | PB17 - * A8 | PB18 - * A9 | PB19 - * A10 | Pxx - * A11 | Pxx - * A12 | PB15 (DAC0) - * A13 | PB16 (DAC1) - * A14 | Pxx - * A15 | Pxx - * SDA1 | PB12 - * SCL1 | PB13 - * - * LEDs | PORT - * ----------------+-------- - * "TX" | (On LPC1343) - * "RX" | (On LPC1343) - * "L" | PC9 - */ - - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Pins descriptions - */ -extern const PinDescription g_APinDescription[]= -{ - // 0 .. 53 - Digital pins - // ---------------------- - // 0/1 - USART0 (Serial) - { PIOA, PIO_PA10A_RXD0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // RXD0 - { PIOA, PIO_PA11A_TXD0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // TXD0 - - // 2 - { PIOA, PIO_PA21B_PWML0, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), NO_ADC, NO_ADC, PWM_CH0, NO_TC }, // PWML0 - { PIOC, PIO_PC4B_PWML1, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), NO_ADC, NO_ADC, PWM_CH1, NO_TC }, // PWML1 - { PIOC, PIO_PC6B_PWML2, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), NO_ADC, NO_ADC, PWM_CH2, NO_TC }, // PWML2 - - // 5 - { PIOC, PIO_PC8B_PWML3, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), NO_ADC, NO_ADC, PWM_CH3, NO_TC }, // PWML3 - { PIOC, PIO_PC21B_PWML4, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PWML4 - { PIOC, PIO_PC22B_PWML5, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PWML5 - { PIOC, PIO_PC23B_PWML6, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PWML6 - { PIOC, PIO_PC24B_PWML7, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PWML7 - // 10 - { PIOC, PIO_PC3B_PWMH0, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), NO_ADC, NO_ADC, PWM_CH0, NO_TC }, // PWMH0 - { PIOC, PIO_PC5B_PWMH1, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), NO_ADC, NO_ADC, PWM_CH1, NO_TC }, // PWMH1 - { PIOC, PIO_PC7B_PWMH2, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), NO_ADC, NO_ADC, PWM_CH2, NO_TC }, // PWMH2 - - // 13 - AMBER LED - { PIOC, PIO_PC9B_PWMH3, ID_PIOC, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), NO_ADC, NO_ADC, PWM_CH3, NO_TC }, // PWMH3 - - // 14/15 - USART3 (Serial4) - { PIOD, PIO_PD4B_TXD3, ID_PIOD, PIO_PERIPH_B, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // TXD3 - { PIOD, PIO_PD5B_RXD3, ID_PIOD, PIO_PERIPH_B, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // RXD3 - - // 16/17 - USART2 (Serial3) - { PIOB, PIO_PB20A_TXD2, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // TXD2 - { PIOB, PIO_PB21A_RXD2, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // RXD2 - - // 18/19 - USART1 (Serial2) - { PIOA, PIO_PA13A_TXD1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // TXD1 - { PIOA, PIO_PA12A_RXD1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // RXD1 - - // 20/21 - TWI0 - { PIOA, PIO_PA17A_TWD0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // TWD0 - SDA0 - { PIOA, PIO_PA18A_TWCK0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // TWCK0 - SCL0 - - // 22 - { PIOA, PIO_PA14, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 22 - { PIOA, PIO_PA15, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 23 - { PIOD, PIO_PD0, ID_PIOD, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 24 - { PIOD, PIO_PD1, ID_PIOD, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 25 - - // 26 - { PIOD, PIO_PD2, ID_PIOD, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 26 - { PIOD, PIO_PD3, ID_PIOD, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 27 - { PIOB, PIO_PB23, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 28 - { PIOB, PIO_PB22, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 29 - - // 30 - { PIOC, PIO_PC28, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 30 - { PIOC, PIO_PC27, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 31 - { PIOC, PIO_PC26, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 32 - { PIOC, PIO_PC25, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 33 - - // 34 - { PIOB, PIO_PB8, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 34 - { PIOB, PIO_PB9, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 35 - { PIOB, PIO_PB6, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 36 - { PIOB, PIO_PB7, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 37 - - // 38 - { PIOB, PIO_PB4, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 38 - { PIOB, PIO_PB5, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 39 - { PIOB, PIO_PB2, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 40 - { PIOB, PIO_PB3, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 41 - - // 42 - { PIOB, PIO_PB0, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 42 - { PIOB, PIO_PB1, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 43 - { PIOA, PIO_PA29, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 44 - { PIOA, PIO_PA19, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 45 - - // 46 - { PIOA, PIO_PA20, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 46 - { PIOA, PIO_PA16, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 47 - { PIOC, PIO_PC29, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 48 - { PIOC, PIO_PC30, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 49 - - // 50 - { PIOA, PIO_PA25A_SPI0_MISO, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 50 - { PIOA, PIO_PA26A_SPI0_MOSI, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 51 - { PIOA, PIO_PA27A_SPI0_SPCK, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 52 - { PIOA, PIO_PA28A_SPI0_NPCS0, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // PIN 53 - - // 54 .. 63 - Analog pins - // ---------------------- - { PIOA, PIO_PA24X1_AD6, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC0, ADC6, NO_PWM, NO_TC }, // AD0 - { PIOA, PIO_PA23X1_AD5, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC1, ADC5, NO_PWM, NO_TC }, // AD1 - { PIOA, PIO_PA22X1_AD4, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC2, ADC4, NO_PWM, NO_TC }, // AD2 - { PIOA, PIO_PA6X1_AD3, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC3, ADC3, NO_PWM, NO_TC }, // AD3 - // 58 - { PIOA, PIO_PA4X1_AD2, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC4, ADC2, NO_PWM, NO_TC }, // AD4 - { PIOA, PIO_PA3X1_AD1, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC5, ADC1, NO_PWM, NO_TC }, // AD5 - { PIOA, PIO_PA2X1_AD0, ID_PIOA, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC6, ADC0, NO_PWM, TC0_CHA1 }, // AD6 - { PIOB, PIO_PB17X1_AD10, ID_PIOB, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC7, ADC10, NO_PWM, NO_TC }, // AD7 - // 62 - { PIOB, PIO_PB18X1_AD11, ID_PIOB, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC8, ADC11, NO_PWM, NO_TC }, // AD8 - { PIOB, PIO_PB19X1_AD12, ID_PIOB, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC9, ADC12, NO_PWM, NO_TC }, // AD9 - - // 64/65 - TWI1 - { PIOB, PIO_PB12A_TWD1, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // TWD1 - SDA1 - { PIOB, PIO_PB13A_TWCK1, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // TWCK1 - SCL1 - - // 66/67 - Debug UART - { PIOA, PIO_PA8A_URXD, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // UART RXD - { PIOA, PIO_PA9A_UTXD, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NO_PWM, NO_TC }, // UART TXD - - // 68 .. 74 - "All pins" masks - - // 68 - TWI0 all pins - { PIOA, PIO_PA17A_TWD0|PIO_PA18A_TWCK0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NO_PWM, NO_TC }, - // 69 - TWI1 all pins - { PIOB, PIO_PB12A_TWD1|PIO_PB13A_TWCK1, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NO_PWM, NO_TC }, - // 70 - 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 }, - // 71 - USART0 (Serial2) all pins - { PIOA, PIO_PA10A_RXD0|PIO_PA11A_TXD0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NO_PWM, NO_TC }, - // 72 - USART1 (Serial3) all pins - { PIOA, PIO_PA12A_RXD1|PIO_PA13A_TXD1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NO_PWM, NO_TC }, - // 73 - USART2 (Serial4) all pins - { PIOB, PIO_PB21A_RXD2|PIO_PB20A_TXD2, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NO_PWM, NO_TC }, - // 74 - USART3 (Serial5) all pins - { PIOD, PIO_PD5B_RXD3|PIO_PD4B_TXD3, ID_PIOD, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NO_PWM, NO_TC }, - - // 75 - USB - { PIOB, PIO_PB11A_UOTGID|PIO_PB10A_UOTGVBOF, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL,NO_ADC, NO_ADC, NO_PWM, NO_TC }, // ID - VBOF - - // END - { NULL, 0, 0, PIO_NOT_A_PIN, PIO_DEFAULT, 0, NO_ADC, NO_ADC, NO_PWM, NO_TC } -} ; - -#ifdef __cplusplus -} -#endif - -/* - * 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 ; -RingBuffer rx_buffer4 ; -RingBuffer rx_buffer5 ; - -USARTClass Serial2( USART0, USART0_IRQn, ID_USART0, &rx_buffer2 ) ; -USARTClass Serial3( USART1, USART1_IRQn, ID_USART1, &rx_buffer3 ) ; -USARTClass Serial4( USART2, USART2_IRQn, ID_USART2, &rx_buffer4 ) ; -USARTClass Serial5( USART3, USART3_IRQn, ID_USART3, &rx_buffer5 ) ; - -// IT handlers -void USART0_Handler( void ) -{ - Serial2.IrqHandler() ; -} - -void USART1_Handler( void ) -{ - Serial3.IrqHandler() ; -} - -void USART2_Handler( void ) -{ - Serial4.IrqHandler() ; -} - -void USART3_Handler( void ) -{ - Serial5.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); - PIO_Configure( - g_APinDescription[PINS_USART1].pPort, - g_APinDescription[PINS_USART1].ulPinType, - g_APinDescription[PINS_USART1].ulPin, - g_APinDescription[PINS_USART1].ulPinConfiguration); - PIO_Configure( - g_APinDescription[PINS_USART2].pPort, - g_APinDescription[PINS_USART2].ulPinType, - g_APinDescription[PINS_USART2].ulPin, - g_APinDescription[PINS_USART2].ulPinConfiguration); - PIO_Configure( - g_APinDescription[PINS_USART3].pPort, - g_APinDescription[PINS_USART3].ulPinType, - g_APinDescription[PINS_USART3].ulPin, - g_APinDescription[PINS_USART3].ulPinConfiguration); - - // Initialize USB - PIO_Configure( - g_APinDescription[PINS_USB].pPort, - g_APinDescription[PINS_USB].ulPinType, - g_APinDescription[PINS_USB].ulPin, - g_APinDescription[PINS_USB].ulPinConfiguration); - - // 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/arduino/sam/variants/adk2/variant.h b/hardware/arduino/sam/variants/adk2/variant.h deleted file mode 100644 index 4b1816abb..000000000 --- a/hardware/arduino/sam/variants/adk2/variant.h +++ /dev/null @@ -1,188 +0,0 @@ -/* - Copyright (c) 2012 Google, Inc. 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_ADK2_ -#define _VARIANT_ADK2_ - -/*---------------------------------------------------------------------------- - * Headers - *----------------------------------------------------------------------------*/ - -// We have native USB on this variant -//#define USBCON - -#include "Arduino.h" -#ifdef __cplusplus -#include "UARTClass.h" -#include "USARTClass.h" -#endif - -#ifdef __cplusplus -extern "C"{ -#endif // __cplusplus - -/** - * Libc porting layers - */ -#if defined ( __GNUC__ ) /* GCC CS3 */ -# include /** RedHat Newlib minimal stub */ -#endif - -/*---------------------------------------------------------------------------- - * Definitions - *----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*/ - -#ifndef adk2 -#define adk2 -#endif - -/** Name of the board */ -#define VARIANT_NAME "ADK2" - -/** 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 (75u) - -// LEDs -#define PIN_LED_13 (13u) -#define PIN_LED_RXL (73u) // fixme -#define PIN_LED_TXL (74u) // fixme -#define PIN_LED PIN_LED_13 -#define PIN_LED2 PIN_LED_RXL // fixme -#define PIN_LED3 PIN_LED_TXL // fixme - -/* - * SPI Interfaces - */ -#define SPI_INTERFACES_COUNT 1 - -#define SPI_INTERFACE SPI -#define SPI_INTERFACE_ID ID_SPI -#define PIN_SPI_SS (53u) -#define PIN_SPI_MOSI (51u) -#define PIN_SPI_MISO (50u) -#define PIN_SPI_SCK (52u) - -static const uint8_t SS = 53 ; -static const uint8_t MOSI = 51 ; -static const uint8_t MISO = 50 ; -static const uint8_t SCK = 52 ; - -/* - * Wire Interfaces - */ -#define WIRE_INTERFACES_COUNT 2 - -#define PIN_WIRE_SDA (20u) -#define PIN_WIRE_SCL (21u) -#define WIRE_INTERFACE TWI0 -#define WIRE_INTERFACE_ID ID_TWI0 -#define WIRE_ISR_HANDLER TWI1_IrqHandler - -#define PIN_WIRE1_SDA (64u) -#define PIN_WIRE1_SCL (65u) -#define WIRE1_INTERFACE TWI1 -#define WIRE1_INTERFACE_ID ID_TWI1 -#define WIRE1_ISR_HANDLER TWI0_IrqHandler - -/* - * UART/USART Interfaces - */ -#define PINS_UART (70u) - -#define PINS_USART0 (71u) -#define PINS_USART1 (72u) -#define PINS_USART2 (73u) -#define PINS_USART3 (74u) - -/* - * USB Interfaces - */ -#define PINS_USB (75u) - - -/* - * 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 - -#ifdef __cplusplus -} -#endif - -/*---------------------------------------------------------------------------- - * Arduino objects - C++ only - *----------------------------------------------------------------------------*/ - -#ifdef __cplusplus - -extern UARTClass Serial1 ; - -extern USARTClass Serial2 ; -extern USARTClass Serial3 ; -extern USARTClass Serial4 ; -extern USARTClass Serial5 ; - -#endif - -#endif /* _VARIANT_ADK2_ */ - diff --git a/hardware/arduino/sam/variants/arduino_due_u/1661fa.pdf b/hardware/arduino/sam/variants/arduino_due_u/1661fa.pdf deleted file mode 100644 index bda8df4cba657065a18a14670dd165586c9ee644..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231551 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�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 MUw_NOk$n^Y3#?V^GXMYp diff --git a/hardware/arduino/sam/variants/arduino_due_u/Arduino_ZZZ_U01.pdf b/hardware/arduino/sam/variants/arduino_due_u/Arduino_ZZZ_U01.pdf deleted file mode 100644 index 0fe138c7a1c8346d709901036c4e1d447640ff7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45548 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 UT#kq^3?d{(%*CaotxWuX0AtZy_y7O^ diff --git a/hardware/arduino/sam/variants/arduino_due_u/build_gcc/Makefile b/hardware/arduino/sam/variants/arduino_due_u/build_gcc/Makefile deleted file mode 100644 index 3b32c6528..000000000 --- a/hardware/arduino/sam/variants/arduino_due_u/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 -# - -SUBMAKE_OPTIONS=--no-builtin-rules --no-builtin-variables --no-print-directory - -#------------------------------------------------------------------------------- -# Rules -#------------------------------------------------------------------------------- - -all: arduino_due_u - -.PHONY: arduino_due_u -arduino_due_u: - @echo ------------------------------------------------------------------------------------ - @echo --- Making arduino_due_u - @$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f libvariant_arduino_due_u.mk -# @$(MAKE) $(SUBMAKE_OPTIONS) -f libvariant_arduino_due.mk - @echo ------------------------------------------------------------------------------------ - -.PHONY: clean -clean: - @echo ------------------------------------------------------------------------------------ - @echo --- Cleaning arduino_due_u - @$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f libvariant_arduino_due_u.mk $@ -# @$(MAKE) $(SUBMAKE_OPTIONS) -f libvariant_arduino_due.mk $@ - @echo ------------------------------------------------------------------------------------ - diff --git a/hardware/arduino/sam/variants/arduino_due_u/build_gcc/debug.mk b/hardware/arduino/sam/variants/arduino_due_u/build_gcc/debug.mk deleted file mode 100644 index d0716744a..000000000 --- a/hardware/arduino/sam/variants/arduino_due_u/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/arduino/sam/variants/arduino_due_u/build_gcc/gcc.mk b/hardware/arduino/sam/variants/arduino_due_u/build_gcc/gcc.mk deleted file mode 100644 index 32f35d264..000000000 --- a/hardware/arduino/sam/variants/arduino_due_u/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/arduino/sam/variants/arduino_due_u/build_gcc/libvariant_arduino_due_u.mk b/hardware/arduino/sam/variants/arduino_due_u/build_gcc/libvariant_arduino_due_u.mk deleted file mode 100644 index 5eafdd107..000000000 --- a/hardware/arduino/sam/variants/arduino_due_u/build_gcc/libvariant_arduino_due_u.mk +++ /dev/null @@ -1,183 +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=arduino_due_u -LIBNAME=libvariant_$(VARIANT) -TOOLCHAIN=gcc - -#------------------------------------------------------------------------------- -# Path -#------------------------------------------------------------------------------- - -# Output directories -OUTPUT_BIN = ../../../cores/arduino - -# 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/arduino -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 ------------------------- - @echo --- Preparing variant $(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 - @echo ------------------------------------------------------------------------------------ - -$(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 ------------------------------------------------------------------------------------ - @echo --- Cleaning $(VARIANT) files [$(OUTPUT_PATH)$(SEP)*.o] - -@$(RM) $(OUTPUT_PATH) 1>NUL 2>&1 - -@$(RM) $(OUTPUT_BIN)/$(OUTPUT_LIB) 1>NUL 2>&1 - @echo ------------------------------------------------------------------------------------ - diff --git a/hardware/arduino/sam/variants/arduino_due_u/build_gcc/release.mk b/hardware/arduino/sam/variants/arduino_due_u/build_gcc/release.mk deleted file mode 100644 index 0d15157f4..000000000 --- a/hardware/arduino/sam/variants/arduino_due_u/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/arduino/sam/variants/arduino_due_u/debug_scripts/gcc/arduino_due_flash.gdb b/hardware/arduino/sam/variants/arduino_due_u/debug_scripts/gcc/arduino_due_flash.gdb deleted file mode 100644 index c912752bc..000000000 --- a/hardware/arduino/sam/variants/arduino_due_u/debug_scripts/gcc/arduino_due_flash.gdb +++ /dev/null @@ -1,31 +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 - -# end of 'reset' command -end diff --git a/hardware/arduino/sam/variants/arduino_due_u/debug_scripts/gcc/arduino_due_sram.gdb b/hardware/arduino/sam/variants/arduino_due_u/debug_scripts/gcc/arduino_due_sram.gdb deleted file mode 100644 index c7cc015ba..000000000 --- a/hardware/arduino/sam/variants/arduino_due_u/debug_scripts/gcc/arduino_due_sram.gdb +++ /dev/null @@ -1,23 +0,0 @@ -#************************************************* -# -# Connect to J-Link and debug application in sram on SAM3U -# -# Note: -# First,users should do Step1 and Step2 according to your project, -# then do Step3. - -# Step1: Connect to the J-Link gdb server -#target remote localhost:2331 -#mon reset - -# Step2: Load file(eg. getting-started project) -#load bin/basic-dhrystone-project-at91sam3u-ek-at91sam3u4-sram.elf -#symbol-file bin/basic-dhrystone-project-at91sam3u-ek-at91sam3u4-sram.elf - -# Step3: Initializing PC and stack pointer -# Perpheral reset RSTC_CR -set *0x400e1200 = 0xA5000004 -# Modify pc value to even before writing pc register -mon reg sp=(0x20000000) -set *0x20000004 = *0x20000004 & 0xFFFFFFFE -mon reg pc=(0x20000004) diff --git a/hardware/arduino/sam/variants/arduino_due_u/debug_scripts/iar/arduino_due_flash.mac b/hardware/arduino/sam/variants/arduino_due_u/debug_scripts/iar/arduino_due_flash.mac deleted file mode 100644 index 959583582..000000000 --- a/hardware/arduino/sam/variants/arduino_due_u/debug_scripts/iar/arduino_due_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/arduino/sam/variants/arduino_due_u/debug_scripts/iar/arduino_due_sram.mac b/hardware/arduino/sam/variants/arduino_due_u/debug_scripts/iar/arduino_due_sram.mac deleted file mode 100644 index ba86029d3..000000000 --- a/hardware/arduino/sam/variants/arduino_due_u/debug_scripts/iar/arduino_due_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/arduino/sam/variants/arduino_due_u/libsam_sam3u4e_gcc_rel.a b/hardware/arduino/sam/variants/arduino_due_u/libsam_sam3u4e_gcc_rel.a deleted file mode 100644 index 6ec84cfd08579b09b7659fc34a61ec1e779a691e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54752 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 gLstp$CF1YLcaQY1R=;h!$^GUr1hdlPq+ 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/arduino/sam/variants/arduino_due_u/linker_scripts/gcc/sram.ld b/hardware/arduino/sam/variants/arduino_due_u/linker_scripts/gcc/sram.ld deleted file mode 100644 index c8e21ad30..000000000 --- a/hardware/arduino/sam/variants/arduino_due_u/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/arduino/sam/variants/arduino_due_u/linker_scripts/iar/flash.icf b/hardware/arduino/sam/variants/arduino_due_u/linker_scripts/iar/flash.icf deleted file mode 100644 index 956230fbd..000000000 --- a/hardware/arduino/sam/variants/arduino_due_u/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/arduino/sam/variants/arduino_due_u/linker_scripts/iar/sram.icf b/hardware/arduino/sam/variants/arduino_due_u/linker_scripts/iar/sram.icf deleted file mode 100644 index d7d33537a..000000000 --- a/hardware/arduino/sam/variants/arduino_due_u/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/arduino/sam/variants/arduino_due_u/pins.xls b/hardware/arduino/sam/variants/arduino_due_u/pins.xls deleted file mode 100644 index d105ee47524a1f40d65c1016ffb22b8f8f628a35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60416 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 T6m$e0o /** RedHat Newlib minimal stub */ -#endif - -/*---------------------------------------------------------------------------- - * Definitions - *----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*/ - -#define ArduinoDueU_DevEd - -/** Name of the board */ -#define VARIANT_NAME "Arduino_DueU_Dev_Ed" - -/** 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_13 (13u) -#define PIN_LED_RXL (73u) -#define PIN_LED_TXL (74u) -#define PIN_LED PIN_LED_13 -#define PIN_LED2 PIN_LED_RXL -#define PIN_LED3 PIN_LED_TXL - -/* - * 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 = 4 ; -static const uint8_t MOSI = 76 ; -static const uint8_t MISO = 75 ; -static const uint8_t SCK = 77 ; - -/* - * 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 (80u) - -#define PINS_USART0 (81u) -#define PINS_USART1 (82u) -#define PINS_USART2 (83u) - -/* - * 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 - -#ifdef __cplusplus -} -#endif - -/*---------------------------------------------------------------------------- - * Arduino objects - C++ only - *----------------------------------------------------------------------------*/ - -#ifdef __cplusplus - -extern UARTClass Serial1 ; - -extern USARTClass Serial2 ; -extern USARTClass Serial3 ; -extern USARTClass Serial4 ; - -#endif - -#endif /* _VARIANT_ARDUINO_DUE_U_ */ -