- Implemented flash driver for the XMC4 port.

git-svn-id: https://svn.code.sf.net/p/openblt/code/trunk@163 5dc33758-31d5-4daf-9ae8-b24bf3d40d73
This commit is contained in:
Frank Voorburg 2016-10-21 22:10:37 +00:00
parent 2cdee1a03e
commit 56d5ac0792
14 changed files with 2100 additions and 1723 deletions

View File

@ -1,57 +1,57 @@
S01E00002E2E5C62696E5C6F70656E626C745F786D63343730302E7372656353
S3150800000000600020FD0F0008431000084510000896
S3150800001047100008491000084B10000800000000AF
S315080000200000000000000000000000004D1000085D
S315080000304F10000800000000511000085310000877
S3150800004057100008591000085B1000085D100008DA
S315080000505F100008611000086310000865100008AA
S315080000606710000800000000000000000000000003
S3150800007069100008000000006B1000086D100008E9
S315080000806F1000087110000873100008751000083A
S3150800009077100008791000087B1000087D1000080A
S315080000A07F100008811000088310000885100008DA
S315080000B087100008891000088B1000088D100008AA
S315080000C08F1000089110000893100008951000087A
S315080000D097100008991000089B1000089D1000084A
S315080000E09F100008A1100008A3100008A51000081A
S315080000F0A7100008A9100008AB100008AD100008EA
S31508000100AF100008B1100008B3100008B5100008B9
S31508000110B7100008B9100008BB100008BD10000889
S31508000120BF100008C1100008C3100008C510000859
S31508000130C7100008C9100008CB100008CD10000829
S31508000140CF100008D1100008D3100008D5100008F9
S31508000150D7100008D9100008DB100008DD100008C9
S3150800000000600020151200085B1200085D12000847
S315080000105F12000861120008631200080000000061
S315080000200000000000000000000000006512000843
S315080000306712000800000000691200086B12000829
S315080000406F12000871120008731200087512000872
S3150800005077120008791200087B1200087D12000842
S315080000607F120008000000000000000000000000E9
S31508000070811200080000000083120008851200089B
S3150800008087120008891200088B1200088D120008D2
S315080000908F120008911200089312000895120008A2
S315080000A097120008991200089B1200089D12000872
S315080000B09F120008A1120008A3120008A512000842
S315080000C0A7120008A9120008AB120008AD12000812
S315080000D0AF120008B1120008B3120008B5120008E2
S315080000E0B7120008B9120008BB120008BD120008B2
S315080000F0BF120008C1120008C3120008C512000882
S31508000100C7120008C9120008CB120008CD12000851
S31508000110CF120008D1120008D3120008D512000821
S31508000120D7120008D9120008DB120008DD120008F1
S31508000130DF120008E1120008E3120008E5120008C1
S31508000140E7120008E9120008EB120008ED12000891
S31508000150EF120008F1120008F3120008F512000861
S315080001600000000000000000000000000000000081
S31508000170DF100008E1100008E3100008E510000889
S31508000180E7100008E9100008EB100008ED10000859
S31508000190EF100008F1100008F3100008F510000829
S315080001A0F7100008F9100008FB100008FD100008F9
S315080001B0FF100008011100080311000805110008C6
S315080001C007110008091100080B1100080D11000895
S315080001D00F11000811110008131100080000000093
S315080001E01511000817110008191100081B1100083D
S315080001F01D110008000000001F1100080000000083
S31508000170F7120008F9120008FB120008FD12000821
S31508000180FF120008011300080313000805130008EE
S3150800019007130008091300080B1300080D130008BD
S315080001A00F1300081113000813130008151300088D
S315080001B017130008191300081B1300081D1300085D
S315080001C01F1300082113000823130008251300082D
S315080001D027130008291300082B1300080000000045
S315080001E02D1300082F1300083113000833130008D5
S315080001F0351300080000000037130008000000004F
S3150800020010B5054C237833B9044B13B10448AFF342
S3150800021000800123237010BD80000020000000002C
S315080002204C1A0008084B10B51BB108490848AFF32B
S31508000220B81C0008084B10B51BB108490848AFF3BD
S3150800023000800848036803B910BD074B002BFBD0A4
S31508000240BDE81040184700BF0000000084000020E9
S315080002504C1A00086C00002000000000154B002B0B
S31508000250B81C00086C00002000000000154B002B9D
S3150800026008BF134B9D46A3F5803A00218B460F46DF
S315080002701348144A121A01F047FB0F4B002B00D003
S315080002701348144A121A01F053FC0F4B002B00D0F6
S3150800028098470E4B002B00D0984700200021040009
S315080002900D000D48002802D00C48AFF3008001F08D
S315080002A00DFB2000290000F007FD01F0F3FA00BF5E
S315080002A019FC2000290000F069FD01F0FFFB00BFE2
S315080002B000000800006000200000000000000000A8
S315080002C080000020900500200000000000000000CB
S315080002C080000020900900200000000000000000C7
S315080002D008B500F045F8044B5B6A13F4005F01D1DA
S315080002E0002008BD012008BD008F024808B564201B
S315080002F000F006F808BD00BF08B500F007F808BD0D
S31508000300014B1880704700BFA000002008B500F018
S3150800031051FF0F4B1B68984218D30E4B1B783BB9FD
S31508000300014B1880704700BFA000002008B501F017
S315080003105DF80F4B1B68984218D30E4B1B783BB9F8
S3150800032001220C4B1A704FF400720B4B5A6006E010
S315080003300022084B1A704FF00072074B5A6000F003
S3150800034039FF064B1B881844014B186008BD00BFCF
S315080003300022084B1A704FF00072074B5A6001F002
S3150800034045F8064B1B881844014B186008BD00BFCA
S315080003509C000020A200002000850248A000002082
S315080003604FF00072014B5A60704700BF0085024883
S3150800037082B00023019303E000BF019B0133019380
@ -98,336 +98,375 @@ S315080005F010470050004700506BCA5F6B002F0B0175
S31508000600004600500500010003002001002F0501E7
S31508000610002F0301002F0201002F0101002F000106
S3150800062010B54FF00053044C0FCB84E80F00FFF7CA
S31508000630ADFEFFF717FF10BD70000020F8B50446A1
S315080006400D461646624B98422FD003F580739842A2
S315080006502BD003F58073984227D003F58073984210
S3150800066023D003F5807398421FD003F58073984210
S315080006701BD003F58073984217D003F58073984210
S3150800068013D003F5807398420FD003F58073984210
S315080006900BD003F5A063984207D003F58073984200
S315080006A003D043214B4800F063FE33781BB3082B75
S315080006B023D0102B23D0182B23D0202B23D0282B44
S315080006C023D0302B23D0382B23D0802B23D0882B34
S315080006D023D0902B23D0982B23D0A02B23D0C02B0C
S315080006E023D0C82B23D0D02B23D0D82B23D0E02B34
S315080006F023D1012322E0012320E001231EE0012368
S315080007001CE001231AE0012318E0012316E0012367
S3150800071014E0012312E0012310E001230EE0012377
S315080007200CE001230AE0012308E0012306E0012387
S3150800073004E0012302E0012300E000231BB9442161
S31508000740244800F015FEAB081F1D54F8270005F0D5
S315080007500302D200F821914020EA010144F827104B
S31508000760606F6F000321B94020EA010161671A49E9
S315080007708C4203D001F580718C4207D1216E01208D
S3150800078000FA05F521EA0505256617E07168A9400E
S315080007906160E908103154F8217005F00705AD00CD
S315080007A00720A84027EA000044F8210054F82170E1
S315080007B0307A00FA05F53D4344F82150043354F8DD
S315080007C02300317801FA02F2024344F82320F8BDE7
S315080007D00080024834190008008E0248020F20F0F3
S315080007E07040034B53F82220136818431060704773
S315080007F064190008034B1868034B5B6903F001038F
S31508000800D84070476C00002000460050020F20F0C8
S315080008107040034B53F82220136818431060704742
S315080008205419000870B504460E461546494B9842B9
S315080008302FD003F5807398422BD003F58073984226
S3150800084027D003F58073984223D003F58073984226
S315080008501FD003F5807398421BD003F58073984226
S3150800086017D003F58073984213D003F58073984226
S315080008700FD003F5807398420BD003F5A063984216
S3150800088007D003F58073984203D04321324800F01D
S315080008906FFD1DB3082D23D0102D23D0182D23D07E
S315080008A0202D23D0282D23D0302D23D0382D23D00A
S315080008B0802D23D0882D23D0902D23D0982D23D07A
S315080008C0A02D23D0C02D23D0C82D23D0D02D23D0A2
S315080008D0D82D23D0E02D23D1012322E0012320E0C7
S315080008E001231EE001231CE001231AE0012318E07E
S315080008F0012316E0012314E0012312E0012310E08E
S3150800090001230EE001230CE001230AE0012308E09D
S31508000910012306E0012304E0012302E0012300E0AD
S3150800092000231BB944210C4800F022FDB308043308
S3150800093054F8231006F00306F600F822B24021EA1E
S31508000940020244F8232054F82320B540154344F8FE
S31508000950235070BD008002487419000870B505461A
S315080009600E4600F0FBF8F47904B9102422463168E3
S31508000970284600F045F8B379013B6408013424029F
S3150800098044EA430343F00103EB633379013B1B0657
S3150800099043F481736B6373792BB16A6B013B42EA4B
S315080009A003436B6305E06A6B3379013B42EA034311
S315080009B06B634FF4A063AB634FF0FF33EB6433898B
S315080009C02B6470BDD0F8083113F0E06F09D1836B42
S315080009D013F0800FFBD14FF40053C364C0F88010A6
S315080009E07047C0F880117047D0F80C3113F0E06FEB
S315080009F002D1406D80B27047D0F81C0180B27047B2
S31508000A0063293BD9002A3BD02DE9F04115460C460F
S31508000A100646FFF7EFFE1B49A1FB00377F09A1FB3E
S31508000A200431480940F2FF3E4FF0010CE04671469A
S31508000A3011E007FB01F300FB05F2B3FBF2F39C0A96
S31508000A40C3F30903B4F5806F04D29E4502D99E46C6
S31508000A50A446884601390029EBD148F4004333619E
S31508000A607269094B1340013D43EA85230CF1FF3CAB
S31508000A7043EA0C4373610020BDE8F081012070470A
S31508000A80012070471F85EB51EF8000FC30B4D0F889
S31508000A90084124F0E064C0F80841D0F80851064C33
S31508000AA02C4041EA032343EA026244EA0203C0F8FF
S31508000AB0083130BC704700BFC0C0FFF830B4D0F86A
S31508000AC00C4124F0E064C0F80C41D0F80C51074CF6
S31508000AD02C4041EA032343EA026244EA020343F054
S31508000AE08053C0F80C3130BC704700BFC0C0FFEF60
S31508000AF010B5144B984208D14FF40060FFF786FEF4
S31508000B004FF40060FFF76AFE10BD0F4B984207D1FD
S31508000B100E4C2046FFF77AFE2046FFF75FFE10BD13
S31508000B200B4B984207D10B4C2046FFF76FFE204629
S31508000B30FFF754FE10BD40F24B11074800F018FCB1
S31508000B4010BD00BF080003400800024880000010DE
S31508000B5008400248000100109419000810B5044620
S31508000B602F4B984205D003F50073984203D1012311
S31508000B7002E0012300E0002343B92A4B9C4207D038
S31508000B8003F500739C4205D1012304E0012302E02A
S31508000B90012300E0002343B9234B9C4207D003F509
S31508000BA000739C4205D1012304E0012302E00123DE
S31508000BB000E000231BB951211C4800F0D9FB184B53
S31508000BC09C4203D003F500739C4203D11848FFF7F3
S31508000BD08FFF19E0134B9C4203D003F500739C4228
S31508000BE003D11448FFF784FF0EE00F4B9C4203D055
S31508000BF003F500739C4203D10F48FFF779FF03E022
S31508000C0065210A4800F0B4FB0323E360E36813F0A8
S31508000C10010FFBD0236C23F00F03236410BD00BF24
S31508000C2000000340000002480040024894190008EA
S31508000C3008000340080002480840024810B5802210
S31508000C4009210748FFF7EEFD064C00220D21204634
S31508000C50FFF7E8FD236E23F40053236610BD00BF9B
S31508000C6000850248008F024870B586B000238DF8CB
S31508000C700C300126049602258DF814500C4C03AA54
S31508000C8004212046FFF7DAFC90238DF80030019600
S31508000C908DF808506A4605212046FFF7CFFC054A1D
S31508000CA0D36923F007033343D36106B070BD00BF91
S31508000CB0008102480000034008B5FFF7BFFF00F0B7
S31508000CC08BFBFFF7D1FF00F095FBFCE708B500F0BA
S31508000CD091F908BD10B500F033FAA0B1FFF7F8FA9C
S31508000CE088B100F0AFFB00F03DFA00F02DFA20F0D5
S31508000CF0604020F07F00044B186000F025FA446835
S31508000D0000F07AF9A04710BD08ED00E070B508E0DC
S31508000D10461C4D1C0B78037000F0C2FB2246304679
S31508000D202946531E9CB2002AF2D170BD0120704795
S31508000D300120704738B50546002419E000F0B0FBDD
S31508000D4004EB440293000C4AD358AB420ED804EB8A
S31508000D5044018A0008490A44526813449D4205D250
S31508000D6004EB440083000B44187A38BD0134E4B21E
S31508000D70072CE3D9FF2038BDB419000808B5C1F31C
S31508000D80080353B90368994209D040F8041B4FF485
S31508000D900072FFF7BBFF012008BD002008BD012037
S31508000DA008BD00BF38B50D460B4B984207D0044620
S31508000DB00A4B994205D0FFF7B9FF18B908E0084C65
S31508000DC000E0054C29462046FFF7D8FF10B938BD84
S31508000DD0002038BD204638BDA40000200040000889
S31508000DE0A80200202DE9F04106460C4617461D4686
S31508000DF021F4FF7828F001080368B3F1FF3F04D116
S31508000E004146FFF7BBFF034630B33368984505D024
S31508000E1041463046FFF7C6FF0646D0B13368E41AA6
S31508000E203444043400F03CFB331DE31AB3F5007F69
S31508000E3007D308F500713046FFF7B4FF064650B1F0
S31508000E40041D17F8013B04F8013B013DEAD10123D3
S31508000E5002E0002300E000231846BDE8F08100BF49
S31508000E604FF0FF33024A1360024A1360704700BF0F
S31508000E70A8020020A400002070B504460D461646B8
S31508000E80FFF758FFFF281AD060190138FFF752FFFD
S31508000E90FF2816D024F4FF7323F001030A4A93426D
S31508000EA006D12B46324621460848FFF79BFF70BD00
S31508000EB02B46324621460648FFF794FF70BD0020B0
S31508000EC070BD002070BD00BF00400008A4000020CF
S31508000ED0A802002070B506460C46FFF72BFF05460C
S31508000EE030190138FFF726FFFF2D06D0FF2806D058
S31508000EF001462846FFF71CFF70BD002070BD002084
S31508000F0070BD00BF114B1B68B3F1FF3F18D000B589
S31508000F1083B00E4B59689A681144DA6811441A6905
S31508000F2011445A6911449A691144DA698B18DB43EA
S31508000F3002AA42F8043D04210548FFF79DFF01E097
S31508000F400120704703B05DF804FB00BFA400002031
S31508000F50004200080E4B1A6804331B6813440D4AF6
S31508000F60126813440C4A126813440C4A1268134454
S31508000F700B4A126813440B4A12681344DB430A4AA5
S31508000F801268934201D1012070470020704700BFC4
S31508000F9000400008084000080C40000810400008FF
S31508000FA014400008184000080042000808B50D4B18
S31508000FB01B68B3F1FF3F04D00A48FFF7B7FE0346A4
S31508000FC068B1094B1B68B3F1FF3F05D00648FFF728
S31508000FD0ADFE034610B902E0012300E001231846DE
S31508000FE008BD00BFA4000020A802002000487047E2
S31508000FF00040000872B6704762B670470649074A4D
S31508001000074B9A42BEBF51F8040B42F8040BF8E7A7
S315080010100448804704480047581A00080000002082
S315080010206C000020210600085D0200083C493D4A84
S31508001030002301E041F8043B9142FBD3FFF73CFE55
S31508001040FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE76A
S31508001050FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE75A
S31508001060FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE74A
S31508001070FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE73A
S31508001080FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE72A
S31508001090FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE71A
S315080010A0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE70A
S315080010B0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7FA
S315080010C0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7EA
S315080010D0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7DA
S315080010E0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7CA
S315080010F0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7BA
S31508001100FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7A9
S31508001110FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE799
S31508001120800000209005002008B5FFF799FE08BD4D
S3150800113008B5FFF7A1FE08BD08B5FFF7CBFE08BD49
S3150800114008B5FFF707FF08BD08B5FFF74FFF08BD4D
S3150800115008B5FFF7D7FE034610B1FFF727FF03468A
S31508001160184608BD0022014B1A60704710E000E0DF
S3150800117008B5FFF7F7FF054B054A5A6000229A6043
S3150800118005211960034B1A6008BD00BF10E000E096
S315080011907F320200AC040020044B1B6813F4803F26
S315080011A003D0034A136801331360704710E000E068
S315080011B0AC04002008B5FFF7EFFF014B186808BD1F
S315080011C0AC04002008B50D4BD3F8143113F4805F36
S315080011D012D101460948FFF7F5FB084BD3F814313D
S315080011E013F4807FF9D0054AD2F8183143F4807396
S315080011F0C2F81831012008BD002008BD00000340D0
S31508001200074BD3F8143113F0080F07D110B504466D
S315080012100348FFF7E9FB2070012010BD0020704746
S3150800122000000340F0B585B04FF4614301930823ED
S315080012308DF808308DF8093001258DF80A501027E9
S315080012408DF80B700026ADF80C600C4C01A92046F1
S31508001250FFF784FB2B46042239462046FFF716FC87
S315080012602B46042231462046FFF728FC236C23F040
S315080012700F0343F00203236405B0F0BD00000340EA
S3150800128070B506460D46402903D972210F4800F06D
S315080012906FF82846FFF796FF012803D076210B48FA
S315080012A000F066F800240CE000F0FAF8305DFFF76D
S315080012B089FF012803D07F21044800F059F801343A
S315080012C0A4B2ABB29C42EFD370BD00BF141A00089B
S315080012D038B5224B1C789CB92148FFF791FF0128A5
S315080012E03AD11F4B1B78002B31D0FFF763FF1D4BFC
S315080012F0186000221C4B1A700122184B1A702BE03A
S315080013000546194B1B78013315481844FFF778FF33
S315080013100446012810D1144B1A780132D2B21A7039
S315080013200F4B1B789A4214D110492846FFF7EEFC5A
S3150800133000220A4B1A700FE0FFF73CFF094B1B68A7
S315080013406433984207D90024044B1C7004E01C46F9
S3150800135002E0002400E00024204638BDF204002004
S31508001360B0040020F4040020F1040020B104002099
S3150800137008B5024B196000F093F8FCE7F804002062
S3150800138008B500F085F8012810D0094B1B78012B09
S315080013900CD1FFF70FFF074B1B6803F5FA7398424A
S315080013A004D30022024B1A70FFF794FC08BD00BF55
S315080013B0FC0400200005002008B50122044B1A7021
S315080013C0FFF7F8FE034B1860FFF7DAFF08BD00BF0A
S315080013D0FC0400200005002008B5FFF777FC00F0A4
S315080013E05BF8FFF7C5FEFFF79FFE00F00DF8FFF765
S315080013F0E3FF08BD08B500F053F8FFF7CDFE00F08F
S315080014000FF8FFF7BDFF08BD08B500F0B5F9FFF7FF
S3150800141009FF0022014B1A7008BD00BF000000201A
S3150800142008B50648FFF754FF012805D10022044BEA
S315080014301A70024800F0BEF908BD00BF0405002076
S3150800144000000020704700BF08B5044B1B7813B98D
S31508001450C9B2FFF715FF00F0A5F908BD0000002086
S31508001460044B1B78013B022B01D940207047002012
S31508001470704700BF00000020044B1B78013B022B7D
S3150800148001D9402070470020704700BF00000020A7
S3150800149008B500F07FF908BD08B5FEF727FF08BDB7
S315080014A008B5FEF729FF08BD10B4002304E010F8BC
S315080014B0011B0B44DBB221464C1E0029F7D11360F1
S315080014C001205DF8044B70470022014B5A707047A3
S315080014D044050020034BFE22DA7018710222A3F895
S315080014E0442070474405002010B5054C002323709E
S315080014F0FFF7EAFFFF23E3700123A4F8443010BD89
S3150800150044050020064BFF22DA7000221A7159782A
S3150800151059719A71DA711A720622A3F84420704733
S315080015204405002008B50020FFF7D4FF08BD00BF1A
S31508001530084BFF22DA70084A9A6400221A715A7117
S315080015409A710721D9711A725A729A720822A3F8E7
S3150800155044207047440500203C1A0008044BFF222B
S31508001560DA7042689A640122A3F84420704700BFE3
S315080015704405002010B5084CFF23E370E21D4168BE
S31508001580A06CFFF791FF207100236371A3710823F4
S31508001590A4F8443010BD00BF4405002008B531202A
S315080015A0FFF798FF08BD00BF38B5084CFF23E37066
S315080015B0002525716571FFF753FFA071E571257246
S315080015C065720723A4F8443038BD00BF44050020DF
S315080015D038B5FFF779FF0D4C01252570FF23E37019
S315080015E01023237100236371FFF73AFFA071FFF7F9
S315080015F043FFE071FFF740FFC0F3072020726572D2
S31508001600A5720823A4F8443038BD00BF440500205D
S3150800161038B505464478FFF723FF0138844203DDD1
S315080016202220FFF757FF38BD084C6A78A16C201DA9
S31508001630FFF76CFBFF23E3706B78A26C1344A3647B
S315080016406B780133A4F8443038BD00BF4405002048
S3150800165038B504464578FFF703FF0138854203DDB0
S315080016602220FFF737FF38BD6168084DA964627804
S31508001670281DFFF74BFBFF23EB706378AA6C134416
S31508001680AB6463780133A5F8443038BD44050020BF
S3150800169038B505460D4B9C6CFFF7E2FE6A1C411EE9
S315080016A02046FFF745FD18B93120FFF713FF38BD6F
S315080016B0064CFF23E370FFF7D3FE0138A36C1844EA
S315080016C0A0640123A4F8443038BD00BF44050020B7
S315080016D038B504464578FFF7C3FE0238854203DD70
S315080016E02220FFF7F7FE38BD0F4BFF22DA700122E2
S315080016F0A3F84420617831B9FFF72AFD90B9312063
S31508001700FFF7E8FE38BDA21C074B986CFFF710FDE3
S3150800171018B93120FFF7DEFE38BD6378024A916CAE
S315080017200B44936438BD00BF4405002008B54168E2
S31508001730074B986CFFF700FD18B93120FFF7CAFE72
S3150800174008BD034BFF22DA700122A3F8442008BD26
S315080017504405002008B5FFF7BDFA034BFF22DA70EF
S315080017600122A3F8442008BD4405002008B589B223
S31508001770FFF76AFE08BD00BF054B00221A709A647F
S3150800178083F84320A3F844209A705A70704700BF24
S3150800179044050020024B187800B10120704700BFAD
S315080017A0440500200022024B83F84320704700BFFF
S315080017B04405002008B50378FF2B02D1FFF708FF80
S315080017C050E0334A1278012A60D1C93B352B46D8F6
S315080017D0DFE803F03345454245453F363C39454544
S315080017E0454545454545454545454545454545459B
S315080017F04545454545454545454545454545241ED3
S315080018001B2145454527452A2D30FFF701FF29E0CD
S31508001810FFF71EFF26E0FFF7A1FE23E0FFF7AAFE6B
S3150800182020E0FFF785FE1DE0FFF77CFE1AE0FFF7D4
S3150800183069FE17E0FFF758FE14E0FFF729FF11E0ED
S31508001840FFF746FF0EE0FFF7AFFE0BE0FFF76EFF70
S3150800185008E0FFF77FFF05E0FFF7A0FE02E0202083
S31508001860FFF738FE0A4B93F84330012B02D11020BC
S31508001870FFF730FE064BB3F94410002906DD18467B
S31508001880012380F843300330FFF770FF08BD00BF1F
S315080018904405002008B5074B044613B10021AFF3F1
S315080018A00080054B1868836A03B19847204600F004
S315080018B033F800BF00000000481A000870B50E4B48
S315080018C00E4CE41AA41000251E46A54204D056F86C
S315080018D0253098470135F8E700F020F8084C094B01
S315080018E0E41AA41000251E46A54204D056F8253051
S315080018F098470135F8E770BD6400002064000020B1
S31508001900680000206400002002440346934202D087
S3150800191003F8011BFAE77047FEE70000F8B500BFB9
S31508001920F8BC08BC9E467047F8B500BFF8BC08BCB2
S315080019309E4670472E2E5C6C69625C786D636C6996
S31508001940625C7372635C786D63345F6770696F2E6F
S315080019506300000048460050544600506046005058
S315080019606C46005014440050204400502C4400504B
S31508001970384400502E2E5C6C69625C786D636C6925
S31508001980625C7372635C786D635F6770696F2E6300
S31508001990000000002E2E5C6C69625C786D636C69D1
S315080019A0625C7372635C786D635F757369632E63DB
S315080019B00000000000400008004000000100000090
S315080019C000800008004000000200000000C0000877
S315080019D0004000000300000000000108004000006D
S315080019E00400000000400108004000000500000057
S315080019F000800108004000000600000000C0010841
S31508001A000040000007000000000002080000020075
S31508001A10080000002E2E5C2E2E5C2E2E5C2E2E5CD0
S31508001A20536F757263655C41524D434D345F584D33
S31508001A3043345C756172742E630000004F70656EE6
S31508001A40424C54004300000004000020000000003F
S30D08001A500CE8FF7F010000000D
S31508001A58040000000000000000000000000000006C
S31508001A680000000000000000000000000000000060
S31508001A7800000000441A00080000000000000000EA
S31508001A880000000000000000000000000000000040
S31508001A980000000000000000000000000000000030
S31508001AA80000000000000000000000000000000020
S31108001AB8000000002502000801020008DA
S31508001AC40000000000000000000000000000000004
S30908001AD40000000000
S31508000630ADFEFFF717FF10BD700000205022014BDA
S315080006401A6070475455000C024B18600433196041
S31508000650704700BFF055000C10B4064AAA23136071
S31508000660552405490C60A021116003605DF8044B10
S31508000670704700BF5455000CA8AA000C30B4074BAD
S31508000680AA241C60064A5521116080251D601C603D
S3150800069011603023036030BC704700BF5455000C0E
S315080006A0A8AA000CF522014B1A6070475455000C95
S315080006B041F21003014AD058704700BF0010005895
S315080006C070B506460D46FFF7EDFFFFF7B7FF0024A6
S315080006D007E0631C55F8231055F82400FFF7B4FF0C
S315080006E002343F2CF5D93046FFF7B6FF70BD00BF80
S315080006F010B50446FFF7D6FF2046FFF7BFFF10BD2B
S31508000700F8B504460D461646624B98422FD003F5B7
S31508000710807398422BD003F58073984227D003F54F
S315080007208073984223D003F5807398421FD003F54F
S31508000730807398421BD003F58073984217D003F54F
S315080007408073984213D003F5807398420FD003F54F
S31508000750807398420BD003F5A063984207D003F53F
S315080007608073984203D043214B4800F00DFF33783D
S315080007701BB3082B23D0102B23D0182B23D0202BC8
S3150800078023D0282B23D0302B23D0382B23D0802BD3
S3150800079023D0882B23D0902B23D0982B23D0A02B83
S315080007A023D0C02B23D0C82B23D0D02B23D0D82B93
S315080007B023D0E02B23D1012322E0012320E00123CB
S315080007C01EE001231CE001231AE0012318E001239F
S315080007D016E0012314E0012312E0012310E00123AF
S315080007E00EE001230CE001230AE0012308E00123BF
S315080007F006E0012304E0012302E0012300E00023D0
S315080008001BB94421244800F0BFFEAB081F1D54F84D
S31508000810270005F00302D200F821914020EA0101E1
S3150800082044F82710606F6F000321B94020EA0101E0
S3150800083061671A498C4203D001F580718C4207D151
S31508000840216E012000FA05F521EA0505256617E05F
S315080008507168A9406160E908103154F8217005F003
S315080008600705AD000720A84027EA000044F8210044
S3150800087054F82170307A00FA05F53D4344F82150C2
S31508000880043354F82300317801FA02F2024344F89B
S315080008902320F8BD008002484C1B0008008E024841
S315080008A0020F20F07040034B53F8222013681843B8
S315080008B0106070477C1B0008034B1868034B5B6984
S315080008C003F00103D84070476C0000200046005032
S315080008D0020F20F07040034B53F822201368184388
S315080008E0106070476C1B000870B504460E46154626
S315080008F0494B98422FD003F5807398422BD003F5C5
S315080009008073984227D003F58073984223D003F565
S31508000910807398421FD003F5807398421BD003F565
S315080009208073984217D003F58073984213D003F565
S31508000930807398420FD003F5807398420BD003F565
S31508000940A063984207D003F58073984203D04321E9
S31508000950324800F019FE1DB3082D23D0102D23D0E0
S31508000960182D23D0202D23D0282D23D0302D23D069
S31508000970382D23D0802D23D0882D23D0902D23D019
S31508000980982D23D0A02D23D0C02D23D0C82D23D019
S31508000990D02D23D0D82D23D0E02D23D1012322E03A
S315080009A0012320E001231EE001231CE001231AE0B5
S315080009B0012318E0012316E0012314E0012312E0C5
S315080009C0012310E001230EE001230CE001230AE0D5
S315080009D0012308E0012306E0012304E0012302E0E5
S315080009E0012300E000231BB944210C4800F0CCFD8C
S315080009F0B308043354F8231006F00306F600F82269
S31508000A00B24021EA020244F8232054F82320B540D4
S31508000A10154344F8235070BD008002488C1B00081B
S31508000A2070B505460E4600F0FBF8F47904B91024B3
S31508000A3022463168284600F045F8B379013B640838
S31508000A400134240244EA430343F00103EB63337998
S31508000A50013B1B0643F481736B6373792BB16A6B95
S31508000A60013B42EA03436B6305E06A6B3379013B5A
S31508000A7042EA03436B634FF4A063AB634FF0FF3363
S31508000A80EB6433892B6470BDD0F8083113F0E06F3E
S31508000A9009D1836B13F0800FFBD14FF40053C36465
S31508000AA0C0F880107047C0F880117047D0F80C3134
S31508000AB013F0E06F02D1406D80B27047D0F81C0188
S31508000AC080B2704763293BD9002A3BD02DE9F04113
S31508000AD015460C460646FFF7EFFE1B49A1FB0037F5
S31508000AE07F09A1FB0431480940F2FF3E4FF0010C93
S31508000AF0E046714611E007FB01F300FB05F2B3FB84
S31508000B00F2F39C0AC3F30903B4F5806F04D29E4539
S31508000B1002D99E46A446884601390029EBD148F4F5
S31508000B20004333617269094B1340013D43EA85234B
S31508000B300CF1FF3C43EA0C4373610020BDE8F081E9
S31508000B4001207047012070471F85EB51EF8000FC9C
S31508000B5030B4D0F8084124F0E064C0F80841D0F871
S31508000B600851064C2C4041EA032343EA026244EA50
S31508000B700203C0F8083130BC704700BFC0C0FFF898
S31508000B8030B4D0F80C4124F0E064C0F80C41D0F839
S31508000B900C51074C2C4041EA032343EA026244EA1B
S31508000BA0020343F08053C0F80C3130BC704700BFD5
S31508000BB0C0C0FFEF10B5144B984208D14FF400603F
S31508000BC0FFF786FE4FF40060FFF76AFE10BD0F4B75
S31508000BD0984207D10E4C2046FFF77AFE2046FFF7CB
S31508000BE05FFE10BD0B4B984207D10B4C2046FFF712
S31508000BF06FFE2046FFF754FE10BD40F24B11074822
S31508000C0000F0C2FC10BD00BF0800034008000248FF
S31508000C10800000100840024800010010AC1B0008C4
S31508000C2010B504462F4B984205D003F50073984239
S31508000C3003D1012302E0012300E0002343B92A4B34
S31508000C409C4207D003F500739C4205D1012304E0BA
S31508000C50012302E0012300E0002343B9234B9C4211
S31508000C6007D003F500739C4205D1012304E0012354
S31508000C7002E0012300E000231BB951211C4800F0C3
S31508000C8083FC184B9C4203D003F500739C4203D1A6
S31508000C901848FFF78FFF19E0134B9C4203D003F562
S31508000CA000739C4203D11448FFF784FF0EE00F4BF4
S31508000CB09C4203D003F500739C4203D10F48FFF70B
S31508000CC079FF03E065210A4800F05EFC0323E36030
S31508000CD0E36813F0010FFBD0236C23F00F032364A2
S31508000CE010BD00BF00000340000002480040024853
S31508000CF0AC1B0008080003400800024808400248E8
S31508000D0010B5802209210748FFF7EEFD064C0022A0
S31508000D100D212046FFF7E8FD236E23F400532366D2
S31508000D2010BD00BF00850248008F024870B586B026
S31508000D3000238DF80C300126049602258DF81450F0
S31508000D400C4C03AA04212046FFF7DAFC90238DF801
S31508000D50003001968DF808506A4605212046FFF7AF
S31508000D60CFFC054AD36923F007033343D36106B0A2
S31508000D7070BD00BF008102480000034008B5FFF7B8
S31508000D80BFFF00F035FCFFF7D1FF00F03FFCFCE7A2
S31508000D9008B500F03BFA08BD10B500F0DDFAA0B1C1
S31508000DA0FFF796FA88B100F059FC00F0E7FA00F070
S31508000DB0D7FA20F0604020F07F00044B186000F05E
S31508000DC0CFFA446800F024FAA04710BD08ED00E009
S31508000DD070B508E0461C4D1C0B78037000F06CFCDF
S31508000DE0224630462946531E9CB2002AF2D170BDCF
S31508000DF0030E082B01D100F18060704738B505460F
S31508000E00002419E000F058FC04EB440293000C4A55
S31508000E10D358AB420ED804EB44018A0008490A4469
S31508000E20526813449D4205D204EB440083000B44E8
S31508000E30187A38BD0134E4B20E2CE3D9FF2038BD48
S31508000E40CC1B000838B50546002410E000F034FC39
S31508000E5004EB44029300084A13441B7AAB4204D1BC
S31508000E6004EB44018B00D05838BD0134E4B20E2C93
S31508000E70ECD94FF0FF3038BDCC1B000808B5C1F3DC
S31508000E80090353B90368994209D040F8041B4FF483
S31508000E908062FFF79DFF012008BD002008BD0120E4
S31508000EA008BD00BF2DE9F04106460068FFF7A6FF1A
S31508000EB0FF2833D000272CE000F0FEFB35683C0203
S31508000EC025443444043400F081FA00F10D08214623
S31508000ED02846FFF7F5FB05E000F078FA804520D3B1
S31508000EE000F0EAFBFFF7E4FB00F0010010F0FF0F4B
S31508000EF0F2D1FFF7DDFB30F0100315D1002305E032
S31508000F005A5DD2B2E15C8A4211D10133FF2BF7D97F
S31508000F100137032FD0D90120BDE8F0810020BDE8B4
S31508000F20F0810020BDE8F0810020BDE8F0810020B6
S31508000F30BDE8F08138B50D460B4B984207D00446FC
S31508000F400A4B994205D0FFF7ADFF18B908E0084CDF
S31508000F5000E0054C29462046FFF790FF10B938BD3A
S31508000F60002038BD204638BDA40000200040000CF3
S31508000F70A80400202DE9F04106460C4617461D46F2
S31508000F8021F47F7828F003080368B3F1FF3F04D102
S31508000F904146FFF773FF034630B33368984505D0DB
S31508000FA041463046FFF7C6FF0646D0B13368E41A15
S31508000FB03444043400F080FB331DE31AB3F5806F24
S31508000FC007D308F580613046FFF7B4FF064650B1EF
S31508000FD0041D17F8013B04F8013B013DEAD1012342
S31508000FE002E0002300E000231846BDE8F08100BFB8
S31508000FF0884230D8F8B505460E4670B30F2926D96B
S315080010002DE000F059FB2846FFF71CFF0746B0F114
S31508001010FF3F26D000F0DAF900F5CE5408343846FA
S31508001020FFF766FB05E000F0D1F984421BD300F018
S3150800103043FBFFF73DFB00F0010010F0FF0FF2D174
S31508001040FFF736FB30F020030FD10135EDB2B5427C
S31508001050D7D90120F8BD002070470020F8BD002030
S31508001060F8BD0020F8BD0020F8BD0020F8BD00BF7F
S315080010704FF0FF33024A1360024A1360704700BFFD
S31508001080A8040020A400002070B50D461646FFF7F8
S31508001090AFFE0446FFF7B2FEFF281AD060190138E2
S315080010A0FFF7ACFEFF2816D024F47F7323F0030362
S315080010B00A4A934206D12B46324621460848FFF78C
S315080010C059FF70BD2B46324621460648FFF752FFA8
S315080010D070BD002070BD002070BD00BF0040000C30
S315080010E0A4000020A804002070B50C46FFF780FE77
S315080010F00646FFF783FE054630190138FFF77EFEE0
S31508001100FF2D06D0FF2806D001462846FFF770FFB8
S3150800111070BD002070BD002070BD00BF114B1B685C
S31508001120B3F1FF3F18D000B583B00E4B59689A68E3
S315080011301144DA6811441A6911445A6911449A69C2
S315080011401144DA698B18DB4302AA42F8043D0421EC
S315080011500548FFF799FF01E00120704703B05DF8E5
S3150800116004FB00BFA40000200042000C0E4B1A68C6
S3150800117004331B6813440D4A126813440C4A126858
S3150800118013440C4A126813440B4A126813440B4A58
S3150800119012681344DB430A4A1268934201D10120BC
S315080011A070470020704700BF0040000C0840000C44
S315080011B00C40000C1040000C1440000C1840000CA9
S315080011C00042000C08B50D4B1B68B3F1FF3F04D075
S315080011D00A48FFF767FE034668B1094B1B68B3F177
S315080011E0FF3F05D00648FFF75DFE034610B902E04B
S315080011F0012300E00123184608BD00BFA400002013
S31508001200A8040020004870470040000C72B67047DA
S3150800121062B670470649074A074B9A42BEBF51F85D
S31508001220040B42F8040BF8E70448804704480047D3
S31508001230C41C0008000000206C00002021060008DD
S315080012405D0200083C493D4A002301E041F8043BA1
S315080012509142FBD3FFF792FDFEE7FEE7FEE7FEE7C6
S31508001260FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE748
S31508001270FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE738
S31508001280FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE728
S31508001290FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE718
S315080012A0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE708
S315080012B0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7F8
S315080012C0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7E8
S315080012D0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7D8
S315080012E0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7C8
S315080012F0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7B8
S31508001300FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7A7
S31508001310FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE797
S31508001320FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE787
S31508001330FEE7FEE7FEE7FEE78000002090090020B2
S3150800134008B5FFF795FE08BD08B5FFF79DFE08BD71
S3150800135008B5FFF7C9FE08BD08B5FFF707FF08BDC2
S3150800136008B5FFF74FFF08BD08B5FFF7D7FE0346D8
S3150800137010B1FFF727FF0346184608BD0022014BA8
S315080013801A60704710E000E008B5FFF7F7FF054B55
S31508001390054A5A6000229A6005211960034B1A60B3
S315080013A008BD00BF10E000E07F320200AC08002054
S315080013B0044B1B6813F4803F03D0034A13680133B8
S315080013C01360704710E000E0AC08002008B5FFF78E
S315080013D0EFFF014B186808BDAC08002008B50D4B97
S315080013E0D3F8143113F4805F12D101460948FFF788
S315080013F04BFB084BD3F8143113F4807FF9D0054A18
S31508001400D2F8183143F48073C2F81831012008BDA8
S31508001410002008BD00000340074BD3F8143113F031
S31508001420080F07D110B504460348FFF73FFB2070A5
S31508001430012010BD0020704700000340F0B585B0BC
S315080014404FF46143019308238DF808308DF809306D
S3150800145001258DF80A5010278DF80B700026ADF877
S315080014600C600C4C01A92046FFF7DAFA2B46042239
S3150800147039462046FFF76CFB2B46042231462046A8
S31508001480FFF77EFB236C23F00F0343F0020323646C
S3150800149005B0F0BD0000034070B506460D4640296C
S315080014A003D972210F4800F06FF82846FFF796FF18
S315080014B0012803D076210B4800F066F800240CE0DA
S315080014C000F0FAF8305DFFF789FF012803D07F2185
S315080014D0044800F059F80134A4B2ABB29C42EFD3E9
S315080014E070BD00BF801C000838B5224B1C789CB91B
S315080014F02148FFF791FF01283AD11F4B1B78002B93
S3150800150031D0FFF763FF1D4B186000221C4B1A7081
S315080015100122184B1A702BE00546194B1B7801332C
S3150800152015481844FFF778FF0446012810D1144BD4
S315080015301A780132D2B21A700F4B1B789A4214D11C
S3150800154010492846FFF744FC00220A4B1A700FE0A0
S31508001550FFF73CFF094B1B686433984207D9002400
S31508001560044B1C7004E01C4602E0002400E0002442
S31508001570204638BDF2080020B0080020F4080020F4
S31508001580F1080020B108002008B5024B196000F0E8
S3150800159093F8FCE7F808002008B500F085F801285C
S315080015A010D0094B1B78012B0CD1FFF70FFF074B07
S315080015B01B6803F5FA73984204D30022024B1A708B
S315080015C0FFF7EAFB08BD00BFFC0800200009002061
S315080015D008B50122044B1A70FFF7F8FE034B186092
S315080015E0FFF7DAFF08BD00BFFC080020000900204D
S315080015F008B5FFF7CDFB00F05BF8FFF7C5FEFFF770
S315080016009FFE00F00DF8FFF7E3FF08BD08B500F0F0
S3150800161053F8FFF7CDFE00F00FF8FFF7BDFF08BD42
S3150800162008B500F0B5F9FFF709FF0022014B1A705B
S3150800163008BD00BF0000002008B50648FFF754FFA4
S31508001640012805D10022044B1A70024800F0BEF9A1
S3150800165008BD00BF0409002000000020704700BF35
S3150800166008B5044B1B7813B9C9B2FFF715FF00F08C
S31508001670A5F908BD00000020044B1B78013B022B8E
S3150800168001D9402070470020704700BF00000020A5
S31508001690044B1B78013B022B01D9402070470020E0
S315080016A0704700BF0000002008B500F07FF908BDAC
S315080016B008B5FEF71BFE08BD08B5FEF71DFE08BDFA
S315080016C010B4002304E010F8011B0B44DBB22146DA
S315080016D04C1E0029F7D1136001205DF8044B7047B2
S315080016E00022014B5A70704744090020034BFE2222
S315080016F0DA7018710222A3F84420704744090020C2
S3150800170010B5054C00232370FFF7EAFFFF23E370AB
S315080017100123A4F8443010BD44090020064BFF22DB
S31508001720DA7000221A71597859719A71DA711A7237
S315080017300622A3F8442070474409002008B5002073
S31508001740FFF7D4FF08BD00BF084BFF22DA70084A2E
S315080017509A6400221A715A719A710721D9711A72FC
S315080017605A729A720822A3F8442070474409002046
S31508001770A81C0008044BFF22DA7042689A6401220A
S31508001780A3F84420704700BF4409002010B5084C50
S31508001790FF23E370E21D4168A06CFFF791FF2071FB
S315080017A000236371A3710823A4F8443010BD00BF59
S315080017B04409002008B53120FFF798FF08BD00BF8F
S315080017C038B5084CFF23E370002525716571FFF7CE
S315080017D053FFA071E571257265720723A4F844309A
S315080017E038BD00BF4409002038B5FFF779FF0D4C16
S315080017F001252570FF23E3701023237100236371ED
S31508001800FFF73AFFA071FFF743FFE071FFF740FFCC
S31508001810C0F3072020726572A5720823A4F8443025
S3150800182038BD00BF4409002038B505464478FFF79F
S3150800183023FF0138844203DD2220FFF757FF38BD16
S31508001840084C6A78A16C201DFFF7C2FAFF23E370E3
S315080018506B78A26C1344A3646B780133A4F8443004
S3150800186038BD00BF4409002038B504464578FFF75F
S3150800187003FF0138854203DD2220FFF737FF38BD15
S315080018806168084DA9646278281DFFF7A1FAFF234D
S31508001890EB706378AA6C1344AB6463780133A5F8DC
S315080018A0443038BD4409002038B505460D4B9C6CBC
S315080018B0FFF7E2FE6A1C411E2046FFF745FD18B9F0
S315080018C03120FFF713FF38BD064CFF23E370FFF7FF
S315080018D0D3FE0138A36C1844A0640123A4F844304D
S315080018E038BD00BF4409002038B504464578FFF7DF
S315080018F0C3FE0238854203DD2220FFF7F7FE38BD16
S315080019000F4BFF22DA700122A3F84420617831B91F
S31508001910FFF72AFD90B93120FFF7E8FE38BDA21C73
S31508001920074B986CFFF710FD18B93120FFF7DEFE5C
S3150800193038BD6378024A916C0B44936438BD00BF86
S315080019404409002008B54168074B986CFFF700FD6D
S3150800195018B93120FFF7CAFE08BD034BFF22DA701B
S315080019600122A3F8442008BD4409002008B5FFF762
S3150800197013FA034BFF22DA700122A3F8442008BDAC
S315080019804409002008B589B2FFF76AFE08BD00BF02
S31508001990054B00221A709A6483F84320A3F8442062
S315080019A09A705A70704700BF44090020024B187895
S315080019B000B10120704700BF440900200022024BF5
S315080019C083F84320704700BF4409002008B5037810
S315080019D0FF2B02D1FFF708FF50E0334A1278012A9D
S315080019E060D1C93B352B46D8DFE803F0334545427D
S315080019F045453F363C3945454545454545454545B3
S31508001A004545454545454545454545454545454578
S31508001A10454545454545241E1B2145454527452A37
S31508001A202D30FFF701FF29E0FFF71EFF26E0FFF73D
S31508001A30A1FE23E0FFF7AAFE20E0FFF785FE1DE0E2
S31508001A40FFF77CFE1AE0FFF769FE17E0FFF758FE7E
S31508001A5014E0FFF729FF11E0FFF746FF0EE0FFF756
S31508001A60AFFE0BE0FFF76EFF08E0FFF77FFF05E02C
S31508001A70FFF7A0FE02E02020FFF738FE0A4B93F896
S31508001A804330012B02D11020FFF730FE064BB3F985
S31508001A904410002906DD1846012380F84330033038
S31508001AA0FFF770FF08BD00BF4409002008B5074BC3
S31508001AB0044613B10021AFF30080054B1868836A0A
S31508001AC003B19847204600F033F800BF0000000035
S31508001AD0B41C000870B50E4B0E4CE41AA410002571
S31508001AE01E46A54204D056F8253098470135F8E732
S31508001AF000F020F8084C094BE41AA41000251E46ED
S31508001B00A54204D056F8253098470135F8E770BD48
S31508001B1064000020640000206800002064000020A3
S31508001B2002440346934202D003F8011BFAE77047C2
S31508001B30FEE70000F8B500BFF8BC08BC9E46704733
S31508001B40F8B500BFF8BC08BC9E4670472E2E5C6CE4
S31508001B5069625C786D636C69625C7372635C786DEC
S31508001B6063345F6770696F2E630000004846005053
S31508001B7054460050604600506C46005014440050CD
S31508001B80204400502C440050384400502E2E5C6CE3
S31508001B9069625C786D636C69625C7372635C786DAC
S31508001BA0635F6770696F2E63000000002E2E5C6C01
S31508001BB069625C786D636C69625C7372635C786D8C
S31508001BC0635F757369632E63000000000040000CB4
S31508001BD000400000010000000080000C00400000EA
S31508001BE00200000000C0000C0040000003000000D6
S31508001BF00000010C00400000040000000040010C39
S31508001C0000400000050000000080010C00400000B4
S31508001C100600000000C0010C00400000070000009C
S31508001C200000020C00000200080000000000040C7E
S31508001C3000000400090000000000080C0000040071
S31508001C400A00000000000C0C000004000B00000055
S31508001C500000100C000004000C0000000000140C2A
S31508001C60000004000D0000000000180C000004002D
S31508001C700E00000000001C0C000004000F0000000D
S31508001C802E2E5C2E2E5C2E2E5C2E2E5C536F7572BD
S31508001C9063655C41524D434D345F584D43345C7522
S31508001CA06172742E630000004F70656E424C5400DA
S31108001CB0430000000400002000000000B3
S30D08001CBCA0E5FF7F010000000E
S31508001CC404000000000000000000000000000000FE
S31508001CD400000000000000000000000000000000F2
S31508001CE400000000B01C000800000000000000000E
S31508001CF400000000000000000000000000000000D2
S31508001D0400000000000000000000000000000000C1
S31508001D1400000000000000000000000000000000B1
S31108001D240000000025020008010200086B
S31508001D300000000000000000000000000000000095
S30908001D400000000091
S70508000000F2

