20131210-181002

This commit is contained in:
BlubbFish 2013-12-10 17:09:51 +00:00
parent 723b224d0d
commit 852bdee368
29 changed files with 3188 additions and 234 deletions

Binary file not shown.

View File

@ -13,6 +13,7 @@ Mainboard.d Mainboard.o: .././Mainboard.cpp .././config.h .././uart.hpp \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h \ c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h \ c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h \ c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/interrupt.h \
.././portc.hpp .././pin.hpp \ .././portc.hpp .././pin.hpp \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h \ c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay_basic.h \ c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay_basic.h \
@ -50,6 +51,8 @@ c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h: c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/interrupt.h:
.././portc.hpp: .././portc.hpp:
.././pin.hpp: .././pin.hpp:

View File

@ -1,20 +1,129 @@
:100000000C942B000C9453000C9453000C9453004C :100000000C942B000C9453000C9453000C9453004C
:100010000C9453000C9453000C9453000C94530014 :100010000C9453000C9453000C9453000C94530014
:100020000C9453000C9453000C9453000C94530004 :100020000C9453000C9477000C9453000C945300E0
:100030000C9453000C9453000C9453000C945300F4 :100030000C9453000C9453000C9453000C945300F4
:100040000C9453000C9453000C9453000C945300E4 :100040000C9453000C9453000C9453000C945300E4
:100050000C9453006D0011241FBECFE5D4E0DEBF29 :100050000C945300F80011241FBECFE5D4E0DEBF9E
:10006000CDBF10E0A0E6B0E0E8E0F1E002C005900E :10006000CDBF10E0A0E6B0E0EAEDF7E002C00590F9
:100070000D92A437B107D9F720E0A4E7B0E001C0A2 :100070000D92AE37B107D9F720E0AEE7B0E001C08E
:100080001D92A437B207E1F710E0C6E5D0E004C046 :100080001D92A238B207E1F710E0C6E5D0E004C047
:100090002297FE010E947E00C435D107C9F70E9455 :100090002297FE010E940401C435D107C9F70E94CE
:1000A00055000C9482000C940000A09A91E085B356 :1000A00065000C94EB030C940000FC0103C05D9B05
:1000B000892785BBE0E6F0E003C05D9BFECF8CB9ED :1000B000FECF8CB981918111FACF089585E083BF7D
:1000C00081918111FACF2FEF31EE84E02150304041 :1000C00012BE1CBE81E089BF089578940E945E0034
:1000D0008040E1F700C00000EACF86E080BD539A7F :1000D000A09A91E085B3892785BB2FEF31EE84E0AC
:1000E00083E389B9E6E6F0E003C05D9BFECF8CB9FF :1000E000215030408040E1F700C00000F3CF1F9264
:1000F00081918111FACF0895EE0FFF1F0590F491C1 :1000F0000F920FB60F9211240F931F932F933F93DC
:08010000E02D0994F894FFCFF3 :100100004F935F936F937F938F939F93AF93BF931F
:10010800626C610D0A005561727420646F6E65211E :10011000EF93FF93CF93DF93CDB7DEB72C97DEBF7E
:040118000D0A0000CC :10012000CDBF80918100813220F48F5F8093810068
:1001300044C01092810080917E001F928F93809125
:100140007F001F928F93809160001F928F9381E6B2
:1001500090E09F938F931F928CE08F938E010F5F9F
:100160001F4F1F930F930E940801C8010E94550062
:1001700080917E008F5F0FB6F894DEBF0FBECDBFBB
:100180008C3318F480937E0007C010927E0080911B
:100190007F008F5F80937F0080917F008C3338F0E9
:1001A00010927F00809160008F5F8093600080914B
:1001B0006000883110F0109260002C960FB6F89411
:1001C000DEBF0FBECDBFDF91CF91FF91EF91BF9109
:1001D000AF919F918F917F916F915F914F913F91DF
:1001E0002F911F910F910F900FBE0F901F90189598
:1001F00086E080BD539A10BC83E389B982E790E022
:100200000C945500EE0FFF1F0590F491E02D09941A
:10021000AEE0B0E0EEE0F1E00C94C2030D891E897F
:100220008F89988D26E02C831A83098397FF02C05B
:1002300080E090E801979E838D83CE014B96AC01C0
:10024000698D7A8DCE0101960E9438014D815E81C3
:1002500057FD0AC02F813885421753070CF49A01C5
:10026000F801E20FF31F10822E96E4E00C94DE03F7
:10027000ACE0B0E0EEE3F1E00C94B4037C016B0180
:100280008A01FC0117821682838181FFC6C18824FE
:100290008394912C8C0E9D1EF7019381F60193FDA2
:1002A000859193FF81916F01882309F4B2C1853252
:1002B00039F493FD859193FF81916F01853229F483
:1002C000B70190E00E942A03E7CF512C312C20E0A7
:1002D0002032A8F48B3261F028F4803251F083325E
:1002E00071F40BC08D3239F0803349F4216028C09D
:1002F0002260246025C0286023C0206121C027FD22
:1003000027C0382F30533A3078F426FF06C0FAE081
:100310005F9E300D1124532E13C08AE0389E300D9D
:100320001124332E20620CC08E3221F426FD71C1BF
:10033000206406C08C3611F4206802C0883641F46F
:10034000F60193FD859193FF81916F018111C0CFDB
:10035000982F9554933018F09052933028F40C5FF6
:100360001F4FFFE3F9830DC0833631F0833771F0FF
:10037000833509F05EC023C0F801808189830E5F58
:100380001F4F44244394512C540115C03801F2E00E
:100390006F0E711CF801A080B18026FF03C0652D8F
:1003A00070E002C06FEF7FEFC5012C870E941F0332
:1003B0002C0183012C856FE7262E222218C03801DC
:1003C000F2E06F0E711CF801A080B18026FF03C01F
:1003D000652D70E002C06FEF7FEFC5012C870E9492
:1003E00014032C012C8550E8252E222A830123FC9E
:1003F0001CC006C0B70180E290E00E942A033A9434
:10040000832D90E048165906A8F30FC0F50127FC8C
:10041000859127FE81915F01B70190E00E942A0338
:1004200031103A94F1E04F1A51084114510471F718
:10043000EDC0843611F0893641F5F80127FF07C079
:1004400060817181828193810C5F1F4F08C0608140
:100450007181882777FD8095982F0E5F1F4F4FE69B
:10046000B42EB22297FF09C0909580957095619542
:100470007F4F8F4F9F4FF0E8BF2A2AE030E0A40162
:100480000E945603A82EA81843C0853731F43FEECA
:10049000B32EB2222AE030E024C099EFB92EB22266
:1004A0008F36B9F020F4883509F0B3C00DC080371D
:1004B00021F0883709F0ADC002C020E1B22AB4FEB5
:1004C0000BC084E0B82A08C024FF09C0E6E0BE2AB9
:1004D00006C028E030E005C020E130E002C020E1A5
:1004E00032E0F801B7FE07C060817181828193819B
:1004F0000C5F1F4F06C06081718180E090E00E5F4D
:100500001F4FA4010E945603A82EA818FFE7BF2280
:10051000B6FE0BC02B2D2E7FA51450F4B4FE0AC0DE
:10052000B2FC08C02B2D2E7E05C07A2C2B2D03C0CB
:100530007A2C01C0752C24FF0DC0FE01EA0DF11DBF
:100540008081803311F4297E09C022FF06C0739494
:10055000739404C0822F867809F0739423FD14C02D
:1005600020FF0FC05A2C731460F4530C5718732CCF
:1005700008C0B70180E290E02C870E942A037394A0
:100580002C857314B0F304C0731410F4371801C031
:10059000312C24FF12C0B70180E390E02C870E9429
:1005A0002A032C8522FF1EC021FF03C088E590E0AE
:1005B00002C088E790E0B7010CC0822F867891F0E6
:1005C00021FD02C080E201C08BE227FD8DE2B70170
:1005D00090E00E942A0306C0B70180E390E00E94E9
:1005E0002A035A94A514C0F3AA94F401EA0DF11D4C
:1005F000B701808190E00E942A03A110F5CF06C0C8
:10060000B70180E290E00E942A033A943110F8CFBB
:1006100043CEF7012681378102C02FEF3FEFC9019A
:100620002C96E2E10C94D003FC01059061507040DF
:100630000110D8F7809590958E0F9F1F0895FC01AB
:100640006150704001900110D8F7809590958E0F01
:100650009F1F08950F931F93CF93DF938C01EB019E
:100660008B8181FD03C00FEF1FEF1AC082FF0DC009
:100670002E813F818C819D812817390764F4E881A0
:10068000F9810193F983E88306C0E885F985802F15
:100690000995892B41F78E819F8101969F838E83D7
:1006A000C801DF91CF911F910F910895FA01AA27F8
:1006B000283051F1203181F1E8946F936E7F6E5FA5
:1006C0007F4F8F4F9F4FAF4FB1E03ED0B4E03CD053
:1006D000670F781F891F9A1FA11D680F791F8A1F36
:1006E000911DA11D6A0F711D811D911DA11D20D09D
:1006F00009F468943F912AE0269F11243019305D57
:100700003193DEF6CF010895462F4770405D419347
:10071000B3E00FD0C9F7F6CF462F4F70405D4A3394
:1007200018F0495D31FD4052419302D0A9F7EACF5C
:10073000B4E0A6959795879577956795BA95C9F78B
:1007400000976105710508959B01AC010A2E06947E
:100750005795479537952795BA95C9F7620F731F37
:10076000841F951FA01D08952F923F924F925F9274
:100770006F927F928F929F92AF92BF92CF92DF92B1
:10078000EF92FF920F931F93CF93DF93CDB7DEB716
:10079000CA1BDB0B0FB6F894DEBF0FBECDBF0994AA
:1007A0002A88398848885F846E847D848C849B8401
:1007B000AA84B984C884DF80EE80FD800C811B810F
:1007C000AA81B981CE0FD11D0FB6F894DEBF0FBE3E
:0A07D000CDBFED010895F894FFCFAE
:1007DA000C74253032643A253032643A253032645A
:0E07EA000A005561727420646F6E65210A006A
:00000001FF :00000001FF

File diff suppressed because it is too large Load Diff

View File

