diff options
author | Zach Eveland <zeveland@blacklabel-development.com> | 2011-10-26 12:53:57 -0400 |
---|---|---|
committer | Zach Eveland <zeveland@blacklabel-development.com> | 2011-10-26 12:53:57 -0400 |
commit | a52fb298607dfbd78b83e3d0787fdf5d508332d9 (patch) | |
tree | c95676e072bc9a37bf8a2bbf9f41ea6c867d21e5 /bootloaders/nuevo_diskloader | |
parent | bdfae9f7b7b7e34bc00acdf2889ba3dfaa1f3e87 (diff) |
working (?!?!?!) bootloader. doesn't yet restart chip after upload completes.
Diffstat (limited to 'bootloaders/nuevo_diskloader')
-rw-r--r-- | bootloaders/nuevo_diskloader/DiskLoader.elf.hex | 223 | ||||
-rw-r--r-- | bootloaders/nuevo_diskloader/DiskLoader.hex | 223 | ||||
-rw-r--r-- | bootloaders/nuevo_diskloader/Makefile | 7 | ||||
-rw-r--r-- | bootloaders/nuevo_diskloader/src/DiskLoader.cpp | 32 | ||||
-rw-r--r-- | bootloaders/nuevo_diskloader/src/USBCore.cpp | 6 |
5 files changed, 251 insertions, 240 deletions
diff --git a/bootloaders/nuevo_diskloader/DiskLoader.elf.hex b/bootloaders/nuevo_diskloader/DiskLoader.elf.hex index 90201d9..28e3e81 100644 --- a/bootloaders/nuevo_diskloader/DiskLoader.elf.hex +++ b/bootloaders/nuevo_diskloader/DiskLoader.elf.hex @@ -1,6 +1,6 @@ :10700000BDC00000E0C00000DEC00000DCC0000029
:10701000DAC00000D8C00000D6C00000D4C0000014
-:10702000D2C00000D0C0000063C30000D5C3000080
+:10702000D2C00000D0C000006CC30000DEC300006E
:10703000CAC00000C8C00000C6C00000C4C0000034
:10704000C2C00000C0C00000BEC00000BCC0000044
:10705000BAC00000B8C00000B6C00000B4C0000054
@@ -21,16 +21,16 @@ :107140006400750069006E006F0020004C004C0068
:1071500043001201000200000040412389000001A9
:1071600001020001120100020200004041238900D7
-:1071700000010102000100C18081DC3B11241FBE1F
-:10718000CFEFDAE0DEBFCDBF11E0A0E0B1E0E4E395
+:1071700000010102000100C18081E53B11241FBE16
+:10718000CFEFDAE0DEBFCDBF11E0A0E0B1E0E6E492
:10719000FAE702C005900D92A830B107D9F711E0C7
:1071A000A8E0B1E001C01D92A539B107E1F711E7F0
-:1071B000CCE7D1E703C02297FE0136D4CA37D10706
-:1071C000D1F772D035C41CCFFC0180818E5F8083E3
-:1071D00080E86AEB70E742E450E03CC2FC01818148
+:1071B000CCE7D1E703C02297FE013FD4CA37D107FD
+:1071C000D1F772D03EC41CCFFC0180818E5F8083DA
+:1071D00080E86AEB70E742E450E045C2FC0181813F
:1071E0009081913A49F48132C1F480E060E071E02D
-:1071F00047E050E02FD20FC0913279F4803231F461
-:1072000080E091E067E070E061D205C0823229F44D
+:1071F00047E050E038D20FC0913279F4803231F458
+:1072000080E091E067E070E06AD205C0823229F444
:1072100082818093070181E0089580E00895FF92C4
:107220000F931F93CF93DF93982F8B01FF2480E759
:107230006030780738F4FF24F39483E0FB018093F7
@@ -44,8 +44,8 @@ :1072B0006000109260000FBE3F9A209A6E9A90E88C
:1072C000909361001092610081E885BF95BF01E055
:1072D00005BF02E005BF769A289A479884E991E0B5
-:1072E00055D2789484E18093880180E1809389016C
-:1072F000CC24DD2482E0A0D08823E1F382E0F6D024
+:1072E0005ED2789484E18093880180E18093890163
+:1072F000CC24DD2482E0A0D08823E1F382E0FAD020
:10730000E82E8CEF90E7FC0124913196029644918F
:107310002E1511F02223B9F710928B0110928A01D9
:1073200050E082E068E071E090D0F1E4EF1679F48B
@@ -60,108 +60,109 @@ :1073B000FF24C3E1D1E705C0F0900901E601CF0C3D
:1073C000D11C08E813E1015010400930110501F10A
:1073D00082E032D08823E1F4F6CF809709F088CF9D
-:1073E00083E068E871E041E050E0A8D0FF2029F098
-:1073F0004F2D50E083E8BE01A1D083E469E871E03D
-:1074000041E050E09BD081E5E81609F073CF70CFE2
-:1074100082E06CD0EFEF8F3F9E07F9F6E1CFFC01E1
+:1073E00083E068E871E041E050E0ACD0FF2029F094
+:1073F0004F2D50E083E8BE01A5D083E469E871E039
+:1074000041E050E09FD081E5E81609F073CF70CFDE
+:1074100082E070D0EFEF8F3F9E07F9F6E1CFFC01DD
:1074200004C08091F100819361506623D1F72898C0
:1074300084E680938D0108959FB7F89487708093B8
-:10744000E9008091F2009FBF0895FB018093E9005D
-:1074500024E69BE610C08091E80085FFFCCF2898C9
-:1074600020938D018091F10081938091E80085FD4A
-:1074700002C09093E800415050408FEF4F3F5807B3
-:1074800051F70895282F80918E018823C1F057FF6E
-:107490001AC015C0289890938D018091F1008193B6
-:1074A000E217F307B9F74115510539F08091F20061
-:1074B000882319F48BE68093E800AFBF02C04FEF3A
-:1074C0005FEFCA010895AFB7F89427702093E900E1
-:1074D0008091F200282F30E0241735070CF4A90121
-:1074E000FB019B01240F311D94E6DACFDF93CF938C
-:1074F0000F92CDB7DEB7BE016F5F7F4F41E050E026
-:10750000C1DF019719F08FEF9FEF02C0898190E0F2
-:107510000F90CF91DF9108952FB7F89487708093E3
-:10752000E9008091E80085FD02C090E004C08091F0
-:10753000F20090E4981B2FBF892F08955F926F92FD
-:107540007F928F929F92AF92BF92CF92DF92EF92F3
-:10755000FF920F931F93CF93DF93F82E6A018091D0
-:107560008E01882319F44FEF5FEF63C08B01EA01AE
-:1075700057E0E52EEF208F2D90E040E2842E912CF5
-:10758000882299223AE3532E20E4A22EB12CA8227D
-:10759000B92280EA682E8FE0782E43C08F2DBCDFA1
-:1075A000282F882321F4C3010197F1F73AC090E016
-:1075B000C817D9070CF42C2FC21BD1094FB7F89468
-:1075C000E092E9008114910421F406C01092F100C8
-:1075D00021502223D9F719C0F7FC03C0F801922FDC
-:1075E00010C0C801322F06C0FC010196E491E0935F
-:1075F000F10031503323C1F706C081918093F1002F
-:1076000091509923D1F7020F111D8091E80085FF59
-:1076100005C0209729F4A114B10411F05092E8009C
-:107620004FBF209709F0BACF769884E680938C01FB
-:10763000A601CA01DF91CF911F910F91FF90EF90AA
-:10764000DF90CF90BF90AF909F908F907F906F9082
-:107650005F9008950F931F93182FFB01A091910144
-:10766000B0919201BA010EEF2AC017FF02C09491A7
-:1076700001C0908120918F01309190012A173B0722
-:10768000ACF48091E8008570E1F38091E80082FF1E
-:1076900003C04FEF5FEF16C09093F100C901019650
-:1076A0008F739070892B11F40093E8002F5F3F4F88
-:1076B0003093900120938F01615070403196611595
-:1076C000710599F6CA011F910F910895CF93DF9329
-:1076D0009C01EB018091E80082FFFCCFC9016C2F77
-:1076E0009EDE8BEF8093E800CE01DF91CF9108956D
-:1076F0001F920F920FB60F9211242F933F938F93E7
-:107700008091E1001092E100282F83FF0FC01092BA
-:10771000E90081E08093EB001092EC0082E380931B
-:10772000ED0010928E0188E08093F00022FF26C0C9
-:1077300083E08093E9008091F200882319F08AE3C6
-:107740008093E80080918C01882351F080918C0116
-:10775000815080938C0180918C01882309F4769A62
-:1077600080918D01882351F080918D01815080930B
-:107770008D0180918D01882309F4289A8F913F9182
-:107780002F910F900FBE0F901F90189510928E01A1
-:1077900081E08093D70080EA8093D80082E189BDA0
-:1077A00009B400FEFDCF80E98093D8008CE080937F
-:1077B000E2001092E00008950895DF93CF930F92B6
-:1077C000CDB7DEB71982CE010196FEDC898190E04B
-:1077D0000F90CF91DF9108951F920F920FB60F92E5
-:1077E0001124EF92FF921F932F933F934F935F9338
-:1077F0006F937F938F939F93AF93BF93EF93FF9379
-:10780000DF93CF93CDB7DEB76197DEBFCDBF1092C8
-:10781000E9008091E80083FFECC0CE01019668E0AA
-:10782000FEDD82EF8093E800998197FF05C080918B
-:10783000E80080FFFCCF03C08EEF8093E800292F83
-:1078400030E0C90180769070892B09F0B3C08A813D
-:10785000882329F41092F1001092F100BFC081300A
-:1078600009F4BCC0833009F4B9C0853049F4809173
-:10787000E80080FFFCCF8B8180688093E300AEC07E
-:10788000863009F06DC01C81EF80F8841230A9F5B4
-:107890001092E9001092900110928F0110929201C3
-:1078A000109291018ADF99E0FE013996DF01292FBC
-:1078B0001D922A95E9F799871A8791E09E8790E8AB
-:1078C000988B9AEF998B20918F0130919001275FCF
-:1078D0003F4F3C872B878D871092E90010929001D3
-:1078E00010928F01F0929201E092910180E0BF012D
-:1078F00049E050E0AFDE61DF71C01092E900109204
-:10790000900110928F01F0929201E092910111305A
-:1079100071F488E0E816F10411F41093930180915A
-:107920009301882309F062C0E2E5F1E713C0133048
-:1079300009F058C08B81882319F4E4E1F1E70AC00B
-:10794000823019F4E8E1F1E705C0813009F04AC05E
-:10795000EAE3F1E7449150E080E8BF017BDE3EC0FE
-:10796000873009F43FC0883021F481E08093F10032
-:1079700035C0893099F523703070232B99F5E7E7EE
-:10798000F1E791E031E026E39093E9003093EB00DA
-:1079900084918093EC002093ED009F5F31969430AA
-:1079A00099F78EE78093EA001092EA008B8180932A
-:1079B0008E0114C08F8198851092E9001092900179
-:1079C00010928F0190939201809391018D81882371
-:1079D00049F4CE01019602DC882321F08EEF8093DA
-:1079E000E80007C081E28093EB0003C0E4E6F1E722
-:1079F000B1CF6196DEBFCDBFCF91DF91FF91EF9107
-:107A0000BF91AF919F918F917F916F915F914F91B6
-:107A10003F912F911F91FF90EF900F900FBE0F900D
-:107A20001F901895EE0FFF1F0590F491E02D09941B
-:047A3000F894FFCFF8
-:087A340000E100000000000069
+:10744000E9008091F2009FBF0895FB019FB7F89477
+:1074500087708093E90034E62BE610C08091E80045
+:1074600085FFFCCF289830938D018091F1008193A6
+:107470008091E80085FD02C02093E8004150504013
+:107480008FEF4F3F580751F79FBF0895282F8091E6
+:107490008E018823C1F057FF1AC015C02898909319
+:1074A0008D018091F1008193E217F307B9F741153F
+:1074B000510539F08091F200882319F48BE680930E
+:1074C000E800AFBF02C04FEF5FEFCA010895AFB74A
+:1074D000F89427702093E9008091F200282F30E083
+:1074E000241735070CF4A901FB019B01240F311D62
+:1074F00094E6DACFDF93CF930F92CDB7DEB7BE011C
+:107500006F5F7F4F41E050E0C1DF019719F08FEFCF
+:107510009FEF02C0898190E00F90CF91DF91089595
+:107520002FB7F89487708093E9008091E80085FD7B
+:1075300002C090E004C08091F20090E4981B2FBF3D
+:10754000892F08955F926F927F928F929F92AF9250
+:10755000BF92CF92DF92EF92FF920F931F93CF9340
+:10756000DF93F82E6A0180918E01882319F44FEF82
+:107570005FEF68C08B01EA0157E0E52EEF208F2D09
+:1075800090E040E2842E912C882299223AE3532EF7
+:1075900020E4A22EB12CA822B92280EA682E8FE026
+:1075A000782E43C08F2DBCDF282F882321F4C30100
+:1075B0000197F1F73AC090E0C817D9070CF42C2FC7
+:1075C000C21BD1094FB7F894E092E90081149104ED
+:1075D00021F406C01092F10021502223D9F719C0DE
+:1075E000F7FC03C0F801922F10C0C801322F06C06B
+:1075F000FC010196E491E093F10031503323C1F78F
+:1076000006C081918093F10091509923D1F7020F28
+:10761000111D8091E80085FF05C0209729F4A11471
+:10762000B10411F05092E8004FBF209709F0BACF93
+:10763000F6FE03C08AE38093E800769884E68093A0
+:107640008C01A601CA01DF91CF911F910F91FF908C
+:10765000EF90DF90CF90BF90AF909F908F907F90F2
+:107660006F905F9008950F931F93182FFB01A091C7
+:107670009101B0919201BA010EEF2AC017FF02C02A
+:10768000949101C0908120918F01309190012A172F
+:107690003B07ACF48091E8008570E1F38091E8004D
+:1076A00082FF03C04FEF5FEF16C09093F100C90156
+:1076B00001968F739070892B11F40093E8002F5F6F
+:1076C0003F4F3093900120938F016150704031966D
+:1076D0006115710599F6CA011F910F910895CF9315
+:1076E000DF939C01EB018091E80082FFFCCFC90190
+:1076F0006C2F95DE8BEF8093E800CE01DF91CF9168
+:1077000008951F920F920FB60F9211242F933F935B
+:107710008F938091E1001092E100282F83FF0FC02A
+:107720001092E90081E08093EB001092EC0082E37C
+:107730008093ED0010928E0188E08093F00022FF8C
+:1077400026C083E08093E9008091F200882319F03D
+:107750008AE38093E80080918C01882351F0809126
+:107760008C01815080938C0180918C01882309F4D5
+:10777000769A80918D01882351F080918D018150FE
+:1077800080938D0180918D01882309F4289A8F912F
+:107790003F912F910F900FBE0F901F901895109250
+:1077A0008E0181E08093D70080EA8093D80082E147
+:1077B00089BD09B400FEFDCF80E98093D8008CE03C
+:1077C0008093E2001092E00008950895DF93CF9334
+:1077D0000F92CDB7DEB71982CE010196F5DC898113
+:1077E00090E00F90CF91DF9108951F920F920FB606
+:1077F0000F921124EF92FF921F932F933F934F9379
+:107800005F936F937F938F939F93AF93BF93EF9308
+:10781000FF93DF93CF93CDB7DEB76197DEBFCDBFC8
+:107820001092E9008091E80083FFECC0CE01019640
+:1078300068E0F5DD82EF8093E800998197FF05C04D
+:107840008091E80080FFFCCF03C08EEF8093E800BA
+:10785000292F30E0C90180769070892B09F0B3C0E0
+:107860008A81882329F41092F1001092F100BFC0A0
+:10787000813009F4BCC0833009F4B9C0853049F4C3
+:107880008091E80080FFFCCF8B8180688093E300CB
+:10789000AEC0863009F06DC01C81EF80F8841230D4
+:1078A000A9F51092E9001092900110928F011092A8
+:1078B0009201109291018ADF99E0FE013996DF0171
+:1078C000292F1D922A95E9F799871A8791E09E87BB
+:1078D00090E8988B9AEF998B20918F0130919001CD
+:1078E000275F3F4F3C872B878D871092E9001092CE
+:1078F000900110928F01F0929201E092910180E04C
+:10790000BF0149E050E0AFDE61DF71C01092E900D5
+:107910001092900110928F01F0929201E0929101E9
+:10792000113071F488E0E816F10411F4109393011A
+:1079300080919301882309F062C0E2E5F1E713C06A
+:10794000133009F058C08B81882319F4E4E1F1E782
+:107950000AC0823019F4E8E1F1E705C0813009F08E
+:107960004AC0EAE3F1E7449150E080E8BF017BDEE2
+:107970003EC0873009F43FC0883021F481E0809315
+:10798000F10035C0893099F523703070232B99F5BB
+:10799000E7E7F1E791E031E026E39093E9003093E7
+:1079A000EB0084918093EC002093ED009F5F319673
+:1079B000943099F78EE78093EA001092EA008B8169
+:1079C00080938E0114C08F8198851092E9001092E7
+:1079D000900110928F0190939201809391018D817B
+:1079E000882349F4CE010196F9DB882321F08EEF3C
+:1079F0008093E80007C081E28093EB0003C0E4E6D7
+:107A0000F1E7B1CF6196DEBFCDBFCF91DF91FF919E
+:107A1000EF91BF91AF919F918F917F916F915F9106
+:107A20004F913F912F911F91FF90EF900F900FBEBC
+:107A30000F901F901895EE0FFF1F0590F491E02D09
+:067A40000994F894FFCF49
+:087A460000E100000000000057
:040000030000700089
:00000001FF
diff --git a/bootloaders/nuevo_diskloader/DiskLoader.hex b/bootloaders/nuevo_diskloader/DiskLoader.hex index 90201d9..28e3e81 100644 --- a/bootloaders/nuevo_diskloader/DiskLoader.hex +++ b/bootloaders/nuevo_diskloader/DiskLoader.hex @@ -1,6 +1,6 @@ :10700000BDC00000E0C00000DEC00000DCC0000029
:10701000DAC00000D8C00000D6C00000D4C0000014
-:10702000D2C00000D0C0000063C30000D5C3000080
+:10702000D2C00000D0C000006CC30000DEC300006E
:10703000CAC00000C8C00000C6C00000C4C0000034
:10704000C2C00000C0C00000BEC00000BCC0000044
:10705000BAC00000B8C00000B6C00000B4C0000054
@@ -21,16 +21,16 @@ :107140006400750069006E006F0020004C004C0068
:1071500043001201000200000040412389000001A9
:1071600001020001120100020200004041238900D7
-:1071700000010102000100C18081DC3B11241FBE1F
-:10718000CFEFDAE0DEBFCDBF11E0A0E0B1E0E4E395
+:1071700000010102000100C18081E53B11241FBE16
+:10718000CFEFDAE0DEBFCDBF11E0A0E0B1E0E6E492
:10719000FAE702C005900D92A830B107D9F711E0C7
:1071A000A8E0B1E001C01D92A539B107E1F711E7F0
-:1071B000CCE7D1E703C02297FE0136D4CA37D10706
-:1071C000D1F772D035C41CCFFC0180818E5F8083E3
-:1071D00080E86AEB70E742E450E03CC2FC01818148
+:1071B000CCE7D1E703C02297FE013FD4CA37D107FD
+:1071C000D1F772D03EC41CCFFC0180818E5F8083DA
+:1071D00080E86AEB70E742E450E045C2FC0181813F
:1071E0009081913A49F48132C1F480E060E071E02D
-:1071F00047E050E02FD20FC0913279F4803231F461
-:1072000080E091E067E070E061D205C0823229F44D
+:1071F00047E050E038D20FC0913279F4803231F458
+:1072000080E091E067E070E06AD205C0823229F444
:1072100082818093070181E0089580E00895FF92C4
:107220000F931F93CF93DF93982F8B01FF2480E759
:107230006030780738F4FF24F39483E0FB018093F7
@@ -44,8 +44,8 @@ :1072B0006000109260000FBE3F9A209A6E9A90E88C
:1072C000909361001092610081E885BF95BF01E055
:1072D00005BF02E005BF769A289A479884E991E0B5
-:1072E00055D2789484E18093880180E1809389016C
-:1072F000CC24DD2482E0A0D08823E1F382E0F6D024
+:1072E0005ED2789484E18093880180E18093890163
+:1072F000CC24DD2482E0A0D08823E1F382E0FAD020
:10730000E82E8CEF90E7FC0124913196029644918F
:107310002E1511F02223B9F710928B0110928A01D9
:1073200050E082E068E071E090D0F1E4EF1679F48B
@@ -60,108 +60,109 @@ :1073B000FF24C3E1D1E705C0F0900901E601CF0C3D
:1073C000D11C08E813E1015010400930110501F10A
:1073D00082E032D08823E1F4F6CF809709F088CF9D
-:1073E00083E068E871E041E050E0A8D0FF2029F098
-:1073F0004F2D50E083E8BE01A1D083E469E871E03D
-:1074000041E050E09BD081E5E81609F073CF70CFE2
-:1074100082E06CD0EFEF8F3F9E07F9F6E1CFFC01E1
+:1073E00083E068E871E041E050E0ACD0FF2029F094
+:1073F0004F2D50E083E8BE01A5D083E469E871E039
+:1074000041E050E09FD081E5E81609F073CF70CFDE
+:1074100082E070D0EFEF8F3F9E07F9F6E1CFFC01DD
:1074200004C08091F100819361506623D1F72898C0
:1074300084E680938D0108959FB7F89487708093B8
-:10744000E9008091F2009FBF0895FB018093E9005D
-:1074500024E69BE610C08091E80085FFFCCF2898C9
-:1074600020938D018091F10081938091E80085FD4A
-:1074700002C09093E800415050408FEF4F3F5807B3
-:1074800051F70895282F80918E018823C1F057FF6E
-:107490001AC015C0289890938D018091F1008193B6
-:1074A000E217F307B9F74115510539F08091F20061
-:1074B000882319F48BE68093E800AFBF02C04FEF3A
-:1074C0005FEFCA010895AFB7F89427702093E900E1
-:1074D0008091F200282F30E0241735070CF4A90121
-:1074E000FB019B01240F311D94E6DACFDF93CF938C
-:1074F0000F92CDB7DEB7BE016F5F7F4F41E050E026
-:10750000C1DF019719F08FEF9FEF02C0898190E0F2
-:107510000F90CF91DF9108952FB7F89487708093E3
-:10752000E9008091E80085FD02C090E004C08091F0
-:10753000F20090E4981B2FBF892F08955F926F92FD
-:107540007F928F929F92AF92BF92CF92DF92EF92F3
-:10755000FF920F931F93CF93DF93F82E6A018091D0
-:107560008E01882319F44FEF5FEF63C08B01EA01AE
-:1075700057E0E52EEF208F2D90E040E2842E912CF5
-:10758000882299223AE3532E20E4A22EB12CA8227D
-:10759000B92280EA682E8FE0782E43C08F2DBCDFA1
-:1075A000282F882321F4C3010197F1F73AC090E016
-:1075B000C817D9070CF42C2FC21BD1094FB7F89468
-:1075C000E092E9008114910421F406C01092F100C8
-:1075D00021502223D9F719C0F7FC03C0F801922FDC
-:1075E00010C0C801322F06C0FC010196E491E0935F
-:1075F000F10031503323C1F706C081918093F1002F
-:1076000091509923D1F7020F111D8091E80085FF59
-:1076100005C0209729F4A114B10411F05092E8009C
-:107620004FBF209709F0BACF769884E680938C01FB
-:10763000A601CA01DF91CF911F910F91FF90EF90AA
-:10764000DF90CF90BF90AF909F908F907F906F9082
-:107650005F9008950F931F93182FFB01A091910144
-:10766000B0919201BA010EEF2AC017FF02C09491A7
-:1076700001C0908120918F01309190012A173B0722
-:10768000ACF48091E8008570E1F38091E80082FF1E
-:1076900003C04FEF5FEF16C09093F100C901019650
-:1076A0008F739070892B11F40093E8002F5F3F4F88
-:1076B0003093900120938F01615070403196611595
-:1076C000710599F6CA011F910F910895CF93DF9329
-:1076D0009C01EB018091E80082FFFCCFC9016C2F77
-:1076E0009EDE8BEF8093E800CE01DF91CF9108956D
-:1076F0001F920F920FB60F9211242F933F938F93E7
-:107700008091E1001092E100282F83FF0FC01092BA
-:10771000E90081E08093EB001092EC0082E380931B
-:10772000ED0010928E0188E08093F00022FF26C0C9
-:1077300083E08093E9008091F200882319F08AE3C6
-:107740008093E80080918C01882351F080918C0116
-:10775000815080938C0180918C01882309F4769A62
-:1077600080918D01882351F080918D01815080930B
-:107770008D0180918D01882309F4289A8F913F9182
-:107780002F910F900FBE0F901F90189510928E01A1
-:1077900081E08093D70080EA8093D80082E189BDA0
-:1077A00009B400FEFDCF80E98093D8008CE080937F
-:1077B000E2001092E00008950895DF93CF930F92B6
-:1077C000CDB7DEB71982CE010196FEDC898190E04B
-:1077D0000F90CF91DF9108951F920F920FB60F92E5
-:1077E0001124EF92FF921F932F933F934F935F9338
-:1077F0006F937F938F939F93AF93BF93EF93FF9379
-:10780000DF93CF93CDB7DEB76197DEBFCDBF1092C8
-:10781000E9008091E80083FFECC0CE01019668E0AA
-:10782000FEDD82EF8093E800998197FF05C080918B
-:10783000E80080FFFCCF03C08EEF8093E800292F83
-:1078400030E0C90180769070892B09F0B3C08A813D
-:10785000882329F41092F1001092F100BFC081300A
-:1078600009F4BCC0833009F4B9C0853049F4809173
-:10787000E80080FFFCCF8B8180688093E300AEC07E
-:10788000863009F06DC01C81EF80F8841230A9F5B4
-:107890001092E9001092900110928F0110929201C3
-:1078A000109291018ADF99E0FE013996DF01292FBC
-:1078B0001D922A95E9F799871A8791E09E8790E8AB
-:1078C000988B9AEF998B20918F0130919001275FCF
-:1078D0003F4F3C872B878D871092E90010929001D3
-:1078E00010928F01F0929201E092910180E0BF012D
-:1078F00049E050E0AFDE61DF71C01092E900109204
-:10790000900110928F01F0929201E092910111305A
-:1079100071F488E0E816F10411F41093930180915A
-:107920009301882309F062C0E2E5F1E713C0133048
-:1079300009F058C08B81882319F4E4E1F1E70AC00B
-:10794000823019F4E8E1F1E705C0813009F04AC05E
-:10795000EAE3F1E7449150E080E8BF017BDE3EC0FE
-:10796000873009F43FC0883021F481E08093F10032
-:1079700035C0893099F523703070232B99F5E7E7EE
-:10798000F1E791E031E026E39093E9003093EB00DA
-:1079900084918093EC002093ED009F5F31969430AA
-:1079A00099F78EE78093EA001092EA008B8180932A
-:1079B0008E0114C08F8198851092E9001092900179
-:1079C00010928F0190939201809391018D81882371
-:1079D00049F4CE01019602DC882321F08EEF8093DA
-:1079E000E80007C081E28093EB0003C0E4E6F1E722
-:1079F000B1CF6196DEBFCDBFCF91DF91FF91EF9107
-:107A0000BF91AF919F918F917F916F915F914F91B6
-:107A10003F912F911F91FF90EF900F900FBE0F900D
-:107A20001F901895EE0FFF1F0590F491E02D09941B
-:047A3000F894FFCFF8
-:087A340000E100000000000069
+:10744000E9008091F2009FBF0895FB019FB7F89477
+:1074500087708093E90034E62BE610C08091E80045
+:1074600085FFFCCF289830938D018091F1008193A6
+:107470008091E80085FD02C02093E8004150504013
+:107480008FEF4F3F580751F79FBF0895282F8091E6
+:107490008E018823C1F057FF1AC015C02898909319
+:1074A0008D018091F1008193E217F307B9F741153F
+:1074B000510539F08091F200882319F48BE680930E
+:1074C000E800AFBF02C04FEF5FEFCA010895AFB74A
+:1074D000F89427702093E9008091F200282F30E083
+:1074E000241735070CF4A901FB019B01240F311D62
+:1074F00094E6DACFDF93CF930F92CDB7DEB7BE011C
+:107500006F5F7F4F41E050E0C1DF019719F08FEFCF
+:107510009FEF02C0898190E00F90CF91DF91089595
+:107520002FB7F89487708093E9008091E80085FD7B
+:1075300002C090E004C08091F20090E4981B2FBF3D
+:10754000892F08955F926F927F928F929F92AF9250
+:10755000BF92CF92DF92EF92FF920F931F93CF9340
+:10756000DF93F82E6A0180918E01882319F44FEF82
+:107570005FEF68C08B01EA0157E0E52EEF208F2D09
+:1075800090E040E2842E912C882299223AE3532EF7
+:1075900020E4A22EB12CA822B92280EA682E8FE026
+:1075A000782E43C08F2DBCDF282F882321F4C30100
+:1075B0000197F1F73AC090E0C817D9070CF42C2FC7
+:1075C000C21BD1094FB7F894E092E90081149104ED
+:1075D00021F406C01092F10021502223D9F719C0DE
+:1075E000F7FC03C0F801922F10C0C801322F06C06B
+:1075F000FC010196E491E093F10031503323C1F78F
+:1076000006C081918093F10091509923D1F7020F28
+:10761000111D8091E80085FF05C0209729F4A11471
+:10762000B10411F05092E8004FBF209709F0BACF93
+:10763000F6FE03C08AE38093E800769884E68093A0
+:107640008C01A601CA01DF91CF911F910F91FF908C
+:10765000EF90DF90CF90BF90AF909F908F907F90F2
+:107660006F905F9008950F931F93182FFB01A091C7
+:107670009101B0919201BA010EEF2AC017FF02C02A
+:10768000949101C0908120918F01309190012A172F
+:107690003B07ACF48091E8008570E1F38091E8004D
+:1076A00082FF03C04FEF5FEF16C09093F100C90156
+:1076B00001968F739070892B11F40093E8002F5F6F
+:1076C0003F4F3093900120938F016150704031966D
+:1076D0006115710599F6CA011F910F910895CF9315
+:1076E000DF939C01EB018091E80082FFFCCFC90190
+:1076F0006C2F95DE8BEF8093E800CE01DF91CF9168
+:1077000008951F920F920FB60F9211242F933F935B
+:107710008F938091E1001092E100282F83FF0FC02A
+:107720001092E90081E08093EB001092EC0082E37C
+:107730008093ED0010928E0188E08093F00022FF8C
+:1077400026C083E08093E9008091F200882319F03D
+:107750008AE38093E80080918C01882351F0809126
+:107760008C01815080938C0180918C01882309F4D5
+:10777000769A80918D01882351F080918D018150FE
+:1077800080938D0180918D01882309F4289A8F912F
+:107790003F912F910F900FBE0F901F901895109250
+:1077A0008E0181E08093D70080EA8093D80082E147
+:1077B00089BD09B400FEFDCF80E98093D8008CE03C
+:1077C0008093E2001092E00008950895DF93CF9334
+:1077D0000F92CDB7DEB71982CE010196F5DC898113
+:1077E00090E00F90CF91DF9108951F920F920FB606
+:1077F0000F921124EF92FF921F932F933F934F9379
+:107800005F936F937F938F939F93AF93BF93EF9308
+:10781000FF93DF93CF93CDB7DEB76197DEBFCDBFC8
+:107820001092E9008091E80083FFECC0CE01019640
+:1078300068E0F5DD82EF8093E800998197FF05C04D
+:107840008091E80080FFFCCF03C08EEF8093E800BA
+:10785000292F30E0C90180769070892B09F0B3C0E0
+:107860008A81882329F41092F1001092F100BFC0A0
+:10787000813009F4BCC0833009F4B9C0853049F4C3
+:107880008091E80080FFFCCF8B8180688093E300CB
+:10789000AEC0863009F06DC01C81EF80F8841230D4
+:1078A000A9F51092E9001092900110928F011092A8
+:1078B0009201109291018ADF99E0FE013996DF0171
+:1078C000292F1D922A95E9F799871A8791E09E87BB
+:1078D00090E8988B9AEF998B20918F0130919001CD
+:1078E000275F3F4F3C872B878D871092E9001092CE
+:1078F000900110928F01F0929201E092910180E04C
+:10790000BF0149E050E0AFDE61DF71C01092E900D5
+:107910001092900110928F01F0929201E0929101E9
+:10792000113071F488E0E816F10411F4109393011A
+:1079300080919301882309F062C0E2E5F1E713C06A
+:10794000133009F058C08B81882319F4E4E1F1E782
+:107950000AC0823019F4E8E1F1E705C0813009F08E
+:107960004AC0EAE3F1E7449150E080E8BF017BDEE2
+:107970003EC0873009F43FC0883021F481E0809315
+:10798000F10035C0893099F523703070232B99F5BB
+:10799000E7E7F1E791E031E026E39093E9003093E7
+:1079A000EB0084918093EC002093ED009F5F319673
+:1079B000943099F78EE78093EA001092EA008B8169
+:1079C00080938E0114C08F8198851092E9001092E7
+:1079D000900110928F0190939201809391018D817B
+:1079E000882349F4CE010196F9DB882321F08EEF3C
+:1079F0008093E80007C081E28093EB0003C0E4E6D7
+:107A0000F1E7B1CF6196DEBFCDBFCF91DF91FF919E
+:107A1000EF91BF91AF919F918F917F916F915F9106
+:107A20004F913F912F911F91FF90EF900F900FBEBC
+:107A30000F901F901895EE0FFF1F0590F491E02D09
+:067A40000994F894FFCF49
+:087A460000E100000000000057
:040000030000700089
:00000001FF
diff --git a/bootloaders/nuevo_diskloader/Makefile b/bootloaders/nuevo_diskloader/Makefile index dc9172e..88e0cfe 100644 --- a/bootloaders/nuevo_diskloader/Makefile +++ b/bootloaders/nuevo_diskloader/Makefile @@ -40,11 +40,12 @@ ASMFLAGS += -x assembler-with-cpp -Wa,-gdwarf2 ## Linker flags
LDFLAGS = $(COMMON)
-LDFLAGS += -Wl,-gc-sections,-Map=DiskLoader.map,--cref
-LDFLAGS += -Wl,--section-start=.text=0x7000,--relax
-LDFLAGS += -Wl,--gc-sections
+#LDFLAGS += -Wl,-gc-sections,-Map=DiskLoader.map,--cref
+#LDFLAGS += -Wl,--section-start=.text=0x7000,--relax
+#LDFLAGS += -Wl,--gc-sections
#LDFLAGS += -nodefaultlibs -nostartfiles
#LDFLAGS += -nostartfiles
+LDFLAGS += -Wl,-gc-sections,-Map=DiskLoader.map,--section-start=.text=0x7000,--relax
## Intel Hex file production flags
diff --git a/bootloaders/nuevo_diskloader/src/DiskLoader.cpp b/bootloaders/nuevo_diskloader/src/DiskLoader.cpp index f611e17..a7ccde6 100644 --- a/bootloaders/nuevo_diskloader/src/DiskLoader.cpp +++ b/bootloaders/nuevo_diskloader/src/DiskLoader.cpp @@ -24,11 +24,12 @@ void entrypoint(void) u8 _flashbuf[128]; u8 _inSync; u8 _ok; +u16 do_reset = 0; volatile u16 _timeout; void Program(u8 ep, u16 page, u8 count) { - u8 write = page < 28*1024; // Don't write over firmware please + u8 write = page < 28*1024; // Don't write over bootloader please if (write) boot_page_erase(page); @@ -94,18 +95,18 @@ const u8 _consts[] = 0x00, // }; -int getch(void) -{ - u16 timeout; - u8 c; - for (timeout = 0; timeout; timeout--) - { - c = USB_Recv(CDC_RX); - if (c != -1) - return c; - } - return -1; -} +//int getch(void) +//{ +// u16 timeout; +// u8 c; +// for (timeout = 0; timeout; timeout--) +// { +// c = USB_Recv(CDC_RX); +// if (c != -1) +// return c; +// } +// return -1; +//} int main(void) __attribute__ ((naked)); @@ -245,8 +246,11 @@ int main() // Send ok USB_Send(CDC_TX|TRANSFER_RELEASE, &_ok, 1); - if ('Q' == cmd) + if ('Q' == cmd) + { + do_reset = 500; break; + } } } } diff --git a/bootloaders/nuevo_diskloader/src/USBCore.cpp b/bootloaders/nuevo_diskloader/src/USBCore.cpp index fffe6f7..453c2ff 100644 --- a/bootloaders/nuevo_diskloader/src/USBCore.cpp +++ b/bootloaders/nuevo_diskloader/src/USBCore.cpp @@ -219,7 +219,8 @@ u8 USB_Available(u8 ep) void USB_Recv_block(u8 ep, u8* dst, int len) { - SetEP(ep); +// SetEP(ep & 7); + LockEP lock(ep); while (len--) { while (!ReadWriteAllowed()) @@ -314,6 +315,9 @@ int USB_Send(u8 ep, const void* d, int len) ReleaseTX(); } } + if (ep & TRANSFER_RELEASE) + ReleaseTX(); + TX_LED_ON(); TxLEDPulse = TX_RX_LED_PULSE_MS; return r; |