20131007-181002
This commit is contained in:
parent
ab01211c70
commit
cb8cb8ec3b
20
Mainboard/Mainboard.atsln
Normal file
20
Mainboard/Mainboard.atsln
Normal file
@ -0,0 +1,20 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Atmel Studio Solution File, Format Version 11.00
|
||||
Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "Mainboard", "Mainboard\Mainboard.cproj", "{839C4697-AB18-4132-8E80-F57DDB26ADEB}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|AVR = Debug|AVR
|
||||
Release|AVR = Release|AVR
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{839C4697-AB18-4132-8E80-F57DDB26ADEB}.Debug|AVR.ActiveCfg = Debug|AVR
|
||||
{839C4697-AB18-4132-8E80-F57DDB26ADEB}.Debug|AVR.Build.0 = Debug|AVR
|
||||
{839C4697-AB18-4132-8E80-F57DDB26ADEB}.Release|AVR.ActiveCfg = Release|AVR
|
||||
{839C4697-AB18-4132-8E80-F57DDB26ADEB}.Release|AVR.Build.0 = Release|AVR
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
BIN
Mainboard/Mainboard.atsuo
Normal file
BIN
Mainboard/Mainboard.atsuo
Normal file
Binary file not shown.
68
Mainboard/Mainboard/Debug/Mainboard.d
Normal file
68
Mainboard/Mainboard/Debug/Mainboard.d
Normal file
@ -0,0 +1,68 @@
|
||||
Mainboard.d Mainboard.o: .././Mainboard.c .././config.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/inttypes.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay_basic.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/math.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdbool.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/interrupt.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/sfr_defs.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/iom32u2.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/portpins.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/common.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h \
|
||||
.././led.h .././rs232.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdio.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdarg.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stddef.h \
|
||||
.././usb.h
|
||||
|
||||
.././config.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/inttypes.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay_basic.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/math.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdbool.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/interrupt.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/sfr_defs.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/iom32u2.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/portpins.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/common.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h:
|
||||
|
||||
.././led.h:
|
||||
|
||||
.././rs232.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdio.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdarg.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stddef.h:
|
||||
|
||||
.././usb.h:
|
1
Mainboard/Mainboard/Debug/Mainboard.eep
Normal file
1
Mainboard/Mainboard/Debug/Mainboard.eep
Normal file
@ -0,0 +1 @@
|
||||
:00000001FF
|
BIN
Mainboard/Mainboard/Debug/Mainboard.elf
Normal file
BIN
Mainboard/Mainboard/Debug/Mainboard.elf
Normal file
Binary file not shown.
245
Mainboard/Mainboard/Debug/Mainboard.hex
Normal file
245
Mainboard/Mainboard/Debug/Mainboard.hex
Normal file
@ -0,0 +1,245 @@
|
||||
:100000000C9461000C947E000C947E000C947E0095
|
||||
:100010000C947E000C947E000C947E000C947E0068
|
||||
:100020000C947E000C947E000C947E000C9434039F
|
||||
:100030000C945C030C947E000C947E000C947E0067
|
||||
:100040000C947E000C947E000C947E000C947E0038
|
||||
:100050000C947E000C947E000C947E000C947E0028
|
||||
:100060000C947E000C947E000C947E000C947E0018
|
||||
:100070000C947E0012010002FF000010ADDEEEBE07
|
||||
:1000800000010102030104030904140342006C008F
|
||||
:10009000750062006200460069007300680000009D
|
||||
:1000A00020034800610063006B00650072002D00B2
|
||||
:1000B0004A0065006F007000610072006400790002
|
||||
:1000C000000011241FBECFEFD4E0DEBFCDBF11E092
|
||||
:1000D000A0E0B1E0E6EFFEE002C005900D92AE3385
|
||||
:1000E000B107D9F721E0AEE3B1E001C01D92AA3417
|
||||
:1000F000B207E1F70E9433010C9479070C940000D9
|
||||
:1001000095B19F7195B995B18295880F807E982B96
|
||||
:1001100095B9089584B1806E84B9089586E090E021
|
||||
:100120000E94800078940E948A000E944E010E94E2
|
||||
:10013000BA0108952F923F924F925F926F927F92F1
|
||||
:100140008F929F92AF92BF92CF92DF92EF92FF92E7
|
||||
:100150000F931F93CF93DF937C018B015A01C0E073
|
||||
:10016000D0E0212C312C422C532C2CC0862C972CE7
|
||||
:10017000C7010E9480008FEF881A980A8FEF8816B7
|
||||
:100180009104B1F71C161D065CF4842C952CC80153
|
||||
:100190000E9480008FEF881A980A8C169D06B9F786
|
||||
:1001A0008FEFC81AD80ACA14DB0421F407C0610112
|
||||
:1001B0006C2E7D2ECF3FD105CCF2E4CF2196CF3FE0
|
||||
:1001C000D10521F01A141B0494F3F8CFDF91CF91DD
|
||||
:1001D0001F910F91FF90EF90DF90CF90BF90AF9065
|
||||
:1001E0009F908F907F906F905F904F903F902F9057
|
||||
:1001F0000895C82F4AE050E064E070E087E090E0A6
|
||||
:100200000E949A004C2F50E066E070E084E090E09D
|
||||
:100210000E949A004C2F50E062E070E086E090E08F
|
||||
:100220000E949A004C2F50E063E070E082E090E082
|
||||
:100230000E949A004C2F50E061E070E083E090E073
|
||||
:100240000E949A004C2F50E065E070E081E090E061
|
||||
:100250000E949A004C2F50E064E070E085E090E04E
|
||||
:100260000E949A00CFCF0E948E0082E090E00E9410
|
||||
:1002700080008CE30E94F900CF93C82F8A3019F4D4
|
||||
:100280008DE00E943C01E8ECF0E0908195FFFDCF0D
|
||||
:10029000C093CE0080E090E0CF91089586E08093F7
|
||||
:1002A000CA00E9ECF0E080818860808387E6809373
|
||||
:1002B000CC0080E091E0909347018093460108953F
|
||||
:1002C000CF93DF93CDB7DEB760970FB6F894DEBF5C
|
||||
:1002D0000FBECDBF2CE0E5E1F1E0DE01119601900B
|
||||
:1002E0000D922A95E1F71D861E861F86188AFC014D
|
||||
:1002F0002081233C51F48181813049F460E1CE01B9
|
||||
:1003000001960E94E20281E003C080E001C080E02B
|
||||
:1003100060960FB6F894DEBF0FBECDBFDF91CF91D0
|
||||
:100320000895CF93DF93CDB7DEB7A0970FB6F894BB
|
||||
:10033000DEBF0FBECDBF8130A1F440E2BE016F5FD2
|
||||
:100340007F4F0E94BD02882361F018A2CE01019662
|
||||
:100350000E94540740E2BE016F5F7F4F81E80E9418
|
||||
:100360000503A0960FB6F894DEBF0FBECDBFDF9198
|
||||
:10037000CF9108950E94BD01089580EA8093D8002E
|
||||
:1003800086E089BD09B400FEFDCF80E88093D800E7
|
||||
:100390001092E00010923E018FEF80930E013C9886
|
||||
:1003A00088E08093E20008952F923F924F925F92EF
|
||||
:1003B0007F928F929F92AF92CF92DF92EF92FF92B5
|
||||
:1003C0000F931F93CF93DF93282F90E06CE070E0A2
|
||||
:1003D0000E940A06FC01EB5DFE4F822F90E06CE06C
|
||||
:1003E00070E00E940A06895D9E4F41E00F2EF9EEF3
|
||||
:1003F000CF2ED12CF02D0F2EFBEEEF2EF12CF02D69
|
||||
:10040000AA24A3940CEE10E06DEE70E00F2EF0EF36
|
||||
:100410004F2E512CF02D6894992492F8812C6894D9
|
||||
:10042000772474F8DF0120812F3F59F1E6014883DA
|
||||
:10043000E701A8822081E80128831C019C0121504A
|
||||
:100440003109E9012881203841F0203441F020327F
|
||||
:1004500041F0203141F4372D07C030E405C030E3CE
|
||||
:1004600003C030E201C0382DE1012881232BEB01CC
|
||||
:1004700028832C9120FF03C0D2011C9202C0E2010C
|
||||
:1004800098824F5F33960396453061F6EAEEF0E0CE
|
||||
:100490008EE180831082DF91CF911F910F91FF90A9
|
||||
:1004A000EF90DF90CF90AF909F908F907F905F9074
|
||||
:1004B0004F903F902F900895E8EEF0E08081857096
|
||||
:1004C000E9F30895AF92BF92CF92DF92EF92FF923D
|
||||
:1004D0000F931F93CF93DF93D82ED62FC72FE42FE0
|
||||
:1004E000F0E02E173F0710F4C22E01C0C42E0E9468
|
||||
:1004F0005C020D2F1C2F6894AA24A4F80F2EF8EE8E
|
||||
:10050000EF2EF12CF02D0F2EFEEFBF2EF02DC1EFB0
|
||||
:10051000D0E02C2D80E18C1508F42A2D2223D9F06F
|
||||
:10052000F801922FDD2011F0808101C08491888331
|
||||
:10053000915031969111F6CF622F615070E06F5F4C
|
||||
:100540007F4F060F171FC21AF701B082C11007C0F4
|
||||
:10055000203129F007C0F701B082CC2019F00E94A9
|
||||
:100560005C02D7CFDF91CF911F910F91FF90EF9059
|
||||
:10057000DF90CF90BF90AF9008958093E900909165
|
||||
:10058000F200941708F4492F4423D1F0362FE62FB8
|
||||
:10059000F72FA1EFB0E09C9191939E2F931B94179E
|
||||
:1005A000D0F39091F20091110BC021E030E002C035
|
||||
:1005B000220F331F8A95E2F7EAEEF0E020831082E3
|
||||
:1005C000842F08956623E9F01092E900E8EEF0E048
|
||||
:1005D000208120FFFDCF2091F200211114C0282F8F
|
||||
:1005E000E82FF92FA1EFB0E081918C938E2F821B21
|
||||
:1005F0008617D0F3E8EEF0E080818E7F808381E083
|
||||
:10060000089580E0089580E00895CF93DF93442318
|
||||
:1006100029F18093E900E8EEF0E0808180FFFDCFD2
|
||||
:100620008091F20081111CC0962FE62FF72FA8EEC3
|
||||
:10063000B0E0C1EFD0E08C9185FF02C0808188835B
|
||||
:1006400031968E2F891B8417B0F3E8EEF0E080819D
|
||||
:100650008E7F80838FE7808381E003C080E001C0CC
|
||||
:1006600080E0DF91CF9108951F920F920FB60F9205
|
||||
:1006700011248F93EF93FF93E1EEF0E080811082DD
|
||||
:1006800083FF12C01092E90081E08093EB0010928A
|
||||
:10069000EC0082E18093ED0088E08093F0001092FE
|
||||
:1006A0003E018FEF80930E01FF91EF918F910F909C
|
||||
:1006B0000FBE0F901F9018951F920F920FB60F92BA
|
||||
:1006C00011243F924F925F926F927F928F929F92EE
|
||||
:1006D000AF92BF92CF92DF92EF92FF920F931F9350
|
||||
:1006E0002F933F934F935F936F937F938F939F933A
|
||||
:1006F000AF93BF93EF93FF93CF93DF93CDB7DEB765
|
||||
:100700002A97DEBFCDBF8091F40080FF4CC21092CB
|
||||
:10071000E9008091E80083FF13C2E1EFF0E08081FF
|
||||
:10072000898380818A83208130E03C832B834081D0
|
||||
:10073000942F80E0822B932B9C838B83208130E04D
|
||||
:100740003E832D834081942F80E0822B932B9E83C8
|
||||
:100750008D83208130E038872F834081942F80E083
|
||||
:10076000822B932B98878F8382EF8093E8008A8176
|
||||
:10077000863009F024C18B819C81811523E092078A
|
||||
:1007800009F4FBC048F4811551E0950779F0811513
|
||||
:10079000924009F010C124C08130B3E09B0709F4F6
|
||||
:1007A000F6C08230934009F006C1FBC0E4E7F0E0F8
|
||||
:1007B00044912F813885BF0180E00E94620202C20D
|
||||
:1007C0009A2F50815F3F09F49B2F490F8150339638
|
||||
:1007D0008111F6CF2F5F3F4F2230310539F410C021
|
||||
:1007E00020E030E040E014E0A1E0B0E0C9016CE0BE
|
||||
:1007F00070E00E940A06FC01EB5DFE4F812FE0CF06
|
||||
:10080000842F880F880F880F841B0F2EFBE1EF2E9B
|
||||
:10081000F02DE80E8E2D90E00E941C06082F192F57
|
||||
:1008200089E0D8018C9382E011968C9311971296EF
|
||||
:10083000EC92129713961C92139714968C9314971C
|
||||
:1008400081E015968C93159716961C92169780EC5E
|
||||
:1008500017968C9317978AEF18968C93F801399610
|
||||
:100860001A86198644E0A12C88248394F82C9A2CAB
|
||||
:100870000F2EF9E07F2EF02DDD24DA940F2EF7E015
|
||||
:10088000BF2EF02D0F2EF5E0CF2EF02D68946624AC
|
||||
:1008900061F80F2EF3E05F2EF02D56C07F2DDC01A6
|
||||
:1008A0002C912F3F09F4792D670F51500396511168
|
||||
:1008B000F5CF70824183428213826483D58216828F
|
||||
:1008C000D782108639966623C1F1832F932D6CE071
|
||||
:1008D00070E00E940A069C012A5D3E4F482CC90127
|
||||
:1008E000B90161507109DB015C915F3F01F1B08298
|
||||
:1008F000C182652F679566276795642962835134A5
|
||||
:1009000041F0503441F0513841F0503841F4562D07
|
||||
:1009100007C05F2D05C05F2D03C0562D01C0552DAA
|
||||
:100920005383DC018C91848315821682379643941D
|
||||
:100930002D5F3F4FB5E04B12D2CFA985BA851196F6
|
||||
:10094000BA87A987129771F04984342D3A84842D8F
|
||||
:10095000932D6CE070E00E940A068B5D9E4F542F31
|
||||
:100960006A2D9CCF2F8138854E2DB80181E00E94E1
|
||||
:100970006202C8010E94B70625C1E6E8F0E0449192
|
||||
:100980002F813885BF0180E00E9462021BC1EAE826
|
||||
:10099000F0E044912F813885BF0180E00E9462021F
|
||||
:1009A00011C1E0EAF0E044912F813885BF0180E079
|
||||
:1009B0000E94620207C181E28093EB0003C185308F
|
||||
:1009C00071F48EEF8093E800E8EEF0E0808180FF24
|
||||
:1009D000FDCF8B819C8180688093E300F3C08930D8
|
||||
:1009E000C1F49981911160C08B819C81019769F458
|
||||
:1009F00081E080933E018EEF8093E80010920E011B
|
||||
:100A000080910E010E94D401DDC081E28093EB0051
|
||||
:100A1000D9C0883089F49981903809F057C0E8EE40
|
||||
:100A2000F0E0808180FFFDCF80913E018093F10056
|
||||
:100A30008EEF8093E800C6C081111CC0E8EEF0E0A4
|
||||
:100A4000808180FFFDCF8981823859F48D81E9EE64
|
||||
:100A5000F0E080838091EB0085FB882780F910828D
|
||||
:100A600001C080E0E1EFF0E0808310828EEF8093A0
|
||||
:100A7000E800A8C08B30C1F48981803211F0811167
|
||||
:100A800055C08D819E818230910550F480930E0176
|
||||
:100A90008EEF8093E80080910E010E94D40192C0F5
|
||||
:100AA00081E28093EB008EC08A3081F489818038A6
|
||||
:100AB000E9F5E8EEF0E0808180FFFDCF80910E0146
|
||||
:100AC0008093F1008EEF8093E8007CC0813011F0BC
|
||||
:100AD000833061F58981823049F58B819C81892B36
|
||||
:100AE00029F58D819E818F779927382F31503430A9
|
||||
:100AF000E8F43EEF3093E8008093E9002A81233048
|
||||
:100B000021F481E28093EB005DC099E19093EB00CA
|
||||
:100B100021E030E0F90102C0EE0FFF1F8A95E2F7F5
|
||||
:100B2000CF01EAEEF0E0808310824CC0CE01019646
|
||||
:100B30000E946001811146C081E28093EB0042C0B7
|
||||
:100B400081E28093EB002FC0F22E408150E0022E14
|
||||
:100B500002C0559547950A94E2F740FF1BC0DB01A0
|
||||
:100B60002C93D6018C9182FF13C08091F2008823D0
|
||||
:100B700041F06091F20070E0822F0E949101F092AA
|
||||
:100B8000E900E8EEF0E089EF80838FE780831AC008
|
||||
:100B9000D8019C932F5F3F4F25303105A9F681E2A4
|
||||
:100BA0008093EB000FC021E030E0E4EFF0E069EE6D
|
||||
:100BB00070E00F2EF8EECF2ED12CF02D0BEE10E0C2
|
||||
:100BC00091E2C2CF2A960FB6F894DEBF0FBECDBF1A
|
||||
:100BD000DF91CF91FF91EF91BF91AF919F918F9155
|
||||
:100BE0007F916F915F914F913F912F911F910F9145
|
||||
:100BF000FF90EF90DF90CF90BF90AF909F908F903D
|
||||
:100C00007F906F905F904F903F900F900FBE0F902E
|
||||
:100C10001F9018955527002480FF02C0060E571F0D
|
||||
:100C2000660F771F6115710521F0969587950097DE
|
||||
:100C300099F7952F802D08950F931F93CF93DF93EE
|
||||
:100C40008230910510F482E090E0E0914201F09151
|
||||
:100C5000430120E030E0C0E0D0E023C0408151817A
|
||||
:100C600048175907A8F04817590761F48281938102
|
||||
:100C7000209719F09B838A832EC090934301809321
|
||||
:100C8000420129C02115310529F04217530710F000
|
||||
:100C9000A90102C0BE01DF0102811381EF019A01A7
|
||||
:100CA000F8013097D9F62115310509F1281B390BC8
|
||||
:100CB0002430310590F412968D919C911397611513
|
||||
:100CC000710521F0FB019383828304C0909343015B
|
||||
:100CD00080934201FD01329644C0FD01E20FF31FF3
|
||||
:100CE00081939193225031092D933C933AC02091E6
|
||||
:100CF000400130914101232B41F4209111013091A9
|
||||
:100D00001201309341012093400120910F01309155
|
||||
:100D100010012115310541F42DB73EB74091130163
|
||||
:100D200050911401241B350BE0914001F0914101D9
|
||||
:100D3000E217F307A0F42E1B3F0B2817390778F0B2
|
||||
:100D4000AC014E5F5F4F2417350748F04E0F5F1F11
|
||||
:100D500050934101409340018193919302C0E0E0A0
|
||||
:100D6000F0E0CF01DF91CF911F910F910895EF92A5
|
||||
:100D7000FF920F931F93CF93DF93009709F48FC0D7
|
||||
:100D8000DC01129713961C921E921297E09042017A
|
||||
:100D9000F0904301E114F10489F42D913C911197F5
|
||||
:100DA000280F391F809140019091410182179307CC
|
||||
:100DB00089F5B0934101A093400171C0E70120E0A3
|
||||
:100DC00030E001C0EA01CA17DB0738F44A815B81D1
|
||||
:100DD0009E0141155105B1F722C0BC016250710955
|
||||
:100DE000FB01D383C28300811181AC01400F511FED
|
||||
:100DF0004C175D0761F448815981400F511F4E5FC8
|
||||
:100E00005F4F518340834A815B8153834283211525
|
||||
:100E1000310529F4B0934301A093420140C0F90188
|
||||
:100E2000B383A283E90169917991C60FD71FAC17EB
|
||||
:100E3000BD0779F4DC015E914E91460F571F4E5F5E
|
||||
:100E40005F4F5183408312968D919C9113979383AA
|
||||
:100E50008283A0E0B0E002C0D7017C01F70182816B
|
||||
:100E600093810097C9F7C701029620813181820FD3
|
||||
:100E7000931F20914001309141012817390779F4DF
|
||||
:100E8000109729F4109243011092420104C0139666
|
||||
:100E90001C921E921297F0924101E0924001CDB750
|
||||
:100EA000DEB7E6E00C946A07DC016C9161566A31AA
|
||||
:100EB00008F0605E6F5B6D93C1F708952A883988EA
|
||||
:100EC00048885F846E847D848C849B84AA84B984E2
|
||||
:100ED000C884DF80EE80FD800C811B81AA81B981EE
|
||||
:100EE000CE0FD11D0FB6F894DEBF0FBECDBFED0102
|
||||
:060EF0000895F894FFCF05
|
||||
:100EF60000000002000000003C0100000000FF00AE
|
||||
:100F0600004A01200056657273696F6E20312E30DB
|
||||
:100F16000000000000802002812002FF2002FF2046
|
||||
:0E0F260002FF2002FF2002FF2002FF20020037
|
||||
:00000001FF
|
2502
Mainboard/Mainboard/Debug/Mainboard.lss
Normal file
2502
Mainboard/Mainboard/Debug/Mainboard.lss
Normal file
File diff suppressed because it is too large
Load Diff
754
Mainboard/Mainboard/Debug/Mainboard.map
Normal file
754
Mainboard/Mainboard/Debug/Mainboard.map
Normal file
@ -0,0 +1,754 @@
|
||||
Archive member included because of file (symbol)
|
||||
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulhi3.o)
|
||||
usb_user.o (__mulhi3)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o (exit)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_copy_data.o)
|
||||
rs232.o (__do_copy_data)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_clear_bss.o)
|
||||
usb_user.o (__do_clear_bss)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o)
|
||||
usb_user.o (malloc)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strupr.o)
|
||||
usb.o (strupr)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fprintf.o)
|
||||
rs232.o (fprintf)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(iob.o)
|
||||
rs232.o (__iob)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fprintf.o) (vfprintf)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen_P.o)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o) (strnlen_P)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen.o)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o) (strnlen)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o) (fputc)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(ultoa_invert.o)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o) (__ultoa_invert)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o) (__mulqi3)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fprintf.o) (__prologue_saves__)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
|
||||
c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o) (__epilogue_restores__)
|
||||
|
||||
Allocating common symbols
|
||||
Common symbol size file
|
||||
|
||||
__brkval 0x2 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o)
|
||||
__flp 0x2 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o)
|
||||
__iob 0x6 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(iob.o)
|
||||
|
||||
Discarded input sections
|
||||
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o
|
||||
.text 0x00000000 0x0 led.o
|
||||
.bss 0x00000000 0x0 led.o
|
||||
.text 0x00000000 0x0 Mainboard.o
|
||||
.bss 0x00000000 0x0 Mainboard.o
|
||||
.text 0x00000000 0x0 rs232.o
|
||||
.bss 0x00000000 0x0 rs232.o
|
||||
.text.rs232_send
|
||||
0x00000000 0x1a rs232.o
|
||||
.text 0x00000000 0x0 usb.o
|
||||
.bss 0x00000000 0x0 usb.o
|
||||
.text.usb_send
|
||||
0x00000000 0xc usb.o
|
||||
.text 0x00000000 0x0 usb_user.o
|
||||
.text.usb_status
|
||||
0x00000000 0x1c usb_user.o
|
||||
.text.usb_configuration
|
||||
0x00000000 0x6 usb_user.o
|
||||
.text.usb_interface
|
||||
0x00000000 0x6 usb_user.o
|
||||
.text.usb_freebuffer
|
||||
0x00000000 0x1e usb_user.o
|
||||
.text.usb_rxavail
|
||||
0x00000000 0xa usb_user.o
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulhi3.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulhi3.o)
|
||||
.text.libgcc.div
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulhi3.o)
|
||||
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulhi3.o)
|
||||
.text.libgcc.prologue
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulhi3.o)
|
||||
.text.libgcc.builtins
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulhi3.o)
|
||||
.text.libgcc.fmul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulhi3.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
|
||||
.text.libgcc.mul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
|
||||
.text.libgcc.div
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
|
||||
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
|
||||
.text.libgcc.prologue
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
|
||||
.text.libgcc.builtins
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
|
||||
.text.libgcc.fmul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_copy_data.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_copy_data.o)
|
||||
.text.libgcc.mul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_copy_data.o)
|
||||
.text.libgcc.div
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_copy_data.o)
|
||||
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_copy_data.o)
|
||||
.text.libgcc.prologue
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_copy_data.o)
|
||||
.text.libgcc.builtins
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_copy_data.o)
|
||||
.text.libgcc.fmul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_copy_data.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_clear_bss.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_clear_bss.o)
|
||||
.text.libgcc.mul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_clear_bss.o)
|
||||
.text.libgcc.div
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_clear_bss.o)
|
||||
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_clear_bss.o)
|
||||
.text.libgcc.prologue
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_clear_bss.o)
|
||||
.text.libgcc.builtins
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_clear_bss.o)
|
||||
.text.libgcc.fmul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_clear_bss.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strupr.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strupr.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fprintf.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fprintf.o)
|
||||
.text.avr-libc
|
||||
0x00000000 0x24 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fprintf.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(iob.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(iob.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
|
||||
.text.avr-libc
|
||||
0x00000000 0x3bc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen_P.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen_P.o)
|
||||
.text.avr-libc
|
||||
0x00000000 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen_P.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen.o)
|
||||
.text.avr-libc
|
||||
0x00000000 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
|
||||
.text.avr-libc
|
||||
0x00000000 0x58 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(ultoa_invert.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(ultoa_invert.o)
|
||||
.text.avr-libc
|
||||
0x00000000 0xc0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(ultoa_invert.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
|
||||
.text.libgcc.mul
|
||||
0x00000000 0x12 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
|
||||
.text.libgcc.div
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
|
||||
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
|
||||
.text.libgcc.prologue
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
|
||||
.text.libgcc.builtins
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
|
||||
.text.libgcc.fmul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
|
||||
.text.libgcc.mul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
|
||||
.text.libgcc.div
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
|
||||
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
|
||||
.text.libgcc.prologue
|
||||
0x00000000 0x38 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
|
||||
.text.libgcc.builtins
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
|
||||
.text.libgcc.fmul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
|
||||
.text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
|
||||
.bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
|
||||
.text.libgcc.mul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
|
||||
.text.libgcc.div
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
|
||||
.text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
|
||||
.text.libgcc.builtins
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
|
||||
.text.libgcc.fmul
|
||||
0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
|
||||
|
||||
Memory Configuration
|
||||
|
||||
Name Origin Length Attributes
|
||||
text 0x00000000 0x00010000 xr
|
||||
data 0x00800060 0x0000ffa0 rw !x
|
||||
eeprom 0x00810000 0x00010000 rw !x
|
||||
fuse 0x00820000 0x00000400 rw !x
|
||||
lock 0x00830000 0x00000400 rw !x
|
||||
signature 0x00840000 0x00000400 rw !x
|
||||
user_signatures 0x00850000 0x00000400 rw !x
|
||||
*default* 0x00000000 0xffffffff
|
||||
|
||||
Linker script and memory map
|
||||
|
||||
Address of section .data set to 0x800100
|
||||
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o
|
||||
LOAD led.o
|
||||
LOAD Mainboard.o
|
||||
LOAD rs232.o
|
||||
LOAD usb.o
|
||||
LOAD usb_user.o
|
||||
START GROUP
|
||||
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libm.a
|
||||
END GROUP
|
||||
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a
|
||||
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a
|
||||
LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a
|
||||
|
||||
.hash
|
||||
*(.hash)
|
||||
|
||||
.dynsym
|
||||
*(.dynsym)
|
||||
|
||||
.dynstr
|
||||
*(.dynstr)
|
||||
|
||||
.gnu.version
|
||||
*(.gnu.version)
|
||||
|
||||
.gnu.version_d
|
||||
*(.gnu.version_d)
|
||||
|
||||
.gnu.version_r
|
||||
*(.gnu.version_r)
|
||||
|
||||
.rel.init
|
||||
*(.rel.init)
|
||||
|
||||
.rela.init
|
||||
*(.rela.init)
|
||||
|
||||
.rel.text
|
||||
*(.rel.text)
|
||||
*(.rel.text.*)
|
||||
*(.rel.gnu.linkonce.t*)
|
||||
|
||||
.rela.text
|
||||
*(.rela.text)
|
||||
*(.rela.text.*)
|
||||
*(.rela.gnu.linkonce.t*)
|
||||
|
||||
.rel.fini
|
||||
*(.rel.fini)
|
||||
|
||||
.rela.fini
|
||||
*(.rela.fini)
|
||||
|
||||
.rel.rodata
|
||||
*(.rel.rodata)
|
||||
*(.rel.rodata.*)
|
||||
*(.rel.gnu.linkonce.r*)
|
||||
|
||||
.rela.rodata
|
||||
*(.rela.rodata)
|
||||
*(.rela.rodata.*)
|
||||
*(.rela.gnu.linkonce.r*)
|
||||
|
||||
.rel.data
|
||||
*(.rel.data)
|
||||
*(.rel.data.*)
|
||||
*(.rel.gnu.linkonce.d*)
|
||||
|
||||
.rela.data
|
||||
*(.rela.data)
|
||||
*(.rela.data.*)
|
||||
*(.rela.gnu.linkonce.d*)
|
||||
|
||||
.rel.ctors
|
||||
*(.rel.ctors)
|
||||
|
||||
.rela.ctors
|
||||
*(.rela.ctors)
|
||||
|
||||
.rel.dtors
|
||||
*(.rel.dtors)
|
||||
|
||||
.rela.dtors
|
||||
*(.rela.dtors)
|
||||
|
||||
.rel.got
|
||||
*(.rel.got)
|
||||
|
||||
.rela.got
|
||||
*(.rela.got)
|
||||
|
||||
.rel.bss
|
||||
*(.rel.bss)
|
||||
|
||||
.rela.bss
|
||||
*(.rela.bss)
|
||||
|
||||
.rel.plt
|
||||
*(.rel.plt)
|
||||
|
||||
.rela.plt
|
||||
*(.rela.plt)
|
||||
|
||||
.text 0x00000000 0xef6
|
||||
*(.vectors)
|
||||
.vectors 0x00000000 0x74 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o
|
||||
0x00000000 __vector_default
|
||||
0x00000000 __vectors
|
||||
*(.vectors)
|
||||
*(.progmem.gcc*)
|
||||
*(.progmem*)
|
||||
.progmem.data 0x00000074 0x4e usb_user.o
|
||||
0x000000c2 . = ALIGN (0x2)
|
||||
0x000000c2 __trampolines_start = .
|
||||
*(.trampolines)
|
||||
.trampolines 0x000000c2 0x0 linker stubs
|
||||
*(.trampolines*)
|
||||
0x000000c2 __trampolines_end = .
|
||||
*(.jumptables)
|
||||
*(.jumptables*)
|
||||
*(.lowtext)
|
||||
*(.lowtext*)
|
||||
0x000000c2 __ctors_start = .
|
||||
*(.ctors)
|
||||
0x000000c2 __ctors_end = .
|
||||
0x000000c2 __dtors_start = .
|
||||
*(.dtors)
|
||||
0x000000c2 __dtors_end = .
|
||||
SORT(*)(.ctors)
|
||||
SORT(*)(.dtors)
|
||||
*(.init0)
|
||||
.init0 0x000000c2 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o
|
||||
0x000000c2 __init
|
||||
*(.init0)
|
||||
*(.init1)
|
||||
*(.init1)
|
||||
*(.init2)
|
||||
.init2 0x000000c2 0xc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o
|
||||
*(.init2)
|
||||
*(.init3)
|
||||
*(.init3)
|
||||
*(.init4)
|
||||
.init4 0x000000ce 0x16 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_copy_data.o)
|
||||
0x000000ce __do_copy_data
|
||||
.init4 0x000000e4 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_clear_bss.o)
|
||||
0x000000e4 __do_clear_bss
|
||||
*(.init4)
|
||||
*(.init5)
|
||||
*(.init5)
|
||||
*(.init6)
|
||||
*(.init6)
|
||||
*(.init7)
|
||||
*(.init7)
|
||||
*(.init8)
|
||||
*(.init8)
|
||||
*(.init9)
|
||||
.init9 0x000000f4 0x8 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o
|
||||
*(.init9)
|
||||
*(.text)
|
||||
.text 0x000000fc 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o
|
||||
0x000000fc __vector_22
|
||||
0x000000fc __vector_28
|
||||
0x000000fc __vector_1
|
||||
0x000000fc __vector_24
|
||||
0x000000fc __bad_interrupt
|
||||
0x000000fc __vector_6
|
||||
0x000000fc __vector_3
|
||||
0x000000fc __vector_23
|
||||
0x000000fc __vector_25
|
||||
0x000000fc __vector_13
|
||||
0x000000fc __vector_17
|
||||
0x000000fc __vector_19
|
||||
0x000000fc __vector_7
|
||||
0x000000fc __vector_27
|
||||
0x000000fc __vector_5
|
||||
0x000000fc __vector_4
|
||||
0x000000fc __vector_9
|
||||
0x000000fc __vector_2
|
||||
0x000000fc __vector_21
|
||||
0x000000fc __vector_15
|
||||
0x000000fc __vector_8
|
||||
0x000000fc __vector_26
|
||||
0x000000fc __vector_14
|
||||
0x000000fc __vector_10
|
||||
0x000000fc __vector_16
|
||||
0x000000fc __vector_18
|
||||
0x000000fc __vector_20
|
||||
0x00000100 . = ALIGN (0x2)
|
||||
*(.text.*)
|
||||
.text.led 0x00000100 0x14 led.o
|
||||
0x00000100 led
|
||||
.text.init_led
|
||||
0x00000114 0x8 led.o
|
||||
0x00000114 init_led
|
||||
.text.init 0x0000011c 0x18 Mainboard.o
|
||||
0x0000011c init
|
||||
.text.fade 0x00000134 0xbe Mainboard.o
|
||||
0x00000134 fade
|
||||
.text.programRainbow
|
||||
0x000001f2 0x74 Mainboard.o
|
||||
0x000001f2 programRainbow
|
||||
.text.main 0x00000266 0x12 Mainboard.o
|
||||
0x00000266 main
|
||||
.text.uart_putchar
|
||||
0x00000278 0x24 rs232.o
|
||||
0x00000278 uart_putchar
|
||||
.text.init_rs232
|
||||
0x0000029c 0x24 rs232.o
|
||||
0x0000029c init_rs232
|
||||
.text.usb_controlrequest
|
||||
0x000002c0 0x62 usb.o
|
||||
0x000002c0 usb_controlrequest
|
||||
.text.usb_ep 0x00000322 0x52 usb.o
|
||||
0x00000322 usb_ep
|
||||
.text.init_usb
|
||||
0x00000374 0x6 usb.o
|
||||
0x00000374 init_usb
|
||||
.text.usb_init
|
||||
0x0000037a 0x2e usb_user.o
|
||||
0x0000037a usb_init
|
||||
.text.usb_endpoints
|
||||
0x000003a8 0x110 usb_user.o
|
||||
0x000003a8 usb_endpoints
|
||||
.text.usb_wait_in
|
||||
0x000004b8 0xc usb_user.o
|
||||
0x000004b8 usb_wait_in
|
||||
.text.usb_desc_out
|
||||
0x000004c4 0xb6 usb_user.o
|
||||
0x000004c4 usb_desc_out
|
||||
.text.usb_rxdata
|
||||
0x0000057a 0x4a usb_user.o
|
||||
0x0000057a usb_rxdata
|
||||
.text.usb_txdata_control
|
||||
0x000005c4 0x46 usb_user.o
|
||||
0x000005c4 usb_txdata_control
|
||||
.text.usb_txdata
|
||||
0x0000060a 0x5e usb_user.o
|
||||
0x0000060a usb_txdata
|
||||
.text.__vector_11
|
||||
0x00000668 0x50 usb_user.o
|
||||
0x00000668 __vector_11
|
||||
.text.__vector_12
|
||||
0x000006b8 0x55c usb_user.o
|
||||
0x000006b8 __vector_12
|
||||
.text.libgcc.mul
|
||||
0x00000c14 0x24 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulhi3.o)
|
||||
0x00000c14 __mulhi3
|
||||
.text.avr-libc
|
||||
0x00000c38 0x270 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o)
|
||||
0x00000c38 malloc
|
||||
0x00000d6e free
|
||||
.text.avr-libc
|
||||
0x00000ea8 0x14 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strupr.o)
|
||||
0x00000ea8 strupr
|
||||
.text.libgcc.prologue
|
||||
0x00000ebc 0x36 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
|
||||
0x00000ebc __epilogue_restores__
|
||||
0x00000ef2 . = ALIGN (0x2)
|
||||
*(.fini9)
|
||||
.fini9 0x00000ef2 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
|
||||
0x00000ef2 _exit
|
||||
0x00000ef2 exit
|
||||
*(.fini9)
|
||||
*(.fini8)
|
||||
*(.fini8)
|
||||
*(.fini7)
|
||||
*(.fini7)
|
||||
*(.fini6)
|
||||
*(.fini6)
|
||||
*(.fini5)
|
||||
*(.fini5)
|
||||
*(.fini4)
|
||||
*(.fini4)
|
||||
*(.fini3)
|
||||
*(.fini3)
|
||||
*(.fini2)
|
||||
*(.fini2)
|
||||
*(.fini1)
|
||||
*(.fini1)
|
||||
*(.fini0)
|
||||
.fini0 0x00000ef2 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
|
||||
*(.fini0)
|
||||
0x00000ef6 _etext = .
|
||||
|
||||
.data 0x00800100 0x3e load address 0x00000ef6
|
||||
0x00800100 PROVIDE (__data_start, .)
|
||||
*(.data)
|
||||
.data 0x00800100 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o
|
||||
.data 0x00800100 0x0 led.o
|
||||
.data 0x00800100 0x0 Mainboard.o
|
||||
.data 0x00800100 0xe rs232.o
|
||||
.data 0x0080010e 0x0 usb.o
|
||||
.data 0x0080010e 0x1 usb_user.o
|
||||
.data 0x0080010f 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulhi3.o)
|
||||
.data 0x0080010f 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_exit.o)
|
||||
.data 0x0080010f 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_copy_data.o)
|
||||
.data 0x0080010f 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_clear_bss.o)
|
||||
.data 0x0080010f 0x6 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o)
|
||||
0x0080010f __malloc_heap_end
|
||||
0x00800111 __malloc_heap_start
|
||||
0x00800113 __malloc_margin
|
||||
.data 0x00800115 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strupr.o)
|
||||
.data 0x00800115 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fprintf.o)
|
||||
.data 0x00800115 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(iob.o)
|
||||
.data 0x00800115 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
|
||||
.data 0x00800115 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen_P.o)
|
||||
.data 0x00800115 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen.o)
|
||||
.data 0x00800115 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
|
||||
.data 0x00800115 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(ultoa_invert.o)
|
||||
.data 0x00800115 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_mulqi3.o)
|
||||
.data 0x00800115 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_prologue.o)
|
||||
.data 0x00800115 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/avr35\libgcc.a(_epilogue.o)
|
||||
*(.data*)
|
||||
*(.rodata)
|
||||
.rodata 0x00800115 0x10 usb.o
|
||||
.rodata 0x00800125 0x18 usb_user.o
|
||||
*(.rodata*)
|
||||
*(.gnu.linkonce.d*)
|
||||
0x0080013e . = ALIGN (0x2)
|
||||
*fill* 0x0080013d 0x1
|
||||
0x0080013e _edata = .
|
||||
0x0080013e PROVIDE (__data_end, .)
|
||||
|
||||
.bss 0x0080013e 0xc
|
||||
0x0080013e PROVIDE (__bss_start, .)
|
||||
*(.bss)
|
||||
.bss 0x0080013e 0x2 usb_user.o
|
||||
*(.bss*)
|
||||
*(COMMON)
|
||||
COMMON 0x00800140 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o)
|
||||
0x00800140 __brkval
|
||||
0x00800142 __flp
|
||||
COMMON 0x00800144 0x6 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(iob.o)
|
||||
0x00800144 __iob
|
||||
0x0080014a PROVIDE (__bss_end, .)
|
||||
0x00000ef6 __data_load_start = LOADADDR (.data)
|
||||
0x00000f34 __data_load_end = (__data_load_start + SIZEOF (.data))
|
||||
|
||||
.noinit 0x0080014a 0x0
|
||||
0x0080014a PROVIDE (__noinit_start, .)
|
||||
*(.noinit*)
|
||||
0x0080014a PROVIDE (__noinit_end, .)
|
||||
0x0080014a _end = .
|
||||
0x0080014a PROVIDE (__heap_start, .)
|
||||
|
||||
.eeprom 0x00810000 0x0
|
||||
*(.eeprom*)
|
||||
0x00810000 __eeprom_end = .
|
||||
|
||||
.fuse
|
||||
*(.fuse)
|
||||
*(.lfuse)
|
||||
*(.hfuse)
|
||||
*(.efuse)
|
||||
|
||||
.lock
|
||||
*(.lock*)
|
||||
|
||||
.signature
|
||||
*(.signature*)
|
||||
|
||||
.user_signatures
|
||||
*(.user_signatures*)
|
||||
|
||||
.stab 0x00000000 0xd2c
|
||||
*(.stab)
|
||||
.stab 0x00000000 0x6cc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o
|
||||
.stab 0x000006cc 0x90 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strupr.o)
|
||||
0x9c (size before relaxing)
|
||||
.stab 0x0000075c 0x9c c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen_P.o)
|
||||
0xa8 (size before relaxing)
|
||||
.stab 0x000007f8 0x9c c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(strnlen.o)
|
||||
0xa8 (size before relaxing)
|
||||
.stab 0x00000894 0x498 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(ultoa_invert.o)
|
||||
0x4a4 (size before relaxing)
|
||||
|
||||
.stabstr 0x00000000 0x209
|
||||
*(.stabstr)
|
||||
.stabstr 0x00000000 0x209 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35/crtm32u2.o
|
||||
|
||||
.stab.excl
|
||||
*(.stab.excl)
|
||||
|
||||
.stab.exclstr
|
||||
*(.stab.exclstr)
|
||||
|
||||
.stab.index
|
||||
*(.stab.index)
|
||||
|
||||
.stab.indexstr
|
||||
*(.stab.indexstr)
|
||||
|
||||
.comment 0x00000000 0x2f
|
||||
*(.comment)
|
||||
.comment 0x00000000 0x2f led.o
|
||||
0x30 (size before relaxing)
|
||||
.comment 0x00000000 0x30 Mainboard.o
|
||||
.comment 0x00000000 0x30 rs232.o
|
||||
.comment 0x00000000 0x30 usb.o
|
||||
.comment 0x00000000 0x30 usb_user.o
|
||||
.comment 0x00000000 0x30 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o)
|
||||
.comment 0x00000000 0x30 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fprintf.o)
|
||||
.comment 0x00000000 0x30 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(iob.o)
|
||||
.comment 0x00000000 0x30 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
|
||||
.comment 0x00000000 0x30 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
|
||||
|
||||
.debug
|
||||
*(.debug)
|
||||
|
||||
.line
|
||||
*(.line)
|
||||
|
||||
.debug_srcinfo
|
||||
*(.debug_srcinfo)
|
||||
|
||||
.debug_sfnames
|
||||
*(.debug_sfnames)
|
||||
|
||||
.debug_aranges 0x00000000 0x1f0
|
||||
*(.debug_aranges)
|
||||
.debug_aranges
|
||||
0x00000000 0x28 led.o
|
||||
.debug_aranges
|
||||
0x00000028 0x38 Mainboard.o
|
||||
.debug_aranges
|
||||
0x00000060 0x30 rs232.o
|
||||
.debug_aranges
|
||||
0x00000090 0x38 usb.o
|
||||
.debug_aranges
|
||||
0x000000c8 0x88 usb_user.o
|
||||
.debug_aranges
|
||||
0x00000150 0x28 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o)
|
||||
.debug_aranges
|
||||
0x00000178 0x20 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fprintf.o)
|
||||
.debug_aranges
|
||||
0x00000198 0x18 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(iob.o)
|
||||
.debug_aranges
|
||||
0x000001b0 0x20 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
|
||||
.debug_aranges
|
||||
0x000001d0 0x20 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
|
||||
|
||||
.debug_pubnames
|
||||
*(.debug_pubnames)
|
||||
|
||||
.debug_info 0x00000000 0x20ca
|
||||
*(.debug_info)
|
||||
.debug_info 0x00000000 0xb7 led.o
|
||||
.debug_info 0x000000b7 0x34f Mainboard.o
|
||||
.debug_info 0x00000406 0x232 rs232.o
|
||||
.debug_info 0x00000638 0x41c usb.o
|
||||
.debug_info 0x00000a54 0xa32 usb_user.o
|
||||
.debug_info 0x00001486 0x23d c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o)
|
||||
.debug_info 0x000016c3 0x1fc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fprintf.o)
|
||||
.debug_info 0x000018bf 0x14e c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(iob.o)
|
||||
.debug_info 0x00001a0d 0x549 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
|
||||
.debug_info 0x00001f56 0x174 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
|
||||
*(.gnu.linkonce.wi.*)
|
||||
|
||||
.debug_abbrev 0x00000000 0xd9a
|
||||
*(.debug_abbrev)
|
||||
.debug_abbrev 0x00000000 0x85 led.o
|
||||
.debug_abbrev 0x00000085 0x174 Mainboard.o
|
||||
.debug_abbrev 0x000001f9 0x181 rs232.o
|
||||
.debug_abbrev 0x0000037a 0x1b8 usb.o
|
||||
.debug_abbrev 0x00000532 0x2ae usb_user.o
|
||||
.debug_abbrev 0x000007e0 0xf9 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o)
|
||||
.debug_abbrev 0x000008d9 0x139 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fprintf.o)
|
||||
.debug_abbrev 0x00000a12 0xc1 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(iob.o)
|
||||
.debug_abbrev 0x00000ad3 0x1d6 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
|
||||
.debug_abbrev 0x00000ca9 0xf1 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
|
||||
|
||||
.debug_line 0x00000000 0x10cf
|
||||
*(.debug_line)
|
||||
.debug_line 0x00000000 0xe0 led.o
|
||||
.debug_line 0x000000e0 0x178 Mainboard.o
|
||||
.debug_line 0x00000258 0x107 rs232.o
|
||||
.debug_line 0x0000035f 0x140 usb.o
|
||||
.debug_line 0x0000049f 0x485 usb_user.o
|
||||
.debug_line 0x00000924 0x1c8 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o)
|
||||
.debug_line 0x00000aec 0x14a c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fprintf.o)
|
||||
.debug_line 0x00000c36 0xc1 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(iob.o)
|
||||
.debug_line 0x00000cf7 0x2fe c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
|
||||
.debug_line 0x00000ff5 0xda c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
|
||||
|
||||
.debug_frame 0x00000000 0x510
|
||||
*(.debug_frame)
|
||||
.debug_frame 0x00000000 0x34 led.o
|
||||
.debug_frame 0x00000034 0xb0 Mainboard.o
|
||||
.debug_frame 0x000000e4 0x5c rs232.o
|
||||
.debug_frame 0x00000140 0x74 usb.o
|
||||
.debug_frame 0x000001b4 0x244 usb_user.o
|
||||
.debug_frame 0x000003f8 0x68 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o)
|
||||
.debug_frame 0x00000460 0x2c c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fprintf.o)
|
||||
.debug_frame 0x0000048c 0x4c c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
|
||||
.debug_frame 0x000004d8 0x38 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
|
||||
|
||||
.debug_str 0x00000000 0x74d
|
||||
*(.debug_str)
|
||||
.debug_str 0x00000000 0x9e led.o
|
||||
0xd2 (size before relaxing)
|
||||
.debug_str 0x0000009e 0x4c Mainboard.o
|
||||
0x118 (size before relaxing)
|
||||
.debug_str 0x000000ea 0x59 rs232.o
|
||||
0x135 (size before relaxing)
|
||||
.debug_str 0x00000143 0x158 usb.o
|
||||
0x247 (size before relaxing)
|
||||
.debug_str 0x0000029b 0x223 usb_user.o
|
||||
0x43a (size before relaxing)
|
||||
.debug_str 0x000004be 0xcd c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o)
|
||||
0x167 (size before relaxing)
|
||||
.debug_str 0x0000058b 0x79 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fprintf.o)
|
||||
0x12e (size before relaxing)
|
||||
.debug_str 0x00000604 0x4b c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(iob.o)
|
||||
0xf8 (size before relaxing)
|
||||
.debug_str 0x0000064f 0xb1 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
|
||||
0x198 (size before relaxing)
|
||||
.debug_str 0x00000700 0x4d c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
|
||||
0xf8 (size before relaxing)
|
||||
|
||||
.debug_loc 0x00000000 0x198b
|
||||
*(.debug_loc)
|
||||
.debug_loc 0x00000000 0x26 led.o
|
||||
.debug_loc 0x00000026 0x27f Mainboard.o
|
||||
.debug_loc 0x000002a5 0xee rs232.o
|
||||
.debug_loc 0x00000393 0x1b9 usb.o
|
||||
.debug_loc 0x0000054c 0x918 usb_user.o
|
||||
.debug_loc 0x00000e64 0x4f8 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o)
|
||||
.debug_loc 0x0000135c 0x21 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fprintf.o)
|
||||
.debug_loc 0x0000137d 0x51b c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
|
||||
.debug_loc 0x00001898 0xf3 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
|
||||
|
||||
.debug_macinfo
|
||||
*(.debug_macinfo)
|
||||
|
||||
.debug_pubtypes
|
||||
*(.debug_pubtypes)
|
||||
|
||||
.debug_ranges 0x00000000 0x190
|
||||
*(.debug_ranges)
|
||||
.debug_ranges 0x00000000 0x18 led.o
|
||||
.debug_ranges 0x00000018 0x70 Mainboard.o
|
||||
.debug_ranges 0x00000088 0x20 rs232.o
|
||||
.debug_ranges 0x000000a8 0x28 usb.o
|
||||
.debug_ranges 0x000000d0 0x78 usb_user.o
|
||||
.debug_ranges 0x00000148 0x18 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(malloc.o)
|
||||
.debug_ranges 0x00000160 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fprintf.o)
|
||||
.debug_ranges 0x00000170 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(vfprintf_std.o)
|
||||
.debug_ranges 0x00000180 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.2.876/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.7.2/../../../../avr/lib/avr35\libc.a(fputc.o)
|
||||
|
||||
.debug_macro
|
||||
*(.debug_macro)
|
||||
OUTPUT(Mainboard.elf elf32-avr)
|
||||
LOAD linker stubs
|
246
Mainboard/Mainboard/Debug/Mainboard.srec
Normal file
246
Mainboard/Mainboard/Debug/Mainboard.srec
Normal file
@ -0,0 +1,246 @@
|
||||
S01100004D61696E626F6172642E7372656386
|
||||
S11300000C9461000C947E000C947E000C947E0091
|
||||
S11300100C947E000C947E000C947E000C947E0064
|
||||
S11300200C947E000C947E000C947E000C9434039B
|
||||
S11300300C945C030C947E000C947E000C947E0063
|
||||
S11300400C947E000C947E000C947E000C947E0034
|
||||
S11300500C947E000C947E000C947E000C947E0024
|
||||
S11300600C947E000C947E000C947E000C947E0014
|
||||
S11300700C947E0012010002FF000010ADDEEEBE03
|
||||
S113008000010102030104030904140342006C008B
|
||||
S11300907500620062004600690073006800000099
|
||||
S11300A020034800610063006B00650072002D00AE
|
||||
S11300B04A0065006F0070006100720064007900FE
|
||||
S11300C0000011241FBECFEFD4E0DEBFCDBF11E08E
|
||||
S11300D0A0E0B1E0E6EFFEE002C005900D92AE3381
|
||||
S11300E0B107D9F721E0AEE3B1E001C01D92AA3413
|
||||
S11300F0B207E1F70E9433010C9479070C940000D5
|
||||
S113010095B19F7195B995B18295880F807E982B92
|
||||
S113011095B9089584B1806E84B9089586E090E01D
|
||||
S11301200E94800078940E948A000E944E010E94DE
|
||||
S1130130BA0108952F923F924F925F926F927F92ED
|
||||
S11301408F929F92AF92BF92CF92DF92EF92FF92E3
|
||||
S11301500F931F93CF93DF937C018B015A01C0E06F
|
||||
S1130160D0E0212C312C422C532C2CC0862C972CE3
|
||||
S1130170C7010E9480008FEF881A980A8FEF8816B3
|
||||
S11301809104B1F71C161D065CF4842C952CC8014F
|
||||
S11301900E9480008FEF881A980A8C169D06B9F782
|
||||
S11301A08FEFC81AD80ACA14DB0421F407C061010E
|
||||
S11301B06C2E7D2ECF3FD105CCF2E4CF2196CF3FDC
|
||||
S11301C0D10521F01A141B0494F3F8CFDF91CF91D9
|
||||
S11301D01F910F91FF90EF90DF90CF90BF90AF9061
|
||||
S11301E09F908F907F906F905F904F903F902F9053
|
||||
S11301F00895C82F4AE050E064E070E087E090E0A2
|
||||
S11302000E949A004C2F50E066E070E084E090E099
|
||||
S11302100E949A004C2F50E062E070E086E090E08B
|
||||
S11302200E949A004C2F50E063E070E082E090E07E
|
||||
S11302300E949A004C2F50E061E070E083E090E06F
|
||||
S11302400E949A004C2F50E065E070E081E090E05D
|
||||
S11302500E949A004C2F50E064E070E085E090E04A
|
||||
S11302600E949A00CFCF0E948E0082E090E00E940C
|
||||
S113027080008CE30E94F900CF93C82F8A3019F4D0
|
||||
S11302808DE00E943C01E8ECF0E0908195FFFDCF09
|
||||
S1130290C093CE0080E090E0CF91089586E08093F3
|
||||
S11302A0CA00E9ECF0E080818860808387E680936F
|
||||
S11302B0CC0080E091E0909347018093460108953B
|
||||
S11302C0CF93DF93CDB7DEB760970FB6F894DEBF58
|
||||
S11302D00FBECDBF2CE0E5E1F1E0DE011196019007
|
||||
S11302E00D922A95E1F71D861E861F86188AFC0149
|
||||
S11302F02081233C51F48181813049F460E1CE01B5
|
||||
S113030001960E94E20281E003C080E001C080E027
|
||||
S113031060960FB6F894DEBF0FBECDBFDF91CF91CC
|
||||
S11303200895CF93DF93CDB7DEB7A0970FB6F894B7
|
||||
S1130330DEBF0FBECDBF8130A1F440E2BE016F5FCE
|
||||
S11303407F4F0E94BD02882361F018A2CE0101965E
|
||||
S11303500E94540740E2BE016F5F7F4F81E80E9414
|
||||
S11303600503A0960FB6F894DEBF0FBECDBFDF9194
|
||||
S1130370CF9108950E94BD01089580EA8093D8002A
|
||||
S113038086E089BD09B400FEFDCF80E88093D800E3
|
||||
S11303901092E00010923E018FEF80930E013C9882
|
||||
S11303A088E08093E20008952F923F924F925F92EB
|
||||
S11303B07F928F929F92AF92CF92DF92EF92FF92B1
|
||||
S11303C00F931F93CF93DF93282F90E06CE070E09E
|
||||
S11303D00E940A06FC01EB5DFE4F822F90E06CE068
|
||||
S11303E070E00E940A06895D9E4F41E00F2EF9EEEF
|
||||
S11303F0CF2ED12CF02D0F2EFBEEEF2EF12CF02D65
|
||||
S1130400AA24A3940CEE10E06DEE70E00F2EF0EF32
|
||||
S11304104F2E512CF02D6894992492F8812C6894D5
|
||||
S1130420772474F8DF0120812F3F59F1E6014883D6
|
||||
S1130430E701A8822081E80128831C019C01215046
|
||||
S11304403109E9012881203841F0203441F020327B
|
||||
S113045041F0203141F4372D07C030E405C030E3CA
|
||||
S113046003C030E201C0382DE1012881232BEB01C8
|
||||
S113047028832C9120FF03C0D2011C9202C0E20108
|
||||
S113048098824F5F33960396453061F6EAEEF0E0CA
|
||||
S11304908EE180831082DF91CF911F910F91FF90A5
|
||||
S11304A0EF90DF90CF90AF909F908F907F905F9070
|
||||
S11304B04F903F902F900895E8EEF0E08081857092
|
||||
S11304C0E9F30895AF92BF92CF92DF92EF92FF9239
|
||||
S11304D00F931F93CF93DF93D82ED62FC72FE42FDC
|
||||
S11304E0F0E02E173F0710F4C22E01C0C42E0E9464
|
||||
S11304F05C020D2F1C2F6894AA24A4F80F2EF8EE8A
|
||||
S1130500EF2EF12CF02D0F2EFEEFBF2EF02DC1EFAC
|
||||
S1130510D0E02C2D80E18C1508F42A2D2223D9F06B
|
||||
S1130520F801922FDD2011F0808101C0849188832D
|
||||
S1130530915031969111F6CF622F615070E06F5F48
|
||||
S11305407F4F060F171FC21AF701B082C11007C0F0
|
||||
S1130550203129F007C0F701B082CC2019F00E94A5
|
||||
S11305605C02D7CFDF91CF911F910F91FF90EF9055
|
||||
S1130570DF90CF90BF90AF9008958093E900909161
|
||||
S1130580F200941708F4492F4423D1F0362FE62FB4
|
||||
S1130590F72FA1EFB0E09C9191939E2F931B94179A
|
||||
S11305A0D0F39091F20091110BC021E030E002C031
|
||||
S11305B0220F331F8A95E2F7EAEEF0E020831082DF
|
||||
S11305C0842F08956623E9F01092E900E8EEF0E044
|
||||
S11305D0208120FFFDCF2091F200211114C0282F8B
|
||||
S11305E0E82FF92FA1EFB0E081918C938E2F821B1D
|
||||
S11305F08617D0F3E8EEF0E080818E7F808381E07F
|
||||
S1130600089580E0089580E00895CF93DF93442314
|
||||
S113061029F18093E900E8EEF0E0808180FFFDCFCE
|
||||
S11306208091F20081111CC0962FE62FF72FA8EEBF
|
||||
S1130630B0E0C1EFD0E08C9185FF02C08081888357
|
||||
S113064031968E2F891B8417B0F3E8EEF0E0808199
|
||||
S11306508E7F80838FE7808381E003C080E001C0C8
|
||||
S113066080E0DF91CF9108951F920F920FB60F9201
|
||||
S113067011248F93EF93FF93E1EEF0E080811082D9
|
||||
S113068083FF12C01092E90081E08093EB00109286
|
||||
S1130690EC0082E18093ED0088E08093F0001092FA
|
||||
S11306A03E018FEF80930E01FF91EF918F910F9098
|
||||
S11306B00FBE0F901F9018951F920F920FB60F92B6
|
||||
S11306C011243F924F925F926F927F928F929F92EA
|
||||
S11306D0AF92BF92CF92DF92EF92FF920F931F934C
|
||||
S11306E02F933F934F935F936F937F938F939F9336
|
||||
S11306F0AF93BF93EF93FF93CF93DF93CDB7DEB761
|
||||
S11307002A97DEBFCDBF8091F40080FF4CC21092C7
|
||||
S1130710E9008091E80083FF13C2E1EFF0E08081FB
|
||||
S1130720898380818A83208130E03C832B834081CC
|
||||
S1130730942F80E0822B932B9C838B83208130E049
|
||||
S11307403E832D834081942F80E0822B932B9E83C4
|
||||
S11307508D83208130E038872F834081942F80E07F
|
||||
S1130760822B932B98878F8382EF8093E8008A8172
|
||||
S1130770863009F024C18B819C81811523E0920786
|
||||
S113078009F4FBC048F4811551E0950779F081150F
|
||||
S1130790924009F010C124C08130B3E09B0709F4F2
|
||||
S11307A0F6C08230934009F006C1FBC0E4E7F0E0F4
|
||||
S11307B044912F813885BF0180E00E94620202C209
|
||||
S11307C09A2F50815F3F09F49B2F490F8150339634
|
||||
S11307D08111F6CF2F5F3F4F2230310539F410C01D
|
||||
S11307E020E030E040E014E0A1E0B0E0C9016CE0BA
|
||||
S11307F070E00E940A06FC01EB5DFE4F812FE0CF02
|
||||
S1130800842F880F880F880F841B0F2EFBE1EF2E97
|
||||
S1130810F02DE80E8E2D90E00E941C06082F192F53
|
||||
S113082089E0D8018C9382E011968C9311971296EB
|
||||
S1130830EC92129713961C92139714968C93149718
|
||||
S113084081E015968C93159716961C92169780EC5A
|
||||
S113085017968C9317978AEF18968C93F80139960C
|
||||
S11308601A86198644E0A12C88248394F82C9A2CA7
|
||||
S11308700F2EF9E07F2EF02DDD24DA940F2EF7E011
|
||||
S1130880BF2EF02D0F2EF5E0CF2EF02D68946624A8
|
||||
S113089061F80F2EF3E05F2EF02D56C07F2DDC01A2
|
||||
S11308A02C912F3F09F4792D670F51500396511164
|
||||
S11308B0F5CF70824183428213826483D58216828B
|
||||
S11308C0D782108639966623C1F1832F932D6CE06D
|
||||
S11308D070E00E940A069C012A5D3E4F482CC90123
|
||||
S11308E0B90161507109DB015C915F3F01F1B08294
|
||||
S11308F0C182652F679566276795642962835134A1
|
||||
S113090041F0503441F0513841F0503841F4562D03
|
||||
S113091007C05F2D05C05F2D03C0562D01C0552DA6
|
||||
S11309205383DC018C918483158216823796439419
|
||||
S11309302D5F3F4FB5E04B12D2CFA985BA851196F2
|
||||
S1130940BA87A987129771F04984342D3A84842D8B
|
||||
S1130950932D6CE070E00E940A068B5D9E4F542F2D
|
||||
S11309606A2D9CCF2F8138854E2DB80181E00E94DD
|
||||
S11309706202C8010E94B70625C1E6E8F0E044918E
|
||||
S11309802F813885BF0180E00E9462021BC1EAE822
|
||||
S1130990F0E044912F813885BF0180E00E9462021B
|
||||
S11309A011C1E0EAF0E044912F813885BF0180E075
|
||||
S11309B00E94620207C181E28093EB0003C185308B
|
||||
S11309C071F48EEF8093E800E8EEF0E0808180FF20
|
||||
S11309D0FDCF8B819C8180688093E300F3C08930D4
|
||||
S11309E0C1F49981911160C08B819C81019769F454
|
||||
S11309F081E080933E018EEF8093E80010920E0117
|
||||
S1130A0080910E010E94D401DDC081E28093EB004D
|
||||
S1130A10D9C0883089F49981903809F057C0E8EE3C
|
||||
S1130A20F0E0808180FFFDCF80913E018093F10052
|
||||
S1130A308EEF8093E800C6C081111CC0E8EEF0E0A0
|
||||
S1130A40808180FFFDCF8981823859F48D81E9EE60
|
||||
S1130A50F0E080838091EB0085FB882780F9108289
|
||||
S1130A6001C080E0E1EFF0E0808310828EEF80939C
|
||||
S1130A70E800A8C08B30C1F48981803211F0811163
|
||||
S1130A8055C08D819E818230910550F480930E0172
|
||||
S1130A908EEF8093E80080910E010E94D40192C0F1
|
||||
S1130AA081E28093EB008EC08A3081F489818038A2
|
||||
S1130AB0E9F5E8EEF0E0808180FFFDCF80910E0142
|
||||
S1130AC08093F1008EEF8093E8007CC0813011F0B8
|
||||
S1130AD0833061F58981823049F58B819C81892B32
|
||||
S1130AE029F58D819E818F779927382F31503430A5
|
||||
S1130AF0E8F43EEF3093E8008093E9002A81233044
|
||||
S1130B0021F481E28093EB005DC099E19093EB00C6
|
||||
S1130B1021E030E0F90102C0EE0FFF1F8A95E2F7F1
|
||||
S1130B20CF01EAEEF0E0808310824CC0CE01019642
|
||||
S1130B300E946001811146C081E28093EB0042C0B3
|
||||
S1130B4081E28093EB002FC0F22E408150E0022E10
|
||||
S1130B5002C0559547950A94E2F740FF1BC0DB019C
|
||||
S1130B602C93D6018C9182FF13C08091F2008823CC
|
||||
S1130B7041F06091F20070E0822F0E949101F092A6
|
||||
S1130B80E900E8EEF0E089EF80838FE780831AC004
|
||||
S1130B90D8019C932F5F3F4F25303105A9F681E2A0
|
||||
S1130BA08093EB000FC021E030E0E4EFF0E069EE69
|
||||
S1130BB070E00F2EF8EECF2ED12CF02D0BEE10E0BE
|
||||
S1130BC091E2C2CF2A960FB6F894DEBF0FBECDBF16
|
||||
S1130BD0DF91CF91FF91EF91BF91AF919F918F9151
|
||||
S1130BE07F916F915F914F913F912F911F910F9141
|
||||
S1130BF0FF90EF90DF90CF90BF90AF909F908F9039
|
||||
S1130C007F906F905F904F903F900F900FBE0F902A
|
||||
S1130C101F9018955527002480FF02C0060E571F09
|
||||
S1130C20660F771F6115710521F0969587950097DA
|
||||
S1130C3099F7952F802D08950F931F93CF93DF93EA
|
||||
S1130C408230910510F482E090E0E0914201F0914D
|
||||
S1130C50430120E030E0C0E0D0E023C04081518176
|
||||
S1130C6048175907A8F04817590761F482819381FE
|
||||
S1130C70209719F09B838A832EC09093430180931D
|
||||
S1130C80420129C02115310529F04217530710F0FC
|
||||
S1130C90A90102C0BE01DF0102811381EF019A01A3
|
||||
S1130CA0F8013097D9F62115310509F1281B390BC4
|
||||
S1130CB02430310590F412968D919C91139761150F
|
||||
S1130CC0710521F0FB019383828304C09093430157
|
||||
S1130CD080934201FD01329644C0FD01E20FF31FEF
|
||||
S1130CE081939193225031092D933C933AC02091E2
|
||||
S1130CF0400130914101232B41F4209111013091A5
|
||||
S1130D001201309341012093400120910F01309151
|
||||
S1130D1010012115310541F42DB73EB7409113015F
|
||||
S1130D2050911401241B350BE0914001F0914101D5
|
||||
S1130D30E217F307A0F42E1B3F0B2817390778F0AE
|
||||
S1130D40AC014E5F5F4F2417350748F04E0F5F1F0D
|
||||
S1130D5050934101409340018193919302C0E0E09C
|
||||
S1130D60F0E0CF01DF91CF911F910F910895EF92A1
|
||||
S1130D70FF920F931F93CF93DF93009709F48FC0D3
|
||||
S1130D80DC01129713961C921E921297E090420176
|
||||
S1130D90F0904301E114F10489F42D913C911197F1
|
||||
S1130DA0280F391F809140019091410182179307C8
|
||||
S1130DB089F5B0934101A093400171C0E70120E09F
|
||||
S1130DC030E001C0EA01CA17DB0738F44A815B81CD
|
||||
S1130DD09E0141155105B1F722C0BC016250710951
|
||||
S1130DE0FB01D383C28300811181AC01400F511FE9
|
||||
S1130DF04C175D0761F448815981400F511F4E5FC4
|
||||
S1130E005F4F518340834A815B8153834283211521
|
||||
S1130E10310529F4B0934301A093420140C0F90184
|
||||
S1130E20B383A283E90169917991C60FD71FAC17E7
|
||||
S1130E30BD0779F4DC015E914E91460F571F4E5F5A
|
||||
S1130E405F4F5183408312968D919C9113979383A6
|
||||
S1130E508283A0E0B0E002C0D7017C01F701828167
|
||||
S1130E6093810097C9F7C701029620813181820FCF
|
||||
S1130E70931F20914001309141012817390779F4DB
|
||||
S1130E80109729F4109243011092420104C0139662
|
||||
S1130E901C921E921297F0924101E0924001CDB74C
|
||||
S1130EA0DEB7E6E00C946A07DC016C9161566A31A6
|
||||
S1130EB008F0605E6F5B6D93C1F708952A883988E6
|
||||
S1130EC048885F846E847D848C849B84AA84B984DE
|
||||
S1130ED0C884DF80EE80FD800C811B81AA81B981EA
|
||||
S1130EE0CE0FD11D0FB6F894DEBF0FBECDBFED01FE
|
||||
S1090EF00895F894FFCF01
|
||||
S1130EF600000002000000003C0100000000FF00AA
|
||||
S1130F06004A01200056657273696F6E20312E30D7
|
||||
S1130F160000000000802002812002FF2002FF2042
|
||||
S1110F2602FF2002FF2002FF2002FF20020033
|
||||
S9030000FC
|
154
Mainboard/Mainboard/Debug/Makefile
Normal file
154
Mainboard/Mainboard/Debug/Makefile
Normal file
@ -0,0 +1,154 @@
|
||||
################################################################################
|
||||
# Automatically-generated file. Do not edit!
|
||||
################################################################################
|
||||
|
||||
SHELL := cmd.exe
|
||||
RM := rm -rf
|
||||
|
||||
USER_OBJS :=
|
||||
|
||||
LIBS :=
|
||||
PROJ :=
|
||||
|
||||
O_SRCS :=
|
||||
C_SRCS :=
|
||||
S_SRCS :=
|
||||
S_UPPER_SRCS :=
|
||||
OBJ_SRCS :=
|
||||
ASM_SRCS :=
|
||||
PREPROCESSING_SRCS :=
|
||||
OBJS :=
|
||||
OBJS_AS_ARGS :=
|
||||
C_DEPS :=
|
||||
C_DEPS_AS_ARGS :=
|
||||
EXECUTABLES :=
|
||||
OUTPUT_FILE_PATH :=
|
||||
OUTPUT_FILE_PATH_AS_ARGS :=
|
||||
AVR_APP_PATH :=$$$AVR_APP_PATH$$$
|
||||
QUOTE := "
|
||||
ADDITIONAL_DEPENDENCIES:=
|
||||
OUTPUT_FILE_DEP:=
|
||||
LIB_DEP:=
|
||||
|
||||
# Every subdirectory with source files must be described here
|
||||
SUBDIRS :=
|
||||
|
||||
|
||||
# Add inputs and outputs from these tool invocations to the build variables
|
||||
C_SRCS += \
|
||||
../led.c \
|
||||
../Mainboard.c \
|
||||
../rs232.c \
|
||||
../usb.c \
|
||||
../usb_user.c
|
||||
|
||||
|
||||
PREPROCESSING_SRCS +=
|
||||
|
||||
|
||||
ASM_SRCS +=
|
||||
|
||||
|
||||
OBJS += \
|
||||
led.o \
|
||||
Mainboard.o \
|
||||
rs232.o \
|
||||
usb.o \
|
||||
usb_user.o
|
||||
|
||||
|
||||
OBJS_AS_ARGS += \
|
||||
led.o \
|
||||
Mainboard.o \
|
||||
rs232.o \
|
||||
usb.o \
|
||||
usb_user.o
|
||||
|
||||
|
||||
C_DEPS += \
|
||||
led.d \
|
||||
Mainboard.d \
|
||||
rs232.d \
|
||||
usb.d \
|
||||
usb_user.d
|
||||
|
||||
|
||||
C_DEPS_AS_ARGS += \
|
||||
led.d \
|
||||
Mainboard.d \
|
||||
rs232.d \
|
||||
usb.d \
|
||||
usb_user.d
|
||||
|
||||
|
||||
OUTPUT_FILE_PATH +=Mainboard.elf
|
||||
|
||||
OUTPUT_FILE_PATH_AS_ARGS +=Mainboard.elf
|
||||
|
||||
ADDITIONAL_DEPENDENCIES:=
|
||||
|
||||
OUTPUT_FILE_DEP:= ./makedep.mk
|
||||
|
||||
LIB_DEP+=
|
||||
|
||||
# AVR32/GNU C Compiler
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
./%.o: .././%.c
|
||||
@echo Building file: $<
|
||||
@echo Invoking: AVR/GNU C Compiler :
|
||||
$(QUOTE)C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -funsigned-char -funsigned-bitfields -DDEBUG -O1 -ffunction-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega32u2 -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o"$@" "$<"
|
||||
@echo Finished building: $<
|
||||
|
||||
|
||||
|
||||
# AVR32/GNU Preprocessing Assembler
|
||||
|
||||
|
||||
|
||||
# AVR32/GNU Assembler
|
||||
|
||||
|
||||
|
||||
|
||||
ifneq ($(MAKECMDGOALS),clean)
|
||||
ifneq ($(strip $(C_DEPS)),)
|
||||
-include $(C_DEPS)
|
||||
endif
|
||||
endif
|
||||
|
||||
# Add inputs and outputs from these tool invocations to the build variables
|
||||
|
||||
# All Target
|
||||
all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
|
||||
|
||||
$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP)
|
||||
@echo Building target: $@
|
||||
@echo Invoking: AVR/GNU Linker :
|
||||
$(QUOTE)C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="Mainboard.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=atmega32u2
|
||||
@echo Finished building target: $@
|
||||
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature "Mainboard.elf" "Mainboard.hex"
|
||||
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "Mainboard.elf" "Mainboard.eep" || exit 0
|
||||
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "Mainboard.elf" > "Mainboard.lss"
|
||||
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature "Mainboard.elf" "Mainboard.srec"
|
||||
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.876\avr8-gnu-toolchain\bin\avr-size.exe" "Mainboard.elf"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Other Targets
|
||||
clean:
|
||||
-$(RM) $(OBJS_AS_ARGS)$(C_DEPS_AS_ARGS) $(EXECUTABLES)
|
||||
rm -rf "Mainboard.elf" "Mainboard.a" "Mainboard.hex" "Mainboard.lss" "Mainboard.eep" "Mainboard.map" "Mainboard.srec"
|
||||
|
34
Mainboard/Mainboard/Debug/led.d
Normal file
34
Mainboard/Mainboard/Debug/led.d
Normal file
@ -0,0 +1,34 @@
|
||||
led.d led.o: .././led.c \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/sfr_defs.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/inttypes.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/iom32u2.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/portpins.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/common.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/sfr_defs.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/inttypes.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/iom32u2.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/portpins.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/common.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h:
|
14
Mainboard/Mainboard/Debug/makedep.mk
Normal file
14
Mainboard/Mainboard/Debug/makedep.mk
Normal file
@ -0,0 +1,14 @@
|
||||
################################################################################
|
||||
# Automatically-generated file. Do not edit or delete the file
|
||||
################################################################################
|
||||
|
||||
led.c
|
||||
|
||||
Mainboard.c
|
||||
|
||||
rs232.c
|
||||
|
||||
usb.c
|
||||
|
||||
usb_user.c
|
||||
|
63
Mainboard/Mainboard/Debug/rs232.d
Normal file
63
Mainboard/Mainboard/Debug/rs232.d
Normal file
@ -0,0 +1,63 @@
|
||||
rs232.d rs232.o: .././rs232.c .././config.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/inttypes.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay_basic.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/math.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdbool.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/interrupt.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/sfr_defs.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/iom32u2.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/portpins.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/common.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdio.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdarg.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stddef.h \
|
||||
.././rs232.h
|
||||
|
||||
.././config.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/inttypes.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay_basic.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/math.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdbool.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/interrupt.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/sfr_defs.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/iom32u2.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/portpins.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/common.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdio.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdarg.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stddef.h:
|
||||
|
||||
.././rs232.h:
|
65
Mainboard/Mainboard/Debug/usb.d
Normal file
65
Mainboard/Mainboard/Debug/usb.d
Normal file
@ -0,0 +1,65 @@
|
||||
usb.d usb.o: .././usb.c .././config.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/inttypes.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay_basic.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/math.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdbool.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/interrupt.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/sfr_defs.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/iom32u2.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/portpins.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/common.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/string.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stddef.h \
|
||||
.././usb_user_config.h .././usb_user.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/pgmspace.h
|
||||
|
||||
.././config.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/inttypes.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay_basic.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/math.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdbool.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/interrupt.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/sfr_defs.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/iom32u2.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/portpins.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/common.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/string.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stddef.h:
|
||||
|
||||
.././usb_user_config.h:
|
||||
|
||||
.././usb_user.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/pgmspace.h:
|
67
Mainboard/Mainboard/Debug/usb_user.d
Normal file
67
Mainboard/Mainboard/Debug/usb_user.d
Normal file
@ -0,0 +1,67 @@
|
||||
usb_user.d usb_user.o: .././usb_user.c \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdlib.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stddef.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdbool.h \
|
||||
.././usb_user_config.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdint.h \
|
||||
.././config.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/inttypes.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay_basic.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/math.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/interrupt.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/sfr_defs.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/iom32u2.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/portpins.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/common.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h \
|
||||
.././usb_user.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/pgmspace.h
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdlib.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stddef.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdbool.h:
|
||||
|
||||
.././usb_user_config.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/include/stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/stdint.h:
|
||||
|
||||
.././config.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/inttypes.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/util/delay_basic.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/math.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/interrupt.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/io.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/sfr_defs.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/iom32u2.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/portpins.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/common.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/version.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/fuse.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/lock.h:
|
||||
|
||||
.././usb_user.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.2.876\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../../../avr/include/avr/pgmspace.h:
|
65
Mainboard/Mainboard/Mainboard.c
Normal file
65
Mainboard/Mainboard/Mainboard.c
Normal file
@ -0,0 +1,65 @@
|
||||
/*
|
||||
* Mainboard.c
|
||||
*
|
||||
* Created: 06.10.2013 19:12:35
|
||||
* Author: netz
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
//#include <avr/io.h>
|
||||
#include "led.h"
|
||||
#include "rs232.h"
|
||||
#include "usb.h"
|
||||
|
||||
void init()
|
||||
{
|
||||
led(YELLOW);
|
||||
sei();
|
||||
init_led();
|
||||
init_rs232();
|
||||
init_usb();
|
||||
}
|
||||
|
||||
void fade(int from, int to, int dur) {
|
||||
for (int i=0;i<0xFF;i++)
|
||||
{
|
||||
for(int k=0;k<dur;k++) {
|
||||
for (int j=i;j<0xFF;j++)
|
||||
{
|
||||
led(from);
|
||||
}
|
||||
for (int j=0;j<i;j++)
|
||||
{
|
||||
led(to);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void programRainbow(uint8_t t)
|
||||
{
|
||||
fade(WHITE, RED, 10);
|
||||
while(1) {
|
||||
fade(RED, YELLOW, t);
|
||||
fade(YELLOW, GREEN, t);
|
||||
fade(GREEN, CYAN, t);
|
||||
fade(CYAN, BLUE, t);
|
||||
fade(BLUE, MAGENTA, t);
|
||||
fade(MAGENTA, RED, t);
|
||||
}
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
init();
|
||||
led(GREEN);
|
||||
char t[32];
|
||||
while(1)
|
||||
{
|
||||
programRainbow(60);
|
||||
t[0]=0; // clear response string buffer
|
||||
sprintf(t, "test\r\n");
|
||||
rs232_send(t);
|
||||
usb_send(t);
|
||||
}
|
||||
}
|
157
Mainboard/Mainboard/Mainboard.cproj
Normal file
157
Mainboard/Mainboard/Mainboard.cproj
Normal file
@ -0,0 +1,157 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectVersion>6.1</ProjectVersion>
|
||||
<ToolchainName>com.Atmel.AVRGCC8.C</ToolchainName>
|
||||
<ProjectGuid>{839c4697-ab18-4132-8e80-f57ddb26adeb}</ProjectGuid>
|
||||
<avrdevice>ATmega32U2</avrdevice>
|
||||
<avrdeviceseries>none</avrdeviceseries>
|
||||
<OutputType>Executable</OutputType>
|
||||
<Language>C</Language>
|
||||
<OutputFileName>$(MSBuildProjectName)</OutputFileName>
|
||||
<OutputFileExtension>.elf</OutputFileExtension>
|
||||
<OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>
|
||||
<AssemblyName>Mainboard</AssemblyName>
|
||||
<Name>Mainboard</Name>
|
||||
<RootNamespace>Mainboard</RootNamespace>
|
||||
<ToolchainFlavour>Native</ToolchainFlavour>
|
||||
<KeepTimersRunning>true</KeepTimersRunning>
|
||||
<OverrideVtor>false</OverrideVtor>
|
||||
<OverrideVtorValue>
|
||||
</OverrideVtorValue>
|
||||
<eraseonlaunchrule>0</eraseonlaunchrule>
|
||||
<ProgFlashFromRam>true</ProgFlashFromRam>
|
||||
<RamSnippetAddress>0x20000000</RamSnippetAddress>
|
||||
<CacheFlash>true</CacheFlash>
|
||||
<UncachedRange />
|
||||
<BootSegment>0</BootSegment>
|
||||
<AsfFrameworkConfig>
|
||||
<framework-data xmlns="">
|
||||
<options />
|
||||
<configurations />
|
||||
<files />
|
||||
<documentation help="" />
|
||||
<dependencies>
|
||||
<content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.7.2" />
|
||||
</dependencies>
|
||||
</framework-data>
|
||||
</AsfFrameworkConfig>
|
||||
<avrtoolinterface>ISP</avrtoolinterface>
|
||||
<avrtool>com.atmel.avrdbg.tool.ispmk2</avrtool>
|
||||
<com_atmel_avrdbg_tool_ispmk2>
|
||||
<ToolType xmlns="">com.atmel.avrdbg.tool.ispmk2</ToolType>
|
||||
<ToolName xmlns="">AVRISP mkII</ToolName>
|
||||
<ToolNumber xmlns="">0000000000000</ToolNumber>
|
||||
<Channel xmlns="">
|
||||
<host>127.0.0.1</host>
|
||||
<port>63239</port>
|
||||
<ssl>False</ssl>
|
||||
</Channel>
|
||||
<ToolOptions xmlns="">
|
||||
<InterfaceName>ISP</InterfaceName>
|
||||
<InterfaceProperties>
|
||||
<JtagDbgClock>249000</JtagDbgClock>
|
||||
<JtagProgClock>1000000</JtagProgClock>
|
||||
<IspClock>150000</IspClock>
|
||||
<JtagInChain>false</JtagInChain>
|
||||
<JtagEnableExtResetOnStartSession>false</JtagEnableExtResetOnStartSession>
|
||||
<JtagDevicesBefore>0</JtagDevicesBefore>
|
||||
<JtagDevicesAfter>0</JtagDevicesAfter>
|
||||
<JtagInstrBitsBefore>0</JtagInstrBitsBefore>
|
||||
<JtagInstrBitsAfter>0</JtagInstrBitsAfter>
|
||||
</InterfaceProperties>
|
||||
</ToolOptions>
|
||||
</com_atmel_avrdbg_tool_ispmk2>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||
<ToolchainSettings>
|
||||
<AvrGcc>
|
||||
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
|
||||
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
|
||||
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
|
||||
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
|
||||
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcc.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>NDEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcc.compiler.symbols.DefSymbols>
|
||||
<avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
|
||||
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
|
||||
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
|
||||
<avrgcc.linker.libraries.Libraries>
|
||||
<ListValues>
|
||||
<Value>libm</Value>
|
||||
</ListValues>
|
||||
</avrgcc.linker.libraries.Libraries>
|
||||
</AvrGcc>
|
||||
</ToolchainSettings>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||
<ToolchainSettings>
|
||||
<AvrGcc>
|
||||
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
|
||||
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
|
||||
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
|
||||
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
|
||||
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcc.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>DEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcc.compiler.symbols.DefSymbols>
|
||||
<avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
|
||||
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
|
||||
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
|
||||
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
|
||||
<avrgcc.linker.libraries.Libraries>
|
||||
<ListValues>
|
||||
<Value>libm</Value>
|
||||
</ListValues>
|
||||
</avrgcc.linker.libraries.Libraries>
|
||||
<avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel>
|
||||
</AvrGcc>
|
||||
</ToolchainSettings>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="config.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="led.c">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="led.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Mainboard.c">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="rs232.c">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="rs232.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="usb.c">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="usb.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="usb_user.c">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="usb_user.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="usb_user_config.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" />
|
||||
</Project>
|
184
Mainboard/Mainboard/UserDevice.hex
Normal file
184
Mainboard/Mainboard/UserDevice.hex
Normal file
@ -0,0 +1,184 @@
|
||||
:100000000C9486000C94A3000C94A3000C94A30001
|
||||
:100010000C94A3000C94A3000C94A3000C94A300D4
|
||||
:100020000C94A3000C94A3000C94DC010C94FD012F
|
||||
:100030000C94A3000C94A3000C94A3000C94A300B4
|
||||
:100040000C94A3000C94A3000C94A3000C94A300A4
|
||||
:100050000C94A3000C94A3000C94A3000C94A30094
|
||||
:100060000C94A3000C94A3000C94A3000C94A30084
|
||||
:100070000C94A3000C94A3000C94A3000C94A30074
|
||||
:100080000C94A3000C94A3000C94A3000C94A30064
|
||||
:100090000C94A3000C94A3000C94A3000C94A30054
|
||||
:1000A0000C94A3000C94A3000C94A3001201000272
|
||||
:1000B000FF00001001000100000101020301040320
|
||||
:1000C0000904240352006500750073006300680092
|
||||
:1000D000200045006C0065006B00740072006F002A
|
||||
:1000E0006E0069006B00000022035500730065007C
|
||||
:1000F000720020004400650076006900630065001E
|
||||
:100100002000440065006D006F00000011241FBE38
|
||||
:10011000CFEFDAE0DEBFCDBF11E0A0E0B1E0E0E478
|
||||
:10012000FBE002C005900D92A832B107D9F711E0AB
|
||||
:10013000A8E2B1E001C01D92AD32B107E1F70E9423
|
||||
:10014000DC030C949E050C94000081E08093D700A2
|
||||
:1001500080EA8093D80082E189BD09B400FEFDCF1A
|
||||
:1001600080E98093D8001092E0001092280188E086
|
||||
:100170008093E2000895E0E0F1E091E051E044E096
|
||||
:1001800020812F3F09F19093E9005093EB002093D9
|
||||
:10019000EC008181803811F480E40BC0803411F4CC
|
||||
:1001A00080E307C0803229F0803111F080E001C087
|
||||
:1001B00080E13281382B3093ED0020FF03C0109294
|
||||
:1001C000F00002C04093F0009F5F33969730C1F675
|
||||
:1001D0008EE78093EA001092EA0008958091D9009A
|
||||
:1001E00080FD02C080E008958091E30087FD02C099
|
||||
:1001F00081E0089580912801882311F083E008951B
|
||||
:1002000082E008958091280108958091E80085702A
|
||||
:10021000E1F30895E42FF0E02E173F0708F4422F92
|
||||
:10022000262F372F7EEF9091E8009570E1F3942F01
|
||||
:10023000413108F090E1F901592F09C0882311F0EC
|
||||
:10024000608101C064916093F10051503196552353
|
||||
:10025000A9F7290F311D491B7093E800442319F7B2
|
||||
:10026000903109F308958093E90021E030E002C065
|
||||
:10027000220F331F8A95E2F7EAEEF0E02083108226
|
||||
:1002800008958093E9009091F3008091F200392F56
|
||||
:1002900020E0280F311DC90108958093E900909155
|
||||
:1002A000F300E091F200392F20E0D901AE0FB11D2B
|
||||
:1002B000FD01242F352FE217F30708F49F012115C4
|
||||
:1002C000310519F140E050E09091F100FB01E40F9D
|
||||
:1002D000F51F90834F5F5F4F42175307A8F360915C
|
||||
:1002E000F3009091F200562F40E0490F511D411547
|
||||
:1002F000510559F441E050E002C0440F551F8A9562
|
||||
:10030000E2F74093EA001092EA00C90108956623DB
|
||||
:1003100009F11092E9002091E80020FFFCCF5091F4
|
||||
:10032000F3004091F200352F20E0240F311D2115FC
|
||||
:10033000310581F4FC0180E004C091919093F100BB
|
||||
:100340008F5F8617D0F38091E8008E7F8093E8005E
|
||||
:1003500081E0089580E008954115510559F1809399
|
||||
:10036000E9008091E80080FFFCCF3091F3002091FC
|
||||
:10037000F200932F80E0820F911D0097D9F480E066
|
||||
:1003800090E00BC02091E80025FF06C0FB01E80FBC
|
||||
:10039000F91F20812093F10001968417950790F3AF
|
||||
:1003A0008091E8008E7F8093E8008FE78093E800DB
|
||||
:1003B00081E0089580E008951F920F920FB60F928A
|
||||
:1003C00011248F938091E1001092E10083FF0FC010
|
||||
:1003D0001092E90081E08093EB001092EC0082E142
|
||||
:1003E0008093ED0088E08093F000109228018F91B7
|
||||
:1003F0000F900FBE0F901F9018951F920F920FB67F
|
||||
:100400000F921124DF92EF92FF920F931F932F937D
|
||||
:100410003F934F935F936F937F938F939F93AF938C
|
||||
:10042000BF93EF93FF93DF93CF93CDB7DEB72997B9
|
||||
:10043000DEBFCDBF8091F40080FF66C11092E9005D
|
||||
:100440008091E80083FF5DC15091F1005983409194
|
||||
:10045000F1004A838091F1009091F100392F20E062
|
||||
:1004600090E0822B932B9C838B836091F1007091A1
|
||||
:10047000F100372F20E070E0622B732B7E836D83B9
|
||||
:100480002091F1003091F100F32FE0E030E02E2BCD
|
||||
:100490003F2B38872F83E2EFE093E800463009F0E6
|
||||
:1004A000BAC043E08030940709F4A3C063E0813010
|
||||
:1004B000960750F471E08030970789F0A2E0803011
|
||||
:1004C0009A0709F05BC110C0B3E081309B0709F4C3
|
||||
:1004D00098C0E3E082309E0709F050C197C06CEAF3
|
||||
:1004E00070E0FB01449189C030E0E32E31E0F32E4F
|
||||
:1004F000F701DD2480E090819F3F09F081E0D80E74
|
||||
:10050000339621E0E231F207A9F747E0D49E402D6F
|
||||
:1005100011244E5E842F90E049870E9440048C0194
|
||||
:1005200089E0D8018C9392E011969C9311974985AC
|
||||
:1005300012964C93129713961C92139791E014966F
|
||||
:100540009C93149715969C93159716961C92169744
|
||||
:1005500090E817969C93179799E118969C93189793
|
||||
:10056000F801399619968C93199784E08183128249
|
||||
:100570001382D4828FEF8583168287831086DD20D5
|
||||
:1005800071F1F801729691E057E035E0D7018C9156
|
||||
:100590008F3FF1F050833183282F2795222727950D
|
||||
:1005A000292B2283813441F0803431F0813831F0BD
|
||||
:1005B000803821F083E003C081E001C082E08383C2
|
||||
:1005C000D70111968C9111978483158216823796E4
|
||||
:1005D0009F5F63E070E0E60EF71E9730B9F62F815B
|
||||
:1005E000388581E0B8010E940A01C8010E94E20436
|
||||
:1005F000C8C06EEB70E0FB01449180E00E940A01EC
|
||||
:10060000C0C062EC70E0FB014491F7CF68EE70E08F
|
||||
:10061000FB014491F2CF453059F42EEF2093E800CE
|
||||
:100620002091E80020FFFCCF80688093E300A9C000
|
||||
:10063000493081F4552309F05CC08130910509F0FF
|
||||
:100640009DC081E0809328018EEF8093E8000E9496
|
||||
:10065000BB0097C0483061F4503809F04AC080911F
|
||||
:10066000E80080FFFCCF809128018093F1001BC03F
|
||||
:100670004423D9F48091E80080FFFCCF523811F078
|
||||
:1006800080E00DC06093E9008091EB0090E025E0F0
|
||||
:10069000969587952A95E1F781701092E9008093ED
|
||||
:1006A000F1001092F1008EEF61C0413011F0433043
|
||||
:1006B00001F55230F1F40097E1F46F77862F815005
|
||||
:1006C0008630B8F48EEF8093E8006093E900433001
|
||||
:1006D00009F454C089E18093EB0081E090E002C00E
|
||||
:1006E000880F991F6A95E2F78093EA001092EA005A
|
||||
:1006F00048C0CE0101960E940D04882309F041C034
|
||||
:100700003DC081E28093EB0080E090E041E2082F61
|
||||
:100710000F5F2091F400019630E0082E02C035955D
|
||||
:1007200027950A94E2F720FF26C00093E900209164
|
||||
:10073000E80022FF1EC03091F3002091F200932FB9
|
||||
:1007400080E0820F911D009769F09091F3008091F5
|
||||
:10075000F200792F60E0680F711D802F0E94E00386
|
||||
:100760000093E90089EF8093E8008FE78093E80029
|
||||
:1007700008C04093EB008630910549F681E28093F2
|
||||
:10078000EB002996DEBFCDBFCF91DF91FF91EF91B6
|
||||
:10079000BF91AF919F918F917F916F915F914F9199
|
||||
:1007A0003F912F911F910F91FF90EF90DF900F904D
|
||||
:1007B0000FBE0F901F9018950E94A5007894FFCF50
|
||||
:1007C0000F931F93DF93CF93CDB7DEB7A0970FB6EC
|
||||
:1007D000F894DEBF0FBECDBF8130A1F48E010F5F54
|
||||
:1007E0001F4FB80140E250E00E944D01882351F0B4
|
||||
:1007F00018A2C8010E94790582E8B80140E250E0E1
|
||||
:100800000E94AC01A0960FB6F894DEBF0FBECDBF1C
|
||||
:10081000CF91DF911F910F910895DF93CF93CDB7C3
|
||||
:10082000DEB760970FB6F894DEBF0FBECDBFAC0148
|
||||
:100830009E012F5F3F4FA2E1B1E09CE00D90F901D6
|
||||
:1008400001929F019150D1F71D861E861F86188A3E
|
||||
:10085000FA018081833C51F48181813039F4CE01E9
|
||||
:10086000019660E10E94870181E001C080E060960E
|
||||
:100870000FB6F894DEBF0FBECDBFCF91DF910895C4
|
||||
:10088000EF92FF920F931F93CF93DF9382309105E6
|
||||
:1008900010F482E090E0C0912B01D0912C0120E077
|
||||
:1008A00030E040E050E029C068817981681779071D
|
||||
:1008B000D8F06817790779F48A819B812115310571
|
||||
:1008C00021F0F9019383828304C090932C018093DB
|
||||
:1008D0002B01DE012AC04115510519F06417750777
|
||||
:1008E00018F4FE01AB01D9019E017A816B81E72EDC
|
||||
:1008F000E7017E01062FF62EE7012097A9F64115A4
|
||||
:100900005105F9F0481B590B4430510580F48281A0
|
||||
:100910009381109729F013969C938E93129704C09D
|
||||
:1009200090932C0180932B01DF01129645C0DF01CB
|
||||
:10093000A40FB51F8D939D93425050405183408327
|
||||
:100940003BC02091290130912A012115310541F444
|
||||
:10095000209124013091250130932A01209329010F
|
||||
:1009600020912601309127012115310541F42DB741
|
||||
:100970003EB74091220150912301241B350BA091D9
|
||||
:100980002901B0912A01A217B307A0F42A1B3B0B3F
|
||||
:100990002817390778F0AC014E5F5F4F24173507F1
|
||||
:1009A00048F04A0F5B1F50932A01409329018D9311
|
||||
:1009B0009D9302C0A0E0B0E0CD01CDB7DEB7E6E088
|
||||
:1009C0000C948F05CF93DF93009709F48FC0FC013F
|
||||
:1009D00032971382128260912B0170912C01611564
|
||||
:1009E000710581F420813181280F391F80912901FF
|
||||
:1009F00090912A018217930761F5F0932A01E09301
|
||||
:100A0000290174C0EB0180E090E0CE17DF0740F4CD
|
||||
:100A10002A813B81CE012115310501F1E901F5CF94
|
||||
:100A2000D383C283DF014D915D919D01240F351F5A
|
||||
:100A3000C217D30761F428813981240F351F2E5F37
|
||||
:100A40003F4F318320832A813B8133832283009768
|
||||
:100A500029F4F0932C01E0932B0148C0DC0113969C
|
||||
:100A6000FC93EE931297EC0149915991C40FD51F55
|
||||
:100A7000EC17FD0779F420813181240F351F2E5F9B
|
||||
:100A80003F4F11963C932E932281338113963C93D2
|
||||
:100A90002E931297E0E0F0E0DB0112968D919C918D
|
||||
:100AA0001397009721F0E62FF72FBC01F5CF9B019C
|
||||
:100AB0002E5F3F4FDB018D919C911197820F931F09
|
||||
:100AC0004091290150912A014817590779F430972C
|
||||
:100AD00029F410922C0110922B0102C01382128271
|
||||
:100AE0002250304030932A0120932901DF91CF9189
|
||||
:100AF0000895DC016C9161566A3108F0605E6F5BAD
|
||||
:100B00006D93C1F708952A88398848885F846E8478
|
||||
:100B10007D848C849B84AA84B984C884DF80EE8021
|
||||
:100B2000FD800C811B81AA81B981CE0FD11D0FB62A
|
||||
:100B3000F894DEBF0FBECDBFED010895F894FFCF4E
|
||||
:100B4000802002812002FF2002FF2002FF2002FFFE
|
||||
:100B5000200256657273696F6E20312E30000000DE
|
||||
:080B6000000020002D0100003F
|
||||
:00000001FF
|
21
Mainboard/Mainboard/config.h
Normal file
21
Mainboard/Mainboard/config.h
Normal file
@ -0,0 +1,21 @@
|
||||
/*
|
||||
* config.h
|
||||
*
|
||||
* Created: 06.10.2013 17:05:43
|
||||
* Author: netz
|
||||
*/
|
||||
|
||||
|
||||
#ifndef CONFIG_H_
|
||||
#define CONFIG_H_
|
||||
|
||||
|
||||
#define F_CPU 16000000
|
||||
#define BAUD_RATE 9600
|
||||
|
||||
#include <util/delay.h>
|
||||
#include <stdbool.h>
|
||||
#include <avr/interrupt.h>
|
||||
|
||||
|
||||
#endif /* CONFIG_H_ */
|
23
Mainboard/Mainboard/led.c
Normal file
23
Mainboard/Mainboard/led.c
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
* led.c
|
||||
*
|
||||
* Created: 06.10.2013 16:32:15
|
||||
* Author: netz
|
||||
*/
|
||||
|
||||
#include <avr/io.h>
|
||||
|
||||
void led(int mask) {
|
||||
int rgb = 0;
|
||||
rgb |= (mask & (1<<0)) ? (1<<0) : (0<<0);
|
||||
rgb |= (mask & (1<<1)) ? (1<<1) : (0<<1);
|
||||
rgb |= (mask & (1<<2)) ? (1<<2) : (0<<2);
|
||||
|
||||
PORTB &= ~((1<<PINB5) | (1<<PINB6) | (1<<PINB7));
|
||||
PORTB |= (rgb<<PINB5);
|
||||
}
|
||||
|
||||
void init_led()
|
||||
{
|
||||
DDRB |= (1<<PINB7) | (1<<PINB6) | (1<<PINB5);
|
||||
}
|
26
Mainboard/Mainboard/led.h
Normal file
26
Mainboard/Mainboard/led.h
Normal file
@ -0,0 +1,26 @@
|
||||
/*
|
||||
* led.h
|
||||
*
|
||||
* Created: 06.10.2013 16:30:58
|
||||
* Author: netz
|
||||
*/
|
||||
|
||||
|
||||
#ifndef LED_H_
|
||||
#define LED_H_
|
||||
|
||||
|
||||
#define BLACK 0
|
||||
#define RED 4
|
||||
#define GREEN 2
|
||||
#define YELLOW 6
|
||||
#define BLUE 1
|
||||
#define MAGENTA 5
|
||||
#define CYAN 3
|
||||
#define WHITE 7
|
||||
|
||||
void init_led();
|
||||
void led(int mask);
|
||||
|
||||
|
||||
#endif /* LED_H_ */
|
38
Mainboard/Mainboard/rs232.c
Normal file
38
Mainboard/Mainboard/rs232.c
Normal file
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* rs232.c
|
||||
*
|
||||
* Created: 06.10.2013 16:34:27
|
||||
* Author: netz
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <avr/io.h>
|
||||
#include "rs232.h"
|
||||
|
||||
int uart_putchar(char c, FILE *stream);
|
||||
static FILE rs232 = FDEV_SETUP_STREAM(uart_putchar, NULL, _FDEV_SETUP_WRITE);
|
||||
|
||||
|
||||
int uart_putchar(char c, FILE *stream)
|
||||
{
|
||||
if (c == '\n') {
|
||||
uart_putchar('\r', stream); //Warten solange bis Zeichen gesendet wurde
|
||||
}
|
||||
loop_until_bit_is_set(UCSR1A, UDRE1); //Ausgabe des Zeichens
|
||||
UDR1 = c;
|
||||
return (0);
|
||||
}
|
||||
|
||||
void init_rs232()
|
||||
{
|
||||
UCSR1C = (1 << UCSZ11) |(1 << UCSZ10); //8N1
|
||||
UCSR1B |= /*(1<<RXEN1) | (1<<RXCIE1) | */ (1<<TXEN1); //Enable TXEN im Register UCR TX-Data Enable
|
||||
UBRR1L = (F_CPU / (BAUD_RATE * 16L) - 1); //Teiler wird gesetzt
|
||||
stdout = &rs232; //öffnet einen Kanal für printf (STDOUT)
|
||||
}
|
||||
|
||||
void rs232_send(char * text) {
|
||||
fprintf(&rs232, text);
|
||||
}
|
16
Mainboard/Mainboard/rs232.h
Normal file
16
Mainboard/Mainboard/rs232.h
Normal file
@ -0,0 +1,16 @@
|
||||
/*
|
||||
* rs232.h
|
||||
*
|
||||
* Created: 06.10.2013 16:34:17
|
||||
* Author: netz
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#ifndef RS232_H_
|
||||
#define RS232_H_
|
||||
|
||||
void init_rs232();
|
||||
void rs232_send(char * text);
|
||||
|
||||
#endif /* RS232_H_ */
|
68
Mainboard/Mainboard/usb.c
Normal file
68
Mainboard/Mainboard/usb.c
Normal file
@ -0,0 +1,68 @@
|
||||
/*
|
||||
* usb.c
|
||||
*
|
||||
* Created: 06.10.2013 21:42:35
|
||||
* Author: netz
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include <stdbool.h>
|
||||
#include <string.h>
|
||||
#include "usb_user_config.h" // USB configuration
|
||||
#include "usb_user.h" // USB functions
|
||||
|
||||
#ifdef USERDEFCONTROLS // see usbconfig.h
|
||||
//-----------------------------------------------------------------------------
|
||||
// Handle user defined control requests
|
||||
// "ucr" contains the data of the control request
|
||||
// function has to return "true", if request is handled (otherwise "false")
|
||||
bool usb_controlrequest(struct usb_control_request *ucr) {
|
||||
#define USER_REQUESTTYPE 0xC3 // a user defined request type (means, no standard request)
|
||||
#define USER_REQUESTVERSION 0x01 // a self defined request: get version info
|
||||
bool Result;
|
||||
const char VersionInfo[ENDPOINT0_SIZE] = {"Version 1.0"};
|
||||
|
||||
Result=false;
|
||||
if (ucr->bmRequestType == USER_REQUESTTYPE) {
|
||||
// handle the requests (only one defined in this example)
|
||||
switch (ucr->bRequest) {
|
||||
case USER_REQUESTVERSION: // request for version info)
|
||||
usb_txdata_control((uint8_t *)VersionInfo,sizeof(VersionInfo));
|
||||
Result=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return Result; // true means, request is handled
|
||||
}
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// handle of endpoint interrupt for incoming data
|
||||
// "datasize" contains the number of bytes in the USB FIFO buffer
|
||||
void usb_ep(uint8_t endpoint, uint16_t datasize) {
|
||||
#define RXENDPOINT 0x01 // endpoint, used for data transfer host->device (defined in "usb_user_config.h")
|
||||
#define TXENDPOINT 0x81 // endpoint, used for data transfer device->host
|
||||
#define BUFSIZE 32 // USB FIFO buffer size (see usb_user_config.h at "endpoints")
|
||||
|
||||
char buf[BUFSIZE]; // buffer for received data from host and data to transmit to host
|
||||
uint8_t n;
|
||||
|
||||
if (endpoint == RXENDPOINT) { // data from host by our defined data receive endpoint
|
||||
n=usb_rxdata(endpoint, (uint8_t *)buf, sizeof(buf)); // read data into buffer
|
||||
if (n) { // data read into local buffer
|
||||
buf[BUFSIZE-1]=0; // for security: terminate string
|
||||
strupr(buf); // upper case string
|
||||
// response to host with converted string
|
||||
usb_txdata(TXENDPOINT, (uint8_t *)buf, sizeof(buf)); // transfer data to host
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void init_usb() {
|
||||
usb_init();
|
||||
}
|
||||
|
||||
void usb_send(char * text) {
|
||||
#define TXENDPOINT 0x81
|
||||
usb_txdata(TXENDPOINT, (uint8_t *)text, sizeof(text));
|
||||
}
|
17
Mainboard/Mainboard/usb.h
Normal file
17
Mainboard/Mainboard/usb.h
Normal file
@ -0,0 +1,17 @@
|
||||
/*
|
||||
* usb.h
|
||||
*
|
||||
* Created: 06.10.2013 21:42:01
|
||||
* Author: netz
|
||||
*/
|
||||
|
||||
|
||||
#ifndef USB_H_
|
||||
#define USB_H_
|
||||
|
||||
|
||||
void init_usb();
|
||||
void usb_send(char * text);
|
||||
|
||||
|
||||
#endif /* USB_H_ */
|
683
Mainboard/Mainboard/usb_user.c
Normal file
683
Mainboard/Mainboard/usb_user.c
Normal file
@ -0,0 +1,683 @@
|
||||
/*****************************************************************************
|
||||
|
||||
USB-Template: User defined USB device
|
||||
V1.1.1
|
||||
|
||||
(c) 2010-2011 Reusch Elektronik, Dipl.-Ing. (FH) Rainer Reusch
|
||||
Homepage: http://products.reworld.eu/index.htm
|
||||
|
||||
Supported devices:
|
||||
- AT90USB82, AT90USB162
|
||||
- ATMEGA8U2, ATMEGA16U2, ATMEGA32U2
|
||||
- ATMEGA8U4, ATMEGA16U4, ATMEGA32U4
|
||||
- AT90USB646, AT90USB647, AT90USB1286, AT90USB1287
|
||||
|
||||
Supported modules:
|
||||
- U2DIL-AT90USB162
|
||||
- U2DIL-ATMEGA32U2
|
||||
- U4DIL-ATMEGA32U4
|
||||
- U6DIL-AT90USB1286
|
||||
|
||||
USB Function Implementation
|
||||
|
||||
Created: 2010-01-07
|
||||
Changed: 2011-08-02
|
||||
|
||||
*****************************************************************************/
|
||||
|
||||
// Usually no changes are necessary in this file!
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdbool.h>
|
||||
#include "usb_user_config.h"
|
||||
#include "usb_user.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Internal Variables
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// USB State
|
||||
static volatile uint8_t usb_stat = USB_STATUS_DISCONNECTED;
|
||||
|
||||
// USB configuration, selected by host (0=none)
|
||||
// In this version only 0 or 1 is possible (support of only one configuration)
|
||||
static volatile uint8_t usb_conf = 0;
|
||||
|
||||
// USB interface, selected by host
|
||||
// In this version the value 0 and optional more cfgs are possible (see usbconfig.h)
|
||||
#if (NUMINTERFACES>1)
|
||||
static volatile uint8_t usb_if = 0xFF; // 0xFF: no interface selected
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Descriptors
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// configuration descriptor
|
||||
typedef struct {
|
||||
uint8_t bLength;
|
||||
uint8_t bDescriptorType;
|
||||
uint16_t wTotalLength;
|
||||
uint8_t bNumInterfaces;
|
||||
uint8_t bConfigurationValue;
|
||||
uint8_t iConfiguration;
|
||||
uint8_t bmAttributes;
|
||||
uint8_t bMaxPower;
|
||||
} cfg_desc;
|
||||
|
||||
// interface descriptor
|
||||
typedef struct {
|
||||
uint8_t bLength;
|
||||
uint8_t bDescriptorType;
|
||||
uint8_t bInterfaceNumber;
|
||||
uint8_t bAlternateSetting;
|
||||
uint8_t bNumEndpoints;
|
||||
uint8_t bInterfaceClass;
|
||||
uint8_t bInterfaceSubClass;
|
||||
uint8_t bInterfaceProtocol;
|
||||
uint8_t iInterface;
|
||||
} if_desc;
|
||||
|
||||
// endpoint descriptor
|
||||
typedef struct {
|
||||
uint8_t bLength;
|
||||
uint8_t bDescriptorType;
|
||||
uint8_t bEndpointAddress;
|
||||
uint8_t bmAttributes;
|
||||
uint16_t wMaxPacketSize;
|
||||
uint8_t bInterval;
|
||||
} ep_desc;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// USB Initializing
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#if defined (__AVR_AT90USB1286__) || (__AVR_AT90USB1287__)
|
||||
#define AT128X
|
||||
#endif
|
||||
|
||||
void usb_init(void)
|
||||
{
|
||||
#ifdef MEGA4
|
||||
UHWCON = _BV(UVREGE); // enable PAD regulator
|
||||
#endif
|
||||
#ifdef MEGA6
|
||||
UHWCON = _BV(UIMOD)|_BV(UVREGE); // set device mode, enable PAD regulator
|
||||
#endif
|
||||
USBCON = _BV(USBE) | _BV(FRZCLK); // enable USB
|
||||
#if (F_CPU==16000000)
|
||||
// 16MHz
|
||||
#ifdef MEGA2
|
||||
PLLCSR = _BV(PLLE) | _BV(PLLP0); // config PLL, 16 MHz xtal
|
||||
#endif
|
||||
#ifdef MEGA4
|
||||
PLLCSR = _BV(PINDIV) | _BV(PLLE); // config PLL, 16 MHz xtal
|
||||
#endif
|
||||
|
||||
#ifdef MEGA6
|
||||
#ifdef AT128X
|
||||
PLLCSR = _BV(PLLP2) | _BV(PLLP0) | _BV(PLLE); // config PLL, 16 MHz xtal (AT90USB128x)
|
||||
#else
|
||||
PLLCSR = _BV(PLLP2) | _BV(PLLP1) | _BV(PLLE); // config PLL, 16 MHz xtal (AT90USB64x and ATMEGA32U6)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
// 8MHz
|
||||
#ifdef MEGA6
|
||||
PLLCSR = _BV(PLLP1) | _BV(PLLP0) |_BV(PLLE); // config PLL, 8 MHz xtal
|
||||
#else
|
||||
PLLCSR = _BV(PLLE); // config PLL, 8 MHz xtal
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
while (!(PLLCSR & _BV(PLOCK))) ; // wait for PLL lock
|
||||
#ifdef MEGA4_6
|
||||
USBCON = _BV(USBE)|_BV(OTGPADE); // start USB clock
|
||||
#else
|
||||
USBCON = _BV(USBE); // start USB clock
|
||||
#endif
|
||||
UDCON = 0; // enable attach resistor
|
||||
usb_conf = 0;
|
||||
#if (NUMINTERFACES>1)
|
||||
usb_if = 0xFF;
|
||||
#endif
|
||||
#ifdef MEGA2
|
||||
// port for VBUS detection
|
||||
VBUSDIR &= ~_BV(VBUSPIN); // port as input
|
||||
#endif
|
||||
UDIEN = _BV(EORSTE); // enable "end of reset" interrupt
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Initializing Endpoints
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#if (NUMINTERFACES>1)
|
||||
void usb_endpoints(uint8_t ifnumber) // with interface number
|
||||
#else
|
||||
void usb_endpoints(void)
|
||||
#endif
|
||||
{
|
||||
#if (NUMINTERFACES>1)
|
||||
#define EPC EP_CONFIG[ifnumber][i]
|
||||
#define IN_TRANSFER EP_CONFIG[ifnumber][i].ep_type & 0x01
|
||||
#else
|
||||
#define EPC EP_CONFIG[i]
|
||||
#define IN_TRANSFER EP_CONFIG[i].ep_type & 0x01
|
||||
#endif
|
||||
uint8_t i;
|
||||
|
||||
for (i=0; i<MAX_ENDPOINT; i++) {
|
||||
if (EPC.ep_type!=EP_TYPE_DISABLED) {
|
||||
UENUM = i+1; // select endpoint
|
||||
UECONX = _BV(EPEN); // enable endpoint
|
||||
UECFG0X = EPC.ep_type; // transfer type and direction
|
||||
UECFG1X = EP_SIZE(EPC.ep_size)|
|
||||
(EPC.ep_buffer); // bufer size and bank
|
||||
if (IN_TRANSFER) UEIENX = 0; // no interrupts handling for IN endpoints
|
||||
else UEIENX = _BV(RXOUTE); // interrupt handling for incoming data (OUT endpoint)
|
||||
}
|
||||
}
|
||||
#ifdef MEGA4_6
|
||||
UERST = 0x7E; // endpoint FIFO reset for endpoint 1, 2, 3, 4, 5 and 6
|
||||
#else
|
||||
UERST = 0x1E; // endpoint FIFO reset for endpoint 1, 2, 3 and 4
|
||||
#endif
|
||||
UERST = 0;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// USB State
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
uint8_t usb_status(void)
|
||||
{
|
||||
uint8_t r;
|
||||
|
||||
r = USB_STATUS_DISCONNECTED;
|
||||
#ifdef MEGA4_6
|
||||
if (USBSTA & _BV(VBUS)) {
|
||||
r = USB_STATUS_CONNECTED;
|
||||
if (UDADDR & _BV(ADDEN)) {
|
||||
r = USB_STATUS_ENUMERATED;
|
||||
if (usb_conf) r = USB_STATUS_CONFIGURED;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifdef MEGA2
|
||||
#ifdef VBUSDETECT
|
||||
if (VBUSPORT & _BV(VBUSPIN)) {
|
||||
r = USB_STATUS_CONNECTED;
|
||||
#endif
|
||||
if (UDADDR & _BV(ADDEN)) {
|
||||
r = USB_STATUS_ENUMERATED;
|
||||
if (usb_conf) r = USB_STATUS_CONFIGURED;
|
||||
}
|
||||
#ifdef VBUSDETECT
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
return r;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// USB Configuration
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
uint8_t usb_configuration(void)
|
||||
{
|
||||
return usb_conf;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// USB Interface
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#if (NUMINTERFACES>1)
|
||||
uint8_t usb_interface(void)
|
||||
{
|
||||
return usb_if;
|
||||
}
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Internal used USB routines and macros
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#define USB_SEND_IN UEINTX = ~(1<<TXINI)
|
||||
|
||||
#define STALL UECONX = _BV(STALLRQ) | _BV(EPEN)
|
||||
|
||||
static inline void usb_wait_in_ready(void)
|
||||
{
|
||||
while (!(UEINTX & _BV(TXINI)));
|
||||
}
|
||||
|
||||
void usb_wait_in(void)
|
||||
// wait for host, until it's ready to receive IN package
|
||||
{
|
||||
uint8_t i;
|
||||
do {
|
||||
i = UEINTX;
|
||||
} while (!(i & (_BV(TXINI)|_BV(RXOUTI))));
|
||||
}
|
||||
|
||||
void usb_desc_out(bool isRAM, const uint8_t *pgmaddr, uint8_t size, uint16_t maxsize)
|
||||
// return descriptor over endpoint 0 to host from flash memory or RAM
|
||||
{
|
||||
uint8_t i=0, len, n;
|
||||
const uint8_t *addr;
|
||||
|
||||
addr=pgmaddr;
|
||||
len=size;
|
||||
if (len>maxsize) len=maxsize;
|
||||
do {
|
||||
usb_wait_in();
|
||||
if (i & _BV(RXOUTI)) return; // cancel
|
||||
// send IN package
|
||||
n = (len < ENDPOINT0_SIZE) ? len : ENDPOINT0_SIZE;
|
||||
for (i = n; i; i--)
|
||||
UEDATX = isRAM ? *addr++ : pgm_read_byte(addr++);
|
||||
len -= n;
|
||||
USB_SEND_IN;
|
||||
} while (len || n == ENDPOINT0_SIZE);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Free FIFO Buffer
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void usb_freebuffer(uint8_t endpoint)
|
||||
{
|
||||
UENUM = endpoint; // select endpoint
|
||||
UERST = _BV(endpoint); // endpoint FIFO reset
|
||||
UERST = 0;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Data Check (Host to Device)
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifdef MEGA4_6
|
||||
uint16_t usb_rxavail(uint8_t endpoint)
|
||||
#else
|
||||
uint8_t usb_rxavail(uint8_t endpoint)
|
||||
#endif
|
||||
{
|
||||
UENUM = endpoint; // select endpoint
|
||||
#ifdef MEGA4_6
|
||||
return ((uint16_t)(UEBCHX)<<8)+UEBCLX;
|
||||
#else
|
||||
return UEBCLX;
|
||||
#endif
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Data Receive (Host to Device)
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifdef MEGA4_6
|
||||
uint16_t usb_rxdata(uint8_t endpoint, uint8_t *buffer, uint16_t maxdatasize)
|
||||
#else
|
||||
uint8_t usb_rxdata(uint8_t endpoint, uint8_t *buffer, uint8_t maxdatasize)
|
||||
#endif
|
||||
{
|
||||
#ifdef MEGA4_6
|
||||
uint16_t r, i;
|
||||
#else
|
||||
uint8_t r, i;
|
||||
#endif
|
||||
|
||||
UENUM = endpoint; // select endpoint
|
||||
#ifdef MEGA4_6
|
||||
r = ((uint16_t)(UEBCHX)<<8)+UEBCLX;
|
||||
#else
|
||||
r = UEBCLX;
|
||||
#endif
|
||||
if (r>maxdatasize) r = maxdatasize;
|
||||
if (r) { // data available in input endpoint
|
||||
for (i=0; i<r; i++) buffer[i]=UEDATX;
|
||||
#ifdef MEGA4_6
|
||||
if ((((uint16_t)(UEBCHX)<<8)+UEBCLX)==0) { // buffer is empty
|
||||
#else
|
||||
if (UEBCLX==0) { // buffer is empty
|
||||
#endif
|
||||
UERST = _BV(endpoint); // endpoint FIFO reset
|
||||
UERST = 0;
|
||||
}
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Data Return (Device to Host), Control Transfers
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
bool usb_txdata_control(uint8_t *buffer, uint8_t datasize)
|
||||
{
|
||||
uint8_t i;
|
||||
|
||||
if (datasize) {
|
||||
UENUM = 0;
|
||||
usb_wait_in_ready();
|
||||
#ifdef MEGA4_6
|
||||
if ((((uint16_t)(UEBCHX)<<8)+UEBCLX)==0) { // buffer is empty
|
||||
#else
|
||||
if (UEBCLX==0) { // buffer is empty
|
||||
#endif
|
||||
for (i=0; i<datasize; i++) UEDATX = buffer[i];
|
||||
UEINTX&=~_BV(TXINI); // necessary (in this order) (changed V1.1.1)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Data Return (Device to Host)
|
||||
//-----------------------------------------------------------------------------
|
||||
// This routine has to be used for all transfer types, except control transfers
|
||||
|
||||
#ifdef MEGA4_6
|
||||
bool usb_txdata(uint8_t endpoint, uint8_t *buffer, uint16_t datasize)
|
||||
#else
|
||||
bool usb_txdata(uint8_t endpoint, uint8_t *buffer, uint8_t datasize)
|
||||
#endif
|
||||
{
|
||||
#ifdef MEGA4_6
|
||||
uint16_t i;
|
||||
#else
|
||||
uint8_t i;
|
||||
#endif
|
||||
|
||||
if (datasize) {
|
||||
UENUM = endpoint;
|
||||
usb_wait_in_ready();
|
||||
#ifdef MEGA4_6
|
||||
if ((((uint16_t)(UEBCHX)<<8)+UEBCLX)==0) { // buffer is empty
|
||||
#else
|
||||
if (UEBCLX==0) { // buffer is empty
|
||||
#endif
|
||||
for (i=0; i<datasize; i++)
|
||||
if (UEINTX & _BV(RWAL)) UEDATX = buffer[i];
|
||||
UEINTX&=~_BV(TXINI); // necessary (in this order) (changed V1.1.1)
|
||||
UEINTX=0x7F; // (uint8_t)~_BV(FIFOCON);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// USB Device Interrupt
|
||||
//-----------------------------------------------------------------------------
|
||||
// Hardware interrupts of the USB controller
|
||||
|
||||
ISR(USB_GEN_vect)
|
||||
{
|
||||
uint8_t intbits;
|
||||
|
||||
intbits = UDINT; // save flags
|
||||
UDINT = 0; // reset flags
|
||||
if (intbits & _BV(EORSTI)) { // End Of Reset Interrupt Flag
|
||||
// initialize endpoint 0 for control transfers
|
||||
UENUM = 0;
|
||||
UECONX = _BV(EPEN);
|
||||
UECFG0X = EP_TYPE_CONTROL;
|
||||
UECFG1X = EP_SIZE(ENDPOINT0_SIZE) | EP_SINGLE_BUFFER;
|
||||
UEIENX = _BV(RXSTPE); // enable interrupt for incoming data
|
||||
usb_conf = 0;
|
||||
#if (NUMINTERFACES>1)
|
||||
usb_if = 0xFF;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Endpoint Interrupts
|
||||
//-----------------------------------------------------------------------------
|
||||
// Interrupts, triggered by incoming data in an endpoint, are handled here.
|
||||
|
||||
ISR(USB_COM_vect)
|
||||
{
|
||||
#if (NUMINTERFACES>1)
|
||||
#define EPCO EP_CONFIG[j][i]
|
||||
#else
|
||||
#define EPCO EP_CONFIG[i]
|
||||
#endif
|
||||
|
||||
uint8_t intbits;
|
||||
uint8_t i, j, n, s;
|
||||
cfg_desc *cfg;
|
||||
if_desc *ifp;
|
||||
ep_desc *epp;
|
||||
#if (USESN==2) // serial number in RAM
|
||||
struct usb_string_descriptor_ram buf;
|
||||
#endif
|
||||
struct usb_control_request ucr;
|
||||
|
||||
if (UEINT & 0x01) {
|
||||
// handle interrupts of endpoint 0 (control transfers)
|
||||
UENUM = 0;
|
||||
intbits = UEINTX; // save interrupt flags of the endpoint
|
||||
if (intbits & _BV(RXSTPI)) { // control transfer, setup
|
||||
ucr.bmRequestType = UEDATX;
|
||||
ucr.bRequest = UEDATX;
|
||||
ucr.wValue = UEDATX;
|
||||
ucr.wValue |= (UEDATX << 8);
|
||||
ucr.wIndex = UEDATX;
|
||||
ucr.wIndex |= (UEDATX << 8);
|
||||
ucr.wLength = UEDATX;
|
||||
ucr.wLength |= (UEDATX << 8);
|
||||
UEINTX = ~(_BV(RXSTPI) | _BV(RXOUTI) | _BV(TXINI));
|
||||
if (ucr.bRequest == GET_DESCRIPTOR) {
|
||||
switch (ucr.wValue) {
|
||||
case 0x0100: // device descriptor
|
||||
usb_desc_out(false,&device_descriptor[0],pgm_read_byte(&device_descriptor[0]),ucr.wLength);
|
||||
break;
|
||||
case 0x0200: // configuration descriptor
|
||||
// get number of activated endpoints
|
||||
n=0;
|
||||
#if (NUMINTERFACES>1)
|
||||
for (j=0; j<NUMINTERFACES; j++)
|
||||
for (i=0; i<MAX_ENDPOINT; i++) n+=(EP_CONFIG[j][i].ep_type!=EP_TYPE_DISABLED);
|
||||
#else
|
||||
for (i=0; i<MAX_ENDPOINT; i++) n+=(EP_CONFIG[i].ep_type!=EP_TYPE_DISABLED);
|
||||
#endif
|
||||
s = sizeof(cfg_desc)+NUMINTERFACES*sizeof(if_desc)+n*sizeof(ep_desc);
|
||||
cfg = malloc(s); // allocate memory
|
||||
// initialize configuration descriptor
|
||||
cfg->bLength = sizeof(cfg_desc);
|
||||
cfg->bDescriptorType = 2;
|
||||
cfg->wTotalLength = s;
|
||||
cfg->bNumInterfaces = NUMINTERFACES;
|
||||
cfg->bConfigurationValue = 1;
|
||||
cfg->iConfiguration = 0;
|
||||
cfg->bmAttributes = POWERING;
|
||||
cfg->bMaxPower = MAXPOWER>>1;
|
||||
// initialize interface descriptor
|
||||
ifp = (if_desc *)((uint16_t)(cfg)+sizeof(cfg_desc));
|
||||
#if (NUMINTERFACES>1)
|
||||
for (j=0; j<NUMINTERFACES; j++) {
|
||||
n = 0;
|
||||
for (i=0; i<MAX_ENDPOINT; i++) n+=(EP_CONFIG[j][i].ep_type!=EP_TYPE_DISABLED); // number of endpoints for one interface
|
||||
#else
|
||||
j = 0;
|
||||
#endif
|
||||
ifp->bLength = sizeof(if_desc);
|
||||
ifp->bDescriptorType = 4;
|
||||
ifp->bInterfaceNumber = j;
|
||||
ifp->bAlternateSetting = 0;
|
||||
ifp->bNumEndpoints = n;
|
||||
ifp->bInterfaceClass = 0xFF;
|
||||
ifp->bInterfaceSubClass = 0x00;
|
||||
ifp->bInterfaceProtocol = 0xFF;
|
||||
ifp->iInterface = 0;
|
||||
epp = (ep_desc *)((uint16_t)(ifp)+sizeof(if_desc));
|
||||
if (n) { // endpoints
|
||||
for (i=0; i<MAX_ENDPOINT; i++) {
|
||||
if (EPCO.ep_type!=EP_TYPE_DISABLED) {
|
||||
epp->bLength = sizeof(ep_desc);
|
||||
epp->bDescriptorType = 5;
|
||||
epp->bEndpointAddress = (i+1)|(EPCO.ep_type<<7);
|
||||
epp->bmAttributes = EP_TRANSFER(EPCO.ep_type);
|
||||
epp->wMaxPacketSize = EPCO.ep_size;
|
||||
epp->bInterval = 0;
|
||||
epp = (ep_desc *)((uint16_t)(epp)+sizeof(ep_desc));
|
||||
}
|
||||
}
|
||||
}
|
||||
#if (NUMINTERFACES>1)
|
||||
ifp = (if_desc *)epp;
|
||||
}
|
||||
#endif
|
||||
// finally
|
||||
usb_desc_out(true,(uint8_t *)cfg,s,ucr.wLength);
|
||||
free(cfg);
|
||||
break;
|
||||
case 0x0300: // String 0
|
||||
usb_desc_out(false,(uint8_t *)&string0.bLength,pgm_read_byte(&string0.bLength),ucr.wLength);
|
||||
break;
|
||||
case 0x0301: // String 1
|
||||
usb_desc_out(false,(uint8_t *)&string1.bLength,pgm_read_byte(&string1.bLength),ucr.wLength);
|
||||
break;
|
||||
case 0x0302: // String 2
|
||||
usb_desc_out(false,(uint8_t *)&string2.bLength,pgm_read_byte(&string2.bLength),ucr.wLength);
|
||||
break;
|
||||
#if (USESN>0)
|
||||
case 0x0303: // String 3, serial number
|
||||
#if (USESN==1) // Seriennummer im Flash
|
||||
usb_desc_out(false,(uint8_t *)&string3.bLength,pgm_read_byte(&string3.bLength),ucr.wLength);
|
||||
#endif
|
||||
#if (USESN==2) // serial number in the RAM
|
||||
buf.bDescriptorType=3; // has to be 3 always
|
||||
i = 0;
|
||||
while (RAMSN[i]) {
|
||||
buf.wString[i] = RAMSN[i];
|
||||
i++;
|
||||
}
|
||||
buf.bLength=2*i+2; // total length of the data set
|
||||
usb_desc_out(true,(uint8_t *)&buf,buf.bLength,ucr.wLength);
|
||||
#endif
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
STALL; // stall
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (ucr.bRequest == SET_ADDRESS) {
|
||||
USB_SEND_IN;
|
||||
usb_wait_in_ready();
|
||||
UDADDR = ucr.wValue | _BV(ADDEN);
|
||||
return;
|
||||
}
|
||||
if (ucr.bRequest == SET_CONFIGURATION && ucr.bmRequestType == 0) { // another configuration will be chosen
|
||||
if (ucr.wValue==1) { // configuration 1 will be chosen
|
||||
usb_conf = ucr.wValue;
|
||||
USB_SEND_IN;
|
||||
#if (NUMINTERFACES==1)
|
||||
usb_endpoints(); // initialize endpoints
|
||||
#else
|
||||
usb_if = 0; // select interface 0
|
||||
usb_endpoints(usb_if); // initialize endpoints
|
||||
#endif
|
||||
} else { // other configurations are not supported in this version
|
||||
STALL; // stall
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (ucr.bRequest == GET_CONFIGURATION && ucr.bmRequestType == 0x80) {
|
||||
usb_wait_in_ready();
|
||||
UEDATX = usb_conf;
|
||||
USB_SEND_IN;
|
||||
return;
|
||||
}
|
||||
if (ucr.bRequest == GET_STATUS) {
|
||||
usb_wait_in_ready();
|
||||
i = 0;
|
||||
#ifdef SUPPORT_ENDPOINT_HALT
|
||||
if (ucr.bmRequestType == 0x82) {
|
||||
UENUM = ucr.wIndex;
|
||||
if (UECONX & _BV(STALLRQ)) i = 1;
|
||||
UENUM = 0;
|
||||
}
|
||||
#endif
|
||||
UEDATX = i;
|
||||
UEDATX = 0;
|
||||
USB_SEND_IN;
|
||||
return;
|
||||
}
|
||||
#if (NUMINTERFACES>1)
|
||||
if (ucr.bRequest == SET_INTERFACE && (ucr.bmRequestType == 0x20 || ucr.bmRequestType == 0)) { // another interface will be chosen
|
||||
if (ucr.wIndex<NUMINTERFACES) { // defined interface will be chosen
|
||||
usb_if = ucr.wIndex;
|
||||
USB_SEND_IN;
|
||||
usb_endpoints(usb_if); // initialize endpoints
|
||||
} else { // other configurations are not supported in this version
|
||||
STALL; // stall
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (ucr.bRequest == GET_INTERFACE && ucr.bmRequestType == 0x80) {
|
||||
usb_wait_in_ready();
|
||||
UEDATX = usb_if;
|
||||
USB_SEND_IN;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
#ifdef SUPPORT_ENDPOINT_HALT
|
||||
if ((ucr.bRequest == CLEAR_FEATURE || ucr.bRequest == SET_FEATURE)
|
||||
&& ucr.bmRequestType == 0x02 && ucr.wValue == 0) {
|
||||
i = ucr.wIndex & 0x7F;
|
||||
if (i >= 1 && i <= MAX_ENDPOINT) {
|
||||
USB_SEND_IN;
|
||||
UENUM = i;
|
||||
if (ucr.bRequest == SET_FEATURE) {
|
||||
UECONX = _BV(STALLRQ)|_BV(EPEN);
|
||||
} else {
|
||||
UECONX = _BV(STALLRQC)|_BV(RSTDT)|_BV(EPEN);
|
||||
UERST = _BV(i);
|
||||
UERST = 0;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#ifdef USERDEFCONTROLS
|
||||
// handle user defined control requests
|
||||
if (!usb_controlrequest(&ucr))
|
||||
UECONX = _BV(STALLRQ) | _BV(EPEN); // stall
|
||||
return;
|
||||
#endif
|
||||
}
|
||||
UECONX = _BV(STALLRQ) | _BV(EPEN); // stall
|
||||
}
|
||||
|
||||
// handle interrupts for further endpoints
|
||||
for (i=1; i<=MAX_ENDPOINT; i++) {
|
||||
if (UEINT & _BV(i)) {
|
||||
UENUM=i; // select endpoint
|
||||
intbits = UEINTX; // save interrupt bits of the endpoint
|
||||
if (intbits & _BV(RXOUTI)) { // interrupt occured by incoming data
|
||||
#ifdef MEGA4_6
|
||||
if (((uint16_t)(UEBCHX)<<8)+UEBCLX) { // data available in input endpoint
|
||||
usb_ep(i,((uint16_t)(UEBCHX)<<8)+UEBCLX);
|
||||
#else
|
||||
if (UEBCLX) { // data available in input endpoint
|
||||
usb_ep(i,UEBCLX);
|
||||
#endif
|
||||
UENUM=i; // reselect endpoint (if changed by handling routine)
|
||||
}
|
||||
UEINTX = ~(_BV(RXOUTI)|_BV(STALLEDI)); // clear interrupt flags
|
||||
UEINTX = 0x7F; // free bank (FIFOCON), has to be executed after RXOUTI!
|
||||
return;
|
||||
}
|
||||
STALL; // stall
|
||||
}
|
||||
}
|
||||
STALL; // stall
|
||||
}
|
252
Mainboard/Mainboard/usb_user.h
Normal file
252
Mainboard/Mainboard/usb_user.h
Normal file
@ -0,0 +1,252 @@
|
||||
/*****************************************************************************
|
||||
|
||||
USB-Template: User defined USB device
|
||||
V1.1.0
|
||||
|
||||
(c) 2010-2011 Reusch Elektronik, Dipl.-Ing. (FH) Rainer Reusch
|
||||
Homepage: http://products.reworld.eu/index.htm
|
||||
|
||||
Supported devices:
|
||||
- AT90USB82, AT90USB162
|
||||
- ATMEGA8U2, ATMEGA16U2, ATMEGA32U2
|
||||
- ATMEGA8U4, ATMEGA16U4, ATMEGA32U4
|
||||
- AT90USB646, AT90USB647, AT90USB1286, AT90USB1287
|
||||
|
||||
Supported modules:
|
||||
- U2DIL-AT90USB162
|
||||
- U2DIL-ATMEGA32U2
|
||||
- U4DIL-ATMEGA32U4
|
||||
- U6DIL-AT90USB1286
|
||||
|
||||
USB Header File
|
||||
|
||||
Created: 2010-01-07
|
||||
Changed: 2011-03-12
|
||||
|
||||
*****************************************************************************/
|
||||
|
||||
// Usually no changes are necessary in this file!
|
||||
|
||||
#ifndef usb_h__
|
||||
#define usb_h__
|
||||
|
||||
#include <avr/pgmspace.h>
|
||||
#include <avr/interrupt.h>
|
||||
#include <stdint.h>
|
||||
#include "usb_user_config.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// USB Strings
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
struct usb_string_descriptor {
|
||||
uint8_t bLength;
|
||||
uint8_t bDescriptorType;
|
||||
int16_t wString[];
|
||||
};
|
||||
|
||||
static const struct usb_string_descriptor PROGMEM string0 = {
|
||||
4,
|
||||
3,
|
||||
{0x0409}
|
||||
};
|
||||
|
||||
static const struct usb_string_descriptor PROGMEM string1 = {
|
||||
sizeof(STR_MANUFACTURER),
|
||||
3,
|
||||
STR_MANUFACTURER
|
||||
};
|
||||
|
||||
static const struct usb_string_descriptor PROGMEM string2 = {
|
||||
sizeof(STR_PRODUCT),
|
||||
3,
|
||||
STR_PRODUCT
|
||||
};
|
||||
|
||||
#if (USESN==1)
|
||||
static const struct usb_string_descriptor PROGMEM string3 = {
|
||||
sizeof(STR_SERIAL_NUMBER),
|
||||
3,
|
||||
STR_SERIAL_NUMBER
|
||||
};
|
||||
#endif
|
||||
|
||||
#if (USESN==2)
|
||||
// Your USB serial numebr in RAM. Must be set into RAMSN before calling usb_init!
|
||||
// Descriptor size, descriptor ID and conversion into widechars wil be done automatically.
|
||||
|
||||
#define RAMSNLEN 16 // maximum length of the serial number
|
||||
|
||||
struct usb_string_descriptor_ram {
|
||||
uint8_t bLength;
|
||||
uint8_t bDescriptorType;
|
||||
int16_t wString[RAMSNLEN];
|
||||
};
|
||||
|
||||
char RAMSN[RAMSNLEN]; // save the S/N as string here (e.g. read from EEPROM)
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Endpoints
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// buffer sizes of an endpoint
|
||||
// Hint: For 64 byte and more only two endpoints must be activated!
|
||||
#define EP_SIZE(s) ((s) == 512 ? 0x60 : \
|
||||
((s) == 256 ? 0x50 : \
|
||||
((s) == 128 ? 0x40 : \
|
||||
((s) == 64 ? 0x30 : \
|
||||
((s) == 32 ? 0x20 : \
|
||||
((s) == 16 ? 0x10 : \
|
||||
0x00))))))
|
||||
|
||||
// endpoint attributes
|
||||
#define EP_TRANSFER(t) ((t) == EP_TYPE_ISOCHRONOUS_IN ? 1 : \
|
||||
((t) == EP_TYPE_ISOCHRONOUS_OUT ? 1 : \
|
||||
((t) == EP_TYPE_BULK_IN ? 2 : \
|
||||
((t) == EP_TYPE_BULK_OUT ? 2 : \
|
||||
3))))
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Device Descriptor
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#define LSB(n) (n & 255)
|
||||
#define MSB(n) ((n >> 8) & 255)
|
||||
|
||||
static const uint8_t PROGMEM device_descriptor[] = {
|
||||
18, // bLength
|
||||
1, // bDescriptorType
|
||||
0x00, 0x02, // bcdUSB
|
||||
USBDEVICECLASS, // bDeviceClass
|
||||
0, // bDeviceSubClass
|
||||
0, // bDeviceProtocol
|
||||
ENDPOINT0_SIZE, // bMaxPacketSize0
|
||||
LSB(VENDOR_ID), MSB(VENDOR_ID), // idVendor
|
||||
LSB(PRODUCT_ID), MSB(PRODUCT_ID), // idProduct
|
||||
0x00, 0x01, // bcdDevice
|
||||
1, // iManufacturer
|
||||
2, // iProduct
|
||||
3, // iSerialNumber
|
||||
1 // bNumConfigurations
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Standard Commands for Control Transfers
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#define GET_STATUS 0
|
||||
#define CLEAR_FEATURE 1
|
||||
#define SET_FEATURE 3
|
||||
#define SET_ADDRESS 5
|
||||
#define GET_DESCRIPTOR 6
|
||||
#define GET_CONFIGURATION 8
|
||||
#define SET_CONFIGURATION 9
|
||||
#define GET_INTERFACE 10
|
||||
#define SET_INTERFACE 11
|
||||
|
||||
//=============================================================================
|
||||
// USB Functions
|
||||
//=============================================================================
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// USB Initializing
|
||||
//-----------------------------------------------------------------------------
|
||||
// Has to be called one time before any USB actions.
|
||||
// Interrupts has to be enabled (call of sei macro)
|
||||
|
||||
void usb_init(void);
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// USB State
|
||||
//-----------------------------------------------------------------------------
|
||||
// Request of the USB state.
|
||||
// State is determined with function call.
|
||||
// Hint: For AT90USB82/162 and ATMEGAxxU2 without VBUSDETECT option, state will
|
||||
// not change, if USB connector will be unplugged!
|
||||
// Possible return values:
|
||||
#define USB_STATUS_DISCONNECTED 0 // not connected (for self powered devices)
|
||||
#define USB_STATUS_CONNECTED 1 // connected (for AT90USB82/162 and ATMEGAxxU2 only with option VBUSDETECT)
|
||||
#define USB_STATUS_ENUMERATED 2 // USB address assigned (USB connection established)
|
||||
#define USB_STATUS_CONFIGURED 3 // a valid configuration were selected (USB device usable)
|
||||
|
||||
uint8_t usb_status(void);
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// USB Configuration
|
||||
//-----------------------------------------------------------------------------
|
||||
// Returns the configuration number, set by the host
|
||||
// If the value is 0, no configuration were selected by the host. No endpoint
|
||||
// (except ep0 for control transfers) can be used in this case.
|
||||
|
||||
uint8_t usb_configuration(void);
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// USB Interface
|
||||
//-----------------------------------------------------------------------------
|
||||
// Returns the number of the interface, selected by the host.
|
||||
|
||||
uint8_t usb_interface(void);
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Data Check (Host to Device)
|
||||
//-----------------------------------------------------------------------------
|
||||
// This function returns the number of data bytes, contained in the FIFO
|
||||
// input buffer, for the specified endpoint.
|
||||
|
||||
#ifdef MEGA4_6
|
||||
uint16_t usb_rxavail(uint8_t endpoint);
|
||||
#else
|
||||
uint8_t usb_rxavail(uint8_t endpoint);
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Data Receive (Host to Device)
|
||||
//-----------------------------------------------------------------------------
|
||||
// "endpoint" has to specify an "OUT" endpoint (1..4 or 1..6)!
|
||||
// Data will be stored into "buffer".
|
||||
// Returns number of bytes, transfered into buffer
|
||||
#ifdef MEGA4_6
|
||||
uint16_t usb_rxdata(uint8_t endpoint, uint8_t *buffer, uint16_t maxdatasize);
|
||||
#else
|
||||
uint8_t usb_rxdata(uint8_t endpoint, uint8_t *buffer, uint8_t maxdatasize);
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Data Return (Device to Host), Control Transfer
|
||||
//-----------------------------------------------------------------------------
|
||||
// Data return for control transfers (endpoint 0)
|
||||
// "datasize" not greater than size of FIFO buffer (no check!)
|
||||
// Result is always "true", if no connection to host.
|
||||
// When a connection is established, result is "false", if data block,
|
||||
// stored before, is not read from the FIFO buffer.
|
||||
|
||||
bool usb_txdata_control(uint8_t *buffer, uint8_t datasize);
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Data Return (Device to Host)
|
||||
//-----------------------------------------------------------------------------
|
||||
// "endpoint" must specify a valid endpoint number (1..4 or 1..6)!
|
||||
// "datasize" not greater than size of FIFO buffer (no check!)
|
||||
// Result is always "true", if no connection to host.
|
||||
// When a connection is established, result is "false", if data block,
|
||||
// stored before, is not read from the FIFO buffer.
|
||||
|
||||
#ifdef MEGA4_6
|
||||
bool usb_txdata(uint8_t endpoint, uint8_t *buffer, uint16_t datasize);
|
||||
#else
|
||||
bool usb_txdata(uint8_t endpoint, uint8_t *buffer, uint8_t datasize);
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Free FIFO Buffer
|
||||
//-----------------------------------------------------------------------------
|
||||
// Free the FIFO buffer for one endpoint
|
||||
// Data contained in the buffer will be lost.
|
||||
// Endpoint usable for new data transfer.
|
||||
// It is not necessary, to call this routine after read of buffer data with
|
||||
// read routine. Routine can be used to clear buffer before writing new data.
|
||||
|
||||
void usb_freebuffer(uint8_t endpoint);
|
||||
|
||||
#endif
|
244
Mainboard/Mainboard/usb_user_config.h
Normal file
244
Mainboard/Mainboard/usb_user_config.h
Normal file
@ -0,0 +1,244 @@
|
||||
/*****************************************************************************
|
||||
|
||||
USB-Template: User defined USB device
|
||||
V1.1.0
|
||||
|
||||
(c) 2010-2011 Reusch Elektronik, Dipl.-Ing. (FH) Rainer Reusch
|
||||
Homepage: http://products.reworld.eu/index.htm
|
||||
|
||||
Supported devices:
|
||||
- AT90USB82, AT90USB162
|
||||
- ATMEGA8U2, ATMEGA16U2, ATMEGA32U2
|
||||
- ATMEGA8U4, ATMEGA16U4, ATMEGA32U4
|
||||
- AT90USB646, AT90USB647, AT90USB1286, AT90USB1287
|
||||
|
||||
Supported modules:
|
||||
- U2DIL-AT90USB162
|
||||
- U2DIL-ATMEGA32U2
|
||||
- U4DIL-ATMEGA32U4
|
||||
- U6DIL-AT90USB1286
|
||||
|
||||
USB Configuration
|
||||
|
||||
Created: 2010-01-07
|
||||
Changed: 2011-03-12
|
||||
|
||||
*****************************************************************************/
|
||||
|
||||
// in this file you will make changes for your purposes
|
||||
|
||||
#ifndef usbconfig_h__
|
||||
#define usbconfig_h__
|
||||
|
||||
#if defined (__AVR_AT90USB82__) || (__AVR_AT90USB162__) || (__AVR_ATmega8U2__) || (__AVR_ATmega32U2__)
|
||||
#define MEGA2 // AT90USB82/162, ATMEGAxxU2
|
||||
#endif
|
||||
#if defined (__AVR_ATmega16U4__) || (__AVR_ATmega32U4__)
|
||||
#define MEGA4 // ATMEGAxxU4
|
||||
#define MEGA4_6
|
||||
#endif
|
||||
#if defined (__AVR_AT90USB646__) || (__AVR_AT90USB647__) || (__AVR_AT90USB1286__) || (__AVR_AT90USB1287__)
|
||||
#define MEGA6 // AT90USB646, -647, -1286, -1287
|
||||
#define MEGA4_6
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include "config.h"
|
||||
|
||||
#if (F_CPU==8000000)
|
||||
#define FREQ_OK
|
||||
#endif
|
||||
#if (F_CPU==16000000)
|
||||
#define FREQ_OK
|
||||
#endif
|
||||
#ifndef FREQ_OK
|
||||
#error "Invalid clock frequency (only 8 or 16MHz)!"
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// General USB commitments
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// Vendor Name
|
||||
// will be a part of the descriptor and can be requested by the host
|
||||
#define STR_MANUFACTURER L"BlubbFish"
|
||||
|
||||
// Product Name
|
||||
// will be a part of the descriptor and can be requested by the host
|
||||
#define STR_PRODUCT L"Hacker-Jeopardy"
|
||||
|
||||
// USB Serial Number (optional)
|
||||
// will be a part of the descriptor and can be requested by the host
|
||||
#define USESN 0 // Options: 0= no S/N; 1= S/N inside the flash memory; 2= S/N inside RAM
|
||||
#if (USESN==1)
|
||||
#define STR_SERIAL_NUMBER L"000000" // your serial number, stored in flash memory
|
||||
#endif
|
||||
|
||||
// Vendor ID
|
||||
// set your vendor ID here
|
||||
#define VENDOR_ID 0xDEAD // !!! THIS ID IS NOT FOR OFFICIAL USE, FOR YOUR PERSONAL TESTING PURPOSES ONLY !!!
|
||||
|
||||
// Product ID
|
||||
// set your product ID here
|
||||
#define PRODUCT_ID 0xBEEE // !!! THIS ID IS NOT FOR OFFICIAL USE, FOR YOUR PERSONAL TESTING PURPOSES ONLY !!!
|
||||
|
||||
// USB device class
|
||||
// possible settings:
|
||||
#define USBDEVICECLASS_USER 0xFF // user defined class
|
||||
// set the class for your purposes
|
||||
#define USBDEVICECLASS USBDEVICECLASS_USER
|
||||
|
||||
// power supply
|
||||
#define SELFPOWERED 0x40
|
||||
#define BUSPOWERED 0x80
|
||||
#define POWERING SELFPOWERED | BUSPOWERED // Alternatives: SELFPOWERED or SELFPOWERED | BUSPOWERED
|
||||
|
||||
// current consumption
|
||||
// in mA (milliamperes), uses only even values between 2 and 500
|
||||
#define MAXPOWER 500
|
||||
|
||||
#ifdef MEGA2
|
||||
// The controllers AT90USB82/162 and ATMEGAxxU2 are not able, to detect a
|
||||
// plugged USB connector (presence of VBUS voltage). As alternative an input
|
||||
// port, which is connected with the 5V line of the USB connector, can be
|
||||
// used. A pull down resistor at the input port is recommended.
|
||||
// Uncomment the following line, if a port pin is used for this purpose.
|
||||
//#define VBUSDETECT
|
||||
#define VBUSDIR DDRC // Data Direction Register of the used port
|
||||
#define VBUSPORT PINC // used port
|
||||
#define VBUSPIN PC4 // used pin (PC4 as example)
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Data Set for a USB Control Request
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// Nothing to change here!
|
||||
|
||||
struct usb_control_request {
|
||||
uint8_t bmRequestType;
|
||||
uint8_t bRequest;
|
||||
uint16_t wValue;
|
||||
uint16_t wIndex;
|
||||
uint16_t wLength;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Endpoints
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// maximum number of endpoints (don't change!)
|
||||
#ifdef MEGA4_6
|
||||
#define MAX_ENDPOINT 6
|
||||
#else
|
||||
#define MAX_ENDPOINT 4
|
||||
#endif
|
||||
|
||||
// Constants for endpoint configuration (don't change!)
|
||||
#define EP_TYPE_DISABLED 0xFF // endpoint not used
|
||||
#define EP_TYPE_CONTROL 0x00
|
||||
#define EP_TYPE_BULK_IN 0x81
|
||||
#define EP_TYPE_BULK_OUT 0x80
|
||||
#define EP_TYPE_INTERRUPT_IN 0xC1
|
||||
#define EP_TYPE_INTERRUPT_OUT 0xC0
|
||||
#define EP_TYPE_ISOCHRONOUS_IN 0x41
|
||||
#define EP_TYPE_ISOCHRONOUS_OUT 0x40
|
||||
#define EP_SINGLE_BUFFER 0x02
|
||||
#define EP_DOUBLE_BUFFER 0x06
|
||||
|
||||
// Endpoint 0
|
||||
// (for Control Transfers, must be defined always)
|
||||
#define ENDPOINT0_SIZE 16 // control endpoint
|
||||
// uncomment the following line to handle user defined control request
|
||||
// of endpoint 0 in the main program
|
||||
#define USERDEFCONTROLS // we will use self defined control transfers in this example
|
||||
#ifdef USERDEFCONTROLS
|
||||
// function prototype to handle user defined control requests.
|
||||
// Function has to return "true", if request is handled.
|
||||
// If result is "false", a "stall" will be returned to host.
|
||||
bool usb_controlrequest(struct usb_control_request *ucr);
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
uint8_t ep_type; // transfer
|
||||
uint8_t ep_size; // buffer size
|
||||
uint8_t ep_buffer; // buffer configuration
|
||||
} ep_config;
|
||||
|
||||
// configuration of the endpoints
|
||||
// EP_TYPE constant, buffer size (8, 16, 32 or 64 byte), single or double buffer
|
||||
|
||||
// Hint: Use only two endpoints, if buffer size is 64 byte!
|
||||
|
||||
// Additional hints, if more than one USB interfaces are defined:
|
||||
// - after configuration change (only configuration 1 is possible),
|
||||
// interface 0 will be selected
|
||||
// - to chose another interface, the control request command SET_INTERFACE
|
||||
// with the request type 0x20 has to be executed
|
||||
|
||||
#define NUMINTERFACES 2 // number of supported interfaces (1...3) (Endpoint configurations)
|
||||
|
||||
#if (NUMINTERFACES>1)
|
||||
static const ep_config EP_CONFIG[NUMINTERFACES][MAX_ENDPOINT] = {{
|
||||
#else
|
||||
static const ep_config EP_CONFIG[MAX_ENDPOINT] = {
|
||||
#endif
|
||||
// modify the following lines for your purposes
|
||||
{EP_TYPE_BULK_OUT, 32, EP_SINGLE_BUFFER}, // one OUT and one IN endpoint with bulk transfer in this example
|
||||
{EP_TYPE_BULK_IN, 32, EP_SINGLE_BUFFER},
|
||||
{EP_TYPE_DISABLED, 32, EP_SINGLE_BUFFER},
|
||||
{EP_TYPE_DISABLED, 32, EP_SINGLE_BUFFER}
|
||||
#ifdef MEGA4_6 // the following endpoints are only available on ATMEGAxxU4 and AT90USB64x/128x controllers
|
||||
,
|
||||
{EP_TYPE_DISABLED, 32, EP_SINGLE_BUFFER},
|
||||
{EP_TYPE_DISABLED, 32, EP_SINGLE_BUFFER}
|
||||
#endif
|
||||
#if (NUMINTERFACES>1)
|
||||
},{
|
||||
// modify the following lines for your purposes
|
||||
{EP_TYPE_DISABLED, 32, EP_SINGLE_BUFFER},
|
||||
{EP_TYPE_DISABLED, 32, EP_SINGLE_BUFFER},
|
||||
{EP_TYPE_DISABLED, 32, EP_SINGLE_BUFFER},
|
||||
{EP_TYPE_DISABLED, 32, EP_SINGLE_BUFFER}
|
||||
#ifdef MEGA4_6 // the following endpoints are only available on ATMEGAxxU4 and AT90USB64x/128x controllers
|
||||
,
|
||||
{EP_TYPE_DISABLED, 32, EP_SINGLE_BUFFER},
|
||||
{EP_TYPE_DISABLED, 32, EP_SINGLE_BUFFER}
|
||||
#endif
|
||||
}
|
||||
// more interfaces...
|
||||
#if (NUMINTERFACES==3)
|
||||
,{
|
||||
// modify the following lines for your purposes
|
||||
{EP_TYPE_DISABLED, 32, EP_SINGLE_BUFFER},
|
||||
{EP_TYPE_DISABLED, 32, EP_SINGLE_BUFFER},
|
||||
{EP_TYPE_DISABLED, 32, EP_SINGLE_BUFFER},
|
||||
{EP_TYPE_DISABLED, 32, EP_SINGLE_BUFFER}
|
||||
#ifdef MEGA4_6 // the following endpoints are only available on ATMEGAxxU4 and AT90USB64x/128x controllers
|
||||
,
|
||||
{EP_TYPE_DISABLED, 32, EP_SINGLE_BUFFER},
|
||||
{EP_TYPE_DISABLED, 32, EP_SINGLE_BUFFER}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Endpoint Interrupt
|
||||
//-----------------------------------------------------------------------------
|
||||
// Function prototype to handle endpoint interrupts for incoming data
|
||||
// The routine will be a part of the main program
|
||||
|
||||
void usb_ep(uint8_t endpoint, uint16_t datasize);
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Functional Purposes
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// "Endpoint Halt" option
|
||||
// Comment the following to save code memory. But USB conformity is lost.
|
||||
#define SUPPORT_ENDPOINT_HALT
|
||||
|
||||
#endif
|
167
Mainboard/Windows/UnitMain.cpp
Normal file
167
Mainboard/Windows/UnitMain.cpp
Normal file
@ -0,0 +1,167 @@
|
||||
/*****************************************************************************
|
||||
|
||||
USB-Example: User defined USB device
|
||||
V1.0.0
|
||||
|
||||
(c) 2011 Reusch Elektronik, Dipl.-Ing. (FH) Rainer Reusch
|
||||
Homepage: http://products.reworld.eu/index.htm
|
||||
|
||||
Main Form
|
||||
|
||||
Borland C++Builder 6
|
||||
|
||||
Created: 2011-05-30
|
||||
Changed: 2011-05-30
|
||||
|
||||
*****************************************************************************/
|
||||
|
||||
/*
|
||||
This example uses the "LibUSB-Win32" library and driver collection, to communicate
|
||||
with the USB device.
|
||||
The example shows, how to use control transfers for the own usage.
|
||||
It defines two additional endpoints for bulk transfer (write and read) of data.
|
||||
*/
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#include <vcl.h>
|
||||
#pragma hdrstop
|
||||
|
||||
#include "UnitMain.h"
|
||||
//---------------------------------------------------------------------------
|
||||
#pragma package(smart_init)
|
||||
#pragma resource "*.dfm"
|
||||
TFormMain *FormMain;
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
__fastcall TFormMain::TFormMain(TComponent* Owner)
|
||||
: TForm(Owner)
|
||||
{
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
usb_dev_handle * TFormMain::open_dev(void)
|
||||
// open USB device with defined VID and PID
|
||||
{
|
||||
struct usb_bus *bus;
|
||||
struct usb_device *dev;
|
||||
|
||||
for (bus = usb_get_busses(); bus; bus = bus->next) {
|
||||
for (dev = bus->devices; dev; dev = dev->next) {
|
||||
if ((dev->descriptor.idVendor==MY_VID)&&(dev->descriptor.idProduct==MY_PID)) {
|
||||
return usb_open(dev);
|
||||
}
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TFormMain::FormCreate(TObject *Sender)
|
||||
{
|
||||
// USB initializations
|
||||
dev=0;
|
||||
usb_init(); // initialize the library
|
||||
usb_find_busses(); // find all busses
|
||||
usb_find_devices(); // find all connected devices
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TFormMain::FormCloseQuery(TObject *Sender, bool &CanClose)
|
||||
{
|
||||
ButtonCloseClick(Sender);
|
||||
CanClose=true;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TFormMain::FormDestroy(TObject *Sender)
|
||||
{
|
||||
//
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TFormMain::ButtonOpenClick(TObject *Sender)
|
||||
// open USB device
|
||||
{
|
||||
dev=open_dev();
|
||||
if (dev) {
|
||||
usb_set_configuration(dev, 1); // select 1st USB configuration
|
||||
StatusBar1->SimpleText="USB device opened";
|
||||
} else
|
||||
StatusBar1->SimpleText="opening failed";
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TFormMain::ButtonVersionClick(TObject *Sender)
|
||||
// user defined control transfer
|
||||
{
|
||||
#define CONTROLBUFSIZE 16 // USB buffer size for control transfers
|
||||
#define USER_REQUESTTYPE 0xC3 // a user defined request type with response (means, no standard request)
|
||||
#define USER_REQUESTVERSION 0x01 // a self defined request: get version info
|
||||
int r;
|
||||
char buf[CONTROLBUFSIZE];
|
||||
AnsiString s;
|
||||
|
||||
if (dev) {
|
||||
r=usb_control_msg(dev,USER_REQUESTTYPE,USER_REQUESTVERSION,0,1,(char *)(&buf),sizeof(buf),100);
|
||||
if (r>0) {
|
||||
s.SetLength(strlen(buf));
|
||||
strcpy(s.c_str(),buf);
|
||||
LabelVersion->Caption=s;
|
||||
StatusBar1->SimpleText="version info received";
|
||||
}
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TFormMain::ButtonTransferClick(TObject *Sender)
|
||||
// transfer data to device and receive response
|
||||
// (bulk transfer via user defined endpoints)
|
||||
{
|
||||
#define BUFSIZE 32 // USB buffer size (= max. data size for one data block)
|
||||
#define EP_TODEVICE 0x01 // endpoint for data to device (OUT)
|
||||
#define EP_FROMDEVICE 0x82 // endpoint for data from device (IN)
|
||||
char buf[BUFSIZE];
|
||||
int r;
|
||||
AnsiString s;
|
||||
|
||||
if (dev) {
|
||||
strcpy(buf,LabeledEdit1->Text.c_str());
|
||||
usb_claim_interface(dev, 0); // select interface 0
|
||||
r=usb_bulk_write(dev,EP_TODEVICE,buf,sizeof(buf),100); // output data
|
||||
if (r>0) { // data was transmitted successfully, now wait for response
|
||||
Sleep(100);
|
||||
r=usb_bulk_read(dev,EP_FROMDEVICE,(char *)&buf,sizeof(buf),100);
|
||||
if (r>0) { // data received from device
|
||||
s.SetLength(strlen(buf));
|
||||
strcpy(s.c_str(),buf);
|
||||
LabelData->Caption=s;
|
||||
StatusBar1->SimpleText="data sent and received";
|
||||
} else { // error
|
||||
LabelData->Caption="(no response)";
|
||||
StatusBar1->SimpleText="no response from device";
|
||||
}
|
||||
}
|
||||
usb_release_interface(dev, 0); // close pipe
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TFormMain::ButtonCloseClick(TObject *Sender)
|
||||
// close USB device
|
||||
{
|
||||
if (dev) {
|
||||
usb_close(dev);
|
||||
dev=NULL;
|
||||
StatusBar1->SimpleText="USB device closed";
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void __fastcall TFormMain::ButtonExitClick(TObject *Sender)
|
||||
// exit program
|
||||
{
|
||||
Close();
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
121
Mainboard/Windows/UnitMain.dfm
Normal file
121
Mainboard/Windows/UnitMain.dfm
Normal file
@ -0,0 +1,121 @@
|
||||
object FormMain: TFormMain
|
||||
Left = 1154
|
||||
Top = 299
|
||||
BorderStyle = bsSingle
|
||||
Caption = 'UxDIL - User Device Demo'
|
||||
ClientHeight = 276
|
||||
ClientWidth = 329
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = []
|
||||
OldCreateOrder = False
|
||||
Position = poScreenCenter
|
||||
OnCloseQuery = FormCloseQuery
|
||||
OnCreate = FormCreate
|
||||
OnDestroy = FormDestroy
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
object Label1: TLabel
|
||||
Left = 8
|
||||
Top = 152
|
||||
Width = 256
|
||||
Height = 13
|
||||
Caption = 'Received (converted) string from device (bulk transfer)'
|
||||
end
|
||||
object LabelData: TLabel
|
||||
Left = 8
|
||||
Top = 168
|
||||
Width = 45
|
||||
Height = 16
|
||||
Caption = '(none)'
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clHotLight
|
||||
Font.Height = -13
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object LabelVersion: TLabel
|
||||
Left = 216
|
||||
Top = 48
|
||||
Width = 9
|
||||
Height = 16
|
||||
Caption = '?'
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clHotLight
|
||||
Font.Height = -13
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object StatusBar1: TStatusBar
|
||||
Left = 0
|
||||
Top = 257
|
||||
Width = 329
|
||||
Height = 19
|
||||
Panels = <>
|
||||
SimplePanel = True
|
||||
SimpleText = '(c) 2011 Reusch Elektronik'
|
||||
end
|
||||
object ButtonOpen: TButton
|
||||
Left = 8
|
||||
Top = 8
|
||||
Width = 193
|
||||
Height = 25
|
||||
Caption = '&Open Device'
|
||||
TabOrder = 1
|
||||
OnClick = ButtonOpenClick
|
||||
end
|
||||
object ButtonVersion: TButton
|
||||
Left = 8
|
||||
Top = 40
|
||||
Width = 193
|
||||
Height = 25
|
||||
Caption = 'Firmware &Version (control transfer)'
|
||||
TabOrder = 2
|
||||
OnClick = ButtonVersionClick
|
||||
end
|
||||
object LabeledEdit1: TLabeledEdit
|
||||
Left = 8
|
||||
Top = 88
|
||||
Width = 289
|
||||
Height = 21
|
||||
EditLabel.Width = 77
|
||||
EditLabel.Height = 13
|
||||
EditLabel.Caption = 'String for device'
|
||||
LabelPosition = lpAbove
|
||||
LabelSpacing = 3
|
||||
MaxLength = 31
|
||||
TabOrder = 3
|
||||
end
|
||||
object ButtonClose: TButton
|
||||
Left = 8
|
||||
Top = 192
|
||||
Width = 193
|
||||
Height = 25
|
||||
Caption = '&Close Device'
|
||||
TabOrder = 4
|
||||
OnClick = ButtonCloseClick
|
||||
end
|
||||
object ButtonExit: TButton
|
||||
Left = 8
|
||||
Top = 224
|
||||
Width = 193
|
||||
Height = 25
|
||||
Caption = 'E&xit'
|
||||
TabOrder = 5
|
||||
OnClick = ButtonExitClick
|
||||
end
|
||||
object ButtonTransfer: TButton
|
||||
Left = 8
|
||||
Top = 120
|
||||
Width = 193
|
||||
Height = 25
|
||||
Caption = 'Convert &String (bulk transfer)'
|
||||
TabOrder = 6
|
||||
OnClick = ButtonTransferClick
|
||||
end
|
||||
end
|
64
Mainboard/Windows/UnitMain.h
Normal file
64
Mainboard/Windows/UnitMain.h
Normal file
@ -0,0 +1,64 @@
|
||||
/*****************************************************************************
|
||||
|
||||
USB-Example: User defined USB device
|
||||
V1.0.0
|
||||
|
||||
(c) 2011 Reusch Elektronik, Dipl.-Ing. (FH) Rainer Reusch
|
||||
Homepage: http://products.reworld.eu/index.htm
|
||||
|
||||
Main Form
|
||||
|
||||
Borland C++Builder 6
|
||||
|
||||
Created: 2011-05-30
|
||||
Changed: 2011-05-30
|
||||
|
||||
*****************************************************************************/
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#ifndef UnitMainH
|
||||
#define UnitMainH
|
||||
//---------------------------------------------------------------------------
|
||||
#include <Classes.hpp>
|
||||
#include <Controls.hpp>
|
||||
#include <StdCtrls.hpp>
|
||||
#include <Forms.hpp>
|
||||
#include <ComCtrls.hpp>
|
||||
#include <ExtCtrls.hpp>
|
||||
#include "usb.h"
|
||||
|
||||
#define MY_VID 0x0001 // Vendor ID of the device
|
||||
#define MY_PID 0x0001 // Product ID of the device
|
||||
//---------------------------------------------------------------------------
|
||||
class TFormMain : public TForm
|
||||
{
|
||||
__published: // Von der IDE verwaltete Komponenten
|
||||
TStatusBar *StatusBar1;
|
||||
TButton *ButtonOpen;
|
||||
TButton *ButtonVersion;
|
||||
TLabeledEdit *LabeledEdit1;
|
||||
TLabel *Label1;
|
||||
TLabel *LabelData;
|
||||
TButton *ButtonClose;
|
||||
TLabel *LabelVersion;
|
||||
TButton *ButtonExit;
|
||||
TButton *ButtonTransfer;
|
||||
void __fastcall FormCreate(TObject *Sender);
|
||||
void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
|
||||
void __fastcall FormDestroy(TObject *Sender);
|
||||
void __fastcall ButtonOpenClick(TObject *Sender);
|
||||
void __fastcall ButtonVersionClick(TObject *Sender);
|
||||
void __fastcall ButtonCloseClick(TObject *Sender);
|
||||
void __fastcall ButtonExitClick(TObject *Sender);
|
||||
void __fastcall ButtonTransferClick(TObject *Sender);
|
||||
private: // Anwender-Deklarationen
|
||||
struct usb_dev_handle *dev;
|
||||
usb_dev_handle *open_dev(void);
|
||||
public: // Anwender-Deklarationen
|
||||
__fastcall TFormMain(TComponent* Owner);
|
||||
};
|
||||
//---------------------------------------------------------------------------
|
||||
extern PACKAGE TFormMain *FormMain;
|
||||
//---------------------------------------------------------------------------
|
||||
#endif
|
138
Mainboard/Windows/UserDevice.bpr
Normal file
138
Mainboard/Windows/UserDevice.bpr
Normal file
@ -0,0 +1,138 @@
|
||||
<?xml version='1.0' encoding='utf-8' ?>
|
||||
<!-- C++Builder XML Project -->
|
||||
<PROJECT>
|
||||
<MACROS>
|
||||
<VERSION value="BCB.06.00"/>
|
||||
<PROJECT value="UserDevice.exe"/>
|
||||
<OBJFILES value="UserDevice.obj UnitMain.obj"/>
|
||||
<RESFILES value="UserDevice.res"/>
|
||||
<IDLFILES value=""/>
|
||||
<IDLGENFILES value=""/>
|
||||
<DEFFILE value=""/>
|
||||
<RESDEPEN value="$(RESFILES) UnitMain.dfm"/>
|
||||
<LIBFILES value="libusb.lib"/>
|
||||
<LIBRARIES value="rtl.lib vcl.lib"/>
|
||||
<SPARELIBS value="vcl.lib rtl.lib"/>
|
||||
<PACKAGES value="vcl.bpi rtl.bpi dbrtl.bpi adortl.bpi vcldb.bpi vclx.bpi bdertl.bpi
|
||||
vcldbx.bpi ibxpress.bpi dsnap.bpi cds.bpi bdecds.bpi qrpt.bpi teeui.bpi
|
||||
teedb.bpi tee.bpi dss.bpi teeqr.bpi visualclx.bpi visualdbclx.bpi
|
||||
dsnapcrba.bpi dsnapcon.bpi bcbsmp.bpi vclie.bpi xmlrtl.bpi inet.bpi
|
||||
inetdbbde.bpi inetdbxpress.bpi inetdb.bpi nmfast.bpi webdsnap.bpi
|
||||
bcbie.bpi websnap.bpi soaprtl.bpi dclocx.bpi dbexpress.bpi dbxcds.bpi
|
||||
indy.bpi bcb2kaxserver.bpi toolbox2.bpi"/>
|
||||
<PATHCPP value=".;"/>
|
||||
<PATHPAS value=".;"/>
|
||||
<PATHRC value=".;"/>
|
||||
<PATHASM value=".;"/>
|
||||
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
|
||||
<RELEASELIBPATH value="$(BCB)\lib\release"/>
|
||||
<LINKER value="ilink32"/>
|
||||
<USERDEFINES value="_DEBUG"/>
|
||||
<SYSDEFINES value="NO_STRICT"/>
|
||||
<MAINSOURCE value="UserDevice.cpp"/>
|
||||
<INCLUDEPATH value="..\..;UxDIL_Examples\UserDevice;$(BCB)\include;$(BCB)\include\vcl"/>
|
||||
<LIBPATH value="..\..;UxDIL_Examples\UserDevice;$(BCB)\Projects\Lib;$(BCB)\lib\obj;$(BCB)\lib"/>
|
||||
<WARNINGS value="-w-par"/>
|
||||
<OTHERFILES value=""/>
|
||||
</MACROS>
|
||||
<OPTIONS>
|
||||
<IDLCFLAGS value="-I..\.. -IUxDIL_Examples\UserDevice -I$(BCB)\include -I$(BCB)\include\vcl
|
||||
-src_suffix cpp -D_DEBUG -boa"/>
|
||||
<CFLAG1 value="-Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -6 -b- -k -y -v -vi-
|
||||
-c -tW -tWM"/>
|
||||
<PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>
|
||||
<RFLAGS value=""/>
|
||||
<AFLAGS value="/mx /w2 /zd"/>
|
||||
<LFLAGS value="-D"" -aa -Tpe -x -Gn -v"/>
|
||||
<OTHERFILES value=""/>
|
||||
</OPTIONS>
|
||||
<LINKER>
|
||||
<ALLOBJ value="c0w32.obj sysinit.obj $(OBJFILES)"/>
|
||||
<ALLRES value="$(RESFILES)"/>
|
||||
<ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cp32mt.lib"/>
|
||||
<OTHERFILES value=""/>
|
||||
</LINKER>
|
||||
<FILELIST>
|
||||
<FILE FILENAME="UserDevice.res" FORMNAME="" UNITNAME="UserDevice.res" CONTAINERID="ResTool" DESIGNCLASS="" LOCALCOMMAND=""/>
|
||||
<FILE FILENAME="UserDevice.cpp" FORMNAME="" UNITNAME="UserDevice" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
|
||||
<FILE FILENAME="UnitMain.cpp" FORMNAME="FormMain" UNITNAME="UnitMain" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
|
||||
<FILE FILENAME="libusb.lib" FORMNAME="" UNITNAME="libusb.lib" CONTAINERID="LibTool" DESIGNCLASS="" LOCALCOMMAND=""/>
|
||||
</FILELIST>
|
||||
<BUILDTOOLS>
|
||||
</BUILDTOOLS>
|
||||
|
||||
<IDEOPTIONS>
|
||||
[Version Info]
|
||||
IncludeVerInfo=0
|
||||
AutoIncBuild=0
|
||||
MajorVer=1
|
||||
MinorVer=0
|
||||
Release=0
|
||||
Build=0
|
||||
Debug=0
|
||||
PreRelease=0
|
||||
Special=0
|
||||
Private=0
|
||||
DLL=0
|
||||
Locale=1031
|
||||
CodePage=1252
|
||||
|
||||
[Version Info Keys]
|
||||
CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.0.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
|
||||
[HistoryLists\hlIncludePath]
|
||||
Count=1
|
||||
Item0=..\..;UxDIL_Examples\UserDevice;$(BCB)\include;$(BCB)\include\vcl
|
||||
|
||||
[HistoryLists\hlLibraryPath]
|
||||
Count=1
|
||||
Item0=..\..;UxDIL_Examples\UserDevice;$(BCB)\Projects\Lib;$(BCB)\lib\obj;$(BCB)\lib
|
||||
|
||||
[HistoryLists\hlDebugSourcePath]
|
||||
Count=1
|
||||
Item0=$(BCB)\source\vcl
|
||||
|
||||
[HistoryLists\hlConditionals]
|
||||
Count=1
|
||||
Item0=_DEBUG
|
||||
|
||||
[Debugging]
|
||||
DebugSourceDirs=$(BCB)\source\vcl
|
||||
|
||||
[Parameters]
|
||||
RunParams=
|
||||
Launcher=
|
||||
UseLauncher=0
|
||||
DebugCWD=
|
||||
HostApplication=
|
||||
RemoteHost=
|
||||
RemotePath=
|
||||
RemoteLauncher=
|
||||
RemoteCWD=
|
||||
RemoteDebug=0
|
||||
|
||||
[Compiler]
|
||||
ShowInfoMsgs=0
|
||||
LinkDebugVcl=0
|
||||
LinkCGLIB=0
|
||||
|
||||
[CORBA]
|
||||
AddServerUnit=1
|
||||
AddClientUnit=1
|
||||
PrecompiledHeaders=1
|
||||
|
||||
[Language]
|
||||
ActiveLang=
|
||||
ProjectLang=
|
||||
RootDir=
|
||||
</IDEOPTIONS>
|
||||
</PROJECT>
|
51
Mainboard/Windows/UserDevice.cpp
Normal file
51
Mainboard/Windows/UserDevice.cpp
Normal file
@ -0,0 +1,51 @@
|
||||
/*****************************************************************************
|
||||
|
||||
USB-Example: User defined USB device
|
||||
V1.0.0
|
||||
|
||||
(c) 2011 Reusch Elektronik, Dipl.-Ing. (FH) Rainer Reusch
|
||||
Homepage: http://products.reworld.eu/index.htm
|
||||
|
||||
Main program
|
||||
|
||||
Borland C++Builder 6
|
||||
|
||||
Created: 2011-05-30
|
||||
Changed: 2011-05-30
|
||||
|
||||
*****************************************************************************/
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#include <vcl.h>
|
||||
#pragma hdrstop
|
||||
//---------------------------------------------------------------------------
|
||||
USEFORM("UnitMain.cpp", FormMain);
|
||||
//---------------------------------------------------------------------------
|
||||
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
|
||||
{
|
||||
try
|
||||
{
|
||||
Application->Initialize();
|
||||
Application->Title = "User Device Demo";
|
||||
Application->CreateForm(__classid(TFormMain), &FormMain);
|
||||
Application->Run();
|
||||
}
|
||||
catch (Exception &exception)
|
||||
{
|
||||
Application->ShowException(&exception);
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
try
|
||||
{
|
||||
throw Exception("");
|
||||
}
|
||||
catch (Exception &exception)
|
||||
{
|
||||
Application->ShowException(&exception);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
BIN
Mainboard/Windows/UserDevice.exe
Normal file
BIN
Mainboard/Windows/UserDevice.exe
Normal file
Binary file not shown.
BIN
Mainboard/Windows/UserDevice.res
Normal file
BIN
Mainboard/Windows/UserDevice.res
Normal file
Binary file not shown.
3
Mainboard/Windows/drivers/User_Device_Demo.cat
Normal file
3
Mainboard/Windows/drivers/User_Device_Demo.cat
Normal file
@ -0,0 +1,3 @@
|
||||
This file will contain the digital signature of the files to be installed
|
||||
on the system.
|
||||
This file will be provided by Microsoft upon certification of your drivers.
|
BIN
Mainboard/Windows/drivers/User_Device_Demo.inf
Normal file
BIN
Mainboard/Windows/drivers/User_Device_Demo.inf
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/amd64/install-filter-win.exe
Normal file
BIN
Mainboard/Windows/drivers/amd64/install-filter-win.exe
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/amd64/install-filter.exe
Normal file
BIN
Mainboard/Windows/drivers/amd64/install-filter.exe
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/amd64/libusb0.dll
Normal file
BIN
Mainboard/Windows/drivers/amd64/libusb0.dll
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/amd64/libusb0.sys
Normal file
BIN
Mainboard/Windows/drivers/amd64/libusb0.sys
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/amd64/testlibusb-win.exe
Normal file
BIN
Mainboard/Windows/drivers/amd64/testlibusb-win.exe
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/amd64/testlibusb.exe
Normal file
BIN
Mainboard/Windows/drivers/amd64/testlibusb.exe
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/ia64/install-filter-win.exe
Normal file
BIN
Mainboard/Windows/drivers/ia64/install-filter-win.exe
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/ia64/install-filter.exe
Normal file
BIN
Mainboard/Windows/drivers/ia64/install-filter.exe
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/ia64/libusb0.dll
Normal file
BIN
Mainboard/Windows/drivers/ia64/libusb0.dll
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/ia64/libusb0.sys
Normal file
BIN
Mainboard/Windows/drivers/ia64/libusb0.sys
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/ia64/testlibusb-win.exe
Normal file
BIN
Mainboard/Windows/drivers/ia64/testlibusb-win.exe
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/ia64/testlibusb.exe
Normal file
BIN
Mainboard/Windows/drivers/ia64/testlibusb.exe
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/installer_x64.exe
Normal file
BIN
Mainboard/Windows/drivers/installer_x64.exe
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/installer_x86.exe
Normal file
BIN
Mainboard/Windows/drivers/installer_x86.exe
Normal file
Binary file not shown.
27
Mainboard/Windows/drivers/libusb-win32-bin-README.txt
Normal file
27
Mainboard/Windows/drivers/libusb-win32-bin-README.txt
Normal file
@ -0,0 +1,27 @@
|
||||
libusb-win32-bin v1.2.4.0 (04/08/2011) - [Package Information]
|
||||
|
||||
ALL ARCHITECTURES:
|
||||
x86\libusb0_x86.dll: x86 32-bit library. Must be renamed to libusb0.dll
|
||||
On 64 bit, Installs to Windows\syswow64\libusb0.dll.
|
||||
On 32 bit, Installs to Windows\system32\libusb0.dll.
|
||||
|
||||
x86\inf-wizard.exe: inf-wizard application with embedded libusb-win32
|
||||
v1.2.4.0 binaries.
|
||||
|
||||
X86 ONLY ARCHITECTURES:
|
||||
x86\libusb0.sys: x86 32-bit driver.
|
||||
Installs to Windows\system32\drivers\libusb0.sys
|
||||
|
||||
AMD64-INTEL64 ONLY ARCHITECTURES:
|
||||
amd64\libusb0.sys: x64 64-bit driver.
|
||||
Installs to Windows\system32\drivers\libusb0.sys
|
||||
|
||||
amd64\libusb0.dll: x64 64-bit library.
|
||||
Installs to Windows\system32\libusb0.dll
|
||||
|
||||
IA64 ONLY ARCHITECTURES:
|
||||
ia64\libusb0.sys: IA64 64-bit driver.
|
||||
Installs to Windows\system32\drivers\libusb0.sys
|
||||
|
||||
ia64\libusb0.dll: IA64 64-bit library.
|
||||
Installs to Windows\system32\libusb0.dll
|
@ -0,0 +1,851 @@
|
||||
Copyright (c) 2002-2004 Stephan Meyer, <ste_meyer@web.de>
|
||||
Copyright (c) 2000-2004 Johannes Erdfelt, <johannes@erdfelt.com>
|
||||
Copyright (c) 2000-2004 Thomas Sailer, <sailer@ife.ee.ethz.ch>
|
||||
Copyright (c) 2010 Travis Robinson, <libusbdotnet@gmail.com>
|
||||
|
||||
This software is distributed under the following licenses:
|
||||
Driver: GNU General Public License (GPL)
|
||||
Library, Test Files, Installer: GNU Lesser General Public License (LGPL)
|
||||
|
||||
***********************************************************************
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the GNU General Public License is intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users. We, the Free Software Foundation, use the
|
||||
GNU General Public License for most of our software; it applies also to
|
||||
any other work released this way by its authors. You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you have
|
||||
certain responsibilities if you distribute copies of the software, or if
|
||||
you modify it: responsibilities to respect the freedom of others.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the manufacturer
|
||||
can do so. This is fundamentally incompatible with the aim of
|
||||
protecting users' freedom to change the software. The systematic
|
||||
pattern of such abuse occurs in the area of products for individuals to
|
||||
use, which is precisely where it is most unacceptable. Therefore, we
|
||||
have designed this version of the GPL to prohibit the practice for those
|
||||
products. If such problems arise substantially in other domains, we
|
||||
stand ready to extend this provision to those domains in future versions
|
||||
of the GPL, as needed to protect the freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish to
|
||||
avoid the special danger that patents applied to a free program could
|
||||
make it effectively proprietary. To prevent this, the GPL assures that
|
||||
patents cannot be used to render the program non-free.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Use with the GNU Affero General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU Affero General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
<program> Copyright (C) <year> <name of author>
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, your program's commands
|
||||
might be different; for a GUI interface, you would use an "about box".
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
This version of the GNU Lesser General Public License incorporates
|
||||
the terms and conditions of version 3 of the GNU General Public
|
||||
License, supplemented by the additional permissions listed below.
|
||||
|
||||
0. Additional Definitions.
|
||||
|
||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||
General Public License.
|
||||
|
||||
"The Library" refers to a covered work governed by this License,
|
||||
other than an Application or a Combined Work as defined below.
|
||||
|
||||
An "Application" is any work that makes use of an interface provided
|
||||
by the Library, but which is not otherwise based on the Library.
|
||||
Defining a subclass of a class defined by the Library is deemed a mode
|
||||
of using an interface provided by the Library.
|
||||
|
||||
A "Combined Work" is a work produced by combining or linking an
|
||||
Application with the Library. The particular version of the Library
|
||||
with which the Combined Work was made is also called the "Linked
|
||||
Version".
|
||||
|
||||
The "Minimal Corresponding Source" for a Combined Work means the
|
||||
Corresponding Source for the Combined Work, excluding any source code
|
||||
for portions of the Combined Work that, considered in isolation, are
|
||||
based on the Application, and not on the Linked Version.
|
||||
|
||||
The "Corresponding Application Code" for a Combined Work means the
|
||||
object code and/or source code for the Application, including any data
|
||||
and utility programs needed for reproducing the Combined Work from the
|
||||
Application, but excluding the System Libraries of the Combined Work.
|
||||
|
||||
1. Exception to Section 3 of the GNU GPL.
|
||||
|
||||
You may convey a covered work under sections 3 and 4 of this License
|
||||
without being bound by section 3 of the GNU GPL.
|
||||
|
||||
2. Conveying Modified Versions.
|
||||
|
||||
If you modify a copy of the Library, and, in your modifications, a
|
||||
facility refers to a function or data to be supplied by an Application
|
||||
that uses the facility (other than as an argument passed when the
|
||||
facility is invoked), then you may convey a copy of the modified
|
||||
version:
|
||||
|
||||
a) under this License, provided that you make a good faith effort to
|
||||
ensure that, in the event an Application does not supply the
|
||||
function or data, the facility still operates, and performs
|
||||
whatever part of its purpose remains meaningful, or
|
||||
|
||||
b) under the GNU GPL, with none of the additional permissions of
|
||||
this License applicable to that copy.
|
||||
|
||||
3. Object Code Incorporating Material from Library Header Files.
|
||||
|
||||
The object code form of an Application may incorporate material from
|
||||
a header file that is part of the Library. You may convey such object
|
||||
code under terms of your choice, provided that, if the incorporated
|
||||
material is not limited to numerical parameters, data structure
|
||||
layouts and accessors, or small macros, inline functions and templates
|
||||
(ten or fewer lines in length), you do both of the following:
|
||||
|
||||
a) Give prominent notice with each copy of the object code that the
|
||||
Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
4. Combined Works.
|
||||
|
||||
You may convey a Combined Work under terms of your choice that,
|
||||
taken together, effectively do not restrict modification of the
|
||||
portions of the Library contained in the Combined Work and reverse
|
||||
engineering for debugging such modifications, if you also do each of
|
||||
the following:
|
||||
|
||||
a) Give prominent notice with each copy of the Combined Work that
|
||||
the Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
c) For a Combined Work that displays copyright notices during
|
||||
execution, include the copyright notice for the Library among
|
||||
these notices, as well as a reference directing the user to the
|
||||
copies of the GNU GPL and this license document.
|
||||
|
||||
d) Do one of the following:
|
||||
|
||||
0) Convey the Minimal Corresponding Source under the terms of this
|
||||
License, and the Corresponding Application Code in a form
|
||||
suitable for, and under terms that permit, the user to
|
||||
recombine or relink the Application with a modified version of
|
||||
the Linked Version to produce a modified Combined Work, in the
|
||||
manner specified by section 6 of the GNU GPL for conveying
|
||||
Corresponding Source.
|
||||
|
||||
1) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (a) uses at run time
|
||||
a copy of the Library already present on the user's computer
|
||||
system, and (b) will operate properly with a modified version
|
||||
of the Library that is interface-compatible with the Linked
|
||||
Version.
|
||||
|
||||
e) Provide Installation Information, but only if you would otherwise
|
||||
be required to provide such information under section 6 of the
|
||||
GNU GPL, and only to the extent that such information is
|
||||
necessary to install and execute a modified version of the
|
||||
Combined Work produced by recombining or relinking the
|
||||
Application with a modified version of the Linked Version. (If
|
||||
you use option 4d0, the Installation Information must accompany
|
||||
the Minimal Corresponding Source and Corresponding Application
|
||||
Code. If you use option 4d1, you must provide the Installation
|
||||
Information in the manner specified by section 6 of the GNU GPL
|
||||
for conveying Corresponding Source.)
|
||||
|
||||
5. Combined Libraries.
|
||||
|
||||
You may place library facilities that are a work based on the
|
||||
Library side by side in a single library together with other library
|
||||
facilities that are not Applications and are not covered by this
|
||||
License, and convey such a combined library under terms of your
|
||||
choice, if you do both of the following:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work based
|
||||
on the Library, uncombined with any other library facilities,
|
||||
conveyed under the terms of this License.
|
||||
|
||||
b) Give prominent notice with the combined library that part of it
|
||||
is a work based on the Library, and explaining where to find the
|
||||
accompanying uncombined form of the same work.
|
||||
|
||||
6. Revised Versions of the GNU Lesser General Public License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU Lesser General Public License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Library as you received it specifies that a certain numbered version
|
||||
of the GNU Lesser General Public License "or any later version"
|
||||
applies to it, you have the option of following the terms and
|
||||
conditions either of that published version or of any later version
|
||||
published by the Free Software Foundation. If the Library as you
|
||||
received it does not specify a version number of the GNU Lesser
|
||||
General Public License, you may choose any version of the GNU Lesser
|
||||
General Public License ever published by the Free Software Foundation.
|
||||
|
||||
If the Library as you received it specifies that a proxy can decide
|
||||
whether future versions of the GNU Lesser General Public License shall
|
||||
apply, that proxy's public statement of acceptance of any version is
|
||||
permanent authorization for you to choose that version for the
|
||||
Library.
|
||||
|
BIN
Mainboard/Windows/drivers/x86/install-filter-win.exe
Normal file
BIN
Mainboard/Windows/drivers/x86/install-filter-win.exe
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/x86/install-filter.exe
Normal file
BIN
Mainboard/Windows/drivers/x86/install-filter.exe
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/x86/libusb0.sys
Normal file
BIN
Mainboard/Windows/drivers/x86/libusb0.sys
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/x86/libusb0_x86.dll
Normal file
BIN
Mainboard/Windows/drivers/x86/libusb0_x86.dll
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/x86/testlibusb-win.exe
Normal file
BIN
Mainboard/Windows/drivers/x86/testlibusb-win.exe
Normal file
Binary file not shown.
BIN
Mainboard/Windows/drivers/x86/testlibusb.exe
Normal file
BIN
Mainboard/Windows/drivers/x86/testlibusb.exe
Normal file
Binary file not shown.
BIN
Mainboard/Windows/libusb.lib
Normal file
BIN
Mainboard/Windows/libusb.lib
Normal file
Binary file not shown.
394
Mainboard/Windows/usb.h
Normal file
394
Mainboard/Windows/usb.h
Normal file
@ -0,0 +1,394 @@
|
||||
#ifndef __USB_H__
|
||||
#define __USB_H__
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <windows.h>
|
||||
|
||||
/*
|
||||
* 'interface' is defined somewhere in the Windows header files. This macro
|
||||
* is deleted here to avoid conflicts and compile errors.
|
||||
*/
|
||||
|
||||
#ifdef interface
|
||||
#undef interface
|
||||
#endif
|
||||
|
||||
/*
|
||||
* PATH_MAX from limits.h can't be used on Windows if the dll and
|
||||
* import libraries are build/used by different compilers
|
||||
*/
|
||||
|
||||
#define LIBUSB_PATH_MAX 512
|
||||
|
||||
|
||||
/*
|
||||
* USB spec information
|
||||
*
|
||||
* This is all stuff grabbed from various USB specs and is pretty much
|
||||
* not subject to change
|
||||
*/
|
||||
|
||||
/*
|
||||
* Device and/or Interface Class codes
|
||||
*/
|
||||
#define USB_CLASS_PER_INTERFACE 0 /* for DeviceClass */
|
||||
#define USB_CLASS_AUDIO 1
|
||||
#define USB_CLASS_COMM 2
|
||||
#define USB_CLASS_HID 3
|
||||
#define USB_CLASS_PRINTER 7
|
||||
#define USB_CLASS_MASS_STORAGE 8
|
||||
#define USB_CLASS_HUB 9
|
||||
#define USB_CLASS_DATA 10
|
||||
#define USB_CLASS_VENDOR_SPEC 0xff
|
||||
|
||||
/*
|
||||
* Descriptor types
|
||||
*/
|
||||
#define USB_DT_DEVICE 0x01
|
||||
#define USB_DT_CONFIG 0x02
|
||||
#define USB_DT_STRING 0x03
|
||||
#define USB_DT_INTERFACE 0x04
|
||||
#define USB_DT_ENDPOINT 0x05
|
||||
|
||||
#define USB_DT_HID 0x21
|
||||
#define USB_DT_REPORT 0x22
|
||||
#define USB_DT_PHYSICAL 0x23
|
||||
#define USB_DT_HUB 0x29
|
||||
|
||||
/*
|
||||
* Descriptor sizes per descriptor type
|
||||
*/
|
||||
#define USB_DT_DEVICE_SIZE 18
|
||||
#define USB_DT_CONFIG_SIZE 9
|
||||
#define USB_DT_INTERFACE_SIZE 9
|
||||
#define USB_DT_ENDPOINT_SIZE 7
|
||||
#define USB_DT_ENDPOINT_AUDIO_SIZE 9 /* Audio extension */
|
||||
#define USB_DT_HUB_NONVAR_SIZE 7
|
||||
|
||||
|
||||
/* ensure byte-packed structures */
|
||||
#include <pshpack1.h>
|
||||
|
||||
|
||||
/* All standard descriptors have these 2 fields in common */
|
||||
struct usb_descriptor_header {
|
||||
unsigned char bLength;
|
||||
unsigned char bDescriptorType;
|
||||
};
|
||||
|
||||
/* String descriptor */
|
||||
struct usb_string_descriptor {
|
||||
unsigned char bLength;
|
||||
unsigned char bDescriptorType;
|
||||
unsigned short wData[1];
|
||||
};
|
||||
|
||||
/* HID descriptor */
|
||||
struct usb_hid_descriptor {
|
||||
unsigned char bLength;
|
||||
unsigned char bDescriptorType;
|
||||
unsigned short bcdHID;
|
||||
unsigned char bCountryCode;
|
||||
unsigned char bNumDescriptors;
|
||||
};
|
||||
|
||||
/* Endpoint descriptor */
|
||||
#define USB_MAXENDPOINTS 32
|
||||
struct usb_endpoint_descriptor {
|
||||
unsigned char bLength;
|
||||
unsigned char bDescriptorType;
|
||||
unsigned char bEndpointAddress;
|
||||
unsigned char bmAttributes;
|
||||
unsigned short wMaxPacketSize;
|
||||
unsigned char bInterval;
|
||||
unsigned char bRefresh;
|
||||
unsigned char bSynchAddress;
|
||||
|
||||
unsigned char *extra; /* Extra descriptors */
|
||||
int extralen;
|
||||
};
|
||||
|
||||
#define USB_ENDPOINT_ADDRESS_MASK 0x0f /* in bEndpointAddress */
|
||||
#define USB_ENDPOINT_DIR_MASK 0x80
|
||||
|
||||
#define USB_ENDPOINT_TYPE_MASK 0x03 /* in bmAttributes */
|
||||
#define USB_ENDPOINT_TYPE_CONTROL 0
|
||||
#define USB_ENDPOINT_TYPE_ISOCHRONOUS 1
|
||||
#define USB_ENDPOINT_TYPE_BULK 2
|
||||
#define USB_ENDPOINT_TYPE_INTERRUPT 3
|
||||
|
||||
/* Interface descriptor */
|
||||
#define USB_MAXINTERFACES 32
|
||||
struct usb_interface_descriptor {
|
||||
unsigned char bLength;
|
||||
unsigned char bDescriptorType;
|
||||
unsigned char bInterfaceNumber;
|
||||
unsigned char bAlternateSetting;
|
||||
unsigned char bNumEndpoints;
|
||||
unsigned char bInterfaceClass;
|
||||
unsigned char bInterfaceSubClass;
|
||||
unsigned char bInterfaceProtocol;
|
||||
unsigned char iInterface;
|
||||
|
||||
struct usb_endpoint_descriptor *endpoint;
|
||||
|
||||
unsigned char *extra; /* Extra descriptors */
|
||||
int extralen;
|
||||
};
|
||||
|
||||
#define USB_MAXALTSETTING 128 /* Hard limit */
|
||||
|
||||
struct usb_interface {
|
||||
struct usb_interface_descriptor *altsetting;
|
||||
|
||||
int num_altsetting;
|
||||
};
|
||||
|
||||
/* Configuration descriptor information.. */
|
||||
#define USB_MAXCONFIG 8
|
||||
struct usb_config_descriptor {
|
||||
unsigned char bLength;
|
||||
unsigned char bDescriptorType;
|
||||
unsigned short wTotalLength;
|
||||
unsigned char bNumInterfaces;
|
||||
unsigned char bConfigurationValue;
|
||||
unsigned char iConfiguration;
|
||||
unsigned char bmAttributes;
|
||||
unsigned char MaxPower;
|
||||
|
||||
struct usb_interface *interface;
|
||||
|
||||
unsigned char *extra; /* Extra descriptors */
|
||||
int extralen;
|
||||
};
|
||||
|
||||
/* Device descriptor */
|
||||
struct usb_device_descriptor {
|
||||
unsigned char bLength;
|
||||
unsigned char bDescriptorType;
|
||||
unsigned short bcdUSB;
|
||||
unsigned char bDeviceClass;
|
||||
unsigned char bDeviceSubClass;
|
||||
unsigned char bDeviceProtocol;
|
||||
unsigned char bMaxPacketSize0;
|
||||
unsigned short idVendor;
|
||||
unsigned short idProduct;
|
||||
unsigned short bcdDevice;
|
||||
unsigned char iManufacturer;
|
||||
unsigned char iProduct;
|
||||
unsigned char iSerialNumber;
|
||||
unsigned char bNumConfigurations;
|
||||
};
|
||||
|
||||
struct usb_ctrl_setup {
|
||||
unsigned char bRequestType;
|
||||
unsigned char bRequest;
|
||||
unsigned short wValue;
|
||||
unsigned short wIndex;
|
||||
unsigned short wLength;
|
||||
};
|
||||
|
||||
/*
|
||||
* Standard requests
|
||||
*/
|
||||
#define USB_REQ_GET_STATUS 0x00
|
||||
#define USB_REQ_CLEAR_FEATURE 0x01
|
||||
/* 0x02 is reserved */
|
||||
#define USB_REQ_SET_FEATURE 0x03
|
||||
/* 0x04 is reserved */
|
||||
#define USB_REQ_SET_ADDRESS 0x05
|
||||
#define USB_REQ_GET_DESCRIPTOR 0x06
|
||||
#define USB_REQ_SET_DESCRIPTOR 0x07
|
||||
#define USB_REQ_GET_CONFIGURATION 0x08
|
||||
#define USB_REQ_SET_CONFIGURATION 0x09
|
||||
#define USB_REQ_GET_INTERFACE 0x0A
|
||||
#define USB_REQ_SET_INTERFACE 0x0B
|
||||
#define USB_REQ_SYNCH_FRAME 0x0C
|
||||
|
||||
#define USB_TYPE_STANDARD (0x00 << 5)
|
||||
#define USB_TYPE_CLASS (0x01 << 5)
|
||||
#define USB_TYPE_VENDOR (0x02 << 5)
|
||||
#define USB_TYPE_RESERVED (0x03 << 5)
|
||||
|
||||
#define USB_RECIP_DEVICE 0x00
|
||||
#define USB_RECIP_INTERFACE 0x01
|
||||
#define USB_RECIP_ENDPOINT 0x02
|
||||
#define USB_RECIP_OTHER 0x03
|
||||
|
||||
/*
|
||||
* Various libusb API related stuff
|
||||
*/
|
||||
|
||||
#define USB_ENDPOINT_IN 0x80
|
||||
#define USB_ENDPOINT_OUT 0x00
|
||||
|
||||
/* Error codes */
|
||||
#define USB_ERROR_BEGIN 500000
|
||||
|
||||
/*
|
||||
* This is supposed to look weird. This file is generated from autoconf
|
||||
* and I didn't want to make this too complicated.
|
||||
*/
|
||||
#define USB_LE16_TO_CPU(x)
|
||||
|
||||
/* Data types */
|
||||
/* struct usb_device; */
|
||||
/* struct usb_bus; */
|
||||
|
||||
struct usb_device {
|
||||
struct usb_device *next, *prev;
|
||||
|
||||
char filename[LIBUSB_PATH_MAX];
|
||||
|
||||
struct usb_bus *bus;
|
||||
|
||||
struct usb_device_descriptor descriptor;
|
||||
struct usb_config_descriptor *config;
|
||||
|
||||
void *dev; /* Darwin support */
|
||||
|
||||
unsigned char devnum;
|
||||
|
||||
unsigned char num_children;
|
||||
struct usb_device **children;
|
||||
};
|
||||
|
||||
struct usb_bus {
|
||||
struct usb_bus *next, *prev;
|
||||
|
||||
char dirname[LIBUSB_PATH_MAX];
|
||||
|
||||
struct usb_device *devices;
|
||||
unsigned long location;
|
||||
|
||||
struct usb_device *root_dev;
|
||||
};
|
||||
|
||||
/* Version information, Windows specific */
|
||||
struct usb_version {
|
||||
struct {
|
||||
int major;
|
||||
int minor;
|
||||
int micro;
|
||||
int nano;
|
||||
} dll;
|
||||
struct {
|
||||
int major;
|
||||
int minor;
|
||||
int micro;
|
||||
int nano;
|
||||
} driver;
|
||||
};
|
||||
|
||||
|
||||
struct usb_dev_handle;
|
||||
typedef struct usb_dev_handle usb_dev_handle;
|
||||
|
||||
/* Variables */
|
||||
#ifndef __USB_C__
|
||||
#define usb_busses usb_get_busses()
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#include <poppack.h>
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Function prototypes */
|
||||
|
||||
/* usb.c */
|
||||
usb_dev_handle *usb_open(struct usb_device *dev);
|
||||
int usb_close(usb_dev_handle *dev);
|
||||
int usb_get_string(usb_dev_handle *dev, int index, int langid, char *buf,
|
||||
size_t buflen);
|
||||
int usb_get_string_simple(usb_dev_handle *dev, int index, char *buf,
|
||||
size_t buflen);
|
||||
|
||||
/* descriptors.c */
|
||||
int usb_get_descriptor_by_endpoint(usb_dev_handle *udev, int ep,
|
||||
unsigned char type, unsigned char index,
|
||||
void *buf, int size);
|
||||
int usb_get_descriptor(usb_dev_handle *udev, unsigned char type,
|
||||
unsigned char index, void *buf, int size);
|
||||
|
||||
/* <arch>.c */
|
||||
int usb_bulk_write(usb_dev_handle *dev, int ep, char *bytes, int size,
|
||||
int timeout);
|
||||
int usb_bulk_read(usb_dev_handle *dev, int ep, char *bytes, int size,
|
||||
int timeout);
|
||||
int usb_interrupt_write(usb_dev_handle *dev, int ep, char *bytes, int size,
|
||||
int timeout);
|
||||
int usb_interrupt_read(usb_dev_handle *dev, int ep, char *bytes, int size,
|
||||
int timeout);
|
||||
int usb_control_msg(usb_dev_handle *dev, int requesttype, int request,
|
||||
int value, int index, char *bytes, int size,
|
||||
int timeout);
|
||||
int usb_set_configuration(usb_dev_handle *dev, int configuration);
|
||||
int usb_claim_interface(usb_dev_handle *dev, int interface);
|
||||
int usb_release_interface(usb_dev_handle *dev, int interface);
|
||||
int usb_set_altinterface(usb_dev_handle *dev, int alternate);
|
||||
int usb_resetep(usb_dev_handle *dev, unsigned int ep);
|
||||
int usb_clear_halt(usb_dev_handle *dev, unsigned int ep);
|
||||
int usb_reset(usb_dev_handle *dev);
|
||||
|
||||
char *usb_strerror(void);
|
||||
|
||||
void usb_init(void);
|
||||
void usb_set_debug(int level);
|
||||
int usb_find_busses(void);
|
||||
int usb_find_devices(void);
|
||||
struct usb_device *usb_device(usb_dev_handle *dev);
|
||||
struct usb_bus *usb_get_busses(void);
|
||||
|
||||
|
||||
/* Windows specific functions */
|
||||
|
||||
#define LIBUSB_HAS_INSTALL_SERVICE_NP 1
|
||||
int usb_install_service_np(void);
|
||||
void CALLBACK usb_install_service_np_rundll(HWND wnd, HINSTANCE instance,
|
||||
LPSTR cmd_line, int cmd_show);
|
||||
|
||||
#define LIBUSB_HAS_UNINSTALL_SERVICE_NP 1
|
||||
int usb_uninstall_service_np(void);
|
||||
void CALLBACK usb_uninstall_service_np_rundll(HWND wnd, HINSTANCE instance,
|
||||
LPSTR cmd_line, int cmd_show);
|
||||
|
||||
#define LIBUSB_HAS_INSTALL_DRIVER_NP 1
|
||||
int usb_install_driver_np(const char *inf_file);
|
||||
void CALLBACK usb_install_driver_np_rundll(HWND wnd, HINSTANCE instance,
|
||||
LPSTR cmd_line, int cmd_show);
|
||||
|
||||
#define LIBUSB_HAS_TOUCH_INF_FILE_NP 1
|
||||
int usb_touch_inf_file_np(const char *inf_file);
|
||||
void CALLBACK usb_touch_inf_file_np_rundll(HWND wnd, HINSTANCE instance,
|
||||
LPSTR cmd_line, int cmd_show);
|
||||
|
||||
#define LIBUSB_HAS_INSTALL_NEEDS_RESTART_NP 1
|
||||
int usb_install_needs_restart_np(void);
|
||||
|
||||
const struct usb_version *usb_get_version(void);
|
||||
|
||||
int usb_isochronous_setup_async(usb_dev_handle *dev, void **context,
|
||||
unsigned char ep, int pktsize);
|
||||
int usb_bulk_setup_async(usb_dev_handle *dev, void **context,
|
||||
unsigned char ep);
|
||||
int usb_interrupt_setup_async(usb_dev_handle *dev, void **context,
|
||||
unsigned char ep);
|
||||
|
||||
int usb_submit_async(void *context, char *bytes, int size);
|
||||
int usb_reap_async(void *context, int timeout);
|
||||
int usb_reap_async_nocancel(void *context, int timeout);
|
||||
int usb_cancel_async(void *context);
|
||||
int usb_free_async(void **context);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __USB_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user