@ -10,12 +10,27 @@ c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-
Mainboard.o (__do_global_ctors) Mainboard.o (__do_global_ctors)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o) c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_ctors.o) (__tablejump__) c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_ctors.o) (__tablejump__)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(snprintf.o)
Mainboard.o (snprintf)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(snprintf.o) (vfprintf)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(strnlen_P.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) (strnlen_P)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(strnlen.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) (strnlen)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(fputc.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) (fputc)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(ultoa_invert.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o) (__ultoa_invert)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_prologue.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(snprintf.o) (__prologue_saves__)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_epilogue.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(snprintf.o) (__epilogue_restores__)
Discarded input sections Discarded input sections
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm16a.o .bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm16a.o
.text 0x00000000 0x0 Mainboard.o .text 0x00000000 0x0 Mainboard.o
.bss 0x00000000 0x1 Mainboard.o
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o) .text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o) .bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
.text.libgcc.mul .text.libgcc.mul
@ -80,6 +95,40 @@ Discarded input sections
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o) 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o)
.text.libgcc.fmul .text.libgcc.fmul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o) 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(snprintf.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(snprintf.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(strnlen_P.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(strnlen_P.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(strnlen.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(strnlen.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(fputc.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(fputc.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(ultoa_invert.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(ultoa_invert.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_prologue.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_prologue.o)
.text.libgcc.mul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_prologue.o)
.text.libgcc.div
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_prologue.o)
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_prologue.o)
.text.libgcc.builtins
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_prologue.o)
.text.libgcc.fmul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_prologue.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_epilogue.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_epilogue.o)
.text.libgcc.mul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_epilogue.o)
.text.libgcc.div
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_epilogue.o)
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_epilogue.o)
.text.libgcc.builtins
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_epilogue.o)
.text.libgcc.fmul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_epilogue.o)
Memory Configuration Memory Configuration
@ -196,7 +245,7 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.rela.plt .rela.plt
*(.rela.plt) *(.rela.plt)
.text 0x00000000 0x108 .text 0x00000000 0x7da
*(.vectors) *(.vectors)
.vectors 0x00000000 0x54 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm16a.o .vectors 0x00000000 0x54 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm16a.o
0x00000000 __vector_default 0x00000000 __vector_default
@ -267,7 +316,6 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
0x000000a6 __vector_7 0x000000a6 __vector_7
0x000000a6 __vector_5 0x000000a6 __vector_5
0x000000a6 __vector_4 0x000000a6 __vector_4
0x000000a6 __vector_9
0x000000a6 __vector_2 0x000000a6 __vector_2
0x000000a6 __vector_15 0x000000a6 __vector_15
0x000000a6 __vector_8 0x000000a6 __vector_8
@ -278,19 +326,51 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
0x000000a6 __vector_20 0x000000a6 __vector_20
0x000000aa . = ALIGN (0x2) 0x000000aa . = ALIGN (0x2)
*(.text.*) *(.text.*)
.text._ZN4UartILm9600EE4sendEPKc.isra.2
0x000000aa 0x12 Mainboard.o
.text._Z4initv
0x000000bc 0xe Mainboard.o
0x000000bc _Z4initv
.text.startup.main .text.startup.main
0x000000aa 0x30 Mainboard.o 0x000000ca 0x24 Mainboard.o
0x000000aa main 0x000000ca main
.text.startup._GLOBAL__sub_I_u .text.__vector_9
0x000000da 0x1e Mainboard.o 0x000000ee 0x102 Mainboard.o
.text.libgcc 0x000000f8 0xc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o) 0x000000ee __vector_9
0x000000f8 __tablejump2__ .text.startup._GLOBAL__sub_I_timer
0x000000fc __tablejump__ 0x000001f0 0x14 Mainboard.o
0x00000104 . = ALIGN (0x2) .text.libgcc 0x00000204 0xc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o)
0x00000204 __tablejump2__
0x00000208 __tablejump__
.text.avr-libc
0x00000210 0x60 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(snprintf.o)
0x00000210 snprintf
.text.avr-libc
0x00000270 0x3b8 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o)
0x00000270 vfprintf
.text.avr-libc
0x00000628 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(strnlen_P.o)
0x00000628 strnlen_P
.text.avr-libc
0x0000063e 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(strnlen.o)
0x0000063e strnlen
.text.avr-libc
0x00000654 0x58 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(fputc.o)
0x00000654 fputc
.text.avr-libc
0x000006ac 0xbc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(ultoa_invert.o)
0x000006ac __ultoa_invert
.text.libgcc.prologue
0x00000768 0x38 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_prologue.o)
0x00000768 __prologue_saves__
.text.libgcc.prologue
0x000007a0 0x36 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_epilogue.o)
0x000007a0 __epilogue_restores__
0x000007d6 . = ALIGN (0x2)
*(.fini9) *(.fini9)
.fini9 0x00000104 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o) .fini9 0x000007d6 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
0x00000104 _exit 0x000007d6 _exit
0x00000104 exit 0x000007d6 exit
*(.fini9) *(.fini9)
*(.fini8) *(.fini8)
*(.fini8) *(.fini8)
@ -309,46 +389,59 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
*(.fini1) *(.fini1)
*(.fini1) *(.fini1)
*(.fini0) *(.fini0)
.fini0 0x00000104 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o) .fini0 0x000007d6 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
*(.fini0) *(.fini0)
0x00000108 _etext = . 0x000007da _etext = .
.data 0x00800060 0x14 load address 0x00000108 .data 0x00800060 0x1e load address 0x000007da
0x00800060 PROVIDE (__data_start, .) 0x00800060 PROVIDE (__data_start, .)
*(.data) *(.data)
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm16a.o .data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm16a.o
.data 0x00800060 0x0 Mainboard.o .data 0x00800060 0x1 Mainboard.o
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o) 0x00800060 h
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o) .data 0x00800061 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_exit.o)
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_clear_bss.o) .data 0x00800061 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_copy_data.o)
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_ctors.o) .data 0x00800061 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_clear_bss.o)
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o) .data 0x00800061 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_ctors.o)
.data 0x00800061 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_tablejump.o)
.data 0x00800061 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(snprintf.o)
.data 0x00800061 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o)
.data 0x00800061 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(strnlen_P.o)
.data 0x00800061 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(strnlen.o)
.data 0x00800061 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(fputc.o)
.data 0x00800061 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(ultoa_invert.o)
.data 0x00800061 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_prologue.o)
.data 0x00800061 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr5\libgcc.a(_epilogue.o)
*(.data*) *(.data*)
*(.rodata) *(.rodata)
*(.rodata*) *(.rodata*)
.rodata.str1.1 .rodata.str1.1
0x00800060 0x13 Mainboard.o 0x00800061 0x1d Mainboard.o
*(.gnu.linkonce.d*) *(.gnu.linkonce.d*)
0x00800074 . = ALIGN (0x2) 0x0080007e . = ALIGN (0x2)
*fill* 0x00800073 0x1 0x0080007e _edata = .
0x00800074 _edata = . 0x0080007e PROVIDE (__data_end, .)
0x00800074 PROVIDE (__data_end, .)
.bss 0x00800074 0x0 .bss 0x0080007e 0x4
0x00800074 PROVIDE (__bss_start, .) 0x0080007e PROVIDE (__bss_start, .)
*(.bss) *(.bss)
.bss 0x0080007e 0x4 Mainboard.o
0x0080007e s
0x0080007f m
0x00800080 u
0x00800081 timer
*(.bss*) *(.bss*)
*(COMMON) *(COMMON)
0x00800074 PROVIDE (__bss_end, .) 0x00800082 PROVIDE (__bss_end, .)
0x00000108 __data_load_start = LOADADDR (.data) 0x000007da __data_load_start = LOADADDR (.data)
0x0000011c __data_load_end = (__data_load_start + SIZEOF (.data)) 0x000007f8 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x00800074 0x0 .noinit 0x00800082 0x0
0x00800074 PROVIDE (__noinit_start, .) 0x00800082 PROVIDE (__noinit_start, .)
*(.noinit*) *(.noinit*)
0x00800074 PROVIDE (__noinit_end, .) 0x00800082 PROVIDE (__noinit_end, .)
0x00800074 _end = . 0x00800082 _end = .
0x00800074 PROVIDE (__heap_start, .) 0x00800082 PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0 .eeprom 0x00810000 0x0
*(.eeprom*) *(.eeprom*)
@ -369,13 +462,19 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.user_signatures .user_signatures
*(.user_signatures*) *(.user_signatures*)
.stab 0x00000000 0x6cc .stab 0x00000000 0xc84
*(.stab) *(.stab)
.stab 0x00000000 0x6cc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm16a.o .stab 0x00000000 0x6cc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm16a.o
.stab 0x000006cc 0x9c c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(strnlen_P.o)
0xa8 (size before relaxing)
.stab 0x00000768 0x9c c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(strnlen.o)
0xa8 (size before relaxing)
.stab 0x00000804 0x480 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(ultoa_invert.o)
0x48c (size before relaxing)
.stabstr 0x00000000 0x82 .stabstr 0x00000000 0x1aa
*(.stabstr) *(.stabstr)
.stabstr 0x00000000 0x82 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm16a.o .stabstr 0x00000000 0x1aa c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5/crtm16a.o
.stab.excl .stab.excl
*(.stab.excl) *(.stab.excl)
@ -393,6 +492,9 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
*(.comment) *(.comment)
.comment 0x00000000 0x2f Mainboard.o .comment 0x00000000 0x2f Mainboard.o
0x30 (size before relaxing) 0x30 (size before relaxing)
.comment 0x00000000 0x30 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(snprintf.o)
.comment 0x00000000 0x30 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o)
.comment 0x00000000 0x30 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(fputc.o)
.debug .debug
*(.debug) *(.debug)
@ -406,39 +508,66 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.debug_sfnames .debug_sfnames
*(.debug_sfnames) *(.debug_sfnames)
.debug_aranges 0x00000000 0x28 .debug_aranges 0x00000000 0xa0
*(.debug_aranges) *(.debug_aranges)
.debug_aranges .debug_aranges
0x00000000 0x28 Mainboard.o 0x00000000 0x40 Mainboard.o
.debug_aranges
0x00000040 0x20 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(snprintf.o)
.debug_aranges
0x00000060 0x20 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o)
.debug_aranges
0x00000080 0x20 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(fputc.o)
.debug_pubnames .debug_pubnames
*(.debug_pubnames) *(.debug_pubnames)
.debug_info 0x00000000 0x56a .debug_info 0x00000000 0xf20
*(.debug_info) *(.debug_info)
.debug_info 0x00000000 0x56a Mainboard.o .debug_info 0x00000000 0x647 Mainboard.o
.debug_info 0x00000647 0x21c c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(snprintf.o)
.debug_info 0x00000863 0x549 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o)
.debug_info 0x00000dac 0x174 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(fputc.o)
*(.gnu.linkonce.wi.*) *(.gnu.linkonce.wi.*)
.debug_abbrev 0x00000000 0x2c6 .debug_abbrev 0x00000000 0x78d
*(.debug_abbrev) *(.debug_abbrev)
.debug_abbrev 0x00000000 0x2c6 Mainboard.o .debug_abbrev 0x00000000 0x38d Mainboard.o
.debug_abbrev 0x0000038d 0x139 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(snprintf.o)
.debug_abbrev 0x000004c6 0x1d6 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o)
.debug_abbrev 0x0000069c 0xf1 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(fputc.o)
.debug_line 0x00000000 0x1e5 .debug_line 0x00000000 0x7f9
*(.debug_line) *(.debug_line)
.debug_line 0x00000000 0x1e5 Mainboard.o .debug_line 0x00000000 0x2c3 Mainboard.o
.debug_line 0x000002c3 0x15e c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(snprintf.o)
.debug_line 0x00000421 0x2fe c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o)
.debug_line 0x0000071f 0xda c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(fputc.o)
.debug_frame 0x00000000 0x34 .debug_frame 0x00000000 0x178
*(.debug_frame) *(.debug_frame)
.debug_frame 0x00000000 0x34 Mainboard.o .debug_frame 0x00000000 0xc4 Mainboard.o
.debug_frame 0x000000c4 0x30 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(snprintf.o)
.debug_frame 0x000000f4 0x4c c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o)
.debug_frame 0x00000140 0x38 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(fputc.o)
.debug_str 0x00000000 0x336 .debug_str 0x00000000 0x510
*(.debug_str) *(.debug_str)
.debug_str 0x00000000 0x336 Mainboard.o .debug_str 0x00000000 0x367 Mainboard.o
0x376 (size before relaxing) 0x3ad (size before relaxing)
.debug_str 0x00000367 0xa4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(snprintf.o)
0x130 (size before relaxing)
.debug_str 0x0000040b 0xb8 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o)
0x198 (size before relaxing)
.debug_str 0x000004c3 0x4d c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(fputc.o)
0xf8 (size before relaxing)
.debug_loc 0x00000000 0x1f .debug_loc 0x00000000 0x7d2
*(.debug_loc) *(.debug_loc)
.debug_loc 0x00000000 0x1f Mainboard.o .debug_loc 0x00000000 0x14e Mainboard.o
.debug_loc 0x0000014e 0x74 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(snprintf.o)
.debug_loc 0x000001c2 0x51d c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o)
.debug_loc 0x000006df 0xf3 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(fputc.o)
.debug_macinfo .debug_macinfo
*(.debug_macinfo) *(.debug_macinfo)
@ -446,9 +575,12 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.debug_pubtypes .debug_pubtypes
*(.debug_pubtypes) *(.debug_pubtypes)
.debug_ranges 0x00000000 0x18 .debug_ranges 0x00000000 0x60
*(.debug_ranges) *(.debug_ranges)
.debug_ranges 0x00000000 0x18 Mainboard.o .debug_ranges 0x00000000 0x30 Mainboard.o
.debug_ranges 0x00000030 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(snprintf.o)
.debug_ranges 0x00000040 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(vfprintf_std.o)
.debug_ranges 0x00000050 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr5\libc.a(fputc.o)
.debug_macro .debug_macro
*(.debug_macro) *(.debug_macro)

