This commit is contained in:
BlubbFish 2016-07-17 21:45:40 +00:00
parent b648e126e6
commit 9f492364f1
8 changed files with 422 additions and 385 deletions

Binary file not shown.

View File

@ -17,7 +17,7 @@ USBLaminator.d USBLaminator.o: .././USBLaminator.cpp .././peripheral.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 \
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 \
.././io/Usart.hpp
.././io/Usart.hpp .././io/ADC.hpp
.././peripheral.h:
@ -64,3 +64,5 @@ 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/interrupt.h:
.././io/Usart.hpp:
.././io/ADC.hpp:

View File

@ -1,14 +1,14 @@
:100000000C942B000C9453000C9453000C9453004C
:100010000C9453000C9453000C9451010C94530015
:100010000C9453000C9453000C945D010C94530009
:100020000C9453000C9453000C9453000C94530004
:100030000C9453000C9453000C9453000C945300F4
:100040000C9453000C9453000C9453000C945300E4
:100050000C945300A80111241FBECFE5D4E0DEBFED
:10006000CDBF11E0A0E6B0E0ECE7F3E002C0059000
:100050000C945300B40111241FBECFE5D4E0DEBFE1
:10006000CDBF11E0A0E6B0E0EAE9F3E002C0059000
:100070000D92A833B107D9F721E0A8E3B1E001C0A0
:100080001D92AB33B207E1F710E0C6E5D0E004C043
:100090002297FE010E94B801C435D107C9F70E941A
:1000A0004E010C94BC010C940000CF93C49ABC9AEE
:100080001D92AC33B207E1F710E0C6E5D0E004C042
:100090002297FE010E94C701C435D107C9F70E940B
:1000A0005A010C94CB010C940000CF93C49ABC9AD3
:1000B000AA98A29AAB98A39AAC98A49AAD98A59A3C
:1000C000AE98A69AAF98A79AE1E6F0E083E2C39AC9
:1000D000BB9A5D9BFECF8CB9C398BB9A819181116D
@ -33,39 +33,41 @@
:1002000016BC81E68BBD88EA8ABD19BC18BC89B7CB
:10021000806189BF7894ECEBF0E083E2C39ABB9AEB
:100220005D9BFECF8CB9C398BB9A81918111F6CFAB
:1002300025C0C39ABB9A5D9BFECF8CB9C398BB9A6D
:1002400081918111F6CFE2EDF0E083E2C39ABB9A8F
:100250005D9BFECF8CB9C398BB9A81918111F6CF7B
:1002600015C0C39ABB9A5D9BFECF8CB9C398BB9A4D
:1002700081918111F6CFC29ABA9A0EC0C498BC9AE5
:10028000C39ABB9AE2EEF0E083E2D3CFC398BB9A65
:10029000EFEEF0E083E2E5CFCF9108950E945500A4
:1002A000FFCF1F920F920FB60F9211248F939F933F
:1002B00095B384E0892785BB9F918F910F900FBEE6
:1002C0000F901F901895CF93DF931F92CDB7DEB795
:1002D0006983BC9ABB9ABA9AC498BC9AC398BB9AD1
:1002E000C298BA9A1BB888E08AB986EA80BD10BC69
:1002F00089E189B9ECE2F1E085E5C39ABB9A5D9B9F
:10030000FECF8CB9C398BB9A81918111F6CF0F9023
:10031000DF91CF910895BC9ABB9ABA9AC498BC9ABF
:10032000C398BB9AC298BA9A0895A29AA39AA49A1B
:10033000A59AA69AA79AAA98A29AAB98A39AAC98BB
:10034000A49AAD98A59AAE98A69AAF98A79A089540
:100350008AE391E00E948B0189E391E00E9495017C
:1003600060E088E391E00E9463010895EE0FFF1FB3
:0C0370000590F491E02D0994F894FFCF63
:10037C002323232320426567696E20426F6F7475B7
:10038C0070202323232323232323232323232323E7
:10039C002323232323232323232323232323232321
:1003AC0023232323232323232323230A002320541F
:1003BC00657374204F75747075740A00232053652F
:1003CC007475702054696D65720A002323204F7573
:1003DC007470757420496E697420446F6E65210ABF
:1003EC00002320536574757020427574746F6E0A07
:1003FC000023205365747570204144430A00232365
:10040C00232320456E6420426F6F74757020232364
:10041C0023232323232323232323232323232323A0
:10042C002323232323232323232323232323232390
:10043C002323232323232323230A005561727420AF
:08044C00646F6E65210A0000D7
:1002300023C0C39ABB9A5D9BFECF8CB9C398BB9A6F
:1002400081918111F6CF20C0C39ABB9A5D9BFECFEE
:100250008CB9C398BB9A81918111F6CF23C0C39A00
:10026000BB9A5D9BFECF8CB9C398BB9A81918111DB
:10027000F6CFC29ABA9A1CC0C498BC9AC39ABB9AC9
:10028000E2EDF0E083E2D5CF379A2FEF81EE94E0F4
:10029000215080409040E1F700C00000EFEDF0E019
:1002A00083E2D2CFC398BB9AEFEEF0E083E2D7CFE0
:1002B000CF9108950E945500FFCF1F920F920FB665
:1002C0000F9211248F939F9395B384E0892785BB68
:1002D0009F918F910F900FBE0F901F901895CF9305
:1002E000DF931F92CDB7DEB76983BC9ABB9ABA9AE7
:1002F000C498BC9AC398BB9AC298BA9A1BB888E0B3
:100300008AB986EA80BD10BC89E189B9ECE2F1E0E6
:1003100085E5C39ABB9A5D9BFECF8CB9C398BB9A07
:1003200081918111F6CF0F90DF91CF910895BC9A02
:10033000BB9ABA9AC498BC9AC398BB9AC298BA9A04
:100340000895A29AA39AA49AA59AA69AA79AAA9857
:10035000A29AAB98A39AAC98A49AAD98A59AAE9895
:10036000A69AAF98A79A08958BE391E00E9497010F
:100370008AE391E00E94A10160E089E391E00E949C
:100380006F0184E086B917B80895EE0FFF1F05903E
:0A039000F491E02D0994F894FFCFDA
:10039A002323232320426567696E20426F6F747599
:1003AA0070202323232323232323232323232323C9
:1003BA002323232323232323232323232323232303
:1003CA0023232323232323232323230A0023205401
:1003DA00657374204F75747075740A002320536511
:1003EA007475702054696D65720A002323204F7555
:1003FA007470757420496E697420446F6E65210AA1
:10040A000023205365747570204144430A00232059
:10041A00536574757020427574746F6E0A002323D5
:10042A00232320456E6420426F6F74757020232346
:10043A002323232323232323232323232323232382
:10044A002323232323232323232323232323232372
:10045A002323232323232323230A00556172742091
:08046A00646F6E65210A0000B9
:00000001FF

