From 622ea95cd6efffd691abc48e2052ff253e49465f Mon Sep 17 00:00:00 2001 From: BlubbFish Date: Sun, 21 Oct 2012 16:30:14 +0000 Subject: [PATCH] 20121021-183239 --- V2/Motor/Motor.c | 75 +++- V2/Motor/default/Motor.elf | Bin 6652 -> 9858 bytes V2/Motor/default/Motor.hex | 50 ++- V2/Motor/default/Motor.lss | 603 ++++++++++++++++++++++++++++----- V2/Motor/default/Motor.map | 76 +++-- V2/Motor/default/dep/Motor.o.d | 5 +- 6 files changed, 659 insertions(+), 150 deletions(-) diff --git a/V2/Motor/Motor.c b/V2/Motor/Motor.c index e27b57e..a559d5a 100644 --- a/V2/Motor/Motor.c +++ b/V2/Motor/Motor.c @@ -1,6 +1,7 @@ #include #include #include +#include volatile uint8_t led[3] = {(1<mfsI~MdSxyYb9AW#u!_YX8(FM=V+E|jDRB{)f;Zkc2YGi^F;V}{9eNQT6Vq2NGU?9?fcPNRO`x%b@r z+clp2(=&U{@B2N@cYgQWd(M6A-sQKguq;cN;#2FC(OO_En5xu%$QBh)J~dm7QI*=C zHXR^`e0D7aW?$ATuqkUu`$_>>i)ccfl({i;L+1L-XPH@P-S%a5zGr?O|V*^9r)`Z9%w zM<4l4`tRO4*PdOMty-U-~Ci&lnREHu9?}`R9N?ETW8(nK(;Y^{u~*8c`b(bzL|aQnhe)p zS%n;CW;)Q4>ld2q)oXEm_>K2YUz2OnmDYFHWid10c}Mdcy#~+s-v7bBS3h|<=Xh?$ z@qpoiVX%)Xbq$6GKYHQ=>x&uQ=bU=;vi2Gb-}?36y!VAUTw>n~=Sq%GKT>(5@|DUX z)%A}b9X>kcuOGa4^j$ON=jT2;Q;V*S~rLoHEbUA$C{cX6xYaj|r$ zHZ|FX!0if4S(gsAOx3!$Lj_#CTwUkl6*y+Qbf}eTri)i$7clnK>IN5oSZZh<2LM+J@vyjkELfwu@87kI0{+XU_vxKH4Oz)6Ao1-@6{l)wW5rv)Aq zc)P&&3A{t#odWL?`0E1i7WhvD-Xri{frkXXU*LTL|Ea+H1%5!_0|GxN@IwMWEbu{r z9})PFz>f<2n81$py~k5ooEwL^7ee{L0NT)S_O7 z+K0ha1W~=QsM-bDm&75UhfcSEsDbsh0BTeTmH`=i>_#eu=s7l z1N0X2 zu#7&8X4v7c*ZeQTLjD=lYT(lRUqOc`sx@2lx4~X%Y#x6cX3hTu0L$o~pc#R}{BP9! zSy;$FhuT@VH2(>3zd-(==Km1(N@Mf*E3p_f|4jfa<9LOTyIFHrfq~rfsD%)tx!;EM zBDoi6?vt=r8k@)cy5auF;a20VENHA-EM8d?krA&hu1C#U3ImPSk_o(GunvcoRvM$G zop@T?Tc24m=|!Nx9cU(7yi~1a))EMI=NcvNbP!ZFI0hcW?L3AGSoLUkz_S6>>NKON z)=Fc{8ExuHJz6WTb2Wt|L6A(Uia^SX6dP z+3Fh1nPbO$Kw*Pr+h>&r$}ISb3PoUXi%?1$tfl29cyT#{M-?jal}gX*8rxTvZ^W+Q znV4d0DLF=$S?h}kDlk}youUuPSC-+3#^4I5nr1cC5Z+z(wKBXI6{@Bh28?L|z;#JM zeXQ3X7bsbk8t;ubtK1uN0y(DQlfXoFCYYo_AubfzW3?XF&U1=ot*&97Q|oZhL1Z$` z8*pj);&P>G=j-X1?#-HQ56D0tMyrz%G^nrQ^7g5J<9W3H`?sZN^*0f#p+UtKb@iu` zJ*jYCU#tta!GL>X?COpux*8gSxG&<4sPB=%mWKHaO+gslAG!qNiAe8YH1_|=6&y^* zdzHGKx5S1BzpKy?jK+GyI~%s}<~Wd!;x1?7#odGP-t^pfg6j{Z(8u*y=ST~3BlHQ7 z-H_DNkmDeEHz@F(1k$%D-1GL(ebNcza;t&h*ql4&}CVCMHiC%&v(f1*l(JPQP(Q7~?`Y9xdxJeiI?gQfX4Wg$t(SJfA z(IrR{{RYyXqJ?g8b*_6?|La5&t zuhSjUerU(zFo&GitbNGTeq!d-V2{P*Hk#)${c5ogHow|u4HLB6iW(+Zh05rIkdGM$ zq%PN?Wl)iN7WcECv@@7z!RR^&O-@|>mDM?M(65dwAKG85hP^mjH*wnmcA@H&378!e zHOv&b>Bs|&IstZ8tJ>-JvRuUj&?P6XKD|084*Jz`<*n_NYS@djbrbhGz~7_lED5-s z=`0DjoyjcuFiE?e<*7FMy(~|)LDeNEuJesmIdRahjw>IUT%?A*I9oSy1vpbUaO(S9}T#o4-vTY+)7`|2zS zHrR?9CfI~3vs~l^ICI%bznA5yR>PVT*ZIcEoH*!L$CaNtV5wm*&el!bLl}o!yUvn; z`@25l1ka!{OG;*=9j5DU7#L)y+}dh_jQ)jjo3^gZiG!XWSD;EaedG>lYbNGRjQ2BC zJ#{{ejcTcG<8A?f1%)GfidanW2ecB<-RnEnEhz_UljM;KIAfIoa^o_R8x$f_MaLfBx9HhrIbxvH7<4Z#h*%zO-7|2gCrjK@j_@B`U7pN|j<*0K}^_bd< zm{CgqU*o7Q#{w86-&!OWFhRn{D_+Lki?|hE5Vt-r?p4Hb^_XHf!g+D4E0y|@aSC5j zU~&}WPo_a}V5ZC0^Wt`oRjQR8oMKXV2s-;TI`-EP#}8_z(8qezk;eYF<1nX&MELj& zZ*pMl#YxKjCQ04+UJ{u0z+|On8>jH`KQwW8Y85V^*Vw@+rVFLHCg}PZ9`>@xkNuH? zz83qtMOxRq&sN zKIHVL{_VW@ALi*9p)>wX=m*{Ymq)U~&+$KoF30=dJU<_tWPZGNc==o&nF(F?Z_bNf zlBe?#$Ha5|wR!$~p!53@ue@r^bU4q?ubncVoq76x_E-0_!F!fZJ)w22YMoz2OP%Y# z3jBOMHHG=S3SIKQ4&CId=M#FX(}DVV=;j@44D|P*{|*()7XMHC)F;5E1aSS(C;1C; zZlqq7r%%n(`Ch7DCPB*a=R=qIEz8r_K<9@!u1wD7dg%NZ%ffu_0haSYZcq0qe$JKo zrJ?UewfpCZvu`DWqycsbAi8uTvs_$ zWhjI<#dV#bRR-Lq!LntYTHET!?_(Vyg_$N+kTQ+R=m>4zQn{k6G8^kDCte~qB?2`SW@#D7V# zMAVC204UjWob$Z6W@3-SNg@>GA6~hP&GWrpO-w$Xi1UTpdC_i~r~hm6^qYk5W)IUG zi(zK^a_I3j!A>J5QS*N9vN8w#XPlX?P&65eB>Q*j&i1DVH<(kmB^K__87L%j5oe>> z`=c+^#8JFc%FOh1n8~pdV50WFYCPNF$Tpli{kWPt+(H%G!FjS7J1(E S=`e#C$3o}Rg&W%3sQwQW-Rrji delta 1263 zcmYjRTWnNS6y4`cZ>gR4qn!?OXL^}QNNH=Pv}2-03np6ahfqw6(4eE1MoaqeF`8gv zJ2b6Y@Ikw!3Vhh|g^i#ChA;^smq-YS1WG@Q8q^!>BbbO)N%+u+>)e@%J;^?Mt+n?# z_w4hyV~_mPw%>T-l9y+ zO&JTQn1j=IoZYrY4*A72f!D>Syu(AGgRPI*`xp$sL$X zP86c2Q<=3b%YPcywJQgsyR8cIVEs(EYI!F5CjTPCCmemNHuPX|<+ct$+GGi3+y)wa zx_^j10~zSsNngMZ4rhm7v{SwpT&Rx9Q^a3ZZxR-Voz3DpKj6%c?m%3)MF*UMr(lk0 zgPzB5_drST^pglQgQ(^mLH8bP7A9(Z``{|THo429e+E)u&epp>e<=7d(Cq7&5G|yp z$pP1N14w$RRxMU&Z$lCytUha}94V)0RF^}hsQjduF%1_fj=7)|%|RkZ_Q2J}#BYnT zL&?*EJH2^6?DLGeox(2yhw_w?&AHu4--QTK9du9eOB);QKxAd6#H_1Vq_~to zI|bk2zd34=fLgH_AogU3x-x3w}pmtLarl6MVlO>gDaRWMvwAJtlYz;%PUL!5_tv+E+j~_$tr^ zEVSO9!4>yuKY`tCvmIbD{4 4: 2a c0 rjmp .+84 ; 0x5a <__bad_interrupt> 6: 29 c0 rjmp .+82 ; 0x5a <__bad_interrupt> - 8: 28 c0 rjmp .+80 ; 0x5a <__bad_interrupt> + 8: f8 c0 rjmp .+496 ; 0x1fa <__vector_4> a: 27 c0 rjmp .+78 ; 0x5a <__bad_interrupt> c: 26 c0 rjmp .+76 ; 0x5a <__bad_interrupt> e: 25 c0 rjmp .+74 ; 0x5a <__bad_interrupt> @@ -72,114 +74,531 @@ Disassembly of section .text: 40: 11 e0 ldi r17, 0x01 ; 1 42: a0 e0 ldi r26, 0x00 ; 0 44: b1 e0 ldi r27, 0x01 ; 1 - 46: e2 ed ldi r30, 0xD2 ; 210 - 48: f0 e0 ldi r31, 0x00 ; 0 + 46: e0 e8 ldi r30, 0x80 ; 128 + 48: f2 e0 ldi r31, 0x02 ; 2 4a: 02 c0 rjmp .+4 ; 0x50 <__do_copy_data+0x10> 4c: 05 90 lpm r0, Z+ 4e: 0d 92 st X+, r0 50: aa 30 cpi r26, 0x0A ; 10 52: b1 07 cpc r27, r17 54: d9 f7 brne .-10 ; 0x4c <__do_copy_data+0xc> - 56: 02 d0 rcall .+4 ; 0x5c
- 58: 3a c0 rjmp .+116 ; 0xce <_exit> + 56: e0 d0 rcall .+448 ; 0x218
+ 58: 11 c1 rjmp .+546 ; 0x27c <_exit> 0000005a <__bad_interrupt>: 5a: d2 cf rjmp .-92 ; 0x0 <__vectors> -0000005c
: +0000005c : + (1< - 76: e9 2f mov r30, r25 - 78: f0 e0 ldi r31, 0x00 ; 0 - 7a: e0 50 subi r30, 0x00 ; 0 - 7c: ff 4f sbci r31, 0xFF ; 255 - 7e: 80 81 ld r24, Z - 80: 84 2b or r24, r20 - 82: 85 b9 out 0x05, r24 ; 5 - PORTD |= motor[i]; - 84: 9b b1 in r25, 0x0b ; 11 - 86: a2 2f mov r26, r18 - 88: b0 e0 ldi r27, 0x00 ; 0 - 8a: ad 5f subi r26, 0xFD ; 253 - 8c: be 4f sbci r27, 0xFE ; 254 - 8e: 8c 91 ld r24, X - 90: 89 2b or r24, r25 - 92: 8b b9 out 0x0b, r24 ; 11 + PORTB = led[i%3]; + 5e: 53 e0 ldi r21, 0x03 ; 3 + 60: 1e c0 rjmp .+60 ; 0x9e + 62: 82 2f mov r24, r18 + 64: 65 2f mov r22, r21 + 66: fe d0 rcall .+508 ; 0x264 <__udivmodqi4> + 68: e9 2f mov r30, r25 + 6a: f0 e0 ldi r31, 0x00 ; 0 + 6c: e0 50 subi r30, 0x00 ; 0 + 6e: ff 4f sbci r31, 0xFF ; 255 + 70: 80 81 ld r24, Z + 72: 85 b9 out 0x05, r24 ; 5 + PORTD = motor[i]; + 74: f9 01 movw r30, r18 + 76: ed 5f subi r30, 0xFD ; 253 + 78: fe 4f sbci r31, 0xFE ; 254 + 7a: 80 81 ld r24, Z + 7c: 8b b9 out 0x0b, r24 ; 11 #else //round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); - 94: 87 ea ldi r24, 0xA7 ; 167 - 96: 91 e6 ldi r25, 0x61 ; 97 - 98: 01 97 sbiw r24, 0x01 ; 1 - 9a: f1 f7 brne .-4 ; 0x98 - 9c: 00 c0 rjmp .+0 ; 0x9e - 9e: 00 00 nop + 7e: 8f e7 ldi r24, 0x7F ; 127 + 80: 9a e1 ldi r25, 0x1A ; 26 + 82: a6 e0 ldi r26, 0x06 ; 6 + 84: 81 50 subi r24, 0x01 ; 1 + 86: 90 40 sbci r25, 0x00 ; 0 + 88: a0 40 sbci r26, 0x00 ; 0 + 8a: e1 f7 brne .-8 ; 0x84 + 8c: 00 c0 rjmp .+0 ; 0x8e + 8e: 00 00 nop + 90: 2f 5f subi r18, 0xFF ; 255 + 92: 3f 4f sbci r19, 0xFF ; 255 + +}; + +void runon() { + for(uint8_t j=0;j<2;j++) { + for(uint8_t i=0;i<6;i++) { + 94: 26 30 cpi r18, 0x06 ; 6 + 96: 31 05 cpc r19, r1 + 98: 21 f7 brne .-56 ; 0x62 + 9a: 41 50 subi r20, 0x01 ; 1 + (1< + (1< + _delay_ms(100); + } + } + for(uint8_t j=0;j<4;j++) { + for(uint8_t i=0;i<6;i++) { + PORTB = led[i%3]; + a4: 82 2f mov r24, r18 + a6: 65 2f mov r22, r21 + a8: dd d0 rcall .+442 ; 0x264 <__udivmodqi4> + aa: e9 2f mov r30, r25 + ac: f0 e0 ldi r31, 0x00 ; 0 + ae: e0 50 subi r30, 0x00 ; 0 + b0: ff 4f sbci r31, 0xFF ; 255 + b2: 80 81 ld r24, Z + b4: 85 b9 out 0x05, r24 ; 5 + PORTD = motor[i]; + b6: f9 01 movw r30, r18 + b8: ed 5f subi r30, 0xFD ; 253 + ba: fe 4f sbci r31, 0xFE ; 254 + bc: 80 81 ld r24, Z + be: 8b b9 out 0x0b, r24 ; 11 + c0: 8f e3 ldi r24, 0x3F ; 63 + c2: 9d e0 ldi r25, 0x0D ; 13 + c4: a3 e0 ldi r26, 0x03 ; 3 + c6: 81 50 subi r24, 0x01 ; 1 + c8: 90 40 sbci r25, 0x00 ; 0 + ca: a0 40 sbci r26, 0x00 ; 0 + cc: e1 f7 brne .-8 ; 0xc6 + ce: 00 c0 rjmp .+0 ; 0xd0 + d0: 00 00 nop + d2: 2f 5f subi r18, 0xFF ; 255 + d4: 3f 4f sbci r19, 0xFF ; 255 + PORTD = motor[i]; + _delay_ms(100); + } + } + for(uint8_t j=0;j<4;j++) { + for(uint8_t i=0;i<6;i++) { + d6: 26 30 cpi r18, 0x06 ; 6 + d8: 31 05 cpc r19, r1 + da: 21 f7 brne .-56 ; 0xa4 + dc: 41 50 subi r20, 0x01 ; 1 + PORTB = led[i%3]; + PORTD = motor[i]; + _delay_ms(100); + } + } + for(uint8_t j=0;j<4;j++) { + de: 29 f4 brne .+10 ; 0xea + e0: 48 e0 ldi r20, 0x08 ; 8 + _delay_ms(50); + } + } + for(uint8_t j=0;j<8;j++) { + for(uint8_t i=0;i<6;i++) { + PORTB = led[i%3]; + e2: 53 e0 ldi r21, 0x03 ; 3 + e4: 26 c0 rjmp .+76 ; 0x132 + (1< + _delay_ms(50); + } + } + for(uint8_t j=0;j<8;j++) { + for(uint8_t i=0;i<6;i++) { + PORTB = led[i%3]; + f0: 82 2f mov r24, r18 + f2: 65 2f mov r22, r21 + f4: b7 d0 rcall .+366 ; 0x264 <__udivmodqi4> + f6: e9 2f mov r30, r25 + f8: f0 e0 ldi r31, 0x00 ; 0 + fa: e0 50 subi r30, 0x00 ; 0 + fc: ff 4f sbci r31, 0xFF ; 255 + fe: 80 81 ld r24, Z + 100: 85 b9 out 0x05, r24 ; 5 + PORTD = motor[i]; + 102: f9 01 movw r30, r18 + 104: ed 5f subi r30, 0xFD ; 253 + 106: fe 4f sbci r31, 0xFE ; 254 + 108: 80 81 ld r24, Z + 10a: 8b b9 out 0x0b, r24 ; 11 + 10c: 8f e7 ldi r24, 0x7F ; 127 + 10e: 98 e3 ldi r25, 0x38 ; 56 + 110: a1 e0 ldi r26, 0x01 ; 1 + 112: 81 50 subi r24, 0x01 ; 1 + 114: 90 40 sbci r25, 0x00 ; 0 + 116: a0 40 sbci r26, 0x00 ; 0 + 118: e1 f7 brne .-8 ; 0x112 + 11a: 00 c0 rjmp .+0 ; 0x11c + 11c: 00 00 nop + 11e: 2f 5f subi r18, 0xFF ; 255 + 120: 3f 4f sbci r19, 0xFF ; 255 + PORTD = motor[i]; + _delay_ms(50); + } + } + for(uint8_t j=0;j<8;j++) { + for(uint8_t i=0;i<6;i++) { + 122: 26 30 cpi r18, 0x06 ; 6 + 124: 31 05 cpc r19, r1 + 126: 21 f7 brne .-56 ; 0xf0 + 128: 41 50 subi r20, 0x01 ; 1 + PORTB = led[i%3]; + PORTD = motor[i]; + _delay_ms(50); + } + } + for(uint8_t j=0;j<8;j++) { + 12a: 19 f4 brne .+6 ; 0x132 + 12c: 40 e1 ldi r20, 0x10 ; 16 + _delay_ms(20); + } + } + for(uint8_t j=0;j<16;j++) { + for(uint8_t i=0;i<6;i++) { + PORTB = led[i%3]; + 12e: 53 e0 ldi r21, 0x03 ; 3 + 130: 21 c0 rjmp .+66 ; 0x174 + (1< + _delay_ms(20); + } + } + for(uint8_t j=0;j<16;j++) { + for(uint8_t i=0;i<6;i++) { + PORTB = led[i%3]; + 138: 82 2f mov r24, r18 + 13a: 65 2f mov r22, r21 + 13c: 93 d0 rcall .+294 ; 0x264 <__udivmodqi4> + 13e: e9 2f mov r30, r25 + 140: f0 e0 ldi r31, 0x00 ; 0 + 142: e0 50 subi r30, 0x00 ; 0 + 144: ff 4f sbci r31, 0xFF ; 255 + 146: 80 81 ld r24, Z + 148: 85 b9 out 0x05, r24 ; 5 + PORTD = motor[i]; + 14a: f9 01 movw r30, r18 + 14c: ed 5f subi r30, 0xFD ; 253 + 14e: fe 4f sbci r31, 0xFE ; 254 + 150: 80 81 ld r24, Z + 152: 8b b9 out 0x0b, r24 ; 11 + 154: af e4 ldi r26, 0x4F ; 79 + 156: b3 ec ldi r27, 0xC3 ; 195 + 158: 11 97 sbiw r26, 0x01 ; 1 + 15a: f1 f7 brne .-4 ; 0x158 + 15c: 00 c0 rjmp .+0 ; 0x15e + 15e: 00 00 nop + 160: 2f 5f subi r18, 0xFF ; 255 + 162: 3f 4f sbci r19, 0xFF ; 255 + PORTD = motor[i]; + _delay_ms(20); + } + } + for(uint8_t j=0;j<16;j++) { + for(uint8_t i=0;i<6;i++) { + 164: 26 30 cpi r18, 0x06 ; 6 + 166: 31 05 cpc r19, r1 + 168: 39 f7 brne .-50 ; 0x138 + 16a: 41 50 subi r20, 0x01 ; 1 + PORTB = led[i%3]; + PORTD = motor[i]; + _delay_ms(20); + } + } + for(uint8_t j=0;j<16;j++) { + 16c: 19 f4 brne .+6 ; 0x174 + 16e: 40 e2 ldi r20, 0x20 ; 32 + _delay_ms(10); + } + } + for(uint8_t j=0;j<32;j++) { + for(uint8_t i=0;i<6;i++) { + PORTB = led[i%3]; + 170: 53 e0 ldi r21, 0x03 ; 3 + 172: 21 c0 rjmp .+66 ; 0x1b6 + PORTB = led[i%3]; + PORTD = motor[i]; + _delay_ms(100); + } + } + for(uint8_t j=0;j<4;j++) { + 174: 20 e0 ldi r18, 0x00 ; 0 + 176: 30 e0 ldi r19, 0x00 ; 0 + 178: df cf rjmp .-66 ; 0x138 + _delay_ms(10); + } + } + for(uint8_t j=0;j<32;j++) { + for(uint8_t i=0;i<6;i++) { + PORTB = led[i%3]; + 17a: 82 2f mov r24, r18 + 17c: 65 2f mov r22, r21 + 17e: 72 d0 rcall .+228 ; 0x264 <__udivmodqi4> + 180: e9 2f mov r30, r25 + 182: f0 e0 ldi r31, 0x00 ; 0 + 184: e0 50 subi r30, 0x00 ; 0 + 186: ff 4f sbci r31, 0xFF ; 255 + 188: 80 81 ld r24, Z + 18a: 85 b9 out 0x05, r24 ; 5 + PORTD = motor[i]; + 18c: f9 01 movw r30, r18 + 18e: ed 5f subi r30, 0xFD ; 253 + 190: fe 4f sbci r31, 0xFE ; 254 + 192: 80 81 ld r24, Z + 194: 8b b9 out 0x0b, r24 ; 11 + 196: 87 ea ldi r24, 0xA7 ; 167 + 198: 91 e6 ldi r25, 0x61 ; 97 + 19a: 01 97 sbiw r24, 0x01 ; 1 + 19c: f1 f7 brne .-4 ; 0x19a + 19e: 00 c0 rjmp .+0 ; 0x1a0 + 1a0: 00 00 nop + 1a2: 2f 5f subi r18, 0xFF ; 255 + 1a4: 3f 4f sbci r19, 0xFF ; 255 + PORTD = motor[i]; + _delay_ms(10); + } + } + for(uint8_t j=0;j<32;j++) { + for(uint8_t i=0;i<6;i++) { + 1a6: 26 30 cpi r18, 0x06 ; 6 + 1a8: 31 05 cpc r19, r1 + 1aa: 39 f7 brne .-50 ; 0x17a + 1ac: 41 50 subi r20, 0x01 ; 1 + PORTB = led[i%3]; + PORTD = motor[i]; + _delay_ms(10); + } + } + for(uint8_t j=0;j<32;j++) { + 1ae: 19 f4 brne .+6 ; 0x1b6 + 1b0: 40 e4 ldi r20, 0x40 ; 64 _delay_ms(5); - PORTB &= ~(led[i%3]); - a0: 95 b1 in r25, 0x05 ; 5 - a2: 80 81 ld r24, Z - a4: 80 95 com r24 - a6: 89 23 and r24, r25 - a8: 85 b9 out 0x05, r24 ; 5 - PORTD = 0; - aa: 1b b8 out 0x0b, r1 ; 11 + } + } + for(uint8_t j=0;j<64;j++) { + for(uint8_t i=0;i<6;i++) { + PORTB = led[i%3]; + 1b2: 53 e0 ldi r21, 0x03 ; 3 + 1b4: 1e c0 rjmp .+60 ; 0x1f2 + PORTB = led[i%3]; + PORTD = motor[i]; + _delay_ms(50); + } + } + for(uint8_t j=0;j<8;j++) { + 1b6: 20 e0 ldi r18, 0x00 ; 0 + 1b8: 30 e0 ldi r19, 0x00 ; 0 + 1ba: df cf rjmp .-66 ; 0x17a + _delay_ms(5); + } + } + for(uint8_t j=0;j<64;j++) { + for(uint8_t i=0;i<6;i++) { + PORTB = led[i%3]; + 1bc: 82 2f mov r24, r18 + 1be: 65 2f mov r22, r21 + 1c0: 51 d0 rcall .+162 ; 0x264 <__udivmodqi4> + 1c2: e9 2f mov r30, r25 + 1c4: f0 e0 ldi r31, 0x00 ; 0 + 1c6: e0 50 subi r30, 0x00 ; 0 + 1c8: ff 4f sbci r31, 0xFF ; 255 + 1ca: 80 81 ld r24, Z + 1cc: 85 b9 out 0x05, r24 ; 5 + PORTD = motor[i]; + 1ce: f9 01 movw r30, r18 + 1d0: ed 5f subi r30, 0xFD ; 253 + 1d2: fe 4f sbci r31, 0xFE ; 254 + 1d4: 80 81 ld r24, Z + 1d6: 8b b9 out 0x0b, r24 ; 11 + 1d8: a7 e9 ldi r26, 0x97 ; 151 + 1da: ba e3 ldi r27, 0x3A ; 58 + 1dc: 11 97 sbiw r26, 0x01 ; 1 + 1de: f1 f7 brne .-4 ; 0x1dc + 1e0: 00 c0 rjmp .+0 ; 0x1e2 + 1e2: 00 00 nop + 1e4: 2f 5f subi r18, 0xFF ; 255 + 1e6: 3f 4f sbci r19, 0xFF ; 255 + PORTD = motor[i]; + _delay_ms(5); + } + } + for(uint8_t j=0;j<64;j++) { + for(uint8_t i=0;i<6;i++) { + 1e8: 26 30 cpi r18, 0x06 ; 6 + 1ea: 31 05 cpc r19, r1 + 1ec: 39 f7 brne .-50 ; 0x1bc + 1ee: 41 50 subi r20, 0x01 ; 1 + PORTB = led[i%3]; + PORTD = motor[i]; + _delay_ms(5); + } + } + for(uint8_t j=0;j<64;j++) { + 1f0: 19 f0 breq .+6 ; 0x1f8 + PORTB = led[i%3]; + PORTD = motor[i]; + _delay_ms(20); + } + } + for(uint8_t j=0;j<16;j++) { + 1f2: 20 e0 ldi r18, 0x00 ; 0 + 1f4: 30 e0 ldi r19, 0x00 ; 0 + 1f6: e2 cf rjmp .-60 ; 0x1bc + 1f8: 08 95 ret + +000001fa <__vector_4>: + _delay_ms(3); + } + } +} + +ISR(PCINT1_vect) { + 1fa: 1f 92 push r1 + 1fc: 0f 92 push r0 + 1fe: 0f b6 in r0, 0x3f ; 63 + 200: 0f 92 push r0 + 202: 11 24 eor r1, r1 + 204: 8f 93 push r24 + 206: 9f 93 push r25 + PORTD = 0; + 208: 1b b8 out 0x0b, r1 ; 11 + 20a: 87 e8 ldi r24, 0x87 ; 135 + 20c: 93 e1 ldi r25, 0x13 ; 19 + 20e: 01 97 sbiw r24, 0x01 ; 1 + 210: f1 f7 brne .-4 ; 0x20e <__vector_4+0x14> + 212: 00 c0 rjmp .+0 ; 0x214 <__vector_4+0x1a> + 214: 00 00 nop + 216: f9 cf rjmp .-14 ; 0x20a <__vector_4+0x10> + +00000218
: + + } +} + int main(void) { + cli(); + 218: f8 94 cli DDRB |= (1< + while(1) { for(uint8_t i=0;i<6;i++) { - ac: 2f 5f subi r18, 0xFF ; 255 - ae: 26 30 cpi r18, 0x06 ; 6 - b0: f0 f2 brcs .-68 ; 0x6e - b2: 20 e0 ldi r18, 0x00 ; 0 - b4: dc cf rjmp .-72 ; 0x6e + 22c: 20 e0 ldi r18, 0x00 ; 0 + PORTB = led[i%3]; + 22e: 33 e0 ldi r19, 0x03 ; 3 + 230: 82 2f mov r24, r18 + 232: 63 2f mov r22, r19 + 234: 17 d0 rcall .+46 ; 0x264 <__udivmodqi4> + 236: e9 2f mov r30, r25 + 238: f0 e0 ldi r31, 0x00 ; 0 + 23a: e0 50 subi r30, 0x00 ; 0 + 23c: ff 4f sbci r31, 0xFF ; 255 + 23e: 80 81 ld r24, Z + 240: 85 b9 out 0x05, r24 ; 5 + PORTD = motor[i]; + 242: e2 2f mov r30, r18 + 244: f0 e0 ldi r31, 0x00 ; 0 + 246: ed 5f subi r30, 0xFD ; 253 + 248: fe 4f sbci r31, 0xFE ; 254 + 24a: 80 81 ld r24, Z + 24c: 8b b9 out 0x0b, r24 ; 11 + 24e: 8f e0 ldi r24, 0x0F ; 15 + 250: 97 e2 ldi r25, 0x27 ; 39 + 252: 01 97 sbiw r24, 0x01 ; 1 + 254: f1 f7 brne .-4 ; 0x252 + 256: 00 c0 rjmp .+0 ; 0x258 + 258: 00 00 nop + + sei(); + runon(); + + while(1) { + for(uint8_t i=0;i<6;i++) { + 25a: 2f 5f subi r18, 0xFF ; 255 + 25c: 26 30 cpi r18, 0x06 ; 6 + 25e: 40 f3 brcs .-48 ; 0x230 + 260: 20 e0 ldi r18, 0x00 ; 0 + 262: e6 cf rjmp .-52 ; 0x230 -000000b6 <__udivmodqi4>: - b6: 99 1b sub r25, r25 - b8: 79 e0 ldi r23, 0x09 ; 9 - ba: 04 c0 rjmp .+8 ; 0xc4 <__udivmodqi4_ep> +00000264 <__udivmodqi4>: + 264: 99 1b sub r25, r25 + 266: 79 e0 ldi r23, 0x09 ; 9 + 268: 04 c0 rjmp .+8 ; 0x272 <__udivmodqi4_ep> -000000bc <__udivmodqi4_loop>: - bc: 99 1f adc r25, r25 - be: 96 17 cp r25, r22 - c0: 08 f0 brcs .+2 ; 0xc4 <__udivmodqi4_ep> - c2: 96 1b sub r25, r22 +0000026a <__udivmodqi4_loop>: + 26a: 99 1f adc r25, r25 + 26c: 96 17 cp r25, r22 + 26e: 08 f0 brcs .+2 ; 0x272 <__udivmodqi4_ep> + 270: 96 1b sub r25, r22 -000000c4 <__udivmodqi4_ep>: - c4: 88 1f adc r24, r24 - c6: 7a 95 dec r23 - c8: c9 f7 brne .-14 ; 0xbc <__udivmodqi4_loop> - ca: 80 95 com r24 - cc: 08 95 ret +00000272 <__udivmodqi4_ep>: + 272: 88 1f adc r24, r24 + 274: 7a 95 dec r23 + 276: c9 f7 brne .-14 ; 0x26a <__udivmodqi4_loop> + 278: 80 95 com r24 + 27a: 08 95 ret -000000ce <_exit>: - ce: f8 94 cli +0000027c <_exit>: + 27c: f8 94 cli -000000d0 <__stop_program>: - d0: ff cf rjmp .-2 ; 0xd0 <__stop_program> +0000027e <__stop_program>: + 27e: ff cf rjmp .-2 ; 0x27e <__stop_program> diff --git a/V2/Motor/default/Motor.map b/V2/Motor/default/Motor.map index 0874d34..1ded490 100644 --- a/V2/Motor/default/Motor.map +++ b/V2/Motor/default/Motor.map @@ -117,7 +117,7 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a .rela.plt *(.rela.plt) -.text 0x00000000 0xd2 +.text 0x00000000 0x280 *(.vectors) .vectors 0x00000000 0x34 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr4/crtm48a.o 0x00000000 __vector_default @@ -186,7 +186,6 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a 0x0000005a __vector_19 0x0000005a __vector_7 0x0000005a __vector_5 - 0x0000005a __vector_4 0x0000005a __vector_9 0x0000005a __vector_2 0x0000005a __vector_21 @@ -197,22 +196,24 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a 0x0000005a __vector_16 0x0000005a __vector_18 0x0000005a __vector_20 - .text 0x0000005c 0x5a Motor.o - 0x0000005c main - .text 0x000000b6 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a(_udivmodqi4.o) - .text 0x000000b6 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a(_exit.o) - .text 0x000000b6 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a(_copy_data.o) - 0x000000b6 . = ALIGN (0x2) + .text 0x0000005c 0x208 Motor.o + 0x0000005c runon + 0x000001fa __vector_4 + 0x00000218 main + .text 0x00000264 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a(_udivmodqi4.o) + .text 0x00000264 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a(_exit.o) + .text 0x00000264 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a(_copy_data.o) + 0x00000264 . = ALIGN (0x2) *(.text.*) - .text.libgcc 0x000000b6 0x18 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a(_udivmodqi4.o) - 0x000000b6 __udivmodqi4 - .text.libgcc 0x000000ce 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a(_exit.o) - .text.libgcc 0x000000ce 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a(_copy_data.o) - 0x000000ce . = ALIGN (0x2) + .text.libgcc 0x00000264 0x18 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a(_udivmodqi4.o) + 0x00000264 __udivmodqi4 + .text.libgcc 0x0000027c 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a(_exit.o) + .text.libgcc 0x0000027c 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a(_copy_data.o) + 0x0000027c . = ALIGN (0x2) *(.fini9) - .fini9 0x000000ce 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a(_exit.o) - 0x000000ce _exit - 0x000000ce exit + .fini9 0x0000027c 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a(_exit.o) + 0x0000027c _exit + 0x0000027c exit *(.fini9) *(.fini8) *(.fini8) @@ -231,11 +232,11 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a *(.fini1) *(.fini1) *(.fini0) - .fini0 0x000000ce 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a(_exit.o) + .fini0 0x0000027c 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a(_exit.o) *(.fini0) - 0x000000d2 _etext = . + 0x00000280 _etext = . -.data 0x00800100 0xa load address 0x000000d2 +.data 0x00800100 0xa load address 0x00000280 0x00800100 PROVIDE (__data_start, .) *(.data) .data 0x00800100 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr4/crtm48a.o @@ -265,8 +266,8 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a *(.bss*) *(COMMON) 0x0080010a PROVIDE (__bss_end, .) - 0x000000d2 __data_load_start = LOADADDR (.data) - 0x000000dc __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x00000280 __data_load_start = LOADADDR (.data) + 0x0000028a __data_load_end = (__data_load_start + SIZEOF (.data)) .noinit 0x0080010a 0x0 0x0080010a PROVIDE (__noinit_start, .) @@ -332,36 +333,36 @@ LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr4\libgcc.a 0x00000000 0x20 Motor.o .debug_pubnames - 0x00000000 0x2d + 0x00000000 0x46 *(.debug_pubnames) .debug_pubnames - 0x00000000 0x2d Motor.o + 0x00000000 0x46 Motor.o -.debug_info 0x00000000 0x1e3 +.debug_info 0x00000000 0x492 *(.debug_info) - .debug_info 0x00000000 0x1e3 Motor.o + .debug_info 0x00000000 0x492 Motor.o *(.gnu.linkonce.wi.*) -.debug_abbrev 0x00000000 0x163 +.debug_abbrev 0x00000000 0x1be *(.debug_abbrev) - .debug_abbrev 0x00000000 0x163 Motor.o + .debug_abbrev 0x00000000 0x1be Motor.o -.debug_line 0x00000000 0x182 +.debug_line 0x00000000 0x375 *(.debug_line) - .debug_line 0x00000000 0x182 Motor.o + .debug_line 0x00000000 0x375 Motor.o -.debug_frame 0x00000000 0x20 +.debug_frame 0x00000000 0x40 *(.debug_frame) - .debug_frame 0x00000000 0x20 Motor.o + .debug_frame 0x00000000 0x40 Motor.o -.debug_str 0x00000000 0xee +.debug_str 0x00000000 0xff *(.debug_str) - .debug_str 0x00000000 0xee Motor.o - 0x122 (size before relaxing) + .debug_str 0x00000000 0xff Motor.o + 0x133 (size before relaxing) -.debug_loc 0x00000000 0x1f +.debug_loc 0x00000000 0x42d *(.debug_loc) - .debug_loc 0x00000000 0x1f Motor.o + .debug_loc 0x00000000 0x42d Motor.o .debug_macinfo *(.debug_macinfo) @@ -372,3 +373,6 @@ LOAD linker stubs 0x00000000 0x38 .debug_pubtypes 0x00000000 0x38 Motor.o + +.debug_ranges 0x00000000 0x128 + .debug_ranges 0x00000000 0x128 Motor.o diff --git a/V2/Motor/default/dep/Motor.o.d b/V2/Motor/default/dep/Motor.o.d index 509da00..906b63b 100644 --- a/V2/Motor/default/dep/Motor.o.d +++ b/V2/Motor/default/dep/Motor.o.d @@ -12,7 +12,8 @@ Motor.o: ../Motor.c \ e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/fuse.h \ e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/lock.h \ e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h \ - e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay_basic.h + e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay_basic.h \ + e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/interrupt.h e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/include/stdint.h: @@ -41,3 +42,5 @@ e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h: e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay_basic.h: + +e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/interrupt.h: