[STM32]FlyMcu同时烧写BootLoader和APP文件-HEX文件组成

news2024/11/16 12:36:22

目录

一、前言

二、HEX文件的格式

三、组合HEX文件

四、使用FlyMcu烧录


一、前言

        如题,BootLoader每次烧写都是全部擦除,当我们烧写APP程序的时候,BootLoader程序将不复存在,很多开发者或许只有USB转TTL模块,没有其他可用烧写器。

二、HEX文件的格式

  • 起始码:每行以冒号“:”开头,作为起始码。

  • 数据长度:两个十六进制数字,表示数据字段中的字节数,最大为255。

  • 地址:四个十六进制数字,代表数据的16位起始存储器地址偏移量。

  • 指令类型:两个十六进制数字,定义了记录的具体含义,如数据记录、文件结束记录等。

  • 数据:一系列字节数据,由2个十六进制数字表示。

  • 校验和:两个十六进制数字,用于验证记录的正确性,计算方法是将校验和之前的所有十六进制数字相加(不计超过256的溢出值),然后用256减去这个和得到校验和。

        上个博客中,我们已经生成了BootLoadr和APP的HEX文件,现在打开BootLoader的Hex文件进行对照分析。

        使用记事本打开,可以看到与我们之前的分析无异。下面我们选取其中一行分析一下各个结构。

        其中红色框选中的“:”是起始位;橙色框选中的两位是数据长度位,单位是字节,注意这里的10是十六进制,表示16字节的数据;绿色框表示该数据要写入的地址;蓝色框是指令位,00表示数据,01表示文件结束,02表示扩展段地址,04表示扩展线性地址,05常表示程序入口地址;紫色框表示数据位,同样是十六进制,一个字节两位;棕色框表示校验位;

        我们先看第一行“:020000040800F2”,可以看到指令位是04,这代表以后所有的地址都是以此地址左移16位后为基地址表示的,0x0800左移16位是0x0800 0000。因此第二行的数据写入的真实地址就是0x0000加上0x0800 0000的基地址。

        看到最下面,倒数第二行,指令位是05,代表程序入口地址。最后一行指令位是01代表文件结束。

三、组合HEX文件

        熟悉了HEX文件的格式,我们只需要将APP的HEX文件除去最后一行,全部复制到BootLoader的HEX文件的程序入口(倒数第二行)后面即可。此处的APP的HEX文件仅是示例,非真实Hex文件,便于演示,真实的HEX文件会长很多。

        保存即可,此处贴一下我组合的HEX文件。

