Initial commit

This commit is contained in:
Florian Klemenz 2017-09-25 23:34:02 +02:00
commit 6750a7afc5
21 changed files with 1569 additions and 0 deletions

71
.cproject Normal file
View File

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="de.innot.avreclipse.configuration.app.release.1546082396">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="de.innot.avreclipse.configuration.app.release.1546082396" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildArtefactType="de.innot.avreclipse.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=de.innot.avreclipse.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" id="de.innot.avreclipse.configuration.app.release.1546082396" name="Release" parent="de.innot.avreclipse.configuration.app.release">
<folderInfo id="de.innot.avreclipse.configuration.app.release.1546082396." name="/" resourcePath="">
<toolChain id="de.innot.avreclipse.toolchain.winavr.app.release.227240101" name="AVR-GCC Toolchain" superClass="de.innot.avreclipse.toolchain.winavr.app.release">
<option id="de.innot.avreclipse.toolchain.options.toolchain.objcopy.flash.app.release.2036219103" name="Generate HEX file for Flash memory" superClass="de.innot.avreclipse.toolchain.options.toolchain.objcopy.flash.app.release"/>
<option id="de.innot.avreclipse.toolchain.options.toolchain.objcopy.eeprom.app.release.1633209357" name="Generate HEX file for EEPROM" superClass="de.innot.avreclipse.toolchain.options.toolchain.objcopy.eeprom.app.release"/>
<option id="de.innot.avreclipse.toolchain.options.toolchain.objdump.app.release.220537138" name="Generate Extended Listing (Source + generated Assembler)" superClass="de.innot.avreclipse.toolchain.options.toolchain.objdump.app.release"/>
<option id="de.innot.avreclipse.toolchain.options.toolchain.size.app.release.1724318314" name="Print Size" superClass="de.innot.avreclipse.toolchain.options.toolchain.size.app.release"/>
<option id="de.innot.avreclipse.toolchain.options.toolchain.avrdude.app.release.1637376069" name="AVRDude" superClass="de.innot.avreclipse.toolchain.options.toolchain.avrdude.app.release"/>
<targetPlatform id="de.innot.avreclipse.targetplatform.winavr.app.release.1739197277" name="AVR Cross-Target" superClass="de.innot.avreclipse.targetplatform.winavr.app.release"/>
<builder buildPath="${workspace_loc:/avr-blink}/Release" id="de.innot.avreclipse.target.builder.winavr.app.release.1696841808" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="AVR GNU Make Builder" superClass="de.innot.avreclipse.target.builder.winavr.app.release"/>
<tool id="de.innot.avreclipse.tool.assembler.winavr.app.release.384702023" name="AVR Assembler" superClass="de.innot.avreclipse.tool.assembler.winavr.app.release">
<option id="de.innot.avreclipse.assembler.option.debug.level.871235924" name="Generate Debugging Info" superClass="de.innot.avreclipse.assembler.option.debug.level" value="de.innot.avreclipse.assembler.option.debug.level.none" valueType="enumerated"/>
<inputType id="de.innot.avreclipse.tool.assembler.input.826278966" superClass="de.innot.avreclipse.tool.assembler.input"/>
</tool>
<tool id="de.innot.avreclipse.tool.compiler.winavr.app.release.1061313516" name="AVR Compiler" superClass="de.innot.avreclipse.tool.compiler.winavr.app.release">
<option id="de.innot.avreclipse.compiler.option.debug.level.1305521020" name="Generate Debugging Info" superClass="de.innot.avreclipse.compiler.option.debug.level" value="de.innot.avreclipse.compiler.option.debug.level.none" valueType="enumerated"/>
<option id="de.innot.avreclipse.compiler.option.optimize.1894979385" name="Optimization Level" superClass="de.innot.avreclipse.compiler.option.optimize" value="de.innot.avreclipse.compiler.optimize.size" valueType="enumerated"/>
<inputType id="de.innot.avreclipse.compiler.winavr.input.1985911477" name="C Source Files" superClass="de.innot.avreclipse.compiler.winavr.input"/>
</tool>
<tool id="de.innot.avreclipse.tool.cppcompiler.app.release.1964381913" name="AVR C++ Compiler" superClass="de.innot.avreclipse.tool.cppcompiler.app.release">
<option id="de.innot.avreclipse.cppcompiler.option.debug.level.2046058808" name="Generate Debugging Info" superClass="de.innot.avreclipse.cppcompiler.option.debug.level" value="de.innot.avreclipse.cppcompiler.option.debug.level.none" valueType="enumerated"/>
<option id="de.innot.avreclipse.cppcompiler.option.optimize.223824258" name="Optimization Level" superClass="de.innot.avreclipse.cppcompiler.option.optimize" value="de.innot.avreclipse.cppcompiler.optimize.size" valueType="enumerated"/>
</tool>
<tool id="de.innot.avreclipse.tool.linker.winavr.app.release.674407755" name="AVR C Linker" superClass="de.innot.avreclipse.tool.linker.winavr.app.release">
<inputType id="de.innot.avreclipse.tool.linker.input.2045601914" name="OBJ Files" superClass="de.innot.avreclipse.tool.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="de.innot.avreclipse.tool.cpplinker.app.release.1620735016" name="AVR C++ Linker" superClass="de.innot.avreclipse.tool.cpplinker.app.release"/>
<tool id="de.innot.avreclipse.tool.archiver.winavr.base.333307715" name="AVR Archiver" superClass="de.innot.avreclipse.tool.archiver.winavr.base"/>
<tool id="de.innot.avreclipse.tool.objdump.winavr.app.release.1873143777" name="AVR Create Extended Listing" superClass="de.innot.avreclipse.tool.objdump.winavr.app.release"/>
<tool id="de.innot.avreclipse.tool.objcopy.flash.winavr.app.release.2004208544" name="AVR Create Flash image" superClass="de.innot.avreclipse.tool.objcopy.flash.winavr.app.release"/>
<tool id="de.innot.avreclipse.tool.objcopy.eeprom.winavr.app.release.879077771" name="AVR Create EEPROM image" superClass="de.innot.avreclipse.tool.objcopy.eeprom.winavr.app.release"/>
<tool id="de.innot.avreclipse.tool.size.winavr.app.release.350841576" name="Print Size" superClass="de.innot.avreclipse.tool.size.winavr.app.release"/>
<tool id="de.innot.avreclipse.tool.avrdude.app.release.1795730812" name="AVRDude" superClass="de.innot.avreclipse.tool.avrdude.app.release"/>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="avr-blink.de.innot.avreclipse.project.winavr.elf_2.1.0.819911573" name="AVR Cross Target Application" projectType="de.innot.avreclipse.project.winavr.elf_2.1.0"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="de.innot.avreclipse.configuration.app.release.1546082396;de.innot.avreclipse.configuration.app.release.1546082396.;de.innot.avreclipse.tool.compiler.winavr.app.release.1061313516;de.innot.avreclipse.compiler.winavr.input.1985911477">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="de.innot.avreclipse.core.AVRGCCManagedMakePerProjectProfileC"/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
<storageModule moduleId="refreshScope"/>
</cproject>

