still some interrupt timing issue

This commit is contained in:
dekunukem
2022-01-02 23:25:47 +00:00
parent e6ad46952c
commit 4cae5f53ce
10 changed files with 999 additions and 1004 deletions

View File

@@ -3606,9 +3606,9 @@
<ActiveTab>0</ActiveTab>
<Doc>
<Name>../Src/main.c</Name>
<ColumnNumber>27</ColumnNumber>
<ColumnNumber>14</ColumnNumber>
<TopLine>326</TopLine>
<CurrentLine>340</CurrentLine>
<CurrentLine>338</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -28,23 +28,23 @@ Project File Date: 01/01/2022
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'my_adb'
compiling main.c...
../Src/main.c(157): warning: #188-D: enumerated type mixed with another type
../Src/main.c(156): warning: #188-D: enumerated type mixed with another type
HAL_GPIO_WritePin(DEBUG0_GPIO_Port, DEBUG0_Pin, adb_rw_in_progress);
../Src/main.c(278): warning: #546-D: transfer of control bypasses initialization of:
variable "response" (declared at line 284)
../Src/main.c(277): warning: #546-D: transfer of control bypasses initialization of:
variable "response" (declared at line 283)
goto adb_kb_end;
^
../Src/main.c(281): warning: #546-D: transfer of control bypasses initialization of:
variable "response" (declared at line 284)
../Src/main.c(280): warning: #546-D: transfer of control bypasses initialization of:
variable "response" (declared at line 283)
goto adb_kb_end;
^
../Src/main.c(378): warning: #188-D: enumerated type mixed with another type
../Src/main.c(377): warning: #188-D: enumerated type mixed with another type
HAL_GPIO_WritePin(DEBUG0_GPIO_Port, DEBUG0_Pin, 0);
../Src/main.c(379): warning: #188-D: enumerated type mixed with another type
../Src/main.c(378): warning: #188-D: enumerated type mixed with another type
HAL_GPIO_WritePin(DEBUG1_GPIO_Port, DEBUG1_Pin, kb_srq || mouse_srq);
../Src/main.c: 5 warnings, 0 errors
linking...
Program Size: Code=9708 RO-data=496 RW-data=60 ZI-data=1916
Program Size: Code=9680 RO-data=496 RW-data=56 ZI-data=1920
FromELF: creating hex file...
"my_adb\my_adb.axf" - 0 Error(s), 5 Warning(s).
@@ -69,7 +69,7 @@ Package Vendor: Keil
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.3.0
Build Time Elapsed: 00:00:02
Build Time Elapsed: 00:00:01
</pre>
</body>
</html>

View File