View File

@ -1,21 +1,130 @@
S01100004D61696E626F6172642E7372656386 S01100004D61696E626F6172642E7372656386
S11300000C942B000C9453000C9453000C94530048 S11300000C942B000C9453000C9453000C94530048
S11300100C9453000C9453000C9453000C94530010 S11300100C9453000C9453000C9453000C94530010
S11300200C9453000C9453000C9453000C94530000 S11300200C9453000C9477000C9453000C945300DC
S11300300C9453000C9453000C9453000C945300F0 S11300300C9453000C9453000C9453000C945300F0
S11300400C9453000C9453000C9453000C945300E0 S11300400C9453000C9453000C9453000C945300E0
S11300500C9453006D0011241FBECFE5D4E0DEBF25 S11300500C945300F80011241FBECFE5D4E0DEBF9A
S1130060CDBF10E0A0E6B0E0E8E0F1E002C005900A S1130060CDBF10E0A0E6B0E0EAEDF7E002C00590F5
S11300700D92A437B107D9F720E0A4E7B0E001C09E S11300700D92AE37B107D9F720E0AEE7B0E001C08A
S11300801D92A437B207E1F710E0C6E5D0E004C042 S11300801D92A238B207E1F710E0C6E5D0E004C043
S11300902297FE010E947E00C435D107C9F70E9451 S11300902297FE010E940401C435D107C9F70E94CA
S11300A055000C9482000C940000A09A91E085B352 S11300A065000C94EB030C940000FC0103C05D9B01
S11300B0892785BBE0E6F0E003C05D9BFECF8CB9E9 S11300B0FECF8CB981918111FACF089585E083BF79
S11300C081918111FACF2FEF31EE84E0215030403D S11300C012BE1CBE81E089BF089578940E945E0030
S11300D08040E1F700C00000EACF86E080BD539A7B S11300D0A09A91E085B3892785BB2FEF31EE84E0A8
S11300E083E389B9E6E6F0E003C05D9BFECF8CB9FB S11300E0215030408040E1F700C00000F3CF1F9260
S11300F081918111FACF0895EE0FFF1F0590F491BD S11300F00F920FB60F9211240F931F932F933F93D8
S10B0100E02D0994F894FFCFEF S11301004F935F936F937F938F939F93AF93BF931B
S1130108626C610D0A005561727420646F6E65211A S1130110EF93FF93CF93DF93CDB7DEB72C97DEBF7A
S10701180D0A0000C8 S1130120CDBF80918100813220F48F5F8093810064
S113013044C01092810080917E001F928F93809121
S11301407F001F928F93809160001F928F9381E6AE
S113015090E09F938F931F928CE08F938E010F5F9B
S11301601F4F1F930F930E940801C8010E9455005E
S113017080917E008F5F0FB6F894DEBF0FBECDBFB7
S11301808C3318F480937E0007C010927E00809117
S11301907F008F5F80937F0080917F008C3338F0E5
S11301A010927F00809160008F5F80936000809147
S11301B06000883110F0109260002C960FB6F8940D
S11301C0DEBF0FBECDBFDF91CF91FF91EF91BF9105
S11301D0AF919F918F917F916F915F914F913F91DB
S11301E02F911F910F910F900FBE0F901F90189594
S11301F086E080BD539A10BC83E389B982E790E01E
S11302000C945500EE0FFF1F0590F491E02D099416
S1130210AEE0B0E0EEE0F1E00C94C2030D891E897B
S11302208F89988D26E02C831A83098397FF02C057
S113023080E090E801979E838D83CE014B96AC01BC
S1130240698D7A8DCE0101960E9438014D815E81BF
S113025057FD0AC02F813885421753070CF49A01C1
S1130260F801E20FF31F10822E96E4E00C94DE03F3
S1130270ACE0B0E0EEE3F1E00C94B4037C016B017C
S11302808A01FC0117821682838181FFC6C18824FA
S11302908394912C8C0E9D1EF7019381F60193FD9E
S11302A0859193FF81916F01882309F4B2C185324E
S11302B039F493FD859193FF81916F01853229F47F
S11302C0B70190E00E942A03E7CF512C312C20E0A3
S11302D02032A8F48B3261F028F4803251F083325A
S11302E071F40BC08D3239F0803349F4216028C099
S11302F02260246025C0286023C0206121C027FD1E
S113030027C0382F30533A3078F426FF06C0FAE07D
S11303105F9E300D1124532E13C08AE0389E300D99
S11303201124332E20620CC08E3221F426FD71C1BB
S1130330206406C08C3611F4206802C0883641F46B
S1130340F60193FD859193FF81916F018111C0CFD7
S1130350982F9554933018F09052933028F40C5FF2
S11303601F4FFFE3F9830DC0833631F0833771F0FB
S1130370833509F05EC023C0F801808189830E5F54
S11303801F4F44244394512C540115C03801F2E00A
S11303906F0E711CF801A080B18026FF03C0652D8B
S11303A070E002C06FEF7FEFC5012C870E941F032E
S11303B02C0183012C856FE7262E222218C03801D8
S11303C0F2E06F0E711CF801A080B18026FF03C01B
S11303D0652D70E002C06FEF7FEFC5012C870E948E
S11303E014032C012C8550E8252E222A830123FC9A
S11303F01CC006C0B70180E290E00E942A033A9430
S1130400832D90E048165906A8F30FC0F50127FC88
S1130410859127FE81915F01B70190E00E942A0334
S113042031103A94F1E04F1A51084114510471F714
S1130430EDC0843611F0893641F5F80127FF07C075
S113044060817181828193810C5F1F4F08C060813C
S11304507181882777FD8095982F0E5F1F4F4FE697
S1130460B42EB22297FF09C090958095709561953E
S11304707F4F8F4F9F4FF0E8BF2A2AE030E0A4015E
S11304800E945603A82EA81843C0853731F43FEEC6
S1130490B32EB2222AE030E024C099EFB92EB22262
S11304A08F36B9F020F4883509F0B3C00DC0803719
S11304B021F0883709F0ADC002C020E1B22AB4FEB1
S11304C00BC084E0B82A08C024FF09C0E6E0BE2AB5
S11304D006C028E030E005C020E130E002C020E1A1
S11304E032E0F801B7FE07C0608171818281938197
S11304F00C5F1F4F06C06081718180E090E00E5F49
S11305001F4FA4010E945603A82EA818FFE7BF227C
S1130510B6FE0BC02B2D2E7FA51450F4B4FE0AC0DA
S1130520B2FC08C02B2D2E7E05C07A2C2B2D03C0C7
S11305307A2C01C0752C24FF0DC0FE01EA0DF11DBB
S11305408081803311F4297E09C022FF06C0739490
S1130550739404C0822F867809F0739423FD14C029
S113056020FF0FC05A2C731460F4530C5718732CCB
S113057008C0B70180E290E02C870E942A0373949C
S11305802C857314B0F304C0731410F4371801C02D
S1130590312C24FF12C0B70180E390E02C870E9425
S11305A02A032C8522FF1EC021FF03C088E590E0AA
S11305B002C088E790E0B7010CC0822F867891F0E2
S11305C021FD02C080E201C08BE227FD8DE2B7016C
S11305D090E00E942A0306C0B70180E390E00E94E5
S11305E02A035A94A514C0F3AA94F401EA0DF11D48
S11305F0B701808190E00E942A03A110F5CF06C0C4
S1130600B70180E290E00E942A033A943110F8CFB7
S113061043CEF7012681378102C02FEF3FEFC90196
S11306202C96E2E10C94D003FC01059061507040DB
S11306300110D8F7809590958E0F9F1F0895FC01A7
S11306406150704001900110D8F7809590958E0FFD
S11306509F1F08950F931F93CF93DF938C01EB019A
S11306608B8181FD03C00FEF1FEF1AC082FF0DC005
S11306702E813F818C819D812817390764F4E8819C
S1130680F9810193F983E88306C0E885F985802F11
S11306900995892B41F78E819F8101969F838E83D3
S11306A0C801DF91CF911F910F910895FA01AA27F4
S11306B0283051F1203181F1E8946F936E7F6E5FA1
S11306C07F4F8F4F9F4FAF4FB1E03ED0B4E03CD04F
S11306D0670F781F891F9A1FA11D680F791F8A1F32
S11306E0911DA11D6A0F711D811D911DA11D20D099
S11306F009F468943F912AE0269F11243019305D53
S11307003193DEF6CF010895462F4770405D419343
S1130710B3E00FD0C9F7F6CF462F4F70405D4A3390
S113072018F0495D31FD4052419302D0A9F7EACF58
S1130730B4E0A6959795879577956795BA95C9F787
S113074000976105710508959B01AC010A2E06947A
S11307505795479537952795BA95C9F7620F731F33
S1130760841F951FA01D08952F923F924F925F9270
S11307706F927F928F929F92AF92BF92CF92DF92AD
S1130780EF92FF920F931F93CF93DF93CDB7DEB712
S1130790CA1BDB0B0FB6F894DEBF0FBECDBF0994A6
S11307A02A88398848885F846E847D848C849B84FD
S11307B0AA84B984C884DF80EE80FD800C811B810B
S11307C0AA81B981CE0FD11D0FB6F894DEBF0FBE3A
S10D07D0CDBFED010895F894FFCFAA
S11307DA0C74253032643A253032643A2530326456
S11107EA0A005561727420646F6E65210A0066
S9030000FC S9030000FC