View File

@ -20,7 +20,7 @@
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You have received a copy of the GNU General Public License along with OpenBLT. It
* You have received a copy of the GNU General Public License along with OpenBLT. It
* should be located in ".\Doc\license.html". If not, contact Feaser to obtain a copy.
*
* \endinternal
@ -36,7 +36,7 @@
* needed. Set these through configurables BOOT_CPU_XTAL_SPEED_KHZ and
* BOOT_CPU_SYSTEM_SPEED_KHZ, respectively. To enable data exchange with the host that is
* not dependent on the targets architecture, the byte ordering needs to be known.
* Setting BOOT_CPU_BYTE_ORDER_MOTOROLA to 1 selects big endian mode and 0 selects
* Setting BOOT_CPU_BYTE_ORDER_MOTOROLA to 1 selects big endian mode and 0 selects
* little endian mode.
*
* Set BOOT_CPU_USER_PROGRAM_START_HOOK to 1 if you would like a hook function to be
@ -105,7 +105,7 @@
/** \brief Enable/disable the NVM hook function for supporting additional memory devices. */
#define BOOT_NVM_HOOKS_ENABLE (0)
/** \brief Configure the size of the default memory device (typically flash EEPROM). */
#define BOOT_NVM_SIZE_KB (64)
#define BOOT_NVM_SIZE_KB (2048)
/** \brief Enable/disable hooks functions to override the user program checksum handling. */
#define BOOT_NVM_CHECKSUM_HOOKS_ENABLE (0)