:020000040800F2
:10000000280900200D010008CB150008151500086F
:10001000C9150008B5020008611B000800000000B7
:10002000000000000000000000000000CF150008E4
:10003000FB02000800000000CD150008351600087E
:1000400027010008270100082701000827010008F0
:1000500027010008270100082701000827010008E0
:1000600027010008270100082701000827010008D0
:100070002701000827010008B9020008C50200088E
:1000800027010008270100082701000827010008B0
:1000900027010008270100082701000827010008A0
:1000A0002701000827010008270100082701000890
:1000B0002701000827010008270100082701000880
:1000C0002701000827010008270100082701000870
:1000D00027010008851A00082701000827010008E9
:1000E000270100082701000827010008DFF810D0C9
:1000F00000F080F800480047A51E0008AFF300801C
:100100002809002080F308887047000006488047CF
:1001100006480047FEE7FEE7FEE7FEE7FEE7FEE7EC
:10012000FEE7FEE7FEE7FEE797160008ED00000891
:10013000202A04DB203A21FA02F00021704721FA3C
:1001400002F3D040C2F120029140084319467047A3
:10015000D2B201E000F8012B491EFBD27047002209
:10016000F6E710B513460A4604461946FFF7F0FFB6
:10017000204610BD10B5002200E0521C835C8C5C50
:10018000A34201D1002BF8D1D8B2E1B2401A10BD80
:100190002DE9F05F0546002092469B4688460646BC
:1001A000814640241BE02846414647462246FFF749
:1001B000BFFF53465A46C01A914110D31146184604
:1001C000224600F029F82D1A67EB01084F46224617
:1001D0000120002100F020F817EB00094E41201EFD
:1001E000A4F10104DFDC484631462A464346BDE817
:1001F000F09F0000064C074D06E0E06840F0010368
:1002000094E8070098471034AC42F6D3FFF772FF2A
:10021000841F0008A41F0008202A04DB203A00FAEB
:1002200002F1002070479140C2F1200320FA03F34D
:10023000194390407047000010B5114C206820F021
:10024000504110A001F08EFC2068104920F0504071
:1002500088420FD20EA001F085FC2046FFF752FF26
:100260006068216881F30888012181F31088BDE866
:1002700010400047BDE8104009A001F073BC000029
:10028000004000080A25780A000000000050002005
:10029000537461727420546F20415050000000006C
:1002A00041646472657373204E6F7420466F756E7F
:1002B00064000000FEE70000014800F023B90000E0
:1002C000C0040020014800F01DB900007C0400209B
:1002D00030B590F840500124AC40C56B6C600468A8
:1002E00063604368102B036803D099600068C260A4
:1002F00030BD9A600068C16030BD704730B585B0D0
:100300000D46044672B600F07DFA0020029400907B
:10031000CDE9035004A9684600F016FA00F068FA27
:1003200062B605B030BD72B6FEE700000649002097
:10033000C8610648016941F004010161016941F0A9
:1003400040010161704700000805002000200240C4
:10035000064A0021D16106490A6942F002020A6197
:100360004861086940F040000861704708050020B6
:100370000020024014480022C168CB06134904D56E
:10038000CA6942F00202CA611022C3685B0705D540
:10039000CB6943F00103CB6142F00402C369DB0780
:1003A00007D0CB6943F00403CB61C16921F001019F
:1003B000C161A2F58071013901D0C2607047C16985
:1003C00021F00101C16170470020024008050020B2
:1003D00070B5054600F01AFB0646114C09E0681C92
:1003E00007D025B100F012FB801BA84201D90320E1
:1003F00070BDE068C007F2D1E068800601D520201A
:10040000E060E068C00605D4E069C00702D1E0689A
:10041000400703D5FFF7AEFF012070BD002070BD7F
:100420000020024010B590F821100022022905D0CA
:100430000421816380F82020012010BD01680B6831
:1004400023F00E030B6001680B6823F001030B60BF
:1004500090F84030C46B012101FA03F3636080F827
:10046000211080F82020104610BD000010B590F833
:1004700021100024022903D00421816301243DE0DE
:1004800001680A6822F00E020A6001680A6822F018
:1004900001020A601A4A0168914201D1012121E05A
:1004A000174A1432914201D110211BE0144A28321C
:1004B000914201D1891515E0114A3C32914201D196
:1004C00089140FE00E4A5032914202D14FF480312C
:1004D00008E00B4A6432914202D14FF4801101E0EE
:1004E0004FF08071064A083A5160012180F82110CE
:1004F000002180F82010416B01B18847204610BDD3
:10050000080002402DE9F05FC16B0C6801680B68C0
:10051000D0F840C0042202FA0CF2494DDFF824A1C1
:10052000494E4A4FDFF828B1DFF828E122422CD0AB
:100530005A072AD50A68920603D40A6822F00402F0
:100540000A600168A94201D1042219E0514501D194
:10055000402215E0B14202D14FF4806210E0B9426E
:1005600002D14FF480420BE0594502D14FF4802272
:1005700006E0714502D14FF4800201E04FF0806245
:100580002F4908394A60C16A3BE04FF0020808FA77
:100590000CF818EA040F4FF000094FF0010235D0B3
:1005A0005FEA837832D50B689B0605D40B6823F08D
:1005B0000A030B6080F821200168A94201D10222C0
:1005C00019E0514501D1202215E0B14202D14FF48A
:1005D000007210E0B94202D14FF400520BE05945CD
:1005E00002D14FF4003206E0714502D14FF40012FF
:1005F00001E04FF00072124908394A6080F82090FB
:10060000816A00291AD0BDE8F05F0847082505FA7D
:100610000CF5254212D01B0710D50B6823F00E03F2
:100620000B6090F84010C36B02FA01F159608263CD
:1006300080F8212080F82090016BE2E7BDE8F09F70
:10064000080002401C00024030000240440002400A
:10065000580002406C00024030B528B308C8134966
:1006600014221944B1FBF2F18900C163104981637E
:10067000022141771A6843F6F0718A43D0E90014E9
:100680002143D0E902452C432143046921434469B5
:1006900021438469214311431960002141630122F0
:1006A00042770177084630BD012030BDF8FFFDBF1D
:1006B0000000024070B5044690F820000025012893
:1006C0000CD0012084F8200094F821600020012E35
:1006D00006D084F820000225284670BD022070BD97
:1006E000022684F82160A0632068066826F00106CF
:1006F00006602046FFF7ECFDE06A002820680168EC
:1007000002D041F00E0106E021F0040101602068F2
:10071000016841F00A0101602068016841F00101AF
:100720000160D9E770B5044600F070F90546601C19
:1007300002D004480078044400F068F9401BA0424D
:10074000FAD370BD040000202DE9F0470546264885
:100750000F460126017E01290FD001218146017635
:100760002868DFF888804CF25034022808D0A2466E
:100770002046FFF72DFEA8B131E00220BDE8F0874A
:100780002046FFF725FE08BB0120FFF7CFFD2046DE
:10079000FFF71EFED8F81010064621F00401C8F835
:1007A00010101CE04FF0FF303860AC6811E02046BC
:1007B000FFF7CEFD5046FFF70BFED8F810100600ED
:1007C00021F00201C8F8101001D03C6007E004F5E8
:1007D0008064D5E9020100EB8120A042E7D8002126
:1007E00089F818103046C9E70805002000200240AB
:1007F0000348016941F08001016100207047000059
:1008000000200240064900200A69120607D5054A61
:100810004A60054A4A600969090600D50120704707
:100820000020024023016745AB89EFCD2DE9F84F49
:10083000DFF8B8910024A9F1040B23460F2709F132
:10084000040AABF1040EC9E00125A5402A40AA42E2
:100850007DD1674ED1F804C0ACEB0608B44532D068
:1008600014DCBCF1030F3AD009DCBCF1000F2AD034
:10087000BCF1010F1CD0BCF1020F31D11DE0BCF165
:10088000110F17D0BCF1120F2AD119E0B8F5881F4B
:1008900019D006DCB8F5803F15D0B8F5801F1FD100
:1008A00011E0B8F5001F0ED0B8F5041F18D10AE00A
:1008B000CB6815E0CB681B1D12E0CB6808330FE056
:1008C000CB680C330CE08B682BB1012B4FF0080385
:1008D00003D0456104E0042302E0056100E0002349
:1008E000FF2A01D8064601E000F104064FEA84051C
:1008F00001D9A5F12005D6F8008007FA05FC28EA01
:100900000C0803FA05F548EA0508C6F800804D68AA
:10091000ED0062D5374DAE6946F00106AE61AD69B6
:1009200024F0030605F001050095334D06EB050C98
:10093000DCF80850A607360F07FA06F825EA08057E
:10094000DFF8B880404503D14FF0000817E044E0DD
:10095000DFF8AC80404502D14FF001080FE0DFF82E
:10096000A480404502D14FF0020808E0DFF89880EB
:10097000404502D14FF0030801E04FF0040808FAA7
:1009800006F848EA0508CCF808804D68D9F80060F8
:10099000ED024D4601D5164300E096432E604D68AA
:1009A000DAF80060AD02554601D5164300E09643E3
:1009B0002E604D68DBF80060AD035D4601D516433F
:1009C00000E096432E604D68DEF80060ED0375464A
:1009D00001D5164300E096432E60641C0D682A463C
:1009E000E5407FF431AFBDE8F88F00000804014016
:1009F00000001110001002400000014000080140FA
:100A0000000C0140001001400014014001488068C2
:100A100070470000040000200248816802781144F9
:100A20008160704704000020074810B5016841F05C
:100A300010010160032000F06DF80F2000F006F8AF
:100A400000F024F8002010BD0020024070B50D4DCC
:100A500004464FF47A712878B1FBF0F00A4909682E
:100A6000B1FBF0F000F0D4FA48B9102C07D2002204
:100A70002146501E00F02EF800206C6070BD012051
:100A800070BD00000400002010000020094808B5D7
:100A9000816941F001018161816901F001010091E9
:100AA000C16941F08051C161C06900F0805000907F
:100AB00008BD000000100240002809DB00F01F0202
:100AC000012191404009800000F1E020C0F80011B0
:100AD00070470000F0B40E4B1B680C46C3F30223B2
:100AE000C3F10705042D00D90425191D072901D2DA
:100AF000002300E0DB1E012606FA05F1491E214015
:100B000099409E40761E16403143F0BC01F03AB841
:100B10000CED00E0064900F0070208684FF6FF03FD
:100B2000184040EA0220034A104308607047000062
:100B30000CED00E00000FA052DE9F0470F46050036
:100B400061D0434E306800F00700B84209D23068E7
:100B500020F0070038433060306800F00700B842EA
:100B600051D128683B4C810712D5400703D56068F6
:100B700040F4E06060602878000703D5606840F4C6
:100B8000605060606068A96820F0F0000843606011
:100B90002878C00728D06868012810D0216802286A
:100BA00010D0890700292EDA616821F00301014382
:100BB0006160FFF72BFF804641F288390DE0216824
:100BC0008903EFE78901EDE7FFF720FFA0EB0801BC
:100BD000494502D90320BDE8F0876068696800F0E4
:100BE0000C00B0EB810FEFD1306800F00700B84285
:100BF0000BD9306820F0070038433060306800F0CF
:100C00000700B84201D00120E5E72878400705D564
:100C10006068E96820F4E0600843606028780007B5
:100C200006D56068296920F4605040EAC100606020
:100C300000F038F86168084AC1F30311515CC840FC
:100C40000649086006480068FFF700FF0020C2E779
:100C500000200240001002406A1F0008100000201F
:100C6000080000200448054900684968044AC1F3A7
:100C70000221515CC8407047100000200010024063
:100C80007A1F00080448054900684968044AC1F30E
:100C9000C221515CC8407047100000200010024083
:100CA0007A1F00080E4A51680E4801F00C03042B0D
:100CB00011D0082B0FD10C48C1F38343C903C05C8A
:100CC0000AD55168084AC1F34041921E515C054A59
:100CD0005043B0FBF1F070470449484370470000AF
:100CE0000010024000127A005A1F000800093D005F
:100CF0002DE9F84F040070D02078C04DC00749D0CE
:100D00006868C0F38100012807D06868C0F38100DB
:100D1000022809D16868C00306D52868800339D540
:100D200060680028E7D035E06068B0F5803F0BD000
:100D300010B1B0F5A02F11D0286820F480302860C1
:100D4000286820F4802002E0286840F48030286081
:100D5000606890B1FFF75AFE06460AE0286840F442
:100D600080202860F0E700BFFFF750FE801B64285A
:100D700073D828688003F7D50CE0FFF747FE0646D6
:100D800005E000BFFFF742FE801B6428F0D828680A
:100D90008003F7D420789A4E80074FF001094FF076
:100DA000000839D5686810F00C0F07D06868C0F3E8
:100DB0008100022809D16868C00306D4286880072A
:100DC00014D52069012808D110E02069B0B1C6F817
:100DD0000090FFF71BFE074605E00AE1FFF716FE4D
:100DE000C01B0228C4D828688007F7D52868616925
:100DF00020F0F80040EAC10028600DE0C6F800804D
:100E0000FFF704FE074604E0FFF700FEC01B0228C0
:100E100023D828688007F7D4207800072CD5794894
:100E2000A169D9B1C0F80090FFF7F0FD074604E0D2
:100E3000FFF7ECFDC01B02280FD8686A8007F7D5C2
:100E400071484FF4FA510068B0FBF1F0009000BF18
:100E50000098411E0091FAD20EE080E0C0F80080B8
:100E6000FFF7D4FD074604E0FFF7D0FDC01B0228C2
:100E700075D8686A8007F7D42078400760D5E8699C
:100E80000027C00008D4E86940F08050E861E869B4
:100E9000012700F0805000905C480168C90513D418
:100EA0000168834641F480710160FFF7AFFD82461F
:100EB00006E000BFFFF7AAFDA0EB0A0064284ED8A9
:100EC000DBF80000C005F5D5E06801280AD008B1BC
:100ED000052813D0286A20F001002862286A20F033
:100EE000040002E0286A40F001002862E06841F254
:100EF000883B98B1FFF78AFD82460BE0286A40F0F4
:100F000004002862EEE700BFFFF780FDA0EB0A01B6
:100F100059455AD8286A8007F6D50CE0FFF776FDC8
:100F2000824605E0FFF772FDA0EB0A0159454CD857
:100F3000286A8007F6D41FB1E86920F08050E86184
:100F4000E06988B36968C1F38101022944D00228AD
:100F5000C6F8608004D0FFF759FD044638E034E05D
:100F6000FFF754FD074604E0FFF750FDC01B0228C1
:100F70002BD828688001F7D4206AB0F5803F05D1CE
:100F80006868A16820F4003008436860D4E908016B
:100F90000843696821F4741108436860C6F86090DA
:100FA000FFF734FD044606E025E000BFFFF72EFD05
:100FB000001B022809D828688001F7D51BE000BF74
:100FC000FFF724FD001B022802D90320BDE8F88F9B
:100FD00028688001F4D40EE00128F7D06868226AFE
:100FE00000F48031914204D1616A00F470108842AB
:100FF00001D00120EAE70020E8E7000000100240ED
:101000000000424280044242100000200070004074
:1010100010B5401EB0F1807F01D3012010BD4FF00C
:10102000E02460610F21601700F0ACFD0020A0619A
:1010300007202061002010BD704710B504460068ED
:10104000406994F84110C0F3C010212911D180B13A
:101050002068143050E8001F21F0800140E80012A1
:10106000002AF5D1A06B08B1FFF7DCF9204600F0AB
:10107000B9FB2068406994F84210C0F3801022291F
:1010800011D180B12068143050E8001F21F04001D8
:1010900040E80012002AF5D1E06B08B1FFF7C2F971
:1010A000204600F078FB002010BD7047F8B50168BD
:1010B00004460868CA684B6910F00F0F4FF000052E
:1010C00059D003F0010602F49077374365D0C10789
:1010D00005D0D10503D5616C41F001016164410780
:1010E00005D5D90703D0616C41F002016164810725
:1010F00005D5D90703D0616C41F004016164010793
:1011000007D502F02001314303D0616C41F00801A2
:101110006164616C00293AD0800604D5900602D53E
:10112000204600F06DFB20684069616CC0F38010C0
:10113000090700D460B3204600F02DFB2068406909
:10114000400621D52068143050E8001F21F04001EE
:1011500040E80012002AF5D1E06BA8B16D49416367
:10116000E06BFFF783F9002811D0E06B416B01B011
:10117000BDE8F040084783060FD593060DD52046FD
:10118000BDE8F84000F03CBB2046FFF78EFFF8BDFD
:101190002046FFF78AFF6564F8BD266B2023012EE9
:1011A0007CD1C6067AD5D60678D5086848680090FE
:1011B00048694FF00206400640D5E16B0868406878
:1011C0000004000CE8D0A28D8242E5D9E085886950
:1011D00020282DD020680C3050E8001F21F48071A9
:1011E00040E80012002AF5D12068143050E8001FB2
:1011F00021F0010140E80012002AF5D120681430E6
:1012000050E8001F21F0400140E80012002AF5D10B
:1012100084F84230256320680C3050E8001F21F02C
:10122000100140E80012002AF5D1E06BFFF7FAF850
:101230006663A08DE18D401A81B22AE0A08DE18D18
:10124000401A81B2E08D0028A6D00029A4D02268DF
:101250000C3252E8000F20F4907042E80007002F93
:10126000F5D12068143050E8002F22F0010240E848
:101270000027002FF5D184F84230256320680C3018
:1012800050E8002F22F0100240E80023002BF5D197
:1012900066632046FFF7D0FEF8BDFFE705062BD5B5
:1012A000150629D594F841002128F5D1A068B0F59C
:1012B000805F01D12069B0B1206A411C21622168A0
:1012C00000784860E08C401E0004000CE084E3D10C
:1012D0002068C16821F08001C1602068C16841F0C8
:1012E0004001C160D8E7206A0088C0F30800486068
:1012F000206A801C2062E5E74006CDD55006CBD59C
:10130000CA68204622F04002CA6084F8413000F0EA
:1013100000F9C1E79916000870B5040004D094F8EC
:101320004100002510B106E0012070BD84F8405056
:10133000204600F023F8242084F841002068C1688A
:1013400021F40051C160204600F0BCFA2068016918
:1013500021F4904101612068416921F02A01416135
:101360002068C16841F40051C1606564202084F8A0
:10137000410084F842006563002070BDF0B585B07F
:1013800000240646009401940294039400682D49B9
:10139000884254D12C48816941F48041816181693E
:1013A00001F480410491816941F004018161806907
:1013B000264D00F0040004904FF4007000900220CD
:1013C00001900320039069462846FFF72FFA28155D
:1013D000CDE90004694628460294FFF727FA1D4D1F
:1013E0001B488027C5E90004C5E902472C616C61F0
:1013F000AC612846EC61FFF72FF908B1FEF793FFC7
:10140000F5636E62134D12484435143801C510203F
:1014100091C5104845F8104944306C61AC61EC61ED
:10142000FFF71AF908B1FEF77EFFB5630022062127
:1014300025206E62FFF74EFB2520FFF73DFB05B030
:10144000F0BD0000003801400010024000080140DB
:10145000580002407C04002090F84230202B01D03C
:101460000220704721B11AB10023036300F086BA4D
:1014700001207047704770472DE9F843044690F803
:1014800041001F4616460D46202802D00220BDE826
:10149000F8837DB176B100206064212084F841009A
:1014A000FFF7B4FAA6848046E684A068B0F5805FB2
:1014B00002D003E00120EAE7206910B12E460025A2
:1014C0000EE000260CE08021204600F09FFAA0B933
:1014D000AEB116F8010B21684860E08C401EE08434
:1014E000E08C43464FF0000200970028EBD14FF00C
:1014F0004001204600F08AFA30B10320C7E735F8F2
:10150000020BC0F30800E6E7202084F84100002029
:10151000BDE77047FEE700000D4808B5416941F09E
:10152000010141614069002200F0010000900621A4
:101530000E20FFF7CFFA0E20FFF7BEFA0022062199
:101540000F20FFF7C7FABDE808400F20FFF7B4BA35
:10155000001002400D4808B5816941F01001816119
:10156000816901F010010091816941F020018161E0
:10157000816901F020010091816941F004018161DC
:10158000806900F00400009008BD000000100240D7
:101590000C4810B50A4901604FF47A3141600021CE
:1015A00081600C22C160C0E904128161C161FFF752
:1015B000B3FE002803D0BDE81040FEF7B4BE10BD56
:1015C0000038014034040020FEE7FEE77047704712
:1015D00010B507A000F0C6FA0BA000F0C3FA0EA0E9
:1015E00000F0C0FABDE810400FA000F0BBBA000048
:1015F000456E74657220426F6F744C6F61646572E2
:10160000204D6F64650A0000202020202020204DFE
:10161000656E750A00000000312E45617273652009
:10162000466C6173680A0000322E5265626F6F74F7
:10163000200A0000FFF7F0B930B58FB028216846C6
:10164000FEF78DFD14210AA8FEF789FD012108048B
:10165000CDE900100024029402250491CDE9075041
:101660004FF4E01009906846FFF742FB08B172B6EC
:10167000FEE70F20CDE90A054FF48060CDE90C406C
:1016800002210AA80E94FFF757FA002801D072B67B
:10169000FEE70FB030BD704710B5406A0021C1852C
:1016A000C184FFF702FD10BD70B5446A206840692F
:1016B00094F84110C0F3C0100025212904D118B1BD
:1016C000E584204600F08EF82068406994F84210C6
:1016D000C0F38010222904D118B1E585204600F01E
:1016E0005AF8606C40F0100060642046FFF7DDFCA3
:1016F00070BD10B50146406A096809684FF00002E4
:1017000089062ED4C28501680C3151E8003F23F4CC
:10171000807341E80034002CF5D10168143151E8A0
:10172000003F23F0010341E80034002CF5D10168AB
:10173000143151E8003F23F0400341E80034002C0D
:10174000F5D1202180F84210016B012909D10168EF
:101750000C3151E8003F23F0100341E80034002C25
:10176000F5D14263016B012902D0FFF783FE10BD62
:10177000818DFFF761FC10BD10B5406A0121416306
:10178000016B012902D0FFF776FE10BD818D49085B
:10179000FFF752FC10BD01680C3151E8002F22F414
:1017A000907241E80023002BF5D10168143151E813
:1017B000002F22F0010241E80023002BF5D1016B3C
:1017C000012909D101680C3151E8002F22F01002E3
:1017D00041E80023002BF5D1202180F842100021A0
:1017E0000163704701680C3151E8002F22F0C002FC
:1017F00041E80023002BF5D1202180F841107047EB
:1018000008B590F84210222901D0022008BD826854
:101810004FF480539A4201D1016921B1816A9A4201
:101820001BD04AB10AE00268816A5268C2F308021A
:101830000A80816A891C08E0026972B102685268F4
:1018400002F07F020A70816A491C8162C18D491EC3
:101850000904090CC18503D01BE002685268F1E756
:101860000168CA6822F02002CA600168CA6822F4CE
:101870008072CA6001684A6922F001024A6120212F
:1018800080F8421000214163026B012A03D0FFF768
:10189000F1FD002008BD016301680C3151E8002F03
:1018A00022F0100241E80023002BF5D101680A68FC
:1018B000D20602D50A6849680091818DFFF7BCFB0A
:1018C000E7E7000070B5044600680169E26821F4AA
:1018D0004051114301612169A068084361690843CF
:1018E0002168CA6841F20C639A430243CA602068C7
:1018F0004169A26921F44071114341611E49206888
:10190000884202D1FFF7BEF901E0FFF7ABF900EB27
:10191000C00101EB0012606864218000B2FBF0F3AB
:10192000B3FBF1F36FF018067343B2FBF0F5B2FBB3
:10193000F0F605EB8305322303EB0515B5FBF1F556
:10194000B6FBF1F605F0F00505EB0615B2FBF0F677
:10195000B2FBF0F0B0FBF1F06FF01802504306EB71
:10196000800003EB0010B0FBF1F0216800F00F00E5
:101970002844886070BD00000038014038B581629D
:1019800004468285002013466064222284F84220A7
:10199000E56B1B4AAA62E56B1A4AEA62E56B1A4AD2
:1019A0002A63E26B50630A462168E06B091DFEF76B
:1019B00081FE2068016840680090206948B1206875
:1019C0000C3050E8001F41F4807140E80012002AFA
:1019D000F5D12068143050E8001F41F0010140E8C3
:1019E0000012002AF5D12068143050E8001F41F0A1
:1019F000400140E80012002AF5D1002038BD000067
:101A0000F316000879170008A91600082DE9F0411F
:101A1000984617460E460446069D27E0681C25D0CA
:101A20002DB1FEF7F3FFA0EB0800A8421ED92068F5
:101A30000C3050E8001F21F4D07140E80012002A59
:101A4000F5D12068143050E8001F21F0010140E872
:101A50000012002AF5D1202084F8410084F84200C9
:101A6000002084F840000320BDE8F0812068006871
:101A700036EA000004D00020B842CFD00020F3E7BF
:101A80000120F9E710B52D4C8EB020680068C043E6
:101A9000C00640D42068016840680D902046FFF7DA
:101AA000CCFAE06B006840683421A0F21A40404252
:101AB00084B26846FEF753FB322C09D800206946F1
:101AC0001F4A03E0135C0B54401CC0B2A042F9D380
:101AD000092C02D0012C0BD017E01AA16846FEF7A2
:101AE00049FB90B91A48017879B9012101700CE0DD
:101AF0009DF80000312802D0322812D005E00121E3
:101B00001448FEF7FBFBFFF763FD40F21A420C4955
:101B10000A48FFF7A1FC0EB00848BDE81040FFF7E7
:101B2000C5BABFF34F8F0C4801680C4A01F4E0615D
:101B300011430160BFF34F8F00BFFDE73404002065
:101B400018000020456E746572426F6F74000000CB
:101B500000000020004000080CED00E00400FA0541
:101B6000FEE700000FB4054B10B503A9044A029824
:101B700000F028F810BC5DF814FB0000851E00087A
:101B8000140000200907090E002804DB00F1E02002
:101B900080F80014704700F00F0000F1E02080F89A
:101BA000141D704702E008C8121F08C1002AFAD1AC
:101BB00070477047002001E001C1121F002AFBD1CD
:101BC000704700002DE9FF4F8DB09B460F4604463D
:101BD000002606E025280BD05A460F999047641C32
:101BE000761C20780028F5D111B03046BDE8F08F82
:101BF0000025A8460122984900E0054314F8013F5A
:101C0000203B02FA03F00842F7D120782E2817D1A2
:101C100014F8010F45F004052A280ED06FF02F02AA
:101C20002078A0F1300109290AD808EB880102EBDD
:101C3000410100EB0108641CF2E757F8048B641CB7
:101C400020786C280DD004DC4C2812D06A2811D1E1
:101C500004E074280DD07A280CD10AE045F4001570
:101C600007E0617845F48015814202D1641C05F5D6
:101C70008015641C2078692844D008DC0028B3D083
:101C8000582867D063280FD0642808D13AE070281C
:101C900065D0732812D075285AD078285AD05A4661
:101CA0000F999047761CD5E017F8040B8DF80000CB
:101CB00000208DF80100E946012003E057F8049B5D
:101CC0004FF0FF3069074FF0000501D40AE06D1CAA
:101CD00045450DDA8542FADB19F805100029F6D1E1
:101CE00006E06D1C8542FCDB19F805100029F8D1CF
:101CF0002E4404E019F8010B5A460F9990476D1EC7
:101D0000F8D2A7E00A200021CDE90801C5F302506E
:101D100002280CD001CFC117021E71F100020CDAAB
:101D20000023D0EB030063EB01012D2208E0FF1D2F
:101D300027F00707F7E80201EEE72A0504D52B2272
:101D40008DF8282001223CE0EA073AD02022F7E76C
:101D50000A2000E010200021CDE9080107E0102052
:101D6000002145F00405CDE908014FF00808C5F34E
:101D70000250022810D001CF00214FF0000A2A079C
:101D800020D52278702A0DD0DDE908C38CF0100C24
:101D90005CEA030C0CD015E0FF1D27F00707F7E8FD
:101DA0000201EAE740228DF828204FF0010A0CE0FA
:101DB00050EA010306D030238DF828308DF8292011
:101DC000022292462278582A04D024A20DF120093A
:101DD0000B9209E026A2F9E7DDE90823FEF7D8F91E
:101DE0000B9B9B5C09F8013D50EA0102F4D1ADEB7D
:101DF000090020300890680701D44FF001080899C5
:101E0000884503DD0898A8EB000000E0002080462C
:101E1000002506E00AA85A46405D0F9990476D1CC0
:101E2000761C5545F6DB04E030205A460F99904762
:101E3000761CB8F10001A8F10108F5DC05E019F8FD
:101E4000010B5A460F999047761C0899481E089036
:101E50000029F4DC641CC4E6092801003031323367
:101E600034353637383961626364656600000000D6
:101E700030313233343536373839414243444546C0
:101E80000000000038B504468DF800004FF6FF73DF
:101E9000012269460248FFF7EFFA204638BD0000EC
:101EA00034040020FEF7C0FDFFF7C6FBFFF752FB2E
:101EB000FFF732FBFFF76CFB16480068C16841F082
:101EC0001001C16040F21A4213491248FFF7C4FAE8
:101ED00012A0FFF747FE40F6B830FEF723FC19A02A
:101EE000FFF740FEFEF7A8F91A4D4FF47A7600246A
:101EF0003046FEF717FC2878641C012807D0032C15
:101F0000F6DB10A0FFF72EFEFEF796F9EFE7FFF7DE
:101F10005FFBFEE73404002018000020456E746566
:101F20007220426F6F744C6F616465722062792019
:101F3000586958694361694E69616F2D4353444E36
:101F4000200A0000417070204C6F6164696E670A5E
:101F50000000000000000020010202030405060743
:101F600008090A0B0C0D0E0F1010000000000000F5
:101F70000000010203040607080900000000010236
:101F800003040000A41F0008000000201800000047
:101F9000A41B0008BC1F0008180000201009000046
:101FA000B41B000800000000010000001000000049
:0C1FB000000000000024F400000000000D
:04000005080000ED02
:020000040800F2
:104000007006002089410008EB4A0008854A000834
:10401000E94A00088F420008574B000800000000E2
:10402000000000000000000000000000EF4A00084F
:104030009142000800000000ED4A0008F14A000823
:10404000A3410008A3410008A3410008A3410008C0
:10405000A3410008A3410008A3410008A3410008B0
:10406000A3410008A3410008A3410008A3410008A0
:10407000A3410008A3410008A3410008A341000890
:10408000A3410008A3410008A3410008A341000880
:10409000A3410008A3410008A3410008A341000870
:1040A000A3410008A3410008A3410008A341000860
:1040B000A3410008A3410008A3410008A341000850
:1040C000A3410008A3410008A3410008A341000840
:1040D000A3410008A3410008A3410008A341000830
:1040E000A3410008A3410008A341000800F002F822
:1040F00000F03AF80AA090E8000C82448344AAF148
:104100000107DA4501D100F02FF8AFF2090EBAE845
:104110000F0013F0010F18BFFB1A43F001031847FB
:10412000BC0A0000DC0A0000103A24BF78C878C13D
:10413000FAD8520724BF30C830C144BF04680C60AD
:10414000704700000023002400250026103A28BFF5
:1041500078C1FBD8520728BF30C148BF0B607047F9
:104160001FB51FBD10B510BD00F058F81146FFF780
:10417000F7FF00F001FD00F076F803B4FFF7F2FF5F
:1041800003BC00F07DF8000009488047094800475B
:10419000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7F7
:1041A000FEE7FEE704480549054A064B7047000054
:1041B000554B0008ED4000087000002070060020FC
:1041C00070020020700200204FF0000200B513467C
:1041D00094469646203922BFA0E80C50A0E80C5027
:1041E000B1F12001BFF4F7AF090728BFA0E80C50D8
:1041F00048BF0CC05DF804EB890028BF40F8042BD1
:1042000008BF704748BF20F8022B11F0804F18BF3D
:1042100000F8012B7047704770477047754600F0F3
:104220002BF8AE4605006946534620F00700854648
:1042300018B020B5FFF7B6FFBDE820404FF00006EC
:104240004FF000074FF000084FF0000B21F007017E
:10425000AC46ACE8C009ACE8C009ACE8C009ACE8C1
:10426000C0098D46704710B50446AFF30080204664
:10427000BDE81040FFF781BF0048704710000020E4
:1042800001491820ABBEFEE7260002007047FEE79A
:104290007047000070B5044600F00CF90546601C3C
:1042A00002D004480078044400F004F9401BA04206
:1042B000FAD370BD000000202DE9F84FDFF8B89167
:1042C0000024A9F1040B23460F2709F1040AABF1DE
:1042D000040EC9E00125A5402A40AA427DD1674EBF
:1042E000D1F804C0ACEB0608B44532D014DCBCF104
:1042F000030F3AD009DCBCF1000F2AD0BCF1010F4A
:104300001CD0BCF1020F31D11DE0BCF1110F17D050
:10431000BCF1120F2AD119E0B8F5881F19D006DCBC
:10432000B8F5803F15D0B8F5801F1FD111E0B8F562
:10433000001F0ED0B8F5041F18D10AE0CB6815E0B5
:10434000CB681B1D12E0CB6808330FE0CB680C3341
:104350000CE08B682BB1012B4FF0080303D04561B3
:1043600004E0042302E0056100E00023FF2A01D8F5
:10437000064601E000F104064FEA840501D9A5F1E3
:104380002005D6F8008007FA05FC28EA0C0803FA95
:1043900005F548EA0508C6F800804D68ED0062D5CD
:1043A000374DAE6946F00106AE61AD6924F00306F3
:1043B00005F001050095334D06EB050CDCF80850BF
:1043C000A607360F07FA06F825EA0805DFF8B880D1
:1043D000404503D14FF0000817E044E0DFF8AC801F
:1043E000404502D14FF001080FE0DFF8A4804045BE
:1043F00002D14FF0020808E0DFF89880404502D172
:104400004FF0030801E04FF0040808FA06F848EA04
:104410000508CCF808804D68D9F80060ED024D46DB
:1044200001D5164300E096432E604D68DAF800602F
:10443000AD02554601D5164300E096432E604D6807
:10444000DBF80060AD035D4601D5164300E09643FE
:104450002E604D68DEF80060ED03754601D5164309
:1044600000E096432E60641C0D682A46E5407FF408
:1044700031AFBDE8F88F00000804014000001110C2
:10448000001002400000014000080140000C014003
:104490000010014000140140C26821EA02030A40F2
:1044A00043EA0241016170470AB1016170470904A2
:1044B000FBE7000001488068704700000000002012
:1044C0000248816802781144816070470000002032
:1044D000074810B5016841F010010160032000F0A9
:1044E0005FF80F2000F006F800F024F8002010BD5F
:1044F0000020024070B50D4D04464FF47A712878C3
:10450000B1FBF0F00A490968B1FBF0F000F0A6FA3F
:1045100048B9102C07D200222146501E00F020F886
:1045200000206C6070BD012070BD00000000002004
:104530000C000020094808B5816941F00101816142
:10454000816901F001010091C16941F08051C161AF
:10455000C06900F08050009008BD000000100240CB
:10456000F0B40E4B1B680C46C3F30223C3F10705DE
:10457000042D00D90425191D072901D2002300E0CC
:10458000DB1E012606FA05F1491E214099409E4096
:10459000761E16403143F0BC00F0DEBA0CED00E0B0
:1045A000064900F0070208684FF6FF03184040EA8A
:1045B0000220034A10430860704700000CED00E041
:1045C0000000FA052DE9F0470F46050061D0434E83
:1045D000306800F00700B84209D2306820F00700C8
:1045E00038433060306800F00700B84251D1286885
:1045F0003B4C810712D5400703D5606840F4E0606A
:1046000060602878000703D5606840F460506060FF
:104610006068A96820F0F000084360602878C0074F
:1046200028D06868012810D02168022810D0890796
:1046300000292EDA616821F0030101436160FFF770
:1046400039FF804641F288390DE021688903EFE7A0
:104650008901EDE7FFF72EFFA0EB0801494502D9DC
:104660000320BDE8F0876068696800F00C00B0EBDB
:10467000810FEFD1306800F00700B8420BD93068E5
:1046800020F0070038433060306800F00700B8427F
:1046900001D00120E5E72878400705D56068E96882
:1046A00020F4E060084360602878000706D5606861
:1046B000296920F4605040EAC100606000F018F8F9
:1046C0006168084AC1F30311515CC840064908609B
:1046D00006480068FFF70EFF0020C2E700200240F6
:1046E00000100240CA4B00080C000020040000200B
:1046F0000E4A51680E4801F00C03042B11D0082B10
:104700000FD10C48C1F38343C903C05C0AD551687B
:10471000084AC1F34041921E515C054A5043B0FB28
:10472000F1F0704704494843704700000010024010
:1047300000127A00BA4B000800093D002DE9F84F3D
:10474000040070D02078C04DC00749D06868C0F31D
:104750008100012807D06868C0F38100022809D1D0
:104760006868C00306D52868800339D560680028CA
:10477000E7D035E06068B0F5803F0BD010B1B0F500
:10478000A02F11D0286820F480302860286820F4F9
:10479000802002E0286840F480302860606890B192
:1047A000FFF788FE06460AE0286840F4802028606B
:1047B000F0E700BFFFF77EFE801B642873D82868EF
:1047C0008003F7D50CE0FFF775FE064605E000BF55
:1047D000FFF770FE801B6428F0D828688003F7D4A8
:1047E00020789A4E80074FF001094FF0000839D524
:1047F000686810F00C0F07D06868C0F381000228C9
:1048000009D16868C00306D42868800714D52069D8
:10481000012808D110E02069B0B1C6F80090FFF778
:1048200049FE074605E00AE1FFF744FEC01B0228E7
:10483000C4D828688007F7D52868616920F0F80097
:1048400040EAC10028600DE0C6F80080FFF732FEA4
:10485000074604E0FFF72EFEC01B022823D8286875
:104860008007F7D4207800072CD57948A169D9B101
:10487000C0F80090FFF71EFE074604E0FFF71AFE9F
:10488000C01B02280FD8686A8007F7D571484FF41B
:10489000FA510068B0FBF1F0009000BF0098411E93
:1048A0000091FAD20EE080E0C0F80080FFF702FE2F
:1048B000074604E0FFF7FEFDC01B022875D8686AB2
:1048C0008007F7D42078400760D5E8690027C0004A
:1048D00008D4E86940F08050E861E869012700F0F9
:1048E000805000905C480168C90513D40168834674
:1048F00041F480710160FFF7DDFD824606E000BFF4
:10490000FFF7D8FDA0EB0A0064284ED8DBF80000C2
:10491000C005F5D5E06801280AD008B1052813D0F4
:10492000286A20F001002862286A20F0040002E0D2
:10493000286A40F001002862E06841F2883B98B1A3
:10494000FFF7B8FD82460BE0286A40F004002862B9
:10495000EEE700BFFFF7AEFDA0EB0A0159455AD8BC
:10496000286A8007F6D50CE0FFF7A4FD824605E033
:10497000FFF7A0FDA0EB0A0159454CD8286A800733
:10498000F6D41FB1E86920F08050E861E06988B38F
:104990006968C1F38101022944D00228C6F8608009
:1049A00004D0FFF787FD044638E034E0FFF782FDCE
:1049B000074604E0FFF77EFDC01B02282BD82868BD
:1049C0008001F7D4206AB0F5803F05D16868A168FE
:1049D00020F4003008436860D4E90801084369689E
:1049E00021F4741108436860C6F86090FFF762FD17
:1049F000044606E025E000BFFFF75CFD001B02282F
:104A000009D828688001F7D51BE000BFFFF752FDE9
:104A1000001B022802D90320BDE8F88F2868800116
:104A2000F4D40EE00128F7D06868226A00F48031DF
:104A3000914204D1616A00F47010884201D00120D3
:104A4000EAE70020E8E700000010024000004242D0
:104A5000800442420C0000200070004010B5401E4F
:104A6000B0F1807F01D3012010BD4FF0E0246061E0
:104A70000F21601700F070F80020A061072020616E
:104A8000002010BDFEE7000070B586B00024144879
:104A90000094019402940394816941F010018161B2
:104AA000816901F010010491816941F02001816167
:104AB00080690C4E00F020004FF400550490002255
:104AC00029463046FFF7F0FC01200095CDE90104AE
:104AD0000220039069463046FFF7EEFB06B070BD3A
:104AE0000010024000100140FEE7FEE770477047EB
:104AF000FFF7E6BC30B58FB028216846FFF764FBAE
:104B000014210AA8FFF760FB01204FF4A021002424
:104B10008DE81300049002250004CDE907504FF4FE
:104B2000E01009906846FFF709FE08B172B6FEE78B
:104B30000F20CDE90A054FF48060CDE90C40022139
:104B40000AA80E94FFF73EFD002801D072B6FEE7DA
:104B50000FB030BD7047FEE70907090E002804DBDF
:104B600000F1E02080F80014704700F00F0000F121
:104B7000E02080F8141D7047FFF7AAFCFFF7BAFF8A
:104B80000B490A480860002080F31088FFF77CFF7B
:104B9000084E4FF47A744FF400552046FFF77AFB25
:104BA00029463046FFF778FCF7E700000040000890
:104BB00008ED00E0001001400102020304050607B1
:104BC00008090A0B0C0D0E0F101000000000000069
:104BD000000001020304060708090000FC4B00085E
:104BE0000000002010000000284100080C4C0008C4
:104BF0001000002060060000444100080100000091
:0C4C000010000000000000000024F40080
:04000005080040EDC2
:020000040800F2
:104000007006002089410008EB4A0008854A000834
:10401000E94A00088F420008574B000800000000E2
:10402000000000000000000000000000EF4A00084F
:104030009142000800000000ED4A0008F14A000823
:10404000A3410008A3410008A3410008A3410008C0
:10405000A3410008A3410008A3410008A3410008B0
:10406000A3410008A3410008A3410008A3410008A0
:10407000A3410008A3410008A3410008A341000890
:10408000A3410008A3410008A3410008A341000880
:10409000A3410008A3410008A3410008A341000870
:1040A000A3410008A3410008A3410008A341000860
:1040B000A3410008A3410008A3410008A341000850
:1040C000A3410008A3410008A3410008A341000840
:1040D000A3410008A3410008A3410008A341000830
:1040E000A3410008A3410008A341000800F002F822
:1040F00000F03AF80AA090E8000C82448344AAF148
:104100000107DA4501D100F02FF8AFF2090EBAE845
:104110000F0013F0010F18BFFB1A43F001031847FB
:10412000BC0A0000DC0A0000103A24BF78C878C13D
:10413000FAD8520724BF30C830C144BF04680C60AD
:10414000704700000023002400250026103A28BFF5
:1041500078C1FBD8520728BF30C148BF0B607047F9
:104160001FB51FBD10B510BD00F058F81146FFF780
:10417000F7FF00F001FD00F076F803B4FFF7F2FF5F
:1041800003BC00F07DF8000009488047094800475B
:10419000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7F7
:1041A000FEE7FEE704480549054A064B7047000054
:1041B000554B0008ED4000087000002070060020FC
:1041C00070020020700200204FF0000200B513467C
:1041D00094469646203922BFA0E80C50A0E80C5027
:1041E000B1F12001BFF4F7AF090728BFA0E80C50D8
:1041F00048BF0CC05DF804EB890028BF40F8042BD1
:1042000008BF704748BF20F8022B11F0804F18BF3D
:1042100000F8012B7047704770477047754600F0F3
:104220002BF8AE4605006946534620F00700854648
:1042300018B020B5FFF7B6FFBDE820404FF00006EC
:104240004FF000074FF000084FF0000B21F007017E
:10425000AC46ACE8C009ACE8C009ACE8C009ACE8C1
:10426000C0098D46704710B50446AFF30080204664
:10427000BDE81040FFF781BF0048704710000020E4
:1042800001491820ABBEFEE7260002007047FEE79A
:104290007047000070B5044600F00CF90546601C3C
:1042A00002D004480078044400F004F9401BA04206
:1042B000FAD370BD000000202DE9F84FDFF8B89167
:1042C0000024A9F1040B23460F2709F1040AABF1DE
:1042D000040EC9E00125A5402A40AA427DD1674EBF
:1042E000D1F804C0ACEB0608B44532D014DCBCF104
:1042F000030F3AD009DCBCF1000F2AD0BCF1010F4A
:104300001CD0BCF1020F31D11DE0BCF1110F17D050
:10431000BCF1120F2AD119E0B8F5881F19D006DCBC
:10432000B8F5803F15D0B8F5801F1FD111E0B8F562
:10433000001F0ED0B8F5041F18D10AE0CB6815E0B5
:10434000CB681B1D12E0CB6808330FE0CB680C3341
:104350000CE08B682BB1012B4FF0080303D04561B3
:1043600004E0042302E0056100E00023FF2A01D8F5
:10437000064601E000F104064FEA840501D9A5F1E3
:104380002005D6F8008007FA05FC28EA0C0803FA95
:1043900005F548EA0508C6F800804D68ED0062D5CD
:1043A000374DAE6946F00106AE61AD6924F00306F3
:1043B00005F001050095334D06EB050CDCF80850BF
:1043C000A607360F07FA06F825EA0805DFF8B880D1
:1043D000404503D14FF0000817E044E0DFF8AC801F
:1043E000404502D14FF001080FE0DFF8A4804045BE
:1043F00002D14FF0020808E0DFF89880404502D172
:104400004FF0030801E04FF0040808FA06F848EA04
:104410000508CCF808804D68D9F80060ED024D46DB
:1044200001D5164300E096432E604D68DAF800602F
:10443000AD02554601D5164300E096432E604D6807
:10444000DBF80060AD035D4601D5164300E09643FE
:104450002E604D68DEF80060ED03754601D5164309
:1044600000E096432E60641C0D682A46E5407FF408
:1044700031AFBDE8F88F00000804014000001110C2
:10448000001002400000014000080140000C014003
:104490000010014000140140C26821EA02030A40F2
:1044A00043EA0241016170470AB1016170470904A2
:1044B000FBE7000001488068704700000000002012
:1044C0000248816802781144816070470000002032
:1044D000074810B5016841F010010160032000F0A9
:1044E0005FF80F2000F006F800F024F8002010BD5F
:1044F0000020024070B50D4D04464FF47A712878C3
:10450000B1FBF0F00A490968B1FBF0F000F0A6FA3F
:1045100048B9102C07D200222146501E00F020F886
:1045200000206C6070BD012070BD00000000002004
:104530000C000020094808B5816941F00101816142
:10454000816901F001010091C16941F08051C161AF
:10455000C06900F08050009008BD000000100240CB
:10456000F0B40E4B1B680C46C3F30223C3F10705DE
:10457000042D00D90425191D072901D2002300E0CC
:10458000DB1E012606FA05F1491E214099409E4096
:10459000761E16403143F0BC00F0DEBA0CED00E0B0
:1045A000064900F0070208684FF6FF03184040EA8A
:1045B0000220034A10430860704700000CED00E041
:1045C0000000FA052DE9F0470F46050061D0434E83
:1045D000306800F00700B84209D2306820F00700C8
:1045E00038433060306800F00700B84251D1286885
:1045F0003B4C810712D5400703D5606840F4E0606A
:1046000060602878000703D5606840F460506060FF
:104610006068A96820F0F000084360602878C0074F
:1046200028D06868012810D02168022810D0890796
:1046300000292EDA616821F0030101436160FFF770
:1046400039FF804641F288390DE021688903EFE7A0
:104650008901EDE7FFF72EFFA0EB0801494502D9DC
:104660000320BDE8F0876068696800F00C00B0EBDB
:10467000810FEFD1306800F00700B8420BD93068E5
:1046800020F0070038433060306800F00700B8427F
:1046900001D00120E5E72878400705D56068E96882
:1046A00020F4E060084360602878000706D5606861
:1046B000296920F4605040EAC100606000F018F8F9
:1046C0006168084AC1F30311515CC840064908609B
:1046D00006480068FFF70EFF0020C2E700200240F6
:1046E00000100240CA4B00080C000020040000200B
:1046F0000E4A51680E4801F00C03042B11D0082B10
:104700000FD10C48C1F38343C903C05C0AD551687B
:10471000084AC1F34041921E515C054A5043B0FB28
:10472000F1F0704704494843704700000010024010
:1047300000127A00BA4B000800093D002DE9F84F3D
:10474000040070D02078C04DC00749D06868C0F31D
:104750008100012807D06868C0F38100022809D1D0
:104760006868C00306D52868800339D560680028CA
:10477000E7D035E06068B0F5803F0BD010B1B0F500
:10478000A02F11D0286820F480302860286820F4F9
:10479000802002E0286840F480302860606890B192
:1047A000FFF788FE06460AE0286840F4802028606B
:1047B000F0E700BFFFF77EFE801B642873D82868EF
:1047C0008003F7D50CE0FFF775FE064605E000BF55
:1047D000FFF770FE801B6428F0D828688003F7D4A8
:1047E00020789A4E80074FF001094FF0000839D524
:1047F000686810F00C0F07D06868C0F381000228C9
:1048000009D16868C00306D42868800714D52069D8
:10481000012808D110E02069B0B1C6F80090FFF778
:1048200049FE074605E00AE1FFF744FEC01B0228E7
:10483000C4D828688007F7D52868616920F0F80097
:1048400040EAC10028600DE0C6F80080FFF732FEA4
:10485000074604E0FFF72EFEC01B022823D8286875
:104860008007F7D4207800072CD57948A169D9B101
:10487000C0F80090FFF71EFE074604E0FFF71AFE9F
:10488000C01B02280FD8686A8007F7D571484FF41B
:10489000FA510068B0FBF1F0009000BF0098411E93
:1048A0000091FAD20EE080E0C0F80080FFF702FE2F
:1048B000074604E0FFF7FEFDC01B022875D8686AB2
:1048C0008007F7D42078400760D5E8690027C0004A
:1048D00008D4E86940F08050E861E869012700F0F9
:1048E000805000905C480168C90513D40168834674
:1048F00041F480710160FFF7DDFD824606E000BFF4
:10490000FFF7D8FDA0EB0A0064284ED8DBF80000C2
:10491000C005F5D5E06801280AD008B1052813D0F4
:10492000286A20F001002862286A20F0040002E0D2
:10493000286A40F001002862E06841F2883B98B1A3
:10494000FFF7B8FD82460BE0286A40F004002862B9
:10495000EEE700BFFFF7AEFDA0EB0A0159455AD8BC
:10496000286A8007F6D50CE0FFF7A4FD824605E033
:10497000FFF7A0FDA0EB0A0159454CD8286A800733
:10498000F6D41FB1E86920F08050E861E06988B38F
:104990006968C1F38101022944D00228C6F8608009
:1049A00004D0FFF787FD044638E034E0FFF782FDCE
:1049B000074604E0FFF77EFDC01B02282BD82868BD
:1049C0008001F7D4206AB0F5803F05D16868A168FE
:1049D00020F4003008436860D4E90801084369689E
:1049E00021F4741108436860C6F86090FFF762FD17
:1049F000044606E025E000BFFFF75CFD001B02282F
:104A000009D828688001F7D51BE000BFFFF752FDE9
:104A1000001B022802D90320BDE8F88F2868800116
:104A2000F4D40EE00128F7D06868226A00F48031DF
:104A3000914204D1616A00F47010884201D00120D3
:104A4000EAE70020E8E700000010024000004242D0
:104A5000800442420C0000200070004010B5401E4F
:104A6000B0F1807F01D3012010BD4FF0E0246061E0
:104A70000F21601700F070F80020A061072020616E
:104A8000002010BDFEE7000070B586B00024144879
:104A90000094019402940394816941F010018161B2
:104AA000816901F010010491816941F02001816167
:104AB00080690C4E00F020004FF400550490002255
:104AC00029463046FFF7F0FC01200095CDE90104AE
:104AD0000220039069463046FFF7EEFB06B070BD3A
:104AE0000010024000100140FEE7FEE770477047EB
:104AF000FFF7E6BC30B58FB028216846FFF764FBAE
:104B000014210AA8FFF760FB01204FF4A021002424
:104B10008DE81300049002250004CDE907504FF4FE
:104B2000E01009906846FFF709FE08B172B6FEE78B
:104B30000F20CDE90A054FF48060CDE90C40022139
:104B40000AA80E94FFF73EFD002801D072B6FEE7DA
:104B50000FB030BD7047FEE70907090E002804DBDF
:104B600000F1E02080F80014704700F00F0000F121
:104B7000E02080F8141D7047FFF7AAFCFFF7BAFF8A
:104B80000B490A480860002080F31088FFF77CFF7B
:104B9000084E4FF47A744FF400552046FFF77AFB25
:104BA00029463046FFF778FCF7E700000040000890
:104BB00008ED00E0001001400102020304050607B1
:104BC00008090A0B0C0D0E0F101000000000000069
:104BD000000001020304060708090000FC4B00085E
:104BE0000000002010000000284100080C4C0008C4
:104BF0001000002060060000444100080100000091
:0C4C000010000000000000000024F40080
:04000005080040EDC2
:00000001FF

