diff --git a/V2/Fernsteuerung-Layout.png b/V2/Fernsteuerung-Layout.png new file mode 100644 index 0000000..3131678 Binary files /dev/null and b/V2/Fernsteuerung-Layout.png differ diff --git a/V2/Fernsteuerung-Layout.tiff b/V2/Fernsteuerung-Layout.tiff new file mode 100644 index 0000000..3061acb Binary files /dev/null and b/V2/Fernsteuerung-Layout.tiff differ diff --git a/V2/Programm/Programm.atsln b/V2/Programm/Programm.atsln new file mode 100644 index 0000000..d82a054 --- /dev/null +++ b/V2/Programm/Programm.atsln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Atmel Studio Solution File, Format Version 11.00 +Project("{E66E83B9-2572-4076-B26E-6BE79FF3018A}") = "Programm", "Programm\Programm.cppproj", "{64AA9752-989D-4097-9918-3721E24BA4FC}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|AVR = Debug|AVR + Release|AVR = Release|AVR + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {64AA9752-989D-4097-9918-3721E24BA4FC}.Debug|AVR.ActiveCfg = Debug|AVR + {64AA9752-989D-4097-9918-3721E24BA4FC}.Debug|AVR.Build.0 = Debug|AVR + {64AA9752-989D-4097-9918-3721E24BA4FC}.Release|AVR.ActiveCfg = Release|AVR + {64AA9752-989D-4097-9918-3721E24BA4FC}.Release|AVR.Build.0 = Release|AVR + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/V2/Programm/Programm.atsuo b/V2/Programm/Programm.atsuo new file mode 100644 index 0000000..f1cf4af Binary files /dev/null and b/V2/Programm/Programm.atsuo differ diff --git a/V2/Programm/Programm/Debug/Makefile b/V2/Programm/Programm/Debug/Makefile new file mode 100644 index 0000000..c6ebb2d --- /dev/null +++ b/V2/Programm/Programm/Debug/Makefile @@ -0,0 +1,128 @@ +################################################################################ +# 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:= + +# Every subdirectory with source files must be described here +SUBDIRS := \ +../io \ +../io/hardware + + +# Add inputs and outputs from these tool invocations to the build variables +C_SRCS += \ +../Programm.cpp + + +PREPROCESSING_SRCS += + + +ASM_SRCS += + + +OBJS += \ +Programm.o + + +OBJS_AS_ARGS += \ +Programm.o + + +C_DEPS += \ +Programm.d + + +C_DEPS_AS_ARGS += \ +Programm.d + + +OUTPUT_FILE_PATH +=Programm.elf + +OUTPUT_FILE_PATH_AS_ARGS +=Programm.elf + +ADDITIONAL_DEPENDENCIES:= + +OUTPUT_FILE_DEP:= ./makedep.mk + +LIB_DEP+= + +# AVR32/GNU C Compiler + + + +./%.o: .././%.cpp + @echo Building file: $< + @echo Invoking: AVR8/GNU C++ Compiler : + $(QUOTE)C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-g++.exe$(QUOTE) -funsigned-char -funsigned-bitfields -DDEBUG -O1 -ffunction-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega2560 -c -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) + @echo Building target: $@ + @echo Invoking: AVR8/GNU Linker : + $(QUOTE)C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-g++.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="Programm.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=atmega2560 + @echo Finished building target: $@ + "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature "Programm.elf" "Programm.hex" + "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\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 "Programm.elf" "Programm.eep" || exit 0 + "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "Programm.elf" > "Programm.lss" + "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature "Programm.elf" "Programm.srec" + "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-size.exe" "Programm.elf" + + + + + + +# Other Targets +clean: + -$(RM) $(OBJS_AS_ARGS)$(C_DEPS_AS_ARGS) $(EXECUTABLES) + rm -rf "Programm.elf" "Programm.a" "Programm.hex" "Programm.lss" "Programm.eep" "Programm.map" "Programm.srec" + \ No newline at end of file diff --git a/V2/Programm/Programm/Debug/Programm.d b/V2/Programm/Programm/Debug/Programm.d new file mode 100644 index 0000000..b637bce --- /dev/null +++ b/V2/Programm/Programm/Debug/Programm.d @@ -0,0 +1,58 @@ +Programm.d Programm.o: .././Programm.cpp .././peripheral.h \ + .././io/hardware/portb.hpp \ + c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h \ + c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/sfr_defs.h \ + c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/inttypes.h \ + c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdint.h \ + c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdint.h \ + c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/iom2560.h \ + c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/iomxx0_1.h \ + c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/portpins.h \ + c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/common.h \ + c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h \ + c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h \ + c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h \ + .././io/hardware/porth.hpp .././io/Led.hpp .././io/hardware/pin.hpp \ + c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h \ + c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay_basic.h \ + c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/math.h + +.././peripheral.h: + +.././io/hardware/portb.hpp: + +c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h: + +c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/sfr_defs.h: + +c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/inttypes.h: + +c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdint.h: + +c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdint.h: + +c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/iom2560.h: + +c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/iomxx0_1.h: + +c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/portpins.h: + +c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/common.h: + +c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h: + +c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h: + +c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h: + +.././io/hardware/porth.hpp: + +.././io/Led.hpp: + +.././io/hardware/pin.hpp: + +c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h: + +c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay_basic.h: + +c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/math.h: diff --git a/V2/Programm/Programm/Debug/Programm.eep b/V2/Programm/Programm/Debug/Programm.eep new file mode 100644 index 0000000..1996e8f --- /dev/null +++ b/V2/Programm/Programm/Debug/Programm.eep @@ -0,0 +1 @@ +:00000001FF diff --git a/V2/Programm/Programm/Debug/Programm.elf b/V2/Programm/Programm/Debug/Programm.elf new file mode 100644 index 0000000..0a441de Binary files /dev/null and b/V2/Programm/Programm/Debug/Programm.elf differ diff --git a/V2/Programm/Programm/Debug/Programm.hex b/V2/Programm/Programm/Debug/Programm.hex new file mode 100644 index 0000000..f65cbf1 --- /dev/null +++ b/V2/Programm/Programm/Debug/Programm.hex @@ -0,0 +1,31 @@ +:100000000C9475000C9499000C9499000C94990030 +:100010000C9499000C9499000C9499000C949900FC +:100020000C9499000C9499000C9499000C949900EC +:100030000C9499000C9499000C9499000C949900DC +:100040000C9499000C9499000C9499000C949900CC +:100050000C9499000C9499000C9499000C949900BC +:100060000C9499000C9499000C9499000C949900AC +:100070000C9499000C9499000C9499000C9499009C +:100080000C9499000C9499000C9499000C9499008C +:100090000C9499000C9499000C9499000C9499007C +:1000A0000C9499000C9499000C9499000C9499006C +:1000B0000C9499000C9499000C9499000C9499005C +:1000C0000C9499000C9499000C9499000C9499004C +:1000D0000C9499000C9499000C9499000C9499003C +:1000E0000C9499000C94D600D60011241FBECFEFBB +:1000F000D1E2DEBFCDBF00E00CBF22E0A0E0B2E065 +:1001000001C01D92A030B207E1F710E0CAEED0E0C6 +:1001100000E006C022970109FE010BBF0E94E90022 +:10012000C83ED10780E00807A9F70E949B000C9405 +:10013000ED000C940000E2E0F1E0289A2FEF83E25A +:1001400094EF215080409040E1F700C000002898D3 +:100150008081806480832FEF83ED90E32150804085 +:100160009040E1F700C0000080818F7B8083808118 +:10017000806280832FEF83E294EF21508040904093 +:10018000E1F700C000008081806480832FEF83ED61 +:1001900090E3215080409040E1F700C00000808152 +:1001A0008F7B808380818F7D8083C7CFA1E0B1E08A +:1001B0008C9180628C93E2E0F1E080818F7D80837E +:1001C000209A28988C9180648C9380818F7B808387 +:0E01D00008950790F691E02D1994F894FFCF52 +:00000001FF diff --git a/V2/Programm/Programm/Debug/Programm.lss b/V2/Programm/Programm/Debug/Programm.lss new file mode 100644 index 0000000..efe17e1 --- /dev/null +++ b/V2/Programm/Programm/Debug/Programm.lss @@ -0,0 +1,370 @@ + +Programm.elf: file format elf32-avr + +Sections: +Idx Name Size VMA LMA File off Algn + 0 .data 00000000 00800200 000001de 00000252 2**0 + CONTENTS, ALLOC, LOAD, DATA + 1 .text 000001de 00000000 00000000 00000074 2**1 + CONTENTS, ALLOC, LOAD, READONLY, CODE + 2 .stab 000006e4 00000000 00000000 00000254 2**2 + CONTENTS, READONLY, DEBUGGING + 3 .stabstr 00000082 00000000 00000000 00000938 2**0 + CONTENTS, READONLY, DEBUGGING + 4 .comment 0000002f 00000000 00000000 000009ba 2**0 + CONTENTS, READONLY + 5 .debug_aranges 00000028 00000000 00000000 000009e9 2**0 + CONTENTS, READONLY, DEBUGGING + 6 .debug_info 00000ee2 00000000 00000000 00000a11 2**0 + CONTENTS, READONLY, DEBUGGING + 7 .debug_abbrev 000002e1 00000000 00000000 000018f3 2**0 + CONTENTS, READONLY, DEBUGGING + 8 .debug_line 000002cd 00000000 00000000 00001bd4 2**0 + CONTENTS, READONLY, DEBUGGING + 9 .debug_frame 00000034 00000000 00000000 00001ea4 2**2 + CONTENTS, READONLY, DEBUGGING + 10 .debug_str 00000693 00000000 00000000 00001ed8 2**0 + CONTENTS, READONLY, DEBUGGING + 11 .debug_loc 000000f0 00000000 00000000 0000256b 2**0 + CONTENTS, READONLY, DEBUGGING + 12 .debug_ranges 00000060 00000000 00000000 0000265b 2**0 + CONTENTS, READONLY, DEBUGGING + +Disassembly of section .text: + +00000000 <__vectors>: + 0: 0c 94 75 00 jmp 0xea ; 0xea <__ctors_end> + 4: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 8: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + c: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 10: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 14: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 18: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 1c: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 20: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 24: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 28: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 2c: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 30: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 34: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 38: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 3c: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 40: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 44: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 48: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 4c: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 50: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 54: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 58: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 5c: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 60: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 64: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 68: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 6c: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 70: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 74: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 78: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 7c: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 80: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 84: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 88: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 8c: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 90: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 94: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 98: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + 9c: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + a0: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + a4: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + a8: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + ac: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + b0: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + b4: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + b8: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + bc: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + c0: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + c4: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + c8: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + cc: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + d0: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + d4: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + d8: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + dc: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + e0: 0c 94 99 00 jmp 0x132 ; 0x132 <__bad_interrupt> + +000000e4 <__trampolines_start>: + e4: 0c 94 d6 00 jmp 0x1ac ; 0x1ac <_GLOBAL__sub_I_rot> + +000000e8 <__ctors_start>: + e8: d6 00 .word 0x00d6 ; ???? + +000000ea <__ctors_end>: + ea: 11 24 eor r1, r1 + ec: 1f be out 0x3f, r1 ; 63 + ee: cf ef ldi r28, 0xFF ; 255 + f0: d1 e2 ldi r29, 0x21 ; 33 + f2: de bf out 0x3e, r29 ; 62 + f4: cd bf out 0x3d, r28 ; 61 + f6: 00 e0 ldi r16, 0x00 ; 0 + f8: 0c bf out 0x3c, r16 ; 60 + +000000fa <__do_clear_bss>: + fa: 22 e0 ldi r18, 0x02 ; 2 + fc: a0 e0 ldi r26, 0x00 ; 0 + fe: b2 e0 ldi r27, 0x02 ; 2 + 100: 01 c0 rjmp .+2 ; 0x104 <.do_clear_bss_start> + +00000102 <.do_clear_bss_loop>: + 102: 1d 92 st X+, r1 + +00000104 <.do_clear_bss_start>: + 104: a0 30 cpi r26, 0x00 ; 0 + 106: b2 07 cpc r27, r18 + 108: e1 f7 brne .-8 ; 0x102 <.do_clear_bss_loop> + +0000010a <__do_global_ctors>: + 10a: 10 e0 ldi r17, 0x00 ; 0 + 10c: ca ee ldi r28, 0xEA ; 234 + 10e: d0 e0 ldi r29, 0x00 ; 0 + 110: 00 e0 ldi r16, 0x00 ; 0 + 112: 06 c0 rjmp .+12 ; 0x120 <__do_global_ctors+0x16> + 114: 22 97 sbiw r28, 0x02 ; 2 + 116: 01 09 sbc r16, r1 + 118: fe 01 movw r30, r28 + 11a: 0b bf out 0x3b, r16 ; 59 + 11c: 0e 94 e9 00 call 0x1d2 ; 0x1d2 <__tablejump_elpm__> + 120: c8 3e cpi r28, 0xE8 ; 232 + 122: d1 07 cpc r29, r17 + 124: 80 e0 ldi r24, 0x00 ; 0 + 126: 08 07 cpc r16, r24 + 128: a9 f7 brne .-22 ; 0x114 <__do_global_ctors+0xa> + 12a: 0e 94 9b 00 call 0x136 ; 0x136
+ 12e: 0c 94 ed 00 jmp 0x1da ; 0x1da <_exit> + +00000132 <__bad_interrupt>: + 132: 0c 94 00 00 jmp 0 ; 0x0 <__vectors> + +00000136
: + +namespace avrlib { + + struct porth + { + static uint8_t port() { return PORTH; } + 136: e2 e0 ldi r30, 0x02 ; 2 + 138: f1 e0 ldi r31, 0x01 ; 1 +namespace avrlib { + + struct portb + { + static uint8_t port() { return PORTB; } + static void port(uint8_t v) { PORTB = v; } + 13a: 28 9a sbi 0x05, 0 ; 5 + #else + //round up by default + __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); + #endif + + __builtin_avr_delay_cycles(__ticks_dc); + 13c: 2f ef ldi r18, 0xFF ; 255 + 13e: 83 e2 ldi r24, 0x23 ; 35 + 140: 94 ef ldi r25, 0xF4 ; 244 + 142: 21 50 subi r18, 0x01 ; 1 + 144: 80 40 sbci r24, 0x00 ; 0 + 146: 90 40 sbci r25, 0x00 ; 0 + 148: e1 f7 brne .-8 ; 0x142 + 14a: 00 c0 rjmp .+0 ; 0x14c + 14c: 00 00 nop + 14e: 28 98 cbi 0x05, 0 ; 5 + 150: 80 81 ld r24, Z + struct pin + { + static void set(bool value = true) + { + if (value) + Port::port(Port::port() | (1< + 164: 00 c0 rjmp .+0 ; 0x166 + 166: 00 00 nop + +namespace avrlib { + + struct porth + { + static uint8_t port() { return PORTH; } + 168: 80 81 ld r24, Z + else + Port::port(Port::port() & ~(1< + 182: 00 c0 rjmp .+0 ; 0x184 + 184: 00 00 nop + +namespace avrlib { + + struct porth + { + static uint8_t port() { return PORTH; } + 186: 80 81 ld r24, Z + 188: 80 64 ori r24, 0x40 ; 64 + static void port(uint8_t v) { PORTH = v; } + 18a: 80 83 st Z, r24 + 18c: 2f ef ldi r18, 0xFF ; 255 + 18e: 83 ed ldi r24, 0xD3 ; 211 + 190: 90 e3 ldi r25, 0x30 ; 48 + 192: 21 50 subi r18, 0x01 ; 1 + 194: 80 40 sbci r24, 0x00 ; 0 + 196: 90 40 sbci r25, 0x00 ; 0 + 198: e1 f7 brne .-8 ; 0x192 + 19a: 00 c0 rjmp .+0 ; 0x19c + 19c: 00 00 nop + +namespace avrlib { + + struct porth + { + static uint8_t port() { return PORTH; } + 19e: 80 81 ld r24, Z + else + Port::port(Port::port() & ~(1< + +000001ac <_GLOBAL__sub_I_rot>: + + static uint8_t pin() { return PINH; } + static void pin(uint8_t v) { PINH = v; } + + static uint8_t dir() { return DDRH; } + 1ac: a1 e0 ldi r26, 0x01 ; 1 + 1ae: b1 e0 ldi r27, 0x01 ; 1 + 1b0: 8c 91 ld r24, X + static bool value() { return (Port::pin() & (1<: + 1d2: 07 90 elpm r0, Z+ + 1d4: f6 91 elpm r31, Z + 1d6: e0 2d mov r30, r0 + 1d8: 19 94 eijmp + +000001da <_exit>: + 1da: f8 94 cli + +000001dc <__stop_program>: + 1dc: ff cf rjmp .-2 ; 0x1dc <__stop_program> diff --git a/V2/Programm/Programm/Debug/Programm.map b/V2/Programm/Programm/Debug/Programm.map new file mode 100644 index 0000000..c912c3d --- /dev/null +++ b/V2/Programm/Programm/Debug/Programm.map @@ -0,0 +1,470 @@ +Archive member included because of file (symbol) + +c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_exit.o) + c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6/crtm2560.o (exit) +c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_clear_bss.o) + Programm.o (__do_clear_bss) +c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_ctors.o) + Programm.o (__do_global_ctors) +c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_tablejump_elpm.o) + c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_ctors.o) (__tablejump_elpm__) + +Discarded input sections + + .bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6/crtm2560.o + .text 0x00000000 0x0 Programm.o + .bss 0x00000000 0x3 Programm.o + .text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_exit.o) + .bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_exit.o) + .text.libgcc.mul + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_exit.o) + .text.libgcc.div + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_exit.o) + .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_exit.o) + .text.libgcc.prologue + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_exit.o) + .text.libgcc.builtins + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_exit.o) + .text.libgcc.fmul + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_exit.o) + .text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_clear_bss.o) + .bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_clear_bss.o) + .text.libgcc.mul + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_clear_bss.o) + .text.libgcc.div + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_clear_bss.o) + .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_clear_bss.o) + .text.libgcc.prologue + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_clear_bss.o) + .text.libgcc.builtins + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_clear_bss.o) + .text.libgcc.fmul + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_clear_bss.o) + .text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_ctors.o) + .bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_ctors.o) + .text.libgcc.mul + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_ctors.o) + .text.libgcc.div + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_ctors.o) + .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_ctors.o) + .text.libgcc.prologue + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_ctors.o) + .text.libgcc.builtins + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_ctors.o) + .text.libgcc.fmul + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_ctors.o) + .text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_tablejump_elpm.o) + .bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_tablejump_elpm.o) + .text.libgcc.mul + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_tablejump_elpm.o) + .text.libgcc.div + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_tablejump_elpm.o) + .text.libgcc.prologue + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_tablejump_elpm.o) + .text.libgcc.builtins + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_tablejump_elpm.o) + .text.libgcc.fmul + 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_tablejump_elpm.o) + +Memory Configuration + +Name Origin Length Attributes +text 0x00000000 0x00100000 xr +data 0x00800200 0x0000fe00 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 0x800200 +LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6/crtm2560.o +LOAD Programm.o +START GROUP +LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libm.a +END GROUP +LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a +LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libm.a +LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a +LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6\libc.a +LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\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 0x1de + *(.vectors) + .vectors 0x00000000 0xe4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6/crtm2560.o + 0x00000000 __vector_default + 0x00000000 __vectors + *(.vectors) + *(.progmem.gcc*) + *(.progmem*) + 0x000000e4 . = ALIGN (0x2) + 0x000000e4 __trampolines_start = . + *(.trampolines) + .trampolines 0x000000e4 0x4 linker stubs + *(.trampolines*) + 0x000000e8 __trampolines_end = . + *(.jumptables) + *(.jumptables*) + *(.lowtext) + *(.lowtext*) + 0x000000e8 __ctors_start = . + *(.ctors) + .ctors 0x000000e8 0x2 Programm.o + 0x000000ea __ctors_end = . + 0x000000ea __dtors_start = . + *(.dtors) + 0x000000ea __dtors_end = . + SORT(*)(.ctors) + SORT(*)(.dtors) + *(.init0) + .init0 0x000000ea 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6/crtm2560.o + 0x000000ea __init + *(.init0) + *(.init1) + *(.init1) + *(.init2) + .init2 0x000000ea 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6/crtm2560.o + *(.init2) + *(.init3) + *(.init3) + *(.init4) + .init4 0x000000fa 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_clear_bss.o) + 0x000000fa __do_clear_bss + *(.init4) + *(.init5) + *(.init5) + *(.init6) + .init6 0x0000010a 0x20 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_ctors.o) + 0x0000010a __do_global_ctors + *(.init6) + *(.init7) + *(.init7) + *(.init8) + *(.init8) + *(.init9) + .init9 0x0000012a 0x8 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6/crtm2560.o + *(.init9) + *(.text) + .text 0x00000132 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6/crtm2560.o + 0x00000132 __vector_38 + 0x00000132 __vector_22 + 0x00000132 __vector_28 + 0x00000132 __vector_1 + 0x00000132 __vector_32 + 0x00000132 __vector_34 + 0x00000132 __vector_24 + 0x00000132 __vector_12 + 0x00000132 __vector_55 + 0x00000132 __vector_46 + 0x00000132 __bad_interrupt + 0x00000132 __vector_6 + 0x00000132 __vector_31 + 0x00000132 __vector_35 + 0x00000132 __vector_39 + 0x00000132 __vector_3 + 0x00000132 __vector_23 + 0x00000132 __vector_30 + 0x00000132 __vector_45 + 0x00000132 __vector_25 + 0x00000132 __vector_11 + 0x00000132 __vector_54 + 0x00000132 __vector_13 + 0x00000132 __vector_17 + 0x00000132 __vector_19 + 0x00000132 __vector_56 + 0x00000132 __vector_7 + 0x00000132 __vector_49 + 0x00000132 __vector_41 + 0x00000132 __vector_43 + 0x00000132 __vector_27 + 0x00000132 __vector_5 + 0x00000132 __vector_33 + 0x00000132 __vector_47 + 0x00000132 __vector_52 + 0x00000132 __vector_37 + 0x00000132 __vector_4 + 0x00000132 __vector_44 + 0x00000132 __vector_51 + 0x00000132 __vector_9 + 0x00000132 __vector_2 + 0x00000132 __vector_21 + 0x00000132 __vector_15 + 0x00000132 __vector_36 + 0x00000132 __vector_29 + 0x00000132 __vector_40 + 0x00000132 __vector_8 + 0x00000132 __vector_26 + 0x00000132 __vector_48 + 0x00000132 __vector_14 + 0x00000132 __vector_53 + 0x00000132 __vector_10 + 0x00000132 __vector_50 + 0x00000132 __vector_16 + 0x00000132 __vector_18 + 0x00000132 __vector_20 + 0x00000132 __vector_42 + 0x00000136 . = ALIGN (0x2) + *(.text.*) + .text.main 0x00000136 0x76 Programm.o + 0x00000136 main + .text._GLOBAL__sub_I_rot + 0x000001ac 0x26 Programm.o + .text.libgcc 0x000001d2 0x8 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_tablejump_elpm.o) + 0x000001d2 __tablejump_elpm__ + 0x000001da . = ALIGN (0x2) + *(.fini9) + .fini9 0x000001da 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_exit.o) + 0x000001da _exit + 0x000001da exit + *(.fini9) + *(.fini8) + *(.fini8) + *(.fini7) + *(.fini7) + *(.fini6) + *(.fini6) + *(.fini5) + *(.fini5) + *(.fini4) + *(.fini4) + *(.fini3) + *(.fini3) + *(.fini2) + *(.fini2) + *(.fini1) + *(.fini1) + *(.fini0) + .fini0 0x000001da 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_exit.o) + *(.fini0) + 0x000001de _etext = . + +.data 0x00800200 0x0 load address 0x000001de + 0x00800200 PROVIDE (__data_start, .) + *(.data) + .data 0x00800200 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6/crtm2560.o + .data 0x00800200 0x0 Programm.o + .data 0x00800200 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_exit.o) + .data 0x00800200 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_clear_bss.o) + .data 0x00800200 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_ctors.o) + .data 0x00800200 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr6\libgcc.a(_tablejump_elpm.o) + *(.data*) + *(.rodata) + *(.rodata*) + *(.gnu.linkonce.d*) + 0x00800200 . = ALIGN (0x2) + 0x00800200 _edata = . + 0x00800200 PROVIDE (__data_end, .) + +.bss 0x00800200 0x0 + 0x00800200 PROVIDE (__bss_start, .) + *(.bss) + *(.bss*) + *(COMMON) + 0x00800200 PROVIDE (__bss_end, .) + 0x000001de __data_load_start = LOADADDR (.data) + 0x000001de __data_load_end = (__data_load_start + SIZEOF (.data)) + +.noinit 0x00800200 0x0 + 0x00800200 PROVIDE (__noinit_start, .) + *(.noinit*) + 0x00800200 PROVIDE (__noinit_end, .) + 0x00800200 _end = . + 0x00800200 PROVIDE (__heap_start, .) + +.eeprom 0x00810000 0x0 + *(.eeprom*) + 0x00810000 __eeprom_end = . + +.fuse + *(.fuse) + *(.lfuse) + *(.hfuse) + *(.efuse) + +.lock + *(.lock*) + +.signature + *(.signature*) + +.user_signatures + *(.user_signatures*) + +.stab 0x00000000 0x6e4 + *(.stab) + .stab 0x00000000 0x6e4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6/crtm2560.o + +.stabstr 0x00000000 0x82 + *(.stabstr) + .stabstr 0x00000000 0x82 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr6/crtm2560.o + +.stab.excl + *(.stab.excl) + +.stab.exclstr + *(.stab.exclstr) + +.stab.index + *(.stab.index) + +.stab.indexstr + *(.stab.indexstr) + +.comment 0x00000000 0x2f + *(.comment) + .comment 0x00000000 0x2f Programm.o + 0x30 (size before relaxing) + +.debug + *(.debug) + +.line + *(.line) + +.debug_srcinfo + *(.debug_srcinfo) + +.debug_sfnames + *(.debug_sfnames) + +.debug_aranges 0x00000000 0x28 + *(.debug_aranges) + .debug_aranges + 0x00000000 0x28 Programm.o + +.debug_pubnames + *(.debug_pubnames) + +.debug_info 0x00000000 0xee2 + *(.debug_info) + .debug_info 0x00000000 0xee2 Programm.o + *(.gnu.linkonce.wi.*) + +.debug_abbrev 0x00000000 0x2e1 + *(.debug_abbrev) + .debug_abbrev 0x00000000 0x2e1 Programm.o + +.debug_line 0x00000000 0x2cd + *(.debug_line) + .debug_line 0x00000000 0x2cd Programm.o + +.debug_frame 0x00000000 0x34 + *(.debug_frame) + .debug_frame 0x00000000 0x34 Programm.o + +.debug_str 0x00000000 0x693 + *(.debug_str) + .debug_str 0x00000000 0x693 Programm.o + 0x6ce (size before relaxing) + +.debug_loc 0x00000000 0xf0 + *(.debug_loc) + .debug_loc 0x00000000 0xf0 Programm.o + +.debug_macinfo + *(.debug_macinfo) + +.debug_pubtypes + *(.debug_pubtypes) + +.debug_ranges 0x00000000 0x60 + *(.debug_ranges) + .debug_ranges 0x00000000 0x60 Programm.o + +.debug_macro + *(.debug_macro) +OUTPUT(Programm.elf elf32-avr) +LOAD linker stubs diff --git a/V2/Programm/Programm/Debug/Programm.srec b/V2/Programm/Programm/Debug/Programm.srec new file mode 100644 index 0000000..267f6ed --- /dev/null +++ b/V2/Programm/Programm/Debug/Programm.srec @@ -0,0 +1,32 @@ +S010000050726F6772616D6D2E73726563CF +S11300000C9475000C9499000C9499000C9499002C +S11300100C9499000C9499000C9499000C949900F8 +S11300200C9499000C9499000C9499000C949900E8 +S11300300C9499000C9499000C9499000C949900D8 +S11300400C9499000C9499000C9499000C949900C8 +S11300500C9499000C9499000C9499000C949900B8 +S11300600C9499000C9499000C9499000C949900A8 +S11300700C9499000C9499000C9499000C94990098 +S11300800C9499000C9499000C9499000C94990088 +S11300900C9499000C9499000C9499000C94990078 +S11300A00C9499000C9499000C9499000C94990068 +S11300B00C9499000C9499000C9499000C94990058 +S11300C00C9499000C9499000C9499000C94990048 +S11300D00C9499000C9499000C9499000C94990038 +S11300E00C9499000C94D600D60011241FBECFEFB7 +S11300F0D1E2DEBFCDBF00E00CBF22E0A0E0B2E061 +S113010001C01D92A030B207E1F710E0CAEED0E0C2 +S113011000E006C022970109FE010BBF0E94E9001E +S1130120C83ED10780E00807A9F70E949B000C9401 +S1130130ED000C940000E2E0F1E0289A2FEF83E256 +S113014094EF215080409040E1F700C000002898CF +S11301508081806480832FEF83ED90E32150804081 +S11301609040E1F700C0000080818F7B8083808114 +S1130170806280832FEF83E294EF2150804090408F +S1130180E1F700C000008081806480832FEF83ED5D +S113019090E3215080409040E1F700C0000080814E +S11301A08F7B808380818F7D8083C7CFA1E0B1E086 +S11301B08C9180628C93E2E0F1E080818F7D80837A +S11301C0209A28988C9180648C9380818F7B808383 +S11101D008950790F691E02D1994F894FFCF4E +S9030000FC diff --git a/V2/Programm/Programm/Debug/io/hardware/.gitignore b/V2/Programm/Programm/Debug/io/hardware/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/V2/Programm/Programm/Debug/makedep.mk b/V2/Programm/Programm/Debug/makedep.mk new file mode 100644 index 0000000..b9a9020 --- /dev/null +++ b/V2/Programm/Programm/Debug/makedep.mk @@ -0,0 +1,6 @@ +################################################################################ +# Automatically-generated file. Do not edit or delete the file +################################################################################ + +Programm.cpp + diff --git a/V2/Programm/Programm/Programm.cpp b/V2/Programm/Programm/Programm.cpp new file mode 100644 index 0000000..270ac5e --- /dev/null +++ b/V2/Programm/Programm/Programm.cpp @@ -0,0 +1,39 @@ +/* + * Programm.cpp + * + * Created: 11.05.2014 15:32:44 + * Author: netz + */ + +#include "peripheral.h" + +#include + +ledrotclass rot; +ledgruenclass gruen; +ledgelbclass gelb; + +int main(void) +{ + while(1) + { + gruen.on(); + _delay_ms(5000); + gruen.off(); + + gelb.on(); + _delay_ms(1000); + gelb.off(); + + rot.on(); + _delay_ms(5000); + gelb.on(); + + _delay_ms(1000); + gelb.off(); + rot.off(); + + + + } +} \ No newline at end of file diff --git a/V2/Programm/Programm/Programm.cppproj b/V2/Programm/Programm/Programm.cppproj new file mode 100644 index 0000000..eca4b45 --- /dev/null +++ b/V2/Programm/Programm/Programm.cppproj @@ -0,0 +1,177 @@ + + + + 2.0 + 6.1 + com.Atmel.AVRGCC8.CPP + {64aa9752-989d-4097-9918-3721e24ba4fc} + ATmega2560 + none + Executable + CPP + $(MSBuildProjectName) + .elf + $(MSBuildProjectDirectory)\$(Configuration) + Programm + Programm + Programm + Native + true + false + + + 0 + true + 0x20000000 + true + + 0 + + + + + + + + + + + + com.atmel.avrdbg.tool.ispmk2 + ISP + + com.atmel.avrdbg.tool.ispmk2 + AVRISP mkII + 0000000000000 + + 127.0.0.1 + 58799 + False + + + ISP + + 249000 + 1000000 + 250000 + false + false + 0 + 0 + 0 + 0 + + + + + + + + True + True + True + True + True + True + + + NDEBUG + + + Optimize for size (-Os) + True + True + True + True + True + + + NDEBUG + + + Optimize for size (-Os) + True + True + True + + + libm + + + <segmentname>=<address>, for example .boot=0xff + + + + + + + True + True + True + True + True + True + + + DEBUG + + + Optimize (-O1) + True + True + Default (-g2) + True + True + True + + + DEBUG + + + Optimize (-O1) + True + True + Default (-g2) + True + + + libm + + + <segmentname>=<address>, for example .boot=0xff + Default (-Wa,-g) + + + + + + compile + + + compile + + + compile + + + compile + + + compile + + + compile + + + compile + + + compile + + + + + + + + \ No newline at end of file diff --git a/V2/Programm/Programm/io/Led.hpp b/V2/Programm/Programm/io/Led.hpp new file mode 100644 index 0000000..2d35ae8 --- /dev/null +++ b/V2/Programm/Programm/io/Led.hpp @@ -0,0 +1,33 @@ +/* + * Led.h + * + * Created: 03.11.2013 17:11:58 + * Author: BlubbFish + */ + +#ifndef LED_H_ +#define LED_H_ + +#include "hardware/pin.hpp" + +template +class Led { + public: + Led() { + init(); + } + void on() { + led::set(); + } + void off() { + led::clear(); + } + private: + void init() { + led::make_output(); + off(); + } + const typedef avrlib::pin led; +}; + +#endif /* LED_H_ */ \ No newline at end of file diff --git a/V2/Programm/Programm/io/hardware/pin.hpp b/V2/Programm/Programm/io/hardware/pin.hpp new file mode 100644 index 0000000..c14f338 --- /dev/null +++ b/V2/Programm/Programm/io/hardware/pin.hpp @@ -0,0 +1,50 @@ +#ifndef AVRLIB_PIN_HPP +#define AVRLIB_PIN_HPP + +#include + +namespace avrlib { + + template + struct pin + { + static void set(bool value = true) + { + if (value) + Port::port(Port::port() | (1< + +namespace avrlib { + + struct portb + { + static uint8_t port() { return PORTB; } + static void port(uint8_t v) { PORTB = v; } + + static uint8_t pin() { return PINB; } + static void pin(uint8_t v) { PINB = v; } + + static uint8_t dir() { return DDRB; } + static void dir(uint8_t v) { DDRB = v; } + }; + +} + +#endif diff --git a/V2/Programm/Programm/io/hardware/portc.hpp b/V2/Programm/Programm/io/hardware/portc.hpp new file mode 100644 index 0000000..017e95b --- /dev/null +++ b/V2/Programm/Programm/io/hardware/portc.hpp @@ -0,0 +1,22 @@ +#ifndef AVRLIB_PORTC_HPP +#define AVRLIB_PORTC_HPP + +#include + +namespace avrlib { + + struct portc + { + static uint8_t port() { return PORTC; } + static void port(uint8_t v) { PORTC = v; } + + static uint8_t pin() { return PINC; } + static void pin(uint8_t v) { PINC = v; } + + static uint8_t dir() { return DDRC; } + static void dir(uint8_t v) { DDRC = v; } + }; + +} + +#endif diff --git a/V2/Programm/Programm/io/hardware/portd.hpp b/V2/Programm/Programm/io/hardware/portd.hpp new file mode 100644 index 0000000..e045ee5 --- /dev/null +++ b/V2/Programm/Programm/io/hardware/portd.hpp @@ -0,0 +1,22 @@ +#ifndef AVRLIB_PORTD_HPP +#define AVRLIB_PORTD_HPP + +#include + +namespace avrlib { + + struct portd + { + static uint8_t port() { return PORTD; } + static void port(uint8_t v) { PORTD = v; } + + static uint8_t pin() { return PIND; } + static void pin(uint8_t v) { PIND = v; } + + static uint8_t dir() { return DDRD; } + static void dir(uint8_t v) { DDRD = v; } + }; + +} + +#endif diff --git a/V2/Programm/Programm/io/hardware/porth.hpp b/V2/Programm/Programm/io/hardware/porth.hpp new file mode 100644 index 0000000..6bfd25a --- /dev/null +++ b/V2/Programm/Programm/io/hardware/porth.hpp @@ -0,0 +1,22 @@ +#ifndef AVRLIB_PORTH_HPP +#define AVRLIB_PORTH_HPP + +#include + +namespace avrlib { + + struct porth + { + static uint8_t port() { return PORTH; } + static void port(uint8_t v) { PORTH = v; } + + static uint8_t pin() { return PINH; } + static void pin(uint8_t v) { PINH = v; } + + static uint8_t dir() { return DDRH; } + static void dir(uint8_t v) { DDRH = v; } + }; + +} + +#endif diff --git a/V2/Programm/Programm/peripheral.h b/V2/Programm/Programm/peripheral.h new file mode 100644 index 0000000..9db5eaa --- /dev/null +++ b/V2/Programm/Programm/peripheral.h @@ -0,0 +1,33 @@ +/* + * peripheral.h + * + * Created: 11.05.2014 16:22:54 + * Author: netz + */ + + +#ifndef PERIPHERAL_H_ +#define PERIPHERAL_H_ + +#define F_CPU 16000000 + +#include "io/hardware/portb.hpp" +#include "io/hardware/porth.hpp" + +#include "io/Led.hpp" +typedef Led< + avrlib::portb, //LED an PORTB + PINB0 //Grün +> ledgruenclass; +typedef Led< + avrlib::porth, //LED an PORTB + PINH6 //Gelb +> ledgelbclass; +typedef Led< + avrlib::porth, //LED an PORTB + PINH5 //Rot +> ledrotclass; + + + +#endif /* PERIPHERAL_H_ */ \ No newline at end of file