View File

@ -11,19 +11,62 @@
#include <util/delay.h> #include <util/delay.h>
uint8_t timer = 0;
///////////////////////// UART //////////////////////////////////// ///////////////////////// UART ////////////////////////////////////
typedef Uart<9600> uartclass; typedef Uart<9600> uartclass;
uartclass u; uartclass u;
typedef avrlib::pin<avrlib::portc, PINC0> led; typedef avrlib::pin<avrlib::portc, PINC0> led;
void init()
{
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 15,625 kHz
// Mode: Normal top=0xFF
// OC0 output: Disconnected
// Timer Period: 16,384 ms
TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (1<<CS02) | (0<<CS01) | (1<<CS00);
TCNT0=0x00;
OCR0=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<OCIE0) | (1<<TOIE0);
}
int main(void) int main(void)
{ {
sei();
init();
led::make_output(); led::make_output();
while(1) while(1)
{ {
led::toggle(); led::toggle();
u.send("bla\r\n");
_delay_ms(200); _delay_ms(200);
} }
}
uint8_t h = 12;
uint8_t m = 0;
uint8_t s = 0;
ISR(TIMER0_OVF_vect) {
if(timer++ > 32) {
timer = 0;
char t[12];
snprintf(t, sizeof(t), "t%02d:%02d:%02d\n", h, m, s);
u.send(t);
s++;
if(s >= 60) {
s = 0;
m++;
}
if(m >= 60) {
m = 0;
h++;
}
if(h >= 24) {
h = 0;
}
}
} }

View File