View File

@ -1035,7 +1035,7 @@
1469435361 c:\work\software\openblt\target\source\assert.h
1476976939 c:\work\software\openblt\target\demo\armcm4_xmc4_xcm4700_relax_kit_gcc\boot\blt_conf.h
1477061178 c:\work\software\openblt\target\demo\armcm4_xmc4_xcm4700_relax_kit_gcc\boot\blt_conf.h
1469435361 c:\work\software\openblt\target\source\plausibility.h
@ -1064,7 +1064,7 @@
"led.h"
"xmc_gpio.h"
1476824725 source:c:\work\software\openblt\target\demo\armcm4_xmc4_xcm4700_relax_kit_gcc\boot\lib\system_xmc4700.c
1477087008 source:c:\work\software\openblt\target\demo\armcm4_xmc4_xcm4700_relax_kit_gcc\boot\lib\system_xmc4700.c
<string.h>
<XMC4700.h>
"system_XMC4700.h"
@ -1391,17 +1391,18 @@
"xmc_gpio.h"
"xmc_uart.h"
1477053057 source:c:\work\software\openblt\target\source\armcm4_xmc4\cpu.c
1477086453 source:c:\work\software\openblt\target\source\armcm4_xmc4\cpu.c
"boot.h"
1477053246 source:c:\work\software\openblt\target\source\armcm4_xmc4\flash.c
1477067466 source:c:\work\software\openblt\target\source\armcm4_xmc4\flash.c
"boot.h"
"xmc_flash.h"
"flash_layout.c"
1476974185 source:c:\work\software\openblt\target\source\armcm4_xmc4\gcc\cpu_comp.c
"boot.h"
1476974002 source:c:\work\software\openblt\target\source\armcm4_xmc4\gcc\cstart.s
1477063776 source:c:\work\software\openblt\target\source\armcm4_xmc4\gcc\cstart.s
1476974121 source:c:\work\software\openblt\target\source\armcm4_xmc4\nvm.c
"boot.h"

View File

@ -3,7 +3,7 @@
<ActiveTarget name="Debug" />
<File name="..\blt_conf.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3983" topLine="39" />
<Cursor1 position="6572" topLine="75" />
</Cursor>
</File>
<File name="..\hooks.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@ -13,7 +13,7 @@
</File>
<File name="..\led.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1993" topLine="12" />
<Cursor1 position="3341" topLine="19" />
</Cursor>
</File>
<File name="..\lib\cmsis\core_cm4.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@ -21,9 +21,9 @@
<Cursor1 position="98456" topLine="1476" />
</Cursor>
</File>
<File name="..\lib\system_XMC4700.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\lib\system_XMC4700.c" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="13370" topLine="361" />
<Cursor1 position="17807" topLine="523" />
</Cursor>
</File>
<File name="..\lib\system_XMC4700.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@ -31,9 +31,14 @@
<Cursor1 position="1661" topLine="49" />
</Cursor>
</File>
<File name="..\lib\XMC4700.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\lib\XMC4700.h" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1186861" topLine="10507" />
<Cursor1 position="66765" topLine="905" />
</Cursor>
</File>
<File name="..\lib\xmclib\inc\xmc4_flash.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="9778" topLine="127" />
</Cursor>
</File>
<File name="..\lib\xmclib\inc\xmc4_gpio.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@ -56,6 +61,16 @@
<Cursor1 position="6177" topLine="189" />
</Cursor>
</File>
<File name="..\lib\xmclib\inc\xmc_eth_mac.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="7685" topLine="154" />
</Cursor>
</File>
<File name="..\lib\xmclib\inc\xmc_flash.h" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="9994" topLine="216" />
</Cursor>
</File>
<File name="..\lib\xmclib\inc\xmc_gpio.h" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="12994" topLine="302" />
@ -76,6 +91,11 @@
<Cursor1 position="74389" topLine="1577" />
</Cursor>
</File>
<File name="..\lib\xmclib\src\xmc4_flash.c" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="8220" topLine="201" />
</Cursor>
</File>
<File name="..\lib\xmclib\src\xmc_ccu4.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="10141" topLine="255" />
@ -86,24 +106,34 @@
<Cursor1 position="6208" topLine="126" />
</Cursor>
</File>
<File name="..\main.c" open="1" top="1" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\main.c" open="1" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2813" topLine="44" />
</Cursor>
</File>
<File name="..\..\..\..\Source\ARMCM4_XMC4\cpu.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\..\..\Source\ARMCM4_XMC4\cpu.c" open="1" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3146" topLine="37" />
<Cursor1 position="1868" topLine="25" />
</Cursor>
</File>
<File name="..\..\..\..\Source\ARMCM4_XMC4\flash.c" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\..\..\Source\ARMCM4_XMC4\flash.c" open="1" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="25179" topLine="407" />
<Cursor1 position="20187" topLine="363" />
</Cursor>
</File>
<File name="..\..\..\..\Source\ARMCM4_XMC4\GCC\cstart.S" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\..\..\Source\ARMCM4_XMC4\flash.h" open="0" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2532" topLine="40" />
<Cursor1 position="1056" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\..\Source\ARMCM4_XMC4\GCC\cstart.S" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="13894" topLine="243" />
</Cursor>
</File>
<File name="..\..\..\..\Source\ARMCM4_XMC4\nvm.c" open="1" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6447" topLine="121" />
</Cursor>
</File>
<File name="..\..\..\..\Source\ARMCM4_XMC4\timer.c" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@ -111,9 +141,9 @@
<Cursor1 position="3938" topLine="66" />
</Cursor>
</File>
<File name="..\..\..\..\Source\ARMCM4_XMC4\uart.c" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\..\..\Source\ARMCM4_XMC4\uart.c" open="1" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="8092" topLine="146" />
<Cursor1 position="5181" topLine="57" />
</Cursor>
</File>
<File name="..\..\..\..\Source\assert.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@ -126,9 +156,9 @@
<Cursor1 position="6335" topLine="102" />
</Cursor>
</File>
<File name="..\..\..\..\Source\boot.c" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\..\..\Source\boot.c" open="1" top="1" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3332" topLine="39" />
<Cursor1 position="3280" topLine="27" />
</Cursor>
</File>
<File name="..\..\..\..\Source\com.c" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@ -136,14 +166,14 @@
<Cursor1 position="4620" topLine="85" />
</Cursor>
</File>
<File name="..\..\..\..\Source\cop.c" open="0" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\..\..\Source\cop.c" open="1" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2879" topLine="22" />
<Cursor1 position="2879" topLine="10" />
</Cursor>
</File>
<File name="..\..\..\..\Source\xcp.c" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\..\..\Source\xcp.c" open="1" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="10057" topLine="220" />
<Cursor1 position="41076" topLine="1124" />
</Cursor>
</File>
</EmBitz_layout_file>

View File

