From 03c064e946d6c9c848fbb0bfc8daa9b142b73868 Mon Sep 17 00:00:00 2001 From: aethaniel Date: Mon, 11 Jul 2011 01:51:24 +0200 Subject: [PATCH] [sam] state-of-the-art commit --- hardware/sam/cores/sam/Arduino.h | 114 ++++++---- hardware/sam/cores/sam/HardwareSerial.cpp | 5 +- hardware/sam/cores/sam/HardwareSerial.h | 8 +- hardware/sam/cores/sam/Print.cpp | 7 +- hardware/sam/cores/sam/UART.cpp | 15 +- hardware/sam/cores/sam/UART.h | 6 +- hardware/sam/cores/sam/USART.cpp | 80 ++++++- hardware/sam/cores/sam/USART.h | 6 +- hardware/sam/cores/sam/WInterrupts.c | 6 +- .../sam/board_cstartup_gnu_sam3.c} | 6 +- .../cores/sam/build_gcc/arduino_sam3s_ek.mk | 33 +-- .../build_gcc/debug_sam3s_ek/HardwareSerial.o | Bin 7084 -> 3904 bytes .../sam/build_gcc/debug_sam3s_ek/Print.o | Bin 39044 -> 39600 bytes .../cores/sam/build_gcc/debug_sam3s_ek/UART.o | Bin 25736 -> 26624 bytes .../sam/build_gcc/debug_sam3s_ek/USART.o | Bin 25512 -> 27056 bytes .../build_gcc/debug_sam3s_ek/WInterrupts.o | Bin 6024 -> 10816 bytes .../cores/sam/build_gcc/debug_sam3s_ek/main.o | Bin 8652 -> 0 bytes .../sam/build_gcc/debug_sam3s_ek/wiring.o | Bin 15344 -> 17824 bytes .../build_gcc/debug_sam3s_ek/wiring_shift.o | Bin 9472 -> 10008 bytes hardware/sam/cores/sam/build_gcc/gcc.mk | 2 +- .../release_sam3s_ek/HardwareSerial.o | Bin 708 -> 0 bytes .../sam/build_gcc/release_sam3s_ek/Print.o | Bin 13216 -> 0 bytes .../sam/build_gcc/release_sam3s_ek/UART.o | Bin 7252 -> 0 bytes .../sam/build_gcc/release_sam3s_ek/USART.o | Bin 6948 -> 0 bytes .../build_gcc/release_sam3s_ek/WInterrupts.o | Bin 1176 -> 0 bytes .../sam/build_gcc/release_sam3s_ek/main.o | Bin 1296 -> 0 bytes .../sam/build_gcc/release_sam3s_ek/wiring.o | Bin 1956 -> 0 bytes .../build_gcc/release_sam3s_ek/wiring_shift.o | Bin 1288 -> 0 bytes .../cores/sam/lib/arduino_sam3s_ek_gcc_dbg.a | Bin 139626 -> 0 bytes .../sam/lib/arduino_sam3s_ek_gcc_dbg.a.txt | 199 ------------------ .../cores/sam/lib/arduino_sam3s_ek_gcc_rel.a | Bin 36314 -> 0 bytes .../sam/lib/arduino_sam3s_ek_gcc_rel.a.txt | 135 ------------ .../sam/cores/sam/libchip_sam3s4_gcc_dbg.a | Bin 242800 -> 252846 bytes .../sam/cores/sam/libchip_sam3s4_gcc_rel.a | Bin 72088 -> 74062 bytes .../sam3s-ek/include => cores/sam}/syscalls.h | 0 .../syscalls.c => cores/sam/syscalls_sam3.c} | 2 +- hardware/sam/cores/sam/wiring.c | 63 +++++- hardware/sam/cores/sam/wiring_private.h | 1 + .../libsam/build_gcc/debug_sam3s4/acc.o | Bin 7316 -> 7316 bytes .../libsam/build_gcc/debug_sam3s4/adc.o | Bin 16140 -> 16140 bytes .../libsam/build_gcc/debug_sam3s4/dacc.o | Bin 7968 -> 7968 bytes .../libsam/build_gcc/debug_sam3s4/efc.o | Bin 10416 -> 10416 bytes .../libsam/build_gcc/debug_sam3s4/flashd.o | Bin 15732 -> 15732 bytes .../build_gcc/debug_sam3s4/pio_capture.o | Bin 10708 -> 10708 bytes .../libsam/build_gcc/debug_sam3s4/pmc.o | Bin 8020 -> 8020 bytes .../libsam/build_gcc/debug_sam3s4/pwmc.o | Bin 24812 -> 24812 bytes .../libsam/build_gcc/debug_sam3s4/rtc.o | Bin 13604 -> 13604 bytes .../libsam/build_gcc/debug_sam3s4/rtt.o | Bin 6340 -> 6340 bytes .../system/libsam/build_gcc/debug_sam3s4/tc.o | Bin 7376 -> 7376 bytes .../libsam/build_gcc/debug_sam3s4/twi.o | Bin 15920 -> 15920 bytes .../libsam/build_gcc/debug_sam3s4/twid.o | Bin 10180 -> 10180 bytes .../libsam/build_gcc/debug_sam3s4/usart.o | Bin 13300 -> 13300 bytes .../libsam/build_gcc/release_sam3s4/acc.o | Bin 1680 -> 1680 bytes .../libsam/build_gcc/release_sam3s4/adc.o | Bin 3596 -> 3596 bytes .../libsam/build_gcc/release_sam3s4/dacc.o | Bin 1676 -> 1676 bytes .../libsam/build_gcc/release_sam3s4/efc.o | Bin 3368 -> 3368 bytes .../libsam/build_gcc/release_sam3s4/flashd.o | Bin 5608 -> 5608 bytes .../build_gcc/release_sam3s4/pio_capture.o | Bin 2668 -> 2668 bytes .../libsam/build_gcc/release_sam3s4/pmc.o | Bin 2412 -> 2412 bytes .../libsam/build_gcc/release_sam3s4/pwmc.o | Bin 7272 -> 7272 bytes .../libsam/build_gcc/release_sam3s4/rtc.o | Bin 3688 -> 3688 bytes .../libsam/build_gcc/release_sam3s4/rtt.o | Bin 1908 -> 1908 bytes .../libsam/build_gcc/release_sam3s4/tc.o | Bin 2080 -> 2080 bytes .../libsam/build_gcc/release_sam3s4/twi.o | Bin 5532 -> 5532 bytes .../libsam/build_gcc/release_sam3s4/twid.o | Bin 3512 -> 3512 bytes .../libsam/build_gcc/release_sam3s4/usart.o | Bin 3388 -> 3388 bytes hardware/sam/system/libsam/chip.h | 2 + .../libsam}/include/timetick.h | 0 .../libsam/lib/libchip_sam3s4_gcc_dbg.a | Bin 242800 -> 252846 bytes .../libsam/lib/libchip_sam3s4_gcc_dbg.a.txt | 120 ++++++----- .../libsam/lib/libchip_sam3s4_gcc_rel.a | Bin 72088 -> 74062 bytes .../libsam/lib/libchip_sam3s4_gcc_rel.a.txt | 112 +++++----- .../libsam}/source/timetick.c | 2 +- .../sam/variants/sam3s-ek/build_gcc/Makefile | 23 -- .../sam/variants/sam3s-ek/build_gcc/debug.mk | 7 - .../debug_sam3s_ek/board_cstartup_gnu.o | Bin 16740 -> 0 bytes .../build_gcc/debug_sam3s_ek/board_lowlevel.o | Bin 5340 -> 0 bytes .../build_gcc/debug_sam3s_ek/syscalls.o | Bin 9900 -> 0 bytes .../build_gcc/debug_sam3s_ek/timetick.o | Bin 9932 -> 0 bytes .../sam/variants/sam3s-ek/build_gcc/gcc.mk | 39 ---- .../variants/sam3s-ek/build_gcc/release.mk | 7 - .../release_sam3s_ek/board_cstartup_gnu.o | Bin 12724 -> 0 bytes .../release_sam3s_ek/board_lowlevel.o | Bin 1049 -> 0 bytes .../build_gcc/release_sam3s_ek/syscalls.o | Bin 2324 -> 0 bytes .../build_gcc/release_sam3s_ek/timetick.o | Bin 1832 -> 0 bytes .../variants/sam3s-ek/build_gcc/sam3s_ek.mk | 122 ----------- .../variants/sam3s-ek/include/bitbanding.h | 108 ---------- .../sam3s-ek/include/board_lowlevel.h | 46 ---- .../sam3s-ek/linker_scripts/README.txt | 3 + .../sam3s-ek/linker_scripts/flash_arduino.ld | 4 +- .../flash_arduino_bootloader.ld | 140 ++++++++++++ hardware/sam/variants/sam3s-ek/pins_arduino.h | 33 --- .../variants/sam3s-ek/source/board_lowlevel.c | 111 ---------- hardware/sam/variants/sam3s-ek/variant.h | 35 +-- 94 files changed, 551 insertions(+), 1051 deletions(-) rename hardware/sam/{variants/sam3s-ek/source/board_cstartup_gnu.c => cores/sam/board_cstartup_gnu_sam3.c} (98%) delete mode 100644 hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/main.o delete mode 100644 hardware/sam/cores/sam/build_gcc/release_sam3s_ek/HardwareSerial.o delete mode 100644 hardware/sam/cores/sam/build_gcc/release_sam3s_ek/Print.o delete mode 100644 hardware/sam/cores/sam/build_gcc/release_sam3s_ek/UART.o delete mode 100644 hardware/sam/cores/sam/build_gcc/release_sam3s_ek/USART.o delete mode 100644 hardware/sam/cores/sam/build_gcc/release_sam3s_ek/WInterrupts.o delete mode 100644 hardware/sam/cores/sam/build_gcc/release_sam3s_ek/main.o delete mode 100644 hardware/sam/cores/sam/build_gcc/release_sam3s_ek/wiring.o delete mode 100644 hardware/sam/cores/sam/build_gcc/release_sam3s_ek/wiring_shift.o delete mode 100644 hardware/sam/cores/sam/lib/arduino_sam3s_ek_gcc_dbg.a delete mode 100644 hardware/sam/cores/sam/lib/arduino_sam3s_ek_gcc_dbg.a.txt delete mode 100644 hardware/sam/cores/sam/lib/arduino_sam3s_ek_gcc_rel.a delete mode 100644 hardware/sam/cores/sam/lib/arduino_sam3s_ek_gcc_rel.a.txt rename hardware/sam/{variants/sam3s-ek/include => cores/sam}/syscalls.h (100%) rename hardware/sam/{variants/sam3s-ek/source/syscalls.c => cores/sam/syscalls_sam3.c} (99%) rename hardware/sam/{variants/sam3s-ek => system/libsam}/include/timetick.h (100%) rename hardware/sam/{variants/sam3s-ek => system/libsam}/source/timetick.c (99%) delete mode 100644 hardware/sam/variants/sam3s-ek/build_gcc/Makefile delete mode 100644 hardware/sam/variants/sam3s-ek/build_gcc/debug.mk delete mode 100644 hardware/sam/variants/sam3s-ek/build_gcc/debug_sam3s_ek/board_cstartup_gnu.o delete mode 100644 hardware/sam/variants/sam3s-ek/build_gcc/debug_sam3s_ek/board_lowlevel.o delete mode 100644 hardware/sam/variants/sam3s-ek/build_gcc/debug_sam3s_ek/syscalls.o delete mode 100644 hardware/sam/variants/sam3s-ek/build_gcc/debug_sam3s_ek/timetick.o delete mode 100644 hardware/sam/variants/sam3s-ek/build_gcc/gcc.mk delete mode 100644 hardware/sam/variants/sam3s-ek/build_gcc/release.mk delete mode 100644 hardware/sam/variants/sam3s-ek/build_gcc/release_sam3s_ek/board_cstartup_gnu.o delete mode 100644 hardware/sam/variants/sam3s-ek/build_gcc/release_sam3s_ek/board_lowlevel.o delete mode 100644 hardware/sam/variants/sam3s-ek/build_gcc/release_sam3s_ek/syscalls.o delete mode 100644 hardware/sam/variants/sam3s-ek/build_gcc/release_sam3s_ek/timetick.o delete mode 100644 hardware/sam/variants/sam3s-ek/build_gcc/sam3s_ek.mk delete mode 100644 hardware/sam/variants/sam3s-ek/include/bitbanding.h delete mode 100644 hardware/sam/variants/sam3s-ek/include/board_lowlevel.h create mode 100644 hardware/sam/variants/sam3s-ek/linker_scripts/flash_arduino_bootloader.ld delete mode 100644 hardware/sam/variants/sam3s-ek/source/board_lowlevel.c diff --git a/hardware/sam/cores/sam/Arduino.h b/hardware/sam/cores/sam/Arduino.h index 2b48989c6..c539789e6 100644 --- a/hardware/sam/cores/sam/Arduino.h +++ b/hardware/sam/cores/sam/Arduino.h @@ -1,18 +1,18 @@ #ifndef Arduino_h #define Arduino_h +#include +//#include + #include #include #include -//! Include SAM3S-EK BSP headers -#include "variant.h" - #include "binary.h" #ifdef __cplusplus extern "C"{ -#endif +#endif // __cplusplus #define HIGH 0x1 #define LOW 0x0 @@ -45,7 +45,7 @@ extern "C"{ // undefine stdlib's abs if encountered #ifdef abs #undef abs -#endif +#endif // abs #define min(a,b) ((a)<(b)?(a):(b)) #define max(a,b) ((a)>(b)?(a):(b)) @@ -76,32 +76,33 @@ typedef unsigned int word; #define bit(b) (1UL << (b)) -typedef uint8_t boolean; -typedef uint8_t byte; +// TODO: to be checked +typedef uint8_t boolean ; +typedef uint8_t byte ; -void init(void); +void init( void ) ; -void pinMode(uint8_t, uint8_t); -void digitalWrite(uint8_t, uint8_t); -int digitalRead(uint8_t); -int analogRead(uint8_t); -void analogReference(uint8_t mode); -void analogWrite(uint8_t, int); +void pinMode( uint8_t, uint8_t ) ; +void digitalWrite( uint8_t, uint8_t ) ; +int digitalRead( uint8_t ) ; +int analogRead( uint8_t ) ; +void analogReference( uint8_t mode ) ; +void analogWrite( uint8_t, int ) ; -unsigned long millis(void); -unsigned long micros(void); +unsigned long millis( void ) ; +unsigned long micros( void ) ; //void delay(unsigned long); #define delay( dwMs ) Wait( dwMs ) -void delayMicroseconds(unsigned int us); +void delayMicroseconds( unsigned int us ) ; -void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val); -uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder); +void shiftOut( uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val ) ; +uint8_t shiftIn( uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder ) ; -void attachInterrupt(uint8_t, void (*)(void), int mode); -void detachInterrupt(uint8_t); +void attachInterrupt( uint8_t, void (*)(void), int mode ) ; +void detachInterrupt( uint8_t ) ; -void setup(void); -void loop(void); +void setup( void ) ; +void loop( void ) ; // Get the bit location within the hardware port of the given virtual pin. // This comes from the pins_*.c file for the active board configuration. @@ -125,31 +126,68 @@ void loop(void); #ifdef __cplusplus } // extern "C" -#endif +#endif // __cplusplus #ifdef __cplusplus -#include "WCharacter.h" -#include "WString.h" -#include "HardwareSerial.h" +# include "WCharacter.h" +# include "WString.h" +# include "HardwareSerial.h" -uint16_t makeWord(uint16_t w); -uint16_t makeWord(byte h, byte l); +uint16_t makeWord( uint16_t w ) ; +uint16_t makeWord( byte h, byte l ) ; #define word(...) makeWord(__VA_ARGS__) -unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L); +unsigned long pulseIn( uint8_t pin, uint8_t state, unsigned long timeout = 1000000L ) ; -void tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0); -void noTone(uint8_t _pin); +void tone( uint8_t _pin, unsigned int frequency, unsigned long duration = 0 ) ; +void noTone( uint8_t _pin ) ; // WMath prototypes -long random(long); -long random(long, long); -void randomSeed(unsigned int); -long map(long, long, long, long, long); +long random( long ) ; +long random( long, long ) ; +void randomSeed( unsigned int ) ; +long map( long, long, long, long, long ) ; -#endif +#endif // __cplusplus + +//! Include variant header +#include "variant.h" + +//! Definitions and types for pins +typedef enum _EAnalogChannel +{ + ADC0, + ADC1, + ADC2, + ADC3, + ADC4, + ADC5, + ADC6, + ADC7, + ADC8, + ADC9, + ADC10, + ADC11, + ADC12, + ADC13, + ADC14, + ADC15, + DAC0, + DAC1 +} EAnalogChannel ; + +/* Types used for the tables below */ +typedef struct _PinDescription +{ + Pio* pPort ; + uint32_t dwPin ; + uint32_t dwPeripheralId ; + EPioType dwPinType ; + uint32_t dwPinAttribute ; + EAnalogChannel dwAnalogChannel ; +} PinDescription ; #include "pins_arduino.h" -#endif \ No newline at end of file +#endif // Arduino_h \ No newline at end of file diff --git a/hardware/sam/cores/sam/HardwareSerial.cpp b/hardware/sam/cores/sam/HardwareSerial.cpp index 27d052e0f..5df92e549 100644 --- a/hardware/sam/cores/sam/HardwareSerial.cpp +++ b/hardware/sam/cores/sam/HardwareSerial.cpp @@ -1,8 +1,9 @@ -#include "wiring_private.h" +//#include "wiring_private.h" +#include #include "HardwareSerial.h" -inline void store_char( uint8_t c, ring_buffer *pBuffer ) +extern void store_char( uint8_t c, ring_buffer* pBuffer ) { int i = (unsigned int)(pBuffer->head + 1) % SERIAL_BUFFER_SIZE; diff --git a/hardware/sam/cores/sam/HardwareSerial.h b/hardware/sam/cores/sam/HardwareSerial.h index 79e0ceb39..677bce248 100644 --- a/hardware/sam/cores/sam/HardwareSerial.h +++ b/hardware/sam/cores/sam/HardwareSerial.h @@ -1,8 +1,7 @@ #ifndef HardwareSerial_h #define HardwareSerial_h -#include - +#include #include "Stream.h" // Define constants and variables for buffering incoming serial data. We're @@ -34,6 +33,9 @@ class HardwareSerial : public Stream virtual void write( const uint8_t c ) =0 ; using Print::write ; // pull in write(str) and write(buf, size) from Print -}; +} ; + +// Complementary API +extern void store_char( uint8_t c, ring_buffer* pBuffer ) ; #endif // HardwareSerial_h diff --git a/hardware/sam/cores/sam/Print.cpp b/hardware/sam/cores/sam/Print.cpp index 9fab9fc15..ff9604cbb 100644 --- a/hardware/sam/cores/sam/Print.cpp +++ b/hardware/sam/cores/sam/Print.cpp @@ -43,10 +43,11 @@ void Print::write(const uint8_t *buffer, size_t size) write(*buffer++); } -void Print::print(const String &s) +void Print::print( const String &s ) { - for (int i = 0; i < s.length(); i++) { - write(s[i]); + for ( int i = 0 ; i < (int)s.length() ; i++ ) + { + write( s[i] ) ; } } diff --git a/hardware/sam/cores/sam/UART.cpp b/hardware/sam/cores/sam/UART.cpp index 2d167033f..b3e215e12 100644 --- a/hardware/sam/cores/sam/UART.cpp +++ b/hardware/sam/cores/sam/UART.cpp @@ -3,13 +3,12 @@ #include #include "UART.h" - // Constructors //////////////////////////////////////////////////////////////// -UARTClass::UARTClass( ring_buffer* rx_buffer, ring_buffer* tx_buffer, Uart* pUart, IRQn_Type dwIrq, uint32_t dwId ) +UARTClass::UARTClass( Uart* pUart, IRQn_Type dwIrq, uint32_t dwId, ring_buffer* pRx_buffer, ring_buffer *pTx_buffer ) { - _rx_buffer = rx_buffer ; - _tx_buffer = tx_buffer ; + _rx_buffer = pRx_buffer ; + _tx_buffer = pTx_buffer ; _pUart=pUart ; _dwIrq=dwIrq ; @@ -31,7 +30,7 @@ void UARTClass::begin( const uint32_t dwBaudRate ) /* Configure baudrate */ /* Asynchronous, no oversampling */ - _pUart->UART_BRGR = (BOARD_MCK / dwBaudRate) / 16 ; + _pUart->UART_BRGR = (VARIANT_MCK / dwBaudRate) / 16 ; /* Disable PDC channel */ _pUart->UART_PTCR = UART_PTCR_RXTDIS | UART_PTCR_TXTDIS ; @@ -116,10 +115,9 @@ void UARTClass::write( const uint8_t c ) void UARTClass::IrqHandler( void ) { -/* // RX char IT unsigned char c = _pUart->UART_RHR ; - store_char(c, &rx_buffer3); + store_char( c, _rx_buffer ) ; // TX FIFO empty IT if ( _tx_buffer->head == _tx_buffer->tail ) @@ -129,11 +127,10 @@ void UARTClass::IrqHandler( void ) else { // There is more data in the output buffer. Send the next byte - unsigned char c = _tx_buffer->buffer[_tx_buffer->tail] ; + c = _tx_buffer->buffer[_tx_buffer->tail] ; _tx_buffer->tail = (_tx_buffer->tail + 1) % SERIAL_BUFFER_SIZE ; _pUart->UART_THR = c ; } -*/ } diff --git a/hardware/sam/cores/sam/UART.h b/hardware/sam/cores/sam/UART.h index ca736150b..075a83f49 100644 --- a/hardware/sam/cores/sam/UART.h +++ b/hardware/sam/cores/sam/UART.h @@ -1,7 +1,9 @@ #ifndef _UART_ #define _UART_ -#include +// UART.cpp need this class to be predefined +class UARTClass ; + #include "wiring_private.h" class UARTClass : public HardwareSerial @@ -12,7 +14,7 @@ class UARTClass : public HardwareSerial uint32_t _dwId ; public: - UARTClass( ring_buffer *rx_buffer, ring_buffer *tx_buffer, Uart* pUart, IRQn_Type dwIrq, uint32_t dwId ) ; + UARTClass( Uart* pUart, IRQn_Type dwIrq, uint32_t dwId, ring_buffer* pRx_buffer, ring_buffer *pTx_buffer ) ; void begin( const uint32_t dwBaudRate ) ; void end( void ) ; diff --git a/hardware/sam/cores/sam/USART.cpp b/hardware/sam/cores/sam/USART.cpp index d6ef66366..6a08c055d 100644 --- a/hardware/sam/cores/sam/USART.cpp +++ b/hardware/sam/cores/sam/USART.cpp @@ -5,10 +5,10 @@ // Constructors //////////////////////////////////////////////////////////////// -USARTClass::USARTClass( ring_buffer *rx_buffer, ring_buffer *tx_buffer, Usart* pUsart, IRQn_Type dwIrq, uint32_t dwId ) +USARTClass::USARTClass( Usart* pUsart, IRQn_Type dwIrq, uint32_t dwId, ring_buffer* pRx_buffer, ring_buffer *pTx_buffer ) { - _rx_buffer = rx_buffer ; - _tx_buffer = tx_buffer ; + _rx_buffer = pRx_buffer ; + _tx_buffer = pTx_buffer ; _pUsart=pUsart ; _dwIrq=dwIrq ; @@ -19,7 +19,7 @@ USARTClass::USARTClass( ring_buffer *rx_buffer, ring_buffer *tx_buffer, Usart* p void USARTClass::begin( const uint32_t dwBaudRate ) { - /* Configure PMC */ + /* Configure PMC */ PMC_EnablePeripheral( _dwId ) ; /* Reset and disable receiver & transmitter */ @@ -31,7 +31,7 @@ void USARTClass::begin( const uint32_t dwBaudRate ) /* Configure baudrate */ /* Asynchronous, no oversampling */ - _pUsart->US_BRGR = (BOARD_MCK / dwBaudRate) / 16 ; + _pUsart->US_BRGR = (VARIANT_MCK / dwBaudRate) / 16 ; /* Disable PDC channel */ _pUsart->US_PTCR = US_PTCR_RXTDIS | US_PTCR_TXTDIS ; @@ -42,32 +42,96 @@ void USARTClass::begin( const uint32_t dwBaudRate ) void USARTClass::end() { + // wait for transmission of outgoing data + while ( _tx_buffer->head != _tx_buffer->tail ) + { + } + + // clear any received data + _rx_buffer->head = _rx_buffer->tail ; + + PMC_DisablePeripheral( _dwId ) ; } int USARTClass::available( void ) { - return 0 ; + return (unsigned int)(SERIAL_BUFFER_SIZE + _rx_buffer->head - _rx_buffer->tail) % SERIAL_BUFFER_SIZE ; } int USARTClass::peek( void ) { - return 0 ; + if ( _rx_buffer->head == _rx_buffer->tail ) + { + return -1 ; + } + else + { + return _rx_buffer->buffer[_rx_buffer->tail] ; + } } int USARTClass::read( void ) { - return 0 ; + // if the head isn't ahead of the tail, we don't have any characters + if ( _rx_buffer->head == _rx_buffer->tail ) + { + return -1 ; + } + else + { + unsigned char c = _rx_buffer->buffer[_rx_buffer->tail] ; + + _rx_buffer->tail = (unsigned int)(_rx_buffer->tail + 1) % SERIAL_BUFFER_SIZE ; + + return c ; + } } void USARTClass::flush( void ) { + while ( _tx_buffer->head != _tx_buffer->tail ) + { + } } void USARTClass::write( uint8_t c ) { + int i = (_tx_buffer->head + 1) % SERIAL_BUFFER_SIZE ; + + // If the output buffer is full, there's nothing for it other than to + // wait for the interrupt handler to empty it a bit + while ( i == _tx_buffer->tail ) + { + } + + _tx_buffer->buffer[_tx_buffer->head] = c ; + _tx_buffer->head = i ; + + /* Wait for the transmitter to be ready */ + while ( (_pUsart->US_CSR & US_CSR_TXEMPTY) == 0 ) ; + + /* Send character */ + _pUsart->US_THR=c ; } void USARTClass::IrqHandler( void ) { + // RX char IT + unsigned char c = _pUsart->US_RHR ; + store_char( c, _rx_buffer ) ; + + // TX FIFO empty IT + if ( _tx_buffer->head == _tx_buffer->tail ) + { + // Buffer empty, so disable interrupts + } + else + { + // There is more data in the output buffer. Send the next byte + c = _tx_buffer->buffer[_tx_buffer->tail] ; + _tx_buffer->tail = (_tx_buffer->tail + 1) % SERIAL_BUFFER_SIZE ; + + _pUsart->US_THR = c ; + } } diff --git a/hardware/sam/cores/sam/USART.h b/hardware/sam/cores/sam/USART.h index e41265797..cc9983db4 100644 --- a/hardware/sam/cores/sam/USART.h +++ b/hardware/sam/cores/sam/USART.h @@ -1,7 +1,9 @@ #ifndef _USART_ #define _USART_ -#include +// USART.cpp need this class to be predefined +class USARTClass ; + #include "wiring_private.h" class USARTClass : public HardwareSerial @@ -12,7 +14,7 @@ class USARTClass : public HardwareSerial uint32_t _dwId ; public: - USARTClass( ring_buffer *rx_buffer, ring_buffer *tx_buffer, Usart* pUsart, IRQn_Type dwIrq, uint32_t dwId ) ; + USARTClass( Usart* pUsart, IRQn_Type dwIrq, uint32_t dwId, ring_buffer* pRx_buffer, ring_buffer *pTx_buffer ) ; void begin( const uint32_t dwBaudRate ) ; void end( void ) ; diff --git a/hardware/sam/cores/sam/WInterrupts.c b/hardware/sam/cores/sam/WInterrupts.c index bb2015e6c..3b81e8638 100644 --- a/hardware/sam/cores/sam/WInterrupts.c +++ b/hardware/sam/cores/sam/WInterrupts.c @@ -1,7 +1,5 @@ -#include "board.h" - -#include -#include +//#include +//#include #include "wiring_private.h" diff --git a/hardware/sam/variants/sam3s-ek/source/board_cstartup_gnu.c b/hardware/sam/cores/sam/board_cstartup_gnu_sam3.c similarity index 98% rename from hardware/sam/variants/sam3s-ek/source/board_cstartup_gnu.c rename to hardware/sam/cores/sam/board_cstartup_gnu_sam3.c index c17b8e4bf..67c4a990d 100644 --- a/hardware/sam/variants/sam3s-ek/source/board_cstartup_gnu.c +++ b/hardware/sam/cores/sam/board_cstartup_gnu_sam3.c @@ -31,7 +31,7 @@ * Headers *----------------------------------------------------------------------------*/ -#include "board.h" +#include "Arduino.h" /*---------------------------------------------------------------------------- * Exported variables @@ -130,8 +130,8 @@ void Reset_Handler( void ) { uint32_t *pSrc, *pDest ; - /* Low level Initialize */ - LowLevelInit() ; + /* Arduino board Low level Initialization */ + init() ; /* Initialize the relocate segment */ pSrc = &_etext ; diff --git a/hardware/sam/cores/sam/build_gcc/arduino_sam3s_ek.mk b/hardware/sam/cores/sam/build_gcc/arduino_sam3s_ek.mk index 812b24f67..3ced8fbee 100644 --- a/hardware/sam/cores/sam/build_gcc/arduino_sam3s_ek.mk +++ b/hardware/sam/cores/sam/build_gcc/arduino_sam3s_ek.mk @@ -1,8 +1,8 @@ -# Makefile for compiling libboard +# Makefile for compiling libArduino .SUFFIXES: .o .a .c .s CHIP=sam3s4 -BOARD=sam3s_ek +VARIANT=sam3s_ek LIBNAME=arduino_sam3s_ek TOOLCHAIN=gcc @@ -15,22 +15,27 @@ OUTPUT_BIN = ../lib # Libraries PROJECT_BASE_PATH = .. -BSP_PATH = ../../../../tools +SYSTEM_PATH = ../../../system +CMSIS_PATH = $(SYSTEM_PATH)/CMSIS/CM3/CoreSupport +VARIANT_PATH = ../../../variants/sam3s-ek #------------------------------------------------------------------------------- # Files #------------------------------------------------------------------------------- -vpath %.h $(PROJECT_BASE_PATH) $(BSP_PATH)/libchip_sam3s $(BSP_PATH)/libboard_sam3s-ek +vpath %.h $(PROJECT_BASE_PATH) $(SYSTEM_PATH) $(VARIANT_PATH) vpath %.c $(PROJECT_BASE_PATH) -vpath %.cpp $(PROJECT_BASE_PATH) $(PROJECT_BASE_PATH)/sam3s_ek +vpath %.cpp $(PROJECT_BASE_PATH) $(PROJECT_BASE_PATH) VPATH+=$(PROJECT_BASE_PATH) INCLUDES = -I$(PROJECT_BASE_PATH) -INCLUDES = -I$(PROJECT_BASE_PATH)/sam3s_ek -INCLUDES += -I$(BSP_PATH)/libchip_sam3s -INCLUDES += -I$(BSP_PATH)/libboard_sam3s-ek +INCLUDES = -I$(PROJECT_BASE_PATH) +INCLUDES += -I$(SYSTEM_PATH) +INCLUDES += -I$(SYSTEM_PATH)/libsam +INCLUDES += -I$(VARIANT_PATH) +INCLUDES += -I$(VARIANT_PATH) +INCLUDES += -I$(CMSIS_PATH) #------------------------------------------------------------------------------- ifdef DEBUG @@ -76,7 +81,8 @@ CPP_SRC=$(wildcard $(PROJECT_BASE_PATH)/*.cpp) CPP_OBJ_TEMP = $(patsubst %.cpp, %.o, $(notdir $(CPP_SRC))) # during development, remove some files -CPP_OBJ_FILTER=Tone.o WMath.o WString.o +CPP_OBJ_FILTER=Tone.o WMath.o +#WString.o CPP_OBJ=$(filter-out $(CPP_OBJ_FILTER), $(CPP_OBJ_TEMP)) @@ -103,6 +109,8 @@ sam3s_ek: create_output $(OUTPUT_LIB) create_output: @echo --- Preparing sam3s_ek files in $(OUTPUT_PATH) $(OUTPUT_BIN) @echo ------------------------- + @echo *$(INCLUDES) + @echo ------------------------- @echo *$(C_SRC) @echo ------------------------- @echo *$(C_OBJ) @@ -127,7 +135,8 @@ $(addprefix $(OUTPUT_PATH)/,$(C_OBJ)): $(OUTPUT_PATH)/%.o: %.c @$(CC) -c $(CFLAGS) $< -o $@ $(addprefix $(OUTPUT_PATH)/,$(CPP_OBJ)): $(OUTPUT_PATH)/%.o: %.cpp - @$(CC) -c $(CPPFLAGS) $< -o $@ +# @$(CC) -c $(CPPFLAGS) $< -o $@ + $(CC) -xc++ -c $(CPPFLAGS) $< -o $@ $(addprefix $(OUTPUT_PATH)/,$(A_OBJ)): $(OUTPUT_PATH)/%.o: %.s @$(AS) -c $(ASFLAGS) $< -o $@ @@ -142,5 +151,5 @@ clean: -@$(RM) $(OUTPUT_PATH) 1>NUL 2>&1 -@$(RM) $(OUTPUT_BIN)/$(OUTPUT_LIB) 1>NUL 2>&1 -#$(addprefix $(OUTPUT_PATH)/,$(C_OBJ)): $(OUTPUT_PATH)/%.o: $(PROJECT_BASE_PATH)/board.h $(wildcard $(PROJECT_BASE_PATH)/include/*.h) -#$(addprefix $(OUTPUT_PATH)/,$(CPP_OBJ)): $(OUTPUT_PATH)/%.o: $(PROJECT_BASE_PATH)/board.h $(wildcard $(PROJECT_BASE_PATH)/include/*.h) +#$(addprefix $(OUTPUT_PATH)/,$(C_OBJ)): $(OUTPUT_PATH)/%.o: $(PROJECT_BASE_PATH)/chip.h $(wildcard $(PROJECT_BASE_PATH)/include/*.h) +#$(addprefix $(OUTPUT_PATH)/,$(CPP_OBJ)): $(OUTPUT_PATH)/%.o: $(PROJECT_BASE_PATH)/chip.h $(wildcard $(PROJECT_BASE_PATH)/include/*.h) diff --git a/hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/HardwareSerial.o b/hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/HardwareSerial.o index 423f51d7b3435847d7f55ca0c3b187acdd174197..031795818dea92643ecc8ab79b9fb18f6a2f0492 100644 GIT binary patch literal 3904 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 a^usR6KT1SD9FY90MD)WU$sZx2AN~*IHCj#p diff --git a/hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/UART.o b/hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/UART.o index ab711e714ca86015fe3c818aeb5f701d7e12752f..7207f8440e930efcf58d3a37aa23ed565e0f916f 100644 GIT binary patch literal 26624 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 diff --git a/hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/USART.o b/hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/USART.o index 1dc2ef23a90a1c88d87bf084439e46d432e62f7c..9bbbea4f0578d84787f01a556e0abb007910fa25 100644 GIT binary patch literal 27056 zcmch93w#|_x$l~pon)tZkYsmg`rc_m-%Xn~g%VmwnxyTvNwdv^J~7>CHr=sl67uMS zqEskSUP2X)2*~AJI2VqBa$q=4$K$YZ zP=5lBi8v++Jq0)o$8@3B3N{P22*w3l1>1K&6+QO#1=5bRajwC+|y4Cqg6)>YzVOY^>DY9ocg(zMQg`zXy z8&!&DYR!^Rh7Xb1@L@^;q8BmpvS1_23bSfke9MYO=-Zi|w2;yX^wDX^RNchVDKNfl z++s9xqQ6ySO!7O#(v#E8ib;E>XjYhQ2()x+S{ag9#2!1!#^tdS03!lv*64E7|Wi!5(0BMr7gY8mcVFsoJFi~=waB@#eYZz z7B^ruR8ObEp%ALdc@d{IR$(FP3+JFV>kMYiauxmyT_~ESsoHQ9g{@+TYEW6MmV`EX zfy!ME+FZ)!mHZspahIbC<2oqh8Q%eI%*lq!hFN4*f@gH$luxNqa0usuIZ#oBmc0x_ zVa_-WVGU;(w4_xHrvxsm5RDXtK96(pA(S+4KtOZPxfgWqy`;a2Q|`H>&EHZ~!)(dV za58dZkHgEzjcDp%5}6DKcSXL9{JzM)V+y$}Qio7}GGamf^2iEks>nE6 zi2Nh?W~7V3ieOl(P-G(VS&tb30WRc4eguAgBo2N-B#C@s z4B4A#_P5!0XldBK1n%a(l+A)> zdA_Yk{!WyO>>I$&{k@Rm?Gq@J`?8cRwf9l^mF&B8*(vrdRQ`h~N9`t(e-yI9W!Mt1e~jcCLN?ehv!XXed5!&92Inmyo9sJj>TOYu+dE1AMaXvh-&ppqqP)Srk>oqs zU(!Bru@9pMa{ngETkRbT>~SHx?Pu8h6H+#1e}QG+&Hkz`+iO3`XuOwwSd#hgSJP!>*<^Gl%i9%C9%S5hAU8YbJE+zwzr(Pb}8w6p${AOKhggJDgTIJAECT3=Lfp{W3bQq&Jg`0 zXb^jmVIX~9rpEB%gNk>HgX~Uk(P9HDybB6s<)@Muk=MB4w z`e)|+t1kab!@ivK1d+dJ*bmX)Qi<qknT)yivZi&0%G%1w5Ro!%s5+?i0DOJC8-?e-IF{yHtS z$}wc$r_(Lkv{jBFtLL(K>1$B8$}wc?DF3MFW61uQ)?0(l< z)!ohkpznrkroJ1NtK8>lisBM1^p!F0jD@fj`CnkD$PH+Q5xEU#GjcD^R^%|wp~wVC zvmzHmKRYsnbB;2PqT|L*d;`Wxj-jZLcPD*{Yz9L`w&H9=k~o`@kK=4b`f(0LhH=h{ z?8P}d@=2U?B3I%ZjvT}}H_`_K<08X2=S42XIX|)==Yq(maW0HpkMkLk*D!pFB5&Ya ztW2)N^1fCBK~5M$qcrc~>3AjxPk^<&Z!pVc-Z`WmxfiNtc_{oQ+|GN{p~B&XXiMHV z835eP!w*yQTaK(KJfFrNW24OS@mP&<1u@|%FiXSZxIX(H9tlc$LM6t;Z$U4dAH`D| zESVE;BU!+em|0$APBdUST&7o@tHVkG;zRcKzyQ3`9N_dF#v)i4o>(6aBt zVXkyx$kIAxXrJRAbr8GIieF%M6rC)s)9BZUbG*dPg*DL$X`P<5PM+}s9o}>yLWFv< zwfq{toD1quVhwzOTxt1NJb3{Z#8{d?L}y0!qas5bR1@xnYx$U8(MravbOlbjckV=u z)&#~2W5AqvBNVJshYX`TSgzy@STc(7w3@H8%FkZlu?tF}CqcI+&xKtEox{LrO)L3= zZcTX-A%Rj@D-C)|5_D_oR$tJy&Oc=6pqt#8Z|o z$BZ#^KL%eY%&TSQHKr;iXjBz5G=|hH&T>p!aJ-1)OAyRvG_{BDd`<(nq4DIK zhXzzJ{hGxoj)}5T#QR@^rPM4=a7=S?#G&%`$ts-Rm}+qxgi2{~pl&sb(;L$U97mw? z(SS{*C&ByT$3JwPf4y#$5_LvUhScE`78c^w-50i;Q zkeY{f%%w7K>GOJ2Xd8z#dsWTi+{knQM+!#X2pXA-i&{ZbJGjSlaKQ{*83osd6n1_L zBliv}w6&@Hg3rU*EUOW8<=arnFLW5I$oLuhCI1YEv09g?U#s$q9L5?jvc7|PeFIGD z^~M}k$@N(N_#SYwtR^TFuR&J*0gjsLIn-ntCkhMTfZmw}ZEUOAvaP>6In+NgxGg!j zw{!8Ls;bIGOBPfw-qO|6x23XjVQ){@!tL9(EldpVT+r9wmt2rcboDH(u3TEVcwtZ9 zw%(EMr24N}K_%W_W-YFLPdv1DXgIl(J`E*ydewX4U5UY-MBnhxLP(bkElBQAo=8g8 zH@C&w7S=Z}Syi>Y080%GcXuZ*h755<-m!+r!&(Q`T+>b=O|{iEFKL4SH=KcyntoKf>#i9A{tJj2EU$eMYa_oSzgEU}3c_bTI6`dx_F6M1L*s2&T)X=x zBjH6&+F7OcAHMQI_0>IF_oYG~nS^ucs+`yJbH2T5|6>EI!weM?`bh16=nBy*U6r-= z*46t`S)P8F`rlTMQ}@4K<^bw>XX~R|&)XVVb>fl}@F*Ykok-=Qz7wf$_H4rWc+YLj zr(R%w@1)@qshZTL1a)&>FLJyY!#?3vYtBQ0Rj;30U-EXqp$i0={wMpm3#cERj z`@|b>OzI-P_6>8!_uh$?X`N$nXy?2xEoOsrS19B2#-|>9FwAMrOX+yso|@FVFLirr zbMI{{^B-5`M)}dNsd;Za13yxirdm_2y_32fpG^4Vw>_#|ufH~@Cihye*P67mx%b&g z*0BpLfA2Z{q5IBPhQ3h$ww2>OU(Balj(xBs>&1PkO)0UqCBqV0<=DAO#=vIXrqS&b zXV^J0M2k*4&DRanJa&P(sr$q}+8;0Dj6uuvbF7%9$7Z^W<5S+M69bGgV`7+-*P4H{ zEHy9d1?%+>mTW_0z_m`GcW+N^>OGP2xBe~k#BFFd%l>W8GwsYBPq9yqVx(AasUbBl z9jiB?eKd7^&kKpP{}y{(UbI;r!Uqhl!M79W)qEKAOML<-=(AnYa9Cu#Hf7uKPrF!7<>%q zQT3yaeuh8r;lDdoRc9_4SwF84H=XS)Ff(|RaZzTfPiVv?$UIhMSl~PPB4SkMcXKN7 z(kSJ^!E*DVZL0s4a@_UTPpYV|)N@kTe^UES@{`Y|{~13UK3utz;>kJZL)3Rtx!S+K zoQ?}0Za+j^PO9%i_Mg9;uJ7Q7tIyvLy4-<4xwCNXa-1pEkEhBwwjA^`Q%#KqbuAdq zsIIAz(ftHinb$#0O(w0DU>K)w#WgkQyx!qRlQlJ6$?ZLT>Z^eQ+-&83gkLkUE78-N z=;}@CZ3w?)Ac==UZanyzc+~6GTMd5Z#l0g#DZP*2=k6Zt8BXf013x!5c*&YXUw3bE zP>1J&j6lr+Z>Zqq+(x0#sfY~MSORD6xl*@##2n&N)E zM{sw)v$3u((c8bhK9%U}OZF;m$_H57b?A)u^fe@hwhi_S4EOZ+=}pW)*K*4;9VNw0 zJQ)|<;0q}Gq-ek1L24;d5*kpWqku`(>*9wQGmHd z-MLGh7N$7SklO-o+uot}o^3lE2|Q|F)!5X;?E2>PNNjFE4+bVFwl_HNct??e z7w1UI9K6*&aU<)ftCt4oJCV%r+#jrxs@(=Qt`f!i*82JmM<~;0TSr`E?e%W4Sc|Z9 z8&OefdwaSu@eVYmqap5a*xBtZt*XIuW?g?@b7E)*Z<(<^iMzfKyz#&*!grf%PVVd< z+}oV!LtpJox<#5}Z7u1$N&1#Eoa!0EG#1D1=|CzunCQji=Z!|+&4|9&w;+lfJQzFc z8>9^=+ta7-SHbwob-!|C$TwtYCno*f($S9VsdJI;b0MmN-Bh(G-8OWlZn`%Sw6Bjz zl)L*!xTt8mus+e->%@|~yWTD^oRfup#-*UUq#b>NX2prxKlDgi-#<>`^{to+V(rbH zt$S8FO8^#VV_^;1`fA5RxWC9Z66$qexY_Mo1>#P; zu{9Q7(^;pPLag)?^?stkA?jmJBZ3!&OtW;hWxdnxR$RQzEp0KUpuPxofF-29NJx(& zRx4XE{j$RY*PM4pa8`s)Oe8qGVGgu=Q%<@kGlGNL@8Bic6;7hsPcOJ^(x7Kx4Q8B} zciF(W?(Otdr*Gg=Hr|1@I_t)a1stxkMZDOmR9%DbDs5p+fn^k3!7UdCIVVWJArz}( z4Y5%};ZFE0xT>{j4LoRzdk&{eysI@9dVv%J$bB)dkoH~07T4EGN@%AMW{sD+AXA_x6IoUdb8ymg(9wS#1|lcDDU zJv)#hyRCjrbF3Zr%M?oL`!-^{h=JD8Ud-GQo~n6T%G23Aox{^Ip3apew0B3W6A!(M z*;^3l>g$Gw2Yb3koK+Vu0Qk;psxHu#&LW&XVhMy8Ky97GCSLE*u~n+AO-6*b{@1N< zT*I4%)2NJ*tL@PYRx)iDI-a)IFY#Q?SUI^1IkXb@NuG63s&rJUbXcl%T&kApVCt2c zb8WQxS7mWtRq$V9r>q^+>iYVc=I7dL;w?C` zS$O$2oZPdZd5Ov%m(!eUmW0L|wlTpfH74RShH2S)FYyB;ycN2vFuy?gHxal#uPY4I z6&BT9Z4~6FDWKiNwR&A)n6l3pSDTRHgB(`~Je{0td|keD^zz)BIF)@qdj#cv-}y}9 z_uVh6J%xRGCqORJsns>S}>Oj~v5Xu-06cnkNrke;YE^fco+{c_5Fie`?$AdhtV;^;Az|QPy1_#-giwYKz`&^Fx?S z>z>A@yWaUQHZycb8yA6P|7pfYQ2X@bWV8~4{mu-^(oP-|V*7=`slb^peF`!$fv*j) zP}}JW#YRy`mrh&Ea3z+(cjoxs{%!sVePE=kFR?R;TL4?(sDL+&?ZpgUVldISJ(J~f zoI<#@sLE~qJNXFdOkN3hb(LZ0;z3lWDz^{zj|||h_2JSN@e%?%yvvQDbu&-CDQd4D_ZLA~rFH@Wt{28Q3> z5!iFDw+WEB_MSxE-;SrpXvd!&J+B?qV>@Vz$*uQ~$ouPk+SiUrqQ`RQqEdf5o*$zf z1yJ(ad*0U$uCv{CEEIcge}pDN=u51NX|to}wS#)}hqjp9cB~K7`--m}(?yTvekk?w zT`W^R?8Tj|KD+j=4A?v7YeyM0-F7@K_Dr#{WsG+4%R;CQT;bEBKeWZ<)@wk|A3wD% zJ)SE>kL89Od*1xgje57xkR;dM>VUnl&mNyT-FEbdJ%CO}U@u?t1lQgzj-JwCUCZ|9rHj_kM@2g_5eDS zVi1qkjvOnqKPsTd^0dX|){C#pGWuhYuN{@5$8zU5_PqX>4|}6s=L&AI2?A3}bf@|*@(R2N~YYhJm zJ9?gf)T4jZV$-$vAoTqH#kZyXJ6q~yx!*~>u7CHz-UhKnaP1uxJ=Z_Q8?7(7@ykX5 z|Mf;a*0W4>U3(@ne*ZT3{HuX3^;qs4$DY@}Vb~kBe?`yruX+ssHadD<{HVuzmg8Vz zy-Xd*`2E}J^N;s%>apB)jy=!6<*;`Ud^frFJ|%jte@~3z-vf@G=O6W0Ppueq?fo+{ ze*aQF|5iemdMuZdCHD_0{}k*UkUYV)_tSvA0iV4F(WAZhpvS&;+Y!eNVYKU<|6u1I z2V0=W^0dVSGdj(Kp1&P?P_H{*@!t%n$8rg2hg)w7_G(=tq61JD1?=4fdnxdfIAStJ`=F_d=zsfM?yUpf?_RqxHw*fqD<3UN_Eck6Z7H0eex{bA4xhZoTgW^k$Dy z?^}U-@AB2#=Bt+~V3P1a#nV+c7<0@40f^|6C(J zdy|9qwma>mJuJCBdrJcL-m6fmeiVE92O3b$O-Fq8HiGH;w>n_2cBWE$+(JOtG=I^= z-`*d7;L(dK>GJlWUsj8*XYC4@?iDf{VdtztCP04%X?nSJAH26+VV*4{907&kw2B z`AMpmEaeLRN`hdS{XA9 z>$3wj@JTD3EIi$0+Ml5HD?AnV>BnJM`d73(A?!~I*w0-2Sa|Blv_Byc{!@S`e_eARw;{$hiVfCkw0N%=o#phNEL; zT~@>f8Wb6R^h> zX*yY0EoRzVo)#i!sTBeG{D3{KAk)cG&iC(WPOa8I;4x~w95a@x3(zYA_E!ev4FP`} zwEktDR)d#g#!{;S_ErVts{``Y0eLJSj|Jpw1M;;2d2>L{l~FobswE(ANehv)utLkc zKH>p+Ye3!_khcZoZF=vv5n7zb4Xh-&c4Aaqnll8W;L>xE=ltQ)9N|qk_>(*=?@w0X z=hiH}@163Ux1a9R{-^H(yd$QQrMk4QX^s)_z{D>g`jhVl2ezfQ z`h}nq0h+B&CoAL5%JM;bp|mn`_z%$logJWa0(3Y)=X(2?QAlRses`@;gK@b92fd8q zp!{y3=WBX``Wld_0!JBE=KN_2>bvqEXV6pB??5wAUWO-w`CmoOaan@-I)cRx zRcbX|t>y~7LDTpaMQHk0g86Qv&<8bLt1c1xfTkPNjiB8`f4%~mW%F^cef;d(O_Vin>rl$CY5bZUB=B&<@5$n590XpL=;k`|d<4e@WK7JCK{%%uscIwY~I!F3;_w;plqVGBf22c8&(*6Dq78-hn zf+jNS%Xmv3@Wp*~9c0V<=K$M#haBX)?|}pSz}wl*O;wAA@O>Kow;mr|rvhJBui)?d>Hc=(`MmkfNuh(K=Jljs~6L3O)&28Txyy;?6ly4o*9w@_;jKAYNA zwHW!Kp3ZIjht*ELXzk=zHjOOQ7I15n_rlcjnU2X|m;Won)X!_&-0r+DCGu&5SVp`U zKb}g&Er4?w`R537RYkf{ut|{n4CE&SQ-b}1y993#{H)*?1@9AlNbo7aX9b@Zd`a*P zK~Au&w?dHbUP#vn)(Y+w{G#9kf{zG(Pw*##KNaN971G|X1z#5Ak7ttqrr_TM@d2CW z^PLFgd4k1){IM_crwWz}&JkQF$X`RH-g$z&SCHmA4`Q=mn;`EUHc{~-8|Ab*{f<<1m5OR!q7Ua(a#Avhp-x!`96zbJUW z;I{;y6yz_svA#bEo)FB#wMYJBLGI0xK2LD1;AX)cg8Kxo6TDsU%Yxq$d{XeJ;GYCf z2w@1Ed`9p^LH_73 zQ;{1?LDZ5AGN4+=gk_=MoE1YZ?=S1^J_H|t#}xKwbH;IQDOg0~9ZDfpP+ zcLiS*{JkI_W@$fL@O;4yg8hQm2_6#ss^CL{&kFuR@UMdJ3D)61gjr7q5!cE_!HbAp z`1x#+-$+E6&k25Bkual4aOd=3bnT_!Djw zKy#1tKGBp-ySb=W^Y;m#AM+v2gX%uhP|P39Gvt>(h7cJi+hI_jYMwDWFbZn?7; zU>+1X{MN~p&lNt}!88}`(1>pObok2%$1>9-|)c zOGU2Z4qDd()bRz*7I}z>jidjpJrq~;Q`@;!>~JH>&;Nq(ZxcQ$)A~S6w|ZW}<)~5n z4ZijpsQm@b7CF0y^VD*|2EjFgalv-MErMGG2Z-b4|KEX^3B6zNpdh+L>mgJc(KLyCj_4od|L2DVpOS@1YZ?ACisrvyMiG;-$W5VLH;@S;+ z0cQ)nNRU4ZPx*2|{agl`KOM>Iwq0Y+j9TwydbW=WFaEf45 zkUvbxd8t}(xnQl}8o?&PcEJsTDIx}2ui&uY9>M*B2L!Jdyh#wta)qDf)8E$kv55Sz zT(=nC=yE;YW)m^q77@Wj=ybo<644)UMfXRX2;l}I+P{^!(s^G_f0<}MB#5lOj`9U{ z{kR_Rr|T^xqTVTjQ6f$ig0qPjPxA$}fAFW8G*J7AeqT-+SW5)6L69!d&n7|bKm2Vc z4b<&`(iYM{?N^V)CoJ&*t?NU)ba~LaJd_7m4)ib)?YK$kn~713N1+cB(T=BuevSzL p^>vBz$4JBfFvlC{d?MPRuRGAQWgOOuynzV+^>qdLR?_hQKL8?cBvJqX literal 25512 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 diff --git a/hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/WInterrupts.o b/hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/WInterrupts.o index 48ee53efa16bb54b994fdcfe35dc5cb69d982301..a0554debd9e399933b41c057f42abdaddfbe7252 100644 GIT binary patch literal 10816 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 literal 6024 zcma)AeT-aH6~FJzo4d2KvtRwD?Y7ghrE5!Px7{tNrM7HmzeYOkGBZm7SB5t;Z+FMe z$NJ_?+m#j8kE$V%h!G?jKSC4`O~8mo5F`@*An_x?r~zWMe;6UACPJbT8o}Rr@7$R; zTMgdq+}}CBbMCq4-uv!-_wC)|Cnhva6RK!pKr}TWE_Jw;;D`$YA}acX)~oI6TH6um z+S1jlrL-B@BZbiWMMuX`kU|7Dh(Oojj_W%TYlSeF4+#-8v_Mx!2U#>&?4qAST*?)btKP#2*}Nl z4f!JEpu7&Ul)KO>BxCSwmwy5umI3e`@{eF5@)i(4OT2%Fx%u?sJF`{w2jKo zqTV6z1+!DM8D9W~G)(6k5cH7o6SUF|<5f68`yj}`3RTzA{IqL_!E0fNLR?D~%0Hlm zJJC!FyK8a(x$rJfT9{hs_b-MWIBDT?sP+3xh=J#i9%$5Vj6=XaH1}fkatzV&8o1y+ z#$Jl7MW*4^*?~sJ)=@HGIx$(~+<7&0qt9b0YG)t0ZSx4&M0YwZjGdlN?K+<%hpRop zAmVRC^m|0mZ4tjw7`r@z*1G2rc>EN>dhdd^M|3Vi)mt1#jR+gi$SWj z%UzuqhP&;dYx%>o`D($cRqJ-%vX`<4hW77|4Gr%bIWU_mR%TXi5lf!9qY|GakBjt$y@2y$utmm|pGHqYHY77){?9 z-M&MJm8UK|DV_*SJblL}?zmjLeCM9M#w+jKY25hqLj3KWJ#BBUYkO{D<=Mqain#LB zXI$UQAHTe`XK(P8cb0-Tp8C7cJkN;oe4c!%P#U`Uq>GdoWP^|%3CNoWX&>m~+$KPy zyiYqiy;Zv&)#y41?y$v0zz;B!rsJ6Tg~nXFJFQ@~a@6`*OH0}lm}KWr))BO8APygZ zd;xMIbyG#qqkOhnEKJlZ`Dw=nEkr+lUgz%oyPVqK3SAPF(iIY)UaDn^`7>F!gVi~v zXQtzxC7ouWwotX5C{nv(keSno{hsrfm8;JutCgZtwLQj-p2}oAt&9yM;;DFi#?wdR z92_BrJW9>OR5}??c+^bIoVO;-ddczh>BK2+Hl1W)COw+UaD=&1)pP`!d)}pLWj^Xw zl)LN5*=FJ+p38~xvFz~^GvlJ+MoemaOw?*;&TyxGwwXY~n=g1_(LZokwo28QHJJy&zZ)sZEVvde` zZf<7DMEaDNKArR^^?bo;w840%!^wJCoF3!lqFImcEl# zxoR&Z%?g&SY*l#G(5X926!KSsbvl zxq7iw$l@q>m!12awkn16&0Y_aCugGZsC%*tF&U2^jt->xy%3$;yEl5G=vdL_3*rOp zI!YVeq_=|5u7MbgV@p}*_a%pg47VlQ^)<#iZN0WJut~d0+pKM)Gbe)IdnlUFm%AdJ z!hdMdb{_3AM!PnReqQTr`|q|M&n9BErLtq@fR63qf|8JfBVq;9F-0s_!;7Ur`#5Xn za<+9=#B8g?OtCUo_3Nc#1urhU>NO=l3Kd&@3c3+o%j$E+7rRu=`$I3*a}~2}A(>|P z;GCt!R?f7|%6u!O7;h99q=@CKWqJ}tY&4am^z34;?zFa=v(X(U^#3ed;D=M$eXmdx z@9s~MSG=QH2)yoGKlkt64>K5|*KFb8^kf$|QZHOno-;=;a*^WY2 zGMVTGNN*`sl#Q;3?TQ3GhWq|2@Y@EN?p4$;<#iH2)dr&YD-xv}zA8$jo3B6K$_8A; zz)`$5{8YT#AX6Ka(j+<~yDBQ)90-zWFHo6=AI*U(YF=_6{QZ6r{Zii4FTQ0O{jNav z$6Nj%@s{D|kN1!-Uc?vgs~ivDmd6lpQ7J$*jt3$8<9!S9R=`ny_#ABH_g%=U4Mcn` z2tjM4in4tNgg;(%V{^PT-)f$pgRI(6j1=O|8}P+j1DlHXGGx_;LOg(Y z10--!Hu^I1#~VUCI=g7R>+n4@hM;89m*F=>0v8%D zl?`z6k7L0%4mwlRy!1l$r7d1WyxqPIlt`%d5JYhai$4uwJLIeJqj;d)KK=2IV4oMk ztD@p5U7?>h#GCIao-oidV$%JYknZo1bTtcJlz@A}G$RIDP5|<67u{^8JT&P3XM;wi z&S7QW1wYC{>H8p47D}h}rYw|x5HhxGL#MrlN2Z~-_7@OGVQZGv;|q(4rV&!u&9}Kf zu!z1Az}vmmKeEc7PMT&3xF>~QrW8Ba9 zA;J)D{;a22zlHSz>ki`*^A}jZhxG?pf0XfA=H35G;*k0c>qjU*jO!%lN#}_UyF#e0 zoz6A#i!jo@CY|;;;a0|eMz=lqL!@KeM;ON#rx>RhGmNv0cQCs94%KRG=^yc_P#!AJ W5b5CEe1UW?(4)~Z2^mu=)S8gvCE{`VP#fP4?UuDlwOnJI*S0sQ6XJ~cbY8a( zWidxWg`*P$tqmAiKgz?Ts=;(H~=wWLALyTMX0a$sj2)jW~kbPBrH|bsU zeJ%2=@!g`s^!_>o`IGEyf?$chLA zNk`vCex2C=y`wv5-zxk+IC>YyW4-u4>*$|T-xmF)@qfl0|DvPcrT@n0yT<>FqaPxFspwyFbd>dMlJPz3==1d7Ec(|R9VUNS^n&q!!_hpi zz01XZ+10JoZ;6I*+IgKPU40A3?+Vd>&()t~zAJ5guHMIdTZMno)t{q2Df!O0`oq+B z*!o<3ocvY7pLO-W(Y{mSzvk*O^4o-e!_~8_=W5~Kbaj;aYlMH>)sM2i4+#H`tAC67 z?ZTgT^%VIX!Y_MzBkgwzf6~((?Eke=|J|N`lJ?h0efMA`mtnB#a3!3mW zTr-NaPH5d;3~T&H5UBW_csTL1=$;!t0ose-i)SeQHnidRQOG0llXyl|Z62hBU0Zz}vKa$(* z>sr;i5YOmV=M+4g&O?*&%#na~g6>p0OTAa0wOK$RbcfC~z5zE=2$TYLdX z)qXSN;kCX1^}{1|K!p>&fIgv*z?-7DirxKP*LUsihPwXOtS^@G^GmY@Rab+kmCN&0#>>wY7qiveLSMBzU}pr` z!kxd?C%;fFRu#<_a>Y_tesK|84eo2$$&6-$(0 z`10jSA)8<51IMvaVUDrd*xiHoy3@;x3jYSMeQOMTSFq zWqmk`E|x7DUrfEK+C$3?Q`Rb*JG7uh9!yLw*aTCMSPaMkZ~ z37hi*bd2Xl(#Vf;d75@9p0rVF54Qg!2+L#22$u0|sJ;dcr%~<3Y)$cn0J3j4=%++( znCHNZm&Xf76z_vmhI*BN%I<1t8sG2d zo=CyfI`r46>($};a;~P#ESU#~v%xKus>LIv!mJr()7`yNLVB-Mb#QDlJCx0&5BhHO zH--l@hh%a&92D6}&K$DcI3yYluD?oYhXIrkLlV~QC!R=&^|&mS$%7eRhvgx&Fn$oa zdeQm0Tt&u#3(H^gCPRwTCS9vrjf|xZND4%h5;Btz)g!WZ!HWZfjiZYCwy{Ip+fyIo z-p0K4?ruo?Ol6~X)r{Iv8s=b_nnu$TWA$C_FZQNFOivC;os%*a95NA&9h$@(WP3~^ zVR{Xd;x;m~+!W9j-=}25nt`_yfU>N?2UU7+3Z~ATxovuxqybBh<-28vQ}*h9H>dqLy6eXA3J~OuH^-> zt9pE)mYV_ADn8Cx3Q4eDXLGfj>YAxmK^A6~j%0H)GnK+8R9B@iFOp*Ea5>1&7fZN& zQ_m1x=3wj^8XxTfmzxO+Y2z!3v&WhgWj}8t$$U8<%(1vMQ_3wAP*uYOvKn4RO|o1i zS31%xvJ$^L=&kC?mlqZa+?^~YXJ@G?(BTTw1xE7!CohMZcLux%P4j*jK}mg9=>8Vjo;&NNveAzHv*tGM9|UBy8$n)v*J0ikd~Dt? zfDYz8gFr9ZNfbMPdQj|0vptTBBInXJ#$fvjKDHL})5y#7fqB>AWAlC;wDke0UP3&s zN!zUMuOJAuU&dRHkB#?T(AEc}dJpkVl8|O~PlFG}`+OiCewDAs`&ZD`hav7t zD3v53&FcOcd@$aZ5YLV?ziZk0ehS+9FvM37k9M|M-A^D0#yb^=$GfwQ_a12aaBSHg zLA-yVQW|yqMDPgO-HlFOYmLN)`gM3<+83?rG1&E5M(oJ)H*(tBb{2NQbzn=_3Zq~@ zp6qCh3oqHWADqL$a#O7v(5FBGOA_tgVD7oglp2H}37Ttx@i?B$8I1QZl2stH&Bn95 z#h^T--nwArM6apGIjwIvr z+hL=5*wI+-fyN!)Xr4;c*BbljfahBBX`fGmXRoY&2Wa-n@{Hf;Rl=+d@~2_Mc){kG zo!*dmW~T;u?zBepl>bjXEAdQqmSY{8P5&DEg)6AhJhhU?;s`VkC(B;&>`M}#HjMWH zplytsu?&#>M^^CsN11J=j{2`_+iGgttjd0LWH)}Y1oWHlK!)HA7epU_nFRJ;zw#@V zxp@>z#hR)XYDEg8auL|yFR3w9Av*MRUl zxULbO?+G{Q-z(h?+=0nog$LSB=uPYNf%cdN<7dth@I22b=e?9@{DCM#xp=HZYY(-t MxA9CJaJF&&7m%D(e*gdg diff --git a/hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/wiring.o b/hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/wiring.o index 6a4a018bf1f1de54783ea0ead5e8ba01d18ebf0e..695dd948f5afdd067949a45ecf031924f91ecdbb 100644 GIT binary patch literal 17824 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 diff --git a/hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/wiring_shift.o b/hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/wiring_shift.o index 2e7a85636acc56fa716eb605c701c0c7e876b6d2..b7da2e368d999c74ad5ed9fce2d7cca6150a24e7 100644 GIT binary patch delta 3937 zcmZ8k3viUx6~6cWugy*V-A%FyyLo8L;u>BFNk|ExG;tFk3M3>vO3RQYBtT@dNs|qT zRd-cN!7`n|EiGdygA^I2QVXO7Ea;%MjEvRlv{goMgn|kbDafN}DeXD`o=8K6d%ydg zbH4AM|Nf7V#6z2A_7{jqV0~eERyNbz6H_Op)@3rL4`->VlT$U%u){BtRUcz<#cQCIT%Q!^JP|?uo zM673FGvPAcM&`0Q;()qtbVOrNZq3IecQvBGrN0Pbq3a9L(4|j-pn)dlE|@G_9f9Fm z3sXjtzdy(+|LGv-$^7*}uCtVWuAMZ0X~6z+7VN5>a%@GA$wk=n--+t-CWy4t<{khM zbV(hvXF!QGO$MPk?Gq~Y%9qgUQ=&fkG}6yV>z8iSo;7zm+C2F~xT3grj;agfS@b$j zbhvy2=|4zZB>gD9VE)<>kCqjH+UHa}R$j*9i$urC7jWZ$60MZ)p!O13-7jZh@nt6) z7r`od3#-4N>Kb_x(^sf^n*0F8SBXxSBcN;T8WlIlHY~nQbhey~^j}o`Em?@#8|Gf8 z=>;-|^h+xKu3RiwoM~SXZcpJ6g8ZLL@LRj%+!8$IdV&@tO`ngO;flmA< zT#m!MK?a++Jc`|!))Cw%xS7kjXlPOWRxU?l!bN;Lm*>zgh4eeQT#kM+ZoTCg?Benw z8m5w9H<$BJkVgEsTn12JlfeNl=i>pmt#=*$Aug|C10JeB%;ld^? zald$m^*6`hPh9>0H^?NxyIf8}10V6fa@mD~EHXI8r5|~=^`WCb!R2Y>!zh1}%Teg( zC;b^NCtyB6`LkRGfycER>tn~@0+$o9!(0+1ge*ouo^{5_uM%=28s-l+DC7Y=fx8A9 z6mkvf?6MzU*U$siC+-13=Qrj zeo4s3us%fms*v08#O@=0L&yzSUqt+-ke%o^f_OrchsE6x7)gOuntTE~9z}eOCO0e7 zYK=by2f%etnaP-)3tKSzFihOO0@cFC&$niO1`*x%zy^l>O^BQJbeJusy$vBfa1AWd zw!o4bTlS$(KV+GG3*5M^K~mWBu{k>v*1GM7*|76rHtoVVfMwqYv&&9EQHuQnh^74p z5U1LEVV!0lg|%(J4r{mlCd?lD1BiI-6ELU4iwHl)-Unb~_Y_$Ajo%eoP;>)YH}>Na zKD?e5s5K6>LS6)QPY<^6GBWr^xjaiS`FlJ9`0RQFvV+M|ucr{*58-8rppSX=b0F35 zO*dY74T9nOgymMcrw|U`5@Zl zCD{sJ2jlt4^>UWQr(td+s2Rh@uoA|VukA+;u_s3M#5%K=w?x1pSs6k1(X>;X4f{FR zSo|qah z$GgFyx~HwLBidEGlra^N-6;uZDHR4&`KbkJLaJZQfYAb@55`&;zksm^#vfsP4uhxp zRaTnck0P(T3ND7F!GLFkt%SkU15hvvMthpyhk*=t6=PL%Y*=CuQ)|J%ui{hyL0oC0_a;6eiKJXPvW_JmgnXMtCV>aQ;bC19j9`~AN#MVhJIiwy?umE_mG-8b523HU|exUahW5+ zDcM-vl%{a9GpDf%%zOi<@iZvRvDIpiKU3Ww@CsK*%?yN$$Ke^is#XSqqT8dk1VX|eQbz#1 zUUdFUP-yF+SUPRJ-vXKbfBl@k;PLdwhyiR0<27~pV7 z%>~dh)RO?mLTX2D$jHrL>__Uo+@RPoOkIcgd&AUSc_BlGx4c0;AIMY-^1R|kNJSwy z8-nmjfQENLFmjiA6@r@!7;8~Hf7pinGyKxPC;6v&ycC{HkpqAJ5Y`e-C!9sNkZ=)U zH{lAxCkfXPD#GUopC{Z&$l>LKeFvr%ye#4k@Tg-Ga|ss^wh}HSj1tBOA0tcpF delta 3402 zcmZuz3viUx6~6cWug%@}Bb&`;6Ck@R@|b|&5X9O^n#3W9CL~a4jg5KHY}sVfJg|)8 zY-pKEk#@pdia2cx}UnTq@Oie>g96s|iAao0lOhxNENlAdF{huy#SBrW={wK_*2d6%Ukwul*eK)!r+He^}Z)3h2)&^e8qj0fsbpp(_ z5H2ByzcI@x{@yI-PW;L&*IB^`*Up-c8;r@dFqU@Ct}2pDZiBhBzY^7D2HZIMEZAg6#9x}Or}sfWgda9BAJkzVPo2PN}elE zVyS-+P07PZ|4G`LWWEB$7tAMZ@e(;1K9XqL|4g^sGX)-Uy#+9 ze3_zE@)9Qhn`o`vfzkIVd5s)L?FVMw*~B{O!p0v`cB5>->?=e!$O@$YA@L@;3dJ9p zPuoMc$X!UUQu6(>6&rs{v{QZwqo0trTmAy0Gv;%)Hk+4cF#M@`+~$4qPNbiizqRSN z{k7zep&-UB5*+06Eo|r_{!=c0jl6*LN4RXmd}+OA>yL8zF4l8X z{x7*)iTNJl&+xn~K!KMEJkMng55Q-Q+XaquDUth0@Di7Yu|RBouES;TD$QN+OWwR3sc>oK{ zA$~?kh4H!6@NFT7Fg|Z~K!FFsv~uE;LcWF#lcb*#@=ffQa(F&@LC7!)=2OD7kOL@4 z6aPTS?RaDhh<_yH5zN1d_>7R7u;4=C!A6R)Z`Db{t|mY6|gqt zXCR;J{^cfP-jAUc^WrOydoO@ac(0<``zd&I@8_U2yc@w|dfVY@G5zNt(2GBW)ATKX zoQM$~fja&v%q+wuy#4%D(7}ivg1AWP{)@nA~J#BYa`Apady<|X_QaN*~meT5O>Hzu?X2rt2q*pmxQz=X4`H+03;IkBGbZO9Tf z%kOz0l3~2m32kMCyc&axK+V`ruvK7f*UB%tp*%4vPpl`pwJi%3oXjj%U*fDEU`6<@ zFn8%WD9E`16X#i^xtSU69pEwW_?d~x;jMTQ9>>#LPSn%Nr+PSrd{3D_1iG4>eX)EFH|{vI9%Anf8wEOke9j zThEGtrJ3H2>`-SHgRt#r?b?FtYk&Vw)6p}K8Bo8Ml`87)g(Gw^H;xEqe|)|w#sW9` zLXOW13A1@>*j=a|b4S!D*sEaYz^;M?JrT7KtQzbqo=Cvf&Sj{DJBD%9)A|7a32tgdgP**((RqTzZo4t_~1gd5Ofc95!Pspk;84s7M`@FG$DA=oD=X}nV zUGTKxaA?Zwk2&Yy`XA@*{>5W`{=1v9#NO;7FuboA z!_-Frhu|NtRjq>zpDS3dSPtt$>Z`$9)USemvCmW|f*V7P^$o3!HBD=p7_REpH8-hs zq4~0IbxU=BCsfF(dyC@5ZG$~s*_Mu6f7d_@+(RwxLz!%6>(@Iv#`9E4K+=yGdI+p?Q(cceO;593cs%=BO_{CVYxb3SZrZusGwdc ztkfFrsZ%`qP5^x{jIG*mcTJP}BwCiR6YprQsdM}d_tZLz=7!p)vE4<-g}7{~wefOu zWDaBZ>#9FqZgdnd)~Dvh!|G@}Af}V*#dz8{4e$9g>U=yYj{20ZBrRA4N zq||o-PW#nU0I`&M1E4mbJ_FdFQt3q6$ORbNuGS}#;$TW`O{B$iKpg-$l2RuCVnKBY z;H8v`mZptmL3nyqb!k$pjH=D0Y0(x{KLG#UC}WK(SQ1vJN(16-O1%rtNpQyOffHo` zF_TagWocsxY^Y6rv#dz)r8fAYY4wgcpqUW;TFPv!fk}Z zgbx$$CVZ6eFd@fxPMnQBH}9CpZ^BnU46&JTknr1tj}ksk_!Od_v8M^2MTF=2Hxz%J z@GZjgga+Kz*vEqyg13)@@czXG6ey*H#e}yKwi6B`!V|ZP_&(x4BK`#N=LugY|C_`o Sh%d$6!v@wPhQ^|4!T$^3g(w&R diff --git a/hardware/sam/cores/sam/build_gcc/gcc.mk b/hardware/sam/cores/sam/build_gcc/gcc.mk index b2f29fdca..1bd9763f6 100644 --- a/hardware/sam/cores/sam/build_gcc/gcc.mk +++ b/hardware/sam/cores/sam/build_gcc/gcc.mk @@ -32,7 +32,7 @@ CFLAGS += -Wcast-align #CFLAGS += -Wconversion CFLAGS += --param max-inline-insns-single=500 -mcpu=cortex-m3 -mthumb -mlong-calls -ffunction-sections -CFLAGS += $(OPTIMIZATION) $(INCLUDES) -D$(CHIP) +CFLAGS += $(OPTIMIZATION) $(INCLUDES) -D$(CHIP) -D$(VARIANT) # To reduce application size use only integer printf function. CFLAGS += -Dprintf=iprintf diff --git a/hardware/sam/cores/sam/build_gcc/release_sam3s_ek/HardwareSerial.o b/hardware/sam/cores/sam/build_gcc/release_sam3s_ek/HardwareSerial.o deleted file mode 100644 index b1960b7bd1547958246301b72b994d862bb31a92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 708 zcma)2%}xSA4DPTCh$l4|{}Qua6oX9oy?Bxk!~=Vg2QafRiJOR!*&)iwSMX7M9ACpH z(3aWC>WL=beEr%^r=7R{@Ky)`Yyv8^dml<=t%;+B)rlK+E(a)b^7-<-QBzymrB7RdbW zF8VwhrQZ>Ka#G_uV%~{THz=q%&0IwIh#f=;k?r?^b!CjPaX;3~*|-m1-yA3Qey4R& h@6RNZ&%Q{SrdgW@d4M}*CNIk9kv6eUtegNn5Iko@* diff --git a/hardware/sam/cores/sam/build_gcc/release_sam3s_ek/Print.o b/hardware/sam/cores/sam/build_gcc/release_sam3s_ek/Print.o deleted file mode 100644 index ce1b50f4291b508c83859c324503969829c5ae32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13216 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 IxM!96FMiVawg3PC diff --git a/hardware/sam/cores/sam/build_gcc/release_sam3s_ek/UART.o b/hardware/sam/cores/sam/build_gcc/release_sam3s_ek/UART.o deleted file mode 100644 index ce68cd8c99edfc5acf3fc4c8646aa66f2f335768..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7252 zcmcIoTWnlM8J^u^JC1vEwkCBera~*pZVtdznODp=Ip#QGI2Z<3JJE5=n}psM0JPLQa|8iUE-)1a@rH{3D+<4 zL75+v`C*wKL7pnKmYyr!Y7^^2qB4pK81+pR_LMTESB~z!nJJxG|GangoZG6l?YNUE zt)9!2LVe-&p>QT&86~8T`=R96_?=&Owa~oQQhIniG*I`EVTf+y&!K1L*N2Qy|4iu@ zM?bsMQrb0pweWcUb|F)Y+!HTt-1(E){I0k;B*Ycg*0|;~rwYkprqq@XjjxV20!Ns} z8=;r4Ul-S?%yww4?s(I9viQjH)zQBdezmV{?$kYz%gi;Ld~4&APm=!$@B2#b_NUQ~ zG+GWx9HQ8ZOdHzA{q|Q4xgDxmCWVkU<`+AG?h9M?V4U%vF9!O za&)x2J33LUTG77VL?YhX-!stnjp#spFy1GId(pwP%v@1~oQW z$Xiumu)Ltjz%a<3cW)6APcJl(4(6K7wd9!MYcn-qi!)GSrs55hM zYKmtwQ@-rO<^{7@GIJ$sCf`LHk9DN5_52M6kei=Izg2dISt}Z2wt7}7ZgZr;oOQlf9$BpYcKE2R zq6LwgFYRZBl|iM#n}q? zG%$MHM^VSdaSxz^aO~R*kU7WAxVXwySzkp?I+~v%&hMX)T#R3QS>#VjrDzqvZ`+teiVs~ z^?iT}Ro`zIAamBY;o>}fgd=?siDP~Lg|F&+Ptiy7!}?+%CT@POZlO%`%f|Ym6371g z43IhNJL%#)eS{-@yCshG9S2U;_r9X96(cT9jR2=UkG)FVZi%CQS(ncn$93?r z2IAxLti-YZ77HQ}jNKn;`relMdR&;N?`2J2r=ssEV0m8FIIav#?{}}{qKw8sc0=Pk z0KPQplSuSGnfd;p@vVc8=MFHB?*onR1@I-&PKo|+GvB{7zEM1D){LAWTUv0iojtCD_nmYIC`#ZtdGV9 zoM-odyF$UFF^+OHdG;PUR@t_ub<5;jb9iGsHto<>Ut5z()c#>KjRXk7|7U)xms^1$rBpi69@% zjBf_M3WAFGE5XGW;&C60l7TO$AfNgrMeVyaK0ei%?+J~sRpXj`8!TaY9 z4j07?ftOV=13PEbwv}tN8|6&`o}f@DUFX#2;U6s z1i|N{?hF*KUu&lw+&4oEYVEWm`(}uPT08Bqz8QjUT75Ib5#K?{z>XKxM?0WzhH&p6 zxyBIR;-Zrq-tOyG8-bmR_|+YXd}YH!7emx*d=1XtMtc;kd|JKq1j(nB7(p%WVI4o} z_z^K9ecDMPSf9^J|5?Xx6IY}kb^LbmDsnd3E#71YIr+auqIk3hBlrsYBXTxs|Ck-* z@t{{3RF^j*G#qDwhLXnd!oPv=($-lqlW(|Ou~_sQ1q zg6?hO^OcI|tcuROc<`NQpoK3hgO&2mF;MB<90qIo{x47~Z|c&MsqC@hGTp_daWP#f zST-)Fvsvd}IJ;85SS;tWkesd9iJ)Nb@{K4)%G+V+4Ki$fITlcyN^EtT7l3PbVRZlH z-#|mi%yiHl3%Z*x%g|->MOZdFf62^NR%|PKp=eiEX!0^sgK6A3R^`QOdVKyqb%p0i z!&$xuBXXsDb}G?J)R%BOe<9I_@^UddPgnlg>g9@+EtVISMw~%xx@Du0DNJLo7QB*< z#pJdUYm&bFY>3I@JhsPOui?|O{i|*+&bZ%Kv3>5he3&*DSd5RMS@+vGJS^*J;lg5l zZoe=t%4l7Lzw55waMoRu;W>BzqIx>3D5w2`@~F&dJ(5o+80EB6hI3z>58Xw0Uh?E6 z5BLK0xL|YiE=b&S(m(Y8{rCWN^iN9t6H@;a{tr;RX{kT$?qL+4_Tg~G{l2F8`5$v= BdoTb1 diff --git a/hardware/sam/cores/sam/build_gcc/release_sam3s_ek/USART.o b/hardware/sam/cores/sam/build_gcc/release_sam3s_ek/USART.o deleted file mode 100644 index dc37c4af49947e3f9ae970376eb8816f72deae58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6948 zcmcIoUu+yl9iF?f(O6B`@=eIjM zanGg_Kj}R4o8LFzd^5BAoArEaY~o}tms4Un)vHoZshc~ZNc&(^^r{i{NEGjfPuzeh z8K-~Dl*dhZ0%hYA{=g#MLhQAw+jzTv{I#}|yUz^Q?mYRzskawz^z5H~{N0Y~h1ngC z{rvs+-W&dRzUQ;mH*XcXD~KF_L;X4$bk`T7;>SCGcBS#!o3k(9+EdYI+kdcQc4YS1 z+4knB-*{tZgoyRokFz}Z@j)-#q`Kgg} z)1yoN>Z&`AIyE}_P@#8fWi6Zw!pntIhYuGfYR#Z9&|fZ>`i~wN9C)xWSQ;t~s1fe9 zANbXp%6%Ty_R*EF8EhPxJgRo=zGHG%zO!v_?$fz_x+`~YZh!7zn<}kdUT*qTl+7?M z7o~=dO;wuro4zVlA*(cUZnA_nzgl9be|9W5Kfi7%Fy{$KWq+; zpL?RdrJn6DY^`)VEUkB=+&>;ZecG?jF9qTD_Ia}&;R;_-yp7W{w`HX0WwZd2p`7;d ztvZgU9h1?fHtCcG(+)@nu>w_^TUlNX>PRYF7r)sIYt^-8fXs3+Tv==UFM0E7n^JdM z9eAcOH-8DgFXM-B^mB0!qg`-cYk_;z!admnH(}wv-U2sm;k*_&Y7%|37Va~s^Bj(k zc%|l1w=Hj+Zj{7n`C%5|*X8=w0|JBQz{s22Zu>E3i*I?zNM`(4G4+@g;Uk#L}z=y?WpTVInw%S7J|wAuQI z<2ZL2tZ=^y-`02C(zgdO(f4=MZGF@s9H=Jx{%mlvepeW@O!R3~Y<*XNp}tOo748q= z+xl);`t~9w`UYdZWc|KlVumi!S2Q@$cTE7ML^!hZF)rC(;;8SQIGoJ=3E*sfzp(Um z0W12hnsH@+zlWG;Af?owF*xzR&!A-pNA_xrOZ2^fR_fayhZB9*fwT3!Zs|J!tmylT z8CUfE5HZm}N~!??Xf_Cm3@xu4E!&d=cFXCdt_g9B+0x#q+K;+~9t-|-d z!?yvx4#dS|KmOzJT>~HU3i$@{6TSnefI{WXe82q>d|klV`+MEu;~6P@{SM#r;IqF| zI2LWv!M%cjtOetO3k1hT*iR8S9ap2j(#HqR*7rK}Eds&$K7=2_5&yE`lRae~IgFSX z$K`JwI4og9+V8{ql*KU^x||zuiA@9dT@Gf9Tr`$ui6g%Q9ScZG!|*sCcG-g;=V0^o z?Ne&m>L`4GWz24GQ~&zV4r+CW?SfxcEpFDCmE-uk)h9ANUjV6ToX%N3Ijv)iR@el~ zG~T4FKE7G0X`H56K0J(;X~nPE)HE`Ame0=Y)PK<7lhZKf(CTw38ERS;9KM1R?{WBg zBD}m4=_wU=)9R4Z|9*#`Csk@1r$cuB4@CHMmE`n@`)KuG+8H&iiVi5C*JSG)0H4lBLipmhZ#9Fjf|R&GsC8)anqQMGh?QvGhZYe??f6z zO(TP4`!l1Zrq#o#gPKPsV-#vd(_j$XKL%j`|@1IKd4?YKEKsE@zwN8lw!;VzY_-~{eR%c@%iR- zLd`xnwm)wCc)UJ!kwF-roV&5UJV#l-)A-N9=c+Q3G5(^3@5TxL6XP@9js1Vi_;4dV ze{%ePI=*ZH->hytUmYgL$9%_BmzDE5zY*he-MjI;%ov}Uyc^F;)xoRiI<+*{XsAO? zb!c8~ep%_XX08yOnA`)p&E_)CX-+QW+;+KCbKB)Atui_4jn#SUS;3`pV=)MEvFv%# zovyc5zf`Nwdzh8i2>abRZR0}98FjS0$R}C#)Y_WcBq1zzoxmItelzKq;2sV9Ck*oph#}jXK-sx>J8kI zua^fK_VE;d?BhY3+s`ZYC`+u*e*yj|FhKwS diff --git a/hardware/sam/cores/sam/build_gcc/release_sam3s_ek/WInterrupts.o b/hardware/sam/cores/sam/build_gcc/release_sam3s_ek/WInterrupts.o deleted file mode 100644 index 0eeda867de63c27c9a298aebd505ae00d6617068..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1176 zcma)5&2G~`5T1?Qlok*nYE^y&GN=O6kX4cf2_bQ)0twLO0*7+MaV*tR^CNpBkrM|l z9Qy!$gdVx~HFynf++aTMZfwkjk;XIM%(t_%kNQFgvLeW*91*oNSnFm4pRUs; z?fK`I;;{G2tIY=p@A=M;${{`Eh{uu3j5_G`UU>e8*&+#}Wa$kW4euyck=JRp+p@La z>~@}bUHMFQ=%B?5f+!fpBp$K5)|(|N`rI7uQ+0EFxKXLQTVh-6IJd-YaYx*DNv6w* z3Px;IqV0+Gc%dRW4pcyLl%^z;=u{#o1EqrSdE4E&r1I2o0g?gBQt@nw2)I*<;kF1T%(;wuZ zF)PnxuA@X>*=bwA797Y;Ry#Z3@2pEWMl283&K#-dyr{;(YwX`(MSqwR&QPrPh7&J2 zX2sUC*xF*;rJuiT9M)NNtE0|eogiP_5!lUo%4@h(XMkR{pxay=zGXN=F4c^m|96e^ zyhGat;0}p@_Q#*k#o?*kV~8`NW}W+M8jQP8$1Oizy{uG*w5w=$Oz~9p7t@f+Pp|yo NxCYKv;bWmb>>tpYYE=LL diff --git a/hardware/sam/cores/sam/build_gcc/release_sam3s_ek/main.o b/hardware/sam/cores/sam/build_gcc/release_sam3s_ek/main.o deleted file mode 100644 index 3704990693ccf4f28415fdfb540efe2ee488b967..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1296 zcma)6J#Q015S{bcv11@Wl!y=zI-~$5CM(-94bVg;xFC@bP$F4p`y@_^?bCTJk_v(7 zY54*CfKX7wPoblxqd3&cp{nK$!hX1~s__YWR9jw4nasY!-J9vV<;Cxn`; z$Qh}8b{~J}8vXTMzSvsY$|vW|>8ZTS$E4fo-1BPBCbM`D#3x?2UiS_{9eAxqv#A=p zJMGqOudVK?mh3f9=m&m36z3+~QfCtD;CSb7SC*>f!{x$iam`tGF1Z`dWoOg5RunZo z8EL-{t7BtdS`UR<)X>+ysQz>+Dh`emgKFf5V^Mog4;7H#&j-mdiEwzFPYfobQ7}eB zW__*Wus_qmbZ(>n23L^gaW17abEa8MA$70AlINy)k!P+%?0M?0TQTC&!BI_Z$K6qPJ<{1uW}r-dfh@=l(>(&Ml{W z)`d{c~MD9$c2QIYp>nijy4L%9gGXH5JRYS&6^d9-$~jB6A%5IhHe z1RcTUxe; z36yXgYMBOl7Rk|M5=pO@{B87R<5%H$*aN#4#m!`1;k?KidKPd9d{+ftJY>6MEEbvE I;Wi%GABH$>^8f$< diff --git a/hardware/sam/cores/sam/build_gcc/release_sam3s_ek/wiring.o b/hardware/sam/cores/sam/build_gcc/release_sam3s_ek/wiring.o deleted file mode 100644 index 5aaca739d0b07e2077a28553035b479dc013dae2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1956 zcma)6&rcIk5T2#wM**=^45(2{Ac{dY{4x=v30R~BN+5v2TiLb`Ty49!T|g2O50H4! zi!m|Y^rkmsB1fVJ{{#O4Zp4F$CdPOIzuDbqAFBr^na+IkzBfBF@AW;rksi}DjihMQ zMHNK!-UHQxE}@HJbd>70waFLBx*azZUrFxo(YyVmUB;C9iN!1KZ|M-}Fm5lDthnbe9VOd9Xmv-qZl%)yrWFm1T-Zf{f z+Bsow#FO3K@wDlPczH7H-jwYptO+?SytxI};|oyis(FEUaUD_O|q}(IGu=I0ot2a+!2n6m$;iMYB*a z5%59Iwj@|EOzd&vc~LMnrc7QGIjfXc6U=Rt=gr*ROv)(b3&K`Xn4)VM!Ky)7Kbpak@DPiB?`3Jw- zC`quAcM*O>i9e|I@<)9R^Em%CsG4sWSmuCBvX2S)DsNO-Q+YQ7yfI)oBb9eAz)J)F ztB)e$Y9Cul9~_r`JPzc$1v~?lB71s-fST_K^0gtxb7_Fee9z%?zdUc2H_&d^^L}`Z z^(7Q%yW&NOKEvsg0G2r{%}{v<7>BX&mK|RtkFA_JFKwZqVFY-8E0pWwTDb=`-zN-t z8!;&|pTyFt@i2Wqka4!5Kh=8C(4k6rUHu~CFx9IGfR6xI?ya1<%vTfOt2cx5)dtpa zIEsXj`SABDUt(GaQ#rgI3Dl#WJo6g@{05g_`HyPctU+8kT*DY2CEV(z2eTPKP@4+Tu z&znWzzRlyMoGsi}*nN{1M&~o5X4%LV1f{L@v{(~`ael04#-}q0tF&Y;uiAnfY`1$e q)|#-F3f6ii=a%3{{pwIZ-;65!v0Zzb=rZH8L|56yiBfFaiGBkxFwZam diff --git a/hardware/sam/cores/sam/build_gcc/release_sam3s_ek/wiring_shift.o b/hardware/sam/cores/sam/build_gcc/release_sam3s_ek/wiring_shift.o deleted file mode 100644 index 789d2f7d82cc7a7010c8aff1a45217c099fa68b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1288 zcma)5&2JJ>5TC~`OIwRY)cTb)OVUu3vH^-Q@t{=d5@Ly3O*CH20&BabfLWGkPd4%D z#aq4kCm2umVC>DS_8(~D$$Ba=F$51fv&+EBMJJh^uiyL4d-L`^zrL&sA%I0d0)`R5 zmKOwbE+7G6n1Iwlw-D4P^;ddm4&tgVVtd{E=1wtuW4i-WV_y>bR`F9OBt?4CkHU9F zk@qR{KA%S)VyeDV6jy(~`?{OfKYZ)HfREgpd8hT)$h_B0Z^pNgN0fS^Blb(ZP$!{_ zLm_az%feg-yFQ*`p>SDE+-bJ$s%dYi#bi=lwj5K>a zjsaSw)dI~n*ELFNtu^bBQ)-N6ZnhC$ZPx2%1D(Z{vSv7rZB^Qi+2VoxhdqZFx+0~I z_3ml7Fwl2nXbC6v<53*dNaj$-Q2&La*^TzSk2w~(@64ke=Oo%gEJV;AK_v_+^}B}Z z=X;6q5-JPfNUosz`5@@6Cq9}1^W8?D_-LObpHY*p=Y6O~`T!Nr`ozlu{6Z(g0b0V4 z97E-qP&|)?$K>>dab$VsRC+Ka5KIqw~`l{Csb*kjESg^Ks19pO>NYoAYF) z!EU{*^w&>q>@QRDi5AggKGM;XBC=#A}8bdk*{VP%I zKQk=5+!sdTOBfS=2{lSL{M53o#_B`&RcTe2bzrsz{Kjh5s^u8#E2dF{zJJfg*Y5%7 R$8kZ4F^a>GNcM#X9^ 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 diff --git a/hardware/sam/cores/sam/lib/arduino_sam3s_ek_gcc_dbg.a.txt b/hardware/sam/cores/sam/lib/arduino_sam3s_ek_gcc_dbg.a.txt deleted file mode 100644 index 3498404b4..000000000 --- a/hardware/sam/cores/sam/lib/arduino_sam3s_ek_gcc_dbg.a.txt +++ /dev/null @@ -1,199 +0,0 @@ - -WInterrupts.o: -00000000 r LED_BLUE -00000001 r LED_GREEN -00000002 r LED_RED -00000005 r MISO -00000004 r MOSI -00000006 r SCK -00000003 r SS -00000000 T attachInterrupt -00000000 T detachInterrupt -00000000 b intFunc - -wiring.o: -00000004 r APinDescription - U GetTickCount - U LowLevelInit -00000002 r MISO -00000001 r MOSI -00000000 t NVIC_SetPriority - U PIO_Configure -00000003 r SCK -00000000 r SS -00000000 t SysTick_Config -00000000 T SysTick_Handler - U TimeTick_Increment - U WDT_Disable -00000000 T Wait -00000000 T delayMicroseconds -00000000 T init -00000000 T micros -00000000 T millis -00000008 b timer0_fract -00000004 B timer0_millis -00000000 B timer0_overflow_count - -wiring_shift.o: -00000004 r APinDescription -00000002 r MISO -00000001 r MOSI -00000003 r SCK -00000000 r SS - U digitalRead - U digitalWrite -00000000 T shiftIn -00000000 T shiftOut - -HardwareSerial.o: -00000004 r _ZL15APinDescription -00000000 r _ZL2SS -00000003 r _ZL3SCK -00000002 r _ZL4MISO -00000001 r _ZL4MOSI - -Print.o: -00000030 r _ZL15APinDescription -0000002b r _ZL2SS -0000002e r _ZL3SCK -0000002d r _ZL4MISO -0000002c r _ZL4MOSI -00000000 T _ZN5Print10printFloatEdh -00000000 T _ZN5Print11printNumberEmh -00000000 T _ZN5Print5printEPKc -00000000 T _ZN5Print5printERK6String -00000000 T _ZN5Print5printEc -00000000 T _ZN5Print5printEdi -00000000 T _ZN5Print5printEhi -00000000 T _ZN5Print5printEii -00000000 T _ZN5Print5printEji -00000000 T _ZN5Print5printEli -00000000 T _ZN5Print5printEmi -00000000 T _ZN5Print5writeEPKc -00000000 T _ZN5Print5writeEPKhj -00000000 T _ZN5Print7printlnEPKc -00000000 T _ZN5Print7printlnERK6String -00000000 T _ZN5Print7printlnEc -00000000 T _ZN5Print7printlnEdi -00000000 T _ZN5Print7printlnEhi -00000000 T _ZN5Print7printlnEii -00000000 T _ZN5Print7printlnEji -00000000 T _ZN5Print7printlnEli -00000000 T _ZN5Print7printlnEmi -00000000 T _ZN5Print7printlnEv -00000000 W _ZNK6String6lengthEv - U _ZNK6StringixEj -0000001c R _ZTI5Print -00000024 R _ZTS5Print -00000008 R _ZTV5Print - U _ZTVN10__cxxabiv117__class_type_infoE - U __aeabi_d2iz - U __aeabi_d2uiz - U __aeabi_dadd - U __aeabi_dcmplt - U __aeabi_ddiv - U __aeabi_dmul - U __aeabi_dsub - U __aeabi_i2d - U __aeabi_ui2d - U __aeabi_unwind_cpp_pr1 - U __cxa_pure_virtual - -UART.o: - U PMC_DisablePeripheral - U PMC_EnablePeripheral -00000048 r _ZL15APinDescription -00000043 r _ZL2SS -00000046 r _ZL3SCK -00000045 r _ZL4MISO -00000044 r _ZL4MOSI -00000000 W _ZN14HardwareSerialC1Ev -00000000 W _ZN14HardwareSerialC2Ev -00000000 n _ZN14HardwareSerialC5Ev - U _ZN5Print5writeEPKc - U _ZN5Print5writeEPKhj -00000000 W _ZN5PrintC1Ev -00000000 W _ZN5PrintC2Ev -00000000 n _ZN5PrintC5Ev -00000000 W _ZN6StreamC1Ev -00000000 W _ZN6StreamC2Ev -00000000 n _ZN6StreamC5Ev -00000000 T _ZN9UARTClass10IrqHandlerEv -00000000 T _ZN9UARTClass3endEv -00000000 T _ZN9UARTClass4peekEv -00000000 T _ZN9UARTClass4readEv -00000000 T _ZN9UARTClass5beginEm -00000000 T _ZN9UARTClass5flushEv -00000000 T _ZN9UARTClass5writeEh -00000000 T _ZN9UARTClass9availableEv -00000000 T _ZN9UARTClassC1EP12_ring_bufferS1_P4Uart4IRQnm -00000000 T _ZN9UARTClassC2EP12_ring_bufferS1_P4Uart4IRQnm -00000000 V _ZTI14HardwareSerial - U _ZTI5Print -00000000 V _ZTI6Stream -0000002c R _ZTI9UARTClass -00000000 V _ZTS14HardwareSerial -00000000 V _ZTS6Stream -00000038 R _ZTS9UARTClass -00000000 V _ZTV14HardwareSerial - U _ZTV5Print -00000000 V _ZTV6Stream -00000000 R _ZTV9UARTClass - U _ZTVN10__cxxabiv120__si_class_type_infoE - U __aeabi_unwind_cpp_pr1 - U __cxa_pure_virtual - -USART.o: - U PMC_EnablePeripheral -0000004c r _ZL15APinDescription -00000045 r _ZL2SS -00000048 r _ZL3SCK -00000047 r _ZL4MISO -00000046 r _ZL4MOSI -00000000 T _ZN10USARTClass10IrqHandlerEv -00000000 T _ZN10USARTClass3endEv -00000000 T _ZN10USARTClass4peekEv -00000000 T _ZN10USARTClass4readEv -00000000 T _ZN10USARTClass5beginEm -00000000 T _ZN10USARTClass5flushEv -00000000 T _ZN10USARTClass5writeEh -00000000 T _ZN10USARTClass9availableEv -00000000 T _ZN10USARTClassC1EP12_ring_bufferS1_P5Usart4IRQnm -00000000 T _ZN10USARTClassC2EP12_ring_bufferS1_P5Usart4IRQnm -00000000 W _ZN14HardwareSerialC1Ev -00000000 W _ZN14HardwareSerialC2Ev -00000000 n _ZN14HardwareSerialC5Ev - U _ZN5Print5writeEPKc - U _ZN5Print5writeEPKhj -00000000 W _ZN5PrintC1Ev -00000000 W _ZN5PrintC2Ev -00000000 n _ZN5PrintC5Ev -00000000 W _ZN6StreamC1Ev -00000000 W _ZN6StreamC2Ev -00000000 n _ZN6StreamC5Ev -0000002c R _ZTI10USARTClass -00000000 V _ZTI14HardwareSerial - U _ZTI5Print -00000000 V _ZTI6Stream -00000038 R _ZTS10USARTClass -00000000 V _ZTS14HardwareSerial -00000000 V _ZTS6Stream -00000000 R _ZTV10USARTClass -00000000 V _ZTV14HardwareSerial - U _ZTV5Print -00000000 V _ZTV6Stream - U _ZTVN10__cxxabiv120__si_class_type_infoE - U __aeabi_unwind_cpp_pr1 - U __cxa_pure_virtual - -main.o: -00000004 r _ZL15APinDescription -00000000 r _ZL2SS -00000003 r _ZL3SCK -00000002 r _ZL4MISO -00000001 r _ZL4MOSI - U __aeabi_unwind_cpp_pr0 - U init - U loop -00000000 T main - U setup diff --git a/hardware/sam/cores/sam/lib/arduino_sam3s_ek_gcc_rel.a b/hardware/sam/cores/sam/lib/arduino_sam3s_ek_gcc_rel.a deleted file mode 100644 index 2f369c2f3528576aaa1646848d95a7a3e3724ab7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36314 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 diff --git a/hardware/sam/cores/sam/lib/arduino_sam3s_ek_gcc_rel.a.txt b/hardware/sam/cores/sam/lib/arduino_sam3s_ek_gcc_rel.a.txt deleted file mode 100644 index 819e5ef38..000000000 --- a/hardware/sam/cores/sam/lib/arduino_sam3s_ek_gcc_rel.a.txt +++ /dev/null @@ -1,135 +0,0 @@ - -WInterrupts.o: -00000000 T attachInterrupt -00000000 T detachInterrupt -00000000 b intFunc - -wiring.o: - U GetTickCount - U LowLevelInit - U PIO_Configure -00000000 T SysTick_Handler - U TimeTick_Increment - U WDT_Disable -00000000 T Wait -00000000 T delayMicroseconds -00000000 T init -00000000 T micros -00000000 T millis -00000004 B timer0_millis -00000000 B timer0_overflow_count - -wiring_shift.o: - U digitalRead - U digitalWrite -00000000 T shiftIn -00000000 T shiftOut - -HardwareSerial.o: - -Print.o: -00000000 T _ZN5Print10printFloatEdh -00000000 T _ZN5Print11printNumberEmh -00000000 T _ZN5Print5printEPKc -00000000 T _ZN5Print5printERK6String -00000000 T _ZN5Print5printEc -00000000 T _ZN5Print5printEdi -00000000 T _ZN5Print5printEhi -00000000 T _ZN5Print5printEii -00000000 T _ZN5Print5printEji -00000000 T _ZN5Print5printEli -00000000 T _ZN5Print5printEmi -00000000 T _ZN5Print5writeEPKc -00000000 T _ZN5Print5writeEPKhj -00000000 T _ZN5Print7printlnEPKc -00000000 T _ZN5Print7printlnERK6String -00000000 T _ZN5Print7printlnEc -00000000 T _ZN5Print7printlnEdi -00000000 T _ZN5Print7printlnEhi -00000000 T _ZN5Print7printlnEii -00000000 T _ZN5Print7printlnEji -00000000 T _ZN5Print7printlnEli -00000000 T _ZN5Print7printlnEmi -00000000 T _ZN5Print7printlnEv - U _ZNK6StringixEj -0000001c R _ZTI5Print -00000014 R _ZTS5Print -00000000 R _ZTV5Print - U _ZTVN10__cxxabiv117__class_type_infoE - U __aeabi_d2iz - U __aeabi_d2uiz - U __aeabi_dadd - U __aeabi_dcmplt - U __aeabi_ddiv - U __aeabi_dmul - U __aeabi_dsub - U __aeabi_i2d - U __aeabi_ui2d - U __aeabi_unwind_cpp_pr0 - U __aeabi_unwind_cpp_pr1 - U __cxa_pure_virtual - -UART.o: - U PMC_DisablePeripheral - U PMC_EnablePeripheral - U _ZN5Print5writeEPKc - U _ZN5Print5writeEPKhj -00000000 T _ZN9UARTClass10IrqHandlerEv -00000000 T _ZN9UARTClass3endEv -00000000 T _ZN9UARTClass4peekEv -00000000 T _ZN9UARTClass4readEv -00000000 T _ZN9UARTClass5beginEm -00000000 T _ZN9UARTClass5flushEv -00000000 T _ZN9UARTClass5writeEh -00000000 T _ZN9UARTClass9availableEv -00000000 T _ZN9UARTClassC1EP12_ring_bufferS1_P4Uart4IRQnm -00000000 T _ZN9UARTClassC2EP12_ring_bufferS1_P4Uart4IRQnm -00000000 V _ZTI14HardwareSerial - U _ZTI5Print -00000000 V _ZTI6Stream -00000038 R _ZTI9UARTClass -00000000 V _ZTS14HardwareSerial -00000000 V _ZTS6Stream -0000002c R _ZTS9UARTClass -00000000 V _ZTV14HardwareSerial -00000000 V _ZTV6Stream -00000000 R _ZTV9UARTClass - U _ZTVN10__cxxabiv120__si_class_type_infoE - U __aeabi_unwind_cpp_pr0 - U __aeabi_unwind_cpp_pr1 - U __cxa_pure_virtual - -USART.o: - U PMC_EnablePeripheral -00000000 T _ZN10USARTClass10IrqHandlerEv -00000000 T _ZN10USARTClass3endEv -00000000 T _ZN10USARTClass4peekEv -00000000 T _ZN10USARTClass4readEv -00000000 T _ZN10USARTClass5beginEm -00000000 T _ZN10USARTClass5flushEv -00000000 T _ZN10USARTClass5writeEh -00000000 T _ZN10USARTClass9availableEv -00000000 T _ZN10USARTClassC1EP12_ring_bufferS1_P5Usart4IRQnm -00000000 T _ZN10USARTClassC2EP12_ring_bufferS1_P5Usart4IRQnm - U _ZN5Print5writeEPKc - U _ZN5Print5writeEPKhj -0000003c R _ZTI10USARTClass -00000000 V _ZTI14HardwareSerial - U _ZTI5Print -00000000 V _ZTI6Stream -0000002c R _ZTS10USARTClass -00000000 V _ZTS14HardwareSerial -00000000 V _ZTS6Stream -00000000 R _ZTV10USARTClass -00000000 V _ZTV14HardwareSerial -00000000 V _ZTV6Stream - U _ZTVN10__cxxabiv120__si_class_type_infoE - U __aeabi_unwind_cpp_pr0 - U __cxa_pure_virtual - -main.o: - U __aeabi_unwind_cpp_pr1 - U init - U loop -00000000 T main - U setup diff --git a/hardware/sam/cores/sam/libchip_sam3s4_gcc_dbg.a b/hardware/sam/cores/sam/libchip_sam3s4_gcc_dbg.a index 65351dfdecf4f2043616a500d34214cb962ed4a8..ef256ff690a20ea9ecedfcd791c5cab18031f40d 100644 GIT binary patch delta 9236 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 C6d?Nm delta 2089 zcmb`GT}TvB6oBvCyJoGqmac9J#aL*d>CXS1)k1A66v8Yt#KhfowTDm_79s*=z#c>* zsU2aYw-llx#N1$dh!6rF41}T|s2~X>ACi_H#0T4&-P*CeZl>bEH*?R=oO92)=Z@=H zkp1dMQfy>XQIA~Xy@f=3Ym z{>S@|0BjG+b_Gfu=j#Xn>!SR2ph{}NhVjsVO2r@pD3W_qfLae_J>v##aMuFZ6jikV z{y|ABV6&mz4u-q{l1$J5rbhXf0l-hMlUbPqaEqYI(;x}IA;&qHSZv~}^#YVkID#^= zEWqdYYcDmFV=*o@qgBtrec`U0X$Qg#P$Q@)+)_GiiQ7VIUbupJ>lCqz1-_0e=Y3t5 zJIf7;0Upn(rh0c{-I;oiC#J!KMrJs*%n}Ui-bXewR)3&!|??d$0% zmjpKa?N!rGGhW+=(Y>ZnusG%H;dvqyE4T;^$FQV^C7K{{tgyyMCN&(do_(69x9z9S zWhQo^&y-Nl1XCLIP;-S4vnsX@=o$UgjdasAIY^D<7fVDQ5lcj#*b!;eEhD^sS?eV$ zJX!)JQL7lE4(TrhIBzv=GgVNw+c8HZ!ZM>SW|rzTjWA$Yb#8`H(Ud+9!MlaAx#NuK z)<-AcZD(B4jeGFMQ6v$ACSpu(9%H>?8QRj!AniZkN;wo=+VczOU@<1nBGstMF71oq z+sY6X7{f|5PZBtC@&u0Poh0z&EDF4!-Laxvy|N5ljo-O=xwDlhjkc5XBk`Ekyhl(W m6d2vwiXNn!rOoDg_JT-D5UEmL$?C^ zLo-dbd6Jd0ya^k^al`UdiXBY`)C|05+&0C3@pOw2g|9u#-x0n&i9*I*I5 z)x`?t{5^nJ*lz&JgnU_>vu4+h?%wc@?$ArYhDazH?hQv`kYv^MMLN6p?vI9HOE{(| z)%EQs@}2G7F?g;g9PS5b4}~iGsusI|^6T=r1b2Y+3|uqL$#zS*K`RM>FKf$ikA06; z5!{;OX} zE>swhgb(?Ll0NO?hdED)Ql?A4NAk0rfCLRS+k)G|(ayeTZ(Uz+Z+oPp((iT2cWc9` z;ID3u8maRuvz(mW>?vsV35+YZ;AS~4*Ak9z2`9jE-12Df6|Ihx$A{0`3+0N?U`~qq zGBS{jL^&{ELn&t0fqogM-vnH0)Tk6`S=-mEf_y`iGS z?n;!fb9O3aw=kPmpz#Z%HiU}fB2&v{uOoY_JOQQ#ey_kpC6|@S%l!tGPX75$RStH{7nF&tKaaFDuW1RP=%V%XxE49h$Txjq4QisNLkl_m zWIh_ytNsh8XA04`8b^$@ofzpTYV%0;4QiuvNgg*AoX+?~M7}Hl^jxQS zx1+6p3!G8drbZ~Sv~9gT7@hcMe%{znd^28)svFx3jW_v`g%Zdrexr@6HzoD+=3ox~ zggMm2b*Vl^CiG3{n4^p9LhlSYUa$T87tI8bmC^ts6NU^Sx+t7kxK0%mIc~Ea!Tm?F z%aV;V)k`a*;hxG^cpz4(3h~?}TX{x5P3h3inj&eB#ka22;oseznBV8bzn-(=Ay1wj zvH*YRikWN@rWwAAoWU`ftB!-b{T_IX8;;+tGMn5+qGk&JZ_*f@VNLS2L z6bUb%K$&%kd3f|EBeLMz>#Vkegq3c>QQyOdEVg4rqMQ=>-lOAv^2;mvRKH19={9^? z7&DQnVaCW>@gNW=;~T&aZ7R(FfGo8DoW!T=OLAw3{S2YV+YKB( zzNtw69?9Vae0u*ro8mq-bg+gHX1t-b2yZLbDcej81C>czB7#L?s;l zw6$n`W*jq>Jghn=5#Q~xXDQo6pv6xNZ-}p_Yaq8+$y*2H>x*t(qO<{?PSA?q0&*75 zCTPWH0hnNCg61hrw32_M5R}HCv;%@2FQ=Yr_0p-Y`|cG!@1$rXkcRA_A~7r1L!r6E JtR$w;{{eeb<|+UH delta 1981 zcmb`GO-vI(6vyAR6@iurrSj2(E+~lM!|irwX7}JhizX-nCh9?m6)Ip1AEqb3gjMih zG%>_A;K2mr!Gj4L94Uzhqj(`vi8r``CPqDI8jYSbal4jnJ8cjMoBVd?y_xqh|CwEw zbKGN&v0a*^U@Qot5POo}f*?~WnQq~HE&zN4aDPrv`V?TZ?E4K+J#37+ze_GN7ZxOpxSd(R^BIr?jh5o$soH@e;@080!RSLo2(bG+VQw_~c!C)O$ zME1UN6vfu~&FJB(i+0O;Qgg#$8SJ50n}w+Uj$Ac;;|^59dgvqPL87E)C4NeHkD@@s zp_X7vXSl0B+#Bfc?QQS7P)B5uH3vGA>MzuXvlAuHo{-(GvdAU#sS@XrL|>W*r+HM~ z<6~cfR}$N0!=WK(qPV+%AO{h4YhY(mf6oRlXIBzAH4~=11emI#e(iOU-Zk>UZiuVz z_7<~_(e@IJs0x1w8KNoItC5edsfgSTvEt)o$BN|VI`yb&VXBXvxj$~oAhYOXQ=W}r z-8-^}g{Eqe)%@e>r7RESgvV47^{;u=`pX$DzOsb1M*g_0u<)x$j%6Hvdnea2zAbid zuOMk!P`+bI^`Yg66?SYT-)+O168?@Ji9+19XBr- Vj{StQw+qnFHgkb#mKURW+h4f|9Z~=Q diff --git a/hardware/sam/variants/sam3s-ek/include/syscalls.h b/hardware/sam/cores/sam/syscalls.h similarity index 100% rename from hardware/sam/variants/sam3s-ek/include/syscalls.h rename to hardware/sam/cores/sam/syscalls.h diff --git a/hardware/sam/variants/sam3s-ek/source/syscalls.c b/hardware/sam/cores/sam/syscalls_sam3.c similarity index 99% rename from hardware/sam/variants/sam3s-ek/source/syscalls.c rename to hardware/sam/cores/sam/syscalls_sam3.c index dd2dff8d1..fe22f55b6 100644 --- a/hardware/sam/variants/sam3s-ek/source/syscalls.c +++ b/hardware/sam/cores/sam/syscalls_sam3.c @@ -39,7 +39,7 @@ *----------------------------------------------------------------------------*/ -#include "board.h" +#include "variant.h" #include #include diff --git a/hardware/sam/cores/sam/wiring.c b/hardware/sam/cores/sam/wiring.c index 9ac5938db..35ecda469 100644 --- a/hardware/sam/cores/sam/wiring.c +++ b/hardware/sam/cores/sam/wiring.c @@ -119,24 +119,75 @@ void delayMicroseconds(unsigned int us) /* * Cortex-M3 Systick IT handler */ -void SysTick_Handler( void ) +extern void SysTick_Handler( void ) { // Increment tick count each ms TimeTick_Increment() ; } +//! Check Variant for PLL/Clock inits +#if defined sam3s_ek +#define VARIANT_PLLAR (CKGR_PLLAR_STUCKTO1 | \ + CKGR_PLLAR_MULA( 0x0f ) | \ + CKGR_PLLAR_PLLACOUNT( 0x1 ) | \ + CKGR_PLLAR_DIVA( 0x3 )) +#else + #error "No settings for current VARIANT" +#endif + + +/** + * \brief Performs the low-level initialization of the chip. + * This includes EFC and master clock configuration. + * It also enable a low level on the pin NRST triggers a user reset. + */ +static void LowLevelInit_sam3s_ek( void ) +{ + /* Set 3 FWS for Embedded Flash Access @ 64MHz, we are now at 4MHz on Internal FastRC */ + EFC->EEFC_FMR = EEFC_FMR_FWS( 3 ) ; + + /* Initialize main oscillator */ + if ( !(PMC->CKGR_MOR & CKGR_MOR_MOSCSEL) ) + { + PMC->CKGR_MOR = CKGR_MOR_KEY(0x37) | CKGR_MOR_MOSCXTST(0x8) | CKGR_MOR_MOSCRCEN | CKGR_MOR_MOSCXTEN ; + for ( ; !(PMC->PMC_SR & PMC_SR_MOSCXTS) ; ) ; + } + + /* Switch to 3-20MHz Xtal oscillator */ + PMC->CKGR_MOR = CKGR_MOR_KEY(0x37) | CKGR_MOR_MOSCXTST(0x8) | CKGR_MOR_MOSCRCEN | CKGR_MOR_MOSCXTEN | CKGR_MOR_MOSCSEL ; + for ( ; !(PMC->PMC_SR & PMC_SR_MOSCSELS) ; ) ; + + PMC->PMC_MCKR = (PMC->PMC_MCKR & ~(uint32_t)PMC_MCKR_CSS_Msk) | PMC_MCKR_CSS_MAIN_CLK ; + for ( ; !(PMC->PMC_SR & PMC_SR_MCKRDY) ; ) ; + + /* Initialize PLLA */ + PMC->CKGR_PLLAR = VARIANT_PLLAR ; + for ( ; !(PMC->PMC_SR & PMC_SR_LOCKA) ; ) ; + + /* Switch to main clock */ + PMC->PMC_MCKR = ((PMC_MCKR_PRES_CLK | PMC_MCKR_CSS_PLLA_CLK) & ~PMC_MCKR_CSS_Msk) | PMC_MCKR_CSS_MAIN_CLK ; + for ( ; !(PMC->PMC_SR & PMC_SR_MCKRDY) ; ) ; + + PMC->PMC_MCKR = (PMC_MCKR_PRES_CLK | PMC_MCKR_CSS_PLLA_CLK) ; + for ( ; !(PMC->PMC_SR & PMC_SR_MCKRDY) ; ) ; +} + void init( void ) { - // Disable watchdog + // Disable watchdog, common to all SAM variants WDT_Disable( WDT ) ; +#if defined sam3s_ek // Set Main clock to 64MHz using external 12MHz - LowLevelInit() ; + LowLevelInit_sam3s_ek() ; +#else +# error "Board/Variant not defined" +#endif - // Set Systick to 1ms interval - SysTick_Config( BOARD_MCK/1000 ) ; + // Set Systick to 1ms interval, common to all SAM3 variants + SysTick_Config( VARIANT_MCK/1000 ) ; - // Initialize Serial port UART0 + // Initialize Serial port UART0, common to all SAM3 variants PIO_Configure( APinDescription[PINS_UART].pPort, APinDescription[PINS_UART].dwPinType, APinDescription[PINS_UART].dwPin, APinDescription[PINS_UART].dwPinAttribute ) ; } diff --git a/hardware/sam/cores/sam/wiring_private.h b/hardware/sam/cores/sam/wiring_private.h index b1743c231..ff26f854f 100644 --- a/hardware/sam/cores/sam/wiring_private.h +++ b/hardware/sam/cores/sam/wiring_private.h @@ -25,6 +25,7 @@ #ifndef WiringPrivate_h #define WiringPrivate_h +#include #include #include diff --git a/hardware/sam/system/libsam/build_gcc/debug_sam3s4/acc.o b/hardware/sam/system/libsam/build_gcc/debug_sam3s4/acc.o index 270e17bfa08e5f31b12fe999e48ab2d1ee86680e..d7031ed9de4f389845c60b75141d655f4b54ca88 100644 GIT binary patch delta 14 WcmbPYImL3r9&tvC&3nbKvj6}rV+FYY delta 14 WcmbPYImL3r9&twV&3nbKvj6}rT?M!R diff --git a/hardware/sam/system/libsam/build_gcc/debug_sam3s4/adc.o b/hardware/sam/system/libsam/build_gcc/debug_sam3s4/adc.o index 64540f2fb39e70d8205d3ce98accfe26fc0e6791..945152ef6ccc82685d855878e760d8120832d4ab 100644 GIT binary patch delta 65 zcmeCF>#5stO5eo7z>py^r93P#r!-a1)WX1kAwJ$M)XzD@)88*X9wcIpE@HU(pFSTy E0K~TxP5=M^ delta 65 zcmeCF>#5stO5eoX(vTrBr93P#r!-a1)ZEg5AwJ$M)XzD@)88*X9wcIpCSqZ*`JX-? FKLE&n6lDMa diff --git a/hardware/sam/system/libsam/build_gcc/debug_sam3s4/dacc.o b/hardware/sam/system/libsam/build_gcc/debug_sam3s4/dacc.o index 0567289cb83c86e64cd917f6a56e363a1b4a9236..618677360d12ed5719e2b3dafda88b158fe75a94 100644 GIT binary patch delta 14 VcmZ2rx4>@0R!K&S&D$iiSOF~c1!VvL delta 14 VcmZ2rx4>@0R!K(l&D$iiSOF~W1!MpK diff --git a/hardware/sam/system/libsam/build_gcc/debug_sam3s4/efc.o b/hardware/sam/system/libsam/build_gcc/debug_sam3s4/efc.o index f82f954a7e3b6a9c3db8d3c0c4f3a9a57aeb09f7..93082dfc7ed64bf9c66e76594357d02c8954fbfa 100644 GIT binary patch delta 74 zcmdlGxFK+ZiGr<#IYWHBTd1FNh^N0_e7v5Sv85@Rh>3wYgQsIad_ZbZT7FTkbAE1a QVqS`#nTgTnLIryc09D8qqW}N^ delta 74 zcmdlGxFK+ZiGr=UIYWHBTd1FNh^N0_e7v5Sv4ttRh^0A$r(-~TKx$E1eo?M-er|4J PUW%TXiQ(o#1$zzvRzDV~ diff --git a/hardware/sam/system/libsam/build_gcc/debug_sam3s4/flashd.o b/hardware/sam/system/libsam/build_gcc/debug_sam3s4/flashd.o index 187b06f104df1cacd0bbd4719c7d077aced57e7a..685d39362520701e9b9854e6fe55e2b84c06537b 100644 GIT binary patch delta 122 zcmexT^`&aV7X4fkV}|&6w@^Rl5Kn)<_;@`tLsLsM5hFuGbP*#13=tCy5esw?j#{d8T delta 50 rcmca&cg1c)kEE)Z2}69mTd1FNh^N0_e7v5ixtRsJh~?&ul8adZqGu1y diff --git a/hardware/sam/system/libsam/build_gcc/debug_sam3s4/pwmc.o b/hardware/sam/system/libsam/build_gcc/debug_sam3s4/pwmc.o index bb9c34d2436343384c95896d35ce0e2d72489e6e..0b2ae355f3dbb9a781551f46c2a2ea38ade61166 100644 GIT binary patch delta 161 zcmaEJknzny#tqdT^%f=!@$qhbB6eMw@^Rl5Kn)<_;@{2a|>e(k5esw?3sVdc409~e%`q`BLephp a=wXH~WMqgTf^M0Ku>rao+Ho&W#< diff --git a/hardware/sam/system/libsam/build_gcc/debug_sam3s4/usart.o b/hardware/sam/system/libsam/build_gcc/debug_sam3s4/usart.o index d2059fddbc1cdf6f36923ead52415e1a82b8e70f..99ad8cb6d4b3b8441fbda2b9bb89080c505d4910 100644 GIT binary patch delta 14 Vcmey8{v~}wn>wS}=63a59soCu1|wTE=63a59soCo1|$Fg diff --git a/hardware/sam/system/libsam/build_gcc/release_sam3s4/acc.o b/hardware/sam/system/libsam/build_gcc/release_sam3s4/acc.o index b4bf902cd6c7e87c0acdcc6e954a618d891c3447..790485c59082f59e8668a594cfe713c2adc4a001 100644 GIT binary patch delta 13 UcmbQhJArqD0vn^nWJR`o02)mLa{vGU delta 13 UcmbQhJArqD0vn_GWJR`o02)XGasU7T diff --git a/hardware/sam/system/libsam/build_gcc/release_sam3s4/adc.o b/hardware/sam/system/libsam/build_gcc/release_sam3s4/adc.o index e4052401b664a22fef1446431a0cb9adeff4c01a..0acc09690cb022bfe11b2576ea504a9ab565f6cd 100644 GIT binary patch delta 33 ocmeB?>5R delta 33 ocmeB?>5K2I(q0I3QI%m4rY diff --git a/hardware/sam/system/libsam/build_gcc/release_sam3s4/dacc.o b/hardware/sam/system/libsam/build_gcc/release_sam3s4/dacc.o index 42c1217ee3d3614ad5cd2ae60a02a6533b3b7ae4..30bef3930f5b4128810e7f1e16a0679eb5a99926 100644 GIT binary patch delta 13 UcmeC-?cv>^$i`?fS&1zR02%WGXaE2J delta 13 UcmeC-?cv>^$i`?sS&1zR02%HBX8-^I diff --git a/hardware/sam/system/libsam/build_gcc/release_sam3s4/efc.o b/hardware/sam/system/libsam/build_gcc/release_sam3s4/efc.o index 8e1e35b17358f31d6088608514757f4dffd2bb65..3385822693d99a0ec6dc8969847f2d7e7cfff73c 100644 GIT binary patch delta 56 ycmZ1>wL)sc9Bx%}3x@c3w@^Rl5Kn)<_;@`tV+%8M5zEO3xy2a`H{ay;X9NJ_3=o(A delta 56 ycmZ1>wL)sc9Bx%J3x@c3w@^Rl5Kn)<_;@`tV{?LIhKMPKh$Xs+;pS$cRAvA{ CQXQfI diff --git a/hardware/sam/system/libsam/build_gcc/release_sam3s4/pio_capture.o b/hardware/sam/system/libsam/build_gcc/release_sam3s4/pio_capture.o index 81d89c0536dc154b7c5aaf9adf28543529f67892..5ada4d1c466775aa68e215f712768b9f8d6cf4a6 100644 GIT binary patch delta 13 UcmaDO@( diff --git a/hardware/sam/system/libsam/build_gcc/release_sam3s4/tc.o b/hardware/sam/system/libsam/build_gcc/release_sam3s4/tc.o index 72f01f717003e2b417b30dae11816ac136aea1f8..9fb04e9b0d75019cc3e546e743dca9fd0d9340c5 100644 GIT binary patch delta 49 pcmZ1=us~o#G`p&~IYWHBTd1FNh^N0_e7v5ixrH%?$m9n01pr~@4qE^K delta 49 pcmZ1=us~o#G`p&qIYWHBTd1FNh^N0_e7v5ixw$ch$m9n01pr~84p;yH diff --git a/hardware/sam/system/libsam/build_gcc/release_sam3s4/twi.o b/hardware/sam/system/libsam/build_gcc/release_sam3s4/twi.o index 4b9fadc1cd5c5d1d30bb73b1b6cdd6ad85fa5cc7..b755911345bf3e55b0ffe83898aad6861eae349b 100644 GIT binary patch delta 213 zcmbQEJx6;3i%`9p0YiMeTd1FNh^N0_e7v5SvAHRRh$Xs+g&DetC5Abc=;oLh7^CSj bG4wD;7cw%!5J9)h#MlsBjq&EwLKm3;u*^Gc delta 213 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 C6d?Nm delta 2089 zcmb`GT}TvB6oBvCyJoGqmac9J#aL*d>CXS1)k1A66v8Yt#KhfowTDm_79s*=z#c>* zsU2aYw-llx#N1$dh!6rF41}T|s2~X>ACi_H#0T4&-P*CeZl>bEH*?R=oO92)=Z@=H zkp1dMQfy>XQIA~Xy@f=3Ym z{>S@|0BjG+b_Gfu=j#Xn>!SR2ph{}NhVjsVO2r@pD3W_qfLae_J>v##aMuFZ6jikV z{y|ABV6&mz4u-q{l1$J5rbhXf0l-hMlUbPqaEqYI(;x}IA;&qHSZv~}^#YVkID#^= zEWqdYYcDmFV=*o@qgBtrec`U0X$Qg#P$Q@)+)_GiiQ7VIUbupJ>lCqz1-_0e=Y3t5 zJIf7;0Upn(rh0c{-I;oiC#J!KMrJs*%n}Ui-bXewR)3&!|??d$0% zmjpKa?N!rGGhW+=(Y>ZnusG%H;dvqyE4T;^$FQV^C7K{{tgyyMCN&(do_(69x9z9S zWhQo^&y-Nl1XCLIP;-S4vnsX@=o$UgjdasAIY^D<7fVDQ5lcj#*b!;eEhD^sS?eV$ zJX!)JQL7lE4(TrhIBzv=GgVNw+c8HZ!ZM>SW|rzTjWA$Yb#8`H(Ud+9!MlaAx#NuK z)<-AcZD(B4jeGFMQ6v$ACSpu(9%H>?8QRj!AniZkN;wo=+VczOU@<1nBGstMF71oq z+sY6X7{f|5PZBtC@&u0Poh0z&EDF4!-Laxvy|N5ljo-O=xwDlhjkc5XBk`Ekyhl(W m6d2vwiXNn!rOoDg_JT-D5UEmL$?C^ zLo-dbd6Jd0ya^k^al`UdiXBY`)C|05+&0C3@pOw2g|9u#-x0n&i9*I*I5 z)x`?t{5^nJ*lz&JgnU_>vu4+h?%wc@?$ArYhDazH?hQv`kYv^MMLN6p?vI9HOE{(| z)%EQs@}2G7F?g;g9PS5b4}~iGsusI|^6T=r1b2Y+3|uqL$#zS*K`RM>FKf$ikA06; z5!{;OX} zE>swhgb(?Ll0NO?hdED)Ql?A4NAk0rfCLRS+k)G|(ayeTZ(Uz+Z+oPp((iT2cWc9` z;ID3u8maRuvz(mW>?vsV35+YZ;AS~4*Ak9z2`9jE-12Df6|Ihx$A{0`3+0N?U`~qq zGBS{jL^&{ELn&t0fqogM-vnH0)Tk6`S=-mEf_y`iGS z?n;!fb9O3aw=kPmpz#Z%HiU}fB2&v{uOoY_JOQQ#ey_kpC6|@S%l!tGPX75$RStH{7nF&tKaaFDuW1RP=%V%XxE49h$Txjq4QisNLkl_m zWIh_ytNsh8XA04`8b^$@ofzpTYV%0;4QiuvNgg*AoX+?~M7}Hl^jxQS zx1+6p3!G8drbZ~Sv~9gT7@hcMe%{znd^28)svFx3jW_v`g%Zdrexr@6HzoD+=3ox~ zggMm2b*Vl^CiG3{n4^p9LhlSYUa$T87tI8bmC^ts6NU^Sx+t7kxK0%mIc~Ea!Tm?F z%aV;V)k`a*;hxG^cpz4(3h~?}TX{x5P3h3inj&eB#ka22;oseznBV8bzn-(=Ay1wj zvH*YRikWN@rWwAAoWU`ftB!-b{T_IX8;;+tGMn5+qGk&JZ_*f@VNLS2L z6bUb%K$&%kd3f|EBeLMz>#Vkegq3c>QQyOdEVg4rqMQ=>-lOAv^2;mvRKH19={9^? z7&DQnVaCW>@gNW=;~T&aZ7R(FfGo8DoW!T=OLAw3{S2YV+YKB( zzNtw69?9Vae0u*ro8mq-bg+gHX1t-b2yZLbDcej81C>czB7#L?s;l zw6$n`W*jq>Jghn=5#Q~xXDQo6pv6xNZ-}p_Yaq8+$y*2H>x*t(qO<{?PSA?q0&*75 zCTPWH0hnNCg61hrw32_M5R}HCv;%@2FQ=Yr_0p-Y`|cG!@1$rXkcRA_A~7r1L!r6E JtR$w;{{eeb<|+UH delta 1981 zcmb`GO-vI(6vyAR6@iurrSj2(E+~lM!|irwX7}JhizX-nCh9?m6)Ip1AEqb3gjMih zG%>_A;K2mr!Gj4L94Uzhqj(`vi8r``CPqDI8jYSbal4jnJ8cjMoBVd?y_xqh|CwEw zbKGN&v0a*^U@Qot5POo}f*?~WnQq~HE&zN4aDPrv`V?TZ?E4K+J#37+ze_GN7ZxOpxSd(R^BIr?jh5o$soH@e;@080!RSLo2(bG+VQw_~c!C)O$ zME1UN6vfu~&FJB(i+0O;Qgg#$8SJ50n}w+Uj$Ac;;|^59dgvqPL87E)C4NeHkD@@s zp_X7vXSl0B+#Bfc?QQS7P)B5uH3vGA>MzuXvlAuHo{-(GvdAU#sS@XrL|>W*r+HM~ z<6~cfR}$N0!=WK(qPV+%AO{h4YhY(mf6oRlXIBzAH4~=11emI#e(iOU-Zk>UZiuVz z_7<~_(e@IJs0x1w8KNoItC5edsfgSTvEt)o$BN|VI`yb&VXBXvxj$~oAhYOXQ=W}r z-8-^}g{Eqe)%@e>r7RESgvV47^{;u=`pX$DzOsb1M*g_0u<)x$j%6Hvdnea2zAbid zuOMk!P`+bI^`Yg66?SYT-)+O168?@Ji9+19XBr- Vj{StQw+qnFHgkb#mKURW+h4f|9Z~=Q diff --git a/hardware/sam/system/libsam/lib/libchip_sam3s4_gcc_rel.a.txt b/hardware/sam/system/libsam/lib/libchip_sam3s4_gcc_rel.a.txt index 2318f0e28..cc22d73ed 100644 --- a/hardware/sam/system/libsam/lib/libchip_sam3s4_gcc_rel.a.txt +++ b/hardware/sam/system/libsam/lib/libchip_sam3s4_gcc_rel.a.txt @@ -3,7 +3,7 @@ acc.o: 00000000 T ACC_Configure 00000000 T ACC_GetComparisionResult 00000000 T ACC_SetComparisionPair -00000000 r __FUNCTION__.5770 +00000000 r __FUNCTION__.5780 U __assert_func adc.o: @@ -22,8 +22,8 @@ adc.o: 00000000 T ADC_SetCompareMode 00000000 T ADC_SetComparisonWindow 00000000 T ADC_cfgFrequency -00000000 r __FUNCTION__.5797 -00000015 r __FUNCTION__.5802 +00000000 r __FUNCTION__.5807 +00000015 r __FUNCTION__.5812 U __assert_func async.o: @@ -38,7 +38,7 @@ dacc.o: 00000000 T DACC_Initialize 00000000 T DACC_SetConversionData 00000000 T DACC_WriteBuffer -00000000 r __FUNCTION__.5774 +00000000 r __FUNCTION__.5784 U __assert_func efc.o: @@ -51,10 +51,10 @@ efc.o: 00000000 T EFC_SetWaitState 00000000 T EFC_StartCommand 00000000 T EFC_TranslateAddress -00000000 b IAP_PerformCommand.6406 -00000000 r __FUNCTION__.6368 -00000015 r __FUNCTION__.6376 -00000028 r __FUNCTION__.6388 +00000000 b IAP_PerformCommand.6416 +00000000 r __FUNCTION__.6378 +00000015 r __FUNCTION__.6386 +00000028 r __FUNCTION__.6398 U __assert_func exceptions.o: @@ -120,12 +120,12 @@ flashd.o: 00000000 T FLASHD_SetGPNVM 00000000 T FLASHD_Unlock 00000000 T FLASHD_Write -00000000 r __FUNCTION__.6140 -0000000d r __FUNCTION__.6192 -0000001d r __FUNCTION__.6201 -0000002f r __FUNCTION__.6205 -0000003f r __FUNCTION__.6209 -00000051 r __FUNCTION__.6214 +00000000 r __FUNCTION__.6150 +0000000d r __FUNCTION__.6202 +0000001d r __FUNCTION__.6211 +0000002f r __FUNCTION__.6215 +0000003f r __FUNCTION__.6219 +00000051 r __FUNCTION__.6224 U __assert_func 00000004 b _adwPageBuffer 00000000 b _dwUseIAP @@ -154,7 +154,7 @@ pio_capture.o: 00000000 T PIO_CaptureInit U PMC_EnablePeripheral 00000000 b _PioCaptureCopy -00000000 r __FUNCTION__.6362 +00000000 r __FUNCTION__.6372 U __assert_func pmc.o: @@ -163,13 +163,13 @@ pmc.o: 00000000 T PMC_EnableAllPeripherals 00000000 T PMC_EnablePeripheral 00000000 T PMC_IsPeriphEnabled -00000000 r __FUNCTION__.5764 -00000015 r __FUNCTION__.5768 -0000002b r __FUNCTION__.5790 +00000000 r __FUNCTION__.5774 +00000015 r __FUNCTION__.5778 +0000002b r __FUNCTION__.5800 U __assert_func pwmc.o: -00000000 r C.1.6987 +00000000 r C.1.7002 00000000 t FindClockConfiguration 00000000 T PWMC_ConfigureChannel 00000000 T PWMC_ConfigureChannelExt @@ -196,14 +196,14 @@ pwmc.o: 00000000 T PWMC_SetSyncChannelUpdatePeriod 00000000 T PWMC_SetSyncChannelUpdateUnlock 00000000 T PWMC_WriteBuffer -0000002c r __FUNCTION__.5768 -00000043 r __FUNCTION__.5779 -00000059 r __FUNCTION__.5794 -00000072 r __FUNCTION__.5805 -00000087 r __FUNCTION__.5816 -00000099 r __FUNCTION__.5823 -000000aa r __FUNCTION__.5905 -000000c7 r __FUNCTION__.5911 +0000002c r __FUNCTION__.5778 +00000043 r __FUNCTION__.5789 +00000059 r __FUNCTION__.5804 +00000072 r __FUNCTION__.5815 +00000087 r __FUNCTION__.5826 +00000099 r __FUNCTION__.5833 +000000aa r __FUNCTION__.5915 +000000c7 r __FUNCTION__.5921 U __assert_func rtc.o: @@ -219,9 +219,9 @@ rtc.o: 00000000 T RTC_SetHourMode 00000000 T RTC_SetTime 00000000 T RTC_SetTimeAlarm -00000000 r __FUNCTION__.5765 -00000010 r __FUNCTION__.5774 -0000001d r __FUNCTION__.5779 +00000000 r __FUNCTION__.5775 +00000010 r __FUNCTION__.5784 +0000001d r __FUNCTION__.5789 U __assert_func rtt.o: @@ -230,8 +230,8 @@ rtt.o: 00000000 T RTT_GetTime 00000000 T RTT_SetAlarm 00000000 T RTT_SetPrescaler -00000000 r __FUNCTION__.5772 -0000000d r __FUNCTION__.5780 +00000000 r __FUNCTION__.5782 +0000000d r __FUNCTION__.5790 U __assert_func spi.o: @@ -295,9 +295,9 @@ tc.o: 00000000 T TC_FindMckDivisor 00000000 T TC_Start 00000000 T TC_Stop -00000000 r __FUNCTION__.5767 -0000000d r __FUNCTION__.5773 -00000016 r __FUNCTION__.5779 +00000000 r __FUNCTION__.5777 +0000000d r __FUNCTION__.5783 +00000016 r __FUNCTION__.5789 U __assert_func twi.o: @@ -316,18 +316,18 @@ twi.o: 00000000 T TWI_Stop 00000000 T TWI_TransferComplete 00000000 T TWI_WriteByte -00000000 r __FUNCTION__.6350 -00000014 r __FUNCTION__.6365 -00000027 r __FUNCTION__.6369 -00000030 r __FUNCTION__.6376 -0000003e r __FUNCTION__.6380 -0000004b r __FUNCTION__.6385 -00000059 r __FUNCTION__.6393 -00000068 r __FUNCTION__.6407 -00000075 r __FUNCTION__.6412 -00000083 r __FUNCTION__.6416 -00000091 r __FUNCTION__.6421 -000000a5 r __FUNCTION__.6425 +00000000 r __FUNCTION__.6360 +00000014 r __FUNCTION__.6375 +00000027 r __FUNCTION__.6379 +00000030 r __FUNCTION__.6386 +0000003e r __FUNCTION__.6390 +0000004b r __FUNCTION__.6395 +00000059 r __FUNCTION__.6403 +00000068 r __FUNCTION__.6417 +00000075 r __FUNCTION__.6422 +00000083 r __FUNCTION__.6426 +00000091 r __FUNCTION__.6431 +000000a5 r __FUNCTION__.6435 U __assert_func twid.o: @@ -347,10 +347,10 @@ twid.o: U TWI_Stop U TWI_TransferComplete U TWI_WriteByte -00000000 r __FUNCTION__.6355 -00000010 r __FUNCTION__.6362 -0000001d r __FUNCTION__.6375 -00000027 r __FUNCTION__.6397 +00000000 r __FUNCTION__.6365 +00000010 r __FUNCTION__.6372 +0000001d r __FUNCTION__.6385 +00000027 r __FUNCTION__.6407 U __assert_func usart.o: @@ -369,7 +369,7 @@ usart.o: 00000000 T USART_SetTransmitterEnabled 00000000 T USART_Write 00000000 T USART_WriteBuffer -00000000 r __FUNCTION__.6149 +00000000 r __FUNCTION__.6159 U __assert_func wdt.o: @@ -380,3 +380,11 @@ wdt.o: 00000000 T WDT_Restart core_cm3.o: + +timetick.o: +00000000 T GetTickCount +00000000 T Sleep +00000000 T TimeTick_Configure +00000000 T TimeTick_Increment +00000000 T Wait +00000000 b _dwTickCount diff --git a/hardware/sam/variants/sam3s-ek/source/timetick.c b/hardware/sam/system/libsam/source/timetick.c similarity index 99% rename from hardware/sam/variants/sam3s-ek/source/timetick.c rename to hardware/sam/system/libsam/source/timetick.c index 013292abe..31cd4d352 100644 --- a/hardware/sam/variants/sam3s-ek/source/timetick.c +++ b/hardware/sam/system/libsam/source/timetick.c @@ -36,7 +36,7 @@ * Headers *----------------------------------------------------------------------------*/ -#include "board.h" +#include "chip.h" /*---------------------------------------------------------------------------- * Local variables diff --git a/hardware/sam/variants/sam3s-ek/build_gcc/Makefile b/hardware/sam/variants/sam3s-ek/build_gcc/Makefile deleted file mode 100644 index 4d4c73059..000000000 --- a/hardware/sam/variants/sam3s-ek/build_gcc/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -# Makefile for compiling libboard - -SUBMAKE_OPTIONS=--no-builtin-rules --no-builtin-variables - -#------------------------------------------------------------------------------- -# Rules -#------------------------------------------------------------------------------- - -all: sam3s_ek - -.PHONY: sam3s_ek -sam3s_ek: - @echo --- Making sam3s_ek - @$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f sam3s_ek.mk - @$(MAKE) $(SUBMAKE_OPTIONS) -f sam3s_ek.mk - -.PHONY: clean -clean: - @echo --- Cleaning sam3s_ek - @$(MAKE) $(SUBMAKE_OPTIONS) -f sam3s_ek.mk $@ - @$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f sam3s_ek.mk $@ - - diff --git a/hardware/sam/variants/sam3s-ek/build_gcc/debug.mk b/hardware/sam/variants/sam3s-ek/build_gcc/debug.mk deleted file mode 100644 index 3ab3f8066..000000000 --- a/hardware/sam/variants/sam3s-ek/build_gcc/debug.mk +++ /dev/null @@ -1,7 +0,0 @@ -# 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/sam/variants/sam3s-ek/build_gcc/debug_sam3s_ek/board_cstartup_gnu.o b/hardware/sam/variants/sam3s-ek/build_gcc/debug_sam3s_ek/board_cstartup_gnu.o deleted file mode 100644 index 2c1a96cf68645dfdb0f215f67c1575811dff98eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16740 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 A9smFU diff --git a/hardware/sam/variants/sam3s-ek/build_gcc/debug_sam3s_ek/syscalls.o b/hardware/sam/variants/sam3s-ek/build_gcc/debug_sam3s_ek/syscalls.o deleted file mode 100644 index 1967a5e13620b776385fcf028afc3139dccf929c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9900 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 F_dm4eqyPW_ diff --git a/hardware/sam/variants/sam3s-ek/build_gcc/debug_sam3s_ek/timetick.o b/hardware/sam/variants/sam3s-ek/build_gcc/debug_sam3s_ek/timetick.o deleted file mode 100644 index aa161caaa3a3f85b6b99a978cd6f17f67ebace3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9932 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 diff --git a/hardware/sam/variants/sam3s-ek/build_gcc/release_sam3s_ek/board_lowlevel.o b/hardware/sam/variants/sam3s-ek/build_gcc/release_sam3s_ek/board_lowlevel.o deleted file mode 100644 index 67e5880fc3606f68fc4debaf63bcfc139a3f14e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1049 zcma)4%Wl(95S?o~X%bLNVyd=5LZ(R}l^ZKBghUrf6(BSZA;E?P64;I<0!dssE~P8_ z3&4*c!Ge!qLBE2nD}{BLv3*m!LV}S-XU@!-@m$~g;bH#~V+^=4D8U5-_!f{v!xxkw z14~fuJ(;(h{HvX={6_XpW>-$t{j9Ow{WQ&aY(+Z#dUoDqKUw|vuVQbjn>V1a+5I@p z&QF@rn*6rliDKJhqHIE8gA`sW*1gvIjJ>j75n>fqkWIFG^)EdFR)pQ8ze{}DK?gF+ zEs&O5>C`X(1x_&;*P8LG`X}B%1zle05%RNB=>axn9zI_s%;w}Rg#tMq%Deifrz*eA}T$lbo z!yqAp<|(m={!_-#N(`8%DVn6>#%#OvSMlcT)@*xXdU|VOyKksLDq`V&9$yAQ3$e$=+Y$c=VG>tf3; z5!Kh$R;~HFz1^Vc1$$O~VZplPN1j!yRI7Gnd163+3XZan6`Br;Qn7*7&?gcDT0_xedrDP_iu=21aDJ+{h)n5r$+3 zUdLvq?Szfs5h=ancSUuYonGi^zq8GI5W^4MDB2UN6MEiYP~f>O2|Nz4uk=J7iXy>B zey1b)Loe$47#8$+eZ2UpT_wBO+u8BD7;*K^ri~c`zp)#6p_KZg@-rZ~1%@?J^+7VM zpw%xR8E0xck5g?#bQ$qeIb2bXVIevnTYld2$KV#>8%_C-kbDC6IWXs9=J~z{r}O;? zTlNH%WFKhB4DS93xO+L=1K4QH0ZBd=p7gxiuw{=77F;if`{@MS&pBN81l-dcE`a?B zSV-o50Y`d$`>-bk1SxC%4SKrHMHo`&agF0T{{c?t`xUm#1$ChRnZrGUecXBct#LI- zrr*Icv8Fye7xO<_a^En$1TVyz`Uvh{nCQ{IgkD3biUG+urZZsa<=94Ga6!Q#IF{-C z9Sjj2!tp8mUxK-QTqmwwI^RBu#b+WU`NS5P_7~~xd-1b02dhwCGqVzor)OllnCSst z-DwO>&Rb4f@(t(k=@a67Bf0p98mPY}{=9V0sXsA+n5arNp6)QtU&_VPe;CKda`CYw zIW!Z|Z2qie(s(XD9@is5ac3uFBAUe5&(%xF#7Sr4eDVpI=&JmPvJP|Q4Xij#CP`Fz zO*%{GV;se@jPv6j6XMzUe&wFwlPcr8n6XD_S=(I6GR|jJ+dO|6=W#7#m*_^u9;4gZ z=6#m2TfQH8KJKA1>dE(@5U-~N<~V){#7`67Ysvb62=~IK+v$XMljb6tYf;;C`}Vir z)vl0wR2{F|qWDeKuc>}V9sPnj>g{ymSJP4Nr4zrBen0TL(Kb2pJL%{bQmwUs4NvpB QzEbyM0fplA7A_Ed09*~x4gdfE diff --git a/hardware/sam/variants/sam3s-ek/build_gcc/release_sam3s_ek/timetick.o b/hardware/sam/variants/sam3s-ek/build_gcc/release_sam3s_ek/timetick.o deleted file mode 100644 index 2924144850de64cb0f11533f3408410c31015b0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1832 zcma)6%}*0S6o1n#r8Goq(O9d|6^LShO(~cdZcw4&qcH&zPKIvFVpl08+ieu1K{=7= zfvbrJ4|?a~nTvk_i5HICJQ10O$xL--DdVkTK;j;-Cc8L^WpC(Gj9tJL=R@2{cVAQx%MiG%ds$+sX6 zxomb+@0+jIos#8j=(+xWeb#m@J(C_9GSb6?Bbht;h;i4*z*rjVH7&DfgSdreTej-B z*0aIwFR#WjnlT}SFNTR71LW7%{~Fp9Mr7>>1S zP|#SgE7pQtda^XNR&uP0wT8IU$!v9P#eP(GEG3z|))uYIG<6D_0RnR~+#t$a@ZEhkWxUYQky0--?rM0&pAi(H30TpF@gm zx`)rP=n<%=qObOy}#7;TmB1^S&h zSeS1G11eu!;iI~k?={*g-!}T!aIi4nOAM%dNrf+lIp*6zTjl$RzK(;1`QBnc<DeZb3lh%pxCW1qDe55v#D94D>H(_m zJWdVzf~pNf!@nxXQ9R<|2O1Fm>tsN~PHx6WJv{Z1l)xfigIEhb=Hcnwq)^8Mq9MAO zzth79eJFi(2HgV*?M$3Hk8@s*KN_;#@Nn|Z5;!a4`}8j+aQ_p&Pjw`4zjMA%H6(C9 zi@vXWKB8QFN?m*rjS}>_(7Oyv%TI$B@{EVJ5elByrbpF#O63EJYfv2_+}wb#>4eFr KGbBxQk^Tn^|G07h diff --git a/hardware/sam/variants/sam3s-ek/build_gcc/sam3s_ek.mk b/hardware/sam/variants/sam3s-ek/build_gcc/sam3s_ek.mk deleted file mode 100644 index e58f5cece..000000000 --- a/hardware/sam/variants/sam3s-ek/build_gcc/sam3s_ek.mk +++ /dev/null @@ -1,122 +0,0 @@ -# Makefile for compiling libboard -.SUFFIXES: .o .a .c .s - -CHIP=sam3s4 -BOARD=sam3s_ek -LIBNAME=libboard -TOOLCHAIN=gcc - -#------------------------------------------------------------------------------- -# Path -#------------------------------------------------------------------------------- - -# Output directories -OUTPUT_BIN = ../lib - -# Libraries -PROJECT_BASE_PATH = .. - -#------------------------------------------------------------------------------- -# Files -#------------------------------------------------------------------------------- - -vpath %.h $(PROJECT_BASE_PATH)/include -vpath %.c $(PROJECT_BASE_PATH)/source -vpath %.s $(PROJECT_BASE_PATH)/source - -VPATH+=$(PROJECT_BASE_PATH)/source - -INCLUDES = -I$(PROJECT_BASE_PATH) -INCLUDES += -I$(PROJECT_BASE_PATH)/include -INCLUDES += -I$(PROJECT_BASE_PATH)/../libchip_sam3s - -#------------------------------------------------------------------------------- -ifdef DEBUG -include debug.mk -else -include release.mk -endif - -#------------------------------------------------------------------------------- -# Tools -#------------------------------------------------------------------------------- - -include $(TOOLCHAIN).mk - -#------------------------------------------------------------------------------- -ifdef DEBUG -OUTPUT_OBJ=debug -OUTPUT_LIB=$(LIBNAME)_$(BOARD)_$(TOOLCHAIN)_dbg.a -else -OUTPUT_OBJ=release -OUTPUT_LIB=$(LIBNAME)_$(BOARD)_$(TOOLCHAIN)_rel.a -endif - -OUTPUT_PATH=$(OUTPUT_OBJ)_$(BOARD) - -#------------------------------------------------------------------------------- -# C source files and objects -#------------------------------------------------------------------------------- -C_SRC=$(wildcard $(PROJECT_BASE_PATH)/source/*.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)) - -#------------------------------------------------------------------------------- -# Assembler source files and objects -#------------------------------------------------------------------------------- -A_SRC=$(wildcard $(PROJECT_BASE_PATH)/source/*.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: $(BOARD) - -$(BOARD): create_output $(OUTPUT_LIB) - -.PHONY: create_output -create_output: - @echo --- Preparing $(BOARD) files $(OUTPUT_PATH) $(OUTPUT_BIN) -# @echo ------------------------- -# @echo *$(C_SRC) -# @echo ------------------------- -# @echo *$(C_OBJ) -# @echo ------------------------- -# @echo *$(addprefix $(OUTPUT_PATH)/, $(C_OBJ)) -# @echo ------------------------- -# @echo *$(A_SRC) -# @echo ------------------------- - - -@mkdir $(subst /,$(SEP),$(OUTPUT_BIN)) 1>NUL 2>&1 - -@mkdir $(OUTPUT_PATH) 1>NUL 2>&1 - -$(addprefix $(OUTPUT_PATH)/,$(C_OBJ)): $(OUTPUT_PATH)/%.o: %.c - @$(CC) -c $(CFLAGS) $< -o $@ - -$(addprefix $(OUTPUT_PATH)/,$(A_OBJ)): $(OUTPUT_PATH)/%.o: %.s - @$(AS) -c $(ASFLAGS) $< -o $@ - -$(OUTPUT_LIB): $(addprefix $(OUTPUT_PATH)/, $(C_OBJ)) $(addprefix $(OUTPUT_PATH)/, $(A_OBJ)) - @$(AR) -r "$(OUTPUT_BIN)/$@" $^ - @$(NM) "$(OUTPUT_BIN)/$@" > "$(OUTPUT_BIN)/$@.txt" - -.PHONY: clean -clean: - @echo --- Cleaning $(BOARD) files [$(OUTPUT_PATH)$(SEP)*.o] - -@$(RM) $(OUTPUT_PATH) 1>NUL 2>&1 - -@$(RM) $(OUTPUT_BIN)/$(OUTPUT_LIB) 1>NUL 2>&1 - -@$(RM) $(OUTPUT_BIN)/$(OUTPUT_LIB).txt 1>NUL 2>&1 - -# dependencies -$(addprefix $(OUTPUT_PATH)/,$(C_OBJ)): $(OUTPUT_PATH)/%.o: $(PROJECT_BASE_PATH)/board.h $(wildcard $(PROJECT_BASE_PATH)/include/*.h) diff --git a/hardware/sam/variants/sam3s-ek/include/bitbanding.h b/hardware/sam/variants/sam3s-ek/include/bitbanding.h deleted file mode 100644 index a3ca5011e..000000000 --- a/hardware/sam/variants/sam3s-ek/include/bitbanding.h +++ /dev/null @@ -1,108 +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. - * ---------------------------------------------------------------------------- - */ - -#ifndef _BITBANDING_ -#define _BITBANDING_ - -/*---------------------------------------------------------------------------- - * \file bitbanding.h - * Include Defines & macros for bit-banding. - *----------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------- - * Header files - *----------------------------------------------------------------------------*/ - -#include - -/*---------------------------------------------------------------------------- - * Global Macros - *----------------------------------------------------------------------------*/ - -/** - * \brief Check if the address is in bit banding sram region. - * - * \note The address should be in area of 0x2000000 ~ 0x200FFFFF - * - * \param x The address to check. - */ -#define IS_BITBAND_SRAM_ADDR(x) \ - ( ((uint32_t)(x)) >= 0x20000000 && \ - ((uint32_t)(x)) < (0x20000000+0x100000) ) - -/** - * \brief Check if the address is in bit banding peripheral region - * - * \note The address should be in area of 0x4000000 ~ 0x400FFFFF - * \param x The address to check - */ -#define IS_BITBAND_PERIPH_ADDR(x) \ - ( ((uint32_t)(x)) >= 0x40000000 && \ - ((uint32_t)(x)) < (0x40000000+0x100000) ) - -/** - * \brief Calculate bit band alias address. - * - * Calculate the bit band alias address and return a pointer address to word. - * - * \param addr The byte address of bitbanding bit. - * \param bit The bit position of bitbanding bit. - * \callergraph - */ -#define BITBAND_ALIAS_ADDRESS(addr, bit) \ - ((volatile uint32_t*)((((uint32_t)(addr) & 0xF0000000) + 0x02000000) \ - +((((uint32_t)(addr)&0xFFFFF)*32)\ - +( (uint32_t)(bit)*4)))) - -/** - * \brief Bit write through bit banding. - * - * \param addr32 32-bit aligned byte address where the bit exists. - * \param bit Bit position. - * \param val The value that the bit is set to. - * \callergraph - */ -#define WRITE_BITBANDING(addr32, bit, val) do {\ - *BITBAND_ALIAS_ADDRESS(addr32,bit) = (val); \ - } while (0); - -/** - * \brief Toggle bit through bit banding - * - * \param addr32 32-bit aligned byte address where the bit exists. - * \param bit Bit position. - */ -#define TOGGLE_BITBANDING(addr32, bit) do {\ - volatile uint32_t * p = \ - BITBAND_ALIAS_ADDRESS(addr32,bit); \ - if (*p) *p = 0; \ - else *p = 1; \ - }while(0); - -#endif /* #ifndef _BITBANDING_ */ diff --git a/hardware/sam/variants/sam3s-ek/include/board_lowlevel.h b/hardware/sam/variants/sam3s-ek/include/board_lowlevel.h deleted file mode 100644 index cc6cdbe40..000000000 --- a/hardware/sam/variants/sam3s-ek/include/board_lowlevel.h +++ /dev/null @@ -1,46 +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. - * ---------------------------------------------------------------------------- - */ - -/** - * \file - * - * Interface for the low-level initialization function. - * - */ - -#ifndef BOARD_LOWLEVEL_H -#define BOARD_LOWLEVEL_H - -/*---------------------------------------------------------------------------- - * Exported functions - *----------------------------------------------------------------------------*/ -extern void LowLevelInit( void ) ; - -#endif /* BOARD_LOWLEVEL_H */ - diff --git a/hardware/sam/variants/sam3s-ek/linker_scripts/README.txt b/hardware/sam/variants/sam3s-ek/linker_scripts/README.txt index 0b0362485..c2ce9dbf0 100644 --- a/hardware/sam/variants/sam3s-ek/linker_scripts/README.txt +++ b/hardware/sam/variants/sam3s-ek/linker_scripts/README.txt @@ -1,6 +1,9 @@ files to be used for Arduino API build: flash_arduino.ld +files to be used for Arduino Bootloader build: +flash_arduino_bootloader.ld + files to be used for other uses of board flash.ld sram.ld \ No newline at end of file diff --git a/hardware/sam/variants/sam3s-ek/linker_scripts/flash_arduino.ld b/hardware/sam/variants/sam3s-ek/linker_scripts/flash_arduino.ld index c47a2c508..1900568e9 100644 --- a/hardware/sam/variants/sam3s-ek/linker_scripts/flash_arduino.ld +++ b/hardware/sam/variants/sam3s-ek/linker_scripts/flash_arduino.ld @@ -38,8 +38,8 @@ SEARCH_DIR(.) /* Memory Spaces Definitions */ MEMORY { - rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00040000 /* flash, 256K */ - ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x0000c000 /* sram, 48K */ + rom (rx) : ORIGIN = 0x00404000, LENGTH = 0x0003c000 /* flash, 240KB = 256K minus 16KB of bootloader */ + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x0000c000 /* sram, 48KB */ } /* Section Definitions */ diff --git a/hardware/sam/variants/sam3s-ek/linker_scripts/flash_arduino_bootloader.ld b/hardware/sam/variants/sam3s-ek/linker_scripts/flash_arduino_bootloader.ld new file mode 100644 index 000000000..b1f362548 --- /dev/null +++ b/hardware/sam/variants/sam3s-ek/linker_scripts/flash_arduino_bootloader.ld @@ -0,0 +1,140 @@ +/* ---------------------------------------------------------------------------- + * ATMEL Microcontroller Software Support + * ---------------------------------------------------------------------------- + * Copyright (c) 2009, Atmel Corporation + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer below. + * + * Atmel's name may not be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * ---------------------------------------------------------------------------- + */ + +/*------------------------------------------------------------------------------ + * Linker script for running in internal FLASH on the ATSAM3S4 + *----------------------------------------------------------------------------*/ + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +SEARCH_DIR(.) + +/* Memory Spaces Definitions */ +MEMORY +{ + rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00004000 /* flash, 16KB */ + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x0000c000 /* sram, 48KB */ +} + +/* Section Definitions */ +SECTIONS +{ + .text : + { + . = ALIGN(4); + _sfixed = .; + KEEP(*(.vectors .vectors.*)) + *(.text .text.* .gnu.linkonce.t.*) + *(.glue_7t) *(.glue_7) + *(.rodata .rodata* .gnu.linkonce.r.*) + *(.ARM.extab* .gnu.linkonce.armextab.*) + + /* Support C constructors, and C destructors in both user code + and the C library. This also provides support for C++ code. */ + . = ALIGN(4); + KEEP(*(.init)) + . = ALIGN(4); + __preinit_array_start = .; + KEEP (*(.preinit_array)) + __preinit_array_end = .; + + . = ALIGN(4); + __init_array_start = .; + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + __init_array_end = .; + + . = ALIGN(0x4); + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*crtend.o(.ctors)) + + . = ALIGN(4); + KEEP(*(.fini)) + + . = ALIGN(4); + __fini_array_start = .; + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + __fini_array_end = .; + + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*crtend.o(.dtors)) + + . = ALIGN(4); + _efixed = .; /* End of text section */ + } > rom + + /* .ARM.exidx is sorted, so has to go in its own output section. */ + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > rom + PROVIDE_HIDDEN (__exidx_end = .); + + . = ALIGN(4); + _etext = .; + + .relocate : AT (_etext) + { + . = ALIGN(4); + _srelocate = .; + *(.ramfunc .ramfunc.*); + *(.data .data.*); + . = ALIGN(4); + _erelocate = .; + } > ram + + /* .bss section which is used for uninitialized data */ + .bss (NOLOAD) : + { + . = ALIGN(4); + _sbss = . ; + _szero = .; + *(.bss .bss.*) + *(COMMON) + . = ALIGN(4); + _ebss = . ; + _ezero = .; + } > ram + + /* stack section */ + .stack (NOLOAD): + { + . = ALIGN(8); + *(.stack .stack.*) + } > ram + + . = ALIGN(4); + _end = . ; +} diff --git a/hardware/sam/variants/sam3s-ek/pins_arduino.h b/hardware/sam/variants/sam3s-ek/pins_arduino.h index 8e49617b1..c623f6d90 100644 --- a/hardware/sam/variants/sam3s-ek/pins_arduino.h +++ b/hardware/sam/variants/sam3s-ek/pins_arduino.h @@ -17,39 +17,6 @@ const static uint8_t SCK = 33 ; #define PINS_UART (16u) -typedef enum _EAnalogChannel -{ - ADC0, - ADC1, - ADC2, - ADC3, - ADC4, - ADC5, - ADC6, - ADC7, - ADC8, - ADC9, - ADC10, - ADC11, - ADC12, - ADC13, - ADC14, - ADC15, - DAC0, - DAC1 -} EAnalogChannel ; - -/* Types used for the tables below */ -typedef struct _PinDescription -{ - Pio* pPort ; - uint32_t dwPin ; - uint32_t dwPeripheralId ; - EPioType dwPinType ; - uint32_t dwPinAttribute ; - EAnalogChannel dwAnalogChannel ; -} PinDescription ; - static const PinDescription APinDescription[]= { // LEDS, 0..2 diff --git a/hardware/sam/variants/sam3s-ek/source/board_lowlevel.c b/hardware/sam/variants/sam3s-ek/source/board_lowlevel.c deleted file mode 100644 index e5e15e5f4..000000000 --- a/hardware/sam/variants/sam3s-ek/source/board_lowlevel.c +++ /dev/null @@ -1,111 +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. - * ---------------------------------------------------------------------------- - */ - -/** - * \file - * - * Provides the low-level initialization function that called on chip startup. - */ - -/*---------------------------------------------------------------------------- - * Headers - *----------------------------------------------------------------------------*/ - -#include "board.h" - -/*---------------------------------------------------------------------------- - * Local definitions - *----------------------------------------------------------------------------*/ - -/* Clock settings at 48MHz */ -#if (BOARD_MCK == 48000000) -#define BOARD_OSCOUNT (CKGR_MOR_MOSCXTST(0x8)) -#define BOARD_PLLAR (CKGR_PLLAR_STUCKTO1 \ - | CKGR_PLLAR_MULA(0x7) \ - | CKGR_PLLAR_PLLACOUNT(0x1) \ - | CKGR_PLLAR_DIVA(0x1)) -#define BOARD_MCKR (PMC_MCKR_PRES_CLK_2 | PMC_MCKR_CSS_PLLA_CLK) - -/* Clock settings at 64MHz */ -#elif (BOARD_MCK == 64000000) -#define BOARD_OSCOUNT (CKGR_MOR_MOSCXTST(0x8)) -#define BOARD_PLLAR (CKGR_PLLAR_STUCKTO1 \ - | CKGR_PLLAR_MULA(0x0f) \ - | CKGR_PLLAR_PLLACOUNT(0x1) \ - | CKGR_PLLAR_DIVA(0x3)) -#define BOARD_MCKR (PMC_MCKR_PRES_CLK | PMC_MCKR_CSS_PLLA_CLK) - -#else - #error "No settings for current BOARD_MCK." -#endif - -/* Define clock timeout */ -#define CLOCK_TIMEOUT 0xFFFFFFFF - -/*---------------------------------------------------------------------------- - * Exported functions - *----------------------------------------------------------------------------*/ - -/** - * \brief Performs the low-level initialization of the chip. - * This includes EFC and master clock configuration. - * It also enable a low level on the pin NRST triggers a user reset. - */ -extern WEAK void LowLevelInit( void ) -{ - uint32_t dwTimeOut = 0 ; - - /* Set 3 FWS for Embedded Flash Access @ 64MHz, we are now at 4MHz on Internal FastRC */ - EFC->EEFC_FMR = EEFC_FMR_FWS( 3 ) ; - - /* Initialize main oscillator */ - if ( !(PMC->CKGR_MOR & CKGR_MOR_MOSCSEL) ) - { - PMC->CKGR_MOR = CKGR_MOR_KEY(0x37) | BOARD_OSCOUNT | CKGR_MOR_MOSCRCEN | CKGR_MOR_MOSCXTEN; - for ( dwTimeOut = 0 ; !(PMC->PMC_SR & PMC_SR_MOSCXTS) && (dwTimeOut++ < CLOCK_TIMEOUT) ; ) ; - } - - /* Switch to 3-20MHz Xtal oscillator */ - PMC->CKGR_MOR = CKGR_MOR_KEY(0x37) | BOARD_OSCOUNT | CKGR_MOR_MOSCRCEN | CKGR_MOR_MOSCXTEN | CKGR_MOR_MOSCSEL; - for ( dwTimeOut = 0 ; !(PMC->PMC_SR & PMC_SR_MOSCSELS) && (dwTimeOut++ < CLOCK_TIMEOUT) ; ) ; - - PMC->PMC_MCKR = (PMC->PMC_MCKR & ~(uint32_t)PMC_MCKR_CSS_Msk) | PMC_MCKR_CSS_MAIN_CLK; - for ( dwTimeOut = 0 ; !(PMC->PMC_SR & PMC_SR_MCKRDY) && (dwTimeOut++ < CLOCK_TIMEOUT) ; ) ; - - /* Initialize PLLA */ - PMC->CKGR_PLLAR = BOARD_PLLAR ; - for ( dwTimeOut = 0 ; !(PMC->PMC_SR & PMC_SR_LOCKA) && (dwTimeOut++ < CLOCK_TIMEOUT) ; ) ; - - /* Switch to main clock */ - PMC->PMC_MCKR = (BOARD_MCKR & ~PMC_MCKR_CSS_Msk) | PMC_MCKR_CSS_MAIN_CLK; - for ( dwTimeOut = 0 ; !(PMC->PMC_SR & PMC_SR_MCKRDY) && (dwTimeOut++ < CLOCK_TIMEOUT) ; ) ; - - PMC->PMC_MCKR = BOARD_MCKR ; - for ( dwTimeOut = 0 ; !(PMC->PMC_SR & PMC_SR_MCKRDY) && (dwTimeOut++ < CLOCK_TIMEOUT) ; ) ; -} diff --git a/hardware/sam/variants/sam3s-ek/variant.h b/hardware/sam/variants/sam3s-ek/variant.h index b9413dcc6..055bffcb1 100644 --- a/hardware/sam/variants/sam3s-ek/variant.h +++ b/hardware/sam/variants/sam3s-ek/variant.h @@ -1,5 +1,5 @@ -#ifndef _BOARD_ -#define _BOARD_ +#ifndef _VARIANT_ +#define _VARIANT_ /*---------------------------------------------------------------------------- * Headers @@ -7,15 +7,11 @@ #include "libsam/chip.h" -#include "include/bitbanding.h" -#include "include/board_lowlevel.h" -#include "include/timetick.h" - /** * Libc porting layers */ #if defined ( __GNUC__ ) /* GCC CS3 */ -# include "include/syscalls.h" /** RedHat Newlib minimal stub */ +# include /** RedHat Newlib minimal stub */ #endif /*---------------------------------------------------------------------------- @@ -25,29 +21,34 @@ /*----------------------------------------------------------------------------*/ /** Name of the board */ -#define BOARD_NAME "SAM3S-EK" +#define VARIANT_NAME "SAM3S-EK" /* -#define BOARD_REV_A +#define VARIANT_REV_A */ -#define BOARD_REV_B +#define VARIANT_REV_B /** Frequency of the board main oscillator */ -#define BOARD_MAINOSC 12000000 +#define VARIANT_MAINOSC 12000000 -/** Master clock frequency (when using board_lowlevel.c) */ -#define BOARD_MCK 64000000 +/** Master clock frequency */ +#define VARIANT_MCK 64000000 /*---------------------------------------------------------------------------- - * Arduino objects + * Arduino objects - C++ only *----------------------------------------------------------------------------*/ +# ifdef __cplusplus +# include "UART.h" +# include "USART.h" + extern UARTClass Serial1 ; extern UARTClass Serial2 ; -extern USARTClass Serial3 ; -extern USARTClass Serial4 ; +//extern USARTClass Serial3 ; +//extern USARTClass Serial4 ; +# endif -#endif /* #ifndef _BOARD_ */ +#endif /* #ifndef _VARIANT_ */