@ -18,7 +18,8 @@
<ToolchainFlavour>Native</ToolchainFlavour> <ToolchainFlavour>Native</ToolchainFlavour>
<KeepTimersRunning>true</KeepTimersRunning> <KeepTimersRunning>true</KeepTimersRunning>
<OverrideVtor>false</OverrideVtor> <OverrideVtor>false</OverrideVtor>
<OverrideVtorValue>exception_table</OverrideVtorValue> <OverrideVtorValue>
</OverrideVtorValue>
<eraseonlaunchrule>0</eraseonlaunchrule> <eraseonlaunchrule>0</eraseonlaunchrule>
<ProgFlashFromRam>true</ProgFlashFromRam> <ProgFlashFromRam>true</ProgFlashFromRam>
<RamSnippetAddress>0x20000000</RamSnippetAddress> <RamSnippetAddress>0x20000000</RamSnippetAddress>
@ -104,42 +105,42 @@
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ToolchainSettings> <ToolchainSettings>
<AvrGccCpp> <AvrGccCpp>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex> <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss> <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep> <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec> <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned> <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned> <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.symbols.DefSymbols> <avrgcc.compiler.symbols.DefSymbols>
<ListValues> <ListValues>
<Value>DEBUG</Value> <Value>DEBUG</Value>
</ListValues> </ListValues>
</avrgcc.compiler.symbols.DefSymbols> </avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level> <avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers> <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum> <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel> <avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings> <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned> <avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned> <avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcccpp.compiler.symbols.DefSymbols> <avrgcccpp.compiler.symbols.DefSymbols>
<ListValues> <ListValues>
<Value>DEBUG</Value> <Value>DEBUG</Value>
</ListValues> </ListValues>
</avrgcccpp.compiler.symbols.DefSymbols> </avrgcccpp.compiler.symbols.DefSymbols>
<avrgcccpp.compiler.optimization.level>Optimize for size (-Os)</avrgcccpp.compiler.optimization.level> <avrgcccpp.compiler.optimization.level>Optimize for size (-Os)</avrgcccpp.compiler.optimization.level>
<avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers> <avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers>
<avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum> <avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcccpp.compiler.optimization.DebugLevel>Default (-g2)</avrgcccpp.compiler.optimization.DebugLevel> <avrgcccpp.compiler.optimization.DebugLevel>Default (-g2)</avrgcccpp.compiler.optimization.DebugLevel>
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings> <avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
<avrgcccpp.linker.libraries.Libraries> <avrgcccpp.linker.libraries.Libraries>
<ListValues> <ListValues>
<Value>libm</Value> <Value>libm</Value>
</ListValues> </ListValues>
</avrgcccpp.linker.libraries.Libraries> </avrgcccpp.linker.libraries.Libraries>
<avrgcccpp.linker.memorysettings.Comment>&lt;segmentname&gt;=&lt;address&gt;, for example .boot=0xff</avrgcccpp.linker.memorysettings.Comment> <avrgcccpp.linker.memorysettings.Comment>&lt;segmentname&gt;=&lt;address&gt;, for example .boot=0xff</avrgcccpp.linker.memorysettings.Comment>
<avrgcccpp.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcccpp.assembler.debugging.DebugLevel> <avrgcccpp.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcccpp.assembler.debugging.DebugLevel>
</AvrGccCpp> </AvrGccCpp>
</ToolchainSettings> </ToolchainSettings>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@ -12,13 +12,14 @@
#include "config.h" #include "config.h"
#include <stdio.h> #include <stdio.h>
#include <avr/io.h> #include <avr/io.h>
#include <avr/interrupt.h>
template <uint32_t baudrate> template <uint32_t baudrate>
class Uart { class Uart {
public: public:
Uart() { Uart() {
init(); init();
send("Uart done!\r\n"); send("Uart done!\n");
} }
void send(const char *text) { void send(const char *text) {
while (*text) while (*text)
@ -31,7 +32,8 @@ class Uart {
void init() { void init() {
UCSRC = (1 << UCSZ1) | (1 << UCSZ0); //8N1 UCSRC = (1 << UCSZ1) | (1 << UCSZ0); //8N1
UCSRB |= /*(1<<RXEN1) | (1<<RXCIE1) | */ (1<<TXEN); //Enable TXEN im Register UCR TX-Data Enable UCSRB |= /*(1<<RXEN1) | (1<<RXCIE1) | */ (1<<TXEN); //Enable TXEN im Register UCR TX-Data Enable
UBRRL = (F_CPU / (baudrate * 16L) - 1); //Teiler wird gesetzt UBRRH = (uint8_t)(((F_CPU / 16 / baudrate) - 1)>>8);
UBRRL = (uint8_t)(F_CPU / 16 / baudrate) - 1; //Teiler wird gesetzt
} }
uint8_t uart_putchar(uint8_t c) { uint8_t uart_putchar(uint8_t c) {
loop_until_bit_is_set(UCSRA, UDRE); //Ausgabe des Zeichens loop_until_bit_is_set(UCSRA, UDRE); //Ausgabe des Zeichens

20
Zahl/Zahl.atsln Normal file
View File

@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Atmel Studio Solution File, Format Version 11.00
Project("{E66E83B9-2572-4076-B26E-6BE79FF3018A}") = "Zahl", "Zahl\Zahl.cppproj", "{9FF39802-3DEB-4AA7-8272-69FB38CC4A40}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|AVR = Debug|AVR
Release|AVR = Release|AVR
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9FF39802-3DEB-4AA7-8272-69FB38CC4A40}.Debug|AVR.ActiveCfg = Debug|AVR
{9FF39802-3DEB-4AA7-8272-69FB38CC4A40}.Debug|AVR.Build.0 = Debug|AVR
{9FF39802-3DEB-4AA7-8272-69FB38CC4A40}.Release|AVR.ActiveCfg = Release|AVR
{9FF39802-3DEB-4AA7-8272-69FB38CC4A40}.Release|AVR.Build.0 = Release|AVR
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

BIN
Zahl/Zahl.atsuo Normal file

Binary file not shown.

126
Zahl/Zahl/Debug/Makefile Normal file
View File

@ -0,0 +1,126 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
SHELL := cmd.exe
RM := rm -rf
USER_OBJS :=
LIBS :=
PROJ :=
O_SRCS :=
C_SRCS :=
S_SRCS :=
S_UPPER_SRCS :=
OBJ_SRCS :=
ASM_SRCS :=
PREPROCESSING_SRCS :=
OBJS :=
OBJS_AS_ARGS :=
C_DEPS :=
C_DEPS_AS_ARGS :=
EXECUTABLES :=
OUTPUT_FILE_PATH :=
OUTPUT_FILE_PATH_AS_ARGS :=
AVR_APP_PATH :=$$$AVR_APP_PATH$$$
QUOTE := "
ADDITIONAL_DEPENDENCIES:=
OUTPUT_FILE_DEP:=
LIB_DEP:=
# Every subdirectory with source files must be described here
SUBDIRS :=
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../Zahl.cpp
PREPROCESSING_SRCS +=
ASM_SRCS +=
OBJS += \
Zahl.o
OBJS_AS_ARGS += \
Zahl.o
C_DEPS += \
Zahl.d
C_DEPS_AS_ARGS += \
Zahl.d
OUTPUT_FILE_PATH +=Zahl.elf
OUTPUT_FILE_PATH_AS_ARGS +=Zahl.elf
ADDITIONAL_DEPENDENCIES:=
OUTPUT_FILE_DEP:= ./makedep.mk
LIB_DEP+=
# AVR32/GNU C Compiler
./%.o: .././%.cpp
@echo Building file: $<
@echo Invoking: AVR8/GNU C++ Compiler :
$(QUOTE)C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-g++.exe$(QUOTE) -funsigned-char -funsigned-bitfields -DDEBUG -Os -ffunction-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny2313 -c -std=c++11 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o"$@" "$<"
@echo Finished building: $<
# AVR32/GNU Preprocessing Assembler
# AVR32/GNU Assembler
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
endif
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP)
@echo Building target: $@
@echo Invoking: AVR8/GNU Linker :
$(QUOTE)C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-g++.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="Zahl.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=attiny2313
@echo Finished building target: $@
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature "Zahl.elf" "Zahl.hex"
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "Zahl.elf" "Zahl.eep" || exit 0
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "Zahl.elf" > "Zahl.lss"
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature "Zahl.elf" "Zahl.srec"
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-size.exe" "Zahl.elf"
# Other Targets
clean:
-$(RM) $(OBJS_AS_ARGS)$(C_DEPS_AS_ARGS) $(EXECUTABLES)
rm -rf "Zahl.elf" "Zahl.a" "Zahl.hex" "Zahl.lss" "Zahl.eep" "Zahl.map" "Zahl.srec"

67
Zahl/Zahl/Debug/Zahl.d Normal file
View File

@ -0,0 +1,67 @@
Zahl.d Zahl.o: .././Zahl.cpp .././config.h .././Led.hpp .././pin.hpp \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/sfr_defs.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/inttypes.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdint.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdint.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/iotn2313.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/portpins.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/common.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/interrupt.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay_basic.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/math.h \
.././uart.hpp \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdio.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdarg.h \
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stddef.h \
.././portb.hpp
.././config.h:
.././Led.hpp:
.././pin.hpp:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/sfr_defs.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/inttypes.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdint.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdint.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/iotn2313.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/portpins.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/common.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/interrupt.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay_basic.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/math.h:
.././uart.hpp:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdio.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdarg.h:
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stddef.h:
.././portb.hpp:

1
Zahl/Zahl/Debug/Zahl.eep Normal file
View File

@ -0,0 +1 @@
:00000001FF

BIN
Zahl/Zahl/Debug/Zahl.elf Normal file

Binary file not shown.

31
Zahl/Zahl/Debug/Zahl.hex Normal file
View File

@ -0,0 +1,31 @@
:1000000013C035C034C033C032C031C054C02FC05B
:100010002EC02DC02CC02BC02AC029C028C027C08C
:1000200026C025C024C09D0011241FBECFEDCDBF2A
:1000300010E0A0E6B0E0E4EAF1E002C005900D9225
:10004000A438B107D9F720E0A4E8B0E001C01D92C0
:10005000A43AB207E1F710E0C8E2D0E003C022976B
:10006000FE019AD0C632D107D1F702D099C0C8CFCD
:100070007894109284008CEA8093850090E002C00E
:1000800080E0982FE0E7F0E003C05D9BFECF8CB9E5
:1000900081918111FACF892F8F5F909384002FE790
:1000A00034E89EE1215030409040E1F700C000006C
:1000B000803130F7E6CF1F920F920FB60F921124C6
:1000C0002F933F934F935F936F938F939F93EF93F0
:1000D000FF9380E00CC0E0918400F0E0EC57FF4F0C
:1000E000928198BB96E09A95F1F700C08F5F90914E
:1000F0008500891780F360E04FEF50E006C018BA22
:10010000E6E0EA95F1F700C06F5F262F30E08091BE
:100110008500FA01E81BF1092E173F0784F3FF91D0
:10012000EF919F918F916F915F914F913F912F919F
:100130000F900FBE0F901F9018951092960010927E
:100140009700789486E083B988E08AB912B881E88C
:1001500089B9E7E7F0E003C05D9BFECF8CB98191E0
:100160008111FACF109284001092850080E1E0E6C0
:10017000F0E0A6E8B0E001900D928A95E1F78FE7F4
:1001800087BB10BE83E083BF12BE16BE1CBE82E0DA
:1001900089BF0895EE0FFF1F0590F491E02D09949B
:0401A000F894FFCF01
:1001A4007B036E4F175D7D0B7F5F3F7578677C3CEB
:1001B400626C612E2E0A005561727420646F6E6544
:0401C400210A00000C
:00000001FF

412
Zahl/Zahl/Debug/Zahl.lss Normal file
View File

@ -0,0 +1,412 @@
Zahl.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000001a4 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000024 00800060 000001a4 00000238 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000020 00800084 00800084 0000025c 2**0
ALLOC
3 .stab 000006b4 00000000 00000000 0000025c 2**2
CONTENTS, READONLY, DEBUGGING
4 .stabstr 00000082 00000000 00000000 00000910 2**0
CONTENTS, READONLY, DEBUGGING
5 .comment 0000002f 00000000 00000000 00000992 2**0
CONTENTS, READONLY
6 .debug_aranges 00000030 00000000 00000000 000009c1 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_info 00000961 00000000 00000000 000009f1 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_abbrev 00000333 00000000 00000000 00001352 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_line 00000230 00000000 00000000 00001685 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_frame 0000007c 00000000 00000000 000018b8 2**2
CONTENTS, READONLY, DEBUGGING
11 .debug_str 00000441 00000000 00000000 00001934 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_loc 00000299 00000000 00000000 00001d75 2**0
CONTENTS, READONLY, DEBUGGING
13 .debug_ranges 00000020 00000000 00000000 0000200e 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 13 c0 rjmp .+38 ; 0x28 <__ctors_end>
2: 35 c0 rjmp .+106 ; 0x6e <__bad_interrupt>
4: 34 c0 rjmp .+104 ; 0x6e <__bad_interrupt>
6: 33 c0 rjmp .+102 ; 0x6e <__bad_interrupt>
8: 32 c0 rjmp .+100 ; 0x6e <__bad_interrupt>
a: 31 c0 rjmp .+98 ; 0x6e <__bad_interrupt>
c: 54 c0 rjmp .+168 ; 0xb6 <__vector_6>
e: 2f c0 rjmp .+94 ; 0x6e <__bad_interrupt>
10: 2e c0 rjmp .+92 ; 0x6e <__bad_interrupt>
12: 2d c0 rjmp .+90 ; 0x6e <__bad_interrupt>
14: 2c c0 rjmp .+88 ; 0x6e <__bad_interrupt>
16: 2b c0 rjmp .+86 ; 0x6e <__bad_interrupt>
18: 2a c0 rjmp .+84 ; 0x6e <__bad_interrupt>
1a: 29 c0 rjmp .+82 ; 0x6e <__bad_interrupt>
1c: 28 c0 rjmp .+80 ; 0x6e <__bad_interrupt>
1e: 27 c0 rjmp .+78 ; 0x6e <__bad_interrupt>
20: 26 c0 rjmp .+76 ; 0x6e <__bad_interrupt>
22: 25 c0 rjmp .+74 ; 0x6e <__bad_interrupt>
24: 24 c0 rjmp .+72 ; 0x6e <__bad_interrupt>
00000026 <__ctors_start>:
26: 9d 00 .word 0x009d ; ????
00000028 <__ctors_end>:
28: 11 24 eor r1, r1
2a: 1f be out 0x3f, r1 ; 63
2c: cf ed ldi r28, 0xDF ; 223
2e: cd bf out 0x3d, r28 ; 61
00000030 <__do_copy_data>:
30: 10 e0 ldi r17, 0x00 ; 0
32: a0 e6 ldi r26, 0x60 ; 96
34: b0 e0 ldi r27, 0x00 ; 0
36: e4 ea ldi r30, 0xA4 ; 164
38: f1 e0 ldi r31, 0x01 ; 1
3a: 02 c0 rjmp .+4 ; 0x40 <__SREG__+0x1>
3c: 05 90 lpm r0, Z+
3e: 0d 92 st X+, r0
40: a4 38 cpi r26, 0x84 ; 132
42: b1 07 cpc r27, r17
44: d9 f7 brne .-10 ; 0x3c <__do_copy_data+0xc>
00000046 <__do_clear_bss>:
46: 20 e0 ldi r18, 0x00 ; 0
48: a4 e8 ldi r26, 0x84 ; 132
4a: b0 e0 ldi r27, 0x00 ; 0
4c: 01 c0 rjmp .+2 ; 0x50 <.do_clear_bss_start>
0000004e <.do_clear_bss_loop>:
4e: 1d 92 st X+, r1
00000050 <.do_clear_bss_start>:
50: a4 3a cpi r26, 0xA4 ; 164
52: b2 07 cpc r27, r18
54: e1 f7 brne .-8 ; 0x4e <.do_clear_bss_loop>
00000056 <__do_global_ctors>:
56: 10 e0 ldi r17, 0x00 ; 0
58: c8 e2 ldi r28, 0x28 ; 40
5a: d0 e0 ldi r29, 0x00 ; 0
5c: 03 c0 rjmp .+6 ; 0x64 <__do_global_ctors+0xe>
5e: 22 97 sbiw r28, 0x02 ; 2
60: fe 01 movw r30, r28
62: 9a d0 rcall .+308 ; 0x198 <__tablejump__>
64: c6 32 cpi r28, 0x26 ; 38
66: d1 07 cpc r29, r17
68: d1 f7 brne .-12 ; 0x5e <__do_global_ctors+0x8>
6a: 02 d0 rcall .+4 ; 0x70 <main>
6c: 99 c0 rjmp .+306 ; 0x1a0 <_exit>
0000006e <__bad_interrupt>:
6e: c8 cf rjmp .-112 ; 0x0 <__vectors>
00000070 <main>:
typedef Led<avrlib::portb> ledclass;
ledclass l;
int main(void)
{
sei();
70: 78 94 sei
public:
Led() {
init();
}
void setNum(uint8_t number) {
this->diget = number;
72: 10 92 84 00 sts 0x0084, r1
}
void setDim(uint8_t dimmer) {
this->dim = dimmer;
76: 8c ea ldi r24, 0xAC ; 172
78: 80 93 85 00 sts 0x0085, r24
l.setNum(0);
l.setDim(0xAC);
uint8_t i = 0;
7c: 90 e0 ldi r25, 0x00 ; 0
7e: 02 c0 rjmp .+4 ; 0x84 <main+0x14>
{
u.send("bla..\n");
l.setNum(i++);
_delay_ms(500);
if(i > 15) {
i = 0;
80: 80 e0 ldi r24, 0x00 ; 0
82: 98 2f mov r25, r24
84: e0 e7 ldi r30, 0x70 ; 112
86: f0 e0 ldi r31, 0x00 ; 0
88: 03 c0 rjmp .+6 ; 0x90 <main+0x20>
UCSRB = /*(1<<RXEN1) | / (1<<RXCIE) | */ (1<<TXEN); //Enable TXEN im Register UCR TX-Data Enable
UBRRH = (uint8_t)(((F_CPU / 16 / baudrate) - 1)>>8);
UBRRL = (uint8_t)(F_CPU / 16 / baudrate) - 1; //Teiler wird gesetzt
}
uint8_t uart_putchar(uint8_t c) {
loop_until_bit_is_set(UCSRA, UDRE); //Ausgabe des Zeichens
8a: 5d 9b sbis 0x0b, 5 ; 11
8c: fe cf rjmp .-4 ; 0x8a <main+0x1a>
UDR = c;
8e: 8c b9 out 0x0c, r24 ; 12
sei();
init();
send("Uart done!\n");
}
void send(const char *text) {
while (*text)
90: 81 91 ld r24, Z+
92: 81 11 cpse r24, r1
94: fa cf rjmp .-12 ; 0x8a <main+0x1a>
l.setDim(0xAC);
uint8_t i = 0;
while(1)
{
u.send("bla..\n");
l.setNum(i++);
96: 89 2f mov r24, r25
98: 8f 5f subi r24, 0xFF ; 255
public:
Led() {
init();
}
void setNum(uint8_t number) {
this->diget = number;
9a: 90 93 84 00 sts 0x0084, r25
#else
//round up by default
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
#endif
__builtin_avr_delay_cycles(__ticks_dc);
9e: 2f e7 ldi r18, 0x7F ; 127
a0: 34 e8 ldi r19, 0x84 ; 132
a2: 9e e1 ldi r25, 0x1E ; 30
a4: 21 50 subi r18, 0x01 ; 1
a6: 30 40 sbci r19, 0x00 ; 0
a8: 90 40 sbci r25, 0x00 ; 0
aa: e1 f7 brne .-8 ; 0xa4 <main+0x34>
ac: 00 c0 rjmp .+0 ; 0xae <main+0x3e>
ae: 00 00 nop
_delay_ms(500);
if(i > 15) {
b0: 80 31 cpi r24, 0x10 ; 16
b2: 30 f7 brcc .-52 ; 0x80 <main+0x10>
b4: e6 cf rjmp .-52 ; 0x82 <main+0x12>
000000b6 <__vector_6>:
i = 0;
}
}
}
ISR(TIMER0_OVF_vect) {
b6: 1f 92 push r1
b8: 0f 92 push r0
ba: 0f b6 in r0, 0x3f ; 63
bc: 0f 92 push r0
be: 11 24 eor r1, r1
c0: 2f 93 push r18
c2: 3f 93 push r19
c4: 4f 93 push r20
c6: 5f 93 push r21
c8: 6f 93 push r22
ca: 8f 93 push r24
cc: 9f 93 push r25
ce: ef 93 push r30
d0: ff 93 push r31
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=(0<<TOIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<ICIE1) | (0<<OCIE0B) | (1<<TOIE0) | (0<<OCIE0A);
}
/* TIMER0_OVF_vect */
void timer() {
for(uint8_t k=0;k<this->dim;k++) {
d2: 80 e0 ldi r24, 0x00 ; 0
d4: 0c c0 rjmp .+24 ; 0xee <__stack+0xf>
Port::port(segs[this->diget]);
d6: e0 91 84 00 lds r30, 0x0084
da: f0 e0 ldi r31, 0x00 ; 0
dc: ec 57 subi r30, 0x7C ; 124
de: ff 4f sbci r31, 0xFF ; 255
e0: 92 81 ldd r25, Z+2 ; 0x02
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
e2: 98 bb out 0x18, r25 ; 24
#else
//round up by default
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
#endif
__builtin_avr_delay_cycles(__ticks_dc);
e4: 96 e0 ldi r25, 0x06 ; 6
e6: 9a 95 dec r25
e8: f1 f7 brne .-4 ; 0xe6 <__stack+0x7>
ea: 00 c0 rjmp .+0 ; 0xec <__stack+0xd>
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=(0<<TOIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<ICIE1) | (0<<OCIE0B) | (1<<TOIE0) | (0<<OCIE0A);
}
/* TIMER0_OVF_vect */
void timer() {
for(uint8_t k=0;k<this->dim;k++) {
ec: 8f 5f subi r24, 0xFF ; 255
ee: 90 91 85 00 lds r25, 0x0085
f2: 89 17 cp r24, r25
f4: 80 f3 brcs .-32 ; 0xd6 <__vector_6+0x20>
f6: 60 e0 ldi r22, 0x00 ; 0
Port::port(segs[this->diget]);
_delay_us(1);
}
for(uint8_t k=0;k<255-this->dim;k++) {
f8: 4f ef ldi r20, 0xFF ; 255
fa: 50 e0 ldi r21, 0x00 ; 0
fc: 06 c0 rjmp .+12 ; 0x10a <__stack+0x2b>
fe: 18 ba out 0x18, r1 ; 24
100: e6 e0 ldi r30, 0x06 ; 6
102: ea 95 dec r30
104: f1 f7 brne .-4 ; 0x102 <__stack+0x23>
106: 00 c0 rjmp .+0 ; 0x108 <__stack+0x29>
108: 6f 5f subi r22, 0xFF ; 255
10a: 26 2f mov r18, r22
10c: 30 e0 ldi r19, 0x00 ; 0
10e: 80 91 85 00 lds r24, 0x0085
112: fa 01 movw r30, r20
114: e8 1b sub r30, r24
116: f1 09 sbc r31, r1
118: 2e 17 cp r18, r30
11a: 3f 07 cpc r19, r31
11c: 84 f3 brlt .-32 ; 0xfe <__stack+0x1f>
l.timer();
}
11e: ff 91 pop r31
120: ef 91 pop r30
122: 9f 91 pop r25
124: 8f 91 pop r24
126: 6f 91 pop r22
128: 5f 91 pop r21
12a: 4f 91 pop r20
12c: 3f 91 pop r19
12e: 2f 91 pop r18
130: 0f 90 pop r0
132: 0f be out 0x3f, r0 ; 63
134: 0f 90 pop r0
136: 1f 90 pop r1
138: 18 95 reti
0000013a <_GLOBAL__sub_I_u>:
#include <avr/interrupt.h>
template <uint32_t baudrate, uint8_t diget>
class Uart {
public:
Uart() {
13a: 10 92 96 00 sts 0x0096, r1
13e: 10 92 97 00 sts 0x0097, r1
sei();
142: 78 94 sei
uint8_t number = 0;
static const uint8_t UART_MAXSTRLEN = 12;
uint8_t uart_str_count = 0;
uint8_t uart_string[UART_MAXSTRLEN];
void init() {
UCSRC = (1 << UCSZ1) | (1 << UCSZ0); //8N1
144: 86 e0 ldi r24, 0x06 ; 6
146: 83 b9 out 0x03, r24 ; 3
UCSRB = /*(1<<RXEN1) | / (1<<RXCIE) | */ (1<<TXEN); //Enable TXEN im Register UCR TX-Data Enable
148: 88 e0 ldi r24, 0x08 ; 8
14a: 8a b9 out 0x0a, r24 ; 10
UBRRH = (uint8_t)(((F_CPU / 16 / baudrate) - 1)>>8);
14c: 12 b8 out 0x02, r1 ; 2
UBRRL = (uint8_t)(F_CPU / 16 / baudrate) - 1; //Teiler wird gesetzt
14e: 81 e8 ldi r24, 0x81 ; 129
150: 89 b9 out 0x09, r24 ; 9
152: e7 e7 ldi r30, 0x77 ; 119
154: f0 e0 ldi r31, 0x00 ; 0
156: 03 c0 rjmp .+6 ; 0x15e <_GLOBAL__sub_I_u+0x24>
}
uint8_t uart_putchar(uint8_t c) {
loop_until_bit_is_set(UCSRA, UDRE); //Ausgabe des Zeichens
158: 5d 9b sbis 0x0b, 5 ; 11
15a: fe cf rjmp .-4 ; 0x158 <_GLOBAL__sub_I_u+0x1e>
UDR = c;
15c: 8c b9 out 0x0c, r24 ; 12
sei();
init();
send("Uart done!\n");
}
void send(const char *text) {
while (*text)
15e: 81 91 ld r24, Z+
160: 81 11 cpse r24, r1
162: fa cf rjmp .-12 ; 0x158 <_GLOBAL__sub_I_u+0x1e>
#include <util/delay.h>
template <typename Port>
class Led {
public:
Led() {
164: 10 92 84 00 sts 0x0084, r1
168: 10 92 85 00 sts 0x0085, r1
16c: 80 e1 ldi r24, 0x10 ; 16
16e: e0 e6 ldi r30, 0x60 ; 96
170: f0 e0 ldi r31, 0x00 ; 0
172: a6 e8 ldi r26, 0x86 ; 134
174: b0 e0 ldi r27, 0x00 ; 0
176: 01 90 ld r0, Z+
178: 0d 92 st X+, r0
17a: 8a 95 dec r24
17c: e1 f7 brne .-8 ; 0x176 <_GLOBAL__sub_I_u+0x3c>
static uint8_t pin() { return PINB; }
static void pin(uint8_t v) { PINB = v; }
static uint8_t dir() { return DDRB; }
static void dir(uint8_t v) { DDRB = v; }
17e: 8f e7 ldi r24, 0x7F ; 127
180: 87 bb out 0x17, r24 ; 23
// Clock value: 312,500 kHz
// Mode: Normal top=0xFF
// OC0A output: Disconnected
// OC0B output: Disconnected
// Timer Period: 0,8192 ms
TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00);
182: 10 be out 0x30, r1 ; 48
TCCR0B=(0<<WGM02) | (0<<CS02) | (1<<CS01) | (1<<CS00);
184: 83 e0 ldi r24, 0x03 ; 3
186: 83 bf out 0x33, r24 ; 51
TCNT0=0x00;
188: 12 be out 0x32, r1 ; 50
OCR0A=0x00;
18a: 16 be out 0x36, r1 ; 54
OCR0B=0x00;
18c: 1c be out 0x3c, r1 ; 60
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=(0<<TOIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<ICIE1) | (0<<OCIE0B) | (1<<TOIE0) | (0<<OCIE0A);
18e: 82 e0 ldi r24, 0x02 ; 2
190: 89 bf out 0x39, r24 ; 57
192: 08 95 ret
00000194 <__tablejump2__>:
194: ee 0f add r30, r30
196: ff 1f adc r31, r31
00000198 <__tablejump__>:
198: 05 90 lpm r0, Z+
19a: f4 91 lpm r31, Z
19c: e0 2d mov r30, r0
19e: 09 94 ijmp
000001a0 <_exit>:
1a0: f8 94 cli
000001a2 <__stop_program>:
1a2: ff cf rjmp .-2 ; 0x1a2 <__stop_program>

459
Zahl/Zahl/Debug/Zahl.map Normal file
View File

@ -0,0 +1,459 @@
Archive member included because of file (symbol)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack/crttn2313.o (exit)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_copy_data.o)
Zahl.o (__do_copy_data)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_clear_bss.o)
Zahl.o (__do_clear_bss)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_ctors.o)
Zahl.o (__do_global_ctors)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_tablejump.o)
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_ctors.o) (__tablejump__)
Discarded input sections
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack/crttn2313.o
.text 0x00000000 0x0 Zahl.o
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
.text.libgcc.mul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
.text.libgcc.div
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
.text.libgcc.prologue
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
.text.libgcc.builtins
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
.text.libgcc.fmul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_copy_data.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_copy_data.o)
.text.libgcc.mul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_copy_data.o)
.text.libgcc.div
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_copy_data.o)
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_copy_data.o)
.text.libgcc.prologue
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_copy_data.o)
.text.libgcc.builtins
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_copy_data.o)
.text.libgcc.fmul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_copy_data.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_clear_bss.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_clear_bss.o)
.text.libgcc.mul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_clear_bss.o)
.text.libgcc.div
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_clear_bss.o)
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_clear_bss.o)
.text.libgcc.prologue
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_clear_bss.o)
.text.libgcc.builtins
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_clear_bss.o)
.text.libgcc.fmul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_clear_bss.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_ctors.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_ctors.o)
.text.libgcc.mul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_ctors.o)
.text.libgcc.div
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_ctors.o)
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_ctors.o)
.text.libgcc.prologue
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_ctors.o)
.text.libgcc.builtins
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_ctors.o)
.text.libgcc.fmul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_ctors.o)
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_tablejump.o)
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_tablejump.o)
.text.libgcc.mul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_tablejump.o)
.text.libgcc.div
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_tablejump.o)
.text.libgcc.prologue
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_tablejump.o)
.text.libgcc.builtins
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_tablejump.o)
.text.libgcc.fmul
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_tablejump.o)
Memory Configuration
Name Origin Length Attributes
text 0x00000000 0x00002000 xr
data 0x00800060 0x0000ffa0 rw !x
eeprom 0x00810000 0x00010000 rw !x
fuse 0x00820000 0x00000400 rw !x
lock 0x00830000 0x00000400 rw !x
signature 0x00840000 0x00000400 rw !x
user_signatures 0x00850000 0x00000400 rw !x
*default* 0x00000000 0xffffffff
Linker script and memory map
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack/crttn2313.o
LOAD Zahl.o
START GROUP
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack\libm.a
END GROUP
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack\libm.a
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack\libc.a
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\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 0x00000000 0x1a4
*(.vectors)
.vectors 0x00000000 0x26 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack/crttn2313.o
0x00000000 __vector_default
0x00000000 __vectors
*(.vectors)
*(.progmem.gcc*)
*(.progmem*)
0x00000026 . = ALIGN (0x2)
0x00000026 __trampolines_start = .
*(.trampolines)
.trampolines 0x00000026 0x0 linker stubs
*(.trampolines*)
0x00000026 __trampolines_end = .
*(.jumptables)
*(.jumptables*)
*(.lowtext)
*(.lowtext*)
0x00000026 __ctors_start = .
*(.ctors)
.ctors 0x00000026 0x2 Zahl.o
0x00000028 __ctors_end = .
0x00000028 __dtors_start = .
*(.dtors)
0x00000028 __dtors_end = .
SORT(*)(.ctors)
SORT(*)(.dtors)
*(.init0)
.init0 0x00000028 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack/crttn2313.o
0x00000028 __init
*(.init0)
*(.init1)
*(.init1)
*(.init2)
.init2 0x00000028 0x8 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack/crttn2313.o
*(.init2)
*(.init3)
*(.init3)
*(.init4)
.init4 0x00000030 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_copy_data.o)
0x00000030 __do_copy_data
.init4 0x00000046 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_clear_bss.o)
0x00000046 __do_clear_bss
*(.init4)
*(.init5)
*(.init5)
*(.init6)
.init6 0x00000056 0x14 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_ctors.o)
0x00000056 __do_global_ctors
*(.init6)
*(.init7)
*(.init7)
*(.init8)
*(.init8)
*(.init9)
.init9 0x0000006a 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack/crttn2313.o
*(.init9)
*(.text)
.text 0x0000006e 0x2 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack/crttn2313.o
0x0000006e __vector_1
0x0000006e __vector_12
0x0000006e __bad_interrupt
0x0000006e __vector_3
0x0000006e __vector_11
0x0000006e __vector_13
0x0000006e __vector_17
0x0000006e __vector_7
0x0000006e __vector_5
0x0000006e __vector_4
0x0000006e __vector_9
0x0000006e __vector_2
0x0000006e __vector_15
0x0000006e __vector_8
0x0000006e __vector_14
0x0000006e __vector_10
0x0000006e __vector_16
0x0000006e __vector_18
0x00000070 . = ALIGN (0x2)
*(.text.*)
.text.startup.main
0x00000070 0x46 Zahl.o
0x00000070 main
.text.__vector_6
0x000000b6 0x84 Zahl.o
0x000000b6 __vector_6
.text.startup._GLOBAL__sub_I_u
0x0000013a 0x5a Zahl.o
.text.libgcc 0x00000194 0xc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_tablejump.o)
0x00000194 __tablejump2__
0x00000198 __tablejump__
0x000001a0 . = ALIGN (0x2)
*(.fini9)
.fini9 0x000001a0 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
0x000001a0 _exit
0x000001a0 exit
*(.fini9)
*(.fini8)
*(.fini8)
*(.fini7)
*(.fini7)
*(.fini6)
*(.fini6)
*(.fini5)
*(.fini5)
*(.fini4)
*(.fini4)
*(.fini3)
*(.fini3)
*(.fini2)
*(.fini2)
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x000001a0 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
*(.fini0)
0x000001a4 _etext = .
.data 0x00800060 0x24 load address 0x000001a4
0x00800060 PROVIDE (__data_start, .)
*(.data)
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack/crttn2313.o
.data 0x00800060 0x0 Zahl.o
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_exit.o)
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_copy_data.o)
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_clear_bss.o)
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_ctors.o)
.data 0x00800060 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr25/tiny-stack\libgcc.a(_tablejump.o)
*(.data*)
*(.rodata)
.rodata 0x00800060 0x10 Zahl.o
*(.rodata*)
.rodata.str1.1
0x00800070 0x13 Zahl.o
*(.gnu.linkonce.d*)
0x00800084 . = ALIGN (0x2)
*fill* 0x00800083 0x1
0x00800084 _edata = .
0x00800084 PROVIDE (__data_end, .)
.bss 0x00800084 0x20
0x00800084 PROVIDE (__bss_start, .)
*(.bss)
.bss 0x00800084 0x20 Zahl.o
0x00800084 l
0x00800096 u
*(.bss*)
*(COMMON)
0x008000a4 PROVIDE (__bss_end, .)
0x000001a4 __data_load_start = LOADADDR (.data)
0x000001c8 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x008000a4 0x0
0x008000a4 PROVIDE (__noinit_start, .)
*(.noinit*)
0x008000a4 PROVIDE (__noinit_end, .)
0x008000a4 _end = .
0x008000a4 PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0
*(.eeprom*)
0x00810000 __eeprom_end = .
.fuse
*(.fuse)
*(.lfuse)
*(.hfuse)
*(.efuse)
.lock
*(.lock*)
.signature
*(.signature*)
.user_signatures
*(.user_signatures*)
.stab 0x00000000 0x6b4
*(.stab)
.stab 0x00000000 0x6b4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack/crttn2313.o
.stabstr 0x00000000 0x82
*(.stabstr)
.stabstr 0x00000000 0x82 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr25/tiny-stack/crttn2313.o
.stab.excl
*(.stab.excl)
.stab.exclstr
*(.stab.exclstr)
.stab.index
*(.stab.index)
.stab.indexstr
*(.stab.indexstr)
.comment 0x00000000 0x2f
*(.comment)
.comment 0x00000000 0x2f Zahl.o
0x30 (size before relaxing)
.debug
*(.debug)
.line
*(.line)
.debug_srcinfo
*(.debug_srcinfo)
.debug_sfnames
*(.debug_sfnames)
.debug_aranges 0x00000000 0x30
*(.debug_aranges)
.debug_aranges
0x00000000 0x30 Zahl.o
.debug_pubnames
*(.debug_pubnames)
.debug_info 0x00000000 0x961
*(.debug_info)
.debug_info 0x00000000 0x961 Zahl.o
*(.gnu.linkonce.wi.*)
.debug_abbrev 0x00000000 0x333
*(.debug_abbrev)
.debug_abbrev 0x00000000 0x333 Zahl.o
.debug_line 0x00000000 0x230
*(.debug_line)
.debug_line 0x00000000 0x230 Zahl.o
.debug_frame 0x00000000 0x7c
*(.debug_frame)
.debug_frame 0x00000000 0x7c Zahl.o
.debug_str 0x00000000 0x441
*(.debug_str)
.debug_str 0x00000000 0x441 Zahl.o
0x47a (size before relaxing)
.debug_loc 0x00000000 0x299
*(.debug_loc)
.debug_loc 0x00000000 0x299 Zahl.o
.debug_macinfo
*(.debug_macinfo)
.debug_pubtypes
*(.debug_pubtypes)
.debug_ranges 0x00000000 0x20
*(.debug_ranges)
.debug_ranges 0x00000000 0x20 Zahl.o
.debug_macro
*(.debug_macro)
OUTPUT(Zahl.elf elf32-avr)
LOAD linker stubs