27
.project Normal file
View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>avr-lib-led</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
<nature>de.innot.avreclipse.core.avrnature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,28 @@
avrtarget/ClockFrequency=8000000
avrtarget/ExtRAMSize=0
avrtarget/ExtendedRAM=false
avrtarget/MCUType=atmega168p
avrtarget/UseEEPROM=false
avrtarget/UseExtendedRAMforHeap=true
avrtarget/avrdude/BitBangDelay=
avrtarget/avrdude/Bitclock=
avrtarget/avrdude/EEPROMFile=
avrtarget/avrdude/EEPROMFromConfig=true
avrtarget/avrdude/FlashFile=
avrtarget/avrdude/FlashFromConfig=true
avrtarget/avrdude/Fuses/ByteValues=-1\:-1
avrtarget/avrdude/Fuses/FileName=
avrtarget/avrdude/Fuses/MCUid=atmega8
avrtarget/avrdude/Fuses/UseFile=false
avrtarget/avrdude/Fuses/Write=false
avrtarget/avrdude/NoChipErase=false
avrtarget/avrdude/NoSigCheck=true
avrtarget/avrdude/NoVerify=false
avrtarget/avrdude/NoWrite=false
avrtarget/avrdude/OtherOptions=
avrtarget/avrdude/ProgrammerID=programmerconfig.1
avrtarget/avrdude/UseCounter=false
avrtarget/avrdude/WriteEEPROM=false
avrtarget/avrdude/WriteFlash=true
avrtarget/perConfig=false
eclipse.preferences.version=1

434
Release/avr-blink.map Normal file
View File