@@ -1,37 +1,37 @@
:020000040800F2
:10000000B8070020D5000008D9130008191200080D
:10000000B8070020D5000008C1130008011200083D
:1000100000000000000000000000000000000000E0
:10002000000000000000000000000000171700089A
:10003000000000000000000021140008191700084B
:10002000000000000000000000000000FF160008B3
:10003000000000000000000009140008011700087B
:100040000501000805010008050100080501000878
:100050000501000805010008050100080501000868
:100060000501000805010008050100080501000858
:100070000501000805010008050100080501000848
:100080000501000800000000000000000501000854
:100090000000000005010008050100080501000836
:1000A00000000000251400080501000805010008F3
:1000A000000000000D14000805010008050100080B
:1000B0000501000800000000050100080501000816
:1000C0000348854600F092F800480047592200088E
:1000C0000348854600F092F80048004741220008A6
:1000D000B80700200C4880F308880C480168090E16
:1000E0000B4A914205D10B480B4901600B480C4962
:1000F00001600C4880470C480047FEE7FEE7FEE73A
:10010000FEE7FEE7FEE70000B8070020040000005D
:100110001F00000018100240010000000000014014
:100120000000000081170008C100000830B50B4630
:100120000000000069170008C100000830B50B4648
:10013000014600202022012409E00D46D5409D42C1
:1001400005D31D469540491B254695404019154647
:10015000521E002DF1DC30BD70B50024254600286C
:1001600001DA01244042002901DA01254942FFF762
:10017000DDFFAC4200D04042002C00D0494270BDAF
:100180000549064A08685043054A80180860400837
:1001900070470149086070472C0000206D4EC64131
:100190007047014908607047280000206D4EC64135
:1001A0003930000003460B439B0703D009E008C920
:1001B000121F08C0042AFAD203E00B780370401C17
:1001C000491C521EF9D27047D2B201E00270401CA5
:1001D000491EFBD270470022F6E710B513460A46C7
:1001E00004461946FFF7F0FF204610BD064C0125D6
:1001F000064E05E0E36807CC2B430C3C98471034CF
:10020000B442F7D3FFF760FFBC270008DC270008E3
:10020000B442F7D3FFF760FFA0270008C02700081B
:1002100070B50024014620314A78022A03D0042117
:100220008163012416E0026813680E25AB43136056
:10023000026813685B085B0013600122056C1346BB
@@ -60,19 +60,19 @@
:1003A000000001400004004800080048000401402B
:1003B0000069084000D00120704742694A4042610C
:1003C0007047002A01D08161704781627047000048
:1003D00001480068704700002400002070B5040048
:1003D00001480068704700002000002070B504004C
:1003E00005D025466035687A002802D006E0012055
:1003F00070BD00202872204600F086FE242068721E
:1004000020680168490849000160204601F0F8FAB7
:100410000128EDD0606A002802D0204601F057FA8A
:1003F00070BD00202872204600F07AFE242068722A
:1004000020680168490849000160204601F0ECFAC3
:100410000128EDD0606A002802D0204601F04BFA96
:10042000206841680922D2029143416020688168B6
:1004300022229143816020688168082211438160F3
:1004400020680168012211430160204601F0A4FAEE
:1004400020680168012211430160204601F098FAFA
:1004500070BD000002480168491C0160704700003F
:100460002400002010B506480168102211430160E5
:100460002000002010B506480168102211430160E9
:10047000002000F007F800F017F8002010BD000081
:100480000020024010B5044600F0F0F87D21C900BC
:10049000FFF74CFE00F048FD00222146501E00F000
:10049000FFF74CFE00F03CFD00222146501E00F00C
:1004A00037F8002010BD000008B51248816901220C
:1004B00011438161816911400091C26901040A43BD
:1004C000C261C0690022084000901146501F00F030
@@ -80,7 +80,7 @@
:1004E000501E00F015F80448016810221143016005
:1004F00008BD00000010024000000140C106C90E06
:1005000001208840014908607047000000E100E0D8
:1005100010B500F063FF10BDF8B505464E480E4615
:1005100010B500F057FF10BDF8B505464E480E4621
:100520000068C007C00FB0420AD24B4801684908B2
:100530004900314301600068C007C00FB04270D16C
:100540002878464C800705D56068F0218843A96863
@@ -101,10 +101,10 @@
:1006300009028843E9680843606000F02DF86168AA
:10064000084A0906090F515CC840074908600020A4
:10065000FFF718FF0020F8BD002002400010024004
:1006600088130000A3270008280000200148006824
:1006700070470000280000200448054900684968C8
:10068000044A4905490F515CC840704728000020C2
:1006900000100240B327000830B516A30FCB89B075
:100660008813000087270008240000200148006844
:1006700070470000240000200448054900684968CC
:10068000044A4905490F515CC840704724000020C6
:10069000001002409727000830B516A30FCB89B091
:1006A0006C460FC417A30FCB0FC41A494A680C201D
:1006B000144604401848042C05D0184B082C04D0CC
:1006C0000C2C00D1184609B030BD9402240F6D46A1
@@ -187,7 +187,7 @@
:100B900018D020684168890889004160A06D0B4D1C
:100BA000002803D04563A06DFFF732FB606D00287D
:100BB000B8D04563606DFFF72BFBF8BDC168806856
:100BC0000090F8BD2046FFF797FFF8BD9715000885
:100BC0000090F8BD2046FFF797FFF8BD7F1500089D
:100BD000F8B5040007D0002625464035A662687F98
:100BE000002802D005E00120F8BD2E77204600F055
:100BF0004BF802236B772068016840229143016023
@@ -217,429 +217,427 @@
:100D700003D301684B68934302E001684B68134357
:100D80004B6001684A68E0231A434A6000680168C2
:100D9000490603D4016840221143016000202077F6
:100DA0002846F0BD35140008C91400086B1400086B
:100DB000FD140008F8B5012211024E48FFF701FBAF
:100DC0004D4F01213A784D48FFF7FBFA01F02CFB1B
:100DD0004B4D6968401A7D21C900884279D3494C3E
:100DE00001262078DE2800D06E70A078082805D172
:100DF0004448A2792179203001F09DF93878002803
:100E000067D1A078092806D0032827D001282CD044
:100E1000022855D05DE06179207901F035F9394A31
:100E20002C321080E179A07901F02EF95080617A9E
:100E3000207A01F029F940429080607B9071A07B7C
:100E40001072E07BD071207C5072607C90722D49D2
:100E50002B482C31083001F0EFFA3AE0092000224B
:100E60000221C006FFF7ADFA33E0264820212038E2
:100E7000FFF7B1F92348CD21203801706178417026
:100E8000802383700221C170297801710021417192
:100E9000867108220646C1715836745C002C0BD04E
:100EA000022C02D0012C02D004E0815402E00C4656
:100EB0001C438454521CD2B2491C1029EDDB08E0BB
:100EC0000326A05D002804D001F000F9761C202E36
:100ED000F7DB01F0A9FA0B4A20236860D11A0A480F
:100EE000FFF7FEFEFF21002201310248FFF769FAF9
:100EF000F8BD000000040048020000200014004873
:100F000014000020700100203C000020042204494D
:100F10000428086902D09043086170471043FBE73A
:100F200000E000E070470000094910B5401E88420B
:100F300001D9012010BD074C60610321081F00F09A
:100F40004DFA0020A06107202061002010BD0000A4
:100F5000FFFFFF0000E000E010B5FFF7E3FF10BD6A
:100F600070B502462032137F012B1BD0012313776B
:100F700002245477046865687026B5436560046888
:100F800065680E68354365600468A5688026B543CA
:100F9000A5600068846849680C438460537700202A
:100FA000107770BD022070BD70B5040005D02546D5
:100FB0002035687F002802D006E0012070BD0020A7
:100FC0002877204600F00AF802206877211D206863
:100FD00000F004FC01206877002070BD08B50068AF
:100FE00001218907884207D10448C16901221143C0
:100FF000C161C0691040009008BD000000100240AF
:101000000222014620314A77026813680120034317
:101010001360487700207047F8B505460446203530
:10102000287F012817D001272F77022068772268B0
:1010300090687726FF23B0431B02984390600868AE
:10104000502837D00EDC202857D006DC00284ED0A0
:10105000102840D14EE00220F8BD302850D0402862
:1010600039D13CE060282DD0702817D0012212031E
:10107000801A0ED090422ED1CB684A6889682068C9
:1010800000F0EEFB20688168012292031143816029
:1010900021E020688168C908C900F8E7CB684A6880
:1010A0008968206800F0DCFB21688868B043304321
:1010B000886010E0CA684968206800F0E4FB5021AD
:1010C000206806E0CA684968206800F0EDFB6021EE
:1010D000206800F0D0FB6F7700202877F8BDCA6841
:1010E0004968206800F0CFFB40212068F1E700212B
:1010F0002068EEE710212068EBE720212068E8E770
:1011000030212068E5E7000000B500680E4987B08F
:10111000884216D10D48C269012149040A43C261BF
:10112000C069084005900420009012200190012120
:10113000032003900291049109206946C006FFF73D
:1011400099F807B000BD00000044004000100240C4
:10115000FFB5064604466036707A83B00D462028F7
:1011600058D1002D0CD00598002809D00120A16885
:101170000003814207D12069002804D1E80702D08A
:10118000012007B0F0BD307A012843D00120307231
:101190000020E06621207072FFF71AF901902746BF
:1011A0004037059838820598788218E0788A401E82
:1011B000788206980090002280212046019B00F052
:1011C000B7FC002818D10120A1680003814202D198
:1011D0002069002812D02168287808856D1C788A3B
:1011E0000028E3D106980090002240212046019B70
:1011F00000F09EFC002808D00320C2E72888216860
:10120000C005C00D0885AD1CE9E7202070720020E4
:101210003072B6E70220B4E7FEE70000F0B53848C8
:1012200087B04269012189040A43426142690A4048
:101230000592426909010A43426142690A400592E6
:10124000426949110A43426140694C1208400590C5
:10125000002221462B48FFF7B4F82B4E0022032131
:101260003046FFF7AEF8012209201146C006FFF70D
:10127000A8F8092000220221C006FFF7A2F80122E7
:1012800002212048FFF79DF80094002401250195D4
:10129000029469461B480394FEF7ECFF032000907C
:1012A00002946946019503943046FEF7E3FF112747
:1012B000092002946946C006019700950394FEF741
:1012C000D9FF0226092002946946C00600960195BE
:1012D0000394FEF7CFFF082000900C4801900920EE
:1012E00069460296C006FEF7C5FF029469460548A6
:1012F000019700960394FEF7BDFF07B0F0BD000014
:1013000000100240000400480014004800002110B2
:1013100010B50D480B4901600021416081600161F9
:10132000416181610722016212024162C2608162F1
:1013300007220163C2624163FFF74AFC002800D024
:10134000FEE710BD003001403C00002010B5012137
:10135000124886B08907016000242F218460416013
:101360000461611E8461C160FFF71EFE002800D089
:10137000FEE701200003009069460848FFF74CFE95
:10138000002800D0FEE7049404A904480594FFF760
:10139000E7FD002800D0FEE706B010BDA000002049
:1013A00010B50C480A490160E12149024160002161
:1013B0008160C16001618161C16108220162426195
:1013C0004162FFF70BF8002800D0FEE710BD0000D7
:1013D00000440040E0000020704700008307FF2227
:1013E000DB0E9A408907090E994000280BDA0007A6
:1013F000000F0838830808489B001818C3699343F6
:101400000B43C3617047830804489B001B1818688E
:10141000904308431860704700ED00E000E400E0EE
:101420007047000010B50248FFF768FB10BD0000D0
:101430003C00002010B50168C968026C1180016C85
:10144000891C016401464031CA88521ECA80C9887D
:10145000002909D101684A6840239A434A60C18F34
:10146000002901D100F06EF810BD10B501464031E1
:10147000CC880368026C012C11D9DB681380026CE4
:10148000921C0264CA88921ECA80CA88012A0DD1A1
:1014900002685368012424032343536006E01C7B45
:1014A000531C03641470CA88521ECA80C98800295C
:1014B00009D101684A6860239A434A60C18F0029B4
:1014C00001D100F03FF810BD10B5816B02680988AA
:1014D000D160816B891C8163C18F491EC187C18F17
:1014E00000290AD101684A6880239A434A6046214C
:1014F000095A002901D100F025F810BD10B5C38F9D
:101500000268816B022B07D30988D160816B891C2B
:101510008163C18F891E05E04B1C836309781173B9
:10152000C18F491EC187C18F00290AD101684A684D
:1015300080239A434A604621095A002901D100F0CC
:1015400001F810BD70B50446FEF742FF0246206860
:1015500041682025A94341606421204600F024F819
:10156000002802D0206E28432066226E20460121EA
:101570004030002A04D041772046FFF7BDFA70BD05
:10158000427F4177042A204602D0FFF713FC70BD4A
:10159000FFF7A4FB70BD10B5406A0021462211522E
:1015A000C187FFF7A9FA10BDF8B50F460B461546DF
:1015B0000092032104460022C90200F01BF82026F5
:1015C000002812D13B46002280212046009500F0E1
:1015D0005CF8002809D103213B460022490220463D
:1015E000009500F007F8002803D0206E30432066F5
:1015F0000320F8BDF8B51D4617460E4604463DE0EB
:10160000032149028E4205D1002F03D1017B684698
:1016100001700078681C31D0002D05D0FEF7D8FE8F
:101620000699401AA84229D320684168E0229143D4
:1016300041606068C11FFD390CD10121A068C90358
:10164000884202D04911884204D1206801684022B2
:10165000914301600120A16A4003814207D12168C2
:101660000A6882430A6021680A6802430A6001200E
:1016700040346077002020770320F8BD206881681F
:101680003140B942BCD10020F8BDF8B51D4617461F
:101690000E46044633E0681C31D0002D05D0FEF71D
:1016A00097FE0699401AA84229D320684168E02293
:1016B000914341606068C11FFD390CD10121A068D0
:1016C000C903884202D04911884204D120680168C8
:1016D0004022914301600120A16A4003814207D169
:1016E00021680A6882430A6021680A6802430A6026
:1016F000012040346077002020770320F8BD206867
:1017000081683046884304D00020B842C3D100200D
:10171000F8BD0120F9E7704710B5FEF79BFEFFF713
:101720001BFC10BD10B592B02020009001200024B9
:10173000089009946846FEF7F3FF002800D0FEE702
:1017400007200D9003200E900F94012110940DA8F6
:10175000FEF7E2FE002800D0FEE7FEF787FF7D21BE
:10176000C900FEF7E3FCFFF7DFFB0420FFF7CEFB29
:1017700000221146501EFEF7CBFE12B010BD000035
:10178000134801680122114301604168114A114068
:1017900041600168104A1140016001680122920411
:1017A0009143016041683F22120491434160C16A44
:1017B00009090901C162016BFF22D432914301631F
:1017C000416B490849004163002181607047000076
:1017D000001002400CB8FF08FFFFF6FEF0B50268EB
:1017E0001A4B0124A4071A4D984203D0A04201D0FD
:1017F000A84203D17026B2434E683243154E164FAD
:1018000098420AD0A04208D0A84206D0134CA04269
:1018100003D0B04201D0B84204D103242402A24331
:10182000CC6822438024A2434C69224302608A6828
:10183000C2620A688262984203D0B04201D0B842C4
:1018400001D10969016301214161F0BD002C014012
:1018500000040040004401400048014000200040D6
:1018600030B58468FF252D021B021343AC430B43A4
:101870002343836030BD826870239A430A43072163
:101880000A438260704730B5036A046A64086400E2
:1018900004628469F025AC43120122430A24A34365
:1018A0000B438261036230BD30B5036A1024A34349
:1018B00003628469036A0F252D031203AC4322439C
:1018C000A024A343090119438261016230BD10B510
:1018D000818CC90707D001684A6801235B049A43D9
:1018E000836A1A434A60818C890707D501684A6870
:1018F00001231B049A43C36A1A434A60818C490737
:1019000007D501684A6801239B049A43036B1A4375
:101910004A60818C090707D501684A680123DB0307
:101920009A43436B1A434A60818CC90607D5026803
:10193000916801231B039943836B19439160818C48
:10194000890607D501688A6801235B039A43C36B44
:101950001A438A60818C490612D503685A680121AE
:101960000905046C8A4322435A60026C8A4207D1FB
:101970000268516803235B059943436C1943516026
:10198000818C090607D501684A680123DB04806C55
:101990009A4302434A6010BDF8B500260446C66665
:1019A000FEF716FD05461449206888421DD10068DF
:1019B000124F000709D501212B4600224905204678
:1019C000009700F0B5F800280DD1206800684007A6
:1019D0000BD501212B46002289052046009700F0F7
:1019E000A7F8002801D00320F8BD202060346072E1
:1019F000A07226720020F8BD00380140FFFFFF01F1
:101A0000F8B504462369A268E5691A4363691020A2
:101A10002B43002125681A432B680E463E4F3B405E
:101A200013432B6023685A6803252D03AA43E568F6
:101A30002A435A60236AA26925681A43AB680B27B8
:101A40003F02BB431343AB60344A2568954210D133
:101A5000334A126B9207920F0ED0012A05D0022A48
:101A600005D0032A09D1022007E0042005E0082060
:101A700003E02C4A954200D100200122E369D20301
:101A8000934224D100280CD002280DD0042813D072
:101A9000082817D001260A0912010807400F104331
:101AA0002FE0FEF7E9FD09E061681F4A4808801849
:101AB000FEF73CFB81B2EEE7FEF7EEFD6168400009
:101AC0004A08F4E76168012248081204EFE7002899
:101AD00008D0022809D004280BD0082814D00126E9
:101AE0003046F8BDFEF7C8FD05E061680F4A4808BA
:101AF0000CE0FEF7D1FD61684A088018FEF716FB7E
:101B000080B22168C860EBE7616848088018FEF77A
:101B10000DFB80B2E860E3E7F369FFEF00380140B6
:101B200000100240004400400024F40000127A003B
:101B3000FFB581B017460E4604460A9D1DE0681C9D
:101B40001BD0002D05D0FEF743FC0499401AA84293
:101B500013D920680168FF22A132914301602068F7
:101B60008168490849008160202060346072A07259
:101B700000202072032005B0F0BD2068C169304606
:101B8000884304D00020B842D9D00020F3E70120D8
:101B9000F9E700000FB410B503A9044B044A0298FA
:101BA00000F018F810BC08BC04B01847B5200008B5
:101BB0003000002002E008C8121F08C1002AFAD134
:101BC00070477047002001E001C1121F002AFBD1BD
:101BD00070470000FFB58DB00F460546002606E0B1
:101BE00025280AD0109A0F9990476D1C761C2878EA
:101BF0000028F5D1304611B0F0BD00240121674A1C
:101C0000009400E004436D1C2B780846203B98406C
:101C10001042F7D128782E2815D104200443687883
:101C20006D1C2A280AD101CF6D1C00900BE0009991
:101C30000A225143303940186D1C00902878014623
:101C400030390929F3D92878692843D006DC0028DF
:101C5000D0D063280BD0642804D13BE073280FD088
:101C600075284CD0109A0F999047761C94E03878DC
:101C7000694608720020487202A80190012003E022
:101C8000386801900020C0433F1D61070CD5002437
:101C900000E0641C00998C420FDA8442F9DB019960
:101CA000095D0029F5D108E0002400E0641C8442AD
:101CB000FCDB0199095D0029F8D1361907E001988C
:101CC00001990078491C0191109A0F999047641E60
:101CD000F5D261E00A20019001CF002802DA4042EB
:101CE0002D2102E0210504D52B216A461172012124
:101CF00003E0E10701D02021F7E70C9104E00A207E
:101D0000019001CF00210C910BA90B9108E00199E2
:101D1000FEF70CFA0A460B993032491E0B910A70F5
:101D20000028F4D10B9803A9081A2030019060070D
:101D300001D5009801E0012000900199884203DD5F
:101D400001460198081A00E000200024009006E0F7
:101D500002A8109A005D0F999047641C761C0C989D
:101D60008442F5DB04E0109A30200F999047761CEE
:101D70000099481E00900029F5DC08E00B980B99AB
:101D80000078491C0B91109A0F999047761C019985
:101D9000481E01900029F1DC6D1C28E7092801008C
:101DA00010B5044CA260A380E060E18000F0E0F890
:101DB00010BD0000000000201CB501AA69460E48B5
:101DC00000F0F7F9002815D168460078BA280ED23D
:101DD0000A49085CFF280AD06A4612790849002A95
:101DE00000D080214006400C084300F0CDF80248A6
:101DF00000F0EFF91CBD000090010020AC260008A7
:101E000080800000F8B50646002030801648C18862
:101E1000C068FEF7CDFA012823D1144C204600F00B
:101E200023FC401C1DD0204600F01EFC401C18D096
:101E3000204600F019FC401C13D000252C460F272B
:101E400000F03EF805280BD0391B88402843641C5D
:101E500085B2102CF4DB054800F006FC358000202C
:101E6000F8BD0520F8BD000000000020102700008C
:101E700010B5124800F01BFB02001DD09079002322
:101E8000002801D10123DB03107A002801D1802032
:101E900003430020105E00F03FF94406640E022068
:101EA0001C43105E00F038F94006400C204300F05F
:101EB0006BF8024800F006FB10BD00001C0000207B
:101EC00070B50D48C188C068FEF772FA00280FD1BE
:101ED0000A4D284600F0C8FB0446284600F0C4FB23
:101EE000611C05D0411C03D0A04203DD012070BD60
:101EF000052070BD002070BD0000002010270000EC
:101F0000F8B506460020307000F07EF9012808D1AF
:101F10000D4988700D4800F0A7FB3238292801D3FD
:101F20000520F8BD00252C460727FFF7C9FF052827
:101F3000F7D0391B88402843641CC5B2082CF4DB59
:101F400035700020F8BD00000000002010270000C0
:101F500010B5064C0122A188A068FEF732FA0122D2
:101F6000E188E068FEF72DFA10BD000000000020B7
:101F700010B504480221417003210170FFF7E8FF0A
:101F800010BD00000000002070B50546174C012070
:101F9000A070C82000F07CF80022E188E068FEF71D
:101FA00010FA222000F074F80122E188E068FEF7C0
:101FB00008FA402000F06CF8284600F019F80025D7
:101FC00006280FD00022E188E068FEF7FAF94020E9
:101FD00000F05EF80122E188E068FEF7F2F9A570F2
:101FE000002070BDA570062070BD0000000000201C
:101FF00010B50446000A00F009F8062805D0E0B242
:1020000000F004F8062800D0002010BDF8B5002527
:102010001C4C06460727791B3046C840C00714D021
:102020000022E188E068FEF7CCF9222000F030F8C9
:102030000122E188E068FEF7C4F9E188E068FEF774
:10204000B7F9012814D1402015E00022E188E068AA
:10205000FEF7B7F9402000F01BF80122E188E068A4
:10206000FEF7AFF9E188E068FEF7A2F9012801D098
:102070000620F8BD222000F00BF86D1C082DCADBED
:102080000020F8BD000000200902014308B270479B
:1020900000B5014600F0C8F9411800F0C5F98842C2
:1020A000FBD300BD10B502490860FEF7A9FF10BDC3
:1020B0001000002013B50A23012269460248FFF7E9
:1020C00047F800981CBD0000E000002070B54406F1
:1020D000C109640EC901102C0FD20E4D285D0028D5
:1020E0000BD000290AD0022807D1032C01D0062CDE
:1020F00001D1FFF73DFF0120285570BD0128FCD11B
:1021000002202855032C01D0062CF6D1FFF730FF12
:1021100070BD0000A8010020C11C062909D93E217C
:102120004010C9433F2801DB3F2002E0884200DC29
:102130000846C0B2704770B515460E46044600F01A
:102140002AF8002801D0012070BD2178606846542B
:102150002178A06845542078A178401CFDF7E6FF5F
:102160002170002070BD70B50D4604468170284670
:1021700000F024F96060284600F020F9A0602046B5
:1021800000F033F870BD41780078814201D1012020
:1021900070470020704710B5044681780078401CD5
:1021A000FDF7C4FF6078814201D1012010BD0020FD
:1021B00010BD10B543780478A34201D1012010BDB1
:1021C0004468E35C0B7081684078085C1070002004
:1021D00010BD10B5044640782178884204D0A1781B
:1021E000401CFDF7A3FF617010BD10B50446002030
:1021F00020706070A1786068FDF7EDFFA178A0689D
:10220000FDF7E9FF10BD000010B51148C188C06896
:10221000FEF7CEF80F4C012804D1204600F024FA36
:10222000401C0ED0204600F01FFA7D210901884293
:1022300009DC411C07D0FF21F531884205DA042072
:1022400010BDFF2010BD032010BD012010BD0000F7
:1022500000000020102700000EB5FEF703F9FFF77D
:1022600061FAFEF7DBFFFFF753F8FFF799F8FFF786
:102270006DF800210120444F019100900B463A78FF
:10228000424943A0FFF786FC4648FFF70BFF00F0EA
:102290008BF944481021F030FFF765FF38461021D4
:1022A000083000F0E2F80024092226460123D20675
:1022B00002213D48FFF774FD3A482021B030FDF778
:1022C0008AFF384A37482023D032D11A6438FEF7C3
:1022D00007FD7878002801D000F088F9092008214E
:1022E000C006FEF765F80028F3D002A8FFF708FE45
:1022F00000212E4A0328117011D00028E9D1684628
:10230000007A05092748F030FFF73DFF002809D083
:102310001D48083000F0B5F800280BD011E0FFF799
:1023200027FEECE722480078854201D0012408E02E
:10233000002406E01F480078854201D0012600E015
:1023400000262546354301D000F03CF96846007A66
:1023500000F0C4F8032802D0022803D004E0FFF7FD
:1023600087FD01E0FFF728FD002201211248FEF75A
:1023700028F8002D01D0012200E0002202210E48A1
:10238000FEF71FF8A5E700001400002066270008EC
:1023900025730A7265762564207625642E25642EC1
:1023A00025640A00A000002000040048020000206C
:1023B000010000200000002000140048F0B50B30A0
:1023C000C108C900144F0026144A0FE003688B426D
:1023D0000BD38B4205D95C1A4318456830C3083BC0
:1023E00000E04368136002C004E0021D106800288A
:1023F000ECD13046002803D13868002801D00020F5
:10240000F0BD064A06481060064A121AD208D200E9
:1024100044C001203860D7E7380000203400002095
:10242000BC010020B8030020024800680068406A30
:10243000704700001000002070B50D46044600F003
:1024400028F8002801D0012070BD20780C22616896
:10245000504308182946FDF7A5FE2078A178401CB6
:10246000FDF764FE2170002070BD10B50446817038
:102470000C204843FFF7A2FF6060204600F022F8DE
:1024800010BD41780078814201D1012070470020C1
:10249000704710B5044681780078401CFDF746FE71
:1024A0006078814201D1012010BD002010BD41782B
:1024B0000278914201D10020704740680C225143BC
:1024C0004018704710B500210170417081780C22CE
:1024D00051434068FDF77FFE10BD0000F8B50107CD
:1024E00086070509890FB60F002D06D02C4C03294D
:1024F000207804D0022928D050E00520F8BD032E12
:1025000002D0002E41D01DE085420BD1254FFDF7B2
:1025100037FE0F21FDF720FE0806010C3846084360
:10252000FFF732FD607885420CD11E4F3F1DFDF74D
:1025300027FE0F21FDF710FE0806010C0F43384659
:10254000FFF722FD002E24D028E0032E26D185425D
:102550000BD16846FFF756FC684600880106490E15
:102560007F2902D10005000F20706078854215D1C7
:102570006846FFF747FC684600880106490E7F2938
:102580000CD10005000F607008E0854201D10320E6
:10259000F8BD6078854201D10220F8BD0020F8BD69
:1025A000000000200160000005480021C1660167AD
:1025B0004167816701216C30C170817170470000F3
:1025C0003C01002010B5084C0022E188E068FDF7CE
:1025D000F8FEFF202D30FFF75BFD0122E188E06867
:1025E000FDF7EFFE10BD00000000002012A0FFF775
:1025F000D1FA144D0024295D13A0FFF7CBFA641C17
:10260000202CF8DB11A0FFF7C5FA0024FF25134E9C
:10261000013529463046FDF7D0FE6420FDF71CFE4B
:10262000641C642CF5DBBFF34F8F0E490C48C86067
:10263000BFF34F8F00BFFDE7535049204552524F23
:10264000520A000070010020256420000A726562B1
:102650006F6F74696E672E2E2E0A0000000400480A
:102660000400FA0500ED00E0F8B50746FFF7DCFED0
:102670000D4C0090E188E068FDF79AFE05460AE0FF
:10268000FFF7D2FE0099461A002F04D0BE4202D9AD
:102690000020C043F8BDE188E068FDF789FEA8424C
:1026A000EED03046F8BD000000000020FF351213C8
:1026B000141517161A1C191D1B1833300C0D0E0F8C
:1026C000111020221F23211E2436000102030504BD
:1026D00026282529273238FF060708090B2D2E2B1F
:1026E0002F2C7B433A31397A786376606162646576
:1026F0006D47FF595B5C4E565758455354555241F0
:10270000FFFF0A676FFFFFFFFFFFFFFF4C7D4BFFDF
:102710007CFF733E743B3C773D797275FFFFFFFF92
:10272000FF51FFFFFFFFFFFFFF37FFFFFFFFFFFF2F
:100DA0002846F0BD1D140008B114000853140008B3
:100DB000E5140008F8B5012211024848FFF701FBCD
:100DC000474F01213A784748FFF7FBFA464C012587
:100DD0002078464EDE2800D07570A078082805D10E
:100DE0004148A2792179203001F099F9387800281A
:100DF00067D1A078092806D0032827D001282CD055
:100E0000022855D05DE06179207901F031F9364A48
:100E10002C321080E179A07901F02AF95080617AB2
:100E2000207A01F025F940429080607B9071A07B90
:100E30001072E07BD071207C5072607C90722A49E5
:100E40002A482C31001D01F0E9FA3AE0092000227D
:100E50000221C006FFF7B5FA33E0234820212038ED
:100E6000FFF7B9F92048CD21203801706178417031
:100E7000802383700221C17031780171002141719A
:100E8000857108220546C17158356C5C002C0BD069
:100E9000022C02D0012C02D004E0815402E00C4666
:100EA0001C438454521CD2B2491C1029EDDB08E0CB
:100EB0000325605D002804D001F0FCF86D1C202D96
:100EC000F7DB094A2023D11A0948FFF709FFFF2160
:100ED000002201310148FFF774FAF8BD0004004810
:100EE00002000020001400486C01002014000020C3
:100EF00038000020042204490428086902D09043E5
:100F0000086170471043FBE700E000E07047000015
:100F1000094910B5401E884201D9012010BD074C77
:100F200060610321081F00F04DFA0020A061072036
:100F30002061002010BD0000FFFFFF0000E000E086
:100F400010B5FFF7E3FF10BD70B502462032137FE6
:100F5000012B1BD0012313770224547704686568A2
:100F60007026B5436560046865680E683543656042
:100F70000468A5688026B543A56000688468496850
:100F80000C43846053770020107770BD022070BD41
:100F900070B5040005D025462035687F002802D0B2
:100FA00006E0012070BD00202877204600F00AF8F6
:100FB00002206877211D206800F004FC012068777A
:100FC000002070BD08B5006801218907884207D15B
:100FD0000448C16901221143C161C06910400090F9
:100FE00008BD0000001002400222014620314A776D
:100FF000026813680120034313604877002070479C
:10100000F8B5054604462035287F012817D001276A
:101010002F7702206877226890687726FF23B043F5
:101020001B02984390600868502837D00EDC2028B7
:1010300057D006DC00284ED0102840D14EE00220C8
:10104000F8BD302850D0402839D13CE060282DD060
:10105000702817D001221203801A0ED090422ED190
:10106000CB684A688968206800F0EEFB20688168D8
:10107000012292031143816021E020688168C90840
:10108000C900F8E7CB684A688968206800F0DCFB93
:1010900021688868B0433043886010E0CA684968B6
:1010A000206800F0E4FB5021206806E0CA68496827
:1010B000206800F0EDFB6021206800F0D0FB6F7726
:1010C00000202877F8BDCA684968206800F0CFFB87
:1010D00040212068F1E700212068EEE71021206818
:1010E000EBE720212068E8E730212068E5E70000F1
:1010F00000B500680E4987B0884216D10D48C26914
:10110000012149040A43C261C069084005900420D6
:10111000009012200190012103200390029104917C
:1011200009206946C006FFF7A5F807B000BD00001A
:101130000044004000100240FFB5064604466036F9
:10114000707A83B00D46202858D1002D0CD0059818
:10115000002809D00120A1680003814207D120693D
:10116000002804D1E80702D0012007B0F0BD307A92
:10117000012843D0012030720020E06621207072E7
:10118000FFF726F9019027464037059838820598E1
:10119000788218E0788A401E7882069800900022B3
:1011A00080212046019B00F0B7FC002818D10120C7
:1011B000A1680003814202D12069002812D0216871
:1011C000287808856D1C788A0028E3D1069800905D
:1011D000002240212046019B00F09EFC002808D000
:1011E0000320C2E728882168C005C00D0885AD1C12
:1011F000E9E72020707200203072B6E70220B4E7E1
:10120000FEE70000F0B5384887B042690121890443
:101210000A43426142690A400592426909010A4350
:10122000426142690A400592426949110A4342619A
:1012300040694C1208400590002221462B48FFF7D8
:10124000C0F82B4E002203213046FFF7BAF80122E6
:1012500009201146C006FFF7B4F809200022022138
:10126000C006FFF7AEF8012202212048FFF7A9F8D7
:101270000094002401250195029469461B480394BB
:10128000FEF7F8FF0320009002946946019503944D
:101290003046FEF7EFFF1127092002946946C00689
:1012A000019700950394FEF7E5FF022609200294BA
:1012B0006946C006009601950394FEF7DBFF0820FF
:1012C00000900C480190092069460296C006FEF77E
:1012D000D1FF029469460548019700960394FEF7F2
:1012E000C9FF07B0F0BD0000001002400004004834
:1012F000001400480000211010B50D480B49016092
:1013000000214160816001614161816107220162C8
:1013100012024162C260816207220163C2624163BC
:10132000FFF756FC002800D0FEE710BD003001405A
:101330003800002010B50121124886B089070160ED
:1013400000242F21846041600461611E8461C160BA
:10135000FFF71EFE002800D0FEE7012000030090EA
:1013600069460848FFF74CFE002800D0FEE70494C9
:1013700004A904480594FFF7E7FD002800D0FEE724
:1013800006B010BD9C00002010B50C480A49016051
:10139000E1214902416000218160C16001618161F8
:1013A000C1610822016242614162FFF717F800281B
:1013B00000D0FEE710BD000000440040DC0000202B
:1013C000704700008307FF22DB0E9A408907090E51
:1013D000994000280BDA0007000F083883080848F6
:1013E0009B001818C36993430B43C361704783087C
:1013F00004489B001B181868904308431860704706
:1014000000ED00E000E400E07047000010B5024885
:10141000FFF774FB10BD00003800002010B5016814
:10142000C968026C1180016C891C0164014640315D
:10143000CA88521ECA80C988002909D101684A6831
:1014400040239A434A60C18F002901D100F06EF811
:1014500010BD10B501464031CC880368026C012CE8
:1014600011D9DB681380026C921C0264CA88921E38
:10147000CA80CA88012A0DD1026853680124240356
:101480002343536006E01C7B531C03641470CA881A
:10149000521ECA80C988002909D101684A686023A0
:1014A0009A434A60C18F002901D100F03FF810BD76
:1014B00010B5816B02680988D160816B891C8163DA
:1014C000C18F491EC187C18F00290AD101684A68AE
:1014D00080239A434A604621095A002901D100F02D
:1014E00025F810BD10B5C38F0268816B022B07D39E
:1014F0000988D160816B891C8163C18F891E05E0D9
:101500004B1C836309781173C18F491EC187C18F3A
:1015100000290AD101684A6880239A434A6046211B
:10152000095A002901D100F001F810BD70B5044638
:10153000FEF74EFF0246206841682025A94341601E
:101540006421204600F024F8002802D0206E2843B1
:101550002066226E204601214030002A04D04177C7
:101560002046FFF7C9FA70BD427F4177042A204622
:1015700002D0FFF71FFC70BDFFF7B0FB70BD10B5C8
:10158000406A002146221152C187FFF7B5FA10BD0B
:10159000F8B50F460B46154600920321044600227B
:1015A000C90200F01BF82026002812D13B46002279
:1015B00080212046009500F05CF8002809D1032125
:1015C0003B46002249022046009500F007F800281B
:1015D00003D0206E304320660320F8BDF8B51D46C9
:1015E00017460E4604463DE0032149028E4205D1CE
:1015F000002F03D1017B684601700078681C31D050
:10160000002D05D0FEF7E4FE0699401AA84229D322
:1016100020684168E022914341606068C11FFD3944
:101620000CD10121A068C903884202D04911884227
:1016300004D1206801684022914301600120A16A21
:101640004003814207D121680A6882430A60216809
:101650000A6802430A600120403460770020207746
:101660000320F8BD206881683140B942BCD1002018
:10167000F8BDF8B51D4617460E46044633E0681C13
:1016800031D0002D05D0FEF7A3FE0699401AA842DE
:1016900029D320684168E022914341606068C11FFE
:1016A000FD390CD10121A068C903884202D049113B
:1016B000884204D1206801684022914301600120E2
:1016C000A16A4003814207D121680A6882430A6007
:1016D00021680A6802430A600120403460770020D4
:1016E00020770320F8BD206881683046884304D005
:1016F0000020B842C3D10020F8BD0120F9E77047AF
:1017000010B5FEF7A7FEFFF71BFC10BD10B592B099
:101710002020009001200024089009946846FEF7DC
:10172000FFFF002800D0FEE707200D9003200E9059
:101730000F94012110940DA8FEF7EEFE002800D0B2
:10174000FEE7FEF793FF7D21C900FEF7EFFCFFF7F0
:10175000DFFB0420FFF7CEFB00221146501EFEF7F0
:10176000D7FE12B010BD00001348016801221143DA
:1017700001604168114A114041600168104A1140FE
:1017800001600168012292049143016041683F2297
:10179000120491434160C16A09090901C162016BE8
:1017A000FF22D43291430163416B490849004163F0
:1017B0000021816070470000001002400CB8FF0853
:1017C000FFFFF6FEF0B502681A4B0124A4071A4D7C
:1017D000984203D0A04201D0A84203D17026B24360
:1017E0004E683243154E164F98420AD0A04208D098
:1017F000A84206D0134CA04203D0B04201D0B84258
:1018000004D103242402A243CC6822438024A243AF
:101810004C69224302608A68C2620A688262984206
:1018200003D0B04201D0B84201D10969016301215E
:101830004161F0BD002C0140000400400044014023
:10184000004801400020004030B58468FF252D028B
:101850001B021343AC430B432343836030BD8268B8
:1018600070239A430A4307210A438260704730B5C8
:10187000036A046A6408640004628469F025AC4366
:10188000120122430A24A3430B438261036230BD49
:1018900030B5036A1024A34303628469036A0F25E9
:1018A0002D031203AC432243A024A343090119438F
:1018B0008261016230BD10B5818CC90707D0016813
:1018C0004A6801235B049A43836A1A434A60818C05
:1018D000890707D501684A6801231B049A43C36A34
:1018E0001A434A60818C490707D501684A68012379
:1018F0009B049A43036B1A434A60818C090707D5FE
:1019000001684A680123DB039A43436B1A434A6028
:10191000818CC90607D50268916801231B0399438E
:10192000836B19439160818C890607D501688A68A9
:1019300001235B039A43C36B1A438A60818C490677
:1019400012D503685A6801210905046C8A432243B1
:101950005A60026C8A4207D10268516803235B0512
:101960009943436C19435160818C090607D501687E
:101970004A680123DB04806C9A4302434A6010BD2D
:10198000F8B500260446C666FEF722FD0546144952
:10199000206888421DD10068124F000709D5012137
:1019A0002B46002249052046009700F0B5F8002894
:1019B0000DD12068006840070BD501212B4600227D
:1019C00089052046009700F0A7F8002801D00320E1
:1019D000F8BD202060346072A07226720020F8BD2D
:1019E00000380140FFFFFF01F8B504462369A268F3
:1019F000E5691A43636910202B43002125681A43C7
:101A00002B680E463E4F3B4013432B6023685A68B9
:101A100003252D03AA43E5682A435A60236AA26975
:101A200025681A43AB680B273F02BB431343AB60E7
:101A3000344A2568954210D1334A126B9207920FAF
:101A40000ED0012A05D0022A05D0032A09D102208E
:101A500007E0042005E0082003E02C4A954200D16D
:101A600000200122E369D203934224D100280CD044
:101A700002280DD0042813D0082817D001260A09FF
:101A800012010807400F10432FE0FEF7F5FD09E0B3
:101A900061681F4A48088018FEF748FB81B2EEE7EC
:101AA000FEF7FAFD616840004A08F4E76168012228
:101AB00048081204EFE7002808D0022809D00428BB
:101AC0000BD0082814D001263046F8BDFEF7D4FD0F
:101AD00005E061680F4A48080CE0FEF7DDFD61682B
:101AE0004A088018FEF722FB80B22168C860EBE745
:101AF000616848088018FEF719FB80B2E860E3E7E8
:101B0000F369FFEF0038014000100240004400403C
:101B10000024F40000127A00FFB581B017460E468B
:101B200004460A9D1DE0681C1BD0002D05D0FEF761
:101B30004FFC0499401AA84213D920680168FF227B
:101B4000A1329143016020688168490849008160A1
:101B5000202060346072A07200202072032005B043
:101B6000F0BD2068C1693046884304D00020B842E7
:101B7000D9D00020F3E70120F9E700000FB410B539
:101B800003A9044B044A029800F018F810BC08BCE2
:101B900004B018479D2000082C00002002E008C86F
:101BA000121F08C1002AFAD170477047002001E0D7
:101BB00001C1121F002AFBD170470000FFB58DB094
:101BC0000F460546002606E025280AD0109A0F99F0
:101BD00090476D1C761C28780028F5D1304611B04E
:101BE000F0BD00240121674A009400E004436D1C0D
:101BF0002B780846203B98401042F7D128782E28B1
:101C000015D10420044368786D1C2A280AD101CF1D
:101C10006D1C00900BE000990A22514330394018A6
:101C20006D1C00902878014630390929F3D92878AD
:101C3000692843D006DC0028D0D063280BD0642864
:101C400004D13BE073280FD075284CD0109A0F991F
:101C50009047761C94E038786946087200204872F4
:101C600002A80190012003E0386801900020C043E1
:101C70003F1D61070CD5002400E0641C00998C42D4
:101C80000FDA8442F9DB0199095D0029F5D108E0FA
:101C9000002400E0641C8442FCDB0199095D0029FA
:101CA000F8D1361907E0019801990078491C019193
:101CB000109A0F999047641EF5D261E00A200190B6
:101CC00001CF002802DA40422D2102E0210504D58F
:101CD0002B216A461172012103E0E10701D0202186
:101CE000F7E70C9104E00A20019001CF00210C914C
:101CF0000BA90B9108E00199FEF718FA0A460B9917
:101D00003032491E0B910A700028F4D10B9803A9B8
:101D1000081A20300190600701D5009801E00120E9
:101D200000900199884203DD01460198081A00E0FD
:101D300000200024009006E002A8109A005D0F9990
:101D40009047641C761C0C988442F5DB04E0109AE2
:101D500030200F999047761C0099481E009000296A
:101D6000F5DC08E00B980B990078491C0B91109A50
:101D70000F999047761C0199481E01900029F1DCCB
:101D80006D1C28E70928010010B5044CA260A3804F
:101D9000E060E18000F0E0F810BD000000000020ED
:101DA0001CB501AA69460E4800F0F7F9002815D1C4
:101DB00068460078BA280ED20A49085CFF280AD083
:101DC0006A4612790849002A00D080214006400C5A
:101DD000084300F0CDF8024800F0EFF91CBD000008
:101DE0008C0100209026000880800000F8B506468F
:101DF000002030801648C188C068FEF7D9FA012853
:101E000023D1144C204600F021FC401C1DD020465C
:101E100000F01CFC401C18D0204600F017FC401CB1
:101E200013D000252C460F2700F03EF805280BD0D4
:101E3000391B88402843641C85B2102CF4DB05480C
:101E400000F004FC35800020F8BD0520F8BD00003E
:101E5000000000201027000010B5124800F019FB08
:101E600002001DD090790023002801D10123DB035B
:101E7000107A002801D1802003430020105E00F07A
:101E80003FF94406640E02201C43105E00F038F94E
:101E90004006400C204300F06BF8024800F004FBC1
:101EA00010BD00001800002070B50D48C188C06842
:101EB000FEF77EFA00280FD10A4D284600F0C6FB37
:101EC0000446284600F0C2FB611C05D0411C03D02B
:101ED000A04203DD012070BD052070BD002070BD53
:101EE0000000002010270000F8B5064600203070E2
:101EF00000F07EF9012808D10D4988700D4800F0E6
:101F0000A5FB3238292801D30520F8BD00252C4631
:101F10000727FFF7C9FF0528F7D0391B884028435A
:101F2000641CC5B2082CF4DB35700020F8BD00003D
:101F3000000000201027000010B5064C0122A188E7
:101F4000A068FEF73EFA0122E188E068FEF739FA60
:101F500010BD00000000002010B5044802214170AF
:101F600003210170FFF7E8FF10BD00000000002012
:101F700070B50546174C0120A070C82000F07CF811
:101F80000022E188E068FEF71CFA222000F074F8D5
:101F90000122E188E068FEF714FA402000F06CF8B6
:101FA000284600F019F8002506280FD00022E18805
:101FB000E068FEF706FA402000F05EF80122E188B2
:101FC000E068FEF7FEF9A570002070BDA570062040
:101FD00070BD00000000002010B50446000A00F0AB
:101FE00009F8062805D0E0B200F004F8062800D071
:101FF000002010BDF8B500251C4C06460727791BAC
:102000003046C840C00714D00022E188E068FEF7DF
:10201000D8F9222000F030F80122E188E068FEF7CC
:10202000D0F9E188E068FEF7C3F9012814D1402017
:1020300015E00022E188E068FEF7C3F9402000F0D7
:102040001BF80122E188E068FEF7BBF9E188E0684F
:10205000FEF7AEF9012801D00620F8BD222000F0DD
:102060000BF86D1C082DCADB0020F8BD0000002015
:102070000902014308B2704700B5014600F0C6F9F5
:10208000411800F0C3F98842FBD300BD10B50249E6
:102090000860FEF7A9FF10BD1000002013B50A2349
:1020A000012269460248FFF747F800981CBD00006E
:1020B000DC00002070B54406C109640EC901102C73
:1020C0000FD20E4D285D00280BD000290AD002281F
:1020D00007D1032C01D0062C01D1FFF73DFF0120D1
:1020E000285570BD0128FCD102202855032C01D0B1
:1020F000062CF6D1FFF730FF70BD0000A4010020D0
:10210000C11C062909D93E214010C9433F2801DBE3
:102110003F2002E0884200DC0846C0B2704770B53C
:1021200015460E46044600F02AF8002801D001208A
:1021300070BD2178606846542178A06845542078A5
:10214000A178401CFDF7F2FF2170002070BD70B532
:102150000D4604468170284600F022F9606028464A
:1021600000F01EF9A060204600F033F870BD417801
:102170000078814201D1012070470020704710B5DE
:10218000044681780078401CFDF7D0FF60788142DA
:1021900001D1012010BD002010BD10B54378047896
:1021A000A34201D1012010BD4468E35C0B7081683B
:1021B0004078085C1070002010BD10B504464078CF
:1021C0002178884204D0A178401CFDF7AFFF6170F0
:1021D00010BD10B50446002020706070A1786068C2
:1021E000FDF7F9FFA178A068FDF7F5FF10BD00002D
:1021F00010B51148C188C068FEF7DAF80F4C012805
:1022000004D1204600F022FA401C0ED0204600F0F7
:102210001DFA7D210901884209DC411C07D0FF21FC
:10222000F531884205DA042010BDFF2010BD0320DF
:1022300010BD012010BD000000000020102700008C
:102240000EB5FEF70FF9FFF761FAFEF7DBFFFFF7B8
:1022500053F8FFF799F8FFF76DF800210120434F7D
:10226000019100900B463A78414942A0FFF786FC65
:102270004548FFF70BFF00F089F943481021F03083
:10228000FFF765FF1021381D00F0E1F80024092256
:1022900026460123D20602213C48FFF775FD3A4845
:1022A0002021B030FDF797FF374A37482023D0323E
:1022B000D11A6438FEF714FD7878002801D000F0B8
:1022C00087F909200821C006FEF772F80028F3D02C
:1022D00002A8FFF709FE00212D4A0328117011D032
:1022E0000028E9D16846007A05092748F030FFF751
:1022F0003EFF002809D01D48001D00F0B4F800285A
:102300000BD011E0FFF728FEECE722480078854269
:1023100001D0012408E0002406E01F48007885422F
:1023200001D0012600E000262546354301D000F00B
:102330003BF96846007A00F0C3F8032802D002286F
:1023400003D004E0FFF788FD01E0FFF729FD00223C
:1023500001211248FEF735F8002D01D0012200E0DE
:10236000002202210D48FEF72CF8A5E714000020FA
:102370004A27000825730A7265762564207625644D
:102380002E25642E25640A009C00002000040048CD
:10239000020000200100002000000020001400487E
:1023A000F0B50B30C108C900144F0026144A0FE0E5
:1023B00003688B420BD38B4205D95C1A43184568DE
:1023C00030C3083B00E04368136002C004E0021D14
:1023D00010680028ECD13046002803D13868002866
:1023E00001D00020F0BD064A06481060064A121AC5
:1023F000D208D20044C001203860D7E73400002062
:1024000030000020BC010020B80300200248006812
:102410000068406A704700001000002070B50D464B
:10242000044600F028F8002801D0012070BD207873
:102430000C226168504308182946FDF7B3FE207846
:10244000A178401CFDF772FE2170002070BD10B510
:10245000044681700C204843FFF7A2FF60602046CD
:1024600000F022F810BD41780078814201D10120AE
:1024700070470020704710B5044681780078401CF2
:10248000FDF754FE6078814201D1012010BD00208B
:1024900010BD41780278914201D100207047406818
:1024A0000C2251434018704710B500210170417053
:1024B00081780C2251434068FDF78DFE10BD00006D
:1024C000F8B5010786070509890FB60F002D06D05C
:1024D0002C4C0329207804D0022928D050E0052074
:1024E000F8BD032E02D0002E41D01DE085420BD155
:1024F000254FFDF745FE0F21FDF72EFE0806010CC6
:1025000038460843FFF734FD607885420CD11E4FF2
:102510003F1DFDF735FE0F21FDF71EFE0806010CDD
:102520000F433846FFF724FD002E24D028E0032E69
:1025300026D185420BD16846FFF758FC68460088D3
:102540000106490E7F2902D10005000F2070607836
:10255000854215D16846FFF749FC684600880106A8
:10256000490E7F290CD10005000F607008E08542FC
:1025700001D10320F8BD6078854201D10220F8BD69
:102580000020F8BD00000020016000000548002187
:10259000C16601674167816701216C30C17081713B
:1025A000704700003801002010B5084C0022E18877
:1025B000E068FDF706FFFF202D30FFF75DFD0122EB
:1025C000E188E068FDF7FDFE10BD0000000000207E
:1025D00012A0FFF7D3FA144D0024295D13A0FFF7D2
:1025E000CDFA641C202CF8DB11A0FFF7C7FA0024F9
:1025F000FF25134E013529463046FDF7DEFE6420E7
:10260000FDF72AFE641C642CF5DBBFF34F8F0E49E7
:102610000C48C860BFF34F8F00BFFDE753504920FF
:102620004552524F520A00006C01002025642000E0
:102630000A7265626F6F74696E672E2E2E0A000033
:10264000000400480400FA0500ED00E0F8B5074674
:10265000FFF7DCFE0D4C0090E188E068FDF7A8FE76
:1026600005460AE0FFF7D2FE0099461A002F04D073
:10267000BE4202D90020C043F8BDE188E068FDF702
:1026800097FEA842EED03046F8BD000000000020C2
:10269000FF351213141517161A1C191D1B18333089
:1026A0000C0D0E0F111020221F23211E24360001B5
:1026B0000203050426282529273238FF06070809C2
:1026C0000B2D2E2B2F2C7B433A31397A7863766091
:1026D000616264656D47FF595B5C4E5657584553C0
:1026E00054555241FFFF0A676FFFFFFFFFFFFFFFD7
:1026F0004C7D4BFF7CFF733E743B3C773D7972759C
:10270000FFFFFFFFFF51FFFFFFFFFFFFFF37FFFF4F
:10271000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9
:10272000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9
:10273000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9
:10274000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99
:10275000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89
:10276000FFFFFF696B715553423456432050726F1F
:10277000746F636F6C20426F6172640A4170706C99
:1027800065204465736B746F702042757320284117
:102790004442290A64656B754E756B656D20323055
:1027A00032320000000000000000000102030406B5
:1027B000070809000000000102030400DC270008EC
:1027C000000000203C000000B41B0008182800088E
:1027D0003C0000207C070000C41B00080000000033
:1027E00000000000000000000000000000000000E9
:1027F00000000000000000000000000000000000D9
:102800000000000000127A0000000000000000003C
:082810000000000000000000C0
:10274000FFFFFFFFFFFFFF696B7155534234564394
:102750002050726F746F636F6C20426F6172640AF5
:102760004170706C65204465736B746F70204275A6
:10277000732028414442290A64656B754E756B6568
:102780006D203230323200000000000000000001F5
:102790000203040607080900000000010203040008
:1027A000C027000800000020380000009C1B000823
:1027B000F82700083800002080070000AC1B000844
:1027C0000000000000000000000000000000000009
:1027D00000000000000000000000000000000000F9
:1027E0000000000000127A0000000000000000005D
:0827F0000000000000000000E1
:04000005080000C12E
:00000001FF