32
Zahl/Zahl/Debug/Zahl.srec Normal file
View File

@ -0,0 +1,32 @@
S00C00005A61686C2E7372656389
S113000013C035C034C033C032C031C054C02FC057
S11300102EC02DC02CC02BC02AC029C028C027C088
S113002026C025C024C09D0011241FBECFEDCDBF26
S113003010E0A0E6B0E0E4EAF1E002C005900D9221
S1130040A438B107D9F720E0A4E8B0E001C01D92BC
S1130050A43AB207E1F710E0C8E2D0E003C0229767
S1130060FE019AD0C632D107D1F702D099C0C8CFC9
S11300707894109284008CEA8093850090E002C00A
S113008080E0982FE0E7F0E003C05D9BFECF8CB9E1
S113009081918111FACF892F8F5F909384002FE78C
S11300A034E89EE1215030409040E1F700C0000068
S11300B0803130F7E6CF1F920F920FB60F921124C2
S11300C02F933F934F935F936F938F939F93EF93EC
S11300D0FF9380E00CC0E0918400F0E0EC57FF4F08
S11300E0928198BB96E09A95F1F700C08F5F90914A
S11300F08500891780F360E04FEF50E006C018BA1E
S1130100E6E0EA95F1F700C06F5F262F30E08091BA
S11301108500FA01E81BF1092E173F0784F3FF91CC
S1130120EF919F918F916F915F914F913F912F919B
S11301300F900FBE0F901F9018951092960010927A
S11301409700789486E083B988E08AB912B881E888
S113015089B9E7E7F0E003C05D9BFECF8CB98191DC
S11301608111FACF109284001092850080E1E0E6BC
S1130170F0E0A6E8B0E001900D928A95E1F78FE7F0
S113018087BB10BE83E083BF12BE16BE1CBE82E0D6
S113019089BF0895EE0FFF1F0590F491E02D099497
S10701A0F894FFCFFD
S11301A47B036E4F175D7D0B7F5F3F7578677C3CE7
S11301B4626C612E2E0A005561727420646F6E6540
S10701C4210A000008
S9030000FC