@ -3766,232 +3766,232 @@ LOAD c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-
0x00000000 __HEAP_SIZE = 0x0
0x00000100 __STACK_SIZE = 0x100
.text 0x08004000 0xd44
.text 0x08004000 0xd48
*(.isr_vector)
.isr_vector 0x08004000 0x200 ..\obj\startup_xmc4700.o
.isr_vector 0x08004000 0x204 ..\obj\startup_xmc4700.o
0x08004000 __isr_vector
*(.text*)
.text 0x08004200 0x5c c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.text 0x0800425c 0x74 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu/crt0.o
0x0800425c _start
0x0800425c _mainCRTStartup
.text 0x08004204 0x5c c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.text 0x08004260 0x74 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu/crt0.o
0x08004260 _start
0x08004260 _mainCRTStartup
.text.BootComUartInit
0x080042d0 0xa4 ..\obj\boot.o
0x080042d4 0xa4 ..\obj\boot.o
.text.UartReceiveByte
0x08004374 0x24 ..\obj\boot.o
0x08004378 0x24 ..\obj\boot.o
.text.BootComInit
0x08004398 0x8 ..\obj\boot.o
0x08004398 BootComInit
0x0800439c 0x8 ..\obj\boot.o
0x0800439c BootComInit
.text.BootActivate
0x080043a0 0x24 ..\obj\boot.o
0x080043a0 BootActivate
0x080043a4 0x24 ..\obj\boot.o
0x080043a4 BootActivate
.text.BootComUartCheckActivationRequest
0x080043c4 0x6c ..\obj\boot.o
0x080043c8 0x6c ..\obj\boot.o
.text.BootComCheckActivationRequest
0x08004430 0x8 ..\obj\boot.o
0x08004430 BootComCheckActivationRequest
.text.LedInit 0x08004438 0x1c ..\obj\led.o
0x08004438 LedInit
0x08004434 0x8 ..\obj\boot.o
0x08004434 BootComCheckActivationRequest
.text.LedInit 0x0800443c 0x1c ..\obj\led.o
0x0800443c LedInit
.text.LedToggle
0x08004454 0x48 ..\obj\led.o
0x08004454 LedToggle
.text.delay 0x0800449c 0x1c ..\obj\lib\system_xmc4700.o
0x08004458 0x48 ..\obj\led.o
0x08004458 LedToggle
.text.delay 0x080044a0 0x1c ..\obj\lib\system_xmc4700.o
.text.SystemCoreSetup
0x080044b8 0x44 ..\obj\lib\system_xmc4700.o
0x080044b8 SystemCoreSetup
0x080044bc 0x44 ..\obj\lib\system_xmc4700.o
0x080044bc SystemCoreSetup
.text.OSCHP_GetFrequency
0x080044fc 0x8 ..\obj\lib\system_xmc4700.o
0x080044fc OSCHP_GetFrequency
0x08004500 0x8 ..\obj\lib\system_xmc4700.o
0x08004500 OSCHP_GetFrequency
.text.SystemCoreClockUpdate
0x08004504 0x8c ..\obj\lib\system_xmc4700.o
0x08004504 SystemCoreClockUpdate
0x08004508 0x8c ..\obj\lib\system_xmc4700.o
0x08004508 SystemCoreClockUpdate
.text.SystemCoreClockSetup
0x08004590 0x1bc ..\obj\lib\system_xmc4700.o
0x08004590 SystemCoreClockSetup
0x08004594 0x1bc ..\obj\lib\system_xmc4700.o
0x08004594 SystemCoreClockSetup
.text.SystemInit
0x0800474c 0x1c ..\obj\lib\system_xmc4700.o
0x0800474c SystemInit
0x08004750 0x1c ..\obj\lib\system_xmc4700.o
0x08004750 SystemInit
.text.XMC_GPIO_Init
0x08004768 0x94 ..\obj\lib\xmclib\src\xmc4_gpio.o
0x08004768 XMC_GPIO_Init
0x0800476c 0x94 ..\obj\lib\xmclib\src\xmc4_gpio.o
0x0800476c XMC_GPIO_Init
.text.XMC_SCU_RESET_DeassertPeripheralReset
0x080047fc 0x18 ..\obj\lib\xmclib\src\xmc4_scu.o
0x080047fc XMC_SCU_RESET_DeassertPeripheralReset
0x08004800 0x18 ..\obj\lib\xmclib\src\xmc4_scu.o
0x08004800 XMC_SCU_RESET_DeassertPeripheralReset
.text.XMC_SCU_CLOCK_GetPeripheralClockFrequency
0x08004814 0x18 ..\obj\lib\xmclib\src\xmc4_scu.o
0x08004814 XMC_SCU_CLOCK_GetPeripheralClockFrequency
0x08004818 0x18 ..\obj\lib\xmclib\src\xmc4_scu.o
0x08004818 XMC_SCU_CLOCK_GetPeripheralClockFrequency
.text.XMC_SCU_CLOCK_UngatePeripheralClock
0x0800482c 0x18 ..\obj\lib\xmclib\src\xmc4_scu.o
0x0800482c XMC_SCU_CLOCK_UngatePeripheralClock
0x08004830 0x18 ..\obj\lib\xmclib\src\xmc4_scu.o
0x08004830 XMC_SCU_CLOCK_UngatePeripheralClock
.text.XMC_GPIO_SetMode
0x08004844 0x30 ..\obj\lib\xmclib\src\xmc_gpio.o
0x08004844 XMC_GPIO_SetMode
0x08004848 0x30 ..\obj\lib\xmclib\src\xmc_gpio.o
0x08004848 XMC_GPIO_SetMode
.text.XMC_UART_CH_Init
0x08004874 0x68 ..\obj\lib\xmclib\src\xmc_uart.o
0x08004874 XMC_UART_CH_Init
0x08004878 0x68 ..\obj\lib\xmclib\src\xmc_uart.o
0x08004878 XMC_UART_CH_Init
.text.XMC_UART_CH_GetReceivedData
0x080048dc 0x18 ..\obj\lib\xmclib\src\xmc_uart.o
0x080048dc XMC_UART_CH_GetReceivedData
0x080048e0 0x18 ..\obj\lib\xmclib\src\xmc_uart.o
0x080048e0 XMC_UART_CH_GetReceivedData
.text.XMC_USIC_CH_SetBaudrate
0x080048f4 0x8c ..\obj\lib\xmclib\src\xmc_usic.o
0x080048f4 XMC_USIC_CH_SetBaudrate
0x080048f8 0x8c ..\obj\lib\xmclib\src\xmc_usic.o
0x080048f8 XMC_USIC_CH_SetBaudrate
.text.XMC_USIC_CH_TXFIFO_Configure
0x08004980 0x30 ..\obj\lib\xmclib\src\xmc_usic.o
0x08004980 XMC_USIC_CH_TXFIFO_Configure
0x08004984 0x30 ..\obj\lib\xmclib\src\xmc_usic.o
0x08004984 XMC_USIC_CH_TXFIFO_Configure
.text.XMC_USIC_CH_RXFIFO_Configure
0x080049b0 0x34 ..\obj\lib\xmclib\src\xmc_usic.o
0x080049b0 XMC_USIC_CH_RXFIFO_Configure
0x080049b4 0x34 ..\obj\lib\xmclib\src\xmc_usic.o
0x080049b4 XMC_USIC_CH_RXFIFO_Configure
.text.XMC_USIC_Enable
0x080049e4 0x5c ..\obj\lib\xmclib\src\xmc_usic.o
0x080049e4 XMC_USIC_Enable
0x080049e8 0x5c ..\obj\lib\xmclib\src\xmc_usic.o
0x080049e8 XMC_USIC_Enable
.text.XMC_USIC_CH_Enable
0x08004a40 0x74 ..\obj\lib\xmclib\src\xmc_usic.o
0x08004a40 XMC_USIC_CH_Enable
.text.Init 0x08004ab4 0x10 ..\obj\main.o
.text.main 0x08004ac4 0x14 ..\obj\main.o
0x08004ac4 main
.text 0x08004ad8 0x134 ..\obj\startup_xmc4700.o
0x08004ad8 Reset_Handler
0x08004b26 NMI_Handler
0x08004b28 HardFault_Handler
0x08004b2a MemManage_Handler
0x08004b2c BusFault_Handler
0x08004b2e UsageFault_Handler
0x08004b30 SVC_Handler
0x08004b32 DebugMon_Handler
0x08004b34 PendSV_Handler
0x08004b38 Default_Handler
0x08004b3a SCU_0_IRQHandler
0x08004b3c ERU0_0_IRQHandler
0x08004b3e ERU0_1_IRQHandler
0x08004b40 ERU0_2_IRQHandler
0x08004b42 ERU0_3_IRQHandler
0x08004b44 ERU1_0_IRQHandler
0x08004b46 ERU1_1_IRQHandler
0x08004b48 ERU1_2_IRQHandler
0x08004b4a ERU1_3_IRQHandler
0x08004b4c PMU0_0_IRQHandler
0x08004b4e VADC0_C0_0_IRQHandler
0x08004b50 VADC0_C0_1_IRQHandler
0x08004b52 VADC0_C0_2_IRQHandler
0x08004b54 VADC0_C0_3_IRQHandler
0x08004b56 VADC0_G0_0_IRQHandler
0x08004b58 VADC0_G0_1_IRQHandler
0x08004b5a VADC0_G0_2_IRQHandler
0x08004b5c VADC0_G0_3_IRQHandler
0x08004b5e VADC0_G1_0_IRQHandler
0x08004b60 VADC0_G1_1_IRQHandler
0x08004b62 VADC0_G1_2_IRQHandler
0x08004b64 VADC0_G1_3_IRQHandler
0x08004b66 VADC0_G2_0_IRQHandler
0x08004b68 VADC0_G2_1_IRQHandler
0x08004b6a VADC0_G2_2_IRQHandler
0x08004b6c VADC0_G2_3_IRQHandler
0x08004b6e VADC0_G3_0_IRQHandler
0x08004b70 VADC0_G3_1_IRQHandler
0x08004b72 VADC0_G3_2_IRQHandler
0x08004b74 VADC0_G3_3_IRQHandler
0x08004b76 DSD0_0_IRQHandler
0x08004b78 DSD0_1_IRQHandler
0x08004b7a DSD0_2_IRQHandler
0x08004b7c DSD0_3_IRQHandler
0x08004b7e DSD0_4_IRQHandler
0x08004b80 DSD0_5_IRQHandler
0x08004b82 DSD0_6_IRQHandler
0x08004b84 DSD0_7_IRQHandler
0x08004b86 DAC0_0_IRQHandler
0x08004b88 DAC0_1_IRQHandler
0x08004b8a CCU40_0_IRQHandler
0x08004b8c CCU40_1_IRQHandler
0x08004b8e CCU40_2_IRQHandler
0x08004b90 CCU40_3_IRQHandler
0x08004b92 CCU41_0_IRQHandler
0x08004b94 CCU41_1_IRQHandler
0x08004b96 CCU41_2_IRQHandler
0x08004b98 CCU41_3_IRQHandler
0x08004b9a CCU42_0_IRQHandler
0x08004b9c CCU42_1_IRQHandler
0x08004b9e CCU42_2_IRQHandler
0x08004ba0 CCU42_3_IRQHandler
0x08004ba2 CCU43_0_IRQHandler
0x08004ba4 CCU43_1_IRQHandler
0x08004ba6 CCU43_2_IRQHandler
0x08004ba8 CCU43_3_IRQHandler
0x08004baa CCU80_0_IRQHandler
0x08004bac CCU80_1_IRQHandler
0x08004bae CCU80_2_IRQHandler
0x08004bb0 CCU80_3_IRQHandler
0x08004bb2 CCU81_0_IRQHandler
0x08004bb4 CCU81_1_IRQHandler
0x08004bb6 CCU81_2_IRQHandler
0x08004bb8 CCU81_3_IRQHandler
0x08004bba POSIF0_0_IRQHandler
0x08004bbc POSIF0_1_IRQHandler
0x08004bbe POSIF1_0_IRQHandler
0x08004bc0 POSIF1_1_IRQHandler
0x08004bc2 CAN0_0_IRQHandler
0x08004bc4 CAN0_1_IRQHandler
0x08004bc6 CAN0_2_IRQHandler
0x08004bc8 CAN0_3_IRQHandler
0x08004bca CAN0_4_IRQHandler
0x08004bcc CAN0_5_IRQHandler
0x08004bce CAN0_6_IRQHandler
0x08004bd0 CAN0_7_IRQHandler
0x08004bd2 USIC0_0_IRQHandler
0x08004bd4 USIC0_1_IRQHandler
0x08004bd6 USIC0_2_IRQHandler
0x08004bd8 USIC0_3_IRQHandler
0x08004bda USIC0_4_IRQHandler
0x08004bdc USIC0_5_IRQHandler
0x08004bde USIC1_0_IRQHandler
0x08004be0 USIC1_1_IRQHandler
0x08004be2 USIC1_2_IRQHandler
0x08004be4 USIC1_3_IRQHandler
0x08004be6 USIC1_4_IRQHandler
0x08004be8 USIC1_5_IRQHandler
0x08004bea USIC2_0_IRQHandler
0x08004bec USIC2_1_IRQHandler
0x08004bee USIC2_2_IRQHandler
0x08004bf0 USIC2_3_IRQHandler
0x08004bf2 USIC2_4_IRQHandler
0x08004bf4 USIC2_5_IRQHandler
0x08004bf6 LEDTS0_0_IRQHandler
0x08004bf8 FCE0_0_IRQHandler
0x08004bfa GPDMA0_0_IRQHandler
0x08004bfc SDMMC0_0_IRQHandler
0x08004bfe USB0_0_IRQHandler
0x08004c00 ETH0_0_IRQHandler
0x08004c02 GPDMA1_0_IRQHandler
0x08004a44 0x74 ..\obj\lib\xmclib\src\xmc_usic.o
0x08004a44 XMC_USIC_CH_Enable
.text.Init 0x08004ab8 0x10 ..\obj\main.o
.text.main 0x08004ac8 0x14 ..\obj\main.o
0x08004ac8 main
.text 0x08004adc 0x134 ..\obj\startup_xmc4700.o
0x08004adc Reset_Handler
0x08004b2a NMI_Handler
0x08004b2c HardFault_Handler
0x08004b2e MemManage_Handler
0x08004b30 BusFault_Handler
0x08004b32 UsageFault_Handler
0x08004b34 SVC_Handler
0x08004b36 DebugMon_Handler
0x08004b38 PendSV_Handler
0x08004b3c Default_Handler
0x08004b3e SCU_0_IRQHandler
0x08004b40 ERU0_0_IRQHandler
0x08004b42 ERU0_1_IRQHandler
0x08004b44 ERU0_2_IRQHandler
0x08004b46 ERU0_3_IRQHandler
0x08004b48 ERU1_0_IRQHandler
0x08004b4a ERU1_1_IRQHandler
0x08004b4c ERU1_2_IRQHandler
0x08004b4e ERU1_3_IRQHandler
0x08004b50 PMU0_0_IRQHandler
0x08004b52 VADC0_C0_0_IRQHandler
0x08004b54 VADC0_C0_1_IRQHandler
0x08004b56 VADC0_C0_2_IRQHandler
0x08004b58 VADC0_C0_3_IRQHandler
0x08004b5a VADC0_G0_0_IRQHandler
0x08004b5c VADC0_G0_1_IRQHandler
0x08004b5e VADC0_G0_2_IRQHandler
0x08004b60 VADC0_G0_3_IRQHandler
0x08004b62 VADC0_G1_0_IRQHandler
0x08004b64 VADC0_G1_1_IRQHandler
0x08004b66 VADC0_G1_2_IRQHandler
0x08004b68 VADC0_G1_3_IRQHandler
0x08004b6a VADC0_G2_0_IRQHandler
0x08004b6c VADC0_G2_1_IRQHandler
0x08004b6e VADC0_G2_2_IRQHandler
0x08004b70 VADC0_G2_3_IRQHandler
0x08004b72 VADC0_G3_0_IRQHandler
0x08004b74 VADC0_G3_1_IRQHandler
0x08004b76 VADC0_G3_2_IRQHandler
0x08004b78 VADC0_G3_3_IRQHandler
0x08004b7a DSD0_0_IRQHandler
0x08004b7c DSD0_1_IRQHandler
0x08004b7e DSD0_2_IRQHandler
0x08004b80 DSD0_3_IRQHandler
0x08004b82 DSD0_4_IRQHandler
0x08004b84 DSD0_5_IRQHandler
0x08004b86 DSD0_6_IRQHandler
0x08004b88 DSD0_7_IRQHandler
0x08004b8a DAC0_0_IRQHandler
0x08004b8c DAC0_1_IRQHandler
0x08004b8e CCU40_0_IRQHandler
0x08004b90 CCU40_1_IRQHandler
0x08004b92 CCU40_2_IRQHandler
0x08004b94 CCU40_3_IRQHandler
0x08004b96 CCU41_0_IRQHandler
0x08004b98 CCU41_1_IRQHandler
0x08004b9a CCU41_2_IRQHandler
0x08004b9c CCU41_3_IRQHandler
0x08004b9e CCU42_0_IRQHandler
0x08004ba0 CCU42_1_IRQHandler
0x08004ba2 CCU42_2_IRQHandler
0x08004ba4 CCU42_3_IRQHandler
0x08004ba6 CCU43_0_IRQHandler
0x08004ba8 CCU43_1_IRQHandler
0x08004baa CCU43_2_IRQHandler
0x08004bac CCU43_3_IRQHandler
0x08004bae CCU80_0_IRQHandler
0x08004bb0 CCU80_1_IRQHandler
0x08004bb2 CCU80_2_IRQHandler
0x08004bb4 CCU80_3_IRQHandler
0x08004bb6 CCU81_0_IRQHandler
0x08004bb8 CCU81_1_IRQHandler
0x08004bba CCU81_2_IRQHandler
0x08004bbc CCU81_3_IRQHandler
0x08004bbe POSIF0_0_IRQHandler
0x08004bc0 POSIF0_1_IRQHandler
0x08004bc2 POSIF1_0_IRQHandler
0x08004bc4 POSIF1_1_IRQHandler
0x08004bc6 CAN0_0_IRQHandler
0x08004bc8 CAN0_1_IRQHandler
0x08004bca CAN0_2_IRQHandler
0x08004bcc CAN0_3_IRQHandler
0x08004bce CAN0_4_IRQHandler
0x08004bd0 CAN0_5_IRQHandler
0x08004bd2 CAN0_6_IRQHandler
0x08004bd4 CAN0_7_IRQHandler
0x08004bd6 USIC0_0_IRQHandler
0x08004bd8 USIC0_1_IRQHandler
0x08004bda USIC0_2_IRQHandler
0x08004bdc USIC0_3_IRQHandler
0x08004bde USIC0_4_IRQHandler
0x08004be0 USIC0_5_IRQHandler
0x08004be2 USIC1_0_IRQHandler
0x08004be4 USIC1_1_IRQHandler
0x08004be6 USIC1_2_IRQHandler
0x08004be8 USIC1_3_IRQHandler
0x08004bea USIC1_4_IRQHandler
0x08004bec USIC1_5_IRQHandler
0x08004bee USIC2_0_IRQHandler
0x08004bf0 USIC2_1_IRQHandler
0x08004bf2 USIC2_2_IRQHandler
0x08004bf4 USIC2_3_IRQHandler
0x08004bf6 USIC2_4_IRQHandler
0x08004bf8 USIC2_5_IRQHandler
0x08004bfa LEDTS0_0_IRQHandler
0x08004bfc FCE0_0_IRQHandler
0x08004bfe GPDMA0_0_IRQHandler
0x08004c00 SDMMC0_0_IRQHandler
0x08004c02 USB0_0_IRQHandler
0x08004c04 ETH0_0_IRQHandler
0x08004c06 GPDMA1_0_IRQHandler
.text.TimerSet
0x08004c0c 0xc ..\obj\timer.o
0x08004c0c TimerSet
0x08004c10 0xc ..\obj\timer.o
0x08004c10 TimerSet
.text.TimerInit
0x08004c18 0x44 ..\obj\timer.o
0x08004c18 TimerInit
0x08004c1c 0x44 ..\obj\timer.o
0x08004c1c TimerInit
.text.TimerGet
0x08004c5c 0xc ..\obj\timer.o
0x08004c5c TimerGet
0x08004c60 0xc ..\obj\timer.o
0x08004c60 TimerGet
.text.SysTick_Handler
0x08004c68 0x10 ..\obj\timer.o
0x08004c68 SysTick_Handler
.text.exit 0x08004c78 0x28 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-exit.o)
0x08004c78 exit
0x08004c6c 0x10 ..\obj\timer.o
0x08004c6c SysTick_Handler
.text.exit 0x08004c7c 0x28 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-exit.o)
0x08004c7c exit
.text.__libc_init_array
0x08004ca0 0x4c c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-init.o)
0x08004ca0 __libc_init_array
.text.memset 0x08004cec 0x10 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-memset.o)
0x08004cec memset
.text._exit 0x08004cfc 0x2 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libnosys_s.a(_exit.o)
0x08004cfc _exit
0x08004ca4 0x4c c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-init.o)
0x08004ca4 __libc_init_array
.text.memset 0x08004cf0 0x10 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-memset.o)
0x08004cf0 memset
.text._exit 0x08004d00 0x2 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libnosys_s.a(_exit.o)
0x08004d00 _exit
*(.init)
*fill* 0x08004cfe 0x2
.init 0x08004d00 0x4 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crti.o
0x08004d00 _init
.init 0x08004d04 0x8 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtn.o
*fill* 0x08004d02 0x2
.init 0x08004d04 0x4 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crti.o
0x08004d04 _init
.init 0x08004d08 0x8 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtn.o
*(.fini)
.fini 0x08004d0c 0x4 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crti.o
0x08004d0c _fini
.fini 0x08004d10 0x8 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtn.o
.fini 0x08004d10 0x4 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crti.o
0x08004d10 _fini
.fini 0x08004d14 0x8 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtn.o
*crtbegin.o(.ctors)
*crtbegin?.o(.ctors)
*(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors)
@ -4004,48 +4004,48 @@ LOAD c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-
*(.dtors)
*(.rodata*)
.rodata.clear_peripheral_gate.7688
0x08004d18 0x10 ..\obj\lib\xmclib\src\xmc4_scu.o
0x08004d1c 0x10 ..\obj\lib\xmclib\src\xmc4_scu.o
.rodata.clear_peripheral_reset.7567
0x08004d28 0x10 ..\obj\lib\xmclib\src\xmc4_scu.o
0x08004d2c 0x10 ..\obj\lib\xmclib\src\xmc4_scu.o
.rodata.str1.1
0x08004d38 0x2 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-impure.o)
*fill* 0x08004d3a 0x2
0x08004d3c 0x2 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-impure.o)
*fill* 0x08004d3e 0x2
.rodata._global_impure_ptr
0x08004d3c 0x4 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-impure.o)
0x08004d3c _global_impure_ptr
0x08004d40 0x4 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_n.a(lib_a-impure.o)
0x08004d40 _global_impure_ptr
*(.eh_frame*)
.eh_frame 0x08004d40 0x0 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.eh_frame 0x08004d40 0x4 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtend.o
.eh_frame 0x08004d44 0x0 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.eh_frame 0x08004d44 0x4 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtend.o
.glue_7 0x08004d44 0x0
.glue_7 0x08004d44 0x0 linker stubs
.glue_7 0x08004d48 0x0
.glue_7 0x08004d48 0x0 linker stubs
.glue_7t 0x08004d44 0x0
.glue_7t 0x08004d44 0x0 linker stubs
.glue_7t 0x08004d48 0x0
.glue_7t 0x08004d48 0x0 linker stubs
.vfp11_veneer 0x08004d44 0x0
.vfp11_veneer 0x08004d44 0x0 linker stubs
.vfp11_veneer 0x08004d48 0x0
.vfp11_veneer 0x08004d48 0x0 linker stubs
.v4_bx 0x08004d44 0x0
.v4_bx 0x08004d44 0x0 linker stubs
.v4_bx 0x08004d48 0x0
.v4_bx 0x08004d48 0x0 linker stubs
.iplt 0x08004d44 0x0
.iplt 0x08004d44 0x0 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.iplt 0x08004d48 0x0
.iplt 0x08004d48 0x0 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.ARM.extab
*(.ARM.extab* .gnu.linkonce.armextab.*)
0x08004d44 __exidx_start = .
0x08004d48 __exidx_start = .
.ARM.exidx 0x08004d44 0x8
.ARM.exidx 0x08004d48 0x8
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
.ARM.exidx 0x08004d44 0x8 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu/crt0.o
0x08004d4c __exidx_end = .
0x08004d4c __etext = .
.ARM.exidx 0x08004d48 0x8 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu/crt0.o
0x08004d50 __exidx_end = .
0x08004d50 __etext = .
.rel.dyn 0x08004d4c 0x0
.rel.iplt 0x08004d4c 0x0 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.rel.dyn 0x08004d50 0x0
.rel.iplt 0x08004d50 0x0 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.data 0x20000000 0x68 load address 0x08004d4c
.data 0x20000000 0x68 load address 0x08004d50
0x20000000 __data_start__ = .
*(vtable)
*(.data*)
@ -4070,18 +4070,18 @@ LOAD c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-
0x20000068 . = ALIGN (0x4)
0x20000068 __data_end__ = .
.jcr 0x20000068 0x0 load address 0x08004db4
.jcr 0x20000068 0x0 load address 0x08004db8
.jcr 0x20000068 0x0 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.igot.plt 0x20000068 0x0 load address 0x08004db4
.igot.plt 0x20000068 0x0 load address 0x08004db8
.igot.plt 0x20000068 0x0 c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
.no_init 0x20000068 0x14 load address 0x08004db4
.no_init 0x20000068 0x14 load address 0x08004db8
.no_init 0x20000068 0x14 ..\obj\lib\system_xmc4700.o
0x20000068 SystemCoreClock
0x2000006c g_chipid
.bss 0x2000007c 0x70 load address 0x08004dc8
.bss 0x2000007c 0x70 load address 0x08004dcc
0x2000007c __bss_start__ = .
*(.bss*)
.bss 0x2000007c 0x1c c:/program files (x86)/embitz/1.00/share/em_armgcc/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtbegin.o
@ -4362,27 +4362,27 @@ OUTPUT(..\bin\demoprog_xmc4700.elf elf32-littlearm)
.debug_line 0x00002ad1 0xe3 ..\obj\startup_xmc4700.o
.debug_line 0x00002bb4 0x310 ..\obj\timer.o
.debug_str 0x00000000 0x80b89
.debug_str 0x00000000 0x7c274 ..\obj\boot.o
0x7c4ee (size before relaxing)
.debug_str 0x0007c274 0x9c ..\obj\led.o
0x7b0eb (size before relaxing)
.debug_str 0x0007c310 0xe04 ..\obj\lib\system_xmc4700.o
.debug_str 0x00000000 0x80b8b
.debug_str 0x00000000 0x7c276 ..\obj\boot.o
0x7c4f0 (size before relaxing)
.debug_str 0x0007c276 0x9c ..\obj\led.o
0x7b0ed (size before relaxing)
.debug_str 0x0007c312 0xe04 ..\obj\lib\system_xmc4700.o
0x75a23 (size before relaxing)
.debug_str 0x0007d114 0x8f ..\obj\lib\xmclib\src\xmc4_gpio.o
.debug_str 0x0007d116 0x8f ..\obj\lib\xmclib\src\xmc4_gpio.o
0x7b076 (size before relaxing)
.debug_str 0x0007d1a3 0x24f8 ..\obj\lib\xmclib\src\xmc4_scu.o
.debug_str 0x0007d1a5 0x24f8 ..\obj\lib\xmclib\src\xmc4_scu.o
0x778ea (size before relaxing)
.debug_str 0x0007f69b 0x7b ..\obj\lib\xmclib\src\xmc_gpio.o
.debug_str 0x0007f69d 0x7b ..\obj\lib\xmclib\src\xmc_gpio.o
0x7aef1 (size before relaxing)
.debug_str 0x0007f716 0x608 ..\obj\lib\xmclib\src\xmc_uart.o
.debug_str 0x0007f718 0x608 ..\obj\lib\xmclib\src\xmc_uart.o
0x76c8d (size before relaxing)
.debug_str 0x0007fd1e 0x797 ..\obj\lib\xmclib\src\xmc_usic.o
.debug_str 0x0007fd20 0x797 ..\obj\lib\xmclib\src\xmc_usic.o
0x774ce (size before relaxing)
.debug_str 0x000804b5 0x14 ..\obj\main.o
0x72356 (size before relaxing)
.debug_str 0x000804c9 0x6c0 ..\obj\timer.o
0x72a7f (size before relaxing)
.debug_str 0x000804b7 0x14 ..\obj\main.o
0x72358 (size before relaxing)
.debug_str 0x000804cb 0x6c0 ..\obj\timer.o
0x72a81 (size before relaxing)
.debug_frame 0x00000000 0xbf0
.debug_frame 0x00000000 0xac ..\obj\boot.o