View File

@@ -3,7 +3,7 @@
<title>Static Call Graph - [my_adb\my_adb.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image my_adb\my_adb.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Sun Jan 02 23:12:53 2022
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Sun Jan 02 23:21:16 2022
<BR><P>
<H3>Maximum Stack Usage = 180 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
@@ -178,16 +178,16 @@ Global Symbols
<P><STRONG><a name="[2d]"></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="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_is_full
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_add
<LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_pop
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_add
<LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_pop
<LI><a href="#[85]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_is_full
<LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_add
<LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_add
<LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetSysClockFreq
<LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_SetConfig
<LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
<LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
<LI><a href="#[2c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_idivmod
</UL>
@@ -208,7 +208,7 @@ Global Symbols
<P><STRONG><a name="[9d]"></a>srand</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, rand.o(.text), UNUSED)
<P><STRONG><a name="[92]"></a>__aeabi_memcpy</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_add
<BR><BR>[Called By]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_add
</UL>
<P><STRONG><a name="[9e]"></a>__aeabi_memcpy4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)
@@ -227,11 +227,11 @@ Global Symbols
<P><STRONG><a name="[2e]"></a>__aeabi_memclr</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[2f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memset
</UL>
<BR>[Called By]<UL><LI><a href="#[7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_reset
<BR>[Called By]<UL><LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_reset
<LI><a href="#[88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_reset
</UL>
<P><STRONG><a name="[50]"></a>__aeabi_memclr4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text))
<P><STRONG><a name="[4f]"></a>__aeabi_memclr4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
</UL>
@@ -269,16 +269,16 @@ Global Symbols
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_MspInit
<LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_MspInit
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_GPIO_Init
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_GPIO_Init
</UL>
<P><STRONG><a name="[76]"></a>HAL_GPIO_ReadPin</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f0xx_hal_gpio.o(i.HAL_GPIO_ReadPin))
<P><STRONG><a name="[75]"></a>HAL_GPIO_ReadPin</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f0xx_hal_gpio.o(i.HAL_GPIO_ReadPin))
<BR><BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_until_change
<LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;look_for_atten
<LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_write_byte
<LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_read_bit
<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_listen_16b
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_until_change
<LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;look_for_atten
<LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_write_byte
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_read_bit
<LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_listen_16b
</UL>
<P><STRONG><a name="[94]"></a>HAL_GPIO_TogglePin</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f0xx_hal_gpio.o(i.HAL_GPIO_TogglePin))
@@ -288,22 +288,22 @@ Global Symbols
<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))
<BR><BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_GPIO_Init
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_GPIO_Init
<LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;send_srq
<LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_write_byte
<LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_send_response_16b
<LI><a href="#[7f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_release_lines
<LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_write_byte
<LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_send_response_16b
<LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_release_lines
</UL>
<P><STRONG><a name="[33]"></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="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WaitFlagStateUntilTimeout
<LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WaitFifoStateUntilTimeout
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_Transmit
<BR><BR>[Called By]<UL><LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WaitFlagStateUntilTimeout
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WaitFifoStateUntilTimeout
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_Transmit
<LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_OscConfig
<LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
<LI><a href="#[32]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Delay
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_WaitOnFlagUntilTimeout
<LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_WaitOnFlagUntilTimeout
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_CheckIdleState
</UL>
@@ -315,10 +315,10 @@ Global Symbols
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_CheckIdleState
<LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_AdvFeatureConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_USART2_UART_Init
<BR>[Called By]<UL><LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_USART2_UART_Init
</UL>
<P><STRONG><a name="[69]"></a>HAL_IncTick</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f0xx_hal.o(i.HAL_IncTick))
<P><STRONG><a name="[68]"></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>
@@ -362,7 +362,7 @@ Global Symbols
</UL>
<BR>[Called By]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_MspInit
<LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_MspInit
<LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
</UL>
@@ -373,15 +373,15 @@ Global Symbols
<LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetSysClockFreq
</UL>
<BR>[Called By]<UL><LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
</UL>
<P><STRONG><a name="[3c]"></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="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<BR><BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
</UL>
<P><STRONG><a name="[6c]"></a>HAL_RCC_GetPCLK1Freq</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f0xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq))
<P><STRONG><a name="[6b]"></a>HAL_RCC_GetPCLK1Freq</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f0xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq))
<BR><BR>[Called By]<UL><LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_SetConfig
</UL>
@@ -399,12 +399,12 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[33]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
</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))
<BR><BR>[Called By]<UL><LI><a href="#[24]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_DMAAbortOnError
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_IRQHandler
</UL>
@@ -422,7 +422,7 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_MspInit
</UL>
<BR>[Called By]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_SPI1_Init
<BR>[Called By]<UL><LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_SPI1_Init
</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))
@@ -435,38 +435,37 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_Init
</UL>
<P><STRONG><a name="[66]"></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="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<P><STRONG><a name="[65]"></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="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
</UL>
<P><STRONG><a name="[52]"></a>HAL_SPI_TransmitReceive_IT</STRONG> (Thumb, 196 bytes, Stack size 20 bytes, stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT))
<P><STRONG><a name="[51]"></a>HAL_SPI_TransmitReceive_IT</STRONG> (Thumb, 196 bytes, Stack size 20 bytes, stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = HAL_SPI_TransmitReceive_IT
</UL>
<BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
</UL>
<P><STRONG><a name="[4a]"></a>HAL_SPI_TxRxCpltCallback</STRONG> (Thumb, 318 bytes, Stack size 24 bytes, main.o(i.HAL_SPI_TxRxCpltCallback))
<P><STRONG><a name="[4a]"></a>HAL_SPI_TxRxCpltCallback</STRONG> (Thumb, 296 bytes, Stack size 24 bytes, main.o(i.HAL_SPI_TxRxCpltCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = HAL_SPI_TxRxCpltCallback &rArr; mouse_buf_add &rArr; mouse_buf_is_full &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TransmitReceive_IT
<LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;handle_protocol_switch
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;byte_to_int16_t
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_add
<LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_add
<LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;micros
<BR>[Calls]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TransmitReceive_IT
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;handle_protocol_switch
<LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;byte_to_int16_t
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_add
<LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_add
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>
<BR>[Called By]<UL><LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
</UL>
<P><STRONG><a name="[6b]"></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="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<P><STRONG><a name="[6a]"></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="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
</UL>
<P><STRONG><a name="[54]"></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="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_IRQHandler
<P><STRONG><a name="[53]"></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="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_IRQHandler
</UL>
<P><STRONG><a name="[3d]"></a>HAL_SYSTICK_Config</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config))
@@ -474,52 +473,52 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_SetPriority
</UL>
<BR>[Called By]<UL><LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
</UL>
<P><STRONG><a name="[53]"></a>HAL_SYSTICK_IRQHandler</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler))
<P><STRONG><a name="[52]"></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="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_Callback
<BR>[Calls]<UL><LI><a href="#[53]">&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="[62]"></a>HAL_TIMEx_MasterConfigSynchronization</STRONG> (Thumb, 72 bytes, Stack size 16 bytes, stm32f0xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization))
<P><STRONG><a name="[61]"></a>HAL_TIMEx_MasterConfigSynchronization</STRONG> (Thumb, 72 bytes, Stack size 16 bytes, stm32f0xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = HAL_TIMEx_MasterConfigSynchronization
</UL>
<BR>[Called By]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM2_Init
<BR>[Called By]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM2_Init
</UL>
<P><STRONG><a name="[55]"></a>HAL_TIM_Base_Init</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Init))
<P><STRONG><a name="[54]"></a>HAL_TIM_Base_Init</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = HAL_TIM_Base_Init &rArr; TIM_Base_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_MspInit
<LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_Base_SetConfig
<BR>[Calls]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_MspInit
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_Base_SetConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM2_Init
<BR>[Called By]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM2_Init
</UL>
<P><STRONG><a name="[56]"></a>HAL_TIM_Base_MspInit</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, stm32f0xx_hal_msp.o(i.HAL_TIM_Base_MspInit))
<P><STRONG><a name="[55]"></a>HAL_TIM_Base_MspInit</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, stm32f0xx_hal_msp.o(i.HAL_TIM_Base_MspInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = HAL_TIM_Base_MspInit
</UL>
<BR>[Called By]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
<BR>[Called By]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
</UL>
<P><STRONG><a name="[84]"></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="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us_init
</UL>
<P><STRONG><a name="[58]"></a>HAL_TIM_ConfigClockSource</STRONG> (Thumb, 238 bytes, Stack size 24 bytes, stm32f0xx_hal_tim.o(i.HAL_TIM_ConfigClockSource))
<P><STRONG><a name="[57]"></a>HAL_TIM_ConfigClockSource</STRONG> (Thumb, 238 bytes, Stack size 24 bytes, stm32f0xx_hal_tim.o(i.HAL_TIM_ConfigClockSource))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = HAL_TIM_ConfigClockSource &rArr; TIM_ETR_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ETR_SetConfig
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TI2_ConfigInputStage
<LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TI1_ConfigInputStage
<LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ITRx_SetConfig
<BR>[Calls]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ETR_SetConfig
<LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TI2_ConfigInputStage
<LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TI1_ConfigInputStage
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ITRx_SetConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM2_Init
<BR>[Called By]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM2_Init
</UL>
<P><STRONG><a name="[35]"></a>HAL_UART_MspInit</STRONG> (Thumb, 62 bytes, Stack size 32 bytes, stm32f0xx_hal_msp.o(i.HAL_UART_MspInit))
@@ -530,11 +529,11 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[34]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_HalfDuplex_Init
</UL>
<P><STRONG><a name="[5d]"></a>HAL_UART_Transmit</STRONG> (Thumb, 200 bytes, Stack size 48 bytes, stm32f0xx_hal_uart.o(i.HAL_UART_Transmit))
<P><STRONG><a name="[5c]"></a>HAL_UART_Transmit</STRONG> (Thumb, 200 bytes, Stack size 48 bytes, stm32f0xx_hal_uart.o(i.HAL_UART_Transmit))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = HAL_UART_Transmit &rArr; UART_WaitOnFlagUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[33]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_WaitOnFlagUntilTimeout
<LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_WaitOnFlagUntilTimeout
</UL>
<BR>[Called By]<UL><LI><a href="#[29]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;fputc
</UL>
@@ -565,16 +564,16 @@ 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="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_IRQHandler
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_IncTick
<BR>[Calls]<UL><LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_IRQHandler
<LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_IncTick
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f042x6.o(RESET)
</UL>
<P><STRONG><a name="[6a]"></a>SystemClock_Config</STRONG> (Thumb, 90 bytes, Stack size 80 bytes, main.o(i.SystemClock_Config))
<P><STRONG><a name="[69]"></a>SystemClock_Config</STRONG> (Thumb, 90 bytes, Stack size 80 bytes, main.o(i.SystemClock_Config))
<BR><BR>[Stack]<UL><LI>Max Depth = 164<LI>Call Chain = SystemClock_Config &rArr; HAL_RCC_ClockConfig &rArr; HAL_RCC_GetSysClockFreq &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_Config
<LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_CLKSourceConfig
<LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_CLKSourceConfig
<LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_OscConfig
<LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetHCLKFreq
<LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
@@ -587,16 +586,16 @@ Global Symbols
<P><STRONG><a name="[22]"></a>SystemInit</STRONG> (Thumb, 78 bytes, Stack size 0 bytes, system_stm32f0xx.o(i.SystemInit))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f042x6.o(.text)
</UL>
<P><STRONG><a name="[57]"></a>TIM_Base_SetConfig</STRONG> (Thumb, 112 bytes, Stack size 20 bytes, stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig))
<P><STRONG><a name="[56]"></a>TIM_Base_SetConfig</STRONG> (Thumb, 112 bytes, Stack size 20 bytes, stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = TIM_Base_SetConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
<BR>[Called By]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
</UL>
<P><STRONG><a name="[59]"></a>TIM_ETR_SetConfig</STRONG> (Thumb, 22 bytes, Stack size 12 bytes, stm32f0xx_hal_tim.o(i.TIM_ETR_SetConfig))
<P><STRONG><a name="[58]"></a>TIM_ETR_SetConfig</STRONG> (Thumb, 22 bytes, Stack size 12 bytes, stm32f0xx_hal_tim.o(i.TIM_ETR_SetConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = TIM_ETR_SetConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
<BR>[Called By]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
</UL>
<P><STRONG><a name="[37]"></a>UART_AdvFeatureConfig</STRONG> (Thumb, 202 bytes, Stack size 8 bytes, stm32f0xx_hal_uart.o(i.UART_AdvFeatureConfig))
@@ -609,7 +608,7 @@ Global Symbols
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = UART_CheckIdleState &rArr; UART_WaitOnFlagUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[33]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_WaitOnFlagUntilTimeout
<LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_WaitOnFlagUntilTimeout
</UL>
<BR>[Called By]<UL><LI><a href="#[34]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_HalfDuplex_Init
</UL>
@@ -618,23 +617,23 @@ Global Symbols
<BR><BR>[Stack]<UL><LI>Max Depth = 84<LI>Call Chain = UART_SetConfig &rArr; HAL_RCC_GetSysClockFreq &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetSysClockFreq
<LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetPCLK1Freq
<LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetPCLK1Freq
<LI><a href="#[2d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[34]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_HalfDuplex_Init
</UL>
<P><STRONG><a name="[5e]"></a>UART_WaitOnFlagUntilTimeout</STRONG> (Thumb, 98 bytes, Stack size 40 bytes, stm32f0xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout))
<P><STRONG><a name="[5d]"></a>UART_WaitOnFlagUntilTimeout</STRONG> (Thumb, 98 bytes, Stack size 40 bytes, stm32f0xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = UART_WaitOnFlagUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[33]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_Transmit
<BR>[Called By]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_Transmit
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_CheckIdleState
</UL>
<P><STRONG><a name="[6d]"></a>__0printf$3</STRONG> (Thumb, 24 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
<P><STRONG><a name="[6c]"></a>__0printf$3</STRONG> (Thumb, 24 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>
<P><STRONG><a name="[a4]"></a>__1printf$3</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3), UNUSED)
@@ -652,125 +651,125 @@ Global Symbols
<P><STRONG><a name="[a7]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
<P><STRONG><a name="[6f]"></a>adb_init</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, adb.o(i.adb_init))
<P><STRONG><a name="[6e]"></a>adb_init</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, adb.o(i.adb_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = adb_init &rArr; adb_reset &rArr; adb_release_lines
</UL>
<BR>[Calls]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_reset
<BR>[Calls]<UL><LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_reset
</UL>
<BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[71]"></a>adb_keyboard_update</STRONG> (Thumb, 62 bytes, Stack size 16 bytes, main.o(i.adb_keyboard_update))
<P><STRONG><a name="[70]"></a>adb_keyboard_update</STRONG> (Thumb, 62 bytes, Stack size 16 bytes, main.o(i.adb_keyboard_update))
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = adb_keyboard_update &rArr; adb_send_response_16b &rArr; adb_write_16 &rArr; adb_write_byte &rArr; delay_us
</UL>
<BR>[Calls]<UL><LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_pop
<LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_peek
<LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_send_response_16b
<BR>[Calls]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_pop
<LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_peek
<LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_send_response_16b
</UL>
<BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[75]"></a>adb_listen_16b</STRONG> (Thumb, 98 bytes, Stack size 24 bytes, adb.o(i.adb_listen_16b))
<P><STRONG><a name="[74]"></a>adb_listen_16b</STRONG> (Thumb, 98 bytes, Stack size 24 bytes, adb.o(i.adb_listen_16b))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = adb_listen_16b &rArr; adb_read_bit &rArr; wait_until_change
</UL>
<BR>[Calls]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_ReadPin
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_until_change
<LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_read_bit
<BR>[Calls]<UL><LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_ReadPin
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_until_change
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_read_bit
</UL>
<BR>[Called By]<UL><LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_adb_cmd
</UL>
<P><STRONG><a name="[79]"></a>adb_mouse_update</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, main.o(i.adb_mouse_update))
<P><STRONG><a name="[78]"></a>adb_mouse_update</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, main.o(i.adb_mouse_update))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = adb_mouse_update &rArr; adb_send_response_16b &rArr; adb_write_16 &rArr; adb_write_byte &rArr; delay_us
</UL>
<BR>[Calls]<UL><LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;int16_to_uint6
<LI><a href="#[7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_reset
<LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_peek
<LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_send_response_16b
<BR>[Calls]<UL><LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;int16_to_uint6
<LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_reset
<LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_peek
<LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_send_response_16b
</UL>
<BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[78]"></a>adb_read_bit</STRONG> (Thumb, 56 bytes, Stack size 16 bytes, adb.o(i.adb_read_bit))
<P><STRONG><a name="[77]"></a>adb_read_bit</STRONG> (Thumb, 56 bytes, Stack size 16 bytes, adb.o(i.adb_read_bit))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = adb_read_bit &rArr; wait_until_change
</UL>
<BR>[Calls]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_ReadPin
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_until_change
<BR>[Calls]<UL><LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_ReadPin
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_until_change
</UL>
<BR>[Called By]<UL><LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_recv_cmd
<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_listen_16b
<BR>[Called By]<UL><LI><a href="#[7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_recv_cmd
<LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_listen_16b
</UL>
<P><STRONG><a name="[7d]"></a>adb_recv_cmd</STRONG> (Thumb, 70 bytes, Stack size 24 bytes, adb.o(i.adb_recv_cmd))
<P><STRONG><a name="[7c]"></a>adb_recv_cmd</STRONG> (Thumb, 70 bytes, Stack size 24 bytes, adb.o(i.adb_recv_cmd))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = adb_recv_cmd &rArr; adb_read_bit &rArr; wait_until_change
</UL>
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_until_change
<LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;look_for_atten
<LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_read_bit
<BR>[Calls]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_until_change
<LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;look_for_atten
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_read_bit
</UL>
<BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[7f]"></a>adb_release_lines</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, adb.o(i.adb_release_lines))
<P><STRONG><a name="[7e]"></a>adb_release_lines</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, adb.o(i.adb_release_lines))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = adb_release_lines
</UL>
<BR>[Calls]<UL><LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
</UL>
<BR>[Called By]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_reset
<BR>[Called By]<UL><LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_reset
</UL>
<P><STRONG><a name="[70]"></a>adb_reset</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, adb.o(i.adb_reset))
<P><STRONG><a name="[6f]"></a>adb_reset</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, adb.o(i.adb_reset))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = adb_reset &rArr; adb_release_lines
</UL>
<BR>[Calls]<UL><LI><a href="#[7f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_release_lines
<BR>[Calls]<UL><LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_release_lines
</UL>
<BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;handle_protocol_switch
<LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_init
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;handle_protocol_switch
<LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_init
</UL>
<P><STRONG><a name="[73]"></a>adb_send_response_16b</STRONG> (Thumb, 98 bytes, Stack size 16 bytes, adb.o(i.adb_send_response_16b))
<P><STRONG><a name="[72]"></a>adb_send_response_16b</STRONG> (Thumb, 98 bytes, Stack size 16 bytes, adb.o(i.adb_send_response_16b))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = adb_send_response_16b &rArr; adb_write_16 &rArr; adb_write_byte &rArr; delay_us
</UL>
<BR>[Calls]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us
<BR>[Calls]<UL><LI><a href="#[7f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_write_16
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_write_16
</UL>
<BR>[Called By]<UL><LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_mouse_update
<LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_keyboard_update
<BR>[Called By]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_mouse_update
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_keyboard_update
<LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_adb_cmd
</UL>
<P><STRONG><a name="[81]"></a>adb_write_16</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, adb.o(i.adb_write_16))
<P><STRONG><a name="[80]"></a>adb_write_16</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, adb.o(i.adb_write_16))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = adb_write_16 &rArr; adb_write_byte &rArr; delay_us
</UL>
<BR>[Calls]<UL><LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_write_byte
<BR>[Calls]<UL><LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_write_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_send_response_16b
<BR>[Called By]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_send_response_16b
</UL>
<P><STRONG><a name="[82]"></a>adb_write_byte</STRONG> (Thumb, 120 bytes, Stack size 24 bytes, adb.o(i.adb_write_byte))
<P><STRONG><a name="[81]"></a>adb_write_byte</STRONG> (Thumb, 120 bytes, Stack size 24 bytes, adb.o(i.adb_write_byte))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = adb_write_byte &rArr; delay_us
</UL>
<BR>[Calls]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us
<BR>[Calls]<UL><LI><a href="#[7f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_ReadPin
<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_ReadPin
</UL>
<BR>[Called By]<UL><LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_write_16
<BR>[Called By]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_write_16
</UL>
<P><STRONG><a name="[4e]"></a>byte_to_int16_t</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, main.o(i.byte_to_int16_t))
<P><STRONG><a name="[4d]"></a>byte_to_int16_t</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, main.o(i.byte_to_int16_t))
<BR><BR>[Called By]<UL><LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
</UL>
<P><STRONG><a name="[80]"></a>delay_us</STRONG> (Thumb, 20 bytes, Stack size 4 bytes, delay_us.o(i.delay_us))
<P><STRONG><a name="[7f]"></a>delay_us</STRONG> (Thumb, 20 bytes, Stack size 4 bytes, delay_us.o(i.delay_us))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = delay_us
</UL>
<BR>[Calls]<UL><LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;micros
<BR>[Calls]<UL><LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;micros
</UL>
<BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;send_srq
<LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_write_byte
<LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_send_response_16b
<LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_write_byte
<LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_send_response_16b
</UL>
<P><STRONG><a name="[83]"></a>delay_us_init</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, delay_us.o(i.delay_us_init))
@@ -784,23 +783,23 @@ Global Symbols
<P><STRONG><a name="[29]"></a>fputc</STRONG> (Thumb, 18 bytes, Stack size 16 bytes, main.o(i.fputc))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = fputc &rArr; HAL_UART_Transmit &rArr; UART_WaitOnFlagUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_Transmit
<BR>[Calls]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_Transmit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> printf3.o(i.__0printf$3)
</UL>
<P><STRONG><a name="[51]"></a>handle_protocol_switch</STRONG> (Thumb, 70 bytes, Stack size 16 bytes, main.o(i.handle_protocol_switch))
<P><STRONG><a name="[50]"></a>handle_protocol_switch</STRONG> (Thumb, 70 bytes, Stack size 16 bytes, main.o(i.handle_protocol_switch))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = handle_protocol_switch &rArr; adb_reset &rArr; adb_release_lines
</UL>
<BR>[Calls]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_reset
<BR>[Calls]<UL><LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_reset
</UL>
<BR>[Called By]<UL><LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
</UL>
<P><STRONG><a name="[7b]"></a>int16_to_uint6</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, main.o(i.int16_to_uint6))
<BR><BR>[Called By]<UL><LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_mouse_update
<P><STRONG><a name="[7a]"></a>int16_to_uint6</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, main.o(i.int16_to_uint6))
<BR><BR>[Called By]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_mouse_update
</UL>
<P><STRONG><a name="[4d]"></a>kb_buf_add</STRONG> (Thumb, 48 bytes, Stack size 16 bytes, helpers.o(i.kb_buf_add))
<P><STRONG><a name="[4c]"></a>kb_buf_add</STRONG> (Thumb, 48 bytes, Stack size 16 bytes, helpers.o(i.kb_buf_add))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = kb_buf_add &rArr; kb_buf_is_full &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[85]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_is_full
@@ -827,21 +826,21 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[2d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_add
<BR>[Called By]<UL><LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_add
</UL>
<P><STRONG><a name="[72]"></a>kb_buf_peek</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, helpers.o(i.kb_buf_peek))
<P><STRONG><a name="[71]"></a>kb_buf_peek</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, helpers.o(i.kb_buf_peek))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = kb_buf_peek
</UL>
<BR>[Called By]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_keyboard_update
<BR>[Called By]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_keyboard_update
</UL>
<P><STRONG><a name="[74]"></a>kb_buf_pop</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, helpers.o(i.kb_buf_pop))
<P><STRONG><a name="[73]"></a>kb_buf_pop</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, helpers.o(i.kb_buf_pop))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = kb_buf_pop &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[2d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_keyboard_update
<BR>[Called By]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_keyboard_update
</UL>
<P><STRONG><a name="[88]"></a>kb_buf_reset</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, helpers.o(i.kb_buf_reset))
@@ -852,43 +851,43 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_init
</UL>
<P><STRONG><a name="[7e]"></a>look_for_atten</STRONG> (Thumb, 70 bytes, Stack size 8 bytes, adb.o(i.look_for_atten))
<P><STRONG><a name="[7d]"></a>look_for_atten</STRONG> (Thumb, 70 bytes, Stack size 8 bytes, adb.o(i.look_for_atten))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = look_for_atten &rArr; wait_until_change
</UL>
<BR>[Calls]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_ReadPin
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_until_change
<BR>[Calls]<UL><LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_ReadPin
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_until_change
</UL>
<BR>[Called By]<UL><LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_recv_cmd
<BR>[Called By]<UL><LI><a href="#[7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_recv_cmd
</UL>
<P><STRONG><a name="[21]"></a>main</STRONG> (Thumb, 302 bytes, Stack size 16 bytes, main.o(i.main))
<P><STRONG><a name="[21]"></a>main</STRONG> (Thumb, 300 bytes, Stack size 16 bytes, main.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 180<LI>Call Chain = main &rArr; SystemClock_Config &rArr; HAL_RCC_ClockConfig &rArr; HAL_RCC_GetSysClockFreq &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TransmitReceive_IT
<BR>[Calls]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TransmitReceive_IT
<LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
<LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_error_dump_reboot
<LI><a href="#[8a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;protocol_status_lookup_init
<LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_mouse_update
<LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_keyboard_update
<LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_USART2_UART_Init
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM2_Init
<LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_SPI1_Init
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_GPIO_Init
<LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_mouse_update
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_keyboard_update
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_USART2_UART_Init
<LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM2_Init
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_SPI1_Init
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_GPIO_Init
<LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_is_empty
<LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_init
<LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_is_empty
<LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_init
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us_init
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_ReadPin
<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_ReadPin
<LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;send_srq
<LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;parse_adb_cmd
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_reset
<LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_recv_cmd
<LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_init
<LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_reset
<LI><a href="#[7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_recv_cmd
<LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_init
<LI><a href="#[89]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
</UL>
@@ -899,13 +898,12 @@ Global Symbols
<LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;kb_buf_init
</UL>
<P><STRONG><a name="[4c]"></a>micros</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, delay_us.o(i.micros))
<BR><BR>[Called By]<UL><LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_until_change
<P><STRONG><a name="[82]"></a>micros</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, delay_us.o(i.micros))
<BR><BR>[Called By]<UL><LI><a href="#[7f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wait_until_change
</UL>
<P><STRONG><a name="[4f]"></a>mouse_buf_add</STRONG> (Thumb, 50 bytes, Stack size 16 bytes, helpers.o(i.mouse_buf_add))
<P><STRONG><a name="[4e]"></a>mouse_buf_add</STRONG> (Thumb, 50 bytes, Stack size 16 bytes, helpers.o(i.mouse_buf_add))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = mouse_buf_add &rArr; mouse_buf_is_full &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_is_full
@@ -918,7 +916,7 @@ Global Symbols
<P><STRONG><a name="[8b]"></a>mouse_buf_init</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, helpers.o(i.mouse_buf_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = mouse_buf_init &rArr; malloc
</UL>
<BR>[Calls]<UL><LI><a href="#[7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_reset
<BR>[Calls]<UL><LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_reset
<LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;malloc
</UL>
<BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
@@ -933,27 +931,27 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[2d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_add
<BR>[Called By]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_add
</UL>
<P><STRONG><a name="[7a]"></a>mouse_buf_peek</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, helpers.o(i.mouse_buf_peek))
<BR><BR>[Called By]<UL><LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_mouse_update
<P><STRONG><a name="[79]"></a>mouse_buf_peek</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, helpers.o(i.mouse_buf_peek))
<BR><BR>[Called By]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_mouse_update
</UL>
<P><STRONG><a name="[7c]"></a>mouse_buf_reset</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, helpers.o(i.mouse_buf_reset))
<P><STRONG><a name="[7b]"></a>mouse_buf_reset</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, helpers.o(i.mouse_buf_reset))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = mouse_buf_reset
</UL>
<BR>[Calls]<UL><LI><a href="#[2e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr
</UL>
<BR>[Called By]<UL><LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_mouse_update
<BR>[Called By]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_mouse_update
<LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mouse_buf_init
</UL>
<P><STRONG><a name="[90]"></a>parse_adb_cmd</STRONG> (Thumb, 196 bytes, Stack size 24 bytes, adb.o(i.parse_adb_cmd))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = parse_adb_cmd &rArr; adb_listen_16b &rArr; adb_read_bit &rArr; wait_until_change
</UL>
<BR>[Calls]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_send_response_16b
<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_listen_16b
<BR>[Calls]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_send_response_16b
<LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_listen_16b
<LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rand
<LI><a href="#[2c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_idivmod
</UL>
@@ -967,7 +965,7 @@ Global Symbols
<P><STRONG><a name="[8f]"></a>send_srq</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, adb.o(i.send_srq))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = send_srq &rArr; delay_us
</UL>
<BR>[Calls]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us
<BR>[Calls]<UL><LI><a href="#[7f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
</UL>
<BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
@@ -983,22 +981,22 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[77]"></a>wait_until_change</STRONG> (Thumb, 62 bytes, Stack size 24 bytes, adb.o(i.wait_until_change))
<P><STRONG><a name="[76]"></a>wait_until_change</STRONG> (Thumb, 62 bytes, Stack size 24 bytes, adb.o(i.wait_until_change))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = wait_until_change
</UL>
<BR>[Calls]<UL><LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;micros
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_ReadPin
<BR>[Calls]<UL><LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;micros
<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_ReadPin
</UL>
<BR>[Called By]<UL><LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;look_for_atten
<LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_recv_cmd
<LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_read_bit
<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_listen_16b
<BR>[Called By]<UL><LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;look_for_atten
<LI><a href="#[7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_recv_cmd
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_read_bit
<LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adb_listen_16b
</UL>
<P>
<H3>
Local Symbols
</H3>
<P><STRONG><a name="[5f]"></a>MX_GPIO_Init</STRONG> (Thumb, 226 bytes, Stack size 48 bytes, main.o(i.MX_GPIO_Init))
<P><STRONG><a name="[5e]"></a>MX_GPIO_Init</STRONG> (Thumb, 226 bytes, Stack size 48 bytes, main.o(i.MX_GPIO_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = MX_GPIO_Init &rArr; HAL_GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
@@ -1007,7 +1005,7 @@ Local Symbols
<BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[60]"></a>MX_SPI1_Init</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, main.o(i.MX_SPI1_Init))
<P><STRONG><a name="[5f]"></a>MX_SPI1_Init</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, main.o(i.MX_SPI1_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = MX_SPI1_Init &rArr; HAL_SPI_Init &rArr; HAL_SPI_MspInit &rArr; HAL_GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_Init
@@ -1015,17 +1013,17 @@ Local Symbols
<BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[61]"></a>MX_TIM2_Init</STRONG> (Thumb, 80 bytes, Stack size 32 bytes, main.o(i.MX_TIM2_Init))
<P><STRONG><a name="[60]"></a>MX_TIM2_Init</STRONG> (Thumb, 80 bytes, Stack size 32 bytes, main.o(i.MX_TIM2_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = MX_TIM2_Init &rArr; HAL_TIM_ConfigClockSource &rArr; TIM_ETR_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
<LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIMEx_MasterConfigSynchronization
<BR>[Calls]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
<LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIMEx_MasterConfigSynchronization
</UL>
<BR>[Called By]<UL><LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[63]"></a>MX_USART2_UART_Init</STRONG> (Thumb, 46 bytes, Stack size 8 bytes, main.o(i.MX_USART2_UART_Init))
<P><STRONG><a name="[62]"></a>MX_USART2_UART_Init</STRONG> (Thumb, 46 bytes, Stack size 8 bytes, main.o(i.MX_USART2_UART_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 108<LI>Call Chain = MX_USART2_UART_Init &rArr; HAL_HalfDuplex_Init &rArr; UART_SetConfig &rArr; HAL_RCC_GetSysClockFreq &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[34]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_HalfDuplex_Init
@@ -1036,37 +1034,37 @@ Local Symbols
<P><STRONG><a name="[25]"></a>SPI_2linesRxISR_16BIT</STRONG> (Thumb, 54 bytes, Stack size 8 bytes, stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT))
<BR><BR>[Stack]<UL><LI>Max Depth = 84<LI>Call Chain = SPI_2linesRxISR_16BIT &rArr; SPI_CloseRxTx_ISR &rArr; HAL_SPI_TxRxCpltCallback &rArr; mouse_buf_add &rArr; mouse_buf_is_full &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<BR>[Calls]<UL><LI><a href="#[63]">&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="[27]"></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 = 84<LI>Call Chain = SPI_2linesRxISR_8BIT &rArr; SPI_CloseRxTx_ISR &rArr; HAL_SPI_TxRxCpltCallback &rArr; mouse_buf_add &rArr; mouse_buf_is_full &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<BR>[Calls]<UL><LI><a href="#[63]">&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="[26]"></a>SPI_2linesTxISR_16BIT</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT))
<BR><BR>[Stack]<UL><LI>Max Depth = 84<LI>Call Chain = SPI_2linesTxISR_16BIT &rArr; SPI_CloseRxTx_ISR &rArr; HAL_SPI_TxRxCpltCallback &rArr; mouse_buf_add &rArr; mouse_buf_is_full &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<BR>[Calls]<UL><LI><a href="#[63]">&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="[28]"></a>SPI_2linesTxISR_8BIT</STRONG> (Thumb, 72 bytes, Stack size 8 bytes, stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT))
<BR><BR>[Stack]<UL><LI>Max Depth = 84<LI>Call Chain = SPI_2linesTxISR_8BIT &rArr; SPI_CloseRxTx_ISR &rArr; HAL_SPI_TxRxCpltCallback &rArr; mouse_buf_add &rArr; mouse_buf_is_full &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<BR>[Calls]<UL><LI><a href="#[63]">&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="[64]"></a>SPI_CloseRxTx_ISR</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR))
<P><STRONG><a name="[63]"></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 = 76<LI>Call Chain = SPI_CloseRxTx_ISR &rArr; HAL_SPI_TxRxCpltCallback &rArr; mouse_buf_add &rArr; mouse_buf_is_full &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_EndRxTxTransaction
<BR>[Calls]<UL><LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_EndRxTxTransaction
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_TxRxCpltCallback
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SPI_RxCpltCallback
<LI><a href="#[65]">&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="#[33]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
@@ -1083,45 +1081,45 @@ Local Symbols
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f0xx_hal_spi.o(i.HAL_SPI_IRQHandler)
</UL>
<P><STRONG><a name="[65]"></a>SPI_EndRxTxTransaction</STRONG> (Thumb, 76 bytes, Stack size 24 bytes, stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction))
<P><STRONG><a name="[64]"></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_WaitFlagStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WaitFlagStateUntilTimeout
<LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WaitFifoStateUntilTimeout
<BR>[Calls]<UL><LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WaitFlagStateUntilTimeout
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_WaitFifoStateUntilTimeout
</UL>
<BR>[Called By]<UL><LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
<BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CloseRxTx_ISR
</UL>
<P><STRONG><a name="[67]"></a>SPI_WaitFifoStateUntilTimeout</STRONG> (Thumb, 150 bytes, Stack size 24 bytes, stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout))
<P><STRONG><a name="[66]"></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="#[33]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_EndRxTxTransaction
<BR>[Called By]<UL><LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_EndRxTxTransaction
</UL>
<P><STRONG><a name="[68]"></a>SPI_WaitFlagStateUntilTimeout</STRONG> (Thumb, 140 bytes, Stack size 24 bytes, stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout))
<P><STRONG><a name="[67]"></a>SPI_WaitFlagStateUntilTimeout</STRONG> (Thumb, 140 bytes, Stack size 24 bytes, stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = SPI_WaitFlagStateUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[33]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_EndRxTxTransaction
<BR>[Called By]<UL><LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_EndRxTxTransaction
</UL>
<P><STRONG><a name="[5c]"></a>TIM_ITRx_SetConfig</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f0xx_hal_tim.o(i.TIM_ITRx_SetConfig))
<BR><BR>[Called By]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
<P><STRONG><a name="[5b]"></a>TIM_ITRx_SetConfig</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f0xx_hal_tim.o(i.TIM_ITRx_SetConfig))
<BR><BR>[Called By]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
</UL>
<P><STRONG><a name="[5a]"></a>TIM_TI1_ConfigInputStage</STRONG> (Thumb, 34 bytes, Stack size 12 bytes, stm32f0xx_hal_tim.o(i.TIM_TI1_ConfigInputStage))
<P><STRONG><a name="[59]"></a>TIM_TI1_ConfigInputStage</STRONG> (Thumb, 34 bytes, Stack size 12 bytes, stm32f0xx_hal_tim.o(i.TIM_TI1_ConfigInputStage))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = TIM_TI1_ConfigInputStage
</UL>
<BR>[Called By]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
<BR>[Called By]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
</UL>
<P><STRONG><a name="[5b]"></a>TIM_TI2_ConfigInputStage</STRONG> (Thumb, 38 bytes, Stack size 12 bytes, stm32f0xx_hal_tim.o(i.TIM_TI2_ConfigInputStage))
<P><STRONG><a name="[5a]"></a>TIM_TI2_ConfigInputStage</STRONG> (Thumb, 38 bytes, Stack size 12 bytes, stm32f0xx_hal_tim.o(i.TIM_TI2_ConfigInputStage))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = TIM_TI2_ConfigInputStage
</UL>
<BR>[Called By]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
<BR>[Called By]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
</UL>
<P><STRONG><a name="[3f]"></a>NVIC_SetPriority</STRONG> (Thumb, 60 bytes, Stack size 0 bytes, stm32f0xx_hal_cortex.o(i.NVIC_SetPriority))
@@ -1129,10 +1127,10 @@ Local Symbols
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
</UL>
<P><STRONG><a name="[6e]"></a>_printf_core</STRONG> (Thumb, 456 bytes, Stack size 88 bytes, printf3.o(i._printf_core), UNUSED)
<P><STRONG><a name="[6d]"></a>_printf_core</STRONG> (Thumb, 456 bytes, Stack size 88 bytes, printf3.o(i._printf_core), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[2d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0printf$3
<BR>[Called By]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0printf$3
</UL>
<P>
<H3>

View File

@@ -75,7 +75,6 @@ Section Cross References
helpers.o(i.mouse_buf_pop) refers to uidiv.o(.text) for __aeabi_uidivmod
helpers.o(i.mouse_buf_reset) refers to memseta.o(.text) for __aeabi_memclr
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 delay_us.o(i.micros) for micros
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 main.o(i.byte_to_int16_t) for byte_to_int16_t
main.o(i.HAL_SPI_TxRxCpltCallback) refers to helpers.o(i.mouse_buf_add) for mouse_buf_add
@@ -83,8 +82,8 @@ Section Cross References
main.o(i.HAL_SPI_TxRxCpltCallback) refers to main.o(i.handle_protocol_switch) for handle_protocol_switch
main.o(i.HAL_SPI_TxRxCpltCallback) refers to stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT) for HAL_SPI_TransmitReceive_IT
main.o(i.HAL_SPI_TxRxCpltCallback) refers to adb.o(.data) for adb_rw_in_progress
main.o(i.HAL_SPI_TxRxCpltCallback) refers to main.o(.data) for .data
main.o(i.HAL_SPI_TxRxCpltCallback) refers to main.o(.bss) for .bss
main.o(i.HAL_SPI_TxRxCpltCallback) refers to main.o(.data) for .data
main.o(i.MX_GPIO_Init) refers to stm32f0xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin
main.o(i.MX_GPIO_Init) refers to stm32f0xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init
main.o(i.MX_SPI1_Init) refers to stm32f0xx_hal_spi.o(i.HAL_SPI_Init) for HAL_SPI_Init
@@ -1730,125 +1729,125 @@ Image Symbol Table
i.HAL_SPI_RxCpltCallback 0x08000cdc Section 0 stm32f0xx_hal_spi.o(i.HAL_SPI_RxCpltCallback)
i.HAL_SPI_TransmitReceive_IT 0x08000ce0 Section 0 stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT)
i.HAL_SPI_TxRxCpltCallback 0x08000db4 Section 0 main.o(i.HAL_SPI_TxRxCpltCallback)
i.HAL_SYSTICK_CLKSourceConfig 0x08000f0c Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig)
i.HAL_SYSTICK_Callback 0x08000f24 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Callback)
i.HAL_SYSTICK_Config 0x08000f28 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config)
i.HAL_SYSTICK_IRQHandler 0x08000f58 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler)
i.HAL_TIMEx_MasterConfigSynchronization 0x08000f60 Section 0 stm32f0xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization)
i.HAL_TIM_Base_Init 0x08000fa8 Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Init)
i.HAL_TIM_Base_MspInit 0x08000fdc Section 0 stm32f0xx_hal_msp.o(i.HAL_TIM_Base_MspInit)
i.HAL_TIM_Base_Start 0x08001000 Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Start)
i.HAL_TIM_ConfigClockSource 0x08001018 Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_ConfigClockSource)
i.HAL_UART_MspInit 0x08001108 Section 0 stm32f0xx_hal_msp.o(i.HAL_UART_MspInit)
i.HAL_UART_Transmit 0x08001150 Section 0 stm32f0xx_hal_uart.o(i.HAL_UART_Transmit)
i.HardFault_Handler 0x08001218 Section 0 stm32f0xx_it.o(i.HardFault_Handler)
i.MX_GPIO_Init 0x0800121c Section 0 main.o(i.MX_GPIO_Init)
MX_GPIO_Init 0x0800121d Thumb Code 226 main.o(i.MX_GPIO_Init)
i.MX_SPI1_Init 0x08001310 Section 0 main.o(i.MX_SPI1_Init)
MX_SPI1_Init 0x08001311 Thumb Code 52 main.o(i.MX_SPI1_Init)
i.MX_TIM2_Init 0x0800134c Section 0 main.o(i.MX_TIM2_Init)
MX_TIM2_Init 0x0800134d Thumb Code 80 main.o(i.MX_TIM2_Init)
i.MX_USART2_UART_Init 0x080013a0 Section 0 main.o(i.MX_USART2_UART_Init)
MX_USART2_UART_Init 0x080013a1 Thumb Code 46 main.o(i.MX_USART2_UART_Init)
i.NMI_Handler 0x080013d8 Section 0 stm32f0xx_it.o(i.NMI_Handler)
i.NVIC_SetPriority 0x080013dc Section 0 stm32f0xx_hal_cortex.o(i.NVIC_SetPriority)
NVIC_SetPriority 0x080013dd Thumb Code 60 stm32f0xx_hal_cortex.o(i.NVIC_SetPriority)
i.PendSV_Handler 0x08001420 Section 0 stm32f0xx_it.o(i.PendSV_Handler)
i.SPI1_IRQHandler 0x08001424 Section 0 stm32f0xx_it.o(i.SPI1_IRQHandler)
i.SPI_2linesRxISR_16BIT 0x08001434 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT)
SPI_2linesRxISR_16BIT 0x08001435 Thumb Code 54 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT)
i.SPI_2linesRxISR_8BIT 0x0800146a Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_8BIT)
SPI_2linesRxISR_8BIT 0x0800146b Thumb Code 94 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_8BIT)
i.SPI_2linesTxISR_16BIT 0x080014c8 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT)
SPI_2linesTxISR_16BIT 0x080014c9 Thumb Code 52 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT)
i.SPI_2linesTxISR_8BIT 0x080014fc Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT)
SPI_2linesTxISR_8BIT 0x080014fd Thumb Code 72 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT)
i.SPI_CloseRxTx_ISR 0x08001544 Section 0 stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR)
SPI_CloseRxTx_ISR 0x08001545 Thumb Code 82 stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR)
i.SPI_DMAAbortOnError 0x08001596 Section 0 stm32f0xx_hal_spi.o(i.SPI_DMAAbortOnError)
SPI_DMAAbortOnError 0x08001597 Thumb Code 18 stm32f0xx_hal_spi.o(i.SPI_DMAAbortOnError)
i.SPI_EndRxTxTransaction 0x080015a8 Section 0 stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction)
SPI_EndRxTxTransaction 0x080015a9 Thumb Code 76 stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction)
i.SPI_WaitFifoStateUntilTimeout 0x080015f4 Section 0 stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout)
SPI_WaitFifoStateUntilTimeout 0x080015f5 Thumb Code 150 stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout)
i.SPI_WaitFlagStateUntilTimeout 0x0800168a Section 0 stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
SPI_WaitFlagStateUntilTimeout 0x0800168b Thumb Code 140 stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
i.SVC_Handler 0x08001716 Section 0 stm32f0xx_it.o(i.SVC_Handler)
i.SysTick_Handler 0x08001718 Section 0 stm32f0xx_it.o(i.SysTick_Handler)
i.SystemClock_Config 0x08001724 Section 0 main.o(i.SystemClock_Config)
i.SystemInit 0x08001780 Section 0 system_stm32f0xx.o(i.SystemInit)
i.TIM_Base_SetConfig 0x080017dc Section 0 stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig)
i.TIM_ETR_SetConfig 0x08001860 Section 0 stm32f0xx_hal_tim.o(i.TIM_ETR_SetConfig)
i.TIM_ITRx_SetConfig 0x08001876 Section 0 stm32f0xx_hal_tim.o(i.TIM_ITRx_SetConfig)
TIM_ITRx_SetConfig 0x08001877 Thumb Code 16 stm32f0xx_hal_tim.o(i.TIM_ITRx_SetConfig)
i.TIM_TI1_ConfigInputStage 0x08001886 Section 0 stm32f0xx_hal_tim.o(i.TIM_TI1_ConfigInputStage)
TIM_TI1_ConfigInputStage 0x08001887 Thumb Code 34 stm32f0xx_hal_tim.o(i.TIM_TI1_ConfigInputStage)
i.TIM_TI2_ConfigInputStage 0x080018a8 Section 0 stm32f0xx_hal_tim.o(i.TIM_TI2_ConfigInputStage)
TIM_TI2_ConfigInputStage 0x080018a9 Thumb Code 38 stm32f0xx_hal_tim.o(i.TIM_TI2_ConfigInputStage)
i.UART_AdvFeatureConfig 0x080018ce Section 0 stm32f0xx_hal_uart.o(i.UART_AdvFeatureConfig)
i.UART_CheckIdleState 0x08001998 Section 0 stm32f0xx_hal_uart.o(i.UART_CheckIdleState)
i.UART_SetConfig 0x08001a00 Section 0 stm32f0xx_hal_uart.o(i.UART_SetConfig)
i.UART_WaitOnFlagUntilTimeout 0x08001b30 Section 0 stm32f0xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
i.__0printf$3 0x08001b94 Section 0 printf3.o(i.__0printf$3)
i.__scatterload_copy 0x08001bb4 Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x08001bc2 Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x08001bc4 Section 14 handlers.o(i.__scatterload_zeroinit)
i._printf_core 0x08001bd4 Section 0 printf3.o(i._printf_core)
_printf_core 0x08001bd5 Thumb Code 456 printf3.o(i._printf_core)
i.adb_init 0x08001da0 Section 0 adb.o(i.adb_init)
i.adb_keyboard_update 0x08001db8 Section 0 main.o(i.adb_keyboard_update)
i.adb_listen_16b 0x08001e04 Section 0 adb.o(i.adb_listen_16b)
i.adb_mouse_update 0x08001e70 Section 0 main.o(i.adb_mouse_update)
i.adb_read_bit 0x08001ec0 Section 0 adb.o(i.adb_read_bit)
i.adb_recv_cmd 0x08001f00 Section 0 adb.o(i.adb_recv_cmd)
i.adb_release_lines 0x08001f50 Section 0 adb.o(i.adb_release_lines)
i.adb_reset 0x08001f70 Section 0 adb.o(i.adb_reset)
i.adb_send_response_16b 0x08001f88 Section 0 adb.o(i.adb_send_response_16b)
i.adb_write_16 0x08001ff0 Section 0 adb.o(i.adb_write_16)
i.adb_write_byte 0x0800200c Section 0 adb.o(i.adb_write_byte)
i.byte_to_int16_t 0x08002088 Section 0 main.o(i.byte_to_int16_t)
i.delay_us 0x08002090 Section 0 delay_us.o(i.delay_us)
i.delay_us_init 0x080020a4 Section 0 delay_us.o(i.delay_us_init)
i.fputc 0x080020b4 Section 0 main.o(i.fputc)
i.handle_protocol_switch 0x080020cc Section 0 main.o(i.handle_protocol_switch)
i.int16_to_uint6 0x08002118 Section 0 main.o(i.int16_to_uint6)
i.kb_buf_add 0x08002136 Section 0 helpers.o(i.kb_buf_add)
i.kb_buf_init 0x08002166 Section 0 helpers.o(i.kb_buf_init)
i.kb_buf_is_empty 0x08002186 Section 0 helpers.o(i.kb_buf_is_empty)
i.kb_buf_is_full 0x08002196 Section 0 helpers.o(i.kb_buf_is_full)
i.kb_buf_peek 0x080021b2 Section 0 helpers.o(i.kb_buf_peek)
i.kb_buf_pop 0x080021d2 Section 0 helpers.o(i.kb_buf_pop)
i.kb_buf_reset 0x080021ea Section 0 helpers.o(i.kb_buf_reset)
i.look_for_atten 0x08002208 Section 0 adb.o(i.look_for_atten)
i.main 0x08002258 Section 0 main.o(i.main)
i.malloc 0x080023bc Section 0 malloc.o(i.malloc)
i.micros 0x08002428 Section 0 delay_us.o(i.micros)
i.mouse_buf_add 0x08002438 Section 0 helpers.o(i.mouse_buf_add)
i.mouse_buf_init 0x0800246a Section 0 helpers.o(i.mouse_buf_init)
i.mouse_buf_is_empty 0x08002482 Section 0 helpers.o(i.mouse_buf_is_empty)
i.mouse_buf_is_full 0x08002492 Section 0 helpers.o(i.mouse_buf_is_full)
i.mouse_buf_peek 0x080024ae Section 0 helpers.o(i.mouse_buf_peek)
i.mouse_buf_reset 0x080024c4 Section 0 helpers.o(i.mouse_buf_reset)
i.parse_adb_cmd 0x080024dc Section 0 adb.o(i.parse_adb_cmd)
i.protocol_status_lookup_init 0x080025a8 Section 0 main.o(i.protocol_status_lookup_init)
i.send_srq 0x080025c4 Section 0 adb.o(i.send_srq)
i.spi_error_dump_reboot 0x080025ec Section 0 main.o(i.spi_error_dump_reboot)
i.wait_until_change 0x08002668 Section 0 adb.o(i.wait_until_change)
.constdata 0x080026ac Section 186 adb.o(.constdata)
.constdata 0x08002766 Section 61 main.o(.constdata)
.constdata 0x080027a3 Section 16 system_stm32f0xx.o(.constdata)
.constdata 0x080027b3 Section 8 system_stm32f0xx.o(.constdata)
i.HAL_SYSTICK_CLKSourceConfig 0x08000ef4 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig)
i.HAL_SYSTICK_Callback 0x08000f0c Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Callback)
i.HAL_SYSTICK_Config 0x08000f10 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config)
i.HAL_SYSTICK_IRQHandler 0x08000f40 Section 0 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler)
i.HAL_TIMEx_MasterConfigSynchronization 0x08000f48 Section 0 stm32f0xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization)
i.HAL_TIM_Base_Init 0x08000f90 Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Init)
i.HAL_TIM_Base_MspInit 0x08000fc4 Section 0 stm32f0xx_hal_msp.o(i.HAL_TIM_Base_MspInit)
i.HAL_TIM_Base_Start 0x08000fe8 Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Start)
i.HAL_TIM_ConfigClockSource 0x08001000 Section 0 stm32f0xx_hal_tim.o(i.HAL_TIM_ConfigClockSource)
i.HAL_UART_MspInit 0x080010f0 Section 0 stm32f0xx_hal_msp.o(i.HAL_UART_MspInit)
i.HAL_UART_Transmit 0x08001138 Section 0 stm32f0xx_hal_uart.o(i.HAL_UART_Transmit)
i.HardFault_Handler 0x08001200 Section 0 stm32f0xx_it.o(i.HardFault_Handler)
i.MX_GPIO_Init 0x08001204 Section 0 main.o(i.MX_GPIO_Init)
MX_GPIO_Init 0x08001205 Thumb Code 226 main.o(i.MX_GPIO_Init)
i.MX_SPI1_Init 0x080012f8 Section 0 main.o(i.MX_SPI1_Init)
MX_SPI1_Init 0x080012f9 Thumb Code 52 main.o(i.MX_SPI1_Init)
i.MX_TIM2_Init 0x08001334 Section 0 main.o(i.MX_TIM2_Init)
MX_TIM2_Init 0x08001335 Thumb Code 80 main.o(i.MX_TIM2_Init)
i.MX_USART2_UART_Init 0x08001388 Section 0 main.o(i.MX_USART2_UART_Init)
MX_USART2_UART_Init 0x08001389 Thumb Code 46 main.o(i.MX_USART2_UART_Init)
i.NMI_Handler 0x080013c0 Section 0 stm32f0xx_it.o(i.NMI_Handler)
i.NVIC_SetPriority 0x080013c4 Section 0 stm32f0xx_hal_cortex.o(i.NVIC_SetPriority)
NVIC_SetPriority 0x080013c5 Thumb Code 60 stm32f0xx_hal_cortex.o(i.NVIC_SetPriority)
i.PendSV_Handler 0x08001408 Section 0 stm32f0xx_it.o(i.PendSV_Handler)
i.SPI1_IRQHandler 0x0800140c Section 0 stm32f0xx_it.o(i.SPI1_IRQHandler)
i.SPI_2linesRxISR_16BIT 0x0800141c Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT)
SPI_2linesRxISR_16BIT 0x0800141d Thumb Code 54 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_16BIT)
i.SPI_2linesRxISR_8BIT 0x08001452 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_8BIT)
SPI_2linesRxISR_8BIT 0x08001453 Thumb Code 94 stm32f0xx_hal_spi.o(i.SPI_2linesRxISR_8BIT)
i.SPI_2linesTxISR_16BIT 0x080014b0 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT)
SPI_2linesTxISR_16BIT 0x080014b1 Thumb Code 52 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_16BIT)
i.SPI_2linesTxISR_8BIT 0x080014e4 Section 0 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT)
SPI_2linesTxISR_8BIT 0x080014e5 Thumb Code 72 stm32f0xx_hal_spi.o(i.SPI_2linesTxISR_8BIT)
i.SPI_CloseRxTx_ISR 0x0800152c Section 0 stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR)
SPI_CloseRxTx_ISR 0x0800152d Thumb Code 82 stm32f0xx_hal_spi.o(i.SPI_CloseRxTx_ISR)
i.SPI_DMAAbortOnError 0x0800157e Section 0 stm32f0xx_hal_spi.o(i.SPI_DMAAbortOnError)
SPI_DMAAbortOnError 0x0800157f Thumb Code 18 stm32f0xx_hal_spi.o(i.SPI_DMAAbortOnError)
i.SPI_EndRxTxTransaction 0x08001590 Section 0 stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction)
SPI_EndRxTxTransaction 0x08001591 Thumb Code 76 stm32f0xx_hal_spi.o(i.SPI_EndRxTxTransaction)
i.SPI_WaitFifoStateUntilTimeout 0x080015dc Section 0 stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout)
SPI_WaitFifoStateUntilTimeout 0x080015dd Thumb Code 150 stm32f0xx_hal_spi.o(i.SPI_WaitFifoStateUntilTimeout)
i.SPI_WaitFlagStateUntilTimeout 0x08001672 Section 0 stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
SPI_WaitFlagStateUntilTimeout 0x08001673 Thumb Code 140 stm32f0xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)
i.SVC_Handler 0x080016fe Section 0 stm32f0xx_it.o(i.SVC_Handler)
i.SysTick_Handler 0x08001700 Section 0 stm32f0xx_it.o(i.SysTick_Handler)
i.SystemClock_Config 0x0800170c Section 0 main.o(i.SystemClock_Config)
i.SystemInit 0x08001768 Section 0 system_stm32f0xx.o(i.SystemInit)
i.TIM_Base_SetConfig 0x080017c4 Section 0 stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig)
i.TIM_ETR_SetConfig 0x08001848 Section 0 stm32f0xx_hal_tim.o(i.TIM_ETR_SetConfig)
i.TIM_ITRx_SetConfig 0x0800185e Section 0 stm32f0xx_hal_tim.o(i.TIM_ITRx_SetConfig)
TIM_ITRx_SetConfig 0x0800185f Thumb Code 16 stm32f0xx_hal_tim.o(i.TIM_ITRx_SetConfig)
i.TIM_TI1_ConfigInputStage 0x0800186e Section 0 stm32f0xx_hal_tim.o(i.TIM_TI1_ConfigInputStage)
TIM_TI1_ConfigInputStage 0x0800186f Thumb Code 34 stm32f0xx_hal_tim.o(i.TIM_TI1_ConfigInputStage)
i.TIM_TI2_ConfigInputStage 0x08001890 Section 0 stm32f0xx_hal_tim.o(i.TIM_TI2_ConfigInputStage)
TIM_TI2_ConfigInputStage 0x08001891 Thumb Code 38 stm32f0xx_hal_tim.o(i.TIM_TI2_ConfigInputStage)
i.UART_AdvFeatureConfig 0x080018b6 Section 0 stm32f0xx_hal_uart.o(i.UART_AdvFeatureConfig)
i.UART_CheckIdleState 0x08001980 Section 0 stm32f0xx_hal_uart.o(i.UART_CheckIdleState)
i.UART_SetConfig 0x080019e8 Section 0 stm32f0xx_hal_uart.o(i.UART_SetConfig)
i.UART_WaitOnFlagUntilTimeout 0x08001b18 Section 0 stm32f0xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
i.__0printf$3 0x08001b7c Section 0 printf3.o(i.__0printf$3)
i.__scatterload_copy 0x08001b9c Section 14 handlers.o(i.__scatterload_copy)
i.__scatterload_null 0x08001baa Section 2 handlers.o(i.__scatterload_null)
i.__scatterload_zeroinit 0x08001bac Section 14 handlers.o(i.__scatterload_zeroinit)
i._printf_core 0x08001bbc Section 0 printf3.o(i._printf_core)
_printf_core 0x08001bbd Thumb Code 456 printf3.o(i._printf_core)
i.adb_init 0x08001d88 Section 0 adb.o(i.adb_init)
i.adb_keyboard_update 0x08001da0 Section 0 main.o(i.adb_keyboard_update)
i.adb_listen_16b 0x08001dec Section 0 adb.o(i.adb_listen_16b)
i.adb_mouse_update 0x08001e58 Section 0 main.o(i.adb_mouse_update)
i.adb_read_bit 0x08001ea8 Section 0 adb.o(i.adb_read_bit)
i.adb_recv_cmd 0x08001ee8 Section 0 adb.o(i.adb_recv_cmd)
i.adb_release_lines 0x08001f38 Section 0 adb.o(i.adb_release_lines)
i.adb_reset 0x08001f58 Section 0 adb.o(i.adb_reset)
i.adb_send_response_16b 0x08001f70 Section 0 adb.o(i.adb_send_response_16b)
i.adb_write_16 0x08001fd8 Section 0 adb.o(i.adb_write_16)
i.adb_write_byte 0x08001ff4 Section 0 adb.o(i.adb_write_byte)
i.byte_to_int16_t 0x08002070 Section 0 main.o(i.byte_to_int16_t)
i.delay_us 0x08002078 Section 0 delay_us.o(i.delay_us)
i.delay_us_init 0x0800208c Section 0 delay_us.o(i.delay_us_init)
i.fputc 0x0800209c Section 0 main.o(i.fputc)
i.handle_protocol_switch 0x080020b4 Section 0 main.o(i.handle_protocol_switch)
i.int16_to_uint6 0x08002100 Section 0 main.o(i.int16_to_uint6)
i.kb_buf_add 0x0800211e Section 0 helpers.o(i.kb_buf_add)
i.kb_buf_init 0x0800214e Section 0 helpers.o(i.kb_buf_init)
i.kb_buf_is_empty 0x0800216e Section 0 helpers.o(i.kb_buf_is_empty)
i.kb_buf_is_full 0x0800217e Section 0 helpers.o(i.kb_buf_is_full)
i.kb_buf_peek 0x0800219a Section 0 helpers.o(i.kb_buf_peek)
i.kb_buf_pop 0x080021ba Section 0 helpers.o(i.kb_buf_pop)
i.kb_buf_reset 0x080021d2 Section 0 helpers.o(i.kb_buf_reset)
i.look_for_atten 0x080021f0 Section 0 adb.o(i.look_for_atten)
i.main 0x08002240 Section 0 main.o(i.main)
i.malloc 0x080023a0 Section 0 malloc.o(i.malloc)
i.micros 0x0800240c Section 0 delay_us.o(i.micros)
i.mouse_buf_add 0x0800241c Section 0 helpers.o(i.mouse_buf_add)
i.mouse_buf_init 0x0800244e Section 0 helpers.o(i.mouse_buf_init)
i.mouse_buf_is_empty 0x08002466 Section 0 helpers.o(i.mouse_buf_is_empty)
i.mouse_buf_is_full 0x08002476 Section 0 helpers.o(i.mouse_buf_is_full)
i.mouse_buf_peek 0x08002492 Section 0 helpers.o(i.mouse_buf_peek)
i.mouse_buf_reset 0x080024a8 Section 0 helpers.o(i.mouse_buf_reset)
i.parse_adb_cmd 0x080024c0 Section 0 adb.o(i.parse_adb_cmd)
i.protocol_status_lookup_init 0x0800258c Section 0 main.o(i.protocol_status_lookup_init)
i.send_srq 0x080025a8 Section 0 adb.o(i.send_srq)
i.spi_error_dump_reboot 0x080025d0 Section 0 main.o(i.spi_error_dump_reboot)
i.wait_until_change 0x0800264c Section 0 adb.o(i.wait_until_change)
.constdata 0x08002690 Section 186 adb.o(.constdata)
.constdata 0x0800274a Section 61 main.o(.constdata)
.constdata 0x08002787 Section 16 system_stm32f0xx.o(.constdata)
.constdata 0x08002797 Section 8 system_stm32f0xx.o(.constdata)
.data 0x20000000 Section 16 adb.o(.data)
.data 0x20000010 Section 4 delay_us.o(.data)
.data 0x20000014 Section 16 main.o(.data)
.data 0x20000024 Section 4 stm32f0xx_hal.o(.data)
.data 0x20000028 Section 4 system_stm32f0xx.o(.data)
.data 0x2000002c Section 4 rand.o(.data)
_rand_state 0x2000002c Data 4 rand.o(.data)
.data 0x20000030 Section 4 stdout.o(.data)
.data 0x20000014 Section 12 main.o(.data)
.data 0x20000020 Section 4 stm32f0xx_hal.o(.data)
.data 0x20000024 Section 4 system_stm32f0xx.o(.data)
.data 0x20000028 Section 4 rand.o(.data)
_rand_state 0x20000028 Data 4 rand.o(.data)
.data 0x2000002c Section 4 stdout.o(.data)
.data 0x20000030 Section 4 mvars.o(.data)
.data 0x20000034 Section 4 mvars.o(.data)
.data 0x20000038 Section 4 mvars.o(.data)
.bss 0x2000003c Section 380 main.o(.bss)
.bss 0x20000038 Section 380 main.o(.bss)
HEAP 0x200001b8 Section 512 startup_stm32f042x6.o(HEAP)
STACK 0x200003b8 Section 1024 startup_stm32f042x6.o(STACK)
@@ -1986,83 +1985,83 @@ Image Symbol Table
HAL_SPI_MspInit 0x08000c89 Thumb Code 76 stm32f0xx_hal_msp.o(i.HAL_SPI_MspInit)
HAL_SPI_RxCpltCallback 0x08000cdd Thumb Code 2 stm32f0xx_hal_spi.o(i.HAL_SPI_RxCpltCallback)
HAL_SPI_TransmitReceive_IT 0x08000ce1 Thumb Code 196 stm32f0xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT)
HAL_SPI_TxRxCpltCallback 0x08000db5 Thumb Code 318 main.o(i.HAL_SPI_TxRxCpltCallback)
HAL_SYSTICK_CLKSourceConfig 0x08000f0d Thumb Code 20 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig)
HAL_SYSTICK_Callback 0x08000f25 Thumb Code 2 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Callback)
HAL_SYSTICK_Config 0x08000f29 Thumb Code 38 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config)
HAL_SYSTICK_IRQHandler 0x08000f59 Thumb Code 8 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler)
HAL_TIMEx_MasterConfigSynchronization 0x08000f61 Thumb Code 72 stm32f0xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization)
HAL_TIM_Base_Init 0x08000fa9 Thumb Code 52 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Init)
HAL_TIM_Base_MspInit 0x08000fdd Thumb Code 30 stm32f0xx_hal_msp.o(i.HAL_TIM_Base_MspInit)
HAL_TIM_Base_Start 0x08001001 Thumb Code 24 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Start)
HAL_TIM_ConfigClockSource 0x08001019 Thumb Code 238 stm32f0xx_hal_tim.o(i.HAL_TIM_ConfigClockSource)
HAL_UART_MspInit 0x08001109 Thumb Code 62 stm32f0xx_hal_msp.o(i.HAL_UART_MspInit)
HAL_UART_Transmit 0x08001151 Thumb Code 200 stm32f0xx_hal_uart.o(i.HAL_UART_Transmit)
HardFault_Handler 0x08001219 Thumb Code 2 stm32f0xx_it.o(i.HardFault_Handler)
NMI_Handler 0x080013d9 Thumb Code 2 stm32f0xx_it.o(i.NMI_Handler)
PendSV_Handler 0x08001421 Thumb Code 2 stm32f0xx_it.o(i.PendSV_Handler)
SPI1_IRQHandler 0x08001425 Thumb Code 10 stm32f0xx_it.o(i.SPI1_IRQHandler)
SVC_Handler 0x08001717 Thumb Code 2 stm32f0xx_it.o(i.SVC_Handler)
SysTick_Handler 0x08001719 Thumb Code 12 stm32f0xx_it.o(i.SysTick_Handler)
SystemClock_Config 0x08001725 Thumb Code 90 main.o(i.SystemClock_Config)
SystemInit 0x08001781 Thumb Code 78 system_stm32f0xx.o(i.SystemInit)
TIM_Base_SetConfig 0x080017dd Thumb Code 112 stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig)
TIM_ETR_SetConfig 0x08001861 Thumb Code 22 stm32f0xx_hal_tim.o(i.TIM_ETR_SetConfig)
UART_AdvFeatureConfig 0x080018cf Thumb Code 202 stm32f0xx_hal_uart.o(i.UART_AdvFeatureConfig)
UART_CheckIdleState 0x08001999 Thumb Code 96 stm32f0xx_hal_uart.o(i.UART_CheckIdleState)
UART_SetConfig 0x08001a01 Thumb Code 280 stm32f0xx_hal_uart.o(i.UART_SetConfig)
UART_WaitOnFlagUntilTimeout 0x08001b31 Thumb Code 98 stm32f0xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
__0printf$3 0x08001b95 Thumb Code 24 printf3.o(i.__0printf$3)
__1printf$3 0x08001b95 Thumb Code 0 printf3.o(i.__0printf$3)
__2printf 0x08001b95 Thumb Code 0 printf3.o(i.__0printf$3)
__scatterload_copy 0x08001bb5 Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x08001bc3 Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x08001bc5 Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
adb_init 0x08001da1 Thumb Code 18 adb.o(i.adb_init)
adb_keyboard_update 0x08001db9 Thumb Code 62 main.o(i.adb_keyboard_update)
adb_listen_16b 0x08001e05 Thumb Code 98 adb.o(i.adb_listen_16b)
adb_mouse_update 0x08001e71 Thumb Code 74 main.o(i.adb_mouse_update)
adb_read_bit 0x08001ec1 Thumb Code 56 adb.o(i.adb_read_bit)
adb_recv_cmd 0x08001f01 Thumb Code 70 adb.o(i.adb_recv_cmd)
adb_release_lines 0x08001f51 Thumb Code 26 adb.o(i.adb_release_lines)
adb_reset 0x08001f71 Thumb Code 18 adb.o(i.adb_reset)
adb_send_response_16b 0x08001f89 Thumb Code 98 adb.o(i.adb_send_response_16b)
adb_write_16 0x08001ff1 Thumb Code 28 adb.o(i.adb_write_16)
adb_write_byte 0x0800200d Thumb Code 120 adb.o(i.adb_write_byte)
byte_to_int16_t 0x08002089 Thumb Code 8 main.o(i.byte_to_int16_t)
delay_us 0x08002091 Thumb Code 20 delay_us.o(i.delay_us)
delay_us_init 0x080020a5 Thumb Code 12 delay_us.o(i.delay_us_init)
fputc 0x080020b5 Thumb Code 18 main.o(i.fputc)
handle_protocol_switch 0x080020cd Thumb Code 70 main.o(i.handle_protocol_switch)
int16_to_uint6 0x08002119 Thumb Code 30 main.o(i.int16_to_uint6)
kb_buf_add 0x08002137 Thumb Code 48 helpers.o(i.kb_buf_add)
kb_buf_init 0x08002167 Thumb Code 32 helpers.o(i.kb_buf_init)
kb_buf_is_empty 0x08002187 Thumb Code 16 helpers.o(i.kb_buf_is_empty)
kb_buf_is_full 0x08002197 Thumb Code 28 helpers.o(i.kb_buf_is_full)
kb_buf_peek 0x080021b3 Thumb Code 32 helpers.o(i.kb_buf_peek)
kb_buf_pop 0x080021d3 Thumb Code 24 helpers.o(i.kb_buf_pop)
kb_buf_reset 0x080021eb Thumb Code 28 helpers.o(i.kb_buf_reset)
look_for_atten 0x08002209 Thumb Code 70 adb.o(i.look_for_atten)
main 0x08002259 Thumb Code 302 main.o(i.main)
malloc 0x080023bd Thumb Code 92 malloc.o(i.malloc)
micros 0x08002429 Thumb Code 10 delay_us.o(i.micros)
mouse_buf_add 0x08002439 Thumb Code 50 helpers.o(i.mouse_buf_add)
mouse_buf_init 0x0800246b Thumb Code 24 helpers.o(i.mouse_buf_init)
mouse_buf_is_empty 0x08002483 Thumb Code 16 helpers.o(i.mouse_buf_is_empty)
mouse_buf_is_full 0x08002493 Thumb Code 28 helpers.o(i.mouse_buf_is_full)
mouse_buf_peek 0x080024af Thumb Code 22 helpers.o(i.mouse_buf_peek)
mouse_buf_reset 0x080024c5 Thumb Code 22 helpers.o(i.mouse_buf_reset)
parse_adb_cmd 0x080024dd Thumb Code 196 adb.o(i.parse_adb_cmd)
protocol_status_lookup_init 0x080025a9 Thumb Code 22 main.o(i.protocol_status_lookup_init)
send_srq 0x080025c5 Thumb Code 34 adb.o(i.send_srq)
spi_error_dump_reboot 0x080025ed Thumb Code 76 main.o(i.spi_error_dump_reboot)
wait_until_change 0x08002669 Thumb Code 62 adb.o(i.wait_until_change)
linux_ev_to_adb_lookup 0x080026ac Data 186 adb.o(.constdata)
boot_message 0x08002766 Data 61 main.o(.constdata)
AHBPrescTable 0x080027a3 Data 16 system_stm32f0xx.o(.constdata)
APBPrescTable 0x080027b3 Data 8 system_stm32f0xx.o(.constdata)
Region$$Table$$Base 0x080027bc Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x080027dc Number 0 anon$$obj.o(Region$$Table)
HAL_SPI_TxRxCpltCallback 0x08000db5 Thumb Code 296 main.o(i.HAL_SPI_TxRxCpltCallback)
HAL_SYSTICK_CLKSourceConfig 0x08000ef5 Thumb Code 20 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig)
HAL_SYSTICK_Callback 0x08000f0d Thumb Code 2 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Callback)
HAL_SYSTICK_Config 0x08000f11 Thumb Code 38 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config)
HAL_SYSTICK_IRQHandler 0x08000f41 Thumb Code 8 stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler)
HAL_TIMEx_MasterConfigSynchronization 0x08000f49 Thumb Code 72 stm32f0xx_hal_tim_ex.o(i.HAL_TIMEx_MasterConfigSynchronization)
HAL_TIM_Base_Init 0x08000f91 Thumb Code 52 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Init)
HAL_TIM_Base_MspInit 0x08000fc5 Thumb Code 30 stm32f0xx_hal_msp.o(i.HAL_TIM_Base_MspInit)
HAL_TIM_Base_Start 0x08000fe9 Thumb Code 24 stm32f0xx_hal_tim.o(i.HAL_TIM_Base_Start)
HAL_TIM_ConfigClockSource 0x08001001 Thumb Code 238 stm32f0xx_hal_tim.o(i.HAL_TIM_ConfigClockSource)
HAL_UART_MspInit 0x080010f1 Thumb Code 62 stm32f0xx_hal_msp.o(i.HAL_UART_MspInit)
HAL_UART_Transmit 0x08001139 Thumb Code 200 stm32f0xx_hal_uart.o(i.HAL_UART_Transmit)
HardFault_Handler 0x08001201 Thumb Code 2 stm32f0xx_it.o(i.HardFault_Handler)
NMI_Handler 0x080013c1 Thumb Code 2 stm32f0xx_it.o(i.NMI_Handler)
PendSV_Handler 0x08001409 Thumb Code 2 stm32f0xx_it.o(i.PendSV_Handler)
SPI1_IRQHandler 0x0800140d Thumb Code 10 stm32f0xx_it.o(i.SPI1_IRQHandler)
SVC_Handler 0x080016ff Thumb Code 2 stm32f0xx_it.o(i.SVC_Handler)
SysTick_Handler 0x08001701 Thumb Code 12 stm32f0xx_it.o(i.SysTick_Handler)
SystemClock_Config 0x0800170d Thumb Code 90 main.o(i.SystemClock_Config)
SystemInit 0x08001769 Thumb Code 78 system_stm32f0xx.o(i.SystemInit)
TIM_Base_SetConfig 0x080017c5 Thumb Code 112 stm32f0xx_hal_tim.o(i.TIM_Base_SetConfig)
TIM_ETR_SetConfig 0x08001849 Thumb Code 22 stm32f0xx_hal_tim.o(i.TIM_ETR_SetConfig)
UART_AdvFeatureConfig 0x080018b7 Thumb Code 202 stm32f0xx_hal_uart.o(i.UART_AdvFeatureConfig)
UART_CheckIdleState 0x08001981 Thumb Code 96 stm32f0xx_hal_uart.o(i.UART_CheckIdleState)
UART_SetConfig 0x080019e9 Thumb Code 280 stm32f0xx_hal_uart.o(i.UART_SetConfig)
UART_WaitOnFlagUntilTimeout 0x08001b19 Thumb Code 98 stm32f0xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
__0printf$3 0x08001b7d Thumb Code 24 printf3.o(i.__0printf$3)
__1printf$3 0x08001b7d Thumb Code 0 printf3.o(i.__0printf$3)
__2printf 0x08001b7d Thumb Code 0 printf3.o(i.__0printf$3)
__scatterload_copy 0x08001b9d Thumb Code 14 handlers.o(i.__scatterload_copy)
__scatterload_null 0x08001bab Thumb Code 2 handlers.o(i.__scatterload_null)
__scatterload_zeroinit 0x08001bad Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
adb_init 0x08001d89 Thumb Code 18 adb.o(i.adb_init)
adb_keyboard_update 0x08001da1 Thumb Code 62 main.o(i.adb_keyboard_update)
adb_listen_16b 0x08001ded Thumb Code 98 adb.o(i.adb_listen_16b)
adb_mouse_update 0x08001e59 Thumb Code 74 main.o(i.adb_mouse_update)
adb_read_bit 0x08001ea9 Thumb Code 56 adb.o(i.adb_read_bit)
adb_recv_cmd 0x08001ee9 Thumb Code 70 adb.o(i.adb_recv_cmd)
adb_release_lines 0x08001f39 Thumb Code 26 adb.o(i.adb_release_lines)
adb_reset 0x08001f59 Thumb Code 18 adb.o(i.adb_reset)
adb_send_response_16b 0x08001f71 Thumb Code 98 adb.o(i.adb_send_response_16b)
adb_write_16 0x08001fd9 Thumb Code 28 adb.o(i.adb_write_16)
adb_write_byte 0x08001ff5 Thumb Code 120 adb.o(i.adb_write_byte)
byte_to_int16_t 0x08002071 Thumb Code 8 main.o(i.byte_to_int16_t)
delay_us 0x08002079 Thumb Code 20 delay_us.o(i.delay_us)
delay_us_init 0x0800208d Thumb Code 12 delay_us.o(i.delay_us_init)
fputc 0x0800209d Thumb Code 18 main.o(i.fputc)
handle_protocol_switch 0x080020b5 Thumb Code 70 main.o(i.handle_protocol_switch)
int16_to_uint6 0x08002101 Thumb Code 30 main.o(i.int16_to_uint6)
kb_buf_add 0x0800211f Thumb Code 48 helpers.o(i.kb_buf_add)
kb_buf_init 0x0800214f Thumb Code 32 helpers.o(i.kb_buf_init)
kb_buf_is_empty 0x0800216f Thumb Code 16 helpers.o(i.kb_buf_is_empty)
kb_buf_is_full 0x0800217f Thumb Code 28 helpers.o(i.kb_buf_is_full)
kb_buf_peek 0x0800219b Thumb Code 32 helpers.o(i.kb_buf_peek)
kb_buf_pop 0x080021bb Thumb Code 24 helpers.o(i.kb_buf_pop)
kb_buf_reset 0x080021d3 Thumb Code 28 helpers.o(i.kb_buf_reset)
look_for_atten 0x080021f1 Thumb Code 70 adb.o(i.look_for_atten)
main 0x08002241 Thumb Code 300 main.o(i.main)
malloc 0x080023a1 Thumb Code 92 malloc.o(i.malloc)
micros 0x0800240d Thumb Code 10 delay_us.o(i.micros)
mouse_buf_add 0x0800241d Thumb Code 50 helpers.o(i.mouse_buf_add)
mouse_buf_init 0x0800244f Thumb Code 24 helpers.o(i.mouse_buf_init)
mouse_buf_is_empty 0x08002467 Thumb Code 16 helpers.o(i.mouse_buf_is_empty)
mouse_buf_is_full 0x08002477 Thumb Code 28 helpers.o(i.mouse_buf_is_full)
mouse_buf_peek 0x08002493 Thumb Code 22 helpers.o(i.mouse_buf_peek)
mouse_buf_reset 0x080024a9 Thumb Code 22 helpers.o(i.mouse_buf_reset)
parse_adb_cmd 0x080024c1 Thumb Code 196 adb.o(i.parse_adb_cmd)
protocol_status_lookup_init 0x0800258d Thumb Code 22 main.o(i.protocol_status_lookup_init)
send_srq 0x080025a9 Thumb Code 34 adb.o(i.send_srq)
spi_error_dump_reboot 0x080025d1 Thumb Code 76 main.o(i.spi_error_dump_reboot)
wait_until_change 0x0800264d Thumb Code 62 adb.o(i.wait_until_change)
linux_ev_to_adb_lookup 0x08002690 Data 186 adb.o(.constdata)
boot_message 0x0800274a Data 61 main.o(.constdata)
AHBPrescTable 0x08002787 Data 16 system_stm32f0xx.o(.constdata)
APBPrescTable 0x08002797 Data 8 system_stm32f0xx.o(.constdata)
Region$$Table$$Base 0x080027a0 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x080027c0 Number 0 anon$$obj.o(Region$$Table)
adb_mouse_current_addr 0x20000000 Data 1 adb.o(.data)
adb_kb_current_addr 0x20000001 Data 1 adb.o(.data)
adb_rw_in_progress 0x20000002 Data 1 adb.o(.data)
@@ -2073,21 +2072,20 @@ Image Symbol Table
us_timer 0x20000010 Data 4 delay_us.o(.data)
hw_revision 0x20000014 Data 1 main.o(.data)
spi_error_occured 0x20000015 Data 1 main.o(.data)
last_spi_ts 0x20000018 Data 4 main.o(.data)
my_mouse_buf 0x2000001c Data 8 main.o(.data)
uwTick 0x20000024 Data 4 stm32f0xx_hal.o(.data)
SystemCoreClock 0x20000028 Data 4 system_stm32f0xx.o(.data)
__stdout 0x20000030 Data 4 stdout.o(.data)
__microlib_freelist 0x20000034 Data 4 mvars.o(.data)
__microlib_freelist_initialised 0x20000038 Data 4 mvars.o(.data)
hspi1 0x2000003c Data 100 main.o(.bss)
htim2 0x200000a0 Data 64 main.o(.bss)
huart2 0x200000e0 Data 112 main.o(.bss)
spi_transmit_buf 0x20000150 Data 32 main.o(.bss)
spi_recv_buf 0x20000170 Data 32 main.o(.bss)
my_kb_buf 0x20000190 Data 12 main.o(.bss)
latest_mouse_event 0x2000019c Data 12 main.o(.bss)
protocol_status_lookup 0x200001a8 Data 16 main.o(.bss)
my_mouse_buf 0x20000018 Data 8 main.o(.data)
uwTick 0x20000020 Data 4 stm32f0xx_hal.o(.data)
SystemCoreClock 0x20000024 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)
huart2 0x200000dc Data 112 main.o(.bss)
spi_transmit_buf 0x2000014c Data 32 main.o(.bss)
spi_recv_buf 0x2000016c Data 32 main.o(.bss)
my_kb_buf 0x2000018c Data 12 main.o(.bss)
latest_mouse_event 0x20000198 Data 12 main.o(.bss)
protocol_status_lookup 0x200001a4 Data 16 main.o(.bss)
__heap_base 0x200001b8 Data 0 startup_stm32f042x6.o(HEAP)
__heap_limit 0x200003b8 Data 0 startup_stm32f042x6.o(HEAP)
__initial_sp 0x200007b8 Data 0 startup_stm32f042x6.o(STACK)
@@ -2100,9 +2098,9 @@ Memory Map of the image
Image Entry point : 0x080000c1
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00002818, Max: 0x00008000, ABSOLUTE)
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000027f8, Max: 0x00008000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000027dc, Max: 0x00008000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000027c0, Max: 0x00008000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
@@ -2153,125 +2151,126 @@ Memory Map of the image
0x08000cdc 0x08000cdc 0x00000002 Code RO 610 i.HAL_SPI_RxCpltCallback stm32f0xx_hal_spi.o
0x08000cde 0x08000cde 0x00000002 PAD
0x08000ce0 0x08000ce0 0x000000d4 Code RO 615 i.HAL_SPI_TransmitReceive_IT stm32f0xx_hal_spi.o
0x08000db4 0x08000db4 0x00000158 Code RO 355 i.HAL_SPI_TxRxCpltCallback main.o
0x08000f0c 0x08000f0c 0x00000018 Code RO 3167 i.HAL_SYSTICK_CLKSourceConfig stm32f0xx_hal_cortex.o
0x08000f24 0x08000f24 0x00000002 Code RO 3168 i.HAL_SYSTICK_Callback stm32f0xx_hal_cortex.o
0x08000f26 0x08000f26 0x00000002 PAD
0x08000f28 0x08000f28 0x00000030 Code RO 3169 i.HAL_SYSTICK_Config stm32f0xx_hal_cortex.o
0x08000f58 0x08000f58 0x00000008 Code RO 3170 i.HAL_SYSTICK_IRQHandler stm32f0xx_hal_cortex.o
0x08000f60 0x08000f60 0x00000048 Code RO 1594 i.HAL_TIMEx_MasterConfigSynchronization stm32f0xx_hal_tim_ex.o
0x08000fa8 0x08000fa8 0x00000034 Code RO 938 i.HAL_TIM_Base_Init stm32f0xx_hal_tim.o
0x08000fdc 0x08000fdc 0x00000024 Code RO 541 i.HAL_TIM_Base_MspInit stm32f0xx_hal_msp.o
0x08001000 0x08001000 0x00000018 Code RO 941 i.HAL_TIM_Base_Start stm32f0xx_hal_tim.o
0x08001018 0x08001018 0x000000ee Code RO 947 i.HAL_TIM_ConfigClockSource stm32f0xx_hal_tim.o
0x08001106 0x08001106 0x00000002 PAD
0x08001108 0x08001108 0x00000048 Code RO 543 i.HAL_UART_MspInit stm32f0xx_hal_msp.o
0x08001150 0x08001150 0x000000c8 Code RO 1844 i.HAL_UART_Transmit stm32f0xx_hal_uart.o
0x08001218 0x08001218 0x00000002 Code RO 483 i.HardFault_Handler stm32f0xx_it.o
0x0800121a 0x0800121a 0x00000002 PAD
0x0800121c 0x0800121c 0x000000f4 Code RO 356 i.MX_GPIO_Init main.o
0x08001310 0x08001310 0x0000003c Code RO 357 i.MX_SPI1_Init main.o
0x0800134c 0x0800134c 0x00000054 Code RO 358 i.MX_TIM2_Init main.o
0x080013a0 0x080013a0 0x00000038 Code RO 359 i.MX_USART2_UART_Init main.o
0x080013d8 0x080013d8 0x00000002 Code RO 484 i.NMI_Handler stm32f0xx_it.o
0x080013da 0x080013da 0x00000002 PAD
0x080013dc 0x080013dc 0x00000044 Code RO 3171 i.NVIC_SetPriority stm32f0xx_hal_cortex.o
0x08001420 0x08001420 0x00000002 Code RO 485 i.PendSV_Handler stm32f0xx_it.o
0x08001422 0x08001422 0x00000002 PAD
0x08001424 0x08001424 0x00000010 Code RO 486 i.SPI1_IRQHandler stm32f0xx_it.o
0x08001434 0x08001434 0x00000036 Code RO 622 i.SPI_2linesRxISR_16BIT stm32f0xx_hal_spi.o
0x0800146a 0x0800146a 0x0000005e Code RO 623 i.SPI_2linesRxISR_8BIT stm32f0xx_hal_spi.o
0x080014c8 0x080014c8 0x00000034 Code RO 624 i.SPI_2linesTxISR_16BIT stm32f0xx_hal_spi.o
0x080014fc 0x080014fc 0x00000048 Code RO 625 i.SPI_2linesTxISR_8BIT stm32f0xx_hal_spi.o
0x08001544 0x08001544 0x00000052 Code RO 628 i.SPI_CloseRxTx_ISR stm32f0xx_hal_spi.o
0x08001596 0x08001596 0x00000012 Code RO 631 i.SPI_DMAAbortOnError stm32f0xx_hal_spi.o
0x080015a8 0x080015a8 0x0000004c Code RO 642 i.SPI_EndRxTxTransaction stm32f0xx_hal_spi.o
0x080015f4 0x080015f4 0x00000096 Code RO 647 i.SPI_WaitFifoStateUntilTimeout stm32f0xx_hal_spi.o
0x0800168a 0x0800168a 0x0000008c Code RO 648 i.SPI_WaitFlagStateUntilTimeout stm32f0xx_hal_spi.o
0x08001716 0x08001716 0x00000002 Code RO 487 i.SVC_Handler stm32f0xx_it.o
0x08001718 0x08001718 0x0000000c Code RO 488 i.SysTick_Handler stm32f0xx_it.o
0x08001724 0x08001724 0x0000005a Code RO 360 i.SystemClock_Config main.o
0x0800177e 0x0800177e 0x00000002 PAD
0x08001780 0x08001780 0x0000005c Code RO 3578 i.SystemInit system_stm32f0xx.o
0x080017dc 0x080017dc 0x00000084 Code RO 1024 i.TIM_Base_SetConfig stm32f0xx_hal_tim.o
0x08001860 0x08001860 0x00000016 Code RO 1031 i.TIM_ETR_SetConfig stm32f0xx_hal_tim.o
0x08001876 0x08001876 0x00000010 Code RO 1032 i.TIM_ITRx_SetConfig stm32f0xx_hal_tim.o
0x08001886 0x08001886 0x00000022 Code RO 1038 i.TIM_TI1_ConfigInputStage stm32f0xx_hal_tim.o
0x080018a8 0x080018a8 0x00000026 Code RO 1040 i.TIM_TI2_ConfigInputStage stm32f0xx_hal_tim.o
0x080018ce 0x080018ce 0x000000ca Code RO 1849 i.UART_AdvFeatureConfig stm32f0xx_hal_uart.o
0x08001998 0x08001998 0x00000068 Code RO 1850 i.UART_CheckIdleState stm32f0xx_hal_uart.o
0x08001a00 0x08001a00 0x00000130 Code RO 1865 i.UART_SetConfig stm32f0xx_hal_uart.o
0x08001b30 0x08001b30 0x00000062 Code RO 1867 i.UART_WaitOnFlagUntilTimeout stm32f0xx_hal_uart.o
0x08001b92 0x08001b92 0x00000002 PAD
0x08001b94 0x08001b94 0x00000020 Code RO 3716 i.__0printf$3 mc_p.l(printf3.o)
0x08001bb4 0x08001bb4 0x0000000e Code RO 3958 i.__scatterload_copy mc_p.l(handlers.o)
0x08001bc2 0x08001bc2 0x00000002 Code RO 3959 i.__scatterload_null mc_p.l(handlers.o)
0x08001bc4 0x08001bc4 0x0000000e Code RO 3960 i.__scatterload_zeroinit mc_p.l(handlers.o)
0x08001bd2 0x08001bd2 0x00000002 PAD
0x08001bd4 0x08001bd4 0x000001cc Code RO 3723 i._printf_core mc_p.l(printf3.o)
0x08001da0 0x08001da0 0x00000018 Code RO 12 i.adb_init adb.o
0x08001db8 0x08001db8 0x0000004c Code RO 362 i.adb_keyboard_update main.o
0x08001e04 0x08001e04 0x0000006c Code RO 13 i.adb_listen_16b adb.o
0x08001e70 0x08001e70 0x00000050 Code RO 363 i.adb_mouse_update main.o
0x08001ec0 0x08001ec0 0x00000040 Code RO 14 i.adb_read_bit adb.o
0x08001f00 0x08001f00 0x00000050 Code RO 15 i.adb_recv_cmd adb.o
0x08001f50 0x08001f50 0x00000020 Code RO 16 i.adb_release_lines adb.o
0x08001f70 0x08001f70 0x00000018 Code RO 17 i.adb_reset adb.o
0x08001f88 0x08001f88 0x00000068 Code RO 18 i.adb_send_response_16b adb.o
0x08001ff0 0x08001ff0 0x0000001c Code RO 19 i.adb_write_16 adb.o
0x0800200c 0x0800200c 0x0000007c Code RO 20 i.adb_write_byte adb.o
0x08002088 0x08002088 0x00000008 Code RO 364 i.byte_to_int16_t main.o
0x08002090 0x08002090 0x00000014 Code RO 225 i.delay_us delay_us.o
0x080020a4 0x080020a4 0x00000010 Code RO 226 i.delay_us_init delay_us.o
0x080020b4 0x080020b4 0x00000018 Code RO 365 i.fputc main.o
0x080020cc 0x080020cc 0x0000004c Code RO 366 i.handle_protocol_switch main.o
0x08002118 0x08002118 0x0000001e Code RO 367 i.int16_to_uint6 main.o
0x08002136 0x08002136 0x00000030 Code RO 260 i.kb_buf_add helpers.o
0x08002166 0x08002166 0x00000020 Code RO 261 i.kb_buf_init helpers.o
0x08002186 0x08002186 0x00000010 Code RO 262 i.kb_buf_is_empty helpers.o
0x08002196 0x08002196 0x0000001c Code RO 263 i.kb_buf_is_full helpers.o
0x080021b2 0x080021b2 0x00000020 Code RO 264 i.kb_buf_peek helpers.o
0x080021d2 0x080021d2 0x00000018 Code RO 265 i.kb_buf_pop helpers.o
0x080021ea 0x080021ea 0x0000001c Code RO 266 i.kb_buf_reset helpers.o
0x08002206 0x08002206 0x00000002 PAD
0x08002208 0x08002208 0x00000050 Code RO 21 i.look_for_atten adb.o
0x08002258 0x08002258 0x00000164 Code RO 369 i.main main.o
0x080023bc 0x080023bc 0x0000006c Code RO 3889 i.malloc mc_p.l(malloc.o)
0x08002428 0x08002428 0x00000010 Code RO 227 i.micros delay_us.o
0x08002438 0x08002438 0x00000032 Code RO 267 i.mouse_buf_add helpers.o
0x0800246a 0x0800246a 0x00000018 Code RO 268 i.mouse_buf_init helpers.o
0x08002482 0x08002482 0x00000010 Code RO 269 i.mouse_buf_is_empty helpers.o
0x08002492 0x08002492 0x0000001c Code RO 270 i.mouse_buf_is_full helpers.o
0x080024ae 0x080024ae 0x00000016 Code RO 271 i.mouse_buf_peek helpers.o
0x080024c4 0x080024c4 0x00000016 Code RO 273 i.mouse_buf_reset helpers.o
0x080024da 0x080024da 0x00000002 PAD
0x080024dc 0x080024dc 0x000000cc Code RO 22 i.parse_adb_cmd adb.o
0x080025a8 0x080025a8 0x0000001c Code RO 370 i.protocol_status_lookup_init main.o
0x080025c4 0x080025c4 0x00000028 Code RO 23 i.send_srq adb.o
0x080025ec 0x080025ec 0x0000007c Code RO 371 i.spi_error_dump_reboot main.o
0x08002668 0x08002668 0x00000044 Code RO 24 i.wait_until_change adb.o
0x080026ac 0x080026ac 0x000000ba Data RO 25 .constdata adb.o
0x08002766 0x08002766 0x0000003d Data RO 377 .constdata main.o
0x080027a3 0x080027a3 0x00000010 Data RO 3579 .constdata system_stm32f0xx.o
0x080027b3 0x080027b3 0x00000008 Data RO 3580 .constdata system_stm32f0xx.o
0x080027bb 0x080027bb 0x00000001 PAD
0x080027bc 0x080027bc 0x00000020 Data RO 3956 Region$$Table anon$$obj.o
0x08000db4 0x08000db4 0x00000140 Code RO 355 i.HAL_SPI_TxRxCpltCallback main.o
0x08000ef4 0x08000ef4 0x00000018 Code RO 3167 i.HAL_SYSTICK_CLKSourceConfig stm32f0xx_hal_cortex.o
0x08000f0c 0x08000f0c 0x00000002 Code RO 3168 i.HAL_SYSTICK_Callback stm32f0xx_hal_cortex.o
0x08000f0e 0x08000f0e 0x00000002 PAD
0x08000f10 0x08000f10 0x00000030 Code RO 3169 i.HAL_SYSTICK_Config stm32f0xx_hal_cortex.o
0x08000f40 0x08000f40 0x00000008 Code RO 3170 i.HAL_SYSTICK_IRQHandler stm32f0xx_hal_cortex.o
0x08000f48 0x08000f48 0x00000048 Code RO 1594 i.HAL_TIMEx_MasterConfigSynchronization stm32f0xx_hal_tim_ex.o
0x08000f90 0x08000f90 0x00000034 Code RO 938 i.HAL_TIM_Base_Init stm32f0xx_hal_tim.o
0x08000fc4 0x08000fc4 0x00000024 Code RO 541 i.HAL_TIM_Base_MspInit stm32f0xx_hal_msp.o
0x08000fe8 0x08000fe8 0x00000018 Code RO 941 i.HAL_TIM_Base_Start stm32f0xx_hal_tim.o
0x08001000 0x08001000 0x000000ee Code RO 947 i.HAL_TIM_ConfigClockSource stm32f0xx_hal_tim.o
0x080010ee 0x080010ee 0x00000002 PAD
0x080010f0 0x080010f0 0x00000048 Code RO 543 i.HAL_UART_MspInit stm32f0xx_hal_msp.o
0x08001138 0x08001138 0x000000c8 Code RO 1844 i.HAL_UART_Transmit stm32f0xx_hal_uart.o
0x08001200 0x08001200 0x00000002 Code RO 483 i.HardFault_Handler stm32f0xx_it.o
0x08001202 0x08001202 0x00000002 PAD
0x08001204 0x08001204 0x000000f4 Code RO 356 i.MX_GPIO_Init main.o
0x080012f8 0x080012f8 0x0000003c Code RO 357 i.MX_SPI1_Init main.o
0x08001334 0x08001334 0x00000054 Code RO 358 i.MX_TIM2_Init main.o
0x08001388 0x08001388 0x00000038 Code RO 359 i.MX_USART2_UART_Init main.o
0x080013c0 0x080013c0 0x00000002 Code RO 484 i.NMI_Handler stm32f0xx_it.o
0x080013c2 0x080013c2 0x00000002 PAD
0x080013c4 0x080013c4 0x00000044 Code RO 3171 i.NVIC_SetPriority stm32f0xx_hal_cortex.o
0x08001408 0x08001408 0x00000002 Code RO 485 i.PendSV_Handler stm32f0xx_it.o
0x0800140a 0x0800140a 0x00000002 PAD
0x0800140c 0x0800140c 0x00000010 Code RO 486 i.SPI1_IRQHandler stm32f0xx_it.o
0x0800141c 0x0800141c 0x00000036 Code RO 622 i.SPI_2linesRxISR_16BIT stm32f0xx_hal_spi.o
0x08001452 0x08001452 0x0000005e Code RO 623 i.SPI_2linesRxISR_8BIT stm32f0xx_hal_spi.o
0x080014b0 0x080014b0 0x00000034 Code RO 624 i.SPI_2linesTxISR_16BIT stm32f0xx_hal_spi.o
0x080014e4 0x080014e4 0x00000048 Code RO 625 i.SPI_2linesTxISR_8BIT stm32f0xx_hal_spi.o
0x0800152c 0x0800152c 0x00000052 Code RO 628 i.SPI_CloseRxTx_ISR stm32f0xx_hal_spi.o
0x0800157e 0x0800157e 0x00000012 Code RO 631 i.SPI_DMAAbortOnError stm32f0xx_hal_spi.o
0x08001590 0x08001590 0x0000004c Code RO 642 i.SPI_EndRxTxTransaction stm32f0xx_hal_spi.o
0x080015dc 0x080015dc 0x00000096 Code RO 647 i.SPI_WaitFifoStateUntilTimeout stm32f0xx_hal_spi.o
0x08001672 0x08001672 0x0000008c Code RO 648 i.SPI_WaitFlagStateUntilTimeout stm32f0xx_hal_spi.o
0x080016fe 0x080016fe 0x00000002 Code RO 487 i.SVC_Handler stm32f0xx_it.o
0x08001700 0x08001700 0x0000000c Code RO 488 i.SysTick_Handler stm32f0xx_it.o
0x0800170c 0x0800170c 0x0000005a Code RO 360 i.SystemClock_Config main.o
0x08001766 0x08001766 0x00000002 PAD
0x08001768 0x08001768 0x0000005c Code RO 3578 i.SystemInit system_stm32f0xx.o
0x080017c4 0x080017c4 0x00000084 Code RO 1024 i.TIM_Base_SetConfig stm32f0xx_hal_tim.o
0x08001848 0x08001848 0x00000016 Code RO 1031 i.TIM_ETR_SetConfig stm32f0xx_hal_tim.o
0x0800185e 0x0800185e 0x00000010 Code RO 1032 i.TIM_ITRx_SetConfig stm32f0xx_hal_tim.o
0x0800186e 0x0800186e 0x00000022 Code RO 1038 i.TIM_TI1_ConfigInputStage stm32f0xx_hal_tim.o
0x08001890 0x08001890 0x00000026 Code RO 1040 i.TIM_TI2_ConfigInputStage stm32f0xx_hal_tim.o
0x080018b6 0x080018b6 0x000000ca Code RO 1849 i.UART_AdvFeatureConfig stm32f0xx_hal_uart.o
0x08001980 0x08001980 0x00000068 Code RO 1850 i.UART_CheckIdleState stm32f0xx_hal_uart.o
0x080019e8 0x080019e8 0x00000130 Code RO 1865 i.UART_SetConfig stm32f0xx_hal_uart.o
0x08001b18 0x08001b18 0x00000062 Code RO 1867 i.UART_WaitOnFlagUntilTimeout stm32f0xx_hal_uart.o
0x08001b7a 0x08001b7a 0x00000002 PAD
0x08001b7c 0x08001b7c 0x00000020 Code RO 3716 i.__0printf$3 mc_p.l(printf3.o)
0x08001b9c 0x08001b9c 0x0000000e Code RO 3958 i.__scatterload_copy mc_p.l(handlers.o)
0x08001baa 0x08001baa 0x00000002 Code RO 3959 i.__scatterload_null mc_p.l(handlers.o)
0x08001bac 0x08001bac 0x0000000e Code RO 3960 i.__scatterload_zeroinit mc_p.l(handlers.o)
0x08001bba 0x08001bba 0x00000002 PAD
0x08001bbc 0x08001bbc 0x000001cc Code RO 3723 i._printf_core mc_p.l(printf3.o)
0x08001d88 0x08001d88 0x00000018 Code RO 12 i.adb_init adb.o
0x08001da0 0x08001da0 0x0000004c Code RO 362 i.adb_keyboard_update main.o
0x08001dec 0x08001dec 0x0000006c Code RO 13 i.adb_listen_16b adb.o
0x08001e58 0x08001e58 0x00000050 Code RO 363 i.adb_mouse_update main.o
0x08001ea8 0x08001ea8 0x00000040 Code RO 14 i.adb_read_bit adb.o
0x08001ee8 0x08001ee8 0x00000050 Code RO 15 i.adb_recv_cmd adb.o
0x08001f38 0x08001f38 0x00000020 Code RO 16 i.adb_release_lines adb.o
0x08001f58 0x08001f58 0x00000018 Code RO 17 i.adb_reset adb.o
0x08001f70 0x08001f70 0x00000068 Code RO 18 i.adb_send_response_16b adb.o
0x08001fd8 0x08001fd8 0x0000001c Code RO 19 i.adb_write_16 adb.o
0x08001ff4 0x08001ff4 0x0000007c Code RO 20 i.adb_write_byte adb.o
0x08002070 0x08002070 0x00000008 Code RO 364 i.byte_to_int16_t main.o
0x08002078 0x08002078 0x00000014 Code RO 225 i.delay_us delay_us.o
0x0800208c 0x0800208c 0x00000010 Code RO 226 i.delay_us_init delay_us.o
0x0800209c 0x0800209c 0x00000018 Code RO 365 i.fputc main.o
0x080020b4 0x080020b4 0x0000004c Code RO 366 i.handle_protocol_switch main.o
0x08002100 0x08002100 0x0000001e Code RO 367 i.int16_to_uint6 main.o
0x0800211e 0x0800211e 0x00000030 Code RO 260 i.kb_buf_add helpers.o
0x0800214e 0x0800214e 0x00000020 Code RO 261 i.kb_buf_init helpers.o
0x0800216e 0x0800216e 0x00000010 Code RO 262 i.kb_buf_is_empty helpers.o
0x0800217e 0x0800217e 0x0000001c Code RO 263 i.kb_buf_is_full helpers.o
0x0800219a 0x0800219a 0x00000020 Code RO 264 i.kb_buf_peek helpers.o
0x080021ba 0x080021ba 0x00000018 Code RO 265 i.kb_buf_pop helpers.o
0x080021d2 0x080021d2 0x0000001c Code RO 266 i.kb_buf_reset helpers.o
0x080021ee 0x080021ee 0x00000002 PAD
0x080021f0 0x080021f0 0x00000050 Code RO 21 i.look_for_atten adb.o
0x08002240 0x08002240 0x00000160 Code RO 369 i.main main.o
0x080023a0 0x080023a0 0x0000006c Code RO 3889 i.malloc mc_p.l(malloc.o)
0x0800240c 0x0800240c 0x00000010 Code RO 227 i.micros delay_us.o
0x0800241c 0x0800241c 0x00000032 Code RO 267 i.mouse_buf_add helpers.o
0x0800244e 0x0800244e 0x00000018 Code RO 268 i.mouse_buf_init helpers.o
0x08002466 0x08002466 0x00000010 Code RO 269 i.mouse_buf_is_empty helpers.o
0x08002476 0x08002476 0x0000001c Code RO 270 i.mouse_buf_is_full helpers.o
0x08002492 0x08002492 0x00000016 Code RO 271 i.mouse_buf_peek helpers.o
0x080024a8 0x080024a8 0x00000016 Code RO 273 i.mouse_buf_reset helpers.o
0x080024be 0x080024be 0x00000002 PAD
0x080024c0 0x080024c0 0x000000cc Code RO 22 i.parse_adb_cmd adb.o
0x0800258c 0x0800258c 0x0000001c Code RO 370 i.protocol_status_lookup_init main.o
0x080025a8 0x080025a8 0x00000028 Code RO 23 i.send_srq adb.o
0x080025d0 0x080025d0 0x0000007c Code RO 371 i.spi_error_dump_reboot main.o
0x0800264c 0x0800264c 0x00000044 Code RO 24 i.wait_until_change adb.o
0x08002690 0x08002690 0x000000ba Data RO 25 .constdata adb.o
0x0800274a 0x0800274a 0x0000003d Data RO 377 .constdata main.o
0x08002787 0x08002787 0x00000010 Data RO 3579 .constdata system_stm32f0xx.o
0x08002797 0x08002797 0x00000008 Data RO 3580 .constdata system_stm32f0xx.o
0x0800279f 0x0800279f 0x00000001 PAD
0x080027a0 0x080027a0 0x00000020 Data RO 3956 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080027dc, Size: 0x000007b8, Max: 0x00001800, ABSOLUTE)
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080027c0, Size: 0x000007b8, Max: 0x00001800, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x080027dc 0x00000010 Data RW 26 .data adb.o
0x20000010 0x080027ec 0x00000004 Data RW 228 .data delay_us.o
0x20000014 0x080027f0 0x00000010 Data RW 378 .data main.o
0x20000024 0x08002800 0x00000004 Data RW 2410 .data stm32f0xx_hal.o
0x20000028 0x08002804 0x00000004 Data RW 3581 .data system_stm32f0xx.o
0x2000002c 0x08002808 0x00000004 Data RW 3619 .data mc_p.l(rand.o)
0x20000030 0x0800280c 0x00000004 Data RW 3930 .data mc_p.l(stdout.o)
0x20000034 0x08002810 0x00000004 Data RW 3933 .data mc_p.l(mvars.o)
0x20000038 0x08002814 0x00000004 Data RW 3934 .data mc_p.l(mvars.o)
0x2000003c - 0x0000017c Zero RW 372 .bss main.o
0x20000000 0x080027c0 0x00000010 Data RW 26 .data adb.o
0x20000010 0x080027d0 0x00000004 Data RW 228 .data delay_us.o
0x20000014 0x080027d4 0x0000000c Data RW 378 .data main.o
0x20000020 0x080027e0 0x00000004 Data RW 2410 .data stm32f0xx_hal.o
0x20000024 0x080027e4 0x00000004 Data RW 3581 .data system_stm32f0xx.o
0x20000028 0x080027e8 0x00000004 Data RW 3619 .data mc_p.l(rand.o)
0x2000002c 0x080027ec 0x00000004 Data RW 3930 .data mc_p.l(stdout.o)
0x20000030 0x080027f0 0x00000004 Data RW 3933 .data mc_p.l(mvars.o)
0x20000034 0x080027f4 0x00000004 Data RW 3934 .data mc_p.l(mvars.o)
0x20000038 - 0x0000017c Zero RW 372 .bss main.o
0x200001b4 0x080027f8 0x00000004 PAD
0x200001b8 - 0x00000200 Zero RW 2 HEAP startup_stm32f042x6.o
0x200003b8 - 0x00000400 Zero RW 1 STACK startup_stm32f042x6.o
@@ -2286,7 +2285,7 @@ Image component sizes
980 86 186 16 0 458418 adb.o
52 10 0 4 0 1931 delay_us.o
370 0 0 0 0 7263 helpers.o
1680 206 61 16 380 16899 main.o
1652 202 61 12 380 16851 main.o
88 38 192 0 1536 640 startup_stm32f042x6.o
122 18 0 4 0 3591 stm32f0xx_hal.o
178 28 0 0 0 10483 stm32f0xx_hal_cortex.o
@@ -2302,9 +2301,9 @@ Image component sizes
92 14 24 4 0 1123 system_stm32f0xx.o
----------------------------------------------------------------------
8828 636 496 44 1916 539178 Object Totals
8800 632 496 40 1920 539130 Object Totals
0 0 32 0 0 0 (incl. Generated)
28 0 1 0 0 0 (incl. Padding)
28 0 1 0 4 0 (incl. Padding)
----------------------------------------------------------------------
@@ -2350,15 +2349,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
9708 692 496 60 1916 535314 Grand Totals
9708 692 496 60 1916 535314 ELF Image Totals
9708 692 496 60 0 0 ROM Totals
9680 688 496 56 1920 535266 Grand Totals
9680 688 496 56 1920 535266 ELF Image Totals
9680 688 496 56 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 10204 ( 9.96kB)
Total RO Size (Code + RO Data) 10176 ( 9.94kB)
Total RW Size (RW Data + ZI Data) 1976 ( 1.93kB)
Total ROM Size (Code + RO Data + RW Data) 10264 ( 10.02kB)
Total ROM Size (Code + RO Data + RW Data) 10232 ( 9.99kB)
==============================================================================