@ -0,0 +1,434 @@
Archive member included to satisfy reference by file (symbol)
/usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_exit.o)
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr4/crtatmega8.o (exit)
/usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_copy_data.o)
./libs/led/led.o (__do_copy_data)
Memory Configuration
Name Origin Length Attributes
text 0x0000000000000000 0x0000000000002000 xr
data 0x0000000000800060 0x000000000000ffa0 rw !x
eeprom 0x0000000000810000 0x0000000000010000 rw !x
fuse 0x0000000000820000 0x0000000000000400 rw !x
lock 0x0000000000830000 0x0000000000000400 rw !x
signature 0x0000000000840000 0x0000000000000400 rw !x
user_signatures 0x0000000000850000 0x0000000000000400 rw !x
*default* 0x0000000000000000 0xffffffffffffffff
Linker script and memory map
LOAD /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr4/crtatmega8.o
LOAD ./libs/led/led.o
LOAD ./main.o
START GROUP
LOAD /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a
LOAD /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr4/libm.a
LOAD /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr4/libc.a
LOAD /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr4/libatmega8.a
END GROUP
0x0000000000002000 __TEXT_REGION_LENGTH__ = DEFINED (__TEXT_REGION_LENGTH__)?__TEXT_REGION_LENGTH__:0x2000
0x000000000000ffa0 __DATA_REGION_LENGTH__ = DEFINED (__DATA_REGION_LENGTH__)?__DATA_REGION_LENGTH__:0xffa0
0x0000000000010000 __EEPROM_REGION_LENGTH__ = DEFINED (__EEPROM_REGION_LENGTH__)?__EEPROM_REGION_LENGTH__:0x10000
0x0000000000000400 __FUSE_REGION_LENGTH__ = DEFINED (__FUSE_REGION_LENGTH__)?__FUSE_REGION_LENGTH__:0x400
0x0000000000000400 __LOCK_REGION_LENGTH__ = DEFINED (__LOCK_REGION_LENGTH__)?__LOCK_REGION_LENGTH__:0x400
0x0000000000000400 __SIGNATURE_REGION_LENGTH__ = DEFINED (__SIGNATURE_REGION_LENGTH__)?__SIGNATURE_REGION_LENGTH__:0x400
0x0000000000000400 __USER_SIGNATURE_REGION_LENGTH__ = DEFINED (__USER_SIGNATURE_REGION_LENGTH__)?__USER_SIGNATURE_REGION_LENGTH__:0x400
.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 0x0000000000000000 0x150
*(.vectors)
.vectors 0x0000000000000000 0x26 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr4/crtatmega8.o
0x0000000000000000 __vectors
0x0000000000000000 __vector_default
*(.vectors)
*(.progmem.gcc*)
0x0000000000000026 . = ALIGN (0x2)
0x0000000000000026 __trampolines_start = .
*(.trampolines)
.trampolines 0x0000000000000026 0x0 linker stubs
*(.trampolines*)
0x0000000000000026 __trampolines_end = .
*libprintf_flt.a:*(.progmem.data)
*libc.a:*(.progmem.data)
*(.progmem*)
0x0000000000000026 . = ALIGN (0x2)
*(.jumptables)
*(.jumptables*)
*(.lowtext)
*(.lowtext*)
0x0000000000000026 __ctors_start = .
*(.ctors)
0x0000000000000026 __ctors_end = .
0x0000000000000026 __dtors_start = .
*(.dtors)
0x0000000000000026 __dtors_end = .
SORT(*)(.ctors)
SORT(*)(.dtors)
*(.init0)
.init0 0x0000000000000026 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr4/crtatmega8.o
0x0000000000000026 __init
*(.init0)
*(.init1)
*(.init1)
*(.init2)
.init2 0x0000000000000026 0xc /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr4/crtatmega8.o
*(.init2)
*(.init3)
*(.init3)
*(.init4)
.init4 0x0000000000000032 0x16 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_copy_data.o)
0x0000000000000032 __do_copy_data
*(.init4)
*(.init5)
*(.init5)
*(.init6)
*(.init6)
*(.init7)
*(.init7)
*(.init8)
*(.init8)
*(.init9)
.init9 0x0000000000000048 0x4 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr4/crtatmega8.o
*(.init9)
*(.text)
.text 0x000000000000004c 0x2 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr4/crtatmega8.o
0x000000000000004c __vector_1
0x000000000000004c __vector_12
0x000000000000004c __bad_interrupt
0x000000000000004c __vector_6
0x000000000000004c __vector_3
0x000000000000004c __vector_11
0x000000000000004c __vector_13
0x000000000000004c __vector_17
0x000000000000004c __vector_7
0x000000000000004c __vector_5
0x000000000000004c __vector_4
0x000000000000004c __vector_9
0x000000000000004c __vector_2
0x000000000000004c __vector_15
0x000000000000004c __vector_8
0x000000000000004c __vector_14
0x000000000000004c __vector_10
0x000000000000004c __vector_16
0x000000000000004c __vector_18
.text 0x000000000000004e 0x0 ./libs/led/led.o
.text 0x000000000000004e 0x0 ./main.o
.text 0x000000000000004e 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_exit.o)
.text 0x000000000000004e 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_copy_data.o)
0x000000000000004e . = ALIGN (0x2)
*(.text.*)
.text.led_initPorts
0x000000000000004e 0x24 ./libs/led/led.o
0x000000000000004e led_initPorts
.text.led_init
0x0000000000000072 0x6 ./libs/led/led.o
0x0000000000000072 led_init
.text.led_off 0x0000000000000078 0x3e ./libs/led/led.o
0x0000000000000078 led_off
.text.led_on 0x00000000000000b6 0x40 ./libs/led/led.o
0x00000000000000b6 led_on
.text.led_flash
0x00000000000000f6 0x2c ./libs/led/led.o
0x00000000000000f6 led_flash
.text.disco 0x0000000000000122 0xc ./libs/led/led.o
0x0000000000000122 disco
.text.startup.main
0x000000000000012e 0x1e ./main.o
0x000000000000012e main
.text.libgcc.mul
0x000000000000014c 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_exit.o)
.text.libgcc.div
0x000000000000014c 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_exit.o)
.text.libgcc 0x000000000000014c 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_exit.o)
.text.libgcc.prologue
0x000000000000014c 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_exit.o)
.text.libgcc.builtins
0x000000000000014c 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_exit.o)
.text.libgcc.fmul
0x000000000000014c 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_exit.o)
.text.libgcc.fixed
0x000000000000014c 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_exit.o)
.text.libgcc.mul
0x000000000000014c 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_copy_data.o)
.text.libgcc.div
0x000000000000014c 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_copy_data.o)
.text.libgcc 0x000000000000014c 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_copy_data.o)
.text.libgcc.prologue
0x000000000000014c 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_copy_data.o)
.text.libgcc.builtins
0x000000000000014c 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_copy_data.o)
.text.libgcc.fmul
0x000000000000014c 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_copy_data.o)
.text.libgcc.fixed
0x000000000000014c 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_copy_data.o)
0x000000000000014c . = ALIGN (0x2)
*(.fini9)
.fini9 0x000000000000014c 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_exit.o)
0x000000000000014c exit
0x000000000000014c _exit
*(.fini9)
*(.fini8)
*(.fini8)
*(.fini7)
*(.fini7)
*(.fini6)
*(.fini6)
*(.fini5)
*(.fini5)
*(.fini4)
*(.fini4)
*(.fini3)
*(.fini3)
*(.fini2)
*(.fini2)
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x000000000000014c 0x4 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_exit.o)
*(.fini0)
0x0000000000000150 _etext = .
.data 0x0000000000800060 0x2 load address 0x0000000000000150
0x0000000000800060 PROVIDE (__data_start, .)
*(.data)
.data 0x0000000000800060 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr4/crtatmega8.o
.data 0x0000000000800060 0x0 ./libs/led/led.o
.data 0x0000000000800060 0x0 ./main.o
.data 0x0000000000800060 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_exit.o)
.data 0x0000000000800060 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_copy_data.o)
*(.data*)
.data.led_flags
0x0000000000800060 0x1 ./libs/led/led.o
0x0000000000800060 led_flags
*(.rodata)
*(.rodata*)
*(.gnu.linkonce.d*)
0x0000000000800062 . = ALIGN (0x2)
*fill* 0x0000000000800061 0x1
0x0000000000800062 _edata = .
0x0000000000800062 PROVIDE (__data_end, .)
.bss 0x0000000000800062 0x0
[!provide] PROVIDE (__bss_start, .)
*(.bss)
.bss 0x0000000000800062 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr4/crtatmega8.o
.bss 0x0000000000800062 0x0 ./libs/led/led.o
.bss 0x0000000000800062 0x0 ./main.o
.bss 0x0000000000800062 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_exit.o)
.bss 0x0000000000800062 0x0 /usr/lib/gcc/avr/4.9.2/avr4/libgcc.a(_copy_data.o)
*(.bss*)
*(COMMON)
[!provide] PROVIDE (__bss_end, .)
0x0000000000000150 __data_load_start = LOADADDR (.data)
0x0000000000000152 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x0000000000800062 0x0
[!provide] PROVIDE (__noinit_start, .)
*(.noinit*)
[!provide] PROVIDE (__noinit_end, .)
0x0000000000800062 _end = .
[!provide] PROVIDE (__heap_start, .)
.eeprom 0x0000000000810000 0x0
*(.eeprom*)
0x0000000000810000 __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 0x0000000000000000 0x11
*(.comment)
.comment 0x0000000000000000 0x11 ./libs/led/led.o
0x12 (size before relaxing)
.comment 0x0000000000000011 0x12 ./main.o
.note.gnu.avr.deviceinfo
0x0000000000000000 0x3c
.note.gnu.avr.deviceinfo
0x0000000000000000 0x3c /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr4/crtatmega8.o
.note.gnu.build-id
*(.note.gnu.build-id)
.debug
*(.debug)
.line
*(.line)
.debug_srcinfo
*(.debug_srcinfo)
.debug_sfnames
*(.debug_sfnames)
.debug_aranges
*(.debug_aranges)
.debug_pubnames
*(.debug_pubnames)
.debug_info
*(.debug_info .gnu.linkonce.wi.*)
.debug_abbrev
*(.debug_abbrev)
.debug_line
*(.debug_line .debug_line.* .debug_line_end)
.debug_frame
*(.debug_frame)
.debug_str
*(.debug_str)
.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
*(.debug_ranges)
.debug_macro
*(.debug_macro)
OUTPUT(avr-blink.elf elf32-avr)
LOAD linker stubs