View File

@ -1,183 +1,183 @@
S01F00002E2E5C62696E5C64656D6F70726F675F786D63343730302E73726563E9
S3150800400000000220D94A0008274B0008294B00085F
S315080040102B4B00082D4B00082F4B00080000000012
S31508004020000000000000000000000000314B0008FE
S31508004030334B000800000000354B0008694C0008A7
S315080040403B4B00083D4B00083F4B0008414B00081E
S31508004050434B0008454B0008474B0008494B0008EE
S315080040604B4B0008000000000000000000000000A4
S315080040704D4B0008000000004F4B0008514B00084C
S31508004080534B0008554B0008574B0008594B00087E
S315080040905B4B00085D4B00085F4B0008614B00084E
S315080040A0634B0008654B0008674B0008694B00081E
S315080040B06B4B00086D4B00086F4B0008714B0008EE
S315080040C0734B0008754B0008774B0008794B0008BE
S315080040D07B4B00087D4B00087F4B0008814B00088E
S315080040E0834B0008854B0008874B0008894B00085E
S315080040F08B4B00088D4B00088F4B0008914B00082E
S31508004100934B0008954B0008974B0008994B0008FD
S315080041109B4B00089D4B00089F4B0008A14B0008CD
S31508004120A34B0008A54B0008A74B0008A94B00089D
S31508004130AB4B0008AD4B0008AF4B0008B14B00086D
S31508004140B34B0008B54B0008B74B0008B94B00083D
S31508004150BB4B0008BD4B0008BF4B0008C14B00080D
S3150800400000000220DD4A00082B4B00082D4B000853
S315080040102F4B0008314B0008334B00080000000006
S31508004020000000000000000000000000354B0008FA
S31508004030374B000800000000394B00086D4C00089B
S315080040403F4B0008414B0008434B0008454B00080E
S31508004050474B0008494B00084B4B00084D4B0008DE
S315080040604F4B0008000000000000000000000000A0
S31508004070514B000800000000534B0008554B000840
S31508004080574B0008594B00085B4B00085D4B00086E
S315080040905F4B0008614B0008634B0008654B00083E
S315080040A0674B0008694B00086B4B00086D4B00080E
S315080040B06F4B0008714B0008734B0008754B0008DE
S315080040C0774B0008794B00087B4B00087D4B0008AE
S315080040D07F4B0008814B0008834B0008854B00087E
S315080040E0874B0008894B00088B4B00088D4B00084E
S315080040F08F4B0008914B0008934B0008954B00081E
S31508004100974B0008994B00089B4B00089D4B0008ED
S315080041109F4B0008A14B0008A34B0008A54B0008BD
S31508004120A74B0008A94B0008AB4B0008AD4B00088D
S31508004130AF4B0008B14B0008B34B0008B54B00085D
S31508004140B74B0008B94B0008BB4B0008BD4B00082D
S31508004150BF4B0008C14B0008C34B0008C54B0008FD
S315080041600000000000000000000000000000000041
S31508004170C34B0008C54B0008C74B0008C94B0008CD
S31508004180CB4B0008CD4B0008CF4B0008D14B00089D
S31508004190D34B0008D54B0008D74B0008D94B00086D
S315080041A0DB4B0008DD4B0008DF4B0008E14B00083D
S315080041B0E34B0008E54B0008E74B0008E94B00080D
S315080041C0EB4B0008ED4B0008EF4B0008F14B0008DD
S315080041D0F34B0008F54B0008F74B000800000000F9
S315080041E0F94B0008FB4B0008FD4B0008FF4B000885
S315080041F0014C000800000000034C00080000000005
S3150800420010B5054C237833B9044B13B10448AFF302
S3150800421000800123237010BD7C00002000000000F0
S31508004220404D0008084B10B51BB108490848AFF3C4
S3150800423000800848036803B910BD074B002BFBD064
S31508004240BDE81040184700BF0000000080000020AD
S31508004250404D00086800002000000000154B002BA8
S3150800426008BF134B9D46A3F5803A00218B460F469F
S315080042701348144A121A00F039FD0F4B002B00D0D0
S3150800428098470E4B002B00D09847002000210400C9
S315080042900D000D48002802D00C48AFF3008000F04E
S315080042A0FFFC2000290000F00DFC00F0E5FC00BF33
S315080042B000000800000002200000000000000000C6
S315080042C07C000020EC000020000000000000000038
S315080042D02DE9F0438BB04FF46143019308238DF821
S315080042E008308DF8093001258DF80A5010278DF809
S315080042F00B700026ADF80C601C4C01A9204600F096
S31508004300B9FA8DF81C6008954FF002098DF82490CB
S31508004310DFF85C8007AA0421404600F025FA9023BE
S315080043208DF8103005958DF818900DEB07020521CC
S31508004330404600F019FAE36923F007032B43E361CB
S315080043402B4604223946204600F01AFB2B46042247
S315080043503146204600F02CFB236C23F00F0343EA7A
S31508004360090323640BB0BDE8F08300BF00000340D7
S3150800437000810248074BD3F8143113F0080F07D110
S3150800438010B50446034800F0A9FA2070012010BDB4
S31508004390002070470000034008B5FFF799FF08BDE5
S315080043A0BFF34F8F0549CA6802F4E062044B134312
S315080043B0CB60BFF34F8F00BFFDE700BF00ED00E005
S315080043C00400FA0508B5174B1B785BB91648FFF7C2
S315080043D0D1FF012824D10122124B1A700022134B57
S315080043E01A7008BD114B1B7801330F481844FFF7A4
S315080043F0C1FF012814D10D4A13780133DBB21370BB
S31508004400094A127893420BD10022064B1A70064BC2
S315080044105B78FF2B04D1044B9B780BB9FFF7C0FFE1
S3150800442008BD00BF990000209C00002098000020CD
S3150800443008B5FFF7C7FF08BD10B5054C802208214F
S31508004440204600F0FFF94FF08073636010BD00BF8F
S315080044500085024808B500F001FC0D4B1B68C31A1D
S31508004460B3F5FA7F13D30B4B1B783BB90122094BE3
S315080044701A704FF48072084B5A6006E00022054B0A
S315080044801A704FF08072044B5A60014B186008BDD1
S31508004490E0000020E40000200085024882B00023E6
S315080044A0019303E000BF019B01330193019B834203
S315080044B0F8D302B0704700BF72B60D4B0D4A9A602A
S315080044C0BFF34F8F62B6D3F8882042F47002C3F860
S315080044D088205A6922F008025A61074941F21402F3
S315080044E08B5823F00F0343F004038B50704700BF2B
S315080044F000ED00E000400008001000580048704732
S31508004500001BB70010B51E4BDB6813F4803F27D09D
S315080045101C4BDB6813F0010F02D1FFF7EFFF00E039
S315080045201948184B1B6813F0040F11D015498A68EF
S31508004530C2F303628B68C3F306238C68C4F306448C
S31508004540611C02FB0112B0FBF2F203FB022208E037
S315080045500C4B9B6803F07F030133B0FBF3F200E0DA
S31508004560094A0749C868C0B20130B2FBF0F30869C6
S3150800457000F001000130B3FBF0F0044B186010BDE9
S31508004580004600501047005000366E0168000020B3
S3150800459070B55F4B9A6842F04D029A604D22DA6018
S315080045A0A0331B6813F0010F09D15A4A536843F028
S315080045B001035360574B1B6813F0010FFAD0564B93
S315080045C01B6813F4007F08D0534A936843F40073BA
S315080045D0936041F64C50FFF761FF504C636843F413
S315080045E00023636040F6C410FFF758FF636823F49E
S315080045F0803323F002036360494B5B6813F0300F86
S3150800460024D0103C636823F030036360FFF776FF1D
S31508004610444BA3FB00231B0D013B626842EA03439C
S3150800462063603E4BDA6822F00102DA605A6822F4C7
S3150800463000325A60394B1B6803F46073B3F5607F28
S31508004640F8D1334A936823F001039360334B5A68D1
S3150800465042F001025A605A6842F010025A60324A21
S315080046609A605A6842F040025A605A6822F010026C
S315080046705A605A6842F480225A60284B1B6813F025
S31508004680040FFAD0254A536823F001035360234BDD
S315080046901B6813F0010FFAD11D4A936823F004032F
S315080046A09360224C4FF00113E36000266661266191
S315080046B0266266620323E3611D4BA3611D4BA36259
S315080046C0164D6B6823F040036B601B4BAB604FF4D1
S315080046D01660FFF7E3FE194BAB604FF46160FFF716
S315080046E0DDFE174BAB604FF49650FFF7D7FE154B20
S315080046F0AB6041F27070FFF7D1FE134BAB604FF41D
S31508004700E150FFF7CBFE6660FFF7FCFE70BD00BF09
S3150800471060410050004200500044005010470050CD
S31508004720004700506BCA5F6B002F0B010046005014
S315080047300500010003002001002F0501002F0301D9
S31508004740002F0201002F0101002F000110B54FF0C4
S315080047500053044C0FCB84E80F00FFF7ADFEFFF7BC
S3150800476017FF10BD6C000020F0B48B081F1D50F811
S31508004770276001F00305ED00F824AC4026EA04049E
S3150800478040F82740466F4F000324BC4026EA04043D
S315080047904467194CA04203D004F58074A04207D19F
S315080047A0046E012606FA01F124EA0101016617E002
S315080047B054688C404460CC08103450F8247001F0DA
S315080047C00701890007268E4027EA060640F8246076
S315080047D050F82470167A06FA01F1394340F8241085
S315080047E0043350F82340117801FA05F2224340F8C1
S315080047F02320F0BC704700BF008E0248020F20F04D
S315080048007040034B53F82220136818431060704712
S31508004810284D0008034B1868034B5B6903F0010336
S31508004820D84070476800002000460050020F20F06C
S315080048307040034B53F822201368184310607047E2
S31508004840184D000830B48B08043350F8235001F093
S315080048500301C900F8248C4025EA040440F82340E3
S3150800486050F823408A4044EA020140F8231030BC3D
S31508004870704700BF70B505460E4600F0E1F8F479BA
S3150800488004B9102422463168284600F033F8B37973
S31508004890013B64080134240244EA430343F001035C
S315080048A0EB633379013B1B0643F481736B637379BE
S315080048B02BB16A6B013B42EA03436B6305E06A6B03
S315080048C03379013B42EA03436B634FF4A063AB635E
S315080048D04FF0FF33EB6433892B6470BDD0F80C318D
S315080048E013F0E06F02D1406D80B27047D0F81C011A
S315080048F080B2704763293BD9002A3BD02DE9F041A5
S3150800490015460C460646FFF785FF1B49A1FB0037EF
S315080049107F09A1FB0431480940F2FF3E4FF0010C24
S31508004920E046714611E007FB01F300FB05F2B3FB15
S31508004930F2F39C0AC3F30903B4F5806F04D29E45CB
S3150800494002D99E46A446884601390029EBD148F487
S31508004950004333617269094B1340013D43EA8523DD
S315080049600CF1FF3C43EA0C4373610020BDE8F0817B
S3150800497001207047012070471F85EB51EF8000FC2E
S3150800498030B4D0F8084124F0E064C0F80841D0F803
S315080049900851064C2C4041EA032343EA026244EAE2
S315080049A00203C0F8083130BC704700BFC0C0FFF82A
S315080049B030B4D0F80C4124F0E064C0F80C41D0F8CB
S315080049C00C51074C2C4041EA032343EA026244EAAD
S315080049D0020343F08053C0F80C3130BC704700BF67
S315080049E0C0C0FFEF10B5114B984208D14FF40060D4
S315080049F0FFF71CFF4FF40060FFF700FF10BD0C4BDC
S31508004A00984207D10B4C2046FFF710FF2046FFF7C8
S31508004A10F5FE10BD084B984206D1084C2046FFF714
S31508004A2005FF2046FFF7EAFE10BD00BF0800034059
S31508004A3008000248800000100840024800010010E3
S31508004A4010B50446154B984203D003F500739842F7
S31508004A5003D11348FFF7C6FF14E0124B984203D060
S31508004A6003F50073984203D10F48FFF7BBFF09E02F
S31508004A700E4B984203D003F50073984202D10C48B6
S31508004A80FFF7B0FF0323E360E36813F0010FFBD0E1
S31508004A90236C23F00F03236410BD00BF00000340FE
S31508004AA00800034000000248080002480040024887
S31508004AB00840024808B5FFF725FDFFF7BDFC00F0E2
S31508004AC0ABF808BD08B5FFF7F5FFFFF765FCFFF77C
S31508004AD0C1FCFFF7ADFCFAE707498D460749084AC6
S31508004AE0084B9A42BEBF51F8040B42F8040BF8E78C
S31508004AF00548804705480047000002204C4D00083D
S31508004B0000000020680000204D4700085D420008AC
S31508004B103C493D4A002301E041F8043B9142FBD35E
S31508004B20FFF7D0FFFEE7FEE7FEE7FEE7FEE7FEE754
S31508004170C74B0008C94B0008CB4B0008CD4B0008BD
S31508004180CF4B0008D14B0008D34B0008D54B00088D
S31508004190D74B0008D94B0008DB4B0008DD4B00085D
S315080041A0DF4B0008E14B0008E34B0008E54B00082D
S315080041B0E74B0008E94B0008EB4B0008ED4B0008FD
S315080041C0EF4B0008F14B0008F34B0008F54B0008CD
S315080041D0F74B0008F94B0008FB4B000800000000ED
S315080041E0FD4B0008FF4B0008014C0008034C000873
S315080041F0054C000800000000074C000800000000FD
S31508004200EE11AA5510B5054C237833B9044B13B1F2
S315080042100448AFF300800123237010BD7C00002002
S3150800422000000000444D0008084B10B51BB10849B2
S315080042300848AFF300800848036803B910BD074B68
S31508004240002BFBD0BDE81040184700BF0000000057
S3150800425080000020444D000868000020000000008F
S31508004260154B002B08BF134B9D46A3F5803A00213A
S315080042708B460F461348144A121A00F039FD0F4BA5
S31508004280002B00D098470E4B002B00D098470020F3
S31508004290002104000D000D48002802D00C48AFF399
S315080042A0008000F0FFFC2000290000F00DFC00F063
S315080042B0E5FC00BF00000800000002200000000026
S315080042C0000000007C000020EC0000200000000038
S315080042D0000000002DE9F0438BB04FF461430193D1
S315080042E008238DF808308DF8093001258DF80A5015
S315080042F010278DF80B700026ADF80C601C4C01A930
S31508004300204600F0B9FA8DF81C6008954FF00209AE
S315080043108DF82490DFF85C8007AA0421404600F057
S3150800432025FA90238DF8103005958DF818900DEB29
S3150800433007020521404600F019FAE36923F007034E
S315080043402B43E3612B4604223946204600F01AFB2C
S315080043502B4604223146204600F02CFB236C23F022
S315080043600F0343EA090323640BB0BDE8F08300BFDB
S315080043700000034000810248074BD3F8143113F0BC
S31508004380080F07D110B50446034800F0A9FA2070B3
S31508004390012010BD002070470000034008B5FFF754
S315080043A099FF08BDBFF34F8F0549CA6802F4E0625A
S315080043B0044B1343CB60BFF34F8F00BFFDE700BF2D
S315080043C000ED00E00400FA0508B5174B1B785BB949
S315080043D01648FFF7D1FF012824D10122124B1A7083
S315080043E00022134B1A7008BD114B1B7801330F4876
S315080043F01844FFF7C1FF012814D10D4A1378013379
S31508004400DBB21370094A127893420BD10022064B8D
S315080044101A70064B5B78FF2B04D1044B9B780BB9BB
S31508004420FFF7C0FF08BD00BF990000209C000020D0
S315080044309800002008B5FFF7C7FF08BD10B5054C62
S3150800444080220821204600F0FFF94FF08073636050
S3150800445010BD00BF0085024808B500F001FC0D4BF1
S315080044601B68C31AB3F5FA7F13D30B4B1B783BB9FA
S315080044700122094B1A704FF48072084B5A6006E005
S315080044800022054B1A704FF08072044B5A60014B9C
S31508004490186008BDE0000020E400002000850248FE
S315080044A082B00023019303E000BF019B013301930F
S315080044B0019B8342F8D302B0704700BF72B60D4B1A
S315080044C00D4A9A60BFF34F8F62B6D3F8882042F43C
S315080044D07002C3F888205A6922F008025A6107490F
S315080044E041F214028B5823F00F0343F004038B5058
S315080044F0704700BF00ED00E00040000800100058BB
S3150800450000487047001BB70010B51E4BDB6813F454
S31508004510803F27D01C4BDB6813F0010F02D1FFF751
S31508004520EFFF00E01948184B1B6813F0040F11D071
S3150800453015498A68C2F303628B68C3F306238C683D
S31508004540C4F30644611C02FB0112B0FBF2F203FB42
S31508004550022208E00C4B9B6803F07F030133B0FB93
S31508004560F3F200E0094A0749C868C0B20130B2FB55
S31508004570F0F3086900F001000130B3FBF0F0044BDA
S31508004580186010BD004600501047005000366E01F6
S315080045906800002070B55F4B9A6842F04D029A6039
S315080045A04D22DA60A0331B6813F0010F09D15A4A6D
S315080045B0536843F001035360574B1B6813F0010F10
S315080045C0FAD0564B1B6813F4007F08D0534A9368F9
S315080045D043F40073936041F64C50FFF761FF504C6B
S315080045E0636843F40023636040F6C410FFF758FF7E
S315080045F0636823F4803323F002036360494B5B68E6
S3150800460013F0300F24D0103C636823F03003636046
S31508004610FFF776FF444BA3FB00231B0D013B6268A3
S3150800462042EA034363603E4BDA6822F00102DA602D
S315080046305A6822F400325A60394B1B6803F46073D7
S31508004640B3F5607FF8D1334A936823F0010393608A
S31508004650334B5A6842F001025A605A6842F0100217
S315080046605A60324A9A605A6842F040025A605A685A
S3150800467022F010025A605A6842F480225A60284B87
S315080046801B6813F0040FFAD0254A536823F0010378
S315080046905360234B1B6813F0010FFAD11D4A936828
S315080046A023F004039360224C4FF00113E3600026C5
S315080046B066612661266266620323E3611D4BA36178
S315080046C01D4BA362164D6B6823F040036B601B4BB2
S315080046D0AB604FF41660FFF7E3FE194BAB604FF47F
S315080046E06160FFF7DDFE174BAB604FF49650FFF79E
S315080046F0D7FE154BAB6041F27070FFF7D1FE134B36
S31508004700AB604FF4E150FFF7CBFE6660FFF7FCFEA7
S3150800471070BD00BF60410050004200500044005088
S3150800472010470050004700506BCA5F6B002F0B0103
S31508004730004600500500010003002001002F050176
S31508004740002F0301002F0201002F0101002F000195
S3150800475010B54FF00053044C0FCB84E80F00FFF759
S31508004760ADFEFFF717FF10BD6C000020F0B48B08F4
S315080047701F1D50F8276001F00305ED00F824AC4032
S3150800478026EA040440F82740466F4F000324BC403D
S3150800479026EA04044467194CA04203D004F5807441
S315080047A0A04207D1046E012606FA01F124EA0101A6
S315080047B0016617E054688C404460CC08103450F801
S315080047C0247001F00701890007268E4027EA0606AD
S315080047D040F8246050F82470167A06FA01F1394335
S315080047E040F82410043350F82340117801FA05F2F2
S315080047F0224340F82320F0BC704700BF008E0248D1
S31508004800020F20F07040034B53F822201368184318
S31508004810106070472C4D0008034B1868034B5B6902
S3150800482003F00103D8407047680000200046005096
S31508004830020F20F07040034B53F8222013681843E8
S31508004840106070471C4D000830B48B08043350F8CC
S31508004850235001F00301C900F8248C4025EA04041A
S3150800486040F8234050F823408A4044EA020140F8C1
S31508004870231030BC704700BF70B505460E4600F0E1
S31508004880E1F8F47904B9102422463168284600F084
S3150800489033F8B379013B64080134240244EA43033C
S315080048A043F00103EB633379013B1B0643F4817341
S315080048B06B6373792BB16A6B013B42EA03436B6303
S315080048C005E06A6B3379013B42EA03436B634FF4B5
S315080048D0A063AB634FF0FF33EB6433892B6470BD81
S315080048E0D0F80C3113F0E06F02D1406D80B27047FA
S315080048F0D0F81C0180B2704763293BD9002A3BD007
S315080049002DE9F04115460C460646FFF785FF1B497B
S31508004910A1FB00377F09A1FB0431480940F2FF3E9D
S315080049204FF0010CE046714611E007FB01F300FB6E
S3150800493005F2B3FBF2F39C0AC3F30903B4F5806FDF
S3150800494004D29E4502D99E46A446884601390029C6
S31508004950EBD148F4004333617269094B1340013DBA
S3150800496043EA85230CF1FF3C43EA0C4373610020BC
S31508004970BDE8F08101207047012070471F85EB5183
S31508004980EF8000FC30B4D0F8084124F0E064C0F8A9
S315080049900841D0F80851064C2C4041EA032343EA63
S315080049A0026244EA0203C0F8083130BC704700BF0F
S315080049B0C0C0FFF830B4D0F80C4124F0E064C0F869
S315080049C00C41D0F80C51074C2C4041EA032343EA2A
S315080049D0026244EA020343F08053C0F80C3130BC4B
S315080049E0704700BFC0C0FFEF10B5114B984208D101
S315080049F04FF40060FFF71CFF4FF40060FFF700FF5D
S31508004A0010BD0C4B984207D10B4C2046FFF710FF00
S31508004A102046FFF7F5FE10BD084B984206D1084C14
S31508004A202046FFF705FF2046FFF7EAFE10BD00BF48
S31508004A3008000340080002488000001008400248A9
S31508004A400001001010B50446154B984203D003F533
S31508004A500073984203D11348FFF7C6FF14E0124BC0
S31508004A60984203D003F50073984203D10F48FFF725
S31508004A70BBFF09E00E4B984203D003F5007398423A
S31508004A8002D10C48FFF7B0FF0323E360E36813F095
S31508004A90010FFBD0236C23F00F03236410BD00BF66
S31508004AA000000340080003400000024808000248CE
S31508004AB0004002480840024808B5FFF725FDFFF701
S31508004AC0BDFC00F0ABF808BD08B5FFF7F5FFFFF72A
S31508004AD065FCFFF7C1FCFFF7ADFCFAE707498D4611
S31508004AE00749084A084B9A42BEBF51F8040B42F8D8
S31508004AF0040BF8E7054880470548004700000220F0
S31508004B00504D0008000000206800002051470008AA
S31508004B10614200083C493D4A002301E041F8043B54
S31508004B209142FBD3FFF7D0FFFEE7FEE7FEE7FEE77D
S31508004B30FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE73F
S31508004B40FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE72F
S31508004B50FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE71F
@ -191,35 +191,35 @@ S31508004BC0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7AF
S31508004BD0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE79F
S31508004BE0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE78F
S31508004BF0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE77F
S31508004C00FEE7FEE77C000020EC000020014B186060
S31508004C10704700BFE800002008B50C4B1B680C4A1B
S31508004C20A2FB03239B09013BB3F1807F09D2094A02
S31508004C305360FC21084B83F8231000239360072355
S31508004C4013600020FFF7E2FF08BD00BF68000020E0
S31508004C50D34D621010E000E000ED00E0014B18684B
S31508004C60704700BFE8000020024A1368013313604A
S31508004C70704700BFE800002008B5074B044613B18B
S31508004C800021AFF30080054B1868836A03B1984783
S31508004C90204600F033F800BF000000003C4D000835
S31508004CA070B50E4B0E4CE41AA41000251E46A542FC
S31508004CB004D056F8253098470135F8E700F020F873
S31508004CC0084C094BE41AA41000251E46A54204D038
S31508004CD056F8253098470135F8E770BD6000002082
S31508004CE060000020640000206000002002440346A3
S31508004CF0934202D003F8011BFAE77047FEE700006B
S31508004D00F8B500BFF8BC08BC9E467047F8B500BFAA
S31508004D10F8BC08BC9E4670474846005054460050AA
S31508004D20604600506C460050144400502044005021
S31508004D302C44005038440050430000000000002076
S30908004D400000000061
S30D08004D4418F5FF7F01000000CD
S31508004D4C0000000000000000000000000000000049
S31508004D5C0000000000000000000000000000000039
S31508004D6C384D00080000000000000000000000009C
S31508004D7C0000000000000000000000000000000019
S31508004D8C0000000000000000000000000000000009
S31508004D9C00000000000000000000000000000000F9
S30D08004DAC254200080142000837
S31508004DB400000000000000000000000000000000E1
S30908004DC400000000DD
S31508004C00FEE7FEE7FEE7FEE77C000020EC0000205A
S31508004C10014B1860704700BFE800002008B50C4B30
S31508004C201B680C4AA2FB03239B09013BB3F1807F57
S31508004C3009D2094A5360FC21084B83F82310002344
S31508004C409360072313600020FFF7E2FF08BD00BF4B
S31508004C5068000020D34D621010E000E000ED00E08F
S31508004C60014B1868704700BFE8000020024A136825
S31508004C7001331360704700BFE800002008B5074BF2
S31508004C80044613B10021AFF30080054B1868836A08
S31508004C9003B19847204600F033F800BF0000000033
S31508004CA0404D000870B50E4B0E4CE41AA4100025B2
S31508004CB01E46A54204D056F8253098470135F8E730
S31508004CC000F020F8084C094BE41AA41000251E46EB
S31508004CD0A54204D056F8253098470135F8E770BD47
S31508004CE060000020600000206400002060000020B2
S31508004CF002440346934202D003F8011BFAE77047C1
S31508004D00FEE70000F8B500BFF8BC08BC9E46704731
S31508004D10F8B500BFF8BC08BC9E4670474846005028
S31508004D2054460050604600506C46005014440050EB
S31508004D30204400502C4400503844005043000000E2
S30D08004D4000000020000000003D
S30D08004D4818F5FF7F01000000C9
S31508004D500000000000000000000000000000000045
S31508004D600000000000000000000000000000000035
S31508004D703C4D000800000000000000000000000094
S31508004D800000000000000000000000000000000015
S31508004D900000000000000000000000000000000005
S31508004DA000000000000000000000000000000000F5
S30D08004DB029420008054200082B
S31508004DB800000000000000000000000000000000DD
S30908004DC800000000D9
S70508004000B2

