first
This commit is contained in:
132
extras/tests/simavr_based/test_issue208/Makefile
Normal file
132
extras/tests/simavr_based/test_issue208/Makefile
Normal file
@@ -0,0 +1,132 @@
|
||||
#
|
||||
# In order to execute the test for one directory use:
|
||||
#
|
||||
# make -C test_sd_01b_328p -f ../Makefile.test
|
||||
|
||||
SRC=$(wildcard ../../../src/*) $(wildcard src/*)
|
||||
|
||||
# platformio should contain only one env section.
|
||||
# This section states the dut name
|
||||
# atmega168
|
||||
# atmega168p
|
||||
# atmega328
|
||||
# atmega328p
|
||||
# atmega2560_timer1
|
||||
# atmega2560_timer3
|
||||
# atmega2560_timer4
|
||||
# atmega2560_timer5
|
||||
#
|
||||
|
||||
DUT=$(shell gawk '/env:/{print(substr($$1,6,length($$1)-6))}' platformio.ini)
|
||||
|
||||
TRACES=-at StepISR=trace@0x25/0x08 # PB3
|
||||
TRACES+=-at FillISR=trace@0x25/0x10 # PB4
|
||||
|
||||
#
|
||||
ifeq ($(DUT),atmega2560_timer1)
|
||||
DEVICE=atmega2560
|
||||
TRACES+=-at StepA=trace@0x025/0x20 #OC1A PB5 11 ATMega2560
|
||||
TRACES+=-at StepB=trace@0x025/0x40 #OC1B PB6 12 ATMega2560
|
||||
TRACES+=-at StepC=trace@0x025/0x80 #OC1C PB7 13 ATMega2560
|
||||
#
|
||||
else ifeq ($(DUT),atmega2560_timer3)
|
||||
DEVICE=atmega2560
|
||||
TRACES+=-at StepA=trace@0x02e/0x08 #OC3A PE3 5 ATMega2560
|
||||
TRACES+=-at StepB=trace@0x02e/0x10 #OC3B PE4 2 ATMega2560
|
||||
TRACES+=-at StepC=trace@0x02e/0x20 #OC3C PE5 3 ATMega2560
|
||||
#
|
||||
else ifeq ($(DUT),atmega2560_timer4)
|
||||
DEVICE=atmega2560
|
||||
TRACES+=-at StepA=trace@0x102/0x08 #OC4A PH3 6 ATMega2560
|
||||
TRACES+=-at StepB=trace@0x102/0x10 #OC4B PH4 7 ATMega2560
|
||||
TRACES+=-at StepC=trace@0x102/0x20 #OC4C PH5 8 ATMega2560
|
||||
#
|
||||
else ifeq ($(DUT),atmega2560_timer5)
|
||||
DEVICE=atmega2560
|
||||
TRACES+=-at StepA=trace@0x10b/0x08 #OC5A PL3 46 ATMega2560
|
||||
TRACES+=-at StepB=trace@0x10b/0x10 #OC5B PL4 45 ATMega2560
|
||||
TRACES+=-at StepC=trace@0x10b/0x20 #OC5C PL5 44 ATMega2560
|
||||
|
||||
else ifeq ($(DUT),atmega168)
|
||||
DEVICE=atmega168
|
||||
TRACES+=-at StepA=trace@0x25/0x02 #OC1A PB1 9 atmega168
|
||||
TRACES+=-at StepB=trace@0x25/0x04 #OC1B PB2 10 atmega168
|
||||
|
||||
else ifeq ($(DUT),atmega168p)
|
||||
DEVICE=atmega168p
|
||||
TRACES+=-at StepA=trace@0x25/0x02 #OC1A PB1 9 atmega168p
|
||||
TRACES+=-at StepB=trace@0x25/0x04 #OC1B PB2 10 atmega168p
|
||||
|
||||
else ifeq ($(DUT),atmega328)
|
||||
DEVICE=atmega328
|
||||
TRACES+=-at StepA=trace@0x25/0x02 #OC1A PB1 9 ATMega328
|
||||
TRACES+=-at StepB=trace@0x25/0x04 #OC1B PB2 10 ATMega328
|
||||
|
||||
else ifeq ($(DUT),atmega328p)
|
||||
DEVICE=atmega328p
|
||||
TRACES+=-at StepA=trace@0x25/0x02 #OC1A PB1 9 ATMega328p
|
||||
TRACES+=-at StepB=trace@0x25/0x04 #OC1B PB2 10 ATMega328p
|
||||
|
||||
else ifeq ($(DUT),atmega32u4)
|
||||
DEVICE=atmega32u4
|
||||
TRACES+=-at StepA=trace@0x025/0x20 #OC1A PB5 11
|
||||
TRACES+=-at StepB=trace@0x025/0x40 #OC1B PB6 12
|
||||
#TRACES+=-at StepC=trace@0x025/0x80 #OC1C PB7 13
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(DEVICE),atmega2560)
|
||||
TRACES+=-at DirA=trace@0x2b/0x01 # Pin 21 PD0
|
||||
TRACES+=-at DirB=trace@0x2b/0x02 # Pin 20 PD1
|
||||
TRACES+=-at DirC=trace@0x10b/0x80 # Pin 42 PL7
|
||||
TRACES+=-at EnableA=trace@0x2b/0x04 # Pin 19 PD2
|
||||
TRACES+=-at EnableB=trace@0x2b/0x08 # Pin 18 PD3
|
||||
TRACES+=-at EnableC=trace@0x10b/0x40 # Pin 43 PL6
|
||||
|
||||
else ifeq ($(DEVICE),$(filter $(DEVICE),atmega168 atmega168p atmega328 atmega328p))
|
||||
TRACES+=-at DirA=trace@0x2b/0x20 # Pin 5 PD5
|
||||
TRACES+=-at DirB=trace@0x2b/0x80 # Pin 7 PD7
|
||||
TRACES+=-at EnableA=trace@0x2b/0x40 # Pin 6 PD6
|
||||
TRACES+=-at EnableB=trace@0x25/0x01 # Pin 8 PB0
|
||||
|
||||
else ifeq ($(DUT),atmega32u4)
|
||||
TRACES+=-at DirA=trace@0x25/0x10 # Pin 26 PB4
|
||||
TRACES+=-at DirB=trace@0x25/0x08 # Pin 14 PB3
|
||||
#TRACES+=-at DirC=trace@0x10b/0x80 # Pin 42 PL7
|
||||
TRACES+=-at EnableA=trace@0x25/0x04 # Pin 16 PB2
|
||||
TRACES+=-at EnableB=trace@0x25/0x02 # Pin 15 PB1
|
||||
#TRACES+=-at EnableC=trace@0x10b/0x40 # Pin 43 PL6
|
||||
|
||||
endif
|
||||
|
||||
FIRMWARE=".pio/build/$(DUT)/firmware.elf"
|
||||
|
||||
DIR=$(shell env pwd)
|
||||
|
||||
ifndef SILENCE
|
||||
SILENCE=0
|
||||
endif
|
||||
|
||||
test: .tested
|
||||
|
||||
.tested: result.txt expect.txt ../judge.awk
|
||||
echo DUT=$(DUT)
|
||||
rm -f .tested
|
||||
gawk -f ../judge.awk -v DIR=$(DIR) result.txt expect.txt
|
||||
test -f .tested
|
||||
|
||||
result.txt: x.vcd
|
||||
gawk -v SILENCE=$(SILENCE) -f ../eval.awk x.vcd >/dev/null
|
||||
cat expect.txt
|
||||
|
||||
x.vcd: $(SRC) ../run_avr platformio.ini src/Issue208.ino
|
||||
~/.platformio/penv/bin/pio run -e $(DUT) || ~/.local/bin/pio run -e $(DUT) || env pio run -e $(DUT)
|
||||
../run_avr $(FIRMWARE) -m $(DEVICE) -o x.vcd $(TRACES)
|
||||
|
||||
src/Issue208.ino:
|
||||
mkdir -p src
|
||||
cd src; ln -s ../../../../../examples/Issue208/Issue208.ino .
|
||||
|
||||
clean:
|
||||
rm -fR .pio .tested x.vcd result.txt
|
||||
|
||||
Reference in New Issue
Block a user