四、使用FlyMcu烧录

        现在打开FlyMcu,烧录我们修改后的Boot文件。使用FlyMcu需要将Boot0引脚由低电平换到高电平复位,烧写完成后再换回低电平复位。

        Boot0换回低电平复位,打开串口调试助手,查看输出信息。可以看到烧写成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1949868.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QML ListView snapMode

属性: snapMode 此属性确定视图滚动在拖动或轻拂之后的解决方式 NoSnap:列表滚动停止时可以停在任意位置,即便第一项显示不全 SnapToItem:当放开鼠标时,移动距离超过半个Item时,自动滑动到下一个Item,否则自动滑动回…

Unity中有关Animation的一点笔记

也许更好的阅读体验 Animation Unity中Animation类并不是直接记载了和播放动画有关的信息,可以简单理解Animation为一个动画播放器,播放的具体内容就像卡带一样,当我们有了卡带后我们可以播放动画。 对应的则是编辑器中的组件 所以Anima…

一文解决 | Linux(Ubuntn)系统安装 | 硬盘挂载 | 用户创建 | 生信分析配置

原文链接:一文解决 | Linux(Ubuntn)系统安装 | 硬盘挂载 | 用户创建 | 生信分析配置 本期教程 获得本期教程文本文档,在后台回复:20240724。请大家看清楚回复关键词,每天都有很多人回复错误关键词&#xf…

