From 02c08df9add07dfd91398270383947b254745b87 Mon Sep 17 00:00:00 2001 From: BlubbFish Date: Thu, 20 Dec 2012 17:32:43 +0000 Subject: [PATCH] 20121220-183258 --- Timer/Timer.c | 82 +++++- Timer/default/Timer.elf | Bin 11992 -> 13395 bytes Timer/default/Timer.hex | 110 ++++---- Timer/default/Timer.lss | 581 +++++++++++++++++++++++++++++----------- Timer/default/Timer.map | 147 +++++----- Timer/timer.aws | 2 +- 6 files changed, 637 insertions(+), 285 deletions(-) diff --git a/Timer/Timer.c b/Timer/Timer.c index a7e5282..5387a02 100644 --- a/Timer/Timer.c +++ b/Timer/Timer.c @@ -4,7 +4,7 @@ #define MIN 29 -volatile uint8_t segs[18] = { +volatile uint8_t segs[] = { 0b00111111, //0 0b00000110, //1 0b01011011, //2 @@ -20,10 +20,32 @@ volatile uint8_t segs[18] = { 0b01000110, //-1 0b01110110, //+1 0b00000000, //Blank - 0b01111001, //E - 0b00110111, //N - 0b01011110 //d + //15 + 0b01111001, //E 15 + 0b00110111, //N 16 + 0b01011110, //d 17 + 0b01110001, //F 18 + 0b00110001, //R 19 + 0b01011100, //o 20 + 0b01110110, //H 21 + 0b00111100, //WL 22 + 0b00011110, //WR 23 + 0b00000110, //I 24 + 0b01110111, //A 25 + 0b00111001, //C 26 + 0b00000111, //T 27 + 0b00111110, //U 28 + 0b00001111, //J 29 }; +// uint8_t text[] = {18,19,20,21,15,14, //Frohe +// 22,23,15,24,21,16,25,26,21,27,15,16,14, //Weihnachten +// 27,16,17,14, //und +// 15,24,16,14, //ein +// 18,19,20,21,15,5,14, //frohes +// 16,15,28,15,5,14, //neues +// 29,25,21,19,14, //Jahr +// 2,0,1,3,14,2,0,1,3,14,2,0,1,3}; //2013 2013 2013 + // 14,14,18,18,19,19,20,20}; volatile uint8_t frame[6] = {14,14, 14,14, 14,14}; char var = 0; @@ -214,6 +236,50 @@ void endeblink() { } } +void weihnachten() { + uint8_t text1[] = {18,19,20,21,15,14, //Frohe + 22,23,15,24,21,16,25,26,21,27,15,16,14}; //Weihnachten + frame[0] = 14; + frame[1] = 14; + frame[2] = 14; + frame[3] = 14; + frame[4] = 14; + frame[5] = 14; + for(uint8_t i=0;i=0 && z < sizeof(text1)) { + frame[j+1] = text1[z]; + } else { + frame[j+1] = 14; + } + } + for(uint8_t k=0;k<30;k++) { + render(); + } + } +} + +void blink2013() { + frame[0] = 14; + frame[1] = 14; + for(uint8_t i=0;i<30;i++) { + frame[2] = 2; + frame[3] = 0; + frame[4] = 1; + frame[5] = 3; + for(uint8_t k=0;k<20;k++) { + render(); + } + frame[2] = 14; + frame[3] = 14; + frame[4] = 14; + frame[5] = 14; + for(uint8_t k=0;k<20;k++) { + render(); + } + } +} int main(void) { DDRB = 0; @@ -231,13 +297,17 @@ int main(void) { start(); //Timer $MIN nach unten timerdown(MIN); + for(int i=0;i<5;i++) { + weihnachten(); + } + blink2013(); //Lauflicht 10s; endelauflicht(); //Lauflicht Rand 10s - enderand(); + //enderand(); //Blinklicht endeblink(); //Timer UP 1Min Start - timerup(1); + timerup(2); } } diff --git a/Timer/default/Timer.elf b/Timer/default/Timer.elf index 90c8986d9212f1b12661c99a22afa0f3abbeb63d..38b8358a99c5839e5bb242687def95f36d0f4e39 100644 GIT binary patch delta 4763 zcmZu!33OD|8NT<;l8|j?5|Tjn%*3FPOcE9WK_ZGmG#0cRMUP5?#3pD4#fUW4%p@!- zOPb7!)P*CqwH#ayqEP|GGVT_Y1n8j^VHS4OLco+jtft@h=7pK&^qzCyf4}cv=PvKv z`R6_RYTNRZ9i!Uq_G>cCLa>{J5K`}(fvbc^<0pb+2X#q*9N<~#pKWiR;rK3eKB)Li zZHeAZlirN^rq3GObZSdb`m(*R0EhZs+#6{B{)9ZN?vpdFZxV+JibIE;XGg~ct-;Ub z+L7(Uw#n4JRjNmL)MoL*k*A&Qqw|8F$ZawXYzx?BB5y$PwIbx|phs;|?@=noH;LGi zn}WU0T%V_8QSs+{Jn(OWzcttlyc4(uc$u*3o~ty^ZVRRAY*Hr~9d3_!2|im;fe+D67v%X`i))Kdc0cF%Td$|x zBU(%E>}~TlLHoa!alUS_-C&us8~)w!U*kX0(OTRV^rW}P96UEv`&hx-!SAtBKP3H} zqxhEiAL)2f{nj|vea1WBwWzsjKn>TMoX}hVS&lNiFc2=$)>F@8Te0m^nPv5M0)64RE=9GAXZNURwU)}rl&aU=A zdv3d>eW2}3TkJDk-hg+o;7CbHp|^rxIu8}>>-cl zU-SZU$&Q95{Ng;IspRbZzQII+wk{+~f3MEJHgxRJqJS$fy`-AktAm>-)IGu4u$wd9oHsg|U)bjyfT>&T4MOp7%MC#~~k(=9P0Zs(!Y z+cro=8-Hw8hb6k)kJZ%Gx~lK1ZK!dH=V3Vi!8+FiV@k`$YG<{+y3QpY$2onZ<~NTB zF9!E7uCA{UuVA#Kda)L0C&uBBMmZUbtj8k-{Vwz^dTvFU8vzXm`DmPgry^sQ3gH$; z#Z>2N5QZYWHVnU;O^p)MMPW4kOzX*1G}UQL%r1&p(*;e$d5Jf`yhm>Ce4r2xpC(ST03Q1#mggi$gUanM|lTzK! zU~F2Ahq7E6ehX9cy$rZKl5yn?(1tTU8OiwcrHn#ZC1oX?{$Iic9COFB~osd&WUqc$y9gH|r z^;oiHh5Di;P2Q}&V<~a3hf>x`R%FKVGSNGbiS^hKvX%iBq1#qL{{zD=6mlWiwPZJg zIZhVI>dC%Nb~l&!_o5%vRWGS7TSmoSXrO==wjc1kfKI&7HqKzo957Pa z>8e@O4O*B)K99I8TN1XIc_*YJ?6j7Y$xtOcLi2QlEng1P_}B?Mtqb^mm1Euy)4V6) zjoI9JUCLbP9w!V*SI19|uSikiFt32IfToHR)FEX>io_s0UsR-�!z*l;sJUy~!q% z<+X9t=0STqNwr&5~4On9T?s# zXQ;iY+Y{apCS@+B#3&6%JGZAzmht&uJUApq8P_RCe5$z9K(u1IQz2i1B;KgwS9Q5r zmv8CvU0rfZWWwGDnGCrbG6iz4uIKVI9yh23@;s!3p)--#D&edg=$sG=`00b+)A2JE*PYmJ?si9_RLz%iIYgByH zy+hrfb%l`^jLu)OnvL!%EQt$U5v3c#Nrd2Xzc+-V%{p``YACp43}S`*lFwlf=g_0$ zC@9a29?fL|=S8?`E$6i$xRf-coUV<_Hc;NEjmK=DoT-h+ZlL5+D`MORO5V8?G5%69 z;}A9cLHO9*xjKKER5Hx!ZoA#YKS>kSf7^4-JmSaAYKEgwIcZj}gIJ%aE`-QWQoW8s z(=^=ZcBmgX9Oj=f!u9RA!*24W3UN_QEO3~&r{efVAvYQLsz~J2|{0HEpQFs&Z!6>{P_;3{7 z1v~;pg_{)LU|@{Gr}$<+ALZ~94CdX9$*)6bOHOL0%Xy%m=VhlmJ)3oNomi&xfYh)SCTNVBTbTLRi2Jz&r|UR@l#uvgZ$| z2L2+lgl1m) zh0TpkkOCt57v~Sb#lQi*A{I1W4?v1jJOwzisf=P8aCE_yz-g=wjZ1JV@Zb{Eu%g>R z@Y>Eb<`mr>;OKy^A(;2zXg!ZC_Y4~gRMmS?U~9HfciV$5%coWAs0& Q>iFVy(I1n}UByZAzh=mUD*ylh delta 3415 zcmZ`*3vg7`8UD}Ry_g{`=o^&$(x|{Pq4Gx6)J4TTrlc%u2*vB_a{;`v4j!Wbj$wxZ6zn=b&$gzP-1z zrtr!~Bf1h%d(!)kE_^ZRZ=-ho=;eN0L~{Fn3OqRKd}~$j2baY)c}CQ%@Y98&vcZeK z;W<-uyZ#%oe`asW39+km%|J?^>J@O($9TjQsci$Q(Vm!~%j zp7Y%^_;=q>Ux4iF3m-dts-sJyi=&I8pO4xRb)c`6=0z)`bE6f}axkr=_q9=J)Eg~{ z&W;v?X``XO?J{Wb8nN^A7xWvxp~0wcaPXRsBP3$Oiaymo(Qat}*2XkmiDUm$yRHpu zL)u4RVzK|By{}!-E^F^;vCP`!xMh*>%SG10V1S;6Pd_q zB-9(A?uvUydiwm(e%5kIWB}{{SYC4g{sZver(HVGUDl(AGJBKWy*^pHz33PE2Y6Fg zGj8T7kv6U6z+>_q>pWNHEC15=4}MD%(dE%#v{Qdg8NTfQmW|0m{7zxq-gB{t9D^fb_>f6#J1he3+$fApzDj!#xi(pB7;4q z4E73fH=O=Q26u@@R{Z}A(nJ{yM4sSUS72)CbJGRL^bWB6?A$WG2_O&IGw<*)&WVkJ zBX5aEFSI10Z)Dpjx?>u2>(M!SBeU0;odc$xSw!E=Y&N1f?gq1(*#}8H$n0XU+??We zykNrTTjIyD330H!a=CFCW6N zxF=zuQf?J$AhOrTEN+9ykNLDRqgom$MC|CJ{Fo)*bKw2Vv$>m3ACdEHjOH5-=gH3S ztJCX6laH3ASuz%>CMek^PiBsYxw1d&<+M|zD)o3CtFZhz+&XiKNM8shgm(v~L4;4v zI;Gs235shr9dak68*&%q49G{~a(7&I#pUC1*=?2X{8t^*uy9jzW0QYFbE9z}OQ&0x zWA0*E>M04Y@r0~t^I;O(WXII-@#5QrGG>)GW*4Yjzbxq~$xq>0@n3-ea>@Hj?8rsJ64f1)A7t-XfK;8uTBZK_3#BMv7PK2Am=`B!KqEN@>B5$F36L}R&hu0+o zUb|Y9P4u+f1O83SYUGRFLR)GsQNSwS_7*5XkNl6fSUv8ErQ?#-rFP{n9=WQtIQ{X@ z5e*_G`dbKp6^BY|M0@!C(yxi&Q>aL+3EGLt0Tb>9e#3-+4E%}-_X9^v z_;uiqO?UwKq6zE3XH6JqN|5S7a&wcQn~?ndjzBtrlLXNp;|_MV9r~_0c($8VCW5pTY&lI;_rZ;xDuE*JU2V+mzwN3;Z?wgt%ln0 zUkhwbunE{y;UKku@Wt#6hev? 3a: 05 90 lpm r0, Z+ 3c: 0d 92 st X+, r0 - 3e: a8 37 cpi r26, 0x78 ; 120 + 3e: a8 39 cpi r26, 0x98 ; 152 40: b1 07 cpc r27, r17 42: d9 f7 brne .-10 ; 0x3a <__CCP__+0x6> 00000044 <__do_clear_bss>: 44: 10 e0 ldi r17, 0x00 ; 0 - 46: a8 e7 ldi r26, 0x78 ; 120 + 46: a8 e9 ldi r26, 0x98 ; 152 48: b0 e0 ldi r27, 0x00 ; 0 4a: 01 c0 rjmp .+2 ; 0x4e <.do_clear_bss_start> @@ -86,17 +86,17 @@ Disassembly of section .text: 4c: 1d 92 st X+, r1 0000004e <.do_clear_bss_start>: - 4e: a9 37 cpi r26, 0x79 ; 121 + 4e: a9 39 cpi r26, 0x99 ; 153 50: b1 07 cpc r27, r17 52: e1 f7 brne .-8 ; 0x4c <.do_clear_bss_loop> - 54: 12 d2 rcall .+1060 ; 0x47a
- 56: 4e c2 rjmp .+1180 ; 0x4f4 <_exit> + 54: 9e d2 rcall .+1340 ; 0x592
+ 56: df c2 rjmp .+1470 ; 0x616 <_exit> 00000058 <__bad_interrupt>: 58: d3 cf rjmp .-90 ; 0x0 <__vectors> 0000005a : -}; + // 14,14,18,18,19,19,20,20}; volatile uint8_t frame[6] = {14,14, 14,14, 14,14}; char var = 0; @@ -272,7 +272,7 @@ void render() { for(uint8_t f = 0;f<6;f++) { display(frame[f],(5-f)+2); 13c: fe 01 movw r30, r28 - 13e: ee 58 subi r30, 0x8E ; 142 + 13e: e2 58 subi r30, 0x82 ; 130 140: ff 4f sbci r31, 0xFF ; 255 142: 80 81 ld r24, Z 144: 61 2f mov r22, r17 @@ -332,7 +332,7 @@ void timerdown(uint8_t min) { 180: c8 2e mov r12, r24 frame[0] = 11; 182: 8b e0 ldi r24, 0x0B ; 11 - 184: 80 93 72 00 sts 0x0072, r24 + 184: 80 93 7e 00 sts 0x007E, r24 for(uint8_t j=0;j<=min;j++) { 188: dd 24 eor r13, r13 frame[2] = (uint8_t)((MIN-j)/10); @@ -345,10 +345,10 @@ void timerdown(uint8_t min) { 196: 8d 19 sub r24, r13 198: 91 09 sbc r25, r1 19a: b8 01 movw r22, r16 - 19c: 84 d1 rcall .+776 ; 0x4a6 <__divmodhi4> - 19e: 60 93 74 00 sts 0x0074, r22 + 19c: 15 d2 rcall .+1066 ; 0x5c8 <__divmodhi4> + 19e: 60 93 80 00 sts 0x0080, r22 frame[3] = (uint8_t)((MIN-j)%10); - 1a2: 80 93 75 00 sts 0x0075, r24 + 1a2: 80 93 81 00 sts 0x0081, r24 1a6: 9b e3 ldi r25, 0x3B ; 59 1a8: 89 2e mov r8, r25 1aa: 91 2c mov r9, r1 @@ -357,17 +357,17 @@ void timerdown(uint8_t min) { frame[4] = (uint8_t)((59-i)/10); 1ae: c4 01 movw r24, r8 1b0: b8 01 movw r22, r16 - 1b2: 79 d1 rcall .+754 ; 0x4a6 <__divmodhi4> - 1b4: 60 93 76 00 sts 0x0076, r22 + 1b2: 0a d2 rcall .+1044 ; 0x5c8 <__divmodhi4> + 1b4: 60 93 82 00 sts 0x0082, r22 frame[5] = (uint8_t)((59-i)%10); - 1b8: 80 93 77 00 sts 0x0077, r24 + 1b8: 80 93 83 00 sts 0x0083, r24 frame[0] = (i%2==0)?11:14; 1bc: 20 ff sbrs r18, 0 1be: 02 c0 rjmp .+4 ; 0x1c4 1c0: 8e e0 ldi r24, 0x0E ; 14 1c2: 01 c0 rjmp .+2 ; 0x1c6 1c4: 8b e0 ldi r24, 0x0B ; 11 - 1c6: 80 93 72 00 sts 0x0072, r24 + 1c6: 80 93 7e 00 sts 0x007E, r24 1ca: 82 e5 ldi r24, 0x52 ; 82 1cc: b8 2e mov r11, r24 for(uint8_t k=0;k<82;k++) { @@ -434,7 +434,7 @@ void timerup(uint8_t min) { 20c: 1f 93 push r17 frame[0] = 10; 20e: 9a e0 ldi r25, 0x0A ; 10 - 210: 90 93 72 00 sts 0x0072, r25 + 210: 90 93 7e 00 sts 0x007E, r25 for(uint8_t j=min;j<=99;j++) { 214: 08 2f mov r16, r24 frame[2] = (uint8_t)(j/10); @@ -450,26 +450,26 @@ void timerup(uint8_t min) { frame[2] = (uint8_t)(j/10); 21c: 80 2f mov r24, r16 21e: 6f 2d mov r22, r15 - 220: 36 d1 rcall .+620 ; 0x48e <__udivmodqi4> - 222: 80 93 74 00 sts 0x0074, r24 + 220: c7 d1 rcall .+910 ; 0x5b0 <__udivmodqi4> + 222: 80 93 80 00 sts 0x0080, r24 frame[3] = (uint8_t)(j%10); - 226: 90 93 75 00 sts 0x0075, r25 + 226: 90 93 81 00 sts 0x0081, r25 for(uint8_t i=0;i<=59;i++) { 22a: 10 e0 ldi r17, 0x00 ; 0 frame[4] = (uint8_t)(i/10); 22c: 81 2f mov r24, r17 22e: 6f 2d mov r22, r15 - 230: 2e d1 rcall .+604 ; 0x48e <__udivmodqi4> - 232: 80 93 76 00 sts 0x0076, r24 + 230: bf d1 rcall .+894 ; 0x5b0 <__udivmodqi4> + 232: 80 93 82 00 sts 0x0082, r24 frame[5] = (uint8_t)(i%10); - 236: 90 93 77 00 sts 0x0077, r25 + 236: 90 93 83 00 sts 0x0083, r25 frame[0] = (i%2==0)?10:14; 23a: 10 ff sbrs r17, 0 23c: 02 c0 rjmp .+4 ; 0x242 23e: 8e e0 ldi r24, 0x0E ; 14 240: 01 c0 rjmp .+2 ; 0x244 242: 8a e0 ldi r24, 0x0A ; 10 - 244: 80 93 72 00 sts 0x0072, r24 + 244: 80 93 7e 00 sts 0x007E, r24 248: 32 e5 ldi r19, 0x52 ; 82 24a: e3 2e mov r14, r19 for(uint8_t k=0;k<82;k++) { @@ -558,7 +558,7 @@ void endelauflicht() { 28e: 1f 93 push r17 frame[0] = 10; 290: 8a e0 ldi r24, 0x0A ; 10 - 292: 80 93 72 00 sts 0x0072, r24 + 292: 80 93 7e 00 sts 0x007E, r24 296: 09 e2 ldi r16, 0x29 ; 41 for(uint8_t j=0;j<41;j++) { frame[2] = 15; @@ -587,13 +587,13 @@ void endelauflicht() { frame[0] = 10; for(uint8_t j=0;j<41;j++) { frame[2] = 15; - 2a6: f0 92 74 00 sts 0x0074, r15 + 2a6: f0 92 80 00 sts 0x0080, r15 frame[3] = 14; - 2aa: 10 93 75 00 sts 0x0075, r17 + 2aa: 10 93 81 00 sts 0x0081, r17 frame[4] = 14; - 2ae: 10 93 76 00 sts 0x0076, r17 + 2ae: 10 93 82 00 sts 0x0082, r17 frame[5] = 14; - 2b2: 10 93 77 00 sts 0x0077, r17 + 2b2: 10 93 83 00 sts 0x0083, r17 for(uint8_t k=0;k<5;k++) { render(); 2b6: 3c df rcall .-392 ; 0x130 @@ -603,9 +603,9 @@ void endelauflicht() { 2be: 38 df rcall .-400 ; 0x130 } frame[2] = 14; - 2c0: 10 93 74 00 sts 0x0074, r17 + 2c0: 10 93 80 00 sts 0x0080, r17 frame[3] = 16; - 2c4: d0 92 75 00 sts 0x0075, r13 + 2c4: d0 92 81 00 sts 0x0081, r13 for(uint8_t k=0;k<5;k++) { render(); 2c8: 33 df rcall .-410 ; 0x130 @@ -615,9 +615,9 @@ void endelauflicht() { 2d0: 2f df rcall .-418 ; 0x130 } frame[3] = 14; - 2d2: 10 93 75 00 sts 0x0075, r17 + 2d2: 10 93 81 00 sts 0x0081, r17 frame[4] = 17; - 2d6: e0 92 76 00 sts 0x0076, r14 + 2d6: e0 92 82 00 sts 0x0082, r14 for(uint8_t k=0;k<5;k++) { render(); 2da: 2a df rcall .-428 ; 0x130 @@ -627,9 +627,9 @@ void endelauflicht() { 2e2: 26 df rcall .-436 ; 0x130 } frame[4] = 14; - 2e4: 10 93 76 00 sts 0x0076, r17 + 2e4: 10 93 82 00 sts 0x0082, r17 frame[5] = 15; - 2e8: f0 92 77 00 sts 0x0077, r15 + 2e8: f0 92 83 00 sts 0x0083, r15 for(uint8_t k=0;k<5;k++) { render(); 2ec: 21 df rcall .-446 ; 0x130 @@ -668,7 +668,7 @@ void enderand() { 30e: 1f 93 push r17 frame[0] = 10; 310: 8a e0 ldi r24, 0x0A ; 10 - 312: 80 93 72 00 sts 0x0072, r24 + 312: 80 93 7e 00 sts 0x007E, r24 316: 09 e2 ldi r16, 0x29 ; 41 for(uint8_t j=0;j<41;j++) { frame[2] = 14; @@ -698,13 +698,13 @@ void enderand() { frame[0] = 10; for(uint8_t j=0;j<41;j++) { frame[2] = 14; - 326: 10 93 74 00 sts 0x0074, r17 + 326: 10 93 80 00 sts 0x0080, r17 frame[3] = 14; - 32a: 10 93 75 00 sts 0x0075, r17 + 32a: 10 93 81 00 sts 0x0081, r17 frame[4] = 14; - 32e: 10 93 76 00 sts 0x0076, r17 + 32e: 10 93 82 00 sts 0x0082, r17 frame[5] = 15; - 332: f0 92 77 00 sts 0x0077, r15 + 332: f0 92 83 00 sts 0x0083, r15 for(uint8_t k=0;k<5;k++) { render(); 336: fc de rcall .-520 ; 0x130 @@ -714,9 +714,9 @@ void enderand() { 33e: f8 de rcall .-528 ; 0x130 } frame[5] = 14; - 340: 10 93 77 00 sts 0x0077, r17 + 340: 10 93 83 00 sts 0x0083, r17 frame[3] = 16; - 344: d0 92 75 00 sts 0x0075, r13 + 344: d0 92 81 00 sts 0x0081, r13 for(uint8_t k=0;k<5;k++) { render(); 348: f3 de rcall .-538 ; 0x130 @@ -726,9 +726,9 @@ void enderand() { 350: ef de rcall .-546 ; 0x130 } frame[3] = 14; - 352: 10 93 75 00 sts 0x0075, r17 + 352: 10 93 81 00 sts 0x0081, r17 frame[4] = 17; - 356: e0 92 76 00 sts 0x0076, r14 + 356: e0 92 82 00 sts 0x0082, r14 for(uint8_t k=0;k<5;k++) { render(); 35a: ea de rcall .-556 ; 0x130 @@ -738,9 +738,9 @@ void enderand() { 362: e6 de rcall .-564 ; 0x130 } frame[2] = 15; - 364: f0 92 74 00 sts 0x0074, r15 + 364: f0 92 80 00 sts 0x0080, r15 frame[4] = 14; - 368: 10 93 76 00 sts 0x0076, r17 + 368: 10 93 82 00 sts 0x0082, r17 for(uint8_t k=0;k<5;k++) { render(); 36c: e1 de rcall .-574 ; 0x130 @@ -787,7 +787,7 @@ void endeblink() { 39e: df 93 push r29 frame[0] = 10; 3a0: 8a e0 ldi r24, 0x0A ; 10 - 3a2: 80 93 72 00 sts 0x0072, r24 + 3a2: 80 93 7e 00 sts 0x007E, r24 3a6: 06 e0 ldi r16, 0x06 ; 6 3a8: 10 e0 ldi r17, 0x00 ; 0 3aa: c0 e0 ldi r28, 0x00 ; 0 @@ -829,48 +829,48 @@ void endeblink() { frame[0] = 10; for(uint8_t j=0;j<44;j++) { frame[2] = 15; - 3c6: c0 92 74 00 sts 0x0074, r12 + 3c6: c0 92 80 00 sts 0x0080, r12 frame[3] = 16; - 3ca: a0 92 75 00 sts 0x0075, r10 + 3ca: a0 92 81 00 sts 0x0081, r10 frame[4] = 17; - 3ce: b0 92 76 00 sts 0x0076, r11 + 3ce: b0 92 82 00 sts 0x0082, r11 frame[5] = 15; - 3d2: c0 92 77 00 sts 0x0077, r12 + 3d2: c0 92 83 00 sts 0x0083, r12 for(uint8_t k=0;k<6+(j*2);k++) { 3d6: ee 24 eor r14, r14 3d8: 20 c0 rjmp .+64 ; 0x41a if(k%3==0) { 3da: 8e 2d mov r24, r14 3dc: 68 2d mov r22, r8 - 3de: 57 d0 rcall .+174 ; 0x48e <__udivmodqi4> + 3de: e8 d0 rcall .+464 ; 0x5b0 <__udivmodqi4> 3e0: 99 23 and r25, r25 3e2: c9 f4 brne .+50 ; 0x416 if(frame[2] == 14) { - 3e4: 80 91 74 00 lds r24, 0x0074 + 3e4: 80 91 80 00 lds r24, 0x0080 3e8: 8e 30 cpi r24, 0x0E ; 14 3ea: 59 f4 brne .+22 ; 0x402 frame[0] = 10; - 3ec: 90 92 72 00 sts 0x0072, r9 + 3ec: 90 92 7e 00 sts 0x007E, r9 frame[2] = 15; - 3f0: c0 92 74 00 sts 0x0074, r12 + 3f0: c0 92 80 00 sts 0x0080, r12 frame[3] = 16; - 3f4: a0 92 75 00 sts 0x0075, r10 + 3f4: a0 92 81 00 sts 0x0081, r10 frame[4] = 17; - 3f8: b0 92 76 00 sts 0x0076, r11 + 3f8: b0 92 82 00 sts 0x0082, r11 frame[5] = 15; - 3fc: c0 92 77 00 sts 0x0077, r12 + 3fc: c0 92 83 00 sts 0x0083, r12 400: 0a c0 rjmp .+20 ; 0x416 } else { frame[0] = 14; - 402: d0 92 72 00 sts 0x0072, r13 + 402: d0 92 7e 00 sts 0x007E, r13 frame[2] = 14; - 406: d0 92 74 00 sts 0x0074, r13 + 406: d0 92 80 00 sts 0x0080, r13 frame[3] = 14; - 40a: d0 92 75 00 sts 0x0075, r13 + 40a: d0 92 81 00 sts 0x0081, r13 frame[4] = 14; - 40e: d0 92 76 00 sts 0x0076, r13 + 40e: d0 92 82 00 sts 0x0082, r13 frame[5] = 14; - 412: d0 92 77 00 sts 0x0077, r13 + 412: d0 92 83 00 sts 0x0083, r13 } } render(); @@ -893,13 +893,13 @@ void endeblink() { render(); } frame[2] = 14; - 424: d0 92 74 00 sts 0x0074, r13 + 424: d0 92 80 00 sts 0x0080, r13 frame[3] = 14; - 428: d0 92 75 00 sts 0x0075, r13 + 428: d0 92 81 00 sts 0x0081, r13 frame[4] = 14; - 42c: d0 92 76 00 sts 0x0076, r13 + 42c: d0 92 82 00 sts 0x0082, r13 frame[5] = 14; - 430: d0 92 77 00 sts 0x0077, r13 + 430: d0 92 83 00 sts 0x0083, r13 for(uint8_t k=0;k<5+j;k++) { 434: 77 24 eor r7, r7 render(); @@ -968,111 +968,370 @@ void endeblink() { 476: 7f 90 pop r7 478: 08 95 ret -0000047a
: +0000047a : +void weihnachten() { + 47a: ef 92 push r14 + 47c: ff 92 push r15 + 47e: 0f 93 push r16 + 480: 1f 93 push r17 + 482: df 93 push r29 + 484: cf 93 push r28 + 486: cd b7 in r28, 0x3d ; 61 + 488: de b7 in r29, 0x3e ; 62 + 48a: c4 51 subi r28, 0x14 ; 20 + 48c: cd bf out 0x3d, r28 ; 61 + uint8_t text1[] = {18,19,20,21,15,14, //Frohe + 48e: de 01 movw r26, r28 + 490: 11 96 adiw r26, 0x01 ; 1 + 492: e4 e8 ldi r30, 0x84 ; 132 + 494: f0 e0 ldi r31, 0x00 ; 0 + 496: 83 e1 ldi r24, 0x13 ; 19 + 498: 01 90 ld r0, Z+ + 49a: 0d 92 st X+, r0 + 49c: 81 50 subi r24, 0x01 ; 1 + 49e: e1 f7 brne .-8 ; 0x498 + 22,23,15,24,21,16,25,26,21,27,15,16,14}; //Weihnachten + frame[0] = 14; + 4a0: 8e e0 ldi r24, 0x0E ; 14 + 4a2: 80 93 7e 00 sts 0x007E, r24 + frame[1] = 14; + 4a6: 80 93 7f 00 sts 0x007F, r24 + frame[2] = 14; + 4aa: 80 93 80 00 sts 0x0080, r24 + frame[3] = 14; + 4ae: 80 93 81 00 sts 0x0081, r24 + frame[4] = 14; + 4b2: 80 93 82 00 sts 0x0082, r24 + frame[5] = 14; + 4b6: 80 93 83 00 sts 0x0083, r24 + 4ba: 4c ef ldi r20, 0xFC ; 252 + for(uint8_t j=0;j<5;j++) { + uint8_t z = i+j-4; + if(z>=0 && z < sizeof(text1)) { + frame[j+1] = text1[z]; + } else { + frame[j+1] = 14; + 4bc: 7e e0 ldi r23, 0x0E ; 14 + 4be: e7 2e mov r14, r23 + frame[5] = 14; + for(uint8_t i=0;i=0 && z < sizeof(text1)) { + frame[j+1] = text1[z]; + 4c0: 8e 01 movw r16, r28 + 4c2: 0f 5f subi r16, 0xFF ; 255 + 4c4: 1f 4f sbci r17, 0xFF ; 255 + 4c6: 22 c0 rjmp .+68 ; 0x50c + 4c8: 9c 01 movw r18, r24 + 4ca: 2f 5f subi r18, 0xFF ; 255 + 4cc: 3f 4f sbci r19, 0xFF ; 255 + frame[4] = 14; + frame[5] = 14; + for(uint8_t i=0;i=0 && z < sizeof(text1)) { + 4ce: 53 31 cpi r21, 0x13 ; 19 + 4d0: 48 f4 brcc .+18 ; 0x4e4 + frame[j+1] = text1[z]; + 4d2: f8 01 movw r30, r16 + 4d4: e5 0f add r30, r21 + 4d6: f1 1d adc r31, r1 + 4d8: 60 81 ld r22, Z + 4da: 22 58 subi r18, 0x82 ; 130 + 4dc: 3f 4f sbci r19, 0xFF ; 255 + 4de: f9 01 movw r30, r18 + 4e0: 60 83 st Z, r22 + 4e2: 04 c0 rjmp .+8 ; 0x4ec + } else { + frame[j+1] = 14; + 4e4: 22 58 subi r18, 0x82 ; 130 + 4e6: 3f 4f sbci r19, 0xFF ; 255 + 4e8: f9 01 movw r30, r18 + 4ea: e0 82 st Z, r14 + 4ec: 01 96 adiw r24, 0x01 ; 1 + 4ee: 5f 5f subi r21, 0xFF ; 255 + frame[2] = 14; + frame[3] = 14; + frame[4] = 14; + frame[5] = 14; + for(uint8_t i=0;i + 4f6: 6e e1 ldi r22, 0x1E ; 30 + 4f8: f6 2e mov r15, r22 + } else { + frame[j+1] = 14; + } + } + for(uint8_t k=0;k<30;k++) { + render(); + 4fa: 4c 8b std Y+20, r20 ; 0x14 + 4fc: 19 de rcall .-974 ; 0x130 + 4fe: fa 94 dec r15 + frame[j+1] = text1[z]; + } else { + frame[j+1] = 14; + } + } + for(uint8_t k=0;k<30;k++) { + 500: 4c 89 ldd r20, Y+20 ; 0x14 + 502: ff 20 and r15, r15 + 504: d1 f7 brne .-12 ; 0x4fa + 506: 4f 5f subi r20, 0xFF ; 255 + frame[1] = 14; + frame[2] = 14; + frame[3] = 14; + frame[4] = 14; + frame[5] = 14; + for(uint8_t i=0;i + render(); + } + } +} + +void weihnachten() { + 50c: 54 2f mov r21, r20 + 50e: 80 e0 ldi r24, 0x00 ; 0 + 510: 90 e0 ldi r25, 0x00 ; 0 + 512: da cf rjmp .-76 ; 0x4c8 + } + for(uint8_t k=0;k<30;k++) { + render(); + } + } +} + 514: cc 5e subi r28, 0xEC ; 236 + 516: cd bf out 0x3d, r28 ; 61 + 518: cf 91 pop r28 + 51a: df 91 pop r29 + 51c: 1f 91 pop r17 + 51e: 0f 91 pop r16 + 520: ff 90 pop r15 + 522: ef 90 pop r14 + 524: 08 95 ret + +00000526 : + +void blink2013() { + 526: cf 92 push r12 + 528: df 92 push r13 + 52a: ef 92 push r14 + 52c: ff 92 push r15 + 52e: 0f 93 push r16 + 530: 1f 93 push r17 + frame[0] = 14; + 532: 8e e0 ldi r24, 0x0E ; 14 + 534: 80 93 7e 00 sts 0x007E, r24 + frame[1] = 14; + 538: 80 93 7f 00 sts 0x007F, r24 + 53c: 0e e1 ldi r16, 0x1E ; 30 + for(uint8_t i=0;i<30;i++) { + frame[2] = 2; + 53e: b2 e0 ldi r27, 0x02 ; 2 + 540: cb 2e mov r12, r27 + frame[3] = 0; + frame[4] = 1; + 542: dd 24 eor r13, r13 + 544: d3 94 inc r13 + frame[5] = 3; + 546: a3 e0 ldi r26, 0x03 ; 3 + 548: ea 2e mov r14, r26 + for(uint8_t k=0;k<20;k++) { + render(); + } + frame[2] = 14; + 54a: 1e e0 ldi r17, 0x0E ; 14 + +void blink2013() { + frame[0] = 14; + frame[1] = 14; + for(uint8_t i=0;i<30;i++) { + frame[2] = 2; + 54c: c0 92 80 00 sts 0x0080, r12 + frame[3] = 0; + 550: 10 92 81 00 sts 0x0081, r1 + frame[4] = 1; + 554: d0 92 82 00 sts 0x0082, r13 + frame[5] = 3; + 558: e0 92 83 00 sts 0x0083, r14 + 55c: f4 e1 ldi r31, 0x14 ; 20 + 55e: ff 2e mov r15, r31 + for(uint8_t k=0;k<20;k++) { + render(); + 560: e7 dd rcall .-1074 ; 0x130 + 562: fa 94 dec r15 + for(uint8_t i=0;i<30;i++) { + frame[2] = 2; + frame[3] = 0; + frame[4] = 1; + frame[5] = 3; + for(uint8_t k=0;k<20;k++) { + 564: e9 f7 brne .-6 ; 0x560 + render(); + } + frame[2] = 14; + 566: 10 93 80 00 sts 0x0080, r17 + frame[3] = 14; + 56a: 10 93 81 00 sts 0x0081, r17 + frame[4] = 14; + 56e: 10 93 82 00 sts 0x0082, r17 + frame[5] = 14; + 572: 10 93 83 00 sts 0x0083, r17 + 576: e4 e1 ldi r30, 0x14 ; 20 + 578: fe 2e mov r15, r30 + for(uint8_t k=0;k<20;k++) { + render(); + 57a: da dd rcall .-1100 ; 0x130 + 57c: fa 94 dec r15 + } + frame[2] = 14; + frame[3] = 14; + frame[4] = 14; + frame[5] = 14; + for(uint8_t k=0;k<20;k++) { + 57e: e9 f7 brne .-6 ; 0x57a + 580: 01 50 subi r16, 0x01 ; 1 +} + +void blink2013() { + frame[0] = 14; + frame[1] = 14; + for(uint8_t i=0;i<30;i++) { + 582: 21 f7 brne .-56 ; 0x54c + frame[5] = 14; + for(uint8_t k=0;k<20;k++) { + render(); + } + } +} + 584: 1f 91 pop r17 + 586: 0f 91 pop r16 + 588: ff 90 pop r15 + 58a: ef 90 pop r14 + 58c: df 90 pop r13 + 58e: cf 90 pop r12 + 590: 08 95 ret + +00000592
: int main(void) { DDRB = 0; - 47a: 17 ba out 0x17, r1 ; 23 + 592: 17 ba out 0x17, r1 ; 23 OCR0A = 250; //geladen mit 10ms TIMSK |= (1< + 594: 69 de rcall .-814 ; 0x268 //Timer $MIN nach unten timerdown(MIN); - 47e: 8d e1 ldi r24, 0x1D ; 29 - 480: 71 de rcall .-798 ; 0x164 + 596: 8d e1 ldi r24, 0x1D ; 29 + 598: e5 dd rcall .-1078 ; 0x164 + for(int i=0;i<5;i++) { + weihnachten(); + 59a: 6f df rcall .-290 ; 0x47a + 59c: 6e df rcall .-292 ; 0x47a + 59e: 6d df rcall .-294 ; 0x47a + 5a0: 6c df rcall .-296 ; 0x47a + 5a2: 6b df rcall .-298 ; 0x47a + } + blink2013(); + 5a4: c0 df rcall .-128 ; 0x526 //Lauflicht 10s; endelauflicht(); - 482: 01 df rcall .-510 ; 0x286 + 5a6: 6f de rcall .-802 ; 0x286 //Lauflicht Rand 10s - enderand(); - 484: 40 df rcall .-384 ; 0x306 + //enderand(); //Blinklicht endeblink(); - 486: 7f df rcall .-258 ; 0x386 + 5a8: ee de rcall .-548 ; 0x386 //Timer UP 1Min Start - timerup(1); - 488: 81 e0 ldi r24, 0x01 ; 1 - 48a: bd de rcall .-646 ; 0x206 - 48c: f7 cf rjmp .-18 ; 0x47c + timerup(2); + 5aa: 82 e0 ldi r24, 0x02 ; 2 + 5ac: 2c de rcall .-936 ; 0x206 + 5ae: f2 cf rjmp .-28 ; 0x594 -0000048e <__udivmodqi4>: - 48e: 99 1b sub r25, r25 - 490: 79 e0 ldi r23, 0x09 ; 9 - 492: 04 c0 rjmp .+8 ; 0x49c <__udivmodqi4_ep> +000005b0 <__udivmodqi4>: + 5b0: 99 1b sub r25, r25 + 5b2: 79 e0 ldi r23, 0x09 ; 9 + 5b4: 04 c0 rjmp .+8 ; 0x5be <__udivmodqi4_ep> -00000494 <__udivmodqi4_loop>: - 494: 99 1f adc r25, r25 - 496: 96 17 cp r25, r22 - 498: 08 f0 brcs .+2 ; 0x49c <__udivmodqi4_ep> - 49a: 96 1b sub r25, r22 +000005b6 <__udivmodqi4_loop>: + 5b6: 99 1f adc r25, r25 + 5b8: 96 17 cp r25, r22 + 5ba: 08 f0 brcs .+2 ; 0x5be <__udivmodqi4_ep> + 5bc: 96 1b sub r25, r22 -0000049c <__udivmodqi4_ep>: - 49c: 88 1f adc r24, r24 - 49e: 7a 95 dec r23 - 4a0: c9 f7 brne .-14 ; 0x494 <__udivmodqi4_loop> - 4a2: 80 95 com r24 - 4a4: 08 95 ret +000005be <__udivmodqi4_ep>: + 5be: 88 1f adc r24, r24 + 5c0: 7a 95 dec r23 + 5c2: c9 f7 brne .-14 ; 0x5b6 <__udivmodqi4_loop> + 5c4: 80 95 com r24 + 5c6: 08 95 ret -000004a6 <__divmodhi4>: - 4a6: 97 fb bst r25, 7 - 4a8: 09 2e mov r0, r25 - 4aa: 07 26 eor r0, r23 - 4ac: 0a d0 rcall .+20 ; 0x4c2 <__divmodhi4_neg1> - 4ae: 77 fd sbrc r23, 7 - 4b0: 04 d0 rcall .+8 ; 0x4ba <__divmodhi4_neg2> - 4b2: 0c d0 rcall .+24 ; 0x4cc <__udivmodhi4> - 4b4: 06 d0 rcall .+12 ; 0x4c2 <__divmodhi4_neg1> - 4b6: 00 20 and r0, r0 - 4b8: 1a f4 brpl .+6 ; 0x4c0 <__divmodhi4_exit> +000005c8 <__divmodhi4>: + 5c8: 97 fb bst r25, 7 + 5ca: 09 2e mov r0, r25 + 5cc: 07 26 eor r0, r23 + 5ce: 0a d0 rcall .+20 ; 0x5e4 <__divmodhi4_neg1> + 5d0: 77 fd sbrc r23, 7 + 5d2: 04 d0 rcall .+8 ; 0x5dc <__divmodhi4_neg2> + 5d4: 0c d0 rcall .+24 ; 0x5ee <__udivmodhi4> + 5d6: 06 d0 rcall .+12 ; 0x5e4 <__divmodhi4_neg1> + 5d8: 00 20 and r0, r0 + 5da: 1a f4 brpl .+6 ; 0x5e2 <__divmodhi4_exit> -000004ba <__divmodhi4_neg2>: - 4ba: 70 95 com r23 - 4bc: 61 95 neg r22 - 4be: 7f 4f sbci r23, 0xFF ; 255 +000005dc <__divmodhi4_neg2>: + 5dc: 70 95 com r23 + 5de: 61 95 neg r22 + 5e0: 7f 4f sbci r23, 0xFF ; 255 -000004c0 <__divmodhi4_exit>: - 4c0: 08 95 ret +000005e2 <__divmodhi4_exit>: + 5e2: 08 95 ret -000004c2 <__divmodhi4_neg1>: - 4c2: f6 f7 brtc .-4 ; 0x4c0 <__divmodhi4_exit> - 4c4: 90 95 com r25 - 4c6: 81 95 neg r24 - 4c8: 9f 4f sbci r25, 0xFF ; 255 - 4ca: 08 95 ret +000005e4 <__divmodhi4_neg1>: + 5e4: f6 f7 brtc .-4 ; 0x5e2 <__divmodhi4_exit> + 5e6: 90 95 com r25 + 5e8: 81 95 neg r24 + 5ea: 9f 4f sbci r25, 0xFF ; 255 + 5ec: 08 95 ret -000004cc <__udivmodhi4>: - 4cc: aa 1b sub r26, r26 - 4ce: bb 1b sub r27, r27 - 4d0: 51 e1 ldi r21, 0x11 ; 17 - 4d2: 07 c0 rjmp .+14 ; 0x4e2 <__udivmodhi4_ep> +000005ee <__udivmodhi4>: + 5ee: aa 1b sub r26, r26 + 5f0: bb 1b sub r27, r27 + 5f2: 51 e1 ldi r21, 0x11 ; 17 + 5f4: 07 c0 rjmp .+14 ; 0x604 <__udivmodhi4_ep> -000004d4 <__udivmodhi4_loop>: - 4d4: aa 1f adc r26, r26 - 4d6: bb 1f adc r27, r27 - 4d8: a6 17 cp r26, r22 - 4da: b7 07 cpc r27, r23 - 4dc: 10 f0 brcs .+4 ; 0x4e2 <__udivmodhi4_ep> - 4de: a6 1b sub r26, r22 - 4e0: b7 0b sbc r27, r23 +000005f6 <__udivmodhi4_loop>: + 5f6: aa 1f adc r26, r26 + 5f8: bb 1f adc r27, r27 + 5fa: a6 17 cp r26, r22 + 5fc: b7 07 cpc r27, r23 + 5fe: 10 f0 brcs .+4 ; 0x604 <__udivmodhi4_ep> + 600: a6 1b sub r26, r22 + 602: b7 0b sbc r27, r23 -000004e2 <__udivmodhi4_ep>: - 4e2: 88 1f adc r24, r24 - 4e4: 99 1f adc r25, r25 - 4e6: 5a 95 dec r21 - 4e8: a9 f7 brne .-22 ; 0x4d4 <__udivmodhi4_loop> - 4ea: 80 95 com r24 - 4ec: 90 95 com r25 - 4ee: bc 01 movw r22, r24 - 4f0: cd 01 movw r24, r26 - 4f2: 08 95 ret +00000604 <__udivmodhi4_ep>: + 604: 88 1f adc r24, r24 + 606: 99 1f adc r25, r25 + 608: 5a 95 dec r21 + 60a: a9 f7 brne .-22 ; 0x5f6 <__udivmodhi4_loop> + 60c: 80 95 com r24 + 60e: 90 95 com r25 + 610: bc 01 movw r22, r24 + 612: cd 01 movw r24, r26 + 614: 08 95 ret -000004f4 <_exit>: - 4f4: f8 94 cli +00000616 <_exit>: + 616: f8 94 cli -000004f6 <__stop_program>: - 4f6: ff cf rjmp .-2 ; 0x4f6 <__stop_program> +00000618 <__stop_program>: + 618: ff cf rjmp .-2 ; 0x618 <__stop_program> diff --git a/Timer/default/Timer.map b/Timer/default/Timer.map index 9fc2867..a397e71 100644 --- a/Timer/default/Timer.map +++ b/Timer/default/Timer.map @@ -122,7 +122,7 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a .rela.plt *(.rela.plt) -.text 0x00000000 0x4f8 +.text 0x00000000 0x61a *(.vectors) .vectors 0x00000000 0x26 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o 0x00000000 __vector_default @@ -197,7 +197,7 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a 0x00000058 __vector_10 0x00000058 __vector_16 0x00000058 __vector_18 - .text 0x0000005a 0x434 Timer.o + .text 0x0000005a 0x556 Timer.o 0x0000005a display 0x00000130 render 0x00000164 timerdown @@ -206,30 +206,32 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a 0x00000286 endelauflicht 0x00000306 enderand 0x00000386 endeblink - 0x0000047a main - .text 0x0000048e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o) - .text 0x0000048e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o) - .text 0x0000048e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) - .text 0x0000048e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) - .text 0x0000048e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) - .text 0x0000048e 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o) - 0x0000048e . = ALIGN (0x2) + 0x0000047a weihnachten + 0x00000526 blink2013 + 0x00000592 main + .text 0x000005b0 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o) + .text 0x000005b0 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o) + .text 0x000005b0 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + .text 0x000005b0 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) + .text 0x000005b0 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) + .text 0x000005b0 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o) + 0x000005b0 . = ALIGN (0x2) *(.text.*) - .text.libgcc 0x0000048e 0x18 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o) - 0x0000048e __udivmodqi4 - .text.libgcc 0x000004a6 0x26 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o) - 0x000004a6 _div - 0x000004a6 __divmodhi4 - .text.libgcc 0x000004cc 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) - .text.libgcc 0x000004cc 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) - .text.libgcc 0x000004cc 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) - .text.libgcc 0x000004cc 0x28 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o) - 0x000004cc __udivmodhi4 - 0x000004f4 . = ALIGN (0x2) + .text.libgcc 0x000005b0 0x18 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o) + 0x000005b0 __udivmodqi4 + .text.libgcc 0x000005c8 0x26 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o) + 0x000005c8 _div + 0x000005c8 __divmodhi4 + .text.libgcc 0x000005ee 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + .text.libgcc 0x000005ee 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) + .text.libgcc 0x000005ee 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) + .text.libgcc 0x000005ee 0x28 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o) + 0x000005ee __udivmodhi4 + 0x00000616 . = ALIGN (0x2) *(.fini9) - .fini9 0x000004f4 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) - 0x000004f4 _exit - 0x000004f4 exit + .fini9 0x00000616 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + 0x00000616 _exit + 0x00000616 exit *(.fini9) *(.fini8) *(.fini8) @@ -248,55 +250,56 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a *(.fini1) *(.fini1) *(.fini0) - .fini0 0x000004f4 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + .fini0 0x00000616 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) *(.fini0) - 0x000004f8 _etext = . + 0x0000061a _etext = . -.data 0x00800060 0x18 load address 0x000004f8 +.data 0x00800060 0x38 load address 0x0000061a 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 0x18 Timer.o + .data 0x00800060 0x37 Timer.o 0x00800060 segs - 0x00800072 frame - .data 0x00800078 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o) - .data 0x00800078 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o) - .data 0x00800078 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) - .data 0x00800078 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) - .data 0x00800078 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) - .data 0x00800078 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o) + 0x0080007e frame + .data 0x00800097 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o) + .data 0x00800097 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o) + .data 0x00800097 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + .data 0x00800097 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) + .data 0x00800097 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) + .data 0x00800097 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o) *(.data*) *(.rodata) *(.rodata*) *(.gnu.linkonce.d*) - 0x00800078 . = ALIGN (0x2) - 0x00800078 _edata = . - 0x00800078 PROVIDE (__data_end, .) + 0x00800098 . = ALIGN (0x2) + *fill* 0x00800097 0x1 00 + 0x00800098 _edata = . + 0x00800098 PROVIDE (__data_end, .) -.bss 0x00800078 0x1 - 0x00800078 PROVIDE (__bss_start, .) +.bss 0x00800098 0x1 + 0x00800098 PROVIDE (__bss_start, .) *(.bss) - .bss 0x00800078 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o - .bss 0x00800078 0x1 Timer.o - 0x00800078 var - .bss 0x00800079 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o) - .bss 0x00800079 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o) - .bss 0x00800079 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) - .bss 0x00800079 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) - .bss 0x00800079 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) - .bss 0x00800079 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o) + .bss 0x00800098 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn2313.o + .bss 0x00800098 0x1 Timer.o + 0x00800098 var + .bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodqi4.o) + .bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_divmodhi4.o) + .bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + .bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_copy_data.o) + .bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_clear_bss.o) + .bss 0x00800099 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_udivmodhi4.o) *(.bss*) *(COMMON) - 0x00800079 PROVIDE (__bss_end, .) - 0x000004f8 __data_load_start = LOADADDR (.data) - 0x00000510 __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x00800099 PROVIDE (__bss_end, .) + 0x0000061a __data_load_start = LOADADDR (.data) + 0x00000652 __data_load_end = (__data_load_start + SIZEOF (.data)) -.noinit 0x00800079 0x0 - 0x00800079 PROVIDE (__noinit_start, .) +.noinit 0x00800099 0x0 + 0x00800099 PROVIDE (__noinit_start, .) *(.noinit*) - 0x00800079 PROVIDE (__noinit_end, .) - 0x00800079 _end = . - 0x00800079 PROVIDE (__heap_start, .) + 0x00800099 PROVIDE (__noinit_end, .) + 0x00800099 _end = . + 0x00800099 PROVIDE (__heap_start, .) .eeprom 0x00810000 0x0 *(.eeprom*) @@ -355,36 +358,36 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a 0x00000000 0x20 Timer.o .debug_pubnames - 0x00000000 0x9e + 0x00000000 0xbc *(.debug_pubnames) .debug_pubnames - 0x00000000 0x9e Timer.o + 0x00000000 0xbc Timer.o -.debug_info 0x00000000 0x5ab +.debug_info 0x00000000 0x6c3 *(.debug_info) - .debug_info 0x00000000 0x5ab Timer.o + .debug_info 0x00000000 0x6c3 Timer.o *(.gnu.linkonce.wi.*) -.debug_abbrev 0x00000000 0x1b7 +.debug_abbrev 0x00000000 0x1f9 *(.debug_abbrev) - .debug_abbrev 0x00000000 0x1b7 Timer.o + .debug_abbrev 0x00000000 0x1f9 Timer.o -.debug_line 0x00000000 0x626 +.debug_line 0x00000000 0x786 *(.debug_line) - .debug_line 0x00000000 0x626 Timer.o + .debug_line 0x00000000 0x786 Timer.o -.debug_frame 0x00000000 0xa0 +.debug_frame 0x00000000 0xc0 *(.debug_frame) - .debug_frame 0x00000000 0xa0 Timer.o + .debug_frame 0x00000000 0xc0 Timer.o -.debug_str 0x00000000 0x147 +.debug_str 0x00000000 0x163 *(.debug_str) - .debug_str 0x00000000 0x147 Timer.o - 0x180 (size before relaxing) + .debug_str 0x00000000 0x163 Timer.o + 0x19c (size before relaxing) -.debug_loc 0x00000000 0x474 +.debug_loc 0x00000000 0x548 *(.debug_loc) - .debug_loc 0x00000000 0x474 Timer.o + .debug_loc 0x00000000 0x548 Timer.o .debug_macinfo *(.debug_macinfo) diff --git a/Timer/timer.aws b/Timer/timer.aws index 06679ec..cb1455b 100644 --- a/Timer/timer.aws +++ b/Timer/timer.aws @@ -1 +1 @@ - +