View File

@@ -114,7 +114,7 @@ I (../Inc/shared.h)(0x617487BD)
-D__UVISION_VERSION="529" -D_RTE_ -DSTM32F042x6 -DUSE_HAL_DRIVER -DSTM32F042x6
-o my_adb\helpers.o --omf_browse my_adb\helpers.crf --depend my_adb\helpers.d)
-o my_adb\helpers.o --omf_browse my_adb\helpers.crf --depend my_adb\helpers.d)
I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5D9B429A)
I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x5D9B4298)
I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x5D9B429A)

View File

@@ -149,13 +149,13 @@ void handle_protocol_switch(uint8_t spi_byte)
}
}
uint32_t last_spi_ts;
// uint32_t last_spi_ts;
void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi)
{
HAL_GPIO_WritePin(USER_LED_GPIO_Port, USER_LED_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(DEBUG0_GPIO_Port, DEBUG0_Pin, adb_rw_in_progress);
if(micros() - last_spi_ts < 1000)
goto spi_isr_end;
// if(micros() - last_spi_ts < 1000)
// goto spi_isr_end;
if(spi_recv_buf[0] != 0xde)
spi_error_occured = 1;
if(spi_recv_buf[SPI_BUF_INDEX_MSG_TYPE] == SPI_MOSI_MSG_TYPE_KEYBOARD_EVENT)
@@ -211,7 +211,7 @@ void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi)
}
}
spi_isr_end:
last_spi_ts = micros();
// last_spi_ts = micros();
HAL_SPI_TransmitReceive_IT(&hspi1, spi_transmit_buf, spi_recv_buf, SPI_BUF_SIZE);
HAL_GPIO_WritePin(USER_LED_GPIO_Port, USER_LED_Pin, GPIO_PIN_RESET);
}