View File

@ -1025,7 +1025,7 @@
"led.h"
"timer.h"
1476976939 c:\work\software\openblt\target\demo\armcm4_xmc4_xcm4700_relax_kit_gcc\boot\blt_conf.h
1477061178 c:\work\software\openblt\target\demo\armcm4_xmc4_xcm4700_relax_kit_gcc\boot\blt_conf.h
1447665730 c:\work\software\openblt\target\demo\armcm4_xmc4_xcm4700_relax_kit_gcc\prog\lib\xmc4700.h
"core_cm4.h"
@ -1072,7 +1072,7 @@
1477054079 c:\work\software\openblt\target\demo\armcm4_xmc4_xcm4700_relax_kit_gcc\prog\timer.h
1476824725 source:c:\work\software\openblt\target\demo\armcm4_xmc4_xcm4700_relax_kit_gcc\prog\lib\system_xmc4700.c
1477085557 source:c:\work\software\openblt\target\demo\armcm4_xmc4_xcm4700_relax_kit_gcc\prog\lib\system_xmc4700.c
<string.h>
<XMC4700.h>
"system_XMC4700.h"
@ -1156,7 +1156,7 @@
1447665730 source:c:\work\software\openblt\target\demo\armcm4_xmc4_xcm4700_relax_kit_gcc\prog\lib\xmclib\src\xmc4_scu.c
<xmc_scu.h>
1477054777 source:c:\work\software\openblt\target\demo\armcm4_xmc4_xcm4700_relax_kit_gcc\prog\led.c
1477085088 source:c:\work\software\openblt\target\demo\armcm4_xmc4_xcm4700_relax_kit_gcc\prog\led.c
"header.h"
"xmc_gpio.h"
@ -1361,7 +1361,7 @@
1477054130 source:c:\work\software\openblt\target\demo\armcm4_xmc4_xcm4700_relax_kit_gcc\prog\main.c
"header.h"
1477054037 source:c:\work\software\openblt\target\demo\armcm4_xmc4_xcm4700_relax_kit_gcc\prog\startup_xmc4700.s
1477063723 source:c:\work\software\openblt\target\demo\armcm4_xmc4_xcm4700_relax_kit_gcc\prog\startup_xmc4700.s
1477054062 source:c:\work\software\openblt\target\demo\armcm4_xmc4_xcm4700_relax_kit_gcc\prog\timer.c
"header.h"

View File

@ -6,9 +6,19 @@
<Cursor1 position="7116" topLine="141" />
</Cursor>
</File>
<File name="..\led.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\led.c" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="736" topLine="18" />
<Cursor1 position="2285" topLine="36" />
</Cursor>
</File>
<File name="..\lib\cmsis\core_cm4.h" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="685" topLine="0" />
</Cursor>
</File>
<File name="..\lib\system_XMC4700.c" open="1" top="1" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="13297" topLine="345" />
</Cursor>
</File>
<File name="..\lib\system_XMC4700.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@ -16,9 +26,9 @@
<Cursor1 position="1661" topLine="49" />
</Cursor>
</File>
<File name="..\lib\XMC4700.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\lib\XMC4700.h" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="984" topLine="0" />
<Cursor1 position="66163" topLine="907" />
</Cursor>
</File>
<File name="..\lib\xmclib\inc\xmc4_gpio.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@ -46,19 +56,24 @@
<Cursor1 position="9830" topLine="204" />
</Cursor>
</File>
<File name="..\lib\xmclib\inc\xmc_scu.h" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1971" topLine="247" />
</Cursor>
</File>
<File name="..\lib\xmclib\src\xmc_ccu4.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="10141" topLine="255" />
</Cursor>
</File>
<File name="..\main.c" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\main.c" open="1" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1103" topLine="6" />
<Cursor1 position="2330" topLine="23" />
</Cursor>
</File>
<File name="..\startup_XMC4700.S" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\startup_XMC4700.S" open="1" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="12383" topLine="182" />
<Cursor1 position="13075" topLine="237" />
</Cursor>
</File>
</EmBitz_layout_file>

View File