View File

@ -0,0 +1,6 @@
################################################################################
# Automatically-generated file. Do not edit or delete the file
################################################################################
Zahl.cpp

90
Zahl/Zahl/Led.hpp Normal file
View File

@ -0,0 +1,90 @@
/*
* Led.h
*
* Created: 03.11.2013 17:11:58
* Author: BlubbFish
*/
#ifndef LED_H_
#define LED_H_
#include "config.h"
#include "pin.hpp"
#include <avr/interrupt.h>
#include <util/delay.h>
template <typename Port>
class Led {
public:
Led() {
init();
}
void setNum(uint8_t number) {
this->diget = number;
}
void setDim(uint8_t dimmer) {
this->dim = dimmer;
}
void intoff() {
TCCR0A = 0;
TCCR0B = 0;
TIMSK = 0;
}
void inton() {
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 312,500 kHz
// Mode: Normal top=0xFF
// OC0A output: Disconnected
// OC0B output: Disconnected
// Timer Period: 0,8192 ms
TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00);
TCCR0B=(0<<WGM02) | (0<<CS02) | (1<<CS01) | (1<<CS00);
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=(0<<TOIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<ICIE1) | (0<<OCIE0B) | (1<<TOIE0) | (0<<OCIE0A);
}
/* TIMER0_OVF_vect */
void timer() {
for(uint8_t k=0;k<this->dim;k++) {
Port::port(segs[this->diget]);
_delay_us(1);
}
for(uint8_t k=0;k<255-this->dim;k++) {
Port::port(0);
_delay_us(1);
}
}
private:
void init() {
Port::dir(0b01111111);
inton();
}
uint8_t diget = 0;
uint8_t dim = 0;
uint8_t segs[16] = {
0b01111011, //0
0b00000011, //1
0b01101110, //2
0b01001111, //3
0b00010111, //4
0b01011101, //5
0b01111101, //6
0b00001011, //7
0b01111111, //8
0b01011111, //9
0b00111111, //A
0b01110101, //B
0b01111000, //C
0b01100111, //D
0b01111100, //E
0b00111100 //F
};
};
#endif /* LED_H_ */

45
Zahl/Zahl/Zahl.cpp Normal file
View File