ffmpeg ffplay.c 源码分析二:数据读取线程

本章主要是分析 数据读取线程read_thread 中的工作。如上图红色框框的部分 从ffplay框架分析我们可以看到,ffplay有专⻔的线程read_thread()读取数据, 且在调⽤av_read_frame 读取数据包之前需要做: 1.例如打开⽂件, 2.查找配置解…

Springboot集成Elasticsearch High Level REST Client实现增删改查实战

获取源码🚩 需要完整代码资料,请一键三连后评论区留下邮箱,安排发送!!!🤖 什么是High Level REST Client? Elasticsearch 的 High Level REST Client 是一个用于与 Elasticsearch…

科技与占星的融合:AI 智能占星师

本文由 ChatMoney团队出品 在科技的前沿领域,诞生了一位独特的存在——AI占星师。它并非传统意义上的占星师,而是融合了先进的人工智能技术与神秘的占星学知识。 这能够凭借其强大的数据分析能力和精准的算法,对星辰的排列和宇宙的能量进行深…

在IDEA中切换分支没有反应

说明:记录一次在IDEA中切换分支没有反应的情况,新建一个分支后,准备暂存代码,切换到其他分支去,发现怎么切都没有反应,也没有切过去; 解决:首先,我想到是不是当前新分支…

18.jdk源码阅读之CopyOnWriteArrayList

