2
This commit is contained in:
parent
0b30e830bf
commit
e53b583fd2
7 changed files with 281 additions and 323 deletions
Binary file not shown.
|
@ -1,25 +1,22 @@
|
||||||
:1000000014C024C023C022C021C020C01FC01EC0F5
|
:1000000014C019C018C017C016C015C014C013C042
|
||||||
:100010001DC01CC01BC01AC019C018C017C016C014
|
:1000100012C011C010C00FC00EC00DC00CC00BC06C
|
||||||
:1000200015C014C013C012C011C011241FBECFEDE3
|
:100020000AC009C008C007C006C011241FBECFED1A
|
||||||
:10003000CDBF10E0A0E6B0E0E4E6F1E002C005903C
|
:10003000CDBF80D089C0E4CFCF93C2E362D0C1509E
|
||||||
:100040000D92A236B107D9F780D08AC0D9CFCF930D
|
:10004000E9F7CF910895CF93C62F843038F48230EA
|
||||||
:10005000C2E362D0C150E9F7CF910895CF93C62F84
|
:1000500048F4882371F0813049F00CC0843051F4A9
|
||||||
:10006000843038F4823048F4882371F0813049F0CC
|
:10006000939808C04F73833009F4405C842F8068F4
|
||||||
:100070000CC0843051F4939808C04F73833009F456
|
:1000700024D0939A929A929A98B39F708C2F807FF3
|
||||||
:10008000405C842F806824D0939A929A929A98B375
|
:10008000982B98BB98B39F70892B88BB92989298B5
|
||||||
:100090009F708C2F807F982B98BB98B39F70892B73
|
:1000900038D087B3803F79F4929A929A88B3C29508
|
||||||
:1000A00088BB9298929838D087B3803F79F4929A1F
|
:1000A000C07F8F708C2B88BB88B38F70C82BC8BB68
|
||||||
:1000B000929A88B3C295C07F8F708C2B88BB88B30F
|
:1000B0009298929826D0CF91089540E0682F84E0DE
|
||||||
:1000C0008F70C82BC8BB9298929826D0CF91089574
|
:1000C000C2DF08958FEF87BB8B9A8A9A88BB939A79
|
||||||
:1000D00040E0682F84E0C2DF08958FEF87BB8B9AE2
|
:1000D000929AB2DFB1DFB0DF80E3EFDFADDF80E324
|
||||||
:1000E0008A9A88BB939A929AB2DFB1DFB0DF80E33D
|
:1000E000ECDF0FD080E3E9DF88E2E7DF87B3807FD2
|
||||||
:1000F000EFDFADDF80E3ECDF0FD080E3E9DF88E204
|
:1000F00087BB8CE0E2DF86E0E0DF82E0DEDF9CDFD2
|
||||||
:10010000E7DF87B3807F87BB8CE0E2DF86E0E0DF5C
|
:100100000895CF93DF931F92CDB7DD2784E48983D1
|
||||||
:1001100082E0DEDF9CDF0895CF93DF931F92CDB79F
|
:1001100089819FEF980F9983882341F08981898194
|
||||||
:10012000DD2784E4898389819FEF980F9983882351
|
:1001200089819FEF980F99838111F8CF0F90DF910C
|
||||||
:1001300041F08981898189819FEF980F998381118D
|
:10013000CF9108958FEF87BB8AEA88BBC3DF40E089
|
||||||
:10014000F8CF0F90DF91CF9108958FEF87BB8AEAA8
|
:0C01400061E480E080DFFFCFF894FFCF87
|
||||||
:1001500088BBC3DF40E060E670E080E07FDFFFCF78
|
|
||||||
:04016000F894FFCF41
|
|
||||||
:02016400740025
|
|
||||||
:00000001FF
|
:00000001FF
|
||||||
|
|
|
@ -3,338 +3,324 @@ AtTiny_alarm_clock.elf: file format elf32-avr
|
||||||
|
|
||||||
Sections:
|
Sections:
|
||||||
Idx Name Size VMA LMA File off Algn
|
Idx Name Size VMA LMA File off Algn
|
||||||
0 .text 00000164 00000000 00000000 00000074 2**1
|
0 .text 0000014c 00000000 00000000 00000054 2**1
|
||||||
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
||||||
1 .data 00000002 00800060 00000164 000001d8 2**0
|
1 .data 00000000 00800060 00800060 000001a0 2**0
|
||||||
CONTENTS, ALLOC, LOAD, DATA
|
CONTENTS, ALLOC, LOAD, DATA
|
||||||
2 .comment 00000030 00000000 00000000 000001da 2**0
|
2 .comment 00000030 00000000 00000000 000001a0 2**0
|
||||||
CONTENTS, READONLY
|
CONTENTS, READONLY
|
||||||
3 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 0000020c 2**2
|
3 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 000001d0 2**2
|
||||||
CONTENTS, READONLY
|
CONTENTS, READONLY
|
||||||
4 .debug_aranges 00000088 00000000 00000000 0000024c 2**0
|
4 .debug_aranges 00000088 00000000 00000000 00000210 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
5 .debug_info 0000090f 00000000 00000000 000002d4 2**0
|
5 .debug_info 00000915 00000000 00000000 00000298 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
6 .debug_abbrev 00000631 00000000 00000000 00000be3 2**0
|
6 .debug_abbrev 00000631 00000000 00000000 00000bad 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
7 .debug_line 00000517 00000000 00000000 00001214 2**0
|
7 .debug_line 00000517 00000000 00000000 000011de 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
8 .debug_frame 000000f4 00000000 00000000 0000172c 2**2
|
8 .debug_frame 000000f4 00000000 00000000 000016f8 2**2
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
9 .debug_str 0000035c 00000000 00000000 00001820 2**0
|
9 .debug_str 0000035c 00000000 00000000 000017ec 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
10 .debug_loc 0000028c 00000000 00000000 00001b7c 2**0
|
10 .debug_loc 0000028c 00000000 00000000 00001b48 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
11 .debug_ranges 00000058 00000000 00000000 00001e08 2**0
|
11 .debug_ranges 00000058 00000000 00000000 00001dd4 2**0
|
||||||
CONTENTS, READONLY, DEBUGGING
|
CONTENTS, READONLY, DEBUGGING
|
||||||
|
|
||||||
Disassembly of section .text:
|
Disassembly of section .text:
|
||||||
|
|
||||||
00000000 <__vectors>:
|
00000000 <__vectors>:
|
||||||
0: 14 c0 rjmp .+40 ; 0x2a <__ctors_end>
|
0: 14 c0 rjmp .+40 ; 0x2a <__ctors_end>
|
||||||
2: 24 c0 rjmp .+72 ; 0x4c <__bad_interrupt>
|
2: 19 c0 rjmp .+50 ; 0x36 <__bad_interrupt>
|
||||||
4: 23 c0 rjmp .+70 ; 0x4c <__bad_interrupt>
|
4: 18 c0 rjmp .+48 ; 0x36 <__bad_interrupt>
|
||||||
6: 22 c0 rjmp .+68 ; 0x4c <__bad_interrupt>
|
6: 17 c0 rjmp .+46 ; 0x36 <__bad_interrupt>
|
||||||
8: 21 c0 rjmp .+66 ; 0x4c <__bad_interrupt>
|
8: 16 c0 rjmp .+44 ; 0x36 <__bad_interrupt>
|
||||||
a: 20 c0 rjmp .+64 ; 0x4c <__bad_interrupt>
|
a: 15 c0 rjmp .+42 ; 0x36 <__bad_interrupt>
|
||||||
c: 1f c0 rjmp .+62 ; 0x4c <__bad_interrupt>
|
c: 14 c0 rjmp .+40 ; 0x36 <__bad_interrupt>
|
||||||
e: 1e c0 rjmp .+60 ; 0x4c <__bad_interrupt>
|
e: 13 c0 rjmp .+38 ; 0x36 <__bad_interrupt>
|
||||||
10: 1d c0 rjmp .+58 ; 0x4c <__bad_interrupt>
|
10: 12 c0 rjmp .+36 ; 0x36 <__bad_interrupt>
|
||||||
12: 1c c0 rjmp .+56 ; 0x4c <__bad_interrupt>
|
12: 11 c0 rjmp .+34 ; 0x36 <__bad_interrupt>
|
||||||
14: 1b c0 rjmp .+54 ; 0x4c <__bad_interrupt>
|
14: 10 c0 rjmp .+32 ; 0x36 <__bad_interrupt>
|
||||||
16: 1a c0 rjmp .+52 ; 0x4c <__bad_interrupt>
|
16: 0f c0 rjmp .+30 ; 0x36 <__bad_interrupt>
|
||||||
18: 19 c0 rjmp .+50 ; 0x4c <__bad_interrupt>
|
18: 0e c0 rjmp .+28 ; 0x36 <__bad_interrupt>
|
||||||
1a: 18 c0 rjmp .+48 ; 0x4c <__bad_interrupt>
|
1a: 0d c0 rjmp .+26 ; 0x36 <__bad_interrupt>
|
||||||
1c: 17 c0 rjmp .+46 ; 0x4c <__bad_interrupt>
|
1c: 0c c0 rjmp .+24 ; 0x36 <__bad_interrupt>
|
||||||
1e: 16 c0 rjmp .+44 ; 0x4c <__bad_interrupt>
|
1e: 0b c0 rjmp .+22 ; 0x36 <__bad_interrupt>
|
||||||
20: 15 c0 rjmp .+42 ; 0x4c <__bad_interrupt>
|
20: 0a c0 rjmp .+20 ; 0x36 <__bad_interrupt>
|
||||||
22: 14 c0 rjmp .+40 ; 0x4c <__bad_interrupt>
|
22: 09 c0 rjmp .+18 ; 0x36 <__bad_interrupt>
|
||||||
24: 13 c0 rjmp .+38 ; 0x4c <__bad_interrupt>
|
24: 08 c0 rjmp .+16 ; 0x36 <__bad_interrupt>
|
||||||
26: 12 c0 rjmp .+36 ; 0x4c <__bad_interrupt>
|
26: 07 c0 rjmp .+14 ; 0x36 <__bad_interrupt>
|
||||||
28: 11 c0 rjmp .+34 ; 0x4c <__bad_interrupt>
|
28: 06 c0 rjmp .+12 ; 0x36 <__bad_interrupt>
|
||||||
|
|
||||||
0000002a <__ctors_end>:
|
0000002a <__ctors_end>:
|
||||||
2a: 11 24 eor r1, r1
|
2a: 11 24 eor r1, r1
|
||||||
2c: 1f be out 0x3f, r1 ; 63
|
2c: 1f be out 0x3f, r1 ; 63
|
||||||
2e: cf ed ldi r28, 0xDF ; 223
|
2e: cf ed ldi r28, 0xDF ; 223
|
||||||
30: cd bf out 0x3d, r28 ; 61
|
30: cd bf out 0x3d, r28 ; 61
|
||||||
|
32: 80 d0 rcall .+256 ; 0x134 <main>
|
||||||
|
34: 89 c0 rjmp .+274 ; 0x148 <_exit>
|
||||||
|
|
||||||
00000032 <__do_copy_data>:
|
00000036 <__bad_interrupt>:
|
||||||
32: 10 e0 ldi r17, 0x00 ; 0
|
36: e4 cf rjmp .-56 ; 0x0 <__vectors>
|
||||||
34: a0 e6 ldi r26, 0x60 ; 96
|
|
||||||
36: b0 e0 ldi r27, 0x00 ; 0
|
|
||||||
38: e4 e6 ldi r30, 0x64 ; 100
|
|
||||||
3a: f1 e0 ldi r31, 0x01 ; 1
|
|
||||||
3c: 02 c0 rjmp .+4 ; 0x42 <__SREG__+0x3>
|
|
||||||
3e: 05 90 lpm r0, Z+
|
|
||||||
40: 0d 92 st X+, r0
|
|
||||||
42: a2 36 cpi r26, 0x62 ; 98
|
|
||||||
44: b1 07 cpc r27, r17
|
|
||||||
46: d9 f7 brne .-10 ; 0x3e <__SP_L__+0x1>
|
|
||||||
48: 80 d0 rcall .+256 ; 0x14a <main>
|
|
||||||
4a: 8a c0 rjmp .+276 ; 0x160 <_exit>
|
|
||||||
|
|
||||||
0000004c <__bad_interrupt>:
|
00000038 <lcd_5ms>:
|
||||||
4c: d9 cf rjmp .-78 ; 0x0 <__vectors>
|
|
||||||
|
|
||||||
0000004e <lcd_5ms>:
|
|
||||||
|
|
||||||
void lcd_1s(void){
|
void lcd_1s(void){
|
||||||
for(uint8_t i=200;i>0;i--){
|
for(uint8_t i=200;i>0;i--){
|
||||||
lcd_5ms();
|
lcd_5ms();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
4e: cf 93 push r28
|
38: cf 93 push r28
|
||||||
50: c2 e3 ldi r28, 0x32 ; 50
|
3a: c2 e3 ldi r28, 0x32 ; 50
|
||||||
52: 62 d0 rcall .+196 ; 0x118 <wait_100us>
|
3c: 62 d0 rcall .+196 ; 0x102 <wait_100us>
|
||||||
54: c1 50 subi r28, 0x01 ; 1
|
3e: c1 50 subi r28, 0x01 ; 1
|
||||||
56: e9 f7 brne .-6 ; 0x52 <lcd_5ms+0x4>
|
40: e9 f7 brne .-6 ; 0x3c <lcd_5ms+0x4>
|
||||||
58: cf 91 pop r28
|
42: cf 91 pop r28
|
||||||
5a: 08 95 ret
|
44: 08 95 ret
|
||||||
|
|
||||||
0000005c <lcd_write>:
|
00000046 <lcd_write>:
|
||||||
|
|
||||||
void lcd_instruct(uint8_t zeichen){
|
void lcd_instruct(uint8_t zeichen){
|
||||||
lcd_write(instruct,zeichen,0);
|
lcd_write(instruct,zeichen,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void lcd_write(uint8_t lcd_whichwrite, uint8_t zeichen, uint8_t position){
|
void lcd_write(uint8_t lcd_whichwrite, uint8_t zeichen, uint8_t position){
|
||||||
5c: cf 93 push r28
|
46: cf 93 push r28
|
||||||
5e: c6 2f mov r28, r22
|
48: c6 2f mov r28, r22
|
||||||
switch (lcd_whichwrite){
|
switch (lcd_whichwrite){
|
||||||
60: 84 30 cpi r24, 0x04 ; 4
|
4a: 84 30 cpi r24, 0x04 ; 4
|
||||||
62: 38 f4 brcc .+14 ; 0x72 <lcd_write+0x16>
|
4c: 38 f4 brcc .+14 ; 0x5c <lcd_write+0x16>
|
||||||
64: 82 30 cpi r24, 0x02 ; 2
|
4e: 82 30 cpi r24, 0x02 ; 2
|
||||||
66: 48 f4 brcc .+18 ; 0x7a <lcd_write+0x1e>
|
50: 48 f4 brcc .+18 ; 0x64 <lcd_write+0x1e>
|
||||||
68: 88 23 and r24, r24
|
52: 88 23 and r24, r24
|
||||||
6a: 71 f0 breq .+28 ; 0x88 <lcd_write+0x2c>
|
54: 71 f0 breq .+28 ; 0x72 <lcd_write+0x2c>
|
||||||
6c: 81 30 cpi r24, 0x01 ; 1
|
56: 81 30 cpi r24, 0x01 ; 1
|
||||||
6e: 49 f0 breq .+18 ; 0x82 <lcd_write+0x26>
|
58: 49 f0 breq .+18 ; 0x6c <lcd_write+0x26>
|
||||||
70: 0c c0 rjmp .+24 ; 0x8a <lcd_write+0x2e>
|
5a: 0c c0 rjmp .+24 ; 0x74 <lcd_write+0x2e>
|
||||||
72: 84 30 cpi r24, 0x04 ; 4
|
5c: 84 30 cpi r24, 0x04 ; 4
|
||||||
74: 51 f4 brne .+20 ; 0x8a <lcd_write+0x2e>
|
5e: 51 f4 brne .+20 ; 0x74 <lcd_write+0x2e>
|
||||||
case instruct :
|
case instruct :
|
||||||
unset_lcd_RS;
|
unset_lcd_RS;
|
||||||
76: 93 98 cbi 0x12, 3 ; 18
|
60: 93 98 cbi 0x12, 3 ; 18
|
||||||
break;
|
break;
|
||||||
78: 08 c0 rjmp .+16 ; 0x8a <lcd_write+0x2e>
|
62: 08 c0 rjmp .+16 ; 0x74 <lcd_write+0x2e>
|
||||||
case line2:
|
case line2:
|
||||||
case line1:
|
case line1:
|
||||||
position = position & 0x3f;
|
position = position & 0x3f;
|
||||||
7a: 4f 73 andi r20, 0x3F ; 63
|
64: 4f 73 andi r20, 0x3F ; 63
|
||||||
if (lcd_whichwrite == line2){ position=position + 0x40; };
|
if (lcd_whichwrite == line2){ position=position + 0x40; };
|
||||||
7c: 83 30 cpi r24, 0x03 ; 3
|
66: 83 30 cpi r24, 0x03 ; 3
|
||||||
7e: 09 f4 brne .+2 ; 0x82 <lcd_write+0x26>
|
68: 09 f4 brne .+2 ; 0x6c <lcd_write+0x26>
|
||||||
80: 40 5c subi r20, 0xC0 ; 192
|
6a: 40 5c subi r20, 0xC0 ; 192
|
||||||
case therepos:
|
case therepos:
|
||||||
lcd_instruct(lcd_mask_Write_Adress(position));
|
lcd_instruct(lcd_mask_Write_Adress(position));
|
||||||
82: 84 2f mov r24, r20
|
6c: 84 2f mov r24, r20
|
||||||
84: 80 68 ori r24, 0x80 ; 128
|
6e: 80 68 ori r24, 0x80 ; 128
|
||||||
86: 24 d0 rcall .+72 ; 0xd0 <lcd_instruct>
|
70: 24 d0 rcall .+72 ; 0xba <lcd_instruct>
|
||||||
case here:
|
case here:
|
||||||
set_lcd_RS;
|
set_lcd_RS;
|
||||||
88: 93 9a sbi 0x12, 3 ; 18
|
72: 93 9a sbi 0x12, 3 ; 18
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
set_lcd_E;
|
set_lcd_E;
|
||||||
8a: 92 9a sbi 0x12, 2 ; 18
|
74: 92 9a sbi 0x12, 2 ; 18
|
||||||
set_lcd_E;
|
set_lcd_E;
|
||||||
8c: 92 9a sbi 0x12, 2 ; 18
|
76: 92 9a sbi 0x12, 2 ; 18
|
||||||
lcd_dataport=lcd_dataport&~lcd_dataport_mask|zeichen&lcd_dataport_mask;
|
lcd_dataport=lcd_dataport&~lcd_dataport_mask|zeichen&lcd_dataport_mask;
|
||||||
8e: 98 b3 in r25, 0x18 ; 24
|
78: 98 b3 in r25, 0x18 ; 24
|
||||||
90: 9f 70 andi r25, 0x0F ; 15
|
7a: 9f 70 andi r25, 0x0F ; 15
|
||||||
92: 8c 2f mov r24, r28
|
7c: 8c 2f mov r24, r28
|
||||||
94: 80 7f andi r24, 0xF0 ; 240
|
7e: 80 7f andi r24, 0xF0 ; 240
|
||||||
96: 98 2b or r25, r24
|
80: 98 2b or r25, r24
|
||||||
98: 98 bb out 0x18, r25 ; 24
|
82: 98 bb out 0x18, r25 ; 24
|
||||||
lcd_dataport=lcd_dataport&~lcd_dataport_mask|zeichen&lcd_dataport_mask;
|
lcd_dataport=lcd_dataport&~lcd_dataport_mask|zeichen&lcd_dataport_mask;
|
||||||
9a: 98 b3 in r25, 0x18 ; 24
|
84: 98 b3 in r25, 0x18 ; 24
|
||||||
9c: 9f 70 andi r25, 0x0F ; 15
|
86: 9f 70 andi r25, 0x0F ; 15
|
||||||
9e: 89 2b or r24, r25
|
88: 89 2b or r24, r25
|
||||||
a0: 88 bb out 0x18, r24 ; 24
|
8a: 88 bb out 0x18, r24 ; 24
|
||||||
unset_lcd_E;
|
unset_lcd_E;
|
||||||
a2: 92 98 cbi 0x12, 2 ; 18
|
8c: 92 98 cbi 0x12, 2 ; 18
|
||||||
unset_lcd_E;
|
unset_lcd_E;
|
||||||
a4: 92 98 cbi 0x12, 2 ; 18
|
8e: 92 98 cbi 0x12, 2 ; 18
|
||||||
wait_100us();
|
wait_100us();
|
||||||
a6: 38 d0 rcall .+112 ; 0x118 <wait_100us>
|
90: 38 d0 rcall .+112 ; 0x102 <wait_100us>
|
||||||
if (lcd_dataport_DDR==0xf0){
|
if (lcd_dataport_DDR==0xf0){
|
||||||
a8: 87 b3 in r24, 0x17 ; 23
|
92: 87 b3 in r24, 0x17 ; 23
|
||||||
aa: 80 3f cpi r24, 0xF0 ; 240
|
94: 80 3f cpi r24, 0xF0 ; 240
|
||||||
ac: 79 f4 brne .+30 ; 0xcc <lcd_write+0x70>
|
96: 79 f4 brne .+30 ; 0xb6 <lcd_write+0x70>
|
||||||
zeichen=zeichen << 4;
|
zeichen=zeichen << 4;
|
||||||
set_lcd_E;
|
set_lcd_E;
|
||||||
ae: 92 9a sbi 0x12, 2 ; 18
|
98: 92 9a sbi 0x12, 2 ; 18
|
||||||
set_lcd_E;
|
set_lcd_E;
|
||||||
b0: 92 9a sbi 0x12, 2 ; 18
|
9a: 92 9a sbi 0x12, 2 ; 18
|
||||||
lcd_dataport=lcd_dataport&~lcd_dataport_mask|zeichen&lcd_dataport_mask;
|
lcd_dataport=lcd_dataport&~lcd_dataport_mask|zeichen&lcd_dataport_mask;
|
||||||
b2: 88 b3 in r24, 0x18 ; 24
|
9c: 88 b3 in r24, 0x18 ; 24
|
||||||
b4: c2 95 swap r28
|
9e: c2 95 swap r28
|
||||||
b6: c0 7f andi r28, 0xF0 ; 240
|
a0: c0 7f andi r28, 0xF0 ; 240
|
||||||
b8: 8f 70 andi r24, 0x0F ; 15
|
a2: 8f 70 andi r24, 0x0F ; 15
|
||||||
ba: 8c 2b or r24, r28
|
a4: 8c 2b or r24, r28
|
||||||
bc: 88 bb out 0x18, r24 ; 24
|
a6: 88 bb out 0x18, r24 ; 24
|
||||||
lcd_dataport=lcd_dataport&~lcd_dataport_mask|zeichen&lcd_dataport_mask;
|
lcd_dataport=lcd_dataport&~lcd_dataport_mask|zeichen&lcd_dataport_mask;
|
||||||
be: 88 b3 in r24, 0x18 ; 24
|
a8: 88 b3 in r24, 0x18 ; 24
|
||||||
c0: 8f 70 andi r24, 0x0F ; 15
|
aa: 8f 70 andi r24, 0x0F ; 15
|
||||||
c2: c8 2b or r28, r24
|
ac: c8 2b or r28, r24
|
||||||
c4: c8 bb out 0x18, r28 ; 24
|
ae: c8 bb out 0x18, r28 ; 24
|
||||||
unset_lcd_E;
|
unset_lcd_E;
|
||||||
c6: 92 98 cbi 0x12, 2 ; 18
|
b0: 92 98 cbi 0x12, 2 ; 18
|
||||||
unset_lcd_E;
|
unset_lcd_E;
|
||||||
c8: 92 98 cbi 0x12, 2 ; 18
|
b2: 92 98 cbi 0x12, 2 ; 18
|
||||||
wait_100us();
|
wait_100us();
|
||||||
ca: 26 d0 rcall .+76 ; 0x118 <wait_100us>
|
b4: 26 d0 rcall .+76 ; 0x102 <wait_100us>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cc: cf 91 pop r28
|
b6: cf 91 pop r28
|
||||||
ce: 08 95 ret
|
b8: 08 95 ret
|
||||||
|
|
||||||
000000d0 <lcd_instruct>:
|
000000ba <lcd_instruct>:
|
||||||
lcd_5ms();
|
lcd_5ms();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void lcd_instruct(uint8_t zeichen){
|
void lcd_instruct(uint8_t zeichen){
|
||||||
lcd_write(instruct,zeichen,0);
|
lcd_write(instruct,zeichen,0);
|
||||||
d0: 40 e0 ldi r20, 0x00 ; 0
|
ba: 40 e0 ldi r20, 0x00 ; 0
|
||||||
d2: 68 2f mov r22, r24
|
bc: 68 2f mov r22, r24
|
||||||
d4: 84 e0 ldi r24, 0x04 ; 4
|
be: 84 e0 ldi r24, 0x04 ; 4
|
||||||
d6: c2 df rcall .-124 ; 0x5c <lcd_write>
|
c0: c2 df rcall .-124 ; 0x46 <lcd_write>
|
||||||
d8: 08 95 ret
|
c2: 08 95 ret
|
||||||
|
|
||||||
000000da <lcd_init>:
|
000000c4 <lcd_init>:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void lcd_init(void){
|
void lcd_init(void){
|
||||||
/* setting up ports first */
|
/* setting up ports first */
|
||||||
lcd_dataport_DDR=0xff;
|
lcd_dataport_DDR=0xff;
|
||||||
da: 8f ef ldi r24, 0xFF ; 255
|
c4: 8f ef ldi r24, 0xFF ; 255
|
||||||
dc: 87 bb out 0x17, r24 ; 23
|
c6: 87 bb out 0x17, r24 ; 23
|
||||||
set_lcd_RS_DDR;
|
set_lcd_RS_DDR;
|
||||||
de: 8b 9a sbi 0x11, 3 ; 17
|
c8: 8b 9a sbi 0x11, 3 ; 17
|
||||||
set_lcd_E_DDR;
|
set_lcd_E_DDR;
|
||||||
e0: 8a 9a sbi 0x11, 2 ; 17
|
ca: 8a 9a sbi 0x11, 2 ; 17
|
||||||
/* end setting up ports */
|
/* end setting up ports */
|
||||||
lcd_dataport=0xff;
|
lcd_dataport=0xff;
|
||||||
e2: 88 bb out 0x18, r24 ; 24
|
cc: 88 bb out 0x18, r24 ; 24
|
||||||
set_lcd_RS;
|
set_lcd_RS;
|
||||||
e4: 93 9a sbi 0x12, 3 ; 18
|
ce: 93 9a sbi 0x12, 3 ; 18
|
||||||
set_lcd_E;
|
set_lcd_E;
|
||||||
e6: 92 9a sbi 0x12, 2 ; 18
|
d0: 92 9a sbi 0x12, 2 ; 18
|
||||||
lcd_5ms();
|
lcd_5ms();
|
||||||
e8: b2 df rcall .-156 ; 0x4e <lcd_5ms>
|
d2: b2 df rcall .-156 ; 0x38 <lcd_5ms>
|
||||||
lcd_5ms();
|
lcd_5ms();
|
||||||
ea: b1 df rcall .-158 ; 0x4e <lcd_5ms>
|
d4: b1 df rcall .-158 ; 0x38 <lcd_5ms>
|
||||||
lcd_5ms();
|
lcd_5ms();
|
||||||
ec: b0 df rcall .-160 ; 0x4e <lcd_5ms>
|
d6: b0 df rcall .-160 ; 0x38 <lcd_5ms>
|
||||||
lcd_instruct(lcd_SET_FUNCTION_8BIT);
|
lcd_instruct(lcd_SET_FUNCTION_8BIT);
|
||||||
ee: 80 e3 ldi r24, 0x30 ; 48
|
d8: 80 e3 ldi r24, 0x30 ; 48
|
||||||
f0: ef df rcall .-34 ; 0xd0 <lcd_instruct>
|
da: ef df rcall .-34 ; 0xba <lcd_instruct>
|
||||||
lcd_5ms();
|
lcd_5ms();
|
||||||
f2: ad df rcall .-166 ; 0x4e <lcd_5ms>
|
dc: ad df rcall .-166 ; 0x38 <lcd_5ms>
|
||||||
lcd_instruct(lcd_SET_FUNCTION_8BIT);
|
lcd_instruct(lcd_SET_FUNCTION_8BIT);
|
||||||
f4: 80 e3 ldi r24, 0x30 ; 48
|
de: 80 e3 ldi r24, 0x30 ; 48
|
||||||
f6: ec df rcall .-40 ; 0xd0 <lcd_instruct>
|
e0: ec df rcall .-40 ; 0xba <lcd_instruct>
|
||||||
wait_100us();
|
wait_100us();
|
||||||
f8: 0f d0 rcall .+30 ; 0x118 <wait_100us>
|
e2: 0f d0 rcall .+30 ; 0x102 <wait_100us>
|
||||||
lcd_instruct(lcd_SET_FUNCTION_8BIT);
|
lcd_instruct(lcd_SET_FUNCTION_8BIT);
|
||||||
fa: 80 e3 ldi r24, 0x30 ; 48
|
e4: 80 e3 ldi r24, 0x30 ; 48
|
||||||
fc: e9 df rcall .-46 ; 0xd0 <lcd_instruct>
|
e6: e9 df rcall .-46 ; 0xba <lcd_instruct>
|
||||||
if (lcd_dataport_mask==0xf0){
|
if (lcd_dataport_mask==0xf0){
|
||||||
lcd_instruct(lcd_SET_FUNCTION_4BIT|lcd_SET_FUNCTION_2LINE|lcd_SET_FUNCTION_7X5);
|
lcd_instruct(lcd_SET_FUNCTION_4BIT|lcd_SET_FUNCTION_2LINE|lcd_SET_FUNCTION_7X5);
|
||||||
fe: 88 e2 ldi r24, 0x28 ; 40
|
e8: 88 e2 ldi r24, 0x28 ; 40
|
||||||
100: e7 df rcall .-50 ; 0xd0 <lcd_instruct>
|
ea: e7 df rcall .-50 ; 0xba <lcd_instruct>
|
||||||
}else{
|
}else{
|
||||||
lcd_instruct(lcd_SET_FUNCTION_8BIT|lcd_SET_FUNCTION_2LINE|lcd_SET_FUNCTION_7X5);
|
lcd_instruct(lcd_SET_FUNCTION_8BIT|lcd_SET_FUNCTION_2LINE|lcd_SET_FUNCTION_7X5);
|
||||||
}
|
}
|
||||||
lcd_dataport_DDR&=lcd_dataport_mask;
|
lcd_dataport_DDR&=lcd_dataport_mask;
|
||||||
102: 87 b3 in r24, 0x17 ; 23
|
ec: 87 b3 in r24, 0x17 ; 23
|
||||||
104: 80 7f andi r24, 0xF0 ; 240
|
ee: 80 7f andi r24, 0xF0 ; 240
|
||||||
106: 87 bb out 0x17, r24 ; 23
|
f0: 87 bb out 0x17, r24 ; 23
|
||||||
lcd_instruct(lcd_DISPLAY_OO_ON|lcd_DISPLAY_OO_CURSOR_OFF);
|
lcd_instruct(lcd_DISPLAY_OO_ON|lcd_DISPLAY_OO_CURSOR_OFF);
|
||||||
108: 8c e0 ldi r24, 0x0C ; 12
|
f2: 8c e0 ldi r24, 0x0C ; 12
|
||||||
10a: e2 df rcall .-60 ; 0xd0 <lcd_instruct>
|
f4: e2 df rcall .-60 ; 0xba <lcd_instruct>
|
||||||
lcd_instruct(lcd_ENTRY_MODE_SET|lcd_ENTRY_MODE_SET_INCREASE | lcd_ENTRY_MS_DISPLAY_NOT_S);
|
lcd_instruct(lcd_ENTRY_MODE_SET|lcd_ENTRY_MODE_SET_INCREASE | lcd_ENTRY_MS_DISPLAY_NOT_S);
|
||||||
10c: 86 e0 ldi r24, 0x06 ; 6
|
f6: 86 e0 ldi r24, 0x06 ; 6
|
||||||
10e: e0 df rcall .-64 ; 0xd0 <lcd_instruct>
|
f8: e0 df rcall .-64 ; 0xba <lcd_instruct>
|
||||||
lcd_instruct(lcd_RETURN_HOME);
|
lcd_instruct(lcd_RETURN_HOME);
|
||||||
110: 82 e0 ldi r24, 0x02 ; 2
|
fa: 82 e0 ldi r24, 0x02 ; 2
|
||||||
112: de df rcall .-68 ; 0xd0 <lcd_instruct>
|
fc: de df rcall .-68 ; 0xba <lcd_instruct>
|
||||||
lcd_5ms();
|
lcd_5ms();
|
||||||
114: 9c df rcall .-200 ; 0x4e <lcd_5ms>
|
fe: 9c df rcall .-200 ; 0x38 <lcd_5ms>
|
||||||
116: 08 95 ret
|
100: 08 95 ret
|
||||||
|
|
||||||
00000118 <wait_100us>:
|
00000102 <wait_100us>:
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <avr/io.h>
|
#include <avr/io.h>
|
||||||
#include "lcd4.h"
|
#include "lcd4.h"
|
||||||
|
|
||||||
void wait_100us(void){
|
void wait_100us(void){
|
||||||
118: cf 93 push r28
|
102: cf 93 push r28
|
||||||
11a: df 93 push r29
|
104: df 93 push r29
|
||||||
11c: 1f 92 push r1
|
106: 1f 92 push r1
|
||||||
11e: cd b7 in r28, 0x3d ; 61
|
108: cd b7 in r28, 0x3d ; 61
|
||||||
120: dd 27 eor r29, r29
|
10a: dd 27 eor r29, r29
|
||||||
for (volatile uint8_t i=68;i--;i>0){
|
for (volatile uint8_t i=68;i--;i>0){
|
||||||
122: 84 e4 ldi r24, 0x44 ; 68
|
10c: 84 e4 ldi r24, 0x44 ; 68
|
||||||
124: 89 83 std Y+1, r24 ; 0x01
|
10e: 89 83 std Y+1, r24 ; 0x01
|
||||||
126: 89 81 ldd r24, Y+1 ; 0x01
|
110: 89 81 ldd r24, Y+1 ; 0x01
|
||||||
128: 9f ef ldi r25, 0xFF ; 255
|
112: 9f ef ldi r25, 0xFF ; 255
|
||||||
12a: 98 0f add r25, r24
|
114: 98 0f add r25, r24
|
||||||
12c: 99 83 std Y+1, r25 ; 0x01
|
116: 99 83 std Y+1, r25 ; 0x01
|
||||||
12e: 88 23 and r24, r24
|
118: 88 23 and r24, r24
|
||||||
130: 41 f0 breq .+16 ; 0x142 <wait_100us+0x2a>
|
11a: 41 f0 breq .+16 ; 0x12c <wait_100us+0x2a>
|
||||||
i;
|
i;
|
||||||
132: 89 81 ldd r24, Y+1 ; 0x01
|
11c: 89 81 ldd r24, Y+1 ; 0x01
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <avr/io.h>
|
#include <avr/io.h>
|
||||||
#include "lcd4.h"
|
#include "lcd4.h"
|
||||||
|
|
||||||
void wait_100us(void){
|
void wait_100us(void){
|
||||||
for (volatile uint8_t i=68;i--;i>0){
|
for (volatile uint8_t i=68;i--;i>0){
|
||||||
134: 89 81 ldd r24, Y+1 ; 0x01
|
11e: 89 81 ldd r24, Y+1 ; 0x01
|
||||||
136: 89 81 ldd r24, Y+1 ; 0x01
|
120: 89 81 ldd r24, Y+1 ; 0x01
|
||||||
138: 9f ef ldi r25, 0xFF ; 255
|
122: 9f ef ldi r25, 0xFF ; 255
|
||||||
13a: 98 0f add r25, r24
|
124: 98 0f add r25, r24
|
||||||
13c: 99 83 std Y+1, r25 ; 0x01
|
126: 99 83 std Y+1, r25 ; 0x01
|
||||||
13e: 81 11 cpse r24, r1
|
128: 81 11 cpse r24, r1
|
||||||
140: f8 cf rjmp .-16 ; 0x132 <wait_100us+0x1a>
|
12a: f8 cf rjmp .-16 ; 0x11c <wait_100us+0x1a>
|
||||||
i;
|
i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
142: 0f 90 pop r0
|
12c: 0f 90 pop r0
|
||||||
144: df 91 pop r29
|
12e: df 91 pop r29
|
||||||
146: cf 91 pop r28
|
130: cf 91 pop r28
|
||||||
148: 08 95 ret
|
132: 08 95 ret
|
||||||
|
|
||||||
0000014a <main>:
|
00000134 <main>:
|
||||||
#include "lcd4.h"
|
#include "lcd4.h"
|
||||||
|
|
||||||
|
|
||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
DDRB = 0xff;
|
DDRB = 0xff;
|
||||||
14a: 8f ef ldi r24, 0xFF ; 255
|
134: 8f ef ldi r24, 0xFF ; 255
|
||||||
14c: 87 bb out 0x17, r24 ; 23
|
136: 87 bb out 0x17, r24 ; 23
|
||||||
PORTB = 0xAA;
|
PORTB = 0xAA;
|
||||||
14e: 8a ea ldi r24, 0xAA ; 170
|
138: 8a ea ldi r24, 0xAA ; 170
|
||||||
150: 88 bb out 0x18, r24 ; 24
|
13a: 88 bb out 0x18, r24 ; 24
|
||||||
lcd_init();
|
lcd_init();
|
||||||
152: c3 df rcall .-122 ; 0xda <lcd_init>
|
13c: c3 df rcall .-122 ; 0xc4 <lcd_init>
|
||||||
lcd_write(here, "t", 0);
|
lcd_write(here, 0x41, 0);
|
||||||
154: 40 e0 ldi r20, 0x00 ; 0
|
13e: 40 e0 ldi r20, 0x00 ; 0
|
||||||
156: 60 e6 ldi r22, 0x60 ; 96
|
140: 61 e4 ldi r22, 0x41 ; 65
|
||||||
158: 70 e0 ldi r23, 0x00 ; 0
|
142: 80 e0 ldi r24, 0x00 ; 0
|
||||||
15a: 80 e0 ldi r24, 0x00 ; 0
|
144: 80 df rcall .-256 ; 0x46 <lcd_write>
|
||||||
15c: 7f df rcall .-258 ; 0x5c <lcd_write>
|
146: ff cf rjmp .-2 ; 0x146 <main+0x12>
|
||||||
15e: ff cf rjmp .-2 ; 0x15e <main+0x14>
|
|
||||||
|
|
||||||
00000160 <_exit>:
|
00000148 <_exit>:
|
||||||
160: f8 94 cli
|
148: f8 94 cli
|
||||||
|
|
||||||
00000162 <__stop_program>:
|
0000014a <__stop_program>:
|
||||||
162: ff cf rjmp .-2 ; 0x162 <__stop_program>
|
14a: ff cf rjmp .-2 ; 0x14a <__stop_program>
|
||||||
|
|
|
@ -2,8 +2,6 @@ Archive member included to satisfy reference by file (symbol)
|
||||||
|
|
||||||
c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_exit.o)
|
c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_exit.o)
|
||||||
C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.3.172/gcc/dev/attiny2313a/avr25/tiny-stack/crtattiny2313a.o (exit)
|
C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.3.172/gcc/dev/attiny2313a/avr25/tiny-stack/crtattiny2313a.o (exit)
|
||||||
c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_copy_data.o)
|
|
||||||
main.o (__do_copy_data)
|
|
||||||
|
|
||||||
Discarded input sections
|
Discarded input sections
|
||||||
|
|
||||||
|
@ -37,22 +35,6 @@ Discarded input sections
|
||||||
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_exit.o)
|
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_exit.o)
|
||||||
.text.libgcc.fixed
|
.text.libgcc.fixed
|
||||||
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_exit.o)
|
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_exit.o)
|
||||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_copy_data.o)
|
|
||||||
.data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_copy_data.o)
|
|
||||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_copy_data.o)
|
|
||||||
.text.libgcc.mul
|
|
||||||
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_copy_data.o)
|
|
||||||
.text.libgcc.div
|
|
||||||
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_copy_data.o)
|
|
||||||
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_copy_data.o)
|
|
||||||
.text.libgcc.prologue
|
|
||||||
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_copy_data.o)
|
|
||||||
.text.libgcc.builtins
|
|
||||||
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_copy_data.o)
|
|
||||||
.text.libgcc.fmul
|
|
||||||
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_copy_data.o)
|
|
||||||
.text.libgcc.fixed
|
|
||||||
0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_copy_data.o)
|
|
||||||
|
|
||||||
Memory Configuration
|
Memory Configuration
|
||||||
|
|
||||||
|
@ -179,7 +161,7 @@ END GROUP
|
||||||
.rela.plt
|
.rela.plt
|
||||||
*(.rela.plt)
|
*(.rela.plt)
|
||||||
|
|
||||||
.text 0x00000000 0x164
|
.text 0x00000000 0x14c
|
||||||
*(.vectors)
|
*(.vectors)
|
||||||
.vectors 0x00000000 0x2a C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.3.172/gcc/dev/attiny2313a/avr25/tiny-stack/crtattiny2313a.o
|
.vectors 0x00000000 0x2a C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.3.172/gcc/dev/attiny2313a/avr25/tiny-stack/crtattiny2313a.o
|
||||||
0x00000000 __vector_default
|
0x00000000 __vector_default
|
||||||
|
@ -220,8 +202,6 @@ END GROUP
|
||||||
*(.init3)
|
*(.init3)
|
||||||
*(.init3)
|
*(.init3)
|
||||||
*(.init4)
|
*(.init4)
|
||||||
.init4 0x00000032 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_copy_data.o)
|
|
||||||
0x00000032 __do_copy_data
|
|
||||||
*(.init4)
|
*(.init4)
|
||||||
*(.init5)
|
*(.init5)
|
||||||
*(.init5)
|
*(.init5)
|
||||||
|
@ -232,54 +212,54 @@ END GROUP
|
||||||
*(.init8)
|
*(.init8)
|
||||||
*(.init8)
|
*(.init8)
|
||||||
*(.init9)
|
*(.init9)
|
||||||
.init9 0x00000048 0x4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.3.172/gcc/dev/attiny2313a/avr25/tiny-stack/crtattiny2313a.o
|
.init9 0x00000032 0x4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.3.172/gcc/dev/attiny2313a/avr25/tiny-stack/crtattiny2313a.o
|
||||||
*(.init9)
|
*(.init9)
|
||||||
*(.text)
|
*(.text)
|
||||||
.text 0x0000004c 0x2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.3.172/gcc/dev/attiny2313a/avr25/tiny-stack/crtattiny2313a.o
|
.text 0x00000036 0x2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.3.172/gcc/dev/attiny2313a/avr25/tiny-stack/crtattiny2313a.o
|
||||||
0x0000004c __vector_1
|
0x00000036 __vector_1
|
||||||
0x0000004c __vector_12
|
0x00000036 __vector_12
|
||||||
0x0000004c __bad_interrupt
|
0x00000036 __bad_interrupt
|
||||||
0x0000004c __vector_6
|
0x00000036 __vector_6
|
||||||
0x0000004c __vector_3
|
0x00000036 __vector_3
|
||||||
0x0000004c __vector_11
|
0x00000036 __vector_11
|
||||||
0x0000004c __vector_13
|
0x00000036 __vector_13
|
||||||
0x0000004c __vector_17
|
0x00000036 __vector_17
|
||||||
0x0000004c __vector_19
|
0x00000036 __vector_19
|
||||||
0x0000004c __vector_7
|
0x00000036 __vector_7
|
||||||
0x0000004c __vector_5
|
0x00000036 __vector_5
|
||||||
0x0000004c __vector_4
|
0x00000036 __vector_4
|
||||||
0x0000004c __vector_9
|
0x00000036 __vector_9
|
||||||
0x0000004c __vector_2
|
0x00000036 __vector_2
|
||||||
0x0000004c __vector_15
|
0x00000036 __vector_15
|
||||||
0x0000004c __vector_8
|
0x00000036 __vector_8
|
||||||
0x0000004c __vector_14
|
0x00000036 __vector_14
|
||||||
0x0000004c __vector_10
|
0x00000036 __vector_10
|
||||||
0x0000004c __vector_16
|
0x00000036 __vector_16
|
||||||
0x0000004c __vector_18
|
0x00000036 __vector_18
|
||||||
0x0000004c __vector_20
|
0x00000036 __vector_20
|
||||||
0x0000004e . = ALIGN (0x2)
|
0x00000038 . = ALIGN (0x2)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
.text.lcd_5ms 0x0000004e 0xe lcd4.o
|
.text.lcd_5ms 0x00000038 0xe lcd4.o
|
||||||
0x0000004e lcd_5ms
|
0x00000038 lcd_5ms
|
||||||
.text.lcd_write
|
.text.lcd_write
|
||||||
0x0000005c 0x74 lcd4.o
|
0x00000046 0x74 lcd4.o
|
||||||
0x0000005c lcd_write
|
0x00000046 lcd_write
|
||||||
.text.lcd_instruct
|
.text.lcd_instruct
|
||||||
0x000000d0 0xa lcd4.o
|
0x000000ba 0xa lcd4.o
|
||||||
0x000000d0 lcd_instruct
|
0x000000ba lcd_instruct
|
||||||
.text.lcd_init
|
.text.lcd_init
|
||||||
0x000000da 0x3e lcd4.o
|
0x000000c4 0x3e lcd4.o
|
||||||
0x000000da lcd_init
|
0x000000c4 lcd_init
|
||||||
.text.wait_100us
|
.text.wait_100us
|
||||||
0x00000118 0x32 lcd_wait.o
|
0x00000102 0x32 lcd_wait.o
|
||||||
0x00000118 wait_100us
|
0x00000102 wait_100us
|
||||||
.text.main 0x0000014a 0x16 main.o
|
.text.main 0x00000134 0x14 main.o
|
||||||
0x0000014a main
|
0x00000134 main
|
||||||
0x00000160 . = ALIGN (0x2)
|
0x00000148 . = ALIGN (0x2)
|
||||||
*(.fini9)
|
*(.fini9)
|
||||||
.fini9 0x00000160 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_exit.o)
|
.fini9 0x00000148 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_exit.o)
|
||||||
0x00000160 _exit
|
0x00000148 _exit
|
||||||
0x00000160 exit
|
0x00000148 exit
|
||||||
*(.fini9)
|
*(.fini9)
|
||||||
*(.fini8)
|
*(.fini8)
|
||||||
*(.fini8)
|
*(.fini8)
|
||||||
|
@ -298,38 +278,36 @@ END GROUP
|
||||||
*(.fini1)
|
*(.fini1)
|
||||||
*(.fini1)
|
*(.fini1)
|
||||||
*(.fini0)
|
*(.fini0)
|
||||||
.fini0 0x00000160 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_exit.o)
|
.fini0 0x00000148 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/5.4.0/avr25/tiny-stack\libgcc.a(_exit.o)
|
||||||
*(.fini0)
|
*(.fini0)
|
||||||
0x00000164 _etext = .
|
0x0000014c _etext = .
|
||||||
|
|
||||||
.data 0x00800060 0x2 load address 0x00000164
|
.data 0x00800060 0x0 load address 0x0000014c
|
||||||
0x00800060 PROVIDE (__data_start, .)
|
[!provide] PROVIDE (__data_start, .)
|
||||||
*(.data)
|
*(.data)
|
||||||
*(.data*)
|
*(.data*)
|
||||||
*(.gnu.linkonce.d*)
|
*(.gnu.linkonce.d*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
*(.rodata*)
|
*(.rodata*)
|
||||||
.rodata.str1.1
|
|
||||||
0x00800060 0x2 main.o
|
|
||||||
*(.gnu.linkonce.r*)
|
*(.gnu.linkonce.r*)
|
||||||
0x00800062 . = ALIGN (0x2)
|
0x00800060 . = ALIGN (0x2)
|
||||||
0x00800062 _edata = .
|
0x00800060 _edata = .
|
||||||
0x00800062 PROVIDE (__data_end, .)
|
[!provide] PROVIDE (__data_end, .)
|
||||||
|
|
||||||
.bss 0x00800062 0x0
|
.bss 0x00800060 0x0
|
||||||
[!provide] PROVIDE (__bss_start, .)
|
[!provide] PROVIDE (__bss_start, .)
|
||||||
*(.bss)
|
*(.bss)
|
||||||
*(.bss*)
|
*(.bss*)
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
[!provide] PROVIDE (__bss_end, .)
|
[!provide] PROVIDE (__bss_end, .)
|
||||||
0x00000164 __data_load_start = LOADADDR (.data)
|
0x0000014c __data_load_start = LOADADDR (.data)
|
||||||
0x00000166 __data_load_end = (__data_load_start + SIZEOF (.data))
|
0x0000014c __data_load_end = (__data_load_start + SIZEOF (.data))
|
||||||
|
|
||||||
.noinit 0x00800062 0x0
|
.noinit 0x00800060 0x0
|
||||||
[!provide] PROVIDE (__noinit_start, .)
|
[!provide] PROVIDE (__noinit_start, .)
|
||||||
*(.noinit*)
|
*(.noinit*)
|
||||||
[!provide] PROVIDE (__noinit_end, .)
|
[!provide] PROVIDE (__noinit_end, .)
|
||||||
0x00800062 _end = .
|
0x00800060 _end = .
|
||||||
[!provide] PROVIDE (__heap_start, .)
|
[!provide] PROVIDE (__heap_start, .)
|
||||||
|
|
||||||
.eeprom 0x00810000 0x0
|
.eeprom 0x00810000 0x0
|
||||||
|
@ -408,12 +386,12 @@ END GROUP
|
||||||
.debug_pubnames
|
.debug_pubnames
|
||||||
*(.debug_pubnames)
|
*(.debug_pubnames)
|
||||||
|
|
||||||
.debug_info 0x00000000 0x90f
|
.debug_info 0x00000000 0x915
|
||||||
*(.debug_info .gnu.linkonce.wi.*)
|
*(.debug_info .gnu.linkonce.wi.*)
|
||||||
.debug_info 0x00000000 0x456 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.3.172/gcc/dev/attiny2313a/avr25/tiny-stack/crtattiny2313a.o
|
.debug_info 0x00000000 0x456 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.3.172/gcc/dev/attiny2313a/avr25/tiny-stack/crtattiny2313a.o
|
||||||
.debug_info 0x00000456 0x31d lcd4.o
|
.debug_info 0x00000456 0x31d lcd4.o
|
||||||
.debug_info 0x00000773 0xa3 lcd_wait.o
|
.debug_info 0x00000773 0xa3 lcd_wait.o
|
||||||
.debug_info 0x00000816 0xf9 main.o
|
.debug_info 0x00000816 0xff main.o
|
||||||
|
|
||||||
.debug_abbrev 0x00000000 0x631
|
.debug_abbrev 0x00000000 0x631
|
||||||
*(.debug_abbrev)
|
*(.debug_abbrev)
|
||||||
|
|
|
@ -1,26 +1,23 @@
|
||||||
S01A0000417454696E795F616C61726D5F636C6F636B2E73726563DA
|
S01A0000417454696E795F616C61726D5F636C6F636B2E73726563DA
|
||||||
S113000014C024C023C022C021C020C01FC01EC0F1
|
S113000014C019C018C017C016C015C014C013C03E
|
||||||
S11300101DC01CC01BC01AC019C018C017C016C010
|
S113001012C011C010C00FC00EC00DC00CC00BC068
|
||||||
S113002015C014C013C012C011C011241FBECFEDDF
|
S11300200AC009C008C007C006C011241FBECFED16
|
||||||
S1130030CDBF10E0A0E6B0E0E4E6F1E002C0059038
|
S1130030CDBF80D089C0E4CFCF93C2E362D0C1509A
|
||||||
S11300400D92A236B107D9F780D08AC0D9CFCF9309
|
S1130040E9F7CF910895CF93C62F843038F48230E6
|
||||||
S1130050C2E362D0C150E9F7CF910895CF93C62F80
|
S113005048F4882371F0813049F00CC0843051F4A5
|
||||||
S1130060843038F4823048F4882371F0813049F0C8
|
S1130060939808C04F73833009F4405C842F8068F0
|
||||||
S11300700CC0843051F4939808C04F73833009F452
|
S113007024D0939A929A929A98B39F708C2F807FEF
|
||||||
S1130080405C842F806824D0939A929A929A98B371
|
S1130080982B98BB98B39F70892B88BB92989298B1
|
||||||
S11300909F708C2F807F982B98BB98B39F70892B6F
|
S113009038D087B3803F79F4929A929A88B3C29504
|
||||||
S11300A088BB9298929838D087B3803F79F4929A1B
|
S11300A0C07F8F708C2B88BB88B38F70C82BC8BB64
|
||||||
S11300B0929A88B3C295C07F8F708C2B88BB88B30B
|
S11300B09298929826D0CF91089540E0682F84E0DA
|
||||||
S11300C08F70C82BC8BB9298929826D0CF91089570
|
S11300C0C2DF08958FEF87BB8B9A8A9A88BB939A75
|
||||||
S11300D040E0682F84E0C2DF08958FEF87BB8B9ADE
|
S11300D0929AB2DFB1DFB0DF80E3EFDFADDF80E320
|
||||||
S11300E08A9A88BB939A929AB2DFB1DFB0DF80E339
|
S11300E0ECDF0FD080E3E9DF88E2E7DF87B3807FCE
|
||||||
S11300F0EFDFADDF80E3ECDF0FD080E3E9DF88E200
|
S11300F087BB8CE0E2DF86E0E0DF82E0DEDF9CDFCE
|
||||||
S1130100E7DF87B3807F87BB8CE0E2DF86E0E0DF58
|
S11301000895CF93DF931F92CDB7DD2784E48983CD
|
||||||
S113011082E0DEDF9CDF0895CF93DF931F92CDB79B
|
S113011089819FEF980F9983882341F08981898190
|
||||||
S1130120DD2784E4898389819FEF980F998388234D
|
S113012089819FEF980F99838111F8CF0F90DF9108
|
||||||
S113013041F08981898189819FEF980F9983811189
|
S1130130CF9108958FEF87BB8AEA88BBC3DF40E085
|
||||||
S1130140F8CF0F90DF91CF9108958FEF87BB8AEAA4
|
S10F014061E480E080DFFFCFF894FFCF83
|
||||||
S113015088BBC3DF40E060E670E080E07FDFFFCF74
|
|
||||||
S1070160F894FFCF3D
|
|
||||||
S1050164740021
|
|
||||||
S9030000FC
|
S9030000FC
|
||||||
|
|
BIN
Debug/main.o
BIN
Debug/main.o
Binary file not shown.
2
main.c
2
main.c
|
@ -14,7 +14,7 @@ int main(void)
|
||||||
DDRB = 0xff;
|
DDRB = 0xff;
|
||||||
PORTB = 0xAA;
|
PORTB = 0xAA;
|
||||||
lcd_init();
|
lcd_init();
|
||||||
lcd_write(here, "t", 0);
|
lcd_write(here, 0x41, 0);
|
||||||
/* Replace with your application code */
|
/* Replace with your application code */
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
|
|
Reference in a new issue