From 180509b65308a915fb6528acb1aac53e48937ce6 Mon Sep 17 00:00:00 2001 From: BlubbFish Date: Sun, 5 Aug 2012 13:51:05 +0000 Subject: [PATCH] 20120805-154932 --- V3/Zeitschaltung.aps | 1 + V3/Zeitschaltung.c | 73 ++++++ V3/default/Makefile | 80 +++++++ V3/default/Zeitschaltung.eep | 1 + V3/default/Zeitschaltung.elf | Bin 0 -> 9267 bytes V3/default/Zeitschaltung.hex | 25 +++ V3/default/Zeitschaltung.lss | 321 +++++++++++++++++++++++++++ V3/default/Zeitschaltung.map | 369 +++++++++++++++++++++++++++++++ V3/default/dep/Zeitschaltung.o.d | 49 ++++ V3/default/dep/sleep.o.d | 18 ++ V3/sleep.c | 39 ++++ V3/sleep.h | 13 ++ V3/zeitschaltung.aws | 1 + V4/Attiny13.T3000 | Bin 0 -> 35764 bytes V4/BackupFiles/.gitignore | 0 15 files changed, 990 insertions(+) create mode 100644 V3/Zeitschaltung.aps create mode 100644 V3/Zeitschaltung.c create mode 100644 V3/default/Makefile create mode 100644 V3/default/Zeitschaltung.eep create mode 100644 V3/default/Zeitschaltung.elf create mode 100644 V3/default/Zeitschaltung.hex create mode 100644 V3/default/Zeitschaltung.lss create mode 100644 V3/default/Zeitschaltung.map create mode 100644 V3/default/dep/Zeitschaltung.o.d create mode 100644 V3/default/dep/sleep.o.d create mode 100644 V3/sleep.c create mode 100644 V3/sleep.h create mode 100644 V3/zeitschaltung.aws create mode 100644 V4/Attiny13.T3000 create mode 100644 V4/BackupFiles/.gitignore diff --git a/V3/Zeitschaltung.aps b/V3/Zeitschaltung.aps new file mode 100644 index 0000000..46b7aea --- /dev/null +++ b/V3/Zeitschaltung.aps @@ -0,0 +1 @@ +Zeitschaltung14-Apr-2012 00:00:1115-Apr-2012 01:29:24241014-Apr-2012 00:00:1144, 19, 0, 730AVR GCCdefault\Zeitschaltung.elfD:\Doc's\Schaltung\AVR\Zeitschaltung\JTAGICE mkIIATtiny13.xmlfalseR00R01R02R03R04R05R06R07R08R09R10R11R12R13R14R15R16R17R18R19R20R21R22R23R24R25R26R27R28R29R30R31Auto000Zeitschaltung.csleep.csleep.hdefault\Zeitschaltung.lssdefault\Zeitschaltung.mapdefaultNOattiny13111Zeitschaltung.elfdefault\0-Wall -gdwarf-2 -std=gnu99 -DF_CPU=9600000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enumsdefault1E:\Programme\AVR Toolchain\bin\avr-gcc.exeE:\Programme\AVR Toolchain\bin\make.exe00000Zeitschaltung.c1 diff --git a/V3/Zeitschaltung.c b/V3/Zeitschaltung.c new file mode 100644 index 0000000..2e9eb38 --- /dev/null +++ b/V3/Zeitschaltung.c @@ -0,0 +1,73 @@ +#include +#include +#include +#include +#include +#include "sleep.h" + +uint16_t adc_schlafen() { + uint8_t value; + uint16_t sum; + //sleep_long(1000); + ADCSRA |= (1< $@ + +size: ${TARGET} + @echo + @avr-size -C --mcu=${MCU} ${TARGET} + +## Clean target +.PHONY: clean +clean: + -rm -rf $(OBJECTS) Zeitschaltung.elf dep/* Zeitschaltung.hex Zeitschaltung.eep Zeitschaltung.lss Zeitschaltung.map + + +## Other dependencies +-include $(shell mkdir dep 2>NUL) $(wildcard dep/*) + diff --git a/V3/default/Zeitschaltung.eep b/V3/default/Zeitschaltung.eep new file mode 100644 index 0000000..1996e8f --- /dev/null +++ b/V3/default/Zeitschaltung.eep @@ -0,0 +1 @@ +:00000001FF diff --git a/V3/default/Zeitschaltung.elf b/V3/default/Zeitschaltung.elf new file mode 100644 index 0000000000000000000000000000000000000000..1cb253d3dc4af248e635d1c4b4c641056cd0647d GIT binary patch literal 9267 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 literal 0 HcmV?d00001 diff --git a/V3/default/Zeitschaltung.hex b/V3/default/Zeitschaltung.hex new file mode 100644 index 0000000..c15f458 --- /dev/null +++ b/V3/default/Zeitschaltung.hex @@ -0,0 +1,25 @@ +:1000000009C025C00DC00CC00BC00AC009C008C083 +:1000100007C006C011241FBECFE9CDBF50D0ACC071 +:10002000EFCF86B1806C86B93699FECF84B185B1A9 +:10003000379890E06EE170E08DD09C0128513C4FE4 +:10004000C9010895EEDFC09A68D0C09808951F9244 +:100050000F920FB60F9211242F933F934F935F93FC +:100060006F937F938F939F93AF93BF93EF93FF9380 +:100070008FEF9DEEA2E081509040A040E1F700C0DC +:100080000000B19902C0C39ADDDF8FEF9BE7A2E9C0 +:1000900081509040A040E1F700C00000FF91EF9137 +:1000A000BF91AF919F918F917F916F915F914F9190 +:1000B0003F912F910F900FBE0F901F901895F894BD +:1000C00087B3896087BBC19A8BB780648BBF85B7C4 +:1000D000826085BF17B887B1826687B97894C09867 +:1000E000C39A8FE79BEB0197F1F700C00000C3981C +:1000F0008FEF97E9AAE381509040A040E1F700C05C +:100100000000EDCF07C0EFE5F9E03197F1F700C04F +:10011000000081508823B9F7089507C0EFE5F9E0A2 +:100120003197F1F700C0000001970097B9F70895E3 +:1001300005C093E09A95F1F7000081508823C9F734 +:10014000089505C023E02A95F1F700000197009774 +:10015000C9F708955527002480FF02C0060E571FD7 +:10016000660F771F6115710521F0969587950097A9 +:0C01700099F7952F802D0895F894FFCF8B +:00000001FF diff --git a/V3/default/Zeitschaltung.lss b/V3/default/Zeitschaltung.lss new file mode 100644 index 0000000..36c9511 --- /dev/null +++ b/V3/default/Zeitschaltung.lss @@ -0,0 +1,321 @@ + +Zeitschaltung.elf: file format elf32-avr + +Sections: +Idx Name Size VMA LMA File off Algn + 0 .text 0000017c 00000000 00000000 00000054 2**1 + CONTENTS, ALLOC, LOAD, READONLY, CODE + 1 .stab 000006b4 00000000 00000000 000001d0 2**2 + CONTENTS, READONLY, DEBUGGING + 2 .stabstr 00000085 00000000 00000000 00000884 2**0 + CONTENTS, READONLY, DEBUGGING + 3 .debug_aranges 00000040 00000000 00000000 00000909 2**0 + CONTENTS, READONLY, DEBUGGING + 4 .debug_pubnames 0000008f 00000000 00000000 00000949 2**0 + CONTENTS, READONLY, DEBUGGING + 5 .debug_info 0000059f 00000000 00000000 000009d8 2**0 + CONTENTS, READONLY, DEBUGGING + 6 .debug_abbrev 00000262 00000000 00000000 00000f77 2**0 + CONTENTS, READONLY, DEBUGGING + 7 .debug_line 00000441 00000000 00000000 000011d9 2**0 + CONTENTS, READONLY, DEBUGGING + 8 .debug_frame 000000a0 00000000 00000000 0000161c 2**2 + CONTENTS, READONLY, DEBUGGING + 9 .debug_str 00000187 00000000 00000000 000016bc 2**0 + CONTENTS, READONLY, DEBUGGING + 10 .debug_loc 000001f1 00000000 00000000 00001843 2**0 + CONTENTS, READONLY, DEBUGGING + 11 .debug_pubtypes 00000070 00000000 00000000 00001a34 2**0 + CONTENTS, READONLY, DEBUGGING + +Disassembly of section .text: + +00000000 <__vectors>: + 0: 09 c0 rjmp .+18 ; 0x14 <__ctors_end> + 2: 25 c0 rjmp .+74 ; 0x4e <__vector_1> + 4: 0d c0 rjmp .+26 ; 0x20 <__bad_interrupt> + 6: 0c c0 rjmp .+24 ; 0x20 <__bad_interrupt> + 8: 0b c0 rjmp .+22 ; 0x20 <__bad_interrupt> + a: 0a c0 rjmp .+20 ; 0x20 <__bad_interrupt> + c: 09 c0 rjmp .+18 ; 0x20 <__bad_interrupt> + e: 08 c0 rjmp .+16 ; 0x20 <__bad_interrupt> + 10: 07 c0 rjmp .+14 ; 0x20 <__bad_interrupt> + 12: 06 c0 rjmp .+12 ; 0x20 <__bad_interrupt> + +00000014 <__ctors_end>: + 14: 11 24 eor r1, r1 + 16: 1f be out 0x3f, r1 ; 63 + 18: cf e9 ldi r28, 0x9F ; 159 + 1a: cd bf out 0x3d, r28 ; 61 + 1c: 50 d0 rcall .+160 ; 0xbe
+ 1e: ac c0 rjmp .+344 ; 0x178 <_exit> + +00000020 <__bad_interrupt>: + 20: ef cf rjmp .-34 ; 0x0 <__vectors> + +00000022 : + +uint16_t adc_schlafen() { + uint8_t value; + uint16_t sum; + //sleep_long(1000); + ADCSRA |= (1< + value = ADCL; //LOWER First + 2c: 84 b1 in r24, 0x04 ; 4 + value = ADCH; //THEN upper + 2e: 85 b1 in r24, 0x05 ; 5 + sum = value; + ADCSRA &= ~(1< + sum += 1000; + 3a: 9c 01 movw r18, r24 + 3c: 28 51 subi r18, 0x18 ; 24 + 3e: 3c 4f sbci r19, 0xFC ; 252 + return sum; +} + 40: c9 01 movw r24, r18 + 42: 08 95 ret + +00000044 : + +void mosfet_an() { + uint16_t sleep = adc_schlafen(); + 44: ee df rcall .-36 ; 0x22 + PORTB |= (1< + PORTB &= ~(1<: + +ISR(INT0_vect) +{ + 4e: 1f 92 push r1 + 50: 0f 92 push r0 + 52: 0f b6 in r0, 0x3f ; 63 + 54: 0f 92 push r0 + 56: 11 24 eor r1, r1 + 58: 2f 93 push r18 + 5a: 3f 93 push r19 + 5c: 4f 93 push r20 + 5e: 5f 93 push r21 + 60: 6f 93 push r22 + 62: 7f 93 push r23 + 64: 8f 93 push r24 + 66: 9f 93 push r25 + 68: af 93 push r26 + 6a: bf 93 push r27 + 6c: ef 93 push r30 + 6e: ff 93 push r31 + #else + //round up by default + __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); + #endif + + __builtin_avr_delay_cycles(__ticks_dc); + 70: 8f ef ldi r24, 0xFF ; 255 + 72: 9d ee ldi r25, 0xED ; 237 + 74: a2 e0 ldi r26, 0x02 ; 2 + 76: 81 50 subi r24, 0x01 ; 1 + 78: 90 40 sbci r25, 0x00 ; 0 + 7a: a0 40 sbci r26, 0x00 ; 0 + 7c: e1 f7 brne .-8 ; 0x76 <__vector_1+0x28> + 7e: 00 c0 rjmp .+0 ; 0x80 <__vector_1+0x32> + 80: 00 00 nop + _delay_ms(100); + if (!(PINB & (1< + PORTB |= (1< + 8a: 8f ef ldi r24, 0xFF ; 255 + 8c: 9b e7 ldi r25, 0x7B ; 123 + 8e: a2 e9 ldi r26, 0x92 ; 146 + 90: 81 50 subi r24, 0x01 ; 1 + 92: 90 40 sbci r25, 0x00 ; 0 + 94: a0 40 sbci r26, 0x00 ; 0 + 96: e1 f7 brne .-8 ; 0x90 <__vector_1+0x42> + 98: 00 c0 rjmp .+0 ; 0x9a <__vector_1+0x4c> + 9a: 00 00 nop + } + //} + //set_sleep_mode(SLEEP_MODE_IDLE); + //sleep_mode(); + +} + 9c: ff 91 pop r31 + 9e: ef 91 pop r30 + a0: bf 91 pop r27 + a2: af 91 pop r26 + a4: 9f 91 pop r25 + a6: 8f 91 pop r24 + a8: 7f 91 pop r23 + aa: 6f 91 pop r22 + ac: 5f 91 pop r21 + ae: 4f 91 pop r20 + b0: 3f 91 pop r19 + b2: 2f 91 pop r18 + b4: 0f 90 pop r0 + b6: 0f be out 0x3f, r0 ; 63 + b8: 0f 90 pop r0 + ba: 1f 90 pop r1 + bc: 18 95 reti + +000000be
: + +int main (void) { + cli(); + be: f8 94 cli + DDRB |= (1< + ea: 00 c0 rjmp .+0 ; 0xec + ec: 00 00 nop + _delay_ms(20); + PORTB &= ~(1< + fe: 00 c0 rjmp .+0 ; 0x100 + 100: 00 00 nop + 102: ed cf rjmp .-38 ; 0xde + +00000104 : + 104: 07 c0 rjmp .+14 ; 0x114 + 106: ef e5 ldi r30, 0x5F ; 95 + 108: f9 e0 ldi r31, 0x09 ; 9 + 10a: 31 97 sbiw r30, 0x01 ; 1 + 10c: f1 f7 brne .-4 ; 0x10a + 10e: 00 c0 rjmp .+0 ; 0x110 + 110: 00 00 nop + 112: 81 50 subi r24, 0x01 ; 1 + 114: 88 23 and r24, r24 + 116: b9 f7 brne .-18 ; 0x106 + 118: 08 95 ret + +0000011a : + 11a: 07 c0 rjmp .+14 ; 0x12a + 11c: ef e5 ldi r30, 0x5F ; 95 + 11e: f9 e0 ldi r31, 0x09 ; 9 + 120: 31 97 sbiw r30, 0x01 ; 1 + 122: f1 f7 brne .-4 ; 0x120 + 124: 00 c0 rjmp .+0 ; 0x126 + 126: 00 00 nop + 128: 01 97 sbiw r24, 0x01 ; 1 + 12a: 00 97 sbiw r24, 0x00 ; 0 + 12c: b9 f7 brne .-18 ; 0x11c + 12e: 08 95 ret + +00000130 : + 130: 05 c0 rjmp .+10 ; 0x13c + #else + //round up by default + __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); + #endif + + __builtin_avr_delay_cycles(__ticks_dc); + 132: 93 e0 ldi r25, 0x03 ; 3 + 134: 9a 95 dec r25 + 136: f1 f7 brne .-4 ; 0x134 + 138: 00 00 nop + 13a: 81 50 subi r24, 0x01 ; 1 + 13c: 88 23 and r24, r24 + 13e: c9 f7 brne .-14 ; 0x132 + 140: 08 95 ret + +00000142 : + 142: 05 c0 rjmp .+10 ; 0x14e + 144: 23 e0 ldi r18, 0x03 ; 3 + 146: 2a 95 dec r18 + 148: f1 f7 brne .-4 ; 0x146 + 14a: 00 00 nop + 14c: 01 97 sbiw r24, 0x01 ; 1 + 14e: 00 97 sbiw r24, 0x00 ; 0 + 150: c9 f7 brne .-14 ; 0x144 + 152: 08 95 ret + +00000154 <__mulhi3>: + 154: 55 27 eor r21, r21 + 156: 00 24 eor r0, r0 + +00000158 <__mulhi3_loop>: + 158: 80 ff sbrs r24, 0 + 15a: 02 c0 rjmp .+4 ; 0x160 <__mulhi3_skip1> + 15c: 06 0e add r0, r22 + 15e: 57 1f adc r21, r23 + +00000160 <__mulhi3_skip1>: + 160: 66 0f add r22, r22 + 162: 77 1f adc r23, r23 + 164: 61 15 cp r22, r1 + 166: 71 05 cpc r23, r1 + 168: 21 f0 breq .+8 ; 0x172 <__mulhi3_exit> + 16a: 96 95 lsr r25 + 16c: 87 95 ror r24 + 16e: 00 97 sbiw r24, 0x00 ; 0 + 170: 99 f7 brne .-26 ; 0x158 <__mulhi3_loop> + +00000172 <__mulhi3_exit>: + 172: 95 2f mov r25, r21 + 174: 80 2d mov r24, r0 + 176: 08 95 ret + +00000178 <_exit>: + 178: f8 94 cli + +0000017a <__stop_program>: + 17a: ff cf rjmp .-2 ; 0x17a <__stop_program> diff --git a/V3/default/Zeitschaltung.map b/V3/default/Zeitschaltung.map new file mode 100644 index 0000000..2707d3f --- /dev/null +++ b/V3/default/Zeitschaltung.map @@ -0,0 +1,369 @@ +Archive member included because of file (symbol) + +e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_mulhi3.o) + Zeitschaltung.o (__mulhi3) +e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn13.o (exit) + +Memory Configuration + +Name Origin Length Attributes +text 0x00000000 0x00002000 xr +data 0x00800060 0x0000ffa0 rw !x +eeprom 0x00810000 0x00010000 rw !x +fuse 0x00820000 0x00000400 rw !x +lock 0x00830000 0x00000400 rw !x +signature 0x00840000 0x00000400 rw !x +*default* 0x00000000 0xffffffff + +Linker script and memory map + +LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn13.o +LOAD Zeitschaltung.o +LOAD sleep.o +LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a +LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25\libc.a +LOAD e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a + +.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 0x17c + *(.vectors) + .vectors 0x00000000 0x14 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn13.o + 0x00000000 __vector_default + 0x00000000 __vectors + *(.vectors) + *(.progmem.gcc*) + *(.progmem*) + 0x00000014 . = ALIGN (0x2) + 0x00000014 __trampolines_start = . + *(.trampolines) + .trampolines 0x00000014 0x0 linker stubs + *(.trampolines*) + 0x00000014 __trampolines_end = . + *(.jumptables) + *(.jumptables*) + *(.lowtext) + *(.lowtext*) + 0x00000014 __ctors_start = . + *(.ctors) + 0x00000014 __ctors_end = . + 0x00000014 __dtors_start = . + *(.dtors) + 0x00000014 __dtors_end = . + SORT(*)(.ctors) + SORT(*)(.dtors) + *(.init0) + .init0 0x00000014 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn13.o + 0x00000014 __init + *(.init0) + *(.init1) + *(.init1) + *(.init2) + .init2 0x00000014 0x8 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn13.o + *(.init2) + *(.init3) + *(.init3) + *(.init4) + *(.init4) + *(.init5) + *(.init5) + *(.init6) + *(.init6) + *(.init7) + *(.init7) + *(.init8) + *(.init8) + *(.init9) + .init9 0x0000001c 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn13.o + *(.init9) + *(.text) + .text 0x00000020 0x2 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn13.o + 0x00000020 __bad_interrupt + 0x00000020 __vector_6 + 0x00000020 __vector_3 + 0x00000020 __vector_7 + 0x00000020 __vector_5 + 0x00000020 __vector_4 + 0x00000020 __vector_9 + 0x00000020 __vector_2 + 0x00000020 __vector_8 + .text 0x00000022 0xe2 Zeitschaltung.o + 0x00000022 adc_schlafen + 0x00000044 mosfet_an + 0x0000004e __vector_1 + 0x000000be main + .text 0x00000104 0x50 sleep.o + 0x00000104 sleep + 0x0000011a sleep_long + 0x00000130 usleep + 0x00000142 usleep_long + .text 0x00000154 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_mulhi3.o) + .text 0x00000154 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + 0x00000154 . = ALIGN (0x2) + *(.text.*) + .text.libgcc 0x00000154 0x24 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_mulhi3.o) + 0x00000154 __mulhi3 + .text.libgcc 0x00000178 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + 0x00000178 . = ALIGN (0x2) + *(.fini9) + .fini9 0x00000178 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + 0x00000178 _exit + 0x00000178 exit + *(.fini9) + *(.fini8) + *(.fini8) + *(.fini7) + *(.fini7) + *(.fini6) + *(.fini6) + *(.fini5) + *(.fini5) + *(.fini4) + *(.fini4) + *(.fini3) + *(.fini3) + *(.fini2) + *(.fini2) + *(.fini1) + *(.fini1) + *(.fini0) + .fini0 0x00000178 0x4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + *(.fini0) + 0x0000017c _etext = . + +.data 0x00800060 0x0 load address 0x0000017c + 0x00800060 PROVIDE (__data_start, .) + *(.data) + .data 0x00800060 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn13.o + .data 0x00800060 0x0 Zeitschaltung.o + .data 0x00800060 0x0 sleep.o + .data 0x00800060 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_mulhi3.o) + .data 0x00800060 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + *(.data*) + *(.rodata) + *(.rodata*) + *(.gnu.linkonce.d*) + 0x00800060 . = ALIGN (0x2) + 0x00800060 _edata = . + 0x00800060 PROVIDE (__data_end, .) + +.bss 0x00800060 0x0 + 0x00800060 PROVIDE (__bss_start, .) + *(.bss) + .bss 0x00800060 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn13.o + .bss 0x00800060 0x0 Zeitschaltung.o + .bss 0x00800060 0x0 sleep.o + .bss 0x00800060 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_mulhi3.o) + .bss 0x00800060 0x0 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/avr25\libgcc.a(_exit.o) + *(.bss*) + *(COMMON) + 0x00800060 PROVIDE (__bss_end, .) + 0x0000017c __data_load_start = LOADADDR (.data) + 0x0000017c __data_load_end = (__data_load_start + SIZEOF (.data)) + +.noinit 0x00800060 0x0 + 0x00800060 PROVIDE (__noinit_start, .) + *(.noinit*) + 0x00800060 PROVIDE (__noinit_end, .) + 0x00800060 _end = . + 0x00800060 PROVIDE (__heap_start, .) + +.eeprom 0x00810000 0x0 + *(.eeprom*) + 0x00810000 __eeprom_end = . + +.fuse + *(.fuse) + *(.lfuse) + *(.hfuse) + *(.efuse) + +.lock + *(.lock*) + +.signature + *(.signature*) + +.stab 0x00000000 0x6b4 + *(.stab) + .stab 0x00000000 0x6b4 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn13.o + +.stabstr 0x00000000 0x85 + *(.stabstr) + .stabstr 0x00000000 0x85 e:/programme/avr toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/lib/avr25/crttn13.o + +.stab.excl + *(.stab.excl) + +.stab.exclstr + *(.stab.exclstr) + +.stab.index + *(.stab.index) + +.stab.indexstr + *(.stab.indexstr) + +.comment + *(.comment) + +.debug + *(.debug) + +.line + *(.line) + +.debug_srcinfo + *(.debug_srcinfo) + +.debug_sfnames + *(.debug_sfnames) + +.debug_aranges 0x00000000 0x40 + *(.debug_aranges) + .debug_aranges + 0x00000000 0x20 Zeitschaltung.o + .debug_aranges + 0x00000020 0x20 sleep.o + +.debug_pubnames + 0x00000000 0x8f + *(.debug_pubnames) + .debug_pubnames + 0x00000000 0x49 Zeitschaltung.o + .debug_pubnames + 0x00000049 0x46 sleep.o + +.debug_info 0x00000000 0x59f + *(.debug_info) + .debug_info 0x00000000 0x28f Zeitschaltung.o + .debug_info 0x0000028f 0x310 sleep.o + *(.gnu.linkonce.wi.*) + +.debug_abbrev 0x00000000 0x262 + *(.debug_abbrev) + .debug_abbrev 0x00000000 0x167 Zeitschaltung.o + .debug_abbrev 0x00000167 0xfb sleep.o + +.debug_line 0x00000000 0x441 + *(.debug_line) + .debug_line 0x00000000 0x252 Zeitschaltung.o + .debug_line 0x00000252 0x1ef sleep.o + +.debug_frame 0x00000000 0xa0 + *(.debug_frame) + .debug_frame 0x00000000 0x50 Zeitschaltung.o + .debug_frame 0x00000050 0x50 sleep.o + +.debug_str 0x00000000 0x187 + *(.debug_str) + .debug_str 0x00000000 0x11a Zeitschaltung.o + 0x154 (size before relaxing) + .debug_str 0x0000011a 0x6d sleep.o + 0x164 (size before relaxing) + +.debug_loc 0x00000000 0x1f1 + *(.debug_loc) + .debug_loc 0x00000000 0x51 Zeitschaltung.o + .debug_loc 0x00000051 0x1a0 sleep.o + +.debug_macinfo + *(.debug_macinfo) +OUTPUT(Zeitschaltung.elf elf32-avr) +LOAD linker stubs + +.debug_pubtypes + 0x00000000 0x70 + .debug_pubtypes + 0x00000000 0x38 Zeitschaltung.o + .debug_pubtypes + 0x00000038 0x38 sleep.o diff --git a/V3/default/dep/Zeitschaltung.o.d b/V3/default/dep/Zeitschaltung.o.d new file mode 100644 index 0000000..59e6d0c --- /dev/null +++ b/V3/default/dep/Zeitschaltung.o.d @@ -0,0 +1,49 @@ +Zeitschaltung.o: ../Zeitschaltung.c \ + e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/io.h \ + e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/sfr_defs.h \ + e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/inttypes.h \ + e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/include/stdint.h \ + e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/stdint.h \ + e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/iotn13.h \ + e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/portpins.h \ + e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/common.h \ + e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/version.h \ + 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/avr/interrupt.h \ + e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/sleep.h \ + ../sleep.h + +e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/io.h: + +e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/sfr_defs.h: + +e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/inttypes.h: + +e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/include/stdint.h: + +e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/stdint.h: + +e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/iotn13.h: + +e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/portpins.h: + +e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/common.h: + +e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/version.h: + +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/avr/interrupt.h: + +e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/sleep.h: + +../sleep.h: diff --git a/V3/default/dep/sleep.o.d b/V3/default/dep/sleep.o.d new file mode 100644 index 0000000..f1ab6d3 --- /dev/null +++ b/V3/default/dep/sleep.o.d @@ -0,0 +1,18 @@ +sleep.o: ../sleep.c ../sleep.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/inttypes.h \ + e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/include/stdint.h \ + e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/stdint.h \ + e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay_basic.h + +../sleep.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/inttypes.h: + +e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/include/stdint.h: + +e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/stdint.h: + +e:\programme\avr\ toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay_basic.h: diff --git a/V3/sleep.c b/V3/sleep.c new file mode 100644 index 0000000..45f28a5 --- /dev/null +++ b/V3/sleep.c @@ -0,0 +1,39 @@ +#include "sleep.h" + +#include + +void sleep(char ms) //8bit +{ + while(ms > 0) + { + _delay_ms(1); + ms--; + } +} + +void sleep_long(uint16_t ms) //16bit +{ + while(ms > 0) + { + _delay_ms(1); + ms--; + } +} + +void usleep(char us) //8bit +{ + while(us > 0) + { + _delay_us(1); + us--; + } +} + +void usleep_long(unsigned short int us) //16bit +{ + while(us > 0) + { + _delay_us(1); + us--; + } +} diff --git a/V3/sleep.h b/V3/sleep.h new file mode 100644 index 0000000..d1d11b2 --- /dev/null +++ b/V3/sleep.h @@ -0,0 +1,13 @@ +#ifndef _SLEEP_H_ +#define _SLEEP_H_ + +#include + +void usleep(char ms); //8bit +void usleep_long(unsigned short int ms); //16bit + +void sleep(char ms); //8bit +void sleep_long(uint16_t ms); //16bit + + +#endif diff --git a/V3/zeitschaltung.aws b/V3/zeitschaltung.aws new file mode 100644 index 0000000..e5d7854 --- /dev/null +++ b/V3/zeitschaltung.aws @@ -0,0 +1 @@ + diff --git a/V4/Attiny13.T3000 b/V4/Attiny13.T3000 new file mode 100644 index 0000000000000000000000000000000000000000..12d4606dafa2870262b0c1f6e924cbe15c55de48 GIT binary patch literal 35764 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