1
Release/avr-lib-led.eep Normal file
View File

@ -0,0 +1 @@
:00000001FF

BIN
Release/avr-lib-led.elf Executable file

Binary file not shown.

27
Release/avr-lib-led.hex Normal file
View File

@ -0,0 +1,27 @@
:100000000C9434000C9449000C9449000C94490061
:100010000C9449000C9449000C9449000C9449003C
:100020000C9449000C9449000C9449000C9449002C
:100030000C9449000C9449000C9449000C9449001C
:100040000C9449000C9449000C9449000C9449000C
:100050000C9449000C9449000C9449000C944900FC
:100060000C9449000C94490011241FBECFEFD4E03A
:10007000DEBFCDBF11E0A0E0B1E0E2E8F1E002C0F8
:1000800005900D92A230B107D9F70E94AB000C94F5
:10009000BF000C9400008AB1806E8AB98091000183
:1000A00081FF03C08BB18F7102C08BB1806E8BB9A1
:1000B00008958093000108950C944B00982F80912F
:1000C00000014BB121E030E0B90102C0660F771F9B
:1000D0009A95E2F781FF04C0CB018095842302C08A
:1000E000CB01842B8BB90895982F809100014BB1DF
:1000F00021E030E0B90102C0660F771F9A95E2F760
:1001000081FF03C0CB01842B03C0CB0180958423E6
:100110008BB90895CF93C82F0E9474008FE19EE49D
:100120000197F1F700C000008C2F0E945E009FEF46
:100130002AE683E0915020408040E1F700C00000B3
:10014000CF91089585E00E948A0086E00E948A008F
:1001500087E00C948A0081E00E9459000E945C00B4
:100160000E94A20085E00E948A002FEF89E698E1B4
:10017000215080409040E1F700C00000F3CFF89498
:02018000FFCFAF
:0201820001007A
:00000001FF

193
Release/avr-lib-led.lss Normal file
View File

