diff --git a/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_GCC/Boot/Debug/openblt_xmc4700.elf b/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_GCC/Boot/Debug/openblt_xmc4700.elf index 199190c1..1f76bd89 100644 Binary files a/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_GCC/Boot/Debug/openblt_xmc4700.elf and b/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_GCC/Boot/Debug/openblt_xmc4700.elf differ diff --git a/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_GCC/Boot/Debug/openblt_xmc4700.srec b/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_GCC/Boot/Debug/openblt_xmc4700.srec index c50e55bb..2c9da63e 100644 --- a/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_GCC/Boot/Debug/openblt_xmc4700.srec +++ b/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_GCC/Boot/Debug/openblt_xmc4700.srec @@ -35,12 +35,12 @@ S3150C000200DFF874D01D4880471D4C1E4DAC4209DAF0 S3150C00021021686268A368043BA2BFC858D050FAE7AD S3150C0002200C34F3E7184B194CA34208DA19685A68D0 S3150C0002300020043AA4BF8850FBE70833F4E71448BF -S3150C00024080471448804700008841000C4088FE1FF8 -S3150C000250340000008841000C4088FE1F000000009E +S3150C0002408047144880470000E041000C4088FE1FA0 +S3150C00025034000000E041000C4088FE1F0000000046 S3150C0002607888FE1F1C110000000000200000000012 S3150C00027000000020A03000004088FE1F2905000861 S3150C00028048020008600200086002000878020008B4 -S3150C000290E13F0008C13E0008FEE7000082B00023E3 +S3150C00029049400008293F0008FEE7000082B0002311 S3150C0002A0019303E000BF019B01330193019B834241 S3150C0002B0F8D302B0704700BF72B60D4B0D4A9A6068 S3150C0002C0BFF34F8F62B6D3F8882042F47002C3F89E @@ -101,14 +101,14 @@ S3150C00062064F38F33012262F39753034A136004B0C9 S3150C000630BDE8F0810082024840400050008F02481D S3150C00064010B5244C204600F043FC2268136823F4B2 S3150C0006508013136002F04CFE00F59C54083405E040 -S3150C00066002F046FEA04207D203F028F819480021F2 +S3150C00066002F046FEA04207D203F02AF819480021F0 S3150C00067000F02AFD0028F3D0164C20460021164A1D S3150C00068000F0F6FC2268136843F490431360236869 S3150C00069041F21802995841F400519950196841F0E9 S3150C0006A0080119602368995841F0020199501A689B S3150C0006B042F004021A60094B08221A7000225A7082 S3150C0006C027229A706922DA705B221A7145225A71B6 -S3150C0006D010BD00BF4088FE1F744000088488FE1FB2 +S3150C0006D010BD00BF4088FE1FDC4000088488FE1F4A S3150C0006E00823037000234370272383706923C37088 S3150C0006F05B23037145234371704700BF10B509484E S3150C00070000F07EFB0446421E40F2F3539A4205D893 @@ -218,7 +218,7 @@ S3150C000D70002441690A4401EB4411D16090F8252006 S3150C000D809A42E2D80268416941F21003D15000231D S3150C000D9080F8263030BC70470000103038B5044659 S3150C000DA01546036990F8270003EB4013084699682B -S3150C000DB003F04CF9226994F827305B014FF000419F +S3150C000DB003F080F9226994F827305B014FF000416B S3150C000DC0D15094F827300133DBB284F8273094F8ED S3150C000DD02420934202D1002384F82730236841F261 S3150C000DE014029A5812F0800F08D0802141F2140296 @@ -347,7 +347,7 @@ S3150C00158038BD00BF1093FE1F08B50620FFF7DEFF1F S3150C00159008BD00BF70B5A54B1C68042800F071810E S3150C0015A0A34BA44A1360A44A1360032810D1637E8C S3150C0015B003F00F03032B40F0DA85238A002B40F04F -S3150C0015C0D68508229D4B1A7002F090F900F094BC57 +S3150C0015C0D68508229D4B1A7002F0A8F900F094BC3F S3150C0015D002287BD19A4AD3780133DBB2D37063B934 S3150C0015E093780133DBB293703BB953780133DBB29A S3150C0015F0537013B91378013313700023914A138077 @@ -356,14 +356,14 @@ S3150C0016100133DBB2A376782B40F0A98500236376E1 S3150C00162000F0A5BD002B00F0A285228A002A41D02D S3150C001630A27E511EA176002A40F09985E27E082AE8 S3150C00164005D0591EC9B201290ED8052A0CD1002382 -S3150C00165063768022794B1A7002F048F914227B4B80 +S3150C00165063768022794B1A7002F060F914227B4B68 S3150C00166083F82F2000F014BD042A03D803219140DF S3150C001670C9B200E03021A1760132E27603F00F0305 S3150C001680013B072B00F27385DFE813F078020800A4 S3150C0016900D00F2037105F2037105F20300226B4B88 -S3150C0016A083F82F206EE20422644B1A7002F01EF9A6 +S3150C0016A083F82F206EE20422644B1A7002F036F98E S3150C0016B000F057BC03F00F03032B40F058850822AB -S3150C0016C05E4B1A7002F012F900F016BC052817D101 +S3150C0016C05E4B1A7002F02AF900F016BC052817D1E9 S3150C0016D05F4B1B689B88002B00F049850023534AFF S3150C0016E013605C4A53490A6053490A60564A138090 S3150C0016F0544A13800822514B1A7001F04DFAC0E07F @@ -444,7 +444,7 @@ S3150C001B902F20022283F83620042283F837200622CF S3150C001BA083F838200A2283F839202C21964A118092 S3150C001BB0602283F82E2072E2944B1C600022944B18 S3150C001BC01A708F4B93F82F2012F0040F07D00023B6 -S3150C001BD0637620228E4B1A7001F088FEC7E2884B82 +S3150C001BD0637620228E4B1A7001F0A0FEC7E2884B6A S3150C001BE093F82E301B099B0086480370EB1A143BA6 S3150C001BF09BB28548038001F00F01022903D102F044 S3150C001C003F0112290FD013B912F0030F0BD07C4BE6 @@ -464,7 +464,7 @@ S3150C001CD008002300AA007601A601C201DC016801F6 S3150C001CE04B4B1B7813F0010F00F0418203236376F4 S3150C001CF04022474B1A7000232382434B188820B18D S3150C001D004222434B1A70FFF79BFB0022424B1A8070 -S3150C001D1001F0ECFDF0E03E4B1B7813F0010F65D0A3 +S3150C001D1001F004FEF0E03E4B1B7813F0010F65D08A S3150C001D20374B93F82F3003F03F03122B5ED1344B15 S3150C001D3093F82E0000F0F003502B39DD0022314BC6 S3150C001D401A702DE003F136022D4DAA5C334D2A7024 @@ -477,15 +477,15 @@ S3150C001DA0184B1B7819460209053AB3EB820FC9DBAF S3150C001DB003236376124B93F82620227293F827207E S3150C001DC0627293F82820A27293F82930E3720120EC S3150C001DD0FFF736FB42220E4B1A70002323820A4A67 -S3150C001DE013800D4A138001F081FD85E02022084BFB -S3150C001DF01A7001F07BFD054B1B6800225A76B1E583 +S3150C001DE013800D4A138001F099FD85E02022084BE3 +S3150C001DF01A7001F093FD054B1B6800225A76B1E56B S3150C001E001093FE1F8C88FE1F7C92FE1F9492FE1F61 S3150C001E108892FE1F8492FE1F5299FE1F8D88FE1F0C S3150C001E207888FE1F914B93F82F3013F0010F24D0B6 S3150C001E3011F0100F21D1238A002B40F098818C4D84 S3150C001E402888013080B2FFF7FBFA8A4A137843F0F0 S3150C001E50100313702A881AB143F00203854A1370D3 -S3150C001E6001F044FD01232382082363760023E376E5 +S3150C001E6001F05CFD01232382082363760023E376CD S3150C001E7011227E4B83F82F200AE113F0200F10D08D S3150C001E807A4890F834301A0290F8353042EA03005A S3150C001E90794D2E6830442860754813430288D31A4E @@ -494,7 +494,7 @@ S3150C001EB0137843F002031370FFF7C2FA6B4A92F8D9 S3150C001EC0301092F8313003EB01239BB26B4A13802E S3150C001ED0A28A934200D80BB9684B1A80674B1B88B1 S3150C001EE06382644B1B7813F0030F00F040810022D1 -S3150C001EF0634B1A8001F0FAFC5E4B1B7813F0200F33 +S3150C001EF0634B1A8001F012FD5E4B1B7813F0200F1A S3150C001F0008D000235E4A138063761422574B83F85D S3150C001F102F20BDE013F0100F0CD00023584A13806D S3150C001F200122228204226276E37611224F4B83F839 @@ -506,16 +506,16 @@ S3150C001F70238A3BB128333E4A138018223B4B83F805 S3150C001F802F2088E03B4B1B7813F0020F00F0EF80FC S3150C001F902822374B1A801022344B83F82F207AE0F4 S3150C001FA0344B1B7813F0010F00F0E18000236376AD -S3150C001FB01022304B1A7001F099FCD8E02C4B188883 +S3150C001FB01022304B1A7001F0B1FCD8E02C4B18886B S3150C001FC008B1FFF73DFA294B93F82F3013F0010FA8 S3150C001FD015D0284B1B7813F0010F05D00723637619 S3150C001FE00023A376238201E0062363760120FFF704 -S3150C001FF027FA10221F4B1A7001F078FC44E01D4B97 +S3150C001FF027FA10221F4B1A7001F090FC44E01D4B7F S3150C0020001B7813F0010F04D005236376002323827B S3150C002010ADE0174B1B88002B36D1A8E0144B188863 S3150C00202008B1FFF70DFA114B93F82F3013F0010F8F S3150C0020300CD0072363760023A3760120FFF700FA62 -S3150C00204010220C4B1A7001F051FC1DE0084B1B883A +S3150C00204010220C4B1A7001F069FC1DE0084B1B8822 S3150C002050D3B98CE0074B1B7813F0010F00F0878087 S3150C002060072363760023A37681E000BF1093FE1F3F S3150C0020707C92FE1F8892FE1F9092FE1F7888FE1F90 @@ -548,7 +548,7 @@ S3150C0022104DB90346002203F8012B4270013303F833 S3150C002220012B1A7003E02B8803806B8843804023B4 S3150C0022300372F8BD0020F8BD8088FE1F8C88FE1F37 S3150C0022405499FE1F00290CDD08B503468AB20549D0 -S3150C0022500A8005490868834202D0194601F0F6FE49 +S3150C0022500A8005490868834202D0194601F02AFF14 S3150C00226008BD70475299FE1F8092FE1FF0B40022E3 S3150C0022703B4B1A703B4D1EE03A4C5A001A449200E6 S3150C002280A518A45AA4B103EB43029200354F3A4465 @@ -599,7 +599,7 @@ S3150C0025405A001A4492008C18384800888A5A9042CD S3150C00255009D1364A518803EB4302920036480244AD S3150C0025605288914206D00133324A1370314B1B7894 S3150C002570072BE4D9082B3BD1284C2046FF210622F9 -S3150C00258001F06FFD002384F8203084F8213084F8A4 +S3150C00258001F0A3FD002384F8203084F8213084F870 S3150C002590223084F8233084F8243084F82530274AF6 S3150C0025A01168C4F8061092886281C4F8161062830A S3150C0025B01E4A1188E184528822851A4A1188A18301 @@ -609,7 +609,7 @@ S3150C0025E063733634164B1C602A22164B1A8010BDA8 S3150C0025F00A4B54F8042F1A60A2889A80074B0F4A8C S3150C0026001168C3F8061092885A8108221A730022A0 S3150C0026105A730C4A13880E33138010BD1093FE1F89 -S3150C0026207C4000080C93FE1F0893FE1FF488FE1FC7 +S3150C002620E44000080C93FE1F0893FE1FF488FE1F5F S3150C0026300493FE1F8E88FE1F9088FE1F8488FE1F43 S3150C0026409092FE1F7C92FE1F10B504464160FDF76A S3150C00265079FF206010BD00BF10B50446FDF772FF70 @@ -635,11 +635,11 @@ S3150C0027800123037043701C4B9A6982700025C57037 S3150C0027901A4A10686060258180276781184A12687A S3150C0027A0E26025746574A574E57425756575A57563 S3150C0027B0E57525766576A576E5769E6904F11C00A9 -S3150C0027C05969324601F042FCA0191C302946C6F163 -S3150C0027D0100201F046FC04F12C002946402201F0BF -S3150C0027E040FC04F16C0029463A4601F03AFC054BD4 -S3150C0027F01868C4F8EC00F8BDF888FE1F8440000881 -S3150C0028000C93FE1F8840000838B50A4C25682846EC +S3150C0027C05969324601F076FCA0191C302946C6F12F +S3150C0027D0100201F07AFC04F12C002946402201F08B +S3150C0027E074FC04F16C0029463A4601F06EFC054B6C +S3150C0027F01868C4F8EC00F8BDF888FE1FEC40000819 +S3150C0028000C93FE1FF040000838B50A4C2568284684 S3150C002810FFF7B4FF05F1F0000121FFF729FFFFF7E1 S3150C0028203DFFFFF747FF2368C11A1846FFF70AFD5D S3150C00283038BD00BF9092FE1F38B50B4C2568284654 @@ -647,10 +647,10 @@ S3150C002840FFF79CFF05F1F0000321FFF711FFFFF7DF S3150C00285017FFFFF749FFFFF72DFF2368C11A18462C S3150C002860FFF7F0FC38BD00BF9092FE1F10B5114B60 S3150C0028701C682378022B17D1201D0F49042201F066 -S3150C002880D5FB98B90D4B04F11C0059699A6901F0F6 -S3150C002890CDFB68B92069094B586204F1F000084B6E +S3150C00288009FC98B90D4B04F11C0059699A6901F0C1 +S3150C00289001FC68B92069094B586204F1F000084B39 S3150C0028A01988FFF72FFF10BD002010BD002010BDAA -S3150C0028B0002010BD9092FE1F84400008F888FE1F71 +S3150C0028B0002010BD9092FE1FEC400008F888FE1F09 S3150C0028C07C92FE1F10B582B00C4C6061A161002396 S3150C0028D0A3704FF6FF73ADF80430ADF8063001A8BF S3150C0028E04FF48641FFF754FC606010B14FF48843F7 @@ -698,8 +698,8 @@ S3150C002B70002038BD032038BD002038BD032038BDE9 S3150C002B80002038BD032038BD002038BDF888FE1F54 S3150C002B908892FE1F0089FE1F08B5FFF7B9FE08BD17 S3150C002BA072B6704762B6704710B584B0FDF7DEFE9C -S3150C002BB0044602E0640000F081FD4C4B9C42F9D9BE -S3150C002BC002E0640800F07AFD494B9C42F9D849486A +S3150C002BB0044602E0640000F083FD4C4B9C42F9D9BC +S3150C002BC002E0640800F07CFD494B9C42F9D8494868 S3150C002BD001212246FDF7AAFF0194474B02934FF4BD S3150C002BE0FA53ADF80C300123ADF80E30434C2046A9 S3150C002BF001A9FDF7D9FE236843F04003236023683F @@ -723,7 +723,7 @@ S3150C002D003089FE1F005001485089FE1F2050014893 S3150C002D1010B5144B1973002305E0C45C114A1A4410 S3150C002D2014740133DBB28B42F7D30E4C2046FDF7FD S3150C002D303FFF23680222DA612046FDF7A3FF00F06D -S3150C002D40D7FA00F1320405E000F0B8FC00F0D0FA36 +S3150C002D40D7FA00F1320405E000F0BAFC00F0D0FA34 S3150C002D50A04205D8034B1B68DB6913F0020FF3D1B5 S3150C002D6010BD00BF3089FE1F38B5124B1B68DB69DE S3150C002D7013F0010F1CD00D4604460E48FDF794FFC8 @@ -731,28 +731,28 @@ S3150C002D8080B90C4B1B7B2B70034606E0094A1A4490 S3150C002D90127CE2540133DBB20120064A127B9A42C2 S3150C002DA0F4D800E00020034B1B680122DA6138BD21 S3150C002DB0002038BD5089FE1F08B5FFF7F1FE08BD8F -S3150C002DC010B500F05BFA10B900F068FC10BD00F00D -S3150C002DD0C5FF10B900F062FC10BD00F01FFC00F03E +S3150C002DC010B500F05BFA10B900F06AFC10BD00F00B +S3150C002DD0F9FF10B900F064FC10BD00F01FFC00F008 S3150C002DE05FFA00F04FFA20F0604020F07F00054BB0 S3150C002DF0186000F047FA4468FFF7D4FEA04700F0CD -S3150C002E004DFC10BD08ED00E070B508E0461C4D1CED -S3150C002E100B78037000F052FC224630462946531EAE +S3150C002E004FFC10BD08ED00E070B508E0461C4D1CEB +S3150C002E100B78037000F054FC224630462946531EAC S3150C002E209CB2002AF2D170BD030E082B01D100F121 -S3150C002E308060704738B50546002419E000F03EFC6A +S3150C002E308060704738B50546002419E000F040FC68 S3150C002E4004EB44039B000C4AD258AA420ED804EB5E S3150C002E5044039B00084803445B681A44AA4205D9FC S3150C002E6004EB440189000144087A38BD0134E4B20C -S3150C002E700D2CE3D9FF2038BD8C40000838B505462B -S3150C002E80002410E000F01AFC04EB44039B00084AF3 +S3150C002E700D2CE3D9FF2038BDF440000838B50546C3 +S3150C002E80002410E000F01CFC04EB44039B00084AF1 S3150C002E9013441B7AAB4204D104EB4401890050580D S3150C002EA038BD0134E4B20D2CECD94FF0FF3038BDEF -S3150C002EB08C40000808B5C1F3090353B903688B426B +S3150C002EB0F440000808B5C1F3090353B903688B4203 S3150C002EC009D040F8041B4FF48062FFF79DFF0120E8 S3150C002ED008BD002008BD012008BD00BF2DE9F0414A S3150C002EE006460068FFF7A6FFFF2833D000272CE024 -S3150C002EF000F0E4FB35683C0225443444043400F00D +S3150C002EF000F0E6FB35683C0225443444043400F00B S3150C002F00F7F900F10D0828462146FDF7A9FC05E066 -S3150C002F1000F0EEF9404520D800F0D0FBFDF798FC08 +S3150C002F1000F0EEF9404520D800F0D2FBFDF798FC06 S3150C002F2000F0010010F0FF0FF2D1FDF791FC30F02C S3150C002F30100315D1002305E0EA5CD2B2E15C8A42AB S3150C002F4011D10133FF2BF7D90137032FD0D901202B @@ -765,15 +765,15 @@ S3150C002FA07089FE1F0080000C748DFE1F2DE9F04108 S3150C002FB006460C4617461D4621F47F7828F0030872 S3150C002FC00368B3F1FF3F04D14146FFF773FF034695 S3150C002FD030B33368434505D030464146FFF7C6FF4C -S3150C002FE00646D0B13368E41A3444043400F066FB68 +S3150C002FE00646D0B13368E41A3444043400F068FB66 S3150C002FF0331DE31AB3F5806F07D3304608F58061AD S3150C003000FFF7B4FF064650B1041D17F8013B04F850 S3150C003010013B013DEAD1012302E0002300E000233D S3150C0030201846BDE8F08100BFF8B505460E46884245 -S3150C0030302ED801282ED90F2926D92DE000F03EFBDB +S3150C0030302ED801282ED90F2926D92DE000F040FBD9 S3150C0030402846FFF71BFF0746B0F1FF3F26D000F0DE S3150C0030504FF900F5CE5408343846FDF721FC05E04F -S3150C00306000F046F9A0421BD800F028FBFDF7F0FB58 +S3150C00306000F046F9A0421BD800F02AFBFDF7F0FB56 S3150C00307000F0010010F0FF0FF2D1FDF7E9FB30F084 S3150C00308020030FD10135EDB2B542D7D90120F8BDD9 S3150C0030900020F8BD0020F8BD0020F8BD0020F8BDCA @@ -817,7 +817,7 @@ S3150C0032E0136801331360704710E000E07891FE1FFD S3150C0032F008B5FFF7EFFF014B186808BD7891FE1F64 S3150C003300134BD3F8143113F4805F1ED110B501465C S3150C0033100F48FDF749FFFFF7EBFF00F10A0405E044 -S3150C00332000F0CCF9FFF7E4FFA04207D8084BD3F81E +S3150C00332000F0CEF9FFF7E4FFA04207D8084BD3F81C S3150C003330143113F4807FF3D0012000E000204FF409 S3150C0033408072034BC3F8182110BD0020704700BFD4 S3150C00335000000340074BD3F8143113F0080F07D1C4 @@ -830,10 +830,10 @@ S3150C0033B0FDF75EFF2046314604222B46FDF770FFD3 S3150C0033C0236C23F00F0343F00203236405B0F0BD16 S3150C0033D00000034070B506460D46402903D9104837 S3150C0033E07A2100F073F82846FFF78AFF012803D0EC -S3150C0033F00B487E2100F06AF800240CE000F05EF920 +S3150C0033F00B487E2100F06AF800240CE000F060F91E S3150C003400305DFFF77DFF012803D00548872100F0CA S3150C0034105DF80134A4B2ABB2A342EFD870BD00BFC5 -S3150C0034203441000870B5244B1C78ACB92348FFF71F +S3150C0034209C41000870B5244B1C78ACB92348FFF7B7 S3150C00343091FF01283DD1214B1B78013BDBB23F2B81 S3150C00344037D8FFF755FF1E4B186000221D4B1A701C S3150C0034500122194B1A702CE006460D46194B1B78A7 @@ -844,7 +844,7 @@ S3150C0034901B782B700DE0FFF72BFF094B1B68643371 S3150C0034A0984205D90024044B1C7002E0002400E06D S3150C0034B00024204670BD00BFC591FE1F8091FE1FE3 S3150C0034C07C91FE1FC491FE1F8191FE1F08B500F072 -S3150C0034D0F5F8FCE708B500F0DDF8012813D00A4B27 +S3150C0034D0F7F8FCE708B500F0DDF8012813D00A4B25 S3150C0034E01B78012B0FD1FFF703FF084B1A68084B0B S3150C0034F01B68134403F5FA73984204D30022024B5B S3150C0035001A70FFF75DFC08BDCC91FE1FC891FE1F1B @@ -853,203 +853,208 @@ S3150C003520014B1868704700BFC891FE1F08B5044BC5 S3150C0035301B78012B03D1FFF7DBFE024B186008BD8D S3150C003540CC91FE1FD091FE1F08B50122034B1A70B9 S3150C003550FFF7ECFFFFF7BEFF08BD00BFCC91FE1FC7 -S3150C00356008B5FFF729FC00F0A5F8FFF79FFEFFF75B +S3150C00356008B5FFF729FC00F0A7F8FFF79FFEFFF759 S3150C00357079FE00F00DF8FFF7E7FF08BD08B500F07F -S3150C0035809DF8FFF7A7FE00F013F8FFF7A3FF08BDA1 -S3150C00359010B500F053FBFFF707FB044C0123237017 +S3150C0035809FF8FFF7A7FE00F013F8FFF7A3FF08BD9F +S3150C00359010B500F087FBFFF707FB044C01232370E3 S3150C0035A0FFF7EAFE0023237010BD00BF7088FE1FD4 S3150C0035B000B583B017480DF10701FFF7D5FB0128BD S3150C0035C007D10122144B1A7012489DF8071000F00F -S3150C0035D053FB10480DF10701FFF724FF012807D113 -S3150C0035E000220D4B1A700B489DF8071000F044FB97 -S3150C0035F008480DF1070100F06DF9012807D10322E7 -S3150C003600054B1A7003489DF8071000F035FB03B004 +S3150C0035D087FB10480DF10701FFF724FF012807D1DF +S3150C0035E000220D4B1A700B489DF8071000F078FB63 +S3150C0035F008480DF1070100F085F9012807D10322CF +S3150C003600054B1A7003489DF8071000F069FB03B0D0 S3150C0036105DF804FBD491FE1F7088FE1F704700BF37 S3150C00362038B505460C460C4B1B78012B02D1C9B29A S3150C003630FFF76EFB084B1B781BB92846E1B2FFF768 S3150C003640C9FE054B1B78032B03D12846E1B200F0CB -S3150C0036501DF900F009FB38BD7088FE1F054B1B7861 +S3150C00365037F900F03DFB38BD7088FE1F054B1B7813 S3150C003660012B05D0022B01D040207047002070475B S3150C003670082070477088FE1F054B1B78012B05D060 S3150C003680022B01D04020704700207047082070475D -S3150C0036907088FE1F08B500F0DFFA08BD08B500F00B -S3150C0036A0E7F80322024B1A70FFF740FF08BD00BF74 -S3150C0036B07088FE1F08B500F05FFB08BD08B500F06A -S3150C0036C061FB08BD10B5FDF719F848B3384A1080F0 -S3150C0036D0384B9C894FF40060FDF722FF84420DD1D4 -S3150C0036E00120FDF757FF324B1B88CBB1FEF7F2FEDC -S3150C0036F0FDF71CF800222E4B1A8011E02D4B9C89ED -S3150C00370040F60600FDF70CFF844209D1FEF76CFE6D -S3150C003710274B1B8823B1FDF709F80022244B1A808E -S3150C003720FFF7E6FD244B1B68984232D303F5FA7378 -S3150C003730214A1360002413E0204A682303FB042368 -S3150C0037401F4A13600220FDF725FF194B1B8833B166 -S3150C003750FEF7C0FEFCF7EAFF0022154B1A80013477 -S3150C003760002CE9D0002412E0164B03EB8413164A06 -S3150C00377013600520FDF70EFF0D4B1B8833B1FEF7CA -S3150C003780A9FEFCF7D3FF0022094B1A800134002C4A -S3150C003790EAD0FFF7ADFD0D4B1B68984206D303F537 -S3150C0037A01C531033094A1360FEF7E6FD10BD00BF2B -S3150C0037B07C92FE1F1093FE1F2492FE1F9892FE1FF2 -S3150C0037C09492FE1F5499FE1F8C92FE1F1892FE1F98 -S3150C0037D01F4B1B78002B39D110B5FCF7B7FEFFF742 -S3150C0037E087FD00F5FA701B4B1860FFF781FD00F59D -S3150C0037F01C501030184B1860FDF738FE174A002382 -S3150C00380013805380164A13805380164A13805380B4 -S3150C0038104EF60300FDF76AFEFCF712FF124C20462B -S3150C003820FCF75EFF20460621FFF74CF8FFF768F819 -S3150C003830FFF776FE42F20F73984203D842F21070ED -S3150C003840FFF768FE0122094B1A7010BD704700BFC6 -S3150C0038507188FE1F2492FE1F1892FE1F0C93FE1FEA -S3150C0038600893FE1F0493FE1F1C92FE1F1492FE1F4C -S3150C00387008B50022034B1A70034B1B780BB9FFF7E4 -S3150C003880A7FF08BD7188FE1F1492FE1F38B50F4B9B -S3150C0038901B78012B18D10E4B1D68EB692B6200238C -S3150C0038A005E0C45CEA1882F8244001339BB28AB264 -S3150C0038B09A42F6D8111DA5F8641005F12000FEF702 -S3150C0038C0C1FCEB690133EB6138BD00BF1492FE1FDE -S3150C0038D09492FE1F08B5044B1B78012B01D1FFF700 -S3150C0038E0F1FE002008BD00BF1492FE1F10B5194B47 -S3150C0038F01C68194B1B7813F0400F05D00123E361AC -S3150C0039000023A4F8643010BD13F0010F02D000227E -S3150C003910A4F8642013F0040F06D0B4F8641019B19F -S3150C00392004F12000FEF78EFC0B4B1B7813F0020FF4 -S3150C0039300ED00A4B19880B1F402B09DC0023A4F868 -S3150C0039406430074B186804390430C9B200F094F996 -S3150C00395010BD00BF9492FE1F8892FE1F7C92FE1F24 -S3150C0039609092FE1F0022014B5A7070472892FE1F40 -S3150C003970034BFE22DA7018710222A3F8442070471A -S3150C0039802892FE1F10B5054C00232370FFF7EAFFA3 -S3150C003990FF23E3700123A4F8443010BD2892FE1FC8 -S3150C0039A0064BFF22DA7000221A71597859719A71F6 -S3150C0039B0DA711A720622A3F8442070472892FE1F69 -S3150C0039C008B50020FFF7D4FF08BD00BF084BFF2247 -S3150C0039D0DA70084A9A6400221A715A719A71072190 -S3150C0039E0D9711A725A729A720822A3F84420704737 -S3150C0039F02892FE1F80410008044BFF22DA704268B1 -S3150C003A009A640122A3F84420704700BF2892FE1F37 -S3150C003A1008B53120FFF7ACFF08BD00BF38B5084C20 -S3150C003A20FF23E370002525716571FFF717FEA07162 -S3150C003A30E571257265720723A4F8443038BD00BFC2 -S3150C003A402892FE1F38B5FFF78DFF0E4C0125257009 -S3150C003A50FF23E3701023237100236371FFF7FEFD30 -S3150C003A60A071FFF709FEE071FFF706FEC0F3072011 -S3150C003A7020726572A5720823A4F84430FFF7F2FB96 -S3150C003A8038BD00BF2892FE1F38B505464478FFF7AF -S3150C003A90E5FD0138844203DD2220FFF769FF38BDBE -S3150C003AA0084C201DA16C6A78FFF7AEF9FF23E37072 -S3150C003AB06B78A26C1344A3646B780133A4F844307E -S3150C003AC038BD00BF2892FE1F38B504464578FFF76F -S3150C003AD0C5FD0138854203DD2220FFF749FF38BDBD -S3150C003AE06168084DA964281D6278FFF78DF9FF23DC -S3150C003AF0EB706378AA6C1344AB6463780133A5F856 -S3150C003B00443038BD2892FE1FF8B5054617460024EA -S3150C003B1006E015F8013B1C44E4B2FFF7CFFD314635 -S3150C003B204E1E0029F5D13C600120F8BD10B5084C9D -S3150C003B30FF23E3704168A06CE21DFFF7E5FF2071DF -S3150C003B4000236371A3710823A4F8443010BD00BF91 -S3150C003B502892FE1F38B504460D4B9D6CFFF77EFD73 -S3150C003B60411E2846621CFFF781FB18B93120FFF76E -S3150C003B70FFFE38BD064CFF23E370FFF76FFD0138DF -S3150C003B80A36C1844A0640123A4F8443038BD00BFCC -S3150C003B902892FE1F38B504464578FFF75FFD0238BC -S3150C003BA0854203DD2220FFF7E3FE38BD0F4BFF22D3 -S3150C003BB0DA700122A3F84420617831B9FFF766FB6D -S3150C003BC090B93120FFF7D4FE38BD084B986CA21C77 -S3150C003BD0FFF74CFB18B93120FFF7CAFE38BD6378E6 -S3150C003BE0024A916C0B44936438BD00BF2892FE1FA9 -S3150C003BF008B54168074B986CFFF73CFB18B93120A8 -S3150C003C00FFF7B6FE08BD034BFF22DA700122A3F8BC -S3150C003C10442008BD2892FE1F08B5FFF7D1F8034BC8 -S3150C003C20FF22DA700122A3F8442008BD2892FE1F59 -S3150C003C3008B589B2FFF7F4FC08BD00BF054B00229E -S3150C003C401A709A6483F84320A3F844209A705A7029 -S3150C003C50704700BF2892FE1F024B187800B1012056 -S3150C003C60704700BF2892FE1F0022024B83F84320A8 -S3150C003C70704700BF2892FE1F08B50378FF2B02D1B0 -S3150C003C80FFF7E0FE50E0344A1278012A62D1C93BB4 -S3150C003C90352B46D8DFE803F03345454245453F36DC -S3150C003CA03C394545454545454545454545454545C7 -S3150C003CB045454545454545454545454545454545A2 -S3150C003CC04545241E1B2145454527452A2D30FFF722 -S3150C003CD0DBFE29E0FFF7F8FE26E0FFF78DFE23E07A -S3150C003CE0FFF724FF20E0FFF771FE1DE0FFF768FEEB -S3150C003CF01AE0FFF755FE17E0FFF744FE14E0FFF756 -S3150C003D0029FF11E0FFF746FF0EE0FFF787FE0BE0F9 -S3150C003D10FFF76EFF08E0FFF77FFF05E0FFF778FE81 -S3150C003D2002E02020FFF724FE0B4B93F84330012BC7 -S3150C003D3002D11020FFF71CFE074BB3F844100BB250 -S3150C003D40002B07DD0448012380F84330033009B209 -S3150C003D50FFF76EFF08BD00BF2892FE1F08B5054B86 -S3150C003D605B6A13F4005F03D000F040F8012008BD35 -S3150C003D70002008BD008F024808B5642000F006F844 -S3150C003D8008BD00BF08B500F007F808BD014B188048 -S3150C003D90704700BF7892FE1F08B5FFF7A9FA0F4BC4 -S3150C003DA01B68984218D30E4B1B783BB901220C4B5F -S3150C003DB01A704FF400720B4B5A6006E00022084B47 -S3150C003DC01A704FF00072074B5A60FFF791FA064BC8 -S3150C003DD01B881844014B186008BD00BF7492FE1F67 -S3150C003DE07A92FE1F008502487892FE1F4FF00072F1 -S3150C003DF0014B5A60704700BF0085024810B5084851 -S3150C003E0009218022FDF774F9064C20460D2100226B -S3150C003E10FDF76EF9236E23F40053236610BD00BF25 -S3150C003E2000850248008F02482DE9F0418CB04FF016 -S3150C003E3000088DF8248001260A9602258DF82C5050 -S3150C003E401C4C2046042109AAFCF73CFD90278DF852 -S3150C003E50187007968DF820502046052106AAFCF707 -S3150C003E6031FD154AD36923F007033343D3610CAAFA -S3150C003E7002F8248D20460D21FCF724FD8DF80070E8 -S3150C003E8001968DF8085020460C216A46FCF71AFD5F -S3150C003E900A4B1A6842F040021A60DA6822F00702EE -S3150C003EA02A43DA601A6822F040021A600CB0BDE8A8 -S3150C003EB0F08100BF00810248000003400043014826 -S3150C003EC030B583B0002502AC04F8015DFFF796FF10 -S3150C003ED000F056F8FFF744FB2846214600F068F838 -S3150C003EE09DF80730012B01D1FFF7D8FBFFF79CFF9C -S3150C003EF0FFF744FBFCE700BF0C4B1968C1F3072323 -S3150C003F0053FA81F3C1F307421A440B0E13FA82F3E8 -S3150C003F109BB2002205E005491144087903449BB283 -S3150C003F200132372AF7D9584280B270470080FE1FFB -S3150C003F3008B5FFF7E1FF044B9B8F984201D0002098 -S3150C003F4008BD012008BD00BF0080FE1F08B5064B4A -S3150C003F501A68064B9A4203D1FFF7EAFF10B908BD5F -S3150C003F60002008BD012008BD0080FE1FA2E742CE3E -S3150C003F7008B5FFF7C1FF014B988708BD0080FE1FEF -S3150C003F8008B5FFF7E3FF68B9074A084B1A60002328 -S3150C003F9004E0064A1A44002111710133372BF8D973 -S3150C003FA0FFF7E6FF08BD00BFA2E742CE0080FE1F6A -S3150C003FB038B504460D46FFF7C9FF40B1372C08D873 -S3150C003FC04DB1064B1C4423792B70012038BD0020C3 -S3150C003FD038BD002038BD002038BD00BF0080FE1F54 -S3150C003FE070B50E4B0E4CE41AA41000251E46A542C5 -S3150C003FF004D056F8253098470135F8E7FDF7D2F985 -S3150C004000084C094BE41AA41000251E46A54204D000 -S3150C00401056F8253098470135F8E770BD7488FE1FB1 -S3150C0040207488FE1F7488FE1F7488FE1F10B50A4420 -S3150C004030441E914208D014F8013F0878834201D0FF -S3150C004040181A10BD0131F4E7002010BD10B5431E3F -S3150C0040500A44914204D011F8014B03F8014FF8E7DA -S3150C00406010BD02440346934202D003F8011BFAE743 -S3150C004070704700000100004000080000FFFFFFFF32 -S3150C004080FFFF0000ADDE1223638253630080000C39 -S3150C004090004000000200000000C0000C00400000C0 -S3150C0040A0030000000000010C0040000004000000AA -S3150C0040B00040010C00400000050000000080010CCF -S3150C0040C0004000000600000000C0010C004000008B -S3150C0040D0070000000000020C0000020008000000AF -S3150C0040E00000040C00000400090000000000080C8D -S3150C0040F0000004000A00000000000C0C0000040084 -S3150C0041000B0000000000100C000004000C00000066 -S3150C0041100000140C000004000D0000000000180C38 -S3150C004120000004000E00000000001C0C000004003F -S3150C0041300F000000433A2F576F726B2F736F667424 -S3150C004140776172652F4F70656E424C545F584D43C4 -S3150C004150343730305F6578747261732F54617267CF -S3150C00416065742F536F757263652F41524D434D34F1 -S3150C0041705F584D43342F756172742E630000000036 -S30D0C0041804F70656E424C5400B1 -S3150C00418800C0005000000000080027695B450000CD -S3150C00419820300020A02F0020D0170020000000207F -S3150C0041A800000000040400000000000000000000ED -S3090C0041B804010000EC +S3150C0036907088FE1F08B500F013FB00B1012008BDB1 +S3150C0036A008B500F0FFF80322024B1A70FFF73EFF35 +S3150C0036B008BD00BF7088FE1F08B500F091FB08BD61 +S3150C0036C008B500F093FB08BD10B5FDF717F848B325 +S3150C0036D0444A1080444B9C894FF40060FDF720FF50 +S3150C0036E084420DD10120FDF755FF3E4B1B88CBB113 +S3150C0036F0FEF7F0FEFDF71AF800223A4B1A8011E09D +S3150C003700394B9C8940F60600FDF70AFF844209D125 +S3150C003710FEF76AFE334B1B8823B1FDF707F8002230 +S3150C003720304B1A80FFF7E4FD304B1B68984232D3BE +S3150C00373003F5FA732D4A1360002413E02C4A682310 +S3150C00374003FB04232B4A13600220FDF723FF254BB2 +S3150C0037501B8833B1FEF7BEFEFCF7E8FF0022214BB7 +S3150C0037601A800134002CE9D0002412E0224B03EB22 +S3150C0037708413224A13600520FDF70CFF194B1B8896 +S3150C00378033B1FEF7A7FEFCF7D1FF0022154B1A80CA +S3150C0037900134002CEAD0FFF7ABFD194B1B6898429D +S3150C0037A006D303F51C531033154A1360FEF7E4FDDC +S3150C0037B0002413E00E4A682303FB04230D4A13600E +S3150C0037C00320FDF7E7FE074B1B8833B1FEF782FE9D +S3150C0037D0FCF7ACFF0022034B1A800134002CE9D015 +S3150C0037E010BD00BF7C92FE1F1093FE1F2492FE1F7D +S3150C0037F09892FE1F9492FE1F5499FE1F8C92FE1FE8 +S3150C0038001892FE1F1F4B1B78002B39D110B5FCF7F5 +S3150C0038109DFEFFF76DFD00F5FA701B4B1860FFF768 +S3150C00382067FD00F51C501030184B1860FDF71EFE96 +S3150C003830174A002313805380164A13805380164A66 +S3150C003840138053804EF60300FDF750FEFCF7F8FE8E +S3150C003850124C2046FCF744FF20460621FFF732F8AF +S3150C003860FFF74EF8FFF75CFE42F20F73984203D84F +S3150C00387042F21070FFF74EFE0122094B1A7010BD72 +S3150C003880704700BF7188FE1F2492FE1F1892FE1F00 +S3150C0038900C93FE1F0893FE1F0493FE1F1C92FE1F23 +S3150C0038A01492FE1F08B50022034B1A70034B1B78AB +S3150C0038B00BB9FFF7A7FF08BD7188FE1F1492FE1FF8 +S3150C0038C00E4B1B78012B18D170B40D4B1D68EE698D +S3150C0038D02E62002305E0C45CEA1882F8244001330A +S3150C0038E09BB28AB29A42F6D80432A5F86420012318 +S3150C0038F085F866301E44EE6170BC70471492FE1F4C +S3150C0039009492FE1F08B5044B1B78012B01D1FFF7CF +S3150C003910DBFE002008BD00BF1492FE1F10B5274B1E +S3150C0039201C68274B1B7813F0400F09D00123E36169 +S3150C0039300023A4F8643084F8663084F8673010BD30 +S3150C00394013F0010F02D0002284F8672013F0040F45 +S3150C00395009D094F86730012B05D104F12000B4F896 +S3150C0039606410FEF76FFC164B1B7813F0080F10D083 +S3150C00397094F86630012B0CD1002384F86630B4F829 +S3150C003980641031B1012384F8673004F12000FEF78E +S3150C00399059FC0B4B1B7813F0020F0ED0094B1988F0 +S3150C0039A00B1F402B09DC94F8673033B9064B1868AB +S3150C0039B004390430C9B200F093F910BD9492FE1F7D +S3150C0039C08892FE1F7C92FE1F9092FE1F0022014BD6 +S3150C0039D05A7070472892FE1F034BFE22DA7018713C +S3150C0039E00222A3F8442070472892FE1F10B5054CFE +S3150C0039F000232370FFF7EAFFFF23E3700123A4F8EB +S3150C003A00443010BD2892FE1F064BFF22DA700022AE +S3150C003A101A71597859719A71DA711A720622A3F8C9 +S3150C003A20442070472892FE1F08B50020FFF7D4FFEC +S3150C003A3008BD00BF084BFF22DA70084A9A640022C0 +S3150C003A401A715A719A710721D9711A725A729A722D +S3150C003A500822A3F8442070472892FE1FD84100087C +S3150C003A60044BFF22DA7042689A640122A3F84420C0 +S3150C003A70704700BF2892FE1F08B53120FFF7ACFF38 +S3150C003A8008BD00BF38B5084CFF23E370002525712F +S3150C003A906571FFF7E3FDA071E57125726572072369 +S3150C003AA0A4F8443038BD00BF2892FE1F38B5FFF786 +S3150C003AB08DFF0E4C01252570FF23E3701023237117 +S3150C003AC000236371FFF7CAFDA071FFF7D5FDE07106 +S3150C003AD0FFF7D2FDC0F3072020726572A57208238A +S3150C003AE0A4F84430FFF7BEFB38BD00BF2892FE1F7A +S3150C003AF038B505464478FFF7B1FD0138844203DD3D +S3150C003B002220FFF769FF38BD084C201DA16C6A788E +S3150C003B10FFF77AF9FF23E3706B78A26C1344A36466 +S3150C003B206B780133A4F8443038BD00BF2892FE1FD1 +S3150C003B3038B504464578FFF791FD0138854203DD1B +S3150C003B402220FFF749FF38BD6168084DA964281D7E +S3150C003B506278FFF759F9FF23EB706378AA6C13446C +S3150C003B60AB6463780133A5F8443038BD2892FE1F48 +S3150C003B70F8B505461746002406E015F8013B1C442B +S3150C003B80E4B2FFF79DFD31464E1E0029F5D13C608F +S3150C003B900120F8BD10B5084CFF23E3704168A06CFA +S3150C003BA0E21DFFF7E5FF207100236371A371082363 +S3150C003BB0A4F8443010BD00BF2892FE1F38B5044649 +S3150C003BC00D4B9D6CFFF74AFD411E2846621CFFF704 +S3150C003BD04DFB18B93120FFF7FFFE38BD064CFF230D +S3150C003BE0E370FFF73BFD0138A36C1844A064012376 +S3150C003BF0A4F8443038BD00BF2892FE1F38B50446E1 +S3150C003C004578FFF72BFD0238854203DD2220FFF7AE +S3150C003C10E3FE38BD0F4BFF22DA700122A3F84420D5 +S3150C003C20617831B9FFF732FB90B93120FFF7D4FE3A +S3150C003C3038BD084B986CA21CFFF718FB18B931203D +S3150C003C40FFF7CAFE38BD6378024A916C0B44936445 +S3150C003C5038BD00BF2892FE1F08B54168074B986C0B +S3150C003C60FFF708FB18B93120FFF7B6FE08BD034B6A +S3150C003C70FF22DA700122A3F8442008BD2892FE1F09 +S3150C003C8008B5FFF79DF8034BFF22DA700122A3F863 +S3150C003C90442008BD2892FE1F08B589B2FFF7C0FC68 +S3150C003CA008BD00BF054B00221A709A6483F84320A6 +S3150C003CB0A3F844209A705A70704700BF2892FE1FD2 +S3150C003CC0024B187800B10120704700BF2892FE1FE6 +S3150C003CD00022024B83F84320704700BF2892FE1F38 +S3150C003CE008B50378FF2B02D1FFF7E0FE50E0344A0B +S3150C003CF01278012A62D1C93B352B46D8DFE803F08E +S3150C003D003345454245453F363C3945454545454590 +S3150C003D104545454545454545454545454545454541 +S3150C003D2045454545454545454545241E1B214545C7 +S3150C003D304527452A2D30FFF7DBFE29E0FFF7F8FE75 +S3150C003D4026E0FFF78DFE23E0FFF724FF20E0FFF7C8 +S3150C003D5071FE1DE0FFF768FE1AE0FFF755FE17E04F +S3150C003D60FFF744FE14E0FFF729FF11E0FFF746FFCB +S3150C003D700EE0FFF787FE0BE0FFF76EFF08E0FFF79C +S3150C003D807FFF05E0FFF778FE02E02020FFF724FE18 +S3150C003D900B4B93F84330012B02D11020FFF71CFE7E +S3150C003DA0074BB3F844100BB2002B07DD0448012374 +S3150C003DB080F84330033009B2FFF76EFF08BD00BF31 +S3150C003DC02892FE1F08B5054B5B6A13F4005F03D0FF +S3150C003DD000F040F8012008BD002008BD008F024805 +S3150C003DE008B5642000F006F808BD00BF08B500F061 +S3150C003DF007F808BD014B1880704700BF7892FE1F6C +S3150C003E0008B5FFF775FA0F4B1B68984218D30E4B83 +S3150C003E101B783BB901220C4B1A704FF400720B4BFA +S3150C003E205A6006E00022084B1A704FF00072074BDE +S3150C003E305A60FFF75DFA064B1B881844014B186055 +S3150C003E4008BD00BF7492FE1F7A92FE1F00850248C1 +S3150C003E507892FE1F4FF00072014B5A60704700BFFC +S3150C003E600085024810B5084809218022FDF740F963 +S3150C003E70064C20460D210022FDF73AF9236E23F459 +S3150C003E800053236610BD00BF00850248008F024810 +S3150C003E902DE9F0418CB04FF000088DF824800126F6 +S3150C003EA00A9602258DF82C501C4C2046042109AA92 +S3150C003EB0FCF708FD90278DF8187007968DF82050A2 +S3150C003EC02046052106AAFCF7FDFC154AD36923F00A +S3150C003ED007033343D3610CAA02F8248D20460D2127 +S3150C003EE0FCF7F0FC8DF8007001968DF80850204612 +S3150C003EF00C216A46FCF7E6FC0A4B1A6842F04002B3 +S3150C003F001A60DA6822F007022A43DA601A6822F08D +S3150C003F1040021A600CB0BDE8F08100BF0081024877 +S3150C003F20000003400043014830B583B0002502ACC5 +S3150C003F3004F8015DFFF796FF00F056F8FFF710FB4B +S3150C003F402846214600F068F89DF80730012B01D170 +S3150C003F50FFF7A6FBFFF79CFFFFF710FBFCE700BF84 +S3150C003F600C4B1968C1F3072353FA81F3C1F30742CB +S3150C003F701A440B0E13FA82F39BB2002205E0054994 +S3150C003F801144087903449BB20132372AF7D95842B7 +S3150C003F9080B270470080FE1F08B5FFF7E1FF044BA7 +S3150C003FA09B8F984201D0002008BD012008BD00BFA0 +S3150C003FB00080FE1F08B5064B1A68064B9A4203D1C1 +S3150C003FC0FFF7EAFF10B908BD002008BD012008BDA7 +S3150C003FD00080FE1FA2E742CE08B5FFF7C1FF014BDA +S3150C003FE0988708BD0080FE1F08B5FFF7E3FF68B988 +S3150C003FF0074A084B1A60002304E0064A1A440021BB +S3150C00400011710133372BF8D9FFF7E6FF08BD00BF56 +S3150C004010A2E742CE0080FE1F38B504460D46FFF7D8 +S3150C004020C9FF40B1372C08D84DB1064B1C44237937 +S3150C0040302B70012038BD002038BD002038BD002073 +S3150C00404038BD00BF0080FE1F70B50E4B0E4CE41A37 +S3150C004050A41000251E46A54204D056F825309847D4 +S3150C0040600135F8E7FDF79EF9084C094BE41AA41044 +S3150C00407000251E46A54204D056F825309847013532 +S3150C004080F8E770BD7488FE1F7488FE1F7488FE1FC7 +S3150C0040907488FE1F10B50A44441E914208D014F8C9 +S3150C0040A0013F0878834201D0181A10BD0131F4E79C +S3150C0040B0002010BD10B5431E0A44914204D011F8DD +S3150C0040C0014B03F8014FF8E710BD02440346934237 +S3150C0040D002D003F8011BFAE770470000010000400C +S3150C0040E000080000FFFFFFFFFFFF0000ADDE1223FC +S3150C0040F0638253630080000C004000000200000045 +S3150C00410000C0000C00400000030000000000010C81 +S3150C00411000400000040000000040010C00400000BC +S3150C004120050000000080010C0040000006000000A5 +S3150C00413000C0010C00400000070000000000020C4B +S3150C00414000000200080000000000040C000004003F +S3150C004150090000000000080C000004000A00000022 +S3150C00416000000C0C000004000B0000000000100CFA +S3150C004170000004000C0000000000140C00000400F9 +S3150C0041800D0000000000180C000004000E000000DA +S3150C00419000001C0C000004000F000000433A2F57CF +S3150C0041A06F726B2F736F6674776172652F4F7065C4 +S3150C0041B06E424C542F5461726765742F536F75722F +S3150C0041C063652F41524D434D345F584D43342F7523 +S3150C0041D06172742E630000004F70656E424C540081 +S3150C0041E000C0005000000000080027695B45000075 +S3150C0041F020300020A02F0020D01700200000002027 +S3150C0042000000000004040000000000000000000094 +S3090C0042100401000093 S70508000201EF diff --git a/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_GCC/Prog/Debug/demoprog_xmc4700.elf b/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_GCC/Prog/Debug/demoprog_xmc4700.elf index 5dacf270..1f809350 100644 Binary files a/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_GCC/Prog/Debug/demoprog_xmc4700.elf and b/Target/Demo/ARMCM4_XMC4_XMC4700_Relax_Kit_GCC/Prog/Debug/demoprog_xmc4700.elf differ diff --git a/Target/Source/net.c b/Target/Source/net.c index d02c9ee6..f8a93d32 100644 --- a/Target/Source/net.c +++ b/Target/Source/net.c @@ -213,8 +213,8 @@ void NetTransmitPacket(blt_int8u *data, blt_int8u len) } /* set the length of the TCP/IP packet */ s->dto_len = len + 4; - /* submit it for transmission */ - uip_send(s->dto_data, s->dto_len); + /* set the flag to request the transmission of this packet. */ + s->dto_tx_req = BLT_TRUE; /* update dto counter for the next transmission */ s->dto_counter++; } @@ -263,41 +263,63 @@ void NetApp(void) if (uip_connected()) { - /* init the dto counter and reset the pending dto data length */ + /* init the dto counter and reset the pending dto data length and transmit related + * flags. + */ s->dto_counter = 1; s->dto_len = 0; + s->dto_tx_req = BLT_FALSE; + s->dto_tx_pending = BLT_FALSE; return; } if (uip_acked()) { - /* dto sent so set the pending dto data length to zero */ - s->dto_len = 0; + /* dto sent so reset the pending flag. */ + s->dto_tx_pending = BLT_FALSE; } if (uip_rexmit()) { + /* is a dto transmission pending that should now be retransmitted? */ /* retransmit the currently pending dto response */ - if (s->dto_len > 0) + if (s->dto_tx_pending == BLT_TRUE) { /* resend the last pending dto response */ uip_send(s->dto_data, s->dto_len); } } + if (uip_poll()) + { + /* check if there is a packet waiting to be transmitted. this is done via polling + * because then it is possible to asynchronously send data. otherwise data is + * only really send after a newly received packet was received. + */ + if (s->dto_tx_req == BLT_TRUE) + { + /* reset the transmit request flag. */ + s->dto_tx_req = BLT_FALSE; + if (s->dto_len > 0) + { + /* set the transmit pending flag. */ + s->dto_tx_pending = BLT_TRUE; + /* submit the data for transmission. */ + uip_send(s->dto_data, s->dto_len); + } + } + } + if (uip_newdata()) { /* only process the data if its length is not longer than expected. otherwise just - * ignore it. + * ignore it. XCP is request/response. this means that a new requests should + * only be processed when the response the the previous request was sent. new + * requests before the last response was sent can therefore also be ignored. */ - if ((uip_datalen() - 4) <= BOOT_COM_NET_RX_MAX_DATA) + if ( ((uip_datalen() - 4) <= BOOT_COM_NET_RX_MAX_DATA) && + (s->dto_tx_pending == BLT_FALSE) ) { - /* XCP is request/response. this means is a new request comes in when a response - * transmission is still pending, the XCP master either re-initialized or sent - * the request again because of a response time-out. Either way the pending response - * should be cancelled before handling the new request. - */ - s->dto_len = 0; /* the first 4 bytes contain a counter value in which we are not really interested */ newDataPtr = uip_appdata; XcpPacketReceived(&newDataPtr[4], (blt_int8u)(uip_datalen() - 4)); @@ -399,6 +421,23 @@ static void NetServerTask(void) ARPTimerTimeOut += NET_UIP_ARP_TIMER_MS; uip_arp_timer(); } + + /* perform polling operations here. */ + for (connection = 0; connection < UIP_CONNS; connection++) + { + uip_poll_conn(&uip_conns[connection]); + /* If the above function invocation resulted in data that + * should be sent out on the network, the global variable + * uip_len is set to a value > 0. + */ + if (uip_len > 0) + { + uip_arp_out(); + netdev_send(); + uip_len = 0; + } + } + } /*** end of NetServerTask ***/ #endif /* BOOT_COM_NET_ENABLE > 0 */ diff --git a/Target/Source/net.h b/Target/Source/net.h index 525bef07..329f8dec 100644 --- a/Target/Source/net.h +++ b/Target/Source/net.h @@ -49,6 +49,8 @@ typedef struct net_state blt_int32u dto_counter; blt_int8u dto_data[BOOT_COM_NET_TX_MAX_DATA + 4]; /* +4 for counter overhead */ blt_int16u dto_len; + blt_bool dto_tx_req; + blt_bool dto_tx_pending; } uip_tcp_appstate_t;