From a57ce0d1c6e10554d56eca2ffa4b7994c56fdb80 Mon Sep 17 00:00:00 2001 From: BlubbFish Date: Sat, 13 Oct 2012 16:28:41 +0000 Subject: [PATCH] 20121013-183150 --- 15cmZahl/15cmZahl.aps | 2 +- 15cmZahl/15cmZahl.c | 57 +++++- 15cmZahl/15cmzahl.aws | 2 +- 15cmZahl/default/15cmZahl.elf | Bin 5667 -> 7722 bytes 15cmZahl/default/15cmZahl.hex | 23 ++- 15cmZahl/default/15cmZahl.lss | 314 ++++++++++++++++++++++++++-------- 15cmZahl/default/15cmZahl.map | 162 ++++++++++-------- 15cmZahl/default/Makefile | 2 +- 8 files changed, 406 insertions(+), 156 deletions(-) diff --git a/15cmZahl/15cmZahl.aps b/15cmZahl/15cmZahl.aps index 046d214..8f27914 100644 --- a/15cmZahl/15cmZahl.aps +++ b/15cmZahl/15cmZahl.aps @@ -1 +1 @@ -15cmZahl09-Oct-2012 22:20:3309-Oct-2012 23:22:40241009-Oct-2012 22:20:3344, 19, 0, 730AVR GCCdefault\15cmZahl.elfD:\Doc's\Basteleien\Uhr\15cmZahl\JTAGICE mkIIATtiny2313.xmlfalseR00R01R02R03R04R05R06R07R08R09R10R11R12R13R14R15R16R17R18R19R20R21R22R23R24R25R26R27R28R29R30R31Auto00015cmZahl.cdefault\15cmZahl.lssdefault\15cmZahl.mapdefaultNOattiny231311115cmZahl.elfdefault\0-Wall -gdwarf-2 -std=gnu99 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enumsdefault1E:\Programme\AVR Toolchain\bin\avr-gcc.exeE:\Programme\AVR Toolchain\bin\make.exe0000015cmZahl.c1 +15cmZahl09-Oct-2012 22:20:3312-Oct-2012 23:37:41241009-Oct-2012 22:20:3344, 19, 0, 730AVR GCCdefault\15cmZahl.elfD:\Doc's\Basteleien\Uhr\15cmZahl\JTAGICE mkIIATtiny2313.xmlfalseR00R01R02R03R04R05R06R07R08R09R10R11R12R13R14R15R16R17R18R19R20R21R22R23R24R25R26R27R28R29R30R31Auto00015cmZahl.cdefault\15cmZahl.lssdefault\15cmZahl.mapdefaultNOattiny231311115cmZahl.elfdefault\0-Wall -gdwarf-2 -std=gnu99 -DF_CPU=20000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enumsdefault1E:\Programme\AVR Toolchain\bin\avr-gcc.exeE:\Programme\AVR Toolchain\bin\make.exe0000015cmZahl.c1 diff --git a/15cmZahl/15cmZahl.c b/15cmZahl/15cmZahl.c index 352f323..b682241 100644 --- a/15cmZahl/15cmZahl.c +++ b/15cmZahl/15cmZahl.c @@ -11,16 +11,59 @@ #define S7 0b00001011 #define S8 0b01111111 #define S9 0b01011111 -#define SA 0b00111111 -#define SB 0b01110101 -#define SC 0b01111000 +#define Sa 0b00111111 +#define Sb 0b01110101 +#define Sc 0b01111000 +#define Sd 0b01100111 +#define Se 0b01111100 +#define Sf 0b00111100 + +volatile uint8_t segs[16] = {S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,Sa,Sb,Sc,Sd,Se,Sf}; +volatile uint8_t ind = 0; +volatile uint8_t dim = 0; + +void show() { + uint8_t i = ind; + uint8_t j = dim; + for(uint8_t l=0;l<20;l++) { + for(uint8_t k=0;k0;i--) { + dim = i; + show(); + } +} + int main(void) { DDRB = 0b01111111; + //dim = 1; while(1){ - PORTB = SC; - _delay_ms(500); - PORTB = 0; - _delay_ms(500); + for(uint8_t i=0;i<16;i++) { + ind = i; + dimup(); + dimdown(); + //show(); + //_delay_ms(500); + } + } } diff --git a/15cmZahl/15cmzahl.aws b/15cmZahl/15cmzahl.aws index 8f29bf9..419680f 100644 --- a/15cmZahl/15cmzahl.aws +++ b/15cmZahl/15cmzahl.aws @@ -1 +1 @@ - + diff --git a/15cmZahl/default/15cmZahl.elf b/15cmZahl/default/15cmZahl.elf index 8a926d5d8a20029f73420f7aaa4691c80fd3388e..1367ba197366b804bac11ff6bbfc1f542b38becd 100644 GIT binary patch literal 7722 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 diff --git a/15cmZahl/default/15cmZahl.hex b/15cmZahl/default/15cmZahl.hex index bb813de..9998e90 100644 --- a/15cmZahl/default/15cmZahl.hex +++ b/15cmZahl/default/15cmZahl.hex @@ -1,8 +1,17 @@ -:1000000012C017C016C015C014C013C012C011C052 -:1000100010C00FC00EC00DC00CC00BC00AC009C07C -:1000200008C007C006C011241FBECFEDCDBF02D04F -:1000300019C0E6CF8FE787BB88E788BB2FEF34E393 -:100040004CE0215030404040E1F700C0000018BAB9 -:100050002FEF34E34CE0215030404040E1F700C046 -:080060000000EBCFF894FFCF84 +:1000000012C02AC029C028C027C026C025C024C0CD +:1000100023C022C021C020C01FC01EC01DC01CC0E4 +:100020001BC01AC019C011241FBECFEDCDBF10E0F8 +:10003000A0E6B0E0ECEEF0E002C005900D92A03733 +:10004000B107D9F710E0A0E7B0E001C01D92A237D8 +:10005000B107E1F73DD048C0D3CFE0917000609187 +:10006000710044E1F0E0E05AFF4F8FEF90E0861B13 +:10007000910918C0308138BB36E03A95F1F700C0DD +:100080002F5F2617B8F350E006C018BA26E02A956D +:10009000F1F700C05F5F252F30E028173907ACF378 +:1000A000415011F020E0EDCF08951F9310E0109320 +:1000B0007100D3DF1F5F1A3FD1F71F9108951F937F +:1000C0001AEF10937100C9DF1150D9F71F910895ED +:1000D0001F938FE787BB10E010937000E6DFEFDF20 +:0C00E0001F5F1031C0F7F8CFF894FFCF7D +:1000EC007B036E4F175D7D0B7F5F3F7578677C3CA4 :00000001FF diff --git a/15cmZahl/default/15cmZahl.lss b/15cmZahl/default/15cmZahl.lss index 42685fe..e175ef8 100644 --- a/15cmZahl/default/15cmZahl.lss +++ b/15cmZahl/default/15cmZahl.lss @@ -3,107 +3,279 @@ Sections: Idx Name Size VMA LMA File off Algn - 0 .text 00000068 00000000 00000000 00000054 2**1 + 0 .text 000000ec 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .stab 000006b4 00000000 00000000 000000bc 2**2 + 1 .data 00000010 00800060 000000ec 00000180 2**0 + CONTENTS, ALLOC, LOAD, DATA + 2 .bss 00000002 00800070 00800070 00000190 2**0 + ALLOC + 3 .stab 000006b4 00000000 00000000 00000190 2**2 CONTENTS, READONLY, DEBUGGING - 2 .stabstr 00000085 00000000 00000000 00000770 2**0 + 4 .stabstr 00000085 00000000 00000000 00000844 2**0 CONTENTS, READONLY, DEBUGGING - 3 .debug_aranges 00000020 00000000 00000000 000007f5 2**0 + 5 .debug_aranges 00000020 00000000 00000000 000008c9 2**0 CONTENTS, READONLY, DEBUGGING - 4 .debug_pubnames 0000001b 00000000 00000000 00000815 2**0 + 6 .debug_pubnames 00000053 00000000 00000000 000008e9 2**0 CONTENTS, READONLY, DEBUGGING - 5 .debug_info 00000196 00000000 00000000 00000830 2**0 + 7 .debug_info 000002ec 00000000 00000000 0000093c 2**0 CONTENTS, READONLY, DEBUGGING - 6 .debug_abbrev 00000106 00000000 00000000 000009c6 2**0 + 8 .debug_abbrev 0000018e 00000000 00000000 00000c28 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_line 00000157 00000000 00000000 00000acc 2**0 + 9 .debug_line 0000023c 00000000 00000000 00000db6 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_frame 00000020 00000000 00000000 00000c24 2**2 + 10 .debug_frame 00000050 00000000 00000000 00000ff4 2**2 CONTENTS, READONLY, DEBUGGING - 9 .debug_str 000000e9 00000000 00000000 00000c44 2**0 + 11 .debug_str 000000f8 00000000 00000000 00001044 2**0 CONTENTS, READONLY, DEBUGGING - 10 .debug_pubtypes 00000038 00000000 00000000 00000d2d 2**0 + 12 .debug_loc 0000015f 00000000 00000000 0000113c 2**0 + CONTENTS, READONLY, DEBUGGING + 13 .debug_pubtypes 0000002b 00000000 00000000 0000129b 2**0 + CONTENTS, READONLY, DEBUGGING + 14 .debug_ranges 00000030 00000000 00000000 000012c6 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 00000000 <__vectors>: 0: 12 c0 rjmp .+36 ; 0x26 <__ctors_end> - 2: 17 c0 rjmp .+46 ; 0x32 <__bad_interrupt> - 4: 16 c0 rjmp .+44 ; 0x32 <__bad_interrupt> - 6: 15 c0 rjmp .+42 ; 0x32 <__bad_interrupt> - 8: 14 c0 rjmp .+40 ; 0x32 <__bad_interrupt> - a: 13 c0 rjmp .+38 ; 0x32 <__bad_interrupt> - c: 12 c0 rjmp .+36 ; 0x32 <__bad_interrupt> - e: 11 c0 rjmp .+34 ; 0x32 <__bad_interrupt> - 10: 10 c0 rjmp .+32 ; 0x32 <__bad_interrupt> - 12: 0f c0 rjmp .+30 ; 0x32 <__bad_interrupt> - 14: 0e c0 rjmp .+28 ; 0x32 <__bad_interrupt> - 16: 0d c0 rjmp .+26 ; 0x32 <__bad_interrupt> - 18: 0c c0 rjmp .+24 ; 0x32 <__bad_interrupt> - 1a: 0b c0 rjmp .+22 ; 0x32 <__bad_interrupt> - 1c: 0a c0 rjmp .+20 ; 0x32 <__bad_interrupt> - 1e: 09 c0 rjmp .+18 ; 0x32 <__bad_interrupt> - 20: 08 c0 rjmp .+16 ; 0x32 <__bad_interrupt> - 22: 07 c0 rjmp .+14 ; 0x32 <__bad_interrupt> - 24: 06 c0 rjmp .+12 ; 0x32 <__bad_interrupt> + 2: 2a c0 rjmp .+84 ; 0x58 <__bad_interrupt> + 4: 29 c0 rjmp .+82 ; 0x58 <__bad_interrupt> + 6: 28 c0 rjmp .+80 ; 0x58 <__bad_interrupt> + 8: 27 c0 rjmp .+78 ; 0x58 <__bad_interrupt> + a: 26 c0 rjmp .+76 ; 0x58 <__bad_interrupt> + c: 25 c0 rjmp .+74 ; 0x58 <__bad_interrupt> + e: 24 c0 rjmp .+72 ; 0x58 <__bad_interrupt> + 10: 23 c0 rjmp .+70 ; 0x58 <__bad_interrupt> + 12: 22 c0 rjmp .+68 ; 0x58 <__bad_interrupt> + 14: 21 c0 rjmp .+66 ; 0x58 <__bad_interrupt> + 16: 20 c0 rjmp .+64 ; 0x58 <__bad_interrupt> + 18: 1f c0 rjmp .+62 ; 0x58 <__bad_interrupt> + 1a: 1e c0 rjmp .+60 ; 0x58 <__bad_interrupt> + 1c: 1d c0 rjmp .+58 ; 0x58 <__bad_interrupt> + 1e: 1c c0 rjmp .+56 ; 0x58 <__bad_interrupt> + 20: 1b c0 rjmp .+54 ; 0x58 <__bad_interrupt> + 22: 1a c0 rjmp .+52 ; 0x58 <__bad_interrupt> + 24: 19 c0 rjmp .+50 ; 0x58 <__bad_interrupt> 00000026 <__ctors_end>: 26: 11 24 eor r1, r1 28: 1f be out 0x3f, r1 ; 63 2a: cf ed ldi r28, 0xDF ; 223 2c: cd bf out 0x3d, r28 ; 61 - 2e: 02 d0 rcall .+4 ; 0x34
- 30: 19 c0 rjmp .+50 ; 0x64 <_exit> -00000032 <__bad_interrupt>: - 32: e6 cf rjmp .-52 ; 0x0 <__vectors> +0000002e <__do_copy_data>: + 2e: 10 e0 ldi r17, 0x00 ; 0 + 30: a0 e6 ldi r26, 0x60 ; 96 + 32: b0 e0 ldi r27, 0x00 ; 0 + 34: ec ee ldi r30, 0xEC ; 236 + 36: f0 e0 ldi r31, 0x00 ; 0 + 38: 02 c0 rjmp .+4 ; 0x3e <__SP_H__> + 3a: 05 90 lpm r0, Z+ + 3c: 0d 92 st X+, r0 + 3e: a0 37 cpi r26, 0x70 ; 112 + 40: b1 07 cpc r27, r17 + 42: d9 f7 brne .-10 ; 0x3a <__CCP__+0x6> -00000034
: -#define SA 0b00111111 -#define SB 0b01110101 -#define SC 0b01111000 +00000044 <__do_clear_bss>: + 44: 10 e0 ldi r17, 0x00 ; 0 + 46: a0 e7 ldi r26, 0x70 ; 112 + 48: b0 e0 ldi r27, 0x00 ; 0 + 4a: 01 c0 rjmp .+2 ; 0x4e <.do_clear_bss_start> -int main(void) { - DDRB = 0b01111111; - 34: 8f e7 ldi r24, 0x7F ; 127 - 36: 87 bb out 0x17, r24 ; 23 - while(1){ - PORTB = SC; - 38: 88 e7 ldi r24, 0x78 ; 120 - 3a: 88 bb out 0x18, r24 ; 24 +0000004c <.do_clear_bss_loop>: + 4c: 1d 92 st X+, r1 + +0000004e <.do_clear_bss_start>: + 4e: a2 37 cpi r26, 0x72 ; 114 + 50: b1 07 cpc r27, r17 + 52: e1 f7 brne .-8 ; 0x4c <.do_clear_bss_loop> + 54: 3d d0 rcall .+122 ; 0xd0
+ 56: 48 c0 rjmp .+144 ; 0xe8 <_exit> + +00000058 <__bad_interrupt>: + 58: d3 cf rjmp .-90 ; 0x0 <__vectors> + +0000005a : +volatile uint8_t segs[16] = {S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,Sa,Sb,Sc,Sd,Se,Sf}; +volatile uint8_t ind = 0; +volatile uint8_t dim = 0; + +void show() { + uint8_t i = ind; + 5a: e0 91 70 00 lds r30, 0x0070 + uint8_t j = dim; + 5e: 60 91 71 00 lds r22, 0x0071 + 62: 44 e1 ldi r20, 0x14 ; 20 + for(uint8_t l=0;l<20;l++) { + for(uint8_t k=0;k +void show() { + uint8_t i = ind; + uint8_t j = dim; + for(uint8_t l=0;l<20;l++) { + for(uint8_t k=0;k - 4a: 00 c0 rjmp .+0 ; 0x4c <__SREG__+0xd> - 4c: 00 00 nop - _delay_ms(500); - PORTB = 0; - 4e: 18 ba out 0x18, r1 ; 24 - 50: 2f ef ldi r18, 0xFF ; 255 - 52: 34 e3 ldi r19, 0x34 ; 52 - 54: 4c e0 ldi r20, 0x0C ; 12 - 56: 21 50 subi r18, 0x01 ; 1 - 58: 30 40 sbci r19, 0x00 ; 0 - 5a: 40 40 sbci r20, 0x00 ; 0 - 5c: e1 f7 brne .-8 ; 0x56 <__SREG__+0x17> - 5e: 00 c0 rjmp .+0 ; 0x60 <__SREG__+0x21> - 60: 00 00 nop - 62: eb cf rjmp .-42 ; 0x3a + 78: 36 e0 ldi r19, 0x06 ; 6 + 7a: 3a 95 dec r19 + 7c: f1 f7 brne .-4 ; 0x7a + 7e: 00 c0 rjmp .+0 ; 0x80 -00000064 <_exit>: - 64: f8 94 cli +void show() { + uint8_t i = ind; + uint8_t j = dim; + for(uint8_t l=0;l<20;l++) { + for(uint8_t k=0;k + 86: 50 e0 ldi r21, 0x00 ; 0 + 88: 06 c0 rjmp .+12 ; 0x96 + PORTB = segs[i]; + _delay_us(1); + } + for(uint8_t k=0;k<255-j;k++) { + PORTB = 0; + 8a: 18 ba out 0x18, r1 ; 24 + 8c: 26 e0 ldi r18, 0x06 ; 6 + 8e: 2a 95 dec r18 + 90: f1 f7 brne .-4 ; 0x8e + 92: 00 c0 rjmp .+0 ; 0x94 + for(uint8_t l=0;l<20;l++) { + for(uint8_t k=0;k + a0: 41 50 subi r20, 0x01 ; 1 +volatile uint8_t dim = 0; -00000066 <__stop_program>: - 66: ff cf rjmp .-2 ; 0x66 <__stop_program> +void show() { + uint8_t i = ind; + uint8_t j = dim; + for(uint8_t l=0;l<20;l++) { + a2: 11 f0 breq .+4 ; 0xa8 + +volatile uint8_t segs[16] = {S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,Sa,Sb,Sc,Sd,Se,Sf}; +volatile uint8_t ind = 0; +volatile uint8_t dim = 0; + +void show() { + a4: 20 e0 ldi r18, 0x00 ; 0 + a6: ed cf rjmp .-38 ; 0x82 + a8: 08 95 ret + +000000aa : + _delay_us(1); + } + } +} + +void dimup() { + aa: 1f 93 push r17 + + for(uint8_t j=0;j<250;j++) { + ac: 10 e0 ldi r17, 0x00 ; 0 + dim = j; + ae: 10 93 71 00 sts 0x0071, r17 + show(); + b2: d3 df rcall .-90 ; 0x5a + } +} + +void dimup() { + + for(uint8_t j=0;j<250;j++) { + b4: 1f 5f subi r17, 0xFF ; 255 + b6: 1a 3f cpi r17, 0xFA ; 250 + b8: d1 f7 brne .-12 ; 0xae + dim = j; + show(); + } +} + ba: 1f 91 pop r17 + bc: 08 95 ret + +000000be : + +void dimdown() { + be: 1f 93 push r17 + for(uint8_t i=250;i>0;i--) { + c0: 1a ef ldi r17, 0xFA ; 250 + dim = i; + c2: 10 93 71 00 sts 0x0071, r17 + show(); + c6: c9 df rcall .-110 ; 0x5a + show(); + } +} + +void dimdown() { + for(uint8_t i=250;i>0;i--) { + c8: 11 50 subi r17, 0x01 ; 1 + ca: d9 f7 brne .-10 ; 0xc2 + dim = i; + show(); + } +} + cc: 1f 91 pop r17 + ce: 08 95 ret + +000000d0
: + + +int main(void) { + d0: 1f 93 push r17 + DDRB = 0b01111111; + d2: 8f e7 ldi r24, 0x7F ; 127 + d4: 87 bb out 0x17, r24 ; 23 + //dim = 1; + while(1){ + for(uint8_t i=0;i<16;i++) { + d6: 10 e0 ldi r17, 0x00 ; 0 + ind = i; + d8: 10 93 70 00 sts 0x0070, r17 + dimup(); + dc: e6 df rcall .-52 ; 0xaa + dimdown(); + de: ef df rcall .-34 ; 0xbe + +int main(void) { + DDRB = 0b01111111; + //dim = 1; + while(1){ + for(uint8_t i=0;i<16;i++) { + e0: 1f 5f subi r17, 0xFF ; 255 + e2: 10 31 cpi r17, 0x10 ; 16 + e4: c0 f7 brcc .-16 ; 0xd6 + e6: f8 cf rjmp .-16 ; 0xd8 + +000000e8 <_exit>: + e8: f8 94 cli + +000000ea <__stop_program>: + ea: ff cf rjmp .-2 ; 0xea <__stop_program> diff --git a/15cmZahl/default/15cmZahl.map b/15cmZahl/default/15cmZahl.map index 0afaed1..291c00b 100644 --- a/15cmZahl/default/15cmZahl.map +++ b/15cmZahl/default/15cmZahl.map @@ -2,6 +2,10 @@ Archive member included because of file (symbol) e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o (exit) +e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) + 15cmZahl.o (__do_copy_data) +e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) + 15cmZahl.o (__do_clear_bss) Memory Configuration @@ -112,7 +116,7 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a .rela.plt *(.rela.plt) -.text 0x00000000 0x68 +.text 0x00000000 0xec *(.vectors) .vectors 0x00000000 0x26 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o 0x00000000 __vector_default @@ -150,6 +154,10 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a *(.init3) *(.init3) *(.init4) + .init4 0x0000002e 0x16 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) + 0x0000002e __do_copy_data + .init4 0x00000044 0x10 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) + 0x00000044 __do_clear_bss *(.init4) *(.init5) *(.init5) @@ -160,40 +168,47 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a *(.init8) *(.init8) *(.init9) - .init9 0x0000002e 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o + .init9 0x00000054 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o *(.init9) *(.text) - .text 0x00000032 0x2 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o - 0x00000032 __vector_1 - 0x00000032 __vector_12 - 0x00000032 __bad_interrupt - 0x00000032 __vector_6 - 0x00000032 __vector_3 - 0x00000032 __vector_11 - 0x00000032 __vector_13 - 0x00000032 __vector_17 - 0x00000032 __vector_7 - 0x00000032 __vector_5 - 0x00000032 __vector_4 - 0x00000032 __vector_9 - 0x00000032 __vector_2 - 0x00000032 __vector_15 - 0x00000032 __vector_8 - 0x00000032 __vector_14 - 0x00000032 __vector_10 - 0x00000032 __vector_16 - 0x00000032 __vector_18 - .text 0x00000034 0x30 15cmZahl.o - 0x00000034 main - .text 0x00000064 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) - 0x00000064 . = ALIGN (0x2) + .text 0x00000058 0x2 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o + 0x00000058 __vector_1 + 0x00000058 __vector_12 + 0x00000058 __bad_interrupt + 0x00000058 __vector_6 + 0x00000058 __vector_3 + 0x00000058 __vector_11 + 0x00000058 __vector_13 + 0x00000058 __vector_17 + 0x00000058 __vector_7 + 0x00000058 __vector_5 + 0x00000058 __vector_4 + 0x00000058 __vector_9 + 0x00000058 __vector_2 + 0x00000058 __vector_15 + 0x00000058 __vector_8 + 0x00000058 __vector_14 + 0x00000058 __vector_10 + 0x00000058 __vector_16 + 0x00000058 __vector_18 + .text 0x0000005a 0x8e 15cmZahl.o + 0x0000005a show + 0x000000aa dimup + 0x000000be dimdown + 0x000000d0 main + .text 0x000000e8 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + .text 0x000000e8 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) + .text 0x000000e8 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) + 0x000000e8 . = ALIGN (0x2) *(.text.*) - .text.libgcc 0x00000064 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) - 0x00000064 . = ALIGN (0x2) + .text.libgcc 0x000000e8 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + .text.libgcc 0x000000e8 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) + .text.libgcc 0x000000e8 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) + 0x000000e8 . = ALIGN (0x2) *(.fini9) - .fini9 0x00000064 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) - 0x00000064 _exit - 0x00000064 exit + .fini9 0x000000e8 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + 0x000000e8 _exit + 0x000000e8 exit *(.fini9) *(.fini8) *(.fini8) @@ -212,42 +227,49 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a *(.fini1) *(.fini1) *(.fini0) - .fini0 0x00000064 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + .fini0 0x000000e8 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) *(.fini0) - 0x00000068 _etext = . + 0x000000ec _etext = . -.data 0x00800060 0x0 load address 0x00000068 +.data 0x00800060 0x10 load address 0x000000ec 0x00800060 PROVIDE (__data_start, .) *(.data) .data 0x00800060 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o - .data 0x00800060 0x0 15cmZahl.o - .data 0x00800060 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + .data 0x00800060 0x10 15cmZahl.o + 0x00800060 segs + .data 0x00800070 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + .data 0x00800070 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) + .data 0x00800070 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) *(.data*) *(.rodata) *(.rodata*) *(.gnu.linkonce.d*) - 0x00800060 . = ALIGN (0x2) - 0x00800060 _edata = . - 0x00800060 PROVIDE (__data_end, .) + 0x00800070 . = ALIGN (0x2) + 0x00800070 _edata = . + 0x00800070 PROVIDE (__data_end, .) -.bss 0x00800060 0x0 - 0x00800060 PROVIDE (__bss_start, .) +.bss 0x00800070 0x2 + 0x00800070 PROVIDE (__bss_start, .) *(.bss) - .bss 0x00800060 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o - .bss 0x00800060 0x0 15cmZahl.o - .bss 0x00800060 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + .bss 0x00800070 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o + .bss 0x00800070 0x2 15cmZahl.o + 0x00800070 ind + 0x00800071 dim + .bss 0x00800072 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + .bss 0x00800072 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) + .bss 0x00800072 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) *(.bss*) *(COMMON) - 0x00800060 PROVIDE (__bss_end, .) - 0x00000068 __data_load_start = LOADADDR (.data) - 0x00000068 __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x00800072 PROVIDE (__bss_end, .) + 0x000000ec __data_load_start = LOADADDR (.data) + 0x000000fc __data_load_end = (__data_load_start + SIZEOF (.data)) -.noinit 0x00800060 0x0 - 0x00800060 PROVIDE (__noinit_start, .) +.noinit 0x00800072 0x0 + 0x00800072 PROVIDE (__noinit_start, .) *(.noinit*) - 0x00800060 PROVIDE (__noinit_end, .) - 0x00800060 _end = . - 0x00800060 PROVIDE (__heap_start, .) + 0x00800072 PROVIDE (__noinit_end, .) + 0x00800072 _end = . + 0x00800072 PROVIDE (__heap_start, .) .eeprom 0x00810000 0x0 *(.eeprom*) @@ -306,35 +328,36 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a 0x00000000 0x20 15cmZahl.o .debug_pubnames - 0x00000000 0x1b + 0x00000000 0x53 *(.debug_pubnames) .debug_pubnames - 0x00000000 0x1b 15cmZahl.o + 0x00000000 0x53 15cmZahl.o -.debug_info 0x00000000 0x196 +.debug_info 0x00000000 0x2ec *(.debug_info) - .debug_info 0x00000000 0x196 15cmZahl.o + .debug_info 0x00000000 0x2ec 15cmZahl.o *(.gnu.linkonce.wi.*) -.debug_abbrev 0x00000000 0x106 +.debug_abbrev 0x00000000 0x18e *(.debug_abbrev) - .debug_abbrev 0x00000000 0x106 15cmZahl.o + .debug_abbrev 0x00000000 0x18e 15cmZahl.o -.debug_line 0x00000000 0x157 +.debug_line 0x00000000 0x23c *(.debug_line) - .debug_line 0x00000000 0x157 15cmZahl.o + .debug_line 0x00000000 0x23c 15cmZahl.o -.debug_frame 0x00000000 0x20 +.debug_frame 0x00000000 0x50 *(.debug_frame) - .debug_frame 0x00000000 0x20 15cmZahl.o + .debug_frame 0x00000000 0x50 15cmZahl.o -.debug_str 0x00000000 0xe9 +.debug_str 0x00000000 0xf8 *(.debug_str) - .debug_str 0x00000000 0xe9 15cmZahl.o - 0x11d (size before relaxing) + .debug_str 0x00000000 0xf8 15cmZahl.o + 0x12c (size before relaxing) -.debug_loc +.debug_loc 0x00000000 0x15f *(.debug_loc) + .debug_loc 0x00000000 0x15f 15cmZahl.o .debug_macinfo *(.debug_macinfo) @@ -342,6 +365,9 @@ OUTPUT(15cmZahl.elf elf32-avr) LOAD linker stubs .debug_pubtypes - 0x00000000 0x38 + 0x00000000 0x2b .debug_pubtypes - 0x00000000 0x38 15cmZahl.o + 0x00000000 0x2b 15cmZahl.o + +.debug_ranges 0x00000000 0x30 + .debug_ranges 0x00000000 0x30 15cmZahl.o diff --git a/15cmZahl/default/Makefile b/15cmZahl/default/Makefile index c5118cc..1f698cc 100644 --- a/15cmZahl/default/Makefile +++ b/15cmZahl/default/Makefile @@ -15,7 +15,7 @@ COMMON = -mmcu=$(MCU) ## Compile options common for all C compilation units. CFLAGS = $(COMMON) -CFLAGS += -Wall -gdwarf-2 -std=gnu99 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums +CFLAGS += -Wall -gdwarf-2 -std=gnu99 -DF_CPU=20000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d ## Assembly specific flags