@ -0,0 +1,193 @@
avr-lib-led.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000002 00800100 00000182 000001f6 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 00000182 00000000 00000000 00000074 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .comment 00000011 00000000 00000000 000001f8 2**0
CONTENTS, READONLY
3 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 0000020c 2**2
CONTENTS, READONLY
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 34 00 jmp 0x68 ; 0x68 <__ctors_end>
4: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
8: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
c: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
10: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
14: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
18: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
1c: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
20: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
24: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
28: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
2c: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
30: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
34: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
38: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
3c: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
40: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
44: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
48: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
4c: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
50: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
54: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
58: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
5c: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
60: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
64: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt>
00000068 <__ctors_end>:
68: 11 24 eor r1, r1
6a: 1f be out 0x3f, r1 ; 63
6c: cf ef ldi r28, 0xFF ; 255
6e: d4 e0 ldi r29, 0x04 ; 4
70: de bf out 0x3e, r29 ; 62
72: cd bf out 0x3d, r28 ; 61
00000074 <__do_copy_data>:
74: 11 e0 ldi r17, 0x01 ; 1
76: a0 e0 ldi r26, 0x00 ; 0
78: b1 e0 ldi r27, 0x01 ; 1
7a: e2 e8 ldi r30, 0x82 ; 130
7c: f1 e0 ldi r31, 0x01 ; 1
7e: 02 c0 rjmp .+4 ; 0x84 <__do_copy_data+0x10>
80: 05 90 lpm r0, Z+
82: 0d 92 st X+, r0
84: a2 30 cpi r26, 0x02 ; 2
86: b1 07 cpc r27, r17
88: d9 f7 brne .-10 ; 0x80 <__do_copy_data+0xc>
8a: 0e 94 ab 00 call 0x156 ; 0x156 <main>
8e: 0c 94 bf 00 jmp 0x17e ; 0x17e <_exit>
00000092 <__bad_interrupt>:
92: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
00000096 <led_initPorts>:
96: 8a b1 in r24, 0x0a ; 10
98: 80 6e ori r24, 0xE0 ; 224
9a: 8a b9 out 0x0a, r24 ; 10
9c: 80 91 00 01 lds r24, 0x0100 ; 0x800100 <__data_start>
a0: 81 ff sbrs r24, 1
a2: 03 c0 rjmp .+6 ; 0xaa <led_initPorts+0x14>
a4: 8b b1 in r24, 0x0b ; 11
a6: 8f 71 andi r24, 0x1F ; 31
a8: 02 c0 rjmp .+4 ; 0xae <led_initPorts+0x18>
aa: 8b b1 in r24, 0x0b ; 11
ac: 80 6e ori r24, 0xE0 ; 224
ae: 8b b9 out 0x0b, r24 ; 11
b0: 08 95 ret
000000b2 <led_config>:
b2: 80 93 00 01 sts 0x0100, r24 ; 0x800100 <__data_start>
b6: 08 95 ret
000000b8 <led_init>:
b8: 0c 94 4b 00 jmp 0x96 ; 0x96 <led_initPorts>
000000bc <led_off>:
bc: 98 2f mov r25, r24
be: 80 91 00 01 lds r24, 0x0100 ; 0x800100 <__data_start>
c2: 4b b1 in r20, 0x0b ; 11
c4: 21 e0 ldi r18, 0x01 ; 1
c6: 30 e0 ldi r19, 0x00 ; 0
c8: b9 01 movw r22, r18
ca: 02 c0 rjmp .+4 ; 0xd0 <led_off+0x14>
cc: 66 0f add r22, r22
ce: 77 1f adc r23, r23
d0: 9a 95 dec r25
d2: e2 f7 brpl .-8 ; 0xcc <led_off+0x10>
d4: 81 ff sbrs r24, 1
d6: 04 c0 rjmp .+8 ; 0xe0 <led_off+0x24>
d8: cb 01 movw r24, r22
da: 80 95 com r24
dc: 84 23 and r24, r20
de: 02 c0 rjmp .+4 ; 0xe4 <led_off+0x28>
e0: cb 01 movw r24, r22
e2: 84 2b or r24, r20
e4: 8b b9 out 0x0b, r24 ; 11
e6: 08 95 ret
000000e8 <led_on>:
e8: 98 2f mov r25, r24
ea: 80 91 00 01 lds r24, 0x0100 ; 0x800100 <__data_start>
ee: 4b b1 in r20, 0x0b ; 11
f0: 21 e0 ldi r18, 0x01 ; 1
f2: 30 e0 ldi r19, 0x00 ; 0
f4: b9 01 movw r22, r18
f6: 02 c0 rjmp .+4 ; 0xfc <led_on+0x14>
f8: 66 0f add r22, r22
fa: 77 1f adc r23, r23
fc: 9a 95 dec r25
fe: e2 f7 brpl .-8 ; 0xf8 <led_on+0x10>
100: 81 ff sbrs r24, 1
102: 03 c0 rjmp .+6 ; 0x10a <led_on+0x22>
104: cb 01 movw r24, r22
106: 84 2b or r24, r20
108: 03 c0 rjmp .+6 ; 0x110 <led_on+0x28>
10a: cb 01 movw r24, r22
10c: 80 95 com r24
10e: 84 23 and r24, r20
110: 8b b9 out 0x0b, r24 ; 11
112: 08 95 ret
00000114 <led_flash>:
114: cf 93 push r28
116: c8 2f mov r28, r24
118: 0e 94 74 00 call 0xe8 ; 0xe8 <led_on>
11c: 8f e1 ldi r24, 0x1F ; 31
11e: 9e e4 ldi r25, 0x4E ; 78
120: 01 97 sbiw r24, 0x01 ; 1
122: f1 f7 brne .-4 ; 0x120 <led_flash+0xc>
124: 00 c0 rjmp .+0 ; 0x126 <led_flash+0x12>
126: 00 00 nop
128: 8c 2f mov r24, r28
12a: 0e 94 5e 00 call 0xbc ; 0xbc <led_off>
12e: 9f ef ldi r25, 0xFF ; 255
130: 2a e6 ldi r18, 0x6A ; 106
132: 83 e0 ldi r24, 0x03 ; 3
134: 91 50 subi r25, 0x01 ; 1
136: 20 40 sbci r18, 0x00 ; 0
138: 80 40 sbci r24, 0x00 ; 0
13a: e1 f7 brne .-8 ; 0x134 <led_flash+0x20>
13c: 00 c0 rjmp .+0 ; 0x13e <led_flash+0x2a>
13e: 00 00 nop
140: cf 91 pop r28
142: 08 95 ret
00000144 <disco>:
144: 85 e0 ldi r24, 0x05 ; 5
146: 0e 94 8a 00 call 0x114 ; 0x114 <led_flash>
14a: 86 e0 ldi r24, 0x06 ; 6
14c: 0e 94 8a 00 call 0x114 ; 0x114 <led_flash>
150: 87 e0 ldi r24, 0x07 ; 7
152: 0c 94 8a 00 jmp 0x114 ; 0x114 <led_flash>
00000156 <main>:
156: 81 e0 ldi r24, 0x01 ; 1
158: 0e 94 59 00 call 0xb2 ; 0xb2 <led_config>
15c: 0e 94 5c 00 call 0xb8 ; 0xb8 <led_init>
160: 0e 94 a2 00 call 0x144 ; 0x144 <disco>
164: 85 e0 ldi r24, 0x05 ; 5
166: 0e 94 8a 00 call 0x114 ; 0x114 <led_flash>
16a: 2f ef ldi r18, 0xFF ; 255
16c: 89 e6 ldi r24, 0x69 ; 105
16e: 98 e1 ldi r25, 0x18 ; 24
170: 21 50 subi r18, 0x01 ; 1
172: 80 40 sbci r24, 0x00 ; 0
174: 90 40 sbci r25, 0x00 ; 0
176: e1 f7 brne .-8 ; 0x170 <main+0x1a>
178: 00 c0 rjmp .+0 ; 0x17a <main+0x24>
17a: 00 00 nop
17c: f3 cf rjmp .-26 ; 0x164 <main+0xe>
0000017e <_exit>:
17e: f8 94 cli
00000180 <__stop_program>:
180: ff cf rjmp .-2 ; 0x180 <__stop_program>

445
Release/avr-lib-led.map Normal file
View File