@ -86,118 +86,119 @@ __isr_vector:
.long SysTick_Handler /* SysTick Handler */
// External Interrupts
.long SCU_0_IRQHandler // Handler name for SR SCU_0
.long ERU0_0_IRQHandler // Handler name for SR ERU0_0
.long ERU0_1_IRQHandler // Handler name for SR ERU0_1
.long ERU0_2_IRQHandler // Handler name for SR ERU0_2
.long ERU0_3_IRQHandler // Handler name for SR ERU0_3
.long ERU1_0_IRQHandler // Handler name for SR ERU1_0
.long ERU1_1_IRQHandler // Handler name for SR ERU1_1
.long ERU1_2_IRQHandler // Handler name for SR ERU1_2
.long ERU1_3_IRQHandler // Handler name for SR ERU1_3
.long 0 // Not Available
.long 0 // Not Available
.long 0 // Not Available
.long PMU0_0_IRQHandler // Handler name for SR PMU0_0
.long 0 // Not Available
.long VADC0_C0_0_IRQHandler // Handler name for SR VADC0_C0_0
.long VADC0_C0_1_IRQHandler // Handler name for SR VADC0_C0_1
.long VADC0_C0_2_IRQHandler // Handler name for SR VADC0_C0_1
.long VADC0_C0_3_IRQHandler // Handler name for SR VADC0_C0_3
.long VADC0_G0_0_IRQHandler // Handler name for SR VADC0_G0_0
.long VADC0_G0_1_IRQHandler // Handler name for SR VADC0_G0_1
.long VADC0_G0_2_IRQHandler // Handler name for SR VADC0_G0_2
.long VADC0_G0_3_IRQHandler // Handler name for SR VADC0_G0_3
.long VADC0_G1_0_IRQHandler // Handler name for SR VADC0_G1_0
.long VADC0_G1_1_IRQHandler // Handler name for SR VADC0_G1_1
.long VADC0_G1_2_IRQHandler // Handler name for SR VADC0_G1_2
.long VADC0_G1_3_IRQHandler // Handler name for SR VADC0_G1_3
.long VADC0_G2_0_IRQHandler // Handler name for SR VADC0_G2_0
.long VADC0_G2_1_IRQHandler // Handler name for SR VADC0_G2_1
.long VADC0_G2_2_IRQHandler // Handler name for SR VADC0_G2_2
.long VADC0_G2_3_IRQHandler // Handler name for SR VADC0_G2_3
.long VADC0_G3_0_IRQHandler // Handler name for SR VADC0_G3_0
.long VADC0_G3_1_IRQHandler // Handler name for SR VADC0_G3_1
.long VADC0_G3_2_IRQHandler // Handler name for SR VADC0_G3_2
.long VADC0_G3_3_IRQHandler // Handler name for SR VADC0_G3_3
.long DSD0_0_IRQHandler // Handler name for SR DSD0_0
.long DSD0_1_IRQHandler // Handler name for SR DSD0_1
.long DSD0_2_IRQHandler // Handler name for SR DSD0_2
.long DSD0_3_IRQHandler // Handler name for SR DSD0_3
.long DSD0_4_IRQHandler // Handler name for SR DSD0_4
.long DSD0_5_IRQHandler // Handler name for SR DSD0_5
.long DSD0_6_IRQHandler // Handler name for SR DSD0_6
.long DSD0_7_IRQHandler // Handler name for SR DSD0_7
.long DAC0_0_IRQHandler // Handler name for SR DAC0_0
.long DAC0_1_IRQHandler // Handler name for SR DAC0_0
.long CCU40_0_IRQHandler // Handler name for SR CCU40_0
.long CCU40_1_IRQHandler // Handler name for SR CCU40_1
.long CCU40_2_IRQHandler // Handler name for SR CCU40_2
.long CCU40_3_IRQHandler // Handler name for SR CCU40_3
.long CCU41_0_IRQHandler // Handler name for SR CCU41_0
.long CCU41_1_IRQHandler // Handler name for SR CCU41_1
.long CCU41_2_IRQHandler // Handler name for SR CCU41_2
.long CCU41_3_IRQHandler // Handler name for SR CCU41_3
.long CCU42_0_IRQHandler // Handler name for SR CCU42_0
.long CCU42_1_IRQHandler // Handler name for SR CCU42_1
.long CCU42_2_IRQHandler // Handler name for SR CCU42_2
.long CCU42_3_IRQHandler // Handler name for SR CCU42_3
.long CCU43_0_IRQHandler // Handler name for SR CCU43_0
.long CCU43_1_IRQHandler // Handler name for SR CCU43_1
.long CCU43_2_IRQHandler // Handler name for SR CCU43_2
.long CCU43_3_IRQHandler // Handler name for SR CCU43_3
.long CCU80_0_IRQHandler // Handler name for SR CCU80_0
.long CCU80_1_IRQHandler // Handler name for SR CCU80_1
.long CCU80_2_IRQHandler // Handler name for SR CCU80_2
.long CCU80_3_IRQHandler // Handler name for SR CCU80_3
.long CCU81_0_IRQHandler // Handler name for SR CCU81_0
.long CCU81_1_IRQHandler // Handler name for SR CCU81_1
.long CCU81_2_IRQHandler // Handler name for SR CCU81_2
.long CCU81_3_IRQHandler // Handler name for SR CCU81_3
.long POSIF0_0_IRQHandler // Handler name for SR POSIF0_0
.long POSIF0_1_IRQHandler // Handler name for SR POSIF0_1
.long POSIF1_0_IRQHandler // Handler name for SR POSIF1_0
.long POSIF1_1_IRQHandler // Handler name for SR POSIF1_1
.long 0 // Not Available
.long 0 // Not Available
.long 0 // Not Available
.long 0 // Not Available
.long CAN0_0_IRQHandler // Handler name for SR CAN0_0
.long CAN0_1_IRQHandler // Handler name for SR CAN0_1
.long CAN0_2_IRQHandler // Handler name for SR CAN0_2
.long CAN0_3_IRQHandler // Handler name for SR CAN0_3
.long CAN0_4_IRQHandler // Handler name for SR CAN0_4
.long CAN0_5_IRQHandler // Handler name for SR CAN0_5
.long CAN0_6_IRQHandler // Handler name for SR CAN0_6
.long CAN0_7_IRQHandler // Handler name for SR CAN0_7
.long USIC0_0_IRQHandler // Handler name for SR USIC0_0
.long USIC0_1_IRQHandler // Handler name for SR USIC0_1
.long USIC0_2_IRQHandler // Handler name for SR USIC0_2
.long USIC0_3_IRQHandler // Handler name for SR USIC0_3
.long USIC0_4_IRQHandler // Handler name for SR USIC0_4
.long USIC0_5_IRQHandler // Handler name for SR USIC0_5
.long USIC1_0_IRQHandler // Handler name for SR USIC1_0
.long USIC1_1_IRQHandler // Handler name for SR USIC1_1
.long USIC1_2_IRQHandler // Handler name for SR USIC1_2
.long USIC1_3_IRQHandler // Handler name for SR USIC1_3
.long USIC1_4_IRQHandler // Handler name for SR USIC1_4
.long USIC1_5_IRQHandler // Handler name for SR USIC1_5
.long USIC2_0_IRQHandler // Handler name for SR USIC2_0
.long USIC2_1_IRQHandler // Handler name for SR USIC2_1
.long USIC2_2_IRQHandler // Handler name for SR USIC2_2
.long USIC2_3_IRQHandler // Handler name for SR USIC2_3
.long USIC2_4_IRQHandler // Handler name for SR USIC2_4
.long USIC2_5_IRQHandler // Handler name for SR USIC2_5
.long LEDTS0_0_IRQHandler // Handler name for SR LEDTS0_0
.long 0 // Not Available
.long FCE0_0_IRQHandler // Handler name for SR FCE0_0
.long GPDMA0_0_IRQHandler // Handler name for SR GPDMA0_0
.long SDMMC0_0_IRQHandler // Handler name for SR SDMMC0_0
.long USB0_0_IRQHandler // Handler name for SR USB0_0
.long ETH0_0_IRQHandler // Handler name for SR ETH0_0
.long 0 // Not Available
.long GPDMA1_0_IRQHandler // Handler name for SR GPDMA1_0
.long SCU_0_IRQHandler // Handler name for SR SCU_0
.long ERU0_0_IRQHandler // Handler name for SR ERU0_0
.long ERU0_1_IRQHandler // Handler name for SR ERU0_1
.long ERU0_2_IRQHandler // Handler name for SR ERU0_2
.long ERU0_3_IRQHandler // Handler name for SR ERU0_3
.long ERU1_0_IRQHandler // Handler name for SR ERU1_0
.long ERU1_1_IRQHandler // Handler name for SR ERU1_1
.long ERU1_2_IRQHandler // Handler name for SR ERU1_2
.long ERU1_3_IRQHandler // Handler name for SR ERU1_3
.long 0 // Not Available
.long 0 // Not Available
.long 0 // Not Available
.long PMU0_0_IRQHandler // Handler name for SR PMU0_0
.long 0 // Not Available
.long VADC0_C0_0_IRQHandler // Handler name for SR VADC0_C0_0
.long VADC0_C0_1_IRQHandler // Handler name for SR VADC0_C0_1
.long VADC0_C0_2_IRQHandler // Handler name for SR VADC0_C0_1
.long VADC0_C0_3_IRQHandler // Handler name for SR VADC0_C0_3
.long VADC0_G0_0_IRQHandler // Handler name for SR VADC0_G0_0
.long VADC0_G0_1_IRQHandler // Handler name for SR VADC0_G0_1
.long VADC0_G0_2_IRQHandler // Handler name for SR VADC0_G0_2
.long VADC0_G0_3_IRQHandler // Handler name for SR VADC0_G0_3
.long VADC0_G1_0_IRQHandler // Handler name for SR VADC0_G1_0
.long VADC0_G1_1_IRQHandler // Handler name for SR VADC0_G1_1
.long VADC0_G1_2_IRQHandler // Handler name for SR VADC0_G1_2
.long VADC0_G1_3_IRQHandler // Handler name for SR VADC0_G1_3
.long VADC0_G2_0_IRQHandler // Handler name for SR VADC0_G2_0
.long VADC0_G2_1_IRQHandler // Handler name for SR VADC0_G2_1
.long VADC0_G2_2_IRQHandler // Handler name for SR VADC0_G2_2
.long VADC0_G2_3_IRQHandler // Handler name for SR VADC0_G2_3
.long VADC0_G3_0_IRQHandler // Handler name for SR VADC0_G3_0
.long VADC0_G3_1_IRQHandler // Handler name for SR VADC0_G3_1
.long VADC0_G3_2_IRQHandler // Handler name for SR VADC0_G3_2
.long VADC0_G3_3_IRQHandler // Handler name for SR VADC0_G3_3
.long DSD0_0_IRQHandler // Handler name for SR DSD0_0
.long DSD0_1_IRQHandler // Handler name for SR DSD0_1
.long DSD0_2_IRQHandler // Handler name for SR DSD0_2
.long DSD0_3_IRQHandler // Handler name for SR DSD0_3
.long DSD0_4_IRQHandler // Handler name for SR DSD0_4
.long DSD0_5_IRQHandler // Handler name for SR DSD0_5
.long DSD0_6_IRQHandler // Handler name for SR DSD0_6
.long DSD0_7_IRQHandler // Handler name for SR DSD0_7
.long DAC0_0_IRQHandler // Handler name for SR DAC0_0
.long DAC0_1_IRQHandler // Handler name for SR DAC0_0
.long CCU40_0_IRQHandler // Handler name for SR CCU40_0
.long CCU40_1_IRQHandler // Handler name for SR CCU40_1
.long CCU40_2_IRQHandler // Handler name for SR CCU40_2
.long CCU40_3_IRQHandler // Handler name for SR CCU40_3
.long CCU41_0_IRQHandler // Handler name for SR CCU41_0
.long CCU41_1_IRQHandler // Handler name for SR CCU41_1
.long CCU41_2_IRQHandler // Handler name for SR CCU41_2
.long CCU41_3_IRQHandler // Handler name for SR CCU41_3
.long CCU42_0_IRQHandler // Handler name for SR CCU42_0
.long CCU42_1_IRQHandler // Handler name for SR CCU42_1
.long CCU42_2_IRQHandler // Handler name for SR CCU42_2
.long CCU42_3_IRQHandler // Handler name for SR CCU42_3
.long CCU43_0_IRQHandler // Handler name for SR CCU43_0
.long CCU43_1_IRQHandler // Handler name for SR CCU43_1
.long CCU43_2_IRQHandler // Handler name for SR CCU43_2
.long CCU43_3_IRQHandler // Handler name for SR CCU43_3
.long CCU80_0_IRQHandler // Handler name for SR CCU80_0
.long CCU80_1_IRQHandler // Handler name for SR CCU80_1
.long CCU80_2_IRQHandler // Handler name for SR CCU80_2
.long CCU80_3_IRQHandler // Handler name for SR CCU80_3
.long CCU81_0_IRQHandler // Handler name for SR CCU81_0
.long CCU81_1_IRQHandler // Handler name for SR CCU81_1
.long CCU81_2_IRQHandler // Handler name for SR CCU81_2
.long CCU81_3_IRQHandler // Handler name for SR CCU81_3
.long POSIF0_0_IRQHandler // Handler name for SR POSIF0_0
.long POSIF0_1_IRQHandler // Handler name for SR POSIF0_1
.long POSIF1_0_IRQHandler // Handler name for SR POSIF1_0
.long POSIF1_1_IRQHandler // Handler name for SR POSIF1_1
.long 0 // Not Available
.long 0 // Not Available
.long 0 // Not Available
.long 0 // Not Available
.long CAN0_0_IRQHandler // Handler name for SR CAN0_0
.long CAN0_1_IRQHandler // Handler name for SR CAN0_1
.long CAN0_2_IRQHandler // Handler name for SR CAN0_2
.long CAN0_3_IRQHandler // Handler name for SR CAN0_3
.long CAN0_4_IRQHandler // Handler name for SR CAN0_4
.long CAN0_5_IRQHandler // Handler name for SR CAN0_5
.long CAN0_6_IRQHandler // Handler name for SR CAN0_6
.long CAN0_7_IRQHandler // Handler name for SR CAN0_7
.long USIC0_0_IRQHandler // Handler name for SR USIC0_0
.long USIC0_1_IRQHandler // Handler name for SR USIC0_1
.long USIC0_2_IRQHandler // Handler name for SR USIC0_2
.long USIC0_3_IRQHandler // Handler name for SR USIC0_3
.long USIC0_4_IRQHandler // Handler name for SR USIC0_4
.long USIC0_5_IRQHandler // Handler name for SR USIC0_5
.long USIC1_0_IRQHandler // Handler name for SR USIC1_0
.long USIC1_1_IRQHandler // Handler name for SR USIC1_1
.long USIC1_2_IRQHandler // Handler name for SR USIC1_2
.long USIC1_3_IRQHandler // Handler name for SR USIC1_3
.long USIC1_4_IRQHandler // Handler name for SR USIC1_4
.long USIC1_5_IRQHandler // Handler name for SR USIC1_5
.long USIC2_0_IRQHandler // Handler name for SR USIC2_0
.long USIC2_1_IRQHandler // Handler name for SR USIC2_1
.long USIC2_2_IRQHandler // Handler name for SR USIC2_2
.long USIC2_3_IRQHandler // Handler name for SR USIC2_3
.long USIC2_4_IRQHandler // Handler name for SR USIC2_4
.long USIC2_5_IRQHandler // Handler name for SR USIC2_5
.long LEDTS0_0_IRQHandler // Handler name for SR LEDTS0_0
.long 0 // Not Available
.long FCE0_0_IRQHandler // Handler name for SR FCE0_0
.long GPDMA0_0_IRQHandler // Handler name for SR GPDMA0_0
.long SDMMC0_0_IRQHandler // Handler name for SR SDMMC0_0
.long USB0_0_IRQHandler // Handler name for SR USB0_0
.long ETH0_0_IRQHandler // Handler name for SR ETH0_0
.long 0 // Not Available
.long GPDMA1_0_IRQHandler // Handler name for SR GPDMA1_0
.long 0 // Not Available
.long 0x55AA11EE // Reserved for OpenBLT checksum
.size __isr_vector, . - __isr_vector
@ -211,7 +212,7 @@ Reset_Handler:
/* Initialize the stackpointer. this is done automatically after a reset event, but
* this program is started by the bootloader and not a reset event. */
ldr r1, =__StackTop
mov sp, r1
mov sp, r1
/* Loop to copy data from read only memory to RAM. The ranges
* of copy from/to are specified by following symbols evaluated in

View File

@ -86,117 +86,117 @@ __isr_vector:
.long SysTick_Handler /* SysTick Handler */
// External Interrupts
.long SCU_0_IRQHandler // Handler name for SR SCU_0
.long ERU0_0_IRQHandler // Handler name for SR ERU0_0
.long ERU0_1_IRQHandler // Handler name for SR ERU0_1
.long ERU0_2_IRQHandler // Handler name for SR ERU0_2
.long ERU0_3_IRQHandler // Handler name for SR ERU0_3
.long ERU1_0_IRQHandler // Handler name for SR ERU1_0
.long ERU1_1_IRQHandler // Handler name for SR ERU1_1
.long ERU1_2_IRQHandler // Handler name for SR ERU1_2
.long ERU1_3_IRQHandler // Handler name for SR ERU1_3
.long 0 // Not Available
.long 0 // Not Available
.long 0 // Not Available
.long PMU0_0_IRQHandler // Handler name for SR PMU0_0
.long 0 // Not Available
.long VADC0_C0_0_IRQHandler // Handler name for SR VADC0_C0_0
.long VADC0_C0_1_IRQHandler // Handler name for SR VADC0_C0_1
.long VADC0_C0_2_IRQHandler // Handler name for SR VADC0_C0_1
.long VADC0_C0_3_IRQHandler // Handler name for SR VADC0_C0_3
.long VADC0_G0_0_IRQHandler // Handler name for SR VADC0_G0_0
.long VADC0_G0_1_IRQHandler // Handler name for SR VADC0_G0_1
.long VADC0_G0_2_IRQHandler // Handler name for SR VADC0_G0_2
.long VADC0_G0_3_IRQHandler // Handler name for SR VADC0_G0_3
.long VADC0_G1_0_IRQHandler // Handler name for SR VADC0_G1_0
.long VADC0_G1_1_IRQHandler // Handler name for SR VADC0_G1_1
.long VADC0_G1_2_IRQHandler // Handler name for SR VADC0_G1_2
.long VADC0_G1_3_IRQHandler // Handler name for SR VADC0_G1_3
.long VADC0_G2_0_IRQHandler // Handler name for SR VADC0_G2_0
.long VADC0_G2_1_IRQHandler // Handler name for SR VADC0_G2_1
.long VADC0_G2_2_IRQHandler // Handler name for SR VADC0_G2_2
.long VADC0_G2_3_IRQHandler // Handler name for SR VADC0_G2_3
.long VADC0_G3_0_IRQHandler // Handler name for SR VADC0_G3_0
.long VADC0_G3_1_IRQHandler // Handler name for SR VADC0_G3_1
.long VADC0_G3_2_IRQHandler // Handler name for SR VADC0_G3_2
.long VADC0_G3_3_IRQHandler // Handler name for SR VADC0_G3_3
.long DSD0_0_IRQHandler // Handler name for SR DSD0_0
.long DSD0_1_IRQHandler // Handler name for SR DSD0_1
.long DSD0_2_IRQHandler // Handler name for SR DSD0_2
.long DSD0_3_IRQHandler // Handler name for SR DSD0_3
.long DSD0_4_IRQHandler // Handler name for SR DSD0_4
.long DSD0_5_IRQHandler // Handler name for SR DSD0_5
.long DSD0_6_IRQHandler // Handler name for SR DSD0_6
.long DSD0_7_IRQHandler // Handler name for SR DSD0_7
.long DAC0_0_IRQHandler // Handler name for SR DAC0_0
.long DAC0_1_IRQHandler // Handler name for SR DAC0_0
.long CCU40_0_IRQHandler // Handler name for SR CCU40_0
.long CCU40_1_IRQHandler // Handler name for SR CCU40_1
.long CCU40_2_IRQHandler // Handler name for SR CCU40_2
.long CCU40_3_IRQHandler // Handler name for SR CCU40_3
.long CCU41_0_IRQHandler // Handler name for SR CCU41_0
.long CCU41_1_IRQHandler // Handler name for SR CCU41_1
.long CCU41_2_IRQHandler // Handler name for SR CCU41_2
.long CCU41_3_IRQHandler // Handler name for SR CCU41_3
.long CCU42_0_IRQHandler // Handler name for SR CCU42_0
.long CCU42_1_IRQHandler // Handler name for SR CCU42_1
.long CCU42_2_IRQHandler // Handler name for SR CCU42_2
.long CCU42_3_IRQHandler // Handler name for SR CCU42_3
.long CCU43_0_IRQHandler // Handler name for SR CCU43_0
.long CCU43_1_IRQHandler // Handler name for SR CCU43_1
.long CCU43_2_IRQHandler // Handler name for SR CCU43_2
.long CCU43_3_IRQHandler // Handler name for SR CCU43_3
.long CCU80_0_IRQHandler // Handler name for SR CCU80_0
.long CCU80_1_IRQHandler // Handler name for SR CCU80_1
.long CCU80_2_IRQHandler // Handler name for SR CCU80_2
.long CCU80_3_IRQHandler // Handler name for SR CCU80_3
.long CCU81_0_IRQHandler // Handler name for SR CCU81_0
.long CCU81_1_IRQHandler // Handler name for SR CCU81_1
.long CCU81_2_IRQHandler // Handler name for SR CCU81_2
.long CCU81_3_IRQHandler // Handler name for SR CCU81_3
.long POSIF0_0_IRQHandler // Handler name for SR POSIF0_0
.long POSIF0_1_IRQHandler // Handler name for SR POSIF0_1
.long POSIF1_0_IRQHandler // Handler name for SR POSIF1_0
.long POSIF1_1_IRQHandler // Handler name for SR POSIF1_1
.long 0 // Not Available
.long 0 // Not Available
.long 0 // Not Available
.long 0 // Not Available
.long CAN0_0_IRQHandler // Handler name for SR CAN0_0
.long CAN0_1_IRQHandler // Handler name for SR CAN0_1
.long CAN0_2_IRQHandler // Handler name for SR CAN0_2
.long CAN0_3_IRQHandler // Handler name for SR CAN0_3
.long CAN0_4_IRQHandler // Handler name for SR CAN0_4
.long CAN0_5_IRQHandler // Handler name for SR CAN0_5
.long CAN0_6_IRQHandler // Handler name for SR CAN0_6
.long CAN0_7_IRQHandler // Handler name for SR CAN0_7
.long USIC0_0_IRQHandler // Handler name for SR USIC0_0
.long USIC0_1_IRQHandler // Handler name for SR USIC0_1
.long USIC0_2_IRQHandler // Handler name for SR USIC0_2
.long USIC0_3_IRQHandler // Handler name for SR USIC0_3
.long USIC0_4_IRQHandler // Handler name for SR USIC0_4
.long USIC0_5_IRQHandler // Handler name for SR USIC0_5
.long USIC1_0_IRQHandler // Handler name for SR USIC1_0
.long USIC1_1_IRQHandler // Handler name for SR USIC1_1
.long USIC1_2_IRQHandler // Handler name for SR USIC1_2
.long USIC1_3_IRQHandler // Handler name for SR USIC1_3
.long USIC1_4_IRQHandler // Handler name for SR USIC1_4
.long USIC1_5_IRQHandler // Handler name for SR USIC1_5
.long USIC2_0_IRQHandler // Handler name for SR USIC2_0
.long USIC2_1_IRQHandler // Handler name for SR USIC2_1
.long USIC2_2_IRQHandler // Handler name for SR USIC2_2
.long USIC2_3_IRQHandler // Handler name for SR USIC2_3
.long USIC2_4_IRQHandler // Handler name for SR USIC2_4
.long USIC2_5_IRQHandler // Handler name for SR USIC2_5
.long LEDTS0_0_IRQHandler // Handler name for SR LEDTS0_0
.long 0 // Not Available
.long FCE0_0_IRQHandler // Handler name for SR FCE0_0
.long GPDMA0_0_IRQHandler // Handler name for SR GPDMA0_0
.long SDMMC0_0_IRQHandler // Handler name for SR SDMMC0_0
.long USB0_0_IRQHandler // Handler name for SR USB0_0
.long ETH0_0_IRQHandler // Handler name for SR ETH0_0
.long 0 // Not Available
.long GPDMA1_0_IRQHandler // Handler name for SR GPDMA1_0
.long SCU_0_IRQHandler // Handler name for SR SCU_0
.long ERU0_0_IRQHandler // Handler name for SR ERU0_0
.long ERU0_1_IRQHandler // Handler name for SR ERU0_1
.long ERU0_2_IRQHandler // Handler name for SR ERU0_2
.long ERU0_3_IRQHandler // Handler name for SR ERU0_3
.long ERU1_0_IRQHandler // Handler name for SR ERU1_0
.long ERU1_1_IRQHandler // Handler name for SR ERU1_1
.long ERU1_2_IRQHandler // Handler name for SR ERU1_2
.long ERU1_3_IRQHandler // Handler name for SR ERU1_3
.long 0 // Not Available
.long 0 // Not Available
.long 0 // Not Available
.long PMU0_0_IRQHandler // Handler name for SR PMU0_0
.long 0 // Not Available
.long VADC0_C0_0_IRQHandler // Handler name for SR VADC0_C0_0
.long VADC0_C0_1_IRQHandler // Handler name for SR VADC0_C0_1
.long VADC0_C0_2_IRQHandler // Handler name for SR VADC0_C0_1
.long VADC0_C0_3_IRQHandler // Handler name for SR VADC0_C0_3
.long VADC0_G0_0_IRQHandler // Handler name for SR VADC0_G0_0
.long VADC0_G0_1_IRQHandler // Handler name for SR VADC0_G0_1
.long VADC0_G0_2_IRQHandler // Handler name for SR VADC0_G0_2
.long VADC0_G0_3_IRQHandler // Handler name for SR VADC0_G0_3
.long VADC0_G1_0_IRQHandler // Handler name for SR VADC0_G1_0
.long VADC0_G1_1_IRQHandler // Handler name for SR VADC0_G1_1
.long VADC0_G1_2_IRQHandler // Handler name for SR VADC0_G1_2
.long VADC0_G1_3_IRQHandler // Handler name for SR VADC0_G1_3
.long VADC0_G2_0_IRQHandler // Handler name for SR VADC0_G2_0
.long VADC0_G2_1_IRQHandler // Handler name for SR VADC0_G2_1
.long VADC0_G2_2_IRQHandler // Handler name for SR VADC0_G2_2
.long VADC0_G2_3_IRQHandler // Handler name for SR VADC0_G2_3
.long VADC0_G3_0_IRQHandler // Handler name for SR VADC0_G3_0
.long VADC0_G3_1_IRQHandler // Handler name for SR VADC0_G3_1
.long VADC0_G3_2_IRQHandler // Handler name for SR VADC0_G3_2
.long VADC0_G3_3_IRQHandler // Handler name for SR VADC0_G3_3
.long DSD0_0_IRQHandler // Handler name for SR DSD0_0
.long DSD0_1_IRQHandler // Handler name for SR DSD0_1
.long DSD0_2_IRQHandler // Handler name for SR DSD0_2
.long DSD0_3_IRQHandler // Handler name for SR DSD0_3
.long DSD0_4_IRQHandler // Handler name for SR DSD0_4
.long DSD0_5_IRQHandler // Handler name for SR DSD0_5
.long DSD0_6_IRQHandler // Handler name for SR DSD0_6
.long DSD0_7_IRQHandler // Handler name for SR DSD0_7
.long DAC0_0_IRQHandler // Handler name for SR DAC0_0
.long DAC0_1_IRQHandler // Handler name for SR DAC0_0
.long CCU40_0_IRQHandler // Handler name for SR CCU40_0
.long CCU40_1_IRQHandler // Handler name for SR CCU40_1
.long CCU40_2_IRQHandler // Handler name for SR CCU40_2
.long CCU40_3_IRQHandler // Handler name for SR CCU40_3
.long CCU41_0_IRQHandler // Handler name for SR CCU41_0
.long CCU41_1_IRQHandler // Handler name for SR CCU41_1
.long CCU41_2_IRQHandler // Handler name for SR CCU41_2
.long CCU41_3_IRQHandler // Handler name for SR CCU41_3
.long CCU42_0_IRQHandler // Handler name for SR CCU42_0
.long CCU42_1_IRQHandler // Handler name for SR CCU42_1
.long CCU42_2_IRQHandler // Handler name for SR CCU42_2
.long CCU42_3_IRQHandler // Handler name for SR CCU42_3
.long CCU43_0_IRQHandler // Handler name for SR CCU43_0
.long CCU43_1_IRQHandler // Handler name for SR CCU43_1
.long CCU43_2_IRQHandler // Handler name for SR CCU43_2
.long CCU43_3_IRQHandler // Handler name for SR CCU43_3
.long CCU80_0_IRQHandler // Handler name for SR CCU80_0
.long CCU80_1_IRQHandler // Handler name for SR CCU80_1
.long CCU80_2_IRQHandler // Handler name for SR CCU80_2
.long CCU80_3_IRQHandler // Handler name for SR CCU80_3
.long CCU81_0_IRQHandler // Handler name for SR CCU81_0
.long CCU81_1_IRQHandler // Handler name for SR CCU81_1
.long CCU81_2_IRQHandler // Handler name for SR CCU81_2
.long CCU81_3_IRQHandler // Handler name for SR CCU81_3
.long POSIF0_0_IRQHandler // Handler name for SR POSIF0_0
.long POSIF0_1_IRQHandler // Handler name for SR POSIF0_1
.long POSIF1_0_IRQHandler // Handler name for SR POSIF1_0
.long POSIF1_1_IRQHandler // Handler name for SR POSIF1_1
.long 0 // Not Available
.long 0 // Not Available
.long 0 // Not Available
.long 0 // Not Available
.long CAN0_0_IRQHandler // Handler name for SR CAN0_0
.long CAN0_1_IRQHandler // Handler name for SR CAN0_1
.long CAN0_2_IRQHandler // Handler name for SR CAN0_2
.long CAN0_3_IRQHandler // Handler name for SR CAN0_3
.long CAN0_4_IRQHandler // Handler name for SR CAN0_4
.long CAN0_5_IRQHandler // Handler name for SR CAN0_5
.long CAN0_6_IRQHandler // Handler name for SR CAN0_6
.long CAN0_7_IRQHandler // Handler name for SR CAN0_7
.long USIC0_0_IRQHandler // Handler name for SR USIC0_0
.long USIC0_1_IRQHandler // Handler name for SR USIC0_1
.long USIC0_2_IRQHandler // Handler name for SR USIC0_2
.long USIC0_3_IRQHandler // Handler name for SR USIC0_3
.long USIC0_4_IRQHandler // Handler name for SR USIC0_4
.long USIC0_5_IRQHandler // Handler name for SR USIC0_5
.long USIC1_0_IRQHandler // Handler name for SR USIC1_0
.long USIC1_1_IRQHandler // Handler name for SR USIC1_1
.long USIC1_2_IRQHandler // Handler name for SR USIC1_2
.long USIC1_3_IRQHandler // Handler name for SR USIC1_3
.long USIC1_4_IRQHandler // Handler name for SR USIC1_4
.long USIC1_5_IRQHandler // Handler name for SR USIC1_5
.long USIC2_0_IRQHandler // Handler name for SR USIC2_0
.long USIC2_1_IRQHandler // Handler name for SR USIC2_1
.long USIC2_2_IRQHandler // Handler name for SR USIC2_2
.long USIC2_3_IRQHandler // Handler name for SR USIC2_3
.long USIC2_4_IRQHandler // Handler name for SR USIC2_4
.long USIC2_5_IRQHandler // Handler name for SR USIC2_5
.long LEDTS0_0_IRQHandler // Handler name for SR LEDTS0_0
.long 0 // Not Available
.long FCE0_0_IRQHandler // Handler name for SR FCE0_0
.long GPDMA0_0_IRQHandler // Handler name for SR GPDMA0_0
.long SDMMC0_0_IRQHandler // Handler name for SR SDMMC0_0
.long USB0_0_IRQHandler // Handler name for SR USB0_0
.long ETH0_0_IRQHandler // Handler name for SR ETH0_0
.long 0 // Not Available
.long GPDMA1_0_IRQHandler // Handler name for SR GPDMA1_0
.long 0 // Not Available
.size __isr_vector, . - __isr_vector

