From 6f2d59ed2fa4f7696110919b759bff547271d8a7 Mon Sep 17 00:00:00 2001 From: Thibaut VIARD Date: Tue, 13 Sep 2011 17:01:32 +0200 Subject: [PATCH] [sam] adding variant definition for Due --- hardware/sam/sam.bat | 2 + .../variants/arduino_due/Arduino_ZZZ_U01.pdf | Bin 0 -> 45548 bytes hardware/sam/variants/arduino_due/pins.xls | Bin 0 -> 60416 bytes hardware/sam/variants/arduino_due/variant.cpp | 213 ++++++++++++++++++ hardware/sam/variants/arduino_due/variant.h | 77 +++++++ 5 files changed, 292 insertions(+) create mode 100644 hardware/sam/variants/arduino_due/Arduino_ZZZ_U01.pdf create mode 100644 hardware/sam/variants/arduino_due/pins.xls diff --git a/hardware/sam/sam.bat b/hardware/sam/sam.bat index 12d501ea2..550f9a642 100644 --- a/hardware/sam/sam.bat +++ b/hardware/sam/sam.bat @@ -1,4 +1,6 @@ start "libsam" /d"system\libsam\build_gcc" /max "cd" start "libarduino" /d"cores\sam\build_gcc" /max "cd" +start "libvariant sam3s-ek" /d"variants\sam3s_ek\build_gcc" /max "cd" start "libvariant sam3u-ek" /d"variants\sam3u_ek\build_gcc" /max "cd" +start "libvariant Arduino Due" /d"variants\arduino_due\build_gcc" /max "cd" start "test" /d"cores\sam\validation\build_gcc" /max "cd" \ No newline at end of file diff --git a/hardware/sam/variants/arduino_due/Arduino_ZZZ_U01.pdf b/hardware/sam/variants/arduino_due/Arduino_ZZZ_U01.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0fe138c7a1c8346d709901036c4e1d447640ff7e GIT binary patch literal 45548 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 UT#kq^3?d{(%*CaotxWuX0AtZy_y7O^ literal 0 HcmV?d00001 diff --git a/hardware/sam/variants/arduino_due/pins.xls b/hardware/sam/variants/arduino_due/pins.xls new file mode 100644 index 0000000000000000000000000000000000000000..d105ee47524a1f40d65c1016ffb22b8f8f628a35 GIT binary patch literal 60416 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 T6m$e0o /** RedHat Newlib minimal stub */ +#endif + +/*---------------------------------------------------------------------------- + * Definitions + *----------------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------------*/ + +#ifndef arduino_due +#define arduino_due +#endif + +/** Name of the board */ +#define VARIANT_NAME "ARDUINO_DUE" + +/* +#define VARIANT_REV_A +#define VARIANT_REV_B +*/ + +/** Frequency of the board main oscillator */ +#define VARIANT_MAINOSC 12000000 + +/** Master clock frequency */ +#define VARIANT_MCK 96000000 + +/*---------------------------------------------------------------------------- + * Pins + *----------------------------------------------------------------------------*/ + +#define PIN_LED_BLUE (0u) +#define PIN_LED_GREEN (1u) +#define PIN_LED_RED (2u) +#define PIN_LED PIN_LED_BLUE + +static const uint8_t SS = 23 ; +static const uint8_t MOSI = 21 ; +static const uint8_t MISO = 20 ; +static const uint8_t SCK = 22 ; + +#define PINS_UART (6u) + +/*---------------------------------------------------------------------------- + * Arduino objects - C++ only + *----------------------------------------------------------------------------*/ + +#ifdef __cplusplus + +extern UARTClass Serial ; + +extern USARTClass Serial2 ; +extern USARTClass Serial3 ; + +#endif + +#endif /* _VARIANT_ARDUINO_DUE_ */ +