@ -0,0 +1,445 @@
Archive member included to satisfy reference by file (symbol)
/usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega168p.o (exit)
/usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
./libs/led/led.o (__do_copy_data)
Memory Configuration
Name Origin Length Attributes
text 0x0000000000000000 0x0000000000020000 xr
data 0x0000000000800060 0x000000000000ffa0 rw !x
eeprom 0x0000000000810000 0x0000000000010000 rw !x
fuse 0x0000000000820000 0x0000000000000400 rw !x
lock 0x0000000000830000 0x0000000000000400 rw !x
signature 0x0000000000840000 0x0000000000000400 rw !x
user_signatures 0x0000000000850000 0x0000000000000400 rw !x
*default* 0x0000000000000000 0xffffffffffffffff
Linker script and memory map
Address of section .data set to 0x800100
LOAD /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega168p.o
LOAD ./libs/led/led.o
LOAD ./main.o
START GROUP
LOAD /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a
LOAD /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libm.a
LOAD /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a
LOAD /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libatmega168p.a
END GROUP
0x0000000000020000 __TEXT_REGION_LENGTH__ = DEFINED (__TEXT_REGION_LENGTH__)?__TEXT_REGION_LENGTH__:0x20000
0x000000000000ffa0 __DATA_REGION_LENGTH__ = DEFINED (__DATA_REGION_LENGTH__)?__DATA_REGION_LENGTH__:0xffa0
0x0000000000010000 __EEPROM_REGION_LENGTH__ = DEFINED (__EEPROM_REGION_LENGTH__)?__EEPROM_REGION_LENGTH__:0x10000
0x0000000000000400 __FUSE_REGION_LENGTH__ = DEFINED (__FUSE_REGION_LENGTH__)?__FUSE_REGION_LENGTH__:0x400
0x0000000000000400 __LOCK_REGION_LENGTH__ = DEFINED (__LOCK_REGION_LENGTH__)?__LOCK_REGION_LENGTH__:0x400
0x0000000000000400 __SIGNATURE_REGION_LENGTH__ = DEFINED (__SIGNATURE_REGION_LENGTH__)?__SIGNATURE_REGION_LENGTH__:0x400
0x0000000000000400 __USER_SIGNATURE_REGION_LENGTH__ = DEFINED (__USER_SIGNATURE_REGION_LENGTH__)?__USER_SIGNATURE_REGION_LENGTH__:0x400
.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 0x0000000000000000 0x182
*(.vectors)
.vectors 0x0000000000000000 0x68 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega168p.o
0x0000000000000000 __vectors
0x0000000000000000 __vector_default
*(.vectors)
*(.progmem.gcc*)
0x0000000000000068 . = ALIGN (0x2)
0x0000000000000068 __trampolines_start = .
*(.trampolines)
.trampolines 0x0000000000000068 0x0 linker stubs
*(.trampolines*)
0x0000000000000068 __trampolines_end = .
*libprintf_flt.a:*(.progmem.data)
*libc.a:*(.progmem.data)
*(.progmem*)
0x0000000000000068 . = ALIGN (0x2)
*(.jumptables)
*(.jumptables*)
*(.lowtext)
*(.lowtext*)
0x0000000000000068 __ctors_start = .
*(.ctors)
0x0000000000000068 __ctors_end = .
0x0000000000000068 __dtors_start = .
*(.dtors)
0x0000000000000068 __dtors_end = .
SORT(*)(.ctors)
SORT(*)(.dtors)
*(.init0)
.init0 0x0000000000000068 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega168p.o
0x0000000000000068 __init
*(.init0)
*(.init1)
*(.init1)
*(.init2)
.init2 0x0000000000000068 0xc /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega168p.o
*(.init2)
*(.init3)
*(.init3)
*(.init4)
.init4 0x0000000000000074 0x16 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
0x0000000000000074 __do_copy_data
*(.init4)
*(.init5)
*(.init5)
*(.init6)
*(.init6)
*(.init7)
*(.init7)
*(.init8)
*(.init8)
*(.init9)
.init9 0x000000000000008a 0x8 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega168p.o
*(.init9)
*(.text)
.text 0x0000000000000092 0x4 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega168p.o
0x0000000000000092 __vector_22
0x0000000000000092 __vector_1
0x0000000000000092 __vector_24
0x0000000000000092 __vector_12
0x0000000000000092 __bad_interrupt
0x0000000000000092 __vector_6
0x0000000000000092 __vector_3
0x0000000000000092 __vector_23
0x0000000000000092 __vector_25
0x0000000000000092 __vector_11
0x0000000000000092 __vector_13
0x0000000000000092 __vector_17
0x0000000000000092 __vector_19
0x0000000000000092 __vector_7
0x0000000000000092 __vector_5
0x0000000000000092 __vector_4
0x0000000000000092 __vector_9
0x0000000000000092 __vector_2
0x0000000000000092 __vector_21
0x0000000000000092 __vector_15
0x0000000000000092 __vector_8
0x0000000000000092 __vector_14
0x0000000000000092 __vector_10
0x0000000000000092 __vector_16
0x0000000000000092 __vector_18
0x0000000000000092 __vector_20
.text 0x0000000000000096 0x0 ./libs/led/led.o
.text 0x0000000000000096 0x0 ./main.o
.text 0x0000000000000096 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
.text 0x0000000000000096 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
0x0000000000000096 . = ALIGN (0x2)
*(.text.*)
.text.led_initPorts
0x0000000000000096 0x1c ./libs/led/led.o
0x0000000000000096 led_initPorts
.text.led_config
0x00000000000000b2 0x6 ./libs/led/led.o
0x00000000000000b2 led_config
.text.led_init
0x00000000000000b8 0x4 ./libs/led/led.o
0x00000000000000b8 led_init
.text.led_off 0x00000000000000bc 0x2c ./libs/led/led.o
0x00000000000000bc led_off
.text.led_on 0x00000000000000e8 0x2c ./libs/led/led.o
0x00000000000000e8 led_on
.text.led_flash
0x0000000000000114 0x30 ./libs/led/led.o
0x0000000000000114 led_flash
.text.disco 0x0000000000000144 0x12 ./libs/led/led.o
0x0000000000000144 disco
.text.startup.main
0x0000000000000156 0x28 ./main.o
0x0000000000000156 main
.text.libgcc.mul
0x000000000000017e 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
.text.libgcc.div
0x000000000000017e 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
.text.libgcc 0x000000000000017e 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
.text.libgcc.prologue
0x000000000000017e 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
.text.libgcc.builtins
0x000000000000017e 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
.text.libgcc.fmul
0x000000000000017e 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
.text.libgcc.fixed
0x000000000000017e 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
.text.libgcc.mul
0x000000000000017e 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
.text.libgcc.div
0x000000000000017e 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
.text.libgcc 0x000000000000017e 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
.text.libgcc.prologue
0x000000000000017e 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
.text.libgcc.builtins
0x000000000000017e 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
.text.libgcc.fmul
0x000000000000017e 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
.text.libgcc.fixed
0x000000000000017e 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
0x000000000000017e . = ALIGN (0x2)
*(.fini9)
.fini9 0x000000000000017e 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
0x000000000000017e exit
0x000000000000017e _exit
*(.fini9)
*(.fini8)
*(.fini8)
*(.fini7)
*(.fini7)
*(.fini6)
*(.fini6)
*(.fini5)
*(.fini5)
*(.fini4)
*(.fini4)
*(.fini3)
*(.fini3)
*(.fini2)
*(.fini2)
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x000000000000017e 0x4 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
*(.fini0)
0x0000000000000182 _etext = .
.data 0x0000000000800100 0x2 load address 0x0000000000000182
0x0000000000800100 PROVIDE (__data_start, .)
*(.data)
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega168p.o
.data 0x0000000000800100 0x0 ./libs/led/led.o
.data 0x0000000000800100 0x0 ./main.o
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
*(.data*)
.data.led_flags
0x0000000000800100 0x1 ./libs/led/led.o
0x0000000000800100 led_flags
*(.rodata)
*(.rodata*)
*(.gnu.linkonce.d*)
0x0000000000800102 . = ALIGN (0x2)
*fill* 0x0000000000800101 0x1
0x0000000000800102 _edata = .
0x0000000000800102 PROVIDE (__data_end, .)
.bss 0x0000000000800102 0x0
[!provide] PROVIDE (__bss_start, .)
*(.bss)
.bss 0x0000000000800102 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega168p.o
.bss 0x0000000000800102 0x0 ./libs/led/led.o
.bss 0x0000000000800102 0x0 ./main.o
.bss 0x0000000000800102 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
.bss 0x0000000000800102 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
*(.bss*)
*(COMMON)
[!provide] PROVIDE (__bss_end, .)
0x0000000000000182 __data_load_start = LOADADDR (.data)
0x0000000000000184 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x0000000000800102 0x0
[!provide] PROVIDE (__noinit_start, .)
*(.noinit*)
[!provide] PROVIDE (__noinit_end, .)
0x0000000000800102 _end = .
[!provide] PROVIDE (__heap_start, .)
.eeprom 0x0000000000810000 0x0
*(.eeprom*)
0x0000000000810000 __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 0x0000000000000000 0x11
*(.comment)
.comment 0x0000000000000000 0x11 ./libs/led/led.o
0x12 (size before relaxing)
.comment 0x0000000000000011 0x12 ./main.o
.note.gnu.avr.deviceinfo
0x0000000000000000 0x40
.note.gnu.avr.deviceinfo
0x0000000000000000 0x40 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega168p.o
.note.gnu.build-id
*(.note.gnu.build-id)
.debug
*(.debug)
.line
*(.line)
.debug_srcinfo
*(.debug_srcinfo)
.debug_sfnames
*(.debug_sfnames)
.debug_aranges
*(.debug_aranges)
.debug_pubnames
*(.debug_pubnames)
.debug_info
*(.debug_info .gnu.linkonce.wi.*)
.debug_abbrev
*(.debug_abbrev)
.debug_line
*(.debug_line .debug_line.* .debug_line_end)
.debug_frame
*(.debug_frame)
.debug_str
*(.debug_str)
.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
*(.debug_ranges)
.debug_macro
*(.debug_macro)
OUTPUT(avr-lib-led.elf elf32-avr)
LOAD linker stubs