@ -0,0 +1,45 @@
/*
* Zahl.cpp
*
* Created: 09.12.2013 23:15:37
* Author: netz
*/
#include "config.h"
#include "Led.hpp"
#include "uart.hpp"
#include "portb.hpp"
///////////////////////// UART ////////////////////////////////////
typedef Uart<9600, 9> uartclass;
uartclass u;
///////////////////////// LED /////////////////////////////////////
typedef Led<avrlib::portb> ledclass;
ledclass l;
int main(void)
{
sei();
l.setNum(0);
l.setDim(0xAC);
uint8_t i = 0;
while(1)
{
u.send("bla..\n");
l.setNum(i++);
_delay_ms(500);
if(i > 15) {
i = 0;
}
}
}
ISR(TIMER0_OVF_vect) {
l.timer();
}
/*ISR(USART_RX_vect) {
//u.interrupt();
PORTB ^= 0xFF;
}*/

181
Zahl/Zahl/Zahl.cppproj Normal file
View File

@ -0,0 +1,181 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<SchemaVersion>2.0</SchemaVersion>
<ProjectVersion>6.1</ProjectVersion>
<ToolchainName>com.Atmel.AVRGCC8.CPP</ToolchainName>
<ProjectGuid>{9ff39802-3deb-4aa7-8272-69fb38cc4a40}</ProjectGuid>
<avrdevice>ATtiny2313</avrdevice>
<avrdeviceseries>none</avrdeviceseries>
<OutputType>Executable</OutputType>
<Language>CPP</Language>
<OutputFileName>$(MSBuildProjectName)</OutputFileName>
<OutputFileExtension>.elf</OutputFileExtension>
<OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>
<AssemblyName>Zahl</AssemblyName>
<Name>Zahl</Name>
<RootNamespace>Zahl</RootNamespace>
<ToolchainFlavour>Native</ToolchainFlavour>
<KeepTimersRunning>true</KeepTimersRunning>
<OverrideVtor>false</OverrideVtor>
<OverrideVtorValue>exception_table</OverrideVtorValue>
<eraseonlaunchrule>0</eraseonlaunchrule>
<ProgFlashFromRam>true</ProgFlashFromRam>
<RamSnippetAddress>0x20000000</RamSnippetAddress>
<CacheFlash>true</CacheFlash>
<UncachedRange />
<BootSegment>0</BootSegment>
<AsfFrameworkConfig>
<framework-data xmlns="">
<options />
<configurations />
<files />
<documentation help="" />
<dependencies>
<content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.7.2" />
</dependencies>
</framework-data>
</AsfFrameworkConfig>
<avrtoolinterface>ISP</avrtoolinterface>
<avrtool>com.atmel.avrdbg.tool.ispmk2</avrtool>
<com_atmel_avrdbg_tool_ispmk2>
<ToolType>com.atmel.avrdbg.tool.ispmk2</ToolType>
<ToolName>AVRISP mkII</ToolName>
<ToolNumber>0000000000000</ToolNumber>
<Channel>
<host>127.0.0.1</host>
<port>62426</port>
<ssl>False</ssl>
</Channel>
<ToolOptions>
<InterfaceName>ISP</InterfaceName>
<InterfaceProperties>
<JtagDbgClock>249000</JtagDbgClock>
<JtagProgClock>1000000</JtagProgClock>
<IspClock>150000</IspClock>
<JtagInChain>false</JtagInChain>
<JtagEnableExtResetOnStartSession>false</JtagEnableExtResetOnStartSession>
<JtagDevicesBefore>0</JtagDevicesBefore>
<JtagDevicesAfter>0</JtagDevicesAfter>
<JtagInstrBitsBefore>0</JtagInstrBitsBefore>
<JtagInstrBitsAfter>0</JtagInstrBitsAfter>
</InterfaceProperties>
</ToolOptions>
</com_atmel_avrdbg_tool_ispmk2>
<com_atmel_avrdbg_tool_simulator>
<ToolType xmlns="">com.atmel.avrdbg.tool.simulator</ToolType>
<ToolName xmlns="">Simulator</ToolName>
<ToolNumber xmlns="">
</ToolNumber>
<Channel xmlns="">
<host>127.0.0.1</host>
<port>62426</port>
<ssl>False</ssl>
</Channel>
</com_atmel_avrdbg_tool_simulator>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<ToolchainSettings>
<AvrGccCpp>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>NDEBUG</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcccpp.compiler.symbols.DefSymbols>
<ListValues>
<Value>NDEBUG</Value>
</ListValues>
</avrgcccpp.compiler.symbols.DefSymbols>
<avrgcccpp.compiler.optimization.level>Optimize for size (-Os)</avrgcccpp.compiler.optimization.level>
<avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers>
<avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
<avrgcccpp.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcccpp.linker.libraries.Libraries>
<avrgcccpp.linker.memorysettings.Comment>&lt;segmentname&gt;=&lt;address&gt;, for example .boot=0xff</avrgcccpp.linker.memorysettings.Comment>
</AvrGccCpp>
</ToolchainSettings>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<ToolchainSettings>
<AvrGccCpp>
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcc.compiler.symbols.DefSymbols>
<ListValues>
<Value>DEBUG</Value>
</ListValues>
</avrgcc.compiler.symbols.DefSymbols>
<avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
<avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>
<avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>
<avrgcccpp.compiler.symbols.DefSymbols>
<ListValues>
<Value>DEBUG</Value>
</ListValues>
</avrgcccpp.compiler.symbols.DefSymbols>
<avrgcccpp.compiler.optimization.level>Optimize for size (-Os)</avrgcccpp.compiler.optimization.level>
<avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers>
<avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>
<avrgcccpp.compiler.optimization.DebugLevel>Default (-g2)</avrgcccpp.compiler.optimization.DebugLevel>
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
<avrgcccpp.compiler.miscellaneous.OtherFlags>-std=c++11</avrgcccpp.compiler.miscellaneous.OtherFlags>
<avrgcccpp.linker.libraries.Libraries>
<ListValues>
<Value>libm</Value>
</ListValues>
</avrgcccpp.linker.libraries.Libraries>
<avrgcccpp.linker.memorysettings.Comment>&lt;segmentname&gt;=&lt;address&gt;, for example .boot=0xff</avrgcccpp.linker.memorysettings.Comment>
<avrgcccpp.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcccpp.assembler.debugging.DebugLevel>
</AvrGccCpp>
</ToolchainSettings>
</PropertyGroup>
<ItemGroup>
<Compile Include="config.h">
<SubType>compile</SubType>
</Compile>
<Compile Include="Led.hpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="pin.hpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="portb.hpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="portc.hpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="uart.hpp">
<SubType>compile</SubType>
</Compile>
<Compile Include="Zahl.cpp">
<SubType>compile</SubType>
</Compile>
</ItemGroup>
<Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" />
</Project>

16
Zahl/Zahl/config.h Normal file
View File

@ -0,0 +1,16 @@
/*
* config.h
*
* Created: 02.12.2013 21:49:03
* Author: netz
*/
#ifndef CONFIG_H_
#define CONFIG_H_
#define F_CPU 20000000
#endif /* CONFIG_H_ */

50
Zahl/Zahl/pin.hpp Normal file
View File

@ -0,0 +1,50 @@
#ifndef AVRLIB_PIN_HPP
#define AVRLIB_PIN_HPP
#include <avr/io.h>
namespace avrlib {
template <typename Port, uint8_t Pin>
struct pin
{
static void set(bool value = true)
{
if (value)
Port::port(Port::port() | (1<<Pin));
else
Port::port(Port::port() & ~(1<<Pin));
}
static void clear() { set(false); }
static void toggle() { Port::port(Port::port() ^ (1<<Pin)); }
static bool get() { return (Port::port() & (1<<Pin)) != 0; }
static bool value() { return (Port::pin() & (1<<Pin)) != 0; }
static void output(bool value)
{
if (value)
Port::dir(Port::dir() | (1<<Pin));
else
Port::dir(Port::dir() & ~(1<<Pin));
}
static bool output() { return (Port::dir() & (1<<Pin)) != 0; }
static void make_output() { output(true); }
static void make_input() { output(false); clear(); }
static void make_low() { clear(); output(true); }
static void make_high() { set(); output(true); }
static void set_value(bool value) { set(value); }
static void set_high() { set(true); }
static void set_low() { set(false); }
static bool read() { return value(); }
static void pullup() { set_high(); }
};
}
#endif

22
Zahl/Zahl/portb.hpp Normal file
View File

@ -0,0 +1,22 @@
#ifndef AVRLIB_PORTB_HPP
#define AVRLIB_PORTB_HPP
#include <avr/io.h>
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
static uint8_t pin() { return PINB; }
static void pin(uint8_t v) { PINB = v; }
static uint8_t dir() { return DDRB; }
static void dir(uint8_t v) { DDRB = v; }
};
}
#endif

22
Zahl/Zahl/portc.hpp Normal file
View File

@ -0,0 +1,22 @@
#ifndef AVRLIB_PORTC_HPP
#define AVRLIB_PORTC_HPP
#include <avr/io.h>
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
static uint8_t pin() { return PINC; }
static void pin(uint8_t v) { PINC = v; }
static uint8_t dir() { return DDRC; }
static void dir(uint8_t v) { DDRC = v; }
};
}
#endif

69
Zahl/Zahl/uart.hpp Normal file
View File

@ -0,0 +1,69 @@
/*
* Rs232.h
*
* Created: 04.11.2013 21:31:09
* Author: netz
*/
#ifndef RS232_H_
#define RS232_H_
#include "config.h"
#include <stdio.h>
#include <avr/io.h>
#include <avr/interrupt.h>
template <uint32_t baudrate, uint8_t diget>
class Uart {
public:
Uart() {
sei();
init();
send("Uart done!\n");
}
void send(const char *text) {
while (*text)
{
uart_putchar(*text);
text++;
}
}
/* USART_RX_vect */
void interrupt() {
uint8_t nextChar;
nextChar = UDR;
if( nextChar != '\n' && nextChar != '\r' && uart_str_count < UART_MAXSTRLEN ) {
uart_string[uart_str_count] = nextChar;
uart_str_count++;
} else {
if(uart_string[0] == 't') {
number = uart_string[diget];
}
uart_str_count = 0;
}
}
uint8_t getDig() {
return number;
}
private:
uint8_t number = 0;
static const uint8_t UART_MAXSTRLEN = 12;
uint8_t uart_str_count = 0;
uint8_t uart_string[UART_MAXSTRLEN];
void init() {
UCSRC = (1 << UCSZ1) | (1 << UCSZ0); //8N1
UCSRB = /*(1<<RXEN1) | / (1<<RXCIE) | */ (1<<TXEN); //Enable TXEN im Register UCR TX-Data Enable
UBRRH = (uint8_t)(((F_CPU / 16 / baudrate) - 1)>>8);
UBRRL = (uint8_t)(F_CPU / 16 / baudrate) - 1; //Teiler wird gesetzt
}
uint8_t uart_putchar(uint8_t c) {
loop_until_bit_is_set(UCSRA, UDRE); //Ausgabe des Zeichens
UDR = c;
return 0;
}
};
#endif /* RS232_H_ */