View File

@ -3,33 +3,33 @@ USBLaminator.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000037c 00000000 00000000 00000094 2**1
0 .text 0000039a 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 000000d8 00800060 0000037c 00000410 2**0
1 .data 000000d8 00800060 0000039a 0000042e 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000003 00800138 00800138 000004e8 2**0
2 .bss 00000004 00800138 00800138 00000506 2**0
ALLOC
3 .stab 000006cc 00000000 00000000 000004e8 2**2
3 .stab 000006cc 00000000 00000000 00000508 2**2
CONTENTS, READONLY, DEBUGGING
4 .stabstr 00000082 00000000 00000000 00000bb4 2**0
4 .stabstr 00000082 00000000 00000000 00000bd4 2**0
CONTENTS, READONLY, DEBUGGING
5 .comment 0000002f 00000000 00000000 00000c36 2**0
5 .comment 0000002f 00000000 00000000 00000c56 2**0
CONTENTS, READONLY
6 .debug_aranges 00000050 00000000 00000000 00000c65 2**0
6 .debug_aranges 00000050 00000000 00000000 00000c85 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_info 00003a03 00000000 00000000 00000cb5 2**0
7 .debug_info 00003b6a 00000000 00000000 00000cd5 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_abbrev 000003fb 00000000 00000000 000046b8 2**0
8 .debug_abbrev 000003fb 00000000 00000000 0000483f 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_line 0000048c 00000000 00000000 00004ab3 2**0
9 .debug_line 000004ac 00000000 00000000 00004c3a 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_frame 000000b0 00000000 00000000 00004f40 2**2
10 .debug_frame 000000b0 00000000 00000000 000050e8 2**2
CONTENTS, READONLY, DEBUGGING
11 .debug_str 00001252 00000000 00000000 00004ff0 2**0
11 .debug_str 00001293 00000000 00000000 00005198 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_loc 0000055f 00000000 00000000 00006242 2**0
12 .debug_loc 000005d7 00000000 00000000 0000642b 2**0
CONTENTS, READONLY, DEBUGGING
13 .debug_ranges 00000040 00000000 00000000 000067a1 2**0
13 .debug_ranges 00000040 00000000 00000000 00006a02 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
@ -41,7 +41,7 @@ Disassembly of section .text:
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 51 01 jmp 0x2a2 ; 0x2a2 <__vector_6>
18: 0c 94 5d 01 jmp 0x2ba ; 0x2ba <__vector_6>
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>
@ -58,7 +58,7 @@ Disassembly of section .text:
50: 0c 94 53 00 jmp 0xa6 ; 0xa6 <__bad_interrupt>
00000054 <__ctors_start>:
54: a8 01 movw r20, r16
54: b4 01 movw r22, r8
00000056 <__ctors_end>:
56: 11 24 eor r1, r1
@ -72,7 +72,7 @@ Disassembly of section .text:
62: 11 e0 ldi r17, 0x01 ; 1
64: a0 e6 ldi r26, 0x60 ; 96
66: b0 e0 ldi r27, 0x00 ; 0
68: ec e7 ldi r30, 0x7C ; 124
68: ea e9 ldi r30, 0x9A ; 154
6a: f3 e0 ldi r31, 0x03 ; 3
6c: 02 c0 rjmp .+4 ; 0x72 <__do_copy_data+0x10>
6e: 05 90 lpm r0, Z+
@ -91,7 +91,7 @@ Disassembly of section .text:
80: 1d 92 st X+, r1
00000082 <.do_clear_bss_start>:
82: ab 33 cpi r26, 0x3B ; 59
82: ac 33 cpi r26, 0x3C ; 60
84: b2 07 cpc r27, r18
86: e1 f7 brne .-8 ; 0x80 <.do_clear_bss_loop>
@ -102,20 +102,20 @@ Disassembly of section .text:
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 b8 01 call 0x370 ; 0x370 <__tablejump__>
94: 0e 94 c7 01 call 0x38e ; 0x38e <__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 4e 01 call 0x29c ; 0x29c <main>
a2: 0c 94 bc 01 jmp 0x378 ; 0x378 <_exit>
9e: 0e 94 5a 01 call 0x2b4 ; 0x2b4 <main>
a2: 0c 94 cb 01 jmp 0x396 ; 0x396 <_exit>
000000a6 <__bad_interrupt>:
a6: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
000000aa <_Z5setupv>:
ledclass l;
ssrclass o;
usartclass r(l);
adcclass a;
void setup()
{
@ -919,7 +919,7 @@ namespace avrlib {
22a: 81 91 ld r24, Z+
22c: 81 11 cpse r24, r1
22e: f6 cf rjmp .-20 ; 0x21c <_Z5setupv+0x172>
230: 25 c0 rjmp .+74 ; 0x27c <_Z5setupv+0x1d2>
230: 23 c0 rjmp .+70 ; 0x278 <_Z5setupv+0x1ce>
namespace avrlib {
struct portb
@ -967,559 +967,589 @@ namespace avrlib {
240: 81 91 ld r24, Z+
242: 81 11 cpse r24, r1
244: f6 cf rjmp .-20 ; 0x232 <_Z5setupv+0x188>
246: e2 ed ldi r30, 0xD2 ; 210
248: f0 e0 ldi r31, 0x00 ; 0
24a: 83 e2 ldi r24, 0x23 ; 35
246: 20 c0 rjmp .+64 ; 0x288 <_Z5setupv+0x1de>
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
24c: c3 9a sbi 0x18, 3 ; 24
248: c3 9a sbi 0x18, 3 ; 24
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; }
24e: bb 9a sbi 0x17, 3 ; 23
24a: bb 9a sbi 0x17, 3 ; 23
UBRRH = 0;
UBRRL = (F_CPU / (baudrate * 16L) - 1);
}
uint8_t uart_putchar(uint8_t c) {
led.on(led.YELLOW);
loop_until_bit_is_set(UCSRA, UDRE); //Ausgabe des Zeichens
250: 5d 9b sbis 0x0b, 5 ; 11
252: fe cf rjmp .-4 ; 0x250 <_Z5setupv+0x1a6>
24c: 5d 9b sbis 0x0b, 5 ; 11
24e: fe cf rjmp .-4 ; 0x24c <_Z5setupv+0x1a2>
UDR = c;
254: 8c b9 out 0x0c, r24 ; 12
250: 8c b9 out 0x0c, r24 ; 12
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
256: c3 98 cbi 0x18, 3 ; 24
252: c3 98 cbi 0x18, 3 ; 24
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; }
258: bb 9a sbi 0x17, 3 ; 23
254: bb 9a sbi 0x17, 3 ; 23
init();
this->led = l;
send("Uart done!\n");
}
void send(const char *text) {
while (*text)
25a: 81 91 ld r24, Z+
25c: 81 11 cpse r24, r1
25e: f6 cf rjmp .-20 ; 0x24c <_Z5setupv+0x1a2>
260: 15 c0 rjmp .+42 ; 0x28c <_Z5setupv+0x1e2>
256: 81 91 ld r24, Z+
258: 81 11 cpse r24, r1
25a: f6 cf rjmp .-20 ; 0x248 <_Z5setupv+0x19e>
25c: 23 c0 rjmp .+70 ; 0x2a4 <_Z5setupv+0x1fa>
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
262: c3 9a sbi 0x18, 3 ; 24
25e: c3 9a sbi 0x18, 3 ; 24
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; }
264: bb 9a sbi 0x17, 3 ; 23
260: bb 9a sbi 0x17, 3 ; 23
UBRRH = 0;
UBRRL = (F_CPU / (baudrate * 16L) - 1);
}
uint8_t uart_putchar(uint8_t c) {
led.on(led.YELLOW);
loop_until_bit_is_set(UCSRA, UDRE); //Ausgabe des Zeichens
266: 5d 9b sbis 0x0b, 5 ; 11
268: fe cf rjmp .-4 ; 0x266 <_Z5setupv+0x1bc>
262: 5d 9b sbis 0x0b, 5 ; 11
264: fe cf rjmp .-4 ; 0x262 <_Z5setupv+0x1b8>
UDR = c;
26a: 8c b9 out 0x0c, r24 ; 12
266: 8c b9 out 0x0c, r24 ; 12
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
26c: c3 98 cbi 0x18, 3 ; 24
268: c3 98 cbi 0x18, 3 ; 24
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; }
26e: bb 9a sbi 0x17, 3 ; 23
26a: bb 9a sbi 0x17, 3 ; 23
init();
this->led = l;
send("Uart done!\n");
}
void send(const char *text) {
while (*text)
270: 81 91 ld r24, Z+
272: 81 11 cpse r24, r1
274: f6 cf rjmp .-20 ; 0x262 <_Z5setupv+0x1b8>
26c: 81 91 ld r24, Z+
26e: 81 11 cpse r24, r1
270: f6 cf rjmp .-20 ; 0x25e <_Z5setupv+0x1b4>
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
276: c2 9a sbi 0x18, 2 ; 24
272: c2 9a sbi 0x18, 2 ; 24
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; }
278: ba 9a sbi 0x17, 2 ; 23
27a: 0e c0 rjmp .+28 ; 0x298 <_Z5setupv+0x1ee>
274: ba 9a sbi 0x17, 2 ; 23
276: 1c c0 rjmp .+56 ; 0x2b0 <_Z5setupv+0x206>
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
27c: c4 98 cbi 0x18, 4 ; 24
278: c4 98 cbi 0x18, 4 ; 24
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; }
27e: bc 9a sbi 0x17, 4 ; 23
27a: bc 9a sbi 0x17, 4 ; 23
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
280: c3 9a sbi 0x18, 3 ; 24
27c: c3 9a sbi 0x18, 3 ; 24
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; }
282: bb 9a sbi 0x17, 3 ; 23
284: e2 ee ldi r30, 0xE2 ; 226
286: f0 e0 ldi r31, 0x00 ; 0
288: 83 e2 ldi r24, 0x23 ; 35
28a: d3 cf rjmp .-90 ; 0x232 <_Z5setupv+0x188>
27e: bb 9a sbi 0x17, 3 ; 23
280: e2 ed ldi r30, 0xD2 ; 210
282: f0 e0 ldi r31, 0x00 ; 0
284: 83 e2 ldi r24, 0x23 ; 35
286: d5 cf rjmp .-86 ; 0x232 <_Z5setupv+0x188>
public:
Adc() {
init();
}
void on() {
ADCSRA |= (1<<ADEN);
288: 37 9a sbi 0x06, 7 ; 6
28a: 2f ef ldi r18, 0xFF ; 255
28c: 81 ee ldi r24, 0xE1 ; 225
28e: 94 e0 ldi r25, 0x04 ; 4
290: 21 50 subi r18, 0x01 ; 1
292: 80 40 sbci r24, 0x00 ; 0
294: 90 40 sbci r25, 0x00 ; 0
296: e1 f7 brne .-8 ; 0x290 <_Z5setupv+0x1e6>
298: 00 c0 rjmp .+0 ; 0x29a <_Z5setupv+0x1f0>
29a: 00 00 nop
29c: ef ed ldi r30, 0xDF ; 223
29e: f0 e0 ldi r31, 0x00 ; 0
2a0: 83 e2 ldi r24, 0x23 ; 35
2a2: d2 cf rjmp .-92 ; 0x248 <_Z5setupv+0x19e>
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
28c: c3 98 cbi 0x18, 3 ; 24
2a4: c3 98 cbi 0x18, 3 ; 24
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; }
28e: bb 9a sbi 0x17, 3 ; 23
290: ef ee ldi r30, 0xEF ; 239
292: f0 e0 ldi r31, 0x00 ; 0
294: 83 e2 ldi r24, 0x23 ; 35
296: e5 cf rjmp .-54 ; 0x262 <_Z5setupv+0x1b8>
2a6: bb 9a sbi 0x17, 3 ; 23
2a8: ef ee ldi r30, 0xEF ; 239
2aa: f0 e0 ldi r31, 0x00 ; 0
2ac: 83 e2 ldi r24, 0x23 ; 35
2ae: d7 cf rjmp .-82 ; 0x25e <_Z5setupv+0x1b4>
r.send("# Setup Button\n");
//button on
l.off(l.YELLOW);
r.send("#### End Bootup ###########################################\n");
l.on(l.GREEN);
}
298: cf 91 pop r28
29a: 08 95 ret
2b0: cf 91 pop r28
2b2: 08 95 ret
0000029c <main>:
000002b4 <main>:
int main(void)
{
setup();
29c: 0e 94 55 00 call 0xaa ; 0xaa <_Z5setupv>
2a0: ff cf rjmp .-2 ; 0x2a0 <main+0x4>
2b4: 0e 94 55 00 call 0xaa ; 0xaa <_Z5setupv>
2b8: ff cf rjmp .-2 ; 0x2b8 <main+0x4>
000002a2 <__vector_6>:
000002ba <__vector_6>:
{
}
}
ISR(TIMER1_COMPA_vect) {
2a2: 1f 92 push r1
2a4: 0f 92 push r0
2a6: 0f b6 in r0, 0x3f ; 63
2a8: 0f 92 push r0
2aa: 11 24 eor r1, r1
2ac: 8f 93 push r24
2ae: 9f 93 push r25
2ba: 1f 92 push r1
2bc: 0f 92 push r0
2be: 0f b6 in r0, 0x3f ; 63
2c0: 0f 92 push r0
2c2: 11 24 eor r1, r1
2c4: 8f 93 push r24
2c6: 9f 93 push r25
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
2b0: 95 b3 in r25, 0x15 ; 21
2c8: 95 b3 in r25, 0x15 ; 21
Port::port(Port::port() & ~(1<<Pin));
}
static void clear() { set(false); }
static void toggle() { Port::port(Port::port() ^ (1<<Pin)); }
2b2: 84 e0 ldi r24, 0x04 ; 4
2b4: 89 27 eor r24, r25
2ca: 84 e0 ldi r24, 0x04 ; 4
2cc: 89 27 eor r24, r25
static void port(uint8_t v) { PORTC = v; }
2b6: 85 bb out 0x15, r24 ; 21
2ce: 85 bb out 0x15, r24 ; 21
o.timer();
2b8: 9f 91 pop r25
2ba: 8f 91 pop r24
2bc: 0f 90 pop r0
2be: 0f be out 0x3f, r0 ; 63
2c0: 0f 90 pop r0
2c2: 1f 90 pop r1
2c4: 18 95 reti
2d0: 9f 91 pop r25
2d2: 8f 91 pop r24
2d4: 0f 90 pop r0
2d6: 0f be out 0x3f, r0 ; 63
2d8: 0f 90 pop r0
2da: 1f 90 pop r1
2dc: 18 95 reti
000002c6 <_ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE>:
000002de <_ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE>:
#define USART_H_
template <uint32_t baudrate, typename RSPort, int pin_rts, int pin_cts, int pin_pwren>
class Usart {
public:
Usart(ledclass l) {
2c6: cf 93 push r28
2c8: df 93 push r29
2ca: 1f 92 push r1
2cc: cd b7 in r28, 0x3d ; 61
2ce: de b7 in r29, 0x3e ; 62
2d0: 69 83 std Y+1, r22 ; 0x01
2d2: bc 9a sbi 0x17, 4 ; 23
2d4: bb 9a sbi 0x17, 3 ; 23
2d6: ba 9a sbi 0x17, 2 ; 23
2de: cf 93 push r28
2e0: df 93 push r29
2e2: 1f 92 push r1
2e4: cd b7 in r28, 0x3d ; 61
2e6: de b7 in r29, 0x3e ; 62
2e8: 69 83 std Y+1, r22 ; 0x01
2ea: bc 9a sbi 0x17, 4 ; 23
2ec: bb 9a sbi 0x17, 3 ; 23
2ee: ba 9a sbi 0x17, 2 ; 23
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
2d8: c4 98 cbi 0x18, 4 ; 24
2f0: c4 98 cbi 0x18, 4 ; 24
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; }
2da: bc 9a sbi 0x17, 4 ; 23
2f2: bc 9a sbi 0x17, 4 ; 23
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
2dc: c3 98 cbi 0x18, 3 ; 24
2f4: c3 98 cbi 0x18, 3 ; 24
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; }
2de: bb 9a sbi 0x17, 3 ; 23
2f6: bb 9a sbi 0x17, 3 ; 23
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
2e0: c2 98 cbi 0x18, 2 ; 24
2f8: c2 98 cbi 0x18, 2 ; 24
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; }
2e2: ba 9a sbi 0x17, 2 ; 23
2fa: ba 9a sbi 0x17, 2 ; 23
private:
void init() {
//txd::make_output();
//rxd::make_input();
UCSRA = 0;
2e4: 1b b8 out 0x0b, r1 ; 11
2fc: 1b b8 out 0x0b, r1 ; 11
UCSRB = (1<<TXEN);
2e6: 88 e0 ldi r24, 0x08 ; 8
2e8: 8a b9 out 0x0a, r24 ; 10
2fe: 88 e0 ldi r24, 0x08 ; 8
300: 8a b9 out 0x0a, r24 ; 10
UCSRC = (1<<URSEL) | (1<<UPM1) | (1<<UCSZ1) | (1<<UCSZ0); //8E1
2ea: 86 ea ldi r24, 0xA6 ; 166
2ec: 80 bd out 0x20, r24 ; 32
302: 86 ea ldi r24, 0xA6 ; 166
304: 80 bd out 0x20, r24 ; 32
UBRRH = 0;
2ee: 10 bc out 0x20, r1 ; 32
306: 10 bc out 0x20, r1 ; 32
UBRRL = (F_CPU / (baudrate * 16L) - 1);
2f0: 89 e1 ldi r24, 0x19 ; 25
2f2: 89 b9 out 0x09, r24 ; 9
2f4: ec e2 ldi r30, 0x2C ; 44
2f6: f1 e0 ldi r31, 0x01 ; 1
308: 89 e1 ldi r24, 0x19 ; 25
30a: 89 b9 out 0x09, r24 ; 9
30c: ec e2 ldi r30, 0x2C ; 44
30e: f1 e0 ldi r31, 0x01 ; 1
init();
this->led = l;
send("Uart done!\n");
}
void send(const char *text) {
while (*text)
2f8: 85 e5 ldi r24, 0x55 ; 85
310: 85 e5 ldi r24, 0x55 ; 85
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
2fa: c3 9a sbi 0x18, 3 ; 24
312: c3 9a sbi 0x18, 3 ; 24
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; }
2fc: bb 9a sbi 0x17, 3 ; 23
314: bb 9a sbi 0x17, 3 ; 23
UBRRH = 0;
UBRRL = (F_CPU / (baudrate * 16L) - 1);
}
uint8_t uart_putchar(uint8_t c) {
led.on(led.YELLOW);
loop_until_bit_is_set(UCSRA, UDRE); //Ausgabe des Zeichens
2fe: 5d 9b sbis 0x0b, 5 ; 11
300: fe cf rjmp .-4 ; 0x2fe <_ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE+0x38>
316: 5d 9b sbis 0x0b, 5 ; 11
318: fe cf rjmp .-4 ; 0x316 <_ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE+0x38>
UDR = c;
302: 8c b9 out 0x0c, r24 ; 12
31a: 8c b9 out 0x0c, r24 ; 12
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
304: c3 98 cbi 0x18, 3 ; 24
31c: c3 98 cbi 0x18, 3 ; 24
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; }
306: bb 9a sbi 0x17, 3 ; 23
31e: bb 9a sbi 0x17, 3 ; 23
init();
this->led = l;
send("Uart done!\n");
}
void send(const char *text) {
while (*text)
308: 81 91 ld r24, Z+
30a: 81 11 cpse r24, r1
30c: f6 cf rjmp .-20 ; 0x2fa <_ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE+0x34>
320: 81 91 ld r24, Z+
322: 81 11 cpse r24, r1
324: f6 cf rjmp .-20 ; 0x312 <_ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE+0x34>
public:
Usart(ledclass l) {
init();
this->led = l;
send("Uart done!\n");
}
30e: 0f 90 pop r0
310: df 91 pop r29
312: cf 91 pop r28
314: 08 95 ret
326: 0f 90 pop r0
328: df 91 pop r29
32a: cf 91 pop r28
32c: 08 95 ret
00000316 <_ZN3LedIN6avrlib5portbELi4ELi3ELi2EE4initEv>:
316: bc 9a sbi 0x17, 4 ; 23
318: bb 9a sbi 0x17, 3 ; 23
31a: ba 9a sbi 0x17, 2 ; 23
0000032e <_ZN3LedIN6avrlib5portbELi4ELi3ELi2EE4initEv>:
32e: bc 9a sbi 0x17, 4 ; 23
330: bb 9a sbi 0x17, 3 ; 23
332: ba 9a sbi 0x17, 2 ; 23
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
31c: c4 98 cbi 0x18, 4 ; 24
334: c4 98 cbi 0x18, 4 ; 24
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; }
31e: bc 9a sbi 0x17, 4 ; 23
336: bc 9a sbi 0x17, 4 ; 23
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
320: c3 98 cbi 0x18, 3 ; 24
338: c3 98 cbi 0x18, 3 ; 24
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; }
322: bb 9a sbi 0x17, 3 ; 23
33a: bb 9a sbi 0x17, 3 ; 23
namespace avrlib {
struct portb
{
static uint8_t port() { return PORTB; }
static void port(uint8_t v) { PORTB = v; }
324: c2 98 cbi 0x18, 2 ; 24
33c: c2 98 cbi 0x18, 2 ; 24
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; }
326: ba 9a sbi 0x17, 2 ; 23
328: 08 95 ret
33e: ba 9a sbi 0x17, 2 ; 23
340: 08 95 ret
0000032a <_ZN3SSRIN6avrlib5portcELi2ELi3ELi4ELi5ELi6ELi7EE4initEv>:
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; }
32a: a2 9a sbi 0x14, 2 ; 20
32c: a3 9a sbi 0x14, 3 ; 20
32e: a4 9a sbi 0x14, 4 ; 20
330: a5 9a sbi 0x14, 5 ; 20
332: a6 9a sbi 0x14, 6 ; 20
334: a7 9a sbi 0x14, 7 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
336: aa 98 cbi 0x15, 2 ; 21
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; }
338: a2 9a sbi 0x14, 2 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
33a: ab 98 cbi 0x15, 3 ; 21
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; }
33c: a3 9a sbi 0x14, 3 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
33e: ac 98 cbi 0x15, 4 ; 21
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; }
340: a4 9a sbi 0x14, 4 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
342: ad 98 cbi 0x15, 5 ; 21
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; }
344: a5 9a sbi 0x14, 5 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
346: ae 98 cbi 0x15, 6 ; 21
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; }
348: a6 9a sbi 0x14, 6 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
34a: af 98 cbi 0x15, 7 ; 21
00000342 <_ZN3SSRIN6avrlib5portcELi2ELi3ELi4ELi5ELi6ELi7EE4initEv>:
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; }
342: a2 9a sbi 0x14, 2 ; 20
344: a3 9a sbi 0x14, 3 ; 20
346: a4 9a sbi 0x14, 4 ; 20
348: a5 9a sbi 0x14, 5 ; 20
34a: a6 9a sbi 0x14, 6 ; 20
34c: a7 9a sbi 0x14, 7 ; 20
34e: 08 95 ret
namespace avrlib {
00000350 <_GLOBAL__sub_I_l>:
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
34e: aa 98 cbi 0x15, 2 ; 21
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; }
350: a2 9a sbi 0x14, 2 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
352: ab 98 cbi 0x15, 3 ; 21
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; }
354: a3 9a sbi 0x14, 3 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
356: ac 98 cbi 0x15, 4 ; 21
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; }
358: a4 9a sbi 0x14, 4 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
35a: ad 98 cbi 0x15, 5 ; 21
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; }
35c: a5 9a sbi 0x14, 5 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
35e: ae 98 cbi 0x15, 6 ; 21
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; }
360: a6 9a sbi 0x14, 6 ; 20
namespace avrlib {
struct portc
{
static uint8_t port() { return PORTC; }
static void port(uint8_t v) { PORTC = v; }
362: af 98 cbi 0x15, 7 ; 21
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; }
364: a7 9a sbi 0x14, 7 ; 20
366: 08 95 ret
00000368 <_GLOBAL__sub_I_l>:
template <typename Port, int pin_red, int pin_yellow, int pin_green>
class Led {
public:
Led() {
init();
350: 8a e3 ldi r24, 0x3A ; 58
352: 91 e0 ldi r25, 0x01 ; 1
354: 0e 94 8b 01 call 0x316 ; 0x316 <_ZN3LedIN6avrlib5portbELi4ELi3ELi2EE4initEv>
368: 8b e3 ldi r24, 0x3B ; 59
36a: 91 e0 ldi r25, 0x01 ; 1
36c: 0e 94 97 01 call 0x32e ; 0x32e <_ZN3LedIN6avrlib5portbELi4ELi3ELi2EE4initEv>
template <typename Port, int pin_out1, int pin_out2, int pin_out3, int pin_out4, int pin_out5, int pin_out6>
class SSR {
public:
SSR() {
init();
358: 89 e3 ldi r24, 0x39 ; 57
35a: 91 e0 ldi r25, 0x01 ; 1
35c: 0e 94 95 01 call 0x32a ; 0x32a <_ZN3SSRIN6avrlib5portcELi2ELi3ELi4ELi5ELi6ELi7EE4initEv>
370: 8a e3 ldi r24, 0x3A ; 58
372: 91 e0 ldi r25, 0x01 ; 1
374: 0e 94 a1 01 call 0x342 ; 0x342 <_ZN3SSRIN6avrlib5portcELi2ELi3ELi4ELi5ELi6ELi7EE4initEv>
#include "peripheral.h"
ledclass l;
ssrclass o;
usartclass r(l);
360: 60 e0 ldi r22, 0x00 ; 0
362: 88 e3 ldi r24, 0x38 ; 56
364: 91 e0 ldi r25, 0x01 ; 1
366: 0e 94 63 01 call 0x2c6 ; 0x2c6 <_ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE>
36a: 08 95 ret
378: 60 e0 ldi r22, 0x00 ; 0
37a: 89 e3 ldi r24, 0x39 ; 57
37c: 91 e0 ldi r25, 0x01 ; 1
37e: 0e 94 6f 01 call 0x2de ; 0x2de <_ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE>
_delay_ms(100);
}
private:
void init() {
ADCSRA = (1<<ADPS2);
382: 84 e0 ldi r24, 0x04 ; 4
384: 86 b9 out 0x06, r24 ; 6
if(avcc) {
ADMUX = (1<<REFS0);
} else {
ADMUX = 0;
386: 17 b8 out 0x07, r1 ; 7
388: 08 95 ret
0000036c <__tablejump2__>:
36c: ee 0f add r30, r30
36e: ff 1f adc r31, r31
0000038a <__tablejump2__>:
38a: ee 0f add r30, r30
38c: ff 1f adc r31, r31
00000370 <__tablejump__>:
370: 05 90 lpm r0, Z+
372: f4 91 lpm r31, Z
374: e0 2d mov r30, r0
376: 09 94 ijmp
0000038e <__tablejump__>:
38e: 05 90 lpm r0, Z+
390: f4 91 lpm r31, Z
392: e0 2d mov r30, r0
394: 09 94 ijmp
00000378 <_exit>:
378: f8 94 cli
00000396 <_exit>:
396: f8 94 cli
0000037a <__stop_program>:
37a: ff cf rjmp .-2 ; 0x37a <__stop_program>
00000398 <__stop_program>:
398: ff cf rjmp .-2 ; 0x398 <__stop_program>

View File

@ -198,7 +198,7 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.rela.plt
*(.rela.plt)
.text 0x00000000 0x37c
.text 0x00000000 0x39a
*(.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
@ -280,33 +280,33 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
0x000000aa . = ALIGN (0x2)
*(.text.*)
.text._Z5setupv
0x000000aa 0x1f2 USBLaminator.o
0x000000aa 0x20a USBLaminator.o
0x000000aa _Z5setupv
.text.main 0x0000029c 0x6 USBLaminator.o
0x0000029c main
.text.main 0x000002b4 0x6 USBLaminator.o
0x000002b4 main
.text.__vector_6
0x000002a2 0x24 USBLaminator.o
0x000002a2 __vector_6
0x000002ba 0x24 USBLaminator.o
0x000002ba __vector_6
.text._ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC2E3LedINS0_5portbELi4ELi3ELi2EE
0x000002c6 0x50 USBLaminator.o
0x000002c6 _ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE
0x000002c6 _ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC2E3LedINS0_5portbELi4ELi3ELi2EE
0x000002de 0x50 USBLaminator.o
0x000002de _ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC1E3LedINS0_5portbELi4ELi3ELi2EE
0x000002de _ZN5UsartILm38400EN6avrlib5portdELi5ELi4ELi3EEC2E3LedINS0_5portbELi4ELi3ELi2EE
.text._ZN3LedIN6avrlib5portbELi4ELi3ELi2EE4initEv
0x00000316 0x14 USBLaminator.o
0x00000316 _ZN3LedIN6avrlib5portbELi4ELi3ELi2EE4initEv
0x0000032e 0x14 USBLaminator.o
0x0000032e _ZN3LedIN6avrlib5portbELi4ELi3ELi2EE4initEv
.text._ZN3SSRIN6avrlib5portcELi2ELi3ELi4ELi5ELi6ELi7EE4initEv
0x0000032a 0x26 USBLaminator.o
0x0000032a _ZN3SSRIN6avrlib5portcELi2ELi3ELi4ELi5ELi6ELi7EE4initEv
0x00000342 0x26 USBLaminator.o
0x00000342 _ZN3SSRIN6avrlib5portcELi2ELi3ELi4ELi5ELi6ELi7EE4initEv
.text._GLOBAL__sub_I_l
0x00000350 0x1c USBLaminator.o
.text.libgcc 0x0000036c 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)
0x0000036c __tablejump2__
0x00000370 __tablejump__
0x00000378 . = ALIGN (0x2)
0x00000368 0x22 USBLaminator.o
.text.libgcc 0x0000038a 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)
0x0000038a __tablejump2__
0x0000038e __tablejump__
0x00000396 . = ALIGN (0x2)
*(.fini9)
.fini9 0x00000378 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)
0x00000378 _exit
0x00000378 exit
.fini9 0x00000396 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)
0x00000396 _exit
0x00000396 exit
*(.fini9)
*(.fini8)
*(.fini8)
@ -325,11 +325,11 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x00000378 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 0x00000396 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)
0x0000037c _etext = .
0x0000039a _etext = .
.data 0x00800060 0xd8 load address 0x0000037c
.data 0x00800060 0xd8 load address 0x0000039a
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
@ -350,25 +350,26 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
0x00800138 _edata = .
0x00800138 PROVIDE (__data_end, .)
.bss 0x00800138 0x3
.bss 0x00800138 0x4
0x00800138 PROVIDE (__bss_start, .)
*(.bss)
.bss 0x00800138 0x3 USBLaminator.o
0x00800138 r
0x00800139 o
0x0080013a l
.bss 0x00800138 0x4 USBLaminator.o
0x00800138 a
0x00800139 r
0x0080013a o
0x0080013b l
*(.bss*)
*(COMMON)
0x0080013b PROVIDE (__bss_end, .)
0x0000037c __data_load_start = LOADADDR (.data)
0x00000454 __data_load_end = (__data_load_start + SIZEOF (.data))
0x0080013c PROVIDE (__bss_end, .)
0x0000039a __data_load_start = LOADADDR (.data)
0x00000472 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x0080013b 0x0
0x0080013b PROVIDE (__noinit_start, .)
.noinit 0x0080013c 0x0
0x0080013c PROVIDE (__noinit_start, .)
*(.noinit*)
0x0080013b PROVIDE (__noinit_end, .)
0x0080013b _end = .
0x0080013b PROVIDE (__heap_start, .)
0x0080013c PROVIDE (__noinit_end, .)
0x0080013c _end = .
0x0080013c PROVIDE (__heap_start, .)
.eeprom 0x00810000 0x0
*(.eeprom*)
@ -434,31 +435,31 @@ LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8
.debug_pubnames
*(.debug_pubnames)
.debug_info 0x00000000 0x3a03
.debug_info 0x00000000 0x3b6a
*(.debug_info)
.debug_info 0x00000000 0x3a03 USBLaminator.o
.debug_info 0x00000000 0x3b6a USBLaminator.o
*(.gnu.linkonce.wi.*)
.debug_abbrev 0x00000000 0x3fb
*(.debug_abbrev)
.debug_abbrev 0x00000000 0x3fb USBLaminator.o
.debug_line 0x00000000 0x48c
.debug_line 0x00000000 0x4ac
*(.debug_line)
.debug_line 0x00000000 0x48c USBLaminator.o
.debug_line 0x00000000 0x4ac USBLaminator.o
.debug_frame 0x00000000 0xb0
*(.debug_frame)
.debug_frame 0x00000000 0xb0 USBLaminator.o
.debug_str 0x00000000 0x1252
.debug_str 0x00000000 0x1293
*(.debug_str)
.debug_str 0x00000000 0x1252 USBLaminator.o
0x12a2 (size before relaxing)
.debug_str 0x00000000 0x1293 USBLaminator.o
0x12e3 (size before relaxing)
.debug_loc 0x00000000 0x55f
.debug_loc 0x00000000 0x5d7
*(.debug_loc)
.debug_loc 0x00000000 0x55f USBLaminator.o
.debug_loc 0x00000000 0x5d7 USBLaminator.o
.debug_macinfo
*(.debug_macinfo)

View File

@ -1,15 +1,15 @@
S01400005553424C616D696E61746F722E737265637F
S11300000C942B000C9453000C9453000C94530048
S11300100C9453000C9453000C9451010C94530011
S11300100C9453000C9453000C945D010C94530005
S11300200C9453000C9453000C9453000C94530000
S11300300C9453000C9453000C9453000C945300F0
S11300400C9453000C9453000C9453000C945300E0
S11300500C945300A80111241FBECFE5D4E0DEBFE9
S1130060CDBF11E0A0E6B0E0ECE7F3E002C00590FC
S11300500C945300B40111241FBECFE5D4E0DEBFDD
S1130060CDBF11E0A0E6B0E0EAE9F3E002C00590FC
S11300700D92A833B107D9F721E0A8E3B1E001C09C
S11300801D92AB33B207E1F710E0C6E5D0E004C03F
S11300902297FE010E94B801C435D107C9F70E9416
S11300A04E010C94BC010C940000CF93C49ABC9AEA
S11300801D92AC33B207E1F710E0C6E5D0E004C03E
S11300902297FE010E94C701C435D107C9F70E9407
S11300A05A010C94CB010C940000CF93C49ABC9ACF
S11300B0AA98A29AAB98A39AAC98A49AAD98A59A38
S11300C0AE98A69AAF98A79AE1E6F0E083E2C39AC5
S11300D0BB9A5D9BFECF8CB9C398BB9A8191811169
@ -34,39 +34,41 @@ S11301F0F6CF1FBC8EB58B608EBD1DBC1CBC17BC5E
S113020016BC81E68BBD88EA8ABD19BC18BC89B7C7
S1130210806189BF7894ECEBF0E083E2C39ABB9AE7
S11302205D9BFECF8CB9C398BB9A81918111F6CFA7
S113023025C0C39ABB9A5D9BFECF8CB9C398BB9A69
S113024081918111F6CFE2EDF0E083E2C39ABB9A8B
S11302505D9BFECF8CB9C398BB9A81918111F6CF77
S113026015C0C39ABB9A5D9BFECF8CB9C398BB9A49
S113027081918111F6CFC29ABA9A0EC0C498BC9AE1
S1130280C39ABB9AE2EEF0E083E2D3CFC398BB9A61
S1130290EFEEF0E083E2E5CFCF9108950E945500A0
S11302A0FFCF1F920F920FB60F9211248F939F933B
S11302B095B384E0892785BB9F918F910F900FBEE2
S11302C00F901F901895CF93DF931F92CDB7DEB791
S11302D06983BC9ABB9ABA9AC498BC9AC398BB9ACD
S11302E0C298BA9A1BB888E08AB986EA80BD10BC65
S11302F089E189B9ECE2F1E085E5C39ABB9A5D9B9B
S1130300FECF8CB9C398BB9A81918111F6CF0F901F
S1130310DF91CF910895BC9ABB9ABA9AC498BC9ABB
S1130320C398BB9AC298BA9A0895A29AA39AA49A17
S1130330A59AA69AA79AAA98A29AAB98A39AAC98B7
S1130340A49AAD98A59AAE98A69AAF98A79A08953C
S11303508AE391E00E948B0189E391E00E94950178
S113036060E088E391E00E9463010895EE0FFF1FAF
S10F03700590F491E02D0994F894FFCF5F
S113037C2323232320426567696E20426F6F7475B3
S113038C70202323232323232323232323232323E3
S113039C232323232323232323232323232323231D
S11303AC23232323232323232323230A002320541B
S11303BC657374204F75747075740A00232053652B
S11303CC7475702054696D65720A002323204F756F
S11303DC7470757420496E697420446F6E65210ABB
S11303EC002320536574757020427574746F6E0A03
S11303FC0023205365747570204144430A00232361
S113040C232320456E6420426F6F74757020232360
S113041C232323232323232323232323232323239C
S113042C232323232323232323232323232323238C
S113043C2323232323232323230A005561727420AB
S10B044C646F6E65210A0000D3
S113023023C0C39ABB9A5D9BFECF8CB9C398BB9A6B
S113024081918111F6CF20C0C39ABB9A5D9BFECFEA
S11302508CB9C398BB9A81918111F6CF23C0C39AFC
S1130260BB9A5D9BFECF8CB9C398BB9A81918111D7
S1130270F6CFC29ABA9A1CC0C498BC9AC39ABB9AC5
S1130280E2EDF0E083E2D5CF379A2FEF81EE94E0F0
S1130290215080409040E1F700C00000EFEDF0E015
S11302A083E2D2CFC398BB9AEFEEF0E083E2D7CFDC
S11302B0CF9108950E945500FFCF1F920F920FB661
S11302C00F9211248F939F9395B384E0892785BB64
S11302D09F918F910F900FBE0F901F901895CF9301
S11302E0DF931F92CDB7DEB76983BC9ABB9ABA9AE3
S11302F0C498BC9AC398BB9AC298BA9A1BB888E0AF
S11303008AB986EA80BD10BC89E189B9ECE2F1E0E2
S113031085E5C39ABB9A5D9BFECF8CB9C398BB9A03
S113032081918111F6CF0F90DF91CF910895BC9AFE
S1130330BB9ABA9AC498BC9AC398BB9AC298BA9A00
S11303400895A29AA39AA49AA59AA69AA79AAA9853
S1130350A29AAB98A39AAC98A49AAD98A59AAE9891
S1130360A69AAF98A79A08958BE391E00E9497010B
S11303708AE391E00E94A10160E089E391E00E9498
S11303806F0184E086B917B80895EE0FFF1F05903A
S10D0390F491E02D0994F894FFCFD6
S113039A2323232320426567696E20426F6F747595
S11303AA70202323232323232323232323232323C5
S11303BA23232323232323232323232323232323FF
S11303CA23232323232323232323230A00232054FD
S11303DA657374204F75747075740A00232053650D
S11303EA7475702054696D65720A002323204F7551
S11303FA7470757420496E697420446F6E65210A9D
S113040A0023205365747570204144430A00232055
S113041A536574757020427574746F6E0A002323D1
S113042A232320456E6420426F6F74757020232342
S113043A232323232323232323232323232323237E
S113044A232323232323232323232323232323236E
S113045A2323232323232323230A0055617274208D
S10B046A646F6E65210A0000B5
S9030000FC

View File

@ -46,7 +46,7 @@ typedef Usart<
> usartclass;
#include "io/ADC.hpp"
typedef ADC<
typedef Adc<
false //AREF powsersource
> adcclass;