From bf76722b4869899f3b2b51afac4aca643fc25885 Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Tue, 23 Feb 2016 10:42:25 +0100 Subject: [PATCH] Added week 3 --- MIC-Week1/.vs/MIC-Week1/v14/.atsuo | Bin 29184 -> 26624 bytes MIC-Week1/Debug/MIC-Week1.lss | 6 +- MIC-Week1/MIC-Week1.atsln | 6 + MIC-Week2/Debug/MIC-Week2.lss | 459 +++++++++++++------------- MIC-Week2/Debug/MIC-Week2.map | 102 +++--- MIC-Week2/Debug/MIC-Week2.srec | 59 ++-- MIC-Week2/main.c | 4 +- MIC-Week3/Debug/MIC-Week3.eep | 1 + MIC-Week3/Debug/MIC-Week3.lss | 129 ++++++++ MIC-Week3/Debug/MIC-Week3.map | 412 +++++++++++++++++++++++ MIC-Week3/Debug/MIC-Week3.srec | 13 + MIC-Week3/Debug/Makefile | 129 ++++++++ MIC-Week3/Debug/main.d | 34 ++ MIC-Week3/Debug/makedep.mk | 6 + MIC-Week3/MIC-Week3.componentinfo.xml | 86 +++++ MIC-Week3/MIC-Week3.cproj | 118 +++++++ MIC-Week3/main.c | 25 ++ 17 files changed, 1280 insertions(+), 309 deletions(-) create mode 100644 MIC-Week3/Debug/MIC-Week3.eep create mode 100644 MIC-Week3/Debug/MIC-Week3.lss create mode 100644 MIC-Week3/Debug/MIC-Week3.map create mode 100644 MIC-Week3/Debug/MIC-Week3.srec create mode 100644 MIC-Week3/Debug/Makefile create mode 100644 MIC-Week3/Debug/main.d create mode 100644 MIC-Week3/Debug/makedep.mk create mode 100644 MIC-Week3/MIC-Week3.componentinfo.xml create mode 100644 MIC-Week3/MIC-Week3.cproj create mode 100644 MIC-Week3/main.c diff --git a/MIC-Week1/.vs/MIC-Week1/v14/.atsuo b/MIC-Week1/.vs/MIC-Week1/v14/.atsuo index 6ae988de876e07b3a0ddc55b8219bf48b62c5d8d..ee1d2d3724a2a8c706e751b7dfc2e9b20e83bb93 100644 GIT binary patch delta 3523 zcmd^CSxj727{2GuT$sWgmSJDY*2-3vVV~&&0}O3}vJ6FNE7E~7ZRx^NpcbqFw^&Uz zz@OOK7fpTeL5%|ONmILui6%u~^r4A18lQ}{kw)kKg++J z|G$jdhuSCJT(cP;5O zdg;te40K|t9Pye?r&%W>>qIx>Gki{h_!nJ#V=}|}XucXP05ta|^t$SPp#6bNV1CRM z5oQL#i?~IDjscRE#I+}TF?m4>#;HIWz=qxgSOMl`q0a`=fgnC$!kr<;{k}BjVS>K) ziyhtqVk@u>C$-+1>msYOZKC818qP%Z~*84JitNV5O5gi1daelfn&gNpo?z%g{1X? z>IVh@KJgj!r+`6V2zVCY`FXnQ-(VJ?7T81FbAT!*F!+`R)he?PAQQZJqL=Qe!=i@< z%ylXUqV6f)D7xuh*lrVhRzFKTO#`tnis!+uCTGNF-lq3F7Sppua+ZvJ-`1M;kZ~oUR8hG(hh{@YeAualc-Cs=qS^Gvt68R5 zGh5S|W>Yvcj8k**)k2j)at6`wq5i}=x+do+?4Tf;i-1p<$8Y<=n#h})6js?tr_y$* z%;2P;FHj0FI7f5w5Y_^P60Y%)IQr~(^iGrhAX!f8kFHz1!05G~W}|0}oJsh}Q@?|PC=X)^jm1ej_WhNT0A?mUJV6P&r5u`%FmpGgBuN3+5Ke6+2Y)6#gF2Xl0_cH zdBQ~tow3gO-@9RY)pa}P!`#kki61eEO(ite5=Av0Uy4ggG3B)! zZ|m&JI=}-QbH!6hmwO%K`^{uda`7a^xlNp5B%iHa1ILaPL!Q*2Ev~-W-}k&(K7Ds+ z_|HE^zr$o7xg$D&sPS;8W=ED;*KkEJFPKFPxDRs$U5~NSY*gbiBTvD|!mOom?`KD| zG0_xYDOj|>_alPI8%+sbg3zqxCBe~GXYvjfg`IAqIdhdF*zoKwg~M5*!GLO&LzaD_ ztK+j7gF6cS9Z;pRyVrT~s6P;az|n}(_h3gN2JP5ku2ck@bB!C=B+G6{SG61XoE10J zt6WsQEvyy9b_KI&7c=CG`SN7`b)#sYmu*{UZhItU*?lO^{)3_REoHLsy1beb1kR;f zAB>fqy*jI1Tnv3sNwQa7?Quh-)_6oGlJv?I=n;OgJoxx+Ru|wLVKFC(; zOr!R={B=ijvkvr}=st29`6?{<4g!@Qm5^3uvFtE-UMrq_P^V)R-%qSgeT8eMvYut) zJ|rVfr%UjUeH8$9qLB-)ZN2@g6r-5#@_*)Ncn4tzni%=?Xa~s>?_@Us_2ljp?~l& zf1*lM+qu=W=O*Vv3_h>5jrXQT{q-A4$DAAAA3G{Y-@nqY118tB)Wv4FTeVz2` zsOh*=1Ig{q3jS&Oms`od4c5GH)U>zy!uRKleGN$JRApY~SJ$NT*i)<;``M9#Ucm0q#g_1e8*QEz;VTeGZMJH6)3 R3h!KgvYD>-7XO#>{SO}JiM9X$ literal 29184 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 diff --git a/MIC-Week1/Debug/MIC-Week1.lss b/MIC-Week1/Debug/MIC-Week1.lss index 86872df..b3b511b 100644 --- a/MIC-Week1/Debug/MIC-Week1.lss +++ b/MIC-Week1/Debug/MIC-Week1.lss @@ -23,11 +23,11 @@ Idx Name Size VMA LMA File off Algn CONTENTS, READONLY, DEBUGGING 9 .debug_frame 000000ec 00000000 00000000 00000d70 2**2 CONTENTS, READONLY, DEBUGGING - 10 .debug_str 0000022b 00000000 00000000 00000e5c 2**0 + 10 .debug_str 00000220 00000000 00000000 00000e5c 2**0 CONTENTS, READONLY, DEBUGGING - 11 .debug_loc 00000163 00000000 00000000 00001087 2**0 + 11 .debug_loc 00000163 00000000 00000000 0000107c 2**0 CONTENTS, READONLY, DEBUGGING - 12 .debug_ranges 00000060 00000000 00000000 000011ea 2**0 + 12 .debug_ranges 00000060 00000000 00000000 000011df 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: diff --git a/MIC-Week1/MIC-Week1.atsln b/MIC-Week1/MIC-Week1.atsln index 6808703..553dbd3 100644 --- a/MIC-Week1/MIC-Week1.atsln +++ b/MIC-Week1/MIC-Week1.atsln @@ -7,6 +7,8 @@ Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "MIC-Week1", "MIC-Week1.cpro EndProject Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "MIC-Week2", "..\MIC-Week2\MIC-Week2.cproj", "{D4088B23-C726-4644-AB7E-6702C074A3C4}" EndProject +Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "MIC-Week3", "..\MIC-Week3\MIC-Week3.cproj", "{BE05994E-ACDC-4291-8CC2-C7093898F867}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|AVR = Debug|AVR @@ -21,6 +23,10 @@ Global {D4088B23-C726-4644-AB7E-6702C074A3C4}.Debug|AVR.Build.0 = Debug|AVR {D4088B23-C726-4644-AB7E-6702C074A3C4}.Release|AVR.ActiveCfg = Release|AVR {D4088B23-C726-4644-AB7E-6702C074A3C4}.Release|AVR.Build.0 = Release|AVR + {BE05994E-ACDC-4291-8CC2-C7093898F867}.Debug|AVR.ActiveCfg = Debug|AVR + {BE05994E-ACDC-4291-8CC2-C7093898F867}.Debug|AVR.Build.0 = Debug|AVR + {BE05994E-ACDC-4291-8CC2-C7093898F867}.Release|AVR.ActiveCfg = Release|AVR + {BE05994E-ACDC-4291-8CC2-C7093898F867}.Release|AVR.Build.0 = Release|AVR EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/MIC-Week2/Debug/MIC-Week2.lss b/MIC-Week2/Debug/MIC-Week2.lss index e0cd446..0b30920 100644 --- a/MIC-Week2/Debug/MIC-Week2.lss +++ b/MIC-Week2/Debug/MIC-Week2.lss @@ -3,31 +3,31 @@ MIC-Week2.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn - 0 .data 00000000 00800100 00800100 000002b0 2**0 + 0 .data 0000006c 00800100 00000294 00000328 2**0 CONTENTS, ALLOC, LOAD, DATA - 1 .text 0000023c 00000000 00000000 00000074 2**1 + 1 .text 00000294 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 2 .bss 00000002 00800100 00800100 000002b0 2**0 + 2 .bss 00000004 0080016c 0080016c 00000394 2**0 ALLOC - 3 .comment 00000030 00000000 00000000 000002b0 2**0 + 3 .comment 00000030 00000000 00000000 00000394 2**0 CONTENTS, READONLY - 4 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 000002e0 2**2 + 4 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 000003c4 2**2 CONTENTS, READONLY - 5 .debug_aranges 00000078 00000000 00000000 0000031c 2**0 + 5 .debug_aranges 00000078 00000000 00000000 00000400 2**0 CONTENTS, READONLY, DEBUGGING - 6 .debug_info 000004e3 00000000 00000000 00000394 2**0 + 6 .debug_info 0000043b 00000000 00000000 00000478 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_abbrev 00000277 00000000 00000000 00000877 2**0 + 7 .debug_abbrev 0000021d 00000000 00000000 000008b3 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_line 00000392 00000000 00000000 00000aee 2**0 + 8 .debug_line 00000374 00000000 00000000 00000ad0 2**0 CONTENTS, READONLY, DEBUGGING - 9 .debug_frame 00000184 00000000 00000000 00000e80 2**2 + 9 .debug_frame 00000184 00000000 00000000 00000e44 2**2 CONTENTS, READONLY, DEBUGGING - 10 .debug_str 00000218 00000000 00000000 00001004 2**0 + 10 .debug_str 00000218 00000000 00000000 00000fc8 2**0 CONTENTS, READONLY, DEBUGGING - 11 .debug_loc 000003ae 00000000 00000000 0000121c 2**0 + 11 .debug_loc 000003c9 00000000 00000000 000011e0 2**0 CONTENTS, READONLY, DEBUGGING - 12 .debug_ranges 000000b0 00000000 00000000 000015ca 2**0 + 12 .debug_ranges 00000068 00000000 00000000 000015a9 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -37,9 +37,9 @@ Disassembly of section .text: 2: 00 00 nop 4: 72 c0 rjmp .+228 ; 0xea <__vector_1> 6: 00 00 nop - 8: bb c0 rjmp .+374 ; 0x180 <__vector_2> + 8: a1 c0 rjmp .+322 ; 0x14c <__vector_2> a: 00 00 nop - c: ec c0 rjmp .+472 ; 0x1e6 <__vector_3> + c: d2 c0 rjmp .+420 ; 0x1b2 <__vector_3> e: 00 00 nop 10: 5a c0 rjmp .+180 ; 0xc6 <__bad_interrupt> 12: 00 00 nop @@ -116,20 +116,20 @@ Disassembly of section .text: 98: 11 e0 ldi r17, 0x01 ; 1 9a: a0 e0 ldi r26, 0x00 ; 0 9c: b1 e0 ldi r27, 0x01 ; 1 - 9e: ec e3 ldi r30, 0x3C ; 60 + 9e: e4 e9 ldi r30, 0x94 ; 148 a0: f2 e0 ldi r31, 0x02 ; 2 a2: 00 e0 ldi r16, 0x00 ; 0 a4: 0b bf out 0x3b, r16 ; 59 a6: 02 c0 rjmp .+4 ; 0xac <__do_copy_data+0x14> a8: 07 90 elpm r0, Z+ aa: 0d 92 st X+, r0 - ac: a0 30 cpi r26, 0x00 ; 0 + ac: ac 36 cpi r26, 0x6C ; 108 ae: b1 07 cpc r27, r17 b0: d9 f7 brne .-10 ; 0xa8 <__do_copy_data+0x10> 000000b2 <__do_clear_bss>: b2: 21 e0 ldi r18, 0x01 ; 1 - b4: a0 e0 ldi r26, 0x00 ; 0 + b4: ac e6 ldi r26, 0x6C ; 108 b6: b1 e0 ldi r27, 0x01 ; 1 b8: 01 c0 rjmp .+2 ; 0xbc <.do_clear_bss_start> @@ -137,21 +137,21 @@ Disassembly of section .text: ba: 1d 92 st X+, r1 000000bc <.do_clear_bss_start>: - bc: a2 30 cpi r26, 0x02 ; 2 + bc: a0 37 cpi r26, 0x70 ; 112 be: b2 07 cpc r27, r18 c0: e1 f7 brne .-8 ; 0xba <.do_clear_bss_loop> - c2: 49 d0 rcall .+146 ; 0x156
- c4: b9 c0 rjmp .+370 ; 0x238 <_exit> + c2: e5 d0 rcall .+458 ; 0x28e
+ c4: e5 c0 rjmp .+458 ; 0x290 <_exit> 000000c6 <__bad_interrupt>: c6: 9c cf rjmp .-200 ; 0x0 <__vectors> 000000c8 : + { + count = ((count-1 < 0) ? -1 : count-1); + } - while (1) - { - PORTD ^= (1<<7); // Toggle PORTD.7 - wait( 500 ); + display(count, 0); } c8: 18 16 cp r1, r24 ca: 19 06 cpc r1, r25 @@ -204,222 +204,217 @@ Disassembly of section .text: 120: 1f 90 pop r1 122: 18 95 reti -00000124 : +00000124 : + 124: 89 2b or r24, r25 + 126: 21 f0 breq .+8 ; 0x130 + 128: 85 b3 in r24, 0x15 ; 21 + 12a: 86 95 lsr r24 + 12c: 85 bb out 0x15, r24 ; 21 + 12e: 03 c0 rjmp .+6 ; 0x136 + 130: 85 b3 in r24, 0x15 ; 21 + 132: 88 0f add r24, r24 + 134: 85 bb out 0x15, r24 ; 21 + 136: af 9b sbis 0x15, 7 ; 21 + 138: 03 c0 rjmp .+6 ; 0x140 + 13a: 81 e0 ldi r24, 0x01 ; 1 + 13c: 85 bb out 0x15, r24 ; 21 + 13e: 08 95 ret + 140: 85 b3 in r24, 0x15 ; 21 + 142: 81 11 cpse r24, r1 + 144: 02 c0 rjmp .+4 ; 0x14a + 146: 80 e8 ldi r24, 0x80 ; 128 + 148: 85 bb out 0x15, r24 ; 21 + 14a: 08 95 ret + +0000014c <__vector_2>: + 14c: 1f 92 push r1 + 14e: 0f 92 push r0 + 150: 0f b6 in r0, 0x3f ; 63 + 152: 0f 92 push r0 + 154: 11 24 eor r1, r1 + 156: 0b b6 in r0, 0x3b ; 59 + 158: 0f 92 push r0 + 15a: 2f 93 push r18 + 15c: 3f 93 push r19 + 15e: 4f 93 push r20 + 160: 5f 93 push r21 + 162: 6f 93 push r22 + 164: 7f 93 push r23 + 166: 8f 93 push r24 + 168: 9f 93 push r25 + 16a: af 93 push r26 + 16c: bf 93 push r27 + 16e: ef 93 push r30 + 170: ff 93 push r31 + 172: 80 91 6e 01 lds r24, 0x016E + 176: 90 91 6f 01 lds r25, 0x016F + 17a: 00 97 sbiw r24, 0x00 ; 0 + 17c: 11 f4 brne .+4 ; 0x182 <__vector_2+0x36> + 17e: 95 98 cbi 0x12, 5 ; 18 + 180: 05 c0 rjmp .+10 ; 0x18c <__vector_2+0x40> + 182: 01 97 sbiw r24, 0x01 ; 1 + 184: 19 f4 brne .+6 ; 0x18c <__vector_2+0x40> + 186: 81 e0 ldi r24, 0x01 ; 1 + 188: 90 e0 ldi r25, 0x00 ; 0 + 18a: cc df rcall .-104 ; 0x124 + 18c: ff 91 pop r31 + 18e: ef 91 pop r30 + 190: bf 91 pop r27 + 192: af 91 pop r26 + 194: 9f 91 pop r25 + 196: 8f 91 pop r24 + 198: 7f 91 pop r23 + 19a: 6f 91 pop r22 + 19c: 5f 91 pop r21 + 19e: 4f 91 pop r20 + 1a0: 3f 91 pop r19 + 1a2: 2f 91 pop r18 + 1a4: 0f 90 pop r0 + 1a6: 0b be out 0x3b, r0 ; 59 + 1a8: 0f 90 pop r0 + 1aa: 0f be out 0x3f, r0 ; 63 + 1ac: 0f 90 pop r0 + 1ae: 1f 90 pop r1 + 1b0: 18 95 reti + +000001b2 <__vector_3>: + 1b2: 1f 92 push r1 + 1b4: 0f 92 push r0 + 1b6: 0f b6 in r0, 0x3f ; 63 + 1b8: 0f 92 push r0 + 1ba: 11 24 eor r1, r1 + 1bc: 0b b6 in r0, 0x3b ; 59 + 1be: 0f 92 push r0 + 1c0: 2f 93 push r18 + 1c2: 3f 93 push r19 + 1c4: 4f 93 push r20 + 1c6: 5f 93 push r21 + 1c8: 6f 93 push r22 + 1ca: 7f 93 push r23 + 1cc: 8f 93 push r24 + 1ce: 9f 93 push r25 + 1d0: af 93 push r26 + 1d2: bf 93 push r27 + 1d4: ef 93 push r30 + 1d6: ff 93 push r31 + 1d8: 80 e0 ldi r24, 0x00 ; 0 + 1da: 90 e0 ldi r25, 0x00 ; 0 + 1dc: a3 df rcall .-186 ; 0x124 + 1de: ff 91 pop r31 + 1e0: ef 91 pop r30 + 1e2: bf 91 pop r27 + 1e4: af 91 pop r26 + 1e6: 9f 91 pop r25 + 1e8: 8f 91 pop r24 + 1ea: 7f 91 pop r23 + 1ec: 6f 91 pop r22 + 1ee: 5f 91 pop r21 + 1f0: 4f 91 pop r20 + 1f2: 3f 91 pop r19 + 1f4: 2f 91 pop r18 + 1f6: 0f 90 pop r0 + 1f8: 0b be out 0x3b, r0 ; 59 + 1fa: 0f 90 pop r0 + 1fc: 0f be out 0x3f, r0 ; 63 + 1fe: 0f 90 pop r0 + 200: 1f 90 pop r1 + 202: 18 95 reti + +00000204 : + PORTD = data[d]; } -void opgave2(void) +void opgave4(void) { - DDRD = 0xF0; //PORTD(7:4) output, PORTD(3:0) input - 124: 80 ef ldi r24, 0xF0 ; 240 - 126: 81 bb out 0x11, r24 ; 17 - DDRC = 0xFF; //PORTC(7:0) output; - 128: 8f ef ldi r24, 0xFF ; 255 - 12a: 84 bb out 0x14, r24 ; 20 - PORTC= 0x1; - 12c: 81 e0 ldi r24, 0x01 ; 1 - 12e: 85 bb out 0x15, r24 ; 21 - - EICRA |= 0x28; //INT1 en INT2 falling edge - 130: ea e6 ldi r30, 0x6A ; 106 - 132: f0 e0 ldi r31, 0x00 ; 0 - 134: 80 81 ld r24, Z - 136: 88 62 ori r24, 0x28 ; 40 - 138: 80 83 st Z, r24 - EIMSK |= 0x06; - 13a: 89 b7 in r24, 0x39 ; 57 - 13c: 86 60 ori r24, 0x06 ; 6 - 13e: 89 bf out 0x39, r24 ; 57 - opdr=1; - 140: 81 e0 ldi r24, 0x01 ; 1 - 142: 90 e0 ldi r25, 0x00 ; 0 - 144: 90 93 01 01 sts 0x0101, r25 - 148: 80 93 00 01 sts 0x0100, r24 - sei(); - 14c: 78 94 sei + DDRD = 0xFF; + 204: 8f ef ldi r24, 0xFF ; 255 + 206: 81 bb out 0x11, r24 ; 17 + DDRC = 0x00; + 208: 14 ba out 0x14, r1 ; 20 while(1) { - wait(500); - 14e: 84 ef ldi r24, 0xF4 ; 244 - 150: 91 e0 ldi r25, 0x01 ; 1 - 152: ba df rcall .-140 ; 0xc8 - } - 154: fc cf rjmp .-8 ; 0x14e + //Als een knop ingedrukt wordt, wordt de waarde daarvan de snelheid. Werkt niet met system interrupts, dus je moet de knop soms ingedrukt houden + if(PINC != 0 ) + 20a: 83 b3 in r24, 0x13 ; 19 + 20c: 88 23 and r24, r24 + 20e: 31 f0 breq .+12 ; 0x21c + { + speed = PINC; + 210: 83 b3 in r24, 0x13 ; 19 + 212: 90 e0 ldi r25, 0x00 ; 0 + 214: 90 93 6a 01 sts 0x016A, r25 + 218: 80 93 69 01 sts 0x0169, r24 + } -00000156
: -notes: Slow background task after init ISR -Version : DMK, Initial code + //Schrijf de data van het huidige patroon naar PORTD + PORTD = pattern[count].data; + 21c: 80 91 6c 01 lds r24, 0x016C + 220: 90 91 6d 01 lds r25, 0x016D + 224: fc 01 movw r30, r24 + 226: ee 0f add r30, r30 + 228: ff 1f adc r31, r31 + 22a: 8e 0f add r24, r30 + 22c: 9f 1f adc r25, r31 + 22e: fc 01 movw r30, r24 + 230: e0 50 subi r30, 0x00 ; 0 + 232: ff 4f sbci r31, 0xFF ; 255 + 234: 80 81 ld r24, Z + 236: 82 bb out 0x12, r24 ; 18 + //Wacht het aantal milliseconde dat in het huidige patroon staat + wait(pattern[count].delay * speed); + 238: 80 91 6c 01 lds r24, 0x016C + 23c: 90 91 6d 01 lds r25, 0x016D + 240: fc 01 movw r30, r24 + 242: ee 0f add r30, r30 + 244: ff 1f adc r31, r31 + 246: 8e 0f add r24, r30 + 248: 9f 1f adc r25, r31 + 24a: fc 01 movw r30, r24 + 24c: e0 50 subi r30, 0x00 ; 0 + 24e: ff 4f sbci r31, 0xFF ; 255 + 250: 20 91 69 01 lds r18, 0x0169 + 254: 30 91 6a 01 lds r19, 0x016A + 258: 81 81 ldd r24, Z+1 ; 0x01 + 25a: 92 81 ldd r25, Z+2 ; 0x02 + 25c: ac 01 movw r20, r24 + 25e: 24 9f mul r18, r20 + 260: c0 01 movw r24, r0 + 262: 25 9f mul r18, r21 + 264: 90 0d add r25, r0 + 266: 34 9f mul r19, r20 + 268: 90 0d add r25, r0 + 26a: 11 24 eor r1, r1 + 26c: 2d df rcall .-422 ; 0xc8 + + count++; //patroon verder + 26e: 80 91 6c 01 lds r24, 0x016C + 272: 90 91 6d 01 lds r25, 0x016D + 276: 01 96 adiw r24, 0x01 ; 1 + 278: 90 93 6d 01 sts 0x016D, r25 + 27c: 80 93 6c 01 sts 0x016C, r24 + + //als alle patronen geweest zijn, opnieuw beginnen + if(count >= NELEMS(pattern)) + 280: 83 97 sbiw r24, 0x23 ; 35 + 282: 18 f2 brcs .-122 ; 0x20a + { + count = 0; + 284: 10 92 6d 01 sts 0x016D, r1 + 288: 10 92 6c 01 sts 0x016C, r1 + 28c: be cf rjmp .-132 ; 0x20a + +0000028e
: *******************************************************************/ { //powerpointOpg(); - opgave2(); - 156: e6 df rcall .-52 ; 0x124 + //opgave2(); + //opgave3(); + opgave4(); + 28e: ba df rcall .-140 ; 0x204 -00000158 : -} +00000290 <_exit>: + 290: f8 94 cli -void shift(int i) -{ - - if(i) - 158: 89 2b or r24, r25 - 15a: 21 f0 breq .+8 ; 0x164 - PORTC = (PORTC>>1); - 15c: 85 b3 in r24, 0x15 ; 21 - 15e: 86 95 lsr r24 - 160: 85 bb out 0x15, r24 ; 21 - 162: 03 c0 rjmp .+6 ; 0x16a - else - PORTC = (PORTC<<1); - 164: 85 b3 in r24, 0x15 ; 21 - 166: 88 0f add r24, r24 - 168: 85 bb out 0x15, r24 ; 21 - - //Als het looplicht aan het einde is - if (PORTC >= 0x80) - 16a: af 9b sbis 0x15, 7 ; 21 - 16c: 03 c0 rjmp .+6 ; 0x174 - { - PORTC= 0x01; - 16e: 81 e0 ldi r24, 0x01 ; 1 - 170: 85 bb out 0x15, r24 ; 21 - 172: 08 95 ret - } - //Als het looplicht aan het begin is - else if (PORTC < 0x1) - 174: 85 b3 in r24, 0x15 ; 21 - 176: 81 11 cpse r24, r1 - 178: 02 c0 rjmp .+4 ; 0x17e - { - PORTC= 0x80; - 17a: 80 e8 ldi r24, 0x80 ; 128 - 17c: 85 bb out 0x15, r24 ; 21 - 17e: 08 95 ret - -00000180 <__vector_2>: - PORTD |= (1<<5); -} - -/******************************************************************/ -ISR( INT1_vect ) -{ - 180: 1f 92 push r1 - 182: 0f 92 push r0 - 184: 0f b6 in r0, 0x3f ; 63 - 186: 0f 92 push r0 - 188: 11 24 eor r1, r1 - 18a: 0b b6 in r0, 0x3b ; 59 - 18c: 0f 92 push r0 - 18e: 2f 93 push r18 - 190: 3f 93 push r19 - 192: 4f 93 push r20 - 194: 5f 93 push r21 - 196: 6f 93 push r22 - 198: 7f 93 push r23 - 19a: 8f 93 push r24 - 19c: 9f 93 push r25 - 19e: af 93 push r26 - 1a0: bf 93 push r27 - 1a2: ef 93 push r30 - 1a4: ff 93 push r31 -inputs: -outputs: -notes: Clear PORTD.5 -Version : DMK, Initial code -*******************************************************************/ - if(opdr==0) - 1a6: 80 91 00 01 lds r24, 0x0100 - 1aa: 90 91 01 01 lds r25, 0x0101 - 1ae: 00 97 sbiw r24, 0x00 ; 0 - 1b0: 11 f4 brne .+4 ; 0x1b6 <__vector_2+0x36> - { - PORTD &= ~(1<<5); - 1b2: 95 98 cbi 0x12, 5 ; 18 - 1b4: 05 c0 rjmp .+10 ; 0x1c0 <__vector_2+0x40> - } - else if(opdr==1) - 1b6: 01 97 sbiw r24, 0x01 ; 1 - 1b8: 19 f4 brne .+6 ; 0x1c0 <__vector_2+0x40> - { - shift(1); - 1ba: 81 e0 ldi r24, 0x01 ; 1 - 1bc: 90 e0 ldi r25, 0x00 ; 0 - 1be: cc df rcall .-104 ; 0x158 - } -} - 1c0: ff 91 pop r31 - 1c2: ef 91 pop r30 - 1c4: bf 91 pop r27 - 1c6: af 91 pop r26 - 1c8: 9f 91 pop r25 - 1ca: 8f 91 pop r24 - 1cc: 7f 91 pop r23 - 1ce: 6f 91 pop r22 - 1d0: 5f 91 pop r21 - 1d2: 4f 91 pop r20 - 1d4: 3f 91 pop r19 - 1d6: 2f 91 pop r18 - 1d8: 0f 90 pop r0 - 1da: 0b be out 0x3b, r0 ; 59 - 1dc: 0f 90 pop r0 - 1de: 0f be out 0x3f, r0 ; 63 - 1e0: 0f 90 pop r0 - 1e2: 1f 90 pop r1 - 1e4: 18 95 reti - -000001e6 <__vector_3>: -inputs: -outputs: -notes: Clear PORTD.3 -Version : DMK, Initial code -*******************************************************************/ -{ - 1e6: 1f 92 push r1 - 1e8: 0f 92 push r0 - 1ea: 0f b6 in r0, 0x3f ; 63 - 1ec: 0f 92 push r0 - 1ee: 11 24 eor r1, r1 - 1f0: 0b b6 in r0, 0x3b ; 59 - 1f2: 0f 92 push r0 - 1f4: 2f 93 push r18 - 1f6: 3f 93 push r19 - 1f8: 4f 93 push r20 - 1fa: 5f 93 push r21 - 1fc: 6f 93 push r22 - 1fe: 7f 93 push r23 - 200: 8f 93 push r24 - 202: 9f 93 push r25 - 204: af 93 push r26 - 206: bf 93 push r27 - 208: ef 93 push r30 - 20a: ff 93 push r31 - shift(0); - 20c: 80 e0 ldi r24, 0x00 ; 0 - 20e: 90 e0 ldi r25, 0x00 ; 0 - 210: a3 df rcall .-186 ; 0x158 -} - 212: ff 91 pop r31 - 214: ef 91 pop r30 - 216: bf 91 pop r27 - 218: af 91 pop r26 - 21a: 9f 91 pop r25 - 21c: 8f 91 pop r24 - 21e: 7f 91 pop r23 - 220: 6f 91 pop r22 - 222: 5f 91 pop r21 - 224: 4f 91 pop r20 - 226: 3f 91 pop r19 - 228: 2f 91 pop r18 - 22a: 0f 90 pop r0 - 22c: 0b be out 0x3b, r0 ; 59 - 22e: 0f 90 pop r0 - 230: 0f be out 0x3f, r0 ; 63 - 232: 0f 90 pop r0 - 234: 1f 90 pop r1 - 236: 18 95 reti - -00000238 <_exit>: - 238: f8 94 cli - -0000023a <__stop_program>: - 23a: ff cf rjmp .-2 ; 0x23a <__stop_program> +00000292 <__stop_program>: + 292: ff cf rjmp .-2 ; 0x292 <__stop_program> diff --git a/MIC-Week2/Debug/MIC-Week2.map b/MIC-Week2/Debug/MIC-Week2.map index e2cbb39..f135963 100644 --- a/MIC-Week2/Debug/MIC-Week2.map +++ b/MIC-Week2/Debug/MIC-Week2.map @@ -21,13 +21,10 @@ Discarded input sections .bss 0x00000000 0x0 main.o .text.powerpointOpg 0x00000000 0x38 main.o - .text.opgave3 0x00000000 0x74 main.o - .text.display 0x00000000 0x1e main.o - .text.opgave4 0x00000000 0x8c main.o - .data.pattern 0x00000000 0x69 main.o + .text.opgave2 0x00000000 0x34 main.o + .text.display 0x00000000 0x2a main.o + .text.opgave3 0x00000000 0x5e main.o .data.data 0x00000000 0x10 main.o - .data.speed 0x00000000 0x2 main.o - .bss.count 0x00000000 0x2 main.o .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) @@ -194,7 +191,7 @@ END GROUP .rela.plt *(.rela.plt) -.text 0x00000000 0x23c +.text 0x00000000 0x294 *(.vectors) .vectors 0x00000000 0x8c C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o 0x00000000 __vector_default @@ -292,23 +289,23 @@ END GROUP .text.__vector_5 0x00000100 0x24 main.o 0x00000100 __vector_5 - .text.opgave2 0x00000124 0x32 main.o - 0x00000124 opgave2 - .text.main 0x00000156 0x2 main.o - 0x00000156 main - .text.shift 0x00000158 0x28 main.o - 0x00000158 shift + .text.shift 0x00000124 0x28 main.o + 0x00000124 shift .text.__vector_2 - 0x00000180 0x66 main.o - 0x00000180 __vector_2 + 0x0000014c 0x66 main.o + 0x0000014c __vector_2 .text.__vector_3 - 0x000001e6 0x52 main.o - 0x000001e6 __vector_3 - 0x00000238 . = ALIGN (0x2) + 0x000001b2 0x52 main.o + 0x000001b2 __vector_3 + .text.opgave4 0x00000204 0x8a main.o + 0x00000204 opgave4 + .text.main 0x0000028e 0x2 main.o + 0x0000028e main + 0x00000290 . = ALIGN (0x2) *(.fini9) - .fini9 0x00000238 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) - 0x00000238 _exit - 0x00000238 exit + .fini9 0x00000290 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) + 0x00000290 _exit + 0x00000290 exit *(.fini9) *(.fini8) *(.fini8) @@ -327,38 +324,45 @@ END GROUP *(.fini1) *(.fini1) *(.fini0) - .fini0 0x00000238 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) + .fini0 0x00000290 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) *(.fini0) - 0x0000023c _etext = . + 0x00000294 _etext = . -.data 0x00800100 0x0 load address 0x0000023c +.data 0x00800100 0x6c load address 0x00000294 0x00800100 PROVIDE (__data_start, .) *(.data) *(.data*) + .data.pattern 0x00800100 0x69 main.o + 0x00800100 pattern + .data.speed 0x00800169 0x2 main.o + 0x00800169 speed *(.rodata) *(.rodata*) *(.gnu.linkonce.d*) - 0x00800100 . = ALIGN (0x2) - 0x00800100 _edata = . - 0x00800100 PROVIDE (__data_end, .) + 0x0080016c . = ALIGN (0x2) + *fill* 0x0080016b 0x1 + 0x0080016c _edata = . + 0x0080016c PROVIDE (__data_end, .) -.bss 0x00800100 0x2 - 0x00800100 PROVIDE (__bss_start, .) +.bss 0x0080016c 0x4 + 0x0080016c PROVIDE (__bss_start, .) *(.bss) *(.bss*) + .bss.count 0x0080016c 0x2 main.o + 0x0080016c count *(COMMON) - COMMON 0x00800100 0x2 main.o - 0x00800100 opdr - 0x00800102 PROVIDE (__bss_end, .) - 0x0000023c __data_load_start = LOADADDR (.data) - 0x0000023c __data_load_end = (__data_load_start + SIZEOF (.data)) + COMMON 0x0080016e 0x2 main.o + 0x0080016e opdr + 0x00800170 PROVIDE (__bss_end, .) + 0x00000294 __data_load_start = LOADADDR (.data) + 0x00000300 __data_load_end = (__data_load_start + SIZEOF (.data)) -.noinit 0x00800102 0x0 - 0x00800102 PROVIDE (__noinit_start, .) +.noinit 0x00800170 0x0 + 0x00800170 PROVIDE (__noinit_start, .) *(.noinit*) - 0x00800102 PROVIDE (__noinit_end, .) - 0x00800102 _end = . - 0x00800102 PROVIDE (__heap_start, .) + 0x00800170 PROVIDE (__noinit_end, .) + 0x00800170 _end = . + 0x00800170 PROVIDE (__heap_start, .) .eeprom 0x00810000 0x0 *(.eeprom*) @@ -430,17 +434,17 @@ END GROUP .debug_pubnames *(.debug_pubnames) -.debug_info 0x00000000 0x4e3 +.debug_info 0x00000000 0x43b *(.debug_info .gnu.linkonce.wi.*) - .debug_info 0x00000000 0x4e3 main.o + .debug_info 0x00000000 0x43b main.o -.debug_abbrev 0x00000000 0x277 +.debug_abbrev 0x00000000 0x21d *(.debug_abbrev) - .debug_abbrev 0x00000000 0x277 main.o + .debug_abbrev 0x00000000 0x21d main.o -.debug_line 0x00000000 0x392 +.debug_line 0x00000000 0x374 *(.debug_line .debug_line.* .debug_line_end) - .debug_line 0x00000000 0x392 main.o + .debug_line 0x00000000 0x374 main.o .debug_frame 0x00000000 0x184 *(.debug_frame) @@ -451,9 +455,9 @@ END GROUP .debug_str 0x00000000 0x218 main.o 0x251 (size before relaxing) -.debug_loc 0x00000000 0x3ae +.debug_loc 0x00000000 0x3c9 *(.debug_loc) - .debug_loc 0x00000000 0x3ae main.o + .debug_loc 0x00000000 0x3c9 main.o .debug_macinfo *(.debug_macinfo) @@ -473,9 +477,9 @@ END GROUP .debug_pubtypes *(.debug_pubtypes) -.debug_ranges 0x00000000 0xb0 +.debug_ranges 0x00000000 0x68 *(.debug_ranges) - .debug_ranges 0x00000000 0xb0 main.o + .debug_ranges 0x00000000 0x68 main.o .debug_macro *(.debug_macro) diff --git a/MIC-Week2/Debug/MIC-Week2.srec b/MIC-Week2/Debug/MIC-Week2.srec index b957cbd..1203c36 100644 --- a/MIC-Week2/Debug/MIC-Week2.srec +++ b/MIC-Week2/Debug/MIC-Week2.srec @@ -1,5 +1,5 @@ S01100004D49432D5765656B322E737265634F -S113000045C0000072C00000BBC00000ECC000008E +S113000045C0000072C00000A1C00000D2C00000C2 S11300105AC0000075C0000056C0000054C0000063 S113002052C0000050C000004EC000004CC0000090 S11300304AC0000048C0000046C0000044C00000A0 @@ -8,31 +8,44 @@ S11300503AC0000038C0000036C0000034C00000C0 S113006032C0000030C000002EC000002CC00000D0 S11300702AC0000028C0000026C0000024C00000E0 S113008022C0000020C000001EC0000011241FBEBA -S1130090CFEFD0E1DEBFCDBF11E0A0E0B1E0ECE3F3 -S11300A0F2E000E00BBF02C007900D92A030B10750 -S11300B0D9F721E0A0E0B1E001C01D92A230B2075F -S11300C0E1F749D0B9C09CCF181619066CF420E0AA +S1130090CFEFD0E1DEBFCDBF11E0A0E0B1E0E4E9F5 +S11300A0F2E000E00BBF02C007900D92AC36B1073E +S11300B0D9F721E0ACE6B1E001C01D92A037B20748 +S11300C0E1F7E5D0E5C09CCF181619066CF420E0E2 S11300D030E0EFECF7E03197F1F700C000002F5F5C S11300E03F4F28173907A9F708951F920F920FB6AB S11300F00F921124959A0F900FBE0F901F90189590 S11301001F920F920FB60F9211248F939F9393B166 S113011081E0892783B99F918F910F900FBE0F9033 -S11301201F90189580EF81BB8FEF84BB81E085BB66 -S1130130EAE6F0E080818862808389B7866089BFBF -S113014081E090E09093010180930001789484EF22 -S113015091E0BADFFCCFE6DF892B21F085B38695E9 -S113016085BB03C085B3880F85BBAF9B03C081E00B -S113017085BB089585B3811102C080E885BB0895CD -S11301801F920F920FB60F9211240BB60F922F935A -S11301903F934F935F936F937F938F939F93AF930B -S11301A0BF93EF93FF938091000190910101009719 -S11301B011F4959805C0019719F481E090E0CCDF23 -S11301C0FF91EF91BF91AF919F918F917F916F912B -S11301D05F914F913F912F910F900BBE0F900FBEE7 -S11301E00F901F9018951F920F920FB60F92112423 -S11301F00BB60F922F933F934F935F936F937F931D -S11302008F939F93AF93BF93EF93FF9380E090E01E -S1130210A3DFFF91EF91BF91AF919F918F917F9158 -S11302206F915F914F913F912F910F900BBE0F9063 -S10F02300FBE0F901F901895F894FFCF9C +S11301201F901895892B21F085B3869585BB03C054 +S113013085B3880F85BBAF9B03C081E085BB089561 +S113014085B3811102C080E885BB08951F920F9288 +S11301500FB60F9211240BB60F922F933F934F9328 +S11301605F936F937F938F939F93AF93BF93EF931B +S1130170FF9380916E0190916F01009711F495980F +S113018005C0019719F481E090E0CCDFFF91EF9175 +S1130190BF91AF919F918F917F916F915F914F919B +S11301A03F912F910F900BBE0F900FBE0F901F9099 +S11301B018951F920F920FB60F9211240BB60F923F +S11301C02F933F934F935F936F937F938F939F935B +S11301D0AF93BF93EF93FF9380E090E0A3DFFF9191 +S11301E0EF91BF91AF919F918F917F916F915F91AB +S11301F04F913F912F910F900BBE0F900FBE0F9018 +S11302001F9018958FEF81BB14BA83B3882331F004 +S113021083B390E090936A018093690180916C01AB +S113022090916D01FC01EE0FFF1F8E0F9F1FFC01CB +S1130230E050FF4F808182BB80916C0190916D01F1 +S1130240FC01EE0FFF1F8E0F9F1FFC01E050FF4FBC +S11302502091690130916A0181819281AC01249FCE +S1130260C001259F900D349F900D11242DDF8091A6 +S11302706C0190916D01019690936D0180936C01D6 +S1130280839718F210926D0110926C01BECFBADF01 +S1070290F894FFCF0C +S11302940164000264000464000864001064002023 +S11302A464000164002064001064000864000464B1 +S11302B400026400016400016400406400086400F6 +S11302C408640040640001640001640040640008A0 +S11302D4640008640048640009640009640012644A +S11302E400246400096400126400246400096400A6 +S10F02F409640041640001640001000082 S9030000FC diff --git a/MIC-Week2/main.c b/MIC-Week2/main.c index acec4de..ce35117 100644 --- a/MIC-Week2/main.c +++ b/MIC-Week2/main.c @@ -158,9 +158,9 @@ Version : DMK, Initial code *******************************************************************/ { //powerpointOpg(); - opgave2(); + //opgave2(); //opgave3(); - //opgave4(); + opgave4(); return 1; } diff --git a/MIC-Week3/Debug/MIC-Week3.eep b/MIC-Week3/Debug/MIC-Week3.eep new file mode 100644 index 0000000..7c166a1 --- /dev/null +++ b/MIC-Week3/Debug/MIC-Week3.eep @@ -0,0 +1 @@ +:00000001FF diff --git a/MIC-Week3/Debug/MIC-Week3.lss b/MIC-Week3/Debug/MIC-Week3.lss new file mode 100644 index 0000000..8ef8ec7 --- /dev/null +++ b/MIC-Week3/Debug/MIC-Week3.lss @@ -0,0 +1,129 @@ + +MIC-Week3.elf: file format elf32-avr + +Sections: +Idx Name Size VMA LMA File off Algn + 0 .data 00000000 00800100 00800100 000000f8 2**0 + CONTENTS, ALLOC, LOAD, DATA + 1 .text 000000a4 00000000 00000000 00000054 2**1 + CONTENTS, ALLOC, LOAD, READONLY, CODE + 2 .comment 00000030 00000000 00000000 000000f8 2**0 + CONTENTS, READONLY + 3 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 00000128 2**2 + CONTENTS, READONLY + 4 .debug_aranges 00000020 00000000 00000000 00000164 2**0 + CONTENTS, READONLY, DEBUGGING + 5 .debug_info 0000007c 00000000 00000000 00000184 2**0 + CONTENTS, READONLY, DEBUGGING + 6 .debug_abbrev 00000046 00000000 00000000 00000200 2**0 + CONTENTS, READONLY, DEBUGGING + 7 .debug_line 00000043 00000000 00000000 00000246 2**0 + CONTENTS, READONLY, DEBUGGING + 8 .debug_frame 00000024 00000000 00000000 0000028c 2**2 + CONTENTS, READONLY, DEBUGGING + 9 .debug_str 00000124 00000000 00000000 000002b0 2**0 + CONTENTS, READONLY, DEBUGGING + 10 .debug_ranges 00000010 00000000 00000000 000003d4 2**0 + CONTENTS, READONLY, DEBUGGING + +Disassembly of section .text: + +00000000 <__vectors>: + 0: 45 c0 rjmp .+138 ; 0x8c <__ctors_end> + 2: 00 00 nop + 4: 4b c0 rjmp .+150 ; 0x9c <__bad_interrupt> + 6: 00 00 nop + 8: 49 c0 rjmp .+146 ; 0x9c <__bad_interrupt> + a: 00 00 nop + c: 47 c0 rjmp .+142 ; 0x9c <__bad_interrupt> + e: 00 00 nop + 10: 45 c0 rjmp .+138 ; 0x9c <__bad_interrupt> + 12: 00 00 nop + 14: 43 c0 rjmp .+134 ; 0x9c <__bad_interrupt> + 16: 00 00 nop + 18: 41 c0 rjmp .+130 ; 0x9c <__bad_interrupt> + 1a: 00 00 nop + 1c: 3f c0 rjmp .+126 ; 0x9c <__bad_interrupt> + 1e: 00 00 nop + 20: 3d c0 rjmp .+122 ; 0x9c <__bad_interrupt> + 22: 00 00 nop + 24: 3b c0 rjmp .+118 ; 0x9c <__bad_interrupt> + 26: 00 00 nop + 28: 39 c0 rjmp .+114 ; 0x9c <__bad_interrupt> + 2a: 00 00 nop + 2c: 37 c0 rjmp .+110 ; 0x9c <__bad_interrupt> + 2e: 00 00 nop + 30: 35 c0 rjmp .+106 ; 0x9c <__bad_interrupt> + 32: 00 00 nop + 34: 33 c0 rjmp .+102 ; 0x9c <__bad_interrupt> + 36: 00 00 nop + 38: 31 c0 rjmp .+98 ; 0x9c <__bad_interrupt> + 3a: 00 00 nop + 3c: 2f c0 rjmp .+94 ; 0x9c <__bad_interrupt> + 3e: 00 00 nop + 40: 2d c0 rjmp .+90 ; 0x9c <__bad_interrupt> + 42: 00 00 nop + 44: 2b c0 rjmp .+86 ; 0x9c <__bad_interrupt> + 46: 00 00 nop + 48: 29 c0 rjmp .+82 ; 0x9c <__bad_interrupt> + 4a: 00 00 nop + 4c: 27 c0 rjmp .+78 ; 0x9c <__bad_interrupt> + 4e: 00 00 nop + 50: 25 c0 rjmp .+74 ; 0x9c <__bad_interrupt> + 52: 00 00 nop + 54: 23 c0 rjmp .+70 ; 0x9c <__bad_interrupt> + 56: 00 00 nop + 58: 21 c0 rjmp .+66 ; 0x9c <__bad_interrupt> + 5a: 00 00 nop + 5c: 1f c0 rjmp .+62 ; 0x9c <__bad_interrupt> + 5e: 00 00 nop + 60: 1d c0 rjmp .+58 ; 0x9c <__bad_interrupt> + 62: 00 00 nop + 64: 1b c0 rjmp .+54 ; 0x9c <__bad_interrupt> + 66: 00 00 nop + 68: 19 c0 rjmp .+50 ; 0x9c <__bad_interrupt> + 6a: 00 00 nop + 6c: 17 c0 rjmp .+46 ; 0x9c <__bad_interrupt> + 6e: 00 00 nop + 70: 15 c0 rjmp .+42 ; 0x9c <__bad_interrupt> + 72: 00 00 nop + 74: 13 c0 rjmp .+38 ; 0x9c <__bad_interrupt> + 76: 00 00 nop + 78: 11 c0 rjmp .+34 ; 0x9c <__bad_interrupt> + 7a: 00 00 nop + 7c: 0f c0 rjmp .+30 ; 0x9c <__bad_interrupt> + 7e: 00 00 nop + 80: 0d c0 rjmp .+26 ; 0x9c <__bad_interrupt> + 82: 00 00 nop + 84: 0b c0 rjmp .+22 ; 0x9c <__bad_interrupt> + 86: 00 00 nop + 88: 09 c0 rjmp .+18 ; 0x9c <__bad_interrupt> + ... + +0000008c <__ctors_end>: + 8c: 11 24 eor r1, r1 + 8e: 1f be out 0x3f, r1 ; 63 + 90: cf ef ldi r28, 0xFF ; 255 + 92: d0 e1 ldi r29, 0x10 ; 16 + 94: de bf out 0x3e, r29 ; 62 + 96: cd bf out 0x3d, r28 ; 61 + 98: 02 d0 rcall .+4 ; 0x9e
+ 9a: 02 c0 rjmp .+4 ; 0xa0 <_exit> + +0000009c <__bad_interrupt>: + 9c: b1 cf rjmp .-158 ; 0x0 <__vectors> + +0000009e
: +int main(void) +{ + /* Replace with your application code */ + while (1) + { + } + 9e: ff cf rjmp .-2 ; 0x9e
+ +000000a0 <_exit>: + a0: f8 94 cli + +000000a2 <__stop_program>: + a2: ff cf rjmp .-2 ; 0xa2 <__stop_program> diff --git a/MIC-Week3/Debug/MIC-Week3.map b/MIC-Week3/Debug/MIC-Week3.map new file mode 100644 index 0000000..f94d5a7 --- /dev/null +++ b/MIC-Week3/Debug/MIC-Week3.map @@ -0,0 +1,412 @@ +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/4.9.2/avr51\libgcc.a(_exit.o) + C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o (exit) + +Discarded input sections + + .data 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o + .bss 0x00000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o + .text 0x00000000 0x0 main.o + .data 0x00000000 0x0 main.o + .bss 0x00000000 0x0 main.o + .text 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) + .data 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) + .bss 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) + .text.libgcc.mul + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) + .text.libgcc.div + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) + .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) + .text.libgcc.prologue + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) + .text.libgcc.builtins + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) + .text.libgcc.fmul + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) + .text.libgcc.fixed + 0x00000000 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) + +Memory Configuration + +Name Origin Length Attributes +text 0x00000000 0x00020000 xr +data 0x00800100 0x0000ff00 rw !x +eeprom 0x00810000 0x00010000 rw !x +fuse 0x00820000 0x00000400 rw !x +lock 0x00830000 0x00000400 rw !x +signature 0x00840000 0x00000400 rw !x +user_signatures 0x00850000 0x00000400 rw !x +*default* 0x00000000 0xffffffff + +Linker script and memory map + +Address of section .data set to 0x800100 +LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o +LOAD main.o +START GROUP +LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/../../../../avr/lib/avr51\libm.a +END GROUP +START GROUP +LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a +LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/../../../../avr/lib/avr51\libm.a +LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/../../../../avr/lib/avr51\libc.a +LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51\libatmega128.a +END GROUP + +.hash + *(.hash) + +.dynsym + *(.dynsym) + +.dynstr + *(.dynstr) + +.gnu.version + *(.gnu.version) + +.gnu.version_d + *(.gnu.version_d) + +.gnu.version_r + *(.gnu.version_r) + +.rel.init + *(.rel.init) + +.rela.init + *(.rela.init) + +.rel.text + *(.rel.text) + *(.rel.text.*) + *(.rel.gnu.linkonce.t*) + +.rela.text + *(.rela.text) + *(.rela.text.*) + *(.rela.gnu.linkonce.t*) + +.rel.fini + *(.rel.fini) + +.rela.fini + *(.rela.fini) + +.rel.rodata + *(.rel.rodata) + *(.rel.rodata.*) + *(.rel.gnu.linkonce.r*) + +.rela.rodata + *(.rela.rodata) + *(.rela.rodata.*) + *(.rela.gnu.linkonce.r*) + +.rel.data + *(.rel.data) + *(.rel.data.*) + *(.rel.gnu.linkonce.d*) + +.rela.data + *(.rela.data) + *(.rela.data.*) + *(.rela.gnu.linkonce.d*) + +.rel.ctors + *(.rel.ctors) + +.rela.ctors + *(.rela.ctors) + +.rel.dtors + *(.rel.dtors) + +.rela.dtors + *(.rela.dtors) + +.rel.got + *(.rel.got) + +.rela.got + *(.rela.got) + +.rel.bss + *(.rel.bss) + +.rela.bss + *(.rela.bss) + +.rel.plt + *(.rel.plt) + +.rela.plt + *(.rela.plt) + +.text 0x00000000 0xa4 + *(.vectors) + .vectors 0x00000000 0x8c C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o + 0x00000000 __vector_default + 0x00000000 __vectors + *(.vectors) + *(.progmem.gcc*) + 0x0000008c . = ALIGN (0x2) + 0x0000008c __trampolines_start = . + *(.trampolines) + .trampolines 0x0000008c 0x0 linker stubs + *(.trampolines*) + 0x0000008c __trampolines_end = . + *(.progmem*) + 0x0000008c . = ALIGN (0x2) + *(.jumptables) + *(.jumptables*) + *(.lowtext) + *(.lowtext*) + 0x0000008c __ctors_start = . + *(.ctors) + 0x0000008c __ctors_end = . + 0x0000008c __dtors_start = . + *(.dtors) + 0x0000008c __dtors_end = . + SORT(*)(.ctors) + SORT(*)(.dtors) + *(.init0) + .init0 0x0000008c 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o + 0x0000008c __init + *(.init0) + *(.init1) + *(.init1) + *(.init2) + .init2 0x0000008c 0xc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o + *(.init2) + *(.init3) + *(.init3) + *(.init4) + *(.init4) + *(.init5) + *(.init5) + *(.init6) + *(.init6) + *(.init7) + *(.init7) + *(.init8) + *(.init8) + *(.init9) + .init9 0x00000098 0x4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o + *(.init9) + *(.text) + .text 0x0000009c 0x2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o + 0x0000009c __vector_22 + 0x0000009c __vector_28 + 0x0000009c __vector_1 + 0x0000009c __vector_32 + 0x0000009c __vector_34 + 0x0000009c __vector_24 + 0x0000009c __vector_12 + 0x0000009c __bad_interrupt + 0x0000009c __vector_6 + 0x0000009c __vector_31 + 0x0000009c __vector_3 + 0x0000009c __vector_23 + 0x0000009c __vector_30 + 0x0000009c __vector_25 + 0x0000009c __vector_11 + 0x0000009c __vector_13 + 0x0000009c __vector_17 + 0x0000009c __vector_19 + 0x0000009c __vector_7 + 0x0000009c __vector_27 + 0x0000009c __vector_5 + 0x0000009c __vector_33 + 0x0000009c __vector_4 + 0x0000009c __vector_9 + 0x0000009c __vector_2 + 0x0000009c __vector_21 + 0x0000009c __vector_15 + 0x0000009c __vector_29 + 0x0000009c __vector_8 + 0x0000009c __vector_26 + 0x0000009c __vector_14 + 0x0000009c __vector_10 + 0x0000009c __vector_16 + 0x0000009c __vector_18 + 0x0000009c __vector_20 + 0x0000009e . = ALIGN (0x2) + *(.text.*) + .text.main 0x0000009e 0x2 main.o + 0x0000009e main + 0x000000a0 . = ALIGN (0x2) + *(.fini9) + .fini9 0x000000a0 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) + 0x000000a0 _exit + 0x000000a0 exit + *(.fini9) + *(.fini8) + *(.fini8) + *(.fini7) + *(.fini7) + *(.fini6) + *(.fini6) + *(.fini5) + *(.fini5) + *(.fini4) + *(.fini4) + *(.fini3) + *(.fini3) + *(.fini2) + *(.fini2) + *(.fini1) + *(.fini1) + *(.fini0) + .fini0 0x000000a0 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avr51\libgcc.a(_exit.o) + *(.fini0) + 0x000000a4 _etext = . + +.data 0x00800100 0x0 load address 0x000000a4 + 0x00800100 PROVIDE (__data_start, .) + *(.data) + *(.data*) + *(.rodata) + *(.rodata*) + *(.gnu.linkonce.d*) + 0x00800100 . = ALIGN (0x2) + 0x00800100 _edata = . + 0x00800100 PROVIDE (__data_end, .) + +.bss 0x00800100 0x0 + 0x00800100 PROVIDE (__bss_start, .) + *(.bss) + *(.bss*) + *(COMMON) + 0x00800100 PROVIDE (__bss_end, .) + 0x000000a4 __data_load_start = LOADADDR (.data) + 0x000000a4 __data_load_end = (__data_load_start + SIZEOF (.data)) + +.noinit 0x00800100 0x0 + 0x00800100 PROVIDE (__noinit_start, .) + *(.noinit*) + 0x00800100 PROVIDE (__noinit_end, .) + 0x00800100 _end = . + 0x00800100 PROVIDE (__heap_start, .) + +.eeprom 0x00810000 0x0 + *(.eeprom*) + 0x00810000 __eeprom_end = . + +.fuse + *(.fuse) + *(.lfuse) + *(.hfuse) + *(.efuse) + +.lock + *(.lock*) + +.signature + *(.signature*) + +.user_signatures + *(.user_signatures*) + +.stab + *(.stab) + +.stabstr + *(.stabstr) + +.stab.excl + *(.stab.excl) + +.stab.exclstr + *(.stab.exclstr) + +.stab.index + *(.stab.index) + +.stab.indexstr + *(.stab.indexstr) + +.comment 0x00000000 0x30 + *(.comment) + .comment 0x00000000 0x30 main.o + 0x31 (size before relaxing) + +.note.gnu.avr.deviceinfo + 0x00000000 0x3c + .note.gnu.avr.deviceinfo + 0x00000000 0x3c C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/gcc/dev/atmega128/avr51/crtatmega128.o + +.note.gnu.build-id + *(.note.gnu.build-id) + +.debug + *(.debug) + +.line + *(.line) + +.debug_srcinfo + *(.debug_srcinfo) + +.debug_sfnames + *(.debug_sfnames) + +.debug_aranges 0x00000000 0x20 + *(.debug_aranges) + .debug_aranges + 0x00000000 0x20 main.o + +.debug_pubnames + *(.debug_pubnames) + +.debug_info 0x00000000 0x7c + *(.debug_info .gnu.linkonce.wi.*) + .debug_info 0x00000000 0x7c main.o + +.debug_abbrev 0x00000000 0x46 + *(.debug_abbrev) + .debug_abbrev 0x00000000 0x46 main.o + +.debug_line 0x00000000 0x43 + *(.debug_line .debug_line.* .debug_line_end) + .debug_line 0x00000000 0x43 main.o + +.debug_frame 0x00000000 0x24 + *(.debug_frame) + .debug_frame 0x00000000 0x24 main.o + +.debug_str 0x00000000 0x124 + *(.debug_str) + .debug_str 0x00000000 0x124 main.o + 0x158 (size before relaxing) + +.debug_loc + *(.debug_loc) + +.debug_macinfo + *(.debug_macinfo) + +.debug_weaknames + *(.debug_weaknames) + +.debug_funcnames + *(.debug_funcnames) + +.debug_typenames + *(.debug_typenames) + +.debug_varnames + *(.debug_varnames) + +.debug_pubtypes + *(.debug_pubtypes) + +.debug_ranges 0x00000000 0x10 + *(.debug_ranges) + .debug_ranges 0x00000000 0x10 main.o + +.debug_macro + *(.debug_macro) +OUTPUT(MIC-Week3.elf elf32-avr) +LOAD linker stubs diff --git a/MIC-Week3/Debug/MIC-Week3.srec b/MIC-Week3/Debug/MIC-Week3.srec new file mode 100644 index 0000000..728d956 --- /dev/null +++ b/MIC-Week3/Debug/MIC-Week3.srec @@ -0,0 +1,13 @@ +S01100004D49432D5765656B332E737265634E +S113000045C000004BC0000049C0000047C00000CC +S113001045C0000043C0000041C000003FC00000D4 +S11300203DC000003BC0000039C0000037C00000E4 +S113003035C0000033C0000031C000002FC00000F4 +S11300402DC000002BC0000029C0000027C0000004 +S113005025C0000023C0000021C000001FC0000014 +S11300601DC000001BC0000019C0000017C0000024 +S113007015C0000013C0000011C000000FC0000034 +S11300800DC000000BC0000009C0000011241FBEF9 +S1130090CFEFD0E1DEBFCDBF02D002C0B1CFFFCFE2 +S10700A0F894FFCFFE +S9030000FC diff --git a/MIC-Week3/Debug/Makefile b/MIC-Week3/Debug/Makefile new file mode 100644 index 0000000..40c0c55 --- /dev/null +++ b/MIC-Week3/Debug/Makefile @@ -0,0 +1,129 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +SHELL := cmd.exe +RM := rm -rf + +USER_OBJS := + +LIBS := +PROJ := + +O_SRCS := +C_SRCS := +S_SRCS := +S_UPPER_SRCS := +OBJ_SRCS := +ASM_SRCS := +PREPROCESSING_SRCS := +OBJS := +OBJS_AS_ARGS := +C_DEPS := +C_DEPS_AS_ARGS := +EXECUTABLES := +OUTPUT_FILE_PATH := +OUTPUT_FILE_PATH_AS_ARGS := +AVR_APP_PATH :=$$$AVR_APP_PATH$$$ +QUOTE := " +ADDITIONAL_DEPENDENCIES:= +OUTPUT_FILE_DEP:= +LIB_DEP:= +LINKER_SCRIPT_DEP:= + +# Every subdirectory with source files must be described here +SUBDIRS := + + +# Add inputs and outputs from these tool invocations to the build variables +C_SRCS += \ +../main.c + + +PREPROCESSING_SRCS += + + +ASM_SRCS += + + +OBJS += \ +main.o + +OBJS_AS_ARGS += \ +main.o + +C_DEPS += \ +main.d + +C_DEPS_AS_ARGS += \ +main.d + +OUTPUT_FILE_PATH +=MIC-Week3.elf + +OUTPUT_FILE_PATH_AS_ARGS +=MIC-Week3.elf + +ADDITIONAL_DEPENDENCIES:= + +OUTPUT_FILE_DEP:= ./makedep.mk + +LIB_DEP+= + +LINKER_SCRIPT_DEP+= + + +# AVR32/GNU C Compiler + + + +./%.o: .././%.c + @echo Building file: $< + @echo Invoking: AVR/GNU C Compiler : 4.9.2 + $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -mrelax -g2 -Wall -mmcu=atmega128 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\gcc\dev\atmega128" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" + @echo Finished building: $< + + + + +# AVR32/GNU Preprocessing Assembler + + + +# AVR32/GNU Assembler + + + + +ifneq ($(MAKECMDGOALS),clean) +ifneq ($(strip $(C_DEPS)),) +-include $(C_DEPS) +endif +endif + +# Add inputs and outputs from these tool invocations to the build variables + +# All Target +all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES) + +$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP) + @echo Building target: $@ + @echo Invoking: AVR/GNU Linker : 4.9.2 + $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="MIC-Week3.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mrelax -mmcu=atmega128 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\gcc\dev\atmega128" + @echo Finished building target: $@ + "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "MIC-Week3.elf" "MIC-Week3.hex" + "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "MIC-Week3.elf" "MIC-Week3.eep" || exit 0 + "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "MIC-Week3.elf" > "MIC-Week3.lss" + "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "MIC-Week3.elf" "MIC-Week3.srec" + "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "MIC-Week3.elf" + + + + + + + +# Other Targets +clean: + -$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES) + -$(RM) $(C_DEPS_AS_ARGS) + rm -rf "MIC-Week3.elf" "MIC-Week3.a" "MIC-Week3.hex" "MIC-Week3.lss" "MIC-Week3.eep" "MIC-Week3.map" "MIC-Week3.srec" "MIC-Week3.usersignatures" + \ No newline at end of file diff --git a/MIC-Week3/Debug/main.d b/MIC-Week3/Debug/main.d new file mode 100644 index 0000000..f5d14c1 --- /dev/null +++ b/MIC-Week3/Debug/main.d @@ -0,0 +1,34 @@ +main.d main.o: .././main.c \ + c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ + c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ + c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ + c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\4.9.2\include\stdint.h \ + c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ + C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\include/avr/iom128.h \ + c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ + c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ + c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ + c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ + c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h + +c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: + +c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: + +c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: + +c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\4.9.2\include\stdint.h: + +c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: + +C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\include/avr/iom128.h: + +c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: + +c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: + +c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: + +c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: + +c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: diff --git a/MIC-Week3/Debug/makedep.mk b/MIC-Week3/Debug/makedep.mk new file mode 100644 index 0000000..6a14fde --- /dev/null +++ b/MIC-Week3/Debug/makedep.mk @@ -0,0 +1,6 @@ +################################################################################ +# Automatically-generated file. Do not edit or delete the file +################################################################################ + +main.c + diff --git a/MIC-Week3/MIC-Week3.componentinfo.xml b/MIC-Week3/MIC-Week3.componentinfo.xml new file mode 100644 index 0000000..49ba890 --- /dev/null +++ b/MIC-Week3/MIC-Week3.componentinfo.xml @@ -0,0 +1,86 @@ + + + + + + + Device + Startup + + + Atmel + 1.0.0 + C:/Program Files (x86)\Atmel\Studio\7.0\Packs + + + + + C:/Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\include + + include + C + + + include + + + + + C:/Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\include\avr\iom128.h + + header + C + w6TcdtnSFTUbj2H2rTwkDQ== + + include/avr/iom128.h + + + + + C:/Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\templates\main.c + template + source + C Exe + Y3gdIKh8oyi8jcdzNK2ycw== + + templates/main.c + Main file (.c) + + + + C:/Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\templates\main.cpp + template + source + C Exe + YXFphlh0CtZJU+ebktABgQ== + + templates/main.cpp + Main file (.cpp) + + + + C:/Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.0.91\gcc\dev\atmega128 + + libraryPrefix + GCC + + + gcc/dev/atmega128 + + + + + ATmega_DFP + C:/Program Files (x86)/Atmel/Studio/7.0/Packs/Atmel/ATmega_DFP/1.0.91/Atmel.ATmega_DFP.pdsc + 1.0.91 + true + ATmega128 + + + + Resolved + Fixed + true + + + \ No newline at end of file diff --git a/MIC-Week3/MIC-Week3.cproj b/MIC-Week3/MIC-Week3.cproj new file mode 100644 index 0000000..bb25c73 --- /dev/null +++ b/MIC-Week3/MIC-Week3.cproj @@ -0,0 +1,118 @@ + + + + 2.0 + 7.0 + com.Atmel.AVRGCC8.C + {be05994e-acdc-4291-8cc2-c7093898f867} + ATmega128 + none + Executable + C + $(MSBuildProjectName) + .elf + $(MSBuildProjectDirectory)\$(Configuration) + MIC-Week3 + MIC-Week3 + MIC-Week3 + Native + true + false + true + true + + + true + + 2 + 1 + + + + + + + + + + + + + + + + + -mmcu=atmega128 -B "%24(PackRepoDir)\Atmel\ATmega_DFP\1.0.91\gcc\dev\atmega128" + True + True + True + True + True + False + True + True + + + NDEBUG + + + + + %24(PackRepoDir)\Atmel\ATmega_DFP\1.0.91\include + + + Optimize for size (-Os) + True + True + True + + + libm + + + + + + + + + -mmcu=atmega128 -B "%24(PackRepoDir)\Atmel\ATmega_DFP\1.0.91\gcc\dev\atmega128" + True + True + True + True + True + False + True + True + + + DEBUG + + + + + %24(PackRepoDir)\Atmel\ATmega_DFP\1.0.91\include + + + Optimize (-O1) + True + True + Default (-g2) + True + + + libm + + + Default (-Wa,-g) + + + + + + compile + + + + \ No newline at end of file diff --git a/MIC-Week3/main.c b/MIC-Week3/main.c new file mode 100644 index 0000000..678e157 --- /dev/null +++ b/MIC-Week3/main.c @@ -0,0 +1,25 @@ +/* + * MIC-Week3.c + * + * Created: 23-2-2016 10:18:35 + * Author : kenny + */ + +#include + + +int main(void) +{ + opgave1(); + + return 1; +} + +void opgave1() +{ + while(1) + { + + } +} +