1. 写在前面 CopyOnWriteArrayList 是 Java 中的一种线程安全的 List 实现,基于“写时复制”(Copy-On-Write)机制。下面几个问题大家可以先思考下,在阅读源码的过程中都会解答: CopyOnWriteArrayList 适用于哪些场景…

【微信小程序实战教程】之微信小程序 WXML 语法详解

WXML语法基础 从本章开始,我们就正式进入到了小程序项目开发学习的初级阶段,本章将介绍小程序的界面构成。有过网页开发学习经历的同学都知道,网页开发所使用的技术是HTML、CSS和JS,其中HTML用于描述整个网页的结构,也…

谷粒商城实战笔记-59-商品服务-API-品牌管理-使用逆向工程的前后端代码

文章目录 一, 使用逆向工程生成的代码二,生成品牌管理菜单三,几个小问题 在本次的技术实践中,我们利用逆向工程的方法成功地为后台管理系统增加了品牌管理功能。这种开发方式不仅能快速地构建起功能模块,还能在一定程度…

【前端学习】CSS三大特性

CSS三大特性 CSS的三大特性是为了化简代码、定位问题并且解决问题 继承性 继承性特点&#xff1a; 子级默认继承父级的文字控制属性。注意&#xff1a;如果标签自己有样式则生效自己的样式&#xff0c;不继承。 <!DOCTYPE html> <html lang"en"><…