View File

@ -30,6 +30,7 @@
* Include files
****************************************************************************************/
#include "boot.h" /* bootloader generic header */
#include "xmc_flash.h" /* Flash driver header */
/****************************************************************************************
@ -39,8 +40,10 @@
#define FLASH_INVALID_SECTOR (0xff)
/** \brief Value for an invalid flash address. */
#define FLASH_INVALID_ADDRESS (0xffffffff)
/** \brief Standard size of a flash block for writing. */
#define FLASH_WRITE_BLOCK_SIZE (512)
/** \brief Standard size of a flash block for writing. It should be large enough so that
* the OpenBLT checksum fits in the first (boot) block)
*/
#define FLASH_WRITE_BLOCK_SIZE (1024)
/** \brief Total numbers of sectors in array flashLayout[]. */
#define FLASH_TOTAL_SECTORS (sizeof(flashLayout)/sizeof(flashLayout[0]))
/** \brief Offset into the user program's vector table where the checksum is located.
@ -54,6 +57,29 @@
#define FLASH_VECTOR_TABLE_CS_OFFSET (0x200)
#endif
/** \brief Minimum amount of bytes that can be programmed to flash at a time. It is
* hardware dependent.
*/
#define FLASH_WRITE_PAGE_SIZE (256)
/** \brief Base address in the memory map for uncached flash. It is hardware dependent.
*/
#define FLASH_UNCACHED_BASE_ADDR (0x0C000000U)
/** \brief Base address in the memory map for cached flash. It is hardware dependent.
*/
#define FLASH_CACHED_BASE_ADDR (0x08000000U)
/** \brief Maximum time for a sector erase operation as specified by the XCM4xxx data-
* sheet with an added 20% margin.
*/
#define FLASH_ERASE_TIME_MAX_MS (6600)
/** \brief Maximum time for a page program operation as specified by the XCM4xxx data-
* sheet with an added 20% margin.
*/
#define FLASH_PROGRAM_TIME_MAX_MS (13)
/****************************************************************************************
* Plausibility checks
@ -66,6 +92,10 @@
#define BOOT_FLASH_CUSTOM_LAYOUT_ENABLE (0u)
#endif
#if ((FLASH_WRITE_BLOCK_SIZE % FLASH_WRITE_PAGE_SIZE) != 0)
#error "FLASH_WRITE_BLOCK_SIZE must be a multiple of FLASH_WRITE_PAGE_SIZE."
#endif
/****************************************************************************************
* Type definitions
@ -102,6 +132,8 @@ static blt_bool FlashAddToBlock(tFlashBlockInfo *block, blt_addr address,
static blt_bool FlashWriteBlock(tFlashBlockInfo *block);
static blt_bool FlashEraseSectors(blt_int8u first_sector, blt_int8u last_sector);
static blt_int8u FlashGetSector(blt_addr address);
static blt_addr FlashGetSectorBaseAddr(blt_int8u sector);
static blt_addr FlashTranslateToNonCachedAddress(blt_addr address);
/****************************************************************************************
@ -120,6 +152,10 @@ static blt_int8u FlashGetSector(blt_addr address);
* \details Also controls what part of the flash memory is reserved for the bootloader.
* If the bootloader size changes, the reserved sectors for the bootloader
* might need adjustment to make sure the bootloader doesn't get overwritten.
* Note that the table contains uncached addresses, because flash program/
* erase operations need to be performed on uncached addresses. This flash
* driver automatically translated cached to uncached addresses, so there
* is no need for the user to adjust this when calling this driver's API.
*/
static const tFlashSector flashLayout[] =
{
@ -128,27 +164,27 @@ static const tFlashSector flashLayout[] =
* the bootloader fits in it. this is needed to protect the bootloader from being
* overwritten during a firmware update.
*/
/* { 0x08000000, 0x04000, 0}, flash sector 0 - reserved for bootloader */
{ 0x08004000, 0x04000, 1}, /* flash sector 1 - 16kb */
{ 0x08008000, 0x04000, 2}, /* flash sector 2 - 16kb */
{ 0x0800c000, 0x04000, 3}, /* flash sector 3 - 16kb */
{ 0x08010000, 0x04000, 4}, /* flash sector 4 - 16kb */
{ 0x08014000, 0x04000, 5}, /* flash sector 5 - 16kb */
{ 0x08018000, 0x04000, 6}, /* flash sector 6 - 16kb */
{ 0x0801c000, 0x04000, 7}, /* flash sector 7 - 16kb */
{ 0x08020000, 0x20000, 8}, /* flash sector 8 - 128kb */
/* { 0x0c000000, 0x04000, 0}, flash sector 0 - reserved for bootloader */
{ 0x0c004000, 0x04000, 1}, /* flash sector 1 - 16kb */
{ 0x0c008000, 0x04000, 2}, /* flash sector 2 - 16kb */
{ 0x0c00c000, 0x04000, 3}, /* flash sector 3 - 16kb */
{ 0x0c010000, 0x04000, 4}, /* flash sector 4 - 16kb */
{ 0x0c014000, 0x04000, 5}, /* flash sector 5 - 16kb */
{ 0x0c018000, 0x04000, 6}, /* flash sector 6 - 16kb */
{ 0x0c01c000, 0x04000, 7}, /* flash sector 7 - 16kb */
{ 0x0c020000, 0x20000, 8}, /* flash sector 8 - 128kb */
#if (BOOT_NVM_SIZE_KB > 256)
{ 0x08040000, 0x40000, 9}, /* flash sector 9 - 256kb */
{ 0x0c040000, 0x40000, 9}, /* flash sector 9 - 256kb */
#endif
#if (BOOT_NVM_SIZE_KB > 512)
{ 0x08080000, 0x40000, 10}, /* flash sector 10 - 256kb */
{ 0x080C0000, 0x40000, 11}, /* flash sector 11 - 256kb */
{ 0x0c080000, 0x40000, 10}, /* flash sector 10 - 256kb */
{ 0x0c0C0000, 0x40000, 11}, /* flash sector 11 - 256kb */
#endif
#if (BOOT_NVM_SIZE_KB > 1024)
{ 0x08100000, 0x40000, 12}, /* flash sector 12 - 256kb */
{ 0x08140000, 0x40000, 13}, /* flash sector 13 - 256kb */
{ 0x08180000, 0x40000, 14}, /* flash sector 14 - 256kb */
{ 0x081C0000, 0x40000, 15}, /* flash sector 15 - 256kb */
{ 0x0c100000, 0x40000, 12}, /* flash sector 12 - 256kb */
{ 0x0c140000, 0x40000, 13}, /* flash sector 13 - 256kb */
{ 0x0c180000, 0x40000, 14}, /* flash sector 14 - 256kb */
{ 0x0c1C0000, 0x40000, 15}, /* flash sector 15 - 256kb */
#endif
#if (BOOT_NVM_SIZE_KB > 2048)
#error "BOOT_NVM_SIZE_KB > 2048 is currently not supported."
@ -221,6 +257,9 @@ blt_bool FlashWrite(blt_addr addr, blt_int32u len, blt_int8u *data)
{
blt_addr base_addr;
/* automatically translate cached memory addresses to non-cached */
addr = FlashTranslateToNonCachedAddress(addr);
/* make sure the addresses are within the flash device */
if ((FlashGetSector(addr) == FLASH_INVALID_SECTOR) || \
(FlashGetSector(addr+len-1) == FLASH_INVALID_SECTOR))
@ -254,6 +293,9 @@ blt_bool FlashErase(blt_addr addr, blt_int32u len)
blt_int8u first_sector;
blt_int8u last_sector;
/* automatically translate cached memory addresses to non-cached */
addr = FlashTranslateToNonCachedAddress(addr);
/* obtain the first and last sector number */
first_sector = FlashGetSector(addr);
last_sector = FlashGetSector(addr+len-1);
@ -284,13 +326,13 @@ blt_bool FlashWriteChecksum(void)
* sum of the first 7 exception addresses.
*
* Layout of the vector table:
* 0x08000000 Initial stack pointer
* 0x08000004 Reset Handler
* 0x08000008 NMI Handler
* 0x0800000C Hard Fault Handler
* 0x08000010 MPU Fault Handler
* 0x08000014 Bus Fault Handler
* 0x08000018 Usage Fault Handler
* 0x0c000000 Initial stack pointer
* 0x0c000004 Reset Handler
* 0x0c000008 NMI Handler
* 0x0c00000C Hard Fault Handler
* 0x0c000010 MPU Fault Handler
* 0x0c000014 Bus Fault Handler
* 0x0c000018 Usage Fault Handler
*
* signature_checksum = One's complement of (SUM(exception address values))
*
@ -568,7 +610,65 @@ static blt_bool FlashAddToBlock(tFlashBlockInfo *block, blt_addr address,
****************************************************************************************/
static blt_bool FlashWriteBlock(tFlashBlockInfo *block)
{
/* ##Vg TODO implement flash block programming routine. */
blt_int32u page_cnt;
blt_addr page_addr;
blt_int8u *page_data;
blt_int32u status;
blt_int32u timeoutTime;
blt_int32u byteIdx;
/* check that address is actually within flash */
if (FlashGetSector(block->base_addr) == FLASH_INVALID_SECTOR)
{
return BLT_FALSE;
}
/* program all pages in the block one by one */
for (page_cnt=0; page_cnt< (FLASH_WRITE_BLOCK_SIZE/FLASH_WRITE_PAGE_SIZE); page_cnt++)
{
/* keep the watchdog happy */
CopService();
/* set page base address and pointer to page data */
page_addr = block->base_addr + (page_cnt * FLASH_WRITE_PAGE_SIZE);
page_data = &(block->data[page_cnt * FLASH_WRITE_PAGE_SIZE]);
/* determine timeout time of the operation */
timeoutTime = TimerGet() + FLASH_PROGRAM_TIME_MAX_MS;
/* start erase operation */
XMC_FLASH_ProgramPage((uint32_t *)page_addr, (uint32_t *)page_data);
/* wait for the flash operation to complete */
while (XMC_FLASH_IsBusy() > 0)
{
/* check for operation timeout */
if (TimerGet() > timeoutTime)
{
/* timeout occurred. cannot continue */
return BLT_FALSE;
}
/* keep the watchdog happy */
CopService();
}
/* check the result */
status = XMC_FLASH_GetStatus();
/* reset the program finished flag */
status &= ~XMC_FLASH_STATUS_PROGRAMMING_STATE;
if (status != XMC_FLASH_STATUS_OK)
{
/* error occurred during flash erase, abort */
return BLT_FALSE;
}
/* verify that the data was correctly programmed */
for (byteIdx=0; byteIdx < FLASH_WRITE_PAGE_SIZE; byteIdx++)
{
if (*((volatile blt_int8u *)(page_addr+byteIdx)) != page_data[byteIdx])
{
/* program verification failed. abort */
return BLT_FALSE;
}
}
}
/* still here so all is okay */
return BLT_TRUE;
} /*** end of FlashWriteBlock ***/
@ -582,7 +682,64 @@ static blt_bool FlashWriteBlock(tFlashBlockInfo *block)
****************************************************************************************/
static blt_bool FlashEraseSectors(blt_int8u first_sector, blt_int8u last_sector)
{
/* ##vg TODO implement flash sector erase routine. */
blt_int8u sector_cnt;
blt_addr sectorBaseAddr;
blt_int32u status;
blt_int32u timeoutTime;
/* validate the sector numbers */
if (first_sector > last_sector)
{
return BLT_FALSE;
}
if ((first_sector < flashLayout[0].sector_num) || \
(last_sector > flashLayout[FLASH_TOTAL_SECTORS-1].sector_num))
{
return BLT_FALSE;
}
/* erase all sectors one by one */
for (sector_cnt=first_sector; sector_cnt<= last_sector; sector_cnt++)
{
/* keep the watchdog happy */
CopService();
/* submit the sector erase request by specifying its start address */
sectorBaseAddr = FlashGetSectorBaseAddr(sector_cnt);
if (sectorBaseAddr == FLASH_INVALID_ADDRESS)
{
/* not a valid sector address so abort */
return BLT_FALSE;
}
/* determine timeout time of the operation */
timeoutTime = TimerGet() + FLASH_ERASE_TIME_MAX_MS;
/* start erase operation */
XMC_FLASH_EraseSector((uint32_t *)sectorBaseAddr);
/* wait for the flash operation to complete */
while (XMC_FLASH_IsBusy() > 0)
{
/* check for operation timeout */
if (TimerGet() > timeoutTime)
{
/* timeout occurred. cannot continue */
return BLT_FALSE;
}
/* keep the watchdog happy */
CopService();
}
/* check the result */
status = XMC_FLASH_GetStatus();
/* reset the erase finished flag */
status &= ~XMC_FLASH_STATUS_ERASE_STATE;
if (status != XMC_FLASH_STATUS_OK)
{
/* error occurred during flash erase, abort */
return BLT_FALSE;
}
}
/* still here so all went okay */
return BLT_TRUE;
} /*** end of FlashEraseSectors ***/
@ -616,4 +773,67 @@ static blt_int8u FlashGetSector(blt_addr address)
} /*** end of FlashGetSector ***/
/************************************************************************************//**
** \brief Obtains the base address of the specified sector.
** \param sector Sector to get the base address of.
** \return Base Base address of the sector if found, FLASH_INVALID_ADDRESS otherwise.
**
****************************************************************************************/
static blt_addr FlashGetSectorBaseAddr(blt_int8u sector)
{
blt_int8u sectorIdx;
blt_addr baseAddr;
/* initialize base address to invalid */
baseAddr = FLASH_INVALID_ADDRESS;
/* search through the sectors to find the right one */
for (sectorIdx = 0; sectorIdx < FLASH_TOTAL_SECTORS; sectorIdx++)
{
/* keep the watchdog happy */
CopService();
/* is this the sector that was specified? */
if (flashLayout[sectorIdx].sector_num == sector)
{
/* read out its base address and stop the loop */
baseAddr = flashLayout[sectorIdx].sector_start;
break;
}
}
/* return the results */
return baseAddr;
} /*** end of FlashGetSectorBaseAddr ***/
/************************************************************************************//**
** \brief The XMC4xxx has its PFLASH accessible in the memory map in two regions.
** One is the non-cached region starting at FLASH_UNCACHED_BASE_ADDR and the
** other is the cached region starting at FLASH_CACHED_BASE_ADDR. Flash
** erase and programming operations need to operate on addresses in the
** non-cached region. It is possible that the caller of this driver's API
** functions, specifies memory addresses in the cached region. This function
** automatically translates the memory address from cached to non-cached.
** \param address Address to translate.
** \return Translated address.
**
****************************************************************************************/
static blt_addr FlashTranslateToNonCachedAddress(blt_addr address)
{
blt_addr translatedAddr;
/* initialize local */
translatedAddr = address;
/* determine is this address is in the cached region by looking at the address' MSB */
if ( ((address >> 24) & 0x000000ffu) == ((FLASH_CACHED_BASE_ADDR >> 24) & 0x000000ffu) )
{
/* translate address by adding offset to the non-cached region */
translatedAddr += (FLASH_UNCACHED_BASE_ADDR - FLASH_CACHED_BASE_ADDR);
}
/* give back the translated address */
return translatedAddr;
} /*** end of FlashTranslateToNonCachedAddress ***/
/*********************************** end of flash.c ************************************/