3
Release/libs/led/led.d Normal file
View File

@ -0,0 +1,3 @@
libs/led/led.o: ../libs/led/led.c ../libs/led/led.h
../libs/led/led.h:

BIN
Release/libs/led/led.o Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../libs/led/led.c
OBJS += \
./libs/led/led.o
C_DEPS += \
./libs/led/led.d
# Each subdirectory must supply rules for building sources it contributes
libs/led/%.o: ../libs/led/%.c
@echo 'Building file: $<'
@echo 'Invoking: AVR Compiler'
avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega168p -DF_CPU=8000000UL -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

3
Release/main.d Normal file
View File

@ -0,0 +1,3 @@
main.o: ../main.c ../libs/led/led.h
../libs/led/led.h:

BIN
Release/main.o Normal file

Binary file not shown.

90
Release/makefile Normal file
View File

@ -0,0 +1,90 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
-include ../makefile.init
RM := rm -rf
# All of the sources participating in the build are defined here
-include sources.mk
-include libs/led/subdir.mk
-include subdir.mk
-include objects.mk
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(ASM_DEPS)),)
-include $(ASM_DEPS)
endif
ifneq ($(strip $(S_DEPS)),)
-include $(S_DEPS)
endif
ifneq ($(strip $(S_UPPER_DEPS)),)
-include $(S_UPPER_DEPS)
endif
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
endif
-include ../makefile.defs
# Add inputs and outputs from these tool invocations to the build variables
LSS += \
avr-lib-led.lss \
FLASH_IMAGE += \
avr-lib-led.hex \
EEPROM_IMAGE += \
avr-lib-led.eep \
SIZEDUMMY += \
sizedummy \
# All Target
all: avr-lib-led.elf secondary-outputs
# Tool invocations
avr-lib-led.elf: $(OBJS) $(USER_OBJS)
@echo 'Building target: $@'
@echo 'Invoking: AVR C Linker'
avr-gcc -Wl,-Map,avr-lib-led.map -mmcu=atmega168p -o "avr-lib-led.elf" $(OBJS) $(USER_OBJS) $(LIBS)
@echo 'Finished building target: $@'
@echo ' '
avr-lib-led.lss: avr-lib-led.elf
@echo 'Invoking: AVR Create Extended Listing'
-avr-objdump -h -S avr-lib-led.elf >"avr-lib-led.lss"
@echo 'Finished building: $@'
@echo ' '
avr-lib-led.hex: avr-lib-led.elf
@echo 'Create Flash image (ihex format)'
-avr-objcopy -R .eeprom -R .fuse -R .lock -R .signature -O ihex avr-lib-led.elf "avr-lib-led.hex"
@echo 'Finished building: $@'
@echo ' '
avr-lib-led.eep: avr-lib-led.elf
@echo 'Create eeprom image (ihex format)'
-avr-objcopy -j .eeprom --no-change-warnings --change-section-lma .eeprom=0 -O ihex avr-lib-led.elf "avr-lib-led.eep"
@echo 'Finished building: $@'
@echo ' '
sizedummy: avr-lib-led.elf
@echo 'Invoking: Print Size'
-avr-size --format=avr --mcu=atmega168p avr-lib-led.elf
@echo 'Finished building: $@'
@echo ' '
# Other Targets
clean:
-$(RM) $(FLASH_IMAGE)$(ELFS)$(OBJS)$(ASM_DEPS)$(EEPROM_IMAGE)$(S_DEPS)$(SIZEDUMMY)$(S_UPPER_DEPS)$(LSS)$(C_DEPS) avr-lib-led.elf
-@echo ' '
secondary-outputs: $(LSS) $(FLASH_IMAGE) $(EEPROM_IMAGE) $(SIZEDUMMY)
.PHONY: all clean dependents
-include ../makefile.targets

