mirror of
https://github.com/esp8266/Arduino.git
synced 2025-12-01 17:57:53 +03:00
[sam] adding wiring_digital and validation app
This commit is contained in:
@@ -59,9 +59,9 @@ extern "C"{
|
||||
#define interrupts() sei()
|
||||
#define noInterrupts() cli()
|
||||
|
||||
#define clockCyclesPerMicrosecond() ( BOARD_MCK / 1000000L )
|
||||
#define clockCyclesToMicroseconds(a) ( ((a) * 1000L) / (BOARD_MCK / 1000L) )
|
||||
#define microsecondsToClockCycles(a) ( ((a) * (BOARD_MCK / 1000L)) / 1000L )
|
||||
#define clockCyclesPerMicrosecond() ( VARIANT_MCK / 1000000L )
|
||||
#define clockCyclesToMicroseconds(a) ( ((a) * 1000L) / (VARIANT_MCK / 1000L) )
|
||||
#define microsecondsToClockCycles(a) ( ((a) * (VARIANT_MCK / 1000L)) / 1000L )
|
||||
|
||||
#define lowByte(w) ((uint8_t) ((w) & 0xff))
|
||||
#define highByte(w) ((uint8_t) ((w) >> 8))
|
||||
@@ -71,7 +71,6 @@ extern "C"{
|
||||
#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))
|
||||
#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit))
|
||||
|
||||
|
||||
typedef unsigned int word;
|
||||
|
||||
#define bit(b) (1UL << (b))
|
||||
@@ -80,29 +79,35 @@ typedef unsigned int word;
|
||||
typedef uint8_t boolean ;
|
||||
typedef uint8_t byte ;
|
||||
|
||||
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 ) ;
|
||||
// wiring_digital.c
|
||||
extern void pinMode( uint32_t dwPin, uint32_t dwMode ) ;
|
||||
extern void digitalWrite( uint32_t dwPin, uint32_t dwVal ) ;
|
||||
extern int digitalRead( uint32_t dwPin ) ;
|
||||
|
||||
unsigned long millis( void ) ;
|
||||
unsigned long micros( void ) ;
|
||||
// wiring_analog.c
|
||||
extern int analogRead( uint8_t ) ;
|
||||
extern void analogReference( uint8_t mode ) ;
|
||||
extern void analogWrite( uint8_t, int ) ;
|
||||
|
||||
// wiring.c
|
||||
extern void init( void ) ;
|
||||
extern unsigned long millis( void ) ;
|
||||
extern unsigned long micros( void ) ;
|
||||
//void delay(unsigned long);
|
||||
#define delay( dwMs ) Wait( dwMs )
|
||||
void delayMicroseconds( unsigned int us ) ;
|
||||
extern 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 ) ;
|
||||
// wiring_shift.c
|
||||
extern void shiftOut( uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val ) ;
|
||||
extern uint8_t shiftIn( uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder ) ;
|
||||
|
||||
void attachInterrupt( uint8_t, void (*)(void), int mode ) ;
|
||||
void detachInterrupt( uint8_t ) ;
|
||||
extern void attachInterrupt( uint8_t, void (*)(void), int mode ) ;
|
||||
extern void detachInterrupt( uint8_t ) ;
|
||||
|
||||
void setup( void ) ;
|
||||
void loop( void ) ;
|
||||
// sketch
|
||||
extern void setup( void ) ;
|
||||
extern 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.
|
||||
@@ -138,16 +143,16 @@ 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 ) ;
|
||||
extern 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 ) ;
|
||||
extern void tone( uint8_t _pin, unsigned int frequency, unsigned long duration = 0 ) ;
|
||||
extern 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 ) ;
|
||||
extern long random( long ) ;
|
||||
extern long random( long, long ) ;
|
||||
extern void randomSeed( unsigned int ) ;
|
||||
extern long map( long, long, long, long, long ) ;
|
||||
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
//#include "wiring_private.h"
|
||||
#include <stdint.h>
|
||||
|
||||
#include "HardwareSerial.h"
|
||||
|
||||
@@ -30,7 +30,7 @@ extern "C" {
|
||||
void randomSeed(unsigned int seed)
|
||||
{
|
||||
if (seed != 0) {
|
||||
srandom(seed);
|
||||
srand(seed);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ long random(long howbig)
|
||||
if (howbig == 0) {
|
||||
return 0;
|
||||
}
|
||||
return random() % howbig;
|
||||
return rand() % howbig;
|
||||
}
|
||||
|
||||
long random(long howsmall, long howbig)
|
||||
|
||||
@@ -64,7 +64,7 @@ String::String(unsigned char value, unsigned char base)
|
||||
{
|
||||
init();
|
||||
char buf[9];
|
||||
utoa(value, buf, base);
|
||||
// utoa(value, buf, base);
|
||||
*this = buf;
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ String::String(int value, unsigned char base)
|
||||
{
|
||||
init();
|
||||
char buf[18];
|
||||
itoa(value, buf, base);
|
||||
// itoa(value, buf, base);
|
||||
*this = buf;
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ String::String(unsigned int value, unsigned char base)
|
||||
{
|
||||
init();
|
||||
char buf[17];
|
||||
utoa(value, buf, base);
|
||||
// utoa(value, buf, base);
|
||||
*this = buf;
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@ String::String(long value, unsigned char base)
|
||||
{
|
||||
init();
|
||||
char buf[34];
|
||||
ltoa(value, buf, base);
|
||||
// ltoa(value, buf, base);
|
||||
*this = buf;
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ String::String(unsigned long value, unsigned char base)
|
||||
{
|
||||
init();
|
||||
char buf[33];
|
||||
ultoa(value, buf, base);
|
||||
// ultoa(value, buf, base);
|
||||
*this = buf;
|
||||
}
|
||||
|
||||
@@ -251,35 +251,35 @@ unsigned char String::concat(char c)
|
||||
unsigned char String::concat(unsigned char num)
|
||||
{
|
||||
char buf[4];
|
||||
itoa(num, buf, 10);
|
||||
// itoa(num, buf, 10);
|
||||
return concat(buf, strlen(buf));
|
||||
}
|
||||
|
||||
unsigned char String::concat(int num)
|
||||
{
|
||||
char buf[7];
|
||||
itoa(num, buf, 10);
|
||||
// itoa(num, buf, 10);
|
||||
return concat(buf, strlen(buf));
|
||||
}
|
||||
|
||||
unsigned char String::concat(unsigned int num)
|
||||
{
|
||||
char buf[6];
|
||||
utoa(num, buf, 10);
|
||||
// utoa(num, buf, 10);
|
||||
return concat(buf, strlen(buf));
|
||||
}
|
||||
|
||||
unsigned char String::concat(long num)
|
||||
{
|
||||
char buf[12];
|
||||
ltoa(num, buf, 10);
|
||||
// ltoa(num, buf, 10);
|
||||
return concat(buf, strlen(buf));
|
||||
}
|
||||
|
||||
unsigned char String::concat(unsigned long num)
|
||||
{
|
||||
char buf[11];
|
||||
ultoa(num, buf, 10);
|
||||
// ultoa(num, buf, 10);
|
||||
return concat(buf, strlen(buf));
|
||||
}
|
||||
|
||||
|
||||
@@ -13,12 +13,12 @@ all: sam3s_ek
|
||||
sam3s_ek:
|
||||
@echo --- Making sam3s_ek
|
||||
@$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f arduino_sam3s_ek.mk
|
||||
@$(MAKE) $(SUBMAKE_OPTIONS) -f arduino_sam3s_ek.mk
|
||||
# @$(MAKE) $(SUBMAKE_OPTIONS) -f arduino_sam3s_ek.mk
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
@echo --- Cleaning sam3s_ek
|
||||
@$(MAKE) $(SUBMAKE_OPTIONS) -f arduino_sam3s_ek.mk $@
|
||||
@$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f arduino_sam3s_ek.mk $@
|
||||
# @$(MAKE) $(SUBMAKE_OPTIONS) -f arduino_sam3s_ek.mk $@
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
CHIP=sam3s4
|
||||
VARIANT=sam3s_ek
|
||||
LIBNAME=arduino_sam3s_ek
|
||||
LIBNAME=libarduino_$(VARIANT)
|
||||
TOOLCHAIN=gcc
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
@@ -24,17 +24,15 @@ VARIANT_PATH = ../../../variants/sam3s-ek
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
vpath %.h $(PROJECT_BASE_PATH) $(SYSTEM_PATH) $(VARIANT_PATH)
|
||||
vpath %.c $(PROJECT_BASE_PATH)
|
||||
vpath %.c $(PROJECT_BASE_PATH) $(VARIANT_PATH)
|
||||
vpath %.cpp $(PROJECT_BASE_PATH) $(PROJECT_BASE_PATH)
|
||||
|
||||
VPATH+=$(PROJECT_BASE_PATH)
|
||||
|
||||
INCLUDES = -I$(PROJECT_BASE_PATH)
|
||||
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)
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
@@ -69,7 +67,7 @@ C_SRC=$(wildcard $(PROJECT_BASE_PATH)/*.c)
|
||||
C_OBJ_TEMP = $(patsubst %.c, %.o, $(notdir $(C_SRC)))
|
||||
|
||||
# during development, remove some files
|
||||
C_OBJ_FILTER=wiring_analog.o wiring_digital.o wiring_pulse.o
|
||||
C_OBJ_FILTER=wiring_analog.o wiring_pulse.o
|
||||
|
||||
C_OBJ=$(filter-out $(C_OBJ_FILTER), $(C_OBJ_TEMP))
|
||||
|
||||
@@ -81,8 +79,7 @@ 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
|
||||
|
||||
CPP_OBJ=$(filter-out $(CPP_OBJ_FILTER), $(CPP_OBJ_TEMP))
|
||||
|
||||
@@ -138,13 +135,19 @@ $(addprefix $(OUTPUT_PATH)/,$(CPP_OBJ)): $(OUTPUT_PATH)/%.o: %.cpp
|
||||
# @$(CC) -c $(CPPFLAGS) $< -o $@
|
||||
$(CC) -xc++ -c $(CPPFLAGS) $< -o $@
|
||||
|
||||
$(OUTPUT_PATH)/variant.o: $(VARIANT_PATH)/variant.cpp
|
||||
# @$(CC) -c $(CPPFLAGS) $< -o $@
|
||||
@$(CC) -xc++ -c $(CPPFLAGS) $< -o $@
|
||||
|
||||
$(addprefix $(OUTPUT_PATH)/,$(A_OBJ)): $(OUTPUT_PATH)/%.o: %.s
|
||||
@$(AS) -c $(ASFLAGS) $< -o $@
|
||||
|
||||
$(OUTPUT_LIB): $(addprefix $(OUTPUT_PATH)/, $(C_OBJ)) $(addprefix $(OUTPUT_PATH)/, $(CPP_OBJ)) $(addprefix $(OUTPUT_PATH)/, $(A_OBJ))
|
||||
$(OUTPUT_LIB): $(addprefix $(OUTPUT_PATH)/, $(C_OBJ)) $(addprefix $(OUTPUT_PATH)/, $(CPP_OBJ)) $(addprefix $(OUTPUT_PATH)/, $(A_OBJ)) $(OUTPUT_PATH)/variant.o
|
||||
@$(AR) -v -r "$(OUTPUT_BIN)/$@" $^
|
||||
@"$(AR)" -r "../$@" $^
|
||||
@$(NM) "$(OUTPUT_BIN)/$@" > "$(OUTPUT_BIN)/$@.txt"
|
||||
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
@echo --- Cleaning sam3s_ek files [$(OUTPUT_PATH)$(SEP)*.o]
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/WMath.o
Normal file
BIN
hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/WMath.o
Normal file
Binary file not shown.
BIN
hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/WString.o
Normal file
BIN
hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/WString.o
Normal file
Binary file not shown.
Binary file not shown.
BIN
hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/itoa.o
Normal file
BIN
hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/itoa.o
Normal file
Binary file not shown.
BIN
hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/main.o
Normal file
BIN
hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/main.o
Normal file
Binary file not shown.
BIN
hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/syscalls_sam3.o
Normal file
BIN
hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/syscalls_sam3.o
Normal file
Binary file not shown.
BIN
hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/variant.o
Normal file
BIN
hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/variant.o
Normal file
Binary file not shown.
Binary file not shown.
BIN
hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/wiring_digital.o
Normal file
BIN
hardware/sam/cores/sam/build_gcc/debug_sam3s_ek/wiring_digital.o
Normal file
Binary file not shown.
Binary file not shown.
43
hardware/sam/cores/sam/itoa.c
Normal file
43
hardware/sam/cores/sam/itoa.c
Normal file
@@ -0,0 +1,43 @@
|
||||
#include "itoa.h"
|
||||
#include <string.h>
|
||||
|
||||
/* reverse: reverse string s in place */
|
||||
static void reverse( char s[] )
|
||||
{
|
||||
int i, j ;
|
||||
char c ;
|
||||
|
||||
for ( i = 0, j = strlen(s)-1 ; i < j ; i++, j-- )
|
||||
{
|
||||
c = s[i] ;
|
||||
s[i] = s[j] ;
|
||||
s[j] = c ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* itoa: convert n to characters in s */
|
||||
extern void itoa( int n, char s[] )
|
||||
{
|
||||
int i, sign ;
|
||||
|
||||
if ( (sign = n) < 0 ) /* record sign */
|
||||
{
|
||||
n = -n; /* make n positive */
|
||||
}
|
||||
|
||||
i = 0;
|
||||
do
|
||||
{ /* generate digits in reverse order */
|
||||
s[i++] = n % 10 + '0'; /* get next digit */
|
||||
} while ((n /= 10) > 0) ; /* delete it */
|
||||
|
||||
if (sign < 0 )
|
||||
{
|
||||
s[i++] = '-';
|
||||
}
|
||||
|
||||
s[i] = '\0';
|
||||
|
||||
reverse( s ) ;
|
||||
}
|
||||
6
hardware/sam/cores/sam/itoa.h
Normal file
6
hardware/sam/cores/sam/itoa.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef _ITOA_
|
||||
#define _ITOA_
|
||||
|
||||
extern void itoa( int n, char s[] ) ;
|
||||
|
||||
#endif // _ITOA_
|
||||
BIN
hardware/sam/cores/sam/lib/arduino_sam3s_ek_gcc_dbg.a
Normal file
BIN
hardware/sam/cores/sam/lib/arduino_sam3s_ek_gcc_dbg.a
Normal file
Binary file not shown.
385
hardware/sam/cores/sam/lib/arduino_sam3s_ek_gcc_dbg.a.txt
Normal file
385
hardware/sam/cores/sam/lib/arduino_sam3s_ek_gcc_dbg.a.txt
Normal file
@@ -0,0 +1,385 @@
|
||||
|
||||
WInterrupts.o:
|
||||
00000004 r APinDescription
|
||||
00000002 r MISO
|
||||
00000001 r MOSI
|
||||
00000003 r SCK
|
||||
00000000 r SS
|
||||
00000000 T attachInterrupt
|
||||
00000000 T detachInterrupt
|
||||
00000000 b intFunc
|
||||
|
||||
board_cstartup_gnu_sam3.o:
|
||||
U ACC_IrqHandler
|
||||
U ADC_IrqHandler
|
||||
00000004 r APinDescription
|
||||
U BusFault_Handler
|
||||
U CRCCU_IrqHandler
|
||||
U DAC_IrqHandler
|
||||
U DebugMon_Handler
|
||||
U Dummy_Handler
|
||||
U EEFC_IrqHandler
|
||||
U HardFault_Handler
|
||||
U MCI_IrqHandler
|
||||
00000002 r MISO
|
||||
00000001 r MOSI
|
||||
U MemManage_Handler
|
||||
U NMI_Handler
|
||||
U PIOA_IrqHandler
|
||||
U PIOB_IrqHandler
|
||||
U PIOC_IrqHandler
|
||||
U PMC_IrqHandler
|
||||
U PWM_IrqHandler
|
||||
U PendSV_Handler
|
||||
U RSTC_IrqHandler
|
||||
U RTC_IrqHandler
|
||||
U RTT_IrqHandler
|
||||
00000000 T Reset_Handler
|
||||
00000003 r SCK
|
||||
U SMC_IrqHandler
|
||||
U SPI_IrqHandler
|
||||
00000000 r SS
|
||||
U SSC_IrqHandler
|
||||
U SUPC_IrqHandler
|
||||
U SVC_Handler
|
||||
U SysTick_Handler
|
||||
U TC0_IrqHandler
|
||||
U TC1_IrqHandler
|
||||
U TC2_IrqHandler
|
||||
U TC3_IrqHandler
|
||||
U TC4_IrqHandler
|
||||
U TC5_IrqHandler
|
||||
U TWI0_IrqHandler
|
||||
U TWI1_IrqHandler
|
||||
U UART0_IrqHandler
|
||||
U UART1_IrqHandler
|
||||
U USART0_IrqHandler
|
||||
U USART1_IrqHandler
|
||||
U USBD_IrqHandler
|
||||
U UsageFault_Handler
|
||||
U WDT_IrqHandler
|
||||
U __libc_init_array
|
||||
U _erelocate
|
||||
U _etext
|
||||
U _ezero
|
||||
U _sfixed
|
||||
U _srelocate
|
||||
U _szero
|
||||
U init
|
||||
U main
|
||||
00000000 D pdwStack
|
||||
00000000 D vector_table
|
||||
|
||||
itoa.o:
|
||||
00000000 T itoa
|
||||
00000000 t reverse
|
||||
U strlen
|
||||
|
||||
syscalls_sam3.o:
|
||||
00000000 T _close
|
||||
U _end
|
||||
00000000 T _exit
|
||||
00000000 T _fstat
|
||||
00000000 T _getpid
|
||||
00000000 T _isatty
|
||||
00000000 T _kill
|
||||
00000000 T _lseek
|
||||
00000000 T _read
|
||||
00000000 T _sbrk
|
||||
00000000 T _write
|
||||
00000000 b heap.6819
|
||||
U iprintf
|
||||
00000000 T link
|
||||
|
||||
wiring.o:
|
||||
00000004 r APinDescription
|
||||
U GetTickCount
|
||||
00000000 t LowLevelInit_sam3s_ek
|
||||
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_digital.o:
|
||||
00000004 r APinDescription
|
||||
00000002 r MISO
|
||||
00000001 r MOSI
|
||||
U PIO_Configure
|
||||
U PIO_Get
|
||||
U PIO_SetOutput
|
||||
00000003 r SCK
|
||||
00000000 r SS
|
||||
00000000 T digitalRead
|
||||
00000000 T digitalWrite
|
||||
00000000 T pinMode
|
||||
|
||||
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:
|
||||
00000000 T _Z10store_charhP12_ring_buffer
|
||||
|
||||
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
|
||||
U _Z10store_charhP12_ring_buffer
|
||||
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 _ZN9UARTClassC1EP4Uart4IRQnmP12_ring_bufferS4_
|
||||
00000000 T _ZN9UARTClassC2EP4Uart4IRQnmP12_ring_bufferS4_
|
||||
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_DisablePeripheral
|
||||
U PMC_EnablePeripheral
|
||||
U _Z10store_charhP12_ring_buffer
|
||||
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 _ZN10USARTClassC1EP5Usart4IRQnmP12_ring_bufferS4_
|
||||
00000000 T _ZN10USARTClassC2EP5Usart4IRQnmP12_ring_bufferS4_
|
||||
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
|
||||
|
||||
WString.o:
|
||||
00000000 T _ZN6String10invalidateEv
|
||||
00000000 T _ZN6String11toLowerCaseEv
|
||||
00000000 T _ZN6String11toUpperCaseEv
|
||||
00000000 T _ZN6String12changeBufferEj
|
||||
00000000 T _ZN6String4copyEPKcj
|
||||
00000000 W _ZN6String4initEv
|
||||
00000000 T _ZN6String4trimEv
|
||||
00000000 T _ZN6String6concatEPKc
|
||||
00000000 T _ZN6String6concatEPKcj
|
||||
00000000 T _ZN6String6concatERKS_
|
||||
00000000 T _ZN6String6concatEc
|
||||
00000000 T _ZN6String6concatEh
|
||||
00000000 T _ZN6String6concatEi
|
||||
00000000 T _ZN6String6concatEj
|
||||
00000000 T _ZN6String6concatEl
|
||||
00000000 T _ZN6String6concatEm
|
||||
00000000 T _ZN6String7replaceERKS_S1_
|
||||
00000000 T _ZN6String7replaceEcc
|
||||
00000000 T _ZN6String7reserveEj
|
||||
00000000 T _ZN6String9setCharAtEjc
|
||||
00000000 T _ZN6StringC1EPKc
|
||||
00000000 T _ZN6StringC1ERKS_
|
||||
00000000 T _ZN6StringC1Ec
|
||||
00000000 T _ZN6StringC1Ehh
|
||||
00000000 T _ZN6StringC1Eih
|
||||
00000000 T _ZN6StringC1Ejh
|
||||
00000000 T _ZN6StringC1Elh
|
||||
00000000 T _ZN6StringC1Emh
|
||||
00000000 T _ZN6StringC2EPKc
|
||||
00000000 T _ZN6StringC2ERKS_
|
||||
00000000 T _ZN6StringC2Ec
|
||||
00000000 T _ZN6StringC2Ehh
|
||||
00000000 T _ZN6StringC2Eih
|
||||
00000000 T _ZN6StringC2Ejh
|
||||
00000000 T _ZN6StringC2Elh
|
||||
00000000 T _ZN6StringC2Emh
|
||||
00000000 T _ZN6StringD1Ev
|
||||
00000000 T _ZN6StringD2Ev
|
||||
00000000 T _ZN6StringaSEPKc
|
||||
00000000 T _ZN6StringaSERKS_
|
||||
00000000 T _ZN6StringixEj
|
||||
00000000 T _ZNK6String10startsWithERKS_
|
||||
00000000 T _ZNK6String10startsWithERKS_j
|
||||
00000000 T _ZNK6String11lastIndexOfERKS_
|
||||
00000000 T _ZNK6String11lastIndexOfERKS_i
|
||||
00000000 T _ZNK6String11lastIndexOfEc
|
||||
00000000 T _ZNK6String11lastIndexOfEci
|
||||
00000000 T _ZNK6String16equalsIgnoreCaseERKS_
|
||||
00000000 T _ZNK6String5toIntEv
|
||||
00000000 T _ZNK6String6charAtEj
|
||||
00000000 T _ZNK6String6equalsEPKc
|
||||
00000000 T _ZNK6String6equalsERKS_
|
||||
00000000 T _ZNK6String7indexOfERKS_
|
||||
00000000 T _ZNK6String7indexOfERKS_j
|
||||
00000000 T _ZNK6String7indexOfEc
|
||||
00000000 T _ZNK6String7indexOfEcj
|
||||
00000000 T _ZNK6String8endsWithERKS_
|
||||
00000000 T _ZNK6String8getBytesEPhjj
|
||||
00000000 T _ZNK6String9compareToERKS_
|
||||
00000000 T _ZNK6String9substringEj
|
||||
00000000 T _ZNK6String9substringEjj
|
||||
00000000 T _ZNK6StringgeERKS_
|
||||
00000000 T _ZNK6StringgtERKS_
|
||||
00000000 T _ZNK6StringixEj
|
||||
00000000 T _ZNK6StringleERKS_
|
||||
00000000 T _ZNK6StringltERKS_
|
||||
00000000 b _ZZN6StringixEjE19dummy_writable_char
|
||||
00000000 T _ZplRK15StringSumHelperPKc
|
||||
00000000 T _ZplRK15StringSumHelperRK6String
|
||||
00000000 T _ZplRK15StringSumHelperc
|
||||
00000000 T _ZplRK15StringSumHelperh
|
||||
00000000 T _ZplRK15StringSumHelperi
|
||||
00000000 T _ZplRK15StringSumHelperj
|
||||
00000000 T _ZplRK15StringSumHelperl
|
||||
00000000 T _ZplRK15StringSumHelperm
|
||||
U __aeabi_unwind_cpp_pr1
|
||||
U atol
|
||||
U free
|
||||
U isspace
|
||||
U memcpy
|
||||
U memmove
|
||||
U realloc
|
||||
U strchr
|
||||
U strcmp
|
||||
U strcpy
|
||||
U strlen
|
||||
U strncmp
|
||||
U strncpy
|
||||
U strrchr
|
||||
U strstr
|
||||
U tolower
|
||||
U toupper
|
||||
|
||||
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
|
||||
BIN
hardware/sam/cores/sam/lib/libarduino_sam3s_ek_gcc_dbg.a
Normal file
BIN
hardware/sam/cores/sam/lib/libarduino_sam3s_ek_gcc_dbg.a
Normal file
Binary file not shown.
414
hardware/sam/cores/sam/lib/libarduino_sam3s_ek_gcc_dbg.a.txt
Normal file
414
hardware/sam/cores/sam/lib/libarduino_sam3s_ek_gcc_dbg.a.txt
Normal file
@@ -0,0 +1,414 @@
|
||||
|
||||
WInterrupts.o:
|
||||
00000004 r APinDescription
|
||||
00000002 r MISO
|
||||
00000001 r MOSI
|
||||
00000003 r SCK
|
||||
00000000 r SS
|
||||
00000000 T attachInterrupt
|
||||
00000000 T detachInterrupt
|
||||
00000000 b intFunc
|
||||
|
||||
board_cstartup_gnu_sam3.o:
|
||||
U ACC_IrqHandler
|
||||
U ADC_IrqHandler
|
||||
00000004 r APinDescription
|
||||
U BusFault_Handler
|
||||
U CRCCU_IrqHandler
|
||||
U DAC_IrqHandler
|
||||
U DebugMon_Handler
|
||||
U Dummy_Handler
|
||||
U EEFC_IrqHandler
|
||||
U HardFault_Handler
|
||||
U MCI_IrqHandler
|
||||
00000002 r MISO
|
||||
00000001 r MOSI
|
||||
U MemManage_Handler
|
||||
U NMI_Handler
|
||||
U PIOA_IrqHandler
|
||||
U PIOB_IrqHandler
|
||||
U PIOC_IrqHandler
|
||||
U PMC_IrqHandler
|
||||
U PWM_IrqHandler
|
||||
U PendSV_Handler
|
||||
U RSTC_IrqHandler
|
||||
U RTC_IrqHandler
|
||||
U RTT_IrqHandler
|
||||
00000000 T Reset_Handler
|
||||
00000003 r SCK
|
||||
U SMC_IrqHandler
|
||||
U SPI_IrqHandler
|
||||
00000000 r SS
|
||||
U SSC_IrqHandler
|
||||
U SUPC_IrqHandler
|
||||
U SVC_Handler
|
||||
U SysTick_Handler
|
||||
U TC0_IrqHandler
|
||||
U TC1_IrqHandler
|
||||
U TC2_IrqHandler
|
||||
U TC3_IrqHandler
|
||||
U TC4_IrqHandler
|
||||
U TC5_IrqHandler
|
||||
U TWI0_IrqHandler
|
||||
U TWI1_IrqHandler
|
||||
U UART0_IrqHandler
|
||||
U UART1_IrqHandler
|
||||
U USART0_IrqHandler
|
||||
U USART1_IrqHandler
|
||||
U USBD_IrqHandler
|
||||
U UsageFault_Handler
|
||||
U WDT_IrqHandler
|
||||
U __libc_init_array
|
||||
U _erelocate
|
||||
U _etext
|
||||
U _ezero
|
||||
U _sfixed
|
||||
U _srelocate
|
||||
U _szero
|
||||
U init
|
||||
U main
|
||||
00000000 D pdwStack
|
||||
00000000 D vector_table
|
||||
|
||||
itoa.o:
|
||||
00000000 T itoa
|
||||
00000000 t reverse
|
||||
U strlen
|
||||
|
||||
syscalls_sam3.o:
|
||||
00000000 T _close
|
||||
U _end
|
||||
00000000 T _exit
|
||||
00000000 T _fstat
|
||||
00000000 T _getpid
|
||||
00000000 T _isatty
|
||||
00000000 T _kill
|
||||
00000000 T _lseek
|
||||
00000000 T _read
|
||||
00000000 T _sbrk
|
||||
00000000 T _write
|
||||
00000000 b heap.6819
|
||||
U iprintf
|
||||
00000000 T link
|
||||
|
||||
wiring.o:
|
||||
00000004 r APinDescription
|
||||
U GetTickCount
|
||||
00000000 t LowLevelInit_sam3s_ek
|
||||
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 delayMicroseconds
|
||||
00000000 T init
|
||||
00000000 T micros
|
||||
00000000 T millis
|
||||
00000008 b timer0_fract
|
||||
00000004 B timer0_millis
|
||||
00000000 B timer0_overflow_count
|
||||
|
||||
wiring_digital.o:
|
||||
00000004 r APinDescription
|
||||
00000002 r MISO
|
||||
00000001 r MOSI
|
||||
U PIO_Configure
|
||||
U PIO_Get
|
||||
U PIO_SetOutput
|
||||
00000003 r SCK
|
||||
00000000 r SS
|
||||
00000000 T digitalRead
|
||||
00000000 T digitalWrite
|
||||
00000000 T pinMode
|
||||
|
||||
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:
|
||||
00000000 T _Z10store_charhP12_ring_buffer
|
||||
|
||||
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
|
||||
U _Z10store_charhP12_ring_buffer
|
||||
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 _ZN9UARTClassC1EP4Uart4IRQnmP12_ring_bufferS4_
|
||||
00000000 T _ZN9UARTClassC2EP4Uart4IRQnmP12_ring_bufferS4_
|
||||
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_DisablePeripheral
|
||||
U PMC_EnablePeripheral
|
||||
U _Z10store_charhP12_ring_buffer
|
||||
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 _ZN10USARTClassC1EP5Usart4IRQnmP12_ring_bufferS4_
|
||||
00000000 T _ZN10USARTClassC2EP5Usart4IRQnmP12_ring_bufferS4_
|
||||
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
|
||||
|
||||
WMath.o:
|
||||
00000000 T _Z10randomSeedj
|
||||
00000000 T _Z3maplllll
|
||||
00000000 T _Z6randoml
|
||||
00000000 T _Z6randomll
|
||||
00000000 T _Z8makeWordhh
|
||||
00000000 T _Z8makeWordj
|
||||
U rand
|
||||
U srand
|
||||
|
||||
WString.o:
|
||||
00000000 T _ZN6String10invalidateEv
|
||||
00000000 T _ZN6String11toLowerCaseEv
|
||||
00000000 T _ZN6String11toUpperCaseEv
|
||||
00000000 T _ZN6String12changeBufferEj
|
||||
00000000 T _ZN6String4copyEPKcj
|
||||
00000000 W _ZN6String4initEv
|
||||
00000000 T _ZN6String4trimEv
|
||||
00000000 T _ZN6String6concatEPKc
|
||||
00000000 T _ZN6String6concatEPKcj
|
||||
00000000 T _ZN6String6concatERKS_
|
||||
00000000 T _ZN6String6concatEc
|
||||
00000000 T _ZN6String6concatEh
|
||||
00000000 T _ZN6String6concatEi
|
||||
00000000 T _ZN6String6concatEj
|
||||
00000000 T _ZN6String6concatEl
|
||||
00000000 T _ZN6String6concatEm
|
||||
00000000 T _ZN6String7replaceERKS_S1_
|
||||
00000000 T _ZN6String7replaceEcc
|
||||
00000000 T _ZN6String7reserveEj
|
||||
00000000 T _ZN6String9setCharAtEjc
|
||||
00000000 T _ZN6StringC1EPKc
|
||||
00000000 T _ZN6StringC1ERKS_
|
||||
00000000 T _ZN6StringC1Ec
|
||||
00000000 T _ZN6StringC1Ehh
|
||||
00000000 T _ZN6StringC1Eih
|
||||
00000000 T _ZN6StringC1Ejh
|
||||
00000000 T _ZN6StringC1Elh
|
||||
00000000 T _ZN6StringC1Emh
|
||||
00000000 T _ZN6StringC2EPKc
|
||||
00000000 T _ZN6StringC2ERKS_
|
||||
00000000 T _ZN6StringC2Ec
|
||||
00000000 T _ZN6StringC2Ehh
|
||||
00000000 T _ZN6StringC2Eih
|
||||
00000000 T _ZN6StringC2Ejh
|
||||
00000000 T _ZN6StringC2Elh
|
||||
00000000 T _ZN6StringC2Emh
|
||||
00000000 T _ZN6StringD1Ev
|
||||
00000000 T _ZN6StringD2Ev
|
||||
00000000 T _ZN6StringaSEPKc
|
||||
00000000 T _ZN6StringaSERKS_
|
||||
00000000 T _ZN6StringixEj
|
||||
00000000 T _ZNK6String10startsWithERKS_
|
||||
00000000 T _ZNK6String10startsWithERKS_j
|
||||
00000000 T _ZNK6String11lastIndexOfERKS_
|
||||
00000000 T _ZNK6String11lastIndexOfERKS_i
|
||||
00000000 T _ZNK6String11lastIndexOfEc
|
||||
00000000 T _ZNK6String11lastIndexOfEci
|
||||
00000000 T _ZNK6String16equalsIgnoreCaseERKS_
|
||||
00000000 T _ZNK6String5toIntEv
|
||||
00000000 T _ZNK6String6charAtEj
|
||||
00000000 T _ZNK6String6equalsEPKc
|
||||
00000000 T _ZNK6String6equalsERKS_
|
||||
00000000 T _ZNK6String7indexOfERKS_
|
||||
00000000 T _ZNK6String7indexOfERKS_j
|
||||
00000000 T _ZNK6String7indexOfEc
|
||||
00000000 T _ZNK6String7indexOfEcj
|
||||
00000000 T _ZNK6String8endsWithERKS_
|
||||
00000000 T _ZNK6String8getBytesEPhjj
|
||||
00000000 T _ZNK6String9compareToERKS_
|
||||
00000000 T _ZNK6String9substringEj
|
||||
00000000 T _ZNK6String9substringEjj
|
||||
00000000 T _ZNK6StringgeERKS_
|
||||
00000000 T _ZNK6StringgtERKS_
|
||||
00000000 T _ZNK6StringixEj
|
||||
00000000 T _ZNK6StringleERKS_
|
||||
00000000 T _ZNK6StringltERKS_
|
||||
00000000 b _ZZN6StringixEjE19dummy_writable_char
|
||||
00000000 T _ZplRK15StringSumHelperPKc
|
||||
00000000 T _ZplRK15StringSumHelperRK6String
|
||||
00000000 T _ZplRK15StringSumHelperc
|
||||
00000000 T _ZplRK15StringSumHelperh
|
||||
00000000 T _ZplRK15StringSumHelperi
|
||||
00000000 T _ZplRK15StringSumHelperj
|
||||
00000000 T _ZplRK15StringSumHelperl
|
||||
00000000 T _ZplRK15StringSumHelperm
|
||||
U __aeabi_unwind_cpp_pr1
|
||||
U atol
|
||||
U free
|
||||
U isspace
|
||||
U memcpy
|
||||
U memmove
|
||||
U realloc
|
||||
U strchr
|
||||
U strcmp
|
||||
U strcpy
|
||||
U strlen
|
||||
U strncmp
|
||||
U strncpy
|
||||
U strrchr
|
||||
U strstr
|
||||
U tolower
|
||||
U toupper
|
||||
|
||||
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
|
||||
|
||||
variant.o:
|
||||
00000120 B Serial1
|
||||
00000138 B Serial2
|
||||
00000000 t _GLOBAL__I_rx_buffer1
|
||||
00000000 T _Z16UART0_IrqHandlerv
|
||||
00000000 T _Z16UART1_IrqHandlerv
|
||||
00000000 t _Z41__static_initialization_and_destruction_0ii
|
||||
00000004 r _ZL15APinDescription
|
||||
00000000 r _ZL2SS
|
||||
00000003 r _ZL3SCK
|
||||
00000002 r _ZL4MISO
|
||||
00000001 r _ZL4MOSI
|
||||
U _ZN9UARTClass10IrqHandlerEv
|
||||
U _ZN9UARTClassC1EP4Uart4IRQnmP12_ring_bufferS4_
|
||||
U __aeabi_unwind_cpp_pr0
|
||||
00000000 B rx_buffer1
|
||||
00000090 B rx_buffer2
|
||||
00000048 B tx_buffer1
|
||||
000000d8 B tx_buffer2
|
||||
BIN
hardware/sam/cores/sam/libarduino_sam3s_ek_gcc_dbg.a
Normal file
BIN
hardware/sam/cores/sam/libarduino_sam3s_ek_gcc_dbg.a
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
22
hardware/sam/cores/sam/validation/Makefile
Normal file
22
hardware/sam/cores/sam/validation/Makefile
Normal file
@@ -0,0 +1,22 @@
|
||||
# Makefile for compiling libboard
|
||||
BOARD =
|
||||
|
||||
SUBMAKE_OPTIONS=--no-builtin-rules --no-builtin-variables
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Rules
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
all: test
|
||||
|
||||
.PHONY: test
|
||||
test:
|
||||
@echo --- Making test
|
||||
@$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f test.mk
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
@echo --- Cleaning test
|
||||
@$(MAKE) DEBUG=1 $(SUBMAKE_OPTIONS) -f test.mk $@
|
||||
|
||||
|
||||
7
hardware/sam/cores/sam/validation/debug.mk
Normal file
7
hardware/sam/cores/sam/validation/debug.mk
Normal file
@@ -0,0 +1,7 @@
|
||||
# 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
|
||||
59
hardware/sam/cores/sam/validation/gcc.mk
Normal file
59
hardware/sam/cores/sam/validation/gcc.mk
Normal file
@@ -0,0 +1,59 @@
|
||||
|
||||
# Tool suffix when cross-compiling
|
||||
#CROSS_COMPILE = ../../../../tools/CodeSourcery_arm/bin/arm-none-eabi-
|
||||
CROSS_COMPILE = C:/CodeSourcery_2011.03-42/bin/arm-none-eabi-
|
||||
|
||||
# Compilation tools
|
||||
AR = $(CROSS_COMPILE)ar
|
||||
CC = $(CROSS_COMPILE)gcc
|
||||
AS = $(CROSS_COMPILE)as
|
||||
#LD = $(CROSS_COMPILE)ld
|
||||
SIZE = $(CROSS_COMPILE)size
|
||||
NM = $(CROSS_COMPILE)nm
|
||||
OBJCOPY = $(CROSS_COMPILE)objcopy
|
||||
RM=cs-rm -Rf
|
||||
SEP=\\
|
||||
|
||||
# ---------------------------------------------------------------------------------------
|
||||
# C Flags
|
||||
|
||||
CFLAGS += -Wall -Wchar-subscripts -Wcomment -Wformat=2 -Wimplicit-int
|
||||
CFLAGS += -Werror-implicit-function-declaration -Wmain -Wparentheses
|
||||
CFLAGS += -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused
|
||||
CFLAGS += -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef
|
||||
CFLAGS += -Wshadow -Wpointer-arith -Wbad-function-cast -Wwrite-strings
|
||||
CFLAGS += -Wsign-compare -Waggregate-return -Wstrict-prototypes
|
||||
CFLAGS += -Wmissing-prototypes -Wmissing-declarations
|
||||
CFLAGS += -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations
|
||||
CFLAGS += -Wpacked -Wredundant-decls -Wnested-externs -Winline -Wlong-long
|
||||
CFLAGS += -Wunreachable-code
|
||||
CFLAGS += -Wcast-align
|
||||
|
||||
CFLAGS += --param max-inline-insns-single=500 -mcpu=cortex-m3 -mthumb -mlong-calls -ffunction-sections
|
||||
CFLAGS += $(OPTIMIZATION) $(INCLUDES) -D$(CHIP) -D$(VARIANT)
|
||||
|
||||
# To reduce application size use only integer printf function.
|
||||
CFLAGS += -Dprintf=iprintf
|
||||
|
||||
# ---------------------------------------------------------------------------------------
|
||||
# CPP Flags
|
||||
|
||||
CPPFLAGS += -Wall -Wchar-subscripts -Wcomment -Wformat=2
|
||||
CPPFLAGS += -Wmain -Wparentheses -Wcast-align -Wunreachable-code
|
||||
CPPFLAGS += -Wsequence-point -Wreturn-type -Wswitch -Wtrigraphs -Wunused
|
||||
CPPFLAGS += -Wuninitialized -Wunknown-pragmas -Wfloat-equal -Wundef
|
||||
CPPFLAGS += -Wshadow -Wpointer-arith -Wwrite-strings
|
||||
CPPFLAGS += -Wsign-compare -Waggregate-return -Wmissing-declarations
|
||||
CPPFLAGS += -Wformat -Wmissing-format-attribute -Wno-deprecated-declarations
|
||||
CPPFLAGS += -Wpacked -Wredundant-decls -Winline -Wlong-long
|
||||
|
||||
CPPFLAGS += --param max-inline-insns-single=500 -mcpu=cortex-m3 -mthumb -mlong-calls -ffunction-sections
|
||||
CPPFLAGS += $(OPTIMIZATION) $(INCLUDES) -D$(CHIP)
|
||||
|
||||
# To reduce application size use only integer printf function.
|
||||
CPPFLAGS += -Dprintf=iprintf
|
||||
|
||||
# ---------------------------------------------------------------------------------------
|
||||
# ASM Flags
|
||||
|
||||
ASFLAGS = -mcpu=cortex-m3 -mthumb -Wall -g $(OPTIMIZATION) $(INCLUDES)
|
||||
8
hardware/sam/cores/sam/validation/release.mk
Normal file
8
hardware/sam/cores/sam/validation/release.mk
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
# Optimization level
|
||||
# -O1 Optimize
|
||||
# -O2 Optimize even more
|
||||
# -O3 Optimize yet more
|
||||
# -O0 Reduce compilation time and make debugging produce the expected results
|
||||
# -Os Optimize for size
|
||||
OPTIMIZATION = -Os
|
||||
@@ -1,3 +1,4 @@
|
||||
#include "../Arduino.h"
|
||||
|
||||
void setup( void )
|
||||
{
|
||||
@@ -5,7 +6,7 @@ void setup( void )
|
||||
// Pin PIN_LED has an LED connected on most Arduino boards:
|
||||
pinMode( PIN_LED, OUTPUT ) ;
|
||||
|
||||
Serial.begin( 19200 ) ;
|
||||
Serial1.begin( 19200 ) ;
|
||||
}
|
||||
|
||||
void loop( void )
|
||||
@@ -15,7 +16,7 @@ void loop( void )
|
||||
digitalWrite( PIN_LED, LOW ) ; // set the LED off
|
||||
delay( 1000 ) ; // wait for a second
|
||||
|
||||
Serial.println( "test1" ) ; // send an initial string
|
||||
Serial1.println( "test1" ) ; // send an initial string
|
||||
delay( 1000 ) ; // wait for a second
|
||||
Serial.println( "test2" ) ; // send an initial string
|
||||
Serial1.println( "test2" ) ; // send an initial string
|
||||
}
|
||||
|
||||
106
hardware/sam/cores/sam/validation/test.mk
Normal file
106
hardware/sam/cores/sam/validation/test.mk
Normal file
@@ -0,0 +1,106 @@
|
||||
# Makefile for compiling libArduino
|
||||
.SUFFIXES: .o .a .c .s
|
||||
|
||||
CHIP=sam3s4
|
||||
VARIANT=sam3s_ek
|
||||
TOOLCHAIN=gcc
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Path
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
# Output directories
|
||||
OUTPUT_PATH = .
|
||||
|
||||
# Libraries
|
||||
PROJECT_BASE_PATH = .
|
||||
SYSTEM_PATH = ../../../system
|
||||
CMSIS_PATH = $(SYSTEM_PATH)/CMSIS/CM3/CoreSupport
|
||||
VARIANT_PATH = ../../../variants/sam3s-ek
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Files
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
vpath %.h $(PROJECT_BASE_PATH)/.. $(VARIANT_PATH) $(SYSTEM_PATH)
|
||||
vpath %.cpp $(PROJECT_BASE_PATH)
|
||||
|
||||
VPATH+=$(PROJECT_BASE_PATH)
|
||||
|
||||
INCLUDES = -I$(PROJECT_BASE_PATH)/..
|
||||
INCLUDES += -I$(VARIANT_PATH)
|
||||
INCLUDES += -I$(SYSTEM_PATH)
|
||||
INCLUDES += -I$(SYSTEM_PATH)/libsam
|
||||
INCLUDES += -I$(CMSIS_PATH)
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
ifdef DEBUG
|
||||
include debug.mk
|
||||
else
|
||||
include release.mk
|
||||
endif
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Tools
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
include $(TOOLCHAIN).mk
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
ifdef DEBUG
|
||||
OUTPUT_OBJ=debug
|
||||
OUTPUT_BIN=test_$(TOOLCHAIN)_dbg
|
||||
LIBS=-Wl,--start-group -lgcc -lc -lchip_$(CHIP)_$(TOOLCHAIN)_dbg -larduino_$(VARIANT)_$(TOOLCHAIN)_dbg -Wl,--end-group
|
||||
else
|
||||
OUTPUT_OBJ=release
|
||||
OUTPUT_BIN=test_$(TOOLCHAIN)_rel
|
||||
#LIBS=-L../libchip_$(CHIP)_$(TOOLCHAIN)_rel.a -L../arduino_$(VARIANT)_$(TOOLCHAIN)_rel.a
|
||||
LIBS=-Wl,--start-group -lgcc -lc -lchip_$(CHIP)_$(TOOLCHAIN)_rel -larduino_$(VARIANT)_$(TOOLCHAIN)_rel -Wl,--end-group
|
||||
endif
|
||||
|
||||
//OUTPUT_PATH=$(OUTPUT_OBJ)_test.elf
|
||||
|
||||
LIB_PATH =-L$(PROJECT_BASE_PATH)/..
|
||||
LIB_PATH+=-L=/lib/thumb2
|
||||
LIB_PATH+=-L=/../lib/gcc/arm-none-eabi/4.4.1/thumb2
|
||||
|
||||
LDFLAGS= -mcpu=cortex-m3 -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# CPP source files and objects
|
||||
#-------------------------------------------------------------------------------
|
||||
CPP_SRC=$(wildcard $(PROJECT_BASE_PATH)/*.cpp)
|
||||
|
||||
CPP_OBJ_TEMP = $(patsubst %.cpp, %.o, $(notdir $(CPP_SRC)))
|
||||
|
||||
# during development, remove some files
|
||||
CPP_OBJ_FILTER=
|
||||
|
||||
CPP_OBJ=$(filter-out $(CPP_OBJ_FILTER), $(CPP_OBJ_TEMP))
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Rules
|
||||
#-------------------------------------------------------------------------------
|
||||
all: test
|
||||
|
||||
test: $(OUTPUT_BIN)
|
||||
|
||||
$(addprefix $(OUTPUT_PATH)/,$(CPP_OBJ)): $(OUTPUT_PATH)/%.o: %.cpp
|
||||
# @$(CC) -c $(CPPFLAGS) $< -o $@
|
||||
@$(CC) -xc++ -c $(CPPFLAGS) $< -o $@
|
||||
|
||||
$(OUTPUT_BIN): $(addprefix $(OUTPUT_PATH)/, $(C_OBJ)) $(addprefix $(OUTPUT_PATH)/, $(CPP_OBJ)) $(addprefix $(OUTPUT_PATH)/, $(A_OBJ))
|
||||
@$(CC) $(LIB_PATH) $(LDFLAGS) -T"$(VARIANT_PATH)/linker_scripts/flash.ld" -Wl,-Map,$(OUTPUT_PATH)/$@.map -o $(OUTPUT_PATH)/$@.elf $^ $(LIBS)
|
||||
$(NM) $(OUTPUT_PATH)/$@.elf >$(OUTPUT_PATH)/$@.elf.txt
|
||||
$(OBJCOPY) -O binary $(OUTPUT_PATH)/$@.elf $(OUTPUT_PATH)/$@.bin
|
||||
$(SIZE) $^ $(OUTPUT_PATH)/$@.elf
|
||||
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
@echo --- Cleaning test files
|
||||
-@$(RM) $(OUTPUT_PATH)/test.o 1>NUL 2>&1
|
||||
-@$(RM) $(OUTPUT_PATH)/$(OUTPUT_BIN).elf 1>NUL 2>&1
|
||||
-@$(RM) $(OUTPUT_PATH)/$(OUTPUT_BIN).elf.txt 1>NUL 2>&1
|
||||
-@$(RM) $(OUTPUT_PATH)/$(OUTPUT_BIN).bin 1>NUL 2>&1
|
||||
-@$(RM) $(OUTPUT_PATH)/$(OUTPUT_BIN).map 1>NUL 2>&1
|
||||
BIN
hardware/sam/cores/sam/validation/test.o
Normal file
BIN
hardware/sam/cores/sam/validation/test.o
Normal file
Binary file not shown.
BIN
hardware/sam/cores/sam/validation/test_gcc_dbg.bin
Normal file
BIN
hardware/sam/cores/sam/validation/test_gcc_dbg.bin
Normal file
Binary file not shown.
BIN
hardware/sam/cores/sam/validation/test_gcc_dbg.elf
Normal file
BIN
hardware/sam/cores/sam/validation/test_gcc_dbg.elf
Normal file
Binary file not shown.
351
hardware/sam/cores/sam/validation/test_gcc_dbg.elf.txt
Normal file
351
hardware/sam/cores/sam/validation/test_gcc_dbg.elf.txt
Normal file
@@ -0,0 +1,351 @@
|
||||
00405378 t .udivsi3_skip_div0_test
|
||||
00404eb8 W ACC_IrqHandler
|
||||
00404eb8 W ADC_IrqHandler
|
||||
004061b4 t APinDescription
|
||||
004065a8 t APinDescription
|
||||
00404eb8 W BusFault_Handler
|
||||
00404eb8 W CRCCU_IrqHandler
|
||||
00404eb8 W DAC_IrqHandler
|
||||
00404eb8 W DebugMon_Handler
|
||||
00404eb8 T Dummy_Handler
|
||||
00404eb8 W EEFC_IrqHandler
|
||||
00404eb8 W HardFault_Handler
|
||||
004020c4 t LowLevelInit_sam3s_ek
|
||||
00404eb8 W MCI_IrqHandler
|
||||
004061b2 t MISO
|
||||
004065a6 t MISO
|
||||
004065a5 t MOSI
|
||||
004061b1 t MOSI
|
||||
00404eb8 W MemManage_Handler
|
||||
00404eb8 W NMI_Handler
|
||||
00402004 t NVIC_SetPriority
|
||||
00404eb8 W PIOA_IrqHandler
|
||||
00404eb8 W PIOB_IrqHandler
|
||||
00404eb8 W PIOC_IrqHandler
|
||||
004050fc T PIO_Configure
|
||||
00404ec0 T PIO_DisableInterrupt
|
||||
00404edc T PIO_PullUp
|
||||
00405018 T PIO_SetInput
|
||||
00405098 T PIO_SetOutput
|
||||
00404f0c T PIO_SetPeripheral
|
||||
00405298 T PMC_DisablePeripheral
|
||||
004051f4 T PMC_EnablePeripheral
|
||||
00404eb8 W PMC_IrqHandler
|
||||
00404eb8 W PWM_IrqHandler
|
||||
00404eb8 W PendSV_Handler
|
||||
00404eb8 W RSTC_IrqHandler
|
||||
00404eb8 W RTC_IrqHandler
|
||||
00404eb8 W RTT_IrqHandler
|
||||
00401dfc T Reset_Handler
|
||||
004061b3 t SCK
|
||||
004065a7 t SCK
|
||||
00404eb8 W SMC_IrqHandler
|
||||
00404eb8 W SPI_IrqHandler
|
||||
004065a4 t SS
|
||||
004061b0 t SS
|
||||
00404eb8 W SSC_IrqHandler
|
||||
00404eb8 W SUPC_IrqHandler
|
||||
00404eb8 W SVC_Handler
|
||||
200006e0 B Serial1
|
||||
200006f8 B Serial2
|
||||
0040205c t SysTick_Config
|
||||
004020b4 T SysTick_Handler
|
||||
00404eb8 W TC0_IrqHandler
|
||||
00404eb8 W TC1_IrqHandler
|
||||
00404eb8 W TC2_IrqHandler
|
||||
00404eb8 W TC3_IrqHandler
|
||||
00404eb8 W TC4_IrqHandler
|
||||
00404eb8 W TC5_IrqHandler
|
||||
00404eb8 W TWI0_IrqHandler
|
||||
00404eb8 W TWI1_IrqHandler
|
||||
00405358 T TimeTick_Increment
|
||||
00404eb8 W UART0_IrqHandler
|
||||
00404eb8 W UART1_IrqHandler
|
||||
00404eb8 W USART0_IrqHandler
|
||||
00404eb8 W USART1_IrqHandler
|
||||
00404eb8 W USBD_IrqHandler
|
||||
00404eb8 W UsageFault_Handler
|
||||
0040533c T WDT_Disable
|
||||
00404eb8 W WDT_IrqHandler
|
||||
004027b4 t _GLOBAL__I_rx_buffer1
|
||||
w _Jv_RegisterClasses
|
||||
00400f48 T _Unwind_Backtrace
|
||||
00400d1c T _Unwind_Complete
|
||||
00400d20 T _Unwind_DeleteException
|
||||
00400f24 T _Unwind_ForcedUnwind
|
||||
00400c40 T _Unwind_GetCFA
|
||||
0040131c T _Unwind_GetDataRelBase
|
||||
00400498 t _Unwind_GetGR
|
||||
00400fa0 t _Unwind_GetGR.clone.0
|
||||
00401308 T _Unwind_GetLanguageSpecificData
|
||||
004012fc T _Unwind_GetRegionStart
|
||||
00401324 T _Unwind_GetTextRelBase
|
||||
00400eb8 T _Unwind_RaiseException
|
||||
00400edc T _Unwind_Resume
|
||||
00400f00 T _Unwind_Resume_or_Rethrow
|
||||
004004e4 t _Unwind_SetGR
|
||||
00400464 T _Unwind_VRS_Get
|
||||
00400858 T _Unwind_VRS_Pop
|
||||
004004b0 T _Unwind_VRS_Set
|
||||
00400188 t _Unwind_decode_target2
|
||||
0040273c t _Z41__static_initialization_and_destruction_0ii
|
||||
U _Z4Waitm
|
||||
00406e00 t _ZL15APinDescription
|
||||
004069c8 t _ZL15APinDescription
|
||||
00405d9c t _ZL15APinDescription
|
||||
00406dfb t _ZL2SS
|
||||
004069c3 t _ZL2SS
|
||||
00405d96 t _ZL2SS
|
||||
00406dfe t _ZL3SCK
|
||||
004069c6 t _ZL3SCK
|
||||
00405d99 t _ZL3SCK
|
||||
00405d98 t _ZL4MISO
|
||||
004069c5 t _ZL4MISO
|
||||
00406dfd t _ZL4MISO
|
||||
00406dfc t _ZL4MOSI
|
||||
00405d97 t _ZL4MOSI
|
||||
004069c4 t _ZL4MOSI
|
||||
00402488 W _ZN14HardwareSerialC1Ev
|
||||
00402488 W _ZN14HardwareSerialC2Ev
|
||||
004023a4 T _ZN5Print5printEPKc
|
||||
004023c8 T _ZN5Print5printEc
|
||||
0040231c T _ZN5Print5writeEPKc
|
||||
0040235c T _ZN5Print5writeEPKhj
|
||||
00402414 T _ZN5Print7printlnEPKc
|
||||
004023ec T _ZN5Print7printlnEv
|
||||
0040243c W _ZN5PrintC1Ev
|
||||
0040243c W _ZN5PrintC2Ev
|
||||
0040245c W _ZN6StreamC1Ev
|
||||
0040245c W _ZN6StreamC2Ev
|
||||
00402560 T _ZN9UARTClass3endEv
|
||||
004025d0 T _ZN9UARTClass4peekEv
|
||||
00402610 T _ZN9UARTClass4readEv
|
||||
00402504 T _ZN9UARTClass5beginEm
|
||||
00402668 T _ZN9UARTClass5flushEv
|
||||
00402694 T _ZN9UARTClass5writeEh
|
||||
004025a4 T _ZN9UARTClass9availableEv
|
||||
004024b4 T _ZN9UARTClassC1EP4Uart4IRQnmP12_ring_bufferS4_
|
||||
004024b4 T _ZN9UARTClassC2EP4Uart4IRQnmP12_ring_bufferS4_
|
||||
0040725c V _ZTI14HardwareSerial
|
||||
004069b4 T _ZTI5Print
|
||||
00407270 V _ZTI6Stream
|
||||
00406de4 T _ZTI9UARTClass
|
||||
00407248 V _ZTS14HardwareSerial
|
||||
004069bc T _ZTS5Print
|
||||
00407268 V _ZTS6Stream
|
||||
00406df0 T _ZTS9UARTClass
|
||||
004071f0 V _ZTV14HardwareSerial
|
||||
004069a0 T _ZTV5Print
|
||||
00407220 V _ZTV6Stream
|
||||
00406db8 T _ZTV9UARTClass
|
||||
U _ZTVN10__cxxabiv117__class_type_infoE
|
||||
U _ZTVN10__cxxabiv120__si_class_type_infoE
|
||||
00407380 t __FUNCTION__.5774
|
||||
00407368 t __FUNCTION__.5778
|
||||
00407354 t __FUNCTION__.5800
|
||||
00400f48 T ___Unwind_Backtrace
|
||||
00400f24 T ___Unwind_ForcedUnwind
|
||||
00400eb8 T ___Unwind_RaiseException
|
||||
00400edc T ___Unwind_Resume
|
||||
00400f00 T ___Unwind_Resume_or_Rethrow
|
||||
004055f0 W __aeabi_idiv0
|
||||
004055f0 W __aeabi_ldiv0
|
||||
00405378 T __aeabi_uidiv
|
||||
004055d4 T __aeabi_uidivmod
|
||||
004055f4 T __aeabi_uldivmod
|
||||
00400854 T __aeabi_unwind_cpp_pr0
|
||||
00400850 W __aeabi_unwind_cpp_pr1
|
||||
0040084c W __aeabi_unwind_cpp_pr2
|
||||
00404ca8 T __ascii_wctomb
|
||||
00405d30 T __assert
|
||||
00405ce8 T __assert_func
|
||||
w __cxa_begin_cleanup
|
||||
w __cxa_call_unexpected
|
||||
U __cxa_pure_virtual
|
||||
w __cxa_type_match
|
||||
00405680 T __divdi3
|
||||
004000d0 t __do_global_dtors_aux
|
||||
00407488 t __do_global_dtors_aux_fini_array_entry
|
||||
004075b4 a __exidx_end
|
||||
0040748c a __exidx_start
|
||||
0040748c T __fini_array_end
|
||||
00407488 T __fini_array_start
|
||||
00404038 t __fp_lock
|
||||
00404228 T __fp_lock_all
|
||||
0040403c t __fp_unlock
|
||||
00404240 T __fp_unlock_all
|
||||
00407474 t __frame_dummy_init_array_entry
|
||||
00400d30 T __gnu_Unwind_Backtrace
|
||||
w __gnu_Unwind_Find_exidx
|
||||
00400cb4 T __gnu_Unwind_ForcedUnwind
|
||||
00400c44 T __gnu_Unwind_RaiseException
|
||||
00400dd8 T __gnu_Unwind_Restore_VFP
|
||||
00400de8 T __gnu_Unwind_Restore_VFP_D
|
||||
00400df8 T __gnu_Unwind_Restore_VFP_D_16_to_31
|
||||
00400e90 T __gnu_Unwind_Restore_WMMXC
|
||||
00400e08 T __gnu_Unwind_Restore_WMMXD
|
||||
00400cc8 T __gnu_Unwind_Resume
|
||||
00400d04 T __gnu_Unwind_Resume_or_Rethrow
|
||||
00400de0 T __gnu_Unwind_Save_VFP
|
||||
00400df0 T __gnu_Unwind_Save_VFP_D
|
||||
00400e00 T __gnu_Unwind_Save_VFP_D_16_to_31
|
||||
00400ea4 T __gnu_Unwind_Save_WMMXC
|
||||
00400e4c T __gnu_Unwind_Save_WMMXD
|
||||
00405620 T __gnu_ldivmod_helper
|
||||
00405650 T __gnu_uldivmod_helper
|
||||
00400fc0 T __gnu_unwind_execute
|
||||
004012d0 T __gnu_unwind_frame
|
||||
00400500 t __gnu_unwind_pr_common
|
||||
0040747c T __init_array_end
|
||||
00407474 T __init_array_start
|
||||
004027cc T __libc_init_array
|
||||
004047d8 T __locale_charset
|
||||
004047f8 T __locale_cjk_lang
|
||||
004047e4 T __locale_mb_cur_max
|
||||
004047f0 T __locale_msgcharset
|
||||
200000f4 D __malloc_av_
|
||||
2000058c B __malloc_current_mallinfo
|
||||
00401b8c T __malloc_lock
|
||||
200005b4 B __malloc_max_sbrked_mem
|
||||
200005b8 B __malloc_max_total_mem
|
||||
200004fc D __malloc_sbrk_base
|
||||
20000588 B __malloc_top_pad
|
||||
20000500 D __malloc_trim_threshold
|
||||
00401b90 T __malloc_unlock
|
||||
20000524 D __mb_cur_max
|
||||
00407474 T __preinit_array_end
|
||||
00407474 T __preinit_array_start
|
||||
00400dc0 T __restore_core_regs
|
||||
00404ad4 T __sclose
|
||||
00404a6c T __seofread
|
||||
0040730c T __sf_fake_stderr
|
||||
004072cc T __sf_fake_stdin
|
||||
004072ec T __sf_fake_stdout
|
||||
0040404c T __sfmoreglue
|
||||
00404190 T __sfp
|
||||
00404218 T __sfp_lock_acquire
|
||||
0040421c T __sfp_lock_release
|
||||
00404398 T __sfvwrite_r
|
||||
004015d0 T __sigtramp
|
||||
00401550 T __sigtramp_r
|
||||
00404088 T __sinit
|
||||
00404220 T __sinit_lock_acquire
|
||||
00404224 T __sinit_lock_release
|
||||
0040481c T __smakebuf_r
|
||||
00402f8c T __sprint_r
|
||||
00404a48 T __sread
|
||||
00404aac T __sseek
|
||||
00404bc8 T __swbuf
|
||||
00404adc T __swbuf_r
|
||||
00404a70 T __swrite
|
||||
00403d48 T __swsetup_r
|
||||
004059e0 T __udivdi3
|
||||
00405378 T __udivsi3
|
||||
20000580 D __wctomb
|
||||
0040407c T _cleanup
|
||||
00404040 T _cleanup_r
|
||||
00401efc T _close
|
||||
00404d20 T _close_r
|
||||
20000710 b _dwTickCount
|
||||
20000718 B _ebss
|
||||
0040748c T _efixed
|
||||
20002b18 A _end
|
||||
20000584 D _erelocate
|
||||
004075b4 A _etext
|
||||
00401fc4 T _exit
|
||||
20000718 B _ezero
|
||||
00404d48 T _fclose_r
|
||||
00403e4c T _fflush_r
|
||||
0040747c T _fini
|
||||
00405d3c T _fiprintf_r
|
||||
00404258 T _fputwc_r
|
||||
00401c64 T _free_r
|
||||
00401f14 T _fstat
|
||||
00404e0c T _fstat_r
|
||||
004046d0 T _fwalk
|
||||
00404724 T _fwalk_reent
|
||||
00401ff4 T _getpid
|
||||
0040160c T _getpid_r
|
||||
0040618c T _global_impure_ptr
|
||||
20000000 D _impure_ptr
|
||||
00407468 T _init
|
||||
004015c4 T _init_signal
|
||||
0040148c T _init_signal_r
|
||||
00402854 T _iprintf_r
|
||||
00401f38 T _isatty
|
||||
00404e38 T _isatty_r
|
||||
00401fe0 T _kill
|
||||
004015e0 T _kill_r
|
||||
004047fc T _localeconv_r
|
||||
00401f50 T _lseek
|
||||
00404e60 T _lseek_r
|
||||
00401610 T _malloc_r
|
||||
00401bbc T _malloc_trim_r
|
||||
004014f8 T _raise_r
|
||||
00401f6c T _read
|
||||
00404e8c T _read_r
|
||||
00402934 T _realloc_r
|
||||
00401ebc T _sbrk
|
||||
00401b94 T _sbrk_r
|
||||
20000584 B _sbss
|
||||
0040477c T _setlocale_r
|
||||
00400000 T _sfixed
|
||||
004014bc T _signal_r
|
||||
20000000 D _srelocate
|
||||
20000584 B _szero
|
||||
00403010 T _vfiprintf_r
|
||||
00404bd8 T _wcrtomb_r
|
||||
00404cc4 T _wctomb_r
|
||||
00401f88 T _write
|
||||
00404cf4 T _write_r
|
||||
0040132c T abort
|
||||
0040727c t blanks.6556
|
||||
20000584 b completed.7631
|
||||
004022a0 T digitalWrite
|
||||
20000714 B errno
|
||||
00404dfc T fclose
|
||||
00404010 T fflush
|
||||
00405d5c T fiprintf
|
||||
00404340 T fputwc
|
||||
004000e4 t frame_dummy
|
||||
00400208 t get_eit_entry
|
||||
200005bc b heap.6819
|
||||
20000004 d impure_data
|
||||
0040217c T init
|
||||
0040281c T iprintf
|
||||
20000504 d lc_ctype_charset
|
||||
20000528 d lc_message_charset
|
||||
20000548 d lconv
|
||||
00404814 T localeconv
|
||||
00400128 T loop
|
||||
0040271c T main
|
||||
00404908 T memchr
|
||||
0040133c T memcpy
|
||||
00402880 T memmove
|
||||
00404994 T memset
|
||||
00400f6c t next_unwind_byte
|
||||
20000718 B pdwStack
|
||||
004021c8 T pinMode
|
||||
004015a4 T raise
|
||||
00400dc0 T restore_core_regs
|
||||
004002d8 t restore_non_core_regs
|
||||
200005c0 B rx_buffer1
|
||||
20000650 B rx_buffer2
|
||||
004001a8 t search_EIT_table
|
||||
00400194 t selfrel_offset31
|
||||
00404804 T setlocale
|
||||
00400100 T setup
|
||||
00000000 a shift
|
||||
004015b4 T signal
|
||||
00402d50 T strcmp
|
||||
00402dd0 t strcmp_unaligned
|
||||
00402f2c T strlen
|
||||
20000608 B tx_buffer1
|
||||
20000698 B tx_buffer2
|
||||
00400fbc t unwind_UCB_from_context
|
||||
00400434 t unwind_phase2
|
||||
00400340 t unwind_phase2_forced
|
||||
00400000 T vector_table
|
||||
00403d2c T vfiprintf
|
||||
00404c34 T wcrtomb
|
||||
0040728c t zeroes.6557
|
||||
2907
hardware/sam/cores/sam/validation/test_gcc_dbg.map
Normal file
2907
hardware/sam/cores/sam/validation/test_gcc_dbg.map
Normal file
File diff suppressed because it is too large
Load Diff
@@ -100,10 +100,10 @@ unsigned long micros( void )
|
||||
return 0 ;
|
||||
}
|
||||
|
||||
void delay( uint32_t dwMs )
|
||||
{
|
||||
Wait( dwMs ) ;
|
||||
}
|
||||
//void delay( uint32_t dwMs )
|
||||
//{
|
||||
// Wait( dwMs ) ;
|
||||
//}
|
||||
|
||||
/* Delay for the given number of microseconds. Assumes a 64 MHz clock. */
|
||||
void delayMicroseconds(unsigned int us)
|
||||
|
||||
@@ -25,141 +25,79 @@
|
||||
*/
|
||||
|
||||
#include "wiring_private.h"
|
||||
#include "pins_arduino.h"
|
||||
//#include "pins_arduino.h"
|
||||
|
||||
void pinMode(uint8_t pin, uint8_t mode)
|
||||
/// \brief Configures the specified pin to behave either as an input or an output. See the description of digital pins for details.
|
||||
///
|
||||
/// \param dwPin the number of the pin whose mode you wish to set
|
||||
/// \param dwMode either INPUT or OUTPUT
|
||||
///
|
||||
void pinMode( uint32_t dwPin, uint32_t dwMode )
|
||||
{
|
||||
uint8_t bit = digitalPinToBitMask(pin);
|
||||
uint8_t port = digitalPinToPort(pin);
|
||||
volatile uint8_t *reg;
|
||||
if ( APinDescription[dwPin].dwPinType == PIO_NOT_A_PIN )
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
if (port == NOT_A_PIN) return;
|
||||
switch ( dwMode )
|
||||
{
|
||||
case INPUT:
|
||||
PIO_Configure( APinDescription[dwPin].pPort, PIO_INPUT, APinDescription[dwPin].dwPin, 0 ) ;
|
||||
break ;
|
||||
|
||||
// JWS: can I let the optimizer do this?
|
||||
reg = portModeRegister(port);
|
||||
case OUTPUT:
|
||||
PIO_Configure( APinDescription[dwPin].pPort, PIO_OUTPUT_1, APinDescription[dwPin].dwPin, APinDescription[dwPin].dwPinAttribute ) ;
|
||||
break ;
|
||||
|
||||
if (mode == INPUT) {
|
||||
uint8_t oldSREG = SREG;
|
||||
cli();
|
||||
*reg &= ~bit;
|
||||
SREG = oldSREG;
|
||||
} else {
|
||||
uint8_t oldSREG = SREG;
|
||||
cli();
|
||||
*reg |= bit;
|
||||
SREG = oldSREG;
|
||||
default:
|
||||
break ;
|
||||
}
|
||||
}
|
||||
|
||||
// Forcing this inline keeps the callers from having to push their own stuff
|
||||
// on the stack. It is a good performance win and only takes 1 more byte per
|
||||
// user than calling. (It will take more bytes on the 168.)
|
||||
//
|
||||
// But shouldn't this be moved into pinMode? Seems silly to check and do on
|
||||
// each digitalread or write.
|
||||
//
|
||||
// Mark Sproul:
|
||||
// - Removed inline. Save 170 bytes on atmega1280
|
||||
// - changed to a switch statment; added 32 bytes but much easier to read and maintain.
|
||||
// - Added more #ifdefs, now compiles for atmega645
|
||||
//
|
||||
//static inline void turnOffPWM(uint8_t timer) __attribute__ ((always_inline));
|
||||
//static inline void turnOffPWM(uint8_t timer)
|
||||
static void turnOffPWM(uint8_t timer)
|
||||
/// \brief Write a HIGH or a LOW value to a digital pin.
|
||||
///
|
||||
/// \desc If the pin has been configured as an OUTPUT with pinMode(), its voltage will be set to the
|
||||
/// corresponding value: 5V (or 3.3V on 3.3V boards) for HIGH, 0V (ground) for LOW.
|
||||
///
|
||||
/// If the pin is configured as an INPUT, writing a HIGH value with digitalWrite() will enable an internal
|
||||
/// 20K pullup resistor (see the tutorial on digital pins). Writing LOW will disable the pullup. The pullup
|
||||
/// resistor is enough to light an LED dimly, so if LEDs appear to work, but very dimly, this is a likely
|
||||
/// cause. The remedy is to set the pin to an output with the pinMode() function.
|
||||
///
|
||||
/// NOTE: Digital pin PIN_LED is harder to use as a digital input than the other digital pins because it has an LED
|
||||
/// and resistor attached to it that's soldered to the board on most boards. If you enable its internal 20k pull-up
|
||||
/// resistor, it will hang at around 1.7 V instead of the expected 5V because the onboard LED and series resistor
|
||||
/// pull the voltage level down, meaning it always returns LOW. If you must use pin PIN_LED as a digital input, use an
|
||||
/// external pull down resistor.
|
||||
///
|
||||
/// \param dwPin the pin number
|
||||
/// \param dwVal HIGH or LOW
|
||||
///
|
||||
void digitalWrite( uint32_t dwPin, uint32_t dwVal )
|
||||
{
|
||||
switch (timer)
|
||||
{
|
||||
#if defined(TCCR1A) && defined(COM1A1)
|
||||
case TIMER1A: cbi(TCCR1A, COM1A1); break;
|
||||
#endif
|
||||
#if defined(TCCR1A) && defined(COM1B1)
|
||||
case TIMER1B: cbi(TCCR1A, COM1B1); break;
|
||||
#endif
|
||||
|
||||
#if defined(TCCR2) && defined(COM21)
|
||||
case TIMER2: cbi(TCCR2, COM21); break;
|
||||
#endif
|
||||
|
||||
#if defined(TCCR0A) && defined(COM0A1)
|
||||
case TIMER0A: cbi(TCCR0A, COM0A1); break;
|
||||
#endif
|
||||
|
||||
#if defined(TIMER0B) && defined(COM0B1)
|
||||
case TIMER0B: cbi(TCCR0A, COM0B1); break;
|
||||
#endif
|
||||
#if defined(TCCR2A) && defined(COM2A1)
|
||||
case TIMER2A: cbi(TCCR2A, COM2A1); break;
|
||||
#endif
|
||||
#if defined(TCCR2A) && defined(COM2B1)
|
||||
case TIMER2B: cbi(TCCR2A, COM2B1); break;
|
||||
#endif
|
||||
|
||||
#if defined(TCCR3A) && defined(COM3A1)
|
||||
case TIMER3A: cbi(TCCR3A, COM3A1); break;
|
||||
#endif
|
||||
#if defined(TCCR3A) && defined(COM3B1)
|
||||
case TIMER3B: cbi(TCCR3A, COM3B1); break;
|
||||
#endif
|
||||
#if defined(TCCR3A) && defined(COM3C1)
|
||||
case TIMER3C: cbi(TCCR3A, COM3C1); break;
|
||||
#endif
|
||||
if ( APinDescription[dwPin].dwPinType == PIO_NOT_A_PIN )
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
#if defined(TCCR4A) && defined(COM4A1)
|
||||
case TIMER4A: cbi(TCCR4A, COM4A1); break;
|
||||
#endif
|
||||
#if defined(TCCR4A) && defined(COM4B1)
|
||||
case TIMER4B: cbi(TCCR4A, COM4B1); break;
|
||||
#endif
|
||||
#if defined(TCCR4A) && defined(COM4C1)
|
||||
case TIMER4C: cbi(TCCR4A, COM4C1); break;
|
||||
#endif
|
||||
#if defined(TCCR5A)
|
||||
case TIMER5A: cbi(TCCR5A, COM5A1); break;
|
||||
case TIMER5B: cbi(TCCR5A, COM5B1); break;
|
||||
case TIMER5C: cbi(TCCR5A, COM5C1); break;
|
||||
#endif
|
||||
}
|
||||
PIO_SetOutput( APinDescription[dwPin].pPort, APinDescription[dwPin].dwPin, dwVal, 0, PIO_PULLUP ) ;
|
||||
}
|
||||
|
||||
void digitalWrite(uint8_t pin, uint8_t val)
|
||||
/// \brief Reads the value from a specified digital pin, either HIGH or LOW.
|
||||
///
|
||||
/// \param dwPin the number of the digital pin you want to read (int)
|
||||
///
|
||||
int digitalRead( uint32_t dwPin )
|
||||
{
|
||||
uint8_t timer = digitalPinToTimer(pin);
|
||||
uint8_t bit = digitalPinToBitMask(pin);
|
||||
uint8_t port = digitalPinToPort(pin);
|
||||
volatile uint8_t *out;
|
||||
if ( APinDescription[dwPin].dwPinType == PIO_NOT_A_PIN )
|
||||
{
|
||||
return LOW ;
|
||||
}
|
||||
|
||||
if (port == NOT_A_PIN) return;
|
||||
if ( PIO_Get( APinDescription[dwPin].pPort, PIO_INPUT, APinDescription[dwPin].dwPin ) == 1 )
|
||||
{
|
||||
return HIGH ;
|
||||
}
|
||||
|
||||
// If the pin that support PWM output, we need to turn it off
|
||||
// before doing a digital write.
|
||||
if (timer != NOT_ON_TIMER) turnOffPWM(timer);
|
||||
|
||||
out = portOutputRegister(port);
|
||||
|
||||
uint8_t oldSREG = SREG;
|
||||
cli();
|
||||
|
||||
if (val == LOW) {
|
||||
*out &= ~bit;
|
||||
} else {
|
||||
*out |= bit;
|
||||
}
|
||||
|
||||
SREG = oldSREG;
|
||||
}
|
||||
|
||||
int digitalRead(uint8_t pin)
|
||||
{
|
||||
uint8_t timer = digitalPinToTimer(pin);
|
||||
uint8_t bit = digitalPinToBitMask(pin);
|
||||
uint8_t port = digitalPinToPort(pin);
|
||||
|
||||
if (port == NOT_A_PIN) return LOW;
|
||||
|
||||
// If the pin that support PWM output, we need to turn it off
|
||||
// before getting a digital reading.
|
||||
if (timer != NOT_ON_TIMER) turnOffPWM(timer);
|
||||
|
||||
if (*portInputRegister(port) & bit) return HIGH;
|
||||
return LOW;
|
||||
return LOW ;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
*/
|
||||
|
||||
#include "wiring_private.h"
|
||||
#include "pins_arduino.h"
|
||||
|
||||
/* Measures the length (in microseconds) of a pulse on the pin; state is HIGH
|
||||
* or LOW, the type of pulse to measure. Works on pulses from 2-3 microseconds
|
||||
|
||||
Reference in New Issue
Block a user