From 9d4cb18f0552c13ecde6e0160afa518f72e0453e Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Mon, 13 Feb 2012 18:00:10 +0100 Subject: [PATCH] ARM: Fixed some compiling issues --- hardware/arduino/sam/cores/sam/Arduino.h | 3 + hardware/arduino/sam/cores/sam/UARTClass.h | 5 +- hardware/arduino/sam/cores/sam/USARTClass.h | 5 +- hardware/arduino/sam/cores/sam/USBCore.cpp | 2 +- .../arduino/sam/cores/sam/wiring_private.h | 4 +- .../arduino_due/libsam_sam3u4e_gcc_rel.a | Bin 0 -> 54752 bytes .../arduino_due/libsam_sam3u4e_gcc_rel.a.txt | 323 ++++++++++++++++++ 7 files changed, 338 insertions(+), 4 deletions(-) create mode 100644 hardware/arduino/sam/variants/arduino_due/libsam_sam3u4e_gcc_rel.a create mode 100644 hardware/arduino/sam/variants/arduino_due/libsam_sam3u4e_gcc_rel.a.txt diff --git a/hardware/arduino/sam/cores/sam/Arduino.h b/hardware/arduino/sam/cores/sam/Arduino.h index 820116fa4..242ab0341 100644 --- a/hardware/arduino/sam/cores/sam/Arduino.h +++ b/hardware/arduino/sam/cores/sam/Arduino.h @@ -179,4 +179,7 @@ extern const PinDescription g_APinDescription[] ; #include "wiring_pulse.h" #endif // __cplusplus +// Include board variant +#include "variant.h" + #endif // Arduino_h diff --git a/hardware/arduino/sam/cores/sam/UARTClass.h b/hardware/arduino/sam/cores/sam/UARTClass.h index 0ce9d714c..03e00f0a1 100644 --- a/hardware/arduino/sam/cores/sam/UARTClass.h +++ b/hardware/arduino/sam/cores/sam/UARTClass.h @@ -19,7 +19,10 @@ #ifndef _UART_CLASS_ #define _UART_CLASS_ -#include "Arduino.h" +#include "HardwareSerial.h" + +// Includes Atmel CMSIS +#include class UARTClass : public HardwareSerial { diff --git a/hardware/arduino/sam/cores/sam/USARTClass.h b/hardware/arduino/sam/cores/sam/USARTClass.h index 1b85b27b6..9d93a98a1 100644 --- a/hardware/arduino/sam/cores/sam/USARTClass.h +++ b/hardware/arduino/sam/cores/sam/USARTClass.h @@ -19,7 +19,10 @@ #ifndef _USART_CLASS_ #define _USART_CLASS_ -#include "Arduino.h" +#include "HardwareSerial.h" + +// Includes Atmel CMSIS +#include class USARTClass : public HardwareSerial { diff --git a/hardware/arduino/sam/cores/sam/USBCore.cpp b/hardware/arduino/sam/cores/sam/USBCore.cpp index 49cfe1d4c..215f656f7 100644 --- a/hardware/arduino/sam/cores/sam/USBCore.cpp +++ b/hardware/arduino/sam/cores/sam/USBCore.cpp @@ -16,12 +16,12 @@ ** SOFTWARE. */ #define USBCON +#if 0 #include "Platform.h" #include "USBAPI.h" #include "USBDesc.h" #include "USBCore.h" -#if 0 #if defined(USBCON) diff --git a/hardware/arduino/sam/cores/sam/wiring_private.h b/hardware/arduino/sam/cores/sam/wiring_private.h index 2938d3eac..573da03de 100644 --- a/hardware/arduino/sam/cores/sam/wiring_private.h +++ b/hardware/arduino/sam/cores/sam/wiring_private.h @@ -27,7 +27,9 @@ extern "C"{ #endif -#include "libsam/chip.h" +// Includes Atmel CMSIS +#include + #include "wiring_constants.h" #ifdef __cplusplus diff --git a/hardware/arduino/sam/variants/arduino_due/libsam_sam3u4e_gcc_rel.a b/hardware/arduino/sam/variants/arduino_due/libsam_sam3u4e_gcc_rel.a new file mode 100644 index 0000000000000000000000000000000000000000..6ec84cfd08579b09b7659fc34a61ec1e779a691e GIT binary patch literal 54752 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 gLstp$CF1YLcaQY1R=;h!$^GUr1hdlPq+