8
Release/objects.mk Normal file
View File

@ -0,0 +1,8 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
USER_OBJS :=
LIBS :=

26
Release/sources.mk Normal file
View File

@ -0,0 +1,26 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
OBJ_SRCS :=
S_SRCS :=
ASM_SRCS :=
C_SRCS :=
S_UPPER_SRCS :=
O_SRCS :=
FLASH_IMAGE :=
ELFS :=
OBJS :=
ASM_DEPS :=
EEPROM_IMAGE :=
S_DEPS :=
SIZEDUMMY :=
S_UPPER_DEPS :=
LSS :=
C_DEPS :=
# Every subdirectory with source files must be described here
SUBDIRS := \
libs/led \
. \

24
Release/subdir.mk Normal file
View File

@ -0,0 +1,24 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../main.c
OBJS += \
./main.o
C_DEPS += \
./main.d
# Each subdirectory must supply rules for building sources it contributes
%.o: ../%.c
@echo 'Building file: $<'
@echo 'Invoking: AVR Compiler'
avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega168p -DF_CPU=8000000UL -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '

65
libs/led/led.c Normal file
View File

@ -0,0 +1,65 @@
/*
* led.c
*
* Created on: 26.07.2015
* Author: Flo
*/
#include "led.h"
// init default configuration
volatile uint8_t led_flags = LED_ACTIVE_LOW;
void led_initPorts() {
// define the following pins as OUTPUT
LED_DDR |= ((1<<LED_BLUE)|(1<<LED_RED)|(1<<LED_GREEN));
if (led_flags & LED_ACTIVE_HIGH) {
// set output state to LOW to disable all leds (leds are active high)
LED_PORT &= ~((1<<LED_BLUE)|(1<<LED_RED)|(1<<LED_GREEN));
}
else {
// set output state to HIGH to disable all leds (leds are active low)
LED_PORT |= ((1<<LED_BLUE)|(1<<LED_RED)|(1<<LED_GREEN));
}
}
void led_config(uint8_t flags) {
led_flags = flags;
}
void led_init() {
led_initPorts();
}
void led_off(uint8_t pin) {
if (led_flags & LED_ACTIVE_HIGH) cbi(LED_PORT,pin);
else sbi(LED_PORT,pin);
// sbi(LED_PORT,pin);
}
void led_on(uint8_t pin) {
if (led_flags & LED_ACTIVE_HIGH) sbi(LED_PORT,pin);
else cbi(LED_PORT,pin);
// cbi(LED_PORT,pin);
}
void led_flash(uint8_t pin) {
led_on(pin);
_delay_ms(10);
led_off(pin);
_delay_ms(140);
}
void led_disco(){
led_flash(LED_BLUE);
led_flash(LED_RED);
led_flash(LED_GREEN);
}

64
libs/led/led.h Normal file
View File

@ -0,0 +1,64 @@
/*
* led.h
*
* Created on: 26.07.2015
* Author: Flo
*/
#include <util/delay.h>
#include <avr/io.h>
#ifndef LED_H_
#define LED_H_
#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#endif
#ifndef sbi
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#endif
#define LED_PORT PORTD
#define LED_DDR DDRD
#define LED_ACTIVE_LOW 0x01
#define LED_ACTIVE_HIGH 0x02
#if defined (__AVR_ATmega8__)
#define LED_BLUE PD5
#define LED_RED PD6
#define LED_GREEN PD7
#elif defined (__AVR_ATmega168P__)
#define LED_BLUE PD5
#define LED_RED PD6
#define LED_GREEN PD7
#elif defined (__AVR_ATtiny2313__)
#define LED_BLUE PD3
#define LED_RED PD4
#define LED_GREEN PD5
#else
#if !defined(__COMPILING_AVR_LIBC__)
#warning "device type not defined"
#endif
#endif
extern volatile uint8_t led_flags;
void led_init();
void led_config(uint8_t flags);
void led_initPorts();
void led_off(uint8_t pin);
void led_on(uint8_t pin);
void led_flash(uint8_t pin);
void led_disco();
#endif /* LED_H_ */

36
main.c Normal file
View File

@ -0,0 +1,36 @@
/*
* main.c
*
*/
#ifndef F_CPU
// #define F_CPU 18432000UL
#define F_CPU 8000000UL
#endif
#include <util/delay.h>
#include "libs/led/led.h"
int main (void) {
led_config(LED_ACTIVE_LOW); led_init();
// led_config(LED_ACTIVE_HIGH); led_init();
// forever loop
disco();
while(1){
uint8_t status = 0;
if (status == 0) {
led_flash(LED_BLUE);
}
else {
led_flash(LED_RED);
}
_delay_ms(1000);
};
// will never reach me...
return 0;
}