diff --git a/Mainboard/Mainboard.atsln b/Mainboard/Mainboard.atsln new file mode 100644 index 0000000..eab4b9e --- /dev/null +++ b/Mainboard/Mainboard.atsln @@ -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}") = "Mainboard", "Mainboard\Mainboard.cppproj", "{F5E37EFD-A5F3-484D-9AE9-BA6140D5862D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|AVR = Debug|AVR + Release|AVR = Release|AVR + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F5E37EFD-A5F3-484D-9AE9-BA6140D5862D}.Debug|AVR.ActiveCfg = Debug|AVR + {F5E37EFD-A5F3-484D-9AE9-BA6140D5862D}.Debug|AVR.Build.0 = Debug|AVR + {F5E37EFD-A5F3-484D-9AE9-BA6140D5862D}.Release|AVR.ActiveCfg = Release|AVR + {F5E37EFD-A5F3-484D-9AE9-BA6140D5862D}.Release|AVR.Build.0 = Release|AVR + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Mainboard/Mainboard.atsuo b/Mainboard/Mainboard.atsuo new file mode 100644 index 0000000..e7b77ad Binary files /dev/null and b/Mainboard/Mainboard.atsuo differ diff --git a/Mainboard/Mainboard/Debug/Mainboard.d b/Mainboard/Mainboard/Debug/Mainboard.d new file mode 100644 index 0000000..371134e --- /dev/null +++ b/Mainboard/Mainboard/Debug/Mainboard.d @@ -0,0 +1,61 @@ +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/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/../../../../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/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 \ + 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/avr/iom16a.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 \ + .././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_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 + +.././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/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/../../../../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/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: + +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/avr/iom16a.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: + +.././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_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: diff --git a/Mainboard/Mainboard/Debug/Mainboard.eep b/Mainboard/Mainboard/Debug/Mainboard.eep new file mode 100644 index 0000000..1996e8f --- /dev/null +++ b/Mainboard/Mainboard/Debug/Mainboard.eep @@ -0,0 +1 @@ +:00000001FF diff --git a/Mainboard/Mainboard/Debug/Mainboard.elf b/Mainboard/Mainboard/Debug/Mainboard.elf new file mode 100644 index 0000000..18fbe09 Binary files /dev/null and b/Mainboard/Mainboard/Debug/Mainboard.elf differ diff --git a/Mainboard/Mainboard/Debug/Mainboard.hex b/Mainboard/Mainboard/Debug/Mainboard.hex new file mode 100644 index 0000000..f05783f --- /dev/null +++ b/Mainboard/Mainboard/Debug/Mainboard.hex @@ -0,0 +1,20 @@ +:100000000C942B000C9453000C9453000C9453004C +:100010000C9453000C9453000C9453000C94530014 +:100020000C9453000C9453000C9453000C94530004 +:100030000C9453000C9453000C9453000C945300F4 +:100040000C9453000C9453000C9453000C945300E4 +:100050000C9453006D0011241FBECFE5D4E0DEBF29 +:10006000CDBF10E0A0E6B0E0E8E0F1E002C005900E +:100070000D92A437B107D9F720E0A4E7B0E001C0A2 +:100080001D92A437B207E1F710E0C6E5D0E004C046 +:100090002297FE010E947E00C435D107C9F70E9455 +:1000A00055000C9482000C940000A09A91E085B356 +:1000B000892785BBE0E6F0E003C05D9BFECF8CB9ED +:1000C00081918111FACF2FEF31EE84E02150304041 +:1000D0008040E1F700C00000EACF86E080BD539A7F +:1000E00083E389B9E6E6F0E003C05D9BFECF8CB9FF +:1000F00081918111FACF0895EE0FFF1F0590F491C1 +:08010000E02D0994F894FFCFF3 +:10010800626C610D0A005561727420646F6E65211E +:040118000D0A0000CC +:00000001FF diff --git a/Mainboard/Mainboard/Debug/Mainboard.lss b/Mainboard/Mainboard/Debug/Mainboard.lss new file mode 100644 index 0000000..63e63db --- /dev/null +++ b/Mainboard/Mainboard/Debug/Mainboard.lss @@ -0,0 +1,231 @@ + +Mainboard.elf: file format elf32-avr + +Sections: +Idx Name Size VMA LMA File off Algn + 0 .text 00000108 00000000 00000000 00000074 2**1 + CONTENTS, ALLOC, LOAD, READONLY, CODE + 1 .data 00000014 00800060 00000108 0000017c 2**0 + CONTENTS, ALLOC, LOAD, DATA + 2 .stab 000006cc 00000000 00000000 00000190 2**2 + CONTENTS, READONLY, DEBUGGING + 3 .stabstr 00000082 00000000 00000000 0000085c 2**0 + CONTENTS, READONLY, DEBUGGING + 4 .comment 0000002f 00000000 00000000 000008de 2**0 + CONTENTS, READONLY + 5 .debug_aranges 00000028 00000000 00000000 0000090d 2**0 + CONTENTS, READONLY, DEBUGGING + 6 .debug_info 0000056a 00000000 00000000 00000935 2**0 + CONTENTS, READONLY, DEBUGGING + 7 .debug_abbrev 000002c6 00000000 00000000 00000e9f 2**0 + CONTENTS, READONLY, DEBUGGING + 8 .debug_line 000001e5 00000000 00000000 00001165 2**0 + CONTENTS, READONLY, DEBUGGING + 9 .debug_frame 00000034 00000000 00000000 0000134c 2**2 + CONTENTS, READONLY, DEBUGGING + 10 .debug_str 00000336 00000000 00000000 00001380 2**0 + CONTENTS, READONLY, DEBUGGING + 11 .debug_loc 0000001f 00000000 00000000 000016b6 2**0 + CONTENTS, READONLY, DEBUGGING + 12 .debug_ranges 00000018 00000000 00000000 000016d5 2**0 + CONTENTS, READONLY, DEBUGGING + +Disassembly of section .text: + +00000000 <__vectors>: + 0: 0c 94 2b 00 jmp 0x56 ; 0x56 <__ctors_end> + 4: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 8: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + c: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 10: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 14: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 18: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 1c: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 20: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 24: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 28: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 2c: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 30: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 34: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 38: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 3c: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 40: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 44: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 48: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 4c: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + 50: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt> + +00000054 <__ctors_start>: + 54: 6d 00 .word 0x006d ; ???? + +00000056 <__ctors_end>: + 56: 11 24 eor r1, r1 + 58: 1f be out 0x3f, r1 ; 63 + 5a: cf e5 ldi r28, 0x5F ; 95 + 5c: d4 e0 ldi r29, 0x04 ; 4 + 5e: de bf out 0x3e, r29 ; 62 + 60: cd bf out 0x3d, r28 ; 61 + +00000062 <__do_copy_data>: + 62: 10 e0 ldi r17, 0x00 ; 0 + 64: a0 e6 ldi r26, 0x60 ; 96 + 66: b0 e0 ldi r27, 0x00 ; 0 + 68: e8 e0 ldi r30, 0x08 ; 8 + 6a: f1 e0 ldi r31, 0x01 ; 1 + 6c: 02 c0 rjmp .+4 ; 0x72 <__do_copy_data+0x10> + 6e: 05 90 lpm r0, Z+ + 70: 0d 92 st X+, r0 + 72: a4 37 cpi r26, 0x74 ; 116 + 74: b1 07 cpc r27, r17 + 76: d9 f7 brne .-10 ; 0x6e <__do_copy_data+0xc> + +00000078 <__do_clear_bss>: + 78: 20 e0 ldi r18, 0x00 ; 0 + 7a: a4 e7 ldi r26, 0x74 ; 116 + 7c: b0 e0 ldi r27, 0x00 ; 0 + 7e: 01 c0 rjmp .+2 ; 0x82 <.do_clear_bss_start> + +00000080 <.do_clear_bss_loop>: + 80: 1d 92 st X+, r1 + +00000082 <.do_clear_bss_start>: + 82: a4 37 cpi r26, 0x74 ; 116 + 84: b2 07 cpc r27, r18 + 86: e1 f7 brne .-8 ; 0x80 <.do_clear_bss_loop> + +00000088 <__do_global_ctors>: + 88: 10 e0 ldi r17, 0x00 ; 0 + 8a: c6 e5 ldi r28, 0x56 ; 86 + 8c: d0 e0 ldi r29, 0x00 ; 0 + 8e: 04 c0 rjmp .+8 ; 0x98 <__do_global_ctors+0x10> + 90: 22 97 sbiw r28, 0x02 ; 2 + 92: fe 01 movw r30, r28 + 94: 0e 94 7e 00 call 0xfc ; 0xfc <__tablejump__> + 98: c4 35 cpi r28, 0x54 ; 84 + 9a: d1 07 cpc r29, r17 + 9c: c9 f7 brne .-14 ; 0x90 <__do_global_ctors+0x8> + 9e: 0e 94 55 00 call 0xaa ; 0xaa
+ a2: 0c 94 82 00 jmp 0x104 ; 0x104 <_exit> + +000000a6 <__bad_interrupt>: + a6: 0c 94 00 00 jmp 0 ; 0x0 <__vectors> + +000000aa
: + + 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; } + aa: a0 9a sbi 0x14, 0 ; 20 + Port::port(Port::port() & ~(1< + UCSRC = (1 << UCSZ1) | (1 << UCSZ0); //8N1 + UCSRB |= /*(1< + UDR = c; + be: 8c b9 out 0x0c, r24 ; 12 + Uart() { + init(); + send("Uart done!\r\n"); + } + void send(const char *text) { + while (*text) + c0: 81 91 ld r24, Z+ + c2: 81 11 cpse r24, r1 + c4: fa cf rjmp .-12 ; 0xba + #else + //round up by default + __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); + #endif + + __builtin_avr_delay_cycles(__ticks_dc); + c6: 2f ef ldi r18, 0xFF ; 255 + c8: 31 ee ldi r19, 0xE1 ; 225 + ca: 84 e0 ldi r24, 0x04 ; 4 + cc: 21 50 subi r18, 0x01 ; 1 + ce: 30 40 sbci r19, 0x00 ; 0 + d0: 80 40 sbci r24, 0x00 ; 0 + d2: e1 f7 brne .-8 ; 0xcc + d4: 00 c0 rjmp .+0 ; 0xd6 + d6: 00 00 nop + d8: ea cf rjmp .-44 ; 0xae + +000000da <_GLOBAL__sub_I_u>: + text++; + } + } + private: + void init() { + UCSRC = (1 << UCSZ1) | (1 << UCSZ0); //8N1 + da: 86 e0 ldi r24, 0x06 ; 6 + dc: 80 bd out 0x20, r24 ; 32 + UCSRB |= /*(1< + } + uint8_t uart_putchar(uint8_t c) { + loop_until_bit_is_set(UCSRA, UDRE); //Ausgabe des Zeichens + ea: 5d 9b sbis 0x0b, 5 ; 11 + ec: fe cf rjmp .-4 ; 0xea <_GLOBAL__sub_I_u+0x10> + UDR = c; + ee: 8c b9 out 0x0c, r24 ; 12 + Uart() { + init(); + send("Uart done!\r\n"); + } + void send(const char *text) { + while (*text) + f0: 81 91 ld r24, Z+ + f2: 81 11 cpse r24, r1 + f4: fa cf rjmp .-12 ; 0xea <_GLOBAL__sub_I_u+0x10> + { + led::toggle(); + u.send("bla\r\n"); + _delay_ms(200); + } + f6: 08 95 ret + +000000f8 <__tablejump2__>: + f8: ee 0f add r30, r30 + fa: ff 1f adc r31, r31 + +000000fc <__tablejump__>: + fc: 05 90 lpm r0, Z+ + fe: f4 91 lpm r31, Z + 100: e0 2d mov r30, r0 + 102: 09 94 ijmp + +00000104 <_exit>: + 104: f8 94 cli + +00000106 <__stop_program>: + 106: ff cf rjmp .-2 ; 0x106 <__stop_program> diff --git a/Mainboard/Mainboard/Debug/Mainboard.map b/Mainboard/Mainboard/Debug/Mainboard.map new file mode 100644 index 0000000..95731b2 --- /dev/null +++ b/Mainboard/Mainboard/Debug/Mainboard.map @@ -0,0 +1,456 @@ +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/avr5\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/avr5/crtm16a.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/avr5\libgcc.a(_copy_data.o) + Mainboard.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/avr5\libgcc.a(_clear_bss.o) + Mainboard.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/avr5\libgcc.a(_ctors.o) + 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(_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/avr5/crtm16a.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) + .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 + 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.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(_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/avr5\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/avr5\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/avr5\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/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(_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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\libgcc.a(_tablejump.o) + +Memory Configuration + +Name Origin Length Attributes +text 0x00000000 0x00020000 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/avr5/crtm16a.o +LOAD Mainboard.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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\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/avr5\libgcc.a + +.hash + *(.hash) + +.dynsym + *(.dynsym) + +.dynstr + *(.dynstr) + +.gnu.version + *(.gnu.version) + +.gnu.version_d + *(.gnu.version_d) + +.gnu.version_r + *(.gnu.version_r) + +.rel.init + *(.rel.init) + +.rela.init + *(.rela.init) + +.rel.text + *(.rel.text) + *(.rel.text.*) + *(.rel.gnu.linkonce.t*) + +.rela.text + *(.rela.text) + *(.rela.text.*) + *(.rela.gnu.linkonce.t*) + +.rel.fini + *(.rel.fini) + +.rela.fini + *(.rela.fini) + +.rel.rodata + *(.rel.rodata) + *(.rel.rodata.*) + *(.rel.gnu.linkonce.r*) + +.rela.rodata + *(.rela.rodata) + *(.rela.rodata.*) + *(.rela.gnu.linkonce.r*) + +.rel.data + *(.rel.data) + *(.rel.data.*) + *(.rel.gnu.linkonce.d*) + +.rela.data + *(.rela.data) + *(.rela.data.*) + *(.rela.gnu.linkonce.d*) + +.rel.ctors + *(.rel.ctors) + +.rela.ctors + *(.rela.ctors) + +.rel.dtors + *(.rel.dtors) + +.rela.dtors + *(.rela.dtors) + +.rel.got + *(.rel.got) + +.rela.got + *(.rela.got) + +.rel.bss + *(.rel.bss) + +.rela.bss + *(.rela.bss) + +.rel.plt + *(.rel.plt) + +.rela.plt + *(.rela.plt) + +.text 0x00000000 0x108 + *(.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 + 0x00000000 __vector_default + 0x00000000 __vectors + *(.vectors) + *(.progmem.gcc*) + *(.progmem*) + 0x00000054 . = ALIGN (0x2) + 0x00000054 __trampolines_start = . + *(.trampolines) + .trampolines 0x00000054 0x0 linker stubs + *(.trampolines*) + 0x00000054 __trampolines_end = . + *(.jumptables) + *(.jumptables*) + *(.lowtext) + *(.lowtext*) + 0x00000054 __ctors_start = . + *(.ctors) + .ctors 0x00000054 0x2 Mainboard.o + 0x00000056 __ctors_end = . + 0x00000056 __dtors_start = . + *(.dtors) + 0x00000056 __dtors_end = . + SORT(*)(.ctors) + SORT(*)(.dtors) + *(.init0) + .init0 0x00000056 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 + 0x00000056 __init + *(.init0) + *(.init1) + *(.init1) + *(.init2) + .init2 0x00000056 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/../../../../avr/lib/avr5/crtm16a.o + *(.init2) + *(.init3) + *(.init3) + *(.init4) + .init4 0x00000062 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/avr5\libgcc.a(_copy_data.o) + 0x00000062 __do_copy_data + .init4 0x00000078 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/avr5\libgcc.a(_clear_bss.o) + 0x00000078 __do_clear_bss + *(.init4) + *(.init5) + *(.init5) + *(.init6) + .init6 0x00000088 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/avr5\libgcc.a(_ctors.o) + 0x00000088 __do_global_ctors + *(.init6) + *(.init7) + *(.init7) + *(.init8) + *(.init8) + *(.init9) + .init9 0x0000009e 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/avr5/crtm16a.o + *(.init9) + *(.text) + .text 0x000000a6 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/avr5/crtm16a.o + 0x000000a6 __vector_1 + 0x000000a6 __vector_12 + 0x000000a6 __bad_interrupt + 0x000000a6 __vector_6 + 0x000000a6 __vector_3 + 0x000000a6 __vector_11 + 0x000000a6 __vector_13 + 0x000000a6 __vector_17 + 0x000000a6 __vector_19 + 0x000000a6 __vector_7 + 0x000000a6 __vector_5 + 0x000000a6 __vector_4 + 0x000000a6 __vector_9 + 0x000000a6 __vector_2 + 0x000000a6 __vector_15 + 0x000000a6 __vector_8 + 0x000000a6 __vector_14 + 0x000000a6 __vector_10 + 0x000000a6 __vector_16 + 0x000000a6 __vector_18 + 0x000000a6 __vector_20 + 0x000000aa . = ALIGN (0x2) + *(.text.*) + .text.startup.main + 0x000000aa 0x30 Mainboard.o + 0x000000aa main + .text.startup._GLOBAL__sub_I_u + 0x000000da 0x1e 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) + 0x000000f8 __tablejump2__ + 0x000000fc __tablejump__ + 0x00000104 . = ALIGN (0x2) + *(.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) + 0x00000104 _exit + 0x00000104 exit + *(.fini9) + *(.fini8) + *(.fini8) + *(.fini7) + *(.fini7) + *(.fini6) + *(.fini6) + *(.fini5) + *(.fini5) + *(.fini4) + *(.fini4) + *(.fini3) + *(.fini3) + *(.fini2) + *(.fini2) + *(.fini1) + *(.fini1) + *(.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) + 0x00000108 _etext = . + +.data 0x00800060 0x14 load address 0x00000108 + 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/avr5/crtm16a.o + .data 0x00800060 0x0 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) + .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 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 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 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*) + *(.rodata) + *(.rodata*) + .rodata.str1.1 + 0x00800060 0x13 Mainboard.o + *(.gnu.linkonce.d*) + 0x00800074 . = ALIGN (0x2) + *fill* 0x00800073 0x1 + 0x00800074 _edata = . + 0x00800074 PROVIDE (__data_end, .) + +.bss 0x00800074 0x0 + 0x00800074 PROVIDE (__bss_start, .) + *(.bss) + *(.bss*) + *(COMMON) + 0x00800074 PROVIDE (__bss_end, .) + 0x00000108 __data_load_start = LOADADDR (.data) + 0x0000011c __data_load_end = (__data_load_start + SIZEOF (.data)) + +.noinit 0x00800074 0x0 + 0x00800074 PROVIDE (__noinit_start, .) + *(.noinit*) + 0x00800074 PROVIDE (__noinit_end, .) + 0x00800074 _end = . + 0x00800074 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 0x6cc + *(.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 + +.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/avr5/crtm16a.o + +.stab.excl + *(.stab.excl) + +.stab.exclstr + *(.stab.exclstr) + +.stab.index + *(.stab.index) + +.stab.indexstr + *(.stab.indexstr) + +.comment 0x00000000 0x2f + *(.comment) + .comment 0x00000000 0x2f Mainboard.o + 0x30 (size before relaxing) + +.debug + *(.debug) + +.line + *(.line) + +.debug_srcinfo + *(.debug_srcinfo) + +.debug_sfnames + *(.debug_sfnames) + +.debug_aranges 0x00000000 0x28 + *(.debug_aranges) + .debug_aranges + 0x00000000 0x28 Mainboard.o + +.debug_pubnames + *(.debug_pubnames) + +.debug_info 0x00000000 0x56a + *(.debug_info) + .debug_info 0x00000000 0x56a Mainboard.o + *(.gnu.linkonce.wi.*) + +.debug_abbrev 0x00000000 0x2c6 + *(.debug_abbrev) + .debug_abbrev 0x00000000 0x2c6 Mainboard.o + +.debug_line 0x00000000 0x1e5 + *(.debug_line) + .debug_line 0x00000000 0x1e5 Mainboard.o + +.debug_frame 0x00000000 0x34 + *(.debug_frame) + .debug_frame 0x00000000 0x34 Mainboard.o + +.debug_str 0x00000000 0x336 + *(.debug_str) + .debug_str 0x00000000 0x336 Mainboard.o + 0x376 (size before relaxing) + +.debug_loc 0x00000000 0x1f + *(.debug_loc) + .debug_loc 0x00000000 0x1f Mainboard.o + +.debug_macinfo + *(.debug_macinfo) + +.debug_pubtypes + *(.debug_pubtypes) + +.debug_ranges 0x00000000 0x18 + *(.debug_ranges) + .debug_ranges 0x00000000 0x18 Mainboard.o + +.debug_macro + *(.debug_macro) +OUTPUT(Mainboard.elf elf32-avr) +LOAD linker stubs diff --git a/Mainboard/Mainboard/Debug/Mainboard.srec b/Mainboard/Mainboard/Debug/Mainboard.srec new file mode 100644 index 0000000..5ef38d0 --- /dev/null +++ b/Mainboard/Mainboard/Debug/Mainboard.srec @@ -0,0 +1,21 @@ +S01100004D61696E626F6172642E7372656386 +S11300000C942B000C9453000C9453000C94530048 +S11300100C9453000C9453000C9453000C94530010 +S11300200C9453000C9453000C9453000C94530000 +S11300300C9453000C9453000C9453000C945300F0 +S11300400C9453000C9453000C9453000C945300E0 +S11300500C9453006D0011241FBECFE5D4E0DEBF25 +S1130060CDBF10E0A0E6B0E0E8E0F1E002C005900A +S11300700D92A437B107D9F720E0A4E7B0E001C09E +S11300801D92A437B207E1F710E0C6E5D0E004C042 +S11300902297FE010E947E00C435D107C9F70E9451 +S11300A055000C9482000C940000A09A91E085B352 +S11300B0892785BBE0E6F0E003C05D9BFECF8CB9E9 +S11300C081918111FACF2FEF31EE84E0215030403D +S11300D08040E1F700C00000EACF86E080BD539A7B +S11300E083E389B9E6E6F0E003C05D9BFECF8CB9FB +S11300F081918111FACF0895EE0FFF1F0590F491BD +S10B0100E02D0994F894FFCFEF +S1130108626C610D0A005561727420646F6E65211A +S10701180D0A0000C8 +S9030000FC diff --git a/Mainboard/Mainboard/Debug/Makefile b/Mainboard/Mainboard/Debug/Makefile new file mode 100644 index 0000000..2e9ead8 --- /dev/null +++ b/Mainboard/Mainboard/Debug/Makefile @@ -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 += \ +../Mainboard.cpp + + +PREPROCESSING_SRCS += + + +ASM_SRCS += + + +OBJS += \ +Mainboard.o + + +OBJS_AS_ARGS += \ +Mainboard.o + + +C_DEPS += \ +Mainboard.d + + +C_DEPS_AS_ARGS += \ +Mainboard.d + + +OUTPUT_FILE_PATH +=Mainboard.elf + +OUTPUT_FILE_PATH_AS_ARGS +=Mainboard.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=atmega16a -c -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="Mainboard.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=atmega16a + @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 "Mainboard.elf" "Mainboard.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 "Mainboard.elf" "Mainboard.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 "Mainboard.elf" > "Mainboard.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 "Mainboard.elf" "Mainboard.srec" + "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-size.exe" "Mainboard.elf" + + + + + + +# Other Targets +clean: + -$(RM) $(OBJS_AS_ARGS)$(C_DEPS_AS_ARGS) $(EXECUTABLES) + rm -rf "Mainboard.elf" "Mainboard.a" "Mainboard.hex" "Mainboard.lss" "Mainboard.eep" "Mainboard.map" "Mainboard.srec" + \ No newline at end of file diff --git a/Mainboard/Mainboard/Debug/makedep.mk b/Mainboard/Mainboard/Debug/makedep.mk new file mode 100644 index 0000000..0c8cf68 --- /dev/null +++ b/Mainboard/Mainboard/Debug/makedep.mk @@ -0,0 +1,6 @@ +################################################################################ +# Automatically-generated file. Do not edit or delete the file +################################################################################ + +Mainboard.cpp + diff --git a/Mainboard/Mainboard/Mainboard.cpp b/Mainboard/Mainboard/Mainboard.cpp new file mode 100644 index 0000000..02c0cfc --- /dev/null +++ b/Mainboard/Mainboard/Mainboard.cpp @@ -0,0 +1,29 @@ +/* + * Mainboard.cpp + * + * Created: 02.12.2013 21:41:13 + * Author: netz + */ +#include "config.h" +#include "uart.hpp" +#include "portc.hpp" +#include "pin.hpp" +#include + + +///////////////////////// UART //////////////////////////////////// +typedef Uart<9600> uartclass; +uartclass u; + +typedef avrlib::pin led; + +int main(void) +{ + led::make_output(); + while(1) + { + led::toggle(); + u.send("bla\r\n"); + _delay_ms(200); + } +} \ No newline at end of file diff --git a/Mainboard/Mainboard/Mainboard.cppproj b/Mainboard/Mainboard/Mainboard.cppproj new file mode 100644 index 0000000..6f43766 --- /dev/null +++ b/Mainboard/Mainboard/Mainboard.cppproj @@ -0,0 +1,163 @@ + + + + 2.0 + 6.1 + com.Atmel.AVRGCC8.CPP + {f5e37efd-a5f3-484d-9ae9-ba6140d5862d} + ATmega16A + none + Executable + CPP + $(MSBuildProjectName) + .elf + $(MSBuildProjectDirectory)\$(Configuration) + Mainboard + Mainboard + Mainboard + Native + true + false + exception_table + 0 + true + 0x20000000 + true + + 0 + + + + + + + + + + + + com.atmel.avrdbg.tool.ispmk2 + ISP + + com.atmel.avrdbg.tool.ispmk2 + AVRISP mkII + 0000000000000 + + 127.0.0.1 + 50055 + False + + + ISP + + 249000 + 1000000 + 250000 + false + false + 0 + 0 + 0 + 0 + + + + + + + + True + True + True + True + True + True + + + NDEBUG + + + Optimize for size (-Os) + True + True + True + True + True + + + NDEBUG + + + Optimize for size (-Os) + True + True + True + + + libm + + + <segmentname>=<address>, for example .boot=0xff + + + + + + + True + True + True + True + True + True + + + DEBUG + + + Optimize (-O1) + True + True + Default (-g2) + True + True + True + + + DEBUG + + + Optimize for size (-Os) + True + True + Default (-g2) + True + + + libm + + + <segmentname>=<address>, for example .boot=0xff + Default (-Wa,-g) + + + + + + compile + + + compile + + + compile + + + compile + + + compile + + + + \ No newline at end of file diff --git a/Mainboard/Mainboard/config.h b/Mainboard/Mainboard/config.h new file mode 100644 index 0000000..73bcb4d --- /dev/null +++ b/Mainboard/Mainboard/config.h @@ -0,0 +1,16 @@ +/* + * config.h + * + * Created: 02.12.2013 21:49:03 + * Author: netz + */ + + +#ifndef CONFIG_H_ +#define CONFIG_H_ + + +#define F_CPU 8000000 + + +#endif /* CONFIG_H_ */ \ No newline at end of file diff --git a/Mainboard/Mainboard/pin.hpp b/Mainboard/Mainboard/pin.hpp new file mode 100644 index 0000000..c14f338 --- /dev/null +++ b/Mainboard/Mainboard/pin.hpp @@ -0,0 +1,50 @@ +#ifndef AVRLIB_PIN_HPP +#define AVRLIB_PIN_HPP + +#include + +namespace avrlib { + + template + struct pin + { + static void set(bool value = true) + { + if (value) + Port::port(Port::port() | (1< + +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 diff --git a/Mainboard/Mainboard/uart.hpp b/Mainboard/Mainboard/uart.hpp new file mode 100644 index 0000000..e85fd29 --- /dev/null +++ b/Mainboard/Mainboard/uart.hpp @@ -0,0 +1,45 @@ +/* + * Rs232.h + * + * Created: 04.11.2013 21:31:09 + * Author: netz + */ + +#ifndef RS232_H_ +#define RS232_H_ + + +#include "config.h" +#include +#include + +template +class Uart { + public: + Uart() { + init(); + send("Uart done!\r\n"); + } + void send(const char *text) { + while (*text) + { + uart_putchar(*text); + text++; + } + } + private: + void init() { + UCSRC = (1 << UCSZ1) | (1 << UCSZ0); //8N1 + UCSRB |= /*(1<