think i found the issue

This commit is contained in:
dekunukem
2022-09-13 03:16:12 +01:00
parent 5e3b06e6cc
commit 4cc5878bcc
13 changed files with 926 additions and 944 deletions

View File

@@ -94,6 +94,7 @@ typedef struct
typedef struct
{
uint32_t event_start;
uint32_t duration;
uint8_t is_underway;
} keyboard_event;

View File

File diff suppressed because one or more lines are too long

View File

Binary file not shown.

View File

@@ -29,7 +29,7 @@ Project File Date: 09/12/2022
Build target 'bbc'
compiling main.c...
linking...
Program Size: Code=7420 RO-data=424 RW-data=56 ZI-data=1968
Program Size: Code=7364 RO-data=424 RW-data=40 ZI-data=1976
FromELF: creating hex file...
"bbc\bbc.axf" - 0 Error(s), 0 Warning(s).

View File

@@ -1,19 +1,19 @@
:020000040800F2
:10000000E8070020D5000008491200084712000840
:10000000E0070020D5000008411200083F12000858
:1000100000000000000000000000000000000000E0
:100020000000000000000000000000003F15000874
:1000300000000000000000004B12000841150008FD
:10002000000000000000000000000000371500087C
:10003000000000000000000043120008391500080D
:10004000E7000008E7000008E7000008E7000008F4
:10005000E7000008E700000889010008E700000841
:10006000E7000008E7000008E7000008E7000008D4
:10007000E7000008E7000008E7000008E7000008C4
:10008000E7000008E7000008E7000008E7000008B4
:10009000E7000008E7000008E7000008E7000008A4
:1000A000E70000084D120008E7000008E70000081C
:1000A000E700000845120008E7000008E700000824
:1000B000E7000008E7000008E7000008E700000884
:1000C0000348854600F04EF80048004769190008CB
:1000D000E80700200448804704480047FEE7FEE7A1
:1000E000FEE7FEE7FEE7FEE74D150008C100000849
:1000C0000348854600F04EF80048004761190008D3
:1000D000E00700200448804704480047FEE7FEE7A9
:1000E000FEE7FEE7FEE7FEE745150008C100000851
:1000F00030B50B46014600202022012409E00D46C0
:10010000D5409D4205D31D469540491B2546954047
:1001100040191546521E002DF1DC30BD03460B433D
@@ -23,475 +23,471 @@
:10015000F6E710B513460A4604461946FFF7F0FFC6
:10016000204610BD064C0125064E05E0E36807CC8D
:100170002B430C3C98471034B442F7D3FFF7A4FF4D
:10018000841E0008A41E000810B5042000F066F8C4
:100180004C1E00086C1E000810B5042000F062F838
:1001900010BD70B50024014620314A78022A03D0F0
:1001A00004218163012416E0026813680E25AB4325
:1001B0001360026813685B085B0013600122056C22
:1001C0001346AB40C56B6B604A7000220A70416BEE
:1001D000002900D08847204670BD0000F8B50121F5
:1001E0001948C90781610923184A194FDB0685039D
:1001D000002900D08847204670BD0000F0B40121FE
:1001E0001848C90781610923174A184FDB068503A0
:1001F00001694904490E4C074906090F565C640F12
:10020000002E10D00126F6038661C900C919095DC8
:10021000002906D0F11199610E490C68641C0C602C
:10021000002906D0F11199610D494C68641C4C60AD
:1002200005E09D6103E00121C90781619D610169CC
:100230004907DDD50121C9078161C80D986101F029
:10024000B5FD05490860F8BD0004004854010020D0
:1002500064010020140000201C00002004494A69A9
:10026000024204D010B54861FFF7B8FF10BD7047D7
:10027000000401400B680022002B6FD0F8B4012766
:100280000B6897403B406AD04C68022C01D0122C7E
:100290000ED1D408A4002418A446246A5507ED0EF4
:1002A0000F26AE40B4430E69AE4026436446266234
:1002B000056856000324B440A446A5430C79A4075E
:1002C000A40FB4402C4304604C68012C05D0022CD0
:1002D00003D0112C01D0122C0FD185686446A543A0
:1002E0002C46CD68B5402543856045680C79BD43F3
:1002F000E406E40F94402C434460C4686546AC4374
:100300008D68B5402543C5604C68E4004ED52B4C44
:10031000A56901263543A561A46995083440009478
:10032000274CAD002F19BC6895072E0F0F25B5403F
:10033000AC430925ED06A84201D1002516E0214D68
:10034000A84201D1012511E01F4DA84201D102258B
:100350000CE01E4DA84203D1032507E02DE025E067
:100360001B4DA84201D1042500E00525B5402543D9
:10037000BD60184D2C684E689C43F60300D51C43A5
:100380002C606C684E689C43B60300D51C436C60BF
:10039000AC684E689C43F60200D51C43AC60EC6828
:1003A0004E689C43B60200D51C43EC600B68521C9F
:1003B000D34000D063E7F8BC70477047001002409C
:1003C000000001400004004800080048000C0048FC
:1003D0000010004800040140002A01D081617047EC
:1003E00081627047014800687047000024000020C7
:1003F00002480168491C0160704700002400002089
:1004000010B506480168102211430160002000F079
:1004100007F800F017F8002010BD0000002002408F
:1004200010B5044600F052F97D21C900FFF760FEC7
:1004300000F0B0FD00222146501E00F02FF80020F1
:1004400010BD000008B50F48816901221143816188
:10045000816911400091C26901040A43C261C06907
:100460000022084000901146501F00F017F80022AB
:100470001146901E00F012F800221146501E00F0A6
:100480000DF808BD00100240C106C90E01208840C9
:10049000014908607047000000E100E08207D30EC8
:1004A000FF229A408907090E994000280BDA0007BD
:1004B000000F0838830808489B001818C369934345
:1004C0000B43C3617047830804489B001B181868DE
:1004D000904308431860704700ED00E000E400E03E
:1004E000F0B50646704889B000680F46C007C00FD7
:1004F000B8420AD26C480168490849003943016092
:100500000068C007C00FB84270D13078674D8007CF
:1005100005D56868F0218843B16808436860307881
:10052000C00768D07068012822D0022824D0032890
:1005300026D0296889076ED5696889088900014332
:100540006960FFF74FFF7168044601291CD002293A
:100550002BD00329696839D00907890F4BD0FFF7E1
:1005600041FF011B5248814241D9032009B0F0BD2F
:10057000296889034FD5DFE7296889014BD5DBE777
:10058000696BC90347D5D7E769680907890F01294E
:1005900031D0FFF727FF011B45488142E5D8686845
:1005A0000007800F0128F4D125E069680907890F49
:1005B000022920D0FFF716FF011B3D488142D4D805
:1005C00068680007800F0228F4D114E00907890F3A
:1005D000032910D0FFF706FF011B35488142C4D81C
:1005E00068680007800F0328F4D104E013E068680E
:1005F0000007800FB3D12C480168C907C90FB94261
:100600000CD9016849084900394301600068C007F6
:10061000C00FB84202D0012009B0F0BD30784007C9
:1006200006D56868072109028843F16808436860B5
:10063000204B6C460FCB0FC41F4B0FCB0FC46A6807
:100640000C20114601401D4804291ED01C4B0829CE
:1006500002D00C2919D117E09102090F6C46645C95
:10066000E96A04AE0907090FD203715C920F022AEE
:1006700001D0032A03D0FFF73BFD604305E0184695
:10068000FFF736FD604300E0184669680D4A090629
:10069000090F515CC8400C4908600020FFF7C0FEFC
:1006A000002009B0F0BD0000002002400010024010
:1006B00088130000400700085007000800127A0065
:1006C000006CDC02721E000828000020014800684F
:1006D000704700002800002030B519A30FCB89B067
:1006E0006C460FC41AA30FCB0FC41D494A680C20D7
:1006F000144604401B48042C05D01B4B082C04D086
:100700000C2C00D1184609B030BD9402240F6D4660
:100710002C5DC96A04AD0907090FD203695C920F09
:10072000022A01D0032A04D0FFF7E2FC604309B09B
:1007300030BD1846FFF7DCFC604309B030BD000057
:1007400002030405060708090A0B0C0D0E0F101012
:100750000102030405060708090A0B0C0D0E0F1011
:100760000010024000127A00006CDC02F8B504466A
:100770000078FF4DC00754D068680007800F01283B
:100780002CD068680007800F022804D16868C00375
:10079000800F022822D06168012926D00120800420
:1007A000002901D0052925D02A68012109048A439E
:1007B0002A602968814329606068002823D0FFF7F8
:1007C00011FE0646286880032BD4FFF70BFE801B22
:1007D00064287DD828688003F7D522E02868800344
:1007E0001FD56068002874D01BE029680120000430
:1007F0000143E0E7296801432960286801210904D1
:1008000008432860D8E7FFF7EDFD06462868800317
:1008100007D5FFF7E7FD801B642859D828688003B7
:10082000F7D42078800749D568680007800F26D064
:1008300068680007800F022804D16868C003800F31
:1008400001281CD0E0680028286826D00121084330
:100850002860FFF7C7FD06462868800707D4FFF722
:10086000C1FD801B022833D828688007F7D5296886
:10087000F82081432069C000014329601EE02868F8
:10088000800702D5E068012823D12868F821884331
:100890002169C9000843286010E040084000286032
:1008A000FFF7A0FD06462868800707D5FFF79AFDE9
:1008B000801B02280CD828688007F7D4207800070E
:1008C00029D5E0690028686A14D00121084301E0B5
:1008D0007FE073E16862FFF785FD0646686A80077E
:1008E00019D4FFF77FFD801B022872D8686A800741
:1008F000F7D510E0400840006862FFF773FD064638
:10090000686A800707D5FFF76DFD801B022860D855
:10091000686A8007F7D42078400771D500200090DE
:10092000E869C00008D4E969012000070143E961D2
:10093000E9690140012000908E4F3868C00511D44C
:100940003868B91508433860FFF74CFD064638682B
:10095000C00507D4FFF746FD801B642839D83868E6
:10096000C005F7D5A06801281ED0002821D0052891
:10097000286A27D0400840002862286A042188435A
:100980002862A0687C4E002824D0FFF72BFD074684
:10099000286A80072CD4FFF725FDC01BB04218D869
:1009A000286A8007F7D523E0296A012001432962DC
:1009B000E7E7286A400840002862286A0421884343
:1009C0002862DEE7042108432862286A01210843DF
:1009D000D6E77FE0FFF706FD0746286A800707D5C0
:1009E000FFF700FDC01BB04274D8286A8007F7D417
:1009F0000098002804D0E869012109078843E861CC
:100A00002078C0061AD56069012825D0401D686B82
:100A100040D0042108436863686B40084000686365
:100A2000FFF7E0FC0646686B800707D5FFF7DAFCA6
:100A3000801B02284ED8686B8007F7D42078800688
:100A400063D568680007800F032844D068680007F2
:100A5000800F022822D026E0686B042108436863D7
:100A6000686B012108436863FFF7BCFC0646686BAE
:100A7000800707D4FFF7B6FC801B02285FD8686B9D
:100A80008007F7D5686BF8218843A169C90008433E
:100A90006863D3E7042188436863F3E76868C003A9
:100AA000800F032817D0206A00281BD0686B012113
:100AB000090408436863FFF795FC0646686BC003AA
:100AC00023D4FFF78FFC801B022838D8686BC00343
:100AD000F7D51AE033E0686BC00316D5206A012809
:100AE0006CD112E0696B0120000481436963FFF758
:100AF00079FC0646686BC00307D5FFF773FC801BC3
:100B000002281CD8686BC003F7D4606A002853D051
:100B100069680907890F022950D001273F0602287A
:100B200028680ED0B8432860FFF75CFC04462868AC
:100B3000800141D5FFF756FC001B022839D903205C
:100B4000F8BDB8432860FFF74DFC064628688001D1
:100B500007D5FFF747FC801B0228F0D828688001E2
:100B6000F7D4E86A216B000900010843E86205E058
:100B7000001002400070004088130000E26AA06A82
:100B8000696802437B20C00381430A436A60286886
:100B900038432860FFF726FC0446286880010BD400
:100BA000FFF720FC001B0228C9D828688001F7D570
:100BB00002E028688001BDD40020F8BD0120F8BD06
:100BC00070470000F8B504460068426881684B062B
:100BD00007D4CB0705D0530603D5E16C20468847E0
:100BE000F8BD8B0705D5130603D5216D2046884730
:100BF000F8BDFF2361331942FAD09306F8D5234696
:100C00004D064033002D09DA5D7F032D3CD0256E63
:100C1000042635432566C568856800958E0601253E
:100C2000002E08DA266E2E43266686680096066831
:100C30004027BE430660C80506D5206E082108433C
:100C40002066206880680090206E0028D0D0206840
:100C50004168E026B14341605D77900718D0206875
:100C60004168890889004160A06D0B4D002803D0C0
:100C70004563A06DFFF78DFA606D0028B8D045631D
:100C8000606DFFF786FAF8BDC16880680090F8BD16
:100C90002046FFF795FFF8BDC5130008002801D1D5
:100CA00001207047F8B500260546044640358662A7
:100CB000687F002803D12E77204600F04BF80223EE
:100CC0006B77206801684022914301600721E0684A
:100CD0000902884201D9002201E0012212030F27F4
:100CE0003F02B84202D0884200D0A662276B002F94
:100CF00005D1884201D9236301E001202063A16866
:100D00006068636908432169194308430123A169A5
:100D10005B0219400843E1690843216A0843A16A5C
:100D2000084321680860616B606AA36908431B0C73
:100D30000427E1683B401943084321681043486099
:100D40002068C1697A029143C161266601206877F3
:100D50000020F8BD00B50068114987B088421DD158
:100D60001048826981140A438261806908400590B5
:100D7000F0200090022001900021032003900291B6
:100D8000049109206946C006FFF774FA0022114653
:100D90001920FFF783FB1920FFF776FB07B000BD92
:100DA000003001400010024070470000F0B40446DB
:100DB00094464034227F0025012A0CD0012222775C
:100DC000667F4768012E0DD0FA1FFD3A08D1826870
:100DD000002A05D102E0F0BC02207047042E01D0A9
:100DE00002253FE000291BD06246002A18D0002BC4
:100DF00016D0627F042A01D00522627700220266A3
:100E000081638387C38761460164A380E3800721F0
:100E1000C36809028B4205D9154AC264154A04E029
:100E200001251FE0144AC264144A0265012212031C
:100E30008B4202D8E188022903D301684B689343AF
:100E400002E001684B6813434B6001684A68E02385
:100E50001A434A6000680168490603D401684022C9
:100E600011430160002020772846F0BC7047000045
:100E70005D120008F31200089512000829130008FB
:100E8000F8B50122140309202146C006FFF7A4FA91
:100E90003148304A01466431E8C9E8C2856F436F82
:100EA000C06FC96855601360D16090602948012304
:100EB0000178543ADE2902D0284803703CE081785A
:100EC000082904D00C290AD0012922D034E08279E3
:100ED000012A31D80179224800F0FFFC2CE0027A87
:100EE0002049D307DB0F0B709307DB0F4B705307C1
:100EF000DB0F12078B70D20FCA70827A0A72C27A25
:100F00004A72027B8A72407BC872174800F0BDFCAF
:100F100012E0002151629162D162116351639163C9
:100F2000D16311641148CD220270802282700422A4
:100F3000C27041718171C37120230D4A0B490D4864
:100F4000FFF734FF092000222146C006FFF744FACC
:100F5000F8BD0000FC000020B800002004000020C4
:100F60003C010020480100200C000020DC00002093
:100F70001C010020380000200422044904280869CC
:100F800002D09043086170471043FBE700E000E0A7
:100F9000704700000B4910B4401E884202D910BCB3
:100FA000012070470849486108480722C3691B02AD
:100FB0001B0A4C042343C361002088610A6110BCF2
:100FC00070470000FFFFFF0000E000E004ED00E0DC
:100FD00010B5FFF7DDFF10BD02462032137F012B55
:100FE00001D10220704770B4012313770224547793
:100FF000046865687026B5436560046865680E68B6
:10100000354365600468A5688026B543A56000681F
:10101000846849680C43846053770020107770BC63
:101020007047002801D10120704770B5054604467D
:101030002035687F002803D12877204600F00AF881
:1010400002206877211D206800F0AEFA0120687741
:10105000002070BD00680121890781B0884207D156
:101060000448C16901221143C161C0691040009068
:1010700001B07047001002400222014620314A7739
:10108000026813680120034313604877002070470B
:10109000F0B5054620352A7F012A19D001222A778A
:1010A00002226A7703689A687724A243FF24240205
:1010B000A2439A600E6870220723502E42D00EDCA5
:1010C000202E7DD006DC002E7BD0102E57D19EE046
:1010D0000220F0BD302E75D0402E50D173E0602E2E
:1010E0004ED0702E1CD001221203B31A13D093429B
:1010F00045D10268CF688E684B689168A1433C0275
:101100001C4334430C4394600068816801229203BD
:101110001143816092E000688168C908C900F8E75E
:101120000268CF688E684B689168A1433C021C43FB
:1011300034430C43946002689068772188430843E5
:1011400090607BE004684E68CF68216AB646BC4672
:10115000266A760876002662A669F027BE436746AF
:101160003F0137430A26B14376463143A7612162E6
:1011700004685021A068904308431843A0605DE0D4
:101180004E680468B646CE68216A1027B9432162CA
:10119000A169276A3603BC460F273F03B9430E43B4
:1011A0006746A0218F43714609013943A661216238
:1011B00001686024886890432043184388603DE0BC
:1011C0002DE01EE033E004684E68CF68216AB64621
:1011D000BC46266A760876002662A669F027BE43DA
:1011E00067463F0137430A26B14376463143A7613C
:1011F0002162016840248868904320431843886036
:101200001CE00168886890431843886016E0016814
:101210001024886890432043184388600EE00168DA
:1012200020248868904320431843886006E00468BF
:101230003021A068904308431843A06001206877DC
:1012400000202877F0BDFEE77047704710B50248D0
:10125000FFF7B8FC10BD0000380000200168C96825
:10126000026C1180016C891C016401464031CA88FE
:10127000521ECA80C98800290BD101684A684023E0
:101280009A434A60C18F002903D110B500F071F86C
:1012900010BD704710B501464031CC880368026C20
:1012A000012C11D9DB681380026C921C0264CA887D
:1012B000921ECA80CA88012A0DD10268536801248F
:1012C00024032343536006E01C7B531C0364147007
:1012D000CA88521ECA80C988002909D101684A6893
:1012E00060239A434A60C18F002901D100F041F880
:1012F00010BD816B02680988D160816B891C816394
:10130000C18F491EC187C18F00290CD101684A686D
:1013100080239A434A604621095A002903D110B517
:1013200000F027F810BD7047C38F0268816B022B55
:1013300007D30988D160816B891C8163C18F891EA5
:1013400005E04B1C836309781173C18F491EC18767
:10135000C18F00290CD101684A6880239A434A60F2
:101360004621095A002903D110B500F002F810BD3A
:10137000704770B50446FFF735F821684B682025A3
:10138000AB434B6002466421204600F024F800285D
:1013900002D0206E28432066226E20460121403074
:1013A000002A04D041772046FFF70AFC70BD427F37
:1013B0004177042A204602D0FFF762FD70BDFFF797
:1013C000F3FC70BD10B5406A002146221152C1875E
:1013D000FFF7F6FB10BDF8B50F460B461546009219
:1013E000032104460022C90200F01BF82026002831
:1013F00012D13B46002280212046009500F05CF887
:10140000002809D103213B460022490220460095CD
:1014100000F007F8002803D0206E30432066032038
:10142000F8BDF8B5044600681D4680680E46304297
:1014300040D003277F02BE4204D12068017B68466A
:1014400001700078681C31D0002D05D0FEF7CAFF6E
:101450000699401AA84229D320684168E0229143A6
:1014600041606068C11FFD390CD10121A068C9032A
:10147000884202D04911884204D120680168402284
:10148000914301600121A06A4903884207D1206885
:1014900002688A430260206802680A4302600120F1
:1014A00040346077002020770320F8BD20688068F2
:1014B0003042C0D10020F8BD70B504460068049EDB
:1014C00080681D46C043000637D4681C30D0002D0C
:1014D00004D0FEF787FF801BA84229D3206841680B
:1014E000E022914341606068C11FFD390CD10121A8
:1014F000A068C903884202D04911884204D12068FB
:1015000001684022914301600120A16A40038142A9
:1015100007D121680A6882430A6021680A68024389
:101520000A6001204034607700202077032070BDDE
:1015300020688068C0430006C7D5002070BD704792
:1015400010B5FEF755FFFFF743FD10BD12480168C7
:101550000122114301604168104A11404160016855
:101560000F4A114001600168012292049143016019
:1015700041683F22120491434160C16A090909018F
:10158000C162016B074A11400163416B4908490080
:101590004163002181607047001002400CB8FF08D1
:1015A000FFFFF6FE2CFEFCFFF0B402681E4B012488
:1015B000A4071E4D984203D0A04201D0A84203D1F7
:1015C0007026B2434E683243194E1A4F98420DD0DE
:1015D000A0420BD0A84209D0174CA04206D0B0427E
:1015E00004D0B84202D0154CA04204D103242402F6
:1015F000A243CC6822438024A2434C692243026068
:101600008A68C2620A688262984206D0B04204D0F8
:10161000B84202D0094A904201D10969016301210F
:101620004161F0BC70470000002C01400004004004
:1016300000400140004401400020004000480140BB
:101640000FB410B503A9044B044A029800F022F825
:1016500010BC08BC04B01847891800082C000020F2
:101660000021017041708170C170017141718171FF
:10167000C171704702E008C8121F08C1002AFAD1E0
:1016800070477047002001E001C1121F002AFBD102
:1016900070470000FFB58DB00F460546002606E0F6
:1016A00025280AD0109A0F9990476D1C761C28782F
:1016B0000028F5D1304611B0F0BD00240121674A61
:1016C000009400E004436D1C2B780846203B9840B2
:1016D0001042F7D128782E2815D1042004436878C9
:1016E0006D1C2A280AD101CF6D1C00900BE00099D7
:1016F0000A225143303940186D1C00902878014669
:1017000030390929F3D92878692843D006DC002824
:10171000D0D063280BD0642804D13BE073280FD0CD
:1017200075284CD0109A0F999047761C94E0387821
:10173000694608720020487202A80190012003E067
:10174000386801900020C0433F1D61070CD500247C
:1017500000E0641C00998C420FDA8442F9DB0199A5
:10176000095D0029F5D108E0002400E0641C8442F2
:10177000FCDB0199095D0029F8D1361907E00198D1
:1017800001990078491C0191109A0F999047641EA5
:10179000F5D261E00A20019001CF002802DA404230
:1017A0002D2102E0210504D52B216A461172012169
:1017B00003E0E10701D02021F7E70C9104E00A20C3
:1017C000019001CF00210C910BA90B9108E0019928
:1017D000FEF78EFC0A460B993032491E0B910A70B7
:1017E0000028F4D10B9803A9081A20300190600753
:1017F00001D5009801E0012000900199884203DDA5
:1018000001460198081A00E000200024009006E03C
:1018100002A8109A005D0F999047641C761C0C98E2
:101820008442F5DB04E0109A30200F999047761C33
:101830000099481E00900029F5DC08E00B980B99F0
:101840000078491C0B91109A0F999047761C0199CA
:10185000481E01900029F1DC6D1C28E709280100D1
:101860000449096809684A6A10184A6A8242FCD326
:10187000704700000000002010B502490860FFF723
:10188000FBFB10BD00000020704710B504464378F4
:101890000078421C5207520F934201D1012010BD23
:1018A0000C236268584310181A46FEF737FC20785C
:1018B000401C4007400F2070002010BD10B50446AA
:1018C000602000F03DFA02466060002020706070E9
:1018D00060211046FEF73BFC10BD30B4037845781C
:1018E0005C1C6407640FA54202D130BC0120704724
:1018F0004468E15403788168CA540178491C490757
:10190000490F017030BC0020704710B50446082014
:1019100000F016FA6060082000F012FAA0600020C3
:10192000207060706068FFF79BFEA068FFF798FE6C
:1019300010BD10B443780478A34202D110BC01203A
:1019400070474468E35C0B7081684078085C1070F5
:1019500010BC0020704741780278914203D0491CA6
:101960004907490F4170704792B0FEF749FD0226C2
:101970001020099604900096C0020A9007200125C5
:10198000C0040B9003950C956846FEF7EFFE002807
:1019900000D0FEE7072000240E90109401210F963E
:1019A00011940EA8FEF79CFD002800D0FEE7FEF77C
:1019B0008DFE7D21C900FEF79BFBFFF7EBFA0420AB
:1019C000FFF7DAFA00221146501EFEF767FDBF4806
:1019D0004069012189050843BC49486148690121E2
:1019E000890508400590B948406949110843B7493D
:1019F000486148690121490408400590B34841699C
:101A000001208004B14A0143516151690022014023
:101A100005910221AE48FEF7DFFCFF2109200122DB
:101A20000D31C006FEF7D8FCAB4F0022A94938465D
:101A3000FEF7D2FC0F21092000224902C006FEF762
:101A4000CBFC02946946A248009601950394FEF7E8
:101A500011FCFF200D3000901126092002946946E8
:101A600001960394C006FEF705FC009502946946B2
:101A7000384601950394FEF7FDFB984800900194C9
:101A8000694602943846FEF7F5FB0420009094481E
:101A90000190694602943846FEF7ECFB780100900D
:101AA00002946946019603943846FEF7E3FB0F2043
:101AB0004002009009200294694601950394C006F3
:101AC000FEF7D8FB002201210620FEF7E7FC0620E6
:101AD000FEF7DAFC84488349446084600160046155
:101AE0004461846104620721446209028462C16026
:101AF000046307214463C162FFF7D0F8002800D0D7
:101B0000FEE701217948890701603F218460416037
:101B100000210461C9438461C160FFF782FA002893
:101B200000D0FEE701263603694670480096FFF7AD
:101B3000AFFA002800D0FEE7049404A96B4805948E
:101B4000FFF74AFA002800D0FEE76948FFF7DDFEFC
:101B50006848FFF7B3FE6548FFF78EFE00231A467C
:101B6000654966A00095FFF76BFD01205A49C00743
:101B70008861C00D0927FF06B861644820234462CC
:101B80008462C462046344638463C4630464604A1B
:101B900060498038FFF70AF980215F48FEF7D7FADD
:101BA0005E485F4EC46104624462846200F0FEF8E5
:101BB00004465C4A5C494E48FFF7BBFE002846D10C
:101BC0005A4D00226B7811461046802B0AD2584895
:101BD000C05C01090007000F102900D31146082836
:101BE00000D31046AB78002B337917D0002B2ED1C1
:101BF000504B1B79002B2AD14F4D01236B54CD0044
:101C0000454969180B54326033713948FFF7A3FE18
:101C1000012080020921C906886118E0002B16D135
:101C2000444D2B79002B12D1434B5A54CB003A49E7
:101C300059180A5400F0BAF82860012028712C487D
:101C4000FFF789FE012149020920C0068161307930
:101C500000280BD0316801200003814206D9002002
:101C60003071012189060920C0068161314D287932
:101C700000280DD000F09AF82968411A2F488142B7
:101C800006D900202871012149060920C00681617A
:101C9000294900200A5C002A03D10A185278002A38
:101CA00010D0224F7868201A142800D87EE701202F
:101CB000094DC003A8610120FFF7D2FD6805A861A6
:101CC0007C6073E7801C1028E4DB6FE700100240A3
:101CD000001400480180000000040048027F00005A
:101CE0000000211000300140380000209C0000203E
:101CF0003C0100200C000020BC1D000825730A7662
:101D000025642E25642E25640A000000B8000020FA
:101D10001C010020DC0000206401002038010020AC
:101D20001400002006000020050000200400002010
:101D3000F21D00081C000020540100203075000036
:101D4000F0B50B30C108C900144F0026144A0FE04B
:101D500003688B420BD38B4205D95C1A4318456844
:101D600030C3083B00E04368136002C004E0021D7A
:101D700010680028ECD13046002803D138680028CC
:101D800001D00020F0BD064A06481060064A121A2B
:101D9000D208D20044C001203860D7E734000020C8
:101DA00030000020EC010020E80300200248006819
:101DB0000068406A7047000000000020555342341C
:101DC00056432050726F746F636F6C20426F617264
:101DD000640A424243204D6963726F2F4D617374F0
:101DE00065720A64656B754E756B656D20323032B5
:101DF0003200000703131121314342516272000087
:101E00009506011222333244535263738385941032
:101E10001415233435455464658400000087162466
:101E20002536465556667686000000260417273765
:101E30004147576167770200000000000000000082
:101E40000000000000000000000000000000000092
:101E50000000001000000000009300919700920025
:101E60000000000000000000000000000000000072
:101E7000000000000000000000000102030406074B
:101E800008090000A41E000800000020380000001F
:101E900074160008DC1E000838000020B00700009F
:101EA0008416000800000000000000000000000090
:101EB0000000000000000000000000000000000022
:101EC00000000000000000000000000000127A0086
:0C1ED00000000000000000000000000006
:100230004907DDD50121C9078161C80D9861F0BC6E
:1002400070470000000400484401002054010020D1
:10025000D401002004494A69024204D010B5486123
:10026000FFF7BCFF10BD7047000401400B6800227F
:10027000002B6FD0F8B401270B6897403B406AD041
:100280004C68022C01D0122C0ED1D408A4002418E2
:10029000A446246A5507ED0E0F26AE40B4430E69FE
:1002A000AE40264364462662056856000324B440E7
:1002B000A446A5430C79A407A40FB4402C430460C2
:1002C0004C68012C05D0022C03D0112C01D0122C2B
:1002D0000FD185686446A5432C46CD68B5402543BB
:1002E000856045680C79BD43E406E40F94402C43D7
:1002F0004460C4686546AC438D68B5402543C5601D
:100300004C68E4004ED52B4CA56901263543A56108
:10031000A469950834400094274CAD002F19BC689F
:1003200095072E0F0F25B540AC430925ED06A842D1
:1003300001D1002516E0214DA84201D1012511E08F
:100340001F4DA84201D102250CE01E4DA84203D149
:10035000032507E02DE025E01B4DA84201D104252F
:1003600000E00525B5402543BD60184D2C684E685A
:100370009C43F60300D51C432C606C684E689C437C
:10038000B60300D51C436C60AC684E689C43F60213
:1003900000D51C43AC60EC684E689C43B60200D5A7
:1003A0001C43EC600B68521CD34000D063E7F8BCE0
:1003B00070477047001002400000014000040048F0
:1003C00000080048000C00480010004800040140EC
:1003D000002A01D08161704781627047014800683E
:1003E000704700001400002002480168491C0160A9
:1003F000704700001400002010B506480168102264
:1004000011430160002000F007F800F017F8002009
:1004100010BD00000020024010B5044600F052F963
:100420007D21C900FFF764FE00F0B0FD00222146E7
:10043000501E00F02FF8002010BD000008B50F4836
:100440008169012211438161816911400091C26972
:1004500001040A43C261C0690022084000901146AD
:10046000501F00F017F800221146901E00F012F8FD
:1004700000221146501E00F00DF808BD0010024089
:10048000C106C90E0120884001490860704700007C
:1004900000E100E08207D30EFF229A408907090E8F
:1004A000994000280BDA0007000F08388308084835
:1004B0009B001818C36993430B43C36170478308BB
:1004C00004489B001B181868904308431860704745
:1004D00000ED00E000E400E0F0B50646704889B0A9
:1004E00000680F46C007C00FB8420AD26C480168C6
:1004F00049084900394301600068C007C00FB8428D
:1005000070D13078674D800705D56868F021884341
:10051000B168084368603078C00768D07068012807
:1005200022D0022824D0032826D0296889076ED536
:1005300069688908890001436960FFF74FFF7168A6
:10054000044601291CD002292BD00329696839D01F
:100550000907890F4BD0FFF741FF011B5248814229
:1005600041D9032009B0F0BD296889034FD5DFE7E1
:10057000296889014BD5DBE7696BC90347D5D7E704
:1005800069680907890F012931D0FFF727FF011B8F
:1005900045488142E5D868680007800F0128F4D1FA
:1005A00025E069680907890F022920D0FFF716FFA7
:1005B000011B3D488142D4D868680007800F02289B
:1005C000F4D114E00907890F032910D0FFF706FFC3
:1005D000011B35488142C4D868680007800F032892
:1005E000F4D104E013E068680007800FB3D12C4811
:1005F0000168C907C90FB9420CD901684908490007
:10060000394301600068C007C00FB84202D0012022
:1006100009B0F0BD3078400706D5686807210902A7
:100620008843F16808436860204B6C460FCB0FC4C9
:100630001F4B0FCB0FC46A680C20114601401D48A8
:1006400004291ED01C4B082902D00C2919D117E00F
:100650009102090F6C46645CE96A04AE0907090F50
:10066000D203715C920F022A01D0032A03D0FFF754
:100670003FFD604305E01846FFF73AFD604300E0A8
:10068000184669680D4A0906090F515CC8400C49B3
:1006900008600020FFF7C0FE002009B0F0BD000098
:1006A00000200240001002408813000038070008B4
:1006B0004807000800127A00006CDC023A1E0008AD
:1006C0001800002001480068704700001800002052
:1006D00030B519A30FCB89B06C460FC41AA30FCB4A
:1006E0000FC41D494A680C20144604401B48042CC2
:1006F00005D01B4B082C04D00C2C00D1184609B097
:1007000030BD9402240F6D462C5DC96A04AD090703
:10071000090FD203695C920F022A01D0032A04D088
:10072000FFF7E6FC604309B030BD1846FFF7E0FC78
:10073000604309B030BD0000020304050607080944
:100740000A0B0C0D0E0F101001020304050607081A
:10075000090A0B0C0D0E0F100010024000127A0057
:10076000006CDC02F8B504460078FF4DC00754D099
:1007700068680007800F01282CD068680007800F88
:10078000022804D16868C003800F022822D0616863
:10079000012926D001208004002901D0052925D077
:1007A0002A68012109048A432A6029688143296053
:1007B0006068002823D0FFF711FE064628688003F2
:1007C0002BD4FFF70BFE801B64287DD8286880039C
:1007D000F7D522E0286880031FD56068002874D010
:1007E0001BE02968012000040143E0E72968014378
:1007F000296028680121090408432860D8E7FFF729
:10080000EDFD06462868800307D5FFF7E7FD801B4E
:10081000642859D828688003F7D42078800749D500
:1008200068680007800F26D068680007800F0228DC
:1008300004D16868C003800F01281CD0E06800283C
:10084000286826D0012108432860FFF7C7FD064627
:100850002868800707D4FFF7C1FD801B022833D822
:1008600028688007F7D52968F82081432069C000EF
:10087000014329601EE02868800702D5E06801284E
:1008800023D12868F82188432169C90008432860DA
:1008900010E0400840002860FFF7A0FD06462868E9
:1008A000800707D5FFF79AFD801B02280CD828681F
:1008B0008007F7D42078000729D5E0690028686A06
:1008C00014D00121084301E07FE073E16862FFF783
:1008D00085FD0646686A800719D4FFF77FFD801BF7
:1008E000022872D8686A8007F7D510E040084000F7
:1008F0006862FFF773FD0646686A800707D5FFF751
:100900006DFD801B022860D8686A8007F7D42078C4
:10091000400771D500200090E869C00008D4E9695B
:10092000012000070143E961E969014001200090CD
:100930008E4F3868C00511D43868B915084338603F
:10094000FFF74CFD06463868C00507D4FFF746FDA3
:10095000801B642839D83868C005F7D5A0680128FD
:100960001ED0002821D00528286A27D04008400042
:100970002862286A042188432862A0687C4E0028E7
:1009800024D0FFF72BFD0746286A80072CD4FFF7F9
:1009900025FDC01BB04218D8286A8007F7D523E090
:1009A000296A012001432962E7E7286A40084000DC
:1009B0002862286A042188432862DEE7042108436C
:1009C0002862286A01210843D6E77FE0FFF706FD89
:1009D0000746286A800707D5FFF700FDC01BB04215
:1009E00074D8286A8007F7D40098002804D0E869F2
:1009F000012109078843E8612078C0061AD560699B
:100A0000012825D0401D686B40D00421084368634D
:100A1000686B400840006863FFF7E0FC0646686BBF
:100A2000800707D5FFF7DAFC801B02284ED8686BD9
:100A30008007F7D42078800663D568680007800FA8
:100A4000032844D068680007800F022822D026E0DF
:100A5000686B042108436863686B0121084368637D
:100A6000FFF7BCFC0646686B800707D4FFF7B6FCAF
:100A7000801B02285FD8686B8007F7D5686BF82168
:100A80008843A169C90008436863D3E70421884308
:100A90006863F3E76868C003800F032817D0206AF3
:100AA00000281BD0686B0121090408436863FFF725
:100AB00095FC0646686BC00323D4FFF78FFC801BB0
:100AC000022838D8686BC003F7D51AE033E0686BAA
:100AD000C00316D5206A01286CD112E0696B012091
:100AE000000481436963FFF779FC0646686BC00325
:100AF00007D5FFF773FC801B02281CD8686BC00366
:100B0000F7D4606A002853D069680907890F022961
:100B100050D001273F06022828680ED0B84328602D
:100B2000FFF75CFC04462868800141D5FFF756FCBE
:100B3000001B022839D90320F8BDB8432860FFF70D
:100B40004DFC06462868800107D5FFF747FC801B4F
:100B50000228F0D828688001F7D4E86A216B0009E0
:100B600000010843E86205E0001002400070004008
:100B700088130000E26AA06A696802437B20C00310
:100B800081430A436A60286838432860FFF726FCDF
:100B90000446286880010BD4FFF720FC001B0228C4
:100BA000C9D828688001F7D502E028688001BDD443
:100BB0000020F8BD0120F8BD70470000F8B50446DC
:100BC0000068426881684B0607D4CB0705D05306FE
:100BD00003D5E16C20468847F8BD8B0705D5130681
:100BE00003D5216D20468847F8BDFF2361331942A4
:100BF000FAD09306F8D523464D064033002D09DA86
:100C00005D7F032D3CD0256E042635432566C568DF
:100C1000856800958E060125002E08DA266E2E4383
:100C200026668668009606684027BE430660C805AB
:100C300006D5206E08210843206620688068009051
:100C4000206E0028D0D020684168E026B143416082
:100C50005D77900718D02068416889088900416055
:100C6000A06D0B4D002803D04563A06DFFF791FAEE
:100C7000606D0028B8D04563606DFFF78AFAF8BD53
:100C8000C16880680090F8BD2046FFF795FFF8BD69
:100C9000BD130008002801D101207047F8B50026D7
:100CA0000546044640358662687F002803D12E77CA
:100CB000204600F04BF802236B7720680168402241
:100CC000914301600721E0680902884201D90022AE
:100CD00001E0012212030F273F02B84202D08842EE
:100CE00000D0A662276B002F05D1884201D923636B
:100CF00001E001202063A1686068636908432169FD
:100D0000194308430123A1695B0219400843E169C3
:100D10000843216A0843A16A084321680860616B9F
:100D2000606AA36908431B0C0427E1683B40194330
:100D300008432168104348602068C1697A029143E2
:100D4000C1612666012068770020F8BD00B5006803
:100D5000114987B088421DD11048826981140A4325
:100D60008261806908400590F02000900220019087
:100D70000021032003900291049109206946C006D6
:100D8000FFF774FA002211461920FFF783FB1920A0
:100D9000FFF776FB07B000BD0030014000100240B5
:100DA00070470000F0B4044694464034227F00258A
:100DB000012A0CD001222277667F4768012E0DD0D0
:100DC000FA1FFD3A08D18268002A05D102E0F0BC82
:100DD00002207047042E01D002253FE000291BD0DD
:100DE0006246002A18D0002B16D0627F042A01D058
:100DF000052262770022026681638387C38761468A
:100E00000164A380E3800721C36809028B4205D9EE
:100E1000154AC264154A04E001251FE0144AC26461
:100E2000144A0265012212038B4202D8E18802298A
:100E300003D301684B68934302E001684B68134396
:100E40004B6001684A68E0231A434A600068016801
:100E5000490603D401684022114301600020207735
:100E60002846F0BC7047000055120008EB1200083D
:100E70008D12000821130008F8B50122140309207F
:100E80002146C006FFF7A4FA3148304A01466431D2
:100E9000E8C9E8C2856F436FC06FC96855601360C9
:100EA000D1609060294801230178543ADE2902D0AC
:100EB000284803703CE08178082904D00C290AD026
:100EC000012922D034E08279012A31D801792248DF
:100ED00000F0FFFC2CE0027A2049D307DB0F0B70F7
:100EE0009307DB0F4B705307DB0F12078B70D20F8A
:100EF000CA70827A0A72C27A4A72027B8A72407B14
:100F0000C872174800F0BDFC12E0002151629162E6
:100F1000D162116351639163D16311641148CD2291
:100F20000270802282700422C27041718171C3718B
:100F300020230D4A0B490D48FFF734FF09200022FA
:100F40002146C006FFF744FAF8BD0000EC0000207F
:100F5000A8000020040000202C01002038010020FF
:100F60000C000020CC0000200C01002028000020F4
:100F7000042204490428086902D09043086170479C
:100F80001043FBE700E000E0704700000B4910B49D
:100F9000401E884202D910BC0120704708494861B0
:100FA00008480722C3691B021B0A4C042343C36180
:100FB000002088610A6110BC70470000FFFFFF003D
:100FC00000E000E004ED00E010B5FFF7DDFF10BD2C
:100FD00002462032137F012B01D10220704770B4EA
:100FE0000123137702245477046865687026B5439B
:100FF0006560046865680E68354365600468A568C7
:101000008026B543A5600068846849680C43846005
:1010100053770020107770BC7047002801D1012061
:10102000704770B5054604462035687F002803D117
:101030002877204600F00AF802206877211D2068F2
:1010400000F0AEFA01206877002070BD0068012131
:10105000890781B0884207D10448C1690122114340
:10106000C161C0691040009001B07047001002409B
:101070000222014620314A770268136801200343A7
:101080001360487700207047F0B5054620352A7F69
:10109000012A19D001222A7702226A7703689A6806
:1010A0007724A243FF242402A2439A600E68702290
:1010B0000723502E42D00EDC202E7DD006DC002EE1
:1010C0007BD0102E57D19EE00220F0BD302E75D07F
:1010D000402E50D173E0602E4ED0702E1CD00122D5
:1010E0001203B31A13D0934245D10268CF688E68B9
:1010F0004B689168A1433C021C4334430C43946009
:1011000000688168012292031143816092E00068C7
:101110008168C908C900F8E70268CF688E684B6823
:101120009168A1433C021C4334430C439460026821
:10113000906877218843084390607BE004684E689C
:10114000CF68216AB646BC46266A760876002662D3
:10115000A669F027BE4367463F0137430A26B143DD
:1011600076463143A761216204685021A06890430C
:1011700008431843A0605DE04E680468B646CE6838
:10118000216A1027B9432162A169276A3603BC4648
:101190000F273F03B9430E436746A0218F43714693
:1011A00009013943A661216201686024886890437F
:1011B0002043184388603DE02DE01EE033E00468E2
:1011C0004E68CF68216AB646BC46266A7608760025
:1011D0002662A669F027BE4367463F0137430A26C9
:1011E000B14376463143A761216201684024886893
:1011F00090432043184388601CE00168886890434E
:101200001843886016E001681024886890432043E2
:10121000184388600EE001682024886890432043CA
:101220001843886006E004683021A06890430843B2
:101230001843A0600120687700202877F0BDFEE702
:101240007047704710B50248FFF7B8FC10BD0000AA
:10125000280000200168C968026C1180016C891C9B
:10126000016401464031CA88521ECA80C9880029DB
:101270000BD101684A6840239A434A60C18F002914
:1012800003D110B500F071F810BD704710B50146DC
:101290004031CC880368026C012C11D9DB681380C3
:1012A000026C921C0264CA88921ECA80CA88012AF3
:1012B0000DD102685368012424032343536006E0E0
:1012C0001C7B531C03641470CA88521ECA80C988D0
:1012D000002909D101684A6860239A434A60C18F96
:1012E000002901D100F041F810BD816B0268098826
:1012F000D160816B891C8163C18F491EC187C18FF9
:1013000000290CD101684A6880239A434A6046212B
:10131000095A002903D110B500F027F810BD704715
:10132000C38F0268816B022B07D30988D160816B60
:10133000891C8163C18F891E05E04B1C836309787A
:101340001173C18F491EC187C18F00290CD101685B
:101350004A6880239A434A604621095A002903D1EA
:1013600010B500F002F810BD704770B50446FFF7E5
:1013700035F821684B682025AB434B600246642159
:10138000204600F024F8002802D0206E2843206672
:10139000226E204601214030002A04D041772046A9
:1013A000FFF70AFC70BD427F4177042A204602D035
:1013B000FFF762FD70BDFFF7F3FC70BD10B5406A2A
:1013C000002146221152C187FFF7F6FB10BDF8B588
:1013D0000F460B4615460092032104460022C9021F
:1013E00000F01BF82026002812D13B460022802165
:1013F0002046009500F05CF8002809D103213B4607
:10140000002249022046009500F007F8002803D08A
:10141000206E304320660320F8BDF8B5044600680E
:101420001D4680680E46304240D003277F02BE42F0
:1014300004D12068017B684601700078681C31D0B7
:10144000002D05D0FEF7CAFF0699401AA84229D3FD
:1014500020684168E022914341606068C11FFD3906
:101460000CD10121A068C903884202D049118842E9
:1014700004D1206801684022914301600121A06AE3
:101480004903884207D1206802688A4302602068C5
:1014900002680A4302600120403460770020207710
:1014A0000320F8BD206880683042C0D10020F8BD1C
:1014B00070B504460068049E80681D46C04300065F
:1014C00037D4681C30D0002D04D0FEF787FF801B76
:1014D000A84229D320684168E022914341606068B6
:1014E000C11FFD390CD10121A068C903884202D077
:1014F0004911884204D1206801684022914301606B
:101500000120A16A4003814207D121680A68824311
:101510000A6021680A6802430A600120403460774B
:1015200000202077032070BD20688068C04300063B
:10153000C7D5002070BD704710B5FEF755FFFFF707
:1015400043FD10BD1248016801221143016041684A
:10155000104A1140416001680F4A11400160016862
:10156000012292049143016041683F221204914399
:101570004160C16A09090901C162016B074A114052
:101580000163416B49084900416300218160704754
:10159000001002400CB8FF08FFFFF6FE2CFEFCFF17
:1015A000F0B402681E4B0124A4071E4D984203D0DC
:1015B000A04201D0A84203D17026B2434E68324304
:1015C000194E1A4F98420DD0A0420BD0A84209D014
:1015D000174CA04206D0B04204D0B84202D0154CFD
:1015E000A04204D103242402A243CC6822438024D5
:1015F000A2434C69224302608A68C2620A6882621E
:10160000984206D0B04204D0B84202D0094A904273
:1016100001D10969016301214161F0BC70470000FB
:10162000002C014000040040004001400044014003
:1016300000200040004801400FB410B503A9044B3E
:10164000044A029800F022F810BC08BC04B0184705
:10165000811800081C000020002101704170817079
:10166000C170017141718171C171704702E008C898
:10167000121F08C1002AFAD170477047002001E00C
:1016800001C1121F002AFBD170470000FFB58DB0C9
:101690000F460546002606E025280AD0109A0F9925
:1016A00090476D1C761C28780028F5D1304611B083
:1016B000F0BD00240121674A009400E004436D1C42
:1016C0002B780846203B98401042F7D128782E28E6
:1016D00015D10420044368786D1C2A280AD101CF53
:1016E0006D1C00900BE000990A22514330394018DC
:1016F0006D1C00902878014630390929F3D92878E3
:10170000692843D006DC0028D0D063280BD0642899
:1017100004D13BE073280FD075284CD0109A0F9954
:101720009047761C94E03878694608720020487229
:1017300002A80190012003E0386801900020C04316
:101740003F1D61070CD5002400E0641C00998C4209
:101750000FDA8442F9DB0199095D0029F5D108E02F
:10176000002400E0641C8442FCDB0199095D00292F
:10177000F8D1361907E0019801990078491C0191C8
:10178000109A0F999047641EF5D261E00A200190EB
:1017900001CF002802DA40422D2102E0210504D5C4
:1017A0002B216A461172012103E0E10701D02021BB
:1017B000F7E70C9104E00A20019001CF00210C9181
:1017C0000BA90B9108E00199FEF792FC0A460B99D0
:1017D0003032491E0B910A700028F4D10B9803A9EE
:1017E000081A20300190600701D5009801E001201F
:1017F00000900199884203DD01460198081A00E033
:1018000000200024009006E002A8109A005D0F99C5
:101810009047641C761C0C988442F5DB04E0109A17
:1018200030200F999047761C0099481E009000299F
:10183000F5DC08E00B980B990078491C0B91109A85
:101840000F999047761C0199481E01900029F1DC00
:101850006D1C28E7092801000449096809684A6ADB
:1018600010184A6A8242FCD3704700000000002032
:1018700010B502490860FFF7FBFB10BD0000002017
:10188000704710B5044643780078421C5207520F47
:10189000934201D1012010BD0C23626858431018F7
:1018A0001A46FEF73BFC2078401C4007400F207092
:1018B000002010BD10B50446602000F025FA024655
:1018C000606000202070607060211046FEF73FFCD1
:1018D00010BD30B4037845785C1C6407640FA542E2
:1018E00002D130BC012070474468E154037881681C
:1018F000CA540178491C4907490F017030BC0020C7
:10190000704710B50446082000F0FEF9606008201A
:1019100000F0FAF9A0600020207060706068FFF7A6
:101920009BFEA068FFF798FE10BD10B443780478C2
:10193000A34202D110BC012070474468E35C0B70E5
:1019400081684078085C107010BC002070474178B6
:101950000278914203D0491C4907490F41707047F2
:1019600092B0FEF749FD02271020099704900097D6
:10197000C0020A9007200126C0040B9003960C9623
:101980006846FEF7EFFE002800D0FEE7072000259E
:101990000E90109501210F9711950EA8FEF79CFD52
:1019A000002800D0FEE7FEF78DFE7D21C900FEF77E
:1019B0009FFBFFF7EBFA0420FFF7DAFA002211464B
:1019C000501EFEF767FDB3484069012189050843B1
:1019D000B049486148690121890508400590AD4832
:1019E000406949110843AB494861486901214904EC
:1019F00008400590A74842694800A64902434A6149
:101A000049690022014005910221A348FEF7E0FC4C
:101A10000924FF21E40601220D312046FEF7D8FCFF
:101A200000229E499E48FEF7D3FC0F210022490266
:101A30002046FEF7CDFC029569469748009701962F
:101A40000395FEF713FCFF200D301127009002953F
:101A50006946019703952046FEF708FC009602951B
:101A600069468F4801960395FEF700FC8D4800906B
:101A70000195694602958A48FEF7F8FB042000901C
:101A800089480190694602958548FEF7EFFB0120E1
:101A9000C003009002956946019703958048FEF7C0
:101AA000E5FB0F20400200900295694601960395E0
:101AB0002046FEF7DBFB002201210620FEF7EAFCB0
:101AC0000620FEF7DDFC7A487849456085600160B4
:101AD00005614561856105620721456209028562EC
:101AE000C160056307214563C162FFF7D3F8002891
:101AF00000D0FEE701216F48890701603F21856022
:101B0000416000210561C9438561C160FFF785FA25
:101B1000002800D0FEE701200003009069466548D8
:101B2000FFF7B2FA002800D0FEE7049504A9614847
:101B30000595FFF74DFA002800D0FEE75E48FFF755
:101B4000E0FE5E48FFF7B6FE5A48FFF791FE00231D
:101B50001A465B495BA00096FFF76EFD0120504FCF
:101B6000C007B861C00DA0615A4820234562856254
:101B7000C562056345638563C5630564564A574975
:101B80008038FFF70FF980215548FEF7E0FA5548F5
:101B9000554CC56105624562856200F0EBF806466A
:101BA000524A53494448FFF7C0FE00283FD1514DE7
:101BB00000226B7811461046802B0AD24E48C05C3A
:101BC00001090007000F102900D31146082800D38F
:101BD0001046AB78002B17D0484D2B7A002B26D11E
:101BE00001236354CF003E4979180B546A602B726D
:101BF00000F0C0F828603048FFF7A9FE01208002FD
:101C00000921C906886112E06254CB003449591891
:101C10000A542948FFF79BFE012040020925ED06E2
:101C2000A8613748FFF718FE01204006A861334D30
:101C3000287A002812D0696803200002814206D861
:101C400000F098F82968401A2E49884206D90020E9
:101C50002872012080060921C90688610020215CC4
:101C6000002903D12118497800290FD0214F786825
:101C7000301A142891D90120094DC003A861012010
:101C8000FFF7EAFD6805A8617E6086E7801C1028E2
:101C9000E5DB82E7001002400014004801800000EC
:101CA00000040048027F00000000211000300140C5
:101CB000280000208C0000202C0100200C000020B7
:101CC000841D000825730A7625642E25642E25645C
:101CD0000A000000A80000200C010020CC00002019
:101CE00054010020280100204401002006000020AB
:101CF0000500002004000020BA1D0008D4010020C7
:101D000010270000204E0000F0B50B30C108C900BC
:101D1000144F0026144A0FE003688B420BD38B420A
:101D200005D95C1A4318456830C3083B00E0436896
:101D3000136002C004E0021D10680028ECD1304698
:101D4000002803D13868002801D00020F0BD064AE1
:101D500006481060064A121AD208D20044C0012078
:101D60003860D7E72400002020000020E401002094
:101D7000E0030020024800680068406A70470000E5
:101D8000000000205553423456432050726F746F48
:101D9000636F6C20426F6172640A424243204D6956
:101DA00063726F2F4D61737465720A64656B754E53
:101DB000756B656D2032303232000007031311213C
:101DC00031434251627200009506011222333244BF
:101DD000535263738385941014152334354554642A
:101DE000658400000087162425364655566676869B
:101DF0000000002604172737414757616777020024
:101E000000000000000000000000000000000000D2
:101E100000000000000000000000001000000000B2
:101E20000093009197009200000000000000000065
:101E300000000000000000000000000000000000A2
:101E40000000010203040607080900006C1E0008D8
:101E500000000020280000006C160008941E0008F6
:101E600028000020B80700007C16000800000000D1
:101E70000000000000000000000000000000000062
:101E80000000000000127A000000000000000000C6
:041E9000000000004E
:04000005080000C12E
:00000001FF

