aboutsummaryrefslogtreecommitdiff
path: root/bootloaders
diff options
context:
space:
mode:
authorZach Eveland <zeveland@blacklabel-development.com>2012-02-14 12:17:30 -0500
committerZach Eveland <zeveland@blacklabel-development.com>2012-02-14 12:17:30 -0500
commit79481252081da0bdc4501cf039c060efcdf85c95 (patch)
treead6915f694dbfdcab4196da2ca3b98bbcc0f4365 /bootloaders
parent19c44dd5fd671823610f6b6277874c956cced90e (diff)
Leonardo now checks whether bootloader should be run after a WDT event.
Before the sketch initiates an auto-reset for upload it pokes a magic word into a specific RAM address. On starting the bootloader checks this address. If it finds the magic word it knows the bootloader code should run. If not it jumps straight back to sketch. Test in a sketch by adding to setup(): wdt_enable(WDTO_2S); Sketch should upload, start, run for two seconds, WDT, and sketch should restart (not bootloader). Had to cut out unused descriptor code to make the bootloader still fit in 4k.
Diffstat (limited to 'bootloaders')
-rwxr-xr-xbootloaders/caterina_LUFA/Caterina.c8
-rwxr-xr-xbootloaders/caterina_LUFA/Caterina.h2
-rw-r--r--bootloaders/caterina_LUFA/Caterina.hex364
-rwxr-xr-xbootloaders/caterina_LUFA/Descriptors.c12
4 files changed, 198 insertions, 188 deletions
diff --git a/bootloaders/caterina_LUFA/Caterina.c b/bootloaders/caterina_LUFA/Caterina.c
index b6fbd9b..d4dbb7b 100755
--- a/bootloaders/caterina_LUFA/Caterina.c
+++ b/bootloaders/caterina_LUFA/Caterina.c
@@ -64,6 +64,9 @@ uint16_t RxLEDPulse = 0; // time remaining for Rx LED pulse
/* Bootloader timeout timer */
uint16_t Timeout = 0;
+uint16_t bootKey = 0x7777;
+volatile uint16_t *const bootKeyPtr = (volatile uint16_t *)0x0A00;
+
void StartSketch(void)
{
cli();
@@ -118,6 +121,11 @@ int main(void)
if (mcusr_state & (1<<PORF) && pgm_read_word(0) != 0xFFFF) {
StartSketch();
}
+ uint16_t bootKeyPtrVal = *bootKeyPtr;
+ *bootKeyPtr = 0;
+ if ((mcusr_state & (1<<WDRF)) && (bootKeyPtrVal != bootKey) && (pgm_read_word(0) != 0xFFFF)) {
+ StartSketch();
+ }
/* Setup hardware required for the bootloader */
SetupHardware();
diff --git a/bootloaders/caterina_LUFA/Caterina.h b/bootloaders/caterina_LUFA/Caterina.h
index 7f37063..f8251d4 100755
--- a/bootloaders/caterina_LUFA/Caterina.h
+++ b/bootloaders/caterina_LUFA/Caterina.h
@@ -80,7 +80,7 @@
/* Function Prototypes: */
void StartSketch(void);
- void LEDPulse();
+ void LEDPulse(void);
void CDC_Task(void);
void SetupHardware(void);
diff --git a/bootloaders/caterina_LUFA/Caterina.hex b/bootloaders/caterina_LUFA/Caterina.hex
index 3657484..7e19013 100644
--- a/bootloaders/caterina_LUFA/Caterina.hex
+++ b/bootloaders/caterina_LUFA/Caterina.hex
@@ -1,6 +1,6 @@
:1070000055C000006EC000006CC000006AC00000E7
:1070100068C0000066C0000064C0000062C00000DC
-:1070200060C000005EC00000DCC400005AC0000068
+:1070200060C000005EC00000F8C400005AC000004C
:1070300058C0000056C0000054C0000052C00000FC
:1070400050C0000078C000004CC000004AC00000E2
:1070500048C0000046C0000044C0000042C000001C
@@ -9,22 +9,22 @@
:1070800030C000002EC000002CC000002AC000004C
:1070900028C0000026C0000024C0000022C000005C
:1070A00020C000001EC000001CC0000011241FBE34
-:1070B000CFEFDAE0DEBFCDBF11E0A0E0B1E0E6E067
-:1070C000FFE702C005900D92A03CB107D9F711E08F
-:1070D000A0ECB1E001C01D92A63DB107E1F78ED34F
-:1070E00010C78ECFF89410926F001092810010920A
+:1070B000CFEFDAE0DEBFCDBF11E0A0E0B1E0EEE35C
+:1070C000FFE702C005900D92A83AB107D9F711E089
+:1070D000A8EAB1E001C01D92AE3BB107E1F78ED343
+:1070E0002CC78ECFF89410926F00109281001092EE
:1070F00085001092840081E085BF15BE47985D9A97
-:10710000289A0C94000008952091CA013091CB0177
-:107110002F5F3F4F3093CB012093CA01932F37FF4E
+:10710000289A0C94000008952091B2013091B301A7
+:107110002F5F3F4F3093B3012093B201932F37FF7E
:1071200003C08EEF831B982F990F921710F4479886
:107130000895479A08951F920F920FB60F92112447
:107140002F938F939F93EF93FF931092850010924C
-:1071500084008091C0019091C101009741F0019796
-:107160009093C1018093C001892B09F45D9A8091AD
-:10717000C2019091C301009741F001979093C30120
-:107180008093C201892B09F4289AE0E0F0E0859110
-:1071900094918F5F9F4F49F08091C4019091C501F8
-:1071A00001969093C5018093C401FF91EF919F9147
+:1071500084008091A8019091A901009741F00197C6
+:107160009093A9018093A801892B09F45D9A8091DD
+:10717000AA019091AB01009741F001979093AB0168
+:107180008093AA01892B09F4289AE0E0F0E0859128
+:1071900094918F5F9F4F49F08091AC019091AD0128
+:1071A00001969093AD018093AC01FF91EF919F9177
:1071B0008F912F910F900FBE0F901F90189584E024
:1071C0008093E9000DC08091E8008B778093E80000
:1071D00003C08EB3882351F08091E80082FFF9CF7D
@@ -32,12 +32,12 @@
:1071F00083E08093E9008091E80085FD0DC08091D7
:10720000E8008E778093E80003C08EB3882369F08E
:107210008091E80080FFF9CF9093F1005D9884E6BB
-:1072200090E09093C1018093C00108954F925F92C6
+:1072200090E09093A9018093A80108954F925F92F6
:107230006F927F928F929F92AF92BF92CF92DF9286
:10724000EF92FF920F931F93CF93DF9384E080938D
:10725000E9008091E80082FF56C2289884E690E019
-:107260009093C3018093C201AADF182F853419F4CB
-:107270001092090103C0843519F4A1DF8DE019C211
+:107260009093AB018093AA01AADF182F853419F4FB
+:1072700010920D0103C0843519F4A1DF8DE019C20D
:107280008C34E1F38035D1F3843721F484E4AFDF2B
:1072900080E00FC2813611F489E50BC28134B1F46C
:1072A0008EDF182F8CDF90E0880F991FAA2797FD9B
@@ -57,54 +57,54 @@
:107380005700849196C1813539F4E2E0F0E089E05C
:107390008093570084918DC1823631F489E527DFCF
:1073A00080E025DF80E885C1823419F0873609F056
-:1073B000E5C01092C5011092C40101DF082FFFDE65
+:1073B000E5C01092AD011092AC0101DF082FFFDE95
:1073C000F82EFDDE682E8554823008F071C1902FB2
:1073D00080E0CF2DD0E0C82BD92B10926F0017364C
:1073E00009F04BC081E180935700E895DD24CC245F
-:1073F000C3943FC0E090C601F090C7010091C8015E
-:107400001091C901B6E46B16D9F4ED2DF0E0EE2928
+:1073F000C3943FC0E090AE01F090AF010091B001A6
+:107400001091B101B6E46B16D9F4ED2DF0E0EE2940
:10741000FF29E4918E2FEBDEDD2081F082E090E009
-:10742000A0E0B0E0E80EF91E0A1F1B1FE092C601A3
-:10743000F092C7010093C8011093C901DC2418C061
-:10744000D801C701B695A7959795879544D5CFDE06
+:10742000A0E0B0E0E80EF91E0A1F1B1FE092AE01BB
+:10743000F092AF010093B0011093B101DC2418C0A9
+:10744000D801C701B695A7959795879560D5CFDEEA
:1074500082E090E0A0E0B0E0E80EF91E0A1F1B1FDA
-:10746000E092C601F092C7010093C8011093C901D0
-:107470002197209709F0BECF7DC08090C6019090E3
-:10748000C701A090C801B090C90196E4691609F03F
+:10746000E092AE01F092AF010093B0011093B10130
+:107470002197209709F0BECF7DC08090AE019090FB
+:10748000AF01A090B001B090B10196E4691609F087
:107490005DC083E0F40180935700E89507B600FCD7
:1074A000FDCF54C0F6E46F1661F5772031F1E0901E
-:1074B000C601F090C7010091C8011091C9017FDE9B
+:1074B000AE01F090AF010091B0011091B1017FDEFB
:1074C000D82ECC24852D90E08C299D29F7010C0124
:1074D00040925700E895112482E090E0A0E0B0E0EF
-:1074E000E80EF91E0A1F1B1FE092C601F092C701A9
-:1074F0000093C8011093C90102C061DE582E7424A4
-:1075000023C0E090C601F090C7010091C80110911E
-:10751000C90116950795F794E79451DE682FC701C6
-:10752000E2D48091C6019091C701A091C801B091A9
-:10753000C9010296A11DB11D8093C6019093C70198
-:10754000A093C801B093C901219704C055247724A2
+:1074E000E80EF91E0A1F1B1FE092AE01F092AF01D9
+:1074F0000093B0011093B10102C061DE582E7424D4
+:1075000023C0E090AE01F090AF010091B001109166
+:10751000B10116950795F794E79451DE682FC701DE
+:10752000FED48091AE019091AF01A091B001B091D5
+:10753000B1010296A11DB11D8093AE019093AF01E0
+:10754000A093B001B093B101219704C055247724D2
:1075500044244394209709F0A5CF96E4691641F49A
:1075600085E0F40180935700E89507B600FCFDCF55
:107570008DE03DDE82E080936F009CC0833471F427
-:107580000091C6011091C7011ADE90E021E0F801D8
+:107580000091AE011091AF011ADE90E021E0F80108
:107590000C0120935700E895112470CE833619F51D
-:1075A000E090C601F090C7010091C8011091C90197
+:1075A000E090AE01F090AF010091B0011091B101F7
:1075B00006DEF701E16090E021E00C012093570026
:1075C000E895112482E090E0A0E0B0E0E80EF91E1A
-:1075D0000A1F1B1FE092C601F092C7010093C80169
-:1075E0001093C9014BCE8D3661F4E091C601F09144
-:1075F000C70185E080935700E89507B600FCFDCFF2
-:107600003DCE823551F4E091C601F091C70105915C
+:1075D0000A1F1B1FE092AE01F092AF010093B001B1
+:1075E0001093B1014BCE8D3661F4E091AE01F09174
+:1075F000AF0185E080935700E89507B600FCFDCF0A
+:107600003DCE823551F4E091AE01F091AF0105918C
:107610001491812FECDD802F4CC0843421F5E09053
-:10762000C601F090C7010091C8011091C9011695DB
-:107630000795F794E794C3DD682FC70154D4809170
-:10764000C6019091C701A091C801B091C9010296ED
-:10765000A11DB11D8093C6019093C701A093C801DD
-:10766000B093C9010BCE843609F5E090C601F090C5
-:10767000C7010091C8011091C901D801C701B69591
-:10768000A7959795879527D4B2DD82E090E0A0E09A
-:10769000B0E0E80EF91E0A1F1B1FE092C601F0922F
-:1076A000C7010093C8011093C90104C08B3111F0C8
+:10762000AE01F090AF010091B0011091B10116953B
+:107630000795F794E794C3DD682FC70170D4809154
+:10764000AE019091AF01A091B001B091B10102964D
+:10765000A11DB11D8093AE019093AF01A093B00125
+:10766000B093B1010BCE843609F5E090AE01F090F5
+:10767000AF010091B0011091B101D801C701B695D9
+:10768000A7959795879543D4B2DD82E090E0A0E07E
+:10769000B0E0E80EF91E0A1F1B1FE092AE01F09247
+:1076A000AF010093B0011093B10104C08B3111F010
:1076B0008FE39DDD83E08093E9009091E800809165
:1076C000E8008E778093E80095FF04C010C08EB369
:1076D0008823C9F08091E80080FFF9CF8091E8000D
@@ -112,144 +112,146 @@
:1076F000E80080FFF9CF84E08093E9008091E80002
:107700008B778093E800DF91CF911F910F91FF90CD
:10771000EF90DF90CF90BF90AF909F908F907F9031
-:107720006F905F904F9008959091CE01892F8F7741
-:10773000813249F58091CF018032A1F0813219F573
-:10774000913A09F58091E800877F8093E8008AE00C
-:1077500091E067E070E0F6D18091E8008B7780934C
+:107720006F905F904F9008959091B601892F8F7759
+:10773000813249F58091B7018032A1F0813219F58B
+:10774000913A09F58091E800877F8093E8008EE008
+:1077500091E067E070E012D28091E8008B7780932F
:10776000E8000895913279F48091E800877F809352
-:10777000E8008AE091E067E070E048D28091E8009C
-:107780008E778093E800089582E061EC42E0A0D01B
-:1077900083E061E842E19CD084E060E842E198C087
+:10777000E8008EE091E067E070E064D28091E8007C
+:107780008E778093E800089582E061EC42E0BCD0FF
+:1077900083E061E842E1B8D084E060E842E1B4C04F
:1077A00084B7877F84BF88E10FB6F8948093600028
:1077B000109260000FBE20E880E090E00FB6F894D1
:1077C00020936100809361000FBE81E085BF92E04D
:1077D00095BF3F9A209A559AE1E6F0E02083108207
:1077E00047985D9A289A109289008AEF80938800C2
-:1077F00090936F0083E080938100DBC0CF93DF9391
-:1078000088E10FB6F89480936000109260000FBE7C
-:1078100084B714BE80FF08C0E0E0F0E08591949149
-:107820008F5F9F4F09F05EDCBBDF7894E0E0F0E013
-:10783000C591D49110C0FADC3CD38091C4019091E1
-:10784000C50181589E4330F08FEFCF3FD80711F02C
-:107850001092090159DC80910901882361F7809118
-:10786000E00081608093E0003DDC80E090E0DF910B
-:10787000CF910895FA01923049F0933061F0913040
-:10788000F9F481E191E022E130E01EC083E291E071
-:107890002EE330E019C0882329F481E691E024E04A
-:1078A00030E012C0813029F485E691E022E230E038
-:1078B0000BC0823029F485EA91E028E130E004C071
-:1078C00080E090E020E030E091838083C90108955A
-:1078D0008093E9008091EB0081608093EB0010922F
-:1078E000ED006093EC004093ED008091EE00881F66
-:1078F0008827881F08958091CE0188238CF403C0C7
-:107900008EB38823B1F08091E80082FFF9CF809197
-:10791000E8008B778093E80008958EB3882349F0C0
-:107920008091E80080FFF9CF8091E8008E77809306
-:10793000E8000895EF92FF920F931F9345D04CD02B
-:1079400008ED10E0F80180818F7780838081806866
-:10795000808380818F7D808319BC1EBA1092CC01F8
-:1079600080EEE82EF12CF70180818B7F8083F80177
-:1079700080818160808380E060E042E0A9DFE1EE09
-:10798000F0E080818E7F8083E2EEF0E08081816094
-:107990008083808188608083F70180818E7F8083EF
-:1079A000F8018081806180831F910F91FF90EF909B
-:1079B0000895E7EDF0E08081816080838AE482BFF2
-:1079C00081E08093CD01B6CFE8EDF0E080818E7F3D
-:1079D00080831092E20008951092DA001092E10084
-:1079E00008951F920F920FB60F9211242F933F9379
-:1079F0004F935F936F937F938F939F93AF93BF93B7
-:107A0000EF93FF938091DA0080FF1BC08091D80034
-:107A100080FF17C08091DA008E7F8093DA0080911A
-:107A2000D90080FF0BC080E189BD82E189BD09B426
-:107A300000FEFDCF81E08EBB3BD203C019BC1EBA55
-:107A400037D28091E10080FF17C08091E20080FF73
-:107A500013C08091E2008E7F8093E2008091E2006B
-:107A600080618093E2008091D80080628093D8008A
-:107A700019BC85E08EBB1CD28091E10084FF2CC034
-:107A80008091E20084FF28C080E189BD82E189BD48
-:107A900009B400FEFDCF8091D8008F7D8093D8007F
-:107AA0008091E1008F7E8093E1008091E2008F7EE3
-:107AB0008093E2008091E20081608093E2008091F7
-:107AC000CC01882331F48091E30087FD02C081E07E
-:107AD00001C084E08EBBECD18091E10083FF21C026
-:107AE0008091E20083FF1DC08091E100877F809339
-:107AF000E10082E08EBB1092CC018091E1008E7F8C
-:107B00008093E1008091E2008E7F8093E20080917B
-:107B1000E20080618093E20080E060E042E0D8DE35
-:107B2000C7D1FF91EF91BF91AF919F918F917F91BD
-:107B30006F915F914F913F912F910F900FBE0F90DA
-:107B40001F9018959C014091D4015091D501461782
-:107B5000570718F4F90190E044C06115710511F060
-:107B6000AB01F8CF8091E8008E778093E80040E089
-:107B700050E0F0CF8EB3882309F444C0853009F477
-:107B800043C08091E80083FF02C081E008958091A6
-:107B9000E80082FD31C08091E80080FF22C0809122
-:107BA000F3009091F200782F60E0292F30E0262B2F
-:107BB000372B07C081918093F100415050402F5FD7
-:107BC0003F4F4115510519F02830310598F390E0E9
-:107BD0002830310509F491E08091E8008E77809398
-:107BE000E8004115510531F6992321F605C08EB301
-:107BF000882341F0853041F08091E80082FFF7CF83
-:107C000080E0089582E0089583E008959C01611565
-:107C1000710529F48091E8008B778093E800F901E1
-:107C200026C08EB3882391F1853091F18091E800D0
-:107C300083FF02C081E008958091E80082FFF1CFC8
-:107C400006C08091F10081936150704059F02091FD
-:107C5000F3008091F200322F20E090E0822B932BF2
-:107C6000892B79F78091E8008B778093E800611584
-:107C70007105B9F605C08EB3882341F0853041F017
-:107C80008091E80080FFF7CF80E0089582E00895BA
-:107C900083E008950F931F93DF93CF9300D0CDB768
-:107CA000DEB7EEECF1E08091F100819381E0E63DFA
-:107CB000F807C9F739DD8091E80083FFE4C08091BF
-:107CC000CE019091CF01953009F46DC0963040F40B
-:107CD000913081F1913070F0933009F0D4C02AC016
-:107CE000983009F4A3C0993009F4B2C0963009F075
-:107CF000CAC07CC0803809F4C6C0823809F0C3C04D
-:107D00008091D20187708093E9008091EB001092FE
-:107D1000E9002091E800277F2093E80090E025E02B
-:107D2000969587952A95E1F781708093F1001092DE
-:107D3000F10087C0882319F0823009F0A4C08F7148
-:107D4000823009F0A0C08091D001882331F52091C4
-:107D5000D201277009F497C02093E9008091EB00CD
-:107D600080FF1BC0933021F48091EB00806213C030
-:107D70008091EB0080618093EB0081E090E002C095
-:107D8000880F991F2A95E2F78093EA001092EA0083
-:107D90008091EB0088608093EB001092E900809165
-:107DA000E800877F51C0882309F06DC01091D00191
-:107DB0001F770FB7F8948091E800877F8093E800E1
-:107DC0009ADD8091E80080FFFCCF8091E30080780D
-:107DD000812B8093E30080688093E300112311F4EA
-:107DE00082E001C083E08EBB0FBF4DC0805882305F
-:107DF00008F049C08091D0019091D1016091D201E9
-:107E0000AE014F5F5F4F36DDBC01009709F43BC008
-:107E10008091E800877F8093E80089819A8192DED3
-:107E20008091E8008B778093E8002DC0803859F569
-:107E30008091E800877F8093E8008091CC01809357
-:107E4000F1008091E8008E778093E80054DD1BC03C
-:107E50008823C9F49091D0019230A8F48091E80071
-:107E6000877F8093E8009093CC0145DD8091CC0121
-:107E7000882331F48091E30087FD02C081E001C0D6
-:107E800084E08EBB81DC8091E80083FF0AC0809192
-:107E9000EB0080628093EB008091E800877F809305
-:107EA000E8000F900F90CF91DF911F910F910895EF
-:107EB00008951F938EB3882361F01091E90010920A
-:107EC000E9008091E80083FF01C0E4DE17701093A1
-:107ED000E9001F910895F999FECF92BD81BDF89AEE
-:107EE000992780B50895262FF999FECF1FBA92BD24
-:107EF00081BD20BD0FB6F894FA9AF99A0FBE01968B
-:067F00000895F894FFCF84
-:107F06004341544552494E41000100000000000023
-:107F160008120110010200000841230107010002B6
-:107F260001000109023E000201008032090400003E
-:107F360001020201000524001001042402040524A4
-:107F4600060001070582030800FF09040100020A72
-:107F56000000000705040210000107058302100057
-:107F660001040309042203410072006400750069DC
-:107F7600006E006F0020004C0065006F006E00610F
-:107F860000720064006F0000001A033000300030F9
-:107F96000030003000300030003000310034003551
-:107FA6000032000000180341007200640075006989
-:107FB600006E006F0020004C004C004300000000E3
+:1077F00090936F0083E080938100F7C01F93CF9335
+:10780000DF9388E10FB6F8948093600010926000D7
+:107810000FBE84B714BE182F10FF08C0E0E0F0E0E0
+:10782000859194918F5F9F4F09F05CDC2091000A55
+:107830003091010A1092010A1092000A13FF0FC042
+:107840008091090190910A012817390741F0E0E081
+:10785000F0E0859194918F5F9F4F09F043DCA0DFAA
+:107860007894E0E0F0E0C591D49110C0DFDC3DD326
+:107870008091AC019091AD0181589E4330F08FEF23
+:10788000CF3FD80711F010920D013EDC80910D0121
+:10789000882361F78091E00081608093E00022DC22
+:1078A00080E090E0DF91CF911F910895FA0192302E
+:1078B00049F0933061F09130F9F485E191E022E1F3
+:1078C00030E01EC087E291E02EE330E019C088234B
+:1078D00029F485E691E024E030E012C0813029F4FB
+:1078E00089E691E022E230E00BC0823029F48DE895
+:1078F00091E028E130E004C080E090E020E030E05A
+:1079000091838083C90108958093E9008091EB0001
+:1079100081608093EB001092ED006093EC00409347
+:10792000ED008091EE00881F8827881F08958091C0
+:10793000B60188238CF403C08EB38823B1F0809104
+:10794000E80082FFF9CF8091E8008B778093E80010
+:1079500008958EB3882349F08091E80080FFF9CF25
+:107960008091E8008E778093E8000895EF92FF926F
+:107970000F931F9345D04CD008ED10E0F8018081A3
+:107980008F77808380818068808380818F7D8083F2
+:1079900019BC1EBA1092B40180EEE82EF12CF7014A
+:1079A00080818B7F8083F80180818160808380E08B
+:1079B00060E042E0A9DFE1EEF0E080818E7F80832D
+:1079C000E2EEF0E080818160808380818860808346
+:1079D000F70180818E7F8083F801808180618083C0
+:1079E0001F910F91FF90EF900895E7EDF0E08081F7
+:1079F000816080838AE482BF81E08093B501B6CF45
+:107A0000E8EDF0E080818E7F80831092E20008959F
+:107A10001092DA001092E10008951F920F920FB6B3
+:107A20000F9211242F933F934F935F936F937F9304
+:107A30008F939F93AF93BF93EF93FF938091DA005F
+:107A400080FF1BC08091D80080FF17C08091DA00B2
+:107A50008E7F8093DA008091D90080FF0BC080E197
+:107A600089BD82E189BD09B400FEFDCF81E08EBBF6
+:107A70003BD203C019BC1EBA37D28091E10080FF0F
+:107A800017C08091E20080FF13C08091E2008E7FDA
+:107A90008093E2008091E20080618093E200809117
+:107AA000D80080628093D80019BC85E08EBB1CD2C0
+:107AB0008091E10084FF2CC08091E20084FF28C007
+:107AC00080E189BD82E189BD09B400FEFDCF8091CE
+:107AD000D8008F7D8093D8008091E1008F7E8093C5
+:107AE000E1008091E2008F7E8093E2008091E200CD
+:107AF00081608093E2008091B401882331F4809109
+:107B0000E30087FD02C081E001C084E08EBBECD1C0
+:107B10008091E10083FF21C08091E20083FF1DC0BE
+:107B20008091E100877F8093E10082E08EBB10921C
+:107B3000B4018091E1008E7F8093E1008091E200AA
+:107B40008E7F8093E2008091E20080618093E2006A
+:107B500080E060E042E0D8DEC7D1FF91EF91BF91B5
+:107B6000AF919F918F917F916F915F914F913F91D5
+:107B70002F910F900FBE0F901F9018959C01409170
+:107B8000BC015091BD014617570718F4F90190E068
+:107B900044C06115710511F0AB01F8CF8091E80088
+:107BA0008E778093E80040E050E0F0CF8EB38823DA
+:107BB00009F444C0853009F443C08091E80083FF94
+:107BC00002C081E008958091E80082FD31C080917B
+:107BD000E80080FF22C08091F3009091F200782F9E
+:107BE00060E0292F30E0262B372B07C0819180934E
+:107BF000F100415050402F5F3F4F4115510519F0A2
+:107C00002830310598F390E02830310509F491E0EF
+:107C10008091E8008E778093E8004115510531F698
+:107C2000992321F605C08EB3882341F0853041F0B9
+:107C30008091E80082FFF7CF80E0089582E0089508
+:107C400083E008959C016115710529F48091E80095
+:107C50008B778093E800F90126C08EB3882391F1D9
+:107C6000853091F18091E80083FF02C081E00895A2
+:107C70008091E80082FFF1CF06C08091F1008193EE
+:107C80006150704059F02091F3008091F200322F42
+:107C900020E090E0822B932B892B79F78091E800EC
+:107CA0008B778093E80061157105B9F605C08EB336
+:107CB000882341F0853041F08091E80080FFF7CFC4
+:107CC00080E0089582E0089583E008950F931F9364
+:107CD000DF93CF9300D0CDB7DEB7E6EBF1E0809134
+:107CE000F100819381E0EE3BF807C9F71DDD80913B
+:107CF000E80083FFE4C08091B6019091B701953010
+:107D000009F46DC0963040F4913081F1913070F0FB
+:107D1000933009F0D4C02AC0983009F4A3C0993038
+:107D200009F4B2C0963009F0CAC07CC0803809F4AA
+:107D3000C6C0823809F0C3C08091BA0187708093B1
+:107D4000E9008091EB001092E9002091E800277F84
+:107D50002093E80090E025E0969587952A95E1F735
+:107D600081708093F1001092F10087C0882319F090
+:107D7000823009F0A4C08F71823009F0A0C08091D8
+:107D8000B801882331F52091BA01277009F497C012
+:107D90002093E9008091EB0080FF1BC0933021F419
+:107DA0008091EB00806213C08091EB008061809332
+:107DB000EB0081E090E002C0880F991F2A95E2F75E
+:107DC0008093EA001092EA008091EB008860809333
+:107DD000EB001092E9008091E800877F51C0882372
+:107DE00009F06DC01091B8011F770FB7F89480911A
+:107DF000E800877F8093E8009ADD8091E80080FFAB
+:107E0000FCCF8091E3008078812B8093E300806831
+:107E10008093E300112311F482E001C083E08EBB64
+:107E20000FBF4DC08058823008F049C08091B80122
+:107E30009091B9016091BA01AE014F5F5F4F36DD9D
+:107E4000BC01009709F43BC08091E800877F8093D4
+:107E5000E80089819A8192DE8091E8008B77809397
+:107E6000E8002DC0803859F58091E800877F809325
+:107E7000E8008091B4018093F1008091E8008E7752
+:107E80008093E80054DD1BC08823C9F49091B801A9
+:107E90009230A8F48091E800877F8093E800909367
+:107EA000B40145DD8091B401882331F48091E30071
+:107EB00087FD02C081E001C084E08EBB65DC80915B
+:107EC000E80083FF0AC08091EB0080628093EB00A2
+:107ED0008091E800877F8093E8000F900F90CF910A
+:107EE000DF911F910F91089508951F938EB38823FA
+:107EF00061F01091E9001092E9008091E80083FFA1
+:107F000001C0E4DE17701093E9001F910895F999FC
+:107F1000FECF92BD81BDF89A992780B50895262F8E
+:107F2000F999FECF1FBA92BD81BD20BD0FB6F8945E
+:0E7F3000FA9AF99A0FBE01960895F894FFCFC1
+:107F3E004341544552494E41007777000A010000F3
+:107F4E000000000008120110010200000841230188
+:107F5E000701000201000109023E00020100803209
+:107F6E00090400000102020100052400100104248E
+:107F7E0002040524060001070582030800FF090418
+:107F8E000100020A000000070504021000010705A7
+:107F9E0083021000010403090422034100720064ED
+:107FAE0000750069006E006F0020004C0065006FC8
+:107FBE00006E006100720064006F00000018034143
+:107FCE000072006400750069006E006F0020004CA6
+:087FDE00004C0043000000000C
:040000030000700089
:00000001FF
diff --git a/bootloaders/caterina_LUFA/Descriptors.c b/bootloaders/caterina_LUFA/Descriptors.c
index b5b1aee..f1756e2 100755
--- a/bootloaders/caterina_LUFA/Descriptors.c
+++ b/bootloaders/caterina_LUFA/Descriptors.c
@@ -195,14 +195,14 @@ const USB_Descriptor_String_t ProductString =
.UnicodeString = L"Arduino Leonardo"
};
-
+/*
const USB_Descriptor_String_t SerialNumString =
{
.Header = {.Size = USB_STRING_LEN(12), .Type = DTYPE_String},
.UnicodeString = L"000000001452"
};
-
+*/
const USB_Descriptor_String_t ManufNameString =
{
.Header = {.Size = USB_STRING_LEN(11), .Type = DTYPE_String},
@@ -246,10 +246,10 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
{
Address = &ProductString;
Size = ProductString.Header.Size;
- } else if (DescriptorNumber == DeviceDescriptor.SerialNumStrIndex)
- {
- Address = &SerialNumString;
- Size = SerialNumString.Header.Size;
+// } else if (DescriptorNumber == DeviceDescriptor.SerialNumStrIndex)
+// {
+// Address = &SerialNumString;
+// Size = SerialNumString.Header.Size;
} else if (DescriptorNumber == DeviceDescriptor.ManufacturerStrIndex)
{
Address = &ManufNameString;