Initial commit
This commit is contained in:
commit
b757be1314
71
.cproject
Normal file
71
.cproject
Normal 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
27
.project
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>avr-lib-uart</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>
|
||||||
28
.settings/de.innot.avreclipse.core.prefs
Normal file
28
.settings/de.innot.avreclipse.core.prefs
Normal 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
434
Release/avr-blink.map
Normal 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-uart.eep
Normal file
1
Release/avr-lib-uart.eep
Normal file
@ -0,0 +1 @@
|
|||||||
|
:00000001FF
|
||||||
BIN
Release/avr-lib-uart.elf
Executable file
BIN
Release/avr-lib-uart.elf
Executable file
Binary file not shown.
57
Release/avr-lib-uart.hex
Normal file
57
Release/avr-lib-uart.hex
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
:100000000C9434000C9451000C9451000C94510049
|
||||||
|
:100010000C9451000C9451000C9451000C9451001C
|
||||||
|
:100020000C9451000C9451000C9451000C9451000C
|
||||||
|
:100030000C9451000C9451000C9451000C945100FC
|
||||||
|
:100040000C9451000C9451000C9451000C945100EC
|
||||||
|
:100050000C9451000C9451000C9451000C945100DC
|
||||||
|
:100060000C9451000C94510011241FBECFEFD4E02A
|
||||||
|
:10007000DEBFCDBF11E0A0E0B1E0EAE6F3E002C0F0
|
||||||
|
:1000800005900D92AA30B107D9F721E0AAE0B1E0BE
|
||||||
|
:1000900001C01D92AB32B207E1F70E9464010C94DB
|
||||||
|
:1000A000B3010C94000088E18093C10086E0809346
|
||||||
|
:1000B000C2001092C50083E38093C400089590911C
|
||||||
|
:1000C000C00095FFFCCF8093C6000895CF93DF93C7
|
||||||
|
:1000D000EC018991882319F00E945F00FACFDF912B
|
||||||
|
:1000E000CF910895CF93DF93CDB7DEB727970FB6A3
|
||||||
|
:1000F000F894DEBF0FBECDBF4AE0BE016F5F7F4FF9
|
||||||
|
:100100000E947E01CE0101960E94660027960FB6DE
|
||||||
|
:10011000F894DEBF0FBECDBFDF91CF910895CF938E
|
||||||
|
:10012000DF93CDB7DEB727970FB6F894DEBF0FBECB
|
||||||
|
:10013000CDBF42E0BE016F5F7F4F0E947E01CE01C6
|
||||||
|
:1001400001960E94660027960FB6F894DEBF0FBE98
|
||||||
|
:10015000CDBFDF91CF910895CF93DF93CDB7DEB7B9
|
||||||
|
:1001600027970FB6F894DEBF0FBECDBF40E1BE01AA
|
||||||
|
:100170006F5F7F4F0E947E01CE0101960E94660054
|
||||||
|
:1001800027960FB6F894DEBF0FBECDBFDF91CF919B
|
||||||
|
:1001900008958AE00C945F008091C00087FFFCCF37
|
||||||
|
:1001A0008091C60008951F93CF93DF930E94CC00E7
|
||||||
|
:1001B000CAE0D1E01C2F105E8A3041F0882331F074
|
||||||
|
:1001C0001C1721F089930E94CC00F6CF18828AE098
|
||||||
|
:1001D00091E0DF91CF911F9108958AB1806E8AB925
|
||||||
|
:1001E0008091000181FF03C08BB18F718BB9809129
|
||||||
|
:1001F000000180FF03C08BB1806E8BB9089580939E
|
||||||
|
:10020000000108950C94ED00482F8091000181FFBA
|
||||||
|
:100210000BC09BB121E030E0042E01C0220F0A94F4
|
||||||
|
:10022000EAF7209529232BB98091000180FF0AC0AD
|
||||||
|
:100230005BB121E030E0C90101C0880F4A95EAF7BF
|
||||||
|
:10024000852B8BB908959091000191FF0AC09BB155
|
||||||
|
:1002500021E030E0082E01C0220F0A94EAF7292B92
|
||||||
|
:100260002BB99091000190FF0DC04BB121E030E01F
|
||||||
|
:10027000B90102C0660F771F8A95E2F7CB0180951E
|
||||||
|
:1002800084238BB90895CF93C82F0E9423018FE157
|
||||||
|
:100290009EE40197F1F700C000008C2F0E9404013A
|
||||||
|
:1002A0009FEF2AE683E0915020408040E1F700C0B4
|
||||||
|
:1002B0000000CF91089585E00E94430186E00E94EE
|
||||||
|
:1002C000430187E00C94430182E00E94FF000E94FA
|
||||||
|
:1002D00002010E9453000E945B0181E091E00E94B4
|
||||||
|
:1002E000660085E00E9443012FEF89E698E12150E6
|
||||||
|
:1002F00080409040E1F700C00000EFCFBB274A30BC
|
||||||
|
:1003000031F4992322F4BDE2909581959F4F0C948E
|
||||||
|
:100310008A01BB27FB015527AA27880F991FAA1F0F
|
||||||
|
:10032000A41710F0A41B83955051B9F7A05DAA3310
|
||||||
|
:1003300008F0A95DA193009779F7B111B1931192DB
|
||||||
|
:10034000CB010C94A301DC01FC01672F7191772391
|
||||||
|
:10035000E1F7329704C07C916D9370836291AE1780
|
||||||
|
:0A036000BF07C8F30895F894FFCF1B
|
||||||
|
:0A036A000152454144590A00000009
|
||||||
|
:00000001FF
|
||||||
446
Release/avr-lib-uart.lss
Normal file
446
Release/avr-lib-uart.lss
Normal file
@ -0,0 +1,446 @@
|
|||||||
|
|
||||||
|
avr-lib-uart.elf: file format elf32-avr
|
||||||
|
|
||||||
|
Sections:
|
||||||
|
Idx Name Size VMA LMA File off Algn
|
||||||
|
0 .data 0000000a 00800100 0000036a 000003fe 2**0
|
||||||
|
CONTENTS, ALLOC, LOAD, DATA
|
||||||
|
1 .text 0000036a 00000000 00000000 00000094 2**1
|
||||||
|
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
||||||
|
2 .bss 00000021 0080010a 0080010a 00000408 2**0
|
||||||
|
ALLOC
|
||||||
|
3 .comment 00000011 00000000 00000000 00000408 2**0
|
||||||
|
CONTENTS, READONLY
|
||||||
|
4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 0000041c 2**2
|
||||||
|
CONTENTS, READONLY
|
||||||
|
|
||||||
|
Disassembly of section .text:
|
||||||
|
|
||||||
|
00000000 <__vectors>:
|
||||||
|
0: 0c 94 34 00 jmp 0x68 ; 0x68 <__ctors_end>
|
||||||
|
4: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
8: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
10: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
14: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
18: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
1c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
20: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
24: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
28: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
2c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
30: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
34: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
38: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
3c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
40: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
44: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
48: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
4c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
50: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
54: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
58: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
5c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
60: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
|
||||||
|
64: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__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: ea e6 ldi r30, 0x6A ; 106
|
||||||
|
7c: f3 e0 ldi r31, 0x03 ; 3
|
||||||
|
7e: 02 c0 rjmp .+4 ; 0x84 <__do_copy_data+0x10>
|
||||||
|
80: 05 90 lpm r0, Z+
|
||||||
|
82: 0d 92 st X+, r0
|
||||||
|
84: aa 30 cpi r26, 0x0A ; 10
|
||||||
|
86: b1 07 cpc r27, r17
|
||||||
|
88: d9 f7 brne .-10 ; 0x80 <__do_copy_data+0xc>
|
||||||
|
|
||||||
|
0000008a <__do_clear_bss>:
|
||||||
|
8a: 21 e0 ldi r18, 0x01 ; 1
|
||||||
|
8c: aa e0 ldi r26, 0x0A ; 10
|
||||||
|
8e: b1 e0 ldi r27, 0x01 ; 1
|
||||||
|
90: 01 c0 rjmp .+2 ; 0x94 <.do_clear_bss_start>
|
||||||
|
|
||||||
|
00000092 <.do_clear_bss_loop>:
|
||||||
|
92: 1d 92 st X+, r1
|
||||||
|
|
||||||
|
00000094 <.do_clear_bss_start>:
|
||||||
|
94: ab 32 cpi r26, 0x2B ; 43
|
||||||
|
96: b2 07 cpc r27, r18
|
||||||
|
98: e1 f7 brne .-8 ; 0x92 <.do_clear_bss_loop>
|
||||||
|
9a: 0e 94 64 01 call 0x2c8 ; 0x2c8 <main>
|
||||||
|
9e: 0c 94 b3 01 jmp 0x366 ; 0x366 <_exit>
|
||||||
|
|
||||||
|
000000a2 <__bad_interrupt>:
|
||||||
|
a2: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
|
||||||
|
|
||||||
|
000000a6 <uart_init>:
|
||||||
|
a6: 88 e1 ldi r24, 0x18 ; 24
|
||||||
|
a8: 80 93 c1 00 sts 0x00C1, r24 ; 0x8000c1 <__TEXT_REGION_LENGTH__+0x7e00c1>
|
||||||
|
ac: 86 e0 ldi r24, 0x06 ; 6
|
||||||
|
ae: 80 93 c2 00 sts 0x00C2, r24 ; 0x8000c2 <__TEXT_REGION_LENGTH__+0x7e00c2>
|
||||||
|
b2: 10 92 c5 00 sts 0x00C5, r1 ; 0x8000c5 <__TEXT_REGION_LENGTH__+0x7e00c5>
|
||||||
|
b6: 83 e3 ldi r24, 0x33 ; 51
|
||||||
|
b8: 80 93 c4 00 sts 0x00C4, r24 ; 0x8000c4 <__TEXT_REGION_LENGTH__+0x7e00c4>
|
||||||
|
bc: 08 95 ret
|
||||||
|
|
||||||
|
000000be <uart_sendChar>:
|
||||||
|
be: 90 91 c0 00 lds r25, 0x00C0 ; 0x8000c0 <__TEXT_REGION_LENGTH__+0x7e00c0>
|
||||||
|
c2: 95 ff sbrs r25, 5
|
||||||
|
c4: fc cf rjmp .-8 ; 0xbe <uart_sendChar>
|
||||||
|
c6: 80 93 c6 00 sts 0x00C6, r24 ; 0x8000c6 <__TEXT_REGION_LENGTH__+0x7e00c6>
|
||||||
|
ca: 08 95 ret
|
||||||
|
|
||||||
|
000000cc <uart_sendString>:
|
||||||
|
cc: cf 93 push r28
|
||||||
|
ce: df 93 push r29
|
||||||
|
d0: ec 01 movw r28, r24
|
||||||
|
d2: 89 91 ld r24, Y+
|
||||||
|
d4: 88 23 and r24, r24
|
||||||
|
d6: 19 f0 breq .+6 ; 0xde <uart_sendString+0x12>
|
||||||
|
d8: 0e 94 5f 00 call 0xbe ; 0xbe <uart_sendChar>
|
||||||
|
dc: fa cf rjmp .-12 ; 0xd2 <uart_sendString+0x6>
|
||||||
|
de: df 91 pop r29
|
||||||
|
e0: cf 91 pop r28
|
||||||
|
e2: 08 95 ret
|
||||||
|
|
||||||
|
000000e4 <uart_sendInt>:
|
||||||
|
e4: cf 93 push r28
|
||||||
|
e6: df 93 push r29
|
||||||
|
e8: cd b7 in r28, 0x3d ; 61
|
||||||
|
ea: de b7 in r29, 0x3e ; 62
|
||||||
|
ec: 27 97 sbiw r28, 0x07 ; 7
|
||||||
|
ee: 0f b6 in r0, 0x3f ; 63
|
||||||
|
f0: f8 94 cli
|
||||||
|
f2: de bf out 0x3e, r29 ; 62
|
||||||
|
f4: 0f be out 0x3f, r0 ; 63
|
||||||
|
f6: cd bf out 0x3d, r28 ; 61
|
||||||
|
f8: 4a e0 ldi r20, 0x0A ; 10
|
||||||
|
fa: be 01 movw r22, r28
|
||||||
|
fc: 6f 5f subi r22, 0xFF ; 255
|
||||||
|
fe: 7f 4f sbci r23, 0xFF ; 255
|
||||||
|
100: 0e 94 7e 01 call 0x2fc ; 0x2fc <__itoa_ncheck>
|
||||||
|
104: ce 01 movw r24, r28
|
||||||
|
106: 01 96 adiw r24, 0x01 ; 1
|
||||||
|
108: 0e 94 66 00 call 0xcc ; 0xcc <uart_sendString>
|
||||||
|
10c: 27 96 adiw r28, 0x07 ; 7
|
||||||
|
10e: 0f b6 in r0, 0x3f ; 63
|
||||||
|
110: f8 94 cli
|
||||||
|
112: de bf out 0x3e, r29 ; 62
|
||||||
|
114: 0f be out 0x3f, r0 ; 63
|
||||||
|
116: cd bf out 0x3d, r28 ; 61
|
||||||
|
118: df 91 pop r29
|
||||||
|
11a: cf 91 pop r28
|
||||||
|
11c: 08 95 ret
|
||||||
|
|
||||||
|
0000011e <uart_sendBinary>:
|
||||||
|
11e: cf 93 push r28
|
||||||
|
120: df 93 push r29
|
||||||
|
122: cd b7 in r28, 0x3d ; 61
|
||||||
|
124: de b7 in r29, 0x3e ; 62
|
||||||
|
126: 27 97 sbiw r28, 0x07 ; 7
|
||||||
|
128: 0f b6 in r0, 0x3f ; 63
|
||||||
|
12a: f8 94 cli
|
||||||
|
12c: de bf out 0x3e, r29 ; 62
|
||||||
|
12e: 0f be out 0x3f, r0 ; 63
|
||||||
|
130: cd bf out 0x3d, r28 ; 61
|
||||||
|
132: 42 e0 ldi r20, 0x02 ; 2
|
||||||
|
134: be 01 movw r22, r28
|
||||||
|
136: 6f 5f subi r22, 0xFF ; 255
|
||||||
|
138: 7f 4f sbci r23, 0xFF ; 255
|
||||||
|
13a: 0e 94 7e 01 call 0x2fc ; 0x2fc <__itoa_ncheck>
|
||||||
|
13e: ce 01 movw r24, r28
|
||||||
|
140: 01 96 adiw r24, 0x01 ; 1
|
||||||
|
142: 0e 94 66 00 call 0xcc ; 0xcc <uart_sendString>
|
||||||
|
146: 27 96 adiw r28, 0x07 ; 7
|
||||||
|
148: 0f b6 in r0, 0x3f ; 63
|
||||||
|
14a: f8 94 cli
|
||||||
|
14c: de bf out 0x3e, r29 ; 62
|
||||||
|
14e: 0f be out 0x3f, r0 ; 63
|
||||||
|
150: cd bf out 0x3d, r28 ; 61
|
||||||
|
152: df 91 pop r29
|
||||||
|
154: cf 91 pop r28
|
||||||
|
156: 08 95 ret
|
||||||
|
|
||||||
|
00000158 <uart_sendHex>:
|
||||||
|
158: cf 93 push r28
|
||||||
|
15a: df 93 push r29
|
||||||
|
15c: cd b7 in r28, 0x3d ; 61
|
||||||
|
15e: de b7 in r29, 0x3e ; 62
|
||||||
|
160: 27 97 sbiw r28, 0x07 ; 7
|
||||||
|
162: 0f b6 in r0, 0x3f ; 63
|
||||||
|
164: f8 94 cli
|
||||||
|
166: de bf out 0x3e, r29 ; 62
|
||||||
|
168: 0f be out 0x3f, r0 ; 63
|
||||||
|
16a: cd bf out 0x3d, r28 ; 61
|
||||||
|
16c: 40 e1 ldi r20, 0x10 ; 16
|
||||||
|
16e: be 01 movw r22, r28
|
||||||
|
170: 6f 5f subi r22, 0xFF ; 255
|
||||||
|
172: 7f 4f sbci r23, 0xFF ; 255
|
||||||
|
174: 0e 94 7e 01 call 0x2fc ; 0x2fc <__itoa_ncheck>
|
||||||
|
178: ce 01 movw r24, r28
|
||||||
|
17a: 01 96 adiw r24, 0x01 ; 1
|
||||||
|
17c: 0e 94 66 00 call 0xcc ; 0xcc <uart_sendString>
|
||||||
|
180: 27 96 adiw r28, 0x07 ; 7
|
||||||
|
182: 0f b6 in r0, 0x3f ; 63
|
||||||
|
184: f8 94 cli
|
||||||
|
186: de bf out 0x3e, r29 ; 62
|
||||||
|
188: 0f be out 0x3f, r0 ; 63
|
||||||
|
18a: cd bf out 0x3d, r28 ; 61
|
||||||
|
18c: df 91 pop r29
|
||||||
|
18e: cf 91 pop r28
|
||||||
|
190: 08 95 ret
|
||||||
|
|
||||||
|
00000192 <uart_sendLF>:
|
||||||
|
192: 8a e0 ldi r24, 0x0A ; 10
|
||||||
|
194: 0c 94 5f 00 jmp 0xbe ; 0xbe <uart_sendChar>
|
||||||
|
|
||||||
|
00000198 <uart_receiveChar>:
|
||||||
|
198: 80 91 c0 00 lds r24, 0x00C0 ; 0x8000c0 <__TEXT_REGION_LENGTH__+0x7e00c0>
|
||||||
|
19c: 87 ff sbrs r24, 7
|
||||||
|
19e: fc cf rjmp .-8 ; 0x198 <uart_receiveChar>
|
||||||
|
1a0: 80 91 c6 00 lds r24, 0x00C6 ; 0x8000c6 <__TEXT_REGION_LENGTH__+0x7e00c6>
|
||||||
|
1a4: 08 95 ret
|
||||||
|
|
||||||
|
000001a6 <uart_receiveString>:
|
||||||
|
1a6: 1f 93 push r17
|
||||||
|
1a8: cf 93 push r28
|
||||||
|
1aa: df 93 push r29
|
||||||
|
1ac: 0e 94 cc 00 call 0x198 ; 0x198 <uart_receiveChar>
|
||||||
|
1b0: ca e0 ldi r28, 0x0A ; 10
|
||||||
|
1b2: d1 e0 ldi r29, 0x01 ; 1
|
||||||
|
1b4: 1c 2f mov r17, r28
|
||||||
|
1b6: 10 5e subi r17, 0xE0 ; 224
|
||||||
|
1b8: 8a 30 cpi r24, 0x0A ; 10
|
||||||
|
1ba: 41 f0 breq .+16 ; 0x1cc <uart_receiveString+0x26>
|
||||||
|
1bc: 88 23 and r24, r24
|
||||||
|
1be: 31 f0 breq .+12 ; 0x1cc <uart_receiveString+0x26>
|
||||||
|
1c0: 1c 17 cp r17, r28
|
||||||
|
1c2: 21 f0 breq .+8 ; 0x1cc <uart_receiveString+0x26>
|
||||||
|
1c4: 89 93 st Y+, r24
|
||||||
|
1c6: 0e 94 cc 00 call 0x198 ; 0x198 <uart_receiveChar>
|
||||||
|
1ca: f6 cf rjmp .-20 ; 0x1b8 <uart_receiveString+0x12>
|
||||||
|
1cc: 18 82 st Y, r1
|
||||||
|
1ce: 8a e0 ldi r24, 0x0A ; 10
|
||||||
|
1d0: 91 e0 ldi r25, 0x01 ; 1
|
||||||
|
1d2: df 91 pop r29
|
||||||
|
1d4: cf 91 pop r28
|
||||||
|
1d6: 1f 91 pop r17
|
||||||
|
1d8: 08 95 ret
|
||||||
|
|
||||||
|
000001da <led_initPorts>:
|
||||||
|
1da: 8a b1 in r24, 0x0a ; 10
|
||||||
|
1dc: 80 6e ori r24, 0xE0 ; 224
|
||||||
|
1de: 8a b9 out 0x0a, r24 ; 10
|
||||||
|
1e0: 80 91 00 01 lds r24, 0x0100 ; 0x800100 <__data_start>
|
||||||
|
1e4: 81 ff sbrs r24, 1
|
||||||
|
1e6: 03 c0 rjmp .+6 ; 0x1ee <led_initPorts+0x14>
|
||||||
|
1e8: 8b b1 in r24, 0x0b ; 11
|
||||||
|
1ea: 8f 71 andi r24, 0x1F ; 31
|
||||||
|
1ec: 8b b9 out 0x0b, r24 ; 11
|
||||||
|
1ee: 80 91 00 01 lds r24, 0x0100 ; 0x800100 <__data_start>
|
||||||
|
1f2: 80 ff sbrs r24, 0
|
||||||
|
1f4: 03 c0 rjmp .+6 ; 0x1fc <led_initPorts+0x22>
|
||||||
|
1f6: 8b b1 in r24, 0x0b ; 11
|
||||||
|
1f8: 80 6e ori r24, 0xE0 ; 224
|
||||||
|
1fa: 8b b9 out 0x0b, r24 ; 11
|
||||||
|
1fc: 08 95 ret
|
||||||
|
|
||||||
|
000001fe <led_config>:
|
||||||
|
1fe: 80 93 00 01 sts 0x0100, r24 ; 0x800100 <__data_start>
|
||||||
|
202: 08 95 ret
|
||||||
|
|
||||||
|
00000204 <led_init>:
|
||||||
|
204: 0c 94 ed 00 jmp 0x1da ; 0x1da <led_initPorts>
|
||||||
|
|
||||||
|
00000208 <led_off>:
|
||||||
|
208: 48 2f mov r20, r24
|
||||||
|
20a: 80 91 00 01 lds r24, 0x0100 ; 0x800100 <__data_start>
|
||||||
|
20e: 81 ff sbrs r24, 1
|
||||||
|
210: 0b c0 rjmp .+22 ; 0x228 <led_off+0x20>
|
||||||
|
212: 9b b1 in r25, 0x0b ; 11
|
||||||
|
214: 21 e0 ldi r18, 0x01 ; 1
|
||||||
|
216: 30 e0 ldi r19, 0x00 ; 0
|
||||||
|
218: 04 2e mov r0, r20
|
||||||
|
21a: 01 c0 rjmp .+2 ; 0x21e <led_off+0x16>
|
||||||
|
21c: 22 0f add r18, r18
|
||||||
|
21e: 0a 94 dec r0
|
||||||
|
220: ea f7 brpl .-6 ; 0x21c <led_off+0x14>
|
||||||
|
222: 20 95 com r18
|
||||||
|
224: 29 23 and r18, r25
|
||||||
|
226: 2b b9 out 0x0b, r18 ; 11
|
||||||
|
228: 80 91 00 01 lds r24, 0x0100 ; 0x800100 <__data_start>
|
||||||
|
22c: 80 ff sbrs r24, 0
|
||||||
|
22e: 0a c0 rjmp .+20 ; 0x244 <led_off+0x3c>
|
||||||
|
230: 5b b1 in r21, 0x0b ; 11
|
||||||
|
232: 21 e0 ldi r18, 0x01 ; 1
|
||||||
|
234: 30 e0 ldi r19, 0x00 ; 0
|
||||||
|
236: c9 01 movw r24, r18
|
||||||
|
238: 01 c0 rjmp .+2 ; 0x23c <led_off+0x34>
|
||||||
|
23a: 88 0f add r24, r24
|
||||||
|
23c: 4a 95 dec r20
|
||||||
|
23e: ea f7 brpl .-6 ; 0x23a <led_off+0x32>
|
||||||
|
240: 85 2b or r24, r21
|
||||||
|
242: 8b b9 out 0x0b, r24 ; 11
|
||||||
|
244: 08 95 ret
|
||||||
|
|
||||||
|
00000246 <led_on>:
|
||||||
|
246: 90 91 00 01 lds r25, 0x0100 ; 0x800100 <__data_start>
|
||||||
|
24a: 91 ff sbrs r25, 1
|
||||||
|
24c: 0a c0 rjmp .+20 ; 0x262 <led_on+0x1c>
|
||||||
|
24e: 9b b1 in r25, 0x0b ; 11
|
||||||
|
250: 21 e0 ldi r18, 0x01 ; 1
|
||||||
|
252: 30 e0 ldi r19, 0x00 ; 0
|
||||||
|
254: 08 2e mov r0, r24
|
||||||
|
256: 01 c0 rjmp .+2 ; 0x25a <led_on+0x14>
|
||||||
|
258: 22 0f add r18, r18
|
||||||
|
25a: 0a 94 dec r0
|
||||||
|
25c: ea f7 brpl .-6 ; 0x258 <led_on+0x12>
|
||||||
|
25e: 29 2b or r18, r25
|
||||||
|
260: 2b b9 out 0x0b, r18 ; 11
|
||||||
|
262: 90 91 00 01 lds r25, 0x0100 ; 0x800100 <__data_start>
|
||||||
|
266: 90 ff sbrs r25, 0
|
||||||
|
268: 0d c0 rjmp .+26 ; 0x284 <led_on+0x3e>
|
||||||
|
26a: 4b b1 in r20, 0x0b ; 11
|
||||||
|
26c: 21 e0 ldi r18, 0x01 ; 1
|
||||||
|
26e: 30 e0 ldi r19, 0x00 ; 0
|
||||||
|
270: b9 01 movw r22, r18
|
||||||
|
272: 02 c0 rjmp .+4 ; 0x278 <led_on+0x32>
|
||||||
|
274: 66 0f add r22, r22
|
||||||
|
276: 77 1f adc r23, r23
|
||||||
|
278: 8a 95 dec r24
|
||||||
|
27a: e2 f7 brpl .-8 ; 0x274 <led_on+0x2e>
|
||||||
|
27c: cb 01 movw r24, r22
|
||||||
|
27e: 80 95 com r24
|
||||||
|
280: 84 23 and r24, r20
|
||||||
|
282: 8b b9 out 0x0b, r24 ; 11
|
||||||
|
284: 08 95 ret
|
||||||
|
|
||||||
|
00000286 <led_flash>:
|
||||||
|
286: cf 93 push r28
|
||||||
|
288: c8 2f mov r28, r24
|
||||||
|
28a: 0e 94 23 01 call 0x246 ; 0x246 <led_on>
|
||||||
|
28e: 8f e1 ldi r24, 0x1F ; 31
|
||||||
|
290: 9e e4 ldi r25, 0x4E ; 78
|
||||||
|
292: 01 97 sbiw r24, 0x01 ; 1
|
||||||
|
294: f1 f7 brne .-4 ; 0x292 <led_flash+0xc>
|
||||||
|
296: 00 c0 rjmp .+0 ; 0x298 <led_flash+0x12>
|
||||||
|
298: 00 00 nop
|
||||||
|
29a: 8c 2f mov r24, r28
|
||||||
|
29c: 0e 94 04 01 call 0x208 ; 0x208 <led_off>
|
||||||
|
2a0: 9f ef ldi r25, 0xFF ; 255
|
||||||
|
2a2: 2a e6 ldi r18, 0x6A ; 106
|
||||||
|
2a4: 83 e0 ldi r24, 0x03 ; 3
|
||||||
|
2a6: 91 50 subi r25, 0x01 ; 1
|
||||||
|
2a8: 20 40 sbci r18, 0x00 ; 0
|
||||||
|
2aa: 80 40 sbci r24, 0x00 ; 0
|
||||||
|
2ac: e1 f7 brne .-8 ; 0x2a6 <led_flash+0x20>
|
||||||
|
2ae: 00 c0 rjmp .+0 ; 0x2b0 <led_flash+0x2a>
|
||||||
|
2b0: 00 00 nop
|
||||||
|
2b2: cf 91 pop r28
|
||||||
|
2b4: 08 95 ret
|
||||||
|
|
||||||
|
000002b6 <disco>:
|
||||||
|
2b6: 85 e0 ldi r24, 0x05 ; 5
|
||||||
|
2b8: 0e 94 43 01 call 0x286 ; 0x286 <led_flash>
|
||||||
|
2bc: 86 e0 ldi r24, 0x06 ; 6
|
||||||
|
2be: 0e 94 43 01 call 0x286 ; 0x286 <led_flash>
|
||||||
|
2c2: 87 e0 ldi r24, 0x07 ; 7
|
||||||
|
2c4: 0c 94 43 01 jmp 0x286 ; 0x286 <led_flash>
|
||||||
|
|
||||||
|
000002c8 <main>:
|
||||||
|
2c8: 82 e0 ldi r24, 0x02 ; 2
|
||||||
|
2ca: 0e 94 ff 00 call 0x1fe ; 0x1fe <led_config>
|
||||||
|
2ce: 0e 94 02 01 call 0x204 ; 0x204 <led_init>
|
||||||
|
2d2: 0e 94 53 00 call 0xa6 ; 0xa6 <uart_init>
|
||||||
|
2d6: 0e 94 5b 01 call 0x2b6 ; 0x2b6 <disco>
|
||||||
|
2da: 81 e0 ldi r24, 0x01 ; 1
|
||||||
|
2dc: 91 e0 ldi r25, 0x01 ; 1
|
||||||
|
2de: 0e 94 66 00 call 0xcc ; 0xcc <uart_sendString>
|
||||||
|
2e2: 85 e0 ldi r24, 0x05 ; 5
|
||||||
|
2e4: 0e 94 43 01 call 0x286 ; 0x286 <led_flash>
|
||||||
|
2e8: 2f ef ldi r18, 0xFF ; 255
|
||||||
|
2ea: 89 e6 ldi r24, 0x69 ; 105
|
||||||
|
2ec: 98 e1 ldi r25, 0x18 ; 24
|
||||||
|
2ee: 21 50 subi r18, 0x01 ; 1
|
||||||
|
2f0: 80 40 sbci r24, 0x00 ; 0
|
||||||
|
2f2: 90 40 sbci r25, 0x00 ; 0
|
||||||
|
2f4: e1 f7 brne .-8 ; 0x2ee <main+0x26>
|
||||||
|
2f6: 00 c0 rjmp .+0 ; 0x2f8 <main+0x30>
|
||||||
|
2f8: 00 00 nop
|
||||||
|
2fa: ef cf rjmp .-34 ; 0x2da <main+0x12>
|
||||||
|
|
||||||
|
000002fc <__itoa_ncheck>:
|
||||||
|
2fc: bb 27 eor r27, r27
|
||||||
|
2fe: 4a 30 cpi r20, 0x0A ; 10
|
||||||
|
300: 31 f4 brne .+12 ; 0x30e <__itoa_ncheck+0x12>
|
||||||
|
302: 99 23 and r25, r25
|
||||||
|
304: 22 f4 brpl .+8 ; 0x30e <__itoa_ncheck+0x12>
|
||||||
|
306: bd e2 ldi r27, 0x2D ; 45
|
||||||
|
308: 90 95 com r25
|
||||||
|
30a: 81 95 neg r24
|
||||||
|
30c: 9f 4f sbci r25, 0xFF ; 255
|
||||||
|
30e: 0c 94 8a 01 jmp 0x314 ; 0x314 <__utoa_common>
|
||||||
|
|
||||||
|
00000312 <__utoa_ncheck>:
|
||||||
|
312: bb 27 eor r27, r27
|
||||||
|
|
||||||
|
00000314 <__utoa_common>:
|
||||||
|
314: fb 01 movw r30, r22
|
||||||
|
316: 55 27 eor r21, r21
|
||||||
|
318: aa 27 eor r26, r26
|
||||||
|
31a: 88 0f add r24, r24
|
||||||
|
31c: 99 1f adc r25, r25
|
||||||
|
31e: aa 1f adc r26, r26
|
||||||
|
320: a4 17 cp r26, r20
|
||||||
|
322: 10 f0 brcs .+4 ; 0x328 <__utoa_common+0x14>
|
||||||
|
324: a4 1b sub r26, r20
|
||||||
|
326: 83 95 inc r24
|
||||||
|
328: 50 51 subi r21, 0x10 ; 16
|
||||||
|
32a: b9 f7 brne .-18 ; 0x31a <__utoa_common+0x6>
|
||||||
|
32c: a0 5d subi r26, 0xD0 ; 208
|
||||||
|
32e: aa 33 cpi r26, 0x3A ; 58
|
||||||
|
330: 08 f0 brcs .+2 ; 0x334 <__utoa_common+0x20>
|
||||||
|
332: a9 5d subi r26, 0xD9 ; 217
|
||||||
|
334: a1 93 st Z+, r26
|
||||||
|
336: 00 97 sbiw r24, 0x00 ; 0
|
||||||
|
338: 79 f7 brne .-34 ; 0x318 <__utoa_common+0x4>
|
||||||
|
33a: b1 11 cpse r27, r1
|
||||||
|
33c: b1 93 st Z+, r27
|
||||||
|
33e: 11 92 st Z+, r1
|
||||||
|
340: cb 01 movw r24, r22
|
||||||
|
342: 0c 94 a3 01 jmp 0x346 ; 0x346 <strrev>
|
||||||
|
|
||||||
|
00000346 <strrev>:
|
||||||
|
346: dc 01 movw r26, r24
|
||||||
|
348: fc 01 movw r30, r24
|
||||||
|
34a: 67 2f mov r22, r23
|
||||||
|
34c: 71 91 ld r23, Z+
|
||||||
|
34e: 77 23 and r23, r23
|
||||||
|
350: e1 f7 brne .-8 ; 0x34a <strrev+0x4>
|
||||||
|
352: 32 97 sbiw r30, 0x02 ; 2
|
||||||
|
354: 04 c0 rjmp .+8 ; 0x35e <strrev+0x18>
|
||||||
|
356: 7c 91 ld r23, X
|
||||||
|
358: 6d 93 st X+, r22
|
||||||
|
35a: 70 83 st Z, r23
|
||||||
|
35c: 62 91 ld r22, -Z
|
||||||
|
35e: ae 17 cp r26, r30
|
||||||
|
360: bf 07 cpc r27, r31
|
||||||
|
362: c8 f3 brcs .-14 ; 0x356 <strrev+0x10>
|
||||||
|
364: 08 95 ret
|
||||||
|
|
||||||
|
00000366 <_exit>:
|
||||||
|
366: f8 94 cli
|
||||||
|
|
||||||
|
00000368 <__stop_program>:
|
||||||
|
368: ff cf rjmp .-2 ; 0x368 <__stop_program>
|
||||||
530
Release/avr-lib-uart.map
Normal file
530
Release/avr-lib-uart.map
Normal file
@ -0,0 +1,530 @@
|
|||||||
|
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)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
./libs/uart/uart.o (__do_clear_bss)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(itoa_ncheck.o)
|
||||||
|
./libs/uart/uart.o (__itoa_ncheck)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(utoa_ncheck.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(itoa_ncheck.o) (__utoa_common)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(strrev.o)
|
||||||
|
/usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(utoa_ncheck.o) (strrev)
|
||||||
|
|
||||||
|
Allocating common symbols
|
||||||
|
Common symbol size file
|
||||||
|
|
||||||
|
uartReceiveBuffer 0x21 ./libs/uart/uart.o
|
||||||
|
|
||||||
|
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/uart/uart.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 0x36a
|
||||||
|
*(.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 0x000000000000008a 0x10 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
0x000000000000008a __do_clear_bss
|
||||||
|
*(.init4)
|
||||||
|
*(.init5)
|
||||||
|
*(.init5)
|
||||||
|
*(.init6)
|
||||||
|
*(.init6)
|
||||||
|
*(.init7)
|
||||||
|
*(.init7)
|
||||||
|
*(.init8)
|
||||||
|
*(.init8)
|
||||||
|
*(.init9)
|
||||||
|
.init9 0x000000000000009a 0x8 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega168p.o
|
||||||
|
*(.init9)
|
||||||
|
*(.text)
|
||||||
|
.text 0x00000000000000a2 0x4 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega168p.o
|
||||||
|
0x00000000000000a2 __vector_22
|
||||||
|
0x00000000000000a2 __vector_1
|
||||||
|
0x00000000000000a2 __vector_24
|
||||||
|
0x00000000000000a2 __vector_12
|
||||||
|
0x00000000000000a2 __bad_interrupt
|
||||||
|
0x00000000000000a2 __vector_6
|
||||||
|
0x00000000000000a2 __vector_3
|
||||||
|
0x00000000000000a2 __vector_23
|
||||||
|
0x00000000000000a2 __vector_25
|
||||||
|
0x00000000000000a2 __vector_11
|
||||||
|
0x00000000000000a2 __vector_13
|
||||||
|
0x00000000000000a2 __vector_17
|
||||||
|
0x00000000000000a2 __vector_19
|
||||||
|
0x00000000000000a2 __vector_7
|
||||||
|
0x00000000000000a2 __vector_5
|
||||||
|
0x00000000000000a2 __vector_4
|
||||||
|
0x00000000000000a2 __vector_9
|
||||||
|
0x00000000000000a2 __vector_2
|
||||||
|
0x00000000000000a2 __vector_21
|
||||||
|
0x00000000000000a2 __vector_15
|
||||||
|
0x00000000000000a2 __vector_8
|
||||||
|
0x00000000000000a2 __vector_14
|
||||||
|
0x00000000000000a2 __vector_10
|
||||||
|
0x00000000000000a2 __vector_16
|
||||||
|
0x00000000000000a2 __vector_18
|
||||||
|
0x00000000000000a2 __vector_20
|
||||||
|
.text 0x00000000000000a6 0x0 ./libs/uart/uart.o
|
||||||
|
.text 0x00000000000000a6 0x0 ./libs/led/led.o
|
||||||
|
.text 0x00000000000000a6 0x0 ./main.o
|
||||||
|
.text 0x00000000000000a6 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.text 0x00000000000000a6 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text 0x00000000000000a6 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text 0x00000000000000a6 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(itoa_ncheck.o)
|
||||||
|
.text 0x00000000000000a6 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(utoa_ncheck.o)
|
||||||
|
.text 0x00000000000000a6 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(strrev.o)
|
||||||
|
0x00000000000000a6 . = ALIGN (0x2)
|
||||||
|
*(.text.*)
|
||||||
|
.text.uart_init
|
||||||
|
0x00000000000000a6 0x18 ./libs/uart/uart.o
|
||||||
|
0x00000000000000a6 uart_init
|
||||||
|
.text.uart_sendChar
|
||||||
|
0x00000000000000be 0xe ./libs/uart/uart.o
|
||||||
|
0x00000000000000be uart_sendChar
|
||||||
|
.text.uart_sendString
|
||||||
|
0x00000000000000cc 0x18 ./libs/uart/uart.o
|
||||||
|
0x00000000000000cc uart_sendString
|
||||||
|
.text.uart_sendInt
|
||||||
|
0x00000000000000e4 0x3a ./libs/uart/uart.o
|
||||||
|
0x00000000000000e4 uart_sendInt
|
||||||
|
.text.uart_sendBinary
|
||||||
|
0x000000000000011e 0x3a ./libs/uart/uart.o
|
||||||
|
0x000000000000011e uart_sendBinary
|
||||||
|
.text.uart_sendHex
|
||||||
|
0x0000000000000158 0x3a ./libs/uart/uart.o
|
||||||
|
0x0000000000000158 uart_sendHex
|
||||||
|
.text.uart_sendLF
|
||||||
|
0x0000000000000192 0x6 ./libs/uart/uart.o
|
||||||
|
0x0000000000000192 uart_sendLF
|
||||||
|
.text.uart_receiveChar
|
||||||
|
0x0000000000000198 0xe ./libs/uart/uart.o
|
||||||
|
0x0000000000000198 uart_receiveChar
|
||||||
|
.text.uart_receiveString
|
||||||
|
0x00000000000001a6 0x34 ./libs/uart/uart.o
|
||||||
|
0x00000000000001a6 uart_receiveString
|
||||||
|
.text.led_initPorts
|
||||||
|
0x00000000000001da 0x24 ./libs/led/led.o
|
||||||
|
0x00000000000001da led_initPorts
|
||||||
|
.text.led_config
|
||||||
|
0x00000000000001fe 0x6 ./libs/led/led.o
|
||||||
|
0x00000000000001fe led_config
|
||||||
|
.text.led_init
|
||||||
|
0x0000000000000204 0x4 ./libs/led/led.o
|
||||||
|
0x0000000000000204 led_init
|
||||||
|
.text.led_off 0x0000000000000208 0x3e ./libs/led/led.o
|
||||||
|
0x0000000000000208 led_off
|
||||||
|
.text.led_on 0x0000000000000246 0x40 ./libs/led/led.o
|
||||||
|
0x0000000000000246 led_on
|
||||||
|
.text.led_flash
|
||||||
|
0x0000000000000286 0x30 ./libs/led/led.o
|
||||||
|
0x0000000000000286 led_flash
|
||||||
|
.text.disco 0x00000000000002b6 0x12 ./libs/led/led.o
|
||||||
|
0x00000000000002b6 disco
|
||||||
|
.text.startup.main
|
||||||
|
0x00000000000002c8 0x34 ./main.o
|
||||||
|
0x00000000000002c8 main
|
||||||
|
.text.libgcc.mul
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.text.libgcc.div
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.text.libgcc 0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.text.libgcc.prologue
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.text.libgcc.builtins
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.text.libgcc.fmul
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.text.libgcc.fixed
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.text.libgcc.mul
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text.libgcc.div
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text.libgcc 0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text.libgcc.prologue
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text.libgcc.builtins
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text.libgcc.fmul
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text.libgcc.fixed
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.text.libgcc.mul
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text.libgcc.div
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text.libgcc 0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text.libgcc.prologue
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text.libgcc.builtins
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text.libgcc.fmul
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text.libgcc.fixed
|
||||||
|
0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.text.avr-libc
|
||||||
|
0x00000000000002fc 0x16 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(itoa_ncheck.o)
|
||||||
|
0x00000000000002fc __itoa_ncheck
|
||||||
|
.text.avr-libc
|
||||||
|
0x0000000000000312 0x34 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(utoa_ncheck.o)
|
||||||
|
0x0000000000000312 __utoa_ncheck
|
||||||
|
0x0000000000000314 __utoa_common
|
||||||
|
.text.avr-libc
|
||||||
|
0x0000000000000346 0x20 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(strrev.o)
|
||||||
|
0x0000000000000346 strrev
|
||||||
|
0x0000000000000366 . = ALIGN (0x2)
|
||||||
|
*(.fini9)
|
||||||
|
.fini9 0x0000000000000366 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
0x0000000000000366 exit
|
||||||
|
0x0000000000000366 _exit
|
||||||
|
*(.fini9)
|
||||||
|
*(.fini8)
|
||||||
|
*(.fini8)
|
||||||
|
*(.fini7)
|
||||||
|
*(.fini7)
|
||||||
|
*(.fini6)
|
||||||
|
*(.fini6)
|
||||||
|
*(.fini5)
|
||||||
|
*(.fini5)
|
||||||
|
*(.fini4)
|
||||||
|
*(.fini4)
|
||||||
|
*(.fini3)
|
||||||
|
*(.fini3)
|
||||||
|
*(.fini2)
|
||||||
|
*(.fini2)
|
||||||
|
*(.fini1)
|
||||||
|
*(.fini1)
|
||||||
|
*(.fini0)
|
||||||
|
.fini0 0x0000000000000366 0x4 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
*(.fini0)
|
||||||
|
0x000000000000036a _etext = .
|
||||||
|
|
||||||
|
.data 0x0000000000800100 0xa load address 0x000000000000036a
|
||||||
|
0x0000000000800100 PROVIDE (__data_start, .)
|
||||||
|
*(.data)
|
||||||
|
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega168p.o
|
||||||
|
.data 0x0000000000800100 0x0 ./libs/uart/uart.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 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(itoa_ncheck.o)
|
||||||
|
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(utoa_ncheck.o)
|
||||||
|
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(strrev.o)
|
||||||
|
*(.data*)
|
||||||
|
.data.led_flags
|
||||||
|
0x0000000000800100 0x1 ./libs/led/led.o
|
||||||
|
0x0000000000800100 led_flags
|
||||||
|
*(.rodata)
|
||||||
|
.rodata 0x0000000000800101 0x8 ./main.o
|
||||||
|
*(.rodata*)
|
||||||
|
*(.gnu.linkonce.d*)
|
||||||
|
0x000000000080010a . = ALIGN (0x2)
|
||||||
|
*fill* 0x0000000000800109 0x1
|
||||||
|
0x000000000080010a _edata = .
|
||||||
|
0x000000000080010a PROVIDE (__data_end, .)
|
||||||
|
|
||||||
|
.bss 0x000000000080010a 0x21
|
||||||
|
0x000000000080010a PROVIDE (__bss_start, .)
|
||||||
|
*(.bss)
|
||||||
|
.bss 0x000000000080010a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/crtatmega168p.o
|
||||||
|
.bss 0x000000000080010a 0x0 ./libs/uart/uart.o
|
||||||
|
.bss 0x000000000080010a 0x0 ./libs/led/led.o
|
||||||
|
.bss 0x000000000080010a 0x0 ./main.o
|
||||||
|
.bss 0x000000000080010a 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_exit.o)
|
||||||
|
.bss 0x000000000080010a 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_copy_data.o)
|
||||||
|
.bss 0x000000000080010a 0x0 /usr/lib/gcc/avr/4.9.2/avr5/libgcc.a(_clear_bss.o)
|
||||||
|
.bss 0x000000000080010a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(itoa_ncheck.o)
|
||||||
|
.bss 0x000000000080010a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(utoa_ncheck.o)
|
||||||
|
.bss 0x000000000080010a 0x0 /usr/lib/gcc/avr/4.9.2/../../../avr/lib/avr5/libc.a(strrev.o)
|
||||||
|
*(.bss*)
|
||||||
|
*(COMMON)
|
||||||
|
COMMON 0x000000000080010a 0x21 ./libs/uart/uart.o
|
||||||
|
0x000000000080010a uartReceiveBuffer
|
||||||
|
0x000000000080012b PROVIDE (__bss_end, .)
|
||||||
|
0x000000000000036a __data_load_start = LOADADDR (.data)
|
||||||
|
0x0000000000000374 __data_load_end = (__data_load_start + SIZEOF (.data))
|
||||||
|
|
||||||
|
.noinit 0x000000000080012b 0x0
|
||||||
|
[!provide] PROVIDE (__noinit_start, .)
|
||||||
|
*(.noinit*)
|
||||||
|
[!provide] PROVIDE (__noinit_end, .)
|
||||||
|
0x000000000080012b _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/uart/uart.o
|
||||||
|
0x12 (size before relaxing)
|
||||||
|
.comment 0x0000000000000011 0x12 ./libs/led/led.o
|
||||||
|
.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-uart.elf elf32-avr)
|
||||||
|
LOAD linker stubs
|
||||||
3
Release/libs/led/led.d
Normal file
3
Release/libs/led/led.d
Normal 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
BIN
Release/libs/led/led.o
Normal file
Binary file not shown.
24
Release/libs/led/subdir.mk
Normal file
24
Release/libs/led/subdir.mk
Normal 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 ' '
|
||||||
|
|
||||||
|
|
||||||
24
Release/libs/uart/subdir.mk
Normal file
24
Release/libs/uart/subdir.mk
Normal 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/uart/uart.c
|
||||||
|
|
||||||
|
OBJS += \
|
||||||
|
./libs/uart/uart.o
|
||||||
|
|
||||||
|
C_DEPS += \
|
||||||
|
./libs/uart/uart.d
|
||||||
|
|
||||||
|
|
||||||
|
# Each subdirectory must supply rules for building sources it contributes
|
||||||
|
libs/uart/%.o: ../libs/uart/%.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/libs/uart/uart.d
Normal file
3
Release/libs/uart/uart.d
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
libs/uart/uart.o: ../libs/uart/uart.c ../libs/uart/uart.h
|
||||||
|
|
||||||
|
../libs/uart/uart.h:
|
||||||
BIN
Release/libs/uart/uart.o
Normal file
BIN
Release/libs/uart/uart.o
Normal file
Binary file not shown.
5
Release/main.d
Normal file
5
Release/main.d
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
main.o: ../main.c ../libs/led/led.h ../libs/uart/uart.h
|
||||||
|
|
||||||
|
../libs/led/led.h:
|
||||||
|
|
||||||
|
../libs/uart/uart.h:
|
||||||
BIN
Release/main.o
Normal file
BIN
Release/main.o
Normal file
Binary file not shown.
91
Release/makefile
Normal file
91
Release/makefile
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
################################################################################
|
||||||
|
# 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/uart/subdir.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-uart.lss \
|
||||||
|
|
||||||
|
FLASH_IMAGE += \
|
||||||
|
avr-lib-uart.hex \
|
||||||
|
|
||||||
|
EEPROM_IMAGE += \
|
||||||
|
avr-lib-uart.eep \
|
||||||
|
|
||||||
|
SIZEDUMMY += \
|
||||||
|
sizedummy \
|
||||||
|
|
||||||
|
|
||||||
|
# All Target
|
||||||
|
all: avr-lib-uart.elf secondary-outputs
|
||||||
|
|
||||||
|
# Tool invocations
|
||||||
|
avr-lib-uart.elf: $(OBJS) $(USER_OBJS)
|
||||||
|
@echo 'Building target: $@'
|
||||||
|
@echo 'Invoking: AVR C Linker'
|
||||||
|
avr-gcc -Wl,-Map,avr-lib-uart.map -mmcu=atmega168p -o "avr-lib-uart.elf" $(OBJS) $(USER_OBJS) $(LIBS)
|
||||||
|
@echo 'Finished building target: $@'
|
||||||
|
@echo ' '
|
||||||
|
|
||||||
|
avr-lib-uart.lss: avr-lib-uart.elf
|
||||||
|
@echo 'Invoking: AVR Create Extended Listing'
|
||||||
|
-avr-objdump -h -S avr-lib-uart.elf >"avr-lib-uart.lss"
|
||||||
|
@echo 'Finished building: $@'
|
||||||
|
@echo ' '
|
||||||
|
|
||||||
|
avr-lib-uart.hex: avr-lib-uart.elf
|
||||||
|
@echo 'Create Flash image (ihex format)'
|
||||||
|
-avr-objcopy -R .eeprom -R .fuse -R .lock -R .signature -O ihex avr-lib-uart.elf "avr-lib-uart.hex"
|
||||||
|
@echo 'Finished building: $@'
|
||||||
|
@echo ' '
|
||||||
|
|
||||||
|
avr-lib-uart.eep: avr-lib-uart.elf
|
||||||
|
@echo 'Create eeprom image (ihex format)'
|
||||||
|
-avr-objcopy -j .eeprom --no-change-warnings --change-section-lma .eeprom=0 -O ihex avr-lib-uart.elf "avr-lib-uart.eep"
|
||||||
|
@echo 'Finished building: $@'
|
||||||
|
@echo ' '
|
||||||
|
|
||||||
|
sizedummy: avr-lib-uart.elf
|
||||||
|
@echo 'Invoking: Print Size'
|
||||||
|
-avr-size --format=avr --mcu=atmega168p avr-lib-uart.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-uart.elf
|
||||||
|
-@echo ' '
|
||||||
|
|
||||||
|
secondary-outputs: $(LSS) $(FLASH_IMAGE) $(EEPROM_IMAGE) $(SIZEDUMMY)
|
||||||
|
|
||||||
|
.PHONY: all clean dependents
|
||||||
|
|
||||||
|
-include ../makefile.targets
|
||||||
8
Release/objects.mk
Normal file
8
Release/objects.mk
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
################################################################################
|
||||||
|
# Automatically-generated file. Do not edit!
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
USER_OBJS :=
|
||||||
|
|
||||||
|
LIBS :=
|
||||||
|
|
||||||
27
Release/sources.mk
Normal file
27
Release/sources.mk
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
################################################################################
|
||||||
|
# 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 \
|
||||||
|
libs/uart \
|
||||||
|
. \
|
||||||
|
|
||||||
24
Release/subdir.mk
Normal file
24
Release/subdir.mk
Normal 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 ' '
|
||||||
|
|
||||||
|
|
||||||
62
libs/led/led.c
Normal file
62
libs/led/led.c
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
/*
|
||||||
|
* 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));
|
||||||
|
}
|
||||||
|
if (led_flags & LED_ACTIVE_LOW) {
|
||||||
|
// 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);
|
||||||
|
if (led_flags & LED_ACTIVE_LOW) sbi(LED_PORT,pin);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void led_on(uint8_t pin) {
|
||||||
|
if (led_flags & LED_ACTIVE_HIGH) sbi(LED_PORT,pin);
|
||||||
|
if (led_flags & LED_ACTIVE_LOW) cbi(LED_PORT,pin);
|
||||||
|
}
|
||||||
|
|
||||||
|
void led_flash(uint8_t pin) {
|
||||||
|
led_on(pin);
|
||||||
|
_delay_ms(10);
|
||||||
|
led_off(pin);
|
||||||
|
_delay_ms(140);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void disco(){
|
||||||
|
led_flash(LED_BLUE);
|
||||||
|
led_flash(LED_RED);
|
||||||
|
led_flash(LED_GREEN);
|
||||||
|
}
|
||||||
|
|
||||||
64
libs/led/led.h
Normal file
64
libs/led/led.h
Normal 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 disco();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* LED_H_ */
|
||||||
125
libs/uart/uart.c
Normal file
125
libs/uart/uart.c
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
/*
|
||||||
|
* uart.c
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "uart.h"
|
||||||
|
|
||||||
|
char uartReceiveBuffer[UART_RECV_BUFFER_SIZE];
|
||||||
|
|
||||||
|
void uart_init() {
|
||||||
|
#if defined (__AVR_ATmega8__)
|
||||||
|
// enable receive and transmit
|
||||||
|
UCSRB |= (1 << RXEN) | (1 << TXEN);
|
||||||
|
|
||||||
|
// set frame format
|
||||||
|
//Set data frame format: asynchronous mode,no parity, 1 stop bit, 8 bit size
|
||||||
|
UCSRC=(1<<URSEL)|(0<<UMSEL)|(0<<UPM1)|(0<<UPM0)|(0<<USBS)|(0<<UCSZ2)|(1<<UCSZ1)|(1<<UCSZ0);
|
||||||
|
//UCSRC |= (1<<URSEL)|(3<<UCSZ0); // async 8n1
|
||||||
|
|
||||||
|
// set baud rate
|
||||||
|
UBRRH = UBRR_VAL >> 8;
|
||||||
|
UBRRL = UBRR_VAL & 0xFF;
|
||||||
|
#elif defined (__AVR_ATmega168P__)
|
||||||
|
// enable receive and transmit
|
||||||
|
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
|
||||||
|
|
||||||
|
// set frame format
|
||||||
|
// UCSR0C = ((1<<UCSZ01)|(1<<UCSZ00))&(0<<USBS0); // 8n1
|
||||||
|
UCSR0C = (1<<UCSZ01)|(1<<UCSZ00); // 8n2
|
||||||
|
|
||||||
|
// set baud rate
|
||||||
|
UBRR0H = UBRR_VAL >> 8;
|
||||||
|
UBRR0L = UBRR_VAL;
|
||||||
|
#else
|
||||||
|
# if !defined(__COMPILING_AVR_LIBC__)
|
||||||
|
# warning "device type not defined"
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ======================= SEND =======================
|
||||||
|
|
||||||
|
|
||||||
|
void uart_sendChar(char c) {
|
||||||
|
#if defined (__AVR_ATmega8__)
|
||||||
|
while (!(UCSRA & (1<<UDRE)));
|
||||||
|
UDR = c;
|
||||||
|
#elif defined (__AVR_ATmega168P__)
|
||||||
|
while (!(UCSR0A & (1<<UDRE0))) {}
|
||||||
|
UDR0 = c;
|
||||||
|
#else
|
||||||
|
# if !defined(__COMPILING_AVR_LIBC__)
|
||||||
|
# warning "device type not defined"
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void uart_sendInt(int c) {
|
||||||
|
char m[7];
|
||||||
|
itoa(c,m,10);
|
||||||
|
uart_sendString(m);
|
||||||
|
}
|
||||||
|
|
||||||
|
void uart_sendBinary(int c) {
|
||||||
|
char m[7];
|
||||||
|
itoa(c,m,2);
|
||||||
|
uart_sendString(m);
|
||||||
|
}
|
||||||
|
|
||||||
|
void uart_sendHex(int c) {
|
||||||
|
char m[7];
|
||||||
|
itoa(c,m,16);
|
||||||
|
uart_sendString(m);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void uart_sendString(char *s) {
|
||||||
|
while (*s != '\0') {
|
||||||
|
uart_sendChar(*s);
|
||||||
|
s++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void uart_sendLF() {
|
||||||
|
uart_sendChar('\n');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ======================= RECEIVE =======================
|
||||||
|
|
||||||
|
char uart_receiveChar() {
|
||||||
|
#if defined (__AVR_ATmega8__)
|
||||||
|
while (!(UCSRA & (1<<RXC)));
|
||||||
|
return UDR;
|
||||||
|
#elif defined (__AVR_ATmega168P__)
|
||||||
|
while ( !(UCSR0A & (1<<RXC0)) );
|
||||||
|
return UDR0;
|
||||||
|
#else
|
||||||
|
# if !defined(__COMPILING_AVR_LIBC__)
|
||||||
|
# warning "device type not defined"
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
char* uart_receiveString() {
|
||||||
|
char nextChar;
|
||||||
|
char stringLen = 0;
|
||||||
|
|
||||||
|
char *startPtr = uartReceiveBuffer;
|
||||||
|
char *bufferPtr = uartReceiveBuffer;
|
||||||
|
|
||||||
|
nextChar = uart_receiveChar();
|
||||||
|
while( nextChar != '\n' && nextChar != '\0' && stringLen < UART_RECV_BUFFER_SIZE - 1 ) {
|
||||||
|
*(bufferPtr++) = nextChar;
|
||||||
|
stringLen++;
|
||||||
|
nextChar = uart_receiveChar();
|
||||||
|
}
|
||||||
|
|
||||||
|
*bufferPtr = '\0';
|
||||||
|
|
||||||
|
return startPtr;
|
||||||
|
}
|
||||||
41
libs/uart/uart.h
Normal file
41
libs/uart/uart.h
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
/*
|
||||||
|
* uart.h
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <avr/io.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#ifndef UART_H_
|
||||||
|
#define UART_H_
|
||||||
|
|
||||||
|
#define UART_RECV_BUFFER_SIZE 33 // max 32 chars + '\0'
|
||||||
|
|
||||||
|
//#define BAUD 19200UL // Baudrate
|
||||||
|
#define BAUD 9600UL // Baudrate
|
||||||
|
|
||||||
|
// Berechnungen
|
||||||
|
//#define UBRR_VAL F_CPU/16/BAUD-1
|
||||||
|
#define UBRR_VAL ((F_CPU+BAUD*8UL)/(BAUD*16UL)-1UL) // clever runden
|
||||||
|
#define BAUD_REAL (F_CPU/(16UL*(UBRR_VAL+1UL))) // Reale Baudrate
|
||||||
|
#define BAUD_ERROR ((BAUD_REAL*1000)/BAUD) // Fehler in Promille, 1000 = kein Fehler.
|
||||||
|
|
||||||
|
#if ((BAUD_ERROR<990) || (BAUD_ERROR>1010))
|
||||||
|
#error Baud rate error greater than 1% - too high!
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
void uart_init();
|
||||||
|
|
||||||
|
void uart_sendChar(char c);
|
||||||
|
void uart_sendString (char *s);
|
||||||
|
void uart_sendBinary(int c);
|
||||||
|
void uart_sendInt(int c);
|
||||||
|
void uart_sendHex(int c);
|
||||||
|
void uart_sendLF();
|
||||||
|
|
||||||
|
|
||||||
|
char uart_receiveChar();
|
||||||
|
char* uart_receiveString();
|
||||||
|
|
||||||
|
#endif /* UART_H_ */
|
||||||
40
main.c
Normal file
40
main.c
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
/*
|
||||||
|
* main.c
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef F_CPU
|
||||||
|
// #define F_CPU 18432000UL
|
||||||
|
#define F_CPU 8000000UL
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#include <util/delay.h>
|
||||||
|
|
||||||
|
#include "libs/led/led.h"
|
||||||
|
#include "libs/uart/uart.h"
|
||||||
|
|
||||||
|
int main (void) {
|
||||||
|
led_config(LED_ACTIVE_HIGH);
|
||||||
|
led_init();
|
||||||
|
uart_init();
|
||||||
|
|
||||||
|
// forever loop
|
||||||
|
disco();
|
||||||
|
while(1){
|
||||||
|
uart_sendString("READY\n\0");
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user