View File

@@ -3,7 +3,7 @@
<title>Static Call Graph - [bbc\bbc.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image bbc\bbc.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Mon Sep 12 17:54:15 2022
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Tue Sep 13 03:00:11 2022
<BR><P>
<H3>Maximum Stack Usage = 148 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
@@ -192,18 +192,18 @@ Global Symbols
</UL>
<P><STRONG><a name="[71]"></a>__aeabi_uidiv</STRONG> (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
<P><STRONG><a name="[3c]"></a>__aeabi_uidivmod</STRONG> (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text))
<P><STRONG><a name="[3b]"></a>__aeabi_uidivmod</STRONG> (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = __aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
<BR>[Called By]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
<LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetSysClockFreq
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetSysClockFreq
<LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>
<P><STRONG><a name="[5e]"></a>__aeabi_memcpy</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gamepad_buf_add
<P><STRONG><a name="[5d]"></a>__aeabi_memcpy</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gamepad_buf_add
</UL>
<P><STRONG><a name="[72]"></a>__aeabi_memcpy4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)
@@ -222,10 +222,10 @@ Global Symbols
<P><STRONG><a name="[31]"></a>__aeabi_memclr</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[32]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memset
</UL>
<BR>[Called By]<UL><LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gamepad_buf_init
<BR>[Called By]<UL><LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gamepad_buf_init
</UL>
<P><STRONG><a name="[67]"></a>__aeabi_memclr4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text))
<P><STRONG><a name="[66]"></a>__aeabi_memclr4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
@@ -244,230 +244,228 @@ Global Symbols
<P><STRONG><a name="[77]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
<P><STRONG><a name="[c]"></a>EXTI2_3_IRQHandler</STRONG> (Thumb, 10 bytes, Stack size 8 bytes, stm32f0xx_it.o(i.EXTI2_3_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = EXTI2_3_IRQHandler &rArr; HAL_GPIO_EXTI_IRQHandler &rArr; HAL_GPIO_EXTI_Callback
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = EXTI2_3_IRQHandler &rArr; HAL_GPIO_EXTI_IRQHandler &rArr; HAL_GPIO_EXTI_Callback
</UL>
<BR>[Calls]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_EXTI_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f072xb.o(RESET)
</UL>
<P><STRONG><a name="[44]"></a>HAL_DMA_Abort_IT</STRONG> (Thumb, 72 bytes, Stack size 16 bytes, stm32f0xx_hal_dma.o(i.HAL_DMA_Abort_IT))
<P><STRONG><a name="[43]"></a>HAL_DMA_Abort_IT</STRONG> (Thumb, 72 bytes, Stack size 16 bytes, stm32f0xx_hal_dma.o(i.HAL_DMA_Abort_IT))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = HAL_DMA_Abort_IT
</UL>
<BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_IRQHandler
<BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_IRQHandler
</UL>
<P><STRONG><a name="[36]"></a>HAL_GPIO_EXTI_Callback</STRONG> (Thumb, 108 bytes, Stack size 24 bytes, main.o(i.HAL_GPIO_EXTI_Callback))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = HAL_GPIO_EXTI_Callback
</UL>
<BR>[Calls]<UL><LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;micros
<P><STRONG><a name="[36]"></a>HAL_GPIO_EXTI_Callback</STRONG> (Thumb, 102 bytes, Stack size 16 bytes, main.o(i.HAL_GPIO_EXTI_Callback))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = HAL_GPIO_EXTI_Callback
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_EXTI_IRQHandler
</UL>
<P><STRONG><a name="[35]"></a>HAL_GPIO_EXTI_IRQHandler</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, stm32f0xx_hal_gpio.o(i.HAL_GPIO_EXTI_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = HAL_GPIO_EXTI_IRQHandler &rArr; HAL_GPIO_EXTI_Callback
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = HAL_GPIO_EXTI_IRQHandler &rArr; HAL_GPIO_EXTI_Callback
</UL>
<BR>[Calls]<UL><LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_EXTI_Callback
</UL>
<BR>[Called By]<UL><LI><a href="#[c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI2_3_IRQHandler
</UL>
<P><STRONG><a name="[48]"></a>HAL_GPIO_Init</STRONG> (Thumb, 328 bytes, Stack size 20 bytes, stm32f0xx_hal_gpio.o(i.HAL_GPIO_Init))
<P><STRONG><a name="[47]"></a>HAL_GPIO_Init</STRONG> (Thumb, 328 bytes, Stack size 20 bytes, stm32f0xx_hal_gpio.o(i.HAL_GPIO_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = HAL_GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_MspInit
<BR>[Called By]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_MspInit
<LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[4b]"></a>HAL_GPIO_WritePin</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f0xx_hal_gpio.o(i.HAL_GPIO_WritePin))
<P><STRONG><a name="[4a]"></a>HAL_GPIO_WritePin</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f0xx_hal_gpio.o(i.HAL_GPIO_WritePin))
<BR><BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
<LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
</UL>
<P><STRONG><a name="[40]"></a>HAL_GetTick</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f0xx_hal.o(i.HAL_GetTick))
<BR><BR>[Called By]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WaitFlagStateUntilTimeout
<LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WaitFifoStateUntilTimeout
<LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_OscConfig
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
<P><STRONG><a name="[3f]"></a>HAL_GetTick</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f0xx_hal.o(i.HAL_GetTick))
<BR><BR>[Called By]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WaitFlagStateUntilTimeout
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WaitFifoStateUntilTimeout
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_OscConfig
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
</UL>
<P><STRONG><a name="[59]"></a>HAL_IncTick</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f0xx_hal.o(i.HAL_IncTick))
<P><STRONG><a name="[58]"></a>HAL_IncTick</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f0xx_hal.o(i.HAL_IncTick))
<BR><BR>[Called By]<UL><LI><a href="#[5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Handler
</UL>
<P><STRONG><a name="[38]"></a>HAL_Init</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, stm32f0xx_hal.o(i.HAL_Init))
<P><STRONG><a name="[37]"></a>HAL_Init</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, stm32f0xx_hal.o(i.HAL_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = HAL_Init &rArr; HAL_InitTick &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_MspInit
<LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<BR>[Calls]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_MspInit
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[39]"></a>HAL_InitTick</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, stm32f0xx_hal.o(i.HAL_InitTick))
<P><STRONG><a name="[38]"></a>HAL_InitTick</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, stm32f0xx_hal.o(i.HAL_InitTick))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = HAL_InitTick &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_Config
<LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetHCLKFreq
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
<LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
<BR>[Calls]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_Config
<LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetHCLKFreq
<LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
<LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
<BR>[Called By]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
<LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
</UL>
<P><STRONG><a name="[3a]"></a>HAL_MspInit</STRONG> (Thumb, 64 bytes, Stack size 8 bytes, stm32f0xx_hal_msp.o(i.HAL_MspInit))
<P><STRONG><a name="[39]"></a>HAL_MspInit</STRONG> (Thumb, 64 bytes, Stack size 8 bytes, stm32f0xx_hal_msp.o(i.HAL_MspInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = HAL_MspInit
</UL>
<BR>[Calls]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
<BR>[Calls]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
</UL>
<BR>[Called By]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
<BR>[Called By]<UL><LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
</UL>
<P><STRONG><a name="[49]"></a>HAL_NVIC_EnableIRQ</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, stm32f0xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ))
<BR><BR>[Called By]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_MspInit
<P><STRONG><a name="[48]"></a>HAL_NVIC_EnableIRQ</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, stm32f0xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ))
<BR><BR>[Called By]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_MspInit
<LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[3e]"></a>HAL_NVIC_SetPriority</STRONG> (Thumb, 60 bytes, Stack size 0 bytes, stm32f0xx_hal_cortex.o(i.HAL_NVIC_SetPriority))
<BR><BR>[Called By]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_MspInit
<LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_MspInit
<P><STRONG><a name="[3d]"></a>HAL_NVIC_SetPriority</STRONG> (Thumb, 60 bytes, Stack size 0 bytes, stm32f0xx_hal_cortex.o(i.HAL_NVIC_SetPriority))
<BR><BR>[Called By]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_MspInit
<LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_MspInit
<LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
</UL>
<P><STRONG><a name="[3f]"></a>HAL_RCC_ClockConfig</STRONG> (Thumb, 454 bytes, Stack size 56 bytes, stm32f0xx_hal_rcc.o(i.HAL_RCC_ClockConfig))
<P><STRONG><a name="[3e]"></a>HAL_RCC_ClockConfig</STRONG> (Thumb, 454 bytes, Stack size 56 bytes, stm32f0xx_hal_rcc.o(i.HAL_RCC_ClockConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 76<LI>Call Chain = HAL_RCC_ClockConfig &rArr; HAL_InitTick &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
<BR>[Calls]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[3b]"></a>HAL_RCC_GetHCLKFreq</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f0xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq))
<P><STRONG><a name="[3a]"></a>HAL_RCC_GetHCLKFreq</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f0xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq))
<BR><BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
</UL>
<P><STRONG><a name="[41]"></a>HAL_RCC_GetSysClockFreq</STRONG> (Thumb, 102 bytes, Stack size 48 bytes, stm32f0xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
<P><STRONG><a name="[40]"></a>HAL_RCC_GetSysClockFreq</STRONG> (Thumb, 102 bytes, Stack size 48 bytes, stm32f0xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<P><STRONG><a name="[42]"></a>HAL_RCC_OscConfig</STRONG> (Thumb, 1108 bytes, Stack size 24 bytes, stm32f0xx_hal_rcc.o(i.HAL_RCC_OscConfig))
<P><STRONG><a name="[41]"></a>HAL_RCC_OscConfig</STRONG> (Thumb, 1108 bytes, Stack size 24 bytes, stm32f0xx_hal_rcc.o(i.HAL_RCC_OscConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = HAL_RCC_OscConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<BR>[Calls]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[45]"></a>HAL_SPI_ErrorCallback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f0xx_hal_spi.o(i.HAL_SPI_ErrorCallback))
<P><STRONG><a name="[44]"></a>HAL_SPI_ErrorCallback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f0xx_hal_spi.o(i.HAL_SPI_ErrorCallback))
<BR><BR>[Called By]<UL><LI><a href="#[29]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_DMAAbortOnError
<LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_IRQHandler
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_IRQHandler
</UL>
<P><STRONG><a name="[43]"></a>HAL_SPI_IRQHandler</STRONG> (Thumb, 212 bytes, Stack size 24 bytes, stm32f0xx_hal_spi.o(i.HAL_SPI_IRQHandler))
<P><STRONG><a name="[42]"></a>HAL_SPI_IRQHandler</STRONG> (Thumb, 212 bytes, Stack size 24 bytes, stm32f0xx_hal_spi.o(i.HAL_SPI_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = HAL_SPI_IRQHandler &rArr; HAL_DMA_Abort_IT
</UL>
<BR>[Calls]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_ErrorCallback
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_DMA_Abort_IT
<BR>[Calls]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_ErrorCallback
<LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_DMA_Abort_IT
</UL>
<BR>[Called By]<UL><LI><a href="#[1f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI1_IRQHandler
</UL>
<P><STRONG><a name="[46]"></a>HAL_SPI_Init</STRONG> (Thumb, 184 bytes, Stack size 24 bytes, stm32f0xx_hal_spi.o(i.HAL_SPI_Init))
<P><STRONG><a name="[45]"></a>HAL_SPI_Init</STRONG> (Thumb, 184 bytes, Stack size 24 bytes, stm32f0xx_hal_spi.o(i.HAL_SPI_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 76<LI>Call Chain = HAL_SPI_Init &rArr; HAL_SPI_MspInit &rArr; HAL_GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_MspInit
<BR>[Calls]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_MspInit
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[47]"></a>HAL_SPI_MspInit</STRONG> (Thumb, 76 bytes, Stack size 32 bytes, stm32f0xx_hal_msp.o(i.HAL_SPI_MspInit))
<P><STRONG><a name="[46]"></a>HAL_SPI_MspInit</STRONG> (Thumb, 76 bytes, Stack size 32 bytes, stm32f0xx_hal_msp.o(i.HAL_SPI_MspInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = HAL_SPI_MspInit &rArr; HAL_GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
<LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_EnableIRQ
<LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
<BR>[Calls]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
<LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_EnableIRQ
<LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_Init
<BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_Init
</UL>
<P><STRONG><a name="[56]"></a>HAL_SPI_RxCpltCallback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f0xx_hal_spi.o(i.HAL_SPI_RxCpltCallback))
<BR><BR>[Called By]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<P><STRONG><a name="[55]"></a>HAL_SPI_RxCpltCallback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f0xx_hal_spi.o(i.HAL_SPI_RxCpltCallback))
<BR><BR>[Called By]<UL><LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
</UL>
<P><STRONG><a name="[4e]"></a>HAL_SPI_TransmitReceive_IT</STRONG> (Thumb, 194 bytes, Stack size 16 bytes, stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT))
<P><STRONG><a name="[4d]"></a>HAL_SPI_TransmitReceive_IT</STRONG> (Thumb, 194 bytes, Stack size 16 bytes, stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = HAL_SPI_TransmitReceive_IT
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
<LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
</UL>
<P><STRONG><a name="[4a]"></a>HAL_SPI_TxRxCpltCallback</STRONG> (Thumb, 210 bytes, Stack size 24 bytes, main.o(i.HAL_SPI_TxRxCpltCallback))
<P><STRONG><a name="[49]"></a>HAL_SPI_TxRxCpltCallback</STRONG> (Thumb, 210 bytes, Stack size 24 bytes, main.o(i.HAL_SPI_TxRxCpltCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = HAL_SPI_TxRxCpltCallback &rArr; HAL_SPI_TransmitReceive_IT
</UL>
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TransmitReceive_IT
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_add
<LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gamepad_buf_add
<BR>[Calls]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TransmitReceive_IT
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_add
<LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gamepad_buf_add
</UL>
<BR>[Called By]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<BR>[Called By]<UL><LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
</UL>
<P><STRONG><a name="[63]"></a>HAL_SYSTICK_CLKSourceConfig</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig))
<P><STRONG><a name="[62]"></a>HAL_SYSTICK_CLKSourceConfig</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig))
<BR><BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[50]"></a>HAL_SYSTICK_Callback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Callback))
<BR><BR>[Called By]<UL><LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_IRQHandler
<P><STRONG><a name="[4f]"></a>HAL_SYSTICK_Callback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Callback))
<BR><BR>[Called By]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_IRQHandler
</UL>
<P><STRONG><a name="[3d]"></a>HAL_SYSTICK_Config</STRONG> (Thumb, 46 bytes, Stack size 4 bytes, stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config))
<P><STRONG><a name="[3c]"></a>HAL_SYSTICK_Config</STRONG> (Thumb, 46 bytes, Stack size 4 bytes, stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_SYSTICK_Config
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
</UL>
<P><STRONG><a name="[4f]"></a>HAL_SYSTICK_IRQHandler</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler))
<P><STRONG><a name="[4e]"></a>HAL_SYSTICK_IRQHandler</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = HAL_SYSTICK_IRQHandler
</UL>
<BR>[Calls]<UL><LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_Callback
<BR>[Calls]<UL><LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_Callback
</UL>
<BR>[Called By]<UL><LI><a href="#[5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Handler
</UL>
<P><STRONG><a name="[65]"></a>HAL_TIMEx_MasterConfigSynchronization</STRONG> (Thumb, 74 bytes, Stack size 12 bytes, stm32f0xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization))
<P><STRONG><a name="[64]"></a>HAL_TIMEx_MasterConfigSynchronization</STRONG> (Thumb, 74 bytes, Stack size 12 bytes, stm32f0xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = HAL_TIMEx_MasterConfigSynchronization
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[51]"></a>HAL_TIM_Base_Init</STRONG> (Thumb, 50 bytes, Stack size 16 bytes, stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Init))
<P><STRONG><a name="[50]"></a>HAL_TIM_Base_Init</STRONG> (Thumb, 50 bytes, Stack size 16 bytes, stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = HAL_TIM_Base_Init &rArr; TIM_Base_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_MspInit
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_Base_SetConfig
<BR>[Calls]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_MspInit
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_Base_SetConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[52]"></a>HAL_TIM_Base_MspInit</STRONG> (Thumb, 32 bytes, Stack size 4 bytes, stm32f0xx_hal_msp.o(i.HAL_TIM_Base_MspInit))
<P><STRONG><a name="[51]"></a>HAL_TIM_Base_MspInit</STRONG> (Thumb, 32 bytes, Stack size 4 bytes, stm32f0xx_hal_msp.o(i.HAL_TIM_Base_MspInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_Base_MspInit
</UL>
<BR>[Called By]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
<BR>[Called By]<UL><LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
</UL>
<P><STRONG><a name="[5d]"></a>HAL_TIM_Base_Start</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Start))
<BR><BR>[Called By]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us_init
<P><STRONG><a name="[5c]"></a>HAL_TIM_Base_Start</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Start))
<BR><BR>[Called By]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us_init
</UL>
<P><STRONG><a name="[64]"></a>HAL_TIM_ConfigClockSource</STRONG> (Thumb, 438 bytes, Stack size 20 bytes, stm32f0xx_hal_tim.o(i.HAL_TIM_ConfigClockSource))
<P><STRONG><a name="[63]"></a>HAL_TIM_ConfigClockSource</STRONG> (Thumb, 438 bytes, Stack size 20 bytes, stm32f0xx_hal_tim.o(i.HAL_TIM_ConfigClockSource))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = HAL_TIM_ConfigClockSource
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
@@ -489,7 +487,7 @@ Global Symbols
<P><STRONG><a name="[1f]"></a>SPI1_IRQHandler</STRONG> (Thumb, 10 bytes, Stack size 8 bytes, stm32f0xx_it.o(i.SPI1_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = SPI1_IRQHandler &rArr; HAL_SPI_IRQHandler &rArr; HAL_DMA_Abort_IT
</UL>
<BR>[Calls]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_IRQHandler
<BR>[Calls]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f072xb.o(RESET)
</UL>
@@ -499,34 +497,34 @@ Global Symbols
<P><STRONG><a name="[5]"></a>SysTick_Handler</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, stm32f0xx_it.o(i.SysTick_Handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = SysTick_Handler &rArr; HAL_SYSTICK_IRQHandler
</UL>
<BR>[Calls]<UL><LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_IRQHandler
<LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_IncTick
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_IRQHandler
<LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_IncTick
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f072xb.o(RESET)
</UL>
<P><STRONG><a name="[27]"></a>SystemInit</STRONG> (Thumb, 76 bytes, Stack size 0 bytes, system_stm32f0xx.o(i.SystemInit))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f072xb.o(.text)
</UL>
<P><STRONG><a name="[53]"></a>TIM_Base_SetConfig</STRONG> (Thumb, 126 bytes, Stack size 16 bytes, stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig))
<P><STRONG><a name="[52]"></a>TIM_Base_SetConfig</STRONG> (Thumb, 126 bytes, Stack size 16 bytes, stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = TIM_Base_SetConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
<BR>[Called By]<UL><LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
</UL>
<P><STRONG><a name="[5a]"></a>__0printf$3</STRONG> (Thumb, 24 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
<P><STRONG><a name="[59]"></a>__0printf$3</STRONG> (Thumb, 24 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>
<P><STRONG><a name="[78]"></a>__1printf$3</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3), UNUSED)
<P><STRONG><a name="[66]"></a>__2printf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3))
<P><STRONG><a name="[65]"></a>__2printf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = __2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[62]"></a>__ARM_common_memclr1_8</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, helpers.o(i.__ARM_common_memclr1_8))
<BR><BR>[Called By]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_init
<P><STRONG><a name="[61]"></a>__ARM_common_memclr1_8</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, helpers.o(i.__ARM_common_memclr1_8))
<BR><BR>[Called By]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_init
</UL>
<P><STRONG><a name="[79]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
@@ -539,10 +537,10 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[5c]"></a>delay_us_init</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, delay_us.o(i.delay_us_init))
<P><STRONG><a name="[5b]"></a>delay_us_init</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, delay_us.o(i.delay_us_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = delay_us_init
</UL>
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Start
<BR>[Calls]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Start
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
@@ -550,34 +548,34 @@ Global Symbols
<P><STRONG><a name="[2e]"></a>fputc</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, main.o(i.fputc))
<BR>[Address Reference Count : 1]<UL><LI> printf3.o(i.__0printf$3)
</UL>
<P><STRONG><a name="[4d]"></a>gamepad_buf_add</STRONG> (Thumb, 50 bytes, Stack size 8 bytes, helpers.o(i.gamepad_buf_add))
<P><STRONG><a name="[4c]"></a>gamepad_buf_add</STRONG> (Thumb, 50 bytes, Stack size 8 bytes, helpers.o(i.gamepad_buf_add))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = gamepad_buf_add
</UL>
<BR>[Calls]<UL><LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
<BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
</UL>
<P><STRONG><a name="[5f]"></a>gamepad_buf_init</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, helpers.o(i.gamepad_buf_init))
<P><STRONG><a name="[5e]"></a>gamepad_buf_init</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, helpers.o(i.gamepad_buf_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = gamepad_buf_init &rArr; malloc
</UL>
<BR>[Calls]<UL><LI><a href="#[31]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr
<LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;malloc
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;malloc
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[4c]"></a>kb_buf_add</STRONG> (Thumb, 48 bytes, Stack size 8 bytes, helpers.o(i.kb_buf_add))
<P><STRONG><a name="[4b]"></a>kb_buf_add</STRONG> (Thumb, 48 bytes, Stack size 8 bytes, helpers.o(i.kb_buf_add))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = kb_buf_add
</UL>
<BR>[Called By]<UL><LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
<BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
</UL>
<P><STRONG><a name="[61]"></a>kb_buf_init</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, helpers.o(i.kb_buf_init))
<P><STRONG><a name="[60]"></a>kb_buf_init</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, helpers.o(i.kb_buf_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = kb_buf_init &rArr; malloc
</UL>
<BR>[Calls]<UL><LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_common_memclr1_8
<LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;malloc
<BR>[Calls]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_common_memclr1_8
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;malloc
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
@@ -592,47 +590,46 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[26]"></a>main</STRONG> (Thumb, 868 bytes, Stack size 72 bytes, main.o(i.main))
<P><STRONG><a name="[26]"></a>main</STRONG> (Thumb, 820 bytes, Stack size 72 bytes, main.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 148<LI>Call Chain = main &rArr; HAL_SPI_Init &rArr; HAL_SPI_MspInit &rArr; HAL_GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
<LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIMEx_MasterConfigSynchronization
<LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_Config
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_CLKSourceConfig
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TransmitReceive_IT
<LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_Init
<LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_OscConfig
<LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetHCLKFreq
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
<LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_EnableIRQ
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
<BR>[Calls]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIMEx_MasterConfigSynchronization
<LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_Config
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_CLKSourceConfig
<LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TransmitReceive_IT
<LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_Init
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_OscConfig
<LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetHCLKFreq
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
<LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
<LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_EnableIRQ
<LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_pop
<LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_peek
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_init
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gamepad_buf_init
<LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;micros
<LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us_init
<LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_init
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gamepad_buf_init
<LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;micros
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us_init
<LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
</UL>
<P><STRONG><a name="[60]"></a>malloc</STRONG> (Thumb, 92 bytes, Stack size 20 bytes, malloc.o(i.malloc))
<P><STRONG><a name="[5f]"></a>malloc</STRONG> (Thumb, 92 bytes, Stack size 20 bytes, malloc.o(i.malloc))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = malloc
</UL>
<BR>[Called By]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_init
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gamepad_buf_init
<BR>[Called By]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_init
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gamepad_buf_init
</UL>
<P><STRONG><a name="[37]"></a>micros</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, delay_us.o(i.micros))
<P><STRONG><a name="[67]"></a>micros</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, delay_us.o(i.micros))
<BR><BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_EXTI_Callback
</UL>
<P>
<H3>
@@ -641,39 +638,39 @@ Local Symbols
<P><STRONG><a name="[2a]"></a>SPI_2linesRxISR_16BIT</STRONG> (Thumb, 56 bytes, Stack size 8 bytes, stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = SPI_2linesRxISR_16BIT &rArr; SPI_CloseRxTx_ISR &rArr; SPI_EndRxTxTransaction &rArr; SPI_WaitFifoStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<BR>[Calls]<UL><LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT)
</UL>
<P><STRONG><a name="[2c]"></a>SPI_2linesRxISR_8BIT</STRONG> (Thumb, 94 bytes, Stack size 8 bytes, stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_8BIT))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = SPI_2linesRxISR_8BIT &rArr; SPI_CloseRxTx_ISR &rArr; SPI_EndRxTxTransaction &rArr; SPI_WaitFifoStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<BR>[Calls]<UL><LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT)
</UL>
<P><STRONG><a name="[2b]"></a>SPI_2linesTxISR_16BIT</STRONG> (Thumb, 54 bytes, Stack size 8 bytes, stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = SPI_2linesTxISR_16BIT &rArr; SPI_CloseRxTx_ISR &rArr; SPI_EndRxTxTransaction &rArr; SPI_WaitFifoStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<BR>[Calls]<UL><LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT)
</UL>
<P><STRONG><a name="[2d]"></a>SPI_2linesTxISR_8BIT</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = SPI_2linesTxISR_8BIT &rArr; SPI_CloseRxTx_ISR &rArr; SPI_EndRxTxTransaction &rArr; SPI_WaitFifoStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<BR>[Calls]<UL><LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT)
</UL>
<P><STRONG><a name="[54]"></a>SPI_CloseRxTx_ISR</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR))
<P><STRONG><a name="[53]"></a>SPI_CloseRxTx_ISR</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = SPI_CloseRxTx_ISR &rArr; SPI_EndRxTxTransaction &rArr; SPI_WaitFifoStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_EndRxTxTransaction
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_RxCpltCallback
<LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_ErrorCallback
<LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<BR>[Calls]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_EndRxTxTransaction
<LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
<LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_RxCpltCallback
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_ErrorCallback
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[2d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_2linesTxISR_8BIT
<LI><a href="#[2b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_2linesTxISR_16BIT
@@ -684,39 +681,39 @@ Local Symbols
<P><STRONG><a name="[29]"></a>SPI_DMAAbortOnError</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, stm32f0xx_hal_spi.o(i.SPI_DMAAbortOnError))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = SPI_DMAAbortOnError
</UL>
<BR>[Calls]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_ErrorCallback
<BR>[Calls]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_ErrorCallback
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f0xx_hal_spi.o(i.HAL_SPI_IRQHandler)
</UL>
<P><STRONG><a name="[55]"></a>SPI_EndRxTxTransaction</STRONG> (Thumb, 76 bytes, Stack size 24 bytes, stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction))
<P><STRONG><a name="[54]"></a>SPI_EndRxTxTransaction</STRONG> (Thumb, 76 bytes, Stack size 24 bytes, stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = SPI_EndRxTxTransaction &rArr; SPI_WaitFifoStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WaitFlagStateUntilTimeout
<LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WaitFifoStateUntilTimeout
<BR>[Calls]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WaitFlagStateUntilTimeout
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WaitFifoStateUntilTimeout
</UL>
<BR>[Called By]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<BR>[Called By]<UL><LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
</UL>
<P><STRONG><a name="[57]"></a>SPI_WaitFifoStateUntilTimeout</STRONG> (Thumb, 150 bytes, Stack size 24 bytes, stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout))
<P><STRONG><a name="[56]"></a>SPI_WaitFifoStateUntilTimeout</STRONG> (Thumb, 150 bytes, Stack size 24 bytes, stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = SPI_WaitFifoStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<BR>[Calls]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_EndRxTxTransaction
<BR>[Called By]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_EndRxTxTransaction
</UL>
<P><STRONG><a name="[58]"></a>SPI_WaitFlagStateUntilTimeout</STRONG> (Thumb, 134 bytes, Stack size 16 bytes, stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout))
<P><STRONG><a name="[57]"></a>SPI_WaitFlagStateUntilTimeout</STRONG> (Thumb, 134 bytes, Stack size 16 bytes, stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = SPI_WaitFlagStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<BR>[Calls]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_EndRxTxTransaction
<BR>[Called By]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_EndRxTxTransaction
</UL>
<P><STRONG><a name="[5b]"></a>_printf_core</STRONG> (Thumb, 456 bytes, Stack size 88 bytes, printf3.o(i._printf_core), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
<P><STRONG><a name="[5a]"></a>_printf_core</STRONG> (Thumb, 456 bytes, Stack size 88 bytes, printf3.o(i._printf_core), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0printf$3
<BR>[Called By]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0printf$3
</UL>
<P>
<H3>

View File

@@ -29,9 +29,7 @@ Section Cross References
helpers.o(i.mouse_buf_init) refers to malloc.o(i.malloc) for malloc
helpers.o(i.mouse_buf_init) refers to memseta.o(.text) for __aeabi_memclr4
helpers.o(i.mouse_buf_reset) refers to memseta.o(.text) for __aeabi_memclr4
main.o(i.HAL_GPIO_EXTI_Callback) refers to delay_us.o(i.micros) for micros
main.o(i.HAL_GPIO_EXTI_Callback) refers to main.o(.bss) for .bss
main.o(i.HAL_GPIO_EXTI_Callback) refers to main.o(.data) for .data
main.o(i.HAL_SPI_TxRxCpltCallback) refers to stm32f0xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin
main.o(i.HAL_SPI_TxRxCpltCallback) refers to helpers.o(i.kb_buf_add) for kb_buf_add
main.o(i.HAL_SPI_TxRxCpltCallback) refers to helpers.o(i.gamepad_buf_add) for gamepad_buf_add
@@ -1354,93 +1352,93 @@ Image Symbol Table
i.EXTI2_3_IRQHandler 0x08000188 Section 0 stm32f0xx_it.o(i.EXTI2_3_IRQHandler)
i.HAL_DMA_Abort_IT 0x08000192 Section 0 stm32f0xx_hal_dma.o(i.HAL_DMA_Abort_IT)
i.HAL_GPIO_EXTI_Callback 0x080001dc Section 0 main.o(i.HAL_GPIO_EXTI_Callback)
i.HAL_GPIO_EXTI_IRQHandler 0x0800025c Section 0 stm32f0xx_hal_gpio.o(i.HAL_GPIO_EXTI_IRQHandler)
i.HAL_GPIO_Init 0x08000274 Section 0 stm32f0xx_hal_gpio.o(i.HAL_GPIO_Init)
i.HAL_GPIO_WritePin 0x080003d8 Section 0 stm32f0xx_hal_gpio.o(i.HAL_GPIO_WritePin)
i.HAL_GetTick 0x080003e4 Section 0 stm32f0xx_hal.o(i.HAL_GetTick)
i.HAL_IncTick 0x080003f0 Section 0 stm32f0xx_hal.o(i.HAL_IncTick)
i.HAL_Init 0x08000400 Section 0 stm32f0xx_hal.o(i.HAL_Init)
i.HAL_InitTick 0x08000420 Section 0 stm32f0xx_hal.o(i.HAL_InitTick)
i.HAL_MspInit 0x08000444 Section 0 stm32f0xx_hal_msp.o(i.HAL_MspInit)
i.HAL_NVIC_EnableIRQ 0x08000488 Section 0 stm32f0xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ)
i.HAL_NVIC_SetPriority 0x0800049c Section 0 stm32f0xx_hal_cortex.o(i.HAL_NVIC_SetPriority)
i.HAL_RCC_ClockConfig 0x080004e0 Section 0 stm32f0xx_hal_rcc.o(i.HAL_RCC_ClockConfig)
i.HAL_RCC_GetHCLKFreq 0x080006cc Section 0 stm32f0xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq)
i.HAL_RCC_GetSysClockFreq 0x080006d8 Section 0 stm32f0xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)
i.HAL_RCC_OscConfig 0x0800076c Section 0 stm32f0xx_hal_rcc.o(i.HAL_RCC_OscConfig)
i.HAL_SPI_ErrorCallback 0x08000bc0 Section 0 stm32f0xx_hal_spi.o(i.HAL_SPI_ErrorCallback)
i.HAL_SPI_IRQHandler 0x08000bc4 Section 0 stm32f0xx_hal_spi.o(i.HAL_SPI_IRQHandler)
i.HAL_SPI_Init 0x08000c9c Section 0 stm32f0xx_hal_spi.o(i.HAL_SPI_Init)
i.HAL_SPI_MspInit 0x08000d54 Section 0 stm32f0xx_hal_msp.o(i.HAL_SPI_MspInit)
i.HAL_SPI_RxCpltCallback 0x08000da8 Section 0 stm32f0xx_hal_spi.o(i.HAL_SPI_RxCpltCallback)
i.HAL_SPI_TransmitReceive_IT 0x08000dac Section 0 stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT)
i.HAL_SPI_TxRxCpltCallback 0x08000e80 Section 0 main.o(i.HAL_SPI_TxRxCpltCallback)
i.HAL_SYSTICK_CLKSourceConfig 0x08000f78 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig)
i.HAL_SYSTICK_Callback 0x08000f90 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Callback)
i.HAL_SYSTICK_Config 0x08000f94 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config)
i.HAL_SYSTICK_IRQHandler 0x08000fd0 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler)
i.HAL_TIMEx_MasterConfigSynchronization 0x08000fd8 Section 0 stm32f0xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization)
i.HAL_TIM_Base_Init 0x08001022 Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Init)
i.HAL_TIM_Base_MspInit 0x08001054 Section 0 stm32f0xx_hal_msp.o(i.HAL_TIM_Base_MspInit)
i.HAL_TIM_Base_Start 0x08001078 Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Start)
i.HAL_TIM_ConfigClockSource 0x08001090 Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_ConfigClockSource)
i.HardFault_Handler 0x08001246 Section 0 stm32f0xx_it.o(i.HardFault_Handler)
i.NMI_Handler 0x08001248 Section 0 stm32f0xx_it.o(i.NMI_Handler)
i.PendSV_Handler 0x0800124a Section 0 stm32f0xx_it.o(i.PendSV_Handler)
i.SPI1_IRQHandler 0x0800124c Section 0 stm32f0xx_it.o(i.SPI1_IRQHandler)
i.SPI_2linesRxISR_16BIT 0x0800125c Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT)
SPI_2linesRxISR_16BIT 0x0800125d Thumb Code 56 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT)
i.SPI_2linesRxISR_8BIT 0x08001294 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_8BIT)
SPI_2linesRxISR_8BIT 0x08001295 Thumb Code 94 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_8BIT)
i.SPI_2linesTxISR_16BIT 0x080012f2 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT)
SPI_2linesTxISR_16BIT 0x080012f3 Thumb Code 54 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT)
i.SPI_2linesTxISR_8BIT 0x08001328 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT)
SPI_2linesTxISR_8BIT 0x08001329 Thumb Code 74 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT)
i.SPI_CloseRxTx_ISR 0x08001372 Section 0 stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR)
SPI_CloseRxTx_ISR 0x08001373 Thumb Code 82 stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR)
i.SPI_DMAAbortOnError 0x080013c4 Section 0 stm32f0xx_hal_spi.o(i.SPI_DMAAbortOnError)
SPI_DMAAbortOnError 0x080013c5 Thumb Code 18 stm32f0xx_hal_spi.o(i.SPI_DMAAbortOnError)
i.SPI_EndRxTxTransaction 0x080013d6 Section 0 stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction)
SPI_EndRxTxTransaction 0x080013d7 Thumb Code 76 stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction)
i.SPI_WaitFifoStateUntilTimeout 0x08001422 Section 0 stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout)
SPI_WaitFifoStateUntilTimeout 0x08001423 Thumb Code 150 stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout)
i.SPI_WaitFlagStateUntilTimeout 0x080014b8 Section 0 stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
SPI_WaitFlagStateUntilTimeout 0x080014b9 Thumb Code 134 stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
i.SVC_Handler 0x0800153e Section 0 stm32f0xx_it.o(i.SVC_Handler)
i.SysTick_Handler 0x08001540 Section 0 stm32f0xx_it.o(i.SysTick_Handler)
i.SystemInit 0x0800154c Section 0 system_stm32f0xx.o(i.SystemInit)
i.TIM_Base_SetConfig 0x080015a8 Section 0 stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig)
i.__0printf$3 0x08001640 Section 0 printf3.o(i.__0printf$3)
i.__ARM_common_memclr1_8 0x08001660 Section 0 helpers.o(i.__ARM_common_memclr1_8)
i.__scatterload_copy 0x08001674 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x08001682 Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x08001684 Section 14 handlers.o(i.__scatterload_zeroinit)
i._printf_core 0x08001694 Section 0 printf3.o(i._printf_core)
_printf_core 0x08001695 Thumb Code 456 printf3.o(i._printf_core)
i.delay_us 0x08001860 Section 0 delay_us.o(i.delay_us)
i.delay_us_init 0x08001878 Section 0 delay_us.o(i.delay_us_init)
i.fputc 0x08001888 Section 0 main.o(i.fputc)
i.gamepad_buf_add 0x0800188a Section 0 helpers.o(i.gamepad_buf_add)
i.gamepad_buf_init 0x080018bc Section 0 helpers.o(i.gamepad_buf_init)
i.kb_buf_add 0x080018da Section 0 helpers.o(i.kb_buf_add)
i.kb_buf_init 0x0800190a Section 0 helpers.o(i.kb_buf_init)
i.kb_buf_peek 0x08001932 Section 0 helpers.o(i.kb_buf_peek)
i.kb_buf_pop 0x08001956 Section 0 helpers.o(i.kb_buf_pop)
i.main 0x08001968 Section 0 main.o(i.main)
i.malloc 0x08001d40 Section 0 malloc.o(i.malloc)
i.micros 0x08001dac Section 0 delay_us.o(i.micros)
.constdata 0x08001dbc Section 182 main.o(.constdata)
.constdata 0x08001e72 Section 16 system_stm32f0xx.o(.constdata)
i.HAL_GPIO_EXTI_IRQHandler 0x08000254 Section 0 stm32f0xx_hal_gpio.o(i.HAL_GPIO_EXTI_IRQHandler)
i.HAL_GPIO_Init 0x0800026c Section 0 stm32f0xx_hal_gpio.o(i.HAL_GPIO_Init)
i.HAL_GPIO_WritePin 0x080003d0 Section 0 stm32f0xx_hal_gpio.o(i.HAL_GPIO_WritePin)
i.HAL_GetTick 0x080003dc Section 0 stm32f0xx_hal.o(i.HAL_GetTick)
i.HAL_IncTick 0x080003e8 Section 0 stm32f0xx_hal.o(i.HAL_IncTick)
i.HAL_Init 0x080003f8 Section 0 stm32f0xx_hal.o(i.HAL_Init)
i.HAL_InitTick 0x08000418 Section 0 stm32f0xx_hal.o(i.HAL_InitTick)
i.HAL_MspInit 0x0800043c Section 0 stm32f0xx_hal_msp.o(i.HAL_MspInit)
i.HAL_NVIC_EnableIRQ 0x08000480 Section 0 stm32f0xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ)
i.HAL_NVIC_SetPriority 0x08000494 Section 0 stm32f0xx_hal_cortex.o(i.HAL_NVIC_SetPriority)
i.HAL_RCC_ClockConfig 0x080004d8 Section 0 stm32f0xx_hal_rcc.o(i.HAL_RCC_ClockConfig)
i.HAL_RCC_GetHCLKFreq 0x080006c4 Section 0 stm32f0xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq)
i.HAL_RCC_GetSysClockFreq 0x080006d0 Section 0 stm32f0xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)
i.HAL_RCC_OscConfig 0x08000764 Section 0 stm32f0xx_hal_rcc.o(i.HAL_RCC_OscConfig)
i.HAL_SPI_ErrorCallback 0x08000bb8 Section 0 stm32f0xx_hal_spi.o(i.HAL_SPI_ErrorCallback)
i.HAL_SPI_IRQHandler 0x08000bbc Section 0 stm32f0xx_hal_spi.o(i.HAL_SPI_IRQHandler)
i.HAL_SPI_Init 0x08000c94 Section 0 stm32f0xx_hal_spi.o(i.HAL_SPI_Init)
i.HAL_SPI_MspInit 0x08000d4c Section 0 stm32f0xx_hal_msp.o(i.HAL_SPI_MspInit)
i.HAL_SPI_RxCpltCallback 0x08000da0 Section 0 stm32f0xx_hal_spi.o(i.HAL_SPI_RxCpltCallback)
i.HAL_SPI_TransmitReceive_IT 0x08000da4 Section 0 stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT)
i.HAL_SPI_TxRxCpltCallback 0x08000e78 Section 0 main.o(i.HAL_SPI_TxRxCpltCallback)
i.HAL_SYSTICK_CLKSourceConfig 0x08000f70 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig)
i.HAL_SYSTICK_Callback 0x08000f88 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Callback)
i.HAL_SYSTICK_Config 0x08000f8c Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config)
i.HAL_SYSTICK_IRQHandler 0x08000fc8 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler)
i.HAL_TIMEx_MasterConfigSynchronization 0x08000fd0 Section 0 stm32f0xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization)
i.HAL_TIM_Base_Init 0x0800101a Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Init)
i.HAL_TIM_Base_MspInit 0x0800104c Section 0 stm32f0xx_hal_msp.o(i.HAL_TIM_Base_MspInit)
i.HAL_TIM_Base_Start 0x08001070 Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Start)
i.HAL_TIM_ConfigClockSource 0x08001088 Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_ConfigClockSource)
i.HardFault_Handler 0x0800123e Section 0 stm32f0xx_it.o(i.HardFault_Handler)
i.NMI_Handler 0x08001240 Section 0 stm32f0xx_it.o(i.NMI_Handler)
i.PendSV_Handler 0x08001242 Section 0 stm32f0xx_it.o(i.PendSV_Handler)
i.SPI1_IRQHandler 0x08001244 Section 0 stm32f0xx_it.o(i.SPI1_IRQHandler)
i.SPI_2linesRxISR_16BIT 0x08001254 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT)
SPI_2linesRxISR_16BIT 0x08001255 Thumb Code 56 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT)
i.SPI_2linesRxISR_8BIT 0x0800128c Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_8BIT)
SPI_2linesRxISR_8BIT 0x0800128d Thumb Code 94 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_8BIT)
i.SPI_2linesTxISR_16BIT 0x080012ea Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT)
SPI_2linesTxISR_16BIT 0x080012eb Thumb Code 54 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT)
i.SPI_2linesTxISR_8BIT 0x08001320 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT)
SPI_2linesTxISR_8BIT 0x08001321 Thumb Code 74 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT)
i.SPI_CloseRxTx_ISR 0x0800136a Section 0 stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR)
SPI_CloseRxTx_ISR 0x0800136b Thumb Code 82 stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR)
i.SPI_DMAAbortOnError 0x080013bc Section 0 stm32f0xx_hal_spi.o(i.SPI_DMAAbortOnError)
SPI_DMAAbortOnError 0x080013bd Thumb Code 18 stm32f0xx_hal_spi.o(i.SPI_DMAAbortOnError)
i.SPI_EndRxTxTransaction 0x080013ce Section 0 stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction)
SPI_EndRxTxTransaction 0x080013cf Thumb Code 76 stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction)
i.SPI_WaitFifoStateUntilTimeout 0x0800141a Section 0 stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout)
SPI_WaitFifoStateUntilTimeout 0x0800141b Thumb Code 150 stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout)
i.SPI_WaitFlagStateUntilTimeout 0x080014b0 Section 0 stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
SPI_WaitFlagStateUntilTimeout 0x080014b1 Thumb Code 134 stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
i.SVC_Handler 0x08001536 Section 0 stm32f0xx_it.o(i.SVC_Handler)
i.SysTick_Handler 0x08001538 Section 0 stm32f0xx_it.o(i.SysTick_Handler)
i.SystemInit 0x08001544 Section 0 system_stm32f0xx.o(i.SystemInit)
i.TIM_Base_SetConfig 0x080015a0 Section 0 stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig)
i.__0printf$3 0x08001638 Section 0 printf3.o(i.__0printf$3)
i.__ARM_common_memclr1_8 0x08001658 Section 0 helpers.o(i.__ARM_common_memclr1_8)
i.__scatterload_copy 0x0800166c Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x0800167a Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x0800167c Section 14 handlers.o(i.__scatterload_zeroinit)
i._printf_core 0x0800168c Section 0 printf3.o(i._printf_core)
_printf_core 0x0800168d Thumb Code 456 printf3.o(i._printf_core)
i.delay_us 0x08001858 Section 0 delay_us.o(i.delay_us)
i.delay_us_init 0x08001870 Section 0 delay_us.o(i.delay_us_init)
i.fputc 0x08001880 Section 0 main.o(i.fputc)
i.gamepad_buf_add 0x08001882 Section 0 helpers.o(i.gamepad_buf_add)
i.gamepad_buf_init 0x080018b4 Section 0 helpers.o(i.gamepad_buf_init)
i.kb_buf_add 0x080018d2 Section 0 helpers.o(i.kb_buf_add)
i.kb_buf_init 0x08001902 Section 0 helpers.o(i.kb_buf_init)
i.kb_buf_peek 0x0800192a Section 0 helpers.o(i.kb_buf_peek)
i.kb_buf_pop 0x0800194e Section 0 helpers.o(i.kb_buf_pop)
i.main 0x08001960 Section 0 main.o(i.main)
i.malloc 0x08001d08 Section 0 malloc.o(i.malloc)
i.micros 0x08001d74 Section 0 delay_us.o(i.micros)
.constdata 0x08001d84 Section 182 main.o(.constdata)
.constdata 0x08001e3a Section 16 system_stm32f0xx.o(.constdata)
.data 0x20000000 Section 4 delay_us.o(.data)
.data 0x20000004 Section 32 main.o(.data)
.data 0x20000024 Section 4 stm32f0xx_hal.o(.data)
.data 0x20000028 Section 4 system_stm32f0xx.o(.data)
.data 0x2000002c Section 4 stdout.o(.data)
.data 0x20000030 Section 4 mvars.o(.data)
.data 0x20000034 Section 4 mvars.o(.data)
.bss 0x20000038 Section 428 main.o(.bss)
HEAP 0x200001e8 Section 512 startup_stm32f072xb.o(HEAP)
STACK 0x200003e8 Section 1024 startup_stm32f072xb.o(STACK)
.data 0x20000004 Section 16 main.o(.data)
.data 0x20000014 Section 4 stm32f0xx_hal.o(.data)
.data 0x20000018 Section 4 system_stm32f0xx.o(.data)
.data 0x2000001c Section 4 stdout.o(.data)
.data 0x20000020 Section 4 mvars.o(.data)
.data 0x20000024 Section 4 mvars.o(.data)
.bss 0x20000028 Section 440 main.o(.bss)
HEAP 0x200001e0 Section 512 startup_stm32f072xb.o(HEAP)
STACK 0x200003e0 Section 1024 startup_stm32f072xb.o(STACK)
Global Symbols
@@ -1553,94 +1551,93 @@ Image Symbol Table
__scatterload_rt2 0x08000165 Thumb Code 0 init.o(.text)
EXTI2_3_IRQHandler 0x08000189 Thumb Code 10 stm32f0xx_it.o(i.EXTI2_3_IRQHandler)
HAL_DMA_Abort_IT 0x08000193 Thumb Code 72 stm32f0xx_hal_dma.o(i.HAL_DMA_Abort_IT)
HAL_GPIO_EXTI_Callback 0x080001dd Thumb Code 108 main.o(i.HAL_GPIO_EXTI_Callback)
HAL_GPIO_EXTI_IRQHandler 0x0800025d Thumb Code 20 stm32f0xx_hal_gpio.o(i.HAL_GPIO_EXTI_IRQHandler)
HAL_GPIO_Init 0x08000275 Thumb Code 328 stm32f0xx_hal_gpio.o(i.HAL_GPIO_Init)
HAL_GPIO_WritePin 0x080003d9 Thumb Code 12 stm32f0xx_hal_gpio.o(i.HAL_GPIO_WritePin)
HAL_GetTick 0x080003e5 Thumb Code 6 stm32f0xx_hal.o(i.HAL_GetTick)
HAL_IncTick 0x080003f1 Thumb Code 10 stm32f0xx_hal.o(i.HAL_IncTick)
HAL_Init 0x08000401 Thumb Code 26 stm32f0xx_hal.o(i.HAL_Init)
HAL_InitTick 0x08000421 Thumb Code 34 stm32f0xx_hal.o(i.HAL_InitTick)
HAL_MspInit 0x08000445 Thumb Code 64 stm32f0xx_hal_msp.o(i.HAL_MspInit)
HAL_NVIC_EnableIRQ 0x08000489 Thumb Code 14 stm32f0xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ)
HAL_NVIC_SetPriority 0x0800049d Thumb Code 60 stm32f0xx_hal_cortex.o(i.HAL_NVIC_SetPriority)
HAL_RCC_ClockConfig 0x080004e1 Thumb Code 454 stm32f0xx_hal_rcc.o(i.HAL_RCC_ClockConfig)
HAL_RCC_GetHCLKFreq 0x080006cd Thumb Code 6 stm32f0xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq)
HAL_RCC_GetSysClockFreq 0x080006d9 Thumb Code 102 stm32f0xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)
HAL_RCC_OscConfig 0x0800076d Thumb Code 1108 stm32f0xx_hal_rcc.o(i.HAL_RCC_OscConfig)
HAL_SPI_ErrorCallback 0x08000bc1 Thumb Code 2 stm32f0xx_hal_spi.o(i.HAL_SPI_ErrorCallback)
HAL_SPI_IRQHandler 0x08000bc5 Thumb Code 212 stm32f0xx_hal_spi.o(i.HAL_SPI_IRQHandler)
HAL_SPI_Init 0x08000c9d Thumb Code 184 stm32f0xx_hal_spi.o(i.HAL_SPI_Init)
HAL_SPI_MspInit 0x08000d55 Thumb Code 76 stm32f0xx_hal_msp.o(i.HAL_SPI_MspInit)
HAL_SPI_RxCpltCallback 0x08000da9 Thumb Code 2 stm32f0xx_hal_spi.o(i.HAL_SPI_RxCpltCallback)
HAL_SPI_TransmitReceive_IT 0x08000dad Thumb Code 194 stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT)
HAL_SPI_TxRxCpltCallback 0x08000e81 Thumb Code 210 main.o(i.HAL_SPI_TxRxCpltCallback)
HAL_SYSTICK_CLKSourceConfig 0x08000f79 Thumb Code 20 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig)
HAL_SYSTICK_Callback 0x08000f91 Thumb Code 2 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Callback)
HAL_SYSTICK_Config 0x08000f95 Thumb Code 46 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config)
HAL_SYSTICK_IRQHandler 0x08000fd1 Thumb Code 8 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler)
HAL_TIMEx_MasterConfigSynchronization 0x08000fd9 Thumb Code 74 stm32f0xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization)
HAL_TIM_Base_Init 0x08001023 Thumb Code 50 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Init)
HAL_TIM_Base_MspInit 0x08001055 Thumb Code 32 stm32f0xx_hal_msp.o(i.HAL_TIM_Base_MspInit)
HAL_TIM_Base_Start 0x08001079 Thumb Code 24 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Start)
HAL_TIM_ConfigClockSource 0x08001091 Thumb Code 438 stm32f0xx_hal_tim.o(i.HAL_TIM_ConfigClockSource)
HardFault_Handler 0x08001247 Thumb Code 2 stm32f0xx_it.o(i.HardFault_Handler)
NMI_Handler 0x08001249 Thumb Code 2 stm32f0xx_it.o(i.NMI_Handler)
PendSV_Handler 0x0800124b Thumb Code 2 stm32f0xx_it.o(i.PendSV_Handler)
SPI1_IRQHandler 0x0800124d Thumb Code 10 stm32f0xx_it.o(i.SPI1_IRQHandler)
SVC_Handler 0x0800153f Thumb Code 2 stm32f0xx_it.o(i.SVC_Handler)
SysTick_Handler 0x08001541 Thumb Code 12 stm32f0xx_it.o(i.SysTick_Handler)
SystemInit 0x0800154d Thumb Code 76 system_stm32f0xx.o(i.SystemInit)
TIM_Base_SetConfig 0x080015a9 Thumb Code 126 stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig)
__0printf$3 0x08001641 Thumb Code 24 printf3.o(i.__0printf$3)
__1printf$3 0x08001641 Thumb Code 0 printf3.o(i.__0printf$3)
__2printf 0x08001641 Thumb Code 0 printf3.o(i.__0printf$3)
__ARM_common_memclr1_8 0x08001661 Thumb Code 20 helpers.o(i.__ARM_common_memclr1_8)
__scatterload_copy 0x08001675 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x08001683 Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x08001685 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
delay_us 0x08001861 Thumb Code 18 delay_us.o(i.delay_us)
delay_us_init 0x08001879 Thumb Code 12 delay_us.o(i.delay_us_init)
fputc 0x08001889 Thumb Code 2 main.o(i.fputc)
gamepad_buf_add 0x0800188b Thumb Code 50 helpers.o(i.gamepad_buf_add)
gamepad_buf_init 0x080018bd Thumb Code 30 helpers.o(i.gamepad_buf_init)
kb_buf_add 0x080018db Thumb Code 48 helpers.o(i.kb_buf_add)
kb_buf_init 0x0800190b Thumb Code 40 helpers.o(i.kb_buf_init)
kb_buf_peek 0x08001933 Thumb Code 36 helpers.o(i.kb_buf_peek)
kb_buf_pop 0x08001957 Thumb Code 18 helpers.o(i.kb_buf_pop)
main 0x08001969 Thumb Code 868 main.o(i.main)
malloc 0x08001d41 Thumb Code 92 malloc.o(i.malloc)
micros 0x08001dad Thumb Code 10 delay_us.o(i.micros)
boot_message 0x08001dbc Data 54 main.o(.constdata)
linux_keycode_to_bbc_matrix_lookup 0x08001df2 Data 128 main.o(.constdata)
AHBPrescTable 0x08001e72 Data 16 system_stm32f0xx.o(.constdata)
Region$$Table$$Base 0x08001e84 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08001ea4 Number 0 anon$$obj.o(Region$$Table)
HAL_GPIO_EXTI_Callback 0x080001dd Thumb Code 102 main.o(i.HAL_GPIO_EXTI_Callback)
HAL_GPIO_EXTI_IRQHandler 0x08000255 Thumb Code 20 stm32f0xx_hal_gpio.o(i.HAL_GPIO_EXTI_IRQHandler)
HAL_GPIO_Init 0x0800026d Thumb Code 328 stm32f0xx_hal_gpio.o(i.HAL_GPIO_Init)
HAL_GPIO_WritePin 0x080003d1 Thumb Code 12 stm32f0xx_hal_gpio.o(i.HAL_GPIO_WritePin)
HAL_GetTick 0x080003dd Thumb Code 6 stm32f0xx_hal.o(i.HAL_GetTick)
HAL_IncTick 0x080003e9 Thumb Code 10 stm32f0xx_hal.o(i.HAL_IncTick)
HAL_Init 0x080003f9 Thumb Code 26 stm32f0xx_hal.o(i.HAL_Init)
HAL_InitTick 0x08000419 Thumb Code 34 stm32f0xx_hal.o(i.HAL_InitTick)
HAL_MspInit 0x0800043d Thumb Code 64 stm32f0xx_hal_msp.o(i.HAL_MspInit)
HAL_NVIC_EnableIRQ 0x08000481 Thumb Code 14 stm32f0xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ)
HAL_NVIC_SetPriority 0x08000495 Thumb Code 60 stm32f0xx_hal_cortex.o(i.HAL_NVIC_SetPriority)
HAL_RCC_ClockConfig 0x080004d9 Thumb Code 454 stm32f0xx_hal_rcc.o(i.HAL_RCC_ClockConfig)
HAL_RCC_GetHCLKFreq 0x080006c5 Thumb Code 6 stm32f0xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq)
HAL_RCC_GetSysClockFreq 0x080006d1 Thumb Code 102 stm32f0xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)
HAL_RCC_OscConfig 0x08000765 Thumb Code 1108 stm32f0xx_hal_rcc.o(i.HAL_RCC_OscConfig)
HAL_SPI_ErrorCallback 0x08000bb9 Thumb Code 2 stm32f0xx_hal_spi.o(i.HAL_SPI_ErrorCallback)
HAL_SPI_IRQHandler 0x08000bbd Thumb Code 212 stm32f0xx_hal_spi.o(i.HAL_SPI_IRQHandler)
HAL_SPI_Init 0x08000c95 Thumb Code 184 stm32f0xx_hal_spi.o(i.HAL_SPI_Init)
HAL_SPI_MspInit 0x08000d4d Thumb Code 76 stm32f0xx_hal_msp.o(i.HAL_SPI_MspInit)
HAL_SPI_RxCpltCallback 0x08000da1 Thumb Code 2 stm32f0xx_hal_spi.o(i.HAL_SPI_RxCpltCallback)
HAL_SPI_TransmitReceive_IT 0x08000da5 Thumb Code 194 stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT)
HAL_SPI_TxRxCpltCallback 0x08000e79 Thumb Code 210 main.o(i.HAL_SPI_TxRxCpltCallback)
HAL_SYSTICK_CLKSourceConfig 0x08000f71 Thumb Code 20 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig)
HAL_SYSTICK_Callback 0x08000f89 Thumb Code 2 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Callback)
HAL_SYSTICK_Config 0x08000f8d Thumb Code 46 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config)
HAL_SYSTICK_IRQHandler 0x08000fc9 Thumb Code 8 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler)
HAL_TIMEx_MasterConfigSynchronization 0x08000fd1 Thumb Code 74 stm32f0xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization)
HAL_TIM_Base_Init 0x0800101b Thumb Code 50 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Init)
HAL_TIM_Base_MspInit 0x0800104d Thumb Code 32 stm32f0xx_hal_msp.o(i.HAL_TIM_Base_MspInit)
HAL_TIM_Base_Start 0x08001071 Thumb Code 24 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Start)
HAL_TIM_ConfigClockSource 0x08001089 Thumb Code 438 stm32f0xx_hal_tim.o(i.HAL_TIM_ConfigClockSource)
HardFault_Handler 0x0800123f Thumb Code 2 stm32f0xx_it.o(i.HardFault_Handler)
NMI_Handler 0x08001241 Thumb Code 2 stm32f0xx_it.o(i.NMI_Handler)
PendSV_Handler 0x08001243 Thumb Code 2 stm32f0xx_it.o(i.PendSV_Handler)
SPI1_IRQHandler 0x08001245 Thumb Code 10 stm32f0xx_it.o(i.SPI1_IRQHandler)
SVC_Handler 0x08001537 Thumb Code 2 stm32f0xx_it.o(i.SVC_Handler)
SysTick_Handler 0x08001539 Thumb Code 12 stm32f0xx_it.o(i.SysTick_Handler)
SystemInit 0x08001545 Thumb Code 76 system_stm32f0xx.o(i.SystemInit)
TIM_Base_SetConfig 0x080015a1 Thumb Code 126 stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig)
__0printf$3 0x08001639 Thumb Code 24 printf3.o(i.__0printf$3)
__1printf$3 0x08001639 Thumb Code 0 printf3.o(i.__0printf$3)
__2printf 0x08001639 Thumb Code 0 printf3.o(i.__0printf$3)
__ARM_common_memclr1_8 0x08001659 Thumb Code 20 helpers.o(i.__ARM_common_memclr1_8)
__scatterload_copy 0x0800166d Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x0800167b Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x0800167d Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
delay_us 0x08001859 Thumb Code 18 delay_us.o(i.delay_us)
delay_us_init 0x08001871 Thumb Code 12 delay_us.o(i.delay_us_init)
fputc 0x08001881 Thumb Code 2 main.o(i.fputc)
gamepad_buf_add 0x08001883 Thumb Code 50 helpers.o(i.gamepad_buf_add)
gamepad_buf_init 0x080018b5 Thumb Code 30 helpers.o(i.gamepad_buf_init)
kb_buf_add 0x080018d3 Thumb Code 48 helpers.o(i.kb_buf_add)
kb_buf_init 0x08001903 Thumb Code 40 helpers.o(i.kb_buf_init)
kb_buf_peek 0x0800192b Thumb Code 36 helpers.o(i.kb_buf_peek)
kb_buf_pop 0x0800194f Thumb Code 18 helpers.o(i.kb_buf_pop)
main 0x08001961 Thumb Code 820 main.o(i.main)
malloc 0x08001d09 Thumb Code 92 malloc.o(i.malloc)
micros 0x08001d75 Thumb Code 10 delay_us.o(i.micros)
boot_message 0x08001d84 Data 54 main.o(.constdata)
linux_keycode_to_bbc_matrix_lookup 0x08001dba Data 128 main.o(.constdata)
AHBPrescTable 0x08001e3a Data 16 system_stm32f0xx.o(.constdata)
Region$$Table$$Base 0x08001e4c Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08001e6c Number 0 anon$$obj.o(Region$$Table)
us_timer 0x20000000 Data 4 delay_us.o(.data)
spi_error_occured 0x20000004 Data 1 main.o(.data)
buffered_code 0x20000005 Data 1 main.o(.data)
buffered_value 0x20000006 Data 1 main.o(.data)
last_ca2 0x20000008 Data 4 main.o(.data)
my_gamepad_buf 0x2000000c Data 8 main.o(.data)
key_downstroke 0x20000014 Data 8 main.o(.data)
key_upstroke 0x2000001c Data 8 main.o(.data)
uwTick 0x20000024 Data 4 stm32f0xx_hal.o(.data)
SystemCoreClock 0x20000028 Data 4 system_stm32f0xx.o(.data)
__stdout 0x2000002c Data 4 stdout.o(.data)
__microlib_freelist 0x20000030 Data 4 mvars.o(.data)
__microlib_freelist_initialised 0x20000034 Data 4 mvars.o(.data)
hspi1 0x20000038 Data 100 main.o(.bss)
htim2 0x2000009c Data 64 main.o(.bss)
spi_transmit_buf 0x200000dc Data 32 main.o(.bss)
backup_spi1_recv_buf 0x200000fc Data 32 main.o(.bss)
spi_recv_buf 0x2000011c Data 32 main.o(.bss)
my_kb_buf 0x2000013c Data 12 main.o(.bss)
latest_gamepad_event 0x20000148 Data 12 main.o(.bss)
col_status 0x20000154 Data 16 main.o(.bss)
matrix_status 0x20000164 Data 128 main.o(.bss)
__heap_base 0x200001e8 Data 0 startup_stm32f072xb.o(HEAP)
__heap_limit 0x200003e8 Data 0 startup_stm32f072xb.o(HEAP)
__initial_sp 0x200007e8 Data 0 startup_stm32f072xb.o(STACK)
uwTick 0x20000014 Data 4 stm32f0xx_hal.o(.data)
SystemCoreClock 0x20000018 Data 4 system_stm32f0xx.o(.data)
__stdout 0x2000001c Data 4 stdout.o(.data)
__microlib_freelist 0x20000020 Data 4 mvars.o(.data)
__microlib_freelist_initialised 0x20000024 Data 4 mvars.o(.data)
hspi1 0x20000028 Data 100 main.o(.bss)
htim2 0x2000008c Data 64 main.o(.bss)
spi_transmit_buf 0x200000cc Data 32 main.o(.bss)
backup_spi1_recv_buf 0x200000ec Data 32 main.o(.bss)
spi_recv_buf 0x2000010c Data 32 main.o(.bss)
my_kb_buf 0x2000012c Data 12 main.o(.bss)
latest_gamepad_event 0x20000138 Data 12 main.o(.bss)
col_status 0x20000144 Data 16 main.o(.bss)
matrix_status 0x20000154 Data 128 main.o(.bss)
key_downstroke 0x200001d4 Data 12 main.o(.bss)
__heap_base 0x200001e0 Data 0 startup_stm32f072xb.o(HEAP)
__heap_limit 0x200003e0 Data 0 startup_stm32f072xb.o(HEAP)
__initial_sp 0x200007e0 Data 0 startup_stm32f072xb.o(STACK)
@@ -1650,9 +1647,9 @@ Memory Map of the image
Image Entry point : 0x080000c1
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00001edc, Max: 0x00010000, ABSOLUTE)
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00001e94, Max: 0x00010000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001ea4, Max: 0x00010000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001e6c, Max: 0x00010000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
@@ -1674,98 +1671,97 @@ Memory Map of the image
0x08000188 0x08000188 0x0000000a Code RO 365 i.EXTI2_3_IRQHandler stm32f0xx_it.o
0x08000192 0x08000192 0x00000048 Code RO 2457 i.HAL_DMA_Abort_IT stm32f0xx_hal_dma.o
0x080001da 0x080001da 0x00000002 PAD
0x080001dc 0x080001dc 0x00000080 Code RO 293 i.HAL_GPIO_EXTI_Callback main.o
0x0800025c 0x0800025c 0x00000018 Code RO 2396 i.HAL_GPIO_EXTI_IRQHandler stm32f0xx_hal_gpio.o
0x08000274 0x08000274 0x00000164 Code RO 2397 i.HAL_GPIO_Init stm32f0xx_hal_gpio.o
0x080003d8 0x080003d8 0x0000000c Code RO 2401 i.HAL_GPIO_WritePin stm32f0xx_hal_gpio.o
0x080003e4 0x080003e4 0x0000000c Code RO 1832 i.HAL_GetTick stm32f0xx_hal.o
0x080003f0 0x080003f0 0x00000010 Code RO 1836 i.HAL_IncTick stm32f0xx_hal.o
0x08000400 0x08000400 0x00000020 Code RO 1837 i.HAL_Init stm32f0xx_hal.o
0x08000420 0x08000420 0x00000022 Code RO 1838 i.HAL_InitTick stm32f0xx_hal.o
0x08000442 0x08000442 0x00000002 PAD
0x08000444 0x08000444 0x00000044 Code RO 425 i.HAL_MspInit stm32f0xx_hal_msp.o
0x08000488 0x08000488 0x00000014 Code RO 2544 i.HAL_NVIC_EnableIRQ stm32f0xx_hal_cortex.o
0x0800049c 0x0800049c 0x00000044 Code RO 2548 i.HAL_NVIC_SetPriority stm32f0xx_hal_cortex.o
0x080004e0 0x080004e0 0x000001ec Code RO 1647 i.HAL_RCC_ClockConfig stm32f0xx_hal_rcc.o
0x080006cc 0x080006cc 0x0000000c Code RO 1652 i.HAL_RCC_GetHCLKFreq stm32f0xx_hal_rcc.o
0x080006d8 0x080006d8 0x00000094 Code RO 1655 i.HAL_RCC_GetSysClockFreq stm32f0xx_hal_rcc.o
0x0800076c 0x0800076c 0x00000454 Code RO 1658 i.HAL_RCC_OscConfig stm32f0xx_hal_rcc.o
0x08000bc0 0x08000bc0 0x00000002 Code RO 476 i.HAL_SPI_ErrorCallback stm32f0xx_hal_spi.o
0x08000bc2 0x08000bc2 0x00000002 PAD
0x08000bc4 0x08000bc4 0x000000d8 Code RO 479 i.HAL_SPI_IRQHandler stm32f0xx_hal_spi.o
0x08000c9c 0x08000c9c 0x000000b8 Code RO 480 i.HAL_SPI_Init stm32f0xx_hal_spi.o
0x08000d54 0x08000d54 0x00000054 Code RO 427 i.HAL_SPI_MspInit stm32f0xx_hal_msp.o
0x08000da8 0x08000da8 0x00000002 Code RO 486 i.HAL_SPI_RxCpltCallback stm32f0xx_hal_spi.o
0x08000daa 0x08000daa 0x00000002 PAD
0x08000dac 0x08000dac 0x000000d4 Code RO 491 i.HAL_SPI_TransmitReceive_IT stm32f0xx_hal_spi.o
0x08000e80 0x08000e80 0x000000f8 Code RO 294 i.HAL_SPI_TxRxCpltCallback main.o
0x08000f78 0x08000f78 0x00000018 Code RO 2550 i.HAL_SYSTICK_CLKSourceConfig stm32f0xx_hal_cortex.o
0x08000f90 0x08000f90 0x00000002 Code RO 2551 i.HAL_SYSTICK_Callback stm32f0xx_hal_cortex.o
0x08000f92 0x08000f92 0x00000002 PAD
0x08000f94 0x08000f94 0x0000003c Code RO 2552 i.HAL_SYSTICK_Config stm32f0xx_hal_cortex.o
0x08000fd0 0x08000fd0 0x00000008 Code RO 2553 i.HAL_SYSTICK_IRQHandler stm32f0xx_hal_cortex.o
0x08000fd8 0x08000fd8 0x0000004a Code RO 1427 i.HAL_TIMEx_MasterConfigSynchronization stm32f0xx_hal_tim_ex.o
0x08001022 0x08001022 0x00000032 Code RO 804 i.HAL_TIM_Base_Init stm32f0xx_hal_tim.o
0x08001054 0x08001054 0x00000024 Code RO 429 i.HAL_TIM_Base_MspInit stm32f0xx_hal_msp.o
0x08001078 0x08001078 0x00000018 Code RO 807 i.HAL_TIM_Base_Start stm32f0xx_hal_tim.o
0x08001090 0x08001090 0x000001b6 Code RO 813 i.HAL_TIM_ConfigClockSource stm32f0xx_hal_tim.o
0x08001246 0x08001246 0x00000002 Code RO 366 i.HardFault_Handler stm32f0xx_it.o
0x08001248 0x08001248 0x00000002 Code RO 367 i.NMI_Handler stm32f0xx_it.o
0x0800124a 0x0800124a 0x00000002 Code RO 368 i.PendSV_Handler stm32f0xx_it.o
0x0800124c 0x0800124c 0x00000010 Code RO 369 i.SPI1_IRQHandler stm32f0xx_it.o
0x0800125c 0x0800125c 0x00000038 Code RO 498 i.SPI_2linesRxISR_16BIT stm32f0xx_hal_spi.o
0x08001294 0x08001294 0x0000005e Code RO 499 i.SPI_2linesRxISR_8BIT stm32f0xx_hal_spi.o
0x080012f2 0x080012f2 0x00000036 Code RO 500 i.SPI_2linesTxISR_16BIT stm32f0xx_hal_spi.o
0x08001328 0x08001328 0x0000004a Code RO 501 i.SPI_2linesTxISR_8BIT stm32f0xx_hal_spi.o
0x08001372 0x08001372 0x00000052 Code RO 504 i.SPI_CloseRxTx_ISR stm32f0xx_hal_spi.o
0x080013c4 0x080013c4 0x00000012 Code RO 505 i.SPI_DMAAbortOnError stm32f0xx_hal_spi.o
0x080013d6 0x080013d6 0x0000004c Code RO 516 i.SPI_EndRxTxTransaction stm32f0xx_hal_spi.o
0x08001422 0x08001422 0x00000096 Code RO 521 i.SPI_WaitFifoStateUntilTimeout stm32f0xx_hal_spi.o
0x080014b8 0x080014b8 0x00000086 Code RO 522 i.SPI_WaitFlagStateUntilTimeout stm32f0xx_hal_spi.o
0x0800153e 0x0800153e 0x00000002 Code RO 370 i.SVC_Handler stm32f0xx_it.o
0x08001540 0x08001540 0x0000000c Code RO 371 i.SysTick_Handler stm32f0xx_it.o
0x0800154c 0x0800154c 0x0000005c Code RO 2930 i.SystemInit system_stm32f0xx.o
0x080015a8 0x080015a8 0x00000098 Code RO 890 i.TIM_Base_SetConfig stm32f0xx_hal_tim.o
0x08001640 0x08001640 0x00000020 Code RO 3063 i.__0printf$3 mc_p.l(printf3.o)
0x08001660 0x08001660 0x00000014 Code RO 272 i.__ARM_common_memclr1_8 helpers.o
0x08001674 0x08001674 0x0000000e Code RO 3305 i.__scatterload_copy mc_p.l(handlers.o)
0x08001682 0x08001682 0x00000002 Code RO 3306 i.__scatterload_null mc_p.l(handlers.o)
0x08001684 0x08001684 0x0000000e Code RO 3307 i.__scatterload_zeroinit mc_p.l(handlers.o)
0x08001692 0x08001692 0x00000002 PAD
0x08001694 0x08001694 0x000001cc Code RO 3070 i._printf_core mc_p.l(printf3.o)
0x08001860 0x08001860 0x00000018 Code RO 12 i.delay_us delay_us.o
0x08001878 0x08001878 0x00000010 Code RO 13 i.delay_us_init delay_us.o
0x08001888 0x08001888 0x00000002 Code RO 297 i.fputc main.o
0x0800188a 0x0800188a 0x00000032 Code RO 143 i.gamepad_buf_add helpers.o
0x080018bc 0x080018bc 0x0000001e Code RO 144 i.gamepad_buf_init helpers.o
0x080018da 0x080018da 0x00000030 Code RO 150 i.kb_buf_add helpers.o
0x0800190a 0x0800190a 0x00000028 Code RO 151 i.kb_buf_init helpers.o
0x08001932 0x08001932 0x00000024 Code RO 154 i.kb_buf_peek helpers.o
0x08001956 0x08001956 0x00000012 Code RO 155 i.kb_buf_pop helpers.o
0x08001968 0x08001968 0x000003d8 Code RO 300 i.main main.o
0x08001d40 0x08001d40 0x0000006c Code RO 3236 i.malloc mc_p.l(malloc.o)
0x08001dac 0x08001dac 0x00000010 Code RO 14 i.micros delay_us.o
0x08001dbc 0x08001dbc 0x000000b6 Data RO 306 .constdata main.o
0x08001e72 0x08001e72 0x00000010 Data RO 2931 .constdata system_stm32f0xx.o
0x08001e82 0x08001e82 0x00000002 PAD
0x08001e84 0x08001e84 0x00000020 Data RO 3303 Region$$Table anon$$obj.o
0x080001dc 0x080001dc 0x00000078 Code RO 293 i.HAL_GPIO_EXTI_Callback main.o
0x08000254 0x08000254 0x00000018 Code RO 2396 i.HAL_GPIO_EXTI_IRQHandler stm32f0xx_hal_gpio.o
0x0800026c 0x0800026c 0x00000164 Code RO 2397 i.HAL_GPIO_Init stm32f0xx_hal_gpio.o
0x080003d0 0x080003d0 0x0000000c Code RO 2401 i.HAL_GPIO_WritePin stm32f0xx_hal_gpio.o
0x080003dc 0x080003dc 0x0000000c Code RO 1832 i.HAL_GetTick stm32f0xx_hal.o
0x080003e8 0x080003e8 0x00000010 Code RO 1836 i.HAL_IncTick stm32f0xx_hal.o
0x080003f8 0x080003f8 0x00000020 Code RO 1837 i.HAL_Init stm32f0xx_hal.o
0x08000418 0x08000418 0x00000022 Code RO 1838 i.HAL_InitTick stm32f0xx_hal.o
0x0800043a 0x0800043a 0x00000002 PAD
0x0800043c 0x0800043c 0x00000044 Code RO 425 i.HAL_MspInit stm32f0xx_hal_msp.o
0x08000480 0x08000480 0x00000014 Code RO 2544 i.HAL_NVIC_EnableIRQ stm32f0xx_hal_cortex.o
0x08000494 0x08000494 0x00000044 Code RO 2548 i.HAL_NVIC_SetPriority stm32f0xx_hal_cortex.o
0x080004d8 0x080004d8 0x000001ec Code RO 1647 i.HAL_RCC_ClockConfig stm32f0xx_hal_rcc.o
0x080006c4 0x080006c4 0x0000000c Code RO 1652 i.HAL_RCC_GetHCLKFreq stm32f0xx_hal_rcc.o
0x080006d0 0x080006d0 0x00000094 Code RO 1655 i.HAL_RCC_GetSysClockFreq stm32f0xx_hal_rcc.o
0x08000764 0x08000764 0x00000454 Code RO 1658 i.HAL_RCC_OscConfig stm32f0xx_hal_rcc.o
0x08000bb8 0x08000bb8 0x00000002 Code RO 476 i.HAL_SPI_ErrorCallback stm32f0xx_hal_spi.o
0x08000bba 0x08000bba 0x00000002 PAD
0x08000bbc 0x08000bbc 0x000000d8 Code RO 479 i.HAL_SPI_IRQHandler stm32f0xx_hal_spi.o
0x08000c94 0x08000c94 0x000000b8 Code RO 480 i.HAL_SPI_Init stm32f0xx_hal_spi.o
0x08000d4c 0x08000d4c 0x00000054 Code RO 427 i.HAL_SPI_MspInit stm32f0xx_hal_msp.o
0x08000da0 0x08000da0 0x00000002 Code RO 486 i.HAL_SPI_RxCpltCallback stm32f0xx_hal_spi.o
0x08000da2 0x08000da2 0x00000002 PAD
0x08000da4 0x08000da4 0x000000d4 Code RO 491 i.HAL_SPI_TransmitReceive_IT stm32f0xx_hal_spi.o
0x08000e78 0x08000e78 0x000000f8 Code RO 294 i.HAL_SPI_TxRxCpltCallback main.o
0x08000f70 0x08000f70 0x00000018 Code RO 2550 i.HAL_SYSTICK_CLKSourceConfig stm32f0xx_hal_cortex.o
0x08000f88 0x08000f88 0x00000002 Code RO 2551 i.HAL_SYSTICK_Callback stm32f0xx_hal_cortex.o
0x08000f8a 0x08000f8a 0x00000002 PAD
0x08000f8c 0x08000f8c 0x0000003c Code RO 2552 i.HAL_SYSTICK_Config stm32f0xx_hal_cortex.o
0x08000fc8 0x08000fc8 0x00000008 Code RO 2553 i.HAL_SYSTICK_IRQHandler stm32f0xx_hal_cortex.o
0x08000fd0 0x08000fd0 0x0000004a Code RO 1427 i.HAL_TIMEx_MasterConfigSynchronization stm32f0xx_hal_tim_ex.o
0x0800101a 0x0800101a 0x00000032 Code RO 804 i.HAL_TIM_Base_Init stm32f0xx_hal_tim.o
0x0800104c 0x0800104c 0x00000024 Code RO 429 i.HAL_TIM_Base_MspInit stm32f0xx_hal_msp.o
0x08001070 0x08001070 0x00000018 Code RO 807 i.HAL_TIM_Base_Start stm32f0xx_hal_tim.o
0x08001088 0x08001088 0x000001b6 Code RO 813 i.HAL_TIM_ConfigClockSource stm32f0xx_hal_tim.o
0x0800123e 0x0800123e 0x00000002 Code RO 366 i.HardFault_Handler stm32f0xx_it.o
0x08001240 0x08001240 0x00000002 Code RO 367 i.NMI_Handler stm32f0xx_it.o
0x08001242 0x08001242 0x00000002 Code RO 368 i.PendSV_Handler stm32f0xx_it.o
0x08001244 0x08001244 0x00000010 Code RO 369 i.SPI1_IRQHandler stm32f0xx_it.o
0x08001254 0x08001254 0x00000038 Code RO 498 i.SPI_2linesRxISR_16BIT stm32f0xx_hal_spi.o
0x0800128c 0x0800128c 0x0000005e Code RO 499 i.SPI_2linesRxISR_8BIT stm32f0xx_hal_spi.o
0x080012ea 0x080012ea 0x00000036 Code RO 500 i.SPI_2linesTxISR_16BIT stm32f0xx_hal_spi.o
0x08001320 0x08001320 0x0000004a Code RO 501 i.SPI_2linesTxISR_8BIT stm32f0xx_hal_spi.o
0x0800136a 0x0800136a 0x00000052 Code RO 504 i.SPI_CloseRxTx_ISR stm32f0xx_hal_spi.o
0x080013bc 0x080013bc 0x00000012 Code RO 505 i.SPI_DMAAbortOnError stm32f0xx_hal_spi.o
0x080013ce 0x080013ce 0x0000004c Code RO 516 i.SPI_EndRxTxTransaction stm32f0xx_hal_spi.o
0x0800141a 0x0800141a 0x00000096 Code RO 521 i.SPI_WaitFifoStateUntilTimeout stm32f0xx_hal_spi.o
0x080014b0 0x080014b0 0x00000086 Code RO 522 i.SPI_WaitFlagStateUntilTimeout stm32f0xx_hal_spi.o
0x08001536 0x08001536 0x00000002 Code RO 370 i.SVC_Handler stm32f0xx_it.o
0x08001538 0x08001538 0x0000000c Code RO 371 i.SysTick_Handler stm32f0xx_it.o
0x08001544 0x08001544 0x0000005c Code RO 2930 i.SystemInit system_stm32f0xx.o
0x080015a0 0x080015a0 0x00000098 Code RO 890 i.TIM_Base_SetConfig stm32f0xx_hal_tim.o
0x08001638 0x08001638 0x00000020 Code RO 3063 i.__0printf$3 mc_p.l(printf3.o)
0x08001658 0x08001658 0x00000014 Code RO 272 i.__ARM_common_memclr1_8 helpers.o
0x0800166c 0x0800166c 0x0000000e Code RO 3305 i.__scatterload_copy mc_p.l(handlers.o)
0x0800167a 0x0800167a 0x00000002 Code RO 3306 i.__scatterload_null mc_p.l(handlers.o)
0x0800167c 0x0800167c 0x0000000e Code RO 3307 i.__scatterload_zeroinit mc_p.l(handlers.o)
0x0800168a 0x0800168a 0x00000002 PAD
0x0800168c 0x0800168c 0x000001cc Code RO 3070 i._printf_core mc_p.l(printf3.o)
0x08001858 0x08001858 0x00000018 Code RO 12 i.delay_us delay_us.o
0x08001870 0x08001870 0x00000010 Code RO 13 i.delay_us_init delay_us.o
0x08001880 0x08001880 0x00000002 Code RO 297 i.fputc main.o
0x08001882 0x08001882 0x00000032 Code RO 143 i.gamepad_buf_add helpers.o
0x080018b4 0x080018b4 0x0000001e Code RO 144 i.gamepad_buf_init helpers.o
0x080018d2 0x080018d2 0x00000030 Code RO 150 i.kb_buf_add helpers.o
0x08001902 0x08001902 0x00000028 Code RO 151 i.kb_buf_init helpers.o
0x0800192a 0x0800192a 0x00000024 Code RO 154 i.kb_buf_peek helpers.o
0x0800194e 0x0800194e 0x00000012 Code RO 155 i.kb_buf_pop helpers.o
0x08001960 0x08001960 0x000003a8 Code RO 300 i.main main.o
0x08001d08 0x08001d08 0x0000006c Code RO 3236 i.malloc mc_p.l(malloc.o)
0x08001d74 0x08001d74 0x00000010 Code RO 14 i.micros delay_us.o
0x08001d84 0x08001d84 0x000000b6 Data RO 306 .constdata main.o
0x08001e3a 0x08001e3a 0x00000010 Data RO 2931 .constdata system_stm32f0xx.o
0x08001e4a 0x08001e4a 0x00000002 PAD
0x08001e4c 0x08001e4c 0x00000020 Data RO 3303 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08001ea4, Size: 0x000007e8, Max: 0x00004000, ABSOLUTE)
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08001e6c, Size: 0x000007e0, Max: 0x00004000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x08001ea4 0x00000004 Data RW 15 .data delay_us.o
0x20000004 0x08001ea8 0x00000020 Data RW 308 .data main.o
0x20000024 0x08001ec8 0x00000004 Data RW 1843 .data stm32f0xx_hal.o
0x20000028 0x08001ecc 0x00000004 Data RW 2933 .data system_stm32f0xx.o
0x2000002c 0x08001ed0 0x00000004 Data RW 3277 .data mc_p.l(stdout.o)
0x20000030 0x08001ed4 0x00000004 Data RW 3280 .data mc_p.l(mvars.o)
0x20000034 0x08001ed8 0x00000004 Data RW 3281 .data mc_p.l(mvars.o)
0x20000038 - 0x000001ac Zero RW 301 .bss main.o
0x200001e4 0x08001edc 0x00000004 PAD
0x200001e8 - 0x00000200 Zero RW 2 HEAP startup_stm32f072xb.o
0x200003e8 - 0x00000400 Zero RW 1 STACK startup_stm32f072xb.o
0x20000000 0x08001e6c 0x00000004 Data RW 15 .data delay_us.o
0x20000004 0x08001e70 0x00000010 Data RW 308 .data main.o
0x20000014 0x08001e80 0x00000004 Data RW 1843 .data stm32f0xx_hal.o
0x20000018 0x08001e84 0x00000004 Data RW 2933 .data system_stm32f0xx.o
0x2000001c 0x08001e88 0x00000004 Data RW 3277 .data mc_p.l(stdout.o)
0x20000020 0x08001e8c 0x00000004 Data RW 3280 .data mc_p.l(mvars.o)
0x20000024 0x08001e90 0x00000004 Data RW 3281 .data mc_p.l(mvars.o)
0x20000028 - 0x000001b8 Zero RW 301 .bss main.o
0x200001e0 - 0x00000200 Zero RW 2 HEAP startup_stm32f072xb.o
0x200003e0 - 0x00000400 Zero RW 1 STACK startup_stm32f072xb.o
==============================================================================
@@ -1776,8 +1772,8 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
56 16 0 4 0 459811 delay_us.o
242 0 0 0 0 6093 helpers.o
1362 174 182 32 428 6200 main.o
242 0 0 0 0 6117 helpers.o
1306 172 182 16 440 6111 main.o
28 8 192 0 1536 632 startup_stm32f072xb.o
94 18 0 4 0 3059 stm32f0xx_hal.o
182 32 0 0 0 10251 stm32f0xx_hal_cortex.o
@@ -1792,9 +1788,9 @@ Image component sizes
92 16 16 4 0 1139 system_stm32f0xx.o
----------------------------------------------------------------------
6616 468 424 44 1968 519108 Object Totals
6560 466 424 28 1976 519043 Object Totals
0 0 32 0 0 0 (incl. Generated)
10 0 2 0 4 0 (incl. Padding)
10 0 2 0 0 0 (incl. Padding)
----------------------------------------------------------------------
@@ -1838,15 +1834,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
7420 512 424 56 1968 517076 Grand Totals
7420 512 424 56 1968 517076 ELF Image Totals
7420 512 424 56 0 0 ROM Totals
7364 510 424 40 1976 517011 Grand Totals
7364 510 424 40 1976 517011 ELF Image Totals
7364 510 424 40 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 7844 ( 7.66kB)
Total RW Size (RW Data + ZI Data) 2024 ( 1.98kB)
Total ROM Size (Code + RO Data + RW Data) 7900 ( 7.71kB)
Total RO Size (Code + RO Data) 7788 ( 7.61kB)
Total RW Size (RW Data + ZI Data) 2016 ( 1.97kB)
Total ROM Size (Code + RO Data + RW Data) 7828 ( 7.64kB)
==============================================================================