京东科技集团将在香港发行与港元1:1挂钩的加密货币稳定币

据京东科技集团旗下公司京东币链科技(香港)官网信息&#xff0c;京东稳定币是一种基于公链并与港元(HKD) 1:1挂钩的稳定币&#xff0c;将在公共区块链上发行&#xff0c;其储备由高度流动且可信的资产组成&#xff0c;这些资产安全存放于持牌金融机构的独立账户中&#xff0c;通…

openFeign配置okhttp

原来的项目出现了性能问题&#xff0c;老大不知道怎么的&#xff0c;让我改openFeign线程池为okhttp&#xff0c;说原生的不支持线程池性能比较差。 原openFeign配置文章地址 一、pom文件 <dependency><groupId>org.springframework.cloud</groupId><arti…

OLLaMA搭建本地大模型

LLMChain是一个简单的链&#xff0c;接受一个提示模板&#xff0c;使用用户输入格式化它并从LLM返回响应。 其中&#xff0c;prompt_template是一个非常关键的组件&#xff0c;可以让你创建一个非常简单的链&#xff0c;它将接收用户输入&#xff0c;使用它格式化提示&#xff…

通信原理-思科实验四:静态路由项配置实验

实验四 静态路由项配置实验 一&#xff1a;实验内容 二&#xff1a;实验目的 三、实验原理 四、实验步骤 选择三个2811型号的路由器 R1、R2、R3 路由器默认只有两个快速以太网接口&#xff0c;为路由器R1和R3增加快速以太网接口模块NM-1FE-TX&#xff0c;安装后检查路由器的接…

