Forgotten commit.
This commit is contained in:
parent
e93a06d9ae
commit
b0032dc282
62
button_debounce/.dep/main.o.d
Normal file
62
button_debounce/.dep/main.o.d
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
main.o: main.c \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/stdlib.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/include/stddef.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/io.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/sfr_defs.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/inttypes.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/include/stdint.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/stdint.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/iom328p.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/portpins.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/common.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/version.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/fuse.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/lock.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/stdio.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/include/stdarg.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/util/delay.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/util/delay_basic.h \
|
||||||
|
main.h uart.h timer.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/interrupt.h
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/stdlib.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/include/stddef.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/io.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/sfr_defs.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/inttypes.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/include/stdint.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/stdint.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/iom328p.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/portpins.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/common.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/version.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/fuse.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/lock.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/stdio.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/include/stdarg.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/util/delay.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/util/delay_basic.h:
|
||||||
|
|
||||||
|
main.h:
|
||||||
|
|
||||||
|
uart.h:
|
||||||
|
|
||||||
|
timer.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/interrupt.h:
|
39
button_debounce/.dep/timer.o.d
Normal file
39
button_debounce/.dep/timer.o.d
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
timer.o: timer.c timer.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/io.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/sfr_defs.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/inttypes.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/include/stdint.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/stdint.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/iom328p.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/portpins.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/common.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/version.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/fuse.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/lock.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/interrupt.h
|
||||||
|
|
||||||
|
timer.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/io.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/sfr_defs.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/inttypes.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/include/stdint.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/stdint.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/iom328p.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/portpins.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/common.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/version.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/fuse.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/lock.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/interrupt.h:
|
49
button_debounce/.dep/uart_async.o.d
Normal file
49
button_debounce/.dep/uart_async.o.d
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
uart_async.o: uart_async.c \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/io.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/sfr_defs.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/inttypes.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/include/stdint.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/stdint.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/iom328p.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/portpins.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/common.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/version.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/fuse.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/lock.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/interrupt.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/stdio.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/include/stdarg.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/include/stddef.h \
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/util/setbaud.h
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/io.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/sfr_defs.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/inttypes.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/include/stdint.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/stdint.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/iom328p.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/portpins.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/common.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/version.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/fuse.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/lock.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/avr/interrupt.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/stdio.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/include/stdarg.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/include/stddef.h:
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/util/setbaud.h:
|
1
button_debounce/main.eep
Normal file
1
button_debounce/main.eep
Normal file
@ -0,0 +1 @@
|
|||||||
|
:00000001FF
|
BIN
button_debounce/main.elf
Executable file
BIN
button_debounce/main.elf
Executable file
Binary file not shown.
238
button_debounce/main.hex
Normal file
238
button_debounce/main.hex
Normal file
@ -0,0 +1,238 @@
|
|||||||
|
:100000000C9434000C9451000C9451000C94510049
|
||||||
|
:100010000C9451000C9451000C9451000C9451001C
|
||||||
|
:100020000C9451000C9451000C9451000C9451000C
|
||||||
|
:100030000C9451000C9451000C947B020C945100D0
|
||||||
|
:100040000C9451000C9451000C94D7000C9417019F
|
||||||
|
:100050000C9451000C9451000C9451000C945100DC
|
||||||
|
:100060000C9451000C94510011241FBECFEFD8E026
|
||||||
|
:10007000DEBFCDBF11E0A0E0B1E0EAE7FEE002C0E4
|
||||||
|
:1000800005900D92A035B107D9F713E0A0E5B1E0D6
|
||||||
|
:1000900001C01D92A63AB107E1F70E945B030C94E0
|
||||||
|
:1000A0003B070C940000CF93DF9300D0CDB7DEB7B1
|
||||||
|
:1000B0009A838983898190E002C0959587956A9596
|
||||||
|
:1000C000E2F781700F900F90DF91CF910895FC01BE
|
||||||
|
:1000D000208181E090E002C0880F991F6A95E2F7C5
|
||||||
|
:1000E000442321F48095822380830895282B208344
|
||||||
|
:1000F00008951092510310925003109253031092DE
|
||||||
|
:100100005203109295031092940310929703109249
|
||||||
|
:1001100096031092C50087E68093C40086E0809322
|
||||||
|
:10012000C20088E18093C100789408951F93182F2E
|
||||||
|
:100130008A3019F48DE00E9496002091520330918C
|
||||||
|
:100140005303C901019660E071E00E9448044091A8
|
||||||
|
:100150005003509151038417950781F0F901EE0F78
|
||||||
|
:10016000FF1FE05BFE4F1083118290935303809337
|
||||||
|
:1001700052038091C10080628093C10080E090E0D2
|
||||||
|
:100180001F9108958091940390919503019660E2E8
|
||||||
|
:1001900070E00E9448049093950380939403FC01BF
|
||||||
|
:1001A000EE0FFF1FEC5AFC4F8081918108951F9242
|
||||||
|
:1001B0000F920FB60F9211242F933F934F935F939B
|
||||||
|
:1001C0006F937F938F939F93AF93BF93EF93FF931F
|
||||||
|
:1001D0002091960330919703C901019660E270E087
|
||||||
|
:1001E0000E94480440919403509195038417950709
|
||||||
|
:1001F00069F04091C600F901EE0FFF1FEC5AFC4F69
|
||||||
|
:10020000408311829093970380939603FF91EF911F
|
||||||
|
:10021000BF91AF919F918F917F916F915F914F911E
|
||||||
|
:100220003F912F910F900FBE0F901F9018951F9226
|
||||||
|
:100230000F920FB60F9211242F933F935F936F93FA
|
||||||
|
:100240007F938F939F93AF93BF93EF93FF9380918F
|
||||||
|
:10025000500390915103019660E071E00E944804C0
|
||||||
|
:1002600020915203309153038217930769F0FC01E8
|
||||||
|
:10027000EE0FFF1FE05BFE4F20812093C60090939E
|
||||||
|
:1002800051038093500305C08091C1008F7D8093FE
|
||||||
|
:10029000C100FF91EF91BF91AF919F918F917F919D
|
||||||
|
:1002A0006F915F913F912F910F900FBE0F901F9014
|
||||||
|
:1002B000189514BC85B5846085BD8EE387BD82E04A
|
||||||
|
:1002C00080936E00109298031092990310929A03F3
|
||||||
|
:1002D00010929B0310929C0310929D0310929E0318
|
||||||
|
:1002E00010929F0378948FEF84B90895209198031A
|
||||||
|
:1002F0003091990340919A0350919B0360919C0324
|
||||||
|
:1003000070919D0380919E0390919F0308952F9279
|
||||||
|
:100310003F924F925F926F927F928F929F92AF9295
|
||||||
|
:10032000BF92CF92DF92EF92FF920F931F93CF93E2
|
||||||
|
:10033000DF930F92CDB7DEB780909803709099034A
|
||||||
|
:1003400060909A0350909B0340909C0330909D03D3
|
||||||
|
:1003500020909E0380919F038983282D372D462D61
|
||||||
|
:10036000552D642D732D822D998102E00E94E102AA
|
||||||
|
:10037000F22E132FE42ED52EC62EB72EA82E992E90
|
||||||
|
:1003800005E00E94E102B22FBF19F1E02B1708F03F
|
||||||
|
:10039000F0E0232F211BE1E0321708F0E0E0022F0C
|
||||||
|
:1003A0000F1B31E0201708F030E0E32B342F3E190B
|
||||||
|
:1003B00021E0431708F020E0F32EFE1A41E03F153C
|
||||||
|
:1003C00008F040E0242B452F4D1931E0541708F078
|
||||||
|
:1003D00030E0142F121B21E0411708F020E0322BEF
|
||||||
|
:1003E000462F4C1921E0641708F020E0A42FA31B2E
|
||||||
|
:1003F00031E04A1708F030E0232B472F4B1931E04A
|
||||||
|
:10040000741708F030E0E42FE21B21E04E1708F0EB
|
||||||
|
:1004100020E0322B482F4A1921E0841708F020E011
|
||||||
|
:10042000F42FF31B81E04F1708F080E0282B991977
|
||||||
|
:10043000921B2B2F280D31E02B1708F030E0700EA7
|
||||||
|
:1004400041E0701608F040E0370D81E0371508F004
|
||||||
|
:1004500080E0482B6F0C51E06F1408F050E0460D1F
|
||||||
|
:1004600081E0461508F080E0582B510E61E05116EE
|
||||||
|
:1004700008F060E0550D81E0551508F080E0682B2C
|
||||||
|
:100480004A0E71E04A1608F070E0640D81E06415D0
|
||||||
|
:1004900008F080E0782B3E0E81E03E1608F080E008
|
||||||
|
:1004A000730DE1E0731508F0E0E08E2B2F0EE1E014
|
||||||
|
:1004B0002F1608F0E0E0820DF1E0821508F0F0E080
|
||||||
|
:1004C000EF2BA9819A0F9E0F03E00E94E1020F908B
|
||||||
|
:1004D000DF91CF911F910F91FF90EF90DF90CF9020
|
||||||
|
:1004E000BF90AF909F908F907F906F905F904F9054
|
||||||
|
:1004F0003F902F9008951F920F920FB60F921124E4
|
||||||
|
:100500002F933F934F935F936F937F938F939F931B
|
||||||
|
:10051000AF93EF93FF9316BC4091980330919903EA
|
||||||
|
:1005200020919A0390919B0380919C03F0919D03ED
|
||||||
|
:10053000E0919E03A0919F03642F6F5F51E06417C9
|
||||||
|
:1005400008F050E0530F41E0531708F040E0420F2D
|
||||||
|
:1005500031E0421708F030E0390F21E0391708F098
|
||||||
|
:1005600020E0280F91E0281708F090E09F0F81E02D
|
||||||
|
:100570009F1708F080E08E0F71E08E1708F070E092
|
||||||
|
:100580007A0F609398035093990340939A033093A2
|
||||||
|
:100590009B0320939C0390939D0380939E037093F1
|
||||||
|
:1005A0009F03FF91EF91AF919F918F917F916F91F9
|
||||||
|
:1005B0005F914F913F912F910F900FBE0F901F9021
|
||||||
|
:1005C0001895CF92DF92EF92FF920F93CF93DF9324
|
||||||
|
:1005D000CDB7DEB760970FB6F894DEBF0FBECDBFC4
|
||||||
|
:1005E000002309F45AC029873A874B875C876D87B7
|
||||||
|
:1005F0007E878F87988B80E2801B49855A856B8523
|
||||||
|
:100600007C851816B4F019821A821B821C829927E5
|
||||||
|
:1006100087FD9095909581959F4F04C0440F551F7D
|
||||||
|
:10062000661F771F8A95D2F74D835E836F83788725
|
||||||
|
:100630002CC06A017B01002E04C0CC0CDD1CEE1C1A
|
||||||
|
:10064000FF1C0A94D2F7C982DA82EB82FC826A012B
|
||||||
|
:100650007B0104C0F694E794D794C7948A95D2F7A7
|
||||||
|
:10066000D701C6014D855E856F85788904C0440F2A
|
||||||
|
:10067000551F661F771F0A95D2F7842B952BA62B43
|
||||||
|
:10068000B72B8D839E83AF83B88729813A814B81B5
|
||||||
|
:100690005C816D817E818F81988560960FB6F8941C
|
||||||
|
:1006A000DEBF0FBECDBFDF91CF910F91FF90EF90D6
|
||||||
|
:1006B000DF90CF900895CF93DF9300D0CDB7DEB712
|
||||||
|
:1006C00052985A9A259A0E9459010E94790082E410
|
||||||
|
:1006D00091E09093A3038093A20384E391E090932D
|
||||||
|
:1006E000A1038093A003772400E020E040E0442EA3
|
||||||
|
:1006F00041E0542E5BE1252E51E0352E01C0212F23
|
||||||
|
:1007000089B189831A82898190E09595879595951D
|
||||||
|
:100710008795182F1170121759F10E94760149011F
|
||||||
|
:100720005A016B017C018DB79EB70C970FB6F894F8
|
||||||
|
:100730009EBF0FBE8DBFEDB7FEB73196ADB7BEB74A
|
||||||
|
:1007400012965C924E921197128313828482958244
|
||||||
|
:10075000A682B782C086D186E286F3860E946F04A5
|
||||||
|
:100760008DB79EB70C960FB6F8949EBF0FBE8DBF87
|
||||||
|
:100770000E947601E22FE819F1E02E1708F0F0E070
|
||||||
|
:10078000A32FA91921E03A1708F020E03A2F3F1BC8
|
||||||
|
:10079000F1E0A31708F0F0E02F2BA42FAA19F1E045
|
||||||
|
:1007A0004A1708F0F0E04A2F421B21E0A41708F096
|
||||||
|
:1007B00020E0F22BA52FAB1921E05A1708F020E01A
|
||||||
|
:1007C0005A2F5F1BF1E0A51708F0F0E02F2BA62FA2
|
||||||
|
:1007D000AC19F1E06A1708F0F0E06A2F621B21E023
|
||||||
|
:1007E000A61708F020E0F22B272F2D19A1E0721791
|
||||||
|
:1007F00008F0A0E0722F7F1BF1E0271708F0F0E06F
|
||||||
|
:10080000AF2BF82FFE1921E08F1708F020E08F2F73
|
||||||
|
:100810008A1BA1E0F81708F0A0E02A2B9F19921775
|
||||||
|
:1008200071F4882361F4772351F4662341F455234E
|
||||||
|
:1008300031F4442321F4332311F4EB3008F0012F79
|
||||||
|
:10084000071509F45CCFADB7BEB71C970FB6F89487
|
||||||
|
:10085000BEBF0FBEADBFEDB7FEB7319612963C924C
|
||||||
|
:100860002E9211970283138284829582A682B78288
|
||||||
|
:10087000C086D186E286F3860E946F048DB79EB74C
|
||||||
|
:100880000C960FB6F8949EBF0FBE8DBF702E37CF5B
|
||||||
|
:1008900097FB092E07260AD077FD04D00CD006D08E
|
||||||
|
:1008A00000201AF4709561957F4F0895F6F79095A2
|
||||||
|
:1008B00081959F4F0895AA1BBB1B51E107C0AA1F3A
|
||||||
|
:1008C000BB1FA617B70710F0A61BB70B881F991FF1
|
||||||
|
:1008D0005A95A9F780959095BC01CD010895A0E0A7
|
||||||
|
:1008E000B0E0E5E7F4E00C941407FE013596619161
|
||||||
|
:1008F00071918091A2039091A303AF010E9484049F
|
||||||
|
:100900002096E2E00C943007ADE0B0E0EAE8F4E0D5
|
||||||
|
:100910000C9404073C017D876C875A01FC01178207
|
||||||
|
:100920001682838181FFCAC13FE3C32E2E01089442
|
||||||
|
:10093000411C511CF3019381EC85FD8593FD85914C
|
||||||
|
:1009400093FF8191FD87EC87882309F4B3C1853239
|
||||||
|
:1009500041F493FD859193FF8191FD87EC8785326A
|
||||||
|
:1009600029F490E0B3010E947A06E4CFEE24DD245E
|
||||||
|
:1009700010E01032B0F48B3269F08C3228F48032FF
|
||||||
|
:1009800051F0833271F40BC08D3239F0803349F469
|
||||||
|
:1009900011602CC01260146029C0186027C010615B
|
||||||
|
:1009A00025C017FD2EC0282F20532A3098F416FF9B
|
||||||
|
:1009B00008C08E2D880FE82EEE0CEE0CE80EE20E2D
|
||||||
|
:1009C00015C08D2D880FD82EDD0CDD0CD80ED20E63
|
||||||
|
:1009D00010620CC08E3221F416FD6CC1106406C08A
|
||||||
|
:1009E0008C3611F4106802C0883659F4EC85FD8508
|
||||||
|
:1009F00093FD859193FF8191FD87EC87882309F012
|
||||||
|
:100A0000B8CF982F9554933018F09052933030F41B
|
||||||
|
:100A100024E030E0A20EB31EC9820FC0833631F04D
|
||||||
|
:100A2000833781F0833509F05AC022C0F5018081F7
|
||||||
|
:100A3000898322E030E0A20EB31E21E0E22EF12CE9
|
||||||
|
:100A4000420114C092E0292E312C2A0C3B1CF501E6
|
||||||
|
:100A50008080918016FF03C06E2D70E002C06FEFA2
|
||||||
|
:100A60007FEFC4010E946F067C0151011F7715C002
|
||||||
|
:100A700082E0282E312C2A0C3B1CF50180809180CD
|
||||||
|
:100A800016FF03C06E2D70E002C06FEF7FEFC40150
|
||||||
|
:100A90000E9464067C011068510113FD1CC006C051
|
||||||
|
:100AA00080E290E0B3010E947A06DA948D2D90E006
|
||||||
|
:100AB000E816F906A8F30FC0F40117FD859117FF9A
|
||||||
|
:100AC00081914F0190E0B3010E947A06D110DA942F
|
||||||
|
:100AD0000894E108F108E114F10471F7E8C08436E4
|
||||||
|
:100AE00011F0893659F5F50117FF07C08081918112
|
||||||
|
:100AF000A281B38124E030E009C060817181CB0123
|
||||||
|
:100B0000AA2797FDA095BA2F22E030E0A20EB31ECF
|
||||||
|
:100B1000012F0F76B7FF08C0B095A09590958195ED
|
||||||
|
:100B20009F4FAF4FBF4F0068BC01CD01A2012AE02B
|
||||||
|
:100B300030E00E94A606F82EF4183FC0853721F455
|
||||||
|
:100B40001F7E2AE030E020C0197F8F36A9F0803761
|
||||||
|
:100B500020F4883509F0AEC00BC0803721F088370B
|
||||||
|
:100B600009F0A8C001C0106114FF09C0146007C0DB
|
||||||
|
:100B700014FF08C0166006C028E030E005C020E180
|
||||||
|
:100B800030E002C020E132E0F50117FF07C06081CC
|
||||||
|
:100B900071818281938144E050E006C0608171815F
|
||||||
|
:100BA00080E090E042E050E0A40EB51EA2010E9459
|
||||||
|
:100BB000A606F82EF418012F0F7706FF09C00E7F46
|
||||||
|
:100BC000FE1430F404FF06C002FD04C00F7E02C014
|
||||||
|
:100BD0001F2D01C01E2D802F90E004FF0CC0FE01D0
|
||||||
|
:100BE000EF0DF11D2081203311F4097E09C002FFB1
|
||||||
|
:100BF00006C01E5F05C086789070009709F01F5FE1
|
||||||
|
:100C0000802E992403FD12C000FF0DC0EF2C1D158E
|
||||||
|
:100C100050F4ED0CE11A1D2D06C080E290E0B30106
|
||||||
|
:100C20000E947A061F5F1D15C0F304C01D1510F445
|
||||||
|
:100C3000D11A01C0DD2484FE0FC080E390E0B3012F
|
||||||
|
:100C40000E947A0682FE1FC081FE03C088E590E004
|
||||||
|
:100C500010C088E790E00DC0C401867890700097BE
|
||||||
|
:100C600091F081FC02C080E201C08BE207FD8DE2C1
|
||||||
|
:100C700090E0B3010E947A0606C080E390E0B301E1
|
||||||
|
:100C80000E947A06EA94FE14C0F3FA94F201EF0D82
|
||||||
|
:100C9000F11D808190E0B3010E947A06FF20A9F740
|
||||||
|
:100CA00006C080E290E0B3010E947A06DA94DD206B
|
||||||
|
:100CB000C1F740CEF3018681978102C08FEF9FEF8D
|
||||||
|
:100CC0002D96E2E10C942007FC01059061507040E4
|
||||||
|
:100CD0000110D8F7809590958E0F9F1F0895FC0105
|
||||||
|
:100CE0006150704001900110D8F7809590958E0F5B
|
||||||
|
:100CF0009F1F08950F931F93CF93DF938C01EB01F8
|
||||||
|
:100D00008B8181FF1BC082FF0DC02E813F818C81B2
|
||||||
|
:100D10009D812817390764F4E881F9810193F983EB
|
||||||
|
:100D2000E88306C0E885F985802F0995009731F49E
|
||||||
|
:100D30008E819F8101969F838E8302C00FEF1FEFEC
|
||||||
|
:100D4000C801DF91CF911F910F910895FA01AA2751
|
||||||
|
:100D5000283051F1203181F1E8946F936E7F6E5FFE
|
||||||
|
:100D60007F4F8F4F9F4FAF4FB1E03ED0B4E03CD0AC
|
||||||
|
:100D7000670F781F891F9A1FA11D680F791F8A1F8F
|
||||||
|
:100D8000911DA11D6A0F711D811D911DA11D20D0F6
|
||||||
|
:100D900009F468943F912AE0269F11243019305DB0
|
||||||
|
:100DA0003193DEF6CF010895462F4770405D4193A1
|
||||||
|
:100DB000B3E00FD0C9F7F6CF462F4F70405D4A33EE
|
||||||
|
:100DC00018F0495D31FD4052419302D0A9F7EACFB6
|
||||||
|
:100DD000B4E0A6959795879577956795BA95C9F7E5
|
||||||
|
:100DE00000976105710508959B01AC010A2E0694D8
|
||||||
|
:100DF0005795479537952795BA95C9F7620F731F91
|
||||||
|
:100E0000841F951FA01D08952F923F924F925F92CD
|
||||||
|
:100E10006F927F928F929F92AF92BF92CF92DF920A
|
||||||
|
:100E2000EF92FF920F931F93CF93DF93CDB7DEB76F
|
||||||
|
:100E3000CA1BDB0B0FB6F894DEBF0FBECDBF099403
|
||||||
|
:100E40002A88398848885F846E847D848C849B845A
|
||||||
|
:100E5000AA84B984C884DF80EE80FD800C811B8168
|
||||||
|
:100E6000AA81B981CE0FD11D0FB6F894DEBF0FBE97
|
||||||
|
:0A0E7000CDBFED010895F894FFCF07
|
||||||
|
:100E7A002D2052656164696E6720746F67676C65BF
|
||||||
|
:100E8A006420256420282564290A002B20537461D4
|
||||||
|
:100E9A00746520746F67676C656420256420282553
|
||||||
|
:100EAA0064290A0000000001000000000000C200DE
|
||||||
|
:100EBA000000000000020000000096000000000090
|
||||||
|
:00000001FF
|
2051
button_debounce/main.lss
Normal file
2051
button_debounce/main.lss
Normal file
File diff suppressed because it is too large
Load Diff
552
button_debounce/main.lst
Normal file
552
button_debounce/main.lst
Normal file
@ -0,0 +1,552 @@
|
|||||||
|
1 .file "main.c"
|
||||||
|
2 __SREG__ = 0x3f
|
||||||
|
3 __SP_H__ = 0x3e
|
||||||
|
4 __SP_L__ = 0x3d
|
||||||
|
5 __tmp_reg__ = 0
|
||||||
|
6 __zero_reg__ = 1
|
||||||
|
7 .global __do_copy_data
|
||||||
|
8 .global __do_clear_bss
|
||||||
|
9 .text
|
||||||
|
10 .Ltext0:
|
||||||
|
11 .global digital_read
|
||||||
|
13 digital_read:
|
||||||
|
14 .LFB6:
|
||||||
|
15 .file 1 "main.c"
|
||||||
|
1:main.c **** /*
|
||||||
|
2:main.c **** * Button with debouncing. Based on the Arduino example but without
|
||||||
|
3:main.c **** * Arduino libraries.
|
||||||
|
4:main.c **** *
|
||||||
|
5:main.c **** * http://www.arduino.cc/en/Tutorial/Debounce
|
||||||
|
6:main.c **** *
|
||||||
|
7:main.c **** * To compile and upload run: make clean; make; make program;
|
||||||
|
8:main.c **** *
|
||||||
|
9:main.c **** * Copyright 2011 Mika Tuupola
|
||||||
|
10:main.c **** *
|
||||||
|
11:main.c **** * Licensed under the MIT license:
|
||||||
|
12:main.c **** * http://www.opensource.org/licenses/mit-license.php
|
||||||
|
13:main.c **** *
|
||||||
|
14:main.c **** */
|
||||||
|
15:main.c ****
|
||||||
|
16:main.c ****
|
||||||
|
17:main.c **** #ifndef F_CPU
|
||||||
|
18:main.c **** #define F_CPU 16000000UL
|
||||||
|
19:main.c **** #endif
|
||||||
|
20:main.c ****
|
||||||
|
21:main.c **** #include <stdlib.h>
|
||||||
|
22:main.c **** #include <avr/io.h>
|
||||||
|
23:main.c **** #include <stdio.h>
|
||||||
|
24:main.c **** #include <util/delay.h>
|
||||||
|
25:main.c **** #include <stdint.h>
|
||||||
|
26:main.c **** #include <avr/sfr_defs.h>
|
||||||
|
27:main.c ****
|
||||||
|
28:main.c **** #include "main.h"
|
||||||
|
29:main.c **** #include "uart.h"
|
||||||
|
30:main.c **** #include "timer.h"
|
||||||
|
31:main.c ****
|
||||||
|
32:main.c **** void init(void) {
|
||||||
|
33:main.c ****
|
||||||
|
34:main.c **** /* Make PORTD2 (Arduino digital 2) input by clearing bit in DDR */
|
||||||
|
35:main.c **** DDRD &= ~(_BV(PORTD2));
|
||||||
|
36:main.c ****
|
||||||
|
37:main.c **** /* In input mode, when pull-up is enabled, default state of pin becomes ’1′. So even if */
|
||||||
|
38:main.c **** /* you don’t connect anything to pin and if you try to read it, it will read as 1. Now, */
|
||||||
|
39:main.c **** /* when you externally drive that pin to zero(i.e. connect to ground / or pull-down), */
|
||||||
|
40:main.c **** /* only then it will be read as 0. */
|
||||||
|
41:main.c ****
|
||||||
|
42:main.c **** /* Enable pullups by setting bits in PORT. Default state is now high. */
|
||||||
|
43:main.c **** PORTD |= (_BV(PORTD2));
|
||||||
|
44:main.c ****
|
||||||
|
45:main.c **** /* Make PORTB5 (Arduino digital 13) an output by setting bit in DDR. */
|
||||||
|
46:main.c **** DDRB |= _BV(PORTB5);
|
||||||
|
47:main.c ****
|
||||||
|
48:main.c **** }
|
||||||
|
49:main.c ****
|
||||||
|
50:main.c **** uint8_t digital_read(int input_register, int pin) {
|
||||||
|
16 .loc 1 50 0
|
||||||
|
17 .LVL0:
|
||||||
|
18 0000 CF93 push r28
|
||||||
|
19 .LCFI0:
|
||||||
|
20 0002 DF93 push r29
|
||||||
|
21 .LCFI1:
|
||||||
|
22 0004 00D0 rcall .
|
||||||
|
23 .LCFI2:
|
||||||
|
24 0006 CDB7 in r28,__SP_L__
|
||||||
|
25 0008 DEB7 in r29,__SP_H__
|
||||||
|
26 .LCFI3:
|
||||||
|
27 /* prologue: function */
|
||||||
|
28 /* frame size = 2 */
|
||||||
|
29 /* stack size = 4 */
|
||||||
|
30 .L__stack_usage = 4
|
||||||
|
31 000a 9A83 std Y+2,r25
|
||||||
|
32 000c 8983 std Y+1,r24
|
||||||
|
51:main.c **** return bit_is_set(input_register, pin) != 0 ? 1 : 0;
|
||||||
|
33 .loc 1 51 0
|
||||||
|
34 000e 8981 ldd r24,Y+1
|
||||||
|
35 .LVL1:
|
||||||
|
36 0010 90E0 ldi r25,lo8(0)
|
||||||
|
37 0012 00C0 rjmp 2f
|
||||||
|
38 0014 9595 1: asr r25
|
||||||
|
39 0016 8795 ror r24
|
||||||
|
40 0018 6A95 2: dec r22
|
||||||
|
41 001a 02F4 brpl 1b
|
||||||
|
52:main.c **** }
|
||||||
|
42 .loc 1 52 0
|
||||||
|
43 001c 8170 andi r24,lo8(1)
|
||||||
|
44 /* epilogue start */
|
||||||
|
45 001e 0F90 pop __tmp_reg__
|
||||||
|
46 0020 0F90 pop __tmp_reg__
|
||||||
|
47 0022 DF91 pop r29
|
||||||
|
48 0024 CF91 pop r28
|
||||||
|
49 0026 0895 ret
|
||||||
|
50 .LFE6:
|
||||||
|
52 .global digital_write
|
||||||
|
54 digital_write:
|
||||||
|
55 .LFB7:
|
||||||
|
53:main.c ****
|
||||||
|
54:main.c **** /* You could use cbi ie &= ~ or sbi ie |= but this makes code more readable. */
|
||||||
|
55:main.c **** void digital_write(volatile uint8_t *data_port, uint8_t pin, uint8_t value) {
|
||||||
|
56 .loc 1 55 0
|
||||||
|
57 .LVL2:
|
||||||
|
58 /* prologue: function */
|
||||||
|
59 /* frame size = 0 */
|
||||||
|
60 /* stack size = 0 */
|
||||||
|
61 .L__stack_usage = 0
|
||||||
|
62 0028 FC01 movw r30,r24
|
||||||
|
56:main.c **** if (0 == value) {
|
||||||
|
57:main.c **** *data_port &= ~(_BV(pin));
|
||||||
|
63 .loc 1 57 0
|
||||||
|
64 002a 2081 ld r18,Z
|
||||||
|
65 002c 81E0 ldi r24,lo8(1)
|
||||||
|
66 002e 90E0 ldi r25,hi8(1)
|
||||||
|
67 .LVL3:
|
||||||
|
68 0030 00C0 rjmp 2f
|
||||||
|
69 0032 880F 1: lsl r24
|
||||||
|
70 0034 991F rol r25
|
||||||
|
71 0036 6A95 2: dec r22
|
||||||
|
72 0038 02F4 brpl 1b
|
||||||
|
56:main.c **** if (0 == value) {
|
||||||
|
73 .loc 1 56 0
|
||||||
|
74 003a 4423 tst r20
|
||||||
|
75 003c 01F4 brne .L3
|
||||||
|
76 .loc 1 57 0
|
||||||
|
77 003e 8095 com r24
|
||||||
|
78 0040 8223 and r24,r18
|
||||||
|
79 0042 8083 st Z,r24
|
||||||
|
80 0044 0895 ret
|
||||||
|
81 .L3:
|
||||||
|
58:main.c **** } else {
|
||||||
|
59:main.c **** *data_port |= _BV(pin);
|
||||||
|
82 .loc 1 59 0
|
||||||
|
83 0046 282B or r18,r24
|
||||||
|
84 0048 2083 st Z,r18
|
||||||
|
85 004a 0895 ret
|
||||||
|
86 .LFE7:
|
||||||
|
88 .data
|
||||||
|
89 .LC0:
|
||||||
|
90 0000 2D20 5265 .string "- Reading toggled %d (%d)\n"
|
||||||
|
90 6164 696E
|
||||||
|
90 6720 746F
|
||||||
|
90 6767 6C65
|
||||||
|
90 6420 2564
|
||||||
|
91 .LC1:
|
||||||
|
92 001b 2B20 5374 .string "+ State toggled %d (%d)\n"
|
||||||
|
92 6174 6520
|
||||||
|
92 746F 6767
|
||||||
|
92 6C65 6420
|
||||||
|
92 2564 2028
|
||||||
|
93 .section .text.startup,"ax",@progbits
|
||||||
|
94 .global main
|
||||||
|
96 main:
|
||||||
|
97 .LFB8:
|
||||||
|
60:main.c **** }
|
||||||
|
61:main.c **** }
|
||||||
|
62:main.c ****
|
||||||
|
63:main.c **** int main(void) {
|
||||||
|
98 .loc 1 63 0
|
||||||
|
99 0000 CF93 push r28
|
||||||
|
100 .LCFI4:
|
||||||
|
101 0002 DF93 push r29
|
||||||
|
102 .LCFI5:
|
||||||
|
103 0004 00D0 rcall .
|
||||||
|
104 .LCFI6:
|
||||||
|
105 0006 CDB7 in r28,__SP_L__
|
||||||
|
106 0008 DEB7 in r29,__SP_H__
|
||||||
|
107 .LCFI7:
|
||||||
|
108 /* prologue: function */
|
||||||
|
109 /* frame size = 2 */
|
||||||
|
110 /* stack size = 4 */
|
||||||
|
111 .L__stack_usage = 4
|
||||||
|
112 .LBB6:
|
||||||
|
113 .LBB7:
|
||||||
|
35:main.c **** DDRD &= ~(_BV(PORTD2));
|
||||||
|
114 .loc 1 35 0
|
||||||
|
115 000a 5298 cbi 42-0x20,2
|
||||||
|
43:main.c **** PORTD |= (_BV(PORTD2));
|
||||||
|
116 .loc 1 43 0
|
||||||
|
117 000c 5A9A sbi 43-0x20,2
|
||||||
|
46:main.c **** DDRB |= _BV(PORTB5);
|
||||||
|
118 .loc 1 46 0
|
||||||
|
119 000e 259A sbi 36-0x20,5
|
||||||
|
120 .LBE7:
|
||||||
|
121 .LBE6:
|
||||||
|
64:main.c ****
|
||||||
|
65:main.c **** init();
|
||||||
|
66:main.c **** timer_init();
|
||||||
|
122 .loc 1 66 0
|
||||||
|
123 0010 0E94 0000 call timer_init
|
||||||
|
67:main.c **** uart_init();
|
||||||
|
124 .loc 1 67 0
|
||||||
|
125 0014 0E94 0000 call uart_init
|
||||||
|
68:main.c **** stdout = &uart_output;
|
||||||
|
126 .loc 1 68 0
|
||||||
|
127 0018 80E0 ldi r24,lo8(uart_output)
|
||||||
|
128 001a 90E0 ldi r25,hi8(uart_output)
|
||||||
|
129 001c 9093 0000 sts __iob+2+1,r25
|
||||||
|
130 0020 8093 0000 sts __iob+2,r24
|
||||||
|
69:main.c **** stdin = &uart_input;
|
||||||
|
131 .loc 1 69 0
|
||||||
|
132 0024 80E0 ldi r24,lo8(uart_input)
|
||||||
|
133 0026 90E0 ldi r25,hi8(uart_input)
|
||||||
|
134 0028 9093 0000 sts __iob+1,r25
|
||||||
|
135 002c 8093 0000 sts __iob,r24
|
||||||
|
136 .LVL4:
|
||||||
|
70:main.c ****
|
||||||
|
71:main.c **** uint8_t current_reading;
|
||||||
|
72:main.c **** uint8_t previous_reading = 0;
|
||||||
|
73:main.c **** uint8_t current_state = 0;
|
||||||
|
74:main.c **** uint8_t previous_state = 0;
|
||||||
|
137 .loc 1 74 0
|
||||||
|
138 0030 7724 clr r7
|
||||||
|
73:main.c **** uint8_t current_state = 0;
|
||||||
|
139 .loc 1 73 0
|
||||||
|
140 0032 00E0 ldi r16,lo8(0)
|
||||||
|
72:main.c **** uint8_t previous_reading = 0;
|
||||||
|
141 .loc 1 72 0
|
||||||
|
142 0034 20E0 ldi r18,lo8(0)
|
||||||
|
75:main.c ****
|
||||||
|
76:main.c **** uint64_t last_toggle_time;
|
||||||
|
77:main.c ****
|
||||||
|
78:main.c **** while (1) {
|
||||||
|
79:main.c ****
|
||||||
|
80:main.c **** current_reading = digital_read(PIND, PIND2);
|
||||||
|
81:main.c **** if (current_reading != previous_reading) {
|
||||||
|
82:main.c **** /* Note the time in millis of last change of button state. */
|
||||||
|
83:main.c **** last_toggle_time = timer_millis();
|
||||||
|
84:main.c **** printf("- Reading toggled %d (%d)\n", current_reading, last_toggle_time);
|
||||||
|
143 .loc 1 84 0
|
||||||
|
144 0036 40E0 ldi r20,lo8(.LC0)
|
||||||
|
145 0038 442E mov r4,r20
|
||||||
|
146 003a 40E0 ldi r20,hi8(.LC0)
|
||||||
|
147 003c 542E mov r5,r20
|
||||||
|
85:main.c **** }
|
||||||
|
86:main.c ****
|
||||||
|
87:main.c **** /* If there has been more than 10 millis since last toggling */
|
||||||
|
88:main.c **** /* of button state, assume it is real and not bouncing noise. */
|
||||||
|
89:main.c **** if ((timer_millis() - last_toggle_time) > 10) {
|
||||||
|
90:main.c **** current_state = current_reading;
|
||||||
|
91:main.c **** }
|
||||||
|
92:main.c ****
|
||||||
|
93:main.c **** /* Just for debugging purposes. */
|
||||||
|
94:main.c **** if (current_state != previous_state) {
|
||||||
|
95:main.c **** printf("+ State toggled %d (%d)\n", current_state, last_toggle_time);
|
||||||
|
148 .loc 1 95 0
|
||||||
|
149 003e 50E0 ldi r21,lo8(.LC1)
|
||||||
|
150 0040 252E mov r2,r21
|
||||||
|
151 0042 50E0 ldi r21,hi8(.LC1)
|
||||||
|
152 0044 352E mov r3,r21
|
||||||
|
153 0046 00C0 rjmp .L6
|
||||||
|
154 .LVL5:
|
||||||
|
155 .L23:
|
||||||
|
51:main.c **** return bit_is_set(input_register, pin) != 0 ? 1 : 0;
|
||||||
|
156 .loc 1 51 0
|
||||||
|
157 0048 212F mov r18,r17
|
||||||
|
158 .LVL6:
|
||||||
|
159 .L6:
|
||||||
|
80:main.c **** current_reading = digital_read(PIND, PIND2);
|
||||||
|
160 .loc 1 80 0
|
||||||
|
161 004a 89B1 in r24,41-0x20
|
||||||
|
162 004c 8983 std Y+1,r24
|
||||||
|
163 004e 1A82 std Y+2,__zero_reg__
|
||||||
|
164 .LVL7:
|
||||||
|
165 .LBB8:
|
||||||
|
166 .LBB9:
|
||||||
|
51:main.c **** return bit_is_set(input_register, pin) != 0 ? 1 : 0;
|
||||||
|
167 .loc 1 51 0
|
||||||
|
168 0050 8981 ldd r24,Y+1
|
||||||
|
169 0052 90E0 ldi r25,lo8(0)
|
||||||
|
170 0054 9595 asr r25
|
||||||
|
171 0056 8795 ror r24
|
||||||
|
172 0058 9595 asr r25
|
||||||
|
173 005a 8795 ror r24
|
||||||
|
174 005c 182F mov r17,r24
|
||||||
|
175 005e 1170 andi r17,lo8(1)
|
||||||
|
176 .LBE9:
|
||||||
|
177 .LBE8:
|
||||||
|
81:main.c **** if (current_reading != previous_reading) {
|
||||||
|
178 .loc 1 81 0
|
||||||
|
179 0060 1217 cp r17,r18
|
||||||
|
180 0062 01F0 breq .L7
|
||||||
|
83:main.c **** last_toggle_time = timer_millis();
|
||||||
|
181 .loc 1 83 0
|
||||||
|
182 0064 0E94 0000 call timer_millis
|
||||||
|
183 .LVL8:
|
||||||
|
184 0068 4901 movw r8,r18
|
||||||
|
185 .LVL9:
|
||||||
|
186 006a 5A01 movw r10,r20
|
||||||
|
187 006c 6B01 movw r12,r22
|
||||||
|
188 006e 7C01 movw r14,r24
|
||||||
|
189 .LVL10:
|
||||||
|
84:main.c **** printf("- Reading toggled %d (%d)\n", current_reading, last_toggle_time);
|
||||||
|
190 .loc 1 84 0
|
||||||
|
191 0070 8DB7 in r24,__SP_L__
|
||||||
|
192 0072 9EB7 in r25,__SP_H__
|
||||||
|
193 0074 0C97 sbiw r24,12
|
||||||
|
194 0076 0FB6 in __tmp_reg__,__SREG__
|
||||||
|
195 0078 F894 cli
|
||||||
|
196 007a 9EBF out __SP_H__,r25
|
||||||
|
197 007c 0FBE out __SREG__,__tmp_reg__
|
||||||
|
198 007e 8DBF out __SP_L__,r24
|
||||||
|
199 0080 EDB7 in r30,__SP_L__
|
||||||
|
200 0082 FEB7 in r31,__SP_H__
|
||||||
|
201 0084 3196 adiw r30,1
|
||||||
|
202 0086 ADB7 in r26,__SP_L__
|
||||||
|
203 0088 BEB7 in r27,__SP_H__
|
||||||
|
204 008a 1296 adiw r26,1+1
|
||||||
|
205 008c 5C92 st X,r5
|
||||||
|
206 008e 4E92 st -X,r4
|
||||||
|
207 0090 1197 sbiw r26,1
|
||||||
|
208 0092 1283 std Z+2,r17
|
||||||
|
209 0094 1382 std Z+3,__zero_reg__
|
||||||
|
210 0096 8482 std Z+4,r8
|
||||||
|
211 0098 9582 std Z+5,r9
|
||||||
|
212 009a A682 std Z+6,r10
|
||||||
|
213 009c B782 std Z+7,r11
|
||||||
|
214 009e C086 std Z+8,r12
|
||||||
|
215 00a0 D186 std Z+9,r13
|
||||||
|
216 00a2 E286 std Z+10,r14
|
||||||
|
217 00a4 F386 std Z+11,r15
|
||||||
|
218 .LCFI8:
|
||||||
|
219 00a6 0E94 0000 call printf
|
||||||
|
220 00aa 8DB7 in r24,__SP_L__
|
||||||
|
221 00ac 9EB7 in r25,__SP_H__
|
||||||
|
222 00ae 0C96 adiw r24,12
|
||||||
|
223 00b0 0FB6 in __tmp_reg__,__SREG__
|
||||||
|
224 00b2 F894 cli
|
||||||
|
225 00b4 9EBF out __SP_H__,r25
|
||||||
|
226 00b6 0FBE out __SREG__,__tmp_reg__
|
||||||
|
227 00b8 8DBF out __SP_L__,r24
|
||||||
|
228 .LVL11:
|
||||||
|
229 .L7:
|
||||||
|
89:main.c **** if ((timer_millis() - last_toggle_time) > 10) {
|
||||||
|
230 .loc 1 89 0
|
||||||
|
231 .LCFI9:
|
||||||
|
232 00ba 0E94 0000 call timer_millis
|
||||||
|
233 00be E22F mov r30,r18
|
||||||
|
234 00c0 E819 sub r30,r8
|
||||||
|
235 00c2 F1E0 ldi r31,lo8(1)
|
||||||
|
236 00c4 2E17 cp r18,r30
|
||||||
|
237 00c6 00F0 brlo .L9
|
||||||
|
238 00c8 F0E0 ldi r31,lo8(0)
|
||||||
|
239 .L9:
|
||||||
|
240 00ca A32F mov r26,r19
|
||||||
|
241 00cc A919 sub r26,r9
|
||||||
|
242 00ce 21E0 ldi r18,lo8(1)
|
||||||
|
243 00d0 3A17 cp r19,r26
|
||||||
|
244 00d2 00F0 brlo .L10
|
||||||
|
245 00d4 20E0 ldi r18,lo8(0)
|
||||||
|
246 .L10:
|
||||||
|
247 00d6 3A2F mov r19,r26
|
||||||
|
248 00d8 3F1B sub r19,r31
|
||||||
|
249 00da F1E0 ldi r31,lo8(1)
|
||||||
|
250 00dc A317 cp r26,r19
|
||||||
|
251 00de 00F0 brlo .L11
|
||||||
|
252 00e0 F0E0 ldi r31,lo8(0)
|
||||||
|
253 .L11:
|
||||||
|
254 00e2 2F2B or r18,r31
|
||||||
|
255 00e4 A42F mov r26,r20
|
||||||
|
256 00e6 AA19 sub r26,r10
|
||||||
|
257 00e8 F1E0 ldi r31,lo8(1)
|
||||||
|
258 00ea 4A17 cp r20,r26
|
||||||
|
259 00ec 00F0 brlo .L12
|
||||||
|
260 00ee F0E0 ldi r31,lo8(0)
|
||||||
|
261 .L12:
|
||||||
|
262 00f0 4A2F mov r20,r26
|
||||||
|
263 00f2 421B sub r20,r18
|
||||||
|
264 00f4 21E0 ldi r18,lo8(1)
|
||||||
|
265 00f6 A417 cp r26,r20
|
||||||
|
266 00f8 00F0 brlo .L13
|
||||||
|
267 00fa 20E0 ldi r18,lo8(0)
|
||||||
|
268 .L13:
|
||||||
|
269 00fc F22B or r31,r18
|
||||||
|
270 00fe A52F mov r26,r21
|
||||||
|
271 0100 AB19 sub r26,r11
|
||||||
|
272 0102 21E0 ldi r18,lo8(1)
|
||||||
|
273 0104 5A17 cp r21,r26
|
||||||
|
274 0106 00F0 brlo .L14
|
||||||
|
275 0108 20E0 ldi r18,lo8(0)
|
||||||
|
276 .L14:
|
||||||
|
277 010a 5A2F mov r21,r26
|
||||||
|
278 010c 5F1B sub r21,r31
|
||||||
|
279 010e F1E0 ldi r31,lo8(1)
|
||||||
|
280 0110 A517 cp r26,r21
|
||||||
|
281 0112 00F0 brlo .L15
|
||||||
|
282 0114 F0E0 ldi r31,lo8(0)
|
||||||
|
283 .L15:
|
||||||
|
284 0116 2F2B or r18,r31
|
||||||
|
285 0118 A62F mov r26,r22
|
||||||
|
286 011a AC19 sub r26,r12
|
||||||
|
287 011c F1E0 ldi r31,lo8(1)
|
||||||
|
288 011e 6A17 cp r22,r26
|
||||||
|
289 0120 00F0 brlo .L16
|
||||||
|
290 0122 F0E0 ldi r31,lo8(0)
|
||||||
|
291 .L16:
|
||||||
|
292 0124 6A2F mov r22,r26
|
||||||
|
293 0126 621B sub r22,r18
|
||||||
|
294 0128 21E0 ldi r18,lo8(1)
|
||||||
|
295 012a A617 cp r26,r22
|
||||||
|
296 012c 00F0 brlo .L17
|
||||||
|
297 012e 20E0 ldi r18,lo8(0)
|
||||||
|
298 .L17:
|
||||||
|
299 0130 F22B or r31,r18
|
||||||
|
300 0132 272F mov r18,r23
|
||||||
|
301 0134 2D19 sub r18,r13
|
||||||
|
302 0136 A1E0 ldi r26,lo8(1)
|
||||||
|
303 0138 7217 cp r23,r18
|
||||||
|
304 013a 00F0 brlo .L18
|
||||||
|
305 013c A0E0 ldi r26,lo8(0)
|
||||||
|
306 .L18:
|
||||||
|
307 013e 722F mov r23,r18
|
||||||
|
308 0140 7F1B sub r23,r31
|
||||||
|
309 0142 F1E0 ldi r31,lo8(1)
|
||||||
|
310 0144 2717 cp r18,r23
|
||||||
|
311 0146 00F0 brlo .L19
|
||||||
|
312 0148 F0E0 ldi r31,lo8(0)
|
||||||
|
313 .L19:
|
||||||
|
314 014a AF2B or r26,r31
|
||||||
|
315 014c F82F mov r31,r24
|
||||||
|
316 014e FE19 sub r31,r14
|
||||||
|
317 0150 21E0 ldi r18,lo8(1)
|
||||||
|
318 0152 8F17 cp r24,r31
|
||||||
|
319 0154 00F0 brlo .L20
|
||||||
|
320 0156 20E0 ldi r18,lo8(0)
|
||||||
|
321 .L20:
|
||||||
|
322 0158 8F2F mov r24,r31
|
||||||
|
323 015a 8A1B sub r24,r26
|
||||||
|
324 015c A1E0 ldi r26,lo8(1)
|
||||||
|
325 015e F817 cp r31,r24
|
||||||
|
326 0160 00F0 brlo .L21
|
||||||
|
327 0162 A0E0 ldi r26,lo8(0)
|
||||||
|
328 .L21:
|
||||||
|
329 0164 2A2B or r18,r26
|
||||||
|
330 0166 9F19 sub r25,r15
|
||||||
|
331 0168 9217 cp r25,r18
|
||||||
|
332 016a 01F4 brne .L24
|
||||||
|
333 016c 8823 tst r24
|
||||||
|
334 016e 01F4 brne .L24
|
||||||
|
335 0170 7723 tst r23
|
||||||
|
336 0172 01F4 brne .L24
|
||||||
|
337 0174 6623 tst r22
|
||||||
|
338 0176 01F4 brne .L24
|
||||||
|
339 0178 5523 tst r21
|
||||||
|
340 017a 01F4 brne .L24
|
||||||
|
341 017c 4423 tst r20
|
||||||
|
342 017e 01F4 brne .L24
|
||||||
|
343 0180 3323 tst r19
|
||||||
|
344 0182 01F4 brne .L24
|
||||||
|
345 0184 EB30 cpi r30,lo8(11)
|
||||||
|
346 0186 00F0 brlo .L8
|
||||||
|
347 .L24:
|
||||||
|
51:main.c **** return bit_is_set(input_register, pin) != 0 ? 1 : 0;
|
||||||
|
348 .loc 1 51 0
|
||||||
|
349 0188 012F mov r16,r17
|
||||||
|
350 .LVL12:
|
||||||
|
351 .L8:
|
||||||
|
94:main.c **** if (current_state != previous_state) {
|
||||||
|
352 .loc 1 94 0
|
||||||
|
353 018a 0715 cp r16,r7
|
||||||
|
354 018c 01F4 brne .+2
|
||||||
|
355 018e 00C0 rjmp .L23
|
||||||
|
356 .loc 1 95 0
|
||||||
|
357 0190 ADB7 in r26,__SP_L__
|
||||||
|
358 0192 BEB7 in r27,__SP_H__
|
||||||
|
359 0194 1C97 sbiw r26,12
|
||||||
|
360 0196 0FB6 in __tmp_reg__,__SREG__
|
||||||
|
361 0198 F894 cli
|
||||||
|
362 019a BEBF out __SP_H__,r27
|
||||||
|
363 019c 0FBE out __SREG__,__tmp_reg__
|
||||||
|
364 019e ADBF out __SP_L__,r26
|
||||||
|
365 01a0 EDB7 in r30,__SP_L__
|
||||||
|
366 01a2 FEB7 in r31,__SP_H__
|
||||||
|
367 01a4 3196 adiw r30,1
|
||||||
|
368 01a6 1296 adiw r26,1+1
|
||||||
|
369 01a8 3C92 st X,r3
|
||||||
|
370 01aa 2E92 st -X,r2
|
||||||
|
371 01ac 1197 sbiw r26,1
|
||||||
|
372 01ae 0283 std Z+2,r16
|
||||||
|
373 01b0 1382 std Z+3,__zero_reg__
|
||||||
|
374 01b2 8482 std Z+4,r8
|
||||||
|
375 01b4 9582 std Z+5,r9
|
||||||
|
376 01b6 A682 std Z+6,r10
|
||||||
|
377 01b8 B782 std Z+7,r11
|
||||||
|
378 01ba C086 std Z+8,r12
|
||||||
|
379 01bc D186 std Z+9,r13
|
||||||
|
380 01be E286 std Z+10,r14
|
||||||
|
381 01c0 F386 std Z+11,r15
|
||||||
|
382 .LCFI10:
|
||||||
|
383 01c2 0E94 0000 call printf
|
||||||
|
384 .LVL13:
|
||||||
|
385 01c6 8DB7 in r24,__SP_L__
|
||||||
|
386 01c8 9EB7 in r25,__SP_H__
|
||||||
|
387 01ca 0C96 adiw r24,12
|
||||||
|
388 01cc 0FB6 in __tmp_reg__,__SREG__
|
||||||
|
389 01ce F894 cli
|
||||||
|
390 01d0 9EBF out __SP_H__,r25
|
||||||
|
391 01d2 0FBE out __SREG__,__tmp_reg__
|
||||||
|
392 01d4 8DBF out __SP_L__,r24
|
||||||
|
393 01d6 702E mov r7,r16
|
||||||
|
394 01d8 00C0 rjmp .L23
|
||||||
|
395 .LFE8:
|
||||||
|
397 .global uart_input
|
||||||
|
398 .data
|
||||||
|
401 uart_input:
|
||||||
|
402 0034 0000 00 .skip 3,0
|
||||||
|
403 0037 01 .byte 1
|
||||||
|
404 0038 0000 0000 .skip 4,0
|
||||||
|
405 003c 0000 .word 0
|
||||||
|
406 003e 0000 .word gs(uart_getchar)
|
||||||
|
407 0040 0000 .word 0
|
||||||
|
408 .global uart_output
|
||||||
|
411 uart_output:
|
||||||
|
412 0042 0000 00 .skip 3,0
|
||||||
|
413 0045 02 .byte 2
|
||||||
|
414 0046 0000 0000 .skip 4,0
|
||||||
|
415 004a 0000 .word gs(uart_putchar)
|
||||||
|
416 004c 0000 .word 0
|
||||||
|
417 004e 0000 .word 0
|
||||||
|
512 .Letext0:
|
||||||
|
513 .file 2 "/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/stdint.h"
|
||||||
|
514 .file 3 "/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/stdio.h"
|
||||||
|
515 .file 4 "uart.h"
|
||||||
|
DEFINED SYMBOLS
|
||||||
|
*ABS*:0000000000000000 main.c
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccYMcvqY.s:2 *ABS*:000000000000003f __SREG__
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccYMcvqY.s:3 *ABS*:000000000000003e __SP_H__
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccYMcvqY.s:4 *ABS*:000000000000003d __SP_L__
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccYMcvqY.s:5 *ABS*:0000000000000000 __tmp_reg__
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccYMcvqY.s:6 *ABS*:0000000000000001 __zero_reg__
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccYMcvqY.s:13 .text:0000000000000000 digital_read
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccYMcvqY.s:54 .text:0000000000000028 digital_write
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccYMcvqY.s:96 .text.startup:0000000000000000 main
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccYMcvqY.s:411 .data:0000000000000042 uart_output
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccYMcvqY.s:401 .data:0000000000000034 uart_input
|
||||||
|
|
||||||
|
UNDEFINED SYMBOLS
|
||||||
|
__do_copy_data
|
||||||
|
__do_clear_bss
|
||||||
|
timer_init
|
||||||
|
uart_init
|
||||||
|
__iob
|
||||||
|
timer_millis
|
||||||
|
printf
|
||||||
|
uart_getchar
|
||||||
|
uart_putchar
|
679
button_debounce/main.map
Normal file
679
button_debounce/main.map
Normal file
@ -0,0 +1,679 @@
|
|||||||
|
Archive member included because of file (symbol)
|
||||||
|
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
uart_async.o (__divmodhi4)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_exit.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o (exit)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_copy_data.o)
|
||||||
|
main.o (__do_copy_data)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
main.o (__do_clear_bss)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_ashldi3.o)
|
||||||
|
timer.o (__ashldi3)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_divmodhi4.o) (__udivmodhi4)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(iob.o)
|
||||||
|
main.o (__iob)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
main.o (printf)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o) (vfprintf)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(strnlen_P.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o) (strnlen_P)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(strnlen.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o) (strnlen)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(fputc.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o) (fputc)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(ultoa_invert.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o) (__ultoa_invert)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_prologue.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o) (__prologue_saves__)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_epilogue.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o) (__epilogue_restores__)
|
||||||
|
|
||||||
|
Allocating common symbols
|
||||||
|
Common symbol size file
|
||||||
|
|
||||||
|
__iob 0x6 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(iob.o)
|
||||||
|
|
||||||
|
Memory Configuration
|
||||||
|
|
||||||
|
Name Origin Length Attributes
|
||||||
|
text 0x0000000000000000 0x0000000000020000 xr
|
||||||
|
data 0x0000000000800060 0x000000000000ffa0 rw !x
|
||||||
|
eeprom 0x0000000000810000 0x0000000000010000 rw !x
|
||||||
|
*default* 0x0000000000000000 0xffffffffffffffff
|
||||||
|
|
||||||
|
Linker script and memory map
|
||||||
|
|
||||||
|
Address of section .data set to 0x800100
|
||||||
|
LOAD /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
LOAD main.o
|
||||||
|
LOAD uart_async.o
|
||||||
|
LOAD timer.o
|
||||||
|
LOAD /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libm.a
|
||||||
|
LOAD /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a
|
||||||
|
LOAD /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a
|
||||||
|
LOAD /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a
|
||||||
|
|
||||||
|
.hash
|
||||||
|
*(.hash)
|
||||||
|
|
||||||
|
.dynsym
|
||||||
|
*(.dynsym)
|
||||||
|
|
||||||
|
.dynstr
|
||||||
|
*(.dynstr)
|
||||||
|
|
||||||
|
.gnu.version
|
||||||
|
*(.gnu.version)
|
||||||
|
|
||||||
|
.gnu.version_d
|
||||||
|
*(.gnu.version_d)
|
||||||
|
|
||||||
|
.gnu.version_r
|
||||||
|
*(.gnu.version_r)
|
||||||
|
|
||||||
|
.rel.init
|
||||||
|
*(.rel.init)
|
||||||
|
|
||||||
|
.rela.init
|
||||||
|
*(.rela.init)
|
||||||
|
|
||||||
|
.rel.text
|
||||||
|
*(.rel.text)
|
||||||
|
*(.rel.text.*)
|
||||||
|
*(.rel.gnu.linkonce.t*)
|
||||||
|
|
||||||
|
.rela.text
|
||||||
|
*(.rela.text)
|
||||||
|
*(.rela.text.*)
|
||||||
|
*(.rela.gnu.linkonce.t*)
|
||||||
|
|
||||||
|
.rel.fini
|
||||||
|
*(.rel.fini)
|
||||||
|
|
||||||
|
.rela.fini
|
||||||
|
*(.rela.fini)
|
||||||
|
|
||||||
|
.rel.rodata
|
||||||
|
*(.rel.rodata)
|
||||||
|
*(.rel.rodata.*)
|
||||||
|
*(.rel.gnu.linkonce.r*)
|
||||||
|
|
||||||
|
.rela.rodata
|
||||||
|
*(.rela.rodata)
|
||||||
|
*(.rela.rodata.*)
|
||||||
|
*(.rela.gnu.linkonce.r*)
|
||||||
|
|
||||||
|
.rel.data
|
||||||
|
*(.rel.data)
|
||||||
|
*(.rel.data.*)
|
||||||
|
*(.rel.gnu.linkonce.d*)
|
||||||
|
|
||||||
|
.rela.data
|
||||||
|
*(.rela.data)
|
||||||
|
*(.rela.data.*)
|
||||||
|
*(.rela.gnu.linkonce.d*)
|
||||||
|
|
||||||
|
.rel.ctors
|
||||||
|
*(.rel.ctors)
|
||||||
|
|
||||||
|
.rela.ctors
|
||||||
|
*(.rela.ctors)
|
||||||
|
|
||||||
|
.rel.dtors
|
||||||
|
*(.rel.dtors)
|
||||||
|
|
||||||
|
.rela.dtors
|
||||||
|
*(.rela.dtors)
|
||||||
|
|
||||||
|
.rel.got
|
||||||
|
*(.rel.got)
|
||||||
|
|
||||||
|
.rela.got
|
||||||
|
*(.rela.got)
|
||||||
|
|
||||||
|
.rel.bss
|
||||||
|
*(.rel.bss)
|
||||||
|
|
||||||
|
.rela.bss
|
||||||
|
*(.rela.bss)
|
||||||
|
|
||||||
|
.rel.plt
|
||||||
|
*(.rel.plt)
|
||||||
|
|
||||||
|
.rela.plt
|
||||||
|
*(.rela.plt)
|
||||||
|
|
||||||
|
.text 0x0000000000000000 0xe7a
|
||||||
|
*(.vectors)
|
||||||
|
.vectors 0x0000000000000000 0x68 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
0x0000000000000000 __vectors
|
||||||
|
0x0000000000000000 __vector_default
|
||||||
|
*(.vectors)
|
||||||
|
*(.progmem.gcc*)
|
||||||
|
*(.progmem*)
|
||||||
|
0x0000000000000068 . = ALIGN (0x2)
|
||||||
|
0x0000000000000068 __trampolines_start = .
|
||||||
|
*(.trampolines)
|
||||||
|
.trampolines 0x0000000000000068 0x0 linker stubs
|
||||||
|
*(.trampolines*)
|
||||||
|
0x0000000000000068 __trampolines_end = .
|
||||||
|
*(.jumptables)
|
||||||
|
*(.jumptables*)
|
||||||
|
*(.lowtext)
|
||||||
|
*(.lowtext*)
|
||||||
|
0x0000000000000068 __ctors_start = .
|
||||||
|
*(.ctors)
|
||||||
|
0x0000000000000068 __ctors_end = .
|
||||||
|
0x0000000000000068 __dtors_start = .
|
||||||
|
*(.dtors)
|
||||||
|
0x0000000000000068 __dtors_end = .
|
||||||
|
SORT(*)(.ctors)
|
||||||
|
SORT(*)(.dtors)
|
||||||
|
*(.init0)
|
||||||
|
.init0 0x0000000000000068 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
0x0000000000000068 __init
|
||||||
|
*(.init0)
|
||||||
|
*(.init1)
|
||||||
|
*(.init1)
|
||||||
|
*(.init2)
|
||||||
|
.init2 0x0000000000000068 0xc /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
*(.init2)
|
||||||
|
*(.init3)
|
||||||
|
*(.init3)
|
||||||
|
*(.init4)
|
||||||
|
.init4 0x0000000000000074 0x16 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_copy_data.o)
|
||||||
|
0x0000000000000074 __do_copy_data
|
||||||
|
.init4 0x000000000000008a 0x10 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
0x000000000000008a __do_clear_bss
|
||||||
|
*(.init4)
|
||||||
|
*(.init5)
|
||||||
|
*(.init5)
|
||||||
|
*(.init6)
|
||||||
|
*(.init6)
|
||||||
|
*(.init7)
|
||||||
|
*(.init7)
|
||||||
|
*(.init8)
|
||||||
|
*(.init8)
|
||||||
|
*(.init9)
|
||||||
|
.init9 0x000000000000009a 0x8 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
*(.init9)
|
||||||
|
*(.text)
|
||||||
|
.text 0x00000000000000a2 0x4 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
0x00000000000000a2 __vector_20
|
||||||
|
0x00000000000000a2 __vector_1
|
||||||
|
0x00000000000000a2 __vector_24
|
||||||
|
0x00000000000000a2 __vector_12
|
||||||
|
0x00000000000000a2 __bad_interrupt
|
||||||
|
0x00000000000000a2 __vector_6
|
||||||
|
0x00000000000000a2 __vector_3
|
||||||
|
0x00000000000000a2 __vector_23
|
||||||
|
0x00000000000000a2 __vector_25
|
||||||
|
0x00000000000000a2 __vector_11
|
||||||
|
0x00000000000000a2 __vector_13
|
||||||
|
0x00000000000000a2 __vector_17
|
||||||
|
0x00000000000000a2 __vector_7
|
||||||
|
0x00000000000000a2 __vector_5
|
||||||
|
0x00000000000000a2 __vector_4
|
||||||
|
0x00000000000000a2 __vector_9
|
||||||
|
0x00000000000000a2 __vector_2
|
||||||
|
0x00000000000000a2 __vector_21
|
||||||
|
0x00000000000000a2 __vector_15
|
||||||
|
0x00000000000000a2 __vector_8
|
||||||
|
0x00000000000000a2 __vector_10
|
||||||
|
0x00000000000000a2 __vector_16
|
||||||
|
0x00000000000000a2 __vector_22
|
||||||
|
.text 0x00000000000000a6 0x4c main.o
|
||||||
|
0x00000000000000a6 digital_read
|
||||||
|
0x00000000000000ce digital_write
|
||||||
|
.text 0x00000000000000f2 0x1c0 uart_async.o
|
||||||
|
0x00000000000000f2 uart_init
|
||||||
|
0x000000000000012c uart_putchar
|
||||||
|
0x0000000000000184 uart_getchar
|
||||||
|
0x00000000000001ae __vector_18
|
||||||
|
0x000000000000022e __vector_19
|
||||||
|
.text 0x00000000000002b2 0x310 timer.o
|
||||||
|
0x00000000000002b2 timer_init
|
||||||
|
0x00000000000002ec timer_millis
|
||||||
|
0x000000000000030e timer_micros
|
||||||
|
0x00000000000004f6 __vector_14
|
||||||
|
.text 0x00000000000005c2 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
.text 0x00000000000005c2 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_exit.o)
|
||||||
|
.text 0x00000000000005c2 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text 0x00000000000005c2 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text 0x00000000000005c2 0xf4 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_ashldi3.o)
|
||||||
|
0x00000000000005c2 __ashldi3
|
||||||
|
.text 0x00000000000006b6 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
.text 0x00000000000006b6 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(iob.o)
|
||||||
|
.text 0x00000000000006b6 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
.text 0x00000000000006b6 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
.text 0x00000000000006b6 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(strnlen_P.o)
|
||||||
|
.text 0x00000000000006b6 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(strnlen.o)
|
||||||
|
.text 0x00000000000006b6 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(fputc.o)
|
||||||
|
.text 0x00000000000006b6 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(ultoa_invert.o)
|
||||||
|
.text 0x00000000000006b6 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_prologue.o)
|
||||||
|
.text 0x00000000000006b6 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_epilogue.o)
|
||||||
|
0x00000000000006b6 . = ALIGN (0x2)
|
||||||
|
*(.text.*)
|
||||||
|
.text.startup 0x00000000000006b6 0x1da main.o
|
||||||
|
0x00000000000006b6 main
|
||||||
|
.text.libgcc 0x0000000000000890 0x26 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
0x0000000000000890 __divmodhi4
|
||||||
|
0x0000000000000890 _div
|
||||||
|
.text.libgcc 0x00000000000008b6 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_exit.o)
|
||||||
|
.text.libgcc 0x00000000000008b6 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text.libgcc 0x00000000000008b6 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text.libgcc 0x00000000000008b6 0x28 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
0x00000000000008b6 __udivmodhi4
|
||||||
|
.text.avr-libc
|
||||||
|
0x00000000000008de 0x2a /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
0x00000000000008de printf
|
||||||
|
.text.avr-libc
|
||||||
|
0x0000000000000908 0x3c0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
0x0000000000000908 vfprintf
|
||||||
|
.text.avr-libc
|
||||||
|
0x0000000000000cc8 0x16 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(strnlen_P.o)
|
||||||
|
0x0000000000000cc8 strnlen_P
|
||||||
|
.text.avr-libc
|
||||||
|
0x0000000000000cde 0x16 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(strnlen.o)
|
||||||
|
0x0000000000000cde strnlen
|
||||||
|
.text.avr-libc
|
||||||
|
0x0000000000000cf4 0x58 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(fputc.o)
|
||||||
|
0x0000000000000cf4 fputc
|
||||||
|
.text.avr-libc
|
||||||
|
0x0000000000000d4c 0xbc /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(ultoa_invert.o)
|
||||||
|
0x0000000000000d4c __ultoa_invert
|
||||||
|
.text.libgcc 0x0000000000000e08 0x38 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_prologue.o)
|
||||||
|
0x0000000000000e08 __prologue_saves__
|
||||||
|
.text.libgcc 0x0000000000000e40 0x36 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_epilogue.o)
|
||||||
|
0x0000000000000e40 __epilogue_restores__
|
||||||
|
0x0000000000000e76 . = ALIGN (0x2)
|
||||||
|
*(.fini9)
|
||||||
|
.fini9 0x0000000000000e76 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_exit.o)
|
||||||
|
0x0000000000000e76 exit
|
||||||
|
0x0000000000000e76 _exit
|
||||||
|
*(.fini9)
|
||||||
|
*(.fini8)
|
||||||
|
*(.fini8)
|
||||||
|
*(.fini7)
|
||||||
|
*(.fini7)
|
||||||
|
*(.fini6)
|
||||||
|
*(.fini6)
|
||||||
|
*(.fini5)
|
||||||
|
*(.fini5)
|
||||||
|
*(.fini4)
|
||||||
|
*(.fini4)
|
||||||
|
*(.fini3)
|
||||||
|
*(.fini3)
|
||||||
|
*(.fini2)
|
||||||
|
*(.fini2)
|
||||||
|
*(.fini1)
|
||||||
|
*(.fini1)
|
||||||
|
*(.fini0)
|
||||||
|
.fini0 0x0000000000000e76 0x4 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_exit.o)
|
||||||
|
*(.fini0)
|
||||||
|
0x0000000000000e7a _etext = .
|
||||||
|
|
||||||
|
.data 0x0000000000800100 0x50 load address 0x0000000000000e7a
|
||||||
|
0x0000000000800100 PROVIDE (__data_start, .)
|
||||||
|
*(.data)
|
||||||
|
.data 0x0000000000800100 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
.data 0x0000000000800100 0x50 main.o
|
||||||
|
0x0000000000800134 uart_input
|
||||||
|
0x0000000000800142 uart_output
|
||||||
|
.data 0x0000000000800150 0x0 uart_async.o
|
||||||
|
.data 0x0000000000800150 0x0 timer.o
|
||||||
|
.data 0x0000000000800150 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
.data 0x0000000000800150 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_exit.o)
|
||||||
|
.data 0x0000000000800150 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.data 0x0000000000800150 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.data 0x0000000000800150 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_ashldi3.o)
|
||||||
|
.data 0x0000000000800150 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
.data 0x0000000000800150 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(iob.o)
|
||||||
|
.data 0x0000000000800150 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
.data 0x0000000000800150 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
.data 0x0000000000800150 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(strnlen_P.o)
|
||||||
|
.data 0x0000000000800150 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(strnlen.o)
|
||||||
|
.data 0x0000000000800150 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(fputc.o)
|
||||||
|
.data 0x0000000000800150 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(ultoa_invert.o)
|
||||||
|
.data 0x0000000000800150 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_prologue.o)
|
||||||
|
.data 0x0000000000800150 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_epilogue.o)
|
||||||
|
*(.data*)
|
||||||
|
*(.rodata)
|
||||||
|
*(.rodata*)
|
||||||
|
*(.gnu.linkonce.d*)
|
||||||
|
0x0000000000800150 . = ALIGN (0x2)
|
||||||
|
0x0000000000800150 _edata = .
|
||||||
|
0x0000000000800150 PROVIDE (__data_end, .)
|
||||||
|
|
||||||
|
.bss 0x0000000000800150 0x256
|
||||||
|
0x0000000000800150 PROVIDE (__bss_start, .)
|
||||||
|
*(.bss)
|
||||||
|
.bss 0x0000000000800150 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
.bss 0x0000000000800150 0x0 main.o
|
||||||
|
.bss 0x0000000000800150 0x248 uart_async.o
|
||||||
|
.bss 0x0000000000800398 0x8 timer.o
|
||||||
|
.bss 0x00000000008003a0 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
.bss 0x00000000008003a0 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_exit.o)
|
||||||
|
.bss 0x00000000008003a0 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.bss 0x00000000008003a0 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.bss 0x00000000008003a0 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_ashldi3.o)
|
||||||
|
.bss 0x00000000008003a0 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
.bss 0x00000000008003a0 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(iob.o)
|
||||||
|
.bss 0x00000000008003a0 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
.bss 0x00000000008003a0 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
.bss 0x00000000008003a0 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(strnlen_P.o)
|
||||||
|
.bss 0x00000000008003a0 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(strnlen.o)
|
||||||
|
.bss 0x00000000008003a0 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(fputc.o)
|
||||||
|
.bss 0x00000000008003a0 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(ultoa_invert.o)
|
||||||
|
.bss 0x00000000008003a0 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_prologue.o)
|
||||||
|
.bss 0x00000000008003a0 0x0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_epilogue.o)
|
||||||
|
*(.bss*)
|
||||||
|
*(COMMON)
|
||||||
|
COMMON 0x00000000008003a0 0x6 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(iob.o)
|
||||||
|
0x00000000008003a0 __iob
|
||||||
|
0x00000000008003a6 PROVIDE (__bss_end, .)
|
||||||
|
0x0000000000000e7a __data_load_start = LOADADDR (.data)
|
||||||
|
0x0000000000000eca __data_load_end = (__data_load_start + SIZEOF (.data))
|
||||||
|
|
||||||
|
.noinit 0x00000000008003a6 0x0
|
||||||
|
0x00000000008003a6 PROVIDE (__noinit_start, .)
|
||||||
|
*(.noinit*)
|
||||||
|
0x00000000008003a6 PROVIDE (__noinit_end, .)
|
||||||
|
0x00000000008003a6 _end = .
|
||||||
|
0x00000000008003a6 PROVIDE (__heap_start, .)
|
||||||
|
|
||||||
|
.eeprom 0x0000000000810000 0x0
|
||||||
|
*(.eeprom*)
|
||||||
|
0x0000000000810000 __eeprom_end = .
|
||||||
|
|
||||||
|
.stab 0x0000000000000000 0xc84
|
||||||
|
*(.stab)
|
||||||
|
.stab 0x0000000000000000 0x6cc /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
.stab 0x00000000000006cc 0x9c /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(strnlen_P.o)
|
||||||
|
0xa8 (size before relaxing)
|
||||||
|
.stab 0x0000000000000768 0x9c /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(strnlen.o)
|
||||||
|
0xa8 (size before relaxing)
|
||||||
|
.stab 0x0000000000000804 0x480 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(ultoa_invert.o)
|
||||||
|
0x48c (size before relaxing)
|
||||||
|
|
||||||
|
.stabstr 0x0000000000000000 0x19d
|
||||||
|
*(.stabstr)
|
||||||
|
.stabstr 0x0000000000000000 0x19d /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
|
||||||
|
.stab.excl
|
||||||
|
*(.stab.excl)
|
||||||
|
|
||||||
|
.stab.exclstr
|
||||||
|
*(.stab.exclstr)
|
||||||
|
|
||||||
|
.stab.index
|
||||||
|
*(.stab.index)
|
||||||
|
|
||||||
|
.stab.indexstr
|
||||||
|
*(.stab.indexstr)
|
||||||
|
|
||||||
|
.comment
|
||||||
|
*(.comment)
|
||||||
|
|
||||||
|
.debug
|
||||||
|
*(.debug)
|
||||||
|
|
||||||
|
.line
|
||||||
|
*(.line)
|
||||||
|
|
||||||
|
.debug_srcinfo
|
||||||
|
*(.debug_srcinfo)
|
||||||
|
|
||||||
|
.debug_sfnames
|
||||||
|
*(.debug_sfnames)
|
||||||
|
|
||||||
|
.debug_aranges 0x0000000000000000 0x1c8
|
||||||
|
*(.debug_aranges)
|
||||||
|
.debug_aranges
|
||||||
|
0x0000000000000000 0x28 main.o
|
||||||
|
.debug_aranges
|
||||||
|
0x0000000000000028 0x20 uart_async.o
|
||||||
|
.debug_aranges
|
||||||
|
0x0000000000000048 0x20 timer.o
|
||||||
|
.debug_aranges
|
||||||
|
0x0000000000000068 0x20 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
.debug_aranges
|
||||||
|
0x0000000000000088 0x20 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_exit.o)
|
||||||
|
.debug_aranges
|
||||||
|
0x00000000000000a8 0x20 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.debug_aranges
|
||||||
|
0x00000000000000c8 0x20 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.debug_aranges
|
||||||
|
0x00000000000000e8 0x20 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_ashldi3.o)
|
||||||
|
.debug_aranges
|
||||||
|
0x0000000000000108 0x20 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
.debug_aranges
|
||||||
|
0x0000000000000128 0x20 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
.debug_aranges
|
||||||
|
0x0000000000000148 0x20 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
.debug_aranges
|
||||||
|
0x0000000000000168 0x20 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(fputc.o)
|
||||||
|
.debug_aranges
|
||||||
|
0x0000000000000188 0x20 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_prologue.o)
|
||||||
|
.debug_aranges
|
||||||
|
0x00000000000001a8 0x20 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_epilogue.o)
|
||||||
|
|
||||||
|
.debug_pubnames
|
||||||
|
*(.debug_pubnames)
|
||||||
|
|
||||||
|
.debug_info 0x0000000000000000 0x145e
|
||||||
|
*(.debug_info)
|
||||||
|
.debug_info 0x0000000000000000 0x2f2 main.o
|
||||||
|
.debug_info 0x00000000000002f2 0x2d0 uart_async.o
|
||||||
|
.debug_info 0x00000000000005c2 0xe3 timer.o
|
||||||
|
.debug_info 0x00000000000006a5 0x9f /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
.debug_info 0x0000000000000744 0x9f /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_exit.o)
|
||||||
|
.debug_info 0x00000000000007e3 0x9f /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.debug_info 0x0000000000000882 0x9f /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.debug_info 0x0000000000000921 0x184 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_ashldi3.o)
|
||||||
|
.debug_info 0x0000000000000aa5 0x9f /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
.debug_info 0x0000000000000b44 0x153 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(iob.o)
|
||||||
|
.debug_info 0x0000000000000c97 0x1ca /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
.debug_info 0x0000000000000e61 0x354 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
.debug_info 0x00000000000011b5 0x16b /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(fputc.o)
|
||||||
|
.debug_info 0x0000000000001320 0x9f /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_prologue.o)
|
||||||
|
.debug_info 0x00000000000013bf 0x9f /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_epilogue.o)
|
||||||
|
*(.gnu.linkonce.wi.*)
|
||||||
|
|
||||||
|
.debug_abbrev 0x0000000000000000 0x983
|
||||||
|
*(.debug_abbrev)
|
||||||
|
.debug_abbrev 0x0000000000000000 0x1e6 main.o
|
||||||
|
.debug_abbrev 0x00000000000001e6 0x15f uart_async.o
|
||||||
|
.debug_abbrev 0x0000000000000345 0x9f timer.o
|
||||||
|
.debug_abbrev 0x00000000000003e4 0x14 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
.debug_abbrev 0x00000000000003f8 0x14 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_exit.o)
|
||||||
|
.debug_abbrev 0x000000000000040c 0x14 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.debug_abbrev 0x0000000000000420 0x14 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.debug_abbrev 0x0000000000000434 0xf0 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_ashldi3.o)
|
||||||
|
.debug_abbrev 0x0000000000000524 0x14 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
.debug_abbrev 0x0000000000000538 0xc7 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(iob.o)
|
||||||
|
.debug_abbrev 0x00000000000005ff 0x11e /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
.debug_abbrev 0x000000000000071d 0x163 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
.debug_abbrev 0x0000000000000880 0xdb /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(fputc.o)
|
||||||
|
.debug_abbrev 0x000000000000095b 0x14 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_prologue.o)
|
||||||
|
.debug_abbrev 0x000000000000096f 0x14 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_epilogue.o)
|
||||||
|
|
||||||
|
.debug_line 0x0000000000000000 0x953
|
||||||
|
*(.debug_line)
|
||||||
|
.debug_line 0x0000000000000000 0xe5 main.o
|
||||||
|
.debug_line 0x00000000000000e5 0xc4 uart_async.o
|
||||||
|
.debug_line 0x00000000000001a9 0xa6 timer.o
|
||||||
|
.debug_line 0x000000000000024f 0x70 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
.debug_line 0x00000000000002bf 0x5f /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_exit.o)
|
||||||
|
.debug_line 0x000000000000031e 0x68 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.debug_line 0x0000000000000386 0x65 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.debug_line 0x00000000000003eb 0x6e /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_ashldi3.o)
|
||||||
|
.debug_line 0x0000000000000459 0x71 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
.debug_line 0x00000000000004ca 0x62 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(iob.o)
|
||||||
|
.debug_line 0x000000000000052c 0xbc /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
.debug_line 0x00000000000005e8 0x1fe /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
.debug_line 0x00000000000007e6 0x7c /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(fputc.o)
|
||||||
|
.debug_line 0x0000000000000862 0x79 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_prologue.o)
|
||||||
|
.debug_line 0x00000000000008db 0x78 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_epilogue.o)
|
||||||
|
|
||||||
|
.debug_frame 0x0000000000000000 0x35c
|
||||||
|
*(.debug_frame)
|
||||||
|
.debug_frame 0x0000000000000000 0x70 main.o
|
||||||
|
.debug_frame 0x0000000000000070 0xf8 uart_async.o
|
||||||
|
.debug_frame 0x0000000000000168 0xf8 timer.o
|
||||||
|
.debug_frame 0x0000000000000260 0x4c /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_ashldi3.o)
|
||||||
|
.debug_frame 0x00000000000002ac 0x2c /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
.debug_frame 0x00000000000002d8 0x4c /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
.debug_frame 0x0000000000000324 0x38 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(fputc.o)
|
||||||
|
|
||||||
|
.debug_str 0x0000000000000000 0x421
|
||||||
|
*(.debug_str)
|
||||||
|
.debug_str 0x0000000000000000 0x15a main.o
|
||||||
|
0x198 (size before relaxing)
|
||||||
|
.debug_str 0x000000000000015a 0x95 uart_async.o
|
||||||
|
0x16b (size before relaxing)
|
||||||
|
.debug_str 0x00000000000001ef 0x3a timer.o
|
||||||
|
0xfc (size before relaxing)
|
||||||
|
.debug_str 0x0000000000000229 0xc3 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_ashldi3.o)
|
||||||
|
0x148 (size before relaxing)
|
||||||
|
.debug_str 0x00000000000002ec 0x60 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(iob.o)
|
||||||
|
0x104 (size before relaxing)
|
||||||
|
.debug_str 0x000000000000034c 0x3e /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
0x137 (size before relaxing)
|
||||||
|
.debug_str 0x000000000000038a 0x75 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
0x189 (size before relaxing)
|
||||||
|
.debug_str 0x00000000000003ff 0x22 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(fputc.o)
|
||||||
|
0x10d (size before relaxing)
|
||||||
|
|
||||||
|
.debug_loc 0x0000000000000000 0xcc7
|
||||||
|
*(.debug_loc)
|
||||||
|
.debug_loc 0x0000000000000000 0x1b0 main.o
|
||||||
|
.debug_loc 0x00000000000001b0 0x277 uart_async.o
|
||||||
|
.debug_loc 0x0000000000000427 0x1d6 timer.o
|
||||||
|
.debug_loc 0x00000000000005fd 0xf4 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_ashldi3.o)
|
||||||
|
.debug_loc 0x00000000000006f1 0x21 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
.debug_loc 0x0000000000000712 0x51c /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
.debug_loc 0x0000000000000c2e 0x99 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(fputc.o)
|
||||||
|
|
||||||
|
.debug_macinfo
|
||||||
|
*(.debug_macinfo)
|
||||||
|
OUTPUT(main.elf elf32-avr)
|
||||||
|
LOAD linker stubs
|
||||||
|
|
||||||
|
.debug_ranges 0x0000000000000000 0x48
|
||||||
|
.debug_ranges 0x0000000000000000 0x18 main.o
|
||||||
|
.debug_ranges 0x0000000000000018 0x10 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
.debug_ranges 0x0000000000000028 0x10 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
.debug_ranges 0x0000000000000038 0x10 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(fputc.o)
|
||||||
|
|
||||||
|
Cross Reference Table
|
||||||
|
|
||||||
|
Symbol File
|
||||||
|
__ashldi3 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_ashldi3.o)
|
||||||
|
timer.o
|
||||||
|
__bad_interrupt /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__bss_end /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
__bss_start /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
__data_end /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_copy_data.o)
|
||||||
|
__data_load_start /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_copy_data.o)
|
||||||
|
__data_start /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_copy_data.o)
|
||||||
|
__divmodhi4 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
uart_async.o
|
||||||
|
__do_clear_bss /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(fputc.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(iob.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_ashldi3.o)
|
||||||
|
timer.o
|
||||||
|
uart_async.o
|
||||||
|
main.o
|
||||||
|
__do_copy_data /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_copy_data.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(fputc.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(iob.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_ashldi3.o)
|
||||||
|
timer.o
|
||||||
|
uart_async.o
|
||||||
|
main.o
|
||||||
|
__epilogue_restores__ /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_epilogue.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
__heap_end /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__init /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__iob /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(iob.o)
|
||||||
|
main.o
|
||||||
|
__prologue_saves__ /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_prologue.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
__stack /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__udivmodhi4 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_udivmodhi4.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
__ultoa_invert /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(ultoa_invert.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
__vector_1 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_10 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_11 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_12 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_13 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_14 timer.o
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_15 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_16 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_17 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_18 uart_async.o
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_19 uart_async.o
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_2 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_20 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_21 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_22 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_23 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_24 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_25 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_3 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_4 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_5 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_6 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_7 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_8 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_9 /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vector_default /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
__vectors /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
_div /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_divmodhi4.o)
|
||||||
|
_exit /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_exit.o)
|
||||||
|
digital_read main.o
|
||||||
|
digital_write main.o
|
||||||
|
exit /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/avr5/libgcc.a(_exit.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
fputc /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(fputc.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
main main.o
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/crtm328p.o
|
||||||
|
printf /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
||||||
|
main.o
|
||||||
|
strnlen /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(strnlen.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
strnlen_P /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(strnlen_P.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
timer_init timer.o
|
||||||
|
main.o
|
||||||
|
timer_micros timer.o
|
||||||
|
timer_millis timer.o
|
||||||
|
main.o
|
||||||
|
uart_getchar uart_async.o
|
||||||
|
main.o
|
||||||
|
uart_init uart_async.o
|
||||||
|
main.o
|
||||||
|
uart_input main.o
|
||||||
|
uart_output main.o
|
||||||
|
uart_putchar uart_async.o
|
||||||
|
main.o
|
||||||
|
vfprintf /usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(vfprintf_std.o)
|
||||||
|
/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/lib/avr5/libc.a(printf.o)
|
BIN
button_debounce/main.o
Normal file
BIN
button_debounce/main.o
Normal file
Binary file not shown.
126
button_debounce/main.sym
Normal file
126
button_debounce/main.sym
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
00000000 W __heap_end
|
||||||
|
00000000 a __tmp_reg__
|
||||||
|
00000000 a __tmp_reg__
|
||||||
|
00000000 a __tmp_reg__
|
||||||
|
00000000 a __tmp_reg__
|
||||||
|
00000000 a __tmp_reg__
|
||||||
|
00000000 a __tmp_reg__
|
||||||
|
00000000 a __tmp_reg__
|
||||||
|
00000000 a __tmp_reg__
|
||||||
|
00000000 W __vector_default
|
||||||
|
00000000 T __vectors
|
||||||
|
00000001 a __zero_reg__
|
||||||
|
00000001 a __zero_reg__
|
||||||
|
00000001 a __zero_reg__
|
||||||
|
00000001 a __zero_reg__
|
||||||
|
00000001 a __zero_reg__
|
||||||
|
00000001 a __zero_reg__
|
||||||
|
00000001 a __zero_reg__
|
||||||
|
00000001 a __zero_reg__
|
||||||
|
0000003d a __SP_L__
|
||||||
|
0000003d a __SP_L__
|
||||||
|
0000003d a __SP_L__
|
||||||
|
0000003d a __SP_L__
|
||||||
|
0000003d a __SP_L__
|
||||||
|
0000003d a __SP_L__
|
||||||
|
0000003d a __SP_L__
|
||||||
|
0000003d a __SP_L__
|
||||||
|
0000003e a __SP_H__
|
||||||
|
0000003e a __SP_H__
|
||||||
|
0000003e a __SP_H__
|
||||||
|
0000003e a __SP_H__
|
||||||
|
0000003e a __SP_H__
|
||||||
|
0000003e a __SP_H__
|
||||||
|
0000003e a __SP_H__
|
||||||
|
0000003e a __SP_H__
|
||||||
|
0000003f a __SREG__
|
||||||
|
0000003f a __SREG__
|
||||||
|
0000003f a __SREG__
|
||||||
|
0000003f a __SREG__
|
||||||
|
0000003f a __SREG__
|
||||||
|
0000003f a __SREG__
|
||||||
|
0000003f a __SREG__
|
||||||
|
0000003f a __SREG__
|
||||||
|
00000068 T __ctors_end
|
||||||
|
00000068 T __ctors_start
|
||||||
|
00000068 T __dtors_end
|
||||||
|
00000068 T __dtors_start
|
||||||
|
00000068 W __init
|
||||||
|
00000068 T __trampolines_end
|
||||||
|
00000068 T __trampolines_start
|
||||||
|
00000074 T __do_copy_data
|
||||||
|
0000008a T __do_clear_bss
|
||||||
|
00000092 t .do_clear_bss_loop
|
||||||
|
00000094 t .do_clear_bss_start
|
||||||
|
000000a2 T __bad_interrupt
|
||||||
|
000000a2 W __vector_1
|
||||||
|
000000a2 W __vector_10
|
||||||
|
000000a2 W __vector_11
|
||||||
|
000000a2 W __vector_12
|
||||||
|
000000a2 W __vector_13
|
||||||
|
000000a2 W __vector_15
|
||||||
|
000000a2 W __vector_16
|
||||||
|
000000a2 W __vector_17
|
||||||
|
000000a2 W __vector_2
|
||||||
|
000000a2 W __vector_20
|
||||||
|
000000a2 W __vector_21
|
||||||
|
000000a2 W __vector_22
|
||||||
|
000000a2 W __vector_23
|
||||||
|
000000a2 W __vector_24
|
||||||
|
000000a2 W __vector_25
|
||||||
|
000000a2 W __vector_3
|
||||||
|
000000a2 W __vector_4
|
||||||
|
000000a2 W __vector_5
|
||||||
|
000000a2 W __vector_6
|
||||||
|
000000a2 W __vector_7
|
||||||
|
000000a2 W __vector_8
|
||||||
|
000000a2 W __vector_9
|
||||||
|
000000a6 T digital_read
|
||||||
|
000000ce T digital_write
|
||||||
|
000000f2 T uart_init
|
||||||
|
0000012c T uart_putchar
|
||||||
|
00000184 T uart_getchar
|
||||||
|
000001ae T __vector_18
|
||||||
|
0000022e T __vector_19
|
||||||
|
000002b2 T timer_init
|
||||||
|
000002ec T timer_millis
|
||||||
|
0000030e T timer_micros
|
||||||
|
000004f6 T __vector_14
|
||||||
|
000005c2 T __ashldi3
|
||||||
|
000006b6 T main
|
||||||
|
00000890 T __divmodhi4
|
||||||
|
00000890 T _div
|
||||||
|
000008a4 t __divmodhi4_neg2
|
||||||
|
000008aa t __divmodhi4_exit
|
||||||
|
000008ac t __divmodhi4_neg1
|
||||||
|
000008b6 T __udivmodhi4
|
||||||
|
000008be t __udivmodhi4_loop
|
||||||
|
000008cc t __udivmodhi4_ep
|
||||||
|
000008de T printf
|
||||||
|
000008ff W __stack
|
||||||
|
00000908 T vfprintf
|
||||||
|
00000cc8 T strnlen_P
|
||||||
|
00000cde T strnlen
|
||||||
|
00000cf4 T fputc
|
||||||
|
00000d4c T __ultoa_invert
|
||||||
|
00000e08 T __prologue_saves__
|
||||||
|
00000e40 T __epilogue_restores__
|
||||||
|
00000e76 T _exit
|
||||||
|
00000e76 W exit
|
||||||
|
00000e78 t __stop_program
|
||||||
|
00000e7a A __data_load_start
|
||||||
|
00000e7a T _etext
|
||||||
|
00000eca A __data_load_end
|
||||||
|
00800100 D __data_start
|
||||||
|
00800134 D uart_input
|
||||||
|
00800142 D uart_output
|
||||||
|
00800150 B __bss_start
|
||||||
|
00800150 D __data_end
|
||||||
|
00800150 D _edata
|
||||||
|
00800150 b tx_buffer
|
||||||
|
00800354 b rx_buffer
|
||||||
|
00800398 b _timer_millis
|
||||||
|
008003a0 B __iob
|
||||||
|
008003a6 B __bss_end
|
||||||
|
008003a6 N _end
|
||||||
|
00810000 N __eeprom_end
|
567
button_debounce/timer.lst
Normal file
567
button_debounce/timer.lst
Normal file
@ -0,0 +1,567 @@
|
|||||||
|
1 .file "timer.c"
|
||||||
|
2 __SREG__ = 0x3f
|
||||||
|
3 __SP_H__ = 0x3e
|
||||||
|
4 __SP_L__ = 0x3d
|
||||||
|
5 __tmp_reg__ = 0
|
||||||
|
6 __zero_reg__ = 1
|
||||||
|
7 .global __do_copy_data
|
||||||
|
8 .global __do_clear_bss
|
||||||
|
9 .text
|
||||||
|
10 .Ltext0:
|
||||||
|
11 .global timer_init
|
||||||
|
13 timer_init:
|
||||||
|
14 .LFB0:
|
||||||
|
15 .file 1 "timer.c"
|
||||||
|
1:timer.c **** /*
|
||||||
|
2:timer.c **** * Low resolution implementation of timer using a 8 bit clock with prescaler,
|
||||||
|
3:timer.c **** * etc. Clicks approximately every millisecond. Microseconds are not available,
|
||||||
|
4:timer.c **** * and any queries to the function will just return milliseconds * 1000.
|
||||||
|
5:timer.c **** * You can use this file when you don't need high resolution timing, and don't care
|
||||||
|
6:timer.c **** * about slight clock drift, inaccuracy, etc. For timing most human-related activities,
|
||||||
|
7:timer.c **** * though, it should be more than sufficient.
|
||||||
|
8:timer.c **** */
|
||||||
|
9:timer.c **** #include "timer.h"
|
||||||
|
10:timer.c ****
|
||||||
|
11:timer.c **** static volatile uint64_t _timer_millis;
|
||||||
|
12:timer.c ****
|
||||||
|
13:timer.c **** /*
|
||||||
|
14:timer.c **** * Initializes the timer, and resets the timer count to 0. Sets up the ISRs
|
||||||
|
15:timer.c **** * linked with timer0.
|
||||||
|
16:timer.c **** */
|
||||||
|
17:timer.c **** void timer_init(){
|
||||||
|
16 .loc 1 17 0
|
||||||
|
17 /* prologue: function */
|
||||||
|
18 /* frame size = 0 */
|
||||||
|
19 /* stack size = 0 */
|
||||||
|
20 .L__stack_usage = 0
|
||||||
|
18:timer.c **** //Set up the timer to run at F_CPU / 256, in normal mode (we reset TCNT0 in the ISR)
|
||||||
|
19:timer.c **** TCCR0A = 0x0;
|
||||||
|
21 .loc 1 19 0
|
||||||
|
22 0000 14BC out 68-0x20,__zero_reg__
|
||||||
|
20:timer.c **** TCCR0B |= _BV(CS02);
|
||||||
|
23 .loc 1 20 0
|
||||||
|
24 0002 85B5 in r24,69-0x20
|
||||||
|
25 0004 8460 ori r24,lo8(4)
|
||||||
|
26 0006 85BD out 69-0x20,r24
|
||||||
|
21:timer.c ****
|
||||||
|
22:timer.c **** //Set compare value to be F_CPU / 1000 -- fire interrupt every millisecond
|
||||||
|
23:timer.c **** OCR0A = F_CPU / 256 / 1000;
|
||||||
|
27 .loc 1 23 0
|
||||||
|
28 0008 8EE3 ldi r24,lo8(62)
|
||||||
|
29 000a 87BD out 71-0x20,r24
|
||||||
|
24:timer.c ****
|
||||||
|
25:timer.c **** //Enable compare interrupt
|
||||||
|
26:timer.c **** TIMSK0 = _BV(OCIE0A);
|
||||||
|
30 .loc 1 26 0
|
||||||
|
31 000c 82E0 ldi r24,lo8(2)
|
||||||
|
32 000e 8093 6E00 sts 110,r24
|
||||||
|
27:timer.c ****
|
||||||
|
28:timer.c **** //Reset count variables
|
||||||
|
29:timer.c **** _timer_millis = 0;
|
||||||
|
33 .loc 1 29 0
|
||||||
|
34 0012 1092 0000 sts _timer_millis,__zero_reg__
|
||||||
|
35 0016 1092 0000 sts _timer_millis+1,__zero_reg__
|
||||||
|
36 001a 1092 0000 sts _timer_millis+2,__zero_reg__
|
||||||
|
37 001e 1092 0000 sts _timer_millis+3,__zero_reg__
|
||||||
|
38 0022 1092 0000 sts _timer_millis+4,__zero_reg__
|
||||||
|
39 0026 1092 0000 sts _timer_millis+5,__zero_reg__
|
||||||
|
40 002a 1092 0000 sts _timer_millis+6,__zero_reg__
|
||||||
|
41 002e 1092 0000 sts _timer_millis+7,__zero_reg__
|
||||||
|
30:timer.c ****
|
||||||
|
31:timer.c **** //Enable interrupts if the NO_INTERRUPT_ENABLE define is not set. If it is, you need to call sei(
|
||||||
|
32:timer.c **** #ifndef NO_INTERRUPT_ENABLE
|
||||||
|
33:timer.c **** sei();
|
||||||
|
42 .loc 1 33 0
|
||||||
|
43 /* #APP */
|
||||||
|
44 ; 33 "timer.c" 1
|
||||||
|
45 0032 7894 sei
|
||||||
|
46 ; 0 "" 2
|
||||||
|
34:timer.c **** #endif
|
||||||
|
35:timer.c ****
|
||||||
|
36:timer.c **** DDRB = 0xFF;
|
||||||
|
47 .loc 1 36 0
|
||||||
|
48 /* #NOAPP */
|
||||||
|
49 0034 8FEF ldi r24,lo8(-1)
|
||||||
|
50 0036 84B9 out 36-0x20,r24
|
||||||
|
51 /* epilogue start */
|
||||||
|
37:timer.c **** }
|
||||||
|
52 .loc 1 37 0
|
||||||
|
53 0038 0895 ret
|
||||||
|
54 .LFE0:
|
||||||
|
56 .global timer_millis
|
||||||
|
58 timer_millis:
|
||||||
|
59 .LFB1:
|
||||||
|
38:timer.c ****
|
||||||
|
39:timer.c **** /*
|
||||||
|
40:timer.c **** * Returns the number of milliseconds which have elapsed since the
|
||||||
|
41:timer.c **** * last time timer_init() was called. Overflows after about 49 days.
|
||||||
|
42:timer.c **** */
|
||||||
|
43:timer.c **** uint64_t timer_millis(){
|
||||||
|
60 .loc 1 43 0
|
||||||
|
61 /* prologue: function */
|
||||||
|
62 /* frame size = 0 */
|
||||||
|
63 /* stack size = 0 */
|
||||||
|
64 .L__stack_usage = 0
|
||||||
|
44:timer.c **** return _timer_millis;
|
||||||
|
65 .loc 1 44 0
|
||||||
|
66 003a 2091 0000 lds r18,_timer_millis
|
||||||
|
67 003e 3091 0000 lds r19,_timer_millis+1
|
||||||
|
68 0042 4091 0000 lds r20,_timer_millis+2
|
||||||
|
69 0046 5091 0000 lds r21,_timer_millis+3
|
||||||
|
70 004a 6091 0000 lds r22,_timer_millis+4
|
||||||
|
71 004e 7091 0000 lds r23,_timer_millis+5
|
||||||
|
72 0052 8091 0000 lds r24,_timer_millis+6
|
||||||
|
73 0056 9091 0000 lds r25,_timer_millis+7
|
||||||
|
74 /* epilogue start */
|
||||||
|
45:timer.c **** }
|
||||||
|
75 .loc 1 45 0
|
||||||
|
76 005a 0895 ret
|
||||||
|
77 .LFE1:
|
||||||
|
79 .global timer_micros
|
||||||
|
81 timer_micros:
|
||||||
|
82 .LFB2:
|
||||||
|
46:timer.c ****
|
||||||
|
47:timer.c **** /*
|
||||||
|
48:timer.c **** * Returns the number of microseconds which have elapsed since the
|
||||||
|
49:timer.c **** * last time timer_init() was called. Overflows after about 71 minutes.
|
||||||
|
50:timer.c **** */
|
||||||
|
51:timer.c **** uint64_t timer_micros(){
|
||||||
|
83 .loc 1 51 0
|
||||||
|
84 005c 2F92 push r2
|
||||||
|
85 .LCFI0:
|
||||||
|
86 005e 3F92 push r3
|
||||||
|
87 .LCFI1:
|
||||||
|
88 0060 4F92 push r4
|
||||||
|
89 .LCFI2:
|
||||||
|
90 0062 5F92 push r5
|
||||||
|
91 .LCFI3:
|
||||||
|
92 0064 6F92 push r6
|
||||||
|
93 .LCFI4:
|
||||||
|
94 0066 7F92 push r7
|
||||||
|
95 .LCFI5:
|
||||||
|
96 0068 8F92 push r8
|
||||||
|
97 .LCFI6:
|
||||||
|
98 006a 9F92 push r9
|
||||||
|
99 .LCFI7:
|
||||||
|
100 006c AF92 push r10
|
||||||
|
101 .LCFI8:
|
||||||
|
102 006e BF92 push r11
|
||||||
|
103 .LCFI9:
|
||||||
|
104 0070 CF92 push r12
|
||||||
|
105 .LCFI10:
|
||||||
|
106 0072 DF92 push r13
|
||||||
|
107 .LCFI11:
|
||||||
|
108 0074 EF92 push r14
|
||||||
|
109 .LCFI12:
|
||||||
|
110 0076 FF92 push r15
|
||||||
|
111 .LCFI13:
|
||||||
|
112 0078 0F93 push r16
|
||||||
|
113 .LCFI14:
|
||||||
|
114 007a 1F93 push r17
|
||||||
|
115 .LCFI15:
|
||||||
|
116 007c CF93 push r28
|
||||||
|
117 .LCFI16:
|
||||||
|
118 007e DF93 push r29
|
||||||
|
119 .LCFI17:
|
||||||
|
120 0080 0F92 push __tmp_reg__
|
||||||
|
121 .LCFI18:
|
||||||
|
122 0082 CDB7 in r28,__SP_L__
|
||||||
|
123 0084 DEB7 in r29,__SP_H__
|
||||||
|
124 .LCFI19:
|
||||||
|
125 /* prologue: function */
|
||||||
|
126 /* frame size = 1 */
|
||||||
|
127 /* stack size = 19 */
|
||||||
|
128 .L__stack_usage = 19
|
||||||
|
52:timer.c **** return (_timer_millis * 1000);
|
||||||
|
129 .loc 1 52 0
|
||||||
|
130 0086 8090 0000 lds r8,_timer_millis
|
||||||
|
131 008a 7090 0000 lds r7,_timer_millis+1
|
||||||
|
132 008e 6090 0000 lds r6,_timer_millis+2
|
||||||
|
133 0092 5090 0000 lds r5,_timer_millis+3
|
||||||
|
134 0096 4090 0000 lds r4,_timer_millis+4
|
||||||
|
135 009a 3090 0000 lds r3,_timer_millis+5
|
||||||
|
136 009e 2090 0000 lds r2,_timer_millis+6
|
||||||
|
137 00a2 8091 0000 lds r24,_timer_millis+7
|
||||||
|
138 00a6 8983 std Y+1,r24
|
||||||
|
139 00a8 282D mov r18,r8
|
||||||
|
140 00aa 372D mov r19,r7
|
||||||
|
141 00ac 462D mov r20,r6
|
||||||
|
142 00ae 552D mov r21,r5
|
||||||
|
143 00b0 642D mov r22,r4
|
||||||
|
144 00b2 732D mov r23,r3
|
||||||
|
145 00b4 822D mov r24,r2
|
||||||
|
146 00b6 9981 ldd r25,Y+1
|
||||||
|
147 00b8 02E0 ldi r16,lo8(2)
|
||||||
|
148 00ba 0E94 0000 call __ashldi3
|
||||||
|
149 00be F22E mov r15,r18
|
||||||
|
150 00c0 132F mov r17,r19
|
||||||
|
151 00c2 E42E mov r14,r20
|
||||||
|
152 00c4 D52E mov r13,r21
|
||||||
|
153 00c6 C62E mov r12,r22
|
||||||
|
154 00c8 B72E mov r11,r23
|
||||||
|
155 00ca A82E mov r10,r24
|
||||||
|
156 00cc 992E mov r9,r25
|
||||||
|
157 00ce 05E0 ldi r16,lo8(5)
|
||||||
|
158 00d0 0E94 0000 call __ashldi3
|
||||||
|
159 00d4 B22F mov r27,r18
|
||||||
|
160 00d6 BF19 sub r27,r15
|
||||||
|
161 00d8 F1E0 ldi r31,lo8(1)
|
||||||
|
162 00da 2B17 cp r18,r27
|
||||||
|
163 00dc 00F0 brlo .L4
|
||||||
|
164 00de F0E0 ldi r31,lo8(0)
|
||||||
|
165 .L4:
|
||||||
|
166 00e0 232F mov r18,r19
|
||||||
|
167 00e2 211B sub r18,r17
|
||||||
|
168 00e4 E1E0 ldi r30,lo8(1)
|
||||||
|
169 00e6 3217 cp r19,r18
|
||||||
|
170 00e8 00F0 brlo .L5
|
||||||
|
171 00ea E0E0 ldi r30,lo8(0)
|
||||||
|
172 .L5:
|
||||||
|
173 00ec 022F mov r16,r18
|
||||||
|
174 00ee 0F1B sub r16,r31
|
||||||
|
175 00f0 31E0 ldi r19,lo8(1)
|
||||||
|
176 00f2 2017 cp r18,r16
|
||||||
|
177 00f4 00F0 brlo .L6
|
||||||
|
178 00f6 30E0 ldi r19,lo8(0)
|
||||||
|
179 .L6:
|
||||||
|
180 00f8 E32B or r30,r19
|
||||||
|
181 00fa 342F mov r19,r20
|
||||||
|
182 00fc 3E19 sub r19,r14
|
||||||
|
183 00fe 21E0 ldi r18,lo8(1)
|
||||||
|
184 0100 4317 cp r20,r19
|
||||||
|
185 0102 00F0 brlo .L7
|
||||||
|
186 0104 20E0 ldi r18,lo8(0)
|
||||||
|
187 .L7:
|
||||||
|
188 0106 F32E mov r15,r19
|
||||||
|
189 0108 FE1A sub r15,r30
|
||||||
|
190 010a 41E0 ldi r20,lo8(1)
|
||||||
|
191 010c 3F15 cp r19,r15
|
||||||
|
192 010e 00F0 brlo .L8
|
||||||
|
193 0110 40E0 ldi r20,lo8(0)
|
||||||
|
194 .L8:
|
||||||
|
195 0112 242B or r18,r20
|
||||||
|
196 0114 452F mov r20,r21
|
||||||
|
197 0116 4D19 sub r20,r13
|
||||||
|
198 0118 31E0 ldi r19,lo8(1)
|
||||||
|
199 011a 5417 cp r21,r20
|
||||||
|
200 011c 00F0 brlo .L9
|
||||||
|
201 011e 30E0 ldi r19,lo8(0)
|
||||||
|
202 .L9:
|
||||||
|
203 0120 142F mov r17,r20
|
||||||
|
204 0122 121B sub r17,r18
|
||||||
|
205 0124 21E0 ldi r18,lo8(1)
|
||||||
|
206 0126 4117 cp r20,r17
|
||||||
|
207 0128 00F0 brlo .L10
|
||||||
|
208 012a 20E0 ldi r18,lo8(0)
|
||||||
|
209 .L10:
|
||||||
|
210 012c 322B or r19,r18
|
||||||
|
211 012e 462F mov r20,r22
|
||||||
|
212 0130 4C19 sub r20,r12
|
||||||
|
213 0132 21E0 ldi r18,lo8(1)
|
||||||
|
214 0134 6417 cp r22,r20
|
||||||
|
215 0136 00F0 brlo .L11
|
||||||
|
216 0138 20E0 ldi r18,lo8(0)
|
||||||
|
217 .L11:
|
||||||
|
218 013a A42F mov r26,r20
|
||||||
|
219 013c A31B sub r26,r19
|
||||||
|
220 013e 31E0 ldi r19,lo8(1)
|
||||||
|
221 0140 4A17 cp r20,r26
|
||||||
|
222 0142 00F0 brlo .L12
|
||||||
|
223 0144 30E0 ldi r19,lo8(0)
|
||||||
|
224 .L12:
|
||||||
|
225 0146 232B or r18,r19
|
||||||
|
226 0148 472F mov r20,r23
|
||||||
|
227 014a 4B19 sub r20,r11
|
||||||
|
228 014c 31E0 ldi r19,lo8(1)
|
||||||
|
229 014e 7417 cp r23,r20
|
||||||
|
230 0150 00F0 brlo .L13
|
||||||
|
231 0152 30E0 ldi r19,lo8(0)
|
||||||
|
232 .L13:
|
||||||
|
233 0154 E42F mov r30,r20
|
||||||
|
234 0156 E21B sub r30,r18
|
||||||
|
235 0158 21E0 ldi r18,lo8(1)
|
||||||
|
236 015a 4E17 cp r20,r30
|
||||||
|
237 015c 00F0 brlo .L14
|
||||||
|
238 015e 20E0 ldi r18,lo8(0)
|
||||||
|
239 .L14:
|
||||||
|
240 0160 322B or r19,r18
|
||||||
|
241 0162 482F mov r20,r24
|
||||||
|
242 0164 4A19 sub r20,r10
|
||||||
|
243 0166 21E0 ldi r18,lo8(1)
|
||||||
|
244 0168 8417 cp r24,r20
|
||||||
|
245 016a 00F0 brlo .L15
|
||||||
|
246 016c 20E0 ldi r18,lo8(0)
|
||||||
|
247 .L15:
|
||||||
|
248 016e F42F mov r31,r20
|
||||||
|
249 0170 F31B sub r31,r19
|
||||||
|
250 0172 81E0 ldi r24,lo8(1)
|
||||||
|
251 0174 4F17 cp r20,r31
|
||||||
|
252 0176 00F0 brlo .L16
|
||||||
|
253 0178 80E0 ldi r24,lo8(0)
|
||||||
|
254 .L16:
|
||||||
|
255 017a 282B or r18,r24
|
||||||
|
256 017c 9919 sub r25,r9
|
||||||
|
257 017e 921B sub r25,r18
|
||||||
|
258 0180 2B2F mov r18,r27
|
||||||
|
259 0182 280D add r18,r8
|
||||||
|
260 0184 31E0 ldi r19,lo8(1)
|
||||||
|
261 0186 2B17 cp r18,r27
|
||||||
|
262 0188 00F0 brlo .L17
|
||||||
|
263 018a 30E0 ldi r19,lo8(0)
|
||||||
|
264 .L17:
|
||||||
|
265 018c 700E add r7,r16
|
||||||
|
266 018e 41E0 ldi r20,lo8(1)
|
||||||
|
267 0190 7016 cp r7,r16
|
||||||
|
268 0192 00F0 brlo .L18
|
||||||
|
269 0194 40E0 ldi r20,lo8(0)
|
||||||
|
270 .L18:
|
||||||
|
271 0196 370D add r19,r7
|
||||||
|
272 0198 81E0 ldi r24,lo8(1)
|
||||||
|
273 019a 3715 cp r19,r7
|
||||||
|
274 019c 00F0 brlo .L19
|
||||||
|
275 019e 80E0 ldi r24,lo8(0)
|
||||||
|
276 .L19:
|
||||||
|
277 01a0 482B or r20,r24
|
||||||
|
278 01a2 6F0C add r6,r15
|
||||||
|
279 01a4 51E0 ldi r21,lo8(1)
|
||||||
|
280 01a6 6F14 cp r6,r15
|
||||||
|
281 01a8 00F0 brlo .L20
|
||||||
|
282 01aa 50E0 ldi r21,lo8(0)
|
||||||
|
283 .L20:
|
||||||
|
284 01ac 460D add r20,r6
|
||||||
|
285 01ae 81E0 ldi r24,lo8(1)
|
||||||
|
286 01b0 4615 cp r20,r6
|
||||||
|
287 01b2 00F0 brlo .L21
|
||||||
|
288 01b4 80E0 ldi r24,lo8(0)
|
||||||
|
289 .L21:
|
||||||
|
290 01b6 582B or r21,r24
|
||||||
|
291 01b8 510E add r5,r17
|
||||||
|
292 01ba 61E0 ldi r22,lo8(1)
|
||||||
|
293 01bc 5116 cp r5,r17
|
||||||
|
294 01be 00F0 brlo .L22
|
||||||
|
295 01c0 60E0 ldi r22,lo8(0)
|
||||||
|
296 .L22:
|
||||||
|
297 01c2 550D add r21,r5
|
||||||
|
298 01c4 81E0 ldi r24,lo8(1)
|
||||||
|
299 01c6 5515 cp r21,r5
|
||||||
|
300 01c8 00F0 brlo .L23
|
||||||
|
301 01ca 80E0 ldi r24,lo8(0)
|
||||||
|
302 .L23:
|
||||||
|
303 01cc 682B or r22,r24
|
||||||
|
304 01ce 4A0E add r4,r26
|
||||||
|
305 01d0 71E0 ldi r23,lo8(1)
|
||||||
|
306 01d2 4A16 cp r4,r26
|
||||||
|
307 01d4 00F0 brlo .L24
|
||||||
|
308 01d6 70E0 ldi r23,lo8(0)
|
||||||
|
309 .L24:
|
||||||
|
310 01d8 640D add r22,r4
|
||||||
|
311 01da 81E0 ldi r24,lo8(1)
|
||||||
|
312 01dc 6415 cp r22,r4
|
||||||
|
313 01de 00F0 brlo .L25
|
||||||
|
314 01e0 80E0 ldi r24,lo8(0)
|
||||||
|
315 .L25:
|
||||||
|
316 01e2 782B or r23,r24
|
||||||
|
317 01e4 3E0E add r3,r30
|
||||||
|
318 01e6 81E0 ldi r24,lo8(1)
|
||||||
|
319 01e8 3E16 cp r3,r30
|
||||||
|
320 01ea 00F0 brlo .L26
|
||||||
|
321 01ec 80E0 ldi r24,lo8(0)
|
||||||
|
322 .L26:
|
||||||
|
323 01ee 730D add r23,r3
|
||||||
|
324 01f0 E1E0 ldi r30,lo8(1)
|
||||||
|
325 01f2 7315 cp r23,r3
|
||||||
|
326 01f4 00F0 brlo .L27
|
||||||
|
327 01f6 E0E0 ldi r30,lo8(0)
|
||||||
|
328 .L27:
|
||||||
|
329 01f8 8E2B or r24,r30
|
||||||
|
330 01fa 2F0E add r2,r31
|
||||||
|
331 01fc E1E0 ldi r30,lo8(1)
|
||||||
|
332 01fe 2F16 cp r2,r31
|
||||||
|
333 0200 00F0 brlo .L28
|
||||||
|
334 0202 E0E0 ldi r30,lo8(0)
|
||||||
|
335 .L28:
|
||||||
|
336 0204 820D add r24,r2
|
||||||
|
337 0206 F1E0 ldi r31,lo8(1)
|
||||||
|
338 0208 8215 cp r24,r2
|
||||||
|
339 020a 00F0 brlo .L29
|
||||||
|
340 020c F0E0 ldi r31,lo8(0)
|
||||||
|
341 .L29:
|
||||||
|
342 020e EF2B or r30,r31
|
||||||
|
343 0210 A981 ldd r26,Y+1
|
||||||
|
344 0212 9A0F add r25,r26
|
||||||
|
345 0214 9E0F add r25,r30
|
||||||
|
346 0216 03E0 ldi r16,lo8(3)
|
||||||
|
347 0218 0E94 0000 call __ashldi3
|
||||||
|
348 /* epilogue start */
|
||||||
|
53:timer.c **** }
|
||||||
|
349 .loc 1 53 0
|
||||||
|
350 021c 0F90 pop __tmp_reg__
|
||||||
|
351 021e DF91 pop r29
|
||||||
|
352 0220 CF91 pop r28
|
||||||
|
353 0222 1F91 pop r17
|
||||||
|
354 0224 0F91 pop r16
|
||||||
|
355 0226 FF90 pop r15
|
||||||
|
356 0228 EF90 pop r14
|
||||||
|
357 022a DF90 pop r13
|
||||||
|
358 022c CF90 pop r12
|
||||||
|
359 022e BF90 pop r11
|
||||||
|
360 0230 AF90 pop r10
|
||||||
|
361 0232 9F90 pop r9
|
||||||
|
362 0234 8F90 pop r8
|
||||||
|
363 0236 7F90 pop r7
|
||||||
|
364 0238 6F90 pop r6
|
||||||
|
365 023a 5F90 pop r5
|
||||||
|
366 023c 4F90 pop r4
|
||||||
|
367 023e 3F90 pop r3
|
||||||
|
368 0240 2F90 pop r2
|
||||||
|
369 0242 0895 ret
|
||||||
|
370 .LFE2:
|
||||||
|
372 .global __vector_14
|
||||||
|
374 __vector_14:
|
||||||
|
375 .LFB3:
|
||||||
|
54:timer.c ****
|
||||||
|
55:timer.c ****
|
||||||
|
56:timer.c **** /*
|
||||||
|
57:timer.c **** * The ISR for timer0 overflow. Increment the _timer_count here, and do the calculcations
|
||||||
|
58:timer.c **** * to increment _timer_millis as needed.
|
||||||
|
59:timer.c **** */
|
||||||
|
60:timer.c **** ISR(TIMER0_COMPA_vect){
|
||||||
|
376 .loc 1 60 0
|
||||||
|
377 0244 1F92 push r1
|
||||||
|
378 .LCFI20:
|
||||||
|
379 0246 0F92 push r0
|
||||||
|
380 .LCFI21:
|
||||||
|
381 0248 0FB6 in r0,__SREG__
|
||||||
|
382 024a 0F92 push r0
|
||||||
|
383 024c 1124 clr __zero_reg__
|
||||||
|
384 024e 2F93 push r18
|
||||||
|
385 .LCFI22:
|
||||||
|
386 0250 3F93 push r19
|
||||||
|
387 .LCFI23:
|
||||||
|
388 0252 4F93 push r20
|
||||||
|
389 .LCFI24:
|
||||||
|
390 0254 5F93 push r21
|
||||||
|
391 .LCFI25:
|
||||||
|
392 0256 6F93 push r22
|
||||||
|
393 .LCFI26:
|
||||||
|
394 0258 7F93 push r23
|
||||||
|
395 .LCFI27:
|
||||||
|
396 025a 8F93 push r24
|
||||||
|
397 .LCFI28:
|
||||||
|
398 025c 9F93 push r25
|
||||||
|
399 .LCFI29:
|
||||||
|
400 025e AF93 push r26
|
||||||
|
401 .LCFI30:
|
||||||
|
402 0260 EF93 push r30
|
||||||
|
403 .LCFI31:
|
||||||
|
404 0262 FF93 push r31
|
||||||
|
405 .LCFI32:
|
||||||
|
406 /* prologue: Signal */
|
||||||
|
407 /* frame size = 0 */
|
||||||
|
408 /* stack size = 14 */
|
||||||
|
409 .L__stack_usage = 14
|
||||||
|
61:timer.c **** TCNT0 = 0;
|
||||||
|
410 .loc 1 61 0
|
||||||
|
411 0264 16BC out 70-0x20,__zero_reg__
|
||||||
|
62:timer.c **** _timer_millis++;
|
||||||
|
412 .loc 1 62 0
|
||||||
|
413 0266 4091 0000 lds r20,_timer_millis
|
||||||
|
414 026a 3091 0000 lds r19,_timer_millis+1
|
||||||
|
415 026e 2091 0000 lds r18,_timer_millis+2
|
||||||
|
416 0272 9091 0000 lds r25,_timer_millis+3
|
||||||
|
417 0276 8091 0000 lds r24,_timer_millis+4
|
||||||
|
418 027a F091 0000 lds r31,_timer_millis+5
|
||||||
|
419 027e E091 0000 lds r30,_timer_millis+6
|
||||||
|
420 0282 A091 0000 lds r26,_timer_millis+7
|
||||||
|
421 0286 642F mov r22,r20
|
||||||
|
422 0288 6F5F subi r22,lo8(-(1))
|
||||||
|
423 028a 51E0 ldi r21,lo8(1)
|
||||||
|
424 028c 6417 cp r22,r20
|
||||||
|
425 028e 00F0 brlo .L31
|
||||||
|
426 0290 50E0 ldi r21,lo8(0)
|
||||||
|
427 .L31:
|
||||||
|
428 0292 530F add r21,r19
|
||||||
|
429 0294 41E0 ldi r20,lo8(1)
|
||||||
|
430 0296 5317 cp r21,r19
|
||||||
|
431 0298 00F0 brlo .L33
|
||||||
|
432 029a 40E0 ldi r20,lo8(0)
|
||||||
|
433 .L33:
|
||||||
|
434 029c 420F add r20,r18
|
||||||
|
435 029e 31E0 ldi r19,lo8(1)
|
||||||
|
436 02a0 4217 cp r20,r18
|
||||||
|
437 02a2 00F0 brlo .L35
|
||||||
|
438 02a4 30E0 ldi r19,lo8(0)
|
||||||
|
439 .L35:
|
||||||
|
440 02a6 390F add r19,r25
|
||||||
|
441 02a8 21E0 ldi r18,lo8(1)
|
||||||
|
442 02aa 3917 cp r19,r25
|
||||||
|
443 02ac 00F0 brlo .L37
|
||||||
|
444 02ae 20E0 ldi r18,lo8(0)
|
||||||
|
445 .L37:
|
||||||
|
446 02b0 280F add r18,r24
|
||||||
|
447 02b2 91E0 ldi r25,lo8(1)
|
||||||
|
448 02b4 2817 cp r18,r24
|
||||||
|
449 02b6 00F0 brlo .L39
|
||||||
|
450 02b8 90E0 ldi r25,lo8(0)
|
||||||
|
451 .L39:
|
||||||
|
452 02ba 9F0F add r25,r31
|
||||||
|
453 02bc 81E0 ldi r24,lo8(1)
|
||||||
|
454 02be 9F17 cp r25,r31
|
||||||
|
455 02c0 00F0 brlo .L41
|
||||||
|
456 02c2 80E0 ldi r24,lo8(0)
|
||||||
|
457 .L41:
|
||||||
|
458 02c4 8E0F add r24,r30
|
||||||
|
459 02c6 71E0 ldi r23,lo8(1)
|
||||||
|
460 02c8 8E17 cp r24,r30
|
||||||
|
461 02ca 00F0 brlo .L43
|
||||||
|
462 02cc 70E0 ldi r23,lo8(0)
|
||||||
|
463 .L43:
|
||||||
|
464 02ce 7A0F add r23,r26
|
||||||
|
465 02d0 6093 0000 sts _timer_millis,r22
|
||||||
|
466 02d4 5093 0000 sts _timer_millis+1,r21
|
||||||
|
467 02d8 4093 0000 sts _timer_millis+2,r20
|
||||||
|
468 02dc 3093 0000 sts _timer_millis+3,r19
|
||||||
|
469 02e0 2093 0000 sts _timer_millis+4,r18
|
||||||
|
470 02e4 9093 0000 sts _timer_millis+5,r25
|
||||||
|
471 02e8 8093 0000 sts _timer_millis+6,r24
|
||||||
|
472 02ec 7093 0000 sts _timer_millis+7,r23
|
||||||
|
473 /* epilogue start */
|
||||||
|
63:timer.c **** }
|
||||||
|
474 .loc 1 63 0
|
||||||
|
475 02f0 FF91 pop r31
|
||||||
|
476 02f2 EF91 pop r30
|
||||||
|
477 02f4 AF91 pop r26
|
||||||
|
478 02f6 9F91 pop r25
|
||||||
|
479 02f8 8F91 pop r24
|
||||||
|
480 02fa 7F91 pop r23
|
||||||
|
481 02fc 6F91 pop r22
|
||||||
|
482 02fe 5F91 pop r21
|
||||||
|
483 0300 4F91 pop r20
|
||||||
|
484 0302 3F91 pop r19
|
||||||
|
485 0304 2F91 pop r18
|
||||||
|
486 0306 0F90 pop r0
|
||||||
|
487 0308 0FBE out __SREG__,r0
|
||||||
|
488 030a 0F90 pop r0
|
||||||
|
489 030c 1F90 pop r1
|
||||||
|
490 030e 1895 reti
|
||||||
|
491 .LFE3:
|
||||||
|
493 .lcomm _timer_millis,8
|
||||||
|
738 .Letext0:
|
||||||
|
739 .file 2 "/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/stdint.h"
|
||||||
|
DEFINED SYMBOLS
|
||||||
|
*ABS*:0000000000000000 timer.c
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccElzoTR.s:2 *ABS*:000000000000003f __SREG__
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccElzoTR.s:3 *ABS*:000000000000003e __SP_H__
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccElzoTR.s:4 *ABS*:000000000000003d __SP_L__
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccElzoTR.s:5 *ABS*:0000000000000000 __tmp_reg__
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccElzoTR.s:6 *ABS*:0000000000000001 __zero_reg__
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccElzoTR.s:13 .text:0000000000000000 timer_init
|
||||||
|
.bss:0000000000000000 _timer_millis
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccElzoTR.s:58 .text:000000000000003a timer_millis
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccElzoTR.s:81 .text:000000000000005c timer_micros
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccElzoTR.s:374 .text:0000000000000244 __vector_14
|
||||||
|
|
||||||
|
UNDEFINED SYMBOLS
|
||||||
|
__do_copy_data
|
||||||
|
__do_clear_bss
|
||||||
|
__ashldi3
|
BIN
button_debounce/timer.o
Normal file
BIN
button_debounce/timer.o
Normal file
Binary file not shown.
449
button_debounce/uart_async.lst
Normal file
449
button_debounce/uart_async.lst
Normal file
@ -0,0 +1,449 @@
|
|||||||
|
1 .file "uart_async.c"
|
||||||
|
2 __SREG__ = 0x3f
|
||||||
|
3 __SP_H__ = 0x3e
|
||||||
|
4 __SP_L__ = 0x3d
|
||||||
|
5 __tmp_reg__ = 0
|
||||||
|
6 __zero_reg__ = 1
|
||||||
|
7 .global __do_copy_data
|
||||||
|
8 .global __do_clear_bss
|
||||||
|
9 .text
|
||||||
|
10 .Ltext0:
|
||||||
|
11 .global uart_init
|
||||||
|
13 uart_init:
|
||||||
|
14 .LFB1:
|
||||||
|
15 .file 1 "uart_async.c"
|
||||||
|
1:uart_async.c **** /* Based on Atmel Application Note AVR 306 */
|
||||||
|
2:uart_async.c ****
|
||||||
|
3:uart_async.c **** #include <avr/io.h>
|
||||||
|
4:uart_async.c **** #include <avr/interrupt.h>
|
||||||
|
5:uart_async.c **** #include <stdio.h>
|
||||||
|
6:uart_async.c ****
|
||||||
|
7:uart_async.c **** #ifndef BAUD
|
||||||
|
8:uart_async.c **** #define BAUD 9600
|
||||||
|
9:uart_async.c **** #endif
|
||||||
|
10:uart_async.c **** #include <util/setbaud.h>
|
||||||
|
11:uart_async.c ****
|
||||||
|
12:uart_async.c **** #ifndef UART_RX_BUFFER_SIZE
|
||||||
|
13:uart_async.c **** #define UART_RX_BUFFER_SIZE 32
|
||||||
|
14:uart_async.c **** #endif
|
||||||
|
15:uart_async.c ****
|
||||||
|
16:uart_async.c **** #ifndef UART_TX_BUFFER_SIZE
|
||||||
|
17:uart_async.c **** #define UART_TX_BUFFER_SIZE 256
|
||||||
|
18:uart_async.c **** #endif
|
||||||
|
19:uart_async.c ****
|
||||||
|
20:uart_async.c **** struct tx_ring {
|
||||||
|
21:uart_async.c **** int buffer[UART_TX_BUFFER_SIZE];
|
||||||
|
22:uart_async.c **** int start;
|
||||||
|
23:uart_async.c **** int end;
|
||||||
|
24:uart_async.c **** };
|
||||||
|
25:uart_async.c ****
|
||||||
|
26:uart_async.c **** struct rx_ring {
|
||||||
|
27:uart_async.c **** int buffer[UART_RX_BUFFER_SIZE];
|
||||||
|
28:uart_async.c **** int start;
|
||||||
|
29:uart_async.c **** int end;
|
||||||
|
30:uart_async.c **** };
|
||||||
|
31:uart_async.c ****
|
||||||
|
32:uart_async.c **** static struct tx_ring tx_buffer;
|
||||||
|
33:uart_async.c **** static struct rx_ring rx_buffer;
|
||||||
|
34:uart_async.c ****
|
||||||
|
35:uart_async.c **** /* http://www.cs.mun.ca/~rod/Winter2007/4723/notes/serial/serial.html */
|
||||||
|
36:uart_async.c ****
|
||||||
|
37:uart_async.c **** void uart_init(void) {
|
||||||
|
16 .loc 1 37 0
|
||||||
|
17 /* prologue: function */
|
||||||
|
18 /* frame size = 0 */
|
||||||
|
19 /* stack size = 0 */
|
||||||
|
20 .L__stack_usage = 0
|
||||||
|
38:uart_async.c ****
|
||||||
|
39:uart_async.c **** tx_buffer.start = 0;
|
||||||
|
21 .loc 1 39 0
|
||||||
|
22 0000 1092 0000 sts tx_buffer+512+1,__zero_reg__
|
||||||
|
23 0004 1092 0000 sts tx_buffer+512,__zero_reg__
|
||||||
|
40:uart_async.c **** tx_buffer.end = 0;
|
||||||
|
24 .loc 1 40 0
|
||||||
|
25 0008 1092 0000 sts tx_buffer+514+1,__zero_reg__
|
||||||
|
26 000c 1092 0000 sts tx_buffer+514,__zero_reg__
|
||||||
|
41:uart_async.c ****
|
||||||
|
42:uart_async.c **** rx_buffer.start = 0;
|
||||||
|
27 .loc 1 42 0
|
||||||
|
28 0010 1092 0000 sts rx_buffer+64+1,__zero_reg__
|
||||||
|
29 0014 1092 0000 sts rx_buffer+64,__zero_reg__
|
||||||
|
43:uart_async.c **** rx_buffer.end = 0;
|
||||||
|
30 .loc 1 43 0
|
||||||
|
31 0018 1092 0000 sts rx_buffer+66+1,__zero_reg__
|
||||||
|
32 001c 1092 0000 sts rx_buffer+66,__zero_reg__
|
||||||
|
44:uart_async.c ****
|
||||||
|
45:uart_async.c **** UBRR0H = UBRRH_VALUE;
|
||||||
|
33 .loc 1 45 0
|
||||||
|
34 0020 1092 C500 sts 197,__zero_reg__
|
||||||
|
46:uart_async.c **** UBRR0L = UBRRL_VALUE;
|
||||||
|
35 .loc 1 46 0
|
||||||
|
36 0024 87E6 ldi r24,lo8(103)
|
||||||
|
37 0026 8093 C400 sts 196,r24
|
||||||
|
47:uart_async.c ****
|
||||||
|
48:uart_async.c **** UCSR0C = _BV(UCSZ01) | _BV(UCSZ00); /* 8-bit data */
|
||||||
|
38 .loc 1 48 0
|
||||||
|
39 002a 86E0 ldi r24,lo8(6)
|
||||||
|
40 002c 8093 C200 sts 194,r24
|
||||||
|
49:uart_async.c **** UCSR0B = _BV(RXEN0) | _BV(TXEN0); /* Enable RX and TX */
|
||||||
|
41 .loc 1 49 0
|
||||||
|
42 0030 88E1 ldi r24,lo8(24)
|
||||||
|
43 0032 8093 C100 sts 193,r24
|
||||||
|
50:uart_async.c ****
|
||||||
|
51:uart_async.c **** sei();
|
||||||
|
44 .loc 1 51 0
|
||||||
|
45 /* #APP */
|
||||||
|
46 ; 51 "uart_async.c" 1
|
||||||
|
47 0036 7894 sei
|
||||||
|
48 ; 0 "" 2
|
||||||
|
49 /* epilogue start */
|
||||||
|
52:uart_async.c **** }
|
||||||
|
50 .loc 1 52 0
|
||||||
|
51 /* #NOAPP */
|
||||||
|
52 0038 0895 ret
|
||||||
|
53 .LFE1:
|
||||||
|
55 .global uart_putchar
|
||||||
|
57 uart_putchar:
|
||||||
|
58 .LFB2:
|
||||||
|
53:uart_async.c ****
|
||||||
|
54:uart_async.c **** int uart_putchar(char c, FILE *stream) {
|
||||||
|
59 .loc 1 54 0
|
||||||
|
60 .LVL0:
|
||||||
|
61 003a 1F93 push r17
|
||||||
|
62 .LCFI0:
|
||||||
|
63 /* prologue: function */
|
||||||
|
64 /* frame size = 0 */
|
||||||
|
65 /* stack size = 1 */
|
||||||
|
66 .L__stack_usage = 1
|
||||||
|
67 003c 182F mov r17,r24
|
||||||
|
55:uart_async.c **** if (c == '\n') {
|
||||||
|
68 .loc 1 55 0
|
||||||
|
69 003e 8A30 cpi r24,lo8(10)
|
||||||
|
70 0040 01F4 brne .L3
|
||||||
|
71 .LVL1:
|
||||||
|
56:uart_async.c **** uart_putchar('\r', stream);
|
||||||
|
72 .loc 1 56 0
|
||||||
|
73 0042 8DE0 ldi r24,lo8(13)
|
||||||
|
74 0044 0E94 0000 call uart_putchar
|
||||||
|
75 .LVL2:
|
||||||
|
76 .L3:
|
||||||
|
57:uart_async.c **** }
|
||||||
|
58:uart_async.c ****
|
||||||
|
59:uart_async.c **** int write_pointer = (tx_buffer.end + 1) % UART_TX_BUFFER_SIZE;
|
||||||
|
77 .loc 1 59 0
|
||||||
|
78 0048 2091 0000 lds r18,tx_buffer+514
|
||||||
|
79 004c 3091 0000 lds r19,tx_buffer+514+1
|
||||||
|
80 0050 C901 movw r24,r18
|
||||||
|
81 0052 0196 adiw r24,1
|
||||||
|
82 0054 60E0 ldi r22,lo8(256)
|
||||||
|
83 0056 71E0 ldi r23,hi8(256)
|
||||||
|
84 0058 0E94 0000 call __divmodhi4
|
||||||
|
85 .LVL3:
|
||||||
|
60:uart_async.c ****
|
||||||
|
61:uart_async.c **** if (write_pointer != tx_buffer.start){
|
||||||
|
86 .loc 1 61 0
|
||||||
|
87 005c 4091 0000 lds r20,tx_buffer+512
|
||||||
|
88 0060 5091 0000 lds r21,tx_buffer+512+1
|
||||||
|
89 0064 8417 cp r24,r20
|
||||||
|
90 0066 9507 cpc r25,r21
|
||||||
|
91 0068 01F0 breq .L4
|
||||||
|
62:uart_async.c **** tx_buffer.buffer[tx_buffer.end] = c;
|
||||||
|
92 .loc 1 62 0
|
||||||
|
93 006a F901 movw r30,r18
|
||||||
|
94 006c EE0F lsl r30
|
||||||
|
95 006e FF1F rol r31
|
||||||
|
96 0070 E050 subi r30,lo8(-(tx_buffer))
|
||||||
|
97 0072 F040 sbci r31,hi8(-(tx_buffer))
|
||||||
|
98 0074 1083 st Z,r17
|
||||||
|
99 0076 1182 std Z+1,__zero_reg__
|
||||||
|
63:uart_async.c **** tx_buffer.end = write_pointer;
|
||||||
|
100 .loc 1 63 0
|
||||||
|
101 0078 9093 0000 sts tx_buffer+514+1,r25
|
||||||
|
102 007c 8093 0000 sts tx_buffer+514,r24
|
||||||
|
64:uart_async.c ****
|
||||||
|
65:uart_async.c **** /* Data available. Enable the transmit interrupt for serial port 0. */
|
||||||
|
66:uart_async.c **** UCSR0B |= _BV(UDRIE0);
|
||||||
|
103 .loc 1 66 0
|
||||||
|
104 0080 8091 C100 lds r24,193
|
||||||
|
105 .LVL4:
|
||||||
|
106 0084 8062 ori r24,lo8(32)
|
||||||
|
107 0086 8093 C100 sts 193,r24
|
||||||
|
108 .LVL5:
|
||||||
|
109 .L4:
|
||||||
|
67:uart_async.c **** }
|
||||||
|
68:uart_async.c ****
|
||||||
|
69:uart_async.c **** return 0;
|
||||||
|
70:uart_async.c **** }
|
||||||
|
110 .loc 1 70 0
|
||||||
|
111 008a 80E0 ldi r24,lo8(0)
|
||||||
|
112 008c 90E0 ldi r25,hi8(0)
|
||||||
|
113 /* epilogue start */
|
||||||
|
114 008e 1F91 pop r17
|
||||||
|
115 .LVL6:
|
||||||
|
116 0090 0895 ret
|
||||||
|
117 .LFE2:
|
||||||
|
119 .global uart_getchar
|
||||||
|
121 uart_getchar:
|
||||||
|
122 .LFB3:
|
||||||
|
71:uart_async.c ****
|
||||||
|
72:uart_async.c **** int uart_getchar(FILE *stream) {
|
||||||
|
123 .loc 1 72 0
|
||||||
|
124 .LVL7:
|
||||||
|
125 /* prologue: function */
|
||||||
|
126 /* frame size = 0 */
|
||||||
|
127 /* stack size = 0 */
|
||||||
|
128 .L__stack_usage = 0
|
||||||
|
73:uart_async.c **** int read_pointer = (rx_buffer.start + 1) % UART_RX_BUFFER_SIZE;
|
||||||
|
129 .loc 1 73 0
|
||||||
|
130 0092 8091 0000 lds r24,rx_buffer+64
|
||||||
|
131 0096 9091 0000 lds r25,rx_buffer+64+1
|
||||||
|
132 .LVL8:
|
||||||
|
133 009a 0196 adiw r24,1
|
||||||
|
134 009c 60E2 ldi r22,lo8(32)
|
||||||
|
135 009e 70E0 ldi r23,hi8(32)
|
||||||
|
136 00a0 0E94 0000 call __divmodhi4
|
||||||
|
137 .LVL9:
|
||||||
|
74:uart_async.c ****
|
||||||
|
75:uart_async.c **** rx_buffer.start = read_pointer;
|
||||||
|
138 .loc 1 75 0
|
||||||
|
139 00a4 9093 0000 sts rx_buffer+64+1,r25
|
||||||
|
140 00a8 8093 0000 sts rx_buffer+64,r24
|
||||||
|
76:uart_async.c **** return rx_buffer.buffer[read_pointer];
|
||||||
|
141 .loc 1 76 0
|
||||||
|
142 00ac FC01 movw r30,r24
|
||||||
|
143 00ae EE0F lsl r30
|
||||||
|
144 00b0 FF1F rol r31
|
||||||
|
145 00b2 E050 subi r30,lo8(-(rx_buffer))
|
||||||
|
146 00b4 F040 sbci r31,hi8(-(rx_buffer))
|
||||||
|
77:uart_async.c **** }
|
||||||
|
147 .loc 1 77 0
|
||||||
|
148 00b6 8081 ld r24,Z
|
||||||
|
149 .LVL10:
|
||||||
|
150 00b8 9181 ldd r25,Z+1
|
||||||
|
151 /* epilogue start */
|
||||||
|
152 00ba 0895 ret
|
||||||
|
153 .LFE3:
|
||||||
|
155 .global __vector_18
|
||||||
|
157 __vector_18:
|
||||||
|
158 .LFB4:
|
||||||
|
78:uart_async.c ****
|
||||||
|
79:uart_async.c **** ISR(USART_RX_vect) {
|
||||||
|
159 .loc 1 79 0
|
||||||
|
160 00bc 1F92 push r1
|
||||||
|
161 .LCFI1:
|
||||||
|
162 00be 0F92 push r0
|
||||||
|
163 .LCFI2:
|
||||||
|
164 00c0 0FB6 in r0,__SREG__
|
||||||
|
165 00c2 0F92 push r0
|
||||||
|
166 00c4 1124 clr __zero_reg__
|
||||||
|
167 00c6 2F93 push r18
|
||||||
|
168 .LCFI3:
|
||||||
|
169 00c8 3F93 push r19
|
||||||
|
170 .LCFI4:
|
||||||
|
171 00ca 4F93 push r20
|
||||||
|
172 .LCFI5:
|
||||||
|
173 00cc 5F93 push r21
|
||||||
|
174 .LCFI6:
|
||||||
|
175 00ce 6F93 push r22
|
||||||
|
176 .LCFI7:
|
||||||
|
177 00d0 7F93 push r23
|
||||||
|
178 .LCFI8:
|
||||||
|
179 00d2 8F93 push r24
|
||||||
|
180 .LCFI9:
|
||||||
|
181 00d4 9F93 push r25
|
||||||
|
182 .LCFI10:
|
||||||
|
183 00d6 AF93 push r26
|
||||||
|
184 .LCFI11:
|
||||||
|
185 00d8 BF93 push r27
|
||||||
|
186 .LCFI12:
|
||||||
|
187 00da EF93 push r30
|
||||||
|
188 .LCFI13:
|
||||||
|
189 00dc FF93 push r31
|
||||||
|
190 .LCFI14:
|
||||||
|
191 /* prologue: Signal */
|
||||||
|
192 /* frame size = 0 */
|
||||||
|
193 /* stack size = 15 */
|
||||||
|
194 .L__stack_usage = 15
|
||||||
|
80:uart_async.c **** int write_pointer = (rx_buffer.end + 1) % UART_RX_BUFFER_SIZE;
|
||||||
|
195 .loc 1 80 0
|
||||||
|
196 00de 2091 0000 lds r18,rx_buffer+66
|
||||||
|
197 00e2 3091 0000 lds r19,rx_buffer+66+1
|
||||||
|
198 00e6 C901 movw r24,r18
|
||||||
|
199 00e8 0196 adiw r24,1
|
||||||
|
200 00ea 60E2 ldi r22,lo8(32)
|
||||||
|
201 00ec 70E0 ldi r23,hi8(32)
|
||||||
|
202 00ee 0E94 0000 call __divmodhi4
|
||||||
|
203 .LVL11:
|
||||||
|
81:uart_async.c ****
|
||||||
|
82:uart_async.c **** /* Add next byte to ringbuffer if it has space available. */
|
||||||
|
83:uart_async.c **** if (write_pointer != rx_buffer.start){
|
||||||
|
204 .loc 1 83 0
|
||||||
|
205 00f2 4091 0000 lds r20,rx_buffer+64
|
||||||
|
206 00f6 5091 0000 lds r21,rx_buffer+64+1
|
||||||
|
207 00fa 8417 cp r24,r20
|
||||||
|
208 00fc 9507 cpc r25,r21
|
||||||
|
209 00fe 01F0 breq .L6
|
||||||
|
84:uart_async.c **** rx_buffer.buffer[rx_buffer.end] = UDR0;
|
||||||
|
210 .loc 1 84 0
|
||||||
|
211 0100 4091 C600 lds r20,198
|
||||||
|
212 0104 F901 movw r30,r18
|
||||||
|
213 0106 EE0F lsl r30
|
||||||
|
214 0108 FF1F rol r31
|
||||||
|
215 010a E050 subi r30,lo8(-(rx_buffer))
|
||||||
|
216 010c F040 sbci r31,hi8(-(rx_buffer))
|
||||||
|
217 010e 4083 st Z,r20
|
||||||
|
218 0110 1182 std Z+1,__zero_reg__
|
||||||
|
85:uart_async.c **** rx_buffer.end = write_pointer;
|
||||||
|
219 .loc 1 85 0
|
||||||
|
220 0112 9093 0000 sts rx_buffer+66+1,r25
|
||||||
|
221 0116 8093 0000 sts rx_buffer+66,r24
|
||||||
|
222 .L6:
|
||||||
|
223 /* epilogue start */
|
||||||
|
86:uart_async.c **** }
|
||||||
|
87:uart_async.c **** }
|
||||||
|
224 .loc 1 87 0
|
||||||
|
225 011a FF91 pop r31
|
||||||
|
226 011c EF91 pop r30
|
||||||
|
227 011e BF91 pop r27
|
||||||
|
228 0120 AF91 pop r26
|
||||||
|
229 0122 9F91 pop r25
|
||||||
|
230 0124 8F91 pop r24
|
||||||
|
231 .LVL12:
|
||||||
|
232 0126 7F91 pop r23
|
||||||
|
233 0128 6F91 pop r22
|
||||||
|
234 012a 5F91 pop r21
|
||||||
|
235 012c 4F91 pop r20
|
||||||
|
236 012e 3F91 pop r19
|
||||||
|
237 0130 2F91 pop r18
|
||||||
|
238 0132 0F90 pop r0
|
||||||
|
239 0134 0FBE out __SREG__,r0
|
||||||
|
240 0136 0F90 pop r0
|
||||||
|
241 0138 1F90 pop r1
|
||||||
|
242 013a 1895 reti
|
||||||
|
243 .LFE4:
|
||||||
|
245 .global __vector_19
|
||||||
|
247 __vector_19:
|
||||||
|
248 .LFB5:
|
||||||
|
88:uart_async.c ****
|
||||||
|
89:uart_async.c **** ISR(USART_UDRE_vect){
|
||||||
|
249 .loc 1 89 0
|
||||||
|
250 013c 1F92 push r1
|
||||||
|
251 .LCFI15:
|
||||||
|
252 013e 0F92 push r0
|
||||||
|
253 .LCFI16:
|
||||||
|
254 0140 0FB6 in r0,__SREG__
|
||||||
|
255 0142 0F92 push r0
|
||||||
|
256 0144 1124 clr __zero_reg__
|
||||||
|
257 0146 2F93 push r18
|
||||||
|
258 .LCFI17:
|
||||||
|
259 0148 3F93 push r19
|
||||||
|
260 .LCFI18:
|
||||||
|
261 014a 5F93 push r21
|
||||||
|
262 .LCFI19:
|
||||||
|
263 014c 6F93 push r22
|
||||||
|
264 .LCFI20:
|
||||||
|
265 014e 7F93 push r23
|
||||||
|
266 .LCFI21:
|
||||||
|
267 0150 8F93 push r24
|
||||||
|
268 .LCFI22:
|
||||||
|
269 0152 9F93 push r25
|
||||||
|
270 .LCFI23:
|
||||||
|
271 0154 AF93 push r26
|
||||||
|
272 .LCFI24:
|
||||||
|
273 0156 BF93 push r27
|
||||||
|
274 .LCFI25:
|
||||||
|
275 0158 EF93 push r30
|
||||||
|
276 .LCFI26:
|
||||||
|
277 015a FF93 push r31
|
||||||
|
278 .LCFI27:
|
||||||
|
279 /* prologue: Signal */
|
||||||
|
280 /* frame size = 0 */
|
||||||
|
281 /* stack size = 14 */
|
||||||
|
282 .L__stack_usage = 14
|
||||||
|
90:uart_async.c **** int read_pointer = (tx_buffer.start + 1) % UART_TX_BUFFER_SIZE;
|
||||||
|
283 .loc 1 90 0
|
||||||
|
284 015c 8091 0000 lds r24,tx_buffer+512
|
||||||
|
285 0160 9091 0000 lds r25,tx_buffer+512+1
|
||||||
|
286 0164 0196 adiw r24,1
|
||||||
|
287 0166 60E0 ldi r22,lo8(256)
|
||||||
|
288 0168 71E0 ldi r23,hi8(256)
|
||||||
|
289 016a 0E94 0000 call __divmodhi4
|
||||||
|
290 .LVL13:
|
||||||
|
91:uart_async.c ****
|
||||||
|
92:uart_async.c **** /* Transmit next byte if data available in ringbuffer. */
|
||||||
|
93:uart_async.c **** if (read_pointer != tx_buffer.end) {
|
||||||
|
291 .loc 1 93 0
|
||||||
|
292 016e 2091 0000 lds r18,tx_buffer+514
|
||||||
|
293 0172 3091 0000 lds r19,tx_buffer+514+1
|
||||||
|
294 0176 8217 cp r24,r18
|
||||||
|
295 0178 9307 cpc r25,r19
|
||||||
|
296 017a 01F0 breq .L9
|
||||||
|
94:uart_async.c **** UDR0 = tx_buffer.buffer[read_pointer];
|
||||||
|
297 .loc 1 94 0
|
||||||
|
298 017c FC01 movw r30,r24
|
||||||
|
299 017e EE0F lsl r30
|
||||||
|
300 0180 FF1F rol r31
|
||||||
|
301 0182 E050 subi r30,lo8(-(tx_buffer))
|
||||||
|
302 0184 F040 sbci r31,hi8(-(tx_buffer))
|
||||||
|
303 0186 2081 ld r18,Z
|
||||||
|
304 0188 2093 C600 sts 198,r18
|
||||||
|
95:uart_async.c **** tx_buffer.start = read_pointer;
|
||||||
|
305 .loc 1 95 0
|
||||||
|
306 018c 9093 0000 sts tx_buffer+512+1,r25
|
||||||
|
307 0190 8093 0000 sts tx_buffer+512,r24
|
||||||
|
308 0194 00C0 rjmp .L8
|
||||||
|
309 .L9:
|
||||||
|
96:uart_async.c **** } else {
|
||||||
|
97:uart_async.c **** /* Nothing to send. Disable the transmit interrupt for serial port 0. */
|
||||||
|
98:uart_async.c **** UCSR0B &= ~_BV(UDRIE0);
|
||||||
|
310 .loc 1 98 0
|
||||||
|
311 0196 8091 C100 lds r24,193
|
||||||
|
312 .LVL14:
|
||||||
|
313 019a 8F7D andi r24,lo8(-33)
|
||||||
|
314 019c 8093 C100 sts 193,r24
|
||||||
|
315 .L8:
|
||||||
|
316 /* epilogue start */
|
||||||
|
99:uart_async.c **** }
|
||||||
|
100:uart_async.c **** }
|
||||||
|
317 .loc 1 100 0
|
||||||
|
318 01a0 FF91 pop r31
|
||||||
|
319 01a2 EF91 pop r30
|
||||||
|
320 01a4 BF91 pop r27
|
||||||
|
321 01a6 AF91 pop r26
|
||||||
|
322 01a8 9F91 pop r25
|
||||||
|
323 01aa 8F91 pop r24
|
||||||
|
324 01ac 7F91 pop r23
|
||||||
|
325 01ae 6F91 pop r22
|
||||||
|
326 01b0 5F91 pop r21
|
||||||
|
327 01b2 3F91 pop r19
|
||||||
|
328 01b4 2F91 pop r18
|
||||||
|
329 01b6 0F90 pop r0
|
||||||
|
330 01b8 0FBE out __SREG__,r0
|
||||||
|
331 01ba 0F90 pop r0
|
||||||
|
332 01bc 1F90 pop r1
|
||||||
|
333 01be 1895 reti
|
||||||
|
334 .LFE5:
|
||||||
|
336 .lcomm tx_buffer,516
|
||||||
|
337 .lcomm rx_buffer,68
|
||||||
|
564 .Letext0:
|
||||||
|
565 .file 2 "/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/stdio.h"
|
||||||
|
566 .file 3 "/usr/local/Cellar/avr-gcc/4.6.1/lib/gcc/avr/4.6.1/../../../../avr/include/stdint.h"
|
||||||
|
DEFINED SYMBOLS
|
||||||
|
*ABS*:0000000000000000 uart_async.c
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccGlpivZ.s:2 *ABS*:000000000000003f __SREG__
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccGlpivZ.s:3 *ABS*:000000000000003e __SP_H__
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccGlpivZ.s:4 *ABS*:000000000000003d __SP_L__
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccGlpivZ.s:5 *ABS*:0000000000000000 __tmp_reg__
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccGlpivZ.s:6 *ABS*:0000000000000001 __zero_reg__
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccGlpivZ.s:13 .text:0000000000000000 uart_init
|
||||||
|
.bss:0000000000000000 tx_buffer
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccGlpivZ.s:336 .bss:0000000000000204 rx_buffer
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccGlpivZ.s:57 .text:000000000000003a uart_putchar
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccGlpivZ.s:121 .text:0000000000000092 uart_getchar
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccGlpivZ.s:157 .text:00000000000000bc __vector_18
|
||||||
|
/var/folders/6p/hvps1d6n58jfd6qghfhb96600000gn/T//ccGlpivZ.s:247 .text:000000000000013c __vector_19
|
||||||
|
|
||||||
|
UNDEFINED SYMBOLS
|
||||||
|
__do_copy_data
|
||||||
|
__do_clear_bss
|
||||||
|
__divmodhi4
|
BIN
button_debounce/uart_async.o
Normal file
BIN
button_debounce/uart_async.o
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user