View File

@@ -2,7 +2,7 @@ Dependencies for Project 'bbc', Target 'bbc': (DO NOT MODIFY !)
CompilerVersion: 5060750::V5.06 update 6 (build 750)::ARMCC
F (startup_stm32f072xb.s)(0x631F5D58)(--cpu Cortex-M0 -g --apcs=interwork --pd "__MICROLIB SETA 1"
-I.\RTE\_bbc
-I.\RTE\_bbc
-IC:\Users\allen\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include
@@ -40,7 +40,7 @@ F (..\Src\helpers.c)(0x62FEC7A1)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O3 -O
I (../Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h)(0x5DFA0880)
I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5D9B429A)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h)(0x5DFA0893)
@@ -71,7 +71,7 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi_ex.h)(0x5DFA0893)
I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x5D9B4298)
I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x5D9B429A)
I (../Inc/helpers.h)(0x631FE26F)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h)(0x5DFA0893)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h)(0x5DFA0893)
I (../Inc/stm32f0xx_hal_conf.h)(0x631F5D57)
I (../Inc/main.h)(0x631F5D57)
I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h)(0x5DFA0893)
@@ -104,7 +104,7 @@ I (../Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h)(0x5DFA0893)
F (../Src/main.c)(0x631FE427)(--c99 -c --cpu Cortex-M0 -D__MICROLIB -g -O3 -Otime --apcs=interwork --split_sections -I ../Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc -I ../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F0xx/Include -I ../Drivers/CMSIS/Include
-I.\RTE\_bbc
-IC:\Users\allen\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include
-IC:\Users\allen\AppData\Local\Arm\Packs\Keil\STM32F0xx_DFP\2.0.0\Drivers\CMSIS\Device\ST\STM32F0xx\Include

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -349,7 +349,6 @@ void get_bbc_code(uint8_t linux_code, uint8_t* bbc_col, uint8_t* bbc_row)
// }
volatile keyboard_event key_downstroke;
volatile keyboard_event key_upstroke;
// falling edge, KB_EN is low
// this ISR has to be as fast as possible to beat the clock
@@ -385,8 +384,6 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
}
CA2_LOW();
W_HI();
key_upstroke.duration = micros();
}
@@ -467,41 +464,36 @@ int main(void)
if(kb_buf_peek(&my_kb_buf, &buffered_code, &buffered_value) == 0)
{
get_bbc_code(buffered_code, &this_col, &this_row);
if(buffered_value && key_downstroke.is_underway == 0 && key_upstroke.is_underway == 0)
if(buffered_value && key_downstroke.is_underway == 0)
{
col_status[this_col] = 1;
matrix_status[this_col][this_row] = 1;
key_downstroke.duration = 0;
key_downstroke.is_underway = 1;
key_downstroke.event_start = micros();
kb_buf_pop(&my_kb_buf);
DEBUG_HI();
}
else if(buffered_value == 0 && key_downstroke.is_underway == 0 && key_upstroke.is_underway == 0)
else if(buffered_value == 0)
{
col_status[this_col] = 0;
matrix_status[this_col][this_row] = 0;
key_upstroke.duration = micros();
key_upstroke.is_underway = 1;
kb_buf_pop(&my_kb_buf);
DEBUG2_HI();
delay_us(10000);
DEBUG2_LOW();
}
}
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
if(key_downstroke.is_underway && key_downstroke.duration > 0x1000)
if(key_downstroke.is_underway && (key_downstroke.duration > 0x300 || micros() - key_downstroke.event_start > 20000))
{
key_downstroke.is_underway = 0;
DEBUG_LOW();
}
if(key_upstroke.is_underway && micros() - key_upstroke.duration > 30000)
{
key_upstroke.is_underway = 0;
DEBUG2_LOW();
}
if(has_active_keys() && micros_now - last_ca2 > 20)
{
CA2_HI();