C++入门基础:C++中的循环语句

循环语句是编程语言中用来重复执行一段代码直到满足特定条件的一种控制结构。它们对于处理需要重复任务的场景非常有用&#xff0c;比如遍历数组、累加数值、重复执行某项操作直到满足条件等。 但是在使用循环语句的时候需要注意下哈&#xff0c;有时候一不小心会构成死循环或者…

学习小型gpt源码(自用)

数据集构建_哔哩哔哩_bilibili &#xff08;b站上有一系列课&#xff0c;从数据处理到模型构建和训练使用&#xff09; 什么是batch&#xff1f; 为什么一个batch内的句子要一样长&#xff1f; 不同batch的长度可以不一样&#xff0c;但是同一个batch内长度一样&#xff01;…

IDEA缓存和索引

IDEA缓存和索引 —2020年06月10日 IntelliJ IDEA首次加载项目的时候。都会创建索引&#xff0c;而创建索引的时间根项目的文件多少成正比。 IntelliJ IDEA的缓存和索引主要是用来加快文件查询&#xff0c;从而加快各种查找、代码提示等操作的速度。 某些特殊情况下&#xf…

SpringBoot项目如何引进MyBatis ?如何使用及操作数据库

一、创建SpringBoot项目&#xff0c;导入依赖 首先需要创建一个SpringBoot项目&#xff0c;然后再pom.xml文件中&#xff0c;右击选择”Generate“,依次进行下述操作&#xff1a;&#xff08;同样也可以在项目创建的时候选择MyBatis Framework 和 MySQL Driver&#xff09; 然…

GitLab添加TortoiseGIT生成SSH Key

文章目录 前言一、PuTTYgen二、GitLab 前言 GitLab是一个用于托管代码仓库和项目管理的Web平台&#xff0c;公司搭建自己的gitlab来管理代码&#xff0c;我们在clone代码的时候可以选择http协议&#xff0c;也可以选择ssh协议来拉取代码。 SSH (Secure Shell)是一种通过网络进…