From 5a726f73787c181a52cbd68b23c4cb65036b8671 Mon Sep 17 00:00:00 2001 From: yeyangwen Date: Mon, 9 Feb 2026 17:32:59 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BF=AE=E6=94=B9=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit feat:修改为红外转发设备,将中弘网关协议转换为主机红外协议 --- .../APT32F102_FLASHDOWN.elf | Bin README.md | 23 + .../index/Bootload_fun.c.2DAE7886027820C4.idx | Bin 0 -> 9082 bytes .../index/Bootload_fun.c.2F11821BA8917D3C.idx | Bin .../index/Bootload_fun.c.4A2041DAEEF83661.idx | Bin 0 -> 9082 bytes .../index/Bootload_fun.c.77C227FE2F61D80A.idx | Bin .../index/Bootload_fun.c.84CDAD8B26FD7EB6.idx | Bin .../index/Bootload_fun.c.9B75C910986A052D.idx | Bin .../index/Bootload_fun.c.A63833948EE24B45.idx | Bin .../index/Bootload_fun.h.1C28D3BDF7478E78.idx | Bin .../index/Bootload_fun.h.2FD2133081399176.idx | Bin .../index/Bootload_fun.h.52750541BACFEE88.idx | Bin .../index/Bootload_fun.h.57F5AAB966E0BC36.idx | Bin .../index/Bootload_fun.h.71FB3DEEB3A6F82D.idx | Bin .../index/Bootload_fun.h.92BC822C60B561CB.idx | Bin 0 -> 4068 bytes .../index/Bootload_fun.h.989C8B51B27A4C2B.idx | Bin 0 -> 4068 bytes .../index/Bootload_fun.h.B214839C2A6EEC03.idx | Bin .../clangd/index/adc.c.0A0AA772D7C39544.idx | Bin .../clangd/index/adc.c.0AAD42579913AD7B.idx | Bin .../clangd/index/adc.c.25D3FDE9CB6F6FF1.idx | Bin .../clangd/index/adc.c.377BCDA3E139A368.idx | Bin .../clangd/index/adc.c.41D450460CD174C1.idx | Bin .../clangd/index/adc.c.6D533211A3818F14.idx | Bin .../clangd/index/adc.c.86C80D14E78E52B0.idx | Bin .../clangd/index/adc.c.A6133BF0C284C5E5.idx | Bin .../clangd/index/adc.c.B2CA97ECE7879722.idx | Bin .../clangd/index/adc.c.DA35AE4B13B3F2AD.idx | Bin .../clangd/index/adc.c.E7229AD5E7E32DBA.idx | Bin .../clangd/index/adc.c.F772524A2DC8278A.idx | Bin .../clangd/index/adc.h.235EEDE179E75BBA.idx | Bin .../clangd/index/adc.h.273D1CFC55ED5A81.idx | Bin .../clangd/index/adc.h.3254F1E191D4AA5C.idx | Bin .../clangd/index/adc.h.5E121E4DC3D70969.idx | Bin .../clangd/index/adc.h.6F6F34113A5DEFFB.idx | Bin .../clangd/index/adc.h.9538F48F4916F6FE.idx | Bin .../clangd/index/adc.h.B23D4EA06B3D3673.idx | Bin .../clangd/index/adc.h.C114AEDD4BB7422A.idx | Bin .../clangd/index/adc.h.DE22A6DCB2CF4217.idx | Bin .../clangd/index/adc.h.E36EDC8715EF56E3.idx | Bin .../clangd/index/adc.h.E5C561A895A6E85C.idx | Bin .../clangd/index/adc.h.F51D3FB0A3D808CB.idx | Bin .../index/ansidef.h.8DC9EC4A871FC34A.idx | Bin .../index/ansidef.h.D5F5095A2EB20E08.idx | Bin 888 -> 888 bytes .../index/apt32f102.c.148DCB3C625C9B5D.idx | Bin .../index/apt32f102.c.1BF7E88BD033FF1A.idx | Bin .../index/apt32f102.c.2B958D270D55CF89.idx | Bin .../index/apt32f102.c.461EDD431A97F509.idx | Bin 0 -> 6176 bytes .../index/apt32f102.c.5953A2BB39DD1C44.idx | Bin .../index/apt32f102.c.5C06E0ED743DB905.idx | Bin 0 -> 6182 bytes .../index/apt32f102.c.78ED501E2FA28AE7.idx | Bin .../index/apt32f102.c.9AD8AE616721F146.idx | Bin .../index/apt32f102.c.A1D82B17B0E00AE5.idx | Bin .../index/apt32f102.c.B091CDF6A9C731D6.idx | Bin .../index/apt32f102.c.B5D8CC4F2CBF6F6F.idx | Bin .../index/apt32f102.c.C5ADA3CB78676253.idx | Bin .../index/apt32f102.c.C7E8DE9B91117CF7.idx | Bin .../index/apt32f102.c.D18FD4F137043DD1.idx | Bin .../index/apt32f102.c.D8555F5DE22D0705.idx | Bin .../index/apt32f102.h.24A705C5C5143466.idx | Bin 0 -> 40832 bytes .../index/apt32f102.h.58A8C0A47B96A9D6.idx | Bin .../index/apt32f102.h.711C268798BCC171.idx | Bin .../index/apt32f102.h.79F803ADAE09A4F4.idx | Bin .../index/apt32f102.h.7FAE67E541AFA87C.idx | Bin .../index/apt32f102.h.8313295AB9FA0966.idx | Bin .../index/apt32f102.h.8CD5360688AEF554.idx | Bin .../index/apt32f102.h.951257B8D7DCAAC3.idx | Bin .../index/apt32f102.h.AC734BD2C137D6F0.idx | Bin 0 -> 40832 bytes .../index/apt32f102.h.B78D00FFFDE52BED.idx | Bin .../index/apt32f102.h.BBBF78B0B7B7BA48.idx | Bin .../index/apt32f102.h.CA1FEF77B5968205.idx | Bin .../index/apt32f102.h.D7CB722D1B097F52.idx | Bin .../index/apt32f102.h.DAFD82E4A0DD10B7.idx | Bin .../index/apt32f102.h.FCCED1E743B5D7E5.idx | Bin .../apt32f102_adc.c.05D860E60EAE4890.idx | Bin .../apt32f102_adc.c.1BC5B4EBF2BBE37F.idx | Bin 0 -> 14028 bytes .../apt32f102_adc.c.2CC9D6BC8B8A6A4C.idx | Bin .../apt32f102_adc.c.5963B9D646BB0420.idx | Bin .../apt32f102_adc.c.6101A0F9EA3653DC.idx | Bin .../apt32f102_adc.c.96930BA342DD96B0.idx | Bin .../apt32f102_adc.c.A27273620EBEA159.idx | Bin .../apt32f102_adc.c.AF3D11860C772C42.idx | Bin .../apt32f102_adc.c.B810207E441D5670.idx | Bin .../apt32f102_adc.c.B82350007F82E62D.idx | Bin .../apt32f102_adc.c.C8394B954EC11609.idx | Bin .../apt32f102_adc.c.CE103F45CA002474.idx | Bin 0 -> 14028 bytes .../apt32f102_adc.c.E3A94D4EC44EF1D9.idx | Bin .../apt32f102_adc.c.E9CA88839FA06455.idx | Bin .../apt32f102_adc.c.F388376F7E397B08.idx | Bin .../apt32f102_adc.h.0699D7FF6A382AF9.idx | Bin .../apt32f102_adc.h.16FDE04A709C56EE.idx | Bin .../apt32f102_adc.h.29994125029E1A56.idx | Bin .../apt32f102_adc.h.323A3EFFA3F14A07.idx | Bin .../apt32f102_adc.h.3D256548F8206E43.idx | Bin .../apt32f102_adc.h.3FB7805384AFDB84.idx | Bin .../apt32f102_adc.h.8F41FAE8D9FB3C17.idx | Bin .../apt32f102_adc.h.9147465C38D6ADA6.idx | Bin 0 -> 16796 bytes .../apt32f102_adc.h.A01863BC8719F6B7.idx | Bin 0 -> 16934 bytes .../apt32f102_adc.h.A76A7C72466EE786.idx | Bin .../apt32f102_adc.h.A86473304FE332EC.idx | Bin .../apt32f102_adc.h.AD82D18C9DA6BE43.idx | Bin .../apt32f102_adc.h.CF27CF7470DD782C.idx | Bin .../apt32f102_adc.h.D6FC8AE830A57B4B.idx | Bin .../apt32f102_adc.h.DC9EC91980FBD4A2.idx | Bin .../index/apt32f102_bt.c.022B8690E134DE4E.idx | Bin .../index/apt32f102_bt.c.123FAECAE8CB3585.idx | Bin 0 -> 7604 bytes .../index/apt32f102_bt.c.381FF5BCDB2AF402.idx | Bin .../index/apt32f102_bt.c.393AAF77913EAA24.idx | Bin .../index/apt32f102_bt.c.4F01A30C7714F0A8.idx | Bin .../index/apt32f102_bt.c.4FF7A2045760BCDA.idx | Bin .../index/apt32f102_bt.c.71B92FEF0C1E09EC.idx | Bin .../index/apt32f102_bt.c.76A5E87DA531F7BB.idx | Bin .../index/apt32f102_bt.c.7FE1F554CC6F7C9A.idx | Bin .../index/apt32f102_bt.c.950D8B7C75073E36.idx | Bin .../index/apt32f102_bt.c.97A1AF3D9912FA66.idx | Bin .../index/apt32f102_bt.c.9852FCEBB659784F.idx | Bin .../index/apt32f102_bt.c.D1E9472B344CD20A.idx | Bin 0 -> 7604 bytes .../index/apt32f102_bt.c.E39F6D4F7166575A.idx | Bin .../index/apt32f102_bt.c.E76A71E82DE65BDC.idx | Bin .../index/apt32f102_bt.h.05F1D61E439AF3D3.idx | Bin .../index/apt32f102_bt.h.073BB1393F3BC4E6.idx | Bin .../index/apt32f102_bt.h.1B31B66951548CB6.idx | Bin .../index/apt32f102_bt.h.1F13A90BC61FAC8F.idx | Bin .../index/apt32f102_bt.h.267B0A736EE32201.idx | Bin .../index/apt32f102_bt.h.2FCDD9F5385235CB.idx | Bin .../index/apt32f102_bt.h.3527E0323C3A6C13.idx | Bin .../index/apt32f102_bt.h.3EF6A3AB2DCE5A02.idx | Bin 0 -> 9332 bytes .../index/apt32f102_bt.h.5B02027FAA67E6CA.idx | Bin .../index/apt32f102_bt.h.70B9116A9593EA85.idx | Bin .../index/apt32f102_bt.h.72E75FFE2F02CDA7.idx | Bin .../index/apt32f102_bt.h.854BFE4E9CEE2DDE.idx | Bin .../index/apt32f102_bt.h.D9945E8128F173EC.idx | Bin .../index/apt32f102_bt.h.E414DC3BD3C75C5F.idx | Bin 0 -> 9332 bytes .../index/apt32f102_bt.h.FB2481D7F963ABB1.idx | Bin .../apt32f102_ck801.c.067610D95FFEBBA8.idx | Bin 0 -> 5098 bytes .../apt32f102_ck801.c.27D1A30DC0013EE8.idx | Bin .../apt32f102_ck801.c.29EE33FCF451A18E.idx | Bin .../apt32f102_ck801.c.50F2E6E70732F479.idx | Bin .../apt32f102_ck801.c.587CE12D9F1A7A09.idx | Bin .../apt32f102_ck801.c.5D1591395CFFCECC.idx | Bin .../apt32f102_ck801.c.6023C1115EE7CC1F.idx | Bin .../apt32f102_ck801.c.8138176A88FFEDCD.idx | Bin .../apt32f102_ck801.c.82E32D00FAD1E965.idx | Bin .../apt32f102_ck801.c.92F13DA26DE2EEF5.idx | Bin .../apt32f102_ck801.c.A39332E4A5352ABB.idx | Bin .../apt32f102_ck801.c.C3F52FA8A4E30C41.idx | Bin .../apt32f102_ck801.c.DA5D4A62F53763E7.idx | Bin .../apt32f102_ck801.c.E59D6347179A0FFB.idx | Bin .../apt32f102_ck801.c.EA025BC26E5AACBF.idx | Bin 0 -> 5098 bytes .../apt32f102_ck801.h.097F2FAB22F18F97.idx | Bin .../apt32f102_ck801.h.1947CEB5CBA94E58.idx | Bin .../apt32f102_ck801.h.1A2BD7E39C09143A.idx | Bin .../apt32f102_ck801.h.31E65C55E66EF985.idx | Bin .../apt32f102_ck801.h.3D6C045275F5A43C.idx | Bin .../apt32f102_ck801.h.4A26D6AE10112194.idx | Bin .../apt32f102_ck801.h.7F8A5D8DF656A5D9.idx | Bin .../apt32f102_ck801.h.83632D4716E91354.idx | Bin 0 -> 3440 bytes .../apt32f102_ck801.h.97E611C77C385BFF.idx | Bin .../apt32f102_ck801.h.9B790FE9896DDC0A.idx | Bin 0 -> 3440 bytes .../apt32f102_ck801.h.BF4FEA40EAF8477D.idx | Bin .../apt32f102_ck801.h.C6937C3A36F71AF9.idx | Bin .../apt32f102_ck801.h.CF3C487E7EAEBE2E.idx | Bin .../apt32f102_ck801.h.ED382AA02DD5363D.idx | Bin .../apt32f102_ck801.h.F45612F03D5E2225.idx | Bin .../apt32f102_clkcalib.h.121C2C554BA92900.idx | Bin .../apt32f102_clkcalib.h.16C7844F00E4D367.idx | Bin .../apt32f102_clkcalib.h.36D99A587932CD68.idx | Bin .../apt32f102_clkcalib.h.7AC8EA1C6227845C.idx | Bin .../apt32f102_clkcalib.h.7B083B65F4856627.idx | Bin .../apt32f102_clkcalib.h.860682B62C9BB942.idx | Bin .../apt32f102_clkcalib.h.8999C59F4138BA14.idx | Bin 0 -> 1148 bytes .../apt32f102_clkcalib.h.A0A21BAA35BB7149.idx | Bin .../apt32f102_clkcalib.h.B55B059AB7A6C5CB.idx | Bin .../apt32f102_clkcalib.h.C3193466A9A07812.idx | Bin .../apt32f102_clkcalib.h.CB8D4C6405FA29C9.idx | Bin 0 -> 1148 bytes .../apt32f102_clkcalib.h.D24F74807706B985.idx | Bin .../apt32f102_clkcalib.h.D93B77B82F3E836A.idx | Bin .../apt32f102_clkcalib.h.DA8DA2C913D23949.idx | Bin .../apt32f102_clkcalib.h.F1D1656A40A54037.idx | Bin .../apt32f102_coret.c.2D32802B8212699F.idx | Bin .../apt32f102_coret.c.333C7944340DA8D4.idx | Bin .../apt32f102_coret.c.37031C88CBDE0A97.idx | Bin .../apt32f102_coret.c.3C574150AAFE2FD3.idx | Bin 0 -> 3368 bytes .../apt32f102_coret.c.4C3276EFEA590D6F.idx | Bin .../apt32f102_coret.c.579FDF4E2A5B9A73.idx | Bin .../apt32f102_coret.c.640B4DA845C361F1.idx | Bin .../apt32f102_coret.c.802E0134C97F76FC.idx | Bin .../apt32f102_coret.c.8B094546FF195A45.idx | Bin .../apt32f102_coret.c.8CA1B7BE00CBD345.idx | Bin .../apt32f102_coret.c.9A33B2D6EAA04651.idx | Bin .../apt32f102_coret.c.A4A8561F32CAD970.idx | Bin .../apt32f102_coret.c.C68136B629D3A10B.idx | Bin .../apt32f102_coret.c.CC341B966CB19809.idx | Bin .../apt32f102_coret.c.D4049B95C9E3716D.idx | Bin 0 -> 3368 bytes .../apt32f102_coret.h.3A88D025E3942F71.idx | Bin .../apt32f102_coret.h.52AFC17831E75552.idx | Bin .../apt32f102_coret.h.5A1EF5CDCD14572D.idx | Bin .../apt32f102_coret.h.6206FED7BF19BD4F.idx | Bin 0 -> 1384 bytes .../apt32f102_coret.h.6EB4B99D049FDF5D.idx | Bin .../apt32f102_coret.h.7AA6CCAC39A1FE9D.idx | Bin .../apt32f102_coret.h.889575CD6FC198D2.idx | Bin .../apt32f102_coret.h.9452311D96ABFA87.idx | Bin .../apt32f102_coret.h.A7F5D68655A105F4.idx | Bin .../apt32f102_coret.h.A95F1C8D70349F94.idx | Bin .../apt32f102_coret.h.C4A52FC58B3EBFB3.idx | Bin .../apt32f102_coret.h.DD996B7ED8D34ED5.idx | Bin .../apt32f102_coret.h.E6A9846889283C0C.idx | Bin 0 -> 1286 bytes .../apt32f102_coret.h.E99FF73836B27A1B.idx | Bin .../apt32f102_coret.h.F62A8BB2EBC8984A.idx | Bin .../apt32f102_countera.c.24C455BD0CE65C8D.idx | Bin .../apt32f102_countera.c.3013D46C7805D4ED.idx | Bin .../apt32f102_countera.c.356C8C037CD090A0.idx | Bin 0 -> 4708 bytes .../apt32f102_countera.c.53EDF9722B00AC4B.idx | Bin .../apt32f102_countera.c.58BEE33F3262FAFE.idx | Bin .../apt32f102_countera.c.5AE6A537E7FC2247.idx | Bin .../apt32f102_countera.c.838F2F212077C914.idx | Bin .../apt32f102_countera.c.849BDCA2C4E46E5B.idx | Bin .../apt32f102_countera.c.95242E74942FDE56.idx | Bin .../apt32f102_countera.c.C51119BAF03C95D8.idx | Bin .../apt32f102_countera.c.CDE83AB6F5C1D42B.idx | Bin .../apt32f102_countera.c.D32845C97FCEB182.idx | Bin .../apt32f102_countera.c.D5FA65C28095DCDE.idx | Bin .../apt32f102_countera.c.D9DA01435C3A38C3.idx | Bin .../apt32f102_countera.c.E3C4687D4734F834.idx | Bin 0 -> 4708 bytes .../apt32f102_countera.h.1FC7416221A82428.idx | Bin .../apt32f102_countera.h.4E514E82E020160C.idx | Bin .../apt32f102_countera.h.54F14ECEC5AB6E9A.idx | Bin .../apt32f102_countera.h.5E430BE4604046C7.idx | Bin .../apt32f102_countera.h.685551C143709E2E.idx | Bin .../apt32f102_countera.h.7254AA2B4896F8A5.idx | Bin .../apt32f102_countera.h.8571D265C4EF43E4.idx | Bin 0 -> 6082 bytes .../apt32f102_countera.h.85FE5461AAEFF5C9.idx | Bin .../apt32f102_countera.h.9168896D2E0F2287.idx | Bin .../apt32f102_countera.h.9B163279DB80869F.idx | Bin .../apt32f102_countera.h.B6D9445DFA8E8384.idx | Bin .../apt32f102_countera.h.BCFCB490445647DE.idx | Bin .../apt32f102_countera.h.DF4B68B828132BF9.idx | Bin .../apt32f102_countera.h.E0D247FC23BF941A.idx | Bin 0 -> 5982 bytes .../apt32f102_countera.h.E8D5988CE9CA3C61.idx | Bin .../apt32f102_crc.c.0A5CD0CDA7D0D74A.idx | Bin .../apt32f102_crc.c.195C4246E88307F3.idx | Bin .../apt32f102_crc.c.292C6C70A7C461C7.idx | Bin .../apt32f102_crc.c.2BB64A2049D56D2D.idx | Bin .../apt32f102_crc.c.2D900AD0CF0C4169.idx | Bin .../apt32f102_crc.c.30367C3CE1BB8B69.idx | Bin .../apt32f102_crc.c.576A54E55FB3EE8D.idx | Bin .../apt32f102_crc.c.660EA54ED385BF3C.idx | Bin .../apt32f102_crc.c.685CB02B8893F21E.idx | Bin .../apt32f102_crc.c.79A4F8CF99304517.idx | Bin .../apt32f102_crc.c.817A2CE3590B32EA.idx | Bin 0 -> 3822 bytes .../apt32f102_crc.c.9F168C1FEB7912EC.idx | Bin .../apt32f102_crc.c.D9F66C2946C23B86.idx | Bin 0 -> 3822 bytes .../apt32f102_crc.c.E26E744DCD9119CD.idx | Bin .../apt32f102_crc.c.EFCA57958A67530D.idx | Bin .../apt32f102_crc.h.0D5255C3FDC45DB7.idx | Bin .../apt32f102_crc.h.246E9B1B8036BF51.idx | Bin 0 -> 3592 bytes .../apt32f102_crc.h.30F6E173F5B6B4CA.idx | Bin .../apt32f102_crc.h.4898CCB07ED2B90F.idx | Bin .../apt32f102_crc.h.54371AFD668BFB20.idx | Bin 0 -> 3592 bytes .../apt32f102_crc.h.6F3C2762F3404E61.idx | Bin .../apt32f102_crc.h.8CE56EE2E7D67F89.idx | Bin .../apt32f102_crc.h.AAFC1B79F9754826.idx | Bin .../apt32f102_crc.h.AD536C0360F3C11E.idx | Bin .../apt32f102_crc.h.B0B52DFFB4DCFD8F.idx | Bin .../apt32f102_crc.h.BBF73A345F2968C1.idx | Bin .../apt32f102_crc.h.BDFBBDD017A6BAB8.idx | Bin .../apt32f102_crc.h.C0B8475796D4B15C.idx | Bin .../apt32f102_crc.h.F07D15D57641211E.idx | Bin .../apt32f102_crc.h.FE481D412031CF25.idx | Bin .../apt32f102_ept.c.04C74FAE7DDA7193.idx | Bin .../apt32f102_ept.c.04E07A7549F73AC6.idx | Bin .../apt32f102_ept.c.08B6451FD95F8F5D.idx | Bin .../apt32f102_ept.c.261458C8516838C1.idx | Bin .../apt32f102_ept.c.2767EC31EE84A8C3.idx | Bin .../apt32f102_ept.c.3F315922DC3D0D35.idx | Bin .../apt32f102_ept.c.6E1D4D1DB370CBF7.idx | Bin .../apt32f102_ept.c.878EF50B4C364324.idx | Bin .../apt32f102_ept.c.A184954A0D1BF710.idx | Bin .../apt32f102_ept.c.B7BEDCB3EE380B9C.idx | Bin 0 -> 22484 bytes .../apt32f102_ept.c.C73BFF95215273CC.idx | Bin .../apt32f102_ept.c.CCEF9926898F3807.idx | Bin .../apt32f102_ept.c.D8134A5CC6F4E8B3.idx | Bin .../apt32f102_ept.c.DBA79498E9B81AD6.idx | Bin 0 -> 22484 bytes .../apt32f102_ept.c.DC7C24184C78A8CB.idx | Bin .../apt32f102_ept.h.059C2645C5CD800D.idx | Bin .../apt32f102_ept.h.1519F1543E9F77A1.idx | Bin .../apt32f102_ept.h.151A4D3111082E9C.idx | Bin .../apt32f102_ept.h.3928549E97DA69F4.idx | Bin .../apt32f102_ept.h.3EEE3DB609853F00.idx | Bin 0 -> 52152 bytes .../apt32f102_ept.h.400BC88BD1F4C43C.idx | Bin .../apt32f102_ept.h.4743D450E49A7D42.idx | Bin .../apt32f102_ept.h.5C90655D046F1363.idx | Bin .../apt32f102_ept.h.5F183C0FA0C34E6E.idx | Bin .../apt32f102_ept.h.6D4C97E28F9FCAF1.idx | Bin .../apt32f102_ept.h.A172D1A04C5C0307.idx | Bin .../apt32f102_ept.h.C3A95433FA52B0E4.idx | Bin .../apt32f102_ept.h.C5864E83FBABE96A.idx | Bin 0 -> 52152 bytes .../apt32f102_ept.h.F662AAE3A284B394.idx | Bin .../apt32f102_ept.h.FD72E9874F63AB03.idx | Bin .../index/apt32f102_et.c.062888430366E2A2.idx | Bin .../index/apt32f102_et.c.12B0002F0844DC99.idx | Bin .../index/apt32f102_et.c.2CA5359E3851E295.idx | Bin .../index/apt32f102_et.c.31286101DEDD35BA.idx | Bin 0 -> 5694 bytes .../index/apt32f102_et.c.5F7B8F0D50FE146D.idx | Bin .../index/apt32f102_et.c.5FF0286CDD88195C.idx | Bin .../index/apt32f102_et.c.6C0745B883ADC7CE.idx | Bin .../index/apt32f102_et.c.6E35FDB7BB1D888B.idx | Bin .../index/apt32f102_et.c.7054E1EEF3069F43.idx | Bin .../index/apt32f102_et.c.7D50B863FC17306B.idx | Bin .../index/apt32f102_et.c.986A00FB0A783EB6.idx | Bin .../index/apt32f102_et.c.A0078BD4CAA672BF.idx | Bin 0 -> 5694 bytes .../index/apt32f102_et.c.A8A540F47C19F2A1.idx | Bin .../index/apt32f102_et.c.E0F1FCF2C4CE5521.idx | Bin .../index/apt32f102_et.c.ED72F5C57BEE89D2.idx | Bin .../index/apt32f102_et.h.0FAD18D5BB82C859.idx | Bin .../index/apt32f102_et.h.3453D1F9B883D6A4.idx | Bin .../index/apt32f102_et.h.352DF5CD5B1FA390.idx | Bin .../index/apt32f102_et.h.4AB82C29399668A3.idx | Bin .../index/apt32f102_et.h.51370633F7403BDC.idx | Bin .../index/apt32f102_et.h.786327128BA14A72.idx | Bin 0 -> 5524 bytes .../index/apt32f102_et.h.7DA93E1250DF4083.idx | Bin .../index/apt32f102_et.h.837CC59A1E5E8085.idx | Bin .../index/apt32f102_et.h.989C4B94E954F073.idx | Bin .../index/apt32f102_et.h.BDDF1E863F354468.idx | Bin .../index/apt32f102_et.h.C977F38055B2116C.idx | Bin .../index/apt32f102_et.h.CC5C4A39C9FFF067.idx | Bin .../index/apt32f102_et.h.CD213B08AA38776E.idx | Bin 0 -> 5624 bytes .../index/apt32f102_et.h.CD27327656D56D32.idx | Bin .../index/apt32f102_et.h.DF03E5CA7568E997.idx | Bin .../apt32f102_gpio.c.1394B84D4B398E73.idx | Bin .../apt32f102_gpio.c.16AC42A458740B47.idx | Bin .../apt32f102_gpio.c.254A0A3856B8B882.idx | Bin .../apt32f102_gpio.c.3F5F9279BD04E650.idx | Bin .../apt32f102_gpio.c.5193409DB64885EB.idx | Bin .../apt32f102_gpio.c.64F5F976E6180DFF.idx | Bin .../apt32f102_gpio.c.6654EC924169EB1A.idx | Bin .../apt32f102_gpio.c.684E83FB56F078E1.idx | Bin .../apt32f102_gpio.c.6CF9F8975901F4AD.idx | Bin .../apt32f102_gpio.c.A867193997E72666.idx | Bin .../apt32f102_gpio.c.C8069020D3D946D0.idx | Bin .../apt32f102_gpio.c.C92BB3A47F68AD22.idx | Bin .../apt32f102_gpio.c.E32584C348EDF90D.idx | Bin .../apt32f102_gpio.c.EDF44C710DEC1774.idx | Bin 0 -> 9764 bytes .../apt32f102_gpio.c.F9F69CED76A65930.idx | Bin 0 -> 9764 bytes .../apt32f102_gpio.h.1630B1C0BBC76705.idx | Bin .../apt32f102_gpio.h.1FD417B1802AB51F.idx | Bin .../apt32f102_gpio.h.2682F2B726A43ADB.idx | Bin .../apt32f102_gpio.h.346F9405C6161823.idx | Bin .../apt32f102_gpio.h.51D864449E5AF2DB.idx | Bin 0 -> 12404 bytes .../apt32f102_gpio.h.5522266AE61689EE.idx | Bin .../apt32f102_gpio.h.57336E994A02D51B.idx | Bin .../apt32f102_gpio.h.5D1383EE67BDC5EE.idx | Bin .../apt32f102_gpio.h.63074C9EC97B1CD8.idx | Bin .../apt32f102_gpio.h.9A508C95E23BB955.idx | Bin .../apt32f102_gpio.h.A17DAF77E2BFFD29.idx | Bin .../apt32f102_gpio.h.A7DF8261F1407423.idx | Bin 0 -> 12404 bytes .../apt32f102_gpio.h.B3FC7E9E087D9C2C.idx | Bin .../apt32f102_gpio.h.CE48601B3F22CE2E.idx | Bin .../apt32f102_gpio.h.CFC7D73E41178184.idx | Bin .../apt32f102_gpt.c.2CD52FCA392FF606.idx | Bin 0 -> 13608 bytes .../apt32f102_gpt.c.40207CFA78DC001C.idx | Bin .../apt32f102_gpt.c.461BC8F80A3BC364.idx | Bin .../apt32f102_gpt.c.4898C75CE612E413.idx | Bin .../apt32f102_gpt.c.51C801E079781780.idx | Bin .../apt32f102_gpt.c.51FD264C1DB85D26.idx | Bin .../apt32f102_gpt.c.6D2145833F82A38E.idx | Bin .../apt32f102_gpt.c.6DA4D5ABE0281CCA.idx | Bin .../apt32f102_gpt.c.8988FB8477C71E66.idx | Bin .../apt32f102_gpt.c.8D55E84210BB190D.idx | Bin .../apt32f102_gpt.c.A1545F6F71FEA62F.idx | Bin 0 -> 13608 bytes .../apt32f102_gpt.c.AB05F52C8681C94B.idx | Bin .../apt32f102_gpt.c.C298A60803DD0A18.idx | Bin .../apt32f102_gpt.c.EC51CF33E6AAB60F.idx | Bin .../apt32f102_gpt.c.EFAFCF49293FA372.idx | Bin .../apt32f102_gpt.h.12957A439AAA0F0C.idx | Bin .../apt32f102_gpt.h.46D6D9A7602478F3.idx | Bin .../apt32f102_gpt.h.52492DB182D9D62D.idx | Bin .../apt32f102_gpt.h.649A1CF964A1D83A.idx | Bin .../apt32f102_gpt.h.6AA133156B7EA6D2.idx | Bin .../apt32f102_gpt.h.79A4D95287062B98.idx | Bin .../apt32f102_gpt.h.7C0A0A7E5EE308E1.idx | Bin 0 -> 33906 bytes .../apt32f102_gpt.h.7F330010F0E92DBB.idx | Bin .../apt32f102_gpt.h.7FDE0F197950F013.idx | Bin .../apt32f102_gpt.h.84646F54CF75D4FC.idx | Bin .../apt32f102_gpt.h.9B2C52E570C5237F.idx | Bin .../apt32f102_gpt.h.9B5E448FCAAB32DF.idx | Bin .../apt32f102_gpt.h.A5B13A1F2886DCED.idx | Bin .../apt32f102_gpt.h.CD8620CF7C01AE16.idx | Bin 0 -> 33740 bytes .../apt32f102_gpt.h.F4EE2D8C81E6AA12.idx | Bin .../apt32f102_i2c.c.1508B691E4EBB264.idx | Bin .../apt32f102_i2c.c.22A5ACAB23913252.idx | Bin 0 -> 13350 bytes .../apt32f102_i2c.c.22DF76E45BF4E4F5.idx | Bin .../apt32f102_i2c.c.26A8265AA40E478F.idx | Bin 0 -> 13350 bytes .../apt32f102_i2c.c.2C91BDB78790056A.idx | Bin .../apt32f102_i2c.c.3ECFA8270732366E.idx | Bin .../apt32f102_i2c.c.4C7C8FF33B94798A.idx | Bin .../apt32f102_i2c.c.4D2FECF5A5CC149F.idx | Bin .../apt32f102_i2c.c.5F040FAD0858390A.idx | Bin .../apt32f102_i2c.c.643B811779BAA5E1.idx | Bin .../apt32f102_i2c.c.9C0FB2544B3BB83B.idx | Bin .../apt32f102_i2c.c.A20363C0DC4BF66B.idx | Bin .../apt32f102_i2c.c.DF92E0A6E12F4C27.idx | Bin .../apt32f102_i2c.c.F6AAFD55366550E4.idx | Bin .../apt32f102_i2c.c.F920E639680AF697.idx | Bin .../apt32f102_i2c.h.04D0FED82D08E4DC.idx | Bin 0 -> 8246 bytes .../apt32f102_i2c.h.116C982E17CAC275.idx | Bin .../apt32f102_i2c.h.1F8FB0A43FAB4375.idx | Bin .../apt32f102_i2c.h.4F1FA16F4C107964.idx | Bin .../apt32f102_i2c.h.5154F233802B9096.idx | Bin .../apt32f102_i2c.h.60910F5910C3F42E.idx | Bin .../apt32f102_i2c.h.637D2C4BB6FA3910.idx | Bin .../apt32f102_i2c.h.802C8E93F67B4B5C.idx | Bin .../apt32f102_i2c.h.9A0A49A70AC7C43C.idx | Bin .../apt32f102_i2c.h.9CE385A190064BCD.idx | Bin .../apt32f102_i2c.h.A1C676F5BAEC9965.idx | Bin .../apt32f102_i2c.h.A2D1F40082DED98E.idx | Bin 0 -> 8246 bytes .../apt32f102_i2c.h.AAD7F23C912073B6.idx | Bin .../apt32f102_i2c.h.AD9DE74EE9603ED0.idx | Bin .../apt32f102_i2c.h.BA0E9E9195FB7F5E.idx | Bin .../apt32f102_ifc.c.0830E112E38A9D01.idx | Bin .../apt32f102_ifc.c.12ABDF8FDC5A177C.idx | Bin .../apt32f102_ifc.c.2D3FC7AF758B13C7.idx | Bin .../apt32f102_ifc.c.2F370D932EC62EF3.idx | Bin .../apt32f102_ifc.c.3AC2C6390973EBDD.idx | Bin .../apt32f102_ifc.c.3D19E84D72E9274B.idx | Bin .../apt32f102_ifc.c.5DE9E523944C67BF.idx | Bin .../apt32f102_ifc.c.655B9F5B1A47C60E.idx | Bin .../apt32f102_ifc.c.69DD35D1B9B70F48.idx | Bin .../apt32f102_ifc.c.89CA862F00540C35.idx | Bin .../apt32f102_ifc.c.923CF0C79981D861.idx | Bin 0 -> 6776 bytes .../apt32f102_ifc.c.925BCCA3E4005FF8.idx | Bin .../apt32f102_ifc.c.B8627A75D9F0242D.idx | Bin .../apt32f102_ifc.c.DD4988436795518A.idx | Bin 0 -> 6776 bytes .../apt32f102_ifc.c.E14982F9DFEF0145.idx | Bin .../apt32f102_ifc.h.0057190B200570AA.idx | Bin .../apt32f102_ifc.h.1B8F04B520F44658.idx | Bin .../apt32f102_ifc.h.555813E62115605A.idx | Bin 0 -> 32602 bytes .../apt32f102_ifc.h.5DA8BBFB791A1652.idx | Bin .../apt32f102_ifc.h.72813536EC7CE443.idx | Bin .../apt32f102_ifc.h.784BDAAB5AC0B89A.idx | Bin .../apt32f102_ifc.h.8259C58DC994FFED.idx | Bin .../apt32f102_ifc.h.82AC90A8B008A8F7.idx | Bin .../apt32f102_ifc.h.9D87153C0D75F648.idx | Bin .../apt32f102_ifc.h.AA91D61F1E4A21CE.idx | Bin .../apt32f102_ifc.h.AE2E967FEEF20793.idx | Bin .../apt32f102_ifc.h.BBA8D0C6E11A5F9C.idx | Bin .../apt32f102_ifc.h.CDE5E26A73F17104.idx | Bin 0 -> 32602 bytes .../apt32f102_ifc.h.CF10E6B00EA9A6DE.idx | Bin .../apt32f102_ifc.h.E61C70C8370C4E82.idx | Bin .../apt32f102_iostring.c.0849FA1F7CF721FA.idx | Bin .../apt32f102_iostring.c.0E8A8D00C6DB1F4D.idx | Bin 0 -> 2344 bytes .../apt32f102_iostring.c.0EB7FAD489AB95CD.idx | Bin .../apt32f102_iostring.c.3A0450D6223B1E94.idx | Bin .../apt32f102_iostring.c.455C5D8E6D2DBFBF.idx | Bin 0 -> 2344 bytes .../apt32f102_iostring.c.4F9CF391DEA7B98D.idx | Bin .../apt32f102_iostring.c.517525F7F60302B7.idx | Bin .../apt32f102_iostring.c.645D3E93B3449271.idx | Bin .../apt32f102_iostring.c.857178FAD24AEBCA.idx | Bin .../apt32f102_iostring.c.B3D62AF04D34C855.idx | Bin .../apt32f102_iostring.c.BE20E0CF95528F12.idx | Bin .../apt32f102_iostring.c.C93FE196C1606124.idx | Bin .../apt32f102_iostring.c.E2F781291D67C490.idx | Bin .../apt32f102_iostring.c.EFC3C0992D44085A.idx | Bin .../apt32f102_iostring.c.F6806674FED687F2.idx | Bin .../apt32f102_lpt.c.13AA7C1616EAF142.idx | Bin .../apt32f102_lpt.c.369D3C2F5708A049.idx | Bin .../apt32f102_lpt.c.408FBD0F332939F9.idx | Bin 0 -> 8242 bytes .../apt32f102_lpt.c.4840E0601EB6D651.idx | Bin .../apt32f102_lpt.c.5AF2C563CE5C7D4E.idx | Bin .../apt32f102_lpt.c.6C2C041D6A07CA60.idx | Bin .../apt32f102_lpt.c.7B06A730F91B412A.idx | Bin .../apt32f102_lpt.c.A4241EC5B81F7AE5.idx | Bin .../apt32f102_lpt.c.A8261A11A236CCF6.idx | Bin 0 -> 8242 bytes .../apt32f102_lpt.c.C05C7CFCEC53E5A7.idx | Bin .../apt32f102_lpt.c.C1075C18671EA209.idx | Bin .../apt32f102_lpt.c.C742994BE9F7974A.idx | Bin .../apt32f102_lpt.c.E17A02398DAFB6CD.idx | Bin .../apt32f102_lpt.c.F06AF5A8997156E5.idx | Bin .../apt32f102_lpt.c.FD92781A86768B69.idx | Bin .../apt32f102_lpt.h.1B8659B9A5D2232E.idx | Bin .../apt32f102_lpt.h.21BF2F8D286C4D19.idx | Bin .../apt32f102_lpt.h.24D434C8EC17DDEC.idx | Bin 0 -> 13406 bytes .../apt32f102_lpt.h.2D28EFE378B9E115.idx | Bin 0 -> 13406 bytes .../apt32f102_lpt.h.3C0B479CDA77133F.idx | Bin .../apt32f102_lpt.h.558DBD3B2B599F3E.idx | Bin .../apt32f102_lpt.h.5CD41B7737E8390C.idx | Bin .../apt32f102_lpt.h.7A74B847BE57A018.idx | Bin .../apt32f102_lpt.h.C31E5615E6F6EA62.idx | Bin .../apt32f102_lpt.h.C71C8FE52CA87397.idx | Bin .../apt32f102_lpt.h.CA71A53389E43D14.idx | Bin .../apt32f102_lpt.h.CB810E088A1BF71A.idx | Bin .../apt32f102_lpt.h.CC1662C3F3F7F46E.idx | Bin .../apt32f102_lpt.h.E80C6AC6EA03BE4B.idx | Bin .../apt32f102_lpt.h.F7B924F6527305BA.idx | Bin .../apt32f102_rtc.c.19359993EDA41019.idx | Bin .../apt32f102_rtc.c.2509609DC7D9DB53.idx | Bin .../apt32f102_rtc.c.29C71A30615D4EF9.idx | Bin .../apt32f102_rtc.c.47AE5EC7FD3E1B4A.idx | Bin .../apt32f102_rtc.c.5A7166C63FF98DAA.idx | Bin 0 -> 10044 bytes .../apt32f102_rtc.c.692FC999CF41AC83.idx | Bin .../apt32f102_rtc.c.6D9E128CEC7F0EFB.idx | Bin 0 -> 10044 bytes .../apt32f102_rtc.c.80D07AEF96C58EEB.idx | Bin .../apt32f102_rtc.c.8E60EACA67196083.idx | Bin .../apt32f102_rtc.c.B6A733BB82362CF9.idx | Bin .../apt32f102_rtc.c.BB663C46E5E2120C.idx | Bin .../apt32f102_rtc.c.D1EA382E072872C2.idx | Bin .../apt32f102_rtc.c.D8387895A37CD907.idx | Bin .../apt32f102_rtc.c.E1BC9D2EF5C0AB85.idx | Bin .../apt32f102_rtc.c.F9D6BF39E920DE4D.idx | Bin .../apt32f102_rtc.h.0B1E3AEBF373B74A.idx | Bin .../apt32f102_rtc.h.1BBA3ABE4E716461.idx | Bin .../apt32f102_rtc.h.3F2BD0DD50F925B1.idx | Bin .../apt32f102_rtc.h.49B9F76B022CEB71.idx | Bin .../apt32f102_rtc.h.4DB9E5A5A581EC41.idx | Bin .../apt32f102_rtc.h.5E2DFEFD626CB7D9.idx | Bin .../apt32f102_rtc.h.6DA1D2635EE003EC.idx | Bin .../apt32f102_rtc.h.6E9689FA076142FD.idx | Bin .../apt32f102_rtc.h.7DFC6DD9C1F44E8D.idx | Bin .../apt32f102_rtc.h.A547F319DC6127DB.idx | Bin .../apt32f102_rtc.h.AB3ED6221C01A7B7.idx | Bin .../apt32f102_rtc.h.B824A240405A1797.idx | Bin 0 -> 13930 bytes .../apt32f102_rtc.h.D282DCED1E99DD7A.idx | Bin 0 -> 13786 bytes .../apt32f102_rtc.h.E44052F16D351872.idx | Bin .../apt32f102_rtc.h.E8BF0D028C7F7D9C.idx | Bin .../apt32f102_sio.c.165E8F75720A5B22.idx | Bin .../apt32f102_sio.c.1E7806D6FA390FA5.idx | Bin .../apt32f102_sio.c.21CBB6C07E65E436.idx | Bin .../apt32f102_sio.c.235268128EE47785.idx | Bin .../apt32f102_sio.c.34A0EA4D122C1F2E.idx | Bin .../apt32f102_sio.c.4C370380520AD0AF.idx | Bin .../apt32f102_sio.c.6BA4D10EA1D72EB3.idx | Bin .../apt32f102_sio.c.6E142547AABCE3F9.idx | Bin 0 -> 6616 bytes .../apt32f102_sio.c.6F6C81BA95AA9FEF.idx | Bin .../apt32f102_sio.c.AC221E44E9BB8498.idx | Bin .../apt32f102_sio.c.B4DCF5EE702CAD9D.idx | Bin .../apt32f102_sio.c.BB015D3AB3EAB12A.idx | Bin .../apt32f102_sio.c.CF65B07134D8D924.idx | Bin .../apt32f102_sio.c.E89C3D42C33A403C.idx | Bin 0 -> 6616 bytes .../apt32f102_sio.c.EEFF09C4DCBDF5B5.idx | Bin .../apt32f102_sio.h.062E435074D71E1D.idx | Bin 0 -> 10236 bytes .../apt32f102_sio.h.0A871CD97768D6EF.idx | Bin .../apt32f102_sio.h.0AABE960E694DF87.idx | Bin .../apt32f102_sio.h.3972010D9A4B70CB.idx | Bin .../apt32f102_sio.h.40CA1A1673F9AF26.idx | Bin .../apt32f102_sio.h.4E81E1FF8F45C654.idx | Bin .../apt32f102_sio.h.5C544AB304C7314C.idx | Bin 0 -> 10236 bytes .../apt32f102_sio.h.613978F7A4B5BD08.idx | Bin .../apt32f102_sio.h.72DC32F32C3D987A.idx | Bin .../apt32f102_sio.h.83C4EA3FBC0BC4C0.idx | Bin .../apt32f102_sio.h.91FDB7A16BE9F51D.idx | Bin .../apt32f102_sio.h.9EFC3E8CB411A95C.idx | Bin .../apt32f102_sio.h.D8554495A4026055.idx | Bin .../apt32f102_sio.h.F11825E41C355229.idx | Bin .../apt32f102_sio.h.FCB78F538D467E55.idx | Bin .../apt32f102_spi.c.00A9CEA620FBF40D.idx | Bin .../apt32f102_spi.c.06C58D2692B70022.idx | Bin .../apt32f102_spi.c.0B0E9C9D5006B8C9.idx | Bin .../apt32f102_spi.c.1B7037566E81469B.idx | Bin .../apt32f102_spi.c.1F0A7F6A82EDFABC.idx | Bin .../apt32f102_spi.c.255974CEB997FD9B.idx | Bin .../apt32f102_spi.c.2C34A812F7BB4A9A.idx | Bin .../apt32f102_spi.c.2E6245FCF9CAFF5E.idx | Bin 0 -> 6668 bytes .../apt32f102_spi.c.43277BB9D3A56E57.idx | Bin .../apt32f102_spi.c.460FAB8DC33C8701.idx | Bin 0 -> 6668 bytes .../apt32f102_spi.c.71F9F690F7BA0A6B.idx | Bin .../apt32f102_spi.c.74843C8B0034FA0E.idx | Bin .../apt32f102_spi.c.8D60F273761551C5.idx | Bin .../apt32f102_spi.c.A065CD69A042C477.idx | Bin .../apt32f102_spi.c.B5308AF779788617.idx | Bin .../apt32f102_spi.h.0C2DFADC834401E2.idx | Bin .../apt32f102_spi.h.11F8CB6D20DA16E0.idx | Bin .../apt32f102_spi.h.2AE156590DA3F798.idx | Bin .../apt32f102_spi.h.549CAE91753936D2.idx | Bin 0 -> 7828 bytes .../apt32f102_spi.h.5531C8D0CE744698.idx | Bin .../apt32f102_spi.h.669BE1BCEF13F6BB.idx | Bin .../apt32f102_spi.h.6AFC172C97BCD620.idx | Bin 0 -> 7934 bytes .../apt32f102_spi.h.6C09DDCA637327D3.idx | Bin .../apt32f102_spi.h.8829364DAEC8B137.idx | Bin .../apt32f102_spi.h.9231070EEA5E1A02.idx | Bin .../apt32f102_spi.h.A184941517D2248D.idx | Bin .../apt32f102_spi.h.CBC4A7B2DED8FF33.idx | Bin .../apt32f102_spi.h.CFD35F6C4DD7D270.idx | Bin .../apt32f102_spi.h.F0D46FB81AE50769.idx | Bin .../apt32f102_spi.h.F1FA19905677F233.idx | Bin .../apt32f102_syscon.c.12F4014BDFFB3A74.idx | Bin .../apt32f102_syscon.c.17E153D9AF327BC6.idx | Bin .../apt32f102_syscon.c.2758F291EF2E9D3D.idx | Bin .../apt32f102_syscon.c.32BD3BEA47609ADC.idx | Bin .../apt32f102_syscon.c.445B0FF357296D36.idx | Bin .../apt32f102_syscon.c.584227FFD5CE0331.idx | Bin .../apt32f102_syscon.c.58A8C37FBB568337.idx | Bin 0 -> 16856 bytes .../apt32f102_syscon.c.6E6674F251D95B15.idx | Bin 0 -> 16856 bytes .../apt32f102_syscon.c.73DC68EF4A4C53B7.idx | Bin .../apt32f102_syscon.c.A3B36FD63A56F290.idx | Bin .../apt32f102_syscon.c.CB2F0F2062377DB6.idx | Bin .../apt32f102_syscon.c.D126B7513F986F12.idx | Bin .../apt32f102_syscon.c.E854E49EB05CABB8.idx | Bin .../apt32f102_syscon.c.F0F931C99BAFB9B9.idx | Bin .../apt32f102_syscon.c.FCA481C6E7CCF893.idx | Bin .../apt32f102_syscon.h.0EC22A28F2144ED6.idx | Bin .../apt32f102_syscon.h.28FF3EFA8709541A.idx | Bin .../apt32f102_syscon.h.3D42A3CF0DC7BB51.idx | Bin .../apt32f102_syscon.h.558F063CFE750D74.idx | Bin .../apt32f102_syscon.h.5C3D5FE28CC84597.idx | Bin 0 -> 27376 bytes .../apt32f102_syscon.h.B11260DC57B8003E.idx | Bin .../apt32f102_syscon.h.B5573618EFC18829.idx | Bin .../apt32f102_syscon.h.C48A4885C8A490EB.idx | Bin .../apt32f102_syscon.h.CA079ED1C60FC6CC.idx | Bin .../apt32f102_syscon.h.CD2633352617F471.idx | Bin .../apt32f102_syscon.h.D533F4062490C872.idx | Bin .../apt32f102_syscon.h.D7B8F68B65F5D87A.idx | Bin 0 -> 27128 bytes .../apt32f102_syscon.h.DE085E95E780355A.idx | Bin .../apt32f102_syscon.h.EFF89A64D2F15762.idx | Bin .../apt32f102_syscon.h.F40048628AFDAEBF.idx | Bin .../apt32f102_tkey.h.120612C0E4CBBB08.idx | Bin .../apt32f102_tkey.h.2392DEBDDD619675.idx | Bin .../apt32f102_tkey.h.2F9F5CD9D79CFC6B.idx | Bin .../apt32f102_tkey.h.32B8C18F8D449D49.idx | Bin .../apt32f102_tkey.h.42091FE710F4F947.idx | Bin .../apt32f102_tkey.h.5ED768AB0D7DF4CE.idx | Bin .../apt32f102_tkey.h.6E7B473C25D85672.idx | Bin .../apt32f102_tkey.h.7B1F59E994B72D8E.idx | Bin 0 -> 8582 bytes .../apt32f102_tkey.h.82C282BAD9C4D483.idx | Bin .../apt32f102_tkey.h.8A4B8C00C25BEF1C.idx | Bin .../apt32f102_tkey.h.8F9736725B7D4743.idx | Bin .../apt32f102_tkey.h.94A554F0E9EB8F8A.idx | Bin .../apt32f102_tkey.h.9F6184BF2C5F960B.idx | Bin 0 -> 8582 bytes .../apt32f102_tkey.h.C414A2A44CDD08DF.idx | Bin .../apt32f102_tkey.h.D296F9C0915E7013.idx | Bin ...f102_tkey_parameter.c.072D58BA1BBE4DF8.idx | Bin ...f102_tkey_parameter.c.0BA1243C951C4568.idx | Bin ...f102_tkey_parameter.c.0CC8CB8D299AF7A7.idx | Bin ...f102_tkey_parameter.c.228C20E8E403EF4F.idx | Bin ...f102_tkey_parameter.c.3E8E8880E1C6A7B7.idx | Bin ...f102_tkey_parameter.c.51C643297D71824E.idx | Bin ...f102_tkey_parameter.c.560918B53F1B1350.idx | Bin 0 -> 2888 bytes ...f102_tkey_parameter.c.563CA68A2F813B9E.idx | Bin ...f102_tkey_parameter.c.56ED8E0759E43482.idx | Bin ...f102_tkey_parameter.c.61DE1825786046CA.idx | Bin ...f102_tkey_parameter.c.9D82A0A1099766C5.idx | Bin 0 -> 2888 bytes ...f102_tkey_parameter.c.AA6ACBD494D41462.idx | Bin ...f102_tkey_parameter.c.B672BA53677E3C6D.idx | Bin ...f102_tkey_parameter.c.C38A4B9EBA0A3F19.idx | Bin ...f102_tkey_parameter.c.DF0909A15A6F95FA.idx | Bin ...t32f102_types_local.h.06F4C844F26E0444.idx | Bin ...t32f102_types_local.h.1BCDA27893891AE8.idx | Bin ...t32f102_types_local.h.2E85F431138DFC2F.idx | Bin ...t32f102_types_local.h.367A81F8743432ED.idx | Bin ...t32f102_types_local.h.3ED0A759A68E20AC.idx | Bin 0 -> 7422 bytes ...t32f102_types_local.h.49F023B03D4BAD06.idx | Bin ...t32f102_types_local.h.553B89F1F82086A4.idx | Bin ...t32f102_types_local.h.7F0DEF710BAD1C3A.idx | Bin 0 -> 7422 bytes ...t32f102_types_local.h.81B948FB3A6CEDA5.idx | Bin ...t32f102_types_local.h.857E92313C2419E9.idx | Bin ...t32f102_types_local.h.B0422270014971E7.idx | Bin ...t32f102_types_local.h.C0DD07E88E6FB1FA.idx | Bin ...t32f102_types_local.h.CE52A9DFF5C9F22F.idx | Bin ...t32f102_types_local.h.D9DD89E433E23838.idx | Bin ...t32f102_types_local.h.DC06C8AD0B02A93D.idx | Bin .../apt32f102_uart.c.049D04D57C19D568.idx | Bin 0 -> 8982 bytes .../apt32f102_uart.c.2D143F679B576B21.idx | Bin .../apt32f102_uart.c.2F87397F52A57664.idx | Bin .../apt32f102_uart.c.41C14967F75BF6DF.idx | Bin .../apt32f102_uart.c.590A965CCEFFA539.idx | Bin .../apt32f102_uart.c.63C7B125485882F5.idx | Bin .../apt32f102_uart.c.7EB4DF81AABE91F9.idx | Bin .../apt32f102_uart.c.8DC64BE3DC63F25A.idx | Bin 0 -> 8982 bytes .../apt32f102_uart.c.93CFECB07E82E305.idx | Bin .../apt32f102_uart.c.972285B13452E077.idx | Bin .../apt32f102_uart.c.B7327DB66A300A94.idx | Bin .../apt32f102_uart.c.BA8AB7645E784A0C.idx | Bin .../apt32f102_uart.c.D2EBBEA533354CDE.idx | Bin .../apt32f102_uart.c.F748CB772285E964.idx | Bin .../apt32f102_uart.c.FF5C40EA7BA3EF55.idx | Bin .../apt32f102_uart.h.0D810250814FADB3.idx | Bin .../apt32f102_uart.h.129296C1351CCB63.idx | Bin .../apt32f102_uart.h.1B9EAB4466A2E23A.idx | Bin .../apt32f102_uart.h.1BDA8876872310CE.idx | Bin .../apt32f102_uart.h.1C632C8F605F0F65.idx | Bin .../apt32f102_uart.h.2182B4976E2F3F84.idx | Bin 0 -> 6236 bytes .../apt32f102_uart.h.26E492AB174FBC07.idx | Bin .../apt32f102_uart.h.4716505876BF004F.idx | Bin .../apt32f102_uart.h.72C6888A83E0F6CF.idx | Bin .../apt32f102_uart.h.80389B26032128C1.idx | Bin 0 -> 6108 bytes .../apt32f102_uart.h.DF28E1B49FF4C371.idx | Bin .../apt32f102_uart.h.ECFF064614B4B6CB.idx | Bin .../apt32f102_uart.h.EEAAD4081A265626.idx | Bin .../apt32f102_uart.h.F98AE0E853CAE564.idx | Bin .../apt32f102_uart.h.FC90E87911A1F0D6.idx | Bin .../apt32f102_wwdt.c.03F5D71C9B79F2B3.idx | Bin .../apt32f102_wwdt.c.388BB2D7719FB385.idx | Bin 0 -> 3052 bytes .../apt32f102_wwdt.c.543AD12293AEB3DC.idx | Bin .../apt32f102_wwdt.c.607CD48D25D28E5B.idx | Bin .../apt32f102_wwdt.c.78E92AAA13D60027.idx | Bin .../apt32f102_wwdt.c.82EE5F3F323A4041.idx | Bin 0 -> 3052 bytes .../apt32f102_wwdt.c.9CB84EEBC747BE04.idx | Bin .../apt32f102_wwdt.c.A5ED878AA62DB7A6.idx | Bin .../apt32f102_wwdt.c.A89A2E4A57C08B8F.idx | Bin .../apt32f102_wwdt.c.BE7D53B9D77DF8BD.idx | Bin .../apt32f102_wwdt.c.D9ED9C6884F0FA02.idx | Bin .../apt32f102_wwdt.c.E4FF6E8D9B54279B.idx | Bin .../apt32f102_wwdt.c.E8C5428A0EC06DD4.idx | Bin .../apt32f102_wwdt.c.ECBDADB7722C34BD.idx | Bin .../apt32f102_wwdt.c.F6D133970C72B264.idx | Bin .../apt32f102_wwdt.h.0A60E311509F05D6.idx | Bin .../apt32f102_wwdt.h.0DAA4E77452D3863.idx | Bin .../apt32f102_wwdt.h.0E6F63124E802741.idx | Bin 0 -> 1942 bytes .../apt32f102_wwdt.h.5B02A65A588108A1.idx | Bin .../apt32f102_wwdt.h.765661C0A35567D8.idx | Bin .../apt32f102_wwdt.h.782E723BB922EED9.idx | Bin .../apt32f102_wwdt.h.9E54FCFFC854BE5D.idx | Bin .../apt32f102_wwdt.h.AC6B554C18CC6E55.idx | Bin .../apt32f102_wwdt.h.B62C23F1180E93D3.idx | Bin .../apt32f102_wwdt.h.BD513207619F3CC1.idx | Bin 0 -> 2036 bytes .../apt32f102_wwdt.h.D014B29E2B8FD855.idx | Bin .../apt32f102_wwdt.h.D025186647C89011.idx | Bin .../apt32f102_wwdt.h.E14E1BF42E7B9512.idx | Bin .../apt32f102_wwdt.h.F0355437782D6C77.idx | Bin .../apt32f102_wwdt.h.F15A0C50FD3AC87C.idx | Bin .../clangd/index/crt0.S.020E0AB9FDAB4BA4.idx | Bin .../clangd/index/crt0.S.055F8EC0AEB36423.idx | Bin .../clangd/index/crt0.S.2C745C8B6D552F7C.idx | Bin .../clangd/index/crt0.S.30CC8912087E3159.idx | Bin .../clangd/index/crt0.S.30D319A42A37E9F6.idx | Bin .../clangd/index/crt0.S.379C3DD8B5A255F6.idx | Bin .../clangd/index/crt0.S.386CAB3D0DBC0766.idx | Bin .../clangd/index/crt0.S.3A7537AB25AC649E.idx | Bin .../clangd/index/crt0.S.41B667D4160EFF19.idx | Bin .../clangd/index/crt0.S.50753D44B982AC75.idx | Bin 0 -> 1464 bytes .../clangd/index/crt0.S.579CE085EF18B411.idx | Bin .../clangd/index/crt0.S.79E984C7210F99C4.idx | Bin 0 -> 1464 bytes .../clangd/index/crt0.S.A786D651431BBDD7.idx | Bin .../clangd/index/crt0.S.CF82D1C4F3CC83D2.idx | Bin .../clangd/index/crt0.S.D9FBB7EF038C2AFA.idx | Bin .../index/debug_unit.c.0BEE43747F118B1C.idx | Bin .../index/debug_unit.c.0CFFFA43D127B253.idx | Bin .../index/debug_unit.c.13013E0AB3C934A9.idx | Bin .../index/debug_unit.c.22B67D49C50B2A8B.idx | Bin .../index/debug_unit.c.3DB6AA6ABDFCFD74.idx | Bin .../index/debug_unit.c.6902D2A70DE1BDF9.idx | Bin .../index/debug_unit.c.775DB3F0FB31E443.idx | Bin .../index/debug_unit.c.7EAD3E28153DB483.idx | Bin .../index/debug_unit.c.7F82CE9B70D227F7.idx | Bin .../index/debug_unit.c.C3EAC984A721E943.idx | Bin .../index/debug_unit.c.D5195CF704901148.idx | Bin .../index/debug_unit.c.F9594F2ECF02E489.idx | Bin .../index/debug_unit.h.02A3AED83DC4FB9A.idx | Bin .../index/debug_unit.h.1672BDB43FBAD09F.idx | Bin .../index/debug_unit.h.3C1D14AD1E968F31.idx | Bin .../index/debug_unit.h.4197049FBDE69862.idx | Bin .../index/debug_unit.h.43ED877525710942.idx | Bin .../index/debug_unit.h.62372DD50D296616.idx | Bin .../index/debug_unit.h.645D4519F8E11EB8.idx | Bin .../index/debug_unit.h.6B4A994DB248120D.idx | Bin .../index/debug_unit.h.C91324225255D10E.idx | Bin .../index/debug_unit.h.CD3B212965A9650E.idx | Bin .../index/debug_unit.h.D4704C2D1DC09827.idx | Bin .../index/debug_unit.h.E63EAA1B9F1E0A63.idx | Bin .../index/dip_switch.c.205E5B7F721F903E.idx | Bin .../index/dip_switch.c.59CF2DB6AA97F833.idx | Bin 0 -> 3648 bytes .../index/dip_switch.c.C8B834584158C49D.idx | Bin 0 -> 3648 bytes .../index/dip_switch.h.5F1466B0636F9EFC.idx | Bin 0 -> 2068 bytes .../index/dip_switch.h.892C094BB37B7080.idx | Bin 0 -> 1978 bytes .../index/dip_switch.h.D702BD16942DF973.idx | Bin .../index/dip_switch.h.DFD97CF0B55DCD7F.idx | Bin .../display_logic.c.01B815E8D6E0080E.idx | Bin .../display_logic.c.0FC2E9185960BB0A.idx | Bin .../display_logic.c.106028EFE05325E6.idx | Bin .../display_logic.c.139E890699DD263D.idx | Bin .../display_logic.c.2230100079EDD19C.idx | Bin .../display_logic.c.333CA3AD385DEABE.idx | Bin .../display_logic.c.5505E4A04553F49C.idx | Bin .../display_logic.c.6687EA541B8CC1AD.idx | Bin .../display_logic.c.678AC09C1C507266.idx | Bin .../display_logic.c.8B0DFEDB4B2A4896.idx | Bin .../display_logic.c.8B3C5047333BC636.idx | Bin .../display_logic.c.F82611B0E8CA1DED.idx | Bin .../display_logic.c.FD6022C490183F0D.idx | Bin .../display_logic.h.07ED7CC60A851D03.idx | Bin .../display_logic.h.0E74EFF1ED833617.idx | Bin .../display_logic.h.2B2289A8BF3947E8.idx | Bin .../display_logic.h.2B7BD0D5093A0471.idx | Bin .../display_logic.h.2EA5F9E7FBCB09A0.idx | Bin .../display_logic.h.3DFBB24038889185.idx | Bin .../display_logic.h.4CED32C38B8B9719.idx | Bin .../display_logic.h.8FEF09B6CF6FBDC5.idx | Bin .../display_logic.h.BA2B6D3AC7858B1E.idx | Bin .../display_logic.h.C1FAC9C3C8596606.idx | Bin .../display_logic.h.C286DCDBE4772E07.idx | Bin .../display_logic.h.D0F017C026FA36D1.idx | Bin .../display_logic.h.E4AD4CB1BD651950.idx | Bin .../index/eeprom.c.11F2A3A5A7E7B571.idx | Bin .../index/eeprom.c.16EE79B6F2FDD84F.idx | Bin .../index/eeprom.c.1856CF85CAE4E66F.idx | Bin .../index/eeprom.c.1947E977586D1BAA.idx | Bin .../index/eeprom.c.21295C98387DA4D9.idx | Bin .../index/eeprom.c.3C79608BD47F4517.idx | Bin .../index/eeprom.c.4A1775644ECD6EB5.idx | Bin .../index/eeprom.c.54883015A4A9E2D6.idx | Bin .../index/eeprom.c.56BEF9D9CAD52F2E.idx | Bin 0 -> 6006 bytes .../index/eeprom.c.7F55C45E713D7112.idx | Bin .../index/eeprom.c.89A0427A3BDE355D.idx | Bin .../index/eeprom.c.9454507AE5641191.idx | Bin .../index/eeprom.c.A91F1A6F126B963F.idx | Bin 0 -> 6006 bytes .../index/eeprom.c.C1CE4B425ADFBD64.idx | Bin .../index/eeprom.c.D1198D44346A2099.idx | Bin .../index/eeprom.h.078C5845D1924850.idx | Bin .../index/eeprom.h.2A4EB30F14D5B256.idx | Bin 0 -> 3544 bytes .../index/eeprom.h.2C9261B0CCC9AF78.idx | Bin .../index/eeprom.h.374EEE5196477DB8.idx | Bin .../index/eeprom.h.3C335D4A6F2B09CC.idx | Bin .../index/eeprom.h.3CDC8DCE0513C692.idx | Bin .../index/eeprom.h.4991383913734B28.idx | Bin .../index/eeprom.h.71EE69D4A277B4D0.idx | Bin .../index/eeprom.h.877D9525F8505D6F.idx | Bin .../index/eeprom.h.B67DF36F1AA8B4C8.idx | Bin 0 -> 3544 bytes .../index/eeprom.h.C0D7AC118CF811C4.idx | Bin .../index/eeprom.h.CCD2490337879EEE.idx | Bin .../index/eeprom.h.D13CF7AB2C2A5C00.idx | Bin .../index/eeprom.h.F541BB4581C006FE.idx | Bin .../index/eeprom.h.FA767DBDB2A2A586.idx | Bin .../clangd/index/errno.h.B1F75E7780176EBE.idx | Bin .../clangd/index/errno.h.E917EBE5EC8E3AA8.idx | Bin .../index/features.h.C056A5B2EFBD7F3C.idx | Bin .../index/features.h.D2DB2CA88E1B9A14.idx | Bin .../index/ht1621.c.062EADAC85531A55.idx | Bin .../index/ht1621.c.46BE6C8C3B959F5D.idx | Bin .../index/ht1621.c.598D20680087AFCC.idx | Bin .../index/ht1621.c.7E5578226B20BA62.idx | Bin .../index/ht1621.c.87B851B0269F9BBA.idx | Bin .../index/ht1621.c.A3FEEAFE1E5D1856.idx | Bin .../index/ht1621.c.A625B7A7EAB79110.idx | Bin .../index/ht1621.c.AC3B70E69553F6D3.idx | Bin .../index/ht1621.c.D925212CC6AA1265.idx | Bin .../index/ht1621.c.E879F41AD10F4054.idx | Bin .../index/ht1621.c.EE091B158AF2EE3A.idx | Bin .../index/ht1621.c.F4F8FB30DCA48D5F.idx | Bin .../index/ht1621.h.176AEED6EDBBD532.idx | Bin .../index/ht1621.h.23D2C44FC1C05104.idx | Bin .../index/ht1621.h.265676A5A6AE9F1A.idx | Bin .../index/ht1621.h.38482A2E6782099A.idx | Bin .../index/ht1621.h.3A778F6B1E51306F.idx | Bin .../index/ht1621.h.3AE9C2682138FD95.idx | Bin .../index/ht1621.h.5CE8A201673AA433.idx | Bin .../index/ht1621.h.5DE0CE01C6191C5B.idx | Bin .../index/ht1621.h.834E2E407CAFC078.idx | Bin .../index/ht1621.h.884178EAB53F3047.idx | Bin .../index/ht1621.h.9F069F06696C1493.idx | Bin .../index/ht1621.h.C5D8C0BCCD3830B9.idx | Bin .../index/includes.h.2B1E044CFA50565C.idx | Bin .../index/includes.h.2EF4E3BCA5173AED.idx | Bin .../index/includes.h.45F151CF06A7152C.idx | Bin .../index/includes.h.4F41B502E6247CEA.idx | Bin .../index/includes.h.604BCE1F49AFEF61.idx | Bin .../index/includes.h.9084D968D2313808.idx | Bin .../index/includes.h.A344D84213174197.idx | Bin 0 -> 3976 bytes .../index/includes.h.B72F0FAB0F7B0A20.idx | Bin .../index/includes.h.BDD96BB989D769F9.idx | Bin .../index/includes.h.C31C42429AD71DA4.idx | Bin .../index/includes.h.C5ABB66322A3AC2D.idx | Bin .../index/includes.h.CBEE140036018686.idx | Bin .../index/includes.h.D014F8242E32DB46.idx | Bin .../index/includes.h.D1EEE3737AD9EC52.idx | Bin 0 -> 4054 bytes .../index/includes.h.EC08772C01E9B111.idx | Bin .../index/key_logic.c.0CB39DA4C561D32C.idx | Bin .../index/key_logic.c.2F17DB59D655E0E6.idx | Bin .../index/key_logic.c.37B5DC6CD1FBABF6.idx | Bin .../index/key_logic.c.47E4B19E3C00FF64.idx | Bin .../index/key_logic.c.52453D3BBDB14702.idx | Bin .../index/key_logic.c.679F46C5EFBD0185.idx | Bin .../index/key_logic.c.751B22931CBBD024.idx | Bin .../index/key_logic.c.A1DE5169EE231C53.idx | Bin .../index/key_logic.c.C60639BD644F6996.idx | Bin .../index/key_logic.c.E50823C20721A7F6.idx | Bin .../index/key_logic.c.F2433578ED359190.idx | Bin .../index/key_logic.c.F766D6F4C73AFF09.idx | Bin .../index/key_logic.h.1A0145C1D306C1A5.idx | Bin .../index/key_logic.h.2B7B78FB04EB46EE.idx | Bin .../index/key_logic.h.3DBB34F41A8B9F31.idx | Bin .../index/key_logic.h.42B532C309BDBDE3.idx | Bin .../index/key_logic.h.5B879B12ADA9DC6C.idx | Bin .../index/key_logic.h.600B879FF2228336.idx | Bin .../index/key_logic.h.6A163F0218F91E1A.idx | Bin .../index/key_logic.h.926B4694550C816D.idx | Bin .../index/key_logic.h.9332F3B36E727DD2.idx | Bin .../index/key_logic.h.D3EFAD615D843476.idx | Bin .../index/key_logic.h.DC9F105FC385EBE2.idx | Bin .../index/key_logic.h.F148369DBB654E0B.idx | Bin .../index/linux_errno.h.3454E07CF4A508A4.idx | Bin .../index/linux_errno.h.72829160CCCAA0D0.idx | Bin .../clangd/index/macro.h.0792FEC70532FA6D.idx | Bin .../clangd/index/macro.h.193D1CEFB9E5324A.idx | Bin 0 -> 4910 bytes .../clangd/index/macro.h.23B51A31026176AF.idx | Bin .../clangd/index/macro.h.2406501E1788812A.idx | Bin .../clangd/index/macro.h.2F8B77C5EA68EAEA.idx | Bin .../clangd/index/macro.h.3C524A6A66D83EDF.idx | Bin .../clangd/index/macro.h.3DF438B348A83AE1.idx | Bin 0 -> 4910 bytes .../clangd/index/macro.h.4CCBA6E102D4B62B.idx | Bin .../clangd/index/macro.h.4D49BE41EDAD602B.idx | Bin .../clangd/index/macro.h.51B9B53CDD818A0A.idx | Bin .../clangd/index/macro.h.6FB6887CFF05F212.idx | Bin .../clangd/index/macro.h.9154DBC3AA64D07E.idx | Bin .../clangd/index/macro.h.9C34A2FCF08CB7A7.idx | Bin .../clangd/index/macro.h.A9293A609F2E2C2C.idx | Bin .../clangd/index/macro.h.ED9ACEF817DDE74A.idx | Bin .../clangd/index/main.c.01BFEEC490E82D96.idx | Bin .../clangd/index/main.c.048DF5743A0CF715.idx | Bin .../clangd/index/main.c.0BBED34F73AF8A56.idx | Bin .../clangd/index/main.c.13E11750DDA28728.idx | Bin .../clangd/index/main.c.26B64EC996E58D5B.idx | Bin 0 -> 2100 bytes .../clangd/index/main.c.2A9F5E98E8EC9A7C.idx | Bin .../clangd/index/main.c.30F09A80E52C700D.idx | Bin .../clangd/index/main.c.35B6FB03F7885E5F.idx | Bin .../clangd/index/main.c.6CB7ED4FCDDA806C.idx | Bin .../clangd/index/main.c.77F82630AAE619EE.idx | Bin .../clangd/index/main.c.A5F8611B5455B455.idx | Bin .../clangd/index/main.c.C7F3CA2E7873FFD7.idx | Bin .../clangd/index/main.c.C7F8E0751D0E16D4.idx | Bin 0 -> 2078 bytes .../clangd/index/main.c.F63D70146FBFF70C.idx | Bin .../clangd/index/main.c.FD0F4A9F0DDB5BD8.idx | Bin .../index/mcu_initial.c.2597B2DB7174338F.idx | Bin .../index/mcu_initial.c.28BEA58C29106C43.idx | Bin .../index/mcu_initial.c.2AE5B4A75145463E.idx | Bin .../index/mcu_initial.c.2D89E3ADB768BE9F.idx | Bin .../index/mcu_initial.c.5802F13B567DB7DF.idx | Bin .../index/mcu_initial.c.668AF1B98EF05971.idx | Bin .../index/mcu_initial.c.74941E4979208A41.idx | Bin .../index/mcu_initial.c.7F3C194F2DB873CB.idx | Bin .../index/mcu_initial.c.A5C8DA551E68E339.idx | Bin .../index/mcu_initial.c.BA0997D0632F478D.idx | Bin .../index/mcu_initial.c.BDC772A54AF27B9E.idx | Bin 0 -> 8034 bytes .../index/mcu_initial.c.C890683A439E2BA9.idx | Bin 0 -> 7186 bytes .../index/mcu_initial.c.CCA4D5BCC1BD7ADD.idx | Bin .../index/mcu_initial.c.D3F1E6E6D995A222.idx | Bin .../index/mcu_initial.c.F69D08469DEB9F61.idx | Bin .../mcu_interrupt.c.31483C295CA09016.idx | Bin .../mcu_interrupt.c.37B8AA6552792C26.idx | Bin .../mcu_interrupt.c.5B07936820CEB328.idx | Bin .../mcu_interrupt.c.6E7D56EEF9B040E4.idx | Bin .../mcu_interrupt.c.7EA7E1DBD7BABA45.idx | Bin .../mcu_interrupt.c.828604CCBB990250.idx | Bin 0 -> 23026 bytes .../mcu_interrupt.c.82C08E640AA9A189.idx | Bin .../mcu_interrupt.c.8D53145BC7C7D07B.idx | Bin .../mcu_interrupt.c.9440DA4A2D28C84A.idx | Bin .../mcu_interrupt.c.A0919C60FBF37E2E.idx | Bin .../mcu_interrupt.c.B205018EBB92C554.idx | Bin .../mcu_interrupt.c.B40B47346FB2FC6E.idx | Bin .../mcu_interrupt.c.C3D4B89FB1A0741F.idx | Bin .../mcu_interrupt.c.F3B8A994DB7B4C3B.idx | Bin 0 -> 23026 bytes .../mcu_interrupt.c.F4EE0E9C26E8D12E.idx | Bin .../index/mem_init.c.0F822A6777794EA7.idx | Bin 0 -> 2090 bytes .../index/mem_init.c.117A267220E6AD86.idx | Bin .../index/mem_init.c.17977478AF729EE7.idx | Bin 0 -> 2090 bytes .../index/mem_init.c.294B8D96D85F570D.idx | Bin .../index/mem_init.c.2D694E1D4AC9BF5F.idx | Bin .../index/mem_init.c.43CC62DC65889367.idx | Bin .../index/mem_init.c.4F8D42F452A4A904.idx | Bin .../index/mem_init.c.5B2269C7B220A592.idx | Bin .../index/mem_init.c.603608E8B166FC8A.idx | Bin .../index/mem_init.c.73D17A3D9AE0FBF8.idx | Bin .../index/mem_init.c.7ACF4D5DDC0F8CC9.idx | Bin .../index/mem_init.c.9202CFB00E4243E6.idx | Bin .../index/mem_init.c.C6EFBC5F6A9708FE.idx | Bin .../index/mem_init.c.D1F90EB5CEE851E8.idx | Bin .../index/mem_init.c.F49BEB0A8BED967A.idx | Bin .../model_detection.c.73D9BDD96D2D94BD.idx | Bin .../model_detection.c.DE59FA4DDC1953A0.idx | Bin .../model_detection.c.E2F77D6822691C3B.idx | Bin .../model_detection.c.EC18BDD8547139F7.idx | Bin .../model_detection.c.F12D581C0BADA220.idx | Bin .../model_detection.h.19E1D3AD1688B5F5.idx | Bin .../model_detection.h.4A409B260A6D0A83.idx | Bin .../model_detection.h.5350E45A816C8A44.idx | Bin .../model_detection.h.A292C0BF53A6AFDE.idx | Bin .../model_detection.h.D78F8F0D4F4A3CCF.idx | Bin .../model_detection.h.E3B9CB0134324F4F.idx | Bin .../index/myrelay.c.33D4B142B7B3717B.idx | Bin .../index/myrelay.c.55477E8748D90B99.idx | Bin .../index/myrelay.c.6902F23AF155D9F8.idx | Bin .../index/myrelay.c.74F51E6C531F44BE.idx | Bin .../index/myrelay.c.8EBE86D294A57164.idx | Bin .../index/myrelay.c.9B225A2D90E2081A.idx | Bin .../index/myrelay.c.B3E664B57184E75A.idx | Bin .../index/myrelay.c.B8CE78EB06EED552.idx | Bin .../index/myrelay.c.C63C45B7A66E09C9.idx | Bin .../index/myrelay.c.D65D9E9ED5C84FA6.idx | Bin .../index/myrelay.c.FCAF32B56CAB6AE4.idx | Bin .../index/myrelay.c.FFCA93B1073B17A5.idx | Bin .../index/myrelay.h.24C8A6320823FD43.idx | Bin .../index/myrelay.h.307C2DC25F9C27B5.idx | Bin .../index/myrelay.h.59F48650B3D7BBEF.idx | Bin .../index/myrelay.h.7617B99F771A7F2D.idx | Bin .../index/myrelay.h.88F538C375F67A54.idx | Bin .../index/myrelay.h.93E460EE1CB67C6C.idx | Bin .../index/myrelay.h.B78A48FCC3B42E52.idx | Bin .../index/myrelay.h.D351E0294C0774DF.idx | Bin .../index/myrelay.h.F072BE8F5FBE97F8.idx | Bin .../index/myrelay.h.F0953E54F743A6D7.idx | Bin .../index/myrelay.h.F1B435139BC8DCEF.idx | Bin .../index/myrelay.h.F23E245E1D07F7ED.idx | Bin .../rf_uart_protocol.c.78A7A61E76C929EB.idx | Bin .../rf_uart_protocol.c.7A123A6457328CCD.idx | Bin .../rf_uart_protocol.c.7F274CBF0003F9C8.idx | Bin .../rf_uart_protocol.c.999BDAB3A873BEE4.idx | Bin .../rf_uart_protocol.c.C977EE169E433875.idx | Bin .../rf_uart_protocol.c.D9B719514368AADB.idx | Bin .../rf_uart_protocol.h.1F69BAD32EBF87F8.idx | Bin .../rf_uart_protocol.h.27E1BBB5A4A6D730.idx | Bin .../rf_uart_protocol.h.29B511AF70BC0470.idx | Bin .../rf_uart_protocol.h.5A7F01100CED7E7E.idx | Bin .../rf_uart_protocol.h.73EF1509FD529A93.idx | Bin .../rf_uart_protocol.h.C54F466BD1EAEF56.idx | Bin .../index/stdarg.h.3C5CA7E8DDFB3002.idx | Bin .../index/stdarg.h.C3C728AC8175E9B8.idx | Bin .../index/stddef.h.017B5135BEFC0052.idx | Bin .../index/stddef.h.3CECDFBE12B994D6.idx | Bin .../index/stddef.h.6F6001003806DD68.idx | Bin .../index/stddef.h.70D26B4A16BFEB22.idx | Bin .../index/stddef.h.BDC4C8A012FAF406.idx | Bin 0 -> 776 bytes .../index/stddef.h.C93A39EBE6BF755F.idx | Bin .../clangd/index/stdio.h.C495D5AAA9E50A2A.idx | Bin 8410 -> 8410 bytes .../clangd/index/stdio.h.D860C5E71BED5143.idx | Bin .../index/stdlib.h.126A28DFB0293F6D.idx | Bin .../index/stdlib.h.5E38A6894AF5A1F0.idx | Bin .../index/stdlib.h.775972F14DB852DD.idx | Bin .../index/stdlib.h.FAF6472352AEA74F.idx | Bin .../index/string.h.553257B40768A772.idx | Bin .../index/string.h.9818DBD7E499286F.idx | Bin .../index/switch_fun.c.3004205700B4F059.idx | Bin .../index/switch_fun.c.475B8B3241A2A01A.idx | Bin .../index/switch_fun.c.5F9DCE543EB01ECB.idx | Bin .../index/switch_fun.c.727F91DA7AF854F4.idx | Bin .../index/switch_fun.c.8F7FC4ECD9D25B4D.idx | Bin .../index/switch_fun.c.E8CB937D2285BB7F.idx | Bin .../index/switch_fun.h.086548FFC373D024.idx | Bin .../index/switch_fun.h.1A87B0CFCE860AE8.idx | Bin .../index/switch_fun.h.674442C04AAFAAF6.idx | Bin .../index/switch_fun.h.B35F002F34667A7D.idx | Bin .../index/switch_fun.h.B9938DDF247E330F.idx | Bin .../index/switch_fun.h.E31A57CBD5B029A5.idx | Bin .../index/switch_fun.h.F0F0EFB70C5B5ED9.idx | Bin .../tempctrl_unit.c.015DA15CD57C5D01.idx | Bin .../tempctrl_unit.c.0E736234DFD1221C.idx | Bin .../tempctrl_unit.c.10D8353F53EF7D32.idx | Bin .../tempctrl_unit.c.1CE3B9E773BD5E83.idx | Bin .../tempctrl_unit.c.1E1AE931E12D5955.idx | Bin .../tempctrl_unit.c.27363456AECB2C60.idx | Bin .../tempctrl_unit.c.4529F0104B5EC5EB.idx | Bin .../tempctrl_unit.c.4A23D74B810C9958.idx | Bin .../tempctrl_unit.c.69F6F224C1481817.idx | Bin .../tempctrl_unit.c.7A1D4124F619E416.idx | Bin 0 -> 12132 bytes .../tempctrl_unit.c.885EEB5FDBBFD368.idx | Bin .../tempctrl_unit.c.9D648BCCE53AB868.idx | Bin .../tempctrl_unit.c.A6241E225EBF41A9.idx | Bin .../tempctrl_unit.c.B8567B42F5F7279F.idx | Bin 0 -> 8292 bytes .../tempctrl_unit.c.BF1E05A8789E9D23.idx | Bin .../tempctrl_unit.c.D5C3CDCA5E47177A.idx | Bin .../tempctrl_unit.h.057E914874A7AA56.idx | Bin .../tempctrl_unit.h.20BABCA3371FEA56.idx | Bin .../tempctrl_unit.h.2CD14A0E2F2F72B0.idx | Bin .../tempctrl_unit.h.3900428707DA26A6.idx | Bin .../tempctrl_unit.h.4B9F1D3D36A4B38C.idx | Bin .../tempctrl_unit.h.70E55A3DB05B3085.idx | Bin .../tempctrl_unit.h.7D545E1B1FBC9926.idx | Bin 0 -> 3684 bytes .../tempctrl_unit.h.83449822409CFF1D.idx | Bin .../tempctrl_unit.h.861FAAF48C1BDFB0.idx | Bin .../tempctrl_unit.h.AB5271DAE3EF5EE3.idx | Bin .../tempctrl_unit.h.BA30627066235553.idx | Bin 0 -> 3684 bytes .../tempctrl_unit.h.D41E264327EF3D3A.idx | Bin .../tempctrl_unit.h.D4FE4381A42DCAA3.idx | Bin .../tempctrl_unit.h.E46D5BB54CAD0EE1.idx | Bin .../tempctrl_unit.h.EBDC76270D2BEB82.idx | Bin .../tempctrl_unit.h.FA7E398BF2C96BFE.idx | Bin .../index/tm1812.c.2C51DCB7A10CA061.idx | Bin .../index/tm1812.c.4995B1C706B7E1BA.idx | Bin .../index/tm1812.c.4B63E1009C7CF09A.idx | Bin .../index/tm1812.c.4CB66E73581E667B.idx | Bin .../index/tm1812.c.65F8F2D42CA0C908.idx | Bin .../index/tm1812.c.C37EDFE81E0AEBE1.idx | Bin .../index/tm1812.h.07C117110FE11C53.idx | Bin .../index/tm1812.h.3DF12553810BDEA7.idx | Bin .../index/tm1812.h.60A85F33B5A9B0F9.idx | Bin .../index/tm1812.h.9168966CA61F12D6.idx | Bin .../index/tm1812.h.B5E6670DBC2CC1F9.idx | Bin .../index/tm1812.h.B66C1DB7550452D0.idx | Bin .../index/tm1812.h.D4BF94D7F1235284.idx | Bin .../index/touch_key.c.18AD2516E8DBFC6D.idx | Bin .../index/touch_key.c.2C4337CD994EC316.idx | Bin .../index/touch_key.c.3878574E022D9B5D.idx | Bin .../index/touch_key.c.4ED5784EF21096D3.idx | Bin .../index/touch_key.c.52F80C80B4B26F2C.idx | Bin .../index/touch_key.c.67D3178C4C3274CD.idx | Bin .../index/touch_key.c.93DDCDA7198C0FA8.idx | Bin .../index/touch_key.c.A84F4B191175BE35.idx | Bin .../index/touch_key.c.BAA8BC7B89180434.idx | Bin .../index/touch_key.c.C93AF0DCD64DF9D0.idx | Bin .../index/touch_key.c.DAA1051DA255C6CA.idx | Bin .../index/touch_key.c.FB509A8ED7ADCC9E.idx | Bin .../index/touch_key.h.0FD1A4AEC2C8CE5F.idx | Bin .../index/touch_key.h.1F5EDA835C066BFC.idx | Bin .../index/touch_key.h.289C3213252E44E8.idx | Bin .../index/touch_key.h.481889B224160200.idx | Bin .../index/touch_key.h.4AE3E025B0200E21.idx | Bin .../index/touch_key.h.8BA71C78B18B7C1B.idx | Bin .../index/touch_key.h.A85B0376D673B42B.idx | Bin .../index/touch_key.h.C6A12E5995359975.idx | Bin .../index/touch_key.h.DCB557A35A842510.idx | Bin .../index/touch_key.h.F24CE006B78C3ABA.idx | Bin .../index/touch_key.h.F2EA6A3FF1EDE98B.idx | Bin .../index/touch_key.h.F92D7BAD95CD34BD.idx | Bin .../clangd/index/uart.c.082013ED368CEF75.idx | Bin .../clangd/index/uart.c.171E20BFAF19FFDA.idx | Bin .../clangd/index/uart.c.2E36FD22F3CB0526.idx | Bin 0 -> 14746 bytes .../clangd/index/uart.c.4EA7CA08323097C1.idx | Bin .../clangd/index/uart.c.5FA10AA2F5577653.idx | Bin .../clangd/index/uart.c.5FE6241FD138DEB9.idx | Bin .../clangd/index/uart.c.81E521A2F92F6320.idx | Bin .../clangd/index/uart.c.881F83320DBC5433.idx | Bin 0 -> 14746 bytes .../clangd/index/uart.c.9168AA50A4926124.idx | Bin .../clangd/index/uart.c.9E433FF259118595.idx | Bin .../clangd/index/uart.c.B07D07640804DC33.idx | Bin .../clangd/index/uart.c.BB85F2B655030A9D.idx | Bin .../clangd/index/uart.c.C36826A8CFC20ABC.idx | Bin .../clangd/index/uart.c.C4E72F90B8303D23.idx | Bin .../clangd/index/uart.c.D3E2EC18B4602FA2.idx | Bin .../clangd/index/uart.h.20B8F8D5A9F7EBF7.idx | Bin .../clangd/index/uart.h.275F9D25042D325F.idx | Bin .../clangd/index/uart.h.3C3601FC85E82691.idx | Bin .../clangd/index/uart.h.48BBE24D65F6CF55.idx | Bin .../clangd/index/uart.h.56F031B193C7A1D6.idx | Bin .../clangd/index/uart.h.579B0A5955F36696.idx | Bin .../clangd/index/uart.h.5B8BEC3D90960C04.idx | Bin 0 -> 7640 bytes .../clangd/index/uart.h.76C9CCE5CC1305C6.idx | Bin .../clangd/index/uart.h.8C184469CED8B858.idx | Bin .../clangd/index/uart.h.AE8F047A2895BAAB.idx | Bin .../clangd/index/uart.h.B16512AB40FA5EFA.idx | Bin .../clangd/index/uart.h.D3BFF14D5A139066.idx | Bin .../clangd/index/uart.h.E8D0990F29FA5002.idx | Bin .../clangd/index/uart.h.EB9BAE1B47CC7D4E.idx | Bin .../clangd/index/uart.h.EBBD7BB6EFFFF419.idx | Bin 0 -> 7640 bytes .../uart_protocol.c.034E26F4881E4CDE.idx | Bin .../uart_protocol.c.16F233BA886FFEF3.idx | Bin .../uart_protocol.c.1ABAB997843F784B.idx | Bin 0 -> 3578 bytes .../uart_protocol.c.1E607D9D82C09E7E.idx | Bin .../uart_protocol.c.3714F1DF6BF753A0.idx | Bin .../uart_protocol.c.40101BD08FD08B21.idx | Bin .../uart_protocol.c.407B7E8B1A11C60C.idx | Bin .../uart_protocol.c.46CBE24C68E8A3C4.idx | Bin .../uart_protocol.c.70F4C73BAE5A95ED.idx | Bin .../uart_protocol.c.7F7BE46AC7E7A572.idx | Bin .../uart_protocol.c.9FE67B4748ADEEBB.idx | Bin .../uart_protocol.c.BC6AEF1D800D6B5B.idx | Bin .../uart_protocol.c.DA5088CB4D6E2A0D.idx | Bin .../uart_protocol.c.F61F660FC96657A8.idx | Bin 0 -> 6972 bytes .../uart_protocol.c.FD3183EB6A860C8B.idx | Bin .../uart_protocol.h.00EE2817677C5144.idx | Bin .../uart_protocol.h.0259BD43B7450483.idx | Bin .../uart_protocol.h.185366945728F2B3.idx | Bin .../uart_protocol.h.1F6949188C5624B9.idx | Bin .../uart_protocol.h.2EE32AC0E3213A34.idx | Bin 0 -> 904 bytes .../uart_protocol.h.325076591646662C.idx | Bin .../uart_protocol.h.33BC0FDB56600714.idx | Bin 0 -> 982 bytes .../uart_protocol.h.56E3309D2B8B4791.idx | Bin .../uart_protocol.h.7DA48444C2D86E53.idx | Bin .../uart_protocol.h.865334254FE82EDB.idx | Bin .../uart_protocol.h.9B941A8A7FA86113.idx | Bin .../uart_protocol.h.A53595BD14312C3F.idx | Bin .../uart_protocol.h.A74518B3AEBF5562.idx | Bin .../uart_protocol.h.B6C78BC4A08E14A9.idx | Bin .../uart_protocol.h.C4159AA0AD760A5A.idx | Bin .../uart_protocol.h.E3ECDF6BE1D2E678.idx | Bin .../.cache/compile_commands.json | 198 +- .../Source => Source}/.cache/macro.h | 0 .../Source => Source}/.cache/project.conf | 2 +- Source/.cdk/Project.session | 112 + Source/.cdk/compilation.db | Bin 0 -> 7168 bytes .../Source => Source}/.cdk/refactoring.db | Bin 10240 -> 10240 bytes .../Source => Source}/FWlib/apt32f102_adc.c | 0 .../Source => Source}/FWlib/apt32f102_bt.c | 0 .../Source => Source}/FWlib/apt32f102_coret.c | 0 .../FWlib/apt32f102_countera.c | 0 .../Source => Source}/FWlib/apt32f102_crc.c | 0 .../Source => Source}/FWlib/apt32f102_ept.c | 0 .../Source => Source}/FWlib/apt32f102_et.c | 0 .../Source => Source}/FWlib/apt32f102_gpio.c | 0 .../Source => Source}/FWlib/apt32f102_gpt.c | 0 .../Source => Source}/FWlib/apt32f102_hwdiv.c | 0 .../Source => Source}/FWlib/apt32f102_i2c.c | 0 .../Source => Source}/FWlib/apt32f102_ifc.c | 0 .../FWlib/apt32f102_iostring.c | 0 .../Source => Source}/FWlib/apt32f102_lpt.c | 0 .../Source => Source}/FWlib/apt32f102_rtc.c | 0 .../Source => Source}/FWlib/apt32f102_sio.c | 0 .../Source => Source}/FWlib/apt32f102_spi.c | 0 .../FWlib/apt32f102_syscon.c | 0 .../FWlib/apt32f102_tkey_parameter.c | 0 .../Source => Source}/FWlib/apt32f102_uart.c | 0 .../Source => Source}/FWlib/apt32f102_wwdt.c | 0 .../Lst/RF_T1F_TC_V01_20240329.asm | 0 .../Lst/RF_T1F_TC_V01_20240329.map | 0 .../Lst/RF_T1F_TC_V01_20240415.asm | 0 .../Lst/RF_T1F_TC_V01_20240415.map | 0 .../Lst/T1_AC_TC_V01_20240708.asm | 0 .../Lst/T1_AC_TC_V01_20240708.map | 0 .../Lst/T1_AC_TC_V01_20241120.asm | 0 .../Lst/T1_AC_TC_V01_20241120.map | 0 .../Lst/T1_AC_TC_V01_20241123.asm | 0 .../Lst/T1_AC_TC_V01_20241123.map | 0 .../Lst/T1_AC_TC_V01_20241126.asm | 0 .../Lst/T1_AC_TC_V01_20241126.map | 0 .../Lst/T1_Switch_V01_20231124.asm | 0 .../Lst/T1_Switch_V01_20231124.map | 0 .../Lst/T1_TC_34650_V01_20250209.asm | 0 .../Lst/T1_TC_34650_V01_20250209.map | 0 .../Lst/T1_TC_34650_V01_20250304.asm | 0 .../Lst/T1_TC_34650_V01_20250304.map | 0 .../Lst/T1_TC_34650_V02_20250321.asm | 0 .../Lst/T1_TC_34650_V02_20250321.map | 0 .../Lst/T1_TC_34650_V03_20250422.asm | 0 .../Lst/T1_TC_34650_V03_20250422.map | 0 .../Lst/T1_TC_34650_V04_20250507.asm | 0 .../Lst/T1_TC_34650_V04_20250507.map | 0 .../Lst/T1_TC_34650_V04_20250513.asm | 0 .../Lst/T1_TC_34650_V04_20250513.map | 0 .../Lst/T1_TC_34650_V04_202505161010.asm | 0 .../Lst/T1_TC_34650_V04_202505161010.map | 0 .../Lst/T1_TC_34650_V05_202505211650.asm | 0 .../Lst/T1_TC_34650_V05_202505211650.map | 0 .../Lst/T1_TC_34650_V06_20250815.asm | 0 .../Lst/T1_TC_34650_V06_20250815.map | 0 .../Source => Source}/Lst/T1_TC_34650_ZH.asm | 0 .../Source => Source}/Lst/T1_TC_34650_ZH.map | 0 Source/Lst/T1_TC_34650_ZH_V01.asm | 13346 ++++++++++++++ .../Lst/T1_TC_34650_ZH_V01.map | 1380 +- Source/Lst/T1_TC_ZH_V02.asm | 13342 ++++++++++++++ Source/Lst/T1_TC_ZH_V02.map | 2281 +++ Source/Lst/T1_TC_ZH_V02_202602091700.asm | 13342 ++++++++++++++ Source/Lst/T1_TC_ZH_V02_202602091700.map | 2281 +++ .../Source => Source}/MD203F8P.mk | 4 +- .../Source => Source}/MD203F8P.modify.bat | 0 .../Source => Source}/MD203F8P.txt | 0 .../Source => Source}/Makefile | 0 .../Obj/FWlib_apt32f102_adc.d | 0 .../Obj/FWlib_apt32f102_adc.o | Bin 34848 -> 34848 bytes .../Obj/FWlib_apt32f102_bt.d | 0 .../Obj/FWlib_apt32f102_bt.o | Bin 28748 -> 28748 bytes .../Obj/FWlib_apt32f102_coret.d | 0 .../Obj/FWlib_apt32f102_coret.o | Bin 21588 -> 21592 bytes .../Obj/FWlib_apt32f102_countera.d | 0 .../Obj/FWlib_apt32f102_countera.o | Bin 24624 -> 24624 bytes .../Obj/FWlib_apt32f102_crc.d | 0 .../Obj/FWlib_apt32f102_crc.o | Bin 24152 -> 24152 bytes .../Obj/FWlib_apt32f102_ept.d | 0 .../Obj/FWlib_apt32f102_ept.o | Bin 63344 -> 63344 bytes .../Obj/FWlib_apt32f102_et.d | 0 .../Obj/FWlib_apt32f102_et.o | Bin 28116 -> 28116 bytes .../Obj/FWlib_apt32f102_gpio.d | 0 .../Obj/FWlib_apt32f102_gpio.o | Bin 33872 -> 33872 bytes .../Obj/FWlib_apt32f102_gpt.d | 0 .../Obj/FWlib_apt32f102_gpt.o | Bin 49824 -> 49824 bytes .../Obj/FWlib_apt32f102_i2c.d | 0 .../Obj/FWlib_apt32f102_i2c.o | Bin 34556 -> 34572 bytes .../Obj/FWlib_apt32f102_ifc.d | 0 .../Obj/FWlib_apt32f102_ifc.o | Bin 35216 -> 35216 bytes .../Obj/FWlib_apt32f102_lpt.d | 0 .../Obj/FWlib_apt32f102_lpt.o | Bin 34048 -> 34048 bytes .../Obj/FWlib_apt32f102_rtc.d | 0 .../Obj/FWlib_apt32f102_rtc.o | Bin 33332 -> 33332 bytes .../Obj/FWlib_apt32f102_sio.d | 0 .../Obj/FWlib_apt32f102_sio.o | Bin 32244 -> 32244 bytes .../Obj/FWlib_apt32f102_spi.d | 0 .../Obj/FWlib_apt32f102_spi.o | Bin 26300 -> 26300 bytes .../Obj/FWlib_apt32f102_syscon.d | 0 .../Obj/FWlib_apt32f102_syscon.o | Bin 51956 -> 51956 bytes .../Obj/FWlib_apt32f102_tkey_parameter.d | 0 Source/Obj/FWlib_apt32f102_tkey_parameter.o | Bin 0 -> 19952 bytes .../Obj/FWlib_apt32f102_uart.d | 0 .../Obj/FWlib_apt32f102_uart.o | Bin 31628 -> 31628 bytes .../Obj/FWlib_apt32f102_wwdt.d | 0 .../Obj/FWlib_apt32f102_wwdt.o | Bin 19880 -> 19880 bytes .../Source => Source}/Obj/MD203F8P.txt | 0 .../Obj/SYSTEM_Bootload_fun.d | 0 .../Obj/SYSTEM_Bootload_fun.o | Bin 46872 -> 46872 bytes .../Source => Source}/Obj/SYSTEM_dip_switch.d | 0 .../Source => Source}/Obj/SYSTEM_dip_switch.o | Bin 28312 -> 28312 bytes .../Source => Source}/Obj/SYSTEM_eeprom.d | 0 .../Source => Source}/Obj/SYSTEM_eeprom.o | Bin 33880 -> 33880 bytes .../Obj/SYSTEM_tempctrl_unit.d | 0 Source/Obj/SYSTEM_tempctrl_unit.o | Bin 0 -> 32964 bytes .../Source => Source}/Obj/SYSTEM_uart.d | 0 .../Source => Source}/Obj/SYSTEM_uart.o | Bin 46728 -> 46728 bytes .../Obj/SYSTEM_uart_protocol.d | 0 Source/Obj/SYSTEM_uart_protocol.o | Bin 0 -> 29664 bytes Source/Obj/T1_TC_ZH_V02_202602091700.elf | Bin 0 -> 352240 bytes Source/Obj/T1_TC_ZH_V02_202602091700.ihex | 1467 ++ .../Obj/T1_TC_ZH_V02_202602091700_0x0.bin | Bin 24708 -> 22548 bytes .../Source => Source}/Obj/__rt_entry.S | 0 .../Source => Source}/Obj/__rt_entry.d | 0 .../Source => Source}/Obj/__rt_entry.o | Bin 2748 -> 2748 bytes .../Obj/arch_apt32f102_iostring.d | 0 .../Obj/arch_apt32f102_iostring.o | Bin 22124 -> 22124 bytes .../Source => Source}/Obj/arch_crt0.d | 0 .../Source => Source}/Obj/arch_crt0.o | Bin 5688 -> 5696 bytes .../Source => Source}/Obj/arch_mem_init.d | 0 .../Source => Source}/Obj/arch_mem_init.o | Bin 3204 -> 3204 bytes .../Source => Source}/Obj/drivers_apt32f102.d | 0 .../Source => Source}/Obj/drivers_apt32f102.o | Bin 20356 -> 20356 bytes .../Obj/drivers_apt32f102_ck801.d | 0 Source/Obj/drivers_apt32f102_ck801.o | Bin 0 -> 19092 bytes .../Source => Source}/Obj/main.d | 0 Source/Obj/main.o | Bin 0 -> 25936 bytes .../Source => Source}/Obj/mcu_initial.d | 0 Source/Obj/mcu_initial.o | Bin 0 -> 47332 bytes .../Source => Source}/Obj/mcu_interrupt.d | 0 Source/Obj/mcu_interrupt.o | Bin 0 -> 45096 bytes .../Source => Source}/Project.cdkproj | 2 +- .../Source => Source}/Project.cdkws | 0 .../Source => Source}/Project.tags | Bin .../Source => Source}/Readme.txt | 0 .../Source => Source}/SYSTEM/Bootload_fun.c | 0 .../Source => Source}/SYSTEM/dip_switch.c | 0 .../Source => Source}/SYSTEM/eeprom.c | 0 .../SYSTEM/inc/Bootload_fun.h | 0 .../Source => Source}/SYSTEM/inc/dip_switch.h | 0 .../Source => Source}/SYSTEM/inc/eeprom.h | 0 .../SYSTEM/inc/tempctrl_unit.h | 0 .../Source => Source}/SYSTEM/inc/uart.h | 0 .../SYSTEM/inc/uart_protocol.h | 6 +- .../Source => Source}/SYSTEM/tempctrl_unit.c | 197 +- .../Source => Source}/SYSTEM/uart.c | 0 Source/SYSTEM/uart_protocol.c | 207 + .../arch/apt32f102_iostring.c | 0 .../Source => Source}/arch/apt32f102a.svc | 0 .../Source => Source}/arch/crt0.S | 0 .../Source => Source}/arch/mem_init.c | 0 .../Source => Source}/cdkws.mk | 0 .../Source => Source}/ckcpu.ld | 0 .../doc/APT32F102_Lib_Fix_Log.md | 0 .../doc/APT32F102_TKLib_Version.md | 0 .../Source => Source}/drivers/apt32f102.c | 0 .../drivers/apt32f102_ck801.c | 0 .../Source => Source}/include/apt32f102.h | 0 .../Source => Source}/include/apt32f102_adc.h | 0 .../Source => Source}/include/apt32f102_bt.h | 0 .../include/apt32f102_ck801.h | 0 .../include/apt32f102_clkcalib.h | 0 .../include/apt32f102_coret.h | 0 .../include/apt32f102_countera.h | 0 .../Source => Source}/include/apt32f102_crc.h | 0 .../Source => Source}/include/apt32f102_ept.h | 0 .../Source => Source}/include/apt32f102_et.h | 0 .../include/apt32f102_gpio.h | 0 .../Source => Source}/include/apt32f102_gpt.h | 0 .../include/apt32f102_hwdiv.h | 0 .../Source => Source}/include/apt32f102_i2c.h | 0 .../Source => Source}/include/apt32f102_ifc.h | 0 .../Source => Source}/include/apt32f102_lpt.h | 0 .../Source => Source}/include/apt32f102_rtc.h | 0 .../Source => Source}/include/apt32f102_sio.h | 0 .../Source => Source}/include/apt32f102_spi.h | 0 .../include/apt32f102_syscon.h | 0 .../include/apt32f102_tkey.h | 0 .../include/apt32f102_types_local.h | 0 .../include/apt32f102_uart.h | 0 .../include/apt32f102_wwdt.h | 0 .../Source => Source}/includes.h | 6 +- .../Source => Source}/lib_102ClkCalib_1_03.a | Bin .../Source => Source}/lib_102TKey_1_15.a | Bin .../Source => Source}/lib_102TKey_1_15C.a | Bin .../Source => Source}/lib_102TKey_1_15M.a | Bin .../Source => Source}/lib_102TKey_1_15MC.a | Bin .../Source => Source}/lib_102TKey_c_1_16P0.a | Bin .../lib_102TKey_f_1_18B_240629.a | Bin .../Source => Source}/main.c | 2 - .../Source => Source}/mcu_initial.c | 2 +- .../Source => Source}/mcu_interrupt.c | 0 T1_TC_ZH_V01_20251128/README.md | 237 - .../index/stddef.h.BDC4C8A012FAF406.idx | Bin 2162 -> 0 bytes .../Source/.cdk/Project.session | 42 - .../Source/Lst/T1_TC_34650_ZH_V01.asm | 14894 ---------------- .../Obj/FWlib_apt32f102_tkey_parameter.o | Bin 19948 -> 0 bytes T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_adc.d | 101 - T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_adc.o | Bin 38576 -> 0 bytes .../Source/Obj/SYSTEM_display_logic.d | 83 - .../Source/Obj/SYSTEM_display_logic.o | Bin 27352 -> 0 bytes .../Source/Obj/SYSTEM_ht1621.d | 101 - .../Source/Obj/SYSTEM_ht1621.o | Bin 51768 -> 0 bytes .../Source/Obj/SYSTEM_switch_fun.d | 101 - .../Source/Obj/SYSTEM_switch_fun.o | Bin 39092 -> 0 bytes .../Source/Obj/SYSTEM_tempctrl_unit.o | Bin 35344 -> 0 bytes .../Source/Obj/SYSTEM_tm1812.d | 101 - .../Source/Obj/SYSTEM_tm1812.o | Bin 42200 -> 0 bytes .../Source/Obj/SYSTEM_touch_key.d | 101 - .../Source/Obj/SYSTEM_touch_key.o | Bin 52196 -> 0 bytes .../Source/Obj/SYSTEM_uart_protocol.o | Bin 35308 -> 0 bytes .../Source/Obj/T1_TC_34650_V06_20250815.elf | Bin 368992 -> 0 bytes .../Source/Obj/T1_TC_34650_ZH.elf | Bin 356576 -> 0 bytes .../Source/Obj/T1_TC_34650_ZH.ihex | 1608 -- .../Source/Obj/T1_TC_34650_ZH_0x0.bin | Bin 24716 -> 0 bytes .../Source/Obj/T1_TC_34650_ZH_V01.elf | Bin 356576 -> 0 bytes .../Source/Obj/T1_TC_34650_ZH_V01.ihex | 1608 -- .../Source/Obj/USRCTRL_debug_unit.d | 85 - .../Source/Obj/USRCTRL_debug_unit.o | Bin 24160 -> 0 bytes .../Source/Obj/USRCTRL_display_logic.d | 83 - .../Source/Obj/USRCTRL_display_logic.o | Bin 27208 -> 0 bytes .../Source/Obj/USRCTRL_key_logic.d | 104 - .../Source/Obj/USRCTRL_key_logic.o | Bin 35120 -> 0 bytes .../Source/Obj/USRCTRL_myrelay.d | 101 - .../Source/Obj/USRCTRL_tempctrl_unit.d | 83 - .../Source/Obj/USRCTRL_tempctrl_unit.o | Bin 27536 -> 0 bytes .../Source/Obj/USRCTRL_uart_protocol.d | 83 - .../Source/Obj/USRCTRL_uart_protocol.o | Bin 35028 -> 0 bytes .../Source/Obj/drivers_apt32f102_ck801.o | Bin 19088 -> 0 bytes T1_TC_ZH_V01_20251128/Source/Obj/main.o | Bin 25976 -> 0 bytes .../Source/Obj/mcu_initial.o | Bin 47336 -> 0 bytes .../Source/Obj/mcu_interrupt.o | Bin 45080 -> 0 bytes .../Source/SYSTEM/uart_protocol.c | 453 - .../.cdk/APT32F102x_StdPeriph_Lib.session | 0 .../.cdk/APT32F102x_StdPeriph_Lib.tags | Bin .../.cdk/refactoring.db | Bin .../APT32F102x_StdPeriph_Lib.cdkws | 0 .../APT32F102x_StdPeriph_Lib/cdkws.mk | 0 1421 files changed, 47158 insertions(+), 21011 deletions(-) rename {T1_TC_ZH_V01_20251128/FLASHDOWN => FLASHDOWN}/APT32F102_FLASHDOWN.elf (100%) create mode 100644 README.md create mode 100644 Source/.cache/.cache/clangd/index/Bootload_fun.c.2DAE7886027820C4.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/Bootload_fun.c.2F11821BA8917D3C.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/Bootload_fun.c.4A2041DAEEF83661.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/Bootload_fun.c.77C227FE2F61D80A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/Bootload_fun.c.84CDAD8B26FD7EB6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/Bootload_fun.c.9B75C910986A052D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/Bootload_fun.c.A63833948EE24B45.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/Bootload_fun.h.1C28D3BDF7478E78.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/Bootload_fun.h.2FD2133081399176.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/Bootload_fun.h.52750541BACFEE88.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/Bootload_fun.h.57F5AAB966E0BC36.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/Bootload_fun.h.71FB3DEEB3A6F82D.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/Bootload_fun.h.92BC822C60B561CB.idx create mode 100644 Source/.cache/.cache/clangd/index/Bootload_fun.h.989C8B51B27A4C2B.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/Bootload_fun.h.B214839C2A6EEC03.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.c.0A0AA772D7C39544.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.c.0AAD42579913AD7B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.c.25D3FDE9CB6F6FF1.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.c.377BCDA3E139A368.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.c.41D450460CD174C1.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.c.6D533211A3818F14.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.c.86C80D14E78E52B0.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.c.A6133BF0C284C5E5.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.c.B2CA97ECE7879722.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.c.DA35AE4B13B3F2AD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.c.E7229AD5E7E32DBA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.c.F772524A2DC8278A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.h.235EEDE179E75BBA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.h.273D1CFC55ED5A81.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.h.3254F1E191D4AA5C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.h.5E121E4DC3D70969.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.h.6F6F34113A5DEFFB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.h.9538F48F4916F6FE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.h.B23D4EA06B3D3673.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.h.C114AEDD4BB7422A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.h.DE22A6DCB2CF4217.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.h.E36EDC8715EF56E3.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.h.E5C561A895A6E85C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/adc.h.F51D3FB0A3D808CB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ansidef.h.8DC9EC4A871FC34A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ansidef.h.D5F5095A2EB20E08.idx (93%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.c.148DCB3C625C9B5D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.c.1BF7E88BD033FF1A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.c.2B958D270D55CF89.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102.c.461EDD431A97F509.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.c.5953A2BB39DD1C44.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102.c.5C06E0ED743DB905.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.c.78ED501E2FA28AE7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.c.9AD8AE616721F146.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.c.A1D82B17B0E00AE5.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.c.B091CDF6A9C731D6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.c.B5D8CC4F2CBF6F6F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.c.C5ADA3CB78676253.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.c.C7E8DE9B91117CF7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.c.D18FD4F137043DD1.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.c.D8555F5DE22D0705.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102.h.24A705C5C5143466.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.h.58A8C0A47B96A9D6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.h.711C268798BCC171.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.h.79F803ADAE09A4F4.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.h.7FAE67E541AFA87C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.h.8313295AB9FA0966.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.h.8CD5360688AEF554.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.h.951257B8D7DCAAC3.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102.h.AC734BD2C137D6F0.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.h.B78D00FFFDE52BED.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.h.BBBF78B0B7B7BA48.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.h.CA1FEF77B5968205.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.h.D7CB722D1B097F52.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.h.DAFD82E4A0DD10B7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102.h.FCCED1E743B5D7E5.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.c.05D860E60EAE4890.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_adc.c.1BC5B4EBF2BBE37F.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.c.2CC9D6BC8B8A6A4C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.c.5963B9D646BB0420.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.c.6101A0F9EA3653DC.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.c.96930BA342DD96B0.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.c.A27273620EBEA159.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.c.AF3D11860C772C42.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.c.B810207E441D5670.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.c.B82350007F82E62D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.c.C8394B954EC11609.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_adc.c.CE103F45CA002474.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.c.E3A94D4EC44EF1D9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.c.E9CA88839FA06455.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.c.F388376F7E397B08.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.h.0699D7FF6A382AF9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.h.16FDE04A709C56EE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.h.29994125029E1A56.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.h.323A3EFFA3F14A07.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.h.3D256548F8206E43.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.h.3FB7805384AFDB84.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.h.8F41FAE8D9FB3C17.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_adc.h.9147465C38D6ADA6.idx create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_adc.h.A01863BC8719F6B7.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.h.A76A7C72466EE786.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.h.A86473304FE332EC.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.h.AD82D18C9DA6BE43.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.h.CF27CF7470DD782C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.h.D6FC8AE830A57B4B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_adc.h.DC9EC91980FBD4A2.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.c.022B8690E134DE4E.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_bt.c.123FAECAE8CB3585.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.c.381FF5BCDB2AF402.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.c.393AAF77913EAA24.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.c.4F01A30C7714F0A8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.c.4FF7A2045760BCDA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.c.71B92FEF0C1E09EC.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.c.76A5E87DA531F7BB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.c.7FE1F554CC6F7C9A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.c.950D8B7C75073E36.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.c.97A1AF3D9912FA66.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.c.9852FCEBB659784F.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_bt.c.D1E9472B344CD20A.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.c.E39F6D4F7166575A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.c.E76A71E82DE65BDC.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.h.05F1D61E439AF3D3.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.h.073BB1393F3BC4E6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.h.1B31B66951548CB6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.h.1F13A90BC61FAC8F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.h.267B0A736EE32201.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.h.2FCDD9F5385235CB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.h.3527E0323C3A6C13.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_bt.h.3EF6A3AB2DCE5A02.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.h.5B02027FAA67E6CA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.h.70B9116A9593EA85.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.h.72E75FFE2F02CDA7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.h.854BFE4E9CEE2DDE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.h.D9945E8128F173EC.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_bt.h.E414DC3BD3C75C5F.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_bt.h.FB2481D7F963ABB1.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_ck801.c.067610D95FFEBBA8.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.c.27D1A30DC0013EE8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.c.29EE33FCF451A18E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.c.50F2E6E70732F479.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.c.587CE12D9F1A7A09.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.c.5D1591395CFFCECC.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.c.6023C1115EE7CC1F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.c.8138176A88FFEDCD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.c.82E32D00FAD1E965.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.c.92F13DA26DE2EEF5.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.c.A39332E4A5352ABB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.c.C3F52FA8A4E30C41.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.c.DA5D4A62F53763E7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.c.E59D6347179A0FFB.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_ck801.c.EA025BC26E5AACBF.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.h.097F2FAB22F18F97.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.h.1947CEB5CBA94E58.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.h.1A2BD7E39C09143A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.h.31E65C55E66EF985.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.h.3D6C045275F5A43C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.h.4A26D6AE10112194.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.h.7F8A5D8DF656A5D9.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_ck801.h.83632D4716E91354.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.h.97E611C77C385BFF.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_ck801.h.9B790FE9896DDC0A.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.h.BF4FEA40EAF8477D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.h.C6937C3A36F71AF9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.h.CF3C487E7EAEBE2E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.h.ED382AA02DD5363D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ck801.h.F45612F03D5E2225.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_clkcalib.h.121C2C554BA92900.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_clkcalib.h.16C7844F00E4D367.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_clkcalib.h.36D99A587932CD68.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_clkcalib.h.7AC8EA1C6227845C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_clkcalib.h.7B083B65F4856627.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_clkcalib.h.860682B62C9BB942.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.8999C59F4138BA14.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_clkcalib.h.A0A21BAA35BB7149.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_clkcalib.h.B55B059AB7A6C5CB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_clkcalib.h.C3193466A9A07812.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.CB8D4C6405FA29C9.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_clkcalib.h.D24F74807706B985.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_clkcalib.h.D93B77B82F3E836A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_clkcalib.h.DA8DA2C913D23949.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_clkcalib.h.F1D1656A40A54037.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.c.2D32802B8212699F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.c.333C7944340DA8D4.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.c.37031C88CBDE0A97.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_coret.c.3C574150AAFE2FD3.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.c.4C3276EFEA590D6F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.c.579FDF4E2A5B9A73.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.c.640B4DA845C361F1.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.c.802E0134C97F76FC.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.c.8B094546FF195A45.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.c.8CA1B7BE00CBD345.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.c.9A33B2D6EAA04651.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.c.A4A8561F32CAD970.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.c.C68136B629D3A10B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.c.CC341B966CB19809.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_coret.c.D4049B95C9E3716D.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.h.3A88D025E3942F71.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.h.52AFC17831E75552.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.h.5A1EF5CDCD14572D.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_coret.h.6206FED7BF19BD4F.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.h.6EB4B99D049FDF5D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.h.7AA6CCAC39A1FE9D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.h.889575CD6FC198D2.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.h.9452311D96ABFA87.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.h.A7F5D68655A105F4.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.h.A95F1C8D70349F94.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.h.C4A52FC58B3EBFB3.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.h.DD996B7ED8D34ED5.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_coret.h.E6A9846889283C0C.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.h.E99FF73836B27A1B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_coret.h.F62A8BB2EBC8984A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.c.24C455BD0CE65C8D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.c.3013D46C7805D4ED.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_countera.c.356C8C037CD090A0.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.c.53EDF9722B00AC4B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.c.58BEE33F3262FAFE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.c.5AE6A537E7FC2247.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.c.838F2F212077C914.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.c.849BDCA2C4E46E5B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.c.95242E74942FDE56.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.c.C51119BAF03C95D8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.c.CDE83AB6F5C1D42B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.c.D32845C97FCEB182.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.c.D5FA65C28095DCDE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.c.D9DA01435C3A38C3.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_countera.c.E3C4687D4734F834.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.h.1FC7416221A82428.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.h.4E514E82E020160C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.h.54F14ECEC5AB6E9A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.h.5E430BE4604046C7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.h.685551C143709E2E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.h.7254AA2B4896F8A5.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_countera.h.8571D265C4EF43E4.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.h.85FE5461AAEFF5C9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.h.9168896D2E0F2287.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.h.9B163279DB80869F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.h.B6D9445DFA8E8384.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.h.BCFCB490445647DE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.h.DF4B68B828132BF9.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_countera.h.E0D247FC23BF941A.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_countera.h.E8D5988CE9CA3C61.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.c.0A5CD0CDA7D0D74A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.c.195C4246E88307F3.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.c.292C6C70A7C461C7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.c.2BB64A2049D56D2D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.c.2D900AD0CF0C4169.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.c.30367C3CE1BB8B69.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.c.576A54E55FB3EE8D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.c.660EA54ED385BF3C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.c.685CB02B8893F21E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.c.79A4F8CF99304517.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_crc.c.817A2CE3590B32EA.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.c.9F168C1FEB7912EC.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_crc.c.D9F66C2946C23B86.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.c.E26E744DCD9119CD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.c.EFCA57958A67530D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.h.0D5255C3FDC45DB7.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_crc.h.246E9B1B8036BF51.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.h.30F6E173F5B6B4CA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.h.4898CCB07ED2B90F.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_crc.h.54371AFD668BFB20.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.h.6F3C2762F3404E61.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.h.8CE56EE2E7D67F89.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.h.AAFC1B79F9754826.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.h.AD536C0360F3C11E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.h.B0B52DFFB4DCFD8F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.h.BBF73A345F2968C1.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.h.BDFBBDD017A6BAB8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.h.C0B8475796D4B15C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.h.F07D15D57641211E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_crc.h.FE481D412031CF25.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.c.04C74FAE7DDA7193.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.c.04E07A7549F73AC6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.c.08B6451FD95F8F5D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.c.261458C8516838C1.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.c.2767EC31EE84A8C3.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.c.3F315922DC3D0D35.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.c.6E1D4D1DB370CBF7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.c.878EF50B4C364324.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.c.A184954A0D1BF710.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_ept.c.B7BEDCB3EE380B9C.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.c.C73BFF95215273CC.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.c.CCEF9926898F3807.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.c.D8134A5CC6F4E8B3.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_ept.c.DBA79498E9B81AD6.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.c.DC7C24184C78A8CB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.h.059C2645C5CD800D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.h.1519F1543E9F77A1.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.h.151A4D3111082E9C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.h.3928549E97DA69F4.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_ept.h.3EEE3DB609853F00.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.h.400BC88BD1F4C43C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.h.4743D450E49A7D42.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.h.5C90655D046F1363.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.h.5F183C0FA0C34E6E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.h.6D4C97E28F9FCAF1.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.h.A172D1A04C5C0307.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.h.C3A95433FA52B0E4.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_ept.h.C5864E83FBABE96A.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.h.F662AAE3A284B394.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ept.h.FD72E9874F63AB03.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.c.062888430366E2A2.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.c.12B0002F0844DC99.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.c.2CA5359E3851E295.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_et.c.31286101DEDD35BA.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.c.5F7B8F0D50FE146D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.c.5FF0286CDD88195C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.c.6C0745B883ADC7CE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.c.6E35FDB7BB1D888B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.c.7054E1EEF3069F43.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.c.7D50B863FC17306B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.c.986A00FB0A783EB6.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_et.c.A0078BD4CAA672BF.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.c.A8A540F47C19F2A1.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.c.E0F1FCF2C4CE5521.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.c.ED72F5C57BEE89D2.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.h.0FAD18D5BB82C859.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.h.3453D1F9B883D6A4.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.h.352DF5CD5B1FA390.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.h.4AB82C29399668A3.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.h.51370633F7403BDC.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_et.h.786327128BA14A72.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.h.7DA93E1250DF4083.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.h.837CC59A1E5E8085.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.h.989C4B94E954F073.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.h.BDDF1E863F354468.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.h.C977F38055B2116C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.h.CC5C4A39C9FFF067.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_et.h.CD213B08AA38776E.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.h.CD27327656D56D32.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_et.h.DF03E5CA7568E997.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.c.1394B84D4B398E73.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.c.16AC42A458740B47.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.c.254A0A3856B8B882.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.c.3F5F9279BD04E650.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.c.5193409DB64885EB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.c.64F5F976E6180DFF.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.c.6654EC924169EB1A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.c.684E83FB56F078E1.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.c.6CF9F8975901F4AD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.c.A867193997E72666.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.c.C8069020D3D946D0.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.c.C92BB3A47F68AD22.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.c.E32584C348EDF90D.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_gpio.c.EDF44C710DEC1774.idx create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_gpio.c.F9F69CED76A65930.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.h.1630B1C0BBC76705.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.h.1FD417B1802AB51F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.h.2682F2B726A43ADB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.h.346F9405C6161823.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_gpio.h.51D864449E5AF2DB.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.h.5522266AE61689EE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.h.57336E994A02D51B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.h.5D1383EE67BDC5EE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.h.63074C9EC97B1CD8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.h.9A508C95E23BB955.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.h.A17DAF77E2BFFD29.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_gpio.h.A7DF8261F1407423.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.h.B3FC7E9E087D9C2C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.h.CE48601B3F22CE2E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpio.h.CFC7D73E41178184.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_gpt.c.2CD52FCA392FF606.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.c.40207CFA78DC001C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.c.461BC8F80A3BC364.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.c.4898C75CE612E413.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.c.51C801E079781780.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.c.51FD264C1DB85D26.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.c.6D2145833F82A38E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.c.6DA4D5ABE0281CCA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.c.8988FB8477C71E66.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.c.8D55E84210BB190D.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_gpt.c.A1545F6F71FEA62F.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.c.AB05F52C8681C94B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.c.C298A60803DD0A18.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.c.EC51CF33E6AAB60F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.c.EFAFCF49293FA372.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.h.12957A439AAA0F0C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.h.46D6D9A7602478F3.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.h.52492DB182D9D62D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.h.649A1CF964A1D83A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.h.6AA133156B7EA6D2.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.h.79A4D95287062B98.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_gpt.h.7C0A0A7E5EE308E1.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.h.7F330010F0E92DBB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.h.7FDE0F197950F013.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.h.84646F54CF75D4FC.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.h.9B2C52E570C5237F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.h.9B5E448FCAAB32DF.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.h.A5B13A1F2886DCED.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_gpt.h.CD8620CF7C01AE16.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_gpt.h.F4EE2D8C81E6AA12.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.c.1508B691E4EBB264.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_i2c.c.22A5ACAB23913252.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.c.22DF76E45BF4E4F5.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_i2c.c.26A8265AA40E478F.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.c.2C91BDB78790056A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.c.3ECFA8270732366E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.c.4C7C8FF33B94798A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.c.4D2FECF5A5CC149F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.c.5F040FAD0858390A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.c.643B811779BAA5E1.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.c.9C0FB2544B3BB83B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.c.A20363C0DC4BF66B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.c.DF92E0A6E12F4C27.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.c.F6AAFD55366550E4.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.c.F920E639680AF697.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_i2c.h.04D0FED82D08E4DC.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.h.116C982E17CAC275.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.h.1F8FB0A43FAB4375.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.h.4F1FA16F4C107964.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.h.5154F233802B9096.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.h.60910F5910C3F42E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.h.637D2C4BB6FA3910.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.h.802C8E93F67B4B5C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.h.9A0A49A70AC7C43C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.h.9CE385A190064BCD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.h.A1C676F5BAEC9965.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_i2c.h.A2D1F40082DED98E.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.h.AAD7F23C912073B6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.h.AD9DE74EE9603ED0.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_i2c.h.BA0E9E9195FB7F5E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.c.0830E112E38A9D01.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.c.12ABDF8FDC5A177C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.c.2D3FC7AF758B13C7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.c.2F370D932EC62EF3.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.c.3AC2C6390973EBDD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.c.3D19E84D72E9274B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.c.5DE9E523944C67BF.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.c.655B9F5B1A47C60E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.c.69DD35D1B9B70F48.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.c.89CA862F00540C35.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_ifc.c.923CF0C79981D861.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.c.925BCCA3E4005FF8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.c.B8627A75D9F0242D.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_ifc.c.DD4988436795518A.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.c.E14982F9DFEF0145.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.h.0057190B200570AA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.h.1B8F04B520F44658.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_ifc.h.555813E62115605A.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.h.5DA8BBFB791A1652.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.h.72813536EC7CE443.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.h.784BDAAB5AC0B89A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.h.8259C58DC994FFED.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.h.82AC90A8B008A8F7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.h.9D87153C0D75F648.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.h.AA91D61F1E4A21CE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.h.AE2E967FEEF20793.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.h.BBA8D0C6E11A5F9C.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_ifc.h.CDE5E26A73F17104.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.h.CF10E6B00EA9A6DE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_ifc.h.E61C70C8370C4E82.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_iostring.c.0849FA1F7CF721FA.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_iostring.c.0E8A8D00C6DB1F4D.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_iostring.c.0EB7FAD489AB95CD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_iostring.c.3A0450D6223B1E94.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_iostring.c.455C5D8E6D2DBFBF.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_iostring.c.4F9CF391DEA7B98D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_iostring.c.517525F7F60302B7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_iostring.c.645D3E93B3449271.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_iostring.c.857178FAD24AEBCA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_iostring.c.B3D62AF04D34C855.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_iostring.c.BE20E0CF95528F12.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_iostring.c.C93FE196C1606124.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_iostring.c.E2F781291D67C490.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_iostring.c.EFC3C0992D44085A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_iostring.c.F6806674FED687F2.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.c.13AA7C1616EAF142.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.c.369D3C2F5708A049.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_lpt.c.408FBD0F332939F9.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.c.4840E0601EB6D651.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.c.5AF2C563CE5C7D4E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.c.6C2C041D6A07CA60.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.c.7B06A730F91B412A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.c.A4241EC5B81F7AE5.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_lpt.c.A8261A11A236CCF6.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.c.C05C7CFCEC53E5A7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.c.C1075C18671EA209.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.c.C742994BE9F7974A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.c.E17A02398DAFB6CD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.c.F06AF5A8997156E5.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.c.FD92781A86768B69.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.h.1B8659B9A5D2232E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.h.21BF2F8D286C4D19.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_lpt.h.24D434C8EC17DDEC.idx create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_lpt.h.2D28EFE378B9E115.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.h.3C0B479CDA77133F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.h.558DBD3B2B599F3E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.h.5CD41B7737E8390C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.h.7A74B847BE57A018.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.h.C31E5615E6F6EA62.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.h.C71C8FE52CA87397.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.h.CA71A53389E43D14.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.h.CB810E088A1BF71A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.h.CC1662C3F3F7F46E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.h.E80C6AC6EA03BE4B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_lpt.h.F7B924F6527305BA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.c.19359993EDA41019.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.c.2509609DC7D9DB53.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.c.29C71A30615D4EF9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.c.47AE5EC7FD3E1B4A.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_rtc.c.5A7166C63FF98DAA.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.c.692FC999CF41AC83.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_rtc.c.6D9E128CEC7F0EFB.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.c.80D07AEF96C58EEB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.c.8E60EACA67196083.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.c.B6A733BB82362CF9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.c.BB663C46E5E2120C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.c.D1EA382E072872C2.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.c.D8387895A37CD907.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.c.E1BC9D2EF5C0AB85.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.c.F9D6BF39E920DE4D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.h.0B1E3AEBF373B74A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.h.1BBA3ABE4E716461.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.h.3F2BD0DD50F925B1.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.h.49B9F76B022CEB71.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.h.4DB9E5A5A581EC41.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.h.5E2DFEFD626CB7D9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.h.6DA1D2635EE003EC.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.h.6E9689FA076142FD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.h.7DFC6DD9C1F44E8D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.h.A547F319DC6127DB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.h.AB3ED6221C01A7B7.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_rtc.h.B824A240405A1797.idx create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_rtc.h.D282DCED1E99DD7A.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.h.E44052F16D351872.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_rtc.h.E8BF0D028C7F7D9C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.c.165E8F75720A5B22.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.c.1E7806D6FA390FA5.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.c.21CBB6C07E65E436.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.c.235268128EE47785.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.c.34A0EA4D122C1F2E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.c.4C370380520AD0AF.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.c.6BA4D10EA1D72EB3.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_sio.c.6E142547AABCE3F9.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.c.6F6C81BA95AA9FEF.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.c.AC221E44E9BB8498.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.c.B4DCF5EE702CAD9D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.c.BB015D3AB3EAB12A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.c.CF65B07134D8D924.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_sio.c.E89C3D42C33A403C.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.c.EEFF09C4DCBDF5B5.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_sio.h.062E435074D71E1D.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.h.0A871CD97768D6EF.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.h.0AABE960E694DF87.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.h.3972010D9A4B70CB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.h.40CA1A1673F9AF26.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.h.4E81E1FF8F45C654.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_sio.h.5C544AB304C7314C.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.h.613978F7A4B5BD08.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.h.72DC32F32C3D987A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.h.83C4EA3FBC0BC4C0.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.h.91FDB7A16BE9F51D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.h.9EFC3E8CB411A95C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.h.D8554495A4026055.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.h.F11825E41C355229.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_sio.h.FCB78F538D467E55.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.c.00A9CEA620FBF40D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.c.06C58D2692B70022.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.c.0B0E9C9D5006B8C9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.c.1B7037566E81469B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.c.1F0A7F6A82EDFABC.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.c.255974CEB997FD9B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.c.2C34A812F7BB4A9A.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_spi.c.2E6245FCF9CAFF5E.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.c.43277BB9D3A56E57.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_spi.c.460FAB8DC33C8701.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.c.71F9F690F7BA0A6B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.c.74843C8B0034FA0E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.c.8D60F273761551C5.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.c.A065CD69A042C477.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.c.B5308AF779788617.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.h.0C2DFADC834401E2.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.h.11F8CB6D20DA16E0.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.h.2AE156590DA3F798.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_spi.h.549CAE91753936D2.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.h.5531C8D0CE744698.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.h.669BE1BCEF13F6BB.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_spi.h.6AFC172C97BCD620.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.h.6C09DDCA637327D3.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.h.8829364DAEC8B137.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.h.9231070EEA5E1A02.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.h.A184941517D2248D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.h.CBC4A7B2DED8FF33.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.h.CFD35F6C4DD7D270.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.h.F0D46FB81AE50769.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_spi.h.F1FA19905677F233.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.c.12F4014BDFFB3A74.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.c.17E153D9AF327BC6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.c.2758F291EF2E9D3D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.c.32BD3BEA47609ADC.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.c.445B0FF357296D36.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.c.584227FFD5CE0331.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_syscon.c.58A8C37FBB568337.idx create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_syscon.c.6E6674F251D95B15.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.c.73DC68EF4A4C53B7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.c.A3B36FD63A56F290.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.c.CB2F0F2062377DB6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.c.D126B7513F986F12.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.c.E854E49EB05CABB8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.c.F0F931C99BAFB9B9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.c.FCA481C6E7CCF893.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.h.0EC22A28F2144ED6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.h.28FF3EFA8709541A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.h.3D42A3CF0DC7BB51.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.h.558F063CFE750D74.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_syscon.h.5C3D5FE28CC84597.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.h.B11260DC57B8003E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.h.B5573618EFC18829.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.h.C48A4885C8A490EB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.h.CA079ED1C60FC6CC.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.h.CD2633352617F471.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.h.D533F4062490C872.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_syscon.h.D7B8F68B65F5D87A.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.h.DE085E95E780355A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.h.EFF89A64D2F15762.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_syscon.h.F40048628AFDAEBF.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey.h.120612C0E4CBBB08.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey.h.2392DEBDDD619675.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey.h.2F9F5CD9D79CFC6B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey.h.32B8C18F8D449D49.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey.h.42091FE710F4F947.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey.h.5ED768AB0D7DF4CE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey.h.6E7B473C25D85672.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_tkey.h.7B1F59E994B72D8E.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey.h.82C282BAD9C4D483.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey.h.8A4B8C00C25BEF1C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey.h.8F9736725B7D4743.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey.h.94A554F0E9EB8F8A.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_tkey.h.9F6184BF2C5F960B.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey.h.C414A2A44CDD08DF.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey.h.D296F9C0915E7013.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.072D58BA1BBE4DF8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.0BA1243C951C4568.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.0CC8CB8D299AF7A7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.228C20E8E403EF4F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.3E8E8880E1C6A7B7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.51C643297D71824E.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.560918B53F1B1350.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.563CA68A2F813B9E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.56ED8E0759E43482.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.61DE1825786046CA.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.9D82A0A1099766C5.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.AA6ACBD494D41462.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.B672BA53677E3C6D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.C38A4B9EBA0A3F19.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.DF0909A15A6F95FA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_types_local.h.06F4C844F26E0444.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_types_local.h.1BCDA27893891AE8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_types_local.h.2E85F431138DFC2F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_types_local.h.367A81F8743432ED.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_types_local.h.3ED0A759A68E20AC.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_types_local.h.49F023B03D4BAD06.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_types_local.h.553B89F1F82086A4.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_types_local.h.7F0DEF710BAD1C3A.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_types_local.h.81B948FB3A6CEDA5.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_types_local.h.857E92313C2419E9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_types_local.h.B0422270014971E7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_types_local.h.C0DD07E88E6FB1FA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_types_local.h.CE52A9DFF5C9F22F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_types_local.h.D9DD89E433E23838.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_types_local.h.DC06C8AD0B02A93D.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_uart.c.049D04D57C19D568.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.c.2D143F679B576B21.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.c.2F87397F52A57664.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.c.41C14967F75BF6DF.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.c.590A965CCEFFA539.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.c.63C7B125485882F5.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.c.7EB4DF81AABE91F9.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_uart.c.8DC64BE3DC63F25A.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.c.93CFECB07E82E305.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.c.972285B13452E077.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.c.B7327DB66A300A94.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.c.BA8AB7645E784A0C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.c.D2EBBEA533354CDE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.c.F748CB772285E964.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.c.FF5C40EA7BA3EF55.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.h.0D810250814FADB3.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.h.129296C1351CCB63.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.h.1B9EAB4466A2E23A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.h.1BDA8876872310CE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.h.1C632C8F605F0F65.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_uart.h.2182B4976E2F3F84.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.h.26E492AB174FBC07.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.h.4716505876BF004F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.h.72C6888A83E0F6CF.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_uart.h.80389B26032128C1.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.h.DF28E1B49FF4C371.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.h.ECFF064614B4B6CB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.h.EEAAD4081A265626.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.h.F98AE0E853CAE564.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_uart.h.FC90E87911A1F0D6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.c.03F5D71C9B79F2B3.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.388BB2D7719FB385.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.c.543AD12293AEB3DC.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.c.607CD48D25D28E5B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.c.78E92AAA13D60027.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.82EE5F3F323A4041.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.c.9CB84EEBC747BE04.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.c.A5ED878AA62DB7A6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.c.A89A2E4A57C08B8F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.c.BE7D53B9D77DF8BD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.c.D9ED9C6884F0FA02.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.c.E4FF6E8D9B54279B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.c.E8C5428A0EC06DD4.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.c.ECBDADB7722C34BD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.c.F6D133970C72B264.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.h.0A60E311509F05D6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.h.0DAA4E77452D3863.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.0E6F63124E802741.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.h.5B02A65A588108A1.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.h.765661C0A35567D8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.h.782E723BB922EED9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.h.9E54FCFFC854BE5D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.h.AC6B554C18CC6E55.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.h.B62C23F1180E93D3.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.BD513207619F3CC1.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.h.D014B29E2B8FD855.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.h.D025186647C89011.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.h.E14E1BF42E7B9512.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.h.F0355437782D6C77.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/apt32f102_wwdt.h.F15A0C50FD3AC87C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/crt0.S.020E0AB9FDAB4BA4.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/crt0.S.055F8EC0AEB36423.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/crt0.S.2C745C8B6D552F7C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/crt0.S.30CC8912087E3159.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/crt0.S.30D319A42A37E9F6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/crt0.S.379C3DD8B5A255F6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/crt0.S.386CAB3D0DBC0766.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/crt0.S.3A7537AB25AC649E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/crt0.S.41B667D4160EFF19.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/crt0.S.50753D44B982AC75.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/crt0.S.579CE085EF18B411.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/crt0.S.79E984C7210F99C4.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/crt0.S.A786D651431BBDD7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/crt0.S.CF82D1C4F3CC83D2.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/crt0.S.D9FBB7EF038C2AFA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.c.0BEE43747F118B1C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.c.0CFFFA43D127B253.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.c.13013E0AB3C934A9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.c.22B67D49C50B2A8B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.c.3DB6AA6ABDFCFD74.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.c.6902D2A70DE1BDF9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.c.775DB3F0FB31E443.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.c.7EAD3E28153DB483.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.c.7F82CE9B70D227F7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.c.C3EAC984A721E943.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.c.D5195CF704901148.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.c.F9594F2ECF02E489.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.h.02A3AED83DC4FB9A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.h.1672BDB43FBAD09F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.h.3C1D14AD1E968F31.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.h.4197049FBDE69862.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.h.43ED877525710942.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.h.62372DD50D296616.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.h.645D4519F8E11EB8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.h.6B4A994DB248120D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.h.C91324225255D10E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.h.CD3B212965A9650E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.h.D4704C2D1DC09827.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/debug_unit.h.E63EAA1B9F1E0A63.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/dip_switch.c.205E5B7F721F903E.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/dip_switch.c.59CF2DB6AA97F833.idx create mode 100644 Source/.cache/.cache/clangd/index/dip_switch.c.C8B834584158C49D.idx create mode 100644 Source/.cache/.cache/clangd/index/dip_switch.h.5F1466B0636F9EFC.idx create mode 100644 Source/.cache/.cache/clangd/index/dip_switch.h.892C094BB37B7080.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/dip_switch.h.D702BD16942DF973.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/dip_switch.h.DFD97CF0B55DCD7F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.c.01B815E8D6E0080E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.c.0FC2E9185960BB0A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.c.106028EFE05325E6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.c.139E890699DD263D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.c.2230100079EDD19C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.c.333CA3AD385DEABE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.c.5505E4A04553F49C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.c.6687EA541B8CC1AD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.c.678AC09C1C507266.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.c.8B0DFEDB4B2A4896.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.c.8B3C5047333BC636.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.c.F82611B0E8CA1DED.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.c.FD6022C490183F0D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.h.07ED7CC60A851D03.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.h.0E74EFF1ED833617.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.h.2B2289A8BF3947E8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.h.2B7BD0D5093A0471.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.h.2EA5F9E7FBCB09A0.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.h.3DFBB24038889185.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.h.4CED32C38B8B9719.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.h.8FEF09B6CF6FBDC5.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.h.BA2B6D3AC7858B1E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.h.C1FAC9C3C8596606.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.h.C286DCDBE4772E07.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.h.D0F017C026FA36D1.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/display_logic.h.E4AD4CB1BD651950.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.c.11F2A3A5A7E7B571.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.c.16EE79B6F2FDD84F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.c.1856CF85CAE4E66F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.c.1947E977586D1BAA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.c.21295C98387DA4D9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.c.3C79608BD47F4517.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.c.4A1775644ECD6EB5.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.c.54883015A4A9E2D6.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/eeprom.c.56BEF9D9CAD52F2E.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.c.7F55C45E713D7112.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.c.89A0427A3BDE355D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.c.9454507AE5641191.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/eeprom.c.A91F1A6F126B963F.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.c.C1CE4B425ADFBD64.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.c.D1198D44346A2099.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.h.078C5845D1924850.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/eeprom.h.2A4EB30F14D5B256.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.h.2C9261B0CCC9AF78.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.h.374EEE5196477DB8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.h.3C335D4A6F2B09CC.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.h.3CDC8DCE0513C692.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.h.4991383913734B28.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.h.71EE69D4A277B4D0.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.h.877D9525F8505D6F.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/eeprom.h.B67DF36F1AA8B4C8.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.h.C0D7AC118CF811C4.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.h.CCD2490337879EEE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.h.D13CF7AB2C2A5C00.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.h.F541BB4581C006FE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/eeprom.h.FA767DBDB2A2A586.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/errno.h.B1F75E7780176EBE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/errno.h.E917EBE5EC8E3AA8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/features.h.C056A5B2EFBD7F3C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/features.h.D2DB2CA88E1B9A14.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.c.062EADAC85531A55.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.c.46BE6C8C3B959F5D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.c.598D20680087AFCC.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.c.7E5578226B20BA62.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.c.87B851B0269F9BBA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.c.A3FEEAFE1E5D1856.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.c.A625B7A7EAB79110.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.c.AC3B70E69553F6D3.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.c.D925212CC6AA1265.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.c.E879F41AD10F4054.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.c.EE091B158AF2EE3A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.c.F4F8FB30DCA48D5F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.h.176AEED6EDBBD532.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.h.23D2C44FC1C05104.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.h.265676A5A6AE9F1A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.h.38482A2E6782099A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.h.3A778F6B1E51306F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.h.3AE9C2682138FD95.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.h.5CE8A201673AA433.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.h.5DE0CE01C6191C5B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.h.834E2E407CAFC078.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.h.884178EAB53F3047.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.h.9F069F06696C1493.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/ht1621.h.C5D8C0BCCD3830B9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/includes.h.2B1E044CFA50565C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/includes.h.2EF4E3BCA5173AED.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/includes.h.45F151CF06A7152C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/includes.h.4F41B502E6247CEA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/includes.h.604BCE1F49AFEF61.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/includes.h.9084D968D2313808.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/includes.h.A344D84213174197.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/includes.h.B72F0FAB0F7B0A20.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/includes.h.BDD96BB989D769F9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/includes.h.C31C42429AD71DA4.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/includes.h.C5ABB66322A3AC2D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/includes.h.CBEE140036018686.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/includes.h.D014F8242E32DB46.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/includes.h.D1EEE3737AD9EC52.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/includes.h.EC08772C01E9B111.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.c.0CB39DA4C561D32C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.c.2F17DB59D655E0E6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.c.37B5DC6CD1FBABF6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.c.47E4B19E3C00FF64.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.c.52453D3BBDB14702.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.c.679F46C5EFBD0185.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.c.751B22931CBBD024.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.c.A1DE5169EE231C53.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.c.C60639BD644F6996.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.c.E50823C20721A7F6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.c.F2433578ED359190.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.c.F766D6F4C73AFF09.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.h.1A0145C1D306C1A5.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.h.2B7B78FB04EB46EE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.h.3DBB34F41A8B9F31.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.h.42B532C309BDBDE3.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.h.5B879B12ADA9DC6C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.h.600B879FF2228336.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.h.6A163F0218F91E1A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.h.926B4694550C816D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.h.9332F3B36E727DD2.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.h.D3EFAD615D843476.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.h.DC9F105FC385EBE2.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/key_logic.h.F148369DBB654E0B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/linux_errno.h.3454E07CF4A508A4.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/linux_errno.h.72829160CCCAA0D0.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/macro.h.0792FEC70532FA6D.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/macro.h.193D1CEFB9E5324A.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/macro.h.23B51A31026176AF.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/macro.h.2406501E1788812A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/macro.h.2F8B77C5EA68EAEA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/macro.h.3C524A6A66D83EDF.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/macro.h.3DF438B348A83AE1.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/macro.h.4CCBA6E102D4B62B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/macro.h.4D49BE41EDAD602B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/macro.h.51B9B53CDD818A0A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/macro.h.6FB6887CFF05F212.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/macro.h.9154DBC3AA64D07E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/macro.h.9C34A2FCF08CB7A7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/macro.h.A9293A609F2E2C2C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/macro.h.ED9ACEF817DDE74A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/main.c.01BFEEC490E82D96.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/main.c.048DF5743A0CF715.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/main.c.0BBED34F73AF8A56.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/main.c.13E11750DDA28728.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/main.c.26B64EC996E58D5B.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/main.c.2A9F5E98E8EC9A7C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/main.c.30F09A80E52C700D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/main.c.35B6FB03F7885E5F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/main.c.6CB7ED4FCDDA806C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/main.c.77F82630AAE619EE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/main.c.A5F8611B5455B455.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/main.c.C7F3CA2E7873FFD7.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/main.c.C7F8E0751D0E16D4.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/main.c.F63D70146FBFF70C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/main.c.FD0F4A9F0DDB5BD8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_initial.c.2597B2DB7174338F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_initial.c.28BEA58C29106C43.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_initial.c.2AE5B4A75145463E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_initial.c.2D89E3ADB768BE9F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_initial.c.5802F13B567DB7DF.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_initial.c.668AF1B98EF05971.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_initial.c.74941E4979208A41.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_initial.c.7F3C194F2DB873CB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_initial.c.A5C8DA551E68E339.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_initial.c.BA0997D0632F478D.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/mcu_initial.c.BDC772A54AF27B9E.idx create mode 100644 Source/.cache/.cache/clangd/index/mcu_initial.c.C890683A439E2BA9.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_initial.c.CCA4D5BCC1BD7ADD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_initial.c.D3F1E6E6D995A222.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_initial.c.F69D08469DEB9F61.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_interrupt.c.31483C295CA09016.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_interrupt.c.37B8AA6552792C26.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_interrupt.c.5B07936820CEB328.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_interrupt.c.6E7D56EEF9B040E4.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_interrupt.c.7EA7E1DBD7BABA45.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/mcu_interrupt.c.828604CCBB990250.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_interrupt.c.82C08E640AA9A189.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_interrupt.c.8D53145BC7C7D07B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_interrupt.c.9440DA4A2D28C84A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_interrupt.c.A0919C60FBF37E2E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_interrupt.c.B205018EBB92C554.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_interrupt.c.B40B47346FB2FC6E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_interrupt.c.C3D4B89FB1A0741F.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/mcu_interrupt.c.F3B8A994DB7B4C3B.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mcu_interrupt.c.F4EE0E9C26E8D12E.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/mem_init.c.0F822A6777794EA7.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mem_init.c.117A267220E6AD86.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/mem_init.c.17977478AF729EE7.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mem_init.c.294B8D96D85F570D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mem_init.c.2D694E1D4AC9BF5F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mem_init.c.43CC62DC65889367.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mem_init.c.4F8D42F452A4A904.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mem_init.c.5B2269C7B220A592.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mem_init.c.603608E8B166FC8A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mem_init.c.73D17A3D9AE0FBF8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mem_init.c.7ACF4D5DDC0F8CC9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mem_init.c.9202CFB00E4243E6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mem_init.c.C6EFBC5F6A9708FE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mem_init.c.D1F90EB5CEE851E8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/mem_init.c.F49BEB0A8BED967A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/model_detection.c.73D9BDD96D2D94BD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/model_detection.c.DE59FA4DDC1953A0.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/model_detection.c.E2F77D6822691C3B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/model_detection.c.EC18BDD8547139F7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/model_detection.c.F12D581C0BADA220.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/model_detection.h.19E1D3AD1688B5F5.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/model_detection.h.4A409B260A6D0A83.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/model_detection.h.5350E45A816C8A44.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/model_detection.h.A292C0BF53A6AFDE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/model_detection.h.D78F8F0D4F4A3CCF.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/model_detection.h.E3B9CB0134324F4F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.c.33D4B142B7B3717B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.c.55477E8748D90B99.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.c.6902F23AF155D9F8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.c.74F51E6C531F44BE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.c.8EBE86D294A57164.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.c.9B225A2D90E2081A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.c.B3E664B57184E75A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.c.B8CE78EB06EED552.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.c.C63C45B7A66E09C9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.c.D65D9E9ED5C84FA6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.c.FCAF32B56CAB6AE4.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.c.FFCA93B1073B17A5.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.h.24C8A6320823FD43.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.h.307C2DC25F9C27B5.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.h.59F48650B3D7BBEF.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.h.7617B99F771A7F2D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.h.88F538C375F67A54.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.h.93E460EE1CB67C6C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.h.B78A48FCC3B42E52.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.h.D351E0294C0774DF.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.h.F072BE8F5FBE97F8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.h.F0953E54F743A6D7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.h.F1B435139BC8DCEF.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/myrelay.h.F23E245E1D07F7ED.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/rf_uart_protocol.c.78A7A61E76C929EB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/rf_uart_protocol.c.7A123A6457328CCD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/rf_uart_protocol.c.7F274CBF0003F9C8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/rf_uart_protocol.c.999BDAB3A873BEE4.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/rf_uart_protocol.c.C977EE169E433875.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/rf_uart_protocol.c.D9B719514368AADB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/rf_uart_protocol.h.1F69BAD32EBF87F8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/rf_uart_protocol.h.27E1BBB5A4A6D730.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/rf_uart_protocol.h.29B511AF70BC0470.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/rf_uart_protocol.h.5A7F01100CED7E7E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/rf_uart_protocol.h.73EF1509FD529A93.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/rf_uart_protocol.h.C54F466BD1EAEF56.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/stdarg.h.3C5CA7E8DDFB3002.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/stdarg.h.C3C728AC8175E9B8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/stddef.h.017B5135BEFC0052.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/stddef.h.3CECDFBE12B994D6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/stddef.h.6F6001003806DD68.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/stddef.h.70D26B4A16BFEB22.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/stddef.h.BDC4C8A012FAF406.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/stddef.h.C93A39EBE6BF755F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/stdio.h.C495D5AAA9E50A2A.idx (97%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/stdio.h.D860C5E71BED5143.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/stdlib.h.126A28DFB0293F6D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/stdlib.h.5E38A6894AF5A1F0.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/stdlib.h.775972F14DB852DD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/stdlib.h.FAF6472352AEA74F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/string.h.553257B40768A772.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/string.h.9818DBD7E499286F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/switch_fun.c.3004205700B4F059.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/switch_fun.c.475B8B3241A2A01A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/switch_fun.c.5F9DCE543EB01ECB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/switch_fun.c.727F91DA7AF854F4.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/switch_fun.c.8F7FC4ECD9D25B4D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/switch_fun.c.E8CB937D2285BB7F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/switch_fun.h.086548FFC373D024.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/switch_fun.h.1A87B0CFCE860AE8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/switch_fun.h.674442C04AAFAAF6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/switch_fun.h.B35F002F34667A7D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/switch_fun.h.B9938DDF247E330F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/switch_fun.h.E31A57CBD5B029A5.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/switch_fun.h.F0F0EFB70C5B5ED9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.c.015DA15CD57C5D01.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.c.0E736234DFD1221C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.c.10D8353F53EF7D32.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.c.1CE3B9E773BD5E83.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.c.1E1AE931E12D5955.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.c.27363456AECB2C60.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.c.4529F0104B5EC5EB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.c.4A23D74B810C9958.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.c.69F6F224C1481817.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/tempctrl_unit.c.7A1D4124F619E416.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.c.885EEB5FDBBFD368.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.c.9D648BCCE53AB868.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.c.A6241E225EBF41A9.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/tempctrl_unit.c.B8567B42F5F7279F.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.c.BF1E05A8789E9D23.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.c.D5C3CDCA5E47177A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.h.057E914874A7AA56.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.h.20BABCA3371FEA56.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.h.2CD14A0E2F2F72B0.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.h.3900428707DA26A6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.h.4B9F1D3D36A4B38C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.h.70E55A3DB05B3085.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/tempctrl_unit.h.7D545E1B1FBC9926.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.h.83449822409CFF1D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.h.861FAAF48C1BDFB0.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.h.AB5271DAE3EF5EE3.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/tempctrl_unit.h.BA30627066235553.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.h.D41E264327EF3D3A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.h.D4FE4381A42DCAA3.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.h.E46D5BB54CAD0EE1.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.h.EBDC76270D2BEB82.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tempctrl_unit.h.FA7E398BF2C96BFE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tm1812.c.2C51DCB7A10CA061.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tm1812.c.4995B1C706B7E1BA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tm1812.c.4B63E1009C7CF09A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tm1812.c.4CB66E73581E667B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tm1812.c.65F8F2D42CA0C908.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tm1812.c.C37EDFE81E0AEBE1.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tm1812.h.07C117110FE11C53.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tm1812.h.3DF12553810BDEA7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tm1812.h.60A85F33B5A9B0F9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tm1812.h.9168966CA61F12D6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tm1812.h.B5E6670DBC2CC1F9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tm1812.h.B66C1DB7550452D0.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/tm1812.h.D4BF94D7F1235284.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.c.18AD2516E8DBFC6D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.c.2C4337CD994EC316.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.c.3878574E022D9B5D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.c.4ED5784EF21096D3.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.c.52F80C80B4B26F2C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.c.67D3178C4C3274CD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.c.93DDCDA7198C0FA8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.c.A84F4B191175BE35.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.c.BAA8BC7B89180434.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.c.C93AF0DCD64DF9D0.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.c.DAA1051DA255C6CA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.c.FB509A8ED7ADCC9E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.h.0FD1A4AEC2C8CE5F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.h.1F5EDA835C066BFC.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.h.289C3213252E44E8.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.h.481889B224160200.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.h.4AE3E025B0200E21.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.h.8BA71C78B18B7C1B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.h.A85B0376D673B42B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.h.C6A12E5995359975.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.h.DCB557A35A842510.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.h.F24CE006B78C3ABA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.h.F2EA6A3FF1EDE98B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/touch_key.h.F92D7BAD95CD34BD.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.c.082013ED368CEF75.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.c.171E20BFAF19FFDA.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/uart.c.2E36FD22F3CB0526.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.c.4EA7CA08323097C1.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.c.5FA10AA2F5577653.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.c.5FE6241FD138DEB9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.c.81E521A2F92F6320.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/uart.c.881F83320DBC5433.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.c.9168AA50A4926124.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.c.9E433FF259118595.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.c.B07D07640804DC33.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.c.BB85F2B655030A9D.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.c.C36826A8CFC20ABC.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.c.C4E72F90B8303D23.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.c.D3E2EC18B4602FA2.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.h.20B8F8D5A9F7EBF7.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.h.275F9D25042D325F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.h.3C3601FC85E82691.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.h.48BBE24D65F6CF55.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.h.56F031B193C7A1D6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.h.579B0A5955F36696.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/uart.h.5B8BEC3D90960C04.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.h.76C9CCE5CC1305C6.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.h.8C184469CED8B858.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.h.AE8F047A2895BAAB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.h.B16512AB40FA5EFA.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.h.D3BFF14D5A139066.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.h.E8D0990F29FA5002.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart.h.EB9BAE1B47CC7D4E.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/uart.h.EBBD7BB6EFFFF419.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.c.034E26F4881E4CDE.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.c.16F233BA886FFEF3.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/uart_protocol.c.1ABAB997843F784B.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.c.1E607D9D82C09E7E.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.c.3714F1DF6BF753A0.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.c.40101BD08FD08B21.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.c.407B7E8B1A11C60C.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.c.46CBE24C68E8A3C4.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.c.70F4C73BAE5A95ED.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.c.7F7BE46AC7E7A572.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.c.9FE67B4748ADEEBB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.c.BC6AEF1D800D6B5B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.c.DA5088CB4D6E2A0D.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/uart_protocol.c.F61F660FC96657A8.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.c.FD3183EB6A860C8B.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.h.00EE2817677C5144.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.h.0259BD43B7450483.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.h.185366945728F2B3.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.h.1F6949188C5624B9.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/uart_protocol.h.2EE32AC0E3213A34.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.h.325076591646662C.idx (100%) create mode 100644 Source/.cache/.cache/clangd/index/uart_protocol.h.33BC0FDB56600714.idx rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.h.56E3309D2B8B4791.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.h.7DA48444C2D86E53.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.h.865334254FE82EDB.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.h.9B941A8A7FA86113.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.h.A53595BD14312C3F.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.h.A74518B3AEBF5562.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.h.B6C78BC4A08E14A9.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.h.C4159AA0AD760A5A.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/.cache/clangd/index/uart_protocol.h.E3ECDF6BE1D2E678.idx (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/compile_commands.json (75%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/macro.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/.cache/project.conf (89%) create mode 100644 Source/.cdk/Project.session create mode 100644 Source/.cdk/compilation.db rename {T1_TC_ZH_V01_20251128/Source => Source}/.cdk/refactoring.db (98%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_adc.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_bt.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_coret.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_countera.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_crc.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_ept.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_et.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_gpio.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_gpt.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_hwdiv.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_i2c.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_ifc.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_iostring.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_lpt.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_rtc.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_sio.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_spi.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_syscon.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_tkey_parameter.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_uart.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/FWlib/apt32f102_wwdt.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/RF_T1F_TC_V01_20240329.asm (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/RF_T1F_TC_V01_20240329.map (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/RF_T1F_TC_V01_20240415.asm (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/RF_T1F_TC_V01_20240415.map (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_AC_TC_V01_20240708.asm (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_AC_TC_V01_20240708.map (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_AC_TC_V01_20241120.asm (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_AC_TC_V01_20241120.map (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_AC_TC_V01_20241123.asm (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_AC_TC_V01_20241123.map (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_AC_TC_V01_20241126.asm (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_AC_TC_V01_20241126.map (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_Switch_V01_20231124.asm (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_Switch_V01_20231124.map (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V01_20250209.asm (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V01_20250209.map (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V01_20250304.asm (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V01_20250304.map (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V02_20250321.asm (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V02_20250321.map (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V03_20250422.asm (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V03_20250422.map (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V04_20250507.asm (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V04_20250507.map (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V04_20250513.asm (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V04_20250513.map (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V04_202505161010.asm (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V04_202505161010.map (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V05_202505211650.asm (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V05_202505211650.map (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V06_20250815.asm (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_V06_20250815.map (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_ZH.asm (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_ZH.map (100%) create mode 100644 Source/Lst/T1_TC_34650_ZH_V01.asm rename {T1_TC_ZH_V01_20251128/Source => Source}/Lst/T1_TC_34650_ZH_V01.map (72%) create mode 100644 Source/Lst/T1_TC_ZH_V02.asm create mode 100644 Source/Lst/T1_TC_ZH_V02.map create mode 100644 Source/Lst/T1_TC_ZH_V02_202602091700.asm create mode 100644 Source/Lst/T1_TC_ZH_V02_202602091700.map rename {T1_TC_ZH_V01_20251128/Source => Source}/MD203F8P.mk (99%) rename {T1_TC_ZH_V01_20251128/Source => Source}/MD203F8P.modify.bat (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/MD203F8P.txt (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Makefile (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_adc.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_adc.o (64%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_bt.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_bt.o (61%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_coret.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_coret.o (52%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_countera.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_countera.o (59%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_crc.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_crc.o (60%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_ept.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_ept.o (72%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_et.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_et.o (65%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_gpio.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_gpio.o (66%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_gpt.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_gpt.o (70%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_i2c.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_i2c.o (62%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_ifc.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_ifc.o (66%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_lpt.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_lpt.o (62%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_rtc.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_rtc.o (62%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_sio.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_sio.o (64%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_spi.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_spi.o (60%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_syscon.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_syscon.o (66%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_tkey_parameter.d (100%) create mode 100644 Source/Obj/FWlib_apt32f102_tkey_parameter.o rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_uart.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_uart.o (66%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_wwdt.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/FWlib_apt32f102_wwdt.o (56%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/MD203F8P.txt (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/SYSTEM_Bootload_fun.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/SYSTEM_Bootload_fun.o (51%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/SYSTEM_dip_switch.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/SYSTEM_dip_switch.o (55%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/SYSTEM_eeprom.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/SYSTEM_eeprom.o (56%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/SYSTEM_tempctrl_unit.d (100%) create mode 100644 Source/Obj/SYSTEM_tempctrl_unit.o rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/SYSTEM_uart.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/SYSTEM_uart.o (65%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/SYSTEM_uart_protocol.d (100%) create mode 100644 Source/Obj/SYSTEM_uart_protocol.o create mode 100644 Source/Obj/T1_TC_ZH_V02_202602091700.elf create mode 100644 Source/Obj/T1_TC_ZH_V02_202602091700.ihex rename T1_TC_ZH_V01_20251128/Source/Obj/T1_TC_34650_ZH_V01_0x0.bin => Source/Obj/T1_TC_ZH_V02_202602091700_0x0.bin (61%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/__rt_entry.S (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/__rt_entry.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/__rt_entry.o (88%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/arch_apt32f102_iostring.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/arch_apt32f102_iostring.o (57%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/arch_crt0.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/arch_crt0.o (83%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/arch_mem_init.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/arch_mem_init.o (80%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/drivers_apt32f102.d (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/drivers_apt32f102.o (59%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/drivers_apt32f102_ck801.d (100%) create mode 100644 Source/Obj/drivers_apt32f102_ck801.o rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/main.d (100%) create mode 100644 Source/Obj/main.o rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/mcu_initial.d (100%) create mode 100644 Source/Obj/mcu_initial.o rename {T1_TC_ZH_V01_20251128/Source => Source}/Obj/mcu_interrupt.d (100%) create mode 100644 Source/Obj/mcu_interrupt.o rename {T1_TC_ZH_V01_20251128/Source => Source}/Project.cdkproj (99%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Project.cdkws (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Project.tags (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/Readme.txt (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/SYSTEM/Bootload_fun.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/SYSTEM/dip_switch.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/SYSTEM/eeprom.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/SYSTEM/inc/Bootload_fun.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/SYSTEM/inc/dip_switch.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/SYSTEM/inc/eeprom.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/SYSTEM/inc/tempctrl_unit.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/SYSTEM/inc/uart.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/SYSTEM/inc/uart_protocol.h (59%) rename {T1_TC_ZH_V01_20251128/Source => Source}/SYSTEM/tempctrl_unit.c (68%) rename {T1_TC_ZH_V01_20251128/Source => Source}/SYSTEM/uart.c (100%) create mode 100644 Source/SYSTEM/uart_protocol.c rename {T1_TC_ZH_V01_20251128/Source => Source}/arch/apt32f102_iostring.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/arch/apt32f102a.svc (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/arch/crt0.S (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/arch/mem_init.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/cdkws.mk (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/ckcpu.ld (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/doc/APT32F102_Lib_Fix_Log.md (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/doc/APT32F102_TKLib_Version.md (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/drivers/apt32f102.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/drivers/apt32f102_ck801.c (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_adc.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_bt.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_ck801.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_clkcalib.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_coret.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_countera.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_crc.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_ept.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_et.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_gpio.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_gpt.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_hwdiv.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_i2c.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_ifc.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_lpt.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_rtc.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_sio.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_spi.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_syscon.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_tkey.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_types_local.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_uart.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/include/apt32f102_wwdt.h (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/includes.h (89%) rename {T1_TC_ZH_V01_20251128/Source => Source}/lib_102ClkCalib_1_03.a (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/lib_102TKey_1_15.a (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/lib_102TKey_1_15C.a (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/lib_102TKey_1_15M.a (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/lib_102TKey_1_15MC.a (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/lib_102TKey_c_1_16P0.a (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/lib_102TKey_f_1_18B_240629.a (100%) rename {T1_TC_ZH_V01_20251128/Source => Source}/main.c (96%) rename {T1_TC_ZH_V01_20251128/Source => Source}/mcu_initial.c (99%) rename {T1_TC_ZH_V01_20251128/Source => Source}/mcu_interrupt.c (100%) delete mode 100644 T1_TC_ZH_V01_20251128/README.md delete mode 100644 T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stddef.h.BDC4C8A012FAF406.idx delete mode 100644 T1_TC_ZH_V01_20251128/Source/.cdk/Project.session delete mode 100644 T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_ZH_V01.asm delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_tkey_parameter.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_adc.d delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_adc.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_display_logic.d delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_display_logic.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_ht1621.d delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_ht1621.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_switch_fun.d delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_switch_fun.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_tempctrl_unit.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_tm1812.d delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_tm1812.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_touch_key.d delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_touch_key.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_uart_protocol.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/T1_TC_34650_V06_20250815.elf delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/T1_TC_34650_ZH.elf delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/T1_TC_34650_ZH.ihex delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/T1_TC_34650_ZH_0x0.bin delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/T1_TC_34650_ZH_V01.elf delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/T1_TC_34650_ZH_V01.ihex delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_debug_unit.d delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_debug_unit.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_display_logic.d delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_display_logic.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_key_logic.d delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_key_logic.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_myrelay.d delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_tempctrl_unit.d delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_tempctrl_unit.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_uart_protocol.d delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_uart_protocol.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/drivers_apt32f102_ck801.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/main.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/mcu_initial.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/Obj/mcu_interrupt.o delete mode 100644 T1_TC_ZH_V01_20251128/Source/SYSTEM/uart_protocol.c rename {T1_TC_ZH_V01_20251128/Workspace => Workspace}/APT32F102x_StdPeriph_Lib/.cdk/APT32F102x_StdPeriph_Lib.session (100%) rename {T1_TC_ZH_V01_20251128/Workspace => Workspace}/APT32F102x_StdPeriph_Lib/.cdk/APT32F102x_StdPeriph_Lib.tags (100%) rename {T1_TC_ZH_V01_20251128/Workspace => Workspace}/APT32F102x_StdPeriph_Lib/.cdk/refactoring.db (100%) rename {T1_TC_ZH_V01_20251128/Workspace => Workspace}/APT32F102x_StdPeriph_Lib/APT32F102x_StdPeriph_Lib.cdkws (100%) rename {T1_TC_ZH_V01_20251128/Workspace => Workspace}/APT32F102x_StdPeriph_Lib/cdkws.mk (100%) diff --git a/T1_TC_ZH_V01_20251128/FLASHDOWN/APT32F102_FLASHDOWN.elf b/FLASHDOWN/APT32F102_FLASHDOWN.elf similarity index 100% rename from T1_TC_ZH_V01_20251128/FLASHDOWN/APT32F102_FLASHDOWN.elf rename to FLASHDOWN/APT32F102_FLASHDOWN.elf diff --git a/README.md b/README.md new file mode 100644 index 0000000..618516b --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# 版本记录: + +## 2026-02-09 17: 00 叶阳文 + + 发布临时文件:T1_TC_ZH_V02_202602091700.ihex 校验码:0x1E87CE84 + 软件版本:V02 + 硬件版本:BLV_T1_RS485_V03 + + 1、对接中弘线控器网关协议。 + 2、按照红外转发驱动对接。 + + +## 2025-11-27 15: 51 叶阳文 + +``` + 对接中弘线控器网关(温控器),初步完成。 + 软件版本:V01 + 硬件版本:BLV_T1_RS485_V02 校验码:0xCABE9EDC +``` + + + + diff --git a/Source/.cache/.cache/clangd/index/Bootload_fun.c.2DAE7886027820C4.idx b/Source/.cache/.cache/clangd/index/Bootload_fun.c.2DAE7886027820C4.idx new file mode 100644 index 0000000000000000000000000000000000000000..1424ce4c137b86c55ac52ddc416ef8994e6fee44 GIT binary patch literal 9082 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/Bootload_fun.c.2F11821BA8917D3C.idx b/Source/.cache/.cache/clangd/index/Bootload_fun.c.2F11821BA8917D3C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/Bootload_fun.c.2F11821BA8917D3C.idx rename to Source/.cache/.cache/clangd/index/Bootload_fun.c.2F11821BA8917D3C.idx diff --git a/Source/.cache/.cache/clangd/index/Bootload_fun.c.4A2041DAEEF83661.idx b/Source/.cache/.cache/clangd/index/Bootload_fun.c.4A2041DAEEF83661.idx new file mode 100644 index 0000000000000000000000000000000000000000..559a3f9dd778d0993a4eeae5c037310bca998b21 GIT binary patch literal 9082 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 QqrVH5zsTQPT~kH=540=CzyJUM literal 0 HcmV?d00001 diff --git a/Source/.cache/.cache/clangd/index/Bootload_fun.h.989C8B51B27A4C2B.idx b/Source/.cache/.cache/clangd/index/Bootload_fun.h.989C8B51B27A4C2B.idx new file mode 100644 index 0000000000000000000000000000000000000000..3c5b7fc91cc26ebed83bd02ae5d01cee55d1c231 GIT binary patch literal 4068 zcmcJQdvFui6^HM_%3j&)mBDZPz!*Dt9ow=67%bb=4=h`LAS16$Op`3~YGn&-$>>4j zx=b5FAAu%QCP31rCQTSZn@M1r#{^smA#G{Xv@}E8NfSb*EwlqeNM|U}5FYKhS2`=9~##q9-a^~5B`TEA^&1Jpuh6csapHMN>wSY z@OmPit(C>4Q#SiRZ5@y?J+M_KcmXV5d|_xdA~#4|CWY9S5(s_;3C=dl0lIveN#uj-*?pwYfD&j@=6 zM?9fOj1R-+6~DHL#2&`=U^GHBdueljOEarR{OvWn6Yv(Ije7~K+No-E`}DCV{^;|M z>2|Bt+F`e@3x+oJPk1z49U59^vo0&M)vS*CH~Mv}(q^+NwW`vluJ2R_Yiz2m##UET zYqMGVgVB(tTlqShR32_-RhZ$EVcP+ zYiwU$X4UW0zQpX|$*>lr1s_rAnIIeKsbnXHOlYw~6Aq9qLBAKYVsd|VlDWuOlVfr9{@~s>TNrC_yXOoyo1mwNI z>&a(te^(@#u@#BjZ|ct`<~ehStqd|O-nDSggW5))NU||tz%-Da2&kUAsXW;1&$SQ{ zmZ;*Z(wRvtVGE@^eW~Qtmqn6+85EN;Yl-Fi-ka%CytgH?0A6yHc~vGe_>wDX-f5`( z`xC7e3glX@Hl3No0`*V+KukL3J0g)KFyE2p$YBQO+yCKS^W>@b6bng%`IUTSCNqio z9rXt-6IqA|%2J5f>so?O1 zEy)tG!U8K(S7tGT3wYn3`&8Y<=`9i|1h+HAnavEk$F6^JD^U0bFOeE>H<%mJnL+nA zwSl{Ty!5yGEhHJXx0G8dF_YNdW09v8Piv2CmPjqkuTQEMn8Eo!yc&7M^5MatL<+#& zmDZKZ47z`|^joyVjmeGa%-{~*+WsHu#5+4* zNhQ$K<>lP+bY>DeI8}Uj@&kYVkVvwy{)48$*a2lbc>A%Bzxvy`XLd^@9~S6L>&#>Z z7dSonuan=YyZn+!=HvXernNbVEArQaIk$(yqq0PbV17?pPaZQk|NRTLJFd#kE{T+Y zyE(Nvn;CRpZoa!ex^d*JMDoDhl-!iY47zVVck{^G+rD>9BE{hDPU+5N2Hhdu7d{D> zpIm!dAKvr(QBIUaUIe*_|KbA0rNo3OPUp_-JKMT>*HOUbLOI@ilHB@89iQvC1vo`W zS%5iE!~jzTLyY1Dm?{@y6fMA1u@KK|yZPUrT)4dg@FHPRA!1Z8z*N2vqi%8Lm|n$s z$)_`Ye>r#XkSNM4`IQ1*98s?4>P>i%McK~TO}INzZr~bBcu7RLk!v*Ji4x^@zFolU zFUk(yA)wlbatGfb;N2JHPQFvXgCfdq;^vK$ExU`{C5h1>8RYTIp}fL-Fj}p<=oB3ulo)A%P;akjDZc*;$x|8txi*gU&W5%Oa^=j{$E0^yJLD@=#l6)*1 ziZx)W)QD@jpPrhY89D;ENGK{WaP^%R@2=R81-MKoGm@a7!=9Ot$HP&^A)0D9CPDcI zOtl*^mJu*jY{V$mfT>a=Mu`SY_1VA&XDS}w`N^LF3xZ&5uMvSrzm})j+6l-{SCem?^Ck>*hK4bI)J5DGK*V@Vf7Yc>O20g!e zH_x@b?+##2;Ec0A{5TCsX^~)r;yjH~{Afc?QO&0GM_JOtRzp$>ZB^Ij#ZD7xMEE z=Y!q`+VhtkBMcI|?nvYd~Vek6GBfEZc z1%j3cON=tZt)16cgqe;?)-RjSN z{oIcL7YoJ48G1AI(LJLtZ_8&}wtp_meJBab}!%kSEiE~sBh^9RT zqfe8EZrr?_b{g<}VZKpx>^hKyb(?rN3IIgYMuSOEK>*VRgZQK4kB)E!$>klZCe=qS=PMts~e?rfU|{cqw*xAk9lZJIHZLe=tC7XvERM;KuD$WI7jZYy*~Q8 RK%d3du#HgkVAu+OE~M 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.78ED501E2FA28AE7.idx b/Source/.cache/.cache/clangd/index/apt32f102.c.78ED501E2FA28AE7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.78ED501E2FA28AE7.idx rename to Source/.cache/.cache/clangd/index/apt32f102.c.78ED501E2FA28AE7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.9AD8AE616721F146.idx b/Source/.cache/.cache/clangd/index/apt32f102.c.9AD8AE616721F146.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.9AD8AE616721F146.idx rename to Source/.cache/.cache/clangd/index/apt32f102.c.9AD8AE616721F146.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.A1D82B17B0E00AE5.idx b/Source/.cache/.cache/clangd/index/apt32f102.c.A1D82B17B0E00AE5.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.A1D82B17B0E00AE5.idx rename to Source/.cache/.cache/clangd/index/apt32f102.c.A1D82B17B0E00AE5.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.B091CDF6A9C731D6.idx b/Source/.cache/.cache/clangd/index/apt32f102.c.B091CDF6A9C731D6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.B091CDF6A9C731D6.idx rename to Source/.cache/.cache/clangd/index/apt32f102.c.B091CDF6A9C731D6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.B5D8CC4F2CBF6F6F.idx b/Source/.cache/.cache/clangd/index/apt32f102.c.B5D8CC4F2CBF6F6F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.B5D8CC4F2CBF6F6F.idx rename to Source/.cache/.cache/clangd/index/apt32f102.c.B5D8CC4F2CBF6F6F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.C5ADA3CB78676253.idx b/Source/.cache/.cache/clangd/index/apt32f102.c.C5ADA3CB78676253.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.C5ADA3CB78676253.idx rename to Source/.cache/.cache/clangd/index/apt32f102.c.C5ADA3CB78676253.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.C7E8DE9B91117CF7.idx b/Source/.cache/.cache/clangd/index/apt32f102.c.C7E8DE9B91117CF7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.C7E8DE9B91117CF7.idx rename to Source/.cache/.cache/clangd/index/apt32f102.c.C7E8DE9B91117CF7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.D18FD4F137043DD1.idx b/Source/.cache/.cache/clangd/index/apt32f102.c.D18FD4F137043DD1.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.D18FD4F137043DD1.idx rename to Source/.cache/.cache/clangd/index/apt32f102.c.D18FD4F137043DD1.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.D8555F5DE22D0705.idx b/Source/.cache/.cache/clangd/index/apt32f102.c.D8555F5DE22D0705.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.c.D8555F5DE22D0705.idx rename to Source/.cache/.cache/clangd/index/apt32f102.c.D8555F5DE22D0705.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102.h.24A705C5C5143466.idx b/Source/.cache/.cache/clangd/index/apt32f102.h.24A705C5C5143466.idx new file mode 100644 index 0000000000000000000000000000000000000000..0ec42960ab2a9cb1321a59618c416598e80ea63a GIT binary patch literal 40832 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%0A3Q5>u5 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.h.B78D00FFFDE52BED.idx b/Source/.cache/.cache/clangd/index/apt32f102.h.B78D00FFFDE52BED.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.h.B78D00FFFDE52BED.idx rename to Source/.cache/.cache/clangd/index/apt32f102.h.B78D00FFFDE52BED.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.h.BBBF78B0B7B7BA48.idx b/Source/.cache/.cache/clangd/index/apt32f102.h.BBBF78B0B7B7BA48.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.h.BBBF78B0B7B7BA48.idx rename to Source/.cache/.cache/clangd/index/apt32f102.h.BBBF78B0B7B7BA48.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.h.CA1FEF77B5968205.idx b/Source/.cache/.cache/clangd/index/apt32f102.h.CA1FEF77B5968205.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.h.CA1FEF77B5968205.idx rename to Source/.cache/.cache/clangd/index/apt32f102.h.CA1FEF77B5968205.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.h.D7CB722D1B097F52.idx b/Source/.cache/.cache/clangd/index/apt32f102.h.D7CB722D1B097F52.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.h.D7CB722D1B097F52.idx rename to Source/.cache/.cache/clangd/index/apt32f102.h.D7CB722D1B097F52.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.h.DAFD82E4A0DD10B7.idx b/Source/.cache/.cache/clangd/index/apt32f102.h.DAFD82E4A0DD10B7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.h.DAFD82E4A0DD10B7.idx rename to Source/.cache/.cache/clangd/index/apt32f102.h.DAFD82E4A0DD10B7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.h.FCCED1E743B5D7E5.idx b/Source/.cache/.cache/clangd/index/apt32f102.h.FCCED1E743B5D7E5.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102.h.FCCED1E743B5D7E5.idx rename to Source/.cache/.cache/clangd/index/apt32f102.h.FCCED1E743B5D7E5.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.05D860E60EAE4890.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.c.05D860E60EAE4890.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.05D860E60EAE4890.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.c.05D860E60EAE4890.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_adc.c.1BC5B4EBF2BBE37F.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.c.1BC5B4EBF2BBE37F.idx new file mode 100644 index 0000000000000000000000000000000000000000..eb8f51c02d2786fd9e28cd89640556d27737fe22 GIT binary patch literal 14028 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 SFYi%PJx2QYO&c>bTKFHs!gekI literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.2CC9D6BC8B8A6A4C.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.c.2CC9D6BC8B8A6A4C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.2CC9D6BC8B8A6A4C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.c.2CC9D6BC8B8A6A4C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.5963B9D646BB0420.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.c.5963B9D646BB0420.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.5963B9D646BB0420.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.c.5963B9D646BB0420.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.6101A0F9EA3653DC.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.c.6101A0F9EA3653DC.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.6101A0F9EA3653DC.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.c.6101A0F9EA3653DC.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.96930BA342DD96B0.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.c.96930BA342DD96B0.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.96930BA342DD96B0.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.c.96930BA342DD96B0.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.A27273620EBEA159.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.c.A27273620EBEA159.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.A27273620EBEA159.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.c.A27273620EBEA159.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.AF3D11860C772C42.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.c.AF3D11860C772C42.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.AF3D11860C772C42.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.c.AF3D11860C772C42.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.B810207E441D5670.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.c.B810207E441D5670.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.B810207E441D5670.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.c.B810207E441D5670.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.B82350007F82E62D.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.c.B82350007F82E62D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.B82350007F82E62D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.c.B82350007F82E62D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.C8394B954EC11609.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.c.C8394B954EC11609.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.C8394B954EC11609.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.c.C8394B954EC11609.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_adc.c.CE103F45CA002474.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.c.CE103F45CA002474.idx new file mode 100644 index 0000000000000000000000000000000000000000..2b4e195c96335e76ae19b92b5c06d49c63769d41 GIT binary patch literal 14028 zcmcJV3s_V~md9_M61Z?Lk8Z9Hq*YWzRNf#WsHnVT((Ma0k71{$1C0_99A4@snaPJl z6coX?i!cf*i1>)nHJj0FCYmM2O-3^kqlpm*VMIq{f=0!tTTN4akIqbz-OT!l@~_{y z=T@DnbE@v`o|_mSe=1xMV$u?qEjH(w`U!%dVL!QfIT`Z?oqn_BMuD8%=4c?Cwc3=Jqy@$Cj~)^Lrb^t&KDD7hCX#ulC5vH#^j8}=HC8=suTD0aOWo&*?oF#`sO7mZq75qo;iJPjA8aNn|te>`&#>k z|5TfCMs|+=@0<6crw2QKZe09qqvhY3tS_17)I4+AGZ$M;Ug$G=fnWcFF`pM4&X!-S zDbHlg$VxNY#?`wjt!v5>w-`fE-!T3L1owr{>WPIR$e705@qqREXRX23*1q-G>!rYy zY3V2XYmLp1%rn2fY*91mnOLa6&+F;z>eIHwdWy50>eIG#vUTkrWRjoPKMb&X>G$W4 z%?_`777uIc{Focy3vt4zp1&_wY|;F|G_hGeJ0NR@^u^AS9JV`uZ(eYJ+~@~V!shgU zpAGEN@0+J*bAXxu%_2DF|p4DT3BFeZieN@n3|nqw*Hc~DDa2uGO|)L^V7`V zXP1_f!8WEqWH~q9n8fbNTA2H!7n73X41J={NbsL$w03yf^u+lgMx)@*Ol>eDcX@7} zd9mQ1m7SZHmYMN#ucvImKgXP#ou89x_D{>mnH(FL!p4`va7t>XDQiJWa9BW4K&W6% z{l1-vD?=>*Eqn12Q;wO>o-x;)_cSr)TJ|optuZS-V?kn8o;fEce@UKYvwMo<=a`L_ zJ^61MEo+LGRux({0#&iF<+ANEW}zu7%baQ10olF!aO||?X~tReX3tCRYlxc_V_a&= z;Juw2mlT(5oIg!JFRssEuGy4kWIg2>+t80QBC8$*IZ#s>$7M5HA3u7#g+ZAw6@ zDRrSaWw9wWCp%!_PjVIiyk#YtmgI$oqz4Cu7}=H(@RJ6X^7lMu3%vzGu#^)aH8PR? z6bNb7OkkPL&L!C?dD+>SsS8b(Krbo?VR2@$&#-i^AT%I2C?I5F%G{@?Acbe%Kg&@{ z>bP+!;Q^rmLI1SAsV-AqHl;3N>o@KH!}n85^QYf{6*5~{`#%KNGHI4Hd#YE~!2Xmu z`w?#a(=(Qt(}eVlOmk#lU|>RI;M4gT7&a;-$eN*nEJFkTZiWV0Gc>SwA+ycs>D2h= z`0iV}&v;)b%-9C=;vOQh4IYD)6R2%;g3ZABN-w%Iy(!qVwp+MzioMN z|GUv33&G4}j@=xs;XIMg6A!`Bjap46$BvA;lG)Qw7Q&dxd&KTN;%@ko$X}Ads-MI` zzd99IxOBfPL@=Xm#BLk$FnmGeFD(7xH+x~n%-7BxUZIhN0A`eCmp0VUOyp)VN^sQl zv)=6I?$K3$Ro;3-7REA@Vq#ZJw1x{rzF_H*D_D)pS$kjm{FQSZvJl0L+NoVTbvIli z@-^I}*AHnuqK1nDWFeFpoh9~X$pFJ;;(XaM{DDrwG)sh5m7J90dP*M4LI^WD4|eBa zq~R)&uadEXqr1KJb``qUUh`XfnaBcrJl5xn`9lq#6W7lz-PYO(GcA7Vt~W18h<+2J71-LmQFXh^Ol5bjfE>G4()>EKIO?B6dw|Y+n)iE6dnCWUHq?l@0YD zR#t74g&<~B2zG@q+;D}+SBS6R*k807-Fy6(>W@sX6v;v$GioLFtz@v_YvTMh87?@w z5UWv7bAjidpZBzrg>lTNme|!27sEv&UnKnn#{rI3qa1U3Zjg^4*a_3uPyglk{vhi+ zsHTGsvb;C2{E_wFP~{uyX;p$?zvyDuhB@WGATnFOgPUj|U(=2)EhppZnm%WshdA^Q zC*DcT!H>?*c5*pOW&JR5m~30#`ZdID4N+`sM_)l)Du|YA?w2_AB?|AsfD@Uck0x(Q zPL=gTV2HiyZzv2!Y8VVdYB&r>Y6OfxY9x$A${W0q8U>?}@&O;DM#E^Ne8Cr~F)#+H zu`m{?aWD=kKk!4!AN-LDfB>WdArPq`2tq0tf{_Y=5TrsO6sa%>Lux#XM=Bh`k(vM# zkcxl^q$a{dq#_{_sVIm-Y7$IBYBEelY6?t2DjK4ZnhH~qng-L5nhw*Eih&rUVj&i( zIEX_k9^#QofCQvwzzn34NRpkc%IX)wLVH^o)Mr8_Qp+8eJKJiFzLY>IvFB@8W^3GO z4RKL*Ie~J_D~MP@WR=$wr+VUIOI`hbBJL-$s*e%JW5n53xb*K6$M=b|t=Q{N6UWoU z*;Z-vpAqphBHOB}zKxJJV#iZc)?X)Zo!G0ogNPkOR`o3cw=nM{PMyR><=q6jF~3LP z9@agC^x*qFB;+C1D*;x5y{+i!SAx6}+*Dl(P>Oje$fcN<1C(Q44sto>n*cUpz6s<_ zm~R8vhWR#-w_#olP>p#t$kmwd0@#K5E|7O&-T=^mc>~A|m>&W-g!v(m4`F^3;3(!t zK|YH4X&|S;&bCMCKL+wK)@Oj6!TJ)wC9t<`p!(yK9H(|zyC0_mRegez6PTZ%?k6z+ zgi4=KS6-`S{W&U~!}=nXE@FL|N|&*|PWxS_B0m}o_{R0^O;^jeu|4E4cpZl6d?9!Y z`e3X6<9oXqSOs3IAd&;m<-zB=Cp-R*?OSu)=lH5A+YCX?5XT2HqGplz$$|IE+4Ysg zwUP|xC!Z1b-<{ojx$b}y+s??qCgQ24PAmD>R`P3gskf36(n`t*ZmDD~zkRBuk+mE` zEln`22}Y_D)C6Ho5TWX3nAHqPyq~iE0+0)UCZvf9O|%~mFyHLhrf4}B@-5MO<;6wg z=j!WO6wd`B~A_s5h^~zsn|Pgg8RtQ^;yBb-GTS z`Pw&Zy!zzp>xNgES%R2=j!7Sb!^a@;6*KGB7RR;$;~p`ydZN@5FFq8R?G>8+WC+*u z8>)Z(=MiVim|-`OyU9@AA6b8oINu|~xaP59BeERs`FME9ShMv&&w?*L?bm-GZm?6+G#r8 zMOi;xI~}PQZ46Se+E}FGv~ftqYvXMy)$Dxq)ps2l*^IUl_BV}3EKTY7d`gSmQU<(T zy$AEV@|k22vp(H$u;`e$cjdQgBId$AJGSmc)9CxEiZt@U$jBN*KZzR zS05wVV`K^P?ah#r!B}kE*EdKLa1{#T5Bhm2{ zSv~joynme|7`$YC3rH>C#+QIa>snyAs@p(n!@Lc2ZJ6Hx=?3OEKz9T4+aTS>{5I%r zV}1vuJDA@A-5tyyfb;T z(jLtBP~9HP_fcsd=KH8_pUQvhY2O%~muWd^6chJi;>~N=j*mWlJG1$NC{|Hsh%?Z3 zdvabZO>o3#(m(@~PJD~1T@+Hf|n|_q*DBB)U=acxAz1{A;tobx` zKTSvQ0|&1~Y-w9xMDfMl&^d8gP4$0kSx3%Lk27>Ezk;0=smBFXH}0%{ssAjmbha;# zb{lQm#bmv&n=evh+{Pd^)@>|O%&yl)sxlQUPuONCmnDA{FEogjBF5cnBYh ztPjzIAQh?!MJh}ahSYe?c%;HL;WpKH>erp8E`4y9MZ{b5M#X-ixKQGI(tf`O!FL~Z z_OL(?aT(&ld%*Wj7G~?KJPr=HO-(*I+XtA_>%{pwapyJ1vJ1<%h?eUE(X9pldE`%< zS?Rb6^eQ;2rQ#|mS7ETK+kv)Y-VRDT<~M=f#QY{GH!<%5+J$)+C|#J}1$r0ryP({~ zya#9x<~^YFVEzQ?6U?80@&xlDN{c8OUlCP`C>q~tN>^jPnkuU?FQc>!^D?TGVZMRV z4VZ7B$_C80Qo0rMtyI~Hc@?Eqm{(Dy3iBFDYcQ{&N)6_9l-6NhN0mCv8!2tXypbx6 zDu4T(Ctt3PI$7DD<(oJfEkj??7pXDg7^KFEW04vsjzh{%^h3&D^hYW{3_vPS3`8nO z3_>bc3`QzM3_&VX3`HtT3`1(XI3B5RF&wE&AYKAVUD(H|!*S|_wa0O`ZSdFf`V-XQ z1m-8G#|f1m@oQ;}YI)&bSZWS)8)hpN?}mPnyvwd(56i$I;t+KAQX-bBr`8kO+Wl{R zIywXTu{YJEgSzo!cfYWP-0 z5iAc>F8hg_s*e%ZV?@I%wdHBq^?jn@&!nuP6W7y3qrO4tATAxmjTa7C-$~p$)k0!9 zTx&j|?rJ?hM>XfLzDP9}vA#?-msS12unW&Qf7jwSU)GlZlz^xnFH69^1Uyu|4qzST z>%e^-<{JSvV!jdFH)37|P=$FFxL09b15kr`4Y=1}UJFo*c`dltVqOnWk9j?~*JHjH zU@zu-!F@002LKLWegNDLV15wbAm#_b{UGK?0FGdO1l*5ceg)_iTqv)Aas?O47N9Md zw}8@u`8A-|Fuw-MHO$+9wqf1|N*m@KKszw+0Hp)-8$fShegl*nn0Es0#Jm%fPRwru zy^Z;8P;O)14YV8cZcw^0zXS9R=6683gZX`+_c6Z@%6-fq0DXY@15h4d{s`zJ%pZaB z2=m84A7lO)l*gDCQd)=$c_CE_)j}@oS5UeF^A%KCfq5~d#h4dUr5N*7l&->j6;)PY zzJ}5@n6IJA8qC*Hx)$@bR9TC81*H|3S5Tz_^YxUj$9z3i)?>bz(#@D}rpji_w@|tT z^DR`_f_WvSm6%sjr4sY)ly1j-J5{!0zJt;onD3y<4$OB_x)bxARN0C7Zc2A!zMCq$ zG2cV!9?bVpWe?^Jlr~`AK$Ql}_ffhJ^L+4~VM-*)~0>t28H;Mw2w)@!E{a8>Jb33!%(m#Wu+(>l!8 zf#*8RH-ghf%r}DPM$D_gsS5Kd@T|hT2ApazuK~{*%xl4^7V}#0ti`+@oa!;J2hV!U z_kz=2%=d!lUd#`G(*ev6fad|s4}#M{%nyR+LClYU(-F*%faej+uYhy~KNDX8-4*;y zd=;dtm|q3mRm`t}bPe-spu2{7J4o%Aw}Y-7^A3=1)L+g838BJ;A(?N`?5Dy^!h()n|70N}ftZm={r95$45ID#pB+>WVR6 zO{LYCuco@yn6IJI8qC*F-5Sixs8oh|8P%0xUO}Y_%qys_0`m=2+JN~6s@s71W-4vQ zd^6Q;#(XQ4wqm}O>b7EDNu^56E2*v$^C~J;VO~XbRhaLf(hkgbP~8s9Yp7I%c@5Ro zV7{A5yD{HQb-OXIqf#B_byQb}c>|RiFmIr`2Fx3&)QEW_)itX8Z2QNL(%*USIxEb3 zz-y2C>Cw60-)=kgAW~#tsLN2>JAvkG|B;{id}evWGD;kU9y~I|Oxyc}&wp|77Z-eg zlf;ZVh^B++@Uh;#Q~h}5(mSPV2dvYKVK=cppYZzsrG84CA*`Ey+|Rzy65T{!t?WTW}l$;J*wR>u1hs8pb`TKngrX{_Lqh4c{|;E>lN1AP6o7-k$kX! zIezG5fhoF3!#?{FC!j~C2r&YwiQ+`0BE?9gqQoeqCW(`fnk-I6YKk}osc118sj1>r zq^60}keV(|M=C~)K`K^^MJi5=Ln>a3N9r@;@)>dCq3>K-n)+sf!x0vdI^tGGJo!^$ z*W1w^k#U=H*}BLV@*Q}@W&KjJROITfrb~@~+?MXit}cWTg%HbU>P}Yo@RQr`MKRDy zJX^_l9_Vj>H{bL^=A>)}mi1dEb4TBvE=-R;_C^+KJ`djKA(Brdzm844_3L2#3f@m} z>iY^92bPa1NtgPe#luy1%HYlSe3|Q!E+cK<|9bd1d(6E|e& VFrC-%5u>Jfj`a4OI%aUR@IR=Ic1!>O literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.E3A94D4EC44EF1D9.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.c.E3A94D4EC44EF1D9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.E3A94D4EC44EF1D9.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.c.E3A94D4EC44EF1D9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.E9CA88839FA06455.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.c.E9CA88839FA06455.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.E9CA88839FA06455.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.c.E9CA88839FA06455.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.F388376F7E397B08.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.c.F388376F7E397B08.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.c.F388376F7E397B08.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.c.F388376F7E397B08.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.0699D7FF6A382AF9.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.h.0699D7FF6A382AF9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.0699D7FF6A382AF9.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.h.0699D7FF6A382AF9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.16FDE04A709C56EE.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.h.16FDE04A709C56EE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.16FDE04A709C56EE.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.h.16FDE04A709C56EE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.29994125029E1A56.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.h.29994125029E1A56.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.29994125029E1A56.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.h.29994125029E1A56.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.323A3EFFA3F14A07.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.h.323A3EFFA3F14A07.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.323A3EFFA3F14A07.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.h.323A3EFFA3F14A07.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.3D256548F8206E43.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.h.3D256548F8206E43.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.3D256548F8206E43.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.h.3D256548F8206E43.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.3FB7805384AFDB84.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.h.3FB7805384AFDB84.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.3FB7805384AFDB84.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.h.3FB7805384AFDB84.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.8F41FAE8D9FB3C17.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.h.8F41FAE8D9FB3C17.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.8F41FAE8D9FB3C17.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.h.8F41FAE8D9FB3C17.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_adc.h.9147465C38D6ADA6.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.h.9147465C38D6ADA6.idx new file mode 100644 index 0000000000000000000000000000000000000000..c538ca71a193f6ca0ee87f726ce422d46f754ab8 GIT binary patch literal 16796 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.A76A7C72466EE786.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.h.A76A7C72466EE786.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.A76A7C72466EE786.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.h.A76A7C72466EE786.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.A86473304FE332EC.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.h.A86473304FE332EC.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.A86473304FE332EC.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.h.A86473304FE332EC.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.AD82D18C9DA6BE43.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.h.AD82D18C9DA6BE43.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.AD82D18C9DA6BE43.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.h.AD82D18C9DA6BE43.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.CF27CF7470DD782C.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.h.CF27CF7470DD782C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.CF27CF7470DD782C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.h.CF27CF7470DD782C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.D6FC8AE830A57B4B.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.h.D6FC8AE830A57B4B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.D6FC8AE830A57B4B.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.h.D6FC8AE830A57B4B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.DC9EC91980FBD4A2.idx b/Source/.cache/.cache/clangd/index/apt32f102_adc.h.DC9EC91980FBD4A2.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_adc.h.DC9EC91980FBD4A2.idx rename to Source/.cache/.cache/clangd/index/apt32f102_adc.h.DC9EC91980FBD4A2.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.022B8690E134DE4E.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.c.022B8690E134DE4E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.022B8690E134DE4E.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.c.022B8690E134DE4E.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_bt.c.123FAECAE8CB3585.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.c.123FAECAE8CB3585.idx new file mode 100644 index 0000000000000000000000000000000000000000..ce9e4049c7f8f75de7821cdd2c3400b447a365ae GIT binary patch literal 7604 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 BR8s%| literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.381FF5BCDB2AF402.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.c.381FF5BCDB2AF402.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.381FF5BCDB2AF402.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.c.381FF5BCDB2AF402.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.393AAF77913EAA24.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.c.393AAF77913EAA24.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.393AAF77913EAA24.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.c.393AAF77913EAA24.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.4F01A30C7714F0A8.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.c.4F01A30C7714F0A8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.4F01A30C7714F0A8.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.c.4F01A30C7714F0A8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.4FF7A2045760BCDA.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.c.4FF7A2045760BCDA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.4FF7A2045760BCDA.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.c.4FF7A2045760BCDA.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.71B92FEF0C1E09EC.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.c.71B92FEF0C1E09EC.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.71B92FEF0C1E09EC.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.c.71B92FEF0C1E09EC.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.76A5E87DA531F7BB.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.c.76A5E87DA531F7BB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.76A5E87DA531F7BB.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.c.76A5E87DA531F7BB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.7FE1F554CC6F7C9A.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.c.7FE1F554CC6F7C9A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.7FE1F554CC6F7C9A.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.c.7FE1F554CC6F7C9A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.950D8B7C75073E36.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.c.950D8B7C75073E36.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.950D8B7C75073E36.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.c.950D8B7C75073E36.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.97A1AF3D9912FA66.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.c.97A1AF3D9912FA66.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.97A1AF3D9912FA66.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.c.97A1AF3D9912FA66.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.9852FCEBB659784F.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.c.9852FCEBB659784F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.9852FCEBB659784F.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.c.9852FCEBB659784F.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_bt.c.D1E9472B344CD20A.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.c.D1E9472B344CD20A.idx new file mode 100644 index 0000000000000000000000000000000000000000..cee6291c3e5bf49f859db387552e9ef1eb61f44f GIT binary patch literal 7604 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 BR5btq literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.E39F6D4F7166575A.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.c.E39F6D4F7166575A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.E39F6D4F7166575A.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.c.E39F6D4F7166575A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.E76A71E82DE65BDC.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.c.E76A71E82DE65BDC.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.c.E76A71E82DE65BDC.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.c.E76A71E82DE65BDC.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.05F1D61E439AF3D3.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.h.05F1D61E439AF3D3.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.05F1D61E439AF3D3.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.h.05F1D61E439AF3D3.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.073BB1393F3BC4E6.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.h.073BB1393F3BC4E6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.073BB1393F3BC4E6.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.h.073BB1393F3BC4E6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.1B31B66951548CB6.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.h.1B31B66951548CB6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.1B31B66951548CB6.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.h.1B31B66951548CB6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.1F13A90BC61FAC8F.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.h.1F13A90BC61FAC8F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.1F13A90BC61FAC8F.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.h.1F13A90BC61FAC8F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.267B0A736EE32201.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.h.267B0A736EE32201.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.267B0A736EE32201.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.h.267B0A736EE32201.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.2FCDD9F5385235CB.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.h.2FCDD9F5385235CB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.2FCDD9F5385235CB.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.h.2FCDD9F5385235CB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.3527E0323C3A6C13.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.h.3527E0323C3A6C13.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.3527E0323C3A6C13.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.h.3527E0323C3A6C13.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_bt.h.3EF6A3AB2DCE5A02.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.h.3EF6A3AB2DCE5A02.idx new file mode 100644 index 0000000000000000000000000000000000000000..348f4b0fdfbb6d8d2356464c352a5d697a5e9c12 GIT binary patch literal 9332 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.5B02027FAA67E6CA.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.h.5B02027FAA67E6CA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.5B02027FAA67E6CA.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.h.5B02027FAA67E6CA.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.70B9116A9593EA85.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.h.70B9116A9593EA85.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.70B9116A9593EA85.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.h.70B9116A9593EA85.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.72E75FFE2F02CDA7.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.h.72E75FFE2F02CDA7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.72E75FFE2F02CDA7.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.h.72E75FFE2F02CDA7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.854BFE4E9CEE2DDE.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.h.854BFE4E9CEE2DDE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.854BFE4E9CEE2DDE.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.h.854BFE4E9CEE2DDE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.D9945E8128F173EC.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.h.D9945E8128F173EC.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_bt.h.D9945E8128F173EC.idx rename to Source/.cache/.cache/clangd/index/apt32f102_bt.h.D9945E8128F173EC.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_bt.h.E414DC3BD3C75C5F.idx b/Source/.cache/.cache/clangd/index/apt32f102_bt.h.E414DC3BD3C75C5F.idx new file mode 100644 index 0000000000000000000000000000000000000000..7756d06ece720fd2f56b1d8cb7a55f30bb7b87c0 GIT binary patch literal 9332 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 P)|`|yOJ;7?N*nnXV+q0$ literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.27D1A30DC0013EE8.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.27D1A30DC0013EE8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.27D1A30DC0013EE8.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.c.27D1A30DC0013EE8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.29EE33FCF451A18E.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.29EE33FCF451A18E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.29EE33FCF451A18E.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.c.29EE33FCF451A18E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.50F2E6E70732F479.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.50F2E6E70732F479.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.50F2E6E70732F479.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.c.50F2E6E70732F479.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.587CE12D9F1A7A09.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.587CE12D9F1A7A09.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.587CE12D9F1A7A09.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.c.587CE12D9F1A7A09.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.5D1591395CFFCECC.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.5D1591395CFFCECC.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.5D1591395CFFCECC.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.c.5D1591395CFFCECC.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.6023C1115EE7CC1F.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.6023C1115EE7CC1F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.6023C1115EE7CC1F.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.c.6023C1115EE7CC1F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.8138176A88FFEDCD.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.8138176A88FFEDCD.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.8138176A88FFEDCD.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.c.8138176A88FFEDCD.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.82E32D00FAD1E965.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.82E32D00FAD1E965.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.82E32D00FAD1E965.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.c.82E32D00FAD1E965.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.92F13DA26DE2EEF5.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.92F13DA26DE2EEF5.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.92F13DA26DE2EEF5.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.c.92F13DA26DE2EEF5.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.A39332E4A5352ABB.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.A39332E4A5352ABB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.A39332E4A5352ABB.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.c.A39332E4A5352ABB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.C3F52FA8A4E30C41.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.C3F52FA8A4E30C41.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.C3F52FA8A4E30C41.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.c.C3F52FA8A4E30C41.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.DA5D4A62F53763E7.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.DA5D4A62F53763E7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.DA5D4A62F53763E7.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.c.DA5D4A62F53763E7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.E59D6347179A0FFB.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.E59D6347179A0FFB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.E59D6347179A0FFB.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.c.E59D6347179A0FFB.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.EA025BC26E5AACBF.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.c.EA025BC26E5AACBF.idx new file mode 100644 index 0000000000000000000000000000000000000000..8a4d372cf787be881f4dac7628d28a267e2933ee GIT binary patch literal 5098 zcmcIoeQZX5w%VM}xPurLk$Z&)dG|ps%^PbBCKanw}aSJ(LWK@Vj%2~92P68oNi|&@z#pRLXk?(;XptdD7Q~);(^IP*LI8Cbq|YB#$sxbO!u^K1m$#2Nc=a_eiF+@J4a3W0juX3b)4> z=*P`)20j(5GHK~*^7_0ODP^A&31U<*=`|s4x&KgDT8=yVFfIDza8P6IiYy^%a2aQ} z6x$hyVcKd_lCVn(#AGEYT)qJ0?NdUs5{jMBIQ!&dl5)V`FLe&838B9D6BU>j|E|+k z_et{Ply-davdvIMxRzy(C8YWaQJ^}d(*m`_B&bymc7`@-P!?md91isP)x_@~_F&#) zErisv8m@F!xSgKuV%yS^5Lu-@E<<8q%NDWPS?P2?wzcUd#Y6r;|1rN3{4{JYX%&zD z0&INAHu!&Rt{OD8?JZfAwy}>Av;V=Yqc?P13XI{gI-d(W zpX;HW&!u%fSEA+M@wL3=JRbXr^wsTSi~N)VNm+{>4g(5LYQH~DA$gms=;<LdbF?&mi+>K_&3!)AR?}c>p=2wnXTdTH8xsSgJn@HL zm)lR9Pf}8ZlxeU`!-mAbC|xaIOM9Z|r^hJCM@qA$IX`|&s>hpxclN$tLrEU0WsAHa zeq-tbXS(|AjWcghQjY2wu*~2Zw1H8cZgGnrUb^p~WFu0#GrNo9H>UPS*ZlMK+ody< zl%aaeU>P%%B?d+bud4Xt51tx(nUZZtDNZR~Q!|({xQ3Wl0NL(<8aRHXXZDuwZ-1v` zEfUtIthL5(Z2q&){I-7M=-xY&tV6Xc#g$tVO^N0bv%#RvfAPK6kG^dhd6SZ2Buql) zByN*7FdMJD_jbXbK5oWX6d>gqSgxU?+Q2BUKWo^(`l;`}PswJa1TDd$_>HN*Ke_3Z zi@S4PrDPMT=fN@$C5eGirZ1*PzG~b493^(7jAV`!#cxdgtA%%;jDD-;ElNsJJ#Mg! z8#X5fM!E6)2M@OH*fm7SdZd)6l-p{Q6vd{ydh?gJKWzJK`16!(LBa%BCZHfOFdO$i z{_~ezUs}0|k`kmWf@Kj(69c3CqsjE{+|OS0Qc{SNI!j$%{KnKok$R(Vn)D2Y)Fqj_ z_TCNuVC92j1}fYK(|w@HR|;nhrn3ghJY^}4^R@hDZ>S}|e`$2@k5;axLbf$KGnoKF zjx~ovHmi+8xz=0`fO+h|ODOQ2# zfmVLZgU0TkU+Fx3`Bk98$*hy>S?F0gB44dV#_md#A&S)+WMWo+D1La+p+c=V#%INb zVy)7cB9O7;8}F2z>%)jFfN23}GFydH2Gc16WiweVq6M`O*?blN6szUO#H{jAtd<=U zpFWd&e{|q07t!}tYikzs`HX$x_RFT|b`%ephA8uSe8rK>**8WrP&@|f$H2z=;y0iE z!Y}$t?o4J-p^nsHx@i{`nn^Q4qEq@V?og%ePwSKlOToP@2+ zeTogWbRJxK_AbJvMR2qJ!sO_*)_|GYSNdAk-7t5xVUE>X>$BLZuY9nhcI%Jl9;~8* z-D=NbSx$wkV7>}zthlLg9n9AuEqO=?HzD;VSXg;d;TELc;_)1$&VhxsH!9qP)Vn%n z?&31lLx3&vCk@Tt`CRAz;|19COxbDrYI00D9I}~g9LhE2awyM~$Dw>vK8FfS1sp0g z6>`XKvU8{uN{xD$>rM4(Y{RgiO|5Bqn0stJg?gBKq1UK~c?gD#dYDhrlNro!wa~3& zu!a>n70yG-dE8QVcwy5`xxnKo$eMy|Jq@k`Tm>T^AGi)iK0a_0jC_3H7LVru=D^6u z2k!EC0bl`)ES=P24DN%Gr5VMh38xH3)-)*|YjDT+s#or|ud!a0C*e80E^aEZq=P&@;8=4%(l^R#$Y$A7)r4H*eHD%ApBx zO+bxq=LLWlz^vm*Fi!%(ARM(JdRjFNpfnZqWX4}_fq`T59(%tEm=~d~TbmuCQ*_gVT PT60p;ESb4kD{bUoPus#Y literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.097F2FAB22F18F97.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.097F2FAB22F18F97.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.097F2FAB22F18F97.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.h.097F2FAB22F18F97.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.1947CEB5CBA94E58.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.1947CEB5CBA94E58.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.1947CEB5CBA94E58.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.h.1947CEB5CBA94E58.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.1A2BD7E39C09143A.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.1A2BD7E39C09143A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.1A2BD7E39C09143A.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.h.1A2BD7E39C09143A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.31E65C55E66EF985.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.31E65C55E66EF985.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.31E65C55E66EF985.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.h.31E65C55E66EF985.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.3D6C045275F5A43C.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.3D6C045275F5A43C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.3D6C045275F5A43C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.h.3D6C045275F5A43C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.4A26D6AE10112194.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.4A26D6AE10112194.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.4A26D6AE10112194.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.h.4A26D6AE10112194.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.7F8A5D8DF656A5D9.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.7F8A5D8DF656A5D9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.7F8A5D8DF656A5D9.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.h.7F8A5D8DF656A5D9.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.83632D4716E91354.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.83632D4716E91354.idx new file mode 100644 index 0000000000000000000000000000000000000000..ee7424686260037ed6c38ba01ca7aaf8ff095b26 GIT binary patch literal 3440 zcmY+G4^&gv9mg*ecLH|)gwgopi?y$|{;B2n5uIt*m-+STSXWxO}A)our z_x^kLd#N_)^=%6g(pn7Not)bgfDnp+UzeM=Hu=LJ!Xr=XQ5G1gtL&`N>*Qp@U%eSf z4nIGH8A!X4)mCn1i>)rT&9=$GcbaSleh0xi`wysLlTpiRE2?!yLpdurA(50+8YnZ3>VV;ZNwL*qwQv?z<7MkP-XSuB#pca^%-3MEaobHcv8~+dGTE%# z?eG;}|01pAtsc;D>=vuTW}@cRoQvZDyz85+HU0(My*O=RI;#b^`-2VEETKDQsrhTRVqb|ql-6l z3aj00>#}ePlheIg)v5%Axg#%2xvCAdI-s3}_2qcJ%jrfQht+~y-p-c#ClCsZ(mY*0 zG^1ot5JIvJ+z}%d6bvt4a-yHiFDhZ-sHLN1nh}u9imlONkpzhYziH41H(J9G7GGIV zIRYKwDA?a0r6z$xYD)MgyCS+5F(?7rSj;AiMRHK_Q^xb}pQ>X}GziSt93vJ<(DKg8 z-%ZTqzRsXUAZWr(GOLE+%g zf?J}*A~`(M^GD6nU1fK|kZ=x#N9GE2#Y?l;8x&=k_`3BtBOFp$J+6-zi{!Ak=$m8N zSKT8FS`30ZT$d;oN$`^oE^Gh(>BLS3!Ks&R#am;*~$4Q$tIoddR^sOS6K_SrAj@zTfA~{U8|83wLv-=!_ zVnNV~TjRtc3GQr&`TAaf@+N~8fS?Vx#fn7|+`pMyIoq@RLk2M*Fk#bTu}A`*YjxS+ zP>~bn7b2c4vWE-a8-6KhSKupvD{&=km+uKas8>w?DWM5)4$gt|Fpp2SJbCQykP&bu z&V*CodqOm`dB6Pf-EzQkEEjGM@d;C2e=sw0{4anbaU^V{?+LFMe4%sMi#Gu0<9zDP z%rweREpz_}@G`uNnnbWWl#VkM`vI@TYpI�bn5v$aF{w_yzk;|9qF^?1Nf3_(Z*Q zy68VEveFj-UW30|wXOK~Yx8}oKvbIcm{0#3!LRNWNYGj-&@iw*%+VkMm=NlL&%Op>MI zKE7uzdDE2!ScYZPqVp98MI6|_r|rm&Y{iq3C?^P9EPIc;6HL9NGns`iB3 z@AHp%wF__pPN3c-aRCc)OGZL+7QDrLo%i1TfIs%{@~CG)orSaLbowT_p*XXI z1r+a5SN&?T_m&B8F)pSf*|Yn~nW*uHGQhbwm#Rr}0~TVNjD+MhU?Hq2p0oCIFYoLI ztiw9$O~MK7WC$J^5HybjodJ@gclX23$G z&o2ogVGdYGa-t#;4p_)(Mat`&F%9l*JvnarY^C3Ao`;Z1az-~OvP+G#j&5U>_&DZU{8 z`4qq8`y#*_@kWX-ncmWbUJSYjI3CAS?@J#JZaZNNxB$2Wmr(WPxqYWb7Vw3D%W*ly zl<1Cq%sf literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.97E611C77C385BFF.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.97E611C77C385BFF.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.97E611C77C385BFF.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ck801.h.97E611C77C385BFF.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.9B790FE9896DDC0A.idx b/Source/.cache/.cache/clangd/index/apt32f102_ck801.h.9B790FE9896DDC0A.idx new file mode 100644 index 0000000000000000000000000000000000000000..4b3e5386fbcea8462549f9f52b571ec422b2884f GIT binary patch literal 3440 zcmY+G4^&gv9mg*ecLH|)gwgopi?y$|{;B2n5uIt*m-+STSXWxO}A)our z_x^kLd#N_)^=%6g(pn7Not)bgfDnp+UzeM=Hu=LJ!Xr=XQ5G1gtL&`N>*Qp@U%eSf z4nIGH8A!X4)mCn1i>)rT&9=$GcbaSleh0xi`wysLlTpiRE2?!yLpdurA(50+8YnZ3>VV;ZNwL*qwQv?z<7MkP-XSuB#pca^%-3MEaobHcv8~+dGTE%# z?eG;}|01pAtsc;D>=vuTW}@cRoQvZDyz85+HU0(My*O=RI;#b^`-2VEG4VTQspR>sys!Fql-6l z3aj00>#}ePlheIg)vC-=vF47vEaj>;)arnC7S@;J`7Wm$c^p;?a(O#j>YqR;FiP`u z`Ou7#K|u(~I&epfSWqy$e94J^GQX&Vg`<{^l4(XjGAp)5i$xM74*aG;AKYjSLs)!e zLFEW^gri`8f0UX84yh^OpX`e0Uc{gTXk#&(EEdT@#ZMW}zkjNZLD3*EV{?pHBtgqN zD}OgJllwY@7J;A%H_5~z32Z^iyKirJb~p^BkTEy|or_WM6Mnuicppq$Kb!L7W(I|W zLkn(+5{u;UOwS)ROLvvs2}8m;6dsu?&=oJuVsB8CW#a4BTq46SR}zuKDey?`==8-83d6dmILyV0MH0LgzUN>0qs!A76c2(%+!!YoNpL!J zaKPNB+RmUSLC}nwqs1Z#-nc$`V9Xd}2}NNbu=(3U#UcvCSzKwHRbPr6oM2E42x@U{ zq*x?}PX_LNw{o3sM;Hnew+d8zARi}f*5qj8US^$DJ+!iYqNpSyWZslyx@(&rrfWU-Ji^U=dc&^oD zgF{75m|uu^vdA7TcyIWnpk0Bl0ItN9uwA|<_@G`f{ilQ`z&SVv&ci%D-SXtIyF*66 znK%_%XiBG%duRzJ;WzWdHuo6$nn1bj>M6$k-jIqV(^8|WiQ?UoR9OV zH#5^HKef#LBf!h>GHMdR?oc|;RO|=57O$mhk_Ui=Fd)+*Dc~3EJN@%rlCuwL;ouYX z(&?iAtjJ1V0C){vL%lQd&8yCP6T<p#b3f~U^qw{ha3W5m>grtg=flUxX92In>!`Y>?c|+jES_}0 zNjQnBjfq9|@1~FS11`m-RBg=LdCf6v*b6unr&4uOY|qq@|1LTNSc#Q%mLw?w3o%KS ziu?GUx#Ue(8ekcgQIqyX6%7@aZhQ{70$0#3Nt(i5iYYq34bE@YPUp0B-3GND>#5ok za=*_%;?*v|2{?gzlf(rq#4Q;K$yx9g^L5^P_XGaezssYZ1$7qAqSNV{fEoTy)DXdZ7%zwM64OmERf`_zc6@_y$At4l4LDythf3e}!iLqqB$vByI zIr5Ja-2u<_#RE>q=@gU92P_0W@g_+RScrLoNxu7s_;P)IK4CIvlrxFETW{Wu8ID_5 zSO(wC#@TdS=X$@~eD&5%A-PuI6?6dShGsI0YL?6a-h?;NWq$jw=4hwkz(K%TtflyZ z{O42rlJAQEZ^RoZzGQk!6M8Y|BH(x&PrWaFIJoVEG2jB=5?n&nm*@7K8d<;>0xrkp z6qCCNuy8SvIbVJ0a-CcsE4;r;@lxvj(e3`h=$O4{0c)^^nvnYo4uN=Y&9Bh)@t?hX z<_~8Kpf+FwRg=pMuyB)+F3A-JSh&9kzSSK5{M0^q9$+eOG?!~=u9r_+} zLjo4AN8DhP`uAt!T&03Z`+KtJY^qL&s}#*tt4vq5$_64o z%-hoXAnyw#)w&N<>x|x=sn(sHo!LPc>9S04a(O6vB{!$4>amPge znrWw6@4PqZxvFVU)zmH1u+9!xr!{I(jb=5SQnfHU?>nyQ%{Zm`30Jk}Drs8OHM;-O z|C($$r76cQdE@wsa%F-^i);MSi__y-{L=BB8|TuG_AN-T9YAg&Ee*UtJsyDCC?r0X zE*}5Uvl<3GB65NxV!W`J9h1YWSHHh&+;}QM9mY+hDawoJE`0iO{i~h2BS9GBIEl-= zhzqNP$*~z!7x9<_O>ylw% z3#2%b@!V_$ff8-TQP=_@+KivD#V}GIAlvi>GThC0iQNJf+6r0t|};0#DxgDDAk4cz3G!|1UC-k&YW}Jy-9v^Pvr*& zs`UW+M1En~sap65&G@NQJ@*5_2X+ON-f_=$N{XT%DddkTCyKgK>@W1|MnB$-fTBQW zVoA&K)Wp=>Oig2P&gsKO=K1NF6B*D6wPWH?N*Dk^PcUf?u=cYpKw%bu9~JLEk*ZV z`d^bxyF6uEWp^CEqEek;(&QT7^y2h*7ryCO?~QZmNBb5e*bX4KlGY|(pb;0KJ`C}X z<%`FE^sWX0S457Jc$60wvo$%qdiDFe=8dNkG+-PdkuWc!yZGtL^{-a)js!uBVPj^ZBkF$%D5f z2w~Dj+GJit_wtMO&mAkNs>BRgA&SI{h+l79zI$k7eNBR`7`Kp?FfSs0v**?M$#3z; z5^TdbN}^$2MC>`GO0b3=3Ha35kHkw*s|)zFd>2A;BAQ5xzqNP$*~z!7x9<_O8xlcb z3#2%b@!V_$ff8-TQP=_@+KivD#W2$7Bir-^GCa+AiPHiV+6rN10ZzCJS^xk5 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.D24F74807706B985.idx b/Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.D24F74807706B985.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.D24F74807706B985.idx rename to Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.D24F74807706B985.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.D93B77B82F3E836A.idx b/Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.D93B77B82F3E836A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.D93B77B82F3E836A.idx rename to Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.D93B77B82F3E836A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.DA8DA2C913D23949.idx b/Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.DA8DA2C913D23949.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.DA8DA2C913D23949.idx rename to Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.DA8DA2C913D23949.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.F1D1656A40A54037.idx b/Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.F1D1656A40A54037.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.F1D1656A40A54037.idx rename to Source/.cache/.cache/clangd/index/apt32f102_clkcalib.h.F1D1656A40A54037.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.2D32802B8212699F.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.c.2D32802B8212699F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.2D32802B8212699F.idx rename to Source/.cache/.cache/clangd/index/apt32f102_coret.c.2D32802B8212699F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.333C7944340DA8D4.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.c.333C7944340DA8D4.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.333C7944340DA8D4.idx rename to Source/.cache/.cache/clangd/index/apt32f102_coret.c.333C7944340DA8D4.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.37031C88CBDE0A97.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.c.37031C88CBDE0A97.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.37031C88CBDE0A97.idx rename to Source/.cache/.cache/clangd/index/apt32f102_coret.c.37031C88CBDE0A97.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_coret.c.3C574150AAFE2FD3.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.c.3C574150AAFE2FD3.idx new file mode 100644 index 0000000000000000000000000000000000000000..38216e3a42d6207265f199e4064525155e430eed GIT binary patch literal 3368 zcmcImeQXnD7=I7i(v6q0ZewEzZ2j05_to8&!WyUGb%SQ>rd!Jxx$Jhk-nL_1Tkc9( zvwt)T5o4CAe;CPv2?_s@m}pcYi6Iij7>tS^OAw-vXfP(A(ZD}wqQ2Mey>?*KxN*rP z_x#@9{odz&e$R8c{!mv}-39>oSZI1mNlO+0fD_$%T2p_qp$Fq?Y6dh7=pf(M+ZEa? z@&nyNVmKV_@Buo+pgR~~rBsULgWasL#>%>C+@hS+l>9?%lKnTHnvmm1V#+`9Vw##! zG`5J@-z5&9T@ixh2ZjbBo#CZmi3I4Vm``}m6QTW_C;}Q$%|%tu>S<*P(21m;j>Xl{ zoKh0dnxZF;=@ zzNdSjFWS#{ik$}@fI_`XP*4da)bvsiN~Fc0s!OABr3mRv6akSC-yQ0W+(*OcGU}i- zsYFxvF_*w)M0C`o6kFO+PfHrkM^7hHU~fPeOlp$@DM?nup`k%eXsZhzQ4gt#5aBr? z(jrE9@!&pjzmF3+ALsYAaGWrZtNcpd6&P8PClp~ylC>l=u_CFiLBn?`m2Tz6T2Pus zQ>PjEA!sIn9LRuJzS+<)^((2QkWMD!@`Pmc%4CK^t%BM|H8RSyGA%xaYZv;Lcaeab zd$oiFnIr{2)5`c(Ew_TCFe=HDM`FZQ z53=-_I<3UOm>O3CEX(c{&5JlBElSDogC0 zEZ#f(TK(|FTM$$r!nk$3n%V((6lL+v&ckn>{kHxD1XYNz)4H>Ys)zO43JTZH^S$qf zznFud8WAWfwTbdV@74n0)`z2Cv2RCExi=v~t+m!kd7!7LmYOoAZ$>{S*cYNSXG;G6 z1OV&?g7a431?&M@Fbu#jUDf>OY32CuYa!{edz|L>B(t8WG_xh=3Hv*Fn-{cbS_)a?n2LG#w>J>?2OI0Z7%ZI!!Z4&8|6dHjtcI zKU0Z|1<7MX=`o@LC#79kboXA~ea<*xxw{tUkoDiYaq0N&mk{hKcbV|hceRsu!kcCh z+-_+%Gk#{FtNwJ)N5d9KvQE~l2O?FrqsGf$kmM`*q9|M$HlqdpE%wpdbz!8-TX<6! z9}iW|Xl|^8Yk***r7?W|#1HgOpEar$3&|2}8MfMzOBMIACAR@?HA}AW*v=1v;gh?g zPfbH~Xu@SHbdH;F7eyYzQxtg#Z&Acpm=e4(GK?6s;bb8>LX6n(i6E&Gs;$T{LbDYa zW|=7|Hf-%N!j27tsB?*V!iGEda~v8!8!Mx+d$n$)vC}0JQl?kPWZ*1hQB3uh&pCkf&mCgInt= k-{`1!G&&j_&5j+8CWqH*TW7JCly0b7yB?Ogooig+FFga-oB#j- literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.4C3276EFEA590D6F.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.c.4C3276EFEA590D6F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.4C3276EFEA590D6F.idx rename to Source/.cache/.cache/clangd/index/apt32f102_coret.c.4C3276EFEA590D6F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.579FDF4E2A5B9A73.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.c.579FDF4E2A5B9A73.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.579FDF4E2A5B9A73.idx rename to Source/.cache/.cache/clangd/index/apt32f102_coret.c.579FDF4E2A5B9A73.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.640B4DA845C361F1.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.c.640B4DA845C361F1.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.640B4DA845C361F1.idx rename to Source/.cache/.cache/clangd/index/apt32f102_coret.c.640B4DA845C361F1.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.802E0134C97F76FC.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.c.802E0134C97F76FC.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.802E0134C97F76FC.idx rename to Source/.cache/.cache/clangd/index/apt32f102_coret.c.802E0134C97F76FC.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.8B094546FF195A45.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.c.8B094546FF195A45.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.8B094546FF195A45.idx rename to Source/.cache/.cache/clangd/index/apt32f102_coret.c.8B094546FF195A45.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.8CA1B7BE00CBD345.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.c.8CA1B7BE00CBD345.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.8CA1B7BE00CBD345.idx rename to Source/.cache/.cache/clangd/index/apt32f102_coret.c.8CA1B7BE00CBD345.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.9A33B2D6EAA04651.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.c.9A33B2D6EAA04651.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.9A33B2D6EAA04651.idx rename to Source/.cache/.cache/clangd/index/apt32f102_coret.c.9A33B2D6EAA04651.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.A4A8561F32CAD970.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.c.A4A8561F32CAD970.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.A4A8561F32CAD970.idx rename to Source/.cache/.cache/clangd/index/apt32f102_coret.c.A4A8561F32CAD970.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.C68136B629D3A10B.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.c.C68136B629D3A10B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.C68136B629D3A10B.idx rename to Source/.cache/.cache/clangd/index/apt32f102_coret.c.C68136B629D3A10B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.CC341B966CB19809.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.c.CC341B966CB19809.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.c.CC341B966CB19809.idx rename to Source/.cache/.cache/clangd/index/apt32f102_coret.c.CC341B966CB19809.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_coret.c.D4049B95C9E3716D.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.c.D4049B95C9E3716D.idx new file mode 100644 index 0000000000000000000000000000000000000000..d7f9797477034a1f690a1c411c24abab4459b84e GIT binary patch literal 3368 zcmcImeQXnD7=I7i(v6q0ZewEzZvEI7_tkcDu*NBP-Jsdp>DDqvF1y{Xx9wQhmb+5c z>>tfS#F%C3A4alZLc%{JCK{DUVu(aB2BYG~5`-uu8jJ~OH1H3asPDCXuN@dQZd`K7 zy}$Q&zvp?M-}78umJ!r7Mz)u)1nCgU`Mx>R+V2Y=s~|)S^-T1I>7aZdxCoe zZm@S)2!*0u9zX{fbO-#bm`br+pqJJ6SV>d#Tac2foPUT-vH!+X5>otdO#UZcOjR#) zDJ21|%3AWUD#>(AQM&?u9-WUz+q@JP6BE3*o$)Yjfb;W5lti0vLX!BIogG3)JH3&mQJR?9zQ>nRHp`0q9hB$!$Us4y&-T|IjG2dg!Azc zuMpvc1AB#i9 znmWx$4?r^sB!33P^38^ZX+TaT`E)WFmnKEMSEe#P)GDZb6g{I%8{_pbzD|B%c^C1x zxmQbwmq?QDVA>eZs^wOcWHYu9)$L?=~{UJ^sO+y9RH)Zx@r2CVp&%C!mh-# z{~$|`D>HHoj4N^3&$8?uKf8P=+4e@CCqI@f8cX(X$CAyDC7YWE^u51#9#%)a(7gBQ zPp(q-_v<59rDOtqBr-`Q2DI$-*b4*z>s~x>4PUu%9)gDeAa`4K*HKNdsUDOO1YleQ zMYukmx_IO4_m4xc6%pnM^E_dv7|3icQpm}7%3HdgorItcQL^T29YsN^p-2cVeJOvw z^j;Q%Er`%->D@v#!{!pglhFfLzgy#|g`gS{Qsz`GMMCo7q5^NO@*k{C+aTDC2y=va zj@UxckaiR)r#lubGmDm2A$S;3M$97{saDupQzX3m<754QJf~cTU>hPt&Cv>~1-8@{ z2}^emz1BE#;U)xCh%jNEsHL{U?Il@!v*Xa4XTEJb4nYkf>@e@Bp&DW1wxYtdb6oiS z&=>O%)FJ|9rZ!P-=-yf+-28CtEB5UOD)%Nts5jT!DHn8=)KZnlwaw_~1p7ji=S<1} zp8$Z}Kycm)yn#JH8@d4)rfXXNJS89deJvziR+rrfPcrM7Y9m{6fv_$Rb}YVk$!Xnx z<5w2}Nq4o|g|+(ND|h-nZPQ_=)oEy9b5Ug7S1#W7Z5<>XR)-N3l0()ZyWuD~Y8|y34L~YZ#cr5Ms#evGvw`I7 z`q^q+EJz+D%8wFNI4Sk=k~4g1*IE69mCkycL$>4Y^^3=Dy@X&#rNe-qzN4PF9ojU9 z;7(Jgk?}K&J&mXOJ{mDWlC`r&JrJq76E$A`f+SbXm8?S5A!D`3y~RFyt09DRITL5- z;^U#p>CKIma19Www={;&9shy;>9c0VWFlFDt-w~Ba;f4zHsu1~Rx{-akL~;*5IV6d z`qT_WhbA1BV&^ysXUWP%xJp)T!dWA<(KjnI|-mP%xc z-b$Ed%Jo}ur7IOz`Vit3`VAFzF-?^;eKHBM>GeK;_OkZ%8j1!KjspN)e3YhRah+T5 lsN864v^CqBY^}EKwicV)Y*}ZrmX&X4Si2rpIPGg3;4jJy*S`P& literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.h.3A88D025E3942F71.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.h.3A88D025E3942F71.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.h.3A88D025E3942F71.idx rename to Source/.cache/.cache/clangd/index/apt32f102_coret.h.3A88D025E3942F71.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.h.52AFC17831E75552.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.h.52AFC17831E75552.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.h.52AFC17831E75552.idx rename to Source/.cache/.cache/clangd/index/apt32f102_coret.h.52AFC17831E75552.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.h.5A1EF5CDCD14572D.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.h.5A1EF5CDCD14572D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_coret.h.5A1EF5CDCD14572D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_coret.h.5A1EF5CDCD14572D.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_coret.h.6206FED7BF19BD4F.idx b/Source/.cache/.cache/clangd/index/apt32f102_coret.h.6206FED7BF19BD4F.idx new file mode 100644 index 0000000000000000000000000000000000000000..1b608d4804827e08ca65bb38914b35b416332ac3 GIT binary patch literal 1384 zcmcJPT}V@57=XWHojL7G{SsaNr*rI~hQO1SoO)T48oXGe3_URW3Q zM;C<@bSXrH6bTWD*o6`FH;AGV3Q4e=uEHDX_4pmnwA&gC&YnHI`*dtQ=W8yP6$tYkOOFr?bo2>~8M)3)$=xH3_z$DANzN zpzLlEBOY%+h$GFxIN-2Z+iZ5nK24>2RF`K&aEAAp6z&lvArSKT=`TiPkEEU_B8S4r zXPH0)VnDEP9CyaTxkA!Nci7_-+`YXno;zXUYnsNzVNu{5R-SXzx*b+`U#t6E4e#b_ z__~@}p69wl;QX6%RS)>G)6rd!AK}S*;!WdtUtgJ13KZVgD5M~&5 zh9Sg^%||t*a_C8N*~#f4jP#&H*=QE2!d1sKp(FNAcoTab#V84cHeFjbDaEC6!dYkE zr*8>`28<4X5N5*$Qi&_`wF&3hbjz?oPQfSI=3#1s~BMroUAjAl;JXiCd4+!?wk6TH!w;7VUQg(kP2K8cZ$#T zWAl%{m~LYPH!8KBt|9i&)&Q(Dpja&cSlK+qt+66~&)P2|lT7mU`36dn zngeVl1LbN2z{>I|R#y*LSvbYghggyQ_2~teovY8yP-jQ$Hdj|J{k#D734=w_Rm1$bxg`q0Z2=sYJ)QJ>u!y=G|%f7g*2_ zie4mA&`TjAq)3QJ#9kOdzXnlMLNOB7n_l`xdUigKH|=!?gJ&N;eDC4=Ve1xKTQ~Ot zAcV!KF=QzC2#WAWH#BvY!H4wYt^q<4L~qR=h|q+J@NJJg^uihAR_Oaga^8j8e}FnObHC>p(wZp7jsjyvb$f-!BhC$5B$+}|JMx#KS0(=wrssECsUo|C+?B*+78@&%7q<~{rgua`f? z^~5H$5aQHmC^8X7oDw&V@k3q@-#GlgCd;9ih73G^GNy)cq3N-~Yq(JEttB?_d1VQL z{H4W*7pN3iYu5s3mkJ zKA?Arm(vjBQK1@EX9(we2fqBsDz`(hhYEGDuFRTnF}v6|VmAsP$fZI9Y$&&c`KFsW zQ*$}@A=poa8d!7C5}vO&cWqu(*C2pYa6`A<5)vEZ4_%j5QV?WOp%&I=+~MoV@r9?~ zT(b~lQ^5sY4r{{q7eZjU^Zj)Qa;Q)VD@!dQ^=j}V_e8?0PXA2OkIf048JpD5kUo>q zgvr}#u_Xgq0%NlP!F2x^n|mj?Em6VtCI2{?d|Me?W+xQT7}z!=5Ka?dY_6VQx_FGu zg%hlON>l{io?XPVOWD!`boO-9#@gzY-?uR?VN160-RAYjzZQ%e7#Fj}hpA1Q;n`*@ z!f7dt%|ZmzJ{X%_2&PpqHfs<}TVQN9AUJi;G56*{U>@JZ!8*1tNW);;3_@&x{{@uv bS=T~(dVyKC<;!r23`FtTqoO5J5 zF_b|=5YUDaMmmM9YrAUG{^(X{rBzzdHjPb!RhraJ+B8Ob|wPb&6KE+7l(C@U*&*1p6E>IQQ~x|iK_M^j+vio@>goDyi_}AFM~ZYCQq|{ZCM9W`X@?1P?F>fx^s~V8 ze$A);=6RG`m8O7O2Lo1{8Q>#WGq_B z7ALH|T@^Lw?F*>6Z&y3bNvfplCI(P+YhAXtIBzv}{U20q&&8^vITk65X1}E-MfT$5 z(0q$kq6xX($Q^{<4@b7~f%wh=J{s-q@F91^1K(h~R~Q@f27)`is?RItWcAC7nXFWN zNR4>^8&6im^mt18G+rtzPe@s>i5Uy?ao80s5I#N-PlTfLV4j5By?jw{=hjFc!}G`u zRNX1(4&?IEC~_;ATt1bSlUk$ZW%i09w|_$$-{yC3@U(h-usSUXImxYg-8pI4oz3$TZD619aig-bx6tP2U@uP0 zjT~@G=^-I0PcUwXgXSkyAfpV)dkNC+eD7FF$Vf6Mz`WHQgAYoYf^F?weN@Ppg=J|Dv~KBmpr$}n79%PzWuwVX#3#9@gW6~t`DGkiy(!u@J(g|R%# z47GwxF*B~@rL5o)KcBD}B(_hWRI#n#+Qg)>442Pj(&Dh7cE!j915E*qBCEP4SWm0Z z!#vEz7WNBA+W2k-;>6}=uFb=Ge0NQo5t2&^;z&Wrraq6@3+~aKZvaz4pAnxSxoXkW znXo`rF|l`2v;QHidr00drO=R^mfF2u@3waD!mH`^uVQ?~%jt#7>0R`4dW)CStKABi z?2FuryR*T3|1P%0Fq+87DU>@fnmmdT!dow0{@393P8vB8Vwx;X4)!TbKZREytHpx+ z>oAMya~C4tdvVn_X|xI`%Pq@o>@iFq!?gybHuP{u*ZcfM8Z`oiu`o64lbC)IHyD&1 zRbj8?;*Q5?|59M zYoII#%3;gl8uk>XPpNY6y{AYyx9+*$)vY?O(C7i6j9bPl*%O#PfoqJ7F8=Y^S8IBw zzD%PPK$*stX>4bo#`M#;9$A;*Vw?}ow_oV^#$`K=8h{kH#4FiJOi!wDtW=SLveHoQ z*b<`_xJ)aA`ggbbA^9&U(~@5_f|=>Z{pBP+sQ|21(@#jw2g-X^%{hODX(rwp-$K~o z6@O#%|NQILduXQ7+E__;pqYUs1A0iBIf9oQ!Q~`dq=K-8T0XMHqvh?&^_dYFwh&{Y zMAF}P`Mt?sy53n&(M)qyb3I|xjK9inLLF5dCKRp;>xgs%Y^SyY2|zjk%xd|G`LVi# zZ_j;Pc^XuNsjyu)4{cdKdo%NkGMaH(ofXDG2d#q@BpWm%S)~dh9FRl0-$060sUSzE z8KqjOH&DS^sL(rwDO4Bg4K#(9OyQ*@c{DSH?NhjxVEK)2Kfl!e!n2T`273csiQ)(9 zVQ(}cr`>5nF1t%dL?Glr?Qs%d{OV6X2wgvO7V-f98^y^HC(m5DarWJ7Ut9*;Q4OU= z9vZ1e6LL~c6LL{56WUGfE+yfhQSbm|ph0TTDsWvJ;f++(}VLY`ES4?3W@lXCe`~1ylHB1G@Px<7J% zKZ>FyG&6_G=J0*`lmJ{ehZ_j~*5jM|k>k=Uus+d}*hq3oG(uU`xkSoJjt*vZ7U|~S zZ@qx%k%u72G_IP)Ye@9-Ti%`c(QAL00~s^8WCq_$94fZW;2MHojrum6`O4>i} zt-;!08g09+yDQ1@Xl4>yCvhdo_FE;V4-LHX^Cv*m3@)27S8WE@%@|cvMVHN*{j<1k z*6_b|ws$J{n@?&$RMMVYNkmXH)Y@?aa&xUnt)vKCPJc_!?lN< zCbagjk05v(r3Dq_vSLo{Kg_tJ|9GQsNBM`CMXXLk;%F)jFJZLWRbS(1ad;eVhtJXK a@H(2yEAFE!ZOf|HEVWnFHr17_MgIoim7pmA literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.53EDF9722B00AC4B.idx b/Source/.cache/.cache/clangd/index/apt32f102_countera.c.53EDF9722B00AC4B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.53EDF9722B00AC4B.idx rename to Source/.cache/.cache/clangd/index/apt32f102_countera.c.53EDF9722B00AC4B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.58BEE33F3262FAFE.idx b/Source/.cache/.cache/clangd/index/apt32f102_countera.c.58BEE33F3262FAFE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.58BEE33F3262FAFE.idx rename to Source/.cache/.cache/clangd/index/apt32f102_countera.c.58BEE33F3262FAFE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.5AE6A537E7FC2247.idx b/Source/.cache/.cache/clangd/index/apt32f102_countera.c.5AE6A537E7FC2247.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.5AE6A537E7FC2247.idx rename to Source/.cache/.cache/clangd/index/apt32f102_countera.c.5AE6A537E7FC2247.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.838F2F212077C914.idx b/Source/.cache/.cache/clangd/index/apt32f102_countera.c.838F2F212077C914.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.838F2F212077C914.idx rename to Source/.cache/.cache/clangd/index/apt32f102_countera.c.838F2F212077C914.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.849BDCA2C4E46E5B.idx b/Source/.cache/.cache/clangd/index/apt32f102_countera.c.849BDCA2C4E46E5B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.849BDCA2C4E46E5B.idx rename to Source/.cache/.cache/clangd/index/apt32f102_countera.c.849BDCA2C4E46E5B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.95242E74942FDE56.idx b/Source/.cache/.cache/clangd/index/apt32f102_countera.c.95242E74942FDE56.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.95242E74942FDE56.idx rename to Source/.cache/.cache/clangd/index/apt32f102_countera.c.95242E74942FDE56.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.C51119BAF03C95D8.idx b/Source/.cache/.cache/clangd/index/apt32f102_countera.c.C51119BAF03C95D8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.C51119BAF03C95D8.idx rename to Source/.cache/.cache/clangd/index/apt32f102_countera.c.C51119BAF03C95D8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.CDE83AB6F5C1D42B.idx b/Source/.cache/.cache/clangd/index/apt32f102_countera.c.CDE83AB6F5C1D42B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.CDE83AB6F5C1D42B.idx rename to Source/.cache/.cache/clangd/index/apt32f102_countera.c.CDE83AB6F5C1D42B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.D32845C97FCEB182.idx b/Source/.cache/.cache/clangd/index/apt32f102_countera.c.D32845C97FCEB182.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.D32845C97FCEB182.idx rename to Source/.cache/.cache/clangd/index/apt32f102_countera.c.D32845C97FCEB182.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.D5FA65C28095DCDE.idx b/Source/.cache/.cache/clangd/index/apt32f102_countera.c.D5FA65C28095DCDE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.D5FA65C28095DCDE.idx rename to Source/.cache/.cache/clangd/index/apt32f102_countera.c.D5FA65C28095DCDE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.D9DA01435C3A38C3.idx b/Source/.cache/.cache/clangd/index/apt32f102_countera.c.D9DA01435C3A38C3.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.c.D9DA01435C3A38C3.idx rename to Source/.cache/.cache/clangd/index/apt32f102_countera.c.D9DA01435C3A38C3.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_countera.c.E3C4687D4734F834.idx b/Source/.cache/.cache/clangd/index/apt32f102_countera.c.E3C4687D4734F834.idx new file mode 100644 index 0000000000000000000000000000000000000000..65bd7a0c05673b87f8ac8fe9f5814d3304b6726b GIT binary patch literal 4708 zcmcIneQXow8GqmOOzLn+W1Ki2g~V?83W>kYCeT2ji9f&)C)9Ql5^g=6&lhsUIY+h= zLm4y#0c|K@q*G|SwyQSnk8XulTBQ|j)7T_frAh6iO=Cs-sMe~}=r+MvD^;tuJ$KG~ zcNwAE3bkV8e$VrJpZE7Z&+|T)#3JD^y9}W~Dzbl6%<~jN$O7M7J}dpo3=hg@?aG7R zwm=6L=;`fFbVPc%#DOs}C=S_+1`aIS4mD}Ccp}!*8PZ5ac&Np`@*tx`*%j&z#zIle zze|);5V~7s_!LI8BN5ncq(u3=FsyO>3J2WrL`Oo463_E_jj>)~gu44eT|K*WA;dtW zj>|b|uPmnQlAN~(`8>~UpI3RSr|a`AQVy*iDblS=Ri2}nl&Ef|9wyMWGZ^X9&H~T- zRi}Cmg{rx(*^8G$ z^(|J3CggM?XApWn9NESN;yVYpXtcN8gPai;e1mOner(Jg2<~(%KDUsQlrJY_vSRTe zHRAqnJV_SP<0Po{OYoaaKa z(E?*AtF4abGh-xDKR+UlkNszWd8;u77Zg)a+^^J@AItlg zA+Lvl#vPaQVwQIaUrg8x651wEs@PU=ZDQhBhRtU(XS3+~aKZvaz4n-QNQxk}NL znXo`rF|l`2v;QHib4c1RrqGa-7Terz_qI0o!mH`_uVOsK%jt&8>0b15x{H_7t=@fnmmdT!kw2c|7-Ai2aW6qF-@i>o9{_XKZ#c$v&n?~ z>#z^g=PpFP_tL6w(r6V>mYbGae8(_-4A<(E+R#JoT_124Y19Z5#>CY4p1|}IxIw4v zs0zDH7k4~LBL`5@rnJR(9Mi{*QTnf5d;g_3mUh!rn>!R_x3k z>$lP9L7)Up!Ft~`rl+w(r|dia@VV7;@*Nu850s=Sxy*MI(?@X~GMAPVPxQ)-$M>!4 z`ZZ9N1Ld&kaEthFwZLU+A(X$nl@G~(Ntv4bq7lqYKkhFl@ks?>t&)C1vOiGXvue)%GfXpaZ+t6Z zhgbZ~m;dKqJMW>HMss5&*@0#TmJDbiY32xCas-!?Y>^7W7E1ZZ7LSy-$=7E_B-lcT z2_i{<-{towf9ZI414T2x<7pdK#<^a3zW# zsE4)Dfb3Sg0XeJ=4H1Em2c^eJfbpw8{V;U>%vs0-{BIN|N1Qx!<;L0fu6=nKY)3Ve z>Un6S8V$%!*$v1+ISgnwwY!vrgGRvvl#T|eL4$7(wa0)&N-QN}A-5K>N=Gs!m+IM+ zD`l&W3RIy~&t{>rVAatirY3PI$)(b$_z0$SJcaSpLR>M0EyO?h_v{Ndqt!4K7(eCL zdS$Bp$1iVjY?xCTxmIWMi?JW{ zKK2NTme9-`E}O&mX;T7l-5hQp_*;){=|{FpufqC7OJWnrCD90FRpt^YD>*utm06^j zf8Til(Ie|2$TY5+#%oCQ^IPAW_|fZsm;)IzxMT+3OB@Qe%-|Y=UyFJ+o_S`=21Q17 zVl|QR!)HHm{^hMT5=Al1RI`=5B`7svWY$pX$;myX)Qd;1Cy5V&i<6N^{z>DNo#mgt z+X9V0i%VvW%4V@;R#&DZuw>5YpTm|p-GAxC%}9rL zXlpPx7)IM}^X^J=Jerxr=1E*hvi)|+=|cmr{`_$eHG|7$j8&V#bu)U^6wzg~M*l3X zo7MeqpY5Fr{^rvf5S6qhR}xWI-#B^7cG}VeW+j~@7r*`JOXmV#-+TqCCG89N!$|GrY0aqyor!#=5Xy{ zy8*2|>>&u=MrmFFxvY>=`VTYC=s(`<+fn`z_934}L&9h(4KHD|+EHI)Yq7a(PMgQ( bwYhE0AIv-i6jLSm;K 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.h.E8D5988CE9CA3C61.idx b/Source/.cache/.cache/clangd/index/apt32f102_countera.h.E8D5988CE9CA3C61.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_countera.h.E8D5988CE9CA3C61.idx rename to Source/.cache/.cache/clangd/index/apt32f102_countera.h.E8D5988CE9CA3C61.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.0A5CD0CDA7D0D74A.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.c.0A5CD0CDA7D0D74A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.0A5CD0CDA7D0D74A.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.c.0A5CD0CDA7D0D74A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.195C4246E88307F3.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.c.195C4246E88307F3.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.195C4246E88307F3.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.c.195C4246E88307F3.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.292C6C70A7C461C7.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.c.292C6C70A7C461C7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.292C6C70A7C461C7.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.c.292C6C70A7C461C7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.2BB64A2049D56D2D.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.c.2BB64A2049D56D2D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.2BB64A2049D56D2D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.c.2BB64A2049D56D2D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.2D900AD0CF0C4169.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.c.2D900AD0CF0C4169.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.2D900AD0CF0C4169.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.c.2D900AD0CF0C4169.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.30367C3CE1BB8B69.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.c.30367C3CE1BB8B69.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.30367C3CE1BB8B69.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.c.30367C3CE1BB8B69.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.576A54E55FB3EE8D.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.c.576A54E55FB3EE8D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.576A54E55FB3EE8D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.c.576A54E55FB3EE8D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.660EA54ED385BF3C.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.c.660EA54ED385BF3C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.660EA54ED385BF3C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.c.660EA54ED385BF3C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.685CB02B8893F21E.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.c.685CB02B8893F21E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.685CB02B8893F21E.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.c.685CB02B8893F21E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.79A4F8CF99304517.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.c.79A4F8CF99304517.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.c.79A4F8CF99304517.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.c.79A4F8CF99304517.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_crc.c.817A2CE3590B32EA.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.c.817A2CE3590B32EA.idx new file mode 100644 index 0000000000000000000000000000000000000000..004feb74f3475613972aa266f39c880d879243bc GIT binary patch literal 3822 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 IBx6Va0vK(BBLDyZ literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.30F6E173F5B6B4CA.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.h.30F6E173F5B6B4CA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.30F6E173F5B6B4CA.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.h.30F6E173F5B6B4CA.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.4898CCB07ED2B90F.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.h.4898CCB07ED2B90F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.4898CCB07ED2B90F.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.h.4898CCB07ED2B90F.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_crc.h.54371AFD668BFB20.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.h.54371AFD668BFB20.idx new file mode 100644 index 0000000000000000000000000000000000000000..128b45cd1a72323ba2299b9c9c5645bfcfc8b2be GIT binary patch literal 3592 zcmcImZERCj7(N%bc5QE0M#lzQmAelH`|R4@!6*hC?LNA0{hr%|q$%w!yHeWOkHJ7B z86-F`Xo3=B{D_E30wKnrSpX9geu>7IAbx>jG(z-`Xhgvu=zGq+=eC1v{=u8=?K$sx z&U4=Tp7(j%fUBnml_KPbxpr(5vXLT$P#OGZvT5o23^86=cewy)AVsaM6%KBXvJA@F%A-Fu@(B!z_gs`OP z$nF-dewS4N0QoEg%q578KxmK(hB_n=UjQm(l2G6wr*#mN&pR-x(BR3)?nXp{?a3vh zSuvH2B!byUHkaW%!gf3oC}7C4DjedPVv%e_4u8mI1y4rYna2>%y_oH(bS$F~5fJ7H zi^bZG@{n~{AlOp!=mFRB8i;93CY|x zE+)jqq%ilE`Pt^)H|L7>-Ud)0ZbS-V&?$Y+Ql{c6xNFImO2)-4xwJrLPN-TjNrtpi zXz3I<@8&2h5&{bdnOq_p4hWGLnFn#*&z=pZ#jJE@FcrtpjF3f+F>yRhULxSIteQ2o zS!Yc<5jhk<OMeh^0n2aWJF(J?1Huirp zleovwL`saI%;dJsn;t+&#WSz8{-)n&K+6&09gL%d7^HzOFjG6jGrHRypI2QySgu2r z0BB~K%Zb4N2L5=48?Zlh^46cH45$SFHAOXgVhBS8W~iIF{ma9H=l2*;8vq)M8cT^G zfJzK#E!%N&^3LAV22>A#4a|lTV)8NA_g~AI+;>*%P!#}djBPP77_flEu+HE5#-8TO zf&n!EpsT2>l$boj`mWa6qpW5hi|P=v9%NJp86)r4`>T+~s6)*-3dgICrs?a)Lk83c z9BYc!loCTYsxhE%XKB?@_WC&;ss_MXW^DyA7yyX`z{uIm*0b!j&sfC4AU_)%Wf9c0ANBjQO^7HzG|c~sHL~qy>Pm#B zQ7s%XrWz~fy?QUiu&_jm;c(ge=N1^xd|^PXz);K7YKS2Wq#{nf{KUsI(^IStRRExl zsWTFT0p%o<=l&R|y*l#JZWb+uBdUt4SiYC-H6l%^N_vZr4l@(znN6SQkO>%^jI)dw z%mBZ|Ad{coSo8gB{Y*cLmIA|2@sNQZWCtsdrc5I-eDma6KL>T!_Oj?90Jv3dBR`-Y zkS>d)`sP0`Odb2M>@bU#0idh6%gDP~HvkrCC5FF!sO?PZmV z=e;IxO~I_u+m@gC)IL@zQ{LC;Ys=64YClV3g~(U+#rB3#-1 z-3QZK7?XM>+@sIrtD)(mH4kW_Vi`>}4BS}2vKOU=L1c)=$X`0YF?FSL>m*}C IHi|;%U%usoG5`Po literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.6F3C2762F3404E61.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.h.6F3C2762F3404E61.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.6F3C2762F3404E61.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.h.6F3C2762F3404E61.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.8CE56EE2E7D67F89.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.h.8CE56EE2E7D67F89.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.8CE56EE2E7D67F89.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.h.8CE56EE2E7D67F89.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.AAFC1B79F9754826.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.h.AAFC1B79F9754826.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.AAFC1B79F9754826.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.h.AAFC1B79F9754826.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.AD536C0360F3C11E.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.h.AD536C0360F3C11E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.AD536C0360F3C11E.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.h.AD536C0360F3C11E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.B0B52DFFB4DCFD8F.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.h.B0B52DFFB4DCFD8F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.B0B52DFFB4DCFD8F.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.h.B0B52DFFB4DCFD8F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.BBF73A345F2968C1.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.h.BBF73A345F2968C1.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.BBF73A345F2968C1.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.h.BBF73A345F2968C1.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.BDFBBDD017A6BAB8.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.h.BDFBBDD017A6BAB8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.BDFBBDD017A6BAB8.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.h.BDFBBDD017A6BAB8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.C0B8475796D4B15C.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.h.C0B8475796D4B15C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.C0B8475796D4B15C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.h.C0B8475796D4B15C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.F07D15D57641211E.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.h.F07D15D57641211E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.F07D15D57641211E.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.h.F07D15D57641211E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.FE481D412031CF25.idx b/Source/.cache/.cache/clangd/index/apt32f102_crc.h.FE481D412031CF25.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_crc.h.FE481D412031CF25.idx rename to Source/.cache/.cache/clangd/index/apt32f102_crc.h.FE481D412031CF25.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.04C74FAE7DDA7193.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.c.04C74FAE7DDA7193.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.04C74FAE7DDA7193.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.c.04C74FAE7DDA7193.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.04E07A7549F73AC6.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.c.04E07A7549F73AC6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.04E07A7549F73AC6.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.c.04E07A7549F73AC6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.08B6451FD95F8F5D.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.c.08B6451FD95F8F5D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.08B6451FD95F8F5D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.c.08B6451FD95F8F5D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.261458C8516838C1.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.c.261458C8516838C1.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.261458C8516838C1.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.c.261458C8516838C1.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.2767EC31EE84A8C3.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.c.2767EC31EE84A8C3.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.2767EC31EE84A8C3.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.c.2767EC31EE84A8C3.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.3F315922DC3D0D35.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.c.3F315922DC3D0D35.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.3F315922DC3D0D35.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.c.3F315922DC3D0D35.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.6E1D4D1DB370CBF7.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.c.6E1D4D1DB370CBF7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.6E1D4D1DB370CBF7.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.c.6E1D4D1DB370CBF7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.878EF50B4C364324.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.c.878EF50B4C364324.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.878EF50B4C364324.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.c.878EF50B4C364324.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.A184954A0D1BF710.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.c.A184954A0D1BF710.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.A184954A0D1BF710.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.c.A184954A0D1BF710.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_ept.c.B7BEDCB3EE380B9C.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.c.B7BEDCB3EE380B9C.idx new file mode 100644 index 0000000000000000000000000000000000000000..8d971d9338df9eb29e429b8dc68756dcd5e268dd GIT binary patch literal 22484 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 Ydi(c$xz8&BsW0{I7dR=X$3)Hl0d3e~ZU6uP literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.DC7C24184C78A8CB.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.c.DC7C24184C78A8CB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.c.DC7C24184C78A8CB.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.c.DC7C24184C78A8CB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.059C2645C5CD800D.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.h.059C2645C5CD800D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.059C2645C5CD800D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.h.059C2645C5CD800D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.1519F1543E9F77A1.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.h.1519F1543E9F77A1.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.1519F1543E9F77A1.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.h.1519F1543E9F77A1.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.151A4D3111082E9C.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.h.151A4D3111082E9C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.151A4D3111082E9C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.h.151A4D3111082E9C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.3928549E97DA69F4.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.h.3928549E97DA69F4.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.3928549E97DA69F4.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.h.3928549E97DA69F4.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_ept.h.3EEE3DB609853F00.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.h.3EEE3DB609853F00.idx new file mode 100644 index 0000000000000000000000000000000000000000..c8711a3dbbf0b59d7799f411a9753e5e11003222 GIT binary patch literal 52152 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.400BC88BD1F4C43C.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.h.400BC88BD1F4C43C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.400BC88BD1F4C43C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.h.400BC88BD1F4C43C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.4743D450E49A7D42.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.h.4743D450E49A7D42.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.4743D450E49A7D42.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.h.4743D450E49A7D42.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.5C90655D046F1363.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.h.5C90655D046F1363.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.5C90655D046F1363.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.h.5C90655D046F1363.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.5F183C0FA0C34E6E.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.h.5F183C0FA0C34E6E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.5F183C0FA0C34E6E.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.h.5F183C0FA0C34E6E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.6D4C97E28F9FCAF1.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.h.6D4C97E28F9FCAF1.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.6D4C97E28F9FCAF1.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.h.6D4C97E28F9FCAF1.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.A172D1A04C5C0307.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.h.A172D1A04C5C0307.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.A172D1A04C5C0307.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.h.A172D1A04C5C0307.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.C3A95433FA52B0E4.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.h.C3A95433FA52B0E4.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ept.h.C3A95433FA52B0E4.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ept.h.C3A95433FA52B0E4.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_ept.h.C5864E83FBABE96A.idx b/Source/.cache/.cache/clangd/index/apt32f102_ept.h.C5864E83FBABE96A.idx new file mode 100644 index 0000000000000000000000000000000000000000..0ec9e49d56b9f5b7a1a02164205ce1e1f1557745 GIT binary patch literal 52152 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.c.5F7B8F0D50FE146D.idx b/Source/.cache/.cache/clangd/index/apt32f102_et.c.5F7B8F0D50FE146D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.c.5F7B8F0D50FE146D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_et.c.5F7B8F0D50FE146D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.c.5FF0286CDD88195C.idx b/Source/.cache/.cache/clangd/index/apt32f102_et.c.5FF0286CDD88195C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.c.5FF0286CDD88195C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_et.c.5FF0286CDD88195C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.c.6C0745B883ADC7CE.idx b/Source/.cache/.cache/clangd/index/apt32f102_et.c.6C0745B883ADC7CE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.c.6C0745B883ADC7CE.idx rename to Source/.cache/.cache/clangd/index/apt32f102_et.c.6C0745B883ADC7CE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.c.6E35FDB7BB1D888B.idx b/Source/.cache/.cache/clangd/index/apt32f102_et.c.6E35FDB7BB1D888B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.c.6E35FDB7BB1D888B.idx rename to Source/.cache/.cache/clangd/index/apt32f102_et.c.6E35FDB7BB1D888B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.c.7054E1EEF3069F43.idx b/Source/.cache/.cache/clangd/index/apt32f102_et.c.7054E1EEF3069F43.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.c.7054E1EEF3069F43.idx rename to Source/.cache/.cache/clangd/index/apt32f102_et.c.7054E1EEF3069F43.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.c.7D50B863FC17306B.idx b/Source/.cache/.cache/clangd/index/apt32f102_et.c.7D50B863FC17306B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.c.7D50B863FC17306B.idx rename to Source/.cache/.cache/clangd/index/apt32f102_et.c.7D50B863FC17306B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.c.986A00FB0A783EB6.idx b/Source/.cache/.cache/clangd/index/apt32f102_et.c.986A00FB0A783EB6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.c.986A00FB0A783EB6.idx rename to Source/.cache/.cache/clangd/index/apt32f102_et.c.986A00FB0A783EB6.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_et.c.A0078BD4CAA672BF.idx b/Source/.cache/.cache/clangd/index/apt32f102_et.c.A0078BD4CAA672BF.idx new file mode 100644 index 0000000000000000000000000000000000000000..7f2f2ccb9e26891356667d1fe5547691020ac116 GIT binary patch literal 5694 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 b-QuYf`D>VE;f|U~BijF!PG^x>$Rgz5_3u2w literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.h.7DA93E1250DF4083.idx b/Source/.cache/.cache/clangd/index/apt32f102_et.h.7DA93E1250DF4083.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.h.7DA93E1250DF4083.idx rename to Source/.cache/.cache/clangd/index/apt32f102_et.h.7DA93E1250DF4083.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.h.837CC59A1E5E8085.idx b/Source/.cache/.cache/clangd/index/apt32f102_et.h.837CC59A1E5E8085.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.h.837CC59A1E5E8085.idx rename to Source/.cache/.cache/clangd/index/apt32f102_et.h.837CC59A1E5E8085.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.h.989C4B94E954F073.idx b/Source/.cache/.cache/clangd/index/apt32f102_et.h.989C4B94E954F073.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.h.989C4B94E954F073.idx rename to Source/.cache/.cache/clangd/index/apt32f102_et.h.989C4B94E954F073.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.h.BDDF1E863F354468.idx b/Source/.cache/.cache/clangd/index/apt32f102_et.h.BDDF1E863F354468.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.h.BDDF1E863F354468.idx rename to Source/.cache/.cache/clangd/index/apt32f102_et.h.BDDF1E863F354468.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.h.C977F38055B2116C.idx b/Source/.cache/.cache/clangd/index/apt32f102_et.h.C977F38055B2116C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.h.C977F38055B2116C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_et.h.C977F38055B2116C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.h.CC5C4A39C9FFF067.idx b/Source/.cache/.cache/clangd/index/apt32f102_et.h.CC5C4A39C9FFF067.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.h.CC5C4A39C9FFF067.idx rename to Source/.cache/.cache/clangd/index/apt32f102_et.h.CC5C4A39C9FFF067.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_et.h.CD213B08AA38776E.idx b/Source/.cache/.cache/clangd/index/apt32f102_et.h.CD213B08AA38776E.idx new file mode 100644 index 0000000000000000000000000000000000000000..85b1cc0f3cb580772f8b99c4c4f1021a5327ec7c GIT binary patch literal 5624 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.h.CD27327656D56D32.idx b/Source/.cache/.cache/clangd/index/apt32f102_et.h.CD27327656D56D32.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.h.CD27327656D56D32.idx rename to Source/.cache/.cache/clangd/index/apt32f102_et.h.CD27327656D56D32.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.h.DF03E5CA7568E997.idx b/Source/.cache/.cache/clangd/index/apt32f102_et.h.DF03E5CA7568E997.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_et.h.DF03E5CA7568E997.idx rename to Source/.cache/.cache/clangd/index/apt32f102_et.h.DF03E5CA7568E997.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.1394B84D4B398E73.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.1394B84D4B398E73.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.1394B84D4B398E73.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.c.1394B84D4B398E73.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.16AC42A458740B47.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.16AC42A458740B47.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.16AC42A458740B47.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.c.16AC42A458740B47.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.254A0A3856B8B882.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.254A0A3856B8B882.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.254A0A3856B8B882.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.c.254A0A3856B8B882.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.3F5F9279BD04E650.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.3F5F9279BD04E650.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.3F5F9279BD04E650.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.c.3F5F9279BD04E650.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.5193409DB64885EB.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.5193409DB64885EB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.5193409DB64885EB.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.c.5193409DB64885EB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.64F5F976E6180DFF.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.64F5F976E6180DFF.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.64F5F976E6180DFF.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.c.64F5F976E6180DFF.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.6654EC924169EB1A.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.6654EC924169EB1A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.6654EC924169EB1A.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.c.6654EC924169EB1A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.684E83FB56F078E1.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.684E83FB56F078E1.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.684E83FB56F078E1.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.c.684E83FB56F078E1.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.6CF9F8975901F4AD.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.6CF9F8975901F4AD.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.6CF9F8975901F4AD.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.c.6CF9F8975901F4AD.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.A867193997E72666.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.A867193997E72666.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.A867193997E72666.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.c.A867193997E72666.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.C8069020D3D946D0.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.C8069020D3D946D0.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.C8069020D3D946D0.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.c.C8069020D3D946D0.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.C92BB3A47F68AD22.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.C92BB3A47F68AD22.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.C92BB3A47F68AD22.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.c.C92BB3A47F68AD22.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.E32584C348EDF90D.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.E32584C348EDF90D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.E32584C348EDF90D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.c.E32584C348EDF90D.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.EDF44C710DEC1774.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.EDF44C710DEC1774.idx new file mode 100644 index 0000000000000000000000000000000000000000..a19125eefe02789aa0587008fcdf4f46446f2ea8 GIT binary patch literal 9764 zcmcIq3sjUxmj0`%J4s_<)6mc;ukPm64fKQNA&_KZ0;rvC)Cd}x^hpPy)lLxDZt#(u zOb``yCPsOpHHRIkQQ|os-urNmLRi$qpDWjI$vVjd7Wb2{Yl0ZUAws`Khj} zV-jbQ>0`tH)pzUGty{Nl-M?^|bHRed3`r`jb8cMcYpzj9lB8kZU~|B~lCp=;$CUO+ zZb@n7Qt!g0&L!R|eOBoA#z%AXX^%KcrrXL_I=xk!ntWxx)%wu0bIGIT8|YTiSmz7( zW2!5bl$B4b%`0hX2>RDF`0DijhGzZxn)(~kw`x5S}V~{>#*@@;5g%2L0DgXWBf*-GG0tHjnlBiw&3=+_`w^@~Y{T z@>Z5tm6ukPmxbqbJ#Hl*=o4rXz;)VVm^c?NC_4bT4l zS@`DYzrvue5x!o$=IFz&oe9;iQSfI0dZWF=V}QwDf1K+{&dl|i5WJE8EKqJxEJuI6 z)#pj!dfdtz)EtU@;3p9DOu<(#;#UXMwaVlTE&}3uVPuvp7Rgdpx@7SJ=R$93rK{Ro zQL+4XyJT@%*|)63R@2mED=l-`LY%EO=ns9pwT%Iv{80Ch?VIHM4YlCjG%p!Din&$C|Lr&U}H<5)@P~n2W~Gb@v!-M811R8uW4B0$<4Rgt$9*uiD!eqA?-d)Qc>+TcT* zEWY~HHLLvV9TuiXT3F(_w=wWgWm8S9&s$x6ufvnCFKh8X==XW5N*$i6TyIsW_xp>y zE9|*mhuu+-o9ig@R8HIaZTfnwwKcVCeV%nSwSh+K+Ha+5!M!0*)igEdIacS|9o{uf z{zmJ!nwjUiDjTIxl;3IhP9M4r{^n_X*EQH%=5un+TNa9-%I1KtVNLT|Z<(`ly2~}q z<%{LkkXruiY*^aTyriX>{q&akgEgz_eX@|y9eQ%`#%4L0SNde5Llm%-1 z4Z;S|#K&CPQeVHwzhh~3OzXV?KdUc7_Q)D!%*K^!OPuVxUaFI~ z2}=XZd`*p>=ElZ)maalk{?K{{3vw3t{!nDB&$H&*t&U>Pva93Y!?)#krN~p8o$V>K z=2`9EnQcO)XH`w@LmO%Wb$<)pSLKCoKLE>e;hgtZI5)Itp&WOWRkCBh&6?eSTFYwx zMqiz@+F$Q0vDs`3OKevsM_Ycn!!D;s8%vM2>!wGWoE~k{NratL*W{(|M)^$aUaNks zbX7?rt#9<#Nx@C)R#gy5BIX~RKu;9JP$^fET%AbSiIUuJAo>PMlT>Pjw73+x(JgyE zxAkXybQ_hdOsE4ZJ8*(~2+<*AlvJ9VWueF;gTMOSJ?|kZ&0|7mk@75xa}Odqh?0bm z`SJd|`1aHyDituH9;EC+G45VOd(m7;6^Ug{^X9!Xmh;>f%%&11G=P)?OcPW59@JEv z^8JD%_uth)r9387t}Iu(Uq|$H6ep=>6IoBmPwd)kygQ0Y`AlR#R_@1f?mk5OLV98& zWTE9_%kMNl`ukog*_hBStlWj?y5C3iePj@3KX`V=t(H_{?xz!;n;#6BR=v6myA6IZWtrqI{fr=^aGhfto)3?0@$6y!HMCD&59}hRH3%%u8<~^_$R3pM7%i zH(#E}c2ntgCe%xmy+q?af#?YoFASFgzSY6;Sh1^6#LSioy~T$BeD(qudI!y=Y5YZeWvEit2y+|}KlGt$E zx=s@9NfOUzp*m3f^4)zs4i$A-sTHWPQ5!%hLcVrgTSXy z#3?j8ynS7#P|_)65co8TIE`k9H-YOkN<5A99PTWaZ*1vavW>@{EbfsetZ*i=_E>=MEN{q;{Wb-=d6N9Sh{faB2BOG zb>`^P|M&Cx_jNGh7}6XQ1a|>5P0m@|G~2SvyB;g<&YVSE4wWNPn3hNLfFqBil;hBm z=TO8sG@DPDy3V1*b4V}n2#Od%v%@>nHG&dHkY3;^M5j;`pAU6Sq2wuK6u1r3HVpVS zoZN=Pe8G~Sh;a*y$qV$+nfE}te(wu}g6THeh2v1U2Da>Dsi%RlZ{ zI2KHgpxcklT=MQqx}WL)>zs-a<;LNLlKB=Ite3}m&S3nB@>P0EN(2Y-$ z$R~-0=gWJ(RJ`t}dT@%Zg`L_#w_KVF&@q&93@W*VW?e#R;k!#H=@K#sJb`9SKz;%x zO+bD(j@XT7hmR50Zk)Iq>jmz@5nXsT-}uzkg%i85o?|Y@TqvJC+=VOj4<~+*{nLMD zo+^$g4hQ`MRiFRrO5o$AY%k1rrAwylmIC&VS3Va4fo`L)soODJ^ zmAXc7PgCs?qDu;>oFi8#{;w&<>M@TXc6_!p(bT3Kdrwm&;GG~~iawkz% zg3K8usk|(CV*bl}UU{N&lI?nv$^?9CR+#}hL1Io2olrVPqQ^)aSHg{DaVM8bJnp#F zjF8KtFrk0oe@9ogsWEjKsS#v`RGJz_PcQq$@`vw{D&|mE3Qf_7eP*BrfGRW>ep+L2k{7f|#INGHPM1(f;%43{>dYa@x_^2pUjOl`y> z@D`%m0{Jb(v<328N&HrlB;>ae^HyRNcpHh|2KjBoybbd0B)%Q;?Zn&;`RycrJLI<$ z^LEJZAkjOBPK>vMr0yUlfp?PVosi#2Qg;ge>4Pz&zdKm+S`;e-6os?IlFUQ%ZV{*m z6#-O?iUI1!q#s9!Owy0F{WwA3K}-fAKZv!1kRQg1VLVI7598QjoG9=atT+StGgx~D z_8-BD5y+2V?Fi&AV8sQv=F4?Xb7^A>I9&sp9+jx@(bG4vmIe7yd(|2+Hm@zkYP z=p%&Z4GIH5sftv9(iQ0dWhycOG9&ZNLQ6Kv2FQXe0NE5a&@We!3s9aS51;}?0YH0* zdJl;WzYVzd5d9vKA#ev#cR;>_=sO_aNz|Q??9=6wRV7V zwYdN}G!CF8Pn!q0d~H5J1=<3D3gZgd-&*AlE1+WLr3zFOQxr!01ZEzW-*vfIkLQK= zC!hPbH&}6S5yxJ{=^}YOPGTP?>0(Xyk<@)8j~`D*Q-)lTlON^eP*<`d8H8qvA_X9$ z!U#~BA`PGnMFv17WC9x_3uOV6gK_|}Dy*QNU10~vfgC_GUy%>EajYK4v0{SbSU-+4 z1fIa^3CK@i{RHGEv3e5nlUP3q`O8>+8SL*`72m`1@c$0{tDz< ziMo{l`&)^=l>qxU6ZK}uZzlT9kZ&XEHpsUTeH-Mr5cL+wZz1|Ekl#w8wvssEudT$e zm1GLMjYMsO{5E3P2Kjap)eiY~VrYl_b`rH6^4p1FJLGqeh#e$KjJJa%>>vh#can&m zkl#rXb_%`^?|!uUx&Ft}S-{d{Q1a-h9w4X22@0V4nEH58&eW&XgW{$sx(Sp%O=(Sl zJAk4Oz{2MMN<9DzpK+`k$Dr^T$EI-%3ZDtAn}GZTHcdc&66+=*KZ#9~kiU#|mmz-{ zn=V6s3hSmIKZQ+GkiUX;S0H}{o322HrKh_Kr8j;Q{Fv3@IjWr5T#C9ZDoYrBSg88%SL(9dk;`_Xc&$SVOgmH&d5K;h7~+C$e`Uc1bROLT`OpeTZGZb3A~|1Bl)I zay*1`h7h~u=J+f!pN0H+lyx5VA48Tg#IC%#{4Q+Sg#qrs)(*_>-#Nb@=kLethM41n zB=aC)H~kzRCK-nbyVB+O2+25dH7-0t*tICikyxX|QST<*F ULVRLUvcaTF(Whml$C;)72arK*aR2}S literal 0 HcmV?d00001 diff --git a/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.F9F69CED76A65930.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.c.F9F69CED76A65930.idx new file mode 100644 index 0000000000000000000000000000000000000000..2ae4ace32a5b090bc86c22709110214f201e689c GIT binary patch literal 9764 zcmcIq4S3T3WcbuMb9LsU;v!^b%4=Q_Afhw!sw%B5qJ?jc0*LBhE+GpWxOSwt^oy-f1 z%C2r6(*A$*d*_{Z-g)Pp_djK+bN>9q3`r`fb#7SeYpPaAlB8kZU{k=qg0hFu$CUP1 zZgEM)67PZ~&c)tJeOBoAhR1XCX^%OIr`pO^IK7n{8-1m|Rr=7gbMfQmo9I^FQ0oi# zW2(y+mzGVb%`0xM5BgWv`)c+6`X>Fl>bjfKw{l~X&=&%KrLyqgHEXH^`X&DQMa^r! z$$%U73Ardwc2TK65S}V~{>#*@^fxs&1pU`fXUaUr-GqOxHIMcAiw&3_+_`AUvdXEI z@>Y~pmX%bNm4@eaBW?vB=o4rXz;#JMQkc^YmA4bT4l zS@`DYzrvue5x!Bp=IFz&oetHnQSfI0db7R5V}Qxuc$^zaPS5qa5WJcGEKqJzEJuH% z)#pj!M%;><)EtU@;3p9DOu<(#;#UXM^~&T8E&}34VPuvp7RgdtvUt&a=K^m@g{#V2 zUcT&3yJT@%*|)UVR^8ZWD=Br^LY%E8=ns9pH4Oou{80Od?VIHM^)+?PwZ5;Ds}1CjG&U!6x5Y$x`1C zY^tsEubk44~b6A)jX+g2){)WIK6^+$3K5tdk{SHsQzO>o@u;1sYEOB@$bG?-%-tRB; zF1I_p4!fh!p6hUUDyD4xHhn$Tn(CT0KF`|fnm~hf&9_oD|NfAtsvDc~9IJAfnX4Q9 z4c2cpGtUiGHb|i;zuWGeI&|y(O;h-u>#(=f=j5EXG!#JZUc`QfI|fm+P9# z7Rjw4wfxyxzofZoadQ*<=`HmKt5??fWFetD^yJ`;O>#1?@X1EWM~0AH+~}(>4OIK< zg$<&KkGZ6|u5O`!^%{4>dLhOey+T>2DI_CWminq|z0BIi=IP<58Y-Hqo0@~Ng-d;G zCk3bHz^wExudZvJhLx3WZ^`0{a&H9-=F*82l~R$qkdku}JejVsj@JK1-gR4Z>2 zmIjvk8XG)K4GncHU4^3jk#!Chj8={}#Hh$qV0p0G8##Iq$DJ=&&{2s^2+%S+#l^6A*UUi}*B znvz6X*Wj;}f*aSaEGLpg%s)Dbo+^l;Qm!PqI*_shCAr@~^bM3IsniN-Q3-OR+jf6$ z>&y7)4k}rhP&-z(;{^90qJzjNsWi9BLXn3De)YTi-a}NH!-UQu4}Yy zg_eyjyW9Nu?|Z0ZV?sNzawnecejm~IkwKXK@VVt5ZViqmQ|Wt5=rBOs+sO%h#o_+k}66mi!_WKz3@rg;)PV2%R~l|auCgO z_aoYm^kT4G&wkc&@NjPqw=wv;y+^22 z$b>E+RkEf}HYvaS*XPRWsdN_;8b!)cG~4|eqOXP4E&4WD=+n%; zC*D37bD2sxOz26Xe3E(T9Yo)Onm+yPfA)31_5MXF-NA&0$ZbQ+OK&3eo6t+2eRAnH zU!Kf%Q|V47)I*d#MB_e*=t&eW43`4FRl%`Xv8zzT^p*;}#fLt8Cow|aMshPF4s@)4 zOqu)?qOM~|!-9tI6x9ON2hTq|<9tO$X>8(HtbP;izyOA(|s3HXOIE zQ$%};#PeCG_7}Z!Z*R9lMO{{E1!`>62GB8-atx(%OQ`DuRAIqo@8rbr*_aSm*xU=9HktGN-m=rmyufd?lMZcj0^&gqZ#9nA4f^! zkl%$PcHx=fW5l%!C+@;}fjei63PD^q-lh ziXw`_LH|(Y=fAod_;?B13v(jos71gHU^)Qz!T?Sh5PM98VMo}f7 z-|Ea~(C`<-wT$=^O867X;{;C~%rN=9|fu< zMrgr?7F@(fcw+wtBN@NByo)8Fxe;^0REBWm5RT>{LtR5Sc?hQpd=^KZh5T8ZbXH82 zx`uJ&Fyx1E(lF#N;>e4Tzlf7A3VxgOhm(VWH=ko3&QfK8EuF2(2Iwq_K1<^G+3~|l z$0|?Nhp)u2xQ;5D&EuN7s?=4pxW_0v43ayLDO_{0WTNdx$vnGIcCg0xBBMyC{Ycjj z6X+nCJ&4k{t0~Kqx^u`N^2P-ee*qaqo)|?5qbQv_oU#y0*oo75%u#j*CAQ-X9*dL} z8=Ac&fo~|v>WbI{Bt@JmhlutNNe&<4EHbo*Niq)=mQG1@4@u;w3|l!eYlx(BCs9^{ z%o-u7yexTY-YdIbeX3%D?Rt~S1bk~&nE^UUVonmBP&!JYM@bx4!i{BdCznb*?zq*A zkjtYmp?~OqM^?0|F?AWK5oCr`ni@vWF8#%_NAHu$XHi!QP0@&bW}pUu$~EP2VzFD1 zrWM7B13msX-{C5hqk$kj?rt;8bm zW}@2+`OU<%8S-05{1%cV7Gf26D~aC<`K`pf74mH)z76ti#M}n?Z6tmh5q&Vbvg^F_(*vwV%%B|p7H#IwS>8T@G$%wc^dEP9yzaICJooqU)TLMG zBZTJ-3Ijl?id2Bo73lzFDl!2wBlE37OE$^|$bu{Y*%UU=FISNZP@W0 zH;E0u4Y+m_{ce&Wa63`AL%yBp+acdU)E$uTAo>o-cM^3cDqLFGPD^0Wok14GHFZ(F}hh}1}ICD1yHso8z8IJ3bfd?Hh}C}J3zVG zT!0)J2hftI%>!J%HXon@Z2>@qafR$}t@4KzP%(2-1)3W(H;niR%sei?>vFMf&r9!5 zyzp;tu;Snnj=hA_Me=%*#6C&V#hUIVse4HtKc0@I47wsGKFZ0Vu4F|r2+b5l3P47M z5uh|h8bBF}41i3?1U5z%$^s|{P?W}MD&{=-%8Z2kZ&dWR>*HA>dlbfO!S)}zlB6?A#uWATZmx` z$rN}iiP{SJt;Dbu@@*ul4f1Wo&<6Q!Bx)Pvw-LiO$ZsbR+ewrdZ#zlYP7DI?AQ3wt zzk?*~5PUD*^?20_eNUvbfThWxi9g zU4i^0)=ffw5}PI=e--PlLjEc?U4?uL(Y3(Btc93bU}3h2=r%!q6ESUq{BEM#O%g?J z*-cEliACUcqHBkIJ2ACGzJusGAm2eu9gy!Nx=zS<5>qGSyNITXz3lMYG*=ffc9Beh z_Yln<$nPP>J%Z%b6m?ltmN5FTQ1#!h){^H~ z6;frdn#Y5S7coqwe2K`F^6+Mad~wJL{u0Cp`Ld7`d=`w5F9^fL^t~V>jLaQiY%juU3qi)o!GJy1Kf_S?U>!abABJr--p=^F~h5T`mA#V} zmEA4IdqD93|DRP7b#);{7yF|{*qUxMuNy5C_${J*i$n_i5m9_ZfczIk@rA(b&+gSB z**(MEF~5I#aRPEnZmva=YSz})h02XgLq@8x%(%cf-{>^nYg}k7oi#fl TJ~1iTVA7@N)3Vaz%+mh@AcAaD literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.1630B1C0BBC76705.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.1630B1C0BBC76705.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.1630B1C0BBC76705.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.h.1630B1C0BBC76705.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.1FD417B1802AB51F.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.1FD417B1802AB51F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.1FD417B1802AB51F.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.h.1FD417B1802AB51F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.2682F2B726A43ADB.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.2682F2B726A43ADB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.2682F2B726A43ADB.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.h.2682F2B726A43ADB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.346F9405C6161823.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.346F9405C6161823.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.346F9405C6161823.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.h.346F9405C6161823.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.51D864449E5AF2DB.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.51D864449E5AF2DB.idx new file mode 100644 index 0000000000000000000000000000000000000000..981c02e1c01a242cde68058b0077f340e6fa561f GIT binary patch literal 12404 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.5522266AE61689EE.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.5522266AE61689EE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.5522266AE61689EE.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.h.5522266AE61689EE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.57336E994A02D51B.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.57336E994A02D51B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.57336E994A02D51B.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.h.57336E994A02D51B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.5D1383EE67BDC5EE.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.5D1383EE67BDC5EE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.5D1383EE67BDC5EE.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.h.5D1383EE67BDC5EE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.63074C9EC97B1CD8.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.63074C9EC97B1CD8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.63074C9EC97B1CD8.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.h.63074C9EC97B1CD8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.9A508C95E23BB955.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.9A508C95E23BB955.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.9A508C95E23BB955.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.h.9A508C95E23BB955.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.A17DAF77E2BFFD29.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.A17DAF77E2BFFD29.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.A17DAF77E2BFFD29.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpio.h.A17DAF77E2BFFD29.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.A7DF8261F1407423.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpio.h.A7DF8261F1407423.idx new file mode 100644 index 0000000000000000000000000000000000000000..054b2d280c043992cb0937021948ad733c923563 GIT binary patch literal 12404 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.40207CFA78DC001C.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.40207CFA78DC001C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.40207CFA78DC001C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.c.40207CFA78DC001C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.461BC8F80A3BC364.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.461BC8F80A3BC364.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.461BC8F80A3BC364.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.c.461BC8F80A3BC364.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.4898C75CE612E413.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.4898C75CE612E413.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.4898C75CE612E413.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.c.4898C75CE612E413.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.51C801E079781780.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.51C801E079781780.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.51C801E079781780.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.c.51C801E079781780.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.51FD264C1DB85D26.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.51FD264C1DB85D26.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.51FD264C1DB85D26.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.c.51FD264C1DB85D26.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.6D2145833F82A38E.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.6D2145833F82A38E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.6D2145833F82A38E.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.c.6D2145833F82A38E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.6DA4D5ABE0281CCA.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.6DA4D5ABE0281CCA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.6DA4D5ABE0281CCA.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.c.6DA4D5ABE0281CCA.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.8988FB8477C71E66.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.8988FB8477C71E66.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.8988FB8477C71E66.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.c.8988FB8477C71E66.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.8D55E84210BB190D.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.8D55E84210BB190D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.8D55E84210BB190D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.c.8D55E84210BB190D.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.A1545F6F71FEA62F.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.A1545F6F71FEA62F.idx new file mode 100644 index 0000000000000000000000000000000000000000..1101a47b09d7502d6ce25485f3b0c764729a4e83 GIT binary patch literal 13608 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.AB05F52C8681C94B.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.AB05F52C8681C94B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.AB05F52C8681C94B.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.c.AB05F52C8681C94B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.C298A60803DD0A18.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.C298A60803DD0A18.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.C298A60803DD0A18.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.c.C298A60803DD0A18.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.EC51CF33E6AAB60F.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.EC51CF33E6AAB60F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.EC51CF33E6AAB60F.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.c.EC51CF33E6AAB60F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.EFAFCF49293FA372.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.EFAFCF49293FA372.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.c.EFAFCF49293FA372.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.c.EFAFCF49293FA372.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.12957A439AAA0F0C.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.12957A439AAA0F0C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.12957A439AAA0F0C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.h.12957A439AAA0F0C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.46D6D9A7602478F3.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.46D6D9A7602478F3.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.46D6D9A7602478F3.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.h.46D6D9A7602478F3.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.52492DB182D9D62D.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.52492DB182D9D62D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.52492DB182D9D62D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.h.52492DB182D9D62D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.649A1CF964A1D83A.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.649A1CF964A1D83A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.649A1CF964A1D83A.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.h.649A1CF964A1D83A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.6AA133156B7EA6D2.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.6AA133156B7EA6D2.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.6AA133156B7EA6D2.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.h.6AA133156B7EA6D2.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.79A4D95287062B98.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.79A4D95287062B98.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.79A4D95287062B98.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.h.79A4D95287062B98.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.7C0A0A7E5EE308E1.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.7C0A0A7E5EE308E1.idx new file mode 100644 index 0000000000000000000000000000000000000000..e129ca5b62e2aea73b0d06990d4989986293c52b GIT binary patch literal 33906 zcmcJ12Y6LQxAx3Fd&7YoIEsMMBmznigoG*%r(m_Bl1QZ1MXRTRl?{h-Pz5nz4KhM2qW#)ZnP1#e{p8bBtMb@p`exMLx zZ6ZJEl$6@a6hb_!{=a)_O7fD5>JRvrH}IX0Qj(L}1_p+NB}6uk2n-2~iVX=5jE)VD z$Qu~=Bp&)SJTxINGA1D~IwZb9V0=VE<*=x@z`*#VRDUmF(G8zk17h*@L&9U5RE~^} zjtGwoNyyR&MR{ri5X-rEy@m;aA#o8QanXS(N$rxmrzWNNHxCG*Q4Jzv8s|i46c?Y6 z10ELAFe*GECTB);`2UD^PwJS|IyI@ylT8e(S2rrh7Bq;@$$OM~La~kF!Xk1aMK=r! zgnouahiB7(=!W4rpfL$mB4Z*Gavp=2grNToNexsE0}aK zpAa41G>4Woj0=y-X<9an56cmcj|+>Bh{~aY_=J$Sgh0JU|7Y6!F@ZVGAoWPXawH_g z)r+l?bBh#3wYo|UjnRytoES}UOUcPelMuDFX20bC6hdS2v~3SKp*eFx0_(=YijIg0 z361jKHA9~cg@wTIJh9n_g=U+rYY6e%4s>23SUX=9Voz z)Q?_6dnZ?6j5)pJT5Jd#RnxCn_|uEo5EiSYpFXrcJ|VVYVw1R#hJI5Ihm_}CJse@* zfsJpXwkfAqnDiaT$ndBLH5Rr5NNZe=BJRmm99*ZdX?on$p6{S4p$qFl3WZ3;K{2Uu zJsM#Rd}m$*y(ntoK!w4+XcxtlF8MmaDgyC=RSMe_R0Ux?DQp;1e)AI-Nr+9*N$o!v z9bitVKOxl51+1g`O>KrwVjHvv+}dmyQ@R3L^svP_Fr+k0%e`4#tWHVDq7aHZ0MiagLB6YpGc-wWJ^D4v z_M?-Z_|8rpSUFo8rL_}1J9So&?S;~sqMr$c?ly(enxdZx#qNF-70YXi-bB^5jc+VA zhch%ucS+^p8;dUqGc<`d0@cQd##Oqew7~~Uy8&hfaVBjEn%TN@Dl+YT0m=tKE89L_Cxa@gD{DNZvtdigHk48=(2Gx;fpN&o4-FxPIAcY;f%K-GJRE3Y#?ezloTb32%b77x2tcj~y%#^Zz1F@-Jb>L0Ap8 zp6jq7dU#O39UbxG$u2O`HDntTX(-!pNJH62LK=G_2-4Zv#y=X$8v0OfHc<~FPXs&~ z$S%~OA<$us{giZ)CITj$^G+vu_NnoFGPa?1z#E(GQinB!WE0WQ^MPQ7{)9M&{)7<5 z{?o}-feYuVn1%j?XvO~1$yE^w=LUy!>$3|>XhdKQW*3p@9%$4V6iTZqV1i{Ahd78+ zN{1jm6=olOI8|mJcxXJkn1hig!ws%9+ekwf%Rb1^7{wFz)8+U=qfZMh)B~W{!6&M4 zGJOIHZXVv7JP}LiTCxozG{gae-9FCvgm8)#9Grs(2hTok(0KMC12tM7{ZB>ez5k@ zuNZv3hv50{lc5j%@}koJ<9~T`^rzNkU|`Qy9eX4NCUx%7DX>ja+vLtkPcM?Qx2KnT zDw5avfB|h$H!Hq(h9W#t1x*oQ>V7Uh0uzxjlz=T(1rXtp@q+%0h=IQnc@e5n&zeqD z`>0=DLXdw_-#+=}*+uXzDx#@6DAn@Q6wHc=jfwC{+SU5Lb@|}UBDf9s-t~mT&_q9n zp^3f@?M>2l7@Fuf#9K@rkwjXJc5#i;+m|k{v$8sXv|TH0cQnk2l%%2d-wV;FKCx{& z-d`}=_c8;?S?-`XPradq#l|E=#x#m;gikk75h1fn=hWoRJ(7HQvFZldH`%$hFRD&j z`~J*_g&y~rM@8(m4;V@rq17?^ml#ge3siw1#R+(X~(_JhCy3n{(5q3C_!lPQ#_B{n69Oic4zM#!2ZfC!7v_vVaQy zeF}so`WE0GO^UiwRju!Ooi{OD(}CSCsEtg6BOnj9w|w%owQAE zr?WbBjq1{>4P_}%=OQ7pv---M(xYoC+;{urGs`}n;P44gitL=6imdRYk9xFAjPBA# zJL4FJyTNJd1}A-ooB|npL2=rrh)>*ul}0pHaaNXY=+_p%hw1;2114<`zBdcR4};4FhmT2{AMOuglEG{*AGA|~ z?5hMEPz|Z26q4u{*}&=waUvU?_WlP`0d~EUe&cS;1LYRkLMP&BCgdEvs4iVrQ`}9*I8>Kq$I}0((Ij^GLM<+TLZnt4qnnnLlH5h@=+WwvUrKVS-h_3)Yag*X>A*gxZI+7;beZLP z!_I>!&u_4R2(jT4nLgK-y0pG%;FYOAX~6w_qxiTgvEJBss#((2vZSlq=`L+k)g0)a zq|XSYM@Zqnx^&eo__T9trD4l*BB}un0$qvvhTK?BOFKuk77O}h=)ln@Lq~)@89Fxi z$*7jqM|I9npB9`yZO;)DWhxgDjcsqJeer9f&hcp@XV{)N!)_yIWbqmwXSb0Vb{lnu z@9J0W^7~@MT~KpV?VK?ERTT7OraD%$W~ytBCz&b`&cft5rz*xe)L~+82AtP0!X8TG zG>ouEfztLM=rnCQTs}(&k;8BM%u#7OAklg140y7?l~WCiObk za>?=)UU3ks&Tz>LSD{QpTcmQot&hHYe&x}#rdMo7>hCW3J5aSn>OSgsuAWOqzt*$U zaj%$()O9Yo4yf89bv99RyPNO*bnDP@Ua=dg7hUoq^j%v&uer}nx_$AG>p_56hTU3Z z%0=e$nTEDNEu@DjPt1e%t0QYy^on-yfQA`zn4!9_ExJtB10OIiW`FKQxz#{jMvv=E zxef+OTV(!01Law}>662shUOha3wZlx~eA28*!cT4X7$SXD>HABh_ zpla(+U7z&9>^Z|;3J}TA(ou#S1ye~|V7hgW@^Ae0#NN=iwgiYZ*wBiy;xm~B`~vA2 zP4aF!Tk6LigVF=UWURNEtfmGMet}e4lb#8<-M;#bAM$&}N+dm!@)0ynTWs7m>c=w! ze&~8>a^)sokqC`DXUKC#ezwT`P!D5)Jk9bZcQbc*#US)q!K~oPG~gFmYiI}ylt{@} zHnii9UNH)3Bc&WERd2OL>KLlJP?@vuWjwRFZGhN`{axUa3tWn-El`7WcM2t}`e@~u zald%QA@rH)l9@2mv_+phe+zBBQ8Om;f;vy^eCpQP3%EfeJg8+7F7fef;g4X^Ss;#WzSC zW}3rH^~|+JpG&CvB0Yz1IJk1lc#pWDs?RWbTfK{A8flg%%_=4GM875O8h_#TR%G~# z1~>TrSm=)E1~O>LwPgIO*B# z>zApAJ_d;+Tylh~fa*3{^f{V*7X9|t54V5(Mh)gw9HC=|JZ7lD)E21|XnqtgEsE~` z{#Z+oIH0^{7zd#GhK2fY%tn_*Q&au zCBj-)&K;ZkyjP4v;w(eXg88m3R)30GT4HMJ-&_1_HuQ>f*wRZ7RaN!yiykMF z$H0(#gD(EN^Hq-+h);5tw023g4NkN?6Rj6Tp1L(`kAZg{&l$2LRc$Y`&|?`{Mm;0= z1&{H%-=%v0wkf3gkf8x$E0WSpnGTakTOhtb#77TBe8ZBS0MQL*Mi<#djX3-QC$Hv| ze&O=>)fcZ^>lNRlvqLWP5G-76u^+2x5MTb|r!i6W-aO|O!*CFr%jRkb;TLIxsk^TX zOqo7>P~WR+*FcX0U2>qyooQ%`)Pv;ll}+Dv95$wdI?Sdab*>@j8tQ=57ODIMU%C6Z zZPSD9m4Nkvf1HPRVrWpZh?Vv^KQEEW>z(b)a zLr1FK??$ilU2;B5c5RWmlc^yuMil<--EX|&Qy9#RQf`E8SX*TNLG_pKna6PLI2+{= zr~-Ag0WpvBg$9Vh=rvI$sxg9Jpats381zlexWz{fo%D)tk@TOG|G`Yt*01WI z1BEwCURWbKK>UVPHC!)GNCu-D==w2zY@D{K59X(E$ayp!~+M?HU zEo$a1cET$TW554&nSa6-s4X%%B&jue{jIyRcmAt_F|2&PDd(Gtsx4BNQ9EDH=vj8k zjIxmdqB&H*&n5T4V$>Fx&+BHsv1+?GQ~#VgZ}*_fc`i8*HUVwXC2v7*&U^cZ;N6p^ zsRfSI87?`)RXEeo7ODHF_P4im92D|T<2oL(R#7vIsnVJXXU=lVvmDNx`nBw_e`nN` zwJkrMRv|zvMXztlH&u_|7d#f$t$gQv`nVw((^S+y9!WC|ITLnjZLwaV!#1ETQh6H)%iCa8?qgl6dc;`u zfHI7=hPBoxl4;DgJhQDpktZ(H?o4>?h`T+LBUB(e4ylU_YZ2^2vnq^Vx~d zU8pq3EBfPPIxXdC=$5vA-Kuw>#mS)qTGR^=AHoc|Xvm8&k+lV;stYD^{bnUDpPI9A zeSkQKwGVd5!7x9y1!5H<&L3VU==oT+UA_+v_qya>m~z@;)y;Ll{BEv{t<}#z=kki_ z*vKDT@&|}lwM8bs?lmZ}_opw4AAZ3rP9XKROWuaAYl~D~9MQukr7x)*e$FH2sdi=< zdyQOsVL<0v`R3Bt|49QHn>aG$g*pY*lKT<8{w3vKu*YeOUisxLcE~sH$ApwnF~W50 z{VFL}Nj3AdMe0nN^s!^UTm9EF>-%}dTJ$=>kQ3nG*A}UK@W<|7`1|0W#Ym6%5!+hS zDysIx(UxblRoL&eiamce=3YzBEw8wU)z6c19_&ooqR&fIecY>O(to>mdbXPQSp7dP z`40@0wn*inir@ctfe|%hmwLrd=ykd&r^CCAwn*JhUK7^%ZeIUJ4` zZIQ~a3{4uBKQM6f%ne>~AE}3=c}S{tqAgN+Nj2#`cl3aTht_+=P^1o&av+SVwn*j6 zi6%F~y#G!(nkPVXhFSHKOa272Pg`KZOjXnLeL1vL-F}-2dPP&cU7mn5nW|&fEa+(Gg6*`0AE|6mekd^NdEML{NqnV zc|~{VP`Z@qQY{i~(d8$4Ikos??C7Ka6p8kT9jcufDkiix$`{m2rR7;_l@xj23$gd7 z!~(^OiDl263J|-nOUqqyIrLpya2l*D|M0uv?KhPgp!Sh%NStPx)8M4h7Hj7j^3k2E zG39pN=;jrRutU3~+y%p=EmG%E-&;T5B3JarSoO+u2)!oA1ohD27iquIoNL|o*WjKN zS`_e#-q7>5vaMQ0@QbVz-Rss1^9*frWR(gx&tSE$%2!ns0KdrMON2I`y!%GbN4=9g zVu_+<7=sLJ5bO%mEzk5Ukzu>CpPhZ?)FbH;>u?-TNb7_wnrTe7Jd>@LM4p(p?Qv`u zRN_*_)Z!1kq7St2t|9M2P@^r@|AlVl$5H=I@TAwj?GD47Eink70+d1#5pBl3(?E1X71fIUL?4wM8o53v}oZ;!1$620n@D3mOy4{_QHSf&0F)rTniY@qD(oC5K`+>ITb1OZYjt#yz^SAoA z6CfsH^-B%8)KJq>TcBEc26epFe(t>Xht%~+7Z{>WW+$~C;1}I>)5FtgQ1gD_sXwUQ zr9F^_8*;b-n+sYbQjpZ??x;)0+kSs0KzsqjdxpFRhn2QKtgLJ8vg6XS6TRoCoxLA6 z@02u8!5*Y7dgL|RtwZDX|Bgti<`v%|^|6$X;SkUksoQAYru2#J@_YLBSt=&R@mXlf zg=UFNLtCVB+|_;j!zq^|2A}ha3rL+W<$QQN+9H)V?9}0d4o!G1Jzs#BiPSYxu7QWH zEl|C>Q>kkUjH^-YmI{%sBXOH4x0&imY74{yn)um!57x!KJX>u;9buHVy3DQcI;kzz z-C2+OXLI^28(I8LVXycTJ#H}M2DrP>7MW-0f%hJ`b%;D8)MeeTNS)@A(;z_97O5P3 z^pR1;zAUt_L4X*B)Im}Xf?F1Cftp{pvroycL4)g^QSU5+kl0tszOemki#~b#@AFP_ zg`^4x-t&qn_>@+;%vI1QZIQ~c!WRYeExiAFC3V}~AHDW5`>4@`Uq6pu-ua{cz})5` zuegDxdwt}sJ8%g*Yt!!Np{U18XXldn%TKdS5%9|7rxA#cC~(iVwHdKwS! zxpCl|Q%3FeirZN2PDAblrnboBK_7nh{`L)?7u4iv0zOO2(s}hSviO>EMAM`3SIRg1 zz$0#|vB^;Jh&2$7fON}~4o5(PH|#xg9gakYXcrjfQt<;gj^<#VaK zx}CVF-W!n`Z^o;K1HVY)!*tBcx7T(0Z2G%iF&Jt6r0fT4OBUGi^er?yDt2y$%iov9DM$**F)v*>k(lrvzP(-x`x#yqZh(?+Wv-@2kANc6f# z$~~}%v_&ePZR0*Fx3xgr(h&jTJbK-2$lb6qv;}G|J&ndE)-Em|#0PlA=kPRD_?HQz zq%FFn^EYkZhV57Wy7Q}7e1#qdNI3v{uPrjU_vsauU0*%JJ3m0IM(PolJOb}8+5(kc znJ4_&ady|#J+}hHAK0NyQf`7psVxvI=vGeLpYPkfy{o8W^*9pmyX1WsPi?Vs9?vPa z1{~hBWOGxmXbl~@X~>(9+?*_n&h` z-2v=D>Lr)F1YOb=sXUcuRKHjAyFusM1&AfsfDxt~0egbBKrN_SI%CG8LirX({G{&r z(C3d*{s`|l+M-Xs+nn)m?(OqeJ7lOW38}{oc^qz4v_&dk`Oh?x0s|_)Gt?_qVfBYy z@~}${skTVvo8_7L2RtZSBK=^1*oIyQ8gd}SG};3772VR=;{&|G^IuW3{uB~#x#TVA zy|(C+AL#7AD$X2RVMAlD*r2IW-hxST3oTN4=bjTY@V$OBU%B8FGq9zrrCbeEZIQ~a zm~#$QKK9M_TSgFY75nD!es;0XLwjp4_xvAEM{$iT2A+V z#prHR3gn)zHi+{`ydvclh*`8npM1ox`04bY3-@@cs~LsVeunG^%S2nG@-kUf=ie=D z;?~_$=Qg%JxgDO8wn*itv^sy-xO3Kd0>dR>wc4>woXTTMlwn*hGxF6oi)%VyRQr%v!L$4DJ zIT0>Gv_&dkg#55*=f#Hq9aJwqkJ0N1X`X<1U0b9Mpdfs0+wqM$ygXT5Oix5=noFiZ zB&aP?`E$kEvF1Z-{WNt+dkLuvq+9^+*xCZMgns(#PG1}J)ts?EsPD1Z(km``1s1fn z=#%@u?ncR)cVh0V&tAjPXD``HRSv&Eqt99E^K|L-*2LL{IvS9)-jwShQr8xU>OXu3 zi*9{~(whg3_0&{vaY*c8_E38h{9>hihrKbb?ntrs-C|zxFVc=k^9T%&wn*jS**I@> zt2<$>TX@81)s+n6CnMKS5DR^6<@-9z_1C5{B@4DLcUyh1ZVPMU4@3R|hmE%Aln$Fs zl?LohOIaP`6*sZ^9}W29fj~?;<}~u{PtlSF{1*bwgf!+Qk;prQT5& zq*(bGmplWHQCnp4W8B)VPRQVrgH?og5r=7|v{pjcw%GD4hOjNRjvcmb9eCoI)*r4p z7a)2;_1~KETab@v3r_RtXSwa&55m6Mo~RC`3>>8$hTH+|)D~;!D0FB4{yT&7)_CL< zEx_f^F8MRGQ(I)xCDop5H$ScZcvp9i*r0r77;UUJYPOBFJY!)6*Q;qaa$k|2r2`M# z&EpZrk(g;%nXt_-v^)!~Vt#jt`*z>>YkINFSG{5gj#5k6Qr+IeFV@UE&99TLtvWTS z?q!b{k0Uh8ux5eBnU-f}7LUK)X_&OsbPWp-=dkB9rJM=tOk40;To2Ly_uu`XPNA_! zz2Y~l`mRgfh1sDkR?nOKZ@u1sxT}e!-a7t6pU0&<4jY}eNaZPisB(Cp_VHzxc*PIs zHQkWuu+M0VRNiL}MGndARkBA5uQ-Wb!)3Vg3BO3=uL6gfgn#^EzAl&4s~OT3m~sK^ z+u9mIrRC7k#Y!vXqx00@fC(d~h5#7k_m<;q=u2aTL8yGUO!KkhKM> zOAphLmM_lk(D6}*`m~Nd?@4(NUd^-xA_XEx`aXR0>4P@K)u(?=bjf>gyxl{KmGgKW zYZIRP{D^L8>d-`Ll#EjMWbli$xwN|;FJO(&x9!i?0pb&wnG>a)2*;qd!1U-Q9zU77 zXXBE4&w0g{z6v-{_@>gD(skwwAC)T z8YZu{Nad~Ve8B;mhOeupUbYq@b*Gd&Ve)E=R6eCIh{S=N%QZcs?%#rMAc;)y06u~hlYP}c<39f+i-TAry^ zA-~Pw!q&liTIB1bUbT|I=bwiB6Q-oL;8Qt(gX&`0(%0JU`ns!EOvW*vZOGZMxoL}) z^Ra*Na<4_xJs+!3YARCa7;+9o2-^BlFSn}lsA0&)_Fi!psmr8X2Crq>BK02KKV5D1 zYwmvKf4mqVmLoMnMyPheFVN`w;MH#)lv{A`zPh9uiG%rp{6L+O@Qc29YrEF$%&b47 zMkqzW&$?QdTm~V;GPFo#`PCn{Ha$CaMV)88VgORVkYA|w!7tMIrSV3G&B3<^oQ&{_ z^;q#;DeuC%(H5y3=HFO+=Er>Xd#XLK2aNaxDJQ^wp)E4$KL2LDt-ZFCo&CMqr?Kk( zQuc?z(bli}n{(5KtZFo(wpZ-L>d(96d6-1nB9$l6UlUHha`N&%Q{Ces^|VW#hO?F3CFLmSm9|Lb+vq#D=mHiKEB(GD!&=&NXDP<PjK6c!Yy>Oq$0aLedtgd|cf9v(V+*%U@8}sB_V4w2W3y3VwlBM$h+qEnlqCyn3Tn zUeOGm(l0Lg3%oUIi|*)z{@Z-?p#JBvbG)Jx5VyJHHkVo#+9HweTK_)K^8V>tJ=9)3 z7F#&dB}c*qs_P4n?XYtec3$0E7FlV$R!7Xc1c^LvUcg8e3ARkO_?w;K#al8 zjFxgVOgwFY`jYO@KLfj6$v-z>P=GjvKIa*79;|e2fmn=)ht{24{`@cM>O2#POQl>2 zhq<;`Ij_n4^WMre!5h%qEB;36K`9SP6-#J~R37w)b$)%j?l<{{d&MPe=K(_=fM`Nn zr1F=sN9Hu~IC)>s05J)vs|>jcUcY3y)Z)h#AI1X+4AmGR^W# zv(#&okJ{(IdA&Uzl}G9q7}r`ZX@O2G)|c zNabxlC8=%qPUV%xyYHa$lZHMMAk|&s0n>fJRJWY^AM3*b(b{kuAvri8OHc}KBc%QY z1U26Tu-w~F`6TfsL>=Tyt-z&LRsICXf^TqvGH-T43UA0KRW~6l=mvyD+=Q@x8xYcL z6T)(BKuDrZ2&=OJxroYa0z~c?%XF)9JMcCj|C#RpoS|ZwHgu1q*;Gh%Z@E=+xmBIz zBrMbhC#23MYMudoK5u%qaTh?&o9^?b`XZwL<$b$(gI@hJcL1{8bZ>VmW;Hh;q~NA9 zEZzo$1lxq<+uf*Y<6(~z0J&%H%#{p zAB2?OfRNgo>d8++Zx|F(cXQh^jc=@1zOicY1vG2Dfr<)mhd9;>9&3g0y9DdKfru(^ zUt;~SR&yq@<{O&z2=(5?6fE%uD8lu1JciO z_fspE{yo>D)XlW-K8yw=!*pku>Xg_23eNcQe*G<@!vWc8x_3H5$qI1j9I3vkjG9H0 ztfG^wiYx+V4LCR<-8WHL@(l>-ya{2AHz3E4Tq6)iyya*v6-e zVr?#?8avS{Ink=hs@)epTl8a(TAfaUlVhg)nA2kxa|1#GZt}v~ZJEbbY%@Y)Z772p zZO$ioHZ+JN*@UPDjk89`aZ10%pOaaljs4QHY$CHF8ykyiYyt$2Jv50#*95WN8mcCZ zwNv#(Yk-_+O^`eqtht5?W})7iD`1H=AeT^H%?K;1p=wf56T|{)D1)+T%IDgk1gWGM zA%QeB7G=?tuSRLCRdlRXo|n)|eZOoUJM*iK;QFBHKIrU6ET0A!B$;-cEVY^~wL0-` zUh1E94G*7Qu&jV`pKf(dw^HoyQ;_jVy7jqVMt_-Z4VFGx6Rcblth|01&rGli`ehWI zV7=&Lg6Rf&E856CyCt9IAia4daPP9^eGGzC1OnbpH5W2M!8rPZ0wic+LLhjB*HxiiY+ ztz6@+=XpA_1RWj~$Q z!Vkmh&JLHVZ}Y9U=UZW{Ph}N4l$nbPbh`|R&H*`!f^$a7RvX!3@8{D(0l90s?>ajq ztIq*R(~5H{#A0(m=A+P@y_F|zIUpNRSZ*VvC5M$j3Uc1t9ieUUmaZP3F#80|A?Ck=t7;3sqv5HNx zUggsfx1}=kt!g~@tjh-XsKzE2EX9U=l3x?T%4iWxgIrCY1Rj6R%f2!tdIukU{pu@P}8ka=~gv99qW@u8tNlqG;vuJ4G0OL31JO1 zAf$UHgeA`~N+fe8B&O)GD%(HkmkDM5Fx`JRM;B|K0U^CJm0_tfAgfU3On_izGa#g9 z<}&-WkQrJ)@?}OyxeR6Ip=z1Ey_Y}k*}S!mh5+)r>Hgi>5Lm(t2+5YIP+X4KpC5TV{kL%Ycwf znGsSb!{aAeG9hZFEVkZSY{l|AXOS{EA!RaAS(OY4;v$V6os zG9dd=f=qy5)iJm~gNkEDR2vsrZ!fYM^7|y~j=@PfijJAeu@*dR5*HKHV&?rmp{r{w zg)+k}_i&|Rr++Pvb|3!yh0U)4GR$%ha~36Qk)cVXKc+IONt3MVldO9D){yw}xAns2 z&Uh7^JTTo4oX!2iS0Ba{+m{=|kZY#8O!r6yZ7xWgp3kd0Y31LYuR6Gdfygn6=w_?UyiQGmO z^RBwZN-eUg^H$1ITcDD>)|c9J zk=4E7!+L>9pULc&)n#F|%lh@^8RL`|p3)~A!L zVUo8>mc4=(^=(#ZUb$x0xdKAkR)Sd83jU9vq?OAk|BJ02i>NpU1gQaBX1%=3dYxApD_Ow_saJ{0!c{;>tV#&$Q~@DvDkCIIg^Edv>QwxV zmHQj37%waqrh*d^qY{;MsEBCoDIqL71!Of!P6-gKGKJ+z%2I;n&o2M+W>1r|Q09W^ zzTiAkmYYIjNn%Q6)F`D{@1$Ar{JO+~Q*c5eQ=+oI6cEys62fv)aQ`1lNeK|jeY({s z-D=C*4+~1c35iIF%lc73NHa>vGV9eI1BZUQ1(2hr`>4~eWtGfg6<=@A9+1J7d$6;0 zu*4LaM6y!yrkb?WdTXiGkmm)9Ou@+&6qs`BSyKuK=|~A;2`L~X8)bwPqky1Jl=4|3 z3i%`pWrP%=@IXlgN(c);p$v&W31Ph_ATv5eY{ndgA^8M0+B?S z4t1qvt+YyVZR_9qZ*Pr_?*u|^J52WuXJcdWCLk!;Bp0mKgnUwHGD6}^cmO2GB!sn? zP=*AUjF9*e5E5Jx!dgo}NMA_^ODh36kGe_%1Zyb)Aps?qA@L+2B$y{qL6-SDoAN(!NQMf5miPaeT4d5`2-wlFIDcP_0ABl;FEi=3mqOuXD7p?h+7G zTT%%YT7oYUS29AnN*G?!QWAn|BKHcb2oEnSE5SLbDT(@9xoyu3T(>b1kn5)Vy3+}k zSOP+_N-D#ONAAziy@&5N+78Os~;hsB#(@c z-VqQIITFJ9MrbQ(8VONtU264OsscAY09fJ(UM`@%k*I<-jewAjksy{Z0)om#%4gLg zI~~90U@m2kS-Ed8fhUJAsHk*MAAMIqMDRu^-5FG zF~=<|g#`a3e9lp6ReGFNjgL9jLxOWuK@yP#kk}k8dL)GPj)0)bk@BzqT6cJ} zF5~cm?Jv{)m$R*1zq)Da^UZSMCi$!B{?+LKiz30-T@*x;Gr<~2KuGvV5Q`oGA)zB9 z6PunoSRiT^AVu6o)c*)i|6}bV|tDof2(#zM37LNkajmsG|Iv*-%59IH`O#!9oqO7m6L0jrF)W|6gKS-u)j8SBiV z>&$X2X;K+m%pzONvi#rBQW;y#qFc>!1}VXKvBHud1tzzBTahsx-081CuYNY&KRaW@ zvP?ioib-Wyg$W2LF9~7MB}`eAT2j7h&^YU@aaIgZSr%S`i(gQ6Nld{?OF&3oNf1jb z0UU6JKk8O30)^;rqlJwR>)+l5norZP7~%BX)}q+vP^JKQcOZvg$W2L oF9{JTNgZ3k-`!JMcUS*$F;Lwu9`|OY58ChQBkveO{U87PKO?-lIsgCw literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.7F330010F0E92DBB.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.7F330010F0E92DBB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.7F330010F0E92DBB.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.h.7F330010F0E92DBB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.7FDE0F197950F013.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.7FDE0F197950F013.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.7FDE0F197950F013.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.h.7FDE0F197950F013.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.84646F54CF75D4FC.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.84646F54CF75D4FC.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.84646F54CF75D4FC.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.h.84646F54CF75D4FC.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.9B2C52E570C5237F.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.9B2C52E570C5237F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.9B2C52E570C5237F.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.h.9B2C52E570C5237F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.9B5E448FCAAB32DF.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.9B5E448FCAAB32DF.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.9B5E448FCAAB32DF.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.h.9B5E448FCAAB32DF.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.A5B13A1F2886DCED.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.A5B13A1F2886DCED.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.A5B13A1F2886DCED.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.h.A5B13A1F2886DCED.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.CD8620CF7C01AE16.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.CD8620CF7C01AE16.idx new file mode 100644 index 0000000000000000000000000000000000000000..2c48d89244862b325046394438e31458a0755121 GIT binary patch literal 33740 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 SRDY-Aj(+l{OQ`?jfBy$kB~=3e literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.F4EE2D8C81E6AA12.idx b/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.F4EE2D8C81E6AA12.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_gpt.h.F4EE2D8C81E6AA12.idx rename to Source/.cache/.cache/clangd/index/apt32f102_gpt.h.F4EE2D8C81E6AA12.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.1508B691E4EBB264.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.1508B691E4EBB264.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.1508B691E4EBB264.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.c.1508B691E4EBB264.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.22A5ACAB23913252.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.22A5ACAB23913252.idx new file mode 100644 index 0000000000000000000000000000000000000000..8d8b9ba4b4101523127cd63dfc3db38c70511c84 GIT binary patch literal 13350 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.2C91BDB78790056A.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.2C91BDB78790056A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.2C91BDB78790056A.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.c.2C91BDB78790056A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.3ECFA8270732366E.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.3ECFA8270732366E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.3ECFA8270732366E.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.c.3ECFA8270732366E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.4C7C8FF33B94798A.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.4C7C8FF33B94798A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.4C7C8FF33B94798A.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.c.4C7C8FF33B94798A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.4D2FECF5A5CC149F.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.4D2FECF5A5CC149F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.4D2FECF5A5CC149F.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.c.4D2FECF5A5CC149F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.5F040FAD0858390A.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.5F040FAD0858390A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.5F040FAD0858390A.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.c.5F040FAD0858390A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.643B811779BAA5E1.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.643B811779BAA5E1.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.643B811779BAA5E1.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.c.643B811779BAA5E1.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.9C0FB2544B3BB83B.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.9C0FB2544B3BB83B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.9C0FB2544B3BB83B.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.c.9C0FB2544B3BB83B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.A20363C0DC4BF66B.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.A20363C0DC4BF66B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.A20363C0DC4BF66B.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.c.A20363C0DC4BF66B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.DF92E0A6E12F4C27.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.DF92E0A6E12F4C27.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.DF92E0A6E12F4C27.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.c.DF92E0A6E12F4C27.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.F6AAFD55366550E4.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.F6AAFD55366550E4.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.F6AAFD55366550E4.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.c.F6AAFD55366550E4.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.F920E639680AF697.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.F920E639680AF697.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.c.F920E639680AF697.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.c.F920E639680AF697.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.04D0FED82D08E4DC.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.04D0FED82D08E4DC.idx new file mode 100644 index 0000000000000000000000000000000000000000..d6c5d841c4d0a257dc2916e2f8c5846dfc222b55 GIT binary patch literal 8246 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 Q(cAXs=a55k*jya`8==@=i~s-t literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.116C982E17CAC275.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.116C982E17CAC275.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.116C982E17CAC275.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.h.116C982E17CAC275.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.1F8FB0A43FAB4375.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.1F8FB0A43FAB4375.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.1F8FB0A43FAB4375.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.h.1F8FB0A43FAB4375.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.4F1FA16F4C107964.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.4F1FA16F4C107964.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.4F1FA16F4C107964.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.h.4F1FA16F4C107964.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.5154F233802B9096.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.5154F233802B9096.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.5154F233802B9096.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.h.5154F233802B9096.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.60910F5910C3F42E.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.60910F5910C3F42E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.60910F5910C3F42E.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.h.60910F5910C3F42E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.637D2C4BB6FA3910.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.637D2C4BB6FA3910.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.637D2C4BB6FA3910.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.h.637D2C4BB6FA3910.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.802C8E93F67B4B5C.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.802C8E93F67B4B5C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.802C8E93F67B4B5C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.h.802C8E93F67B4B5C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.9A0A49A70AC7C43C.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.9A0A49A70AC7C43C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.9A0A49A70AC7C43C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.h.9A0A49A70AC7C43C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.9CE385A190064BCD.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.9CE385A190064BCD.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.9CE385A190064BCD.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.h.9CE385A190064BCD.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.A1C676F5BAEC9965.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.A1C676F5BAEC9965.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.A1C676F5BAEC9965.idx rename to Source/.cache/.cache/clangd/index/apt32f102_i2c.h.A1C676F5BAEC9965.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.A2D1F40082DED98E.idx b/Source/.cache/.cache/clangd/index/apt32f102_i2c.h.A2D1F40082DED98E.idx new file mode 100644 index 0000000000000000000000000000000000000000..6b08d31823b7c86f96409ba668a61ff0a019748b GIT binary patch literal 8246 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.c.925BCCA3E4005FF8.idx b/Source/.cache/.cache/clangd/index/apt32f102_ifc.c.925BCCA3E4005FF8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.c.925BCCA3E4005FF8.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ifc.c.925BCCA3E4005FF8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.c.B8627A75D9F0242D.idx b/Source/.cache/.cache/clangd/index/apt32f102_ifc.c.B8627A75D9F0242D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.c.B8627A75D9F0242D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ifc.c.B8627A75D9F0242D.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_ifc.c.DD4988436795518A.idx b/Source/.cache/.cache/clangd/index/apt32f102_ifc.c.DD4988436795518A.idx new file mode 100644 index 0000000000000000000000000000000000000000..35bb0f7b4d5c9a92e9218136a86698447cc7d5bb GIT binary patch literal 6776 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.c.E14982F9DFEF0145.idx b/Source/.cache/.cache/clangd/index/apt32f102_ifc.c.E14982F9DFEF0145.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.c.E14982F9DFEF0145.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ifc.c.E14982F9DFEF0145.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.0057190B200570AA.idx b/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.0057190B200570AA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.0057190B200570AA.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ifc.h.0057190B200570AA.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.1B8F04B520F44658.idx b/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.1B8F04B520F44658.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.1B8F04B520F44658.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ifc.h.1B8F04B520F44658.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.555813E62115605A.idx b/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.555813E62115605A.idx new file mode 100644 index 0000000000000000000000000000000000000000..ce61a668117721b697fc15aaebbd5b3832d27445 GIT binary patch literal 32602 zcmcJ12b2}X)^6=OB6o1G6%Zq*5kU#38RjqyLFI}hQ9vX}5=O$1Bo0FmCFh)Tjv|ti zrb(TO0;TPC%Iv>rnMSZNUoLKs%7S~iEZfr65EF|XZuZSZ>A_BnI{0?L0~rb6-3#VZys7SUBfETJ5>Sfnm1TQzOjuzu6Tx|tg` zP0n1RajljOiqx%Zn(=VOY9-gI(6F5@A#b79%^KHAZrC_6bEUlDgo>GSe%`8Hk))&_ z|JTw++OE@}R?>f;zIsycWt>^Qt$NSdv`_>Ei)(d*qedWaZ z%8m8&zH(!I<;METjrElq>nk_bS8lAY+*n_^zUJ|E@f>`-U%cyny{}xnWxRS{xp>of zd0)AB+jx0jxxVJ`&hg0c*72_U%FXNF-dAp3U%7dG<>vL3o7Y!vUSGMs^l`p&<9y}D z`O1y+l^f^J=PNhPS8klI+&EvkalUeW>GJu?&F3pOpRe3}zH;;V%FXA`?<+T-uiSjT za`XAh^=%&SD>vR(ZoIGDcwf2kzH;Mz<;MHl^OYO#D>vR(u1}udS8je^x%qwN=J%DG z-&byaU%B~x<>vRd?<+UIuUsEpz*lYoU%3T*~yJ1*>d$6+VW{Za_~kGAg}7ydWB@96s8abfHidh`2^F7^z)yzl5@-_XPRn)AKm z!oGK0IInN_eDAn$Uf;#wd&h-+@3^q<9T)b!~yJ1*>d$Ax|GxUlaX z7mo8CUEez{?0d(Beebxi?;YnqS-y8%*!PYL``&S3-#aesd&h-+?>Jw7$A2mKt_1Ie z;Jprfmx1pp@LdGHYruC2_^tro1>igXzSHkJ``&BIckX?s-goAGC*F77eW%@b)_o`4 zcg}sM+&tjI_4Q$3QI zEWQqlufO8!uK0Q@zRrrTuTsE!U;Ea)?|NT9#n(;o^-_GD6ki|3*G2L5P<$N}-9M@L zuV3#tu&T$0XoxkTTvD_8Nwu2Lh?4LF2{>x{?;s8gi1H=NM1}y=uu}pL%8K%dwd(Tt zlxIa{bF&GR3W!R@ikFC#R;N%YQKwLAQ7@rbQnMxrZIT)$CnnTs)}(pk#Nn)A97Pm{oE3pREfV!_?=4B(XC9?HdnoypC{I_M0IL-H^6QxQAfA%<@7akW!)LG$`Yeg z!vg>YP>DKvl=1aHKhgVxYnC{u8vjGWAJn*x9%bdB3kEIUy2cVim9nRVo}|>#txWyt z_J*w&_M2ge%Sw4n!ZA|n=uu94FsS3fPbXR8L)xLI5}rydQ%AS(A3gKeoRy`@8_{Al z?$8dID^;#nQ{=Ef^svAiBI=cw#BQn>&v#Vosj&z4?yF%5{Ct!muS>X28Fh4LOw*-$ zz37rx9$KQ8D)Je?Gdh?$x|OfI-T%>&?OFF);;K^Cf?Al7mLApgaW(t2cr?-y6V)Lf z4ltY!xsGmSv?xFE=-_K3EU{QAX93J2rH&qDyZog(qN*&$Gv?-rX%CUA}yd?%JWp@eP zNvWe-`RbhmYtr;y(mt9#-tCZ?Qf0!EGc*uAluk}mROIAXJO6Hz`ot$eOY~8D-U*-+ z?YWNbjITHC{Nj)1DS0iiQnfu-!dz-wM~`y;>fu!uZN`i3H9Fw~0x%$umZK8J=_f(D zdo{K#Y1VX%C2EoIAizO7-#WT8W+>3*?SnhhthK~sRpm&4kyNFQ9_5*$wO<`FZImS* zsw$g66V%btt$HIvnq_591n?}bQK|(J7SO)v=uwtiR64#w>f@I9ib`Ayu$D^H(Jjmv zH)C!s(L0?bR;Uu^1I(uqb#yD=oSWy`tVaX0rWG4dxkIMUm_BQY92dwmE|5#<_DX$t z-g%?gn)HyV+x~QY2Ta`KI$bTM9+of8x*r@ho8KhbU zucyc{f#@-Tw?vfnkH~eFx!Hk}^|Jr zz!utT9X-OB`dxk-cjLMxvXJnhgom^Igxz#xbo3}^j~(&-M>`i-;*?VEldzAJI=Yn~el+T} zlanvcwnRUr>?ENRDRuNHOaJ=3==t3EBwe7C(wc>{L_10UWEghh10N3aM>F5?_5B2IWWl8(0mMBERz5(bPh~}t-=0TDD zr{vNmZ(g^9RNG1X&pVn)rC$ju(uqu#7`u= z32>8yI(meAj=pEP(-7KTE%|LS!nm|}@fNmv3(U_M&9MNaA5y^D1z+SU^PB+(*(MYJb6dW1K+ zFMWD$KfW^usq5h@_zKg}(yhv!m>`C2x%v)17S;aFkuZn$S4WTXT1?!B8?)53#OKuT zQh=q@u#RqF>{l%_KN;}*K1<9~4NnJ{P8Xt%9_7QzGpyGG@QR3|l!F2=D1a$-Bq5eW zJ(O_4pE?ZbG-i<{cBmrPNLWKf>gdjx_k2>`ne{icu*4*#9428HDRp!!;|@`BJ{>*E8I3+o+WREI66vYLQxZw1*%}vwDhPpH-GWXn$SW^JXWe^ z&E1axe&L(g zQC7;H06j^mqeppZ$rr!Y5noxNw`%=4z;il+I(n3M?zRhD$cw+=rYhw~2_vaa9o@>W zA7r)PTDj_dOZ=`{p93(5TG!F7ESIJ3?*2*dRJO$Xbbua6ctA%|M~|?rm3XRDiItW} zB;gT&BUGi1Zs9jyZ~vjsAGtbV+p5Z05@u1AI=Yn=vd5>a%lG*lOWaY)2G9VTrlm&} zn=y9z^5{O6*sD~VBy6I5I(n4#Kd8KSb342TmZ-h{4d6H0YaQLn$|V}sD3Wz2{yy}LdCv9ed1TB4gu*$&!aLRxxM z2ht4xwpta(5=AK85`ZO?PDi(}diqm^7C-z7yG3JExXan#YBu~yz1zciavtZG`Z9k<;f zGrXB08+Nk-!3lwo((N(759;L0H~puMtA|NvWe-nb`2J%h`)}L*){soGD=@DRuNHTfg@F zVmW&&{&G|Ya{<5tI+!|olqq|@IUE>=uZ8t0=VA$qDW{Ge<-T6ke$4fiZHZ|r=NN!7 zlv78yvVQ76c9&^(1eMQJ&Ll`e9W6boGKH^xGihv5ODtFU<^jy3d^&oRx9_#Ry!Y@O zOT0lR{ECDtbj#}K7B(n6YVo|nkMYSeTcw-=Foja;=usBA-qgze&Rt9Vrj(NbCX-S} zx3Xcio#nc;|LmzH-lfKGNw`Ig>*x_q?cZWy)+N_1(UOFh04~v$uA@h|AWNpts+8Vu ziQ*(&4zQerI=Y38(oX-pXr-CmqeVPjm5(6RBS@bjM+Blr1m5wCDKv6!RsZelPnuX_ zqdMX>pa#}ROLx8>HndDP`^x@;mRP1#-@$jNqNQ8acx(OJ+e+U2!4g@iyvGtA(+=zC z7B-2WU$ImCU>pK0L&Eg{>uEo9bPJolyM9>xop)xY6}#|YtAF_J4+JL$K2$QkyP9VC zI>*_&Hy&8xjH>T|gadRf>gdVX;qM;Z&d;reqmN2i9jarAwDhPZPQSRRY>(!ah@k>6 zNVq_KBOTqsX5*f}oaLkZU!)b={#D@kKyZ8@ucyG~xnJ)U(|=?>OBAMr<)9q4N=tXL z<|n4T$Z@vm0UU)=msT%;UUX^c=vF2b?{@sl0WDMT8KIQj0lJe?M~|{+hL`@?`V9Vd z`hpr>1+a<^wT^CK%i%-MY#g`vlqCkJ1Jgx97dnJGx|PY*>z{wO^2^E5VjVWVLw=m< zU~b_TotJoYShFO{m7 zgkIFJj&5a}tn+7HeEAc6=bcc>JreeiQb)J4?MDyNuUTHFG;utU=0a%^a$GrzG_(|>k>=kC1LLX^rnuwj!I}c>OWuUF>glVBzzq_P`lk2 z8somu(w*+-8%L_|zEuSKt0R@FuY|sIaCCGlJJfzN>U`t*e^{cgQdWk_n2(ko)zh?D zik_ZdDq3t(SJ)9qbp+nPXKWyPa^O7?^=j(KHP)$Q#;X;M*0d*A0Itw3>*&te zsYS)XpTCz08|tiDz7KGplsdYVou9pbcx|t2uUR4|r93O)EZzJ%x`kcZEZ!6Ma*KB@ z@r$|(#{-O~yHH2BvTMwZKkFA>anusGRpa%cKI&-cR&^_JVE&`q-{EN5C8atl;V2zO z9X-k#sbFl2y_;}+M=8fi7)MGSJ<1VttF1m$yn3`)qYh=wR5kHHjtWGNq66u=S-Y*D zl4fxCq;GIoU8Vd*!Y`CkM|aBZwVQwN(xl<|3w*rV?V$ieX}5LsD6b96*el&6L7bXUs90FP;pbo404 zyt*V|=c_j@(SdgT4!|7}>gW-kZj$%d;KSIN_@0CZ01l8)N4Icr%Ux;vzPYmuj(DoJ z9|AlirH*dpkQ3bs*V|Y4WlMZbDK`RaB%zLO;n2OKAC#XzX&HX7Qz^fNZ}Cvl(ybac zqEyQRr)J@ou>DH4MZy+3JUY6S!%MAR{Opyo?JaRlDQiP*%tuR)YDB(%GlnlMV2K&( z6qbQ9c)QZltr`(%SNOu21Nfk5L_1LtDq<>HxXj1CvQQj_G z^2YEVaQu0fZlYk=;%>S{oa{$vjRR$cBz~- zp(g5R=~hiFnR@GQ>!;%2{9j6ST*7f`Sx1j@;ex-buQ|Kd633KsmxNuU)X}Y+G`;!Q zY%hxM!izyE$4D4MN*z7Q`>)(=>Xg1_i7;IdmnB@L$Gnbi;gm1mY;`tf6zAN)6taZOZ>4wW#J z4vUU%<+Pd|p0598$S*iztCUkDOd+L?9%XXLMU}?qerAd9sKh-0duWe!bPK1SYP)n* zwT$>Y?5j%b4A7ab8y(%s8O0tJX!QEr);MgVl%oMglTt^w@|PM@PnWsXXQd_DP~%qt zu2SPVdW55HAJ}!cIrd;0knlLbaT4n27S0?{byDD;M{vk!irVoJ5=PLD>*!IAxzl@v z2=uqaXjSDvfPqw{j&9}boGm8D#C(gxEVEV4l28&aFEO-% zZPBWlbC+O8qz0wj3$T|CkB;t?^Db5BF=^eG??;QZm~sdHC`r`|u-`u^5Ire?{r>1w zkv`e{TUGuM{^2|x$rQEM>m;nBBdMc1>4J%&sM{rm;X`@3QqGnzo0K|wlt;fQ@@eem zE|#c6b^ZzPC)KH=Tez_7+FI7fOR@W1n}mk|4v|ntkFe*UZ_b`e+-`|+>KF|H7(!=J zN4IiO#cmZJr+>S2v?xG(ei>3-hKy)U2t*GLWD-$n0+Bsm)IKHo^3`!TJi18j&kPAO zXn%Bc=Ukj^eEB}J`{8XiSt+YRRcxD<9@X6KU03}59zM->D%DyEYbl?OZsn2+$8MeN zn$W`%8*x`#nwPf1*cUCZtEW=-me8A0 z>gZN3e{)fMpVJxe=YImFtN<180MXJTYLdNC-=~%E9$TocpP2wN>H5*ptz4O>ZSLtq zyN|HMN0jcFglBZbb#x0?Z65LB<+poJwnR@=;ZuO8v@bfkm8;j6_~Of`a|J9>g;MSW z*hxYiJ;Fyn&Kh&3S{qBWBjF8z8zj`xEnM?%VA=G=*=W|rEY2@)pI5!cbJT-WXG`05otO=XFqROash zzf+kydW0vZl^7izvMg~{r93F%Af?pNt=uqc+tT!}c57mZ`ARue!c6;71x!r4%ERaY3Ww|k)z4+Ee|GQ_qqZd^sN9}sYD$;!WsAKZ>*9omnB+|@B+XE z66)v{ZX1*Jp;PKD?0cZw5c^U9mr1CjN4Pe*M5V?jPFms{5^e_AOhO&q!tKFUV$<16 z_#F6vgpVXVqI*Y2kFe|M^&9T&!cO^fwaYD`CF*GDR_!R)xX9n_)?o*~BBd)2WJ8p8^ZA-jRsgfZXRkU=gc2@hNPon)NzLCZ$)gTFj=xpfdR;D;T@6{|8gGXhO zx@txMjG(JVN4IiU>D}cv<-GKnB|=nQ=KypLpioD*aCf@1P5&CY_?#v3kno~}i}Y;P z(IdC+*{N^i8pI<-5CBrKxc(b1#q)F=MZ`l7E` zqA8_33viasosJ%1pNgj*Y-)5D`$;Nge+m65rH&rul>Hw~95yYFC5|X%0wiFOwDhR% zl>RQmrO!%OVzW{$ldz2P>F8GOJ-TpH@ocZ$vP4-baRa~xDp5zba9`T;U7JnW^JBEw zjHhM?K0s6LgbaA=2cpLY-u1Ym_N|W}voviMya=|d)>lhdO|9$bPI_S1goE8*uZefx zJ*8{}jc{*h=}{eM+;4f`i67(Ltgeb_0MqEI(9x|tROs!>)!+FDAC60vayGzhQtIeY z9!e}RJk%e*$^4;OUMXQE)u^Lec{s=Z!sGgYjl*FoXB%jP8ENTJjbCy)O}Kr)5@S`q zff5E%J{{f4Bdf+0?fFh2Jl9*4a=C=%q}0)^JUVJts%*gZM;Uz96l`5y^8Eb%Qh zz8zpY33YS}PyRaVqr;zNz(?MXB)krAorF5Ng{LzP+1@-;kwf_PQMEll!T_pLM~||` z^XEUtjls6dQOZpKn<%A@ZsGZ_-->&fe$XUKyiLLz5^m5vtD{?Zp-QbMo65neytCoA@&9sg&)ZJ?d!bQPs_L+8Pza2VV|q_=SWQ)Ub|j;iYdY zg_0`%bifiNNw^YVCGCoiZsA|uvo!lqUhQd#r|RgmfEJjLmTuLRXD{vk^VR}p|J#lbSA`VzjxM;mu#?U1m8 zO4QM0)bQE=T3!j|5e|A)5@}DkK70v~iOQ%prkMimJGhe^Z{;(yksK!r7I6;l;=vF?h zQSG(WL~d&QyoB@g!qm|tY?BN{GGY%?^ie5a0KA|wb#yDA$CR0taq+#OnaR3r1}eYfXZ7otTzdKGn*sk%yh6^#r; zkEBEhDW>66GR860VFt-n%yi;$= z8^na8!swCH|9C0|L`5c07>4Ig&=%L##0lOeP5Yk`~bx`@+*52=A_@I`9@ey@8IHnblw@p3p$sbW)QUcpIL; zK+Ie2@AyN*$T|?3aZ;sh^mA%F)l;u#2A<<=r>L2gbKgxH0P+hK>5fD0@ER#+py~Ze`2o zHnJKkJ~8{04WAjd-Vt!`X@cn(XB#`=)0Kri!Wi4SM8XE9YHkR&nGWcIud;)#ikibWTn{`c{B3%C8eVoGJgKS=Wd&YRQ!*jP^ZHsva3 zrf{0y+fGk?vpzBLQSmtWO8;YrIpM}tZkT^o7D%ZX8zazhj`c5=dvh1@V~A17w3vW|1E&y8K2m}AN-&J6p*iBYa_LliTPaKe=j zoN?m;C;YZDfO94`eG{X+-iBbGH{r(H&5ZGN6Vp$5x;a;ABKE%#86k6Vp}sn>ibMnu!^&{LIX- zhnbj}%D)_8jAxmc1G5g)7dfhUqi9;m$p%UUxTyPmvH6qH8{I_34g4tz1#-dd5KxCyu8e?f0tS}wp~N9 zW0$ruE?s7fLzfuk%VpenatXhn47rh3?tNEz-TqW%i1{SVCy_@xn{%mkzi`}xs>`_ixX4oA|%wc7XjWEUzOU!xY zg=L2Qufz;i-dASY#k@SG;_UCU5mPX#AWl}+|JVmh_;Y1~jWEXeO3Vu7dS!;4uEZF7 ztD$}})>dMSpOqQoWhKTKSefZp_QKNqdutJsJ1RF$aM%CX)JnLrvNCRLtb`lus$tl+ zN{lkAGH!bMbiRx^)iCT!r7f-~Q>q~Z8&Qcd=2Jtl@syae%5}=yu+x+n<1RH6J4=aC zeo}+8mz40M%16q%x*6{%G2@hPG{P9KDD91Lh;lY#4yA2=QN~c-hRvYF7z3!Gx*PK+ zG0O63aJG9AK2KRaITzbIiP@#Roy@SGlbHU>%Nb#ef0LNL%DWk1j9-(OZpy34Oy85q zP3K%&x|Ntu(|j7~RQBtfFT*F^`pZGr}0ZCNX!E zSu?^IgC;S?m1!t;WD@gGxiNX0!L4TBp3`}|8jQ-4CQIZA$IeXJVxzKU@)ko^SA6pR zgSy`nlPOK6$iA>elW=9sG#juflkhFdkja_Ygh`CDUK(P!v0W0b%$5dcqb1?WU&(mp z*+U-GE~xgwPGd(pH0-$~y>eO_J-aLk->4jxh7jzkB*r)?4aF`>Vw881apRjL{D|^Q za;~w)CrQj`<&lgq#urJ<2IYxlW?Ws!GyPGQr^FP9DiHbc!Tw0XjVID{ zgR=vY@Z-w;$ZbqCjz?m4DYqjt>~JJzjB+LJ4lT23mS^Og2WhuAT!1sNQ`j=8fIp%rEOyqKdDa4duiT_+;Qv@ zB-}Uyc?;tTB*r)a4Z|)#VwCrfapU_V{ERaF8A7npkC^+)<;M&=`-m}aK0~pSj~HX$ zGYk(<(R1C{^$f#KJ=(^&^9;kzJYtL+j~U~{Bj!(K!!v|n>m4zNl8ABa2#!E-r%uqf$&c@z3Vw7Xf5Q~jlj&S3UGYq@qh%t^hW{ew-m?z2#$E_?e z_BUeADeqf^F@85~AAxl=8OmHcO44jhN2L%f<}**N8EuHA5{khBac0NzE{9 zP$Ne9(ik_MG{TJ!%`ogiBj%Yhpcz82>5Q1C%5cUEo6LyWsT^hz#<9j!|p3$9x3ZpgfVt2VwB0s5Nxm_T=}XPH=ZiOm6OWg?4lyvIHwH5t|?-S zQ_3*xk|M@fqYT5gC}J)uPn03VZsUU@=B_e9MHpjzBF31VIGZs#5p!0#oFdy8XA?2T z&BWUnClfKszr?ulE)j10N`_&t5-}T;QHfh&a}qrpjUmZU>_wt&Rx2M8Z^ParVwB^^ z5C@Fgi12C3X~bKwyNDR$C^FO`<0c};IEW1M=kZzhUTjDlNlaW+T;%P@t|G#fm&oW3 z8y^wj#yez~BU4W8DEfB$3dDRE^_3JOZ22K(fU^5U7-R7vW|Q*wFvFf6VvLc;P;BBM#u#@D z!=@c#lvRguW78qrcykQHz8qqV8OJbe#34r6Zw$`X8^V?0#^7wWAzWE(7&rDB!i}ZI zFt__|JlwWr@4Uohi^>)`lWemg+*oVO7Hq2_CPjH_3?bM@LyYmx80v1!{4z(XyqsC0Ta z&$#+krmu4Ghb3GsovCy#_RZjGnM`GJ@y{PzEt{!qF8+{-tL1{_LOj5PtKS5_39(@V zSIY;>hxj3hs}+J3Li{$z)r!H2A^rh{tCfP4Li|YqSHBH@8{!{uxLP?_Im9CqxLPGx zCB$C_aJ6c%YKVJExLQ3}J=D|;t>Nl-!S6ym(ub=xf;B=sAc(6qgEd3^n*~=Bf(fDB z=D~)m-v_@B@vnPatre^lV!r~e)(+MV@oz?4trM&h;@23i)(zGT@n>pWtrx5p;va3e zT0dAn#3LHG+922<#N+e0+A!EK#J@{$wNbE9h#z;j`a|%C5dY4>)yBcbAs*<#)h59v zp$z6@Kdv?nHVyHR8m=}AHVg5`6I^W(Y!Tuc23M1UNg*B;#?_X=mZ9zD^@pp;!Q{{m z^LE44R>4*wHh1A_>tO2;8)I;_O|VUfACkD*HrO`AzkhM{$Ka14{=SW??Skz>Jlv0~ zKL>vf@$HJM?St(@{Di>O4#5r~{t1Sw9fKW1Y&*i$P7v$_A@*A!&>4cAA;iC?5aDSA@2Gh&>e!^A;cr22=s(tPYCgMAOw0ruor~*?;0S` z8-l$d#6Oe~=mWt%5aLgR2=s+uUkLRv!#W7`gJ3^QYCbz5&>w>RQDLU|A}|1g10ckf zAp{0Oa3F+cnjd5c41(Yw2=Rvy1cpFx2!s}zpCt$kh2T&K@n{wT!yq^eLj2thf#DDw z4k0$+ATR=gBOt`x6a+>>a3qA-Y=Xcj2#$hKe)Dw|fzc2g4I%!eioh5Mj)4$=j6h&4 z1jpi0Hx@(GvuwLU1aC0>;~gz%&R>gAn%`5SR|Z=@8-%;Rwut;0y>|Gw%ZgWl!CxW7AH@)u1;JSmVy6-Uzd`Uf2=NCs1ZG2UHiWoKg1{UI&Vdkr3`Afq z1m{ACErJNlgWx;}@z)sy=0k8kgxHOPzyb&^z=LeQ5+Se%>_y^Oaj=*xTmxI&Le40UE1=uUVX=g^i z5m*WKN^tn4jle3fSAoM{4iH!a_8M?_@Ed`(V6O#-O-Kl=1A84fIn3WQL|{GG>%rk~ zG6-w{djmM!%|u`$*c-v&u|otlfxQWw)28!+z-F*FgTucI5ZD6t7I4`6gTPj>w}QjJ zLlD>o_BL?%`#S>L!QKuI_pcDx0rn1XvKvzh0z1Lp2@e0tL?8w16mYm(fWR)WcY(v> z!U*gJdp9`j8$@6a*n7a?@gfBFg1r|U9t=TXAK3e_bYnq6-~iYMz!_wQVG%e8_Cavi zK8C;{un&R5!x;$t3HG1hEHEP<2pk6cFgW}n1%V@A9|5PF`2dZ;QLvAK!{2uiI0p7H zaQLG>0>{BV4$d!T2nvA{V4uK~ZT{K^0;j+}1rB?m5I7C?X>iySg1{ND&w#^jO$5$@ zeHNVE=9dcs=fFM(4tJUnI1l!DEZuzRLEr+|7w}Y?AC3rI1p6X5Q_R>P0++zPgjcfp z{D{D1urK5FVP^Xva0Tou;P6Ke1g?U86?e|e(na7J*w?^egA)SR!M+X-_p%YV0rm~N z9L&%H0yn|Fi5HCVDj{$S>|5YGG(KVkZi9Ur95%Kfa0l!=cy7($I|6sXz6%bIu^@0C z?E6@$`D-8uJOKLvIBe-a;33!#!QsJp1RjC?2ps-pkHBNFA7d-#k2fIj1nei^@UIL6 zo`U@p93EOh;2GG@z~R4|jlgrTpMz7{I3o~v0rm@Uo*Mfx0-dDYNjmINL!h&?J4=U0 zk`U-3?Jm;c&xr_hm3CL@@Lv!^pqsS2NvDtb6oNo^X?K?nn>7*WA?+U0i8fA91bRxl zr*vL6W?BS#NxPSH_(LNCy`|k-Iy^dsKwoM1l@9+E7zFxByPtHp=Z`>tY4?}TZu7Gl zfdLXti4OmgLSUe@2TF&3C?YUO+JmIS;{yl`miA!j@P|kQhDdvebl9qbz))!ql@1R$ zBQQ+b!=%IZDg;JIdxUg&5Ep@w(jJL9j12{WQPLiT2iZ(iMPRhFM@xsl6Cf}~+GC`{ z!|(`?f_N_(nwcvuU8Y0{pC7mTqkA~0Rr)1|}K4FqOLdxms)mNEjr zNc$J8)O_AUV5YQZN{77`2>dGTU!}vJTo9Ng?OD=cLk$A6r9E3ZJYbB#9BI#y4*TyA zm@DnM(qT_80`sIjPdfZ15P|v9o-ZB#(1ySQX)llt+i($BDD8#PVY49ui=@2>FDWy6 zgTP{GFUHc1@T_yy(m)Cfz8t1EFGSXfxs4NZ;=jv*h65e zw6{u!4QB}aA?-i#RyU4%1hz?gn{;?u00P^ky&azp#zBt24r%X@4$n(LAVu0K(&0G< z2<(#fF6r?1D+G2+d$)A58hIm$U_CDOi7f_5I837W76U20|*?K_Ho=f^M^|iI3ev5(s^R$p&)Qd22aUQLF0l%;Is^$ zmLaxtBXC9r&&beh^YI6Pvod&AhWP700_SA#oDA^?2n5c{;CUJ1IV=cVkiiQw)YMpF z5V$CV7iEaYKM}YjgO_9|r?KE7a9IW~%g`kAjSzt=(!L^{`o_G3z*T8ql@5Dz5x6Gp zYtnhw_{|ZxF74~m;fW3i+>rJS>G0qd0ym|7Q#w=3S3(4CN&A*`*wlo;ZE4?@PBCLi zMBt9J??{LLY&ZgUrF|FgN;6`MzG1e90*|HrSUPNCLg0zCpWsDjzW*TbRN7DRWSbcw2t1SaGwJY`69k@1`?+-3*n+?d zX}^%pMKd0UK&OD+Dd6zrDFiwP?9Ks)N33~ZfX21dTrV@K#rG58W^R{ZcwQGVW-gau zcsz<2HG7M3Gjoe@GhNFt{A?g*vzn%52*F({V$6IjL-7wSV$A$2X3RBDjG1p`7`{%4 zIj<&KaXZ|*A;wIoG88{yiCLj0Qt>uCib0H;GG&MtX1WxOj+;4BhT+jR+Ct5W;#5hA kjcd{Ww@j+j6924@5Ib=?7XQQN(z?{Eu5C>B73`G%2WEz0N&o-= literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.5DA8BBFB791A1652.idx b/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.5DA8BBFB791A1652.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.5DA8BBFB791A1652.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ifc.h.5DA8BBFB791A1652.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.72813536EC7CE443.idx b/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.72813536EC7CE443.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.72813536EC7CE443.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ifc.h.72813536EC7CE443.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.784BDAAB5AC0B89A.idx b/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.784BDAAB5AC0B89A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.784BDAAB5AC0B89A.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ifc.h.784BDAAB5AC0B89A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.8259C58DC994FFED.idx b/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.8259C58DC994FFED.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.8259C58DC994FFED.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ifc.h.8259C58DC994FFED.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.82AC90A8B008A8F7.idx b/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.82AC90A8B008A8F7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.82AC90A8B008A8F7.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ifc.h.82AC90A8B008A8F7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.9D87153C0D75F648.idx b/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.9D87153C0D75F648.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.9D87153C0D75F648.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ifc.h.9D87153C0D75F648.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.AA91D61F1E4A21CE.idx b/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.AA91D61F1E4A21CE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.AA91D61F1E4A21CE.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ifc.h.AA91D61F1E4A21CE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.AE2E967FEEF20793.idx b/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.AE2E967FEEF20793.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.AE2E967FEEF20793.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ifc.h.AE2E967FEEF20793.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.BBA8D0C6E11A5F9C.idx b/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.BBA8D0C6E11A5F9C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.BBA8D0C6E11A5F9C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_ifc.h.BBA8D0C6E11A5F9C.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.CDE5E26A73F17104.idx b/Source/.cache/.cache/clangd/index/apt32f102_ifc.h.CDE5E26A73F17104.idx new file mode 100644 index 0000000000000000000000000000000000000000..f74526cb924e3efe2338ac253d0a88eca1a22431 GIT binary patch literal 32602 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 nRZ?Q(TJ-i+Ey^F^l$B=mX5QQ1d-LYK-&D%0 ztNLk#9JjpR79mR^gyvubp_28JAVi;GAfx1b^x_k7i=b{Q9RYwMm(@_K1k?npsuj!kM=T65@wJ9N{sscqQ> zD{I@NI*4_We~HN%Zwk_8T=`~mA}FSK6A~8Y>_!%%l#p5lXErA~9Qi9$AGz`MK>1Zf z*C(Oxd%Ve_?6!I~Bo`7cqr2#5A@_xg8qyO*jPVh{MHPl?Nrho& zebc_}H8$c3!<&Z{hASAHV2B;)Z=}QVpePaoi=AK~9vQXVt92H+VQTw-@#Bidh@Z70 z9%nS1ziC@Br(xhU{8CQCF{k0E?csHK37I7MnhgK2_m5m0TjYO2rn^jq0N?J@E)Zha z07-^ELqWe?e-9qnxgVZC{PvgcPNmV?2M;C@+=m)b0!&T?Ag}rxQXjinfUQgB22~uLLO^?O;(^m_h-g$P5f;CIAnZ)Wh z=NbBjKm8T9pJ=Hk+H?W~4=Rh~K=EKL5*DH<{%#}!Lf4PP#i6L_WxDe8_k*iHPc7b9 zxPA>?8>$d*yB;JHom-qclew6AGjl0(C37`%IddU3_49{mB~ CV#SUC literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_iostring.c.0EB7FAD489AB95CD.idx b/Source/.cache/.cache/clangd/index/apt32f102_iostring.c.0EB7FAD489AB95CD.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_iostring.c.0EB7FAD489AB95CD.idx rename to Source/.cache/.cache/clangd/index/apt32f102_iostring.c.0EB7FAD489AB95CD.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_iostring.c.3A0450D6223B1E94.idx b/Source/.cache/.cache/clangd/index/apt32f102_iostring.c.3A0450D6223B1E94.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_iostring.c.3A0450D6223B1E94.idx rename to Source/.cache/.cache/clangd/index/apt32f102_iostring.c.3A0450D6223B1E94.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_iostring.c.455C5D8E6D2DBFBF.idx b/Source/.cache/.cache/clangd/index/apt32f102_iostring.c.455C5D8E6D2DBFBF.idx new file mode 100644 index 0000000000000000000000000000000000000000..ecd5091f0d87ef57a87e16f798d00eae999b20ce GIT binary patch literal 2344 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.3C0B479CDA77133F.idx b/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.3C0B479CDA77133F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.3C0B479CDA77133F.idx rename to Source/.cache/.cache/clangd/index/apt32f102_lpt.h.3C0B479CDA77133F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.558DBD3B2B599F3E.idx b/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.558DBD3B2B599F3E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.558DBD3B2B599F3E.idx rename to Source/.cache/.cache/clangd/index/apt32f102_lpt.h.558DBD3B2B599F3E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.5CD41B7737E8390C.idx b/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.5CD41B7737E8390C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.5CD41B7737E8390C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_lpt.h.5CD41B7737E8390C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.7A74B847BE57A018.idx b/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.7A74B847BE57A018.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.7A74B847BE57A018.idx rename to Source/.cache/.cache/clangd/index/apt32f102_lpt.h.7A74B847BE57A018.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.C31E5615E6F6EA62.idx b/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.C31E5615E6F6EA62.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.C31E5615E6F6EA62.idx rename to Source/.cache/.cache/clangd/index/apt32f102_lpt.h.C31E5615E6F6EA62.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.C71C8FE52CA87397.idx b/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.C71C8FE52CA87397.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.C71C8FE52CA87397.idx rename to Source/.cache/.cache/clangd/index/apt32f102_lpt.h.C71C8FE52CA87397.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.CA71A53389E43D14.idx b/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.CA71A53389E43D14.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.CA71A53389E43D14.idx rename to Source/.cache/.cache/clangd/index/apt32f102_lpt.h.CA71A53389E43D14.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.CB810E088A1BF71A.idx b/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.CB810E088A1BF71A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.CB810E088A1BF71A.idx rename to Source/.cache/.cache/clangd/index/apt32f102_lpt.h.CB810E088A1BF71A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.CC1662C3F3F7F46E.idx b/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.CC1662C3F3F7F46E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.CC1662C3F3F7F46E.idx rename to Source/.cache/.cache/clangd/index/apt32f102_lpt.h.CC1662C3F3F7F46E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.E80C6AC6EA03BE4B.idx b/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.E80C6AC6EA03BE4B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.E80C6AC6EA03BE4B.idx rename to Source/.cache/.cache/clangd/index/apt32f102_lpt.h.E80C6AC6EA03BE4B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.F7B924F6527305BA.idx b/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.F7B924F6527305BA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_lpt.h.F7B924F6527305BA.idx rename to Source/.cache/.cache/clangd/index/apt32f102_lpt.h.F7B924F6527305BA.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.19359993EDA41019.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.19359993EDA41019.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.19359993EDA41019.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.c.19359993EDA41019.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.2509609DC7D9DB53.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.2509609DC7D9DB53.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.2509609DC7D9DB53.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.c.2509609DC7D9DB53.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.29C71A30615D4EF9.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.29C71A30615D4EF9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.29C71A30615D4EF9.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.c.29C71A30615D4EF9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.47AE5EC7FD3E1B4A.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.47AE5EC7FD3E1B4A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.47AE5EC7FD3E1B4A.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.c.47AE5EC7FD3E1B4A.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.5A7166C63FF98DAA.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.5A7166C63FF98DAA.idx new file mode 100644 index 0000000000000000000000000000000000000000..252e10ceda188f03ddd0d612a4f4d39a8883b962 GIT binary patch literal 10044 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.80D07AEF96C58EEB.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.80D07AEF96C58EEB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.80D07AEF96C58EEB.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.c.80D07AEF96C58EEB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.8E60EACA67196083.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.8E60EACA67196083.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.8E60EACA67196083.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.c.8E60EACA67196083.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.B6A733BB82362CF9.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.B6A733BB82362CF9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.B6A733BB82362CF9.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.c.B6A733BB82362CF9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.BB663C46E5E2120C.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.BB663C46E5E2120C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.BB663C46E5E2120C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.c.BB663C46E5E2120C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.D1EA382E072872C2.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.D1EA382E072872C2.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.D1EA382E072872C2.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.c.D1EA382E072872C2.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.D8387895A37CD907.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.D8387895A37CD907.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.D8387895A37CD907.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.c.D8387895A37CD907.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.E1BC9D2EF5C0AB85.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.E1BC9D2EF5C0AB85.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.E1BC9D2EF5C0AB85.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.c.E1BC9D2EF5C0AB85.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.F9D6BF39E920DE4D.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.F9D6BF39E920DE4D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.c.F9D6BF39E920DE4D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.c.F9D6BF39E920DE4D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.0B1E3AEBF373B74A.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.0B1E3AEBF373B74A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.0B1E3AEBF373B74A.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.h.0B1E3AEBF373B74A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.1BBA3ABE4E716461.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.1BBA3ABE4E716461.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.1BBA3ABE4E716461.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.h.1BBA3ABE4E716461.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.3F2BD0DD50F925B1.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.3F2BD0DD50F925B1.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.3F2BD0DD50F925B1.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.h.3F2BD0DD50F925B1.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.49B9F76B022CEB71.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.49B9F76B022CEB71.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.49B9F76B022CEB71.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.h.49B9F76B022CEB71.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.4DB9E5A5A581EC41.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.4DB9E5A5A581EC41.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.4DB9E5A5A581EC41.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.h.4DB9E5A5A581EC41.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.5E2DFEFD626CB7D9.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.5E2DFEFD626CB7D9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.5E2DFEFD626CB7D9.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.h.5E2DFEFD626CB7D9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.6DA1D2635EE003EC.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.6DA1D2635EE003EC.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.6DA1D2635EE003EC.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.h.6DA1D2635EE003EC.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.6E9689FA076142FD.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.6E9689FA076142FD.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.6E9689FA076142FD.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.h.6E9689FA076142FD.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.7DFC6DD9C1F44E8D.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.7DFC6DD9C1F44E8D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.7DFC6DD9C1F44E8D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.h.7DFC6DD9C1F44E8D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.A547F319DC6127DB.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.A547F319DC6127DB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.A547F319DC6127DB.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.h.A547F319DC6127DB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.AB3ED6221C01A7B7.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.AB3ED6221C01A7B7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.AB3ED6221C01A7B7.idx rename to Source/.cache/.cache/clangd/index/apt32f102_rtc.h.AB3ED6221C01A7B7.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.B824A240405A1797.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.B824A240405A1797.idx new file mode 100644 index 0000000000000000000000000000000000000000..cfd6189a96684a65d78e4cad18c5262d56cb0a0f GIT binary patch literal 13930 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 literal 0 HcmV?d00001 diff --git a/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.D282DCED1E99DD7A.idx b/Source/.cache/.cache/clangd/index/apt32f102_rtc.h.D282DCED1E99DD7A.idx new file mode 100644 index 0000000000000000000000000000000000000000..2c2397303285098c7736c258f2b20e8edb88520f GIT binary patch literal 13786 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 Nx}wTdU%jM``Zq*01H=FT literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_sio.c.EEFF09C4DCBDF5B5.idx b/Source/.cache/.cache/clangd/index/apt32f102_sio.c.EEFF09C4DCBDF5B5.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_sio.c.EEFF09C4DCBDF5B5.idx rename to Source/.cache/.cache/clangd/index/apt32f102_sio.c.EEFF09C4DCBDF5B5.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_sio.h.062E435074D71E1D.idx b/Source/.cache/.cache/clangd/index/apt32f102_sio.h.062E435074D71E1D.idx new file mode 100644 index 0000000000000000000000000000000000000000..ff755e8dd7db0fe7b6761703e3c332ab5ff295b0 GIT binary patch literal 10236 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 ViKqU3Ps6em-{iM$P&h=QG~o8VcD|v!!|>L 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.c.43277BB9D3A56E57.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.c.43277BB9D3A56E57.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.c.43277BB9D3A56E57.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.c.43277BB9D3A56E57.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_spi.c.460FAB8DC33C8701.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.c.460FAB8DC33C8701.idx new file mode 100644 index 0000000000000000000000000000000000000000..69102b2b43200ca2a7a5624e6c80c4a09ee95c38 GIT binary patch literal 6668 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
W)qZcH_52HizdVGJC{dS4Tk(E-;LhIb zm)lUJBBm%)p5iAU?F3|y@0_$pWgGnmm{+JG681$F317^@pX3L)KV3U!^X^}{3CxtQ tt36nN+}gb5OEndmN{vyoMq|>f)|4+$sk5>dE?SZ|e{s&Tg51n}>c2Y1rT+i` literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.c.71F9F690F7BA0A6B.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.c.71F9F690F7BA0A6B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.c.71F9F690F7BA0A6B.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.c.71F9F690F7BA0A6B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.c.74843C8B0034FA0E.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.c.74843C8B0034FA0E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.c.74843C8B0034FA0E.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.c.74843C8B0034FA0E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.c.8D60F273761551C5.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.c.8D60F273761551C5.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.c.8D60F273761551C5.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.c.8D60F273761551C5.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.c.A065CD69A042C477.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.c.A065CD69A042C477.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.c.A065CD69A042C477.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.c.A065CD69A042C477.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.c.B5308AF779788617.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.c.B5308AF779788617.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.c.B5308AF779788617.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.c.B5308AF779788617.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.0C2DFADC834401E2.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.h.0C2DFADC834401E2.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.0C2DFADC834401E2.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.h.0C2DFADC834401E2.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.11F8CB6D20DA16E0.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.h.11F8CB6D20DA16E0.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.11F8CB6D20DA16E0.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.h.11F8CB6D20DA16E0.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.2AE156590DA3F798.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.h.2AE156590DA3F798.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.2AE156590DA3F798.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.h.2AE156590DA3F798.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_spi.h.549CAE91753936D2.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.h.549CAE91753936D2.idx new file mode 100644 index 0000000000000000000000000000000000000000..c625dcec67f911b1e1f0b0d6289d6740006696b1 GIT binary patch literal 7828 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 N`V$_ChSITM{s$4)?Tr8c literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.5531C8D0CE744698.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.h.5531C8D0CE744698.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.5531C8D0CE744698.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.h.5531C8D0CE744698.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.669BE1BCEF13F6BB.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.h.669BE1BCEF13F6BB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.669BE1BCEF13F6BB.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.h.669BE1BCEF13F6BB.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_spi.h.6AFC172C97BCD620.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.h.6AFC172C97BCD620.idx new file mode 100644 index 0000000000000000000000000000000000000000..81ee4226a0eb0f9631b49a22fc3b41a303f7148a GIT binary patch literal 7934 zcmcIodt6l27T){l=mt(4Lo`#w@r6jrFaz@P1}cx392{g&(DF_r4mpA|I1Hc?Drus( z(lirLQA+di%Li!Jd-eL3tn0IvnQ6Z9S>C*9S4-`#bI#u9fK7G(=*~}nYtH(X`FHLM7zh<8X@#J{4esj9s7OZi}>-?4jSur*z>enONLRKZ1dQ( z7ROY(w#Z&!&-FN5PG7C|5t4COmNtE`WvJGYlBG*BWx`Oq#|zE;TR}`i(tiui%rT~# zEGeen;#e}$ej9#d0inIh^zo_1PH9`V0*lAyDK63uvzLnB?B)Hmy~+&nkOiwT-IA1P z&6-kZPlm*(o}BW&ND3mk%qKO)weC9M=zE)9-WT}c_1_9Z^c zTZ;alHy@+!lx;p%bv?5A5&CFIROvXVbC!?hF1ZFuTm?3dqrk3}p)j{Z7qLh=u*v0o z(KB8Nz;Zv#VzC;{)@L%!BQit~{{3pX^=npFUMdZSdMz?}m|98AhpOJmGRX0-rYZ1&Vo>$NCoX5@MhM|dlRz9{Su z{P=o}CEeaBlRb8~(^jBmRac}m!C3 zvmW*7z4#1Xe34#!QC@rly!fJj>GLww%SbN+V}2Pc_Lr`>U%KdNmiKQrIvpPA>oXCu z(aXjlnHF76_9*93esp@Q$&Mo1*aExqoZ?g-#e*ov6~D=$n;lMRNV=^EO2Dctgx-+K zbA~z7m@Y9hQwAqnhm6Wfk)N`do9Y0o-YTzJxuf*fD4D7oV6KTlPM;NR{g^uvtKPa}tnOjgi&aOreAOHV~EUkMy z^0;lzqKOWV*W0AT(9DWIniGJT2hm$)r8$OmL@|1@mE z{_oE>H7*FaE}#KGI)w2d>`RSEdZM355_a|2Uf0PT$)j+Dp51{pJ8+BVpq=4cdjcylB3;Ay8jxfoP1i?^)WPxjJL?Azj1~}xaMN{+uLDUoDk(J3 z|;8lZ`}@QlMLXdhw~M`rZQS3#2bF{sQtO8siQge8)3 zXNb>X%}1Z|C=xQBrb!DlRdal`nD57Z<$OOor@HrNAxHcLlnil>Vtf?)P$R}km)@Lt z+O;-;^}V$`N`W{PSW^M1T*C27xX#EYz)y}eYSqSu<7-yk6;LchTEO82us7MLdwXt1 zQ~h^7**65F2T~=6D>+|kB$7c)zzear4raG0zA2ytAU(wRA>>;&5-Cw6O_-e9M<}jn z!=oo*O)IfxB@QwzKlq8U&=< z7~h6O%0?m$5fiz9xL?V?8}@e|>0q)gShEEp)pC5Tm?d^B-wZt6qb#R#n}D6SgfRU7V<@qWkvq&Xa(!?mMEB*Bkz*xgFw3DfYH z;lp_p1-lE^ga?|cIKE0e0)dao6|m;uf!_SWg3SUN3~}yYd&kyE%@n+WM4$dI9Mo#uwrB%0?x9&n5gg{nJK=fVuB%5ZW zVVgSbM-M&_PzaEkFm3{pY*Z3*+w+QoAA_sY@YX9m8-CWnTgfKb0kCH2)28Otn~VD% zdL7)mFxiC_z$dTWhSg&l#p`|(CYx|4HiGYe`n{hHtojgu^_Z;3a0SU9)-3^$TcrZf z4hg^^sXa1)bwzk9v=>r@bwU_H`yT_E^r!BBIp-+=7GSafKfyw=wg>=ih7{>=V0#J4 zsb2_yi?}*4{u8M^7wvEN-Vfle#iSN@WI)$Q-Md#yo7MpkO`yxtPmjCXGmd|~W@8&3 z&QMSlr&SIYw3RP#HTM-(Iu3Z6z;mscr-rM=HQd`+xs>59UJsu7W}ct%~sNXY*g|WLEp^;U>zpw)cmu44gl@qbVxYu;Q-LiO##-o0ifNQ0slU;Y2w-` zhXEKxMu~sklRgnIo!f9EqvOB8y&99%YE9^erd&C@$1x9pGE&x_@%4qJX{%pGm%%-h z3{^_Y5ICuReg47r;NFSJPOR`_Lte|D)M{O40D?)dl6$5cz%9!L7N4nwR=!LlP=tq9 zFu9tmZ1D!3tKlZF{3lwf@BAepAO!Q!H+wDPqF761+5$q#!h+2uhK#D_jOtsi;Ua6e zG!`*csC+(g_L`lr$OMw0Y$>fn;cY^Op^d#79?!M&=o?8VBV z$jVwX=Hbn$?*I@-;*|W4aLt%M`~FA{+=Zl2IVm|ux6j-$O;#Sr_{+8dq zx&HU^z`YWam1=#mw+pGDGKmIaZw~+}jwryS5nS`KE@F!n3npP1XJ#QwK64$(*}4FH?md|7 zQCIZZ1xxjox{;>=*p10xH0YDWP1(^PVP*im>!2Hw5 zuzx1L2_tr3vO}%*g$Lh`&)B;m0)PQzfRb0H(ZEfW84a{3wDfqxfirCZ2qR%iyI^t+ z+*G7dK9gv0{$+he{YX6jLDgIsJGnd*OqUw2FRLIX+aMwpYjk9FxyDnztczG6DI}#G zi&vAjP2cHMXa=~SBhM+PhY35VJ6Y8+zBvCP=qf9fJFRxh){h@s`KBL4sKlgF&C&7? zJ$nC16+Qsul3XS9if>M@dv*UigTOrxlX>bzQFm>A+>kTNg8@h<=?b59ICwc!Hqy1M z8Kpb!sy}xX_!XE`sQ1Sjd*khwuTEMHz!)+{3B*JuxT&I2i!%ZNVz*2oYu7;eiSZVqXncuImb-af}4t28fT01PVIYvpKk?V5hjb& zY;Kur&O5y%;?DqV#$>a43BBLHd}_*a&sYG4li|uTnI;A|Rl;17%EiO#%yC^h15fZG%6J$)@W%B_o^Z?m}-WEQ>{z~@46nh=~&VAGMKBF6f3t9 z6VTwMvYGPtZT+5{f2{X;0A^w`Q@u4BqoZal4T*aifazqq66m8@?aQ zS-+HvX3u9^UAvXvuk|E|rzKitn)8FS8!k>HpMrZDnWkLM7e~%}zPRn(d*GfxCMapU z^rkW9g#QZh&R&Aa616k3Ul9P%-wt%s*E9#8Elv0R8h~+RoU)DUYmdx2Ze21G+)mURR%fGN(;IYaV_n1RlaY z*dNz;sK0>2Sj!5MhqDrJ1Z&yh;Xy409K~8DpT4KRjbH})i-^u}Z(#PrrnBor3EPcy jQ+D9C7uZBbkvq3YY7(Xkx=BC18fW?u4@E=iSTO$u^yeEa literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.6C09DDCA637327D3.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.h.6C09DDCA637327D3.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.6C09DDCA637327D3.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.h.6C09DDCA637327D3.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.8829364DAEC8B137.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.h.8829364DAEC8B137.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.8829364DAEC8B137.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.h.8829364DAEC8B137.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.9231070EEA5E1A02.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.h.9231070EEA5E1A02.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.9231070EEA5E1A02.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.h.9231070EEA5E1A02.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.A184941517D2248D.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.h.A184941517D2248D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.A184941517D2248D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.h.A184941517D2248D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.CBC4A7B2DED8FF33.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.h.CBC4A7B2DED8FF33.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.CBC4A7B2DED8FF33.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.h.CBC4A7B2DED8FF33.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.CFD35F6C4DD7D270.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.h.CFD35F6C4DD7D270.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.CFD35F6C4DD7D270.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.h.CFD35F6C4DD7D270.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.F0D46FB81AE50769.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.h.F0D46FB81AE50769.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.F0D46FB81AE50769.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.h.F0D46FB81AE50769.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.F1FA19905677F233.idx b/Source/.cache/.cache/clangd/index/apt32f102_spi.h.F1FA19905677F233.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_spi.h.F1FA19905677F233.idx rename to Source/.cache/.cache/clangd/index/apt32f102_spi.h.F1FA19905677F233.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.12F4014BDFFB3A74.idx b/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.12F4014BDFFB3A74.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.12F4014BDFFB3A74.idx rename to Source/.cache/.cache/clangd/index/apt32f102_syscon.c.12F4014BDFFB3A74.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.17E153D9AF327BC6.idx b/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.17E153D9AF327BC6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.17E153D9AF327BC6.idx rename to Source/.cache/.cache/clangd/index/apt32f102_syscon.c.17E153D9AF327BC6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.2758F291EF2E9D3D.idx b/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.2758F291EF2E9D3D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.2758F291EF2E9D3D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_syscon.c.2758F291EF2E9D3D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.32BD3BEA47609ADC.idx b/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.32BD3BEA47609ADC.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.32BD3BEA47609ADC.idx rename to Source/.cache/.cache/clangd/index/apt32f102_syscon.c.32BD3BEA47609ADC.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.445B0FF357296D36.idx b/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.445B0FF357296D36.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.445B0FF357296D36.idx rename to Source/.cache/.cache/clangd/index/apt32f102_syscon.c.445B0FF357296D36.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.584227FFD5CE0331.idx b/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.584227FFD5CE0331.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.584227FFD5CE0331.idx rename to Source/.cache/.cache/clangd/index/apt32f102_syscon.c.584227FFD5CE0331.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.58A8C37FBB568337.idx b/Source/.cache/.cache/clangd/index/apt32f102_syscon.c.58A8C37FBB568337.idx new file mode 100644 index 0000000000000000000000000000000000000000..57b1505ab81848dbb669924716d1bf7d2ca16c8a GIT binary patch literal 16856 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 WurU=`G2nyM_sg=s8zbyL{P{mjAJ0_) literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.B11260DC57B8003E.idx b/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.B11260DC57B8003E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.B11260DC57B8003E.idx rename to Source/.cache/.cache/clangd/index/apt32f102_syscon.h.B11260DC57B8003E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.B5573618EFC18829.idx b/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.B5573618EFC18829.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.B5573618EFC18829.idx rename to Source/.cache/.cache/clangd/index/apt32f102_syscon.h.B5573618EFC18829.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.C48A4885C8A490EB.idx b/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.C48A4885C8A490EB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.C48A4885C8A490EB.idx rename to Source/.cache/.cache/clangd/index/apt32f102_syscon.h.C48A4885C8A490EB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.CA079ED1C60FC6CC.idx b/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.CA079ED1C60FC6CC.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.CA079ED1C60FC6CC.idx rename to Source/.cache/.cache/clangd/index/apt32f102_syscon.h.CA079ED1C60FC6CC.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.CD2633352617F471.idx b/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.CD2633352617F471.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.CD2633352617F471.idx rename to Source/.cache/.cache/clangd/index/apt32f102_syscon.h.CD2633352617F471.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.D533F4062490C872.idx b/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.D533F4062490C872.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.D533F4062490C872.idx rename to Source/.cache/.cache/clangd/index/apt32f102_syscon.h.D533F4062490C872.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.D7B8F68B65F5D87A.idx b/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.D7B8F68B65F5D87A.idx new file mode 100644 index 0000000000000000000000000000000000000000..ec79666ad39661b0914632a5992f983ba835c845 GIT binary patch literal 27128 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.DE085E95E780355A.idx b/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.DE085E95E780355A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.DE085E95E780355A.idx rename to Source/.cache/.cache/clangd/index/apt32f102_syscon.h.DE085E95E780355A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.EFF89A64D2F15762.idx b/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.EFF89A64D2F15762.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.EFF89A64D2F15762.idx rename to Source/.cache/.cache/clangd/index/apt32f102_syscon.h.EFF89A64D2F15762.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.F40048628AFDAEBF.idx b/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.F40048628AFDAEBF.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_syscon.h.F40048628AFDAEBF.idx rename to Source/.cache/.cache/clangd/index/apt32f102_syscon.h.F40048628AFDAEBF.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.120612C0E4CBBB08.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.120612C0E4CBBB08.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.120612C0E4CBBB08.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey.h.120612C0E4CBBB08.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.2392DEBDDD619675.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.2392DEBDDD619675.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.2392DEBDDD619675.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey.h.2392DEBDDD619675.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.2F9F5CD9D79CFC6B.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.2F9F5CD9D79CFC6B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.2F9F5CD9D79CFC6B.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey.h.2F9F5CD9D79CFC6B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.32B8C18F8D449D49.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.32B8C18F8D449D49.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.32B8C18F8D449D49.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey.h.32B8C18F8D449D49.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.42091FE710F4F947.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.42091FE710F4F947.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.42091FE710F4F947.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey.h.42091FE710F4F947.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.5ED768AB0D7DF4CE.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.5ED768AB0D7DF4CE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.5ED768AB0D7DF4CE.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey.h.5ED768AB0D7DF4CE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.6E7B473C25D85672.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.6E7B473C25D85672.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.6E7B473C25D85672.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey.h.6E7B473C25D85672.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.7B1F59E994B72D8E.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.7B1F59E994B72D8E.idx new file mode 100644 index 0000000000000000000000000000000000000000..153474c7e92b29c49964da4df8eb066ade0dbfab GIT binary patch literal 8582 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

Qu z(w8!K{)Z>k`9HlAM212)W9XP*Zdf;LaV&K1G2P`4{y22MmP`l2ihvacZkRVQnXQXu zz%B2XUwS^%k?}y7L+1o>!xQBjFmLJ0Pv?J_^tF~u1i}Uyuz?O17fwoI!<7y9Oo|GJ{( z;UROD>PR%i$e}rb-0&EDuUE}l`E5YhxP?JvI1qAaZU{GwFo2I_d)EooTVV}jf`|bK zljx)nZWuws2|I6w?s!iZS)?OVfiRkm9>5Lnf{$ZQ{gr(gGY?p`BnAk}1D5N!VT1&} zCiS21sxsXl4CVR}AjHwQ!QAi&e4x+&^v8zguio6EE&50zu}C>drIU21 ze?3lg9dNAJItc3DqtK02WtF($-SG7|_0WQizm3}aq?SwqLM08Tq`~6CNqqagB#->FD0I1tv-fVK2)abct)Ui4poEyK8d()A5GVg%A-^szzQ z@N`4iy!?H_D>GA`KB5mI_W~i6riO6C2=Kca5U%V^Jo&3Z+NLF$IG%PI+TQo%zrV6J z_s7H8H??Fk#MnsH8)>Mx@Q(O+u8mZ^Kg`<&xN(jb%7>ea#AuuO{iSiUywudH49%4jXo zVvJ52+R0w(@Vtc0>o?&=F*n!U9H1pRNI6DBkM&LVyC0I@uerxjsU=a+&3YQJ9=4Nm z;c@tO`su@jMb$q&pQ0r*fV3)Lm6jV$;0N^9wWecVo^c)5k^6x#O*Ku=4JYsw{>2Xh9nwCTYp^B=js6kvfiI3=y;9Jcbu5K8nCGZ2PWeruYp*nG4BuODX)p5S@skUu8 zG6qPCRf~1p@F-kUIpl@TbLN#)-9fuB~;vf){Z~`T$ z-GDDNoA97w13r^$$VZ(9e4)>T2h|xkgent`yT5qz;QYNm+=M_osAdNR;iY^~tbv0m zHH1;30nGFn!YIrDR#X`}9yq0M@phLrfnyKV?4cm2l+VapUFq+A+S)!)vOGhcQDJSA zEGx-M6$&uPQclWMs8S@$YO-2|n^uBKLMo^Vi;M)zNY+pluCN4aPpYU2w}k{Jm29Lc zJj4>{7_y0~P~u3I(^P+&4#66WG7>Up8WQtH@dz+ejtGw#{$ox~^}&|_-bXe2sBdN- z+;-#4=J=*qm1HR+WokV95>zmar1C+JV!Op`5h=u z!NHU%@==n)E)!BzcuWv?s#TF6OVVUvc#cz$Jkt@Wxj@xKIEqLKGdS zKcQQpJB0^TCpd)K6b{sy5Q+&+41@|3U?wjSMqLRo6O{;~nuO>=MG8;Kx%^K)DR*T7 ze;3v4^6z;Rm(W6pO3?x(CA46A5_>=)2{2QU2+xb$`P$!Jo|pr$E70ZJX{agzW|9)w z^N;kzS05sG0bCkb>SN~`HP%P+zRLx88`W&{AAHoF;827o2130F4kk8zuuz#WD4{Ne z2el>enXp7YDoTKvoJ1IPB!m(AQFvDFitl*4?dnkA7fZ#y`h=nqV5TTB%o1pC;iFac)r64~1~WQ~@+2Z90KOEr7_8yp2EIGEZ*KFUmhnZ`sI#U;Q@St5** z5@4n$5q@s)-t=+v$5#NnpKA6~&_>E<|JHvsOz#*I00sA z6Jac+05gq=Fp5innX>f3LQ=xK3n?i)hs`q@YAct$1^jxdsfX|S=nx7MS_ow+97m$x z{r%aJiBCX_?NqbfpFavta4@xrfly`wtY}Phy!hqEzr5Y@aSAxLQq5L>pz~$jKkur0 zun`>9R8#G*vM5F&Cm}*bEPOja3q^loA1FJ)!89krSdRf#lqNb*V1k3GON3EY0?afe z!YC#oA0Z-z=grT)YnmJwxfb}(Qq8l}w>N=jDGFHrhGblz&M>`Sx%O#aqml(6=a1PE0$zgMOLX%(@CKA z$a<{RwKoccl0Gl<5oJF+2hh z>!_yAzs+vCC$@hyW6#gvSQfaARM^%5J*UW z;lND-4yO9C2bB8&Gp&y>syToag^v!Dec(`3z0V=UJUEz=N0>O|0{$zI(~;}s?+MF= S%ipI@9$Vf+=aG3n8u=fkcXM_C literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.C414A2A44CDD08DF.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.C414A2A44CDD08DF.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.C414A2A44CDD08DF.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey.h.C414A2A44CDD08DF.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.D296F9C0915E7013.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.D296F9C0915E7013.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey.h.D296F9C0915E7013.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey.h.D296F9C0915E7013.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.072D58BA1BBE4DF8.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.072D58BA1BBE4DF8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.072D58BA1BBE4DF8.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.072D58BA1BBE4DF8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.0BA1243C951C4568.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.0BA1243C951C4568.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.0BA1243C951C4568.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.0BA1243C951C4568.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.0CC8CB8D299AF7A7.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.0CC8CB8D299AF7A7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.0CC8CB8D299AF7A7.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.0CC8CB8D299AF7A7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.228C20E8E403EF4F.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.228C20E8E403EF4F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.228C20E8E403EF4F.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.228C20E8E403EF4F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.3E8E8880E1C6A7B7.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.3E8E8880E1C6A7B7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.3E8E8880E1C6A7B7.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.3E8E8880E1C6A7B7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.51C643297D71824E.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.51C643297D71824E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.51C643297D71824E.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.51C643297D71824E.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.560918B53F1B1350.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.560918B53F1B1350.idx new file mode 100644 index 0000000000000000000000000000000000000000..9329576b5ea1efceae5651052b4774a3d3e8c1d8 GIT binary patch literal 2888 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 Sg+(P>o-8(OE-!szEBXU)Rd?+G literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.AA6ACBD494D41462.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.AA6ACBD494D41462.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.AA6ACBD494D41462.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.AA6ACBD494D41462.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.B672BA53677E3C6D.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.B672BA53677E3C6D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.B672BA53677E3C6D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.B672BA53677E3C6D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.C38A4B9EBA0A3F19.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.C38A4B9EBA0A3F19.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.C38A4B9EBA0A3F19.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.C38A4B9EBA0A3F19.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.DF0909A15A6F95FA.idx b/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.DF0909A15A6F95FA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.DF0909A15A6F95FA.idx rename to Source/.cache/.cache/clangd/index/apt32f102_tkey_parameter.c.DF0909A15A6F95FA.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.06F4C844F26E0444.idx b/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.06F4C844F26E0444.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.06F4C844F26E0444.idx rename to Source/.cache/.cache/clangd/index/apt32f102_types_local.h.06F4C844F26E0444.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.1BCDA27893891AE8.idx b/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.1BCDA27893891AE8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.1BCDA27893891AE8.idx rename to Source/.cache/.cache/clangd/index/apt32f102_types_local.h.1BCDA27893891AE8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.2E85F431138DFC2F.idx b/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.2E85F431138DFC2F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.2E85F431138DFC2F.idx rename to Source/.cache/.cache/clangd/index/apt32f102_types_local.h.2E85F431138DFC2F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.367A81F8743432ED.idx b/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.367A81F8743432ED.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.367A81F8743432ED.idx rename to Source/.cache/.cache/clangd/index/apt32f102_types_local.h.367A81F8743432ED.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.3ED0A759A68E20AC.idx b/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.3ED0A759A68E20AC.idx new file mode 100644 index 0000000000000000000000000000000000000000..8f4c358bc269437736be6c63c0933c5a0ad937ad GIT binary patch literal 7422 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.81B948FB3A6CEDA5.idx b/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.81B948FB3A6CEDA5.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.81B948FB3A6CEDA5.idx rename to Source/.cache/.cache/clangd/index/apt32f102_types_local.h.81B948FB3A6CEDA5.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.857E92313C2419E9.idx b/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.857E92313C2419E9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.857E92313C2419E9.idx rename to Source/.cache/.cache/clangd/index/apt32f102_types_local.h.857E92313C2419E9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.B0422270014971E7.idx b/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.B0422270014971E7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.B0422270014971E7.idx rename to Source/.cache/.cache/clangd/index/apt32f102_types_local.h.B0422270014971E7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.C0DD07E88E6FB1FA.idx b/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.C0DD07E88E6FB1FA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.C0DD07E88E6FB1FA.idx rename to Source/.cache/.cache/clangd/index/apt32f102_types_local.h.C0DD07E88E6FB1FA.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.CE52A9DFF5C9F22F.idx b/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.CE52A9DFF5C9F22F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.CE52A9DFF5C9F22F.idx rename to Source/.cache/.cache/clangd/index/apt32f102_types_local.h.CE52A9DFF5C9F22F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.D9DD89E433E23838.idx b/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.D9DD89E433E23838.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.D9DD89E433E23838.idx rename to Source/.cache/.cache/clangd/index/apt32f102_types_local.h.D9DD89E433E23838.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.DC06C8AD0B02A93D.idx b/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.DC06C8AD0B02A93D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_types_local.h.DC06C8AD0B02A93D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_types_local.h.DC06C8AD0B02A93D.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_uart.c.049D04D57C19D568.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.c.049D04D57C19D568.idx new file mode 100644 index 0000000000000000000000000000000000000000..40d17d0e559dffbbfc67de708fed1ebd38beca05 GIT binary patch literal 8982 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 K%0&HS?!N(P$8C}T literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.2D143F679B576B21.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.c.2D143F679B576B21.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.2D143F679B576B21.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.c.2D143F679B576B21.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.2F87397F52A57664.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.c.2F87397F52A57664.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.2F87397F52A57664.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.c.2F87397F52A57664.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.41C14967F75BF6DF.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.c.41C14967F75BF6DF.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.41C14967F75BF6DF.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.c.41C14967F75BF6DF.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.590A965CCEFFA539.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.c.590A965CCEFFA539.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.590A965CCEFFA539.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.c.590A965CCEFFA539.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.63C7B125485882F5.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.c.63C7B125485882F5.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.63C7B125485882F5.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.c.63C7B125485882F5.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.7EB4DF81AABE91F9.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.c.7EB4DF81AABE91F9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.7EB4DF81AABE91F9.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.c.7EB4DF81AABE91F9.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_uart.c.8DC64BE3DC63F25A.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.c.8DC64BE3DC63F25A.idx new file mode 100644 index 0000000000000000000000000000000000000000..289a3dffc69f009b721b08966eda31204658c2f3 GIT binary patch literal 8982 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 JWuksE_utsrZFB$t literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.93CFECB07E82E305.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.c.93CFECB07E82E305.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.93CFECB07E82E305.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.c.93CFECB07E82E305.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.972285B13452E077.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.c.972285B13452E077.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.972285B13452E077.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.c.972285B13452E077.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.B7327DB66A300A94.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.c.B7327DB66A300A94.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.B7327DB66A300A94.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.c.B7327DB66A300A94.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.BA8AB7645E784A0C.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.c.BA8AB7645E784A0C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.BA8AB7645E784A0C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.c.BA8AB7645E784A0C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.D2EBBEA533354CDE.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.c.D2EBBEA533354CDE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.D2EBBEA533354CDE.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.c.D2EBBEA533354CDE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.F748CB772285E964.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.c.F748CB772285E964.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.F748CB772285E964.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.c.F748CB772285E964.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.FF5C40EA7BA3EF55.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.c.FF5C40EA7BA3EF55.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.c.FF5C40EA7BA3EF55.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.c.FF5C40EA7BA3EF55.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.0D810250814FADB3.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.h.0D810250814FADB3.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.0D810250814FADB3.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.h.0D810250814FADB3.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.129296C1351CCB63.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.h.129296C1351CCB63.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.129296C1351CCB63.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.h.129296C1351CCB63.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.1B9EAB4466A2E23A.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.h.1B9EAB4466A2E23A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.1B9EAB4466A2E23A.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.h.1B9EAB4466A2E23A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.1BDA8876872310CE.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.h.1BDA8876872310CE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.1BDA8876872310CE.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.h.1BDA8876872310CE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.1C632C8F605F0F65.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.h.1C632C8F605F0F65.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.1C632C8F605F0F65.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.h.1C632C8F605F0F65.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_uart.h.2182B4976E2F3F84.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.h.2182B4976E2F3F84.idx new file mode 100644 index 0000000000000000000000000000000000000000..97d225ae587cc6cb2649bd1703ce790257e69f60 GIT binary patch literal 6236 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.26E492AB174FBC07.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.h.26E492AB174FBC07.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.26E492AB174FBC07.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.h.26E492AB174FBC07.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.4716505876BF004F.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.h.4716505876BF004F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.4716505876BF004F.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.h.4716505876BF004F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.72C6888A83E0F6CF.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.h.72C6888A83E0F6CF.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.72C6888A83E0F6CF.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.h.72C6888A83E0F6CF.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_uart.h.80389B26032128C1.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.h.80389B26032128C1.idx new file mode 100644 index 0000000000000000000000000000000000000000..20776f10dfda3643705591965bb07e6046e7fc82 GIT binary patch literal 6108 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.DF28E1B49FF4C371.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.h.DF28E1B49FF4C371.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.DF28E1B49FF4C371.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.h.DF28E1B49FF4C371.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.ECFF064614B4B6CB.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.h.ECFF064614B4B6CB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.ECFF064614B4B6CB.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.h.ECFF064614B4B6CB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.EEAAD4081A265626.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.h.EEAAD4081A265626.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.EEAAD4081A265626.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.h.EEAAD4081A265626.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.F98AE0E853CAE564.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.h.F98AE0E853CAE564.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.F98AE0E853CAE564.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.h.F98AE0E853CAE564.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.FC90E87911A1F0D6.idx b/Source/.cache/.cache/clangd/index/apt32f102_uart.h.FC90E87911A1F0D6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_uart.h.FC90E87911A1F0D6.idx rename to Source/.cache/.cache/clangd/index/apt32f102_uart.h.FC90E87911A1F0D6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.03F5D71C9B79F2B3.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.03F5D71C9B79F2B3.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.03F5D71C9B79F2B3.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.03F5D71C9B79F2B3.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.388BB2D7719FB385.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.388BB2D7719FB385.idx new file mode 100644 index 0000000000000000000000000000000000000000..a218f80b1e009a3941359195cc432b23b0de685d GIT binary patch literal 3052 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 C{)bWk literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.9CB84EEBC747BE04.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.9CB84EEBC747BE04.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.9CB84EEBC747BE04.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.9CB84EEBC747BE04.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.A5ED878AA62DB7A6.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.A5ED878AA62DB7A6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.A5ED878AA62DB7A6.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.A5ED878AA62DB7A6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.A89A2E4A57C08B8F.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.A89A2E4A57C08B8F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.A89A2E4A57C08B8F.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.A89A2E4A57C08B8F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.BE7D53B9D77DF8BD.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.BE7D53B9D77DF8BD.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.BE7D53B9D77DF8BD.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.BE7D53B9D77DF8BD.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.D9ED9C6884F0FA02.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.D9ED9C6884F0FA02.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.D9ED9C6884F0FA02.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.D9ED9C6884F0FA02.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.E4FF6E8D9B54279B.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.E4FF6E8D9B54279B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.E4FF6E8D9B54279B.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.E4FF6E8D9B54279B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.E8C5428A0EC06DD4.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.E8C5428A0EC06DD4.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.E8C5428A0EC06DD4.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.E8C5428A0EC06DD4.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.ECBDADB7722C34BD.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.ECBDADB7722C34BD.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.ECBDADB7722C34BD.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.ECBDADB7722C34BD.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.F6D133970C72B264.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.F6D133970C72B264.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.F6D133970C72B264.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.c.F6D133970C72B264.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.0A60E311509F05D6.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.0A60E311509F05D6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.0A60E311509F05D6.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.0A60E311509F05D6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.0DAA4E77452D3863.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.0DAA4E77452D3863.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.0DAA4E77452D3863.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.0DAA4E77452D3863.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.0E6F63124E802741.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.0E6F63124E802741.idx new file mode 100644 index 0000000000000000000000000000000000000000..d0b85cb4226a1f5c47fe90763d8b287350016fad GIT binary patch literal 1942 zcmcIjPi)&{6o2kInm?w7rd?AHRc32D25p@(Pd@vmJJCRH*t!)G%1eL zGEF<|!eIz*NE2K@OhQ8p0lSQeZU;0tAS5WXfCNYt5+}67#3aOt=g| z=imFi&)@I)crKfLy$2v&&b_>(TUs{&Jd97nGL0L%FtIP6@btWC=oLXI7G*_{GpQ3Z z!qH=LMlkgSqhaZ$PY~d-k#pf>wplA#M!lw03zlXz8$w=RwKM(vL5FZ6p(;YDW~pV( z(kN)ls&j?3oI9y1XP0#udpXNf=f{PSb5fF&74xzxPb<>|izG>voSMnxTSa7b%9h1@ z+r8ksj&0z2haHRy9nHtdA*lb>_aIFC$CqzMz17vSB?v28wW$kwt+^zW^@>r`x3Ae* zZu`1z-}u_2fqn_-Uuz^_E?V0dovmwScXceE z&CNJDx*+EYtvr*zFQr4_LVB)dSWce9@k`fh6=T6!cTOIZk~w@f+Ly{_mqP8tFXP4%$G5|e`TU(Vw&mU)D!13??i{qHvSt#kH|&rftua3p{i>48Bc46HKu{{HP^lm(6|OtDi#;O*JvC_EZ} zWBSk3)+P%NQ9_K34T9Ix?GR#xyZr5Mzn=HQ9&B-dInYmn-2!iHA*Z6o)zRAz^>_{yq}gge#vMioNjK?>-iK=^o;2yuW==H{TjQa`i&S;=qpzBg_a# zLR(?|oy%GF?vOk9}*^+Nk0jMK#m$rz0%mc&o##D zxaIE1AIW{?34grC`1r6VOivrAg$UdJxn!Wmp$IX|#i?Bg6PsLk-(NT8Hhy{U!!DMO zMPmudV)-e4YM4qlpWfui(kcug^!I^pUv&C2EHt>6co?wuY=nNoi4*-R!^9b9vQt=~FU-#X literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.5B02A65A588108A1.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.5B02A65A588108A1.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.5B02A65A588108A1.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.5B02A65A588108A1.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.765661C0A35567D8.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.765661C0A35567D8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.765661C0A35567D8.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.765661C0A35567D8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.782E723BB922EED9.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.782E723BB922EED9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.782E723BB922EED9.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.782E723BB922EED9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.9E54FCFFC854BE5D.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.9E54FCFFC854BE5D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.9E54FCFFC854BE5D.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.9E54FCFFC854BE5D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.AC6B554C18CC6E55.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.AC6B554C18CC6E55.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.AC6B554C18CC6E55.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.AC6B554C18CC6E55.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.B62C23F1180E93D3.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.B62C23F1180E93D3.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.B62C23F1180E93D3.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.B62C23F1180E93D3.idx diff --git a/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.BD513207619F3CC1.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.BD513207619F3CC1.idx new file mode 100644 index 0000000000000000000000000000000000000000..20c0bdfb1d66418dc74a063761a1c94d88271921 GIT binary patch literal 2036 zcmcIkU2NM_6uvGE&5u`?CSB8ds?64Q6xup*;xt6lppBC*BFoC+EgKRtPU3X#(xf;} z%QWp_FFXwKh%~_qXp_(oL;Sn|qVRwQ4+segEg%6>g~ZdehlxpuC(gajZ5E04XIc?AJIHhM9fNH=RG+pO30YTnlEW<$ssYuGa`O*jds;+iUyYPMF^ zZJmOcR$Is?mCR{Py|7{^(8~$WT$&U{FG>kgR>&!uGONxKERrBq%G`V^w^Kx-Gnf{h zU1x!B9b-Ve#{`o?NApRt3EF@4oj_9$czO5aTU#sJg0QMrn}%T2n#)4jsF*cl_nN)w zcCXv@i?@9=KraFG+c^?wA(?$fi-w+zX#j^hL#Z>2c7}080DK6&gO{-*x=|a^k ziu#Hjkt*Skq+!vfOAm zSE4N9fFbEh_VY9B%nz#uZB zpBPe37+(J66YtS4=6>W53khS)7)K2Gi~aa7UjJ_MXXSEXghO6PIMjWppO|*SjSr8= zFTDDvmqooWL&O!?$H&-MpuJI_zcF&`=H-;lAs;Y|GNT+ZZHA4vuBX|%H(un>K1dj6 z#yMiz33smj{{H&B8o3Z@<^Y@^Vy;(=3*s8J-!TR8+|> zucKhA7D|Hh6SU;1{MCC`j`oiOQ*0nMwzIK({6Kt?o<}MF;StR0am$%B4{ut ztF*!SqV?I*D+`S|t+srT;#(=Z_1+94O ABme*a literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.D014B29E2B8FD855.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.D014B29E2B8FD855.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.D014B29E2B8FD855.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.D014B29E2B8FD855.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.D025186647C89011.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.D025186647C89011.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.D025186647C89011.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.D025186647C89011.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.E14E1BF42E7B9512.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.E14E1BF42E7B9512.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.E14E1BF42E7B9512.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.E14E1BF42E7B9512.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.F0355437782D6C77.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.F0355437782D6C77.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.F0355437782D6C77.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.F0355437782D6C77.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.F15A0C50FD3AC87C.idx b/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.F15A0C50FD3AC87C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.F15A0C50FD3AC87C.idx rename to Source/.cache/.cache/clangd/index/apt32f102_wwdt.h.F15A0C50FD3AC87C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.020E0AB9FDAB4BA4.idx b/Source/.cache/.cache/clangd/index/crt0.S.020E0AB9FDAB4BA4.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.020E0AB9FDAB4BA4.idx rename to Source/.cache/.cache/clangd/index/crt0.S.020E0AB9FDAB4BA4.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.055F8EC0AEB36423.idx b/Source/.cache/.cache/clangd/index/crt0.S.055F8EC0AEB36423.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.055F8EC0AEB36423.idx rename to Source/.cache/.cache/clangd/index/crt0.S.055F8EC0AEB36423.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.2C745C8B6D552F7C.idx b/Source/.cache/.cache/clangd/index/crt0.S.2C745C8B6D552F7C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.2C745C8B6D552F7C.idx rename to Source/.cache/.cache/clangd/index/crt0.S.2C745C8B6D552F7C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.30CC8912087E3159.idx b/Source/.cache/.cache/clangd/index/crt0.S.30CC8912087E3159.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.30CC8912087E3159.idx rename to Source/.cache/.cache/clangd/index/crt0.S.30CC8912087E3159.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.30D319A42A37E9F6.idx b/Source/.cache/.cache/clangd/index/crt0.S.30D319A42A37E9F6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.30D319A42A37E9F6.idx rename to Source/.cache/.cache/clangd/index/crt0.S.30D319A42A37E9F6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.379C3DD8B5A255F6.idx b/Source/.cache/.cache/clangd/index/crt0.S.379C3DD8B5A255F6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.379C3DD8B5A255F6.idx rename to Source/.cache/.cache/clangd/index/crt0.S.379C3DD8B5A255F6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.386CAB3D0DBC0766.idx b/Source/.cache/.cache/clangd/index/crt0.S.386CAB3D0DBC0766.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.386CAB3D0DBC0766.idx rename to Source/.cache/.cache/clangd/index/crt0.S.386CAB3D0DBC0766.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.3A7537AB25AC649E.idx b/Source/.cache/.cache/clangd/index/crt0.S.3A7537AB25AC649E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.3A7537AB25AC649E.idx rename to Source/.cache/.cache/clangd/index/crt0.S.3A7537AB25AC649E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.41B667D4160EFF19.idx b/Source/.cache/.cache/clangd/index/crt0.S.41B667D4160EFF19.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.41B667D4160EFF19.idx rename to Source/.cache/.cache/clangd/index/crt0.S.41B667D4160EFF19.idx diff --git a/Source/.cache/.cache/clangd/index/crt0.S.50753D44B982AC75.idx b/Source/.cache/.cache/clangd/index/crt0.S.50753D44B982AC75.idx new file mode 100644 index 0000000000000000000000000000000000000000..113890e4f0ab47d3786bf9cfbc88ef854f3edce2 GIT binary patch literal 1464 zcmcIkZI9AG5MI4I-%hKip67dv(NCA{mWAL+axq>JB#0UccfoA3S+)zT6iRkWfv^4| zzxliT2W}~zk{C6DO(rv)oqc9HGf(T4Qt9&+0Ipw|4n)K@0RTHjbfn}9|0%oLK1~xzC#4=T)I-0d9!jZ)lATA3odajWk8CaKk$2Nr-8Q%kXc=xBu8VimbwwS|}xi4Yb_o*I51{V7fiSupnb@8WzZ zVlL57k@XVsbXM)r@LtPnysn)Z3vbh_yN&wW^sPxqQXzSDSUGkG0Z`vtz-dFxRKy1W z4nr0BfoRWRLjWaL;aD;beIXBu1*|_7>toCUI_zRQYg%RoxCJ~B!;I5q3{UeplFP!p zX`7b59dN2RoS#C)dr(Fs&S`&a;ei--C%G)vxiC}x8RS8SwngkfjRVRBd=kpOH=>M_ zR_nyU*+<2(_$WATxDIaEq~VeeZ^*G_6UTC%*|w9%-n`aT?qZWs*5i0UnGDU|N>Eg? z9%eGKOm9s%A@I`?=zXj6QHY~33|NmQ9qh-BZlG?eNahn~OxrS@7r4IMTl{_G>jJ`T ze;?<}jA^Z{wjYqVO<8|JrT;&$mv(OT1e!soeENsxCPPd3vs6{u*i~ls7qGA+rrZY| z5%2;+s9ZqH#6#Jqj+IgmY3iY0QV*rnL&?sg#m)mY8?=*usN@}$>VPI%Nv5{7-gvnC zsO82#$Dr%ao>1g+%xtzx6W-`IDhfdm78a`FJHU0b7uD& Dvd7dI literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.A786D651431BBDD7.idx b/Source/.cache/.cache/clangd/index/crt0.S.A786D651431BBDD7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.A786D651431BBDD7.idx rename to Source/.cache/.cache/clangd/index/crt0.S.A786D651431BBDD7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.CF82D1C4F3CC83D2.idx b/Source/.cache/.cache/clangd/index/crt0.S.CF82D1C4F3CC83D2.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.CF82D1C4F3CC83D2.idx rename to Source/.cache/.cache/clangd/index/crt0.S.CF82D1C4F3CC83D2.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.D9FBB7EF038C2AFA.idx b/Source/.cache/.cache/clangd/index/crt0.S.D9FBB7EF038C2AFA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/crt0.S.D9FBB7EF038C2AFA.idx rename to Source/.cache/.cache/clangd/index/crt0.S.D9FBB7EF038C2AFA.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.0BEE43747F118B1C.idx b/Source/.cache/.cache/clangd/index/debug_unit.c.0BEE43747F118B1C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.0BEE43747F118B1C.idx rename to Source/.cache/.cache/clangd/index/debug_unit.c.0BEE43747F118B1C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.0CFFFA43D127B253.idx b/Source/.cache/.cache/clangd/index/debug_unit.c.0CFFFA43D127B253.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.0CFFFA43D127B253.idx rename to Source/.cache/.cache/clangd/index/debug_unit.c.0CFFFA43D127B253.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.13013E0AB3C934A9.idx b/Source/.cache/.cache/clangd/index/debug_unit.c.13013E0AB3C934A9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.13013E0AB3C934A9.idx rename to Source/.cache/.cache/clangd/index/debug_unit.c.13013E0AB3C934A9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.22B67D49C50B2A8B.idx b/Source/.cache/.cache/clangd/index/debug_unit.c.22B67D49C50B2A8B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.22B67D49C50B2A8B.idx rename to Source/.cache/.cache/clangd/index/debug_unit.c.22B67D49C50B2A8B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.3DB6AA6ABDFCFD74.idx b/Source/.cache/.cache/clangd/index/debug_unit.c.3DB6AA6ABDFCFD74.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.3DB6AA6ABDFCFD74.idx rename to Source/.cache/.cache/clangd/index/debug_unit.c.3DB6AA6ABDFCFD74.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.6902D2A70DE1BDF9.idx b/Source/.cache/.cache/clangd/index/debug_unit.c.6902D2A70DE1BDF9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.6902D2A70DE1BDF9.idx rename to Source/.cache/.cache/clangd/index/debug_unit.c.6902D2A70DE1BDF9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.775DB3F0FB31E443.idx b/Source/.cache/.cache/clangd/index/debug_unit.c.775DB3F0FB31E443.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.775DB3F0FB31E443.idx rename to Source/.cache/.cache/clangd/index/debug_unit.c.775DB3F0FB31E443.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.7EAD3E28153DB483.idx b/Source/.cache/.cache/clangd/index/debug_unit.c.7EAD3E28153DB483.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.7EAD3E28153DB483.idx rename to Source/.cache/.cache/clangd/index/debug_unit.c.7EAD3E28153DB483.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.7F82CE9B70D227F7.idx b/Source/.cache/.cache/clangd/index/debug_unit.c.7F82CE9B70D227F7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.7F82CE9B70D227F7.idx rename to Source/.cache/.cache/clangd/index/debug_unit.c.7F82CE9B70D227F7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.C3EAC984A721E943.idx b/Source/.cache/.cache/clangd/index/debug_unit.c.C3EAC984A721E943.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.C3EAC984A721E943.idx rename to Source/.cache/.cache/clangd/index/debug_unit.c.C3EAC984A721E943.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.D5195CF704901148.idx b/Source/.cache/.cache/clangd/index/debug_unit.c.D5195CF704901148.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.D5195CF704901148.idx rename to Source/.cache/.cache/clangd/index/debug_unit.c.D5195CF704901148.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.F9594F2ECF02E489.idx b/Source/.cache/.cache/clangd/index/debug_unit.c.F9594F2ECF02E489.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.c.F9594F2ECF02E489.idx rename to Source/.cache/.cache/clangd/index/debug_unit.c.F9594F2ECF02E489.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.02A3AED83DC4FB9A.idx b/Source/.cache/.cache/clangd/index/debug_unit.h.02A3AED83DC4FB9A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.02A3AED83DC4FB9A.idx rename to Source/.cache/.cache/clangd/index/debug_unit.h.02A3AED83DC4FB9A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.1672BDB43FBAD09F.idx b/Source/.cache/.cache/clangd/index/debug_unit.h.1672BDB43FBAD09F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.1672BDB43FBAD09F.idx rename to Source/.cache/.cache/clangd/index/debug_unit.h.1672BDB43FBAD09F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.3C1D14AD1E968F31.idx b/Source/.cache/.cache/clangd/index/debug_unit.h.3C1D14AD1E968F31.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.3C1D14AD1E968F31.idx rename to Source/.cache/.cache/clangd/index/debug_unit.h.3C1D14AD1E968F31.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.4197049FBDE69862.idx b/Source/.cache/.cache/clangd/index/debug_unit.h.4197049FBDE69862.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.4197049FBDE69862.idx rename to Source/.cache/.cache/clangd/index/debug_unit.h.4197049FBDE69862.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.43ED877525710942.idx b/Source/.cache/.cache/clangd/index/debug_unit.h.43ED877525710942.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.43ED877525710942.idx rename to Source/.cache/.cache/clangd/index/debug_unit.h.43ED877525710942.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.62372DD50D296616.idx b/Source/.cache/.cache/clangd/index/debug_unit.h.62372DD50D296616.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.62372DD50D296616.idx rename to Source/.cache/.cache/clangd/index/debug_unit.h.62372DD50D296616.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.645D4519F8E11EB8.idx b/Source/.cache/.cache/clangd/index/debug_unit.h.645D4519F8E11EB8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.645D4519F8E11EB8.idx rename to Source/.cache/.cache/clangd/index/debug_unit.h.645D4519F8E11EB8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.6B4A994DB248120D.idx b/Source/.cache/.cache/clangd/index/debug_unit.h.6B4A994DB248120D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.6B4A994DB248120D.idx rename to Source/.cache/.cache/clangd/index/debug_unit.h.6B4A994DB248120D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.C91324225255D10E.idx b/Source/.cache/.cache/clangd/index/debug_unit.h.C91324225255D10E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.C91324225255D10E.idx rename to Source/.cache/.cache/clangd/index/debug_unit.h.C91324225255D10E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.CD3B212965A9650E.idx b/Source/.cache/.cache/clangd/index/debug_unit.h.CD3B212965A9650E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.CD3B212965A9650E.idx rename to Source/.cache/.cache/clangd/index/debug_unit.h.CD3B212965A9650E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.D4704C2D1DC09827.idx b/Source/.cache/.cache/clangd/index/debug_unit.h.D4704C2D1DC09827.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.D4704C2D1DC09827.idx rename to Source/.cache/.cache/clangd/index/debug_unit.h.D4704C2D1DC09827.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.E63EAA1B9F1E0A63.idx b/Source/.cache/.cache/clangd/index/debug_unit.h.E63EAA1B9F1E0A63.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/debug_unit.h.E63EAA1B9F1E0A63.idx rename to Source/.cache/.cache/clangd/index/debug_unit.h.E63EAA1B9F1E0A63.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/dip_switch.c.205E5B7F721F903E.idx b/Source/.cache/.cache/clangd/index/dip_switch.c.205E5B7F721F903E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/dip_switch.c.205E5B7F721F903E.idx rename to Source/.cache/.cache/clangd/index/dip_switch.c.205E5B7F721F903E.idx diff --git a/Source/.cache/.cache/clangd/index/dip_switch.c.59CF2DB6AA97F833.idx b/Source/.cache/.cache/clangd/index/dip_switch.c.59CF2DB6AA97F833.idx new file mode 100644 index 0000000000000000000000000000000000000000..aacee2bb81dd698b43b626f91f8c6c8db151ab8b GIT binary patch literal 3648 zcmcJSe@q)y9Khdo^cP&a1CAEjva%MqLcP0EYQ>ICupOmNkkGP)^~lj)Z*T%F_DW$f z#{FT8KjyDLG|@zzMrY>c)MRGH7&XpBW7KKl^bdbTo$Zb{0| zt%gG!w8aVX!hTv@+?UBpWHmKS4tw6iUzqJkgHV} z?%qjpxxkeQg+<$k6wzyvSmCfApZL%V6C6mf#z&xM(OCa__? zsVcc_Mp#(Q6m$QF?sePw{0+e7R9f{vB)3wuN^7q3s+QREsoB3!OYf7`#2nZsEs7DA zW#bWceRr~-t+9M|Jii=m}n@rUvNPaU#?Q=V3jOC>Mn z)vGjU8EizRx^F%E^i3lV#GsquhA@GK`}xn;Zu$D788}Q}gb`VZynO7k%YX5l(BYJA zi;b#W|CI-)cJ%BB*1iE4zQ{7-|E)2%38$P!XER!hQ|T?~USt5LW=u0AqP^s2ulL;O zKW)Y-yV*{tOPnsJS0z`g%dL_-4OvO6hI|fRhq}T24!?#N2cyvAZ=V`n$j+UG!MZUwuDX%c zWi2SG6FaYcGaXo6fw^@VU7J;*S<|f2Avl#C%*N1?lg}8;xf_ojf=h4=*X(%xp zvnup-=L>i2e*23<(3KWj%U0FOVEdpC=|z9B`s#6ps{i5-lkM3j_Y`3%2RaA((D3P- zn+=y8K5`U#VJGcdRF(1WcmSz_%|WI55WRos3_cTj_V-FcEN(Z_1f#QNI}oAFLcKP< z&5rceS5HtR1P=jXhjO5O_3e9yo_qP7Z{QN2+1G|N;FRC&*AQc76hb?%t-gBjs(J}C zVMR7!WSi_Jm7JKgEaUE1C5MQi7L*aV!^z<`m7-)+Lvb>$ zp;2;FLu164M$0%ku9=%4Cp45IQyQ8gr!Hv!T8L-|Wy^tWB=wIw$x8!4!2I literal 0 HcmV?d00001 diff --git a/Source/.cache/.cache/clangd/index/dip_switch.c.C8B834584158C49D.idx b/Source/.cache/.cache/clangd/index/dip_switch.c.C8B834584158C49D.idx new file mode 100644 index 0000000000000000000000000000000000000000..625a84e218b62dbdeeb783f797cbc468d14c7d11 GIT binary patch literal 3648 zcmcJSe`p(39KhdY&9C;7UE6EYCh5{8Z7*%SyCjXZX5DN})-=x6(xe+*u3VGLtv%Z& zHJ7FxBJK|nf6QNhC@83#I7K(7!ek<%;siz1DLDPZAE*<5D}sn3_~RwnySs|0xEgZg zKJR_s_vib*M^BLh|dqPfJ{l32>r0RS4|BbSQO4F>p9`S?1o4n|h;vNV?$a~;Bb zrr04}(*u0)`=`+!K+}MZMXwkiNyPbRa@RCJHa4|A0O$k*pIC&=EHAUs*eowSgvCsL zjthpF0MiGe5pGq=_l4#Jfm<8s=ljF-025>aaP^{?kwv;XOUvRsT`ckCemGtZa7$8t zZnZzmL0g<4FYKqq#eJEqR1VQl4~Qiu__$a~u1Y0gK3U3?#OhE|$mCNQd7%c?Nj{O6 zN>wg_c!b+iC@v(IGlIxZPwxqF;f~mfbfqM6sc48x1^HBz-#g0h4g~p7Aar3c7#iS` z)d^%Z~+=^RQ94^?tpf{=hu8RTl! zg}ZlBTrO~>LSYg1LZvth>`?-Fmj|ps; zZ>mZzn-LaPGsWEhp?lqSK7RwSIh9uZ56P_*t^(PDall{y7WNZD&o;%joHO7W&hWnS*XrJF8zt6RW49|r*J|-=L zb(ab#7o;4J_b+9ygICcD(X~fgKi>Q<4r~BWVSTvKN9n0XVAkot1#ZlTeQhy)ePL&5+wT_83k7rrU4zeS@iqZ7)ZW?-1%65# z*$hIDg>Ybp0(JU2($}T$B2^Pbai9DIyc?|_Ne5p${-GDcDcVR|k!AbcVE({uN3W{G zsUh2tNAZ{%cZ_$dG~t-g(3E3JA;XeNJwOhXaXa)`w7-2+KA}=4i?DAhcCv-Sv z+hU_C*MH@MQ#*Qgglg{q3}0j!@&DGC+k{h2qq7;U#i{g`bT2Z1Q!}O+6474rv)6lW z^q)54l-+D6)Fn=r)2ouJ)#X;n9d>V1Dej1GMe1-WkXg&dSbr!dnh#QAC923;?(#B#^9RLg8 zO0*-r_g}N~k^8>v;^DR(b_{o^jz=9)4UIZRH8f@$Q-V5v$=UMrCqB6gR@l&BXheEp zvKovUGBubqgp;`9Jx*Cji-xSERYN|9uS4D7eurN}jDu0=@wZQnE@bDarFT)rp zbF<;HhaNc!y|9z^Evm|RcRYYp!RDY+K}7E#I)l%IpZ&d(5R2Q5G{NYs*$zY~vrw;1 zZ?hx4_01&@<5Fo>H>;VO zZJupa=d%6TZHQ3Ra7$ILFO+8ZXCqU2my3c7uQsrW3cT{&)LYx{A+a9NgQNfumU4?; mh;3WRMq(@BB|JnI(M@y`9Y&McP~U)WcIYkECRcNv6Z`>Ebag)f literal 0 HcmV?d00001 diff --git a/Source/.cache/.cache/clangd/index/dip_switch.h.5F1466B0636F9EFC.idx b/Source/.cache/.cache/clangd/index/dip_switch.h.5F1466B0636F9EFC.idx new file mode 100644 index 0000000000000000000000000000000000000000..1aed632d469a777221c40a8b1bdc15e99ac18923 GIT binary patch literal 2068 zcmcJQZA@EL7{{NM+tQcYUdo_lx2-J{I*?>7cTAHSBLwK^WVoyi$TZ&EwFT~g7Ta4k zLKgY7WE=4%Q8PaOtUTeL1R?>Ff=Tg(Kyk?WLdHp7ZYEebK28RKhKl) zx##@P^Zd`b_xyUhFBXmRCV-w)?C?}tQ#b%{;5V=3)c5q*A+5D}t|L;&=V#Syyce{_@BX_i&ETqyQWm?-Ijdp~k?f;vzJT|Rn(SA(sRj1)!V8KjQ zO~K~EvFocRU~}=}Pan-Ax3g0R`jK1v_v*qI=e`RFPz@jooM5E^%!sqOUMK2YufX{H zb7!BngR2TekJ(dC1K@9gw1)gs8$V}#i&hY@-lcO{XrT1~Sl|7iE!zH4ZnL|N2DXFczGuFE zB7CS|hZ>yr8ohQJ*z{`iiVSpO&%=h&}3+Gi9u6P1T&|D`^XYE4PRZF*f6YENsZ{xIV?2LP0~a9?atiJ zX6>QBZQw-*y-{x!1GYddO{lFyhu>qT1(4pAc;GRCGjMfci=m~ivdLU}G{1TmPdZDH zqar21C_-t}v5pR3|UH|I97gX2XH z=P|Jrc+so#8rZ1?pZ#(5c=YvNJumt=pPA9di+;{;W@tt}UD`eHN7FJcXEYhfTb(vG zjWWTO$;<;~f@@hWk%}_Gl*vbp*Z*7|zyB7>CX>m)n24g^$qbX=IO(A&X9gSLVb()tQTcmh_Kr z@ADowKb*sCv&mdOT1G9(1X*UnSVa@cXh~;;Vm85(W#4-Lk*$%wm-2XgK?vd-s@QPk z4mPpT?a!R&Pk#8~4Xo9fbmenmj|*3#ESJ(5$tY8TOL7kX!ALisOXdTl;~}Bg+^hq7 R@#v}3>jPI0ZtC40_y>4R+u#5I literal 0 HcmV?d00001 diff --git a/Source/.cache/.cache/clangd/index/dip_switch.h.892C094BB37B7080.idx b/Source/.cache/.cache/clangd/index/dip_switch.h.892C094BB37B7080.idx new file mode 100644 index 0000000000000000000000000000000000000000..88fa51f5447d23a7248fd2a2839cd84037d292a9 GIT binary patch literal 1978 zcmcJQZA@EL7{{NM+tQcYUdo{5($*FV9Z2G(cM?sF5mM;rWVoyqWEyYo+5&e#i|s8N zA&Y!kvX}UhsL>D1mpIKFE}3E=(`<`=&=?gz3=Kfpy zPm@8pSR19IZN169UTvo;4ifmCgG_c>o{!~JVqF~!!?-e?jS7OWGb)Vc3scEiIh~cp z#zsZq?sl=ezoZ;cvO+2*3aN;cib?whrIGH4BzB8Ek%)M&kj$3~>8y|(OQr^P3ra36 zWRzK{NM87^$^Xb5ZKq3_tRT;-JH+uwxA^}#OB1t79_=Tjeq|Q^as4otS2D15;^?)t zhSk^mMBOMs^08{FW)gb5DDVJD%Q z@J#B$r%Nv^ci5pG6Iu){W)i9!eEIOe>66#nB_}lD4!l-x0||5oD+5n{`DpjSk`wB1 z+HdwdNubkfZI_-Mx%|^BoF?#fOdUr;b^Y^_x97_0v0e@wn9#^HawKR8K~6j1OR+<5 zHGRi@&4Rsrq`+@CZFhmyXoNf5n6Q3)n|aq8r_XTULJm3 zTUbZA)>4c2R(@JuhJI^Z!R5>rv-aCd9y*P(hAow;2g(|*677vvvwkT`NQklYPw3Q*%b(Rm+hFE$@^u4iGqm|auS4LT*l*$y)8e196 zilw*F8>Civgl=C8Jwl2sI%&L8Ckm>;S_V|tKfJZqzyI850kf?ZYvpPwwJ2-IQWMH5 znh-{Hof3-K8lE)!=DQE@(ShfSczt0A<1bYC!I3xIN=LUoai4qf{pYS@t-)fb+!H-6 vT#2x(r&E$qCIstp0sm*TZn2OqhOjmAM^2vF7`k#`%h>D%ubzcXbG7>yFJ!)( literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/dip_switch.h.D702BD16942DF973.idx b/Source/.cache/.cache/clangd/index/dip_switch.h.D702BD16942DF973.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/dip_switch.h.D702BD16942DF973.idx rename to Source/.cache/.cache/clangd/index/dip_switch.h.D702BD16942DF973.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/dip_switch.h.DFD97CF0B55DCD7F.idx b/Source/.cache/.cache/clangd/index/dip_switch.h.DFD97CF0B55DCD7F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/dip_switch.h.DFD97CF0B55DCD7F.idx rename to Source/.cache/.cache/clangd/index/dip_switch.h.DFD97CF0B55DCD7F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.01B815E8D6E0080E.idx b/Source/.cache/.cache/clangd/index/display_logic.c.01B815E8D6E0080E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.01B815E8D6E0080E.idx rename to Source/.cache/.cache/clangd/index/display_logic.c.01B815E8D6E0080E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.0FC2E9185960BB0A.idx b/Source/.cache/.cache/clangd/index/display_logic.c.0FC2E9185960BB0A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.0FC2E9185960BB0A.idx rename to Source/.cache/.cache/clangd/index/display_logic.c.0FC2E9185960BB0A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.106028EFE05325E6.idx b/Source/.cache/.cache/clangd/index/display_logic.c.106028EFE05325E6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.106028EFE05325E6.idx rename to Source/.cache/.cache/clangd/index/display_logic.c.106028EFE05325E6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.139E890699DD263D.idx b/Source/.cache/.cache/clangd/index/display_logic.c.139E890699DD263D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.139E890699DD263D.idx rename to Source/.cache/.cache/clangd/index/display_logic.c.139E890699DD263D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.2230100079EDD19C.idx b/Source/.cache/.cache/clangd/index/display_logic.c.2230100079EDD19C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.2230100079EDD19C.idx rename to Source/.cache/.cache/clangd/index/display_logic.c.2230100079EDD19C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.333CA3AD385DEABE.idx b/Source/.cache/.cache/clangd/index/display_logic.c.333CA3AD385DEABE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.333CA3AD385DEABE.idx rename to Source/.cache/.cache/clangd/index/display_logic.c.333CA3AD385DEABE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.5505E4A04553F49C.idx b/Source/.cache/.cache/clangd/index/display_logic.c.5505E4A04553F49C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.5505E4A04553F49C.idx rename to Source/.cache/.cache/clangd/index/display_logic.c.5505E4A04553F49C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.6687EA541B8CC1AD.idx b/Source/.cache/.cache/clangd/index/display_logic.c.6687EA541B8CC1AD.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.6687EA541B8CC1AD.idx rename to Source/.cache/.cache/clangd/index/display_logic.c.6687EA541B8CC1AD.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.678AC09C1C507266.idx b/Source/.cache/.cache/clangd/index/display_logic.c.678AC09C1C507266.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.678AC09C1C507266.idx rename to Source/.cache/.cache/clangd/index/display_logic.c.678AC09C1C507266.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.8B0DFEDB4B2A4896.idx b/Source/.cache/.cache/clangd/index/display_logic.c.8B0DFEDB4B2A4896.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.8B0DFEDB4B2A4896.idx rename to Source/.cache/.cache/clangd/index/display_logic.c.8B0DFEDB4B2A4896.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.8B3C5047333BC636.idx b/Source/.cache/.cache/clangd/index/display_logic.c.8B3C5047333BC636.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.8B3C5047333BC636.idx rename to Source/.cache/.cache/clangd/index/display_logic.c.8B3C5047333BC636.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.F82611B0E8CA1DED.idx b/Source/.cache/.cache/clangd/index/display_logic.c.F82611B0E8CA1DED.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.F82611B0E8CA1DED.idx rename to Source/.cache/.cache/clangd/index/display_logic.c.F82611B0E8CA1DED.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.FD6022C490183F0D.idx b/Source/.cache/.cache/clangd/index/display_logic.c.FD6022C490183F0D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.c.FD6022C490183F0D.idx rename to Source/.cache/.cache/clangd/index/display_logic.c.FD6022C490183F0D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.07ED7CC60A851D03.idx b/Source/.cache/.cache/clangd/index/display_logic.h.07ED7CC60A851D03.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.07ED7CC60A851D03.idx rename to Source/.cache/.cache/clangd/index/display_logic.h.07ED7CC60A851D03.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.0E74EFF1ED833617.idx b/Source/.cache/.cache/clangd/index/display_logic.h.0E74EFF1ED833617.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.0E74EFF1ED833617.idx rename to Source/.cache/.cache/clangd/index/display_logic.h.0E74EFF1ED833617.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.2B2289A8BF3947E8.idx b/Source/.cache/.cache/clangd/index/display_logic.h.2B2289A8BF3947E8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.2B2289A8BF3947E8.idx rename to Source/.cache/.cache/clangd/index/display_logic.h.2B2289A8BF3947E8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.2B7BD0D5093A0471.idx b/Source/.cache/.cache/clangd/index/display_logic.h.2B7BD0D5093A0471.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.2B7BD0D5093A0471.idx rename to Source/.cache/.cache/clangd/index/display_logic.h.2B7BD0D5093A0471.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.2EA5F9E7FBCB09A0.idx b/Source/.cache/.cache/clangd/index/display_logic.h.2EA5F9E7FBCB09A0.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.2EA5F9E7FBCB09A0.idx rename to Source/.cache/.cache/clangd/index/display_logic.h.2EA5F9E7FBCB09A0.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.3DFBB24038889185.idx b/Source/.cache/.cache/clangd/index/display_logic.h.3DFBB24038889185.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.3DFBB24038889185.idx rename to Source/.cache/.cache/clangd/index/display_logic.h.3DFBB24038889185.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.4CED32C38B8B9719.idx b/Source/.cache/.cache/clangd/index/display_logic.h.4CED32C38B8B9719.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.4CED32C38B8B9719.idx rename to Source/.cache/.cache/clangd/index/display_logic.h.4CED32C38B8B9719.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.8FEF09B6CF6FBDC5.idx b/Source/.cache/.cache/clangd/index/display_logic.h.8FEF09B6CF6FBDC5.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.8FEF09B6CF6FBDC5.idx rename to Source/.cache/.cache/clangd/index/display_logic.h.8FEF09B6CF6FBDC5.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.BA2B6D3AC7858B1E.idx b/Source/.cache/.cache/clangd/index/display_logic.h.BA2B6D3AC7858B1E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.BA2B6D3AC7858B1E.idx rename to Source/.cache/.cache/clangd/index/display_logic.h.BA2B6D3AC7858B1E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.C1FAC9C3C8596606.idx b/Source/.cache/.cache/clangd/index/display_logic.h.C1FAC9C3C8596606.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.C1FAC9C3C8596606.idx rename to Source/.cache/.cache/clangd/index/display_logic.h.C1FAC9C3C8596606.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.C286DCDBE4772E07.idx b/Source/.cache/.cache/clangd/index/display_logic.h.C286DCDBE4772E07.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.C286DCDBE4772E07.idx rename to Source/.cache/.cache/clangd/index/display_logic.h.C286DCDBE4772E07.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.D0F017C026FA36D1.idx b/Source/.cache/.cache/clangd/index/display_logic.h.D0F017C026FA36D1.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.D0F017C026FA36D1.idx rename to Source/.cache/.cache/clangd/index/display_logic.h.D0F017C026FA36D1.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.E4AD4CB1BD651950.idx b/Source/.cache/.cache/clangd/index/display_logic.h.E4AD4CB1BD651950.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/display_logic.h.E4AD4CB1BD651950.idx rename to Source/.cache/.cache/clangd/index/display_logic.h.E4AD4CB1BD651950.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.11F2A3A5A7E7B571.idx b/Source/.cache/.cache/clangd/index/eeprom.c.11F2A3A5A7E7B571.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.11F2A3A5A7E7B571.idx rename to Source/.cache/.cache/clangd/index/eeprom.c.11F2A3A5A7E7B571.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.16EE79B6F2FDD84F.idx b/Source/.cache/.cache/clangd/index/eeprom.c.16EE79B6F2FDD84F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.16EE79B6F2FDD84F.idx rename to Source/.cache/.cache/clangd/index/eeprom.c.16EE79B6F2FDD84F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.1856CF85CAE4E66F.idx b/Source/.cache/.cache/clangd/index/eeprom.c.1856CF85CAE4E66F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.1856CF85CAE4E66F.idx rename to Source/.cache/.cache/clangd/index/eeprom.c.1856CF85CAE4E66F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.1947E977586D1BAA.idx b/Source/.cache/.cache/clangd/index/eeprom.c.1947E977586D1BAA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.1947E977586D1BAA.idx rename to Source/.cache/.cache/clangd/index/eeprom.c.1947E977586D1BAA.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.21295C98387DA4D9.idx b/Source/.cache/.cache/clangd/index/eeprom.c.21295C98387DA4D9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.21295C98387DA4D9.idx rename to Source/.cache/.cache/clangd/index/eeprom.c.21295C98387DA4D9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.3C79608BD47F4517.idx b/Source/.cache/.cache/clangd/index/eeprom.c.3C79608BD47F4517.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.3C79608BD47F4517.idx rename to Source/.cache/.cache/clangd/index/eeprom.c.3C79608BD47F4517.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.4A1775644ECD6EB5.idx b/Source/.cache/.cache/clangd/index/eeprom.c.4A1775644ECD6EB5.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.4A1775644ECD6EB5.idx rename to Source/.cache/.cache/clangd/index/eeprom.c.4A1775644ECD6EB5.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.54883015A4A9E2D6.idx b/Source/.cache/.cache/clangd/index/eeprom.c.54883015A4A9E2D6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.54883015A4A9E2D6.idx rename to Source/.cache/.cache/clangd/index/eeprom.c.54883015A4A9E2D6.idx diff --git a/Source/.cache/.cache/clangd/index/eeprom.c.56BEF9D9CAD52F2E.idx b/Source/.cache/.cache/clangd/index/eeprom.c.56BEF9D9CAD52F2E.idx new file mode 100644 index 0000000000000000000000000000000000000000..75b6bddad75eec6dd79dea4dc8b3e5968db616ed GIT binary patch literal 6006 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.7F55C45E713D7112.idx b/Source/.cache/.cache/clangd/index/eeprom.c.7F55C45E713D7112.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.7F55C45E713D7112.idx rename to Source/.cache/.cache/clangd/index/eeprom.c.7F55C45E713D7112.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.89A0427A3BDE355D.idx b/Source/.cache/.cache/clangd/index/eeprom.c.89A0427A3BDE355D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.89A0427A3BDE355D.idx rename to Source/.cache/.cache/clangd/index/eeprom.c.89A0427A3BDE355D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.9454507AE5641191.idx b/Source/.cache/.cache/clangd/index/eeprom.c.9454507AE5641191.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.c.9454507AE5641191.idx rename to Source/.cache/.cache/clangd/index/eeprom.c.9454507AE5641191.idx diff --git a/Source/.cache/.cache/clangd/index/eeprom.c.A91F1A6F126B963F.idx b/Source/.cache/.cache/clangd/index/eeprom.c.A91F1A6F126B963F.idx new file mode 100644 index 0000000000000000000000000000000000000000..1b4efa4663abfff126b33e2cc7d8246f2ad7d0ca GIT binary patch literal 6006 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 Kvk-k=2>CC&$w;jL literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.2C9261B0CCC9AF78.idx b/Source/.cache/.cache/clangd/index/eeprom.h.2C9261B0CCC9AF78.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.2C9261B0CCC9AF78.idx rename to Source/.cache/.cache/clangd/index/eeprom.h.2C9261B0CCC9AF78.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.374EEE5196477DB8.idx b/Source/.cache/.cache/clangd/index/eeprom.h.374EEE5196477DB8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.374EEE5196477DB8.idx rename to Source/.cache/.cache/clangd/index/eeprom.h.374EEE5196477DB8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.3C335D4A6F2B09CC.idx b/Source/.cache/.cache/clangd/index/eeprom.h.3C335D4A6F2B09CC.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.3C335D4A6F2B09CC.idx rename to Source/.cache/.cache/clangd/index/eeprom.h.3C335D4A6F2B09CC.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.3CDC8DCE0513C692.idx b/Source/.cache/.cache/clangd/index/eeprom.h.3CDC8DCE0513C692.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.3CDC8DCE0513C692.idx rename to Source/.cache/.cache/clangd/index/eeprom.h.3CDC8DCE0513C692.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.4991383913734B28.idx b/Source/.cache/.cache/clangd/index/eeprom.h.4991383913734B28.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.4991383913734B28.idx rename to Source/.cache/.cache/clangd/index/eeprom.h.4991383913734B28.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.71EE69D4A277B4D0.idx b/Source/.cache/.cache/clangd/index/eeprom.h.71EE69D4A277B4D0.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.71EE69D4A277B4D0.idx rename to Source/.cache/.cache/clangd/index/eeprom.h.71EE69D4A277B4D0.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.877D9525F8505D6F.idx b/Source/.cache/.cache/clangd/index/eeprom.h.877D9525F8505D6F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.877D9525F8505D6F.idx rename to Source/.cache/.cache/clangd/index/eeprom.h.877D9525F8505D6F.idx diff --git a/Source/.cache/.cache/clangd/index/eeprom.h.B67DF36F1AA8B4C8.idx b/Source/.cache/.cache/clangd/index/eeprom.h.B67DF36F1AA8B4C8.idx new file mode 100644 index 0000000000000000000000000000000000000000..bd801a681e729ddc8d6243daac179f2071c88ac9 GIT binary patch literal 3544 zcmb_deM}qY8Gn!Xjsp%;2m}ZQ40%oXjIkjQoK@i1P(U>w24b77yIkxuaWJ-PY!(`& zU7AkK)-_SdveK=qx^{>t%eFS_x-Q8!RjsyZlh&xs6m?6ZA#K`6GpXHIQ*B-M+-pDQ zHO-$p!Q;E%`+VK=@jLIx(9q>#LR_JdLknt3F%UvZ;eRoejLdF=8|`YQhi#5Q+2fj# z-Gh7Ok+Gq1b893Pjvr~kvk9lyd7FcoUGlWKHKe4JBkg8-*zTCI^#Br8W11=a-Oek6 zZ*d4%&R4rxcLTT*i^rB1;^{>*B%KbXS{x2CI5^=Q_sFgTYH)rky`VowRV6v0B$W|J z9znMnR?^Xw_Ihr0>2@c#T8zXZDYW*gO6cR38hWeMUL_iVN~pI9q#xaC<4Zc`zP zIH&uO&X7S_uN~29M)oVg`DkSBKuT6)WPd!KB0&com~sw$wD>tRXCHKo0K7y(>XNL4 zLdnccA|WrSnS0Hh{t#0ZRHmWb$k1f=kccN!>?XCGP)RrvRUKBV^)83i7f;SlC6u5l z2Le93wcBFvbf+T+BdT@UWw%b-`IDsv>IE+phoBplA%WzU!5kq}v2UfBP2*s#1!zdiqAUv$Mt z+C@UUh3--&h?v>Eya`wT%Da2NB$3S-fY5P%yqXjUd1OlsN4cWc&Mf5}sx%o%E7;ow zdkGV0U+F*nwsroUOGZ))$2P%cWCD-do~mEFKdwAbL@EfO4$dJlK?+zfaNqVX@0H1K zJkTc*3FCWtuZhL)Fo8l(+s%iA`PW`Cl4c0dBlMIrfdQQBqn~Pg$Mw-OL20sJ<{;a`MOT zx+QW4+RyT{U=JCv6hC{>dOmn(@s&)A`h|WY)dboXBy(pLaasl}HiV2lzl;uE1BHH=Dx8o|rL`ZD2nj3>cX}`}apasJJh9 z^i?A`$Guzwn~E5%Av7A3f@ z0BgI7u=K}sPnk{a9RN3pO;D)Jh1(0Twz@j}yZ8R|>znlnfUCqRGs0UR{E_p5cjH-r zi^bwbgd1;OnE2IO>)+lYQ5$FD(WgZ1oSnyfB-+Jw@i;3I?dH09q$Y{(g1d}j;=)aaC>;1G>N)67mvgs zQ8(x2u}Kp35RXA0I_jzLROgeR*4vDv+V+D#936h> zKi8pQCec)j4Z~xYD8{u}yyM}XOUZklxB%MiVtW;8V=$YV-G-EV`kLGQ2{wS#AI0zf1>$mp)93^l8nhWRXYugm-KSozy=nn%NtE<;TK?;q_Eg*Je+RfgET~5( zIOYH|_RiusBH){`b{59L2W^e8(aB>Ex^3;Nuk-<976oI|bT|&a*g@Ijn=me=D|CqJjEAhfdja);zld>woT^_iwH&58V%`Y!kO_L+9td zyt=x&{n3{Jt`qCFB8=+>8M4ns7XQf?KUeN~>EJccZWUYgEkRBKSo?sWlgnxIamQ!u zc>ouQMS71hKk&^yC0TVOFVNP$BIxAJgTW^)KPRUEwulyetgip?^K+ajznKHhGJ7mo z(ZB55E&87u8_g@E9b$*x9-z4rxBkvZci>X{AYml<7DW~9VKEt8tc2e@nyhZPNUmLc LoU;&pUI_UwP5Vfr literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.C0D7AC118CF811C4.idx b/Source/.cache/.cache/clangd/index/eeprom.h.C0D7AC118CF811C4.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.C0D7AC118CF811C4.idx rename to Source/.cache/.cache/clangd/index/eeprom.h.C0D7AC118CF811C4.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.CCD2490337879EEE.idx b/Source/.cache/.cache/clangd/index/eeprom.h.CCD2490337879EEE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.CCD2490337879EEE.idx rename to Source/.cache/.cache/clangd/index/eeprom.h.CCD2490337879EEE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.D13CF7AB2C2A5C00.idx b/Source/.cache/.cache/clangd/index/eeprom.h.D13CF7AB2C2A5C00.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.D13CF7AB2C2A5C00.idx rename to Source/.cache/.cache/clangd/index/eeprom.h.D13CF7AB2C2A5C00.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.F541BB4581C006FE.idx b/Source/.cache/.cache/clangd/index/eeprom.h.F541BB4581C006FE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.F541BB4581C006FE.idx rename to Source/.cache/.cache/clangd/index/eeprom.h.F541BB4581C006FE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.FA767DBDB2A2A586.idx b/Source/.cache/.cache/clangd/index/eeprom.h.FA767DBDB2A2A586.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/eeprom.h.FA767DBDB2A2A586.idx rename to Source/.cache/.cache/clangd/index/eeprom.h.FA767DBDB2A2A586.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/errno.h.B1F75E7780176EBE.idx b/Source/.cache/.cache/clangd/index/errno.h.B1F75E7780176EBE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/errno.h.B1F75E7780176EBE.idx rename to Source/.cache/.cache/clangd/index/errno.h.B1F75E7780176EBE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/errno.h.E917EBE5EC8E3AA8.idx b/Source/.cache/.cache/clangd/index/errno.h.E917EBE5EC8E3AA8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/errno.h.E917EBE5EC8E3AA8.idx rename to Source/.cache/.cache/clangd/index/errno.h.E917EBE5EC8E3AA8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/features.h.C056A5B2EFBD7F3C.idx b/Source/.cache/.cache/clangd/index/features.h.C056A5B2EFBD7F3C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/features.h.C056A5B2EFBD7F3C.idx rename to Source/.cache/.cache/clangd/index/features.h.C056A5B2EFBD7F3C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/features.h.D2DB2CA88E1B9A14.idx b/Source/.cache/.cache/clangd/index/features.h.D2DB2CA88E1B9A14.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/features.h.D2DB2CA88E1B9A14.idx rename to Source/.cache/.cache/clangd/index/features.h.D2DB2CA88E1B9A14.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.062EADAC85531A55.idx b/Source/.cache/.cache/clangd/index/ht1621.c.062EADAC85531A55.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.062EADAC85531A55.idx rename to Source/.cache/.cache/clangd/index/ht1621.c.062EADAC85531A55.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.46BE6C8C3B959F5D.idx b/Source/.cache/.cache/clangd/index/ht1621.c.46BE6C8C3B959F5D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.46BE6C8C3B959F5D.idx rename to Source/.cache/.cache/clangd/index/ht1621.c.46BE6C8C3B959F5D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.598D20680087AFCC.idx b/Source/.cache/.cache/clangd/index/ht1621.c.598D20680087AFCC.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.598D20680087AFCC.idx rename to Source/.cache/.cache/clangd/index/ht1621.c.598D20680087AFCC.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.7E5578226B20BA62.idx b/Source/.cache/.cache/clangd/index/ht1621.c.7E5578226B20BA62.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.7E5578226B20BA62.idx rename to Source/.cache/.cache/clangd/index/ht1621.c.7E5578226B20BA62.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.87B851B0269F9BBA.idx b/Source/.cache/.cache/clangd/index/ht1621.c.87B851B0269F9BBA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.87B851B0269F9BBA.idx rename to Source/.cache/.cache/clangd/index/ht1621.c.87B851B0269F9BBA.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.A3FEEAFE1E5D1856.idx b/Source/.cache/.cache/clangd/index/ht1621.c.A3FEEAFE1E5D1856.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.A3FEEAFE1E5D1856.idx rename to Source/.cache/.cache/clangd/index/ht1621.c.A3FEEAFE1E5D1856.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.A625B7A7EAB79110.idx b/Source/.cache/.cache/clangd/index/ht1621.c.A625B7A7EAB79110.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.A625B7A7EAB79110.idx rename to Source/.cache/.cache/clangd/index/ht1621.c.A625B7A7EAB79110.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.AC3B70E69553F6D3.idx b/Source/.cache/.cache/clangd/index/ht1621.c.AC3B70E69553F6D3.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.AC3B70E69553F6D3.idx rename to Source/.cache/.cache/clangd/index/ht1621.c.AC3B70E69553F6D3.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.D925212CC6AA1265.idx b/Source/.cache/.cache/clangd/index/ht1621.c.D925212CC6AA1265.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.D925212CC6AA1265.idx rename to Source/.cache/.cache/clangd/index/ht1621.c.D925212CC6AA1265.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.E879F41AD10F4054.idx b/Source/.cache/.cache/clangd/index/ht1621.c.E879F41AD10F4054.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.E879F41AD10F4054.idx rename to Source/.cache/.cache/clangd/index/ht1621.c.E879F41AD10F4054.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.EE091B158AF2EE3A.idx b/Source/.cache/.cache/clangd/index/ht1621.c.EE091B158AF2EE3A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.EE091B158AF2EE3A.idx rename to Source/.cache/.cache/clangd/index/ht1621.c.EE091B158AF2EE3A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.F4F8FB30DCA48D5F.idx b/Source/.cache/.cache/clangd/index/ht1621.c.F4F8FB30DCA48D5F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.c.F4F8FB30DCA48D5F.idx rename to Source/.cache/.cache/clangd/index/ht1621.c.F4F8FB30DCA48D5F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.176AEED6EDBBD532.idx b/Source/.cache/.cache/clangd/index/ht1621.h.176AEED6EDBBD532.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.176AEED6EDBBD532.idx rename to Source/.cache/.cache/clangd/index/ht1621.h.176AEED6EDBBD532.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.23D2C44FC1C05104.idx b/Source/.cache/.cache/clangd/index/ht1621.h.23D2C44FC1C05104.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.23D2C44FC1C05104.idx rename to Source/.cache/.cache/clangd/index/ht1621.h.23D2C44FC1C05104.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.265676A5A6AE9F1A.idx b/Source/.cache/.cache/clangd/index/ht1621.h.265676A5A6AE9F1A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.265676A5A6AE9F1A.idx rename to Source/.cache/.cache/clangd/index/ht1621.h.265676A5A6AE9F1A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.38482A2E6782099A.idx b/Source/.cache/.cache/clangd/index/ht1621.h.38482A2E6782099A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.38482A2E6782099A.idx rename to Source/.cache/.cache/clangd/index/ht1621.h.38482A2E6782099A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.3A778F6B1E51306F.idx b/Source/.cache/.cache/clangd/index/ht1621.h.3A778F6B1E51306F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.3A778F6B1E51306F.idx rename to Source/.cache/.cache/clangd/index/ht1621.h.3A778F6B1E51306F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.3AE9C2682138FD95.idx b/Source/.cache/.cache/clangd/index/ht1621.h.3AE9C2682138FD95.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.3AE9C2682138FD95.idx rename to Source/.cache/.cache/clangd/index/ht1621.h.3AE9C2682138FD95.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.5CE8A201673AA433.idx b/Source/.cache/.cache/clangd/index/ht1621.h.5CE8A201673AA433.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.5CE8A201673AA433.idx rename to Source/.cache/.cache/clangd/index/ht1621.h.5CE8A201673AA433.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.5DE0CE01C6191C5B.idx b/Source/.cache/.cache/clangd/index/ht1621.h.5DE0CE01C6191C5B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.5DE0CE01C6191C5B.idx rename to Source/.cache/.cache/clangd/index/ht1621.h.5DE0CE01C6191C5B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.834E2E407CAFC078.idx b/Source/.cache/.cache/clangd/index/ht1621.h.834E2E407CAFC078.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.834E2E407CAFC078.idx rename to Source/.cache/.cache/clangd/index/ht1621.h.834E2E407CAFC078.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.884178EAB53F3047.idx b/Source/.cache/.cache/clangd/index/ht1621.h.884178EAB53F3047.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.884178EAB53F3047.idx rename to Source/.cache/.cache/clangd/index/ht1621.h.884178EAB53F3047.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.9F069F06696C1493.idx b/Source/.cache/.cache/clangd/index/ht1621.h.9F069F06696C1493.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.9F069F06696C1493.idx rename to Source/.cache/.cache/clangd/index/ht1621.h.9F069F06696C1493.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.C5D8C0BCCD3830B9.idx b/Source/.cache/.cache/clangd/index/ht1621.h.C5D8C0BCCD3830B9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/ht1621.h.C5D8C0BCCD3830B9.idx rename to Source/.cache/.cache/clangd/index/ht1621.h.C5D8C0BCCD3830B9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.2B1E044CFA50565C.idx b/Source/.cache/.cache/clangd/index/includes.h.2B1E044CFA50565C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.2B1E044CFA50565C.idx rename to Source/.cache/.cache/clangd/index/includes.h.2B1E044CFA50565C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.2EF4E3BCA5173AED.idx b/Source/.cache/.cache/clangd/index/includes.h.2EF4E3BCA5173AED.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.2EF4E3BCA5173AED.idx rename to Source/.cache/.cache/clangd/index/includes.h.2EF4E3BCA5173AED.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.45F151CF06A7152C.idx b/Source/.cache/.cache/clangd/index/includes.h.45F151CF06A7152C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.45F151CF06A7152C.idx rename to Source/.cache/.cache/clangd/index/includes.h.45F151CF06A7152C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.4F41B502E6247CEA.idx b/Source/.cache/.cache/clangd/index/includes.h.4F41B502E6247CEA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.4F41B502E6247CEA.idx rename to Source/.cache/.cache/clangd/index/includes.h.4F41B502E6247CEA.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.604BCE1F49AFEF61.idx b/Source/.cache/.cache/clangd/index/includes.h.604BCE1F49AFEF61.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.604BCE1F49AFEF61.idx rename to Source/.cache/.cache/clangd/index/includes.h.604BCE1F49AFEF61.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.9084D968D2313808.idx b/Source/.cache/.cache/clangd/index/includes.h.9084D968D2313808.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.9084D968D2313808.idx rename to Source/.cache/.cache/clangd/index/includes.h.9084D968D2313808.idx diff --git a/Source/.cache/.cache/clangd/index/includes.h.A344D84213174197.idx b/Source/.cache/.cache/clangd/index/includes.h.A344D84213174197.idx new file mode 100644 index 0000000000000000000000000000000000000000..6c99e2a264aaf233b03623dfcbeb5b2fdb9c2795 GIT binary patch literal 3976 zcmcInO>7%Q6dtG0I&s`Mf9`LZr13VO)}Hm+kdRYVCxNKy#dZ>{ss>EV+Fh(y zYgK@j)__H9yaXX!UV?_}!pidHDt0NXQ);7agE+8qc|%*Vtt-SKHfg|(QlY38wD({Y zBG&5Uv27U*vZF!bAUiNIM2dEaf8e`?QbC2xH~Fr@cK>u(hvj3fFmR{&de+0Bnh3oV z&A#`MPTnGW*bHMK^gm+nFTqXfwQ8<`u)ejmsll?MsmlTRkYHG^Xs}+?>lOX#2l|Fu z)HPLmr&!b$VT}eJ!mzegtFK%M(*`e5>f6*Xbt`aW*f)u*vt8n&Z5h@vc0JmbVcF+p zjC{}51BduB1Omg8W>@D~@hPHq-yDyt-f;brW))RUo@L!Ikwoi_{$>3@Qgmdukn#UZ z=k@+mUm-y~EHwlgI6n3aiAR7unFowrndy<5`=;B+Oa5T#G^J*SXfjWgSTe2KQZwWE zGJR)KYlgW*;!VIGREYNP-Epww{TA*>^xyBenCUj_JEsYL}0^4a{G z2_&@o`X`?gkUlu`y0}Lx|{Dk<(qrBl`Q? z-@jRZdH--pHL3O_e;9o9^OwK;KEdfive1j-r_{qkPyd*I%<1#V^Md~Fo3}o`_4Yca zFC;JYXy9Sn2z8i;*tPIz4o9l|PuTxOV=@K+92Ia*z*zx%9s+Pyu)Md7hfoK(m;)dy z;FN$T1e_M|xPYexObQrxtei;+c1*w_0gnkdF5pZL4k&l>_g`FH$jwiWWJbp)CbP$m spE!By^wgQ@nYrBAvDxI|Bk9!e(ZL~*?rrK;T{O!G_Kbi>1Ux0+zhxyfy#N3J literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.B72F0FAB0F7B0A20.idx b/Source/.cache/.cache/clangd/index/includes.h.B72F0FAB0F7B0A20.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.B72F0FAB0F7B0A20.idx rename to Source/.cache/.cache/clangd/index/includes.h.B72F0FAB0F7B0A20.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.BDD96BB989D769F9.idx b/Source/.cache/.cache/clangd/index/includes.h.BDD96BB989D769F9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.BDD96BB989D769F9.idx rename to Source/.cache/.cache/clangd/index/includes.h.BDD96BB989D769F9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.C31C42429AD71DA4.idx b/Source/.cache/.cache/clangd/index/includes.h.C31C42429AD71DA4.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.C31C42429AD71DA4.idx rename to Source/.cache/.cache/clangd/index/includes.h.C31C42429AD71DA4.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.C5ABB66322A3AC2D.idx b/Source/.cache/.cache/clangd/index/includes.h.C5ABB66322A3AC2D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.C5ABB66322A3AC2D.idx rename to Source/.cache/.cache/clangd/index/includes.h.C5ABB66322A3AC2D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.CBEE140036018686.idx b/Source/.cache/.cache/clangd/index/includes.h.CBEE140036018686.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.CBEE140036018686.idx rename to Source/.cache/.cache/clangd/index/includes.h.CBEE140036018686.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.D014F8242E32DB46.idx b/Source/.cache/.cache/clangd/index/includes.h.D014F8242E32DB46.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.D014F8242E32DB46.idx rename to Source/.cache/.cache/clangd/index/includes.h.D014F8242E32DB46.idx diff --git a/Source/.cache/.cache/clangd/index/includes.h.D1EEE3737AD9EC52.idx b/Source/.cache/.cache/clangd/index/includes.h.D1EEE3737AD9EC52.idx new file mode 100644 index 0000000000000000000000000000000000000000..17cd343fac2936d6e2956fb398465591058f38f6 GIT binary patch literal 4054 zcmcInOKcNI7#;^moH!;X5A$>$BpaUgtk)LMoGP58jSxbzouF`8t!HPQ!RwvXK9X2M zwBjM8s;YYHu_{tq4jj0_rImVuQ`(+EstSk$2QDCSL5NvrH`6w~;ThTTx8KhE-~8W< zNAs5#=I1vC04V7T>rL!wI{^TD*w^(Oanr*C> zD`kLY7JxxaJOd$|oq?Kd!_w@zGPWtKQfi_VjaaaBZb_Lljq}7JCaJ-tLM|`oluuw8 zBDc}XV$;xSWL1I0LZ+`{h$Q7K`@mDVLQaORr?XMHmCot7EjJr!1&LerkBc58RY&MQ z*=)`})X5rT9qU0Zg#JV9vl)1iI*p30A*?PhUsPaGQsh~mTqYP+OA4&!)oMw-^trku zE2<(Zr{uh%zzX#pgkfd5Qk^>=*apv1>X}s2Rl~PL#Mgjs!-pbz|3`v4SZE5=w><1<0+#?eA{Q9jBJC0CeckThA-{d=)P*`j6p^b+43W`Iq0Ts- z$ho^h_l#>3fhPgGP$Am6d&l-I?=^5s;QYOoja}8G?9dme($TBJc8}K9^p2mHZpZ9s zvO*w-z$!I0kJSs~iv>lk@<-otN!`NwII%odjkKDz8>|p%ynQ~lvY5V-1Tg@nd(u6l z(wWQ|3G}jeM|Z`f*tMov0YBe?u z>EcAY!;v7uz3=j0`|sB0lAvqzJ&+3N!X)qDV8cx?`Qh4NYT)LrJFz|~7LN^wox$`s z&mMd=|HEuozf?#SMxt>2QZZE=iPS&sYQ}CmPu{Vy*?9IqG&V{v*1MTj$VW*rx}8i& zN5L4~P9dZtMMk$L9@3AdUjAjgaNaXXIWBKWZuI{4=l75Q9%ghdp4-aekHjxKUOzqZ zjL|3JCpi7^{?V)79$RGe$@s}F8aUY00v*>u?ib7(&>gC>pGgjfIGo^+hXF~>21^>Y zsR#g&;&7D1eHaPUxObZmTb>hR!1yt^lv=-=Jj2h!0P05Tlz=WvX}LmVbJ?BQ@Xhe53# Jw!R1e@Bx^6P1XPa literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.EC08772C01E9B111.idx b/Source/.cache/.cache/clangd/index/includes.h.EC08772C01E9B111.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/includes.h.EC08772C01E9B111.idx rename to Source/.cache/.cache/clangd/index/includes.h.EC08772C01E9B111.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.0CB39DA4C561D32C.idx b/Source/.cache/.cache/clangd/index/key_logic.c.0CB39DA4C561D32C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.0CB39DA4C561D32C.idx rename to Source/.cache/.cache/clangd/index/key_logic.c.0CB39DA4C561D32C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.2F17DB59D655E0E6.idx b/Source/.cache/.cache/clangd/index/key_logic.c.2F17DB59D655E0E6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.2F17DB59D655E0E6.idx rename to Source/.cache/.cache/clangd/index/key_logic.c.2F17DB59D655E0E6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.37B5DC6CD1FBABF6.idx b/Source/.cache/.cache/clangd/index/key_logic.c.37B5DC6CD1FBABF6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.37B5DC6CD1FBABF6.idx rename to Source/.cache/.cache/clangd/index/key_logic.c.37B5DC6CD1FBABF6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.47E4B19E3C00FF64.idx b/Source/.cache/.cache/clangd/index/key_logic.c.47E4B19E3C00FF64.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.47E4B19E3C00FF64.idx rename to Source/.cache/.cache/clangd/index/key_logic.c.47E4B19E3C00FF64.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.52453D3BBDB14702.idx b/Source/.cache/.cache/clangd/index/key_logic.c.52453D3BBDB14702.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.52453D3BBDB14702.idx rename to Source/.cache/.cache/clangd/index/key_logic.c.52453D3BBDB14702.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.679F46C5EFBD0185.idx b/Source/.cache/.cache/clangd/index/key_logic.c.679F46C5EFBD0185.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.679F46C5EFBD0185.idx rename to Source/.cache/.cache/clangd/index/key_logic.c.679F46C5EFBD0185.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.751B22931CBBD024.idx b/Source/.cache/.cache/clangd/index/key_logic.c.751B22931CBBD024.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.751B22931CBBD024.idx rename to Source/.cache/.cache/clangd/index/key_logic.c.751B22931CBBD024.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.A1DE5169EE231C53.idx b/Source/.cache/.cache/clangd/index/key_logic.c.A1DE5169EE231C53.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.A1DE5169EE231C53.idx rename to Source/.cache/.cache/clangd/index/key_logic.c.A1DE5169EE231C53.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.C60639BD644F6996.idx b/Source/.cache/.cache/clangd/index/key_logic.c.C60639BD644F6996.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.C60639BD644F6996.idx rename to Source/.cache/.cache/clangd/index/key_logic.c.C60639BD644F6996.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.E50823C20721A7F6.idx b/Source/.cache/.cache/clangd/index/key_logic.c.E50823C20721A7F6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.E50823C20721A7F6.idx rename to Source/.cache/.cache/clangd/index/key_logic.c.E50823C20721A7F6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.F2433578ED359190.idx b/Source/.cache/.cache/clangd/index/key_logic.c.F2433578ED359190.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.F2433578ED359190.idx rename to Source/.cache/.cache/clangd/index/key_logic.c.F2433578ED359190.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.F766D6F4C73AFF09.idx b/Source/.cache/.cache/clangd/index/key_logic.c.F766D6F4C73AFF09.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.c.F766D6F4C73AFF09.idx rename to Source/.cache/.cache/clangd/index/key_logic.c.F766D6F4C73AFF09.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.1A0145C1D306C1A5.idx b/Source/.cache/.cache/clangd/index/key_logic.h.1A0145C1D306C1A5.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.1A0145C1D306C1A5.idx rename to Source/.cache/.cache/clangd/index/key_logic.h.1A0145C1D306C1A5.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.2B7B78FB04EB46EE.idx b/Source/.cache/.cache/clangd/index/key_logic.h.2B7B78FB04EB46EE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.2B7B78FB04EB46EE.idx rename to Source/.cache/.cache/clangd/index/key_logic.h.2B7B78FB04EB46EE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.3DBB34F41A8B9F31.idx b/Source/.cache/.cache/clangd/index/key_logic.h.3DBB34F41A8B9F31.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.3DBB34F41A8B9F31.idx rename to Source/.cache/.cache/clangd/index/key_logic.h.3DBB34F41A8B9F31.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.42B532C309BDBDE3.idx b/Source/.cache/.cache/clangd/index/key_logic.h.42B532C309BDBDE3.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.42B532C309BDBDE3.idx rename to Source/.cache/.cache/clangd/index/key_logic.h.42B532C309BDBDE3.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.5B879B12ADA9DC6C.idx b/Source/.cache/.cache/clangd/index/key_logic.h.5B879B12ADA9DC6C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.5B879B12ADA9DC6C.idx rename to Source/.cache/.cache/clangd/index/key_logic.h.5B879B12ADA9DC6C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.600B879FF2228336.idx b/Source/.cache/.cache/clangd/index/key_logic.h.600B879FF2228336.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.600B879FF2228336.idx rename to Source/.cache/.cache/clangd/index/key_logic.h.600B879FF2228336.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.6A163F0218F91E1A.idx b/Source/.cache/.cache/clangd/index/key_logic.h.6A163F0218F91E1A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.6A163F0218F91E1A.idx rename to Source/.cache/.cache/clangd/index/key_logic.h.6A163F0218F91E1A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.926B4694550C816D.idx b/Source/.cache/.cache/clangd/index/key_logic.h.926B4694550C816D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.926B4694550C816D.idx rename to Source/.cache/.cache/clangd/index/key_logic.h.926B4694550C816D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.9332F3B36E727DD2.idx b/Source/.cache/.cache/clangd/index/key_logic.h.9332F3B36E727DD2.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.9332F3B36E727DD2.idx rename to Source/.cache/.cache/clangd/index/key_logic.h.9332F3B36E727DD2.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.D3EFAD615D843476.idx b/Source/.cache/.cache/clangd/index/key_logic.h.D3EFAD615D843476.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.D3EFAD615D843476.idx rename to Source/.cache/.cache/clangd/index/key_logic.h.D3EFAD615D843476.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.DC9F105FC385EBE2.idx b/Source/.cache/.cache/clangd/index/key_logic.h.DC9F105FC385EBE2.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.DC9F105FC385EBE2.idx rename to Source/.cache/.cache/clangd/index/key_logic.h.DC9F105FC385EBE2.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.F148369DBB654E0B.idx b/Source/.cache/.cache/clangd/index/key_logic.h.F148369DBB654E0B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/key_logic.h.F148369DBB654E0B.idx rename to Source/.cache/.cache/clangd/index/key_logic.h.F148369DBB654E0B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/linux_errno.h.3454E07CF4A508A4.idx b/Source/.cache/.cache/clangd/index/linux_errno.h.3454E07CF4A508A4.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/linux_errno.h.3454E07CF4A508A4.idx rename to Source/.cache/.cache/clangd/index/linux_errno.h.3454E07CF4A508A4.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/linux_errno.h.72829160CCCAA0D0.idx b/Source/.cache/.cache/clangd/index/linux_errno.h.72829160CCCAA0D0.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/linux_errno.h.72829160CCCAA0D0.idx rename to Source/.cache/.cache/clangd/index/linux_errno.h.72829160CCCAA0D0.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.0792FEC70532FA6D.idx b/Source/.cache/.cache/clangd/index/macro.h.0792FEC70532FA6D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.0792FEC70532FA6D.idx rename to Source/.cache/.cache/clangd/index/macro.h.0792FEC70532FA6D.idx diff --git a/Source/.cache/.cache/clangd/index/macro.h.193D1CEFB9E5324A.idx b/Source/.cache/.cache/clangd/index/macro.h.193D1CEFB9E5324A.idx new file mode 100644 index 0000000000000000000000000000000000000000..d6c67df3ca0d2888b3df8ff3f6b08a2463fa042b GIT binary patch literal 4910 zcmYk92{c#R7sr1mLt7b3iZX{1{Y*)Qkj#{fA(=B%eh4W^sF2E(3{8g8s6oh>gzAw> z^ZXiKUUN@#um8UN*YDhS*D|cn_pE*P-e>Q#?{&4eu~DDM;aG*(C&z>)1PXFE94Y+a zCB#Sg;NRcRiiqe?V=k9#Ys~eEi;r?!85kVu@9piS$2CyX(^;4p5g8H6b+^*vy6gJ8 zTlxFg`FrZ<`RnQE8S3cj>2clS661qIxwC@}syC2m%Cm(D<}01A^RKG~t?WV^Nv@fiYV2whKhpF1$) zV)J|yv_Oll7f{|6(7)6D3}PivqN@c?+I7v=^sz%M1ybzl&R4;U+uF4dr$L$we^Y^1 zBW0mCn=%ki|1qqOl$cE3_{nd|B?!DI?+&p!a`Um&v#Qp{L9)_ zlgx#Pxxl4orI8I;-=+yHMm!a!V*mXA(ab6Tt2sh+31Txaqq)(nQhac`azYQ{T?BTq zzH9#ZG$AcvqydFEh@)m^g}ii2-}?F`Vqp-bn`(WD{N@nsatrYo7(-WU$6nA;YpXbb z*Z>UZYTbnf!h3ukB_r-4&_$;6ozxSlt?o}1O+X1SLhTzg zm=>pB{TzeBAp(cklo@(oX`Wtt_5%t#3G8IgYOberM7t`iM8OD*Xjd6MejBVSYbu0T z8l-7&%u}?xggk-`5T`>rtpbZxDi85N0teZ;v9UH;x>M{u)3ucZDhW-4 zZHdz4jm;+BB|XONClRZII<1@~ZSKz!MiH%-pnwMyrhuH8al3mcSM>hLm2qu3`XEQjUvbln|hEJ(js zTZ6cbKpUIQrB5~FlN|b%qTmRQG$?PSa!K*z!$yc(3AC~sdskHadI*`9Q4j+$8m*6# zKxNU4YFET^AV-hgC)-!Qp=${>ouY>W5@o#N7nC+4S-x>g}K1mU@6f zHi2xS%8!;eaLB;WdEIOj4iGrN9(YpS?Vz-2Z$(kC2YZ^!)CclM2hC-|5Kn_?wER*> zKRXKD6@Q3$0!*MuThkl6s-m<|2Js#Od)SLH&4GJWQYVNxS7&fm=6jRYw|T+iFOBOF zcM|Ai{a=?of2+)%UyD!(hj1Eiy5QY;YbQE0X*f^dJi9)q_8 zAl^q{A3F_;qn>Sa6n@LJ+X(_E{v+HH&Q&%WypMt`$WlYaPoiHBR2*XllNDGg@N1!j z=knx**X{zu#|Ru_U$07dl#6UFZ&0ph+HO68^=#_Oo9A&l&VIguLJ}m=wk~h^vwC+Nm#NPX2%!;F zM6b~`9nfb2i-bseFcqs^CM~;@-G?}fKo)DgDylo?$}iD(C>$nmm>mUs#@S~yjbt!y z7;|ARt)KljDy!V;+9o2l0UL^|Z62)YcHGaLz-m}c%c^ElVff9}`R<4}6WGk=zb5>R zN7zm0=O|PVs9^o6>6U9h+q140g{=g(5?U&?pHJk;49sEbc@E5>I~*8PsDEgek%m|q zlxZ3cp4OG2XSiuf>zzXmLprfBAyJBDejArzStbL zpV>AH!f4(1&v+PeDfxaR;_)z^dUMe;Z&y)V_yWW`2<%|X@1pO)Xqn2>O!=KAaQZ(& z@cIFNTg}fXXo4o~+DqCtdK(+JGgEX0te`2oENW_0*Ni5{ky8Xt5&C`jN5M>M$s3w^ zD3lN=A@o!5kB_`ai&vkRc20(53I44x@bPn)ckVZ4^i6>&G}=KG(>I=xtxpl#f-Nnl zp+9sKoi#cb8~_3It@`@p_=Q^BzTk2RwS)Jomqy_^E-% z6v#4IMy-#CsdWuh1OVa$NTB^UV(3?I`S`CQ#01!y85tHxNVDF@yk90dT*S2mYT3Mh zud?%=yJ7!p6pX=`=H_43RfFry?lR*ghd>USgnt8e+*S};{0W612%=%dheii76~v1V U=8ea{V~E+PuZx~@rxu6vKas!xp#T5? literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.23B51A31026176AF.idx b/Source/.cache/.cache/clangd/index/macro.h.23B51A31026176AF.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.23B51A31026176AF.idx rename to Source/.cache/.cache/clangd/index/macro.h.23B51A31026176AF.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.2406501E1788812A.idx b/Source/.cache/.cache/clangd/index/macro.h.2406501E1788812A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.2406501E1788812A.idx rename to Source/.cache/.cache/clangd/index/macro.h.2406501E1788812A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.2F8B77C5EA68EAEA.idx b/Source/.cache/.cache/clangd/index/macro.h.2F8B77C5EA68EAEA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.2F8B77C5EA68EAEA.idx rename to Source/.cache/.cache/clangd/index/macro.h.2F8B77C5EA68EAEA.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.3C524A6A66D83EDF.idx b/Source/.cache/.cache/clangd/index/macro.h.3C524A6A66D83EDF.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.3C524A6A66D83EDF.idx rename to Source/.cache/.cache/clangd/index/macro.h.3C524A6A66D83EDF.idx diff --git a/Source/.cache/.cache/clangd/index/macro.h.3DF438B348A83AE1.idx b/Source/.cache/.cache/clangd/index/macro.h.3DF438B348A83AE1.idx new file mode 100644 index 0000000000000000000000000000000000000000..71bcfaa5ac85203d55850b79db8d06ad79127731 GIT binary patch literal 4910 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.4CCBA6E102D4B62B.idx b/Source/.cache/.cache/clangd/index/macro.h.4CCBA6E102D4B62B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.4CCBA6E102D4B62B.idx rename to Source/.cache/.cache/clangd/index/macro.h.4CCBA6E102D4B62B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.4D49BE41EDAD602B.idx b/Source/.cache/.cache/clangd/index/macro.h.4D49BE41EDAD602B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.4D49BE41EDAD602B.idx rename to Source/.cache/.cache/clangd/index/macro.h.4D49BE41EDAD602B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.51B9B53CDD818A0A.idx b/Source/.cache/.cache/clangd/index/macro.h.51B9B53CDD818A0A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.51B9B53CDD818A0A.idx rename to Source/.cache/.cache/clangd/index/macro.h.51B9B53CDD818A0A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.6FB6887CFF05F212.idx b/Source/.cache/.cache/clangd/index/macro.h.6FB6887CFF05F212.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.6FB6887CFF05F212.idx rename to Source/.cache/.cache/clangd/index/macro.h.6FB6887CFF05F212.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.9154DBC3AA64D07E.idx b/Source/.cache/.cache/clangd/index/macro.h.9154DBC3AA64D07E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.9154DBC3AA64D07E.idx rename to Source/.cache/.cache/clangd/index/macro.h.9154DBC3AA64D07E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.9C34A2FCF08CB7A7.idx b/Source/.cache/.cache/clangd/index/macro.h.9C34A2FCF08CB7A7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.9C34A2FCF08CB7A7.idx rename to Source/.cache/.cache/clangd/index/macro.h.9C34A2FCF08CB7A7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.A9293A609F2E2C2C.idx b/Source/.cache/.cache/clangd/index/macro.h.A9293A609F2E2C2C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.A9293A609F2E2C2C.idx rename to Source/.cache/.cache/clangd/index/macro.h.A9293A609F2E2C2C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.ED9ACEF817DDE74A.idx b/Source/.cache/.cache/clangd/index/macro.h.ED9ACEF817DDE74A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/macro.h.ED9ACEF817DDE74A.idx rename to Source/.cache/.cache/clangd/index/macro.h.ED9ACEF817DDE74A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.01BFEEC490E82D96.idx b/Source/.cache/.cache/clangd/index/main.c.01BFEEC490E82D96.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.01BFEEC490E82D96.idx rename to Source/.cache/.cache/clangd/index/main.c.01BFEEC490E82D96.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.048DF5743A0CF715.idx b/Source/.cache/.cache/clangd/index/main.c.048DF5743A0CF715.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.048DF5743A0CF715.idx rename to Source/.cache/.cache/clangd/index/main.c.048DF5743A0CF715.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.0BBED34F73AF8A56.idx b/Source/.cache/.cache/clangd/index/main.c.0BBED34F73AF8A56.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.0BBED34F73AF8A56.idx rename to Source/.cache/.cache/clangd/index/main.c.0BBED34F73AF8A56.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.13E11750DDA28728.idx b/Source/.cache/.cache/clangd/index/main.c.13E11750DDA28728.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.13E11750DDA28728.idx rename to Source/.cache/.cache/clangd/index/main.c.13E11750DDA28728.idx diff --git a/Source/.cache/.cache/clangd/index/main.c.26B64EC996E58D5B.idx b/Source/.cache/.cache/clangd/index/main.c.26B64EC996E58D5B.idx new file mode 100644 index 0000000000000000000000000000000000000000..4994f2e3e4160a50befb69c2a23208d96bc812c9 GIT binary patch literal 2100 zcmcIlU5Fc16uy&9_otiLq`FPxx<5(WK1iLPOtNW=RH(^j8<$l{vRz`Y4wISL1OJb(DTozYW zR!{JV$+IxBX-;Z3xlDGMb7Guq5od_9VXEDUQs@4OM|4?hDeB+x6qB@7llv31kQ0lr zDj*SG(1ia1T2GOe<$pnU_v24}17*$)BDx@tipo5muc+D{D#ik^y zV!6B~;6ymvB2N$%mofq_#l%uZeDsufnvaPBFD%4jLJAi<)(3ePv$7=DRNRnc(_m`@ zNi`&*vjcqz*Z>Iw6{WUVQX5TF+_J<%v4G@s9x2`8z~(EcO#|D8p~*GiW4YcIAeWF| z;#963XJb4o+=~nSX~ynm*e@Y0A3KJVY@Fry&D)+Nu1IoyLo${BL%VPL4ZZ;MRIjz*^s+-tBYW6Q=nRT+MDrlW(YMSG?r8L*ygIwaMz<0ZlgD&L$vJ1Ix7rLjF z1zog1g1i0X{Ghg>NjBIFw{(kCbyW!y-A2|{qw*9S+NssEAK$(6^nI5<2LIX-iI zevfc#?Z@qFZ}^|{p}T-E?j0ZP+&b!TGu3tL9JS}eGuF4hFFHX@_+5?aN8G2E6R&!y zvFMO*=&-BdnxqbP9J;V;4PeKY3%~H);>DdT`zz&(PI@MTuJ((cL~lGRzw|u7K~K=< z!WV8%zG9p?{}sR?PpAjK^ZAFT>XqvE00*c*4}N#?{AXwQjg|u^1NXZkS2CM#g|7L( z0C>tXHQ~bF>|FIdmbm=8!=?jsuEC!kAAbMHdspiKPkW|mm;Lj(ug`A3JiH9>tY@|- z^2^Qbg?anFjtC!EaM`y4JqTSp75a_yju;(iBk%9N%;4XoVjJn78Du{MMH1< zU;p6SFRxP(6meMy$qhw=GNRifw@uJ@(lhilJx7P>S$fKQV0dU`bj&yDIXLbQ2B^d6 E57YRNegFUf literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.2A9F5E98E8EC9A7C.idx b/Source/.cache/.cache/clangd/index/main.c.2A9F5E98E8EC9A7C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.2A9F5E98E8EC9A7C.idx rename to Source/.cache/.cache/clangd/index/main.c.2A9F5E98E8EC9A7C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.30F09A80E52C700D.idx b/Source/.cache/.cache/clangd/index/main.c.30F09A80E52C700D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.30F09A80E52C700D.idx rename to Source/.cache/.cache/clangd/index/main.c.30F09A80E52C700D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.35B6FB03F7885E5F.idx b/Source/.cache/.cache/clangd/index/main.c.35B6FB03F7885E5F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.35B6FB03F7885E5F.idx rename to Source/.cache/.cache/clangd/index/main.c.35B6FB03F7885E5F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.6CB7ED4FCDDA806C.idx b/Source/.cache/.cache/clangd/index/main.c.6CB7ED4FCDDA806C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.6CB7ED4FCDDA806C.idx rename to Source/.cache/.cache/clangd/index/main.c.6CB7ED4FCDDA806C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.77F82630AAE619EE.idx b/Source/.cache/.cache/clangd/index/main.c.77F82630AAE619EE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.77F82630AAE619EE.idx rename to Source/.cache/.cache/clangd/index/main.c.77F82630AAE619EE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.A5F8611B5455B455.idx b/Source/.cache/.cache/clangd/index/main.c.A5F8611B5455B455.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.A5F8611B5455B455.idx rename to Source/.cache/.cache/clangd/index/main.c.A5F8611B5455B455.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.C7F3CA2E7873FFD7.idx b/Source/.cache/.cache/clangd/index/main.c.C7F3CA2E7873FFD7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.C7F3CA2E7873FFD7.idx rename to Source/.cache/.cache/clangd/index/main.c.C7F3CA2E7873FFD7.idx diff --git a/Source/.cache/.cache/clangd/index/main.c.C7F8E0751D0E16D4.idx b/Source/.cache/.cache/clangd/index/main.c.C7F8E0751D0E16D4.idx new file mode 100644 index 0000000000000000000000000000000000000000..48c057d69ef208b24908c3fac44fe08177b6b19e GIT binary patch literal 2078 zcmcIkU5Fc16uy&9_otiLO?8{D>;5HfAEce1Owu$)D%51Njb&9b*)FkHhsmAU+sLfjHB0T+N`Bj*^8qTX(FMO>|D9 z_NiP3!~QUYF)>uLisMOM4bfsKg zmvC}1*P_o-9hb5aF2$8nR(a}-at=&LqLdQjl7!`s^+EoNd7_erbpcyZsn?MdQ_O6r@ct^FU`eaCO`1)#Tjo%SD+>lMvw zr9M~P#12xke<90l&@Ej<8`RJf7{r$DW1`GU4MRq6zx5M~rhzaV8J>%toIAO+N4UHG zjeb~1Ku;U}siaiFAVD0b<}wa>mie*7IKilRLlA`Q)ef}wk( l_e`+&vvce$yTC58^XyFU!0^z>=vZhfaBzGw5@rsgKLGQyhIjw~ literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.F63D70146FBFF70C.idx b/Source/.cache/.cache/clangd/index/main.c.F63D70146FBFF70C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.F63D70146FBFF70C.idx rename to Source/.cache/.cache/clangd/index/main.c.F63D70146FBFF70C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.FD0F4A9F0DDB5BD8.idx b/Source/.cache/.cache/clangd/index/main.c.FD0F4A9F0DDB5BD8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/main.c.FD0F4A9F0DDB5BD8.idx rename to Source/.cache/.cache/clangd/index/main.c.FD0F4A9F0DDB5BD8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.2597B2DB7174338F.idx b/Source/.cache/.cache/clangd/index/mcu_initial.c.2597B2DB7174338F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.2597B2DB7174338F.idx rename to Source/.cache/.cache/clangd/index/mcu_initial.c.2597B2DB7174338F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.28BEA58C29106C43.idx b/Source/.cache/.cache/clangd/index/mcu_initial.c.28BEA58C29106C43.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.28BEA58C29106C43.idx rename to Source/.cache/.cache/clangd/index/mcu_initial.c.28BEA58C29106C43.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.2AE5B4A75145463E.idx b/Source/.cache/.cache/clangd/index/mcu_initial.c.2AE5B4A75145463E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.2AE5B4A75145463E.idx rename to Source/.cache/.cache/clangd/index/mcu_initial.c.2AE5B4A75145463E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.2D89E3ADB768BE9F.idx b/Source/.cache/.cache/clangd/index/mcu_initial.c.2D89E3ADB768BE9F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.2D89E3ADB768BE9F.idx rename to Source/.cache/.cache/clangd/index/mcu_initial.c.2D89E3ADB768BE9F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.5802F13B567DB7DF.idx b/Source/.cache/.cache/clangd/index/mcu_initial.c.5802F13B567DB7DF.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.5802F13B567DB7DF.idx rename to Source/.cache/.cache/clangd/index/mcu_initial.c.5802F13B567DB7DF.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.668AF1B98EF05971.idx b/Source/.cache/.cache/clangd/index/mcu_initial.c.668AF1B98EF05971.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.668AF1B98EF05971.idx rename to Source/.cache/.cache/clangd/index/mcu_initial.c.668AF1B98EF05971.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.74941E4979208A41.idx b/Source/.cache/.cache/clangd/index/mcu_initial.c.74941E4979208A41.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.74941E4979208A41.idx rename to Source/.cache/.cache/clangd/index/mcu_initial.c.74941E4979208A41.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.7F3C194F2DB873CB.idx b/Source/.cache/.cache/clangd/index/mcu_initial.c.7F3C194F2DB873CB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.7F3C194F2DB873CB.idx rename to Source/.cache/.cache/clangd/index/mcu_initial.c.7F3C194F2DB873CB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.A5C8DA551E68E339.idx b/Source/.cache/.cache/clangd/index/mcu_initial.c.A5C8DA551E68E339.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.A5C8DA551E68E339.idx rename to Source/.cache/.cache/clangd/index/mcu_initial.c.A5C8DA551E68E339.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.BA0997D0632F478D.idx b/Source/.cache/.cache/clangd/index/mcu_initial.c.BA0997D0632F478D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_initial.c.BA0997D0632F478D.idx rename to Source/.cache/.cache/clangd/index/mcu_initial.c.BA0997D0632F478D.idx diff --git a/Source/.cache/.cache/clangd/index/mcu_initial.c.BDC772A54AF27B9E.idx b/Source/.cache/.cache/clangd/index/mcu_initial.c.BDC772A54AF27B9E.idx new file mode 100644 index 0000000000000000000000000000000000000000..73f14101fa40b921b7037146aa20ef264e5a4360 GIT binary patch literal 8034 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 literal 0 HcmV?d00001 diff --git a/Source/.cache/.cache/clangd/index/mcu_initial.c.C890683A439E2BA9.idx b/Source/.cache/.cache/clangd/index/mcu_initial.c.C890683A439E2BA9.idx new file mode 100644 index 0000000000000000000000000000000000000000..6803bd4c3cdd413aac485658781876193b88a749 GIT binary patch literal 7186 zcmcIp2Ut|+(mr!sss~t>B2A=-fVgY{5s3{!3_%nHHJX(LmlalN(iDw~iGqN^816OE zsHj0jjIm=EVpob9?6C!~U~Y`}>a`NQbAaLC^Zd{M|Idx#Vav=r-^_f|zVE=e(2x*g z2ZjlX3!R;$&4?8-3}cS3^o%rJoB@8}e>{56RRm-vr|aUAwQ)|ms3Bz1WB_`z~U8tRR&-~d@{YN{+KI84T4GEKUUf2lPoY1;NL zaWiE9mz*wHlb9K&{omx`(sWtcG+7tPaUtqRw2B;5A2}&9YD9Pk(ILc0$E({N4jdjj zL8(?VQWWh3b?MpZ8QLU9nw*lJ5tpc&+NLRmk)~*uT4|gvZE$da3iqc%Sfxpf zO^#P7e7)t~K1^V6kV2_$j|vkQ5#^%{QOK2QU9v8N86HJIP=IQdF4;#JuhFPx`}?W= ze5L;03U4{uNYuurYo%?dG+mn@P0LVc`5`|`u1eA+$ItTfRiQ^JP5O*%sWx$1>{MNr zQi^(*5fM>x(myglH8CY^Mr3NNMysAQX`)i)>lB=+o37KUqJosFD1|yINIm&O^#r*> zt&}VKD-=q9Rb<=lm_M;r<*kX;BxqGhv6{3L?}R_4DoK;s7ByXLqPOO~X-Z*6Mud)` zFhzFxIw=y9M!@*MaY8V8LeUlJ%&#UOi-~J51T6G%+SC+PMoLPeCLxy3(2Oi4CJ2+J zi;6ReA4*-e8;Qy!2X$>{Xf)7r|D*EF~Zu!*lcxjQaXLhOlPL)614#`nQUZ$ z?A->J`MN3P?JX|D7MJ~xEiP+s@y=-(o0{RHoQCrWd-X5Utd5P-{Ds;xW79I;xBB$= zrtsYvmX)H5W74yermh2qF-fY9SiB-z!ZA(^qgVlYE5KZq4_rRjFh(rPC|yAY<}(w2 zdzJd+TaK|rp-RxJ1at5Ez}**wyup9`oHL&57JkGrRw%TZ)mzP4bbPcO==c^qaQ=+C zSC%(9#sx)of!;1ORtQ|7phpJ5_2D}fltBo`Sffy;UZ!c=8|jEYA*(y=TO#5ZFN6*C z3{9mu`dp5_6=T#5cz2~RUwL+J*we6|IK~D=Li9q!ZEvJuu}ii1%g0|2;+S3tKLfpI zAnEuZk^Gi~!pewmtD&^rXRu*J&CDwp+2{;>t52d)6(-LxL}5T zve6EGQ{WVN;FSk{6sB%U^Tg9v+#3-n1SkYE0z~#-|)rwBGpq)p>Dfo}l50Ta?pO@J2KJAf=m#9^VfGi_(!id>N7f*l1~ z^1(yp`9=OW5jYLjr@@(2SX|owv+)lTt|3suT9mNX)H^+HbKiZu#cLP>C&26k*wPC7 znr)f~$$KUs;AY`wO}lVde)=O1m+kJz&V|0YFn~-u{4#XbQOi|7AP^4W-6^m=GXf_D z7u0(oJH{Z!nb=N_8-oW&EipiL9*oTcHK}nK-meI_tN;WeoFjZlzIXCTAH~qHxyU{S za112mW}o|^f2;5Ic{u{n2GO1Ry>`|9l(l5?Y-BHFVIeD~!ty$`%XR;#{#y|!WXBb< zu>|zndbj4PVdF*wLLtNOMD zWh__5np6H{Z&%M)YBieAUn_`O!G`uDU-k8?mo4rr0+#_UgDFMKr@LoKYT}^o2vo8b zm27WP<>%uTW#BmY-w3EaQcWe(euJ;AzZ!5Wlyh~zdnHMV%Dsfbs!5t%TFdm%sg3% zKo!eXu@cfuK|~AfGo361Pk1=RD@=PypHnP`?u)^c>WVK{(_AnY=sd8^0|$X#0#-}F zMxgV-I3G*|8pmt_*b_~ktnoW%1*bT|!V%V(91Y1jRJQY_#Z}xv9t_BX;k0h#^VqjBMVtTr1z)AdSUARV zl$yw0+Yg>O3_}JRv!${9%7ZG>~@DeP@!Y39( z*Zk9RXAS}<08R*<_DO%cL$kGec%YEAE@WM3g=){_;As~A_Yl~^a$AIMj_!Re>g2#h zUm}nP$$2n`G8cU|&!gx0jN1q_gQOW8DS+xI)7kUBitB|y6PPrCH32be``=1Ez9JZb z7Lc{TKr$Yiyj-VL?&2d=%tA41N`S_q^mhHgQ~Y3P0hbo=CV(zL*lqmnhk7kx>4j-w zPtsCQzJirhu=WH@7ma4l4f@>&0hLBIj|Rz%7frnq##?`iXY_g&*0V;G2~M$rg$)9o zc=`I&$HR_zV_RRTTJv)M6c+~b3&A)E{E zK^~-iTwxJ1FL)fXqg|pqQ=b0&pv*Ikla3+#4Zs`doN#kPN4@%N*a0sDma?Lyf+O<| zdOdlu{@x)3cCoOFwIoN#5{8Pu1yV#7G$pU|XLy16tzTfkFp8dTb)UX-MH-jzpAZfx0)qdk7 zXE?1mTHAUMs-YM46sM>GsOd`A0@QY;>j3Hmno18h-+qB5i{ugl z?blWU3U5t*UGureSR5#OS=cN1#FrFQbfx#Puuq`B(ADH${WaVecU{SHmBPtDqYq8- zmtQjU<&a#-jptAKOr8dp)1aU|eia>Y`4T56+;1!h#lbvr} z(Uz`sIm?v`^2MB^$L))?)o3vu;(JqJ6sOJ_^YGakzB2c*l6|Zld05;qV%xf4@8_6s zGuF(SdX7`%u%aBc^H?uAa(&9ouNDKYe+#0w(AgU$KN=;B-SoN{fdYU6=s}~SlyUib zgYi6T1X{ti6+EagO21)uM;&JPBPbXAbA_|1^xlI2!+-04iLSVVyE%mvPa5#(q)MAN zx*81~vH@4$1-J{{Df^ofFCAA|F1~|69>nB95;?N@;pO;|LwE95yLy0n;n*o(HDvI2 zUtHr$_!JALSQD!C@?Q^#zbn7TPo!|0a94`q_XZ1oytY1K3HnzC#${ke^~K-0EXwhm z?s!t#X1j9fzUpNI+bTP-8p0{-d}RmLbfs${u(m5*2gB=NG|B%kv@xr4Ps0kd=xXWO z<$UdH)z_ZlvvdBXQNLZiQ;Od10oa2lN5@l6#kb3%LhaT3>8Em0^`~v@JE(6Im%o+2 z0lI>#1*th0{KPDwc;^;mzXbc2(1-GMuqo`f+Ut`aA#fSYE`uF;cQkD5io>lNPhl6W z1kp+m3&-+i5N!rA#RIzxM0-I@jvc*wCEer5P$SgX$Gndfc~JS10*lw_o&obryjJfCk~ZddjYLspEmZl}k?>BG3%Onqd^};f&MvUyMI=xPm|gM3_;Y>6sfx z692$W4S&A4`Hy~sNAOqroh%Uyk~0)b5co4|xJ z_p>pcOn@!Jmrm-r~GF zE6T@NA+VQ~>=mvV_a}rd44S7u9|14$5>o*@s4BXf^>`LPc&9i|2_VA{ohC-_^%!#j z*)`x)Bc$`;Kl@#tHqvht0*R1lO!AN1FDy8>$>IgF`#_&g?Z1^V_498A<|Dfqpc%|5 z`OmKRI%fY|WrDyPuzmyXjl$o>Ty@RF6_}Qtw0{fG5CWFec!2M9H4Uh7nB&Y+x-n2w8Z2Im`aR zM0-61E&^NxV+wc6+&POJnn%eH@C47!;nR}8?Buhd`9C2$LLAYV<(4Bq%5D7D@uMmq zARjOG9e*-wY4lw4Xvj)_g5*NaT*1{pzP;t{v2Ni41PWQ7LUuTXqctL1>%QAdgFqex zFXZ#^wui4bUkfEEa*6%77sD346b3gaq&pqeP=cDlD_g`!8 zy&nJdUynVbqK6J`8L!g~njAfMdO}K^q|@o#_`l?oq{IVy{)_$7qo*!7SQk8a(1=%u zMh}Y}G}<;kcKGnIFNW%ZqkHpzgCj%YX3Yv2G}snm*Fxfx6Yc+E<7Xx%IDVNtHRS(f zmpCJS+U&^*|2w_tmB3UMn%6K z9viC*=B7?DG5P)El!WQJ;2ATMQzlPKeCtt8Gj+j93CS~OC&ecOPfkpFad2b|f4&$l z$HY&In=vIOtWWRI-VwTig9k;=NO>u4#^h-UNxFgY@d?SvLz0rTKSYfQ1#;Awu*WEt z-|NWO(J65$3A(7Hgt)0AXC{iw21UlampCILd`f(L%-m=D#rEqH{A};A-l6=)rX|EB zCj>uIgOd~92~J9hozsv1eNJf1^u!rc-s{&VhCfD3eDc)ygA=B`9rsq^obX_tk8aSb zV+Mj-7&7v)`y28`G`wAoVWBBA!}`J${BMtAc*@L($N$nNW#)6>FT)~Z#?4HcI(k-I zd_wH_@#Df{`uGfZsSAt`D0td!pI|HZs!>V`dD2hriMK}8RJ zj7E?08JzHT;*12Jw`V5#Oi7rLkQA4~E8Hh}RziGY+%zBOP5SUg!kg7(pMj%?`}7!O zdp0z@=hHs#C8oUN6F+nMti)*vJ~L;fB+i`S6FfaJIVCQBsxErkw1g>f)1qhaj<2=f zS4NHjH90&nIc{3wlo<(=HGO2ljLBn?;$}IScTb-8$VV&9tmwvPV>o8jn@kF`qP#kms#cQyL`@4ROZPDmb^lBBcWW~g>cb_jzI4k1E=u>(gv)J`(kcSP^d|JuEYEMwl{jqAO*q{;t3@_x+2{pT0p zLxFQ(_*mbluFvk_ z#zut4j?pE*KmDz*DUV^676qVp`V3KZR-MjvOs2#zN5^u?AiRp-Ht(qx(@TcYn%dY@W^(Noqd|BCL=FsJ7V1M9X=vi30QJh@RlqxH=4=MU|U`hPTd>X{jxQdM0rH|fB% z16!hhr}TGtu~*+8IWh0Z_m!$HoEv>5(XS+HbUUT(@M7a$|K}h3Vo%nox?bGqH<|t> zyGPekS`W+lji}wj)OAn(sOq|MqaP^!fm)-lP&ZuAd{{zI}v z-=Opce7e77_HC~J?zyR|E|MFy%Cwc|bcxbSFsFG@`w}N8ufMJ8!no0I68()A!EH)! z!yEsobwR*eru(6)&WjuUDAONh&*<}%o~NGT##19Qa~t-K;6>1n8|{$k4%zL`A6li% zpS|VC_P=)|tGfQ&X!%w-^)VC6iy1v}#59ay@>-=&b&py677k)p(2cVbH zqCVY^jhxqhM%8uZCi@ZHkF3#6ls3VKU;2-Ihohd)x}@p?xzW4yT}yN$rH$}XYdpFS zTRFBRUDZ9oO?Fedo7a9brOhy(f9US6*_}C@SI3LosEyDz-e0d%dL6c-?A2>t_pEDr zRnG8P^e7e!qu3RB30Lu zn;d8KI4|Y9l-`ApzK_wZ#^iCl*1Om*#^~p)Q}k6zufjIHKRf+Y`zLMhsk(05=ut29 zjBcg071sNKH-0#fQk5^My1#IvgP0z~=ICE3{gs+UBRkZ1sLtIZVzjDzk{dnh7M{^9 zl(xW}D*l!~?BSQFH?FMK73Nb+sVwvli;EmzaCB4MO0e>_A0>s&W6P~r~vm7 zT!>AD_z8_QM~{?0y}WjL6!d&c%!+wOT~yl^;<<(RX@Z>tw-DYn93R!Tl^C}Y-hMT% zA)YnRzJ>(WK>M@Acoy0(lsp$oApeC@;6e%HzeqAJlAQUYwc8%NiMO>N)wW6^t0XtA zS!=@)e-y`9q}>sto}CZ$ZJTURZMO)!MGRUB)pncU+e8+8hjhI|x(mKX4EKmx@V^QE zH?&_U85T-FUnJp063B0fWLN_Ar4n8W^-Rf-3H45n`Wzp5z>XcBH#};2!WGPW1@m>bf6o3Z*wcbnG0Q5}Sz~Rq z=4I#@s+~FhIYM*6K0G`Byo^4a{oAmuyfRvu+{z4^W7JpQn)H2WLohG%9Kv#l!RZrh zxdi7DS@2h+>sO?^;Cy1pCuYF~1Q$U2EyS<|>RSok3iWNounp?l3EmF%Qer5D`YwWZ z3EgGGRG;IOZ}xOkZAXy)2r_6rMYWY9eL3U`q_2Q{66sGuu15N5$QO|Q0^|myZ-Cr{ z^i7akkiG?S8`8HyzKQfVA>TpzJCN@q{e8#}kp2PW1z5iTgXdd}^@|~AV10&Q<)^>a zOxd|^E^kv0sP_X3+SCK;|A2xvmC7usqD>hhqJPkb74PK}))Ce&Q$wJ^vUs z9m71La(oQ$e>tiZ9h=1yR#Nv$+Qk{;aPC$~g9M+XmXoxz#)hM>=dYis2J?i6kogdL zQqt$ChxHfHH@yd}^mKL64zGTjqyqz&F=PvnDfZzhjR3Le2?0Wtgk1kPHym`Vx z=3U6TJ4bfT0fnr$;38%zVozx7wsr5?H%g9vg;iTRvZkYM&Vb35feabQOJmE6|MVi{&CdQeF`s-mKB}!9o7%B+%(2do?0cXn=qsM^D)P9Bx`=jg6?MCc z0tL4rwGCM{_UJX(YcIX~3{SWNS$7~`=cvxve+LQ|yc3yrqAnV1Qy%Vb9rGRS);!)r zx9|Uw(TA7&5sZ#tlNPmj?wuC2W6atyX4SR<(GAE&%SyFvM0g`&f;S;$6EX?jjPPct zXCoyW>NyDKKs^^JxlqqTI1lRiNXdtK0m21PFGNZq)Qb=qceCyDS;0-bvd4Li18!|x;5a_L)0)le$a=Ft3?bT7W)S{28ykjuPtpG*AVwLq`PxTfOEha5+QgUF{~rr8V5-IXL&qr*}zoW9p-+Ab(*i$2Iy@&fp z$6}9`oAzj2a4hgRg&+PkKD^+!G=4v;nfGcK6R&3et6@yMmRZ({_(fX~;yF52gR~r< z`e0T2^s$pddFRa`ZaD-zVGi-lAs{@@CB|IQxl~&jaVvxNWyH4(+Lse!Ikdk;+-^bp zTg3Mkw7*S^w}pMLcW;fo^T#1K{;2)E`U6MQKd?V=L<7tNoQ2-Ihw}NeS#M|XBpZ-v z1M(81!v@rO1M(BR5t%j$J$%8vFBeCaC%D_aqiHX-YTnQuP*@MrPJ%0`sghc?AWgNM zqSjNili+%4s;5>hGEr@psr54LB$zK{U4eX!TCYLAPfho!Rh!D#!&K`7+DY&dW?jMn zXEJLheekWFR z`shLTHeLhS$eJxe0XuigMm`g{hnPOZdaX=U+kArO6DoKC!3!WSBzWQD ztSlr(VV_2D8q^mN{UTxz`eK3?Lp_}+=`ei;!5L7`B1#t2mlM1k>MMz|66&84{3+De z5M>S2*Acu<=+QmA%tR`AQgMknOmoV=oaFAcZ{FlH%ekrpo6@&cCX#<{LbZO{r z-Yz#H{YGTaYE89mM*7W=bC5mK`uc00?0*3Uj(@X=}RE*MEaeAUrzsfz^T9= zP5cR(B#$PktLW8Dl24P=LvXWXYL+}T)_!tNGy|Ui&tC)8AGv8H@ORks9ro3D%$U51586KX zLRD?MB(GgCc;6-Y?GnMeYTF}u?Sc9p$!`zT4@h1IpngE|I{@_~lGhQaACdfyK)qb@ zDu;TxLBke*J6fp{*xgS;rGLB9BJoqm`ze{Tfkk z!A(eQ5}jk*lN%0yFsHYD!6l2hXOS+V-)E6-StLmCa$;C6e6hB#$XkqKQ&D^DH#~|i zgnpm@EYC3&d!%Bp+>wgArDCw$u>h+JuyeUXi{*HZjvYv6j{o|qsOjF3NqklH5HcJ> zuHs?Jkhu)G3qFC&Cm>fMb0y>|WUhjI4w=tEu1Ds2$c@O{2)P-Vn;~CC=BtozAoC5# z?a15?`7Scwh1`M69gtJ8ITeHFNyFwe$m!UeE_i(YbHhIvh+I)?^ZqBVoTYx3N zQ&3M!Pe8$zU_fD(FhG4ReE~&UA_4Wc^am7Wi2^jtG7ON-Vgoe7G6K+O%V)^(3dgm^)Z9c{GDHEJVr8Elk#S|}w`UWa(fci#?H$pv! zy5vx!$S;@TT&RCbUA~3-7K*n(eJgd@3iWLiZxi~Y(27@mP7WExOW+Fiz5>IPD>UE= z3{zUErB#F}lcEB>dk)Ro!V{jN-lu4Ht#8^n;1umG_%yYgrcY?BZU6JiaP0kSl@S}T zZP=hMKkvnJtiv94aNWKR2i9S}jqCXE1r={SDK3k_zTp!MsI9SFkP>EKqPIGgdM$jpODWyh(p+H1dS;UhyE7 zjSq|mv221l!5PcGH8(MM*!9_O@FXXh`$^VS%gfF_Cs|LyRm@n$JT;DgYHI!@;&X{d zB`r*DVJ>2R)WXay%%bt+yVue`Sm{2FNVczt;VaTb+uV|D$BE%M>7vaIB-~CnN zHhA4Sj%;W-CRV*4{QO4Oc|6DS*yB8`+w(Z^JgnPVY^oJ?s~z#+IXcdFXgN;(;X?bu zK0SPSj(3sAT{tVfi@M!~v(o!Wy)R~^(~SNZFYjvT$`htzk96Es3=QenCmr_?oPpI0 z;Yz31Kdjw-?iu?t49s(pZ!QeX^N=Y|1m?-D)hE~PO={&~XBNg;SkbPK^0(a? zPi_BfH_x#Rd$eI6?cwa~*9P}rZ(!36vHzMY78X!v0(8`Yq(G)OD-ixl01FyStvQ=9_{){GcNt^^FDhyW8i{G+%Pj0$}@e7#B!P zaG|6WN+!WY5-x&zv7{73y+pz#P~R@m?J)mR$xsUC?K>s1Q<6pgyClOdsPC2xyCHus zk?*1X9?7r=>iZJLf_zvahoSuu$#4YfWs;!`@-c}VgZAZ; zp&aUGCH+}R70-8GlFmzd!51Xy0_0jrs)c+}k}g87lcYMxmn7*DnJipT1kL!*^?}9a-Z!I?k(U!pHs{?_NirzQWy2szg#HtLE)L z9x-{|(!|73{6?z?ts)-Uu%Oz0A@mo)pFI5lwa&h5-&O4E)wjErF{gmOU=Q;d^E3Q3 znB$|JjpKLYI2fl1+KD(WIF7?Pg}hDvKPXq;<$K|)uznRbYF<&bt;PDakT+oc2FRPR zeiP(utj~s=i}ksX^RYf3av|0iLN3PoV#qtNeh1|5u>L#2TGY&+$bNRu`8n{yf~L<;Y7&CTnGr zwsw{F)T~hpt9tL`HGUKuj$&7B&sHl^eov0Ge_9TU9^9DJSkrFbbBgtf1z}8VU@Qn@ z;>>Z*FlNcw%Xm)RB74BM30XJ6pb1kf9<6y z&++_hUN$iIwfWn?+;_NnxO48Cx#KT%LTa5W-+4`ONik{}tG2nOxfVh5O!EMxB2y{? zoQ6zkkkgSV9dZ^jWeLvQcVNnz(p&R+pYcIH_SdlTAI zPM%K`F~`mzat7q(L|zX0QzCx~c^#4030^Vj(AtU({ciJ#OR3~mDp`e>+a!>T(^=?+8zf7ESe^cK z(!lq90wy%Q!Y8)W*PwMu)#iu&^nwDE0JESV90atUN>8Bm!o7eNtONrs1cv}EObG*8 z1dae&U!^b5p25!mEmDaD+6(vvp!HY!18o2v0JJD23TQ*{5TFfHh5;=aM+42K*nl=1 z4+q)^WdzV(!><8tv@#lKWARv^jZ?+}Z9E9^=L25Wi-2@+|_%PHfDXXNaHZSF~F^W%8z2H;S zaEiJKK27mysMk|gPgUW)8z^p|dcl{e;WBj-{42%3Lj4LgT!DHk#jQ}kMh(}Xex2g$ zP`^*veX44{hVRZ%+(Gq%A5g;s>Lxgq;Zz3nCCspd0evaMOQD|044F`0#_%$zuV981 zP+!IHDyXk!hSgAC%kWyLXET<~ROkY64$}+HWrkelCOD7bJgDb0Lq60C7%qT%Au|+0 zy@=r=s24LsG1N;KE`fR}Gn7Jo7sI=R{%Njf-ZT4G*w>DVnRhWfwo%Liis7-15@sn8 zzWvh^*^wg;7KZX6<*ej>R&vHrc7F1##9w%Dd{#dUi}dW%ypLbuK6SrOyNIg1PrKcx zL4rG|rGq+8*=kLmkGPJb`dW@_yAJx|@b90#$LEdnseV2+XkjTolS1{2A#bGmjgWJx zJ{R&9s^0>68`WE68PoZVkEZM4sK0FwaT{l6_mR++2uRqf7`3s%*hw?Hk!d^vikD&+$7h$l+P>fB* zVvk`%nfqVR#{uDd;j{|VD(oWWq16~yVc|8_$JUaV^yAuu=#0 zdW`F#-hh<`s5fHV2=ykcG(o)?<7TM0V5J4>S24Z{^){@uLH!2CH=uqKD>tFuj&Zxt zwb=!4Y>rnxw8pk+r2CM#uio9ti@pYX)W9{L8XQ;y*L==m(^;|R^Z8TWaRWCu)bNDq z#62BuIHZ$q>2Sj#gBUWzhQmK^hs^3T^OC)?3z4-DhNy+ew-AP?MaWbnLR9Ug6#fj3 zH&V1`&|XC0A-Mf56z$LUjYV9CR4u;#^75~d`rB+J-zqu7O;Oa4qDE z2wxQZ<(16#>XSUn6yD*Qp9G!+hqQ58YZm3&@9Vt$M51u+Y* zB)AgV*APPu)Xx%p7V77T;XKr939f~D9Wm5Fy`JEDp=+zCyj3{fG198PFk@V=_N2dd z@JG!fIFEGJEVl&5e&5$W@>gDcsmPiNPYN$Uh6UoJ@Ro>`yOsJa|Kg>54tbnIU^DI< z@;e7N<1Qfeg4m2JIy3lSM$~67@GJa5@E^ogD`kG7T*50PCu_&%c*}LX`=s4GpKi-| zl{imbLMqyR`C{fGek;SghJkt5F#lm-9u{qmcFw~}KH2m2I|s-1<ZSAo6rzLxiclf|J)=AW=mq5kKm(KkfQBeT07Wa&fQBo>0llWY z2577@7SMQQJfMlnL_l#$9H0ax0Z^in=p=1JfHy?POKMtO?s+NkVwVRmB}Uq}J?SCj zBK*z~gpVL5xC|*}$RxNN;c}>-K*|ZIS0G#g^-82vLj5GdC!t=2lq#rKBU}yjGst)b zf%hHGA>|yjzku)sXkUknbWeX64E1!Zq(eOe;|!>;z;p!$?PnFntDwFbE30ApwHU93`g*Lahx!JL zH$Z(ORyIO?6ULjMz8Nc*lk^}WzjB}x$hm}02=VP1?^#ZIEK)n#-LZ}yE zr3mW97#Bmm1S=&_-+}QCsPDwePN;u}@pnSsbL*L#?uI+|Ro)R^BY=|~;XeX6+1Jdk zIi0LF@3D_Qk6t>}I=vS4bHVYVsU~Q#0T&KFdb!jo?2H~e_VSnZgEobdM}lU0&gTm^nfp!F8HVj$Z!$l@?abH?!}d+G`zE=cI@RonNH%lDA?OD_8%AC_DWLp~!J-ZcJ5Zqf&|wvV-54rSXZ{;SJ;M$2?1!cPWe< zOIbiEj2w3{%PtW)9>w1H%fG*AKThsz@pX0pPF;PSlVLvooBf>o_vI-$&sC}4hV%B) z#N;NXh=zEb$=4ybGr1k|T_)d!oFU5@vLYJha#>yud9y5UhMXhIIfBdoSw3m}h*dxG zdk^yp^U=zJlV2GBG6}~=wMCdCoG;IopPsLNH{r!IyoseqDY96%o`dI5L33T^s)9bi z9{_Eh%RHccj6ViiDso9hKwW_F0tEClZ*Vg>UCpV|_I?z-h7mEaY0OuZ3KX_4SY&vAz*Y9I8<5+v zzFqK%^}ozY_S`;}S5yo3Xn}j}E!eLG?zLaVrmJGFU3=G_w|B>j_FAp}_~P?F?;BYX z&37Z_$a54>SMmpdK9)ZQv;fHq5a7i~UJN+{$r+HBBYC;tAEW#;I~&%u^M@$GUL|lf zqXY++z}1W$*tA2eW}JGX`Pz49yM4$L)+3L4INzv8e)Vv^(SXzjG2f_`4!?LuI%~gT zCiBjO2VOIoeIRb`>_Q66X|a zotpNg4E6;D{*4S;Te2TW#%IKW!XN|r-u41?f>eWoChI$RdHA1fs{Cds4 zK`e?-L{AcY63(I<2yPJk^YNAos}uX};B&$SL|!1aq8i>>Y50wt(D7$HjL~6CwfM!p zi%E}S7s1CcK8Bgb4b#qiys+Y^#1pP0?knMYZ!1Z_O8DN}r^N87c<-(8r^!DKS&-<* zol`0CEG7I4cpM))2bB{3H7XkKBF0?=tjyLC&pK#dM}q30eLXSOL;Fn0GgAWjXG%et z63Bm2s|eI2pXLA{>1)I zh1^P&R>;?>avgF9RXV7vHhtksWK2nAfR{35Ddc5LSq6C(Q&vG<%apZ{bC{CDT(x-< z?@CO`gIvIr0?0*7DS}+WloH6h_z)qub@j*&WA|cD?(iNG`jEJb8eJ*Tm6DUSsR|Dm z9N(&=d6laHFDT)I8UlG|9qlz5EGCZ*7!8iqj5UvSI-aZFoQl7=YT(m6Njvgrho>Cd zQMYz@%JB|T?}$^5*Or#0j)({z#TQ*08Es^G5g<1)+{CEh7KU3MXG06zuxVwu73$ZR za*Y{9`s)l|hx$#X+=O~N!|hPN!<0KvzsvAlpqH9Naw^oG1=4hd5^>w>ky9dSaN#{#Nl^>s;`n;Rl8foTtEU zRqbu`Hq#=WZyE9^gRxB+3M_-MO*vA_MQqc4p!X{uRA0Tt6XsyA99SwjI4B2}N-j3# zic-1VWxC5JYu?uL+e$;$G`J$Y7#S9e73tdpo=*<=?xWB77REv%FC;EvLt!CtT}a#n zFCxZ8#8vQOA}<#9cSaSxH==)oeJpE69?h`HHluFMu*vf8SZWbX_U>~d3fhJ??&G1$ zHRgT|E;d|aU9Z8#hU?6D9WFLx$?jQju^~(DngtgdmdnQFVzJ?VzrEfb*#`TY;|yu&)kGw*1fECbDb`J`s8W$ oGgUsmom@?WOhZhAO~XttnTDF8D3c|R82G#86hP&(j2T2Uq_W%F@ literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_interrupt.c.82C08E640AA9A189.idx b/Source/.cache/.cache/clangd/index/mcu_interrupt.c.82C08E640AA9A189.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_interrupt.c.82C08E640AA9A189.idx rename to Source/.cache/.cache/clangd/index/mcu_interrupt.c.82C08E640AA9A189.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_interrupt.c.8D53145BC7C7D07B.idx b/Source/.cache/.cache/clangd/index/mcu_interrupt.c.8D53145BC7C7D07B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_interrupt.c.8D53145BC7C7D07B.idx rename to Source/.cache/.cache/clangd/index/mcu_interrupt.c.8D53145BC7C7D07B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_interrupt.c.9440DA4A2D28C84A.idx b/Source/.cache/.cache/clangd/index/mcu_interrupt.c.9440DA4A2D28C84A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_interrupt.c.9440DA4A2D28C84A.idx rename to Source/.cache/.cache/clangd/index/mcu_interrupt.c.9440DA4A2D28C84A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_interrupt.c.A0919C60FBF37E2E.idx b/Source/.cache/.cache/clangd/index/mcu_interrupt.c.A0919C60FBF37E2E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_interrupt.c.A0919C60FBF37E2E.idx rename to Source/.cache/.cache/clangd/index/mcu_interrupt.c.A0919C60FBF37E2E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_interrupt.c.B205018EBB92C554.idx b/Source/.cache/.cache/clangd/index/mcu_interrupt.c.B205018EBB92C554.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_interrupt.c.B205018EBB92C554.idx rename to Source/.cache/.cache/clangd/index/mcu_interrupt.c.B205018EBB92C554.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_interrupt.c.B40B47346FB2FC6E.idx b/Source/.cache/.cache/clangd/index/mcu_interrupt.c.B40B47346FB2FC6E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_interrupt.c.B40B47346FB2FC6E.idx rename to Source/.cache/.cache/clangd/index/mcu_interrupt.c.B40B47346FB2FC6E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_interrupt.c.C3D4B89FB1A0741F.idx b/Source/.cache/.cache/clangd/index/mcu_interrupt.c.C3D4B89FB1A0741F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_interrupt.c.C3D4B89FB1A0741F.idx rename to Source/.cache/.cache/clangd/index/mcu_interrupt.c.C3D4B89FB1A0741F.idx diff --git a/Source/.cache/.cache/clangd/index/mcu_interrupt.c.F3B8A994DB7B4C3B.idx b/Source/.cache/.cache/clangd/index/mcu_interrupt.c.F3B8A994DB7B4C3B.idx new file mode 100644 index 0000000000000000000000000000000000000000..1a00c3062d688123675498ccb6b548be96db1562 GIT binary patch literal 23026 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_interrupt.c.F4EE0E9C26E8D12E.idx b/Source/.cache/.cache/clangd/index/mcu_interrupt.c.F4EE0E9C26E8D12E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mcu_interrupt.c.F4EE0E9C26E8D12E.idx rename to Source/.cache/.cache/clangd/index/mcu_interrupt.c.F4EE0E9C26E8D12E.idx diff --git a/Source/.cache/.cache/clangd/index/mem_init.c.0F822A6777794EA7.idx b/Source/.cache/.cache/clangd/index/mem_init.c.0F822A6777794EA7.idx new file mode 100644 index 0000000000000000000000000000000000000000..8fb13f082f245ab0d0f9247c7d91e122a6a9a2f9 GIT binary patch literal 2090 zcmcIl&1)M+6d%X36GywY)7EyI#+B@~MZoONYNZNSC52Xs9budhNwIO6Fsx=r)$}qJbF$0G#5-4?Ono7$?F{Re@S8T)MbcTE~UT#tz=xymC$lYDwd# zn1|-x9xN0$U?_vcXW_xb^=L#`P53%J<`8?|qOa1kJl3Wj?9(i-;R=71-*EWKPNjN& zv&(dqfO-W-4uAPoY0JPEs9d!tWd4yK&=yb~*AFb4)jCKnP(A9q`yQdH#k_OHJmT>o zE=I&Qon4g9YPyyIg*-Z7PR7_J1RbvCa4xH^YH3a9);2YLs&=HRPaCQi;C7DRw{_HF z&h9}ji}+iJ_{}4g+I6$W+J?$;zD z!1MxuDX00bV`0k-%!u;bi0-IF_f}Lr-koK-=c2%MZPGBq#g^!~X1HMVh+~l0_8c53g z%zRSVX7HoK?;k(BIwC2lSn8y>7U9Gul>RUzWp;A5A8CBP=cJ@0l!PV#M8F)NKTt_o znp_e=a92`Ns+R=LolO}6K%|7n(w_4*fH-2o`&4fV3=I;p}@0rzYhy@+b1V doRk;jg#2-AY<%?ii3#cbV<+QNGt(m literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.117A267220E6AD86.idx b/Source/.cache/.cache/clangd/index/mem_init.c.117A267220E6AD86.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.117A267220E6AD86.idx rename to Source/.cache/.cache/clangd/index/mem_init.c.117A267220E6AD86.idx diff --git a/Source/.cache/.cache/clangd/index/mem_init.c.17977478AF729EE7.idx b/Source/.cache/.cache/clangd/index/mem_init.c.17977478AF729EE7.idx new file mode 100644 index 0000000000000000000000000000000000000000..ed1bfad1f9abf01d91b40e4762787e8a5476b434 GIT binary patch literal 2090 zcmcIl&1)M+6d%X36GywY)5La?#+B@~MZoONY9)lLl0qxRjxcVCq}Vu28CJ6+YogVz zv%8jUdI)NjtiBI9lW`D?UD}ElEzOl z56!(jSSW75PzH(5!h?zH(TK2`@O663A@;sSU!`YxtW7=Gr&(UZ75*ycaQMnjrFwa@ zd+90x^%{;G{_OM8mVq%)xoS_y{3Ac0EucECA6Pc4b&y=3denFKJwjEBd6$ZL#N$I; zjEHSIyC|L2bS(o4d33;>jIm1yI$X`+TvlDx(wfe#ZEE^d?MPLhHdHUb?HuQ~b<|?c z?m;e#_*;nh%_EiCb+g9WhRSikdLC`NUbC`i5{h?rwhfd`7Wdf=Mp3n3plTXd3;6mK zyrmo1(2bm)HVjnh_&SU&(uheK6tzs^xmsf=DAOYi)S@lS92RIpg@gvNT!3r7kNv>( z0)Q!}`LAPP%M8qj^4y5-s6>1#svhsoGTn1g;JP+xm|^mpZG-2Y*Mo(nZD+K!t{ESr z@?cqz=$3Z{gviPY%4r!*2k#yd)lAYnFg@#iU=OtG@DK3e>y6@DWFjnDIC=wKMTs4z zW^Vwi*4ZJoK%Ln%4P7L@aDRYx^!fPNY^E2~F zVVl8!AAbAnudhZVB^67Z6l@VrY(nV|LsDiZXZw-H=X*{{Nff z5d?Q7C8c^v;J1q@LjZ`B@L2j&!2!mX;zEg=BvZ@c_QS7Z3oowzbA`u}h$VWli0mDk z7|0q|noA^wEzhBCh8N!>ey0eFJ<+H#6;HRHeS>}*Sp=kI*$NkZuyATpz94@j&&x@9 bK~BgY#>U1+kDr*3P9HlNpPHE-IRpL!3bse; literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.294B8D96D85F570D.idx b/Source/.cache/.cache/clangd/index/mem_init.c.294B8D96D85F570D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.294B8D96D85F570D.idx rename to Source/.cache/.cache/clangd/index/mem_init.c.294B8D96D85F570D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.2D694E1D4AC9BF5F.idx b/Source/.cache/.cache/clangd/index/mem_init.c.2D694E1D4AC9BF5F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.2D694E1D4AC9BF5F.idx rename to Source/.cache/.cache/clangd/index/mem_init.c.2D694E1D4AC9BF5F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.43CC62DC65889367.idx b/Source/.cache/.cache/clangd/index/mem_init.c.43CC62DC65889367.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.43CC62DC65889367.idx rename to Source/.cache/.cache/clangd/index/mem_init.c.43CC62DC65889367.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.4F8D42F452A4A904.idx b/Source/.cache/.cache/clangd/index/mem_init.c.4F8D42F452A4A904.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.4F8D42F452A4A904.idx rename to Source/.cache/.cache/clangd/index/mem_init.c.4F8D42F452A4A904.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.5B2269C7B220A592.idx b/Source/.cache/.cache/clangd/index/mem_init.c.5B2269C7B220A592.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.5B2269C7B220A592.idx rename to Source/.cache/.cache/clangd/index/mem_init.c.5B2269C7B220A592.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.603608E8B166FC8A.idx b/Source/.cache/.cache/clangd/index/mem_init.c.603608E8B166FC8A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.603608E8B166FC8A.idx rename to Source/.cache/.cache/clangd/index/mem_init.c.603608E8B166FC8A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.73D17A3D9AE0FBF8.idx b/Source/.cache/.cache/clangd/index/mem_init.c.73D17A3D9AE0FBF8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.73D17A3D9AE0FBF8.idx rename to Source/.cache/.cache/clangd/index/mem_init.c.73D17A3D9AE0FBF8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.7ACF4D5DDC0F8CC9.idx b/Source/.cache/.cache/clangd/index/mem_init.c.7ACF4D5DDC0F8CC9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.7ACF4D5DDC0F8CC9.idx rename to Source/.cache/.cache/clangd/index/mem_init.c.7ACF4D5DDC0F8CC9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.9202CFB00E4243E6.idx b/Source/.cache/.cache/clangd/index/mem_init.c.9202CFB00E4243E6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.9202CFB00E4243E6.idx rename to Source/.cache/.cache/clangd/index/mem_init.c.9202CFB00E4243E6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.C6EFBC5F6A9708FE.idx b/Source/.cache/.cache/clangd/index/mem_init.c.C6EFBC5F6A9708FE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.C6EFBC5F6A9708FE.idx rename to Source/.cache/.cache/clangd/index/mem_init.c.C6EFBC5F6A9708FE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.D1F90EB5CEE851E8.idx b/Source/.cache/.cache/clangd/index/mem_init.c.D1F90EB5CEE851E8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.D1F90EB5CEE851E8.idx rename to Source/.cache/.cache/clangd/index/mem_init.c.D1F90EB5CEE851E8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.F49BEB0A8BED967A.idx b/Source/.cache/.cache/clangd/index/mem_init.c.F49BEB0A8BED967A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/mem_init.c.F49BEB0A8BED967A.idx rename to Source/.cache/.cache/clangd/index/mem_init.c.F49BEB0A8BED967A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.c.73D9BDD96D2D94BD.idx b/Source/.cache/.cache/clangd/index/model_detection.c.73D9BDD96D2D94BD.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.c.73D9BDD96D2D94BD.idx rename to Source/.cache/.cache/clangd/index/model_detection.c.73D9BDD96D2D94BD.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.c.DE59FA4DDC1953A0.idx b/Source/.cache/.cache/clangd/index/model_detection.c.DE59FA4DDC1953A0.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.c.DE59FA4DDC1953A0.idx rename to Source/.cache/.cache/clangd/index/model_detection.c.DE59FA4DDC1953A0.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.c.E2F77D6822691C3B.idx b/Source/.cache/.cache/clangd/index/model_detection.c.E2F77D6822691C3B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.c.E2F77D6822691C3B.idx rename to Source/.cache/.cache/clangd/index/model_detection.c.E2F77D6822691C3B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.c.EC18BDD8547139F7.idx b/Source/.cache/.cache/clangd/index/model_detection.c.EC18BDD8547139F7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.c.EC18BDD8547139F7.idx rename to Source/.cache/.cache/clangd/index/model_detection.c.EC18BDD8547139F7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.c.F12D581C0BADA220.idx b/Source/.cache/.cache/clangd/index/model_detection.c.F12D581C0BADA220.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.c.F12D581C0BADA220.idx rename to Source/.cache/.cache/clangd/index/model_detection.c.F12D581C0BADA220.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.h.19E1D3AD1688B5F5.idx b/Source/.cache/.cache/clangd/index/model_detection.h.19E1D3AD1688B5F5.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.h.19E1D3AD1688B5F5.idx rename to Source/.cache/.cache/clangd/index/model_detection.h.19E1D3AD1688B5F5.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.h.4A409B260A6D0A83.idx b/Source/.cache/.cache/clangd/index/model_detection.h.4A409B260A6D0A83.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.h.4A409B260A6D0A83.idx rename to Source/.cache/.cache/clangd/index/model_detection.h.4A409B260A6D0A83.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.h.5350E45A816C8A44.idx b/Source/.cache/.cache/clangd/index/model_detection.h.5350E45A816C8A44.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.h.5350E45A816C8A44.idx rename to Source/.cache/.cache/clangd/index/model_detection.h.5350E45A816C8A44.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.h.A292C0BF53A6AFDE.idx b/Source/.cache/.cache/clangd/index/model_detection.h.A292C0BF53A6AFDE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.h.A292C0BF53A6AFDE.idx rename to Source/.cache/.cache/clangd/index/model_detection.h.A292C0BF53A6AFDE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.h.D78F8F0D4F4A3CCF.idx b/Source/.cache/.cache/clangd/index/model_detection.h.D78F8F0D4F4A3CCF.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.h.D78F8F0D4F4A3CCF.idx rename to Source/.cache/.cache/clangd/index/model_detection.h.D78F8F0D4F4A3CCF.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.h.E3B9CB0134324F4F.idx b/Source/.cache/.cache/clangd/index/model_detection.h.E3B9CB0134324F4F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/model_detection.h.E3B9CB0134324F4F.idx rename to Source/.cache/.cache/clangd/index/model_detection.h.E3B9CB0134324F4F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.33D4B142B7B3717B.idx b/Source/.cache/.cache/clangd/index/myrelay.c.33D4B142B7B3717B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.33D4B142B7B3717B.idx rename to Source/.cache/.cache/clangd/index/myrelay.c.33D4B142B7B3717B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.55477E8748D90B99.idx b/Source/.cache/.cache/clangd/index/myrelay.c.55477E8748D90B99.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.55477E8748D90B99.idx rename to Source/.cache/.cache/clangd/index/myrelay.c.55477E8748D90B99.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.6902F23AF155D9F8.idx b/Source/.cache/.cache/clangd/index/myrelay.c.6902F23AF155D9F8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.6902F23AF155D9F8.idx rename to Source/.cache/.cache/clangd/index/myrelay.c.6902F23AF155D9F8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.74F51E6C531F44BE.idx b/Source/.cache/.cache/clangd/index/myrelay.c.74F51E6C531F44BE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.74F51E6C531F44BE.idx rename to Source/.cache/.cache/clangd/index/myrelay.c.74F51E6C531F44BE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.8EBE86D294A57164.idx b/Source/.cache/.cache/clangd/index/myrelay.c.8EBE86D294A57164.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.8EBE86D294A57164.idx rename to Source/.cache/.cache/clangd/index/myrelay.c.8EBE86D294A57164.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.9B225A2D90E2081A.idx b/Source/.cache/.cache/clangd/index/myrelay.c.9B225A2D90E2081A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.9B225A2D90E2081A.idx rename to Source/.cache/.cache/clangd/index/myrelay.c.9B225A2D90E2081A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.B3E664B57184E75A.idx b/Source/.cache/.cache/clangd/index/myrelay.c.B3E664B57184E75A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.B3E664B57184E75A.idx rename to Source/.cache/.cache/clangd/index/myrelay.c.B3E664B57184E75A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.B8CE78EB06EED552.idx b/Source/.cache/.cache/clangd/index/myrelay.c.B8CE78EB06EED552.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.B8CE78EB06EED552.idx rename to Source/.cache/.cache/clangd/index/myrelay.c.B8CE78EB06EED552.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.C63C45B7A66E09C9.idx b/Source/.cache/.cache/clangd/index/myrelay.c.C63C45B7A66E09C9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.C63C45B7A66E09C9.idx rename to Source/.cache/.cache/clangd/index/myrelay.c.C63C45B7A66E09C9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.D65D9E9ED5C84FA6.idx b/Source/.cache/.cache/clangd/index/myrelay.c.D65D9E9ED5C84FA6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.D65D9E9ED5C84FA6.idx rename to Source/.cache/.cache/clangd/index/myrelay.c.D65D9E9ED5C84FA6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.FCAF32B56CAB6AE4.idx b/Source/.cache/.cache/clangd/index/myrelay.c.FCAF32B56CAB6AE4.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.FCAF32B56CAB6AE4.idx rename to Source/.cache/.cache/clangd/index/myrelay.c.FCAF32B56CAB6AE4.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.FFCA93B1073B17A5.idx b/Source/.cache/.cache/clangd/index/myrelay.c.FFCA93B1073B17A5.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.c.FFCA93B1073B17A5.idx rename to Source/.cache/.cache/clangd/index/myrelay.c.FFCA93B1073B17A5.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.24C8A6320823FD43.idx b/Source/.cache/.cache/clangd/index/myrelay.h.24C8A6320823FD43.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.24C8A6320823FD43.idx rename to Source/.cache/.cache/clangd/index/myrelay.h.24C8A6320823FD43.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.307C2DC25F9C27B5.idx b/Source/.cache/.cache/clangd/index/myrelay.h.307C2DC25F9C27B5.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.307C2DC25F9C27B5.idx rename to Source/.cache/.cache/clangd/index/myrelay.h.307C2DC25F9C27B5.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.59F48650B3D7BBEF.idx b/Source/.cache/.cache/clangd/index/myrelay.h.59F48650B3D7BBEF.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.59F48650B3D7BBEF.idx rename to Source/.cache/.cache/clangd/index/myrelay.h.59F48650B3D7BBEF.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.7617B99F771A7F2D.idx b/Source/.cache/.cache/clangd/index/myrelay.h.7617B99F771A7F2D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.7617B99F771A7F2D.idx rename to Source/.cache/.cache/clangd/index/myrelay.h.7617B99F771A7F2D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.88F538C375F67A54.idx b/Source/.cache/.cache/clangd/index/myrelay.h.88F538C375F67A54.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.88F538C375F67A54.idx rename to Source/.cache/.cache/clangd/index/myrelay.h.88F538C375F67A54.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.93E460EE1CB67C6C.idx b/Source/.cache/.cache/clangd/index/myrelay.h.93E460EE1CB67C6C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.93E460EE1CB67C6C.idx rename to Source/.cache/.cache/clangd/index/myrelay.h.93E460EE1CB67C6C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.B78A48FCC3B42E52.idx b/Source/.cache/.cache/clangd/index/myrelay.h.B78A48FCC3B42E52.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.B78A48FCC3B42E52.idx rename to Source/.cache/.cache/clangd/index/myrelay.h.B78A48FCC3B42E52.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.D351E0294C0774DF.idx b/Source/.cache/.cache/clangd/index/myrelay.h.D351E0294C0774DF.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.D351E0294C0774DF.idx rename to Source/.cache/.cache/clangd/index/myrelay.h.D351E0294C0774DF.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.F072BE8F5FBE97F8.idx b/Source/.cache/.cache/clangd/index/myrelay.h.F072BE8F5FBE97F8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.F072BE8F5FBE97F8.idx rename to Source/.cache/.cache/clangd/index/myrelay.h.F072BE8F5FBE97F8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.F0953E54F743A6D7.idx b/Source/.cache/.cache/clangd/index/myrelay.h.F0953E54F743A6D7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.F0953E54F743A6D7.idx rename to Source/.cache/.cache/clangd/index/myrelay.h.F0953E54F743A6D7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.F1B435139BC8DCEF.idx b/Source/.cache/.cache/clangd/index/myrelay.h.F1B435139BC8DCEF.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.F1B435139BC8DCEF.idx rename to Source/.cache/.cache/clangd/index/myrelay.h.F1B435139BC8DCEF.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.F23E245E1D07F7ED.idx b/Source/.cache/.cache/clangd/index/myrelay.h.F23E245E1D07F7ED.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/myrelay.h.F23E245E1D07F7ED.idx rename to Source/.cache/.cache/clangd/index/myrelay.h.F23E245E1D07F7ED.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.78A7A61E76C929EB.idx b/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.78A7A61E76C929EB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.78A7A61E76C929EB.idx rename to Source/.cache/.cache/clangd/index/rf_uart_protocol.c.78A7A61E76C929EB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.7A123A6457328CCD.idx b/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.7A123A6457328CCD.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.7A123A6457328CCD.idx rename to Source/.cache/.cache/clangd/index/rf_uart_protocol.c.7A123A6457328CCD.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.7F274CBF0003F9C8.idx b/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.7F274CBF0003F9C8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.7F274CBF0003F9C8.idx rename to Source/.cache/.cache/clangd/index/rf_uart_protocol.c.7F274CBF0003F9C8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.999BDAB3A873BEE4.idx b/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.999BDAB3A873BEE4.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.999BDAB3A873BEE4.idx rename to Source/.cache/.cache/clangd/index/rf_uart_protocol.c.999BDAB3A873BEE4.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.C977EE169E433875.idx b/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.C977EE169E433875.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.C977EE169E433875.idx rename to Source/.cache/.cache/clangd/index/rf_uart_protocol.c.C977EE169E433875.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.D9B719514368AADB.idx b/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.D9B719514368AADB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.c.D9B719514368AADB.idx rename to Source/.cache/.cache/clangd/index/rf_uart_protocol.c.D9B719514368AADB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.1F69BAD32EBF87F8.idx b/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.1F69BAD32EBF87F8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.1F69BAD32EBF87F8.idx rename to Source/.cache/.cache/clangd/index/rf_uart_protocol.h.1F69BAD32EBF87F8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.27E1BBB5A4A6D730.idx b/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.27E1BBB5A4A6D730.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.27E1BBB5A4A6D730.idx rename to Source/.cache/.cache/clangd/index/rf_uart_protocol.h.27E1BBB5A4A6D730.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.29B511AF70BC0470.idx b/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.29B511AF70BC0470.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.29B511AF70BC0470.idx rename to Source/.cache/.cache/clangd/index/rf_uart_protocol.h.29B511AF70BC0470.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.5A7F01100CED7E7E.idx b/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.5A7F01100CED7E7E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.5A7F01100CED7E7E.idx rename to Source/.cache/.cache/clangd/index/rf_uart_protocol.h.5A7F01100CED7E7E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.73EF1509FD529A93.idx b/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.73EF1509FD529A93.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.73EF1509FD529A93.idx rename to Source/.cache/.cache/clangd/index/rf_uart_protocol.h.73EF1509FD529A93.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.C54F466BD1EAEF56.idx b/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.C54F466BD1EAEF56.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/rf_uart_protocol.h.C54F466BD1EAEF56.idx rename to Source/.cache/.cache/clangd/index/rf_uart_protocol.h.C54F466BD1EAEF56.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stdarg.h.3C5CA7E8DDFB3002.idx b/Source/.cache/.cache/clangd/index/stdarg.h.3C5CA7E8DDFB3002.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stdarg.h.3C5CA7E8DDFB3002.idx rename to Source/.cache/.cache/clangd/index/stdarg.h.3C5CA7E8DDFB3002.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stdarg.h.C3C728AC8175E9B8.idx b/Source/.cache/.cache/clangd/index/stdarg.h.C3C728AC8175E9B8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stdarg.h.C3C728AC8175E9B8.idx rename to Source/.cache/.cache/clangd/index/stdarg.h.C3C728AC8175E9B8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stddef.h.017B5135BEFC0052.idx b/Source/.cache/.cache/clangd/index/stddef.h.017B5135BEFC0052.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stddef.h.017B5135BEFC0052.idx rename to Source/.cache/.cache/clangd/index/stddef.h.017B5135BEFC0052.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stddef.h.3CECDFBE12B994D6.idx b/Source/.cache/.cache/clangd/index/stddef.h.3CECDFBE12B994D6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stddef.h.3CECDFBE12B994D6.idx rename to Source/.cache/.cache/clangd/index/stddef.h.3CECDFBE12B994D6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stddef.h.6F6001003806DD68.idx b/Source/.cache/.cache/clangd/index/stddef.h.6F6001003806DD68.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stddef.h.6F6001003806DD68.idx rename to Source/.cache/.cache/clangd/index/stddef.h.6F6001003806DD68.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stddef.h.70D26B4A16BFEB22.idx b/Source/.cache/.cache/clangd/index/stddef.h.70D26B4A16BFEB22.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stddef.h.70D26B4A16BFEB22.idx rename to Source/.cache/.cache/clangd/index/stddef.h.70D26B4A16BFEB22.idx diff --git a/Source/.cache/.cache/clangd/index/stddef.h.BDC4C8A012FAF406.idx b/Source/.cache/.cache/clangd/index/stddef.h.BDC4C8A012FAF406.idx new file mode 100644 index 0000000000000000000000000000000000000000..cb4a88f9d2415aeb2eb9015cb7f236eef4250f26 GIT binary patch literal 776 zcmYk)OK1~87zgnA)`HU{;-e2e1eDZQ0%np_TN+d-iGh-+HPs$ekj-W{-DdM3o2HEy z4=PCYP~zhxh!8LVTfJDYP1__*+Z0c+LMnPtp%=xg1ur^j9oB_q`1tKN-+z|z_jx>M z2STo3-&jOU@=XY#z4TR+3HcUXx1Q5#G8hyk>(E&w$%^PCgt(oAkH?A2?e&ZC7`Ysa zDZ&shM~TZj=s2fH=jEuZ$N@6gX|>y|jvnGCjWQ$%L{P)&6QUyV0XgL$UDi&kjmS|! z83~Gn4MM7XQ@oL+Int595gOv;nTl>beYI8J2+P%>y$;5I3u@j92>>V|N@^R2kfl<4 zxv}Pd0Xl90@B-}KJ_ka!uc7HppT|a_3b+a_4D9BSi9%V=QCI@J1V#pIFoo@@47%UP zUJXBX{h&|)T+n8?cS)BfFGhA!C<87-E9>xv$oJllPx>jW0A7Lp3@%__m+#>8Hwrbt zHQ2)-FnsUPaK_xj8Mr*)JnUnj<7NQQXmxa=^sJI0sL8+?Eyiy4nStxDbo^I^kB3ib zmV?7Nu(NtpOx53-9=6aBtAJOv^Njwv9|mX6LSYW@9JH~H+x>^uKl}=PrceZ2)MAe( z?|MwnkMa~20WZP<*74x?HCHK{?WM2`cv*v|$L{3bxSOw2C;={MTU9gfviYg0NeZ)o zXSEam91vvln8`?C9`L-@v3X@&eZBE1MWF(?qWxuhI~2Z=L`?{)o~|4R?Q36re39OQ Ezwn)_!vFvP literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stddef.h.C93A39EBE6BF755F.idx b/Source/.cache/.cache/clangd/index/stddef.h.C93A39EBE6BF755F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stddef.h.C93A39EBE6BF755F.idx rename to Source/.cache/.cache/clangd/index/stddef.h.C93A39EBE6BF755F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stdio.h.C495D5AAA9E50A2A.idx b/Source/.cache/.cache/clangd/index/stdio.h.C495D5AAA9E50A2A.idx similarity index 97% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stdio.h.C495D5AAA9E50A2A.idx rename to Source/.cache/.cache/clangd/index/stdio.h.C495D5AAA9E50A2A.idx index 28d5bcc5feed7b3e39c9abffb721df926c5acbdd..f819c3960c6a6a0b437a801ede0828fe25f74da1 100644 GIT binary patch delta 37 tcmccRc*}7Em&9g8340Dckt@AS%XIN&Te7kiI?V(=Gn|B;lVLEK_Q-zVe$b5DF76e45I)5 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stdio.h.D860C5E71BED5143.idx b/Source/.cache/.cache/clangd/index/stdio.h.D860C5E71BED5143.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stdio.h.D860C5E71BED5143.idx rename to Source/.cache/.cache/clangd/index/stdio.h.D860C5E71BED5143.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stdlib.h.126A28DFB0293F6D.idx b/Source/.cache/.cache/clangd/index/stdlib.h.126A28DFB0293F6D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stdlib.h.126A28DFB0293F6D.idx rename to Source/.cache/.cache/clangd/index/stdlib.h.126A28DFB0293F6D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stdlib.h.5E38A6894AF5A1F0.idx b/Source/.cache/.cache/clangd/index/stdlib.h.5E38A6894AF5A1F0.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stdlib.h.5E38A6894AF5A1F0.idx rename to Source/.cache/.cache/clangd/index/stdlib.h.5E38A6894AF5A1F0.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stdlib.h.775972F14DB852DD.idx b/Source/.cache/.cache/clangd/index/stdlib.h.775972F14DB852DD.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stdlib.h.775972F14DB852DD.idx rename to Source/.cache/.cache/clangd/index/stdlib.h.775972F14DB852DD.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stdlib.h.FAF6472352AEA74F.idx b/Source/.cache/.cache/clangd/index/stdlib.h.FAF6472352AEA74F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stdlib.h.FAF6472352AEA74F.idx rename to Source/.cache/.cache/clangd/index/stdlib.h.FAF6472352AEA74F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/string.h.553257B40768A772.idx b/Source/.cache/.cache/clangd/index/string.h.553257B40768A772.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/string.h.553257B40768A772.idx rename to Source/.cache/.cache/clangd/index/string.h.553257B40768A772.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/string.h.9818DBD7E499286F.idx b/Source/.cache/.cache/clangd/index/string.h.9818DBD7E499286F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/string.h.9818DBD7E499286F.idx rename to Source/.cache/.cache/clangd/index/string.h.9818DBD7E499286F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.c.3004205700B4F059.idx b/Source/.cache/.cache/clangd/index/switch_fun.c.3004205700B4F059.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.c.3004205700B4F059.idx rename to Source/.cache/.cache/clangd/index/switch_fun.c.3004205700B4F059.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.c.475B8B3241A2A01A.idx b/Source/.cache/.cache/clangd/index/switch_fun.c.475B8B3241A2A01A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.c.475B8B3241A2A01A.idx rename to Source/.cache/.cache/clangd/index/switch_fun.c.475B8B3241A2A01A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.c.5F9DCE543EB01ECB.idx b/Source/.cache/.cache/clangd/index/switch_fun.c.5F9DCE543EB01ECB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.c.5F9DCE543EB01ECB.idx rename to Source/.cache/.cache/clangd/index/switch_fun.c.5F9DCE543EB01ECB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.c.727F91DA7AF854F4.idx b/Source/.cache/.cache/clangd/index/switch_fun.c.727F91DA7AF854F4.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.c.727F91DA7AF854F4.idx rename to Source/.cache/.cache/clangd/index/switch_fun.c.727F91DA7AF854F4.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.c.8F7FC4ECD9D25B4D.idx b/Source/.cache/.cache/clangd/index/switch_fun.c.8F7FC4ECD9D25B4D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.c.8F7FC4ECD9D25B4D.idx rename to Source/.cache/.cache/clangd/index/switch_fun.c.8F7FC4ECD9D25B4D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.c.E8CB937D2285BB7F.idx b/Source/.cache/.cache/clangd/index/switch_fun.c.E8CB937D2285BB7F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.c.E8CB937D2285BB7F.idx rename to Source/.cache/.cache/clangd/index/switch_fun.c.E8CB937D2285BB7F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.h.086548FFC373D024.idx b/Source/.cache/.cache/clangd/index/switch_fun.h.086548FFC373D024.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.h.086548FFC373D024.idx rename to Source/.cache/.cache/clangd/index/switch_fun.h.086548FFC373D024.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.h.1A87B0CFCE860AE8.idx b/Source/.cache/.cache/clangd/index/switch_fun.h.1A87B0CFCE860AE8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.h.1A87B0CFCE860AE8.idx rename to Source/.cache/.cache/clangd/index/switch_fun.h.1A87B0CFCE860AE8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.h.674442C04AAFAAF6.idx b/Source/.cache/.cache/clangd/index/switch_fun.h.674442C04AAFAAF6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.h.674442C04AAFAAF6.idx rename to Source/.cache/.cache/clangd/index/switch_fun.h.674442C04AAFAAF6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.h.B35F002F34667A7D.idx b/Source/.cache/.cache/clangd/index/switch_fun.h.B35F002F34667A7D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.h.B35F002F34667A7D.idx rename to Source/.cache/.cache/clangd/index/switch_fun.h.B35F002F34667A7D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.h.B9938DDF247E330F.idx b/Source/.cache/.cache/clangd/index/switch_fun.h.B9938DDF247E330F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.h.B9938DDF247E330F.idx rename to Source/.cache/.cache/clangd/index/switch_fun.h.B9938DDF247E330F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.h.E31A57CBD5B029A5.idx b/Source/.cache/.cache/clangd/index/switch_fun.h.E31A57CBD5B029A5.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.h.E31A57CBD5B029A5.idx rename to Source/.cache/.cache/clangd/index/switch_fun.h.E31A57CBD5B029A5.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.h.F0F0EFB70C5B5ED9.idx b/Source/.cache/.cache/clangd/index/switch_fun.h.F0F0EFB70C5B5ED9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/switch_fun.h.F0F0EFB70C5B5ED9.idx rename to Source/.cache/.cache/clangd/index/switch_fun.h.F0F0EFB70C5B5ED9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.015DA15CD57C5D01.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.c.015DA15CD57C5D01.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.015DA15CD57C5D01.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.c.015DA15CD57C5D01.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.0E736234DFD1221C.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.c.0E736234DFD1221C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.0E736234DFD1221C.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.c.0E736234DFD1221C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.10D8353F53EF7D32.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.c.10D8353F53EF7D32.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.10D8353F53EF7D32.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.c.10D8353F53EF7D32.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.1CE3B9E773BD5E83.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.c.1CE3B9E773BD5E83.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.1CE3B9E773BD5E83.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.c.1CE3B9E773BD5E83.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.1E1AE931E12D5955.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.c.1E1AE931E12D5955.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.1E1AE931E12D5955.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.c.1E1AE931E12D5955.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.27363456AECB2C60.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.c.27363456AECB2C60.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.27363456AECB2C60.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.c.27363456AECB2C60.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.4529F0104B5EC5EB.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.c.4529F0104B5EC5EB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.4529F0104B5EC5EB.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.c.4529F0104B5EC5EB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.4A23D74B810C9958.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.c.4A23D74B810C9958.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.4A23D74B810C9958.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.c.4A23D74B810C9958.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.69F6F224C1481817.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.c.69F6F224C1481817.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.69F6F224C1481817.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.c.69F6F224C1481817.idx diff --git a/Source/.cache/.cache/clangd/index/tempctrl_unit.c.7A1D4124F619E416.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.c.7A1D4124F619E416.idx new file mode 100644 index 0000000000000000000000000000000000000000..1aefd4ae52e0a4db45f6834f952e798e8c72d9d0 GIT binary patch literal 12132 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.885EEB5FDBBFD368.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.c.885EEB5FDBBFD368.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.885EEB5FDBBFD368.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.c.885EEB5FDBBFD368.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.9D648BCCE53AB868.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.c.9D648BCCE53AB868.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.9D648BCCE53AB868.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.c.9D648BCCE53AB868.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.A6241E225EBF41A9.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.c.A6241E225EBF41A9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.A6241E225EBF41A9.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.c.A6241E225EBF41A9.idx diff --git a/Source/.cache/.cache/clangd/index/tempctrl_unit.c.B8567B42F5F7279F.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.c.B8567B42F5F7279F.idx new file mode 100644 index 0000000000000000000000000000000000000000..9da20cab34da9410d5191caeceeae8b2cdb3f739 GIT binary patch literal 8292 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.BF1E05A8789E9D23.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.c.BF1E05A8789E9D23.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.BF1E05A8789E9D23.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.c.BF1E05A8789E9D23.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.D5C3CDCA5E47177A.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.c.D5C3CDCA5E47177A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.c.D5C3CDCA5E47177A.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.c.D5C3CDCA5E47177A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.057E914874A7AA56.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.h.057E914874A7AA56.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.057E914874A7AA56.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.h.057E914874A7AA56.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.20BABCA3371FEA56.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.h.20BABCA3371FEA56.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.20BABCA3371FEA56.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.h.20BABCA3371FEA56.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.2CD14A0E2F2F72B0.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.h.2CD14A0E2F2F72B0.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.2CD14A0E2F2F72B0.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.h.2CD14A0E2F2F72B0.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.3900428707DA26A6.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.h.3900428707DA26A6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.3900428707DA26A6.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.h.3900428707DA26A6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.4B9F1D3D36A4B38C.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.h.4B9F1D3D36A4B38C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.4B9F1D3D36A4B38C.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.h.4B9F1D3D36A4B38C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.70E55A3DB05B3085.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.h.70E55A3DB05B3085.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.70E55A3DB05B3085.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.h.70E55A3DB05B3085.idx diff --git a/Source/.cache/.cache/clangd/index/tempctrl_unit.h.7D545E1B1FBC9926.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.h.7D545E1B1FBC9926.idx new file mode 100644 index 0000000000000000000000000000000000000000..f735df4a44454bce21be9111b444fe4ae62cd575 GIT binary patch literal 3684 zcmb_eYfu~46~1e%)q<9lz&y;WV9Yug1B(P{jR+Y#0s-YQfJE^lVG+`TWrW16Bru^# zJ)UV9$0?pV%{awz9FM1Q9FHGyOzOBeO-MqV)U7j~I!!yRo1_6ZZk@PI+WIkRd-h6a zsi%LdfrIw@&OLk2x%Zrp&L*exL4gp5uW8$m67ei0grvZ4IHLNi6X1*XDJ~kf+Pl`u z?t+p|#arizcpfP&C>pofyR2UautfZcN?&w9ZVLJ%q|P614|v98w2(cRE> z_yAEgBKB^pOOC`n=^k1<;fTi42bv0`verttI zj*JZ}VL1@;dIInkNH`Qy

!H`4kcg%Ax*#qAFoU9Z`HFtVDns@dQQ`G7|Fp$ikT; z3zLVh?mIL8-IwN%@18$C^~ozcum1Fjh5ZLe9Gy6~@Z`z)LnjxWnw+26K7V)@bkNvP zUlp{Iuzcs$4V#7Y$s{}0O+@TY@6IEM@RYNH5t;ObIg|6bJ3kOe-clmAvaRXV5H99k z_Cn(W`6HkA31k`2E~6`x8l3nw6R)Mgv-pM)zYH)qe?$o|xZ+`SUf#d?+#$M-9@deP2fDd?+fAbf9ZeYF1E#^!NVt{#5ny z@IM7|571@CGBY(u@BCTj-nV9IIDr^|ZeSaDYLK3?@~3y7Eq+=c#Xwt)RueTyKWjO5 z;tRFBMIc2$R~Rdjs6qOLsrzdWeg6XoPlvTuIbCzOn>%N-Y4t*JccBq&)~~mto$#gCeM>k=e7&P3_ECK8fvvKnZc(UwdN(jWftwLMAQBNqjd2DClJo<|MR z^OlvDZofF)B@hAVCbr2;4blrqrTKsQ>gc;Bk^_mm8MiT))|{nbtqnbzl5F`(U(T`2~S|4c2!UJJP7Z^|v1`k%v|!jtayAbi1)Vl^Uc~ zr9Zr%U7Q_EVr*u_-z5x0(;mO?8=o;rVg{Fi84&YT{>N)}H*N$tolDnLoPN^pkqkHF z_8fq7xm?itI2<240BbV`;li6|+b{qA@Np9_)-tsQ?0#OXXX*_&OL)=AI1SjFaIu*N z1KxLDY-Ab@czbxUiD@$6dGca2(`>-n@?tB~YQXWwi)~Ds0UMeZdr9w7{T7S81-(W1 zv}*E?XC8ANtb;9?qtSojQFWMLzix-v` zE160b2L~^h<{Mj>|c3j6QH3V1X0#J)hExsWQSiQjwL$5uqF!#hx57$(oLgp z0Bqt+`tgqJ`S|j>w|;W~V38B`PQ!Z(uqGZD1p5eJO*9aGa{IMs`c57i2RNV0*9(i6 z7+_69(EFK7e`z~i=okXHkSo+!JNeX%&ys-I1cyGg>0XA~RWe6XcHNAIgCUGCY zSzMML1hofFhiXpT{k4hdl@I0S&wzI(m#J3}n-;vO0L8uEoLx45?1_>9cqeg5dOCAk z)k^8SuLfW^63%;s1-MVUQfvuDBB_7r<1p;xNusc#|ep_@=*pYTcjUeEW5P8IA$9jD1kP zAPAMMIE<4Gyfwu_ZybLBYf6PM{Kp*dXb)l48>W|il};@YZ_Qo!<&I>>HD(q059#BY Ah5!Hn literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.83449822409CFF1D.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.h.83449822409CFF1D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.83449822409CFF1D.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.h.83449822409CFF1D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.861FAAF48C1BDFB0.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.h.861FAAF48C1BDFB0.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.861FAAF48C1BDFB0.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.h.861FAAF48C1BDFB0.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.AB5271DAE3EF5EE3.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.h.AB5271DAE3EF5EE3.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.AB5271DAE3EF5EE3.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.h.AB5271DAE3EF5EE3.idx diff --git a/Source/.cache/.cache/clangd/index/tempctrl_unit.h.BA30627066235553.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.h.BA30627066235553.idx new file mode 100644 index 0000000000000000000000000000000000000000..bfbc8569646559e4c38d9af3bf1a47d84476e0e6 GIT binary patch literal 3684 zcmb_eYfu~46~1e%)q<9lz&y;WV9Yug1B(Prg9sTr0s-MMfJE`5VG+`TWrW16Bru^# zJ)UV9#|fS|%{awz9FHe)9FHGyOzOBeO-MqW)U7j~I!!yRo1_6ZZk@PI+WIkRd-h6a zsi%LdfrIw@&OLk2x%Zrp&L*exI|3mNU(?nhCE{612uXq8a76W2C%_l&Q(QD|wRhbk zy9-J>6>ps<;(55VplIA?@3P(vV2cubcr_`8pF4a?3v?PNPcRf58wy3k1rR#wjjXoY ziNmA%>Vx!;GvFDZUtAGSL?Mod8VD$=to@bO`PDnoj;NxJX|OX2tK+UZc&BfC!*aVC z@+#r5KR7_@l)mVI+!XXjNS#029`KCGZcliSxV%bGp&Oy!+Cnj;E#&rl2Z>u5qPwB% z@ByM~MC{#GmmGT1>X%T1(jV?a8Xi>E1VaH}qa6pmiM*iy=H!-a3 zBIc+Sr%OwNy2a}7Kda;AaRg&-vP%j2^jNabua5eIKBAo*@!E^ly4J15XtCH{dlL{N zq~8-H{r-Srmn5mdE_H|0LD#UytH>KRblapV(N<9x^>6VjlG|aE+*aA`kT*8U->$I9 zwhG(b6;_)~a)qL*SCL#BT<-c-$shDe5y;o8r4fZR$~XU?UI38;QJ*4th9i}>ek*Jt zGB&J)$&6Btp*NXYLa3#Sh+ zOdh(j_w@YtUztC)YyQ~Or?2g}@{=bQ_U$KebmHv7QzzyRo>+K#a(-sp{GpxDL1ROG zRnSht@*P*!ZxYTWlk8YG5wSbHJC7v7Q_c!TWYQPrOwJc>KOvC3r9^CHThpl_T+F@f zrN;a7N51G2$TFZ^Mpq^^NLwfSP6S@u)4>xS!*4WfG?T<7OGw#D2ygv&%e%Wr`KdceeT{wi$b+vPsuD;(tgmHjQ>nrA z_qLu?&b*v|L?CN`E;p9*)FAD+-Y?e-Kk}hKvViV1c4kn6bo2S(PV4Q2M|qNjyZ0Kr zIg7hr|CPU`^SO;%1j534C+ifb!Sy}6Qu~g+{qgSvk_&Vj+m=fW(!R%XX3w(Y-xWv+ z(3QqYGc`yL|LPUx&77|b1(E@DbxL&}HAt)Wy&0wRp{PL8fv!oZSwRibKls-NQ`O7E z{}jkwK$jWI%+w&g-kGW41Y!WXfolZ4-zYcF@Q+CR2m%9~{5Y zBX#clxj;&RmW&cl4bqpd@4ePI%w!2rv`WMw?}^a(D*ZK zGf$Fn{U*aETK`zrefjt71JQ=%=LPZ&Sl?mnNTUYV-+HJ-9$Jw&Di90M?Z)<0YLHfy z{_s9_adt3?v6&HnmoN}bd+gqCea<9_8C(WtK+IS8=hy6N+yHPom#(Qe{iNR|8LrFi zIRNK!xuErNI6ig&)@BaEg*VQ$U;6!_VA(8n8FvVlxc} zyzji&$TS-8_V8j8(`3N&#a5=(fa8xB+n6>3HZ(8xlHR5IEf#wVdW-OB z)#M*fKk7VC2U{#-%2@0}7(7fli}MJsBO|eROL?(^sbI0Gc+tvOS?oYwv@tdoFDx%s zGL|{Dw9B{noVq7c^>owl*eR6Bz{RAkkg|k?&xJU!6 z4RVCbYZp>y?rSIkIFHLSBP`8!H2&jq*95>tTu}zXIPu|9&`BT1@od0b8}jIl^L=Sj zY_7*~UaV%SEjR#q(azW{*p$3j!_-)C`r!?LxZ3c?xL9X^wV{tNmIGjI*dy%xXzCB6 zHx3^JIF(D)>+!($OF3_i-hT~XffMvSqbfj#R1M-$@V>44 zzPcUYY%W`WC7vw6njWC{X7S_liNP%@z-e5Xo+TCtU`-y-8*2lwCJP9M^STPsO`~rC zY~oD%@s8~N5HQB;+E{yw(ufKQuB)}ZU z=~?2409aEo^uBy{#{iRSEM{O5NxfB=2962v)1s|BI+$kQ~*nxDzTDz*Mo~FwRtXlO|U9roVn>-Iw6}*_!|}90O_@`=ES5 z5Gq@77$+NeYl?;5IQ{_ElnP<^k2&Dc9>S_OOfUN?omwK^oIC%^?a7X-%qsF9bRwF3 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.D41E264327EF3D3A.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.h.D41E264327EF3D3A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.D41E264327EF3D3A.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.h.D41E264327EF3D3A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.D4FE4381A42DCAA3.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.h.D4FE4381A42DCAA3.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.D4FE4381A42DCAA3.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.h.D4FE4381A42DCAA3.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.E46D5BB54CAD0EE1.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.h.E46D5BB54CAD0EE1.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.E46D5BB54CAD0EE1.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.h.E46D5BB54CAD0EE1.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.EBDC76270D2BEB82.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.h.EBDC76270D2BEB82.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.EBDC76270D2BEB82.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.h.EBDC76270D2BEB82.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.FA7E398BF2C96BFE.idx b/Source/.cache/.cache/clangd/index/tempctrl_unit.h.FA7E398BF2C96BFE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tempctrl_unit.h.FA7E398BF2C96BFE.idx rename to Source/.cache/.cache/clangd/index/tempctrl_unit.h.FA7E398BF2C96BFE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.c.2C51DCB7A10CA061.idx b/Source/.cache/.cache/clangd/index/tm1812.c.2C51DCB7A10CA061.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.c.2C51DCB7A10CA061.idx rename to Source/.cache/.cache/clangd/index/tm1812.c.2C51DCB7A10CA061.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.c.4995B1C706B7E1BA.idx b/Source/.cache/.cache/clangd/index/tm1812.c.4995B1C706B7E1BA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.c.4995B1C706B7E1BA.idx rename to Source/.cache/.cache/clangd/index/tm1812.c.4995B1C706B7E1BA.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.c.4B63E1009C7CF09A.idx b/Source/.cache/.cache/clangd/index/tm1812.c.4B63E1009C7CF09A.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.c.4B63E1009C7CF09A.idx rename to Source/.cache/.cache/clangd/index/tm1812.c.4B63E1009C7CF09A.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.c.4CB66E73581E667B.idx b/Source/.cache/.cache/clangd/index/tm1812.c.4CB66E73581E667B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.c.4CB66E73581E667B.idx rename to Source/.cache/.cache/clangd/index/tm1812.c.4CB66E73581E667B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.c.65F8F2D42CA0C908.idx b/Source/.cache/.cache/clangd/index/tm1812.c.65F8F2D42CA0C908.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.c.65F8F2D42CA0C908.idx rename to Source/.cache/.cache/clangd/index/tm1812.c.65F8F2D42CA0C908.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.c.C37EDFE81E0AEBE1.idx b/Source/.cache/.cache/clangd/index/tm1812.c.C37EDFE81E0AEBE1.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.c.C37EDFE81E0AEBE1.idx rename to Source/.cache/.cache/clangd/index/tm1812.c.C37EDFE81E0AEBE1.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.h.07C117110FE11C53.idx b/Source/.cache/.cache/clangd/index/tm1812.h.07C117110FE11C53.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.h.07C117110FE11C53.idx rename to Source/.cache/.cache/clangd/index/tm1812.h.07C117110FE11C53.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.h.3DF12553810BDEA7.idx b/Source/.cache/.cache/clangd/index/tm1812.h.3DF12553810BDEA7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.h.3DF12553810BDEA7.idx rename to Source/.cache/.cache/clangd/index/tm1812.h.3DF12553810BDEA7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.h.60A85F33B5A9B0F9.idx b/Source/.cache/.cache/clangd/index/tm1812.h.60A85F33B5A9B0F9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.h.60A85F33B5A9B0F9.idx rename to Source/.cache/.cache/clangd/index/tm1812.h.60A85F33B5A9B0F9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.h.9168966CA61F12D6.idx b/Source/.cache/.cache/clangd/index/tm1812.h.9168966CA61F12D6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.h.9168966CA61F12D6.idx rename to Source/.cache/.cache/clangd/index/tm1812.h.9168966CA61F12D6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.h.B5E6670DBC2CC1F9.idx b/Source/.cache/.cache/clangd/index/tm1812.h.B5E6670DBC2CC1F9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.h.B5E6670DBC2CC1F9.idx rename to Source/.cache/.cache/clangd/index/tm1812.h.B5E6670DBC2CC1F9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.h.B66C1DB7550452D0.idx b/Source/.cache/.cache/clangd/index/tm1812.h.B66C1DB7550452D0.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.h.B66C1DB7550452D0.idx rename to Source/.cache/.cache/clangd/index/tm1812.h.B66C1DB7550452D0.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.h.D4BF94D7F1235284.idx b/Source/.cache/.cache/clangd/index/tm1812.h.D4BF94D7F1235284.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/tm1812.h.D4BF94D7F1235284.idx rename to Source/.cache/.cache/clangd/index/tm1812.h.D4BF94D7F1235284.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.18AD2516E8DBFC6D.idx b/Source/.cache/.cache/clangd/index/touch_key.c.18AD2516E8DBFC6D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.18AD2516E8DBFC6D.idx rename to Source/.cache/.cache/clangd/index/touch_key.c.18AD2516E8DBFC6D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.2C4337CD994EC316.idx b/Source/.cache/.cache/clangd/index/touch_key.c.2C4337CD994EC316.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.2C4337CD994EC316.idx rename to Source/.cache/.cache/clangd/index/touch_key.c.2C4337CD994EC316.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.3878574E022D9B5D.idx b/Source/.cache/.cache/clangd/index/touch_key.c.3878574E022D9B5D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.3878574E022D9B5D.idx rename to Source/.cache/.cache/clangd/index/touch_key.c.3878574E022D9B5D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.4ED5784EF21096D3.idx b/Source/.cache/.cache/clangd/index/touch_key.c.4ED5784EF21096D3.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.4ED5784EF21096D3.idx rename to Source/.cache/.cache/clangd/index/touch_key.c.4ED5784EF21096D3.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.52F80C80B4B26F2C.idx b/Source/.cache/.cache/clangd/index/touch_key.c.52F80C80B4B26F2C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.52F80C80B4B26F2C.idx rename to Source/.cache/.cache/clangd/index/touch_key.c.52F80C80B4B26F2C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.67D3178C4C3274CD.idx b/Source/.cache/.cache/clangd/index/touch_key.c.67D3178C4C3274CD.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.67D3178C4C3274CD.idx rename to Source/.cache/.cache/clangd/index/touch_key.c.67D3178C4C3274CD.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.93DDCDA7198C0FA8.idx b/Source/.cache/.cache/clangd/index/touch_key.c.93DDCDA7198C0FA8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.93DDCDA7198C0FA8.idx rename to Source/.cache/.cache/clangd/index/touch_key.c.93DDCDA7198C0FA8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.A84F4B191175BE35.idx b/Source/.cache/.cache/clangd/index/touch_key.c.A84F4B191175BE35.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.A84F4B191175BE35.idx rename to Source/.cache/.cache/clangd/index/touch_key.c.A84F4B191175BE35.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.BAA8BC7B89180434.idx b/Source/.cache/.cache/clangd/index/touch_key.c.BAA8BC7B89180434.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.BAA8BC7B89180434.idx rename to Source/.cache/.cache/clangd/index/touch_key.c.BAA8BC7B89180434.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.C93AF0DCD64DF9D0.idx b/Source/.cache/.cache/clangd/index/touch_key.c.C93AF0DCD64DF9D0.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.C93AF0DCD64DF9D0.idx rename to Source/.cache/.cache/clangd/index/touch_key.c.C93AF0DCD64DF9D0.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.DAA1051DA255C6CA.idx b/Source/.cache/.cache/clangd/index/touch_key.c.DAA1051DA255C6CA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.DAA1051DA255C6CA.idx rename to Source/.cache/.cache/clangd/index/touch_key.c.DAA1051DA255C6CA.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.FB509A8ED7ADCC9E.idx b/Source/.cache/.cache/clangd/index/touch_key.c.FB509A8ED7ADCC9E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.c.FB509A8ED7ADCC9E.idx rename to Source/.cache/.cache/clangd/index/touch_key.c.FB509A8ED7ADCC9E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.0FD1A4AEC2C8CE5F.idx b/Source/.cache/.cache/clangd/index/touch_key.h.0FD1A4AEC2C8CE5F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.0FD1A4AEC2C8CE5F.idx rename to Source/.cache/.cache/clangd/index/touch_key.h.0FD1A4AEC2C8CE5F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.1F5EDA835C066BFC.idx b/Source/.cache/.cache/clangd/index/touch_key.h.1F5EDA835C066BFC.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.1F5EDA835C066BFC.idx rename to Source/.cache/.cache/clangd/index/touch_key.h.1F5EDA835C066BFC.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.289C3213252E44E8.idx b/Source/.cache/.cache/clangd/index/touch_key.h.289C3213252E44E8.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.289C3213252E44E8.idx rename to Source/.cache/.cache/clangd/index/touch_key.h.289C3213252E44E8.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.481889B224160200.idx b/Source/.cache/.cache/clangd/index/touch_key.h.481889B224160200.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.481889B224160200.idx rename to Source/.cache/.cache/clangd/index/touch_key.h.481889B224160200.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.4AE3E025B0200E21.idx b/Source/.cache/.cache/clangd/index/touch_key.h.4AE3E025B0200E21.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.4AE3E025B0200E21.idx rename to Source/.cache/.cache/clangd/index/touch_key.h.4AE3E025B0200E21.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.8BA71C78B18B7C1B.idx b/Source/.cache/.cache/clangd/index/touch_key.h.8BA71C78B18B7C1B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.8BA71C78B18B7C1B.idx rename to Source/.cache/.cache/clangd/index/touch_key.h.8BA71C78B18B7C1B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.A85B0376D673B42B.idx b/Source/.cache/.cache/clangd/index/touch_key.h.A85B0376D673B42B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.A85B0376D673B42B.idx rename to Source/.cache/.cache/clangd/index/touch_key.h.A85B0376D673B42B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.C6A12E5995359975.idx b/Source/.cache/.cache/clangd/index/touch_key.h.C6A12E5995359975.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.C6A12E5995359975.idx rename to Source/.cache/.cache/clangd/index/touch_key.h.C6A12E5995359975.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.DCB557A35A842510.idx b/Source/.cache/.cache/clangd/index/touch_key.h.DCB557A35A842510.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.DCB557A35A842510.idx rename to Source/.cache/.cache/clangd/index/touch_key.h.DCB557A35A842510.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.F24CE006B78C3ABA.idx b/Source/.cache/.cache/clangd/index/touch_key.h.F24CE006B78C3ABA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.F24CE006B78C3ABA.idx rename to Source/.cache/.cache/clangd/index/touch_key.h.F24CE006B78C3ABA.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.F2EA6A3FF1EDE98B.idx b/Source/.cache/.cache/clangd/index/touch_key.h.F2EA6A3FF1EDE98B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.F2EA6A3FF1EDE98B.idx rename to Source/.cache/.cache/clangd/index/touch_key.h.F2EA6A3FF1EDE98B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.F92D7BAD95CD34BD.idx b/Source/.cache/.cache/clangd/index/touch_key.h.F92D7BAD95CD34BD.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/touch_key.h.F92D7BAD95CD34BD.idx rename to Source/.cache/.cache/clangd/index/touch_key.h.F92D7BAD95CD34BD.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.082013ED368CEF75.idx b/Source/.cache/.cache/clangd/index/uart.c.082013ED368CEF75.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.082013ED368CEF75.idx rename to Source/.cache/.cache/clangd/index/uart.c.082013ED368CEF75.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.171E20BFAF19FFDA.idx b/Source/.cache/.cache/clangd/index/uart.c.171E20BFAF19FFDA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.171E20BFAF19FFDA.idx rename to Source/.cache/.cache/clangd/index/uart.c.171E20BFAF19FFDA.idx diff --git a/Source/.cache/.cache/clangd/index/uart.c.2E36FD22F3CB0526.idx b/Source/.cache/.cache/clangd/index/uart.c.2E36FD22F3CB0526.idx new file mode 100644 index 0000000000000000000000000000000000000000..4fb80e999625fea80d82853001d58c51676e8792 GIT binary patch literal 14746 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 BU=siU literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.4EA7CA08323097C1.idx b/Source/.cache/.cache/clangd/index/uart.c.4EA7CA08323097C1.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.4EA7CA08323097C1.idx rename to Source/.cache/.cache/clangd/index/uart.c.4EA7CA08323097C1.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.5FA10AA2F5577653.idx b/Source/.cache/.cache/clangd/index/uart.c.5FA10AA2F5577653.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.5FA10AA2F5577653.idx rename to Source/.cache/.cache/clangd/index/uart.c.5FA10AA2F5577653.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.5FE6241FD138DEB9.idx b/Source/.cache/.cache/clangd/index/uart.c.5FE6241FD138DEB9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.5FE6241FD138DEB9.idx rename to Source/.cache/.cache/clangd/index/uart.c.5FE6241FD138DEB9.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.81E521A2F92F6320.idx b/Source/.cache/.cache/clangd/index/uart.c.81E521A2F92F6320.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.81E521A2F92F6320.idx rename to Source/.cache/.cache/clangd/index/uart.c.81E521A2F92F6320.idx diff --git a/Source/.cache/.cache/clangd/index/uart.c.881F83320DBC5433.idx b/Source/.cache/.cache/clangd/index/uart.c.881F83320DBC5433.idx new file mode 100644 index 0000000000000000000000000000000000000000..141c4db90d8c4963ac44407992c8d45ec5b3bfb8 GIT binary patch literal 14746 zcmcIr30zdyxxe4}?!YkIfnnG;WfM1c5D}NCAg(0QL2Tk&$8jJ?L@+R@i3>s8(104F zRxz3;(JJElL|cPROk-<_ji!ktYF=ZrnP_ZmV@hMFdFRe><{bNLU;BIMyT35r|2^N? zzVmJ8J15g778E=?Op@|SCN7>|>a@#}Bn8mF8fSI+Szr31Jp&S!q~}i0u@%J(np6AO zW6P3a5|(7-PEXIKUn)u~mks=v6k3f;cN6(`r={fnDkXNO{k}$PDoRUSAA0Lp@+zG! zoRvF0GlTY8UPAvW$Tl(mM=`bbYNxH--9DX# zh89#iW9XmF@ff3a%(Yj?xW?5xx$;V9O#Ym*hZZ=;mb=H2k?W|ctZ~M;NC!FQmn6lc zq@=J0{tbF@hMcik+IzKBdwmK^8m1WlStdz8rOljv{J++?aX3$y9>g=yCL<&|ZNva_so$W}+qyeE@O zD;~4YDPNe8Oxuz2Xw7Py)^S0Fy-dohs&rOYRaBH#(*e6aQ<1exRK;u$S5v{^Z?>`2 z=5Sb1>3X*;Dt9{OO8KSs3az}f+Vwi6v{D+MYn@S5JkYF0I^nzt~6Diu|BGs`$pwv>92bW2!jaj%4>PNQB^u;{4* zBT}_kv9gSsydTgyokA+*%-{9m5;>1|rT)-fE%q}$H}!r?pPJP#Bh78=Q>m>_{fD+b z)otrjxpPi+8CpL6|46&N#+&ivhqc+O&^46FWj3v4X}+yS^Wh7t%C(;gyOXXg4U3)9 zXIqYZ)^zC8mseijxcYj>=1*52qtX16^XFWqp*?Ilc5gO0cEc#;NRoOPvM)ovb;*z= zd6Ewe^XE(jD;T8YU6p6Yj#i{0l;kStu0oJ?73fw$kmO?k$v%w|De)h^;=d{OFN!pp z6756XJ~Uf5fo>C+B_9RdM8=aB`q)SOexD*GQlf8A_YDSEp8?%75Fq*Z__&F(dX|s) zGV}K5iZp-{okHCy475HAx@RGf6OGP}4huQ*=C?+P?o`w(kaGpbTbB-9TEK^$k9T~B z*w>6zqy$RRL3AC&WZek5jbL&OJ5QV2j7j%;9voLlM-)$qUPaxj7;JqGbk9MsZb^iX=<+|nm zl8>LxO|U$n=ZUZ2*(pY81SPl(v6ms;x+Gyq79aBRhf0<W7DW5lhZiB{WUn03?^~}fX;xC_S7^+BFl;{)GeS#6z z&7j*15iSf*xb9VsmS+@c0wr3iTk3Cp z8gx$sofliL)@@Ns=DzsESw)&iNp^s42OacE(5-}M$;aQzJ^8lUmmNR9Jz0DA8q@ zco~YVOY)aY<(xhm+Wm)-m!6nulu{^(ug=%sx>#8pq7gXqAEvVNUv(Y(=AM~8M3Kf* zf*M^-w6#uGCrtXJJ^tyANf!?rB^xC$cpHq?TEAMVG<3F89-=M$>es(2d^TzJ?-Xeu zC0I*zYe}SaHRx7DB-gBS?>fB-1CE|nq(PMEMOpWv>}OpIy0zfP=kxaW@Ykg8m%n0^ zQYn$*r5LSG8lQA`HAWNkYl-`w`$eADSflg+CAb1puE3+#rQ?@Q=M%meS5~F`(%)v3 zW>XTQ-sop_`a7u}(BWo3NZYu%HtJNc{qoO@QZgmjCVOq8oLy*K80sP!t95g8^TR#H zxT7IPDVLI52IFOjvMvc)63@H&>eCfvvvQ?nMrovLBym?D)4H_Z(riw0`{(^P?3iNF zDN+F?nW>xU@A{$Ra6NxBm4ElhYj8}F;%M<%)Sbm3YcuGYHG{;&QmQU}tVX3KM7q;b zI%muIxn7Fe2y!FkTJNK%M?pR+;ucwMk%jV?W%*?hcgS*wh~Jat_c&&zRA=b5qr9U( z0sIO4J%&`h2mS6rCdcm(@(wY1ESCBaN&JXpG3=!aiFj?uA4^bC^MdmtJeEei1AccP zkT-LM_+KGGteSV&L)(5@eE1zu)HsX_WYzTVem(1zw2zYM=iuOAPiw3dF!Y*uHhRN_ zN4v^SZe2`!9~L<*o;9PWxska78Xi5oA1m|q|9a`nh|^yaMNN!JOlK`AYDP>3N4*|{ zcIb8&9M%o}dHVCI@YkwKa4-#)F%N54!u8Wwc;u0OMN)b*n*AAlzy}*sHXhNRqMx_RzT4$!Mj!CqiznCgPc9Et)Bx`QBcoT;FmqTK zM-hey6GxGTNC8y^igHJJz=>RF}e0~2m<+At%N*1wBCx{IYu zNECIQtY0SwGw&DEcfbB`W`ibdXHb6z16V{5_t#SoU;6K#9tu=cU&&Wy-at`{a*9Uq zg{#e}9pP~V>M~fS^SDfPC*RIqr2xp3?PzMmTmc)3R0*zUu z4k9ykRwxeWAi*5hqg0QwCnBKHKwv$Fig-XhCULwE1NUJl=j1*dxDS&#eicJr#R$d# zg$54NC$xPQOsJnBe1W^Ru<3sY2k3V?cQW{2=Cb(~K5+8SLOl&eoc`yM$vI4+GHurvH{HCZdeim8FdyD}0wxG3 z1ycl+im3wH1Pa|Ya4wtyJOe&#){5GO(1zY@a%^#_`FC#?m}$v9kQOwUY%po20fz>$ zk+7`;8hZB)j9yW96WC2mTmjoiVjCI4aNee~b02=-L3e=jvUbLuhxWqcL5eKpYMLmi7lU%GPC4ObF{_Vt7Eiwrj=80rz zWD=Aspy46IquAn4{yw@jW61WMR3_d6E&YjSu7t&6RlF^&R!it(2nHtAx zTlD?Ec;uz@i#kPpllZ<#!q}V?^%C*9L_#?3Mx`6Wx!37ILl1^>yjIq)uaYZ z=i5Hig87xFm2^PBPc0Y>hOmGTl6U1x+9!{w(kkA4``56d31D@b%`q$IP3|w~e zES=yW93;r=cpUFR#V_r3&UxrLE9K}V5`Kx$ogwS{YvS`Y3FdgM9JW@bJ8SndBl^lG zTi-ZYLMLz>^~cf7w3B)*)OVnnX{n-~L*H{4%uQ@3PVU6%9A8AkMGWHjbM*ZjgP93t z-id0vd$-O;p!)4uJ~?Wch0bq1PF;_)xYQg&{V@z?BVzuF657%3iL4C08++DX*+8sn zz5M+pO7=YJpT{8HUONW0V+?Dr;?m_ge;j=}g%Yj-TmwN&;A!XrcnE@+;hJB$H{>Ug zTf!;fKpdzrp;FWWEbyTDyVKW)KMv1nM4G)%8IyR8qZbz>EeQ#<=-p@zTLp zC+>KG7W`QD{jnUwx@PGT*KSJ7m9PRuy$x_10(jT=z~`PANBxeF-w`wGTA{ls!$%~7 zVU}cZ*?%p=!W({`!1E-4&*3P6qZ}_^a&>Hc-IQy3Mg0=sO9>#1M zp+f`?iTJmK{8qFcpAzz^h`&YhErxMxu||e9awv1L^^?Qq-%=MmPL(af93jX^qB&7O z8RiTDsbkeb9(dG^tt;fxu@}bfg+eAB4L=)rVNK+xd2~ton)-Td!%E)^djg-HQy!qG z#j(XnJOoyCs<7*r6+bJ5_p>N=Q4)7!G(94?pA`_l0#f)Wc0ueeNaEr0UeN6Y6C0JH z?uYpOkizi|5`Kduuw~U^Ag@LYV1lKYf&S|;gX3n5XvTgVpTzK!n84In+bAU7#dOZ} zMmelej%Q5QHV)zIR^ae~#Ti4dV_p z?BJn>wgDJ^9`o6fu*IcI;!cRNCE0AA@OsNrS&OLQy9ICyOkDR{2(*Yn;{`%4kN_r@ zOuT7}TK1H+x9!ro&v&jJaFs^MMW&(%u1xkZ_Q_m*N=B3va8zrmjo`}E00|AE`s@VL zPKe-3*a``)TwS)C550Z_2ft5Qum)q+-~cA3Gz*6MqiAA!(9#o{->^FUJG#dyHWl~b zBU9tlG(MJD=2=1-Vv%W4A3n0WxVkhpZ$(`J<`p2sq`Sbh3;OVJ?uEF$kj9ouQ*-lv zE=oHayQWTlCEb^*Swu`kCgb1kc3tcrr{0;Mc`(2R@ZtTn0=9~~g@XtO`EKFmPp{|d zzwz2g`7jKJd6Hr@X2e_%+M9Vf{%p(E!ITFxOf$kc53GUKD9(eqk#iF`T5MVz&Uvsr zaCsCT(`qo&oG!<^!L%E~IS=+g;2wzLJU9sEgAmCuqoXq9POmdAw0YN^dH*L5ucecT z4UQE;-WQ4AizJZwAC`Ql_1&3wPyODMJ1ubM+gSmdF)h$??CkTQ2R>f->hX`Z8WlA= zB-;~?DC&sN5rV5JFcx@Nsi@<_#|yjR3FZlc3A+yd*CCke(k%$MCHmERVyY)0y!;&T zKPP5DE)eqt(QjTS0oO?=(>=L2_r$bX?#(?h%uWiZADxY}{rFODM6ZpaC)tAX7WC&D zvmJ3e`f>ag;#=s)j0oL_x(*!}*VtJD4LIBf4Xi*>KLqa&A&AfK4Dmk06Syqr+c<@uHb8Fr4A#N0+}l<<@&2 zzD!kaG>-P9O_^*{nb6KU*l3P_Gjm?$vtK<=nYadxYcPbfWj&hKV>rhf(6~V?--u&2 z;v`xgl=0?&9#fI6?H>`bNIFVhN=O46ZX6 zHgKAs@C^%Kp)@rw7$M{!A~8}x3BCyeWg;dDW&N?gfKq%@1j-D|5Xv$!Q$QA-#h2-s zqFRPpMsidHMcx96EQ;l*7>b3m88AaYR@rLcVyp(Lo`kHTs+sCAUN#G7`EWElXZ9$L z>>2hP0Zp+_C1^dAin+#uTO21spyA)J0C z7*~o}j#YrG#QLiNSBtm_yqZAa^_wB283fRt%k3*jQp+zZ1v-VeB6^q;K|+{%3s-62A1D-7ZE z2f%nh487U_+r;_@0S}6}9lY8>;q^~I$O-QIPM-4eDQP^Q?FX|lJD92G&(}{)etgT# zll1d8Icb|bnrZPbCQsekac|GBs8tBWK##GaTNmsrpfNbcgMM+Xt7gFI2YhH-Ie|H$ ztc%zB{c&B|2ch57mVzsK_LMx;->O2 zF&!o$to(K7cOx&}Yc|ta2ATpr&HQrq{3YghJKvz6N8pGMHhETy8h7_GG~@5D17=Tq z?aJ+LdJJL-vP5z-WGS!|a#S>^D4nC(<7Yp}mEAtmK8K@{;u4jkvdA(aIqnQ{MsoFb z7B~wzsvT6D&QSx5YJhQEsa8VNN}g&|)Ky?!1%k@AKu`-ra;0g3f)*&`cqa_n3F#cS z!l+gl$A$C&L>=J!3A)^1ZsSVCj_4`(+~@O*dvA`({iNs*$2QQE!8IV)z?ZxF8vr-J zz;QQ_Zn3h5BINn3Z9?0l)*I89M=^PVg0aC-Jr4UOXZVrIGL^G;R{3 zj?)-)8e>@g@%=kfJ6G>~{{)r)KG?@&6Rw(SUwZ2Nci+&@V@zW_+Hy7G-4BE9d$hCi zPKfM;ek_#!;Dt+yn$__=-M`KDpDiS8?Pj|tDXOR&(Yz4_yai2LkX~AFKlJ<={kNk~ z`z`c;OT^pd*zK}s)ARe&jb#w!J%DzqNQ#cJQlSTlF;}4%F!AT3y-vt=ei`E0Z=QM=)~y~xZEP3u=@O&=o5bg) zh`TYX8%MJ+@FSnc-^py7{~i^It?0Y;{!M@6d5mYq_>&7Iza6)tJf0F>gpi9MtXCKK zc0o9s?`Opm>+_a*EvM2j5=WYu?Yz!p~a^vpi zn4H9tk@WmC&5-6X$y!3n?=D8L`6z0W?9;@Q3(+EOxe$ZE#)kVY8!09loi;GNoaf5UsvRNLc~dpVlr<%`m7hXWb1LrdK}K_*W;x1 z_%O%K=+!Ltw*kF2h?`f&U?%Accwr9i0{ zLH}F)lt)p!QP+*WT=u&$xf?S%zKh;>(J11qyO=BDsdsS($32KW=)>_^8P>|)%q!94 zu?&qOUMIu4`*Htuax$lHl1Y=S=XirmHgJ6NiFb+ac#=lIsAf4TDQxxrJY^}G(` zI{0xXv4xN=#E+ZZbA+7Z2R2_Fk681{Ft`bn4oDK31(K=-no=x9K4|K1ZU1UT}0j)Yd^_69~8+65BcMS@P7%s4u3Z z($Nja;htSW&-$1rjX6KME%Zlt#`8ScS| z9;COF-4BynI(qkYLsmd<8CKXeP*d%wp;s>@X{Pq$erB;3NqW@tit6E%YcGuZ{lQY4 z_2^8A{!fAx^y;yc7TdpXpQ1j+eWv&MQJ+Wp%;;kY4hank3y+9S4~&e8$&58;NdE(s CpkMF+ literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.9168AA50A4926124.idx b/Source/.cache/.cache/clangd/index/uart.c.9168AA50A4926124.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.9168AA50A4926124.idx rename to Source/.cache/.cache/clangd/index/uart.c.9168AA50A4926124.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.9E433FF259118595.idx b/Source/.cache/.cache/clangd/index/uart.c.9E433FF259118595.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.9E433FF259118595.idx rename to Source/.cache/.cache/clangd/index/uart.c.9E433FF259118595.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.B07D07640804DC33.idx b/Source/.cache/.cache/clangd/index/uart.c.B07D07640804DC33.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.B07D07640804DC33.idx rename to Source/.cache/.cache/clangd/index/uart.c.B07D07640804DC33.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.BB85F2B655030A9D.idx b/Source/.cache/.cache/clangd/index/uart.c.BB85F2B655030A9D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.BB85F2B655030A9D.idx rename to Source/.cache/.cache/clangd/index/uart.c.BB85F2B655030A9D.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.C36826A8CFC20ABC.idx b/Source/.cache/.cache/clangd/index/uart.c.C36826A8CFC20ABC.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.C36826A8CFC20ABC.idx rename to Source/.cache/.cache/clangd/index/uart.c.C36826A8CFC20ABC.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.C4E72F90B8303D23.idx b/Source/.cache/.cache/clangd/index/uart.c.C4E72F90B8303D23.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.C4E72F90B8303D23.idx rename to Source/.cache/.cache/clangd/index/uart.c.C4E72F90B8303D23.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.D3E2EC18B4602FA2.idx b/Source/.cache/.cache/clangd/index/uart.c.D3E2EC18B4602FA2.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.c.D3E2EC18B4602FA2.idx rename to Source/.cache/.cache/clangd/index/uart.c.D3E2EC18B4602FA2.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.20B8F8D5A9F7EBF7.idx b/Source/.cache/.cache/clangd/index/uart.h.20B8F8D5A9F7EBF7.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.20B8F8D5A9F7EBF7.idx rename to Source/.cache/.cache/clangd/index/uart.h.20B8F8D5A9F7EBF7.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.275F9D25042D325F.idx b/Source/.cache/.cache/clangd/index/uart.h.275F9D25042D325F.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.275F9D25042D325F.idx rename to Source/.cache/.cache/clangd/index/uart.h.275F9D25042D325F.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.3C3601FC85E82691.idx b/Source/.cache/.cache/clangd/index/uart.h.3C3601FC85E82691.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.3C3601FC85E82691.idx rename to Source/.cache/.cache/clangd/index/uart.h.3C3601FC85E82691.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.48BBE24D65F6CF55.idx b/Source/.cache/.cache/clangd/index/uart.h.48BBE24D65F6CF55.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.48BBE24D65F6CF55.idx rename to Source/.cache/.cache/clangd/index/uart.h.48BBE24D65F6CF55.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.56F031B193C7A1D6.idx b/Source/.cache/.cache/clangd/index/uart.h.56F031B193C7A1D6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.56F031B193C7A1D6.idx rename to Source/.cache/.cache/clangd/index/uart.h.56F031B193C7A1D6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.579B0A5955F36696.idx b/Source/.cache/.cache/clangd/index/uart.h.579B0A5955F36696.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.579B0A5955F36696.idx rename to Source/.cache/.cache/clangd/index/uart.h.579B0A5955F36696.idx diff --git a/Source/.cache/.cache/clangd/index/uart.h.5B8BEC3D90960C04.idx b/Source/.cache/.cache/clangd/index/uart.h.5B8BEC3D90960C04.idx new file mode 100644 index 0000000000000000000000000000000000000000..a93e5b38a830c24d512e40a23b8c43fc393f84ce GIT binary patch literal 7640 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.76C9CCE5CC1305C6.idx b/Source/.cache/.cache/clangd/index/uart.h.76C9CCE5CC1305C6.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.76C9CCE5CC1305C6.idx rename to Source/.cache/.cache/clangd/index/uart.h.76C9CCE5CC1305C6.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.8C184469CED8B858.idx b/Source/.cache/.cache/clangd/index/uart.h.8C184469CED8B858.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.8C184469CED8B858.idx rename to Source/.cache/.cache/clangd/index/uart.h.8C184469CED8B858.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.AE8F047A2895BAAB.idx b/Source/.cache/.cache/clangd/index/uart.h.AE8F047A2895BAAB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.AE8F047A2895BAAB.idx rename to Source/.cache/.cache/clangd/index/uart.h.AE8F047A2895BAAB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.B16512AB40FA5EFA.idx b/Source/.cache/.cache/clangd/index/uart.h.B16512AB40FA5EFA.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.B16512AB40FA5EFA.idx rename to Source/.cache/.cache/clangd/index/uart.h.B16512AB40FA5EFA.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.D3BFF14D5A139066.idx b/Source/.cache/.cache/clangd/index/uart.h.D3BFF14D5A139066.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.D3BFF14D5A139066.idx rename to Source/.cache/.cache/clangd/index/uart.h.D3BFF14D5A139066.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.E8D0990F29FA5002.idx b/Source/.cache/.cache/clangd/index/uart.h.E8D0990F29FA5002.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.E8D0990F29FA5002.idx rename to Source/.cache/.cache/clangd/index/uart.h.E8D0990F29FA5002.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.EB9BAE1B47CC7D4E.idx b/Source/.cache/.cache/clangd/index/uart.h.EB9BAE1B47CC7D4E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart.h.EB9BAE1B47CC7D4E.idx rename to Source/.cache/.cache/clangd/index/uart.h.EB9BAE1B47CC7D4E.idx diff --git a/Source/.cache/.cache/clangd/index/uart.h.EBBD7BB6EFFFF419.idx b/Source/.cache/.cache/clangd/index/uart.h.EBBD7BB6EFFFF419.idx new file mode 100644 index 0000000000000000000000000000000000000000..ce47da2b889fe9cb92e05770c3248057a5009cdc GIT binary patch literal 7640 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.034E26F4881E4CDE.idx b/Source/.cache/.cache/clangd/index/uart_protocol.c.034E26F4881E4CDE.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.034E26F4881E4CDE.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.c.034E26F4881E4CDE.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.16F233BA886FFEF3.idx b/Source/.cache/.cache/clangd/index/uart_protocol.c.16F233BA886FFEF3.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.16F233BA886FFEF3.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.c.16F233BA886FFEF3.idx diff --git a/Source/.cache/.cache/clangd/index/uart_protocol.c.1ABAB997843F784B.idx b/Source/.cache/.cache/clangd/index/uart_protocol.c.1ABAB997843F784B.idx new file mode 100644 index 0000000000000000000000000000000000000000..f840e610d9da1715b79301a5e3b622f58021006f GIT binary patch literal 3578 zcmcJQZEO=|9KfGH>lL_PD}!|}cDt>;wi|Vp0fCNXAsT|P_@T0ZMi)maGfHG+$xuWgQQ}J^Q9k%VP-7%PLE{S{pyG4gp54_DH4dBH zrN8^XJkS5_d3=ra^*RPZa9> zG5_Am!jeIkXN%K~KW-4id&~c#6i}4##}uo|!WjdtNYO1vHXE|ld0RHtH#YFz)}{`= zxp~V<2eLKV@l)qv{k^@cx2}m*WULUCl!q50vN-i85M=*JPYMg6zJU05dI4GL7iCtX z>8s~k@v8U>cHi33+P1EF8m5(yZ3{oO;WcX;x4L*9*|6%2P>Sx3#>5_E3rC`{KuGFL zdWs;MEJh=JvLM<5lDx9c!{PWiEarreKitJRtL+YZ74mwx0V!PN>JkKQSB;x@SKDgr zPP+qJheUr=v?ZmssMu|jV|>3GfA4p2JyN)9z+KJZwKyRf+-(y>JN%tezsrXGpau`u z9+88sy?#ODJ3883Ty^hs?NBNePVBfi$x+K zq1&&NDcJAARl=2%lqTq}vO67i*JGS7wSXMytB2)?6Dle=x4p{lcxZc5U2>g%AvoZd z1OJEbl*XR@0(eYkhW0-sS1Fn@q$#_aO6+WE_AlJpc1XL#0NNpiL=Vfd4IVaiy4mVd zmt$(aSv=qD1LvEanr~J;;MmmR>VCKjq&gQKlJn`|h~m?wKOzP2Ew;O-^F@4tWo&Nw z@b-yZiAGBiVrr>cI{8XoZuqsiixMxqzy4DinXx!X1#`*`lpzPDrvX}42<348p6{vW zez+yjC?6|W^;To@MeM&>6}o@p;}?c#RDi`zR8vlQCY6cpb#qXq1>4`mXfg0EH1W*%No&;)A zWn))g_A|AQ-oo)rLeV5tl0;-(r%zN2t?$5s2`HL?3L+@Fb9U2}FA}e3(TqM@zj!8} zOs*l9IOY+sj6gYwxwiSVc=nBDug+1* zn|~OV5epiZH-AXw`Y(@N8@O}wW$a-LEMuyN$M;_`UmRF_6AKbxNkAEKO+4W~Q@Wje ze)5+yHwI7M*pKz&P!d<`(p~zM{psLN84JdtXj~OUhMFrces4X11zZ8g5=XtCjf?M^ ze=kaQrr|K;kp-2l8-}zT2V)#GsTl_2u$D)_IHKiIFpg?D0mg)u$G|wI<#8~MYk2~U z6Iz}Gjd&Ey zqgqaYIick-FpsG`^3nEF(W4FD;fx-Fxrbl@$?3@pnU_z$m3|xxhM{CwosBc=_FdlY z80f=&(w@^^pmyLMdQUdl2I>4c87U_h%^ZNt1F(>&y|+`YVlM?&;6+BkGOBjWCxd~x zZ+~#_G+yKoR2_mio@vd3u%7Azecmkf9+f zvQlKfG-EBW7O7OOD^FL6(J>kdmIfIT2+f2ctS5B!$KyBG_d*`teH_ejun>WgOY^YG zBzZVZ$}vuYqM7rMc3w@>uXhHQm&8`wS5ltUo=vQ1W{-YPCh<*z#lDmiU-h*Owq+5M z-`=@kD494~k3F?zwdJZx`z-rrP6B*Cg#3yqDhtu1&dkAx(iri|=f!2qTdv}c5PAZk qVyw5wlC!{6Y$`RCn5?EU(<7#$dFdH*Gik&8T)i=CVO}=182t$xbYr~$ literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.1E607D9D82C09E7E.idx b/Source/.cache/.cache/clangd/index/uart_protocol.c.1E607D9D82C09E7E.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.1E607D9D82C09E7E.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.c.1E607D9D82C09E7E.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.3714F1DF6BF753A0.idx b/Source/.cache/.cache/clangd/index/uart_protocol.c.3714F1DF6BF753A0.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.3714F1DF6BF753A0.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.c.3714F1DF6BF753A0.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.40101BD08FD08B21.idx b/Source/.cache/.cache/clangd/index/uart_protocol.c.40101BD08FD08B21.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.40101BD08FD08B21.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.c.40101BD08FD08B21.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.407B7E8B1A11C60C.idx b/Source/.cache/.cache/clangd/index/uart_protocol.c.407B7E8B1A11C60C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.407B7E8B1A11C60C.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.c.407B7E8B1A11C60C.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.46CBE24C68E8A3C4.idx b/Source/.cache/.cache/clangd/index/uart_protocol.c.46CBE24C68E8A3C4.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.46CBE24C68E8A3C4.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.c.46CBE24C68E8A3C4.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.70F4C73BAE5A95ED.idx b/Source/.cache/.cache/clangd/index/uart_protocol.c.70F4C73BAE5A95ED.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.70F4C73BAE5A95ED.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.c.70F4C73BAE5A95ED.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.7F7BE46AC7E7A572.idx b/Source/.cache/.cache/clangd/index/uart_protocol.c.7F7BE46AC7E7A572.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.7F7BE46AC7E7A572.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.c.7F7BE46AC7E7A572.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.9FE67B4748ADEEBB.idx b/Source/.cache/.cache/clangd/index/uart_protocol.c.9FE67B4748ADEEBB.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.9FE67B4748ADEEBB.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.c.9FE67B4748ADEEBB.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.BC6AEF1D800D6B5B.idx b/Source/.cache/.cache/clangd/index/uart_protocol.c.BC6AEF1D800D6B5B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.BC6AEF1D800D6B5B.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.c.BC6AEF1D800D6B5B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.DA5088CB4D6E2A0D.idx b/Source/.cache/.cache/clangd/index/uart_protocol.c.DA5088CB4D6E2A0D.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.DA5088CB4D6E2A0D.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.c.DA5088CB4D6E2A0D.idx diff --git a/Source/.cache/.cache/clangd/index/uart_protocol.c.F61F660FC96657A8.idx b/Source/.cache/.cache/clangd/index/uart_protocol.c.F61F660FC96657A8.idx new file mode 100644 index 0000000000000000000000000000000000000000..949aca21729ccd62e858b82702ca4be223e1afe4 GIT binary patch literal 6972 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.FD3183EB6A860C8B.idx b/Source/.cache/.cache/clangd/index/uart_protocol.c.FD3183EB6A860C8B.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.c.FD3183EB6A860C8B.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.c.FD3183EB6A860C8B.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.h.00EE2817677C5144.idx b/Source/.cache/.cache/clangd/index/uart_protocol.h.00EE2817677C5144.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.h.00EE2817677C5144.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.h.00EE2817677C5144.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.h.0259BD43B7450483.idx b/Source/.cache/.cache/clangd/index/uart_protocol.h.0259BD43B7450483.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.h.0259BD43B7450483.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.h.0259BD43B7450483.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.h.185366945728F2B3.idx b/Source/.cache/.cache/clangd/index/uart_protocol.h.185366945728F2B3.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.h.185366945728F2B3.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.h.185366945728F2B3.idx diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.h.1F6949188C5624B9.idx b/Source/.cache/.cache/clangd/index/uart_protocol.h.1F6949188C5624B9.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.h.1F6949188C5624B9.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.h.1F6949188C5624B9.idx diff --git a/Source/.cache/.cache/clangd/index/uart_protocol.h.2EE32AC0E3213A34.idx b/Source/.cache/.cache/clangd/index/uart_protocol.h.2EE32AC0E3213A34.idx new file mode 100644 index 0000000000000000000000000000000000000000..579dbd42f295ee9472a7ab76250367da989474a8 GIT binary patch literal 904 zcmWIYbaQK9W?*nm@vO*AElFfyU|JPbuCAVol($R>ff$cE@B!1W_bfwXEe zcoqex=B3036`NR?#s?JTGk{r+#o5j!ML8fTh(Np}m<=+QA=%0kh|3t#GILU`^!4@K zt@Ok5i?V|Y5|dNoBO}9&^i5Qa3|vYxvocflL!6EDLk#0Xoa3WB;=>G#;*AW9%nS^T zjP!%^ON)|I^@AgWLtK6JGxL)5OB0Jq^fG8;ZhS#eeo20Eeh$?v0J=D*G$mC(v7p4* zD9sS)wUWw$)Z+M@{NzNCEoJ$cDGbGxxk<^u=nhP0O+9qn<1!BeJ2?6o82ETuc|{pG zS(zBPxEc8vR|Nh0ubFj6lZSy5rhtc)M}UEog^@vk2dLnQUC#ekXXp0wFmS*WaIn1Ys^D+Pcn+x)T literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.h.325076591646662C.idx b/Source/.cache/.cache/clangd/index/uart_protocol.h.325076591646662C.idx similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/uart_protocol.h.325076591646662C.idx rename to Source/.cache/.cache/clangd/index/uart_protocol.h.325076591646662C.idx diff --git a/Source/.cache/.cache/clangd/index/uart_protocol.h.33BC0FDB56600714.idx b/Source/.cache/.cache/clangd/index/uart_protocol.h.33BC0FDB56600714.idx new file mode 100644 index 0000000000000000000000000000000000000000..c5cd92d433deafeaa74f6ad1d84d114e296fc398 GIT binary patch literal 982 zcmWIYbaOk$%)sEB;#rZKT9U}Zz`!5~#Kk2=nM_PT1_)@VR2y1_8XLujD3m4Ulw{`C zYC^>JPbuCAVol(K!j`L8Fjsn~WWGRqt zO@^Ri6AM$v;%w)VqMYE=ycC2$WpYj`LL}Z1%nnJ-jR$Lq2Rbr7peUaKWEDfQl_wCF zF{EYYq+03g>$_X&hvye%2NxtJr^ZJ{h8yXds2Ul#lxAjSrs{_{8|jA_#)mk^M|s4D z85qVJ85o%w8X8&X2j`a-C8z2KM+S$u`s!!qCF_?a7M18_(8k>Of};GA{N(%`s#ySZ zaZYJUs(xZYiLp_dp@C6+No7H5aePjGaw5ojhX)rMIG zb1l#iu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/.cdk/compilation.db b/Source/.cdk/compilation.db new file mode 100644 index 0000000000000000000000000000000000000000..ffe8a393d4d99ea31d2cb34916c02c6cecca641a GIT binary patch literal 7168 zcmeH}Pfo%>6vk(0X`>Ni!h(gHA#p(y6@isID;=N-w9ppBRRa+d5`};yy3%j~58=@~ zfD2FHw3I(}XiVJEyh%%E=C%Fa_nUd4cB?*|4aog?`q-P15)u){=!y`8kQ|)s;x~!? zib3DI;EjG%S4L-_Cn*+{a2^R0;V|)@IL04ru$yfn$(hSMp3B40-QcBcHkx`}b#&8k z9re0SU0v&zxLLVuQPrVDH#FKMT-bkzm@uT;@KiF8Y#Vy3y)+xX#ed3^4NvEqmf571bE~`x z3$NK|uLaJlxJ{V5Yo*Oaa=v9lZBV6`kTQyb-)6o3!yuewcq9ax{;L17Lsou>L%Yr? z37GjKWqyF=OrC9_sxQK2!%ZYYQe2p<(+}iUD;SK~CR+CV{Yu?RU9H-SbiCRORrPMx zC1ec*fWSWpc=eBkFT@ULKmZ8Dn!phjvT3bPI)mxca6BrWU+jB+H^1s*?H|km0U)qR tz^i{Od?R*10|G!G_5@Nwc5nR&0RR87UvMx81R@DQ{YRpK01${hfgcMW-!1?E literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/.cdk/refactoring.db b/Source/.cdk/refactoring.db similarity index 98% rename from T1_TC_ZH_V01_20251128/Source/.cdk/refactoring.db rename to Source/.cdk/refactoring.db index 9da8d1e549d7fdc52cc4af09676d6bd0fcf2ad17..bc6fc03426adbda3fdd12136b8fd77807a923f5b 100644 GIT binary patch delta 29 lcmZn&Xb6}f&B!rP#+i|0W5Nt}MyAa_+1XeanHKTL004dA2a5mz delta 29 lcmZn&Xb6}f&B!@X#+i|GW5Nt}M&`{w+1XeanHTZM004d$2af;% diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_adc.c b/Source/FWlib/apt32f102_adc.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_adc.c rename to Source/FWlib/apt32f102_adc.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_bt.c b/Source/FWlib/apt32f102_bt.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_bt.c rename to Source/FWlib/apt32f102_bt.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_coret.c b/Source/FWlib/apt32f102_coret.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_coret.c rename to Source/FWlib/apt32f102_coret.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_countera.c b/Source/FWlib/apt32f102_countera.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_countera.c rename to Source/FWlib/apt32f102_countera.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_crc.c b/Source/FWlib/apt32f102_crc.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_crc.c rename to Source/FWlib/apt32f102_crc.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_ept.c b/Source/FWlib/apt32f102_ept.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_ept.c rename to Source/FWlib/apt32f102_ept.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_et.c b/Source/FWlib/apt32f102_et.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_et.c rename to Source/FWlib/apt32f102_et.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_gpio.c b/Source/FWlib/apt32f102_gpio.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_gpio.c rename to Source/FWlib/apt32f102_gpio.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_gpt.c b/Source/FWlib/apt32f102_gpt.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_gpt.c rename to Source/FWlib/apt32f102_gpt.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_hwdiv.c b/Source/FWlib/apt32f102_hwdiv.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_hwdiv.c rename to Source/FWlib/apt32f102_hwdiv.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_i2c.c b/Source/FWlib/apt32f102_i2c.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_i2c.c rename to Source/FWlib/apt32f102_i2c.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_ifc.c b/Source/FWlib/apt32f102_ifc.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_ifc.c rename to Source/FWlib/apt32f102_ifc.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_iostring.c b/Source/FWlib/apt32f102_iostring.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_iostring.c rename to Source/FWlib/apt32f102_iostring.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_lpt.c b/Source/FWlib/apt32f102_lpt.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_lpt.c rename to Source/FWlib/apt32f102_lpt.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_rtc.c b/Source/FWlib/apt32f102_rtc.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_rtc.c rename to Source/FWlib/apt32f102_rtc.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_sio.c b/Source/FWlib/apt32f102_sio.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_sio.c rename to Source/FWlib/apt32f102_sio.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_spi.c b/Source/FWlib/apt32f102_spi.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_spi.c rename to Source/FWlib/apt32f102_spi.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_syscon.c b/Source/FWlib/apt32f102_syscon.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_syscon.c rename to Source/FWlib/apt32f102_syscon.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_tkey_parameter.c b/Source/FWlib/apt32f102_tkey_parameter.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_tkey_parameter.c rename to Source/FWlib/apt32f102_tkey_parameter.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_uart.c b/Source/FWlib/apt32f102_uart.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_uart.c rename to Source/FWlib/apt32f102_uart.c diff --git a/T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_wwdt.c b/Source/FWlib/apt32f102_wwdt.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/FWlib/apt32f102_wwdt.c rename to Source/FWlib/apt32f102_wwdt.c diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/RF_T1F_TC_V01_20240329.asm b/Source/Lst/RF_T1F_TC_V01_20240329.asm similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/RF_T1F_TC_V01_20240329.asm rename to Source/Lst/RF_T1F_TC_V01_20240329.asm diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/RF_T1F_TC_V01_20240329.map b/Source/Lst/RF_T1F_TC_V01_20240329.map similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/RF_T1F_TC_V01_20240329.map rename to Source/Lst/RF_T1F_TC_V01_20240329.map diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/RF_T1F_TC_V01_20240415.asm b/Source/Lst/RF_T1F_TC_V01_20240415.asm similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/RF_T1F_TC_V01_20240415.asm rename to Source/Lst/RF_T1F_TC_V01_20240415.asm diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/RF_T1F_TC_V01_20240415.map b/Source/Lst/RF_T1F_TC_V01_20240415.map similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/RF_T1F_TC_V01_20240415.map rename to Source/Lst/RF_T1F_TC_V01_20240415.map diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_AC_TC_V01_20240708.asm b/Source/Lst/T1_AC_TC_V01_20240708.asm similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_AC_TC_V01_20240708.asm rename to Source/Lst/T1_AC_TC_V01_20240708.asm diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_AC_TC_V01_20240708.map b/Source/Lst/T1_AC_TC_V01_20240708.map similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_AC_TC_V01_20240708.map rename to Source/Lst/T1_AC_TC_V01_20240708.map diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_AC_TC_V01_20241120.asm b/Source/Lst/T1_AC_TC_V01_20241120.asm similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_AC_TC_V01_20241120.asm rename to Source/Lst/T1_AC_TC_V01_20241120.asm diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_AC_TC_V01_20241120.map b/Source/Lst/T1_AC_TC_V01_20241120.map similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_AC_TC_V01_20241120.map rename to Source/Lst/T1_AC_TC_V01_20241120.map diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_AC_TC_V01_20241123.asm b/Source/Lst/T1_AC_TC_V01_20241123.asm similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_AC_TC_V01_20241123.asm rename to Source/Lst/T1_AC_TC_V01_20241123.asm diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_AC_TC_V01_20241123.map b/Source/Lst/T1_AC_TC_V01_20241123.map similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_AC_TC_V01_20241123.map rename to Source/Lst/T1_AC_TC_V01_20241123.map diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_AC_TC_V01_20241126.asm b/Source/Lst/T1_AC_TC_V01_20241126.asm similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_AC_TC_V01_20241126.asm rename to Source/Lst/T1_AC_TC_V01_20241126.asm diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_AC_TC_V01_20241126.map b/Source/Lst/T1_AC_TC_V01_20241126.map similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_AC_TC_V01_20241126.map rename to Source/Lst/T1_AC_TC_V01_20241126.map diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_Switch_V01_20231124.asm b/Source/Lst/T1_Switch_V01_20231124.asm similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_Switch_V01_20231124.asm rename to Source/Lst/T1_Switch_V01_20231124.asm diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_Switch_V01_20231124.map b/Source/Lst/T1_Switch_V01_20231124.map similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_Switch_V01_20231124.map rename to Source/Lst/T1_Switch_V01_20231124.map diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V01_20250209.asm b/Source/Lst/T1_TC_34650_V01_20250209.asm similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V01_20250209.asm rename to Source/Lst/T1_TC_34650_V01_20250209.asm diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V01_20250209.map b/Source/Lst/T1_TC_34650_V01_20250209.map similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V01_20250209.map rename to Source/Lst/T1_TC_34650_V01_20250209.map diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V01_20250304.asm b/Source/Lst/T1_TC_34650_V01_20250304.asm similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V01_20250304.asm rename to Source/Lst/T1_TC_34650_V01_20250304.asm diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V01_20250304.map b/Source/Lst/T1_TC_34650_V01_20250304.map similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V01_20250304.map rename to Source/Lst/T1_TC_34650_V01_20250304.map diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V02_20250321.asm b/Source/Lst/T1_TC_34650_V02_20250321.asm similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V02_20250321.asm rename to Source/Lst/T1_TC_34650_V02_20250321.asm diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V02_20250321.map b/Source/Lst/T1_TC_34650_V02_20250321.map similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V02_20250321.map rename to Source/Lst/T1_TC_34650_V02_20250321.map diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V03_20250422.asm b/Source/Lst/T1_TC_34650_V03_20250422.asm similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V03_20250422.asm rename to Source/Lst/T1_TC_34650_V03_20250422.asm diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V03_20250422.map b/Source/Lst/T1_TC_34650_V03_20250422.map similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V03_20250422.map rename to Source/Lst/T1_TC_34650_V03_20250422.map diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V04_20250507.asm b/Source/Lst/T1_TC_34650_V04_20250507.asm similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V04_20250507.asm rename to Source/Lst/T1_TC_34650_V04_20250507.asm diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V04_20250507.map b/Source/Lst/T1_TC_34650_V04_20250507.map similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V04_20250507.map rename to Source/Lst/T1_TC_34650_V04_20250507.map diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V04_20250513.asm b/Source/Lst/T1_TC_34650_V04_20250513.asm similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V04_20250513.asm rename to Source/Lst/T1_TC_34650_V04_20250513.asm diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V04_20250513.map b/Source/Lst/T1_TC_34650_V04_20250513.map similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V04_20250513.map rename to Source/Lst/T1_TC_34650_V04_20250513.map diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V04_202505161010.asm b/Source/Lst/T1_TC_34650_V04_202505161010.asm similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V04_202505161010.asm rename to Source/Lst/T1_TC_34650_V04_202505161010.asm diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V04_202505161010.map b/Source/Lst/T1_TC_34650_V04_202505161010.map similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V04_202505161010.map rename to Source/Lst/T1_TC_34650_V04_202505161010.map diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V05_202505211650.asm b/Source/Lst/T1_TC_34650_V05_202505211650.asm similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V05_202505211650.asm rename to Source/Lst/T1_TC_34650_V05_202505211650.asm diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V05_202505211650.map b/Source/Lst/T1_TC_34650_V05_202505211650.map similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V05_202505211650.map rename to Source/Lst/T1_TC_34650_V05_202505211650.map diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V06_20250815.asm b/Source/Lst/T1_TC_34650_V06_20250815.asm similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V06_20250815.asm rename to Source/Lst/T1_TC_34650_V06_20250815.asm diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V06_20250815.map b/Source/Lst/T1_TC_34650_V06_20250815.map similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_V06_20250815.map rename to Source/Lst/T1_TC_34650_V06_20250815.map diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_ZH.asm b/Source/Lst/T1_TC_34650_ZH.asm similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_ZH.asm rename to Source/Lst/T1_TC_34650_ZH.asm diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_ZH.map b/Source/Lst/T1_TC_34650_ZH.map similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_ZH.map rename to Source/Lst/T1_TC_34650_ZH.map diff --git a/Source/Lst/T1_TC_34650_ZH_V01.asm b/Source/Lst/T1_TC_34650_ZH_V01.asm new file mode 100644 index 0000000..12a12d9 --- /dev/null +++ b/Source/Lst/T1_TC_34650_ZH_V01.asm @@ -0,0 +1,13346 @@ + +.//Obj/T1_TC_34650_ZH_V01.elf: file format elf32-csky-little + + +Disassembly of section .text: + +00000000 : +void tk_parameter_init(void) +{ +/**************************************************** +//TK parameter define +*****************************************************/ + TK_IO_ENABLE=0x4F01; //TK IO ENABLE Bit16-->Bit0;0=DISABLE 1=ENABLE + 0: 0000010c .long 0x0000010c + 4: 00002f82 .long 0x00002f82 + + TK_senprd[0]=180; //TCH0 scan period = TCH0 sens + 8: 00002f72 .long 0x00002f72 + TK_senprd[1]=70; //TCH1 scan period = TCH1 sens + c: 00000184 .long 0x00000184 + TK_senprd[2]=70; //TCH2 scan period = TCH2 sens + 10: 00002f7a .long 0x00002f7a + TK_senprd[3]=70; //TCH3 scan period = TCH3 sens + TK_senprd[4]=70; //TCH4 scan period = TCH4 sens + 14: 00002f38 .long 0x00002f38 + TK_senprd[5]=70; //TCH5 scan period = TCH5 sens + TK_senprd[6]=70; //TCH6 scan period = TCH6 sens + 18: 00000184 .long 0x00000184 + TK_senprd[7]=70; //TCH7 scan period = TCH7 sens + TK_senprd[8]=180; //TCH8 scan period = TCH8 sens + 1c: 00002f6a .long 0x00002f6a + TK_senprd[9]=180; //TCH9 scan period = TCH9 sens + 20: 00002f62 .long 0x00002f62 + TK_senprd[10]=70; //TCH10 scan period = TCH10 sens + 24: 00000184 .long 0x00000184 + TK_senprd[11]=70; //TCH11 scan period = TCH11 sens + TK_senprd[12]=180; //TCH12 scan period = TCH12 sens + 28: 00000184 .long 0x00000184 + TK_senprd[13]=180; //TCH13 scan period = TCH13 sens + 2c: 00000184 .long 0x00000184 + TK_senprd[14]=180; //TCH14 scan period = TCH14 sens + TK_senprd[15]=70; //TCH15 scan period = TCH15 sens + 30: 00000184 .long 0x00000184 + TK_senprd[16]=70; //TCH16 scan period = TCH16 sens + 34: 00000184 .long 0x00000184 + TK_Triggerlevel[0]=100; //TCH0 TK_Trigger level + 38: 00000184 .long 0x00000184 + TK_Triggerlevel[1]=40; //TCH1 TK_Trigger level + 3c: 00000184 .long 0x00000184 + TK_Triggerlevel[2]=40; //TCH2 TK_Trigger level + 40: 00002f5a .long 0x00002f5a + TK_Triggerlevel[3]=40; //TCH3 TK_Trigger level + TK_Triggerlevel[4]=40; //TCH4 TK_Trigger level + 44: 00002f52 .long 0x00002f52 + TK_Triggerlevel[5]=40; //TCH5 TK_Trigger level + TK_Triggerlevel[6]=40; //TCH6 TK_Trigger level + 48: 00002f4a .long 0x00002f4a + TK_Triggerlevel[7]=40; //TCH7 TK_Trigger level + TK_Triggerlevel[8]=100; //TCH8 TK_Trigger level + 4c: 00002f42 .long 0x00002f42 + TK_Triggerlevel[9]=100; //TCH9 TK_Trigger level + 50: 00000184 .long 0x00000184 + TK_Triggerlevel[10]=40; //TCH10 TK_Trigger level + 54: 00000184 .long 0x00000184 + TK_Triggerlevel[11]=40; //TCH11 TK_Trigger level + TK_Triggerlevel[12]=100; //TCH12 TK_Trigger level + 58: 00000184 .long 0x00000184 + TK_Triggerlevel[13]=100; //TCH13 TK_Trigger level + 5c: 00000184 .long 0x00000184 + TK_Triggerlevel[14]=100; //TCH14 TK_Trigger level + TK_Triggerlevel[15]=40; //TCH15 TK_Trigger level + 60: 00000184 .long 0x00000184 + TK_Triggerlevel[16]=40; //TCH16 TK_Trigger level + 64: 00000184 .long 0x00000184 + Press_debounce_data=6; //Press debounce 1~10 + 68: 00000184 .long 0x00000184 + Release_debounce_data=5; //Release debounce 1~10 + 6c: 00000184 .long 0x00000184 + 70: 00000184 .long 0x00000184 + Key_mode=1; //Key mode 0=single key 1=multi key + 74: 00000184 .long 0x00000184 + MultiTimes_Filter=40; //MultiTimes Filter,>4 ENABLE <4 DISABLE + 78: 00000184 .long 0x00000184 + 7c: 00002f3a .long 0x00002f3a + Valid_Key_Num=6; //Valid Key number when touched + 80: 00005158 .long 0x00005158 + Base_Speed=20; //baseline update speed + 84: 00002580 .long 0x00002580 + 88: 00002670 .long 0x00002670 + TK_longpress_time=8; //longpress rebuild time = _TK_longpress_time1*1s 0=disable + 8c: 000026d8 .long 0x000026d8 + TK_BaseCnt=59999; //10ms TK_BaseCnt=10ms*48M/8-1,this register need to modify when mcu's Freq changed + 90: 00002740 .long 0x00002740 + 94: 00000184 .long 0x00000184 + +/**************************************************** +//TK low power function define +*****************************************************/ + TK_Lowpower_mode=DISABLE; //touch key can goto sleep when TK lowpower mode enable + 98: 000028ec .long 0x000028ec + TK_Lowpower_level=2; //0=20ms 1=50ms 2=100ms 3=150ms 4=200ms,Scan interval when sleep + 9c: 00002cd4 .long 0x00002cd4 + a0: 00002d04 .long 0x00002d04 + TK_Wakeup_level=50; //touch key Trigger level in sleep + a4: 00002920 .long 0x00002920 +/**************************************************** +//TK special parameter define +*****************************************************/ + TK_PSEL_MODE=TK_PSEL_FVR; //tk power sel:TK_PSEL_FVR/TK_PSEL_AVDD when select TK_PSEL_FVR PA0.2(TCH3) need a 104 cap + a8: 00000184 .long 0x00000184 + ac: 00000184 .long 0x00000184 + TK_FVR_LEVEL=TK_FVR_2048V; //FVR level:TK_FVR_2048V/TK_FVR_4096V + b0: 000029a0 .long 0x000029a0 + TK_EC_LEVEL=TK_EC_1V; //C0 voltage sel:TK_EC_1V/TK_EC_2V/TK_EC_3V/TK_EC_3_6V + b4: 00002a10 .long 0x00002a10 + TK_icon[0]=6; //TCH0 TK Scan icon range 0~7 + b8: 00002a70 .long 0x00002a70 + bc: 00002b04 .long 0x00002b04 + TK_icon[1]=6; //TCH1 TK Scan icon range 0~7 + TK_icon[2]=6; //TCH2 TK Scan icon range 0~7 + c0: 00000184 .long 0x00000184 + TK_icon[3]=6; //TCH3 TK Scan icon range 0~7 + TK_icon[4]=6; //TCH4 TK Scan icon range 0~7 + c4: 00002f92 .long 0x00002f92 + TK_icon[5]=6; //TCH5 TK Scan icon range 0~7 + TK_icon[6]=6; //TCH6 TK Scan icon range 0~7 + c8: 00000184 .long 0x00000184 + TK_icon[7]=6; //TCH7 TK Scan icon range 0~7 + TK_icon[8]=6; //TCH8 TK Scan icon range 0~7 + cc: 00002b98 .long 0x00002b98 + TK_icon[9]=6; //TCH9 TK Scan icon range 0~7 + TK_icon[10]=6; //TCH10 TK Scan icon range 0~7 + d0: 00002c80 .long 0x00002c80 + TK_icon[11]=6; //TCH11 TK Scan icon range 0~7 + TK_icon[12]=6; //TCH12 TK Scan icon range 0~7 + d4: 00002d34 .long 0x00002d34 + TK_icon[13]=6; //TCH13 TK Scan icon range 0~7 + TK_icon[14]=6; //TCH14 TK Scan icon range 0~7 + d8: 00002d7c .long 0x00002d7c + TK_icon[15]=6; //TCH15 TK Scan icon range 0~7 + TK_icon[16]=6; //TCH16 TK Scan icon range 0~7 + dc: 00002de8 .long 0x00002de8 + e0: 00002f8a .long 0x00002f8a + e4: 000050b8 .long 0x000050b8 + e8: 00002e48 .long 0x00002e48 + ec: 00000184 .long 0x00000184 + f0: 00002e7c .long 0x00002e7c + f4: 00002ec8 .long 0x00002ec8 + f8: 00000184 .long 0x00000184 + fc: 00000184 .long 0x00000184 + 100: 55aa0005 .long 0x55aa0005 + ... + +0000010c <__start>: +// .long __start +__start: + + + //initialize all registers + movi r0, 0 + 10c: 3000 movi r0, 0 + movi r1, 0 + 10e: 3100 movi r1, 0 + movi r2, 0 + 110: 3200 movi r2, 0 + movi r3, 0 + 112: 3300 movi r3, 0 + movi r4, 0 + 114: 3400 movi r4, 0 + movi r5, 0 + 116: 3500 movi r5, 0 + movi r6, 0 + 118: 3600 movi r6, 0 + movi r7, 0 + 11a: 3700 movi r7, 0 + //movi r13, 0 + //movi r14, 0 + //movi r15, 0 + +//set VBR + lrw r2, vector_table + 11c: 105b lrw r2, 0x0 // 188 + mtcr r2, cr<1,0> + 11e: c0026421 mtcr r2, cr<1, 0> + +//enable EE bit of psr + mfcr r2, cr<0,0> + 122: c0006022 mfcr r2, cr<0, 0> + bseti r2, r2, 8 + 126: 3aa8 bseti r2, 8 + mtcr r2, cr<0,0> + 128: c0026420 mtcr r2, cr<0, 0> +// st.w r2, (r1,0x4) +// movi r2, 0x1 +// st.w r2, (r1,0x0) + +//disable power peak + lrw r1, 0xe000ef90 + 12c: 1038 lrw r1, 0xe000ef90 // 18c + movi r2, 0x0 + 12e: 3200 movi r2, 0 + st.w r2, (r1, 0x0) + 130: b140 st.w r2, (r1, 0x0) + + + +//initialize kernel stack + lrw r7, __kernel_stack + 132: 10f8 lrw r7, 0x20000ff8 // 190 + mov r14,r7 + 134: 6f9f mov r14, r7 + subi r6,r7,0x4 + 136: 5fcf subi r6, r7, 4 + + //lrw r3, 0x40 + lrw r3, 0x04 + 138: 3304 movi r3, 4 + + subu r4, r7, r3 + 13a: 5f8d subu r4, r7, r3 + lrw r5, 0x0 + 13c: 3500 movi r5, 0 + +0000013e : +INIT_KERLE_STACK: + addi r4, 0x4 + 13e: 2403 addi r4, 4 + st.w r5, (r4) + 140: b4a0 st.w r5, (r4, 0x0) + //cmphs r7, r4 + cmphs r6, r4 + 142: 6518 cmphs r6, r4 + bt INIT_KERLE_STACK + 144: 0bfd bt 0x13e // 13e + +00000146 <__to_main>: + +__to_main: + lrw r0,__main + 146: 1014 lrw r0, 0x1a50 // 194 + jsr r0 + 148: 7bc1 jsr r0 + mov r0, r0 + 14a: 6c03 mov r0, r0 + mov r0, r0 + 14c: 6c03 mov r0, r0 + + + + lrw r15, __exit + 14e: ea8f0013 lrw r15, 0x160 // 198 + lrw r0,main + 152: 1013 lrw r0, 0x23a4 // 19c + jmp r0 + 154: 7800 jmp r0 + mov r0, r0 + 156: 6c03 mov r0, r0 + mov r0, r0 + 158: 6c03 mov r0, r0 + mov r0, r0 + 15a: 6c03 mov r0, r0 + mov r0, r0 + 15c: 6c03 mov r0, r0 + mov r0, r0 + 15e: 6c03 mov r0, r0 + +00000160 <__exit>: + +.export __exit +__exit: + + lrw r4, 0x20003000 + 160: 1090 lrw r4, 0x20003000 // 1a0 + //lrw r5, 0x0 + mov r5, r0 + 162: 6d43 mov r5, r0 + st.w r5, (r4) + 164: b4a0 st.w r5, (r4, 0x0) + + mfcr r1, cr<0,0> + 166: c0006021 mfcr r1, cr<0, 0> + lrw r1, 0xFFFF + 16a: 102f lrw r1, 0xffff // 1a4 + mtcr r1, cr<11,0> + 16c: c001642b mtcr r1, cr<11, 0> + lrw r1, 0xFFF + 170: 102e lrw r1, 0xfff // 1a8 + movi r0, 0x0 + 172: 3000 movi r0, 0 + st r1, (r0) + 174: b020 st.w r1, (r0, 0x0) + +00000176 <__fail>: + +.export __fail +__fail: + lrw r1, 0xEEEE + 176: 102e lrw r1, 0xeeee // 1ac + mtcr r1, cr<11,0> + 178: c001642b mtcr r1, cr<11, 0> + lrw r1, 0xEEE + 17c: 102d lrw r1, 0xeee // 1b0 + movi r0, 0x0 + 17e: 3000 movi r0, 0 + st r1, (r0) + 180: b020 st.w r1, (r0, 0x0) + +00000182 <__dummy>: + +__dummy: + br __fail + 182: 07fa br 0x176 // 176 <__fail> + +00000184 : + +.export DummyHandler +DummyHandler: + br __fail + 184: 07f9 br 0x176 // 176 <__fail> + 186: 0000 .short 0x0000 + 188: 00000000 .long 0x00000000 + 18c: e000ef90 .long 0xe000ef90 + 190: 20000ff8 .long 0x20000ff8 + 194: 00001a50 .long 0x00001a50 + 198: 00000160 .long 0x00000160 + 19c: 000023a4 .long 0x000023a4 + 1a0: 20003000 .long 0x20003000 + 1a4: 0000ffff .long 0x0000ffff + 1a8: 00000fff .long 0x00000fff + 1ac: 0000eeee .long 0x0000eeee + 1b0: 00000eee .long 0x00000eee + +000001b4 <__GI_pow>: + 1b4: 14d4 push r4-r7, r15 + 1b6: 142d subi r14, r14, 52 + 1b8: b860 st.w r3, (r14, 0x0) + 1ba: 4361 lsli r3, r3, 1 + 1bc: 4b81 lsri r4, r3, 1 + 1be: b842 st.w r2, (r14, 0x8) + 1c0: 6c90 or r2, r4 + 1c2: 3a40 cmpnei r2, 0 + 1c4: 6dc3 mov r7, r0 + 1c6: 6d87 mov r6, r1 + 1c8: 0803 bt 0x1ce // 1ce <__GI_pow+0x1a> + 1ca: e8000462 br 0xa8e // a8e <__GI_pow+0x8da> + 1ce: 41a1 lsli r5, r1, 1 + 1d0: 4da1 lsri r5, r5, 1 + 1d2: 0055 lrw r2, 0x7ff00000 // 578 <__GI_pow+0x3c4> + 1d4: 6549 cmplt r2, r5 + 1d6: 080c bt 0x1ee // 1ee <__GI_pow+0x3a> + 1d8: 6496 cmpne r5, r2 + 1da: 0803 bt 0x1e0 // 1e0 <__GI_pow+0x2c> + 1dc: 3840 cmpnei r0, 0 + 1de: 0808 bt 0x1ee // 1ee <__GI_pow+0x3a> + 1e0: 6509 cmplt r2, r4 + 1e2: 0806 bt 0x1ee // 1ee <__GI_pow+0x3a> + 1e4: 6492 cmpne r4, r2 + 1e6: 080e bt 0x202 // 202 <__GI_pow+0x4e> + 1e8: 9802 ld.w r0, (r14, 0x8) + 1ea: 3840 cmpnei r0, 0 + 1ec: 0c0b bf 0x202 // 202 <__GI_pow+0x4e> + 1ee: 9842 ld.w r2, (r14, 0x8) + 1f0: 9860 ld.w r3, (r14, 0x0) + 1f2: 6c1f mov r0, r7 + 1f4: 6c5b mov r1, r6 + 1f6: e0000713 bsr 0x101c // 101c <__adddf3> + 1fa: 6d03 mov r4, r0 + 1fc: 6c13 mov r0, r4 + 1fe: 140d addi r14, r14, 52 + 200: 1494 pop r4-r7, r15 + 202: 3edf btsti r6, 31 + 204: 0c51 bf 0x2a6 // 2a6 <__GI_pow+0xf2> + 206: 0121 lrw r1, 0x43400000 // 57c <__GI_pow+0x3c8> + 208: 2900 subi r1, 1 + 20a: 6505 cmplt r1, r4 + 20c: 084b bt 0x2a2 // 2a2 <__GI_pow+0xee> + 20e: 0162 lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 210: 2b00 subi r3, 1 + 212: 650d cmplt r3, r4 + 214: 0c49 bf 0x2a6 // 2a6 <__GI_pow+0xf2> + 216: 5454 asri r2, r4, 20 + 218: 0104 lrw r0, 0xfffffc01 // 584 <__GI_pow+0x3d0> + 21a: 6080 addu r2, r0 + 21c: 3a34 cmplti r2, 21 + 21e: 0821 bt 0x260 // 260 <__GI_pow+0xac> + 220: 3334 movi r3, 52 + 222: 60ca subu r3, r2 + 224: 9842 ld.w r2, (r14, 0x8) + 226: 708d lsr r2, r3 + 228: 6c4b mov r1, r2 + 22a: 704c lsl r1, r3 + 22c: 9802 ld.w r0, (r14, 0x8) + 22e: 6442 cmpne r0, r1 + 230: 083b bt 0x2a6 // 2a6 <__GI_pow+0xf2> + 232: 3101 movi r1, 1 + 234: 6884 and r2, r1 + 236: 3302 movi r3, 2 + 238: 5b49 subu r2, r3, r2 + 23a: 9802 ld.w r0, (r14, 0x8) + 23c: 3840 cmpnei r0, 0 + 23e: b841 st.w r2, (r14, 0x4) + 240: 0862 bt 0x304 // 304 <__GI_pow+0x150> + 242: 0151 lrw r2, 0x7ff00000 // 578 <__GI_pow+0x3c4> + 244: 6492 cmpne r4, r2 + 246: 081f bt 0x284 // 284 <__GI_pow+0xd0> + 248: 012f lrw r1, 0xc0100000 // 588 <__GI_pow+0x3d4> + 24a: 6054 addu r1, r5 + 24c: 6dc4 or r7, r1 + 24e: 3f40 cmpnei r7, 0 + 250: 082d bt 0x2aa // 2aa <__GI_pow+0xf6> + 252: 9860 ld.w r3, (r14, 0x0) + 254: 3200 movi r2, 0 + 256: 6c4f mov r1, r3 + 258: 3000 movi r0, 0 + 25a: e00006f9 bsr 0x104c // 104c <__subdf3> + 25e: 07ce br 0x1fa // 1fa <__GI_pow+0x46> + 260: 9822 ld.w r1, (r14, 0x8) + 262: 3940 cmpnei r1, 0 + 264: 084e bt 0x300 // 300 <__GI_pow+0x14c> + 266: 3114 movi r1, 20 + 268: 604a subu r1, r2 + 26a: 6c93 mov r2, r4 + 26c: 7086 asr r2, r1 + 26e: 6c0b mov r0, r2 + 270: 7004 lsl r0, r1 + 272: 6412 cmpne r4, r0 + 274: 0c03 bf 0x27a // 27a <__GI_pow+0xc6> + 276: e8000471 br 0xb58 // b58 <__GI_pow+0x9a4> + 27a: 3101 movi r1, 1 + 27c: 6884 and r2, r1 + 27e: 3002 movi r0, 2 + 280: 5869 subu r3, r0, r2 + 282: b861 st.w r3, (r14, 0x4) + 284: 0220 lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 286: 6452 cmpne r4, r1 + 288: 0825 bt 0x2d2 // 2d2 <__GI_pow+0x11e> + 28a: 9880 ld.w r4, (r14, 0x0) + 28c: 3cdf btsti r4, 31 + 28e: 0803 bt 0x294 // 294 <__GI_pow+0xe0> + 290: e8000407 br 0xa9e // a9e <__GI_pow+0x8ea> + 294: 6c9f mov r2, r7 + 296: 6cdb mov r3, r6 + 298: 3000 movi r0, 0 + 29a: 0225 lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 29c: e000080e bsr 0x12b8 // 12b8 <__divdf3> + 2a0: 07ad br 0x1fa // 1fa <__GI_pow+0x46> + 2a2: 3202 movi r2, 2 + 2a4: 07cb br 0x23a // 23a <__GI_pow+0x86> + 2a6: 3200 movi r2, 0 + 2a8: 07c9 br 0x23a // 23a <__GI_pow+0x86> + 2aa: 0269 lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 2ac: 2b00 subi r3, 1 + 2ae: 654d cmplt r3, r5 + 2b0: 9800 ld.w r0, (r14, 0x0) + 2b2: 0c08 bf 0x2c2 // 2c2 <__GI_pow+0x10e> + 2b4: 38df btsti r0, 31 + 2b6: 0803 bt 0x2bc // 2bc <__GI_pow+0x108> + 2b8: e80003ef br 0xa96 // a96 <__GI_pow+0x8e2> + 2bc: 3400 movi r4, 0 + 2be: 3100 movi r1, 0 + 2c0: 079e br 0x1fc // 1fc <__GI_pow+0x48> + 2c2: 38df btsti r0, 31 + 2c4: 0ffc bf 0x2bc // 2bc <__GI_pow+0x108> + 2c6: 3400 movi r4, 0 + 2c8: 6c43 mov r1, r0 + 2ca: 3280 movi r2, 128 + 2cc: 4278 lsli r3, r2, 24 + 2ce: 604c addu r1, r3 + 2d0: 0796 br 0x1fc // 1fc <__GI_pow+0x48> + 2d2: 3380 movi r3, 128 + 2d4: 4317 lsli r0, r3, 23 + 2d6: 9840 ld.w r2, (r14, 0x0) + 2d8: 640a cmpne r2, r0 + 2da: 0808 bt 0x2ea // 2ea <__GI_pow+0x136> + 2dc: 6c9f mov r2, r7 + 2de: 6cdb mov r3, r6 + 2e0: 6c1f mov r0, r7 + 2e2: 6c5b mov r1, r6 + 2e4: e00006d0 bsr 0x1084 // 1084 <__muldf3> + 2e8: 0789 br 0x1fa // 1fa <__GI_pow+0x46> + 2ea: 0276 lrw r3, 0x3fe00000 // 58c <__GI_pow+0x3d8> + 2ec: 9820 ld.w r1, (r14, 0x0) + 2ee: 64c6 cmpne r1, r3 + 2f0: 080a bt 0x304 // 304 <__GI_pow+0x150> + 2f2: 3edf btsti r6, 31 + 2f4: 0808 bt 0x304 // 304 <__GI_pow+0x150> + 2f6: 6c1f mov r0, r7 + 2f8: 6c5b mov r1, r6 + 2fa: e0000445 bsr 0xb84 // b84 <__GI_sqrt> + 2fe: 077e br 0x1fa // 1fa <__GI_pow+0x46> + 300: 3300 movi r3, 0 + 302: b861 st.w r3, (r14, 0x4) + 304: 6c1f mov r0, r7 + 306: 6c5b mov r1, r6 + 308: b883 st.w r4, (r14, 0xc) + 30a: e000042a bsr 0xb5e // b5e <__GI_fabs> + 30e: 3f40 cmpnei r7, 0 + 310: 6d03 mov r4, r0 + 312: 9863 ld.w r3, (r14, 0xc) + 314: 0826 bt 0x360 // 360 <__GI_pow+0x1ac> + 316: 3d40 cmpnei r5, 0 + 318: 0c05 bf 0x322 // 322 <__GI_pow+0x16e> + 31a: 4642 lsli r2, r6, 2 + 31c: 0302 lrw r0, 0xffc00000 // 590 <__GI_pow+0x3dc> + 31e: 640a cmpne r2, r0 + 320: 0820 bt 0x360 // 360 <__GI_pow+0x1ac> + 322: 9840 ld.w r2, (r14, 0x0) + 324: 3adf btsti r2, 31 + 326: 0c08 bf 0x336 // 336 <__GI_pow+0x182> + 328: 6c93 mov r2, r4 + 32a: 6cc7 mov r3, r1 + 32c: 3000 movi r0, 0 + 32e: 032a lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 330: e00007c4 bsr 0x12b8 // 12b8 <__divdf3> + 334: 6d03 mov r4, r0 + 336: 3edf btsti r6, 31 + 338: 0f62 bf 0x1fc // 1fc <__GI_pow+0x48> + 33a: 036b lrw r3, 0xc0100000 // 588 <__GI_pow+0x3d4> + 33c: 614c addu r5, r3 + 33e: 9801 ld.w r0, (r14, 0x4) + 340: 6d40 or r5, r0 + 342: 3d40 cmpnei r5, 0 + 344: 080a bt 0x358 // 358 <__GI_pow+0x1a4> + 346: 6c93 mov r2, r4 + 348: 6cc7 mov r3, r1 + 34a: 6c0b mov r0, r2 + 34c: 6c4f mov r1, r3 + 34e: e000067f bsr 0x104c // 104c <__subdf3> + 352: 6c83 mov r2, r0 + 354: 6cc7 mov r3, r1 + 356: 07a3 br 0x29c // 29c <__GI_pow+0xe8> + 358: 9841 ld.w r2, (r14, 0x4) + 35a: 3a41 cmpnei r2, 1 + 35c: 0b50 bt 0x1fc // 1fc <__GI_pow+0x48> + 35e: 07b6 br 0x2ca // 2ca <__GI_pow+0x116> + 360: 4e5f lsri r2, r6, 31 + 362: 2a00 subi r2, 1 + 364: b847 st.w r2, (r14, 0x1c) + 366: 9807 ld.w r0, (r14, 0x1c) + 368: 9841 ld.w r2, (r14, 0x4) + 36a: 6c80 or r2, r0 + 36c: 3a40 cmpnei r2, 0 + 36e: 0804 bt 0x376 // 376 <__GI_pow+0x1c2> + 370: 6c9f mov r2, r7 + 372: 6cdb mov r3, r6 + 374: 07eb br 0x34a // 34a <__GI_pow+0x196> + 376: 0357 lrw r2, 0x41e00000 // 594 <__GI_pow+0x3e0> + 378: 64c9 cmplt r2, r3 + 37a: 0cbf bf 0x4f8 // 4f8 <__GI_pow+0x344> + 37c: 0358 lrw r2, 0x43f00000 // 598 <__GI_pow+0x3e4> + 37e: 64c9 cmplt r2, r3 + 380: 037f lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 382: 0c0c bf 0x39a // 39a <__GI_pow+0x1e6> + 384: 2b00 subi r3, 1 + 386: 654d cmplt r3, r5 + 388: 080f bt 0x3a6 // 3a6 <__GI_pow+0x1f2> + 38a: 9820 ld.w r1, (r14, 0x0) + 38c: 39df btsti r1, 31 + 38e: 0f97 bf 0x2bc // 2bc <__GI_pow+0x108> + 390: 035c lrw r2, 0x8800759c // 59c <__GI_pow+0x3e8> + 392: 037b lrw r3, 0x7e37e43c // 5a0 <__GI_pow+0x3ec> + 394: 6c0b mov r0, r2 + 396: 6c4f mov r1, r3 + 398: 07a6 br 0x2e4 // 2e4 <__GI_pow+0x130> + 39a: 2b01 subi r3, 2 + 39c: 654d cmplt r3, r5 + 39e: 0ff6 bf 0x38a // 38a <__GI_pow+0x1d6> + 3a0: 1318 lrw r0, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 3a2: 6541 cmplt r0, r5 + 3a4: 0c05 bf 0x3ae // 3ae <__GI_pow+0x1fa> + 3a6: 9800 ld.w r0, (r14, 0x0) + 3a8: 3820 cmplti r0, 1 + 3aa: 0ff3 bf 0x390 // 390 <__GI_pow+0x1dc> + 3ac: 0788 br 0x2bc // 2bc <__GI_pow+0x108> + 3ae: 3200 movi r2, 0 + 3b0: 1374 lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 3b2: 6c1f mov r0, r7 + 3b4: 6c5b mov r1, r6 + 3b6: 36c0 movi r6, 192 + 3b8: e000064a bsr 0x104c // 104c <__subdf3> + 3bc: 4657 lsli r2, r6, 23 + 3be: 137a lrw r3, 0x3ff71547 // 5a4 <__GI_pow+0x3f0> + 3c0: 6d43 mov r5, r0 + 3c2: 6d07 mov r4, r1 + 3c4: e0000660 bsr 0x1084 // 1084 <__muldf3> + 3c8: 6dc3 mov r7, r0 + 3ca: 6d87 mov r6, r1 + 3cc: 1357 lrw r2, 0xf85ddf44 // 5a8 <__GI_pow+0x3f4> + 3ce: 1378 lrw r3, 0x3e54ae0b // 5ac <__GI_pow+0x3f8> + 3d0: 6c17 mov r0, r5 + 3d2: 6c53 mov r1, r4 + 3d4: e0000658 bsr 0x1084 // 1084 <__muldf3> + 3d8: b803 st.w r0, (r14, 0xc) + 3da: b824 st.w r1, (r14, 0x10) + 3dc: 3200 movi r2, 0 + 3de: 1375 lrw r3, 0x3fd00000 // 5b0 <__GI_pow+0x3fc> + 3e0: 6c17 mov r0, r5 + 3e2: 6c53 mov r1, r4 + 3e4: e0000650 bsr 0x1084 // 1084 <__muldf3> + 3e8: 6c83 mov r2, r0 + 3ea: 6cc7 mov r3, r1 + 3ec: 1312 lrw r0, 0x55555555 // 5b4 <__GI_pow+0x400> + 3ee: 1333 lrw r1, 0x3fd55555 // 5b8 <__GI_pow+0x404> + 3f0: e000062e bsr 0x104c // 104c <__subdf3> + 3f4: 6c97 mov r2, r5 + 3f6: 6cd3 mov r3, r4 + 3f8: e0000646 bsr 0x1084 // 1084 <__muldf3> + 3fc: 6c83 mov r2, r0 + 3fe: 6cc7 mov r3, r1 + 400: 3000 movi r0, 0 + 402: 1323 lrw r1, 0x3fe00000 // 58c <__GI_pow+0x3d8> + 404: e0000624 bsr 0x104c // 104c <__subdf3> + 408: b805 st.w r0, (r14, 0x14) + 40a: 6c97 mov r2, r5 + 40c: 6cd3 mov r3, r4 + 40e: b826 st.w r1, (r14, 0x18) + 410: 6c17 mov r0, r5 + 412: 6c53 mov r1, r4 + 414: e0000638 bsr 0x1084 // 1084 <__muldf3> + 418: 6c83 mov r2, r0 + 41a: 6cc7 mov r3, r1 + 41c: 9805 ld.w r0, (r14, 0x14) + 41e: 9826 ld.w r1, (r14, 0x18) + 420: e0000632 bsr 0x1084 // 1084 <__muldf3> + 424: 1346 lrw r2, 0x652b82fe // 5bc <__GI_pow+0x408> + 426: 1360 lrw r3, 0x3ff71547 // 5a4 <__GI_pow+0x3f0> + 428: e000062e bsr 0x1084 // 1084 <__muldf3> + 42c: 6c83 mov r2, r0 + 42e: 6cc7 mov r3, r1 + 430: 9803 ld.w r0, (r14, 0xc) + 432: 9824 ld.w r1, (r14, 0x10) + 434: e000060c bsr 0x104c // 104c <__subdf3> + 438: 6c83 mov r2, r0 + 43a: 6cc7 mov r3, r1 + 43c: 6d43 mov r5, r0 + 43e: 6d07 mov r4, r1 + 440: 6c1f mov r0, r7 + 442: 6c5b mov r1, r6 + 444: e00005ec bsr 0x101c // 101c <__adddf3> + 448: 6c9f mov r2, r7 + 44a: 6cdb mov r3, r6 + 44c: 3000 movi r0, 0 + 44e: b823 st.w r1, (r14, 0xc) + 450: e00005fe bsr 0x104c // 104c <__subdf3> + 454: 6c83 mov r2, r0 + 456: 6cc7 mov r3, r1 + 458: 6c17 mov r0, r5 + 45a: 6c53 mov r1, r4 + 45c: e00005f8 bsr 0x104c // 104c <__subdf3> + 460: 6d07 mov r4, r1 + 462: 9821 ld.w r1, (r14, 0x4) + 464: 2900 subi r1, 1 + 466: 9847 ld.w r2, (r14, 0x1c) + 468: 6c48 or r1, r2 + 46a: 3940 cmpnei r1, 0 + 46c: 6d43 mov r5, r0 + 46e: 0c02 bf 0x472 // 472 <__GI_pow+0x2be> + 470: 05f0 br 0x850 // 850 <__GI_pow+0x69c> + 472: 1274 lrw r3, 0xbff00000 // 5c0 <__GI_pow+0x40c> + 474: b861 st.w r3, (r14, 0x4) + 476: 9860 ld.w r3, (r14, 0x0) + 478: 3200 movi r2, 0 + 47a: 9802 ld.w r0, (r14, 0x8) + 47c: 6c4f mov r1, r3 + 47e: e00005e7 bsr 0x104c // 104c <__subdf3> + 482: 9863 ld.w r3, (r14, 0xc) + 484: 3200 movi r2, 0 + 486: e00005ff bsr 0x1084 // 1084 <__muldf3> + 48a: 6dc3 mov r7, r0 + 48c: 6d87 mov r6, r1 + 48e: 9842 ld.w r2, (r14, 0x8) + 490: 9860 ld.w r3, (r14, 0x0) + 492: 6c17 mov r0, r5 + 494: 6c53 mov r1, r4 + 496: e00005f7 bsr 0x1084 // 1084 <__muldf3> + 49a: 6c83 mov r2, r0 + 49c: 6cc7 mov r3, r1 + 49e: 6c1f mov r0, r7 + 4a0: 6c5b mov r1, r6 + 4a2: e00005bd bsr 0x101c // 101c <__adddf3> + 4a6: 6dc3 mov r7, r0 + 4a8: 9860 ld.w r3, (r14, 0x0) + 4aa: 6d87 mov r6, r1 + 4ac: 3200 movi r2, 0 + 4ae: 9823 ld.w r1, (r14, 0xc) + 4b0: 3000 movi r0, 0 + 4b2: e00005e9 bsr 0x1084 // 1084 <__muldf3> + 4b6: b802 st.w r0, (r14, 0x8) + 4b8: b803 st.w r0, (r14, 0xc) + 4ba: b824 st.w r1, (r14, 0x10) + 4bc: 6c83 mov r2, r0 + 4be: 6cc7 mov r3, r1 + 4c0: 6d47 mov r5, r1 + 4c2: 6c1f mov r0, r7 + 4c4: 6c5b mov r1, r6 + 4c6: e00005ab bsr 0x101c // 101c <__adddf3> + 4ca: 6d07 mov r4, r1 + 4cc: 113e lrw r1, 0x40900000 // 5c4 <__GI_pow+0x410> + 4ce: 2900 subi r1, 1 + 4d0: 6505 cmplt r1, r4 + 4d2: b800 st.w r0, (r14, 0x0) + 4d4: 0803 bt 0x4da // 4da <__GI_pow+0x326> + 4d6: e80002b3 br 0xa3c // a3c <__GI_pow+0x888> + 4da: 117c lrw r3, 0xbf700000 // 5c8 <__GI_pow+0x414> + 4dc: 60d0 addu r3, r4 + 4de: 6cc0 or r3, r0 + 4e0: 3b40 cmpnei r3, 0 + 4e2: 0802 bt 0x4e6 // 4e6 <__GI_pow+0x332> + 4e4: 05b8 br 0x854 // 854 <__GI_pow+0x6a0> + 4e6: 114e lrw r2, 0x8800759c // 59c <__GI_pow+0x3e8> + 4e8: 116e lrw r3, 0x7e37e43c // 5a0 <__GI_pow+0x3ec> + 4ea: 3000 movi r0, 0 + 4ec: 9821 ld.w r1, (r14, 0x4) + 4ee: e00005cb bsr 0x1084 // 1084 <__muldf3> + 4f2: 114b lrw r2, 0x8800759c // 59c <__GI_pow+0x3e8> + 4f4: 116b lrw r3, 0x7e37e43c // 5a0 <__GI_pow+0x3ec> + 4f6: 06f7 br 0x2e4 // 2e4 <__GI_pow+0x130> + 4f8: 11d5 lrw r6, 0xfffff // 5cc <__GI_pow+0x418> + 4fa: 6559 cmplt r6, r5 + 4fc: 09a6 bt 0x848 // 848 <__GI_pow+0x694> + 4fe: 6c13 mov r0, r4 + 500: 3200 movi r2, 0 + 502: 107f lrw r3, 0x43400000 // 57c <__GI_pow+0x3c8> + 504: e00005c0 bsr 0x1084 // 1084 <__muldf3> + 508: 3700 movi r7, 0 + 50a: 6d03 mov r4, r0 + 50c: 6d47 mov r5, r1 + 50e: 2f34 subi r7, 53 + 510: 5514 asri r0, r5, 20 + 512: 103d lrw r1, 0xfffffc01 // 584 <__GI_pow+0x3d0> + 514: 45ac lsli r5, r5, 12 + 516: 4d4c lsri r2, r5, 12 + 518: 6004 addu r0, r1 + 51a: 116e lrw r3, 0x3988e // 5d0 <__GI_pow+0x41c> + 51c: 601c addu r0, r7 + 51e: 648d cmplt r3, r2 + 520: 10f8 lrw r7, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 522: b804 st.w r0, (r14, 0x10) + 524: 6dc8 or r7, r2 + 526: 0c09 bf 0x538 // 538 <__GI_pow+0x384> + 528: 11cb lrw r6, 0xbb679 // 5d4 <__GI_pow+0x420> + 52a: 6499 cmplt r6, r2 + 52c: 0d90 bf 0x84c // 84c <__GI_pow+0x698> + 52e: 6c83 mov r2, r0 + 530: 2200 addi r2, 1 + 532: 110a lrw r0, 0xfff00000 // 5d8 <__GI_pow+0x424> + 534: b844 st.w r2, (r14, 0x10) + 536: 61c0 addu r7, r0 + 538: 3500 movi r5, 0 + 53a: 45c3 lsli r6, r5, 3 + 53c: 1168 lrw r3, 0x5538 // 5dc <__GI_pow+0x428> + 53e: 4523 lsli r1, r5, 3 + 540: 60d8 addu r3, r6 + 542: 9340 ld.w r2, (r3, 0x0) + 544: b828 st.w r1, (r14, 0x20) + 546: 9361 ld.w r3, (r3, 0x4) + 548: 6c13 mov r0, r4 + 54a: 6c5f mov r1, r7 + 54c: b845 st.w r2, (r14, 0x14) + 54e: b866 st.w r3, (r14, 0x18) + 550: e000057e bsr 0x104c // 104c <__subdf3> + 554: b809 st.w r0, (r14, 0x24) + 556: 9845 ld.w r2, (r14, 0x14) + 558: 9866 ld.w r3, (r14, 0x18) + 55a: b82a st.w r1, (r14, 0x28) + 55c: 6c13 mov r0, r4 + 55e: 6c5f mov r1, r7 + 560: e000055e bsr 0x101c // 101c <__adddf3> + 564: 6c83 mov r2, r0 + 566: 6cc7 mov r3, r1 + 568: 3000 movi r0, 0 + 56a: 1026 lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 56c: e00006a6 bsr 0x12b8 // 12b8 <__divdf3> + 570: 6c83 mov r2, r0 + 572: 6cc7 mov r3, r1 + 574: 0436 br 0x5e0 // 5e0 <__GI_pow+0x42c> + 576: 0000 bkpt + 578: 7ff00000 .long 0x7ff00000 + 57c: 43400000 .long 0x43400000 + 580: 3ff00000 .long 0x3ff00000 + 584: fffffc01 .long 0xfffffc01 + 588: c0100000 .long 0xc0100000 + 58c: 3fe00000 .long 0x3fe00000 + 590: ffc00000 .long 0xffc00000 + 594: 41e00000 .long 0x41e00000 + 598: 43f00000 .long 0x43f00000 + 59c: 8800759c .long 0x8800759c + 5a0: 7e37e43c .long 0x7e37e43c + 5a4: 3ff71547 .long 0x3ff71547 + 5a8: f85ddf44 .long 0xf85ddf44 + 5ac: 3e54ae0b .long 0x3e54ae0b + 5b0: 3fd00000 .long 0x3fd00000 + 5b4: 55555555 .long 0x55555555 + 5b8: 3fd55555 .long 0x3fd55555 + 5bc: 652b82fe .long 0x652b82fe + 5c0: bff00000 .long 0xbff00000 + 5c4: 40900000 .long 0x40900000 + 5c8: bf700000 .long 0xbf700000 + 5cc: 000fffff .long 0x000fffff + 5d0: 0003988e .long 0x0003988e + 5d4: 000bb679 .long 0x000bb679 + 5d8: fff00000 .long 0xfff00000 + 5dc: 00005538 .long 0x00005538 + 5e0: b80b st.w r0, (r14, 0x2c) + 5e2: b82c st.w r1, (r14, 0x30) + 5e4: 9809 ld.w r0, (r14, 0x24) + 5e6: 982a ld.w r1, (r14, 0x28) + 5e8: e000054e bsr 0x1084 // 1084 <__muldf3> + 5ec: b803 st.w r0, (r14, 0xc) + 5ee: 3280 movi r2, 128 + 5f0: 5701 asri r0, r7, 1 + 5f2: 6d87 mov r6, r1 + 5f4: 38bd bseti r0, 29 + 5f6: 422c lsli r1, r2, 12 + 5f8: 6004 addu r0, r1 + 5fa: 45b2 lsli r5, r5, 18 + 5fc: 6140 addu r5, r0 + 5fe: 6cd7 mov r3, r5 + 600: 3200 movi r2, 0 + 602: 6c5b mov r1, r6 + 604: 3000 movi r0, 0 + 606: e000053f bsr 0x1084 // 1084 <__muldf3> + 60a: 6c83 mov r2, r0 + 60c: 6cc7 mov r3, r1 + 60e: 9809 ld.w r0, (r14, 0x24) + 610: 982a ld.w r1, (r14, 0x28) + 612: e000051d bsr 0x104c // 104c <__subdf3> + 616: b809 st.w r0, (r14, 0x24) + 618: 9845 ld.w r2, (r14, 0x14) + 61a: 9866 ld.w r3, (r14, 0x18) + 61c: b82a st.w r1, (r14, 0x28) + 61e: 3000 movi r0, 0 + 620: 6c57 mov r1, r5 + 622: e0000515 bsr 0x104c // 104c <__subdf3> + 626: 6c83 mov r2, r0 + 628: 6cc7 mov r3, r1 + 62a: 6c13 mov r0, r4 + 62c: 6c5f mov r1, r7 + 62e: e000050f bsr 0x104c // 104c <__subdf3> + 632: 6cdb mov r3, r6 + 634: 3200 movi r2, 0 + 636: e0000527 bsr 0x1084 // 1084 <__muldf3> + 63a: 6c83 mov r2, r0 + 63c: 6cc7 mov r3, r1 + 63e: 9809 ld.w r0, (r14, 0x24) + 640: 982a ld.w r1, (r14, 0x28) + 642: e0000505 bsr 0x104c // 104c <__subdf3> + 646: 984b ld.w r2, (r14, 0x2c) + 648: 986c ld.w r3, (r14, 0x30) + 64a: e000051d bsr 0x1084 // 1084 <__muldf3> + 64e: 9843 ld.w r2, (r14, 0xc) + 650: 6cdb mov r3, r6 + 652: b805 st.w r0, (r14, 0x14) + 654: b826 st.w r1, (r14, 0x18) + 656: 6c0b mov r0, r2 + 658: 6c5b mov r1, r6 + 65a: e0000515 bsr 0x1084 // 1084 <__muldf3> + 65e: ea820113 lrw r2, 0x4a454eef // aa8 <__GI_pow+0x8f4> + 662: ea830113 lrw r3, 0x3fca7e28 // aac <__GI_pow+0x8f8> + 666: 6d43 mov r5, r0 + 668: 6d07 mov r4, r1 + 66a: e000050d bsr 0x1084 // 1084 <__muldf3> + 66e: ea820111 lrw r2, 0x93c9db65 // ab0 <__GI_pow+0x8fc> + 672: ea830111 lrw r3, 0x3fcd864a // ab4 <__GI_pow+0x900> + 676: e00004d3 bsr 0x101c // 101c <__adddf3> + 67a: 6c97 mov r2, r5 + 67c: 6cd3 mov r3, r4 + 67e: e0000503 bsr 0x1084 // 1084 <__muldf3> + 682: ea82010e lrw r2, 0xa91d4101 // ab8 <__GI_pow+0x904> + 686: ea83010e lrw r3, 0x3fd17460 // abc <__GI_pow+0x908> + 68a: e00004c9 bsr 0x101c // 101c <__adddf3> + 68e: 6c97 mov r2, r5 + 690: 6cd3 mov r3, r4 + 692: e00004f9 bsr 0x1084 // 1084 <__muldf3> + 696: ea82010b lrw r2, 0x518f264d // ac0 <__GI_pow+0x90c> + 69a: ea83010b lrw r3, 0x3fd55555 // ac4 <__GI_pow+0x910> + 69e: e00004bf bsr 0x101c // 101c <__adddf3> + 6a2: 6c97 mov r2, r5 + 6a4: 6cd3 mov r3, r4 + 6a6: e00004ef bsr 0x1084 // 1084 <__muldf3> + 6aa: ea820108 lrw r2, 0xdb6fabff // ac8 <__GI_pow+0x914> + 6ae: ea830108 lrw r3, 0x3fdb6db6 // acc <__GI_pow+0x918> + 6b2: e00004b5 bsr 0x101c // 101c <__adddf3> + 6b6: 6c97 mov r2, r5 + 6b8: 6cd3 mov r3, r4 + 6ba: e00004e5 bsr 0x1084 // 1084 <__muldf3> + 6be: ea820105 lrw r2, 0x33333303 // ad0 <__GI_pow+0x91c> + 6c2: ea830105 lrw r3, 0x3fe33333 // ad4 <__GI_pow+0x920> + 6c6: e00004ab bsr 0x101c // 101c <__adddf3> + 6ca: 6dc3 mov r7, r0 + 6cc: 6c97 mov r2, r5 + 6ce: 6cd3 mov r3, r4 + 6d0: b829 st.w r1, (r14, 0x24) + 6d2: 6c17 mov r0, r5 + 6d4: 6c53 mov r1, r4 + 6d6: e00004d7 bsr 0x1084 // 1084 <__muldf3> + 6da: 6c83 mov r2, r0 + 6dc: 6cc7 mov r3, r1 + 6de: 6c1f mov r0, r7 + 6e0: 9829 ld.w r1, (r14, 0x24) + 6e2: e00004d1 bsr 0x1084 // 1084 <__muldf3> + 6e6: 6d43 mov r5, r0 + 6e8: 6d07 mov r4, r1 + 6ea: 6cdb mov r3, r6 + 6ec: 3200 movi r2, 0 + 6ee: 9803 ld.w r0, (r14, 0xc) + 6f0: 6c5b mov r1, r6 + 6f2: e0000495 bsr 0x101c // 101c <__adddf3> + 6f6: 9845 ld.w r2, (r14, 0x14) + 6f8: 9866 ld.w r3, (r14, 0x18) + 6fa: e00004c5 bsr 0x1084 // 1084 <__muldf3> + 6fe: 6c97 mov r2, r5 + 700: 6cd3 mov r3, r4 + 702: e000048d bsr 0x101c // 101c <__adddf3> + 706: 6d43 mov r5, r0 + 708: 6cdb mov r3, r6 + 70a: b829 st.w r1, (r14, 0x24) + 70c: 3200 movi r2, 0 + 70e: 6c5b mov r1, r6 + 710: 3000 movi r0, 0 + 712: e00004b9 bsr 0x1084 // 1084 <__muldf3> + 716: 3200 movi r2, 0 + 718: 006f lrw r3, 0x40080000 // ad8 <__GI_pow+0x924> + 71a: 6dc3 mov r7, r0 + 71c: b82a st.w r1, (r14, 0x28) + 71e: e000047f bsr 0x101c // 101c <__adddf3> + 722: 6c97 mov r2, r5 + 724: 9869 ld.w r3, (r14, 0x24) + 726: e000047b bsr 0x101c // 101c <__adddf3> + 72a: 6d07 mov r4, r1 + 72c: 6cc7 mov r3, r1 + 72e: 3200 movi r2, 0 + 730: 6c5b mov r1, r6 + 732: 3000 movi r0, 0 + 734: e00004a8 bsr 0x1084 // 1084 <__muldf3> + 738: b80b st.w r0, (r14, 0x2c) + 73a: b82c st.w r1, (r14, 0x30) + 73c: 3200 movi r2, 0 + 73e: 0078 lrw r3, 0x40080000 // ad8 <__GI_pow+0x924> + 740: 6c53 mov r1, r4 + 742: 3000 movi r0, 0 + 744: e0000484 bsr 0x104c // 104c <__subdf3> + 748: 6c9f mov r2, r7 + 74a: 986a ld.w r3, (r14, 0x28) + 74c: e0000480 bsr 0x104c // 104c <__subdf3> + 750: 6c83 mov r2, r0 + 752: 6cc7 mov r3, r1 + 754: 6c17 mov r0, r5 + 756: 9829 ld.w r1, (r14, 0x24) + 758: e000047a bsr 0x104c // 104c <__subdf3> + 75c: 9843 ld.w r2, (r14, 0xc) + 75e: 6cdb mov r3, r6 + 760: e0000492 bsr 0x1084 // 1084 <__muldf3> + 764: 6d83 mov r6, r0 + 766: 6d47 mov r5, r1 + 768: 6cd3 mov r3, r4 + 76a: 3200 movi r2, 0 + 76c: 9805 ld.w r0, (r14, 0x14) + 76e: 9826 ld.w r1, (r14, 0x18) + 770: e000048a bsr 0x1084 // 1084 <__muldf3> + 774: 6c83 mov r2, r0 + 776: 6cc7 mov r3, r1 + 778: 6c1b mov r0, r6 + 77a: 6c57 mov r1, r5 + 77c: e0000450 bsr 0x101c // 101c <__adddf3> + 780: 6dc3 mov r7, r0 + 782: 6d87 mov r6, r1 + 784: 6c83 mov r2, r0 + 786: 6cc7 mov r3, r1 + 788: 980b ld.w r0, (r14, 0x2c) + 78a: 982c ld.w r1, (r14, 0x30) + 78c: e0000448 bsr 0x101c // 101c <__adddf3> + 790: 33e0 movi r3, 224 + 792: 4358 lsli r2, r3, 24 + 794: 3000 movi r0, 0 + 796: 016d lrw r3, 0x3feec709 // adc <__GI_pow+0x928> + 798: 6d07 mov r4, r1 + 79a: e0000475 bsr 0x1084 // 1084 <__muldf3> + 79e: b805 st.w r0, (r14, 0x14) + 7a0: b826 st.w r1, (r14, 0x18) + 7a2: 984b ld.w r2, (r14, 0x2c) + 7a4: 986c ld.w r3, (r14, 0x30) + 7a6: 6c53 mov r1, r4 + 7a8: 3000 movi r0, 0 + 7aa: e0000451 bsr 0x104c // 104c <__subdf3> + 7ae: 6c83 mov r2, r0 + 7b0: 6cc7 mov r3, r1 + 7b2: 6c1f mov r0, r7 + 7b4: 6c5b mov r1, r6 + 7b6: e000044b bsr 0x104c // 104c <__subdf3> + 7ba: 0155 lrw r2, 0xdc3a03fd // ae0 <__GI_pow+0x92c> + 7bc: 0177 lrw r3, 0x3feec709 // adc <__GI_pow+0x928> + 7be: e0000463 bsr 0x1084 // 1084 <__muldf3> + 7c2: 6dc3 mov r7, r0 + 7c4: 6d47 mov r5, r1 + 7c6: 0157 lrw r2, 0x145b01f5 // ae4 <__GI_pow+0x930> + 7c8: 0177 lrw r3, 0xbe3e2fe0 // ae8 <__GI_pow+0x934> + 7ca: 6c53 mov r1, r4 + 7cc: 3000 movi r0, 0 + 7ce: e000045b bsr 0x1084 // 1084 <__muldf3> + 7d2: 6c83 mov r2, r0 + 7d4: 6cc7 mov r3, r1 + 7d6: 6c1f mov r0, r7 + 7d8: 6c57 mov r1, r5 + 7da: e0000421 bsr 0x101c // 101c <__adddf3> + 7de: 01db lrw r6, 0x5538 // aec <__GI_pow+0x938> + 7e0: 9848 ld.w r2, (r14, 0x20) + 7e2: 6188 addu r6, r2 + 7e4: 9644 ld.w r2, (r6, 0x10) + 7e6: 9665 ld.w r3, (r6, 0x14) + 7e8: e000041a bsr 0x101c // 101c <__adddf3> + 7ec: b809 st.w r0, (r14, 0x24) + 7ee: 9804 ld.w r0, (r14, 0x10) + 7f0: b82a st.w r1, (r14, 0x28) + 7f2: e0000667 bsr 0x14c0 // 14c0 <__floatsidf> + 7f6: 6d83 mov r6, r0 + 7f8: 0202 lrw r0, 0x5538 // aec <__GI_pow+0x938> + 7fa: 6d47 mov r5, r1 + 7fc: 201f addi r0, 32 + 7fe: 9828 ld.w r1, (r14, 0x20) + 800: 6004 addu r0, r1 + 802: 9080 ld.w r4, (r0, 0x0) + 804: 90e1 ld.w r7, (r0, 0x4) + 806: 9849 ld.w r2, (r14, 0x24) + 808: 986a ld.w r3, (r14, 0x28) + 80a: 9805 ld.w r0, (r14, 0x14) + 80c: 9826 ld.w r1, (r14, 0x18) + 80e: e0000407 bsr 0x101c // 101c <__adddf3> + 812: 6c93 mov r2, r4 + 814: 6cdf mov r3, r7 + 816: e0000403 bsr 0x101c // 101c <__adddf3> + 81a: 6c9b mov r2, r6 + 81c: 6cd7 mov r3, r5 + 81e: e00003ff bsr 0x101c // 101c <__adddf3> + 822: 6c9b mov r2, r6 + 824: 6cd7 mov r3, r5 + 826: 3000 movi r0, 0 + 828: b823 st.w r1, (r14, 0xc) + 82a: e0000411 bsr 0x104c // 104c <__subdf3> + 82e: 6c93 mov r2, r4 + 830: 6cdf mov r3, r7 + 832: e000040d bsr 0x104c // 104c <__subdf3> + 836: 9845 ld.w r2, (r14, 0x14) + 838: 9866 ld.w r3, (r14, 0x18) + 83a: e0000409 bsr 0x104c // 104c <__subdf3> + 83e: 6c83 mov r2, r0 + 840: 6cc7 mov r3, r1 + 842: 9809 ld.w r0, (r14, 0x24) + 844: 982a ld.w r1, (r14, 0x28) + 846: 060b br 0x45c // 45c <__GI_pow+0x2a8> + 848: 3700 movi r7, 0 + 84a: 0663 br 0x510 // 510 <__GI_pow+0x35c> + 84c: 3501 movi r5, 1 + 84e: 0676 br 0x53a // 53a <__GI_pow+0x386> + 850: 0277 lrw r3, 0x3ff00000 // af0 <__GI_pow+0x93c> + 852: 0611 br 0x474 // 474 <__GI_pow+0x2c0> + 854: 0257 lrw r2, 0x652b82fe // af4 <__GI_pow+0x940> + 856: 0276 lrw r3, 0x3c971547 // af8 <__GI_pow+0x944> + 858: 6c1f mov r0, r7 + 85a: 6c5b mov r1, r6 + 85c: e00003e0 bsr 0x101c // 101c <__adddf3> + 860: b805 st.w r0, (r14, 0x14) + 862: b826 st.w r1, (r14, 0x18) + 864: 9842 ld.w r2, (r14, 0x8) + 866: 6cd7 mov r3, r5 + 868: 9800 ld.w r0, (r14, 0x0) + 86a: 6c53 mov r1, r4 + 86c: e00003f0 bsr 0x104c // 104c <__subdf3> + 870: 6c83 mov r2, r0 + 872: 6cc7 mov r3, r1 + 874: 9805 ld.w r0, (r14, 0x14) + 876: 9826 ld.w r1, (r14, 0x18) + 878: e00005ca bsr 0x140c // 140c <__gtdf2> + 87c: 3820 cmplti r0, 1 + 87e: 0802 bt 0x882 // 882 <__GI_pow+0x6ce> + 880: 0633 br 0x4e6 // 4e6 <__GI_pow+0x332> + 882: 4421 lsli r1, r4, 1 + 884: 4901 lsri r0, r1, 1 + 886: 0361 lrw r3, 0x3fe00000 // afc <__GI_pow+0x948> + 888: 640d cmplt r3, r0 + 88a: 0cfd bf 0xa84 // a84 <__GI_pow+0x8d0> + 88c: 5034 asri r1, r0, 20 + 88e: 0342 lrw r2, 0xfffffc02 // b00 <__GI_pow+0x94c> + 890: 3080 movi r0, 128 + 892: 6048 addu r1, r2 + 894: 404d lsli r2, r0, 13 + 896: 7086 asr r2, r1 + 898: 6090 addu r2, r4 + 89a: 4261 lsli r3, r2, 1 + 89c: 4b35 lsri r1, r3, 21 + 89e: 0305 lrw r0, 0xfffffc01 // b04 <__GI_pow+0x950> + 8a0: 6040 addu r1, r0 + 8a2: 0365 lrw r3, 0xfffff // b08 <__GI_pow+0x954> + 8a4: 70c6 asr r3, r1 + 8a6: 6c0b mov r0, r2 + 8a8: 680d andn r0, r3 + 8aa: 424c lsli r2, r2, 12 + 8ac: 6cc3 mov r3, r0 + 8ae: 4a4c lsri r2, r2, 12 + 8b0: 3014 movi r0, 20 + 8b2: 3ab4 bseti r2, 20 + 8b4: 5825 subu r1, r0, r1 + 8b6: 7086 asr r2, r1 + 8b8: 3cdf btsti r4, 31 + 8ba: b840 st.w r2, (r14, 0x0) + 8bc: 0c05 bf 0x8c6 // 8c6 <__GI_pow+0x712> + 8be: 9840 ld.w r2, (r14, 0x0) + 8c0: 3400 movi r4, 0 + 8c2: 610a subu r4, r2 + 8c4: b880 st.w r4, (r14, 0x0) + 8c6: 3200 movi r2, 0 + 8c8: 9802 ld.w r0, (r14, 0x8) + 8ca: 6c57 mov r1, r5 + 8cc: e00003c0 bsr 0x104c // 104c <__subdf3> + 8d0: b803 st.w r0, (r14, 0xc) + 8d2: b824 st.w r1, (r14, 0x10) + 8d4: 9803 ld.w r0, (r14, 0xc) + 8d6: 6c9f mov r2, r7 + 8d8: 6cdb mov r3, r6 + 8da: 9824 ld.w r1, (r14, 0x10) + 8dc: e00003a0 bsr 0x101c // 101c <__adddf3> + 8e0: 3200 movi r2, 0 + 8e2: 0374 lrw r3, 0x3fe62e43 // b0c <__GI_pow+0x958> + 8e4: 3000 movi r0, 0 + 8e6: 6d07 mov r4, r1 + 8e8: e00003ce bsr 0x1084 // 1084 <__muldf3> + 8ec: 6d47 mov r5, r1 + 8ee: 9843 ld.w r2, (r14, 0xc) + 8f0: 9864 ld.w r3, (r14, 0x10) + 8f2: b802 st.w r0, (r14, 0x8) + 8f4: 6c53 mov r1, r4 + 8f6: 3000 movi r0, 0 + 8f8: e00003aa bsr 0x104c // 104c <__subdf3> + 8fc: 6c83 mov r2, r0 + 8fe: 6cc7 mov r3, r1 + 900: 6c1f mov r0, r7 + 902: 6c5b mov r1, r6 + 904: e00003a4 bsr 0x104c // 104c <__subdf3> + 908: 035d lrw r2, 0xfefa39ef // b10 <__GI_pow+0x95c> + 90a: 037c lrw r3, 0x3fe62e42 // b14 <__GI_pow+0x960> + 90c: e00003bc bsr 0x1084 // 1084 <__muldf3> + 910: 6dc3 mov r7, r0 + 912: 6d87 mov r6, r1 + 914: 035e lrw r2, 0xca86c39 // b18 <__GI_pow+0x964> + 916: 037d lrw r3, 0xbe205c61 // b1c <__GI_pow+0x968> + 918: 6c53 mov r1, r4 + 91a: 3000 movi r0, 0 + 91c: e00003b4 bsr 0x1084 // 1084 <__muldf3> + 920: 6c83 mov r2, r0 + 922: 6cc7 mov r3, r1 + 924: 6c1f mov r0, r7 + 926: 6c5b mov r1, r6 + 928: e000037a bsr 0x101c // 101c <__adddf3> + 92c: 6d07 mov r4, r1 + 92e: 6c83 mov r2, r0 + 930: 6cc7 mov r3, r1 + 932: b803 st.w r0, (r14, 0xc) + 934: 6c57 mov r1, r5 + 936: 9802 ld.w r0, (r14, 0x8) + 938: e0000372 bsr 0x101c // 101c <__adddf3> + 93c: 9842 ld.w r2, (r14, 0x8) + 93e: 6cd7 mov r3, r5 + 940: 6dc3 mov r7, r0 + 942: 6d87 mov r6, r1 + 944: e0000384 bsr 0x104c // 104c <__subdf3> + 948: 6c83 mov r2, r0 + 94a: 6cc7 mov r3, r1 + 94c: 9803 ld.w r0, (r14, 0xc) + 94e: 6c53 mov r1, r4 + 950: e000037e bsr 0x104c // 104c <__subdf3> + 954: b802 st.w r0, (r14, 0x8) + 956: b823 st.w r1, (r14, 0xc) + 958: 6c9f mov r2, r7 + 95a: 6cdb mov r3, r6 + 95c: 6c1f mov r0, r7 + 95e: 6c5b mov r1, r6 + 960: e0000392 bsr 0x1084 // 1084 <__muldf3> + 964: 134f lrw r2, 0x72bea4d0 // b20 <__GI_pow+0x96c> + 966: 1370 lrw r3, 0x3e663769 // b24 <__GI_pow+0x970> + 968: 6d43 mov r5, r0 + 96a: 6d07 mov r4, r1 + 96c: e000038c bsr 0x1084 // 1084 <__muldf3> + 970: 134e lrw r2, 0xc5d26bf1 // b28 <__GI_pow+0x974> + 972: 136f lrw r3, 0x3ebbbd41 // b2c <__GI_pow+0x978> + 974: e000036c bsr 0x104c // 104c <__subdf3> + 978: 6c97 mov r2, r5 + 97a: 6cd3 mov r3, r4 + 97c: e0000384 bsr 0x1084 // 1084 <__muldf3> + 980: 134c lrw r2, 0xaf25de2c // b30 <__GI_pow+0x97c> + 982: 136d lrw r3, 0x3f11566a // b34 <__GI_pow+0x980> + 984: e000034c bsr 0x101c // 101c <__adddf3> + 988: 6c97 mov r2, r5 + 98a: 6cd3 mov r3, r4 + 98c: e000037c bsr 0x1084 // 1084 <__muldf3> + 990: 134a lrw r2, 0x16bebd93 // b38 <__GI_pow+0x984> + 992: 136b lrw r3, 0x3f66c16c // b3c <__GI_pow+0x988> + 994: e000035c bsr 0x104c // 104c <__subdf3> + 998: 6c97 mov r2, r5 + 99a: 6cd3 mov r3, r4 + 99c: e0000374 bsr 0x1084 // 1084 <__muldf3> + 9a0: 1348 lrw r2, 0x5555553e // b40 <__GI_pow+0x98c> + 9a2: 1369 lrw r3, 0x3fc55555 // b44 <__GI_pow+0x990> + 9a4: e000033c bsr 0x101c // 101c <__adddf3> + 9a8: 6c97 mov r2, r5 + 9aa: 6cd3 mov r3, r4 + 9ac: e000036c bsr 0x1084 // 1084 <__muldf3> + 9b0: 6c83 mov r2, r0 + 9b2: 6cc7 mov r3, r1 + 9b4: 6c1f mov r0, r7 + 9b6: 6c5b mov r1, r6 + 9b8: e000034a bsr 0x104c // 104c <__subdf3> + 9bc: 6d43 mov r5, r0 + 9be: 6d07 mov r4, r1 + 9c0: 6c83 mov r2, r0 + 9c2: 6cc7 mov r3, r1 + 9c4: 6c1f mov r0, r7 + 9c6: 6c5b mov r1, r6 + 9c8: e000035e bsr 0x1084 // 1084 <__muldf3> + 9cc: 3380 movi r3, 128 + 9ce: b804 st.w r0, (r14, 0x10) + 9d0: b825 st.w r1, (r14, 0x14) + 9d2: 3200 movi r2, 0 + 9d4: 4377 lsli r3, r3, 23 + 9d6: 6c17 mov r0, r5 + 9d8: 6c53 mov r1, r4 + 9da: e0000339 bsr 0x104c // 104c <__subdf3> + 9de: 6c83 mov r2, r0 + 9e0: 6cc7 mov r3, r1 + 9e2: 9804 ld.w r0, (r14, 0x10) + 9e4: 9825 ld.w r1, (r14, 0x14) + 9e6: e0000469 bsr 0x12b8 // 12b8 <__divdf3> + 9ea: 6d07 mov r4, r1 + 9ec: 6d43 mov r5, r0 + 9ee: 9842 ld.w r2, (r14, 0x8) + 9f0: 9863 ld.w r3, (r14, 0xc) + 9f2: 6c1f mov r0, r7 + 9f4: 6c5b mov r1, r6 + 9f6: e0000347 bsr 0x1084 // 1084 <__muldf3> + 9fa: 9842 ld.w r2, (r14, 0x8) + 9fc: 9863 ld.w r3, (r14, 0xc) + 9fe: e000030f bsr 0x101c // 101c <__adddf3> + a02: 6c83 mov r2, r0 + a04: 6cc7 mov r3, r1 + a06: 6c17 mov r0, r5 + a08: 6c53 mov r1, r4 + a0a: e0000321 bsr 0x104c // 104c <__subdf3> + a0e: 6c9f mov r2, r7 + a10: 6cdb mov r3, r6 + a12: e000031d bsr 0x104c // 104c <__subdf3> + a16: 6c83 mov r2, r0 + a18: 6cc7 mov r3, r1 + a1a: 3000 movi r0, 0 + a1c: 1135 lrw r1, 0x3ff00000 // af0 <__GI_pow+0x93c> + a1e: e0000317 bsr 0x104c // 104c <__subdf3> + a22: 9840 ld.w r2, (r14, 0x0) + a24: 4274 lsli r3, r2, 20 + a26: 60c4 addu r3, r1 + a28: 5394 asri r4, r3, 20 + a2a: 3c20 cmplti r4, 1 + a2c: 0c2f bf 0xa8a // a8a <__GI_pow+0x8d6> + a2e: 9840 ld.w r2, (r14, 0x0) + a30: e000009a bsr 0xb64 // b64 <__GI_scalbn> + a34: 3200 movi r2, 0 + a36: 9861 ld.w r3, (r14, 0x4) + a38: e800fc56 br 0x2e4 // 2e4 <__GI_pow+0x130> + a3c: 4401 lsli r0, r4, 1 + a3e: 4861 lsri r3, r0, 1 + a40: 1242 lrw r2, 0x4090cbff // b48 <__GI_pow+0x994> + a42: 64c9 cmplt r2, r3 + a44: 0f1f bf 0x882 // 882 <__GI_pow+0x6ce> + a46: 1222 lrw r1, 0x3f6f3400 // b4c <__GI_pow+0x998> + a48: 6050 addu r1, r4 + a4a: 9800 ld.w r0, (r14, 0x0) + a4c: 6c40 or r1, r0 + a4e: 3940 cmpnei r1, 0 + a50: 0c0b bf 0xa66 // a66 <__GI_pow+0x8b2> + a52: 1240 lrw r2, 0xc2f8f359 // b50 <__GI_pow+0x99c> + a54: 1260 lrw r3, 0x1a56e1f // b54 <__GI_pow+0x9a0> + a56: 3000 movi r0, 0 + a58: 9821 ld.w r1, (r14, 0x4) + a5a: e0000315 bsr 0x1084 // 1084 <__muldf3> + a5e: 115d lrw r2, 0xc2f8f359 // b50 <__GI_pow+0x99c> + a60: 117d lrw r3, 0x1a56e1f // b54 <__GI_pow+0x9a0> + a62: e800fc41 br 0x2e4 // 2e4 <__GI_pow+0x130> + a66: 9842 ld.w r2, (r14, 0x8) + a68: 6cd7 mov r3, r5 + a6a: 9800 ld.w r0, (r14, 0x0) + a6c: 6c53 mov r1, r4 + a6e: e00002ef bsr 0x104c // 104c <__subdf3> + a72: 6c83 mov r2, r0 + a74: 6cc7 mov r3, r1 + a76: 6c1f mov r0, r7 + a78: 6c5b mov r1, r6 + a7a: e0000505 bsr 0x1484 // 1484 <__ledf2> + a7e: 3820 cmplti r0, 1 + a80: 0f01 bf 0x882 // 882 <__GI_pow+0x6ce> + a82: 07e8 br 0xa52 // a52 <__GI_pow+0x89e> + a84: 3500 movi r5, 0 + a86: b8a0 st.w r5, (r14, 0x0) + a88: 0726 br 0x8d4 // 8d4 <__GI_pow+0x720> + a8a: 6c4f mov r1, r3 + a8c: 07d4 br 0xa34 // a34 <__GI_pow+0x880> + a8e: 3400 movi r4, 0 + a90: 1038 lrw r1, 0x3ff00000 // af0 <__GI_pow+0x93c> + a92: e800fbb5 br 0x1fc // 1fc <__GI_pow+0x48> + a96: 3400 movi r4, 0 + a98: 9820 ld.w r1, (r14, 0x0) + a9a: e800fbb1 br 0x1fc // 1fc <__GI_pow+0x48> + a9e: 6d1f mov r4, r7 + aa0: 6c5b mov r1, r6 + aa2: e800fbad br 0x1fc // 1fc <__GI_pow+0x48> + aa6: 0000 bkpt + aa8: 4a454eef .long 0x4a454eef + aac: 3fca7e28 .long 0x3fca7e28 + ab0: 93c9db65 .long 0x93c9db65 + ab4: 3fcd864a .long 0x3fcd864a + ab8: a91d4101 .long 0xa91d4101 + abc: 3fd17460 .long 0x3fd17460 + ac0: 518f264d .long 0x518f264d + ac4: 3fd55555 .long 0x3fd55555 + ac8: db6fabff .long 0xdb6fabff + acc: 3fdb6db6 .long 0x3fdb6db6 + ad0: 33333303 .long 0x33333303 + ad4: 3fe33333 .long 0x3fe33333 + ad8: 40080000 .long 0x40080000 + adc: 3feec709 .long 0x3feec709 + ae0: dc3a03fd .long 0xdc3a03fd + ae4: 145b01f5 .long 0x145b01f5 + ae8: be3e2fe0 .long 0xbe3e2fe0 + aec: 00005538 .long 0x00005538 + af0: 3ff00000 .long 0x3ff00000 + af4: 652b82fe .long 0x652b82fe + af8: 3c971547 .long 0x3c971547 + afc: 3fe00000 .long 0x3fe00000 + b00: fffffc02 .long 0xfffffc02 + b04: fffffc01 .long 0xfffffc01 + b08: 000fffff .long 0x000fffff + b0c: 3fe62e43 .long 0x3fe62e43 + b10: fefa39ef .long 0xfefa39ef + b14: 3fe62e42 .long 0x3fe62e42 + b18: 0ca86c39 .long 0x0ca86c39 + b1c: be205c61 .long 0xbe205c61 + b20: 72bea4d0 .long 0x72bea4d0 + b24: 3e663769 .long 0x3e663769 + b28: c5d26bf1 .long 0xc5d26bf1 + b2c: 3ebbbd41 .long 0x3ebbbd41 + b30: af25de2c .long 0xaf25de2c + b34: 3f11566a .long 0x3f11566a + b38: 16bebd93 .long 0x16bebd93 + b3c: 3f66c16c .long 0x3f66c16c + b40: 5555553e .long 0x5555553e + b44: 3fc55555 .long 0x3fc55555 + b48: 4090cbff .long 0x4090cbff + b4c: 3f6f3400 .long 0x3f6f3400 + b50: c2f8f359 .long 0xc2f8f359 + b54: 01a56e1f .long 0x01a56e1f + b58: 3300 movi r3, 0 + b5a: e800fb94 br 0x282 // 282 <__GI_pow+0xce> + +00000b5e <__GI_fabs>: + b5e: 4121 lsli r1, r1, 1 + b60: 4921 lsri r1, r1, 1 + b62: 783c jmp r15 + +00000b64 <__GI_scalbn>: + b64: 14c1 push r4 + b66: 6cc7 mov r3, r1 + b68: 6cc0 or r3, r0 + b6a: 3b40 cmpnei r3, 0 + b6c: 0c08 bf 0xb7c // b7c <__GI_scalbn+0x18> + b6e: 1065 lrw r3, 0x7ff00000 // b80 <__GI_scalbn+0x1c> + b70: 6d07 mov r4, r1 + b72: 690c and r4, r3 + b74: 4254 lsli r2, r2, 20 + b76: 6090 addu r2, r4 + b78: 684d andn r1, r3 + b7a: 6c48 or r1, r2 + b7c: 1481 pop r4 + b7e: 0000 bkpt + b80: 7ff00000 .long 0x7ff00000 + +00000b84 <__GI_sqrt>: + b84: 14d4 push r4-r7, r15 + b86: 1423 subi r14, r14, 12 + b88: 127a lrw r3, 0x7ff00000 // cf0 <__GI_sqrt+0x16c> + b8a: 6d43 mov r5, r0 + b8c: 6d07 mov r4, r1 + b8e: 6c07 mov r0, r1 + b90: 684c and r1, r3 + b92: 64c6 cmpne r1, r3 + b94: 6c97 mov r2, r5 + b96: 0812 bt 0xbba // bba <__GI_sqrt+0x36> + b98: 6cd3 mov r3, r4 + b9a: 6c17 mov r0, r5 + b9c: 6c53 mov r1, r4 + b9e: e0000273 bsr 0x1084 // 1084 <__muldf3> + ba2: 6c83 mov r2, r0 + ba4: 6cc7 mov r3, r1 + ba6: 6c17 mov r0, r5 + ba8: 6c53 mov r1, r4 + baa: e0000239 bsr 0x101c // 101c <__adddf3> + bae: 6d43 mov r5, r0 + bb0: 6d07 mov r4, r1 + bb2: 6c17 mov r0, r5 + bb4: 6c53 mov r1, r4 + bb6: 1403 addi r14, r14, 12 + bb8: 1494 pop r4-r7, r15 + bba: 3c20 cmplti r4, 1 + bbc: 0c13 bf 0xbe2 // be2 <__GI_sqrt+0x5e> + bbe: 4461 lsli r3, r4, 1 + bc0: 4b21 lsri r1, r3, 1 + bc2: 6c54 or r1, r5 + bc4: 3940 cmpnei r1, 0 + bc6: 0ff6 bf 0xbb2 // bb2 <__GI_sqrt+0x2e> + bc8: 3c40 cmpnei r4, 0 + bca: 0c0c bf 0xbe2 // be2 <__GI_sqrt+0x5e> + bcc: 6c97 mov r2, r5 + bce: 6cd3 mov r3, r4 + bd0: 6c17 mov r0, r5 + bd2: 6c53 mov r1, r4 + bd4: e000023c bsr 0x104c // 104c <__subdf3> + bd8: 6c83 mov r2, r0 + bda: 6cc7 mov r3, r1 + bdc: e000036e bsr 0x12b8 // 12b8 <__divdf3> + be0: 07e7 br 0xbae // bae <__GI_sqrt+0x2a> + be2: 5494 asri r4, r4, 20 + be4: 3c40 cmpnei r4, 0 + be6: 0812 bt 0xc0a // c0a <__GI_sqrt+0x86> + be8: 3840 cmpnei r0, 0 + bea: 0c76 bf 0xcd6 // cd6 <__GI_sqrt+0x152> + bec: 3580 movi r5, 128 + bee: 3300 movi r3, 0 + bf0: 452d lsli r1, r5, 13 + bf2: 6d83 mov r6, r0 + bf4: 6984 and r6, r1 + bf6: 3e40 cmpnei r6, 0 + bf8: 0c73 bf 0xcde // cde <__GI_sqrt+0x15a> + bfa: 5b23 subi r1, r3, 1 + bfc: 3620 movi r6, 32 + bfe: 6106 subu r4, r1 + c00: 618e subu r6, r3 + c02: 6c4b mov r1, r2 + c04: 7059 lsr r1, r6 + c06: 6c04 or r0, r1 + c08: 708c lsl r2, r3 + c0a: 117b lrw r3, 0xfffffc01 // cf4 <__GI_sqrt+0x170> + c0c: 610c addu r4, r3 + c0e: 3601 movi r6, 1 + c10: 400c lsli r0, r0, 12 + c12: 6990 and r6, r4 + c14: 480c lsri r0, r0, 12 + c16: 3e40 cmpnei r6, 0 + c18: 38b4 bseti r0, 20 + c1a: 0c05 bf 0xc24 // c24 <__GI_sqrt+0xa0> + c1c: 4a3f lsri r1, r2, 31 + c1e: 40a1 lsli r5, r0, 1 + c20: 5914 addu r0, r1, r5 + c22: 4241 lsli r2, r2, 1 + c24: 4a7f lsri r3, r2, 31 + c26: 60c0 addu r3, r0 + c28: 5481 asri r4, r4, 1 + c2a: 3680 movi r6, 128 + c2c: 3100 movi r1, 0 + c2e: 60c0 addu r3, r0 + c30: b882 st.w r4, (r14, 0x8) + c32: 4241 lsli r2, r2, 1 + c34: 3516 movi r5, 22 + c36: 460e lsli r0, r6, 14 + c38: b820 st.w r1, (r14, 0x0) + c3a: 5980 addu r4, r1, r0 + c3c: 650d cmplt r3, r4 + c3e: 0806 bt 0xc4a // c4a <__GI_sqrt+0xc6> + c40: 98c0 ld.w r6, (r14, 0x0) + c42: 6180 addu r6, r0 + c44: 5c20 addu r1, r4, r0 + c46: 60d2 subu r3, r4 + c48: b8c0 st.w r6, (r14, 0x0) + c4a: 2d00 subi r5, 1 + c4c: 4a9f lsri r4, r2, 31 + c4e: 4361 lsli r3, r3, 1 + c50: 3d40 cmpnei r5, 0 + c52: 60d0 addu r3, r4 + c54: 4241 lsli r2, r2, 1 + c56: 4801 lsri r0, r0, 1 + c58: 0bf1 bt 0xc3a // c3a <__GI_sqrt+0xb6> + c5a: 3620 movi r6, 32 + c5c: 3480 movi r4, 128 + c5e: 3000 movi r0, 0 + c60: b8c1 st.w r6, (r14, 0x4) + c62: 4498 lsli r4, r4, 24 + c64: 64c5 cmplt r1, r3 + c66: 5cd4 addu r6, r4, r5 + c68: 0805 bt 0xc72 // c72 <__GI_sqrt+0xee> + c6a: 644e cmpne r3, r1 + c6c: 0810 bt 0xc8c // c8c <__GI_sqrt+0x108> + c6e: 6588 cmphs r2, r6 + c70: 0c0e bf 0xc8c // c8c <__GI_sqrt+0x108> + c72: 3edf btsti r6, 31 + c74: 5eb0 addu r5, r6, r4 + c76: 0c37 bf 0xce4 // ce4 <__GI_sqrt+0x160> + c78: 3ddf btsti r5, 31 + c7a: 0835 bt 0xce4 // ce4 <__GI_sqrt+0x160> + c7c: 59e2 addi r7, r1, 1 + c7e: 6588 cmphs r2, r6 + c80: 60c6 subu r3, r1 + c82: 0802 bt 0xc86 // c86 <__GI_sqrt+0x102> + c84: 2b00 subi r3, 1 + c86: 609a subu r2, r6 + c88: 6010 addu r0, r4 + c8a: 6c5f mov r1, r7 + c8c: 4adf lsri r6, r2, 31 + c8e: 618c addu r6, r3 + c90: 60d8 addu r3, r6 + c92: 98c1 ld.w r6, (r14, 0x4) + c94: 2e00 subi r6, 1 + c96: 3e40 cmpnei r6, 0 + c98: 4241 lsli r2, r2, 1 + c9a: 4c81 lsri r4, r4, 1 + c9c: b8c1 st.w r6, (r14, 0x4) + c9e: 0be3 bt 0xc64 // c64 <__GI_sqrt+0xe0> + ca0: 6cc8 or r3, r2 + ca2: 3b40 cmpnei r3, 0 + ca4: 0c09 bf 0xcb6 // cb6 <__GI_sqrt+0x132> + ca6: 3300 movi r3, 0 + ca8: 2b00 subi r3, 1 + caa: 64c2 cmpne r0, r3 + cac: 081e bt 0xce8 // ce8 <__GI_sqrt+0x164> + cae: 9800 ld.w r0, (r14, 0x0) + cb0: 2000 addi r0, 1 + cb2: b800 st.w r0, (r14, 0x0) + cb4: 3000 movi r0, 0 + cb6: 3401 movi r4, 1 + cb8: 9860 ld.w r3, (r14, 0x0) + cba: 98a0 ld.w r5, (r14, 0x0) + cbc: 690c and r4, r3 + cbe: 5541 asri r2, r5, 1 + cc0: 102e lrw r1, 0x3fe00000 // cf8 <__GI_sqrt+0x174> + cc2: 3c40 cmpnei r4, 0 + cc4: 6048 addu r1, r2 + cc6: 4801 lsri r0, r0, 1 + cc8: 0c02 bf 0xccc // ccc <__GI_sqrt+0x148> + cca: 38bf bseti r0, 31 + ccc: 98a2 ld.w r5, (r14, 0x8) + cce: 4594 lsli r4, r5, 20 + cd0: 6104 addu r4, r1 + cd2: 6d43 mov r5, r0 + cd4: 076f br 0xbb2 // bb2 <__GI_sqrt+0x2e> + cd6: 4a0b lsri r0, r2, 11 + cd8: 2c14 subi r4, 21 + cda: 4255 lsli r2, r2, 21 + cdc: 0786 br 0xbe8 // be8 <__GI_sqrt+0x64> + cde: 4001 lsli r0, r0, 1 + ce0: 2300 addi r3, 1 + ce2: 0788 br 0xbf2 // bf2 <__GI_sqrt+0x6e> + ce4: 6dc7 mov r7, r1 + ce6: 07cc br 0xc7e // c7e <__GI_sqrt+0xfa> + ce8: 2000 addi r0, 1 + cea: 3880 bclri r0, 0 + cec: 07e5 br 0xcb6 // cb6 <__GI_sqrt+0x132> + cee: 0000 bkpt + cf0: 7ff00000 .long 0x7ff00000 + cf4: fffffc01 .long 0xfffffc01 + cf8: 3fe00000 .long 0x3fe00000 + +00000cfc <___gnu_csky_case_uqi>: + cfc: 1421 subi r14, r14, 4 + cfe: b820 st.w r1, (r14, 0x0) + d00: 6c7f mov r1, r15 + d02: 6040 addu r1, r0 + d04: 8120 ld.b r1, (r1, 0x0) + d06: 4121 lsli r1, r1, 1 + d08: 63c4 addu r15, r1 + d0a: 9820 ld.w r1, (r14, 0x0) + d0c: 1401 addi r14, r14, 4 + d0e: 783c jmp r15 + +00000d10 <__fixunsdfsi>: + d10: 14d2 push r4-r5, r15 + d12: 3200 movi r2, 0 + d14: 106c lrw r3, 0x41e00000 // d44 <__fixunsdfsi+0x34> + d16: 6d43 mov r5, r0 + d18: 6d07 mov r4, r1 + d1a: e0000397 bsr 0x1448 // 1448 <__gedf2> + d1e: 38df btsti r0, 31 + d20: 0c06 bf 0xd2c // d2c <__fixunsdfsi+0x1c> + d22: 6c17 mov r0, r5 + d24: 6c53 mov r1, r4 + d26: e0000405 bsr 0x1530 // 1530 <__fixdfsi> + d2a: 1492 pop r4-r5, r15 + d2c: 3200 movi r2, 0 + d2e: 1066 lrw r3, 0x41e00000 // d44 <__fixunsdfsi+0x34> + d30: 6c17 mov r0, r5 + d32: 6c53 mov r1, r4 + d34: e000018c bsr 0x104c // 104c <__subdf3> + d38: e00003fc bsr 0x1530 // 1530 <__fixdfsi> + d3c: 3380 movi r3, 128 + d3e: 4378 lsli r3, r3, 24 + d40: 600c addu r0, r3 + d42: 1492 pop r4-r5, r15 + d44: 41e00000 .long 0x41e00000 + +00000d48 <_fpadd_parts>: + d48: 14c4 push r4-r7 + d4a: 142a subi r14, r14, 40 + d4c: 9060 ld.w r3, (r0, 0x0) + d4e: 3b01 cmphsi r3, 2 + d50: 6dcb mov r7, r2 + d52: 0c67 bf 0xe20 // e20 <_fpadd_parts+0xd8> + d54: 9140 ld.w r2, (r1, 0x0) + d56: 3a01 cmphsi r2, 2 + d58: 0c66 bf 0xe24 // e24 <_fpadd_parts+0xdc> + d5a: 3b44 cmpnei r3, 4 + d5c: 0cde bf 0xf18 // f18 <_fpadd_parts+0x1d0> + d5e: 3a44 cmpnei r2, 4 + d60: 0c62 bf 0xe24 // e24 <_fpadd_parts+0xdc> + d62: 3a42 cmpnei r2, 2 + d64: 0cb7 bf 0xed2 // ed2 <_fpadd_parts+0x18a> + d66: 3b42 cmpnei r3, 2 + d68: 0c5e bf 0xe24 // e24 <_fpadd_parts+0xdc> + d6a: 9043 ld.w r2, (r0, 0xc) + d6c: 9064 ld.w r3, (r0, 0x10) + d6e: 9082 ld.w r4, (r0, 0x8) + d70: 91a2 ld.w r5, (r1, 0x8) + d72: b842 st.w r2, (r14, 0x8) + d74: b863 st.w r3, (r14, 0xc) + d76: 9143 ld.w r2, (r1, 0xc) + d78: 9164 ld.w r3, (r1, 0x10) + d7a: b840 st.w r2, (r14, 0x0) + d7c: b861 st.w r3, (r14, 0x4) + d7e: 5c75 subu r3, r4, r5 + d80: 3bdf btsti r3, 31 + d82: 6c8f mov r2, r3 + d84: 08d2 bt 0xf28 // f28 <_fpadd_parts+0x1e0> + d86: 363f movi r6, 63 + d88: 6499 cmplt r6, r2 + d8a: 0c50 bf 0xe2a // e2a <_fpadd_parts+0xe2> + d8c: 6515 cmplt r5, r4 + d8e: 0cbf bf 0xf0c // f0c <_fpadd_parts+0x1c4> + d90: 3200 movi r2, 0 + d92: 3300 movi r3, 0 + d94: b840 st.w r2, (r14, 0x0) + d96: b861 st.w r3, (r14, 0x4) + d98: 9061 ld.w r3, (r0, 0x4) + d9a: 9141 ld.w r2, (r1, 0x4) + d9c: 648e cmpne r3, r2 + d9e: 0c78 bf 0xe8e // e8e <_fpadd_parts+0x146> + da0: 3b40 cmpnei r3, 0 + da2: 0cad bf 0xefc // efc <_fpadd_parts+0x1b4> + da4: 9800 ld.w r0, (r14, 0x0) + da6: 9821 ld.w r1, (r14, 0x4) + da8: 9842 ld.w r2, (r14, 0x8) + daa: 9863 ld.w r3, (r14, 0xc) + dac: 6400 cmphs r0, r0 + dae: 600b subc r0, r2 + db0: 604f subc r1, r3 + db2: 39df btsti r1, 31 + db4: 08bd bt 0xf2e // f2e <_fpadd_parts+0x1e6> + db6: 3300 movi r3, 0 + db8: b761 st.w r3, (r7, 0x4) + dba: b782 st.w r4, (r7, 0x8) + dbc: 6c83 mov r2, r0 + dbe: 6cc7 mov r3, r1 + dc0: b703 st.w r0, (r7, 0xc) + dc2: b724 st.w r1, (r7, 0x10) + dc4: 3000 movi r0, 0 + dc6: 3100 movi r1, 0 + dc8: 2800 subi r0, 1 + dca: 2900 subi r1, 1 + dcc: 6401 cmplt r0, r0 + dce: 6009 addc r0, r2 + dd0: 604d addc r1, r3 + dd2: 038f lrw r4, 0xfffffff // 1010 <_fpadd_parts+0x2c8> + dd4: 6450 cmphs r4, r1 + dd6: 0c67 bf 0xea4 // ea4 <_fpadd_parts+0x15c> + dd8: 6506 cmpne r1, r4 + dda: 0cfd bf 0xfd4 // fd4 <_fpadd_parts+0x28c> + ddc: 3000 movi r0, 0 + dde: 9722 ld.w r1, (r7, 0x8) + de0: 2801 subi r0, 2 + de2: 2900 subi r1, 1 + de4: 03d4 lrw r6, 0xfffffff // 1010 <_fpadd_parts+0x2c8> + de6: b802 st.w r0, (r14, 0x8) + de8: b8e0 st.w r7, (r14, 0x0) + dea: 0403 br 0xdf0 // df0 <_fpadd_parts+0xa8> + dec: 6596 cmpne r5, r6 + dee: 0c83 bf 0xef4 // ef4 <_fpadd_parts+0x1ac> + df0: 4301 lsli r0, r3, 1 + df2: 4a9f lsri r4, r2, 31 + df4: 6d00 or r4, r0 + df6: 42a1 lsli r5, r2, 1 + df8: 6c97 mov r2, r5 + dfa: 6cd3 mov r3, r4 + dfc: 3500 movi r5, 0 + dfe: 3400 movi r4, 0 + e00: 2c00 subi r4, 1 + e02: 2d00 subi r5, 1 + e04: 6511 cmplt r4, r4 + e06: 6109 addc r4, r2 + e08: 614d addc r5, r3 + e0a: 6558 cmphs r6, r5 + e0c: 6c07 mov r0, r1 + e0e: 2900 subi r1, 1 + e10: 0bee bt 0xdec // dec <_fpadd_parts+0xa4> + e12: 98e0 ld.w r7, (r14, 0x0) + e14: b743 st.w r2, (r7, 0xc) + e16: b764 st.w r3, (r7, 0x10) + e18: 3303 movi r3, 3 + e1a: b702 st.w r0, (r7, 0x8) + e1c: b760 st.w r3, (r7, 0x0) + e1e: 6c1f mov r0, r7 + e20: 140a addi r14, r14, 40 + e22: 1484 pop r4-r7 + e24: 6c07 mov r0, r1 + e26: 140a addi r14, r14, 40 + e28: 1484 pop r4-r7 + e2a: 3b20 cmplti r3, 1 + e2c: 088c bt 0xf44 // f44 <_fpadd_parts+0x1fc> + e2e: 3300 movi r3, 0 + e30: 2b1f subi r3, 32 + e32: 60c8 addu r3, r2 + e34: 3bdf btsti r3, 31 + e36: b866 st.w r3, (r14, 0x18) + e38: 08bb bt 0xfae // fae <_fpadd_parts+0x266> + e3a: 98a1 ld.w r5, (r14, 0x4) + e3c: 714d lsr r5, r3 + e3e: b8a4 st.w r5, (r14, 0x10) + e40: 3500 movi r5, 0 + e42: b8a5 st.w r5, (r14, 0x14) + e44: 9866 ld.w r3, (r14, 0x18) + e46: 3bdf btsti r3, 31 + e48: 3500 movi r5, 0 + e4a: 3600 movi r6, 0 + e4c: 08ad bt 0xfa6 // fa6 <_fpadd_parts+0x25e> + e4e: 3201 movi r2, 1 + e50: 708c lsl r2, r3 + e52: 6d8b mov r6, r2 + e54: 3200 movi r2, 0 + e56: 3300 movi r3, 0 + e58: 2a00 subi r2, 1 + e5a: 2b00 subi r3, 1 + e5c: 6489 cmplt r2, r2 + e5e: 6095 addc r2, r5 + e60: 60d9 addc r3, r6 + e62: 98a0 ld.w r5, (r14, 0x0) + e64: 98c1 ld.w r6, (r14, 0x4) + e66: 6948 and r5, r2 + e68: 698c and r6, r3 + e6a: 6c97 mov r2, r5 + e6c: 6cdb mov r3, r6 + e6e: 6c8c or r2, r3 + e70: 3a40 cmpnei r2, 0 + e72: 3500 movi r5, 0 + e74: 6155 addc r5, r5 + e76: 6c97 mov r2, r5 + e78: 3300 movi r3, 0 + e7a: 98a4 ld.w r5, (r14, 0x10) + e7c: 98c5 ld.w r6, (r14, 0x14) + e7e: 6d48 or r5, r2 + e80: 6d8c or r6, r3 + e82: 9061 ld.w r3, (r0, 0x4) + e84: 9141 ld.w r2, (r1, 0x4) + e86: 648e cmpne r3, r2 + e88: b8a0 st.w r5, (r14, 0x0) + e8a: b8c1 st.w r6, (r14, 0x4) + e8c: 0b8a bt 0xda0 // da0 <_fpadd_parts+0x58> + e8e: b761 st.w r3, (r7, 0x4) + e90: 9800 ld.w r0, (r14, 0x0) + e92: 9821 ld.w r1, (r14, 0x4) + e94: 9842 ld.w r2, (r14, 0x8) + e96: 9863 ld.w r3, (r14, 0xc) + e98: 6489 cmplt r2, r2 + e9a: 6081 addc r2, r0 + e9c: 60c5 addc r3, r1 + e9e: b782 st.w r4, (r7, 0x8) + ea0: b743 st.w r2, (r7, 0xc) + ea2: b764 st.w r3, (r7, 0x10) + ea4: 3103 movi r1, 3 + ea6: b720 st.w r1, (r7, 0x0) + ea8: 123b lrw r1, 0x1fffffff // 1014 <_fpadd_parts+0x2cc> + eaa: 64c4 cmphs r1, r3 + eac: 0810 bt 0xecc // ecc <_fpadd_parts+0x184> + eae: 439f lsli r4, r3, 31 + eb0: 4a01 lsri r0, r2, 1 + eb2: 6c10 or r0, r4 + eb4: 3500 movi r5, 0 + eb6: 3401 movi r4, 1 + eb8: 4b21 lsri r1, r3, 1 + eba: 6890 and r2, r4 + ebc: 68d4 and r3, r5 + ebe: 6c80 or r2, r0 + ec0: 6cc4 or r3, r1 + ec2: b743 st.w r2, (r7, 0xc) + ec4: b764 st.w r3, (r7, 0x10) + ec6: 9762 ld.w r3, (r7, 0x8) + ec8: 2300 addi r3, 1 + eca: b762 st.w r3, (r7, 0x8) + ecc: 6c1f mov r0, r7 + ece: 140a addi r14, r14, 40 + ed0: 1484 pop r4-r7 + ed2: 3b42 cmpnei r3, 2 + ed4: 0ba6 bt 0xe20 // e20 <_fpadd_parts+0xd8> + ed6: b760 st.w r3, (r7, 0x0) + ed8: 9061 ld.w r3, (r0, 0x4) + eda: b761 st.w r3, (r7, 0x4) + edc: 9062 ld.w r3, (r0, 0x8) + ede: b762 st.w r3, (r7, 0x8) + ee0: 9063 ld.w r3, (r0, 0xc) + ee2: b763 st.w r3, (r7, 0xc) + ee4: 9064 ld.w r3, (r0, 0x10) + ee6: 9141 ld.w r2, (r1, 0x4) + ee8: b764 st.w r3, (r7, 0x10) + eea: 9061 ld.w r3, (r0, 0x4) + eec: 68c8 and r3, r2 + eee: b761 st.w r3, (r7, 0x4) + ef0: 6c1f mov r0, r7 + ef2: 0797 br 0xe20 // e20 <_fpadd_parts+0xd8> + ef4: 98e2 ld.w r7, (r14, 0x8) + ef6: 651c cmphs r7, r4 + ef8: 0b7c bt 0xdf0 // df0 <_fpadd_parts+0xa8> + efa: 078c br 0xe12 // e12 <_fpadd_parts+0xca> + efc: 9802 ld.w r0, (r14, 0x8) + efe: 9823 ld.w r1, (r14, 0xc) + f00: 9840 ld.w r2, (r14, 0x0) + f02: 9861 ld.w r3, (r14, 0x4) + f04: 6400 cmphs r0, r0 + f06: 600b subc r0, r2 + f08: 604f subc r1, r3 + f0a: 0754 br 0xdb2 // db2 <_fpadd_parts+0x6a> + f0c: 3200 movi r2, 0 + f0e: 3300 movi r3, 0 + f10: 6d17 mov r4, r5 + f12: b842 st.w r2, (r14, 0x8) + f14: b863 st.w r3, (r14, 0xc) + f16: 0741 br 0xd98 // d98 <_fpadd_parts+0x50> + f18: 3a44 cmpnei r2, 4 + f1a: 0b83 bt 0xe20 // e20 <_fpadd_parts+0xd8> + f1c: 9041 ld.w r2, (r0, 0x4) + f1e: 9161 ld.w r3, (r1, 0x4) + f20: 64ca cmpne r2, r3 + f22: 0f7f bf 0xe20 // e20 <_fpadd_parts+0xd8> + f24: 111d lrw r0, 0x5568 // 1018 <_fpadd_parts+0x2d0> + f26: 077d br 0xe20 // e20 <_fpadd_parts+0xd8> + f28: 3200 movi r2, 0 + f2a: 608e subu r2, r3 + f2c: 072d br 0xd86 // d86 <_fpadd_parts+0x3e> + f2e: 3301 movi r3, 1 + f30: b761 st.w r3, (r7, 0x4) + f32: 3200 movi r2, 0 + f34: 3300 movi r3, 0 + f36: 6488 cmphs r2, r2 + f38: 6083 subc r2, r0 + f3a: 60c7 subc r3, r1 + f3c: b782 st.w r4, (r7, 0x8) + f3e: b743 st.w r2, (r7, 0xc) + f40: b764 st.w r3, (r7, 0x10) + f42: 0741 br 0xdc4 // dc4 <_fpadd_parts+0x7c> + f44: 3b40 cmpnei r3, 0 + f46: 0f29 bf 0xd98 // d98 <_fpadd_parts+0x50> + f48: 3300 movi r3, 0 + f4a: 2b1f subi r3, 32 + f4c: 60c8 addu r3, r2 + f4e: 3bdf btsti r3, 31 + f50: 6108 addu r4, r2 + f52: b866 st.w r3, (r14, 0x18) + f54: 0849 bt 0xfe6 // fe6 <_fpadd_parts+0x29e> + f56: 9863 ld.w r3, (r14, 0xc) + f58: 98a6 ld.w r5, (r14, 0x18) + f5a: 70d5 lsr r3, r5 + f5c: b864 st.w r3, (r14, 0x10) + f5e: 3300 movi r3, 0 + f60: b865 st.w r3, (r14, 0x14) + f62: 9866 ld.w r3, (r14, 0x18) + f64: 3bdf btsti r3, 31 + f66: 3500 movi r5, 0 + f68: 3600 movi r6, 0 + f6a: 083a bt 0xfde // fde <_fpadd_parts+0x296> + f6c: 3201 movi r2, 1 + f6e: 708c lsl r2, r3 + f70: 6d8b mov r6, r2 + f72: 3200 movi r2, 0 + f74: 3300 movi r3, 0 + f76: 2a00 subi r2, 1 + f78: 2b00 subi r3, 1 + f7a: 6489 cmplt r2, r2 + f7c: 6095 addc r2, r5 + f7e: 60d9 addc r3, r6 + f80: 98a2 ld.w r5, (r14, 0x8) + f82: 98c3 ld.w r6, (r14, 0xc) + f84: 6948 and r5, r2 + f86: 698c and r6, r3 + f88: 6c97 mov r2, r5 + f8a: 6cdb mov r3, r6 + f8c: 6c8c or r2, r3 + f8e: 3a40 cmpnei r2, 0 + f90: 3500 movi r5, 0 + f92: 6155 addc r5, r5 + f94: 6c97 mov r2, r5 + f96: 3300 movi r3, 0 + f98: 98a4 ld.w r5, (r14, 0x10) + f9a: 98c5 ld.w r6, (r14, 0x14) + f9c: 6d48 or r5, r2 + f9e: 6d8c or r6, r3 + fa0: b8a2 st.w r5, (r14, 0x8) + fa2: b8c3 st.w r6, (r14, 0xc) + fa4: 06fa br 0xd98 // d98 <_fpadd_parts+0x50> + fa6: 3301 movi r3, 1 + fa8: 70c8 lsl r3, r2 + faa: 6d4f mov r5, r3 + fac: 0754 br 0xe54 // e54 <_fpadd_parts+0x10c> + fae: 9861 ld.w r3, (r14, 0x4) + fb0: 361f movi r6, 31 + fb2: 43a1 lsli r5, r3, 1 + fb4: 618a subu r6, r2 + fb6: 7158 lsl r5, r6 + fb8: b8a9 st.w r5, (r14, 0x24) + fba: 98a0 ld.w r5, (r14, 0x0) + fbc: 98c1 ld.w r6, (r14, 0x4) + fbe: b8a7 st.w r5, (r14, 0x1c) + fc0: b8c8 st.w r6, (r14, 0x20) + fc2: 9867 ld.w r3, (r14, 0x1c) + fc4: 70c9 lsr r3, r2 + fc6: 98a9 ld.w r5, (r14, 0x24) + fc8: 6cd4 or r3, r5 + fca: b864 st.w r3, (r14, 0x10) + fcc: 9868 ld.w r3, (r14, 0x20) + fce: 70c9 lsr r3, r2 + fd0: b865 st.w r3, (r14, 0x14) + fd2: 0739 br 0xe44 // e44 <_fpadd_parts+0xfc> + fd4: 3100 movi r1, 0 + fd6: 2901 subi r1, 2 + fd8: 6404 cmphs r1, r0 + fda: 0b01 bt 0xddc // ddc <_fpadd_parts+0x94> + fdc: 0764 br 0xea4 // ea4 <_fpadd_parts+0x15c> + fde: 3301 movi r3, 1 + fe0: 70c8 lsl r3, r2 + fe2: 6d4f mov r5, r3 + fe4: 07c7 br 0xf72 // f72 <_fpadd_parts+0x22a> + fe6: 9863 ld.w r3, (r14, 0xc) + fe8: 43c1 lsli r6, r3, 1 + fea: 351f movi r5, 31 + fec: 5d69 subu r3, r5, r2 + fee: 6d5b mov r5, r6 + ff0: 714c lsl r5, r3 + ff2: b8a9 st.w r5, (r14, 0x24) + ff4: 98a2 ld.w r5, (r14, 0x8) + ff6: 98c3 ld.w r6, (r14, 0xc) + ff8: b8a7 st.w r5, (r14, 0x1c) + ffa: b8c8 st.w r6, (r14, 0x20) + ffc: 9867 ld.w r3, (r14, 0x1c) + ffe: 70c9 lsr r3, r2 + 1000: 98a9 ld.w r5, (r14, 0x24) + 1002: 6cd4 or r3, r5 + 1004: b864 st.w r3, (r14, 0x10) + 1006: 9868 ld.w r3, (r14, 0x20) + 1008: 70c9 lsr r3, r2 + 100a: b865 st.w r3, (r14, 0x14) + 100c: 07ab br 0xf62 // f62 <_fpadd_parts+0x21a> + 100e: 0000 bkpt + 1010: 0fffffff .long 0x0fffffff + 1014: 1fffffff .long 0x1fffffff + 1018: 00005568 .long 0x00005568 + +0000101c <__adddf3>: + 101c: 14d0 push r15 + 101e: 1433 subi r14, r14, 76 + 1020: b800 st.w r0, (r14, 0x0) + 1022: b821 st.w r1, (r14, 0x4) + 1024: 6c3b mov r0, r14 + 1026: 1904 addi r1, r14, 16 + 1028: b863 st.w r3, (r14, 0xc) + 102a: b842 st.w r2, (r14, 0x8) + 102c: e00003f4 bsr 0x1814 // 1814 <__unpack_d> + 1030: 1909 addi r1, r14, 36 + 1032: 1802 addi r0, r14, 8 + 1034: e00003f0 bsr 0x1814 // 1814 <__unpack_d> + 1038: 1a0e addi r2, r14, 56 + 103a: 1909 addi r1, r14, 36 + 103c: 1804 addi r0, r14, 16 + 103e: e3fffe85 bsr 0xd48 // d48 <_fpadd_parts> + 1042: e000031b bsr 0x1678 // 1678 <__pack_d> + 1046: 1413 addi r14, r14, 76 + 1048: 1490 pop r15 + ... + +0000104c <__subdf3>: + 104c: 14d0 push r15 + 104e: 1433 subi r14, r14, 76 + 1050: b800 st.w r0, (r14, 0x0) + 1052: b821 st.w r1, (r14, 0x4) + 1054: 6c3b mov r0, r14 + 1056: 1904 addi r1, r14, 16 + 1058: b842 st.w r2, (r14, 0x8) + 105a: b863 st.w r3, (r14, 0xc) + 105c: e00003dc bsr 0x1814 // 1814 <__unpack_d> + 1060: 1909 addi r1, r14, 36 + 1062: 1802 addi r0, r14, 8 + 1064: e00003d8 bsr 0x1814 // 1814 <__unpack_d> + 1068: 986a ld.w r3, (r14, 0x28) + 106a: 3201 movi r2, 1 + 106c: 6cc9 xor r3, r2 + 106e: 1909 addi r1, r14, 36 + 1070: 1a0e addi r2, r14, 56 + 1072: 1804 addi r0, r14, 16 + 1074: b86a st.w r3, (r14, 0x28) + 1076: e3fffe69 bsr 0xd48 // d48 <_fpadd_parts> + 107a: e00002ff bsr 0x1678 // 1678 <__pack_d> + 107e: 1413 addi r14, r14, 76 + 1080: 1490 pop r15 + ... + +00001084 <__muldf3>: + 1084: 14d4 push r4-r7, r15 + 1086: 143b subi r14, r14, 108 + 1088: b808 st.w r0, (r14, 0x20) + 108a: b829 st.w r1, (r14, 0x24) + 108c: 1808 addi r0, r14, 32 + 108e: 190c addi r1, r14, 48 + 1090: b86b st.w r3, (r14, 0x2c) + 1092: b84a st.w r2, (r14, 0x28) + 1094: e00003c0 bsr 0x1814 // 1814 <__unpack_d> + 1098: 1911 addi r1, r14, 68 + 109a: 180a addi r0, r14, 40 + 109c: e00003bc bsr 0x1814 // 1814 <__unpack_d> + 10a0: 986c ld.w r3, (r14, 0x30) + 10a2: 3b01 cmphsi r3, 2 + 10a4: 0cac bf 0x11fc // 11fc <__muldf3+0x178> + 10a6: 9851 ld.w r2, (r14, 0x44) + 10a8: 3a01 cmphsi r2, 2 + 10aa: 0c9c bf 0x11e2 // 11e2 <__muldf3+0x15e> + 10ac: 3b44 cmpnei r3, 4 + 10ae: 0ca5 bf 0x11f8 // 11f8 <__muldf3+0x174> + 10b0: 3a44 cmpnei r2, 4 + 10b2: 0c96 bf 0x11de // 11de <__muldf3+0x15a> + 10b4: 3b42 cmpnei r3, 2 + 10b6: 0ca3 bf 0x11fc // 11fc <__muldf3+0x178> + 10b8: 3a42 cmpnei r2, 2 + 10ba: 0c94 bf 0x11e2 // 11e2 <__muldf3+0x15e> + 10bc: 98ef ld.w r7, (r14, 0x3c) + 10be: 98b4 ld.w r5, (r14, 0x50) + 10c0: 9875 ld.w r3, (r14, 0x54) + 10c2: 6d8f mov r6, r3 + 10c4: 6c9f mov r2, r7 + 10c6: 3300 movi r3, 0 + 10c8: 6c17 mov r0, r5 + 10ca: 3100 movi r1, 0 + 10cc: e0000294 bsr 0x15f4 // 15f4 <__muldi3> + 10d0: b804 st.w r0, (r14, 0x10) + 10d2: b825 st.w r1, (r14, 0x14) + 10d4: 6c9f mov r2, r7 + 10d6: 3300 movi r3, 0 + 10d8: 6c1b mov r0, r6 + 10da: 3100 movi r1, 0 + 10dc: 9890 ld.w r4, (r14, 0x40) + 10de: b8c2 st.w r6, (r14, 0x8) + 10e0: e000028a bsr 0x15f4 // 15f4 <__muldi3> + 10e4: 6d83 mov r6, r0 + 10e6: 6dc7 mov r7, r1 + 10e8: 9842 ld.w r2, (r14, 0x8) + 10ea: 3300 movi r3, 0 + 10ec: 6c13 mov r0, r4 + 10ee: 3100 movi r1, 0 + 10f0: e0000282 bsr 0x15f4 // 15f4 <__muldi3> + 10f4: b806 st.w r0, (r14, 0x18) + 10f6: b827 st.w r1, (r14, 0x1c) + 10f8: 6c97 mov r2, r5 + 10fa: 3300 movi r3, 0 + 10fc: 6c13 mov r0, r4 + 10fe: 3100 movi r1, 0 + 1100: e000027a bsr 0x15f4 // 15f4 <__muldi3> + 1104: 6401 cmplt r0, r0 + 1106: 6019 addc r0, r6 + 1108: 605d addc r1, r7 + 110a: 65c4 cmphs r1, r7 + 110c: 0c91 bf 0x122e // 122e <__muldf3+0x1aa> + 110e: 645e cmpne r7, r1 + 1110: 0c8d bf 0x122a // 122a <__muldf3+0x1a6> + 1112: 3300 movi r3, 0 + 1114: 3400 movi r4, 0 + 1116: b862 st.w r3, (r14, 0x8) + 1118: b883 st.w r4, (r14, 0xc) + 111a: 9884 ld.w r4, (r14, 0x10) + 111c: 98a5 ld.w r5, (r14, 0x14) + 111e: 3600 movi r6, 0 + 1120: 6dc3 mov r7, r0 + 1122: 6c93 mov r2, r4 + 1124: 6cd7 mov r3, r5 + 1126: 6489 cmplt r2, r2 + 1128: 6099 addc r2, r6 + 112a: 60dd addc r3, r7 + 112c: 6d8b mov r6, r2 + 112e: 6dcf mov r7, r3 + 1130: 6c93 mov r2, r4 + 1132: 6cd7 mov r3, r5 + 1134: 64dc cmphs r7, r3 + 1136: 0c70 bf 0x1216 // 1216 <__muldf3+0x192> + 1138: 65ce cmpne r3, r7 + 113a: 0c6c bf 0x1212 // 1212 <__muldf3+0x18e> + 113c: 6c87 mov r2, r1 + 113e: 3300 movi r3, 0 + 1140: 9806 ld.w r0, (r14, 0x18) + 1142: 9827 ld.w r1, (r14, 0x1c) + 1144: 6401 cmplt r0, r0 + 1146: 6009 addc r0, r2 + 1148: 604d addc r1, r3 + 114a: 6c83 mov r2, r0 + 114c: 6cc7 mov r3, r1 + 114e: 9802 ld.w r0, (r14, 0x8) + 1150: 9823 ld.w r1, (r14, 0xc) + 1152: 6401 cmplt r0, r0 + 1154: 6009 addc r0, r2 + 1156: 604d addc r1, r3 + 1158: 6c83 mov r2, r0 + 115a: 6cc7 mov r3, r1 + 115c: 988e ld.w r4, (r14, 0x38) + 115e: 9833 ld.w r1, (r14, 0x4c) + 1160: 6104 addu r4, r1 + 1162: 5c2e addi r1, r4, 4 + 1164: b838 st.w r1, (r14, 0x60) + 1166: 980d ld.w r0, (r14, 0x34) + 1168: 9832 ld.w r1, (r14, 0x48) + 116a: 6442 cmpne r0, r1 + 116c: 12b0 lrw r5, 0x1fffffff // 12ac <__muldf3+0x228> + 116e: 3100 movi r1, 0 + 1170: 6045 addc r1, r1 + 1172: 64d4 cmphs r5, r3 + 1174: b837 st.w r1, (r14, 0x5c) + 1176: 0879 bt 0x1268 // 1268 <__muldf3+0x1e4> + 1178: 2404 addi r4, 5 + 117a: b8a4 st.w r5, (r14, 0x10) + 117c: 3001 movi r0, 1 + 117e: 3100 movi r1, 0 + 1180: 6808 and r0, r2 + 1182: 684c and r1, r3 + 1184: 6c04 or r0, r1 + 1186: 3840 cmpnei r0, 0 + 1188: b882 st.w r4, (r14, 0x8) + 118a: 0c0e bf 0x11a6 // 11a6 <__muldf3+0x122> + 118c: 473f lsli r1, r7, 31 + 118e: 4e01 lsri r0, r6, 1 + 1190: 6c04 or r0, r1 + 1192: 4f21 lsri r1, r7, 1 + 1194: b800 st.w r0, (r14, 0x0) + 1196: b821 st.w r1, (r14, 0x4) + 1198: 3180 movi r1, 128 + 119a: 98c0 ld.w r6, (r14, 0x0) + 119c: 98e1 ld.w r7, (r14, 0x4) + 119e: 3000 movi r0, 0 + 11a0: 4138 lsli r1, r1, 24 + 11a2: 6d80 or r6, r0 + 11a4: 6dc4 or r7, r1 + 11a6: 4b21 lsri r1, r3, 1 + 11a8: 43bf lsli r5, r3, 31 + 11aa: 4a01 lsri r0, r2, 1 + 11ac: 6cc7 mov r3, r1 + 11ae: 9824 ld.w r1, (r14, 0x10) + 11b0: 6d40 or r5, r0 + 11b2: 64c4 cmphs r1, r3 + 11b4: 6c97 mov r2, r5 + 11b6: 2400 addi r4, 1 + 11b8: 0fe2 bf 0x117c // 117c <__muldf3+0xf8> + 11ba: 9822 ld.w r1, (r14, 0x8) + 11bc: b838 st.w r1, (r14, 0x60) + 11be: 30ff movi r0, 255 + 11c0: 3100 movi r1, 0 + 11c2: 6808 and r0, r2 + 11c4: 684c and r1, r3 + 11c6: 3480 movi r4, 128 + 11c8: 6502 cmpne r0, r4 + 11ca: 0c37 bf 0x1238 // 1238 <__muldf3+0x1b4> + 11cc: b859 st.w r2, (r14, 0x64) + 11ce: b87a st.w r3, (r14, 0x68) + 11d0: 3303 movi r3, 3 + 11d2: b876 st.w r3, (r14, 0x58) + 11d4: 1816 addi r0, r14, 88 + 11d6: e0000251 bsr 0x1678 // 1678 <__pack_d> + 11da: 141b addi r14, r14, 108 + 11dc: 1494 pop r4-r7, r15 + 11de: 3b42 cmpnei r3, 2 + 11e0: 0c42 bf 0x1264 // 1264 <__muldf3+0x1e0> + 11e2: 9872 ld.w r3, (r14, 0x48) + 11e4: 984d ld.w r2, (r14, 0x34) + 11e6: 64ca cmpne r2, r3 + 11e8: 3300 movi r3, 0 + 11ea: 60cd addc r3, r3 + 11ec: 1811 addi r0, r14, 68 + 11ee: b872 st.w r3, (r14, 0x48) + 11f0: e0000244 bsr 0x1678 // 1678 <__pack_d> + 11f4: 141b addi r14, r14, 108 + 11f6: 1494 pop r4-r7, r15 + 11f8: 3a42 cmpnei r2, 2 + 11fa: 0c35 bf 0x1264 // 1264 <__muldf3+0x1e0> + 11fc: 984d ld.w r2, (r14, 0x34) + 11fe: 9872 ld.w r3, (r14, 0x48) + 1200: 64ca cmpne r2, r3 + 1202: 3300 movi r3, 0 + 1204: 60cd addc r3, r3 + 1206: 180c addi r0, r14, 48 + 1208: b86d st.w r3, (r14, 0x34) + 120a: e0000237 bsr 0x1678 // 1678 <__pack_d> + 120e: 141b addi r14, r14, 108 + 1210: 1494 pop r4-r7, r15 + 1212: 6498 cmphs r6, r2 + 1214: 0b94 bt 0x113c // 113c <__muldf3+0xb8> + 1216: 9882 ld.w r4, (r14, 0x8) + 1218: 98a3 ld.w r5, (r14, 0xc) + 121a: 3201 movi r2, 1 + 121c: 3300 movi r3, 0 + 121e: 6511 cmplt r4, r4 + 1220: 6109 addc r4, r2 + 1222: 614d addc r5, r3 + 1224: b882 st.w r4, (r14, 0x8) + 1226: b8a3 st.w r5, (r14, 0xc) + 1228: 078a br 0x113c // 113c <__muldf3+0xb8> + 122a: 6580 cmphs r0, r6 + 122c: 0b73 bt 0x1112 // 1112 <__muldf3+0x8e> + 122e: 3300 movi r3, 0 + 1230: 3401 movi r4, 1 + 1232: b862 st.w r3, (r14, 0x8) + 1234: b883 st.w r4, (r14, 0xc) + 1236: 0772 br 0x111a // 111a <__muldf3+0x96> + 1238: 3940 cmpnei r1, 0 + 123a: 0bc9 bt 0x11cc // 11cc <__muldf3+0x148> + 123c: 3180 movi r1, 128 + 123e: 4121 lsli r1, r1, 1 + 1240: 6848 and r1, r2 + 1242: 3940 cmpnei r1, 0 + 1244: 0bc4 bt 0x11cc // 11cc <__muldf3+0x148> + 1246: 6c5b mov r1, r6 + 1248: 6c5c or r1, r7 + 124a: 3940 cmpnei r1, 0 + 124c: 0fc0 bf 0x11cc // 11cc <__muldf3+0x148> + 124e: 3080 movi r0, 128 + 1250: 3100 movi r1, 0 + 1252: 6401 cmplt r0, r0 + 1254: 6009 addc r0, r2 + 1256: 604d addc r1, r3 + 1258: 34ff movi r4, 255 + 125a: 6d43 mov r5, r0 + 125c: 6951 andn r5, r4 + 125e: 6c97 mov r2, r5 + 1260: 6cc7 mov r3, r1 + 1262: 07b5 br 0x11cc // 11cc <__muldf3+0x148> + 1264: 1013 lrw r0, 0x5568 // 12b0 <__muldf3+0x22c> + 1266: 07b8 br 0x11d6 // 11d6 <__muldf3+0x152> + 1268: 1033 lrw r1, 0xfffffff // 12b4 <__muldf3+0x230> + 126a: 64c4 cmphs r1, r3 + 126c: 0fa9 bf 0x11be // 11be <__muldf3+0x13a> + 126e: 2402 addi r4, 3 + 1270: b822 st.w r1, (r14, 0x8) + 1272: 4a1f lsri r0, r2, 31 + 1274: 4321 lsli r1, r3, 1 + 1276: 42a1 lsli r5, r2, 1 + 1278: 6c04 or r0, r1 + 127a: 3fdf btsti r7, 31 + 127c: b880 st.w r4, (r14, 0x0) + 127e: 6c97 mov r2, r5 + 1280: 6cc3 mov r3, r0 + 1282: 0c07 bf 0x1290 // 1290 <__muldf3+0x20c> + 1284: 3001 movi r0, 1 + 1286: 3100 movi r1, 0 + 1288: 6c08 or r0, r2 + 128a: 6c4c or r1, r3 + 128c: 6c83 mov r2, r0 + 128e: 6cc7 mov r3, r1 + 1290: 4721 lsli r1, r7, 1 + 1292: 4e1f lsri r0, r6, 31 + 1294: 6c04 or r0, r1 + 1296: 9822 ld.w r1, (r14, 0x8) + 1298: 46a1 lsli r5, r6, 1 + 129a: 64c4 cmphs r1, r3 + 129c: 6d97 mov r6, r5 + 129e: 6dc3 mov r7, r0 + 12a0: 2c00 subi r4, 1 + 12a2: 0be8 bt 0x1272 // 1272 <__muldf3+0x1ee> + 12a4: 9820 ld.w r1, (r14, 0x0) + 12a6: b838 st.w r1, (r14, 0x60) + 12a8: 078b br 0x11be // 11be <__muldf3+0x13a> + 12aa: 0000 bkpt + 12ac: 1fffffff .long 0x1fffffff + 12b0: 00005568 .long 0x00005568 + 12b4: 0fffffff .long 0x0fffffff + +000012b8 <__divdf3>: + 12b8: 14d4 push r4-r7, r15 + 12ba: 1432 subi r14, r14, 72 + 12bc: b804 st.w r0, (r14, 0x10) + 12be: b825 st.w r1, (r14, 0x14) + 12c0: 1804 addi r0, r14, 16 + 12c2: 1908 addi r1, r14, 32 + 12c4: b867 st.w r3, (r14, 0x1c) + 12c6: b846 st.w r2, (r14, 0x18) + 12c8: e00002a6 bsr 0x1814 // 1814 <__unpack_d> + 12cc: 190d addi r1, r14, 52 + 12ce: 1806 addi r0, r14, 24 + 12d0: e00002a2 bsr 0x1814 // 1814 <__unpack_d> + 12d4: 9868 ld.w r3, (r14, 0x20) + 12d6: 3b01 cmphsi r3, 2 + 12d8: 0c66 bf 0x13a4 // 13a4 <__divdf3+0xec> + 12da: 982d ld.w r1, (r14, 0x34) + 12dc: 3901 cmphsi r1, 2 + 12de: 0c92 bf 0x1402 // 1402 <__divdf3+0x14a> + 12e0: 9849 ld.w r2, (r14, 0x24) + 12e2: 980e ld.w r0, (r14, 0x38) + 12e4: 6c81 xor r2, r0 + 12e6: 3b44 cmpnei r3, 4 + 12e8: b849 st.w r2, (r14, 0x24) + 12ea: 0c62 bf 0x13ae // 13ae <__divdf3+0xf6> + 12ec: 3b42 cmpnei r3, 2 + 12ee: 0c60 bf 0x13ae // 13ae <__divdf3+0xf6> + 12f0: 3944 cmpnei r1, 4 + 12f2: 0c62 bf 0x13b6 // 13b6 <__divdf3+0xfe> + 12f4: 3942 cmpnei r1, 2 + 12f6: 0c82 bf 0x13fa // 13fa <__divdf3+0x142> + 12f8: 982a ld.w r1, (r14, 0x28) + 12fa: 986f ld.w r3, (r14, 0x3c) + 12fc: 604e subu r1, r3 + 12fe: 9890 ld.w r4, (r14, 0x40) + 1300: 98b1 ld.w r5, (r14, 0x44) + 1302: 984b ld.w r2, (r14, 0x2c) + 1304: 986c ld.w r3, (r14, 0x30) + 1306: 654c cmphs r3, r5 + 1308: b82a st.w r1, (r14, 0x28) + 130a: 6d93 mov r6, r4 + 130c: 6dd7 mov r7, r5 + 130e: 0c05 bf 0x1318 // 1318 <__divdf3+0x60> + 1310: 64d6 cmpne r5, r3 + 1312: 080b bt 0x1328 // 1328 <__divdf3+0x70> + 1314: 6508 cmphs r2, r4 + 1316: 0809 bt 0x1328 // 1328 <__divdf3+0x70> + 1318: 4a9f lsri r4, r2, 31 + 131a: 4301 lsli r0, r3, 1 + 131c: 42a1 lsli r5, r2, 1 + 131e: 6d00 or r4, r0 + 1320: 2900 subi r1, 1 + 1322: 6c97 mov r2, r5 + 1324: 6cd3 mov r3, r4 + 1326: b82a st.w r1, (r14, 0x28) + 1328: 3000 movi r0, 0 + 132a: 3100 movi r1, 0 + 132c: b802 st.w r0, (r14, 0x8) + 132e: b823 st.w r1, (r14, 0xc) + 1330: 3180 movi r1, 128 + 1332: 343d movi r4, 61 + 1334: 3000 movi r0, 0 + 1336: 4135 lsli r1, r1, 21 + 1338: b8c0 st.w r6, (r14, 0x0) + 133a: b8e1 st.w r7, (r14, 0x4) + 133c: 98a0 ld.w r5, (r14, 0x0) + 133e: 98c1 ld.w r6, (r14, 0x4) + 1340: 658c cmphs r3, r6 + 1342: 0c10 bf 0x1362 // 1362 <__divdf3+0xaa> + 1344: 64da cmpne r6, r3 + 1346: 0803 bt 0x134c // 134c <__divdf3+0x94> + 1348: 6548 cmphs r2, r5 + 134a: 0c0c bf 0x1362 // 1362 <__divdf3+0xaa> + 134c: 98a2 ld.w r5, (r14, 0x8) + 134e: 98c3 ld.w r6, (r14, 0xc) + 1350: 6d40 or r5, r0 + 1352: 6d84 or r6, r1 + 1354: b8a2 st.w r5, (r14, 0x8) + 1356: b8c3 st.w r6, (r14, 0xc) + 1358: 98a0 ld.w r5, (r14, 0x0) + 135a: 98c1 ld.w r6, (r14, 0x4) + 135c: 6488 cmphs r2, r2 + 135e: 6097 subc r2, r5 + 1360: 60db subc r3, r6 + 1362: 41bf lsli r5, r1, 31 + 1364: 48e1 lsri r7, r0, 1 + 1366: 6d97 mov r6, r5 + 1368: 49a1 lsri r5, r1, 1 + 136a: 6d9c or r6, r7 + 136c: 6c57 mov r1, r5 + 136e: 4abf lsri r5, r2, 31 + 1370: 6c1b mov r0, r6 + 1372: 2c00 subi r4, 1 + 1374: 6d97 mov r6, r5 + 1376: 43a1 lsli r5, r3, 1 + 1378: 6d94 or r6, r5 + 137a: 4261 lsli r3, r2, 1 + 137c: 3c40 cmpnei r4, 0 + 137e: 6dcf mov r7, r3 + 1380: 6c8f mov r2, r3 + 1382: 6cdb mov r3, r6 + 1384: 0bdc bt 0x133c // 133c <__divdf3+0x84> + 1386: 30ff movi r0, 255 + 1388: 3100 movi r1, 0 + 138a: 9882 ld.w r4, (r14, 0x8) + 138c: 98a3 ld.w r5, (r14, 0xc) + 138e: 6900 and r4, r0 + 1390: 6944 and r5, r1 + 1392: 6c13 mov r0, r4 + 1394: 6c57 mov r1, r5 + 1396: 3480 movi r4, 128 + 1398: 6502 cmpne r0, r4 + 139a: 0c15 bf 0x13c4 // 13c4 <__divdf3+0x10c> + 139c: 9862 ld.w r3, (r14, 0x8) + 139e: 9883 ld.w r4, (r14, 0xc) + 13a0: b86b st.w r3, (r14, 0x2c) + 13a2: b88c st.w r4, (r14, 0x30) + 13a4: 1808 addi r0, r14, 32 + 13a6: e0000169 bsr 0x1678 // 1678 <__pack_d> + 13aa: 1412 addi r14, r14, 72 + 13ac: 1494 pop r4-r7, r15 + 13ae: 644e cmpne r3, r1 + 13b0: 0bfa bt 0x13a4 // 13a4 <__divdf3+0xec> + 13b2: 1016 lrw r0, 0x5568 // 1408 <__divdf3+0x150> + 13b4: 07f9 br 0x13a6 // 13a6 <__divdf3+0xee> + 13b6: 3300 movi r3, 0 + 13b8: 3400 movi r4, 0 + 13ba: b86b st.w r3, (r14, 0x2c) + 13bc: b88c st.w r4, (r14, 0x30) + 13be: b86a st.w r3, (r14, 0x28) + 13c0: 1808 addi r0, r14, 32 + 13c2: 07f2 br 0x13a6 // 13a6 <__divdf3+0xee> + 13c4: 3940 cmpnei r1, 0 + 13c6: 0beb bt 0x139c // 139c <__divdf3+0xe4> + 13c8: 3180 movi r1, 128 + 13ca: 4121 lsli r1, r1, 1 + 13cc: 9882 ld.w r4, (r14, 0x8) + 13ce: 98a3 ld.w r5, (r14, 0xc) + 13d0: 6850 and r1, r4 + 13d2: 3940 cmpnei r1, 0 + 13d4: 0be4 bt 0x139c // 139c <__divdf3+0xe4> + 13d6: 6c98 or r2, r6 + 13d8: 3a40 cmpnei r2, 0 + 13da: 0fe1 bf 0x139c // 139c <__divdf3+0xe4> + 13dc: 3280 movi r2, 128 + 13de: 3300 movi r3, 0 + 13e0: 6c13 mov r0, r4 + 13e2: 6c57 mov r1, r5 + 13e4: 6401 cmplt r0, r0 + 13e6: 6009 addc r0, r2 + 13e8: 604d addc r1, r3 + 13ea: 6c83 mov r2, r0 + 13ec: 6cc7 mov r3, r1 + 13ee: 6c0b mov r0, r2 + 13f0: 31ff movi r1, 255 + 13f2: 6805 andn r0, r1 + 13f4: b802 st.w r0, (r14, 0x8) + 13f6: b863 st.w r3, (r14, 0xc) + 13f8: 07d2 br 0x139c // 139c <__divdf3+0xe4> + 13fa: 3304 movi r3, 4 + 13fc: b868 st.w r3, (r14, 0x20) + 13fe: 1808 addi r0, r14, 32 + 1400: 07d3 br 0x13a6 // 13a6 <__divdf3+0xee> + 1402: 180d addi r0, r14, 52 + 1404: 07d1 br 0x13a6 // 13a6 <__divdf3+0xee> + 1406: 0000 bkpt + 1408: 00005568 .long 0x00005568 + +0000140c <__gtdf2>: + 140c: 14d0 push r15 + 140e: 142e subi r14, r14, 56 + 1410: b800 st.w r0, (r14, 0x0) + 1412: b821 st.w r1, (r14, 0x4) + 1414: 6c3b mov r0, r14 + 1416: 1904 addi r1, r14, 16 + 1418: b863 st.w r3, (r14, 0xc) + 141a: b842 st.w r2, (r14, 0x8) + 141c: e00001fc bsr 0x1814 // 1814 <__unpack_d> + 1420: 1909 addi r1, r14, 36 + 1422: 1802 addi r0, r14, 8 + 1424: e00001f8 bsr 0x1814 // 1814 <__unpack_d> + 1428: 9864 ld.w r3, (r14, 0x10) + 142a: 3b01 cmphsi r3, 2 + 142c: 0c0a bf 0x1440 // 1440 <__gtdf2+0x34> + 142e: 9869 ld.w r3, (r14, 0x24) + 1430: 3b01 cmphsi r3, 2 + 1432: 0c07 bf 0x1440 // 1440 <__gtdf2+0x34> + 1434: 1909 addi r1, r14, 36 + 1436: 1804 addi r0, r14, 16 + 1438: e0000250 bsr 0x18d8 // 18d8 <__fpcmp_parts_d> + 143c: 140e addi r14, r14, 56 + 143e: 1490 pop r15 + 1440: 3000 movi r0, 0 + 1442: 2800 subi r0, 1 + 1444: 140e addi r14, r14, 56 + 1446: 1490 pop r15 + +00001448 <__gedf2>: + 1448: 14d0 push r15 + 144a: 142e subi r14, r14, 56 + 144c: b800 st.w r0, (r14, 0x0) + 144e: b821 st.w r1, (r14, 0x4) + 1450: 6c3b mov r0, r14 + 1452: 1904 addi r1, r14, 16 + 1454: b863 st.w r3, (r14, 0xc) + 1456: b842 st.w r2, (r14, 0x8) + 1458: e00001de bsr 0x1814 // 1814 <__unpack_d> + 145c: 1909 addi r1, r14, 36 + 145e: 1802 addi r0, r14, 8 + 1460: e00001da bsr 0x1814 // 1814 <__unpack_d> + 1464: 9864 ld.w r3, (r14, 0x10) + 1466: 3b01 cmphsi r3, 2 + 1468: 0c0a bf 0x147c // 147c <__gedf2+0x34> + 146a: 9869 ld.w r3, (r14, 0x24) + 146c: 3b01 cmphsi r3, 2 + 146e: 0c07 bf 0x147c // 147c <__gedf2+0x34> + 1470: 1909 addi r1, r14, 36 + 1472: 1804 addi r0, r14, 16 + 1474: e0000232 bsr 0x18d8 // 18d8 <__fpcmp_parts_d> + 1478: 140e addi r14, r14, 56 + 147a: 1490 pop r15 + 147c: 3000 movi r0, 0 + 147e: 2800 subi r0, 1 + 1480: 140e addi r14, r14, 56 + 1482: 1490 pop r15 + +00001484 <__ledf2>: + 1484: 14d0 push r15 + 1486: 142e subi r14, r14, 56 + 1488: b800 st.w r0, (r14, 0x0) + 148a: b821 st.w r1, (r14, 0x4) + 148c: 6c3b mov r0, r14 + 148e: 1904 addi r1, r14, 16 + 1490: b863 st.w r3, (r14, 0xc) + 1492: b842 st.w r2, (r14, 0x8) + 1494: e00001c0 bsr 0x1814 // 1814 <__unpack_d> + 1498: 1909 addi r1, r14, 36 + 149a: 1802 addi r0, r14, 8 + 149c: e00001bc bsr 0x1814 // 1814 <__unpack_d> + 14a0: 9864 ld.w r3, (r14, 0x10) + 14a2: 3b01 cmphsi r3, 2 + 14a4: 0c0a bf 0x14b8 // 14b8 <__ledf2+0x34> + 14a6: 9869 ld.w r3, (r14, 0x24) + 14a8: 3b01 cmphsi r3, 2 + 14aa: 0c07 bf 0x14b8 // 14b8 <__ledf2+0x34> + 14ac: 1909 addi r1, r14, 36 + 14ae: 1804 addi r0, r14, 16 + 14b0: e0000214 bsr 0x18d8 // 18d8 <__fpcmp_parts_d> + 14b4: 140e addi r14, r14, 56 + 14b6: 1490 pop r15 + 14b8: 3001 movi r0, 1 + 14ba: 140e addi r14, r14, 56 + 14bc: 1490 pop r15 + ... + +000014c0 <__floatsidf>: + 14c0: 14d1 push r4, r15 + 14c2: 1425 subi r14, r14, 20 + 14c4: 3303 movi r3, 3 + 14c6: b860 st.w r3, (r14, 0x0) + 14c8: 3840 cmpnei r0, 0 + 14ca: 487f lsri r3, r0, 31 + 14cc: b861 st.w r3, (r14, 0x4) + 14ce: 0808 bt 0x14de // 14de <__floatsidf+0x1e> + 14d0: 3302 movi r3, 2 + 14d2: b860 st.w r3, (r14, 0x0) + 14d4: 6c3b mov r0, r14 + 14d6: e00000d1 bsr 0x1678 // 1678 <__pack_d> + 14da: 1405 addi r14, r14, 20 + 14dc: 1491 pop r4, r15 + 14de: 38df btsti r0, 31 + 14e0: 0812 bt 0x1504 // 1504 <__floatsidf+0x44> + 14e2: 6d03 mov r4, r0 + 14e4: 6c13 mov r0, r4 + 14e6: e00000a9 bsr 0x1638 // 1638 <__clzsi2> + 14ea: 321d movi r2, 29 + 14ec: 6080 addu r2, r0 + 14ee: 2802 subi r0, 3 + 14f0: 38df btsti r0, 31 + 14f2: 0810 bt 0x1512 // 1512 <__floatsidf+0x52> + 14f4: 7100 lsl r4, r0 + 14f6: 3300 movi r3, 0 + 14f8: b884 st.w r4, (r14, 0x10) + 14fa: b863 st.w r3, (r14, 0xc) + 14fc: 333c movi r3, 60 + 14fe: 60ca subu r3, r2 + 1500: b862 st.w r3, (r14, 0x8) + 1502: 07e9 br 0x14d4 // 14d4 <__floatsidf+0x14> + 1504: 3380 movi r3, 128 + 1506: 4378 lsli r3, r3, 24 + 1508: 64c2 cmpne r0, r3 + 150a: 0c0d bf 0x1524 // 1524 <__floatsidf+0x64> + 150c: 3400 movi r4, 0 + 150e: 6102 subu r4, r0 + 1510: 07ea br 0x14e4 // 14e4 <__floatsidf+0x24> + 1512: 311f movi r1, 31 + 1514: 4c61 lsri r3, r4, 1 + 1516: 604a subu r1, r2 + 1518: 6c13 mov r0, r4 + 151a: 70c5 lsr r3, r1 + 151c: 7008 lsl r0, r2 + 151e: b864 st.w r3, (r14, 0x10) + 1520: b803 st.w r0, (r14, 0xc) + 1522: 07ed br 0x14fc // 14fc <__floatsidf+0x3c> + 1524: 3000 movi r0, 0 + 1526: 1022 lrw r1, 0xc1e00000 // 152c <__floatsidf+0x6c> + 1528: 07d9 br 0x14da // 14da <__floatsidf+0x1a> + 152a: 0000 bkpt + 152c: c1e00000 .long 0xc1e00000 + +00001530 <__fixdfsi>: + 1530: 14d0 push r15 + 1532: 1427 subi r14, r14, 28 + 1534: b800 st.w r0, (r14, 0x0) + 1536: b821 st.w r1, (r14, 0x4) + 1538: 6c3b mov r0, r14 + 153a: 1902 addi r1, r14, 8 + 153c: e000016c bsr 0x1814 // 1814 <__unpack_d> + 1540: 9862 ld.w r3, (r14, 0x8) + 1542: 3b02 cmphsi r3, 3 + 1544: 0c20 bf 0x1584 // 1584 <__fixdfsi+0x54> + 1546: 3b44 cmpnei r3, 4 + 1548: 0c16 bf 0x1574 // 1574 <__fixdfsi+0x44> + 154a: 9864 ld.w r3, (r14, 0x10) + 154c: 3bdf btsti r3, 31 + 154e: 081b bt 0x1584 // 1584 <__fixdfsi+0x54> + 1550: 3b3e cmplti r3, 31 + 1552: 0c11 bf 0x1574 // 1574 <__fixdfsi+0x44> + 1554: 323c movi r2, 60 + 1556: 5a6d subu r3, r2, r3 + 1558: 3200 movi r2, 0 + 155a: 2a1f subi r2, 32 + 155c: 608c addu r2, r3 + 155e: 3adf btsti r2, 31 + 1560: 0815 bt 0x158a // 158a <__fixdfsi+0x5a> + 1562: 9806 ld.w r0, (r14, 0x18) + 1564: 7009 lsr r0, r2 + 1566: 9863 ld.w r3, (r14, 0xc) + 1568: 3b40 cmpnei r3, 0 + 156a: 0c0b bf 0x1580 // 1580 <__fixdfsi+0x50> + 156c: 3300 movi r3, 0 + 156e: 5b01 subu r0, r3, r0 + 1570: 1407 addi r14, r14, 28 + 1572: 1490 pop r15 + 1574: 9863 ld.w r3, (r14, 0xc) + 1576: 3b40 cmpnei r3, 0 + 1578: 3000 movi r0, 0 + 157a: 6001 addc r0, r0 + 157c: 1068 lrw r3, 0x7fffffff // 159c <__fixdfsi+0x6c> + 157e: 600c addu r0, r3 + 1580: 1407 addi r14, r14, 28 + 1582: 1490 pop r15 + 1584: 3000 movi r0, 0 + 1586: 1407 addi r14, r14, 28 + 1588: 1490 pop r15 + 158a: 9846 ld.w r2, (r14, 0x18) + 158c: 311f movi r1, 31 + 158e: 4241 lsli r2, r2, 1 + 1590: 604e subu r1, r3 + 1592: 9805 ld.w r0, (r14, 0x14) + 1594: 7084 lsl r2, r1 + 1596: 700d lsr r0, r3 + 1598: 6c08 or r0, r2 + 159a: 07e6 br 0x1566 // 1566 <__fixdfsi+0x36> + 159c: 7fffffff .long 0x7fffffff + +000015a0 <__floatunsidf>: + 15a0: 14d2 push r4-r5, r15 + 15a2: 1425 subi r14, r14, 20 + 15a4: 3840 cmpnei r0, 0 + 15a6: 3500 movi r5, 0 + 15a8: 6d03 mov r4, r0 + 15aa: b8a1 st.w r5, (r14, 0x4) + 15ac: 0c15 bf 0x15d6 // 15d6 <__floatunsidf+0x36> + 15ae: 3303 movi r3, 3 + 15b0: b860 st.w r3, (r14, 0x0) + 15b2: e0000043 bsr 0x1638 // 1638 <__clzsi2> + 15b6: 321d movi r2, 29 + 15b8: 6080 addu r2, r0 + 15ba: 2802 subi r0, 3 + 15bc: 38df btsti r0, 31 + 15be: 0813 bt 0x15e4 // 15e4 <__floatunsidf+0x44> + 15c0: 7100 lsl r4, r0 + 15c2: b884 st.w r4, (r14, 0x10) + 15c4: b8a3 st.w r5, (r14, 0xc) + 15c6: 333c movi r3, 60 + 15c8: 60ca subu r3, r2 + 15ca: 6c3b mov r0, r14 + 15cc: b862 st.w r3, (r14, 0x8) + 15ce: e0000055 bsr 0x1678 // 1678 <__pack_d> + 15d2: 1405 addi r14, r14, 20 + 15d4: 1492 pop r4-r5, r15 + 15d6: 3302 movi r3, 2 + 15d8: 6c3b mov r0, r14 + 15da: b860 st.w r3, (r14, 0x0) + 15dc: e000004e bsr 0x1678 // 1678 <__pack_d> + 15e0: 1405 addi r14, r14, 20 + 15e2: 1492 pop r4-r5, r15 + 15e4: 311f movi r1, 31 + 15e6: 4c61 lsri r3, r4, 1 + 15e8: 604a subu r1, r2 + 15ea: 70c5 lsr r3, r1 + 15ec: 7108 lsl r4, r2 + 15ee: b864 st.w r3, (r14, 0x10) + 15f0: b883 st.w r4, (r14, 0xc) + 15f2: 07ea br 0x15c6 // 15c6 <__floatunsidf+0x26> + +000015f4 <__muldi3>: + 15f4: 14c4 push r4-r7 + 15f6: 1421 subi r14, r14, 4 + 15f8: 7501 zexth r4, r0 + 15fa: 48b0 lsri r5, r0, 16 + 15fc: 75c9 zexth r7, r2 + 15fe: 6d83 mov r6, r0 + 1600: b820 st.w r1, (r14, 0x0) + 1602: 6c13 mov r0, r4 + 1604: 4a30 lsri r1, r2, 16 + 1606: 7c1c mult r0, r7 + 1608: 7d04 mult r4, r1 + 160a: 7dd4 mult r7, r5 + 160c: 611c addu r4, r7 + 160e: 7d44 mult r5, r1 + 1610: 4830 lsri r1, r0, 16 + 1612: 6104 addu r4, r1 + 1614: 65d0 cmphs r4, r7 + 1616: 0804 bt 0x161e // 161e <__muldi3+0x2a> + 1618: 3180 movi r1, 128 + 161a: 4129 lsli r1, r1, 9 + 161c: 6144 addu r5, r1 + 161e: 4c30 lsri r1, r4, 16 + 1620: 7cd8 mult r3, r6 + 1622: 6144 addu r5, r1 + 1624: 6c4f mov r1, r3 + 1626: 9860 ld.w r3, (r14, 0x0) + 1628: 7cc8 mult r3, r2 + 162a: 4490 lsli r4, r4, 16 + 162c: 604c addu r1, r3 + 162e: 7401 zexth r0, r0 + 1630: 6010 addu r0, r4 + 1632: 6054 addu r1, r5 + 1634: 1401 addi r14, r14, 4 + 1636: 1484 pop r4-r7 + +00001638 <__clzsi2>: + 1638: 106d lrw r3, 0xffff // 166c <__clzsi2+0x34> + 163a: 640c cmphs r3, r0 + 163c: 0c07 bf 0x164a // 164a <__clzsi2+0x12> + 163e: 33ff movi r3, 255 + 1640: 640c cmphs r3, r0 + 1642: 0c0f bf 0x1660 // 1660 <__clzsi2+0x28> + 1644: 3320 movi r3, 32 + 1646: 3200 movi r2, 0 + 1648: 0406 br 0x1654 // 1654 <__clzsi2+0x1c> + 164a: 106a lrw r3, 0xffffff // 1670 <__clzsi2+0x38> + 164c: 640c cmphs r3, r0 + 164e: 080c bt 0x1666 // 1666 <__clzsi2+0x2e> + 1650: 3308 movi r3, 8 + 1652: 3218 movi r2, 24 + 1654: 7009 lsr r0, r2 + 1656: 1048 lrw r2, 0x557c // 1674 <__clzsi2+0x3c> + 1658: 6008 addu r0, r2 + 165a: 8040 ld.b r2, (r0, 0x0) + 165c: 5b09 subu r0, r3, r2 + 165e: 783c jmp r15 + 1660: 3318 movi r3, 24 + 1662: 3208 movi r2, 8 + 1664: 07f8 br 0x1654 // 1654 <__clzsi2+0x1c> + 1666: 3310 movi r3, 16 + 1668: 3210 movi r2, 16 + 166a: 07f5 br 0x1654 // 1654 <__clzsi2+0x1c> + 166c: 0000ffff .long 0x0000ffff + 1670: 00ffffff .long 0x00ffffff + 1674: 0000557c .long 0x0000557c + +00001678 <__pack_d>: + 1678: 14c4 push r4-r7 + 167a: 1422 subi r14, r14, 8 + 167c: 9060 ld.w r3, (r0, 0x0) + 167e: 3b01 cmphsi r3, 2 + 1680: 90c3 ld.w r6, (r0, 0xc) + 1682: 90e4 ld.w r7, (r0, 0x10) + 1684: 9021 ld.w r1, (r0, 0x4) + 1686: 0c46 bf 0x1712 // 1712 <__pack_d+0x9a> + 1688: 3b44 cmpnei r3, 4 + 168a: 0c40 bf 0x170a // 170a <__pack_d+0x92> + 168c: 3b42 cmpnei r3, 2 + 168e: 0c27 bf 0x16dc // 16dc <__pack_d+0x64> + 1690: 6cdb mov r3, r6 + 1692: 6cdc or r3, r7 + 1694: 3b40 cmpnei r3, 0 + 1696: 0c23 bf 0x16dc // 16dc <__pack_d+0x64> + 1698: 9062 ld.w r3, (r0, 0x8) + 169a: 125a lrw r2, 0xfffffc02 // 1800 <__pack_d+0x188> + 169c: 648d cmplt r3, r2 + 169e: 0855 bt 0x1748 // 1748 <__pack_d+0xd0> + 16a0: 1259 lrw r2, 0x3ff // 1804 <__pack_d+0x18c> + 16a2: 64c9 cmplt r2, r3 + 16a4: 0833 bt 0x170a // 170a <__pack_d+0x92> + 16a6: 34ff movi r4, 255 + 16a8: 3500 movi r5, 0 + 16aa: 6918 and r4, r6 + 16ac: 695c and r5, r7 + 16ae: 3280 movi r2, 128 + 16b0: 6492 cmpne r4, r2 + 16b2: 0c3f bf 0x1730 // 1730 <__pack_d+0xb8> + 16b4: 347f movi r4, 127 + 16b6: 3500 movi r5, 0 + 16b8: 6599 cmplt r6, r6 + 16ba: 6191 addc r6, r4 + 16bc: 61d5 addc r7, r5 + 16be: 1253 lrw r2, 0x1fffffff // 1808 <__pack_d+0x190> + 16c0: 65c8 cmphs r2, r7 + 16c2: 0c1a bf 0x16f6 // 16f6 <__pack_d+0x7e> + 16c4: 1290 lrw r4, 0x3ff // 1804 <__pack_d+0x18c> + 16c6: 610c addu r4, r3 + 16c8: 4718 lsli r0, r7, 24 + 16ca: 4f68 lsri r3, r7, 8 + 16cc: 4e48 lsri r2, r6, 8 + 16ce: 6c80 or r2, r0 + 16d0: 430c lsli r0, r3, 12 + 16d2: 486c lsri r3, r0, 12 + 16d4: 120e lrw r0, 0x7ff // 180c <__pack_d+0x194> + 16d6: 6d4b mov r5, r2 + 16d8: 6900 and r4, r0 + 16da: 0404 br 0x16e2 // 16e2 <__pack_d+0x6a> + 16dc: 3400 movi r4, 0 + 16de: 3200 movi r2, 0 + 16e0: 3300 movi r3, 0 + 16e2: 430c lsli r0, r3, 12 + 16e4: 480c lsri r0, r0, 12 + 16e6: 4474 lsli r3, r4, 20 + 16e8: 419f lsli r4, r1, 31 + 16ea: 6c43 mov r1, r0 + 16ec: 6c4c or r1, r3 + 16ee: 6c50 or r1, r4 + 16f0: 6c0b mov r0, r2 + 16f2: 1402 addi r14, r14, 8 + 16f4: 1484 pop r4-r7 + 16f6: 479f lsli r4, r7, 31 + 16f8: 4e01 lsri r0, r6, 1 + 16fa: 6d00 or r4, r0 + 16fc: 6d93 mov r6, r4 + 16fe: 3480 movi r4, 128 + 1700: 4f41 lsri r2, r7, 1 + 1702: 4483 lsli r4, r4, 3 + 1704: 6dcb mov r7, r2 + 1706: 610c addu r4, r3 + 1708: 07e0 br 0x16c8 // 16c8 <__pack_d+0x50> + 170a: 1281 lrw r4, 0x7ff // 180c <__pack_d+0x194> + 170c: 3200 movi r2, 0 + 170e: 3300 movi r3, 0 + 1710: 07e9 br 0x16e2 // 16e2 <__pack_d+0x6a> + 1712: 4e08 lsri r0, r6, 8 + 1714: 4798 lsli r4, r7, 24 + 1716: 6d00 or r4, r0 + 1718: 3580 movi r5, 128 + 171a: 4705 lsli r0, r7, 5 + 171c: 6c93 mov r2, r4 + 171e: 486d lsri r3, r0, 13 + 1720: 3400 movi r4, 0 + 1722: 45ac lsli r5, r5, 12 + 1724: 6c90 or r2, r4 + 1726: 6cd4 or r3, r5 + 1728: 430c lsli r0, r3, 12 + 172a: 486c lsri r3, r0, 12 + 172c: 1198 lrw r4, 0x7ff // 180c <__pack_d+0x194> + 172e: 07da br 0x16e2 // 16e2 <__pack_d+0x6a> + 1730: 3d40 cmpnei r5, 0 + 1732: 0bc1 bt 0x16b4 // 16b4 <__pack_d+0x3c> + 1734: 4241 lsli r2, r2, 1 + 1736: 6898 and r2, r6 + 1738: 3a40 cmpnei r2, 0 + 173a: 0fc2 bf 0x16be // 16be <__pack_d+0x46> + 173c: 3480 movi r4, 128 + 173e: 3500 movi r5, 0 + 1740: 6599 cmplt r6, r6 + 1742: 6191 addc r6, r4 + 1744: 61d5 addc r7, r5 + 1746: 07bc br 0x16be // 16be <__pack_d+0x46> + 1748: 5a6d subu r3, r2, r3 + 174a: 3238 movi r2, 56 + 174c: 64c9 cmplt r2, r3 + 174e: 0bc7 bt 0x16dc // 16dc <__pack_d+0x64> + 1750: 3200 movi r2, 0 + 1752: 2a1f subi r2, 32 + 1754: 608c addu r2, r3 + 1756: 3adf btsti r2, 31 + 1758: 0848 bt 0x17e8 // 17e8 <__pack_d+0x170> + 175a: 6c1f mov r0, r7 + 175c: 7009 lsr r0, r2 + 175e: b800 st.w r0, (r14, 0x0) + 1760: 3000 movi r0, 0 + 1762: b801 st.w r0, (r14, 0x4) + 1764: 3adf btsti r2, 31 + 1766: 083c bt 0x17de // 17de <__pack_d+0x166> + 1768: 3301 movi r3, 1 + 176a: 70c8 lsl r3, r2 + 176c: 6d4f mov r5, r3 + 176e: 3300 movi r3, 0 + 1770: 6d0f mov r4, r3 + 1772: 3200 movi r2, 0 + 1774: 3300 movi r3, 0 + 1776: 2a00 subi r2, 1 + 1778: 2b00 subi r3, 1 + 177a: 6511 cmplt r4, r4 + 177c: 6109 addc r4, r2 + 177e: 614d addc r5, r3 + 1780: 6990 and r6, r4 + 1782: 69d4 and r7, r5 + 1784: 6d9c or r6, r7 + 1786: 3e40 cmpnei r6, 0 + 1788: 3000 movi r0, 0 + 178a: 6001 addc r0, r0 + 178c: 6c83 mov r2, r0 + 178e: 3300 movi r3, 0 + 1790: 9880 ld.w r4, (r14, 0x0) + 1792: 98a1 ld.w r5, (r14, 0x4) + 1794: 6d08 or r4, r2 + 1796: 6d4c or r5, r3 + 1798: 32ff movi r2, 255 + 179a: 3300 movi r3, 0 + 179c: 6890 and r2, r4 + 179e: 68d4 and r3, r5 + 17a0: 3080 movi r0, 128 + 17a2: 640a cmpne r2, r0 + 17a4: 081b bt 0x17da // 17da <__pack_d+0x162> + 17a6: 3b40 cmpnei r3, 0 + 17a8: 0819 bt 0x17da // 17da <__pack_d+0x162> + 17aa: 3380 movi r3, 128 + 17ac: 4361 lsli r3, r3, 1 + 17ae: 68d0 and r3, r4 + 17b0: 3b40 cmpnei r3, 0 + 17b2: 0c06 bf 0x17be // 17be <__pack_d+0x146> + 17b4: 3280 movi r2, 128 + 17b6: 3300 movi r3, 0 + 17b8: 6511 cmplt r4, r4 + 17ba: 6109 addc r4, r2 + 17bc: 614d addc r5, r3 + 17be: 4518 lsli r0, r5, 24 + 17c0: 4c48 lsri r2, r4, 8 + 17c2: 4d68 lsri r3, r5, 8 + 17c4: 1093 lrw r4, 0xfffffff // 1810 <__pack_d+0x198> + 17c6: 6c80 or r2, r0 + 17c8: 6550 cmphs r4, r5 + 17ca: 430c lsli r0, r3, 12 + 17cc: 486c lsri r3, r0, 12 + 17ce: 3001 movi r0, 1 + 17d0: 0c02 bf 0x17d4 // 17d4 <__pack_d+0x15c> + 17d2: 3000 movi r0, 0 + 17d4: 108e lrw r4, 0x7ff // 180c <__pack_d+0x194> + 17d6: 6900 and r4, r0 + 17d8: 0785 br 0x16e2 // 16e2 <__pack_d+0x6a> + 17da: 327f movi r2, 127 + 17dc: 07ed br 0x17b6 // 17b6 <__pack_d+0x13e> + 17de: 3201 movi r2, 1 + 17e0: 708c lsl r2, r3 + 17e2: 3500 movi r5, 0 + 17e4: 6d0b mov r4, r2 + 17e6: 07c6 br 0x1772 // 1772 <__pack_d+0xfa> + 17e8: 341f movi r4, 31 + 17ea: 610e subu r4, r3 + 17ec: 4701 lsli r0, r7, 1 + 17ee: 7010 lsl r0, r4 + 17f0: 6d1b mov r4, r6 + 17f2: 710d lsr r4, r3 + 17f4: 6d00 or r4, r0 + 17f6: 6c1f mov r0, r7 + 17f8: 700d lsr r0, r3 + 17fa: b880 st.w r4, (r14, 0x0) + 17fc: b801 st.w r0, (r14, 0x4) + 17fe: 07b3 br 0x1764 // 1764 <__pack_d+0xec> + 1800: fffffc02 .long 0xfffffc02 + 1804: 000003ff .long 0x000003ff + 1808: 1fffffff .long 0x1fffffff + 180c: 000007ff .long 0x000007ff + 1810: 0fffffff .long 0x0fffffff + +00001814 <__unpack_d>: + 1814: 1423 subi r14, r14, 12 + 1816: b880 st.w r4, (r14, 0x0) + 1818: b8c1 st.w r6, (r14, 0x4) + 181a: b8e2 st.w r7, (r14, 0x8) + 181c: 8843 ld.h r2, (r0, 0x6) + 181e: 4251 lsli r2, r2, 17 + 1820: 9061 ld.w r3, (r0, 0x4) + 1822: 9080 ld.w r4, (r0, 0x0) + 1824: 4a55 lsri r2, r2, 21 + 1826: 8007 ld.b r0, (r0, 0x7) + 1828: 436c lsli r3, r3, 12 + 182a: 4807 lsri r0, r0, 7 + 182c: 3a40 cmpnei r2, 0 + 182e: 4b6c lsri r3, r3, 12 + 1830: b101 st.w r0, (r1, 0x4) + 1832: 0819 bt 0x1864 // 1864 <__unpack_d+0x50> + 1834: 6c93 mov r2, r4 + 1836: 6c8c or r2, r3 + 1838: 3a40 cmpnei r2, 0 + 183a: 0c2d bf 0x1894 // 1894 <__unpack_d+0x80> + 183c: 4c58 lsri r2, r4, 24 + 183e: 4368 lsli r3, r3, 8 + 1840: 6cc8 or r3, r2 + 1842: 3203 movi r2, 3 + 1844: 4408 lsli r0, r4, 8 + 1846: b140 st.w r2, (r1, 0x0) + 1848: 1181 lrw r4, 0xfffffc01 // 18cc <__unpack_d+0xb8> + 184a: 11c2 lrw r6, 0xfffffff // 18d0 <__unpack_d+0xbc> + 184c: 485f lsri r2, r0, 31 + 184e: 4361 lsli r3, r3, 1 + 1850: 6cc8 or r3, r2 + 1852: 64d8 cmphs r6, r3 + 1854: 6c93 mov r2, r4 + 1856: 4001 lsli r0, r0, 1 + 1858: 2c00 subi r4, 1 + 185a: 0bf9 bt 0x184c // 184c <__unpack_d+0x38> + 185c: b142 st.w r2, (r1, 0x8) + 185e: b103 st.w r0, (r1, 0xc) + 1860: b164 st.w r3, (r1, 0x10) + 1862: 0414 br 0x188a // 188a <__unpack_d+0x76> + 1864: 101c lrw r0, 0x7ff // 18d4 <__unpack_d+0xc0> + 1866: 640a cmpne r2, r0 + 1868: 0c19 bf 0x189a // 189a <__unpack_d+0x86> + 186a: 1019 lrw r0, 0xfffffc01 // 18cc <__unpack_d+0xb8> + 186c: 6080 addu r2, r0 + 186e: b142 st.w r2, (r1, 0x8) + 1870: 3203 movi r2, 3 + 1872: 43e8 lsli r7, r3, 8 + 1874: b140 st.w r2, (r1, 0x0) + 1876: 3380 movi r3, 128 + 1878: 4c58 lsri r2, r4, 24 + 187a: 6dc8 or r7, r2 + 187c: 44c8 lsli r6, r4, 8 + 187e: 3200 movi r2, 0 + 1880: 4375 lsli r3, r3, 21 + 1882: 6d88 or r6, r2 + 1884: 6dcc or r7, r3 + 1886: b1c3 st.w r6, (r1, 0xc) + 1888: b1e4 st.w r7, (r1, 0x10) + 188a: 98e2 ld.w r7, (r14, 0x8) + 188c: 98c1 ld.w r6, (r14, 0x4) + 188e: 9880 ld.w r4, (r14, 0x0) + 1890: 1403 addi r14, r14, 12 + 1892: 783c jmp r15 + 1894: 3302 movi r3, 2 + 1896: b160 st.w r3, (r1, 0x0) + 1898: 07f9 br 0x188a // 188a <__unpack_d+0x76> + 189a: 6c93 mov r2, r4 + 189c: 6c8c or r2, r3 + 189e: 3a40 cmpnei r2, 0 + 18a0: 0c10 bf 0x18c0 // 18c0 <__unpack_d+0xac> + 18a2: 3280 movi r2, 128 + 18a4: 424c lsli r2, r2, 12 + 18a6: 688c and r2, r3 + 18a8: 3a40 cmpnei r2, 0 + 18aa: 0c0e bf 0x18c6 // 18c6 <__unpack_d+0xb2> + 18ac: 3201 movi r2, 1 + 18ae: b140 st.w r2, (r1, 0x0) + 18b0: 4c58 lsri r2, r4, 24 + 18b2: 4368 lsli r3, r3, 8 + 18b4: 6cc8 or r3, r2 + 18b6: 4408 lsli r0, r4, 8 + 18b8: 3b9b bclri r3, 27 + 18ba: b103 st.w r0, (r1, 0xc) + 18bc: b164 st.w r3, (r1, 0x10) + 18be: 07e6 br 0x188a // 188a <__unpack_d+0x76> + 18c0: 3304 movi r3, 4 + 18c2: b160 st.w r3, (r1, 0x0) + 18c4: 07e3 br 0x188a // 188a <__unpack_d+0x76> + 18c6: b140 st.w r2, (r1, 0x0) + 18c8: 07f4 br 0x18b0 // 18b0 <__unpack_d+0x9c> + 18ca: 0000 bkpt + 18cc: fffffc01 .long 0xfffffc01 + 18d0: 0fffffff .long 0x0fffffff + 18d4: 000007ff .long 0x000007ff + +000018d8 <__fpcmp_parts_d>: + 18d8: 14c1 push r4 + 18da: 9060 ld.w r3, (r0, 0x0) + 18dc: 3b01 cmphsi r3, 2 + 18de: 0c12 bf 0x1902 // 1902 <__fpcmp_parts_d+0x2a> + 18e0: 9140 ld.w r2, (r1, 0x0) + 18e2: 3a01 cmphsi r2, 2 + 18e4: 0c0f bf 0x1902 // 1902 <__fpcmp_parts_d+0x2a> + 18e6: 3b44 cmpnei r3, 4 + 18e8: 0c17 bf 0x1916 // 1916 <__fpcmp_parts_d+0x3e> + 18ea: 3a44 cmpnei r2, 4 + 18ec: 0c0f bf 0x190a // 190a <__fpcmp_parts_d+0x32> + 18ee: 3b42 cmpnei r3, 2 + 18f0: 0c0b bf 0x1906 // 1906 <__fpcmp_parts_d+0x2e> + 18f2: 3a42 cmpnei r2, 2 + 18f4: 0c13 bf 0x191a // 191a <__fpcmp_parts_d+0x42> + 18f6: 9061 ld.w r3, (r0, 0x4) + 18f8: 9141 ld.w r2, (r1, 0x4) + 18fa: 648e cmpne r3, r2 + 18fc: 0c14 bf 0x1924 // 1924 <__fpcmp_parts_d+0x4c> + 18fe: 3b40 cmpnei r3, 0 + 1900: 0808 bt 0x1910 // 1910 <__fpcmp_parts_d+0x38> + 1902: 3001 movi r0, 1 + 1904: 1481 pop r4 + 1906: 3a42 cmpnei r2, 2 + 1908: 0c28 bf 0x1958 // 1958 <__fpcmp_parts_d+0x80> + 190a: 9161 ld.w r3, (r1, 0x4) + 190c: 3b40 cmpnei r3, 0 + 190e: 0bfa bt 0x1902 // 1902 <__fpcmp_parts_d+0x2a> + 1910: 3000 movi r0, 0 + 1912: 2800 subi r0, 1 + 1914: 1481 pop r4 + 1916: 3a44 cmpnei r2, 4 + 1918: 0c22 bf 0x195c // 195c <__fpcmp_parts_d+0x84> + 191a: 9061 ld.w r3, (r0, 0x4) + 191c: 3b40 cmpnei r3, 0 + 191e: 0bf9 bt 0x1910 // 1910 <__fpcmp_parts_d+0x38> + 1920: 3001 movi r0, 1 + 1922: 07f1 br 0x1904 // 1904 <__fpcmp_parts_d+0x2c> + 1924: 9082 ld.w r4, (r0, 0x8) + 1926: 9142 ld.w r2, (r1, 0x8) + 1928: 6509 cmplt r2, r4 + 192a: 0bea bt 0x18fe // 18fe <__fpcmp_parts_d+0x26> + 192c: 6491 cmplt r4, r2 + 192e: 080d bt 0x1948 // 1948 <__fpcmp_parts_d+0x70> + 1930: 9044 ld.w r2, (r0, 0x10) + 1932: 9083 ld.w r4, (r0, 0xc) + 1934: 9103 ld.w r0, (r1, 0xc) + 1936: 9124 ld.w r1, (r1, 0x10) + 1938: 6484 cmphs r1, r2 + 193a: 0fe2 bf 0x18fe // 18fe <__fpcmp_parts_d+0x26> + 193c: 644a cmpne r2, r1 + 193e: 0803 bt 0x1944 // 1944 <__fpcmp_parts_d+0x6c> + 1940: 6500 cmphs r0, r4 + 1942: 0fde bf 0x18fe // 18fe <__fpcmp_parts_d+0x26> + 1944: 6448 cmphs r2, r1 + 1946: 0805 bt 0x1950 // 1950 <__fpcmp_parts_d+0x78> + 1948: 3b40 cmpnei r3, 0 + 194a: 0fe3 bf 0x1910 // 1910 <__fpcmp_parts_d+0x38> + 194c: 3001 movi r0, 1 + 194e: 07db br 0x1904 // 1904 <__fpcmp_parts_d+0x2c> + 1950: 6486 cmpne r1, r2 + 1952: 0803 bt 0x1958 // 1958 <__fpcmp_parts_d+0x80> + 1954: 6410 cmphs r4, r0 + 1956: 0ff9 bf 0x1948 // 1948 <__fpcmp_parts_d+0x70> + 1958: 3000 movi r0, 0 + 195a: 1481 pop r4 + 195c: 9161 ld.w r3, (r1, 0x4) + 195e: 9041 ld.w r2, (r0, 0x4) + 1960: 5b09 subu r0, r3, r2 + 1962: 1481 pop r4 + +00001964 <__memset_fast>: + 1964: 14c3 push r4-r6 + 1966: 7444 zextb r1, r1 + 1968: 3a40 cmpnei r2, 0 + 196a: 0c1f bf 0x19a8 // 19a8 <__memset_fast+0x44> + 196c: 6d43 mov r5, r0 + 196e: 6d03 mov r4, r0 + 1970: 3603 movi r6, 3 + 1972: 6918 and r4, r6 + 1974: 3c40 cmpnei r4, 0 + 1976: 0c1a bf 0x19aa // 19aa <__memset_fast+0x46> + 1978: a520 st.b r1, (r5, 0x0) + 197a: 2a00 subi r2, 1 + 197c: 3a40 cmpnei r2, 0 + 197e: 0c15 bf 0x19a8 // 19a8 <__memset_fast+0x44> + 1980: 2500 addi r5, 1 + 1982: 6d17 mov r4, r5 + 1984: 3603 movi r6, 3 + 1986: 6918 and r4, r6 + 1988: 3c40 cmpnei r4, 0 + 198a: 0c10 bf 0x19aa // 19aa <__memset_fast+0x46> + 198c: a520 st.b r1, (r5, 0x0) + 198e: 2a00 subi r2, 1 + 1990: 3a40 cmpnei r2, 0 + 1992: 0c0b bf 0x19a8 // 19a8 <__memset_fast+0x44> + 1994: 2500 addi r5, 1 + 1996: 6d17 mov r4, r5 + 1998: 3603 movi r6, 3 + 199a: 6918 and r4, r6 + 199c: 3c40 cmpnei r4, 0 + 199e: 0c06 bf 0x19aa // 19aa <__memset_fast+0x46> + 19a0: a520 st.b r1, (r5, 0x0) + 19a2: 2a00 subi r2, 1 + 19a4: 2500 addi r5, 1 + 19a6: 0402 br 0x19aa // 19aa <__memset_fast+0x46> + 19a8: 1483 pop r4-r6 + 19aa: 4168 lsli r3, r1, 8 + 19ac: 6c4c or r1, r3 + 19ae: 4170 lsli r3, r1, 16 + 19b0: 6c4c or r1, r3 + 19b2: 3a2f cmplti r2, 16 + 19b4: 0809 bt 0x19c6 // 19c6 <__memset_fast+0x62> + 19b6: b520 st.w r1, (r5, 0x0) + 19b8: b521 st.w r1, (r5, 0x4) + 19ba: b522 st.w r1, (r5, 0x8) + 19bc: b523 st.w r1, (r5, 0xc) + 19be: 2a0f subi r2, 16 + 19c0: 250f addi r5, 16 + 19c2: 3a2f cmplti r2, 16 + 19c4: 0ff9 bf 0x19b6 // 19b6 <__memset_fast+0x52> + 19c6: 3a23 cmplti r2, 4 + 19c8: 0806 bt 0x19d4 // 19d4 <__memset_fast+0x70> + 19ca: 2a03 subi r2, 4 + 19cc: b520 st.w r1, (r5, 0x0) + 19ce: 2503 addi r5, 4 + 19d0: 3a23 cmplti r2, 4 + 19d2: 0ffc bf 0x19ca // 19ca <__memset_fast+0x66> + 19d4: 3a40 cmpnei r2, 0 + 19d6: 0fe9 bf 0x19a8 // 19a8 <__memset_fast+0x44> + 19d8: 2a00 subi r2, 1 + 19da: a520 st.b r1, (r5, 0x0) + 19dc: 3a40 cmpnei r2, 0 + 19de: 0fe5 bf 0x19a8 // 19a8 <__memset_fast+0x44> + 19e0: 2a00 subi r2, 1 + 19e2: a521 st.b r1, (r5, 0x1) + 19e4: 3a40 cmpnei r2, 0 + 19e6: 0fe1 bf 0x19a8 // 19a8 <__memset_fast+0x44> + 19e8: a522 st.b r1, (r5, 0x2) + 19ea: 1483 pop r4-r6 + +000019ec <__memcpy_fast>: + 19ec: 14c3 push r4-r6 + 19ee: 6d83 mov r6, r0 + 19f0: 6d07 mov r4, r1 + 19f2: 6d18 or r4, r6 + 19f4: 3303 movi r3, 3 + 19f6: 690c and r4, r3 + 19f8: 3c40 cmpnei r4, 0 + 19fa: 0c0b bf 0x1a10 // 1a10 <__memcpy_fast+0x24> + 19fc: 3a40 cmpnei r2, 0 + 19fe: 0c08 bf 0x1a0e // 1a0e <__memcpy_fast+0x22> + 1a00: 8160 ld.b r3, (r1, 0x0) + 1a02: 2100 addi r1, 1 + 1a04: 2a00 subi r2, 1 + 1a06: a660 st.b r3, (r6, 0x0) + 1a08: 2600 addi r6, 1 + 1a0a: 3a40 cmpnei r2, 0 + 1a0c: 0bfa bt 0x1a00 // 1a00 <__memcpy_fast+0x14> + 1a0e: 1483 pop r4-r6 + 1a10: 3a2f cmplti r2, 16 + 1a12: 080e bt 0x1a2e // 1a2e <__memcpy_fast+0x42> + 1a14: 91a0 ld.w r5, (r1, 0x0) + 1a16: 9161 ld.w r3, (r1, 0x4) + 1a18: 9182 ld.w r4, (r1, 0x8) + 1a1a: b6a0 st.w r5, (r6, 0x0) + 1a1c: 91a3 ld.w r5, (r1, 0xc) + 1a1e: b661 st.w r3, (r6, 0x4) + 1a20: b682 st.w r4, (r6, 0x8) + 1a22: b6a3 st.w r5, (r6, 0xc) + 1a24: 2a0f subi r2, 16 + 1a26: 210f addi r1, 16 + 1a28: 260f addi r6, 16 + 1a2a: 3a2f cmplti r2, 16 + 1a2c: 0ff4 bf 0x1a14 // 1a14 <__memcpy_fast+0x28> + 1a2e: 3a23 cmplti r2, 4 + 1a30: 0808 bt 0x1a40 // 1a40 <__memcpy_fast+0x54> + 1a32: 9160 ld.w r3, (r1, 0x0) + 1a34: 2a03 subi r2, 4 + 1a36: 2103 addi r1, 4 + 1a38: b660 st.w r3, (r6, 0x0) + 1a3a: 2603 addi r6, 4 + 1a3c: 3a23 cmplti r2, 4 + 1a3e: 0ffa bf 0x1a32 // 1a32 <__memcpy_fast+0x46> + 1a40: 3a40 cmpnei r2, 0 + 1a42: 0fe6 bf 0x1a0e // 1a0e <__memcpy_fast+0x22> + 1a44: 8160 ld.b r3, (r1, 0x0) + 1a46: 2100 addi r1, 1 + 1a48: 2a00 subi r2, 1 + 1a4a: a660 st.b r3, (r6, 0x0) + 1a4c: 2600 addi r6, 1 + 1a4e: 07f9 br 0x1a40 // 1a40 <__memcpy_fast+0x54> + +Disassembly of section .text.__main: + +00001a50 <__main>: +extern char _bss_start[]; +extern char _ebss[]; + + +void __main( void ) +{ + 1a50: 14d0 push r15 + + /* if the start of data (dst) + is not equal to end of text (src) then + copy it, else it's already in the right place + */ + if( _start_data != _end_rodata ) { + 1a52: 1009 lrw r0, 0x20000000 // 1a74 <__main+0x24> + 1a54: 1029 lrw r1, 0x5774 // 1a78 <__main+0x28> + 1a56: 6442 cmpne r0, r1 + 1a58: 0c05 bf 0x1a62 // 1a62 <__main+0x12> +// __memcpy_fast( dst, src, (_end_data - _start_data)); + memcpy( dst, src, (_end_data - _start_data)); + 1a5a: 1049 lrw r2, 0x200000a8 // 1a7c <__main+0x2c> + 1a5c: 6082 subu r2, r0 + 1a5e: e3ffffc7 bsr 0x19ec // 19ec <__memcpy_fast> + } + + /* zero the bss + */ + if( _ebss - _bss_start ) { + 1a62: 1048 lrw r2, 0x200007d4 // 1a80 <__main+0x30> + 1a64: 1008 lrw r0, 0x200000a8 // 1a84 <__main+0x34> + 1a66: 640a cmpne r2, r0 + 1a68: 0c05 bf 0x1a72 // 1a72 <__main+0x22> +// __memset_fast( _bss_start, 0x00, ( _ebss - _bss_start )); + memset( _bss_start, 0x00, ( _ebss - _bss_start )); + 1a6a: 6082 subu r2, r0 + 1a6c: 3100 movi r1, 0 + 1a6e: e3ffff7b bsr 0x1964 // 1964 <__memset_fast> + } + + +} + 1a72: 1490 pop r15 + 1a74: 20000000 .long 0x20000000 + 1a78: 00005774 .long 0x00005774 + 1a7c: 200000a8 .long 0x200000a8 + 1a80: 200007d4 .long 0x200007d4 + 1a84: 200000a8 .long 0x200000a8 + +Disassembly of section .text.SYSCON_General_CMD.part.0: + +00001a88 : +/*************************************************************/ +void SYSCON_General_CMD(FunctionalStatus NewState, SYSCON_General_CMD_TypeDef ENDIS_X ) +{ + if (NewState != DISABLE) + { + if(ENDIS_X==ENDIS_EMOSC) + 1a88: 3848 cmpnei r0, 8 + 1a8a: 080a bt 0x1a9e // 1a9e + GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFF00FFF)|0x00044000; //enable EMOSC PIN + 1a8c: 107a lrw r3, 0x2000004c // 1af4 + 1a8e: 32ff movi r2, 255 + 1a90: 9320 ld.w r1, (r3, 0x0) + 1a92: 9160 ld.w r3, (r1, 0x0) + 1a94: 424c lsli r2, r2, 12 + 1a96: 68c9 andn r3, r2 + 1a98: 3bae bseti r3, 14 + 1a9a: 3bb2 bseti r3, 18 + 1a9c: b160 st.w r3, (r1, 0x0) + SYSCON->GCER|=ENDIS_X; //enable SYSCON General Control + 1a9e: 1077 lrw r3, 0x2000005c // 1af8 + 1aa0: 9360 ld.w r3, (r3, 0x0) + 1aa2: 9341 ld.w r2, (r3, 0x4) + 1aa4: 6c80 or r2, r0 + 1aa6: b341 st.w r2, (r3, 0x4) + while(!(SYSCON->GCSR&ENDIS_X)); //check Enable? + 1aa8: 9343 ld.w r2, (r3, 0xc) + 1aaa: 6880 and r2, r0 + 1aac: 3a40 cmpnei r2, 0 + 1aae: 0ffd bf 0x1aa8 // 1aa8 + switch(ENDIS_X) + 1ab0: 3842 cmpnei r0, 2 + 1ab2: 0807 bt 0x1ac0 // 1ac0 + { + case ENDIS_IMOSC: + while (!(SYSCON->CKST & ENDIS_IMOSC)); + 1ab4: 3102 movi r1, 2 + 1ab6: 9344 ld.w r2, (r3, 0x10) + 1ab8: 6884 and r2, r1 + 1aba: 3a40 cmpnei r2, 0 + 1abc: 0ffd bf 0x1ab6 // 1ab6 + { + SYSCON->GCDR|=ENDIS_X; //disable SYSCON General Control + while(SYSCON->GCSR&ENDIS_X); //check Disable? + SYSCON->ICR|=ENDIS_X; //Clear ENDIS_X stable bit + } +} + 1abe: 783c jmp r15 + switch(ENDIS_X) + 1ac0: 3802 cmphsi r0, 3 + 1ac2: 0809 bt 0x1ad4 // 1ad4 + 1ac4: 3841 cmpnei r0, 1 + 1ac6: 0bfc bt 0x1abe // 1abe + while (!(SYSCON->CKST & ENDIS_ISOSC)); + 1ac8: 3101 movi r1, 1 + 1aca: 9344 ld.w r2, (r3, 0x10) + 1acc: 6884 and r2, r1 + 1ace: 3a40 cmpnei r2, 0 + 1ad0: 0ffd bf 0x1aca // 1aca + 1ad2: 07f6 br 0x1abe // 1abe + switch(ENDIS_X) + 1ad4: 3848 cmpnei r0, 8 + 1ad6: 0807 bt 0x1ae4 // 1ae4 + while (!(SYSCON->CKST & ENDIS_EMOSC)); + 1ad8: 3108 movi r1, 8 + 1ada: 9344 ld.w r2, (r3, 0x10) + 1adc: 6884 and r2, r1 + 1ade: 3a40 cmpnei r2, 0 + 1ae0: 0ffd bf 0x1ada // 1ada + 1ae2: 07ee br 0x1abe // 1abe + switch(ENDIS_X) + 1ae4: 3850 cmpnei r0, 16 + 1ae6: 0bec bt 0x1abe // 1abe + while (!(SYSCON->CKST & ENDIS_HFOSC)); + 1ae8: 3110 movi r1, 16 + 1aea: 9344 ld.w r2, (r3, 0x10) + 1aec: 6884 and r2, r1 + 1aee: 3a40 cmpnei r2, 0 + 1af0: 0ffd bf 0x1aea // 1aea + 1af2: 07e6 br 0x1abe // 1abe + 1af4: 2000004c .long 0x2000004c + 1af8: 2000005c .long 0x2000005c + +Disassembly of section .text.SYSCON_RST_VALUE: + +00001afc : + SYSCON->RAMCHK=SYSCON_RAMCHK_RST; + 1afc: 106c lrw r3, 0x2000005c // 1b2c + 1afe: 104d lrw r2, 0xffff // 1b30 + 1b00: 9360 ld.w r3, (r3, 0x0) + 1b02: b345 st.w r2, (r3, 0x14) + SYSCON->EFLCHK=SYSCON_EFLCHK_RST; + 1b04: 104c lrw r2, 0xffffff // 1b34 + 1b06: b346 st.w r2, (r3, 0x18) + SYSCON->SCLKCR=SYSCON_SCLKCR_RST; + 1b08: 104c lrw r2, 0xd22d0000 // 1b38 + 1b0a: b347 st.w r2, (r3, 0x1c) + SYSCON->OSTR=SYSCON_OSTR_RST; + 1b0c: 104c lrw r2, 0x70ff3bff // 1b3c + 1b0e: b350 st.w r2, (r3, 0x40) + SYSCON->LVDCR=SYSCON_LVDCR_RST; + 1b10: 320a movi r2, 10 + 1b12: b353 st.w r2, (r3, 0x4c) + SYSCON->IWDCR=SYSCON_IWDCR_RST; + 1b14: 102b lrw r1, 0x70c // 1b40 + SYSCON->EXIRT=SYSCON_EXIRT_RST; + 1b16: 237f addi r3, 128 + 1b18: 3200 movi r2, 0 + 1b1a: b345 st.w r2, (r3, 0x14) + SYSCON->EXIFT=SYSCON_EXIFT_RST; + 1b1c: b346 st.w r2, (r3, 0x18) + SYSCON->IWDCR=SYSCON_IWDCR_RST; + 1b1e: b32d st.w r1, (r3, 0x34) + SYSCON->IWDCNT=SYSCON_IWDCNT_RST; + 1b20: 1029 lrw r1, 0x3fe // 1b44 + 1b22: b32e st.w r1, (r3, 0x38) + SYSCON->EVTRG=SYSCON_EVTRG_RST; + 1b24: b35d st.w r2, (r3, 0x74) + SYSCON->EVPS=SYSCON_EVPS_RST; + 1b26: b35e st.w r2, (r3, 0x78) + SYSCON->EVSWF=SYSCON_EVSWF_RST; + 1b28: b35f st.w r2, (r3, 0x7c) +} + 1b2a: 783c jmp r15 + 1b2c: 2000005c .long 0x2000005c + 1b30: 0000ffff .long 0x0000ffff + 1b34: 00ffffff .long 0x00ffffff + 1b38: d22d0000 .long 0xd22d0000 + 1b3c: 70ff3bff .long 0x70ff3bff + 1b40: 0000070c .long 0x0000070c + 1b44: 000003fe .long 0x000003fe + +Disassembly of section .text.SYSCON_General_CMD: + +00001b48 : +{ + 1b48: 14d0 push r15 + if (NewState != DISABLE) + 1b4a: 3840 cmpnei r0, 0 + 1b4c: 0c05 bf 0x1b56 // 1b56 + 1b4e: 6c07 mov r0, r1 + 1b50: e3ffff9c bsr 0x1a88 // 1a88 +} + 1b54: 1490 pop r15 + SYSCON->GCDR|=ENDIS_X; //disable SYSCON General Control + 1b56: 1068 lrw r3, 0x2000005c // 1b74 + 1b58: 9360 ld.w r3, (r3, 0x0) + 1b5a: 9342 ld.w r2, (r3, 0x8) + 1b5c: 6c84 or r2, r1 + 1b5e: b342 st.w r2, (r3, 0x8) + while(SYSCON->GCSR&ENDIS_X); //check Disable? + 1b60: 9343 ld.w r2, (r3, 0xc) + 1b62: 6884 and r2, r1 + 1b64: 3a40 cmpnei r2, 0 + 1b66: 0bfd bt 0x1b60 // 1b60 + SYSCON->ICR|=ENDIS_X; //Clear ENDIS_X stable bit + 1b68: 237f addi r3, 128 + 1b6a: 9301 ld.w r0, (r3, 0x4) + 1b6c: 6c40 or r1, r0 + 1b6e: b321 st.w r1, (r3, 0x4) +} + 1b70: 07f2 br 0x1b54 // 1b54 + 1b72: 0000 bkpt + 1b74: 2000005c .long 0x2000005c + +Disassembly of section .text.SystemCLK_HCLKDIV_PCLKDIV_Config: + +00001b78 : +//SystemClk_data_x:EMOSC_24M,EMOSC_16M,EMOSC_12M,EMOSC_8M,EMOSC_4M,EMOSC_36K, +//ISOSC,IMOSC,HFOSC_48M,HFOSC_24M,HFOSC_12M,HFOSC_6M +//ReturnValue:NONE +/*************************************************************/ +void SystemCLK_HCLKDIV_PCLKDIV_Config(SystemCLK_TypeDef SYSCLK_X , SystemCLK_Div_TypeDef HCLK_DIV_X , PCLK_Div_TypeDef PCLK_DIV_X , SystemClk_data_TypeDef SystemClk_data_x ) +{ + 1b78: 14c2 push r4-r5 + if(SystemClk_data_x==HFOSC_48M) + 1b7a: 3b48 cmpnei r3, 8 + 1b7c: 0828 bt 0x1bcc // 1bcc + { + IFC->CEDR=0X01; //CLKEN + 1b7e: 109d lrw r4, 0x20000060 // 1bf0 + 1b80: 3501 movi r5, 1 + 1b82: 9480 ld.w r4, (r4, 0x0) + 1b84: b4a1 st.w r5, (r4, 0x4) + IFC->MR=0X04|(0X00<<16); //High speed mode + 1b86: 3504 movi r5, 4 + 1b88: b4a5 st.w r5, (r4, 0x14) + if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==HFOSC_24M)) + { + IFC->CEDR=0X01; //CLKEN + IFC->MR=0X02|(0X00<<16); //Medium speed mode + } + if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==EMOSC_16M)) + 1b8a: 5b83 subi r4, r3, 1 + 1b8c: 3c01 cmphsi r4, 2 + 1b8e: 0c2b bf 0x1be4 // 1be4 + { + IFC->CEDR=0X01; //CLKEN + IFC->MR=0X01|(0X00<<16); //Low speed mode + } + if((SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K) + ||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_6M)) + 1b90: 5b8b subi r4, r3, 3 + if((SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K) + 1b92: 3c04 cmphsi r4, 5 + 1b94: 0c03 bf 0x1b9a // 1b9a + ||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_6M)) + 1b96: 3b4b cmpnei r3, 11 + 1b98: 0807 bt 0x1ba6 // 1ba6 + { + IFC->CEDR=0X01; //CLKEN + 1b9a: 1076 lrw r3, 0x20000060 // 1bf0 + 1b9c: 3401 movi r4, 1 + 1b9e: 9360 ld.w r3, (r3, 0x0) + 1ba0: b381 st.w r4, (r3, 0x4) + IFC->MR=0X00|(0X00<<16); //Low speed mode + 1ba2: 3400 movi r4, 0 + 1ba4: b385 st.w r4, (r3, 0x14) + } + SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X; + 1ba6: 1094 lrw r4, 0xd22d0000 // 1bf4 + 1ba8: 6c10 or r0, r4 + 1baa: 1074 lrw r3, 0x2000005c // 1bf8 + 1bac: 6c40 or r1, r0 + 1bae: 9360 ld.w r3, (r3, 0x0) + while (!(SYSCON->CKST & (1<<8))); // waiting for sysclk stable + 1bb0: 3080 movi r0, 128 + SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X; + 1bb2: b327 st.w r1, (r3, 0x1c) + while (!(SYSCON->CKST & (1<<8))); // waiting for sysclk stable + 1bb4: 4001 lsli r0, r0, 1 + 1bb6: 9324 ld.w r1, (r3, 0x10) + 1bb8: 6840 and r1, r0 + 1bba: 3940 cmpnei r1, 0 + 1bbc: 0ffd bf 0x1bb6 // 1bb6 + SYSCON->PCLKCR=PCLK_KEY|PCLK_DIV_X; //PCLK DIV 1 2 4 6 8 16 + 1bbe: 1030 lrw r1, 0xc33c0000 // 1bfc + 1bc0: 6c48 or r1, r2 + 1bc2: b328 st.w r1, (r3, 0x20) + while(SYSCON->PCLKCR!=PCLK_DIV_X); //Wait PCLK DIV + 1bc4: 9328 ld.w r1, (r3, 0x20) + 1bc6: 644a cmpne r2, r1 + 1bc8: 0bfe bt 0x1bc4 // 1bc4 +} + 1bca: 1482 pop r4-r5 + if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==HFOSC_24M)) + 1bcc: 3b40 cmpnei r3, 0 + 1bce: 0c03 bf 0x1bd4 // 1bd4 + 1bd0: 3b49 cmpnei r3, 9 + 1bd2: 0807 bt 0x1be0 // 1be0 + IFC->CEDR=0X01; //CLKEN + 1bd4: 1087 lrw r4, 0x20000060 // 1bf0 + 1bd6: 3501 movi r5, 1 + 1bd8: 9480 ld.w r4, (r4, 0x0) + 1bda: b4a1 st.w r5, (r4, 0x4) + IFC->MR=0X02|(0X00<<16); //Medium speed mode + 1bdc: 3502 movi r5, 2 + 1bde: b4a5 st.w r5, (r4, 0x14) + if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==EMOSC_16M)) + 1be0: 3b4a cmpnei r3, 10 + 1be2: 0bd4 bt 0x1b8a // 1b8a + IFC->CEDR=0X01; //CLKEN + 1be4: 1083 lrw r4, 0x20000060 // 1bf0 + 1be6: 3501 movi r5, 1 + 1be8: 9480 ld.w r4, (r4, 0x0) + 1bea: b4a1 st.w r5, (r4, 0x4) + IFC->MR=0X01|(0X00<<16); //Low speed mode + 1bec: b4a5 st.w r5, (r4, 0x14) + 1bee: 07d1 br 0x1b90 // 1b90 + 1bf0: 20000060 .long 0x20000060 + 1bf4: d22d0000 .long 0xd22d0000 + 1bf8: 2000005c .long 0x2000005c + 1bfc: c33c0000 .long 0xc33c0000 + +Disassembly of section .text.SYSCON_HFOSC_SELECTE: + +00001c00 : +//EntryParameter:HFOSC_SELECTE_X +//HFOSC_SELECTE_X:HFOSC_SELECTE_48M,HFOSC_SELECTE_24M;HFOSC_SELECTE_12M;HFOSC_SELECTE_6M +//ReturnValue:NONE +/*************************************************************/ +void SYSCON_HFOSC_SELECTE(HFOSC_SELECTE_TypeDef HFOSC_SELECTE_X) +{ + 1c00: 14d1 push r4, r15 + 1c02: 6d03 mov r4, r0 + SYSCON_General_CMD(DISABLE,ENDIS_HFOSC); //disable HFOSC + 1c04: 3110 movi r1, 16 + 1c06: 3000 movi r0, 0 + 1c08: e3ffffa0 bsr 0x1b48 // 1b48 + SYSCON->OPT1 = (SYSCON->OPT1 & 0XFFFFFFCF)|HFOSC_SELECTE_X; + 1c0c: 1066 lrw r3, 0x2000005c // 1c24 + 1c0e: 9360 ld.w r3, (r3, 0x0) + 1c10: 9319 ld.w r0, (r3, 0x64) + 1c12: 3884 bclri r0, 4 + 1c14: 3885 bclri r0, 5 + 1c16: 6c10 or r0, r4 + 1c18: b319 st.w r0, (r3, 0x64) + 1c1a: 3010 movi r0, 16 + 1c1c: e3ffff36 bsr 0x1a88 // 1a88 + SYSCON_General_CMD(ENABLE,ENDIS_HFOSC); //enable HFOSC +} + 1c20: 1491 pop r4, r15 + 1c22: 0000 bkpt + 1c24: 2000005c .long 0x2000005c + +Disassembly of section .text.SYSCON_WDT_CMD: + +00001c28 : +//EntryParameter:,NewState +//NewState:ENABLE,DISABLE +//ReturnValue:NONE +/*************************************************************/ +void SYSCON_WDT_CMD(FunctionalStatus NewState) +{ + 1c28: 106c lrw r3, 0x2000005c // 1c58 + if(NewState != DISABLE) + 1c2a: 3840 cmpnei r0, 0 + { + SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT; + 1c2c: 9360 ld.w r3, (r3, 0x0) + 1c2e: 237f addi r3, 128 + if(NewState != DISABLE) + 1c30: 0c0a bf 0x1c44 // 1c44 + SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT; + 1c32: 104b lrw r2, 0x78870000 // 1c5c + while(!(SYSCON->IWDCR&Check_IWDT_BUSY)); + 1c34: 3180 movi r1, 128 + SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT; + 1c36: b34f st.w r2, (r3, 0x3c) + while(!(SYSCON->IWDCR&Check_IWDT_BUSY)); + 1c38: 4125 lsli r1, r1, 5 + 1c3a: 934d ld.w r2, (r3, 0x34) + 1c3c: 6884 and r2, r1 + 1c3e: 3a40 cmpnei r2, 0 + 1c40: 0ffd bf 0x1c3a // 1c3a + else + { + SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT; + while(SYSCON->IWDCR&Check_IWDT_BUSY); + } +} + 1c42: 783c jmp r15 + SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT; + 1c44: 1047 lrw r2, 0x788755aa // 1c60 + while(SYSCON->IWDCR&Check_IWDT_BUSY); + 1c46: 3180 movi r1, 128 + SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT; + 1c48: b34f st.w r2, (r3, 0x3c) + while(SYSCON->IWDCR&Check_IWDT_BUSY); + 1c4a: 4125 lsli r1, r1, 5 + 1c4c: 934d ld.w r2, (r3, 0x34) + 1c4e: 6884 and r2, r1 + 1c50: 3a40 cmpnei r2, 0 + 1c52: 0bfd bt 0x1c4c // 1c4c + 1c54: 07f7 br 0x1c42 // 1c42 + 1c56: 0000 bkpt + 1c58: 2000005c .long 0x2000005c + 1c5c: 78870000 .long 0x78870000 + 1c60: 788755aa .long 0x788755aa + +Disassembly of section .text.SYSCON_IWDCNT_Reload: + +00001c64 : +//EntryParameter:NONE +//ReturnValue: NONE +/*************************************************************/ +void SYSCON_IWDCNT_Reload(void) +{ + SYSCON->IWDCNT=CLR_IWDT; + 1c64: 1064 lrw r3, 0x2000005c // 1c74 + 1c66: 32b4 movi r2, 180 + 1c68: 9360 ld.w r3, (r3, 0x0) + 1c6a: 237f addi r3, 128 + 1c6c: 4257 lsli r2, r2, 23 + 1c6e: b34e st.w r2, (r3, 0x38) +} + 1c70: 783c jmp r15 + 1c72: 0000 bkpt + 1c74: 2000005c .long 0x2000005c + +Disassembly of section .text.SYSCON_IWDCNT_Config: + +00001c78 : +//IWDT_INTW_DIV_X:IWDT_INTW_DIV_1/2/3/4/4/5/6 +//ReturnValue: NONE +/*************************************************************/ +void SYSCON_IWDCNT_Config(IWDT_TIME_TypeDef IWDT_TIME_X , IWDT_TIMEDIV_TypeDef IWDT_INTW_DIV_X ) +{ + SYSCON->IWDCR=IWDT_KEY|IWDT_TIME_X|IWDT_INTW_DIV_X; + 1c78: 1044 lrw r2, 0x87780000 // 1c88 + 1c7a: 1065 lrw r3, 0x2000005c // 1c8c + 1c7c: 6c48 or r1, r2 + 1c7e: 9360 ld.w r3, (r3, 0x0) + 1c80: 6c04 or r0, r1 + 1c82: 237f addi r3, 128 + 1c84: b30d st.w r0, (r3, 0x34) +} + 1c86: 783c jmp r15 + 1c88: 87780000 .long 0x87780000 + 1c8c: 2000005c .long 0x2000005c + +Disassembly of section .text.SYSCON_LVD_Config: + +00001c90 : +//X_LVD_INT:ENABLE_LVD_INT,DISABLE_LVD_INT +//INTDET_POL_X:INTDET_POL_fall,INTDET_POL_X_rise,INTDET_POL_X_riseORfall +//ReturnValue: NONE +/*************************************************************/ +void SYSCON_LVD_Config(X_LVDEN_TypeDef X_LVDEN , INTDET_LVL_X_TypeDef INTDET_LVL_X , RSTDET_LVL_X_TypeDef RSTDET_LVL_X , X_LVD_INT_TypeDef X_LVD_INT , INTDET_POL_X_TypeDef INTDET_POL_X) +{ + 1c90: 14c3 push r4-r6 + 1c92: 9883 ld.w r4, (r14, 0xc) + //SYSCON->LVDCR=LVD_KEY; + SYSCON->LVDCR=LVD_KEY|X_LVDEN|INTDET_LVL_X|RSTDET_LVL_X|X_LVD_INT|INTDET_POL_X; + 1c94: 10c5 lrw r6, 0xb44b0000 // 1ca8 + 1c96: 6d18 or r4, r6 + 1c98: 6cd0 or r3, r4 + 1c9a: 6c8c or r2, r3 + 1c9c: 6c48 or r1, r2 + 1c9e: 10a4 lrw r5, 0x2000005c // 1cac + 1ca0: 6c04 or r0, r1 + 1ca2: 95a0 ld.w r5, (r5, 0x0) + 1ca4: b513 st.w r0, (r5, 0x4c) +} + 1ca6: 1483 pop r4-r6 + 1ca8: b44b0000 .long 0xb44b0000 + 1cac: 2000005c .long 0x2000005c + +Disassembly of section .text.LVD_Int_Enable: + +00001cb0 : +//EntryParameter:NONE +//ReturnValue: NONE +/*************************************************************/ +void LVD_Int_Enable(void) +{ + SYSCON->ICR = LVD_INT_ST; //clear LVD INT status + 1cb0: 1066 lrw r3, 0x2000005c // 1cc8 + 1cb2: 3180 movi r1, 128 + 1cb4: 9360 ld.w r3, (r3, 0x0) + 1cb6: 3280 movi r2, 128 + 1cb8: 604c addu r1, r3 + 1cba: 4244 lsli r2, r2, 4 + 1cbc: b141 st.w r2, (r1, 0x4) + SYSCON->IMER |= LVD_INT_ST; + 1cbe: 935d ld.w r2, (r3, 0x74) + 1cc0: 3aab bseti r2, 11 + 1cc2: b35d st.w r2, (r3, 0x74) +} + 1cc4: 783c jmp r15 + 1cc6: 0000 bkpt + 1cc8: 2000005c .long 0x2000005c + +Disassembly of section .text.IWDT_Int_Enable: + +00001ccc : +//EntryParameter:NONE +//ReturnValue: NONE +/*************************************************************/ +void IWDT_Int_Enable(void) +{ + SYSCON->ICR = IWDT_INT_ST; //clear LVD INT status + 1ccc: 1066 lrw r3, 0x2000005c // 1ce4 + 1cce: 3180 movi r1, 128 + 1cd0: 9360 ld.w r3, (r3, 0x0) + 1cd2: 3280 movi r2, 128 + 1cd4: 604c addu r1, r3 + 1cd6: 4241 lsli r2, r2, 1 + 1cd8: b141 st.w r2, (r1, 0x4) + SYSCON->IMER |= IWDT_INT_ST; + 1cda: 935d ld.w r2, (r3, 0x74) + 1cdc: 3aa8 bseti r2, 8 + 1cde: b35d st.w r2, (r3, 0x74) +} + 1ce0: 783c jmp r15 + 1ce2: 0000 bkpt + 1ce4: 2000005c .long 0x2000005c + +Disassembly of section .text.EXTI_trigger_CMD: + +00001ce8 : +//EXI_tringer_mode:_EXIRT,_EXIFT +//ReturnValue: LVD detection flag +/*************************************************************/ +void EXTI_trigger_CMD(FunctionalStatus NewState , SYSCON_EXIPIN_TypeDef EXIPIN , EXI_tringer_mode_TypeDef EXI_tringer_mode) +{ + switch(EXI_tringer_mode) + 1ce8: 3a40 cmpnei r2, 0 + 1cea: 0c04 bf 0x1cf2 // 1cf2 + 1cec: 3a41 cmpnei r2, 1 + 1cee: 0c0e bf 0x1d0a // 1d0a + { + SYSCON->EXIFT &=~EXIPIN; + } + break; + } +} + 1cf0: 783c jmp r15 + 1cf2: 106d lrw r3, 0x2000005c // 1d24 + if(NewState != DISABLE) + 1cf4: 3840 cmpnei r0, 0 + SYSCON->EXIRT |=EXIPIN; + 1cf6: 9360 ld.w r3, (r3, 0x0) + 1cf8: 237f addi r3, 128 + 1cfa: 9345 ld.w r2, (r3, 0x14) + if(NewState != DISABLE) + 1cfc: 0c04 bf 0x1d04 // 1d04 + SYSCON->EXIRT |=EXIPIN; + 1cfe: 6c48 or r1, r2 + 1d00: b325 st.w r1, (r3, 0x14) + 1d02: 07f7 br 0x1cf0 // 1cf0 + SYSCON->EXIRT &=~EXIPIN; + 1d04: 6885 andn r2, r1 + 1d06: b345 st.w r2, (r3, 0x14) + 1d08: 07f4 br 0x1cf0 // 1cf0 + 1d0a: 1067 lrw r3, 0x2000005c // 1d24 + if(NewState != DISABLE) + 1d0c: 3840 cmpnei r0, 0 + SYSCON->EXIFT |=EXIPIN; + 1d0e: 9360 ld.w r3, (r3, 0x0) + 1d10: 237f addi r3, 128 + 1d12: 9346 ld.w r2, (r3, 0x18) + if(NewState != DISABLE) + 1d14: 0c04 bf 0x1d1c // 1d1c + SYSCON->EXIFT |=EXIPIN; + 1d16: 6c48 or r1, r2 + 1d18: b326 st.w r1, (r3, 0x18) + 1d1a: 07eb br 0x1cf0 // 1cf0 + SYSCON->EXIFT &=~EXIPIN; + 1d1c: 6885 andn r2, r1 + 1d1e: b346 st.w r2, (r3, 0x18) +} + 1d20: 07e8 br 0x1cf0 // 1cf0 + 1d22: 0000 bkpt + 1d24: 2000005c .long 0x2000005c + +Disassembly of section .text.EXTI_interrupt_CMD: + +00001d28 : +//NewState:ENABLE,DISABLE +//ReturnValue:NONE +/*************************************************************/ +void EXTI_interrupt_CMD(FunctionalStatus NewState , SYSCON_EXIPIN_TypeDef EXIPIN) +{ + SYSCON->EXICR = 0X3FFF; //Claer EXI INT status + 1d28: 106b lrw r3, 0x2000005c // 1d54 + 1d2a: 104c lrw r2, 0x3fff // 1d58 + 1d2c: 9360 ld.w r3, (r3, 0x0) + 1d2e: 237f addi r3, 128 + if(NewState != DISABLE) + 1d30: 3840 cmpnei r0, 0 + SYSCON->EXICR = 0X3FFF; //Claer EXI INT status + 1d32: b34b st.w r2, (r3, 0x2c) + if(NewState != DISABLE) + 1d34: 0c0c bf 0x1d4c // 1d4c + { + SYSCON->EXIER|=EXIPIN; //EXI4 interrupt enable + 1d36: 9347 ld.w r2, (r3, 0x1c) + 1d38: 6c84 or r2, r1 + 1d3a: b347 st.w r2, (r3, 0x1c) + while(!(SYSCON->EXIMR&EXIPIN)); //Check EXI is enabled or not + 1d3c: 9349 ld.w r2, (r3, 0x24) + 1d3e: 6884 and r2, r1 + 1d40: 3a40 cmpnei r2, 0 + 1d42: 0ffd bf 0x1d3c // 1d3c + SYSCON->EXICR |=EXIPIN; // Clear EXI status bit + 1d44: 934b ld.w r2, (r3, 0x2c) + 1d46: 6c48 or r1, r2 + 1d48: b32b st.w r1, (r3, 0x2c) + } + else + { + SYSCON->EXIDR|=EXIPIN; + } +} + 1d4a: 783c jmp r15 + SYSCON->EXIDR|=EXIPIN; + 1d4c: 9348 ld.w r2, (r3, 0x20) + 1d4e: 6c48 or r1, r2 + 1d50: b328 st.w r1, (r3, 0x20) +} + 1d52: 07fc br 0x1d4a // 1d4a + 1d54: 2000005c .long 0x2000005c + 1d58: 00003fff .long 0x00003fff + +Disassembly of section .text.GPIO_EXTI_interrupt: + +00001d5c : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void GPIO_EXTI_interrupt(CSP_GPIO_T * GPIOX,U32_T GPIO_IECR_VALUE) +{ + GPIOX->IECR=GPIO_IECR_VALUE; + 1d5c: b02b st.w r1, (r0, 0x2c) +} + 1d5e: 783c jmp r15 + +Disassembly of section .text.EXI3_Int_Enable: + +00001d60 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI3_Int_Enable(void) +{ + INTC_ISER_WRITE(EXI3_INT); + 1d60: 3380 movi r3, 128 + 1d62: 436f lsli r3, r3, 15 + 1d64: 1042 lrw r2, 0xe000e100 // 1d6c + 1d66: b260 st.w r3, (r2, 0x0) +} + 1d68: 783c jmp r15 + 1d6a: 0000 bkpt + 1d6c: e000e100 .long 0xe000e100 + +Disassembly of section .text.SYSCON_Int_Enable: + +00001d70 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SYSCON_Int_Enable(void) +{ + INTC_ISER_WRITE(SYSCON_INT); + 1d70: 3202 movi r2, 2 + 1d72: 1062 lrw r3, 0xe000e100 // 1d78 + 1d74: b340 st.w r2, (r3, 0x0) +} + 1d76: 783c jmp r15 + 1d78: e000e100 .long 0xe000e100 + +Disassembly of section .text.SYSCON_Int_Disable: + +00001d7c : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SYSCON_Int_Disable(void) +{ + INTC_ICER_WRITE(SYSCON_INT); + 1d7c: 3202 movi r2, 2 + 1d7e: 1062 lrw r3, 0xe000e180 // 1d84 + 1d80: b340 st.w r2, (r3, 0x0) +} + 1d82: 783c jmp r15 + 1d84: e000e180 .long 0xe000e180 + +Disassembly of section .text.SYSCON_INT_Priority: + +00001d88 : +//80:Priority 2 +//C0:Priority 3 lowest +/*************************************************************/ +void SYSCON_INT_Priority(void) +{ + INTC_IPR0_WRITE(0XC0C0C0C0); //IQR0-3 low bit-->high bit + 1d88: 1066 lrw r3, 0xe000e400 // 1da0 + 1d8a: 1047 lrw r2, 0xc0c0c0c0 // 1da4 + INTC_IPR1_WRITE(0XC0C0C0C0); //IQR4-7 + INTC_IPR2_WRITE(0XC0C0C0C0); //IQR8-11 + INTC_IPR3_WRITE(0XC0C0C0C0); //IQR12-15 + INTC_IPR4_WRITE(0XC0C0C0C0); //IQR16-19 + INTC_IPR5_WRITE(0XC0C0C0C0); //IQR20-23 + INTC_IPR6_WRITE(0XC0C000C0); //IQR24-27 + 1d8c: 1027 lrw r1, 0xc0c000c0 // 1da8 + INTC_IPR0_WRITE(0XC0C0C0C0); //IQR0-3 low bit-->high bit + 1d8e: b340 st.w r2, (r3, 0x0) + INTC_IPR1_WRITE(0XC0C0C0C0); //IQR4-7 + 1d90: b341 st.w r2, (r3, 0x4) + INTC_IPR2_WRITE(0XC0C0C0C0); //IQR8-11 + 1d92: b342 st.w r2, (r3, 0x8) + INTC_IPR3_WRITE(0XC0C0C0C0); //IQR12-15 + 1d94: b343 st.w r2, (r3, 0xc) + INTC_IPR4_WRITE(0XC0C0C0C0); //IQR16-19 + 1d96: b344 st.w r2, (r3, 0x10) + INTC_IPR5_WRITE(0XC0C0C0C0); //IQR20-23 + 1d98: b345 st.w r2, (r3, 0x14) + INTC_IPR6_WRITE(0XC0C000C0); //IQR24-27 + 1d9a: b326 st.w r1, (r3, 0x18) + INTC_IPR7_WRITE(0XC0C0C0C0); //IQR28-31 + 1d9c: b347 st.w r2, (r3, 0x1c) +} + 1d9e: 783c jmp r15 + 1da0: e000e400 .long 0xe000e400 + 1da4: c0c0c0c0 .long 0xc0c0c0c0 + 1da8: c0c000c0 .long 0xc0c000c0 + +Disassembly of section .text.Set_INT_Priority: + +00001dac : +//int_name:CORET_IRQ~BT1_IRQ +//int_level:0~3 0=highest 3=lowest +//ReturnValue:None +/*************************************************************/ +void Set_INT_Priority(U8_T int_name,U8_T int_level) +{ + 1dac: 14c1 push r4 + 1dae: 4862 lsri r3, r0, 2 + 1db0: 4342 lsli r2, r3, 2 + 1db2: 106a lrw r3, 0x20000064 // 1dd8 + U8_T i_temp,j_temp; + U32_T k_temp; + i_temp=(int_name%4)*8; + 1db4: 3403 movi r4, 3 + 1db6: 9360 ld.w r3, (r3, 0x0) + 1db8: 60c8 addu r3, r2 + j_temp=int_name/4; + k_temp=CK801 -> IPR[j_temp]&(~(0xff< IPR[j_temp]&(~(0xff< IPR[j_temp]=k_temp|((int_level*0x40)<<(i_temp)); + 1dca: 4126 lsli r1, r1, 6 + k_temp=CK801 -> IPR[j_temp]&(~(0xff< IPR[j_temp]=k_temp|((int_level*0x40)<<(i_temp)); + 1dce: 7040 lsl r1, r0 + 1dd0: 6c48 or r1, r2 + 1dd2: b320 st.w r1, (r3, 0x0) +} + 1dd4: 1481 pop r4 + 1dd6: 0000 bkpt + 1dd8: 20000064 .long 0x20000064 + +Disassembly of section .text.GPIO_DeInit: + +00001ddc : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void GPIO_DeInit(void) +{ + GPIOA0->CONLR &= 0xFF000000; + 1ddc: 1075 lrw r3, 0x2000004c // 1e30 + GPIOA0->CONHR = GPIO_RESET_VALUE; + GPIOB0->CONLR = GPIO_RESET_VALUE; + 1dde: 1036 lrw r1, 0x20000048 // 1e34 + GPIOB0->CODR = GPIO_RESET_VALUE; + GPIOA0->ODSR = GPIO_RESET_VALUE; + GPIOB0->ODSR = GPIO_RESET_VALUE; + GPIOA0->PSDR = GPIO_RESET_VALUE; + GPIOB0->PSDR = GPIO_RESET_VALUE; + GPIOA0->FLTEN = 0xffff; + 1de0: 1016 lrw r0, 0xffff // 1e38 + GPIOA0->CONLR &= 0xFF000000; + 1de2: 9340 ld.w r2, (r3, 0x0) + 1de4: 9260 ld.w r3, (r2, 0x0) + 1de6: 4b78 lsri r3, r3, 24 + 1de8: 4378 lsli r3, r3, 24 + 1dea: b260 st.w r3, (r2, 0x0) + GPIOB0->CONLR = GPIO_RESET_VALUE; + 1dec: 9120 ld.w r1, (r1, 0x0) + GPIOA0->CONHR = GPIO_RESET_VALUE; + 1dee: 3300 movi r3, 0 + 1df0: b261 st.w r3, (r2, 0x4) + GPIOB0->CONLR = GPIO_RESET_VALUE; + 1df2: b160 st.w r3, (r1, 0x0) + GPIOB0->CONHR = GPIO_RESET_VALUE; + 1df4: b161 st.w r3, (r1, 0x4) + GPIOA0->WODR = GPIO_RESET_VALUE; + 1df6: b262 st.w r3, (r2, 0x8) + GPIOB0->WODR = GPIO_RESET_VALUE; + 1df8: b162 st.w r3, (r1, 0x8) + GPIOA0->SODR = GPIO_RESET_VALUE; + 1dfa: b263 st.w r3, (r2, 0xc) + GPIOB0->SODR = GPIO_RESET_VALUE; + 1dfc: b163 st.w r3, (r1, 0xc) + GPIOA0->CODR = GPIO_RESET_VALUE; + 1dfe: b264 st.w r3, (r2, 0x10) + GPIOB0->CODR = GPIO_RESET_VALUE; + 1e00: b164 st.w r3, (r1, 0x10) + GPIOA0->ODSR = GPIO_RESET_VALUE; + 1e02: b265 st.w r3, (r2, 0x14) + GPIOB0->ODSR = GPIO_RESET_VALUE; + 1e04: b165 st.w r3, (r1, 0x14) + GPIOA0->PSDR = GPIO_RESET_VALUE; + 1e06: b266 st.w r3, (r2, 0x18) + GPIOB0->PSDR = GPIO_RESET_VALUE; + 1e08: b166 st.w r3, (r1, 0x18) + GPIOA0->FLTEN = 0xffff; + 1e0a: b207 st.w r0, (r2, 0x1c) + GPIOB0->FLTEN = 0x3f; + 1e0c: 303f movi r0, 63 + 1e0e: b107 st.w r0, (r1, 0x1c) + GPIOA0->PUDR = GPIO_RESET_VALUE; + 1e10: b268 st.w r3, (r2, 0x20) + GPIOB0->PUDR = GPIO_RESET_VALUE; + 1e12: b168 st.w r3, (r1, 0x20) + GPIOA0->DSCR = GPIO_RESET_VALUE; + 1e14: b269 st.w r3, (r2, 0x24) + GPIOB0->DSCR = GPIO_RESET_VALUE; + 1e16: b169 st.w r3, (r1, 0x24) + GPIOA0->OMCR = GPIO_RESET_VALUE; + 1e18: b26a st.w r3, (r2, 0x28) + GPIOB0->OMCR = GPIO_RESET_VALUE; + 1e1a: b16a st.w r3, (r1, 0x28) + GPIOA0->IECR = GPIO_RESET_VALUE; + 1e1c: b26b st.w r3, (r2, 0x2c) + GPIOB0->IECR = GPIO_RESET_VALUE; + 1e1e: b16b st.w r3, (r1, 0x2c) + GPIOGRP->IGRPL = GPIO_RESET_VALUE; + 1e20: 1047 lrw r2, 0x20000044 // 1e3c + 1e22: 9240 ld.w r2, (r2, 0x0) + 1e24: b260 st.w r3, (r2, 0x0) + GPIOGRP->IGRPH = GPIO_RESET_VALUE; + 1e26: b261 st.w r3, (r2, 0x4) + GPIOGRP->IGREX = GPIO_RESET_VALUE; + 1e28: b262 st.w r3, (r2, 0x8) + GPIOGRP->IO_CLKEN = 0xf; + 1e2a: 330f movi r3, 15 + 1e2c: b263 st.w r3, (r2, 0xc) +} + 1e2e: 783c jmp r15 + 1e30: 2000004c .long 0x2000004c + 1e34: 20000048 .long 0x20000048 + 1e38: 0000ffff .long 0x0000ffff + 1e3c: 20000044 .long 0x20000044 + +Disassembly of section .text.GPIO_Init: + +00001e40 : +//byte:Lowbyte(PIN_0~7),Highbyte(PIN_8~15) +//Dir:0:output 1:input +//ReturnValue:NONE +/*************************************************************/ +void GPIO_Init(CSP_GPIO_T *GPIOx,uint8_t PinNum,GPIO_Dir_TypeDef Dir) +{ + 1e40: 14d1 push r4, r15 + uint32_t data_temp; + uint8_t GPIO_Pin; + if(PinNum<8) + 1e42: 3907 cmphsi r1, 8 +{ + 1e44: 6d03 mov r4, r0 + if(PinNum<8) + 1e46: 0830 bt 0x1ea6 // 1ea6 + { + switch (PinNum) + 1e48: 5903 subi r0, r1, 1 + 1e4a: 3806 cmphsi r0, 7 + 1e4c: 0827 bt 0x1e9a // 1e9a + 1e4e: e3fff757 bsr 0xcfc // cfc <___gnu_csky_case_uqi> + 1e52: 1004 .short 0x1004 + 1e54: 1d1a1613 .long 0x1d1a1613 + 1e58: 0021 .short 0x0021 + { + case 0:data_temp=0xfffffff0;GPIO_Pin=0;break; + case 1:data_temp=0xffffff0f;GPIO_Pin=4;break; + 1e5a: 3300 movi r3, 0 + 1e5c: 3104 movi r1, 4 + 1e5e: 2bf0 subi r3, 241 + case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break; + case 5:data_temp=0xff0fffff;GPIO_Pin=20;break; + case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break; + case 7:data_temp=0x0fffffff;GPIO_Pin=28;break; + } + if (Dir) + 1e60: 3a40 cmpnei r2, 0 + { + (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1< + (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1<CONLR = ((GPIOx)->CONLR & data_temp) | 2<CONHR = ((GPIOx)->CONHR & data_temp) | 2< + 1e76: 07f5 br 0x1e60 // 1e60 + case 3:data_temp=0xffff0fff;GPIO_Pin=12;break; + 1e78: 310c movi r1, 12 + 1e7a: 1166 lrw r3, 0xffff0fff // 1f10 + 1e7c: 07f2 br 0x1e60 // 1e60 + case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break; + 1e7e: 3110 movi r1, 16 + 1e80: 1165 lrw r3, 0xfff10000 // 1f14 + case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break; + 1e82: 2b00 subi r3, 1 + 1e84: 07ee br 0x1e60 // 1e60 + case 5:data_temp=0xff0fffff;GPIO_Pin=20;break; + 1e86: 3114 movi r1, 20 + 1e88: 1164 lrw r3, 0xff100000 // 1f18 + 1e8a: 07fc br 0x1e82 // 1e82 + case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break; + 1e8c: 33f1 movi r3, 241 + 1e8e: 3118 movi r1, 24 + 1e90: 4378 lsli r3, r3, 24 + 1e92: 07f8 br 0x1e82 // 1e82 + case 7:data_temp=0x0fffffff;GPIO_Pin=28;break; + 1e94: 311c movi r1, 28 + 1e96: 1162 lrw r3, 0xfffffff // 1f1c + 1e98: 07e4 br 0x1e60 // 1e60 + case 0:data_temp=0xfffffff0;GPIO_Pin=0;break; + 1e9a: 3300 movi r3, 0 + 1e9c: 3100 movi r1, 0 + 1e9e: 2b0f subi r3, 16 + 1ea0: 07e0 br 0x1e60 // 1e60 + (GPIOx)->CONLR = ((GPIOx)->CONLR & data_temp) | 2< + else if (PinNum<16) + 1ea6: 390f cmphsi r1, 16 + 1ea8: 0be4 bt 0x1e70 // 1e70 + switch (PinNum) + 1eaa: 2908 subi r1, 9 + 1eac: 3906 cmphsi r1, 7 + 1eae: 6c07 mov r0, r1 + 1eb0: 0827 bt 0x1efe // 1efe + 1eb2: e3fff725 bsr 0xcfc // cfc <___gnu_csky_case_uqi> + 1eb6: 1004 .short 0x1004 + 1eb8: 1d1a1613 .long 0x1d1a1613 + 1ebc: 0021 .short 0x0021 + case 9:data_temp=0xffffff0f;GPIO_Pin=4;break; + 1ebe: 3300 movi r3, 0 + 1ec0: 3104 movi r1, 4 + 1ec2: 2bf0 subi r3, 241 + if (Dir) + 1ec4: 3a40 cmpnei r2, 0 + (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1< + (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1<CONHR = ((GPIOx)->CONHR & data_temp) | 2< + case 10:data_temp=0xfffff0ff;GPIO_Pin=8;break; + 1ed6: 3108 movi r1, 8 + 1ed8: 106d lrw r3, 0xfffff0ff // 1f0c + 1eda: 07f5 br 0x1ec4 // 1ec4 + case 11:data_temp=0xffff0fff;GPIO_Pin=12;break; + 1edc: 310c movi r1, 12 + 1ede: 106d lrw r3, 0xffff0fff // 1f10 + 1ee0: 07f2 br 0x1ec4 // 1ec4 + case 12:data_temp=0xfff0ffff;GPIO_Pin=16;break; + 1ee2: 3110 movi r1, 16 + 1ee4: 106c lrw r3, 0xfff10000 // 1f14 + case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break; + 1ee6: 2b00 subi r3, 1 + 1ee8: 07ee br 0x1ec4 // 1ec4 + case 13:data_temp=0xff0fffff;GPIO_Pin=20;break; + 1eea: 3114 movi r1, 20 + 1eec: 106b lrw r3, 0xff100000 // 1f18 + 1eee: 07fc br 0x1ee6 // 1ee6 + case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break; + 1ef0: 33f1 movi r3, 241 + 1ef2: 3118 movi r1, 24 + 1ef4: 4378 lsli r3, r3, 24 + 1ef6: 07f8 br 0x1ee6 // 1ee6 + case 15:data_temp=0x0fffffff;GPIO_Pin=28;break; + 1ef8: 311c movi r1, 28 + 1efa: 1069 lrw r3, 0xfffffff // 1f1c + 1efc: 07e4 br 0x1ec4 // 1ec4 + case 8:data_temp=0xfffffff0;GPIO_Pin=0;break; + 1efe: 3300 movi r3, 0 + 1f00: 3100 movi r1, 0 + 1f02: 2b0f subi r3, 16 + 1f04: 07e0 br 0x1ec4 // 1ec4 + (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2< + 1f0a: 0000 bkpt + 1f0c: fffff0ff .long 0xfffff0ff + 1f10: ffff0fff .long 0xffff0fff + 1f14: fff10000 .long 0xfff10000 + 1f18: ff100000 .long 0xff100000 + 1f1c: 0fffffff .long 0x0fffffff + +Disassembly of section .text.GPIO_PullHigh_Init: + +00001f20 : +//bit:0~15 +//ReturnValue:VALUE +/*************************************************************/ +void GPIO_PullHigh_Init(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + (GPIOx)->PUDR = (((GPIOx)->PUDR) & ~(0x03<<(bit*2))) | (0x01<<(bit*2)); + 1f20: 4121 lsli r1, r1, 1 + 1f22: 3203 movi r2, 3 + 1f24: 9068 ld.w r3, (r0, 0x20) + 1f26: 7084 lsl r2, r1 + 1f28: 68c9 andn r3, r2 + 1f2a: 3201 movi r2, 1 + 1f2c: 7084 lsl r2, r1 + 1f2e: 6cc8 or r3, r2 + 1f30: b068 st.w r3, (r0, 0x20) +} + 1f32: 783c jmp r15 + +Disassembly of section .text.GPIO_DriveStrength_EN: + +00001f34 : +//bit:0~15 +//ReturnValue:VALUE +/*************************************************************/ +void GPIO_DriveStrength_EN(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + (GPIOx)->DSCR = ((GPIOx)->DSCR) | (0x01<<(bit*2)); + 1f34: 4121 lsli r1, r1, 1 + 1f36: 3301 movi r3, 1 + 1f38: 9049 ld.w r2, (r0, 0x24) + 1f3a: 70c4 lsl r3, r1 + 1f3c: 6cc8 or r3, r2 + 1f3e: b069 st.w r3, (r0, 0x24) +} + 1f40: 783c jmp r15 + +Disassembly of section .text.GPIO_IntGroup_Set: + +00001f44 : +//EXI16~EXI17:GPIOA0.0~GPIOA0.7 +//EXI18~EXI19:GPIOB0.0~GPIOB0.3 +//ReturnValue:NONE +/*************************************************************/ +void GPIO_IntGroup_Set(GPIO_Group_TypeDef IO_MODE , uint8_t PinNum , GPIO_EXIPIN_TypeDef Selete_EXI_x) +{ + 1f44: 14c1 push r4 + 1f46: 1422 subi r14, r14, 8 + volatile unsigned int R_data_temp; + volatile unsigned char R_GPIO_Pin; + if(Selete_EXI_x<16) + 1f48: 3a0f cmphsi r2, 16 + 1f4a: 084f bt 0x1fe8 // 1fe8 + { + if((Selete_EXI_x==0)||(Selete_EXI_x==8)) + 1f4c: 6ccb mov r3, r2 + 1f4e: 3b83 bclri r3, 3 + 1f50: 3b40 cmpnei r3, 0 + 1f52: 0813 bt 0x1f78 // 1f78 + { + R_data_temp=0xfffffff0; + 1f54: 2b0f subi r3, 16 + 1f56: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=0; + 1f58: 3300 movi r3, 0 + else if((Selete_EXI_x==7)||(Selete_EXI_x==15)) + { + R_data_temp=0x0fffffff; + R_GPIO_Pin=28; + } + if(Selete_EXI_x<8) + 1f5a: 3a07 cmphsi r2, 8 + R_GPIO_Pin=28; + 1f5c: dc6e0003 st.b r3, (r14, 0x3) + 1f60: 1176 lrw r3, 0x20000044 // 2038 + if(Selete_EXI_x<8) + 1f62: 0c38 bf 0x1fd2 // 1fd2 + { + GPIOGRP->IGRPL =(GPIOGRP->IGRPL & R_data_temp) | (IO_MODE<=8)) + { + GPIOGRP->IGRPH =(GPIOGRP->IGRPH & R_data_temp) | (IO_MODE< + else if((Selete_EXI_x==1)||(Selete_EXI_x==9)) + 1f78: 3b41 cmpnei r3, 1 + 1f7a: 0806 bt 0x1f86 // 1f86 + R_data_temp=0xffffff0f; + 1f7c: 3300 movi r3, 0 + 1f7e: 2bf0 subi r3, 241 + 1f80: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=4; + 1f82: 3304 movi r3, 4 + 1f84: 07eb br 0x1f5a // 1f5a + else if((Selete_EXI_x==2)||(Selete_EXI_x==10)) + 1f86: 3b42 cmpnei r3, 2 + 1f88: 0805 bt 0x1f92 // 1f92 + R_data_temp=0xfffff0ff; + 1f8a: 116d lrw r3, 0xfffff0ff // 203c + 1f8c: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=8; + 1f8e: 3308 movi r3, 8 + 1f90: 07e5 br 0x1f5a // 1f5a + else if((Selete_EXI_x==3)||(Selete_EXI_x==11)) + 1f92: 3b43 cmpnei r3, 3 + 1f94: 0805 bt 0x1f9e // 1f9e + R_data_temp=0xffff0fff; + 1f96: 116b lrw r3, 0xffff0fff // 2040 + 1f98: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=12; + 1f9a: 330c movi r3, 12 + 1f9c: 07df br 0x1f5a // 1f5a + else if((Selete_EXI_x==4)||(Selete_EXI_x==12)) + 1f9e: 3b44 cmpnei r3, 4 + 1fa0: 0806 bt 0x1fac // 1fac + R_data_temp=0xfff0ffff; + 1fa2: 1169 lrw r3, 0xfff10000 // 2044 + 1fa4: 2b00 subi r3, 1 + 1fa6: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=16; + 1fa8: 3310 movi r3, 16 + 1faa: 07d8 br 0x1f5a // 1f5a + else if((Selete_EXI_x==5)||(Selete_EXI_x==13)) + 1fac: 3b45 cmpnei r3, 5 + 1fae: 0806 bt 0x1fba // 1fba + R_data_temp=0xff0fffff; + 1fb0: 1166 lrw r3, 0xff100000 // 2048 + 1fb2: 2b00 subi r3, 1 + 1fb4: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=20; + 1fb6: 3314 movi r3, 20 + 1fb8: 07d1 br 0x1f5a // 1f5a + else if((Selete_EXI_x==6)||(Selete_EXI_x==14)) + 1fba: 3b46 cmpnei r3, 6 + 1fbc: 0807 bt 0x1fca // 1fca + R_data_temp=0xf0ffffff; + 1fbe: 33f1 movi r3, 241 + 1fc0: 4378 lsli r3, r3, 24 + 1fc2: 2b00 subi r3, 1 + 1fc4: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=24; + 1fc6: 3318 movi r3, 24 + 1fc8: 07c9 br 0x1f5a // 1f5a + R_data_temp=0x0fffffff; + 1fca: 1161 lrw r3, 0xfffffff // 204c + 1fcc: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=28; + 1fce: 331c movi r3, 28 + 1fd0: 07c5 br 0x1f5a // 1f5a + GPIOGRP->IGRPL =(GPIOGRP->IGRPL & R_data_temp) | (IO_MODE<IGREX=(GPIOGRP->IGREX)|(PinNum<<12); + } + } + } +} + 1fe4: 1402 addi r14, r14, 8 + 1fe6: 1481 pop r4 + else if(Selete_EXI_x<20) + 1fe8: 3a13 cmphsi r2, 20 + 1fea: 0bfd bt 0x1fe4 // 1fe4 + if((IO_MODE==0)&&((Selete_EXI_x==16)||((Selete_EXI_x==17)))) //PA0.0~PA0.7 + 1fec: 3840 cmpnei r0, 0 + 1fee: 0814 bt 0x2016 // 2016 + 1ff0: 3300 movi r3, 0 + 1ff2: 2b0f subi r3, 16 + 1ff4: 60c8 addu r3, r2 + 1ff6: 3b01 cmphsi r3, 2 + 1ff8: 0bf6 bt 0x1fe4 // 1fe4 + if(Selete_EXI_x==16) + 1ffa: 3a50 cmpnei r2, 16 + 1ffc: 106f lrw r3, 0x20000044 // 2038 + 1ffe: 0806 bt 0x200a // 200a + GPIOGRP->IGREX =(GPIOGRP->IGREX)|PinNum; + 2000: 9340 ld.w r2, (r3, 0x0) + 2002: 9262 ld.w r3, (r2, 0x8) + 2004: 6c4c or r1, r3 + 2006: b222 st.w r1, (r2, 0x8) + 2008: 07ee br 0x1fe4 // 1fe4 + GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<4); + 200a: 9360 ld.w r3, (r3, 0x0) + 200c: 9342 ld.w r2, (r3, 0x8) + 200e: 4124 lsli r1, r1, 4 + GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12); + 2010: 6c48 or r1, r2 + 2012: b322 st.w r1, (r3, 0x8) +} + 2014: 07e8 br 0x1fe4 // 1fe4 + else if((IO_MODE==2)&&((Selete_EXI_x==18)||(Selete_EXI_x==19))) //PB0.0~PB0.3 + 2016: 3842 cmpnei r0, 2 + 2018: 0be6 bt 0x1fe4 // 1fe4 + 201a: 3300 movi r3, 0 + 201c: 2b11 subi r3, 18 + 201e: 60c8 addu r3, r2 + 2020: 3b01 cmphsi r3, 2 + 2022: 0be1 bt 0x1fe4 // 1fe4 + 2024: 1065 lrw r3, 0x20000044 // 2038 + if(Selete_EXI_x==18) + 2026: 3a52 cmpnei r2, 18 + GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<8); + 2028: 9360 ld.w r3, (r3, 0x0) + 202a: 9342 ld.w r2, (r3, 0x8) + if(Selete_EXI_x==18) + 202c: 0803 bt 0x2032 // 2032 + GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<8); + 202e: 4128 lsli r1, r1, 8 + 2030: 07f0 br 0x2010 // 2010 + GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12); + 2032: 412c lsli r1, r1, 12 + 2034: 07ee br 0x2010 // 2010 + 2036: 0000 bkpt + 2038: 20000044 .long 0x20000044 + 203c: fffff0ff .long 0xfffff0ff + 2040: ffff0fff .long 0xffff0fff + 2044: fff10000 .long 0xfff10000 + 2048: ff100000 .long 0xff100000 + 204c: 0fffffff .long 0x0fffffff + +Disassembly of section .text.GPIOB0_EXI_Init: + +00002050 : + case 14:GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF) | 0X01000000;break; + case 15:GPIOA0->CONHR = (GPIOA0->CONHR&0X0FFFFFFF) | 0X10000000;break; + } +} +void GPIOB0_EXI_Init(GPIO_EXI_TypeDef EXI_IO) +{ + 2050: 14d0 push r15 + switch (EXI_IO) + 2052: 3805 cmphsi r0, 6 + 2054: 080d bt 0x206e // 206e + 2056: 1079 lrw r3, 0x20000048 // 20b8 + 2058: e3fff652 bsr 0xcfc // cfc <___gnu_csky_case_uqi> + 205c: 18100a03 .long 0x18100a03 + 2060: 261f .short 0x261f + { + case 0:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0) | 0X00000001;break; + 2062: 9340 ld.w r2, (r3, 0x0) + 2064: 9260 ld.w r3, (r2, 0x0) + 2066: 310f movi r1, 15 + 2068: 68c5 andn r3, r1 + 206a: 3ba0 bseti r3, 0 + case 1:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFF0F) | 0X00000010;break; + 206c: b260 st.w r3, (r2, 0x0) + case 3:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF) | 0X00001000;break; + case 4:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFF0FFFF) | 0X00010000;break; + case 5:GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF) | 0X00100000;break; + default:break; + } +} + 206e: 1490 pop r15 + case 1:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFF0F) | 0X00000010;break; + 2070: 9340 ld.w r2, (r3, 0x0) + 2072: 9260 ld.w r3, (r2, 0x0) + 2074: 31f0 movi r1, 240 + 2076: 68c5 andn r3, r1 + 2078: 3ba4 bseti r3, 4 + 207a: 07f9 br 0x206c // 206c + case 2:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF) | 0X00000100;break; + 207c: 9320 ld.w r1, (r3, 0x0) + 207e: 32f0 movi r2, 240 + 2080: 9160 ld.w r3, (r1, 0x0) + 2082: 4244 lsli r2, r2, 4 + 2084: 68c9 andn r3, r2 + 2086: 3ba8 bseti r3, 8 + case 5:GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF) | 0X00100000;break; + 2088: b160 st.w r3, (r1, 0x0) +} + 208a: 07f2 br 0x206e // 206e + case 3:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF) | 0X00001000;break; + 208c: 9320 ld.w r1, (r3, 0x0) + 208e: 32f0 movi r2, 240 + 2090: 9160 ld.w r3, (r1, 0x0) + 2092: 4248 lsli r2, r2, 8 + 2094: 68c9 andn r3, r2 + 2096: 3bac bseti r3, 12 + 2098: 07f8 br 0x2088 // 2088 + case 4:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFF0FFFF) | 0X00010000;break; + 209a: 9320 ld.w r1, (r3, 0x0) + 209c: 32f0 movi r2, 240 + 209e: 9160 ld.w r3, (r1, 0x0) + 20a0: 424c lsli r2, r2, 12 + 20a2: 68c9 andn r3, r2 + 20a4: 3bb0 bseti r3, 16 + 20a6: 07f1 br 0x2088 // 2088 + case 5:GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF) | 0X00100000;break; + 20a8: 9320 ld.w r1, (r3, 0x0) + 20aa: 32f0 movi r2, 240 + 20ac: 9160 ld.w r3, (r1, 0x0) + 20ae: 4250 lsli r2, r2, 16 + 20b0: 68c9 andn r3, r2 + 20b2: 3bb4 bseti r3, 20 + 20b4: 07ea br 0x2088 // 2088 + 20b6: 0000 bkpt + 20b8: 20000048 .long 0x20000048 + +Disassembly of section .text.GPIO_Write_High: + +000020bc : +//bit:0~15 +//ReturnValue:VALUE +/*************************************************************/ +void GPIO_Write_High(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + (GPIOx)->SODR = (1ul<: +void GPIO_Write_Low(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + (GPIOx)->CODR = (1ul<: +//ReturnValue:VALUE +/*************************************************************/ +void GPIO_Reverse(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + uint32_t dat = 0; + dat=((GPIOx)->ODSR>>bit)&1ul; + 20cc: 9045 ld.w r2, (r0, 0x14) + 20ce: 3301 movi r3, 1 + 20d0: 7085 lsr r2, r1 + 20d2: 688c and r2, r3 + { + if (dat==1) + 20d4: 3a40 cmpnei r2, 0 + 20d6: 70c4 lsl r3, r1 + 20d8: 0c03 bf 0x20de // 20de + { + (GPIOx)->CODR = (1ul<SODR = (1ul<SODR = (1ul< + +Disassembly of section .text.GPIO_Read_Status: + +000020e2 : +/*************************************************************/ +uint8_t GPIO_Read_Status(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + uint8_t value = 0; + uint32_t dat = 0; + dat=((GPIOx)->PSDR)&(1<: +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void LPT_Soft_Reset(void) +{ + LPT->RSSR |= (0X5<<12); + 20f4: 1064 lrw r3, 0x20000014 // 2104 + 20f6: 9340 ld.w r2, (r3, 0x0) + 20f8: 9261 ld.w r3, (r2, 0x4) + 20fa: 3bac bseti r3, 12 + 20fc: 3bae bseti r3, 14 + 20fe: b261 st.w r3, (r2, 0x4) +} + 2100: 783c jmp r15 + 2102: 0000 bkpt + 2104: 20000014 .long 0x20000014 + +Disassembly of section .text.WWDT_CNT_Load: + +00002108 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void WWDT_CNT_Load(U8_T cnt_data) +{ + WWDT->CR |= cnt_data; //SET + 2108: 1063 lrw r3, 0x20000010 // 2114 + 210a: 9360 ld.w r3, (r3, 0x0) + 210c: 9340 ld.w r2, (r3, 0x0) + 210e: 6c08 or r0, r2 + 2110: b300 st.w r0, (r3, 0x0) +} + 2112: 783c jmp r15 + 2114: 20000010 .long 0x20000010 + +Disassembly of section .text.BT_DeInit: + +00002118 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT_DeInit(CSP_BT_T *BTx) +{ + BTx->RSSR=BT_RESET_VALUE; + 2118: 3300 movi r3, 0 + 211a: b060 st.w r3, (r0, 0x0) + BTx->CR=BT_RESET_VALUE; + 211c: b061 st.w r3, (r0, 0x4) + BTx->PSCR=BT_RESET_VALUE; + 211e: b062 st.w r3, (r0, 0x8) + BTx->PRDR=BT_RESET_VALUE; + 2120: b063 st.w r3, (r0, 0xc) + BTx->CMP=BT_RESET_VALUE; + 2122: b064 st.w r3, (r0, 0x10) + BTx->CNT=BT_RESET_VALUE; + 2124: b065 st.w r3, (r0, 0x14) + BTx->EVTRG=BT_RESET_VALUE; + 2126: b066 st.w r3, (r0, 0x18) + BTx->EVSWF=BT_RESET_VALUE; + 2128: b069 st.w r3, (r0, 0x24) + BTx->RISR=BT_RESET_VALUE; + 212a: b06a st.w r3, (r0, 0x28) + BTx->IMCR=BT_RESET_VALUE; + 212c: b06b st.w r3, (r0, 0x2c) + BTx->MISR=BT_RESET_VALUE; + 212e: b06c st.w r3, (r0, 0x30) + BTx->ICR=BT_RESET_VALUE; + 2130: b06d st.w r3, (r0, 0x34) +} + 2132: 783c jmp r15 + +Disassembly of section .text.BT_Start: + +00002134 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT_Start(CSP_BT_T *BTx) +{ + BTx->RSSR |=0X01; + 2134: 9060 ld.w r3, (r0, 0x0) + 2136: 3ba0 bseti r3, 0 + 2138: b060 st.w r3, (r0, 0x0) +} + 213a: 783c jmp r15 + +Disassembly of section .text.BT_Soft_Reset: + +0000213c : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT_Soft_Reset(CSP_BT_T *BTx) +{ + BTx->RSSR |= (0X5<<12); + 213c: 9060 ld.w r3, (r0, 0x0) + 213e: 3bac bseti r3, 12 + 2140: 3bae bseti r3, 14 + 2142: b060 st.w r3, (r0, 0x0) +} + 2144: 783c jmp r15 + +Disassembly of section .text.BT_Configure: + +00002146 : +//BT Configure +//EntryParameter: +//ReturnValue:NONE +/*************************************************************/ +void BT_Configure(CSP_BT_T *BTx,BT_CLK_TypeDef BTCLK,U16_T PSCR_DATA,BT_SHDWSTP_TypeDef BTSHDWSTP,BT_OPM_TypeDef BTOPM,BT_EXTCKM_TypeDef BTEXTCKM) +{ + 2146: 14c3 push r4-r6 + 2148: 98a4 ld.w r5, (r14, 0x10) + 214a: 6d97 mov r6, r5 + 214c: 9883 ld.w r4, (r14, 0xc) + BTx->CR |=BTCLK| BTSHDWSTP| BTOPM| BTEXTCKM; + 214e: 6d18 or r4, r6 + 2150: 6cd0 or r3, r4 + 2152: 90a1 ld.w r5, (r0, 0x4) + 2154: 6c4c or r1, r3 + 2156: 6c54 or r1, r5 + 2158: b021 st.w r1, (r0, 0x4) + BTx->PSCR = PSCR_DATA; + 215a: b042 st.w r2, (r0, 0x8) +} + 215c: 1483 pop r4-r6 + +Disassembly of section .text.BT_ControlSet_Configure: + +0000215e : +//EntryParameter: +//ReturnValue:NONE +/*************************************************************/ +void BT_ControlSet_Configure(CSP_BT_T *BTx,BT_STARTST_TypeDef BTSTART,BT_IDLEST_TypeDef BTIDLE,BT_SYNCEN_TypeDef BTSYNC,BT_SYNCMD_TypeDef BTSYNCMD, + BT_OSTMDX_TypeDef BTOSTMD,BT_AREARM_TypeDef BTAREARM,BT_CNTRLD_TypeDef BTCNTRLD) +{ + 215e: 14c4 push r4-r7 + 2160: 1421 subi r14, r14, 4 + 2162: 9885 ld.w r4, (r14, 0x14) + 2164: 6dd3 mov r7, r4 + 2166: 9886 ld.w r4, (r14, 0x18) + 2168: b880 st.w r4, (r14, 0x0) + 216a: 9887 ld.w r4, (r14, 0x1c) + 216c: 6d93 mov r6, r4 + 216e: 98a8 ld.w r5, (r14, 0x20) + BTx->CR |=BTSTART| BTIDLE| BTSYNC| BTSYNCMD| BTOSTMD| BTAREARM| BTCNTRLD; + 2170: 6d58 or r5, r6 + 2172: 98c0 ld.w r6, (r14, 0x0) + 2174: 6d58 or r5, r6 + 2176: 6d5c or r5, r7 + 2178: 6cd4 or r3, r5 + 217a: 6c8c or r2, r3 + 217c: 9081 ld.w r4, (r0, 0x4) + 217e: 6c48 or r1, r2 + 2180: 6d04 or r4, r1 + 2182: 6d9f mov r6, r7 + 2184: b081 st.w r4, (r0, 0x4) +} + 2186: 1401 addi r14, r14, 4 + 2188: 1484 pop r4-r7 + +Disassembly of section .text.BT_Period_CMP_Write: + +0000218a : +//ReturnValue:NONE +/*************************************************************/ +void BT_Period_CMP_Write(CSP_BT_T *BTx,U16_T BTPRDR_DATA,U16_T BTCMP_DATA) +{ + //BTx->CR|=0X01<<2; + BTx->PRDR =BTPRDR_DATA; + 218a: b023 st.w r1, (r0, 0xc) + BTx->CMP =BTCMP_DATA; + 218c: b044 st.w r2, (r0, 0x10) +} + 218e: 783c jmp r15 + +Disassembly of section .text.BT_ConfigInterrupt_CMD: + +00002190 : +//NewState:ENABLE,DISABLE +//ReturnValue:NONE +/*************************************************************/ +void BT_ConfigInterrupt_CMD(CSP_BT_T *BTx,FunctionalStatus NewState,BT_IMSCR_TypeDef BT_IMSCR_X) +{ + if (NewState != DISABLE) + 2190: 3940 cmpnei r1, 0 + { + BTx->IMCR |= BT_IMSCR_X; + 2192: 906b ld.w r3, (r0, 0x2c) + if (NewState != DISABLE) + 2194: 0c04 bf 0x219c // 219c + BTx->IMCR |= BT_IMSCR_X; + 2196: 6c8c or r2, r3 + 2198: b04b st.w r2, (r0, 0x2c) + } + else + { + BTx->IMCR &= ~BT_IMSCR_X; + } +} + 219a: 783c jmp r15 + BTx->IMCR &= ~BT_IMSCR_X; + 219c: 68c9 andn r3, r2 + 219e: b06b st.w r3, (r0, 0x2c) +} + 21a0: 07fd br 0x219a // 219a + +Disassembly of section .text.BT1_INT_ENABLE: + +000021a4 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT1_INT_ENABLE(void) +{ + INTC_ISER_WRITE(BT1_INT); + 21a4: 3380 movi r3, 128 + 21a6: 4376 lsli r3, r3, 22 + 21a8: 1042 lrw r2, 0xe000e100 // 21b0 + 21aa: b260 st.w r3, (r2, 0x0) +} + 21ac: 783c jmp r15 + 21ae: 0000 bkpt + 21b0: e000e100 .long 0xe000e100 + +Disassembly of section .text.UART0_DeInit: + +000021b4 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART0_DeInit(void) +{ + UART0->DATA = UART_RESET_VALUE; + 21b4: 1065 lrw r3, 0x20000040 // 21c8 + 21b6: 3200 movi r2, 0 + 21b8: 9360 ld.w r3, (r3, 0x0) + 21ba: b340 st.w r2, (r3, 0x0) + UART0->SR = UART_RESET_VALUE; + 21bc: b341 st.w r2, (r3, 0x4) + UART0->CTRL = UART_RESET_VALUE; + 21be: b342 st.w r2, (r3, 0x8) + UART0->ISR = UART_RESET_VALUE; + 21c0: b343 st.w r2, (r3, 0xc) + UART0->BRDIV =UART_RESET_VALUE; + 21c2: b344 st.w r2, (r3, 0x10) +} + 21c4: 783c jmp r15 + 21c6: 0000 bkpt + 21c8: 20000040 .long 0x20000040 + +Disassembly of section .text.UART1_DeInit: + +000021cc : +void UART1_DeInit(void) +{ + UART1->DATA = UART_RESET_VALUE; + 21cc: 1065 lrw r3, 0x2000003c // 21e0 + 21ce: 3200 movi r2, 0 + 21d0: 9360 ld.w r3, (r3, 0x0) + 21d2: b340 st.w r2, (r3, 0x0) + UART1->SR = UART_RESET_VALUE; + 21d4: b341 st.w r2, (r3, 0x4) + UART1->CTRL = UART_RESET_VALUE; + 21d6: b342 st.w r2, (r3, 0x8) + UART1->ISR = UART_RESET_VALUE; + 21d8: b343 st.w r2, (r3, 0xc) + UART1->BRDIV =UART_RESET_VALUE; + 21da: b344 st.w r2, (r3, 0x10) +} + 21dc: 783c jmp r15 + 21de: 0000 bkpt + 21e0: 2000003c .long 0x2000003c + +Disassembly of section .text.UART2_DeInit: + +000021e4 : +void UART2_DeInit(void) +{ + UART2->DATA = UART_RESET_VALUE; + 21e4: 1065 lrw r3, 0x20000038 // 21f8 + 21e6: 3200 movi r2, 0 + 21e8: 9360 ld.w r3, (r3, 0x0) + 21ea: b340 st.w r2, (r3, 0x0) + UART2->SR = UART_RESET_VALUE; + 21ec: b341 st.w r2, (r3, 0x4) + UART2->CTRL = UART_RESET_VALUE; + 21ee: b342 st.w r2, (r3, 0x8) + UART2->ISR = UART_RESET_VALUE; + 21f0: b343 st.w r2, (r3, 0xc) + UART2->BRDIV =UART_RESET_VALUE; + 21f2: b344 st.w r2, (r3, 0x10) +} + 21f4: 783c jmp r15 + 21f6: 0000 bkpt + 21f8: 20000038 .long 0x20000038 + +Disassembly of section .text.UART1_Int_Enable: + +000021fc : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART1_Int_Enable(void) +{ + UART1->ISR=0x0F; //clear UART1 INT status + 21fc: 1065 lrw r3, 0x2000003c // 2210 + 21fe: 320f movi r2, 15 + 2200: 9360 ld.w r3, (r3, 0x0) + 2202: b343 st.w r2, (r3, 0xc) + INTC_ISER_WRITE(UART1_INT); //INT Vector Enable UART0/1 Interrupt in CK802 + 2204: 3380 movi r3, 128 + 2206: 4367 lsli r3, r3, 7 + 2208: 1043 lrw r2, 0xe000e100 // 2214 + 220a: b260 st.w r3, (r2, 0x0) +} + 220c: 783c jmp r15 + 220e: 0000 bkpt + 2210: 2000003c .long 0x2000003c + 2214: e000e100 .long 0xe000e100 + +Disassembly of section .text.UART2_Int_Enable: + +00002218 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART2_Int_Enable(void) +{ + UART2->ISR=0x0F; //clear UART1 INT status + 2218: 1065 lrw r3, 0x20000038 // 222c + 221a: 320f movi r2, 15 + 221c: 9360 ld.w r3, (r3, 0x0) + 221e: b343 st.w r2, (r3, 0xc) + INTC_ISER_WRITE(UART2_INT); //INT Vector Enable UART0/1 Interrupt in CK802 + 2220: 3380 movi r3, 128 + 2222: 4368 lsli r3, r3, 8 + 2224: 1043 lrw r2, 0xe000e100 // 2230 + 2226: b260 st.w r3, (r2, 0x0) +} + 2228: 783c jmp r15 + 222a: 0000 bkpt + 222c: 20000038 .long 0x20000038 + 2230: e000e100 .long 0xe000e100 + +Disassembly of section .text.UART_IO_Init: + +00002234 : +//UART_IO_G:0 1 +//ReturnValue:NONE +/*************************************************************/ +void UART_IO_Init(UART_NUM_TypeDef IO_UART_NUM , U8_T UART_IO_G) +{ + if (IO_UART_NUM==IO_UART0) + 2234: 3840 cmpnei r0, 0 + 2236: 0821 bt 0x2278 // 2278 + { + if(UART_IO_G==0) + 2238: 3940 cmpnei r1, 0 + 223a: 080a bt 0x224e // 224e + { + GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00) | 0x00000044; //PA0.1->RXD0, PA0.0->TXD0 + 223c: 1177 lrw r3, 0x2000004c // 2318 + 223e: 31ff movi r1, 255 + 2240: 9340 ld.w r2, (r3, 0x0) + 2242: 9260 ld.w r3, (r2, 0x0) + 2244: 68c5 andn r3, r1 + 2246: 3ba2 bseti r3, 2 + 2248: 3ba6 bseti r3, 6 + } + if (IO_UART_NUM==IO_UART2) + { + if(UART_IO_G==0) + { + GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00) | 0x00000077; //PA0.0->RXD2, PA0.1->TXD2 + 224a: b260 st.w r3, (r2, 0x0) + 224c: 0415 br 0x2276 // 2276 + else if(UART_IO_G==1) + 224e: 3941 cmpnei r1, 1 + 2250: 0813 bt 0x2276 // 2276 + GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF) | 0x00700000; //PA0.5->RXD0, PA0.12->TXD0 + 2252: 1172 lrw r3, 0x2000004c // 2318 + 2254: 31f0 movi r1, 240 + 2256: 9340 ld.w r2, (r3, 0x0) + 2258: 9260 ld.w r3, (r2, 0x0) + 225a: 4130 lsli r1, r1, 16 + 225c: 68c5 andn r3, r1 + 225e: 31e0 movi r1, 224 + 2260: 412f lsli r1, r1, 15 + 2262: 6cc4 or r3, r1 + 2264: b260 st.w r3, (r2, 0x0) + GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF) | 0x00070000; + 2266: 31f0 movi r1, 240 + 2268: 9261 ld.w r3, (r2, 0x4) + 226a: 412c lsli r1, r1, 12 + 226c: 68c5 andn r3, r1 + 226e: 31e0 movi r1, 224 + 2270: 412b lsli r1, r1, 11 + 2272: 6cc4 or r3, r1 + 2274: b261 st.w r3, (r2, 0x4) + else if(UART_IO_G==2) + { + GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000; //PB0.5->RXD2, PB0.4->TXD2 + } + } +} + 2276: 783c jmp r15 + if (IO_UART_NUM==IO_UART1) + 2278: 3841 cmpnei r0, 1 + 227a: 082d bt 0x22d4 // 22d4 + if(UART_IO_G==0) + 227c: 3940 cmpnei r1, 0 + 227e: 0814 bt 0x22a6 // 22a6 + GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0) | 0x00000007; //PA0.13->RXD1, PB0.0->TXD1 + 2280: 1167 lrw r3, 0x20000048 // 231c + 2282: 310f movi r1, 15 + 2284: 9340 ld.w r2, (r3, 0x0) + 2286: 9260 ld.w r3, (r2, 0x0) + 2288: 68c5 andn r3, r1 + 228a: 3107 movi r1, 7 + 228c: 6cc4 or r3, r1 + 228e: b260 st.w r3, (r2, 0x0) + GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF) | 0x00700000; + 2290: 32f0 movi r2, 240 + 2292: 1162 lrw r3, 0x2000004c // 2318 + 2294: 4250 lsli r2, r2, 16 + 2296: 9320 ld.w r1, (r3, 0x0) + 2298: 9161 ld.w r3, (r1, 0x4) + 229a: 68c9 andn r3, r2 + 229c: 32e0 movi r2, 224 + 229e: 424f lsli r2, r2, 15 + GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000; //PA0.15->RXD1, PA0.14->TXD1 + 22a0: 6cc8 or r3, r2 + 22a2: b161 st.w r3, (r1, 0x4) + 22a4: 07e9 br 0x2276 // 2276 + else if(UART_IO_G==1) + 22a6: 3941 cmpnei r1, 1 + 22a8: 080c bt 0x22c0 // 22c0 + GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF00FFF) | 0X00077000; //PA0.4->RXD1, PA0.3->TXD1 + 22aa: 107c lrw r3, 0x2000004c // 2318 + 22ac: 32ff movi r2, 255 + 22ae: 9320 ld.w r1, (r3, 0x0) + 22b0: 424c lsli r2, r2, 12 + 22b2: 9160 ld.w r3, (r1, 0x0) + 22b4: 68c9 andn r3, r2 + 22b6: 32ee movi r2, 238 + 22b8: 424b lsli r2, r2, 11 + GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000; //PB0.5->RXD2, PB0.4->TXD2 + 22ba: 6cc8 or r3, r2 + 22bc: b160 st.w r3, (r1, 0x0) +} + 22be: 07dc br 0x2276 // 2276 + else if(UART_IO_G==2) + 22c0: 3942 cmpnei r1, 2 + 22c2: 0bda bt 0x2276 // 2276 + GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000; //PA0.15->RXD1, PA0.14->TXD1 + 22c4: 1075 lrw r3, 0x2000004c // 2318 + 22c6: 32ee movi r2, 238 + 22c8: 9320 ld.w r1, (r3, 0x0) + 22ca: 9161 ld.w r3, (r1, 0x4) + 22cc: 4368 lsli r3, r3, 8 + 22ce: 4b68 lsri r3, r3, 8 + 22d0: 4257 lsli r2, r2, 23 + 22d2: 07e7 br 0x22a0 // 22a0 + if (IO_UART_NUM==IO_UART2) + 22d4: 3842 cmpnei r0, 2 + 22d6: 0bd0 bt 0x2276 // 2276 + if(UART_IO_G==0) + 22d8: 3940 cmpnei r1, 0 + 22da: 0809 bt 0x22ec // 22ec + GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00) | 0x00000077; //PA0.0->RXD2, PA0.1->TXD2 + 22dc: 106f lrw r3, 0x2000004c // 2318 + 22de: 31ff movi r1, 255 + 22e0: 9340 ld.w r2, (r3, 0x0) + 22e2: 9260 ld.w r3, (r2, 0x0) + 22e4: 68c5 andn r3, r1 + 22e6: 3177 movi r1, 119 + 22e8: 6cc4 or r3, r1 + 22ea: 07b0 br 0x224a // 224a + else if(UART_IO_G==1) + 22ec: 3941 cmpnei r1, 1 + 22ee: 0809 bt 0x2300 // 2300 + GPIOA0->CONLR = (GPIOA0->CONLR&0X00FFFFFF) | 0X77000000; //PA0.7->RXD2, PA0.6->TXD2 + 22f0: 106a lrw r3, 0x2000004c // 2318 + 22f2: 32ee movi r2, 238 + 22f4: 9320 ld.w r1, (r3, 0x0) + 22f6: 9160 ld.w r3, (r1, 0x0) + 22f8: 4368 lsli r3, r3, 8 + 22fa: 4b68 lsri r3, r3, 8 + 22fc: 4257 lsli r2, r2, 23 + 22fe: 07de br 0x22ba // 22ba + else if(UART_IO_G==2) + 2300: 3942 cmpnei r1, 2 + 2302: 0bba bt 0x2276 // 2276 + GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000; //PB0.5->RXD2, PB0.4->TXD2 + 2304: 1066 lrw r3, 0x20000048 // 231c + 2306: 32ff movi r2, 255 + 2308: 9320 ld.w r1, (r3, 0x0) + 230a: 4250 lsli r2, r2, 16 + 230c: 9160 ld.w r3, (r1, 0x0) + 230e: 68c9 andn r3, r2 + 2310: 32cc movi r2, 204 + 2312: 424f lsli r2, r2, 15 + 2314: 07d3 br 0x22ba // 22ba + 2316: 0000 bkpt + 2318: 2000004c .long 0x2000004c + 231c: 20000048 .long 0x20000048 + +Disassembly of section .text.UARTInitRxTxIntEn: + +00002320 : +//ReturnValue:NONE +/*************************************************************/ +void UARTInitRxTxIntEn(CSP_UART_T *uart,U16_T baudrate_u16,UART_PAR_TypeDef PAR_DAT) +{ + // Set Transmitter Enable + CSP_UART_SET_CTRL(uart, UART_TX | UART_RX | UART_RX_INT | UART_TX_INT | PAR_DAT | UART_TX_DONE_INT); + 2320: 1063 lrw r3, 0x8000f // 232c + 2322: 6c8c or r2, r3 + 2324: b042 st.w r2, (r0, 0x8) + // Set Baudrate + CSP_UART_SET_BRDIV(uart, baudrate_u16); + 2326: b024 st.w r1, (r0, 0x10) +} + 2328: 783c jmp r15 + 232a: 0000 bkpt + 232c: 0008000f .long 0x0008000f + +Disassembly of section .text.UARTTransmit: + +00002330 : +//UART Transmit +//EntryParameter:UART0,UART1,UART2,sourceAddress_u16,length_u16 +//ReturnValue:NONE +/*************************************************************/ +void UARTTransmit(CSP_UART_T *uart,U8_T *sourceAddress_u16,U16_T length_u16) +{ + 2330: 14c2 push r4-r5 + unsigned int DataI,DataJ; + for(DataJ = 0;DataJ < length_u16 ;DataJ ++) + 2332: 6cc7 mov r3, r1 + { + CSP_UART_SET_DATA(uart,*sourceAddress_u16++); + do{ + DataI = CSP_UART_GET_SR(uart); + DataI = DataI & UART_TX_FULL; + 2334: 3501 movi r5, 1 + for(DataJ = 0;DataJ < length_u16 ;DataJ ++) + 2336: 5b85 subu r4, r3, r1 + 2338: 6490 cmphs r4, r2 + 233a: 0c02 bf 0x233e // 233e + }while(DataI == UART_TX_FULL); //Loop when tx is full + } +} + 233c: 1482 pop r4-r5 + CSP_UART_SET_DATA(uart,*sourceAddress_u16++); + 233e: 8380 ld.b r4, (r3, 0x0) + 2340: b080 st.w r4, (r0, 0x0) + DataI = CSP_UART_GET_SR(uart); + 2342: 9081 ld.w r4, (r0, 0x4) + DataI = DataI & UART_TX_FULL; + 2344: 6914 and r4, r5 + }while(DataI == UART_TX_FULL); //Loop when tx is full + 2346: 3c40 cmpnei r4, 0 + 2348: 0bfd bt 0x2342 // 2342 + 234a: 2300 addi r3, 1 + 234c: 07f5 br 0x2336 // 2336 + +Disassembly of section .text.EPT_Stop: + +00002350 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EPT_Stop(void) +{ + EPT0->REGPROT = (0xA55A<<16) | 0xC73A; + 2350: 1068 lrw r3, 0x20000020 // 2370 + 2352: 3280 movi r2, 128 + 2354: 9360 ld.w r3, (r3, 0x0) + 2356: 608c addu r2, r3 + 2358: 1027 lrw r1, 0xa55ac73a // 2374 + 235a: b23a st.w r1, (r2, 0x68) + EPT0->RSSR&=0Xfe; + 235c: 9341 ld.w r2, (r3, 0x4) + 235e: 31fe movi r1, 254 + 2360: 6884 and r2, r1 + 2362: b341 st.w r2, (r3, 0x4) + while(EPT0->RSSR&0x01); + 2364: 3101 movi r1, 1 + 2366: 9341 ld.w r2, (r3, 0x4) + 2368: 6884 and r2, r1 + 236a: 3a40 cmpnei r2, 0 + 236c: 0bfd bt 0x2366 // 2366 +} + 236e: 783c jmp r15 + 2370: 20000020 .long 0x20000020 + 2374: a55ac73a .long 0xa55ac73a + +Disassembly of section .text.ReadDataArry_U8: + +00002378 : +//ReadFlashData fuction return Data arry save in Flash +//EntryParameter:RdStartAdd、DataLength、*DataArryPoint +//ReturnValue:NONE +*************************************************************/ +void ReadDataArry_U8(unsigned int RdStartAdd,unsigned int DataLength,volatile unsigned char *DataArryPoint) +{ + 2378: 14c3 push r4-r6 + unsigned int i; + for (i=0;i + RdStartAdd +=4; + } + *DataArryPoint=*(U8_T *)(RdStartAdd+ (i%4)); + DataArryPoint++; + } +} + 2384: 1483 pop r4-r6 + if((i!=0)&&(i%4==0)) + 2386: 3b40 cmpnei r3, 0 + 2388: 0c06 bf 0x2394 // 2394 + 238a: 6d0f mov r4, r3 + 238c: 6914 and r4, r5 + 238e: 3c40 cmpnei r4, 0 + 2390: 0802 bt 0x2394 // 2394 + RdStartAdd +=4; + 2392: 2003 addi r0, 4 + *DataArryPoint=*(U8_T *)(RdStartAdd+ (i%4)); + 2394: 6d0f mov r4, r3 + 2396: 6914 and r4, r5 + 2398: 6100 addu r4, r0 + 239a: 8480 ld.b r4, (r4, 0x0) + 239c: a680 st.b r4, (r6, 0x0) + for (i=0;i + +Disassembly of section .text.startup.main: + +000023a4

: +volatile unsigned int Sav_Temp = 0; +/***************************************************/ +//main +/**************************************************/ +int main(void) +{ + 23a4: 14d0 push r15 +// delay_nms(20000); + APT32F102_init(); //102 initial + 23a6: e00000a3 bsr 0x24ec // 24ec + + Dbg_Println(DBG_BIT_SYS_STATUS,"MCU Start! %d",g_Dip.DIP_addr); + 23aa: 106a lrw r3, 0x20000448 // 23d0 + 23ac: 8346 ld.b r2, (r3, 0x6) + 23ae: 102a lrw r1, 0x567c // 23d4 + 23b0: 3000 movi r0, 0 + 23b2: e0000933 bsr 0x3618 // 3618 + + while(1) + { + SYSCON_IWDCNT_Reload(); //IWDT Clear + 23b6: e3fffc57 bsr 0x1c64 // 1c64 + + UART1_TASK(); + 23ba: e0000711 bsr 0x31dc // 31dc + + UART2_TASK(); + 23be: e0000767 bsr 0x328c // 328c + + DIP_ScanTask(); + 23c2: e0000ce5 bsr 0x3d8c // 3d8c + + TemCtrl_Pro(); + 23c6: e0000ac7 bsr 0x3954 // 3954 + +// DisPlay_Task(); + + BUS485Send_Task(); + 23ca: e00008bf bsr 0x3548 // 3548 + 23ce: 07f4 br 0x23b6 // 23b6 + 23d0: 20000448 .long 0x20000448 + 23d4: 0000567c .long 0x0000567c + +Disassembly of section .text.delay_nms: + +000023d8 : +//software delay +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void delay_nms(unsigned int t) +{ + 23d8: 14d0 push r15 + 23da: 1423 subi r14, r14, 12 + volatile unsigned int i,j ,k=0; + j = 50* t; + 23dc: 3232 movi r2, 50 + volatile unsigned int i,j ,k=0; + 23de: 3300 movi r3, 0 + j = 50* t; + 23e0: 7c08 mult r0, r2 + volatile unsigned int i,j ,k=0; + 23e2: b862 st.w r3, (r14, 0x8) + j = 50* t; + 23e4: b801 st.w r0, (r14, 0x4) + for ( i = 0; i < j; i++ ) + 23e6: b860 st.w r3, (r14, 0x0) + 23e8: 9840 ld.w r2, (r14, 0x0) + 23ea: 9861 ld.w r3, (r14, 0x4) + 23ec: 64c8 cmphs r2, r3 + 23ee: 0c03 bf 0x23f4 // 23f4 + { + k++; + SYSCON_IWDCNT_Reload(); + } +} + 23f0: 1403 addi r14, r14, 12 + 23f2: 1490 pop r15 + k++; + 23f4: 9862 ld.w r3, (r14, 0x8) + 23f6: 2300 addi r3, 1 + 23f8: b862 st.w r3, (r14, 0x8) + SYSCON_IWDCNT_Reload(); + 23fa: e3fffc35 bsr 0x1c64 // 1c64 + for ( i = 0; i < j; i++ ) + 23fe: 9860 ld.w r3, (r14, 0x0) + 2400: 2300 addi r3, 1 + 2402: 07f2 br 0x23e6 // 23e6 + +Disassembly of section .text.delay_nus: + +00002404 : +void delay_nus(unsigned int t) +{ + 2404: 1423 subi r14, r14, 12 + volatile unsigned int i,j ,k=0; + 2406: 3300 movi r3, 0 + 2408: b862 st.w r3, (r14, 0x8) + j = 1* t; + 240a: b801 st.w r0, (r14, 0x4) + for ( i = 0; i < j; i++ ) + 240c: b860 st.w r3, (r14, 0x0) + 240e: 9840 ld.w r2, (r14, 0x0) + 2410: 9861 ld.w r3, (r14, 0x4) + 2412: 64c8 cmphs r2, r3 + 2414: 0c03 bf 0x241a // 241a + { + k++; + } +} + 2416: 1403 addi r14, r14, 12 + 2418: 783c jmp r15 + k++; + 241a: 9862 ld.w r3, (r14, 0x8) + 241c: 2300 addi r3, 1 + 241e: b862 st.w r3, (r14, 0x8) + for ( i = 0; i < j; i++ ) + 2420: 9860 ld.w r3, (r14, 0x0) + 2422: 2300 addi r3, 1 + 2424: 07f4 br 0x240c // 240c + +Disassembly of section .text.BT_CONFIG: + +00002428 : +//BT Initial +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT_CONFIG(void) +{ + 2428: 14d2 push r4-r5, r15 + 242a: 1424 subi r14, r14, 16 +// BT_ConfigInterrupt_CMD(BT0,ENABLE,BT_PEND); +// BT0_INT_ENABLE(); + + + //100us 定时器初始化 + BT_DeInit(BT1); + 242c: 1095 lrw r4, 0x20000008 // 2480 + BT_Configure(BT1,BTCLK_EN,0,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV); + 242e: 3500 movi r5, 0 + BT_DeInit(BT1); + 2430: 9400 ld.w r0, (r4, 0x0) + 2432: e3fffe73 bsr 0x2118 // 2118 + BT_Configure(BT1,BTCLK_EN,0,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV); + 2436: 9400 ld.w r0, (r4, 0x0) + 2438: b8a1 st.w r5, (r14, 0x4) + 243a: b8a0 st.w r5, (r14, 0x0) + 243c: 3308 movi r3, 8 + 243e: 3200 movi r2, 0 + 2440: 3101 movi r1, 1 + 2442: e3fffe82 bsr 0x2146 // 2146 + BT_ControlSet_Configure(BT1,BT_START_HIGH,BT_IDLE_LOW,BT_SYNC_DIS,BT_SYNCMD_DIS,BT_OSTMDX_ONCE,BT_AREARM_DIS,BT_CNTRLD_EN); + 2446: 3380 movi r3, 128 + 2448: 4363 lsli r3, r3, 3 + 244a: b861 st.w r3, (r14, 0x4) + 244c: 9400 ld.w r0, (r4, 0x0) + 244e: 3300 movi r3, 0 + 2450: b8a3 st.w r5, (r14, 0xc) + 2452: b8a2 st.w r5, (r14, 0x8) + 2454: b8a0 st.w r5, (r14, 0x0) + 2456: 3200 movi r2, 0 + 2458: 3180 movi r1, 128 + 245a: e3fffe82 bsr 0x215e // 215e + BT_Period_CMP_Write(BT1,4780,1); + 245e: 3201 movi r2, 1 + 2460: 1029 lrw r1, 0x12ac // 2484 + 2462: 9400 ld.w r0, (r4, 0x0) + 2464: e3fffe93 bsr 0x218a // 218a + BT_Start(BT1); + 2468: 9400 ld.w r0, (r4, 0x0) + 246a: e3fffe65 bsr 0x2134 // 2134 + BT_ConfigInterrupt_CMD(BT1,ENABLE,BT_CMP); + 246e: 9400 ld.w r0, (r4, 0x0) + 2470: 3202 movi r2, 2 + 2472: 3101 movi r1, 1 + 2474: e3fffe8e bsr 0x2190 // 2190 + BT1_INT_ENABLE(); + 2478: e3fffe96 bsr 0x21a4 // 21a4 + +} + 247c: 1404 addi r14, r14, 16 + 247e: 1492 pop r4-r5, r15 + 2480: 20000008 .long 0x20000008 + 2484: 000012ac .long 0x000012ac + +Disassembly of section .text.SYSCON_CONFIG: + +00002488 : +//syscon Functions +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SYSCON_CONFIG(void) +{ + 2488: 14d0 push r15 + 248a: 1421 subi r14, r14, 4 +//------SYSTEM CLK AND PCLK FUNTION---------------------------/ + SYSCON_RST_VALUE(); //SYSCON all register clr + 248c: e3fffb38 bsr 0x1afc // 1afc + SYSCON_General_CMD(ENABLE,ENDIS_ISOSC); //SYSCON enable/disable clock source + 2490: 3101 movi r1, 1 + 2492: 3001 movi r0, 1 + 2494: e3fffb5a bsr 0x1b48 // 1b48 + //EMOSC_OSTR_Config(0XAD,0X1f,EM_LFSEL_EN,EM_FLEN_EN,EM_FLSEL_10ns); //EM_CNT=0X3FF,0xAD(36K),EM_GM=0,Low F modedisable,EM filter disable,if enable,cont set 5ns + //SYSCON_General_CMD(ENABLE,ENDIS_EMOSC); + SYSCON_HFOSC_SELECTE(HFOSC_SELECTE_48M); //HFOSC selected 48MHz + 2498: 3000 movi r0, 0 + 249a: e3fffbb3 bsr 0x1c00 // 1c00 + SystemCLK_HCLKDIV_PCLKDIV_Config(SYSCLK_HFOSC,HCLK_DIV_1,PCLK_DIV_1,HFOSC_48M);//system clock set, Hclk div ,Pclk div set system clock=SystemCLK/Hclk div/Pclk div + 249e: 3180 movi r1, 128 + 24a0: 3308 movi r3, 8 + 24a2: 3200 movi r2, 0 + 24a4: 4121 lsli r1, r1, 1 + 24a6: 3002 movi r0, 2 + 24a8: e3fffb68 bsr 0x1b78 // 1b78 +//------------ WDT FUNTION --------------------------------/ + SYSCON_IWDCNT_Config(IWDT_TIME_500MS,IWDT_INTW_DIV_7); //WDT TIME 1s,WDT alarm interrupt time=1s-1s*1/8=0.875S + 24ac: 3080 movi r0, 128 + 24ae: 3118 movi r1, 24 + 24b0: 4002 lsli r0, r0, 2 + 24b2: e3fffbe3 bsr 0x1c78 // 1c78 + SYSCON_WDT_CMD(ENABLE); //enable/disable WDT + 24b6: 3001 movi r0, 1 + 24b8: e3fffbb8 bsr 0x1c28 // 1c28 + SYSCON_IWDCNT_Reload(); //reload WDT + 24bc: e3fffbd4 bsr 0x1c64 // 1c64 + IWDT_Int_Enable(); + 24c0: e3fffc06 bsr 0x1ccc // 1ccc + //WWDT_CMD(ENABLE); //enable wwdt +//------------ CLO Output --------------------------------/ + //SYSCON_CLO_CONFIG(CLO_PA08); //CLO output setting + //SYSCON_CLO_SRC_SET(CLO_HFCLK,CLO_DIV16); //CLO output clock and div +//------------ LVD FUNTION --------------------------------/ + SYSCON_LVD_Config(ENABLE_LVDEN,INTDET_LVL_3_9V,RSTDET_LVL_1_9V,ENABLE_LVD_INT,INTDET_POL_fall); //LVD LVR Enable/Disable + 24c4: 3340 movi r3, 64 + 24c6: b860 st.w r3, (r14, 0x0) + 24c8: 31c0 movi r1, 192 + 24ca: 3380 movi r3, 128 + 24cc: 4364 lsli r3, r3, 4 + 24ce: 3200 movi r2, 0 + 24d0: 4123 lsli r1, r1, 3 + 24d2: 3000 movi r0, 0 + 24d4: e3fffbde bsr 0x1c90 // 1c90 + LVD_Int_Enable(); + 24d8: e3fffbec bsr 0x1cb0 // 1cb0 +//------------ SYSCON Vector --------------------------------/ + SYSCON_Int_Enable(); //SYSCON VECTOR + 24dc: e3fffc4a bsr 0x1d70 // 1d70 + //SYSCON_WakeUp_Enable(); //Enable WDT wakeup INT +//------------------------------------------------------------/ +//OSC CLOCK Calibration +//------------------------------------------------------------/ + std_clk_calib(CLK_HFOSC_48M); //Select the same clock source as the system + 24e0: 3000 movi r0, 0 + 24e2: e00016e9 bsr 0x52b4 // 52b4 + +} + 24e6: 1401 addi r14, r14, 4 + 24e8: 1490 pop r15 + +Disassembly of section .text.APT32F102_init: + +000024ec : +//APT32F102_init / +//EntryParameter:NONE / +//ReturnValue:NONE / +/*********************************************************************************/ +void APT32F102_init(void) +{ + 24ec: 14d0 push r15 + Sys_RSR = 0x00000000; + Sys_RSR = SYSCON->RSR; //读取复位源 2024-03-15 + 24ee: 107f lrw r3, 0x2000005c // 2568 + Sys_RSR = 0x00000000; + 24f0: 105f lrw r2, 0x200000ac // 256c + 24f2: 3100 movi r1, 0 + Sys_RSR = SYSCON->RSR; //读取复位源 2024-03-15 + 24f4: 9360 ld.w r3, (r3, 0x0) + 24f6: 3080 movi r0, 128 + Sys_RSR = 0x00000000; + 24f8: b220 st.w r1, (r2, 0x0) + Sys_RSR = SYSCON->RSR; //读取复位源 2024-03-15 + 24fa: 600c addu r0, r3 + 24fc: 9004 ld.w r0, (r0, 0x10) + 24fe: b200 st.w r0, (r2, 0x0) + + Sav_Temp = 0x00000000; + 2500: 105c lrw r2, 0x200000a8 // 2570 + 2502: b220 st.w r1, (r2, 0x0) + Sav_Temp = SYSCON->UREG0; //读取保存的温控数据 2024-03-15 + 2504: 3180 movi r1, 128 + 2506: 4121 lsli r1, r1, 1 + 2508: 604c addu r1, r3 + 250a: 9120 ld.w r1, (r1, 0x0) + 250c: b220 st.w r1, (r2, 0x0) +//------------------------------------------------------------/ +//Peripheral clock enable and disable +//EntryParameter:NONE +//ReturnValue:NONE +//------------------------------------------------------------/ + SYSCON->PCER0=0xFFFFFFF; //PCLK Enable + 250e: 105a lrw r2, 0xfffffff // 2574 + 2510: b34a st.w r2, (r3, 0x28) + SYSCON->PCER1=0xFFFFFFF; //PCLK Enable + while(!(SYSCON->PCSR0&0x1)); //Wait PCLK enabled + 2512: 3101 movi r1, 1 + SYSCON->PCER1=0xFFFFFFF; //PCLK Enable + 2514: b34d st.w r2, (r3, 0x34) + while(!(SYSCON->PCSR0&0x1)); //Wait PCLK enabled + 2516: 934c ld.w r2, (r3, 0x30) + 2518: 6884 and r2, r1 + 251a: 3a40 cmpnei r2, 0 + 251c: 0ffd bf 0x2516 // 2516 +//------------------------------------------------------------/ +//ISOSC/IMOSC/EMOSC/SYSCLK/IWDT/LVD/EM_CMFAIL/EM_CMRCV/CMD_ERR OSC stable interrupt +//EntryParameter:NONE +//ReturnValue:NONE +//------------------------------------------------------------/ + SYSCON_CONFIG(); //syscon initial + 251e: e3ffffb5 bsr 0x2488 // 2488 + CK_CPU_EnAllNormalIrq(); //enable all IRQ + 2522: e0000573 bsr 0x3008 // 3008 + SYSCON_INT_Priority(); //initial all Priority=0xC0 + 2526: e3fffc31 bsr 0x1d88 // 1d88 + + //设置中断优先级 0最高,3最低 + Set_INT_Priority(UART2_IRQ,1); //串口优先级最高 + 252a: 3101 movi r1, 1 + 252c: 300f movi r0, 15 + 252e: e3fffc3f bsr 0x1dac // 1dac + Set_INT_Priority(UART1_IRQ,1); //串口优先级最高 + 2532: 3101 movi r1, 1 + 2534: 300e movi r0, 14 + 2536: e3fffc3b bsr 0x1dac // 1dac + Set_INT_Priority(EXI3_IRQ, 1); //总线繁忙判断外部IO中断 + 253a: 3101 movi r1, 1 + 253c: 3016 movi r0, 22 + 253e: e3fffc37 bsr 0x1dac // 1dac + + GPIO_DeInit(); //复位所有IO,bootload中初始化了所有IO + 2542: e3fffc4d bsr 0x1ddc // 1ddc +//------------------------------------------------------------/ +//Other IP config +//------------------------------------------------------------/ + BT_CONFIG(); //BT initial + 2546: e3ffff71 bsr 0x2428 // 2428 + + UARTx_Init(UART_2,IrSend_Rs485_Pro); //通讯串口 + 254a: 102c lrw r1, 0x3bb0 // 2578 + 254c: 3002 movi r0, 2 + 254e: e0000563 bsr 0x3014 // 3014 + UARTx_Init(UART_1,Ctrller_RecData_Processing); //通讯串口 + 2552: 102b lrw r1, 0x3a24 // 257c + 2554: 3001 movi r0, 1 + 2556: e000055f bsr 0x3014 // 3014 + + EEPROM_Init(); + 255a: e00008d3 bsr 0x3700 // 3700 + + DIP_Switch_Init(); + 255e: e0000bd1 bsr 0x3d00 // 3d00 + + TemCtrl_Init(); + 2562: e00008f9 bsr 0x3754 // 3754 + +} + 2566: 1490 pop r15 + 2568: 2000005c .long 0x2000005c + 256c: 200000ac .long 0x200000ac + 2570: 200000a8 .long 0x200000a8 + 2574: 0fffffff .long 0x0fffffff + 2578: 00003bb0 .long 0x00003bb0 + 257c: 00003a24 .long 0x00003a24 + +Disassembly of section .text.SYSCONIntHandler: + +00002580 : +//SYSCON Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SYSCONIntHandler(void) +{ + 2580: 1460 nie + 2582: 1462 ipush + // ISR content ... + nop; + 2584: 6c03 mov r0, r0 + if((SYSCON->MISR&ISOSC_ST)==ISOSC_ST) //ISOSC stable interrupt + 2586: 117a lrw r3, 0x2000005c // 266c + 2588: 3280 movi r2, 128 + 258a: 9360 ld.w r3, (r3, 0x0) + 258c: 60c8 addu r3, r2 + 258e: 9323 ld.w r1, (r3, 0xc) + 2590: 3001 movi r0, 1 + 2592: 6840 and r1, r0 + 2594: 3940 cmpnei r1, 0 + 2596: 0c04 bf 0x259e // 259e + { + SYSCON->ICR = EMOSC_ST; + } + else if((SYSCON->MISR&HFOSC_ST)==HFOSC_ST) //HFOSC stable interrupt + { + SYSCON->ICR = HFOSC_ST; + 2598: b301 st.w r0, (r3, 0x4) + } + else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST) //Command error interrupt + { + SYSCON->ICR = CMD_ERR_ST; + } +} + 259a: 1463 ipop + 259c: 1461 nir + else if((SYSCON->MISR&IMOSC_ST)==IMOSC_ST) //IMOSC stable interrupt + 259e: 9323 ld.w r1, (r3, 0xc) + 25a0: 3002 movi r0, 2 + 25a2: 6840 and r1, r0 + 25a4: 3940 cmpnei r1, 0 + 25a6: 0bf9 bt 0x2598 // 2598 + else if((SYSCON->MISR&EMOSC_ST)==EMOSC_ST) //EMOSC stable interrupt + 25a8: 9323 ld.w r1, (r3, 0xc) + 25aa: 3008 movi r0, 8 + 25ac: 6840 and r1, r0 + 25ae: 3940 cmpnei r1, 0 + 25b0: 0bf4 bt 0x2598 // 2598 + else if((SYSCON->MISR&HFOSC_ST)==HFOSC_ST) //HFOSC stable interrupt + 25b2: 9323 ld.w r1, (r3, 0xc) + 25b4: 3010 movi r0, 16 + 25b6: 6840 and r1, r0 + 25b8: 3940 cmpnei r1, 0 + 25ba: 0bef bt 0x2598 // 2598 + else if((SYSCON->MISR&SYSCLK_ST)==SYSCLK_ST) //SYSCLK change end & stable interrupt + 25bc: 9323 ld.w r1, (r3, 0xc) + 25be: 6848 and r1, r2 + 25c0: 3940 cmpnei r1, 0 + 25c2: 0c03 bf 0x25c8 // 25c8 + SYSCON->ICR = CMD_ERR_ST; + 25c4: b341 st.w r2, (r3, 0x4) +} + 25c6: 07ea br 0x259a // 259a + else if((SYSCON->MISR&IWDT_INT_ST)==IWDT_INT_ST) //IWDT alarm window interrupt + 25c8: 3280 movi r2, 128 + 25ca: 9323 ld.w r1, (r3, 0xc) + 25cc: 4241 lsli r2, r2, 1 + 25ce: 6848 and r1, r2 + 25d0: 3940 cmpnei r1, 0 + 25d2: 0bf9 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&WKI_INT_ST)==WKI_INT_ST) + 25d4: 3280 movi r2, 128 + 25d6: 9323 ld.w r1, (r3, 0xc) + 25d8: 4242 lsli r2, r2, 2 + 25da: 6848 and r1, r2 + 25dc: 3940 cmpnei r1, 0 + 25de: 0bf3 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&RAMERRINT_ST)==RAMERRINT_ST) //SRAM check fail interrupt + 25e0: 3280 movi r2, 128 + 25e2: 9323 ld.w r1, (r3, 0xc) + 25e4: 4243 lsli r2, r2, 3 + 25e6: 6848 and r1, r2 + 25e8: 3940 cmpnei r1, 0 + 25ea: 0bed bt 0x25c4 // 25c4 + else if((SYSCON->MISR&LVD_INT_ST)==LVD_INT_ST) //LVD threshold interrupt + 25ec: 3280 movi r2, 128 + 25ee: 9323 ld.w r1, (r3, 0xc) + 25f0: 4244 lsli r2, r2, 4 + 25f2: 6848 and r1, r2 + 25f4: 3940 cmpnei r1, 0 + 25f6: 0c03 bf 0x25fc // 25fc + nop; + 25f8: 6c03 mov r0, r0 + 25fa: 07e5 br 0x25c4 // 25c4 + else if((SYSCON->MISR&HWD_ERR_ST)==HWD_ERR_ST) //Hardware Divider divisor = 0 interrupt + 25fc: 3280 movi r2, 128 + 25fe: 9323 ld.w r1, (r3, 0xc) + 2600: 4245 lsli r2, r2, 5 + 2602: 6848 and r1, r2 + 2604: 3940 cmpnei r1, 0 + 2606: 0bdf bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EFL_ERR_ST)==EFL_ERR_ST) //Flash check fail interrupt + 2608: 3280 movi r2, 128 + 260a: 9323 ld.w r1, (r3, 0xc) + 260c: 4246 lsli r2, r2, 6 + 260e: 6848 and r1, r2 + 2610: 3940 cmpnei r1, 0 + 2612: 0bd9 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&OPTERR_INT)==OPTERR_INT) //Option load fail interrupt + 2614: 3280 movi r2, 128 + 2616: 9323 ld.w r1, (r3, 0xc) + 2618: 4247 lsli r2, r2, 7 + 261a: 6848 and r1, r2 + 261c: 3940 cmpnei r1, 0 + 261e: 0bd3 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EM_CMLST_ST)==EM_CMLST_ST) //EMOSC clock monitor fail interrupt + 2620: 3280 movi r2, 128 + 2622: 9323 ld.w r1, (r3, 0xc) + 2624: 424b lsli r2, r2, 11 + 2626: 6848 and r1, r2 + 2628: 3940 cmpnei r1, 0 + 262a: 0bcd bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EM_EVTRG0_ST)==EM_EVTRG0_ST) //Event Trigger Channel 0 Interrupt + 262c: 3280 movi r2, 128 + 262e: 9323 ld.w r1, (r3, 0xc) + 2630: 424c lsli r2, r2, 12 + 2632: 6848 and r1, r2 + 2634: 3940 cmpnei r1, 0 + 2636: 0bc7 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EM_EVTRG1_ST)==EM_EVTRG1_ST) //Event Trigger Channel 1 Interrupt + 2638: 3280 movi r2, 128 + 263a: 9323 ld.w r1, (r3, 0xc) + 263c: 424d lsli r2, r2, 13 + 263e: 6848 and r1, r2 + 2640: 3940 cmpnei r1, 0 + 2642: 0bc1 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EM_EVTRG2_ST)==EM_EVTRG2_ST) //Event Trigger Channel 2 Interrupt + 2644: 3280 movi r2, 128 + 2646: 9323 ld.w r1, (r3, 0xc) + 2648: 424e lsli r2, r2, 14 + 264a: 6848 and r1, r2 + 264c: 3940 cmpnei r1, 0 + 264e: 0bbb bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EM_EVTRG3_ST)==EM_EVTRG3_ST) //Event Trigger Channel 3 Interrupt + 2650: 3280 movi r2, 128 + 2652: 9323 ld.w r1, (r3, 0xc) + 2654: 424f lsli r2, r2, 15 + 2656: 6848 and r1, r2 + 2658: 3940 cmpnei r1, 0 + 265a: 0bb5 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST) //Command error interrupt + 265c: 3280 movi r2, 128 + 265e: 9323 ld.w r1, (r3, 0xc) + 2660: 4256 lsli r2, r2, 22 + 2662: 6848 and r1, r2 + 2664: 3940 cmpnei r1, 0 + 2666: 0baf bt 0x25c4 // 25c4 + 2668: 0799 br 0x259a // 259a + 266a: 0000 bkpt + 266c: 2000005c .long 0x2000005c + +Disassembly of section .text.IFCIntHandler: + +00002670 : +//IFC Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void IFCIntHandler(void) +{ + 2670: 1460 nie + 2672: 1462 ipush + // ISR content ... + if(IFC->MISR&ERS_END_INT) + 2674: 1078 lrw r3, 0x20000060 // 26d4 + 2676: 3101 movi r1, 1 + 2678: 9360 ld.w r3, (r3, 0x0) + 267a: 934b ld.w r2, (r3, 0x2c) + 267c: 6884 and r2, r1 + 267e: 3a40 cmpnei r2, 0 + 2680: 0c04 bf 0x2688 // 2688 + { + IFC->ICR=RGM_END_INT; + } + else if(IFC->MISR&PEP_END_INT) + { + IFC->ICR=PEP_END_INT; + 2682: b32c st.w r1, (r3, 0x30) + } + else if(IFC->MISR&OVW_ERR_INT) + { + IFC->ICR=OVW_ERR_INT; + } +} + 2684: 1463 ipop + 2686: 1461 nir + else if(IFC->MISR&RGM_END_INT) + 2688: 934b ld.w r2, (r3, 0x2c) + 268a: 3102 movi r1, 2 + 268c: 6884 and r2, r1 + 268e: 3a40 cmpnei r2, 0 + 2690: 0bf9 bt 0x2682 // 2682 + else if(IFC->MISR&PEP_END_INT) + 2692: 934b ld.w r2, (r3, 0x2c) + 2694: 3104 movi r1, 4 + 2696: 6884 and r2, r1 + 2698: 3a40 cmpnei r2, 0 + 269a: 0bf4 bt 0x2682 // 2682 + else if(IFC->MISR&PROT_ERR_INT) + 269c: 3280 movi r2, 128 + 269e: 932b ld.w r1, (r3, 0x2c) + 26a0: 4245 lsli r2, r2, 5 + 26a2: 6848 and r1, r2 + 26a4: 3940 cmpnei r1, 0 + 26a6: 0c03 bf 0x26ac // 26ac + IFC->ICR=OVW_ERR_INT; + 26a8: b34c st.w r2, (r3, 0x30) +} + 26aa: 07ed br 0x2684 // 2684 + else if(IFC->MISR&UDEF_ERR_INT) + 26ac: 3280 movi r2, 128 + 26ae: 932b ld.w r1, (r3, 0x2c) + 26b0: 4246 lsli r2, r2, 6 + 26b2: 6848 and r1, r2 + 26b4: 3940 cmpnei r1, 0 + 26b6: 0bf9 bt 0x26a8 // 26a8 + else if(IFC->MISR&ADDR_ERR_INT) + 26b8: 3280 movi r2, 128 + 26ba: 932b ld.w r1, (r3, 0x2c) + 26bc: 4247 lsli r2, r2, 7 + 26be: 6848 and r1, r2 + 26c0: 3940 cmpnei r1, 0 + 26c2: 0bf3 bt 0x26a8 // 26a8 + else if(IFC->MISR&OVW_ERR_INT) + 26c4: 3280 movi r2, 128 + 26c6: 932b ld.w r1, (r3, 0x2c) + 26c8: 4248 lsli r2, r2, 8 + 26ca: 6848 and r1, r2 + 26cc: 3940 cmpnei r1, 0 + 26ce: 0bed bt 0x26a8 // 26a8 + 26d0: 07da br 0x2684 // 2684 + 26d2: 0000 bkpt + 26d4: 20000060 .long 0x20000060 + +Disassembly of section .text.ADCIntHandler: + +000026d8 : +//ADC Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void ADCIntHandler(void) +{ + 26d8: 1460 nie + 26da: 1462 ipush + // ISR content ... + if((ADC0->SR&ADC12_EOC)==ADC12_EOC) //ADC EOC interrupt + 26dc: 1078 lrw r3, 0x20000050 // 273c + 26de: 3101 movi r1, 1 + 26e0: 9360 ld.w r3, (r3, 0x0) + 26e2: 9348 ld.w r2, (r3, 0x20) + 26e4: 6884 and r2, r1 + 26e6: 3a40 cmpnei r2, 0 + 26e8: 0c04 bf 0x26f0 // 26f0 + { + ADC0->CSR = ADC12_CMP1H; + } + else if((ADC0->SR&ADC12_CMP1L)==ADC12_CMP1L) //ADC CMP1L interrupt. + { + ADC0->CSR = ADC12_CMP1L; + 26ea: b327 st.w r1, (r3, 0x1c) + } + else if((ADC0->SR&ADC12_SEQ_END0)==ADC12_SEQ_END0) //ADC SEQ0 interrupt,SEQ1~SEQ15 replace the parameter with ADC12_SEQ_END1~ADC12_SEQ_END15 + { + ADC0->CSR = ADC12_SEQ_END0; + } +} + 26ec: 1463 ipop + 26ee: 1461 nir + else if((ADC0->SR&ADC12_READY)==ADC12_READY) //ADC READY interrupt + 26f0: 9348 ld.w r2, (r3, 0x20) + 26f2: 3102 movi r1, 2 + 26f4: 6884 and r2, r1 + 26f6: 3a40 cmpnei r2, 0 + 26f8: 0bf9 bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_OVR)==ADC12_OVR) //ADC OVR interrupt + 26fa: 9348 ld.w r2, (r3, 0x20) + 26fc: 3104 movi r1, 4 + 26fe: 6884 and r2, r1 + 2700: 3a40 cmpnei r2, 0 + 2702: 0bf4 bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_CMP0H)==ADC12_CMP0H) //ADC CMP0H interrupt + 2704: 9348 ld.w r2, (r3, 0x20) + 2706: 3110 movi r1, 16 + 2708: 6884 and r2, r1 + 270a: 3a40 cmpnei r2, 0 + 270c: 0bef bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_CMP0L)==ADC12_CMP0L) //ADC CMP0L interrupt. + 270e: 9348 ld.w r2, (r3, 0x20) + 2710: 3120 movi r1, 32 + 2712: 6884 and r2, r1 + 2714: 3a40 cmpnei r2, 0 + 2716: 0bea bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_CMP1H)==ADC12_CMP1H) //ADC CMP1H interrupt. + 2718: 9348 ld.w r2, (r3, 0x20) + 271a: 3140 movi r1, 64 + 271c: 6884 and r2, r1 + 271e: 3a40 cmpnei r2, 0 + 2720: 0be5 bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_CMP1L)==ADC12_CMP1L) //ADC CMP1L interrupt. + 2722: 9348 ld.w r2, (r3, 0x20) + 2724: 3180 movi r1, 128 + 2726: 6884 and r2, r1 + 2728: 3a40 cmpnei r2, 0 + 272a: 0be0 bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_SEQ_END0)==ADC12_SEQ_END0) //ADC SEQ0 interrupt,SEQ1~SEQ15 replace the parameter with ADC12_SEQ_END1~ADC12_SEQ_END15 + 272c: 3280 movi r2, 128 + 272e: 9328 ld.w r1, (r3, 0x20) + 2730: 4249 lsli r2, r2, 9 + 2732: 6848 and r1, r2 + 2734: 3940 cmpnei r1, 0 + 2736: 0fdb bf 0x26ec // 26ec + ADC0->CSR = ADC12_SEQ_END0; + 2738: b347 st.w r2, (r3, 0x1c) +} + 273a: 07d9 br 0x26ec // 26ec + 273c: 20000050 .long 0x20000050 + +Disassembly of section .text.EPT0IntHandler: + +00002740 : +//EPT0 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EPT0IntHandler(void) +{ + 2740: 1460 nie + 2742: 1462 ipush + 2744: 14d1 push r4, r15 + // ISR content ... + if((EPT0->MISR&EPT_TRGEV0_INT)==EPT_TRGEV0_INT) //TRGEV0 interrupt + 2746: 1387 lrw r4, 0x20000020 // 28e0 + 2748: 3280 movi r2, 128 + 274a: 9460 ld.w r3, (r4, 0x0) + 274c: 60c8 addu r3, r2 + 274e: 9335 ld.w r1, (r3, 0x54) + 2750: 3001 movi r0, 1 + 2752: 6840 and r1, r0 + 2754: 3940 cmpnei r1, 0 + 2756: 0c03 bf 0x275c // 275c + EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIFT); + R_CMPB_BUF=EPT0->CMPB; //Duty counter + } + else if((EPT0->MISR&EPT_CAP_LD2)==EPT_CAP_LD2) //Capture Load to CMPC interrupt + { + EPT0->ICR=EPT_CAP_LD2; + 2758: b317 st.w r0, (r3, 0x5c) + 275a: 0424 br 0x27a2 // 27a2 + else if((EPT0->MISR&EPT_TRGEV1_INT)==EPT_TRGEV1_INT) //TRGEV1 interrupt + 275c: 9335 ld.w r1, (r3, 0x54) + 275e: 3002 movi r0, 2 + 2760: 6840 and r1, r0 + 2762: 3940 cmpnei r1, 0 + 2764: 0bfa bt 0x2758 // 2758 + else if((EPT0->MISR&EPT_TRGEV2_INT)==EPT_TRGEV2_INT) //TRGEV2 interrupt + 2766: 9335 ld.w r1, (r3, 0x54) + 2768: 3004 movi r0, 4 + 276a: 6840 and r1, r0 + 276c: 3940 cmpnei r1, 0 + 276e: 0bf5 bt 0x2758 // 2758 + else if((EPT0->MISR&EPT_TRGEV3_INT)==EPT_TRGEV3_INT) //TRGEV3 interrupt + 2770: 9335 ld.w r1, (r3, 0x54) + 2772: 3008 movi r0, 8 + 2774: 6840 and r1, r0 + 2776: 3940 cmpnei r1, 0 + 2778: 0bf0 bt 0x2758 // 2758 + else if((EPT0->MISR&EPT_CAP_LD0)==EPT_CAP_LD0) //Capture Load to CMPA interrupt + 277a: 9335 ld.w r1, (r3, 0x54) + 277c: 3010 movi r0, 16 + 277e: 6840 and r1, r0 + 2780: 3940 cmpnei r1, 0 + 2782: 0c1f bf 0x27c0 // 27c0 + EPT0->ICR=EPT_CAP_LD0; + 2784: b317 st.w r0, (r3, 0x5c) + EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIRT); + 2786: 3200 movi r2, 0 + 2788: 3101 movi r1, 1 + 278a: 3000 movi r0, 0 + 278c: e3fffaae bsr 0x1ce8 // 1ce8 + EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIFT); + 2790: 3201 movi r2, 1 + 2792: 3101 movi r1, 1 + 2794: 3001 movi r0, 1 + 2796: e3fffaa9 bsr 0x1ce8 // 1ce8 + R_CMPA_BUF=EPT0->CMPA; //Low voltage counter + 279a: 9460 ld.w r3, (r4, 0x0) + 279c: 934b ld.w r2, (r3, 0x2c) + 279e: 1272 lrw r3, 0x200001e0 // 28e4 + R_CMPB_BUF=EPT0->CMPB; //Duty counter + 27a0: b340 st.w r2, (r3, 0x0) + EPT0->ICR=EPT_PEND; + //EPT_PRDR_CMPA_CMPB_CMPC_CMPD_Config(50,0,50,0,0); + EPT_Stop(); + } + //Emergency interruption + if((EPT0->EMMISR&EPT_EP0_EMINT)==EPT_EP0_EMINT) //interrupt flag of EP0 event + 27a2: 9460 ld.w r3, (r4, 0x0) + 27a4: 3280 movi r2, 128 + 27a6: 60c8 addu r3, r2 + 27a8: 932b ld.w r1, (r3, 0x2c) + 27aa: 3001 movi r0, 1 + 27ac: 6840 and r1, r0 + 27ae: 3940 cmpnei r1, 0 + 27b0: 0c61 bf 0x2872 // 2872 + { + EPT0->EMICR=EPT_EP5_EMINT; + } + else if((EPT0->EMMISR&EPT_EP6_EMINT)==EPT_EP6_EMINT) //interrupt flag of EP6 event + { + EPT0->EMICR=EPT_EP6_EMINT; + 27b2: b30d st.w r0, (r3, 0x34) + } + else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT) //interrupt flag of EOM_FAULT event + { + EPT0->EMICR=EPT_EOM_FAULT_EMINT; + } +} + 27b4: d9ee2001 ld.w r15, (r14, 0x4) + 27b8: 9880 ld.w r4, (r14, 0x0) + 27ba: 1402 addi r14, r14, 8 + 27bc: 1463 ipop + 27be: 1461 nir + else if((EPT0->MISR&EPT_CAP_LD1)==EPT_CAP_LD1) //Capture Load to CMPB interrupt + 27c0: 9335 ld.w r1, (r3, 0x54) + 27c2: 3020 movi r0, 32 + 27c4: 6840 and r1, r0 + 27c6: 3940 cmpnei r1, 0 + 27c8: 0c10 bf 0x27e8 // 27e8 + EPT0->ICR=EPT_CAP_LD1; + 27ca: b317 st.w r0, (r3, 0x5c) + EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIRT); + 27cc: 3200 movi r2, 0 + 27ce: 3101 movi r1, 1 + 27d0: 3001 movi r0, 1 + 27d2: e3fffa8b bsr 0x1ce8 // 1ce8 + EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIFT); + 27d6: 3201 movi r2, 1 + 27d8: 3101 movi r1, 1 + 27da: 3000 movi r0, 0 + 27dc: e3fffa86 bsr 0x1ce8 // 1ce8 + R_CMPB_BUF=EPT0->CMPB; //Duty counter + 27e0: 9460 ld.w r3, (r4, 0x0) + 27e2: 934c ld.w r2, (r3, 0x30) + 27e4: 1261 lrw r3, 0x200001dc // 28e8 + 27e6: 07dd br 0x27a0 // 27a0 + else if((EPT0->MISR&EPT_CAP_LD2)==EPT_CAP_LD2) //Capture Load to CMPC interrupt + 27e8: 9335 ld.w r1, (r3, 0x54) + 27ea: 3040 movi r0, 64 + 27ec: 6840 and r1, r0 + 27ee: 3940 cmpnei r1, 0 + 27f0: 0bb4 bt 0x2758 // 2758 + else if((EPT0->MISR&EPT_CAP_LD3)==EPT_CAP_LD3) //Capture Load to CMPD interrupt + 27f2: 9335 ld.w r1, (r3, 0x54) + 27f4: 6848 and r1, r2 + 27f6: 3940 cmpnei r1, 0 + 27f8: 0c03 bf 0x27fe // 27fe + EPT0->ICR=EPT_CDD; + 27fa: b357 st.w r2, (r3, 0x5c) + 27fc: 07d3 br 0x27a2 // 27a2 + else if((EPT0->MISR&EPT_CAU)==EPT_CAU) //Up-Counting phase CNT = CMPA interrupt + 27fe: 3280 movi r2, 128 + 2800: 9335 ld.w r1, (r3, 0x54) + 2802: 4241 lsli r2, r2, 1 + 2804: 6848 and r1, r2 + 2806: 3940 cmpnei r1, 0 + 2808: 0bf9 bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CAD)==EPT_CAD) //Down-Counting phase CNT = CMPA interrupt + 280a: 3280 movi r2, 128 + 280c: 9335 ld.w r1, (r3, 0x54) + 280e: 4242 lsli r2, r2, 2 + 2810: 6848 and r1, r2 + 2812: 3940 cmpnei r1, 0 + 2814: 0bf3 bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CBU)==EPT_CBU) //Up-Counting phase CNT = CMPB interrupt + 2816: 3280 movi r2, 128 + 2818: 9335 ld.w r1, (r3, 0x54) + 281a: 4243 lsli r2, r2, 3 + 281c: 6848 and r1, r2 + 281e: 3940 cmpnei r1, 0 + 2820: 0bed bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CBD)==EPT_CBD) //Down-Counting phase CNT = CMPB interrupt + 2822: 3280 movi r2, 128 + 2824: 9335 ld.w r1, (r3, 0x54) + 2826: 4244 lsli r2, r2, 4 + 2828: 6848 and r1, r2 + 282a: 3940 cmpnei r1, 0 + 282c: 0be7 bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CCU)==EPT_CCU) //Up-Counting phase CNT = CMPC interrupt + 282e: 3280 movi r2, 128 + 2830: 9335 ld.w r1, (r3, 0x54) + 2832: 4245 lsli r2, r2, 5 + 2834: 6848 and r1, r2 + 2836: 3940 cmpnei r1, 0 + 2838: 0be1 bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CCD)==EPT_CCD) //Down-Counting phase CNT = CMPC interrupt + 283a: 3280 movi r2, 128 + 283c: 9335 ld.w r1, (r3, 0x54) + 283e: 4246 lsli r2, r2, 6 + 2840: 6848 and r1, r2 + 2842: 3940 cmpnei r1, 0 + 2844: 0bdb bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CDU)==EPT_CDU) //Up-Counting phase CNT = CMPD interrupt + 2846: 3280 movi r2, 128 + 2848: 9335 ld.w r1, (r3, 0x54) + 284a: 4247 lsli r2, r2, 7 + 284c: 6848 and r1, r2 + 284e: 3940 cmpnei r1, 0 + 2850: 0bd5 bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CDD)==EPT_CDD) //Down-Counting phase CNT = CMPD interrupt + 2852: 3280 movi r2, 128 + 2854: 9335 ld.w r1, (r3, 0x54) + 2856: 4248 lsli r2, r2, 8 + 2858: 6848 and r1, r2 + 285a: 3940 cmpnei r1, 0 + 285c: 0bcf bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_PEND)==EPT_PEND) //End of cycle interrupt + 285e: 3280 movi r2, 128 + 2860: 9335 ld.w r1, (r3, 0x54) + 2862: 4249 lsli r2, r2, 9 + 2864: 6848 and r1, r2 + 2866: 3940 cmpnei r1, 0 + 2868: 0f9d bf 0x27a2 // 27a2 + EPT0->ICR=EPT_PEND; + 286a: b357 st.w r2, (r3, 0x5c) + EPT_Stop(); + 286c: e3fffd72 bsr 0x2350 // 2350 + 2870: 0799 br 0x27a2 // 27a2 + else if((EPT0->EMMISR&EPT_EP1_EMINT)==EPT_EP1_EMINT) //interrupt flag of EP1 event + 2872: 932b ld.w r1, (r3, 0x2c) + 2874: 3002 movi r0, 2 + 2876: 6840 and r1, r0 + 2878: 3940 cmpnei r1, 0 + 287a: 0b9c bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP2_EMINT)==EPT_EP2_EMINT) //interrupt flag of EP2 event + 287c: 932b ld.w r1, (r3, 0x2c) + 287e: 3004 movi r0, 4 + 2880: 6840 and r1, r0 + 2882: 3940 cmpnei r1, 0 + 2884: 0b97 bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP3_EMINT)==EPT_EP3_EMINT) //interrupt flag of EP3 event + 2886: 932b ld.w r1, (r3, 0x2c) + 2888: 3008 movi r0, 8 + 288a: 6840 and r1, r0 + 288c: 3940 cmpnei r1, 0 + 288e: 0b92 bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP4_EMINT)==EPT_EP4_EMINT) //interrupt flag of EP4 event + 2890: 932b ld.w r1, (r3, 0x2c) + 2892: 3010 movi r0, 16 + 2894: 6840 and r1, r0 + 2896: 3940 cmpnei r1, 0 + 2898: 0b8d bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP5_EMINT)==EPT_EP5_EMINT) //interrupt flag of EP5 event + 289a: 932b ld.w r1, (r3, 0x2c) + 289c: 3020 movi r0, 32 + 289e: 6840 and r1, r0 + 28a0: 3940 cmpnei r1, 0 + 28a2: 0b88 bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP6_EMINT)==EPT_EP6_EMINT) //interrupt flag of EP6 event + 28a4: 932b ld.w r1, (r3, 0x2c) + 28a6: 3040 movi r0, 64 + 28a8: 6840 and r1, r0 + 28aa: 3940 cmpnei r1, 0 + 28ac: 0b83 bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP7_EMINT)==EPT_EP7_EMINT) //interrupt flag of EP7 event + 28ae: 932b ld.w r1, (r3, 0x2c) + 28b0: 6848 and r1, r2 + 28b2: 3940 cmpnei r1, 0 + 28b4: 0c03 bf 0x28ba // 28ba + EPT0->EMICR=EPT_EOM_FAULT_EMINT; + 28b6: b34d st.w r2, (r3, 0x34) +} + 28b8: 077e br 0x27b4 // 27b4 + else if((EPT0->EMMISR&EPT_CPU_FAULT_EMINT)==EPT_CPU_FAULT_EMINT) //interrupt flag of CPU_FAULT event + 28ba: 3280 movi r2, 128 + 28bc: 932b ld.w r1, (r3, 0x2c) + 28be: 4241 lsli r2, r2, 1 + 28c0: 6848 and r1, r2 + 28c2: 3940 cmpnei r1, 0 + 28c4: 0bf9 bt 0x28b6 // 28b6 + else if((EPT0->EMMISR&EPT_MEM_FAULT_EMINT)==EPT_MEM_FAULT_EMINT) //interrupt flag of MEM_FAULT event + 28c6: 3280 movi r2, 128 + 28c8: 932b ld.w r1, (r3, 0x2c) + 28ca: 4242 lsli r2, r2, 2 + 28cc: 6848 and r1, r2 + 28ce: 3940 cmpnei r1, 0 + 28d0: 0bf3 bt 0x28b6 // 28b6 + else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT) //interrupt flag of EOM_FAULT event + 28d2: 3280 movi r2, 128 + 28d4: 932b ld.w r1, (r3, 0x2c) + 28d6: 4243 lsli r2, r2, 3 + 28d8: 6848 and r1, r2 + 28da: 3940 cmpnei r1, 0 + 28dc: 0bed bt 0x28b6 // 28b6 + 28de: 076b br 0x27b4 // 27b4 + 28e0: 20000020 .long 0x20000020 + 28e4: 200001e0 .long 0x200001e0 + 28e8: 200001dc .long 0x200001dc + +Disassembly of section .text.WWDTHandler: + +000028ec : +//WWDT Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void WWDTHandler(void) +{ + 28ec: 1460 nie + 28ee: 1462 ipush + 28f0: 14d2 push r4-r5, r15 + WWDT->ICR=0X01; + 28f2: 10ab lrw r5, 0x20000010 // 291c + 28f4: 3401 movi r4, 1 + 28f6: 9560 ld.w r3, (r5, 0x0) + 28f8: b385 st.w r4, (r3, 0x14) + WWDT_CNT_Load(0xFF); + 28fa: 30ff movi r0, 255 + 28fc: e3fffc06 bsr 0x2108 // 2108 + if((WWDT->MISR&WWDT_EVI)==WWDT_EVI) //WWDT EVI interrupt + 2900: 9540 ld.w r2, (r5, 0x0) + 2902: 9263 ld.w r3, (r2, 0xc) + 2904: 68d0 and r3, r4 + 2906: 3b40 cmpnei r3, 0 + 2908: 0c02 bf 0x290c // 290c + { + WWDT->ICR = WWDT_EVI; + 290a: b285 st.w r4, (r2, 0x14) + } +} + 290c: d9ee2002 ld.w r15, (r14, 0x8) + 2910: 98a1 ld.w r5, (r14, 0x4) + 2912: 9880 ld.w r4, (r14, 0x0) + 2914: 1403 addi r14, r14, 12 + 2916: 1463 ipop + 2918: 1461 nir + 291a: 0000 bkpt + 291c: 20000010 .long 0x20000010 + +Disassembly of section .text.GPT0IntHandler: + +00002920 : +//GPT0 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void GPT0IntHandler(void) +{ + 2920: 1460 nie + 2922: 1462 ipush + // ISR content ... + if((GPT0->MISR&GPT_INT_TRGEV0)==GPT_INT_TRGEV0) //TRGEV0 interrupt + 2924: 107e lrw r3, 0x20000024 // 299c + 2926: 3101 movi r1, 1 + 2928: 9360 ld.w r3, (r3, 0x0) + 292a: 237f addi r3, 128 + 292c: 9355 ld.w r2, (r3, 0x54) + 292e: 6884 and r2, r1 + 2930: 3a40 cmpnei r2, 0 + 2932: 0c04 bf 0x293a // 293a + { + GPT0->ICR = GPT_INT_CAPLD0; + } + else if((GPT0->MISR&GPT_INT_CAPLD1)==GPT_INT_CAPLD1) //Capture Load to CMPB interrupt + { + GPT0->ICR = GPT_INT_CAPLD1; + 2934: b337 st.w r1, (r3, 0x5c) + } + else if((GPT0->MISR&GPT_INT_PEND)==GPT_INT_PEND) //End of cycle interrupt + { + GPT0->ICR = GPT_INT_PEND; + } +} + 2936: 1463 ipop + 2938: 1461 nir + else if((GPT0->MISR&GPT_INT_TRGEV1)==GPT_INT_TRGEV1) //TRGEV1 interrupt + 293a: 9355 ld.w r2, (r3, 0x54) + 293c: 3102 movi r1, 2 + 293e: 6884 and r2, r1 + 2940: 3a40 cmpnei r2, 0 + 2942: 0bf9 bt 0x2934 // 2934 + else if((GPT0->MISR&GPT_INT_CAPLD0)==GPT_INT_CAPLD0) //Capture Load to CMPA interrupt + 2944: 9355 ld.w r2, (r3, 0x54) + 2946: 3110 movi r1, 16 + 2948: 6884 and r2, r1 + 294a: 3a40 cmpnei r2, 0 + 294c: 0bf4 bt 0x2934 // 2934 + else if((GPT0->MISR&GPT_INT_CAPLD1)==GPT_INT_CAPLD1) //Capture Load to CMPB interrupt + 294e: 9355 ld.w r2, (r3, 0x54) + 2950: 3120 movi r1, 32 + 2952: 6884 and r2, r1 + 2954: 3a40 cmpnei r2, 0 + 2956: 0bef bt 0x2934 // 2934 + else if((GPT0->MISR&GPT_INT_CAU)==GPT_INT_CAU) //Up-Counting phase CNT = CMPA Interrupt + 2958: 3280 movi r2, 128 + 295a: 9335 ld.w r1, (r3, 0x54) + 295c: 4241 lsli r2, r2, 1 + 295e: 6848 and r1, r2 + 2960: 3940 cmpnei r1, 0 + 2962: 0c03 bf 0x2968 // 2968 + GPT0->ICR = GPT_INT_PEND; + 2964: b357 st.w r2, (r3, 0x5c) +} + 2966: 07e8 br 0x2936 // 2936 + else if((GPT0->MISR&GPT_INT_CAD)==GPT_INT_CAD) //Down-Counting phase CNT = CMPA Interrupt + 2968: 3280 movi r2, 128 + 296a: 9335 ld.w r1, (r3, 0x54) + 296c: 4242 lsli r2, r2, 2 + 296e: 6848 and r1, r2 + 2970: 3940 cmpnei r1, 0 + 2972: 0bf9 bt 0x2964 // 2964 + else if((GPT0->MISR&GPT_INT_CBU)==GPT_INT_CBU) //Up-Counting phase CNT = CMPB Interrupt + 2974: 3280 movi r2, 128 + 2976: 9335 ld.w r1, (r3, 0x54) + 2978: 4243 lsli r2, r2, 3 + 297a: 6848 and r1, r2 + 297c: 3940 cmpnei r1, 0 + 297e: 0bf3 bt 0x2964 // 2964 + else if((GPT0->MISR&GPT_INT_CBD)==GPT_INT_CBD) //Down-Counting phase CNT = CMPB Interrupt + 2980: 3280 movi r2, 128 + 2982: 9335 ld.w r1, (r3, 0x54) + 2984: 4244 lsli r2, r2, 4 + 2986: 6848 and r1, r2 + 2988: 3940 cmpnei r1, 0 + 298a: 0bed bt 0x2964 // 2964 + else if((GPT0->MISR&GPT_INT_PEND)==GPT_INT_PEND) //End of cycle interrupt + 298c: 3280 movi r2, 128 + 298e: 9335 ld.w r1, (r3, 0x54) + 2990: 4249 lsli r2, r2, 9 + 2992: 6848 and r1, r2 + 2994: 3940 cmpnei r1, 0 + 2996: 0be7 bt 0x2964 // 2964 + 2998: 07cf br 0x2936 // 2936 + 299a: 0000 bkpt + 299c: 20000024 .long 0x20000024 + +Disassembly of section .text.RTCIntHandler: + +000029a0 : +//RTC Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void RTCIntHandler(void) +{ + 29a0: 1460 nie + 29a2: 1462 ipush + // ISR content ... + if((RTC->MISR&ALRA_INT)==ALRA_INT) //Interrupt of alarm A + 29a4: 1079 lrw r3, 0x20000018 // 2a08 + 29a6: 3101 movi r1, 1 + 29a8: 9360 ld.w r3, (r3, 0x0) + 29aa: 934a ld.w r2, (r3, 0x28) + 29ac: 6884 and r2, r1 + 29ae: 3a40 cmpnei r2, 0 + 29b0: 0c14 bf 0x29d8 // 29d8 + { + RTC->ICR=ALRA_INT; + RTC->KEY=0XCA53; + 29b2: 1057 lrw r2, 0xca53 // 2a0c + RTC->ICR=ALRA_INT; + 29b4: b32b st.w r1, (r3, 0x2c) + RTC->KEY=0XCA53; + 29b6: b34c st.w r2, (r3, 0x30) + RTC->CR=RTC->CR|0x01; + 29b8: 9342 ld.w r2, (r3, 0x8) + 29ba: 6c84 or r2, r1 + 29bc: b342 st.w r2, (r3, 0x8) + RTC->TIMR=(0x10<<16)|(0x00<<8)|(0x00); //Hour bit6->0:am 1:pm + 29be: 3280 movi r2, 128 + 29c0: 424d lsli r2, r2, 13 + 29c2: b340 st.w r2, (r3, 0x0) + while(RTC->CR&0x02); //busy TIMR DATR ALRAR ALRBR Update done + 29c4: 3102 movi r1, 2 + 29c6: 9342 ld.w r2, (r3, 0x8) + 29c8: 6884 and r2, r1 + 29ca: 3a40 cmpnei r2, 0 + 29cc: 0bfd bt 0x29c6 // 29c6 + RTC->CR &= ~0x1; + 29ce: 9342 ld.w r2, (r3, 0x8) + 29d0: 3a80 bclri r2, 0 + 29d2: b342 st.w r2, (r3, 0x8) + } + else if((RTC->MISR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT) //Interrupt of trigger event 1 + { + RTC->ICR=RTC_TRGEV1_INT; + } +} + 29d4: 1463 ipop + 29d6: 1461 nir + else if((RTC->MISR&ALRB_INT)==ALRB_INT) //Interrupt of alarm B + 29d8: 934a ld.w r2, (r3, 0x28) + 29da: 3102 movi r1, 2 + 29dc: 6884 and r2, r1 + 29de: 3a40 cmpnei r2, 0 + 29e0: 0c03 bf 0x29e6 // 29e6 + RTC->ICR=RTC_TRGEV1_INT; + 29e2: b32b st.w r1, (r3, 0x2c) +} + 29e4: 07f8 br 0x29d4 // 29d4 + else if((RTC->MISR&CPRD_INT)==CPRD_INT) //Interrupt of alarm CPRD + 29e6: 934a ld.w r2, (r3, 0x28) + 29e8: 3104 movi r1, 4 + 29ea: 6884 and r2, r1 + 29ec: 3a40 cmpnei r2, 0 + 29ee: 0bfa bt 0x29e2 // 29e2 + else if((RTC->MISR&RTC_TRGEV0_INT)==RTC_TRGEV0_INT) //Interrupt of trigger event 0 + 29f0: 934a ld.w r2, (r3, 0x28) + 29f2: 3108 movi r1, 8 + 29f4: 6884 and r2, r1 + 29f6: 3a40 cmpnei r2, 0 + 29f8: 0bf5 bt 0x29e2 // 29e2 + else if((RTC->MISR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT) //Interrupt of trigger event 1 + 29fa: 934a ld.w r2, (r3, 0x28) + 29fc: 3110 movi r1, 16 + 29fe: 6884 and r2, r1 + 2a00: 3a40 cmpnei r2, 0 + 2a02: 0bf0 bt 0x29e2 // 29e2 + 2a04: 07e8 br 0x29d4 // 29d4 + 2a06: 0000 bkpt + 2a08: 20000018 .long 0x20000018 + 2a0c: 0000ca53 .long 0x0000ca53 + +Disassembly of section .text.UART0IntHandler: + +00002a10 : +//UART0 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART0IntHandler(void) +{ + 2a10: 1460 nie + 2a12: 1462 ipush + 2a14: 14d0 push r15 + char inchar = 0; + + // ISR content ... + if ((UART0->ISR&UART_RX_INT_S)==UART_RX_INT_S) //RX interrupt + 2a16: 1076 lrw r3, 0x20000040 // 2a6c + 2a18: 3102 movi r1, 2 + 2a1a: 9360 ld.w r3, (r3, 0x0) + 2a1c: 9343 ld.w r2, (r3, 0xc) + 2a1e: 6884 and r2, r1 + 2a20: 3a40 cmpnei r2, 0 + 2a22: 0c0b bf 0x2a38 // 2a38 + { + UART0->ISR=UART_RX_INT_S; + 2a24: b323 st.w r1, (r3, 0xc) + inchar = CSP_UART_GET_DATA(UART0); + 2a26: 9300 ld.w r0, (r3, 0x0) + UART0_RecvINT_Processing(inchar); + 2a28: 7400 zextb r0, r0 + 2a2a: e00003a1 bsr 0x316c // 316c + else if ((UART0->ISR&UART_TX_DONE_S)==UART_TX_DONE_S) + { + UART0->ISR=UART_TX_DONE_S; + } + +} + 2a2e: d9ee2000 ld.w r15, (r14, 0x0) + 2a32: 1401 addi r14, r14, 4 + 2a34: 1463 ipop + 2a36: 1461 nir + else if( (UART0->ISR&UART_TX_INT_S)==UART_TX_INT_S ) //TX interrupt + 2a38: 9343 ld.w r2, (r3, 0xc) + 2a3a: 3101 movi r1, 1 + 2a3c: 6884 and r2, r1 + 2a3e: 3a40 cmpnei r2, 0 + 2a40: 0c03 bf 0x2a46 // 2a46 + UART0->ISR=UART_TX_IOV_S; + 2a42: b323 st.w r1, (r3, 0xc) + 2a44: 07f5 br 0x2a2e // 2a2e + else if ((UART0->ISR&UART_RX_IOV_S)==UART_RX_IOV_S) //RX overrun interrupt + 2a46: 9343 ld.w r2, (r3, 0xc) + 2a48: 3108 movi r1, 8 + 2a4a: 6884 and r2, r1 + 2a4c: 3a40 cmpnei r2, 0 + 2a4e: 0bfa bt 0x2a42 // 2a42 + else if ((UART0->ISR&UART_TX_IOV_S)==UART_TX_IOV_S) //TX overrun interrupt + 2a50: 9343 ld.w r2, (r3, 0xc) + 2a52: 3104 movi r1, 4 + 2a54: 6884 and r2, r1 + 2a56: 3a40 cmpnei r2, 0 + 2a58: 0bf5 bt 0x2a42 // 2a42 + else if ((UART0->ISR&UART_TX_DONE_S)==UART_TX_DONE_S) + 2a5a: 3280 movi r2, 128 + 2a5c: 9323 ld.w r1, (r3, 0xc) + 2a5e: 424c lsli r2, r2, 12 + 2a60: 6848 and r1, r2 + 2a62: 3940 cmpnei r1, 0 + 2a64: 0fe5 bf 0x2a2e // 2a2e + UART0->ISR=UART_TX_DONE_S; + 2a66: b343 st.w r2, (r3, 0xc) +} + 2a68: 07e3 br 0x2a2e // 2a2e + 2a6a: 0000 bkpt + 2a6c: 20000040 .long 0x20000040 + +Disassembly of section .text.UART1IntHandler: + +00002a70 : +//UART1 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART1IntHandler(void) +{ + 2a70: 1460 nie + 2a72: 1462 ipush + 2a74: 14d0 push r15 + char inchar = 0; + + // ISR content ... + if ((UART1->ISR&UART_RX_INT_S)==UART_RX_INT_S) //RX interrupt + 2a76: 107f lrw r3, 0x2000003c // 2af0 + 2a78: 3102 movi r1, 2 + 2a7a: 9360 ld.w r3, (r3, 0x0) + 2a7c: 9343 ld.w r2, (r3, 0xc) + 2a7e: 6884 and r2, r1 + 2a80: 3a40 cmpnei r2, 0 + 2a82: 0c0b bf 0x2a98 // 2a98 + { + UART1->ISR=UART_RX_INT_S; + 2a84: b323 st.w r1, (r3, 0xc) + inchar = CSP_UART_GET_DATA(UART1); + 2a86: 9300 ld.w r0, (r3, 0x0) + UART1_RecvINT_Processing(inchar); + 2a88: 7400 zextb r0, r0 + 2a8a: e000038d bsr 0x31a4 // 31a4 + if(RS485_Comm_Flag1 == 0x01){ + RS485_Comm_End1 ++; + } + + } +} + 2a8e: d9ee2000 ld.w r15, (r14, 0x0) + 2a92: 1401 addi r14, r14, 4 + 2a94: 1463 ipop + 2a96: 1461 nir + else if( (UART1->ISR&UART_TX_INT_S)==UART_TX_INT_S ) //TX interrupt + 2a98: 9323 ld.w r1, (r3, 0xc) + 2a9a: 3201 movi r2, 1 + 2a9c: 6848 and r1, r2 + 2a9e: 3940 cmpnei r1, 0 + 2aa0: 0c0d bf 0x2aba // 2aba + UART1->ISR=UART_TX_INT_S; + 2aa2: b343 st.w r2, (r3, 0xc) + RS485_Comming1 = 0x01; + 2aa4: 1074 lrw r3, 0x20000134 // 2af4 + 2aa6: b340 st.w r2, (r3, 0x0) + if(RS485_Comm_Flag1 == 0x01){ + 2aa8: 1074 lrw r3, 0x20000138 // 2af8 + 2aaa: 9360 ld.w r3, (r3, 0x0) + 2aac: 3b41 cmpnei r3, 1 + 2aae: 0bf0 bt 0x2a8e // 2a8e + RS485_Comm_Start1 ++; + 2ab0: 1053 lrw r2, 0x2000013c // 2afc + RS485_Comm_End1 ++; + 2ab2: 9260 ld.w r3, (r2, 0x0) + 2ab4: 2300 addi r3, 1 + 2ab6: b260 st.w r3, (r2, 0x0) +} + 2ab8: 07eb br 0x2a8e // 2a8e + else if ((UART1->ISR&UART_RX_IOV_S)==UART_RX_IOV_S) //RX overrun interrupt + 2aba: 9343 ld.w r2, (r3, 0xc) + 2abc: 3108 movi r1, 8 + 2abe: 6884 and r2, r1 + 2ac0: 3a40 cmpnei r2, 0 + 2ac2: 0c03 bf 0x2ac8 // 2ac8 + UART1->ISR=UART_TX_IOV_S; + 2ac4: b323 st.w r1, (r3, 0xc) + 2ac6: 07e4 br 0x2a8e // 2a8e + else if ((UART1->ISR&UART_TX_IOV_S)==UART_TX_IOV_S) //TX overrun interrupt + 2ac8: 9343 ld.w r2, (r3, 0xc) + 2aca: 3104 movi r1, 4 + 2acc: 6884 and r2, r1 + 2ace: 3a40 cmpnei r2, 0 + 2ad0: 0bfa bt 0x2ac4 // 2ac4 + else if ((UART1->ISR&UART_TX_DONE_S)==UART_TX_DONE_S) + 2ad2: 3180 movi r1, 128 + 2ad4: 9303 ld.w r0, (r3, 0xc) + 2ad6: 412c lsli r1, r1, 12 + 2ad8: 6804 and r0, r1 + 2ada: 3840 cmpnei r0, 0 + 2adc: 0fd9 bf 0x2a8e // 2a8e + UART1->ISR=UART_TX_DONE_S; + 2ade: b323 st.w r1, (r3, 0xc) + RS485_Comming1 = 0x00; + 2ae0: 1065 lrw r3, 0x20000134 // 2af4 + 2ae2: b340 st.w r2, (r3, 0x0) + if(RS485_Comm_Flag1 == 0x01){ + 2ae4: 1065 lrw r3, 0x20000138 // 2af8 + 2ae6: 9360 ld.w r3, (r3, 0x0) + 2ae8: 3b41 cmpnei r3, 1 + 2aea: 0bd2 bt 0x2a8e // 2a8e + RS485_Comm_End1 ++; + 2aec: 1045 lrw r2, 0x20000140 // 2b00 + 2aee: 07e2 br 0x2ab2 // 2ab2 + 2af0: 2000003c .long 0x2000003c + 2af4: 20000134 .long 0x20000134 + 2af8: 20000138 .long 0x20000138 + 2afc: 2000013c .long 0x2000013c + 2b00: 20000140 .long 0x20000140 + +Disassembly of section .text.UART2IntHandler: + +00002b04 : +//UART2 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART2IntHandler(void) +{ + 2b04: 1460 nie + 2b06: 1462 ipush + 2b08: 14d0 push r15 + char inchar = 0; + + // ISR content ... + if ((UART2->ISR&UART_RX_INT_S)==UART_RX_INT_S) //RX interrupt + 2b0a: 107f lrw r3, 0x20000038 // 2b84 + 2b0c: 3102 movi r1, 2 + 2b0e: 9360 ld.w r3, (r3, 0x0) + 2b10: 9343 ld.w r2, (r3, 0xc) + 2b12: 6884 and r2, r1 + 2b14: 3a40 cmpnei r2, 0 + 2b16: 0c0b bf 0x2b2c // 2b2c + { + UART2->ISR=UART_RX_INT_S; + 2b18: b323 st.w r1, (r3, 0xc) + inchar = CSP_UART_GET_DATA(UART2); + 2b1a: 9300 ld.w r0, (r3, 0x0) + UART2_RecvINT_Processing(inchar); + 2b1c: 7400 zextb r0, r0 + 2b1e: e0000395 bsr 0x3248 // 3248 + RS485_Comm_End ++; + } + + } + +} + 2b22: d9ee2000 ld.w r15, (r14, 0x0) + 2b26: 1401 addi r14, r14, 4 + 2b28: 1463 ipop + 2b2a: 1461 nir + else if( (UART2->ISR&UART_TX_INT_S)==UART_TX_INT_S ) //TX interrupt + 2b2c: 9323 ld.w r1, (r3, 0xc) + 2b2e: 3201 movi r2, 1 + 2b30: 6848 and r1, r2 + 2b32: 3940 cmpnei r1, 0 + 2b34: 0c0d bf 0x2b4e // 2b4e + UART2->ISR=UART_TX_INT_S; + 2b36: b343 st.w r2, (r3, 0xc) + RS485_Comming = 0x01; + 2b38: 1074 lrw r3, 0x20000124 // 2b88 + 2b3a: b340 st.w r2, (r3, 0x0) + if(RS485_Comm_Flag == 0x01){ + 2b3c: 1074 lrw r3, 0x20000128 // 2b8c + 2b3e: 9360 ld.w r3, (r3, 0x0) + 2b40: 3b41 cmpnei r3, 1 + 2b42: 0bf0 bt 0x2b22 // 2b22 + RS485_Comm_Start ++; + 2b44: 1053 lrw r2, 0x2000012c // 2b90 + RS485_Comm_End ++; + 2b46: 9260 ld.w r3, (r2, 0x0) + 2b48: 2300 addi r3, 1 + 2b4a: b260 st.w r3, (r2, 0x0) +} + 2b4c: 07eb br 0x2b22 // 2b22 + else if ((UART2->ISR&UART_RX_IOV_S)==UART_RX_IOV_S) //RX overrun interrupt + 2b4e: 9343 ld.w r2, (r3, 0xc) + 2b50: 3108 movi r1, 8 + 2b52: 6884 and r2, r1 + 2b54: 3a40 cmpnei r2, 0 + 2b56: 0c03 bf 0x2b5c // 2b5c + UART2->ISR=UART_TX_IOV_S; + 2b58: b323 st.w r1, (r3, 0xc) + 2b5a: 07e4 br 0x2b22 // 2b22 + else if ((UART2->ISR&UART_TX_IOV_S)==UART_TX_IOV_S) //TX overrun interrupt + 2b5c: 9343 ld.w r2, (r3, 0xc) + 2b5e: 3104 movi r1, 4 + 2b60: 6884 and r2, r1 + 2b62: 3a40 cmpnei r2, 0 + 2b64: 0bfa bt 0x2b58 // 2b58 + else if ((UART2->ISR&UART_TX_DONE_S)==UART_TX_DONE_S) + 2b66: 3180 movi r1, 128 + 2b68: 9303 ld.w r0, (r3, 0xc) + 2b6a: 412c lsli r1, r1, 12 + 2b6c: 6804 and r0, r1 + 2b6e: 3840 cmpnei r0, 0 + 2b70: 0fd9 bf 0x2b22 // 2b22 + UART2->ISR=UART_TX_DONE_S; + 2b72: b323 st.w r1, (r3, 0xc) + RS485_Comming = 0x00; + 2b74: 1065 lrw r3, 0x20000124 // 2b88 + 2b76: b340 st.w r2, (r3, 0x0) + if(RS485_Comm_Flag == 0x01){ + 2b78: 1065 lrw r3, 0x20000128 // 2b8c + 2b7a: 9360 ld.w r3, (r3, 0x0) + 2b7c: 3b41 cmpnei r3, 1 + 2b7e: 0bd2 bt 0x2b22 // 2b22 + RS485_Comm_End ++; + 2b80: 1045 lrw r2, 0x20000130 // 2b94 + 2b82: 07e2 br 0x2b46 // 2b46 + 2b84: 20000038 .long 0x20000038 + 2b88: 20000124 .long 0x20000124 + 2b8c: 20000128 .long 0x20000128 + 2b90: 2000012c .long 0x2000012c + 2b94: 20000130 .long 0x20000130 + +Disassembly of section .text.SPI0IntHandler: + +00002b98 : +//SPI Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SPI0IntHandler(void) +{ + 2b98: 1460 nie + 2b9a: 1462 ipush + // ISR content ... + if((SPI0->MISR&SPI_PORIM)==SPI_PORIM) //Receive Overrun Interrupt + 2b9c: 1178 lrw r3, 0x20000034 // 2c7c + 2b9e: 3101 movi r1, 1 + 2ba0: 9360 ld.w r3, (r3, 0x0) + 2ba2: 9347 ld.w r2, (r3, 0x1c) + 2ba4: 6884 and r2, r1 + 2ba6: 3a40 cmpnei r2, 0 + 2ba8: 0c03 bf 0x2bae // 2bae + } + } + } + else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM) //Transmit FIFO Interrupt + { + SPI0->ICR = SPI_TXIM; + 2baa: b328 st.w r1, (r3, 0x20) + } + +} + 2bac: 0407 br 0x2bba // 2bba + else if((SPI0->MISR&SPI_RTIM)==SPI_RTIM) //Receive Timeout Interrupt + 2bae: 9347 ld.w r2, (r3, 0x1c) + 2bb0: 3002 movi r0, 2 + 2bb2: 6880 and r2, r0 + 2bb4: 3a40 cmpnei r2, 0 + 2bb6: 0c04 bf 0x2bbe // 2bbe + SPI0->ICR = SPI_RTIM; + 2bb8: b308 st.w r0, (r3, 0x20) +} + 2bba: 1463 ipop + 2bbc: 1461 nir + else if((SPI0->MISR&SPI_RXIM)==SPI_RXIM) //Receive FIFO Interrupt,FIFO can be set 1/8,1/4,1/2 FIFO Interrupt + 2bbe: 9347 ld.w r2, (r3, 0x1c) + 2bc0: 3004 movi r0, 4 + 2bc2: 6880 and r2, r0 + 2bc4: 3a40 cmpnei r2, 0 + 2bc6: 0c55 bf 0x2c70 // 2c70 + SPI0->ICR = SPI_RXIM; + 2bc8: b308 st.w r0, (r3, 0x20) + if(SPI0->DR==0xaa) + 2bca: 9302 ld.w r0, (r3, 0x8) + 2bcc: 32aa movi r2, 170 + 2bce: 6482 cmpne r0, r2 + 2bd0: 083e bt 0x2c4c // 2c4c + while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? + 2bd2: 3102 movi r1, 2 + 2bd4: 9343 ld.w r2, (r3, 0xc) + 2bd6: 6884 and r2, r1 + 2bd8: 3a40 cmpnei r2, 0 + 2bda: 0ffd bf 0x2bd4 // 2bd4 + SPI0->DR = 0x11; + 2bdc: 3211 movi r2, 17 + 2bde: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2be0: 3110 movi r1, 16 + 2be2: 9343 ld.w r2, (r3, 0xc) + 2be4: 6884 and r2, r1 + 2be6: 3a40 cmpnei r2, 0 + 2be8: 0bfd bt 0x2be2 // 2be2 + while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? + 2bea: 3102 movi r1, 2 + 2bec: 9343 ld.w r2, (r3, 0xc) + 2bee: 6884 and r2, r1 + 2bf0: 3a40 cmpnei r2, 0 + 2bf2: 0ffd bf 0x2bec // 2bec + SPI0->DR = 0x12; + 2bf4: 3212 movi r2, 18 + 2bf6: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2bf8: 3110 movi r1, 16 + 2bfa: 9343 ld.w r2, (r3, 0xc) + 2bfc: 6884 and r2, r1 + 2bfe: 3a40 cmpnei r2, 0 + 2c00: 0bfd bt 0x2bfa // 2bfa + while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? + 2c02: 3102 movi r1, 2 + 2c04: 9343 ld.w r2, (r3, 0xc) + 2c06: 6884 and r2, r1 + 2c08: 3a40 cmpnei r2, 0 + 2c0a: 0ffd bf 0x2c04 // 2c04 + SPI0->DR = 0x13; + 2c0c: 3213 movi r2, 19 + 2c0e: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2c10: 3110 movi r1, 16 + 2c12: 9343 ld.w r2, (r3, 0xc) + 2c14: 6884 and r2, r1 + 2c16: 3a40 cmpnei r2, 0 + 2c18: 0bfd bt 0x2c12 // 2c12 + while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? + 2c1a: 3102 movi r1, 2 + 2c1c: 9343 ld.w r2, (r3, 0xc) + 2c1e: 6884 and r2, r1 + 2c20: 3a40 cmpnei r2, 0 + 2c22: 0ffd bf 0x2c1c // 2c1c + SPI0->DR = 0x14; + 2c24: 3214 movi r2, 20 + 2c26: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2c28: 3110 movi r1, 16 + 2c2a: 9343 ld.w r2, (r3, 0xc) + 2c2c: 6884 and r2, r1 + 2c2e: 3a40 cmpnei r2, 0 + 2c30: 0bfd bt 0x2c2a // 2c2a + while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? + 2c32: 3102 movi r1, 2 + 2c34: 9343 ld.w r2, (r3, 0xc) + 2c36: 6884 and r2, r1 + 2c38: 3a40 cmpnei r2, 0 + 2c3a: 0ffd bf 0x2c34 // 2c34 + SPI0->DR = 0x15; + 2c3c: 3215 movi r2, 21 + 2c3e: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2c40: 3110 movi r1, 16 + 2c42: 9343 ld.w r2, (r3, 0xc) + 2c44: 6884 and r2, r1 + 2c46: 3a40 cmpnei r2, 0 + 2c48: 0bfd bt 0x2c42 // 2c42 + 2c4a: 07b8 br 0x2bba // 2bba + if(((SPI0->SR) & SSP_TFE)!=SSP_TFE) + 2c4c: 9343 ld.w r2, (r3, 0xc) + 2c4e: 6884 and r2, r1 + 2c50: 3a40 cmpnei r2, 0 + 2c52: 0bb4 bt 0x2bba // 2bba + SPI0->DR=0x0; //FIFO=0 + 2c54: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2c56: 3110 movi r1, 16 + SPI0->DR=0x0; //FIFO=0 + 2c58: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c5a: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c5c: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c5e: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c60: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c62: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c64: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2c66: 9343 ld.w r2, (r3, 0xc) + 2c68: 6884 and r2, r1 + 2c6a: 3a40 cmpnei r2, 0 + 2c6c: 0bfd bt 0x2c66 // 2c66 + 2c6e: 07a6 br 0x2bba // 2bba + else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM) //Transmit FIFO Interrupt + 2c70: 9347 ld.w r2, (r3, 0x1c) + 2c72: 3108 movi r1, 8 + 2c74: 6884 and r2, r1 + 2c76: 3a40 cmpnei r2, 0 + 2c78: 0b99 bt 0x2baa // 2baa + 2c7a: 07a0 br 0x2bba // 2bba + 2c7c: 20000034 .long 0x20000034 + +Disassembly of section .text.SIO0IntHandler: + +00002c80 : +//SIO Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SIO0IntHandler(void) +{ + 2c80: 1460 nie + 2c82: 1462 ipush + CK801->IPR[4]=0X40404040; + CK801->IPR[5]=0X40404000; + CK801->IPR[6]=0X40404040; + CK801->IPR[7]=0X40404040;*/ + //TXBUFEMPT The sequence length exceeds 15bit needs to be updated into this interrupt + if(SIO0->MISR&0X04) + 2c84: 1073 lrw r3, 0x2000002c // 2cd0 + 2c86: 3104 movi r1, 4 + 2c88: 9360 ld.w r3, (r3, 0x0) + 2c8a: 9349 ld.w r2, (r3, 0x24) + 2c8c: 6884 and r2, r1 + 2c8e: 3a40 cmpnei r2, 0 + 2c90: 0c02 bf 0x2c94 // 2c94 + { + SIO0->ICR=0X04; + 2c92: b32b st.w r1, (r3, 0x2c) + + } + if(SIO0->MISR&0X01) //TXDNE 发送完成 + 2c94: 9349 ld.w r2, (r3, 0x24) + 2c96: 3101 movi r1, 1 + 2c98: 6884 and r2, r1 + 2c9a: 3a40 cmpnei r2, 0 + 2c9c: 0c02 bf 0x2ca0 // 2ca0 + { + SIO0->ICR=0X01; + 2c9e: b32b st.w r1, (r3, 0x2c) + delay_nms(10); + SIO0->TXBUF=(0x03<<30)|(0x02<<28)|(0x03<<26)|(0x02<<24)|(0x03<<22)|(0x02<<20)|(0x03<<18)|(0x02<<16)| + (0x01<<14)|(0x00<<12)|(0x01<<10)|(0x00<<8)|(0x01<<6)|(0x00<<4)|(0x01<<2)|(0x0<<0); //0:D0,1:D1,2:DL,3:DH; + }*/ + + if(SIO0->MISR&0X02) //RXDNE + 2ca0: 9349 ld.w r2, (r3, 0x24) + 2ca2: 3102 movi r1, 2 + 2ca4: 6884 and r2, r1 + 2ca6: 3a40 cmpnei r2, 0 + 2ca8: 0c03 bf 0x2cae // 2cae + { + SIO0->ICR=0X10; + } + else if(SIO0->MISR&0X020) //TIMEOUT + { + SIO0->ICR=0X20; + 2caa: b32b st.w r1, (r3, 0x2c) + } +} + 2cac: 0410 br 0x2ccc // 2ccc + else if(SIO0->MISR&0X08) //RXBUFFULL + 2cae: 9349 ld.w r2, (r3, 0x24) + 2cb0: 3108 movi r1, 8 + 2cb2: 6884 and r2, r1 + 2cb4: 3a40 cmpnei r2, 0 + 2cb6: 0bfa bt 0x2caa // 2caa + else if(SIO0->MISR&0X010) //BREAK + 2cb8: 9349 ld.w r2, (r3, 0x24) + 2cba: 3110 movi r1, 16 + 2cbc: 6884 and r2, r1 + 2cbe: 3a40 cmpnei r2, 0 + 2cc0: 0bf5 bt 0x2caa // 2caa + else if(SIO0->MISR&0X020) //TIMEOUT + 2cc2: 9349 ld.w r2, (r3, 0x24) + 2cc4: 3120 movi r1, 32 + 2cc6: 6884 and r2, r1 + 2cc8: 3a40 cmpnei r2, 0 + 2cca: 0bf0 bt 0x2caa // 2caa +} + 2ccc: 1463 ipop + 2cce: 1461 nir + 2cd0: 2000002c .long 0x2000002c + +Disassembly of section .text.EXI0IntHandler: + +00002cd4 : +//EXT0/16 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI0IntHandler(void) +{ + 2cd4: 1460 nie + 2cd6: 1462 ipush + // ISR content ... + if ((SYSCON->EXIRS&EXI_PIN0)==EXI_PIN0) //EXT0 Interrupt + 2cd8: 106a lrw r3, 0x2000005c // 2d00 + 2cda: 3101 movi r1, 1 + 2cdc: 9360 ld.w r3, (r3, 0x0) + 2cde: 237f addi r3, 128 + 2ce0: 934c ld.w r2, (r3, 0x30) + 2ce2: 6884 and r2, r1 + 2ce4: 3a40 cmpnei r2, 0 + 2ce6: 0c04 bf 0x2cee // 2cee + { + SYSCON->EXICR = EXI_PIN0; + 2ce8: b32b st.w r1, (r3, 0x2c) + } + else if ((SYSCON->EXIRS&EXI_PIN16)==EXI_PIN16) //EXT16 Interrupt + { + SYSCON->EXICR = EXI_PIN16; + } +} + 2cea: 1463 ipop + 2cec: 1461 nir + else if ((SYSCON->EXIRS&EXI_PIN16)==EXI_PIN16) //EXT16 Interrupt + 2cee: 3280 movi r2, 128 + 2cf0: 932c ld.w r1, (r3, 0x30) + 2cf2: 4249 lsli r2, r2, 9 + 2cf4: 6848 and r1, r2 + 2cf6: 3940 cmpnei r1, 0 + 2cf8: 0ff9 bf 0x2cea // 2cea + SYSCON->EXICR = EXI_PIN16; + 2cfa: b34b st.w r2, (r3, 0x2c) +} + 2cfc: 07f7 br 0x2cea // 2cea + 2cfe: 0000 bkpt + 2d00: 2000005c .long 0x2000005c + +Disassembly of section .text.EXI1IntHandler: + +00002d04 : +//EXT1/17 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI1IntHandler(void) +{ + 2d04: 1460 nie + 2d06: 1462 ipush + // ISR content ... + if ((SYSCON->EXIRS&EXI_PIN1)==EXI_PIN1) //EXT1 Interrupt + 2d08: 106a lrw r3, 0x2000005c // 2d30 + 2d0a: 3102 movi r1, 2 + 2d0c: 9360 ld.w r3, (r3, 0x0) + 2d0e: 237f addi r3, 128 + 2d10: 934c ld.w r2, (r3, 0x30) + 2d12: 6884 and r2, r1 + 2d14: 3a40 cmpnei r2, 0 + 2d16: 0c04 bf 0x2d1e // 2d1e + { + SYSCON->EXICR = EXI_PIN1; + 2d18: b32b st.w r1, (r3, 0x2c) + } + else if ((SYSCON->EXIRS&EXI_PIN17)==EXI_PIN17) //EXT17 Interrupt + { + SYSCON->EXICR = EXI_PIN17; + } +} + 2d1a: 1463 ipop + 2d1c: 1461 nir + else if ((SYSCON->EXIRS&EXI_PIN17)==EXI_PIN17) //EXT17 Interrupt + 2d1e: 3280 movi r2, 128 + 2d20: 932c ld.w r1, (r3, 0x30) + 2d22: 424a lsli r2, r2, 10 + 2d24: 6848 and r1, r2 + 2d26: 3940 cmpnei r1, 0 + 2d28: 0ff9 bf 0x2d1a // 2d1a + SYSCON->EXICR = EXI_PIN17; + 2d2a: b34b st.w r2, (r3, 0x2c) +} + 2d2c: 07f7 br 0x2d1a // 2d1a + 2d2e: 0000 bkpt + 2d30: 2000005c .long 0x2000005c + +Disassembly of section .text.EXI2to3IntHandler: + +00002d34 : +//EXI2~3 18~19Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI2to3IntHandler(void) +{ + 2d34: 1460 nie + 2d36: 1462 ipush + // ISR content ... + if ((SYSCON->EXIRS&EXI_PIN2)==EXI_PIN2) //EXT2 Interrupt + 2d38: 1070 lrw r3, 0x2000005c // 2d78 + 2d3a: 3104 movi r1, 4 + 2d3c: 9360 ld.w r3, (r3, 0x0) + 2d3e: 237f addi r3, 128 + 2d40: 934c ld.w r2, (r3, 0x30) + 2d42: 6884 and r2, r1 + 2d44: 3a40 cmpnei r2, 0 + 2d46: 0c04 bf 0x2d4e // 2d4e + SYSCON->EXICR = EXI_PIN2; +// RLY_State_Multi_Control(); + } + else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) //EXT3 Interrupt + { + SYSCON->EXICR = EXI_PIN3; + 2d48: b32b st.w r1, (r3, 0x2c) + } + else if ((SYSCON->EXIRS&EXI_PIN19)==EXI_PIN19) //EXT19 Interrupt + { + SYSCON->EXICR = EXI_PIN19; + } +} + 2d4a: 1463 ipop + 2d4c: 1461 nir + else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) //EXT3 Interrupt + 2d4e: 934c ld.w r2, (r3, 0x30) + 2d50: 3108 movi r1, 8 + 2d52: 6884 and r2, r1 + 2d54: 3a40 cmpnei r2, 0 + 2d56: 0bf9 bt 0x2d48 // 2d48 + else if ((SYSCON->EXIRS&EXI_PIN18)==EXI_PIN18) //EXT18 Interrupt + 2d58: 3280 movi r2, 128 + 2d5a: 932c ld.w r1, (r3, 0x30) + 2d5c: 424b lsli r2, r2, 11 + 2d5e: 6848 and r1, r2 + 2d60: 3940 cmpnei r1, 0 + 2d62: 0c03 bf 0x2d68 // 2d68 + SYSCON->EXICR = EXI_PIN19; + 2d64: b34b st.w r2, (r3, 0x2c) +} + 2d66: 07f2 br 0x2d4a // 2d4a + else if ((SYSCON->EXIRS&EXI_PIN19)==EXI_PIN19) //EXT19 Interrupt + 2d68: 3280 movi r2, 128 + 2d6a: 932c ld.w r1, (r3, 0x30) + 2d6c: 424c lsli r2, r2, 12 + 2d6e: 6848 and r1, r2 + 2d70: 3940 cmpnei r1, 0 + 2d72: 0bf9 bt 0x2d64 // 2d64 + 2d74: 07eb br 0x2d4a // 2d4a + 2d76: 0000 bkpt + 2d78: 2000005c .long 0x2000005c + +Disassembly of section .text.EXI4to9IntHandler: + +00002d7c : +//EXI4~9 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI4to9IntHandler(void) +{ + 2d7c: 1460 nie + 2d7e: 1462 ipush + 2d80: 14d0 push r15 + // ISR content ... + if ((SYSCON->EXIRS&EXI_PIN4)==EXI_PIN4) //EXT4 Interrupt + 2d82: 1079 lrw r3, 0x2000005c // 2de4 + 2d84: 3280 movi r2, 128 + 2d86: 9360 ld.w r3, (r3, 0x0) + 2d88: 60c8 addu r3, r2 + 2d8a: 932c ld.w r1, (r3, 0x30) + 2d8c: 3010 movi r0, 16 + 2d8e: 6840 and r1, r0 + 2d90: 3940 cmpnei r1, 0 + 2d92: 0c03 bf 0x2d98 // 2d98 + BusBusy_Task(); + + } + else if ((SYSCON->EXIRS&EXI_PIN6)==EXI_PIN6) //EXT6 Interrupt + { + SYSCON->EXICR = EXI_PIN6; + 2d94: b30b st.w r0, (r3, 0x2c) + 2d96: 0409 br 0x2da8 // 2da8 + else if ((SYSCON->EXIRS&EXI_PIN5)==EXI_PIN5) //EXT5 Interrupt + 2d98: 932c ld.w r1, (r3, 0x30) + 2d9a: 3020 movi r0, 32 + 2d9c: 6840 and r1, r0 + 2d9e: 3940 cmpnei r1, 0 + 2da0: 0c09 bf 0x2db2 // 2db2 + SYSCON->EXICR = EXI_PIN5; + 2da2: b30b st.w r0, (r3, 0x2c) + BusBusy_Task(); + 2da4: e000040c bsr 0x35bc // 35bc + else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) //EXT9 Interrupt + { + SYSCON->EXICR = EXI_PIN9; + } + +} + 2da8: d9ee2000 ld.w r15, (r14, 0x0) + 2dac: 1401 addi r14, r14, 4 + 2dae: 1463 ipop + 2db0: 1461 nir + else if ((SYSCON->EXIRS&EXI_PIN6)==EXI_PIN6) //EXT6 Interrupt + 2db2: 932c ld.w r1, (r3, 0x30) + 2db4: 3040 movi r0, 64 + 2db6: 6840 and r1, r0 + 2db8: 3940 cmpnei r1, 0 + 2dba: 0bed bt 0x2d94 // 2d94 + else if ((SYSCON->EXIRS&EXI_PIN7)==EXI_PIN7) //EXT7 Interrupt + 2dbc: 932c ld.w r1, (r3, 0x30) + 2dbe: 6848 and r1, r2 + 2dc0: 3940 cmpnei r1, 0 + 2dc2: 0c03 bf 0x2dc8 // 2dc8 + SYSCON->EXICR = EXI_PIN9; + 2dc4: b34b st.w r2, (r3, 0x2c) +} + 2dc6: 07f1 br 0x2da8 // 2da8 + else if ((SYSCON->EXIRS&EXI_PIN8)==EXI_PIN8) //EXT8 Interrupt + 2dc8: 3280 movi r2, 128 + 2dca: 932c ld.w r1, (r3, 0x30) + 2dcc: 4241 lsli r2, r2, 1 + 2dce: 6848 and r1, r2 + 2dd0: 3940 cmpnei r1, 0 + 2dd2: 0bf9 bt 0x2dc4 // 2dc4 + else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) //EXT9 Interrupt + 2dd4: 3280 movi r2, 128 + 2dd6: 932c ld.w r1, (r3, 0x30) + 2dd8: 4242 lsli r2, r2, 2 + 2dda: 6848 and r1, r2 + 2ddc: 3940 cmpnei r1, 0 + 2dde: 0bf3 bt 0x2dc4 // 2dc4 + 2de0: 07e4 br 0x2da8 // 2da8 + 2de2: 0000 bkpt + 2de4: 2000005c .long 0x2000005c + +Disassembly of section .text.EXI10to15IntHandler: + +00002de8 : +//EXI4 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI10to15IntHandler(void) +{ + 2de8: 1460 nie + 2dea: 1462 ipush + // ISR content ... + if ((SYSCON->EXIRS&EXI_PIN10)==EXI_PIN10) //EXT10 Interrupt + 2dec: 1076 lrw r3, 0x2000005c // 2e44 + 2dee: 3280 movi r2, 128 + 2df0: 9360 ld.w r3, (r3, 0x0) + 2df2: 237f addi r3, 128 + 2df4: 932c ld.w r1, (r3, 0x30) + 2df6: 4243 lsli r2, r2, 3 + 2df8: 6848 and r1, r2 + 2dfa: 3940 cmpnei r1, 0 + 2dfc: 0c03 bf 0x2e02 // 2e02 + SYSCON->EXICR = EXI_PIN14; + + } + else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) //EXT15 Interrupt + { + SYSCON->EXICR = EXI_PIN15; + 2dfe: b34b st.w r2, (r3, 0x2c) + } +} + 2e00: 041f br 0x2e3e // 2e3e + else if ((SYSCON->EXIRS&EXI_PIN11)==EXI_PIN11) //EXT11 Interrupt + 2e02: 3280 movi r2, 128 + 2e04: 932c ld.w r1, (r3, 0x30) + 2e06: 4244 lsli r2, r2, 4 + 2e08: 6848 and r1, r2 + 2e0a: 3940 cmpnei r1, 0 + 2e0c: 0bf9 bt 0x2dfe // 2dfe + else if ((SYSCON->EXIRS&EXI_PIN12)==EXI_PIN12) //EXT12 Interrupt + 2e0e: 3280 movi r2, 128 + 2e10: 932c ld.w r1, (r3, 0x30) + 2e12: 4245 lsli r2, r2, 5 + 2e14: 6848 and r1, r2 + 2e16: 3940 cmpnei r1, 0 + 2e18: 0bf3 bt 0x2dfe // 2dfe + else if ((SYSCON->EXIRS&EXI_PIN13)==EXI_PIN13) //EXT13 Interrupt + 2e1a: 3280 movi r2, 128 + 2e1c: 932c ld.w r1, (r3, 0x30) + 2e1e: 4246 lsli r2, r2, 6 + 2e20: 6848 and r1, r2 + 2e22: 3940 cmpnei r1, 0 + 2e24: 0bed bt 0x2dfe // 2dfe + else if ((SYSCON->EXIRS&EXI_PIN14)==EXI_PIN14) //EXT14 Interrupt + 2e26: 3280 movi r2, 128 + 2e28: 932c ld.w r1, (r3, 0x30) + 2e2a: 4247 lsli r2, r2, 7 + 2e2c: 6848 and r1, r2 + 2e2e: 3940 cmpnei r1, 0 + 2e30: 0be7 bt 0x2dfe // 2dfe + else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) //EXT15 Interrupt + 2e32: 3280 movi r2, 128 + 2e34: 932c ld.w r1, (r3, 0x30) + 2e36: 4248 lsli r2, r2, 8 + 2e38: 6848 and r1, r2 + 2e3a: 3940 cmpnei r1, 0 + 2e3c: 0be1 bt 0x2dfe // 2dfe +} + 2e3e: 1463 ipop + 2e40: 1461 nir + 2e42: 0000 bkpt + 2e44: 2000005c .long 0x2000005c + +Disassembly of section .text.LPTIntHandler: + +00002e48 : +//LPT Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void LPTIntHandler(void) +{ + 2e48: 1460 nie + 2e4a: 1462 ipush + // ISR content ... + if((LPT->MISR&LPT_TRGEV0)==LPT_TRGEV0) //TRGEV0 interrupt + 2e4c: 106b lrw r3, 0x20000014 // 2e78 + 2e4e: 3101 movi r1, 1 + 2e50: 9360 ld.w r3, (r3, 0x0) + 2e52: 934e ld.w r2, (r3, 0x38) + 2e54: 6884 and r2, r1 + 2e56: 3a40 cmpnei r2, 0 + 2e58: 0c03 bf 0x2e5e // 2e5e + { + LPT->ICR = LPT_MATCH; + } + else if((LPT->MISR&LPT_PEND)==LPT_PEND) //PEND interrupt + { + LPT->ICR = LPT_PEND; + 2e5a: b330 st.w r1, (r3, 0x40) + } +} + 2e5c: 040b br 0x2e72 // 2e72 + else if((LPT->MISR&LPT_MATCH)==LPT_MATCH) //MATCH interrupt + 2e5e: 934e ld.w r2, (r3, 0x38) + 2e60: 3102 movi r1, 2 + 2e62: 6884 and r2, r1 + 2e64: 3a40 cmpnei r2, 0 + 2e66: 0bfa bt 0x2e5a // 2e5a + else if((LPT->MISR&LPT_PEND)==LPT_PEND) //PEND interrupt + 2e68: 934e ld.w r2, (r3, 0x38) + 2e6a: 3104 movi r1, 4 + 2e6c: 6884 and r2, r1 + 2e6e: 3a40 cmpnei r2, 0 + 2e70: 0bf5 bt 0x2e5a // 2e5a +} + 2e72: 1463 ipop + 2e74: 1461 nir + 2e76: 0000 bkpt + 2e78: 20000014 .long 0x20000014 + +Disassembly of section .text.BT0IntHandler: + +00002e7c : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +U8_T BT_TEMP_State = 1; +void BT0IntHandler(void) +{ + 2e7c: 1460 nie + 2e7e: 1462 ipush + // ISR content ... + if((BT0->MISR&BT_PEND)==BT_PEND) //BT0 PEND interrupt + 2e80: 1071 lrw r3, 0x2000000c // 2ec4 + 2e82: 3101 movi r1, 1 + 2e84: 9360 ld.w r3, (r3, 0x0) + 2e86: 934c ld.w r2, (r3, 0x30) + 2e88: 6884 and r2, r1 + 2e8a: 3a40 cmpnei r2, 0 + 2e8c: 0c0a bf 0x2ea0 // 2ea0 + { + BT0->ICR = BT_PEND; + 2e8e: b32d st.w r1, (r3, 0x34) + + //BT_Stop_Low(BT0); + + BT0->CR =BT0->CR & ~(0x01<<6); + 2e90: 9341 ld.w r2, (r3, 0x4) + 2e92: 3a86 bclri r2, 6 + 2e94: b341 st.w r2, (r3, 0x4) + BT0->RSSR &=0X0; + 2e96: 9340 ld.w r2, (r3, 0x0) + 2e98: 3200 movi r2, 0 + 2e9a: b340 st.w r2, (r3, 0x0) + } + else if((BT0->MISR&BT_EVTRG)==BT_EVTRG) //BT0 Event trigger interrupt + { + BT0->ICR = BT_EVTRG; + } +} + 2e9c: 1463 ipop + 2e9e: 1461 nir + else if((BT0->MISR&BT_CMP)==BT_CMP) //BT0 CMP Match interrupt + 2ea0: 934c ld.w r2, (r3, 0x30) + 2ea2: 3102 movi r1, 2 + 2ea4: 6884 and r2, r1 + 2ea6: 3a40 cmpnei r2, 0 + 2ea8: 0c03 bf 0x2eae // 2eae + BT0->ICR = BT_EVTRG; + 2eaa: b32d st.w r1, (r3, 0x34) +} + 2eac: 07f8 br 0x2e9c // 2e9c + else if((BT0->MISR&BT_OVF)==BT_OVF) //BT0 OVF interrupt + 2eae: 934c ld.w r2, (r3, 0x30) + 2eb0: 3104 movi r1, 4 + 2eb2: 6884 and r2, r1 + 2eb4: 3a40 cmpnei r2, 0 + 2eb6: 0bfa bt 0x2eaa // 2eaa + else if((BT0->MISR&BT_EVTRG)==BT_EVTRG) //BT0 Event trigger interrupt + 2eb8: 934c ld.w r2, (r3, 0x30) + 2eba: 3108 movi r1, 8 + 2ebc: 6884 and r2, r1 + 2ebe: 3a40 cmpnei r2, 0 + 2ec0: 0bf5 bt 0x2eaa // 2eaa + 2ec2: 07ed br 0x2e9c // 2e9c + 2ec4: 2000000c .long 0x2000000c + +Disassembly of section .text.BT1IntHandler: + +00002ec8 : +//BT1 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT1IntHandler(void) +{ + 2ec8: 1460 nie + 2eca: 1462 ipush + 2ecc: 14d0 push r15 + static U8_T NUM = 0; + // ISR content ... + if((BT1->MISR&BT_PEND)==BT_PEND) //BT1 PEND interrupt + 2ece: 1079 lrw r3, 0x20000008 // 2f30 + 2ed0: 3101 movi r1, 1 + 2ed2: 9360 ld.w r3, (r3, 0x0) + 2ed4: 934c ld.w r2, (r3, 0x30) + 2ed6: 6884 and r2, r1 + 2ed8: 3a40 cmpnei r2, 0 + 2eda: 0c03 bf 0x2ee0 // 2ee0 + { + BT1->ICR = BT_OVF; + } + else if((BT1->MISR&BT_EVTRG)==BT_EVTRG) //BT1 Event trigger interrupt + { + BT1->ICR = BT_EVTRG; + 2edc: b32d st.w r1, (r3, 0x34) + } +} + 2ede: 0418 br 0x2f0e // 2f0e + else if((BT1->MISR&BT_CMP)==BT_CMP) //BT1 CMP Match interrupt + 2ee0: 934c ld.w r2, (r3, 0x30) + 2ee2: 3102 movi r1, 2 + 2ee4: 6884 and r2, r1 + 2ee6: 3a40 cmpnei r2, 0 + 2ee8: 0c18 bf 0x2f18 // 2f18 + BT1->ICR = BT_CMP; + 2eea: b32d st.w r1, (r3, 0x34) + NUM++; + 2eec: 1072 lrw r3, 0x200000b0 // 2f34 + 2eee: 8340 ld.b r2, (r3, 0x0) + 2ef0: 2200 addi r2, 1 + 2ef2: 7488 zextb r2, r2 + SysTick_100us++; + 2ef4: 9321 ld.w r1, (r3, 0x4) + 2ef6: 2100 addi r1, 1 + if(NUM >= 10){ + 2ef8: 3a09 cmphsi r2, 10 + NUM++; + 2efa: a340 st.b r2, (r3, 0x0) + SysTick_100us++; + 2efc: b321 st.w r1, (r3, 0x4) + if(NUM >= 10){ + 2efe: 0c08 bf 0x2f0e // 2f0e + NUM = 0; + 2f00: 3200 movi r2, 0 + 2f02: a340 st.b r2, (r3, 0x0) + SysTick_1ms++; + 2f04: 9342 ld.w r2, (r3, 0x8) + 2f06: 2200 addi r2, 1 + 2f08: b342 st.w r2, (r3, 0x8) + BusIdle_Task(); + 2f0a: e0000339 bsr 0x357c // 357c +} + 2f0e: d9ee2000 ld.w r15, (r14, 0x0) + 2f12: 1401 addi r14, r14, 4 + 2f14: 1463 ipop + 2f16: 1461 nir + else if((BT1->MISR&BT_OVF)==BT_OVF) //BT1 OVF interrupt + 2f18: 934c ld.w r2, (r3, 0x30) + 2f1a: 3104 movi r1, 4 + 2f1c: 6884 and r2, r1 + 2f1e: 3a40 cmpnei r2, 0 + 2f20: 0bde bt 0x2edc // 2edc + else if((BT1->MISR&BT_EVTRG)==BT_EVTRG) //BT1 Event trigger interrupt + 2f22: 934c ld.w r2, (r3, 0x30) + 2f24: 3108 movi r1, 8 + 2f26: 6884 and r2, r1 + 2f28: 3a40 cmpnei r2, 0 + 2f2a: 0bd9 bt 0x2edc // 2edc + 2f2c: 07f1 br 0x2f0e // 2f0e + 2f2e: 0000 bkpt + 2f30: 20000008 .long 0x20000008 + 2f34: 200000b0 .long 0x200000b0 + +Disassembly of section .text.PriviledgeVioHandler: + +00002f38 : + 2f38: 783c jmp r15 + +Disassembly of section .text.PendTrapHandler: + +00002f3a : + // ISR content ... + +} + +void PendTrapHandler(void) +{ + 2f3a: 1460 nie + 2f3c: 1462 ipush + // ISR content ... + +} + 2f3e: 1463 ipop + 2f40: 1461 nir + +Disassembly of section .text.Trap3Handler: + +00002f42 : + 2f42: 1460 nie + 2f44: 1462 ipush + 2f46: 1463 ipop + 2f48: 1461 nir + +Disassembly of section .text.Trap2Handler: + +00002f4a : + 2f4a: 1460 nie + 2f4c: 1462 ipush + 2f4e: 1463 ipop + 2f50: 1461 nir + +Disassembly of section .text.Trap1Handler: + +00002f52 : + 2f52: 1460 nie + 2f54: 1462 ipush + 2f56: 1463 ipop + 2f58: 1461 nir + +Disassembly of section .text.Trap0Handler: + +00002f5a : + 2f5a: 1460 nie + 2f5c: 1462 ipush + 2f5e: 1463 ipop + 2f60: 1461 nir + +Disassembly of section .text.UnrecExecpHandler: + +00002f62 : + 2f62: 1460 nie + 2f64: 1462 ipush + 2f66: 1463 ipop + 2f68: 1461 nir + +Disassembly of section .text.BreakPointHandler: + +00002f6a : + 2f6a: 1460 nie + 2f6c: 1462 ipush + 2f6e: 1463 ipop + 2f70: 1461 nir + +Disassembly of section .text.AccessErrHandler: + +00002f72 : + 2f72: 1460 nie + 2f74: 1462 ipush + 2f76: 1463 ipop + 2f78: 1461 nir + +Disassembly of section .text.IllegalInstrHandler: + +00002f7a : + 2f7a: 1460 nie + 2f7c: 1462 ipush + 2f7e: 1463 ipop + 2f80: 1461 nir + +Disassembly of section .text.MisalignedHandler: + +00002f82 : + 2f82: 1460 nie + 2f84: 1462 ipush + 2f86: 1463 ipop + 2f88: 1461 nir + +Disassembly of section .text.CNTAIntHandler: + +00002f8a : + 2f8a: 1460 nie + 2f8c: 1462 ipush + 2f8e: 1463 ipop + 2f90: 1461 nir + +Disassembly of section .text.I2CIntHandler: + +00002f92 : + 2f92: 1460 nie + 2f94: 1462 ipush + 2f96: 1463 ipop + 2f98: 1461 nir + +Disassembly of section .text.__divsi3: + +00002f9c <__divsi3>: +CSP_BT_T *BT1 = (CSP_BT_T *)APB_BT1Base ; +CSP_CRC_T *CRC = (CSP_CRC_T *)AHB_CRCBase ; +CSP_HWD_T *HWD = (CSP_HWD_T *)APB_HWDBase ; + +int __divsi3 ( int a, int b) +{ + 2f9c: 14c1 push r4 + int PSR; + __asm volatile( + 2f9e: c0006023 mfcr r3, cr<0, 0> + 2fa2: c0807020 psrclr ie + "mfcr %0 , psr \n\r" + "psrclr ie \n\r" + : "=r"(PSR) + ); + + HWD->CR = 0; + 2fa6: 1046 lrw r2, 0x20000000 // 2fbc <__divsi3+0x20> + 2fa8: 3400 movi r4, 0 + 2faa: 9240 ld.w r2, (r2, 0x0) + 2fac: b284 st.w r4, (r2, 0x10) + HWD->DIVIDENT = a; + HWD->DIVISOR = b; + + PSR |= 0x80000000; + 2fae: 3bbf bseti r3, 31 + HWD->DIVIDENT = a; + 2fb0: b200 st.w r0, (r2, 0x0) + HWD->DIVISOR = b; + 2fb2: b221 st.w r1, (r2, 0x4) + __asm volatile( + 2fb4: c0036420 mtcr r3, cr<0, 0> + "mtcr %0 , psr \n\r" + : + :"r"(PSR) + ); + + return HWD->QUOTIENT; + 2fb8: 9202 ld.w r0, (r2, 0x8) +} + 2fba: 1481 pop r4 + 2fbc: 20000000 .long 0x20000000 + +Disassembly of section .text.__udivsi3: + +00002fc0 <__udivsi3>: + unsigned int __udivsi3 ( unsigned int a, unsigned int b) +{ + 2fc0: 14c1 push r4 + int PSR; + __asm volatile( + 2fc2: c0006023 mfcr r3, cr<0, 0> + 2fc6: c0807020 psrclr ie + "mfcr %0 , psr \n\r" + "psrclr ie \n\r" + : "=r"(PSR) + ); + + HWD->CR = 1; + 2fca: 1046 lrw r2, 0x20000000 // 2fe0 <__udivsi3+0x20> + 2fcc: 3401 movi r4, 1 + 2fce: 9240 ld.w r2, (r2, 0x0) + 2fd0: b284 st.w r4, (r2, 0x10) + HWD->DIVIDENT = a; + HWD->DIVISOR = b; + + PSR |= 0x80000000; + 2fd2: 3bbf bseti r3, 31 + HWD->DIVIDENT = a; + 2fd4: b200 st.w r0, (r2, 0x0) + HWD->DIVISOR = b; + 2fd6: b221 st.w r1, (r2, 0x4) + __asm volatile( + 2fd8: c0036420 mtcr r3, cr<0, 0> + "mtcr %0 , psr \n\r" + : + :"r"(PSR) + ); + + return HWD->QUOTIENT; + 2fdc: 9202 ld.w r0, (r2, 0x8) +} + 2fde: 1481 pop r4 + 2fe0: 20000000 .long 0x20000000 + +Disassembly of section .text.__umodsi3: + +00002fe4 <__umodsi3>: + ); + return HWD->REMAIN; +} + +unsigned int __umodsi3 ( unsigned int a, unsigned int b) +{ + 2fe4: 14c1 push r4 + int PSR; + __asm volatile( + 2fe6: c0006023 mfcr r3, cr<0, 0> + 2fea: c0807020 psrclr ie + "mfcr %0 , psr \n\r" + "psrclr ie \n\r" + : "=r"(PSR) + ); + + HWD->CR = 1; + 2fee: 1046 lrw r2, 0x20000000 // 3004 <__umodsi3+0x20> + 2ff0: 3401 movi r4, 1 + 2ff2: 9240 ld.w r2, (r2, 0x0) + 2ff4: b284 st.w r4, (r2, 0x10) + HWD->DIVIDENT = a; + HWD->DIVISOR = b; + + PSR |= 0x80000000; + 2ff6: 3bbf bseti r3, 31 + HWD->DIVIDENT = a; + 2ff8: b200 st.w r0, (r2, 0x0) + HWD->DIVISOR = b; + 2ffa: b221 st.w r1, (r2, 0x4) + __asm volatile( + 2ffc: c0036420 mtcr r3, cr<0, 0> + "mtcr %0 , psr \n\r" + : + :"r"(PSR) + ); + return HWD->REMAIN; + 3000: 9203 ld.w r0, (r2, 0xc) +} + 3002: 1481 pop r4 + 3004: 20000000 .long 0x20000000 + +Disassembly of section .text.CK_CPU_EnAllNormalIrq: + +00003008 : +} + + +void CK_CPU_EnAllNormalIrq(void) +{ + asm ("psrset ee,ie"); + 3008: c1807420 psrset ee, ie +} + 300c: 783c jmp r15 + +Disassembly of section .text.CK_CPU_DisAllNormalIrq: + +0000300e : + +void CK_CPU_DisAllNormalIrq(void) +{ + asm ("psrclr ie"); + 300e: c0807020 psrclr ie +} + 3012: 783c jmp r15 + +Disassembly of section .text.UARTx_Init: + +00003014 : +UART_t g_uart[3]; +U8_T DealBuffer[USART_BUFFER_SIZE] = {0}; //数据处理缓冲 +U16_T DealLen = 0x00; +MULIT_t m_send; + +void UARTx_Init(UART_IDX uart_id, Uart_prt prt_cf) { + 3014: 14d2 push r4-r5, r15 + switch(uart_id){ + 3016: 3841 cmpnei r0, 1 +void UARTx_Init(UART_IDX uart_id, Uart_prt prt_cf) { + 3018: 6d07 mov r4, r1 + switch(uart_id){ + 301a: 0c1d bf 0x3054 // 3054 + 301c: 3840 cmpnei r0, 0 + 301e: 0c04 bf 0x3026 // 3026 + 3020: 3842 cmpnei r0, 2 + 3022: 0c3f bf 0x30a0 // 30a0 + GPIO_Init(GPIOB0,3,Output); + GPIO_DriveStrength_EN(GPIOB0,3); + GPIO_Write_Low(GPIOB0,3); + break; + } +} + 3024: 1492 pop r4-r5, r15 + UART0_DeInit(); //clear all UART Register + 3026: e3fff8c7 bsr 0x21b4 // 21b4 + UART_IO_Init(IO_UART0,0); //use PA0.1->RXD0, PA0.0->TXD0 + 302a: 3100 movi r1, 0 + 302c: 3000 movi r0, 0 + 302e: e3fff903 bsr 0x2234 // 2234 + UARTInitRxTxIntEn(UART0,416,UART_PAR_NONE); //baudrate=sysclock 48M/1000=4800,tx rx int enabled + 3032: 1262 lrw r3, 0x20000040 // 3138 + 3034: 31d0 movi r1, 208 + 3036: 9300 ld.w r0, (r3, 0x0) + 3038: 3200 movi r2, 0 + memset(&g_uart[UART_0],0,sizeof(UART_t)); + 303a: 12a1 lrw r5, 0x2000020c // 313c + UARTInitRxTxIntEn(UART0,416,UART_PAR_NONE); //baudrate=sysclock 48M/1000=4800,tx rx int enabled + 303c: 4121 lsli r1, r1, 1 + 303e: e3fff971 bsr 0x2320 // 2320 + memset(&g_uart[UART_0],0,sizeof(UART_t)); + 3042: 3274 movi r2, 116 + 3044: 3100 movi r1, 0 + 3046: 6c17 mov r0, r5 + 3048: e3fff48e bsr 0x1964 // 1964 <__memset_fast> + g_uart[UART_0].RecvTimeout = Recv_115200_TimeOut; + 304c: 3303 movi r3, 3 + 304e: b57a st.w r3, (r5, 0x68) + g_uart[UART_0].processing_cf = prt_cf; + 3050: b59c st.w r4, (r5, 0x70) + break; + 3052: 07e9 br 0x3024 // 3024 + UART1_DeInit(); //clear all UART Register + 3054: e3fff8bc bsr 0x21cc // 21cc + UART_IO_Init(IO_UART1,2); //use PA0.13->RXD1, PB0.0->TXD1 + 3058: 3102 movi r1, 2 + 305a: 3001 movi r0, 1 + 305c: e3fff8ec bsr 0x2234 // 2234 + UARTInitRxTxIntEn(UART1,5000,UART_PAR_NONE); //baudrate=sysclock 48M/416=115200 tx rx int enabled + 3060: 1178 lrw r3, 0x2000003c // 3140 + 3062: 3200 movi r2, 0 + 3064: 9300 ld.w r0, (r3, 0x0) + 3066: 1138 lrw r1, 0x1388 // 3144 + 3068: e3fff95c bsr 0x2320 // 2320 + UART1_Int_Enable(); + 306c: e3fff8c8 bsr 0x21fc // 21fc + memset(&g_uart[UART_1],0,sizeof(UART_t)); + 3070: 3274 movi r2, 116 + 3072: 3100 movi r1, 0 + 3074: 1115 lrw r0, 0x20000280 // 3148 + 3076: e3fff477 bsr 0x1964 // 1964 <__memset_fast> + g_uart[UART_1].RecvTimeout = Recv_9600_TimeOut; + 307a: 1175 lrw r3, 0x2000028c // 314c + g_uart[UART_1].processing_cf = prt_cf; + 307c: b399 st.w r4, (r3, 0x64) + g_uart[UART_1].RecvTimeout = Recv_9600_TimeOut; + 307e: 3203 movi r2, 3 + GPIO_Init(GPIOA0,13,Output); + 3080: 1194 lrw r4, 0x2000004c // 3150 + 3082: 310d movi r1, 13 + g_uart[UART_1].RecvTimeout = Recv_9600_TimeOut; + 3084: b357 st.w r2, (r3, 0x5c) + GPIO_Init(GPIOA0,13,Output); + 3086: 9400 ld.w r0, (r4, 0x0) + 3088: 3200 movi r2, 0 + 308a: e3fff6db bsr 0x1e40 // 1e40 + GPIO_DriveStrength_EN(GPIOA0,13); + 308e: 310d movi r1, 13 + 3090: 9400 ld.w r0, (r4, 0x0) + 3092: e3fff751 bsr 0x1f34 // 1f34 + GPIO_Write_Low(GPIOA0,13); + 3096: 9400 ld.w r0, (r4, 0x0) + 3098: 310d movi r1, 13 + GPIO_Write_Low(GPIOB0,3); + 309a: e3fff815 bsr 0x20c4 // 20c4 +} + 309e: 07c3 br 0x3024 // 3024 + memset(&g_uart[UART_2],0,sizeof(UART_t)); + 30a0: 3274 movi r2, 116 + 30a2: 3100 movi r1, 0 + 30a4: 110c lrw r0, 0x200002f4 // 3154 + 30a6: e3fff45f bsr 0x1964 // 1964 <__memset_fast> + memset(&m_send,0,sizeof(MULIT_t)); + 30aa: 3288 movi r2, 136 + 30ac: 3100 movi r1, 0 + 30ae: 110b lrw r0, 0x20000368 // 3158 + 30b0: e3fff45a bsr 0x1964 // 1964 <__memset_fast> + m_send.HighBit_Flag = 0x01; + 30b4: 116a lrw r3, 0x200003c8 // 315c + 30b6: 3201 movi r2, 1 + 30b8: a345 st.b r2, (r3, 0x5) + g_uart[UART_2].RecvTimeout = Recv_9600_TimeOut; + 30ba: 116a lrw r3, 0x2000030c // 3160 + g_uart[UART_2].processing_cf = prt_cf; + 30bc: b396 st.w r4, (r3, 0x58) + g_uart[UART_2].RecvTimeout = Recv_9600_TimeOut; + 30be: 3203 movi r2, 3 + GPIO_PullHigh_Init(GPIOB0,5); //RX,PB0.5 + 30c0: 1189 lrw r4, 0x20000048 // 3164 + 30c2: 3105 movi r1, 5 + g_uart[UART_2].RecvTimeout = Recv_9600_TimeOut; + 30c4: b354 st.w r2, (r3, 0x50) + GPIO_PullHigh_Init(GPIOB0,5); //RX,PB0.5 + 30c6: 9400 ld.w r0, (r4, 0x0) + 30c8: e3fff72c bsr 0x1f20 // 1f20 + GPIO_IntGroup_Set(PB0,5,Selete_EXI_PIN5); //EXI0 set PB0.2 + 30cc: 3205 movi r2, 5 + 30ce: 3105 movi r1, 5 + 30d0: 3002 movi r0, 2 + 30d2: e3fff739 bsr 0x1f44 // 1f44 + GPIOB0_EXI_Init(EXI5); //PB0.2 as input + 30d6: 3005 movi r0, 5 + 30d8: e3fff7bc bsr 0x2050 // 2050 + EXTI_trigger_CMD(ENABLE,EXI_PIN5,_EXIFT); //ENABLE falling edge,下降沿触发 + 30dc: 3201 movi r2, 1 + 30de: 3120 movi r1, 32 + 30e0: 3001 movi r0, 1 + 30e2: e3fff603 bsr 0x1ce8 // 1ce8 + EXTI_trigger_CMD(ENABLE,EXI_PIN5,_EXIRT); //上升沿触发 + 30e6: 3200 movi r2, 0 + 30e8: 3120 movi r1, 32 + 30ea: 3001 movi r0, 1 + 30ec: e3fff5fe bsr 0x1ce8 // 1ce8 + EXTI_interrupt_CMD(ENABLE,EXI_PIN5); //enable EXI + 30f0: 3120 movi r1, 32 + 30f2: 3001 movi r0, 1 + 30f4: e3fff61a bsr 0x1d28 // 1d28 + GPIO_EXTI_interrupt(GPIOB0,0b0000000000100000); //enable GPIOB02 as EXI + 30f8: 3120 movi r1, 32 + 30fa: 9400 ld.w r0, (r4, 0x0) + 30fc: e3fff630 bsr 0x1d5c // 1d5c + EXI3_Int_Enable(); + 3100: e3fff630 bsr 0x1d60 // 1d60 + UART2_DeInit(); //clear all UART Register + 3104: e3fff870 bsr 0x21e4 // 21e4 + UART_IO_Init(IO_UART2,2); //use PB0.4->RXD1, PB0.5->TXD1 + 3108: 3102 movi r1, 2 + 310a: 3002 movi r0, 2 + 310c: e3fff894 bsr 0x2234 // 2234 + UARTInitRxTxIntEn(UART2,5000,UART_PAR_NONE); //baudrate=sysclock 48M/416=115200 tx rx int enabled + 3110: 1076 lrw r3, 0x20000038 // 3168 + 3112: 3200 movi r2, 0 + 3114: 9300 ld.w r0, (r3, 0x0) + 3116: 102c lrw r1, 0x1388 // 3144 + 3118: e3fff904 bsr 0x2320 // 2320 + UART2_Int_Enable(); + 311c: e3fff87e bsr 0x2218 // 2218 + GPIO_Init(GPIOB0,3,Output); + 3120: 3200 movi r2, 0 + 3122: 3103 movi r1, 3 + 3124: 9400 ld.w r0, (r4, 0x0) + 3126: e3fff68d bsr 0x1e40 // 1e40 + GPIO_DriveStrength_EN(GPIOB0,3); + 312a: 3103 movi r1, 3 + 312c: 9400 ld.w r0, (r4, 0x0) + 312e: e3fff703 bsr 0x1f34 // 1f34 + GPIO_Write_Low(GPIOB0,3); + 3132: 9400 ld.w r0, (r4, 0x0) + 3134: 3103 movi r1, 3 + 3136: 07b2 br 0x309a // 309a + 3138: 20000040 .long 0x20000040 + 313c: 2000020c .long 0x2000020c + 3140: 2000003c .long 0x2000003c + 3144: 00001388 .long 0x00001388 + 3148: 20000280 .long 0x20000280 + 314c: 2000028c .long 0x2000028c + 3150: 2000004c .long 0x2000004c + 3154: 200002f4 .long 0x200002f4 + 3158: 20000368 .long 0x20000368 + 315c: 200003c8 .long 0x200003c8 + 3160: 2000030c .long 0x2000030c + 3164: 20000048 .long 0x20000048 + 3168: 20000038 .long 0x20000038 + +Disassembly of section .text.UART0_RecvINT_Processing: + +0000316c : + +/******************************************************************************* +* Function Name : UART0_RecvINT_Processing +* Description : 串口0 接收中断处理函数 - 接收中断调用 +*******************************************************************************/ +void UART0_RecvINT_Processing(char data){ + 316c: 14c1 push r4 + if((g_uart[UART_0].RecvLen + 1) >= USART_BUFFER_SIZE) g_uart[UART_0].RecvLen = 0; + 316e: 106b lrw r3, 0x2000024c // 3198 + 3170: 8b33 ld.h r1, (r3, 0x26) + 3172: 3262 movi r2, 98 + 3174: 6449 cmplt r2, r1 + 3176: 0c03 bf 0x317c // 317c + 3178: 3200 movi r2, 0 + 317a: ab53 st.h r2, (r3, 0x26) + g_uart[UART_0].RecvBuffer[g_uart[UART_0].RecvLen++] = (U8_T)data; + 317c: 8b33 ld.h r1, (r3, 0x26) + 317e: 5982 addi r4, r1, 1 + 3180: ab93 st.h r4, (r3, 0x26) + 3182: 1047 lrw r2, 0x2000020c // 319c + + g_uart[UART_0].RecvIdleTiming = SysTick_1ms; + 3184: 1067 lrw r3, 0x200000b8 // 31a0 + g_uart[UART_0].RecvBuffer[g_uart[UART_0].RecvLen++] = (U8_T)data; + 3186: 6048 addu r1, r2 + g_uart[UART_0].RecvIdleTiming = SysTick_1ms; + 3188: 9360 ld.w r3, (r3, 0x0) + 318a: b27b st.w r3, (r2, 0x6c) + g_uart[UART_0].Receiving = 0x01; + 318c: 225f addi r2, 96 + 318e: 3301 movi r3, 1 + g_uart[UART_0].RecvBuffer[g_uart[UART_0].RecvLen++] = (U8_T)data; + 3190: a100 st.b r0, (r1, 0x0) + g_uart[UART_0].Receiving = 0x01; + 3192: a264 st.b r3, (r2, 0x4) +} + 3194: 1481 pop r4 + 3196: 0000 bkpt + 3198: 2000024c .long 0x2000024c + 319c: 2000020c .long 0x2000020c + 31a0: 200000b8 .long 0x200000b8 + +Disassembly of section .text.UART1_RecvINT_Processing: + +000031a4 : + +/******************************************************************************* +* Function Name : UART1_RecvINT_Processing +* Description : 串口1 接收中断处理函数 - 接收中断调用 +*******************************************************************************/ +void UART1_RecvINT_Processing(char data){ + 31a4: 14c1 push r4 + if((g_uart[UART_1].RecvLen + 1) >= USART_BUFFER_SIZE) g_uart[UART_1].RecvLen = 0; + 31a6: 106b lrw r3, 0x200002cc // 31d0 + 31a8: 8b2d ld.h r1, (r3, 0x1a) + 31aa: 3262 movi r2, 98 + 31ac: 6449 cmplt r2, r1 + 31ae: 0c03 bf 0x31b4 // 31b4 + 31b0: 3200 movi r2, 0 + 31b2: ab4d st.h r2, (r3, 0x1a) + g_uart[UART_1].RecvBuffer[g_uart[UART_1].RecvLen++] = (U8_T)data; + 31b4: 8b4d ld.h r2, (r3, 0x1a) + 31b6: 1028 lrw r1, 0x2000020c // 31d4 + 31b8: 5a82 addi r4, r2, 1 + 31ba: 6084 addu r2, r1 + 31bc: 2273 addi r2, 116 + 31be: a200 st.b r0, (r2, 0x0) + + g_uart[UART_1].RecvIdleTiming = SysTick_1ms; + 31c0: 217f addi r1, 128 + 31c2: 1046 lrw r2, 0x200000b8 // 31d8 + 31c4: 9240 ld.w r2, (r2, 0x0) + 31c6: b158 st.w r2, (r1, 0x60) + g_uart[UART_1].Receiving = 0x01; + 31c8: 3201 movi r2, 1 + g_uart[UART_1].RecvBuffer[g_uart[UART_1].RecvLen++] = (U8_T)data; + 31ca: ab8d st.h r4, (r3, 0x1a) + g_uart[UART_1].Receiving = 0x01; + 31cc: a358 st.b r2, (r3, 0x18) +} + 31ce: 1481 pop r4 + 31d0: 200002cc .long 0x200002cc + 31d4: 2000020c .long 0x2000020c + 31d8: 200000b8 .long 0x200000b8 + +Disassembly of section .text.UART1_TASK: + +000031dc : + + +void UART1_TASK(void){ + 31dc: 14d4 push r4-r7, r15 + U8_T rev = 0xFF; + if(g_uart[UART_1].Receiving == 0x01){ + 31de: 10b5 lrw r5, 0x200002cc // 3230 + 31e0: 8578 ld.b r3, (r5, 0x18) + 31e2: 3b41 cmpnei r3, 1 + 31e4: 0825 bt 0x322e // 322e + if(SysTick_1ms - g_uart[UART_1].RecvIdleTiming > g_uart[UART_1].RecvTimeout){ + 31e6: 1094 lrw r4, 0x2000028c // 3234 + 31e8: 10d4 lrw r6, 0x200000b8 // 3238 + 31ea: 9660 ld.w r3, (r6, 0x0) + 31ec: 9458 ld.w r2, (r4, 0x60) + 31ee: 60ca subu r3, r2 + 31f0: 9457 ld.w r2, (r4, 0x5c) + 31f2: 64c8 cmphs r2, r3 + 31f4: 081d bt 0x322e // 322e + + SYSCON_Int_Disable(); //2025-03-19,复制接收缓冲到数据处理缓冲内 + 31f6: e3fff5c3 bsr 0x1d7c // 1d7c + g_uart[UART_1].RecvIdleTiming = SysTick_1ms; + memcpy(DealBuffer,g_uart[UART_1].RecvBuffer,g_uart[UART_1].RecvLen); + 31fa: 8ded ld.h r7, (r5, 0x1a) + g_uart[UART_1].RecvIdleTiming = SysTick_1ms; + 31fc: 9660 ld.w r3, (r6, 0x0) + memcpy(DealBuffer,g_uart[UART_1].RecvBuffer,g_uart[UART_1].RecvLen); + 31fe: 6c9f mov r2, r7 + 3200: 102f lrw r1, 0x20000280 // 323c + 3202: 1010 lrw r0, 0x200000bc // 3240 + DealLen = g_uart[UART_1].RecvLen; + 3204: 10d0 lrw r6, 0x200000fc // 3244 + g_uart[UART_1].RecvIdleTiming = SysTick_1ms; + 3206: b478 st.w r3, (r4, 0x60) + memcpy(DealBuffer,g_uart[UART_1].RecvBuffer,g_uart[UART_1].RecvLen); + 3208: e3fff3f2 bsr 0x19ec // 19ec <__memcpy_fast> + g_uart[UART_1].RecvLen = 0; + 320c: 3300 movi r3, 0 + 320e: ad6d st.h r3, (r5, 0x1a) + g_uart[UART_1].Receiving = 0; + 3210: a578 st.b r3, (r5, 0x18) + DealLen = g_uart[UART_1].RecvLen; + 3212: aef2 st.h r7, (r6, 0x24) + SYSCON_Int_Enable(); + 3214: e3fff5ae bsr 0x1d70 // 1d70 + +#if DBG_LOG_EN + Dbg_Println(DBG_BIT_SYS_STATUS, "UART1 recv Len %d", DealLen); + Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"UART1 buff",DealBuffer,DealLen); +#endif + if(g_uart[UART_1].processing_cf != NULL){ + 3218: 9479 ld.w r3, (r4, 0x64) + 321a: 3b40 cmpnei r3, 0 + 321c: 0c04 bf 0x3224 // 3224 + rev = g_uart[UART_1].processing_cf(DealBuffer,DealLen); + 321e: 8e32 ld.h r1, (r6, 0x24) + 3220: 1008 lrw r0, 0x200000bc // 3240 + 3222: 7bcd jsr r3 + } + + memset(DealBuffer,0,USART_BUFFER_SIZE); + 3224: 3264 movi r2, 100 + 3226: 3100 movi r1, 0 + 3228: 1006 lrw r0, 0x200000bc // 3240 + 322a: e3fff39d bsr 0x1964 // 1964 <__memset_fast> + } + } +} + 322e: 1494 pop r4-r7, r15 + 3230: 200002cc .long 0x200002cc + 3234: 2000028c .long 0x2000028c + 3238: 200000b8 .long 0x200000b8 + 323c: 20000280 .long 0x20000280 + 3240: 200000bc .long 0x200000bc + 3244: 200000fc .long 0x200000fc + +Disassembly of section .text.UART2_RecvINT_Processing: + +00003248 : + +/******************************************************************************* +* Function Name : UART2_RecvINT_Processing +* Description : 串口2 接收中断处理函数 - 接收中断调用 +*******************************************************************************/ +void UART2_RecvINT_Processing(char data){ + 3248: 14c1 push r4 + if((g_uart[UART_2].RecvLen + 1) >= USART_BUFFER_SIZE) g_uart[UART_2].RecvLen = 0; + 324a: 104e lrw r2, 0x2000035a // 3280 + 324c: 8a20 ld.h r1, (r2, 0x0) + 324e: 3362 movi r3, 98 + 3250: 644d cmplt r3, r1 + 3252: 0c03 bf 0x3258 // 3258 + 3254: 3300 movi r3, 0 + 3256: aa60 st.h r3, (r2, 0x0) + g_uart[UART_2].RecvBuffer[g_uart[UART_2].RecvLen++] = (U8_T)data; + 3258: 8a60 ld.h r3, (r2, 0x0) + 325a: 102b lrw r1, 0x2000020c // 3284 + 325c: 5b82 addi r4, r3, 1 + 325e: 60c4 addu r3, r1 + 3260: 23e7 addi r3, 232 + 3262: a300 st.b r0, (r3, 0x0) + 3264: aa80 st.h r4, (r2, 0x0) + + g_uart[UART_2].RecvIdleTiming = SysTick_1ms; + 3266: 1069 lrw r3, 0x200000b8 // 3288 + 3268: 9340 ld.w r2, (r3, 0x0) + 326a: 3380 movi r3, 128 + 326c: 4361 lsli r3, r3, 1 + 326e: 60c4 addu r3, r1 + 3270: b355 st.w r2, (r3, 0x54) + g_uart[UART_2].Receiving = 0x01; + 3272: 33a6 movi r3, 166 + 3274: 4361 lsli r3, r3, 1 + 3276: 604c addu r1, r3 + 3278: 3301 movi r3, 1 + 327a: a160 st.b r3, (r1, 0x0) +} + 327c: 1481 pop r4 + 327e: 0000 bkpt + 3280: 2000035a .long 0x2000035a + 3284: 2000020c .long 0x2000020c + 3288: 200000b8 .long 0x200000b8 + +Disassembly of section .text.UART2_TASK: + +0000328c : + + +void UART2_TASK(void){ + 328c: 14d4 push r4-r7, r15 + 328e: 1421 subi r14, r14, 4 + U8_T rev = 0xFF; + if(g_uart[UART_2].Receiving == 0x01){ + 3290: 10b7 lrw r5, 0x20000358 // 32ec + 3292: 8560 ld.b r3, (r5, 0x0) + 3294: 3b41 cmpnei r3, 1 + 3296: 0828 bt 0x32e6 // 32e6 + if(SysTick_1ms - g_uart[UART_2].RecvIdleTiming > g_uart[UART_2].RecvTimeout){ + 3298: 1096 lrw r4, 0x2000030c // 32f0 + 329a: 10d7 lrw r6, 0x200000b8 // 32f4 + 329c: 9660 ld.w r3, (r6, 0x0) + 329e: 9455 ld.w r2, (r4, 0x54) + 32a0: 60ca subu r3, r2 + 32a2: 9454 ld.w r2, (r4, 0x50) + 32a4: 64c8 cmphs r2, r3 + 32a6: 0820 bt 0x32e6 // 32e6 + + SYSCON_Int_Disable(); //2025-03-19,复制接收缓冲到数据处理缓冲内 + 32a8: e3fff56a bsr 0x1d7c // 1d7c + g_uart[UART_2].RecvIdleTiming = SysTick_1ms; + 32ac: 9660 ld.w r3, (r6, 0x0) + 32ae: b475 st.w r3, (r4, 0x54) + memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen); + 32b0: 8d61 ld.h r3, (r5, 0x2) + 32b2: 6c8f mov r2, r3 + 32b4: 1031 lrw r1, 0x200002f4 // 32f8 + 32b6: 1012 lrw r0, 0x200000bc // 32fc + DealLen = g_uart[UART_2].RecvLen; + 32b8: 10d2 lrw r6, 0x200000fc // 3300 + memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen); + 32ba: b860 st.w r3, (r14, 0x0) + 32bc: e3fff398 bsr 0x19ec // 19ec <__memcpy_fast> + DealLen = g_uart[UART_2].RecvLen; + 32c0: 9860 ld.w r3, (r14, 0x0) + 32c2: ae72 st.h r3, (r6, 0x24) + g_uart[UART_2].RecvLen = 0; + 32c4: 3300 movi r3, 0 + 32c6: ad61 st.h r3, (r5, 0x2) + g_uart[UART_2].Receiving = 0; + 32c8: a560 st.b r3, (r5, 0x0) + SYSCON_Int_Enable(); + 32ca: e3fff553 bsr 0x1d70 // 1d70 + +#if DBG_LOG_EN + Dbg_Println(DBG_BIT_SYS_STATUS, "UART2 recv Len %d", DealLen); + Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"UART2 buff",DealBuffer,DealLen); +#endif + if(g_uart[UART_2].processing_cf != NULL){ + 32ce: 9476 ld.w r3, (r4, 0x58) + 32d0: 3b40 cmpnei r3, 0 + memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen); + 32d2: 5de6 addi r7, r5, 2 + if(g_uart[UART_2].processing_cf != NULL){ + 32d4: 0c04 bf 0x32dc // 32dc + rev = g_uart[UART_2].processing_cf(DealBuffer,DealLen); + 32d6: 8e32 ld.h r1, (r6, 0x24) + 32d8: 1009 lrw r0, 0x200000bc // 32fc + 32da: 7bcd jsr r3 +// { +// Boot_Comm_UpgradeProcess(DealBuffer,DealLen); +// } + + + memset(DealBuffer,0,USART_BUFFER_SIZE); + 32dc: 3264 movi r2, 100 + 32de: 3100 movi r1, 0 + 32e0: 1007 lrw r0, 0x200000bc // 32fc + 32e2: e3fff341 bsr 0x1964 // 1964 <__memset_fast> + } + } +} + 32e6: 1401 addi r14, r14, 4 + 32e8: 1494 pop r4-r7, r15 + 32ea: 0000 bkpt + 32ec: 20000358 .long 0x20000358 + 32f0: 2000030c .long 0x2000030c + 32f4: 200000b8 .long 0x200000b8 + 32f8: 200002f4 .long 0x200002f4 + 32fc: 200000bc .long 0x200000bc + 3300: 200000fc .long 0x200000fc + +Disassembly of section .text.Controller485_SendData: + +00003304 : + CK_CPU_EnAllNormalIrq(); +} + +//发送给设备端的485发送函数 +void Controller485_SendData(U8_T *buff,U16_T len) +{ + 3304: 14d4 push r4-r7, r15 + 3306: 1422 subi r14, r14, 8 + 3308: b800 st.w r0, (r14, 0x0) + 330a: 6dc7 mov r7, r1 + unsigned int Dataval = 0,delay_cnt = 0; + 330c: 3400 movi r4, 0 + + //等待通讯发送完成 + while(RS485_Comming1 == 0x01){ + 330e: 11a4 lrw r5, 0x200000bc // 339c + 3310: 11c4 lrw r6, 0x2000004c // 33a0 + 3312: 957e ld.w r3, (r5, 0x78) + 3314: 3b41 cmpnei r3, 1 + 3316: 0c36 bf 0x3382 // 3382 + } + + GPIO_Reverse(GPIOA0,13); + } + + delay_nus(500); + 3318: 30fa movi r0, 250 + 331a: 4001 lsli r0, r0, 1 + 331c: e3fff874 bsr 0x2404 // 2404 + + CK_CPU_DisAllNormalIrq(); + 3320: e3fffe77 bsr 0x300e // 300e + GPIO_Write_High(GPIOA0,13); + 3324: 310d movi r1, 13 + 3326: 9600 ld.w r0, (r6, 0x0) + 3328: e3fff6ca bsr 0x20bc // 20bc + + RS485_Comm_Flag1 = 0x01; + 332c: 3301 movi r3, 1 + 332e: b57f st.w r3, (r5, 0x7c) + RS485_Comm_Start1 = 0x00; + 3330: 3200 movi r2, 0 + 3332: 107d lrw r3, 0x2000013c // 33a4 + 3334: b340 st.w r2, (r3, 0x0) + RS485_Comm_End1 = 0x00; + 3336: b861 st.w r3, (r14, 0x4) + 3338: b341 st.w r2, (r3, 0x4) + CK_CPU_EnAllNormalIrq(); + 333a: e3fffe67 bsr 0x3008 // 3008 + + UARTTransmit(UART1,buff,len); + 333e: 105b lrw r2, 0x2000003c // 33a8 + 3340: 9200 ld.w r0, (r2, 0x0) + 3342: 9820 ld.w r1, (r14, 0x0) + 3344: 6c9f mov r2, r7 + 3346: e3fff7f5 bsr 0x2330 // 2330 + 334a: 9861 ld.w r3, (r14, 0x4) + + do{ + delay_nus(100); + 334c: 3064 movi r0, 100 + 334e: b860 st.w r3, (r14, 0x0) + + delay_cnt ++; + 3350: 2400 addi r4, 1 + delay_nus(100); + 3352: e3fff859 bsr 0x2404 // 2404 + if(delay_cnt >= 100){ + 3356: 3263 movi r2, 99 + 3358: 6508 cmphs r2, r4 + 335a: 0c08 bf 0x336a // 336a + break; + } + + }while((RS485_Comm_Start1 < len) || (RS485_Comm_End1 < len)); //发送完成 + 335c: 9860 ld.w r3, (r14, 0x0) + 335e: 9340 ld.w r2, (r3, 0x0) + 3360: 65c9 cmplt r2, r7 + 3362: 0bf5 bt 0x334c // 334c + 3364: 9341 ld.w r2, (r3, 0x4) + 3366: 65c9 cmplt r2, r7 + 3368: 0bf2 bt 0x334c // 334c + + CK_CPU_DisAllNormalIrq(); + 336a: e3fffe52 bsr 0x300e // 300e + GPIO_Write_Low(GPIOA0,13); + 336e: 9600 ld.w r0, (r6, 0x0) + 3370: 310d movi r1, 13 + 3372: e3fff6a9 bsr 0x20c4 // 20c4 + + RS485_Comm_Flag1 = 0x00; + 3376: 3300 movi r3, 0 + 3378: b57f st.w r3, (r5, 0x7c) + CK_CPU_EnAllNormalIrq(); + 337a: e3fffe47 bsr 0x3008 // 3008 +} + 337e: 1402 addi r14, r14, 8 + 3380: 1494 pop r4-r7, r15 + delay_nus(100); + 3382: 3064 movi r0, 100 + 3384: e3fff840 bsr 0x2404 // 2404 + delay_cnt ++; + 3388: 2400 addi r4, 1 + if(delay_cnt >= 100){ + 338a: 3364 movi r3, 100 + 338c: 64d2 cmpne r4, r3 + 338e: 0fc5 bf 0x3318 // 3318 + GPIO_Reverse(GPIOA0,13); + 3390: 310d movi r1, 13 + 3392: 9600 ld.w r0, (r6, 0x0) + 3394: e3fff69c bsr 0x20cc // 20cc + 3398: 07bd br 0x3312 // 3312 + 339a: 0000 bkpt + 339c: 200000bc .long 0x200000bc + 33a0: 2000004c .long 0x2000004c + 33a4: 2000013c .long 0x2000013c + 33a8: 2000003c .long 0x2000003c + +Disassembly of section .text.BUS485_Send: + +000033ac : + * buff:发送数据 + * len:数据长度 + * @retval + * */ +U8_T BUS485_Send(U8_T *buff,U16_T len) +{ + 33ac: 14d4 push r4-r7, r15 + 33ae: 1423 subi r14, r14, 12 + 33b0: b802 st.w r0, (r14, 0x8) + 33b2: b820 st.w r1, (r14, 0x0) + unsigned int Dataval = 0,delay_cnt = 0; + 33b4: 3500 movi r5, 0 + + //等待通讯发送完成 + while(RS485_Comming == 0x01){ + 33b6: 1189 lrw r4, 0x200000bc // 3458 + + delay_cnt ++; + if(delay_cnt >= 100){ + break; + } + GPIO_Reverse(GPIOB0,3); + 33b8: 11c9 lrw r6, 0x20000048 // 345c + while(RS485_Comming == 0x01){ + 33ba: 947a ld.w r3, (r4, 0x68) + 33bc: 3b41 cmpnei r3, 1 + 33be: 0c3e bf 0x343a // 343a + } + + if(m_send.BusState_Flag == UART_BUSIDLE){ //总线空闲 + 33c0: 1168 lrw r3, 0x200003c8 // 3460 + 33c2: 83c4 ld.b r6, (r3, 0x4) + 33c4: 3e40 cmpnei r6, 0 + 33c6: b861 st.w r3, (r14, 0x4) + 33c8: 0845 bt 0x3452 // 3452 + + CK_CPU_DisAllNormalIrq(); + + GPIO_Write_High(GPIOB0,3); + 33ca: 11e5 lrw r7, 0x20000048 // 345c + CK_CPU_DisAllNormalIrq(); + 33cc: e3fffe21 bsr 0x300e // 300e + GPIO_Write_High(GPIOB0,3); + 33d0: 3103 movi r1, 3 + 33d2: 9700 ld.w r0, (r7, 0x0) + 33d4: e3fff674 bsr 0x20bc // 20bc + + RS485_Comm_Flag = 0x01; + 33d8: 3201 movi r2, 1 + RS485_Comm_Start = 0x00; + RS485_Comm_End = 0x00; + + m_send.BusState_Flag = UART_BUSBUSY;//发送前总线置位繁忙 + 33da: 9861 ld.w r3, (r14, 0x4) + RS485_Comm_Flag = 0x01; + 33dc: b45b st.w r2, (r4, 0x6c) + m_send.BusState_Flag = UART_BUSBUSY;//发送前总线置位繁忙 + 33de: a344 st.b r2, (r3, 0x4) + RS485_Comm_Start = 0x00; + 33e0: b4dc st.w r6, (r4, 0x70) + m_send.BUSBUSY_LOCK = 0x01; //锁定总线状态 + 33e2: a346 st.b r2, (r3, 0x6) + RS485_Comm_End = 0x00; + 33e4: b4dd st.w r6, (r4, 0x74) + + CK_CPU_EnAllNormalIrq(); + 33e6: e3fffe11 bsr 0x3008 // 3008 + + UARTTransmit(UART2,buff,len); + 33ea: 105f lrw r2, 0x20000038 // 3464 + 33ec: 9200 ld.w r0, (r2, 0x0) + 33ee: 9822 ld.w r1, (r14, 0x8) + 33f0: 9840 ld.w r2, (r14, 0x0) + 33f2: e3fff79f bsr 0x2330 // 2330 + do{ + delay_nus(100); + 33f6: 3064 movi r0, 100 + 33f8: e3fff806 bsr 0x2404 // 2404 + delay_cnt ++; + 33fc: 2500 addi r5, 1 + if(delay_cnt >= 100){ + 33fe: 3363 movi r3, 99 + 3400: 654c cmphs r3, r5 + 3402: 0c08 bf 0x3412 // 3412 + break; + } + + }while((RS485_Comm_Start < len) || (RS485_Comm_End < len)); //发送完成 + 3404: 947c ld.w r3, (r4, 0x70) + 3406: 9840 ld.w r2, (r14, 0x0) + 3408: 648d cmplt r3, r2 + 340a: 0bf6 bt 0x33f6 // 33f6 + 340c: 947d ld.w r3, (r4, 0x74) + 340e: 648d cmplt r3, r2 + 3410: 0bf3 bt 0x33f6 // 33f6 + + + CK_CPU_DisAllNormalIrq(); + 3412: e3fffdfe bsr 0x300e // 300e + + GPIO_Write_Low(GPIOB0,3); + 3416: 9700 ld.w r0, (r7, 0x0) + 3418: 3103 movi r1, 3 + 341a: e3fff655 bsr 0x20c4 // 20c4 + RS485_Comm_Flag = 0x00; + 341e: 3300 movi r3, 0 + 3420: b47b st.w r3, (r4, 0x6c) + + m_send.BusState_Tick = SysTick_1ms; + 3422: 1072 lrw r3, 0x200000b8 // 3468 + 3424: 9340 ld.w r2, (r3, 0x0) + 3426: 1072 lrw r3, 0x20000368 // 346c + 3428: b35f st.w r2, (r3, 0x7c) + m_send.BUSBUSY_LOCK = 0x00; //解锁总线状态 + 342a: 9861 ld.w r3, (r14, 0x4) + 342c: 3200 movi r2, 0 + 342e: a346 st.b r2, (r3, 0x6) + + CK_CPU_EnAllNormalIrq(); + 3430: e3fffdec bsr 0x3008 // 3008 + { + return UART_BUSBUSY; //发送失败 + } + + return 0x02; //传入状态无效 +} + 3434: 6c1b mov r0, r6 + 3436: 1403 addi r14, r14, 12 + 3438: 1494 pop r4-r7, r15 + delay_nus(100); + 343a: 3064 movi r0, 100 + 343c: e3fff7e4 bsr 0x2404 // 2404 + delay_cnt ++; + 3440: 2500 addi r5, 1 + if(delay_cnt >= 100){ + 3442: 3364 movi r3, 100 + 3444: 64d6 cmpne r5, r3 + 3446: 0fbd bf 0x33c0 // 33c0 + GPIO_Reverse(GPIOB0,3); + 3448: 3103 movi r1, 3 + 344a: 9600 ld.w r0, (r6, 0x0) + 344c: e3fff640 bsr 0x20cc // 20cc + 3450: 07b5 br 0x33ba // 33ba + return UART_BUSBUSY; //发送失败 + 3452: 3601 movi r6, 1 + 3454: 07f0 br 0x3434 // 3434 + 3456: 0000 bkpt + 3458: 200000bc .long 0x200000bc + 345c: 20000048 .long 0x20000048 + 3460: 200003c8 .long 0x200003c8 + 3464: 20000038 .long 0x20000038 + 3468: 200000b8 .long 0x200000b8 + 346c: 20000368 .long 0x20000368 + +Disassembly of section .text.MultSend_Task: + +00003470 : + * DatSd:发送标记,0x00:无发送,0x01:有数据发送 + * + * @retval 0x00:发送成功 0x01:等待发送 0x02:数据无效 + * */ +U8_T MultSend_Task(U8_T *buff,U16_T len,U8_T DatSd) +{ + 3470: 14d4 push r4-r7, r15 + 3472: 1421 subi r14, r14, 4 + if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR; + 3474: 5963 subi r3, r1, 1 + 3476: 74cd zexth r3, r3 + 3478: 3463 movi r4, 99 + 347a: 64d0 cmphs r4, r3 +{ + 347c: b800 st.w r0, (r14, 0x0) + if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR; + 347e: 0c29 bf 0x34d0 // 34d0 + + if(DatSd == 0x01) + 3480: 3a41 cmpnei r2, 1 + 3482: 0c04 bf 0x348a // 348a + }else{ + Dbg_Println(DBG_BIT_SYS_STATUS,"retry end,%d",m_send.ResendCnt ); + return RETRY_END;//没有重发次数 + } + } + return BUSSEND_WAIT;//等待 + 3484: 3001 movi r0, 1 +} + 3486: 1401 addi r14, r14, 4 + 3488: 1494 pop r4-r7, r15 + if( m_send.ResendCnt < m_send.TotalCnt) //判断数据是否还在有效期,是否还有发送次数 + 348a: 1075 lrw r3, 0x20000368 // 34dc + 348c: 3760 movi r7, 96 + 348e: 61cc addu r7, r3 + 3490: 87c8 ld.b r6, (r7, 0x8) + 3492: 874a ld.b r2, (r7, 0xa) + 3494: 6498 cmphs r6, r2 + 3496: 081f bt 0x34d4 // 34d4 + if(SysTick_1ms - m_send.BusbusyTimeout < m_send.DataValid_Time) + 3498: 3480 movi r4, 128 + 349a: 10b2 lrw r5, 0x200000b8 // 34e0 + 349c: 610c addu r4, r3 + 349e: 9401 ld.w r0, (r4, 0x4) + 34a0: 9540 ld.w r2, (r5, 0x0) + 34a2: 6082 subu r2, r0 + 34a4: 931e ld.w r0, (r3, 0x78) + 34a6: 6408 cmphs r2, r0 + 34a8: 0818 bt 0x34d8 // 34d8 + if( (m_send.ResendCnt == 0x00) || (SysTick_1ms - m_send.ASend_Tick >= m_send.DataWait_Time) ){//数据发送间隔 + 34aa: 3e40 cmpnei r6, 0 + 34ac: 0c07 bf 0x34ba // 34ba + 34ae: 9540 ld.w r2, (r5, 0x0) + 34b0: 94c0 ld.w r6, (r4, 0x0) + 34b2: 609a subu r2, r6 + 34b4: 937d ld.w r3, (r3, 0x74) + 34b6: 64c8 cmphs r2, r3 + 34b8: 0fe6 bf 0x3484 // 3484 + if(BUS485_Send(buff,len) == UART_BUSIDLE){ //发送数据 + 34ba: 9800 ld.w r0, (r14, 0x0) + 34bc: e3ffff78 bsr 0x33ac // 33ac + 34c0: 3840 cmpnei r0, 0 + 34c2: 0be1 bt 0x3484 // 3484 + m_send.ASend_Tick = SysTick_1ms; + 34c4: 9560 ld.w r3, (r5, 0x0) + 34c6: b460 st.w r3, (r4, 0x0) + m_send.ResendCnt++; + 34c8: 8768 ld.b r3, (r7, 0x8) + 34ca: 2300 addi r3, 1 + 34cc: a768 st.b r3, (r7, 0x8) + 34ce: 07dc br 0x3486 // 3486 + if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR; + 34d0: 3004 movi r0, 4 + 34d2: 07da br 0x3486 // 3486 + return RETRY_END;//没有重发次数 + 34d4: 3003 movi r0, 3 + 34d6: 07d8 br 0x3486 // 3486 + return DATA_END;//数据有效期结束 + 34d8: 3002 movi r0, 2 + 34da: 07d6 br 0x3486 // 3486 + 34dc: 20000368 .long 0x20000368 + 34e0: 200000b8 .long 0x200000b8 + +Disassembly of section .text.Set_GroupSend: + +000034e4 : + * indate: 设置数据有效期 + * tim_val: 发送时间间隔 + * @retval None + * */ +void Set_GroupSend(U8_T *data,U16_T sled,U8_T SCnt,U32_T indate,U32_T tim_val) +{ + 34e4: 14d4 push r4-r7, r15 + 34e6: 1422 subi r14, r14, 8 + 34e8: 6d8b mov r6, r2 + 34ea: 9847 ld.w r2, (r14, 0x1c) + 34ec: b840 st.w r2, (r14, 0x0) + if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return; + 34ee: 5943 subi r2, r1, 1 +{ + 34f0: 6d47 mov r5, r1 + if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return; + 34f2: 7489 zexth r2, r2 + 34f4: 3163 movi r1, 99 + 34f6: 6484 cmphs r1, r2 +{ + 34f8: 6dc3 mov r7, r0 + if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return; + 34fa: 0c20 bf 0x353a // 353a + + memset(m_send.SendBuffer,0, USART_SEND_SIZE); + 34fc: 1091 lrw r4, 0x20000368 // 3540 + 34fe: 3264 movi r2, 100 + 3500: 3100 movi r1, 0 + 3502: 6c13 mov r0, r4 + 3504: b861 st.w r3, (r14, 0x4) + 3506: e3fff22f bsr 0x1964 // 1964 <__memset_fast> + memcpy(m_send.SendBuffer,data,sled); + 350a: 6c97 mov r2, r5 + 350c: 6c13 mov r0, r4 + 350e: 6c5f mov r1, r7 + 3510: e3fff26e bsr 0x19ec // 19ec <__memcpy_fast> + m_send.SendLen = sled; + 3514: 3240 movi r2, 64 + 3516: 6090 addu r2, r4 + + m_send.DataValid_Time = indate;//数据有效期 + 3518: 9861 ld.w r3, (r14, 0x4) + 351a: b47e st.w r3, (r4, 0x78) + m_send.SendLen = sled; + 351c: aab7 st.h r5, (r2, 0x2e) + m_send.TotalCnt = SCnt; //数据发送次数 + 351e: 3360 movi r3, 96 + m_send.DataWait_Time = tim_val;//发送数据间隔 + 3520: 9840 ld.w r2, (r14, 0x0) + m_send.TotalCnt = SCnt; //数据发送次数 + 3522: 60d0 addu r3, r4 + m_send.DataWait_Time = tim_val;//发送数据间隔 + 3524: b45d st.w r2, (r4, 0x74) + + m_send.ASend_Flag = 0x01; + 3526: 3201 movi r2, 1 + 3528: a349 st.b r2, (r3, 0x9) + m_send.SendState = BUSSEND_WAIT; + 352a: a347 st.b r2, (r3, 0x7) + m_send.ResendCnt = 0x00; + 352c: 3200 movi r2, 0 + m_send.TotalCnt = SCnt; //数据发送次数 + 352e: a3ca st.b r6, (r3, 0xa) + m_send.ResendCnt = 0x00; + 3530: a348 st.b r2, (r3, 0x8) + m_send.BusbusyTimeout = SysTick_1ms; + 3532: 247f addi r4, 128 + 3534: 1064 lrw r3, 0x200000b8 // 3544 + 3536: 9360 ld.w r3, (r3, 0x0) + 3538: b461 st.w r3, (r4, 0x4) +} + 353a: 1402 addi r14, r14, 8 + 353c: 1494 pop r4-r7, r15 + 353e: 0000 bkpt + 3540: 20000368 .long 0x20000368 + 3544: 200000b8 .long 0x200000b8 + +Disassembly of section .text.BUS485Send_Task: + +00003548 : + m_send.Jump_Flag = jump; +} + +//485发送任务 +void BUS485Send_Task(void) //2025-03-29 +{ + 3548: 14d1 push r4, r15 + //空闲等待 + if(m_send.ASend_Flag == 0x01) + 354a: 108a lrw r4, 0x200003c8 // 3570 + 354c: 8469 ld.b r3, (r4, 0x9) + 354e: 3b41 cmpnei r3, 1 + 3550: 080e bt 0x356c // 356c + { + m_send.SendState = MultSend_Task(m_send.SendBuffer,m_send.SendLen,m_send.ASend_Flag); + 3552: 1069 lrw r3, 0x200003a8 // 3574 + 3554: 8b37 ld.h r1, (r3, 0x2e) + 3556: 3201 movi r2, 1 + 3558: 1008 lrw r0, 0x20000368 // 3578 + 355a: e3ffff8b bsr 0x3470 // 3470 + 355e: a407 st.b r0, (r4, 0x7) + + if( (m_send.SendState == DATA_END)||(m_send.SendState == RETRY_END) )//判断发送数据是否有效 + 3560: 2801 subi r0, 2 + 3562: 7400 zextb r0, r0 + 3564: 3801 cmphsi r0, 2 + 3566: 0803 bt 0x356c // 356c + { + Dbg_Println(DBG_BIT_SYS_STATUS,"send end"); + + m_send.ASend_Flag = 0x00; //清除发生标志位 + 3568: 3300 movi r3, 0 + 356a: a469 st.b r3, (r4, 0x9) +// SYSCON->UREG3 = g_boot.bootTimeout; //向Boot 设定Boot超时时间 +// SYSCON_Software_Reset(); +// } + } + } +} + 356c: 1491 pop r4, r15 + 356e: 0000 bkpt + 3570: 200003c8 .long 0x200003c8 + 3574: 200003a8 .long 0x200003a8 + 3578: 20000368 .long 0x20000368 + +Disassembly of section .text.BusIdle_Task: + +0000357c : +/********************************************************** + * @brief 2025-03-25,检测总线空闲,在定时器中断里调用 + * @retval None + * */ +void BusIdle_Task(void) +{ + 357c: 14d2 push r4-r5, r15 + if((m_send.BusState_Flag != UART_BUSIDLE)&&(m_send.BUSBUSY_LOCK != 0x01)) + 357e: 10ae lrw r5, 0x20000368 // 35b4 + 3580: 3460 movi r4, 96 + 3582: 6114 addu r4, r5 + 3584: 8464 ld.b r3, (r4, 0x4) + 3586: 3b40 cmpnei r3, 0 + 3588: 0c15 bf 0x35b2 // 35b2 + 358a: 8466 ld.b r3, (r4, 0x6) + 358c: 3b41 cmpnei r3, 1 + 358e: 0c12 bf 0x35b2 // 35b2 + { + CK_CPU_DisAllNormalIrq(); + 3590: e3fffd3f bsr 0x300e // 300e + if( (m_send.HighBit_Flag == 0x01)&&(SysTick_1ms - m_send.BusState_Tick >= (6 + m_send.Bus_DelayTime)) ) + 3594: 8465 ld.b r3, (r4, 0x5) + 3596: 3b41 cmpnei r3, 1 + 3598: 080b bt 0x35ae // 35ae + 359a: 1068 lrw r3, 0x200000b8 // 35b8 + 359c: 9340 ld.w r2, (r3, 0x0) + 359e: 957f ld.w r3, (r5, 0x7c) + 35a0: 608e subu r2, r3 + 35a2: 957c ld.w r3, (r5, 0x70) + 35a4: 2305 addi r3, 6 + 35a6: 64c8 cmphs r2, r3 + 35a8: 0c03 bf 0x35ae // 35ae + { + m_send.BusState_Flag = UART_BUSIDLE; + 35aa: 3300 movi r3, 0 + 35ac: a464 st.b r3, (r4, 0x4) + } + CK_CPU_EnAllNormalIrq(); + 35ae: e3fffd2d bsr 0x3008 // 3008 + } +} + 35b2: 1492 pop r4-r5, r15 + 35b4: 20000368 .long 0x20000368 + 35b8: 200000b8 .long 0x200000b8 + +Disassembly of section .text.BusBusy_Task: + +000035bc : +/******************************************************************* + * @brief 检测总线繁忙,在串口接收RX引脚的外部中断服务函数里调用 + * @retval None + * */ +void BusBusy_Task(void) +{ + 35bc: 14d2 push r4-r5, r15 + CK_CPU_DisAllNormalIrq(); + m_send.BusState_Flag = UART_BUSBUSY; + 35be: 1094 lrw r4, 0x20000368 // 360c + 35c0: 3560 movi r5, 96 + CK_CPU_DisAllNormalIrq(); + 35c2: e3fffd26 bsr 0x300e // 300e + m_send.BusState_Flag = UART_BUSBUSY; + 35c6: 6150 addu r5, r4 + 35c8: 3301 movi r3, 1 + 35ca: a564 st.b r3, (r5, 0x4) + m_send.BusState_Tick = SysTick_1ms; + m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时 + 35cc: 310a movi r1, 10 + m_send.BusState_Tick = SysTick_1ms; + 35ce: 1071 lrw r3, 0x200000b8 // 3610 + 35d0: 9340 ld.w r2, (r3, 0x0) + m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时 + 35d2: 9300 ld.w r0, (r3, 0x0) + 35d4: 3380 movi r3, 128 + 35d6: 60d0 addu r3, r4 + 35d8: 9360 ld.w r3, (r3, 0x0) + m_send.BusState_Tick = SysTick_1ms; + 35da: b45f st.w r2, (r4, 0x7c) + m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时 + 35dc: 600e subu r0, r3 + 35de: e3fffd03 bsr 0x2fe4 // 2fe4 <__umodsi3> + 35e2: b41c st.w r0, (r4, 0x70) + + if(READ_RXLEVEL_STATE == 0x01){ + 35e4: 3105 movi r1, 5 + 35e6: 108c lrw r4, 0x20000048 // 3614 + 35e8: 9400 ld.w r0, (r4, 0x0) + 35ea: e3fff57c bsr 0x20e2 // 20e2 + 35ee: 3841 cmpnei r0, 1 + 35f0: 0806 bt 0x35fc // 35fc + m_send.HighBit_Flag = 0x01; //高电平标志置位 + 35f2: 3301 movi r3, 1 + }else if(READ_RXLEVEL_STATE == 0x00){ + m_send.HighBit_Flag = 0x00; //低电平 + 35f4: a565 st.b r3, (r5, 0x5) + } + CK_CPU_EnAllNormalIrq(); + 35f6: e3fffd09 bsr 0x3008 // 3008 +} + 35fa: 1492 pop r4-r5, r15 + }else if(READ_RXLEVEL_STATE == 0x00){ + 35fc: 9400 ld.w r0, (r4, 0x0) + 35fe: 3105 movi r1, 5 + 3600: e3fff571 bsr 0x20e2 // 20e2 + 3604: 3840 cmpnei r0, 0 + 3606: 0bf8 bt 0x35f6 // 35f6 + m_send.HighBit_Flag = 0x00; //低电平 + 3608: 3300 movi r3, 0 + 360a: 07f5 br 0x35f4 // 35f4 + 360c: 20000368 .long 0x20000368 + 3610: 200000b8 .long 0x200000b8 + 3614: 20000048 .long 0x20000048 + +Disassembly of section .text.Dbg_Println: + +00003618 : + } + +#endif +} + +void Dbg_Println(int DbgOptBit, const char *cmd, ...){ + 3618: 1423 subi r14, r14, 12 + 361a: b862 st.w r3, (r14, 0x8) + 361c: b841 st.w r2, (r14, 0x4) + 361e: b820 st.w r1, (r14, 0x0) + + + } + +#endif +} + 3620: 1403 addi r14, r14, 12 + 3622: 783c jmp r15 + +Disassembly of section .text.EEPROM_CheckSum: + +00003624 : +E_PARA_INFO g_eeprom; + +E_MCU_DEV_INFO g_mcu_dev; + +U8_T EEPROM_CheckSum(U8_T *data,U16_T len) +{ + 3624: 6cc3 mov r3, r0 + 3626: 6040 addu r1, r0 + U8_T data_sum = 0; + 3628: 3000 movi r0, 0 + + for(U16_T i = 0;i + { + data_sum += data[i]; + } + return data_sum; +} + 362e: 783c jmp r15 + data_sum += data[i]; + 3630: 8340 ld.b r2, (r3, 0x0) + 3632: 6008 addu r0, r2 + 3634: 7400 zextb r0, r0 + 3636: 2300 addi r3, 1 + 3638: 07f9 br 0x362a // 362a + +Disassembly of section .text.EEPROM_ReadParaInfo: + +0000363c : + } + +} + + +U8_T EEPROM_ReadParaInfo(E_PARA_INFO *info){ + 363c: 14d1 push r4, r15 + 363e: 143b subi r14, r14, 108 + 3640: 6d03 mov r4, r0 + U8_T read_info[6]; + U8_T para_data[EEPROM_APP_DATA_Size_Max]; + U16_T read_len = 0; + + memset(read_info,0,sizeof(read_info)); + 3642: 3300 movi r3, 0 + memset(para_data,0,sizeof(para_data)); + 3644: 3264 movi r2, 100 + 3646: 3100 movi r1, 0 + 3648: 1802 addi r0, r14, 8 + memset(read_info,0,sizeof(read_info)); + 364a: b860 st.w r3, (r14, 0x0) + 364c: dc6e1002 st.h r3, (r14, 0x4) + memset(para_data,0,sizeof(para_data)); + 3650: e3fff18a bsr 0x1964 // 1964 <__memset_fast> + + ReadDataArry_U8(EEPROM_ParaInfo_Address,4,read_info); + 3654: 6cbb mov r2, r14 + 3656: 3104 movi r1, 4 + 3658: 1014 lrw r0, 0x10000100 // 36a8 + 365a: e3fff68f bsr 0x2378 // 2378 + + if(read_info[0] == EEPROM_APP_SVAE_FLAG){ + 365e: d84e0000 ld.b r2, (r14, 0x0) + 3662: 33a6 movi r3, 166 + 3664: 64ca cmpne r2, r3 + 3666: 0c04 bf 0x366e // 366e + return 0x00; + } + } + } + + return 0x01; + 3668: 3001 movi r0, 1 +} + 366a: 141b addi r14, r14, 108 + 366c: 1491 pop r4, r15 + read_len |= read_info[1]; + 366e: d82e0002 ld.b r1, (r14, 0x2) + 3672: d86e0001 ld.b r3, (r14, 0x1) + 3676: 4128 lsli r1, r1, 8 + 3678: 6c4c or r1, r3 + if(read_len <= EEPROM_APP_DATA_Size_Max){ + 367a: 3364 movi r3, 100 + 367c: 644c cmphs r3, r1 + 367e: 0ff5 bf 0x3668 // 3668 + ReadDataArry_U8(EEPROM_ParaInfo_Address+EEPROM_Offset_Data,read_len,para_data); + 3680: 1a02 addi r2, r14, 8 + 3682: 100b lrw r0, 0x10000104 // 36ac + 3684: e3fff67a bsr 0x2378 // 2378 + if(EEPROM_CheckSum(para_data,sizeof(E_PARA_INFO)) == read_info[3]){ + 3688: 3108 movi r1, 8 + 368a: 1802 addi r0, r14, 8 + 368c: e3ffffcc bsr 0x3624 // 3624 + 3690: d86e0003 ld.b r3, (r14, 0x3) + 3694: 640e cmpne r3, r0 + 3696: 0be9 bt 0x3668 // 3668 + memcpy((uint8_t *)info,para_data,sizeof(E_PARA_INFO)); + 3698: 3208 movi r2, 8 + 369a: 1902 addi r1, r14, 8 + 369c: 6c13 mov r0, r4 + 369e: e3fff1a7 bsr 0x19ec // 19ec <__memcpy_fast> + return 0x00; + 36a2: 3000 movi r0, 0 + 36a4: 07e3 br 0x366a // 366a + 36a6: 0000 bkpt + 36a8: 10000100 .long 0x10000100 + 36ac: 10000104 .long 0x10000104 + +Disassembly of section .text.EEPROM_Validate_ParaInfo: + +000036b0 : + Page_ProgramData(EEPROM_ParaInfo_Address,save_len,save_data); + + return 0; +} + +U8_T EEPROM_Validate_ParaInfo(E_PARA_INFO *info){ + 36b0: 14d0 push r15 + 36b2: 1423 subi r14, r14, 12 +// { +// info->langue_select = EEPROM_LangueSelect_Default;//默认中英文混合 +// } + + //设备端口类型 + if(info->dev_port > 2) //2024-12-16 + 36b4: 8067 ld.b r3, (r0, 0x7) + 36b6: 3b02 cmphsi r3, 3 + 36b8: 0c03 bf 0x36be // 36be + { + info->dev_port = POLLING_PORT; //默认轮训端口 + 36ba: 3301 movi r3, 1 + 36bc: a067 st.b r3, (r0, 0x7) + } + + + Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info temp unit:%d backlight_en:%d key_sens_level:%d device_addr:%d device_port:%d",\ + 36be: 8027 ld.b r1, (r0, 0x7) + 36c0: 8064 ld.b r3, (r0, 0x4) + 36c2: 8043 ld.b r2, (r0, 0x3) + 36c4: b822 st.w r1, (r14, 0x8) + 36c6: 8020 ld.b r1, (r0, 0x0) + 36c8: b821 st.w r1, (r14, 0x4) + 36ca: 8025 ld.b r1, (r0, 0x5) + 36cc: b820 st.w r1, (r14, 0x0) + 36ce: 3000 movi r0, 0 + 36d0: 1023 lrw r1, 0x568a // 36dc + 36d2: e3ffffa3 bsr 0x3618 // 3618 + info->temp_select,info->backlight_en,info->key_sens_level,info->dev_addr,info->dev_port); + + return 0; +} + 36d6: 3000 movi r0, 0 + 36d8: 1403 addi r14, r14, 12 + 36da: 1490 pop r15 + 36dc: 0000568a .long 0x0000568a + +Disassembly of section .text.EEPROM_Default_ParaInfo: + +000036e0 : + +/*恢复默认值*/ +void EEPROM_Default_ParaInfo(E_PARA_INFO *info){ + info->dev_addr = 0x01; + 36e0: 3301 movi r3, 1 + 36e2: a060 st.b r3, (r0, 0x0) + info->pipe_flag = 0x00; + 36e4: 3300 movi r3, 0 + 36e6: a061 st.b r3, (r0, 0x1) + info->temp_diff = EEPROM_TempDifference_Default; + 36e8: 3309 movi r3, 9 + 36ea: a062 st.b r3, (r0, 0x2) + info->temp_select = EEPROM_TempSelect_Default; + 36ec: 3300 movi r3, 0 + 36ee: a063 st.b r3, (r0, 0x3) + info->backlight_en = 0x00; + 36f0: a064 st.b r3, (r0, 0x4) + info->key_sens_level = EEPROM_TouchLevel_Default; + 36f2: 3301 movi r3, 1 + 36f4: a065 st.b r3, (r0, 0x5) + info->langue_select = EEPROM_LangueSelect_Default; + 36f6: 3300 movi r3, 0 + 36f8: a066 st.b r3, (r0, 0x6) + info->dev_port = POLLING_PORT; //2024-12-16 + 36fa: 3301 movi r3, 1 + 36fc: a067 st.b r3, (r0, 0x7) + +} + 36fe: 783c jmp r15 + +Disassembly of section .text.EEPROM_Init: + +00003700 : +void EEPROM_Init(void){ + 3700: 14d1 push r4, r15 + EnIFCClk; //使能 IFC 时钟 + 3702: 1072 lrw r3, 0x20000060 // 3748 + 3704: 3201 movi r2, 1 + 3706: 9360 ld.w r3, (r3, 0x0) + 3708: b341 st.w r2, (r3, 0x4) + IFC->MR |= 0x10002; //高速模式,延迟 2 个周期 + 370a: 9345 ld.w r2, (r3, 0x14) + 370c: 3aa1 bseti r2, 1 + 370e: 3ab0 bseti r2, 16 + 3710: b345 st.w r2, (r3, 0x14) + delay_nms(10); + 3712: 300a movi r0, 10 + memset(&g_eeprom,0,sizeof(E_PARA_INFO)); + 3714: 108e lrw r4, 0x200003f0 // 374c + delay_nms(10); + 3716: e3fff661 bsr 0x23d8 // 23d8 + memset(&g_eeprom,0,sizeof(E_PARA_INFO)); + 371a: 3208 movi r2, 8 + 371c: 3100 movi r1, 0 + 371e: 6c13 mov r0, r4 + 3720: e3fff122 bsr 0x1964 // 1964 <__memset_fast> + rev = EEPROM_ReadParaInfo(&g_eeprom); + 3724: 6c13 mov r0, r4 + 3726: e3ffff8b bsr 0x363c // 363c + if(rev == 0x00){ + 372a: 3840 cmpnei r0, 0 + EEPROM_Validate_ParaInfo(&g_eeprom); + 372c: 6c13 mov r0, r4 + if(rev == 0x00){ + 372e: 0804 bt 0x3736 // 3736 + EEPROM_Validate_ParaInfo(&g_eeprom); + 3730: e3ffffc0 bsr 0x36b0 // 36b0 +} + 3734: 1491 pop r4, r15 + EEPROM_Default_ParaInfo(&g_eeprom); + 3736: e3ffffd5 bsr 0x36e0 // 36e0 + Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info Use Default:%d",g_eeprom.pipe_flag); + 373a: 8441 ld.b r2, (r4, 0x1) + 373c: 1025 lrw r1, 0x56e4 // 3750 + 373e: 3000 movi r0, 0 + 3740: e3ffff6c bsr 0x3618 // 3618 +} + 3744: 07f8 br 0x3734 // 3734 + 3746: 0000 bkpt + 3748: 20000060 .long 0x20000060 + 374c: 200003f0 .long 0x200003f0 + 3750: 000056e4 .long 0x000056e4 + +Disassembly of section .text.TemCtrl_Init: + +00003754 : + * 函数功能:温控初始化 + * + * +*****************************************************************/ +void TemCtrl_Init(void) +{ + 3754: 14d1 push r4, r15 + memset(&TempCtrl,0x00,sizeof(TempCtrl_Unit)); + 3756: 1292 lrw r4, 0x20000420 // 389c + 3758: 3228 movi r2, 40 + 375a: 3100 movi r1, 0 + 375c: 6c13 mov r0, r4 + 375e: e3fff103 bsr 0x1964 // 1964 <__memset_fast> + + if(Sys_RSR & 0xFFFFFFFE) //除上电复位外其他复位源则恢复温控状态 + 3762: 1270 lrw r3, 0x200000ac // 38a0 + 3764: 9360 ld.w r3, (r3, 0x0) + 3766: 3b80 bclri r3, 0 + 3768: 3b40 cmpnei r3, 0 + 376a: 0c92 bf 0x388e // 388e + { + Dbg_Println(DBG_BIT_SYS_STATUS,"MCU reset,recover state!"); + 376c: 122e lrw r1, 0x5706 // 38a4 + 376e: 3000 movi r0, 0 + 3770: e3ffff54 bsr 0x3618 // 3618 + + if(((Sav_Temp & 0xFF) == TEMP_OFF) || ((Sav_Temp & 0xFF) == TEMP_ON)) //读取的温控开关机状态合法 + 3774: 126d lrw r3, 0x200000a8 // 38a8 + 3776: 30ff movi r0, 255 + 3778: 9320 ld.w r1, (r3, 0x0) + 377a: 6840 and r1, r0 + 377c: 3940 cmpnei r1, 0 + 377e: 0c05 bf 0x3788 // 3788 + 3780: 9340 ld.w r2, (r3, 0x0) + 3782: 6880 and r2, r0 + 3784: 3a41 cmpnei r2, 1 + 3786: 0877 bt 0x3874 // 3874 + { + TempCtrl.TemState_Now.on_off = (Sav_Temp & 0xFF); + 3788: 9340 ld.w r2, (r3, 0x0) + 378a: 4227 lsli r1, r2, 7 + 378c: 307f movi r0, 127 + 378e: 8442 ld.b r2, (r4, 0x2) + 3790: 6880 and r2, r0 + 3792: 6c84 or r2, r1 + } + else + { + TempCtrl.TemState_Now.on_off = TEMP_OFF; + 3794: a442 st.b r2, (r4, 0x2) + } + + if( (((Sav_Temp >> 8) & 0xFF) == MODEL_COLD) || (((Sav_Temp >> 8) & 0xFF) == MODEL_HOT) + 3796: 9340 ld.w r2, (r3, 0x0) + 3798: 4a48 lsri r2, r2, 8 + 379a: 30ff movi r0, 255 + 379c: 6880 and r2, r0 + 379e: 3a40 cmpnei r2, 0 + 37a0: 0c10 bf 0x37c0 // 37c0 + 37a2: 9340 ld.w r2, (r3, 0x0) + 37a4: 4a48 lsri r2, r2, 8 + 37a6: 6880 and r2, r0 + 37a8: 3a42 cmpnei r2, 2 + 37aa: 0c0b bf 0x37c0 // 37c0 + || (((Sav_Temp >> 8) & 0xFF) == MODEL_WIND) || (((Sav_Temp >> 8) & 0xFF) == MODEL_AUTO) ) //读取的温控模式状态合法 + 37ac: 9320 ld.w r1, (r3, 0x0) + 37ae: 4928 lsri r1, r1, 8 + 37b0: 6840 and r1, r0 + 37b2: 3944 cmpnei r1, 4 + 37b4: 0c06 bf 0x37c0 // 37c0 + 37b6: 9340 ld.w r2, (r3, 0x0) + 37b8: 4a48 lsri r2, r2, 8 + 37ba: 6880 and r2, r0 + 37bc: 3a46 cmpnei r2, 6 + 37be: 085f bt 0x387c // 387c + { + TempCtrl.TemState_Now.mode = ((Sav_Temp >> 8) & 0xFF); + 37c0: 9340 ld.w r2, (r3, 0x0) + 37c2: 3107 movi r1, 7 + 37c4: 4a48 lsri r2, r2, 8 + 37c6: 6884 and r2, r1 + 37c8: 3070 movi r0, 112 + 37ca: 8422 ld.b r1, (r4, 0x2) + 37cc: 4244 lsli r2, r2, 4 + 37ce: 6841 andn r1, r0 + 37d0: 6c84 or r2, r1 + } + else + { + TempCtrl.TemState_Now.mode = MODEL_COLD; + 37d2: a442 st.b r2, (r4, 0x2) + } + + if( (((Sav_Temp >> 16) & 0xFF) == FAN_LOW) || (((Sav_Temp >> 16) & 0xFF) == FAN_MID) //读取的温控风速状态合法 + 37d4: 9340 ld.w r2, (r3, 0x0) + 37d6: 4a50 lsri r2, r2, 16 + 37d8: 30ff movi r0, 255 + 37da: 6880 and r2, r0 + 37dc: 3a40 cmpnei r2, 0 + 37de: 0c10 bf 0x37fe // 37fe + 37e0: 9340 ld.w r2, (r3, 0x0) + 37e2: 4a50 lsri r2, r2, 16 + 37e4: 6880 and r2, r0 + 37e6: 3a41 cmpnei r2, 1 + 37e8: 0c0b bf 0x37fe // 37fe + || (((Sav_Temp >> 16) & 0xFF) == FAN_HIGH)|| (((Sav_Temp >> 16) & 0xFF) == FAN_AUTO)) + 37ea: 9320 ld.w r1, (r3, 0x0) + 37ec: 4930 lsri r1, r1, 16 + 37ee: 6840 and r1, r0 + 37f0: 3942 cmpnei r1, 2 + 37f2: 0c06 bf 0x37fe // 37fe + 37f4: 9340 ld.w r2, (r3, 0x0) + 37f6: 4a50 lsri r2, r2, 16 + 37f8: 6880 and r2, r0 + 37fa: 3a43 cmpnei r2, 3 + 37fc: 0844 bt 0x3884 // 3884 + { + TempCtrl.TemState_Now.fan = ((Sav_Temp >> 16) & 0xFF); + 37fe: 9340 ld.w r2, (r3, 0x0) + 3800: 3107 movi r1, 7 + 3802: 4a50 lsri r2, r2, 16 + 3804: 6884 and r2, r1 + 3806: 300e movi r0, 14 + 3808: 8422 ld.b r1, (r4, 0x2) + 380a: 4241 lsli r2, r2, 1 + 380c: 6841 andn r1, r0 + 380e: 6c84 or r2, r1 + } + else + { + TempCtrl.TemState_Now.fan = FAN_MID; + 3810: a442 st.b r2, (r4, 0x2) + } + //读取的温控设置温度合法 2024-04-18增加0==32的判断 + if(((((Sav_Temp >> 24) & 0xFF) >= 16) && (((Sav_Temp >> 24) & 0xFF) <= 32)) ) + 3812: 9340 ld.w r2, (r3, 0x0) + 3814: 4a58 lsri r2, r2, 24 + 3816: 3a0f cmphsi r2, 16 + 3818: 0c40 bf 0x3898 // 3898 + 381a: 3284 movi r2, 132 + 381c: 4256 lsli r2, r2, 22 + 381e: 9320 ld.w r1, (r3, 0x0) + 3820: 2a00 subi r2, 1 + 3822: 6448 cmphs r2, r1 + 3824: 0c3a bf 0x3898 // 3898 + { + TempCtrl.TemState_Now.set_t = ((Sav_Temp >> 24) & 0xFF); + 3826: 9360 ld.w r3, (r3, 0x0) + 3828: 4b78 lsri r3, r3, 24 + else //正常上电温控状态 + { + TempCtrl.TemState_Now.on_off = TEMP_OFF; //关机 + TempCtrl.TemState_Now.mode = MODEL_COLD; //制冷 + TempCtrl.TemState_Now.fan = FAN_MID; //中风速 + TempCtrl.TemState_Now.set_t = 24; //24 + 382a: a461 st.b r3, (r4, 0x1) + } + + TempCtrl.TemState_Now.indoor_t = 24; + 382c: 3318 movi r3, 24 + 382e: a460 st.b r3, (r4, 0x0) + TempCtrl.TemStateLast.indoor_t = TempCtrl.TemState_Now.indoor_t; + 3830: a464 st.b r3, (r4, 0x4) + TempCtrl.TemState_Ctrller.indoor_t = TempCtrl.TemState_Now.indoor_t; + 3832: a468 st.b r3, (r4, 0x8) + + TempCtrl.CardState = 0x01; //默认插卡 + 3834: 3301 movi r3, 1 + 3836: a46d st.b r3, (r4, 0xd) + TempCtrl.CardEn = 0x00; //插卡状态功能默认关闭 + 3838: 3300 movi r3, 0 + 383a: a46f st.b r3, (r4, 0xf) + + SYSCON->UREG0 = 0x00000000; + 383c: 3200 movi r2, 0 + 383e: 107c lrw r3, 0x2000005c // 38ac + 3840: 9360 ld.w r3, (r3, 0x0) + 3842: 23ff addi r3, 256 + 3844: b340 st.w r2, (r3, 0x0) + SYSCON->UREG0 |= (TempCtrl.TemState_Now.mode << 8); + 3846: 8442 ld.b r2, (r4, 0x2) + 3848: 4239 lsli r1, r2, 25 + 384a: 493d lsri r1, r1, 29 + 384c: 9300 ld.w r0, (r3, 0x0) + 384e: 4128 lsli r1, r1, 8 + 3850: 6c40 or r1, r0 + 3852: b320 st.w r1, (r3, 0x0) + SYSCON->UREG0 |= (TempCtrl.TemState_Now.fan << 16); + 3854: 423c lsli r1, r2, 28 + 3856: 493d lsri r1, r1, 29 + 3858: 9300 ld.w r0, (r3, 0x0) + 385a: 4130 lsli r1, r1, 16 + 385c: 6c40 or r1, r0 + 385e: b320 st.w r1, (r3, 0x0) + SYSCON->UREG0 |= (TempCtrl.TemState_Now.set_t << 24); + 3860: 8421 ld.b r1, (r4, 0x1) + 3862: 9300 ld.w r0, (r3, 0x0) + 3864: 4138 lsli r1, r1, 24 + 3866: 6c40 or r1, r0 + 3868: b320 st.w r1, (r3, 0x0) + SYSCON->UREG0 |= TempCtrl.TemState_Now.on_off; //2024-03-15 + 386a: 9320 ld.w r1, (r3, 0x0) + 386c: 4a47 lsri r2, r2, 7 + 386e: 6c84 or r2, r1 + 3870: b340 st.w r2, (r3, 0x0) +} + 3872: 1491 pop r4, r15 + TempCtrl.TemState_Now.on_off = TEMP_OFF; + 3874: 8442 ld.b r2, (r4, 0x2) + 3876: 317f movi r1, 127 + 3878: 6884 and r2, r1 + 387a: 078d br 0x3794 // 3794 + TempCtrl.TemState_Now.mode = MODEL_COLD; + 387c: 8442 ld.b r2, (r4, 0x2) + 387e: 3170 movi r1, 112 + 3880: 6885 andn r2, r1 + 3882: 07a8 br 0x37d2 // 37d2 + TempCtrl.TemState_Now.fan = FAN_MID; + 3884: 8442 ld.b r2, (r4, 0x2) + 3886: 310e movi r1, 14 + 3888: 6885 andn r2, r1 + 388a: 3aa1 bseti r2, 1 + 388c: 07c2 br 0x3810 // 3810 + TempCtrl.TemState_Now.fan = FAN_MID; //中风速 + 388e: 8462 ld.b r3, (r4, 0x2) + 3890: 320e movi r2, 14 + 3892: 68c9 andn r3, r2 + 3894: 3ba1 bseti r3, 1 + 3896: a462 st.b r3, (r4, 0x2) + TempCtrl.TemState_Now.set_t = 24; //24 + 3898: 3318 movi r3, 24 + 389a: 07c8 br 0x382a // 382a + 389c: 20000420 .long 0x20000420 + 38a0: 200000ac .long 0x200000ac + 38a4: 00005706 .long 0x00005706 + 38a8: 200000a8 .long 0x200000a8 + 38ac: 2000005c .long 0x2000005c + +Disassembly of section .text.Ctrller_Ctrl_AirState: + +000038b0 : + * 函数功能 : 控制空调状态 + * 函数输入 : + * 函数输出 : +**********************************************************************************/ +void Ctrller_Ctrl_AirState(void) +{ + 38b0: 14d0 push r15 + 38b2: 1423 subi r14, r14, 12 + U8_T SdBuff[12]; + U16_T SdLen = 0x0B; + + SdBuff[0] = 0xDD; + 38b4: 3300 movi r3, 0 + 38b6: 2b22 subi r3, 35 + 38b8: dc6e0000 st.b r3, (r14, 0x0) + SdBuff[1] = 0x0B; + 38bc: 330b movi r3, 11 + 38be: dc6e0001 st.b r3, (r14, 0x1) + SdBuff[2] = 0xFF; + 38c2: 3300 movi r3, 0 + 38c4: 2b00 subi r3, 1 + 38c6: dc6e0002 st.b r3, (r14, 0x2) + SdBuff[3] = g_Dip.DIP_addr; + SdBuff[4] = 0x03; //命令字 + + SdBuff[5] = TempCtrl.TemState_Now.on_off; //开关机状态 + 38ca: 1141 lrw r2, 0x20000420 // 394c + SdBuff[3] = g_Dip.DIP_addr; + 38cc: 1161 lrw r3, 0x20000448 // 3950 + 38ce: 8366 ld.b r3, (r3, 0x6) + 38d0: dc6e0003 st.b r3, (r14, 0x3) + SdBuff[4] = 0x03; //命令字 + 38d4: 3303 movi r3, 3 + 38d6: dc6e0004 st.b r3, (r14, 0x4) + SdBuff[5] = TempCtrl.TemState_Now.on_off; //开关机状态 + 38da: 8262 ld.b r3, (r2, 0x2) + 38dc: 4b27 lsri r1, r3, 7 + 38de: dc2e0005 st.b r1, (r14, 0x5) + + SdBuff[6] = TempCtrl.TemState_Now.set_t; //设定温度 + 38e2: 8221 ld.b r1, (r2, 0x1) + 38e4: dc2e0006 st.b r1, (r14, 0x6) + + if(TempCtrl.TemState_Now.mode == MODEL_COLD){ //空调工作模式, 0x01:制热, 0x02:制冷, 0x04:送风 + 38e8: 74cc zextb r3, r3 + 38ea: 3170 movi r1, 112 + 38ec: 684c and r1, r3 + 38ee: 3940 cmpnei r1, 0 + 38f0: 081a bt 0x3924 // 3924 + SdBuff[7] = 0x02; + 38f2: 3102 movi r1, 2 + }else if(TempCtrl.TemState_Now.mode == MODEL_HOT){ + SdBuff[7] = 0x01; + }else if(TempCtrl.TemState_Now.mode == MODEL_WIND){ + SdBuff[7] = 0x04; + 38f4: dc2e0007 st.b r1, (r14, 0x7) + }else{ + SdBuff[7] = 0x02; + } + + if(TempCtrl.TemState_Now.fan == FAN_AUTO){ //空调风速, 0x00:自动, 0x01:低风速, 0x02:中风速, 0x03:高风速 + 38f8: 310e movi r1, 14 + 38fa: 68c4 and r3, r1 + 38fc: 3b46 cmpnei r3, 6 + 38fe: 081d bt 0x3938 // 3938 + SdBuff[8] = 0x00; + 3900: 3300 movi r3, 0 + }else if(TempCtrl.TemState_Now.fan == FAN_LOW){ + SdBuff[8] = 0x01; + }else if(TempCtrl.TemState_Now.fan == FAN_MID){ + SdBuff[8] = 0x02; + }else if(TempCtrl.TemState_Now.fan == FAN_HIGH){ + SdBuff[8] = 0x03; + 3902: dc6e0008 st.b r3, (r14, 0x8) + SdBuff[8] = 0x00; + } + + SdBuff[9] = TempCtrl.Temp_dirwind; //空调的风向值, 0x00:无风向, 0x01:代表风向板位于位置1, ..., 0x07:代表风向板位于位置7, 0xFF:自动摆动 + + SdBuff[10] = EEPROM_CheckSum(SdBuff,0x0A); + 3906: 310a movi r1, 10 + SdBuff[9] = TempCtrl.Temp_dirwind; //空调的风向值, 0x00:无风向, 0x01:代表风向板位于位置1, ..., 0x07:代表风向板位于位置7, 0xFF:自动摆动 + 3908: 826c ld.b r3, (r2, 0xc) + SdBuff[10] = EEPROM_CheckSum(SdBuff,0x0A); + 390a: 6c3b mov r0, r14 + SdBuff[9] = TempCtrl.Temp_dirwind; //空调的风向值, 0x00:无风向, 0x01:代表风向板位于位置1, ..., 0x07:代表风向板位于位置7, 0xFF:自动摆动 + 390c: dc6e0009 st.b r3, (r14, 0x9) + SdBuff[10] = EEPROM_CheckSum(SdBuff,0x0A); + 3910: e3fffe8a bsr 0x3624 // 3624 + 3914: dc0e000a st.b r0, (r14, 0xa) + + Controller485_SendData(SdBuff,SdLen); + 3918: 310b movi r1, 11 + 391a: 6c3b mov r0, r14 + 391c: e3fffcf4 bsr 0x3304 // 3304 +} + 3920: 1403 addi r14, r14, 12 + 3922: 1490 pop r15 + }else if(TempCtrl.TemState_Now.mode == MODEL_HOT){ + 3924: 3020 movi r0, 32 + 3926: 6406 cmpne r1, r0 + 3928: 0803 bt 0x392e // 392e + SdBuff[7] = 0x01; + 392a: 3101 movi r1, 1 + 392c: 07e4 br 0x38f4 // 38f4 + }else if(TempCtrl.TemState_Now.mode == MODEL_WIND){ + 392e: 3040 movi r0, 64 + 3930: 6406 cmpne r1, r0 + 3932: 0be0 bt 0x38f2 // 38f2 + SdBuff[7] = 0x04; + 3934: 3104 movi r1, 4 + 3936: 07df br 0x38f4 // 38f4 + }else if(TempCtrl.TemState_Now.fan == FAN_LOW){ + 3938: 3b40 cmpnei r3, 0 + 393a: 0803 bt 0x3940 // 3940 + SdBuff[8] = 0x01; + 393c: 3301 movi r3, 1 + 393e: 07e2 br 0x3902 // 3902 + }else if(TempCtrl.TemState_Now.fan == FAN_MID){ + 3940: 3b42 cmpnei r3, 2 + 3942: 0fe0 bf 0x3902 // 3902 + }else if(TempCtrl.TemState_Now.fan == FAN_HIGH){ + 3944: 3b44 cmpnei r3, 4 + 3946: 0bdd bt 0x3900 // 3900 + SdBuff[8] = 0x03; + 3948: 3303 movi r3, 3 + 394a: 07dc br 0x3902 // 3902 + 394c: 20000420 .long 0x20000420 + 3950: 20000448 .long 0x20000448 + +Disassembly of section .text.TemCtrl_Pro: + +00003954 : +{ + 3954: 14d1 push r4, r15 + if(TempCtrl.TemState_Now.on_off != TempCtrl.TemState_Ctrller.on_off) + 3956: 1168 lrw r3, 0x20000420 // 39f4 + 3958: 8322 ld.b r1, (r3, 0x2) + 395a: 834a ld.b r2, (r3, 0xa) + 395c: 4927 lsri r1, r1, 7 + 395e: 4a07 lsri r0, r2, 7 + 3960: 6442 cmpne r0, r1 + 3962: 0c08 bf 0x3972 // 3972 + TempCtrl.TemState_Ctrller.on_off = TempCtrl.TemState_Now.on_off; + 3964: 307f movi r0, 127 + 3966: 4127 lsli r1, r1, 7 + 3968: 6880 and r2, r0 + 396a: 6c84 or r2, r1 + 396c: a34a st.b r2, (r3, 0xa) + TempCtrl.TempCtrllerChange_Flag = 0x01; + 396e: 3201 movi r2, 1 + 3970: a354 st.b r2, (r3, 0x14) + if(TempCtrl.TemState_Now.set_t != TempCtrl.TemState_Ctrller.set_t) + 3972: 8341 ld.b r2, (r3, 0x1) + 3974: 8329 ld.b r1, (r3, 0x9) + 3976: 6486 cmpne r1, r2 + 3978: 0c04 bf 0x3980 // 3980 + TempCtrl.TemState_Ctrller.set_t = TempCtrl.TemState_Now.set_t; + 397a: a349 st.b r2, (r3, 0x9) + TempCtrl.TempCtrllerChange_Flag = 0x01; + 397c: 3201 movi r2, 1 + 397e: a354 st.b r2, (r3, 0x14) + if(TempCtrl.TemState_Now.mode != TempCtrl.TemState_Ctrller.mode) + 3980: 8342 ld.b r2, (r3, 0x2) + 3982: 832a ld.b r1, (r3, 0xa) + 3984: 4259 lsli r2, r2, 25 + 3986: 4119 lsli r0, r1, 25 + 3988: 4a5d lsri r2, r2, 29 + 398a: 481d lsri r0, r0, 29 + 398c: 6482 cmpne r0, r2 + 398e: 0c08 bf 0x399e // 399e + TempCtrl.TemState_Ctrller.mode = TempCtrl.TemState_Now.mode; + 3990: 3070 movi r0, 112 + 3992: 4244 lsli r2, r2, 4 + 3994: 6841 andn r1, r0 + 3996: 6c84 or r2, r1 + 3998: a34a st.b r2, (r3, 0xa) + TempCtrl.TempCtrllerChange_Flag = 0x01; + 399a: 3201 movi r2, 1 + 399c: a354 st.b r2, (r3, 0x14) + if(TempCtrl.TemState_Now.fan != TempCtrl.TemState_Ctrller.fan) + 399e: 8342 ld.b r2, (r3, 0x2) + 39a0: 832a ld.b r1, (r3, 0xa) + 39a2: 425c lsli r2, r2, 28 + 39a4: 411c lsli r0, r1, 28 + 39a6: 4a5d lsri r2, r2, 29 + 39a8: 481d lsri r0, r0, 29 + 39aa: 6482 cmpne r0, r2 + 39ac: 0c08 bf 0x39bc // 39bc + TempCtrl.TemState_Ctrller.fan = TempCtrl.TemState_Now.fan; + 39ae: 300e movi r0, 14 + 39b0: 4241 lsli r2, r2, 1 + 39b2: 6841 andn r1, r0 + 39b4: 6c84 or r2, r1 + 39b6: a34a st.b r2, (r3, 0xa) + TempCtrl.TempCtrllerChange_Flag = 0x01; + 39b8: 3201 movi r2, 1 + 39ba: a354 st.b r2, (r3, 0x14) + if( (TempCtrl.TempCtrllerChange_Flag == 0x01)&&(SysTick_1ms - TemCtrl_tick >= 300) ) + 39bc: 8354 ld.b r2, (r3, 0x14) + 39be: 3a41 cmpnei r2, 1 + 39c0: 0814 bt 0x39e8 // 39e8 + 39c2: 104e lrw r2, 0x200000b8 // 39f8 + 39c4: 100e lrw r0, 0x20000144 // 39fc + 39c6: 9220 ld.w r1, (r2, 0x0) + 39c8: 9081 ld.w r4, (r0, 0x4) + 39ca: 6052 subu r1, r4 + 39cc: 108d lrw r4, 0x12b // 3a00 + 39ce: 6450 cmphs r4, r1 + 39d0: 080c bt 0x39e8 // 39e8 + TempCtrl.TemQuery_1S_tick = SysTick_1ms; + 39d2: 9220 ld.w r1, (r2, 0x0) + TemCtrl_tick = SysTick_1ms; + 39d4: 9240 ld.w r2, (r2, 0x0) + 39d6: b041 st.w r2, (r0, 0x4) + if(TempCtrl.TempCtrller_Cnt <= 0x03) + 39d8: 8353 ld.b r2, (r3, 0x13) + 39da: 3a03 cmphsi r2, 4 + TempCtrl.TemQuery_1S_tick = SysTick_1ms; + 39dc: b329 st.w r1, (r3, 0x24) + if(TempCtrl.TempCtrller_Cnt <= 0x03) + 39de: 0806 bt 0x39ea // 39ea + TempCtrl.TempCtrller_Cnt++; + 39e0: 2200 addi r2, 1 + 39e2: a353 st.b r2, (r3, 0x13) + Ctrller_Ctrl_AirState(); + 39e4: e3ffff66 bsr 0x38b0 // 38b0 +} + 39e8: 1491 pop r4, r15 + TempCtrl.TempCtrllerChange_Flag = 0x00; + 39ea: 3200 movi r2, 0 + 39ec: a354 st.b r2, (r3, 0x14) + TempCtrl.TempCtrller_Cnt = 0x00; + 39ee: a353 st.b r2, (r3, 0x13) +} + 39f0: 07fc br 0x39e8 // 39e8 + 39f2: 0000 bkpt + 39f4: 20000420 .long 0x20000420 + 39f8: 200000b8 .long 0x200000b8 + 39fc: 20000144 .long 0x20000144 + 3a00: 0000012b .long 0x0000012b + +Disassembly of section .text.Ctrller_CtrlAirState_Processing: + +00003a04 : + * Len : 接收数据长度 + * 函数输出 : +**********************************************************************************/ +U8_T Ctrller_CtrlAirState_Processing(U8_T *RecData, U16_T Len) +{ + if(Len < 7) return 0x01; + 3a04: 3906 cmphsi r1, 7 + 3a06: 0c0a bf 0x3a1a // 3a1a + + if(RecData[5] == 0x00) //控制设定失败 + { + + } + else if(RecData[5] == 0x01) //控制设定成功 + 3a08: 8065 ld.b r3, (r0, 0x5) + 3a0a: 3b41 cmpnei r3, 1 + 3a0c: 0805 bt 0x3a16 // 3a16 + { + TempCtrl.TempCtrllerChange_Flag = 0x00; + 3a0e: 1065 lrw r3, 0x20000420 // 3a20 + 3a10: 3200 movi r2, 0 + 3a12: a354 st.b r2, (r3, 0x14) + TempCtrl.TempCtrller_Cnt = 0x00; + 3a14: a353 st.b r2, (r3, 0x13) + else if(RecData[5] == 0x01) //控制设定成功 + 3a16: 3000 movi r0, 0 + 3a18: 0402 br 0x3a1c // 3a1c + if(Len < 7) return 0x01; + 3a1a: 3001 movi r0, 1 + } + + return 0x00; +} + 3a1c: 783c jmp r15 + 3a1e: 0000 bkpt + 3a20: 20000420 .long 0x20000420 + +Disassembly of section .text.Ctrller_RecData_Processing: + +00003a24 : + * RecData : 接收数据缓冲区 + * Len : 接收数据长度 + * 函数输出 : 处理状态 +**********************************************************************************/ +U8_T Ctrller_RecData_Processing(U8_T *RecData, U16_T Len) +{ + 3a24: 14d4 push r4-r7, r15 + if( (Len < 6)||(RecData[1] != Len) ) + 3a26: 3905 cmphsi r1, 6 +{ + 3a28: 6d03 mov r4, r0 + 3a2a: 6c87 mov r2, r1 + if( (Len < 6)||(RecData[1] != Len) ) + 3a2c: 0c04 bf 0x3a34 // 3a34 + 3a2e: 80a1 ld.b r5, (r0, 0x1) + 3a30: 6456 cmpne r5, r1 + 3a32: 0c07 bf 0x3a40 // 3a40 + { + Dbg_Println(DBG_BIT_SYS_STATUS,"Len Err:%d",Len); + 3a34: 3000 movi r0, 0 + 3a36: 1121 lrw r1, 0x571f // 3ab8 + 3a38: e3fffdf0 bsr 0x3618 // 3618 + return 0x01; + 3a3c: 3001 movi r0, 1 + break; + } + + + return 0x00; +} + 3a3e: 1494 pop r4-r7, r15 + if(RecData[0] != 0xCC) + 3a40: 8040 ld.b r2, (r0, 0x0) + 3a42: 33cc movi r3, 204 + 3a44: 64ca cmpne r2, r3 + 3a46: 0c07 bf 0x3a54 // 3a54 + Dbg_Println(DBG_BIT_SYS_STATUS,"Head Err"); + 3a48: 3000 movi r0, 0 + 3a4a: 103d lrw r1, 0x572a // 3abc + 3a4c: e3fffde6 bsr 0x3618 // 3618 + return 0x02; + 3a50: 3002 movi r0, 2 + 3a52: 07f6 br 0x3a3e // 3a3e + if( (RecData[2] != 0xFF)||(RecData[3] != g_Dip.DIP_addr) ) + 3a54: 8042 ld.b r2, (r0, 0x2) + 3a56: 33ff movi r3, 255 + 3a58: 64ca cmpne r2, r3 + 3a5a: 105a lrw r2, 0x20000448 // 3ac0 + 3a5c: 8063 ld.b r3, (r0, 0x3) + 3a5e: 0804 bt 0x3a66 // 3a66 + 3a60: 8226 ld.b r1, (r2, 0x6) + 3a62: 644e cmpne r3, r1 + 3a64: 0c09 bf 0x3a76 // 3a76 + Dbg_Println(DBG_BIT_SYS_STATUS,"Addr Err:%d, %d",g_Dip.DIP_addr,RecData[3]); + 3a66: 3000 movi r0, 0 + 3a68: 74cc zextb r3, r3 + 3a6a: 8246 ld.b r2, (r2, 0x6) + 3a6c: 1036 lrw r1, 0x5733 // 3ac4 + 3a6e: e3fffdd5 bsr 0x3618 // 3618 + return 0x03; + 3a72: 3003 movi r0, 3 + 3a74: 07e5 br 0x3a3e // 3a3e + if(RecData[Len-1] != EEPROM_CheckSum(RecData,(Len-1))) + 3a76: 5dc3 subi r6, r5, 1 + 3a78: 5874 addu r3, r0, r5 + 3a7a: 7599 zexth r6, r6 + 3a7c: 2b00 subi r3, 1 + 3a7e: 6c5b mov r1, r6 + 3a80: 83e0 ld.b r7, (r3, 0x0) + 3a82: e3fffdd1 bsr 0x3624 // 3624 + 3a86: 641e cmpne r7, r0 + 3a88: 0c0e bf 0x3aa4 // 3aa4 + Dbg_Println(DBG_BIT_SYS_STATUS,"SumCRC Err:%d, %d",RecData[5],EEPROM_CheckSum(RecData,(Len-1))); + 3a8a: 6c5b mov r1, r6 + 3a8c: 6c13 mov r0, r4 + 3a8e: 84a5 ld.b r5, (r4, 0x5) + 3a90: e3fffdca bsr 0x3624 // 3624 + 3a94: 6cc3 mov r3, r0 + 3a96: 6c97 mov r2, r5 + 3a98: 3000 movi r0, 0 + 3a9a: 102c lrw r1, 0x5743 // 3ac8 + 3a9c: e3fffdbe bsr 0x3618 // 3618 + return 0x04; + 3aa0: 3004 movi r0, 4 + 3aa2: 07ce br 0x3a3e // 3a3e + switch(RecData[4]) + 3aa4: 8464 ld.b r3, (r4, 0x4) + 3aa6: 3b43 cmpnei r3, 3 + 3aa8: 0805 bt 0x3ab2 // 3ab2 + Ctrller_CtrlAirState_Processing(RecData,Len); + 3aaa: 6c57 mov r1, r5 + 3aac: 6c13 mov r0, r4 + 3aae: e3ffffab bsr 0x3a04 // 3a04 + return 0x00; + 3ab2: 3000 movi r0, 0 + 3ab4: 07c5 br 0x3a3e // 3a3e + 3ab6: 0000 bkpt + 3ab8: 0000571f .long 0x0000571f + 3abc: 0000572a .long 0x0000572a + 3ac0: 20000448 .long 0x20000448 + 3ac4: 00005733 .long 0x00005733 + 3ac8: 00005743 .long 0x00005743 + +Disassembly of section .text.NetCRC16_Check: + +00003acc : + +/*两字节CRC校验 +*len包括校验的长度 +*/ +void NetCRC16_Check(U8_T *aStr ,U16_T len) +{ + 3acc: 14c4 push r4-r7 + U16_T alen = len-2; //CRC16??????? + U16_T xda , xdapoly ; //校验后的结果,多项式 + U16_T i,j, xdabit ; //缓存变量 + + if(len < 3) //长度小于3 + 3ace: 3902 cmphsi r1, 3 + 3ad0: 0c1f bf 0x3b0e // 3b0e + U16_T alen = len-2; //CRC16??????? + 3ad2: 2901 subi r1, 2 + 3ad4: 7445 zexth r1, r1 + 3ad6: 6d43 mov r5, r0 + 3ad8: 3200 movi r2, 0 + 3ada: 106e lrw r3, 0xffff // 3b10 + } + xda = 0xFFFF ; + xdapoly = 0xA001 ; // (X**16 + X**15 + X**2 + 1) + for(i=0;i>= 1 ; + if( xdabit ) xda ^= xdapoly ; + 3ae4: 6d8f mov r6, r3 + 3ae6: 699c and r6, r7 + 3ae8: 3e40 cmpnei r6, 0 + 3aea: 4b61 lsri r3, r3, 1 + 3aec: 0c04 bf 0x3af4 // 3af4 + 3aee: 10ca lrw r6, 0xffffa001 // 3b14 + 3af0: 6cd9 xor r3, r6 + 3af2: 74cd zexth r3, r3 + 3af4: 2c00 subi r4, 1 + 3af6: 7511 zexth r4, r4 + for(j=0;j<8;j++) + 3af8: 3c40 cmpnei r4, 0 + 3afa: 0bf5 bt 0x3ae4 // 3ae4 + for(i=0;i + } + } + aStr[alen] = (U8_T)(xda & 0xFF) ; + 3b06: 6040 addu r1, r0 + 3b08: a160 st.b r3, (r1, 0x0) + aStr[alen+1] = (U8_T)(xda>>8) ; + 3b0a: 4b68 lsri r3, r3, 8 + 3b0c: a161 st.b r3, (r1, 0x1) +} + 3b0e: 1484 pop r4-r7 + 3b10: 0000ffff .long 0x0000ffff + 3b14: ffffa001 .long 0xffffa001 + +Disassembly of section .text.GetCRC16: + +00003b18 : +* @para +* aStr 数组首地址 +* len 数组长度,不包括校验 +*/ +U16_T GetCRC16( U8_T *aStr , U16_T len) +{ + 3b18: 14c3 push r4-r6 + 3b1a: 6cc3 mov r3, r0 + 3b1c: 6040 addu r1, r0 + xda ^= aStr[i] ; + for (j = 0; j < 8; j++) + { + xdabit = (unsigned char)(xda & 0x01) ; + xda >>= 1 ; + if ( xdabit ) xda ^= xdapoly ; + 3b1e: 10ac lrw r5, 0xffffa001 // 3b4c + xda = 0xFFFF ; + 3b20: 100c lrw r0, 0xffff // 3b50 + for (i = 0; i < len; i++) + 3b22: 644e cmpne r3, r1 + 3b24: 0802 bt 0x3b28 // 3b28 + } + } + + return xda; +} + 3b26: 1483 pop r4-r6 + xda ^= aStr[i] ; + 3b28: 8340 ld.b r2, (r3, 0x0) + 3b2a: 6c09 xor r0, r2 + xdabit = (unsigned char)(xda & 0x01) ; + 3b2c: 3601 movi r6, 1 + xda ^= aStr[i] ; + 3b2e: 3208 movi r2, 8 + if ( xdabit ) xda ^= xdapoly ; + 3b30: 6d03 mov r4, r0 + 3b32: 6918 and r4, r6 + 3b34: 3c40 cmpnei r4, 0 + 3b36: 4801 lsri r0, r0, 1 + 3b38: 0c03 bf 0x3b3e // 3b3e + 3b3a: 6c15 xor r0, r5 + 3b3c: 7401 zexth r0, r0 + 3b3e: 2a00 subi r2, 1 + 3b40: 7489 zexth r2, r2 + for (j = 0; j < 8; j++) + 3b42: 3a40 cmpnei r2, 0 + 3b44: 0bf6 bt 0x3b30 // 3b30 + 3b46: 2300 addi r3, 1 + 3b48: 07ed br 0x3b22 // 3b22 + 3b4a: 0000 bkpt + 3b4c: ffffa001 .long 0xffffa001 + 3b50: 0000ffff .long 0x0000ffff + +Disassembly of section .text.Rs485AskCtrlSend: + +00003b54 : + + + +/*控制回复报文*/ +void Rs485AskCtrlSend(U8_T* Recdata) +{ + 3b54: 14d0 push r15 + 3b56: 1424 subi r14, r14, 16 + U8_T SendData[10]; + + SendData[0] = 0x55; + 3b58: 3355 movi r3, 85 + 3b5a: dc6e0004 st.b r3, (r14, 0x4) + SendData[1] = 0x55; + 3b5e: dc6e0005 st.b r3, (r14, 0x5) + SendData[2] = 0xee; //头 + 3b62: 3300 movi r3, 0 + 3b64: 2b11 subi r3, 18 + 3b66: dc6e0006 st.b r3, (r14, 0x6) + + SendData[3] = 0x07; //长度 + 3b6a: 3307 movi r3, 7 + 3b6c: dc6e0007 st.b r3, (r14, 0x7) + SendData[4] = Tem_Type; //类型 + 3b70: 3304 movi r3, 4 + 3b72: dc6e0008 st.b r3, (r14, 0x8) + + SendData[6] = 0x01; //类型 - 红外转发 + 3b76: 3301 movi r3, 1 + 3b78: dc6e000a st.b r3, (r14, 0xa) + SendData[5] = g_Dip.DIP_addr; + SendData[7] = 0x01; //内容 - 接收成功 + + NetCRC16_Check(&SendData[0+3], SendData[0+3]); //校验 + 3b7c: 3107 movi r1, 7 + SendData[5] = g_Dip.DIP_addr; + 3b7e: 106c lrw r3, 0x20000448 // 3bac + 3b80: 8366 ld.b r3, (r3, 0x6) + 3b82: dc6e0009 st.b r3, (r14, 0x9) + SendData[7] = 0x01; //内容 - 接收成功 + 3b86: 3301 movi r3, 1 + 3b88: dc6e000b st.b r3, (r14, 0xb) + NetCRC16_Check(&SendData[0+3], SendData[0+3]); //校验 + 3b8c: 1b01 addi r3, r14, 4 + 3b8e: 5b0a addi r0, r3, 3 + 3b90: e3ffff9e bsr 0x3acc // 3acc + + Set_GroupSend(SendData,10,1,BUSSend_ValidTime3,20); //组包 + 3b94: 3314 movi r3, 20 + 3b96: b860 st.w r3, (r14, 0x0) + 3b98: 3396 movi r3, 150 + 3b9a: 4361 lsli r3, r3, 1 + 3b9c: 3201 movi r2, 1 + 3b9e: 310a movi r1, 10 + 3ba0: 1801 addi r0, r14, 4 + 3ba2: e3fffca1 bsr 0x34e4 // 34e4 + +} + 3ba6: 1404 addi r14, r14, 16 + 3ba8: 1490 pop r15 + 3baa: 0000 bkpt + 3bac: 20000448 .long 0x20000448 + +Disassembly of section .text.IrSend_Rs485_Pro: + +00003bb0 : + * Len 数据长度 + * 输出 :无 + * 调用 :无 + *************************************************************************/ +U8_T IrSend_Rs485_Pro(U8_T *RecData, U16_T Len) +{ + 3bb0: 14d1 push r4, r15 + U8_T ret = 0; + U16_T Crc_buf; //正确报文校验保存 + + if(0x0D != Len) + 3bb2: 394d cmpnei r1, 13 +{ + 3bb4: 6d03 mov r4, r0 + if(0x0D != Len) + 3bb6: 0884 bt 0x3cbe // 3cbe + { + return 0x01; + } + + if((0x55 != RecData[0]) || (0x55 != RecData[1])|| (0xee != RecData[2]) ) + 3bb8: 8060 ld.b r3, (r0, 0x0) + 3bba: 3255 movi r2, 85 + 3bbc: 648e cmpne r3, r2 + 3bbe: 087a bt 0x3cb2 // 3cb2 + 3bc0: 8041 ld.b r2, (r0, 0x1) + 3bc2: 64ca cmpne r2, r3 + 3bc4: 0877 bt 0x3cb2 // 3cb2 + 3bc6: 8042 ld.b r2, (r0, 0x2) + 3bc8: 33ee movi r3, 238 + 3bca: 64ca cmpne r2, r3 + 3bcc: 0873 bt 0x3cb2 // 3cb2 + { + return 0x02; + } + + if( (g_Dip.DIP_addr != RecData[6])&&(0xFF != RecData[6]) ) + 3bce: 115e lrw r2, 0x20000448 // 3cc4 + 3bd0: 8066 ld.b r3, (r0, 0x6) + 3bd2: 8246 ld.b r2, (r2, 0x6) + 3bd4: 64ca cmpne r2, r3 + 3bd6: 0c04 bf 0x3bde // 3bde + 3bd8: 32ff movi r2, 255 + 3bda: 648e cmpne r3, r2 + 3bdc: 086d bt 0x3cb6 // 3cb6 + { + return 0x03; + } + + if( (RecData[3] + 3 != Len) || (Tem_Type != RecData[4])) + 3bde: 8463 ld.b r3, (r4, 0x3) + 3be0: 3b4a cmpnei r3, 10 + 3be2: 086c bt 0x3cba // 3cba + 3be4: 8464 ld.b r3, (r4, 0x4) + 3be6: 3b44 cmpnei r3, 4 + 3be8: 0869 bt 0x3cba // 3cba + { + return 0x04; + } + + Crc_buf = GetCRC16(&RecData[3], RecData[3]-2); + 3bea: 5c0a addi r0, r4, 3 + 3bec: 3108 movi r1, 8 + 3bee: e3ffff95 bsr 0x3b18 // 3b18 + if(Crc_buf == (RecData[Len-2]+(RecData[Len-1]<<8))) //校验通过 + 3bf2: 846c ld.b r3, (r4, 0xc) + 3bf4: 4368 lsli r3, r3, 8 + 3bf6: 844b ld.b r2, (r4, 0xb) + 3bf8: 60c8 addu r3, r2 + 3bfa: 64c2 cmpne r0, r3 + 3bfc: 0861 bt 0x3cbe // 3cbe + { + //控制空调 + if(0x01 == RecData[5]) + 3bfe: 8465 ld.b r3, (r4, 0x5) + 3c00: 3b41 cmpnei r3, 1 + 3c02: 085e bt 0x3cbe // 3cbe + { + //设置温度命令 + if((TEM_MIN_SET <= RecData[7]) && (RecData[7] < TEM_MAX_SET)) //在指定温度范围内 + 3c04: 3200 movi r2, 0 + 3c06: 8467 ld.b r3, (r4, 0x7) + 3c08: 2a0f subi r2, 16 + 3c0a: 608c addu r2, r3 + 3c0c: 7488 zextb r2, r2 + 3c0e: 3a0f cmphsi r2, 16 + 3c10: 0814 bt 0x3c38 // 3c38 + { + TempCtrl.TemState_Now.set_t = (RecData[7]&0x1f); + 3c12: 114e lrw r2, 0x20000420 // 3cc8 + 3c14: a261 st.b r3, (r2, 0x1) + }else if(RecData[7] == TEM_MAX_SET){ + TempCtrl.TemState_Now.set_t = (RecData[7]&0x20); + } + + switch(RecData[8]) + 3c16: 8468 ld.b r3, (r4, 0x8) + 3c18: 3b40 cmpnei r3, 0 + 3c1a: 0c15 bf 0x3c44 // 3c44 + 3c1c: 3b41 cmpnei r3, 1 + 3c1e: 0c19 bf 0x3c50 // 3c50 + break; + default: + break; //报文有误 + } + + switch(RecData[9]) //风速 + 3c20: 8469 ld.b r3, (r4, 0x9) + 3c22: 3b42 cmpnei r3, 2 + 3c24: 0c2f bf 0x3c82 // 3c82 + 3c26: 3b43 cmpnei r3, 3 + 3c28: 0c1b bf 0x3c5e // 3c5e + 3c2a: 3b41 cmpnei r3, 1 + 3c2c: 081f bt 0x3c6a // 3c6a + break; + case 0x02: + TempCtrl.TemState_Now.fan = FAN_MID; //中风速 + break; + case 0x01: + TempCtrl.TemState_Now.fan = FAN_LOW; //低风速 + 3c2e: 1147 lrw r2, 0x20000420 // 3cc8 + 3c30: 8262 ld.b r3, (r2, 0x2) + 3c32: 310e movi r1, 14 + 3c34: 68c5 andn r3, r1 + 3c36: 0419 br 0x3c68 // 3c68 + }else if(RecData[7] == TEM_MAX_SET){ + 3c38: 3220 movi r2, 32 + 3c3a: 648e cmpne r3, r2 + 3c3c: 0bed bt 0x3c16 // 3c16 + TempCtrl.TemState_Now.set_t = (RecData[7]&0x20); + 3c3e: 1163 lrw r3, 0x20000420 // 3cc8 + 3c40: a341 st.b r2, (r3, 0x1) + 3c42: 07ea br 0x3c16 // 3c16 + TempCtrl.TemState_Now.on_off = TEMP_OFF; //关机 + 3c44: 1141 lrw r2, 0x20000420 // 3cc8 + 3c46: 8262 ld.b r3, (r2, 0x2) + 3c48: 317f movi r1, 127 + 3c4a: 68c4 and r3, r1 + 3c4c: a262 st.b r3, (r2, 0x2) + break; + 3c4e: 07e9 br 0x3c20 // 3c20 + TempCtrl.TemState_Now.on_off = TEMP_ON; //开机 + 3c50: 103e lrw r1, 0x20000420 // 3cc8 + 3c52: 3200 movi r2, 0 + 3c54: 8162 ld.b r3, (r1, 0x2) + 3c56: 2a7f subi r2, 128 + 3c58: 6cc8 or r3, r2 + 3c5a: a162 st.b r3, (r1, 0x2) + break; + 3c5c: 07e2 br 0x3c20 // 3c20 + TempCtrl.TemState_Now.fan = FAN_HIGH; //高风速 + 3c5e: 105b lrw r2, 0x20000420 // 3cc8 + 3c60: 8262 ld.b r3, (r2, 0x2) + 3c62: 310e movi r1, 14 + 3c64: 68c5 andn r3, r1 + 3c66: 3ba2 bseti r3, 2 + TempCtrl.TemState_Now.fan = FAN_LOW; //低风速 + 3c68: a262 st.b r3, (r2, 0x2) + break; + default: + break; + } + + switch(RecData[10]) // + 3c6a: 846a ld.b r3, (r4, 0xa) + 3c6c: 3b41 cmpnei r3, 1 + 3c6e: 0c16 bf 0x3c9a // 3c9a + 3c70: 3b40 cmpnei r3, 0 + 3c72: 0c0e bf 0x3c8e // 3c8e + 3c74: 3b42 cmpnei r3, 2 + 3c76: 0c18 bf 0x3ca6 // 3ca6 + break; + default: + break; + } + + Rs485AskCtrlSend(RecData); + 3c78: 6c13 mov r0, r4 + 3c7a: e3ffff6d bsr 0x3b54 // 3b54 + return 0x00; + 3c7e: 3000 movi r0, 0 + } + + } + + return 0x01; +} + 3c80: 1491 pop r4, r15 + TempCtrl.TemState_Now.fan = FAN_MID; //中风速 + 3c82: 1052 lrw r2, 0x20000420 // 3cc8 + 3c84: 8262 ld.b r3, (r2, 0x2) + 3c86: 310e movi r1, 14 + 3c88: 68c5 andn r3, r1 + 3c8a: 3ba1 bseti r3, 1 + 3c8c: 07ee br 0x3c68 // 3c68 + TempCtrl.TemState_Now.mode = MODEL_COLD; //制冷 + 3c8e: 104f lrw r2, 0x20000420 // 3cc8 + 3c90: 8262 ld.b r3, (r2, 0x2) + 3c92: 3170 movi r1, 112 + 3c94: 68c5 andn r3, r1 + TempCtrl.TemState_Now.mode = MODEL_WIND; //送风 + 3c96: a262 st.b r3, (r2, 0x2) + break; + 3c98: 07f0 br 0x3c78 // 3c78 + TempCtrl.TemState_Now.mode = MODEL_HOT; //制热 + 3c9a: 104c lrw r2, 0x20000420 // 3cc8 + 3c9c: 8262 ld.b r3, (r2, 0x2) + 3c9e: 3170 movi r1, 112 + 3ca0: 68c5 andn r3, r1 + 3ca2: 3ba5 bseti r3, 5 + 3ca4: 07f9 br 0x3c96 // 3c96 + TempCtrl.TemState_Now.mode = MODEL_WIND; //送风 + 3ca6: 1049 lrw r2, 0x20000420 // 3cc8 + 3ca8: 8262 ld.b r3, (r2, 0x2) + 3caa: 3170 movi r1, 112 + 3cac: 68c5 andn r3, r1 + 3cae: 3ba6 bseti r3, 6 + 3cb0: 07f3 br 0x3c96 // 3c96 + return 0x02; + 3cb2: 3002 movi r0, 2 + 3cb4: 07e6 br 0x3c80 // 3c80 + return 0x03; + 3cb6: 3003 movi r0, 3 + 3cb8: 07e4 br 0x3c80 // 3c80 + return 0x04; + 3cba: 3004 movi r0, 4 + 3cbc: 07e2 br 0x3c80 // 3c80 + return 0x01; + 3cbe: 3001 movi r0, 1 + 3cc0: 07e0 br 0x3c80 // 3c80 + 3cc2: 0000 bkpt + 3cc4: 20000448 .long 0x20000448 + 3cc8: 20000420 .long 0x20000420 + +Disassembly of section .text.DIP_GetSwitchState: + +00003ccc : + + /*进入设置界面 - 先决条件*/ + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Addr:%d",g_Dip.DIP_val); +} + +U8_T DIP_GetSwitchState(U8_T i){ + 3ccc: 14d0 push r15 + U8_T val = 0; + + switch (i) + 3cce: 3841 cmpnei r0, 1 + 3cd0: 0c0d bf 0x3cea // 3cea + 3cd2: 3840 cmpnei r0, 0 + 3cd4: 0c05 bf 0x3cde // 3cde + 3cd6: 3842 cmpnei r0, 2 + 3cd8: 0c0d bf 0x3cf2 // 3cf2 + U8_T val = 0; + 3cda: 3000 movi r0, 0 + 3cdc: 0406 br 0x3ce8 // 3ce8 + { + case DIP_CH1: + val = GPIO_Read_Status(GPIOB0,2); + 3cde: 1068 lrw r3, 0x20000048 // 3cfc + 3ce0: 3102 movi r1, 2 + 3ce2: 9300 ld.w r0, (r3, 0x0) + break; + case DIP_CH2: + val = GPIO_Read_Status(GPIOB0,1); + break; + case DIP_CH3: + val = GPIO_Read_Status(GPIOB0,0); + 3ce4: e3fff1ff bsr 0x20e2 // 20e2 + break; + } + return val; +} + 3ce8: 1490 pop r15 + val = GPIO_Read_Status(GPIOB0,1); + 3cea: 1065 lrw r3, 0x20000048 // 3cfc + 3cec: 3101 movi r1, 1 + 3cee: 9300 ld.w r0, (r3, 0x0) + 3cf0: 07fa br 0x3ce4 // 3ce4 + val = GPIO_Read_Status(GPIOB0,0); + 3cf2: 1063 lrw r3, 0x20000048 // 3cfc + 3cf4: 3100 movi r1, 0 + 3cf6: 9300 ld.w r0, (r3, 0x0) + 3cf8: 07f6 br 0x3ce4 // 3ce4 + 3cfa: 0000 bkpt + 3cfc: 20000048 .long 0x20000048 + +Disassembly of section .text.DIP_Switch_Init: + +00003d00 : +void DIP_Switch_Init(void){ + 3d00: 14d2 push r4-r5, r15 + GPIO_Init(GPIOB0,0,Intput); + 3d02: 1180 lrw r4, 0x20000048 // 3d80 + 3d04: 3201 movi r2, 1 + 3d06: 9400 ld.w r0, (r4, 0x0) + 3d08: 3100 movi r1, 0 + 3d0a: e3fff09b bsr 0x1e40 // 1e40 + GPIO_Init(GPIOB0,1,Intput); + 3d0e: 9400 ld.w r0, (r4, 0x0) + 3d10: 3201 movi r2, 1 + 3d12: 3101 movi r1, 1 + 3d14: e3fff096 bsr 0x1e40 // 1e40 + GPIO_Init(GPIOB0,2,Intput); + 3d18: 3201 movi r2, 1 + 3d1a: 9400 ld.w r0, (r4, 0x0) + 3d1c: 3102 movi r1, 2 + 3d1e: e3fff091 bsr 0x1e40 // 1e40 + GPIO_PullHigh_Init(GPIOB0,0); + 3d22: 9400 ld.w r0, (r4, 0x0) + 3d24: 3100 movi r1, 0 + 3d26: e3fff0fd bsr 0x1f20 // 1f20 + GPIO_PullHigh_Init(GPIOB0,1); + 3d2a: 9400 ld.w r0, (r4, 0x0) + 3d2c: 3101 movi r1, 1 + 3d2e: e3fff0f9 bsr 0x1f20 // 1f20 + GPIO_PullHigh_Init(GPIOB0,2); + 3d32: 9400 ld.w r0, (r4, 0x0) + 3d34: 3102 movi r1, 2 + 3d36: e3fff0f5 bsr 0x1f20 // 1f20 + memset(&g_Dip,0,sizeof(DIP_t)); + 3d3a: 3210 movi r2, 16 + 3d3c: 3100 movi r1, 0 + 3d3e: 1012 lrw r0, 0x20000448 // 3d84 + 3d40: e3ffee12 bsr 0x1964 // 1964 <__memset_fast> + delay_nms(20); + 3d44: 3014 movi r0, 20 + 3d46: e3fff349 bsr 0x23d8 // 23d8 + 3d4a: 3400 movi r4, 0 + g_Dip.DIP_val |= DIP_VAL_ON << i; + 3d4c: 10ae lrw r5, 0x20000448 // 3d84 + if(DIP_GetSwitchState(i) == DIP_PRESS){ + 3d4e: 7410 zextb r0, r4 + 3d50: e3ffffbe bsr 0x3ccc // 3ccc + 3d54: 3840 cmpnei r0, 0 + 3d56: 0807 bt 0x3d64 // 3d64 + g_Dip.DIP_val |= DIP_VAL_ON << i; + 3d58: 3301 movi r3, 1 + 3d5a: 70d0 lsl r3, r4 + 3d5c: 6c8f mov r2, r3 + 3d5e: 9562 ld.w r3, (r5, 0x8) + 3d60: 6cc8 or r3, r2 + 3d62: b562 st.w r3, (r5, 0x8) + 3d64: 2400 addi r4, 1 + for (U8_T i = 0; i < DIP_CHN_MAX; i++) { + 3d66: 3c43 cmpnei r4, 3 + 3d68: 0bf3 bt 0x3d4e // 3d4e + g_Dip.DIP_last_val = g_Dip.DIP_val; + 3d6a: 1067 lrw r3, 0x20000448 // 3d84 + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + 3d6c: 3107 movi r1, 7 + g_Dip.DIP_last_val = g_Dip.DIP_val; + 3d6e: 9342 ld.w r2, (r3, 0x8) + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + 3d70: 6848 and r1, r2 + 3d72: a326 st.b r1, (r3, 0x6) + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Addr:%d",g_Dip.DIP_val); + 3d74: 3000 movi r0, 0 + 3d76: 1025 lrw r1, 0x5755 // 3d88 + g_Dip.DIP_last_val = g_Dip.DIP_val; + 3d78: b343 st.w r2, (r3, 0xc) + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Addr:%d",g_Dip.DIP_val); + 3d7a: e3fffc4f bsr 0x3618 // 3618 +} + 3d7e: 1492 pop r4-r5, r15 + 3d80: 20000048 .long 0x20000048 + 3d84: 20000448 .long 0x20000448 + 3d88: 00005755 .long 0x00005755 + +Disassembly of section .text.DIP_ScanTask: + +00003d8c : + +void DIP_ScanTask(void) +{ + 3d8c: 14d3 push r4-r6, r15 + static U32_T update_20ms = 0; + + if (SysTick_1ms - update_20ms > DIP_SCAN_Time) + 3d8e: 1122 lrw r1, 0x200000b8 // 3e14 + 3d90: 1142 lrw r2, 0x2000014c // 3e18 + 3d92: 11a3 lrw r5, 0x20000448 // 3e1c + 3d94: 9200 ld.w r0, (r2, 0x0) + 3d96: 9160 ld.w r3, (r1, 0x0) + 3d98: 60c2 subu r3, r0 + 3d9a: 3b14 cmphsi r3, 21 + 3d9c: 0806 bt 0x3da8 // 3da8 + } + } + } + } + + if(g_Dip.DIP_val != g_Dip.DIP_last_val) + 3d9e: 9542 ld.w r2, (r5, 0x8) + 3da0: 9563 ld.w r3, (r5, 0xc) + 3da2: 64ca cmpne r2, r3 + 3da4: 082e bt 0x3e00 // 3e00 + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Change Addr:%d",g_Dip.DIP_addr); + } + +} + 3da6: 1493 pop r4-r6, r15 + update_20ms = SysTick_1ms; + 3da8: 9160 ld.w r3, (r1, 0x0) + 3daa: b260 st.w r3, (r2, 0x0) + 3dac: 6d17 mov r4, r5 + 3dae: 3600 movi r6, 0 + if (DIP_GetSwitchState(i) == DIP_PRESS) + 3db0: 7418 zextb r0, r6 + 3db2: e3ffff8d bsr 0x3ccc // 3ccc + 3db6: 3840 cmpnei r0, 0 + g_Dip.delayCnt_OFF[i] = 0; + 3db8: 3300 movi r3, 0 + if (DIP_GetSwitchState(i) == DIP_PRESS) + 3dba: 0814 bt 0x3de2 // 3de2 + g_Dip.delayCnt_OFF[i] = 0; + 3dbc: a463 st.b r3, (r4, 0x3) + if (g_Dip.delayCnt_ON[i] < DIP_DELAY_COUNT) + 3dbe: 8460 ld.b r3, (r4, 0x0) + 3dc0: 3b04 cmphsi r3, 5 + 3dc2: 0808 bt 0x3dd2 // 3dd2 + g_Dip.delayCnt_ON[i]++; + 3dc4: 2300 addi r3, 1 + g_Dip.delayCnt_ON[i] = 0; + 3dc6: a460 st.b r3, (r4, 0x0) + 3dc8: 2600 addi r6, 1 + for (U8_T i = 0; i < DIP_CHN_MAX; i++) + 3dca: 3e43 cmpnei r6, 3 + 3dcc: 2400 addi r4, 1 + 3dce: 0bf1 bt 0x3db0 // 3db0 + 3dd0: 07e7 br 0x3d9e // 3d9e + g_Dip.DIP_val |= (DIP_VAL_ON << i); + 3dd2: 3301 movi r3, 1 + 3dd4: 70d8 lsl r3, r6 + 3dd6: 6c8f mov r2, r3 + 3dd8: 9562 ld.w r3, (r5, 0x8) + 3dda: 6cc8 or r3, r2 + 3ddc: b562 st.w r3, (r5, 0x8) + g_Dip.delayCnt_ON[i] = 0; + 3dde: 3300 movi r3, 0 + 3de0: 07f3 br 0x3dc6 // 3dc6 + g_Dip.delayCnt_ON[i] = 0; + 3de2: a460 st.b r3, (r4, 0x0) + if (g_Dip.delayCnt_OFF[i] < DIP_DELAY_COUNT) + 3de4: 8463 ld.b r3, (r4, 0x3) + 3de6: 3b04 cmphsi r3, 5 + 3de8: 0804 bt 0x3df0 // 3df0 + g_Dip.delayCnt_OFF[i]++; + 3dea: 2300 addi r3, 1 + g_Dip.delayCnt_OFF[i] = 0; + 3dec: a463 st.b r3, (r4, 0x3) + 3dee: 07ed br 0x3dc8 // 3dc8 + g_Dip.DIP_val &= ~(DIP_VAL_ON << i); + 3df0: 3300 movi r3, 0 + 3df2: 2b01 subi r3, 2 + 3df4: 9542 ld.w r2, (r5, 0x8) + 3df6: 70db rotl r3, r6 + 3df8: 68c8 and r3, r2 + 3dfa: b562 st.w r3, (r5, 0x8) + g_Dip.delayCnt_OFF[i] = 0; + 3dfc: 3300 movi r3, 0 + 3dfe: 07f7 br 0x3dec // 3dec + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + 3e00: 3307 movi r3, 7 + g_Dip.DIP_last_val = g_Dip.DIP_val; + 3e02: b543 st.w r2, (r5, 0xc) + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Change Addr:%d",g_Dip.DIP_addr); + 3e04: 3000 movi r0, 0 + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + 3e06: 688c and r2, r3 + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Change Addr:%d",g_Dip.DIP_addr); + 3e08: 1026 lrw r1, 0x5761 // 3e20 + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + 3e0a: a546 st.b r2, (r5, 0x6) + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Change Addr:%d",g_Dip.DIP_addr); + 3e0c: e3fffc06 bsr 0x3618 // 3618 +} + 3e10: 07cb br 0x3da6 // 3da6 + 3e12: 0000 bkpt + 3e14: 200000b8 .long 0x200000b8 + 3e18: 2000014c .long 0x2000014c + 3e1c: 20000448 .long 0x20000448 + 3e20: 00005761 .long 0x00005761 + +Disassembly of section .text.TK_Single_Longpress_prg: + +00003e24 : + 3e24: 14c2 push r4-r5 + 3e26: 117d lrw r3, 0x200005fc // 3f18 + 3e28: 115d lrw r2, 0x20000568 // 3f1c + 3e2a: 9360 ld.w r3, (r3, 0x0) + 3e2c: 3b40 cmpnei r3, 0 + 3e2e: 0840 bt 0x3eae // 3eae + 3e30: 113c lrw r1, 0x20000068 // 3f20 + 3e32: 8962 ld.h r3, (r1, 0x4) + 3e34: 74cd zexth r3, r3 + 3e36: 3b40 cmpnei r3, 0 + 3e38: 0c3b bf 0x3eae // 3eae + 3e3a: 117b lrw r3, 0x200004fc // 3f24 + 3e3c: 9360 ld.w r3, (r3, 0x0) + 3e3e: 3b40 cmpnei r3, 0 + 3e40: 117a lrw r3, 0x200006b2 // 3f28 + 3e42: 0c0e bf 0x3e5e // 3e5e + 3e44: 8300 ld.b r0, (r3, 0x0) + 3e46: 2000 addi r0, 1 + 3e48: 7400 zextb r0, r0 + 3e4a: a300 st.b r0, (r3, 0x0) + 3e4c: 8380 ld.b r4, (r3, 0x0) + 3e4e: 8902 ld.h r0, (r1, 0x4) + 3e50: 7401 zexth r0, r0 + 3e52: 3564 movi r5, 100 + 3e54: 7c14 mult r0, r5 + 3e56: 6501 cmplt r0, r4 + 3e58: 0c05 bf 0x3e62 // 3e62 + 3e5a: 3001 movi r0, 1 + 3e5c: a200 st.b r0, (r2, 0x0) + 3e5e: 3000 movi r0, 0 + 3e60: a300 st.b r0, (r3, 0x0) + 3e62: 1113 lrw r0, 0x20000490 // 3f2c + 3e64: 9000 ld.w r0, (r0, 0x0) + 3e66: 3840 cmpnei r0, 0 + 3e68: 0c0e bf 0x3e84 // 3e84 + 3e6a: 8301 ld.b r0, (r3, 0x1) + 3e6c: 2000 addi r0, 1 + 3e6e: 7400 zextb r0, r0 + 3e70: a301 st.b r0, (r3, 0x1) + 3e72: 8381 ld.b r4, (r3, 0x1) + 3e74: 8902 ld.h r0, (r1, 0x4) + 3e76: 7401 zexth r0, r0 + 3e78: 3564 movi r5, 100 + 3e7a: 7c14 mult r0, r5 + 3e7c: 6501 cmplt r0, r4 + 3e7e: 0c05 bf 0x3e88 // 3e88 + 3e80: 3001 movi r0, 1 + 3e82: a201 st.b r0, (r2, 0x1) + 3e84: 3000 movi r0, 0 + 3e86: a301 st.b r0, (r3, 0x1) + 3e88: 110a lrw r0, 0x20000574 // 3f30 + 3e8a: 9000 ld.w r0, (r0, 0x0) + 3e8c: 3840 cmpnei r0, 0 + 3e8e: 0c0e bf 0x3eaa // 3eaa + 3e90: 8302 ld.b r0, (r3, 0x2) + 3e92: 2000 addi r0, 1 + 3e94: 7400 zextb r0, r0 + 3e96: a302 st.b r0, (r3, 0x2) + 3e98: 8302 ld.b r0, (r3, 0x2) + 3e9a: 8922 ld.h r1, (r1, 0x4) + 3e9c: 7445 zexth r1, r1 + 3e9e: 3464 movi r4, 100 + 3ea0: 7c50 mult r1, r4 + 3ea2: 6405 cmplt r1, r0 + 3ea4: 0c05 bf 0x3eae // 3eae + 3ea6: 3101 movi r1, 1 + 3ea8: a222 st.b r1, (r2, 0x2) + 3eaa: 3100 movi r1, 0 + 3eac: a322 st.b r1, (r3, 0x2) + 3eae: 8260 ld.b r3, (r2, 0x0) + 3eb0: 3b41 cmpnei r3, 1 + 3eb2: 080f bt 0x3ed0 // 3ed0 + 3eb4: 3300 movi r3, 0 + 3eb6: 11a0 lrw r5, 0x200007ae // 3f34 + 3eb8: 1180 lrw r4, 0x2000045c // 3f38 + 3eba: 4321 lsli r1, r3, 1 + 3ebc: 5d04 addu r0, r5, r1 + 3ebe: 8800 ld.h r0, (r0, 0x0) + 3ec0: 2300 addi r3, 1 + 3ec2: 7401 zexth r0, r0 + 3ec4: 6050 addu r1, r4 + 3ec6: 3b51 cmpnei r3, 17 + 3ec8: a900 st.h r0, (r1, 0x0) + 3eca: 0bf8 bt 0x3eba // 3eba + 3ecc: 3300 movi r3, 0 + 3ece: a260 st.b r3, (r2, 0x0) + 3ed0: 8261 ld.b r3, (r2, 0x1) + 3ed2: 3b41 cmpnei r3, 1 + 3ed4: 080f bt 0x3ef2 // 3ef2 + 3ed6: 3300 movi r3, 0 + 3ed8: 10b9 lrw r5, 0x20000544 // 3f3c + 3eda: 109a lrw r4, 0x20000606 // 3f40 + 3edc: 4321 lsli r1, r3, 1 + 3ede: 5d04 addu r0, r5, r1 + 3ee0: 8800 ld.h r0, (r0, 0x0) + 3ee2: 2300 addi r3, 1 + 3ee4: 7401 zexth r0, r0 + 3ee6: 6050 addu r1, r4 + 3ee8: 3b51 cmpnei r3, 17 + 3eea: a900 st.h r0, (r1, 0x0) + 3eec: 0bf8 bt 0x3edc // 3edc + 3eee: 3300 movi r3, 0 + 3ef0: a261 st.b r3, (r2, 0x1) + 3ef2: 8262 ld.b r3, (r2, 0x2) + 3ef4: 3b41 cmpnei r3, 1 + 3ef6: 080f bt 0x3f14 // 3f14 + 3ef8: 3300 movi r3, 0 + 3efa: 10b3 lrw r5, 0x2000063a // 3f44 + 3efc: 1093 lrw r4, 0x2000071c // 3f48 + 3efe: 4321 lsli r1, r3, 1 + 3f00: 5d04 addu r0, r5, r1 + 3f02: 8800 ld.h r0, (r0, 0x0) + 3f04: 2300 addi r3, 1 + 3f06: 7401 zexth r0, r0 + 3f08: 6050 addu r1, r4 + 3f0a: 3b51 cmpnei r3, 17 + 3f0c: a900 st.h r0, (r1, 0x0) + 3f0e: 0bf8 bt 0x3efe // 3efe + 3f10: 3300 movi r3, 0 + 3f12: a262 st.b r3, (r2, 0x2) + 3f14: 1482 pop r4-r5 + 3f16: 0000 bkpt + 3f18: 200005fc .long 0x200005fc + 3f1c: 20000568 .long 0x20000568 + 3f20: 20000068 .long 0x20000068 + 3f24: 200004fc .long 0x200004fc + 3f28: 200006b2 .long 0x200006b2 + 3f2c: 20000490 .long 0x20000490 + 3f30: 20000574 .long 0x20000574 + 3f34: 200007ae .long 0x200007ae + 3f38: 2000045c .long 0x2000045c + 3f3c: 20000544 .long 0x20000544 + 3f40: 20000606 .long 0x20000606 + 3f44: 2000063a .long 0x2000063a + 3f48: 2000071c .long 0x2000071c + +Disassembly of section .text.TK_Sampling_prog: + +00003f4c : + 3f4c: 14c4 push r4-r7 + 3f4e: 1423 subi r14, r14, 12 + 3f50: 1169 lrw r3, 0x20000054 // 3ff4 + 3f52: 114a lrw r2, 0x20000719 // 3ff8 + 3f54: 6d0b mov r4, r2 + 3f56: 9320 ld.w r1, (r3, 0x0) + 3f58: b840 st.w r2, (r14, 0x0) + 3f5a: 3300 movi r3, 0 + 3f5c: 11a8 lrw r5, 0x200007ae // 3ffc + 3f5e: 9840 ld.w r2, (r14, 0x0) + 3f60: 8240 ld.b r2, (r2, 0x0) + 3f62: 3a41 cmpnei r2, 1 + 3f64: 0808 bt 0x3f74 // 3f74 + 3f66: 4342 lsli r2, r3, 2 + 3f68: 6084 addu r2, r1 + 3f6a: 9200 ld.w r0, (r2, 0x0) + 3f6c: 4341 lsli r2, r3, 1 + 3f6e: 7401 zexth r0, r0 + 3f70: 6094 addu r2, r5 + 3f72: aa00 st.h r0, (r2, 0x0) + 3f74: 8440 ld.b r2, (r4, 0x0) + 3f76: 3a42 cmpnei r2, 2 + 3f78: 0809 bt 0x3f8a // 3f8a + 3f7a: 4342 lsli r2, r3, 2 + 3f7c: 6084 addu r2, r1 + 3f7e: 9200 ld.w r0, (r2, 0x0) + 3f80: 4341 lsli r2, r3, 1 + 3f82: 11c0 lrw r6, 0x20000544 // 4000 + 3f84: 7401 zexth r0, r0 + 3f86: 6098 addu r2, r6 + 3f88: aa00 st.h r0, (r2, 0x0) + 3f8a: 8440 ld.b r2, (r4, 0x0) + 3f8c: 3a40 cmpnei r2, 0 + 3f8e: 0809 bt 0x3fa0 // 3fa0 + 3f90: 4342 lsli r2, r3, 2 + 3f92: 6084 addu r2, r1 + 3f94: 9200 ld.w r0, (r2, 0x0) + 3f96: 4341 lsli r2, r3, 1 + 3f98: 10db lrw r6, 0x2000063a // 4004 + 3f9a: 7401 zexth r0, r0 + 3f9c: 6098 addu r2, r6 + 3f9e: aa00 st.h r0, (r2, 0x0) + 3fa0: 10da lrw r6, 0x200005a1 // 4008 + 3fa2: 8640 ld.b r2, (r6, 0x0) + 3fa4: 3a41 cmpnei r2, 1 + 3fa6: 0821 bt 0x3fe8 // 3fe8 + 3fa8: 1079 lrw r3, 0x2000045c // 400c + 3faa: 3200 movi r2, 0 + 3fac: b861 st.w r3, (r14, 0x4) + 3fae: 1075 lrw r3, 0x20000544 // 4000 + 3fb0: b862 st.w r3, (r14, 0x8) + 3fb2: 4261 lsli r3, r2, 1 + 3fb4: 5d0c addu r0, r5, r3 + 3fb6: 8800 ld.h r0, (r0, 0x0) + 3fb8: 98e1 ld.w r7, (r14, 0x4) + 3fba: 61cc addu r7, r3 + 3fbc: 7401 zexth r0, r0 + 3fbe: af00 st.h r0, (r7, 0x0) + 3fc0: 9802 ld.w r0, (r14, 0x8) + 3fc2: 600c addu r0, r3 + 3fc4: 8800 ld.h r0, (r0, 0x0) + 3fc6: 10f3 lrw r7, 0x20000606 // 4010 + 3fc8: 61cc addu r7, r3 + 3fca: 7401 zexth r0, r0 + 3fcc: af00 st.h r0, (r7, 0x0) + 3fce: 2200 addi r2, 1 + 3fd0: 100d lrw r0, 0x2000063a // 4004 + 3fd2: 600c addu r0, r3 + 3fd4: 8800 ld.h r0, (r0, 0x0) + 3fd6: 10f0 lrw r7, 0x2000071c // 4014 + 3fd8: 7401 zexth r0, r0 + 3fda: 60dc addu r3, r7 + 3fdc: 3a51 cmpnei r2, 17 + 3fde: ab00 st.h r0, (r3, 0x0) + 3fe0: 0be9 bt 0x3fb2 // 3fb2 + 3fe2: 3300 movi r3, 0 + 3fe4: a660 st.b r3, (r6, 0x0) + 3fe6: 3311 movi r3, 17 + 3fe8: 2300 addi r3, 1 + 3fea: 74cc zextb r3, r3 + 3fec: 3b10 cmphsi r3, 17 + 3fee: 0fb8 bf 0x3f5e // 3f5e + 3ff0: 1403 addi r14, r14, 12 + 3ff2: 1484 pop r4-r7 + 3ff4: 20000054 .long 0x20000054 + 3ff8: 20000719 .long 0x20000719 + 3ffc: 200007ae .long 0x200007ae + 4000: 20000544 .long 0x20000544 + 4004: 2000063a .long 0x2000063a + 4008: 200005a1 .long 0x200005a1 + 400c: 2000045c .long 0x2000045c + 4010: 20000606 .long 0x20000606 + 4014: 2000071c .long 0x2000071c + +Disassembly of section .text.get_key_number: + +00004018 : + 4018: 14c2 push r4-r5 + 401a: 3200 movi r2, 0 + 401c: 3000 movi r0, 0 + 401e: 1088 lrw r4, 0x200005fc // 403c + 4020: 3501 movi r5, 1 + 4022: 3120 movi r1, 32 + 4024: 9460 ld.w r3, (r4, 0x0) + 4026: 70c9 lsr r3, r2 + 4028: 68d4 and r3, r5 + 402a: 3b40 cmpnei r3, 0 + 402c: 0c02 bf 0x4030 // 4030 + 402e: 2000 addi r0, 1 + 4030: 2200 addi r2, 1 + 4032: 644a cmpne r2, r1 + 4034: 0bf8 bt 0x4024 // 4024 + 4036: 7400 zextb r0, r0 + 4038: 1482 pop r4-r5 + 403a: 0000 bkpt + 403c: 200005fc .long 0x200005fc + +Disassembly of section .text.get_key_number0: + +00004040 : + 4040: 14c2 push r4-r5 + 4042: 3200 movi r2, 0 + 4044: 3000 movi r0, 0 + 4046: 1088 lrw r4, 0x200004fc // 4064 + 4048: 3501 movi r5, 1 + 404a: 3120 movi r1, 32 + 404c: 9460 ld.w r3, (r4, 0x0) + 404e: 70c9 lsr r3, r2 + 4050: 68d4 and r3, r5 + 4052: 3b40 cmpnei r3, 0 + 4054: 0c02 bf 0x4058 // 4058 + 4056: 2000 addi r0, 1 + 4058: 2200 addi r2, 1 + 405a: 644a cmpne r2, r1 + 405c: 0bf8 bt 0x404c // 404c + 405e: 7400 zextb r0, r0 + 4060: 1482 pop r4-r5 + 4062: 0000 bkpt + 4064: 200004fc .long 0x200004fc + +Disassembly of section .text.get_key_number1: + +00004068 : + 4068: 14c2 push r4-r5 + 406a: 3200 movi r2, 0 + 406c: 3000 movi r0, 0 + 406e: 1088 lrw r4, 0x20000490 // 408c + 4070: 3501 movi r5, 1 + 4072: 3120 movi r1, 32 + 4074: 9460 ld.w r3, (r4, 0x0) + 4076: 70c9 lsr r3, r2 + 4078: 68d4 and r3, r5 + 407a: 3b40 cmpnei r3, 0 + 407c: 0c02 bf 0x4080 // 4080 + 407e: 2000 addi r0, 1 + 4080: 2200 addi r2, 1 + 4082: 644a cmpne r2, r1 + 4084: 0bf8 bt 0x4074 // 4074 + 4086: 7400 zextb r0, r0 + 4088: 1482 pop r4-r5 + 408a: 0000 bkpt + 408c: 20000490 .long 0x20000490 + +Disassembly of section .text.get_key_number2: + +00004090 : + 4090: 14c2 push r4-r5 + 4092: 3200 movi r2, 0 + 4094: 3000 movi r0, 0 + 4096: 1088 lrw r4, 0x20000574 // 40b4 + 4098: 3501 movi r5, 1 + 409a: 3120 movi r1, 32 + 409c: 9460 ld.w r3, (r4, 0x0) + 409e: 70c9 lsr r3, r2 + 40a0: 68d4 and r3, r5 + 40a2: 3b40 cmpnei r3, 0 + 40a4: 0c02 bf 0x40a8 // 40a8 + 40a6: 2000 addi r0, 1 + 40a8: 2200 addi r2, 1 + 40aa: 644a cmpne r2, r1 + 40ac: 0bf8 bt 0x409c // 409c + 40ae: 7400 zextb r0, r0 + 40b0: 1482 pop r4-r5 + 40b2: 0000 bkpt + 40b4: 20000574 .long 0x20000574 + +Disassembly of section .text.TK_Scan_Start: + +000040b8 : + 40b8: 1073 lrw r3, 0x20000068 // 4104 + 40ba: 1054 lrw r2, 0x20000719 // 4108 + 40bc: 8302 ld.b r0, (r3, 0x2) + 40be: 8220 ld.b r1, (r2, 0x0) + 40c0: 6442 cmpne r0, r1 + 40c2: 0c16 bf 0x40ee // 40ee + 40c4: 8220 ld.b r1, (r2, 0x0) + 40c6: 7444 zextb r1, r1 + 40c8: 3941 cmpnei r1, 1 + 40ca: 0c18 bf 0x40fa // 40fa + 40cc: 3940 cmpnei r1, 0 + 40ce: 0c11 bf 0x40f0 // 40f0 + 40d0: 3942 cmpnei r1, 2 + 40d2: 0c16 bf 0x40fe // 40fe + 40d4: 8240 ld.b r2, (r2, 0x0) + 40d6: 7488 zextb r2, r2 + 40d8: a342 st.b r2, (r3, 0x2) + 40da: 8341 ld.b r2, (r3, 0x1) + 40dc: 7488 zextb r2, r2 + 40de: 3a41 cmpnei r2, 1 + 40e0: 0807 bt 0x40ee // 40ee + 40e2: 102b lrw r1, 0x20000058 // 410c + 40e4: 9120 ld.w r1, (r1, 0x0) + 40e6: b142 st.w r2, (r1, 0x8) + 40e8: 3200 movi r2, 0 + 40ea: a340 st.b r2, (r3, 0x0) + 40ec: a341 st.b r2, (r3, 0x1) + 40ee: 783c jmp r15 + 40f0: 1028 lrw r1, 0x200007d0 // 4110 + 40f2: 9100 ld.w r0, (r1, 0x0) + 40f4: 1028 lrw r1, 0x40011200 // 4114 + 40f6: b110 st.w r0, (r1, 0x40) + 40f8: 07ee br 0x40d4 // 40d4 + 40fa: 1028 lrw r1, 0x20000540 // 4118 + 40fc: 07fb br 0x40f2 // 40f2 + 40fe: 1028 lrw r1, 0x20000570 // 411c + 4100: 07f9 br 0x40f2 // 40f2 + 4102: 0000 bkpt + 4104: 20000068 .long 0x20000068 + 4108: 20000719 .long 0x20000719 + 410c: 20000058 .long 0x20000058 + 4110: 200007d0 .long 0x200007d0 + 4114: 40011200 .long 0x40011200 + 4118: 20000540 .long 0x20000540 + 411c: 20000570 .long 0x20000570 + +Disassembly of section .text.TK_Keymap_prog: + +00004120 : + 4120: 14d4 push r4-r7, r15 + 4122: 142a subi r14, r14, 40 + 4124: 0171 lrw r3, 0x20000180 // 445c + 4126: 8360 ld.b r3, (r3, 0x0) + 4128: b860 st.w r3, (r14, 0x0) + 412a: 3400 movi r4, 0 + 412c: 0172 lrw r3, 0x20000154 // 4460 + 412e: 8360 ld.b r3, (r3, 0x0) + 4130: b863 st.w r3, (r14, 0xc) + 4132: 0172 lrw r3, 0x2000015d // 4464 + 4134: 83a0 ld.b r5, (r3, 0x0) + 4136: 0172 lrw r3, 0x2000015c // 4468 + 4138: 8360 ld.b r3, (r3, 0x0) + 413a: b866 st.w r3, (r14, 0x18) + 413c: 0173 lrw r3, 0x200007ae // 446c + 413e: b868 st.w r3, (r14, 0x20) + 4140: 0173 lrw r3, 0x2000051c // 4470 + 4142: b864 st.w r3, (r14, 0x10) + 4144: b869 st.w r3, (r14, 0x24) + 4146: 4461 lsli r3, r4, 1 + 4148: 9848 ld.w r2, (r14, 0x20) + 414a: 608c addu r2, r3 + 414c: 0135 lrw r1, 0x2000045c // 4474 + 414e: 604c addu r1, r3 + 4150: 8a40 ld.h r2, (r2, 0x0) + 4152: 8920 ld.h r1, (r1, 0x0) + 4154: 6086 subu r2, r1 + 4156: 9829 ld.w r1, (r14, 0x24) + 4158: 604c addu r1, r3 + 415a: 748b sexth r2, r2 + 415c: a940 st.h r2, (r1, 0x0) + 415e: 0118 lrw r0, 0x20000606 // 4478 + 4160: 0158 lrw r2, 0x20000544 // 447c + 4162: 608c addu r2, r3 + 4164: 600c addu r0, r3 + 4166: 8a40 ld.h r2, (r2, 0x0) + 4168: 8800 ld.h r0, (r0, 0x0) + 416a: 6082 subu r2, r0 + 416c: 01da lrw r6, 0x2000065c // 4480 + 416e: 5e0c addu r0, r6, r3 + 4170: 748b sexth r2, r2 + 4172: a840 st.h r2, (r0, 0x0) + 4174: b8c1 st.w r6, (r14, 0x4) + 4176: 015b lrw r2, 0x2000063a // 4484 + 4178: 011b lrw r0, 0x2000071c // 4488 + 417a: 608c addu r2, r3 + 417c: 600c addu r0, r3 + 417e: 8a40 ld.h r2, (r2, 0x0) + 4180: 8800 ld.h r0, (r0, 0x0) + 4182: 6082 subu r2, r0 + 4184: 011d lrw r0, 0x20000788 // 448c + 4186: 748b sexth r2, r2 + 4188: 58ec addu r7, r0, r3 + 418a: af40 st.h r2, (r7, 0x0) + 418c: 8940 ld.h r2, (r1, 0x0) + 418e: 748b sexth r2, r2 + 4190: 3adf btsti r2, 31 + 4192: 015f lrw r2, 0x20000766 // 4490 + 4194: 60c8 addu r3, r2 + 4196: b802 st.w r0, (r14, 0x8) + 4198: 0c49 bf 0x422a // 422a + 419a: 3200 movi r2, 0 + 419c: ab40 st.h r2, (r3, 0x0) + 419e: 9821 ld.w r1, (r14, 0x4) + 41a0: 4461 lsli r3, r4, 1 + 41a2: 604c addu r1, r3 + 41a4: 8940 ld.h r2, (r1, 0x0) + 41a6: 748b sexth r2, r2 + 41a8: 3adf btsti r2, 31 + 41aa: 0244 lrw r2, 0x200004c4 // 4494 + 41ac: 60c8 addu r3, r2 + 41ae: 0c41 bf 0x4230 // 4230 + 41b0: 3200 movi r2, 0 + 41b2: ab40 st.h r2, (r3, 0x0) + 41b4: 9822 ld.w r1, (r14, 0x8) + 41b6: 4461 lsli r3, r4, 1 + 41b8: 604c addu r1, r3 + 41ba: 8940 ld.h r2, (r1, 0x0) + 41bc: 748b sexth r2, r2 + 41be: 3adf btsti r2, 31 + 41c0: 0249 lrw r2, 0x20000498 // 4498 + 41c2: 60c8 addu r3, r2 + 41c4: 0c39 bf 0x4236 // 4236 + 41c6: 3200 movi r2, 0 + 41c8: ab40 st.h r2, (r3, 0x0) + 41ca: 9860 ld.w r3, (r14, 0x0) + 41cc: 3b03 cmphsi r3, 4 + 41ce: 4421 lsli r1, r4, 1 + 41d0: 0cb5 bf 0x433a // 433a + 41d2: 9864 ld.w r3, (r14, 0x10) + 41d4: 60c4 addu r3, r1 + 41d6: 024d lrw r2, 0x200001ae // 449c + 41d8: 6048 addu r1, r2 + 41da: 8b00 ld.h r0, (r3, 0x0) + 41dc: 8940 ld.h r2, (r1, 0x0) + 41de: 7403 sexth r0, r0 + 41e0: 6409 cmplt r2, r0 + 41e2: 9820 ld.w r1, (r14, 0x0) + 41e4: 7c84 mult r2, r1 + 41e6: 0c9b bf 0x431c // 431c + 41e8: 8b20 ld.h r1, (r3, 0x0) + 41ea: 7447 sexth r1, r1 + 41ec: 6485 cmplt r1, r2 + 41ee: 0c97 bf 0x431c // 431c + 41f0: 0233 lrw r1, 0x20000509 // 44a0 + 41f2: 6050 addu r1, r4 + 41f4: 8140 ld.b r2, (r1, 0x0) + 41f6: 2200 addi r2, 1 + 41f8: 7488 zextb r2, r2 + 41fa: a140 st.b r2, (r1, 0x0) + 41fc: 3000 movi r0, 0 + 41fe: 0255 lrw r2, 0x200004e8 // 44a4 + 4200: 6090 addu r2, r4 + 4202: a200 st.b r0, (r2, 0x0) + 4204: 0256 lrw r2, 0x20000628 // 44a8 + 4206: 6090 addu r2, r4 + 4208: a200 st.b r0, (r2, 0x0) + 420a: 0256 lrw r2, 0x200006c0 // 44ac + 420c: 6090 addu r2, r4 + 420e: a200 st.b r0, (r2, 0x0) + 4210: 8140 ld.b r2, (r1, 0x0) + 4212: 9803 ld.w r0, (r14, 0xc) + 4214: 6480 cmphs r0, r2 + 4216: 081d bt 0x4250 // 4250 + 4218: 3d40 cmpnei r5, 0 + 421a: 0811 bt 0x423c // 423c + 421c: 025a lrw r2, 0x200004fc // 44b0 + 421e: 9260 ld.w r3, (r2, 0x0) + 4220: 3b40 cmpnei r3, 0 + 4222: 0815 bt 0x424c // 424c + 4224: 9200 ld.w r0, (r2, 0x0) + 4226: 3301 movi r3, 1 + 4228: 040f br 0x4246 // 4246 + 422a: 8940 ld.h r2, (r1, 0x0) + 422c: 7489 zexth r2, r2 + 422e: 07b7 br 0x419c // 419c + 4230: 8940 ld.h r2, (r1, 0x0) + 4232: 7489 zexth r2, r2 + 4234: 07bf br 0x41b2 // 41b2 + 4236: 8940 ld.h r2, (r1, 0x0) + 4238: 7489 zexth r2, r2 + 423a: 07c7 br 0x41c8 // 41c8 + 423c: 3d41 cmpnei r5, 1 + 423e: 085c bt 0x42f6 // 42f6 + 4240: 0343 lrw r2, 0x200004fc // 44b0 + 4242: 6cd7 mov r3, r5 + 4244: 9200 ld.w r0, (r2, 0x0) + 4246: 70d0 lsl r3, r4 + 4248: 6cc0 or r3, r0 + 424a: b260 st.w r3, (r2, 0x0) + 424c: 3300 movi r3, 0 + 424e: a160 st.b r3, (r1, 0x0) + 4250: 4461 lsli r3, r4, 1 + 4252: 9844 ld.w r2, (r14, 0x10) + 4254: 608c addu r2, r3 + 4256: 8ac0 ld.h r6, (r2, 0x0) + 4258: 034e lrw r2, 0x200001ae // 449c + 425a: 60c8 addu r3, r2 + 425c: 8be0 ld.h r7, (r3, 0x0) + 425e: 4702 lsli r0, r7, 2 + 4260: 3105 movi r1, 5 + 4262: e3fff69d bsr 0x2f9c // 2f9c <__divsi3> + 4266: 759b sexth r6, r6 + 4268: 6419 cmplt r6, r0 + 426a: b805 st.w r0, (r14, 0x14) + 426c: 0c18 bf 0x429c // 429c + 426e: 0351 lrw r2, 0x200004e8 // 44a4 + 4270: 6090 addu r2, r4 + 4272: 8260 ld.b r3, (r2, 0x0) + 4274: 2300 addi r3, 1 + 4276: 74cc zextb r3, r3 + 4278: a260 st.b r3, (r2, 0x0) + 427a: 3100 movi r1, 0 + 427c: 0376 lrw r3, 0x20000509 // 44a0 + 427e: 60d0 addu r3, r4 + 4280: a320 st.b r1, (r3, 0x0) + 4282: 8260 ld.b r3, (r2, 0x0) + 4284: 9826 ld.w r1, (r14, 0x18) + 4286: 64c4 cmphs r1, r3 + 4288: 080a bt 0x429c // 429c + 428a: 3300 movi r3, 0 + 428c: 0336 lrw r1, 0x200004fc // 44b0 + 428e: 2b01 subi r3, 2 + 4290: 9100 ld.w r0, (r1, 0x0) + 4292: 70d3 rotl r3, r4 + 4294: 68c0 and r3, r0 + 4296: b160 st.w r3, (r1, 0x0) + 4298: 3300 movi r3, 0 + 429a: a260 st.b r3, (r2, 0x0) + 429c: 9860 ld.w r3, (r14, 0x0) + 429e: 9841 ld.w r2, (r14, 0x4) + 42a0: 3b03 cmphsi r3, 4 + 42a2: 4461 lsli r3, r4, 1 + 42a4: 60c8 addu r3, r2 + 42a6: 8b40 ld.h r2, (r3, 0x0) + 42a8: 748b sexth r2, r2 + 42aa: 0d4d bf 0x4544 // 4544 + 42ac: 649d cmplt r7, r2 + 42ae: 0d3a bf 0x4522 // 4522 + 42b0: 8b40 ld.h r2, (r3, 0x0) + 42b2: 9820 ld.w r1, (r14, 0x0) + 42b4: 748b sexth r2, r2 + 42b6: 7c5c mult r1, r7 + 42b8: 6449 cmplt r2, r1 + 42ba: 0d34 bf 0x4522 // 4522 + 42bc: 133e lrw r1, 0x200006dc // 44b4 + 42be: 6050 addu r1, r4 + 42c0: 8140 ld.b r2, (r1, 0x0) + 42c2: 2200 addi r2, 1 + 42c4: 7488 zextb r2, r2 + 42c6: a140 st.b r2, (r1, 0x0) + 42c8: 3000 movi r0, 0 + 42ca: 135c lrw r2, 0x20000578 // 44b8 + 42cc: 6090 addu r2, r4 + 42ce: a200 st.b r0, (r2, 0x0) + 42d0: 135b lrw r2, 0x200005a2 // 44bc + 42d2: 6090 addu r2, r4 + 42d4: a200 st.b r0, (r2, 0x0) + 42d6: 135b lrw r2, 0x200006a0 // 44c0 + 42d8: 6090 addu r2, r4 + 42da: a200 st.b r0, (r2, 0x0) + 42dc: 8140 ld.b r2, (r1, 0x0) + 42de: 9803 ld.w r0, (r14, 0xc) + 42e0: 6480 cmphs r0, r2 + 42e2: 087d bt 0x43dc // 43dc + 42e4: 3d40 cmpnei r5, 0 + 42e6: 0871 bt 0x43c8 // 43c8 + 42e8: 1357 lrw r2, 0x20000490 // 44c4 + 42ea: 9260 ld.w r3, (r2, 0x0) + 42ec: 3b40 cmpnei r3, 0 + 42ee: 0875 bt 0x43d8 // 43d8 + 42f0: 9200 ld.w r0, (r2, 0x0) + 42f2: 3301 movi r3, 1 + 42f4: 046f br 0x43d2 // 43d2 + 42f6: 3d42 cmpnei r5, 2 + 42f8: 0c03 bf 0x42fe // 42fe + 42fa: e8000201 br 0x46fc // 46fc + 42fe: 13d3 lrw r6, 0x200006b6 // 44c8 + 4300: 8b00 ld.h r0, (r3, 0x0) + 4302: 8e40 ld.h r2, (r6, 0x0) + 4304: 7489 zexth r2, r2 + 4306: 7403 sexth r0, r0 + 4308: 2209 addi r2, 10 + 430a: 6409 cmplt r2, r0 + 430c: 0fa0 bf 0x424c // 424c + 430e: 8b60 ld.h r3, (r3, 0x0) + 4310: 74cd zexth r3, r3 + 4312: ae60 st.h r3, (r6, 0x0) + 4314: 3300 movi r3, 0 + 4316: 1347 lrw r2, 0x200004fc // 44b0 + 4318: b260 st.w r3, (r2, 0x0) + 431a: 0785 br 0x4224 // 4224 + 431c: 4461 lsli r3, r4, 1 + 431e: 9824 ld.w r1, (r14, 0x10) + 4320: 60c4 addu r3, r1 + 4322: 8b60 ld.h r3, (r3, 0x0) + 4324: 74cf sexth r3, r3 + 4326: 64c9 cmplt r2, r3 + 4328: 0f94 bf 0x4250 // 4250 + 432a: 3300 movi r3, 0 + 432c: 1341 lrw r2, 0x200004fc // 44b0 + 432e: 2b01 subi r3, 2 + 4330: 9220 ld.w r1, (r2, 0x0) + 4332: 70d3 rotl r3, r4 + 4334: 68c4 and r3, r1 + 4336: b260 st.w r3, (r2, 0x0) + 4338: 078c br 0x4250 // 4250 + 433a: 9844 ld.w r2, (r14, 0x10) + 433c: 6084 addu r2, r1 + 433e: 1218 lrw r0, 0x200001ae // 449c + 4340: 8a60 ld.h r3, (r2, 0x0) + 4342: 6040 addu r1, r0 + 4344: 74cf sexth r3, r3 + 4346: 8920 ld.h r1, (r1, 0x0) + 4348: 64c5 cmplt r1, r3 + 434a: 0f83 bf 0x4250 // 4250 + 434c: 1360 lrw r3, 0x2000051a // 44cc + 434e: 8360 ld.b r3, (r3, 0x0) + 4350: 74cc zextb r3, r3 + 4352: 3b40 cmpnei r3, 0 + 4354: 0b7e bt 0x4250 // 4250 + 4356: 1213 lrw r0, 0x20000509 // 44a0 + 4358: 6010 addu r0, r4 + 435a: 8020 ld.b r1, (r0, 0x0) + 435c: 2100 addi r1, 1 + 435e: 7444 zextb r1, r1 + 4360: a020 st.b r1, (r0, 0x0) + 4362: 3600 movi r6, 0 + 4364: 1230 lrw r1, 0x200004e8 // 44a4 + 4366: 6050 addu r1, r4 + 4368: a1c0 st.b r6, (r1, 0x0) + 436a: 1230 lrw r1, 0x20000628 // 44a8 + 436c: 6050 addu r1, r4 + 436e: a1c0 st.b r6, (r1, 0x0) + 4370: 122f lrw r1, 0x200006c0 // 44ac + 4372: 6050 addu r1, r4 + 4374: a1c0 st.b r6, (r1, 0x0) + 4376: 8020 ld.b r1, (r0, 0x0) + 4378: 98c3 ld.w r6, (r14, 0xc) + 437a: 6458 cmphs r6, r1 + 437c: 0b6a bt 0x4250 // 4250 + 437e: 3d40 cmpnei r5, 0 + 4380: 0808 bt 0x4390 // 4390 + 4382: 124c lrw r2, 0x200004fc // 44b0 + 4384: 9260 ld.w r3, (r2, 0x0) + 4386: 3b40 cmpnei r3, 0 + 4388: 080c bt 0x43a0 // 43a0 + 438a: 9220 ld.w r1, (r2, 0x0) + 438c: 3301 movi r3, 1 + 438e: 0406 br 0x439a // 439a + 4390: 3d41 cmpnei r5, 1 + 4392: 080a bt 0x43a6 // 43a6 + 4394: 1247 lrw r2, 0x200004fc // 44b0 + 4396: 6cd7 mov r3, r5 + 4398: 9220 ld.w r1, (r2, 0x0) + 439a: 70d0 lsl r3, r4 + 439c: 6cc4 or r3, r1 + 439e: b260 st.w r3, (r2, 0x0) + 43a0: 3300 movi r3, 0 + 43a2: a060 st.b r3, (r0, 0x0) + 43a4: 0756 br 0x4250 // 4250 + 43a6: 3d42 cmpnei r5, 2 + 43a8: 0c02 bf 0x43ac // 43ac + 43aa: 05dc br 0x4762 // 4762 + 43ac: 12e7 lrw r7, 0x200006b6 // 44c8 + 43ae: 8ac0 ld.h r6, (r2, 0x0) + 43b0: 8f20 ld.h r1, (r7, 0x0) + 43b2: 7445 zexth r1, r1 + 43b4: 759b sexth r6, r6 + 43b6: 2109 addi r1, 10 + 43b8: 6585 cmplt r1, r6 + 43ba: 0ff3 bf 0x43a0 // 43a0 + 43bc: 8a40 ld.h r2, (r2, 0x0) + 43be: 7489 zexth r2, r2 + 43c0: af40 st.h r2, (r7, 0x0) + 43c2: 115c lrw r2, 0x200004fc // 44b0 + 43c4: b260 st.w r3, (r2, 0x0) + 43c6: 07e2 br 0x438a // 438a + 43c8: 3d41 cmpnei r5, 1 + 43ca: 089b bt 0x4500 // 4500 + 43cc: 115e lrw r2, 0x20000490 // 44c4 + 43ce: 6cd7 mov r3, r5 + 43d0: 9200 ld.w r0, (r2, 0x0) + 43d2: 70d0 lsl r3, r4 + 43d4: 6cc0 or r3, r0 + 43d6: b260 st.w r3, (r2, 0x0) + 43d8: 3300 movi r3, 0 + 43da: a160 st.b r3, (r1, 0x0) + 43dc: 4461 lsli r3, r4, 1 + 43de: 9841 ld.w r2, (r14, 0x4) + 43e0: 608c addu r2, r3 + 43e2: 8a60 ld.h r3, (r2, 0x0) + 43e4: 74cf sexth r3, r3 + 43e6: 9845 ld.w r2, (r14, 0x14) + 43e8: 648d cmplt r3, r2 + 43ea: 0c18 bf 0x441a // 441a + 43ec: 1153 lrw r2, 0x20000578 // 44b8 + 43ee: 6090 addu r2, r4 + 43f0: 8260 ld.b r3, (r2, 0x0) + 43f2: 2300 addi r3, 1 + 43f4: 74cc zextb r3, r3 + 43f6: a260 st.b r3, (r2, 0x0) + 43f8: 3100 movi r1, 0 + 43fa: 116f lrw r3, 0x200006dc // 44b4 + 43fc: 60d0 addu r3, r4 + 43fe: a320 st.b r1, (r3, 0x0) + 4400: 8260 ld.b r3, (r2, 0x0) + 4402: 9826 ld.w r1, (r14, 0x18) + 4404: 64c4 cmphs r1, r3 + 4406: 080a bt 0x441a // 441a + 4408: 3300 movi r3, 0 + 440a: 112f lrw r1, 0x20000490 // 44c4 + 440c: 2b01 subi r3, 2 + 440e: 9100 ld.w r0, (r1, 0x0) + 4410: 70d3 rotl r3, r4 + 4412: 68c0 and r3, r0 + 4414: b160 st.w r3, (r1, 0x0) + 4416: 3300 movi r3, 0 + 4418: a260 st.b r3, (r2, 0x0) + 441a: 9860 ld.w r3, (r14, 0x0) + 441c: 9842 ld.w r2, (r14, 0x8) + 441e: 3b03 cmphsi r3, 4 + 4420: 4461 lsli r3, r4, 1 + 4422: 60c8 addu r3, r2 + 4424: 8b40 ld.h r2, (r3, 0x0) + 4426: 748b sexth r2, r2 + 4428: 0d26 bf 0x4674 // 4674 + 442a: 9820 ld.w r1, (r14, 0x0) + 442c: 649d cmplt r7, r2 + 442e: 7c5c mult r1, r7 + 4430: 0d13 bf 0x4656 // 4656 + 4432: 8b40 ld.h r2, (r3, 0x0) + 4434: 748b sexth r2, r2 + 4436: 6449 cmplt r2, r1 + 4438: 0d0f bf 0x4656 // 4656 + 443a: 1126 lrw r1, 0x20000684 // 44d0 + 443c: 6050 addu r1, r4 + 443e: 8140 ld.b r2, (r1, 0x0) + 4440: 2200 addi r2, 1 + 4442: 7488 zextb r2, r2 + 4444: a140 st.b r2, (r1, 0x0) + 4446: 3000 movi r0, 0 + 4448: 1143 lrw r2, 0x200006f2 // 44d4 + 444a: 6090 addu r2, r4 + 444c: a200 st.b r0, (r2, 0x0) + 444e: 1143 lrw r2, 0x2000047e // 44d8 + 4450: 6090 addu r2, r4 + 4452: a200 st.b r0, (r2, 0x0) + 4454: 1142 lrw r2, 0x20000590 // 44dc + 4456: 6090 addu r2, r4 + 4458: a200 st.b r0, (r2, 0x0) + 445a: 0443 br 0x44e0 // 44e0 + 445c: 20000180 .long 0x20000180 + 4460: 20000154 .long 0x20000154 + 4464: 2000015d .long 0x2000015d + 4468: 2000015c .long 0x2000015c + 446c: 200007ae .long 0x200007ae + 4470: 2000051c .long 0x2000051c + 4474: 2000045c .long 0x2000045c + 4478: 20000606 .long 0x20000606 + 447c: 20000544 .long 0x20000544 + 4480: 2000065c .long 0x2000065c + 4484: 2000063a .long 0x2000063a + 4488: 2000071c .long 0x2000071c + 448c: 20000788 .long 0x20000788 + 4490: 20000766 .long 0x20000766 + 4494: 200004c4 .long 0x200004c4 + 4498: 20000498 .long 0x20000498 + 449c: 200001ae .long 0x200001ae + 44a0: 20000509 .long 0x20000509 + 44a4: 200004e8 .long 0x200004e8 + 44a8: 20000628 .long 0x20000628 + 44ac: 200006c0 .long 0x200006c0 + 44b0: 200004fc .long 0x200004fc + 44b4: 200006dc .long 0x200006dc + 44b8: 20000578 .long 0x20000578 + 44bc: 200005a2 .long 0x200005a2 + 44c0: 200006a0 .long 0x200006a0 + 44c4: 20000490 .long 0x20000490 + 44c8: 200006b6 .long 0x200006b6 + 44cc: 2000051a .long 0x2000051a + 44d0: 20000684 .long 0x20000684 + 44d4: 200006f2 .long 0x200006f2 + 44d8: 2000047e .long 0x2000047e + 44dc: 20000590 .long 0x20000590 + 44e0: 8140 ld.b r2, (r1, 0x0) + 44e2: 9803 ld.w r0, (r14, 0xc) + 44e4: 6480 cmphs r0, r2 + 44e6: 0881 bt 0x45e8 // 45e8 + 44e8: 3d40 cmpnei r5, 0 + 44ea: 0874 bt 0x45d2 // 45d2 + 44ec: 014b lrw r2, 0x20000574 // 483c + 44ee: 9260 ld.w r3, (r2, 0x0) + 44f0: 3b40 cmpnei r3, 0 + 44f2: 0879 bt 0x45e4 // 45e4 + 44f4: 3301 movi r3, 1 + 44f6: 9200 ld.w r0, (r2, 0x0) + 44f8: 70d0 lsl r3, r4 + 44fa: 6cc0 or r3, r0 + 44fc: b260 st.w r3, (r2, 0x0) + 44fe: 0473 br 0x45e4 // 45e4 + 4500: 3d42 cmpnei r5, 2 + 4502: 0960 bt 0x47c2 // 47c2 + 4504: 01d0 lrw r6, 0x200007ac // 4840 + 4506: 8b00 ld.h r0, (r3, 0x0) + 4508: 8e40 ld.h r2, (r6, 0x0) + 450a: 7489 zexth r2, r2 + 450c: 7403 sexth r0, r0 + 450e: 2209 addi r2, 10 + 4510: 6409 cmplt r2, r0 + 4512: 0f63 bf 0x43d8 // 43d8 + 4514: 8b60 ld.h r3, (r3, 0x0) + 4516: 74cd zexth r3, r3 + 4518: ae60 st.h r3, (r6, 0x0) + 451a: 3300 movi r3, 0 + 451c: 0155 lrw r2, 0x20000490 // 4844 + 451e: b260 st.w r3, (r2, 0x0) + 4520: 06e8 br 0x42f0 // 42f0 + 4522: 9841 ld.w r2, (r14, 0x4) + 4524: 4461 lsli r3, r4, 1 + 4526: 60c8 addu r3, r2 + 4528: 8b60 ld.h r3, (r3, 0x0) + 452a: 9840 ld.w r2, (r14, 0x0) + 452c: 74cf sexth r3, r3 + 452e: 7c9c mult r2, r7 + 4530: 64c9 cmplt r2, r3 + 4532: 0f55 bf 0x43dc // 43dc + 4534: 3300 movi r3, 0 + 4536: 015b lrw r2, 0x20000490 // 4844 + 4538: 2b01 subi r3, 2 + 453a: 9220 ld.w r1, (r2, 0x0) + 453c: 70d3 rotl r3, r4 + 453e: 68c4 and r3, r1 + 4540: b260 st.w r3, (r2, 0x0) + 4542: 074d br 0x43dc // 43dc + 4544: 649d cmplt r7, r2 + 4546: 0f4b bf 0x43dc // 43dc + 4548: 015f lrw r2, 0x2000051a // 4848 + 454a: 8240 ld.b r2, (r2, 0x0) + 454c: 7488 zextb r2, r2 + 454e: 3a40 cmpnei r2, 0 + 4550: b847 st.w r2, (r14, 0x1c) + 4552: 0b45 bt 0x43dc // 43dc + 4554: 0201 lrw r0, 0x200006dc // 484c + 4556: 6010 addu r0, r4 + 4558: 8020 ld.b r1, (r0, 0x0) + 455a: 2100 addi r1, 1 + 455c: 7444 zextb r1, r1 + 455e: a020 st.b r1, (r0, 0x0) + 4560: 3600 movi r6, 0 + 4562: 0223 lrw r1, 0x20000578 // 4850 + 4564: 6050 addu r1, r4 + 4566: a1c0 st.b r6, (r1, 0x0) + 4568: 0224 lrw r1, 0x200005a2 // 4854 + 456a: 6050 addu r1, r4 + 456c: a1c0 st.b r6, (r1, 0x0) + 456e: 0224 lrw r1, 0x200006a0 // 4858 + 4570: 6050 addu r1, r4 + 4572: a1c0 st.b r6, (r1, 0x0) + 4574: 8020 ld.b r1, (r0, 0x0) + 4576: 98c3 ld.w r6, (r14, 0xc) + 4578: 6458 cmphs r6, r1 + 457a: 0b31 bt 0x43dc // 43dc + 457c: 3d40 cmpnei r5, 0 + 457e: 0808 bt 0x458e // 458e + 4580: 024e lrw r2, 0x20000490 // 4844 + 4582: 9260 ld.w r3, (r2, 0x0) + 4584: 3b40 cmpnei r3, 0 + 4586: 0823 bt 0x45cc // 45cc + 4588: 9220 ld.w r1, (r2, 0x0) + 458a: 3301 movi r3, 1 + 458c: 0406 br 0x4598 // 4598 + 458e: 3d41 cmpnei r5, 1 + 4590: 0808 bt 0x45a0 // 45a0 + 4592: 0252 lrw r2, 0x20000490 // 4844 + 4594: 6cd7 mov r3, r5 + 4596: 9220 ld.w r1, (r2, 0x0) + 4598: 70d0 lsl r3, r4 + 459a: 6cc4 or r3, r1 + 459c: b260 st.w r3, (r2, 0x0) + 459e: 0417 br 0x45cc // 45cc + 45a0: 3d42 cmpnei r5, 2 + 45a2: 0942 bt 0x4826 // 4826 + 45a4: 8bc0 ld.h r6, (r3, 0x0) + 45a6: 745b sexth r1, r6 + 45a8: 02d9 lrw r6, 0x200007ac // 4840 + 45aa: 6c87 mov r2, r1 + 45ac: 8e20 ld.h r1, (r6, 0x0) + 45ae: 7445 zexth r1, r1 + 45b0: 2109 addi r1, 10 + 45b2: 6485 cmplt r1, r2 + 45b4: 0c0c bf 0x45cc // 45cc + 45b6: 8b60 ld.h r3, (r3, 0x0) + 45b8: 74cd zexth r3, r3 + 45ba: ae60 st.h r3, (r6, 0x0) + 45bc: 9867 ld.w r3, (r14, 0x1c) + 45be: 023d lrw r1, 0x20000490 // 4844 + 45c0: b160 st.w r3, (r1, 0x0) + 45c2: 3301 movi r3, 1 + 45c4: 9140 ld.w r2, (r1, 0x0) + 45c6: 70d0 lsl r3, r4 + 45c8: 6cc8 or r3, r2 + 45ca: b160 st.w r3, (r1, 0x0) + 45cc: 3300 movi r3, 0 + 45ce: a060 st.b r3, (r0, 0x0) + 45d0: 0706 br 0x43dc // 43dc + 45d2: 3d41 cmpnei r5, 1 + 45d4: 0830 bt 0x4634 // 4634 + 45d6: 0345 lrw r2, 0x20000574 // 483c + 45d8: 6cd7 mov r3, r5 + 45da: 9200 ld.w r0, (r2, 0x0) + 45dc: 70d0 lsl r3, r4 + 45de: 6cc0 or r3, r0 + 45e0: b260 st.w r3, (r2, 0x0) + 45e2: 6c03 mov r0, r0 + 45e4: 3300 movi r3, 0 + 45e6: a160 st.b r3, (r1, 0x0) + 45e8: 4461 lsli r3, r4, 1 + 45ea: 9842 ld.w r2, (r14, 0x8) + 45ec: 608c addu r2, r3 + 45ee: 8a60 ld.h r3, (r2, 0x0) + 45f0: 74cf sexth r3, r3 + 45f2: 9845 ld.w r2, (r14, 0x14) + 45f4: 648d cmplt r3, r2 + 45f6: 0c18 bf 0x4626 // 4626 + 45f8: 0346 lrw r2, 0x200006f2 // 485c + 45fa: 6090 addu r2, r4 + 45fc: 8260 ld.b r3, (r2, 0x0) + 45fe: 2300 addi r3, 1 + 4600: 74cc zextb r3, r3 + 4602: a260 st.b r3, (r2, 0x0) + 4604: 3100 movi r1, 0 + 4606: 0368 lrw r3, 0x20000684 // 4860 + 4608: 60d0 addu r3, r4 + 460a: a320 st.b r1, (r3, 0x0) + 460c: 8260 ld.b r3, (r2, 0x0) + 460e: 9826 ld.w r1, (r14, 0x18) + 4610: 64c4 cmphs r1, r3 + 4612: 080a bt 0x4626 // 4626 + 4614: 3300 movi r3, 0 + 4616: 0335 lrw r1, 0x20000574 // 483c + 4618: 2b01 subi r3, 2 + 461a: 9100 ld.w r0, (r1, 0x0) + 461c: 70d3 rotl r3, r4 + 461e: 68c0 and r3, r0 + 4620: b160 st.w r3, (r1, 0x0) + 4622: 3300 movi r3, 0 + 4624: a260 st.b r3, (r2, 0x0) + 4626: 2400 addi r4, 1 + 4628: 3c51 cmpnei r4, 17 + 462a: 0c03 bf 0x4630 // 4630 + 462c: e800fd8d br 0x4146 // 4146 + 4630: 140a addi r14, r14, 40 + 4632: 1494 pop r4-r7, r15 + 4634: 3d42 cmpnei r5, 2 + 4636: 0948 bt 0x48c6 // 48c6 + 4638: 03d4 lrw r6, 0x2000053e // 4864 + 463a: 8b00 ld.h r0, (r3, 0x0) + 463c: 8e40 ld.h r2, (r6, 0x0) + 463e: 7489 zexth r2, r2 + 4640: 7403 sexth r0, r0 + 4642: 2209 addi r2, 10 + 4644: 6409 cmplt r2, r0 + 4646: 0fcf bf 0x45e4 // 45e4 + 4648: 8b60 ld.h r3, (r3, 0x0) + 464a: 74cd zexth r3, r3 + 464c: ae60 st.h r3, (r6, 0x0) + 464e: 3300 movi r3, 0 + 4650: 135b lrw r2, 0x20000574 // 483c + 4652: b260 st.w r3, (r2, 0x0) + 4654: 0750 br 0x44f4 // 44f4 + 4656: 4461 lsli r3, r4, 1 + 4658: 9842 ld.w r2, (r14, 0x8) + 465a: 60c8 addu r3, r2 + 465c: 8b60 ld.h r3, (r3, 0x0) + 465e: 74cf sexth r3, r3 + 4660: 64c5 cmplt r1, r3 + 4662: 0fc3 bf 0x45e8 // 45e8 + 4664: 3300 movi r3, 0 + 4666: 1356 lrw r2, 0x20000574 // 483c + 4668: 2b01 subi r3, 2 + 466a: 9220 ld.w r1, (r2, 0x0) + 466c: 70d3 rotl r3, r4 + 466e: 68c4 and r3, r1 + 4670: b260 st.w r3, (r2, 0x0) + 4672: 07bb br 0x45e8 // 45e8 + 4674: 649d cmplt r7, r2 + 4676: 0fb9 bf 0x45e8 // 45e8 + 4678: 1354 lrw r2, 0x2000051a // 4848 + 467a: 8240 ld.b r2, (r2, 0x0) + 467c: 7488 zextb r2, r2 + 467e: 3a40 cmpnei r2, 0 + 4680: 0bb4 bt 0x45e8 // 45e8 + 4682: 1318 lrw r0, 0x20000684 // 4860 + 4684: 6010 addu r0, r4 + 4686: 8020 ld.b r1, (r0, 0x0) + 4688: 2100 addi r1, 1 + 468a: 7444 zextb r1, r1 + 468c: a020 st.b r1, (r0, 0x0) + 468e: 3600 movi r6, 0 + 4690: 1333 lrw r1, 0x200006f2 // 485c + 4692: 6050 addu r1, r4 + 4694: a1c0 st.b r6, (r1, 0x0) + 4696: 1335 lrw r1, 0x2000047e // 4868 + 4698: 6050 addu r1, r4 + 469a: a1c0 st.b r6, (r1, 0x0) + 469c: 1334 lrw r1, 0x20000590 // 486c + 469e: 6050 addu r1, r4 + 46a0: a1c0 st.b r6, (r1, 0x0) + 46a2: 8020 ld.b r1, (r0, 0x0) + 46a4: 98c3 ld.w r6, (r14, 0xc) + 46a6: 6458 cmphs r6, r1 + 46a8: 0ba0 bt 0x45e8 // 45e8 + 46aa: 3d40 cmpnei r5, 0 + 46ac: 0808 bt 0x46bc // 46bc + 46ae: 1344 lrw r2, 0x20000574 // 483c + 46b0: 9260 ld.w r3, (r2, 0x0) + 46b2: 3b40 cmpnei r3, 0 + 46b4: 0821 bt 0x46f6 // 46f6 + 46b6: 9220 ld.w r1, (r2, 0x0) + 46b8: 3301 movi r3, 1 + 46ba: 0406 br 0x46c6 // 46c6 + 46bc: 3d41 cmpnei r5, 1 + 46be: 0808 bt 0x46ce // 46ce + 46c0: 125f lrw r2, 0x20000574 // 483c + 46c2: 6cd7 mov r3, r5 + 46c4: 9220 ld.w r1, (r2, 0x0) + 46c6: 70d0 lsl r3, r4 + 46c8: 6cc4 or r3, r1 + 46ca: b260 st.w r3, (r2, 0x0) + 46cc: 0415 br 0x46f6 // 46f6 + 46ce: 3d42 cmpnei r5, 2 + 46d0: 092a bt 0x4924 // 4924 + 46d2: 13e5 lrw r7, 0x2000053e // 4864 + 46d4: 8bc0 ld.h r6, (r3, 0x0) + 46d6: 8f20 ld.h r1, (r7, 0x0) + 46d8: 7445 zexth r1, r1 + 46da: 759b sexth r6, r6 + 46dc: 2109 addi r1, 10 + 46de: 6585 cmplt r1, r6 + 46e0: 0c0b bf 0x46f6 // 46f6 + 46e2: 8b60 ld.h r3, (r3, 0x0) + 46e4: 1236 lrw r1, 0x20000574 // 483c + 46e6: 74cd zexth r3, r3 + 46e8: af60 st.h r3, (r7, 0x0) + 46ea: b140 st.w r2, (r1, 0x0) + 46ec: 3301 movi r3, 1 + 46ee: 9140 ld.w r2, (r1, 0x0) + 46f0: 70d0 lsl r3, r4 + 46f2: 6cc8 or r3, r2 + 46f4: b160 st.w r3, (r1, 0x0) + 46f6: 3300 movi r3, 0 + 46f8: a060 st.b r3, (r0, 0x0) + 46fa: 0777 br 0x45e8 // 45e8 + 46fc: 3d43 cmpnei r5, 3 + 46fe: 0c03 bf 0x4704 // 4704 + 4700: e800fda6 br 0x424c // 424c + 4704: 125b lrw r2, 0x200006b6 // 4870 + 4706: 8bc0 ld.h r6, (r3, 0x0) + 4708: 8a00 ld.h r0, (r2, 0x0) + 470a: 7401 zexth r0, r0 + 470c: 759b sexth r6, r6 + 470e: 2009 addi r0, 10 + 4710: 6581 cmplt r0, r6 + 4712: 0c0c bf 0x472a // 472a + 4714: 8b60 ld.h r3, (r3, 0x0) + 4716: 74cd zexth r3, r3 + 4718: aa60 st.h r3, (r2, 0x0) + 471a: 3300 movi r3, 0 + 471c: 1216 lrw r0, 0x200004fc // 4874 + 471e: b060 st.w r3, (r0, 0x0) + 4720: 3301 movi r3, 1 + 4722: 90c0 ld.w r6, (r0, 0x0) + 4724: 70d0 lsl r3, r4 + 4726: 6cd8 or r3, r6 + 4728: b060 st.w r3, (r0, 0x0) + 472a: 9804 ld.w r0, (r14, 0x10) + 472c: 4461 lsli r3, r4, 1 + 472e: 60c0 addu r3, r0 + 4730: 8b00 ld.h r0, (r3, 0x0) + 4732: 8a40 ld.h r2, (r2, 0x0) + 4734: 7489 zexth r2, r2 + 4736: 7403 sexth r0, r0 + 4738: 2a04 subi r2, 5 + 473a: 6481 cmplt r0, r2 + 473c: 0803 bt 0x4742 // 4742 + 473e: e800fd87 br 0x424c // 424c + 4742: 12ce lrw r6, 0x200004c0 // 4878 + 4744: 8b00 ld.h r0, (r3, 0x0) + 4746: 8e40 ld.h r2, (r6, 0x0) + 4748: 7489 zexth r2, r2 + 474a: 7403 sexth r0, r0 + 474c: 2204 addi r2, 5 + 474e: 6409 cmplt r2, r0 + 4750: 0803 bt 0x4756 // 4756 + 4752: e800fd7d br 0x424c // 424c + 4756: 8b60 ld.h r3, (r3, 0x0) + 4758: 74cd zexth r3, r3 + 475a: ae60 st.h r3, (r6, 0x0) + 475c: 1246 lrw r2, 0x200004fc // 4874 + 475e: e800fd63 br 0x4224 // 4224 + 4762: 3d43 cmpnei r5, 3 + 4764: 0c02 bf 0x4768 // 4768 + 4766: 061d br 0x43a0 // 43a0 + 4768: 12c2 lrw r6, 0x200006b6 // 4870 + 476a: 8ae0 ld.h r7, (r2, 0x0) + 476c: 8e20 ld.h r1, (r6, 0x0) + 476e: 7445 zexth r1, r1 + 4770: 75df sexth r7, r7 + 4772: 2109 addi r1, 10 + 4774: 65c5 cmplt r1, r7 + 4776: 0c0b bf 0x478c // 478c + 4778: 8a40 ld.h r2, (r2, 0x0) + 477a: 7489 zexth r2, r2 + 477c: ae40 st.h r2, (r6, 0x0) + 477e: 115e lrw r2, 0x200004fc // 4874 + 4780: b260 st.w r3, (r2, 0x0) + 4782: 3301 movi r3, 1 + 4784: 9220 ld.w r1, (r2, 0x0) + 4786: 70d0 lsl r3, r4 + 4788: 6cc4 or r3, r1 + 478a: b260 st.w r3, (r2, 0x0) + 478c: 9844 ld.w r2, (r14, 0x10) + 478e: 4461 lsli r3, r4, 1 + 4790: 60c8 addu r3, r2 + 4792: 8b40 ld.h r2, (r3, 0x0) + 4794: 8e20 ld.h r1, (r6, 0x0) + 4796: 7445 zexth r1, r1 + 4798: 748b sexth r2, r2 + 479a: 2904 subi r1, 5 + 479c: 6449 cmplt r2, r1 + 479e: 0802 bt 0x47a2 // 47a2 + 47a0: 0600 br 0x43a0 // 43a0 + 47a2: 11d6 lrw r6, 0x200004c0 // 4878 + 47a4: 8b20 ld.h r1, (r3, 0x0) + 47a6: 8e40 ld.h r2, (r6, 0x0) + 47a8: 7489 zexth r2, r2 + 47aa: 7447 sexth r1, r1 + 47ac: 2204 addi r2, 5 + 47ae: 6449 cmplt r2, r1 + 47b0: 0803 bt 0x47b6 // 47b6 + 47b2: e800fdf7 br 0x43a0 // 43a0 + 47b6: 8b60 ld.h r3, (r3, 0x0) + 47b8: 74cd zexth r3, r3 + 47ba: ae60 st.h r3, (r6, 0x0) + 47bc: 114e lrw r2, 0x200004fc // 4874 + 47be: e800fde6 br 0x438a // 438a + 47c2: 3d43 cmpnei r5, 3 + 47c4: 0c02 bf 0x47c8 // 47c8 + 47c6: 0609 br 0x43d8 // 43d8 + 47c8: 105e lrw r2, 0x200007ac // 4840 + 47ca: 8bc0 ld.h r6, (r3, 0x0) + 47cc: 8a00 ld.h r0, (r2, 0x0) + 47ce: 7401 zexth r0, r0 + 47d0: 759b sexth r6, r6 + 47d2: 2009 addi r0, 10 + 47d4: 6581 cmplt r0, r6 + 47d6: 0c0c bf 0x47ee // 47ee + 47d8: 8b60 ld.h r3, (r3, 0x0) + 47da: 74cd zexth r3, r3 + 47dc: aa60 st.h r3, (r2, 0x0) + 47de: 3300 movi r3, 0 + 47e0: 1019 lrw r0, 0x20000490 // 4844 + 47e2: b060 st.w r3, (r0, 0x0) + 47e4: 3301 movi r3, 1 + 47e6: 90c0 ld.w r6, (r0, 0x0) + 47e8: 70d0 lsl r3, r4 + 47ea: 6cd8 or r3, r6 + 47ec: b060 st.w r3, (r0, 0x0) + 47ee: 9801 ld.w r0, (r14, 0x4) + 47f0: 4461 lsli r3, r4, 1 + 47f2: 60c0 addu r3, r0 + 47f4: 8b00 ld.h r0, (r3, 0x0) + 47f6: 8a40 ld.h r2, (r2, 0x0) + 47f8: 7489 zexth r2, r2 + 47fa: 7403 sexth r0, r0 + 47fc: 2a04 subi r2, 5 + 47fe: 6481 cmplt r0, r2 + 4800: 0803 bt 0x4806 // 4806 + 4802: e800fdeb br 0x43d8 // 43d8 + 4806: 10de lrw r6, 0x200006be // 487c + 4808: 8b00 ld.h r0, (r3, 0x0) + 480a: 8e40 ld.h r2, (r6, 0x0) + 480c: 7489 zexth r2, r2 + 480e: 7403 sexth r0, r0 + 4810: 2204 addi r2, 5 + 4812: 6409 cmplt r2, r0 + 4814: 0803 bt 0x481a // 481a + 4816: e800fde1 br 0x43d8 // 43d8 + 481a: 8b60 ld.h r3, (r3, 0x0) + 481c: 74cd zexth r3, r3 + 481e: ae60 st.h r3, (r6, 0x0) + 4820: 1049 lrw r2, 0x20000490 // 4844 + 4822: e800fd67 br 0x42f0 // 42f0 + 4826: 3d43 cmpnei r5, 3 + 4828: 0ad2 bt 0x45cc // 45cc + 482a: 8b20 ld.h r1, (r3, 0x0) + 482c: 10c5 lrw r6, 0x200007ac // 4840 + 482e: 7487 sexth r2, r1 + 4830: 8e20 ld.h r1, (r6, 0x0) + 4832: 7445 zexth r1, r1 + 4834: 2109 addi r1, 10 + 4836: 6485 cmplt r1, r2 + 4838: 0c2f bf 0x4896 // 4896 + 483a: 0423 br 0x4880 // 4880 + 483c: 20000574 .long 0x20000574 + 4840: 200007ac .long 0x200007ac + 4844: 20000490 .long 0x20000490 + 4848: 2000051a .long 0x2000051a + 484c: 200006dc .long 0x200006dc + 4850: 20000578 .long 0x20000578 + 4854: 200005a2 .long 0x200005a2 + 4858: 200006a0 .long 0x200006a0 + 485c: 200006f2 .long 0x200006f2 + 4860: 20000684 .long 0x20000684 + 4864: 2000053e .long 0x2000053e + 4868: 2000047e .long 0x2000047e + 486c: 20000590 .long 0x20000590 + 4870: 200006b6 .long 0x200006b6 + 4874: 200004fc .long 0x200004fc + 4878: 200004c0 .long 0x200004c0 + 487c: 200006be .long 0x200006be + 4880: 8b60 ld.h r3, (r3, 0x0) + 4882: 74cd zexth r3, r3 + 4884: ae60 st.h r3, (r6, 0x0) + 4886: 9867 ld.w r3, (r14, 0x1c) + 4888: 113d lrw r1, 0x20000490 // 497c + 488a: b160 st.w r3, (r1, 0x0) + 488c: 3301 movi r3, 1 + 488e: 9140 ld.w r2, (r1, 0x0) + 4890: 70d0 lsl r3, r4 + 4892: 6cc8 or r3, r2 + 4894: b160 st.w r3, (r1, 0x0) + 4896: 9841 ld.w r2, (r14, 0x4) + 4898: 4461 lsli r3, r4, 1 + 489a: 60c8 addu r3, r2 + 489c: 8b40 ld.h r2, (r3, 0x0) + 489e: 8e20 ld.h r1, (r6, 0x0) + 48a0: 7445 zexth r1, r1 + 48a2: 748b sexth r2, r2 + 48a4: 2904 subi r1, 5 + 48a6: 6449 cmplt r2, r1 + 48a8: 0e92 bf 0x45cc // 45cc + 48aa: 11d6 lrw r6, 0x200006be // 4980 + 48ac: 8b20 ld.h r1, (r3, 0x0) + 48ae: 8e40 ld.h r2, (r6, 0x0) + 48b0: 7489 zexth r2, r2 + 48b2: 7447 sexth r1, r1 + 48b4: 2204 addi r2, 5 + 48b6: 6449 cmplt r2, r1 + 48b8: 0802 bt 0x48bc // 48bc + 48ba: 0689 br 0x45cc // 45cc + 48bc: 8b60 ld.h r3, (r3, 0x0) + 48be: 74cd zexth r3, r3 + 48c0: ae60 st.h r3, (r6, 0x0) + 48c2: 114f lrw r2, 0x20000490 // 497c + 48c4: 0662 br 0x4588 // 4588 + 48c6: 3d43 cmpnei r5, 3 + 48c8: 0a8e bt 0x45e4 // 45e4 + 48ca: 114f lrw r2, 0x2000053e // 4984 + 48cc: 8bc0 ld.h r6, (r3, 0x0) + 48ce: 8a00 ld.h r0, (r2, 0x0) + 48d0: 7401 zexth r0, r0 + 48d2: 759b sexth r6, r6 + 48d4: 2009 addi r0, 10 + 48d6: 6581 cmplt r0, r6 + 48d8: 0c0c bf 0x48f0 // 48f0 + 48da: 8b60 ld.h r3, (r3, 0x0) + 48dc: 74cd zexth r3, r3 + 48de: aa60 st.h r3, (r2, 0x0) + 48e0: 3300 movi r3, 0 + 48e2: 110a lrw r0, 0x20000574 // 4988 + 48e4: b060 st.w r3, (r0, 0x0) + 48e6: 3301 movi r3, 1 + 48e8: 90c0 ld.w r6, (r0, 0x0) + 48ea: 70d0 lsl r3, r4 + 48ec: 6cd8 or r3, r6 + 48ee: b060 st.w r3, (r0, 0x0) + 48f0: 9802 ld.w r0, (r14, 0x8) + 48f2: 4461 lsli r3, r4, 1 + 48f4: 60c0 addu r3, r0 + 48f6: 8b00 ld.h r0, (r3, 0x0) + 48f8: 8a40 ld.h r2, (r2, 0x0) + 48fa: 7489 zexth r2, r2 + 48fc: 7403 sexth r0, r0 + 48fe: 2a04 subi r2, 5 + 4900: 6481 cmplt r0, r2 + 4902: 0802 bt 0x4906 // 4906 + 4904: 0670 br 0x45e4 // 45e4 + 4906: 11c2 lrw r6, 0x20000604 // 498c + 4908: 8b00 ld.h r0, (r3, 0x0) + 490a: 8e40 ld.h r2, (r6, 0x0) + 490c: 7489 zexth r2, r2 + 490e: 7403 sexth r0, r0 + 4910: 2204 addi r2, 5 + 4912: 6409 cmplt r2, r0 + 4914: 0802 bt 0x4918 // 4918 + 4916: 0667 br 0x45e4 // 45e4 + 4918: 8b60 ld.h r3, (r3, 0x0) + 491a: 74cd zexth r3, r3 + 491c: ae60 st.h r3, (r6, 0x0) + 491e: 105b lrw r2, 0x20000574 // 4988 + 4920: e800fdea br 0x44f4 // 44f4 + 4924: 3d43 cmpnei r5, 3 + 4926: 0ae8 bt 0x46f6 // 46f6 + 4928: 10d7 lrw r6, 0x2000053e // 4984 + 492a: 8be0 ld.h r7, (r3, 0x0) + 492c: 8e20 ld.h r1, (r6, 0x0) + 492e: 7445 zexth r1, r1 + 4930: 75df sexth r7, r7 + 4932: 2109 addi r1, 10 + 4934: 65c5 cmplt r1, r7 + 4936: 0c0b bf 0x494c // 494c + 4938: 8b60 ld.h r3, (r3, 0x0) + 493a: 1034 lrw r1, 0x20000574 // 4988 + 493c: 74cd zexth r3, r3 + 493e: ae60 st.h r3, (r6, 0x0) + 4940: b140 st.w r2, (r1, 0x0) + 4942: 3301 movi r3, 1 + 4944: 9140 ld.w r2, (r1, 0x0) + 4946: 70d0 lsl r3, r4 + 4948: 6cc8 or r3, r2 + 494a: b160 st.w r3, (r1, 0x0) + 494c: 9842 ld.w r2, (r14, 0x8) + 494e: 4461 lsli r3, r4, 1 + 4950: 60c8 addu r3, r2 + 4952: 8b40 ld.h r2, (r3, 0x0) + 4954: 8e20 ld.h r1, (r6, 0x0) + 4956: 7445 zexth r1, r1 + 4958: 748b sexth r2, r2 + 495a: 2904 subi r1, 5 + 495c: 6449 cmplt r2, r1 + 495e: 0ecc bf 0x46f6 // 46f6 + 4960: 10cb lrw r6, 0x20000604 // 498c + 4962: 8b20 ld.h r1, (r3, 0x0) + 4964: 8e40 ld.h r2, (r6, 0x0) + 4966: 7489 zexth r2, r2 + 4968: 7447 sexth r1, r1 + 496a: 2204 addi r2, 5 + 496c: 6449 cmplt r2, r1 + 496e: 0ec4 bf 0x46f6 // 46f6 + 4970: 8b60 ld.h r3, (r3, 0x0) + 4972: 74cd zexth r3, r3 + 4974: ae60 st.h r3, (r6, 0x0) + 4976: 1045 lrw r2, 0x20000574 // 4988 + 4978: 069f br 0x46b6 // 46b6 + 497a: 0000 bkpt + 497c: 20000490 .long 0x20000490 + 4980: 200006be .long 0x200006be + 4984: 2000053e .long 0x2000053e + 4988: 20000574 .long 0x20000574 + 498c: 20000604 .long 0x20000604 + +Disassembly of section .text.TK_overflow_predict: + +00004990 : + 4990: 14d4 push r4-r7, r15 + 4992: 1422 subi r14, r14, 8 + 4994: 113c lrw r1, 0x20000068 // 4a84 + 4996: 8167 ld.b r3, (r1, 0x7) + 4998: 3b41 cmpnei r3, 1 + 499a: 0823 bt 0x49e0 // 49e0 + 499c: 115b lrw r2, 0x2000067e // 4a88 + 499e: 8260 ld.b r3, (r2, 0x0) + 49a0: 2300 addi r3, 1 + 49a2: 74cc zextb r3, r3 + 49a4: a260 st.b r3, (r2, 0x0) + 49a6: 8260 ld.b r3, (r2, 0x0) + 49a8: 1119 lrw r0, 0x20000181 // 4a8c + 49aa: 8000 ld.b r0, (r0, 0x0) + 49ac: 64c0 cmphs r0, r3 + 49ae: 0819 bt 0x49e0 // 49e0 + 49b0: 3300 movi r3, 0 + 49b2: a260 st.b r3, (r2, 0x0) + 49b4: 11b7 lrw r5, 0x20000589 // 4a90 + 49b6: 8560 ld.b r3, (r5, 0x0) + 49b8: 3b40 cmpnei r3, 0 + 49ba: 0c15 bf 0x49e4 // 49e4 + 49bc: 8560 ld.b r3, (r5, 0x0) + 49be: 3b41 cmpnei r3, 1 + 49c0: 0810 bt 0x49e0 // 49e0 + 49c2: 3300 movi r3, 0 + 49c4: a560 st.b r3, (r5, 0x0) + 49c6: 3200 movi r2, 0 + 49c8: 1173 lrw r3, 0x20000058 // 4a94 + 49ca: 1114 lrw r0, 0x200006b8 // 4a98 + 49cc: 11b4 lrw r5, 0x20000708 // 4a9c + 49ce: 11d5 lrw r6, 0x2000015e // 4aa0 + 49d0: 9360 ld.w r3, (r3, 0x0) + 49d2: b342 st.w r2, (r3, 0x8) + 49d4: 1174 lrw r3, 0x20000054 // 4aa4 + 49d6: 9380 ld.w r4, (r3, 0x0) + 49d8: 3300 movi r3, 0 + 49da: 8040 ld.b r2, (r0, 0x0) + 49dc: 648c cmphs r3, r2 + 49de: 0c44 bf 0x4a66 // 4a66 + 49e0: 1402 addi r14, r14, 8 + 49e2: 1494 pop r4-r7, r15 + 49e4: 597e addi r3, r1, 8 + 49e6: 3600 movi r6, 0 + 49e8: 11f0 lrw r7, 0x20000184 // 4aa8 + 49ea: b860 st.w r3, (r14, 0x0) + 49ec: 9760 ld.w r3, (r7, 0x0) + 49ee: 70d9 lsr r3, r6 + 49f0: 3201 movi r2, 1 + 49f2: 68c8 and r3, r2 + 49f4: 3b40 cmpnei r3, 0 + 49f6: 0c34 bf 0x4a5e // 4a5e + 49f8: 4681 lsli r4, r6, 1 + 49fa: 9860 ld.w r3, (r14, 0x0) + 49fc: 60d0 addu r3, r4 + 49fe: 8b00 ld.h r0, (r3, 0x0) + 4a00: e3ffe5d0 bsr 0x15a0 // 15a0 <__floatunsidf> + 4a04: 6cc7 mov r3, r1 + 4a06: 3180 movi r1, 128 + 4a08: 6c83 mov r2, r0 + 4a0a: 4137 lsli r1, r1, 23 + 4a0c: 3000 movi r0, 0 + 4a0e: e3ffdbd3 bsr 0x1b4 // 1b4 <__GI_pow> + 4a12: 1167 lrw r3, 0x2000018a // 4aac + 4a14: 60d0 addu r3, r4 + 4a16: 8b60 ld.h r3, (r3, 0x0) + 4a18: 4364 lsli r3, r3, 4 + 4a1a: 230e addi r3, 15 + 4a1c: b861 st.w r3, (r14, 0x4) + 4a1e: e3ffe179 bsr 0xd10 // d10 <__fixunsdfsi> + 4a22: 9861 ld.w r3, (r14, 0x4) + 4a24: 7cc0 mult r3, r0 + 4a26: 1143 lrw r2, 0x2000073e // 4ab0 + 4a28: 740d zexth r0, r3 + 4a2a: 6090 addu r2, r4 + 4a2c: 1162 lrw r3, 0x200007ae // 4ab4 + 4a2e: 60d0 addu r3, r4 + 4a30: aa00 st.h r0, (r2, 0x0) + 4a32: 8b60 ld.h r3, (r3, 0x0) + 4a34: 8a00 ld.h r0, (r2, 0x0) + 4a36: 7401 zexth r0, r0 + 4a38: 325f movi r2, 95 + 4a3a: 74cd zexth r3, r3 + 4a3c: 7c08 mult r0, r2 + 4a3e: 3164 movi r1, 100 + 4a40: b861 st.w r3, (r14, 0x4) + 4a42: e3fff2ad bsr 0x2f9c // 2f9c <__divsi3> + 4a46: 9861 ld.w r3, (r14, 0x4) + 4a48: 64c1 cmplt r0, r3 + 4a4a: 0c0a bf 0x4a5e // 4a5e + 4a4c: 1075 lrw r3, 0x2000015e // 4aa0 + 4a4e: 610c addu r4, r3 + 4a50: 8c60 ld.h r3, (r4, 0x0) + 4a52: 3b06 cmphsi r3, 7 + 4a54: 0805 bt 0x4a5e // 4a5e + 4a56: 2300 addi r3, 1 + 4a58: ac60 st.h r3, (r4, 0x0) + 4a5a: 3301 movi r3, 1 + 4a5c: a560 st.b r3, (r5, 0x0) + 4a5e: 2600 addi r6, 1 + 4a60: 3e51 cmpnei r6, 17 + 4a62: 0bc5 bt 0x49ec // 49ec + 4a64: 07ac br 0x49bc // 49bc + 4a66: 5d4c addu r2, r5, r3 + 4a68: 8240 ld.b r2, (r2, 0x0) + 4a6a: 4241 lsli r2, r2, 1 + 4a6c: 4322 lsli r1, r3, 2 + 4a6e: 6098 addu r2, r6 + 4a70: 6050 addu r1, r4 + 4a72: 8a40 ld.h r2, (r2, 0x0) + 4a74: 91f2 ld.w r7, (r1, 0x48) + 4a76: 4254 lsli r2, r2, 20 + 4a78: 6c9c or r2, r7 + 4a7a: 2300 addi r3, 1 + 4a7c: b152 st.w r2, (r1, 0x48) + 4a7e: 74cc zextb r3, r3 + 4a80: 07ad br 0x49da // 49da + 4a82: 0000 bkpt + 4a84: 20000068 .long 0x20000068 + 4a88: 2000067e .long 0x2000067e + 4a8c: 20000181 .long 0x20000181 + 4a90: 20000589 .long 0x20000589 + 4a94: 20000058 .long 0x20000058 + 4a98: 200006b8 .long 0x200006b8 + 4a9c: 20000708 .long 0x20000708 + 4aa0: 2000015e .long 0x2000015e + 4aa4: 20000054 .long 0x20000054 + 4aa8: 20000184 .long 0x20000184 + 4aac: 2000018a .long 0x2000018a + 4ab0: 2000073e .long 0x2000073e + 4ab4: 200007ae .long 0x200007ae + +Disassembly of section .text.TK_Baseline_tracking: + +00004ab8 : + 4ab8: 14d4 push r4-r7, r15 + 4aba: 1421 subi r14, r14, 4 + 4abc: 014a lrw r2, 0x200005fa // 4e10 + 4abe: 8260 ld.b r3, (r2, 0x0) + 4ac0: 2300 addi r3, 1 + 4ac2: 74cc zextb r3, r3 + 4ac4: a260 st.b r3, (r2, 0x0) + 4ac6: 8260 ld.b r3, (r2, 0x0) + 4ac8: 012c lrw r1, 0x20000181 // 4e14 + 4aca: 8120 ld.b r1, (r1, 0x0) + 4acc: 644c cmphs r3, r1 + 4ace: 0803 bt 0x4ad4 // 4ad4 + 4ad0: e800020f br 0x4eee // 4eee + 4ad4: 3300 movi r3, 0 + 4ad6: a260 st.b r3, (r2, 0x0) + 4ad8: 016f lrw r3, 0x200004fc // 4e18 + 4ada: 9360 ld.w r3, (r3, 0x0) + 4adc: 3b40 cmpnei r3, 0 + 4ade: 0c03 bf 0x4ae4 // 4ae4 + 4ae0: e8000209 br 0x4ef2 // 4ef2 + 4ae4: 0171 lrw r3, 0x2000051c // 4e1c + 4ae6: 0150 lrw r2, 0x200001ae // 4e20 + 4ae8: 3100 movi r1, 0 + 4aea: b860 st.w r3, (r14, 0x0) + 4aec: 6d0f mov r4, r3 + 4aee: 0111 lrw r0, 0x2000045c // 4e24 + 4af0: 4161 lsli r3, r1, 1 + 4af2: 98a0 ld.w r5, (r14, 0x0) + 4af4: 614c addu r5, r3 + 4af6: 8da0 ld.h r5, (r5, 0x0) + 4af8: 7557 sexth r5, r5 + 4afa: 3ddf btsti r5, 31 + 4afc: 0c1c bf 0x4b34 // 4b34 + 4afe: 01d4 lrw r6, 0x200007ae // 4e28 + 4b00: 58ac addu r5, r0, r3 + 4b02: 618c addu r6, r3 + 4b04: 8da0 ld.h r5, (r5, 0x0) + 4b06: 8ec0 ld.h r6, (r6, 0x0) + 4b08: 7599 zexth r6, r6 + 4b0a: 7555 zexth r5, r5 + 4b0c: 615a subu r5, r6 + 4b0e: 8ac0 ld.h r6, (r2, 0x0) + 4b10: 6595 cmplt r5, r6 + 4b12: 0811 bt 0x4b34 // 4b34 + 4b14: 01b9 lrw r5, 0x200006c0 // 4e2c + 4b16: 6144 addu r5, r1 + 4b18: 85c0 ld.b r6, (r5, 0x0) + 4b1a: 2600 addi r6, 1 + 4b1c: 7598 zextb r6, r6 + 4b1e: a5c0 st.b r6, (r5, 0x0) + 4b20: 01db lrw r6, 0x20000088 // 4e30 + 4b22: 85e0 ld.b r7, (r5, 0x0) + 4b24: 86ca ld.b r6, (r6, 0xa) + 4b26: 65d8 cmphs r6, r7 + 4b28: 0806 bt 0x4b34 // 4b34 + 4b2a: 01dc lrw r6, 0x20000568 // 4e34 + 4b2c: 3701 movi r7, 1 + 4b2e: a6e0 st.b r7, (r6, 0x0) + 4b30: 3600 movi r6, 0 + 4b32: a5c0 st.b r6, (r5, 0x0) + 4b34: 5cac addu r5, r4, r3 + 4b36: 8da0 ld.h r5, (r5, 0x0) + 4b38: 7557 sexth r5, r5 + 4b3a: 3d20 cmplti r5, 1 + 4b3c: 081d bt 0x4b76 // 4b76 + 4b3e: 02a4 lrw r5, 0x200007ae // 4e28 + 4b40: 614c addu r5, r3 + 4b42: 58cc addu r6, r0, r3 + 4b44: 8da0 ld.h r5, (r5, 0x0) + 4b46: 8ec0 ld.h r6, (r6, 0x0) + 4b48: 7599 zexth r6, r6 + 4b4a: 7555 zexth r5, r5 + 4b4c: 615a subu r5, r6 + 4b4e: 8ac0 ld.h r6, (r2, 0x0) + 4b50: 46c2 lsli r6, r6, 2 + 4b52: 6595 cmplt r5, r6 + 4b54: 0811 bt 0x4b76 // 4b76 + 4b56: 02a6 lrw r5, 0x20000628 // 4e38 + 4b58: 6144 addu r5, r1 + 4b5a: 85c0 ld.b r6, (r5, 0x0) + 4b5c: 2600 addi r6, 1 + 4b5e: 7598 zextb r6, r6 + 4b60: a5c0 st.b r6, (r5, 0x0) + 4b62: 02cb lrw r6, 0x20000088 // 4e30 + 4b64: 85e0 ld.b r7, (r5, 0x0) + 4b66: 86cb ld.b r6, (r6, 0xb) + 4b68: 65d8 cmphs r6, r7 + 4b6a: 0806 bt 0x4b76 // 4b76 + 4b6c: 02cd lrw r6, 0x20000568 // 4e34 + 4b6e: 3701 movi r7, 1 + 4b70: a6e0 st.b r7, (r6, 0x0) + 4b72: 3600 movi r6, 0 + 4b74: a5c0 st.b r6, (r5, 0x0) + 4b76: 5cac addu r5, r4, r3 + 4b78: 8da0 ld.h r5, (r5, 0x0) + 4b7a: 7557 sexth r5, r5 + 4b7c: 3ddf btsti r5, 31 + 4b7e: 0c10 bf 0x4b9e // 4b9e + 4b80: 02f5 lrw r7, 0x200007ae // 4e28 + 4b82: 58cc addu r6, r0, r3 + 4b84: 61cc addu r7, r3 + 4b86: 8ea0 ld.h r5, (r6, 0x0) + 4b88: 8fe0 ld.h r7, (r7, 0x0) + 4b8a: 75dd zexth r7, r7 + 4b8c: 7555 zexth r5, r5 + 4b8e: 615e subu r5, r7 + 4b90: 8ae0 ld.h r7, (r2, 0x0) + 4b92: 65d5 cmplt r5, r7 + 4b94: 0c05 bf 0x4b9e // 4b9e + 4b96: 8ea0 ld.h r5, (r6, 0x0) + 4b98: 2d00 subi r5, 1 + 4b9a: 7555 zexth r5, r5 + 4b9c: aea0 st.h r5, (r6, 0x0) + 4b9e: 5cac addu r5, r4, r3 + 4ba0: 8da0 ld.h r5, (r5, 0x0) + 4ba2: 7557 sexth r5, r5 + 4ba4: 3ddf btsti r5, 31 + 4ba6: 0c11 bf 0x4bc8 // 4bc8 + 4ba8: 02ff lrw r7, 0x200007ae // 4e28 + 4baa: 58cc addu r6, r0, r3 + 4bac: 61cc addu r7, r3 + 4bae: 8ea0 ld.h r5, (r6, 0x0) + 4bb0: 8fe0 ld.h r7, (r7, 0x0) + 4bb2: 75dd zexth r7, r7 + 4bb4: 7555 zexth r5, r5 + 4bb6: 615e subu r5, r7 + 4bb8: 8ae0 ld.h r7, (r2, 0x0) + 4bba: 4fe1 lsri r7, r7, 1 + 4bbc: 65d5 cmplt r5, r7 + 4bbe: 0805 bt 0x4bc8 // 4bc8 + 4bc0: 8ea0 ld.h r5, (r6, 0x0) + 4bc2: 2d01 subi r5, 2 + 4bc4: 7555 zexth r5, r5 + 4bc6: aea0 st.h r5, (r6, 0x0) + 4bc8: 5ccc addu r6, r4, r3 + 4bca: 8ea0 ld.h r5, (r6, 0x0) + 4bcc: 7557 sexth r5, r5 + 4bce: 3d20 cmplti r5, 1 + 4bd0: 080c bt 0x4be8 // 4be8 + 4bd2: 8ec0 ld.h r6, (r6, 0x0) + 4bd4: 8aa0 ld.h r5, (r2, 0x0) + 4bd6: 759b sexth r6, r6 + 4bd8: 4da1 lsri r5, r5, 1 + 4bda: 6559 cmplt r6, r5 + 4bdc: 0c06 bf 0x4be8 // 4be8 + 4bde: 58cc addu r6, r0, r3 + 4be0: 8ea0 ld.h r5, (r6, 0x0) + 4be2: 2500 addi r5, 1 + 4be4: 7555 zexth r5, r5 + 4be6: aea0 st.h r5, (r6, 0x0) + 4be8: 5ccc addu r6, r4, r3 + 4bea: 8ea0 ld.h r5, (r6, 0x0) + 4bec: 7557 sexth r5, r5 + 4bee: 3d20 cmplti r5, 1 + 4bf0: 0810 bt 0x4c10 // 4c10 + 4bf2: 8ee0 ld.h r7, (r6, 0x0) + 4bf4: 75df sexth r7, r7 + 4bf6: 8aa0 ld.h r5, (r2, 0x0) + 4bf8: 655d cmplt r7, r5 + 4bfa: 0c0b bf 0x4c10 // 4c10 + 4bfc: 8ec0 ld.h r6, (r6, 0x0) + 4bfe: 759b sexth r6, r6 + 4c00: 4da1 lsri r5, r5, 1 + 4c02: 6559 cmplt r6, r5 + 4c04: 0806 bt 0x4c10 // 4c10 + 4c06: 60c0 addu r3, r0 + 4c08: 8ba0 ld.h r5, (r3, 0x0) + 4c0a: 2501 addi r5, 2 + 4c0c: 7555 zexth r5, r5 + 4c0e: aba0 st.h r5, (r3, 0x0) + 4c10: 2100 addi r1, 1 + 4c12: 3951 cmpnei r1, 17 + 4c14: 2201 addi r2, 2 + 4c16: 0b6d bt 0x4af0 // 4af0 + 4c18: 0376 lrw r3, 0x20000490 // 4e3c + 4c1a: 9360 ld.w r3, (r3, 0x0) + 4c1c: 3b40 cmpnei r3, 0 + 4c1e: 0980 bt 0x4f1e // 4f1e + 4c20: 0377 lrw r3, 0x2000065c // 4e40 + 4c22: 035f lrw r2, 0x200001ae // 4e20 + 4c24: 3100 movi r1, 0 + 4c26: b860 st.w r3, (r14, 0x0) + 4c28: 6d0f mov r4, r3 + 4c2a: 0318 lrw r0, 0x20000606 // 4e44 + 4c2c: 4161 lsli r3, r1, 1 + 4c2e: 98a0 ld.w r5, (r14, 0x0) + 4c30: 614c addu r5, r3 + 4c32: 8da0 ld.h r5, (r5, 0x0) + 4c34: 7557 sexth r5, r5 + 4c36: 3ddf btsti r5, 31 + 4c38: 0c1c bf 0x4c70 // 4c70 + 4c3a: 03db lrw r6, 0x20000544 // 4e48 + 4c3c: 58ac addu r5, r0, r3 + 4c3e: 618c addu r6, r3 + 4c40: 8da0 ld.h r5, (r5, 0x0) + 4c42: 8ec0 ld.h r6, (r6, 0x0) + 4c44: 7599 zexth r6, r6 + 4c46: 7555 zexth r5, r5 + 4c48: 615a subu r5, r6 + 4c4a: 8ac0 ld.h r6, (r2, 0x0) + 4c4c: 6595 cmplt r5, r6 + 4c4e: 0811 bt 0x4c70 // 4c70 + 4c50: 13bf lrw r5, 0x200006a0 // 4e4c + 4c52: 6144 addu r5, r1 + 4c54: 85c0 ld.b r6, (r5, 0x0) + 4c56: 2600 addi r6, 1 + 4c58: 7598 zextb r6, r6 + 4c5a: a5c0 st.b r6, (r5, 0x0) + 4c5c: 13d5 lrw r6, 0x20000088 // 4e30 + 4c5e: 85e0 ld.b r7, (r5, 0x0) + 4c60: 86ca ld.b r6, (r6, 0xa) + 4c62: 65d8 cmphs r6, r7 + 4c64: 0806 bt 0x4c70 // 4c70 + 4c66: 13d4 lrw r6, 0x20000568 // 4e34 + 4c68: 3701 movi r7, 1 + 4c6a: a6e1 st.b r7, (r6, 0x1) + 4c6c: 3600 movi r6, 0 + 4c6e: a5c0 st.b r6, (r5, 0x0) + 4c70: 5cac addu r5, r4, r3 + 4c72: 8da0 ld.h r5, (r5, 0x0) + 4c74: 7557 sexth r5, r5 + 4c76: 3d20 cmplti r5, 1 + 4c78: 081d bt 0x4cb2 // 4cb2 + 4c7a: 13b4 lrw r5, 0x20000544 // 4e48 + 4c7c: 614c addu r5, r3 + 4c7e: 58cc addu r6, r0, r3 + 4c80: 8da0 ld.h r5, (r5, 0x0) + 4c82: 8ec0 ld.h r6, (r6, 0x0) + 4c84: 7599 zexth r6, r6 + 4c86: 7555 zexth r5, r5 + 4c88: 615a subu r5, r6 + 4c8a: 8ac0 ld.h r6, (r2, 0x0) + 4c8c: 46c2 lsli r6, r6, 2 + 4c8e: 6595 cmplt r5, r6 + 4c90: 0811 bt 0x4cb2 // 4cb2 + 4c92: 13b0 lrw r5, 0x200005a2 // 4e50 + 4c94: 6144 addu r5, r1 + 4c96: 85c0 ld.b r6, (r5, 0x0) + 4c98: 2600 addi r6, 1 + 4c9a: 7598 zextb r6, r6 + 4c9c: a5c0 st.b r6, (r5, 0x0) + 4c9e: 13c5 lrw r6, 0x20000088 // 4e30 + 4ca0: 85e0 ld.b r7, (r5, 0x0) + 4ca2: 86cb ld.b r6, (r6, 0xb) + 4ca4: 65d8 cmphs r6, r7 + 4ca6: 0806 bt 0x4cb2 // 4cb2 + 4ca8: 13c3 lrw r6, 0x20000568 // 4e34 + 4caa: 3701 movi r7, 1 + 4cac: a6e1 st.b r7, (r6, 0x1) + 4cae: 3600 movi r6, 0 + 4cb0: a5c0 st.b r6, (r5, 0x0) + 4cb2: 5cac addu r5, r4, r3 + 4cb4: 8da0 ld.h r5, (r5, 0x0) + 4cb6: 7557 sexth r5, r5 + 4cb8: 3ddf btsti r5, 31 + 4cba: 0c10 bf 0x4cda // 4cda + 4cbc: 13e3 lrw r7, 0x20000544 // 4e48 + 4cbe: 58cc addu r6, r0, r3 + 4cc0: 61cc addu r7, r3 + 4cc2: 8ea0 ld.h r5, (r6, 0x0) + 4cc4: 8fe0 ld.h r7, (r7, 0x0) + 4cc6: 75dd zexth r7, r7 + 4cc8: 7555 zexth r5, r5 + 4cca: 615e subu r5, r7 + 4ccc: 8ae0 ld.h r7, (r2, 0x0) + 4cce: 65d5 cmplt r5, r7 + 4cd0: 0c05 bf 0x4cda // 4cda + 4cd2: 8ea0 ld.h r5, (r6, 0x0) + 4cd4: 2d00 subi r5, 1 + 4cd6: 7555 zexth r5, r5 + 4cd8: aea0 st.h r5, (r6, 0x0) + 4cda: 5cac addu r5, r4, r3 + 4cdc: 8da0 ld.h r5, (r5, 0x0) + 4cde: 7557 sexth r5, r5 + 4ce0: 3ddf btsti r5, 31 + 4ce2: 0c11 bf 0x4d04 // 4d04 + 4ce4: 12f9 lrw r7, 0x20000544 // 4e48 + 4ce6: 58cc addu r6, r0, r3 + 4ce8: 61cc addu r7, r3 + 4cea: 8ea0 ld.h r5, (r6, 0x0) + 4cec: 8fe0 ld.h r7, (r7, 0x0) + 4cee: 75dd zexth r7, r7 + 4cf0: 7555 zexth r5, r5 + 4cf2: 615e subu r5, r7 + 4cf4: 8ae0 ld.h r7, (r2, 0x0) + 4cf6: 4fe1 lsri r7, r7, 1 + 4cf8: 65d5 cmplt r5, r7 + 4cfa: 0805 bt 0x4d04 // 4d04 + 4cfc: 8ea0 ld.h r5, (r6, 0x0) + 4cfe: 2d01 subi r5, 2 + 4d00: 7555 zexth r5, r5 + 4d02: aea0 st.h r5, (r6, 0x0) + 4d04: 5ccc addu r6, r4, r3 + 4d06: 8ea0 ld.h r5, (r6, 0x0) + 4d08: 7557 sexth r5, r5 + 4d0a: 3d20 cmplti r5, 1 + 4d0c: 080c bt 0x4d24 // 4d24 + 4d0e: 8ec0 ld.h r6, (r6, 0x0) + 4d10: 8aa0 ld.h r5, (r2, 0x0) + 4d12: 759b sexth r6, r6 + 4d14: 4da1 lsri r5, r5, 1 + 4d16: 6559 cmplt r6, r5 + 4d18: 0c06 bf 0x4d24 // 4d24 + 4d1a: 58cc addu r6, r0, r3 + 4d1c: 8ea0 ld.h r5, (r6, 0x0) + 4d1e: 2500 addi r5, 1 + 4d20: 7555 zexth r5, r5 + 4d22: aea0 st.h r5, (r6, 0x0) + 4d24: 5ccc addu r6, r4, r3 + 4d26: 8ea0 ld.h r5, (r6, 0x0) + 4d28: 7557 sexth r5, r5 + 4d2a: 3d20 cmplti r5, 1 + 4d2c: 0810 bt 0x4d4c // 4d4c + 4d2e: 8ee0 ld.h r7, (r6, 0x0) + 4d30: 75df sexth r7, r7 + 4d32: 8aa0 ld.h r5, (r2, 0x0) + 4d34: 655d cmplt r7, r5 + 4d36: 0c0b bf 0x4d4c // 4d4c + 4d38: 8ec0 ld.h r6, (r6, 0x0) + 4d3a: 759b sexth r6, r6 + 4d3c: 4da1 lsri r5, r5, 1 + 4d3e: 6559 cmplt r6, r5 + 4d40: 0806 bt 0x4d4c // 4d4c + 4d42: 60c0 addu r3, r0 + 4d44: 8ba0 ld.h r5, (r3, 0x0) + 4d46: 2501 addi r5, 2 + 4d48: 7555 zexth r5, r5 + 4d4a: aba0 st.h r5, (r3, 0x0) + 4d4c: 2100 addi r1, 1 + 4d4e: 3951 cmpnei r1, 17 + 4d50: 2201 addi r2, 2 + 4d52: 0b6d bt 0x4c2c // 4c2c + 4d54: 1260 lrw r3, 0x20000574 // 4e54 + 4d56: 9360 ld.w r3, (r3, 0x0) + 4d58: 3b40 cmpnei r3, 0 + 4d5a: 08f8 bt 0x4f4a // 4f4a + 4d5c: 117f lrw r3, 0x20000788 // 4e58 + 4d5e: 1151 lrw r2, 0x200001ae // 4e20 + 4d60: 3100 movi r1, 0 + 4d62: b860 st.w r3, (r14, 0x0) + 4d64: 6d0f mov r4, r3 + 4d66: 111e lrw r0, 0x2000071c // 4e5c + 4d68: 4161 lsli r3, r1, 1 + 4d6a: 98a0 ld.w r5, (r14, 0x0) + 4d6c: 614c addu r5, r3 + 4d6e: 8da0 ld.h r5, (r5, 0x0) + 4d70: 7557 sexth r5, r5 + 4d72: 3ddf btsti r5, 31 + 4d74: 0c1c bf 0x4dac // 4dac + 4d76: 11db lrw r6, 0x2000063a // 4e60 + 4d78: 58ac addu r5, r0, r3 + 4d7a: 618c addu r6, r3 + 4d7c: 8da0 ld.h r5, (r5, 0x0) + 4d7e: 8ec0 ld.h r6, (r6, 0x0) + 4d80: 7599 zexth r6, r6 + 4d82: 7555 zexth r5, r5 + 4d84: 615a subu r5, r6 + 4d86: 8ac0 ld.h r6, (r2, 0x0) + 4d88: 6595 cmplt r5, r6 + 4d8a: 0811 bt 0x4dac // 4dac + 4d8c: 11b6 lrw r5, 0x20000590 // 4e64 + 4d8e: 6144 addu r5, r1 + 4d90: 85c0 ld.b r6, (r5, 0x0) + 4d92: 2600 addi r6, 1 + 4d94: 7598 zextb r6, r6 + 4d96: a5c0 st.b r6, (r5, 0x0) + 4d98: 11c6 lrw r6, 0x20000088 // 4e30 + 4d9a: 85e0 ld.b r7, (r5, 0x0) + 4d9c: 86ca ld.b r6, (r6, 0xa) + 4d9e: 65d8 cmphs r6, r7 + 4da0: 0806 bt 0x4dac // 4dac + 4da2: 11c5 lrw r6, 0x20000568 // 4e34 + 4da4: 3701 movi r7, 1 + 4da6: a6e2 st.b r7, (r6, 0x2) + 4da8: 3600 movi r6, 0 + 4daa: a5c0 st.b r6, (r5, 0x0) + 4dac: 5cac addu r5, r4, r3 + 4dae: 8da0 ld.h r5, (r5, 0x0) + 4db0: 7557 sexth r5, r5 + 4db2: 3d20 cmplti r5, 1 + 4db4: 081d bt 0x4dee // 4dee + 4db6: 11ab lrw r5, 0x2000063a // 4e60 + 4db8: 614c addu r5, r3 + 4dba: 58cc addu r6, r0, r3 + 4dbc: 8da0 ld.h r5, (r5, 0x0) + 4dbe: 8ec0 ld.h r6, (r6, 0x0) + 4dc0: 7599 zexth r6, r6 + 4dc2: 7555 zexth r5, r5 + 4dc4: 615a subu r5, r6 + 4dc6: 8ac0 ld.h r6, (r2, 0x0) + 4dc8: 46c2 lsli r6, r6, 2 + 4dca: 6595 cmplt r5, r6 + 4dcc: 0811 bt 0x4dee // 4dee + 4dce: 11a7 lrw r5, 0x2000047e // 4e68 + 4dd0: 6144 addu r5, r1 + 4dd2: 85c0 ld.b r6, (r5, 0x0) + 4dd4: 2600 addi r6, 1 + 4dd6: 7598 zextb r6, r6 + 4dd8: a5c0 st.b r6, (r5, 0x0) + 4dda: 10d6 lrw r6, 0x20000088 // 4e30 + 4ddc: 85e0 ld.b r7, (r5, 0x0) + 4dde: 86cb ld.b r6, (r6, 0xb) + 4de0: 65d8 cmphs r6, r7 + 4de2: 0806 bt 0x4dee // 4dee + 4de4: 10d4 lrw r6, 0x20000568 // 4e34 + 4de6: 3701 movi r7, 1 + 4de8: a6e2 st.b r7, (r6, 0x2) + 4dea: 3600 movi r6, 0 + 4dec: a5c0 st.b r6, (r5, 0x0) + 4dee: 5cac addu r5, r4, r3 + 4df0: 8da0 ld.h r5, (r5, 0x0) + 4df2: 7557 sexth r5, r5 + 4df4: 3ddf btsti r5, 31 + 4df6: 0c3f bf 0x4e74 // 4e74 + 4df8: 10fa lrw r7, 0x2000063a // 4e60 + 4dfa: 58cc addu r6, r0, r3 + 4dfc: 61cc addu r7, r3 + 4dfe: 8ea0 ld.h r5, (r6, 0x0) + 4e00: 8fe0 ld.h r7, (r7, 0x0) + 4e02: 75dd zexth r7, r7 + 4e04: 7555 zexth r5, r5 + 4e06: 615e subu r5, r7 + 4e08: 8ae0 ld.h r7, (r2, 0x0) + 4e0a: 65d5 cmplt r5, r7 + 4e0c: 0c34 bf 0x4e74 // 4e74 + 4e0e: 042f br 0x4e6c // 4e6c + 4e10: 200005fa .long 0x200005fa + 4e14: 20000181 .long 0x20000181 + 4e18: 200004fc .long 0x200004fc + 4e1c: 2000051c .long 0x2000051c + 4e20: 200001ae .long 0x200001ae + 4e24: 2000045c .long 0x2000045c + 4e28: 200007ae .long 0x200007ae + 4e2c: 200006c0 .long 0x200006c0 + 4e30: 20000088 .long 0x20000088 + 4e34: 20000568 .long 0x20000568 + 4e38: 20000628 .long 0x20000628 + 4e3c: 20000490 .long 0x20000490 + 4e40: 2000065c .long 0x2000065c + 4e44: 20000606 .long 0x20000606 + 4e48: 20000544 .long 0x20000544 + 4e4c: 200006a0 .long 0x200006a0 + 4e50: 200005a2 .long 0x200005a2 + 4e54: 20000574 .long 0x20000574 + 4e58: 20000788 .long 0x20000788 + 4e5c: 2000071c .long 0x2000071c + 4e60: 2000063a .long 0x2000063a + 4e64: 20000590 .long 0x20000590 + 4e68: 2000047e .long 0x2000047e + 4e6c: 8ea0 ld.h r5, (r6, 0x0) + 4e6e: 2d00 subi r5, 1 + 4e70: 7555 zexth r5, r5 + 4e72: aea0 st.h r5, (r6, 0x0) + 4e74: 5cac addu r5, r4, r3 + 4e76: 8da0 ld.h r5, (r5, 0x0) + 4e78: 7557 sexth r5, r5 + 4e7a: 3ddf btsti r5, 31 + 4e7c: 0c11 bf 0x4e9e // 4e9e + 4e7e: 11ff lrw r7, 0x2000063a // 4f78 + 4e80: 58cc addu r6, r0, r3 + 4e82: 61cc addu r7, r3 + 4e84: 8ea0 ld.h r5, (r6, 0x0) + 4e86: 8fe0 ld.h r7, (r7, 0x0) + 4e88: 75dd zexth r7, r7 + 4e8a: 7555 zexth r5, r5 + 4e8c: 615e subu r5, r7 + 4e8e: 8ae0 ld.h r7, (r2, 0x0) + 4e90: 4fe1 lsri r7, r7, 1 + 4e92: 65d5 cmplt r5, r7 + 4e94: 0805 bt 0x4e9e // 4e9e + 4e96: 8ea0 ld.h r5, (r6, 0x0) + 4e98: 2d01 subi r5, 2 + 4e9a: 7555 zexth r5, r5 + 4e9c: aea0 st.h r5, (r6, 0x0) + 4e9e: 5ccc addu r6, r4, r3 + 4ea0: 8ea0 ld.h r5, (r6, 0x0) + 4ea2: 7557 sexth r5, r5 + 4ea4: 3d20 cmplti r5, 1 + 4ea6: 080c bt 0x4ebe // 4ebe + 4ea8: 8ec0 ld.h r6, (r6, 0x0) + 4eaa: 8aa0 ld.h r5, (r2, 0x0) + 4eac: 759b sexth r6, r6 + 4eae: 4da1 lsri r5, r5, 1 + 4eb0: 6559 cmplt r6, r5 + 4eb2: 0c06 bf 0x4ebe // 4ebe + 4eb4: 58cc addu r6, r0, r3 + 4eb6: 8ea0 ld.h r5, (r6, 0x0) + 4eb8: 2500 addi r5, 1 + 4eba: 7555 zexth r5, r5 + 4ebc: aea0 st.h r5, (r6, 0x0) + 4ebe: 5ccc addu r6, r4, r3 + 4ec0: 8ea0 ld.h r5, (r6, 0x0) + 4ec2: 7557 sexth r5, r5 + 4ec4: 3d20 cmplti r5, 1 + 4ec6: 0810 bt 0x4ee6 // 4ee6 + 4ec8: 8ee0 ld.h r7, (r6, 0x0) + 4eca: 75df sexth r7, r7 + 4ecc: 8aa0 ld.h r5, (r2, 0x0) + 4ece: 655d cmplt r7, r5 + 4ed0: 0c0b bf 0x4ee6 // 4ee6 + 4ed2: 8ec0 ld.h r6, (r6, 0x0) + 4ed4: 759b sexth r6, r6 + 4ed6: 4da1 lsri r5, r5, 1 + 4ed8: 6559 cmplt r6, r5 + 4eda: 0806 bt 0x4ee6 // 4ee6 + 4edc: 60c0 addu r3, r0 + 4ede: 8ba0 ld.h r5, (r3, 0x0) + 4ee0: 2501 addi r5, 2 + 4ee2: 7555 zexth r5, r5 + 4ee4: aba0 st.h r5, (r3, 0x0) + 4ee6: 2100 addi r1, 1 + 4ee8: 3951 cmpnei r1, 17 + 4eea: 2201 addi r2, 2 + 4eec: 0b3e bt 0x4d68 // 4d68 + 4eee: 1401 addi r14, r14, 4 + 4ef0: 1494 pop r4-r7, r15 + 4ef2: e3fff8a7 bsr 0x4040 // 4040 + 4ef6: 1162 lrw r3, 0x20000088 // 4f7c + 4ef8: 836c ld.b r3, (r3, 0xc) + 4efa: 64c0 cmphs r0, r3 + 4efc: 1141 lrw r2, 0x20000494 // 4f80 + 4efe: 0c0e bf 0x4f1a // 4f1a + 4f00: 8260 ld.b r3, (r2, 0x0) + 4f02: 74cc zextb r3, r3 + 4f04: 3b01 cmphsi r3, 2 + 4f06: 0c05 bf 0x4f10 // 4f10 + 4f08: 107f lrw r3, 0x20000568 // 4f84 + 4f0a: 3201 movi r2, 1 + 4f0c: a340 st.b r2, (r3, 0x0) + 4f0e: 0685 br 0x4c18 // 4c18 + 4f10: 8260 ld.b r3, (r2, 0x0) + 4f12: 2300 addi r3, 1 + 4f14: 74cc zextb r3, r3 + 4f16: a260 st.b r3, (r2, 0x0) + 4f18: 0680 br 0x4c18 // 4c18 + 4f1a: 3300 movi r3, 0 + 4f1c: 07fd br 0x4f16 // 4f16 + 4f1e: e3fff8a5 bsr 0x4068 // 4068 + 4f22: 1077 lrw r3, 0x20000088 // 4f7c + 4f24: 836c ld.b r3, (r3, 0xc) + 4f26: 64c0 cmphs r0, r3 + 4f28: 1056 lrw r2, 0x20000494 // 4f80 + 4f2a: 0c0e bf 0x4f46 // 4f46 + 4f2c: 8261 ld.b r3, (r2, 0x1) + 4f2e: 74cc zextb r3, r3 + 4f30: 3b01 cmphsi r3, 2 + 4f32: 0c05 bf 0x4f3c // 4f3c + 4f34: 1074 lrw r3, 0x20000568 // 4f84 + 4f36: 3201 movi r2, 1 + 4f38: a341 st.b r2, (r3, 0x1) + 4f3a: 070d br 0x4d54 // 4d54 + 4f3c: 8261 ld.b r3, (r2, 0x1) + 4f3e: 2300 addi r3, 1 + 4f40: 74cc zextb r3, r3 + 4f42: a261 st.b r3, (r2, 0x1) + 4f44: 0708 br 0x4d54 // 4d54 + 4f46: 3300 movi r3, 0 + 4f48: 07fd br 0x4f42 // 4f42 + 4f4a: e3fff8a3 bsr 0x4090 // 4090 + 4f4e: 106c lrw r3, 0x20000088 // 4f7c + 4f50: 836c ld.b r3, (r3, 0xc) + 4f52: 64c0 cmphs r0, r3 + 4f54: 104b lrw r2, 0x20000494 // 4f80 + 4f56: 0c0e bf 0x4f72 // 4f72 + 4f58: 8262 ld.b r3, (r2, 0x2) + 4f5a: 74cc zextb r3, r3 + 4f5c: 3b01 cmphsi r3, 2 + 4f5e: 0c05 bf 0x4f68 // 4f68 + 4f60: 1069 lrw r3, 0x20000568 // 4f84 + 4f62: 3201 movi r2, 1 + 4f64: a342 st.b r2, (r3, 0x2) + 4f66: 07c4 br 0x4eee // 4eee + 4f68: 8262 ld.b r3, (r2, 0x2) + 4f6a: 2300 addi r3, 1 + 4f6c: 74cc zextb r3, r3 + 4f6e: a262 st.b r3, (r2, 0x2) + 4f70: 07bf br 0x4eee // 4eee + 4f72: 3300 movi r3, 0 + 4f74: 07fd br 0x4f6e // 4f6e + 4f76: 0000 bkpt + 4f78: 2000063a .long 0x2000063a + 4f7c: 20000088 .long 0x20000088 + 4f80: 20000494 .long 0x20000494 + 4f84: 20000568 .long 0x20000568 + +Disassembly of section .text.TK_result_prog: + +00004f88 : + 4f88: 14d4 push r4-r7, r15 + 4f8a: 1424 subi r14, r14, 16 + 4f8c: 111f lrw r0, 0x200004fc // 5088 + 4f8e: 1220 lrw r1, 0x20000490 // 508c + 4f90: 1240 lrw r2, 0x20000574 // 5090 + 4f92: b821 st.w r1, (r14, 0x4) + 4f94: 9060 ld.w r3, (r0, 0x0) + 4f96: 91a0 ld.w r5, (r1, 0x0) + 4f98: 6cd4 or r3, r5 + 4f9a: 9280 ld.w r4, (r2, 0x0) + 4f9c: 6cd0 or r3, r4 + 4f9e: 3b40 cmpnei r3, 0 + 4fa0: b800 st.w r0, (r14, 0x0) + 4fa2: b842 st.w r2, (r14, 0x8) + 4fa4: 119c lrw r4, 0x200005fc // 5094 + 4fa6: 0c67 bf 0x5074 // 5074 + 4fa8: 111c lrw r0, 0x200006d4 // 5098 + 4faa: 3500 movi r5, 0 + 4fac: 117c lrw r3, 0x2000069c // 509c + 4fae: b803 st.w r0, (r14, 0xc) + 4fb0: 3201 movi r2, 1 + 4fb2: 7094 lsl r2, r5 + 4fb4: b040 st.w r2, (r0, 0x0) + 4fb6: 9840 ld.w r2, (r14, 0x0) + 4fb8: 9240 ld.w r2, (r2, 0x0) + 4fba: 9020 ld.w r1, (r0, 0x0) + 4fbc: 6884 and r2, r1 + 4fbe: b340 st.w r2, (r3, 0x0) + 4fc0: 9841 ld.w r2, (r14, 0x4) + 4fc2: 9240 ld.w r2, (r2, 0x0) + 4fc4: 9020 ld.w r1, (r0, 0x0) + 4fc6: 6848 and r1, r2 + 4fc8: 1156 lrw r2, 0x20000760 // 50a0 + 4fca: b220 st.w r1, (r2, 0x0) + 4fcc: 9822 ld.w r1, (r14, 0x8) + 4fce: 9120 ld.w r1, (r1, 0x0) + 4fd0: 90c0 ld.w r6, (r0, 0x0) + 4fd2: 6984 and r6, r1 + 4fd4: 1134 lrw r1, 0x20000600 // 50a4 + 4fd6: b1c0 st.w r6, (r1, 0x0) + 4fd8: 93e0 ld.w r7, (r3, 0x0) + 4fda: 92c0 ld.w r6, (r2, 0x0) + 4fdc: 659e cmpne r7, r6 + 4fde: 0807 bt 0x4fec // 4fec + 4fe0: 92e0 ld.w r7, (r2, 0x0) + 4fe2: 91c0 ld.w r6, (r1, 0x0) + 4fe4: 659e cmpne r7, r6 + 4fe6: 0803 bt 0x4fec // 4fec + 4fe8: 9340 ld.w r2, (r3, 0x0) + 4fea: 040c br 0x5002 // 5002 + 4fec: 92c0 ld.w r6, (r2, 0x0) + 4fee: 3e40 cmpnei r6, 0 + 4ff0: 0c29 bf 0x5042 // 5042 + 4ff2: 91c0 ld.w r6, (r1, 0x0) + 4ff4: 3e40 cmpnei r6, 0 + 4ff6: 0c26 bf 0x5042 // 5042 + 4ff8: 92e0 ld.w r7, (r2, 0x0) + 4ffa: 91c0 ld.w r6, (r1, 0x0) + 4ffc: 659e cmpne r7, r6 + 4ffe: 0822 bt 0x5042 // 5042 + 5000: 9240 ld.w r2, (r2, 0x0) + 5002: 9420 ld.w r1, (r4, 0x0) + 5004: 6c84 or r2, r1 + 5006: 2500 addi r5, 1 + 5008: 3d51 cmpnei r5, 17 + 500a: b440 st.w r2, (r4, 0x0) + 500c: 0bd2 bt 0x4fb0 // 4fb0 + 500e: 9460 ld.w r3, (r4, 0x0) + 5010: 3b40 cmpnei r3, 0 + 5012: 1146 lrw r2, 0x20000704 // 50a8 + 5014: 0c32 bf 0x5078 // 5078 + 5016: 9420 ld.w r1, (r4, 0x0) + 5018: 9260 ld.w r3, (r2, 0x0) + 501a: 64c6 cmpne r1, r3 + 501c: 0c06 bf 0x5028 // 5028 + 501e: 9460 ld.w r3, (r4, 0x0) + 5020: b260 st.w r3, (r2, 0x0) + 5022: 3200 movi r2, 0 + 5024: 1162 lrw r3, 0x2000051a // 50ac + 5026: a340 st.b r2, (r3, 0x0) + 5028: e3fff7f8 bsr 0x4018 // 4018 + 502c: 1161 lrw r3, 0x20000188 // 50b0 + 502e: 8360 ld.b r3, (r3, 0x0) + 5030: 640c cmphs r3, r0 + 5032: 0806 bt 0x503e // 503e + 5034: 3300 movi r3, 0 + 5036: b460 st.w r3, (r4, 0x0) + 5038: 3201 movi r2, 1 + 503a: 107d lrw r3, 0x2000051a // 50ac + 503c: a340 st.b r2, (r3, 0x0) + 503e: 1404 addi r14, r14, 16 + 5040: 1494 pop r4-r7, r15 + 5042: 93c0 ld.w r6, (r3, 0x0) + 5044: 3e40 cmpnei r6, 0 + 5046: 0c08 bf 0x5056 // 5056 + 5048: 92c0 ld.w r6, (r2, 0x0) + 504a: 3e40 cmpnei r6, 0 + 504c: 0c05 bf 0x5056 // 5056 + 504e: 93c0 ld.w r6, (r3, 0x0) + 5050: 9240 ld.w r2, (r2, 0x0) + 5052: 649a cmpne r6, r2 + 5054: 0fca bf 0x4fe8 // 4fe8 + 5056: 9340 ld.w r2, (r3, 0x0) + 5058: 3a40 cmpnei r2, 0 + 505a: 0c08 bf 0x506a // 506a + 505c: 9140 ld.w r2, (r1, 0x0) + 505e: 3a40 cmpnei r2, 0 + 5060: 0c05 bf 0x506a // 506a + 5062: 9340 ld.w r2, (r3, 0x0) + 5064: 9120 ld.w r1, (r1, 0x0) + 5066: 644a cmpne r2, r1 + 5068: 0fc0 bf 0x4fe8 // 4fe8 + 506a: 9843 ld.w r2, (r14, 0xc) + 506c: 9220 ld.w r1, (r2, 0x0) + 506e: 9440 ld.w r2, (r4, 0x0) + 5070: 6885 andn r2, r1 + 5072: 07ca br 0x5006 // 5006 + 5074: b460 st.w r3, (r4, 0x0) + 5076: 07cc br 0x500e // 500e + 5078: b260 st.w r3, (r2, 0x0) + 507a: 3100 movi r1, 0 + 507c: 104c lrw r2, 0x2000051a // 50ac + 507e: a220 st.b r1, (r2, 0x0) + 5080: 104d lrw r2, 0x200005f4 // 50b4 + 5082: b260 st.w r3, (r2, 0x0) + 5084: 07dd br 0x503e // 503e + 5086: 0000 bkpt + 5088: 200004fc .long 0x200004fc + 508c: 20000490 .long 0x20000490 + 5090: 20000574 .long 0x20000574 + 5094: 200005fc .long 0x200005fc + 5098: 200006d4 .long 0x200006d4 + 509c: 2000069c .long 0x2000069c + 50a0: 20000760 .long 0x20000760 + 50a4: 20000600 .long 0x20000600 + 50a8: 20000704 .long 0x20000704 + 50ac: 2000051a .long 0x2000051a + 50b0: 20000188 .long 0x20000188 + 50b4: 200005f4 .long 0x200005f4 + +Disassembly of section .text.TKEYIntHandler: + +000050b8 : + 50b8: 1460 nie + 50ba: 1462 ipush + 50bc: 14d1 push r4, r15 + 50be: 1183 lrw r4, 0x20000068 // 5148 + 50c0: 8460 ld.b r3, (r4, 0x0) + 50c2: 3b40 cmpnei r3, 0 + 50c4: 0815 bt 0x50ee // 50ee + 50c6: 3301 movi r3, 1 + 50c8: a460 st.b r3, (r4, 0x0) + 50ca: 1161 lrw r3, 0x20000508 // 514c + 50cc: 8360 ld.b r3, (r3, 0x0) + 50ce: 3b41 cmpnei r3, 1 + 50d0: 080f bt 0x50ee // 50ee + 50d2: 1140 lrw r2, 0x20000719 // 5150 + 50d4: 8260 ld.b r3, (r2, 0x0) + 50d6: 2300 addi r3, 1 + 50d8: 74cc zextb r3, r3 + 50da: a260 st.b r3, (r2, 0x0) + 50dc: 8260 ld.b r3, (r2, 0x0) + 50de: 3b43 cmpnei r3, 3 + 50e0: 0803 bt 0x50e6 // 50e6 + 50e2: 3300 movi r3, 0 + 50e4: a260 st.b r3, (r2, 0x0) + 50e6: e3fff733 bsr 0x3f4c // 3f4c + 50ea: 3301 movi r3, 1 + 50ec: a461 st.b r3, (r4, 0x1) + 50ee: 107a lrw r3, 0x20000058 // 5154 + 50f0: 3101 movi r1, 1 + 50f2: 9360 ld.w r3, (r3, 0x0) + 50f4: 934a ld.w r2, (r3, 0x28) + 50f6: 6884 and r2, r1 + 50f8: 3a40 cmpnei r2, 0 + 50fa: 0c02 bf 0x50fe // 50fe + 50fc: b32c st.w r1, (r3, 0x30) + 50fe: 934a ld.w r2, (r3, 0x28) + 5100: 3102 movi r1, 2 + 5102: 6884 and r2, r1 + 5104: 3a40 cmpnei r2, 0 + 5106: 0c02 bf 0x510a // 510a + 5108: b32c st.w r1, (r3, 0x30) + 510a: 934a ld.w r2, (r3, 0x28) + 510c: 3104 movi r1, 4 + 510e: 6884 and r2, r1 + 5110: 3a40 cmpnei r2, 0 + 5112: 0c02 bf 0x5116 // 5116 + 5114: b32c st.w r1, (r3, 0x30) + 5116: 934a ld.w r2, (r3, 0x28) + 5118: 3108 movi r1, 8 + 511a: 6884 and r2, r1 + 511c: 3a40 cmpnei r2, 0 + 511e: 0c02 bf 0x5122 // 5122 + 5120: b32c st.w r1, (r3, 0x30) + 5122: 934a ld.w r2, (r3, 0x28) + 5124: 3110 movi r1, 16 + 5126: 6884 and r2, r1 + 5128: 3a40 cmpnei r2, 0 + 512a: 0c02 bf 0x512e // 512e + 512c: b32c st.w r1, (r3, 0x30) + 512e: 934a ld.w r2, (r3, 0x28) + 5130: 3120 movi r1, 32 + 5132: 6884 and r2, r1 + 5134: 3a40 cmpnei r2, 0 + 5136: 0c02 bf 0x513a // 513a + 5138: b32c st.w r1, (r3, 0x30) + 513a: d9ee2001 ld.w r15, (r14, 0x4) + 513e: 9880 ld.w r4, (r14, 0x0) + 5140: 1402 addi r14, r14, 8 + 5142: 1463 ipop + 5144: 1461 nir + 5146: 0000 bkpt + 5148: 20000068 .long 0x20000068 + 514c: 20000508 .long 0x20000508 + 5150: 20000719 .long 0x20000719 + 5154: 20000058 .long 0x20000058 + +Disassembly of section .text.CORETHandler: + +00005158 : + 5158: 1460 nie + 515a: 1462 ipush + 515c: 14d3 push r4-r6, r15 + 515e: 1269 lrw r3, 0x20000064 // 5280 + 5160: 3400 movi r4, 0 + 5162: 9360 ld.w r3, (r3, 0x0) + 5164: b386 st.w r4, (r3, 0x18) + 5166: 1268 lrw r3, 0x20000508 // 5284 + 5168: 8360 ld.b r3, (r3, 0x0) + 516a: 3b41 cmpnei r3, 1 + 516c: 0840 bt 0x51ec // 51ec + 516e: e3fff7a5 bsr 0x40b8 // 40b8 + 5172: e3fff7d7 bsr 0x4120 // 4120 + 5176: e3fffc0d bsr 0x4990 // 4990 + 517a: e3fffc9f bsr 0x4ab8 // 4ab8 + 517e: e3fff653 bsr 0x3e24 // 3e24 + 5182: e3ffff03 bsr 0x4f88 // 4f88 + 5186: 1261 lrw r3, 0x200005fc // 5288 + 5188: 9360 ld.w r3, (r3, 0x0) + 518a: 3b40 cmpnei r3, 0 + 518c: 0c12 bf 0x51b0 // 51b0 + 518e: 1260 lrw r3, 0x20000158 // 528c + 5190: 9340 ld.w r2, (r3, 0x0) + 5192: 3a40 cmpnei r2, 0 + 5194: 0c0e bf 0x51b0 // 51b0 + 5196: 117f lrw r3, 0x200005f4 // 5290 + 5198: 3064 movi r0, 100 + 519a: 9320 ld.w r1, (r3, 0x0) + 519c: 2100 addi r1, 1 + 519e: b320 st.w r1, (r3, 0x0) + 51a0: 9320 ld.w r1, (r3, 0x0) + 51a2: 7c80 mult r2, r0 + 51a4: 6448 cmphs r2, r1 + 51a6: 0805 bt 0x51b0 // 51b0 + 51a8: 115b lrw r2, 0x200005a1 // 5294 + 51aa: 3101 movi r1, 1 + 51ac: a220 st.b r1, (r2, 0x0) + 51ae: b380 st.w r4, (r3, 0x0) + 51b0: 117a lrw r3, 0x20000150 // 5298 + 51b2: 8340 ld.b r2, (r3, 0x0) + 51b4: 3a41 cmpnei r2, 1 + 51b6: 0823 bt 0x51fc // 51fc + 51b8: 1139 lrw r1, 0x200004fc // 529c + 51ba: 115a lrw r2, 0x20000490 // 52a0 + 51bc: 9100 ld.w r0, (r1, 0x0) + 51be: 9260 ld.w r3, (r2, 0x0) + 51c0: 64c2 cmpne r0, r3 + 51c2: 1179 lrw r3, 0x20000698 // 52a4 + 51c4: 080a bt 0x51d8 // 51d8 + 51c6: 9280 ld.w r4, (r2, 0x0) + 51c8: 1158 lrw r2, 0x20000574 // 52a8 + 51ca: 9200 ld.w r0, (r2, 0x0) + 51cc: 6412 cmpne r4, r0 + 51ce: 0805 bt 0x51d8 // 51d8 + 51d0: 9120 ld.w r1, (r1, 0x0) + 51d2: 9240 ld.w r2, (r2, 0x0) + 51d4: 6486 cmpne r1, r2 + 51d6: 0c09 bf 0x51e8 // 51e8 + 51d8: 9340 ld.w r2, (r3, 0x0) + 51da: 2200 addi r2, 1 + 51dc: b340 st.w r2, (r3, 0x0) + 51de: 1154 lrw r2, 0x20000088 // 52ac + 51e0: 823c ld.b r1, (r2, 0x1c) + 51e2: 9340 ld.w r2, (r3, 0x0) + 51e4: 6484 cmphs r1, r2 + 51e6: 0803 bt 0x51ec // 51ec + 51e8: 3200 movi r2, 0 + 51ea: b340 st.w r2, (r3, 0x0) + 51ec: d9ee2003 ld.w r15, (r14, 0xc) + 51f0: 98c2 ld.w r6, (r14, 0x8) + 51f2: 98a1 ld.w r5, (r14, 0x4) + 51f4: 9880 ld.w r4, (r14, 0x0) + 51f6: 1404 addi r14, r14, 16 + 51f8: 1463 ipop + 51fa: 1461 nir + 51fc: 83a0 ld.b r5, (r3, 0x0) + 51fe: 7554 zextb r5, r5 + 5200: 3d40 cmpnei r5, 0 + 5202: 0bf5 bt 0x51ec // 51ec + 5204: 1166 lrw r3, 0x200004fc // 529c + 5206: 1147 lrw r2, 0x20000490 // 52a0 + 5208: 9300 ld.w r0, (r3, 0x0) + 520a: 9220 ld.w r1, (r2, 0x0) + 520c: 6442 cmpne r0, r1 + 520e: 1127 lrw r1, 0x20000574 // 52a8 + 5210: 1105 lrw r0, 0x20000698 // 52a4 + 5212: 0c33 bf 0x5278 // 5278 + 5214: 92c0 ld.w r6, (r2, 0x0) + 5216: 9180 ld.w r4, (r1, 0x0) + 5218: 651a cmpne r6, r4 + 521a: 0c2f bf 0x5278 // 5278 + 521c: 93c0 ld.w r6, (r3, 0x0) + 521e: 9180 ld.w r4, (r1, 0x0) + 5220: 651a cmpne r6, r4 + 5222: 0c2b bf 0x5278 // 5278 + 5224: 9080 ld.w r4, (r0, 0x0) + 5226: 2400 addi r4, 1 + 5228: b080 st.w r4, (r0, 0x0) + 522a: 1181 lrw r4, 0x20000088 // 52ac + 522c: 84dc ld.b r6, (r4, 0x1c) + 522e: 9080 ld.w r4, (r0, 0x0) + 5230: 6518 cmphs r6, r4 + 5232: 0802 bt 0x5236 // 5236 + 5234: b0a0 st.w r5, (r0, 0x0) + 5236: 9380 ld.w r4, (r3, 0x0) + 5238: 9200 ld.w r0, (r2, 0x0) + 523a: 6412 cmpne r4, r0 + 523c: 101d lrw r0, 0x200006d8 // 52b0 + 523e: 0c04 bf 0x5246 // 5246 + 5240: 9180 ld.w r4, (r1, 0x0) + 5242: 3c40 cmpnei r4, 0 + 5244: 0c0f bf 0x5262 // 5262 + 5246: 93a0 ld.w r5, (r3, 0x0) + 5248: 9180 ld.w r4, (r1, 0x0) + 524a: 6516 cmpne r5, r4 + 524c: 0c04 bf 0x5254 // 5254 + 524e: 9280 ld.w r4, (r2, 0x0) + 5250: 3c40 cmpnei r4, 0 + 5252: 0c08 bf 0x5262 // 5262 + 5254: 9120 ld.w r1, (r1, 0x0) + 5256: 9240 ld.w r2, (r2, 0x0) + 5258: 6486 cmpne r1, r2 + 525a: 0c0c bf 0x5272 // 5272 + 525c: 9360 ld.w r3, (r3, 0x0) + 525e: 3b40 cmpnei r3, 0 + 5260: 0809 bt 0x5272 // 5272 + 5262: 9060 ld.w r3, (r0, 0x0) + 5264: 2300 addi r3, 1 + 5266: b060 st.w r3, (r0, 0x0) + 5268: 1071 lrw r3, 0x20000088 // 52ac + 526a: 835c ld.b r2, (r3, 0x1c) + 526c: 9060 ld.w r3, (r0, 0x0) + 526e: 64c8 cmphs r2, r3 + 5270: 0bbe bt 0x51ec // 51ec + 5272: 3300 movi r3, 0 + 5274: b060 st.w r3, (r0, 0x0) + 5276: 07bb br 0x51ec // 51ec + 5278: 3400 movi r4, 0 + 527a: b080 st.w r4, (r0, 0x0) + 527c: 07dd br 0x5236 // 5236 + 527e: 0000 bkpt + 5280: 20000064 .long 0x20000064 + 5284: 20000508 .long 0x20000508 + 5288: 200005fc .long 0x200005fc + 528c: 20000158 .long 0x20000158 + 5290: 200005f4 .long 0x200005f4 + 5294: 200005a1 .long 0x200005a1 + 5298: 20000150 .long 0x20000150 + 529c: 200004fc .long 0x200004fc + 52a0: 20000490 .long 0x20000490 + 52a4: 20000698 .long 0x20000698 + 52a8: 20000574 .long 0x20000574 + 52ac: 20000088 .long 0x20000088 + 52b0: 200006d8 .long 0x200006d8 + +Disassembly of section .text.std_clk_calib: + +000052b4 : + 52b4: 14d4 push r4-r7, r15 + 52b6: 142d subi r14, r14, 52 + 52b8: 3201 movi r2, 1 + 52ba: 03ce lrw r6, 0x2000005c // 54fc + 52bc: 6cc3 mov r3, r0 + 52be: dc4e000a st.b r2, (r14, 0xa) + 52c2: 9640 ld.w r2, (r6, 0x0) + 52c4: 9247 ld.w r2, (r2, 0x1c) + 52c6: 7488 zextb r2, r2 + 52c8: dc4e0009 st.b r2, (r14, 0x9) + 52cc: d84e0009 ld.b r2, (r14, 0x9) + 52d0: 3a40 cmpnei r2, 0 + 52d2: 0c08 bf 0x52e2 // 52e2 + 52d4: d84e0009 ld.b r2, (r14, 0x9) + 52d8: 3a42 cmpnei r2, 2 + 52da: 0c04 bf 0x52e2 // 52e2 + 52dc: 3000 movi r0, 0 + 52de: 140d addi r14, r14, 52 + 52e0: 1494 pop r4-r7, r15 + 52e2: 0397 lrw r4, 0x2000000c // 5500 + 52e4: 3209 movi r2, 9 + 52e6: 9400 ld.w r0, (r4, 0x0) + 52e8: 3b40 cmpnei r3, 0 + 52ea: b041 st.w r2, (r0, 0x4) + 52ec: 0857 bt 0x539a // 539a + 52ee: 3307 movi r3, 7 + 52f0: dc6e000b st.b r3, (r14, 0xb) + 52f4: 037b lrw r3, 0x2dc6c00 // 5504 + 52f6: b863 st.w r3, (r14, 0xc) + 52f8: 3380 movi r3, 128 + 52fa: 4362 lsli r3, r3, 2 + 52fc: b867 st.w r3, (r14, 0x1c) + 52fe: d86e000b ld.b r3, (r14, 0xb) + 5302: 74cc zextb r3, r3 + 5304: b062 st.w r3, (r0, 0x8) + 5306: 037e lrw r3, 0xffff // 5508 + 5308: b063 st.w r3, (r0, 0xc) + 530a: 3201 movi r2, 1 + 530c: 3101 movi r1, 1 + 530e: 03bf lrw r5, 0x20000014 // 550c + 5310: e3ffe740 bsr 0x2190 // 2190 + 5314: 95e0 ld.w r7, (r5, 0x0) + 5316: 137f lrw r3, 0xbe9c0005 // 5510 + 5318: b760 st.w r3, (r7, 0x0) + 531a: 135f lrw r2, 0x30010 // 5514 + 531c: 3300 movi r3, 0 + 531e: b762 st.w r3, (r7, 0x8) + 5320: b743 st.w r2, (r7, 0xc) + 5322: 32d8 movi r2, 216 + 5324: b745 st.w r2, (r7, 0x14) + 5326: 974f ld.w r2, (r7, 0x3c) + 5328: 3aa2 bseti r2, 2 + 532a: b74f st.w r2, (r7, 0x3c) + 532c: 9803 ld.w r0, (r14, 0xc) + 532e: d82e000b ld.b r1, (r14, 0xb) + 5332: 327d movi r2, 125 + 5334: 2100 addi r1, 1 + 5336: 7c48 mult r1, r2 + 5338: b861 st.w r3, (r14, 0x4) + 533a: e3ffee43 bsr 0x2fc0 // 2fc0 <__udivsi3> + 533e: b804 st.w r0, (r14, 0x10) + 5340: 32fa movi r2, 250 + 5342: 9824 ld.w r1, (r14, 0x10) + 5344: 4242 lsli r2, r2, 2 + 5346: 6448 cmphs r2, r1 + 5348: 0bca bt 0x52dc // 52dc + 534a: 9844 ld.w r2, (r14, 0x10) + 534c: 3178 movi r1, 120 + 534e: 9804 ld.w r0, (r14, 0x10) + 5350: b840 st.w r2, (r14, 0x0) + 5352: e3ffee37 bsr 0x2fc0 // 2fc0 <__udivsi3> + 5356: 9840 ld.w r2, (r14, 0x0) + 5358: 6082 subu r2, r0 + 535a: b845 st.w r2, (r14, 0x14) + 535c: 9804 ld.w r0, (r14, 0x10) + 535e: 3178 movi r1, 120 + 5360: 9844 ld.w r2, (r14, 0x10) + 5362: b840 st.w r2, (r14, 0x0) + 5364: e3ffee2e bsr 0x2fc0 // 2fc0 <__udivsi3> + 5368: 9840 ld.w r2, (r14, 0x0) + 536a: 6008 addu r0, r2 + 536c: b806 st.w r0, (r14, 0x18) + 536e: c0807020 psrclr ie + 5372: 9640 ld.w r2, (r6, 0x0) + 5374: 9254 ld.w r2, (r2, 0x50) + 5376: b848 st.w r2, (r14, 0x20) + 5378: 9861 ld.w r3, (r14, 0x4) + 537a: 9440 ld.w r2, (r4, 0x0) + 537c: b260 st.w r3, (r2, 0x0) + 537e: b761 st.w r3, (r7, 0x4) + 5380: d86e000a ld.b r3, (r14, 0xa) + 5384: 3b40 cmpnei r3, 0 + 5386: 083e bt 0x5402 // 5402 + 5388: e3ffe6b6 bsr 0x20f4 // 20f4 + 538c: 9400 ld.w r0, (r4, 0x0) + 538e: e3ffe6d7 bsr 0x213c // 213c + 5392: c1807420 psrset ee, ie + 5396: 3001 movi r0, 1 + 5398: 07a3 br 0x52de // 52de + 539a: 3b41 cmpnei r3, 1 + 539c: 0806 bt 0x53a8 // 53a8 + 539e: 3303 movi r3, 3 + 53a0: dc6e000b st.b r3, (r14, 0xb) + 53a4: 127d lrw r3, 0x16e3600 // 5518 + 53a6: 07a8 br 0x52f6 // 52f6 + 53a8: 3b42 cmpnei r3, 2 + 53aa: 0806 bt 0x53b6 // 53b6 + 53ac: 3301 movi r3, 1 + 53ae: dc6e000b st.b r3, (r14, 0xb) + 53b2: 127b lrw r3, 0xb71b00 // 551c + 53b4: 07a1 br 0x52f6 // 52f6 + 53b6: 3b43 cmpnei r3, 3 + 53b8: 0806 bt 0x53c4 // 53c4 + 53ba: 3300 movi r3, 0 + 53bc: dc6e000b st.b r3, (r14, 0xb) + 53c0: 1278 lrw r3, 0x5b8d80 // 5520 + 53c2: 079a br 0x52f6 // 52f6 + 53c4: 3b44 cmpnei r3, 4 + 53c6: 0809 bt 0x53d8 // 53d8 + 53c8: 3300 movi r3, 0 + 53ca: dc6e000b st.b r3, (r14, 0xb) + 53ce: 1276 lrw r3, 0x54c720 // 5524 + 53d0: b863 st.w r3, (r14, 0xc) + 53d2: 3380 movi r3, 128 + 53d4: 4369 lsli r3, r3, 9 + 53d6: 0793 br 0x52fc // 52fc + 53d8: 3b45 cmpnei r3, 5 + 53da: 0806 bt 0x53e6 // 53e6 + 53dc: 3300 movi r3, 0 + 53de: dc6e000b st.b r3, (r14, 0xb) + 53e2: 1272 lrw r3, 0x3ffed0 // 5528 + 53e4: 07f6 br 0x53d0 // 53d0 + 53e6: 3b46 cmpnei r3, 6 + 53e8: 0806 bt 0x53f4 // 53f4 + 53ea: 3300 movi r3, 0 + 53ec: dc6e000b st.b r3, (r14, 0xb) + 53f0: 126f lrw r3, 0x1fff68 // 552c + 53f2: 07ef br 0x53d0 // 53d0 + 53f4: 3b47 cmpnei r3, 7 + 53f6: 0b84 bt 0x52fe // 52fe + 53f8: 3300 movi r3, 0 + 53fa: dc6e000b st.b r3, (r14, 0xb) + 53fe: 126d lrw r3, 0x1ffb8 // 5530 + 5400: 07e8 br 0x53d0 // 53d0 + 5402: 9560 ld.w r3, (r5, 0x0) + 5404: 3101 movi r1, 1 + 5406: 9440 ld.w r2, (r4, 0x0) + 5408: b321 st.w r1, (r3, 0x4) + 540a: b220 st.w r1, (r2, 0x0) + 540c: 3100 movi r1, 0 + 540e: b327 st.w r1, (r3, 0x1c) + 5410: 3004 movi r0, 4 + 5412: b225 st.w r1, (r2, 0x14) + 5414: 932e ld.w r1, (r3, 0x38) + 5416: 6840 and r1, r0 + 5418: 3940 cmpnei r1, 0 + 541a: 0ffd bf 0x5414 // 5414 + 541c: 9225 ld.w r1, (r2, 0x14) + 541e: b82a st.w r1, (r14, 0x28) + 5420: 3100 movi r1, 0 + 5422: b310 st.w r0, (r3, 0x40) + 5424: b327 st.w r1, (r3, 0x1c) + 5426: 3004 movi r0, 4 + 5428: b225 st.w r1, (r2, 0x14) + 542a: 932e ld.w r1, (r3, 0x38) + 542c: 6840 and r1, r0 + 542e: 3940 cmpnei r1, 0 + 5430: 0ffd bf 0x542a // 542a + 5432: 9225 ld.w r1, (r2, 0x14) + 5434: b82b st.w r1, (r14, 0x2c) + 5436: 3100 movi r1, 0 + 5438: b310 st.w r0, (r3, 0x40) + 543a: b327 st.w r1, (r3, 0x1c) + 543c: 3004 movi r0, 4 + 543e: b225 st.w r1, (r2, 0x14) + 5440: 932e ld.w r1, (r3, 0x38) + 5442: 6840 and r1, r0 + 5444: 3940 cmpnei r1, 0 + 5446: 0ffd bf 0x5440 // 5440 + 5448: 9225 ld.w r1, (r2, 0x14) + 544a: b82c st.w r1, (r14, 0x30) + 544c: b310 st.w r0, (r3, 0x40) + 544e: 982b ld.w r1, (r14, 0x2c) + 5450: 980c ld.w r0, (r14, 0x30) + 5452: 6040 addu r1, r0 + 5454: b829 st.w r1, (r14, 0x24) + 5456: 9829 ld.w r1, (r14, 0x24) + 5458: 4921 lsri r1, r1, 1 + 545a: b829 st.w r1, (r14, 0x24) + 545c: 3100 movi r1, 0 + 545e: b321 st.w r1, (r3, 0x4) + 5460: b220 st.w r1, (r2, 0x0) + 5462: b327 st.w r1, (r3, 0x1c) + 5464: b225 st.w r1, (r2, 0x14) + 5466: d86e0009 ld.b r3, (r14, 0x9) + 546a: 3b42 cmpnei r3, 2 + 546c: 9849 ld.w r2, (r14, 0x24) + 546e: 082c bt 0x54c6 // 54c6 + 5470: 1171 lrw r3, 0x7ff // 5534 + 5472: 648c cmphs r3, r2 + 5474: 0c03 bf 0x547a // 547a + 5476: 3300 movi r3, 0 + 5478: 040f br 0x5496 // 5496 + 547a: 9849 ld.w r2, (r14, 0x24) + 547c: 9866 ld.w r3, (r14, 0x18) + 547e: 648c cmphs r3, r2 + 5480: 080e bt 0x549c // 549c + 5482: 9868 ld.w r3, (r14, 0x20) + 5484: 9847 ld.w r2, (r14, 0x1c) + 5486: 60ca subu r3, r2 + 5488: b868 st.w r3, (r14, 0x20) + 548a: 32fe movi r2, 254 + 548c: 9868 ld.w r3, (r14, 0x20) + 548e: 4248 lsli r2, r2, 8 + 5490: 68c8 and r3, r2 + 5492: 3b40 cmpnei r3, 0 + 5494: 0812 bt 0x54b8 // 54b8 + 5496: dc6e000a st.b r3, (r14, 0xa) + 549a: 0721 br 0x52dc // 52dc + 549c: 9849 ld.w r2, (r14, 0x24) + 549e: 9865 ld.w r3, (r14, 0x14) + 54a0: 64c8 cmphs r2, r3 + 54a2: 0829 bt 0x54f4 // 54f4 + 54a4: 9868 ld.w r3, (r14, 0x20) + 54a6: 9847 ld.w r2, (r14, 0x1c) + 54a8: 60c8 addu r3, r2 + 54aa: b868 st.w r3, (r14, 0x20) + 54ac: 33fe movi r3, 254 + 54ae: 9848 ld.w r2, (r14, 0x20) + 54b0: 4368 lsli r3, r3, 8 + 54b2: 688c and r2, r3 + 54b4: 64ca cmpne r2, r3 + 54b6: 0fe0 bf 0x5476 // 5476 + 54b8: 9660 ld.w r3, (r6, 0x0) + 54ba: 9848 ld.w r2, (r14, 0x20) + 54bc: b354 st.w r2, (r3, 0x50) + 54be: 3001 movi r0, 1 + 54c0: e3ffe78c bsr 0x23d8 // 23d8 + 54c4: 075e br 0x5380 // 5380 + 54c6: 9866 ld.w r3, (r14, 0x18) + 54c8: 648c cmphs r3, r2 + 54ca: 0809 bt 0x54dc // 54dc + 54cc: 9868 ld.w r3, (r14, 0x20) + 54ce: 9847 ld.w r2, (r14, 0x1c) + 54d0: 60ca subu r3, r2 + 54d2: b868 st.w r3, (r14, 0x20) + 54d4: 32ff movi r2, 255 + 54d6: 9868 ld.w r3, (r14, 0x20) + 54d8: 4250 lsli r2, r2, 16 + 54da: 07db br 0x5490 // 5490 + 54dc: 9849 ld.w r2, (r14, 0x24) + 54de: 9865 ld.w r3, (r14, 0x14) + 54e0: 64c8 cmphs r2, r3 + 54e2: 0809 bt 0x54f4 // 54f4 + 54e4: 9868 ld.w r3, (r14, 0x20) + 54e6: 9847 ld.w r2, (r14, 0x1c) + 54e8: 60c8 addu r3, r2 + 54ea: b868 st.w r3, (r14, 0x20) + 54ec: 33ff movi r3, 255 + 54ee: 9848 ld.w r2, (r14, 0x20) + 54f0: 4370 lsli r3, r3, 16 + 54f2: 07e0 br 0x54b2 // 54b2 + 54f4: 3300 movi r3, 0 + 54f6: dc6e000a st.b r3, (r14, 0xa) + 54fa: 07e2 br 0x54be // 54be + 54fc: 2000005c .long 0x2000005c + 5500: 2000000c .long 0x2000000c + 5504: 02dc6c00 .long 0x02dc6c00 + 5508: 0000ffff .long 0x0000ffff + 550c: 20000014 .long 0x20000014 + 5510: be9c0005 .long 0xbe9c0005 + 5514: 00030010 .long 0x00030010 + 5518: 016e3600 .long 0x016e3600 + 551c: 00b71b00 .long 0x00b71b00 + 5520: 005b8d80 .long 0x005b8d80 + 5524: 0054c720 .long 0x0054c720 + 5528: 003ffed0 .long 0x003ffed0 + 552c: 001fff68 .long 0x001fff68 + 5530: 0001ffb8 .long 0x0001ffb8 + 5534: 000007ff .long 0x000007ff diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_ZH_V01.map b/Source/Lst/T1_TC_34650_ZH_V01.map similarity index 72% rename from T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_ZH_V01.map rename to Source/Lst/T1_TC_34650_ZH_V01.map index d29f9ed..8f51173 100644 --- a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_ZH_V01.map +++ b/Source/Lst/T1_TC_34650_ZH_V01.map @@ -10,14 +10,14 @@ ELF Header: Version: 0x1 Entry point address: 0x10c Start of program headers: 52 (bytes into file) - Start of section headers: 349696 (bytes into file) + Start of section headers: 346392 (bytes into file) Flags: 0x21000000 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 2 Size of section headers: 40 (bytes) - Number of section headers: 172 - Section header string table index: 169 + Number of section headers: 159 + Section header string table index: 156 Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al @@ -72,127 +72,114 @@ Section Headers: [48] .text.UARTInitRxT PROGBITS 00002320 003320 000010 00 AX 0 0 4 [49] .text.UARTTransmi PROGBITS 00002330 003330 00001e 00 AX 0 0 2 [50] .text.EPT_Stop PROGBITS 00002350 003350 000028 00 AX 0 0 4 - [51] .text.Page_Progra PROGBITS 00002378 003378 0000a0 00 AX 0 0 4 - [52] .text.ReadDataArr PROGBITS 00002418 003418 00002a 00 AX 0 0 2 - [53] .text.startup.mai PROGBITS 00002444 003444 000038 00 AX 0 0 4 - [54] .text.delay_nms PROGBITS 0000247c 00347c 00002c 00 AX 0 0 2 - [55] .text.delay_nus PROGBITS 000024a8 0034a8 000022 00 AX 0 0 2 - [56] .text.BT_CONFIG PROGBITS 000024cc 0034cc 000060 00 AX 0 0 4 - [57] .text.SYSCON_CONF PROGBITS 0000252c 00352c 000062 00 AX 0 0 2 - [58] .text.APT32F102_i PROGBITS 00002590 003590 000094 00 AX 0 0 4 - [59] .text.SYSCONIntHa PROGBITS 00002624 003624 0000f0 00 AX 0 0 4 - [60] .text.IFCIntHandl PROGBITS 00002714 003714 000068 00 AX 0 0 4 - [61] .text.ADCIntHandl PROGBITS 0000277c 00377c 000068 00 AX 0 0 4 - [62] .text.EPT0IntHand PROGBITS 000027e4 0037e4 0001ac 00 AX 0 0 4 - [63] .text.WWDTHandler PROGBITS 00002990 003990 000034 00 AX 0 0 4 - [64] .text.GPT0IntHand PROGBITS 000029c4 0039c4 000080 00 AX 0 0 4 - [65] .text.RTCIntHandl PROGBITS 00002a44 003a44 000070 00 AX 0 0 4 - [66] .text.UART0IntHan PROGBITS 00002ab4 003ab4 000060 00 AX 0 0 4 - [67] .text.UART1IntHan PROGBITS 00002b14 003b14 000094 00 AX 0 0 4 - [68] .text.UART2IntHan PROGBITS 00002ba8 003ba8 000094 00 AX 0 0 4 - [69] .text.SPI0IntHand PROGBITS 00002c3c 003c3c 0000e8 00 AX 0 0 4 - [70] .text.SIO0IntHand PROGBITS 00002d24 003d24 000054 00 AX 0 0 4 - [71] .text.EXI0IntHand PROGBITS 00002d78 003d78 000030 00 AX 0 0 4 - [72] .text.EXI1IntHand PROGBITS 00002da8 003da8 000030 00 AX 0 0 4 - [73] .text.EXI2to3IntH PROGBITS 00002dd8 003dd8 000048 00 AX 0 0 4 - [74] .text.EXI4to9IntH PROGBITS 00002e20 003e20 00006c 00 AX 0 0 4 - [75] .text.EXI10to15In PROGBITS 00002e8c 003e8c 000060 00 AX 0 0 4 - [76] .text.LPTIntHandl PROGBITS 00002eec 003eec 000034 00 AX 0 0 4 - [77] .text.BT0IntHandl PROGBITS 00002f20 003f20 00004c 00 AX 0 0 4 - [78] .text.BT1IntHandl PROGBITS 00002f6c 003f6c 000070 00 AX 0 0 4 - [79] .text.PriviledgeV PROGBITS 00002fdc 003fdc 000002 00 AX 0 0 2 - [80] .text.PendTrapHan PROGBITS 00002fde 003fde 000008 00 AX 0 0 2 - [81] .text.Trap3Handle PROGBITS 00002fe6 003fe6 000008 00 AX 0 0 2 - [82] .text.Trap2Handle PROGBITS 00002fee 003fee 000008 00 AX 0 0 2 - [83] .text.Trap1Handle PROGBITS 00002ff6 003ff6 000008 00 AX 0 0 2 - [84] .text.Trap0Handle PROGBITS 00002ffe 003ffe 000008 00 AX 0 0 2 - [85] .text.UnrecExecpH PROGBITS 00003006 004006 000008 00 AX 0 0 2 - [86] .text.BreakPointH PROGBITS 0000300e 00400e 000008 00 AX 0 0 2 - [87] .text.AccessErrHa PROGBITS 00003016 004016 000008 00 AX 0 0 2 - [88] .text.IllegalInst PROGBITS 0000301e 00401e 000008 00 AX 0 0 2 - [89] .text.MisalignedH PROGBITS 00003026 004026 000008 00 AX 0 0 2 - [90] .text.CNTAIntHand PROGBITS 0000302e 00402e 000008 00 AX 0 0 2 - [91] .text.I2CIntHandl PROGBITS 00003036 004036 000008 00 AX 0 0 2 - [92] .text.__divsi3 PROGBITS 00003040 004040 000024 00 AX 0 0 4 - [93] .text.__udivsi3 PROGBITS 00003064 004064 000024 00 AX 0 0 4 - [94] .text.__umodsi3 PROGBITS 00003088 004088 000024 00 AX 0 0 4 - [95] .text.CK_CPU_EnAl PROGBITS 000030ac 0040ac 000006 00 AX 0 0 2 - [96] .text.CK_CPU_DisA PROGBITS 000030b2 0040b2 000006 00 AX 0 0 2 - [97] .text.UARTx_Init PROGBITS 000030b8 0040b8 000158 00 AX 0 0 4 - [98] .text.UART0_RecvI PROGBITS 00003210 004210 000038 00 AX 0 0 4 - [99] .text.UART1_RecvI PROGBITS 00003248 004248 000038 00 AX 0 0 4 - [100] .text.UART1_TASK PROGBITS 00003280 004280 00006c 00 AX 0 0 4 - [101] .text.UART2_RecvI PROGBITS 000032ec 0042ec 000044 00 AX 0 0 4 - [102] .text.UART2_TASK PROGBITS 00003330 004330 000078 00 AX 0 0 4 - [103] .text.Controller4 PROGBITS 000033a8 0043a8 0000a8 00 AX 0 0 4 - [104] .text.BUS485_Send PROGBITS 00003450 004450 0000c4 00 AX 0 0 4 - [105] .text.MultSend_Ta PROGBITS 00003514 004514 000074 00 AX 0 0 4 - [106] .text.Set_GroupSe PROGBITS 00003588 004588 000064 00 AX 0 0 4 - [107] .text.Clear_SendF PROGBITS 000035ec 0045ec 000010 00 AX 0 0 4 - [108] .text.BUS485Send_ PROGBITS 000035fc 0045fc 000034 00 AX 0 0 4 - [109] .text.BusIdle_Tas PROGBITS 00003630 004630 000040 00 AX 0 0 4 - [110] .text.BusBusy_Tas PROGBITS 00003670 004670 00005c 00 AX 0 0 4 - [111] .text.Dbg_Println PROGBITS 000036cc 0046cc 00000c 00 AX 0 0 2 - [112] .text.EEPROM_Chec PROGBITS 000036d8 0046d8 000016 00 AX 0 0 2 - [113] .text.EEPROM_Read PROGBITS 000036f0 0046f0 000074 00 AX 0 0 4 - [114] .text.EEPROM_Writ PROGBITS 00003764 004764 000044 00 AX 0 0 4 - [115] .text.EEPROM_Vali PROGBITS 000037a8 0047a8 000030 00 AX 0 0 4 - [116] .text.EEPROM_Defa PROGBITS 000037d8 0047d8 000020 00 AX 0 0 2 - [117] .text.EEPROM_Init PROGBITS 000037f8 0047f8 000054 00 AX 0 0 4 - [118] .text.TemCtrl_Ini PROGBITS 0000384c 00484c 00015c 00 AX 0 0 4 - [119] .text.Tem_Valve_C PROGBITS 000039a8 0049a8 000060 00 AX 0 0 4 - [120] .text.DisPlay_Tas PROGBITS 00003a08 004a08 000194 00 AX 0 0 4 - [121] .text.Ctrller_Que PROGBITS 00003b9c 004b9c 000044 00 AX 0 0 4 - [122] .text.Ctrller_Ctr PROGBITS 00003be0 004be0 0000a4 00 AX 0 0 4 - [123] .text.TemCtrl_Pro PROGBITS 00003c84 004c84 0000cc 00 AX 0 0 4 - [124] .text.Ctrller_Air PROGBITS 00003d50 004d50 0000d4 00 AX 0 0 4 - [125] .text.Ctrller_Ctr PROGBITS 00003e24 004e24 000020 00 AX 0 0 4 - [126] .text.Ctrller_Rec PROGBITS 00003e44 004e44 0000b8 00 AX 0 0 4 - [127] .text.NetCRC16_Ch PROGBITS 00003efc 004efc 00004c 00 AX 0 0 4 - [128] .text.GetCRC16 PROGBITS 00003f48 004f48 00003c 00 AX 0 0 4 - [129] .text.SOR_CRC PROGBITS 00003f84 004f84 000016 00 AX 0 0 2 - [130] .text.Rs485_ASend PROGBITS 00003f9c 004f9c 000110 00 AX 0 0 4 - [131] .text.Rs485AskCyc PROGBITS 000040ac 0050ac 000104 00 AX 0 0 4 - [132] .text.Rs485AskCtr PROGBITS 000041b0 0051b0 00005c 00 AX 0 0 4 - [133] .text.Rs485AskRea PROGBITS 0000420c 00520c 00006c 00 AX 0 0 4 - [134] .text.Rs485_DevPo PROGBITS 00004278 005278 000018 00 AX 0 0 2 - [135] .text.Temp_Rec_An PROGBITS 00004290 005290 0001b8 00 AX 0 0 4 - [136] .text.Tem_Rs485_R PROGBITS 00004448 005448 0000c0 00 AX 0 0 4 - [137] .text.DIP_GetSwit PROGBITS 00004508 005508 000034 00 AX 0 0 4 - [138] .text.DIP_Switch_ PROGBITS 0000453c 00553c 00008c 00 AX 0 0 4 - [139] .text.DIP_ScanTas PROGBITS 000045c8 0055c8 000098 00 AX 0 0 4 - [140] .text.TK_Single_L PROGBITS 00004660 005660 000128 00 AX 0 0 4 - [141] .text.TK_Sampling PROGBITS 00004788 005788 0000cc 00 AX 0 0 4 - [142] .text.get_key_num PROGBITS 00004854 005854 000028 00 AX 0 0 4 - [143] .text.get_key_num PROGBITS 0000487c 00587c 000028 00 AX 0 0 4 - [144] .text.get_key_num PROGBITS 000048a4 0058a4 000028 00 AX 0 0 4 - [145] .text.get_key_num PROGBITS 000048cc 0058cc 000028 00 AX 0 0 4 - [146] .text.TK_Scan_Sta PROGBITS 000048f4 0058f4 000068 00 AX 0 0 4 - [147] .text.TK_Keymap_p PROGBITS 0000495c 00595c 000870 00 AX 0 0 4 - [148] .text.TK_overflow PROGBITS 000051cc 0061cc 000128 00 AX 0 0 4 - [149] .text.TK_Baseline PROGBITS 000052f4 0062f4 0004d0 00 AX 0 0 4 - [150] .text.TK_result_p PROGBITS 000057c4 0067c4 000130 00 AX 0 0 4 - [151] .text.TKEYIntHand PROGBITS 000058f4 0068f4 0000a0 00 AX 0 0 4 - [152] .text.CORETHandle PROGBITS 00005994 006994 00015c 00 AX 0 0 4 - [153] .text.std_clk_cal PROGBITS 00005af0 006af0 000284 00 AX 0 0 4 - [154] .RomCode PROGBITS 00005d74 0070a8 000000 00 W 0 0 1 - [155] .rodata PROGBITS 00005d74 006d74 000268 00 A 0 0 4 - [156] .data PROGBITS 20000000 007000 0000a8 00 WA 0 0 4 - [157] .bss NOBITS 200000a8 0070a8 00072c 00 WA 0 0 4 - [158] .csky.attributes CSKY_ATTRIBUTES 00000000 0070a8 000022 00 0 0 1 - [159] .comment PROGBITS 00000000 0070ca 000042 01 MS 0 0 1 - [160] .csky_stack_size PROGBITS 00000000 007110 0008ec 00 0 0 16 - [161] .debug_line PROGBITS 00000000 0079fc 0040fd 00 0 0 1 - [162] .debug_info PROGBITS 00000000 00baf9 031962 00 0 0 1 - [163] .debug_abbrev PROGBITS 00000000 03d45b 002ddc 00 0 0 1 - [164] .debug_aranges PROGBITS 00000000 040238 000cc8 00 0 0 8 - [165] .debug_ranges PROGBITS 00000000 040f00 000be0 00 0 0 1 - [166] .debug_str PROGBITS 00000000 041ae0 008bf0 01 MS 0 0 1 - [167] .debug_frame PROGBITS 00000000 04a6d0 001e50 00 0 0 4 - [168] .debug_loc PROGBITS 00000000 04c520 002822 00 0 0 1 - [169] .shstrtab STRTAB 00000000 0547ef 000e11 00 0 0 1 - [170] .symtab SYMTAB 00000000 04ed44 0043d0 10 171 727 4 - [171] .strtab STRTAB 00000000 053114 0016db 00 0 0 1 + [51] .text.ReadDataArr PROGBITS 00002378 003378 00002a 00 AX 0 0 2 + [52] .text.startup.mai PROGBITS 000023a4 0033a4 000034 00 AX 0 0 4 + [53] .text.delay_nms PROGBITS 000023d8 0033d8 00002c 00 AX 0 0 2 + [54] .text.delay_nus PROGBITS 00002404 003404 000022 00 AX 0 0 2 + [55] .text.BT_CONFIG PROGBITS 00002428 003428 000060 00 AX 0 0 4 + [56] .text.SYSCON_CONF PROGBITS 00002488 003488 000062 00 AX 0 0 2 + [57] .text.APT32F102_i PROGBITS 000024ec 0034ec 000094 00 AX 0 0 4 + [58] .text.SYSCONIntHa PROGBITS 00002580 003580 0000f0 00 AX 0 0 4 + [59] .text.IFCIntHandl PROGBITS 00002670 003670 000068 00 AX 0 0 4 + [60] .text.ADCIntHandl PROGBITS 000026d8 0036d8 000068 00 AX 0 0 4 + [61] .text.EPT0IntHand PROGBITS 00002740 003740 0001ac 00 AX 0 0 4 + [62] .text.WWDTHandler PROGBITS 000028ec 0038ec 000034 00 AX 0 0 4 + [63] .text.GPT0IntHand PROGBITS 00002920 003920 000080 00 AX 0 0 4 + [64] .text.RTCIntHandl PROGBITS 000029a0 0039a0 000070 00 AX 0 0 4 + [65] .text.UART0IntHan PROGBITS 00002a10 003a10 000060 00 AX 0 0 4 + [66] .text.UART1IntHan PROGBITS 00002a70 003a70 000094 00 AX 0 0 4 + [67] .text.UART2IntHan PROGBITS 00002b04 003b04 000094 00 AX 0 0 4 + [68] .text.SPI0IntHand PROGBITS 00002b98 003b98 0000e8 00 AX 0 0 4 + [69] .text.SIO0IntHand PROGBITS 00002c80 003c80 000054 00 AX 0 0 4 + [70] .text.EXI0IntHand PROGBITS 00002cd4 003cd4 000030 00 AX 0 0 4 + [71] .text.EXI1IntHand PROGBITS 00002d04 003d04 000030 00 AX 0 0 4 + [72] .text.EXI2to3IntH PROGBITS 00002d34 003d34 000048 00 AX 0 0 4 + [73] .text.EXI4to9IntH PROGBITS 00002d7c 003d7c 00006c 00 AX 0 0 4 + [74] .text.EXI10to15In PROGBITS 00002de8 003de8 000060 00 AX 0 0 4 + [75] .text.LPTIntHandl PROGBITS 00002e48 003e48 000034 00 AX 0 0 4 + [76] .text.BT0IntHandl PROGBITS 00002e7c 003e7c 00004c 00 AX 0 0 4 + [77] .text.BT1IntHandl PROGBITS 00002ec8 003ec8 000070 00 AX 0 0 4 + [78] .text.PriviledgeV PROGBITS 00002f38 003f38 000002 00 AX 0 0 2 + [79] .text.PendTrapHan PROGBITS 00002f3a 003f3a 000008 00 AX 0 0 2 + [80] .text.Trap3Handle PROGBITS 00002f42 003f42 000008 00 AX 0 0 2 + [81] .text.Trap2Handle PROGBITS 00002f4a 003f4a 000008 00 AX 0 0 2 + [82] .text.Trap1Handle PROGBITS 00002f52 003f52 000008 00 AX 0 0 2 + [83] .text.Trap0Handle PROGBITS 00002f5a 003f5a 000008 00 AX 0 0 2 + [84] .text.UnrecExecpH PROGBITS 00002f62 003f62 000008 00 AX 0 0 2 + [85] .text.BreakPointH PROGBITS 00002f6a 003f6a 000008 00 AX 0 0 2 + [86] .text.AccessErrHa PROGBITS 00002f72 003f72 000008 00 AX 0 0 2 + [87] .text.IllegalInst PROGBITS 00002f7a 003f7a 000008 00 AX 0 0 2 + [88] .text.MisalignedH PROGBITS 00002f82 003f82 000008 00 AX 0 0 2 + [89] .text.CNTAIntHand PROGBITS 00002f8a 003f8a 000008 00 AX 0 0 2 + [90] .text.I2CIntHandl PROGBITS 00002f92 003f92 000008 00 AX 0 0 2 + [91] .text.__divsi3 PROGBITS 00002f9c 003f9c 000024 00 AX 0 0 4 + [92] .text.__udivsi3 PROGBITS 00002fc0 003fc0 000024 00 AX 0 0 4 + [93] .text.__umodsi3 PROGBITS 00002fe4 003fe4 000024 00 AX 0 0 4 + [94] .text.CK_CPU_EnAl PROGBITS 00003008 004008 000006 00 AX 0 0 2 + [95] .text.CK_CPU_DisA PROGBITS 0000300e 00400e 000006 00 AX 0 0 2 + [96] .text.UARTx_Init PROGBITS 00003014 004014 000158 00 AX 0 0 4 + [97] .text.UART0_RecvI PROGBITS 0000316c 00416c 000038 00 AX 0 0 4 + [98] .text.UART1_RecvI PROGBITS 000031a4 0041a4 000038 00 AX 0 0 4 + [99] .text.UART1_TASK PROGBITS 000031dc 0041dc 00006c 00 AX 0 0 4 + [100] .text.UART2_RecvI PROGBITS 00003248 004248 000044 00 AX 0 0 4 + [101] .text.UART2_TASK PROGBITS 0000328c 00428c 000078 00 AX 0 0 4 + [102] .text.Controller4 PROGBITS 00003304 004304 0000a8 00 AX 0 0 4 + [103] .text.BUS485_Send PROGBITS 000033ac 0043ac 0000c4 00 AX 0 0 4 + [104] .text.MultSend_Ta PROGBITS 00003470 004470 000074 00 AX 0 0 4 + [105] .text.Set_GroupSe PROGBITS 000034e4 0044e4 000064 00 AX 0 0 4 + [106] .text.BUS485Send_ PROGBITS 00003548 004548 000034 00 AX 0 0 4 + [107] .text.BusIdle_Tas PROGBITS 0000357c 00457c 000040 00 AX 0 0 4 + [108] .text.BusBusy_Tas PROGBITS 000035bc 0045bc 00005c 00 AX 0 0 4 + [109] .text.Dbg_Println PROGBITS 00003618 004618 00000c 00 AX 0 0 2 + [110] .text.EEPROM_Chec PROGBITS 00003624 004624 000016 00 AX 0 0 2 + [111] .text.EEPROM_Read PROGBITS 0000363c 00463c 000074 00 AX 0 0 4 + [112] .text.EEPROM_Vali PROGBITS 000036b0 0046b0 000030 00 AX 0 0 4 + [113] .text.EEPROM_Defa PROGBITS 000036e0 0046e0 000020 00 AX 0 0 2 + [114] .text.EEPROM_Init PROGBITS 00003700 004700 000054 00 AX 0 0 4 + [115] .text.TemCtrl_Ini PROGBITS 00003754 004754 00015c 00 AX 0 0 4 + [116] .text.Ctrller_Ctr PROGBITS 000038b0 0048b0 0000a4 00 AX 0 0 4 + [117] .text.TemCtrl_Pro PROGBITS 00003954 004954 0000b0 00 AX 0 0 4 + [118] .text.Ctrller_Ctr PROGBITS 00003a04 004a04 000020 00 AX 0 0 4 + [119] .text.Ctrller_Rec PROGBITS 00003a24 004a24 0000a8 00 AX 0 0 4 + [120] .text.NetCRC16_Ch PROGBITS 00003acc 004acc 00004c 00 AX 0 0 4 + [121] .text.GetCRC16 PROGBITS 00003b18 004b18 00003c 00 AX 0 0 4 + [122] .text.Rs485AskCtr PROGBITS 00003b54 004b54 00005c 00 AX 0 0 4 + [123] .text.IrSend_Rs48 PROGBITS 00003bb0 004bb0 00011c 00 AX 0 0 4 + [124] .text.DIP_GetSwit PROGBITS 00003ccc 004ccc 000034 00 AX 0 0 4 + [125] .text.DIP_Switch_ PROGBITS 00003d00 004d00 00008c 00 AX 0 0 4 + [126] .text.DIP_ScanTas PROGBITS 00003d8c 004d8c 000098 00 AX 0 0 4 + [127] .text.TK_Single_L PROGBITS 00003e24 004e24 000128 00 AX 0 0 4 + [128] .text.TK_Sampling PROGBITS 00003f4c 004f4c 0000cc 00 AX 0 0 4 + [129] .text.get_key_num PROGBITS 00004018 005018 000028 00 AX 0 0 4 + [130] .text.get_key_num PROGBITS 00004040 005040 000028 00 AX 0 0 4 + [131] .text.get_key_num PROGBITS 00004068 005068 000028 00 AX 0 0 4 + [132] .text.get_key_num PROGBITS 00004090 005090 000028 00 AX 0 0 4 + [133] .text.TK_Scan_Sta PROGBITS 000040b8 0050b8 000068 00 AX 0 0 4 + [134] .text.TK_Keymap_p PROGBITS 00004120 005120 000870 00 AX 0 0 4 + [135] .text.TK_overflow PROGBITS 00004990 005990 000128 00 AX 0 0 4 + [136] .text.TK_Baseline PROGBITS 00004ab8 005ab8 0004d0 00 AX 0 0 4 + [137] .text.TK_result_p PROGBITS 00004f88 005f88 000130 00 AX 0 0 4 + [138] .text.TKEYIntHand PROGBITS 000050b8 0060b8 0000a0 00 AX 0 0 4 + [139] .text.CORETHandle PROGBITS 00005158 006158 00015c 00 AX 0 0 4 + [140] .text.std_clk_cal PROGBITS 000052b4 0062b4 000284 00 AX 0 0 4 + [141] .RomCode PROGBITS 00005538 0070a8 000000 00 W 0 0 1 + [142] .rodata PROGBITS 00005538 006538 00023c 00 A 0 0 4 + [143] .data PROGBITS 20000000 007000 0000a8 00 WA 0 0 4 + [144] .bss NOBITS 200000a8 0070a8 00072c 00 WA 0 0 4 + [145] .csky.attributes CSKY_ATTRIBUTES 00000000 0070a8 000022 00 0 0 1 + [146] .comment PROGBITS 00000000 0070ca 000042 01 MS 0 0 1 + [147] .csky_stack_size PROGBITS 00000000 007110 0008cc 00 0 0 16 + [148] .debug_line PROGBITS 00000000 0079dc 003fcc 00 0 0 1 + [149] .debug_info PROGBITS 00000000 00b9a8 0317a0 00 0 0 1 + [150] .debug_abbrev PROGBITS 00000000 03d148 002d33 00 0 0 1 + [151] .debug_aranges PROGBITS 00000000 03fe80 000ca0 00 0 0 8 + [152] .debug_ranges PROGBITS 00000000 040b20 000b88 00 0 0 1 + [153] .debug_str PROGBITS 00000000 0416a8 008b8b 01 MS 0 0 1 + [154] .debug_frame PROGBITS 00000000 04a234 001db0 00 0 0 4 + [155] .debug_loc PROGBITS 00000000 04bfe4 00270f 00 0 0 1 + [156] .shstrtab STRTAB 00000000 053c33 000ce3 00 0 0 1 + [157] .symtab SYMTAB 00000000 04e6f4 003f40 10 158 667 4 + [158] .strtab STRTAB 00000000 052634 0015ff 00 0 0 1 Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings), I (info), L (link order), O (extra OS processing required), G (group), T (TLS), @@ -201,12 +188,12 @@ Key to Flags: Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align - LOAD 0x001000 0x00000000 0x00000000 0x05fdc 0x05fdc R E 0x1000 - LOAD 0x007000 0x20000000 0x00005fdc 0x000a8 0x007d4 RW 0x1000 + LOAD 0x001000 0x00000000 0x00000000 0x05774 0x05774 R E 0x1000 + LOAD 0x007000 0x20000000 0x00005774 0x000a8 0x007d4 RW 0x1000 Section to Segment mapping: Segment Sections... - 00 .text .text.__main .text.SYSCON_General_CMD.part.0 .text.SYSCON_RST_VALUE .text.SYSCON_General_CMD .text.SystemCLK_HCLKDIV_PCLKDIV_Config .text.SYSCON_HFOSC_SELECTE .text.SYSCON_WDT_CMD .text.SYSCON_IWDCNT_Reload .text.SYSCON_IWDCNT_Config .text.SYSCON_LVD_Config .text.LVD_Int_Enable .text.IWDT_Int_Enable .text.EXTI_trigger_CMD .text.EXTI_interrupt_CMD .text.GPIO_EXTI_interrupt .text.EXI3_Int_Enable .text.SYSCON_Int_Enable .text.SYSCON_Int_Disable .text.SYSCON_INT_Priority .text.Set_INT_Priority .text.GPIO_DeInit .text.GPIO_Init .text.GPIO_PullHigh_Init .text.GPIO_DriveStrength_EN .text.GPIO_IntGroup_Set .text.GPIOB0_EXI_Init .text.GPIO_Write_High .text.GPIO_Write_Low .text.GPIO_Reverse .text.GPIO_Read_Status .text.LPT_Soft_Reset .text.WWDT_CNT_Load .text.BT_DeInit .text.BT_Start .text.BT_Soft_Reset .text.BT_Configure .text.BT_ControlSet_Configure .text.BT_Period_CMP_Write .text.BT_ConfigInterrupt_CMD .text.BT1_INT_ENABLE .text.UART0_DeInit .text.UART1_DeInit .text.UART2_DeInit .text.UART1_Int_Enable .text.UART2_Int_Enable .text.UART_IO_Init .text.UARTInitRxTxIntEn .text.UARTTransmit .text.EPT_Stop .text.Page_ProgramData .text.ReadDataArry_U8 .text.startup.main .text.delay_nms .text.delay_nus .text.BT_CONFIG .text.SYSCON_CONFIG .text.APT32F102_init .text.SYSCONIntHandler .text.IFCIntHandler .text.ADCIntHandler .text.EPT0IntHandler .text.WWDTHandler .text.GPT0IntHandler .text.RTCIntHandler .text.UART0IntHandler .text.UART1IntHandler .text.UART2IntHandler .text.SPI0IntHandler .text.SIO0IntHandler .text.EXI0IntHandler .text.EXI1IntHandler .text.EXI2to3IntHandler .text.EXI4to9IntHandler .text.EXI10to15IntHandler .text.LPTIntHandler .text.BT0IntHandler .text.BT1IntHandler .text.PriviledgeVioHandler .text.PendTrapHandler .text.Trap3Handler .text.Trap2Handler .text.Trap1Handler .text.Trap0Handler .text.UnrecExecpHandler .text.BreakPointHandler .text.AccessErrHandler .text.IllegalInstrHandler .text.MisalignedHandler .text.CNTAIntHandler .text.I2CIntHandler .text.__divsi3 .text.__udivsi3 .text.__umodsi3 .text.CK_CPU_EnAllNormalIrq .text.CK_CPU_DisAllNormalIrq .text.UARTx_Init .text.UART0_RecvINT_Processing .text.UART1_RecvINT_Processing .text.UART1_TASK .text.UART2_RecvINT_Processing .text.UART2_TASK .text.Controller485_SendData .text.BUS485_Send .text.MultSend_Task .text.Set_GroupSend .text.Clear_SendFlag .text.BUS485Send_Task .text.BusIdle_Task .text.BusBusy_Task .text.Dbg_Println .text.EEPROM_CheckSum .text.EEPROM_ReadParaInfo .text.EEPROM_WriteParaInfo .text.EEPROM_Validate_ParaInfo .text.EEPROM_Default_ParaInfo .text.EEPROM_Init .text.TemCtrl_Init .text.Tem_Valve_Ctrl .text.DisPlay_Task .text.Ctrller_Query_AirState .text.Ctrller_Ctrl_AirState .text.TemCtrl_Pro .text.Ctrller_AirState_Processing .text.Ctrller_CtrlAirState_Processing .text.Ctrller_RecData_Processing .text.NetCRC16_Check .text.GetCRC16 .text.SOR_CRC .text.Rs485_ASend .text.Rs485AskCycleSend .text.Rs485AskCtrlSend .text.Rs485AskReadSend .text.Rs485_DevPort_ACK .text.Temp_Rec_Analysis .text.Tem_Rs485_Rec_Pro .text.DIP_GetSwitchState .text.DIP_Switch_Init .text.DIP_ScanTask .text.TK_Single_Longpress_prg .text.TK_Sampling_prog .text.get_key_number .text.get_key_number0 .text.get_key_number1 .text.get_key_number2 .text.TK_Scan_Start .text.TK_Keymap_prog .text.TK_overflow_predict .text.TK_Baseline_tracking .text.TK_result_prog .text.TKEYIntHandler .text.CORETHandler .text.std_clk_calib .rodata + 00 .text .text.__main .text.SYSCON_General_CMD.part.0 .text.SYSCON_RST_VALUE .text.SYSCON_General_CMD .text.SystemCLK_HCLKDIV_PCLKDIV_Config .text.SYSCON_HFOSC_SELECTE .text.SYSCON_WDT_CMD .text.SYSCON_IWDCNT_Reload .text.SYSCON_IWDCNT_Config .text.SYSCON_LVD_Config .text.LVD_Int_Enable .text.IWDT_Int_Enable .text.EXTI_trigger_CMD .text.EXTI_interrupt_CMD .text.GPIO_EXTI_interrupt .text.EXI3_Int_Enable .text.SYSCON_Int_Enable .text.SYSCON_Int_Disable .text.SYSCON_INT_Priority .text.Set_INT_Priority .text.GPIO_DeInit .text.GPIO_Init .text.GPIO_PullHigh_Init .text.GPIO_DriveStrength_EN .text.GPIO_IntGroup_Set .text.GPIOB0_EXI_Init .text.GPIO_Write_High .text.GPIO_Write_Low .text.GPIO_Reverse .text.GPIO_Read_Status .text.LPT_Soft_Reset .text.WWDT_CNT_Load .text.BT_DeInit .text.BT_Start .text.BT_Soft_Reset .text.BT_Configure .text.BT_ControlSet_Configure .text.BT_Period_CMP_Write .text.BT_ConfigInterrupt_CMD .text.BT1_INT_ENABLE .text.UART0_DeInit .text.UART1_DeInit .text.UART2_DeInit .text.UART1_Int_Enable .text.UART2_Int_Enable .text.UART_IO_Init .text.UARTInitRxTxIntEn .text.UARTTransmit .text.EPT_Stop .text.ReadDataArry_U8 .text.startup.main .text.delay_nms .text.delay_nus .text.BT_CONFIG .text.SYSCON_CONFIG .text.APT32F102_init .text.SYSCONIntHandler .text.IFCIntHandler .text.ADCIntHandler .text.EPT0IntHandler .text.WWDTHandler .text.GPT0IntHandler .text.RTCIntHandler .text.UART0IntHandler .text.UART1IntHandler .text.UART2IntHandler .text.SPI0IntHandler .text.SIO0IntHandler .text.EXI0IntHandler .text.EXI1IntHandler .text.EXI2to3IntHandler .text.EXI4to9IntHandler .text.EXI10to15IntHandler .text.LPTIntHandler .text.BT0IntHandler .text.BT1IntHandler .text.PriviledgeVioHandler .text.PendTrapHandler .text.Trap3Handler .text.Trap2Handler .text.Trap1Handler .text.Trap0Handler .text.UnrecExecpHandler .text.BreakPointHandler .text.AccessErrHandler .text.IllegalInstrHandler .text.MisalignedHandler .text.CNTAIntHandler .text.I2CIntHandler .text.__divsi3 .text.__udivsi3 .text.__umodsi3 .text.CK_CPU_EnAllNormalIrq .text.CK_CPU_DisAllNormalIrq .text.UARTx_Init .text.UART0_RecvINT_Processing .text.UART1_RecvINT_Processing .text.UART1_TASK .text.UART2_RecvINT_Processing .text.UART2_TASK .text.Controller485_SendData .text.BUS485_Send .text.MultSend_Task .text.Set_GroupSend .text.BUS485Send_Task .text.BusIdle_Task .text.BusBusy_Task .text.Dbg_Println .text.EEPROM_CheckSum .text.EEPROM_ReadParaInfo .text.EEPROM_Validate_ParaInfo .text.EEPROM_Default_ParaInfo .text.EEPROM_Init .text.TemCtrl_Init .text.Ctrller_Ctrl_AirState .text.TemCtrl_Pro .text.Ctrller_CtrlAirState_Processing .text.Ctrller_RecData_Processing .text.NetCRC16_Check .text.GetCRC16 .text.Rs485AskCtrlSend .text.IrSend_Rs485_Pro .text.DIP_GetSwitchState .text.DIP_Switch_Init .text.DIP_ScanTask .text.TK_Single_Longpress_prg .text.TK_Sampling_prog .text.get_key_number .text.get_key_number0 .text.get_key_number1 .text.get_key_number2 .text.TK_Scan_Start .text.TK_Keymap_prog .text.TK_overflow_predict .text.TK_Baseline_tracking .text.TK_result_prog .text.TKEYIntHandler .text.CORETHandler .text.std_clk_calib .rodata 01 .data .bss ====================================================================== Csky GNU Linker @@ -230,6 +217,9 @@ Section Cross References Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.IWDT_Int_Enable) for IWDT_Int_Enable Obj/mcu_interrupt.o(.text.EPT0IntHandler) refers to Obj/FWlib_apt32f102_syscon.o(.text.EXTI_trigger_CMD) for EXTI_trigger_CMD Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_syscon.o(.text.EXTI_trigger_CMD) for EXTI_trigger_CMD + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_syscon.o(.text.EXTI_interrupt_CMD) for EXTI_interrupt_CMD + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_syscon.o(.text.GPIO_EXTI_interrupt) for GPIO_EXTI_interrupt + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_syscon.o(.text.EXI3_Int_Enable) for EXI3_Int_Enable Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_Int_Enable) for SYSCON_Int_Enable Obj/SYSTEM_uart.o(.text.UART1_TASK) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_Int_Enable) for SYSCON_Int_Enable Obj/SYSTEM_uart.o(.text.UART2_TASK) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_Int_Enable) for SYSCON_Int_Enable @@ -237,9 +227,6 @@ Section Cross References Obj/SYSTEM_uart.o(.text.UART2_TASK) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_Int_Disable) for SYSCON_Int_Disable Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_INT_Priority) for SYSCON_INT_Priority Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/FWlib_apt32f102_syscon.o(.text.Set_INT_Priority) for Set_INT_Priority - Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_syscon.o(.text.EXTI_interrupt_CMD) for EXTI_interrupt_CMD - Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_syscon.o(.text.GPIO_EXTI_interrupt) for GPIO_EXTI_interrupt - Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_syscon.o(.text.EXI3_Int_Enable) for EXI3_Int_Enable Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_DeInit) for GPIO_DeInit Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Init) for GPIO_Init Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Init) for GPIO_Init @@ -259,7 +246,6 @@ Section Cross References Obj/SYSTEM_dip_switch.o(.text.DIP_GetSwitchState) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Read_Status) for GPIO_Read_Status FWlib_apt32f102_clkcalib.o(.text.std_clk_calib) refers to Obj/FWlib_apt32f102_lpt.o(.text.LPT_Soft_Reset) for LPT_Soft_Reset Obj/mcu_interrupt.o(.text.WWDTHandler) refers to Obj/FWlib_apt32f102_wwdt.o(.text.WWDT_CNT_Load) for WWDT_CNT_Load - Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT1_INT_ENABLE) for BT1_INT_ENABLE Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_DeInit) for BT_DeInit Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_Start) for BT_Start FWlib_apt32f102_clkcalib.o(.text.std_clk_calib) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_Soft_Reset) for BT_Soft_Reset @@ -268,6 +254,7 @@ Section Cross References Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_Period_CMP_Write) for BT_Period_CMP_Write Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_ConfigInterrupt_CMD) for BT_ConfigInterrupt_CMD FWlib_apt32f102_clkcalib.o(.text.std_clk_calib) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_ConfigInterrupt_CMD) for BT_ConfigInterrupt_CMD + Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT1_INT_ENABLE) for BT1_INT_ENABLE Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_uart.o(.text.UART0_DeInit) for UART0_DeInit Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_uart.o(.text.UART1_DeInit) for UART1_DeInit Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_uart.o(.text.UART2_DeInit) for UART2_DeInit @@ -278,7 +265,6 @@ Section Cross References Obj/SYSTEM_uart.o(.text.Controller485_SendData) refers to Obj/FWlib_apt32f102_uart.o(.text.UARTTransmit) for UARTTransmit Obj/SYSTEM_uart.o(.text.BUS485_Send) refers to Obj/FWlib_apt32f102_uart.o(.text.UARTTransmit) for UARTTransmit Obj/mcu_interrupt.o(.text.EPT0IntHandler) refers to Obj/FWlib_apt32f102_ept.o(.text.EPT_Stop) for EPT_Stop - Obj/SYSTEM_eeprom.o(.text.EEPROM_WriteParaInfo) refers to Obj/FWlib_apt32f102_ifc.o(.text.Page_ProgramData) for Page_ProgramData Obj/SYSTEM_eeprom.o(.text.EEPROM_ReadParaInfo) refers to Obj/FWlib_apt32f102_ifc.o(.text.ReadDataArry_U8) for ReadDataArry_U8 Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) refers to Obj/mcu_initial.o(.text.delay_nms) for delay_nms Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) refers to Obj/mcu_initial.o(.text.delay_nms) for delay_nms @@ -307,8 +293,6 @@ Section Cross References Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println Obj/SYSTEM_tempctrl_unit.o(.text.TemCtrl_Init) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_RecData_Processing) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println - Obj/SYSTEM_uart_protocol.o(.text.Temp_Rec_Analysis) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println - Obj/SYSTEM_uart_protocol.o(.text.Tem_Rs485_Rec_Pro) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println Obj/SYSTEM_dip_switch.o(.text.DIP_ScanTask) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/SYSTEM_uart.o(.text.UARTx_Init) for UARTx_Init @@ -317,50 +301,26 @@ Section Cross References Obj/main.o(.text.startup.main) refers to Obj/SYSTEM_uart.o(.text.UART1_TASK) for UART1_TASK Obj/mcu_interrupt.o(.text.UART2IntHandler) refers to Obj/SYSTEM_uart.o(.text.UART2_RecvINT_Processing) for UART2_RecvINT_Processing Obj/main.o(.text.startup.main) refers to Obj/SYSTEM_uart.o(.text.UART2_TASK) for UART2_TASK - Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_Query_AirState) refers to Obj/SYSTEM_uart.o(.text.Controller485_SendData) for Controller485_SendData Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_Ctrl_AirState) refers to Obj/SYSTEM_uart.o(.text.Controller485_SendData) for Controller485_SendData Obj/SYSTEM_uart.o(.text.MultSend_Task) refers to Obj/SYSTEM_uart.o(.text.BUS485_Send) for BUS485_Send Obj/SYSTEM_uart.o(.text.BUS485Send_Task) refers to Obj/SYSTEM_uart.o(.text.MultSend_Task) for MultSend_Task - Obj/SYSTEM_uart_protocol.o(.text.Rs485_ASend) refers to Obj/SYSTEM_uart.o(.text.Set_GroupSend) for Set_GroupSend - Obj/SYSTEM_uart_protocol.o(.text.Rs485AskCycleSend) refers to Obj/SYSTEM_uart.o(.text.Set_GroupSend) for Set_GroupSend Obj/SYSTEM_uart_protocol.o(.text.Rs485AskCtrlSend) refers to Obj/SYSTEM_uart.o(.text.Set_GroupSend) for Set_GroupSend - Obj/SYSTEM_uart_protocol.o(.text.Rs485AskReadSend) refers to Obj/SYSTEM_uart.o(.text.Set_GroupSend) for Set_GroupSend - Obj/SYSTEM_uart_protocol.o(.text.Rs485_DevPort_ACK) refers to Obj/SYSTEM_uart.o(.text.Set_GroupSend) for Set_GroupSend - Obj/SYSTEM_uart_protocol.o(.text.Temp_Rec_Analysis) refers to Obj/SYSTEM_uart.o(.text.Clear_SendFlag) for Clear_SendFlag Obj/main.o(.text.startup.main) refers to Obj/SYSTEM_uart.o(.text.BUS485Send_Task) for BUS485Send_Task Obj/mcu_interrupt.o(.text.BT1IntHandler) refers to Obj/SYSTEM_uart.o(.text.BusIdle_Task) for BusIdle_Task Obj/SYSTEM_eeprom.o(.text.EEPROM_ReadParaInfo) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_CheckSum) for EEPROM_CheckSum - Obj/SYSTEM_eeprom.o(.text.EEPROM_WriteParaInfo) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_CheckSum) for EEPROM_CheckSum - Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_Query_AirState) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_CheckSum) for EEPROM_CheckSum Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_Ctrl_AirState) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_CheckSum) for EEPROM_CheckSum Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_RecData_Processing) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_CheckSum) for EEPROM_CheckSum Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_ReadParaInfo) for EEPROM_ReadParaInfo - Obj/SYSTEM_uart_protocol.o(.text.Temp_Rec_Analysis) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_ReadParaInfo) for EEPROM_ReadParaInfo - Obj/SYSTEM_uart_protocol.o(.text.Temp_Rec_Analysis) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_WriteParaInfo) for EEPROM_WriteParaInfo Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_Validate_ParaInfo) for EEPROM_Validate_ParaInfo Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_Default_ParaInfo) for EEPROM_Default_ParaInfo Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) for EEPROM_Init Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/SYSTEM_tempctrl_unit.o(.text.TemCtrl_Init) for TemCtrl_Init - Obj/SYSTEM_tempctrl_unit.o(.text.TemCtrl_Pro) refers to Obj/SYSTEM_tempctrl_unit.o(.text.Tem_Valve_Ctrl) for Tem_Valve_Ctrl - Obj/main.o(.text.startup.main) refers to Obj/SYSTEM_tempctrl_unit.o(.text.DisPlay_Task) for DisPlay_Task - Obj/SYSTEM_tempctrl_unit.o(.text.TemCtrl_Pro) refers to Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_Query_AirState) for Ctrller_Query_AirState Obj/SYSTEM_tempctrl_unit.o(.text.TemCtrl_Pro) refers to Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_Ctrl_AirState) for Ctrller_Ctrl_AirState Obj/main.o(.text.startup.main) refers to Obj/SYSTEM_tempctrl_unit.o(.text.TemCtrl_Pro) for TemCtrl_Pro - Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_RecData_Processing) refers to Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_AirState_Processing) for Ctrller_AirState_Processing Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_RecData_Processing) refers to Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_CtrlAirState_Processing) for Ctrller_CtrlAirState_Processing - Obj/SYSTEM_uart_protocol.o(.text.Rs485_ASend) refers to Obj/SYSTEM_uart_protocol.o(.text.NetCRC16_Check) for NetCRC16_Check - Obj/SYSTEM_uart_protocol.o(.text.Rs485AskCycleSend) refers to Obj/SYSTEM_uart_protocol.o(.text.NetCRC16_Check) for NetCRC16_Check Obj/SYSTEM_uart_protocol.o(.text.Rs485AskCtrlSend) refers to Obj/SYSTEM_uart_protocol.o(.text.NetCRC16_Check) for NetCRC16_Check - Obj/SYSTEM_uart_protocol.o(.text.Rs485AskReadSend) refers to Obj/SYSTEM_uart_protocol.o(.text.NetCRC16_Check) for NetCRC16_Check - Obj/SYSTEM_uart_protocol.o(.text.Temp_Rec_Analysis) refers to Obj/SYSTEM_uart_protocol.o(.text.GetCRC16) for GetCRC16 - Obj/SYSTEM_uart_protocol.o(.text.Tem_Rs485_Rec_Pro) refers to Obj/SYSTEM_uart_protocol.o(.text.GetCRC16) for GetCRC16 - Obj/SYSTEM_uart_protocol.o(.text.Tem_Rs485_Rec_Pro) refers to Obj/SYSTEM_uart_protocol.o(.text.SOR_CRC) for SOR_CRC - Obj/SYSTEM_tempctrl_unit.o(.text.DisPlay_Task) refers to Obj/SYSTEM_uart_protocol.o(.text.Rs485_ASend) for Rs485_ASend - Obj/SYSTEM_uart_protocol.o(.text.Temp_Rec_Analysis) refers to Obj/SYSTEM_uart_protocol.o(.text.Rs485AskCycleSend) for Rs485AskCycleSend - Obj/SYSTEM_uart_protocol.o(.text.Temp_Rec_Analysis) refers to Obj/SYSTEM_uart_protocol.o(.text.Rs485AskCtrlSend) for Rs485AskCtrlSend - Obj/SYSTEM_uart_protocol.o(.text.Temp_Rec_Analysis) refers to Obj/SYSTEM_uart_protocol.o(.text.Rs485AskReadSend) for Rs485AskReadSend - Obj/SYSTEM_uart_protocol.o(.text.Temp_Rec_Analysis) refers to Obj/SYSTEM_uart_protocol.o(.text.Rs485_DevPort_ACK) for Rs485_DevPort_ACK - Obj/SYSTEM_uart_protocol.o(.text.Tem_Rs485_Rec_Pro) refers to Obj/SYSTEM_uart_protocol.o(.text.Temp_Rec_Analysis) for Temp_Rec_Analysis + Obj/SYSTEM_uart_protocol.o(.text.IrSend_Rs485_Pro) refers to Obj/SYSTEM_uart_protocol.o(.text.GetCRC16) for GetCRC16 + Obj/SYSTEM_uart_protocol.o(.text.IrSend_Rs485_Pro) refers to Obj/SYSTEM_uart_protocol.o(.text.Rs485AskCtrlSend) for Rs485AskCtrlSend Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) refers to Obj/SYSTEM_dip_switch.o(.text.DIP_GetSwitchState) for DIP_GetSwitchState Obj/SYSTEM_dip_switch.o(.text.DIP_ScanTask) refers to Obj/SYSTEM_dip_switch.o(.text.DIP_GetSwitchState) for DIP_GetSwitchState Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) for DIP_Switch_Init @@ -383,9 +343,6 @@ Section Cross References pow.o(.text) refers to sqrt.o(.text) for sqrt Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Init) refers to _csky_case_uqi.o(.text) for ___gnu_csky_case_uqi Obj/FWlib_apt32f102_gpio.o(.text.GPIOB0_EXI_Init) refers to _csky_case_uqi.o(.text) for ___gnu_csky_case_uqi - Obj/SYSTEM_uart_protocol.o(.text.Rs485_ASend) refers to _csky_case_uqi.o(.text) for ___gnu_csky_case_uqi - Obj/SYSTEM_uart_protocol.o(.text.Rs485AskCycleSend) refers to _csky_case_uqi.o(.text) for ___gnu_csky_case_uqi - Obj/SYSTEM_uart_protocol.o(.text.Temp_Rec_Analysis) refers to _csky_case_uqi.o(.text) for ___gnu_csky_case_uqi FWlib_apt32f102_tkey_f_1_18.o(.text.TK_overflow_predict) refers to _fixunsdfsi.o(.text) for __fixunsdfsi pow.o(.text) refers to _addsub_df.o(.text) for __adddf3 sqrt.o(.text) refers to _addsub_df.o(.text) for __adddf3 @@ -436,7 +393,6 @@ Section Cross References Obj/SYSTEM_uart.o(.text.UART2_TASK) refers to memcpy_fast.o(.text) for memcpy Obj/SYSTEM_uart.o(.text.Set_GroupSend) refers to memcpy_fast.o(.text) for memcpy Obj/SYSTEM_eeprom.o(.text.EEPROM_ReadParaInfo) refers to memcpy_fast.o(.text) for memcpy - Obj/SYSTEM_eeprom.o(.text.EEPROM_WriteParaInfo) refers to memcpy_fast.o(.text) for memcpy ====================================================================== @@ -460,7 +416,7 @@ Removing Unused input sections from the image. Removing .debug_aranges(Obj/arch_apt32f102_iostring.o), (48 bytes). Removing .debug_ranges(Obj/arch_apt32f102_iostring.o), (32 bytes). Removing .debug_line(Obj/arch_apt32f102_iostring.o), (487 bytes). - Removing .debug_str(Obj/arch_apt32f102_iostring.o), (2901 bytes). + Removing .debug_str(Obj/arch_apt32f102_iostring.o), (2904 bytes). Removing .comment(Obj/arch_apt32f102_iostring.o), (67 bytes). Removing .debug_frame(Obj/arch_apt32f102_iostring.o), (120 bytes). Removing .csky.attributes(Obj/arch_apt32f102_iostring.o), (32 bytes). @@ -562,7 +518,7 @@ Removing Unused input sections from the image. Removing .debug_aranges(Obj/FWlib_apt32f102_crc.o), (104 bytes). Removing .debug_ranges(Obj/FWlib_apt32f102_crc.o), (112 bytes). Removing .debug_line(Obj/FWlib_apt32f102_crc.o), (350 bytes). - Removing .debug_str(Obj/FWlib_apt32f102_crc.o), (3095 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_crc.o), (3098 bytes). Removing .comment(Obj/FWlib_apt32f102_crc.o), (67 bytes). Removing .debug_frame(Obj/FWlib_apt32f102_crc.o), (204 bytes). Removing .csky.attributes(Obj/FWlib_apt32f102_crc.o), (32 bytes). @@ -593,7 +549,7 @@ Removing Unused input sections from the image. Removing .debug_aranges(Obj/FWlib_apt32f102_countera.o), (112 bytes). Removing .debug_ranges(Obj/FWlib_apt32f102_countera.o), (96 bytes). Removing .debug_line(Obj/FWlib_apt32f102_countera.o), (350 bytes). - Removing .debug_str(Obj/FWlib_apt32f102_countera.o), (3412 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_countera.o), (3415 bytes). Removing .comment(Obj/FWlib_apt32f102_countera.o), (67 bytes). Removing .debug_frame(Obj/FWlib_apt32f102_countera.o), (224 bytes). Removing .csky.attributes(Obj/FWlib_apt32f102_countera.o), (32 bytes). @@ -617,7 +573,7 @@ Removing Unused input sections from the image. Removing .debug_aranges(Obj/FWlib_apt32f102_et.o), (112 bytes). Removing .debug_ranges(Obj/FWlib_apt32f102_et.o), (96 bytes). Removing .debug_line(Obj/FWlib_apt32f102_et.o), (463 bytes). - Removing .debug_str(Obj/FWlib_apt32f102_et.o), (3157 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_et.o), (3160 bytes). Removing .comment(Obj/FWlib_apt32f102_et.o), (67 bytes). Removing .debug_frame(Obj/FWlib_apt32f102_et.o), (204 bytes). Removing .csky.attributes(Obj/FWlib_apt32f102_et.o), (32 bytes). @@ -675,7 +631,7 @@ Removing Unused input sections from the image. Removing .debug_aranges(Obj/FWlib_apt32f102_gpt.o), (256 bytes). Removing .debug_ranges(Obj/FWlib_apt32f102_gpt.o), (240 bytes). Removing .debug_line(Obj/FWlib_apt32f102_gpt.o), (754 bytes). - Removing .debug_str(Obj/FWlib_apt32f102_gpt.o), (8020 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_gpt.o), (8023 bytes). Removing .comment(Obj/FWlib_apt32f102_gpt.o), (67 bytes). Removing .debug_frame(Obj/FWlib_apt32f102_gpt.o), (616 bytes). Removing .csky.attributes(Obj/FWlib_apt32f102_gpt.o), (32 bytes). @@ -699,7 +655,7 @@ Removing Unused input sections from the image. Removing .debug_aranges(Obj/FWlib_apt32f102_sio.o), (112 bytes). Removing .debug_ranges(Obj/FWlib_apt32f102_sio.o), (96 bytes). Removing .debug_line(Obj/FWlib_apt32f102_sio.o), (391 bytes). - Removing .debug_str(Obj/FWlib_apt32f102_sio.o), (4125 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_sio.o), (4128 bytes). Removing .comment(Obj/FWlib_apt32f102_sio.o), (67 bytes). Removing .debug_frame(Obj/FWlib_apt32f102_sio.o), (260 bytes). Removing .csky.attributes(Obj/FWlib_apt32f102_sio.o), (32 bytes). @@ -723,7 +679,7 @@ Removing Unused input sections from the image. Removing .debug_aranges(Obj/FWlib_apt32f102_spi.o), (112 bytes). Removing .debug_ranges(Obj/FWlib_apt32f102_spi.o), (96 bytes). Removing .debug_line(Obj/FWlib_apt32f102_spi.o), (407 bytes). - Removing .debug_str(Obj/FWlib_apt32f102_spi.o), (3528 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_spi.o), (3531 bytes). Removing .comment(Obj/FWlib_apt32f102_spi.o), (67 bytes). Removing .debug_frame(Obj/FWlib_apt32f102_spi.o), (240 bytes). Removing .csky.attributes(Obj/FWlib_apt32f102_spi.o), (32 bytes). @@ -779,7 +735,7 @@ Removing Unused input sections from the image. Removing .debug_aranges(Obj/FWlib_apt32f102_i2c.o), (184 bytes). Removing .debug_ranges(Obj/FWlib_apt32f102_i2c.o), (168 bytes). Removing .debug_line(Obj/FWlib_apt32f102_i2c.o), (847 bytes). - Removing .debug_str(Obj/FWlib_apt32f102_i2c.o), (3644 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_i2c.o), (3647 bytes). Removing .comment(Obj/FWlib_apt32f102_i2c.o), (67 bytes). Removing .debug_frame(Obj/FWlib_apt32f102_i2c.o), (452 bytes). Removing .csky.attributes(Obj/FWlib_apt32f102_i2c.o), (32 bytes). @@ -854,7 +810,7 @@ Removing Unused input sections from the image. Removing .debug_aranges(Obj/FWlib_apt32f102_rtc.o), (192 bytes). Removing .debug_ranges(Obj/FWlib_apt32f102_rtc.o), (176 bytes). Removing .debug_line(Obj/FWlib_apt32f102_rtc.o), (606 bytes). - Removing .debug_str(Obj/FWlib_apt32f102_rtc.o), (4844 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_rtc.o), (4847 bytes). Removing .comment(Obj/FWlib_apt32f102_rtc.o), (67 bytes). Removing .debug_frame(Obj/FWlib_apt32f102_rtc.o), (428 bytes). Removing .csky.attributes(Obj/FWlib_apt32f102_rtc.o), (32 bytes). @@ -887,7 +843,7 @@ Removing Unused input sections from the image. Removing .debug_aranges(Obj/FWlib_apt32f102_adc.o), (176 bytes). Removing .debug_ranges(Obj/FWlib_apt32f102_adc.o), (160 bytes). Removing .debug_line(Obj/FWlib_apt32f102_adc.o), (684 bytes). - Removing .debug_str(Obj/FWlib_apt32f102_adc.o), (4952 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_adc.o), (4955 bytes). Removing .comment(Obj/FWlib_apt32f102_adc.o), (67 bytes). Removing .debug_frame(Obj/FWlib_apt32f102_adc.o), (400 bytes). Removing .csky.attributes(Obj/FWlib_apt32f102_adc.o), (32 bytes). @@ -897,6 +853,7 @@ Removing Unused input sections from the image. Removing .text.ChipErase(Obj/FWlib_apt32f102_ifc.o), (36 bytes). Removing .text.PageErase(Obj/FWlib_apt32f102_ifc.o), (36 bytes). Removing .text.Page_ProgramData_int(Obj/FWlib_apt32f102_ifc.o), (156 bytes). + Removing .text.Page_ProgramData(Obj/FWlib_apt32f102_ifc.o), (160 bytes). Removing .text.Page_ProgramData_U32(Obj/FWlib_apt32f102_ifc.o), (124 bytes). Removing .text.ReadDataArry(Obj/FWlib_apt32f102_ifc.o), (46 bytes). Removing .text.ReadDataArry_U32(Obj/FWlib_apt32f102_ifc.o), (22 bytes). @@ -928,7 +885,7 @@ Removing Unused input sections from the image. Removing .debug_aranges(Obj/FWlib_apt32f102_coret.o), (120 bytes). Removing .debug_ranges(Obj/FWlib_apt32f102_coret.o), (104 bytes). Removing .debug_line(Obj/FWlib_apt32f102_coret.o), (323 bytes). - Removing .debug_str(Obj/FWlib_apt32f102_coret.o), (2850 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_coret.o), (2853 bytes). Removing .comment(Obj/FWlib_apt32f102_coret.o), (67 bytes). Removing .debug_frame(Obj/FWlib_apt32f102_coret.o), (208 bytes). Removing .csky.attributes(Obj/FWlib_apt32f102_coret.o), (32 bytes). @@ -960,6 +917,7 @@ Removing Unused input sections from the image. Removing .text.UART0_TASK(Obj/SYSTEM_uart.o), (64 bytes). Removing .text.UART_Waiting_For_Send(Obj/SYSTEM_uart.o), (32 bytes). Removing .text.MCU485_SendData(Obj/SYSTEM_uart.o), (152 bytes). + Removing .text.Clear_SendFlag(Obj/SYSTEM_uart.o), (16 bytes). Removing .text.BUS485_Jump_Boot(Obj/SYSTEM_uart.o), (12 bytes). Removing .text.Get_BUS485_Send_State(Obj/SYSTEM_uart.o), (28 bytes). Removing .text.Dbg_Print(Obj/SYSTEM_uart.o), (12 bytes). @@ -967,6 +925,7 @@ Removing Unused input sections from the image. Removing .text(Obj/SYSTEM_eeprom.o), (0 bytes). Removing .data(Obj/SYSTEM_eeprom.o), (0 bytes). Removing .bss(Obj/SYSTEM_eeprom.o), (0 bytes). + Removing .text.EEPROM_WriteParaInfo(Obj/SYSTEM_eeprom.o), (68 bytes). Removing .text.EEPROM_ClearParaInfo(Obj/SYSTEM_eeprom.o), (36 bytes). Removing .text.EEPROM_ReadMCUDevInfo(Obj/SYSTEM_eeprom.o), (112 bytes). Removing .text.EEPROM_WriteMCUDevInfo(Obj/SYSTEM_eeprom.o), (64 bytes). @@ -993,25 +952,30 @@ Removing Unused input sections from the image. Removing .debug_aranges(Obj/SYSTEM_Bootload_fun.o), (120 bytes). Removing .debug_ranges(Obj/SYSTEM_Bootload_fun.o), (136 bytes). Removing .debug_line(Obj/SYSTEM_Bootload_fun.o), (972 bytes). - Removing .debug_str(Obj/SYSTEM_Bootload_fun.o), (9886 bytes). + Removing .debug_str(Obj/SYSTEM_Bootload_fun.o), (9889 bytes). Removing .comment(Obj/SYSTEM_Bootload_fun.o), (67 bytes). Removing .debug_frame(Obj/SYSTEM_Bootload_fun.o), (356 bytes). Removing .csky.attributes(Obj/SYSTEM_Bootload_fun.o), (32 bytes). Removing COMMON(Obj/SYSTEM_Bootload_fun.o), (572 bytes). Removing .text(Obj/SYSTEM_tempctrl_unit.o), (0 bytes). Removing .data(Obj/SYSTEM_tempctrl_unit.o), (0 bytes). + Removing .text.Tem_Valve_Ctrl(Obj/SYSTEM_tempctrl_unit.o), (96 bytes). + Removing .text.DisPlay_Task(Obj/SYSTEM_tempctrl_unit.o), (404 bytes). Removing .text.Ctrller_Query_AirFun(Obj/SYSTEM_tempctrl_unit.o), (68 bytes). + Removing .text.Ctrller_Query_AirState(Obj/SYSTEM_tempctrl_unit.o), (68 bytes). Removing .text.Ctrller_AirFun_Processing(Obj/SYSTEM_tempctrl_unit.o), (8 bytes). + Removing .text.Ctrller_AirState_Processing(Obj/SYSTEM_tempctrl_unit.o), (212 bytes). Removing .text(Obj/SYSTEM_uart_protocol.o), (0 bytes). Removing .data(Obj/SYSTEM_uart_protocol.o), (0 bytes). Removing .bss(Obj/SYSTEM_uart_protocol.o), (0 bytes). + Removing .text.SOR_CRC(Obj/SYSTEM_uart_protocol.o), (22 bytes). Removing .text(Obj/SYSTEM_dip_switch.o), (0 bytes). Removing .data(Obj/SYSTEM_dip_switch.o), (0 bytes). Removing .text(Obj/__rt_entry.o), (240 bytes). Removing .data(Obj/__rt_entry.o), (0 bytes). Removing .bss(Obj/__rt_entry.o), (0 bytes). Removing .debug_line(Obj/__rt_entry.o), (131 bytes). - Removing .debug_info(Obj/__rt_entry.o), (115 bytes). + Removing .debug_info(Obj/__rt_entry.o), (118 bytes). Removing .debug_abbrev(Obj/__rt_entry.o), (20 bytes). Removing .debug_aranges(Obj/__rt_entry.o), (32 bytes). Removing .csky.attributes(Obj/__rt_entry.o), (32 bytes). @@ -1095,7 +1059,7 @@ Removing Unused input sections from the image. Removing .bss(strncmp.o), (0 bytes). Removing .csky.attributes(strncmp.o), (32 bytes). -651 unused seciton(s) (total 212852 bytes) removed from the image. +659 unused seciton(s) (total 213937 bytes) removed from the image. ====================================================================== @@ -1354,314 +1318,267 @@ Image Symbol Table $d 0x00002350 0 .text.EPT_Stop $t 0x00002350 0 .text.EPT_Stop $d 0x00002370 0 .text.EPT_Stop - $d 0x00002378 0 .text.Page_ProgramData - $t 0x00002378 0 .text.Page_ProgramData - $d 0x00002410 0 .text.Page_ProgramData - $d 0x00002418 0 .text.ReadDataArry_U8 - $t 0x00002418 0 .text.ReadDataArry_U8 - $d 0x00002444 0 .text.startup.main - $t 0x00002444 0 .text.startup.main - $d 0x00002474 0 .text.startup.main - $d 0x0000247c 0 .text.delay_nms - $t 0x0000247c 0 .text.delay_nms - $d 0x000024a8 0 .text.delay_nus - $t 0x000024a8 0 .text.delay_nus - $d 0x000024cc 0 .text.BT_CONFIG - $t 0x000024cc 0 .text.BT_CONFIG - $d 0x00002524 0 .text.BT_CONFIG - $d 0x0000252c 0 .text.SYSCON_CONFIG - $t 0x0000252c 0 .text.SYSCON_CONFIG - $d 0x00002590 0 .text.APT32F102_init - $t 0x00002590 0 .text.APT32F102_init - $d 0x0000260c 0 .text.APT32F102_init - $d 0x00002624 0 .text.SYSCONIntHandler - $t 0x00002624 0 .text.SYSCONIntHandler - $d 0x00002710 0 .text.SYSCONIntHandler - $d 0x00002714 0 .text.IFCIntHandler - $t 0x00002714 0 .text.IFCIntHandler - $d 0x00002778 0 .text.IFCIntHandler - $d 0x0000277c 0 .text.ADCIntHandler - $t 0x0000277c 0 .text.ADCIntHandler - $d 0x000027e0 0 .text.ADCIntHandler - $d 0x000027e4 0 .text.EPT0IntHandler - $t 0x000027e4 0 .text.EPT0IntHandler - $d 0x00002984 0 .text.EPT0IntHandler - $d 0x00002990 0 .text.WWDTHandler - $t 0x00002990 0 .text.WWDTHandler - $d 0x000029c0 0 .text.WWDTHandler - $d 0x000029c4 0 .text.GPT0IntHandler - $t 0x000029c4 0 .text.GPT0IntHandler - $d 0x00002a40 0 .text.GPT0IntHandler - $d 0x00002a44 0 .text.RTCIntHandler - $t 0x00002a44 0 .text.RTCIntHandler - $d 0x00002aac 0 .text.RTCIntHandler - $d 0x00002ab4 0 .text.UART0IntHandler - $t 0x00002ab4 0 .text.UART0IntHandler - $d 0x00002b10 0 .text.UART0IntHandler - $d 0x00002b14 0 .text.UART1IntHandler - $t 0x00002b14 0 .text.UART1IntHandler - $d 0x00002b94 0 .text.UART1IntHandler - $d 0x00002ba8 0 .text.UART2IntHandler - $t 0x00002ba8 0 .text.UART2IntHandler - $d 0x00002c28 0 .text.UART2IntHandler - $d 0x00002c3c 0 .text.SPI0IntHandler - $t 0x00002c3c 0 .text.SPI0IntHandler - $d 0x00002d20 0 .text.SPI0IntHandler - $d 0x00002d24 0 .text.SIO0IntHandler - $t 0x00002d24 0 .text.SIO0IntHandler - $d 0x00002d74 0 .text.SIO0IntHandler - $d 0x00002d78 0 .text.EXI0IntHandler - $t 0x00002d78 0 .text.EXI0IntHandler - $d 0x00002da4 0 .text.EXI0IntHandler - $d 0x00002da8 0 .text.EXI1IntHandler - $t 0x00002da8 0 .text.EXI1IntHandler - $d 0x00002dd4 0 .text.EXI1IntHandler - $d 0x00002dd8 0 .text.EXI2to3IntHandler - $t 0x00002dd8 0 .text.EXI2to3IntHandler - $d 0x00002e1c 0 .text.EXI2to3IntHandler - $d 0x00002e20 0 .text.EXI4to9IntHandler - $t 0x00002e20 0 .text.EXI4to9IntHandler - $d 0x00002e88 0 .text.EXI4to9IntHandler - $d 0x00002e8c 0 .text.EXI10to15IntHandler - $t 0x00002e8c 0 .text.EXI10to15IntHandler - $d 0x00002ee8 0 .text.EXI10to15IntHandler - $d 0x00002eec 0 .text.LPTIntHandler - $t 0x00002eec 0 .text.LPTIntHandler - $d 0x00002f1c 0 .text.LPTIntHandler - $d 0x00002f20 0 .text.BT0IntHandler - $t 0x00002f20 0 .text.BT0IntHandler - $d 0x00002f68 0 .text.BT0IntHandler - $d 0x00002f6c 0 .text.BT1IntHandler - $t 0x00002f6c 0 .text.BT1IntHandler - $d 0x00002fd4 0 .text.BT1IntHandler - $d 0x00002fdc 0 .text.PriviledgeVioHandler - $t 0x00002fdc 0 .text.PriviledgeVioHandler - $d 0x00002fde 0 .text.PendTrapHandler - $t 0x00002fde 0 .text.PendTrapHandler - $d 0x00002fe6 0 .text.Trap3Handler - $t 0x00002fe6 0 .text.Trap3Handler - $d 0x00002fee 0 .text.Trap2Handler - $t 0x00002fee 0 .text.Trap2Handler - $d 0x00002ff6 0 .text.Trap1Handler - $t 0x00002ff6 0 .text.Trap1Handler - $d 0x00002ffe 0 .text.Trap0Handler - $t 0x00002ffe 0 .text.Trap0Handler - $d 0x00003006 0 .text.UnrecExecpHandler - $t 0x00003006 0 .text.UnrecExecpHandler - $d 0x0000300e 0 .text.BreakPointHandler - $t 0x0000300e 0 .text.BreakPointHandler - $d 0x00003016 0 .text.AccessErrHandler - $t 0x00003016 0 .text.AccessErrHandler - $d 0x0000301e 0 .text.IllegalInstrHandler - $t 0x0000301e 0 .text.IllegalInstrHandler - $d 0x00003026 0 .text.MisalignedHandler - $t 0x00003026 0 .text.MisalignedHandler - $d 0x0000302e 0 .text.CNTAIntHandler - $t 0x0000302e 0 .text.CNTAIntHandler - $d 0x00003036 0 .text.I2CIntHandler - $t 0x00003036 0 .text.I2CIntHandler - $d 0x00003040 0 .text.__divsi3 - $t 0x00003040 0 .text.__divsi3 - $d 0x00003060 0 .text.__divsi3 - $d 0x00003064 0 .text.__udivsi3 - $t 0x00003064 0 .text.__udivsi3 - $d 0x00003084 0 .text.__udivsi3 - $d 0x00003088 0 .text.__umodsi3 - $t 0x00003088 0 .text.__umodsi3 - $d 0x000030a8 0 .text.__umodsi3 - $d 0x000030ac 0 .text.CK_CPU_EnAllNormalIrq - $t 0x000030ac 0 .text.CK_CPU_EnAllNormalIrq - $d 0x000030b2 0 .text.CK_CPU_DisAllNormalIrq - $t 0x000030b2 0 .text.CK_CPU_DisAllNormalIrq - $d 0x000030b8 0 .text.UARTx_Init - $t 0x000030b8 0 .text.UARTx_Init - $d 0x000031dc 0 .text.UARTx_Init - $d 0x00003210 0 .text.UART0_RecvINT_Processing - $t 0x00003210 0 .text.UART0_RecvINT_Processing - $d 0x0000323c 0 .text.UART0_RecvINT_Processing - $d 0x00003248 0 .text.UART1_RecvINT_Processing - $t 0x00003248 0 .text.UART1_RecvINT_Processing - $d 0x00003274 0 .text.UART1_RecvINT_Processing - $d 0x00003280 0 .text.UART1_TASK - $t 0x00003280 0 .text.UART1_TASK - $d 0x000032d4 0 .text.UART1_TASK - $d 0x000032ec 0 .text.UART2_RecvINT_Processing - $t 0x000032ec 0 .text.UART2_RecvINT_Processing - $d 0x00003324 0 .text.UART2_RecvINT_Processing - $d 0x00003330 0 .text.UART2_TASK - $t 0x00003330 0 .text.UART2_TASK - $d 0x00003390 0 .text.UART2_TASK - $d 0x000033a8 0 .text.Controller485_SendData - $t 0x000033a8 0 .text.Controller485_SendData - $d 0x00003440 0 .text.Controller485_SendData - $d 0x00003450 0 .text.BUS485_Send - $t 0x00003450 0 .text.BUS485_Send - $d 0x000034fc 0 .text.BUS485_Send - $d 0x00003514 0 .text.MultSend_Task - $t 0x00003514 0 .text.MultSend_Task - $d 0x00003580 0 .text.MultSend_Task - $d 0x00003588 0 .text.Set_GroupSend - $t 0x00003588 0 .text.Set_GroupSend - $d 0x000035e4 0 .text.Set_GroupSend - $d 0x000035ec 0 .text.Clear_SendFlag - $t 0x000035ec 0 .text.Clear_SendFlag - $d 0x000035f8 0 .text.Clear_SendFlag - $d 0x000035fc 0 .text.BUS485Send_Task - $t 0x000035fc 0 .text.BUS485Send_Task - $d 0x00003624 0 .text.BUS485Send_Task - $d 0x00003630 0 .text.BusIdle_Task - $t 0x00003630 0 .text.BusIdle_Task - $d 0x00003668 0 .text.BusIdle_Task - $d 0x00003670 0 .text.BusBusy_Task - $t 0x00003670 0 .text.BusBusy_Task - $d 0x000036c0 0 .text.BusBusy_Task - $d 0x000036cc 0 .text.Dbg_Println - $t 0x000036cc 0 .text.Dbg_Println - $d 0x000036d8 0 .text.EEPROM_CheckSum - $t 0x000036d8 0 .text.EEPROM_CheckSum - $d 0x000036f0 0 .text.EEPROM_ReadParaInfo - $t 0x000036f0 0 .text.EEPROM_ReadParaInfo - $d 0x0000375c 0 .text.EEPROM_ReadParaInfo - $d 0x00003764 0 .text.EEPROM_WriteParaInfo - $t 0x00003764 0 .text.EEPROM_WriteParaInfo - $d 0x000037a4 0 .text.EEPROM_WriteParaInfo - $d 0x000037a8 0 .text.EEPROM_Validate_ParaInfo - $t 0x000037a8 0 .text.EEPROM_Validate_ParaInfo - $d 0x000037d4 0 .text.EEPROM_Validate_ParaInfo - $d 0x000037d8 0 .text.EEPROM_Default_ParaInfo - $t 0x000037d8 0 .text.EEPROM_Default_ParaInfo - $d 0x000037f8 0 .text.EEPROM_Init - $t 0x000037f8 0 .text.EEPROM_Init - $d 0x00003840 0 .text.EEPROM_Init - $d 0x0000384c 0 .text.TemCtrl_Init - $t 0x0000384c 0 .text.TemCtrl_Init - $d 0x00003994 0 .text.TemCtrl_Init - $d 0x000039a8 0 .text.Tem_Valve_Ctrl - $t 0x000039a8 0 .text.Tem_Valve_Ctrl - $d 0x00003a04 0 .text.Tem_Valve_Ctrl - $d 0x00003a08 0 .text.DisPlay_Task - $t 0x00003a08 0 .text.DisPlay_Task - $d 0x00003b78 0 .text.DisPlay_Task - $d 0x00003b9c 0 .text.Ctrller_Query_AirState - $t 0x00003b9c 0 .text.Ctrller_Query_AirState - $d 0x00003bdc 0 .text.Ctrller_Query_AirState - $d 0x00003be0 0 .text.Ctrller_Ctrl_AirState - $t 0x00003be0 0 .text.Ctrller_Ctrl_AirState - $d 0x00003c7c 0 .text.Ctrller_Ctrl_AirState - $d 0x00003c84 0 .text.TemCtrl_Pro - $t 0x00003c84 0 .text.TemCtrl_Pro - $d 0x00003d3c 0 .text.TemCtrl_Pro - $d 0x00003d50 0 .text.Ctrller_AirState_Processing - $t 0x00003d50 0 .text.Ctrller_AirState_Processing - $d 0x00003e20 0 .text.Ctrller_AirState_Processing - $d 0x00003e24 0 .text.Ctrller_CtrlAirState_Processing - $t 0x00003e24 0 .text.Ctrller_CtrlAirState_Processing - $d 0x00003e40 0 .text.Ctrller_CtrlAirState_Processing - $d 0x00003e44 0 .text.Ctrller_RecData_Processing - $t 0x00003e44 0 .text.Ctrller_RecData_Processing - $d 0x00003ee8 0 .text.Ctrller_RecData_Processing - $d 0x00003efc 0 .text.NetCRC16_Check - $t 0x00003efc 0 .text.NetCRC16_Check - $d 0x00003f40 0 .text.NetCRC16_Check - $d 0x00003f48 0 .text.GetCRC16 - $t 0x00003f48 0 .text.GetCRC16 - $d 0x00003f7c 0 .text.GetCRC16 - $d 0x00003f84 0 .text.SOR_CRC - $t 0x00003f84 0 .text.SOR_CRC - $d 0x00003f9c 0 .text.Rs485_ASend - $t 0x00003f9c 0 .text.Rs485_ASend - $d 0x0000401c 0 .text.Rs485_ASend - $t 0x00004020 0 .text.Rs485_ASend - $d 0x000040a0 0 .text.Rs485_ASend - $d 0x000040ac 0 .text.Rs485AskCycleSend - $t 0x000040ac 0 .text.Rs485AskCycleSend - $d 0x00004122 0 .text.Rs485AskCycleSend - $t 0x00004126 0 .text.Rs485AskCycleSend - $d 0x000041a8 0 .text.Rs485AskCycleSend - $d 0x000041b0 0 .text.Rs485AskCtrlSend - $t 0x000041b0 0 .text.Rs485AskCtrlSend - $d 0x00004208 0 .text.Rs485AskCtrlSend - $d 0x0000420c 0 .text.Rs485AskReadSend - $t 0x0000420c 0 .text.Rs485AskReadSend - $d 0x00004270 0 .text.Rs485AskReadSend - $d 0x00004278 0 .text.Rs485_DevPort_ACK - $t 0x00004278 0 .text.Rs485_DevPort_ACK - $d 0x00004290 0 .text.Temp_Rec_Analysis - $t 0x00004290 0 .text.Temp_Rec_Analysis - $d 0x000042f8 0 .text.Temp_Rec_Analysis - $t 0x0000430a 0 .text.Temp_Rec_Analysis - $d 0x00004324 0 .text.Temp_Rec_Analysis - $t 0x00004328 0 .text.Temp_Rec_Analysis - $d 0x00004418 0 .text.Temp_Rec_Analysis - $t 0x0000441c 0 .text.Temp_Rec_Analysis - $d 0x00004438 0 .text.Temp_Rec_Analysis - $d 0x00004448 0 .text.Tem_Rs485_Rec_Pro - $t 0x00004448 0 .text.Tem_Rs485_Rec_Pro - $d 0x000044f8 0 .text.Tem_Rs485_Rec_Pro - $d 0x00004508 0 .text.DIP_GetSwitchState - $t 0x00004508 0 .text.DIP_GetSwitchState - $d 0x00004538 0 .text.DIP_GetSwitchState - $d 0x0000453c 0 .text.DIP_Switch_Init - $t 0x0000453c 0 .text.DIP_Switch_Init - $d 0x000045bc 0 .text.DIP_Switch_Init - $d 0x000045c8 0 .text.DIP_ScanTask - $t 0x000045c8 0 .text.DIP_ScanTask - $d 0x00004650 0 .text.DIP_ScanTask - $d 0x00004660 0 .text.TK_Single_Longpress_prg - $t 0x00004660 0 .text.TK_Single_Longpress_prg - $d 0x00004754 0 .text.TK_Single_Longpress_prg - $d 0x00004788 0 .text.TK_Sampling_prog - $t 0x00004788 0 .text.TK_Sampling_prog - $d 0x00004830 0 .text.TK_Sampling_prog - $d 0x00004854 0 .text.get_key_number - $t 0x00004854 0 .text.get_key_number - $d 0x00004878 0 .text.get_key_number - $d 0x0000487c 0 .text.get_key_number0 - $t 0x0000487c 0 .text.get_key_number0 - $d 0x000048a0 0 .text.get_key_number0 - $d 0x000048a4 0 .text.get_key_number1 - $t 0x000048a4 0 .text.get_key_number1 - $d 0x000048c8 0 .text.get_key_number1 - $d 0x000048cc 0 .text.get_key_number2 - $t 0x000048cc 0 .text.get_key_number2 - $d 0x000048f0 0 .text.get_key_number2 - $d 0x000048f4 0 .text.TK_Scan_Start - $t 0x000048f4 0 .text.TK_Scan_Start - $d 0x00004940 0 .text.TK_Scan_Start - $d 0x0000495c 0 .text.TK_Keymap_prog - $t 0x0000495c 0 .text.TK_Keymap_prog - $d 0x00004c98 0 .text.TK_Keymap_prog - $t 0x00004d1c 0 .text.TK_Keymap_prog - $d 0x00005078 0 .text.TK_Keymap_prog - $t 0x000050bc 0 .text.TK_Keymap_prog - $d 0x000051b8 0 .text.TK_Keymap_prog - $d 0x000051cc 0 .text.TK_overflow_predict - $t 0x000051cc 0 .text.TK_overflow_predict - $d 0x000052c0 0 .text.TK_overflow_predict - $d 0x000052f4 0 .text.TK_Baseline_tracking - $t 0x000052f4 0 .text.TK_Baseline_tracking - $d 0x0000564c 0 .text.TK_Baseline_tracking - $t 0x000056a8 0 .text.TK_Baseline_tracking - $d 0x000057b4 0 .text.TK_Baseline_tracking - $d 0x000057c4 0 .text.TK_result_prog - $t 0x000057c4 0 .text.TK_result_prog - $d 0x000058c4 0 .text.TK_result_prog - $d 0x000058f4 0 .text.TKEYIntHandler - $t 0x000058f4 0 .text.TKEYIntHandler - $d 0x00005984 0 .text.TKEYIntHandler - $d 0x00005994 0 .text.CORETHandler - $t 0x00005994 0 .text.CORETHandler - $d 0x00005abc 0 .text.CORETHandler - $d 0x00005af0 0 .text.std_clk_calib - $t 0x00005af0 0 .text.std_clk_calib - $d 0x00005d38 0 .text.std_clk_calib - bp 0x00005d74 O 16 .rodata - dp_l 0x00005d84 O 16 .rodata - dp_h 0x00005d94 O 16 .rodata - NUM.6207 0x200000b0 O 1 .bss - OpenDisPlay_Flag.6114 0x20000144 O 1 .bss - TemCtrl_tick.6118 0x20000148 O 4 .bss - update_20ms.6113 0x2000014c O 4 .bss + $d 0x00002378 0 .text.ReadDataArry_U8 + $t 0x00002378 0 .text.ReadDataArry_U8 + $d 0x000023a4 0 .text.startup.main + $t 0x000023a4 0 .text.startup.main + $d 0x000023d0 0 .text.startup.main + $d 0x000023d8 0 .text.delay_nms + $t 0x000023d8 0 .text.delay_nms + $d 0x00002404 0 .text.delay_nus + $t 0x00002404 0 .text.delay_nus + $d 0x00002428 0 .text.BT_CONFIG + $t 0x00002428 0 .text.BT_CONFIG + $d 0x00002480 0 .text.BT_CONFIG + $d 0x00002488 0 .text.SYSCON_CONFIG + $t 0x00002488 0 .text.SYSCON_CONFIG + $d 0x000024ec 0 .text.APT32F102_init + $t 0x000024ec 0 .text.APT32F102_init + $d 0x00002568 0 .text.APT32F102_init + $d 0x00002580 0 .text.SYSCONIntHandler + $t 0x00002580 0 .text.SYSCONIntHandler + $d 0x0000266c 0 .text.SYSCONIntHandler + $d 0x00002670 0 .text.IFCIntHandler + $t 0x00002670 0 .text.IFCIntHandler + $d 0x000026d4 0 .text.IFCIntHandler + $d 0x000026d8 0 .text.ADCIntHandler + $t 0x000026d8 0 .text.ADCIntHandler + $d 0x0000273c 0 .text.ADCIntHandler + $d 0x00002740 0 .text.EPT0IntHandler + $t 0x00002740 0 .text.EPT0IntHandler + $d 0x000028e0 0 .text.EPT0IntHandler + $d 0x000028ec 0 .text.WWDTHandler + $t 0x000028ec 0 .text.WWDTHandler + $d 0x0000291c 0 .text.WWDTHandler + $d 0x00002920 0 .text.GPT0IntHandler + $t 0x00002920 0 .text.GPT0IntHandler + $d 0x0000299c 0 .text.GPT0IntHandler + $d 0x000029a0 0 .text.RTCIntHandler + $t 0x000029a0 0 .text.RTCIntHandler + $d 0x00002a08 0 .text.RTCIntHandler + $d 0x00002a10 0 .text.UART0IntHandler + $t 0x00002a10 0 .text.UART0IntHandler + $d 0x00002a6c 0 .text.UART0IntHandler + $d 0x00002a70 0 .text.UART1IntHandler + $t 0x00002a70 0 .text.UART1IntHandler + $d 0x00002af0 0 .text.UART1IntHandler + $d 0x00002b04 0 .text.UART2IntHandler + $t 0x00002b04 0 .text.UART2IntHandler + $d 0x00002b84 0 .text.UART2IntHandler + $d 0x00002b98 0 .text.SPI0IntHandler + $t 0x00002b98 0 .text.SPI0IntHandler + $d 0x00002c7c 0 .text.SPI0IntHandler + $d 0x00002c80 0 .text.SIO0IntHandler + $t 0x00002c80 0 .text.SIO0IntHandler + $d 0x00002cd0 0 .text.SIO0IntHandler + $d 0x00002cd4 0 .text.EXI0IntHandler + $t 0x00002cd4 0 .text.EXI0IntHandler + $d 0x00002d00 0 .text.EXI0IntHandler + $d 0x00002d04 0 .text.EXI1IntHandler + $t 0x00002d04 0 .text.EXI1IntHandler + $d 0x00002d30 0 .text.EXI1IntHandler + $d 0x00002d34 0 .text.EXI2to3IntHandler + $t 0x00002d34 0 .text.EXI2to3IntHandler + $d 0x00002d78 0 .text.EXI2to3IntHandler + $d 0x00002d7c 0 .text.EXI4to9IntHandler + $t 0x00002d7c 0 .text.EXI4to9IntHandler + $d 0x00002de4 0 .text.EXI4to9IntHandler + $d 0x00002de8 0 .text.EXI10to15IntHandler + $t 0x00002de8 0 .text.EXI10to15IntHandler + $d 0x00002e44 0 .text.EXI10to15IntHandler + $d 0x00002e48 0 .text.LPTIntHandler + $t 0x00002e48 0 .text.LPTIntHandler + $d 0x00002e78 0 .text.LPTIntHandler + $d 0x00002e7c 0 .text.BT0IntHandler + $t 0x00002e7c 0 .text.BT0IntHandler + $d 0x00002ec4 0 .text.BT0IntHandler + $d 0x00002ec8 0 .text.BT1IntHandler + $t 0x00002ec8 0 .text.BT1IntHandler + $d 0x00002f30 0 .text.BT1IntHandler + $d 0x00002f38 0 .text.PriviledgeVioHandler + $t 0x00002f38 0 .text.PriviledgeVioHandler + $d 0x00002f3a 0 .text.PendTrapHandler + $t 0x00002f3a 0 .text.PendTrapHandler + $d 0x00002f42 0 .text.Trap3Handler + $t 0x00002f42 0 .text.Trap3Handler + $d 0x00002f4a 0 .text.Trap2Handler + $t 0x00002f4a 0 .text.Trap2Handler + $d 0x00002f52 0 .text.Trap1Handler + $t 0x00002f52 0 .text.Trap1Handler + $d 0x00002f5a 0 .text.Trap0Handler + $t 0x00002f5a 0 .text.Trap0Handler + $d 0x00002f62 0 .text.UnrecExecpHandler + $t 0x00002f62 0 .text.UnrecExecpHandler + $d 0x00002f6a 0 .text.BreakPointHandler + $t 0x00002f6a 0 .text.BreakPointHandler + $d 0x00002f72 0 .text.AccessErrHandler + $t 0x00002f72 0 .text.AccessErrHandler + $d 0x00002f7a 0 .text.IllegalInstrHandler + $t 0x00002f7a 0 .text.IllegalInstrHandler + $d 0x00002f82 0 .text.MisalignedHandler + $t 0x00002f82 0 .text.MisalignedHandler + $d 0x00002f8a 0 .text.CNTAIntHandler + $t 0x00002f8a 0 .text.CNTAIntHandler + $d 0x00002f92 0 .text.I2CIntHandler + $t 0x00002f92 0 .text.I2CIntHandler + $d 0x00002f9c 0 .text.__divsi3 + $t 0x00002f9c 0 .text.__divsi3 + $d 0x00002fbc 0 .text.__divsi3 + $d 0x00002fc0 0 .text.__udivsi3 + $t 0x00002fc0 0 .text.__udivsi3 + $d 0x00002fe0 0 .text.__udivsi3 + $d 0x00002fe4 0 .text.__umodsi3 + $t 0x00002fe4 0 .text.__umodsi3 + $d 0x00003004 0 .text.__umodsi3 + $d 0x00003008 0 .text.CK_CPU_EnAllNormalIrq + $t 0x00003008 0 .text.CK_CPU_EnAllNormalIrq + $d 0x0000300e 0 .text.CK_CPU_DisAllNormalIrq + $t 0x0000300e 0 .text.CK_CPU_DisAllNormalIrq + $d 0x00003014 0 .text.UARTx_Init + $t 0x00003014 0 .text.UARTx_Init + $d 0x00003138 0 .text.UARTx_Init + $d 0x0000316c 0 .text.UART0_RecvINT_Processing + $t 0x0000316c 0 .text.UART0_RecvINT_Processing + $d 0x00003198 0 .text.UART0_RecvINT_Processing + $d 0x000031a4 0 .text.UART1_RecvINT_Processing + $t 0x000031a4 0 .text.UART1_RecvINT_Processing + $d 0x000031d0 0 .text.UART1_RecvINT_Processing + $d 0x000031dc 0 .text.UART1_TASK + $t 0x000031dc 0 .text.UART1_TASK + $d 0x00003230 0 .text.UART1_TASK + $d 0x00003248 0 .text.UART2_RecvINT_Processing + $t 0x00003248 0 .text.UART2_RecvINT_Processing + $d 0x00003280 0 .text.UART2_RecvINT_Processing + $d 0x0000328c 0 .text.UART2_TASK + $t 0x0000328c 0 .text.UART2_TASK + $d 0x000032ec 0 .text.UART2_TASK + $d 0x00003304 0 .text.Controller485_SendData + $t 0x00003304 0 .text.Controller485_SendData + $d 0x0000339c 0 .text.Controller485_SendData + $d 0x000033ac 0 .text.BUS485_Send + $t 0x000033ac 0 .text.BUS485_Send + $d 0x00003458 0 .text.BUS485_Send + $d 0x00003470 0 .text.MultSend_Task + $t 0x00003470 0 .text.MultSend_Task + $d 0x000034dc 0 .text.MultSend_Task + $d 0x000034e4 0 .text.Set_GroupSend + $t 0x000034e4 0 .text.Set_GroupSend + $d 0x00003540 0 .text.Set_GroupSend + $d 0x00003548 0 .text.BUS485Send_Task + $t 0x00003548 0 .text.BUS485Send_Task + $d 0x00003570 0 .text.BUS485Send_Task + $d 0x0000357c 0 .text.BusIdle_Task + $t 0x0000357c 0 .text.BusIdle_Task + $d 0x000035b4 0 .text.BusIdle_Task + $d 0x000035bc 0 .text.BusBusy_Task + $t 0x000035bc 0 .text.BusBusy_Task + $d 0x0000360c 0 .text.BusBusy_Task + $d 0x00003618 0 .text.Dbg_Println + $t 0x00003618 0 .text.Dbg_Println + $d 0x00003624 0 .text.EEPROM_CheckSum + $t 0x00003624 0 .text.EEPROM_CheckSum + $d 0x0000363c 0 .text.EEPROM_ReadParaInfo + $t 0x0000363c 0 .text.EEPROM_ReadParaInfo + $d 0x000036a8 0 .text.EEPROM_ReadParaInfo + $d 0x000036b0 0 .text.EEPROM_Validate_ParaInfo + $t 0x000036b0 0 .text.EEPROM_Validate_ParaInfo + $d 0x000036dc 0 .text.EEPROM_Validate_ParaInfo + $d 0x000036e0 0 .text.EEPROM_Default_ParaInfo + $t 0x000036e0 0 .text.EEPROM_Default_ParaInfo + $d 0x00003700 0 .text.EEPROM_Init + $t 0x00003700 0 .text.EEPROM_Init + $d 0x00003748 0 .text.EEPROM_Init + $d 0x00003754 0 .text.TemCtrl_Init + $t 0x00003754 0 .text.TemCtrl_Init + $d 0x0000389c 0 .text.TemCtrl_Init + $d 0x000038b0 0 .text.Ctrller_Ctrl_AirState + $t 0x000038b0 0 .text.Ctrller_Ctrl_AirState + $d 0x0000394c 0 .text.Ctrller_Ctrl_AirState + $d 0x00003954 0 .text.TemCtrl_Pro + $t 0x00003954 0 .text.TemCtrl_Pro + $d 0x000039f4 0 .text.TemCtrl_Pro + $d 0x00003a04 0 .text.Ctrller_CtrlAirState_Processing + $t 0x00003a04 0 .text.Ctrller_CtrlAirState_Processing + $d 0x00003a20 0 .text.Ctrller_CtrlAirState_Processing + $d 0x00003a24 0 .text.Ctrller_RecData_Processing + $t 0x00003a24 0 .text.Ctrller_RecData_Processing + $d 0x00003ab8 0 .text.Ctrller_RecData_Processing + $d 0x00003acc 0 .text.NetCRC16_Check + $t 0x00003acc 0 .text.NetCRC16_Check + $d 0x00003b10 0 .text.NetCRC16_Check + $d 0x00003b18 0 .text.GetCRC16 + $t 0x00003b18 0 .text.GetCRC16 + $d 0x00003b4c 0 .text.GetCRC16 + $d 0x00003b54 0 .text.Rs485AskCtrlSend + $t 0x00003b54 0 .text.Rs485AskCtrlSend + $d 0x00003bac 0 .text.Rs485AskCtrlSend + $d 0x00003bb0 0 .text.IrSend_Rs485_Pro + $t 0x00003bb0 0 .text.IrSend_Rs485_Pro + $d 0x00003cc4 0 .text.IrSend_Rs485_Pro + $d 0x00003ccc 0 .text.DIP_GetSwitchState + $t 0x00003ccc 0 .text.DIP_GetSwitchState + $d 0x00003cfc 0 .text.DIP_GetSwitchState + $d 0x00003d00 0 .text.DIP_Switch_Init + $t 0x00003d00 0 .text.DIP_Switch_Init + $d 0x00003d80 0 .text.DIP_Switch_Init + $d 0x00003d8c 0 .text.DIP_ScanTask + $t 0x00003d8c 0 .text.DIP_ScanTask + $d 0x00003e14 0 .text.DIP_ScanTask + $d 0x00003e24 0 .text.TK_Single_Longpress_prg + $t 0x00003e24 0 .text.TK_Single_Longpress_prg + $d 0x00003f18 0 .text.TK_Single_Longpress_prg + $d 0x00003f4c 0 .text.TK_Sampling_prog + $t 0x00003f4c 0 .text.TK_Sampling_prog + $d 0x00003ff4 0 .text.TK_Sampling_prog + $d 0x00004018 0 .text.get_key_number + $t 0x00004018 0 .text.get_key_number + $d 0x0000403c 0 .text.get_key_number + $d 0x00004040 0 .text.get_key_number0 + $t 0x00004040 0 .text.get_key_number0 + $d 0x00004064 0 .text.get_key_number0 + $d 0x00004068 0 .text.get_key_number1 + $t 0x00004068 0 .text.get_key_number1 + $d 0x0000408c 0 .text.get_key_number1 + $d 0x00004090 0 .text.get_key_number2 + $t 0x00004090 0 .text.get_key_number2 + $d 0x000040b4 0 .text.get_key_number2 + $d 0x000040b8 0 .text.TK_Scan_Start + $t 0x000040b8 0 .text.TK_Scan_Start + $d 0x00004104 0 .text.TK_Scan_Start + $d 0x00004120 0 .text.TK_Keymap_prog + $t 0x00004120 0 .text.TK_Keymap_prog + $d 0x0000445c 0 .text.TK_Keymap_prog + $t 0x000044e0 0 .text.TK_Keymap_prog + $d 0x0000483c 0 .text.TK_Keymap_prog + $t 0x00004880 0 .text.TK_Keymap_prog + $d 0x0000497c 0 .text.TK_Keymap_prog + $d 0x00004990 0 .text.TK_overflow_predict + $t 0x00004990 0 .text.TK_overflow_predict + $d 0x00004a84 0 .text.TK_overflow_predict + $d 0x00004ab8 0 .text.TK_Baseline_tracking + $t 0x00004ab8 0 .text.TK_Baseline_tracking + $d 0x00004e10 0 .text.TK_Baseline_tracking + $t 0x00004e6c 0 .text.TK_Baseline_tracking + $d 0x00004f78 0 .text.TK_Baseline_tracking + $d 0x00004f88 0 .text.TK_result_prog + $t 0x00004f88 0 .text.TK_result_prog + $d 0x00005088 0 .text.TK_result_prog + $d 0x000050b8 0 .text.TKEYIntHandler + $t 0x000050b8 0 .text.TKEYIntHandler + $d 0x00005148 0 .text.TKEYIntHandler + $d 0x00005158 0 .text.CORETHandler + $t 0x00005158 0 .text.CORETHandler + $d 0x00005280 0 .text.CORETHandler + $d 0x000052b4 0 .text.std_clk_calib + $t 0x000052b4 0 .text.std_clk_calib + $d 0x000054fc 0 .text.std_clk_calib + bp 0x00005538 O 16 .rodata + dp_l 0x00005548 O 16 .rodata + dp_h 0x00005558 O 16 .rodata + NUM.6205 0x200000b0 O 1 .bss + OpenDisPlay_Flag.6112 0x20000144 O 1 .bss + TemCtrl_tick.6116 0x20000148 O 4 .bss + update_20ms.6111 0x2000014c O 4 .bss Global Symbols @@ -1748,112 +1665,99 @@ Image Symbol Table UARTInitRxTxIntEn 0x00002320 F 16 .text.UARTInitRxTxIntEn UARTTransmit 0x00002330 F 30 .text.UARTTransmit EPT_Stop 0x00002350 F 40 .text.EPT_Stop - Page_ProgramData 0x00002378 F 160 .text.Page_ProgramData - ReadDataArry_U8 0x00002418 F 42 .text.ReadDataArry_U8 - main 0x00002444 F 56 .text.startup.main - delay_nms 0x0000247c F 44 .text.delay_nms - delay_nus 0x000024a8 F 34 .text.delay_nus - BT_CONFIG 0x000024cc F 96 .text.BT_CONFIG - SYSCON_CONFIG 0x0000252c F 98 .text.SYSCON_CONFIG - APT32F102_init 0x00002590 F 148 .text.APT32F102_init - SYSCONIntHandler 0x00002624 F 240 .text.SYSCONIntHandler - IFCIntHandler 0x00002714 F 104 .text.IFCIntHandler - ADCIntHandler 0x0000277c F 104 .text.ADCIntHandler - EPT0IntHandler 0x000027e4 F 428 .text.EPT0IntHandler - WWDTHandler 0x00002990 F 52 .text.WWDTHandler - GPT0IntHandler 0x000029c4 F 128 .text.GPT0IntHandler - RTCIntHandler 0x00002a44 F 112 .text.RTCIntHandler - UART0IntHandler 0x00002ab4 F 96 .text.UART0IntHandler - UART1IntHandler 0x00002b14 F 148 .text.UART1IntHandler - UART2IntHandler 0x00002ba8 F 148 .text.UART2IntHandler - SPI0IntHandler 0x00002c3c F 232 .text.SPI0IntHandler - SIO0IntHandler 0x00002d24 F 84 .text.SIO0IntHandler - EXI0IntHandler 0x00002d78 F 48 .text.EXI0IntHandler - EXI1IntHandler 0x00002da8 F 48 .text.EXI1IntHandler - EXI2to3IntHandler 0x00002dd8 F 72 .text.EXI2to3IntHandler - EXI4to9IntHandler 0x00002e20 F 108 .text.EXI4to9IntHandler - EXI10to15IntHandler 0x00002e8c F 96 .text.EXI10to15IntHandler - LPTIntHandler 0x00002eec F 52 .text.LPTIntHandler - BT0IntHandler 0x00002f20 F 76 .text.BT0IntHandler - BT1IntHandler 0x00002f6c F 112 .text.BT1IntHandler - PriviledgeVioHandler 0x00002fdc F 2 .text.PriviledgeVioHandler - PendTrapHandler 0x00002fde F 8 .text.PendTrapHandler - Trap3Handler 0x00002fe6 F 8 .text.Trap3Handler - Trap2Handler 0x00002fee F 8 .text.Trap2Handler - Trap1Handler 0x00002ff6 F 8 .text.Trap1Handler - Trap0Handler 0x00002ffe F 8 .text.Trap0Handler - UnrecExecpHandler 0x00003006 F 8 .text.UnrecExecpHandler - BreakPointHandler 0x0000300e F 8 .text.BreakPointHandler - AccessErrHandler 0x00003016 F 8 .text.AccessErrHandler - IllegalInstrHandler 0x0000301e F 8 .text.IllegalInstrHandler - MisalignedHandler 0x00003026 F 8 .text.MisalignedHandler - CNTAIntHandler 0x0000302e F 8 .text.CNTAIntHandler - I2CIntHandler 0x00003036 F 8 .text.I2CIntHandler - __divsi3 0x00003040 F 36 .text.__divsi3 - __udivsi3 0x00003064 F 36 .text.__udivsi3 - __umodsi3 0x00003088 F 36 .text.__umodsi3 - CK_CPU_EnAllNormalIrq 0x000030ac F 6 .text.CK_CPU_EnAllNormalIrq - CK_CPU_DisAllNormalIrq 0x000030b2 F 6 .text.CK_CPU_DisAllNormalIrq - UARTx_Init 0x000030b8 F 344 .text.UARTx_Init - UART0_RecvINT_Processing 0x00003210 F 56 .text.UART0_RecvINT_Processing - UART1_RecvINT_Processing 0x00003248 F 56 .text.UART1_RecvINT_Processing - UART1_TASK 0x00003280 F 108 .text.UART1_TASK - UART2_RecvINT_Processing 0x000032ec F 68 .text.UART2_RecvINT_Processing - UART2_TASK 0x00003330 F 120 .text.UART2_TASK - Controller485_SendData 0x000033a8 F 168 .text.Controller485_SendData - BUS485_Send 0x00003450 F 196 .text.BUS485_Send - MultSend_Task 0x00003514 F 116 .text.MultSend_Task - Set_GroupSend 0x00003588 F 100 .text.Set_GroupSend - Clear_SendFlag 0x000035ec F 16 .text.Clear_SendFlag - BUS485Send_Task 0x000035fc F 52 .text.BUS485Send_Task - BusIdle_Task 0x00003630 F 64 .text.BusIdle_Task - BusBusy_Task 0x00003670 F 92 .text.BusBusy_Task - Dbg_Println 0x000036cc F 12 .text.Dbg_Println - EEPROM_CheckSum 0x000036d8 F 22 .text.EEPROM_CheckSum - EEPROM_ReadParaInfo 0x000036f0 F 116 .text.EEPROM_ReadParaInfo - EEPROM_WriteParaInfo 0x00003764 F 68 .text.EEPROM_WriteParaInfo - EEPROM_Validate_ParaInfo 0x000037a8 F 48 .text.EEPROM_Validate_ParaInfo - EEPROM_Default_ParaInfo 0x000037d8 F 32 .text.EEPROM_Default_ParaInfo - EEPROM_Init 0x000037f8 F 84 .text.EEPROM_Init - TemCtrl_Init 0x0000384c F 348 .text.TemCtrl_Init - Tem_Valve_Ctrl 0x000039a8 F 96 .text.Tem_Valve_Ctrl - DisPlay_Task 0x00003a08 F 404 .text.DisPlay_Task - Ctrller_Query_AirState 0x00003b9c F 68 .text.Ctrller_Query_AirState - Ctrller_Ctrl_AirState 0x00003be0 F 164 .text.Ctrller_Ctrl_AirState - TemCtrl_Pro 0x00003c84 F 204 .text.TemCtrl_Pro - Ctrller_AirState_Processing 0x00003d50 F 212 .text.Ctrller_AirState_Processing - Ctrller_CtrlAirState_Processing 0x00003e24 F 32 .text.Ctrller_CtrlAirState_Processing - Ctrller_RecData_Processing 0x00003e44 F 184 .text.Ctrller_RecData_Processing - NetCRC16_Check 0x00003efc F 76 .text.NetCRC16_Check - GetCRC16 0x00003f48 F 60 .text.GetCRC16 - SOR_CRC 0x00003f84 F 22 .text.SOR_CRC - Rs485_ASend 0x00003f9c F 272 .text.Rs485_ASend - Rs485AskCycleSend 0x000040ac F 260 .text.Rs485AskCycleSend - Rs485AskCtrlSend 0x000041b0 F 92 .text.Rs485AskCtrlSend - Rs485AskReadSend 0x0000420c F 108 .text.Rs485AskReadSend - Rs485_DevPort_ACK 0x00004278 F 24 .text.Rs485_DevPort_ACK - Temp_Rec_Analysis 0x00004290 F 440 .text.Temp_Rec_Analysis - Tem_Rs485_Rec_Pro 0x00004448 F 192 .text.Tem_Rs485_Rec_Pro - DIP_GetSwitchState 0x00004508 F 52 .text.DIP_GetSwitchState - DIP_Switch_Init 0x0000453c F 140 .text.DIP_Switch_Init - DIP_ScanTask 0x000045c8 F 152 .text.DIP_ScanTask - TK_Single_Longpress_prg 0x00004660 F 296 .text.TK_Single_Longpress_prg - TK_Sampling_prog 0x00004788 F 204 .text.TK_Sampling_prog - get_key_number 0x00004854 F 40 .text.get_key_number - get_key_number0 0x0000487c F 40 .text.get_key_number0 - get_key_number1 0x000048a4 F 40 .text.get_key_number1 - get_key_number2 0x000048cc F 40 .text.get_key_number2 - TK_Scan_Start 0x000048f4 F 104 .text.TK_Scan_Start - TK_Keymap_prog 0x0000495c F 2160 .text.TK_Keymap_prog - TK_overflow_predict 0x000051cc F 296 .text.TK_overflow_predict - TK_Baseline_tracking 0x000052f4 F 1232 .text.TK_Baseline_tracking - TK_result_prog 0x000057c4 F 304 .text.TK_result_prog - TKEYIntHandler 0x000058f4 F 160 .text.TKEYIntHandler - CORETHandler 0x00005994 F 348 .text.CORETHandler - std_clk_calib 0x00005af0 F 644 .text.std_clk_calib - __thenan_df 0x00005da4 O 20 .rodata - __clz_tab 0x00005db8 O 256 .rodata - _end_rodata 0x00005fdc 0 .rodata + ReadDataArry_U8 0x00002378 F 42 .text.ReadDataArry_U8 + main 0x000023a4 F 52 .text.startup.main + delay_nms 0x000023d8 F 44 .text.delay_nms + delay_nus 0x00002404 F 34 .text.delay_nus + BT_CONFIG 0x00002428 F 96 .text.BT_CONFIG + SYSCON_CONFIG 0x00002488 F 98 .text.SYSCON_CONFIG + APT32F102_init 0x000024ec F 148 .text.APT32F102_init + SYSCONIntHandler 0x00002580 F 240 .text.SYSCONIntHandler + IFCIntHandler 0x00002670 F 104 .text.IFCIntHandler + ADCIntHandler 0x000026d8 F 104 .text.ADCIntHandler + EPT0IntHandler 0x00002740 F 428 .text.EPT0IntHandler + WWDTHandler 0x000028ec F 52 .text.WWDTHandler + GPT0IntHandler 0x00002920 F 128 .text.GPT0IntHandler + RTCIntHandler 0x000029a0 F 112 .text.RTCIntHandler + UART0IntHandler 0x00002a10 F 96 .text.UART0IntHandler + UART1IntHandler 0x00002a70 F 148 .text.UART1IntHandler + UART2IntHandler 0x00002b04 F 148 .text.UART2IntHandler + SPI0IntHandler 0x00002b98 F 232 .text.SPI0IntHandler + SIO0IntHandler 0x00002c80 F 84 .text.SIO0IntHandler + EXI0IntHandler 0x00002cd4 F 48 .text.EXI0IntHandler + EXI1IntHandler 0x00002d04 F 48 .text.EXI1IntHandler + EXI2to3IntHandler 0x00002d34 F 72 .text.EXI2to3IntHandler + EXI4to9IntHandler 0x00002d7c F 108 .text.EXI4to9IntHandler + EXI10to15IntHandler 0x00002de8 F 96 .text.EXI10to15IntHandler + LPTIntHandler 0x00002e48 F 52 .text.LPTIntHandler + BT0IntHandler 0x00002e7c F 76 .text.BT0IntHandler + BT1IntHandler 0x00002ec8 F 112 .text.BT1IntHandler + PriviledgeVioHandler 0x00002f38 F 2 .text.PriviledgeVioHandler + PendTrapHandler 0x00002f3a F 8 .text.PendTrapHandler + Trap3Handler 0x00002f42 F 8 .text.Trap3Handler + Trap2Handler 0x00002f4a F 8 .text.Trap2Handler + Trap1Handler 0x00002f52 F 8 .text.Trap1Handler + Trap0Handler 0x00002f5a F 8 .text.Trap0Handler + UnrecExecpHandler 0x00002f62 F 8 .text.UnrecExecpHandler + BreakPointHandler 0x00002f6a F 8 .text.BreakPointHandler + AccessErrHandler 0x00002f72 F 8 .text.AccessErrHandler + IllegalInstrHandler 0x00002f7a F 8 .text.IllegalInstrHandler + MisalignedHandler 0x00002f82 F 8 .text.MisalignedHandler + CNTAIntHandler 0x00002f8a F 8 .text.CNTAIntHandler + I2CIntHandler 0x00002f92 F 8 .text.I2CIntHandler + __divsi3 0x00002f9c F 36 .text.__divsi3 + __udivsi3 0x00002fc0 F 36 .text.__udivsi3 + __umodsi3 0x00002fe4 F 36 .text.__umodsi3 + CK_CPU_EnAllNormalIrq 0x00003008 F 6 .text.CK_CPU_EnAllNormalIrq + CK_CPU_DisAllNormalIrq 0x0000300e F 6 .text.CK_CPU_DisAllNormalIrq + UARTx_Init 0x00003014 F 344 .text.UARTx_Init + UART0_RecvINT_Processing 0x0000316c F 56 .text.UART0_RecvINT_Processing + UART1_RecvINT_Processing 0x000031a4 F 56 .text.UART1_RecvINT_Processing + UART1_TASK 0x000031dc F 108 .text.UART1_TASK + UART2_RecvINT_Processing 0x00003248 F 68 .text.UART2_RecvINT_Processing + UART2_TASK 0x0000328c F 120 .text.UART2_TASK + Controller485_SendData 0x00003304 F 168 .text.Controller485_SendData + BUS485_Send 0x000033ac F 196 .text.BUS485_Send + MultSend_Task 0x00003470 F 116 .text.MultSend_Task + Set_GroupSend 0x000034e4 F 100 .text.Set_GroupSend + BUS485Send_Task 0x00003548 F 52 .text.BUS485Send_Task + BusIdle_Task 0x0000357c F 64 .text.BusIdle_Task + BusBusy_Task 0x000035bc F 92 .text.BusBusy_Task + Dbg_Println 0x00003618 F 12 .text.Dbg_Println + EEPROM_CheckSum 0x00003624 F 22 .text.EEPROM_CheckSum + EEPROM_ReadParaInfo 0x0000363c F 116 .text.EEPROM_ReadParaInfo + EEPROM_Validate_ParaInfo 0x000036b0 F 48 .text.EEPROM_Validate_ParaInfo + EEPROM_Default_ParaInfo 0x000036e0 F 32 .text.EEPROM_Default_ParaInfo + EEPROM_Init 0x00003700 F 84 .text.EEPROM_Init + TemCtrl_Init 0x00003754 F 348 .text.TemCtrl_Init + Ctrller_Ctrl_AirState 0x000038b0 F 164 .text.Ctrller_Ctrl_AirState + TemCtrl_Pro 0x00003954 F 176 .text.TemCtrl_Pro + Ctrller_CtrlAirState_Processing 0x00003a04 F 32 .text.Ctrller_CtrlAirState_Processing + Ctrller_RecData_Processing 0x00003a24 F 168 .text.Ctrller_RecData_Processing + NetCRC16_Check 0x00003acc F 76 .text.NetCRC16_Check + GetCRC16 0x00003b18 F 60 .text.GetCRC16 + Rs485AskCtrlSend 0x00003b54 F 92 .text.Rs485AskCtrlSend + IrSend_Rs485_Pro 0x00003bb0 F 284 .text.IrSend_Rs485_Pro + DIP_GetSwitchState 0x00003ccc F 52 .text.DIP_GetSwitchState + DIP_Switch_Init 0x00003d00 F 140 .text.DIP_Switch_Init + DIP_ScanTask 0x00003d8c F 152 .text.DIP_ScanTask + TK_Single_Longpress_prg 0x00003e24 F 296 .text.TK_Single_Longpress_prg + TK_Sampling_prog 0x00003f4c F 204 .text.TK_Sampling_prog + get_key_number 0x00004018 F 40 .text.get_key_number + get_key_number0 0x00004040 F 40 .text.get_key_number0 + get_key_number1 0x00004068 F 40 .text.get_key_number1 + get_key_number2 0x00004090 F 40 .text.get_key_number2 + TK_Scan_Start 0x000040b8 F 104 .text.TK_Scan_Start + TK_Keymap_prog 0x00004120 F 2160 .text.TK_Keymap_prog + TK_overflow_predict 0x00004990 F 296 .text.TK_overflow_predict + TK_Baseline_tracking 0x00004ab8 F 1232 .text.TK_Baseline_tracking + TK_result_prog 0x00004f88 F 304 .text.TK_result_prog + TKEYIntHandler 0x000050b8 F 160 .text.TKEYIntHandler + CORETHandler 0x00005158 F 348 .text.CORETHandler + std_clk_calib 0x000052b4 F 644 .text.std_clk_calib + __thenan_df 0x00005568 O 20 .rodata + __clz_tab 0x0000557c O 256 .rodata + _end_rodata 0x00005774 0 .rodata HWD 0x20000000 O 4 .data _start_data 0x20000000 0 .data CRC 0x20000004 O 4 .data @@ -2034,34 +1938,34 @@ Memory Map of the image Image Entry point : 0x0000010c - Region ROM (Base: 0x00000000, Size: 0x00005fdc, Max: 0x00010000) + Region ROM (Base: 0x00000000, Size: 0x00005774, Max: 0x00010000) Base Addr Size Type Attr Idx Section Name Object 0x00000000 0x000001b4 Code RO 16 .text Obj/arch_crt0.o - 0x000001b4 0x000009aa Code RO 1081 .text pow.o - 0x00000b5e 0x00000006 Code RO 1089 .text fabs.o - 0x00000b64 0x00000020 Code RO 1095 .text scalbn.o - 0x00000b84 0x00000178 Code RO 1102 .text sqrt.o - 0x00000cfc 0x00000014 Code RO 1113 .text _csky_case_uqi.o - 0x00000d10 0x00000038 Code RO 1118 .text _fixunsdfsi.o - 0x00000d48 0x0000033a Code RO 1125 .text _addsub_df.o + 0x000001b4 0x000009aa Code RO 1075 .text pow.o + 0x00000b5e 0x00000006 Code RO 1083 .text fabs.o + 0x00000b64 0x00000020 Code RO 1089 .text scalbn.o + 0x00000b84 0x00000178 Code RO 1096 .text sqrt.o + 0x00000cfc 0x00000014 Code RO 1107 .text _csky_case_uqi.o + 0x00000d10 0x00000038 Code RO 1112 .text _fixunsdfsi.o + 0x00000d48 0x0000033a Code RO 1119 .text _addsub_df.o 0x00001082 0x00000002 PAD - 0x00001084 0x00000234 Code RO 1132 .text _mul_df.o - 0x000012b8 0x00000154 Code RO 1139 .text _div_df.o - 0x0000140c 0x0000003c Code RO 1146 .text _gt_df.o - 0x00001448 0x0000003c Code RO 1153 .text _ge_df.o - 0x00001484 0x0000003a Code RO 1160 .text _le_df.o + 0x00001084 0x00000234 Code RO 1126 .text _mul_df.o + 0x000012b8 0x00000154 Code RO 1133 .text _div_df.o + 0x0000140c 0x0000003c Code RO 1140 .text _gt_df.o + 0x00001448 0x0000003c Code RO 1147 .text _ge_df.o + 0x00001484 0x0000003a Code RO 1154 .text _le_df.o 0x000014be 0x00000002 PAD - 0x000014c0 0x00000070 Code RO 1167 .text _si_to_df.o - 0x00001530 0x00000070 Code RO 1174 .text _df_to_si.o - 0x000015a0 0x00000054 Code RO 1188 .text _usi_to_df.o - 0x000015f4 0x00000044 Code RO 1195 .text _muldi3.o - 0x00001638 0x00000040 Code RO 1202 .text _clzsi2.o - 0x00001678 0x0000019c Code RO 1208 .text _pack_df.o - 0x00001814 0x000000c4 Code RO 1215 .text _unpack_df.o - 0x000018d8 0x0000008c Code RO 1222 .text _fpcmp_parts_df.o - 0x00001964 0x00000088 Code RO 1243 .text memset_fast.o - 0x000019ec 0x00000064 Code RO 1248 .text memcpy_fast.o + 0x000014c0 0x00000070 Code RO 1161 .text _si_to_df.o + 0x00001530 0x00000070 Code RO 1168 .text _df_to_si.o + 0x000015a0 0x00000054 Code RO 1182 .text _usi_to_df.o + 0x000015f4 0x00000044 Code RO 1189 .text _muldi3.o + 0x00001638 0x00000040 Code RO 1196 .text _clzsi2.o + 0x00001678 0x0000019c Code RO 1202 .text _pack_df.o + 0x00001814 0x000000c4 Code RO 1209 .text _unpack_df.o + 0x000018d8 0x0000008c Code RO 1216 .text _fpcmp_parts_df.o + 0x00001964 0x00000088 Code RO 1237 .text memset_fast.o + 0x000019ec 0x00000064 Code RO 1242 .text memcpy_fast.o 0x00001a50 0x00000038 Code RO 28 .text.__main Obj/arch_mem_init.o 0x00001a88 0x00000074 Code RO 61 .text.SYSCON_General_CMD.part.0 Obj/FWlib_apt32f102_syscon.o 0x00001afc 0x0000004c Code RO 62 .text.SYSCON_RST_VALUE Obj/FWlib_apt32f102_syscon.o @@ -2111,130 +2015,116 @@ Memory Map of the image 0x00002320 0x00000010 Code RO 452 .text.UARTInitRxTxIntEn Obj/FWlib_apt32f102_uart.o 0x00002330 0x0000001e Code RO 456 .text.UARTTransmit Obj/FWlib_apt32f102_uart.o 0x00002350 0x00000028 Code RO 516 .text.EPT_Stop Obj/FWlib_apt32f102_ept.o - 0x00002378 0x000000a0 Code RO 641 .text.Page_ProgramData Obj/FWlib_apt32f102_ifc.o - 0x00002418 0x0000002a Code RO 644 .text.ReadDataArry_U8 Obj/FWlib_apt32f102_ifc.o - 0x00002444 0x00000038 Code RO 705 .text.startup.main Obj/main.o - 0x0000247c 0x0000002c Code RO 721 .text.delay_nms Obj/mcu_initial.o - 0x000024a8 0x00000022 Code RO 722 .text.delay_nus Obj/mcu_initial.o - 0x000024cc 0x00000060 Code RO 725 .text.BT_CONFIG Obj/mcu_initial.o - 0x0000252c 0x00000062 Code RO 731 .text.SYSCON_CONFIG Obj/mcu_initial.o - 0x00002590 0x00000094 Code RO 732 .text.APT32F102_init Obj/mcu_initial.o - 0x00002624 0x000000f0 Code RO 748 .text.SYSCONIntHandler Obj/mcu_interrupt.o - 0x00002714 0x00000068 Code RO 749 .text.IFCIntHandler Obj/mcu_interrupt.o - 0x0000277c 0x00000068 Code RO 750 .text.ADCIntHandler Obj/mcu_interrupt.o - 0x000027e4 0x000001ac Code RO 751 .text.EPT0IntHandler Obj/mcu_interrupt.o - 0x00002990 0x00000034 Code RO 752 .text.WWDTHandler Obj/mcu_interrupt.o - 0x000029c4 0x00000080 Code RO 753 .text.GPT0IntHandler Obj/mcu_interrupt.o - 0x00002a44 0x00000070 Code RO 754 .text.RTCIntHandler Obj/mcu_interrupt.o - 0x00002ab4 0x00000060 Code RO 755 .text.UART0IntHandler Obj/mcu_interrupt.o - 0x00002b14 0x00000094 Code RO 756 .text.UART1IntHandler Obj/mcu_interrupt.o - 0x00002ba8 0x00000094 Code RO 757 .text.UART2IntHandler Obj/mcu_interrupt.o - 0x00002c3c 0x000000e8 Code RO 758 .text.SPI0IntHandler Obj/mcu_interrupt.o - 0x00002d24 0x00000054 Code RO 759 .text.SIO0IntHandler Obj/mcu_interrupt.o - 0x00002d78 0x00000030 Code RO 760 .text.EXI0IntHandler Obj/mcu_interrupt.o - 0x00002da8 0x00000030 Code RO 761 .text.EXI1IntHandler Obj/mcu_interrupt.o - 0x00002dd8 0x00000048 Code RO 762 .text.EXI2to3IntHandler Obj/mcu_interrupt.o - 0x00002e20 0x0000006c Code RO 763 .text.EXI4to9IntHandler Obj/mcu_interrupt.o - 0x00002e8c 0x00000060 Code RO 764 .text.EXI10to15IntHandler Obj/mcu_interrupt.o - 0x00002eec 0x00000034 Code RO 765 .text.LPTIntHandler Obj/mcu_interrupt.o - 0x00002f20 0x0000004c Code RO 766 .text.BT0IntHandler Obj/mcu_interrupt.o - 0x00002f6c 0x00000070 Code RO 767 .text.BT1IntHandler Obj/mcu_interrupt.o - 0x00002fdc 0x00000002 Code RO 768 .text.PriviledgeVioHandler Obj/mcu_interrupt.o - 0x00002fde 0x00000008 Code RO 770 .text.PendTrapHandler Obj/mcu_interrupt.o - 0x00002fe6 0x00000008 Code RO 771 .text.Trap3Handler Obj/mcu_interrupt.o - 0x00002fee 0x00000008 Code RO 772 .text.Trap2Handler Obj/mcu_interrupt.o - 0x00002ff6 0x00000008 Code RO 773 .text.Trap1Handler Obj/mcu_interrupt.o - 0x00002ffe 0x00000008 Code RO 774 .text.Trap0Handler Obj/mcu_interrupt.o - 0x00003006 0x00000008 Code RO 775 .text.UnrecExecpHandler Obj/mcu_interrupt.o - 0x0000300e 0x00000008 Code RO 776 .text.BreakPointHandler Obj/mcu_interrupt.o - 0x00003016 0x00000008 Code RO 777 .text.AccessErrHandler Obj/mcu_interrupt.o - 0x0000301e 0x00000008 Code RO 778 .text.IllegalInstrHandler Obj/mcu_interrupt.o - 0x00003026 0x00000008 Code RO 779 .text.MisalignedHandler Obj/mcu_interrupt.o - 0x0000302e 0x00000008 Code RO 780 .text.CNTAIntHandler Obj/mcu_interrupt.o - 0x00003036 0x00000008 Code RO 781 .text.I2CIntHandler Obj/mcu_interrupt.o - 0x00003040 0x00000024 Code RO 798 .text.__divsi3 Obj/drivers_apt32f102.o - 0x00003064 0x00000024 Code RO 799 .text.__udivsi3 Obj/drivers_apt32f102.o - 0x00003088 0x00000024 Code RO 801 .text.__umodsi3 Obj/drivers_apt32f102.o - 0x000030ac 0x00000006 Code RO 819 .text.CK_CPU_EnAllNormalIrq Obj/drivers_apt32f102_ck801.o - 0x000030b2 0x00000006 Code RO 820 .text.CK_CPU_DisAllNormalIrq Obj/drivers_apt32f102_ck801.o - 0x000030b8 0x00000158 Code RO 834 .text.UARTx_Init Obj/SYSTEM_uart.o - 0x00003210 0x00000038 Code RO 835 .text.UART0_RecvINT_Processing Obj/SYSTEM_uart.o - 0x00003248 0x00000038 Code RO 837 .text.UART1_RecvINT_Processing Obj/SYSTEM_uart.o - 0x00003280 0x0000006c Code RO 838 .text.UART1_TASK Obj/SYSTEM_uart.o - 0x000032ec 0x00000044 Code RO 839 .text.UART2_RecvINT_Processing Obj/SYSTEM_uart.o - 0x00003330 0x00000078 Code RO 840 .text.UART2_TASK Obj/SYSTEM_uart.o - 0x000033a8 0x000000a8 Code RO 843 .text.Controller485_SendData Obj/SYSTEM_uart.o - 0x00003450 0x000000c4 Code RO 844 .text.BUS485_Send Obj/SYSTEM_uart.o - 0x00003514 0x00000074 Code RO 845 .text.MultSend_Task Obj/SYSTEM_uart.o - 0x00003588 0x00000064 Code RO 846 .text.Set_GroupSend Obj/SYSTEM_uart.o - 0x000035ec 0x00000010 Code RO 847 .text.Clear_SendFlag Obj/SYSTEM_uart.o - 0x000035fc 0x00000034 Code RO 849 .text.BUS485Send_Task Obj/SYSTEM_uart.o - 0x00003630 0x00000040 Code RO 851 .text.BusIdle_Task Obj/SYSTEM_uart.o - 0x00003670 0x0000005c Code RO 852 .text.BusBusy_Task Obj/SYSTEM_uart.o - 0x000036cc 0x0000000c Code RO 854 .text.Dbg_Println Obj/SYSTEM_uart.o - 0x000036d8 0x00000016 Code RO 872 .text.EEPROM_CheckSum Obj/SYSTEM_eeprom.o - 0x000036f0 0x00000074 Code RO 873 .text.EEPROM_ReadParaInfo Obj/SYSTEM_eeprom.o - 0x00003764 0x00000044 Code RO 874 .text.EEPROM_WriteParaInfo Obj/SYSTEM_eeprom.o - 0x000037a8 0x00000030 Code RO 876 .text.EEPROM_Validate_ParaInfo Obj/SYSTEM_eeprom.o - 0x000037d8 0x00000020 Code RO 877 .text.EEPROM_Default_ParaInfo Obj/SYSTEM_eeprom.o - 0x000037f8 0x00000054 Code RO 878 .text.EEPROM_Init Obj/SYSTEM_eeprom.o - 0x0000384c 0x0000015c Code RO 928 .text.TemCtrl_Init Obj/SYSTEM_tempctrl_unit.o - 0x000039a8 0x00000060 Code RO 929 .text.Tem_Valve_Ctrl Obj/SYSTEM_tempctrl_unit.o - 0x00003a08 0x00000194 Code RO 930 .text.DisPlay_Task Obj/SYSTEM_tempctrl_unit.o - 0x00003b9c 0x00000044 Code RO 932 .text.Ctrller_Query_AirState Obj/SYSTEM_tempctrl_unit.o - 0x00003be0 0x000000a4 Code RO 933 .text.Ctrller_Ctrl_AirState Obj/SYSTEM_tempctrl_unit.o - 0x00003c84 0x000000cc Code RO 934 .text.TemCtrl_Pro Obj/SYSTEM_tempctrl_unit.o - 0x00003d50 0x000000d4 Code RO 936 .text.Ctrller_AirState_Processing Obj/SYSTEM_tempctrl_unit.o - 0x00003e24 0x00000020 Code RO 937 .text.Ctrller_CtrlAirState_Processing Obj/SYSTEM_tempctrl_unit.o - 0x00003e44 0x000000b8 Code RO 938 .text.Ctrller_RecData_Processing Obj/SYSTEM_tempctrl_unit.o - 0x00003efc 0x0000004c Code RO 956 .text.NetCRC16_Check Obj/SYSTEM_uart_protocol.o - 0x00003f48 0x0000003c Code RO 957 .text.GetCRC16 Obj/SYSTEM_uart_protocol.o - 0x00003f84 0x00000016 Code RO 958 .text.SOR_CRC Obj/SYSTEM_uart_protocol.o - 0x00003f9c 0x00000110 Code RO 959 .text.Rs485_ASend Obj/SYSTEM_uart_protocol.o - 0x000040ac 0x00000104 Code RO 960 .text.Rs485AskCycleSend Obj/SYSTEM_uart_protocol.o - 0x000041b0 0x0000005c Code RO 961 .text.Rs485AskCtrlSend Obj/SYSTEM_uart_protocol.o - 0x0000420c 0x0000006c Code RO 962 .text.Rs485AskReadSend Obj/SYSTEM_uart_protocol.o - 0x00004278 0x00000018 Code RO 963 .text.Rs485_DevPort_ACK Obj/SYSTEM_uart_protocol.o - 0x00004290 0x000001b8 Code RO 964 .text.Temp_Rec_Analysis Obj/SYSTEM_uart_protocol.o - 0x00004448 0x000000c0 Code RO 965 .text.Tem_Rs485_Rec_Pro Obj/SYSTEM_uart_protocol.o - 0x00004508 0x00000034 Code RO 982 .text.DIP_GetSwitchState Obj/SYSTEM_dip_switch.o - 0x0000453c 0x0000008c Code RO 983 .text.DIP_Switch_Init Obj/SYSTEM_dip_switch.o - 0x000045c8 0x00000098 Code RO 984 .text.DIP_ScanTask Obj/SYSTEM_dip_switch.o - 0x00004660 0x00000128 Code RO 1019 .text.TK_Single_Longpress_prg FWlib_apt32f102_tkey_f_1_18.o - 0x00004788 0x000000cc Code RO 1020 .text.TK_Sampling_prog FWlib_apt32f102_tkey_f_1_18.o - 0x00004854 0x00000028 Code RO 1024 .text.get_key_number FWlib_apt32f102_tkey_f_1_18.o - 0x0000487c 0x00000028 Code RO 1025 .text.get_key_number0 FWlib_apt32f102_tkey_f_1_18.o - 0x000048a4 0x00000028 Code RO 1026 .text.get_key_number1 FWlib_apt32f102_tkey_f_1_18.o - 0x000048cc 0x00000028 Code RO 1027 .text.get_key_number2 FWlib_apt32f102_tkey_f_1_18.o - 0x000048f4 0x00000068 Code RO 1031 .text.TK_Scan_Start FWlib_apt32f102_tkey_f_1_18.o - 0x0000495c 0x00000870 Code RO 1032 .text.TK_Keymap_prog FWlib_apt32f102_tkey_f_1_18.o - 0x000051cc 0x00000128 Code RO 1033 .text.TK_overflow_predict FWlib_apt32f102_tkey_f_1_18.o - 0x000052f4 0x000004d0 Code RO 1034 .text.TK_Baseline_tracking FWlib_apt32f102_tkey_f_1_18.o - 0x000057c4 0x00000130 Code RO 1035 .text.TK_result_prog FWlib_apt32f102_tkey_f_1_18.o - 0x000058f4 0x000000a0 Code RO 1041 .text.TKEYIntHandler FWlib_apt32f102_tkey_f_1_18.o - 0x00005994 0x0000015c Code RO 1042 .text.CORETHandler FWlib_apt32f102_tkey_f_1_18.o - 0x00005af0 0x00000284 Code RO 1061 .text.std_clk_calib FWlib_apt32f102_clkcalib.o - 0x00005d74 0x00000030 Data RO 1084 .rodata pow.o - 0x00005da4 0x00000014 Data RO 1184 .rodata _thenan_df.o - 0x00005db8 0x00000100 Data RO 1232 .rodata _clz.o - 0x00005eb8 0x0000000e Data RO 706 .rodata.str1.1 Obj/main.o - 0x00005ec6 0x0000007c Data RO 883 .rodata.str1.1 Obj/SYSTEM_eeprom.o - 0x00005f42 0x0000004f Data RO 939 .rodata.str1.1 Obj/SYSTEM_tempctrl_unit.o - 0x00005f91 0x0000002c Data RO 966 .rodata.str1.1 Obj/SYSTEM_uart_protocol.o - 0x00005fbd 0x0000001f Data RO 985 .rodata.str1.1 Obj/SYSTEM_dip_switch.o + 0x00002378 0x0000002a Code RO 644 .text.ReadDataArry_U8 Obj/FWlib_apt32f102_ifc.o + 0x000023a4 0x00000034 Code RO 705 .text.startup.main Obj/main.o + 0x000023d8 0x0000002c Code RO 721 .text.delay_nms Obj/mcu_initial.o + 0x00002404 0x00000022 Code RO 722 .text.delay_nus Obj/mcu_initial.o + 0x00002428 0x00000060 Code RO 725 .text.BT_CONFIG Obj/mcu_initial.o + 0x00002488 0x00000062 Code RO 731 .text.SYSCON_CONFIG Obj/mcu_initial.o + 0x000024ec 0x00000094 Code RO 732 .text.APT32F102_init Obj/mcu_initial.o + 0x00002580 0x000000f0 Code RO 748 .text.SYSCONIntHandler Obj/mcu_interrupt.o + 0x00002670 0x00000068 Code RO 749 .text.IFCIntHandler Obj/mcu_interrupt.o + 0x000026d8 0x00000068 Code RO 750 .text.ADCIntHandler Obj/mcu_interrupt.o + 0x00002740 0x000001ac Code RO 751 .text.EPT0IntHandler Obj/mcu_interrupt.o + 0x000028ec 0x00000034 Code RO 752 .text.WWDTHandler Obj/mcu_interrupt.o + 0x00002920 0x00000080 Code RO 753 .text.GPT0IntHandler Obj/mcu_interrupt.o + 0x000029a0 0x00000070 Code RO 754 .text.RTCIntHandler Obj/mcu_interrupt.o + 0x00002a10 0x00000060 Code RO 755 .text.UART0IntHandler Obj/mcu_interrupt.o + 0x00002a70 0x00000094 Code RO 756 .text.UART1IntHandler Obj/mcu_interrupt.o + 0x00002b04 0x00000094 Code RO 757 .text.UART2IntHandler Obj/mcu_interrupt.o + 0x00002b98 0x000000e8 Code RO 758 .text.SPI0IntHandler Obj/mcu_interrupt.o + 0x00002c80 0x00000054 Code RO 759 .text.SIO0IntHandler Obj/mcu_interrupt.o + 0x00002cd4 0x00000030 Code RO 760 .text.EXI0IntHandler Obj/mcu_interrupt.o + 0x00002d04 0x00000030 Code RO 761 .text.EXI1IntHandler Obj/mcu_interrupt.o + 0x00002d34 0x00000048 Code RO 762 .text.EXI2to3IntHandler Obj/mcu_interrupt.o + 0x00002d7c 0x0000006c Code RO 763 .text.EXI4to9IntHandler Obj/mcu_interrupt.o + 0x00002de8 0x00000060 Code RO 764 .text.EXI10to15IntHandler Obj/mcu_interrupt.o + 0x00002e48 0x00000034 Code RO 765 .text.LPTIntHandler Obj/mcu_interrupt.o + 0x00002e7c 0x0000004c Code RO 766 .text.BT0IntHandler Obj/mcu_interrupt.o + 0x00002ec8 0x00000070 Code RO 767 .text.BT1IntHandler Obj/mcu_interrupt.o + 0x00002f38 0x00000002 Code RO 768 .text.PriviledgeVioHandler Obj/mcu_interrupt.o + 0x00002f3a 0x00000008 Code RO 770 .text.PendTrapHandler Obj/mcu_interrupt.o + 0x00002f42 0x00000008 Code RO 771 .text.Trap3Handler Obj/mcu_interrupt.o + 0x00002f4a 0x00000008 Code RO 772 .text.Trap2Handler Obj/mcu_interrupt.o + 0x00002f52 0x00000008 Code RO 773 .text.Trap1Handler Obj/mcu_interrupt.o + 0x00002f5a 0x00000008 Code RO 774 .text.Trap0Handler Obj/mcu_interrupt.o + 0x00002f62 0x00000008 Code RO 775 .text.UnrecExecpHandler Obj/mcu_interrupt.o + 0x00002f6a 0x00000008 Code RO 776 .text.BreakPointHandler Obj/mcu_interrupt.o + 0x00002f72 0x00000008 Code RO 777 .text.AccessErrHandler Obj/mcu_interrupt.o + 0x00002f7a 0x00000008 Code RO 778 .text.IllegalInstrHandler Obj/mcu_interrupt.o + 0x00002f82 0x00000008 Code RO 779 .text.MisalignedHandler Obj/mcu_interrupt.o + 0x00002f8a 0x00000008 Code RO 780 .text.CNTAIntHandler Obj/mcu_interrupt.o + 0x00002f92 0x00000008 Code RO 781 .text.I2CIntHandler Obj/mcu_interrupt.o + 0x00002f9c 0x00000024 Code RO 798 .text.__divsi3 Obj/drivers_apt32f102.o + 0x00002fc0 0x00000024 Code RO 799 .text.__udivsi3 Obj/drivers_apt32f102.o + 0x00002fe4 0x00000024 Code RO 801 .text.__umodsi3 Obj/drivers_apt32f102.o + 0x00003008 0x00000006 Code RO 819 .text.CK_CPU_EnAllNormalIrq Obj/drivers_apt32f102_ck801.o + 0x0000300e 0x00000006 Code RO 820 .text.CK_CPU_DisAllNormalIrq Obj/drivers_apt32f102_ck801.o + 0x00003014 0x00000158 Code RO 834 .text.UARTx_Init Obj/SYSTEM_uart.o + 0x0000316c 0x00000038 Code RO 835 .text.UART0_RecvINT_Processing Obj/SYSTEM_uart.o + 0x000031a4 0x00000038 Code RO 837 .text.UART1_RecvINT_Processing Obj/SYSTEM_uart.o + 0x000031dc 0x0000006c Code RO 838 .text.UART1_TASK Obj/SYSTEM_uart.o + 0x00003248 0x00000044 Code RO 839 .text.UART2_RecvINT_Processing Obj/SYSTEM_uart.o + 0x0000328c 0x00000078 Code RO 840 .text.UART2_TASK Obj/SYSTEM_uart.o + 0x00003304 0x000000a8 Code RO 843 .text.Controller485_SendData Obj/SYSTEM_uart.o + 0x000033ac 0x000000c4 Code RO 844 .text.BUS485_Send Obj/SYSTEM_uart.o + 0x00003470 0x00000074 Code RO 845 .text.MultSend_Task Obj/SYSTEM_uart.o + 0x000034e4 0x00000064 Code RO 846 .text.Set_GroupSend Obj/SYSTEM_uart.o + 0x00003548 0x00000034 Code RO 849 .text.BUS485Send_Task Obj/SYSTEM_uart.o + 0x0000357c 0x00000040 Code RO 851 .text.BusIdle_Task Obj/SYSTEM_uart.o + 0x000035bc 0x0000005c Code RO 852 .text.BusBusy_Task Obj/SYSTEM_uart.o + 0x00003618 0x0000000c Code RO 854 .text.Dbg_Println Obj/SYSTEM_uart.o + 0x00003624 0x00000016 Code RO 872 .text.EEPROM_CheckSum Obj/SYSTEM_eeprom.o + 0x0000363c 0x00000074 Code RO 873 .text.EEPROM_ReadParaInfo Obj/SYSTEM_eeprom.o + 0x000036b0 0x00000030 Code RO 876 .text.EEPROM_Validate_ParaInfo Obj/SYSTEM_eeprom.o + 0x000036e0 0x00000020 Code RO 877 .text.EEPROM_Default_ParaInfo Obj/SYSTEM_eeprom.o + 0x00003700 0x00000054 Code RO 878 .text.EEPROM_Init Obj/SYSTEM_eeprom.o + 0x00003754 0x0000015c Code RO 928 .text.TemCtrl_Init Obj/SYSTEM_tempctrl_unit.o + 0x000038b0 0x000000a4 Code RO 933 .text.Ctrller_Ctrl_AirState Obj/SYSTEM_tempctrl_unit.o + 0x00003954 0x000000b0 Code RO 934 .text.TemCtrl_Pro Obj/SYSTEM_tempctrl_unit.o + 0x00003a04 0x00000020 Code RO 937 .text.Ctrller_CtrlAirState_Processing Obj/SYSTEM_tempctrl_unit.o + 0x00003a24 0x000000a8 Code RO 938 .text.Ctrller_RecData_Processing Obj/SYSTEM_tempctrl_unit.o + 0x00003acc 0x0000004c Code RO 956 .text.NetCRC16_Check Obj/SYSTEM_uart_protocol.o + 0x00003b18 0x0000003c Code RO 957 .text.GetCRC16 Obj/SYSTEM_uart_protocol.o + 0x00003b54 0x0000005c Code RO 959 .text.Rs485AskCtrlSend Obj/SYSTEM_uart_protocol.o + 0x00003bb0 0x0000011c Code RO 960 .text.IrSend_Rs485_Pro Obj/SYSTEM_uart_protocol.o + 0x00003ccc 0x00000034 Code RO 976 .text.DIP_GetSwitchState Obj/SYSTEM_dip_switch.o + 0x00003d00 0x0000008c Code RO 977 .text.DIP_Switch_Init Obj/SYSTEM_dip_switch.o + 0x00003d8c 0x00000098 Code RO 978 .text.DIP_ScanTask Obj/SYSTEM_dip_switch.o + 0x00003e24 0x00000128 Code RO 1013 .text.TK_Single_Longpress_prg FWlib_apt32f102_tkey_f_1_18.o + 0x00003f4c 0x000000cc Code RO 1014 .text.TK_Sampling_prog FWlib_apt32f102_tkey_f_1_18.o + 0x00004018 0x00000028 Code RO 1018 .text.get_key_number FWlib_apt32f102_tkey_f_1_18.o + 0x00004040 0x00000028 Code RO 1019 .text.get_key_number0 FWlib_apt32f102_tkey_f_1_18.o + 0x00004068 0x00000028 Code RO 1020 .text.get_key_number1 FWlib_apt32f102_tkey_f_1_18.o + 0x00004090 0x00000028 Code RO 1021 .text.get_key_number2 FWlib_apt32f102_tkey_f_1_18.o + 0x000040b8 0x00000068 Code RO 1025 .text.TK_Scan_Start FWlib_apt32f102_tkey_f_1_18.o + 0x00004120 0x00000870 Code RO 1026 .text.TK_Keymap_prog FWlib_apt32f102_tkey_f_1_18.o + 0x00004990 0x00000128 Code RO 1027 .text.TK_overflow_predict FWlib_apt32f102_tkey_f_1_18.o + 0x00004ab8 0x000004d0 Code RO 1028 .text.TK_Baseline_tracking FWlib_apt32f102_tkey_f_1_18.o + 0x00004f88 0x00000130 Code RO 1029 .text.TK_result_prog FWlib_apt32f102_tkey_f_1_18.o + 0x000050b8 0x000000a0 Code RO 1035 .text.TKEYIntHandler FWlib_apt32f102_tkey_f_1_18.o + 0x00005158 0x0000015c Code RO 1036 .text.CORETHandler FWlib_apt32f102_tkey_f_1_18.o + 0x000052b4 0x00000284 Code RO 1055 .text.std_clk_calib FWlib_apt32f102_clkcalib.o + 0x00005538 0x00000030 Data RO 1078 .rodata pow.o + 0x00005568 0x00000014 Data RO 1178 .rodata _thenan_df.o + 0x0000557c 0x00000100 Data RO 1226 .rodata _clz.o + 0x0000567c 0x0000000e Data RO 706 .rodata.str1.1 Obj/main.o + 0x0000568a 0x0000007c Data RO 883 .rodata.str1.1 Obj/SYSTEM_eeprom.o + 0x00005706 0x0000004f Data RO 939 .rodata.str1.1 Obj/SYSTEM_tempctrl_unit.o + 0x00005755 0x0000001f Data RO 979 .rodata.str1.1 Obj/SYSTEM_dip_switch.o Region RAM (Base: 0x20000000, Size: 0x000007d4, Max: 0x00001000) Base Addr Size Type Attr Idx Section Name Object 0x20000000 0x00000068 Data RW 796 .data Obj/drivers_apt32f102.o - 0x20000068 0x0000003d Data RW 1009 .data FWlib_apt32f102_tkey_f_1_18.o + 0x20000068 0x0000003d Data RW 1003 .data FWlib_apt32f102_tkey_f_1_18.o 0x200000a5 0x00000003 PAD 0x200000a8 0x00000008 Zero RW 704 .bss Obj/main.o 0x200000b0 0x0000000c Zero RW 747 .bss Obj/mcu_interrupt.o 0x200000bc 0x00000088 Zero RW 833 .bss Obj/SYSTEM_uart.o 0x20000144 0x00000008 Zero RW 927 .bss Obj/SYSTEM_tempctrl_unit.o - 0x2000014c 0x00000004 Zero RW 981 .bss Obj/SYSTEM_dip_switch.o - 0x20000150 0x00000001 Zero RW 1010 .bss FWlib_apt32f102_tkey_f_1_18.o + 0x2000014c 0x00000004 Zero RW 975 .bss Obj/SYSTEM_dip_switch.o + 0x20000150 0x00000001 Zero RW 1004 .bss FWlib_apt32f102_tkey_f_1_18.o 0x20000151 0x00000003 PAD 0x20000154 0x00000086 Zero RW 676 COMMON Obj/FWlib_apt32f102_tkey_parameter.o 0x200001da 0x00000002 PAD @@ -2243,8 +2133,8 @@ Memory Map of the image 0x200003f0 0x0000002d Zero RW 896 COMMON Obj/SYSTEM_eeprom.o 0x2000041d 0x00000003 PAD 0x20000420 0x00000028 Zero RW 952 COMMON Obj/SYSTEM_tempctrl_unit.o - 0x20000448 0x00000010 Zero RW 998 COMMON Obj/SYSTEM_dip_switch.o - 0x20000458 0x0000037c Zero RW 1057 COMMON FWlib_apt32f102_tkey_f_1_18.o + 0x20000448 0x00000010 Zero RW 992 COMMON Obj/SYSTEM_dip_switch.o + 0x20000458 0x0000037c Zero RW 1051 COMMON FWlib_apt32f102_tkey_f_1_18.o Region *default* (Base: 0x00000000, Size: 0x00000000, Max: 0xffffffff) @@ -2256,8 +2146,8 @@ Image component sizes Code RO Data RW Data ZI Data Debug Object Name 0 0 0 0 0 linker stubs - 436 0 0 0 276 Obj/arch_crt0.o - 56 0 0 0 810 Obj/arch_mem_init.o + 436 0 0 0 279 Obj/arch_crt0.o + 56 0 0 0 813 Obj/arch_mem_init.o 0 0 0 0 0 Obj/arch_apt32f102_iostring.o 852 0 0 0 21139 Obj/FWlib_apt32f102_syscon.o 788 0 0 0 13094 Obj/FWlib_apt32f102_gpio.o @@ -2275,23 +2165,23 @@ Image component sizes 40 0 0 0 28182 Obj/FWlib_apt32f102_ept.o 0 0 0 0 0 Obj/FWlib_apt32f102_rtc.o 0 0 0 0 0 Obj/FWlib_apt32f102_adc.o - 202 0 0 0 16689 Obj/FWlib_apt32f102_ifc.o + 42 0 0 0 16689 Obj/FWlib_apt32f102_ifc.o 0 0 0 134 8693 Obj/FWlib_apt32f102_tkey_parameter.o 0 0 0 0 0 Obj/FWlib_apt32f102_coret.o - 56 14 0 8 12083 Obj/main.o + 52 14 0 8 12082 Obj/main.o 420 0 0 0 16825 Obj/mcu_initial.o 2586 0 0 60 15349 Obj/mcu_interrupt.o 108 0 104 0 8379 Obj/drivers_apt32f102.o 12 0 0 0 8319 Obj/drivers_apt32f102_ck801.o - 1568 0 0 620 16226 Obj/SYSTEM_uart.o - 370 124 0 45 13118 Obj/SYSTEM_eeprom.o + 1552 0 0 620 16226 Obj/SYSTEM_uart.o + 302 124 0 45 13118 Obj/SYSTEM_eeprom.o 0 0 0 0 0 Obj/SYSTEM_Bootload_fun.o - 1712 79 0 48 13255 Obj/SYSTEM_tempctrl_unit.o - 1546 44 0 0 13567 Obj/SYSTEM_uart_protocol.o + 888 79 0 48 13126 Obj/SYSTEM_tempctrl_unit.o + 512 0 0 0 12103 Obj/SYSTEM_uart_protocol.o 344 31 0 20 11467 Obj/SYSTEM_dip_switch.o 0 0 0 0 0 Obj/__rt_entry.o ------------------------------------------------------------ - 11696 292 104 935 262908 Object Totals + 9590 248 104 935 261320 Object Totals 4 0 3 8 0 Pad 0 0 0 0 0 LD_GEN @@ -2378,14 +2268,14 @@ Image component sizes Code RO Data RW Data ZI Data Debug - 23904 616 168 1836 291653 Grand Totals - 23904 616 168 1836 291653 Elf Image Totals - 23904 616 168 0 0 ROM Totals + 21798 572 168 1836 290065 Grand Totals + 21798 572 168 1836 290065 Elf Image Totals + 21798 572 168 0 0 ROM Totals ====================================================================== -Total RO Size (Code + RO Data) 24520 ( 23.95kB) +Total RO Size (Code + RO Data) 22370 ( 21.85kB) Total RW Size (RW Data + ZI Data) 2004 ( 1.96kB) -Total ROM Size (Code + RO Data + RW Data) 24688 ( 24.11kB) +Total ROM Size (Code + RO Data + RW Data) 22538 ( 22.01kB) ====================================================================== diff --git a/Source/Lst/T1_TC_ZH_V02.asm b/Source/Lst/T1_TC_ZH_V02.asm new file mode 100644 index 0000000..3feb7b3 --- /dev/null +++ b/Source/Lst/T1_TC_ZH_V02.asm @@ -0,0 +1,13342 @@ + +.//Obj/T1_TC_ZH_V02.elf: file format elf32-csky-little + + +Disassembly of section .text: + +00000000 : +void tk_parameter_init(void) +{ +/**************************************************** +//TK parameter define +*****************************************************/ + TK_IO_ENABLE=0x4F01; //TK IO ENABLE Bit16-->Bit0;0=DISABLE 1=ENABLE + 0: 0000010c .long 0x0000010c + 4: 00002f82 .long 0x00002f82 + + TK_senprd[0]=180; //TCH0 scan period = TCH0 sens + 8: 00002f72 .long 0x00002f72 + TK_senprd[1]=70; //TCH1 scan period = TCH1 sens + c: 00000184 .long 0x00000184 + TK_senprd[2]=70; //TCH2 scan period = TCH2 sens + 10: 00002f7a .long 0x00002f7a + TK_senprd[3]=70; //TCH3 scan period = TCH3 sens + TK_senprd[4]=70; //TCH4 scan period = TCH4 sens + 14: 00002f38 .long 0x00002f38 + TK_senprd[5]=70; //TCH5 scan period = TCH5 sens + TK_senprd[6]=70; //TCH6 scan period = TCH6 sens + 18: 00000184 .long 0x00000184 + TK_senprd[7]=70; //TCH7 scan period = TCH7 sens + TK_senprd[8]=180; //TCH8 scan period = TCH8 sens + 1c: 00002f6a .long 0x00002f6a + TK_senprd[9]=180; //TCH9 scan period = TCH9 sens + 20: 00002f62 .long 0x00002f62 + TK_senprd[10]=70; //TCH10 scan period = TCH10 sens + 24: 00000184 .long 0x00000184 + TK_senprd[11]=70; //TCH11 scan period = TCH11 sens + TK_senprd[12]=180; //TCH12 scan period = TCH12 sens + 28: 00000184 .long 0x00000184 + TK_senprd[13]=180; //TCH13 scan period = TCH13 sens + 2c: 00000184 .long 0x00000184 + TK_senprd[14]=180; //TCH14 scan period = TCH14 sens + TK_senprd[15]=70; //TCH15 scan period = TCH15 sens + 30: 00000184 .long 0x00000184 + TK_senprd[16]=70; //TCH16 scan period = TCH16 sens + 34: 00000184 .long 0x00000184 + TK_Triggerlevel[0]=100; //TCH0 TK_Trigger level + 38: 00000184 .long 0x00000184 + TK_Triggerlevel[1]=40; //TCH1 TK_Trigger level + 3c: 00000184 .long 0x00000184 + TK_Triggerlevel[2]=40; //TCH2 TK_Trigger level + 40: 00002f5a .long 0x00002f5a + TK_Triggerlevel[3]=40; //TCH3 TK_Trigger level + TK_Triggerlevel[4]=40; //TCH4 TK_Trigger level + 44: 00002f52 .long 0x00002f52 + TK_Triggerlevel[5]=40; //TCH5 TK_Trigger level + TK_Triggerlevel[6]=40; //TCH6 TK_Trigger level + 48: 00002f4a .long 0x00002f4a + TK_Triggerlevel[7]=40; //TCH7 TK_Trigger level + TK_Triggerlevel[8]=100; //TCH8 TK_Trigger level + 4c: 00002f42 .long 0x00002f42 + TK_Triggerlevel[9]=100; //TCH9 TK_Trigger level + 50: 00000184 .long 0x00000184 + TK_Triggerlevel[10]=40; //TCH10 TK_Trigger level + 54: 00000184 .long 0x00000184 + TK_Triggerlevel[11]=40; //TCH11 TK_Trigger level + TK_Triggerlevel[12]=100; //TCH12 TK_Trigger level + 58: 00000184 .long 0x00000184 + TK_Triggerlevel[13]=100; //TCH13 TK_Trigger level + 5c: 00000184 .long 0x00000184 + TK_Triggerlevel[14]=100; //TCH14 TK_Trigger level + TK_Triggerlevel[15]=40; //TCH15 TK_Trigger level + 60: 00000184 .long 0x00000184 + TK_Triggerlevel[16]=40; //TCH16 TK_Trigger level + 64: 00000184 .long 0x00000184 + Press_debounce_data=6; //Press debounce 1~10 + 68: 00000184 .long 0x00000184 + Release_debounce_data=5; //Release debounce 1~10 + 6c: 00000184 .long 0x00000184 + 70: 00000184 .long 0x00000184 + Key_mode=1; //Key mode 0=single key 1=multi key + 74: 00000184 .long 0x00000184 + MultiTimes_Filter=40; //MultiTimes Filter,>4 ENABLE <4 DISABLE + 78: 00000184 .long 0x00000184 + 7c: 00002f3a .long 0x00002f3a + Valid_Key_Num=6; //Valid Key number when touched + 80: 0000514c .long 0x0000514c + Base_Speed=20; //baseline update speed + 84: 00002580 .long 0x00002580 + 88: 00002670 .long 0x00002670 + TK_longpress_time=8; //longpress rebuild time = _TK_longpress_time1*1s 0=disable + 8c: 000026d8 .long 0x000026d8 + TK_BaseCnt=59999; //10ms TK_BaseCnt=10ms*48M/8-1,this register need to modify when mcu's Freq changed + 90: 00002740 .long 0x00002740 + 94: 00000184 .long 0x00000184 + +/**************************************************** +//TK low power function define +*****************************************************/ + TK_Lowpower_mode=DISABLE; //touch key can goto sleep when TK lowpower mode enable + 98: 000028ec .long 0x000028ec + TK_Lowpower_level=2; //0=20ms 1=50ms 2=100ms 3=150ms 4=200ms,Scan interval when sleep + 9c: 00002cd4 .long 0x00002cd4 + a0: 00002d04 .long 0x00002d04 + TK_Wakeup_level=50; //touch key Trigger level in sleep + a4: 00002920 .long 0x00002920 +/**************************************************** +//TK special parameter define +*****************************************************/ + TK_PSEL_MODE=TK_PSEL_FVR; //tk power sel:TK_PSEL_FVR/TK_PSEL_AVDD when select TK_PSEL_FVR PA0.2(TCH3) need a 104 cap + a8: 00000184 .long 0x00000184 + ac: 00000184 .long 0x00000184 + TK_FVR_LEVEL=TK_FVR_2048V; //FVR level:TK_FVR_2048V/TK_FVR_4096V + b0: 000029a0 .long 0x000029a0 + TK_EC_LEVEL=TK_EC_1V; //C0 voltage sel:TK_EC_1V/TK_EC_2V/TK_EC_3V/TK_EC_3_6V + b4: 00002a10 .long 0x00002a10 + TK_icon[0]=6; //TCH0 TK Scan icon range 0~7 + b8: 00002a70 .long 0x00002a70 + bc: 00002b04 .long 0x00002b04 + TK_icon[1]=6; //TCH1 TK Scan icon range 0~7 + TK_icon[2]=6; //TCH2 TK Scan icon range 0~7 + c0: 00000184 .long 0x00000184 + TK_icon[3]=6; //TCH3 TK Scan icon range 0~7 + TK_icon[4]=6; //TCH4 TK Scan icon range 0~7 + c4: 00002f92 .long 0x00002f92 + TK_icon[5]=6; //TCH5 TK Scan icon range 0~7 + TK_icon[6]=6; //TCH6 TK Scan icon range 0~7 + c8: 00000184 .long 0x00000184 + TK_icon[7]=6; //TCH7 TK Scan icon range 0~7 + TK_icon[8]=6; //TCH8 TK Scan icon range 0~7 + cc: 00002b98 .long 0x00002b98 + TK_icon[9]=6; //TCH9 TK Scan icon range 0~7 + TK_icon[10]=6; //TCH10 TK Scan icon range 0~7 + d0: 00002c80 .long 0x00002c80 + TK_icon[11]=6; //TCH11 TK Scan icon range 0~7 + TK_icon[12]=6; //TCH12 TK Scan icon range 0~7 + d4: 00002d34 .long 0x00002d34 + TK_icon[13]=6; //TCH13 TK Scan icon range 0~7 + TK_icon[14]=6; //TCH14 TK Scan icon range 0~7 + d8: 00002d7c .long 0x00002d7c + TK_icon[15]=6; //TCH15 TK Scan icon range 0~7 + TK_icon[16]=6; //TCH16 TK Scan icon range 0~7 + dc: 00002de8 .long 0x00002de8 + e0: 00002f8a .long 0x00002f8a + e4: 000050ac .long 0x000050ac + e8: 00002e48 .long 0x00002e48 + ec: 00000184 .long 0x00000184 + f0: 00002e7c .long 0x00002e7c + f4: 00002ec8 .long 0x00002ec8 + f8: 00000184 .long 0x00000184 + fc: 00000184 .long 0x00000184 + 100: 55aa0005 .long 0x55aa0005 + ... + +0000010c <__start>: +// .long __start +__start: + + + //initialize all registers + movi r0, 0 + 10c: 3000 movi r0, 0 + movi r1, 0 + 10e: 3100 movi r1, 0 + movi r2, 0 + 110: 3200 movi r2, 0 + movi r3, 0 + 112: 3300 movi r3, 0 + movi r4, 0 + 114: 3400 movi r4, 0 + movi r5, 0 + 116: 3500 movi r5, 0 + movi r6, 0 + 118: 3600 movi r6, 0 + movi r7, 0 + 11a: 3700 movi r7, 0 + //movi r13, 0 + //movi r14, 0 + //movi r15, 0 + +//set VBR + lrw r2, vector_table + 11c: 105b lrw r2, 0x0 // 188 + mtcr r2, cr<1,0> + 11e: c0026421 mtcr r2, cr<1, 0> + +//enable EE bit of psr + mfcr r2, cr<0,0> + 122: c0006022 mfcr r2, cr<0, 0> + bseti r2, r2, 8 + 126: 3aa8 bseti r2, 8 + mtcr r2, cr<0,0> + 128: c0026420 mtcr r2, cr<0, 0> +// st.w r2, (r1,0x4) +// movi r2, 0x1 +// st.w r2, (r1,0x0) + +//disable power peak + lrw r1, 0xe000ef90 + 12c: 1038 lrw r1, 0xe000ef90 // 18c + movi r2, 0x0 + 12e: 3200 movi r2, 0 + st.w r2, (r1, 0x0) + 130: b140 st.w r2, (r1, 0x0) + + + +//initialize kernel stack + lrw r7, __kernel_stack + 132: 10f8 lrw r7, 0x20000ff8 // 190 + mov r14,r7 + 134: 6f9f mov r14, r7 + subi r6,r7,0x4 + 136: 5fcf subi r6, r7, 4 + + //lrw r3, 0x40 + lrw r3, 0x04 + 138: 3304 movi r3, 4 + + subu r4, r7, r3 + 13a: 5f8d subu r4, r7, r3 + lrw r5, 0x0 + 13c: 3500 movi r5, 0 + +0000013e : +INIT_KERLE_STACK: + addi r4, 0x4 + 13e: 2403 addi r4, 4 + st.w r5, (r4) + 140: b4a0 st.w r5, (r4, 0x0) + //cmphs r7, r4 + cmphs r6, r4 + 142: 6518 cmphs r6, r4 + bt INIT_KERLE_STACK + 144: 0bfd bt 0x13e // 13e + +00000146 <__to_main>: + +__to_main: + lrw r0,__main + 146: 1014 lrw r0, 0x1a50 // 194 + jsr r0 + 148: 7bc1 jsr r0 + mov r0, r0 + 14a: 6c03 mov r0, r0 + mov r0, r0 + 14c: 6c03 mov r0, r0 + + + + lrw r15, __exit + 14e: ea8f0013 lrw r15, 0x160 // 198 + lrw r0,main + 152: 1013 lrw r0, 0x23a4 // 19c + jmp r0 + 154: 7800 jmp r0 + mov r0, r0 + 156: 6c03 mov r0, r0 + mov r0, r0 + 158: 6c03 mov r0, r0 + mov r0, r0 + 15a: 6c03 mov r0, r0 + mov r0, r0 + 15c: 6c03 mov r0, r0 + mov r0, r0 + 15e: 6c03 mov r0, r0 + +00000160 <__exit>: + +.export __exit +__exit: + + lrw r4, 0x20003000 + 160: 1090 lrw r4, 0x20003000 // 1a0 + //lrw r5, 0x0 + mov r5, r0 + 162: 6d43 mov r5, r0 + st.w r5, (r4) + 164: b4a0 st.w r5, (r4, 0x0) + + mfcr r1, cr<0,0> + 166: c0006021 mfcr r1, cr<0, 0> + lrw r1, 0xFFFF + 16a: 102f lrw r1, 0xffff // 1a4 + mtcr r1, cr<11,0> + 16c: c001642b mtcr r1, cr<11, 0> + lrw r1, 0xFFF + 170: 102e lrw r1, 0xfff // 1a8 + movi r0, 0x0 + 172: 3000 movi r0, 0 + st r1, (r0) + 174: b020 st.w r1, (r0, 0x0) + +00000176 <__fail>: + +.export __fail +__fail: + lrw r1, 0xEEEE + 176: 102e lrw r1, 0xeeee // 1ac + mtcr r1, cr<11,0> + 178: c001642b mtcr r1, cr<11, 0> + lrw r1, 0xEEE + 17c: 102d lrw r1, 0xeee // 1b0 + movi r0, 0x0 + 17e: 3000 movi r0, 0 + st r1, (r0) + 180: b020 st.w r1, (r0, 0x0) + +00000182 <__dummy>: + +__dummy: + br __fail + 182: 07fa br 0x176 // 176 <__fail> + +00000184 : + +.export DummyHandler +DummyHandler: + br __fail + 184: 07f9 br 0x176 // 176 <__fail> + 186: 0000 .short 0x0000 + 188: 00000000 .long 0x00000000 + 18c: e000ef90 .long 0xe000ef90 + 190: 20000ff8 .long 0x20000ff8 + 194: 00001a50 .long 0x00001a50 + 198: 00000160 .long 0x00000160 + 19c: 000023a4 .long 0x000023a4 + 1a0: 20003000 .long 0x20003000 + 1a4: 0000ffff .long 0x0000ffff + 1a8: 00000fff .long 0x00000fff + 1ac: 0000eeee .long 0x0000eeee + 1b0: 00000eee .long 0x00000eee + +000001b4 <__GI_pow>: + 1b4: 14d4 push r4-r7, r15 + 1b6: 142d subi r14, r14, 52 + 1b8: b860 st.w r3, (r14, 0x0) + 1ba: 4361 lsli r3, r3, 1 + 1bc: 4b81 lsri r4, r3, 1 + 1be: b842 st.w r2, (r14, 0x8) + 1c0: 6c90 or r2, r4 + 1c2: 3a40 cmpnei r2, 0 + 1c4: 6dc3 mov r7, r0 + 1c6: 6d87 mov r6, r1 + 1c8: 0803 bt 0x1ce // 1ce <__GI_pow+0x1a> + 1ca: e8000462 br 0xa8e // a8e <__GI_pow+0x8da> + 1ce: 41a1 lsli r5, r1, 1 + 1d0: 4da1 lsri r5, r5, 1 + 1d2: 0055 lrw r2, 0x7ff00000 // 578 <__GI_pow+0x3c4> + 1d4: 6549 cmplt r2, r5 + 1d6: 080c bt 0x1ee // 1ee <__GI_pow+0x3a> + 1d8: 6496 cmpne r5, r2 + 1da: 0803 bt 0x1e0 // 1e0 <__GI_pow+0x2c> + 1dc: 3840 cmpnei r0, 0 + 1de: 0808 bt 0x1ee // 1ee <__GI_pow+0x3a> + 1e0: 6509 cmplt r2, r4 + 1e2: 0806 bt 0x1ee // 1ee <__GI_pow+0x3a> + 1e4: 6492 cmpne r4, r2 + 1e6: 080e bt 0x202 // 202 <__GI_pow+0x4e> + 1e8: 9802 ld.w r0, (r14, 0x8) + 1ea: 3840 cmpnei r0, 0 + 1ec: 0c0b bf 0x202 // 202 <__GI_pow+0x4e> + 1ee: 9842 ld.w r2, (r14, 0x8) + 1f0: 9860 ld.w r3, (r14, 0x0) + 1f2: 6c1f mov r0, r7 + 1f4: 6c5b mov r1, r6 + 1f6: e0000713 bsr 0x101c // 101c <__adddf3> + 1fa: 6d03 mov r4, r0 + 1fc: 6c13 mov r0, r4 + 1fe: 140d addi r14, r14, 52 + 200: 1494 pop r4-r7, r15 + 202: 3edf btsti r6, 31 + 204: 0c51 bf 0x2a6 // 2a6 <__GI_pow+0xf2> + 206: 0121 lrw r1, 0x43400000 // 57c <__GI_pow+0x3c8> + 208: 2900 subi r1, 1 + 20a: 6505 cmplt r1, r4 + 20c: 084b bt 0x2a2 // 2a2 <__GI_pow+0xee> + 20e: 0162 lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 210: 2b00 subi r3, 1 + 212: 650d cmplt r3, r4 + 214: 0c49 bf 0x2a6 // 2a6 <__GI_pow+0xf2> + 216: 5454 asri r2, r4, 20 + 218: 0104 lrw r0, 0xfffffc01 // 584 <__GI_pow+0x3d0> + 21a: 6080 addu r2, r0 + 21c: 3a34 cmplti r2, 21 + 21e: 0821 bt 0x260 // 260 <__GI_pow+0xac> + 220: 3334 movi r3, 52 + 222: 60ca subu r3, r2 + 224: 9842 ld.w r2, (r14, 0x8) + 226: 708d lsr r2, r3 + 228: 6c4b mov r1, r2 + 22a: 704c lsl r1, r3 + 22c: 9802 ld.w r0, (r14, 0x8) + 22e: 6442 cmpne r0, r1 + 230: 083b bt 0x2a6 // 2a6 <__GI_pow+0xf2> + 232: 3101 movi r1, 1 + 234: 6884 and r2, r1 + 236: 3302 movi r3, 2 + 238: 5b49 subu r2, r3, r2 + 23a: 9802 ld.w r0, (r14, 0x8) + 23c: 3840 cmpnei r0, 0 + 23e: b841 st.w r2, (r14, 0x4) + 240: 0862 bt 0x304 // 304 <__GI_pow+0x150> + 242: 0151 lrw r2, 0x7ff00000 // 578 <__GI_pow+0x3c4> + 244: 6492 cmpne r4, r2 + 246: 081f bt 0x284 // 284 <__GI_pow+0xd0> + 248: 012f lrw r1, 0xc0100000 // 588 <__GI_pow+0x3d4> + 24a: 6054 addu r1, r5 + 24c: 6dc4 or r7, r1 + 24e: 3f40 cmpnei r7, 0 + 250: 082d bt 0x2aa // 2aa <__GI_pow+0xf6> + 252: 9860 ld.w r3, (r14, 0x0) + 254: 3200 movi r2, 0 + 256: 6c4f mov r1, r3 + 258: 3000 movi r0, 0 + 25a: e00006f9 bsr 0x104c // 104c <__subdf3> + 25e: 07ce br 0x1fa // 1fa <__GI_pow+0x46> + 260: 9822 ld.w r1, (r14, 0x8) + 262: 3940 cmpnei r1, 0 + 264: 084e bt 0x300 // 300 <__GI_pow+0x14c> + 266: 3114 movi r1, 20 + 268: 604a subu r1, r2 + 26a: 6c93 mov r2, r4 + 26c: 7086 asr r2, r1 + 26e: 6c0b mov r0, r2 + 270: 7004 lsl r0, r1 + 272: 6412 cmpne r4, r0 + 274: 0c03 bf 0x27a // 27a <__GI_pow+0xc6> + 276: e8000471 br 0xb58 // b58 <__GI_pow+0x9a4> + 27a: 3101 movi r1, 1 + 27c: 6884 and r2, r1 + 27e: 3002 movi r0, 2 + 280: 5869 subu r3, r0, r2 + 282: b861 st.w r3, (r14, 0x4) + 284: 0220 lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 286: 6452 cmpne r4, r1 + 288: 0825 bt 0x2d2 // 2d2 <__GI_pow+0x11e> + 28a: 9880 ld.w r4, (r14, 0x0) + 28c: 3cdf btsti r4, 31 + 28e: 0803 bt 0x294 // 294 <__GI_pow+0xe0> + 290: e8000407 br 0xa9e // a9e <__GI_pow+0x8ea> + 294: 6c9f mov r2, r7 + 296: 6cdb mov r3, r6 + 298: 3000 movi r0, 0 + 29a: 0225 lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 29c: e000080e bsr 0x12b8 // 12b8 <__divdf3> + 2a0: 07ad br 0x1fa // 1fa <__GI_pow+0x46> + 2a2: 3202 movi r2, 2 + 2a4: 07cb br 0x23a // 23a <__GI_pow+0x86> + 2a6: 3200 movi r2, 0 + 2a8: 07c9 br 0x23a // 23a <__GI_pow+0x86> + 2aa: 0269 lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 2ac: 2b00 subi r3, 1 + 2ae: 654d cmplt r3, r5 + 2b0: 9800 ld.w r0, (r14, 0x0) + 2b2: 0c08 bf 0x2c2 // 2c2 <__GI_pow+0x10e> + 2b4: 38df btsti r0, 31 + 2b6: 0803 bt 0x2bc // 2bc <__GI_pow+0x108> + 2b8: e80003ef br 0xa96 // a96 <__GI_pow+0x8e2> + 2bc: 3400 movi r4, 0 + 2be: 3100 movi r1, 0 + 2c0: 079e br 0x1fc // 1fc <__GI_pow+0x48> + 2c2: 38df btsti r0, 31 + 2c4: 0ffc bf 0x2bc // 2bc <__GI_pow+0x108> + 2c6: 3400 movi r4, 0 + 2c8: 6c43 mov r1, r0 + 2ca: 3280 movi r2, 128 + 2cc: 4278 lsli r3, r2, 24 + 2ce: 604c addu r1, r3 + 2d0: 0796 br 0x1fc // 1fc <__GI_pow+0x48> + 2d2: 3380 movi r3, 128 + 2d4: 4317 lsli r0, r3, 23 + 2d6: 9840 ld.w r2, (r14, 0x0) + 2d8: 640a cmpne r2, r0 + 2da: 0808 bt 0x2ea // 2ea <__GI_pow+0x136> + 2dc: 6c9f mov r2, r7 + 2de: 6cdb mov r3, r6 + 2e0: 6c1f mov r0, r7 + 2e2: 6c5b mov r1, r6 + 2e4: e00006d0 bsr 0x1084 // 1084 <__muldf3> + 2e8: 0789 br 0x1fa // 1fa <__GI_pow+0x46> + 2ea: 0276 lrw r3, 0x3fe00000 // 58c <__GI_pow+0x3d8> + 2ec: 9820 ld.w r1, (r14, 0x0) + 2ee: 64c6 cmpne r1, r3 + 2f0: 080a bt 0x304 // 304 <__GI_pow+0x150> + 2f2: 3edf btsti r6, 31 + 2f4: 0808 bt 0x304 // 304 <__GI_pow+0x150> + 2f6: 6c1f mov r0, r7 + 2f8: 6c5b mov r1, r6 + 2fa: e0000445 bsr 0xb84 // b84 <__GI_sqrt> + 2fe: 077e br 0x1fa // 1fa <__GI_pow+0x46> + 300: 3300 movi r3, 0 + 302: b861 st.w r3, (r14, 0x4) + 304: 6c1f mov r0, r7 + 306: 6c5b mov r1, r6 + 308: b883 st.w r4, (r14, 0xc) + 30a: e000042a bsr 0xb5e // b5e <__GI_fabs> + 30e: 3f40 cmpnei r7, 0 + 310: 6d03 mov r4, r0 + 312: 9863 ld.w r3, (r14, 0xc) + 314: 0826 bt 0x360 // 360 <__GI_pow+0x1ac> + 316: 3d40 cmpnei r5, 0 + 318: 0c05 bf 0x322 // 322 <__GI_pow+0x16e> + 31a: 4642 lsli r2, r6, 2 + 31c: 0302 lrw r0, 0xffc00000 // 590 <__GI_pow+0x3dc> + 31e: 640a cmpne r2, r0 + 320: 0820 bt 0x360 // 360 <__GI_pow+0x1ac> + 322: 9840 ld.w r2, (r14, 0x0) + 324: 3adf btsti r2, 31 + 326: 0c08 bf 0x336 // 336 <__GI_pow+0x182> + 328: 6c93 mov r2, r4 + 32a: 6cc7 mov r3, r1 + 32c: 3000 movi r0, 0 + 32e: 032a lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 330: e00007c4 bsr 0x12b8 // 12b8 <__divdf3> + 334: 6d03 mov r4, r0 + 336: 3edf btsti r6, 31 + 338: 0f62 bf 0x1fc // 1fc <__GI_pow+0x48> + 33a: 036b lrw r3, 0xc0100000 // 588 <__GI_pow+0x3d4> + 33c: 614c addu r5, r3 + 33e: 9801 ld.w r0, (r14, 0x4) + 340: 6d40 or r5, r0 + 342: 3d40 cmpnei r5, 0 + 344: 080a bt 0x358 // 358 <__GI_pow+0x1a4> + 346: 6c93 mov r2, r4 + 348: 6cc7 mov r3, r1 + 34a: 6c0b mov r0, r2 + 34c: 6c4f mov r1, r3 + 34e: e000067f bsr 0x104c // 104c <__subdf3> + 352: 6c83 mov r2, r0 + 354: 6cc7 mov r3, r1 + 356: 07a3 br 0x29c // 29c <__GI_pow+0xe8> + 358: 9841 ld.w r2, (r14, 0x4) + 35a: 3a41 cmpnei r2, 1 + 35c: 0b50 bt 0x1fc // 1fc <__GI_pow+0x48> + 35e: 07b6 br 0x2ca // 2ca <__GI_pow+0x116> + 360: 4e5f lsri r2, r6, 31 + 362: 2a00 subi r2, 1 + 364: b847 st.w r2, (r14, 0x1c) + 366: 9807 ld.w r0, (r14, 0x1c) + 368: 9841 ld.w r2, (r14, 0x4) + 36a: 6c80 or r2, r0 + 36c: 3a40 cmpnei r2, 0 + 36e: 0804 bt 0x376 // 376 <__GI_pow+0x1c2> + 370: 6c9f mov r2, r7 + 372: 6cdb mov r3, r6 + 374: 07eb br 0x34a // 34a <__GI_pow+0x196> + 376: 0357 lrw r2, 0x41e00000 // 594 <__GI_pow+0x3e0> + 378: 64c9 cmplt r2, r3 + 37a: 0cbf bf 0x4f8 // 4f8 <__GI_pow+0x344> + 37c: 0358 lrw r2, 0x43f00000 // 598 <__GI_pow+0x3e4> + 37e: 64c9 cmplt r2, r3 + 380: 037f lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 382: 0c0c bf 0x39a // 39a <__GI_pow+0x1e6> + 384: 2b00 subi r3, 1 + 386: 654d cmplt r3, r5 + 388: 080f bt 0x3a6 // 3a6 <__GI_pow+0x1f2> + 38a: 9820 ld.w r1, (r14, 0x0) + 38c: 39df btsti r1, 31 + 38e: 0f97 bf 0x2bc // 2bc <__GI_pow+0x108> + 390: 035c lrw r2, 0x8800759c // 59c <__GI_pow+0x3e8> + 392: 037b lrw r3, 0x7e37e43c // 5a0 <__GI_pow+0x3ec> + 394: 6c0b mov r0, r2 + 396: 6c4f mov r1, r3 + 398: 07a6 br 0x2e4 // 2e4 <__GI_pow+0x130> + 39a: 2b01 subi r3, 2 + 39c: 654d cmplt r3, r5 + 39e: 0ff6 bf 0x38a // 38a <__GI_pow+0x1d6> + 3a0: 1318 lrw r0, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 3a2: 6541 cmplt r0, r5 + 3a4: 0c05 bf 0x3ae // 3ae <__GI_pow+0x1fa> + 3a6: 9800 ld.w r0, (r14, 0x0) + 3a8: 3820 cmplti r0, 1 + 3aa: 0ff3 bf 0x390 // 390 <__GI_pow+0x1dc> + 3ac: 0788 br 0x2bc // 2bc <__GI_pow+0x108> + 3ae: 3200 movi r2, 0 + 3b0: 1374 lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 3b2: 6c1f mov r0, r7 + 3b4: 6c5b mov r1, r6 + 3b6: 36c0 movi r6, 192 + 3b8: e000064a bsr 0x104c // 104c <__subdf3> + 3bc: 4657 lsli r2, r6, 23 + 3be: 137a lrw r3, 0x3ff71547 // 5a4 <__GI_pow+0x3f0> + 3c0: 6d43 mov r5, r0 + 3c2: 6d07 mov r4, r1 + 3c4: e0000660 bsr 0x1084 // 1084 <__muldf3> + 3c8: 6dc3 mov r7, r0 + 3ca: 6d87 mov r6, r1 + 3cc: 1357 lrw r2, 0xf85ddf44 // 5a8 <__GI_pow+0x3f4> + 3ce: 1378 lrw r3, 0x3e54ae0b // 5ac <__GI_pow+0x3f8> + 3d0: 6c17 mov r0, r5 + 3d2: 6c53 mov r1, r4 + 3d4: e0000658 bsr 0x1084 // 1084 <__muldf3> + 3d8: b803 st.w r0, (r14, 0xc) + 3da: b824 st.w r1, (r14, 0x10) + 3dc: 3200 movi r2, 0 + 3de: 1375 lrw r3, 0x3fd00000 // 5b0 <__GI_pow+0x3fc> + 3e0: 6c17 mov r0, r5 + 3e2: 6c53 mov r1, r4 + 3e4: e0000650 bsr 0x1084 // 1084 <__muldf3> + 3e8: 6c83 mov r2, r0 + 3ea: 6cc7 mov r3, r1 + 3ec: 1312 lrw r0, 0x55555555 // 5b4 <__GI_pow+0x400> + 3ee: 1333 lrw r1, 0x3fd55555 // 5b8 <__GI_pow+0x404> + 3f0: e000062e bsr 0x104c // 104c <__subdf3> + 3f4: 6c97 mov r2, r5 + 3f6: 6cd3 mov r3, r4 + 3f8: e0000646 bsr 0x1084 // 1084 <__muldf3> + 3fc: 6c83 mov r2, r0 + 3fe: 6cc7 mov r3, r1 + 400: 3000 movi r0, 0 + 402: 1323 lrw r1, 0x3fe00000 // 58c <__GI_pow+0x3d8> + 404: e0000624 bsr 0x104c // 104c <__subdf3> + 408: b805 st.w r0, (r14, 0x14) + 40a: 6c97 mov r2, r5 + 40c: 6cd3 mov r3, r4 + 40e: b826 st.w r1, (r14, 0x18) + 410: 6c17 mov r0, r5 + 412: 6c53 mov r1, r4 + 414: e0000638 bsr 0x1084 // 1084 <__muldf3> + 418: 6c83 mov r2, r0 + 41a: 6cc7 mov r3, r1 + 41c: 9805 ld.w r0, (r14, 0x14) + 41e: 9826 ld.w r1, (r14, 0x18) + 420: e0000632 bsr 0x1084 // 1084 <__muldf3> + 424: 1346 lrw r2, 0x652b82fe // 5bc <__GI_pow+0x408> + 426: 1360 lrw r3, 0x3ff71547 // 5a4 <__GI_pow+0x3f0> + 428: e000062e bsr 0x1084 // 1084 <__muldf3> + 42c: 6c83 mov r2, r0 + 42e: 6cc7 mov r3, r1 + 430: 9803 ld.w r0, (r14, 0xc) + 432: 9824 ld.w r1, (r14, 0x10) + 434: e000060c bsr 0x104c // 104c <__subdf3> + 438: 6c83 mov r2, r0 + 43a: 6cc7 mov r3, r1 + 43c: 6d43 mov r5, r0 + 43e: 6d07 mov r4, r1 + 440: 6c1f mov r0, r7 + 442: 6c5b mov r1, r6 + 444: e00005ec bsr 0x101c // 101c <__adddf3> + 448: 6c9f mov r2, r7 + 44a: 6cdb mov r3, r6 + 44c: 3000 movi r0, 0 + 44e: b823 st.w r1, (r14, 0xc) + 450: e00005fe bsr 0x104c // 104c <__subdf3> + 454: 6c83 mov r2, r0 + 456: 6cc7 mov r3, r1 + 458: 6c17 mov r0, r5 + 45a: 6c53 mov r1, r4 + 45c: e00005f8 bsr 0x104c // 104c <__subdf3> + 460: 6d07 mov r4, r1 + 462: 9821 ld.w r1, (r14, 0x4) + 464: 2900 subi r1, 1 + 466: 9847 ld.w r2, (r14, 0x1c) + 468: 6c48 or r1, r2 + 46a: 3940 cmpnei r1, 0 + 46c: 6d43 mov r5, r0 + 46e: 0c02 bf 0x472 // 472 <__GI_pow+0x2be> + 470: 05f0 br 0x850 // 850 <__GI_pow+0x69c> + 472: 1274 lrw r3, 0xbff00000 // 5c0 <__GI_pow+0x40c> + 474: b861 st.w r3, (r14, 0x4) + 476: 9860 ld.w r3, (r14, 0x0) + 478: 3200 movi r2, 0 + 47a: 9802 ld.w r0, (r14, 0x8) + 47c: 6c4f mov r1, r3 + 47e: e00005e7 bsr 0x104c // 104c <__subdf3> + 482: 9863 ld.w r3, (r14, 0xc) + 484: 3200 movi r2, 0 + 486: e00005ff bsr 0x1084 // 1084 <__muldf3> + 48a: 6dc3 mov r7, r0 + 48c: 6d87 mov r6, r1 + 48e: 9842 ld.w r2, (r14, 0x8) + 490: 9860 ld.w r3, (r14, 0x0) + 492: 6c17 mov r0, r5 + 494: 6c53 mov r1, r4 + 496: e00005f7 bsr 0x1084 // 1084 <__muldf3> + 49a: 6c83 mov r2, r0 + 49c: 6cc7 mov r3, r1 + 49e: 6c1f mov r0, r7 + 4a0: 6c5b mov r1, r6 + 4a2: e00005bd bsr 0x101c // 101c <__adddf3> + 4a6: 6dc3 mov r7, r0 + 4a8: 9860 ld.w r3, (r14, 0x0) + 4aa: 6d87 mov r6, r1 + 4ac: 3200 movi r2, 0 + 4ae: 9823 ld.w r1, (r14, 0xc) + 4b0: 3000 movi r0, 0 + 4b2: e00005e9 bsr 0x1084 // 1084 <__muldf3> + 4b6: b802 st.w r0, (r14, 0x8) + 4b8: b803 st.w r0, (r14, 0xc) + 4ba: b824 st.w r1, (r14, 0x10) + 4bc: 6c83 mov r2, r0 + 4be: 6cc7 mov r3, r1 + 4c0: 6d47 mov r5, r1 + 4c2: 6c1f mov r0, r7 + 4c4: 6c5b mov r1, r6 + 4c6: e00005ab bsr 0x101c // 101c <__adddf3> + 4ca: 6d07 mov r4, r1 + 4cc: 113e lrw r1, 0x40900000 // 5c4 <__GI_pow+0x410> + 4ce: 2900 subi r1, 1 + 4d0: 6505 cmplt r1, r4 + 4d2: b800 st.w r0, (r14, 0x0) + 4d4: 0803 bt 0x4da // 4da <__GI_pow+0x326> + 4d6: e80002b3 br 0xa3c // a3c <__GI_pow+0x888> + 4da: 117c lrw r3, 0xbf700000 // 5c8 <__GI_pow+0x414> + 4dc: 60d0 addu r3, r4 + 4de: 6cc0 or r3, r0 + 4e0: 3b40 cmpnei r3, 0 + 4e2: 0802 bt 0x4e6 // 4e6 <__GI_pow+0x332> + 4e4: 05b8 br 0x854 // 854 <__GI_pow+0x6a0> + 4e6: 114e lrw r2, 0x8800759c // 59c <__GI_pow+0x3e8> + 4e8: 116e lrw r3, 0x7e37e43c // 5a0 <__GI_pow+0x3ec> + 4ea: 3000 movi r0, 0 + 4ec: 9821 ld.w r1, (r14, 0x4) + 4ee: e00005cb bsr 0x1084 // 1084 <__muldf3> + 4f2: 114b lrw r2, 0x8800759c // 59c <__GI_pow+0x3e8> + 4f4: 116b lrw r3, 0x7e37e43c // 5a0 <__GI_pow+0x3ec> + 4f6: 06f7 br 0x2e4 // 2e4 <__GI_pow+0x130> + 4f8: 11d5 lrw r6, 0xfffff // 5cc <__GI_pow+0x418> + 4fa: 6559 cmplt r6, r5 + 4fc: 09a6 bt 0x848 // 848 <__GI_pow+0x694> + 4fe: 6c13 mov r0, r4 + 500: 3200 movi r2, 0 + 502: 107f lrw r3, 0x43400000 // 57c <__GI_pow+0x3c8> + 504: e00005c0 bsr 0x1084 // 1084 <__muldf3> + 508: 3700 movi r7, 0 + 50a: 6d03 mov r4, r0 + 50c: 6d47 mov r5, r1 + 50e: 2f34 subi r7, 53 + 510: 5514 asri r0, r5, 20 + 512: 103d lrw r1, 0xfffffc01 // 584 <__GI_pow+0x3d0> + 514: 45ac lsli r5, r5, 12 + 516: 4d4c lsri r2, r5, 12 + 518: 6004 addu r0, r1 + 51a: 116e lrw r3, 0x3988e // 5d0 <__GI_pow+0x41c> + 51c: 601c addu r0, r7 + 51e: 648d cmplt r3, r2 + 520: 10f8 lrw r7, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 522: b804 st.w r0, (r14, 0x10) + 524: 6dc8 or r7, r2 + 526: 0c09 bf 0x538 // 538 <__GI_pow+0x384> + 528: 11cb lrw r6, 0xbb679 // 5d4 <__GI_pow+0x420> + 52a: 6499 cmplt r6, r2 + 52c: 0d90 bf 0x84c // 84c <__GI_pow+0x698> + 52e: 6c83 mov r2, r0 + 530: 2200 addi r2, 1 + 532: 110a lrw r0, 0xfff00000 // 5d8 <__GI_pow+0x424> + 534: b844 st.w r2, (r14, 0x10) + 536: 61c0 addu r7, r0 + 538: 3500 movi r5, 0 + 53a: 45c3 lsli r6, r5, 3 + 53c: 1168 lrw r3, 0x552c // 5dc <__GI_pow+0x428> + 53e: 4523 lsli r1, r5, 3 + 540: 60d8 addu r3, r6 + 542: 9340 ld.w r2, (r3, 0x0) + 544: b828 st.w r1, (r14, 0x20) + 546: 9361 ld.w r3, (r3, 0x4) + 548: 6c13 mov r0, r4 + 54a: 6c5f mov r1, r7 + 54c: b845 st.w r2, (r14, 0x14) + 54e: b866 st.w r3, (r14, 0x18) + 550: e000057e bsr 0x104c // 104c <__subdf3> + 554: b809 st.w r0, (r14, 0x24) + 556: 9845 ld.w r2, (r14, 0x14) + 558: 9866 ld.w r3, (r14, 0x18) + 55a: b82a st.w r1, (r14, 0x28) + 55c: 6c13 mov r0, r4 + 55e: 6c5f mov r1, r7 + 560: e000055e bsr 0x101c // 101c <__adddf3> + 564: 6c83 mov r2, r0 + 566: 6cc7 mov r3, r1 + 568: 3000 movi r0, 0 + 56a: 1026 lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 56c: e00006a6 bsr 0x12b8 // 12b8 <__divdf3> + 570: 6c83 mov r2, r0 + 572: 6cc7 mov r3, r1 + 574: 0436 br 0x5e0 // 5e0 <__GI_pow+0x42c> + 576: 0000 bkpt + 578: 7ff00000 .long 0x7ff00000 + 57c: 43400000 .long 0x43400000 + 580: 3ff00000 .long 0x3ff00000 + 584: fffffc01 .long 0xfffffc01 + 588: c0100000 .long 0xc0100000 + 58c: 3fe00000 .long 0x3fe00000 + 590: ffc00000 .long 0xffc00000 + 594: 41e00000 .long 0x41e00000 + 598: 43f00000 .long 0x43f00000 + 59c: 8800759c .long 0x8800759c + 5a0: 7e37e43c .long 0x7e37e43c + 5a4: 3ff71547 .long 0x3ff71547 + 5a8: f85ddf44 .long 0xf85ddf44 + 5ac: 3e54ae0b .long 0x3e54ae0b + 5b0: 3fd00000 .long 0x3fd00000 + 5b4: 55555555 .long 0x55555555 + 5b8: 3fd55555 .long 0x3fd55555 + 5bc: 652b82fe .long 0x652b82fe + 5c0: bff00000 .long 0xbff00000 + 5c4: 40900000 .long 0x40900000 + 5c8: bf700000 .long 0xbf700000 + 5cc: 000fffff .long 0x000fffff + 5d0: 0003988e .long 0x0003988e + 5d4: 000bb679 .long 0x000bb679 + 5d8: fff00000 .long 0xfff00000 + 5dc: 0000552c .long 0x0000552c + 5e0: b80b st.w r0, (r14, 0x2c) + 5e2: b82c st.w r1, (r14, 0x30) + 5e4: 9809 ld.w r0, (r14, 0x24) + 5e6: 982a ld.w r1, (r14, 0x28) + 5e8: e000054e bsr 0x1084 // 1084 <__muldf3> + 5ec: b803 st.w r0, (r14, 0xc) + 5ee: 3280 movi r2, 128 + 5f0: 5701 asri r0, r7, 1 + 5f2: 6d87 mov r6, r1 + 5f4: 38bd bseti r0, 29 + 5f6: 422c lsli r1, r2, 12 + 5f8: 6004 addu r0, r1 + 5fa: 45b2 lsli r5, r5, 18 + 5fc: 6140 addu r5, r0 + 5fe: 6cd7 mov r3, r5 + 600: 3200 movi r2, 0 + 602: 6c5b mov r1, r6 + 604: 3000 movi r0, 0 + 606: e000053f bsr 0x1084 // 1084 <__muldf3> + 60a: 6c83 mov r2, r0 + 60c: 6cc7 mov r3, r1 + 60e: 9809 ld.w r0, (r14, 0x24) + 610: 982a ld.w r1, (r14, 0x28) + 612: e000051d bsr 0x104c // 104c <__subdf3> + 616: b809 st.w r0, (r14, 0x24) + 618: 9845 ld.w r2, (r14, 0x14) + 61a: 9866 ld.w r3, (r14, 0x18) + 61c: b82a st.w r1, (r14, 0x28) + 61e: 3000 movi r0, 0 + 620: 6c57 mov r1, r5 + 622: e0000515 bsr 0x104c // 104c <__subdf3> + 626: 6c83 mov r2, r0 + 628: 6cc7 mov r3, r1 + 62a: 6c13 mov r0, r4 + 62c: 6c5f mov r1, r7 + 62e: e000050f bsr 0x104c // 104c <__subdf3> + 632: 6cdb mov r3, r6 + 634: 3200 movi r2, 0 + 636: e0000527 bsr 0x1084 // 1084 <__muldf3> + 63a: 6c83 mov r2, r0 + 63c: 6cc7 mov r3, r1 + 63e: 9809 ld.w r0, (r14, 0x24) + 640: 982a ld.w r1, (r14, 0x28) + 642: e0000505 bsr 0x104c // 104c <__subdf3> + 646: 984b ld.w r2, (r14, 0x2c) + 648: 986c ld.w r3, (r14, 0x30) + 64a: e000051d bsr 0x1084 // 1084 <__muldf3> + 64e: 9843 ld.w r2, (r14, 0xc) + 650: 6cdb mov r3, r6 + 652: b805 st.w r0, (r14, 0x14) + 654: b826 st.w r1, (r14, 0x18) + 656: 6c0b mov r0, r2 + 658: 6c5b mov r1, r6 + 65a: e0000515 bsr 0x1084 // 1084 <__muldf3> + 65e: ea820113 lrw r2, 0x4a454eef // aa8 <__GI_pow+0x8f4> + 662: ea830113 lrw r3, 0x3fca7e28 // aac <__GI_pow+0x8f8> + 666: 6d43 mov r5, r0 + 668: 6d07 mov r4, r1 + 66a: e000050d bsr 0x1084 // 1084 <__muldf3> + 66e: ea820111 lrw r2, 0x93c9db65 // ab0 <__GI_pow+0x8fc> + 672: ea830111 lrw r3, 0x3fcd864a // ab4 <__GI_pow+0x900> + 676: e00004d3 bsr 0x101c // 101c <__adddf3> + 67a: 6c97 mov r2, r5 + 67c: 6cd3 mov r3, r4 + 67e: e0000503 bsr 0x1084 // 1084 <__muldf3> + 682: ea82010e lrw r2, 0xa91d4101 // ab8 <__GI_pow+0x904> + 686: ea83010e lrw r3, 0x3fd17460 // abc <__GI_pow+0x908> + 68a: e00004c9 bsr 0x101c // 101c <__adddf3> + 68e: 6c97 mov r2, r5 + 690: 6cd3 mov r3, r4 + 692: e00004f9 bsr 0x1084 // 1084 <__muldf3> + 696: ea82010b lrw r2, 0x518f264d // ac0 <__GI_pow+0x90c> + 69a: ea83010b lrw r3, 0x3fd55555 // ac4 <__GI_pow+0x910> + 69e: e00004bf bsr 0x101c // 101c <__adddf3> + 6a2: 6c97 mov r2, r5 + 6a4: 6cd3 mov r3, r4 + 6a6: e00004ef bsr 0x1084 // 1084 <__muldf3> + 6aa: ea820108 lrw r2, 0xdb6fabff // ac8 <__GI_pow+0x914> + 6ae: ea830108 lrw r3, 0x3fdb6db6 // acc <__GI_pow+0x918> + 6b2: e00004b5 bsr 0x101c // 101c <__adddf3> + 6b6: 6c97 mov r2, r5 + 6b8: 6cd3 mov r3, r4 + 6ba: e00004e5 bsr 0x1084 // 1084 <__muldf3> + 6be: ea820105 lrw r2, 0x33333303 // ad0 <__GI_pow+0x91c> + 6c2: ea830105 lrw r3, 0x3fe33333 // ad4 <__GI_pow+0x920> + 6c6: e00004ab bsr 0x101c // 101c <__adddf3> + 6ca: 6dc3 mov r7, r0 + 6cc: 6c97 mov r2, r5 + 6ce: 6cd3 mov r3, r4 + 6d0: b829 st.w r1, (r14, 0x24) + 6d2: 6c17 mov r0, r5 + 6d4: 6c53 mov r1, r4 + 6d6: e00004d7 bsr 0x1084 // 1084 <__muldf3> + 6da: 6c83 mov r2, r0 + 6dc: 6cc7 mov r3, r1 + 6de: 6c1f mov r0, r7 + 6e0: 9829 ld.w r1, (r14, 0x24) + 6e2: e00004d1 bsr 0x1084 // 1084 <__muldf3> + 6e6: 6d43 mov r5, r0 + 6e8: 6d07 mov r4, r1 + 6ea: 6cdb mov r3, r6 + 6ec: 3200 movi r2, 0 + 6ee: 9803 ld.w r0, (r14, 0xc) + 6f0: 6c5b mov r1, r6 + 6f2: e0000495 bsr 0x101c // 101c <__adddf3> + 6f6: 9845 ld.w r2, (r14, 0x14) + 6f8: 9866 ld.w r3, (r14, 0x18) + 6fa: e00004c5 bsr 0x1084 // 1084 <__muldf3> + 6fe: 6c97 mov r2, r5 + 700: 6cd3 mov r3, r4 + 702: e000048d bsr 0x101c // 101c <__adddf3> + 706: 6d43 mov r5, r0 + 708: 6cdb mov r3, r6 + 70a: b829 st.w r1, (r14, 0x24) + 70c: 3200 movi r2, 0 + 70e: 6c5b mov r1, r6 + 710: 3000 movi r0, 0 + 712: e00004b9 bsr 0x1084 // 1084 <__muldf3> + 716: 3200 movi r2, 0 + 718: 006f lrw r3, 0x40080000 // ad8 <__GI_pow+0x924> + 71a: 6dc3 mov r7, r0 + 71c: b82a st.w r1, (r14, 0x28) + 71e: e000047f bsr 0x101c // 101c <__adddf3> + 722: 6c97 mov r2, r5 + 724: 9869 ld.w r3, (r14, 0x24) + 726: e000047b bsr 0x101c // 101c <__adddf3> + 72a: 6d07 mov r4, r1 + 72c: 6cc7 mov r3, r1 + 72e: 3200 movi r2, 0 + 730: 6c5b mov r1, r6 + 732: 3000 movi r0, 0 + 734: e00004a8 bsr 0x1084 // 1084 <__muldf3> + 738: b80b st.w r0, (r14, 0x2c) + 73a: b82c st.w r1, (r14, 0x30) + 73c: 3200 movi r2, 0 + 73e: 0078 lrw r3, 0x40080000 // ad8 <__GI_pow+0x924> + 740: 6c53 mov r1, r4 + 742: 3000 movi r0, 0 + 744: e0000484 bsr 0x104c // 104c <__subdf3> + 748: 6c9f mov r2, r7 + 74a: 986a ld.w r3, (r14, 0x28) + 74c: e0000480 bsr 0x104c // 104c <__subdf3> + 750: 6c83 mov r2, r0 + 752: 6cc7 mov r3, r1 + 754: 6c17 mov r0, r5 + 756: 9829 ld.w r1, (r14, 0x24) + 758: e000047a bsr 0x104c // 104c <__subdf3> + 75c: 9843 ld.w r2, (r14, 0xc) + 75e: 6cdb mov r3, r6 + 760: e0000492 bsr 0x1084 // 1084 <__muldf3> + 764: 6d83 mov r6, r0 + 766: 6d47 mov r5, r1 + 768: 6cd3 mov r3, r4 + 76a: 3200 movi r2, 0 + 76c: 9805 ld.w r0, (r14, 0x14) + 76e: 9826 ld.w r1, (r14, 0x18) + 770: e000048a bsr 0x1084 // 1084 <__muldf3> + 774: 6c83 mov r2, r0 + 776: 6cc7 mov r3, r1 + 778: 6c1b mov r0, r6 + 77a: 6c57 mov r1, r5 + 77c: e0000450 bsr 0x101c // 101c <__adddf3> + 780: 6dc3 mov r7, r0 + 782: 6d87 mov r6, r1 + 784: 6c83 mov r2, r0 + 786: 6cc7 mov r3, r1 + 788: 980b ld.w r0, (r14, 0x2c) + 78a: 982c ld.w r1, (r14, 0x30) + 78c: e0000448 bsr 0x101c // 101c <__adddf3> + 790: 33e0 movi r3, 224 + 792: 4358 lsli r2, r3, 24 + 794: 3000 movi r0, 0 + 796: 016d lrw r3, 0x3feec709 // adc <__GI_pow+0x928> + 798: 6d07 mov r4, r1 + 79a: e0000475 bsr 0x1084 // 1084 <__muldf3> + 79e: b805 st.w r0, (r14, 0x14) + 7a0: b826 st.w r1, (r14, 0x18) + 7a2: 984b ld.w r2, (r14, 0x2c) + 7a4: 986c ld.w r3, (r14, 0x30) + 7a6: 6c53 mov r1, r4 + 7a8: 3000 movi r0, 0 + 7aa: e0000451 bsr 0x104c // 104c <__subdf3> + 7ae: 6c83 mov r2, r0 + 7b0: 6cc7 mov r3, r1 + 7b2: 6c1f mov r0, r7 + 7b4: 6c5b mov r1, r6 + 7b6: e000044b bsr 0x104c // 104c <__subdf3> + 7ba: 0155 lrw r2, 0xdc3a03fd // ae0 <__GI_pow+0x92c> + 7bc: 0177 lrw r3, 0x3feec709 // adc <__GI_pow+0x928> + 7be: e0000463 bsr 0x1084 // 1084 <__muldf3> + 7c2: 6dc3 mov r7, r0 + 7c4: 6d47 mov r5, r1 + 7c6: 0157 lrw r2, 0x145b01f5 // ae4 <__GI_pow+0x930> + 7c8: 0177 lrw r3, 0xbe3e2fe0 // ae8 <__GI_pow+0x934> + 7ca: 6c53 mov r1, r4 + 7cc: 3000 movi r0, 0 + 7ce: e000045b bsr 0x1084 // 1084 <__muldf3> + 7d2: 6c83 mov r2, r0 + 7d4: 6cc7 mov r3, r1 + 7d6: 6c1f mov r0, r7 + 7d8: 6c57 mov r1, r5 + 7da: e0000421 bsr 0x101c // 101c <__adddf3> + 7de: 01db lrw r6, 0x552c // aec <__GI_pow+0x938> + 7e0: 9848 ld.w r2, (r14, 0x20) + 7e2: 6188 addu r6, r2 + 7e4: 9644 ld.w r2, (r6, 0x10) + 7e6: 9665 ld.w r3, (r6, 0x14) + 7e8: e000041a bsr 0x101c // 101c <__adddf3> + 7ec: b809 st.w r0, (r14, 0x24) + 7ee: 9804 ld.w r0, (r14, 0x10) + 7f0: b82a st.w r1, (r14, 0x28) + 7f2: e0000667 bsr 0x14c0 // 14c0 <__floatsidf> + 7f6: 6d83 mov r6, r0 + 7f8: 0202 lrw r0, 0x552c // aec <__GI_pow+0x938> + 7fa: 6d47 mov r5, r1 + 7fc: 201f addi r0, 32 + 7fe: 9828 ld.w r1, (r14, 0x20) + 800: 6004 addu r0, r1 + 802: 9080 ld.w r4, (r0, 0x0) + 804: 90e1 ld.w r7, (r0, 0x4) + 806: 9849 ld.w r2, (r14, 0x24) + 808: 986a ld.w r3, (r14, 0x28) + 80a: 9805 ld.w r0, (r14, 0x14) + 80c: 9826 ld.w r1, (r14, 0x18) + 80e: e0000407 bsr 0x101c // 101c <__adddf3> + 812: 6c93 mov r2, r4 + 814: 6cdf mov r3, r7 + 816: e0000403 bsr 0x101c // 101c <__adddf3> + 81a: 6c9b mov r2, r6 + 81c: 6cd7 mov r3, r5 + 81e: e00003ff bsr 0x101c // 101c <__adddf3> + 822: 6c9b mov r2, r6 + 824: 6cd7 mov r3, r5 + 826: 3000 movi r0, 0 + 828: b823 st.w r1, (r14, 0xc) + 82a: e0000411 bsr 0x104c // 104c <__subdf3> + 82e: 6c93 mov r2, r4 + 830: 6cdf mov r3, r7 + 832: e000040d bsr 0x104c // 104c <__subdf3> + 836: 9845 ld.w r2, (r14, 0x14) + 838: 9866 ld.w r3, (r14, 0x18) + 83a: e0000409 bsr 0x104c // 104c <__subdf3> + 83e: 6c83 mov r2, r0 + 840: 6cc7 mov r3, r1 + 842: 9809 ld.w r0, (r14, 0x24) + 844: 982a ld.w r1, (r14, 0x28) + 846: 060b br 0x45c // 45c <__GI_pow+0x2a8> + 848: 3700 movi r7, 0 + 84a: 0663 br 0x510 // 510 <__GI_pow+0x35c> + 84c: 3501 movi r5, 1 + 84e: 0676 br 0x53a // 53a <__GI_pow+0x386> + 850: 0277 lrw r3, 0x3ff00000 // af0 <__GI_pow+0x93c> + 852: 0611 br 0x474 // 474 <__GI_pow+0x2c0> + 854: 0257 lrw r2, 0x652b82fe // af4 <__GI_pow+0x940> + 856: 0276 lrw r3, 0x3c971547 // af8 <__GI_pow+0x944> + 858: 6c1f mov r0, r7 + 85a: 6c5b mov r1, r6 + 85c: e00003e0 bsr 0x101c // 101c <__adddf3> + 860: b805 st.w r0, (r14, 0x14) + 862: b826 st.w r1, (r14, 0x18) + 864: 9842 ld.w r2, (r14, 0x8) + 866: 6cd7 mov r3, r5 + 868: 9800 ld.w r0, (r14, 0x0) + 86a: 6c53 mov r1, r4 + 86c: e00003f0 bsr 0x104c // 104c <__subdf3> + 870: 6c83 mov r2, r0 + 872: 6cc7 mov r3, r1 + 874: 9805 ld.w r0, (r14, 0x14) + 876: 9826 ld.w r1, (r14, 0x18) + 878: e00005ca bsr 0x140c // 140c <__gtdf2> + 87c: 3820 cmplti r0, 1 + 87e: 0802 bt 0x882 // 882 <__GI_pow+0x6ce> + 880: 0633 br 0x4e6 // 4e6 <__GI_pow+0x332> + 882: 4421 lsli r1, r4, 1 + 884: 4901 lsri r0, r1, 1 + 886: 0361 lrw r3, 0x3fe00000 // afc <__GI_pow+0x948> + 888: 640d cmplt r3, r0 + 88a: 0cfd bf 0xa84 // a84 <__GI_pow+0x8d0> + 88c: 5034 asri r1, r0, 20 + 88e: 0342 lrw r2, 0xfffffc02 // b00 <__GI_pow+0x94c> + 890: 3080 movi r0, 128 + 892: 6048 addu r1, r2 + 894: 404d lsli r2, r0, 13 + 896: 7086 asr r2, r1 + 898: 6090 addu r2, r4 + 89a: 4261 lsli r3, r2, 1 + 89c: 4b35 lsri r1, r3, 21 + 89e: 0305 lrw r0, 0xfffffc01 // b04 <__GI_pow+0x950> + 8a0: 6040 addu r1, r0 + 8a2: 0365 lrw r3, 0xfffff // b08 <__GI_pow+0x954> + 8a4: 70c6 asr r3, r1 + 8a6: 6c0b mov r0, r2 + 8a8: 680d andn r0, r3 + 8aa: 424c lsli r2, r2, 12 + 8ac: 6cc3 mov r3, r0 + 8ae: 4a4c lsri r2, r2, 12 + 8b0: 3014 movi r0, 20 + 8b2: 3ab4 bseti r2, 20 + 8b4: 5825 subu r1, r0, r1 + 8b6: 7086 asr r2, r1 + 8b8: 3cdf btsti r4, 31 + 8ba: b840 st.w r2, (r14, 0x0) + 8bc: 0c05 bf 0x8c6 // 8c6 <__GI_pow+0x712> + 8be: 9840 ld.w r2, (r14, 0x0) + 8c0: 3400 movi r4, 0 + 8c2: 610a subu r4, r2 + 8c4: b880 st.w r4, (r14, 0x0) + 8c6: 3200 movi r2, 0 + 8c8: 9802 ld.w r0, (r14, 0x8) + 8ca: 6c57 mov r1, r5 + 8cc: e00003c0 bsr 0x104c // 104c <__subdf3> + 8d0: b803 st.w r0, (r14, 0xc) + 8d2: b824 st.w r1, (r14, 0x10) + 8d4: 9803 ld.w r0, (r14, 0xc) + 8d6: 6c9f mov r2, r7 + 8d8: 6cdb mov r3, r6 + 8da: 9824 ld.w r1, (r14, 0x10) + 8dc: e00003a0 bsr 0x101c // 101c <__adddf3> + 8e0: 3200 movi r2, 0 + 8e2: 0374 lrw r3, 0x3fe62e43 // b0c <__GI_pow+0x958> + 8e4: 3000 movi r0, 0 + 8e6: 6d07 mov r4, r1 + 8e8: e00003ce bsr 0x1084 // 1084 <__muldf3> + 8ec: 6d47 mov r5, r1 + 8ee: 9843 ld.w r2, (r14, 0xc) + 8f0: 9864 ld.w r3, (r14, 0x10) + 8f2: b802 st.w r0, (r14, 0x8) + 8f4: 6c53 mov r1, r4 + 8f6: 3000 movi r0, 0 + 8f8: e00003aa bsr 0x104c // 104c <__subdf3> + 8fc: 6c83 mov r2, r0 + 8fe: 6cc7 mov r3, r1 + 900: 6c1f mov r0, r7 + 902: 6c5b mov r1, r6 + 904: e00003a4 bsr 0x104c // 104c <__subdf3> + 908: 035d lrw r2, 0xfefa39ef // b10 <__GI_pow+0x95c> + 90a: 037c lrw r3, 0x3fe62e42 // b14 <__GI_pow+0x960> + 90c: e00003bc bsr 0x1084 // 1084 <__muldf3> + 910: 6dc3 mov r7, r0 + 912: 6d87 mov r6, r1 + 914: 035e lrw r2, 0xca86c39 // b18 <__GI_pow+0x964> + 916: 037d lrw r3, 0xbe205c61 // b1c <__GI_pow+0x968> + 918: 6c53 mov r1, r4 + 91a: 3000 movi r0, 0 + 91c: e00003b4 bsr 0x1084 // 1084 <__muldf3> + 920: 6c83 mov r2, r0 + 922: 6cc7 mov r3, r1 + 924: 6c1f mov r0, r7 + 926: 6c5b mov r1, r6 + 928: e000037a bsr 0x101c // 101c <__adddf3> + 92c: 6d07 mov r4, r1 + 92e: 6c83 mov r2, r0 + 930: 6cc7 mov r3, r1 + 932: b803 st.w r0, (r14, 0xc) + 934: 6c57 mov r1, r5 + 936: 9802 ld.w r0, (r14, 0x8) + 938: e0000372 bsr 0x101c // 101c <__adddf3> + 93c: 9842 ld.w r2, (r14, 0x8) + 93e: 6cd7 mov r3, r5 + 940: 6dc3 mov r7, r0 + 942: 6d87 mov r6, r1 + 944: e0000384 bsr 0x104c // 104c <__subdf3> + 948: 6c83 mov r2, r0 + 94a: 6cc7 mov r3, r1 + 94c: 9803 ld.w r0, (r14, 0xc) + 94e: 6c53 mov r1, r4 + 950: e000037e bsr 0x104c // 104c <__subdf3> + 954: b802 st.w r0, (r14, 0x8) + 956: b823 st.w r1, (r14, 0xc) + 958: 6c9f mov r2, r7 + 95a: 6cdb mov r3, r6 + 95c: 6c1f mov r0, r7 + 95e: 6c5b mov r1, r6 + 960: e0000392 bsr 0x1084 // 1084 <__muldf3> + 964: 134f lrw r2, 0x72bea4d0 // b20 <__GI_pow+0x96c> + 966: 1370 lrw r3, 0x3e663769 // b24 <__GI_pow+0x970> + 968: 6d43 mov r5, r0 + 96a: 6d07 mov r4, r1 + 96c: e000038c bsr 0x1084 // 1084 <__muldf3> + 970: 134e lrw r2, 0xc5d26bf1 // b28 <__GI_pow+0x974> + 972: 136f lrw r3, 0x3ebbbd41 // b2c <__GI_pow+0x978> + 974: e000036c bsr 0x104c // 104c <__subdf3> + 978: 6c97 mov r2, r5 + 97a: 6cd3 mov r3, r4 + 97c: e0000384 bsr 0x1084 // 1084 <__muldf3> + 980: 134c lrw r2, 0xaf25de2c // b30 <__GI_pow+0x97c> + 982: 136d lrw r3, 0x3f11566a // b34 <__GI_pow+0x980> + 984: e000034c bsr 0x101c // 101c <__adddf3> + 988: 6c97 mov r2, r5 + 98a: 6cd3 mov r3, r4 + 98c: e000037c bsr 0x1084 // 1084 <__muldf3> + 990: 134a lrw r2, 0x16bebd93 // b38 <__GI_pow+0x984> + 992: 136b lrw r3, 0x3f66c16c // b3c <__GI_pow+0x988> + 994: e000035c bsr 0x104c // 104c <__subdf3> + 998: 6c97 mov r2, r5 + 99a: 6cd3 mov r3, r4 + 99c: e0000374 bsr 0x1084 // 1084 <__muldf3> + 9a0: 1348 lrw r2, 0x5555553e // b40 <__GI_pow+0x98c> + 9a2: 1369 lrw r3, 0x3fc55555 // b44 <__GI_pow+0x990> + 9a4: e000033c bsr 0x101c // 101c <__adddf3> + 9a8: 6c97 mov r2, r5 + 9aa: 6cd3 mov r3, r4 + 9ac: e000036c bsr 0x1084 // 1084 <__muldf3> + 9b0: 6c83 mov r2, r0 + 9b2: 6cc7 mov r3, r1 + 9b4: 6c1f mov r0, r7 + 9b6: 6c5b mov r1, r6 + 9b8: e000034a bsr 0x104c // 104c <__subdf3> + 9bc: 6d43 mov r5, r0 + 9be: 6d07 mov r4, r1 + 9c0: 6c83 mov r2, r0 + 9c2: 6cc7 mov r3, r1 + 9c4: 6c1f mov r0, r7 + 9c6: 6c5b mov r1, r6 + 9c8: e000035e bsr 0x1084 // 1084 <__muldf3> + 9cc: 3380 movi r3, 128 + 9ce: b804 st.w r0, (r14, 0x10) + 9d0: b825 st.w r1, (r14, 0x14) + 9d2: 3200 movi r2, 0 + 9d4: 4377 lsli r3, r3, 23 + 9d6: 6c17 mov r0, r5 + 9d8: 6c53 mov r1, r4 + 9da: e0000339 bsr 0x104c // 104c <__subdf3> + 9de: 6c83 mov r2, r0 + 9e0: 6cc7 mov r3, r1 + 9e2: 9804 ld.w r0, (r14, 0x10) + 9e4: 9825 ld.w r1, (r14, 0x14) + 9e6: e0000469 bsr 0x12b8 // 12b8 <__divdf3> + 9ea: 6d07 mov r4, r1 + 9ec: 6d43 mov r5, r0 + 9ee: 9842 ld.w r2, (r14, 0x8) + 9f0: 9863 ld.w r3, (r14, 0xc) + 9f2: 6c1f mov r0, r7 + 9f4: 6c5b mov r1, r6 + 9f6: e0000347 bsr 0x1084 // 1084 <__muldf3> + 9fa: 9842 ld.w r2, (r14, 0x8) + 9fc: 9863 ld.w r3, (r14, 0xc) + 9fe: e000030f bsr 0x101c // 101c <__adddf3> + a02: 6c83 mov r2, r0 + a04: 6cc7 mov r3, r1 + a06: 6c17 mov r0, r5 + a08: 6c53 mov r1, r4 + a0a: e0000321 bsr 0x104c // 104c <__subdf3> + a0e: 6c9f mov r2, r7 + a10: 6cdb mov r3, r6 + a12: e000031d bsr 0x104c // 104c <__subdf3> + a16: 6c83 mov r2, r0 + a18: 6cc7 mov r3, r1 + a1a: 3000 movi r0, 0 + a1c: 1135 lrw r1, 0x3ff00000 // af0 <__GI_pow+0x93c> + a1e: e0000317 bsr 0x104c // 104c <__subdf3> + a22: 9840 ld.w r2, (r14, 0x0) + a24: 4274 lsli r3, r2, 20 + a26: 60c4 addu r3, r1 + a28: 5394 asri r4, r3, 20 + a2a: 3c20 cmplti r4, 1 + a2c: 0c2f bf 0xa8a // a8a <__GI_pow+0x8d6> + a2e: 9840 ld.w r2, (r14, 0x0) + a30: e000009a bsr 0xb64 // b64 <__GI_scalbn> + a34: 3200 movi r2, 0 + a36: 9861 ld.w r3, (r14, 0x4) + a38: e800fc56 br 0x2e4 // 2e4 <__GI_pow+0x130> + a3c: 4401 lsli r0, r4, 1 + a3e: 4861 lsri r3, r0, 1 + a40: 1242 lrw r2, 0x4090cbff // b48 <__GI_pow+0x994> + a42: 64c9 cmplt r2, r3 + a44: 0f1f bf 0x882 // 882 <__GI_pow+0x6ce> + a46: 1222 lrw r1, 0x3f6f3400 // b4c <__GI_pow+0x998> + a48: 6050 addu r1, r4 + a4a: 9800 ld.w r0, (r14, 0x0) + a4c: 6c40 or r1, r0 + a4e: 3940 cmpnei r1, 0 + a50: 0c0b bf 0xa66 // a66 <__GI_pow+0x8b2> + a52: 1240 lrw r2, 0xc2f8f359 // b50 <__GI_pow+0x99c> + a54: 1260 lrw r3, 0x1a56e1f // b54 <__GI_pow+0x9a0> + a56: 3000 movi r0, 0 + a58: 9821 ld.w r1, (r14, 0x4) + a5a: e0000315 bsr 0x1084 // 1084 <__muldf3> + a5e: 115d lrw r2, 0xc2f8f359 // b50 <__GI_pow+0x99c> + a60: 117d lrw r3, 0x1a56e1f // b54 <__GI_pow+0x9a0> + a62: e800fc41 br 0x2e4 // 2e4 <__GI_pow+0x130> + a66: 9842 ld.w r2, (r14, 0x8) + a68: 6cd7 mov r3, r5 + a6a: 9800 ld.w r0, (r14, 0x0) + a6c: 6c53 mov r1, r4 + a6e: e00002ef bsr 0x104c // 104c <__subdf3> + a72: 6c83 mov r2, r0 + a74: 6cc7 mov r3, r1 + a76: 6c1f mov r0, r7 + a78: 6c5b mov r1, r6 + a7a: e0000505 bsr 0x1484 // 1484 <__ledf2> + a7e: 3820 cmplti r0, 1 + a80: 0f01 bf 0x882 // 882 <__GI_pow+0x6ce> + a82: 07e8 br 0xa52 // a52 <__GI_pow+0x89e> + a84: 3500 movi r5, 0 + a86: b8a0 st.w r5, (r14, 0x0) + a88: 0726 br 0x8d4 // 8d4 <__GI_pow+0x720> + a8a: 6c4f mov r1, r3 + a8c: 07d4 br 0xa34 // a34 <__GI_pow+0x880> + a8e: 3400 movi r4, 0 + a90: 1038 lrw r1, 0x3ff00000 // af0 <__GI_pow+0x93c> + a92: e800fbb5 br 0x1fc // 1fc <__GI_pow+0x48> + a96: 3400 movi r4, 0 + a98: 9820 ld.w r1, (r14, 0x0) + a9a: e800fbb1 br 0x1fc // 1fc <__GI_pow+0x48> + a9e: 6d1f mov r4, r7 + aa0: 6c5b mov r1, r6 + aa2: e800fbad br 0x1fc // 1fc <__GI_pow+0x48> + aa6: 0000 bkpt + aa8: 4a454eef .long 0x4a454eef + aac: 3fca7e28 .long 0x3fca7e28 + ab0: 93c9db65 .long 0x93c9db65 + ab4: 3fcd864a .long 0x3fcd864a + ab8: a91d4101 .long 0xa91d4101 + abc: 3fd17460 .long 0x3fd17460 + ac0: 518f264d .long 0x518f264d + ac4: 3fd55555 .long 0x3fd55555 + ac8: db6fabff .long 0xdb6fabff + acc: 3fdb6db6 .long 0x3fdb6db6 + ad0: 33333303 .long 0x33333303 + ad4: 3fe33333 .long 0x3fe33333 + ad8: 40080000 .long 0x40080000 + adc: 3feec709 .long 0x3feec709 + ae0: dc3a03fd .long 0xdc3a03fd + ae4: 145b01f5 .long 0x145b01f5 + ae8: be3e2fe0 .long 0xbe3e2fe0 + aec: 0000552c .long 0x0000552c + af0: 3ff00000 .long 0x3ff00000 + af4: 652b82fe .long 0x652b82fe + af8: 3c971547 .long 0x3c971547 + afc: 3fe00000 .long 0x3fe00000 + b00: fffffc02 .long 0xfffffc02 + b04: fffffc01 .long 0xfffffc01 + b08: 000fffff .long 0x000fffff + b0c: 3fe62e43 .long 0x3fe62e43 + b10: fefa39ef .long 0xfefa39ef + b14: 3fe62e42 .long 0x3fe62e42 + b18: 0ca86c39 .long 0x0ca86c39 + b1c: be205c61 .long 0xbe205c61 + b20: 72bea4d0 .long 0x72bea4d0 + b24: 3e663769 .long 0x3e663769 + b28: c5d26bf1 .long 0xc5d26bf1 + b2c: 3ebbbd41 .long 0x3ebbbd41 + b30: af25de2c .long 0xaf25de2c + b34: 3f11566a .long 0x3f11566a + b38: 16bebd93 .long 0x16bebd93 + b3c: 3f66c16c .long 0x3f66c16c + b40: 5555553e .long 0x5555553e + b44: 3fc55555 .long 0x3fc55555 + b48: 4090cbff .long 0x4090cbff + b4c: 3f6f3400 .long 0x3f6f3400 + b50: c2f8f359 .long 0xc2f8f359 + b54: 01a56e1f .long 0x01a56e1f + b58: 3300 movi r3, 0 + b5a: e800fb94 br 0x282 // 282 <__GI_pow+0xce> + +00000b5e <__GI_fabs>: + b5e: 4121 lsli r1, r1, 1 + b60: 4921 lsri r1, r1, 1 + b62: 783c jmp r15 + +00000b64 <__GI_scalbn>: + b64: 14c1 push r4 + b66: 6cc7 mov r3, r1 + b68: 6cc0 or r3, r0 + b6a: 3b40 cmpnei r3, 0 + b6c: 0c08 bf 0xb7c // b7c <__GI_scalbn+0x18> + b6e: 1065 lrw r3, 0x7ff00000 // b80 <__GI_scalbn+0x1c> + b70: 6d07 mov r4, r1 + b72: 690c and r4, r3 + b74: 4254 lsli r2, r2, 20 + b76: 6090 addu r2, r4 + b78: 684d andn r1, r3 + b7a: 6c48 or r1, r2 + b7c: 1481 pop r4 + b7e: 0000 bkpt + b80: 7ff00000 .long 0x7ff00000 + +00000b84 <__GI_sqrt>: + b84: 14d4 push r4-r7, r15 + b86: 1423 subi r14, r14, 12 + b88: 127a lrw r3, 0x7ff00000 // cf0 <__GI_sqrt+0x16c> + b8a: 6d43 mov r5, r0 + b8c: 6d07 mov r4, r1 + b8e: 6c07 mov r0, r1 + b90: 684c and r1, r3 + b92: 64c6 cmpne r1, r3 + b94: 6c97 mov r2, r5 + b96: 0812 bt 0xbba // bba <__GI_sqrt+0x36> + b98: 6cd3 mov r3, r4 + b9a: 6c17 mov r0, r5 + b9c: 6c53 mov r1, r4 + b9e: e0000273 bsr 0x1084 // 1084 <__muldf3> + ba2: 6c83 mov r2, r0 + ba4: 6cc7 mov r3, r1 + ba6: 6c17 mov r0, r5 + ba8: 6c53 mov r1, r4 + baa: e0000239 bsr 0x101c // 101c <__adddf3> + bae: 6d43 mov r5, r0 + bb0: 6d07 mov r4, r1 + bb2: 6c17 mov r0, r5 + bb4: 6c53 mov r1, r4 + bb6: 1403 addi r14, r14, 12 + bb8: 1494 pop r4-r7, r15 + bba: 3c20 cmplti r4, 1 + bbc: 0c13 bf 0xbe2 // be2 <__GI_sqrt+0x5e> + bbe: 4461 lsli r3, r4, 1 + bc0: 4b21 lsri r1, r3, 1 + bc2: 6c54 or r1, r5 + bc4: 3940 cmpnei r1, 0 + bc6: 0ff6 bf 0xbb2 // bb2 <__GI_sqrt+0x2e> + bc8: 3c40 cmpnei r4, 0 + bca: 0c0c bf 0xbe2 // be2 <__GI_sqrt+0x5e> + bcc: 6c97 mov r2, r5 + bce: 6cd3 mov r3, r4 + bd0: 6c17 mov r0, r5 + bd2: 6c53 mov r1, r4 + bd4: e000023c bsr 0x104c // 104c <__subdf3> + bd8: 6c83 mov r2, r0 + bda: 6cc7 mov r3, r1 + bdc: e000036e bsr 0x12b8 // 12b8 <__divdf3> + be0: 07e7 br 0xbae // bae <__GI_sqrt+0x2a> + be2: 5494 asri r4, r4, 20 + be4: 3c40 cmpnei r4, 0 + be6: 0812 bt 0xc0a // c0a <__GI_sqrt+0x86> + be8: 3840 cmpnei r0, 0 + bea: 0c76 bf 0xcd6 // cd6 <__GI_sqrt+0x152> + bec: 3580 movi r5, 128 + bee: 3300 movi r3, 0 + bf0: 452d lsli r1, r5, 13 + bf2: 6d83 mov r6, r0 + bf4: 6984 and r6, r1 + bf6: 3e40 cmpnei r6, 0 + bf8: 0c73 bf 0xcde // cde <__GI_sqrt+0x15a> + bfa: 5b23 subi r1, r3, 1 + bfc: 3620 movi r6, 32 + bfe: 6106 subu r4, r1 + c00: 618e subu r6, r3 + c02: 6c4b mov r1, r2 + c04: 7059 lsr r1, r6 + c06: 6c04 or r0, r1 + c08: 708c lsl r2, r3 + c0a: 117b lrw r3, 0xfffffc01 // cf4 <__GI_sqrt+0x170> + c0c: 610c addu r4, r3 + c0e: 3601 movi r6, 1 + c10: 400c lsli r0, r0, 12 + c12: 6990 and r6, r4 + c14: 480c lsri r0, r0, 12 + c16: 3e40 cmpnei r6, 0 + c18: 38b4 bseti r0, 20 + c1a: 0c05 bf 0xc24 // c24 <__GI_sqrt+0xa0> + c1c: 4a3f lsri r1, r2, 31 + c1e: 40a1 lsli r5, r0, 1 + c20: 5914 addu r0, r1, r5 + c22: 4241 lsli r2, r2, 1 + c24: 4a7f lsri r3, r2, 31 + c26: 60c0 addu r3, r0 + c28: 5481 asri r4, r4, 1 + c2a: 3680 movi r6, 128 + c2c: 3100 movi r1, 0 + c2e: 60c0 addu r3, r0 + c30: b882 st.w r4, (r14, 0x8) + c32: 4241 lsli r2, r2, 1 + c34: 3516 movi r5, 22 + c36: 460e lsli r0, r6, 14 + c38: b820 st.w r1, (r14, 0x0) + c3a: 5980 addu r4, r1, r0 + c3c: 650d cmplt r3, r4 + c3e: 0806 bt 0xc4a // c4a <__GI_sqrt+0xc6> + c40: 98c0 ld.w r6, (r14, 0x0) + c42: 6180 addu r6, r0 + c44: 5c20 addu r1, r4, r0 + c46: 60d2 subu r3, r4 + c48: b8c0 st.w r6, (r14, 0x0) + c4a: 2d00 subi r5, 1 + c4c: 4a9f lsri r4, r2, 31 + c4e: 4361 lsli r3, r3, 1 + c50: 3d40 cmpnei r5, 0 + c52: 60d0 addu r3, r4 + c54: 4241 lsli r2, r2, 1 + c56: 4801 lsri r0, r0, 1 + c58: 0bf1 bt 0xc3a // c3a <__GI_sqrt+0xb6> + c5a: 3620 movi r6, 32 + c5c: 3480 movi r4, 128 + c5e: 3000 movi r0, 0 + c60: b8c1 st.w r6, (r14, 0x4) + c62: 4498 lsli r4, r4, 24 + c64: 64c5 cmplt r1, r3 + c66: 5cd4 addu r6, r4, r5 + c68: 0805 bt 0xc72 // c72 <__GI_sqrt+0xee> + c6a: 644e cmpne r3, r1 + c6c: 0810 bt 0xc8c // c8c <__GI_sqrt+0x108> + c6e: 6588 cmphs r2, r6 + c70: 0c0e bf 0xc8c // c8c <__GI_sqrt+0x108> + c72: 3edf btsti r6, 31 + c74: 5eb0 addu r5, r6, r4 + c76: 0c37 bf 0xce4 // ce4 <__GI_sqrt+0x160> + c78: 3ddf btsti r5, 31 + c7a: 0835 bt 0xce4 // ce4 <__GI_sqrt+0x160> + c7c: 59e2 addi r7, r1, 1 + c7e: 6588 cmphs r2, r6 + c80: 60c6 subu r3, r1 + c82: 0802 bt 0xc86 // c86 <__GI_sqrt+0x102> + c84: 2b00 subi r3, 1 + c86: 609a subu r2, r6 + c88: 6010 addu r0, r4 + c8a: 6c5f mov r1, r7 + c8c: 4adf lsri r6, r2, 31 + c8e: 618c addu r6, r3 + c90: 60d8 addu r3, r6 + c92: 98c1 ld.w r6, (r14, 0x4) + c94: 2e00 subi r6, 1 + c96: 3e40 cmpnei r6, 0 + c98: 4241 lsli r2, r2, 1 + c9a: 4c81 lsri r4, r4, 1 + c9c: b8c1 st.w r6, (r14, 0x4) + c9e: 0be3 bt 0xc64 // c64 <__GI_sqrt+0xe0> + ca0: 6cc8 or r3, r2 + ca2: 3b40 cmpnei r3, 0 + ca4: 0c09 bf 0xcb6 // cb6 <__GI_sqrt+0x132> + ca6: 3300 movi r3, 0 + ca8: 2b00 subi r3, 1 + caa: 64c2 cmpne r0, r3 + cac: 081e bt 0xce8 // ce8 <__GI_sqrt+0x164> + cae: 9800 ld.w r0, (r14, 0x0) + cb0: 2000 addi r0, 1 + cb2: b800 st.w r0, (r14, 0x0) + cb4: 3000 movi r0, 0 + cb6: 3401 movi r4, 1 + cb8: 9860 ld.w r3, (r14, 0x0) + cba: 98a0 ld.w r5, (r14, 0x0) + cbc: 690c and r4, r3 + cbe: 5541 asri r2, r5, 1 + cc0: 102e lrw r1, 0x3fe00000 // cf8 <__GI_sqrt+0x174> + cc2: 3c40 cmpnei r4, 0 + cc4: 6048 addu r1, r2 + cc6: 4801 lsri r0, r0, 1 + cc8: 0c02 bf 0xccc // ccc <__GI_sqrt+0x148> + cca: 38bf bseti r0, 31 + ccc: 98a2 ld.w r5, (r14, 0x8) + cce: 4594 lsli r4, r5, 20 + cd0: 6104 addu r4, r1 + cd2: 6d43 mov r5, r0 + cd4: 076f br 0xbb2 // bb2 <__GI_sqrt+0x2e> + cd6: 4a0b lsri r0, r2, 11 + cd8: 2c14 subi r4, 21 + cda: 4255 lsli r2, r2, 21 + cdc: 0786 br 0xbe8 // be8 <__GI_sqrt+0x64> + cde: 4001 lsli r0, r0, 1 + ce0: 2300 addi r3, 1 + ce2: 0788 br 0xbf2 // bf2 <__GI_sqrt+0x6e> + ce4: 6dc7 mov r7, r1 + ce6: 07cc br 0xc7e // c7e <__GI_sqrt+0xfa> + ce8: 2000 addi r0, 1 + cea: 3880 bclri r0, 0 + cec: 07e5 br 0xcb6 // cb6 <__GI_sqrt+0x132> + cee: 0000 bkpt + cf0: 7ff00000 .long 0x7ff00000 + cf4: fffffc01 .long 0xfffffc01 + cf8: 3fe00000 .long 0x3fe00000 + +00000cfc <___gnu_csky_case_uqi>: + cfc: 1421 subi r14, r14, 4 + cfe: b820 st.w r1, (r14, 0x0) + d00: 6c7f mov r1, r15 + d02: 6040 addu r1, r0 + d04: 8120 ld.b r1, (r1, 0x0) + d06: 4121 lsli r1, r1, 1 + d08: 63c4 addu r15, r1 + d0a: 9820 ld.w r1, (r14, 0x0) + d0c: 1401 addi r14, r14, 4 + d0e: 783c jmp r15 + +00000d10 <__fixunsdfsi>: + d10: 14d2 push r4-r5, r15 + d12: 3200 movi r2, 0 + d14: 106c lrw r3, 0x41e00000 // d44 <__fixunsdfsi+0x34> + d16: 6d43 mov r5, r0 + d18: 6d07 mov r4, r1 + d1a: e0000397 bsr 0x1448 // 1448 <__gedf2> + d1e: 38df btsti r0, 31 + d20: 0c06 bf 0xd2c // d2c <__fixunsdfsi+0x1c> + d22: 6c17 mov r0, r5 + d24: 6c53 mov r1, r4 + d26: e0000405 bsr 0x1530 // 1530 <__fixdfsi> + d2a: 1492 pop r4-r5, r15 + d2c: 3200 movi r2, 0 + d2e: 1066 lrw r3, 0x41e00000 // d44 <__fixunsdfsi+0x34> + d30: 6c17 mov r0, r5 + d32: 6c53 mov r1, r4 + d34: e000018c bsr 0x104c // 104c <__subdf3> + d38: e00003fc bsr 0x1530 // 1530 <__fixdfsi> + d3c: 3380 movi r3, 128 + d3e: 4378 lsli r3, r3, 24 + d40: 600c addu r0, r3 + d42: 1492 pop r4-r5, r15 + d44: 41e00000 .long 0x41e00000 + +00000d48 <_fpadd_parts>: + d48: 14c4 push r4-r7 + d4a: 142a subi r14, r14, 40 + d4c: 9060 ld.w r3, (r0, 0x0) + d4e: 3b01 cmphsi r3, 2 + d50: 6dcb mov r7, r2 + d52: 0c67 bf 0xe20 // e20 <_fpadd_parts+0xd8> + d54: 9140 ld.w r2, (r1, 0x0) + d56: 3a01 cmphsi r2, 2 + d58: 0c66 bf 0xe24 // e24 <_fpadd_parts+0xdc> + d5a: 3b44 cmpnei r3, 4 + d5c: 0cde bf 0xf18 // f18 <_fpadd_parts+0x1d0> + d5e: 3a44 cmpnei r2, 4 + d60: 0c62 bf 0xe24 // e24 <_fpadd_parts+0xdc> + d62: 3a42 cmpnei r2, 2 + d64: 0cb7 bf 0xed2 // ed2 <_fpadd_parts+0x18a> + d66: 3b42 cmpnei r3, 2 + d68: 0c5e bf 0xe24 // e24 <_fpadd_parts+0xdc> + d6a: 9043 ld.w r2, (r0, 0xc) + d6c: 9064 ld.w r3, (r0, 0x10) + d6e: 9082 ld.w r4, (r0, 0x8) + d70: 91a2 ld.w r5, (r1, 0x8) + d72: b842 st.w r2, (r14, 0x8) + d74: b863 st.w r3, (r14, 0xc) + d76: 9143 ld.w r2, (r1, 0xc) + d78: 9164 ld.w r3, (r1, 0x10) + d7a: b840 st.w r2, (r14, 0x0) + d7c: b861 st.w r3, (r14, 0x4) + d7e: 5c75 subu r3, r4, r5 + d80: 3bdf btsti r3, 31 + d82: 6c8f mov r2, r3 + d84: 08d2 bt 0xf28 // f28 <_fpadd_parts+0x1e0> + d86: 363f movi r6, 63 + d88: 6499 cmplt r6, r2 + d8a: 0c50 bf 0xe2a // e2a <_fpadd_parts+0xe2> + d8c: 6515 cmplt r5, r4 + d8e: 0cbf bf 0xf0c // f0c <_fpadd_parts+0x1c4> + d90: 3200 movi r2, 0 + d92: 3300 movi r3, 0 + d94: b840 st.w r2, (r14, 0x0) + d96: b861 st.w r3, (r14, 0x4) + d98: 9061 ld.w r3, (r0, 0x4) + d9a: 9141 ld.w r2, (r1, 0x4) + d9c: 648e cmpne r3, r2 + d9e: 0c78 bf 0xe8e // e8e <_fpadd_parts+0x146> + da0: 3b40 cmpnei r3, 0 + da2: 0cad bf 0xefc // efc <_fpadd_parts+0x1b4> + da4: 9800 ld.w r0, (r14, 0x0) + da6: 9821 ld.w r1, (r14, 0x4) + da8: 9842 ld.w r2, (r14, 0x8) + daa: 9863 ld.w r3, (r14, 0xc) + dac: 6400 cmphs r0, r0 + dae: 600b subc r0, r2 + db0: 604f subc r1, r3 + db2: 39df btsti r1, 31 + db4: 08bd bt 0xf2e // f2e <_fpadd_parts+0x1e6> + db6: 3300 movi r3, 0 + db8: b761 st.w r3, (r7, 0x4) + dba: b782 st.w r4, (r7, 0x8) + dbc: 6c83 mov r2, r0 + dbe: 6cc7 mov r3, r1 + dc0: b703 st.w r0, (r7, 0xc) + dc2: b724 st.w r1, (r7, 0x10) + dc4: 3000 movi r0, 0 + dc6: 3100 movi r1, 0 + dc8: 2800 subi r0, 1 + dca: 2900 subi r1, 1 + dcc: 6401 cmplt r0, r0 + dce: 6009 addc r0, r2 + dd0: 604d addc r1, r3 + dd2: 038f lrw r4, 0xfffffff // 1010 <_fpadd_parts+0x2c8> + dd4: 6450 cmphs r4, r1 + dd6: 0c67 bf 0xea4 // ea4 <_fpadd_parts+0x15c> + dd8: 6506 cmpne r1, r4 + dda: 0cfd bf 0xfd4 // fd4 <_fpadd_parts+0x28c> + ddc: 3000 movi r0, 0 + dde: 9722 ld.w r1, (r7, 0x8) + de0: 2801 subi r0, 2 + de2: 2900 subi r1, 1 + de4: 03d4 lrw r6, 0xfffffff // 1010 <_fpadd_parts+0x2c8> + de6: b802 st.w r0, (r14, 0x8) + de8: b8e0 st.w r7, (r14, 0x0) + dea: 0403 br 0xdf0 // df0 <_fpadd_parts+0xa8> + dec: 6596 cmpne r5, r6 + dee: 0c83 bf 0xef4 // ef4 <_fpadd_parts+0x1ac> + df0: 4301 lsli r0, r3, 1 + df2: 4a9f lsri r4, r2, 31 + df4: 6d00 or r4, r0 + df6: 42a1 lsli r5, r2, 1 + df8: 6c97 mov r2, r5 + dfa: 6cd3 mov r3, r4 + dfc: 3500 movi r5, 0 + dfe: 3400 movi r4, 0 + e00: 2c00 subi r4, 1 + e02: 2d00 subi r5, 1 + e04: 6511 cmplt r4, r4 + e06: 6109 addc r4, r2 + e08: 614d addc r5, r3 + e0a: 6558 cmphs r6, r5 + e0c: 6c07 mov r0, r1 + e0e: 2900 subi r1, 1 + e10: 0bee bt 0xdec // dec <_fpadd_parts+0xa4> + e12: 98e0 ld.w r7, (r14, 0x0) + e14: b743 st.w r2, (r7, 0xc) + e16: b764 st.w r3, (r7, 0x10) + e18: 3303 movi r3, 3 + e1a: b702 st.w r0, (r7, 0x8) + e1c: b760 st.w r3, (r7, 0x0) + e1e: 6c1f mov r0, r7 + e20: 140a addi r14, r14, 40 + e22: 1484 pop r4-r7 + e24: 6c07 mov r0, r1 + e26: 140a addi r14, r14, 40 + e28: 1484 pop r4-r7 + e2a: 3b20 cmplti r3, 1 + e2c: 088c bt 0xf44 // f44 <_fpadd_parts+0x1fc> + e2e: 3300 movi r3, 0 + e30: 2b1f subi r3, 32 + e32: 60c8 addu r3, r2 + e34: 3bdf btsti r3, 31 + e36: b866 st.w r3, (r14, 0x18) + e38: 08bb bt 0xfae // fae <_fpadd_parts+0x266> + e3a: 98a1 ld.w r5, (r14, 0x4) + e3c: 714d lsr r5, r3 + e3e: b8a4 st.w r5, (r14, 0x10) + e40: 3500 movi r5, 0 + e42: b8a5 st.w r5, (r14, 0x14) + e44: 9866 ld.w r3, (r14, 0x18) + e46: 3bdf btsti r3, 31 + e48: 3500 movi r5, 0 + e4a: 3600 movi r6, 0 + e4c: 08ad bt 0xfa6 // fa6 <_fpadd_parts+0x25e> + e4e: 3201 movi r2, 1 + e50: 708c lsl r2, r3 + e52: 6d8b mov r6, r2 + e54: 3200 movi r2, 0 + e56: 3300 movi r3, 0 + e58: 2a00 subi r2, 1 + e5a: 2b00 subi r3, 1 + e5c: 6489 cmplt r2, r2 + e5e: 6095 addc r2, r5 + e60: 60d9 addc r3, r6 + e62: 98a0 ld.w r5, (r14, 0x0) + e64: 98c1 ld.w r6, (r14, 0x4) + e66: 6948 and r5, r2 + e68: 698c and r6, r3 + e6a: 6c97 mov r2, r5 + e6c: 6cdb mov r3, r6 + e6e: 6c8c or r2, r3 + e70: 3a40 cmpnei r2, 0 + e72: 3500 movi r5, 0 + e74: 6155 addc r5, r5 + e76: 6c97 mov r2, r5 + e78: 3300 movi r3, 0 + e7a: 98a4 ld.w r5, (r14, 0x10) + e7c: 98c5 ld.w r6, (r14, 0x14) + e7e: 6d48 or r5, r2 + e80: 6d8c or r6, r3 + e82: 9061 ld.w r3, (r0, 0x4) + e84: 9141 ld.w r2, (r1, 0x4) + e86: 648e cmpne r3, r2 + e88: b8a0 st.w r5, (r14, 0x0) + e8a: b8c1 st.w r6, (r14, 0x4) + e8c: 0b8a bt 0xda0 // da0 <_fpadd_parts+0x58> + e8e: b761 st.w r3, (r7, 0x4) + e90: 9800 ld.w r0, (r14, 0x0) + e92: 9821 ld.w r1, (r14, 0x4) + e94: 9842 ld.w r2, (r14, 0x8) + e96: 9863 ld.w r3, (r14, 0xc) + e98: 6489 cmplt r2, r2 + e9a: 6081 addc r2, r0 + e9c: 60c5 addc r3, r1 + e9e: b782 st.w r4, (r7, 0x8) + ea0: b743 st.w r2, (r7, 0xc) + ea2: b764 st.w r3, (r7, 0x10) + ea4: 3103 movi r1, 3 + ea6: b720 st.w r1, (r7, 0x0) + ea8: 123b lrw r1, 0x1fffffff // 1014 <_fpadd_parts+0x2cc> + eaa: 64c4 cmphs r1, r3 + eac: 0810 bt 0xecc // ecc <_fpadd_parts+0x184> + eae: 439f lsli r4, r3, 31 + eb0: 4a01 lsri r0, r2, 1 + eb2: 6c10 or r0, r4 + eb4: 3500 movi r5, 0 + eb6: 3401 movi r4, 1 + eb8: 4b21 lsri r1, r3, 1 + eba: 6890 and r2, r4 + ebc: 68d4 and r3, r5 + ebe: 6c80 or r2, r0 + ec0: 6cc4 or r3, r1 + ec2: b743 st.w r2, (r7, 0xc) + ec4: b764 st.w r3, (r7, 0x10) + ec6: 9762 ld.w r3, (r7, 0x8) + ec8: 2300 addi r3, 1 + eca: b762 st.w r3, (r7, 0x8) + ecc: 6c1f mov r0, r7 + ece: 140a addi r14, r14, 40 + ed0: 1484 pop r4-r7 + ed2: 3b42 cmpnei r3, 2 + ed4: 0ba6 bt 0xe20 // e20 <_fpadd_parts+0xd8> + ed6: b760 st.w r3, (r7, 0x0) + ed8: 9061 ld.w r3, (r0, 0x4) + eda: b761 st.w r3, (r7, 0x4) + edc: 9062 ld.w r3, (r0, 0x8) + ede: b762 st.w r3, (r7, 0x8) + ee0: 9063 ld.w r3, (r0, 0xc) + ee2: b763 st.w r3, (r7, 0xc) + ee4: 9064 ld.w r3, (r0, 0x10) + ee6: 9141 ld.w r2, (r1, 0x4) + ee8: b764 st.w r3, (r7, 0x10) + eea: 9061 ld.w r3, (r0, 0x4) + eec: 68c8 and r3, r2 + eee: b761 st.w r3, (r7, 0x4) + ef0: 6c1f mov r0, r7 + ef2: 0797 br 0xe20 // e20 <_fpadd_parts+0xd8> + ef4: 98e2 ld.w r7, (r14, 0x8) + ef6: 651c cmphs r7, r4 + ef8: 0b7c bt 0xdf0 // df0 <_fpadd_parts+0xa8> + efa: 078c br 0xe12 // e12 <_fpadd_parts+0xca> + efc: 9802 ld.w r0, (r14, 0x8) + efe: 9823 ld.w r1, (r14, 0xc) + f00: 9840 ld.w r2, (r14, 0x0) + f02: 9861 ld.w r3, (r14, 0x4) + f04: 6400 cmphs r0, r0 + f06: 600b subc r0, r2 + f08: 604f subc r1, r3 + f0a: 0754 br 0xdb2 // db2 <_fpadd_parts+0x6a> + f0c: 3200 movi r2, 0 + f0e: 3300 movi r3, 0 + f10: 6d17 mov r4, r5 + f12: b842 st.w r2, (r14, 0x8) + f14: b863 st.w r3, (r14, 0xc) + f16: 0741 br 0xd98 // d98 <_fpadd_parts+0x50> + f18: 3a44 cmpnei r2, 4 + f1a: 0b83 bt 0xe20 // e20 <_fpadd_parts+0xd8> + f1c: 9041 ld.w r2, (r0, 0x4) + f1e: 9161 ld.w r3, (r1, 0x4) + f20: 64ca cmpne r2, r3 + f22: 0f7f bf 0xe20 // e20 <_fpadd_parts+0xd8> + f24: 111d lrw r0, 0x555c // 1018 <_fpadd_parts+0x2d0> + f26: 077d br 0xe20 // e20 <_fpadd_parts+0xd8> + f28: 3200 movi r2, 0 + f2a: 608e subu r2, r3 + f2c: 072d br 0xd86 // d86 <_fpadd_parts+0x3e> + f2e: 3301 movi r3, 1 + f30: b761 st.w r3, (r7, 0x4) + f32: 3200 movi r2, 0 + f34: 3300 movi r3, 0 + f36: 6488 cmphs r2, r2 + f38: 6083 subc r2, r0 + f3a: 60c7 subc r3, r1 + f3c: b782 st.w r4, (r7, 0x8) + f3e: b743 st.w r2, (r7, 0xc) + f40: b764 st.w r3, (r7, 0x10) + f42: 0741 br 0xdc4 // dc4 <_fpadd_parts+0x7c> + f44: 3b40 cmpnei r3, 0 + f46: 0f29 bf 0xd98 // d98 <_fpadd_parts+0x50> + f48: 3300 movi r3, 0 + f4a: 2b1f subi r3, 32 + f4c: 60c8 addu r3, r2 + f4e: 3bdf btsti r3, 31 + f50: 6108 addu r4, r2 + f52: b866 st.w r3, (r14, 0x18) + f54: 0849 bt 0xfe6 // fe6 <_fpadd_parts+0x29e> + f56: 9863 ld.w r3, (r14, 0xc) + f58: 98a6 ld.w r5, (r14, 0x18) + f5a: 70d5 lsr r3, r5 + f5c: b864 st.w r3, (r14, 0x10) + f5e: 3300 movi r3, 0 + f60: b865 st.w r3, (r14, 0x14) + f62: 9866 ld.w r3, (r14, 0x18) + f64: 3bdf btsti r3, 31 + f66: 3500 movi r5, 0 + f68: 3600 movi r6, 0 + f6a: 083a bt 0xfde // fde <_fpadd_parts+0x296> + f6c: 3201 movi r2, 1 + f6e: 708c lsl r2, r3 + f70: 6d8b mov r6, r2 + f72: 3200 movi r2, 0 + f74: 3300 movi r3, 0 + f76: 2a00 subi r2, 1 + f78: 2b00 subi r3, 1 + f7a: 6489 cmplt r2, r2 + f7c: 6095 addc r2, r5 + f7e: 60d9 addc r3, r6 + f80: 98a2 ld.w r5, (r14, 0x8) + f82: 98c3 ld.w r6, (r14, 0xc) + f84: 6948 and r5, r2 + f86: 698c and r6, r3 + f88: 6c97 mov r2, r5 + f8a: 6cdb mov r3, r6 + f8c: 6c8c or r2, r3 + f8e: 3a40 cmpnei r2, 0 + f90: 3500 movi r5, 0 + f92: 6155 addc r5, r5 + f94: 6c97 mov r2, r5 + f96: 3300 movi r3, 0 + f98: 98a4 ld.w r5, (r14, 0x10) + f9a: 98c5 ld.w r6, (r14, 0x14) + f9c: 6d48 or r5, r2 + f9e: 6d8c or r6, r3 + fa0: b8a2 st.w r5, (r14, 0x8) + fa2: b8c3 st.w r6, (r14, 0xc) + fa4: 06fa br 0xd98 // d98 <_fpadd_parts+0x50> + fa6: 3301 movi r3, 1 + fa8: 70c8 lsl r3, r2 + faa: 6d4f mov r5, r3 + fac: 0754 br 0xe54 // e54 <_fpadd_parts+0x10c> + fae: 9861 ld.w r3, (r14, 0x4) + fb0: 361f movi r6, 31 + fb2: 43a1 lsli r5, r3, 1 + fb4: 618a subu r6, r2 + fb6: 7158 lsl r5, r6 + fb8: b8a9 st.w r5, (r14, 0x24) + fba: 98a0 ld.w r5, (r14, 0x0) + fbc: 98c1 ld.w r6, (r14, 0x4) + fbe: b8a7 st.w r5, (r14, 0x1c) + fc0: b8c8 st.w r6, (r14, 0x20) + fc2: 9867 ld.w r3, (r14, 0x1c) + fc4: 70c9 lsr r3, r2 + fc6: 98a9 ld.w r5, (r14, 0x24) + fc8: 6cd4 or r3, r5 + fca: b864 st.w r3, (r14, 0x10) + fcc: 9868 ld.w r3, (r14, 0x20) + fce: 70c9 lsr r3, r2 + fd0: b865 st.w r3, (r14, 0x14) + fd2: 0739 br 0xe44 // e44 <_fpadd_parts+0xfc> + fd4: 3100 movi r1, 0 + fd6: 2901 subi r1, 2 + fd8: 6404 cmphs r1, r0 + fda: 0b01 bt 0xddc // ddc <_fpadd_parts+0x94> + fdc: 0764 br 0xea4 // ea4 <_fpadd_parts+0x15c> + fde: 3301 movi r3, 1 + fe0: 70c8 lsl r3, r2 + fe2: 6d4f mov r5, r3 + fe4: 07c7 br 0xf72 // f72 <_fpadd_parts+0x22a> + fe6: 9863 ld.w r3, (r14, 0xc) + fe8: 43c1 lsli r6, r3, 1 + fea: 351f movi r5, 31 + fec: 5d69 subu r3, r5, r2 + fee: 6d5b mov r5, r6 + ff0: 714c lsl r5, r3 + ff2: b8a9 st.w r5, (r14, 0x24) + ff4: 98a2 ld.w r5, (r14, 0x8) + ff6: 98c3 ld.w r6, (r14, 0xc) + ff8: b8a7 st.w r5, (r14, 0x1c) + ffa: b8c8 st.w r6, (r14, 0x20) + ffc: 9867 ld.w r3, (r14, 0x1c) + ffe: 70c9 lsr r3, r2 + 1000: 98a9 ld.w r5, (r14, 0x24) + 1002: 6cd4 or r3, r5 + 1004: b864 st.w r3, (r14, 0x10) + 1006: 9868 ld.w r3, (r14, 0x20) + 1008: 70c9 lsr r3, r2 + 100a: b865 st.w r3, (r14, 0x14) + 100c: 07ab br 0xf62 // f62 <_fpadd_parts+0x21a> + 100e: 0000 bkpt + 1010: 0fffffff .long 0x0fffffff + 1014: 1fffffff .long 0x1fffffff + 1018: 0000555c .long 0x0000555c + +0000101c <__adddf3>: + 101c: 14d0 push r15 + 101e: 1433 subi r14, r14, 76 + 1020: b800 st.w r0, (r14, 0x0) + 1022: b821 st.w r1, (r14, 0x4) + 1024: 6c3b mov r0, r14 + 1026: 1904 addi r1, r14, 16 + 1028: b863 st.w r3, (r14, 0xc) + 102a: b842 st.w r2, (r14, 0x8) + 102c: e00003f4 bsr 0x1814 // 1814 <__unpack_d> + 1030: 1909 addi r1, r14, 36 + 1032: 1802 addi r0, r14, 8 + 1034: e00003f0 bsr 0x1814 // 1814 <__unpack_d> + 1038: 1a0e addi r2, r14, 56 + 103a: 1909 addi r1, r14, 36 + 103c: 1804 addi r0, r14, 16 + 103e: e3fffe85 bsr 0xd48 // d48 <_fpadd_parts> + 1042: e000031b bsr 0x1678 // 1678 <__pack_d> + 1046: 1413 addi r14, r14, 76 + 1048: 1490 pop r15 + ... + +0000104c <__subdf3>: + 104c: 14d0 push r15 + 104e: 1433 subi r14, r14, 76 + 1050: b800 st.w r0, (r14, 0x0) + 1052: b821 st.w r1, (r14, 0x4) + 1054: 6c3b mov r0, r14 + 1056: 1904 addi r1, r14, 16 + 1058: b842 st.w r2, (r14, 0x8) + 105a: b863 st.w r3, (r14, 0xc) + 105c: e00003dc bsr 0x1814 // 1814 <__unpack_d> + 1060: 1909 addi r1, r14, 36 + 1062: 1802 addi r0, r14, 8 + 1064: e00003d8 bsr 0x1814 // 1814 <__unpack_d> + 1068: 986a ld.w r3, (r14, 0x28) + 106a: 3201 movi r2, 1 + 106c: 6cc9 xor r3, r2 + 106e: 1909 addi r1, r14, 36 + 1070: 1a0e addi r2, r14, 56 + 1072: 1804 addi r0, r14, 16 + 1074: b86a st.w r3, (r14, 0x28) + 1076: e3fffe69 bsr 0xd48 // d48 <_fpadd_parts> + 107a: e00002ff bsr 0x1678 // 1678 <__pack_d> + 107e: 1413 addi r14, r14, 76 + 1080: 1490 pop r15 + ... + +00001084 <__muldf3>: + 1084: 14d4 push r4-r7, r15 + 1086: 143b subi r14, r14, 108 + 1088: b808 st.w r0, (r14, 0x20) + 108a: b829 st.w r1, (r14, 0x24) + 108c: 1808 addi r0, r14, 32 + 108e: 190c addi r1, r14, 48 + 1090: b86b st.w r3, (r14, 0x2c) + 1092: b84a st.w r2, (r14, 0x28) + 1094: e00003c0 bsr 0x1814 // 1814 <__unpack_d> + 1098: 1911 addi r1, r14, 68 + 109a: 180a addi r0, r14, 40 + 109c: e00003bc bsr 0x1814 // 1814 <__unpack_d> + 10a0: 986c ld.w r3, (r14, 0x30) + 10a2: 3b01 cmphsi r3, 2 + 10a4: 0cac bf 0x11fc // 11fc <__muldf3+0x178> + 10a6: 9851 ld.w r2, (r14, 0x44) + 10a8: 3a01 cmphsi r2, 2 + 10aa: 0c9c bf 0x11e2 // 11e2 <__muldf3+0x15e> + 10ac: 3b44 cmpnei r3, 4 + 10ae: 0ca5 bf 0x11f8 // 11f8 <__muldf3+0x174> + 10b0: 3a44 cmpnei r2, 4 + 10b2: 0c96 bf 0x11de // 11de <__muldf3+0x15a> + 10b4: 3b42 cmpnei r3, 2 + 10b6: 0ca3 bf 0x11fc // 11fc <__muldf3+0x178> + 10b8: 3a42 cmpnei r2, 2 + 10ba: 0c94 bf 0x11e2 // 11e2 <__muldf3+0x15e> + 10bc: 98ef ld.w r7, (r14, 0x3c) + 10be: 98b4 ld.w r5, (r14, 0x50) + 10c0: 9875 ld.w r3, (r14, 0x54) + 10c2: 6d8f mov r6, r3 + 10c4: 6c9f mov r2, r7 + 10c6: 3300 movi r3, 0 + 10c8: 6c17 mov r0, r5 + 10ca: 3100 movi r1, 0 + 10cc: e0000294 bsr 0x15f4 // 15f4 <__muldi3> + 10d0: b804 st.w r0, (r14, 0x10) + 10d2: b825 st.w r1, (r14, 0x14) + 10d4: 6c9f mov r2, r7 + 10d6: 3300 movi r3, 0 + 10d8: 6c1b mov r0, r6 + 10da: 3100 movi r1, 0 + 10dc: 9890 ld.w r4, (r14, 0x40) + 10de: b8c2 st.w r6, (r14, 0x8) + 10e0: e000028a bsr 0x15f4 // 15f4 <__muldi3> + 10e4: 6d83 mov r6, r0 + 10e6: 6dc7 mov r7, r1 + 10e8: 9842 ld.w r2, (r14, 0x8) + 10ea: 3300 movi r3, 0 + 10ec: 6c13 mov r0, r4 + 10ee: 3100 movi r1, 0 + 10f0: e0000282 bsr 0x15f4 // 15f4 <__muldi3> + 10f4: b806 st.w r0, (r14, 0x18) + 10f6: b827 st.w r1, (r14, 0x1c) + 10f8: 6c97 mov r2, r5 + 10fa: 3300 movi r3, 0 + 10fc: 6c13 mov r0, r4 + 10fe: 3100 movi r1, 0 + 1100: e000027a bsr 0x15f4 // 15f4 <__muldi3> + 1104: 6401 cmplt r0, r0 + 1106: 6019 addc r0, r6 + 1108: 605d addc r1, r7 + 110a: 65c4 cmphs r1, r7 + 110c: 0c91 bf 0x122e // 122e <__muldf3+0x1aa> + 110e: 645e cmpne r7, r1 + 1110: 0c8d bf 0x122a // 122a <__muldf3+0x1a6> + 1112: 3300 movi r3, 0 + 1114: 3400 movi r4, 0 + 1116: b862 st.w r3, (r14, 0x8) + 1118: b883 st.w r4, (r14, 0xc) + 111a: 9884 ld.w r4, (r14, 0x10) + 111c: 98a5 ld.w r5, (r14, 0x14) + 111e: 3600 movi r6, 0 + 1120: 6dc3 mov r7, r0 + 1122: 6c93 mov r2, r4 + 1124: 6cd7 mov r3, r5 + 1126: 6489 cmplt r2, r2 + 1128: 6099 addc r2, r6 + 112a: 60dd addc r3, r7 + 112c: 6d8b mov r6, r2 + 112e: 6dcf mov r7, r3 + 1130: 6c93 mov r2, r4 + 1132: 6cd7 mov r3, r5 + 1134: 64dc cmphs r7, r3 + 1136: 0c70 bf 0x1216 // 1216 <__muldf3+0x192> + 1138: 65ce cmpne r3, r7 + 113a: 0c6c bf 0x1212 // 1212 <__muldf3+0x18e> + 113c: 6c87 mov r2, r1 + 113e: 3300 movi r3, 0 + 1140: 9806 ld.w r0, (r14, 0x18) + 1142: 9827 ld.w r1, (r14, 0x1c) + 1144: 6401 cmplt r0, r0 + 1146: 6009 addc r0, r2 + 1148: 604d addc r1, r3 + 114a: 6c83 mov r2, r0 + 114c: 6cc7 mov r3, r1 + 114e: 9802 ld.w r0, (r14, 0x8) + 1150: 9823 ld.w r1, (r14, 0xc) + 1152: 6401 cmplt r0, r0 + 1154: 6009 addc r0, r2 + 1156: 604d addc r1, r3 + 1158: 6c83 mov r2, r0 + 115a: 6cc7 mov r3, r1 + 115c: 988e ld.w r4, (r14, 0x38) + 115e: 9833 ld.w r1, (r14, 0x4c) + 1160: 6104 addu r4, r1 + 1162: 5c2e addi r1, r4, 4 + 1164: b838 st.w r1, (r14, 0x60) + 1166: 980d ld.w r0, (r14, 0x34) + 1168: 9832 ld.w r1, (r14, 0x48) + 116a: 6442 cmpne r0, r1 + 116c: 12b0 lrw r5, 0x1fffffff // 12ac <__muldf3+0x228> + 116e: 3100 movi r1, 0 + 1170: 6045 addc r1, r1 + 1172: 64d4 cmphs r5, r3 + 1174: b837 st.w r1, (r14, 0x5c) + 1176: 0879 bt 0x1268 // 1268 <__muldf3+0x1e4> + 1178: 2404 addi r4, 5 + 117a: b8a4 st.w r5, (r14, 0x10) + 117c: 3001 movi r0, 1 + 117e: 3100 movi r1, 0 + 1180: 6808 and r0, r2 + 1182: 684c and r1, r3 + 1184: 6c04 or r0, r1 + 1186: 3840 cmpnei r0, 0 + 1188: b882 st.w r4, (r14, 0x8) + 118a: 0c0e bf 0x11a6 // 11a6 <__muldf3+0x122> + 118c: 473f lsli r1, r7, 31 + 118e: 4e01 lsri r0, r6, 1 + 1190: 6c04 or r0, r1 + 1192: 4f21 lsri r1, r7, 1 + 1194: b800 st.w r0, (r14, 0x0) + 1196: b821 st.w r1, (r14, 0x4) + 1198: 3180 movi r1, 128 + 119a: 98c0 ld.w r6, (r14, 0x0) + 119c: 98e1 ld.w r7, (r14, 0x4) + 119e: 3000 movi r0, 0 + 11a0: 4138 lsli r1, r1, 24 + 11a2: 6d80 or r6, r0 + 11a4: 6dc4 or r7, r1 + 11a6: 4b21 lsri r1, r3, 1 + 11a8: 43bf lsli r5, r3, 31 + 11aa: 4a01 lsri r0, r2, 1 + 11ac: 6cc7 mov r3, r1 + 11ae: 9824 ld.w r1, (r14, 0x10) + 11b0: 6d40 or r5, r0 + 11b2: 64c4 cmphs r1, r3 + 11b4: 6c97 mov r2, r5 + 11b6: 2400 addi r4, 1 + 11b8: 0fe2 bf 0x117c // 117c <__muldf3+0xf8> + 11ba: 9822 ld.w r1, (r14, 0x8) + 11bc: b838 st.w r1, (r14, 0x60) + 11be: 30ff movi r0, 255 + 11c0: 3100 movi r1, 0 + 11c2: 6808 and r0, r2 + 11c4: 684c and r1, r3 + 11c6: 3480 movi r4, 128 + 11c8: 6502 cmpne r0, r4 + 11ca: 0c37 bf 0x1238 // 1238 <__muldf3+0x1b4> + 11cc: b859 st.w r2, (r14, 0x64) + 11ce: b87a st.w r3, (r14, 0x68) + 11d0: 3303 movi r3, 3 + 11d2: b876 st.w r3, (r14, 0x58) + 11d4: 1816 addi r0, r14, 88 + 11d6: e0000251 bsr 0x1678 // 1678 <__pack_d> + 11da: 141b addi r14, r14, 108 + 11dc: 1494 pop r4-r7, r15 + 11de: 3b42 cmpnei r3, 2 + 11e0: 0c42 bf 0x1264 // 1264 <__muldf3+0x1e0> + 11e2: 9872 ld.w r3, (r14, 0x48) + 11e4: 984d ld.w r2, (r14, 0x34) + 11e6: 64ca cmpne r2, r3 + 11e8: 3300 movi r3, 0 + 11ea: 60cd addc r3, r3 + 11ec: 1811 addi r0, r14, 68 + 11ee: b872 st.w r3, (r14, 0x48) + 11f0: e0000244 bsr 0x1678 // 1678 <__pack_d> + 11f4: 141b addi r14, r14, 108 + 11f6: 1494 pop r4-r7, r15 + 11f8: 3a42 cmpnei r2, 2 + 11fa: 0c35 bf 0x1264 // 1264 <__muldf3+0x1e0> + 11fc: 984d ld.w r2, (r14, 0x34) + 11fe: 9872 ld.w r3, (r14, 0x48) + 1200: 64ca cmpne r2, r3 + 1202: 3300 movi r3, 0 + 1204: 60cd addc r3, r3 + 1206: 180c addi r0, r14, 48 + 1208: b86d st.w r3, (r14, 0x34) + 120a: e0000237 bsr 0x1678 // 1678 <__pack_d> + 120e: 141b addi r14, r14, 108 + 1210: 1494 pop r4-r7, r15 + 1212: 6498 cmphs r6, r2 + 1214: 0b94 bt 0x113c // 113c <__muldf3+0xb8> + 1216: 9882 ld.w r4, (r14, 0x8) + 1218: 98a3 ld.w r5, (r14, 0xc) + 121a: 3201 movi r2, 1 + 121c: 3300 movi r3, 0 + 121e: 6511 cmplt r4, r4 + 1220: 6109 addc r4, r2 + 1222: 614d addc r5, r3 + 1224: b882 st.w r4, (r14, 0x8) + 1226: b8a3 st.w r5, (r14, 0xc) + 1228: 078a br 0x113c // 113c <__muldf3+0xb8> + 122a: 6580 cmphs r0, r6 + 122c: 0b73 bt 0x1112 // 1112 <__muldf3+0x8e> + 122e: 3300 movi r3, 0 + 1230: 3401 movi r4, 1 + 1232: b862 st.w r3, (r14, 0x8) + 1234: b883 st.w r4, (r14, 0xc) + 1236: 0772 br 0x111a // 111a <__muldf3+0x96> + 1238: 3940 cmpnei r1, 0 + 123a: 0bc9 bt 0x11cc // 11cc <__muldf3+0x148> + 123c: 3180 movi r1, 128 + 123e: 4121 lsli r1, r1, 1 + 1240: 6848 and r1, r2 + 1242: 3940 cmpnei r1, 0 + 1244: 0bc4 bt 0x11cc // 11cc <__muldf3+0x148> + 1246: 6c5b mov r1, r6 + 1248: 6c5c or r1, r7 + 124a: 3940 cmpnei r1, 0 + 124c: 0fc0 bf 0x11cc // 11cc <__muldf3+0x148> + 124e: 3080 movi r0, 128 + 1250: 3100 movi r1, 0 + 1252: 6401 cmplt r0, r0 + 1254: 6009 addc r0, r2 + 1256: 604d addc r1, r3 + 1258: 34ff movi r4, 255 + 125a: 6d43 mov r5, r0 + 125c: 6951 andn r5, r4 + 125e: 6c97 mov r2, r5 + 1260: 6cc7 mov r3, r1 + 1262: 07b5 br 0x11cc // 11cc <__muldf3+0x148> + 1264: 1013 lrw r0, 0x555c // 12b0 <__muldf3+0x22c> + 1266: 07b8 br 0x11d6 // 11d6 <__muldf3+0x152> + 1268: 1033 lrw r1, 0xfffffff // 12b4 <__muldf3+0x230> + 126a: 64c4 cmphs r1, r3 + 126c: 0fa9 bf 0x11be // 11be <__muldf3+0x13a> + 126e: 2402 addi r4, 3 + 1270: b822 st.w r1, (r14, 0x8) + 1272: 4a1f lsri r0, r2, 31 + 1274: 4321 lsli r1, r3, 1 + 1276: 42a1 lsli r5, r2, 1 + 1278: 6c04 or r0, r1 + 127a: 3fdf btsti r7, 31 + 127c: b880 st.w r4, (r14, 0x0) + 127e: 6c97 mov r2, r5 + 1280: 6cc3 mov r3, r0 + 1282: 0c07 bf 0x1290 // 1290 <__muldf3+0x20c> + 1284: 3001 movi r0, 1 + 1286: 3100 movi r1, 0 + 1288: 6c08 or r0, r2 + 128a: 6c4c or r1, r3 + 128c: 6c83 mov r2, r0 + 128e: 6cc7 mov r3, r1 + 1290: 4721 lsli r1, r7, 1 + 1292: 4e1f lsri r0, r6, 31 + 1294: 6c04 or r0, r1 + 1296: 9822 ld.w r1, (r14, 0x8) + 1298: 46a1 lsli r5, r6, 1 + 129a: 64c4 cmphs r1, r3 + 129c: 6d97 mov r6, r5 + 129e: 6dc3 mov r7, r0 + 12a0: 2c00 subi r4, 1 + 12a2: 0be8 bt 0x1272 // 1272 <__muldf3+0x1ee> + 12a4: 9820 ld.w r1, (r14, 0x0) + 12a6: b838 st.w r1, (r14, 0x60) + 12a8: 078b br 0x11be // 11be <__muldf3+0x13a> + 12aa: 0000 bkpt + 12ac: 1fffffff .long 0x1fffffff + 12b0: 0000555c .long 0x0000555c + 12b4: 0fffffff .long 0x0fffffff + +000012b8 <__divdf3>: + 12b8: 14d4 push r4-r7, r15 + 12ba: 1432 subi r14, r14, 72 + 12bc: b804 st.w r0, (r14, 0x10) + 12be: b825 st.w r1, (r14, 0x14) + 12c0: 1804 addi r0, r14, 16 + 12c2: 1908 addi r1, r14, 32 + 12c4: b867 st.w r3, (r14, 0x1c) + 12c6: b846 st.w r2, (r14, 0x18) + 12c8: e00002a6 bsr 0x1814 // 1814 <__unpack_d> + 12cc: 190d addi r1, r14, 52 + 12ce: 1806 addi r0, r14, 24 + 12d0: e00002a2 bsr 0x1814 // 1814 <__unpack_d> + 12d4: 9868 ld.w r3, (r14, 0x20) + 12d6: 3b01 cmphsi r3, 2 + 12d8: 0c66 bf 0x13a4 // 13a4 <__divdf3+0xec> + 12da: 982d ld.w r1, (r14, 0x34) + 12dc: 3901 cmphsi r1, 2 + 12de: 0c92 bf 0x1402 // 1402 <__divdf3+0x14a> + 12e0: 9849 ld.w r2, (r14, 0x24) + 12e2: 980e ld.w r0, (r14, 0x38) + 12e4: 6c81 xor r2, r0 + 12e6: 3b44 cmpnei r3, 4 + 12e8: b849 st.w r2, (r14, 0x24) + 12ea: 0c62 bf 0x13ae // 13ae <__divdf3+0xf6> + 12ec: 3b42 cmpnei r3, 2 + 12ee: 0c60 bf 0x13ae // 13ae <__divdf3+0xf6> + 12f0: 3944 cmpnei r1, 4 + 12f2: 0c62 bf 0x13b6 // 13b6 <__divdf3+0xfe> + 12f4: 3942 cmpnei r1, 2 + 12f6: 0c82 bf 0x13fa // 13fa <__divdf3+0x142> + 12f8: 982a ld.w r1, (r14, 0x28) + 12fa: 986f ld.w r3, (r14, 0x3c) + 12fc: 604e subu r1, r3 + 12fe: 9890 ld.w r4, (r14, 0x40) + 1300: 98b1 ld.w r5, (r14, 0x44) + 1302: 984b ld.w r2, (r14, 0x2c) + 1304: 986c ld.w r3, (r14, 0x30) + 1306: 654c cmphs r3, r5 + 1308: b82a st.w r1, (r14, 0x28) + 130a: 6d93 mov r6, r4 + 130c: 6dd7 mov r7, r5 + 130e: 0c05 bf 0x1318 // 1318 <__divdf3+0x60> + 1310: 64d6 cmpne r5, r3 + 1312: 080b bt 0x1328 // 1328 <__divdf3+0x70> + 1314: 6508 cmphs r2, r4 + 1316: 0809 bt 0x1328 // 1328 <__divdf3+0x70> + 1318: 4a9f lsri r4, r2, 31 + 131a: 4301 lsli r0, r3, 1 + 131c: 42a1 lsli r5, r2, 1 + 131e: 6d00 or r4, r0 + 1320: 2900 subi r1, 1 + 1322: 6c97 mov r2, r5 + 1324: 6cd3 mov r3, r4 + 1326: b82a st.w r1, (r14, 0x28) + 1328: 3000 movi r0, 0 + 132a: 3100 movi r1, 0 + 132c: b802 st.w r0, (r14, 0x8) + 132e: b823 st.w r1, (r14, 0xc) + 1330: 3180 movi r1, 128 + 1332: 343d movi r4, 61 + 1334: 3000 movi r0, 0 + 1336: 4135 lsli r1, r1, 21 + 1338: b8c0 st.w r6, (r14, 0x0) + 133a: b8e1 st.w r7, (r14, 0x4) + 133c: 98a0 ld.w r5, (r14, 0x0) + 133e: 98c1 ld.w r6, (r14, 0x4) + 1340: 658c cmphs r3, r6 + 1342: 0c10 bf 0x1362 // 1362 <__divdf3+0xaa> + 1344: 64da cmpne r6, r3 + 1346: 0803 bt 0x134c // 134c <__divdf3+0x94> + 1348: 6548 cmphs r2, r5 + 134a: 0c0c bf 0x1362 // 1362 <__divdf3+0xaa> + 134c: 98a2 ld.w r5, (r14, 0x8) + 134e: 98c3 ld.w r6, (r14, 0xc) + 1350: 6d40 or r5, r0 + 1352: 6d84 or r6, r1 + 1354: b8a2 st.w r5, (r14, 0x8) + 1356: b8c3 st.w r6, (r14, 0xc) + 1358: 98a0 ld.w r5, (r14, 0x0) + 135a: 98c1 ld.w r6, (r14, 0x4) + 135c: 6488 cmphs r2, r2 + 135e: 6097 subc r2, r5 + 1360: 60db subc r3, r6 + 1362: 41bf lsli r5, r1, 31 + 1364: 48e1 lsri r7, r0, 1 + 1366: 6d97 mov r6, r5 + 1368: 49a1 lsri r5, r1, 1 + 136a: 6d9c or r6, r7 + 136c: 6c57 mov r1, r5 + 136e: 4abf lsri r5, r2, 31 + 1370: 6c1b mov r0, r6 + 1372: 2c00 subi r4, 1 + 1374: 6d97 mov r6, r5 + 1376: 43a1 lsli r5, r3, 1 + 1378: 6d94 or r6, r5 + 137a: 4261 lsli r3, r2, 1 + 137c: 3c40 cmpnei r4, 0 + 137e: 6dcf mov r7, r3 + 1380: 6c8f mov r2, r3 + 1382: 6cdb mov r3, r6 + 1384: 0bdc bt 0x133c // 133c <__divdf3+0x84> + 1386: 30ff movi r0, 255 + 1388: 3100 movi r1, 0 + 138a: 9882 ld.w r4, (r14, 0x8) + 138c: 98a3 ld.w r5, (r14, 0xc) + 138e: 6900 and r4, r0 + 1390: 6944 and r5, r1 + 1392: 6c13 mov r0, r4 + 1394: 6c57 mov r1, r5 + 1396: 3480 movi r4, 128 + 1398: 6502 cmpne r0, r4 + 139a: 0c15 bf 0x13c4 // 13c4 <__divdf3+0x10c> + 139c: 9862 ld.w r3, (r14, 0x8) + 139e: 9883 ld.w r4, (r14, 0xc) + 13a0: b86b st.w r3, (r14, 0x2c) + 13a2: b88c st.w r4, (r14, 0x30) + 13a4: 1808 addi r0, r14, 32 + 13a6: e0000169 bsr 0x1678 // 1678 <__pack_d> + 13aa: 1412 addi r14, r14, 72 + 13ac: 1494 pop r4-r7, r15 + 13ae: 644e cmpne r3, r1 + 13b0: 0bfa bt 0x13a4 // 13a4 <__divdf3+0xec> + 13b2: 1016 lrw r0, 0x555c // 1408 <__divdf3+0x150> + 13b4: 07f9 br 0x13a6 // 13a6 <__divdf3+0xee> + 13b6: 3300 movi r3, 0 + 13b8: 3400 movi r4, 0 + 13ba: b86b st.w r3, (r14, 0x2c) + 13bc: b88c st.w r4, (r14, 0x30) + 13be: b86a st.w r3, (r14, 0x28) + 13c0: 1808 addi r0, r14, 32 + 13c2: 07f2 br 0x13a6 // 13a6 <__divdf3+0xee> + 13c4: 3940 cmpnei r1, 0 + 13c6: 0beb bt 0x139c // 139c <__divdf3+0xe4> + 13c8: 3180 movi r1, 128 + 13ca: 4121 lsli r1, r1, 1 + 13cc: 9882 ld.w r4, (r14, 0x8) + 13ce: 98a3 ld.w r5, (r14, 0xc) + 13d0: 6850 and r1, r4 + 13d2: 3940 cmpnei r1, 0 + 13d4: 0be4 bt 0x139c // 139c <__divdf3+0xe4> + 13d6: 6c98 or r2, r6 + 13d8: 3a40 cmpnei r2, 0 + 13da: 0fe1 bf 0x139c // 139c <__divdf3+0xe4> + 13dc: 3280 movi r2, 128 + 13de: 3300 movi r3, 0 + 13e0: 6c13 mov r0, r4 + 13e2: 6c57 mov r1, r5 + 13e4: 6401 cmplt r0, r0 + 13e6: 6009 addc r0, r2 + 13e8: 604d addc r1, r3 + 13ea: 6c83 mov r2, r0 + 13ec: 6cc7 mov r3, r1 + 13ee: 6c0b mov r0, r2 + 13f0: 31ff movi r1, 255 + 13f2: 6805 andn r0, r1 + 13f4: b802 st.w r0, (r14, 0x8) + 13f6: b863 st.w r3, (r14, 0xc) + 13f8: 07d2 br 0x139c // 139c <__divdf3+0xe4> + 13fa: 3304 movi r3, 4 + 13fc: b868 st.w r3, (r14, 0x20) + 13fe: 1808 addi r0, r14, 32 + 1400: 07d3 br 0x13a6 // 13a6 <__divdf3+0xee> + 1402: 180d addi r0, r14, 52 + 1404: 07d1 br 0x13a6 // 13a6 <__divdf3+0xee> + 1406: 0000 bkpt + 1408: 0000555c .long 0x0000555c + +0000140c <__gtdf2>: + 140c: 14d0 push r15 + 140e: 142e subi r14, r14, 56 + 1410: b800 st.w r0, (r14, 0x0) + 1412: b821 st.w r1, (r14, 0x4) + 1414: 6c3b mov r0, r14 + 1416: 1904 addi r1, r14, 16 + 1418: b863 st.w r3, (r14, 0xc) + 141a: b842 st.w r2, (r14, 0x8) + 141c: e00001fc bsr 0x1814 // 1814 <__unpack_d> + 1420: 1909 addi r1, r14, 36 + 1422: 1802 addi r0, r14, 8 + 1424: e00001f8 bsr 0x1814 // 1814 <__unpack_d> + 1428: 9864 ld.w r3, (r14, 0x10) + 142a: 3b01 cmphsi r3, 2 + 142c: 0c0a bf 0x1440 // 1440 <__gtdf2+0x34> + 142e: 9869 ld.w r3, (r14, 0x24) + 1430: 3b01 cmphsi r3, 2 + 1432: 0c07 bf 0x1440 // 1440 <__gtdf2+0x34> + 1434: 1909 addi r1, r14, 36 + 1436: 1804 addi r0, r14, 16 + 1438: e0000250 bsr 0x18d8 // 18d8 <__fpcmp_parts_d> + 143c: 140e addi r14, r14, 56 + 143e: 1490 pop r15 + 1440: 3000 movi r0, 0 + 1442: 2800 subi r0, 1 + 1444: 140e addi r14, r14, 56 + 1446: 1490 pop r15 + +00001448 <__gedf2>: + 1448: 14d0 push r15 + 144a: 142e subi r14, r14, 56 + 144c: b800 st.w r0, (r14, 0x0) + 144e: b821 st.w r1, (r14, 0x4) + 1450: 6c3b mov r0, r14 + 1452: 1904 addi r1, r14, 16 + 1454: b863 st.w r3, (r14, 0xc) + 1456: b842 st.w r2, (r14, 0x8) + 1458: e00001de bsr 0x1814 // 1814 <__unpack_d> + 145c: 1909 addi r1, r14, 36 + 145e: 1802 addi r0, r14, 8 + 1460: e00001da bsr 0x1814 // 1814 <__unpack_d> + 1464: 9864 ld.w r3, (r14, 0x10) + 1466: 3b01 cmphsi r3, 2 + 1468: 0c0a bf 0x147c // 147c <__gedf2+0x34> + 146a: 9869 ld.w r3, (r14, 0x24) + 146c: 3b01 cmphsi r3, 2 + 146e: 0c07 bf 0x147c // 147c <__gedf2+0x34> + 1470: 1909 addi r1, r14, 36 + 1472: 1804 addi r0, r14, 16 + 1474: e0000232 bsr 0x18d8 // 18d8 <__fpcmp_parts_d> + 1478: 140e addi r14, r14, 56 + 147a: 1490 pop r15 + 147c: 3000 movi r0, 0 + 147e: 2800 subi r0, 1 + 1480: 140e addi r14, r14, 56 + 1482: 1490 pop r15 + +00001484 <__ledf2>: + 1484: 14d0 push r15 + 1486: 142e subi r14, r14, 56 + 1488: b800 st.w r0, (r14, 0x0) + 148a: b821 st.w r1, (r14, 0x4) + 148c: 6c3b mov r0, r14 + 148e: 1904 addi r1, r14, 16 + 1490: b863 st.w r3, (r14, 0xc) + 1492: b842 st.w r2, (r14, 0x8) + 1494: e00001c0 bsr 0x1814 // 1814 <__unpack_d> + 1498: 1909 addi r1, r14, 36 + 149a: 1802 addi r0, r14, 8 + 149c: e00001bc bsr 0x1814 // 1814 <__unpack_d> + 14a0: 9864 ld.w r3, (r14, 0x10) + 14a2: 3b01 cmphsi r3, 2 + 14a4: 0c0a bf 0x14b8 // 14b8 <__ledf2+0x34> + 14a6: 9869 ld.w r3, (r14, 0x24) + 14a8: 3b01 cmphsi r3, 2 + 14aa: 0c07 bf 0x14b8 // 14b8 <__ledf2+0x34> + 14ac: 1909 addi r1, r14, 36 + 14ae: 1804 addi r0, r14, 16 + 14b0: e0000214 bsr 0x18d8 // 18d8 <__fpcmp_parts_d> + 14b4: 140e addi r14, r14, 56 + 14b6: 1490 pop r15 + 14b8: 3001 movi r0, 1 + 14ba: 140e addi r14, r14, 56 + 14bc: 1490 pop r15 + ... + +000014c0 <__floatsidf>: + 14c0: 14d1 push r4, r15 + 14c2: 1425 subi r14, r14, 20 + 14c4: 3303 movi r3, 3 + 14c6: b860 st.w r3, (r14, 0x0) + 14c8: 3840 cmpnei r0, 0 + 14ca: 487f lsri r3, r0, 31 + 14cc: b861 st.w r3, (r14, 0x4) + 14ce: 0808 bt 0x14de // 14de <__floatsidf+0x1e> + 14d0: 3302 movi r3, 2 + 14d2: b860 st.w r3, (r14, 0x0) + 14d4: 6c3b mov r0, r14 + 14d6: e00000d1 bsr 0x1678 // 1678 <__pack_d> + 14da: 1405 addi r14, r14, 20 + 14dc: 1491 pop r4, r15 + 14de: 38df btsti r0, 31 + 14e0: 0812 bt 0x1504 // 1504 <__floatsidf+0x44> + 14e2: 6d03 mov r4, r0 + 14e4: 6c13 mov r0, r4 + 14e6: e00000a9 bsr 0x1638 // 1638 <__clzsi2> + 14ea: 321d movi r2, 29 + 14ec: 6080 addu r2, r0 + 14ee: 2802 subi r0, 3 + 14f0: 38df btsti r0, 31 + 14f2: 0810 bt 0x1512 // 1512 <__floatsidf+0x52> + 14f4: 7100 lsl r4, r0 + 14f6: 3300 movi r3, 0 + 14f8: b884 st.w r4, (r14, 0x10) + 14fa: b863 st.w r3, (r14, 0xc) + 14fc: 333c movi r3, 60 + 14fe: 60ca subu r3, r2 + 1500: b862 st.w r3, (r14, 0x8) + 1502: 07e9 br 0x14d4 // 14d4 <__floatsidf+0x14> + 1504: 3380 movi r3, 128 + 1506: 4378 lsli r3, r3, 24 + 1508: 64c2 cmpne r0, r3 + 150a: 0c0d bf 0x1524 // 1524 <__floatsidf+0x64> + 150c: 3400 movi r4, 0 + 150e: 6102 subu r4, r0 + 1510: 07ea br 0x14e4 // 14e4 <__floatsidf+0x24> + 1512: 311f movi r1, 31 + 1514: 4c61 lsri r3, r4, 1 + 1516: 604a subu r1, r2 + 1518: 6c13 mov r0, r4 + 151a: 70c5 lsr r3, r1 + 151c: 7008 lsl r0, r2 + 151e: b864 st.w r3, (r14, 0x10) + 1520: b803 st.w r0, (r14, 0xc) + 1522: 07ed br 0x14fc // 14fc <__floatsidf+0x3c> + 1524: 3000 movi r0, 0 + 1526: 1022 lrw r1, 0xc1e00000 // 152c <__floatsidf+0x6c> + 1528: 07d9 br 0x14da // 14da <__floatsidf+0x1a> + 152a: 0000 bkpt + 152c: c1e00000 .long 0xc1e00000 + +00001530 <__fixdfsi>: + 1530: 14d0 push r15 + 1532: 1427 subi r14, r14, 28 + 1534: b800 st.w r0, (r14, 0x0) + 1536: b821 st.w r1, (r14, 0x4) + 1538: 6c3b mov r0, r14 + 153a: 1902 addi r1, r14, 8 + 153c: e000016c bsr 0x1814 // 1814 <__unpack_d> + 1540: 9862 ld.w r3, (r14, 0x8) + 1542: 3b02 cmphsi r3, 3 + 1544: 0c20 bf 0x1584 // 1584 <__fixdfsi+0x54> + 1546: 3b44 cmpnei r3, 4 + 1548: 0c16 bf 0x1574 // 1574 <__fixdfsi+0x44> + 154a: 9864 ld.w r3, (r14, 0x10) + 154c: 3bdf btsti r3, 31 + 154e: 081b bt 0x1584 // 1584 <__fixdfsi+0x54> + 1550: 3b3e cmplti r3, 31 + 1552: 0c11 bf 0x1574 // 1574 <__fixdfsi+0x44> + 1554: 323c movi r2, 60 + 1556: 5a6d subu r3, r2, r3 + 1558: 3200 movi r2, 0 + 155a: 2a1f subi r2, 32 + 155c: 608c addu r2, r3 + 155e: 3adf btsti r2, 31 + 1560: 0815 bt 0x158a // 158a <__fixdfsi+0x5a> + 1562: 9806 ld.w r0, (r14, 0x18) + 1564: 7009 lsr r0, r2 + 1566: 9863 ld.w r3, (r14, 0xc) + 1568: 3b40 cmpnei r3, 0 + 156a: 0c0b bf 0x1580 // 1580 <__fixdfsi+0x50> + 156c: 3300 movi r3, 0 + 156e: 5b01 subu r0, r3, r0 + 1570: 1407 addi r14, r14, 28 + 1572: 1490 pop r15 + 1574: 9863 ld.w r3, (r14, 0xc) + 1576: 3b40 cmpnei r3, 0 + 1578: 3000 movi r0, 0 + 157a: 6001 addc r0, r0 + 157c: 1068 lrw r3, 0x7fffffff // 159c <__fixdfsi+0x6c> + 157e: 600c addu r0, r3 + 1580: 1407 addi r14, r14, 28 + 1582: 1490 pop r15 + 1584: 3000 movi r0, 0 + 1586: 1407 addi r14, r14, 28 + 1588: 1490 pop r15 + 158a: 9846 ld.w r2, (r14, 0x18) + 158c: 311f movi r1, 31 + 158e: 4241 lsli r2, r2, 1 + 1590: 604e subu r1, r3 + 1592: 9805 ld.w r0, (r14, 0x14) + 1594: 7084 lsl r2, r1 + 1596: 700d lsr r0, r3 + 1598: 6c08 or r0, r2 + 159a: 07e6 br 0x1566 // 1566 <__fixdfsi+0x36> + 159c: 7fffffff .long 0x7fffffff + +000015a0 <__floatunsidf>: + 15a0: 14d2 push r4-r5, r15 + 15a2: 1425 subi r14, r14, 20 + 15a4: 3840 cmpnei r0, 0 + 15a6: 3500 movi r5, 0 + 15a8: 6d03 mov r4, r0 + 15aa: b8a1 st.w r5, (r14, 0x4) + 15ac: 0c15 bf 0x15d6 // 15d6 <__floatunsidf+0x36> + 15ae: 3303 movi r3, 3 + 15b0: b860 st.w r3, (r14, 0x0) + 15b2: e0000043 bsr 0x1638 // 1638 <__clzsi2> + 15b6: 321d movi r2, 29 + 15b8: 6080 addu r2, r0 + 15ba: 2802 subi r0, 3 + 15bc: 38df btsti r0, 31 + 15be: 0813 bt 0x15e4 // 15e4 <__floatunsidf+0x44> + 15c0: 7100 lsl r4, r0 + 15c2: b884 st.w r4, (r14, 0x10) + 15c4: b8a3 st.w r5, (r14, 0xc) + 15c6: 333c movi r3, 60 + 15c8: 60ca subu r3, r2 + 15ca: 6c3b mov r0, r14 + 15cc: b862 st.w r3, (r14, 0x8) + 15ce: e0000055 bsr 0x1678 // 1678 <__pack_d> + 15d2: 1405 addi r14, r14, 20 + 15d4: 1492 pop r4-r5, r15 + 15d6: 3302 movi r3, 2 + 15d8: 6c3b mov r0, r14 + 15da: b860 st.w r3, (r14, 0x0) + 15dc: e000004e bsr 0x1678 // 1678 <__pack_d> + 15e0: 1405 addi r14, r14, 20 + 15e2: 1492 pop r4-r5, r15 + 15e4: 311f movi r1, 31 + 15e6: 4c61 lsri r3, r4, 1 + 15e8: 604a subu r1, r2 + 15ea: 70c5 lsr r3, r1 + 15ec: 7108 lsl r4, r2 + 15ee: b864 st.w r3, (r14, 0x10) + 15f0: b883 st.w r4, (r14, 0xc) + 15f2: 07ea br 0x15c6 // 15c6 <__floatunsidf+0x26> + +000015f4 <__muldi3>: + 15f4: 14c4 push r4-r7 + 15f6: 1421 subi r14, r14, 4 + 15f8: 7501 zexth r4, r0 + 15fa: 48b0 lsri r5, r0, 16 + 15fc: 75c9 zexth r7, r2 + 15fe: 6d83 mov r6, r0 + 1600: b820 st.w r1, (r14, 0x0) + 1602: 6c13 mov r0, r4 + 1604: 4a30 lsri r1, r2, 16 + 1606: 7c1c mult r0, r7 + 1608: 7d04 mult r4, r1 + 160a: 7dd4 mult r7, r5 + 160c: 611c addu r4, r7 + 160e: 7d44 mult r5, r1 + 1610: 4830 lsri r1, r0, 16 + 1612: 6104 addu r4, r1 + 1614: 65d0 cmphs r4, r7 + 1616: 0804 bt 0x161e // 161e <__muldi3+0x2a> + 1618: 3180 movi r1, 128 + 161a: 4129 lsli r1, r1, 9 + 161c: 6144 addu r5, r1 + 161e: 4c30 lsri r1, r4, 16 + 1620: 7cd8 mult r3, r6 + 1622: 6144 addu r5, r1 + 1624: 6c4f mov r1, r3 + 1626: 9860 ld.w r3, (r14, 0x0) + 1628: 7cc8 mult r3, r2 + 162a: 4490 lsli r4, r4, 16 + 162c: 604c addu r1, r3 + 162e: 7401 zexth r0, r0 + 1630: 6010 addu r0, r4 + 1632: 6054 addu r1, r5 + 1634: 1401 addi r14, r14, 4 + 1636: 1484 pop r4-r7 + +00001638 <__clzsi2>: + 1638: 106d lrw r3, 0xffff // 166c <__clzsi2+0x34> + 163a: 640c cmphs r3, r0 + 163c: 0c07 bf 0x164a // 164a <__clzsi2+0x12> + 163e: 33ff movi r3, 255 + 1640: 640c cmphs r3, r0 + 1642: 0c0f bf 0x1660 // 1660 <__clzsi2+0x28> + 1644: 3320 movi r3, 32 + 1646: 3200 movi r2, 0 + 1648: 0406 br 0x1654 // 1654 <__clzsi2+0x1c> + 164a: 106a lrw r3, 0xffffff // 1670 <__clzsi2+0x38> + 164c: 640c cmphs r3, r0 + 164e: 080c bt 0x1666 // 1666 <__clzsi2+0x2e> + 1650: 3308 movi r3, 8 + 1652: 3218 movi r2, 24 + 1654: 7009 lsr r0, r2 + 1656: 1048 lrw r2, 0x5570 // 1674 <__clzsi2+0x3c> + 1658: 6008 addu r0, r2 + 165a: 8040 ld.b r2, (r0, 0x0) + 165c: 5b09 subu r0, r3, r2 + 165e: 783c jmp r15 + 1660: 3318 movi r3, 24 + 1662: 3208 movi r2, 8 + 1664: 07f8 br 0x1654 // 1654 <__clzsi2+0x1c> + 1666: 3310 movi r3, 16 + 1668: 3210 movi r2, 16 + 166a: 07f5 br 0x1654 // 1654 <__clzsi2+0x1c> + 166c: 0000ffff .long 0x0000ffff + 1670: 00ffffff .long 0x00ffffff + 1674: 00005570 .long 0x00005570 + +00001678 <__pack_d>: + 1678: 14c4 push r4-r7 + 167a: 1422 subi r14, r14, 8 + 167c: 9060 ld.w r3, (r0, 0x0) + 167e: 3b01 cmphsi r3, 2 + 1680: 90c3 ld.w r6, (r0, 0xc) + 1682: 90e4 ld.w r7, (r0, 0x10) + 1684: 9021 ld.w r1, (r0, 0x4) + 1686: 0c46 bf 0x1712 // 1712 <__pack_d+0x9a> + 1688: 3b44 cmpnei r3, 4 + 168a: 0c40 bf 0x170a // 170a <__pack_d+0x92> + 168c: 3b42 cmpnei r3, 2 + 168e: 0c27 bf 0x16dc // 16dc <__pack_d+0x64> + 1690: 6cdb mov r3, r6 + 1692: 6cdc or r3, r7 + 1694: 3b40 cmpnei r3, 0 + 1696: 0c23 bf 0x16dc // 16dc <__pack_d+0x64> + 1698: 9062 ld.w r3, (r0, 0x8) + 169a: 125a lrw r2, 0xfffffc02 // 1800 <__pack_d+0x188> + 169c: 648d cmplt r3, r2 + 169e: 0855 bt 0x1748 // 1748 <__pack_d+0xd0> + 16a0: 1259 lrw r2, 0x3ff // 1804 <__pack_d+0x18c> + 16a2: 64c9 cmplt r2, r3 + 16a4: 0833 bt 0x170a // 170a <__pack_d+0x92> + 16a6: 34ff movi r4, 255 + 16a8: 3500 movi r5, 0 + 16aa: 6918 and r4, r6 + 16ac: 695c and r5, r7 + 16ae: 3280 movi r2, 128 + 16b0: 6492 cmpne r4, r2 + 16b2: 0c3f bf 0x1730 // 1730 <__pack_d+0xb8> + 16b4: 347f movi r4, 127 + 16b6: 3500 movi r5, 0 + 16b8: 6599 cmplt r6, r6 + 16ba: 6191 addc r6, r4 + 16bc: 61d5 addc r7, r5 + 16be: 1253 lrw r2, 0x1fffffff // 1808 <__pack_d+0x190> + 16c0: 65c8 cmphs r2, r7 + 16c2: 0c1a bf 0x16f6 // 16f6 <__pack_d+0x7e> + 16c4: 1290 lrw r4, 0x3ff // 1804 <__pack_d+0x18c> + 16c6: 610c addu r4, r3 + 16c8: 4718 lsli r0, r7, 24 + 16ca: 4f68 lsri r3, r7, 8 + 16cc: 4e48 lsri r2, r6, 8 + 16ce: 6c80 or r2, r0 + 16d0: 430c lsli r0, r3, 12 + 16d2: 486c lsri r3, r0, 12 + 16d4: 120e lrw r0, 0x7ff // 180c <__pack_d+0x194> + 16d6: 6d4b mov r5, r2 + 16d8: 6900 and r4, r0 + 16da: 0404 br 0x16e2 // 16e2 <__pack_d+0x6a> + 16dc: 3400 movi r4, 0 + 16de: 3200 movi r2, 0 + 16e0: 3300 movi r3, 0 + 16e2: 430c lsli r0, r3, 12 + 16e4: 480c lsri r0, r0, 12 + 16e6: 4474 lsli r3, r4, 20 + 16e8: 419f lsli r4, r1, 31 + 16ea: 6c43 mov r1, r0 + 16ec: 6c4c or r1, r3 + 16ee: 6c50 or r1, r4 + 16f0: 6c0b mov r0, r2 + 16f2: 1402 addi r14, r14, 8 + 16f4: 1484 pop r4-r7 + 16f6: 479f lsli r4, r7, 31 + 16f8: 4e01 lsri r0, r6, 1 + 16fa: 6d00 or r4, r0 + 16fc: 6d93 mov r6, r4 + 16fe: 3480 movi r4, 128 + 1700: 4f41 lsri r2, r7, 1 + 1702: 4483 lsli r4, r4, 3 + 1704: 6dcb mov r7, r2 + 1706: 610c addu r4, r3 + 1708: 07e0 br 0x16c8 // 16c8 <__pack_d+0x50> + 170a: 1281 lrw r4, 0x7ff // 180c <__pack_d+0x194> + 170c: 3200 movi r2, 0 + 170e: 3300 movi r3, 0 + 1710: 07e9 br 0x16e2 // 16e2 <__pack_d+0x6a> + 1712: 4e08 lsri r0, r6, 8 + 1714: 4798 lsli r4, r7, 24 + 1716: 6d00 or r4, r0 + 1718: 3580 movi r5, 128 + 171a: 4705 lsli r0, r7, 5 + 171c: 6c93 mov r2, r4 + 171e: 486d lsri r3, r0, 13 + 1720: 3400 movi r4, 0 + 1722: 45ac lsli r5, r5, 12 + 1724: 6c90 or r2, r4 + 1726: 6cd4 or r3, r5 + 1728: 430c lsli r0, r3, 12 + 172a: 486c lsri r3, r0, 12 + 172c: 1198 lrw r4, 0x7ff // 180c <__pack_d+0x194> + 172e: 07da br 0x16e2 // 16e2 <__pack_d+0x6a> + 1730: 3d40 cmpnei r5, 0 + 1732: 0bc1 bt 0x16b4 // 16b4 <__pack_d+0x3c> + 1734: 4241 lsli r2, r2, 1 + 1736: 6898 and r2, r6 + 1738: 3a40 cmpnei r2, 0 + 173a: 0fc2 bf 0x16be // 16be <__pack_d+0x46> + 173c: 3480 movi r4, 128 + 173e: 3500 movi r5, 0 + 1740: 6599 cmplt r6, r6 + 1742: 6191 addc r6, r4 + 1744: 61d5 addc r7, r5 + 1746: 07bc br 0x16be // 16be <__pack_d+0x46> + 1748: 5a6d subu r3, r2, r3 + 174a: 3238 movi r2, 56 + 174c: 64c9 cmplt r2, r3 + 174e: 0bc7 bt 0x16dc // 16dc <__pack_d+0x64> + 1750: 3200 movi r2, 0 + 1752: 2a1f subi r2, 32 + 1754: 608c addu r2, r3 + 1756: 3adf btsti r2, 31 + 1758: 0848 bt 0x17e8 // 17e8 <__pack_d+0x170> + 175a: 6c1f mov r0, r7 + 175c: 7009 lsr r0, r2 + 175e: b800 st.w r0, (r14, 0x0) + 1760: 3000 movi r0, 0 + 1762: b801 st.w r0, (r14, 0x4) + 1764: 3adf btsti r2, 31 + 1766: 083c bt 0x17de // 17de <__pack_d+0x166> + 1768: 3301 movi r3, 1 + 176a: 70c8 lsl r3, r2 + 176c: 6d4f mov r5, r3 + 176e: 3300 movi r3, 0 + 1770: 6d0f mov r4, r3 + 1772: 3200 movi r2, 0 + 1774: 3300 movi r3, 0 + 1776: 2a00 subi r2, 1 + 1778: 2b00 subi r3, 1 + 177a: 6511 cmplt r4, r4 + 177c: 6109 addc r4, r2 + 177e: 614d addc r5, r3 + 1780: 6990 and r6, r4 + 1782: 69d4 and r7, r5 + 1784: 6d9c or r6, r7 + 1786: 3e40 cmpnei r6, 0 + 1788: 3000 movi r0, 0 + 178a: 6001 addc r0, r0 + 178c: 6c83 mov r2, r0 + 178e: 3300 movi r3, 0 + 1790: 9880 ld.w r4, (r14, 0x0) + 1792: 98a1 ld.w r5, (r14, 0x4) + 1794: 6d08 or r4, r2 + 1796: 6d4c or r5, r3 + 1798: 32ff movi r2, 255 + 179a: 3300 movi r3, 0 + 179c: 6890 and r2, r4 + 179e: 68d4 and r3, r5 + 17a0: 3080 movi r0, 128 + 17a2: 640a cmpne r2, r0 + 17a4: 081b bt 0x17da // 17da <__pack_d+0x162> + 17a6: 3b40 cmpnei r3, 0 + 17a8: 0819 bt 0x17da // 17da <__pack_d+0x162> + 17aa: 3380 movi r3, 128 + 17ac: 4361 lsli r3, r3, 1 + 17ae: 68d0 and r3, r4 + 17b0: 3b40 cmpnei r3, 0 + 17b2: 0c06 bf 0x17be // 17be <__pack_d+0x146> + 17b4: 3280 movi r2, 128 + 17b6: 3300 movi r3, 0 + 17b8: 6511 cmplt r4, r4 + 17ba: 6109 addc r4, r2 + 17bc: 614d addc r5, r3 + 17be: 4518 lsli r0, r5, 24 + 17c0: 4c48 lsri r2, r4, 8 + 17c2: 4d68 lsri r3, r5, 8 + 17c4: 1093 lrw r4, 0xfffffff // 1810 <__pack_d+0x198> + 17c6: 6c80 or r2, r0 + 17c8: 6550 cmphs r4, r5 + 17ca: 430c lsli r0, r3, 12 + 17cc: 486c lsri r3, r0, 12 + 17ce: 3001 movi r0, 1 + 17d0: 0c02 bf 0x17d4 // 17d4 <__pack_d+0x15c> + 17d2: 3000 movi r0, 0 + 17d4: 108e lrw r4, 0x7ff // 180c <__pack_d+0x194> + 17d6: 6900 and r4, r0 + 17d8: 0785 br 0x16e2 // 16e2 <__pack_d+0x6a> + 17da: 327f movi r2, 127 + 17dc: 07ed br 0x17b6 // 17b6 <__pack_d+0x13e> + 17de: 3201 movi r2, 1 + 17e0: 708c lsl r2, r3 + 17e2: 3500 movi r5, 0 + 17e4: 6d0b mov r4, r2 + 17e6: 07c6 br 0x1772 // 1772 <__pack_d+0xfa> + 17e8: 341f movi r4, 31 + 17ea: 610e subu r4, r3 + 17ec: 4701 lsli r0, r7, 1 + 17ee: 7010 lsl r0, r4 + 17f0: 6d1b mov r4, r6 + 17f2: 710d lsr r4, r3 + 17f4: 6d00 or r4, r0 + 17f6: 6c1f mov r0, r7 + 17f8: 700d lsr r0, r3 + 17fa: b880 st.w r4, (r14, 0x0) + 17fc: b801 st.w r0, (r14, 0x4) + 17fe: 07b3 br 0x1764 // 1764 <__pack_d+0xec> + 1800: fffffc02 .long 0xfffffc02 + 1804: 000003ff .long 0x000003ff + 1808: 1fffffff .long 0x1fffffff + 180c: 000007ff .long 0x000007ff + 1810: 0fffffff .long 0x0fffffff + +00001814 <__unpack_d>: + 1814: 1423 subi r14, r14, 12 + 1816: b880 st.w r4, (r14, 0x0) + 1818: b8c1 st.w r6, (r14, 0x4) + 181a: b8e2 st.w r7, (r14, 0x8) + 181c: 8843 ld.h r2, (r0, 0x6) + 181e: 4251 lsli r2, r2, 17 + 1820: 9061 ld.w r3, (r0, 0x4) + 1822: 9080 ld.w r4, (r0, 0x0) + 1824: 4a55 lsri r2, r2, 21 + 1826: 8007 ld.b r0, (r0, 0x7) + 1828: 436c lsli r3, r3, 12 + 182a: 4807 lsri r0, r0, 7 + 182c: 3a40 cmpnei r2, 0 + 182e: 4b6c lsri r3, r3, 12 + 1830: b101 st.w r0, (r1, 0x4) + 1832: 0819 bt 0x1864 // 1864 <__unpack_d+0x50> + 1834: 6c93 mov r2, r4 + 1836: 6c8c or r2, r3 + 1838: 3a40 cmpnei r2, 0 + 183a: 0c2d bf 0x1894 // 1894 <__unpack_d+0x80> + 183c: 4c58 lsri r2, r4, 24 + 183e: 4368 lsli r3, r3, 8 + 1840: 6cc8 or r3, r2 + 1842: 3203 movi r2, 3 + 1844: 4408 lsli r0, r4, 8 + 1846: b140 st.w r2, (r1, 0x0) + 1848: 1181 lrw r4, 0xfffffc01 // 18cc <__unpack_d+0xb8> + 184a: 11c2 lrw r6, 0xfffffff // 18d0 <__unpack_d+0xbc> + 184c: 485f lsri r2, r0, 31 + 184e: 4361 lsli r3, r3, 1 + 1850: 6cc8 or r3, r2 + 1852: 64d8 cmphs r6, r3 + 1854: 6c93 mov r2, r4 + 1856: 4001 lsli r0, r0, 1 + 1858: 2c00 subi r4, 1 + 185a: 0bf9 bt 0x184c // 184c <__unpack_d+0x38> + 185c: b142 st.w r2, (r1, 0x8) + 185e: b103 st.w r0, (r1, 0xc) + 1860: b164 st.w r3, (r1, 0x10) + 1862: 0414 br 0x188a // 188a <__unpack_d+0x76> + 1864: 101c lrw r0, 0x7ff // 18d4 <__unpack_d+0xc0> + 1866: 640a cmpne r2, r0 + 1868: 0c19 bf 0x189a // 189a <__unpack_d+0x86> + 186a: 1019 lrw r0, 0xfffffc01 // 18cc <__unpack_d+0xb8> + 186c: 6080 addu r2, r0 + 186e: b142 st.w r2, (r1, 0x8) + 1870: 3203 movi r2, 3 + 1872: 43e8 lsli r7, r3, 8 + 1874: b140 st.w r2, (r1, 0x0) + 1876: 3380 movi r3, 128 + 1878: 4c58 lsri r2, r4, 24 + 187a: 6dc8 or r7, r2 + 187c: 44c8 lsli r6, r4, 8 + 187e: 3200 movi r2, 0 + 1880: 4375 lsli r3, r3, 21 + 1882: 6d88 or r6, r2 + 1884: 6dcc or r7, r3 + 1886: b1c3 st.w r6, (r1, 0xc) + 1888: b1e4 st.w r7, (r1, 0x10) + 188a: 98e2 ld.w r7, (r14, 0x8) + 188c: 98c1 ld.w r6, (r14, 0x4) + 188e: 9880 ld.w r4, (r14, 0x0) + 1890: 1403 addi r14, r14, 12 + 1892: 783c jmp r15 + 1894: 3302 movi r3, 2 + 1896: b160 st.w r3, (r1, 0x0) + 1898: 07f9 br 0x188a // 188a <__unpack_d+0x76> + 189a: 6c93 mov r2, r4 + 189c: 6c8c or r2, r3 + 189e: 3a40 cmpnei r2, 0 + 18a0: 0c10 bf 0x18c0 // 18c0 <__unpack_d+0xac> + 18a2: 3280 movi r2, 128 + 18a4: 424c lsli r2, r2, 12 + 18a6: 688c and r2, r3 + 18a8: 3a40 cmpnei r2, 0 + 18aa: 0c0e bf 0x18c6 // 18c6 <__unpack_d+0xb2> + 18ac: 3201 movi r2, 1 + 18ae: b140 st.w r2, (r1, 0x0) + 18b0: 4c58 lsri r2, r4, 24 + 18b2: 4368 lsli r3, r3, 8 + 18b4: 6cc8 or r3, r2 + 18b6: 4408 lsli r0, r4, 8 + 18b8: 3b9b bclri r3, 27 + 18ba: b103 st.w r0, (r1, 0xc) + 18bc: b164 st.w r3, (r1, 0x10) + 18be: 07e6 br 0x188a // 188a <__unpack_d+0x76> + 18c0: 3304 movi r3, 4 + 18c2: b160 st.w r3, (r1, 0x0) + 18c4: 07e3 br 0x188a // 188a <__unpack_d+0x76> + 18c6: b140 st.w r2, (r1, 0x0) + 18c8: 07f4 br 0x18b0 // 18b0 <__unpack_d+0x9c> + 18ca: 0000 bkpt + 18cc: fffffc01 .long 0xfffffc01 + 18d0: 0fffffff .long 0x0fffffff + 18d4: 000007ff .long 0x000007ff + +000018d8 <__fpcmp_parts_d>: + 18d8: 14c1 push r4 + 18da: 9060 ld.w r3, (r0, 0x0) + 18dc: 3b01 cmphsi r3, 2 + 18de: 0c12 bf 0x1902 // 1902 <__fpcmp_parts_d+0x2a> + 18e0: 9140 ld.w r2, (r1, 0x0) + 18e2: 3a01 cmphsi r2, 2 + 18e4: 0c0f bf 0x1902 // 1902 <__fpcmp_parts_d+0x2a> + 18e6: 3b44 cmpnei r3, 4 + 18e8: 0c17 bf 0x1916 // 1916 <__fpcmp_parts_d+0x3e> + 18ea: 3a44 cmpnei r2, 4 + 18ec: 0c0f bf 0x190a // 190a <__fpcmp_parts_d+0x32> + 18ee: 3b42 cmpnei r3, 2 + 18f0: 0c0b bf 0x1906 // 1906 <__fpcmp_parts_d+0x2e> + 18f2: 3a42 cmpnei r2, 2 + 18f4: 0c13 bf 0x191a // 191a <__fpcmp_parts_d+0x42> + 18f6: 9061 ld.w r3, (r0, 0x4) + 18f8: 9141 ld.w r2, (r1, 0x4) + 18fa: 648e cmpne r3, r2 + 18fc: 0c14 bf 0x1924 // 1924 <__fpcmp_parts_d+0x4c> + 18fe: 3b40 cmpnei r3, 0 + 1900: 0808 bt 0x1910 // 1910 <__fpcmp_parts_d+0x38> + 1902: 3001 movi r0, 1 + 1904: 1481 pop r4 + 1906: 3a42 cmpnei r2, 2 + 1908: 0c28 bf 0x1958 // 1958 <__fpcmp_parts_d+0x80> + 190a: 9161 ld.w r3, (r1, 0x4) + 190c: 3b40 cmpnei r3, 0 + 190e: 0bfa bt 0x1902 // 1902 <__fpcmp_parts_d+0x2a> + 1910: 3000 movi r0, 0 + 1912: 2800 subi r0, 1 + 1914: 1481 pop r4 + 1916: 3a44 cmpnei r2, 4 + 1918: 0c22 bf 0x195c // 195c <__fpcmp_parts_d+0x84> + 191a: 9061 ld.w r3, (r0, 0x4) + 191c: 3b40 cmpnei r3, 0 + 191e: 0bf9 bt 0x1910 // 1910 <__fpcmp_parts_d+0x38> + 1920: 3001 movi r0, 1 + 1922: 07f1 br 0x1904 // 1904 <__fpcmp_parts_d+0x2c> + 1924: 9082 ld.w r4, (r0, 0x8) + 1926: 9142 ld.w r2, (r1, 0x8) + 1928: 6509 cmplt r2, r4 + 192a: 0bea bt 0x18fe // 18fe <__fpcmp_parts_d+0x26> + 192c: 6491 cmplt r4, r2 + 192e: 080d bt 0x1948 // 1948 <__fpcmp_parts_d+0x70> + 1930: 9044 ld.w r2, (r0, 0x10) + 1932: 9083 ld.w r4, (r0, 0xc) + 1934: 9103 ld.w r0, (r1, 0xc) + 1936: 9124 ld.w r1, (r1, 0x10) + 1938: 6484 cmphs r1, r2 + 193a: 0fe2 bf 0x18fe // 18fe <__fpcmp_parts_d+0x26> + 193c: 644a cmpne r2, r1 + 193e: 0803 bt 0x1944 // 1944 <__fpcmp_parts_d+0x6c> + 1940: 6500 cmphs r0, r4 + 1942: 0fde bf 0x18fe // 18fe <__fpcmp_parts_d+0x26> + 1944: 6448 cmphs r2, r1 + 1946: 0805 bt 0x1950 // 1950 <__fpcmp_parts_d+0x78> + 1948: 3b40 cmpnei r3, 0 + 194a: 0fe3 bf 0x1910 // 1910 <__fpcmp_parts_d+0x38> + 194c: 3001 movi r0, 1 + 194e: 07db br 0x1904 // 1904 <__fpcmp_parts_d+0x2c> + 1950: 6486 cmpne r1, r2 + 1952: 0803 bt 0x1958 // 1958 <__fpcmp_parts_d+0x80> + 1954: 6410 cmphs r4, r0 + 1956: 0ff9 bf 0x1948 // 1948 <__fpcmp_parts_d+0x70> + 1958: 3000 movi r0, 0 + 195a: 1481 pop r4 + 195c: 9161 ld.w r3, (r1, 0x4) + 195e: 9041 ld.w r2, (r0, 0x4) + 1960: 5b09 subu r0, r3, r2 + 1962: 1481 pop r4 + +00001964 <__memset_fast>: + 1964: 14c3 push r4-r6 + 1966: 7444 zextb r1, r1 + 1968: 3a40 cmpnei r2, 0 + 196a: 0c1f bf 0x19a8 // 19a8 <__memset_fast+0x44> + 196c: 6d43 mov r5, r0 + 196e: 6d03 mov r4, r0 + 1970: 3603 movi r6, 3 + 1972: 6918 and r4, r6 + 1974: 3c40 cmpnei r4, 0 + 1976: 0c1a bf 0x19aa // 19aa <__memset_fast+0x46> + 1978: a520 st.b r1, (r5, 0x0) + 197a: 2a00 subi r2, 1 + 197c: 3a40 cmpnei r2, 0 + 197e: 0c15 bf 0x19a8 // 19a8 <__memset_fast+0x44> + 1980: 2500 addi r5, 1 + 1982: 6d17 mov r4, r5 + 1984: 3603 movi r6, 3 + 1986: 6918 and r4, r6 + 1988: 3c40 cmpnei r4, 0 + 198a: 0c10 bf 0x19aa // 19aa <__memset_fast+0x46> + 198c: a520 st.b r1, (r5, 0x0) + 198e: 2a00 subi r2, 1 + 1990: 3a40 cmpnei r2, 0 + 1992: 0c0b bf 0x19a8 // 19a8 <__memset_fast+0x44> + 1994: 2500 addi r5, 1 + 1996: 6d17 mov r4, r5 + 1998: 3603 movi r6, 3 + 199a: 6918 and r4, r6 + 199c: 3c40 cmpnei r4, 0 + 199e: 0c06 bf 0x19aa // 19aa <__memset_fast+0x46> + 19a0: a520 st.b r1, (r5, 0x0) + 19a2: 2a00 subi r2, 1 + 19a4: 2500 addi r5, 1 + 19a6: 0402 br 0x19aa // 19aa <__memset_fast+0x46> + 19a8: 1483 pop r4-r6 + 19aa: 4168 lsli r3, r1, 8 + 19ac: 6c4c or r1, r3 + 19ae: 4170 lsli r3, r1, 16 + 19b0: 6c4c or r1, r3 + 19b2: 3a2f cmplti r2, 16 + 19b4: 0809 bt 0x19c6 // 19c6 <__memset_fast+0x62> + 19b6: b520 st.w r1, (r5, 0x0) + 19b8: b521 st.w r1, (r5, 0x4) + 19ba: b522 st.w r1, (r5, 0x8) + 19bc: b523 st.w r1, (r5, 0xc) + 19be: 2a0f subi r2, 16 + 19c0: 250f addi r5, 16 + 19c2: 3a2f cmplti r2, 16 + 19c4: 0ff9 bf 0x19b6 // 19b6 <__memset_fast+0x52> + 19c6: 3a23 cmplti r2, 4 + 19c8: 0806 bt 0x19d4 // 19d4 <__memset_fast+0x70> + 19ca: 2a03 subi r2, 4 + 19cc: b520 st.w r1, (r5, 0x0) + 19ce: 2503 addi r5, 4 + 19d0: 3a23 cmplti r2, 4 + 19d2: 0ffc bf 0x19ca // 19ca <__memset_fast+0x66> + 19d4: 3a40 cmpnei r2, 0 + 19d6: 0fe9 bf 0x19a8 // 19a8 <__memset_fast+0x44> + 19d8: 2a00 subi r2, 1 + 19da: a520 st.b r1, (r5, 0x0) + 19dc: 3a40 cmpnei r2, 0 + 19de: 0fe5 bf 0x19a8 // 19a8 <__memset_fast+0x44> + 19e0: 2a00 subi r2, 1 + 19e2: a521 st.b r1, (r5, 0x1) + 19e4: 3a40 cmpnei r2, 0 + 19e6: 0fe1 bf 0x19a8 // 19a8 <__memset_fast+0x44> + 19e8: a522 st.b r1, (r5, 0x2) + 19ea: 1483 pop r4-r6 + +000019ec <__memcpy_fast>: + 19ec: 14c3 push r4-r6 + 19ee: 6d83 mov r6, r0 + 19f0: 6d07 mov r4, r1 + 19f2: 6d18 or r4, r6 + 19f4: 3303 movi r3, 3 + 19f6: 690c and r4, r3 + 19f8: 3c40 cmpnei r4, 0 + 19fa: 0c0b bf 0x1a10 // 1a10 <__memcpy_fast+0x24> + 19fc: 3a40 cmpnei r2, 0 + 19fe: 0c08 bf 0x1a0e // 1a0e <__memcpy_fast+0x22> + 1a00: 8160 ld.b r3, (r1, 0x0) + 1a02: 2100 addi r1, 1 + 1a04: 2a00 subi r2, 1 + 1a06: a660 st.b r3, (r6, 0x0) + 1a08: 2600 addi r6, 1 + 1a0a: 3a40 cmpnei r2, 0 + 1a0c: 0bfa bt 0x1a00 // 1a00 <__memcpy_fast+0x14> + 1a0e: 1483 pop r4-r6 + 1a10: 3a2f cmplti r2, 16 + 1a12: 080e bt 0x1a2e // 1a2e <__memcpy_fast+0x42> + 1a14: 91a0 ld.w r5, (r1, 0x0) + 1a16: 9161 ld.w r3, (r1, 0x4) + 1a18: 9182 ld.w r4, (r1, 0x8) + 1a1a: b6a0 st.w r5, (r6, 0x0) + 1a1c: 91a3 ld.w r5, (r1, 0xc) + 1a1e: b661 st.w r3, (r6, 0x4) + 1a20: b682 st.w r4, (r6, 0x8) + 1a22: b6a3 st.w r5, (r6, 0xc) + 1a24: 2a0f subi r2, 16 + 1a26: 210f addi r1, 16 + 1a28: 260f addi r6, 16 + 1a2a: 3a2f cmplti r2, 16 + 1a2c: 0ff4 bf 0x1a14 // 1a14 <__memcpy_fast+0x28> + 1a2e: 3a23 cmplti r2, 4 + 1a30: 0808 bt 0x1a40 // 1a40 <__memcpy_fast+0x54> + 1a32: 9160 ld.w r3, (r1, 0x0) + 1a34: 2a03 subi r2, 4 + 1a36: 2103 addi r1, 4 + 1a38: b660 st.w r3, (r6, 0x0) + 1a3a: 2603 addi r6, 4 + 1a3c: 3a23 cmplti r2, 4 + 1a3e: 0ffa bf 0x1a32 // 1a32 <__memcpy_fast+0x46> + 1a40: 3a40 cmpnei r2, 0 + 1a42: 0fe6 bf 0x1a0e // 1a0e <__memcpy_fast+0x22> + 1a44: 8160 ld.b r3, (r1, 0x0) + 1a46: 2100 addi r1, 1 + 1a48: 2a00 subi r2, 1 + 1a4a: a660 st.b r3, (r6, 0x0) + 1a4c: 2600 addi r6, 1 + 1a4e: 07f9 br 0x1a40 // 1a40 <__memcpy_fast+0x54> + +Disassembly of section .text.__main: + +00001a50 <__main>: +extern char _bss_start[]; +extern char _ebss[]; + + +void __main( void ) +{ + 1a50: 14d0 push r15 + + /* if the start of data (dst) + is not equal to end of text (src) then + copy it, else it's already in the right place + */ + if( _start_data != _end_rodata ) { + 1a52: 1009 lrw r0, 0x20000000 // 1a74 <__main+0x24> + 1a54: 1029 lrw r1, 0x576c // 1a78 <__main+0x28> + 1a56: 6442 cmpne r0, r1 + 1a58: 0c05 bf 0x1a62 // 1a62 <__main+0x12> +// __memcpy_fast( dst, src, (_end_data - _start_data)); + memcpy( dst, src, (_end_data - _start_data)); + 1a5a: 1049 lrw r2, 0x200000a8 // 1a7c <__main+0x2c> + 1a5c: 6082 subu r2, r0 + 1a5e: e3ffffc7 bsr 0x19ec // 19ec <__memcpy_fast> + } + + /* zero the bss + */ + if( _ebss - _bss_start ) { + 1a62: 1048 lrw r2, 0x200007d0 // 1a80 <__main+0x30> + 1a64: 1008 lrw r0, 0x200000a8 // 1a84 <__main+0x34> + 1a66: 640a cmpne r2, r0 + 1a68: 0c05 bf 0x1a72 // 1a72 <__main+0x22> +// __memset_fast( _bss_start, 0x00, ( _ebss - _bss_start )); + memset( _bss_start, 0x00, ( _ebss - _bss_start )); + 1a6a: 6082 subu r2, r0 + 1a6c: 3100 movi r1, 0 + 1a6e: e3ffff7b bsr 0x1964 // 1964 <__memset_fast> + } + + +} + 1a72: 1490 pop r15 + 1a74: 20000000 .long 0x20000000 + 1a78: 0000576c .long 0x0000576c + 1a7c: 200000a8 .long 0x200000a8 + 1a80: 200007d0 .long 0x200007d0 + 1a84: 200000a8 .long 0x200000a8 + +Disassembly of section .text.SYSCON_General_CMD.part.0: + +00001a88 : +/*************************************************************/ +void SYSCON_General_CMD(FunctionalStatus NewState, SYSCON_General_CMD_TypeDef ENDIS_X ) +{ + if (NewState != DISABLE) + { + if(ENDIS_X==ENDIS_EMOSC) + 1a88: 3848 cmpnei r0, 8 + 1a8a: 080a bt 0x1a9e // 1a9e + GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFF00FFF)|0x00044000; //enable EMOSC PIN + 1a8c: 107a lrw r3, 0x2000004c // 1af4 + 1a8e: 32ff movi r2, 255 + 1a90: 9320 ld.w r1, (r3, 0x0) + 1a92: 9160 ld.w r3, (r1, 0x0) + 1a94: 424c lsli r2, r2, 12 + 1a96: 68c9 andn r3, r2 + 1a98: 3bae bseti r3, 14 + 1a9a: 3bb2 bseti r3, 18 + 1a9c: b160 st.w r3, (r1, 0x0) + SYSCON->GCER|=ENDIS_X; //enable SYSCON General Control + 1a9e: 1077 lrw r3, 0x2000005c // 1af8 + 1aa0: 9360 ld.w r3, (r3, 0x0) + 1aa2: 9341 ld.w r2, (r3, 0x4) + 1aa4: 6c80 or r2, r0 + 1aa6: b341 st.w r2, (r3, 0x4) + while(!(SYSCON->GCSR&ENDIS_X)); //check Enable? + 1aa8: 9343 ld.w r2, (r3, 0xc) + 1aaa: 6880 and r2, r0 + 1aac: 3a40 cmpnei r2, 0 + 1aae: 0ffd bf 0x1aa8 // 1aa8 + switch(ENDIS_X) + 1ab0: 3842 cmpnei r0, 2 + 1ab2: 0807 bt 0x1ac0 // 1ac0 + { + case ENDIS_IMOSC: + while (!(SYSCON->CKST & ENDIS_IMOSC)); + 1ab4: 3102 movi r1, 2 + 1ab6: 9344 ld.w r2, (r3, 0x10) + 1ab8: 6884 and r2, r1 + 1aba: 3a40 cmpnei r2, 0 + 1abc: 0ffd bf 0x1ab6 // 1ab6 + { + SYSCON->GCDR|=ENDIS_X; //disable SYSCON General Control + while(SYSCON->GCSR&ENDIS_X); //check Disable? + SYSCON->ICR|=ENDIS_X; //Clear ENDIS_X stable bit + } +} + 1abe: 783c jmp r15 + switch(ENDIS_X) + 1ac0: 3802 cmphsi r0, 3 + 1ac2: 0809 bt 0x1ad4 // 1ad4 + 1ac4: 3841 cmpnei r0, 1 + 1ac6: 0bfc bt 0x1abe // 1abe + while (!(SYSCON->CKST & ENDIS_ISOSC)); + 1ac8: 3101 movi r1, 1 + 1aca: 9344 ld.w r2, (r3, 0x10) + 1acc: 6884 and r2, r1 + 1ace: 3a40 cmpnei r2, 0 + 1ad0: 0ffd bf 0x1aca // 1aca + 1ad2: 07f6 br 0x1abe // 1abe + switch(ENDIS_X) + 1ad4: 3848 cmpnei r0, 8 + 1ad6: 0807 bt 0x1ae4 // 1ae4 + while (!(SYSCON->CKST & ENDIS_EMOSC)); + 1ad8: 3108 movi r1, 8 + 1ada: 9344 ld.w r2, (r3, 0x10) + 1adc: 6884 and r2, r1 + 1ade: 3a40 cmpnei r2, 0 + 1ae0: 0ffd bf 0x1ada // 1ada + 1ae2: 07ee br 0x1abe // 1abe + switch(ENDIS_X) + 1ae4: 3850 cmpnei r0, 16 + 1ae6: 0bec bt 0x1abe // 1abe + while (!(SYSCON->CKST & ENDIS_HFOSC)); + 1ae8: 3110 movi r1, 16 + 1aea: 9344 ld.w r2, (r3, 0x10) + 1aec: 6884 and r2, r1 + 1aee: 3a40 cmpnei r2, 0 + 1af0: 0ffd bf 0x1aea // 1aea + 1af2: 07e6 br 0x1abe // 1abe + 1af4: 2000004c .long 0x2000004c + 1af8: 2000005c .long 0x2000005c + +Disassembly of section .text.SYSCON_RST_VALUE: + +00001afc : + SYSCON->RAMCHK=SYSCON_RAMCHK_RST; + 1afc: 106c lrw r3, 0x2000005c // 1b2c + 1afe: 104d lrw r2, 0xffff // 1b30 + 1b00: 9360 ld.w r3, (r3, 0x0) + 1b02: b345 st.w r2, (r3, 0x14) + SYSCON->EFLCHK=SYSCON_EFLCHK_RST; + 1b04: 104c lrw r2, 0xffffff // 1b34 + 1b06: b346 st.w r2, (r3, 0x18) + SYSCON->SCLKCR=SYSCON_SCLKCR_RST; + 1b08: 104c lrw r2, 0xd22d0000 // 1b38 + 1b0a: b347 st.w r2, (r3, 0x1c) + SYSCON->OSTR=SYSCON_OSTR_RST; + 1b0c: 104c lrw r2, 0x70ff3bff // 1b3c + 1b0e: b350 st.w r2, (r3, 0x40) + SYSCON->LVDCR=SYSCON_LVDCR_RST; + 1b10: 320a movi r2, 10 + 1b12: b353 st.w r2, (r3, 0x4c) + SYSCON->IWDCR=SYSCON_IWDCR_RST; + 1b14: 102b lrw r1, 0x70c // 1b40 + SYSCON->EXIRT=SYSCON_EXIRT_RST; + 1b16: 237f addi r3, 128 + 1b18: 3200 movi r2, 0 + 1b1a: b345 st.w r2, (r3, 0x14) + SYSCON->EXIFT=SYSCON_EXIFT_RST; + 1b1c: b346 st.w r2, (r3, 0x18) + SYSCON->IWDCR=SYSCON_IWDCR_RST; + 1b1e: b32d st.w r1, (r3, 0x34) + SYSCON->IWDCNT=SYSCON_IWDCNT_RST; + 1b20: 1029 lrw r1, 0x3fe // 1b44 + 1b22: b32e st.w r1, (r3, 0x38) + SYSCON->EVTRG=SYSCON_EVTRG_RST; + 1b24: b35d st.w r2, (r3, 0x74) + SYSCON->EVPS=SYSCON_EVPS_RST; + 1b26: b35e st.w r2, (r3, 0x78) + SYSCON->EVSWF=SYSCON_EVSWF_RST; + 1b28: b35f st.w r2, (r3, 0x7c) +} + 1b2a: 783c jmp r15 + 1b2c: 2000005c .long 0x2000005c + 1b30: 0000ffff .long 0x0000ffff + 1b34: 00ffffff .long 0x00ffffff + 1b38: d22d0000 .long 0xd22d0000 + 1b3c: 70ff3bff .long 0x70ff3bff + 1b40: 0000070c .long 0x0000070c + 1b44: 000003fe .long 0x000003fe + +Disassembly of section .text.SYSCON_General_CMD: + +00001b48 : +{ + 1b48: 14d0 push r15 + if (NewState != DISABLE) + 1b4a: 3840 cmpnei r0, 0 + 1b4c: 0c05 bf 0x1b56 // 1b56 + 1b4e: 6c07 mov r0, r1 + 1b50: e3ffff9c bsr 0x1a88 // 1a88 +} + 1b54: 1490 pop r15 + SYSCON->GCDR|=ENDIS_X; //disable SYSCON General Control + 1b56: 1068 lrw r3, 0x2000005c // 1b74 + 1b58: 9360 ld.w r3, (r3, 0x0) + 1b5a: 9342 ld.w r2, (r3, 0x8) + 1b5c: 6c84 or r2, r1 + 1b5e: b342 st.w r2, (r3, 0x8) + while(SYSCON->GCSR&ENDIS_X); //check Disable? + 1b60: 9343 ld.w r2, (r3, 0xc) + 1b62: 6884 and r2, r1 + 1b64: 3a40 cmpnei r2, 0 + 1b66: 0bfd bt 0x1b60 // 1b60 + SYSCON->ICR|=ENDIS_X; //Clear ENDIS_X stable bit + 1b68: 237f addi r3, 128 + 1b6a: 9301 ld.w r0, (r3, 0x4) + 1b6c: 6c40 or r1, r0 + 1b6e: b321 st.w r1, (r3, 0x4) +} + 1b70: 07f2 br 0x1b54 // 1b54 + 1b72: 0000 bkpt + 1b74: 2000005c .long 0x2000005c + +Disassembly of section .text.SystemCLK_HCLKDIV_PCLKDIV_Config: + +00001b78 : +//SystemClk_data_x:EMOSC_24M,EMOSC_16M,EMOSC_12M,EMOSC_8M,EMOSC_4M,EMOSC_36K, +//ISOSC,IMOSC,HFOSC_48M,HFOSC_24M,HFOSC_12M,HFOSC_6M +//ReturnValue:NONE +/*************************************************************/ +void SystemCLK_HCLKDIV_PCLKDIV_Config(SystemCLK_TypeDef SYSCLK_X , SystemCLK_Div_TypeDef HCLK_DIV_X , PCLK_Div_TypeDef PCLK_DIV_X , SystemClk_data_TypeDef SystemClk_data_x ) +{ + 1b78: 14c2 push r4-r5 + if(SystemClk_data_x==HFOSC_48M) + 1b7a: 3b48 cmpnei r3, 8 + 1b7c: 0828 bt 0x1bcc // 1bcc + { + IFC->CEDR=0X01; //CLKEN + 1b7e: 109d lrw r4, 0x20000060 // 1bf0 + 1b80: 3501 movi r5, 1 + 1b82: 9480 ld.w r4, (r4, 0x0) + 1b84: b4a1 st.w r5, (r4, 0x4) + IFC->MR=0X04|(0X00<<16); //High speed mode + 1b86: 3504 movi r5, 4 + 1b88: b4a5 st.w r5, (r4, 0x14) + if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==HFOSC_24M)) + { + IFC->CEDR=0X01; //CLKEN + IFC->MR=0X02|(0X00<<16); //Medium speed mode + } + if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==EMOSC_16M)) + 1b8a: 5b83 subi r4, r3, 1 + 1b8c: 3c01 cmphsi r4, 2 + 1b8e: 0c2b bf 0x1be4 // 1be4 + { + IFC->CEDR=0X01; //CLKEN + IFC->MR=0X01|(0X00<<16); //Low speed mode + } + if((SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K) + ||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_6M)) + 1b90: 5b8b subi r4, r3, 3 + if((SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K) + 1b92: 3c04 cmphsi r4, 5 + 1b94: 0c03 bf 0x1b9a // 1b9a + ||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_6M)) + 1b96: 3b4b cmpnei r3, 11 + 1b98: 0807 bt 0x1ba6 // 1ba6 + { + IFC->CEDR=0X01; //CLKEN + 1b9a: 1076 lrw r3, 0x20000060 // 1bf0 + 1b9c: 3401 movi r4, 1 + 1b9e: 9360 ld.w r3, (r3, 0x0) + 1ba0: b381 st.w r4, (r3, 0x4) + IFC->MR=0X00|(0X00<<16); //Low speed mode + 1ba2: 3400 movi r4, 0 + 1ba4: b385 st.w r4, (r3, 0x14) + } + SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X; + 1ba6: 1094 lrw r4, 0xd22d0000 // 1bf4 + 1ba8: 6c10 or r0, r4 + 1baa: 1074 lrw r3, 0x2000005c // 1bf8 + 1bac: 6c40 or r1, r0 + 1bae: 9360 ld.w r3, (r3, 0x0) + while (!(SYSCON->CKST & (1<<8))); // waiting for sysclk stable + 1bb0: 3080 movi r0, 128 + SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X; + 1bb2: b327 st.w r1, (r3, 0x1c) + while (!(SYSCON->CKST & (1<<8))); // waiting for sysclk stable + 1bb4: 4001 lsli r0, r0, 1 + 1bb6: 9324 ld.w r1, (r3, 0x10) + 1bb8: 6840 and r1, r0 + 1bba: 3940 cmpnei r1, 0 + 1bbc: 0ffd bf 0x1bb6 // 1bb6 + SYSCON->PCLKCR=PCLK_KEY|PCLK_DIV_X; //PCLK DIV 1 2 4 6 8 16 + 1bbe: 1030 lrw r1, 0xc33c0000 // 1bfc + 1bc0: 6c48 or r1, r2 + 1bc2: b328 st.w r1, (r3, 0x20) + while(SYSCON->PCLKCR!=PCLK_DIV_X); //Wait PCLK DIV + 1bc4: 9328 ld.w r1, (r3, 0x20) + 1bc6: 644a cmpne r2, r1 + 1bc8: 0bfe bt 0x1bc4 // 1bc4 +} + 1bca: 1482 pop r4-r5 + if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==HFOSC_24M)) + 1bcc: 3b40 cmpnei r3, 0 + 1bce: 0c03 bf 0x1bd4 // 1bd4 + 1bd0: 3b49 cmpnei r3, 9 + 1bd2: 0807 bt 0x1be0 // 1be0 + IFC->CEDR=0X01; //CLKEN + 1bd4: 1087 lrw r4, 0x20000060 // 1bf0 + 1bd6: 3501 movi r5, 1 + 1bd8: 9480 ld.w r4, (r4, 0x0) + 1bda: b4a1 st.w r5, (r4, 0x4) + IFC->MR=0X02|(0X00<<16); //Medium speed mode + 1bdc: 3502 movi r5, 2 + 1bde: b4a5 st.w r5, (r4, 0x14) + if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==EMOSC_16M)) + 1be0: 3b4a cmpnei r3, 10 + 1be2: 0bd4 bt 0x1b8a // 1b8a + IFC->CEDR=0X01; //CLKEN + 1be4: 1083 lrw r4, 0x20000060 // 1bf0 + 1be6: 3501 movi r5, 1 + 1be8: 9480 ld.w r4, (r4, 0x0) + 1bea: b4a1 st.w r5, (r4, 0x4) + IFC->MR=0X01|(0X00<<16); //Low speed mode + 1bec: b4a5 st.w r5, (r4, 0x14) + 1bee: 07d1 br 0x1b90 // 1b90 + 1bf0: 20000060 .long 0x20000060 + 1bf4: d22d0000 .long 0xd22d0000 + 1bf8: 2000005c .long 0x2000005c + 1bfc: c33c0000 .long 0xc33c0000 + +Disassembly of section .text.SYSCON_HFOSC_SELECTE: + +00001c00 : +//EntryParameter:HFOSC_SELECTE_X +//HFOSC_SELECTE_X:HFOSC_SELECTE_48M,HFOSC_SELECTE_24M;HFOSC_SELECTE_12M;HFOSC_SELECTE_6M +//ReturnValue:NONE +/*************************************************************/ +void SYSCON_HFOSC_SELECTE(HFOSC_SELECTE_TypeDef HFOSC_SELECTE_X) +{ + 1c00: 14d1 push r4, r15 + 1c02: 6d03 mov r4, r0 + SYSCON_General_CMD(DISABLE,ENDIS_HFOSC); //disable HFOSC + 1c04: 3110 movi r1, 16 + 1c06: 3000 movi r0, 0 + 1c08: e3ffffa0 bsr 0x1b48 // 1b48 + SYSCON->OPT1 = (SYSCON->OPT1 & 0XFFFFFFCF)|HFOSC_SELECTE_X; + 1c0c: 1066 lrw r3, 0x2000005c // 1c24 + 1c0e: 9360 ld.w r3, (r3, 0x0) + 1c10: 9319 ld.w r0, (r3, 0x64) + 1c12: 3884 bclri r0, 4 + 1c14: 3885 bclri r0, 5 + 1c16: 6c10 or r0, r4 + 1c18: b319 st.w r0, (r3, 0x64) + 1c1a: 3010 movi r0, 16 + 1c1c: e3ffff36 bsr 0x1a88 // 1a88 + SYSCON_General_CMD(ENABLE,ENDIS_HFOSC); //enable HFOSC +} + 1c20: 1491 pop r4, r15 + 1c22: 0000 bkpt + 1c24: 2000005c .long 0x2000005c + +Disassembly of section .text.SYSCON_WDT_CMD: + +00001c28 : +//EntryParameter:,NewState +//NewState:ENABLE,DISABLE +//ReturnValue:NONE +/*************************************************************/ +void SYSCON_WDT_CMD(FunctionalStatus NewState) +{ + 1c28: 106c lrw r3, 0x2000005c // 1c58 + if(NewState != DISABLE) + 1c2a: 3840 cmpnei r0, 0 + { + SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT; + 1c2c: 9360 ld.w r3, (r3, 0x0) + 1c2e: 237f addi r3, 128 + if(NewState != DISABLE) + 1c30: 0c0a bf 0x1c44 // 1c44 + SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT; + 1c32: 104b lrw r2, 0x78870000 // 1c5c + while(!(SYSCON->IWDCR&Check_IWDT_BUSY)); + 1c34: 3180 movi r1, 128 + SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT; + 1c36: b34f st.w r2, (r3, 0x3c) + while(!(SYSCON->IWDCR&Check_IWDT_BUSY)); + 1c38: 4125 lsli r1, r1, 5 + 1c3a: 934d ld.w r2, (r3, 0x34) + 1c3c: 6884 and r2, r1 + 1c3e: 3a40 cmpnei r2, 0 + 1c40: 0ffd bf 0x1c3a // 1c3a + else + { + SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT; + while(SYSCON->IWDCR&Check_IWDT_BUSY); + } +} + 1c42: 783c jmp r15 + SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT; + 1c44: 1047 lrw r2, 0x788755aa // 1c60 + while(SYSCON->IWDCR&Check_IWDT_BUSY); + 1c46: 3180 movi r1, 128 + SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT; + 1c48: b34f st.w r2, (r3, 0x3c) + while(SYSCON->IWDCR&Check_IWDT_BUSY); + 1c4a: 4125 lsli r1, r1, 5 + 1c4c: 934d ld.w r2, (r3, 0x34) + 1c4e: 6884 and r2, r1 + 1c50: 3a40 cmpnei r2, 0 + 1c52: 0bfd bt 0x1c4c // 1c4c + 1c54: 07f7 br 0x1c42 // 1c42 + 1c56: 0000 bkpt + 1c58: 2000005c .long 0x2000005c + 1c5c: 78870000 .long 0x78870000 + 1c60: 788755aa .long 0x788755aa + +Disassembly of section .text.SYSCON_IWDCNT_Reload: + +00001c64 : +//EntryParameter:NONE +//ReturnValue: NONE +/*************************************************************/ +void SYSCON_IWDCNT_Reload(void) +{ + SYSCON->IWDCNT=CLR_IWDT; + 1c64: 1064 lrw r3, 0x2000005c // 1c74 + 1c66: 32b4 movi r2, 180 + 1c68: 9360 ld.w r3, (r3, 0x0) + 1c6a: 237f addi r3, 128 + 1c6c: 4257 lsli r2, r2, 23 + 1c6e: b34e st.w r2, (r3, 0x38) +} + 1c70: 783c jmp r15 + 1c72: 0000 bkpt + 1c74: 2000005c .long 0x2000005c + +Disassembly of section .text.SYSCON_IWDCNT_Config: + +00001c78 : +//IWDT_INTW_DIV_X:IWDT_INTW_DIV_1/2/3/4/4/5/6 +//ReturnValue: NONE +/*************************************************************/ +void SYSCON_IWDCNT_Config(IWDT_TIME_TypeDef IWDT_TIME_X , IWDT_TIMEDIV_TypeDef IWDT_INTW_DIV_X ) +{ + SYSCON->IWDCR=IWDT_KEY|IWDT_TIME_X|IWDT_INTW_DIV_X; + 1c78: 1044 lrw r2, 0x87780000 // 1c88 + 1c7a: 1065 lrw r3, 0x2000005c // 1c8c + 1c7c: 6c48 or r1, r2 + 1c7e: 9360 ld.w r3, (r3, 0x0) + 1c80: 6c04 or r0, r1 + 1c82: 237f addi r3, 128 + 1c84: b30d st.w r0, (r3, 0x34) +} + 1c86: 783c jmp r15 + 1c88: 87780000 .long 0x87780000 + 1c8c: 2000005c .long 0x2000005c + +Disassembly of section .text.SYSCON_LVD_Config: + +00001c90 : +//X_LVD_INT:ENABLE_LVD_INT,DISABLE_LVD_INT +//INTDET_POL_X:INTDET_POL_fall,INTDET_POL_X_rise,INTDET_POL_X_riseORfall +//ReturnValue: NONE +/*************************************************************/ +void SYSCON_LVD_Config(X_LVDEN_TypeDef X_LVDEN , INTDET_LVL_X_TypeDef INTDET_LVL_X , RSTDET_LVL_X_TypeDef RSTDET_LVL_X , X_LVD_INT_TypeDef X_LVD_INT , INTDET_POL_X_TypeDef INTDET_POL_X) +{ + 1c90: 14c3 push r4-r6 + 1c92: 9883 ld.w r4, (r14, 0xc) + //SYSCON->LVDCR=LVD_KEY; + SYSCON->LVDCR=LVD_KEY|X_LVDEN|INTDET_LVL_X|RSTDET_LVL_X|X_LVD_INT|INTDET_POL_X; + 1c94: 10c5 lrw r6, 0xb44b0000 // 1ca8 + 1c96: 6d18 or r4, r6 + 1c98: 6cd0 or r3, r4 + 1c9a: 6c8c or r2, r3 + 1c9c: 6c48 or r1, r2 + 1c9e: 10a4 lrw r5, 0x2000005c // 1cac + 1ca0: 6c04 or r0, r1 + 1ca2: 95a0 ld.w r5, (r5, 0x0) + 1ca4: b513 st.w r0, (r5, 0x4c) +} + 1ca6: 1483 pop r4-r6 + 1ca8: b44b0000 .long 0xb44b0000 + 1cac: 2000005c .long 0x2000005c + +Disassembly of section .text.LVD_Int_Enable: + +00001cb0 : +//EntryParameter:NONE +//ReturnValue: NONE +/*************************************************************/ +void LVD_Int_Enable(void) +{ + SYSCON->ICR = LVD_INT_ST; //clear LVD INT status + 1cb0: 1066 lrw r3, 0x2000005c // 1cc8 + 1cb2: 3180 movi r1, 128 + 1cb4: 9360 ld.w r3, (r3, 0x0) + 1cb6: 3280 movi r2, 128 + 1cb8: 604c addu r1, r3 + 1cba: 4244 lsli r2, r2, 4 + 1cbc: b141 st.w r2, (r1, 0x4) + SYSCON->IMER |= LVD_INT_ST; + 1cbe: 935d ld.w r2, (r3, 0x74) + 1cc0: 3aab bseti r2, 11 + 1cc2: b35d st.w r2, (r3, 0x74) +} + 1cc4: 783c jmp r15 + 1cc6: 0000 bkpt + 1cc8: 2000005c .long 0x2000005c + +Disassembly of section .text.IWDT_Int_Enable: + +00001ccc : +//EntryParameter:NONE +//ReturnValue: NONE +/*************************************************************/ +void IWDT_Int_Enable(void) +{ + SYSCON->ICR = IWDT_INT_ST; //clear LVD INT status + 1ccc: 1066 lrw r3, 0x2000005c // 1ce4 + 1cce: 3180 movi r1, 128 + 1cd0: 9360 ld.w r3, (r3, 0x0) + 1cd2: 3280 movi r2, 128 + 1cd4: 604c addu r1, r3 + 1cd6: 4241 lsli r2, r2, 1 + 1cd8: b141 st.w r2, (r1, 0x4) + SYSCON->IMER |= IWDT_INT_ST; + 1cda: 935d ld.w r2, (r3, 0x74) + 1cdc: 3aa8 bseti r2, 8 + 1cde: b35d st.w r2, (r3, 0x74) +} + 1ce0: 783c jmp r15 + 1ce2: 0000 bkpt + 1ce4: 2000005c .long 0x2000005c + +Disassembly of section .text.EXTI_trigger_CMD: + +00001ce8 : +//EXI_tringer_mode:_EXIRT,_EXIFT +//ReturnValue: LVD detection flag +/*************************************************************/ +void EXTI_trigger_CMD(FunctionalStatus NewState , SYSCON_EXIPIN_TypeDef EXIPIN , EXI_tringer_mode_TypeDef EXI_tringer_mode) +{ + switch(EXI_tringer_mode) + 1ce8: 3a40 cmpnei r2, 0 + 1cea: 0c04 bf 0x1cf2 // 1cf2 + 1cec: 3a41 cmpnei r2, 1 + 1cee: 0c0e bf 0x1d0a // 1d0a + { + SYSCON->EXIFT &=~EXIPIN; + } + break; + } +} + 1cf0: 783c jmp r15 + 1cf2: 106d lrw r3, 0x2000005c // 1d24 + if(NewState != DISABLE) + 1cf4: 3840 cmpnei r0, 0 + SYSCON->EXIRT |=EXIPIN; + 1cf6: 9360 ld.w r3, (r3, 0x0) + 1cf8: 237f addi r3, 128 + 1cfa: 9345 ld.w r2, (r3, 0x14) + if(NewState != DISABLE) + 1cfc: 0c04 bf 0x1d04 // 1d04 + SYSCON->EXIRT |=EXIPIN; + 1cfe: 6c48 or r1, r2 + 1d00: b325 st.w r1, (r3, 0x14) + 1d02: 07f7 br 0x1cf0 // 1cf0 + SYSCON->EXIRT &=~EXIPIN; + 1d04: 6885 andn r2, r1 + 1d06: b345 st.w r2, (r3, 0x14) + 1d08: 07f4 br 0x1cf0 // 1cf0 + 1d0a: 1067 lrw r3, 0x2000005c // 1d24 + if(NewState != DISABLE) + 1d0c: 3840 cmpnei r0, 0 + SYSCON->EXIFT |=EXIPIN; + 1d0e: 9360 ld.w r3, (r3, 0x0) + 1d10: 237f addi r3, 128 + 1d12: 9346 ld.w r2, (r3, 0x18) + if(NewState != DISABLE) + 1d14: 0c04 bf 0x1d1c // 1d1c + SYSCON->EXIFT |=EXIPIN; + 1d16: 6c48 or r1, r2 + 1d18: b326 st.w r1, (r3, 0x18) + 1d1a: 07eb br 0x1cf0 // 1cf0 + SYSCON->EXIFT &=~EXIPIN; + 1d1c: 6885 andn r2, r1 + 1d1e: b346 st.w r2, (r3, 0x18) +} + 1d20: 07e8 br 0x1cf0 // 1cf0 + 1d22: 0000 bkpt + 1d24: 2000005c .long 0x2000005c + +Disassembly of section .text.EXTI_interrupt_CMD: + +00001d28 : +//NewState:ENABLE,DISABLE +//ReturnValue:NONE +/*************************************************************/ +void EXTI_interrupt_CMD(FunctionalStatus NewState , SYSCON_EXIPIN_TypeDef EXIPIN) +{ + SYSCON->EXICR = 0X3FFF; //Claer EXI INT status + 1d28: 106b lrw r3, 0x2000005c // 1d54 + 1d2a: 104c lrw r2, 0x3fff // 1d58 + 1d2c: 9360 ld.w r3, (r3, 0x0) + 1d2e: 237f addi r3, 128 + if(NewState != DISABLE) + 1d30: 3840 cmpnei r0, 0 + SYSCON->EXICR = 0X3FFF; //Claer EXI INT status + 1d32: b34b st.w r2, (r3, 0x2c) + if(NewState != DISABLE) + 1d34: 0c0c bf 0x1d4c // 1d4c + { + SYSCON->EXIER|=EXIPIN; //EXI4 interrupt enable + 1d36: 9347 ld.w r2, (r3, 0x1c) + 1d38: 6c84 or r2, r1 + 1d3a: b347 st.w r2, (r3, 0x1c) + while(!(SYSCON->EXIMR&EXIPIN)); //Check EXI is enabled or not + 1d3c: 9349 ld.w r2, (r3, 0x24) + 1d3e: 6884 and r2, r1 + 1d40: 3a40 cmpnei r2, 0 + 1d42: 0ffd bf 0x1d3c // 1d3c + SYSCON->EXICR |=EXIPIN; // Clear EXI status bit + 1d44: 934b ld.w r2, (r3, 0x2c) + 1d46: 6c48 or r1, r2 + 1d48: b32b st.w r1, (r3, 0x2c) + } + else + { + SYSCON->EXIDR|=EXIPIN; + } +} + 1d4a: 783c jmp r15 + SYSCON->EXIDR|=EXIPIN; + 1d4c: 9348 ld.w r2, (r3, 0x20) + 1d4e: 6c48 or r1, r2 + 1d50: b328 st.w r1, (r3, 0x20) +} + 1d52: 07fc br 0x1d4a // 1d4a + 1d54: 2000005c .long 0x2000005c + 1d58: 00003fff .long 0x00003fff + +Disassembly of section .text.GPIO_EXTI_interrupt: + +00001d5c : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void GPIO_EXTI_interrupt(CSP_GPIO_T * GPIOX,U32_T GPIO_IECR_VALUE) +{ + GPIOX->IECR=GPIO_IECR_VALUE; + 1d5c: b02b st.w r1, (r0, 0x2c) +} + 1d5e: 783c jmp r15 + +Disassembly of section .text.EXI3_Int_Enable: + +00001d60 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI3_Int_Enable(void) +{ + INTC_ISER_WRITE(EXI3_INT); + 1d60: 3380 movi r3, 128 + 1d62: 436f lsli r3, r3, 15 + 1d64: 1042 lrw r2, 0xe000e100 // 1d6c + 1d66: b260 st.w r3, (r2, 0x0) +} + 1d68: 783c jmp r15 + 1d6a: 0000 bkpt + 1d6c: e000e100 .long 0xe000e100 + +Disassembly of section .text.SYSCON_Int_Enable: + +00001d70 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SYSCON_Int_Enable(void) +{ + INTC_ISER_WRITE(SYSCON_INT); + 1d70: 3202 movi r2, 2 + 1d72: 1062 lrw r3, 0xe000e100 // 1d78 + 1d74: b340 st.w r2, (r3, 0x0) +} + 1d76: 783c jmp r15 + 1d78: e000e100 .long 0xe000e100 + +Disassembly of section .text.SYSCON_Int_Disable: + +00001d7c : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SYSCON_Int_Disable(void) +{ + INTC_ICER_WRITE(SYSCON_INT); + 1d7c: 3202 movi r2, 2 + 1d7e: 1062 lrw r3, 0xe000e180 // 1d84 + 1d80: b340 st.w r2, (r3, 0x0) +} + 1d82: 783c jmp r15 + 1d84: e000e180 .long 0xe000e180 + +Disassembly of section .text.SYSCON_INT_Priority: + +00001d88 : +//80:Priority 2 +//C0:Priority 3 lowest +/*************************************************************/ +void SYSCON_INT_Priority(void) +{ + INTC_IPR0_WRITE(0XC0C0C0C0); //IQR0-3 low bit-->high bit + 1d88: 1066 lrw r3, 0xe000e400 // 1da0 + 1d8a: 1047 lrw r2, 0xc0c0c0c0 // 1da4 + INTC_IPR1_WRITE(0XC0C0C0C0); //IQR4-7 + INTC_IPR2_WRITE(0XC0C0C0C0); //IQR8-11 + INTC_IPR3_WRITE(0XC0C0C0C0); //IQR12-15 + INTC_IPR4_WRITE(0XC0C0C0C0); //IQR16-19 + INTC_IPR5_WRITE(0XC0C0C0C0); //IQR20-23 + INTC_IPR6_WRITE(0XC0C000C0); //IQR24-27 + 1d8c: 1027 lrw r1, 0xc0c000c0 // 1da8 + INTC_IPR0_WRITE(0XC0C0C0C0); //IQR0-3 low bit-->high bit + 1d8e: b340 st.w r2, (r3, 0x0) + INTC_IPR1_WRITE(0XC0C0C0C0); //IQR4-7 + 1d90: b341 st.w r2, (r3, 0x4) + INTC_IPR2_WRITE(0XC0C0C0C0); //IQR8-11 + 1d92: b342 st.w r2, (r3, 0x8) + INTC_IPR3_WRITE(0XC0C0C0C0); //IQR12-15 + 1d94: b343 st.w r2, (r3, 0xc) + INTC_IPR4_WRITE(0XC0C0C0C0); //IQR16-19 + 1d96: b344 st.w r2, (r3, 0x10) + INTC_IPR5_WRITE(0XC0C0C0C0); //IQR20-23 + 1d98: b345 st.w r2, (r3, 0x14) + INTC_IPR6_WRITE(0XC0C000C0); //IQR24-27 + 1d9a: b326 st.w r1, (r3, 0x18) + INTC_IPR7_WRITE(0XC0C0C0C0); //IQR28-31 + 1d9c: b347 st.w r2, (r3, 0x1c) +} + 1d9e: 783c jmp r15 + 1da0: e000e400 .long 0xe000e400 + 1da4: c0c0c0c0 .long 0xc0c0c0c0 + 1da8: c0c000c0 .long 0xc0c000c0 + +Disassembly of section .text.Set_INT_Priority: + +00001dac : +//int_name:CORET_IRQ~BT1_IRQ +//int_level:0~3 0=highest 3=lowest +//ReturnValue:None +/*************************************************************/ +void Set_INT_Priority(U8_T int_name,U8_T int_level) +{ + 1dac: 14c1 push r4 + 1dae: 4862 lsri r3, r0, 2 + 1db0: 4342 lsli r2, r3, 2 + 1db2: 106a lrw r3, 0x20000064 // 1dd8 + U8_T i_temp,j_temp; + U32_T k_temp; + i_temp=(int_name%4)*8; + 1db4: 3403 movi r4, 3 + 1db6: 9360 ld.w r3, (r3, 0x0) + 1db8: 60c8 addu r3, r2 + j_temp=int_name/4; + k_temp=CK801 -> IPR[j_temp]&(~(0xff< IPR[j_temp]&(~(0xff< IPR[j_temp]=k_temp|((int_level*0x40)<<(i_temp)); + 1dca: 4126 lsli r1, r1, 6 + k_temp=CK801 -> IPR[j_temp]&(~(0xff< IPR[j_temp]=k_temp|((int_level*0x40)<<(i_temp)); + 1dce: 7040 lsl r1, r0 + 1dd0: 6c48 or r1, r2 + 1dd2: b320 st.w r1, (r3, 0x0) +} + 1dd4: 1481 pop r4 + 1dd6: 0000 bkpt + 1dd8: 20000064 .long 0x20000064 + +Disassembly of section .text.GPIO_DeInit: + +00001ddc : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void GPIO_DeInit(void) +{ + GPIOA0->CONLR &= 0xFF000000; + 1ddc: 1075 lrw r3, 0x2000004c // 1e30 + GPIOA0->CONHR = GPIO_RESET_VALUE; + GPIOB0->CONLR = GPIO_RESET_VALUE; + 1dde: 1036 lrw r1, 0x20000048 // 1e34 + GPIOB0->CODR = GPIO_RESET_VALUE; + GPIOA0->ODSR = GPIO_RESET_VALUE; + GPIOB0->ODSR = GPIO_RESET_VALUE; + GPIOA0->PSDR = GPIO_RESET_VALUE; + GPIOB0->PSDR = GPIO_RESET_VALUE; + GPIOA0->FLTEN = 0xffff; + 1de0: 1016 lrw r0, 0xffff // 1e38 + GPIOA0->CONLR &= 0xFF000000; + 1de2: 9340 ld.w r2, (r3, 0x0) + 1de4: 9260 ld.w r3, (r2, 0x0) + 1de6: 4b78 lsri r3, r3, 24 + 1de8: 4378 lsli r3, r3, 24 + 1dea: b260 st.w r3, (r2, 0x0) + GPIOB0->CONLR = GPIO_RESET_VALUE; + 1dec: 9120 ld.w r1, (r1, 0x0) + GPIOA0->CONHR = GPIO_RESET_VALUE; + 1dee: 3300 movi r3, 0 + 1df0: b261 st.w r3, (r2, 0x4) + GPIOB0->CONLR = GPIO_RESET_VALUE; + 1df2: b160 st.w r3, (r1, 0x0) + GPIOB0->CONHR = GPIO_RESET_VALUE; + 1df4: b161 st.w r3, (r1, 0x4) + GPIOA0->WODR = GPIO_RESET_VALUE; + 1df6: b262 st.w r3, (r2, 0x8) + GPIOB0->WODR = GPIO_RESET_VALUE; + 1df8: b162 st.w r3, (r1, 0x8) + GPIOA0->SODR = GPIO_RESET_VALUE; + 1dfa: b263 st.w r3, (r2, 0xc) + GPIOB0->SODR = GPIO_RESET_VALUE; + 1dfc: b163 st.w r3, (r1, 0xc) + GPIOA0->CODR = GPIO_RESET_VALUE; + 1dfe: b264 st.w r3, (r2, 0x10) + GPIOB0->CODR = GPIO_RESET_VALUE; + 1e00: b164 st.w r3, (r1, 0x10) + GPIOA0->ODSR = GPIO_RESET_VALUE; + 1e02: b265 st.w r3, (r2, 0x14) + GPIOB0->ODSR = GPIO_RESET_VALUE; + 1e04: b165 st.w r3, (r1, 0x14) + GPIOA0->PSDR = GPIO_RESET_VALUE; + 1e06: b266 st.w r3, (r2, 0x18) + GPIOB0->PSDR = GPIO_RESET_VALUE; + 1e08: b166 st.w r3, (r1, 0x18) + GPIOA0->FLTEN = 0xffff; + 1e0a: b207 st.w r0, (r2, 0x1c) + GPIOB0->FLTEN = 0x3f; + 1e0c: 303f movi r0, 63 + 1e0e: b107 st.w r0, (r1, 0x1c) + GPIOA0->PUDR = GPIO_RESET_VALUE; + 1e10: b268 st.w r3, (r2, 0x20) + GPIOB0->PUDR = GPIO_RESET_VALUE; + 1e12: b168 st.w r3, (r1, 0x20) + GPIOA0->DSCR = GPIO_RESET_VALUE; + 1e14: b269 st.w r3, (r2, 0x24) + GPIOB0->DSCR = GPIO_RESET_VALUE; + 1e16: b169 st.w r3, (r1, 0x24) + GPIOA0->OMCR = GPIO_RESET_VALUE; + 1e18: b26a st.w r3, (r2, 0x28) + GPIOB0->OMCR = GPIO_RESET_VALUE; + 1e1a: b16a st.w r3, (r1, 0x28) + GPIOA0->IECR = GPIO_RESET_VALUE; + 1e1c: b26b st.w r3, (r2, 0x2c) + GPIOB0->IECR = GPIO_RESET_VALUE; + 1e1e: b16b st.w r3, (r1, 0x2c) + GPIOGRP->IGRPL = GPIO_RESET_VALUE; + 1e20: 1047 lrw r2, 0x20000044 // 1e3c + 1e22: 9240 ld.w r2, (r2, 0x0) + 1e24: b260 st.w r3, (r2, 0x0) + GPIOGRP->IGRPH = GPIO_RESET_VALUE; + 1e26: b261 st.w r3, (r2, 0x4) + GPIOGRP->IGREX = GPIO_RESET_VALUE; + 1e28: b262 st.w r3, (r2, 0x8) + GPIOGRP->IO_CLKEN = 0xf; + 1e2a: 330f movi r3, 15 + 1e2c: b263 st.w r3, (r2, 0xc) +} + 1e2e: 783c jmp r15 + 1e30: 2000004c .long 0x2000004c + 1e34: 20000048 .long 0x20000048 + 1e38: 0000ffff .long 0x0000ffff + 1e3c: 20000044 .long 0x20000044 + +Disassembly of section .text.GPIO_Init: + +00001e40 : +//byte:Lowbyte(PIN_0~7),Highbyte(PIN_8~15) +//Dir:0:output 1:input +//ReturnValue:NONE +/*************************************************************/ +void GPIO_Init(CSP_GPIO_T *GPIOx,uint8_t PinNum,GPIO_Dir_TypeDef Dir) +{ + 1e40: 14d1 push r4, r15 + uint32_t data_temp; + uint8_t GPIO_Pin; + if(PinNum<8) + 1e42: 3907 cmphsi r1, 8 +{ + 1e44: 6d03 mov r4, r0 + if(PinNum<8) + 1e46: 0830 bt 0x1ea6 // 1ea6 + { + switch (PinNum) + 1e48: 5903 subi r0, r1, 1 + 1e4a: 3806 cmphsi r0, 7 + 1e4c: 0827 bt 0x1e9a // 1e9a + 1e4e: e3fff757 bsr 0xcfc // cfc <___gnu_csky_case_uqi> + 1e52: 1004 .short 0x1004 + 1e54: 1d1a1613 .long 0x1d1a1613 + 1e58: 0021 .short 0x0021 + { + case 0:data_temp=0xfffffff0;GPIO_Pin=0;break; + case 1:data_temp=0xffffff0f;GPIO_Pin=4;break; + 1e5a: 3300 movi r3, 0 + 1e5c: 3104 movi r1, 4 + 1e5e: 2bf0 subi r3, 241 + case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break; + case 5:data_temp=0xff0fffff;GPIO_Pin=20;break; + case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break; + case 7:data_temp=0x0fffffff;GPIO_Pin=28;break; + } + if (Dir) + 1e60: 3a40 cmpnei r2, 0 + { + (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1< + (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1<CONLR = ((GPIOx)->CONLR & data_temp) | 2<CONHR = ((GPIOx)->CONHR & data_temp) | 2< + 1e76: 07f5 br 0x1e60 // 1e60 + case 3:data_temp=0xffff0fff;GPIO_Pin=12;break; + 1e78: 310c movi r1, 12 + 1e7a: 1166 lrw r3, 0xffff0fff // 1f10 + 1e7c: 07f2 br 0x1e60 // 1e60 + case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break; + 1e7e: 3110 movi r1, 16 + 1e80: 1165 lrw r3, 0xfff10000 // 1f14 + case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break; + 1e82: 2b00 subi r3, 1 + 1e84: 07ee br 0x1e60 // 1e60 + case 5:data_temp=0xff0fffff;GPIO_Pin=20;break; + 1e86: 3114 movi r1, 20 + 1e88: 1164 lrw r3, 0xff100000 // 1f18 + 1e8a: 07fc br 0x1e82 // 1e82 + case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break; + 1e8c: 33f1 movi r3, 241 + 1e8e: 3118 movi r1, 24 + 1e90: 4378 lsli r3, r3, 24 + 1e92: 07f8 br 0x1e82 // 1e82 + case 7:data_temp=0x0fffffff;GPIO_Pin=28;break; + 1e94: 311c movi r1, 28 + 1e96: 1162 lrw r3, 0xfffffff // 1f1c + 1e98: 07e4 br 0x1e60 // 1e60 + case 0:data_temp=0xfffffff0;GPIO_Pin=0;break; + 1e9a: 3300 movi r3, 0 + 1e9c: 3100 movi r1, 0 + 1e9e: 2b0f subi r3, 16 + 1ea0: 07e0 br 0x1e60 // 1e60 + (GPIOx)->CONLR = ((GPIOx)->CONLR & data_temp) | 2< + else if (PinNum<16) + 1ea6: 390f cmphsi r1, 16 + 1ea8: 0be4 bt 0x1e70 // 1e70 + switch (PinNum) + 1eaa: 2908 subi r1, 9 + 1eac: 3906 cmphsi r1, 7 + 1eae: 6c07 mov r0, r1 + 1eb0: 0827 bt 0x1efe // 1efe + 1eb2: e3fff725 bsr 0xcfc // cfc <___gnu_csky_case_uqi> + 1eb6: 1004 .short 0x1004 + 1eb8: 1d1a1613 .long 0x1d1a1613 + 1ebc: 0021 .short 0x0021 + case 9:data_temp=0xffffff0f;GPIO_Pin=4;break; + 1ebe: 3300 movi r3, 0 + 1ec0: 3104 movi r1, 4 + 1ec2: 2bf0 subi r3, 241 + if (Dir) + 1ec4: 3a40 cmpnei r2, 0 + (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1< + (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1<CONHR = ((GPIOx)->CONHR & data_temp) | 2< + case 10:data_temp=0xfffff0ff;GPIO_Pin=8;break; + 1ed6: 3108 movi r1, 8 + 1ed8: 106d lrw r3, 0xfffff0ff // 1f0c + 1eda: 07f5 br 0x1ec4 // 1ec4 + case 11:data_temp=0xffff0fff;GPIO_Pin=12;break; + 1edc: 310c movi r1, 12 + 1ede: 106d lrw r3, 0xffff0fff // 1f10 + 1ee0: 07f2 br 0x1ec4 // 1ec4 + case 12:data_temp=0xfff0ffff;GPIO_Pin=16;break; + 1ee2: 3110 movi r1, 16 + 1ee4: 106c lrw r3, 0xfff10000 // 1f14 + case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break; + 1ee6: 2b00 subi r3, 1 + 1ee8: 07ee br 0x1ec4 // 1ec4 + case 13:data_temp=0xff0fffff;GPIO_Pin=20;break; + 1eea: 3114 movi r1, 20 + 1eec: 106b lrw r3, 0xff100000 // 1f18 + 1eee: 07fc br 0x1ee6 // 1ee6 + case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break; + 1ef0: 33f1 movi r3, 241 + 1ef2: 3118 movi r1, 24 + 1ef4: 4378 lsli r3, r3, 24 + 1ef6: 07f8 br 0x1ee6 // 1ee6 + case 15:data_temp=0x0fffffff;GPIO_Pin=28;break; + 1ef8: 311c movi r1, 28 + 1efa: 1069 lrw r3, 0xfffffff // 1f1c + 1efc: 07e4 br 0x1ec4 // 1ec4 + case 8:data_temp=0xfffffff0;GPIO_Pin=0;break; + 1efe: 3300 movi r3, 0 + 1f00: 3100 movi r1, 0 + 1f02: 2b0f subi r3, 16 + 1f04: 07e0 br 0x1ec4 // 1ec4 + (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2< + 1f0a: 0000 bkpt + 1f0c: fffff0ff .long 0xfffff0ff + 1f10: ffff0fff .long 0xffff0fff + 1f14: fff10000 .long 0xfff10000 + 1f18: ff100000 .long 0xff100000 + 1f1c: 0fffffff .long 0x0fffffff + +Disassembly of section .text.GPIO_PullHigh_Init: + +00001f20 : +//bit:0~15 +//ReturnValue:VALUE +/*************************************************************/ +void GPIO_PullHigh_Init(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + (GPIOx)->PUDR = (((GPIOx)->PUDR) & ~(0x03<<(bit*2))) | (0x01<<(bit*2)); + 1f20: 4121 lsli r1, r1, 1 + 1f22: 3203 movi r2, 3 + 1f24: 9068 ld.w r3, (r0, 0x20) + 1f26: 7084 lsl r2, r1 + 1f28: 68c9 andn r3, r2 + 1f2a: 3201 movi r2, 1 + 1f2c: 7084 lsl r2, r1 + 1f2e: 6cc8 or r3, r2 + 1f30: b068 st.w r3, (r0, 0x20) +} + 1f32: 783c jmp r15 + +Disassembly of section .text.GPIO_DriveStrength_EN: + +00001f34 : +//bit:0~15 +//ReturnValue:VALUE +/*************************************************************/ +void GPIO_DriveStrength_EN(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + (GPIOx)->DSCR = ((GPIOx)->DSCR) | (0x01<<(bit*2)); + 1f34: 4121 lsli r1, r1, 1 + 1f36: 3301 movi r3, 1 + 1f38: 9049 ld.w r2, (r0, 0x24) + 1f3a: 70c4 lsl r3, r1 + 1f3c: 6cc8 or r3, r2 + 1f3e: b069 st.w r3, (r0, 0x24) +} + 1f40: 783c jmp r15 + +Disassembly of section .text.GPIO_IntGroup_Set: + +00001f44 : +//EXI16~EXI17:GPIOA0.0~GPIOA0.7 +//EXI18~EXI19:GPIOB0.0~GPIOB0.3 +//ReturnValue:NONE +/*************************************************************/ +void GPIO_IntGroup_Set(GPIO_Group_TypeDef IO_MODE , uint8_t PinNum , GPIO_EXIPIN_TypeDef Selete_EXI_x) +{ + 1f44: 14c1 push r4 + 1f46: 1422 subi r14, r14, 8 + volatile unsigned int R_data_temp; + volatile unsigned char R_GPIO_Pin; + if(Selete_EXI_x<16) + 1f48: 3a0f cmphsi r2, 16 + 1f4a: 084f bt 0x1fe8 // 1fe8 + { + if((Selete_EXI_x==0)||(Selete_EXI_x==8)) + 1f4c: 6ccb mov r3, r2 + 1f4e: 3b83 bclri r3, 3 + 1f50: 3b40 cmpnei r3, 0 + 1f52: 0813 bt 0x1f78 // 1f78 + { + R_data_temp=0xfffffff0; + 1f54: 2b0f subi r3, 16 + 1f56: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=0; + 1f58: 3300 movi r3, 0 + else if((Selete_EXI_x==7)||(Selete_EXI_x==15)) + { + R_data_temp=0x0fffffff; + R_GPIO_Pin=28; + } + if(Selete_EXI_x<8) + 1f5a: 3a07 cmphsi r2, 8 + R_GPIO_Pin=28; + 1f5c: dc6e0003 st.b r3, (r14, 0x3) + 1f60: 1176 lrw r3, 0x20000044 // 2038 + if(Selete_EXI_x<8) + 1f62: 0c38 bf 0x1fd2 // 1fd2 + { + GPIOGRP->IGRPL =(GPIOGRP->IGRPL & R_data_temp) | (IO_MODE<=8)) + { + GPIOGRP->IGRPH =(GPIOGRP->IGRPH & R_data_temp) | (IO_MODE< + else if((Selete_EXI_x==1)||(Selete_EXI_x==9)) + 1f78: 3b41 cmpnei r3, 1 + 1f7a: 0806 bt 0x1f86 // 1f86 + R_data_temp=0xffffff0f; + 1f7c: 3300 movi r3, 0 + 1f7e: 2bf0 subi r3, 241 + 1f80: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=4; + 1f82: 3304 movi r3, 4 + 1f84: 07eb br 0x1f5a // 1f5a + else if((Selete_EXI_x==2)||(Selete_EXI_x==10)) + 1f86: 3b42 cmpnei r3, 2 + 1f88: 0805 bt 0x1f92 // 1f92 + R_data_temp=0xfffff0ff; + 1f8a: 116d lrw r3, 0xfffff0ff // 203c + 1f8c: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=8; + 1f8e: 3308 movi r3, 8 + 1f90: 07e5 br 0x1f5a // 1f5a + else if((Selete_EXI_x==3)||(Selete_EXI_x==11)) + 1f92: 3b43 cmpnei r3, 3 + 1f94: 0805 bt 0x1f9e // 1f9e + R_data_temp=0xffff0fff; + 1f96: 116b lrw r3, 0xffff0fff // 2040 + 1f98: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=12; + 1f9a: 330c movi r3, 12 + 1f9c: 07df br 0x1f5a // 1f5a + else if((Selete_EXI_x==4)||(Selete_EXI_x==12)) + 1f9e: 3b44 cmpnei r3, 4 + 1fa0: 0806 bt 0x1fac // 1fac + R_data_temp=0xfff0ffff; + 1fa2: 1169 lrw r3, 0xfff10000 // 2044 + 1fa4: 2b00 subi r3, 1 + 1fa6: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=16; + 1fa8: 3310 movi r3, 16 + 1faa: 07d8 br 0x1f5a // 1f5a + else if((Selete_EXI_x==5)||(Selete_EXI_x==13)) + 1fac: 3b45 cmpnei r3, 5 + 1fae: 0806 bt 0x1fba // 1fba + R_data_temp=0xff0fffff; + 1fb0: 1166 lrw r3, 0xff100000 // 2048 + 1fb2: 2b00 subi r3, 1 + 1fb4: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=20; + 1fb6: 3314 movi r3, 20 + 1fb8: 07d1 br 0x1f5a // 1f5a + else if((Selete_EXI_x==6)||(Selete_EXI_x==14)) + 1fba: 3b46 cmpnei r3, 6 + 1fbc: 0807 bt 0x1fca // 1fca + R_data_temp=0xf0ffffff; + 1fbe: 33f1 movi r3, 241 + 1fc0: 4378 lsli r3, r3, 24 + 1fc2: 2b00 subi r3, 1 + 1fc4: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=24; + 1fc6: 3318 movi r3, 24 + 1fc8: 07c9 br 0x1f5a // 1f5a + R_data_temp=0x0fffffff; + 1fca: 1161 lrw r3, 0xfffffff // 204c + 1fcc: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=28; + 1fce: 331c movi r3, 28 + 1fd0: 07c5 br 0x1f5a // 1f5a + GPIOGRP->IGRPL =(GPIOGRP->IGRPL & R_data_temp) | (IO_MODE<IGREX=(GPIOGRP->IGREX)|(PinNum<<12); + } + } + } +} + 1fe4: 1402 addi r14, r14, 8 + 1fe6: 1481 pop r4 + else if(Selete_EXI_x<20) + 1fe8: 3a13 cmphsi r2, 20 + 1fea: 0bfd bt 0x1fe4 // 1fe4 + if((IO_MODE==0)&&((Selete_EXI_x==16)||((Selete_EXI_x==17)))) //PA0.0~PA0.7 + 1fec: 3840 cmpnei r0, 0 + 1fee: 0814 bt 0x2016 // 2016 + 1ff0: 3300 movi r3, 0 + 1ff2: 2b0f subi r3, 16 + 1ff4: 60c8 addu r3, r2 + 1ff6: 3b01 cmphsi r3, 2 + 1ff8: 0bf6 bt 0x1fe4 // 1fe4 + if(Selete_EXI_x==16) + 1ffa: 3a50 cmpnei r2, 16 + 1ffc: 106f lrw r3, 0x20000044 // 2038 + 1ffe: 0806 bt 0x200a // 200a + GPIOGRP->IGREX =(GPIOGRP->IGREX)|PinNum; + 2000: 9340 ld.w r2, (r3, 0x0) + 2002: 9262 ld.w r3, (r2, 0x8) + 2004: 6c4c or r1, r3 + 2006: b222 st.w r1, (r2, 0x8) + 2008: 07ee br 0x1fe4 // 1fe4 + GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<4); + 200a: 9360 ld.w r3, (r3, 0x0) + 200c: 9342 ld.w r2, (r3, 0x8) + 200e: 4124 lsli r1, r1, 4 + GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12); + 2010: 6c48 or r1, r2 + 2012: b322 st.w r1, (r3, 0x8) +} + 2014: 07e8 br 0x1fe4 // 1fe4 + else if((IO_MODE==2)&&((Selete_EXI_x==18)||(Selete_EXI_x==19))) //PB0.0~PB0.3 + 2016: 3842 cmpnei r0, 2 + 2018: 0be6 bt 0x1fe4 // 1fe4 + 201a: 3300 movi r3, 0 + 201c: 2b11 subi r3, 18 + 201e: 60c8 addu r3, r2 + 2020: 3b01 cmphsi r3, 2 + 2022: 0be1 bt 0x1fe4 // 1fe4 + 2024: 1065 lrw r3, 0x20000044 // 2038 + if(Selete_EXI_x==18) + 2026: 3a52 cmpnei r2, 18 + GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<8); + 2028: 9360 ld.w r3, (r3, 0x0) + 202a: 9342 ld.w r2, (r3, 0x8) + if(Selete_EXI_x==18) + 202c: 0803 bt 0x2032 // 2032 + GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<8); + 202e: 4128 lsli r1, r1, 8 + 2030: 07f0 br 0x2010 // 2010 + GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12); + 2032: 412c lsli r1, r1, 12 + 2034: 07ee br 0x2010 // 2010 + 2036: 0000 bkpt + 2038: 20000044 .long 0x20000044 + 203c: fffff0ff .long 0xfffff0ff + 2040: ffff0fff .long 0xffff0fff + 2044: fff10000 .long 0xfff10000 + 2048: ff100000 .long 0xff100000 + 204c: 0fffffff .long 0x0fffffff + +Disassembly of section .text.GPIOB0_EXI_Init: + +00002050 : + case 14:GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF) | 0X01000000;break; + case 15:GPIOA0->CONHR = (GPIOA0->CONHR&0X0FFFFFFF) | 0X10000000;break; + } +} +void GPIOB0_EXI_Init(GPIO_EXI_TypeDef EXI_IO) +{ + 2050: 14d0 push r15 + switch (EXI_IO) + 2052: 3805 cmphsi r0, 6 + 2054: 080d bt 0x206e // 206e + 2056: 1079 lrw r3, 0x20000048 // 20b8 + 2058: e3fff652 bsr 0xcfc // cfc <___gnu_csky_case_uqi> + 205c: 18100a03 .long 0x18100a03 + 2060: 261f .short 0x261f + { + case 0:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0) | 0X00000001;break; + 2062: 9340 ld.w r2, (r3, 0x0) + 2064: 9260 ld.w r3, (r2, 0x0) + 2066: 310f movi r1, 15 + 2068: 68c5 andn r3, r1 + 206a: 3ba0 bseti r3, 0 + case 1:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFF0F) | 0X00000010;break; + 206c: b260 st.w r3, (r2, 0x0) + case 3:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF) | 0X00001000;break; + case 4:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFF0FFFF) | 0X00010000;break; + case 5:GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF) | 0X00100000;break; + default:break; + } +} + 206e: 1490 pop r15 + case 1:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFF0F) | 0X00000010;break; + 2070: 9340 ld.w r2, (r3, 0x0) + 2072: 9260 ld.w r3, (r2, 0x0) + 2074: 31f0 movi r1, 240 + 2076: 68c5 andn r3, r1 + 2078: 3ba4 bseti r3, 4 + 207a: 07f9 br 0x206c // 206c + case 2:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF) | 0X00000100;break; + 207c: 9320 ld.w r1, (r3, 0x0) + 207e: 32f0 movi r2, 240 + 2080: 9160 ld.w r3, (r1, 0x0) + 2082: 4244 lsli r2, r2, 4 + 2084: 68c9 andn r3, r2 + 2086: 3ba8 bseti r3, 8 + case 5:GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF) | 0X00100000;break; + 2088: b160 st.w r3, (r1, 0x0) +} + 208a: 07f2 br 0x206e // 206e + case 3:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF) | 0X00001000;break; + 208c: 9320 ld.w r1, (r3, 0x0) + 208e: 32f0 movi r2, 240 + 2090: 9160 ld.w r3, (r1, 0x0) + 2092: 4248 lsli r2, r2, 8 + 2094: 68c9 andn r3, r2 + 2096: 3bac bseti r3, 12 + 2098: 07f8 br 0x2088 // 2088 + case 4:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFF0FFFF) | 0X00010000;break; + 209a: 9320 ld.w r1, (r3, 0x0) + 209c: 32f0 movi r2, 240 + 209e: 9160 ld.w r3, (r1, 0x0) + 20a0: 424c lsli r2, r2, 12 + 20a2: 68c9 andn r3, r2 + 20a4: 3bb0 bseti r3, 16 + 20a6: 07f1 br 0x2088 // 2088 + case 5:GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF) | 0X00100000;break; + 20a8: 9320 ld.w r1, (r3, 0x0) + 20aa: 32f0 movi r2, 240 + 20ac: 9160 ld.w r3, (r1, 0x0) + 20ae: 4250 lsli r2, r2, 16 + 20b0: 68c9 andn r3, r2 + 20b2: 3bb4 bseti r3, 20 + 20b4: 07ea br 0x2088 // 2088 + 20b6: 0000 bkpt + 20b8: 20000048 .long 0x20000048 + +Disassembly of section .text.GPIO_Write_High: + +000020bc : +//bit:0~15 +//ReturnValue:VALUE +/*************************************************************/ +void GPIO_Write_High(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + (GPIOx)->SODR = (1ul<: +void GPIO_Write_Low(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + (GPIOx)->CODR = (1ul<: +//ReturnValue:VALUE +/*************************************************************/ +void GPIO_Reverse(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + uint32_t dat = 0; + dat=((GPIOx)->ODSR>>bit)&1ul; + 20cc: 9045 ld.w r2, (r0, 0x14) + 20ce: 3301 movi r3, 1 + 20d0: 7085 lsr r2, r1 + 20d2: 688c and r2, r3 + { + if (dat==1) + 20d4: 3a40 cmpnei r2, 0 + 20d6: 70c4 lsl r3, r1 + 20d8: 0c03 bf 0x20de // 20de + { + (GPIOx)->CODR = (1ul<SODR = (1ul<SODR = (1ul< + +Disassembly of section .text.GPIO_Read_Status: + +000020e2 : +/*************************************************************/ +uint8_t GPIO_Read_Status(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + uint8_t value = 0; + uint32_t dat = 0; + dat=((GPIOx)->PSDR)&(1<: +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void LPT_Soft_Reset(void) +{ + LPT->RSSR |= (0X5<<12); + 20f4: 1064 lrw r3, 0x20000014 // 2104 + 20f6: 9340 ld.w r2, (r3, 0x0) + 20f8: 9261 ld.w r3, (r2, 0x4) + 20fa: 3bac bseti r3, 12 + 20fc: 3bae bseti r3, 14 + 20fe: b261 st.w r3, (r2, 0x4) +} + 2100: 783c jmp r15 + 2102: 0000 bkpt + 2104: 20000014 .long 0x20000014 + +Disassembly of section .text.WWDT_CNT_Load: + +00002108 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void WWDT_CNT_Load(U8_T cnt_data) +{ + WWDT->CR |= cnt_data; //SET + 2108: 1063 lrw r3, 0x20000010 // 2114 + 210a: 9360 ld.w r3, (r3, 0x0) + 210c: 9340 ld.w r2, (r3, 0x0) + 210e: 6c08 or r0, r2 + 2110: b300 st.w r0, (r3, 0x0) +} + 2112: 783c jmp r15 + 2114: 20000010 .long 0x20000010 + +Disassembly of section .text.BT_DeInit: + +00002118 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT_DeInit(CSP_BT_T *BTx) +{ + BTx->RSSR=BT_RESET_VALUE; + 2118: 3300 movi r3, 0 + 211a: b060 st.w r3, (r0, 0x0) + BTx->CR=BT_RESET_VALUE; + 211c: b061 st.w r3, (r0, 0x4) + BTx->PSCR=BT_RESET_VALUE; + 211e: b062 st.w r3, (r0, 0x8) + BTx->PRDR=BT_RESET_VALUE; + 2120: b063 st.w r3, (r0, 0xc) + BTx->CMP=BT_RESET_VALUE; + 2122: b064 st.w r3, (r0, 0x10) + BTx->CNT=BT_RESET_VALUE; + 2124: b065 st.w r3, (r0, 0x14) + BTx->EVTRG=BT_RESET_VALUE; + 2126: b066 st.w r3, (r0, 0x18) + BTx->EVSWF=BT_RESET_VALUE; + 2128: b069 st.w r3, (r0, 0x24) + BTx->RISR=BT_RESET_VALUE; + 212a: b06a st.w r3, (r0, 0x28) + BTx->IMCR=BT_RESET_VALUE; + 212c: b06b st.w r3, (r0, 0x2c) + BTx->MISR=BT_RESET_VALUE; + 212e: b06c st.w r3, (r0, 0x30) + BTx->ICR=BT_RESET_VALUE; + 2130: b06d st.w r3, (r0, 0x34) +} + 2132: 783c jmp r15 + +Disassembly of section .text.BT_Start: + +00002134 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT_Start(CSP_BT_T *BTx) +{ + BTx->RSSR |=0X01; + 2134: 9060 ld.w r3, (r0, 0x0) + 2136: 3ba0 bseti r3, 0 + 2138: b060 st.w r3, (r0, 0x0) +} + 213a: 783c jmp r15 + +Disassembly of section .text.BT_Soft_Reset: + +0000213c : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT_Soft_Reset(CSP_BT_T *BTx) +{ + BTx->RSSR |= (0X5<<12); + 213c: 9060 ld.w r3, (r0, 0x0) + 213e: 3bac bseti r3, 12 + 2140: 3bae bseti r3, 14 + 2142: b060 st.w r3, (r0, 0x0) +} + 2144: 783c jmp r15 + +Disassembly of section .text.BT_Configure: + +00002146 : +//BT Configure +//EntryParameter: +//ReturnValue:NONE +/*************************************************************/ +void BT_Configure(CSP_BT_T *BTx,BT_CLK_TypeDef BTCLK,U16_T PSCR_DATA,BT_SHDWSTP_TypeDef BTSHDWSTP,BT_OPM_TypeDef BTOPM,BT_EXTCKM_TypeDef BTEXTCKM) +{ + 2146: 14c3 push r4-r6 + 2148: 98a4 ld.w r5, (r14, 0x10) + 214a: 6d97 mov r6, r5 + 214c: 9883 ld.w r4, (r14, 0xc) + BTx->CR |=BTCLK| BTSHDWSTP| BTOPM| BTEXTCKM; + 214e: 6d18 or r4, r6 + 2150: 6cd0 or r3, r4 + 2152: 90a1 ld.w r5, (r0, 0x4) + 2154: 6c4c or r1, r3 + 2156: 6c54 or r1, r5 + 2158: b021 st.w r1, (r0, 0x4) + BTx->PSCR = PSCR_DATA; + 215a: b042 st.w r2, (r0, 0x8) +} + 215c: 1483 pop r4-r6 + +Disassembly of section .text.BT_ControlSet_Configure: + +0000215e : +//EntryParameter: +//ReturnValue:NONE +/*************************************************************/ +void BT_ControlSet_Configure(CSP_BT_T *BTx,BT_STARTST_TypeDef BTSTART,BT_IDLEST_TypeDef BTIDLE,BT_SYNCEN_TypeDef BTSYNC,BT_SYNCMD_TypeDef BTSYNCMD, + BT_OSTMDX_TypeDef BTOSTMD,BT_AREARM_TypeDef BTAREARM,BT_CNTRLD_TypeDef BTCNTRLD) +{ + 215e: 14c4 push r4-r7 + 2160: 1421 subi r14, r14, 4 + 2162: 9885 ld.w r4, (r14, 0x14) + 2164: 6dd3 mov r7, r4 + 2166: 9886 ld.w r4, (r14, 0x18) + 2168: b880 st.w r4, (r14, 0x0) + 216a: 9887 ld.w r4, (r14, 0x1c) + 216c: 6d93 mov r6, r4 + 216e: 98a8 ld.w r5, (r14, 0x20) + BTx->CR |=BTSTART| BTIDLE| BTSYNC| BTSYNCMD| BTOSTMD| BTAREARM| BTCNTRLD; + 2170: 6d58 or r5, r6 + 2172: 98c0 ld.w r6, (r14, 0x0) + 2174: 6d58 or r5, r6 + 2176: 6d5c or r5, r7 + 2178: 6cd4 or r3, r5 + 217a: 6c8c or r2, r3 + 217c: 9081 ld.w r4, (r0, 0x4) + 217e: 6c48 or r1, r2 + 2180: 6d04 or r4, r1 + 2182: 6d9f mov r6, r7 + 2184: b081 st.w r4, (r0, 0x4) +} + 2186: 1401 addi r14, r14, 4 + 2188: 1484 pop r4-r7 + +Disassembly of section .text.BT_Period_CMP_Write: + +0000218a : +//ReturnValue:NONE +/*************************************************************/ +void BT_Period_CMP_Write(CSP_BT_T *BTx,U16_T BTPRDR_DATA,U16_T BTCMP_DATA) +{ + //BTx->CR|=0X01<<2; + BTx->PRDR =BTPRDR_DATA; + 218a: b023 st.w r1, (r0, 0xc) + BTx->CMP =BTCMP_DATA; + 218c: b044 st.w r2, (r0, 0x10) +} + 218e: 783c jmp r15 + +Disassembly of section .text.BT_ConfigInterrupt_CMD: + +00002190 : +//NewState:ENABLE,DISABLE +//ReturnValue:NONE +/*************************************************************/ +void BT_ConfigInterrupt_CMD(CSP_BT_T *BTx,FunctionalStatus NewState,BT_IMSCR_TypeDef BT_IMSCR_X) +{ + if (NewState != DISABLE) + 2190: 3940 cmpnei r1, 0 + { + BTx->IMCR |= BT_IMSCR_X; + 2192: 906b ld.w r3, (r0, 0x2c) + if (NewState != DISABLE) + 2194: 0c04 bf 0x219c // 219c + BTx->IMCR |= BT_IMSCR_X; + 2196: 6c8c or r2, r3 + 2198: b04b st.w r2, (r0, 0x2c) + } + else + { + BTx->IMCR &= ~BT_IMSCR_X; + } +} + 219a: 783c jmp r15 + BTx->IMCR &= ~BT_IMSCR_X; + 219c: 68c9 andn r3, r2 + 219e: b06b st.w r3, (r0, 0x2c) +} + 21a0: 07fd br 0x219a // 219a + +Disassembly of section .text.BT1_INT_ENABLE: + +000021a4 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT1_INT_ENABLE(void) +{ + INTC_ISER_WRITE(BT1_INT); + 21a4: 3380 movi r3, 128 + 21a6: 4376 lsli r3, r3, 22 + 21a8: 1042 lrw r2, 0xe000e100 // 21b0 + 21aa: b260 st.w r3, (r2, 0x0) +} + 21ac: 783c jmp r15 + 21ae: 0000 bkpt + 21b0: e000e100 .long 0xe000e100 + +Disassembly of section .text.UART0_DeInit: + +000021b4 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART0_DeInit(void) +{ + UART0->DATA = UART_RESET_VALUE; + 21b4: 1065 lrw r3, 0x20000040 // 21c8 + 21b6: 3200 movi r2, 0 + 21b8: 9360 ld.w r3, (r3, 0x0) + 21ba: b340 st.w r2, (r3, 0x0) + UART0->SR = UART_RESET_VALUE; + 21bc: b341 st.w r2, (r3, 0x4) + UART0->CTRL = UART_RESET_VALUE; + 21be: b342 st.w r2, (r3, 0x8) + UART0->ISR = UART_RESET_VALUE; + 21c0: b343 st.w r2, (r3, 0xc) + UART0->BRDIV =UART_RESET_VALUE; + 21c2: b344 st.w r2, (r3, 0x10) +} + 21c4: 783c jmp r15 + 21c6: 0000 bkpt + 21c8: 20000040 .long 0x20000040 + +Disassembly of section .text.UART1_DeInit: + +000021cc : +void UART1_DeInit(void) +{ + UART1->DATA = UART_RESET_VALUE; + 21cc: 1065 lrw r3, 0x2000003c // 21e0 + 21ce: 3200 movi r2, 0 + 21d0: 9360 ld.w r3, (r3, 0x0) + 21d2: b340 st.w r2, (r3, 0x0) + UART1->SR = UART_RESET_VALUE; + 21d4: b341 st.w r2, (r3, 0x4) + UART1->CTRL = UART_RESET_VALUE; + 21d6: b342 st.w r2, (r3, 0x8) + UART1->ISR = UART_RESET_VALUE; + 21d8: b343 st.w r2, (r3, 0xc) + UART1->BRDIV =UART_RESET_VALUE; + 21da: b344 st.w r2, (r3, 0x10) +} + 21dc: 783c jmp r15 + 21de: 0000 bkpt + 21e0: 2000003c .long 0x2000003c + +Disassembly of section .text.UART2_DeInit: + +000021e4 : +void UART2_DeInit(void) +{ + UART2->DATA = UART_RESET_VALUE; + 21e4: 1065 lrw r3, 0x20000038 // 21f8 + 21e6: 3200 movi r2, 0 + 21e8: 9360 ld.w r3, (r3, 0x0) + 21ea: b340 st.w r2, (r3, 0x0) + UART2->SR = UART_RESET_VALUE; + 21ec: b341 st.w r2, (r3, 0x4) + UART2->CTRL = UART_RESET_VALUE; + 21ee: b342 st.w r2, (r3, 0x8) + UART2->ISR = UART_RESET_VALUE; + 21f0: b343 st.w r2, (r3, 0xc) + UART2->BRDIV =UART_RESET_VALUE; + 21f2: b344 st.w r2, (r3, 0x10) +} + 21f4: 783c jmp r15 + 21f6: 0000 bkpt + 21f8: 20000038 .long 0x20000038 + +Disassembly of section .text.UART1_Int_Enable: + +000021fc : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART1_Int_Enable(void) +{ + UART1->ISR=0x0F; //clear UART1 INT status + 21fc: 1065 lrw r3, 0x2000003c // 2210 + 21fe: 320f movi r2, 15 + 2200: 9360 ld.w r3, (r3, 0x0) + 2202: b343 st.w r2, (r3, 0xc) + INTC_ISER_WRITE(UART1_INT); //INT Vector Enable UART0/1 Interrupt in CK802 + 2204: 3380 movi r3, 128 + 2206: 4367 lsli r3, r3, 7 + 2208: 1043 lrw r2, 0xe000e100 // 2214 + 220a: b260 st.w r3, (r2, 0x0) +} + 220c: 783c jmp r15 + 220e: 0000 bkpt + 2210: 2000003c .long 0x2000003c + 2214: e000e100 .long 0xe000e100 + +Disassembly of section .text.UART2_Int_Enable: + +00002218 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART2_Int_Enable(void) +{ + UART2->ISR=0x0F; //clear UART1 INT status + 2218: 1065 lrw r3, 0x20000038 // 222c + 221a: 320f movi r2, 15 + 221c: 9360 ld.w r3, (r3, 0x0) + 221e: b343 st.w r2, (r3, 0xc) + INTC_ISER_WRITE(UART2_INT); //INT Vector Enable UART0/1 Interrupt in CK802 + 2220: 3380 movi r3, 128 + 2222: 4368 lsli r3, r3, 8 + 2224: 1043 lrw r2, 0xe000e100 // 2230 + 2226: b260 st.w r3, (r2, 0x0) +} + 2228: 783c jmp r15 + 222a: 0000 bkpt + 222c: 20000038 .long 0x20000038 + 2230: e000e100 .long 0xe000e100 + +Disassembly of section .text.UART_IO_Init: + +00002234 : +//UART_IO_G:0 1 +//ReturnValue:NONE +/*************************************************************/ +void UART_IO_Init(UART_NUM_TypeDef IO_UART_NUM , U8_T UART_IO_G) +{ + if (IO_UART_NUM==IO_UART0) + 2234: 3840 cmpnei r0, 0 + 2236: 0821 bt 0x2278 // 2278 + { + if(UART_IO_G==0) + 2238: 3940 cmpnei r1, 0 + 223a: 080a bt 0x224e // 224e + { + GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00) | 0x00000044; //PA0.1->RXD0, PA0.0->TXD0 + 223c: 1177 lrw r3, 0x2000004c // 2318 + 223e: 31ff movi r1, 255 + 2240: 9340 ld.w r2, (r3, 0x0) + 2242: 9260 ld.w r3, (r2, 0x0) + 2244: 68c5 andn r3, r1 + 2246: 3ba2 bseti r3, 2 + 2248: 3ba6 bseti r3, 6 + } + if (IO_UART_NUM==IO_UART2) + { + if(UART_IO_G==0) + { + GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00) | 0x00000077; //PA0.0->RXD2, PA0.1->TXD2 + 224a: b260 st.w r3, (r2, 0x0) + 224c: 0415 br 0x2276 // 2276 + else if(UART_IO_G==1) + 224e: 3941 cmpnei r1, 1 + 2250: 0813 bt 0x2276 // 2276 + GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF) | 0x00700000; //PA0.5->RXD0, PA0.12->TXD0 + 2252: 1172 lrw r3, 0x2000004c // 2318 + 2254: 31f0 movi r1, 240 + 2256: 9340 ld.w r2, (r3, 0x0) + 2258: 9260 ld.w r3, (r2, 0x0) + 225a: 4130 lsli r1, r1, 16 + 225c: 68c5 andn r3, r1 + 225e: 31e0 movi r1, 224 + 2260: 412f lsli r1, r1, 15 + 2262: 6cc4 or r3, r1 + 2264: b260 st.w r3, (r2, 0x0) + GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF) | 0x00070000; + 2266: 31f0 movi r1, 240 + 2268: 9261 ld.w r3, (r2, 0x4) + 226a: 412c lsli r1, r1, 12 + 226c: 68c5 andn r3, r1 + 226e: 31e0 movi r1, 224 + 2270: 412b lsli r1, r1, 11 + 2272: 6cc4 or r3, r1 + 2274: b261 st.w r3, (r2, 0x4) + else if(UART_IO_G==2) + { + GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000; //PB0.5->RXD2, PB0.4->TXD2 + } + } +} + 2276: 783c jmp r15 + if (IO_UART_NUM==IO_UART1) + 2278: 3841 cmpnei r0, 1 + 227a: 082d bt 0x22d4 // 22d4 + if(UART_IO_G==0) + 227c: 3940 cmpnei r1, 0 + 227e: 0814 bt 0x22a6 // 22a6 + GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0) | 0x00000007; //PA0.13->RXD1, PB0.0->TXD1 + 2280: 1167 lrw r3, 0x20000048 // 231c + 2282: 310f movi r1, 15 + 2284: 9340 ld.w r2, (r3, 0x0) + 2286: 9260 ld.w r3, (r2, 0x0) + 2288: 68c5 andn r3, r1 + 228a: 3107 movi r1, 7 + 228c: 6cc4 or r3, r1 + 228e: b260 st.w r3, (r2, 0x0) + GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF) | 0x00700000; + 2290: 32f0 movi r2, 240 + 2292: 1162 lrw r3, 0x2000004c // 2318 + 2294: 4250 lsli r2, r2, 16 + 2296: 9320 ld.w r1, (r3, 0x0) + 2298: 9161 ld.w r3, (r1, 0x4) + 229a: 68c9 andn r3, r2 + 229c: 32e0 movi r2, 224 + 229e: 424f lsli r2, r2, 15 + GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000; //PA0.15->RXD1, PA0.14->TXD1 + 22a0: 6cc8 or r3, r2 + 22a2: b161 st.w r3, (r1, 0x4) + 22a4: 07e9 br 0x2276 // 2276 + else if(UART_IO_G==1) + 22a6: 3941 cmpnei r1, 1 + 22a8: 080c bt 0x22c0 // 22c0 + GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF00FFF) | 0X00077000; //PA0.4->RXD1, PA0.3->TXD1 + 22aa: 107c lrw r3, 0x2000004c // 2318 + 22ac: 32ff movi r2, 255 + 22ae: 9320 ld.w r1, (r3, 0x0) + 22b0: 424c lsli r2, r2, 12 + 22b2: 9160 ld.w r3, (r1, 0x0) + 22b4: 68c9 andn r3, r2 + 22b6: 32ee movi r2, 238 + 22b8: 424b lsli r2, r2, 11 + GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000; //PB0.5->RXD2, PB0.4->TXD2 + 22ba: 6cc8 or r3, r2 + 22bc: b160 st.w r3, (r1, 0x0) +} + 22be: 07dc br 0x2276 // 2276 + else if(UART_IO_G==2) + 22c0: 3942 cmpnei r1, 2 + 22c2: 0bda bt 0x2276 // 2276 + GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000; //PA0.15->RXD1, PA0.14->TXD1 + 22c4: 1075 lrw r3, 0x2000004c // 2318 + 22c6: 32ee movi r2, 238 + 22c8: 9320 ld.w r1, (r3, 0x0) + 22ca: 9161 ld.w r3, (r1, 0x4) + 22cc: 4368 lsli r3, r3, 8 + 22ce: 4b68 lsri r3, r3, 8 + 22d0: 4257 lsli r2, r2, 23 + 22d2: 07e7 br 0x22a0 // 22a0 + if (IO_UART_NUM==IO_UART2) + 22d4: 3842 cmpnei r0, 2 + 22d6: 0bd0 bt 0x2276 // 2276 + if(UART_IO_G==0) + 22d8: 3940 cmpnei r1, 0 + 22da: 0809 bt 0x22ec // 22ec + GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00) | 0x00000077; //PA0.0->RXD2, PA0.1->TXD2 + 22dc: 106f lrw r3, 0x2000004c // 2318 + 22de: 31ff movi r1, 255 + 22e0: 9340 ld.w r2, (r3, 0x0) + 22e2: 9260 ld.w r3, (r2, 0x0) + 22e4: 68c5 andn r3, r1 + 22e6: 3177 movi r1, 119 + 22e8: 6cc4 or r3, r1 + 22ea: 07b0 br 0x224a // 224a + else if(UART_IO_G==1) + 22ec: 3941 cmpnei r1, 1 + 22ee: 0809 bt 0x2300 // 2300 + GPIOA0->CONLR = (GPIOA0->CONLR&0X00FFFFFF) | 0X77000000; //PA0.7->RXD2, PA0.6->TXD2 + 22f0: 106a lrw r3, 0x2000004c // 2318 + 22f2: 32ee movi r2, 238 + 22f4: 9320 ld.w r1, (r3, 0x0) + 22f6: 9160 ld.w r3, (r1, 0x0) + 22f8: 4368 lsli r3, r3, 8 + 22fa: 4b68 lsri r3, r3, 8 + 22fc: 4257 lsli r2, r2, 23 + 22fe: 07de br 0x22ba // 22ba + else if(UART_IO_G==2) + 2300: 3942 cmpnei r1, 2 + 2302: 0bba bt 0x2276 // 2276 + GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000; //PB0.5->RXD2, PB0.4->TXD2 + 2304: 1066 lrw r3, 0x20000048 // 231c + 2306: 32ff movi r2, 255 + 2308: 9320 ld.w r1, (r3, 0x0) + 230a: 4250 lsli r2, r2, 16 + 230c: 9160 ld.w r3, (r1, 0x0) + 230e: 68c9 andn r3, r2 + 2310: 32cc movi r2, 204 + 2312: 424f lsli r2, r2, 15 + 2314: 07d3 br 0x22ba // 22ba + 2316: 0000 bkpt + 2318: 2000004c .long 0x2000004c + 231c: 20000048 .long 0x20000048 + +Disassembly of section .text.UARTInitRxTxIntEn: + +00002320 : +//ReturnValue:NONE +/*************************************************************/ +void UARTInitRxTxIntEn(CSP_UART_T *uart,U16_T baudrate_u16,UART_PAR_TypeDef PAR_DAT) +{ + // Set Transmitter Enable + CSP_UART_SET_CTRL(uart, UART_TX | UART_RX | UART_RX_INT | UART_TX_INT | PAR_DAT | UART_TX_DONE_INT); + 2320: 1063 lrw r3, 0x8000f // 232c + 2322: 6c8c or r2, r3 + 2324: b042 st.w r2, (r0, 0x8) + // Set Baudrate + CSP_UART_SET_BRDIV(uart, baudrate_u16); + 2326: b024 st.w r1, (r0, 0x10) +} + 2328: 783c jmp r15 + 232a: 0000 bkpt + 232c: 0008000f .long 0x0008000f + +Disassembly of section .text.UARTTransmit: + +00002330 : +//UART Transmit +//EntryParameter:UART0,UART1,UART2,sourceAddress_u16,length_u16 +//ReturnValue:NONE +/*************************************************************/ +void UARTTransmit(CSP_UART_T *uart,U8_T *sourceAddress_u16,U16_T length_u16) +{ + 2330: 14c2 push r4-r5 + unsigned int DataI,DataJ; + for(DataJ = 0;DataJ < length_u16 ;DataJ ++) + 2332: 6cc7 mov r3, r1 + { + CSP_UART_SET_DATA(uart,*sourceAddress_u16++); + do{ + DataI = CSP_UART_GET_SR(uart); + DataI = DataI & UART_TX_FULL; + 2334: 3501 movi r5, 1 + for(DataJ = 0;DataJ < length_u16 ;DataJ ++) + 2336: 5b85 subu r4, r3, r1 + 2338: 6490 cmphs r4, r2 + 233a: 0c02 bf 0x233e // 233e + }while(DataI == UART_TX_FULL); //Loop when tx is full + } +} + 233c: 1482 pop r4-r5 + CSP_UART_SET_DATA(uart,*sourceAddress_u16++); + 233e: 8380 ld.b r4, (r3, 0x0) + 2340: b080 st.w r4, (r0, 0x0) + DataI = CSP_UART_GET_SR(uart); + 2342: 9081 ld.w r4, (r0, 0x4) + DataI = DataI & UART_TX_FULL; + 2344: 6914 and r4, r5 + }while(DataI == UART_TX_FULL); //Loop when tx is full + 2346: 3c40 cmpnei r4, 0 + 2348: 0bfd bt 0x2342 // 2342 + 234a: 2300 addi r3, 1 + 234c: 07f5 br 0x2336 // 2336 + +Disassembly of section .text.EPT_Stop: + +00002350 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EPT_Stop(void) +{ + EPT0->REGPROT = (0xA55A<<16) | 0xC73A; + 2350: 1068 lrw r3, 0x20000020 // 2370 + 2352: 3280 movi r2, 128 + 2354: 9360 ld.w r3, (r3, 0x0) + 2356: 608c addu r2, r3 + 2358: 1027 lrw r1, 0xa55ac73a // 2374 + 235a: b23a st.w r1, (r2, 0x68) + EPT0->RSSR&=0Xfe; + 235c: 9341 ld.w r2, (r3, 0x4) + 235e: 31fe movi r1, 254 + 2360: 6884 and r2, r1 + 2362: b341 st.w r2, (r3, 0x4) + while(EPT0->RSSR&0x01); + 2364: 3101 movi r1, 1 + 2366: 9341 ld.w r2, (r3, 0x4) + 2368: 6884 and r2, r1 + 236a: 3a40 cmpnei r2, 0 + 236c: 0bfd bt 0x2366 // 2366 +} + 236e: 783c jmp r15 + 2370: 20000020 .long 0x20000020 + 2374: a55ac73a .long 0xa55ac73a + +Disassembly of section .text.ReadDataArry_U8: + +00002378 : +//ReadFlashData fuction return Data arry save in Flash +//EntryParameter:RdStartAdd、DataLength、*DataArryPoint +//ReturnValue:NONE +*************************************************************/ +void ReadDataArry_U8(unsigned int RdStartAdd,unsigned int DataLength,volatile unsigned char *DataArryPoint) +{ + 2378: 14c3 push r4-r6 + unsigned int i; + for (i=0;i + RdStartAdd +=4; + } + *DataArryPoint=*(U8_T *)(RdStartAdd+ (i%4)); + DataArryPoint++; + } +} + 2384: 1483 pop r4-r6 + if((i!=0)&&(i%4==0)) + 2386: 3b40 cmpnei r3, 0 + 2388: 0c06 bf 0x2394 // 2394 + 238a: 6d0f mov r4, r3 + 238c: 6914 and r4, r5 + 238e: 3c40 cmpnei r4, 0 + 2390: 0802 bt 0x2394 // 2394 + RdStartAdd +=4; + 2392: 2003 addi r0, 4 + *DataArryPoint=*(U8_T *)(RdStartAdd+ (i%4)); + 2394: 6d0f mov r4, r3 + 2396: 6914 and r4, r5 + 2398: 6100 addu r4, r0 + 239a: 8480 ld.b r4, (r4, 0x0) + 239c: a680 st.b r4, (r6, 0x0) + for (i=0;i + +Disassembly of section .text.startup.main: + +000023a4
: +volatile unsigned int Sav_Temp = 0; +/***************************************************/ +//main +/**************************************************/ +int main(void) +{ + 23a4: 14d0 push r15 +// delay_nms(20000); + APT32F102_init(); //102 initial + 23a6: e00000a3 bsr 0x24ec // 24ec + + Dbg_Println(DBG_BIT_SYS_STATUS,"MCU Start! %d",g_Dip.DIP_addr); + 23aa: 106a lrw r3, 0x20000444 // 23d0 + 23ac: 8346 ld.b r2, (r3, 0x6) + 23ae: 102a lrw r1, 0x5670 // 23d4 + 23b0: 3000 movi r0, 0 + 23b2: e0000933 bsr 0x3618 // 3618 + + while(1) + { + SYSCON_IWDCNT_Reload(); //IWDT Clear + 23b6: e3fffc57 bsr 0x1c64 // 1c64 + + UART1_TASK(); + 23ba: e0000711 bsr 0x31dc // 31dc + + UART2_TASK(); + 23be: e0000767 bsr 0x328c // 328c + + DIP_ScanTask(); + 23c2: e0000cdf bsr 0x3d80 // 3d80 + + TemCtrl_Pro(); + 23c6: e0000ac9 bsr 0x3958 // 3958 + + BUS485Send_Task(); + 23ca: e00008bf bsr 0x3548 // 3548 + 23ce: 07f4 br 0x23b6 // 23b6 + 23d0: 20000444 .long 0x20000444 + 23d4: 00005670 .long 0x00005670 + +Disassembly of section .text.delay_nms: + +000023d8 : +//software delay +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void delay_nms(unsigned int t) +{ + 23d8: 14d0 push r15 + 23da: 1423 subi r14, r14, 12 + volatile unsigned int i,j ,k=0; + j = 50* t; + 23dc: 3232 movi r2, 50 + volatile unsigned int i,j ,k=0; + 23de: 3300 movi r3, 0 + j = 50* t; + 23e0: 7c08 mult r0, r2 + volatile unsigned int i,j ,k=0; + 23e2: b862 st.w r3, (r14, 0x8) + j = 50* t; + 23e4: b801 st.w r0, (r14, 0x4) + for ( i = 0; i < j; i++ ) + 23e6: b860 st.w r3, (r14, 0x0) + 23e8: 9840 ld.w r2, (r14, 0x0) + 23ea: 9861 ld.w r3, (r14, 0x4) + 23ec: 64c8 cmphs r2, r3 + 23ee: 0c03 bf 0x23f4 // 23f4 + { + k++; + SYSCON_IWDCNT_Reload(); + } +} + 23f0: 1403 addi r14, r14, 12 + 23f2: 1490 pop r15 + k++; + 23f4: 9862 ld.w r3, (r14, 0x8) + 23f6: 2300 addi r3, 1 + 23f8: b862 st.w r3, (r14, 0x8) + SYSCON_IWDCNT_Reload(); + 23fa: e3fffc35 bsr 0x1c64 // 1c64 + for ( i = 0; i < j; i++ ) + 23fe: 9860 ld.w r3, (r14, 0x0) + 2400: 2300 addi r3, 1 + 2402: 07f2 br 0x23e6 // 23e6 + +Disassembly of section .text.delay_nus: + +00002404 : +void delay_nus(unsigned int t) +{ + 2404: 1423 subi r14, r14, 12 + volatile unsigned int i,j ,k=0; + 2406: 3300 movi r3, 0 + 2408: b862 st.w r3, (r14, 0x8) + j = 1* t; + 240a: b801 st.w r0, (r14, 0x4) + for ( i = 0; i < j; i++ ) + 240c: b860 st.w r3, (r14, 0x0) + 240e: 9840 ld.w r2, (r14, 0x0) + 2410: 9861 ld.w r3, (r14, 0x4) + 2412: 64c8 cmphs r2, r3 + 2414: 0c03 bf 0x241a // 241a + { + k++; + } +} + 2416: 1403 addi r14, r14, 12 + 2418: 783c jmp r15 + k++; + 241a: 9862 ld.w r3, (r14, 0x8) + 241c: 2300 addi r3, 1 + 241e: b862 st.w r3, (r14, 0x8) + for ( i = 0; i < j; i++ ) + 2420: 9860 ld.w r3, (r14, 0x0) + 2422: 2300 addi r3, 1 + 2424: 07f4 br 0x240c // 240c + +Disassembly of section .text.BT_CONFIG: + +00002428 : +//BT Initial +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT_CONFIG(void) +{ + 2428: 14d2 push r4-r5, r15 + 242a: 1424 subi r14, r14, 16 +// BT_ConfigInterrupt_CMD(BT0,ENABLE,BT_PEND); +// BT0_INT_ENABLE(); + + + //100us 定时器初始化 + BT_DeInit(BT1); + 242c: 1095 lrw r4, 0x20000008 // 2480 + BT_Configure(BT1,BTCLK_EN,0,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV); + 242e: 3500 movi r5, 0 + BT_DeInit(BT1); + 2430: 9400 ld.w r0, (r4, 0x0) + 2432: e3fffe73 bsr 0x2118 // 2118 + BT_Configure(BT1,BTCLK_EN,0,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV); + 2436: 9400 ld.w r0, (r4, 0x0) + 2438: b8a1 st.w r5, (r14, 0x4) + 243a: b8a0 st.w r5, (r14, 0x0) + 243c: 3308 movi r3, 8 + 243e: 3200 movi r2, 0 + 2440: 3101 movi r1, 1 + 2442: e3fffe82 bsr 0x2146 // 2146 + BT_ControlSet_Configure(BT1,BT_START_HIGH,BT_IDLE_LOW,BT_SYNC_DIS,BT_SYNCMD_DIS,BT_OSTMDX_ONCE,BT_AREARM_DIS,BT_CNTRLD_EN); + 2446: 3380 movi r3, 128 + 2448: 4363 lsli r3, r3, 3 + 244a: b861 st.w r3, (r14, 0x4) + 244c: 9400 ld.w r0, (r4, 0x0) + 244e: 3300 movi r3, 0 + 2450: b8a3 st.w r5, (r14, 0xc) + 2452: b8a2 st.w r5, (r14, 0x8) + 2454: b8a0 st.w r5, (r14, 0x0) + 2456: 3200 movi r2, 0 + 2458: 3180 movi r1, 128 + 245a: e3fffe82 bsr 0x215e // 215e + BT_Period_CMP_Write(BT1,4780,1); + 245e: 3201 movi r2, 1 + 2460: 1029 lrw r1, 0x12ac // 2484 + 2462: 9400 ld.w r0, (r4, 0x0) + 2464: e3fffe93 bsr 0x218a // 218a + BT_Start(BT1); + 2468: 9400 ld.w r0, (r4, 0x0) + 246a: e3fffe65 bsr 0x2134 // 2134 + BT_ConfigInterrupt_CMD(BT1,ENABLE,BT_CMP); + 246e: 9400 ld.w r0, (r4, 0x0) + 2470: 3202 movi r2, 2 + 2472: 3101 movi r1, 1 + 2474: e3fffe8e bsr 0x2190 // 2190 + BT1_INT_ENABLE(); + 2478: e3fffe96 bsr 0x21a4 // 21a4 + +} + 247c: 1404 addi r14, r14, 16 + 247e: 1492 pop r4-r5, r15 + 2480: 20000008 .long 0x20000008 + 2484: 000012ac .long 0x000012ac + +Disassembly of section .text.SYSCON_CONFIG: + +00002488 : +//syscon Functions +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SYSCON_CONFIG(void) +{ + 2488: 14d0 push r15 + 248a: 1421 subi r14, r14, 4 +//------SYSTEM CLK AND PCLK FUNTION---------------------------/ + SYSCON_RST_VALUE(); //SYSCON all register clr + 248c: e3fffb38 bsr 0x1afc // 1afc + SYSCON_General_CMD(ENABLE,ENDIS_ISOSC); //SYSCON enable/disable clock source + 2490: 3101 movi r1, 1 + 2492: 3001 movi r0, 1 + 2494: e3fffb5a bsr 0x1b48 // 1b48 + //EMOSC_OSTR_Config(0XAD,0X1f,EM_LFSEL_EN,EM_FLEN_EN,EM_FLSEL_10ns); //EM_CNT=0X3FF,0xAD(36K),EM_GM=0,Low F modedisable,EM filter disable,if enable,cont set 5ns + //SYSCON_General_CMD(ENABLE,ENDIS_EMOSC); + SYSCON_HFOSC_SELECTE(HFOSC_SELECTE_48M); //HFOSC selected 48MHz + 2498: 3000 movi r0, 0 + 249a: e3fffbb3 bsr 0x1c00 // 1c00 + SystemCLK_HCLKDIV_PCLKDIV_Config(SYSCLK_HFOSC,HCLK_DIV_1,PCLK_DIV_1,HFOSC_48M);//system clock set, Hclk div ,Pclk div set system clock=SystemCLK/Hclk div/Pclk div + 249e: 3180 movi r1, 128 + 24a0: 3308 movi r3, 8 + 24a2: 3200 movi r2, 0 + 24a4: 4121 lsli r1, r1, 1 + 24a6: 3002 movi r0, 2 + 24a8: e3fffb68 bsr 0x1b78 // 1b78 +//------------ WDT FUNTION --------------------------------/ + SYSCON_IWDCNT_Config(IWDT_TIME_500MS,IWDT_INTW_DIV_7); //WDT TIME 1s,WDT alarm interrupt time=1s-1s*1/8=0.875S + 24ac: 3080 movi r0, 128 + 24ae: 3118 movi r1, 24 + 24b0: 4002 lsli r0, r0, 2 + 24b2: e3fffbe3 bsr 0x1c78 // 1c78 + SYSCON_WDT_CMD(ENABLE); //enable/disable WDT + 24b6: 3001 movi r0, 1 + 24b8: e3fffbb8 bsr 0x1c28 // 1c28 + SYSCON_IWDCNT_Reload(); //reload WDT + 24bc: e3fffbd4 bsr 0x1c64 // 1c64 + IWDT_Int_Enable(); + 24c0: e3fffc06 bsr 0x1ccc // 1ccc + //WWDT_CMD(ENABLE); //enable wwdt +//------------ CLO Output --------------------------------/ + //SYSCON_CLO_CONFIG(CLO_PA08); //CLO output setting + //SYSCON_CLO_SRC_SET(CLO_HFCLK,CLO_DIV16); //CLO output clock and div +//------------ LVD FUNTION --------------------------------/ + SYSCON_LVD_Config(ENABLE_LVDEN,INTDET_LVL_3_9V,RSTDET_LVL_1_9V,ENABLE_LVD_INT,INTDET_POL_fall); //LVD LVR Enable/Disable + 24c4: 3340 movi r3, 64 + 24c6: b860 st.w r3, (r14, 0x0) + 24c8: 31c0 movi r1, 192 + 24ca: 3380 movi r3, 128 + 24cc: 4364 lsli r3, r3, 4 + 24ce: 3200 movi r2, 0 + 24d0: 4123 lsli r1, r1, 3 + 24d2: 3000 movi r0, 0 + 24d4: e3fffbde bsr 0x1c90 // 1c90 + LVD_Int_Enable(); + 24d8: e3fffbec bsr 0x1cb0 // 1cb0 +//------------ SYSCON Vector --------------------------------/ + SYSCON_Int_Enable(); //SYSCON VECTOR + 24dc: e3fffc4a bsr 0x1d70 // 1d70 + //SYSCON_WakeUp_Enable(); //Enable WDT wakeup INT +//------------------------------------------------------------/ +//OSC CLOCK Calibration +//------------------------------------------------------------/ + std_clk_calib(CLK_HFOSC_48M); //Select the same clock source as the system + 24e0: 3000 movi r0, 0 + 24e2: e00016e3 bsr 0x52a8 // 52a8 + +} + 24e6: 1401 addi r14, r14, 4 + 24e8: 1490 pop r15 + +Disassembly of section .text.APT32F102_init: + +000024ec : +//APT32F102_init / +//EntryParameter:NONE / +//ReturnValue:NONE / +/*********************************************************************************/ +void APT32F102_init(void) +{ + 24ec: 14d0 push r15 + Sys_RSR = 0x00000000; + Sys_RSR = SYSCON->RSR; //读取复位源 2024-03-15 + 24ee: 107f lrw r3, 0x2000005c // 2568 + Sys_RSR = 0x00000000; + 24f0: 105f lrw r2, 0x200000ac // 256c + 24f2: 3100 movi r1, 0 + Sys_RSR = SYSCON->RSR; //读取复位源 2024-03-15 + 24f4: 9360 ld.w r3, (r3, 0x0) + 24f6: 3080 movi r0, 128 + Sys_RSR = 0x00000000; + 24f8: b220 st.w r1, (r2, 0x0) + Sys_RSR = SYSCON->RSR; //读取复位源 2024-03-15 + 24fa: 600c addu r0, r3 + 24fc: 9004 ld.w r0, (r0, 0x10) + 24fe: b200 st.w r0, (r2, 0x0) + + Sav_Temp = 0x00000000; + 2500: 105c lrw r2, 0x200000a8 // 2570 + 2502: b220 st.w r1, (r2, 0x0) + Sav_Temp = SYSCON->UREG0; //读取保存的温控数据 2024-03-15 + 2504: 3180 movi r1, 128 + 2506: 4121 lsli r1, r1, 1 + 2508: 604c addu r1, r3 + 250a: 9120 ld.w r1, (r1, 0x0) + 250c: b220 st.w r1, (r2, 0x0) +//------------------------------------------------------------/ +//Peripheral clock enable and disable +//EntryParameter:NONE +//ReturnValue:NONE +//------------------------------------------------------------/ + SYSCON->PCER0=0xFFFFFFF; //PCLK Enable + 250e: 105a lrw r2, 0xfffffff // 2574 + 2510: b34a st.w r2, (r3, 0x28) + SYSCON->PCER1=0xFFFFFFF; //PCLK Enable + while(!(SYSCON->PCSR0&0x1)); //Wait PCLK enabled + 2512: 3101 movi r1, 1 + SYSCON->PCER1=0xFFFFFFF; //PCLK Enable + 2514: b34d st.w r2, (r3, 0x34) + while(!(SYSCON->PCSR0&0x1)); //Wait PCLK enabled + 2516: 934c ld.w r2, (r3, 0x30) + 2518: 6884 and r2, r1 + 251a: 3a40 cmpnei r2, 0 + 251c: 0ffd bf 0x2516 // 2516 +//------------------------------------------------------------/ +//ISOSC/IMOSC/EMOSC/SYSCLK/IWDT/LVD/EM_CMFAIL/EM_CMRCV/CMD_ERR OSC stable interrupt +//EntryParameter:NONE +//ReturnValue:NONE +//------------------------------------------------------------/ + SYSCON_CONFIG(); //syscon initial + 251e: e3ffffb5 bsr 0x2488 // 2488 + CK_CPU_EnAllNormalIrq(); //enable all IRQ + 2522: e0000573 bsr 0x3008 // 3008 + SYSCON_INT_Priority(); //initial all Priority=0xC0 + 2526: e3fffc31 bsr 0x1d88 // 1d88 + + //设置中断优先级 0最高,3最低 + Set_INT_Priority(UART2_IRQ,1); //串口优先级最高 + 252a: 3101 movi r1, 1 + 252c: 300f movi r0, 15 + 252e: e3fffc3f bsr 0x1dac // 1dac + Set_INT_Priority(UART1_IRQ,1); //串口优先级最高 + 2532: 3101 movi r1, 1 + 2534: 300e movi r0, 14 + 2536: e3fffc3b bsr 0x1dac // 1dac + Set_INT_Priority(EXI3_IRQ, 1); //总线繁忙判断外部IO中断 + 253a: 3101 movi r1, 1 + 253c: 3016 movi r0, 22 + 253e: e3fffc37 bsr 0x1dac // 1dac + + GPIO_DeInit(); //复位所有IO,bootload中初始化了所有IO + 2542: e3fffc4d bsr 0x1ddc // 1ddc +//------------------------------------------------------------/ +//Other IP config +//------------------------------------------------------------/ + BT_CONFIG(); //BT initial + 2546: e3ffff71 bsr 0x2428 // 2428 + + UARTx_Init(UART_2,IrSend_Rs485_Pro); //通讯串口 + 254a: 102c lrw r1, 0x3bb4 // 2578 + 254c: 3002 movi r0, 2 + 254e: e0000563 bsr 0x3014 // 3014 + UARTx_Init(UART_1,Ctrller_RecData_Processing); //通讯串口 + 2552: 102b lrw r1, 0x3a28 // 257c + 2554: 3001 movi r0, 1 + 2556: e000055f bsr 0x3014 // 3014 + + EEPROM_Init(); + 255a: e00008d3 bsr 0x3700 // 3700 + + DIP_Switch_Init(); + 255e: e0000bcb bsr 0x3cf4 // 3cf4 + + TemCtrl_Init(); + 2562: e00008f9 bsr 0x3754 // 3754 + +} + 2566: 1490 pop r15 + 2568: 2000005c .long 0x2000005c + 256c: 200000ac .long 0x200000ac + 2570: 200000a8 .long 0x200000a8 + 2574: 0fffffff .long 0x0fffffff + 2578: 00003bb4 .long 0x00003bb4 + 257c: 00003a28 .long 0x00003a28 + +Disassembly of section .text.SYSCONIntHandler: + +00002580 : +//SYSCON Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SYSCONIntHandler(void) +{ + 2580: 1460 nie + 2582: 1462 ipush + // ISR content ... + nop; + 2584: 6c03 mov r0, r0 + if((SYSCON->MISR&ISOSC_ST)==ISOSC_ST) //ISOSC stable interrupt + 2586: 117a lrw r3, 0x2000005c // 266c + 2588: 3280 movi r2, 128 + 258a: 9360 ld.w r3, (r3, 0x0) + 258c: 60c8 addu r3, r2 + 258e: 9323 ld.w r1, (r3, 0xc) + 2590: 3001 movi r0, 1 + 2592: 6840 and r1, r0 + 2594: 3940 cmpnei r1, 0 + 2596: 0c04 bf 0x259e // 259e + { + SYSCON->ICR = EMOSC_ST; + } + else if((SYSCON->MISR&HFOSC_ST)==HFOSC_ST) //HFOSC stable interrupt + { + SYSCON->ICR = HFOSC_ST; + 2598: b301 st.w r0, (r3, 0x4) + } + else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST) //Command error interrupt + { + SYSCON->ICR = CMD_ERR_ST; + } +} + 259a: 1463 ipop + 259c: 1461 nir + else if((SYSCON->MISR&IMOSC_ST)==IMOSC_ST) //IMOSC stable interrupt + 259e: 9323 ld.w r1, (r3, 0xc) + 25a0: 3002 movi r0, 2 + 25a2: 6840 and r1, r0 + 25a4: 3940 cmpnei r1, 0 + 25a6: 0bf9 bt 0x2598 // 2598 + else if((SYSCON->MISR&EMOSC_ST)==EMOSC_ST) //EMOSC stable interrupt + 25a8: 9323 ld.w r1, (r3, 0xc) + 25aa: 3008 movi r0, 8 + 25ac: 6840 and r1, r0 + 25ae: 3940 cmpnei r1, 0 + 25b0: 0bf4 bt 0x2598 // 2598 + else if((SYSCON->MISR&HFOSC_ST)==HFOSC_ST) //HFOSC stable interrupt + 25b2: 9323 ld.w r1, (r3, 0xc) + 25b4: 3010 movi r0, 16 + 25b6: 6840 and r1, r0 + 25b8: 3940 cmpnei r1, 0 + 25ba: 0bef bt 0x2598 // 2598 + else if((SYSCON->MISR&SYSCLK_ST)==SYSCLK_ST) //SYSCLK change end & stable interrupt + 25bc: 9323 ld.w r1, (r3, 0xc) + 25be: 6848 and r1, r2 + 25c0: 3940 cmpnei r1, 0 + 25c2: 0c03 bf 0x25c8 // 25c8 + SYSCON->ICR = CMD_ERR_ST; + 25c4: b341 st.w r2, (r3, 0x4) +} + 25c6: 07ea br 0x259a // 259a + else if((SYSCON->MISR&IWDT_INT_ST)==IWDT_INT_ST) //IWDT alarm window interrupt + 25c8: 3280 movi r2, 128 + 25ca: 9323 ld.w r1, (r3, 0xc) + 25cc: 4241 lsli r2, r2, 1 + 25ce: 6848 and r1, r2 + 25d0: 3940 cmpnei r1, 0 + 25d2: 0bf9 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&WKI_INT_ST)==WKI_INT_ST) + 25d4: 3280 movi r2, 128 + 25d6: 9323 ld.w r1, (r3, 0xc) + 25d8: 4242 lsli r2, r2, 2 + 25da: 6848 and r1, r2 + 25dc: 3940 cmpnei r1, 0 + 25de: 0bf3 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&RAMERRINT_ST)==RAMERRINT_ST) //SRAM check fail interrupt + 25e0: 3280 movi r2, 128 + 25e2: 9323 ld.w r1, (r3, 0xc) + 25e4: 4243 lsli r2, r2, 3 + 25e6: 6848 and r1, r2 + 25e8: 3940 cmpnei r1, 0 + 25ea: 0bed bt 0x25c4 // 25c4 + else if((SYSCON->MISR&LVD_INT_ST)==LVD_INT_ST) //LVD threshold interrupt + 25ec: 3280 movi r2, 128 + 25ee: 9323 ld.w r1, (r3, 0xc) + 25f0: 4244 lsli r2, r2, 4 + 25f2: 6848 and r1, r2 + 25f4: 3940 cmpnei r1, 0 + 25f6: 0c03 bf 0x25fc // 25fc + nop; + 25f8: 6c03 mov r0, r0 + 25fa: 07e5 br 0x25c4 // 25c4 + else if((SYSCON->MISR&HWD_ERR_ST)==HWD_ERR_ST) //Hardware Divider divisor = 0 interrupt + 25fc: 3280 movi r2, 128 + 25fe: 9323 ld.w r1, (r3, 0xc) + 2600: 4245 lsli r2, r2, 5 + 2602: 6848 and r1, r2 + 2604: 3940 cmpnei r1, 0 + 2606: 0bdf bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EFL_ERR_ST)==EFL_ERR_ST) //Flash check fail interrupt + 2608: 3280 movi r2, 128 + 260a: 9323 ld.w r1, (r3, 0xc) + 260c: 4246 lsli r2, r2, 6 + 260e: 6848 and r1, r2 + 2610: 3940 cmpnei r1, 0 + 2612: 0bd9 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&OPTERR_INT)==OPTERR_INT) //Option load fail interrupt + 2614: 3280 movi r2, 128 + 2616: 9323 ld.w r1, (r3, 0xc) + 2618: 4247 lsli r2, r2, 7 + 261a: 6848 and r1, r2 + 261c: 3940 cmpnei r1, 0 + 261e: 0bd3 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EM_CMLST_ST)==EM_CMLST_ST) //EMOSC clock monitor fail interrupt + 2620: 3280 movi r2, 128 + 2622: 9323 ld.w r1, (r3, 0xc) + 2624: 424b lsli r2, r2, 11 + 2626: 6848 and r1, r2 + 2628: 3940 cmpnei r1, 0 + 262a: 0bcd bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EM_EVTRG0_ST)==EM_EVTRG0_ST) //Event Trigger Channel 0 Interrupt + 262c: 3280 movi r2, 128 + 262e: 9323 ld.w r1, (r3, 0xc) + 2630: 424c lsli r2, r2, 12 + 2632: 6848 and r1, r2 + 2634: 3940 cmpnei r1, 0 + 2636: 0bc7 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EM_EVTRG1_ST)==EM_EVTRG1_ST) //Event Trigger Channel 1 Interrupt + 2638: 3280 movi r2, 128 + 263a: 9323 ld.w r1, (r3, 0xc) + 263c: 424d lsli r2, r2, 13 + 263e: 6848 and r1, r2 + 2640: 3940 cmpnei r1, 0 + 2642: 0bc1 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EM_EVTRG2_ST)==EM_EVTRG2_ST) //Event Trigger Channel 2 Interrupt + 2644: 3280 movi r2, 128 + 2646: 9323 ld.w r1, (r3, 0xc) + 2648: 424e lsli r2, r2, 14 + 264a: 6848 and r1, r2 + 264c: 3940 cmpnei r1, 0 + 264e: 0bbb bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EM_EVTRG3_ST)==EM_EVTRG3_ST) //Event Trigger Channel 3 Interrupt + 2650: 3280 movi r2, 128 + 2652: 9323 ld.w r1, (r3, 0xc) + 2654: 424f lsli r2, r2, 15 + 2656: 6848 and r1, r2 + 2658: 3940 cmpnei r1, 0 + 265a: 0bb5 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST) //Command error interrupt + 265c: 3280 movi r2, 128 + 265e: 9323 ld.w r1, (r3, 0xc) + 2660: 4256 lsli r2, r2, 22 + 2662: 6848 and r1, r2 + 2664: 3940 cmpnei r1, 0 + 2666: 0baf bt 0x25c4 // 25c4 + 2668: 0799 br 0x259a // 259a + 266a: 0000 bkpt + 266c: 2000005c .long 0x2000005c + +Disassembly of section .text.IFCIntHandler: + +00002670 : +//IFC Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void IFCIntHandler(void) +{ + 2670: 1460 nie + 2672: 1462 ipush + // ISR content ... + if(IFC->MISR&ERS_END_INT) + 2674: 1078 lrw r3, 0x20000060 // 26d4 + 2676: 3101 movi r1, 1 + 2678: 9360 ld.w r3, (r3, 0x0) + 267a: 934b ld.w r2, (r3, 0x2c) + 267c: 6884 and r2, r1 + 267e: 3a40 cmpnei r2, 0 + 2680: 0c04 bf 0x2688 // 2688 + { + IFC->ICR=RGM_END_INT; + } + else if(IFC->MISR&PEP_END_INT) + { + IFC->ICR=PEP_END_INT; + 2682: b32c st.w r1, (r3, 0x30) + } + else if(IFC->MISR&OVW_ERR_INT) + { + IFC->ICR=OVW_ERR_INT; + } +} + 2684: 1463 ipop + 2686: 1461 nir + else if(IFC->MISR&RGM_END_INT) + 2688: 934b ld.w r2, (r3, 0x2c) + 268a: 3102 movi r1, 2 + 268c: 6884 and r2, r1 + 268e: 3a40 cmpnei r2, 0 + 2690: 0bf9 bt 0x2682 // 2682 + else if(IFC->MISR&PEP_END_INT) + 2692: 934b ld.w r2, (r3, 0x2c) + 2694: 3104 movi r1, 4 + 2696: 6884 and r2, r1 + 2698: 3a40 cmpnei r2, 0 + 269a: 0bf4 bt 0x2682 // 2682 + else if(IFC->MISR&PROT_ERR_INT) + 269c: 3280 movi r2, 128 + 269e: 932b ld.w r1, (r3, 0x2c) + 26a0: 4245 lsli r2, r2, 5 + 26a2: 6848 and r1, r2 + 26a4: 3940 cmpnei r1, 0 + 26a6: 0c03 bf 0x26ac // 26ac + IFC->ICR=OVW_ERR_INT; + 26a8: b34c st.w r2, (r3, 0x30) +} + 26aa: 07ed br 0x2684 // 2684 + else if(IFC->MISR&UDEF_ERR_INT) + 26ac: 3280 movi r2, 128 + 26ae: 932b ld.w r1, (r3, 0x2c) + 26b0: 4246 lsli r2, r2, 6 + 26b2: 6848 and r1, r2 + 26b4: 3940 cmpnei r1, 0 + 26b6: 0bf9 bt 0x26a8 // 26a8 + else if(IFC->MISR&ADDR_ERR_INT) + 26b8: 3280 movi r2, 128 + 26ba: 932b ld.w r1, (r3, 0x2c) + 26bc: 4247 lsli r2, r2, 7 + 26be: 6848 and r1, r2 + 26c0: 3940 cmpnei r1, 0 + 26c2: 0bf3 bt 0x26a8 // 26a8 + else if(IFC->MISR&OVW_ERR_INT) + 26c4: 3280 movi r2, 128 + 26c6: 932b ld.w r1, (r3, 0x2c) + 26c8: 4248 lsli r2, r2, 8 + 26ca: 6848 and r1, r2 + 26cc: 3940 cmpnei r1, 0 + 26ce: 0bed bt 0x26a8 // 26a8 + 26d0: 07da br 0x2684 // 2684 + 26d2: 0000 bkpt + 26d4: 20000060 .long 0x20000060 + +Disassembly of section .text.ADCIntHandler: + +000026d8 : +//ADC Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void ADCIntHandler(void) +{ + 26d8: 1460 nie + 26da: 1462 ipush + // ISR content ... + if((ADC0->SR&ADC12_EOC)==ADC12_EOC) //ADC EOC interrupt + 26dc: 1078 lrw r3, 0x20000050 // 273c + 26de: 3101 movi r1, 1 + 26e0: 9360 ld.w r3, (r3, 0x0) + 26e2: 9348 ld.w r2, (r3, 0x20) + 26e4: 6884 and r2, r1 + 26e6: 3a40 cmpnei r2, 0 + 26e8: 0c04 bf 0x26f0 // 26f0 + { + ADC0->CSR = ADC12_CMP1H; + } + else if((ADC0->SR&ADC12_CMP1L)==ADC12_CMP1L) //ADC CMP1L interrupt. + { + ADC0->CSR = ADC12_CMP1L; + 26ea: b327 st.w r1, (r3, 0x1c) + } + else if((ADC0->SR&ADC12_SEQ_END0)==ADC12_SEQ_END0) //ADC SEQ0 interrupt,SEQ1~SEQ15 replace the parameter with ADC12_SEQ_END1~ADC12_SEQ_END15 + { + ADC0->CSR = ADC12_SEQ_END0; + } +} + 26ec: 1463 ipop + 26ee: 1461 nir + else if((ADC0->SR&ADC12_READY)==ADC12_READY) //ADC READY interrupt + 26f0: 9348 ld.w r2, (r3, 0x20) + 26f2: 3102 movi r1, 2 + 26f4: 6884 and r2, r1 + 26f6: 3a40 cmpnei r2, 0 + 26f8: 0bf9 bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_OVR)==ADC12_OVR) //ADC OVR interrupt + 26fa: 9348 ld.w r2, (r3, 0x20) + 26fc: 3104 movi r1, 4 + 26fe: 6884 and r2, r1 + 2700: 3a40 cmpnei r2, 0 + 2702: 0bf4 bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_CMP0H)==ADC12_CMP0H) //ADC CMP0H interrupt + 2704: 9348 ld.w r2, (r3, 0x20) + 2706: 3110 movi r1, 16 + 2708: 6884 and r2, r1 + 270a: 3a40 cmpnei r2, 0 + 270c: 0bef bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_CMP0L)==ADC12_CMP0L) //ADC CMP0L interrupt. + 270e: 9348 ld.w r2, (r3, 0x20) + 2710: 3120 movi r1, 32 + 2712: 6884 and r2, r1 + 2714: 3a40 cmpnei r2, 0 + 2716: 0bea bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_CMP1H)==ADC12_CMP1H) //ADC CMP1H interrupt. + 2718: 9348 ld.w r2, (r3, 0x20) + 271a: 3140 movi r1, 64 + 271c: 6884 and r2, r1 + 271e: 3a40 cmpnei r2, 0 + 2720: 0be5 bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_CMP1L)==ADC12_CMP1L) //ADC CMP1L interrupt. + 2722: 9348 ld.w r2, (r3, 0x20) + 2724: 3180 movi r1, 128 + 2726: 6884 and r2, r1 + 2728: 3a40 cmpnei r2, 0 + 272a: 0be0 bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_SEQ_END0)==ADC12_SEQ_END0) //ADC SEQ0 interrupt,SEQ1~SEQ15 replace the parameter with ADC12_SEQ_END1~ADC12_SEQ_END15 + 272c: 3280 movi r2, 128 + 272e: 9328 ld.w r1, (r3, 0x20) + 2730: 4249 lsli r2, r2, 9 + 2732: 6848 and r1, r2 + 2734: 3940 cmpnei r1, 0 + 2736: 0fdb bf 0x26ec // 26ec + ADC0->CSR = ADC12_SEQ_END0; + 2738: b347 st.w r2, (r3, 0x1c) +} + 273a: 07d9 br 0x26ec // 26ec + 273c: 20000050 .long 0x20000050 + +Disassembly of section .text.EPT0IntHandler: + +00002740 : +//EPT0 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EPT0IntHandler(void) +{ + 2740: 1460 nie + 2742: 1462 ipush + 2744: 14d1 push r4, r15 + // ISR content ... + if((EPT0->MISR&EPT_TRGEV0_INT)==EPT_TRGEV0_INT) //TRGEV0 interrupt + 2746: 1387 lrw r4, 0x20000020 // 28e0 + 2748: 3280 movi r2, 128 + 274a: 9460 ld.w r3, (r4, 0x0) + 274c: 60c8 addu r3, r2 + 274e: 9335 ld.w r1, (r3, 0x54) + 2750: 3001 movi r0, 1 + 2752: 6840 and r1, r0 + 2754: 3940 cmpnei r1, 0 + 2756: 0c03 bf 0x275c // 275c + EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIFT); + R_CMPB_BUF=EPT0->CMPB; //Duty counter + } + else if((EPT0->MISR&EPT_CAP_LD2)==EPT_CAP_LD2) //Capture Load to CMPC interrupt + { + EPT0->ICR=EPT_CAP_LD2; + 2758: b317 st.w r0, (r3, 0x5c) + 275a: 0424 br 0x27a2 // 27a2 + else if((EPT0->MISR&EPT_TRGEV1_INT)==EPT_TRGEV1_INT) //TRGEV1 interrupt + 275c: 9335 ld.w r1, (r3, 0x54) + 275e: 3002 movi r0, 2 + 2760: 6840 and r1, r0 + 2762: 3940 cmpnei r1, 0 + 2764: 0bfa bt 0x2758 // 2758 + else if((EPT0->MISR&EPT_TRGEV2_INT)==EPT_TRGEV2_INT) //TRGEV2 interrupt + 2766: 9335 ld.w r1, (r3, 0x54) + 2768: 3004 movi r0, 4 + 276a: 6840 and r1, r0 + 276c: 3940 cmpnei r1, 0 + 276e: 0bf5 bt 0x2758 // 2758 + else if((EPT0->MISR&EPT_TRGEV3_INT)==EPT_TRGEV3_INT) //TRGEV3 interrupt + 2770: 9335 ld.w r1, (r3, 0x54) + 2772: 3008 movi r0, 8 + 2774: 6840 and r1, r0 + 2776: 3940 cmpnei r1, 0 + 2778: 0bf0 bt 0x2758 // 2758 + else if((EPT0->MISR&EPT_CAP_LD0)==EPT_CAP_LD0) //Capture Load to CMPA interrupt + 277a: 9335 ld.w r1, (r3, 0x54) + 277c: 3010 movi r0, 16 + 277e: 6840 and r1, r0 + 2780: 3940 cmpnei r1, 0 + 2782: 0c1f bf 0x27c0 // 27c0 + EPT0->ICR=EPT_CAP_LD0; + 2784: b317 st.w r0, (r3, 0x5c) + EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIRT); + 2786: 3200 movi r2, 0 + 2788: 3101 movi r1, 1 + 278a: 3000 movi r0, 0 + 278c: e3fffaae bsr 0x1ce8 // 1ce8 + EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIFT); + 2790: 3201 movi r2, 1 + 2792: 3101 movi r1, 1 + 2794: 3001 movi r0, 1 + 2796: e3fffaa9 bsr 0x1ce8 // 1ce8 + R_CMPA_BUF=EPT0->CMPA; //Low voltage counter + 279a: 9460 ld.w r3, (r4, 0x0) + 279c: 934b ld.w r2, (r3, 0x2c) + 279e: 1272 lrw r3, 0x200001dc // 28e4 + R_CMPB_BUF=EPT0->CMPB; //Duty counter + 27a0: b340 st.w r2, (r3, 0x0) + EPT0->ICR=EPT_PEND; + //EPT_PRDR_CMPA_CMPB_CMPC_CMPD_Config(50,0,50,0,0); + EPT_Stop(); + } + //Emergency interruption + if((EPT0->EMMISR&EPT_EP0_EMINT)==EPT_EP0_EMINT) //interrupt flag of EP0 event + 27a2: 9460 ld.w r3, (r4, 0x0) + 27a4: 3280 movi r2, 128 + 27a6: 60c8 addu r3, r2 + 27a8: 932b ld.w r1, (r3, 0x2c) + 27aa: 3001 movi r0, 1 + 27ac: 6840 and r1, r0 + 27ae: 3940 cmpnei r1, 0 + 27b0: 0c61 bf 0x2872 // 2872 + { + EPT0->EMICR=EPT_EP5_EMINT; + } + else if((EPT0->EMMISR&EPT_EP6_EMINT)==EPT_EP6_EMINT) //interrupt flag of EP6 event + { + EPT0->EMICR=EPT_EP6_EMINT; + 27b2: b30d st.w r0, (r3, 0x34) + } + else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT) //interrupt flag of EOM_FAULT event + { + EPT0->EMICR=EPT_EOM_FAULT_EMINT; + } +} + 27b4: d9ee2001 ld.w r15, (r14, 0x4) + 27b8: 9880 ld.w r4, (r14, 0x0) + 27ba: 1402 addi r14, r14, 8 + 27bc: 1463 ipop + 27be: 1461 nir + else if((EPT0->MISR&EPT_CAP_LD1)==EPT_CAP_LD1) //Capture Load to CMPB interrupt + 27c0: 9335 ld.w r1, (r3, 0x54) + 27c2: 3020 movi r0, 32 + 27c4: 6840 and r1, r0 + 27c6: 3940 cmpnei r1, 0 + 27c8: 0c10 bf 0x27e8 // 27e8 + EPT0->ICR=EPT_CAP_LD1; + 27ca: b317 st.w r0, (r3, 0x5c) + EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIRT); + 27cc: 3200 movi r2, 0 + 27ce: 3101 movi r1, 1 + 27d0: 3001 movi r0, 1 + 27d2: e3fffa8b bsr 0x1ce8 // 1ce8 + EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIFT); + 27d6: 3201 movi r2, 1 + 27d8: 3101 movi r1, 1 + 27da: 3000 movi r0, 0 + 27dc: e3fffa86 bsr 0x1ce8 // 1ce8 + R_CMPB_BUF=EPT0->CMPB; //Duty counter + 27e0: 9460 ld.w r3, (r4, 0x0) + 27e2: 934c ld.w r2, (r3, 0x30) + 27e4: 1261 lrw r3, 0x200001d8 // 28e8 + 27e6: 07dd br 0x27a0 // 27a0 + else if((EPT0->MISR&EPT_CAP_LD2)==EPT_CAP_LD2) //Capture Load to CMPC interrupt + 27e8: 9335 ld.w r1, (r3, 0x54) + 27ea: 3040 movi r0, 64 + 27ec: 6840 and r1, r0 + 27ee: 3940 cmpnei r1, 0 + 27f0: 0bb4 bt 0x2758 // 2758 + else if((EPT0->MISR&EPT_CAP_LD3)==EPT_CAP_LD3) //Capture Load to CMPD interrupt + 27f2: 9335 ld.w r1, (r3, 0x54) + 27f4: 6848 and r1, r2 + 27f6: 3940 cmpnei r1, 0 + 27f8: 0c03 bf 0x27fe // 27fe + EPT0->ICR=EPT_CDD; + 27fa: b357 st.w r2, (r3, 0x5c) + 27fc: 07d3 br 0x27a2 // 27a2 + else if((EPT0->MISR&EPT_CAU)==EPT_CAU) //Up-Counting phase CNT = CMPA interrupt + 27fe: 3280 movi r2, 128 + 2800: 9335 ld.w r1, (r3, 0x54) + 2802: 4241 lsli r2, r2, 1 + 2804: 6848 and r1, r2 + 2806: 3940 cmpnei r1, 0 + 2808: 0bf9 bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CAD)==EPT_CAD) //Down-Counting phase CNT = CMPA interrupt + 280a: 3280 movi r2, 128 + 280c: 9335 ld.w r1, (r3, 0x54) + 280e: 4242 lsli r2, r2, 2 + 2810: 6848 and r1, r2 + 2812: 3940 cmpnei r1, 0 + 2814: 0bf3 bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CBU)==EPT_CBU) //Up-Counting phase CNT = CMPB interrupt + 2816: 3280 movi r2, 128 + 2818: 9335 ld.w r1, (r3, 0x54) + 281a: 4243 lsli r2, r2, 3 + 281c: 6848 and r1, r2 + 281e: 3940 cmpnei r1, 0 + 2820: 0bed bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CBD)==EPT_CBD) //Down-Counting phase CNT = CMPB interrupt + 2822: 3280 movi r2, 128 + 2824: 9335 ld.w r1, (r3, 0x54) + 2826: 4244 lsli r2, r2, 4 + 2828: 6848 and r1, r2 + 282a: 3940 cmpnei r1, 0 + 282c: 0be7 bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CCU)==EPT_CCU) //Up-Counting phase CNT = CMPC interrupt + 282e: 3280 movi r2, 128 + 2830: 9335 ld.w r1, (r3, 0x54) + 2832: 4245 lsli r2, r2, 5 + 2834: 6848 and r1, r2 + 2836: 3940 cmpnei r1, 0 + 2838: 0be1 bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CCD)==EPT_CCD) //Down-Counting phase CNT = CMPC interrupt + 283a: 3280 movi r2, 128 + 283c: 9335 ld.w r1, (r3, 0x54) + 283e: 4246 lsli r2, r2, 6 + 2840: 6848 and r1, r2 + 2842: 3940 cmpnei r1, 0 + 2844: 0bdb bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CDU)==EPT_CDU) //Up-Counting phase CNT = CMPD interrupt + 2846: 3280 movi r2, 128 + 2848: 9335 ld.w r1, (r3, 0x54) + 284a: 4247 lsli r2, r2, 7 + 284c: 6848 and r1, r2 + 284e: 3940 cmpnei r1, 0 + 2850: 0bd5 bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CDD)==EPT_CDD) //Down-Counting phase CNT = CMPD interrupt + 2852: 3280 movi r2, 128 + 2854: 9335 ld.w r1, (r3, 0x54) + 2856: 4248 lsli r2, r2, 8 + 2858: 6848 and r1, r2 + 285a: 3940 cmpnei r1, 0 + 285c: 0bcf bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_PEND)==EPT_PEND) //End of cycle interrupt + 285e: 3280 movi r2, 128 + 2860: 9335 ld.w r1, (r3, 0x54) + 2862: 4249 lsli r2, r2, 9 + 2864: 6848 and r1, r2 + 2866: 3940 cmpnei r1, 0 + 2868: 0f9d bf 0x27a2 // 27a2 + EPT0->ICR=EPT_PEND; + 286a: b357 st.w r2, (r3, 0x5c) + EPT_Stop(); + 286c: e3fffd72 bsr 0x2350 // 2350 + 2870: 0799 br 0x27a2 // 27a2 + else if((EPT0->EMMISR&EPT_EP1_EMINT)==EPT_EP1_EMINT) //interrupt flag of EP1 event + 2872: 932b ld.w r1, (r3, 0x2c) + 2874: 3002 movi r0, 2 + 2876: 6840 and r1, r0 + 2878: 3940 cmpnei r1, 0 + 287a: 0b9c bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP2_EMINT)==EPT_EP2_EMINT) //interrupt flag of EP2 event + 287c: 932b ld.w r1, (r3, 0x2c) + 287e: 3004 movi r0, 4 + 2880: 6840 and r1, r0 + 2882: 3940 cmpnei r1, 0 + 2884: 0b97 bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP3_EMINT)==EPT_EP3_EMINT) //interrupt flag of EP3 event + 2886: 932b ld.w r1, (r3, 0x2c) + 2888: 3008 movi r0, 8 + 288a: 6840 and r1, r0 + 288c: 3940 cmpnei r1, 0 + 288e: 0b92 bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP4_EMINT)==EPT_EP4_EMINT) //interrupt flag of EP4 event + 2890: 932b ld.w r1, (r3, 0x2c) + 2892: 3010 movi r0, 16 + 2894: 6840 and r1, r0 + 2896: 3940 cmpnei r1, 0 + 2898: 0b8d bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP5_EMINT)==EPT_EP5_EMINT) //interrupt flag of EP5 event + 289a: 932b ld.w r1, (r3, 0x2c) + 289c: 3020 movi r0, 32 + 289e: 6840 and r1, r0 + 28a0: 3940 cmpnei r1, 0 + 28a2: 0b88 bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP6_EMINT)==EPT_EP6_EMINT) //interrupt flag of EP6 event + 28a4: 932b ld.w r1, (r3, 0x2c) + 28a6: 3040 movi r0, 64 + 28a8: 6840 and r1, r0 + 28aa: 3940 cmpnei r1, 0 + 28ac: 0b83 bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP7_EMINT)==EPT_EP7_EMINT) //interrupt flag of EP7 event + 28ae: 932b ld.w r1, (r3, 0x2c) + 28b0: 6848 and r1, r2 + 28b2: 3940 cmpnei r1, 0 + 28b4: 0c03 bf 0x28ba // 28ba + EPT0->EMICR=EPT_EOM_FAULT_EMINT; + 28b6: b34d st.w r2, (r3, 0x34) +} + 28b8: 077e br 0x27b4 // 27b4 + else if((EPT0->EMMISR&EPT_CPU_FAULT_EMINT)==EPT_CPU_FAULT_EMINT) //interrupt flag of CPU_FAULT event + 28ba: 3280 movi r2, 128 + 28bc: 932b ld.w r1, (r3, 0x2c) + 28be: 4241 lsli r2, r2, 1 + 28c0: 6848 and r1, r2 + 28c2: 3940 cmpnei r1, 0 + 28c4: 0bf9 bt 0x28b6 // 28b6 + else if((EPT0->EMMISR&EPT_MEM_FAULT_EMINT)==EPT_MEM_FAULT_EMINT) //interrupt flag of MEM_FAULT event + 28c6: 3280 movi r2, 128 + 28c8: 932b ld.w r1, (r3, 0x2c) + 28ca: 4242 lsli r2, r2, 2 + 28cc: 6848 and r1, r2 + 28ce: 3940 cmpnei r1, 0 + 28d0: 0bf3 bt 0x28b6 // 28b6 + else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT) //interrupt flag of EOM_FAULT event + 28d2: 3280 movi r2, 128 + 28d4: 932b ld.w r1, (r3, 0x2c) + 28d6: 4243 lsli r2, r2, 3 + 28d8: 6848 and r1, r2 + 28da: 3940 cmpnei r1, 0 + 28dc: 0bed bt 0x28b6 // 28b6 + 28de: 076b br 0x27b4 // 27b4 + 28e0: 20000020 .long 0x20000020 + 28e4: 200001dc .long 0x200001dc + 28e8: 200001d8 .long 0x200001d8 + +Disassembly of section .text.WWDTHandler: + +000028ec : +//WWDT Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void WWDTHandler(void) +{ + 28ec: 1460 nie + 28ee: 1462 ipush + 28f0: 14d2 push r4-r5, r15 + WWDT->ICR=0X01; + 28f2: 10ab lrw r5, 0x20000010 // 291c + 28f4: 3401 movi r4, 1 + 28f6: 9560 ld.w r3, (r5, 0x0) + 28f8: b385 st.w r4, (r3, 0x14) + WWDT_CNT_Load(0xFF); + 28fa: 30ff movi r0, 255 + 28fc: e3fffc06 bsr 0x2108 // 2108 + if((WWDT->MISR&WWDT_EVI)==WWDT_EVI) //WWDT EVI interrupt + 2900: 9540 ld.w r2, (r5, 0x0) + 2902: 9263 ld.w r3, (r2, 0xc) + 2904: 68d0 and r3, r4 + 2906: 3b40 cmpnei r3, 0 + 2908: 0c02 bf 0x290c // 290c + { + WWDT->ICR = WWDT_EVI; + 290a: b285 st.w r4, (r2, 0x14) + } +} + 290c: d9ee2002 ld.w r15, (r14, 0x8) + 2910: 98a1 ld.w r5, (r14, 0x4) + 2912: 9880 ld.w r4, (r14, 0x0) + 2914: 1403 addi r14, r14, 12 + 2916: 1463 ipop + 2918: 1461 nir + 291a: 0000 bkpt + 291c: 20000010 .long 0x20000010 + +Disassembly of section .text.GPT0IntHandler: + +00002920 : +//GPT0 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void GPT0IntHandler(void) +{ + 2920: 1460 nie + 2922: 1462 ipush + // ISR content ... + if((GPT0->MISR&GPT_INT_TRGEV0)==GPT_INT_TRGEV0) //TRGEV0 interrupt + 2924: 107e lrw r3, 0x20000024 // 299c + 2926: 3101 movi r1, 1 + 2928: 9360 ld.w r3, (r3, 0x0) + 292a: 237f addi r3, 128 + 292c: 9355 ld.w r2, (r3, 0x54) + 292e: 6884 and r2, r1 + 2930: 3a40 cmpnei r2, 0 + 2932: 0c04 bf 0x293a // 293a + { + GPT0->ICR = GPT_INT_CAPLD0; + } + else if((GPT0->MISR&GPT_INT_CAPLD1)==GPT_INT_CAPLD1) //Capture Load to CMPB interrupt + { + GPT0->ICR = GPT_INT_CAPLD1; + 2934: b337 st.w r1, (r3, 0x5c) + } + else if((GPT0->MISR&GPT_INT_PEND)==GPT_INT_PEND) //End of cycle interrupt + { + GPT0->ICR = GPT_INT_PEND; + } +} + 2936: 1463 ipop + 2938: 1461 nir + else if((GPT0->MISR&GPT_INT_TRGEV1)==GPT_INT_TRGEV1) //TRGEV1 interrupt + 293a: 9355 ld.w r2, (r3, 0x54) + 293c: 3102 movi r1, 2 + 293e: 6884 and r2, r1 + 2940: 3a40 cmpnei r2, 0 + 2942: 0bf9 bt 0x2934 // 2934 + else if((GPT0->MISR&GPT_INT_CAPLD0)==GPT_INT_CAPLD0) //Capture Load to CMPA interrupt + 2944: 9355 ld.w r2, (r3, 0x54) + 2946: 3110 movi r1, 16 + 2948: 6884 and r2, r1 + 294a: 3a40 cmpnei r2, 0 + 294c: 0bf4 bt 0x2934 // 2934 + else if((GPT0->MISR&GPT_INT_CAPLD1)==GPT_INT_CAPLD1) //Capture Load to CMPB interrupt + 294e: 9355 ld.w r2, (r3, 0x54) + 2950: 3120 movi r1, 32 + 2952: 6884 and r2, r1 + 2954: 3a40 cmpnei r2, 0 + 2956: 0bef bt 0x2934 // 2934 + else if((GPT0->MISR&GPT_INT_CAU)==GPT_INT_CAU) //Up-Counting phase CNT = CMPA Interrupt + 2958: 3280 movi r2, 128 + 295a: 9335 ld.w r1, (r3, 0x54) + 295c: 4241 lsli r2, r2, 1 + 295e: 6848 and r1, r2 + 2960: 3940 cmpnei r1, 0 + 2962: 0c03 bf 0x2968 // 2968 + GPT0->ICR = GPT_INT_PEND; + 2964: b357 st.w r2, (r3, 0x5c) +} + 2966: 07e8 br 0x2936 // 2936 + else if((GPT0->MISR&GPT_INT_CAD)==GPT_INT_CAD) //Down-Counting phase CNT = CMPA Interrupt + 2968: 3280 movi r2, 128 + 296a: 9335 ld.w r1, (r3, 0x54) + 296c: 4242 lsli r2, r2, 2 + 296e: 6848 and r1, r2 + 2970: 3940 cmpnei r1, 0 + 2972: 0bf9 bt 0x2964 // 2964 + else if((GPT0->MISR&GPT_INT_CBU)==GPT_INT_CBU) //Up-Counting phase CNT = CMPB Interrupt + 2974: 3280 movi r2, 128 + 2976: 9335 ld.w r1, (r3, 0x54) + 2978: 4243 lsli r2, r2, 3 + 297a: 6848 and r1, r2 + 297c: 3940 cmpnei r1, 0 + 297e: 0bf3 bt 0x2964 // 2964 + else if((GPT0->MISR&GPT_INT_CBD)==GPT_INT_CBD) //Down-Counting phase CNT = CMPB Interrupt + 2980: 3280 movi r2, 128 + 2982: 9335 ld.w r1, (r3, 0x54) + 2984: 4244 lsli r2, r2, 4 + 2986: 6848 and r1, r2 + 2988: 3940 cmpnei r1, 0 + 298a: 0bed bt 0x2964 // 2964 + else if((GPT0->MISR&GPT_INT_PEND)==GPT_INT_PEND) //End of cycle interrupt + 298c: 3280 movi r2, 128 + 298e: 9335 ld.w r1, (r3, 0x54) + 2990: 4249 lsli r2, r2, 9 + 2992: 6848 and r1, r2 + 2994: 3940 cmpnei r1, 0 + 2996: 0be7 bt 0x2964 // 2964 + 2998: 07cf br 0x2936 // 2936 + 299a: 0000 bkpt + 299c: 20000024 .long 0x20000024 + +Disassembly of section .text.RTCIntHandler: + +000029a0 : +//RTC Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void RTCIntHandler(void) +{ + 29a0: 1460 nie + 29a2: 1462 ipush + // ISR content ... + if((RTC->MISR&ALRA_INT)==ALRA_INT) //Interrupt of alarm A + 29a4: 1079 lrw r3, 0x20000018 // 2a08 + 29a6: 3101 movi r1, 1 + 29a8: 9360 ld.w r3, (r3, 0x0) + 29aa: 934a ld.w r2, (r3, 0x28) + 29ac: 6884 and r2, r1 + 29ae: 3a40 cmpnei r2, 0 + 29b0: 0c14 bf 0x29d8 // 29d8 + { + RTC->ICR=ALRA_INT; + RTC->KEY=0XCA53; + 29b2: 1057 lrw r2, 0xca53 // 2a0c + RTC->ICR=ALRA_INT; + 29b4: b32b st.w r1, (r3, 0x2c) + RTC->KEY=0XCA53; + 29b6: b34c st.w r2, (r3, 0x30) + RTC->CR=RTC->CR|0x01; + 29b8: 9342 ld.w r2, (r3, 0x8) + 29ba: 6c84 or r2, r1 + 29bc: b342 st.w r2, (r3, 0x8) + RTC->TIMR=(0x10<<16)|(0x00<<8)|(0x00); //Hour bit6->0:am 1:pm + 29be: 3280 movi r2, 128 + 29c0: 424d lsli r2, r2, 13 + 29c2: b340 st.w r2, (r3, 0x0) + while(RTC->CR&0x02); //busy TIMR DATR ALRAR ALRBR Update done + 29c4: 3102 movi r1, 2 + 29c6: 9342 ld.w r2, (r3, 0x8) + 29c8: 6884 and r2, r1 + 29ca: 3a40 cmpnei r2, 0 + 29cc: 0bfd bt 0x29c6 // 29c6 + RTC->CR &= ~0x1; + 29ce: 9342 ld.w r2, (r3, 0x8) + 29d0: 3a80 bclri r2, 0 + 29d2: b342 st.w r2, (r3, 0x8) + } + else if((RTC->MISR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT) //Interrupt of trigger event 1 + { + RTC->ICR=RTC_TRGEV1_INT; + } +} + 29d4: 1463 ipop + 29d6: 1461 nir + else if((RTC->MISR&ALRB_INT)==ALRB_INT) //Interrupt of alarm B + 29d8: 934a ld.w r2, (r3, 0x28) + 29da: 3102 movi r1, 2 + 29dc: 6884 and r2, r1 + 29de: 3a40 cmpnei r2, 0 + 29e0: 0c03 bf 0x29e6 // 29e6 + RTC->ICR=RTC_TRGEV1_INT; + 29e2: b32b st.w r1, (r3, 0x2c) +} + 29e4: 07f8 br 0x29d4 // 29d4 + else if((RTC->MISR&CPRD_INT)==CPRD_INT) //Interrupt of alarm CPRD + 29e6: 934a ld.w r2, (r3, 0x28) + 29e8: 3104 movi r1, 4 + 29ea: 6884 and r2, r1 + 29ec: 3a40 cmpnei r2, 0 + 29ee: 0bfa bt 0x29e2 // 29e2 + else if((RTC->MISR&RTC_TRGEV0_INT)==RTC_TRGEV0_INT) //Interrupt of trigger event 0 + 29f0: 934a ld.w r2, (r3, 0x28) + 29f2: 3108 movi r1, 8 + 29f4: 6884 and r2, r1 + 29f6: 3a40 cmpnei r2, 0 + 29f8: 0bf5 bt 0x29e2 // 29e2 + else if((RTC->MISR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT) //Interrupt of trigger event 1 + 29fa: 934a ld.w r2, (r3, 0x28) + 29fc: 3110 movi r1, 16 + 29fe: 6884 and r2, r1 + 2a00: 3a40 cmpnei r2, 0 + 2a02: 0bf0 bt 0x29e2 // 29e2 + 2a04: 07e8 br 0x29d4 // 29d4 + 2a06: 0000 bkpt + 2a08: 20000018 .long 0x20000018 + 2a0c: 0000ca53 .long 0x0000ca53 + +Disassembly of section .text.UART0IntHandler: + +00002a10 : +//UART0 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART0IntHandler(void) +{ + 2a10: 1460 nie + 2a12: 1462 ipush + 2a14: 14d0 push r15 + char inchar = 0; + + // ISR content ... + if ((UART0->ISR&UART_RX_INT_S)==UART_RX_INT_S) //RX interrupt + 2a16: 1076 lrw r3, 0x20000040 // 2a6c + 2a18: 3102 movi r1, 2 + 2a1a: 9360 ld.w r3, (r3, 0x0) + 2a1c: 9343 ld.w r2, (r3, 0xc) + 2a1e: 6884 and r2, r1 + 2a20: 3a40 cmpnei r2, 0 + 2a22: 0c0b bf 0x2a38 // 2a38 + { + UART0->ISR=UART_RX_INT_S; + 2a24: b323 st.w r1, (r3, 0xc) + inchar = CSP_UART_GET_DATA(UART0); + 2a26: 9300 ld.w r0, (r3, 0x0) + UART0_RecvINT_Processing(inchar); + 2a28: 7400 zextb r0, r0 + 2a2a: e00003a1 bsr 0x316c // 316c + else if ((UART0->ISR&UART_TX_DONE_S)==UART_TX_DONE_S) + { + UART0->ISR=UART_TX_DONE_S; + } + +} + 2a2e: d9ee2000 ld.w r15, (r14, 0x0) + 2a32: 1401 addi r14, r14, 4 + 2a34: 1463 ipop + 2a36: 1461 nir + else if( (UART0->ISR&UART_TX_INT_S)==UART_TX_INT_S ) //TX interrupt + 2a38: 9343 ld.w r2, (r3, 0xc) + 2a3a: 3101 movi r1, 1 + 2a3c: 6884 and r2, r1 + 2a3e: 3a40 cmpnei r2, 0 + 2a40: 0c03 bf 0x2a46 // 2a46 + UART0->ISR=UART_TX_IOV_S; + 2a42: b323 st.w r1, (r3, 0xc) + 2a44: 07f5 br 0x2a2e // 2a2e + else if ((UART0->ISR&UART_RX_IOV_S)==UART_RX_IOV_S) //RX overrun interrupt + 2a46: 9343 ld.w r2, (r3, 0xc) + 2a48: 3108 movi r1, 8 + 2a4a: 6884 and r2, r1 + 2a4c: 3a40 cmpnei r2, 0 + 2a4e: 0bfa bt 0x2a42 // 2a42 + else if ((UART0->ISR&UART_TX_IOV_S)==UART_TX_IOV_S) //TX overrun interrupt + 2a50: 9343 ld.w r2, (r3, 0xc) + 2a52: 3104 movi r1, 4 + 2a54: 6884 and r2, r1 + 2a56: 3a40 cmpnei r2, 0 + 2a58: 0bf5 bt 0x2a42 // 2a42 + else if ((UART0->ISR&UART_TX_DONE_S)==UART_TX_DONE_S) + 2a5a: 3280 movi r2, 128 + 2a5c: 9323 ld.w r1, (r3, 0xc) + 2a5e: 424c lsli r2, r2, 12 + 2a60: 6848 and r1, r2 + 2a62: 3940 cmpnei r1, 0 + 2a64: 0fe5 bf 0x2a2e // 2a2e + UART0->ISR=UART_TX_DONE_S; + 2a66: b343 st.w r2, (r3, 0xc) +} + 2a68: 07e3 br 0x2a2e // 2a2e + 2a6a: 0000 bkpt + 2a6c: 20000040 .long 0x20000040 + +Disassembly of section .text.UART1IntHandler: + +00002a70 : +//UART1 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART1IntHandler(void) +{ + 2a70: 1460 nie + 2a72: 1462 ipush + 2a74: 14d0 push r15 + char inchar = 0; + + // ISR content ... + if ((UART1->ISR&UART_RX_INT_S)==UART_RX_INT_S) //RX interrupt + 2a76: 107f lrw r3, 0x2000003c // 2af0 + 2a78: 3102 movi r1, 2 + 2a7a: 9360 ld.w r3, (r3, 0x0) + 2a7c: 9343 ld.w r2, (r3, 0xc) + 2a7e: 6884 and r2, r1 + 2a80: 3a40 cmpnei r2, 0 + 2a82: 0c0b bf 0x2a98 // 2a98 + { + UART1->ISR=UART_RX_INT_S; + 2a84: b323 st.w r1, (r3, 0xc) + inchar = CSP_UART_GET_DATA(UART1); + 2a86: 9300 ld.w r0, (r3, 0x0) + UART1_RecvINT_Processing(inchar); + 2a88: 7400 zextb r0, r0 + 2a8a: e000038d bsr 0x31a4 // 31a4 + if(RS485_Comm_Flag1 == 0x01){ + RS485_Comm_End1 ++; + } + + } +} + 2a8e: d9ee2000 ld.w r15, (r14, 0x0) + 2a92: 1401 addi r14, r14, 4 + 2a94: 1463 ipop + 2a96: 1461 nir + else if( (UART1->ISR&UART_TX_INT_S)==UART_TX_INT_S ) //TX interrupt + 2a98: 9323 ld.w r1, (r3, 0xc) + 2a9a: 3201 movi r2, 1 + 2a9c: 6848 and r1, r2 + 2a9e: 3940 cmpnei r1, 0 + 2aa0: 0c0d bf 0x2aba // 2aba + UART1->ISR=UART_TX_INT_S; + 2aa2: b343 st.w r2, (r3, 0xc) + RS485_Comming1 = 0x01; + 2aa4: 1074 lrw r3, 0x20000134 // 2af4 + 2aa6: b340 st.w r2, (r3, 0x0) + if(RS485_Comm_Flag1 == 0x01){ + 2aa8: 1074 lrw r3, 0x20000138 // 2af8 + 2aaa: 9360 ld.w r3, (r3, 0x0) + 2aac: 3b41 cmpnei r3, 1 + 2aae: 0bf0 bt 0x2a8e // 2a8e + RS485_Comm_Start1 ++; + 2ab0: 1053 lrw r2, 0x2000013c // 2afc + RS485_Comm_End1 ++; + 2ab2: 9260 ld.w r3, (r2, 0x0) + 2ab4: 2300 addi r3, 1 + 2ab6: b260 st.w r3, (r2, 0x0) +} + 2ab8: 07eb br 0x2a8e // 2a8e + else if ((UART1->ISR&UART_RX_IOV_S)==UART_RX_IOV_S) //RX overrun interrupt + 2aba: 9343 ld.w r2, (r3, 0xc) + 2abc: 3108 movi r1, 8 + 2abe: 6884 and r2, r1 + 2ac0: 3a40 cmpnei r2, 0 + 2ac2: 0c03 bf 0x2ac8 // 2ac8 + UART1->ISR=UART_TX_IOV_S; + 2ac4: b323 st.w r1, (r3, 0xc) + 2ac6: 07e4 br 0x2a8e // 2a8e + else if ((UART1->ISR&UART_TX_IOV_S)==UART_TX_IOV_S) //TX overrun interrupt + 2ac8: 9343 ld.w r2, (r3, 0xc) + 2aca: 3104 movi r1, 4 + 2acc: 6884 and r2, r1 + 2ace: 3a40 cmpnei r2, 0 + 2ad0: 0bfa bt 0x2ac4 // 2ac4 + else if ((UART1->ISR&UART_TX_DONE_S)==UART_TX_DONE_S) + 2ad2: 3180 movi r1, 128 + 2ad4: 9303 ld.w r0, (r3, 0xc) + 2ad6: 412c lsli r1, r1, 12 + 2ad8: 6804 and r0, r1 + 2ada: 3840 cmpnei r0, 0 + 2adc: 0fd9 bf 0x2a8e // 2a8e + UART1->ISR=UART_TX_DONE_S; + 2ade: b323 st.w r1, (r3, 0xc) + RS485_Comming1 = 0x00; + 2ae0: 1065 lrw r3, 0x20000134 // 2af4 + 2ae2: b340 st.w r2, (r3, 0x0) + if(RS485_Comm_Flag1 == 0x01){ + 2ae4: 1065 lrw r3, 0x20000138 // 2af8 + 2ae6: 9360 ld.w r3, (r3, 0x0) + 2ae8: 3b41 cmpnei r3, 1 + 2aea: 0bd2 bt 0x2a8e // 2a8e + RS485_Comm_End1 ++; + 2aec: 1045 lrw r2, 0x20000140 // 2b00 + 2aee: 07e2 br 0x2ab2 // 2ab2 + 2af0: 2000003c .long 0x2000003c + 2af4: 20000134 .long 0x20000134 + 2af8: 20000138 .long 0x20000138 + 2afc: 2000013c .long 0x2000013c + 2b00: 20000140 .long 0x20000140 + +Disassembly of section .text.UART2IntHandler: + +00002b04 : +//UART2 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART2IntHandler(void) +{ + 2b04: 1460 nie + 2b06: 1462 ipush + 2b08: 14d0 push r15 + char inchar = 0; + + // ISR content ... + if ((UART2->ISR&UART_RX_INT_S)==UART_RX_INT_S) //RX interrupt + 2b0a: 107f lrw r3, 0x20000038 // 2b84 + 2b0c: 3102 movi r1, 2 + 2b0e: 9360 ld.w r3, (r3, 0x0) + 2b10: 9343 ld.w r2, (r3, 0xc) + 2b12: 6884 and r2, r1 + 2b14: 3a40 cmpnei r2, 0 + 2b16: 0c0b bf 0x2b2c // 2b2c + { + UART2->ISR=UART_RX_INT_S; + 2b18: b323 st.w r1, (r3, 0xc) + inchar = CSP_UART_GET_DATA(UART2); + 2b1a: 9300 ld.w r0, (r3, 0x0) + UART2_RecvINT_Processing(inchar); + 2b1c: 7400 zextb r0, r0 + 2b1e: e0000395 bsr 0x3248 // 3248 + RS485_Comm_End ++; + } + + } + +} + 2b22: d9ee2000 ld.w r15, (r14, 0x0) + 2b26: 1401 addi r14, r14, 4 + 2b28: 1463 ipop + 2b2a: 1461 nir + else if( (UART2->ISR&UART_TX_INT_S)==UART_TX_INT_S ) //TX interrupt + 2b2c: 9323 ld.w r1, (r3, 0xc) + 2b2e: 3201 movi r2, 1 + 2b30: 6848 and r1, r2 + 2b32: 3940 cmpnei r1, 0 + 2b34: 0c0d bf 0x2b4e // 2b4e + UART2->ISR=UART_TX_INT_S; + 2b36: b343 st.w r2, (r3, 0xc) + RS485_Comming = 0x01; + 2b38: 1074 lrw r3, 0x20000124 // 2b88 + 2b3a: b340 st.w r2, (r3, 0x0) + if(RS485_Comm_Flag == 0x01){ + 2b3c: 1074 lrw r3, 0x20000128 // 2b8c + 2b3e: 9360 ld.w r3, (r3, 0x0) + 2b40: 3b41 cmpnei r3, 1 + 2b42: 0bf0 bt 0x2b22 // 2b22 + RS485_Comm_Start ++; + 2b44: 1053 lrw r2, 0x2000012c // 2b90 + RS485_Comm_End ++; + 2b46: 9260 ld.w r3, (r2, 0x0) + 2b48: 2300 addi r3, 1 + 2b4a: b260 st.w r3, (r2, 0x0) +} + 2b4c: 07eb br 0x2b22 // 2b22 + else if ((UART2->ISR&UART_RX_IOV_S)==UART_RX_IOV_S) //RX overrun interrupt + 2b4e: 9343 ld.w r2, (r3, 0xc) + 2b50: 3108 movi r1, 8 + 2b52: 6884 and r2, r1 + 2b54: 3a40 cmpnei r2, 0 + 2b56: 0c03 bf 0x2b5c // 2b5c + UART2->ISR=UART_TX_IOV_S; + 2b58: b323 st.w r1, (r3, 0xc) + 2b5a: 07e4 br 0x2b22 // 2b22 + else if ((UART2->ISR&UART_TX_IOV_S)==UART_TX_IOV_S) //TX overrun interrupt + 2b5c: 9343 ld.w r2, (r3, 0xc) + 2b5e: 3104 movi r1, 4 + 2b60: 6884 and r2, r1 + 2b62: 3a40 cmpnei r2, 0 + 2b64: 0bfa bt 0x2b58 // 2b58 + else if ((UART2->ISR&UART_TX_DONE_S)==UART_TX_DONE_S) + 2b66: 3180 movi r1, 128 + 2b68: 9303 ld.w r0, (r3, 0xc) + 2b6a: 412c lsli r1, r1, 12 + 2b6c: 6804 and r0, r1 + 2b6e: 3840 cmpnei r0, 0 + 2b70: 0fd9 bf 0x2b22 // 2b22 + UART2->ISR=UART_TX_DONE_S; + 2b72: b323 st.w r1, (r3, 0xc) + RS485_Comming = 0x00; + 2b74: 1065 lrw r3, 0x20000124 // 2b88 + 2b76: b340 st.w r2, (r3, 0x0) + if(RS485_Comm_Flag == 0x01){ + 2b78: 1065 lrw r3, 0x20000128 // 2b8c + 2b7a: 9360 ld.w r3, (r3, 0x0) + 2b7c: 3b41 cmpnei r3, 1 + 2b7e: 0bd2 bt 0x2b22 // 2b22 + RS485_Comm_End ++; + 2b80: 1045 lrw r2, 0x20000130 // 2b94 + 2b82: 07e2 br 0x2b46 // 2b46 + 2b84: 20000038 .long 0x20000038 + 2b88: 20000124 .long 0x20000124 + 2b8c: 20000128 .long 0x20000128 + 2b90: 2000012c .long 0x2000012c + 2b94: 20000130 .long 0x20000130 + +Disassembly of section .text.SPI0IntHandler: + +00002b98 : +//SPI Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SPI0IntHandler(void) +{ + 2b98: 1460 nie + 2b9a: 1462 ipush + // ISR content ... + if((SPI0->MISR&SPI_PORIM)==SPI_PORIM) //Receive Overrun Interrupt + 2b9c: 1178 lrw r3, 0x20000034 // 2c7c + 2b9e: 3101 movi r1, 1 + 2ba0: 9360 ld.w r3, (r3, 0x0) + 2ba2: 9347 ld.w r2, (r3, 0x1c) + 2ba4: 6884 and r2, r1 + 2ba6: 3a40 cmpnei r2, 0 + 2ba8: 0c03 bf 0x2bae // 2bae + } + } + } + else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM) //Transmit FIFO Interrupt + { + SPI0->ICR = SPI_TXIM; + 2baa: b328 st.w r1, (r3, 0x20) + } + +} + 2bac: 0407 br 0x2bba // 2bba + else if((SPI0->MISR&SPI_RTIM)==SPI_RTIM) //Receive Timeout Interrupt + 2bae: 9347 ld.w r2, (r3, 0x1c) + 2bb0: 3002 movi r0, 2 + 2bb2: 6880 and r2, r0 + 2bb4: 3a40 cmpnei r2, 0 + 2bb6: 0c04 bf 0x2bbe // 2bbe + SPI0->ICR = SPI_RTIM; + 2bb8: b308 st.w r0, (r3, 0x20) +} + 2bba: 1463 ipop + 2bbc: 1461 nir + else if((SPI0->MISR&SPI_RXIM)==SPI_RXIM) //Receive FIFO Interrupt,FIFO can be set 1/8,1/4,1/2 FIFO Interrupt + 2bbe: 9347 ld.w r2, (r3, 0x1c) + 2bc0: 3004 movi r0, 4 + 2bc2: 6880 and r2, r0 + 2bc4: 3a40 cmpnei r2, 0 + 2bc6: 0c55 bf 0x2c70 // 2c70 + SPI0->ICR = SPI_RXIM; + 2bc8: b308 st.w r0, (r3, 0x20) + if(SPI0->DR==0xaa) + 2bca: 9302 ld.w r0, (r3, 0x8) + 2bcc: 32aa movi r2, 170 + 2bce: 6482 cmpne r0, r2 + 2bd0: 083e bt 0x2c4c // 2c4c + while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? + 2bd2: 3102 movi r1, 2 + 2bd4: 9343 ld.w r2, (r3, 0xc) + 2bd6: 6884 and r2, r1 + 2bd8: 3a40 cmpnei r2, 0 + 2bda: 0ffd bf 0x2bd4 // 2bd4 + SPI0->DR = 0x11; + 2bdc: 3211 movi r2, 17 + 2bde: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2be0: 3110 movi r1, 16 + 2be2: 9343 ld.w r2, (r3, 0xc) + 2be4: 6884 and r2, r1 + 2be6: 3a40 cmpnei r2, 0 + 2be8: 0bfd bt 0x2be2 // 2be2 + while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? + 2bea: 3102 movi r1, 2 + 2bec: 9343 ld.w r2, (r3, 0xc) + 2bee: 6884 and r2, r1 + 2bf0: 3a40 cmpnei r2, 0 + 2bf2: 0ffd bf 0x2bec // 2bec + SPI0->DR = 0x12; + 2bf4: 3212 movi r2, 18 + 2bf6: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2bf8: 3110 movi r1, 16 + 2bfa: 9343 ld.w r2, (r3, 0xc) + 2bfc: 6884 and r2, r1 + 2bfe: 3a40 cmpnei r2, 0 + 2c00: 0bfd bt 0x2bfa // 2bfa + while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? + 2c02: 3102 movi r1, 2 + 2c04: 9343 ld.w r2, (r3, 0xc) + 2c06: 6884 and r2, r1 + 2c08: 3a40 cmpnei r2, 0 + 2c0a: 0ffd bf 0x2c04 // 2c04 + SPI0->DR = 0x13; + 2c0c: 3213 movi r2, 19 + 2c0e: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2c10: 3110 movi r1, 16 + 2c12: 9343 ld.w r2, (r3, 0xc) + 2c14: 6884 and r2, r1 + 2c16: 3a40 cmpnei r2, 0 + 2c18: 0bfd bt 0x2c12 // 2c12 + while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? + 2c1a: 3102 movi r1, 2 + 2c1c: 9343 ld.w r2, (r3, 0xc) + 2c1e: 6884 and r2, r1 + 2c20: 3a40 cmpnei r2, 0 + 2c22: 0ffd bf 0x2c1c // 2c1c + SPI0->DR = 0x14; + 2c24: 3214 movi r2, 20 + 2c26: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2c28: 3110 movi r1, 16 + 2c2a: 9343 ld.w r2, (r3, 0xc) + 2c2c: 6884 and r2, r1 + 2c2e: 3a40 cmpnei r2, 0 + 2c30: 0bfd bt 0x2c2a // 2c2a + while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? + 2c32: 3102 movi r1, 2 + 2c34: 9343 ld.w r2, (r3, 0xc) + 2c36: 6884 and r2, r1 + 2c38: 3a40 cmpnei r2, 0 + 2c3a: 0ffd bf 0x2c34 // 2c34 + SPI0->DR = 0x15; + 2c3c: 3215 movi r2, 21 + 2c3e: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2c40: 3110 movi r1, 16 + 2c42: 9343 ld.w r2, (r3, 0xc) + 2c44: 6884 and r2, r1 + 2c46: 3a40 cmpnei r2, 0 + 2c48: 0bfd bt 0x2c42 // 2c42 + 2c4a: 07b8 br 0x2bba // 2bba + if(((SPI0->SR) & SSP_TFE)!=SSP_TFE) + 2c4c: 9343 ld.w r2, (r3, 0xc) + 2c4e: 6884 and r2, r1 + 2c50: 3a40 cmpnei r2, 0 + 2c52: 0bb4 bt 0x2bba // 2bba + SPI0->DR=0x0; //FIFO=0 + 2c54: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2c56: 3110 movi r1, 16 + SPI0->DR=0x0; //FIFO=0 + 2c58: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c5a: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c5c: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c5e: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c60: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c62: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c64: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2c66: 9343 ld.w r2, (r3, 0xc) + 2c68: 6884 and r2, r1 + 2c6a: 3a40 cmpnei r2, 0 + 2c6c: 0bfd bt 0x2c66 // 2c66 + 2c6e: 07a6 br 0x2bba // 2bba + else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM) //Transmit FIFO Interrupt + 2c70: 9347 ld.w r2, (r3, 0x1c) + 2c72: 3108 movi r1, 8 + 2c74: 6884 and r2, r1 + 2c76: 3a40 cmpnei r2, 0 + 2c78: 0b99 bt 0x2baa // 2baa + 2c7a: 07a0 br 0x2bba // 2bba + 2c7c: 20000034 .long 0x20000034 + +Disassembly of section .text.SIO0IntHandler: + +00002c80 : +//SIO Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SIO0IntHandler(void) +{ + 2c80: 1460 nie + 2c82: 1462 ipush + CK801->IPR[4]=0X40404040; + CK801->IPR[5]=0X40404000; + CK801->IPR[6]=0X40404040; + CK801->IPR[7]=0X40404040;*/ + //TXBUFEMPT The sequence length exceeds 15bit needs to be updated into this interrupt + if(SIO0->MISR&0X04) + 2c84: 1073 lrw r3, 0x2000002c // 2cd0 + 2c86: 3104 movi r1, 4 + 2c88: 9360 ld.w r3, (r3, 0x0) + 2c8a: 9349 ld.w r2, (r3, 0x24) + 2c8c: 6884 and r2, r1 + 2c8e: 3a40 cmpnei r2, 0 + 2c90: 0c02 bf 0x2c94 // 2c94 + { + SIO0->ICR=0X04; + 2c92: b32b st.w r1, (r3, 0x2c) + + } + if(SIO0->MISR&0X01) //TXDNE 发送完成 + 2c94: 9349 ld.w r2, (r3, 0x24) + 2c96: 3101 movi r1, 1 + 2c98: 6884 and r2, r1 + 2c9a: 3a40 cmpnei r2, 0 + 2c9c: 0c02 bf 0x2ca0 // 2ca0 + { + SIO0->ICR=0X01; + 2c9e: b32b st.w r1, (r3, 0x2c) + delay_nms(10); + SIO0->TXBUF=(0x03<<30)|(0x02<<28)|(0x03<<26)|(0x02<<24)|(0x03<<22)|(0x02<<20)|(0x03<<18)|(0x02<<16)| + (0x01<<14)|(0x00<<12)|(0x01<<10)|(0x00<<8)|(0x01<<6)|(0x00<<4)|(0x01<<2)|(0x0<<0); //0:D0,1:D1,2:DL,3:DH; + }*/ + + if(SIO0->MISR&0X02) //RXDNE + 2ca0: 9349 ld.w r2, (r3, 0x24) + 2ca2: 3102 movi r1, 2 + 2ca4: 6884 and r2, r1 + 2ca6: 3a40 cmpnei r2, 0 + 2ca8: 0c03 bf 0x2cae // 2cae + { + SIO0->ICR=0X10; + } + else if(SIO0->MISR&0X020) //TIMEOUT + { + SIO0->ICR=0X20; + 2caa: b32b st.w r1, (r3, 0x2c) + } +} + 2cac: 0410 br 0x2ccc // 2ccc + else if(SIO0->MISR&0X08) //RXBUFFULL + 2cae: 9349 ld.w r2, (r3, 0x24) + 2cb0: 3108 movi r1, 8 + 2cb2: 6884 and r2, r1 + 2cb4: 3a40 cmpnei r2, 0 + 2cb6: 0bfa bt 0x2caa // 2caa + else if(SIO0->MISR&0X010) //BREAK + 2cb8: 9349 ld.w r2, (r3, 0x24) + 2cba: 3110 movi r1, 16 + 2cbc: 6884 and r2, r1 + 2cbe: 3a40 cmpnei r2, 0 + 2cc0: 0bf5 bt 0x2caa // 2caa + else if(SIO0->MISR&0X020) //TIMEOUT + 2cc2: 9349 ld.w r2, (r3, 0x24) + 2cc4: 3120 movi r1, 32 + 2cc6: 6884 and r2, r1 + 2cc8: 3a40 cmpnei r2, 0 + 2cca: 0bf0 bt 0x2caa // 2caa +} + 2ccc: 1463 ipop + 2cce: 1461 nir + 2cd0: 2000002c .long 0x2000002c + +Disassembly of section .text.EXI0IntHandler: + +00002cd4 : +//EXT0/16 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI0IntHandler(void) +{ + 2cd4: 1460 nie + 2cd6: 1462 ipush + // ISR content ... + if ((SYSCON->EXIRS&EXI_PIN0)==EXI_PIN0) //EXT0 Interrupt + 2cd8: 106a lrw r3, 0x2000005c // 2d00 + 2cda: 3101 movi r1, 1 + 2cdc: 9360 ld.w r3, (r3, 0x0) + 2cde: 237f addi r3, 128 + 2ce0: 934c ld.w r2, (r3, 0x30) + 2ce2: 6884 and r2, r1 + 2ce4: 3a40 cmpnei r2, 0 + 2ce6: 0c04 bf 0x2cee // 2cee + { + SYSCON->EXICR = EXI_PIN0; + 2ce8: b32b st.w r1, (r3, 0x2c) + } + else if ((SYSCON->EXIRS&EXI_PIN16)==EXI_PIN16) //EXT16 Interrupt + { + SYSCON->EXICR = EXI_PIN16; + } +} + 2cea: 1463 ipop + 2cec: 1461 nir + else if ((SYSCON->EXIRS&EXI_PIN16)==EXI_PIN16) //EXT16 Interrupt + 2cee: 3280 movi r2, 128 + 2cf0: 932c ld.w r1, (r3, 0x30) + 2cf2: 4249 lsli r2, r2, 9 + 2cf4: 6848 and r1, r2 + 2cf6: 3940 cmpnei r1, 0 + 2cf8: 0ff9 bf 0x2cea // 2cea + SYSCON->EXICR = EXI_PIN16; + 2cfa: b34b st.w r2, (r3, 0x2c) +} + 2cfc: 07f7 br 0x2cea // 2cea + 2cfe: 0000 bkpt + 2d00: 2000005c .long 0x2000005c + +Disassembly of section .text.EXI1IntHandler: + +00002d04 : +//EXT1/17 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI1IntHandler(void) +{ + 2d04: 1460 nie + 2d06: 1462 ipush + // ISR content ... + if ((SYSCON->EXIRS&EXI_PIN1)==EXI_PIN1) //EXT1 Interrupt + 2d08: 106a lrw r3, 0x2000005c // 2d30 + 2d0a: 3102 movi r1, 2 + 2d0c: 9360 ld.w r3, (r3, 0x0) + 2d0e: 237f addi r3, 128 + 2d10: 934c ld.w r2, (r3, 0x30) + 2d12: 6884 and r2, r1 + 2d14: 3a40 cmpnei r2, 0 + 2d16: 0c04 bf 0x2d1e // 2d1e + { + SYSCON->EXICR = EXI_PIN1; + 2d18: b32b st.w r1, (r3, 0x2c) + } + else if ((SYSCON->EXIRS&EXI_PIN17)==EXI_PIN17) //EXT17 Interrupt + { + SYSCON->EXICR = EXI_PIN17; + } +} + 2d1a: 1463 ipop + 2d1c: 1461 nir + else if ((SYSCON->EXIRS&EXI_PIN17)==EXI_PIN17) //EXT17 Interrupt + 2d1e: 3280 movi r2, 128 + 2d20: 932c ld.w r1, (r3, 0x30) + 2d22: 424a lsli r2, r2, 10 + 2d24: 6848 and r1, r2 + 2d26: 3940 cmpnei r1, 0 + 2d28: 0ff9 bf 0x2d1a // 2d1a + SYSCON->EXICR = EXI_PIN17; + 2d2a: b34b st.w r2, (r3, 0x2c) +} + 2d2c: 07f7 br 0x2d1a // 2d1a + 2d2e: 0000 bkpt + 2d30: 2000005c .long 0x2000005c + +Disassembly of section .text.EXI2to3IntHandler: + +00002d34 : +//EXI2~3 18~19Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI2to3IntHandler(void) +{ + 2d34: 1460 nie + 2d36: 1462 ipush + // ISR content ... + if ((SYSCON->EXIRS&EXI_PIN2)==EXI_PIN2) //EXT2 Interrupt + 2d38: 1070 lrw r3, 0x2000005c // 2d78 + 2d3a: 3104 movi r1, 4 + 2d3c: 9360 ld.w r3, (r3, 0x0) + 2d3e: 237f addi r3, 128 + 2d40: 934c ld.w r2, (r3, 0x30) + 2d42: 6884 and r2, r1 + 2d44: 3a40 cmpnei r2, 0 + 2d46: 0c04 bf 0x2d4e // 2d4e + SYSCON->EXICR = EXI_PIN2; +// RLY_State_Multi_Control(); + } + else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) //EXT3 Interrupt + { + SYSCON->EXICR = EXI_PIN3; + 2d48: b32b st.w r1, (r3, 0x2c) + } + else if ((SYSCON->EXIRS&EXI_PIN19)==EXI_PIN19) //EXT19 Interrupt + { + SYSCON->EXICR = EXI_PIN19; + } +} + 2d4a: 1463 ipop + 2d4c: 1461 nir + else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) //EXT3 Interrupt + 2d4e: 934c ld.w r2, (r3, 0x30) + 2d50: 3108 movi r1, 8 + 2d52: 6884 and r2, r1 + 2d54: 3a40 cmpnei r2, 0 + 2d56: 0bf9 bt 0x2d48 // 2d48 + else if ((SYSCON->EXIRS&EXI_PIN18)==EXI_PIN18) //EXT18 Interrupt + 2d58: 3280 movi r2, 128 + 2d5a: 932c ld.w r1, (r3, 0x30) + 2d5c: 424b lsli r2, r2, 11 + 2d5e: 6848 and r1, r2 + 2d60: 3940 cmpnei r1, 0 + 2d62: 0c03 bf 0x2d68 // 2d68 + SYSCON->EXICR = EXI_PIN19; + 2d64: b34b st.w r2, (r3, 0x2c) +} + 2d66: 07f2 br 0x2d4a // 2d4a + else if ((SYSCON->EXIRS&EXI_PIN19)==EXI_PIN19) //EXT19 Interrupt + 2d68: 3280 movi r2, 128 + 2d6a: 932c ld.w r1, (r3, 0x30) + 2d6c: 424c lsli r2, r2, 12 + 2d6e: 6848 and r1, r2 + 2d70: 3940 cmpnei r1, 0 + 2d72: 0bf9 bt 0x2d64 // 2d64 + 2d74: 07eb br 0x2d4a // 2d4a + 2d76: 0000 bkpt + 2d78: 2000005c .long 0x2000005c + +Disassembly of section .text.EXI4to9IntHandler: + +00002d7c : +//EXI4~9 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI4to9IntHandler(void) +{ + 2d7c: 1460 nie + 2d7e: 1462 ipush + 2d80: 14d0 push r15 + // ISR content ... + if ((SYSCON->EXIRS&EXI_PIN4)==EXI_PIN4) //EXT4 Interrupt + 2d82: 1079 lrw r3, 0x2000005c // 2de4 + 2d84: 3280 movi r2, 128 + 2d86: 9360 ld.w r3, (r3, 0x0) + 2d88: 60c8 addu r3, r2 + 2d8a: 932c ld.w r1, (r3, 0x30) + 2d8c: 3010 movi r0, 16 + 2d8e: 6840 and r1, r0 + 2d90: 3940 cmpnei r1, 0 + 2d92: 0c03 bf 0x2d98 // 2d98 + BusBusy_Task(); + + } + else if ((SYSCON->EXIRS&EXI_PIN6)==EXI_PIN6) //EXT6 Interrupt + { + SYSCON->EXICR = EXI_PIN6; + 2d94: b30b st.w r0, (r3, 0x2c) + 2d96: 0409 br 0x2da8 // 2da8 + else if ((SYSCON->EXIRS&EXI_PIN5)==EXI_PIN5) //EXT5 Interrupt + 2d98: 932c ld.w r1, (r3, 0x30) + 2d9a: 3020 movi r0, 32 + 2d9c: 6840 and r1, r0 + 2d9e: 3940 cmpnei r1, 0 + 2da0: 0c09 bf 0x2db2 // 2db2 + SYSCON->EXICR = EXI_PIN5; + 2da2: b30b st.w r0, (r3, 0x2c) + BusBusy_Task(); + 2da4: e000040c bsr 0x35bc // 35bc + else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) //EXT9 Interrupt + { + SYSCON->EXICR = EXI_PIN9; + } + +} + 2da8: d9ee2000 ld.w r15, (r14, 0x0) + 2dac: 1401 addi r14, r14, 4 + 2dae: 1463 ipop + 2db0: 1461 nir + else if ((SYSCON->EXIRS&EXI_PIN6)==EXI_PIN6) //EXT6 Interrupt + 2db2: 932c ld.w r1, (r3, 0x30) + 2db4: 3040 movi r0, 64 + 2db6: 6840 and r1, r0 + 2db8: 3940 cmpnei r1, 0 + 2dba: 0bed bt 0x2d94 // 2d94 + else if ((SYSCON->EXIRS&EXI_PIN7)==EXI_PIN7) //EXT7 Interrupt + 2dbc: 932c ld.w r1, (r3, 0x30) + 2dbe: 6848 and r1, r2 + 2dc0: 3940 cmpnei r1, 0 + 2dc2: 0c03 bf 0x2dc8 // 2dc8 + SYSCON->EXICR = EXI_PIN9; + 2dc4: b34b st.w r2, (r3, 0x2c) +} + 2dc6: 07f1 br 0x2da8 // 2da8 + else if ((SYSCON->EXIRS&EXI_PIN8)==EXI_PIN8) //EXT8 Interrupt + 2dc8: 3280 movi r2, 128 + 2dca: 932c ld.w r1, (r3, 0x30) + 2dcc: 4241 lsli r2, r2, 1 + 2dce: 6848 and r1, r2 + 2dd0: 3940 cmpnei r1, 0 + 2dd2: 0bf9 bt 0x2dc4 // 2dc4 + else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) //EXT9 Interrupt + 2dd4: 3280 movi r2, 128 + 2dd6: 932c ld.w r1, (r3, 0x30) + 2dd8: 4242 lsli r2, r2, 2 + 2dda: 6848 and r1, r2 + 2ddc: 3940 cmpnei r1, 0 + 2dde: 0bf3 bt 0x2dc4 // 2dc4 + 2de0: 07e4 br 0x2da8 // 2da8 + 2de2: 0000 bkpt + 2de4: 2000005c .long 0x2000005c + +Disassembly of section .text.EXI10to15IntHandler: + +00002de8 : +//EXI4 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI10to15IntHandler(void) +{ + 2de8: 1460 nie + 2dea: 1462 ipush + // ISR content ... + if ((SYSCON->EXIRS&EXI_PIN10)==EXI_PIN10) //EXT10 Interrupt + 2dec: 1076 lrw r3, 0x2000005c // 2e44 + 2dee: 3280 movi r2, 128 + 2df0: 9360 ld.w r3, (r3, 0x0) + 2df2: 237f addi r3, 128 + 2df4: 932c ld.w r1, (r3, 0x30) + 2df6: 4243 lsli r2, r2, 3 + 2df8: 6848 and r1, r2 + 2dfa: 3940 cmpnei r1, 0 + 2dfc: 0c03 bf 0x2e02 // 2e02 + SYSCON->EXICR = EXI_PIN14; + + } + else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) //EXT15 Interrupt + { + SYSCON->EXICR = EXI_PIN15; + 2dfe: b34b st.w r2, (r3, 0x2c) + } +} + 2e00: 041f br 0x2e3e // 2e3e + else if ((SYSCON->EXIRS&EXI_PIN11)==EXI_PIN11) //EXT11 Interrupt + 2e02: 3280 movi r2, 128 + 2e04: 932c ld.w r1, (r3, 0x30) + 2e06: 4244 lsli r2, r2, 4 + 2e08: 6848 and r1, r2 + 2e0a: 3940 cmpnei r1, 0 + 2e0c: 0bf9 bt 0x2dfe // 2dfe + else if ((SYSCON->EXIRS&EXI_PIN12)==EXI_PIN12) //EXT12 Interrupt + 2e0e: 3280 movi r2, 128 + 2e10: 932c ld.w r1, (r3, 0x30) + 2e12: 4245 lsli r2, r2, 5 + 2e14: 6848 and r1, r2 + 2e16: 3940 cmpnei r1, 0 + 2e18: 0bf3 bt 0x2dfe // 2dfe + else if ((SYSCON->EXIRS&EXI_PIN13)==EXI_PIN13) //EXT13 Interrupt + 2e1a: 3280 movi r2, 128 + 2e1c: 932c ld.w r1, (r3, 0x30) + 2e1e: 4246 lsli r2, r2, 6 + 2e20: 6848 and r1, r2 + 2e22: 3940 cmpnei r1, 0 + 2e24: 0bed bt 0x2dfe // 2dfe + else if ((SYSCON->EXIRS&EXI_PIN14)==EXI_PIN14) //EXT14 Interrupt + 2e26: 3280 movi r2, 128 + 2e28: 932c ld.w r1, (r3, 0x30) + 2e2a: 4247 lsli r2, r2, 7 + 2e2c: 6848 and r1, r2 + 2e2e: 3940 cmpnei r1, 0 + 2e30: 0be7 bt 0x2dfe // 2dfe + else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) //EXT15 Interrupt + 2e32: 3280 movi r2, 128 + 2e34: 932c ld.w r1, (r3, 0x30) + 2e36: 4248 lsli r2, r2, 8 + 2e38: 6848 and r1, r2 + 2e3a: 3940 cmpnei r1, 0 + 2e3c: 0be1 bt 0x2dfe // 2dfe +} + 2e3e: 1463 ipop + 2e40: 1461 nir + 2e42: 0000 bkpt + 2e44: 2000005c .long 0x2000005c + +Disassembly of section .text.LPTIntHandler: + +00002e48 : +//LPT Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void LPTIntHandler(void) +{ + 2e48: 1460 nie + 2e4a: 1462 ipush + // ISR content ... + if((LPT->MISR&LPT_TRGEV0)==LPT_TRGEV0) //TRGEV0 interrupt + 2e4c: 106b lrw r3, 0x20000014 // 2e78 + 2e4e: 3101 movi r1, 1 + 2e50: 9360 ld.w r3, (r3, 0x0) + 2e52: 934e ld.w r2, (r3, 0x38) + 2e54: 6884 and r2, r1 + 2e56: 3a40 cmpnei r2, 0 + 2e58: 0c03 bf 0x2e5e // 2e5e + { + LPT->ICR = LPT_MATCH; + } + else if((LPT->MISR&LPT_PEND)==LPT_PEND) //PEND interrupt + { + LPT->ICR = LPT_PEND; + 2e5a: b330 st.w r1, (r3, 0x40) + } +} + 2e5c: 040b br 0x2e72 // 2e72 + else if((LPT->MISR&LPT_MATCH)==LPT_MATCH) //MATCH interrupt + 2e5e: 934e ld.w r2, (r3, 0x38) + 2e60: 3102 movi r1, 2 + 2e62: 6884 and r2, r1 + 2e64: 3a40 cmpnei r2, 0 + 2e66: 0bfa bt 0x2e5a // 2e5a + else if((LPT->MISR&LPT_PEND)==LPT_PEND) //PEND interrupt + 2e68: 934e ld.w r2, (r3, 0x38) + 2e6a: 3104 movi r1, 4 + 2e6c: 6884 and r2, r1 + 2e6e: 3a40 cmpnei r2, 0 + 2e70: 0bf5 bt 0x2e5a // 2e5a +} + 2e72: 1463 ipop + 2e74: 1461 nir + 2e76: 0000 bkpt + 2e78: 20000014 .long 0x20000014 + +Disassembly of section .text.BT0IntHandler: + +00002e7c : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +U8_T BT_TEMP_State = 1; +void BT0IntHandler(void) +{ + 2e7c: 1460 nie + 2e7e: 1462 ipush + // ISR content ... + if((BT0->MISR&BT_PEND)==BT_PEND) //BT0 PEND interrupt + 2e80: 1071 lrw r3, 0x2000000c // 2ec4 + 2e82: 3101 movi r1, 1 + 2e84: 9360 ld.w r3, (r3, 0x0) + 2e86: 934c ld.w r2, (r3, 0x30) + 2e88: 6884 and r2, r1 + 2e8a: 3a40 cmpnei r2, 0 + 2e8c: 0c0a bf 0x2ea0 // 2ea0 + { + BT0->ICR = BT_PEND; + 2e8e: b32d st.w r1, (r3, 0x34) + + //BT_Stop_Low(BT0); + + BT0->CR =BT0->CR & ~(0x01<<6); + 2e90: 9341 ld.w r2, (r3, 0x4) + 2e92: 3a86 bclri r2, 6 + 2e94: b341 st.w r2, (r3, 0x4) + BT0->RSSR &=0X0; + 2e96: 9340 ld.w r2, (r3, 0x0) + 2e98: 3200 movi r2, 0 + 2e9a: b340 st.w r2, (r3, 0x0) + } + else if((BT0->MISR&BT_EVTRG)==BT_EVTRG) //BT0 Event trigger interrupt + { + BT0->ICR = BT_EVTRG; + } +} + 2e9c: 1463 ipop + 2e9e: 1461 nir + else if((BT0->MISR&BT_CMP)==BT_CMP) //BT0 CMP Match interrupt + 2ea0: 934c ld.w r2, (r3, 0x30) + 2ea2: 3102 movi r1, 2 + 2ea4: 6884 and r2, r1 + 2ea6: 3a40 cmpnei r2, 0 + 2ea8: 0c03 bf 0x2eae // 2eae + BT0->ICR = BT_EVTRG; + 2eaa: b32d st.w r1, (r3, 0x34) +} + 2eac: 07f8 br 0x2e9c // 2e9c + else if((BT0->MISR&BT_OVF)==BT_OVF) //BT0 OVF interrupt + 2eae: 934c ld.w r2, (r3, 0x30) + 2eb0: 3104 movi r1, 4 + 2eb2: 6884 and r2, r1 + 2eb4: 3a40 cmpnei r2, 0 + 2eb6: 0bfa bt 0x2eaa // 2eaa + else if((BT0->MISR&BT_EVTRG)==BT_EVTRG) //BT0 Event trigger interrupt + 2eb8: 934c ld.w r2, (r3, 0x30) + 2eba: 3108 movi r1, 8 + 2ebc: 6884 and r2, r1 + 2ebe: 3a40 cmpnei r2, 0 + 2ec0: 0bf5 bt 0x2eaa // 2eaa + 2ec2: 07ed br 0x2e9c // 2e9c + 2ec4: 2000000c .long 0x2000000c + +Disassembly of section .text.BT1IntHandler: + +00002ec8 : +//BT1 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT1IntHandler(void) +{ + 2ec8: 1460 nie + 2eca: 1462 ipush + 2ecc: 14d0 push r15 + static U8_T NUM = 0; + // ISR content ... + if((BT1->MISR&BT_PEND)==BT_PEND) //BT1 PEND interrupt + 2ece: 1079 lrw r3, 0x20000008 // 2f30 + 2ed0: 3101 movi r1, 1 + 2ed2: 9360 ld.w r3, (r3, 0x0) + 2ed4: 934c ld.w r2, (r3, 0x30) + 2ed6: 6884 and r2, r1 + 2ed8: 3a40 cmpnei r2, 0 + 2eda: 0c03 bf 0x2ee0 // 2ee0 + { + BT1->ICR = BT_OVF; + } + else if((BT1->MISR&BT_EVTRG)==BT_EVTRG) //BT1 Event trigger interrupt + { + BT1->ICR = BT_EVTRG; + 2edc: b32d st.w r1, (r3, 0x34) + } +} + 2ede: 0418 br 0x2f0e // 2f0e + else if((BT1->MISR&BT_CMP)==BT_CMP) //BT1 CMP Match interrupt + 2ee0: 934c ld.w r2, (r3, 0x30) + 2ee2: 3102 movi r1, 2 + 2ee4: 6884 and r2, r1 + 2ee6: 3a40 cmpnei r2, 0 + 2ee8: 0c18 bf 0x2f18 // 2f18 + BT1->ICR = BT_CMP; + 2eea: b32d st.w r1, (r3, 0x34) + NUM++; + 2eec: 1072 lrw r3, 0x200000b0 // 2f34 + 2eee: 8340 ld.b r2, (r3, 0x0) + 2ef0: 2200 addi r2, 1 + 2ef2: 7488 zextb r2, r2 + SysTick_100us++; + 2ef4: 9321 ld.w r1, (r3, 0x4) + 2ef6: 2100 addi r1, 1 + if(NUM >= 10){ + 2ef8: 3a09 cmphsi r2, 10 + NUM++; + 2efa: a340 st.b r2, (r3, 0x0) + SysTick_100us++; + 2efc: b321 st.w r1, (r3, 0x4) + if(NUM >= 10){ + 2efe: 0c08 bf 0x2f0e // 2f0e + NUM = 0; + 2f00: 3200 movi r2, 0 + 2f02: a340 st.b r2, (r3, 0x0) + SysTick_1ms++; + 2f04: 9342 ld.w r2, (r3, 0x8) + 2f06: 2200 addi r2, 1 + 2f08: b342 st.w r2, (r3, 0x8) + BusIdle_Task(); + 2f0a: e0000339 bsr 0x357c // 357c +} + 2f0e: d9ee2000 ld.w r15, (r14, 0x0) + 2f12: 1401 addi r14, r14, 4 + 2f14: 1463 ipop + 2f16: 1461 nir + else if((BT1->MISR&BT_OVF)==BT_OVF) //BT1 OVF interrupt + 2f18: 934c ld.w r2, (r3, 0x30) + 2f1a: 3104 movi r1, 4 + 2f1c: 6884 and r2, r1 + 2f1e: 3a40 cmpnei r2, 0 + 2f20: 0bde bt 0x2edc // 2edc + else if((BT1->MISR&BT_EVTRG)==BT_EVTRG) //BT1 Event trigger interrupt + 2f22: 934c ld.w r2, (r3, 0x30) + 2f24: 3108 movi r1, 8 + 2f26: 6884 and r2, r1 + 2f28: 3a40 cmpnei r2, 0 + 2f2a: 0bd9 bt 0x2edc // 2edc + 2f2c: 07f1 br 0x2f0e // 2f0e + 2f2e: 0000 bkpt + 2f30: 20000008 .long 0x20000008 + 2f34: 200000b0 .long 0x200000b0 + +Disassembly of section .text.PriviledgeVioHandler: + +00002f38 : + 2f38: 783c jmp r15 + +Disassembly of section .text.PendTrapHandler: + +00002f3a : + // ISR content ... + +} + +void PendTrapHandler(void) +{ + 2f3a: 1460 nie + 2f3c: 1462 ipush + // ISR content ... + +} + 2f3e: 1463 ipop + 2f40: 1461 nir + +Disassembly of section .text.Trap3Handler: + +00002f42 : + 2f42: 1460 nie + 2f44: 1462 ipush + 2f46: 1463 ipop + 2f48: 1461 nir + +Disassembly of section .text.Trap2Handler: + +00002f4a : + 2f4a: 1460 nie + 2f4c: 1462 ipush + 2f4e: 1463 ipop + 2f50: 1461 nir + +Disassembly of section .text.Trap1Handler: + +00002f52 : + 2f52: 1460 nie + 2f54: 1462 ipush + 2f56: 1463 ipop + 2f58: 1461 nir + +Disassembly of section .text.Trap0Handler: + +00002f5a : + 2f5a: 1460 nie + 2f5c: 1462 ipush + 2f5e: 1463 ipop + 2f60: 1461 nir + +Disassembly of section .text.UnrecExecpHandler: + +00002f62 : + 2f62: 1460 nie + 2f64: 1462 ipush + 2f66: 1463 ipop + 2f68: 1461 nir + +Disassembly of section .text.BreakPointHandler: + +00002f6a : + 2f6a: 1460 nie + 2f6c: 1462 ipush + 2f6e: 1463 ipop + 2f70: 1461 nir + +Disassembly of section .text.AccessErrHandler: + +00002f72 : + 2f72: 1460 nie + 2f74: 1462 ipush + 2f76: 1463 ipop + 2f78: 1461 nir + +Disassembly of section .text.IllegalInstrHandler: + +00002f7a : + 2f7a: 1460 nie + 2f7c: 1462 ipush + 2f7e: 1463 ipop + 2f80: 1461 nir + +Disassembly of section .text.MisalignedHandler: + +00002f82 : + 2f82: 1460 nie + 2f84: 1462 ipush + 2f86: 1463 ipop + 2f88: 1461 nir + +Disassembly of section .text.CNTAIntHandler: + +00002f8a : + 2f8a: 1460 nie + 2f8c: 1462 ipush + 2f8e: 1463 ipop + 2f90: 1461 nir + +Disassembly of section .text.I2CIntHandler: + +00002f92 : + 2f92: 1460 nie + 2f94: 1462 ipush + 2f96: 1463 ipop + 2f98: 1461 nir + +Disassembly of section .text.__divsi3: + +00002f9c <__divsi3>: +CSP_BT_T *BT1 = (CSP_BT_T *)APB_BT1Base ; +CSP_CRC_T *CRC = (CSP_CRC_T *)AHB_CRCBase ; +CSP_HWD_T *HWD = (CSP_HWD_T *)APB_HWDBase ; + +int __divsi3 ( int a, int b) +{ + 2f9c: 14c1 push r4 + int PSR; + __asm volatile( + 2f9e: c0006023 mfcr r3, cr<0, 0> + 2fa2: c0807020 psrclr ie + "mfcr %0 , psr \n\r" + "psrclr ie \n\r" + : "=r"(PSR) + ); + + HWD->CR = 0; + 2fa6: 1046 lrw r2, 0x20000000 // 2fbc <__divsi3+0x20> + 2fa8: 3400 movi r4, 0 + 2faa: 9240 ld.w r2, (r2, 0x0) + 2fac: b284 st.w r4, (r2, 0x10) + HWD->DIVIDENT = a; + HWD->DIVISOR = b; + + PSR |= 0x80000000; + 2fae: 3bbf bseti r3, 31 + HWD->DIVIDENT = a; + 2fb0: b200 st.w r0, (r2, 0x0) + HWD->DIVISOR = b; + 2fb2: b221 st.w r1, (r2, 0x4) + __asm volatile( + 2fb4: c0036420 mtcr r3, cr<0, 0> + "mtcr %0 , psr \n\r" + : + :"r"(PSR) + ); + + return HWD->QUOTIENT; + 2fb8: 9202 ld.w r0, (r2, 0x8) +} + 2fba: 1481 pop r4 + 2fbc: 20000000 .long 0x20000000 + +Disassembly of section .text.__udivsi3: + +00002fc0 <__udivsi3>: + unsigned int __udivsi3 ( unsigned int a, unsigned int b) +{ + 2fc0: 14c1 push r4 + int PSR; + __asm volatile( + 2fc2: c0006023 mfcr r3, cr<0, 0> + 2fc6: c0807020 psrclr ie + "mfcr %0 , psr \n\r" + "psrclr ie \n\r" + : "=r"(PSR) + ); + + HWD->CR = 1; + 2fca: 1046 lrw r2, 0x20000000 // 2fe0 <__udivsi3+0x20> + 2fcc: 3401 movi r4, 1 + 2fce: 9240 ld.w r2, (r2, 0x0) + 2fd0: b284 st.w r4, (r2, 0x10) + HWD->DIVIDENT = a; + HWD->DIVISOR = b; + + PSR |= 0x80000000; + 2fd2: 3bbf bseti r3, 31 + HWD->DIVIDENT = a; + 2fd4: b200 st.w r0, (r2, 0x0) + HWD->DIVISOR = b; + 2fd6: b221 st.w r1, (r2, 0x4) + __asm volatile( + 2fd8: c0036420 mtcr r3, cr<0, 0> + "mtcr %0 , psr \n\r" + : + :"r"(PSR) + ); + + return HWD->QUOTIENT; + 2fdc: 9202 ld.w r0, (r2, 0x8) +} + 2fde: 1481 pop r4 + 2fe0: 20000000 .long 0x20000000 + +Disassembly of section .text.__umodsi3: + +00002fe4 <__umodsi3>: + ); + return HWD->REMAIN; +} + +unsigned int __umodsi3 ( unsigned int a, unsigned int b) +{ + 2fe4: 14c1 push r4 + int PSR; + __asm volatile( + 2fe6: c0006023 mfcr r3, cr<0, 0> + 2fea: c0807020 psrclr ie + "mfcr %0 , psr \n\r" + "psrclr ie \n\r" + : "=r"(PSR) + ); + + HWD->CR = 1; + 2fee: 1046 lrw r2, 0x20000000 // 3004 <__umodsi3+0x20> + 2ff0: 3401 movi r4, 1 + 2ff2: 9240 ld.w r2, (r2, 0x0) + 2ff4: b284 st.w r4, (r2, 0x10) + HWD->DIVIDENT = a; + HWD->DIVISOR = b; + + PSR |= 0x80000000; + 2ff6: 3bbf bseti r3, 31 + HWD->DIVIDENT = a; + 2ff8: b200 st.w r0, (r2, 0x0) + HWD->DIVISOR = b; + 2ffa: b221 st.w r1, (r2, 0x4) + __asm volatile( + 2ffc: c0036420 mtcr r3, cr<0, 0> + "mtcr %0 , psr \n\r" + : + :"r"(PSR) + ); + return HWD->REMAIN; + 3000: 9203 ld.w r0, (r2, 0xc) +} + 3002: 1481 pop r4 + 3004: 20000000 .long 0x20000000 + +Disassembly of section .text.CK_CPU_EnAllNormalIrq: + +00003008 : +} + + +void CK_CPU_EnAllNormalIrq(void) +{ + asm ("psrset ee,ie"); + 3008: c1807420 psrset ee, ie +} + 300c: 783c jmp r15 + +Disassembly of section .text.CK_CPU_DisAllNormalIrq: + +0000300e : + +void CK_CPU_DisAllNormalIrq(void) +{ + asm ("psrclr ie"); + 300e: c0807020 psrclr ie +} + 3012: 783c jmp r15 + +Disassembly of section .text.UARTx_Init: + +00003014 : +UART_t g_uart[3]; +U8_T DealBuffer[USART_BUFFER_SIZE] = {0}; //数据处理缓冲 +U16_T DealLen = 0x00; +MULIT_t m_send; + +void UARTx_Init(UART_IDX uart_id, Uart_prt prt_cf) { + 3014: 14d2 push r4-r5, r15 + switch(uart_id){ + 3016: 3841 cmpnei r0, 1 +void UARTx_Init(UART_IDX uart_id, Uart_prt prt_cf) { + 3018: 6d07 mov r4, r1 + switch(uart_id){ + 301a: 0c1d bf 0x3054 // 3054 + 301c: 3840 cmpnei r0, 0 + 301e: 0c04 bf 0x3026 // 3026 + 3020: 3842 cmpnei r0, 2 + 3022: 0c3f bf 0x30a0 // 30a0 + GPIO_Init(GPIOB0,3,Output); + GPIO_DriveStrength_EN(GPIOB0,3); + GPIO_Write_Low(GPIOB0,3); + break; + } +} + 3024: 1492 pop r4-r5, r15 + UART0_DeInit(); //clear all UART Register + 3026: e3fff8c7 bsr 0x21b4 // 21b4 + UART_IO_Init(IO_UART0,0); //use PA0.1->RXD0, PA0.0->TXD0 + 302a: 3100 movi r1, 0 + 302c: 3000 movi r0, 0 + 302e: e3fff903 bsr 0x2234 // 2234 + UARTInitRxTxIntEn(UART0,416,UART_PAR_NONE); //baudrate=sysclock 48M/1000=4800,tx rx int enabled + 3032: 1262 lrw r3, 0x20000040 // 3138 + 3034: 31d0 movi r1, 208 + 3036: 9300 ld.w r0, (r3, 0x0) + 3038: 3200 movi r2, 0 + memset(&g_uart[UART_0],0,sizeof(UART_t)); + 303a: 12a1 lrw r5, 0x20000208 // 313c + UARTInitRxTxIntEn(UART0,416,UART_PAR_NONE); //baudrate=sysclock 48M/1000=4800,tx rx int enabled + 303c: 4121 lsli r1, r1, 1 + 303e: e3fff971 bsr 0x2320 // 2320 + memset(&g_uart[UART_0],0,sizeof(UART_t)); + 3042: 3274 movi r2, 116 + 3044: 3100 movi r1, 0 + 3046: 6c17 mov r0, r5 + 3048: e3fff48e bsr 0x1964 // 1964 <__memset_fast> + g_uart[UART_0].RecvTimeout = Recv_115200_TimeOut; + 304c: 3303 movi r3, 3 + 304e: b57a st.w r3, (r5, 0x68) + g_uart[UART_0].processing_cf = prt_cf; + 3050: b59c st.w r4, (r5, 0x70) + break; + 3052: 07e9 br 0x3024 // 3024 + UART1_DeInit(); //clear all UART Register + 3054: e3fff8bc bsr 0x21cc // 21cc + UART_IO_Init(IO_UART1,2); //use PA0.13->RXD1, PB0.0->TXD1 + 3058: 3102 movi r1, 2 + 305a: 3001 movi r0, 1 + 305c: e3fff8ec bsr 0x2234 // 2234 + UARTInitRxTxIntEn(UART1,5000,UART_PAR_NONE); //baudrate=sysclock 48M/416=115200 tx rx int enabled + 3060: 1178 lrw r3, 0x2000003c // 3140 + 3062: 3200 movi r2, 0 + 3064: 9300 ld.w r0, (r3, 0x0) + 3066: 1138 lrw r1, 0x1388 // 3144 + 3068: e3fff95c bsr 0x2320 // 2320 + UART1_Int_Enable(); + 306c: e3fff8c8 bsr 0x21fc // 21fc + memset(&g_uart[UART_1],0,sizeof(UART_t)); + 3070: 3274 movi r2, 116 + 3072: 3100 movi r1, 0 + 3074: 1115 lrw r0, 0x2000027c // 3148 + 3076: e3fff477 bsr 0x1964 // 1964 <__memset_fast> + g_uart[UART_1].RecvTimeout = Recv_9600_TimeOut; + 307a: 1175 lrw r3, 0x20000288 // 314c + g_uart[UART_1].processing_cf = prt_cf; + 307c: b399 st.w r4, (r3, 0x64) + g_uart[UART_1].RecvTimeout = Recv_9600_TimeOut; + 307e: 3203 movi r2, 3 + GPIO_Init(GPIOA0,13,Output); + 3080: 1194 lrw r4, 0x2000004c // 3150 + 3082: 310d movi r1, 13 + g_uart[UART_1].RecvTimeout = Recv_9600_TimeOut; + 3084: b357 st.w r2, (r3, 0x5c) + GPIO_Init(GPIOA0,13,Output); + 3086: 9400 ld.w r0, (r4, 0x0) + 3088: 3200 movi r2, 0 + 308a: e3fff6db bsr 0x1e40 // 1e40 + GPIO_DriveStrength_EN(GPIOA0,13); + 308e: 310d movi r1, 13 + 3090: 9400 ld.w r0, (r4, 0x0) + 3092: e3fff751 bsr 0x1f34 // 1f34 + GPIO_Write_Low(GPIOA0,13); + 3096: 9400 ld.w r0, (r4, 0x0) + 3098: 310d movi r1, 13 + GPIO_Write_Low(GPIOB0,3); + 309a: e3fff815 bsr 0x20c4 // 20c4 +} + 309e: 07c3 br 0x3024 // 3024 + memset(&g_uart[UART_2],0,sizeof(UART_t)); + 30a0: 3274 movi r2, 116 + 30a2: 3100 movi r1, 0 + 30a4: 110c lrw r0, 0x200002f0 // 3154 + 30a6: e3fff45f bsr 0x1964 // 1964 <__memset_fast> + memset(&m_send,0,sizeof(MULIT_t)); + 30aa: 3288 movi r2, 136 + 30ac: 3100 movi r1, 0 + 30ae: 110b lrw r0, 0x20000364 // 3158 + 30b0: e3fff45a bsr 0x1964 // 1964 <__memset_fast> + m_send.HighBit_Flag = 0x01; + 30b4: 116a lrw r3, 0x200003c4 // 315c + 30b6: 3201 movi r2, 1 + 30b8: a345 st.b r2, (r3, 0x5) + g_uart[UART_2].RecvTimeout = Recv_9600_TimeOut; + 30ba: 116a lrw r3, 0x20000308 // 3160 + g_uart[UART_2].processing_cf = prt_cf; + 30bc: b396 st.w r4, (r3, 0x58) + g_uart[UART_2].RecvTimeout = Recv_9600_TimeOut; + 30be: 3203 movi r2, 3 + GPIO_PullHigh_Init(GPIOB0,5); //RX,PB0.5 + 30c0: 1189 lrw r4, 0x20000048 // 3164 + 30c2: 3105 movi r1, 5 + g_uart[UART_2].RecvTimeout = Recv_9600_TimeOut; + 30c4: b354 st.w r2, (r3, 0x50) + GPIO_PullHigh_Init(GPIOB0,5); //RX,PB0.5 + 30c6: 9400 ld.w r0, (r4, 0x0) + 30c8: e3fff72c bsr 0x1f20 // 1f20 + GPIO_IntGroup_Set(PB0,5,Selete_EXI_PIN5); //EXI0 set PB0.2 + 30cc: 3205 movi r2, 5 + 30ce: 3105 movi r1, 5 + 30d0: 3002 movi r0, 2 + 30d2: e3fff739 bsr 0x1f44 // 1f44 + GPIOB0_EXI_Init(EXI5); //PB0.2 as input + 30d6: 3005 movi r0, 5 + 30d8: e3fff7bc bsr 0x2050 // 2050 + EXTI_trigger_CMD(ENABLE,EXI_PIN5,_EXIFT); //ENABLE falling edge,下降沿触发 + 30dc: 3201 movi r2, 1 + 30de: 3120 movi r1, 32 + 30e0: 3001 movi r0, 1 + 30e2: e3fff603 bsr 0x1ce8 // 1ce8 + EXTI_trigger_CMD(ENABLE,EXI_PIN5,_EXIRT); //上升沿触发 + 30e6: 3200 movi r2, 0 + 30e8: 3120 movi r1, 32 + 30ea: 3001 movi r0, 1 + 30ec: e3fff5fe bsr 0x1ce8 // 1ce8 + EXTI_interrupt_CMD(ENABLE,EXI_PIN5); //enable EXI + 30f0: 3120 movi r1, 32 + 30f2: 3001 movi r0, 1 + 30f4: e3fff61a bsr 0x1d28 // 1d28 + GPIO_EXTI_interrupt(GPIOB0,0b0000000000100000); //enable GPIOB02 as EXI + 30f8: 3120 movi r1, 32 + 30fa: 9400 ld.w r0, (r4, 0x0) + 30fc: e3fff630 bsr 0x1d5c // 1d5c + EXI3_Int_Enable(); + 3100: e3fff630 bsr 0x1d60 // 1d60 + UART2_DeInit(); //clear all UART Register + 3104: e3fff870 bsr 0x21e4 // 21e4 + UART_IO_Init(IO_UART2,2); //use PB0.4->RXD1, PB0.5->TXD1 + 3108: 3102 movi r1, 2 + 310a: 3002 movi r0, 2 + 310c: e3fff894 bsr 0x2234 // 2234 + UARTInitRxTxIntEn(UART2,5000,UART_PAR_NONE); //baudrate=sysclock 48M/416=115200 tx rx int enabled + 3110: 1076 lrw r3, 0x20000038 // 3168 + 3112: 3200 movi r2, 0 + 3114: 9300 ld.w r0, (r3, 0x0) + 3116: 102c lrw r1, 0x1388 // 3144 + 3118: e3fff904 bsr 0x2320 // 2320 + UART2_Int_Enable(); + 311c: e3fff87e bsr 0x2218 // 2218 + GPIO_Init(GPIOB0,3,Output); + 3120: 3200 movi r2, 0 + 3122: 3103 movi r1, 3 + 3124: 9400 ld.w r0, (r4, 0x0) + 3126: e3fff68d bsr 0x1e40 // 1e40 + GPIO_DriveStrength_EN(GPIOB0,3); + 312a: 3103 movi r1, 3 + 312c: 9400 ld.w r0, (r4, 0x0) + 312e: e3fff703 bsr 0x1f34 // 1f34 + GPIO_Write_Low(GPIOB0,3); + 3132: 9400 ld.w r0, (r4, 0x0) + 3134: 3103 movi r1, 3 + 3136: 07b2 br 0x309a // 309a + 3138: 20000040 .long 0x20000040 + 313c: 20000208 .long 0x20000208 + 3140: 2000003c .long 0x2000003c + 3144: 00001388 .long 0x00001388 + 3148: 2000027c .long 0x2000027c + 314c: 20000288 .long 0x20000288 + 3150: 2000004c .long 0x2000004c + 3154: 200002f0 .long 0x200002f0 + 3158: 20000364 .long 0x20000364 + 315c: 200003c4 .long 0x200003c4 + 3160: 20000308 .long 0x20000308 + 3164: 20000048 .long 0x20000048 + 3168: 20000038 .long 0x20000038 + +Disassembly of section .text.UART0_RecvINT_Processing: + +0000316c : + +/******************************************************************************* +* Function Name : UART0_RecvINT_Processing +* Description : 串口0 接收中断处理函数 - 接收中断调用 +*******************************************************************************/ +void UART0_RecvINT_Processing(char data){ + 316c: 14c1 push r4 + if((g_uart[UART_0].RecvLen + 1) >= USART_BUFFER_SIZE) g_uart[UART_0].RecvLen = 0; + 316e: 106b lrw r3, 0x20000248 // 3198 + 3170: 8b33 ld.h r1, (r3, 0x26) + 3172: 3262 movi r2, 98 + 3174: 6449 cmplt r2, r1 + 3176: 0c03 bf 0x317c // 317c + 3178: 3200 movi r2, 0 + 317a: ab53 st.h r2, (r3, 0x26) + g_uart[UART_0].RecvBuffer[g_uart[UART_0].RecvLen++] = (U8_T)data; + 317c: 8b33 ld.h r1, (r3, 0x26) + 317e: 5982 addi r4, r1, 1 + 3180: ab93 st.h r4, (r3, 0x26) + 3182: 1047 lrw r2, 0x20000208 // 319c + + g_uart[UART_0].RecvIdleTiming = SysTick_1ms; + 3184: 1067 lrw r3, 0x200000b8 // 31a0 + g_uart[UART_0].RecvBuffer[g_uart[UART_0].RecvLen++] = (U8_T)data; + 3186: 6048 addu r1, r2 + g_uart[UART_0].RecvIdleTiming = SysTick_1ms; + 3188: 9360 ld.w r3, (r3, 0x0) + 318a: b27b st.w r3, (r2, 0x6c) + g_uart[UART_0].Receiving = 0x01; + 318c: 225f addi r2, 96 + 318e: 3301 movi r3, 1 + g_uart[UART_0].RecvBuffer[g_uart[UART_0].RecvLen++] = (U8_T)data; + 3190: a100 st.b r0, (r1, 0x0) + g_uart[UART_0].Receiving = 0x01; + 3192: a264 st.b r3, (r2, 0x4) +} + 3194: 1481 pop r4 + 3196: 0000 bkpt + 3198: 20000248 .long 0x20000248 + 319c: 20000208 .long 0x20000208 + 31a0: 200000b8 .long 0x200000b8 + +Disassembly of section .text.UART1_RecvINT_Processing: + +000031a4 : + +/******************************************************************************* +* Function Name : UART1_RecvINT_Processing +* Description : 串口1 接收中断处理函数 - 接收中断调用 +*******************************************************************************/ +void UART1_RecvINT_Processing(char data){ + 31a4: 14c1 push r4 + if((g_uart[UART_1].RecvLen + 1) >= USART_BUFFER_SIZE) g_uart[UART_1].RecvLen = 0; + 31a6: 106b lrw r3, 0x200002c8 // 31d0 + 31a8: 8b2d ld.h r1, (r3, 0x1a) + 31aa: 3262 movi r2, 98 + 31ac: 6449 cmplt r2, r1 + 31ae: 0c03 bf 0x31b4 // 31b4 + 31b0: 3200 movi r2, 0 + 31b2: ab4d st.h r2, (r3, 0x1a) + g_uart[UART_1].RecvBuffer[g_uart[UART_1].RecvLen++] = (U8_T)data; + 31b4: 8b4d ld.h r2, (r3, 0x1a) + 31b6: 1028 lrw r1, 0x20000208 // 31d4 + 31b8: 5a82 addi r4, r2, 1 + 31ba: 6084 addu r2, r1 + 31bc: 2273 addi r2, 116 + 31be: a200 st.b r0, (r2, 0x0) + + g_uart[UART_1].RecvIdleTiming = SysTick_1ms; + 31c0: 217f addi r1, 128 + 31c2: 1046 lrw r2, 0x200000b8 // 31d8 + 31c4: 9240 ld.w r2, (r2, 0x0) + 31c6: b158 st.w r2, (r1, 0x60) + g_uart[UART_1].Receiving = 0x01; + 31c8: 3201 movi r2, 1 + g_uart[UART_1].RecvBuffer[g_uart[UART_1].RecvLen++] = (U8_T)data; + 31ca: ab8d st.h r4, (r3, 0x1a) + g_uart[UART_1].Receiving = 0x01; + 31cc: a358 st.b r2, (r3, 0x18) +} + 31ce: 1481 pop r4 + 31d0: 200002c8 .long 0x200002c8 + 31d4: 20000208 .long 0x20000208 + 31d8: 200000b8 .long 0x200000b8 + +Disassembly of section .text.UART1_TASK: + +000031dc : + + +void UART1_TASK(void){ + 31dc: 14d4 push r4-r7, r15 + U8_T rev = 0xFF; + if(g_uart[UART_1].Receiving == 0x01){ + 31de: 10b5 lrw r5, 0x200002c8 // 3230 + 31e0: 8578 ld.b r3, (r5, 0x18) + 31e2: 3b41 cmpnei r3, 1 + 31e4: 0825 bt 0x322e // 322e + if(SysTick_1ms - g_uart[UART_1].RecvIdleTiming > g_uart[UART_1].RecvTimeout){ + 31e6: 1094 lrw r4, 0x20000288 // 3234 + 31e8: 10d4 lrw r6, 0x200000b8 // 3238 + 31ea: 9660 ld.w r3, (r6, 0x0) + 31ec: 9458 ld.w r2, (r4, 0x60) + 31ee: 60ca subu r3, r2 + 31f0: 9457 ld.w r2, (r4, 0x5c) + 31f2: 64c8 cmphs r2, r3 + 31f4: 081d bt 0x322e // 322e + + SYSCON_Int_Disable(); //2025-03-19,复制接收缓冲到数据处理缓冲内 + 31f6: e3fff5c3 bsr 0x1d7c // 1d7c + g_uart[UART_1].RecvIdleTiming = SysTick_1ms; + memcpy(DealBuffer,g_uart[UART_1].RecvBuffer,g_uart[UART_1].RecvLen); + 31fa: 8ded ld.h r7, (r5, 0x1a) + g_uart[UART_1].RecvIdleTiming = SysTick_1ms; + 31fc: 9660 ld.w r3, (r6, 0x0) + memcpy(DealBuffer,g_uart[UART_1].RecvBuffer,g_uart[UART_1].RecvLen); + 31fe: 6c9f mov r2, r7 + 3200: 102f lrw r1, 0x2000027c // 323c + 3202: 1010 lrw r0, 0x200000bc // 3240 + DealLen = g_uart[UART_1].RecvLen; + 3204: 10d0 lrw r6, 0x200000fc // 3244 + g_uart[UART_1].RecvIdleTiming = SysTick_1ms; + 3206: b478 st.w r3, (r4, 0x60) + memcpy(DealBuffer,g_uart[UART_1].RecvBuffer,g_uart[UART_1].RecvLen); + 3208: e3fff3f2 bsr 0x19ec // 19ec <__memcpy_fast> + g_uart[UART_1].RecvLen = 0; + 320c: 3300 movi r3, 0 + 320e: ad6d st.h r3, (r5, 0x1a) + g_uart[UART_1].Receiving = 0; + 3210: a578 st.b r3, (r5, 0x18) + DealLen = g_uart[UART_1].RecvLen; + 3212: aef2 st.h r7, (r6, 0x24) + SYSCON_Int_Enable(); + 3214: e3fff5ae bsr 0x1d70 // 1d70 + +#if DBG_LOG_EN + Dbg_Println(DBG_BIT_SYS_STATUS, "UART1 recv Len %d", DealLen); + Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"UART1 buff",DealBuffer,DealLen); +#endif + if(g_uart[UART_1].processing_cf != NULL){ + 3218: 9479 ld.w r3, (r4, 0x64) + 321a: 3b40 cmpnei r3, 0 + 321c: 0c04 bf 0x3224 // 3224 + rev = g_uart[UART_1].processing_cf(DealBuffer,DealLen); + 321e: 8e32 ld.h r1, (r6, 0x24) + 3220: 1008 lrw r0, 0x200000bc // 3240 + 3222: 7bcd jsr r3 + } + + memset(DealBuffer,0,USART_BUFFER_SIZE); + 3224: 3264 movi r2, 100 + 3226: 3100 movi r1, 0 + 3228: 1006 lrw r0, 0x200000bc // 3240 + 322a: e3fff39d bsr 0x1964 // 1964 <__memset_fast> + } + } +} + 322e: 1494 pop r4-r7, r15 + 3230: 200002c8 .long 0x200002c8 + 3234: 20000288 .long 0x20000288 + 3238: 200000b8 .long 0x200000b8 + 323c: 2000027c .long 0x2000027c + 3240: 200000bc .long 0x200000bc + 3244: 200000fc .long 0x200000fc + +Disassembly of section .text.UART2_RecvINT_Processing: + +00003248 : + +/******************************************************************************* +* Function Name : UART2_RecvINT_Processing +* Description : 串口2 接收中断处理函数 - 接收中断调用 +*******************************************************************************/ +void UART2_RecvINT_Processing(char data){ + 3248: 14c1 push r4 + if((g_uart[UART_2].RecvLen + 1) >= USART_BUFFER_SIZE) g_uart[UART_2].RecvLen = 0; + 324a: 104e lrw r2, 0x20000356 // 3280 + 324c: 8a20 ld.h r1, (r2, 0x0) + 324e: 3362 movi r3, 98 + 3250: 644d cmplt r3, r1 + 3252: 0c03 bf 0x3258 // 3258 + 3254: 3300 movi r3, 0 + 3256: aa60 st.h r3, (r2, 0x0) + g_uart[UART_2].RecvBuffer[g_uart[UART_2].RecvLen++] = (U8_T)data; + 3258: 8a60 ld.h r3, (r2, 0x0) + 325a: 102b lrw r1, 0x20000208 // 3284 + 325c: 5b82 addi r4, r3, 1 + 325e: 60c4 addu r3, r1 + 3260: 23e7 addi r3, 232 + 3262: a300 st.b r0, (r3, 0x0) + 3264: aa80 st.h r4, (r2, 0x0) + + g_uart[UART_2].RecvIdleTiming = SysTick_1ms; + 3266: 1069 lrw r3, 0x200000b8 // 3288 + 3268: 9340 ld.w r2, (r3, 0x0) + 326a: 3380 movi r3, 128 + 326c: 4361 lsli r3, r3, 1 + 326e: 60c4 addu r3, r1 + 3270: b355 st.w r2, (r3, 0x54) + g_uart[UART_2].Receiving = 0x01; + 3272: 33a6 movi r3, 166 + 3274: 4361 lsli r3, r3, 1 + 3276: 604c addu r1, r3 + 3278: 3301 movi r3, 1 + 327a: a160 st.b r3, (r1, 0x0) +} + 327c: 1481 pop r4 + 327e: 0000 bkpt + 3280: 20000356 .long 0x20000356 + 3284: 20000208 .long 0x20000208 + 3288: 200000b8 .long 0x200000b8 + +Disassembly of section .text.UART2_TASK: + +0000328c : + + +void UART2_TASK(void){ + 328c: 14d4 push r4-r7, r15 + 328e: 1421 subi r14, r14, 4 + U8_T rev = 0xFF; + if(g_uart[UART_2].Receiving == 0x01){ + 3290: 10b7 lrw r5, 0x20000354 // 32ec + 3292: 8560 ld.b r3, (r5, 0x0) + 3294: 3b41 cmpnei r3, 1 + 3296: 0828 bt 0x32e6 // 32e6 + if(SysTick_1ms - g_uart[UART_2].RecvIdleTiming > g_uart[UART_2].RecvTimeout){ + 3298: 1096 lrw r4, 0x20000308 // 32f0 + 329a: 10d7 lrw r6, 0x200000b8 // 32f4 + 329c: 9660 ld.w r3, (r6, 0x0) + 329e: 9455 ld.w r2, (r4, 0x54) + 32a0: 60ca subu r3, r2 + 32a2: 9454 ld.w r2, (r4, 0x50) + 32a4: 64c8 cmphs r2, r3 + 32a6: 0820 bt 0x32e6 // 32e6 + + SYSCON_Int_Disable(); //2025-03-19,复制接收缓冲到数据处理缓冲内 + 32a8: e3fff56a bsr 0x1d7c // 1d7c + g_uart[UART_2].RecvIdleTiming = SysTick_1ms; + 32ac: 9660 ld.w r3, (r6, 0x0) + 32ae: b475 st.w r3, (r4, 0x54) + memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen); + 32b0: 8d61 ld.h r3, (r5, 0x2) + 32b2: 6c8f mov r2, r3 + 32b4: 1031 lrw r1, 0x200002f0 // 32f8 + 32b6: 1012 lrw r0, 0x200000bc // 32fc + DealLen = g_uart[UART_2].RecvLen; + 32b8: 10d2 lrw r6, 0x200000fc // 3300 + memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen); + 32ba: b860 st.w r3, (r14, 0x0) + 32bc: e3fff398 bsr 0x19ec // 19ec <__memcpy_fast> + DealLen = g_uart[UART_2].RecvLen; + 32c0: 9860 ld.w r3, (r14, 0x0) + 32c2: ae72 st.h r3, (r6, 0x24) + g_uart[UART_2].RecvLen = 0; + 32c4: 3300 movi r3, 0 + 32c6: ad61 st.h r3, (r5, 0x2) + g_uart[UART_2].Receiving = 0; + 32c8: a560 st.b r3, (r5, 0x0) + SYSCON_Int_Enable(); + 32ca: e3fff553 bsr 0x1d70 // 1d70 + +#if DBG_LOG_EN + Dbg_Println(DBG_BIT_SYS_STATUS, "UART2 recv Len %d", DealLen); + Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"UART2 buff",DealBuffer,DealLen); +#endif + if(g_uart[UART_2].processing_cf != NULL){ + 32ce: 9476 ld.w r3, (r4, 0x58) + 32d0: 3b40 cmpnei r3, 0 + memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen); + 32d2: 5de6 addi r7, r5, 2 + if(g_uart[UART_2].processing_cf != NULL){ + 32d4: 0c04 bf 0x32dc // 32dc + rev = g_uart[UART_2].processing_cf(DealBuffer,DealLen); + 32d6: 8e32 ld.h r1, (r6, 0x24) + 32d8: 1009 lrw r0, 0x200000bc // 32fc + 32da: 7bcd jsr r3 +// { +// Boot_Comm_UpgradeProcess(DealBuffer,DealLen); +// } + + + memset(DealBuffer,0,USART_BUFFER_SIZE); + 32dc: 3264 movi r2, 100 + 32de: 3100 movi r1, 0 + 32e0: 1007 lrw r0, 0x200000bc // 32fc + 32e2: e3fff341 bsr 0x1964 // 1964 <__memset_fast> + } + } +} + 32e6: 1401 addi r14, r14, 4 + 32e8: 1494 pop r4-r7, r15 + 32ea: 0000 bkpt + 32ec: 20000354 .long 0x20000354 + 32f0: 20000308 .long 0x20000308 + 32f4: 200000b8 .long 0x200000b8 + 32f8: 200002f0 .long 0x200002f0 + 32fc: 200000bc .long 0x200000bc + 3300: 200000fc .long 0x200000fc + +Disassembly of section .text.Controller485_SendData: + +00003304 : + CK_CPU_EnAllNormalIrq(); +} + +//发送给设备端的485发送函数 +void Controller485_SendData(U8_T *buff,U16_T len) +{ + 3304: 14d4 push r4-r7, r15 + 3306: 1422 subi r14, r14, 8 + 3308: b800 st.w r0, (r14, 0x0) + 330a: 6dc7 mov r7, r1 + unsigned int Dataval = 0,delay_cnt = 0; + 330c: 3400 movi r4, 0 + + //等待通讯发送完成 + while(RS485_Comming1 == 0x01){ + 330e: 11a4 lrw r5, 0x200000bc // 339c + 3310: 11c4 lrw r6, 0x2000004c // 33a0 + 3312: 957e ld.w r3, (r5, 0x78) + 3314: 3b41 cmpnei r3, 1 + 3316: 0c36 bf 0x3382 // 3382 + } + + GPIO_Reverse(GPIOA0,13); + } + + delay_nus(500); + 3318: 30fa movi r0, 250 + 331a: 4001 lsli r0, r0, 1 + 331c: e3fff874 bsr 0x2404 // 2404 + + CK_CPU_DisAllNormalIrq(); + 3320: e3fffe77 bsr 0x300e // 300e + GPIO_Write_High(GPIOA0,13); + 3324: 310d movi r1, 13 + 3326: 9600 ld.w r0, (r6, 0x0) + 3328: e3fff6ca bsr 0x20bc // 20bc + + RS485_Comm_Flag1 = 0x01; + 332c: 3301 movi r3, 1 + 332e: b57f st.w r3, (r5, 0x7c) + RS485_Comm_Start1 = 0x00; + 3330: 3200 movi r2, 0 + 3332: 107d lrw r3, 0x2000013c // 33a4 + 3334: b340 st.w r2, (r3, 0x0) + RS485_Comm_End1 = 0x00; + 3336: b861 st.w r3, (r14, 0x4) + 3338: b341 st.w r2, (r3, 0x4) + CK_CPU_EnAllNormalIrq(); + 333a: e3fffe67 bsr 0x3008 // 3008 + + UARTTransmit(UART1,buff,len); + 333e: 105b lrw r2, 0x2000003c // 33a8 + 3340: 9200 ld.w r0, (r2, 0x0) + 3342: 9820 ld.w r1, (r14, 0x0) + 3344: 6c9f mov r2, r7 + 3346: e3fff7f5 bsr 0x2330 // 2330 + 334a: 9861 ld.w r3, (r14, 0x4) + + do{ + delay_nus(100); + 334c: 3064 movi r0, 100 + 334e: b860 st.w r3, (r14, 0x0) + + delay_cnt ++; + 3350: 2400 addi r4, 1 + delay_nus(100); + 3352: e3fff859 bsr 0x2404 // 2404 + if(delay_cnt >= 100){ + 3356: 3263 movi r2, 99 + 3358: 6508 cmphs r2, r4 + 335a: 0c08 bf 0x336a // 336a + break; + } + + }while((RS485_Comm_Start1 < len) || (RS485_Comm_End1 < len)); //发送完成 + 335c: 9860 ld.w r3, (r14, 0x0) + 335e: 9340 ld.w r2, (r3, 0x0) + 3360: 65c9 cmplt r2, r7 + 3362: 0bf5 bt 0x334c // 334c + 3364: 9341 ld.w r2, (r3, 0x4) + 3366: 65c9 cmplt r2, r7 + 3368: 0bf2 bt 0x334c // 334c + + CK_CPU_DisAllNormalIrq(); + 336a: e3fffe52 bsr 0x300e // 300e + GPIO_Write_Low(GPIOA0,13); + 336e: 9600 ld.w r0, (r6, 0x0) + 3370: 310d movi r1, 13 + 3372: e3fff6a9 bsr 0x20c4 // 20c4 + + RS485_Comm_Flag1 = 0x00; + 3376: 3300 movi r3, 0 + 3378: b57f st.w r3, (r5, 0x7c) + CK_CPU_EnAllNormalIrq(); + 337a: e3fffe47 bsr 0x3008 // 3008 +} + 337e: 1402 addi r14, r14, 8 + 3380: 1494 pop r4-r7, r15 + delay_nus(100); + 3382: 3064 movi r0, 100 + 3384: e3fff840 bsr 0x2404 // 2404 + delay_cnt ++; + 3388: 2400 addi r4, 1 + if(delay_cnt >= 100){ + 338a: 3364 movi r3, 100 + 338c: 64d2 cmpne r4, r3 + 338e: 0fc5 bf 0x3318 // 3318 + GPIO_Reverse(GPIOA0,13); + 3390: 310d movi r1, 13 + 3392: 9600 ld.w r0, (r6, 0x0) + 3394: e3fff69c bsr 0x20cc // 20cc + 3398: 07bd br 0x3312 // 3312 + 339a: 0000 bkpt + 339c: 200000bc .long 0x200000bc + 33a0: 2000004c .long 0x2000004c + 33a4: 2000013c .long 0x2000013c + 33a8: 2000003c .long 0x2000003c + +Disassembly of section .text.BUS485_Send: + +000033ac : + * buff:发送数据 + * len:数据长度 + * @retval + * */ +U8_T BUS485_Send(U8_T *buff,U16_T len) +{ + 33ac: 14d4 push r4-r7, r15 + 33ae: 1423 subi r14, r14, 12 + 33b0: b802 st.w r0, (r14, 0x8) + 33b2: b820 st.w r1, (r14, 0x0) + unsigned int Dataval = 0,delay_cnt = 0; + 33b4: 3500 movi r5, 0 + + //等待通讯发送完成 + while(RS485_Comming == 0x01){ + 33b6: 1189 lrw r4, 0x200000bc // 3458 + + delay_cnt ++; + if(delay_cnt >= 100){ + break; + } + GPIO_Reverse(GPIOB0,3); + 33b8: 11c9 lrw r6, 0x20000048 // 345c + while(RS485_Comming == 0x01){ + 33ba: 947a ld.w r3, (r4, 0x68) + 33bc: 3b41 cmpnei r3, 1 + 33be: 0c3e bf 0x343a // 343a + } + + if(m_send.BusState_Flag == UART_BUSIDLE){ //总线空闲 + 33c0: 1168 lrw r3, 0x200003c4 // 3460 + 33c2: 83c4 ld.b r6, (r3, 0x4) + 33c4: 3e40 cmpnei r6, 0 + 33c6: b861 st.w r3, (r14, 0x4) + 33c8: 0845 bt 0x3452 // 3452 + + CK_CPU_DisAllNormalIrq(); + + GPIO_Write_High(GPIOB0,3); + 33ca: 11e5 lrw r7, 0x20000048 // 345c + CK_CPU_DisAllNormalIrq(); + 33cc: e3fffe21 bsr 0x300e // 300e + GPIO_Write_High(GPIOB0,3); + 33d0: 3103 movi r1, 3 + 33d2: 9700 ld.w r0, (r7, 0x0) + 33d4: e3fff674 bsr 0x20bc // 20bc + + RS485_Comm_Flag = 0x01; + 33d8: 3201 movi r2, 1 + RS485_Comm_Start = 0x00; + RS485_Comm_End = 0x00; + + m_send.BusState_Flag = UART_BUSBUSY;//发送前总线置位繁忙 + 33da: 9861 ld.w r3, (r14, 0x4) + RS485_Comm_Flag = 0x01; + 33dc: b45b st.w r2, (r4, 0x6c) + m_send.BusState_Flag = UART_BUSBUSY;//发送前总线置位繁忙 + 33de: a344 st.b r2, (r3, 0x4) + RS485_Comm_Start = 0x00; + 33e0: b4dc st.w r6, (r4, 0x70) + m_send.BUSBUSY_LOCK = 0x01; //锁定总线状态 + 33e2: a346 st.b r2, (r3, 0x6) + RS485_Comm_End = 0x00; + 33e4: b4dd st.w r6, (r4, 0x74) + + CK_CPU_EnAllNormalIrq(); + 33e6: e3fffe11 bsr 0x3008 // 3008 + + UARTTransmit(UART2,buff,len); + 33ea: 105f lrw r2, 0x20000038 // 3464 + 33ec: 9200 ld.w r0, (r2, 0x0) + 33ee: 9822 ld.w r1, (r14, 0x8) + 33f0: 9840 ld.w r2, (r14, 0x0) + 33f2: e3fff79f bsr 0x2330 // 2330 + do{ + delay_nus(100); + 33f6: 3064 movi r0, 100 + 33f8: e3fff806 bsr 0x2404 // 2404 + delay_cnt ++; + 33fc: 2500 addi r5, 1 + if(delay_cnt >= 100){ + 33fe: 3363 movi r3, 99 + 3400: 654c cmphs r3, r5 + 3402: 0c08 bf 0x3412 // 3412 + break; + } + + }while((RS485_Comm_Start < len) || (RS485_Comm_End < len)); //发送完成 + 3404: 947c ld.w r3, (r4, 0x70) + 3406: 9840 ld.w r2, (r14, 0x0) + 3408: 648d cmplt r3, r2 + 340a: 0bf6 bt 0x33f6 // 33f6 + 340c: 947d ld.w r3, (r4, 0x74) + 340e: 648d cmplt r3, r2 + 3410: 0bf3 bt 0x33f6 // 33f6 + + + CK_CPU_DisAllNormalIrq(); + 3412: e3fffdfe bsr 0x300e // 300e + + GPIO_Write_Low(GPIOB0,3); + 3416: 9700 ld.w r0, (r7, 0x0) + 3418: 3103 movi r1, 3 + 341a: e3fff655 bsr 0x20c4 // 20c4 + RS485_Comm_Flag = 0x00; + 341e: 3300 movi r3, 0 + 3420: b47b st.w r3, (r4, 0x6c) + + m_send.BusState_Tick = SysTick_1ms; + 3422: 1072 lrw r3, 0x200000b8 // 3468 + 3424: 9340 ld.w r2, (r3, 0x0) + 3426: 1072 lrw r3, 0x20000364 // 346c + 3428: b35f st.w r2, (r3, 0x7c) + m_send.BUSBUSY_LOCK = 0x00; //解锁总线状态 + 342a: 9861 ld.w r3, (r14, 0x4) + 342c: 3200 movi r2, 0 + 342e: a346 st.b r2, (r3, 0x6) + + CK_CPU_EnAllNormalIrq(); + 3430: e3fffdec bsr 0x3008 // 3008 + { + return UART_BUSBUSY; //发送失败 + } + + return 0x02; //传入状态无效 +} + 3434: 6c1b mov r0, r6 + 3436: 1403 addi r14, r14, 12 + 3438: 1494 pop r4-r7, r15 + delay_nus(100); + 343a: 3064 movi r0, 100 + 343c: e3fff7e4 bsr 0x2404 // 2404 + delay_cnt ++; + 3440: 2500 addi r5, 1 + if(delay_cnt >= 100){ + 3442: 3364 movi r3, 100 + 3444: 64d6 cmpne r5, r3 + 3446: 0fbd bf 0x33c0 // 33c0 + GPIO_Reverse(GPIOB0,3); + 3448: 3103 movi r1, 3 + 344a: 9600 ld.w r0, (r6, 0x0) + 344c: e3fff640 bsr 0x20cc // 20cc + 3450: 07b5 br 0x33ba // 33ba + return UART_BUSBUSY; //发送失败 + 3452: 3601 movi r6, 1 + 3454: 07f0 br 0x3434 // 3434 + 3456: 0000 bkpt + 3458: 200000bc .long 0x200000bc + 345c: 20000048 .long 0x20000048 + 3460: 200003c4 .long 0x200003c4 + 3464: 20000038 .long 0x20000038 + 3468: 200000b8 .long 0x200000b8 + 346c: 20000364 .long 0x20000364 + +Disassembly of section .text.MultSend_Task: + +00003470 : + * DatSd:发送标记,0x00:无发送,0x01:有数据发送 + * + * @retval 0x00:发送成功 0x01:等待发送 0x02:数据无效 + * */ +U8_T MultSend_Task(U8_T *buff,U16_T len,U8_T DatSd) +{ + 3470: 14d4 push r4-r7, r15 + 3472: 1421 subi r14, r14, 4 + if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR; + 3474: 5963 subi r3, r1, 1 + 3476: 74cd zexth r3, r3 + 3478: 3463 movi r4, 99 + 347a: 64d0 cmphs r4, r3 +{ + 347c: b800 st.w r0, (r14, 0x0) + if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR; + 347e: 0c29 bf 0x34d0 // 34d0 + + if(DatSd == 0x01) + 3480: 3a41 cmpnei r2, 1 + 3482: 0c04 bf 0x348a // 348a + }else{ + Dbg_Println(DBG_BIT_SYS_STATUS,"retry end,%d",m_send.ResendCnt ); + return RETRY_END;//没有重发次数 + } + } + return BUSSEND_WAIT;//等待 + 3484: 3001 movi r0, 1 +} + 3486: 1401 addi r14, r14, 4 + 3488: 1494 pop r4-r7, r15 + if( m_send.ResendCnt < m_send.TotalCnt) //判断数据是否还在有效期,是否还有发送次数 + 348a: 1075 lrw r3, 0x20000364 // 34dc + 348c: 3760 movi r7, 96 + 348e: 61cc addu r7, r3 + 3490: 87c8 ld.b r6, (r7, 0x8) + 3492: 874a ld.b r2, (r7, 0xa) + 3494: 6498 cmphs r6, r2 + 3496: 081f bt 0x34d4 // 34d4 + if(SysTick_1ms - m_send.BusbusyTimeout < m_send.DataValid_Time) + 3498: 3480 movi r4, 128 + 349a: 10b2 lrw r5, 0x200000b8 // 34e0 + 349c: 610c addu r4, r3 + 349e: 9401 ld.w r0, (r4, 0x4) + 34a0: 9540 ld.w r2, (r5, 0x0) + 34a2: 6082 subu r2, r0 + 34a4: 931e ld.w r0, (r3, 0x78) + 34a6: 6408 cmphs r2, r0 + 34a8: 0818 bt 0x34d8 // 34d8 + if( (m_send.ResendCnt == 0x00) || (SysTick_1ms - m_send.ASend_Tick >= m_send.DataWait_Time) ){//数据发送间隔 + 34aa: 3e40 cmpnei r6, 0 + 34ac: 0c07 bf 0x34ba // 34ba + 34ae: 9540 ld.w r2, (r5, 0x0) + 34b0: 94c0 ld.w r6, (r4, 0x0) + 34b2: 609a subu r2, r6 + 34b4: 937d ld.w r3, (r3, 0x74) + 34b6: 64c8 cmphs r2, r3 + 34b8: 0fe6 bf 0x3484 // 3484 + if(BUS485_Send(buff,len) == UART_BUSIDLE){ //发送数据 + 34ba: 9800 ld.w r0, (r14, 0x0) + 34bc: e3ffff78 bsr 0x33ac // 33ac + 34c0: 3840 cmpnei r0, 0 + 34c2: 0be1 bt 0x3484 // 3484 + m_send.ASend_Tick = SysTick_1ms; + 34c4: 9560 ld.w r3, (r5, 0x0) + 34c6: b460 st.w r3, (r4, 0x0) + m_send.ResendCnt++; + 34c8: 8768 ld.b r3, (r7, 0x8) + 34ca: 2300 addi r3, 1 + 34cc: a768 st.b r3, (r7, 0x8) + 34ce: 07dc br 0x3486 // 3486 + if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR; + 34d0: 3004 movi r0, 4 + 34d2: 07da br 0x3486 // 3486 + return RETRY_END;//没有重发次数 + 34d4: 3003 movi r0, 3 + 34d6: 07d8 br 0x3486 // 3486 + return DATA_END;//数据有效期结束 + 34d8: 3002 movi r0, 2 + 34da: 07d6 br 0x3486 // 3486 + 34dc: 20000364 .long 0x20000364 + 34e0: 200000b8 .long 0x200000b8 + +Disassembly of section .text.Set_GroupSend: + +000034e4 : + * indate: 设置数据有效期 + * tim_val: 发送时间间隔 + * @retval None + * */ +void Set_GroupSend(U8_T *data,U16_T sled,U8_T SCnt,U32_T indate,U32_T tim_val) +{ + 34e4: 14d4 push r4-r7, r15 + 34e6: 1422 subi r14, r14, 8 + 34e8: 6d8b mov r6, r2 + 34ea: 9847 ld.w r2, (r14, 0x1c) + 34ec: b840 st.w r2, (r14, 0x0) + if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return; + 34ee: 5943 subi r2, r1, 1 +{ + 34f0: 6d47 mov r5, r1 + if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return; + 34f2: 7489 zexth r2, r2 + 34f4: 3163 movi r1, 99 + 34f6: 6484 cmphs r1, r2 +{ + 34f8: 6dc3 mov r7, r0 + if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return; + 34fa: 0c20 bf 0x353a // 353a + + memset(m_send.SendBuffer,0, USART_SEND_SIZE); + 34fc: 1091 lrw r4, 0x20000364 // 3540 + 34fe: 3264 movi r2, 100 + 3500: 3100 movi r1, 0 + 3502: 6c13 mov r0, r4 + 3504: b861 st.w r3, (r14, 0x4) + 3506: e3fff22f bsr 0x1964 // 1964 <__memset_fast> + memcpy(m_send.SendBuffer,data,sled); + 350a: 6c97 mov r2, r5 + 350c: 6c13 mov r0, r4 + 350e: 6c5f mov r1, r7 + 3510: e3fff26e bsr 0x19ec // 19ec <__memcpy_fast> + m_send.SendLen = sled; + 3514: 3240 movi r2, 64 + 3516: 6090 addu r2, r4 + + m_send.DataValid_Time = indate;//数据有效期 + 3518: 9861 ld.w r3, (r14, 0x4) + 351a: b47e st.w r3, (r4, 0x78) + m_send.SendLen = sled; + 351c: aab7 st.h r5, (r2, 0x2e) + m_send.TotalCnt = SCnt; //数据发送次数 + 351e: 3360 movi r3, 96 + m_send.DataWait_Time = tim_val;//发送数据间隔 + 3520: 9840 ld.w r2, (r14, 0x0) + m_send.TotalCnt = SCnt; //数据发送次数 + 3522: 60d0 addu r3, r4 + m_send.DataWait_Time = tim_val;//发送数据间隔 + 3524: b45d st.w r2, (r4, 0x74) + + m_send.ASend_Flag = 0x01; + 3526: 3201 movi r2, 1 + 3528: a349 st.b r2, (r3, 0x9) + m_send.SendState = BUSSEND_WAIT; + 352a: a347 st.b r2, (r3, 0x7) + m_send.ResendCnt = 0x00; + 352c: 3200 movi r2, 0 + m_send.TotalCnt = SCnt; //数据发送次数 + 352e: a3ca st.b r6, (r3, 0xa) + m_send.ResendCnt = 0x00; + 3530: a348 st.b r2, (r3, 0x8) + m_send.BusbusyTimeout = SysTick_1ms; + 3532: 247f addi r4, 128 + 3534: 1064 lrw r3, 0x200000b8 // 3544 + 3536: 9360 ld.w r3, (r3, 0x0) + 3538: b461 st.w r3, (r4, 0x4) +} + 353a: 1402 addi r14, r14, 8 + 353c: 1494 pop r4-r7, r15 + 353e: 0000 bkpt + 3540: 20000364 .long 0x20000364 + 3544: 200000b8 .long 0x200000b8 + +Disassembly of section .text.BUS485Send_Task: + +00003548 : + m_send.Jump_Flag = jump; +} + +//485发送任务 +void BUS485Send_Task(void) //2025-03-29 +{ + 3548: 14d1 push r4, r15 + //空闲等待 + if(m_send.ASend_Flag == 0x01) + 354a: 108a lrw r4, 0x200003c4 // 3570 + 354c: 8469 ld.b r3, (r4, 0x9) + 354e: 3b41 cmpnei r3, 1 + 3550: 080e bt 0x356c // 356c + { + m_send.SendState = MultSend_Task(m_send.SendBuffer,m_send.SendLen,m_send.ASend_Flag); + 3552: 1069 lrw r3, 0x200003a4 // 3574 + 3554: 8b37 ld.h r1, (r3, 0x2e) + 3556: 3201 movi r2, 1 + 3558: 1008 lrw r0, 0x20000364 // 3578 + 355a: e3ffff8b bsr 0x3470 // 3470 + 355e: a407 st.b r0, (r4, 0x7) + + if( (m_send.SendState == DATA_END)||(m_send.SendState == RETRY_END) )//判断发送数据是否有效 + 3560: 2801 subi r0, 2 + 3562: 7400 zextb r0, r0 + 3564: 3801 cmphsi r0, 2 + 3566: 0803 bt 0x356c // 356c + { + Dbg_Println(DBG_BIT_SYS_STATUS,"send end"); + + m_send.ASend_Flag = 0x00; //清除发生标志位 + 3568: 3300 movi r3, 0 + 356a: a469 st.b r3, (r4, 0x9) +// SYSCON->UREG3 = g_boot.bootTimeout; //向Boot 设定Boot超时时间 +// SYSCON_Software_Reset(); +// } + } + } +} + 356c: 1491 pop r4, r15 + 356e: 0000 bkpt + 3570: 200003c4 .long 0x200003c4 + 3574: 200003a4 .long 0x200003a4 + 3578: 20000364 .long 0x20000364 + +Disassembly of section .text.BusIdle_Task: + +0000357c : +/********************************************************** + * @brief 2025-03-25,检测总线空闲,在定时器中断里调用 + * @retval None + * */ +void BusIdle_Task(void) +{ + 357c: 14d2 push r4-r5, r15 + if((m_send.BusState_Flag != UART_BUSIDLE)&&(m_send.BUSBUSY_LOCK != 0x01)) + 357e: 10ae lrw r5, 0x20000364 // 35b4 + 3580: 3460 movi r4, 96 + 3582: 6114 addu r4, r5 + 3584: 8464 ld.b r3, (r4, 0x4) + 3586: 3b40 cmpnei r3, 0 + 3588: 0c15 bf 0x35b2 // 35b2 + 358a: 8466 ld.b r3, (r4, 0x6) + 358c: 3b41 cmpnei r3, 1 + 358e: 0c12 bf 0x35b2 // 35b2 + { + CK_CPU_DisAllNormalIrq(); + 3590: e3fffd3f bsr 0x300e // 300e + if( (m_send.HighBit_Flag == 0x01)&&(SysTick_1ms - m_send.BusState_Tick >= (6 + m_send.Bus_DelayTime)) ) + 3594: 8465 ld.b r3, (r4, 0x5) + 3596: 3b41 cmpnei r3, 1 + 3598: 080b bt 0x35ae // 35ae + 359a: 1068 lrw r3, 0x200000b8 // 35b8 + 359c: 9340 ld.w r2, (r3, 0x0) + 359e: 957f ld.w r3, (r5, 0x7c) + 35a0: 608e subu r2, r3 + 35a2: 957c ld.w r3, (r5, 0x70) + 35a4: 2305 addi r3, 6 + 35a6: 64c8 cmphs r2, r3 + 35a8: 0c03 bf 0x35ae // 35ae + { + m_send.BusState_Flag = UART_BUSIDLE; + 35aa: 3300 movi r3, 0 + 35ac: a464 st.b r3, (r4, 0x4) + } + CK_CPU_EnAllNormalIrq(); + 35ae: e3fffd2d bsr 0x3008 // 3008 + } +} + 35b2: 1492 pop r4-r5, r15 + 35b4: 20000364 .long 0x20000364 + 35b8: 200000b8 .long 0x200000b8 + +Disassembly of section .text.BusBusy_Task: + +000035bc : +/******************************************************************* + * @brief 检测总线繁忙,在串口接收RX引脚的外部中断服务函数里调用 + * @retval None + * */ +void BusBusy_Task(void) +{ + 35bc: 14d2 push r4-r5, r15 + CK_CPU_DisAllNormalIrq(); + m_send.BusState_Flag = UART_BUSBUSY; + 35be: 1094 lrw r4, 0x20000364 // 360c + 35c0: 3560 movi r5, 96 + CK_CPU_DisAllNormalIrq(); + 35c2: e3fffd26 bsr 0x300e // 300e + m_send.BusState_Flag = UART_BUSBUSY; + 35c6: 6150 addu r5, r4 + 35c8: 3301 movi r3, 1 + 35ca: a564 st.b r3, (r5, 0x4) + m_send.BusState_Tick = SysTick_1ms; + m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时 + 35cc: 310a movi r1, 10 + m_send.BusState_Tick = SysTick_1ms; + 35ce: 1071 lrw r3, 0x200000b8 // 3610 + 35d0: 9340 ld.w r2, (r3, 0x0) + m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时 + 35d2: 9300 ld.w r0, (r3, 0x0) + 35d4: 3380 movi r3, 128 + 35d6: 60d0 addu r3, r4 + 35d8: 9360 ld.w r3, (r3, 0x0) + m_send.BusState_Tick = SysTick_1ms; + 35da: b45f st.w r2, (r4, 0x7c) + m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时 + 35dc: 600e subu r0, r3 + 35de: e3fffd03 bsr 0x2fe4 // 2fe4 <__umodsi3> + 35e2: b41c st.w r0, (r4, 0x70) + + if(READ_RXLEVEL_STATE == 0x01){ + 35e4: 3105 movi r1, 5 + 35e6: 108c lrw r4, 0x20000048 // 3614 + 35e8: 9400 ld.w r0, (r4, 0x0) + 35ea: e3fff57c bsr 0x20e2 // 20e2 + 35ee: 3841 cmpnei r0, 1 + 35f0: 0806 bt 0x35fc // 35fc + m_send.HighBit_Flag = 0x01; //高电平标志置位 + 35f2: 3301 movi r3, 1 + }else if(READ_RXLEVEL_STATE == 0x00){ + m_send.HighBit_Flag = 0x00; //低电平 + 35f4: a565 st.b r3, (r5, 0x5) + } + CK_CPU_EnAllNormalIrq(); + 35f6: e3fffd09 bsr 0x3008 // 3008 +} + 35fa: 1492 pop r4-r5, r15 + }else if(READ_RXLEVEL_STATE == 0x00){ + 35fc: 9400 ld.w r0, (r4, 0x0) + 35fe: 3105 movi r1, 5 + 3600: e3fff571 bsr 0x20e2 // 20e2 + 3604: 3840 cmpnei r0, 0 + 3606: 0bf8 bt 0x35f6 // 35f6 + m_send.HighBit_Flag = 0x00; //低电平 + 3608: 3300 movi r3, 0 + 360a: 07f5 br 0x35f4 // 35f4 + 360c: 20000364 .long 0x20000364 + 3610: 200000b8 .long 0x200000b8 + 3614: 20000048 .long 0x20000048 + +Disassembly of section .text.Dbg_Println: + +00003618 : + } + +#endif +} + +void Dbg_Println(int DbgOptBit, const char *cmd, ...){ + 3618: 1423 subi r14, r14, 12 + 361a: b862 st.w r3, (r14, 0x8) + 361c: b841 st.w r2, (r14, 0x4) + 361e: b820 st.w r1, (r14, 0x0) + + + } + +#endif +} + 3620: 1403 addi r14, r14, 12 + 3622: 783c jmp r15 + +Disassembly of section .text.EEPROM_CheckSum: + +00003624 : +E_PARA_INFO g_eeprom; + +E_MCU_DEV_INFO g_mcu_dev; + +U8_T EEPROM_CheckSum(U8_T *data,U16_T len) +{ + 3624: 6cc3 mov r3, r0 + 3626: 6040 addu r1, r0 + U8_T data_sum = 0; + 3628: 3000 movi r0, 0 + + for(U16_T i = 0;i + { + data_sum += data[i]; + } + return data_sum; +} + 362e: 783c jmp r15 + data_sum += data[i]; + 3630: 8340 ld.b r2, (r3, 0x0) + 3632: 6008 addu r0, r2 + 3634: 7400 zextb r0, r0 + 3636: 2300 addi r3, 1 + 3638: 07f9 br 0x362a // 362a + +Disassembly of section .text.EEPROM_ReadParaInfo: + +0000363c : + } + +} + + +U8_T EEPROM_ReadParaInfo(E_PARA_INFO *info){ + 363c: 14d1 push r4, r15 + 363e: 143b subi r14, r14, 108 + 3640: 6d03 mov r4, r0 + U8_T read_info[6]; + U8_T para_data[EEPROM_APP_DATA_Size_Max]; + U16_T read_len = 0; + + memset(read_info,0,sizeof(read_info)); + 3642: 3300 movi r3, 0 + memset(para_data,0,sizeof(para_data)); + 3644: 3264 movi r2, 100 + 3646: 3100 movi r1, 0 + 3648: 1802 addi r0, r14, 8 + memset(read_info,0,sizeof(read_info)); + 364a: b860 st.w r3, (r14, 0x0) + 364c: dc6e1002 st.h r3, (r14, 0x4) + memset(para_data,0,sizeof(para_data)); + 3650: e3fff18a bsr 0x1964 // 1964 <__memset_fast> + + ReadDataArry_U8(EEPROM_ParaInfo_Address,4,read_info); + 3654: 6cbb mov r2, r14 + 3656: 3104 movi r1, 4 + 3658: 1014 lrw r0, 0x10000100 // 36a8 + 365a: e3fff68f bsr 0x2378 // 2378 + + if(read_info[0] == EEPROM_APP_SVAE_FLAG){ + 365e: d84e0000 ld.b r2, (r14, 0x0) + 3662: 33a6 movi r3, 166 + 3664: 64ca cmpne r2, r3 + 3666: 0c04 bf 0x366e // 366e + return 0x00; + } + } + } + + return 0x01; + 3668: 3001 movi r0, 1 +} + 366a: 141b addi r14, r14, 108 + 366c: 1491 pop r4, r15 + read_len |= read_info[1]; + 366e: d82e0002 ld.b r1, (r14, 0x2) + 3672: d86e0001 ld.b r3, (r14, 0x1) + 3676: 4128 lsli r1, r1, 8 + 3678: 6c4c or r1, r3 + if(read_len <= EEPROM_APP_DATA_Size_Max){ + 367a: 3364 movi r3, 100 + 367c: 644c cmphs r3, r1 + 367e: 0ff5 bf 0x3668 // 3668 + ReadDataArry_U8(EEPROM_ParaInfo_Address+EEPROM_Offset_Data,read_len,para_data); + 3680: 1a02 addi r2, r14, 8 + 3682: 100b lrw r0, 0x10000104 // 36ac + 3684: e3fff67a bsr 0x2378 // 2378 + if(EEPROM_CheckSum(para_data,sizeof(E_PARA_INFO)) == read_info[3]){ + 3688: 3108 movi r1, 8 + 368a: 1802 addi r0, r14, 8 + 368c: e3ffffcc bsr 0x3624 // 3624 + 3690: d86e0003 ld.b r3, (r14, 0x3) + 3694: 640e cmpne r3, r0 + 3696: 0be9 bt 0x3668 // 3668 + memcpy((uint8_t *)info,para_data,sizeof(E_PARA_INFO)); + 3698: 3208 movi r2, 8 + 369a: 1902 addi r1, r14, 8 + 369c: 6c13 mov r0, r4 + 369e: e3fff1a7 bsr 0x19ec // 19ec <__memcpy_fast> + return 0x00; + 36a2: 3000 movi r0, 0 + 36a4: 07e3 br 0x366a // 366a + 36a6: 0000 bkpt + 36a8: 10000100 .long 0x10000100 + 36ac: 10000104 .long 0x10000104 + +Disassembly of section .text.EEPROM_Validate_ParaInfo: + +000036b0 : + Page_ProgramData(EEPROM_ParaInfo_Address,save_len,save_data); + + return 0; +} + +U8_T EEPROM_Validate_ParaInfo(E_PARA_INFO *info){ + 36b0: 14d0 push r15 + 36b2: 1423 subi r14, r14, 12 +// { +// info->langue_select = EEPROM_LangueSelect_Default;//默认中英文混合 +// } + + //设备端口类型 + if(info->dev_port > 2) //2024-12-16 + 36b4: 8067 ld.b r3, (r0, 0x7) + 36b6: 3b02 cmphsi r3, 3 + 36b8: 0c03 bf 0x36be // 36be + { + info->dev_port = POLLING_PORT; //默认轮训端口 + 36ba: 3301 movi r3, 1 + 36bc: a067 st.b r3, (r0, 0x7) + } + + + Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info temp unit:%d backlight_en:%d key_sens_level:%d device_addr:%d device_port:%d",\ + 36be: 8027 ld.b r1, (r0, 0x7) + 36c0: 8064 ld.b r3, (r0, 0x4) + 36c2: 8043 ld.b r2, (r0, 0x3) + 36c4: b822 st.w r1, (r14, 0x8) + 36c6: 8020 ld.b r1, (r0, 0x0) + 36c8: b821 st.w r1, (r14, 0x4) + 36ca: 8025 ld.b r1, (r0, 0x5) + 36cc: b820 st.w r1, (r14, 0x0) + 36ce: 3000 movi r0, 0 + 36d0: 1023 lrw r1, 0x567e // 36dc + 36d2: e3ffffa3 bsr 0x3618 // 3618 + info->temp_select,info->backlight_en,info->key_sens_level,info->dev_addr,info->dev_port); + + return 0; +} + 36d6: 3000 movi r0, 0 + 36d8: 1403 addi r14, r14, 12 + 36da: 1490 pop r15 + 36dc: 0000567e .long 0x0000567e + +Disassembly of section .text.EEPROM_Default_ParaInfo: + +000036e0 : + +/*恢复默认值*/ +void EEPROM_Default_ParaInfo(E_PARA_INFO *info){ + info->dev_addr = 0x01; + 36e0: 3301 movi r3, 1 + 36e2: a060 st.b r3, (r0, 0x0) + info->pipe_flag = 0x00; + 36e4: 3300 movi r3, 0 + 36e6: a061 st.b r3, (r0, 0x1) + info->temp_diff = EEPROM_TempDifference_Default; + 36e8: 3309 movi r3, 9 + 36ea: a062 st.b r3, (r0, 0x2) + info->temp_select = EEPROM_TempSelect_Default; + 36ec: 3300 movi r3, 0 + 36ee: a063 st.b r3, (r0, 0x3) + info->backlight_en = 0x00; + 36f0: a064 st.b r3, (r0, 0x4) + info->key_sens_level = EEPROM_TouchLevel_Default; + 36f2: 3301 movi r3, 1 + 36f4: a065 st.b r3, (r0, 0x5) + info->langue_select = EEPROM_LangueSelect_Default; + 36f6: 3300 movi r3, 0 + 36f8: a066 st.b r3, (r0, 0x6) + info->dev_port = POLLING_PORT; //2024-12-16 + 36fa: 3301 movi r3, 1 + 36fc: a067 st.b r3, (r0, 0x7) + +} + 36fe: 783c jmp r15 + +Disassembly of section .text.EEPROM_Init: + +00003700 : +void EEPROM_Init(void){ + 3700: 14d1 push r4, r15 + EnIFCClk; //使能 IFC 时钟 + 3702: 1072 lrw r3, 0x20000060 // 3748 + 3704: 3201 movi r2, 1 + 3706: 9360 ld.w r3, (r3, 0x0) + 3708: b341 st.w r2, (r3, 0x4) + IFC->MR |= 0x10002; //高速模式,延迟 2 个周期 + 370a: 9345 ld.w r2, (r3, 0x14) + 370c: 3aa1 bseti r2, 1 + 370e: 3ab0 bseti r2, 16 + 3710: b345 st.w r2, (r3, 0x14) + delay_nms(10); + 3712: 300a movi r0, 10 + memset(&g_eeprom,0,sizeof(E_PARA_INFO)); + 3714: 108e lrw r4, 0x200003ec // 374c + delay_nms(10); + 3716: e3fff661 bsr 0x23d8 // 23d8 + memset(&g_eeprom,0,sizeof(E_PARA_INFO)); + 371a: 3208 movi r2, 8 + 371c: 3100 movi r1, 0 + 371e: 6c13 mov r0, r4 + 3720: e3fff122 bsr 0x1964 // 1964 <__memset_fast> + rev = EEPROM_ReadParaInfo(&g_eeprom); + 3724: 6c13 mov r0, r4 + 3726: e3ffff8b bsr 0x363c // 363c + if(rev == 0x00){ + 372a: 3840 cmpnei r0, 0 + EEPROM_Validate_ParaInfo(&g_eeprom); + 372c: 6c13 mov r0, r4 + if(rev == 0x00){ + 372e: 0804 bt 0x3736 // 3736 + EEPROM_Validate_ParaInfo(&g_eeprom); + 3730: e3ffffc0 bsr 0x36b0 // 36b0 +} + 3734: 1491 pop r4, r15 + EEPROM_Default_ParaInfo(&g_eeprom); + 3736: e3ffffd5 bsr 0x36e0 // 36e0 + Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info Use Default:%d",g_eeprom.pipe_flag); + 373a: 8441 ld.b r2, (r4, 0x1) + 373c: 1025 lrw r1, 0x56d8 // 3750 + 373e: 3000 movi r0, 0 + 3740: e3ffff6c bsr 0x3618 // 3618 +} + 3744: 07f8 br 0x3734 // 3734 + 3746: 0000 bkpt + 3748: 20000060 .long 0x20000060 + 374c: 200003ec .long 0x200003ec + 3750: 000056d8 .long 0x000056d8 + +Disassembly of section .text.TemCtrl_Init: + +00003754 : + * 函数功能:温控初始化 + * + * +*****************************************************************/ +void TemCtrl_Init(void) +{ + 3754: 14d1 push r4, r15 + memset(&TempCtrl,0x00,sizeof(TempCtrl_Unit)); + 3756: 1290 lrw r4, 0x2000041c // 3894 + 3758: 3228 movi r2, 40 + 375a: 3100 movi r1, 0 + 375c: 6c13 mov r0, r4 + 375e: e3fff103 bsr 0x1964 // 1964 <__memset_fast> + + if(Sys_RSR & 0xFFFFFFFE) //除上电复位外其他复位源则恢复温控状态 + 3762: 126e lrw r3, 0x200000ac // 3898 + 3764: 9360 ld.w r3, (r3, 0x0) + 3766: 3b80 bclri r3, 0 + 3768: 3b40 cmpnei r3, 0 + 376a: 0c8e bf 0x3886 // 3886 + { + Dbg_Println(DBG_BIT_SYS_STATUS,"MCU reset,recover state!"); + 376c: 122c lrw r1, 0x56fe // 389c + 376e: 3000 movi r0, 0 + 3770: e3ffff54 bsr 0x3618 // 3618 + + if(((Sav_Temp & 0xFF) == TEMP_OFF) || ((Sav_Temp & 0xFF) == TEMP_ON)) //读取的温控开关机状态合法 + 3774: 126b lrw r3, 0x200000a8 // 38a0 + 3776: 30ff movi r0, 255 + 3778: 9320 ld.w r1, (r3, 0x0) + 377a: 6840 and r1, r0 + 377c: 3940 cmpnei r1, 0 + 377e: 0c05 bf 0x3788 // 3788 + 3780: 9340 ld.w r2, (r3, 0x0) + 3782: 6880 and r2, r0 + 3784: 3a41 cmpnei r2, 1 + 3786: 0873 bt 0x386c // 386c + { + TempCtrl.TemState_Now.on_off = (Sav_Temp & 0xFF); + 3788: 9340 ld.w r2, (r3, 0x0) + 378a: 4227 lsli r1, r2, 7 + 378c: 307f movi r0, 127 + 378e: 8442 ld.b r2, (r4, 0x2) + 3790: 6880 and r2, r0 + 3792: 6c84 or r2, r1 + } + else + { + TempCtrl.TemState_Now.on_off = TEMP_OFF; + 3794: a442 st.b r2, (r4, 0x2) + } + + if( (((Sav_Temp >> 8) & 0xFF) == MODEL_COLD) || (((Sav_Temp >> 8) & 0xFF) == MODEL_HOT) + 3796: 9340 ld.w r2, (r3, 0x0) + 3798: 4a48 lsri r2, r2, 8 + 379a: 30ff movi r0, 255 + 379c: 6880 and r2, r0 + 379e: 3a40 cmpnei r2, 0 + 37a0: 0c10 bf 0x37c0 // 37c0 + 37a2: 9340 ld.w r2, (r3, 0x0) + 37a4: 4a48 lsri r2, r2, 8 + 37a6: 6880 and r2, r0 + 37a8: 3a42 cmpnei r2, 2 + 37aa: 0c0b bf 0x37c0 // 37c0 + || (((Sav_Temp >> 8) & 0xFF) == MODEL_WIND) || (((Sav_Temp >> 8) & 0xFF) == MODEL_AUTO) ) //读取的温控模式状态合法 + 37ac: 9320 ld.w r1, (r3, 0x0) + 37ae: 4928 lsri r1, r1, 8 + 37b0: 6840 and r1, r0 + 37b2: 3944 cmpnei r1, 4 + 37b4: 0c06 bf 0x37c0 // 37c0 + 37b6: 9340 ld.w r2, (r3, 0x0) + 37b8: 4a48 lsri r2, r2, 8 + 37ba: 6880 and r2, r0 + 37bc: 3a46 cmpnei r2, 6 + 37be: 085b bt 0x3874 // 3874 + { + TempCtrl.TemState_Now.mode = ((Sav_Temp >> 8) & 0xFF); + 37c0: 9340 ld.w r2, (r3, 0x0) + 37c2: 3107 movi r1, 7 + 37c4: 4a48 lsri r2, r2, 8 + 37c6: 6884 and r2, r1 + 37c8: 3070 movi r0, 112 + 37ca: 8422 ld.b r1, (r4, 0x2) + 37cc: 4244 lsli r2, r2, 4 + 37ce: 6841 andn r1, r0 + 37d0: 6c84 or r2, r1 + } + else + { + TempCtrl.TemState_Now.mode = MODEL_COLD; + 37d2: a442 st.b r2, (r4, 0x2) + } + + if( (((Sav_Temp >> 16) & 0xFF) == FAN_LOW) || (((Sav_Temp >> 16) & 0xFF) == FAN_MID) //读取的温控风速状态合法 + 37d4: 9340 ld.w r2, (r3, 0x0) + 37d6: 4a50 lsri r2, r2, 16 + 37d8: 30ff movi r0, 255 + 37da: 6880 and r2, r0 + 37dc: 3a40 cmpnei r2, 0 + 37de: 0c10 bf 0x37fe // 37fe + 37e0: 9340 ld.w r2, (r3, 0x0) + 37e2: 4a50 lsri r2, r2, 16 + 37e4: 6880 and r2, r0 + 37e6: 3a41 cmpnei r2, 1 + 37e8: 0c0b bf 0x37fe // 37fe + || (((Sav_Temp >> 16) & 0xFF) == FAN_HIGH)|| (((Sav_Temp >> 16) & 0xFF) == FAN_AUTO)) + 37ea: 9320 ld.w r1, (r3, 0x0) + 37ec: 4930 lsri r1, r1, 16 + 37ee: 6840 and r1, r0 + 37f0: 3942 cmpnei r1, 2 + 37f2: 0c06 bf 0x37fe // 37fe + 37f4: 9340 ld.w r2, (r3, 0x0) + 37f6: 4a50 lsri r2, r2, 16 + 37f8: 6880 and r2, r0 + 37fa: 3a43 cmpnei r2, 3 + 37fc: 0840 bt 0x387c // 387c + { + TempCtrl.TemState_Now.fan = ((Sav_Temp >> 16) & 0xFF); + 37fe: 9340 ld.w r2, (r3, 0x0) + 3800: 3107 movi r1, 7 + 3802: 4a50 lsri r2, r2, 16 + 3804: 6884 and r2, r1 + 3806: 300e movi r0, 14 + 3808: 8422 ld.b r1, (r4, 0x2) + 380a: 4241 lsli r2, r2, 1 + 380c: 6841 andn r1, r0 + 380e: 6c84 or r2, r1 + } + else + { + TempCtrl.TemState_Now.fan = FAN_MID; + 3810: a442 st.b r2, (r4, 0x2) + } + //读取的温控设置温度合法 2024-04-18增加0==32的判断 + if(((((Sav_Temp >> 24) & 0xFF) >= 16) && (((Sav_Temp >> 24) & 0xFF) <= 32)) ) + 3812: 9340 ld.w r2, (r3, 0x0) + 3814: 4a58 lsri r2, r2, 24 + 3816: 3a0f cmphsi r2, 16 + 3818: 0c3c bf 0x3890 // 3890 + 381a: 3284 movi r2, 132 + 381c: 4256 lsli r2, r2, 22 + 381e: 9320 ld.w r1, (r3, 0x0) + 3820: 2a00 subi r2, 1 + 3822: 6448 cmphs r2, r1 + 3824: 0c36 bf 0x3890 // 3890 + { + TempCtrl.TemState_Now.set_t = ((Sav_Temp >> 24) & 0xFF); + 3826: 9360 ld.w r3, (r3, 0x0) + 3828: 4b78 lsri r3, r3, 24 + else //正常上电温控状态 + { + TempCtrl.TemState_Now.on_off = TEMP_OFF; //关机 + TempCtrl.TemState_Now.mode = MODEL_COLD; //制冷 + TempCtrl.TemState_Now.fan = FAN_MID; //中风速 + TempCtrl.TemState_Now.set_t = 24; //24 + 382a: a461 st.b r3, (r4, 0x1) + } + + TempCtrl.TemState_Now.indoor_t = 24; + 382c: 3318 movi r3, 24 + 382e: a460 st.b r3, (r4, 0x0) + TempCtrl.TemStateLast.indoor_t = TempCtrl.TemState_Now.indoor_t; + 3830: a464 st.b r3, (r4, 0x4) + TempCtrl.TemState_Ctrller.indoor_t = TempCtrl.TemState_Now.indoor_t; + 3832: a468 st.b r3, (r4, 0x8) + + + SYSCON->UREG0 = 0x00000000; + 3834: 3200 movi r2, 0 + 3836: 107c lrw r3, 0x2000005c // 38a4 + 3838: 9360 ld.w r3, (r3, 0x0) + 383a: 23ff addi r3, 256 + 383c: b340 st.w r2, (r3, 0x0) + SYSCON->UREG0 |= (TempCtrl.TemState_Now.mode << 8); + 383e: 8442 ld.b r2, (r4, 0x2) + 3840: 4239 lsli r1, r2, 25 + 3842: 493d lsri r1, r1, 29 + 3844: 9300 ld.w r0, (r3, 0x0) + 3846: 4128 lsli r1, r1, 8 + 3848: 6c40 or r1, r0 + 384a: b320 st.w r1, (r3, 0x0) + SYSCON->UREG0 |= (TempCtrl.TemState_Now.fan << 16); + 384c: 423c lsli r1, r2, 28 + 384e: 493d lsri r1, r1, 29 + 3850: 9300 ld.w r0, (r3, 0x0) + 3852: 4130 lsli r1, r1, 16 + 3854: 6c40 or r1, r0 + 3856: b320 st.w r1, (r3, 0x0) + SYSCON->UREG0 |= (TempCtrl.TemState_Now.set_t << 24); + 3858: 8421 ld.b r1, (r4, 0x1) + 385a: 9300 ld.w r0, (r3, 0x0) + 385c: 4138 lsli r1, r1, 24 + 385e: 6c40 or r1, r0 + 3860: b320 st.w r1, (r3, 0x0) + SYSCON->UREG0 |= TempCtrl.TemState_Now.on_off; //2024-03-15 + 3862: 9320 ld.w r1, (r3, 0x0) + 3864: 4a47 lsri r2, r2, 7 + 3866: 6c84 or r2, r1 + 3868: b340 st.w r2, (r3, 0x0) +} + 386a: 1491 pop r4, r15 + TempCtrl.TemState_Now.on_off = TEMP_OFF; + 386c: 8442 ld.b r2, (r4, 0x2) + 386e: 317f movi r1, 127 + 3870: 6884 and r2, r1 + 3872: 0791 br 0x3794 // 3794 + TempCtrl.TemState_Now.mode = MODEL_COLD; + 3874: 8442 ld.b r2, (r4, 0x2) + 3876: 3170 movi r1, 112 + 3878: 6885 andn r2, r1 + 387a: 07ac br 0x37d2 // 37d2 + TempCtrl.TemState_Now.fan = FAN_MID; + 387c: 8442 ld.b r2, (r4, 0x2) + 387e: 310e movi r1, 14 + 3880: 6885 andn r2, r1 + 3882: 3aa1 bseti r2, 1 + 3884: 07c6 br 0x3810 // 3810 + TempCtrl.TemState_Now.fan = FAN_MID; //中风速 + 3886: 8462 ld.b r3, (r4, 0x2) + 3888: 320e movi r2, 14 + 388a: 68c9 andn r3, r2 + 388c: 3ba1 bseti r3, 1 + 388e: a462 st.b r3, (r4, 0x2) + TempCtrl.TemState_Now.set_t = 24; //24 + 3890: 3318 movi r3, 24 + 3892: 07cc br 0x382a // 382a + 3894: 2000041c .long 0x2000041c + 3898: 200000ac .long 0x200000ac + 389c: 000056fe .long 0x000056fe + 38a0: 200000a8 .long 0x200000a8 + 38a4: 2000005c .long 0x2000005c + +Disassembly of section .text.Ctrller_Ctrl_AirState: + +000038a8 : + * 函数功能 : 控制空调状态 + * 函数输入 : + * 函数输出 : +**********************************************************************************/ +void Ctrller_Ctrl_AirState(void) +{ + 38a8: 14d0 push r15 + 38aa: 1423 subi r14, r14, 12 + U8_T SdBuff[12]; + U16_T SdLen = 0x0B; + + SdBuff[0] = 0xDD; + 38ac: 3300 movi r3, 0 + 38ae: 2b22 subi r3, 35 + 38b0: dc6e0000 st.b r3, (r14, 0x0) + SdBuff[1] = 0x0B; + 38b4: 330b movi r3, 11 + 38b6: dc6e0001 st.b r3, (r14, 0x1) + SdBuff[2] = 0xFF; + 38ba: 3300 movi r3, 0 + 38bc: 2b00 subi r3, 1 + 38be: dc6e0002 st.b r3, (r14, 0x2) + SdBuff[3] = g_Dip.DIP_addr; + SdBuff[4] = 0x03; //命令字 + + SdBuff[5] = TempCtrl.TemState_Now.on_off; //开关机状态 + 38c2: 1144 lrw r2, 0x2000041c // 3950 + SdBuff[3] = g_Dip.DIP_addr; + 38c4: 1164 lrw r3, 0x20000444 // 3954 + 38c6: 8366 ld.b r3, (r3, 0x6) + 38c8: dc6e0003 st.b r3, (r14, 0x3) + SdBuff[4] = 0x03; //命令字 + 38cc: 3303 movi r3, 3 + 38ce: dc6e0004 st.b r3, (r14, 0x4) + SdBuff[5] = TempCtrl.TemState_Now.on_off; //开关机状态 + 38d2: 8262 ld.b r3, (r2, 0x2) + 38d4: 4b27 lsri r1, r3, 7 + 38d6: dc2e0005 st.b r1, (r14, 0x5) + + SdBuff[6] = TempCtrl.TemState_Now.set_t; //设定温度 + 38da: 8221 ld.b r1, (r2, 0x1) + 38dc: dc2e0006 st.b r1, (r14, 0x6) + + if(TempCtrl.TemState_Now.mode == MODEL_COLD){ //空调工作模式, 0x01:制热, 0x02:制冷, 0x04:送风 + 38e0: 74cc zextb r3, r3 + 38e2: 3170 movi r1, 112 + 38e4: 684c and r1, r3 + 38e6: 3940 cmpnei r1, 0 + 38e8: 081a bt 0x391c // 391c + SdBuff[7] = 0x02; + 38ea: 3102 movi r1, 2 + }else if(TempCtrl.TemState_Now.mode == MODEL_HOT){ + SdBuff[7] = 0x01; + }else if(TempCtrl.TemState_Now.mode == MODEL_WIND){ + SdBuff[7] = 0x04; + 38ec: dc2e0007 st.b r1, (r14, 0x7) + }else{ + SdBuff[7] = 0x02; + } + + if(TempCtrl.TemState_Now.fan == FAN_AUTO){ //空调风速, 0x00:自动, 0x01:低风速, 0x02:中风速, 0x03:高风速, 0x04:停止 + 38f0: 310e movi r1, 14 + 38f2: 68c4 and r3, r1 + 38f4: 3b46 cmpnei r3, 6 + 38f6: 081d bt 0x3930 // 3930 + SdBuff[8] = 0x00; + 38f8: 3300 movi r3, 0 + }else if(TempCtrl.TemState_Now.fan == FAN_MID){ + SdBuff[8] = 0x02; + }else if(TempCtrl.TemState_Now.fan == FAN_HIGH){ + SdBuff[8] = 0x03; + }else if(TempCtrl.TemState_Now.fan == FAN_STOP){ + SdBuff[8] = 0x04; + 38fa: dc6e0008 st.b r3, (r14, 0x8) + SdBuff[8] = 0x02; + } + + SdBuff[9] = TempCtrl.Temp_dirwind; //空调的风向值, 0x00:无风向, 0x01:代表风向板位于位置1, ..., 0x07:代表风向板位于位置7, 0xFF:自动摆动 + + SdBuff[10] = EEPROM_CheckSum(SdBuff,0x0A); + 38fe: 310a movi r1, 10 + SdBuff[9] = TempCtrl.Temp_dirwind; //空调的风向值, 0x00:无风向, 0x01:代表风向板位于位置1, ..., 0x07:代表风向板位于位置7, 0xFF:自动摆动 + 3900: 826c ld.b r3, (r2, 0xc) + SdBuff[10] = EEPROM_CheckSum(SdBuff,0x0A); + 3902: 6c3b mov r0, r14 + SdBuff[9] = TempCtrl.Temp_dirwind; //空调的风向值, 0x00:无风向, 0x01:代表风向板位于位置1, ..., 0x07:代表风向板位于位置7, 0xFF:自动摆动 + 3904: dc6e0009 st.b r3, (r14, 0x9) + SdBuff[10] = EEPROM_CheckSum(SdBuff,0x0A); + 3908: e3fffe8e bsr 0x3624 // 3624 + 390c: dc0e000a st.b r0, (r14, 0xa) + + Controller485_SendData(SdBuff,SdLen); + 3910: 310b movi r1, 11 + 3912: 6c3b mov r0, r14 + 3914: e3fffcf8 bsr 0x3304 // 3304 +} + 3918: 1403 addi r14, r14, 12 + 391a: 1490 pop r15 + }else if(TempCtrl.TemState_Now.mode == MODEL_HOT){ + 391c: 3020 movi r0, 32 + 391e: 6406 cmpne r1, r0 + 3920: 0803 bt 0x3926 // 3926 + SdBuff[7] = 0x01; + 3922: 3101 movi r1, 1 + 3924: 07e4 br 0x38ec // 38ec + }else if(TempCtrl.TemState_Now.mode == MODEL_WIND){ + 3926: 3040 movi r0, 64 + 3928: 6406 cmpne r1, r0 + 392a: 0be0 bt 0x38ea // 38ea + SdBuff[7] = 0x04; + 392c: 3104 movi r1, 4 + 392e: 07df br 0x38ec // 38ec + }else if(TempCtrl.TemState_Now.fan == FAN_LOW){ + 3930: 3b40 cmpnei r3, 0 + 3932: 0803 bt 0x3938 // 3938 + SdBuff[8] = 0x01; + 3934: 3301 movi r3, 1 + 3936: 07e2 br 0x38fa // 38fa + }else if(TempCtrl.TemState_Now.fan == FAN_MID){ + 3938: 3b42 cmpnei r3, 2 + 393a: 0803 bt 0x3940 // 3940 + SdBuff[8] = 0x02; + 393c: 3302 movi r3, 2 + 393e: 07de br 0x38fa // 38fa + }else if(TempCtrl.TemState_Now.fan == FAN_HIGH){ + 3940: 3b44 cmpnei r3, 4 + 3942: 0803 bt 0x3948 // 3948 + SdBuff[8] = 0x03; + 3944: 3303 movi r3, 3 + 3946: 07da br 0x38fa // 38fa + }else if(TempCtrl.TemState_Now.fan == FAN_STOP){ + 3948: 3b48 cmpnei r3, 8 + 394a: 0bf9 bt 0x393c // 393c + SdBuff[8] = 0x04; + 394c: 3304 movi r3, 4 + 394e: 07d6 br 0x38fa // 38fa + 3950: 2000041c .long 0x2000041c + 3954: 20000444 .long 0x20000444 + +Disassembly of section .text.TemCtrl_Pro: + +00003958 : +{ + 3958: 14d1 push r4, r15 + if(TempCtrl.TemState_Now.on_off != TempCtrl.TemState_Ctrller.on_off) + 395a: 1168 lrw r3, 0x2000041c // 39f8 + 395c: 8322 ld.b r1, (r3, 0x2) + 395e: 834a ld.b r2, (r3, 0xa) + 3960: 4927 lsri r1, r1, 7 + 3962: 4a07 lsri r0, r2, 7 + 3964: 6442 cmpne r0, r1 + 3966: 0c08 bf 0x3976 // 3976 + TempCtrl.TemState_Ctrller.on_off = TempCtrl.TemState_Now.on_off; + 3968: 307f movi r0, 127 + 396a: 4127 lsli r1, r1, 7 + 396c: 6880 and r2, r0 + 396e: 6c84 or r2, r1 + 3970: a34a st.b r2, (r3, 0xa) + TempCtrl.TempCtrllerChange_Flag = 0x01; + 3972: 3201 movi r2, 1 + 3974: a354 st.b r2, (r3, 0x14) + if(TempCtrl.TemState_Now.set_t != TempCtrl.TemState_Ctrller.set_t) + 3976: 8341 ld.b r2, (r3, 0x1) + 3978: 8329 ld.b r1, (r3, 0x9) + 397a: 6486 cmpne r1, r2 + 397c: 0c04 bf 0x3984 // 3984 + TempCtrl.TemState_Ctrller.set_t = TempCtrl.TemState_Now.set_t; + 397e: a349 st.b r2, (r3, 0x9) + TempCtrl.TempCtrllerChange_Flag = 0x01; + 3980: 3201 movi r2, 1 + 3982: a354 st.b r2, (r3, 0x14) + if(TempCtrl.TemState_Now.mode != TempCtrl.TemState_Ctrller.mode) + 3984: 8342 ld.b r2, (r3, 0x2) + 3986: 832a ld.b r1, (r3, 0xa) + 3988: 4259 lsli r2, r2, 25 + 398a: 4119 lsli r0, r1, 25 + 398c: 4a5d lsri r2, r2, 29 + 398e: 481d lsri r0, r0, 29 + 3990: 6482 cmpne r0, r2 + 3992: 0c08 bf 0x39a2 // 39a2 + TempCtrl.TemState_Ctrller.mode = TempCtrl.TemState_Now.mode; + 3994: 3070 movi r0, 112 + 3996: 4244 lsli r2, r2, 4 + 3998: 6841 andn r1, r0 + 399a: 6c84 or r2, r1 + 399c: a34a st.b r2, (r3, 0xa) + TempCtrl.TempCtrllerChange_Flag = 0x01; + 399e: 3201 movi r2, 1 + 39a0: a354 st.b r2, (r3, 0x14) + if(TempCtrl.TemState_Now.fan != TempCtrl.TemState_Ctrller.fan) + 39a2: 8342 ld.b r2, (r3, 0x2) + 39a4: 832a ld.b r1, (r3, 0xa) + 39a6: 425c lsli r2, r2, 28 + 39a8: 411c lsli r0, r1, 28 + 39aa: 4a5d lsri r2, r2, 29 + 39ac: 481d lsri r0, r0, 29 + 39ae: 6482 cmpne r0, r2 + 39b0: 0c08 bf 0x39c0 // 39c0 + TempCtrl.TemState_Ctrller.fan = TempCtrl.TemState_Now.fan; + 39b2: 300e movi r0, 14 + 39b4: 4241 lsli r2, r2, 1 + 39b6: 6841 andn r1, r0 + 39b8: 6c84 or r2, r1 + 39ba: a34a st.b r2, (r3, 0xa) + TempCtrl.TempCtrllerChange_Flag = 0x01; + 39bc: 3201 movi r2, 1 + 39be: a354 st.b r2, (r3, 0x14) + if( (TempCtrl.TempCtrllerChange_Flag == 0x01)&&(SysTick_1ms - TemCtrl_tick >= 300) ) + 39c0: 8354 ld.b r2, (r3, 0x14) + 39c2: 3a41 cmpnei r2, 1 + 39c4: 0814 bt 0x39ec // 39ec + 39c6: 104e lrw r2, 0x200000b8 // 39fc + 39c8: 100e lrw r0, 0x20000144 // 3a00 + 39ca: 9220 ld.w r1, (r2, 0x0) + 39cc: 9080 ld.w r4, (r0, 0x0) + 39ce: 6052 subu r1, r4 + 39d0: 108d lrw r4, 0x12b // 3a04 + 39d2: 6450 cmphs r4, r1 + 39d4: 080c bt 0x39ec // 39ec + TempCtrl.TemQuery_1S_tick = SysTick_1ms; + 39d6: 9220 ld.w r1, (r2, 0x0) + TemCtrl_tick = SysTick_1ms; + 39d8: 9240 ld.w r2, (r2, 0x0) + 39da: b040 st.w r2, (r0, 0x0) + if(TempCtrl.TempCtrller_Cnt <= 0x03) + 39dc: 8353 ld.b r2, (r3, 0x13) + 39de: 3a03 cmphsi r2, 4 + TempCtrl.TemQuery_1S_tick = SysTick_1ms; + 39e0: b329 st.w r1, (r3, 0x24) + if(TempCtrl.TempCtrller_Cnt <= 0x03) + 39e2: 0806 bt 0x39ee // 39ee + TempCtrl.TempCtrller_Cnt++; + 39e4: 2200 addi r2, 1 + 39e6: a353 st.b r2, (r3, 0x13) + Ctrller_Ctrl_AirState(); + 39e8: e3ffff60 bsr 0x38a8 // 38a8 +} + 39ec: 1491 pop r4, r15 + TempCtrl.TempCtrllerChange_Flag = 0x00; + 39ee: 3200 movi r2, 0 + 39f0: a354 st.b r2, (r3, 0x14) + TempCtrl.TempCtrller_Cnt = 0x00; + 39f2: a353 st.b r2, (r3, 0x13) +} + 39f4: 07fc br 0x39ec // 39ec + 39f6: 0000 bkpt + 39f8: 2000041c .long 0x2000041c + 39fc: 200000b8 .long 0x200000b8 + 3a00: 20000144 .long 0x20000144 + 3a04: 0000012b .long 0x0000012b + +Disassembly of section .text.Ctrller_CtrlAirState_Processing: + +00003a08 : + * Len : 接收数据长度 + * 函数输出 : +**********************************************************************************/ +U8_T Ctrller_CtrlAirState_Processing(U8_T *RecData, U16_T Len) +{ + if(Len < 7) return 0x01; + 3a08: 3906 cmphsi r1, 7 + 3a0a: 0c0a bf 0x3a1e // 3a1e + + if(RecData[5] == 0x00) //控制设定失败 + { + + } + else if(RecData[5] == 0x01) //控制设定成功 + 3a0c: 8065 ld.b r3, (r0, 0x5) + 3a0e: 3b41 cmpnei r3, 1 + 3a10: 0805 bt 0x3a1a // 3a1a + { + TempCtrl.TempCtrllerChange_Flag = 0x00; + 3a12: 1065 lrw r3, 0x2000041c // 3a24 + 3a14: 3200 movi r2, 0 + 3a16: a354 st.b r2, (r3, 0x14) + TempCtrl.TempCtrller_Cnt = 0x00; + 3a18: a353 st.b r2, (r3, 0x13) + else if(RecData[5] == 0x01) //控制设定成功 + 3a1a: 3000 movi r0, 0 + 3a1c: 0402 br 0x3a20 // 3a20 + if(Len < 7) return 0x01; + 3a1e: 3001 movi r0, 1 + } + + return 0x00; +} + 3a20: 783c jmp r15 + 3a22: 0000 bkpt + 3a24: 2000041c .long 0x2000041c + +Disassembly of section .text.Ctrller_RecData_Processing: + +00003a28 : + * RecData : 接收数据缓冲区 + * Len : 接收数据长度 + * 函数输出 : 处理状态 +**********************************************************************************/ +U8_T Ctrller_RecData_Processing(U8_T *RecData, U16_T Len) +{ + 3a28: 14d4 push r4-r7, r15 + if( (Len < 6)||(RecData[1] != Len) ) + 3a2a: 3905 cmphsi r1, 6 +{ + 3a2c: 6d03 mov r4, r0 + 3a2e: 6c87 mov r2, r1 + if( (Len < 6)||(RecData[1] != Len) ) + 3a30: 0c04 bf 0x3a38 // 3a38 + 3a32: 80a1 ld.b r5, (r0, 0x1) + 3a34: 6456 cmpne r5, r1 + 3a36: 0c07 bf 0x3a44 // 3a44 + { + Dbg_Println(DBG_BIT_SYS_STATUS,"Len Err:%d",Len); + 3a38: 3000 movi r0, 0 + 3a3a: 1121 lrw r1, 0x5717 // 3abc + 3a3c: e3fffdee bsr 0x3618 // 3618 + return 0x01; + 3a40: 3001 movi r0, 1 + break; + } + + + return 0x00; +} + 3a42: 1494 pop r4-r7, r15 + if(RecData[0] != 0xCC) + 3a44: 8040 ld.b r2, (r0, 0x0) + 3a46: 33cc movi r3, 204 + 3a48: 64ca cmpne r2, r3 + 3a4a: 0c07 bf 0x3a58 // 3a58 + Dbg_Println(DBG_BIT_SYS_STATUS,"Head Err"); + 3a4c: 3000 movi r0, 0 + 3a4e: 103d lrw r1, 0x5722 // 3ac0 + 3a50: e3fffde4 bsr 0x3618 // 3618 + return 0x02; + 3a54: 3002 movi r0, 2 + 3a56: 07f6 br 0x3a42 // 3a42 + if( (RecData[2] != 0xFF)||(RecData[3] != g_Dip.DIP_addr) ) + 3a58: 8042 ld.b r2, (r0, 0x2) + 3a5a: 33ff movi r3, 255 + 3a5c: 64ca cmpne r2, r3 + 3a5e: 105a lrw r2, 0x20000444 // 3ac4 + 3a60: 8063 ld.b r3, (r0, 0x3) + 3a62: 0804 bt 0x3a6a // 3a6a + 3a64: 8226 ld.b r1, (r2, 0x6) + 3a66: 644e cmpne r3, r1 + 3a68: 0c09 bf 0x3a7a // 3a7a + Dbg_Println(DBG_BIT_SYS_STATUS,"Addr Err:%d, %d",g_Dip.DIP_addr,RecData[3]); + 3a6a: 3000 movi r0, 0 + 3a6c: 74cc zextb r3, r3 + 3a6e: 8246 ld.b r2, (r2, 0x6) + 3a70: 1036 lrw r1, 0x572b // 3ac8 + 3a72: e3fffdd3 bsr 0x3618 // 3618 + return 0x03; + 3a76: 3003 movi r0, 3 + 3a78: 07e5 br 0x3a42 // 3a42 + if(RecData[Len-1] != EEPROM_CheckSum(RecData,(Len-1))) + 3a7a: 5dc3 subi r6, r5, 1 + 3a7c: 5874 addu r3, r0, r5 + 3a7e: 7599 zexth r6, r6 + 3a80: 2b00 subi r3, 1 + 3a82: 6c5b mov r1, r6 + 3a84: 83e0 ld.b r7, (r3, 0x0) + 3a86: e3fffdcf bsr 0x3624 // 3624 + 3a8a: 641e cmpne r7, r0 + 3a8c: 0c0e bf 0x3aa8 // 3aa8 + Dbg_Println(DBG_BIT_SYS_STATUS,"SumCRC Err:%d, %d",RecData[5],EEPROM_CheckSum(RecData,(Len-1))); + 3a8e: 6c5b mov r1, r6 + 3a90: 6c13 mov r0, r4 + 3a92: 84a5 ld.b r5, (r4, 0x5) + 3a94: e3fffdc8 bsr 0x3624 // 3624 + 3a98: 6cc3 mov r3, r0 + 3a9a: 6c97 mov r2, r5 + 3a9c: 3000 movi r0, 0 + 3a9e: 102c lrw r1, 0x573b // 3acc + 3aa0: e3fffdbc bsr 0x3618 // 3618 + return 0x04; + 3aa4: 3004 movi r0, 4 + 3aa6: 07ce br 0x3a42 // 3a42 + switch(RecData[4]) + 3aa8: 8464 ld.b r3, (r4, 0x4) + 3aaa: 3b43 cmpnei r3, 3 + 3aac: 0805 bt 0x3ab6 // 3ab6 + Ctrller_CtrlAirState_Processing(RecData,Len); + 3aae: 6c57 mov r1, r5 + 3ab0: 6c13 mov r0, r4 + 3ab2: e3ffffab bsr 0x3a08 // 3a08 + return 0x00; + 3ab6: 3000 movi r0, 0 + 3ab8: 07c5 br 0x3a42 // 3a42 + 3aba: 0000 bkpt + 3abc: 00005717 .long 0x00005717 + 3ac0: 00005722 .long 0x00005722 + 3ac4: 20000444 .long 0x20000444 + 3ac8: 0000572b .long 0x0000572b + 3acc: 0000573b .long 0x0000573b + +Disassembly of section .text.NetCRC16_Check: + +00003ad0 : + +/*两字节CRC校验 +*len包括校验的长度 +*/ +void NetCRC16_Check(U8_T *aStr ,U16_T len) +{ + 3ad0: 14c4 push r4-r7 + U16_T alen = len-2; //CRC16??????? + U16_T xda , xdapoly ; //校验后的结果,多项式 + U16_T i,j, xdabit ; //缓存变量 + + if(len < 3) //长度小于3 + 3ad2: 3902 cmphsi r1, 3 + 3ad4: 0c1f bf 0x3b12 // 3b12 + U16_T alen = len-2; //CRC16??????? + 3ad6: 2901 subi r1, 2 + 3ad8: 7445 zexth r1, r1 + 3ada: 6d43 mov r5, r0 + 3adc: 3200 movi r2, 0 + 3ade: 106e lrw r3, 0xffff // 3b14 + } + xda = 0xFFFF ; + xdapoly = 0xA001 ; // (X**16 + X**15 + X**2 + 1) + for(i=0;i>= 1 ; + if( xdabit ) xda ^= xdapoly ; + 3ae8: 6d8f mov r6, r3 + 3aea: 699c and r6, r7 + 3aec: 3e40 cmpnei r6, 0 + 3aee: 4b61 lsri r3, r3, 1 + 3af0: 0c04 bf 0x3af8 // 3af8 + 3af2: 10ca lrw r6, 0xffffa001 // 3b18 + 3af4: 6cd9 xor r3, r6 + 3af6: 74cd zexth r3, r3 + 3af8: 2c00 subi r4, 1 + 3afa: 7511 zexth r4, r4 + for(j=0;j<8;j++) + 3afc: 3c40 cmpnei r4, 0 + 3afe: 0bf5 bt 0x3ae8 // 3ae8 + for(i=0;i + } + } + aStr[alen] = (U8_T)(xda & 0xFF) ; + 3b0a: 6040 addu r1, r0 + 3b0c: a160 st.b r3, (r1, 0x0) + aStr[alen+1] = (U8_T)(xda>>8) ; + 3b0e: 4b68 lsri r3, r3, 8 + 3b10: a161 st.b r3, (r1, 0x1) +} + 3b12: 1484 pop r4-r7 + 3b14: 0000ffff .long 0x0000ffff + 3b18: ffffa001 .long 0xffffa001 + +Disassembly of section .text.GetCRC16: + +00003b1c : +* @para +* aStr 数组首地址 +* len 数组长度,不包括校验 +*/ +U16_T GetCRC16( U8_T *aStr , U16_T len) +{ + 3b1c: 14c3 push r4-r6 + 3b1e: 6cc3 mov r3, r0 + 3b20: 6040 addu r1, r0 + xda ^= aStr[i] ; + for (j = 0; j < 8; j++) + { + xdabit = (unsigned char)(xda & 0x01) ; + xda >>= 1 ; + if ( xdabit ) xda ^= xdapoly ; + 3b22: 10ac lrw r5, 0xffffa001 // 3b50 + xda = 0xFFFF ; + 3b24: 100c lrw r0, 0xffff // 3b54 + for (i = 0; i < len; i++) + 3b26: 644e cmpne r3, r1 + 3b28: 0802 bt 0x3b2c // 3b2c + } + } + + return xda; +} + 3b2a: 1483 pop r4-r6 + xda ^= aStr[i] ; + 3b2c: 8340 ld.b r2, (r3, 0x0) + 3b2e: 6c09 xor r0, r2 + xdabit = (unsigned char)(xda & 0x01) ; + 3b30: 3601 movi r6, 1 + xda ^= aStr[i] ; + 3b32: 3208 movi r2, 8 + if ( xdabit ) xda ^= xdapoly ; + 3b34: 6d03 mov r4, r0 + 3b36: 6918 and r4, r6 + 3b38: 3c40 cmpnei r4, 0 + 3b3a: 4801 lsri r0, r0, 1 + 3b3c: 0c03 bf 0x3b42 // 3b42 + 3b3e: 6c15 xor r0, r5 + 3b40: 7401 zexth r0, r0 + 3b42: 2a00 subi r2, 1 + 3b44: 7489 zexth r2, r2 + for (j = 0; j < 8; j++) + 3b46: 3a40 cmpnei r2, 0 + 3b48: 0bf6 bt 0x3b34 // 3b34 + 3b4a: 2300 addi r3, 1 + 3b4c: 07ed br 0x3b26 // 3b26 + 3b4e: 0000 bkpt + 3b50: ffffa001 .long 0xffffa001 + 3b54: 0000ffff .long 0x0000ffff + +Disassembly of section .text.Rs485AskCtrlSend: + +00003b58 : + + + +/*控制回复报文*/ +void Rs485AskCtrlSend(U8_T* Recdata) +{ + 3b58: 14d0 push r15 + 3b5a: 1424 subi r14, r14, 16 + U8_T SendData[10]; + + SendData[0] = 0x55; + 3b5c: 3355 movi r3, 85 + 3b5e: dc6e0004 st.b r3, (r14, 0x4) + SendData[1] = 0x55; + 3b62: dc6e0005 st.b r3, (r14, 0x5) + SendData[2] = 0xee; //头 + 3b66: 3300 movi r3, 0 + 3b68: 2b11 subi r3, 18 + 3b6a: dc6e0006 st.b r3, (r14, 0x6) + + SendData[3] = 0x07; //长度 + 3b6e: 3307 movi r3, 7 + 3b70: dc6e0007 st.b r3, (r14, 0x7) + SendData[4] = Tem_Type; //类型 + 3b74: 3304 movi r3, 4 + 3b76: dc6e0008 st.b r3, (r14, 0x8) + + SendData[6] = 0x01; //类型 - 红外转发 + 3b7a: 3301 movi r3, 1 + 3b7c: dc6e000a st.b r3, (r14, 0xa) + SendData[5] = g_Dip.DIP_addr; + SendData[7] = 0x01; //内容 - 接收成功 + + NetCRC16_Check(&SendData[0+3], SendData[0+3]); //校验 + 3b80: 3107 movi r1, 7 + SendData[5] = g_Dip.DIP_addr; + 3b82: 106c lrw r3, 0x20000444 // 3bb0 + 3b84: 8366 ld.b r3, (r3, 0x6) + 3b86: dc6e0009 st.b r3, (r14, 0x9) + SendData[7] = 0x01; //内容 - 接收成功 + 3b8a: 3301 movi r3, 1 + 3b8c: dc6e000b st.b r3, (r14, 0xb) + NetCRC16_Check(&SendData[0+3], SendData[0+3]); //校验 + 3b90: 1b01 addi r3, r14, 4 + 3b92: 5b0a addi r0, r3, 3 + 3b94: e3ffff9e bsr 0x3ad0 // 3ad0 + + Set_GroupSend(SendData,10,1,BUSSend_ValidTime3,20); //组包 + 3b98: 3314 movi r3, 20 + 3b9a: b860 st.w r3, (r14, 0x0) + 3b9c: 3396 movi r3, 150 + 3b9e: 4361 lsli r3, r3, 1 + 3ba0: 3201 movi r2, 1 + 3ba2: 310a movi r1, 10 + 3ba4: 1801 addi r0, r14, 4 + 3ba6: e3fffc9f bsr 0x34e4 // 34e4 + +} + 3baa: 1404 addi r14, r14, 16 + 3bac: 1490 pop r15 + 3bae: 0000 bkpt + 3bb0: 20000444 .long 0x20000444 + +Disassembly of section .text.IrSend_Rs485_Pro: + +00003bb4 : + * Len 数据长度 + * 输出 :无 + * 调用 :无 + *************************************************************************/ +U8_T IrSend_Rs485_Pro(U8_T *RecData, U16_T Len) +{ + 3bb4: 14d1 push r4, r15 + U8_T ret = 0; + U16_T Crc_buf; //正确报文校验保存 + + if(0x0D != Len) + 3bb6: 394d cmpnei r1, 13 +{ + 3bb8: 6d03 mov r4, r0 + if(0x0D != Len) + 3bba: 087d bt 0x3cb4 // 3cb4 + { + return 0x01; + } + + if((0x55 != RecData[0]) || (0x55 != RecData[1])|| (0xee != RecData[2]) ) + 3bbc: 8060 ld.b r3, (r0, 0x0) + 3bbe: 3255 movi r2, 85 + 3bc0: 648e cmpne r3, r2 + 3bc2: 0873 bt 0x3ca8 // 3ca8 + 3bc4: 8041 ld.b r2, (r0, 0x1) + 3bc6: 64ca cmpne r2, r3 + 3bc8: 0870 bt 0x3ca8 // 3ca8 + 3bca: 8042 ld.b r2, (r0, 0x2) + 3bcc: 33ee movi r3, 238 + 3bce: 64ca cmpne r2, r3 + 3bd0: 086c bt 0x3ca8 // 3ca8 + { + return 0x02; + } + + if( (g_Dip.DIP_addr != RecData[6])&&(0xFF != RecData[6]) ) + 3bd2: 115a lrw r2, 0x20000444 // 3cb8 + 3bd4: 8066 ld.b r3, (r0, 0x6) + 3bd6: 8246 ld.b r2, (r2, 0x6) + 3bd8: 64ca cmpne r2, r3 + 3bda: 0c04 bf 0x3be2 // 3be2 + 3bdc: 32ff movi r2, 255 + 3bde: 648e cmpne r3, r2 + 3be0: 0866 bt 0x3cac // 3cac + { + return 0x03; + } + + if( (RecData[3] + 3 != Len) || (Tem_Type != RecData[4])) + 3be2: 8463 ld.b r3, (r4, 0x3) + 3be4: 3b4a cmpnei r3, 10 + 3be6: 0865 bt 0x3cb0 // 3cb0 + 3be8: 8464 ld.b r3, (r4, 0x4) + 3bea: 3b44 cmpnei r3, 4 + 3bec: 0862 bt 0x3cb0 // 3cb0 + { + return 0x04; + } + + Crc_buf = GetCRC16(&RecData[3], RecData[3]-2); + 3bee: 5c0a addi r0, r4, 3 + 3bf0: 3108 movi r1, 8 + 3bf2: e3ffff95 bsr 0x3b1c // 3b1c + if(Crc_buf == (RecData[Len-2]+(RecData[Len-1]<<8))) //校验通过 + 3bf6: 846c ld.b r3, (r4, 0xc) + 3bf8: 4368 lsli r3, r3, 8 + 3bfa: 844b ld.b r2, (r4, 0xb) + 3bfc: 60c8 addu r3, r2 + 3bfe: 64c2 cmpne r0, r3 + 3c00: 085a bt 0x3cb4 // 3cb4 + { + //控制空调 + if(0x01 == RecData[5]) + 3c02: 8465 ld.b r3, (r4, 0x5) + 3c04: 3b41 cmpnei r3, 1 + 3c06: 0857 bt 0x3cb4 // 3cb4 + { + //设置温度命令 + if((TEM_MIN_SET <= RecData[7]) && (RecData[7] < TEM_MAX_SET)) //在指定温度范围内 + 3c08: 3200 movi r2, 0 + 3c0a: 8467 ld.b r3, (r4, 0x7) + 3c0c: 2a0f subi r2, 16 + 3c0e: 608c addu r2, r3 + 3c10: 7488 zextb r2, r2 + 3c12: 3a0f cmphsi r2, 16 + 3c14: 0813 bt 0x3c3a // 3c3a + { + TempCtrl.TemState_Now.set_t = (RecData[7]&0x1f); + 3c16: 114a lrw r2, 0x2000041c // 3cbc + 3c18: a261 st.b r3, (r2, 0x1) + }else if(RecData[7] == TEM_MAX_SET){ + TempCtrl.TemState_Now.set_t = (RecData[7]&0x20); + } + + switch(RecData[8]) + 3c1a: 8468 ld.b r3, (r4, 0x8) + 3c1c: 3b40 cmpnei r3, 0 + 3c1e: 0c14 bf 0x3c46 // 3c46 + 3c20: 3b41 cmpnei r3, 1 + 3c22: 0c18 bf 0x3c52 // 3c52 + break; + default: + break; //报文有误 + } + + switch(RecData[9]) //风速 + 3c24: 8409 ld.b r0, (r4, 0x9) + 3c26: 3803 cmphsi r0, 4 + 3c28: 081e bt 0x3c64 // 3c64 + 3c2a: 1165 lrw r3, 0x2000041c // 3cbc + { + case 0x03: + TempCtrl.TemState_Now.fan = FAN_HIGH; //高风速 + 3c2c: 8342 ld.b r2, (r3, 0x2) + 3c2e: 310e movi r1, 14 + 3c30: 6885 andn r2, r1 + switch(RecData[9]) //风速 + 3c32: e3ffe865 bsr 0xcfc // cfc <___gnu_csky_case_uqi> + 3c36: 1625 .short 0x1625 + 3c38: 1523 .short 0x1523 + }else if(RecData[7] == TEM_MAX_SET){ + 3c3a: 3220 movi r2, 32 + 3c3c: 648e cmpne r3, r2 + 3c3e: 0bee bt 0x3c1a // 3c1a + TempCtrl.TemState_Now.set_t = (RecData[7]&0x20); + 3c40: 107f lrw r3, 0x2000041c // 3cbc + 3c42: a341 st.b r2, (r3, 0x1) + 3c44: 07eb br 0x3c1a // 3c1a + TempCtrl.TemState_Now.on_off = TEMP_OFF; //关机 + 3c46: 105e lrw r2, 0x2000041c // 3cbc + 3c48: 8262 ld.b r3, (r2, 0x2) + 3c4a: 317f movi r1, 127 + 3c4c: 68c4 and r3, r1 + 3c4e: a262 st.b r3, (r2, 0x2) + break; + 3c50: 07ea br 0x3c24 // 3c24 + TempCtrl.TemState_Now.on_off = TEMP_ON; //开机 + 3c52: 103b lrw r1, 0x2000041c // 3cbc + 3c54: 3200 movi r2, 0 + 3c56: 8162 ld.b r3, (r1, 0x2) + 3c58: 2a7f subi r2, 128 + 3c5a: 6cc8 or r3, r2 + 3c5c: a162 st.b r3, (r1, 0x2) + break; + 3c5e: 07e3 br 0x3c24 // 3c24 + TempCtrl.TemState_Now.fan = FAN_HIGH; //高风速 + 3c60: 3aa2 bseti r2, 2 + break; + case 0x01: + TempCtrl.TemState_Now.fan = FAN_LOW; //低风速 + break; + case 0x00: + TempCtrl.TemState_Now.fan = FAN_STOP; //低风速 + 3c62: a342 st.b r2, (r3, 0x2) + break; + default: + break; + } + + switch(RecData[10]) // + 3c64: 846a ld.b r3, (r4, 0xa) + 3c66: 3b41 cmpnei r3, 1 + 3c68: 0c14 bf 0x3c90 // 3c90 + 3c6a: 3b40 cmpnei r3, 0 + 3c6c: 0c0c bf 0x3c84 // 3c84 + 3c6e: 3b42 cmpnei r3, 2 + 3c70: 0c16 bf 0x3c9c // 3c9c + break; + default: + break; + } + + Rs485AskCtrlSend(RecData); + 3c72: 6c13 mov r0, r4 + 3c74: e3ffff72 bsr 0x3b58 // 3b58 + return 0x00; + 3c78: 3000 movi r0, 0 + } + + } + + return 0x01; +} + 3c7a: 1491 pop r4, r15 + TempCtrl.TemState_Now.fan = FAN_MID; //中风速 + 3c7c: 3aa1 bseti r2, 1 + 3c7e: 07f2 br 0x3c62 // 3c62 + TempCtrl.TemState_Now.fan = FAN_STOP; //低风速 + 3c80: 3aa3 bseti r2, 3 + 3c82: 07f0 br 0x3c62 // 3c62 + TempCtrl.TemState_Now.mode = MODEL_COLD; //制冷 + 3c84: 104e lrw r2, 0x2000041c // 3cbc + 3c86: 8262 ld.b r3, (r2, 0x2) + 3c88: 3170 movi r1, 112 + 3c8a: 68c5 andn r3, r1 + TempCtrl.TemState_Now.mode = MODEL_WIND; //送风 + 3c8c: a262 st.b r3, (r2, 0x2) + break; + 3c8e: 07f2 br 0x3c72 // 3c72 + TempCtrl.TemState_Now.mode = MODEL_HOT; //制热 + 3c90: 104b lrw r2, 0x2000041c // 3cbc + 3c92: 8262 ld.b r3, (r2, 0x2) + 3c94: 3170 movi r1, 112 + 3c96: 68c5 andn r3, r1 + 3c98: 3ba5 bseti r3, 5 + 3c9a: 07f9 br 0x3c8c // 3c8c + TempCtrl.TemState_Now.mode = MODEL_WIND; //送风 + 3c9c: 1048 lrw r2, 0x2000041c // 3cbc + 3c9e: 8262 ld.b r3, (r2, 0x2) + 3ca0: 3170 movi r1, 112 + 3ca2: 68c5 andn r3, r1 + 3ca4: 3ba6 bseti r3, 6 + 3ca6: 07f3 br 0x3c8c // 3c8c + return 0x02; + 3ca8: 3002 movi r0, 2 + 3caa: 07e8 br 0x3c7a // 3c7a + return 0x03; + 3cac: 3003 movi r0, 3 + 3cae: 07e6 br 0x3c7a // 3c7a + return 0x04; + 3cb0: 3004 movi r0, 4 + 3cb2: 07e4 br 0x3c7a // 3c7a + return 0x01; + 3cb4: 3001 movi r0, 1 + 3cb6: 07e2 br 0x3c7a // 3c7a + 3cb8: 20000444 .long 0x20000444 + 3cbc: 2000041c .long 0x2000041c + +Disassembly of section .text.DIP_GetSwitchState: + +00003cc0 : + + /*进入设置界面 - 先决条件*/ + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Addr:%d",g_Dip.DIP_val); +} + +U8_T DIP_GetSwitchState(U8_T i){ + 3cc0: 14d0 push r15 + U8_T val = 0; + + switch (i) + 3cc2: 3841 cmpnei r0, 1 + 3cc4: 0c0d bf 0x3cde // 3cde + 3cc6: 3840 cmpnei r0, 0 + 3cc8: 0c05 bf 0x3cd2 // 3cd2 + 3cca: 3842 cmpnei r0, 2 + 3ccc: 0c0d bf 0x3ce6 // 3ce6 + U8_T val = 0; + 3cce: 3000 movi r0, 0 + 3cd0: 0406 br 0x3cdc // 3cdc + { + case DIP_CH1: + val = GPIO_Read_Status(GPIOB0,2); + 3cd2: 1068 lrw r3, 0x20000048 // 3cf0 + 3cd4: 3102 movi r1, 2 + 3cd6: 9300 ld.w r0, (r3, 0x0) + break; + case DIP_CH2: + val = GPIO_Read_Status(GPIOB0,1); + break; + case DIP_CH3: + val = GPIO_Read_Status(GPIOB0,0); + 3cd8: e3fff205 bsr 0x20e2 // 20e2 + break; + } + return val; +} + 3cdc: 1490 pop r15 + val = GPIO_Read_Status(GPIOB0,1); + 3cde: 1065 lrw r3, 0x20000048 // 3cf0 + 3ce0: 3101 movi r1, 1 + 3ce2: 9300 ld.w r0, (r3, 0x0) + 3ce4: 07fa br 0x3cd8 // 3cd8 + val = GPIO_Read_Status(GPIOB0,0); + 3ce6: 1063 lrw r3, 0x20000048 // 3cf0 + 3ce8: 3100 movi r1, 0 + 3cea: 9300 ld.w r0, (r3, 0x0) + 3cec: 07f6 br 0x3cd8 // 3cd8 + 3cee: 0000 bkpt + 3cf0: 20000048 .long 0x20000048 + +Disassembly of section .text.DIP_Switch_Init: + +00003cf4 : +void DIP_Switch_Init(void){ + 3cf4: 14d2 push r4-r5, r15 + GPIO_Init(GPIOB0,0,Intput); + 3cf6: 1180 lrw r4, 0x20000048 // 3d74 + 3cf8: 3201 movi r2, 1 + 3cfa: 9400 ld.w r0, (r4, 0x0) + 3cfc: 3100 movi r1, 0 + 3cfe: e3fff0a1 bsr 0x1e40 // 1e40 + GPIO_Init(GPIOB0,1,Intput); + 3d02: 9400 ld.w r0, (r4, 0x0) + 3d04: 3201 movi r2, 1 + 3d06: 3101 movi r1, 1 + 3d08: e3fff09c bsr 0x1e40 // 1e40 + GPIO_Init(GPIOB0,2,Intput); + 3d0c: 3201 movi r2, 1 + 3d0e: 9400 ld.w r0, (r4, 0x0) + 3d10: 3102 movi r1, 2 + 3d12: e3fff097 bsr 0x1e40 // 1e40 + GPIO_PullHigh_Init(GPIOB0,0); + 3d16: 9400 ld.w r0, (r4, 0x0) + 3d18: 3100 movi r1, 0 + 3d1a: e3fff103 bsr 0x1f20 // 1f20 + GPIO_PullHigh_Init(GPIOB0,1); + 3d1e: 9400 ld.w r0, (r4, 0x0) + 3d20: 3101 movi r1, 1 + 3d22: e3fff0ff bsr 0x1f20 // 1f20 + GPIO_PullHigh_Init(GPIOB0,2); + 3d26: 9400 ld.w r0, (r4, 0x0) + 3d28: 3102 movi r1, 2 + 3d2a: e3fff0fb bsr 0x1f20 // 1f20 + memset(&g_Dip,0,sizeof(DIP_t)); + 3d2e: 3210 movi r2, 16 + 3d30: 3100 movi r1, 0 + 3d32: 1012 lrw r0, 0x20000444 // 3d78 + 3d34: e3ffee18 bsr 0x1964 // 1964 <__memset_fast> + delay_nms(20); + 3d38: 3014 movi r0, 20 + 3d3a: e3fff34f bsr 0x23d8 // 23d8 + 3d3e: 3400 movi r4, 0 + g_Dip.DIP_val |= DIP_VAL_ON << i; + 3d40: 10ae lrw r5, 0x20000444 // 3d78 + if(DIP_GetSwitchState(i) == DIP_PRESS){ + 3d42: 7410 zextb r0, r4 + 3d44: e3ffffbe bsr 0x3cc0 // 3cc0 + 3d48: 3840 cmpnei r0, 0 + 3d4a: 0807 bt 0x3d58 // 3d58 + g_Dip.DIP_val |= DIP_VAL_ON << i; + 3d4c: 3301 movi r3, 1 + 3d4e: 70d0 lsl r3, r4 + 3d50: 6c8f mov r2, r3 + 3d52: 9562 ld.w r3, (r5, 0x8) + 3d54: 6cc8 or r3, r2 + 3d56: b562 st.w r3, (r5, 0x8) + 3d58: 2400 addi r4, 1 + for (U8_T i = 0; i < DIP_CHN_MAX; i++) { + 3d5a: 3c43 cmpnei r4, 3 + 3d5c: 0bf3 bt 0x3d42 // 3d42 + g_Dip.DIP_last_val = g_Dip.DIP_val; + 3d5e: 1067 lrw r3, 0x20000444 // 3d78 + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + 3d60: 3107 movi r1, 7 + g_Dip.DIP_last_val = g_Dip.DIP_val; + 3d62: 9342 ld.w r2, (r3, 0x8) + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + 3d64: 6848 and r1, r2 + 3d66: a326 st.b r1, (r3, 0x6) + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Addr:%d",g_Dip.DIP_val); + 3d68: 3000 movi r0, 0 + 3d6a: 1025 lrw r1, 0x574d // 3d7c + g_Dip.DIP_last_val = g_Dip.DIP_val; + 3d6c: b343 st.w r2, (r3, 0xc) + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Addr:%d",g_Dip.DIP_val); + 3d6e: e3fffc55 bsr 0x3618 // 3618 +} + 3d72: 1492 pop r4-r5, r15 + 3d74: 20000048 .long 0x20000048 + 3d78: 20000444 .long 0x20000444 + 3d7c: 0000574d .long 0x0000574d + +Disassembly of section .text.DIP_ScanTask: + +00003d80 : + +void DIP_ScanTask(void) +{ + 3d80: 14d3 push r4-r6, r15 + static U32_T update_20ms = 0; + + if (SysTick_1ms - update_20ms > DIP_SCAN_Time) + 3d82: 1122 lrw r1, 0x200000b8 // 3e08 + 3d84: 1142 lrw r2, 0x20000148 // 3e0c + 3d86: 11a3 lrw r5, 0x20000444 // 3e10 + 3d88: 9200 ld.w r0, (r2, 0x0) + 3d8a: 9160 ld.w r3, (r1, 0x0) + 3d8c: 60c2 subu r3, r0 + 3d8e: 3b14 cmphsi r3, 21 + 3d90: 0806 bt 0x3d9c // 3d9c + } + } + } + } + + if(g_Dip.DIP_val != g_Dip.DIP_last_val) + 3d92: 9542 ld.w r2, (r5, 0x8) + 3d94: 9563 ld.w r3, (r5, 0xc) + 3d96: 64ca cmpne r2, r3 + 3d98: 082e bt 0x3df4 // 3df4 + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Change Addr:%d",g_Dip.DIP_addr); + } + +} + 3d9a: 1493 pop r4-r6, r15 + update_20ms = SysTick_1ms; + 3d9c: 9160 ld.w r3, (r1, 0x0) + 3d9e: b260 st.w r3, (r2, 0x0) + 3da0: 6d17 mov r4, r5 + 3da2: 3600 movi r6, 0 + if (DIP_GetSwitchState(i) == DIP_PRESS) + 3da4: 7418 zextb r0, r6 + 3da6: e3ffff8d bsr 0x3cc0 // 3cc0 + 3daa: 3840 cmpnei r0, 0 + g_Dip.delayCnt_OFF[i] = 0; + 3dac: 3300 movi r3, 0 + if (DIP_GetSwitchState(i) == DIP_PRESS) + 3dae: 0814 bt 0x3dd6 // 3dd6 + g_Dip.delayCnt_OFF[i] = 0; + 3db0: a463 st.b r3, (r4, 0x3) + if (g_Dip.delayCnt_ON[i] < DIP_DELAY_COUNT) + 3db2: 8460 ld.b r3, (r4, 0x0) + 3db4: 3b04 cmphsi r3, 5 + 3db6: 0808 bt 0x3dc6 // 3dc6 + g_Dip.delayCnt_ON[i]++; + 3db8: 2300 addi r3, 1 + g_Dip.delayCnt_ON[i] = 0; + 3dba: a460 st.b r3, (r4, 0x0) + 3dbc: 2600 addi r6, 1 + for (U8_T i = 0; i < DIP_CHN_MAX; i++) + 3dbe: 3e43 cmpnei r6, 3 + 3dc0: 2400 addi r4, 1 + 3dc2: 0bf1 bt 0x3da4 // 3da4 + 3dc4: 07e7 br 0x3d92 // 3d92 + g_Dip.DIP_val |= (DIP_VAL_ON << i); + 3dc6: 3301 movi r3, 1 + 3dc8: 70d8 lsl r3, r6 + 3dca: 6c8f mov r2, r3 + 3dcc: 9562 ld.w r3, (r5, 0x8) + 3dce: 6cc8 or r3, r2 + 3dd0: b562 st.w r3, (r5, 0x8) + g_Dip.delayCnt_ON[i] = 0; + 3dd2: 3300 movi r3, 0 + 3dd4: 07f3 br 0x3dba // 3dba + g_Dip.delayCnt_ON[i] = 0; + 3dd6: a460 st.b r3, (r4, 0x0) + if (g_Dip.delayCnt_OFF[i] < DIP_DELAY_COUNT) + 3dd8: 8463 ld.b r3, (r4, 0x3) + 3dda: 3b04 cmphsi r3, 5 + 3ddc: 0804 bt 0x3de4 // 3de4 + g_Dip.delayCnt_OFF[i]++; + 3dde: 2300 addi r3, 1 + g_Dip.delayCnt_OFF[i] = 0; + 3de0: a463 st.b r3, (r4, 0x3) + 3de2: 07ed br 0x3dbc // 3dbc + g_Dip.DIP_val &= ~(DIP_VAL_ON << i); + 3de4: 3300 movi r3, 0 + 3de6: 2b01 subi r3, 2 + 3de8: 9542 ld.w r2, (r5, 0x8) + 3dea: 70db rotl r3, r6 + 3dec: 68c8 and r3, r2 + 3dee: b562 st.w r3, (r5, 0x8) + g_Dip.delayCnt_OFF[i] = 0; + 3df0: 3300 movi r3, 0 + 3df2: 07f7 br 0x3de0 // 3de0 + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + 3df4: 3307 movi r3, 7 + g_Dip.DIP_last_val = g_Dip.DIP_val; + 3df6: b543 st.w r2, (r5, 0xc) + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Change Addr:%d",g_Dip.DIP_addr); + 3df8: 3000 movi r0, 0 + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + 3dfa: 688c and r2, r3 + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Change Addr:%d",g_Dip.DIP_addr); + 3dfc: 1026 lrw r1, 0x5759 // 3e14 + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + 3dfe: a546 st.b r2, (r5, 0x6) + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Change Addr:%d",g_Dip.DIP_addr); + 3e00: e3fffc0c bsr 0x3618 // 3618 +} + 3e04: 07cb br 0x3d9a // 3d9a + 3e06: 0000 bkpt + 3e08: 200000b8 .long 0x200000b8 + 3e0c: 20000148 .long 0x20000148 + 3e10: 20000444 .long 0x20000444 + 3e14: 00005759 .long 0x00005759 + +Disassembly of section .text.TK_Single_Longpress_prg: + +00003e18 : + 3e18: 14c2 push r4-r5 + 3e1a: 117d lrw r3, 0x200005f8 // 3f0c + 3e1c: 115d lrw r2, 0x20000564 // 3f10 + 3e1e: 9360 ld.w r3, (r3, 0x0) + 3e20: 3b40 cmpnei r3, 0 + 3e22: 0840 bt 0x3ea2 // 3ea2 + 3e24: 113c lrw r1, 0x20000068 // 3f14 + 3e26: 8962 ld.h r3, (r1, 0x4) + 3e28: 74cd zexth r3, r3 + 3e2a: 3b40 cmpnei r3, 0 + 3e2c: 0c3b bf 0x3ea2 // 3ea2 + 3e2e: 117b lrw r3, 0x200004f8 // 3f18 + 3e30: 9360 ld.w r3, (r3, 0x0) + 3e32: 3b40 cmpnei r3, 0 + 3e34: 117a lrw r3, 0x200006ae // 3f1c + 3e36: 0c0e bf 0x3e52 // 3e52 + 3e38: 8300 ld.b r0, (r3, 0x0) + 3e3a: 2000 addi r0, 1 + 3e3c: 7400 zextb r0, r0 + 3e3e: a300 st.b r0, (r3, 0x0) + 3e40: 8380 ld.b r4, (r3, 0x0) + 3e42: 8902 ld.h r0, (r1, 0x4) + 3e44: 7401 zexth r0, r0 + 3e46: 3564 movi r5, 100 + 3e48: 7c14 mult r0, r5 + 3e4a: 6501 cmplt r0, r4 + 3e4c: 0c05 bf 0x3e56 // 3e56 + 3e4e: 3001 movi r0, 1 + 3e50: a200 st.b r0, (r2, 0x0) + 3e52: 3000 movi r0, 0 + 3e54: a300 st.b r0, (r3, 0x0) + 3e56: 1113 lrw r0, 0x2000048c // 3f20 + 3e58: 9000 ld.w r0, (r0, 0x0) + 3e5a: 3840 cmpnei r0, 0 + 3e5c: 0c0e bf 0x3e78 // 3e78 + 3e5e: 8301 ld.b r0, (r3, 0x1) + 3e60: 2000 addi r0, 1 + 3e62: 7400 zextb r0, r0 + 3e64: a301 st.b r0, (r3, 0x1) + 3e66: 8381 ld.b r4, (r3, 0x1) + 3e68: 8902 ld.h r0, (r1, 0x4) + 3e6a: 7401 zexth r0, r0 + 3e6c: 3564 movi r5, 100 + 3e6e: 7c14 mult r0, r5 + 3e70: 6501 cmplt r0, r4 + 3e72: 0c05 bf 0x3e7c // 3e7c + 3e74: 3001 movi r0, 1 + 3e76: a201 st.b r0, (r2, 0x1) + 3e78: 3000 movi r0, 0 + 3e7a: a301 st.b r0, (r3, 0x1) + 3e7c: 110a lrw r0, 0x20000570 // 3f24 + 3e7e: 9000 ld.w r0, (r0, 0x0) + 3e80: 3840 cmpnei r0, 0 + 3e82: 0c0e bf 0x3e9e // 3e9e + 3e84: 8302 ld.b r0, (r3, 0x2) + 3e86: 2000 addi r0, 1 + 3e88: 7400 zextb r0, r0 + 3e8a: a302 st.b r0, (r3, 0x2) + 3e8c: 8302 ld.b r0, (r3, 0x2) + 3e8e: 8922 ld.h r1, (r1, 0x4) + 3e90: 7445 zexth r1, r1 + 3e92: 3464 movi r4, 100 + 3e94: 7c50 mult r1, r4 + 3e96: 6405 cmplt r1, r0 + 3e98: 0c05 bf 0x3ea2 // 3ea2 + 3e9a: 3101 movi r1, 1 + 3e9c: a222 st.b r1, (r2, 0x2) + 3e9e: 3100 movi r1, 0 + 3ea0: a322 st.b r1, (r3, 0x2) + 3ea2: 8260 ld.b r3, (r2, 0x0) + 3ea4: 3b41 cmpnei r3, 1 + 3ea6: 080f bt 0x3ec4 // 3ec4 + 3ea8: 3300 movi r3, 0 + 3eaa: 11a0 lrw r5, 0x200007aa // 3f28 + 3eac: 1180 lrw r4, 0x20000458 // 3f2c + 3eae: 4321 lsli r1, r3, 1 + 3eb0: 5d04 addu r0, r5, r1 + 3eb2: 8800 ld.h r0, (r0, 0x0) + 3eb4: 2300 addi r3, 1 + 3eb6: 7401 zexth r0, r0 + 3eb8: 6050 addu r1, r4 + 3eba: 3b51 cmpnei r3, 17 + 3ebc: a900 st.h r0, (r1, 0x0) + 3ebe: 0bf8 bt 0x3eae // 3eae + 3ec0: 3300 movi r3, 0 + 3ec2: a260 st.b r3, (r2, 0x0) + 3ec4: 8261 ld.b r3, (r2, 0x1) + 3ec6: 3b41 cmpnei r3, 1 + 3ec8: 080f bt 0x3ee6 // 3ee6 + 3eca: 3300 movi r3, 0 + 3ecc: 10b9 lrw r5, 0x20000540 // 3f30 + 3ece: 109a lrw r4, 0x20000602 // 3f34 + 3ed0: 4321 lsli r1, r3, 1 + 3ed2: 5d04 addu r0, r5, r1 + 3ed4: 8800 ld.h r0, (r0, 0x0) + 3ed6: 2300 addi r3, 1 + 3ed8: 7401 zexth r0, r0 + 3eda: 6050 addu r1, r4 + 3edc: 3b51 cmpnei r3, 17 + 3ede: a900 st.h r0, (r1, 0x0) + 3ee0: 0bf8 bt 0x3ed0 // 3ed0 + 3ee2: 3300 movi r3, 0 + 3ee4: a261 st.b r3, (r2, 0x1) + 3ee6: 8262 ld.b r3, (r2, 0x2) + 3ee8: 3b41 cmpnei r3, 1 + 3eea: 080f bt 0x3f08 // 3f08 + 3eec: 3300 movi r3, 0 + 3eee: 10b3 lrw r5, 0x20000636 // 3f38 + 3ef0: 1093 lrw r4, 0x20000718 // 3f3c + 3ef2: 4321 lsli r1, r3, 1 + 3ef4: 5d04 addu r0, r5, r1 + 3ef6: 8800 ld.h r0, (r0, 0x0) + 3ef8: 2300 addi r3, 1 + 3efa: 7401 zexth r0, r0 + 3efc: 6050 addu r1, r4 + 3efe: 3b51 cmpnei r3, 17 + 3f00: a900 st.h r0, (r1, 0x0) + 3f02: 0bf8 bt 0x3ef2 // 3ef2 + 3f04: 3300 movi r3, 0 + 3f06: a262 st.b r3, (r2, 0x2) + 3f08: 1482 pop r4-r5 + 3f0a: 0000 bkpt + 3f0c: 200005f8 .long 0x200005f8 + 3f10: 20000564 .long 0x20000564 + 3f14: 20000068 .long 0x20000068 + 3f18: 200004f8 .long 0x200004f8 + 3f1c: 200006ae .long 0x200006ae + 3f20: 2000048c .long 0x2000048c + 3f24: 20000570 .long 0x20000570 + 3f28: 200007aa .long 0x200007aa + 3f2c: 20000458 .long 0x20000458 + 3f30: 20000540 .long 0x20000540 + 3f34: 20000602 .long 0x20000602 + 3f38: 20000636 .long 0x20000636 + 3f3c: 20000718 .long 0x20000718 + +Disassembly of section .text.TK_Sampling_prog: + +00003f40 : + 3f40: 14c4 push r4-r7 + 3f42: 1423 subi r14, r14, 12 + 3f44: 1169 lrw r3, 0x20000054 // 3fe8 + 3f46: 114a lrw r2, 0x20000715 // 3fec + 3f48: 6d0b mov r4, r2 + 3f4a: 9320 ld.w r1, (r3, 0x0) + 3f4c: b840 st.w r2, (r14, 0x0) + 3f4e: 3300 movi r3, 0 + 3f50: 11a8 lrw r5, 0x200007aa // 3ff0 + 3f52: 9840 ld.w r2, (r14, 0x0) + 3f54: 8240 ld.b r2, (r2, 0x0) + 3f56: 3a41 cmpnei r2, 1 + 3f58: 0808 bt 0x3f68 // 3f68 + 3f5a: 4342 lsli r2, r3, 2 + 3f5c: 6084 addu r2, r1 + 3f5e: 9200 ld.w r0, (r2, 0x0) + 3f60: 4341 lsli r2, r3, 1 + 3f62: 7401 zexth r0, r0 + 3f64: 6094 addu r2, r5 + 3f66: aa00 st.h r0, (r2, 0x0) + 3f68: 8440 ld.b r2, (r4, 0x0) + 3f6a: 3a42 cmpnei r2, 2 + 3f6c: 0809 bt 0x3f7e // 3f7e + 3f6e: 4342 lsli r2, r3, 2 + 3f70: 6084 addu r2, r1 + 3f72: 9200 ld.w r0, (r2, 0x0) + 3f74: 4341 lsli r2, r3, 1 + 3f76: 11c0 lrw r6, 0x20000540 // 3ff4 + 3f78: 7401 zexth r0, r0 + 3f7a: 6098 addu r2, r6 + 3f7c: aa00 st.h r0, (r2, 0x0) + 3f7e: 8440 ld.b r2, (r4, 0x0) + 3f80: 3a40 cmpnei r2, 0 + 3f82: 0809 bt 0x3f94 // 3f94 + 3f84: 4342 lsli r2, r3, 2 + 3f86: 6084 addu r2, r1 + 3f88: 9200 ld.w r0, (r2, 0x0) + 3f8a: 4341 lsli r2, r3, 1 + 3f8c: 10db lrw r6, 0x20000636 // 3ff8 + 3f8e: 7401 zexth r0, r0 + 3f90: 6098 addu r2, r6 + 3f92: aa00 st.h r0, (r2, 0x0) + 3f94: 10da lrw r6, 0x2000059d // 3ffc + 3f96: 8640 ld.b r2, (r6, 0x0) + 3f98: 3a41 cmpnei r2, 1 + 3f9a: 0821 bt 0x3fdc // 3fdc + 3f9c: 1079 lrw r3, 0x20000458 // 4000 + 3f9e: 3200 movi r2, 0 + 3fa0: b861 st.w r3, (r14, 0x4) + 3fa2: 1075 lrw r3, 0x20000540 // 3ff4 + 3fa4: b862 st.w r3, (r14, 0x8) + 3fa6: 4261 lsli r3, r2, 1 + 3fa8: 5d0c addu r0, r5, r3 + 3faa: 8800 ld.h r0, (r0, 0x0) + 3fac: 98e1 ld.w r7, (r14, 0x4) + 3fae: 61cc addu r7, r3 + 3fb0: 7401 zexth r0, r0 + 3fb2: af00 st.h r0, (r7, 0x0) + 3fb4: 9802 ld.w r0, (r14, 0x8) + 3fb6: 600c addu r0, r3 + 3fb8: 8800 ld.h r0, (r0, 0x0) + 3fba: 10f3 lrw r7, 0x20000602 // 4004 + 3fbc: 61cc addu r7, r3 + 3fbe: 7401 zexth r0, r0 + 3fc0: af00 st.h r0, (r7, 0x0) + 3fc2: 2200 addi r2, 1 + 3fc4: 100d lrw r0, 0x20000636 // 3ff8 + 3fc6: 600c addu r0, r3 + 3fc8: 8800 ld.h r0, (r0, 0x0) + 3fca: 10f0 lrw r7, 0x20000718 // 4008 + 3fcc: 7401 zexth r0, r0 + 3fce: 60dc addu r3, r7 + 3fd0: 3a51 cmpnei r2, 17 + 3fd2: ab00 st.h r0, (r3, 0x0) + 3fd4: 0be9 bt 0x3fa6 // 3fa6 + 3fd6: 3300 movi r3, 0 + 3fd8: a660 st.b r3, (r6, 0x0) + 3fda: 3311 movi r3, 17 + 3fdc: 2300 addi r3, 1 + 3fde: 74cc zextb r3, r3 + 3fe0: 3b10 cmphsi r3, 17 + 3fe2: 0fb8 bf 0x3f52 // 3f52 + 3fe4: 1403 addi r14, r14, 12 + 3fe6: 1484 pop r4-r7 + 3fe8: 20000054 .long 0x20000054 + 3fec: 20000715 .long 0x20000715 + 3ff0: 200007aa .long 0x200007aa + 3ff4: 20000540 .long 0x20000540 + 3ff8: 20000636 .long 0x20000636 + 3ffc: 2000059d .long 0x2000059d + 4000: 20000458 .long 0x20000458 + 4004: 20000602 .long 0x20000602 + 4008: 20000718 .long 0x20000718 + +Disassembly of section .text.get_key_number: + +0000400c : + 400c: 14c2 push r4-r5 + 400e: 3200 movi r2, 0 + 4010: 3000 movi r0, 0 + 4012: 1088 lrw r4, 0x200005f8 // 4030 + 4014: 3501 movi r5, 1 + 4016: 3120 movi r1, 32 + 4018: 9460 ld.w r3, (r4, 0x0) + 401a: 70c9 lsr r3, r2 + 401c: 68d4 and r3, r5 + 401e: 3b40 cmpnei r3, 0 + 4020: 0c02 bf 0x4024 // 4024 + 4022: 2000 addi r0, 1 + 4024: 2200 addi r2, 1 + 4026: 644a cmpne r2, r1 + 4028: 0bf8 bt 0x4018 // 4018 + 402a: 7400 zextb r0, r0 + 402c: 1482 pop r4-r5 + 402e: 0000 bkpt + 4030: 200005f8 .long 0x200005f8 + +Disassembly of section .text.get_key_number0: + +00004034 : + 4034: 14c2 push r4-r5 + 4036: 3200 movi r2, 0 + 4038: 3000 movi r0, 0 + 403a: 1088 lrw r4, 0x200004f8 // 4058 + 403c: 3501 movi r5, 1 + 403e: 3120 movi r1, 32 + 4040: 9460 ld.w r3, (r4, 0x0) + 4042: 70c9 lsr r3, r2 + 4044: 68d4 and r3, r5 + 4046: 3b40 cmpnei r3, 0 + 4048: 0c02 bf 0x404c // 404c + 404a: 2000 addi r0, 1 + 404c: 2200 addi r2, 1 + 404e: 644a cmpne r2, r1 + 4050: 0bf8 bt 0x4040 // 4040 + 4052: 7400 zextb r0, r0 + 4054: 1482 pop r4-r5 + 4056: 0000 bkpt + 4058: 200004f8 .long 0x200004f8 + +Disassembly of section .text.get_key_number1: + +0000405c : + 405c: 14c2 push r4-r5 + 405e: 3200 movi r2, 0 + 4060: 3000 movi r0, 0 + 4062: 1088 lrw r4, 0x2000048c // 4080 + 4064: 3501 movi r5, 1 + 4066: 3120 movi r1, 32 + 4068: 9460 ld.w r3, (r4, 0x0) + 406a: 70c9 lsr r3, r2 + 406c: 68d4 and r3, r5 + 406e: 3b40 cmpnei r3, 0 + 4070: 0c02 bf 0x4074 // 4074 + 4072: 2000 addi r0, 1 + 4074: 2200 addi r2, 1 + 4076: 644a cmpne r2, r1 + 4078: 0bf8 bt 0x4068 // 4068 + 407a: 7400 zextb r0, r0 + 407c: 1482 pop r4-r5 + 407e: 0000 bkpt + 4080: 2000048c .long 0x2000048c + +Disassembly of section .text.get_key_number2: + +00004084 : + 4084: 14c2 push r4-r5 + 4086: 3200 movi r2, 0 + 4088: 3000 movi r0, 0 + 408a: 1088 lrw r4, 0x20000570 // 40a8 + 408c: 3501 movi r5, 1 + 408e: 3120 movi r1, 32 + 4090: 9460 ld.w r3, (r4, 0x0) + 4092: 70c9 lsr r3, r2 + 4094: 68d4 and r3, r5 + 4096: 3b40 cmpnei r3, 0 + 4098: 0c02 bf 0x409c // 409c + 409a: 2000 addi r0, 1 + 409c: 2200 addi r2, 1 + 409e: 644a cmpne r2, r1 + 40a0: 0bf8 bt 0x4090 // 4090 + 40a2: 7400 zextb r0, r0 + 40a4: 1482 pop r4-r5 + 40a6: 0000 bkpt + 40a8: 20000570 .long 0x20000570 + +Disassembly of section .text.TK_Scan_Start: + +000040ac : + 40ac: 1073 lrw r3, 0x20000068 // 40f8 + 40ae: 1054 lrw r2, 0x20000715 // 40fc + 40b0: 8302 ld.b r0, (r3, 0x2) + 40b2: 8220 ld.b r1, (r2, 0x0) + 40b4: 6442 cmpne r0, r1 + 40b6: 0c16 bf 0x40e2 // 40e2 + 40b8: 8220 ld.b r1, (r2, 0x0) + 40ba: 7444 zextb r1, r1 + 40bc: 3941 cmpnei r1, 1 + 40be: 0c18 bf 0x40ee // 40ee + 40c0: 3940 cmpnei r1, 0 + 40c2: 0c11 bf 0x40e4 // 40e4 + 40c4: 3942 cmpnei r1, 2 + 40c6: 0c16 bf 0x40f2 // 40f2 + 40c8: 8240 ld.b r2, (r2, 0x0) + 40ca: 7488 zextb r2, r2 + 40cc: a342 st.b r2, (r3, 0x2) + 40ce: 8341 ld.b r2, (r3, 0x1) + 40d0: 7488 zextb r2, r2 + 40d2: 3a41 cmpnei r2, 1 + 40d4: 0807 bt 0x40e2 // 40e2 + 40d6: 102b lrw r1, 0x20000058 // 4100 + 40d8: 9120 ld.w r1, (r1, 0x0) + 40da: b142 st.w r2, (r1, 0x8) + 40dc: 3200 movi r2, 0 + 40de: a340 st.b r2, (r3, 0x0) + 40e0: a341 st.b r2, (r3, 0x1) + 40e2: 783c jmp r15 + 40e4: 1028 lrw r1, 0x200007cc // 4104 + 40e6: 9100 ld.w r0, (r1, 0x0) + 40e8: 1028 lrw r1, 0x40011200 // 4108 + 40ea: b110 st.w r0, (r1, 0x40) + 40ec: 07ee br 0x40c8 // 40c8 + 40ee: 1028 lrw r1, 0x2000053c // 410c + 40f0: 07fb br 0x40e6 // 40e6 + 40f2: 1028 lrw r1, 0x2000056c // 4110 + 40f4: 07f9 br 0x40e6 // 40e6 + 40f6: 0000 bkpt + 40f8: 20000068 .long 0x20000068 + 40fc: 20000715 .long 0x20000715 + 4100: 20000058 .long 0x20000058 + 4104: 200007cc .long 0x200007cc + 4108: 40011200 .long 0x40011200 + 410c: 2000053c .long 0x2000053c + 4110: 2000056c .long 0x2000056c + +Disassembly of section .text.TK_Keymap_prog: + +00004114 : + 4114: 14d4 push r4-r7, r15 + 4116: 142a subi r14, r14, 40 + 4118: 0171 lrw r3, 0x2000017c // 4450 + 411a: 8360 ld.b r3, (r3, 0x0) + 411c: b860 st.w r3, (r14, 0x0) + 411e: 3400 movi r4, 0 + 4120: 0172 lrw r3, 0x20000150 // 4454 + 4122: 8360 ld.b r3, (r3, 0x0) + 4124: b863 st.w r3, (r14, 0xc) + 4126: 0172 lrw r3, 0x20000159 // 4458 + 4128: 83a0 ld.b r5, (r3, 0x0) + 412a: 0172 lrw r3, 0x20000158 // 445c + 412c: 8360 ld.b r3, (r3, 0x0) + 412e: b866 st.w r3, (r14, 0x18) + 4130: 0173 lrw r3, 0x200007aa // 4460 + 4132: b868 st.w r3, (r14, 0x20) + 4134: 0173 lrw r3, 0x20000518 // 4464 + 4136: b864 st.w r3, (r14, 0x10) + 4138: b869 st.w r3, (r14, 0x24) + 413a: 4461 lsli r3, r4, 1 + 413c: 9848 ld.w r2, (r14, 0x20) + 413e: 608c addu r2, r3 + 4140: 0135 lrw r1, 0x20000458 // 4468 + 4142: 604c addu r1, r3 + 4144: 8a40 ld.h r2, (r2, 0x0) + 4146: 8920 ld.h r1, (r1, 0x0) + 4148: 6086 subu r2, r1 + 414a: 9829 ld.w r1, (r14, 0x24) + 414c: 604c addu r1, r3 + 414e: 748b sexth r2, r2 + 4150: a940 st.h r2, (r1, 0x0) + 4152: 0118 lrw r0, 0x20000602 // 446c + 4154: 0158 lrw r2, 0x20000540 // 4470 + 4156: 608c addu r2, r3 + 4158: 600c addu r0, r3 + 415a: 8a40 ld.h r2, (r2, 0x0) + 415c: 8800 ld.h r0, (r0, 0x0) + 415e: 6082 subu r2, r0 + 4160: 01da lrw r6, 0x20000658 // 4474 + 4162: 5e0c addu r0, r6, r3 + 4164: 748b sexth r2, r2 + 4166: a840 st.h r2, (r0, 0x0) + 4168: b8c1 st.w r6, (r14, 0x4) + 416a: 015b lrw r2, 0x20000636 // 4478 + 416c: 011b lrw r0, 0x20000718 // 447c + 416e: 608c addu r2, r3 + 4170: 600c addu r0, r3 + 4172: 8a40 ld.h r2, (r2, 0x0) + 4174: 8800 ld.h r0, (r0, 0x0) + 4176: 6082 subu r2, r0 + 4178: 011d lrw r0, 0x20000784 // 4480 + 417a: 748b sexth r2, r2 + 417c: 58ec addu r7, r0, r3 + 417e: af40 st.h r2, (r7, 0x0) + 4180: 8940 ld.h r2, (r1, 0x0) + 4182: 748b sexth r2, r2 + 4184: 3adf btsti r2, 31 + 4186: 015f lrw r2, 0x20000762 // 4484 + 4188: 60c8 addu r3, r2 + 418a: b802 st.w r0, (r14, 0x8) + 418c: 0c49 bf 0x421e // 421e + 418e: 3200 movi r2, 0 + 4190: ab40 st.h r2, (r3, 0x0) + 4192: 9821 ld.w r1, (r14, 0x4) + 4194: 4461 lsli r3, r4, 1 + 4196: 604c addu r1, r3 + 4198: 8940 ld.h r2, (r1, 0x0) + 419a: 748b sexth r2, r2 + 419c: 3adf btsti r2, 31 + 419e: 0244 lrw r2, 0x200004c0 // 4488 + 41a0: 60c8 addu r3, r2 + 41a2: 0c41 bf 0x4224 // 4224 + 41a4: 3200 movi r2, 0 + 41a6: ab40 st.h r2, (r3, 0x0) + 41a8: 9822 ld.w r1, (r14, 0x8) + 41aa: 4461 lsli r3, r4, 1 + 41ac: 604c addu r1, r3 + 41ae: 8940 ld.h r2, (r1, 0x0) + 41b0: 748b sexth r2, r2 + 41b2: 3adf btsti r2, 31 + 41b4: 0249 lrw r2, 0x20000494 // 448c + 41b6: 60c8 addu r3, r2 + 41b8: 0c39 bf 0x422a // 422a + 41ba: 3200 movi r2, 0 + 41bc: ab40 st.h r2, (r3, 0x0) + 41be: 9860 ld.w r3, (r14, 0x0) + 41c0: 3b03 cmphsi r3, 4 + 41c2: 4421 lsli r1, r4, 1 + 41c4: 0cb5 bf 0x432e // 432e + 41c6: 9864 ld.w r3, (r14, 0x10) + 41c8: 60c4 addu r3, r1 + 41ca: 024d lrw r2, 0x200001aa // 4490 + 41cc: 6048 addu r1, r2 + 41ce: 8b00 ld.h r0, (r3, 0x0) + 41d0: 8940 ld.h r2, (r1, 0x0) + 41d2: 7403 sexth r0, r0 + 41d4: 6409 cmplt r2, r0 + 41d6: 9820 ld.w r1, (r14, 0x0) + 41d8: 7c84 mult r2, r1 + 41da: 0c9b bf 0x4310 // 4310 + 41dc: 8b20 ld.h r1, (r3, 0x0) + 41de: 7447 sexth r1, r1 + 41e0: 6485 cmplt r1, r2 + 41e2: 0c97 bf 0x4310 // 4310 + 41e4: 0233 lrw r1, 0x20000505 // 4494 + 41e6: 6050 addu r1, r4 + 41e8: 8140 ld.b r2, (r1, 0x0) + 41ea: 2200 addi r2, 1 + 41ec: 7488 zextb r2, r2 + 41ee: a140 st.b r2, (r1, 0x0) + 41f0: 3000 movi r0, 0 + 41f2: 0255 lrw r2, 0x200004e4 // 4498 + 41f4: 6090 addu r2, r4 + 41f6: a200 st.b r0, (r2, 0x0) + 41f8: 0256 lrw r2, 0x20000624 // 449c + 41fa: 6090 addu r2, r4 + 41fc: a200 st.b r0, (r2, 0x0) + 41fe: 0256 lrw r2, 0x200006bc // 44a0 + 4200: 6090 addu r2, r4 + 4202: a200 st.b r0, (r2, 0x0) + 4204: 8140 ld.b r2, (r1, 0x0) + 4206: 9803 ld.w r0, (r14, 0xc) + 4208: 6480 cmphs r0, r2 + 420a: 081d bt 0x4244 // 4244 + 420c: 3d40 cmpnei r5, 0 + 420e: 0811 bt 0x4230 // 4230 + 4210: 025a lrw r2, 0x200004f8 // 44a4 + 4212: 9260 ld.w r3, (r2, 0x0) + 4214: 3b40 cmpnei r3, 0 + 4216: 0815 bt 0x4240 // 4240 + 4218: 9200 ld.w r0, (r2, 0x0) + 421a: 3301 movi r3, 1 + 421c: 040f br 0x423a // 423a + 421e: 8940 ld.h r2, (r1, 0x0) + 4220: 7489 zexth r2, r2 + 4222: 07b7 br 0x4190 // 4190 + 4224: 8940 ld.h r2, (r1, 0x0) + 4226: 7489 zexth r2, r2 + 4228: 07bf br 0x41a6 // 41a6 + 422a: 8940 ld.h r2, (r1, 0x0) + 422c: 7489 zexth r2, r2 + 422e: 07c7 br 0x41bc // 41bc + 4230: 3d41 cmpnei r5, 1 + 4232: 085c bt 0x42ea // 42ea + 4234: 0343 lrw r2, 0x200004f8 // 44a4 + 4236: 6cd7 mov r3, r5 + 4238: 9200 ld.w r0, (r2, 0x0) + 423a: 70d0 lsl r3, r4 + 423c: 6cc0 or r3, r0 + 423e: b260 st.w r3, (r2, 0x0) + 4240: 3300 movi r3, 0 + 4242: a160 st.b r3, (r1, 0x0) + 4244: 4461 lsli r3, r4, 1 + 4246: 9844 ld.w r2, (r14, 0x10) + 4248: 608c addu r2, r3 + 424a: 8ac0 ld.h r6, (r2, 0x0) + 424c: 034e lrw r2, 0x200001aa // 4490 + 424e: 60c8 addu r3, r2 + 4250: 8be0 ld.h r7, (r3, 0x0) + 4252: 4702 lsli r0, r7, 2 + 4254: 3105 movi r1, 5 + 4256: e3fff6a3 bsr 0x2f9c // 2f9c <__divsi3> + 425a: 759b sexth r6, r6 + 425c: 6419 cmplt r6, r0 + 425e: b805 st.w r0, (r14, 0x14) + 4260: 0c18 bf 0x4290 // 4290 + 4262: 0351 lrw r2, 0x200004e4 // 4498 + 4264: 6090 addu r2, r4 + 4266: 8260 ld.b r3, (r2, 0x0) + 4268: 2300 addi r3, 1 + 426a: 74cc zextb r3, r3 + 426c: a260 st.b r3, (r2, 0x0) + 426e: 3100 movi r1, 0 + 4270: 0376 lrw r3, 0x20000505 // 4494 + 4272: 60d0 addu r3, r4 + 4274: a320 st.b r1, (r3, 0x0) + 4276: 8260 ld.b r3, (r2, 0x0) + 4278: 9826 ld.w r1, (r14, 0x18) + 427a: 64c4 cmphs r1, r3 + 427c: 080a bt 0x4290 // 4290 + 427e: 3300 movi r3, 0 + 4280: 0336 lrw r1, 0x200004f8 // 44a4 + 4282: 2b01 subi r3, 2 + 4284: 9100 ld.w r0, (r1, 0x0) + 4286: 70d3 rotl r3, r4 + 4288: 68c0 and r3, r0 + 428a: b160 st.w r3, (r1, 0x0) + 428c: 3300 movi r3, 0 + 428e: a260 st.b r3, (r2, 0x0) + 4290: 9860 ld.w r3, (r14, 0x0) + 4292: 9841 ld.w r2, (r14, 0x4) + 4294: 3b03 cmphsi r3, 4 + 4296: 4461 lsli r3, r4, 1 + 4298: 60c8 addu r3, r2 + 429a: 8b40 ld.h r2, (r3, 0x0) + 429c: 748b sexth r2, r2 + 429e: 0d4d bf 0x4538 // 4538 + 42a0: 649d cmplt r7, r2 + 42a2: 0d3a bf 0x4516 // 4516 + 42a4: 8b40 ld.h r2, (r3, 0x0) + 42a6: 9820 ld.w r1, (r14, 0x0) + 42a8: 748b sexth r2, r2 + 42aa: 7c5c mult r1, r7 + 42ac: 6449 cmplt r2, r1 + 42ae: 0d34 bf 0x4516 // 4516 + 42b0: 133e lrw r1, 0x200006d8 // 44a8 + 42b2: 6050 addu r1, r4 + 42b4: 8140 ld.b r2, (r1, 0x0) + 42b6: 2200 addi r2, 1 + 42b8: 7488 zextb r2, r2 + 42ba: a140 st.b r2, (r1, 0x0) + 42bc: 3000 movi r0, 0 + 42be: 135c lrw r2, 0x20000574 // 44ac + 42c0: 6090 addu r2, r4 + 42c2: a200 st.b r0, (r2, 0x0) + 42c4: 135b lrw r2, 0x2000059e // 44b0 + 42c6: 6090 addu r2, r4 + 42c8: a200 st.b r0, (r2, 0x0) + 42ca: 135b lrw r2, 0x2000069c // 44b4 + 42cc: 6090 addu r2, r4 + 42ce: a200 st.b r0, (r2, 0x0) + 42d0: 8140 ld.b r2, (r1, 0x0) + 42d2: 9803 ld.w r0, (r14, 0xc) + 42d4: 6480 cmphs r0, r2 + 42d6: 087d bt 0x43d0 // 43d0 + 42d8: 3d40 cmpnei r5, 0 + 42da: 0871 bt 0x43bc // 43bc + 42dc: 1357 lrw r2, 0x2000048c // 44b8 + 42de: 9260 ld.w r3, (r2, 0x0) + 42e0: 3b40 cmpnei r3, 0 + 42e2: 0875 bt 0x43cc // 43cc + 42e4: 9200 ld.w r0, (r2, 0x0) + 42e6: 3301 movi r3, 1 + 42e8: 046f br 0x43c6 // 43c6 + 42ea: 3d42 cmpnei r5, 2 + 42ec: 0c03 bf 0x42f2 // 42f2 + 42ee: e8000201 br 0x46f0 // 46f0 + 42f2: 13d3 lrw r6, 0x200006b2 // 44bc + 42f4: 8b00 ld.h r0, (r3, 0x0) + 42f6: 8e40 ld.h r2, (r6, 0x0) + 42f8: 7489 zexth r2, r2 + 42fa: 7403 sexth r0, r0 + 42fc: 2209 addi r2, 10 + 42fe: 6409 cmplt r2, r0 + 4300: 0fa0 bf 0x4240 // 4240 + 4302: 8b60 ld.h r3, (r3, 0x0) + 4304: 74cd zexth r3, r3 + 4306: ae60 st.h r3, (r6, 0x0) + 4308: 3300 movi r3, 0 + 430a: 1347 lrw r2, 0x200004f8 // 44a4 + 430c: b260 st.w r3, (r2, 0x0) + 430e: 0785 br 0x4218 // 4218 + 4310: 4461 lsli r3, r4, 1 + 4312: 9824 ld.w r1, (r14, 0x10) + 4314: 60c4 addu r3, r1 + 4316: 8b60 ld.h r3, (r3, 0x0) + 4318: 74cf sexth r3, r3 + 431a: 64c9 cmplt r2, r3 + 431c: 0f94 bf 0x4244 // 4244 + 431e: 3300 movi r3, 0 + 4320: 1341 lrw r2, 0x200004f8 // 44a4 + 4322: 2b01 subi r3, 2 + 4324: 9220 ld.w r1, (r2, 0x0) + 4326: 70d3 rotl r3, r4 + 4328: 68c4 and r3, r1 + 432a: b260 st.w r3, (r2, 0x0) + 432c: 078c br 0x4244 // 4244 + 432e: 9844 ld.w r2, (r14, 0x10) + 4330: 6084 addu r2, r1 + 4332: 1218 lrw r0, 0x200001aa // 4490 + 4334: 8a60 ld.h r3, (r2, 0x0) + 4336: 6040 addu r1, r0 + 4338: 74cf sexth r3, r3 + 433a: 8920 ld.h r1, (r1, 0x0) + 433c: 64c5 cmplt r1, r3 + 433e: 0f83 bf 0x4244 // 4244 + 4340: 1360 lrw r3, 0x20000516 // 44c0 + 4342: 8360 ld.b r3, (r3, 0x0) + 4344: 74cc zextb r3, r3 + 4346: 3b40 cmpnei r3, 0 + 4348: 0b7e bt 0x4244 // 4244 + 434a: 1213 lrw r0, 0x20000505 // 4494 + 434c: 6010 addu r0, r4 + 434e: 8020 ld.b r1, (r0, 0x0) + 4350: 2100 addi r1, 1 + 4352: 7444 zextb r1, r1 + 4354: a020 st.b r1, (r0, 0x0) + 4356: 3600 movi r6, 0 + 4358: 1230 lrw r1, 0x200004e4 // 4498 + 435a: 6050 addu r1, r4 + 435c: a1c0 st.b r6, (r1, 0x0) + 435e: 1230 lrw r1, 0x20000624 // 449c + 4360: 6050 addu r1, r4 + 4362: a1c0 st.b r6, (r1, 0x0) + 4364: 122f lrw r1, 0x200006bc // 44a0 + 4366: 6050 addu r1, r4 + 4368: a1c0 st.b r6, (r1, 0x0) + 436a: 8020 ld.b r1, (r0, 0x0) + 436c: 98c3 ld.w r6, (r14, 0xc) + 436e: 6458 cmphs r6, r1 + 4370: 0b6a bt 0x4244 // 4244 + 4372: 3d40 cmpnei r5, 0 + 4374: 0808 bt 0x4384 // 4384 + 4376: 124c lrw r2, 0x200004f8 // 44a4 + 4378: 9260 ld.w r3, (r2, 0x0) + 437a: 3b40 cmpnei r3, 0 + 437c: 080c bt 0x4394 // 4394 + 437e: 9220 ld.w r1, (r2, 0x0) + 4380: 3301 movi r3, 1 + 4382: 0406 br 0x438e // 438e + 4384: 3d41 cmpnei r5, 1 + 4386: 080a bt 0x439a // 439a + 4388: 1247 lrw r2, 0x200004f8 // 44a4 + 438a: 6cd7 mov r3, r5 + 438c: 9220 ld.w r1, (r2, 0x0) + 438e: 70d0 lsl r3, r4 + 4390: 6cc4 or r3, r1 + 4392: b260 st.w r3, (r2, 0x0) + 4394: 3300 movi r3, 0 + 4396: a060 st.b r3, (r0, 0x0) + 4398: 0756 br 0x4244 // 4244 + 439a: 3d42 cmpnei r5, 2 + 439c: 0c02 bf 0x43a0 // 43a0 + 439e: 05dc br 0x4756 // 4756 + 43a0: 12e7 lrw r7, 0x200006b2 // 44bc + 43a2: 8ac0 ld.h r6, (r2, 0x0) + 43a4: 8f20 ld.h r1, (r7, 0x0) + 43a6: 7445 zexth r1, r1 + 43a8: 759b sexth r6, r6 + 43aa: 2109 addi r1, 10 + 43ac: 6585 cmplt r1, r6 + 43ae: 0ff3 bf 0x4394 // 4394 + 43b0: 8a40 ld.h r2, (r2, 0x0) + 43b2: 7489 zexth r2, r2 + 43b4: af40 st.h r2, (r7, 0x0) + 43b6: 115c lrw r2, 0x200004f8 // 44a4 + 43b8: b260 st.w r3, (r2, 0x0) + 43ba: 07e2 br 0x437e // 437e + 43bc: 3d41 cmpnei r5, 1 + 43be: 089b bt 0x44f4 // 44f4 + 43c0: 115e lrw r2, 0x2000048c // 44b8 + 43c2: 6cd7 mov r3, r5 + 43c4: 9200 ld.w r0, (r2, 0x0) + 43c6: 70d0 lsl r3, r4 + 43c8: 6cc0 or r3, r0 + 43ca: b260 st.w r3, (r2, 0x0) + 43cc: 3300 movi r3, 0 + 43ce: a160 st.b r3, (r1, 0x0) + 43d0: 4461 lsli r3, r4, 1 + 43d2: 9841 ld.w r2, (r14, 0x4) + 43d4: 608c addu r2, r3 + 43d6: 8a60 ld.h r3, (r2, 0x0) + 43d8: 74cf sexth r3, r3 + 43da: 9845 ld.w r2, (r14, 0x14) + 43dc: 648d cmplt r3, r2 + 43de: 0c18 bf 0x440e // 440e + 43e0: 1153 lrw r2, 0x20000574 // 44ac + 43e2: 6090 addu r2, r4 + 43e4: 8260 ld.b r3, (r2, 0x0) + 43e6: 2300 addi r3, 1 + 43e8: 74cc zextb r3, r3 + 43ea: a260 st.b r3, (r2, 0x0) + 43ec: 3100 movi r1, 0 + 43ee: 116f lrw r3, 0x200006d8 // 44a8 + 43f0: 60d0 addu r3, r4 + 43f2: a320 st.b r1, (r3, 0x0) + 43f4: 8260 ld.b r3, (r2, 0x0) + 43f6: 9826 ld.w r1, (r14, 0x18) + 43f8: 64c4 cmphs r1, r3 + 43fa: 080a bt 0x440e // 440e + 43fc: 3300 movi r3, 0 + 43fe: 112f lrw r1, 0x2000048c // 44b8 + 4400: 2b01 subi r3, 2 + 4402: 9100 ld.w r0, (r1, 0x0) + 4404: 70d3 rotl r3, r4 + 4406: 68c0 and r3, r0 + 4408: b160 st.w r3, (r1, 0x0) + 440a: 3300 movi r3, 0 + 440c: a260 st.b r3, (r2, 0x0) + 440e: 9860 ld.w r3, (r14, 0x0) + 4410: 9842 ld.w r2, (r14, 0x8) + 4412: 3b03 cmphsi r3, 4 + 4414: 4461 lsli r3, r4, 1 + 4416: 60c8 addu r3, r2 + 4418: 8b40 ld.h r2, (r3, 0x0) + 441a: 748b sexth r2, r2 + 441c: 0d26 bf 0x4668 // 4668 + 441e: 9820 ld.w r1, (r14, 0x0) + 4420: 649d cmplt r7, r2 + 4422: 7c5c mult r1, r7 + 4424: 0d13 bf 0x464a // 464a + 4426: 8b40 ld.h r2, (r3, 0x0) + 4428: 748b sexth r2, r2 + 442a: 6449 cmplt r2, r1 + 442c: 0d0f bf 0x464a // 464a + 442e: 1126 lrw r1, 0x20000680 // 44c4 + 4430: 6050 addu r1, r4 + 4432: 8140 ld.b r2, (r1, 0x0) + 4434: 2200 addi r2, 1 + 4436: 7488 zextb r2, r2 + 4438: a140 st.b r2, (r1, 0x0) + 443a: 3000 movi r0, 0 + 443c: 1143 lrw r2, 0x200006ee // 44c8 + 443e: 6090 addu r2, r4 + 4440: a200 st.b r0, (r2, 0x0) + 4442: 1143 lrw r2, 0x2000047a // 44cc + 4444: 6090 addu r2, r4 + 4446: a200 st.b r0, (r2, 0x0) + 4448: 1142 lrw r2, 0x2000058c // 44d0 + 444a: 6090 addu r2, r4 + 444c: a200 st.b r0, (r2, 0x0) + 444e: 0443 br 0x44d4 // 44d4 + 4450: 2000017c .long 0x2000017c + 4454: 20000150 .long 0x20000150 + 4458: 20000159 .long 0x20000159 + 445c: 20000158 .long 0x20000158 + 4460: 200007aa .long 0x200007aa + 4464: 20000518 .long 0x20000518 + 4468: 20000458 .long 0x20000458 + 446c: 20000602 .long 0x20000602 + 4470: 20000540 .long 0x20000540 + 4474: 20000658 .long 0x20000658 + 4478: 20000636 .long 0x20000636 + 447c: 20000718 .long 0x20000718 + 4480: 20000784 .long 0x20000784 + 4484: 20000762 .long 0x20000762 + 4488: 200004c0 .long 0x200004c0 + 448c: 20000494 .long 0x20000494 + 4490: 200001aa .long 0x200001aa + 4494: 20000505 .long 0x20000505 + 4498: 200004e4 .long 0x200004e4 + 449c: 20000624 .long 0x20000624 + 44a0: 200006bc .long 0x200006bc + 44a4: 200004f8 .long 0x200004f8 + 44a8: 200006d8 .long 0x200006d8 + 44ac: 20000574 .long 0x20000574 + 44b0: 2000059e .long 0x2000059e + 44b4: 2000069c .long 0x2000069c + 44b8: 2000048c .long 0x2000048c + 44bc: 200006b2 .long 0x200006b2 + 44c0: 20000516 .long 0x20000516 + 44c4: 20000680 .long 0x20000680 + 44c8: 200006ee .long 0x200006ee + 44cc: 2000047a .long 0x2000047a + 44d0: 2000058c .long 0x2000058c + 44d4: 8140 ld.b r2, (r1, 0x0) + 44d6: 9803 ld.w r0, (r14, 0xc) + 44d8: 6480 cmphs r0, r2 + 44da: 0881 bt 0x45dc // 45dc + 44dc: 3d40 cmpnei r5, 0 + 44de: 0874 bt 0x45c6 // 45c6 + 44e0: 014b lrw r2, 0x20000570 // 4830 + 44e2: 9260 ld.w r3, (r2, 0x0) + 44e4: 3b40 cmpnei r3, 0 + 44e6: 0879 bt 0x45d8 // 45d8 + 44e8: 3301 movi r3, 1 + 44ea: 9200 ld.w r0, (r2, 0x0) + 44ec: 70d0 lsl r3, r4 + 44ee: 6cc0 or r3, r0 + 44f0: b260 st.w r3, (r2, 0x0) + 44f2: 0473 br 0x45d8 // 45d8 + 44f4: 3d42 cmpnei r5, 2 + 44f6: 0960 bt 0x47b6 // 47b6 + 44f8: 01d0 lrw r6, 0x200007a8 // 4834 + 44fa: 8b00 ld.h r0, (r3, 0x0) + 44fc: 8e40 ld.h r2, (r6, 0x0) + 44fe: 7489 zexth r2, r2 + 4500: 7403 sexth r0, r0 + 4502: 2209 addi r2, 10 + 4504: 6409 cmplt r2, r0 + 4506: 0f63 bf 0x43cc // 43cc + 4508: 8b60 ld.h r3, (r3, 0x0) + 450a: 74cd zexth r3, r3 + 450c: ae60 st.h r3, (r6, 0x0) + 450e: 3300 movi r3, 0 + 4510: 0155 lrw r2, 0x2000048c // 4838 + 4512: b260 st.w r3, (r2, 0x0) + 4514: 06e8 br 0x42e4 // 42e4 + 4516: 9841 ld.w r2, (r14, 0x4) + 4518: 4461 lsli r3, r4, 1 + 451a: 60c8 addu r3, r2 + 451c: 8b60 ld.h r3, (r3, 0x0) + 451e: 9840 ld.w r2, (r14, 0x0) + 4520: 74cf sexth r3, r3 + 4522: 7c9c mult r2, r7 + 4524: 64c9 cmplt r2, r3 + 4526: 0f55 bf 0x43d0 // 43d0 + 4528: 3300 movi r3, 0 + 452a: 015b lrw r2, 0x2000048c // 4838 + 452c: 2b01 subi r3, 2 + 452e: 9220 ld.w r1, (r2, 0x0) + 4530: 70d3 rotl r3, r4 + 4532: 68c4 and r3, r1 + 4534: b260 st.w r3, (r2, 0x0) + 4536: 074d br 0x43d0 // 43d0 + 4538: 649d cmplt r7, r2 + 453a: 0f4b bf 0x43d0 // 43d0 + 453c: 015f lrw r2, 0x20000516 // 483c + 453e: 8240 ld.b r2, (r2, 0x0) + 4540: 7488 zextb r2, r2 + 4542: 3a40 cmpnei r2, 0 + 4544: b847 st.w r2, (r14, 0x1c) + 4546: 0b45 bt 0x43d0 // 43d0 + 4548: 0201 lrw r0, 0x200006d8 // 4840 + 454a: 6010 addu r0, r4 + 454c: 8020 ld.b r1, (r0, 0x0) + 454e: 2100 addi r1, 1 + 4550: 7444 zextb r1, r1 + 4552: a020 st.b r1, (r0, 0x0) + 4554: 3600 movi r6, 0 + 4556: 0223 lrw r1, 0x20000574 // 4844 + 4558: 6050 addu r1, r4 + 455a: a1c0 st.b r6, (r1, 0x0) + 455c: 0224 lrw r1, 0x2000059e // 4848 + 455e: 6050 addu r1, r4 + 4560: a1c0 st.b r6, (r1, 0x0) + 4562: 0224 lrw r1, 0x2000069c // 484c + 4564: 6050 addu r1, r4 + 4566: a1c0 st.b r6, (r1, 0x0) + 4568: 8020 ld.b r1, (r0, 0x0) + 456a: 98c3 ld.w r6, (r14, 0xc) + 456c: 6458 cmphs r6, r1 + 456e: 0b31 bt 0x43d0 // 43d0 + 4570: 3d40 cmpnei r5, 0 + 4572: 0808 bt 0x4582 // 4582 + 4574: 024e lrw r2, 0x2000048c // 4838 + 4576: 9260 ld.w r3, (r2, 0x0) + 4578: 3b40 cmpnei r3, 0 + 457a: 0823 bt 0x45c0 // 45c0 + 457c: 9220 ld.w r1, (r2, 0x0) + 457e: 3301 movi r3, 1 + 4580: 0406 br 0x458c // 458c + 4582: 3d41 cmpnei r5, 1 + 4584: 0808 bt 0x4594 // 4594 + 4586: 0252 lrw r2, 0x2000048c // 4838 + 4588: 6cd7 mov r3, r5 + 458a: 9220 ld.w r1, (r2, 0x0) + 458c: 70d0 lsl r3, r4 + 458e: 6cc4 or r3, r1 + 4590: b260 st.w r3, (r2, 0x0) + 4592: 0417 br 0x45c0 // 45c0 + 4594: 3d42 cmpnei r5, 2 + 4596: 0942 bt 0x481a // 481a + 4598: 8bc0 ld.h r6, (r3, 0x0) + 459a: 745b sexth r1, r6 + 459c: 02d9 lrw r6, 0x200007a8 // 4834 + 459e: 6c87 mov r2, r1 + 45a0: 8e20 ld.h r1, (r6, 0x0) + 45a2: 7445 zexth r1, r1 + 45a4: 2109 addi r1, 10 + 45a6: 6485 cmplt r1, r2 + 45a8: 0c0c bf 0x45c0 // 45c0 + 45aa: 8b60 ld.h r3, (r3, 0x0) + 45ac: 74cd zexth r3, r3 + 45ae: ae60 st.h r3, (r6, 0x0) + 45b0: 9867 ld.w r3, (r14, 0x1c) + 45b2: 023d lrw r1, 0x2000048c // 4838 + 45b4: b160 st.w r3, (r1, 0x0) + 45b6: 3301 movi r3, 1 + 45b8: 9140 ld.w r2, (r1, 0x0) + 45ba: 70d0 lsl r3, r4 + 45bc: 6cc8 or r3, r2 + 45be: b160 st.w r3, (r1, 0x0) + 45c0: 3300 movi r3, 0 + 45c2: a060 st.b r3, (r0, 0x0) + 45c4: 0706 br 0x43d0 // 43d0 + 45c6: 3d41 cmpnei r5, 1 + 45c8: 0830 bt 0x4628 // 4628 + 45ca: 0345 lrw r2, 0x20000570 // 4830 + 45cc: 6cd7 mov r3, r5 + 45ce: 9200 ld.w r0, (r2, 0x0) + 45d0: 70d0 lsl r3, r4 + 45d2: 6cc0 or r3, r0 + 45d4: b260 st.w r3, (r2, 0x0) + 45d6: 6c03 mov r0, r0 + 45d8: 3300 movi r3, 0 + 45da: a160 st.b r3, (r1, 0x0) + 45dc: 4461 lsli r3, r4, 1 + 45de: 9842 ld.w r2, (r14, 0x8) + 45e0: 608c addu r2, r3 + 45e2: 8a60 ld.h r3, (r2, 0x0) + 45e4: 74cf sexth r3, r3 + 45e6: 9845 ld.w r2, (r14, 0x14) + 45e8: 648d cmplt r3, r2 + 45ea: 0c18 bf 0x461a // 461a + 45ec: 0346 lrw r2, 0x200006ee // 4850 + 45ee: 6090 addu r2, r4 + 45f0: 8260 ld.b r3, (r2, 0x0) + 45f2: 2300 addi r3, 1 + 45f4: 74cc zextb r3, r3 + 45f6: a260 st.b r3, (r2, 0x0) + 45f8: 3100 movi r1, 0 + 45fa: 0368 lrw r3, 0x20000680 // 4854 + 45fc: 60d0 addu r3, r4 + 45fe: a320 st.b r1, (r3, 0x0) + 4600: 8260 ld.b r3, (r2, 0x0) + 4602: 9826 ld.w r1, (r14, 0x18) + 4604: 64c4 cmphs r1, r3 + 4606: 080a bt 0x461a // 461a + 4608: 3300 movi r3, 0 + 460a: 0335 lrw r1, 0x20000570 // 4830 + 460c: 2b01 subi r3, 2 + 460e: 9100 ld.w r0, (r1, 0x0) + 4610: 70d3 rotl r3, r4 + 4612: 68c0 and r3, r0 + 4614: b160 st.w r3, (r1, 0x0) + 4616: 3300 movi r3, 0 + 4618: a260 st.b r3, (r2, 0x0) + 461a: 2400 addi r4, 1 + 461c: 3c51 cmpnei r4, 17 + 461e: 0c03 bf 0x4624 // 4624 + 4620: e800fd8d br 0x413a // 413a + 4624: 140a addi r14, r14, 40 + 4626: 1494 pop r4-r7, r15 + 4628: 3d42 cmpnei r5, 2 + 462a: 0948 bt 0x48ba // 48ba + 462c: 03d4 lrw r6, 0x2000053a // 4858 + 462e: 8b00 ld.h r0, (r3, 0x0) + 4630: 8e40 ld.h r2, (r6, 0x0) + 4632: 7489 zexth r2, r2 + 4634: 7403 sexth r0, r0 + 4636: 2209 addi r2, 10 + 4638: 6409 cmplt r2, r0 + 463a: 0fcf bf 0x45d8 // 45d8 + 463c: 8b60 ld.h r3, (r3, 0x0) + 463e: 74cd zexth r3, r3 + 4640: ae60 st.h r3, (r6, 0x0) + 4642: 3300 movi r3, 0 + 4644: 135b lrw r2, 0x20000570 // 4830 + 4646: b260 st.w r3, (r2, 0x0) + 4648: 0750 br 0x44e8 // 44e8 + 464a: 4461 lsli r3, r4, 1 + 464c: 9842 ld.w r2, (r14, 0x8) + 464e: 60c8 addu r3, r2 + 4650: 8b60 ld.h r3, (r3, 0x0) + 4652: 74cf sexth r3, r3 + 4654: 64c5 cmplt r1, r3 + 4656: 0fc3 bf 0x45dc // 45dc + 4658: 3300 movi r3, 0 + 465a: 1356 lrw r2, 0x20000570 // 4830 + 465c: 2b01 subi r3, 2 + 465e: 9220 ld.w r1, (r2, 0x0) + 4660: 70d3 rotl r3, r4 + 4662: 68c4 and r3, r1 + 4664: b260 st.w r3, (r2, 0x0) + 4666: 07bb br 0x45dc // 45dc + 4668: 649d cmplt r7, r2 + 466a: 0fb9 bf 0x45dc // 45dc + 466c: 1354 lrw r2, 0x20000516 // 483c + 466e: 8240 ld.b r2, (r2, 0x0) + 4670: 7488 zextb r2, r2 + 4672: 3a40 cmpnei r2, 0 + 4674: 0bb4 bt 0x45dc // 45dc + 4676: 1318 lrw r0, 0x20000680 // 4854 + 4678: 6010 addu r0, r4 + 467a: 8020 ld.b r1, (r0, 0x0) + 467c: 2100 addi r1, 1 + 467e: 7444 zextb r1, r1 + 4680: a020 st.b r1, (r0, 0x0) + 4682: 3600 movi r6, 0 + 4684: 1333 lrw r1, 0x200006ee // 4850 + 4686: 6050 addu r1, r4 + 4688: a1c0 st.b r6, (r1, 0x0) + 468a: 1335 lrw r1, 0x2000047a // 485c + 468c: 6050 addu r1, r4 + 468e: a1c0 st.b r6, (r1, 0x0) + 4690: 1334 lrw r1, 0x2000058c // 4860 + 4692: 6050 addu r1, r4 + 4694: a1c0 st.b r6, (r1, 0x0) + 4696: 8020 ld.b r1, (r0, 0x0) + 4698: 98c3 ld.w r6, (r14, 0xc) + 469a: 6458 cmphs r6, r1 + 469c: 0ba0 bt 0x45dc // 45dc + 469e: 3d40 cmpnei r5, 0 + 46a0: 0808 bt 0x46b0 // 46b0 + 46a2: 1344 lrw r2, 0x20000570 // 4830 + 46a4: 9260 ld.w r3, (r2, 0x0) + 46a6: 3b40 cmpnei r3, 0 + 46a8: 0821 bt 0x46ea // 46ea + 46aa: 9220 ld.w r1, (r2, 0x0) + 46ac: 3301 movi r3, 1 + 46ae: 0406 br 0x46ba // 46ba + 46b0: 3d41 cmpnei r5, 1 + 46b2: 0808 bt 0x46c2 // 46c2 + 46b4: 125f lrw r2, 0x20000570 // 4830 + 46b6: 6cd7 mov r3, r5 + 46b8: 9220 ld.w r1, (r2, 0x0) + 46ba: 70d0 lsl r3, r4 + 46bc: 6cc4 or r3, r1 + 46be: b260 st.w r3, (r2, 0x0) + 46c0: 0415 br 0x46ea // 46ea + 46c2: 3d42 cmpnei r5, 2 + 46c4: 092a bt 0x4918 // 4918 + 46c6: 13e5 lrw r7, 0x2000053a // 4858 + 46c8: 8bc0 ld.h r6, (r3, 0x0) + 46ca: 8f20 ld.h r1, (r7, 0x0) + 46cc: 7445 zexth r1, r1 + 46ce: 759b sexth r6, r6 + 46d0: 2109 addi r1, 10 + 46d2: 6585 cmplt r1, r6 + 46d4: 0c0b bf 0x46ea // 46ea + 46d6: 8b60 ld.h r3, (r3, 0x0) + 46d8: 1236 lrw r1, 0x20000570 // 4830 + 46da: 74cd zexth r3, r3 + 46dc: af60 st.h r3, (r7, 0x0) + 46de: b140 st.w r2, (r1, 0x0) + 46e0: 3301 movi r3, 1 + 46e2: 9140 ld.w r2, (r1, 0x0) + 46e4: 70d0 lsl r3, r4 + 46e6: 6cc8 or r3, r2 + 46e8: b160 st.w r3, (r1, 0x0) + 46ea: 3300 movi r3, 0 + 46ec: a060 st.b r3, (r0, 0x0) + 46ee: 0777 br 0x45dc // 45dc + 46f0: 3d43 cmpnei r5, 3 + 46f2: 0c03 bf 0x46f8 // 46f8 + 46f4: e800fda6 br 0x4240 // 4240 + 46f8: 125b lrw r2, 0x200006b2 // 4864 + 46fa: 8bc0 ld.h r6, (r3, 0x0) + 46fc: 8a00 ld.h r0, (r2, 0x0) + 46fe: 7401 zexth r0, r0 + 4700: 759b sexth r6, r6 + 4702: 2009 addi r0, 10 + 4704: 6581 cmplt r0, r6 + 4706: 0c0c bf 0x471e // 471e + 4708: 8b60 ld.h r3, (r3, 0x0) + 470a: 74cd zexth r3, r3 + 470c: aa60 st.h r3, (r2, 0x0) + 470e: 3300 movi r3, 0 + 4710: 1216 lrw r0, 0x200004f8 // 4868 + 4712: b060 st.w r3, (r0, 0x0) + 4714: 3301 movi r3, 1 + 4716: 90c0 ld.w r6, (r0, 0x0) + 4718: 70d0 lsl r3, r4 + 471a: 6cd8 or r3, r6 + 471c: b060 st.w r3, (r0, 0x0) + 471e: 9804 ld.w r0, (r14, 0x10) + 4720: 4461 lsli r3, r4, 1 + 4722: 60c0 addu r3, r0 + 4724: 8b00 ld.h r0, (r3, 0x0) + 4726: 8a40 ld.h r2, (r2, 0x0) + 4728: 7489 zexth r2, r2 + 472a: 7403 sexth r0, r0 + 472c: 2a04 subi r2, 5 + 472e: 6481 cmplt r0, r2 + 4730: 0803 bt 0x4736 // 4736 + 4732: e800fd87 br 0x4240 // 4240 + 4736: 12ce lrw r6, 0x200004bc // 486c + 4738: 8b00 ld.h r0, (r3, 0x0) + 473a: 8e40 ld.h r2, (r6, 0x0) + 473c: 7489 zexth r2, r2 + 473e: 7403 sexth r0, r0 + 4740: 2204 addi r2, 5 + 4742: 6409 cmplt r2, r0 + 4744: 0803 bt 0x474a // 474a + 4746: e800fd7d br 0x4240 // 4240 + 474a: 8b60 ld.h r3, (r3, 0x0) + 474c: 74cd zexth r3, r3 + 474e: ae60 st.h r3, (r6, 0x0) + 4750: 1246 lrw r2, 0x200004f8 // 4868 + 4752: e800fd63 br 0x4218 // 4218 + 4756: 3d43 cmpnei r5, 3 + 4758: 0c02 bf 0x475c // 475c + 475a: 061d br 0x4394 // 4394 + 475c: 12c2 lrw r6, 0x200006b2 // 4864 + 475e: 8ae0 ld.h r7, (r2, 0x0) + 4760: 8e20 ld.h r1, (r6, 0x0) + 4762: 7445 zexth r1, r1 + 4764: 75df sexth r7, r7 + 4766: 2109 addi r1, 10 + 4768: 65c5 cmplt r1, r7 + 476a: 0c0b bf 0x4780 // 4780 + 476c: 8a40 ld.h r2, (r2, 0x0) + 476e: 7489 zexth r2, r2 + 4770: ae40 st.h r2, (r6, 0x0) + 4772: 115e lrw r2, 0x200004f8 // 4868 + 4774: b260 st.w r3, (r2, 0x0) + 4776: 3301 movi r3, 1 + 4778: 9220 ld.w r1, (r2, 0x0) + 477a: 70d0 lsl r3, r4 + 477c: 6cc4 or r3, r1 + 477e: b260 st.w r3, (r2, 0x0) + 4780: 9844 ld.w r2, (r14, 0x10) + 4782: 4461 lsli r3, r4, 1 + 4784: 60c8 addu r3, r2 + 4786: 8b40 ld.h r2, (r3, 0x0) + 4788: 8e20 ld.h r1, (r6, 0x0) + 478a: 7445 zexth r1, r1 + 478c: 748b sexth r2, r2 + 478e: 2904 subi r1, 5 + 4790: 6449 cmplt r2, r1 + 4792: 0802 bt 0x4796 // 4796 + 4794: 0600 br 0x4394 // 4394 + 4796: 11d6 lrw r6, 0x200004bc // 486c + 4798: 8b20 ld.h r1, (r3, 0x0) + 479a: 8e40 ld.h r2, (r6, 0x0) + 479c: 7489 zexth r2, r2 + 479e: 7447 sexth r1, r1 + 47a0: 2204 addi r2, 5 + 47a2: 6449 cmplt r2, r1 + 47a4: 0803 bt 0x47aa // 47aa + 47a6: e800fdf7 br 0x4394 // 4394 + 47aa: 8b60 ld.h r3, (r3, 0x0) + 47ac: 74cd zexth r3, r3 + 47ae: ae60 st.h r3, (r6, 0x0) + 47b0: 114e lrw r2, 0x200004f8 // 4868 + 47b2: e800fde6 br 0x437e // 437e + 47b6: 3d43 cmpnei r5, 3 + 47b8: 0c02 bf 0x47bc // 47bc + 47ba: 0609 br 0x43cc // 43cc + 47bc: 105e lrw r2, 0x200007a8 // 4834 + 47be: 8bc0 ld.h r6, (r3, 0x0) + 47c0: 8a00 ld.h r0, (r2, 0x0) + 47c2: 7401 zexth r0, r0 + 47c4: 759b sexth r6, r6 + 47c6: 2009 addi r0, 10 + 47c8: 6581 cmplt r0, r6 + 47ca: 0c0c bf 0x47e2 // 47e2 + 47cc: 8b60 ld.h r3, (r3, 0x0) + 47ce: 74cd zexth r3, r3 + 47d0: aa60 st.h r3, (r2, 0x0) + 47d2: 3300 movi r3, 0 + 47d4: 1019 lrw r0, 0x2000048c // 4838 + 47d6: b060 st.w r3, (r0, 0x0) + 47d8: 3301 movi r3, 1 + 47da: 90c0 ld.w r6, (r0, 0x0) + 47dc: 70d0 lsl r3, r4 + 47de: 6cd8 or r3, r6 + 47e0: b060 st.w r3, (r0, 0x0) + 47e2: 9801 ld.w r0, (r14, 0x4) + 47e4: 4461 lsli r3, r4, 1 + 47e6: 60c0 addu r3, r0 + 47e8: 8b00 ld.h r0, (r3, 0x0) + 47ea: 8a40 ld.h r2, (r2, 0x0) + 47ec: 7489 zexth r2, r2 + 47ee: 7403 sexth r0, r0 + 47f0: 2a04 subi r2, 5 + 47f2: 6481 cmplt r0, r2 + 47f4: 0803 bt 0x47fa // 47fa + 47f6: e800fdeb br 0x43cc // 43cc + 47fa: 10de lrw r6, 0x200006ba // 4870 + 47fc: 8b00 ld.h r0, (r3, 0x0) + 47fe: 8e40 ld.h r2, (r6, 0x0) + 4800: 7489 zexth r2, r2 + 4802: 7403 sexth r0, r0 + 4804: 2204 addi r2, 5 + 4806: 6409 cmplt r2, r0 + 4808: 0803 bt 0x480e // 480e + 480a: e800fde1 br 0x43cc // 43cc + 480e: 8b60 ld.h r3, (r3, 0x0) + 4810: 74cd zexth r3, r3 + 4812: ae60 st.h r3, (r6, 0x0) + 4814: 1049 lrw r2, 0x2000048c // 4838 + 4816: e800fd67 br 0x42e4 // 42e4 + 481a: 3d43 cmpnei r5, 3 + 481c: 0ad2 bt 0x45c0 // 45c0 + 481e: 8b20 ld.h r1, (r3, 0x0) + 4820: 10c5 lrw r6, 0x200007a8 // 4834 + 4822: 7487 sexth r2, r1 + 4824: 8e20 ld.h r1, (r6, 0x0) + 4826: 7445 zexth r1, r1 + 4828: 2109 addi r1, 10 + 482a: 6485 cmplt r1, r2 + 482c: 0c2f bf 0x488a // 488a + 482e: 0423 br 0x4874 // 4874 + 4830: 20000570 .long 0x20000570 + 4834: 200007a8 .long 0x200007a8 + 4838: 2000048c .long 0x2000048c + 483c: 20000516 .long 0x20000516 + 4840: 200006d8 .long 0x200006d8 + 4844: 20000574 .long 0x20000574 + 4848: 2000059e .long 0x2000059e + 484c: 2000069c .long 0x2000069c + 4850: 200006ee .long 0x200006ee + 4854: 20000680 .long 0x20000680 + 4858: 2000053a .long 0x2000053a + 485c: 2000047a .long 0x2000047a + 4860: 2000058c .long 0x2000058c + 4864: 200006b2 .long 0x200006b2 + 4868: 200004f8 .long 0x200004f8 + 486c: 200004bc .long 0x200004bc + 4870: 200006ba .long 0x200006ba + 4874: 8b60 ld.h r3, (r3, 0x0) + 4876: 74cd zexth r3, r3 + 4878: ae60 st.h r3, (r6, 0x0) + 487a: 9867 ld.w r3, (r14, 0x1c) + 487c: 113d lrw r1, 0x2000048c // 4970 + 487e: b160 st.w r3, (r1, 0x0) + 4880: 3301 movi r3, 1 + 4882: 9140 ld.w r2, (r1, 0x0) + 4884: 70d0 lsl r3, r4 + 4886: 6cc8 or r3, r2 + 4888: b160 st.w r3, (r1, 0x0) + 488a: 9841 ld.w r2, (r14, 0x4) + 488c: 4461 lsli r3, r4, 1 + 488e: 60c8 addu r3, r2 + 4890: 8b40 ld.h r2, (r3, 0x0) + 4892: 8e20 ld.h r1, (r6, 0x0) + 4894: 7445 zexth r1, r1 + 4896: 748b sexth r2, r2 + 4898: 2904 subi r1, 5 + 489a: 6449 cmplt r2, r1 + 489c: 0e92 bf 0x45c0 // 45c0 + 489e: 11d6 lrw r6, 0x200006ba // 4974 + 48a0: 8b20 ld.h r1, (r3, 0x0) + 48a2: 8e40 ld.h r2, (r6, 0x0) + 48a4: 7489 zexth r2, r2 + 48a6: 7447 sexth r1, r1 + 48a8: 2204 addi r2, 5 + 48aa: 6449 cmplt r2, r1 + 48ac: 0802 bt 0x48b0 // 48b0 + 48ae: 0689 br 0x45c0 // 45c0 + 48b0: 8b60 ld.h r3, (r3, 0x0) + 48b2: 74cd zexth r3, r3 + 48b4: ae60 st.h r3, (r6, 0x0) + 48b6: 114f lrw r2, 0x2000048c // 4970 + 48b8: 0662 br 0x457c // 457c + 48ba: 3d43 cmpnei r5, 3 + 48bc: 0a8e bt 0x45d8 // 45d8 + 48be: 114f lrw r2, 0x2000053a // 4978 + 48c0: 8bc0 ld.h r6, (r3, 0x0) + 48c2: 8a00 ld.h r0, (r2, 0x0) + 48c4: 7401 zexth r0, r0 + 48c6: 759b sexth r6, r6 + 48c8: 2009 addi r0, 10 + 48ca: 6581 cmplt r0, r6 + 48cc: 0c0c bf 0x48e4 // 48e4 + 48ce: 8b60 ld.h r3, (r3, 0x0) + 48d0: 74cd zexth r3, r3 + 48d2: aa60 st.h r3, (r2, 0x0) + 48d4: 3300 movi r3, 0 + 48d6: 110a lrw r0, 0x20000570 // 497c + 48d8: b060 st.w r3, (r0, 0x0) + 48da: 3301 movi r3, 1 + 48dc: 90c0 ld.w r6, (r0, 0x0) + 48de: 70d0 lsl r3, r4 + 48e0: 6cd8 or r3, r6 + 48e2: b060 st.w r3, (r0, 0x0) + 48e4: 9802 ld.w r0, (r14, 0x8) + 48e6: 4461 lsli r3, r4, 1 + 48e8: 60c0 addu r3, r0 + 48ea: 8b00 ld.h r0, (r3, 0x0) + 48ec: 8a40 ld.h r2, (r2, 0x0) + 48ee: 7489 zexth r2, r2 + 48f0: 7403 sexth r0, r0 + 48f2: 2a04 subi r2, 5 + 48f4: 6481 cmplt r0, r2 + 48f6: 0802 bt 0x48fa // 48fa + 48f8: 0670 br 0x45d8 // 45d8 + 48fa: 11c2 lrw r6, 0x20000600 // 4980 + 48fc: 8b00 ld.h r0, (r3, 0x0) + 48fe: 8e40 ld.h r2, (r6, 0x0) + 4900: 7489 zexth r2, r2 + 4902: 7403 sexth r0, r0 + 4904: 2204 addi r2, 5 + 4906: 6409 cmplt r2, r0 + 4908: 0802 bt 0x490c // 490c + 490a: 0667 br 0x45d8 // 45d8 + 490c: 8b60 ld.h r3, (r3, 0x0) + 490e: 74cd zexth r3, r3 + 4910: ae60 st.h r3, (r6, 0x0) + 4912: 105b lrw r2, 0x20000570 // 497c + 4914: e800fdea br 0x44e8 // 44e8 + 4918: 3d43 cmpnei r5, 3 + 491a: 0ae8 bt 0x46ea // 46ea + 491c: 10d7 lrw r6, 0x2000053a // 4978 + 491e: 8be0 ld.h r7, (r3, 0x0) + 4920: 8e20 ld.h r1, (r6, 0x0) + 4922: 7445 zexth r1, r1 + 4924: 75df sexth r7, r7 + 4926: 2109 addi r1, 10 + 4928: 65c5 cmplt r1, r7 + 492a: 0c0b bf 0x4940 // 4940 + 492c: 8b60 ld.h r3, (r3, 0x0) + 492e: 1034 lrw r1, 0x20000570 // 497c + 4930: 74cd zexth r3, r3 + 4932: ae60 st.h r3, (r6, 0x0) + 4934: b140 st.w r2, (r1, 0x0) + 4936: 3301 movi r3, 1 + 4938: 9140 ld.w r2, (r1, 0x0) + 493a: 70d0 lsl r3, r4 + 493c: 6cc8 or r3, r2 + 493e: b160 st.w r3, (r1, 0x0) + 4940: 9842 ld.w r2, (r14, 0x8) + 4942: 4461 lsli r3, r4, 1 + 4944: 60c8 addu r3, r2 + 4946: 8b40 ld.h r2, (r3, 0x0) + 4948: 8e20 ld.h r1, (r6, 0x0) + 494a: 7445 zexth r1, r1 + 494c: 748b sexth r2, r2 + 494e: 2904 subi r1, 5 + 4950: 6449 cmplt r2, r1 + 4952: 0ecc bf 0x46ea // 46ea + 4954: 10cb lrw r6, 0x20000600 // 4980 + 4956: 8b20 ld.h r1, (r3, 0x0) + 4958: 8e40 ld.h r2, (r6, 0x0) + 495a: 7489 zexth r2, r2 + 495c: 7447 sexth r1, r1 + 495e: 2204 addi r2, 5 + 4960: 6449 cmplt r2, r1 + 4962: 0ec4 bf 0x46ea // 46ea + 4964: 8b60 ld.h r3, (r3, 0x0) + 4966: 74cd zexth r3, r3 + 4968: ae60 st.h r3, (r6, 0x0) + 496a: 1045 lrw r2, 0x20000570 // 497c + 496c: 069f br 0x46aa // 46aa + 496e: 0000 bkpt + 4970: 2000048c .long 0x2000048c + 4974: 200006ba .long 0x200006ba + 4978: 2000053a .long 0x2000053a + 497c: 20000570 .long 0x20000570 + 4980: 20000600 .long 0x20000600 + +Disassembly of section .text.TK_overflow_predict: + +00004984 : + 4984: 14d4 push r4-r7, r15 + 4986: 1422 subi r14, r14, 8 + 4988: 113c lrw r1, 0x20000068 // 4a78 + 498a: 8167 ld.b r3, (r1, 0x7) + 498c: 3b41 cmpnei r3, 1 + 498e: 0823 bt 0x49d4 // 49d4 + 4990: 115b lrw r2, 0x2000067a // 4a7c + 4992: 8260 ld.b r3, (r2, 0x0) + 4994: 2300 addi r3, 1 + 4996: 74cc zextb r3, r3 + 4998: a260 st.b r3, (r2, 0x0) + 499a: 8260 ld.b r3, (r2, 0x0) + 499c: 1119 lrw r0, 0x2000017d // 4a80 + 499e: 8000 ld.b r0, (r0, 0x0) + 49a0: 64c0 cmphs r0, r3 + 49a2: 0819 bt 0x49d4 // 49d4 + 49a4: 3300 movi r3, 0 + 49a6: a260 st.b r3, (r2, 0x0) + 49a8: 11b7 lrw r5, 0x20000585 // 4a84 + 49aa: 8560 ld.b r3, (r5, 0x0) + 49ac: 3b40 cmpnei r3, 0 + 49ae: 0c15 bf 0x49d8 // 49d8 + 49b0: 8560 ld.b r3, (r5, 0x0) + 49b2: 3b41 cmpnei r3, 1 + 49b4: 0810 bt 0x49d4 // 49d4 + 49b6: 3300 movi r3, 0 + 49b8: a560 st.b r3, (r5, 0x0) + 49ba: 3200 movi r2, 0 + 49bc: 1173 lrw r3, 0x20000058 // 4a88 + 49be: 1114 lrw r0, 0x200006b4 // 4a8c + 49c0: 11b4 lrw r5, 0x20000704 // 4a90 + 49c2: 11d5 lrw r6, 0x2000015a // 4a94 + 49c4: 9360 ld.w r3, (r3, 0x0) + 49c6: b342 st.w r2, (r3, 0x8) + 49c8: 1174 lrw r3, 0x20000054 // 4a98 + 49ca: 9380 ld.w r4, (r3, 0x0) + 49cc: 3300 movi r3, 0 + 49ce: 8040 ld.b r2, (r0, 0x0) + 49d0: 648c cmphs r3, r2 + 49d2: 0c44 bf 0x4a5a // 4a5a + 49d4: 1402 addi r14, r14, 8 + 49d6: 1494 pop r4-r7, r15 + 49d8: 597e addi r3, r1, 8 + 49da: 3600 movi r6, 0 + 49dc: 11f0 lrw r7, 0x20000180 // 4a9c + 49de: b860 st.w r3, (r14, 0x0) + 49e0: 9760 ld.w r3, (r7, 0x0) + 49e2: 70d9 lsr r3, r6 + 49e4: 3201 movi r2, 1 + 49e6: 68c8 and r3, r2 + 49e8: 3b40 cmpnei r3, 0 + 49ea: 0c34 bf 0x4a52 // 4a52 + 49ec: 4681 lsli r4, r6, 1 + 49ee: 9860 ld.w r3, (r14, 0x0) + 49f0: 60d0 addu r3, r4 + 49f2: 8b00 ld.h r0, (r3, 0x0) + 49f4: e3ffe5d6 bsr 0x15a0 // 15a0 <__floatunsidf> + 49f8: 6cc7 mov r3, r1 + 49fa: 3180 movi r1, 128 + 49fc: 6c83 mov r2, r0 + 49fe: 4137 lsli r1, r1, 23 + 4a00: 3000 movi r0, 0 + 4a02: e3ffdbd9 bsr 0x1b4 // 1b4 <__GI_pow> + 4a06: 1167 lrw r3, 0x20000186 // 4aa0 + 4a08: 60d0 addu r3, r4 + 4a0a: 8b60 ld.h r3, (r3, 0x0) + 4a0c: 4364 lsli r3, r3, 4 + 4a0e: 230e addi r3, 15 + 4a10: b861 st.w r3, (r14, 0x4) + 4a12: e3ffe17f bsr 0xd10 // d10 <__fixunsdfsi> + 4a16: 9861 ld.w r3, (r14, 0x4) + 4a18: 7cc0 mult r3, r0 + 4a1a: 1143 lrw r2, 0x2000073a // 4aa4 + 4a1c: 740d zexth r0, r3 + 4a1e: 6090 addu r2, r4 + 4a20: 1162 lrw r3, 0x200007aa // 4aa8 + 4a22: 60d0 addu r3, r4 + 4a24: aa00 st.h r0, (r2, 0x0) + 4a26: 8b60 ld.h r3, (r3, 0x0) + 4a28: 8a00 ld.h r0, (r2, 0x0) + 4a2a: 7401 zexth r0, r0 + 4a2c: 325f movi r2, 95 + 4a2e: 74cd zexth r3, r3 + 4a30: 7c08 mult r0, r2 + 4a32: 3164 movi r1, 100 + 4a34: b861 st.w r3, (r14, 0x4) + 4a36: e3fff2b3 bsr 0x2f9c // 2f9c <__divsi3> + 4a3a: 9861 ld.w r3, (r14, 0x4) + 4a3c: 64c1 cmplt r0, r3 + 4a3e: 0c0a bf 0x4a52 // 4a52 + 4a40: 1075 lrw r3, 0x2000015a // 4a94 + 4a42: 610c addu r4, r3 + 4a44: 8c60 ld.h r3, (r4, 0x0) + 4a46: 3b06 cmphsi r3, 7 + 4a48: 0805 bt 0x4a52 // 4a52 + 4a4a: 2300 addi r3, 1 + 4a4c: ac60 st.h r3, (r4, 0x0) + 4a4e: 3301 movi r3, 1 + 4a50: a560 st.b r3, (r5, 0x0) + 4a52: 2600 addi r6, 1 + 4a54: 3e51 cmpnei r6, 17 + 4a56: 0bc5 bt 0x49e0 // 49e0 + 4a58: 07ac br 0x49b0 // 49b0 + 4a5a: 5d4c addu r2, r5, r3 + 4a5c: 8240 ld.b r2, (r2, 0x0) + 4a5e: 4241 lsli r2, r2, 1 + 4a60: 4322 lsli r1, r3, 2 + 4a62: 6098 addu r2, r6 + 4a64: 6050 addu r1, r4 + 4a66: 8a40 ld.h r2, (r2, 0x0) + 4a68: 91f2 ld.w r7, (r1, 0x48) + 4a6a: 4254 lsli r2, r2, 20 + 4a6c: 6c9c or r2, r7 + 4a6e: 2300 addi r3, 1 + 4a70: b152 st.w r2, (r1, 0x48) + 4a72: 74cc zextb r3, r3 + 4a74: 07ad br 0x49ce // 49ce + 4a76: 0000 bkpt + 4a78: 20000068 .long 0x20000068 + 4a7c: 2000067a .long 0x2000067a + 4a80: 2000017d .long 0x2000017d + 4a84: 20000585 .long 0x20000585 + 4a88: 20000058 .long 0x20000058 + 4a8c: 200006b4 .long 0x200006b4 + 4a90: 20000704 .long 0x20000704 + 4a94: 2000015a .long 0x2000015a + 4a98: 20000054 .long 0x20000054 + 4a9c: 20000180 .long 0x20000180 + 4aa0: 20000186 .long 0x20000186 + 4aa4: 2000073a .long 0x2000073a + 4aa8: 200007aa .long 0x200007aa + +Disassembly of section .text.TK_Baseline_tracking: + +00004aac : + 4aac: 14d4 push r4-r7, r15 + 4aae: 1421 subi r14, r14, 4 + 4ab0: 014a lrw r2, 0x200005f6 // 4e04 + 4ab2: 8260 ld.b r3, (r2, 0x0) + 4ab4: 2300 addi r3, 1 + 4ab6: 74cc zextb r3, r3 + 4ab8: a260 st.b r3, (r2, 0x0) + 4aba: 8260 ld.b r3, (r2, 0x0) + 4abc: 012c lrw r1, 0x2000017d // 4e08 + 4abe: 8120 ld.b r1, (r1, 0x0) + 4ac0: 644c cmphs r3, r1 + 4ac2: 0803 bt 0x4ac8 // 4ac8 + 4ac4: e800020f br 0x4ee2 // 4ee2 + 4ac8: 3300 movi r3, 0 + 4aca: a260 st.b r3, (r2, 0x0) + 4acc: 016f lrw r3, 0x200004f8 // 4e0c + 4ace: 9360 ld.w r3, (r3, 0x0) + 4ad0: 3b40 cmpnei r3, 0 + 4ad2: 0c03 bf 0x4ad8 // 4ad8 + 4ad4: e8000209 br 0x4ee6 // 4ee6 + 4ad8: 0171 lrw r3, 0x20000518 // 4e10 + 4ada: 0150 lrw r2, 0x200001aa // 4e14 + 4adc: 3100 movi r1, 0 + 4ade: b860 st.w r3, (r14, 0x0) + 4ae0: 6d0f mov r4, r3 + 4ae2: 0111 lrw r0, 0x20000458 // 4e18 + 4ae4: 4161 lsli r3, r1, 1 + 4ae6: 98a0 ld.w r5, (r14, 0x0) + 4ae8: 614c addu r5, r3 + 4aea: 8da0 ld.h r5, (r5, 0x0) + 4aec: 7557 sexth r5, r5 + 4aee: 3ddf btsti r5, 31 + 4af0: 0c1c bf 0x4b28 // 4b28 + 4af2: 01d4 lrw r6, 0x200007aa // 4e1c + 4af4: 58ac addu r5, r0, r3 + 4af6: 618c addu r6, r3 + 4af8: 8da0 ld.h r5, (r5, 0x0) + 4afa: 8ec0 ld.h r6, (r6, 0x0) + 4afc: 7599 zexth r6, r6 + 4afe: 7555 zexth r5, r5 + 4b00: 615a subu r5, r6 + 4b02: 8ac0 ld.h r6, (r2, 0x0) + 4b04: 6595 cmplt r5, r6 + 4b06: 0811 bt 0x4b28 // 4b28 + 4b08: 01b9 lrw r5, 0x200006bc // 4e20 + 4b0a: 6144 addu r5, r1 + 4b0c: 85c0 ld.b r6, (r5, 0x0) + 4b0e: 2600 addi r6, 1 + 4b10: 7598 zextb r6, r6 + 4b12: a5c0 st.b r6, (r5, 0x0) + 4b14: 01db lrw r6, 0x20000088 // 4e24 + 4b16: 85e0 ld.b r7, (r5, 0x0) + 4b18: 86ca ld.b r6, (r6, 0xa) + 4b1a: 65d8 cmphs r6, r7 + 4b1c: 0806 bt 0x4b28 // 4b28 + 4b1e: 01dc lrw r6, 0x20000564 // 4e28 + 4b20: 3701 movi r7, 1 + 4b22: a6e0 st.b r7, (r6, 0x0) + 4b24: 3600 movi r6, 0 + 4b26: a5c0 st.b r6, (r5, 0x0) + 4b28: 5cac addu r5, r4, r3 + 4b2a: 8da0 ld.h r5, (r5, 0x0) + 4b2c: 7557 sexth r5, r5 + 4b2e: 3d20 cmplti r5, 1 + 4b30: 081d bt 0x4b6a // 4b6a + 4b32: 02a4 lrw r5, 0x200007aa // 4e1c + 4b34: 614c addu r5, r3 + 4b36: 58cc addu r6, r0, r3 + 4b38: 8da0 ld.h r5, (r5, 0x0) + 4b3a: 8ec0 ld.h r6, (r6, 0x0) + 4b3c: 7599 zexth r6, r6 + 4b3e: 7555 zexth r5, r5 + 4b40: 615a subu r5, r6 + 4b42: 8ac0 ld.h r6, (r2, 0x0) + 4b44: 46c2 lsli r6, r6, 2 + 4b46: 6595 cmplt r5, r6 + 4b48: 0811 bt 0x4b6a // 4b6a + 4b4a: 02a6 lrw r5, 0x20000624 // 4e2c + 4b4c: 6144 addu r5, r1 + 4b4e: 85c0 ld.b r6, (r5, 0x0) + 4b50: 2600 addi r6, 1 + 4b52: 7598 zextb r6, r6 + 4b54: a5c0 st.b r6, (r5, 0x0) + 4b56: 02cb lrw r6, 0x20000088 // 4e24 + 4b58: 85e0 ld.b r7, (r5, 0x0) + 4b5a: 86cb ld.b r6, (r6, 0xb) + 4b5c: 65d8 cmphs r6, r7 + 4b5e: 0806 bt 0x4b6a // 4b6a + 4b60: 02cd lrw r6, 0x20000564 // 4e28 + 4b62: 3701 movi r7, 1 + 4b64: a6e0 st.b r7, (r6, 0x0) + 4b66: 3600 movi r6, 0 + 4b68: a5c0 st.b r6, (r5, 0x0) + 4b6a: 5cac addu r5, r4, r3 + 4b6c: 8da0 ld.h r5, (r5, 0x0) + 4b6e: 7557 sexth r5, r5 + 4b70: 3ddf btsti r5, 31 + 4b72: 0c10 bf 0x4b92 // 4b92 + 4b74: 02f5 lrw r7, 0x200007aa // 4e1c + 4b76: 58cc addu r6, r0, r3 + 4b78: 61cc addu r7, r3 + 4b7a: 8ea0 ld.h r5, (r6, 0x0) + 4b7c: 8fe0 ld.h r7, (r7, 0x0) + 4b7e: 75dd zexth r7, r7 + 4b80: 7555 zexth r5, r5 + 4b82: 615e subu r5, r7 + 4b84: 8ae0 ld.h r7, (r2, 0x0) + 4b86: 65d5 cmplt r5, r7 + 4b88: 0c05 bf 0x4b92 // 4b92 + 4b8a: 8ea0 ld.h r5, (r6, 0x0) + 4b8c: 2d00 subi r5, 1 + 4b8e: 7555 zexth r5, r5 + 4b90: aea0 st.h r5, (r6, 0x0) + 4b92: 5cac addu r5, r4, r3 + 4b94: 8da0 ld.h r5, (r5, 0x0) + 4b96: 7557 sexth r5, r5 + 4b98: 3ddf btsti r5, 31 + 4b9a: 0c11 bf 0x4bbc // 4bbc + 4b9c: 02ff lrw r7, 0x200007aa // 4e1c + 4b9e: 58cc addu r6, r0, r3 + 4ba0: 61cc addu r7, r3 + 4ba2: 8ea0 ld.h r5, (r6, 0x0) + 4ba4: 8fe0 ld.h r7, (r7, 0x0) + 4ba6: 75dd zexth r7, r7 + 4ba8: 7555 zexth r5, r5 + 4baa: 615e subu r5, r7 + 4bac: 8ae0 ld.h r7, (r2, 0x0) + 4bae: 4fe1 lsri r7, r7, 1 + 4bb0: 65d5 cmplt r5, r7 + 4bb2: 0805 bt 0x4bbc // 4bbc + 4bb4: 8ea0 ld.h r5, (r6, 0x0) + 4bb6: 2d01 subi r5, 2 + 4bb8: 7555 zexth r5, r5 + 4bba: aea0 st.h r5, (r6, 0x0) + 4bbc: 5ccc addu r6, r4, r3 + 4bbe: 8ea0 ld.h r5, (r6, 0x0) + 4bc0: 7557 sexth r5, r5 + 4bc2: 3d20 cmplti r5, 1 + 4bc4: 080c bt 0x4bdc // 4bdc + 4bc6: 8ec0 ld.h r6, (r6, 0x0) + 4bc8: 8aa0 ld.h r5, (r2, 0x0) + 4bca: 759b sexth r6, r6 + 4bcc: 4da1 lsri r5, r5, 1 + 4bce: 6559 cmplt r6, r5 + 4bd0: 0c06 bf 0x4bdc // 4bdc + 4bd2: 58cc addu r6, r0, r3 + 4bd4: 8ea0 ld.h r5, (r6, 0x0) + 4bd6: 2500 addi r5, 1 + 4bd8: 7555 zexth r5, r5 + 4bda: aea0 st.h r5, (r6, 0x0) + 4bdc: 5ccc addu r6, r4, r3 + 4bde: 8ea0 ld.h r5, (r6, 0x0) + 4be0: 7557 sexth r5, r5 + 4be2: 3d20 cmplti r5, 1 + 4be4: 0810 bt 0x4c04 // 4c04 + 4be6: 8ee0 ld.h r7, (r6, 0x0) + 4be8: 75df sexth r7, r7 + 4bea: 8aa0 ld.h r5, (r2, 0x0) + 4bec: 655d cmplt r7, r5 + 4bee: 0c0b bf 0x4c04 // 4c04 + 4bf0: 8ec0 ld.h r6, (r6, 0x0) + 4bf2: 759b sexth r6, r6 + 4bf4: 4da1 lsri r5, r5, 1 + 4bf6: 6559 cmplt r6, r5 + 4bf8: 0806 bt 0x4c04 // 4c04 + 4bfa: 60c0 addu r3, r0 + 4bfc: 8ba0 ld.h r5, (r3, 0x0) + 4bfe: 2501 addi r5, 2 + 4c00: 7555 zexth r5, r5 + 4c02: aba0 st.h r5, (r3, 0x0) + 4c04: 2100 addi r1, 1 + 4c06: 3951 cmpnei r1, 17 + 4c08: 2201 addi r2, 2 + 4c0a: 0b6d bt 0x4ae4 // 4ae4 + 4c0c: 0376 lrw r3, 0x2000048c // 4e30 + 4c0e: 9360 ld.w r3, (r3, 0x0) + 4c10: 3b40 cmpnei r3, 0 + 4c12: 0980 bt 0x4f12 // 4f12 + 4c14: 0377 lrw r3, 0x20000658 // 4e34 + 4c16: 035f lrw r2, 0x200001aa // 4e14 + 4c18: 3100 movi r1, 0 + 4c1a: b860 st.w r3, (r14, 0x0) + 4c1c: 6d0f mov r4, r3 + 4c1e: 0318 lrw r0, 0x20000602 // 4e38 + 4c20: 4161 lsli r3, r1, 1 + 4c22: 98a0 ld.w r5, (r14, 0x0) + 4c24: 614c addu r5, r3 + 4c26: 8da0 ld.h r5, (r5, 0x0) + 4c28: 7557 sexth r5, r5 + 4c2a: 3ddf btsti r5, 31 + 4c2c: 0c1c bf 0x4c64 // 4c64 + 4c2e: 03db lrw r6, 0x20000540 // 4e3c + 4c30: 58ac addu r5, r0, r3 + 4c32: 618c addu r6, r3 + 4c34: 8da0 ld.h r5, (r5, 0x0) + 4c36: 8ec0 ld.h r6, (r6, 0x0) + 4c38: 7599 zexth r6, r6 + 4c3a: 7555 zexth r5, r5 + 4c3c: 615a subu r5, r6 + 4c3e: 8ac0 ld.h r6, (r2, 0x0) + 4c40: 6595 cmplt r5, r6 + 4c42: 0811 bt 0x4c64 // 4c64 + 4c44: 13bf lrw r5, 0x2000069c // 4e40 + 4c46: 6144 addu r5, r1 + 4c48: 85c0 ld.b r6, (r5, 0x0) + 4c4a: 2600 addi r6, 1 + 4c4c: 7598 zextb r6, r6 + 4c4e: a5c0 st.b r6, (r5, 0x0) + 4c50: 13d5 lrw r6, 0x20000088 // 4e24 + 4c52: 85e0 ld.b r7, (r5, 0x0) + 4c54: 86ca ld.b r6, (r6, 0xa) + 4c56: 65d8 cmphs r6, r7 + 4c58: 0806 bt 0x4c64 // 4c64 + 4c5a: 13d4 lrw r6, 0x20000564 // 4e28 + 4c5c: 3701 movi r7, 1 + 4c5e: a6e1 st.b r7, (r6, 0x1) + 4c60: 3600 movi r6, 0 + 4c62: a5c0 st.b r6, (r5, 0x0) + 4c64: 5cac addu r5, r4, r3 + 4c66: 8da0 ld.h r5, (r5, 0x0) + 4c68: 7557 sexth r5, r5 + 4c6a: 3d20 cmplti r5, 1 + 4c6c: 081d bt 0x4ca6 // 4ca6 + 4c6e: 13b4 lrw r5, 0x20000540 // 4e3c + 4c70: 614c addu r5, r3 + 4c72: 58cc addu r6, r0, r3 + 4c74: 8da0 ld.h r5, (r5, 0x0) + 4c76: 8ec0 ld.h r6, (r6, 0x0) + 4c78: 7599 zexth r6, r6 + 4c7a: 7555 zexth r5, r5 + 4c7c: 615a subu r5, r6 + 4c7e: 8ac0 ld.h r6, (r2, 0x0) + 4c80: 46c2 lsli r6, r6, 2 + 4c82: 6595 cmplt r5, r6 + 4c84: 0811 bt 0x4ca6 // 4ca6 + 4c86: 13b0 lrw r5, 0x2000059e // 4e44 + 4c88: 6144 addu r5, r1 + 4c8a: 85c0 ld.b r6, (r5, 0x0) + 4c8c: 2600 addi r6, 1 + 4c8e: 7598 zextb r6, r6 + 4c90: a5c0 st.b r6, (r5, 0x0) + 4c92: 13c5 lrw r6, 0x20000088 // 4e24 + 4c94: 85e0 ld.b r7, (r5, 0x0) + 4c96: 86cb ld.b r6, (r6, 0xb) + 4c98: 65d8 cmphs r6, r7 + 4c9a: 0806 bt 0x4ca6 // 4ca6 + 4c9c: 13c3 lrw r6, 0x20000564 // 4e28 + 4c9e: 3701 movi r7, 1 + 4ca0: a6e1 st.b r7, (r6, 0x1) + 4ca2: 3600 movi r6, 0 + 4ca4: a5c0 st.b r6, (r5, 0x0) + 4ca6: 5cac addu r5, r4, r3 + 4ca8: 8da0 ld.h r5, (r5, 0x0) + 4caa: 7557 sexth r5, r5 + 4cac: 3ddf btsti r5, 31 + 4cae: 0c10 bf 0x4cce // 4cce + 4cb0: 13e3 lrw r7, 0x20000540 // 4e3c + 4cb2: 58cc addu r6, r0, r3 + 4cb4: 61cc addu r7, r3 + 4cb6: 8ea0 ld.h r5, (r6, 0x0) + 4cb8: 8fe0 ld.h r7, (r7, 0x0) + 4cba: 75dd zexth r7, r7 + 4cbc: 7555 zexth r5, r5 + 4cbe: 615e subu r5, r7 + 4cc0: 8ae0 ld.h r7, (r2, 0x0) + 4cc2: 65d5 cmplt r5, r7 + 4cc4: 0c05 bf 0x4cce // 4cce + 4cc6: 8ea0 ld.h r5, (r6, 0x0) + 4cc8: 2d00 subi r5, 1 + 4cca: 7555 zexth r5, r5 + 4ccc: aea0 st.h r5, (r6, 0x0) + 4cce: 5cac addu r5, r4, r3 + 4cd0: 8da0 ld.h r5, (r5, 0x0) + 4cd2: 7557 sexth r5, r5 + 4cd4: 3ddf btsti r5, 31 + 4cd6: 0c11 bf 0x4cf8 // 4cf8 + 4cd8: 12f9 lrw r7, 0x20000540 // 4e3c + 4cda: 58cc addu r6, r0, r3 + 4cdc: 61cc addu r7, r3 + 4cde: 8ea0 ld.h r5, (r6, 0x0) + 4ce0: 8fe0 ld.h r7, (r7, 0x0) + 4ce2: 75dd zexth r7, r7 + 4ce4: 7555 zexth r5, r5 + 4ce6: 615e subu r5, r7 + 4ce8: 8ae0 ld.h r7, (r2, 0x0) + 4cea: 4fe1 lsri r7, r7, 1 + 4cec: 65d5 cmplt r5, r7 + 4cee: 0805 bt 0x4cf8 // 4cf8 + 4cf0: 8ea0 ld.h r5, (r6, 0x0) + 4cf2: 2d01 subi r5, 2 + 4cf4: 7555 zexth r5, r5 + 4cf6: aea0 st.h r5, (r6, 0x0) + 4cf8: 5ccc addu r6, r4, r3 + 4cfa: 8ea0 ld.h r5, (r6, 0x0) + 4cfc: 7557 sexth r5, r5 + 4cfe: 3d20 cmplti r5, 1 + 4d00: 080c bt 0x4d18 // 4d18 + 4d02: 8ec0 ld.h r6, (r6, 0x0) + 4d04: 8aa0 ld.h r5, (r2, 0x0) + 4d06: 759b sexth r6, r6 + 4d08: 4da1 lsri r5, r5, 1 + 4d0a: 6559 cmplt r6, r5 + 4d0c: 0c06 bf 0x4d18 // 4d18 + 4d0e: 58cc addu r6, r0, r3 + 4d10: 8ea0 ld.h r5, (r6, 0x0) + 4d12: 2500 addi r5, 1 + 4d14: 7555 zexth r5, r5 + 4d16: aea0 st.h r5, (r6, 0x0) + 4d18: 5ccc addu r6, r4, r3 + 4d1a: 8ea0 ld.h r5, (r6, 0x0) + 4d1c: 7557 sexth r5, r5 + 4d1e: 3d20 cmplti r5, 1 + 4d20: 0810 bt 0x4d40 // 4d40 + 4d22: 8ee0 ld.h r7, (r6, 0x0) + 4d24: 75df sexth r7, r7 + 4d26: 8aa0 ld.h r5, (r2, 0x0) + 4d28: 655d cmplt r7, r5 + 4d2a: 0c0b bf 0x4d40 // 4d40 + 4d2c: 8ec0 ld.h r6, (r6, 0x0) + 4d2e: 759b sexth r6, r6 + 4d30: 4da1 lsri r5, r5, 1 + 4d32: 6559 cmplt r6, r5 + 4d34: 0806 bt 0x4d40 // 4d40 + 4d36: 60c0 addu r3, r0 + 4d38: 8ba0 ld.h r5, (r3, 0x0) + 4d3a: 2501 addi r5, 2 + 4d3c: 7555 zexth r5, r5 + 4d3e: aba0 st.h r5, (r3, 0x0) + 4d40: 2100 addi r1, 1 + 4d42: 3951 cmpnei r1, 17 + 4d44: 2201 addi r2, 2 + 4d46: 0b6d bt 0x4c20 // 4c20 + 4d48: 1260 lrw r3, 0x20000570 // 4e48 + 4d4a: 9360 ld.w r3, (r3, 0x0) + 4d4c: 3b40 cmpnei r3, 0 + 4d4e: 08f8 bt 0x4f3e // 4f3e + 4d50: 117f lrw r3, 0x20000784 // 4e4c + 4d52: 1151 lrw r2, 0x200001aa // 4e14 + 4d54: 3100 movi r1, 0 + 4d56: b860 st.w r3, (r14, 0x0) + 4d58: 6d0f mov r4, r3 + 4d5a: 111e lrw r0, 0x20000718 // 4e50 + 4d5c: 4161 lsli r3, r1, 1 + 4d5e: 98a0 ld.w r5, (r14, 0x0) + 4d60: 614c addu r5, r3 + 4d62: 8da0 ld.h r5, (r5, 0x0) + 4d64: 7557 sexth r5, r5 + 4d66: 3ddf btsti r5, 31 + 4d68: 0c1c bf 0x4da0 // 4da0 + 4d6a: 11db lrw r6, 0x20000636 // 4e54 + 4d6c: 58ac addu r5, r0, r3 + 4d6e: 618c addu r6, r3 + 4d70: 8da0 ld.h r5, (r5, 0x0) + 4d72: 8ec0 ld.h r6, (r6, 0x0) + 4d74: 7599 zexth r6, r6 + 4d76: 7555 zexth r5, r5 + 4d78: 615a subu r5, r6 + 4d7a: 8ac0 ld.h r6, (r2, 0x0) + 4d7c: 6595 cmplt r5, r6 + 4d7e: 0811 bt 0x4da0 // 4da0 + 4d80: 11b6 lrw r5, 0x2000058c // 4e58 + 4d82: 6144 addu r5, r1 + 4d84: 85c0 ld.b r6, (r5, 0x0) + 4d86: 2600 addi r6, 1 + 4d88: 7598 zextb r6, r6 + 4d8a: a5c0 st.b r6, (r5, 0x0) + 4d8c: 11c6 lrw r6, 0x20000088 // 4e24 + 4d8e: 85e0 ld.b r7, (r5, 0x0) + 4d90: 86ca ld.b r6, (r6, 0xa) + 4d92: 65d8 cmphs r6, r7 + 4d94: 0806 bt 0x4da0 // 4da0 + 4d96: 11c5 lrw r6, 0x20000564 // 4e28 + 4d98: 3701 movi r7, 1 + 4d9a: a6e2 st.b r7, (r6, 0x2) + 4d9c: 3600 movi r6, 0 + 4d9e: a5c0 st.b r6, (r5, 0x0) + 4da0: 5cac addu r5, r4, r3 + 4da2: 8da0 ld.h r5, (r5, 0x0) + 4da4: 7557 sexth r5, r5 + 4da6: 3d20 cmplti r5, 1 + 4da8: 081d bt 0x4de2 // 4de2 + 4daa: 11ab lrw r5, 0x20000636 // 4e54 + 4dac: 614c addu r5, r3 + 4dae: 58cc addu r6, r0, r3 + 4db0: 8da0 ld.h r5, (r5, 0x0) + 4db2: 8ec0 ld.h r6, (r6, 0x0) + 4db4: 7599 zexth r6, r6 + 4db6: 7555 zexth r5, r5 + 4db8: 615a subu r5, r6 + 4dba: 8ac0 ld.h r6, (r2, 0x0) + 4dbc: 46c2 lsli r6, r6, 2 + 4dbe: 6595 cmplt r5, r6 + 4dc0: 0811 bt 0x4de2 // 4de2 + 4dc2: 11a7 lrw r5, 0x2000047a // 4e5c + 4dc4: 6144 addu r5, r1 + 4dc6: 85c0 ld.b r6, (r5, 0x0) + 4dc8: 2600 addi r6, 1 + 4dca: 7598 zextb r6, r6 + 4dcc: a5c0 st.b r6, (r5, 0x0) + 4dce: 10d6 lrw r6, 0x20000088 // 4e24 + 4dd0: 85e0 ld.b r7, (r5, 0x0) + 4dd2: 86cb ld.b r6, (r6, 0xb) + 4dd4: 65d8 cmphs r6, r7 + 4dd6: 0806 bt 0x4de2 // 4de2 + 4dd8: 10d4 lrw r6, 0x20000564 // 4e28 + 4dda: 3701 movi r7, 1 + 4ddc: a6e2 st.b r7, (r6, 0x2) + 4dde: 3600 movi r6, 0 + 4de0: a5c0 st.b r6, (r5, 0x0) + 4de2: 5cac addu r5, r4, r3 + 4de4: 8da0 ld.h r5, (r5, 0x0) + 4de6: 7557 sexth r5, r5 + 4de8: 3ddf btsti r5, 31 + 4dea: 0c3f bf 0x4e68 // 4e68 + 4dec: 10fa lrw r7, 0x20000636 // 4e54 + 4dee: 58cc addu r6, r0, r3 + 4df0: 61cc addu r7, r3 + 4df2: 8ea0 ld.h r5, (r6, 0x0) + 4df4: 8fe0 ld.h r7, (r7, 0x0) + 4df6: 75dd zexth r7, r7 + 4df8: 7555 zexth r5, r5 + 4dfa: 615e subu r5, r7 + 4dfc: 8ae0 ld.h r7, (r2, 0x0) + 4dfe: 65d5 cmplt r5, r7 + 4e00: 0c34 bf 0x4e68 // 4e68 + 4e02: 042f br 0x4e60 // 4e60 + 4e04: 200005f6 .long 0x200005f6 + 4e08: 2000017d .long 0x2000017d + 4e0c: 200004f8 .long 0x200004f8 + 4e10: 20000518 .long 0x20000518 + 4e14: 200001aa .long 0x200001aa + 4e18: 20000458 .long 0x20000458 + 4e1c: 200007aa .long 0x200007aa + 4e20: 200006bc .long 0x200006bc + 4e24: 20000088 .long 0x20000088 + 4e28: 20000564 .long 0x20000564 + 4e2c: 20000624 .long 0x20000624 + 4e30: 2000048c .long 0x2000048c + 4e34: 20000658 .long 0x20000658 + 4e38: 20000602 .long 0x20000602 + 4e3c: 20000540 .long 0x20000540 + 4e40: 2000069c .long 0x2000069c + 4e44: 2000059e .long 0x2000059e + 4e48: 20000570 .long 0x20000570 + 4e4c: 20000784 .long 0x20000784 + 4e50: 20000718 .long 0x20000718 + 4e54: 20000636 .long 0x20000636 + 4e58: 2000058c .long 0x2000058c + 4e5c: 2000047a .long 0x2000047a + 4e60: 8ea0 ld.h r5, (r6, 0x0) + 4e62: 2d00 subi r5, 1 + 4e64: 7555 zexth r5, r5 + 4e66: aea0 st.h r5, (r6, 0x0) + 4e68: 5cac addu r5, r4, r3 + 4e6a: 8da0 ld.h r5, (r5, 0x0) + 4e6c: 7557 sexth r5, r5 + 4e6e: 3ddf btsti r5, 31 + 4e70: 0c11 bf 0x4e92 // 4e92 + 4e72: 11ff lrw r7, 0x20000636 // 4f6c + 4e74: 58cc addu r6, r0, r3 + 4e76: 61cc addu r7, r3 + 4e78: 8ea0 ld.h r5, (r6, 0x0) + 4e7a: 8fe0 ld.h r7, (r7, 0x0) + 4e7c: 75dd zexth r7, r7 + 4e7e: 7555 zexth r5, r5 + 4e80: 615e subu r5, r7 + 4e82: 8ae0 ld.h r7, (r2, 0x0) + 4e84: 4fe1 lsri r7, r7, 1 + 4e86: 65d5 cmplt r5, r7 + 4e88: 0805 bt 0x4e92 // 4e92 + 4e8a: 8ea0 ld.h r5, (r6, 0x0) + 4e8c: 2d01 subi r5, 2 + 4e8e: 7555 zexth r5, r5 + 4e90: aea0 st.h r5, (r6, 0x0) + 4e92: 5ccc addu r6, r4, r3 + 4e94: 8ea0 ld.h r5, (r6, 0x0) + 4e96: 7557 sexth r5, r5 + 4e98: 3d20 cmplti r5, 1 + 4e9a: 080c bt 0x4eb2 // 4eb2 + 4e9c: 8ec0 ld.h r6, (r6, 0x0) + 4e9e: 8aa0 ld.h r5, (r2, 0x0) + 4ea0: 759b sexth r6, r6 + 4ea2: 4da1 lsri r5, r5, 1 + 4ea4: 6559 cmplt r6, r5 + 4ea6: 0c06 bf 0x4eb2 // 4eb2 + 4ea8: 58cc addu r6, r0, r3 + 4eaa: 8ea0 ld.h r5, (r6, 0x0) + 4eac: 2500 addi r5, 1 + 4eae: 7555 zexth r5, r5 + 4eb0: aea0 st.h r5, (r6, 0x0) + 4eb2: 5ccc addu r6, r4, r3 + 4eb4: 8ea0 ld.h r5, (r6, 0x0) + 4eb6: 7557 sexth r5, r5 + 4eb8: 3d20 cmplti r5, 1 + 4eba: 0810 bt 0x4eda // 4eda + 4ebc: 8ee0 ld.h r7, (r6, 0x0) + 4ebe: 75df sexth r7, r7 + 4ec0: 8aa0 ld.h r5, (r2, 0x0) + 4ec2: 655d cmplt r7, r5 + 4ec4: 0c0b bf 0x4eda // 4eda + 4ec6: 8ec0 ld.h r6, (r6, 0x0) + 4ec8: 759b sexth r6, r6 + 4eca: 4da1 lsri r5, r5, 1 + 4ecc: 6559 cmplt r6, r5 + 4ece: 0806 bt 0x4eda // 4eda + 4ed0: 60c0 addu r3, r0 + 4ed2: 8ba0 ld.h r5, (r3, 0x0) + 4ed4: 2501 addi r5, 2 + 4ed6: 7555 zexth r5, r5 + 4ed8: aba0 st.h r5, (r3, 0x0) + 4eda: 2100 addi r1, 1 + 4edc: 3951 cmpnei r1, 17 + 4ede: 2201 addi r2, 2 + 4ee0: 0b3e bt 0x4d5c // 4d5c + 4ee2: 1401 addi r14, r14, 4 + 4ee4: 1494 pop r4-r7, r15 + 4ee6: e3fff8a7 bsr 0x4034 // 4034 + 4eea: 1162 lrw r3, 0x20000088 // 4f70 + 4eec: 836c ld.b r3, (r3, 0xc) + 4eee: 64c0 cmphs r0, r3 + 4ef0: 1141 lrw r2, 0x20000490 // 4f74 + 4ef2: 0c0e bf 0x4f0e // 4f0e + 4ef4: 8260 ld.b r3, (r2, 0x0) + 4ef6: 74cc zextb r3, r3 + 4ef8: 3b01 cmphsi r3, 2 + 4efa: 0c05 bf 0x4f04 // 4f04 + 4efc: 107f lrw r3, 0x20000564 // 4f78 + 4efe: 3201 movi r2, 1 + 4f00: a340 st.b r2, (r3, 0x0) + 4f02: 0685 br 0x4c0c // 4c0c + 4f04: 8260 ld.b r3, (r2, 0x0) + 4f06: 2300 addi r3, 1 + 4f08: 74cc zextb r3, r3 + 4f0a: a260 st.b r3, (r2, 0x0) + 4f0c: 0680 br 0x4c0c // 4c0c + 4f0e: 3300 movi r3, 0 + 4f10: 07fd br 0x4f0a // 4f0a + 4f12: e3fff8a5 bsr 0x405c // 405c + 4f16: 1077 lrw r3, 0x20000088 // 4f70 + 4f18: 836c ld.b r3, (r3, 0xc) + 4f1a: 64c0 cmphs r0, r3 + 4f1c: 1056 lrw r2, 0x20000490 // 4f74 + 4f1e: 0c0e bf 0x4f3a // 4f3a + 4f20: 8261 ld.b r3, (r2, 0x1) + 4f22: 74cc zextb r3, r3 + 4f24: 3b01 cmphsi r3, 2 + 4f26: 0c05 bf 0x4f30 // 4f30 + 4f28: 1074 lrw r3, 0x20000564 // 4f78 + 4f2a: 3201 movi r2, 1 + 4f2c: a341 st.b r2, (r3, 0x1) + 4f2e: 070d br 0x4d48 // 4d48 + 4f30: 8261 ld.b r3, (r2, 0x1) + 4f32: 2300 addi r3, 1 + 4f34: 74cc zextb r3, r3 + 4f36: a261 st.b r3, (r2, 0x1) + 4f38: 0708 br 0x4d48 // 4d48 + 4f3a: 3300 movi r3, 0 + 4f3c: 07fd br 0x4f36 // 4f36 + 4f3e: e3fff8a3 bsr 0x4084 // 4084 + 4f42: 106c lrw r3, 0x20000088 // 4f70 + 4f44: 836c ld.b r3, (r3, 0xc) + 4f46: 64c0 cmphs r0, r3 + 4f48: 104b lrw r2, 0x20000490 // 4f74 + 4f4a: 0c0e bf 0x4f66 // 4f66 + 4f4c: 8262 ld.b r3, (r2, 0x2) + 4f4e: 74cc zextb r3, r3 + 4f50: 3b01 cmphsi r3, 2 + 4f52: 0c05 bf 0x4f5c // 4f5c + 4f54: 1069 lrw r3, 0x20000564 // 4f78 + 4f56: 3201 movi r2, 1 + 4f58: a342 st.b r2, (r3, 0x2) + 4f5a: 07c4 br 0x4ee2 // 4ee2 + 4f5c: 8262 ld.b r3, (r2, 0x2) + 4f5e: 2300 addi r3, 1 + 4f60: 74cc zextb r3, r3 + 4f62: a262 st.b r3, (r2, 0x2) + 4f64: 07bf br 0x4ee2 // 4ee2 + 4f66: 3300 movi r3, 0 + 4f68: 07fd br 0x4f62 // 4f62 + 4f6a: 0000 bkpt + 4f6c: 20000636 .long 0x20000636 + 4f70: 20000088 .long 0x20000088 + 4f74: 20000490 .long 0x20000490 + 4f78: 20000564 .long 0x20000564 + +Disassembly of section .text.TK_result_prog: + +00004f7c : + 4f7c: 14d4 push r4-r7, r15 + 4f7e: 1424 subi r14, r14, 16 + 4f80: 111f lrw r0, 0x200004f8 // 507c + 4f82: 1220 lrw r1, 0x2000048c // 5080 + 4f84: 1240 lrw r2, 0x20000570 // 5084 + 4f86: b821 st.w r1, (r14, 0x4) + 4f88: 9060 ld.w r3, (r0, 0x0) + 4f8a: 91a0 ld.w r5, (r1, 0x0) + 4f8c: 6cd4 or r3, r5 + 4f8e: 9280 ld.w r4, (r2, 0x0) + 4f90: 6cd0 or r3, r4 + 4f92: 3b40 cmpnei r3, 0 + 4f94: b800 st.w r0, (r14, 0x0) + 4f96: b842 st.w r2, (r14, 0x8) + 4f98: 119c lrw r4, 0x200005f8 // 5088 + 4f9a: 0c67 bf 0x5068 // 5068 + 4f9c: 111c lrw r0, 0x200006d0 // 508c + 4f9e: 3500 movi r5, 0 + 4fa0: 117c lrw r3, 0x20000698 // 5090 + 4fa2: b803 st.w r0, (r14, 0xc) + 4fa4: 3201 movi r2, 1 + 4fa6: 7094 lsl r2, r5 + 4fa8: b040 st.w r2, (r0, 0x0) + 4faa: 9840 ld.w r2, (r14, 0x0) + 4fac: 9240 ld.w r2, (r2, 0x0) + 4fae: 9020 ld.w r1, (r0, 0x0) + 4fb0: 6884 and r2, r1 + 4fb2: b340 st.w r2, (r3, 0x0) + 4fb4: 9841 ld.w r2, (r14, 0x4) + 4fb6: 9240 ld.w r2, (r2, 0x0) + 4fb8: 9020 ld.w r1, (r0, 0x0) + 4fba: 6848 and r1, r2 + 4fbc: 1156 lrw r2, 0x2000075c // 5094 + 4fbe: b220 st.w r1, (r2, 0x0) + 4fc0: 9822 ld.w r1, (r14, 0x8) + 4fc2: 9120 ld.w r1, (r1, 0x0) + 4fc4: 90c0 ld.w r6, (r0, 0x0) + 4fc6: 6984 and r6, r1 + 4fc8: 1134 lrw r1, 0x200005fc // 5098 + 4fca: b1c0 st.w r6, (r1, 0x0) + 4fcc: 93e0 ld.w r7, (r3, 0x0) + 4fce: 92c0 ld.w r6, (r2, 0x0) + 4fd0: 659e cmpne r7, r6 + 4fd2: 0807 bt 0x4fe0 // 4fe0 + 4fd4: 92e0 ld.w r7, (r2, 0x0) + 4fd6: 91c0 ld.w r6, (r1, 0x0) + 4fd8: 659e cmpne r7, r6 + 4fda: 0803 bt 0x4fe0 // 4fe0 + 4fdc: 9340 ld.w r2, (r3, 0x0) + 4fde: 040c br 0x4ff6 // 4ff6 + 4fe0: 92c0 ld.w r6, (r2, 0x0) + 4fe2: 3e40 cmpnei r6, 0 + 4fe4: 0c29 bf 0x5036 // 5036 + 4fe6: 91c0 ld.w r6, (r1, 0x0) + 4fe8: 3e40 cmpnei r6, 0 + 4fea: 0c26 bf 0x5036 // 5036 + 4fec: 92e0 ld.w r7, (r2, 0x0) + 4fee: 91c0 ld.w r6, (r1, 0x0) + 4ff0: 659e cmpne r7, r6 + 4ff2: 0822 bt 0x5036 // 5036 + 4ff4: 9240 ld.w r2, (r2, 0x0) + 4ff6: 9420 ld.w r1, (r4, 0x0) + 4ff8: 6c84 or r2, r1 + 4ffa: 2500 addi r5, 1 + 4ffc: 3d51 cmpnei r5, 17 + 4ffe: b440 st.w r2, (r4, 0x0) + 5000: 0bd2 bt 0x4fa4 // 4fa4 + 5002: 9460 ld.w r3, (r4, 0x0) + 5004: 3b40 cmpnei r3, 0 + 5006: 1146 lrw r2, 0x20000700 // 509c + 5008: 0c32 bf 0x506c // 506c + 500a: 9420 ld.w r1, (r4, 0x0) + 500c: 9260 ld.w r3, (r2, 0x0) + 500e: 64c6 cmpne r1, r3 + 5010: 0c06 bf 0x501c // 501c + 5012: 9460 ld.w r3, (r4, 0x0) + 5014: b260 st.w r3, (r2, 0x0) + 5016: 3200 movi r2, 0 + 5018: 1162 lrw r3, 0x20000516 // 50a0 + 501a: a340 st.b r2, (r3, 0x0) + 501c: e3fff7f8 bsr 0x400c // 400c + 5020: 1161 lrw r3, 0x20000184 // 50a4 + 5022: 8360 ld.b r3, (r3, 0x0) + 5024: 640c cmphs r3, r0 + 5026: 0806 bt 0x5032 // 5032 + 5028: 3300 movi r3, 0 + 502a: b460 st.w r3, (r4, 0x0) + 502c: 3201 movi r2, 1 + 502e: 107d lrw r3, 0x20000516 // 50a0 + 5030: a340 st.b r2, (r3, 0x0) + 5032: 1404 addi r14, r14, 16 + 5034: 1494 pop r4-r7, r15 + 5036: 93c0 ld.w r6, (r3, 0x0) + 5038: 3e40 cmpnei r6, 0 + 503a: 0c08 bf 0x504a // 504a + 503c: 92c0 ld.w r6, (r2, 0x0) + 503e: 3e40 cmpnei r6, 0 + 5040: 0c05 bf 0x504a // 504a + 5042: 93c0 ld.w r6, (r3, 0x0) + 5044: 9240 ld.w r2, (r2, 0x0) + 5046: 649a cmpne r6, r2 + 5048: 0fca bf 0x4fdc // 4fdc + 504a: 9340 ld.w r2, (r3, 0x0) + 504c: 3a40 cmpnei r2, 0 + 504e: 0c08 bf 0x505e // 505e + 5050: 9140 ld.w r2, (r1, 0x0) + 5052: 3a40 cmpnei r2, 0 + 5054: 0c05 bf 0x505e // 505e + 5056: 9340 ld.w r2, (r3, 0x0) + 5058: 9120 ld.w r1, (r1, 0x0) + 505a: 644a cmpne r2, r1 + 505c: 0fc0 bf 0x4fdc // 4fdc + 505e: 9843 ld.w r2, (r14, 0xc) + 5060: 9220 ld.w r1, (r2, 0x0) + 5062: 9440 ld.w r2, (r4, 0x0) + 5064: 6885 andn r2, r1 + 5066: 07ca br 0x4ffa // 4ffa + 5068: b460 st.w r3, (r4, 0x0) + 506a: 07cc br 0x5002 // 5002 + 506c: b260 st.w r3, (r2, 0x0) + 506e: 3100 movi r1, 0 + 5070: 104c lrw r2, 0x20000516 // 50a0 + 5072: a220 st.b r1, (r2, 0x0) + 5074: 104d lrw r2, 0x200005f0 // 50a8 + 5076: b260 st.w r3, (r2, 0x0) + 5078: 07dd br 0x5032 // 5032 + 507a: 0000 bkpt + 507c: 200004f8 .long 0x200004f8 + 5080: 2000048c .long 0x2000048c + 5084: 20000570 .long 0x20000570 + 5088: 200005f8 .long 0x200005f8 + 508c: 200006d0 .long 0x200006d0 + 5090: 20000698 .long 0x20000698 + 5094: 2000075c .long 0x2000075c + 5098: 200005fc .long 0x200005fc + 509c: 20000700 .long 0x20000700 + 50a0: 20000516 .long 0x20000516 + 50a4: 20000184 .long 0x20000184 + 50a8: 200005f0 .long 0x200005f0 + +Disassembly of section .text.TKEYIntHandler: + +000050ac : + 50ac: 1460 nie + 50ae: 1462 ipush + 50b0: 14d1 push r4, r15 + 50b2: 1183 lrw r4, 0x20000068 // 513c + 50b4: 8460 ld.b r3, (r4, 0x0) + 50b6: 3b40 cmpnei r3, 0 + 50b8: 0815 bt 0x50e2 // 50e2 + 50ba: 3301 movi r3, 1 + 50bc: a460 st.b r3, (r4, 0x0) + 50be: 1161 lrw r3, 0x20000504 // 5140 + 50c0: 8360 ld.b r3, (r3, 0x0) + 50c2: 3b41 cmpnei r3, 1 + 50c4: 080f bt 0x50e2 // 50e2 + 50c6: 1140 lrw r2, 0x20000715 // 5144 + 50c8: 8260 ld.b r3, (r2, 0x0) + 50ca: 2300 addi r3, 1 + 50cc: 74cc zextb r3, r3 + 50ce: a260 st.b r3, (r2, 0x0) + 50d0: 8260 ld.b r3, (r2, 0x0) + 50d2: 3b43 cmpnei r3, 3 + 50d4: 0803 bt 0x50da // 50da + 50d6: 3300 movi r3, 0 + 50d8: a260 st.b r3, (r2, 0x0) + 50da: e3fff733 bsr 0x3f40 // 3f40 + 50de: 3301 movi r3, 1 + 50e0: a461 st.b r3, (r4, 0x1) + 50e2: 107a lrw r3, 0x20000058 // 5148 + 50e4: 3101 movi r1, 1 + 50e6: 9360 ld.w r3, (r3, 0x0) + 50e8: 934a ld.w r2, (r3, 0x28) + 50ea: 6884 and r2, r1 + 50ec: 3a40 cmpnei r2, 0 + 50ee: 0c02 bf 0x50f2 // 50f2 + 50f0: b32c st.w r1, (r3, 0x30) + 50f2: 934a ld.w r2, (r3, 0x28) + 50f4: 3102 movi r1, 2 + 50f6: 6884 and r2, r1 + 50f8: 3a40 cmpnei r2, 0 + 50fa: 0c02 bf 0x50fe // 50fe + 50fc: b32c st.w r1, (r3, 0x30) + 50fe: 934a ld.w r2, (r3, 0x28) + 5100: 3104 movi r1, 4 + 5102: 6884 and r2, r1 + 5104: 3a40 cmpnei r2, 0 + 5106: 0c02 bf 0x510a // 510a + 5108: b32c st.w r1, (r3, 0x30) + 510a: 934a ld.w r2, (r3, 0x28) + 510c: 3108 movi r1, 8 + 510e: 6884 and r2, r1 + 5110: 3a40 cmpnei r2, 0 + 5112: 0c02 bf 0x5116 // 5116 + 5114: b32c st.w r1, (r3, 0x30) + 5116: 934a ld.w r2, (r3, 0x28) + 5118: 3110 movi r1, 16 + 511a: 6884 and r2, r1 + 511c: 3a40 cmpnei r2, 0 + 511e: 0c02 bf 0x5122 // 5122 + 5120: b32c st.w r1, (r3, 0x30) + 5122: 934a ld.w r2, (r3, 0x28) + 5124: 3120 movi r1, 32 + 5126: 6884 and r2, r1 + 5128: 3a40 cmpnei r2, 0 + 512a: 0c02 bf 0x512e // 512e + 512c: b32c st.w r1, (r3, 0x30) + 512e: d9ee2001 ld.w r15, (r14, 0x4) + 5132: 9880 ld.w r4, (r14, 0x0) + 5134: 1402 addi r14, r14, 8 + 5136: 1463 ipop + 5138: 1461 nir + 513a: 0000 bkpt + 513c: 20000068 .long 0x20000068 + 5140: 20000504 .long 0x20000504 + 5144: 20000715 .long 0x20000715 + 5148: 20000058 .long 0x20000058 + +Disassembly of section .text.CORETHandler: + +0000514c : + 514c: 1460 nie + 514e: 1462 ipush + 5150: 14d3 push r4-r6, r15 + 5152: 1269 lrw r3, 0x20000064 // 5274 + 5154: 3400 movi r4, 0 + 5156: 9360 ld.w r3, (r3, 0x0) + 5158: b386 st.w r4, (r3, 0x18) + 515a: 1268 lrw r3, 0x20000504 // 5278 + 515c: 8360 ld.b r3, (r3, 0x0) + 515e: 3b41 cmpnei r3, 1 + 5160: 0840 bt 0x51e0 // 51e0 + 5162: e3fff7a5 bsr 0x40ac // 40ac + 5166: e3fff7d7 bsr 0x4114 // 4114 + 516a: e3fffc0d bsr 0x4984 // 4984 + 516e: e3fffc9f bsr 0x4aac // 4aac + 5172: e3fff653 bsr 0x3e18 // 3e18 + 5176: e3ffff03 bsr 0x4f7c // 4f7c + 517a: 1261 lrw r3, 0x200005f8 // 527c + 517c: 9360 ld.w r3, (r3, 0x0) + 517e: 3b40 cmpnei r3, 0 + 5180: 0c12 bf 0x51a4 // 51a4 + 5182: 1260 lrw r3, 0x20000154 // 5280 + 5184: 9340 ld.w r2, (r3, 0x0) + 5186: 3a40 cmpnei r2, 0 + 5188: 0c0e bf 0x51a4 // 51a4 + 518a: 117f lrw r3, 0x200005f0 // 5284 + 518c: 3064 movi r0, 100 + 518e: 9320 ld.w r1, (r3, 0x0) + 5190: 2100 addi r1, 1 + 5192: b320 st.w r1, (r3, 0x0) + 5194: 9320 ld.w r1, (r3, 0x0) + 5196: 7c80 mult r2, r0 + 5198: 6448 cmphs r2, r1 + 519a: 0805 bt 0x51a4 // 51a4 + 519c: 115b lrw r2, 0x2000059d // 5288 + 519e: 3101 movi r1, 1 + 51a0: a220 st.b r1, (r2, 0x0) + 51a2: b380 st.w r4, (r3, 0x0) + 51a4: 117a lrw r3, 0x2000014c // 528c + 51a6: 8340 ld.b r2, (r3, 0x0) + 51a8: 3a41 cmpnei r2, 1 + 51aa: 0823 bt 0x51f0 // 51f0 + 51ac: 1139 lrw r1, 0x200004f8 // 5290 + 51ae: 115a lrw r2, 0x2000048c // 5294 + 51b0: 9100 ld.w r0, (r1, 0x0) + 51b2: 9260 ld.w r3, (r2, 0x0) + 51b4: 64c2 cmpne r0, r3 + 51b6: 1179 lrw r3, 0x20000694 // 5298 + 51b8: 080a bt 0x51cc // 51cc + 51ba: 9280 ld.w r4, (r2, 0x0) + 51bc: 1158 lrw r2, 0x20000570 // 529c + 51be: 9200 ld.w r0, (r2, 0x0) + 51c0: 6412 cmpne r4, r0 + 51c2: 0805 bt 0x51cc // 51cc + 51c4: 9120 ld.w r1, (r1, 0x0) + 51c6: 9240 ld.w r2, (r2, 0x0) + 51c8: 6486 cmpne r1, r2 + 51ca: 0c09 bf 0x51dc // 51dc + 51cc: 9340 ld.w r2, (r3, 0x0) + 51ce: 2200 addi r2, 1 + 51d0: b340 st.w r2, (r3, 0x0) + 51d2: 1154 lrw r2, 0x20000088 // 52a0 + 51d4: 823c ld.b r1, (r2, 0x1c) + 51d6: 9340 ld.w r2, (r3, 0x0) + 51d8: 6484 cmphs r1, r2 + 51da: 0803 bt 0x51e0 // 51e0 + 51dc: 3200 movi r2, 0 + 51de: b340 st.w r2, (r3, 0x0) + 51e0: d9ee2003 ld.w r15, (r14, 0xc) + 51e4: 98c2 ld.w r6, (r14, 0x8) + 51e6: 98a1 ld.w r5, (r14, 0x4) + 51e8: 9880 ld.w r4, (r14, 0x0) + 51ea: 1404 addi r14, r14, 16 + 51ec: 1463 ipop + 51ee: 1461 nir + 51f0: 83a0 ld.b r5, (r3, 0x0) + 51f2: 7554 zextb r5, r5 + 51f4: 3d40 cmpnei r5, 0 + 51f6: 0bf5 bt 0x51e0 // 51e0 + 51f8: 1166 lrw r3, 0x200004f8 // 5290 + 51fa: 1147 lrw r2, 0x2000048c // 5294 + 51fc: 9300 ld.w r0, (r3, 0x0) + 51fe: 9220 ld.w r1, (r2, 0x0) + 5200: 6442 cmpne r0, r1 + 5202: 1127 lrw r1, 0x20000570 // 529c + 5204: 1105 lrw r0, 0x20000694 // 5298 + 5206: 0c33 bf 0x526c // 526c + 5208: 92c0 ld.w r6, (r2, 0x0) + 520a: 9180 ld.w r4, (r1, 0x0) + 520c: 651a cmpne r6, r4 + 520e: 0c2f bf 0x526c // 526c + 5210: 93c0 ld.w r6, (r3, 0x0) + 5212: 9180 ld.w r4, (r1, 0x0) + 5214: 651a cmpne r6, r4 + 5216: 0c2b bf 0x526c // 526c + 5218: 9080 ld.w r4, (r0, 0x0) + 521a: 2400 addi r4, 1 + 521c: b080 st.w r4, (r0, 0x0) + 521e: 1181 lrw r4, 0x20000088 // 52a0 + 5220: 84dc ld.b r6, (r4, 0x1c) + 5222: 9080 ld.w r4, (r0, 0x0) + 5224: 6518 cmphs r6, r4 + 5226: 0802 bt 0x522a // 522a + 5228: b0a0 st.w r5, (r0, 0x0) + 522a: 9380 ld.w r4, (r3, 0x0) + 522c: 9200 ld.w r0, (r2, 0x0) + 522e: 6412 cmpne r4, r0 + 5230: 101d lrw r0, 0x200006d4 // 52a4 + 5232: 0c04 bf 0x523a // 523a + 5234: 9180 ld.w r4, (r1, 0x0) + 5236: 3c40 cmpnei r4, 0 + 5238: 0c0f bf 0x5256 // 5256 + 523a: 93a0 ld.w r5, (r3, 0x0) + 523c: 9180 ld.w r4, (r1, 0x0) + 523e: 6516 cmpne r5, r4 + 5240: 0c04 bf 0x5248 // 5248 + 5242: 9280 ld.w r4, (r2, 0x0) + 5244: 3c40 cmpnei r4, 0 + 5246: 0c08 bf 0x5256 // 5256 + 5248: 9120 ld.w r1, (r1, 0x0) + 524a: 9240 ld.w r2, (r2, 0x0) + 524c: 6486 cmpne r1, r2 + 524e: 0c0c bf 0x5266 // 5266 + 5250: 9360 ld.w r3, (r3, 0x0) + 5252: 3b40 cmpnei r3, 0 + 5254: 0809 bt 0x5266 // 5266 + 5256: 9060 ld.w r3, (r0, 0x0) + 5258: 2300 addi r3, 1 + 525a: b060 st.w r3, (r0, 0x0) + 525c: 1071 lrw r3, 0x20000088 // 52a0 + 525e: 835c ld.b r2, (r3, 0x1c) + 5260: 9060 ld.w r3, (r0, 0x0) + 5262: 64c8 cmphs r2, r3 + 5264: 0bbe bt 0x51e0 // 51e0 + 5266: 3300 movi r3, 0 + 5268: b060 st.w r3, (r0, 0x0) + 526a: 07bb br 0x51e0 // 51e0 + 526c: 3400 movi r4, 0 + 526e: b080 st.w r4, (r0, 0x0) + 5270: 07dd br 0x522a // 522a + 5272: 0000 bkpt + 5274: 20000064 .long 0x20000064 + 5278: 20000504 .long 0x20000504 + 527c: 200005f8 .long 0x200005f8 + 5280: 20000154 .long 0x20000154 + 5284: 200005f0 .long 0x200005f0 + 5288: 2000059d .long 0x2000059d + 528c: 2000014c .long 0x2000014c + 5290: 200004f8 .long 0x200004f8 + 5294: 2000048c .long 0x2000048c + 5298: 20000694 .long 0x20000694 + 529c: 20000570 .long 0x20000570 + 52a0: 20000088 .long 0x20000088 + 52a4: 200006d4 .long 0x200006d4 + +Disassembly of section .text.std_clk_calib: + +000052a8 : + 52a8: 14d4 push r4-r7, r15 + 52aa: 142d subi r14, r14, 52 + 52ac: 3201 movi r2, 1 + 52ae: 03ce lrw r6, 0x2000005c // 54f0 + 52b0: 6cc3 mov r3, r0 + 52b2: dc4e000a st.b r2, (r14, 0xa) + 52b6: 9640 ld.w r2, (r6, 0x0) + 52b8: 9247 ld.w r2, (r2, 0x1c) + 52ba: 7488 zextb r2, r2 + 52bc: dc4e0009 st.b r2, (r14, 0x9) + 52c0: d84e0009 ld.b r2, (r14, 0x9) + 52c4: 3a40 cmpnei r2, 0 + 52c6: 0c08 bf 0x52d6 // 52d6 + 52c8: d84e0009 ld.b r2, (r14, 0x9) + 52cc: 3a42 cmpnei r2, 2 + 52ce: 0c04 bf 0x52d6 // 52d6 + 52d0: 3000 movi r0, 0 + 52d2: 140d addi r14, r14, 52 + 52d4: 1494 pop r4-r7, r15 + 52d6: 0397 lrw r4, 0x2000000c // 54f4 + 52d8: 3209 movi r2, 9 + 52da: 9400 ld.w r0, (r4, 0x0) + 52dc: 3b40 cmpnei r3, 0 + 52de: b041 st.w r2, (r0, 0x4) + 52e0: 0857 bt 0x538e // 538e + 52e2: 3307 movi r3, 7 + 52e4: dc6e000b st.b r3, (r14, 0xb) + 52e8: 037b lrw r3, 0x2dc6c00 // 54f8 + 52ea: b863 st.w r3, (r14, 0xc) + 52ec: 3380 movi r3, 128 + 52ee: 4362 lsli r3, r3, 2 + 52f0: b867 st.w r3, (r14, 0x1c) + 52f2: d86e000b ld.b r3, (r14, 0xb) + 52f6: 74cc zextb r3, r3 + 52f8: b062 st.w r3, (r0, 0x8) + 52fa: 037e lrw r3, 0xffff // 54fc + 52fc: b063 st.w r3, (r0, 0xc) + 52fe: 3201 movi r2, 1 + 5300: 3101 movi r1, 1 + 5302: 03bf lrw r5, 0x20000014 // 5500 + 5304: e3ffe746 bsr 0x2190 // 2190 + 5308: 95e0 ld.w r7, (r5, 0x0) + 530a: 137f lrw r3, 0xbe9c0005 // 5504 + 530c: b760 st.w r3, (r7, 0x0) + 530e: 135f lrw r2, 0x30010 // 5508 + 5310: 3300 movi r3, 0 + 5312: b762 st.w r3, (r7, 0x8) + 5314: b743 st.w r2, (r7, 0xc) + 5316: 32d8 movi r2, 216 + 5318: b745 st.w r2, (r7, 0x14) + 531a: 974f ld.w r2, (r7, 0x3c) + 531c: 3aa2 bseti r2, 2 + 531e: b74f st.w r2, (r7, 0x3c) + 5320: 9803 ld.w r0, (r14, 0xc) + 5322: d82e000b ld.b r1, (r14, 0xb) + 5326: 327d movi r2, 125 + 5328: 2100 addi r1, 1 + 532a: 7c48 mult r1, r2 + 532c: b861 st.w r3, (r14, 0x4) + 532e: e3ffee49 bsr 0x2fc0 // 2fc0 <__udivsi3> + 5332: b804 st.w r0, (r14, 0x10) + 5334: 32fa movi r2, 250 + 5336: 9824 ld.w r1, (r14, 0x10) + 5338: 4242 lsli r2, r2, 2 + 533a: 6448 cmphs r2, r1 + 533c: 0bca bt 0x52d0 // 52d0 + 533e: 9844 ld.w r2, (r14, 0x10) + 5340: 3178 movi r1, 120 + 5342: 9804 ld.w r0, (r14, 0x10) + 5344: b840 st.w r2, (r14, 0x0) + 5346: e3ffee3d bsr 0x2fc0 // 2fc0 <__udivsi3> + 534a: 9840 ld.w r2, (r14, 0x0) + 534c: 6082 subu r2, r0 + 534e: b845 st.w r2, (r14, 0x14) + 5350: 9804 ld.w r0, (r14, 0x10) + 5352: 3178 movi r1, 120 + 5354: 9844 ld.w r2, (r14, 0x10) + 5356: b840 st.w r2, (r14, 0x0) + 5358: e3ffee34 bsr 0x2fc0 // 2fc0 <__udivsi3> + 535c: 9840 ld.w r2, (r14, 0x0) + 535e: 6008 addu r0, r2 + 5360: b806 st.w r0, (r14, 0x18) + 5362: c0807020 psrclr ie + 5366: 9640 ld.w r2, (r6, 0x0) + 5368: 9254 ld.w r2, (r2, 0x50) + 536a: b848 st.w r2, (r14, 0x20) + 536c: 9861 ld.w r3, (r14, 0x4) + 536e: 9440 ld.w r2, (r4, 0x0) + 5370: b260 st.w r3, (r2, 0x0) + 5372: b761 st.w r3, (r7, 0x4) + 5374: d86e000a ld.b r3, (r14, 0xa) + 5378: 3b40 cmpnei r3, 0 + 537a: 083e bt 0x53f6 // 53f6 + 537c: e3ffe6bc bsr 0x20f4 // 20f4 + 5380: 9400 ld.w r0, (r4, 0x0) + 5382: e3ffe6dd bsr 0x213c // 213c + 5386: c1807420 psrset ee, ie + 538a: 3001 movi r0, 1 + 538c: 07a3 br 0x52d2 // 52d2 + 538e: 3b41 cmpnei r3, 1 + 5390: 0806 bt 0x539c // 539c + 5392: 3303 movi r3, 3 + 5394: dc6e000b st.b r3, (r14, 0xb) + 5398: 127d lrw r3, 0x16e3600 // 550c + 539a: 07a8 br 0x52ea // 52ea + 539c: 3b42 cmpnei r3, 2 + 539e: 0806 bt 0x53aa // 53aa + 53a0: 3301 movi r3, 1 + 53a2: dc6e000b st.b r3, (r14, 0xb) + 53a6: 127b lrw r3, 0xb71b00 // 5510 + 53a8: 07a1 br 0x52ea // 52ea + 53aa: 3b43 cmpnei r3, 3 + 53ac: 0806 bt 0x53b8 // 53b8 + 53ae: 3300 movi r3, 0 + 53b0: dc6e000b st.b r3, (r14, 0xb) + 53b4: 1278 lrw r3, 0x5b8d80 // 5514 + 53b6: 079a br 0x52ea // 52ea + 53b8: 3b44 cmpnei r3, 4 + 53ba: 0809 bt 0x53cc // 53cc + 53bc: 3300 movi r3, 0 + 53be: dc6e000b st.b r3, (r14, 0xb) + 53c2: 1276 lrw r3, 0x54c720 // 5518 + 53c4: b863 st.w r3, (r14, 0xc) + 53c6: 3380 movi r3, 128 + 53c8: 4369 lsli r3, r3, 9 + 53ca: 0793 br 0x52f0 // 52f0 + 53cc: 3b45 cmpnei r3, 5 + 53ce: 0806 bt 0x53da // 53da + 53d0: 3300 movi r3, 0 + 53d2: dc6e000b st.b r3, (r14, 0xb) + 53d6: 1272 lrw r3, 0x3ffed0 // 551c + 53d8: 07f6 br 0x53c4 // 53c4 + 53da: 3b46 cmpnei r3, 6 + 53dc: 0806 bt 0x53e8 // 53e8 + 53de: 3300 movi r3, 0 + 53e0: dc6e000b st.b r3, (r14, 0xb) + 53e4: 126f lrw r3, 0x1fff68 // 5520 + 53e6: 07ef br 0x53c4 // 53c4 + 53e8: 3b47 cmpnei r3, 7 + 53ea: 0b84 bt 0x52f2 // 52f2 + 53ec: 3300 movi r3, 0 + 53ee: dc6e000b st.b r3, (r14, 0xb) + 53f2: 126d lrw r3, 0x1ffb8 // 5524 + 53f4: 07e8 br 0x53c4 // 53c4 + 53f6: 9560 ld.w r3, (r5, 0x0) + 53f8: 3101 movi r1, 1 + 53fa: 9440 ld.w r2, (r4, 0x0) + 53fc: b321 st.w r1, (r3, 0x4) + 53fe: b220 st.w r1, (r2, 0x0) + 5400: 3100 movi r1, 0 + 5402: b327 st.w r1, (r3, 0x1c) + 5404: 3004 movi r0, 4 + 5406: b225 st.w r1, (r2, 0x14) + 5408: 932e ld.w r1, (r3, 0x38) + 540a: 6840 and r1, r0 + 540c: 3940 cmpnei r1, 0 + 540e: 0ffd bf 0x5408 // 5408 + 5410: 9225 ld.w r1, (r2, 0x14) + 5412: b82a st.w r1, (r14, 0x28) + 5414: 3100 movi r1, 0 + 5416: b310 st.w r0, (r3, 0x40) + 5418: b327 st.w r1, (r3, 0x1c) + 541a: 3004 movi r0, 4 + 541c: b225 st.w r1, (r2, 0x14) + 541e: 932e ld.w r1, (r3, 0x38) + 5420: 6840 and r1, r0 + 5422: 3940 cmpnei r1, 0 + 5424: 0ffd bf 0x541e // 541e + 5426: 9225 ld.w r1, (r2, 0x14) + 5428: b82b st.w r1, (r14, 0x2c) + 542a: 3100 movi r1, 0 + 542c: b310 st.w r0, (r3, 0x40) + 542e: b327 st.w r1, (r3, 0x1c) + 5430: 3004 movi r0, 4 + 5432: b225 st.w r1, (r2, 0x14) + 5434: 932e ld.w r1, (r3, 0x38) + 5436: 6840 and r1, r0 + 5438: 3940 cmpnei r1, 0 + 543a: 0ffd bf 0x5434 // 5434 + 543c: 9225 ld.w r1, (r2, 0x14) + 543e: b82c st.w r1, (r14, 0x30) + 5440: b310 st.w r0, (r3, 0x40) + 5442: 982b ld.w r1, (r14, 0x2c) + 5444: 980c ld.w r0, (r14, 0x30) + 5446: 6040 addu r1, r0 + 5448: b829 st.w r1, (r14, 0x24) + 544a: 9829 ld.w r1, (r14, 0x24) + 544c: 4921 lsri r1, r1, 1 + 544e: b829 st.w r1, (r14, 0x24) + 5450: 3100 movi r1, 0 + 5452: b321 st.w r1, (r3, 0x4) + 5454: b220 st.w r1, (r2, 0x0) + 5456: b327 st.w r1, (r3, 0x1c) + 5458: b225 st.w r1, (r2, 0x14) + 545a: d86e0009 ld.b r3, (r14, 0x9) + 545e: 3b42 cmpnei r3, 2 + 5460: 9849 ld.w r2, (r14, 0x24) + 5462: 082c bt 0x54ba // 54ba + 5464: 1171 lrw r3, 0x7ff // 5528 + 5466: 648c cmphs r3, r2 + 5468: 0c03 bf 0x546e // 546e + 546a: 3300 movi r3, 0 + 546c: 040f br 0x548a // 548a + 546e: 9849 ld.w r2, (r14, 0x24) + 5470: 9866 ld.w r3, (r14, 0x18) + 5472: 648c cmphs r3, r2 + 5474: 080e bt 0x5490 // 5490 + 5476: 9868 ld.w r3, (r14, 0x20) + 5478: 9847 ld.w r2, (r14, 0x1c) + 547a: 60ca subu r3, r2 + 547c: b868 st.w r3, (r14, 0x20) + 547e: 32fe movi r2, 254 + 5480: 9868 ld.w r3, (r14, 0x20) + 5482: 4248 lsli r2, r2, 8 + 5484: 68c8 and r3, r2 + 5486: 3b40 cmpnei r3, 0 + 5488: 0812 bt 0x54ac // 54ac + 548a: dc6e000a st.b r3, (r14, 0xa) + 548e: 0721 br 0x52d0 // 52d0 + 5490: 9849 ld.w r2, (r14, 0x24) + 5492: 9865 ld.w r3, (r14, 0x14) + 5494: 64c8 cmphs r2, r3 + 5496: 0829 bt 0x54e8 // 54e8 + 5498: 9868 ld.w r3, (r14, 0x20) + 549a: 9847 ld.w r2, (r14, 0x1c) + 549c: 60c8 addu r3, r2 + 549e: b868 st.w r3, (r14, 0x20) + 54a0: 33fe movi r3, 254 + 54a2: 9848 ld.w r2, (r14, 0x20) + 54a4: 4368 lsli r3, r3, 8 + 54a6: 688c and r2, r3 + 54a8: 64ca cmpne r2, r3 + 54aa: 0fe0 bf 0x546a // 546a + 54ac: 9660 ld.w r3, (r6, 0x0) + 54ae: 9848 ld.w r2, (r14, 0x20) + 54b0: b354 st.w r2, (r3, 0x50) + 54b2: 3001 movi r0, 1 + 54b4: e3ffe792 bsr 0x23d8 // 23d8 + 54b8: 075e br 0x5374 // 5374 + 54ba: 9866 ld.w r3, (r14, 0x18) + 54bc: 648c cmphs r3, r2 + 54be: 0809 bt 0x54d0 // 54d0 + 54c0: 9868 ld.w r3, (r14, 0x20) + 54c2: 9847 ld.w r2, (r14, 0x1c) + 54c4: 60ca subu r3, r2 + 54c6: b868 st.w r3, (r14, 0x20) + 54c8: 32ff movi r2, 255 + 54ca: 9868 ld.w r3, (r14, 0x20) + 54cc: 4250 lsli r2, r2, 16 + 54ce: 07db br 0x5484 // 5484 + 54d0: 9849 ld.w r2, (r14, 0x24) + 54d2: 9865 ld.w r3, (r14, 0x14) + 54d4: 64c8 cmphs r2, r3 + 54d6: 0809 bt 0x54e8 // 54e8 + 54d8: 9868 ld.w r3, (r14, 0x20) + 54da: 9847 ld.w r2, (r14, 0x1c) + 54dc: 60c8 addu r3, r2 + 54de: b868 st.w r3, (r14, 0x20) + 54e0: 33ff movi r3, 255 + 54e2: 9848 ld.w r2, (r14, 0x20) + 54e4: 4370 lsli r3, r3, 16 + 54e6: 07e0 br 0x54a6 // 54a6 + 54e8: 3300 movi r3, 0 + 54ea: dc6e000a st.b r3, (r14, 0xa) + 54ee: 07e2 br 0x54b2 // 54b2 + 54f0: 2000005c .long 0x2000005c + 54f4: 2000000c .long 0x2000000c + 54f8: 02dc6c00 .long 0x02dc6c00 + 54fc: 0000ffff .long 0x0000ffff + 5500: 20000014 .long 0x20000014 + 5504: be9c0005 .long 0xbe9c0005 + 5508: 00030010 .long 0x00030010 + 550c: 016e3600 .long 0x016e3600 + 5510: 00b71b00 .long 0x00b71b00 + 5514: 005b8d80 .long 0x005b8d80 + 5518: 0054c720 .long 0x0054c720 + 551c: 003ffed0 .long 0x003ffed0 + 5520: 001fff68 .long 0x001fff68 + 5524: 0001ffb8 .long 0x0001ffb8 + 5528: 000007ff .long 0x000007ff diff --git a/Source/Lst/T1_TC_ZH_V02.map b/Source/Lst/T1_TC_ZH_V02.map new file mode 100644 index 0000000..111b2c6 --- /dev/null +++ b/Source/Lst/T1_TC_ZH_V02.map @@ -0,0 +1,2281 @@ +ELF Header: + Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 + Class: ELF32 + Data: 2's complement, little endian + Version: 1 (current) + OS/ABI: UNIX - System V + ABI Version: 0 + Type: EXEC (Executable file) + Machine: CSKY + Version: 0x1 + Entry point address: 0x10c + Start of program headers: 52 (bytes into file) + Start of section headers: 345880 (bytes into file) + Flags: 0x21000000 + Size of this header: 52 (bytes) + Size of program headers: 32 (bytes) + Number of program headers: 2 + Size of section headers: 40 (bytes) + Number of section headers: 159 + Section header string table index: 156 + +Section Headers: + [Nr] Name Type Addr Off Size ES Flg Lk Inf Al + [ 0] NULL 00000000 000000 000000 00 0 0 0 + [ 1] .text PROGBITS 00000000 001000 001a50 00 AX 0 0 1024 + [ 2] .text.__main PROGBITS 00001a50 002a50 000038 00 AX 0 0 4 + [ 3] .text.SYSCON_Gene PROGBITS 00001a88 002a88 000074 00 AX 0 0 4 + [ 4] .text.SYSCON_RST_ PROGBITS 00001afc 002afc 00004c 00 AX 0 0 4 + [ 5] .text.SYSCON_Gene PROGBITS 00001b48 002b48 000030 00 AX 0 0 4 + [ 6] .text.SystemCLK_H PROGBITS 00001b78 002b78 000088 00 AX 0 0 4 + [ 7] .text.SYSCON_HFOS PROGBITS 00001c00 002c00 000028 00 AX 0 0 4 + [ 8] .text.SYSCON_WDT_ PROGBITS 00001c28 002c28 00003c 00 AX 0 0 4 + [ 9] .text.SYSCON_IWDC PROGBITS 00001c64 002c64 000014 00 AX 0 0 4 + [10] .text.SYSCON_IWDC PROGBITS 00001c78 002c78 000018 00 AX 0 0 4 + [11] .text.SYSCON_LVD_ PROGBITS 00001c90 002c90 000020 00 AX 0 0 4 + [12] .text.LVD_Int_Ena PROGBITS 00001cb0 002cb0 00001c 00 AX 0 0 4 + [13] .text.IWDT_Int_En PROGBITS 00001ccc 002ccc 00001c 00 AX 0 0 4 + [14] .text.EXTI_trigge PROGBITS 00001ce8 002ce8 000040 00 AX 0 0 4 + [15] .text.EXTI_interr PROGBITS 00001d28 002d28 000034 00 AX 0 0 4 + [16] .text.GPIO_EXTI_i PROGBITS 00001d5c 002d5c 000004 00 AX 0 0 2 + [17] .text.EXI3_Int_En PROGBITS 00001d60 002d60 000010 00 AX 0 0 4 + [18] .text.SYSCON_Int_ PROGBITS 00001d70 002d70 00000c 00 AX 0 0 4 + [19] .text.SYSCON_Int_ PROGBITS 00001d7c 002d7c 00000c 00 AX 0 0 4 + [20] .text.SYSCON_INT_ PROGBITS 00001d88 002d88 000024 00 AX 0 0 4 + [21] .text.Set_INT_Pri PROGBITS 00001dac 002dac 000030 00 AX 0 0 4 + [22] .text.GPIO_DeInit PROGBITS 00001ddc 002ddc 000064 00 AX 0 0 4 + [23] .text.GPIO_Init PROGBITS 00001e40 002e40 0000e0 00 AX 0 0 4 + [24] .text.GPIO_PullHi PROGBITS 00001f20 002f20 000014 00 AX 0 0 2 + [25] .text.GPIO_DriveS PROGBITS 00001f34 002f34 00000e 00 AX 0 0 2 + [26] .text.GPIO_IntGro PROGBITS 00001f44 002f44 00010c 00 AX 0 0 4 + [27] .text.GPIOB0_EXI_ PROGBITS 00002050 003050 00006c 00 AX 0 0 4 + [28] .text.GPIO_Write_ PROGBITS 000020bc 0030bc 000008 00 AX 0 0 2 + [29] .text.GPIO_Write_ PROGBITS 000020c4 0030c4 000008 00 AX 0 0 2 + [30] .text.GPIO_Revers PROGBITS 000020cc 0030cc 000016 00 AX 0 0 2 + [31] .text.GPIO_Read_S PROGBITS 000020e2 0030e2 000010 00 AX 0 0 2 + [32] .text.LPT_Soft_Re PROGBITS 000020f4 0030f4 000014 00 AX 0 0 4 + [33] .text.WWDT_CNT_Lo PROGBITS 00002108 003108 000010 00 AX 0 0 4 + [34] .text.BT_DeInit PROGBITS 00002118 003118 00001c 00 AX 0 0 2 + [35] .text.BT_Start PROGBITS 00002134 003134 000008 00 AX 0 0 2 + [36] .text.BT_Soft_Res PROGBITS 0000213c 00313c 00000a 00 AX 0 0 2 + [37] .text.BT_Configur PROGBITS 00002146 003146 000018 00 AX 0 0 2 + [38] .text.BT_ControlS PROGBITS 0000215e 00315e 00002c 00 AX 0 0 2 + [39] .text.BT_Period_C PROGBITS 0000218a 00318a 000006 00 AX 0 0 2 + [40] .text.BT_ConfigIn PROGBITS 00002190 003190 000012 00 AX 0 0 2 + [41] .text.BT1_INT_ENA PROGBITS 000021a4 0031a4 000010 00 AX 0 0 4 + [42] .text.UART0_DeIni PROGBITS 000021b4 0031b4 000018 00 AX 0 0 4 + [43] .text.UART1_DeIni PROGBITS 000021cc 0031cc 000018 00 AX 0 0 4 + [44] .text.UART2_DeIni PROGBITS 000021e4 0031e4 000018 00 AX 0 0 4 + [45] .text.UART1_Int_E PROGBITS 000021fc 0031fc 00001c 00 AX 0 0 4 + [46] .text.UART2_Int_E PROGBITS 00002218 003218 00001c 00 AX 0 0 4 + [47] .text.UART_IO_Ini PROGBITS 00002234 003234 0000ec 00 AX 0 0 4 + [48] .text.UARTInitRxT PROGBITS 00002320 003320 000010 00 AX 0 0 4 + [49] .text.UARTTransmi PROGBITS 00002330 003330 00001e 00 AX 0 0 2 + [50] .text.EPT_Stop PROGBITS 00002350 003350 000028 00 AX 0 0 4 + [51] .text.ReadDataArr PROGBITS 00002378 003378 00002a 00 AX 0 0 2 + [52] .text.startup.mai PROGBITS 000023a4 0033a4 000034 00 AX 0 0 4 + [53] .text.delay_nms PROGBITS 000023d8 0033d8 00002c 00 AX 0 0 2 + [54] .text.delay_nus PROGBITS 00002404 003404 000022 00 AX 0 0 2 + [55] .text.BT_CONFIG PROGBITS 00002428 003428 000060 00 AX 0 0 4 + [56] .text.SYSCON_CONF PROGBITS 00002488 003488 000062 00 AX 0 0 2 + [57] .text.APT32F102_i PROGBITS 000024ec 0034ec 000094 00 AX 0 0 4 + [58] .text.SYSCONIntHa PROGBITS 00002580 003580 0000f0 00 AX 0 0 4 + [59] .text.IFCIntHandl PROGBITS 00002670 003670 000068 00 AX 0 0 4 + [60] .text.ADCIntHandl PROGBITS 000026d8 0036d8 000068 00 AX 0 0 4 + [61] .text.EPT0IntHand PROGBITS 00002740 003740 0001ac 00 AX 0 0 4 + [62] .text.WWDTHandler PROGBITS 000028ec 0038ec 000034 00 AX 0 0 4 + [63] .text.GPT0IntHand PROGBITS 00002920 003920 000080 00 AX 0 0 4 + [64] .text.RTCIntHandl PROGBITS 000029a0 0039a0 000070 00 AX 0 0 4 + [65] .text.UART0IntHan PROGBITS 00002a10 003a10 000060 00 AX 0 0 4 + [66] .text.UART1IntHan PROGBITS 00002a70 003a70 000094 00 AX 0 0 4 + [67] .text.UART2IntHan PROGBITS 00002b04 003b04 000094 00 AX 0 0 4 + [68] .text.SPI0IntHand PROGBITS 00002b98 003b98 0000e8 00 AX 0 0 4 + [69] .text.SIO0IntHand PROGBITS 00002c80 003c80 000054 00 AX 0 0 4 + [70] .text.EXI0IntHand PROGBITS 00002cd4 003cd4 000030 00 AX 0 0 4 + [71] .text.EXI1IntHand PROGBITS 00002d04 003d04 000030 00 AX 0 0 4 + [72] .text.EXI2to3IntH PROGBITS 00002d34 003d34 000048 00 AX 0 0 4 + [73] .text.EXI4to9IntH PROGBITS 00002d7c 003d7c 00006c 00 AX 0 0 4 + [74] .text.EXI10to15In PROGBITS 00002de8 003de8 000060 00 AX 0 0 4 + [75] .text.LPTIntHandl PROGBITS 00002e48 003e48 000034 00 AX 0 0 4 + [76] .text.BT0IntHandl PROGBITS 00002e7c 003e7c 00004c 00 AX 0 0 4 + [77] .text.BT1IntHandl PROGBITS 00002ec8 003ec8 000070 00 AX 0 0 4 + [78] .text.PriviledgeV PROGBITS 00002f38 003f38 000002 00 AX 0 0 2 + [79] .text.PendTrapHan PROGBITS 00002f3a 003f3a 000008 00 AX 0 0 2 + [80] .text.Trap3Handle PROGBITS 00002f42 003f42 000008 00 AX 0 0 2 + [81] .text.Trap2Handle PROGBITS 00002f4a 003f4a 000008 00 AX 0 0 2 + [82] .text.Trap1Handle PROGBITS 00002f52 003f52 000008 00 AX 0 0 2 + [83] .text.Trap0Handle PROGBITS 00002f5a 003f5a 000008 00 AX 0 0 2 + [84] .text.UnrecExecpH PROGBITS 00002f62 003f62 000008 00 AX 0 0 2 + [85] .text.BreakPointH PROGBITS 00002f6a 003f6a 000008 00 AX 0 0 2 + [86] .text.AccessErrHa PROGBITS 00002f72 003f72 000008 00 AX 0 0 2 + [87] .text.IllegalInst PROGBITS 00002f7a 003f7a 000008 00 AX 0 0 2 + [88] .text.MisalignedH PROGBITS 00002f82 003f82 000008 00 AX 0 0 2 + [89] .text.CNTAIntHand PROGBITS 00002f8a 003f8a 000008 00 AX 0 0 2 + [90] .text.I2CIntHandl PROGBITS 00002f92 003f92 000008 00 AX 0 0 2 + [91] .text.__divsi3 PROGBITS 00002f9c 003f9c 000024 00 AX 0 0 4 + [92] .text.__udivsi3 PROGBITS 00002fc0 003fc0 000024 00 AX 0 0 4 + [93] .text.__umodsi3 PROGBITS 00002fe4 003fe4 000024 00 AX 0 0 4 + [94] .text.CK_CPU_EnAl PROGBITS 00003008 004008 000006 00 AX 0 0 2 + [95] .text.CK_CPU_DisA PROGBITS 0000300e 00400e 000006 00 AX 0 0 2 + [96] .text.UARTx_Init PROGBITS 00003014 004014 000158 00 AX 0 0 4 + [97] .text.UART0_RecvI PROGBITS 0000316c 00416c 000038 00 AX 0 0 4 + [98] .text.UART1_RecvI PROGBITS 000031a4 0041a4 000038 00 AX 0 0 4 + [99] .text.UART1_TASK PROGBITS 000031dc 0041dc 00006c 00 AX 0 0 4 + [100] .text.UART2_RecvI PROGBITS 00003248 004248 000044 00 AX 0 0 4 + [101] .text.UART2_TASK PROGBITS 0000328c 00428c 000078 00 AX 0 0 4 + [102] .text.Controller4 PROGBITS 00003304 004304 0000a8 00 AX 0 0 4 + [103] .text.BUS485_Send PROGBITS 000033ac 0043ac 0000c4 00 AX 0 0 4 + [104] .text.MultSend_Ta PROGBITS 00003470 004470 000074 00 AX 0 0 4 + [105] .text.Set_GroupSe PROGBITS 000034e4 0044e4 000064 00 AX 0 0 4 + [106] .text.BUS485Send_ PROGBITS 00003548 004548 000034 00 AX 0 0 4 + [107] .text.BusIdle_Tas PROGBITS 0000357c 00457c 000040 00 AX 0 0 4 + [108] .text.BusBusy_Tas PROGBITS 000035bc 0045bc 00005c 00 AX 0 0 4 + [109] .text.Dbg_Println PROGBITS 00003618 004618 00000c 00 AX 0 0 2 + [110] .text.EEPROM_Chec PROGBITS 00003624 004624 000016 00 AX 0 0 2 + [111] .text.EEPROM_Read PROGBITS 0000363c 00463c 000074 00 AX 0 0 4 + [112] .text.EEPROM_Vali PROGBITS 000036b0 0046b0 000030 00 AX 0 0 4 + [113] .text.EEPROM_Defa PROGBITS 000036e0 0046e0 000020 00 AX 0 0 2 + [114] .text.EEPROM_Init PROGBITS 00003700 004700 000054 00 AX 0 0 4 + [115] .text.TemCtrl_Ini PROGBITS 00003754 004754 000154 00 AX 0 0 4 + [116] .text.Ctrller_Ctr PROGBITS 000038a8 0048a8 0000b0 00 AX 0 0 4 + [117] .text.TemCtrl_Pro PROGBITS 00003958 004958 0000b0 00 AX 0 0 4 + [118] .text.Ctrller_Ctr PROGBITS 00003a08 004a08 000020 00 AX 0 0 4 + [119] .text.Ctrller_Rec PROGBITS 00003a28 004a28 0000a8 00 AX 0 0 4 + [120] .text.NetCRC16_Ch PROGBITS 00003ad0 004ad0 00004c 00 AX 0 0 4 + [121] .text.GetCRC16 PROGBITS 00003b1c 004b1c 00003c 00 AX 0 0 4 + [122] .text.Rs485AskCtr PROGBITS 00003b58 004b58 00005c 00 AX 0 0 4 + [123] .text.IrSend_Rs48 PROGBITS 00003bb4 004bb4 00010c 00 AX 0 0 4 + [124] .text.DIP_GetSwit PROGBITS 00003cc0 004cc0 000034 00 AX 0 0 4 + [125] .text.DIP_Switch_ PROGBITS 00003cf4 004cf4 00008c 00 AX 0 0 4 + [126] .text.DIP_ScanTas PROGBITS 00003d80 004d80 000098 00 AX 0 0 4 + [127] .text.TK_Single_L PROGBITS 00003e18 004e18 000128 00 AX 0 0 4 + [128] .text.TK_Sampling PROGBITS 00003f40 004f40 0000cc 00 AX 0 0 4 + [129] .text.get_key_num PROGBITS 0000400c 00500c 000028 00 AX 0 0 4 + [130] .text.get_key_num PROGBITS 00004034 005034 000028 00 AX 0 0 4 + [131] .text.get_key_num PROGBITS 0000405c 00505c 000028 00 AX 0 0 4 + [132] .text.get_key_num PROGBITS 00004084 005084 000028 00 AX 0 0 4 + [133] .text.TK_Scan_Sta PROGBITS 000040ac 0050ac 000068 00 AX 0 0 4 + [134] .text.TK_Keymap_p PROGBITS 00004114 005114 000870 00 AX 0 0 4 + [135] .text.TK_overflow PROGBITS 00004984 005984 000128 00 AX 0 0 4 + [136] .text.TK_Baseline PROGBITS 00004aac 005aac 0004d0 00 AX 0 0 4 + [137] .text.TK_result_p PROGBITS 00004f7c 005f7c 000130 00 AX 0 0 4 + [138] .text.TKEYIntHand PROGBITS 000050ac 0060ac 0000a0 00 AX 0 0 4 + [139] .text.CORETHandle PROGBITS 0000514c 00614c 00015c 00 AX 0 0 4 + [140] .text.std_clk_cal PROGBITS 000052a8 0062a8 000284 00 AX 0 0 4 + [141] .RomCode PROGBITS 0000552c 0070a8 000000 00 W 0 0 1 + [142] .rodata PROGBITS 0000552c 00652c 000240 00 A 0 0 4 + [143] .data PROGBITS 20000000 007000 0000a8 00 WA 0 0 4 + [144] .bss NOBITS 200000a8 0070a8 000728 00 WA 0 0 4 + [145] .csky.attributes CSKY_ATTRIBUTES 00000000 0070a8 000022 00 0 0 1 + [146] .comment PROGBITS 00000000 0070ca 000042 01 MS 0 0 1 + [147] .csky_stack_size PROGBITS 00000000 007110 0008bc 00 0 0 16 + [148] .debug_line PROGBITS 00000000 0079cc 003f5e 00 0 0 1 + [149] .debug_info PROGBITS 00000000 00b92a 031736 00 0 0 1 + [150] .debug_abbrev PROGBITS 00000000 03d060 002cfe 00 0 0 1 + [151] .debug_aranges PROGBITS 00000000 03fd60 000c90 00 0 0 8 + [152] .debug_ranges PROGBITS 00000000 0409f0 000b78 00 0 0 1 + [153] .debug_str PROGBITS 00000000 041568 008b4d 01 MS 0 0 1 + [154] .debug_frame PROGBITS 00000000 04a0b8 001d7c 00 0 0 4 + [155] .debug_loc PROGBITS 00000000 04be34 0026c8 00 0 0 1 + [156] .shstrtab STRTAB 00000000 053a35 000ce3 00 0 0 1 + [157] .symtab SYMTAB 00000000 04e4fc 003f50 10 158 668 4 + [158] .strtab STRTAB 00000000 05244c 0015e9 00 0 0 1 +Key to Flags: + W (write), A (alloc), X (execute), M (merge), S (strings), I (info), + L (link order), O (extra OS processing required), G (group), T (TLS), + C (compressed), x (unknown), o (OS specific), E (exclude), + p (processor specific) + +Program Headers: + Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align + LOAD 0x001000 0x00000000 0x00000000 0x0576c 0x0576c R E 0x1000 + LOAD 0x007000 0x20000000 0x0000576c 0x000a8 0x007d0 RW 0x1000 + + Section to Segment mapping: + Segment Sections... + 00 .text .text.__main .text.SYSCON_General_CMD.part.0 .text.SYSCON_RST_VALUE .text.SYSCON_General_CMD .text.SystemCLK_HCLKDIV_PCLKDIV_Config .text.SYSCON_HFOSC_SELECTE .text.SYSCON_WDT_CMD .text.SYSCON_IWDCNT_Reload .text.SYSCON_IWDCNT_Config .text.SYSCON_LVD_Config .text.LVD_Int_Enable .text.IWDT_Int_Enable .text.EXTI_trigger_CMD .text.EXTI_interrupt_CMD .text.GPIO_EXTI_interrupt .text.EXI3_Int_Enable .text.SYSCON_Int_Enable .text.SYSCON_Int_Disable .text.SYSCON_INT_Priority .text.Set_INT_Priority .text.GPIO_DeInit .text.GPIO_Init .text.GPIO_PullHigh_Init .text.GPIO_DriveStrength_EN .text.GPIO_IntGroup_Set .text.GPIOB0_EXI_Init .text.GPIO_Write_High .text.GPIO_Write_Low .text.GPIO_Reverse .text.GPIO_Read_Status .text.LPT_Soft_Reset .text.WWDT_CNT_Load .text.BT_DeInit .text.BT_Start .text.BT_Soft_Reset .text.BT_Configure .text.BT_ControlSet_Configure .text.BT_Period_CMP_Write .text.BT_ConfigInterrupt_CMD .text.BT1_INT_ENABLE .text.UART0_DeInit .text.UART1_DeInit .text.UART2_DeInit .text.UART1_Int_Enable .text.UART2_Int_Enable .text.UART_IO_Init .text.UARTInitRxTxIntEn .text.UARTTransmit .text.EPT_Stop .text.ReadDataArry_U8 .text.startup.main .text.delay_nms .text.delay_nus .text.BT_CONFIG .text.SYSCON_CONFIG .text.APT32F102_init .text.SYSCONIntHandler .text.IFCIntHandler .text.ADCIntHandler .text.EPT0IntHandler .text.WWDTHandler .text.GPT0IntHandler .text.RTCIntHandler .text.UART0IntHandler .text.UART1IntHandler .text.UART2IntHandler .text.SPI0IntHandler .text.SIO0IntHandler .text.EXI0IntHandler .text.EXI1IntHandler .text.EXI2to3IntHandler .text.EXI4to9IntHandler .text.EXI10to15IntHandler .text.LPTIntHandler .text.BT0IntHandler .text.BT1IntHandler .text.PriviledgeVioHandler .text.PendTrapHandler .text.Trap3Handler .text.Trap2Handler .text.Trap1Handler .text.Trap0Handler .text.UnrecExecpHandler .text.BreakPointHandler .text.AccessErrHandler .text.IllegalInstrHandler .text.MisalignedHandler .text.CNTAIntHandler .text.I2CIntHandler .text.__divsi3 .text.__udivsi3 .text.__umodsi3 .text.CK_CPU_EnAllNormalIrq .text.CK_CPU_DisAllNormalIrq .text.UARTx_Init .text.UART0_RecvINT_Processing .text.UART1_RecvINT_Processing .text.UART1_TASK .text.UART2_RecvINT_Processing .text.UART2_TASK .text.Controller485_SendData .text.BUS485_Send .text.MultSend_Task .text.Set_GroupSend .text.BUS485Send_Task .text.BusIdle_Task .text.BusBusy_Task .text.Dbg_Println .text.EEPROM_CheckSum .text.EEPROM_ReadParaInfo .text.EEPROM_Validate_ParaInfo .text.EEPROM_Default_ParaInfo .text.EEPROM_Init .text.TemCtrl_Init .text.Ctrller_Ctrl_AirState .text.TemCtrl_Pro .text.Ctrller_CtrlAirState_Processing .text.Ctrller_RecData_Processing .text.NetCRC16_Check .text.GetCRC16 .text.Rs485AskCtrlSend .text.IrSend_Rs485_Pro .text.DIP_GetSwitchState .text.DIP_Switch_Init .text.DIP_ScanTask .text.TK_Single_Longpress_prg .text.TK_Sampling_prog .text.get_key_number .text.get_key_number0 .text.get_key_number1 .text.get_key_number2 .text.TK_Scan_Start .text.TK_Keymap_prog .text.TK_overflow_predict .text.TK_Baseline_tracking .text.TK_result_prog .text.TKEYIntHandler .text.CORETHandler .text.std_clk_calib .rodata + 01 .data .bss +====================================================================== +Csky GNU Linker + +====================================================================== + +Section Cross References + + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_Int_Enable) for SYSCON_Int_Enable + Obj/SYSTEM_uart.o(.text.UART1_TASK) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_Int_Enable) for SYSCON_Int_Enable + Obj/SYSTEM_uart.o(.text.UART2_TASK) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_Int_Enable) for SYSCON_Int_Enable + Obj/SYSTEM_uart.o(.text.UART1_TASK) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_Int_Disable) for SYSCON_Int_Disable + Obj/SYSTEM_uart.o(.text.UART2_TASK) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_Int_Disable) for SYSCON_Int_Disable + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_INT_Priority) for SYSCON_INT_Priority + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/FWlib_apt32f102_syscon.o(.text.Set_INT_Priority) for Set_INT_Priority + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_RST_VALUE) for SYSCON_RST_VALUE + Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_HFOSC_SELECTE) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_General_CMD) for SYSCON_General_CMD + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_General_CMD) for SYSCON_General_CMD + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SystemCLK_HCLKDIV_PCLKDIV_Config) for SystemCLK_HCLKDIV_PCLKDIV_Config + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_HFOSC_SELECTE) for SYSCON_HFOSC_SELECTE + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_WDT_CMD) for SYSCON_WDT_CMD + Obj/main.o(.text.startup.main) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_IWDCNT_Reload) for SYSCON_IWDCNT_Reload + Obj/mcu_initial.o(.text.delay_nms) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_IWDCNT_Reload) for SYSCON_IWDCNT_Reload + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_IWDCNT_Reload) for SYSCON_IWDCNT_Reload + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_IWDCNT_Config) for SYSCON_IWDCNT_Config + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_LVD_Config) for SYSCON_LVD_Config + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.LVD_Int_Enable) for LVD_Int_Enable + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.IWDT_Int_Enable) for IWDT_Int_Enable + Obj/mcu_interrupt.o(.text.EPT0IntHandler) refers to Obj/FWlib_apt32f102_syscon.o(.text.EXTI_trigger_CMD) for EXTI_trigger_CMD + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_syscon.o(.text.EXTI_trigger_CMD) for EXTI_trigger_CMD + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_syscon.o(.text.EXTI_interrupt_CMD) for EXTI_interrupt_CMD + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_syscon.o(.text.GPIO_EXTI_interrupt) for GPIO_EXTI_interrupt + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_syscon.o(.text.EXI3_Int_Enable) for EXI3_Int_Enable + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_DeInit) for GPIO_DeInit + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Init) for GPIO_Init + Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Init) for GPIO_Init + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_PullHigh_Init) for GPIO_PullHigh_Init + Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_PullHigh_Init) for GPIO_PullHigh_Init + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_DriveStrength_EN) for GPIO_DriveStrength_EN + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_IntGroup_Set) for GPIO_IntGroup_Set + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIOB0_EXI_Init) for GPIOB0_EXI_Init + Obj/SYSTEM_uart.o(.text.Controller485_SendData) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Write_High) for GPIO_Write_High + Obj/SYSTEM_uart.o(.text.BUS485_Send) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Write_High) for GPIO_Write_High + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Write_Low) for GPIO_Write_Low + Obj/SYSTEM_uart.o(.text.Controller485_SendData) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Write_Low) for GPIO_Write_Low + Obj/SYSTEM_uart.o(.text.BUS485_Send) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Write_Low) for GPIO_Write_Low + Obj/SYSTEM_uart.o(.text.Controller485_SendData) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Reverse) for GPIO_Reverse + Obj/SYSTEM_uart.o(.text.BUS485_Send) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Reverse) for GPIO_Reverse + Obj/SYSTEM_uart.o(.text.BusBusy_Task) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Read_Status) for GPIO_Read_Status + Obj/SYSTEM_dip_switch.o(.text.DIP_GetSwitchState) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Read_Status) for GPIO_Read_Status + FWlib_apt32f102_clkcalib.o(.text.std_clk_calib) refers to Obj/FWlib_apt32f102_lpt.o(.text.LPT_Soft_Reset) for LPT_Soft_Reset + Obj/mcu_interrupt.o(.text.WWDTHandler) refers to Obj/FWlib_apt32f102_wwdt.o(.text.WWDT_CNT_Load) for WWDT_CNT_Load + Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT1_INT_ENABLE) for BT1_INT_ENABLE + Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_DeInit) for BT_DeInit + Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_Start) for BT_Start + FWlib_apt32f102_clkcalib.o(.text.std_clk_calib) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_Soft_Reset) for BT_Soft_Reset + Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_Configure) for BT_Configure + Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_ControlSet_Configure) for BT_ControlSet_Configure + Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_Period_CMP_Write) for BT_Period_CMP_Write + Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_ConfigInterrupt_CMD) for BT_ConfigInterrupt_CMD + FWlib_apt32f102_clkcalib.o(.text.std_clk_calib) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_ConfigInterrupt_CMD) for BT_ConfigInterrupt_CMD + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_uart.o(.text.UART0_DeInit) for UART0_DeInit + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_uart.o(.text.UART1_DeInit) for UART1_DeInit + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_uart.o(.text.UART2_DeInit) for UART2_DeInit + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_uart.o(.text.UART1_Int_Enable) for UART1_Int_Enable + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_uart.o(.text.UART2_Int_Enable) for UART2_Int_Enable + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_uart.o(.text.UART_IO_Init) for UART_IO_Init + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_uart.o(.text.UARTInitRxTxIntEn) for UARTInitRxTxIntEn + Obj/SYSTEM_uart.o(.text.Controller485_SendData) refers to Obj/FWlib_apt32f102_uart.o(.text.UARTTransmit) for UARTTransmit + Obj/SYSTEM_uart.o(.text.BUS485_Send) refers to Obj/FWlib_apt32f102_uart.o(.text.UARTTransmit) for UARTTransmit + Obj/mcu_interrupt.o(.text.EPT0IntHandler) refers to Obj/FWlib_apt32f102_ept.o(.text.EPT_Stop) for EPT_Stop + Obj/SYSTEM_eeprom.o(.text.EEPROM_ReadParaInfo) refers to Obj/FWlib_apt32f102_ifc.o(.text.ReadDataArry_U8) for ReadDataArry_U8 + Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) refers to Obj/mcu_initial.o(.text.delay_nms) for delay_nms + Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) refers to Obj/mcu_initial.o(.text.delay_nms) for delay_nms + FWlib_apt32f102_clkcalib.o(.text.std_clk_calib) refers to Obj/mcu_initial.o(.text.delay_nms) for delay_nms + Obj/SYSTEM_uart.o(.text.Controller485_SendData) refers to Obj/mcu_initial.o(.text.delay_nus) for delay_nus + Obj/SYSTEM_uart.o(.text.BUS485_Send) refers to Obj/mcu_initial.o(.text.delay_nus) for delay_nus + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/mcu_initial.o(.text.BT_CONFIG) for BT_CONFIG + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/mcu_initial.o(.text.SYSCON_CONFIG) for SYSCON_CONFIG + Obj/main.o(.text.startup.main) refers to Obj/mcu_initial.o(.text.APT32F102_init) for APT32F102_init + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Keymap_prog) refers to Obj/drivers_apt32f102.o(.text.__divsi3) for __divsi3 + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_overflow_predict) refers to Obj/drivers_apt32f102.o(.text.__divsi3) for __divsi3 + FWlib_apt32f102_clkcalib.o(.text.std_clk_calib) refers to Obj/drivers_apt32f102.o(.text.__udivsi3) for __udivsi3 + Obj/SYSTEM_uart.o(.text.BusBusy_Task) refers to Obj/drivers_apt32f102.o(.text.__umodsi3) for __umodsi3 + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_EnAllNormalIrq) for CK_CPU_EnAllNormalIrq + Obj/SYSTEM_uart.o(.text.Controller485_SendData) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_EnAllNormalIrq) for CK_CPU_EnAllNormalIrq + Obj/SYSTEM_uart.o(.text.BUS485_Send) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_EnAllNormalIrq) for CK_CPU_EnAllNormalIrq + Obj/SYSTEM_uart.o(.text.BusIdle_Task) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_EnAllNormalIrq) for CK_CPU_EnAllNormalIrq + Obj/SYSTEM_uart.o(.text.BusBusy_Task) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_EnAllNormalIrq) for CK_CPU_EnAllNormalIrq + Obj/SYSTEM_uart.o(.text.Controller485_SendData) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_DisAllNormalIrq) for CK_CPU_DisAllNormalIrq + Obj/SYSTEM_uart.o(.text.BUS485_Send) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_DisAllNormalIrq) for CK_CPU_DisAllNormalIrq + Obj/SYSTEM_uart.o(.text.BusIdle_Task) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_DisAllNormalIrq) for CK_CPU_DisAllNormalIrq + Obj/SYSTEM_uart.o(.text.BusBusy_Task) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_DisAllNormalIrq) for CK_CPU_DisAllNormalIrq + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/SYSTEM_uart.o(.text.UARTx_Init) for UARTx_Init + Obj/mcu_interrupt.o(.text.UART0IntHandler) refers to Obj/SYSTEM_uart.o(.text.UART0_RecvINT_Processing) for UART0_RecvINT_Processing + Obj/mcu_interrupt.o(.text.UART1IntHandler) refers to Obj/SYSTEM_uart.o(.text.UART1_RecvINT_Processing) for UART1_RecvINT_Processing + Obj/main.o(.text.startup.main) refers to Obj/SYSTEM_uart.o(.text.UART1_TASK) for UART1_TASK + Obj/mcu_interrupt.o(.text.UART2IntHandler) refers to Obj/SYSTEM_uart.o(.text.UART2_RecvINT_Processing) for UART2_RecvINT_Processing + Obj/main.o(.text.startup.main) refers to Obj/SYSTEM_uart.o(.text.UART2_TASK) for UART2_TASK + Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_Ctrl_AirState) refers to Obj/SYSTEM_uart.o(.text.Controller485_SendData) for Controller485_SendData + Obj/SYSTEM_uart.o(.text.MultSend_Task) refers to Obj/SYSTEM_uart.o(.text.BUS485_Send) for BUS485_Send + Obj/SYSTEM_uart.o(.text.BUS485Send_Task) refers to Obj/SYSTEM_uart.o(.text.MultSend_Task) for MultSend_Task + Obj/SYSTEM_uart_protocol.o(.text.Rs485AskCtrlSend) refers to Obj/SYSTEM_uart.o(.text.Set_GroupSend) for Set_GroupSend + Obj/main.o(.text.startup.main) refers to Obj/SYSTEM_uart.o(.text.BUS485Send_Task) for BUS485Send_Task + Obj/mcu_interrupt.o(.text.BT1IntHandler) refers to Obj/SYSTEM_uart.o(.text.BusIdle_Task) for BusIdle_Task + Obj/mcu_interrupt.o(.text.EXI4to9IntHandler) refers to Obj/SYSTEM_uart.o(.text.BusBusy_Task) for BusBusy_Task + Obj/main.o(.text.startup.main) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println + Obj/SYSTEM_eeprom.o(.text.EEPROM_Validate_ParaInfo) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println + Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println + Obj/SYSTEM_tempctrl_unit.o(.text.TemCtrl_Init) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println + Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_RecData_Processing) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println + Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println + Obj/SYSTEM_dip_switch.o(.text.DIP_ScanTask) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println + Obj/SYSTEM_eeprom.o(.text.EEPROM_ReadParaInfo) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_CheckSum) for EEPROM_CheckSum + Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_Ctrl_AirState) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_CheckSum) for EEPROM_CheckSum + Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_RecData_Processing) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_CheckSum) for EEPROM_CheckSum + Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_ReadParaInfo) for EEPROM_ReadParaInfo + Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_Validate_ParaInfo) for EEPROM_Validate_ParaInfo + Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_Default_ParaInfo) for EEPROM_Default_ParaInfo + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) for EEPROM_Init + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/SYSTEM_tempctrl_unit.o(.text.TemCtrl_Init) for TemCtrl_Init + Obj/SYSTEM_tempctrl_unit.o(.text.TemCtrl_Pro) refers to Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_Ctrl_AirState) for Ctrller_Ctrl_AirState + Obj/main.o(.text.startup.main) refers to Obj/SYSTEM_tempctrl_unit.o(.text.TemCtrl_Pro) for TemCtrl_Pro + Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_RecData_Processing) refers to Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_CtrlAirState_Processing) for Ctrller_CtrlAirState_Processing + Obj/SYSTEM_uart_protocol.o(.text.Rs485AskCtrlSend) refers to Obj/SYSTEM_uart_protocol.o(.text.NetCRC16_Check) for NetCRC16_Check + Obj/SYSTEM_uart_protocol.o(.text.IrSend_Rs485_Pro) refers to Obj/SYSTEM_uart_protocol.o(.text.GetCRC16) for GetCRC16 + Obj/SYSTEM_uart_protocol.o(.text.IrSend_Rs485_Pro) refers to Obj/SYSTEM_uart_protocol.o(.text.Rs485AskCtrlSend) for Rs485AskCtrlSend + Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) refers to Obj/SYSTEM_dip_switch.o(.text.DIP_GetSwitchState) for DIP_GetSwitchState + Obj/SYSTEM_dip_switch.o(.text.DIP_ScanTask) refers to Obj/SYSTEM_dip_switch.o(.text.DIP_GetSwitchState) for DIP_GetSwitchState + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) for DIP_Switch_Init + Obj/main.o(.text.startup.main) refers to Obj/SYSTEM_dip_switch.o(.text.DIP_ScanTask) for DIP_ScanTask + FWlib_apt32f102_tkey_f_1_18.o(.text.CORETHandler) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Scan_Start) for TK_Scan_Start + FWlib_apt32f102_tkey_f_1_18.o(.text.CORETHandler) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Keymap_prog) for TK_Keymap_prog + FWlib_apt32f102_tkey_f_1_18.o(.text.CORETHandler) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.TK_overflow_predict) for TK_overflow_predict + FWlib_apt32f102_tkey_f_1_18.o(.text.CORETHandler) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Baseline_tracking) for TK_Baseline_tracking + FWlib_apt32f102_tkey_f_1_18.o(.text.CORETHandler) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.TK_result_prog) for TK_result_prog + FWlib_apt32f102_tkey_f_1_18.o(.text.CORETHandler) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Single_Longpress_prg) for TK_Single_Longpress_prg + FWlib_apt32f102_tkey_f_1_18.o(.text.TKEYIntHandler) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Sampling_prog) for TK_Sampling_prog + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_result_prog) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.get_key_number) for get_key_number + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Baseline_tracking) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.get_key_number0) for get_key_number0 + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Baseline_tracking) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.get_key_number1) for get_key_number1 + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Baseline_tracking) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.get_key_number2) for get_key_number2 + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to FWlib_apt32f102_clkcalib.o(.text.std_clk_calib) for std_clk_calib + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_overflow_predict) refers to pow.o(.text) for pow + pow.o(.text) refers to fabs.o(.text) for fabs + pow.o(.text) refers to scalbn.o(.text) for scalbn + pow.o(.text) refers to sqrt.o(.text) for sqrt + Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Init) refers to _csky_case_uqi.o(.text) for ___gnu_csky_case_uqi + Obj/FWlib_apt32f102_gpio.o(.text.GPIOB0_EXI_Init) refers to _csky_case_uqi.o(.text) for ___gnu_csky_case_uqi + Obj/SYSTEM_uart_protocol.o(.text.IrSend_Rs485_Pro) refers to _csky_case_uqi.o(.text) for ___gnu_csky_case_uqi + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_overflow_predict) refers to _fixunsdfsi.o(.text) for __fixunsdfsi + pow.o(.text) refers to _addsub_df.o(.text) for __adddf3 + sqrt.o(.text) refers to _addsub_df.o(.text) for __adddf3 + pow.o(.text) refers to _addsub_df.o(.text) for __subdf3 + sqrt.o(.text) refers to _addsub_df.o(.text) for __subdf3 + _fixunsdfsi.o(.text) refers to _addsub_df.o(.text) for __subdf3 + pow.o(.text) refers to _mul_df.o(.text) for __muldf3 + sqrt.o(.text) refers to _mul_df.o(.text) for __muldf3 + pow.o(.text) refers to _div_df.o(.text) for __divdf3 + sqrt.o(.text) refers to _div_df.o(.text) for __divdf3 + pow.o(.text) refers to _gt_df.o(.text) for __gtdf2 + _fixunsdfsi.o(.text) refers to _ge_df.o(.text) for __gedf2 + pow.o(.text) refers to _le_df.o(.text) for __ledf2 + pow.o(.text) refers to _si_to_df.o(.text) for __floatsidf + _fixunsdfsi.o(.text) refers to _df_to_si.o(.text) for __fixdfsi + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_overflow_predict) refers to _usi_to_df.o(.text) for __floatunsidf + _mul_df.o(.text) refers to _muldi3.o(.text) for __muldi3 + _si_to_df.o(.text) refers to _clzsi2.o(.text) for __clzsi2 + _usi_to_df.o(.text) refers to _clzsi2.o(.text) for __clzsi2 + _addsub_df.o(.text) refers to _pack_df.o(.text) for __pack_d + _addsub_df.o(.text) refers to _pack_df.o(.text) for __pack_d + _mul_df.o(.text) refers to _pack_df.o(.text) for __pack_d + _div_df.o(.text) refers to _pack_df.o(.text) for __pack_d + _si_to_df.o(.text) refers to _pack_df.o(.text) for __pack_d + _usi_to_df.o(.text) refers to _pack_df.o(.text) for __pack_d + _addsub_df.o(.text) refers to _unpack_df.o(.text) for __unpack_d + _addsub_df.o(.text) refers to _unpack_df.o(.text) for __unpack_d + _mul_df.o(.text) refers to _unpack_df.o(.text) for __unpack_d + _div_df.o(.text) refers to _unpack_df.o(.text) for __unpack_d + _gt_df.o(.text) refers to _unpack_df.o(.text) for __unpack_d + _ge_df.o(.text) refers to _unpack_df.o(.text) for __unpack_d + _le_df.o(.text) refers to _unpack_df.o(.text) for __unpack_d + _df_to_si.o(.text) refers to _unpack_df.o(.text) for __unpack_d + _gt_df.o(.text) refers to _fpcmp_parts_df.o(.text) for __fpcmp_parts_d + _ge_df.o(.text) refers to _fpcmp_parts_df.o(.text) for __fpcmp_parts_d + _le_df.o(.text) refers to _fpcmp_parts_df.o(.text) for __fpcmp_parts_d + Obj/arch_mem_init.o(.text.__main) refers to memset_fast.o(.text) for memset + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to memset_fast.o(.text) for memset + Obj/SYSTEM_uart.o(.text.UART1_TASK) refers to memset_fast.o(.text) for memset + Obj/SYSTEM_uart.o(.text.UART2_TASK) refers to memset_fast.o(.text) for memset + Obj/SYSTEM_uart.o(.text.Set_GroupSend) refers to memset_fast.o(.text) for memset + Obj/SYSTEM_eeprom.o(.text.EEPROM_ReadParaInfo) refers to memset_fast.o(.text) for memset + Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) refers to memset_fast.o(.text) for memset + Obj/SYSTEM_tempctrl_unit.o(.text.TemCtrl_Init) refers to memset_fast.o(.text) for memset + Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) refers to memset_fast.o(.text) for memset + Obj/arch_mem_init.o(.text.__main) refers to memcpy_fast.o(.text) for memcpy + Obj/SYSTEM_uart.o(.text.UART1_TASK) refers to memcpy_fast.o(.text) for memcpy + Obj/SYSTEM_uart.o(.text.UART2_TASK) refers to memcpy_fast.o(.text) for memcpy + Obj/SYSTEM_uart.o(.text.Set_GroupSend) refers to memcpy_fast.o(.text) for memcpy + Obj/SYSTEM_eeprom.o(.text.EEPROM_ReadParaInfo) refers to memcpy_fast.o(.text) for memcpy + + +====================================================================== + +Removing Unused input sections from the image. + + Removing .data(Obj/arch_crt0.o), (4 bytes). + Removing .bss(Obj/arch_crt0.o), (0 bytes). + Removing .text(Obj/arch_mem_init.o), (0 bytes). + Removing .data(Obj/arch_mem_init.o), (0 bytes). + Removing .bss(Obj/arch_mem_init.o), (0 bytes). + Removing .text(Obj/arch_apt32f102_iostring.o), (0 bytes). + Removing .data(Obj/arch_apt32f102_iostring.o), (0 bytes). + Removing .bss(Obj/arch_apt32f102_iostring.o), (0 bytes). + Removing .text.__putchar__(Obj/arch_apt32f102_iostring.o), (16 bytes). + Removing .text.myitoa(Obj/arch_apt32f102_iostring.o), (140 bytes). + Removing .text.my_printf(Obj/arch_apt32f102_iostring.o), (198 bytes). + Removing .debug_info(Obj/arch_apt32f102_iostring.o), (7541 bytes). + Removing .debug_abbrev(Obj/arch_apt32f102_iostring.o), (485 bytes). + Removing .debug_loc(Obj/arch_apt32f102_iostring.o), (653 bytes). + Removing .debug_aranges(Obj/arch_apt32f102_iostring.o), (48 bytes). + Removing .debug_ranges(Obj/arch_apt32f102_iostring.o), (32 bytes). + Removing .debug_line(Obj/arch_apt32f102_iostring.o), (487 bytes). + Removing .debug_str(Obj/arch_apt32f102_iostring.o), (2904 bytes). + Removing .comment(Obj/arch_apt32f102_iostring.o), (67 bytes). + Removing .debug_frame(Obj/arch_apt32f102_iostring.o), (120 bytes). + Removing .csky.attributes(Obj/arch_apt32f102_iostring.o), (32 bytes). + Removing .text(Obj/FWlib_apt32f102_syscon.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_syscon.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_syscon.o), (0 bytes). + Removing .text.EMOSC_OSTR_Config(Obj/FWlib_apt32f102_syscon.o), (28 bytes). + Removing .text.SystemCLK_Clear(Obj/FWlib_apt32f102_syscon.o), (24 bytes). + Removing .text.SYSCON_IMOSC_SELECTE(Obj/FWlib_apt32f102_syscon.o), (20 bytes). + Removing .text.LVD_Int_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.IWDT_Int_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.Read_Reset_Status(Obj/FWlib_apt32f102_syscon.o), (24 bytes). + Removing .text.PCLK_goto_idle_mode(Obj/FWlib_apt32f102_syscon.o), (6 bytes). + Removing .text.PCLK_goto_deepsleep_mode(Obj/FWlib_apt32f102_syscon.o), (20 bytes). + Removing .text.EXI0_Int_Enable(Obj/FWlib_apt32f102_syscon.o), (12 bytes). + Removing .text.EXI0_Int_Disable(Obj/FWlib_apt32f102_syscon.o), (12 bytes). + Removing .text.EXI1_Int_Enable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI1_Int_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI2_Int_Enable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI2_Int_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI3_Int_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI4_Int_Enable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI4_Int_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI0_WakeUp_Enable(Obj/FWlib_apt32f102_syscon.o), (12 bytes). + Removing .text.EXI0_WakeUp_Disable(Obj/FWlib_apt32f102_syscon.o), (12 bytes). + Removing .text.EXI1_WakeUp_Enable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI1_WakeUp_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI2_WakeUp_Enable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI2_WakeUp_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI3_WakeUp_Enable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI3_WakeUp_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI4_WakeUp_Enable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI4_WakeUp_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.SYSCON_WakeUp_Enable(Obj/FWlib_apt32f102_syscon.o), (12 bytes). + Removing .text.SYSCON_CLO_CONFIG(Obj/FWlib_apt32f102_syscon.o), (52 bytes). + Removing .text.SYSCON_CLO_SRC_SET(Obj/FWlib_apt32f102_syscon.o), (32 bytes). + Removing .text.SYSCON_WakeUp_Disable(Obj/FWlib_apt32f102_syscon.o), (12 bytes). + Removing .text.SYSCON_Read_CINF0(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.SYSCON_Read_CINF1(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.SYSCON_Software_Reset(Obj/FWlib_apt32f102_syscon.o), (20 bytes). + Removing .text.GPIO_Remap(Obj/FWlib_apt32f102_syscon.o), (652 bytes). + Removing .text(Obj/FWlib_apt32f102_gpio.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_gpio.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_gpio.o), (0 bytes). + Removing .text.GPIO_Init2(Obj/FWlib_apt32f102_gpio.o), (16 bytes). + Removing .text.GPIO_InPutOutPut_Disable(Obj/FWlib_apt32f102_gpio.o), (164 bytes). + Removing .text.GPIO_MODE_Init(Obj/FWlib_apt32f102_gpio.o), (34 bytes). + Removing .text.GPIO_PullLow_Init(Obj/FWlib_apt32f102_gpio.o), (20 bytes). + Removing .text.GPIO_PullHighLow_DIS(Obj/FWlib_apt32f102_gpio.o), (14 bytes). + Removing .text.GPIO_OpenDrain_EN(Obj/FWlib_apt32f102_gpio.o), (12 bytes). + Removing .text.GPIO_OpenDrain_DIS(Obj/FWlib_apt32f102_gpio.o), (14 bytes). + Removing .text.GPIO_TTL_COSM_Selecte(Obj/FWlib_apt32f102_gpio.o), (72 bytes). + Removing .text.GPIO_DriveStrength_DIS(Obj/FWlib_apt32f102_gpio.o), (16 bytes). + Removing .text.GPIOA0_EXI_Init(Obj/FWlib_apt32f102_gpio.o), (252 bytes). + Removing .text.GPIO_EXI_EN(Obj/FWlib_apt32f102_gpio.o), (12 bytes). + Removing .text.GPIO_Set_Value(Obj/FWlib_apt32f102_gpio.o), (22 bytes). + Removing .text.GPIO_Read_Output(Obj/FWlib_apt32f102_gpio.o), (16 bytes). + Removing .text(Obj/FWlib_apt32f102_lpt.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_lpt.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_lpt.o), (0 bytes). + Removing .text.LPT_DeInit(Obj/FWlib_apt32f102_lpt.o), (60 bytes). + Removing .text.LPT_IO_Init(Obj/FWlib_apt32f102_lpt.o), (72 bytes). + Removing .text.LPT_Configure(Obj/FWlib_apt32f102_lpt.o), (44 bytes). + Removing .text.LPT_Debug_Mode(Obj/FWlib_apt32f102_lpt.o), (24 bytes). + Removing .text.LPT_Period_CMP_Write(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_CNT_Write(Obj/FWlib_apt32f102_lpt.o), (12 bytes). + Removing .text.LPT_PRDR_Read(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_CMP_Read(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_CNT_Read(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_ControlSet_Configure(Obj/FWlib_apt32f102_lpt.o), (40 bytes). + Removing .text.LPT_SyncSet_Configure(Obj/FWlib_apt32f102_lpt.o), (24 bytes). + Removing .text.LPT_Trigger_Configure(Obj/FWlib_apt32f102_lpt.o), (72 bytes). + Removing .text.LPT_Trigger_EVPS(Obj/FWlib_apt32f102_lpt.o), (20 bytes). + Removing .text.LPT_Trigger_Cnt(Obj/FWlib_apt32f102_lpt.o), (20 bytes). + Removing .text.LPT_Soft_Trigger(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_Start(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_Stop(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_REARM_Write(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_REARM_Read(Obj/FWlib_apt32f102_lpt.o), (20 bytes). + Removing .text.LPT_ConfigInterrupt_CMD(Obj/FWlib_apt32f102_lpt.o), (28 bytes). + Removing .text.LPT_INT_ENABLE(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_INT_DISABLE(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text(Obj/FWlib_apt32f102_crc.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_crc.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_crc.o), (0 bytes). + Removing .text.CRC_CMD(Obj/FWlib_apt32f102_crc.o), (24 bytes). + Removing .text.CRC_Soft_Reset(Obj/FWlib_apt32f102_crc.o), (16 bytes). + Removing .text.CRC_Configure(Obj/FWlib_apt32f102_crc.o), (36 bytes). + Removing .text.CRC_Seed_Write(Obj/FWlib_apt32f102_crc.o), (12 bytes). + Removing .text.CRC_Seed_Read(Obj/FWlib_apt32f102_crc.o), (12 bytes). + Removing .text.CRC_Datain(Obj/FWlib_apt32f102_crc.o), (12 bytes). + Removing .text.CRC_Result_Read(Obj/FWlib_apt32f102_crc.o), (12 bytes). + Removing .text.Chip_CRC_CRC32(Obj/FWlib_apt32f102_crc.o), (28 bytes). + Removing .text.Chip_CRC_CRC16(Obj/FWlib_apt32f102_crc.o), (52 bytes). + Removing .text.Chip_CRC_CRC8(Obj/FWlib_apt32f102_crc.o), (44 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_crc.o), (7732 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_crc.o), (592 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_crc.o), (358 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_crc.o), (104 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_crc.o), (112 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_crc.o), (350 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_crc.o), (3098 bytes). + Removing .comment(Obj/FWlib_apt32f102_crc.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_crc.o), (204 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_crc.o), (32 bytes). + Removing .text(Obj/FWlib_apt32f102_wwdt.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_wwdt.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_wwdt.o), (0 bytes). + Removing .text.WWDT_DeInit(Obj/FWlib_apt32f102_wwdt.o), (28 bytes). + Removing .text.WWDT_CONFIG(Obj/FWlib_apt32f102_wwdt.o), (24 bytes). + Removing .text.WWDT_CMD(Obj/FWlib_apt32f102_wwdt.o), (24 bytes). + Removing .text.WWDT_Int_Config(Obj/FWlib_apt32f102_wwdt.o), (52 bytes). + Removing .text(Obj/FWlib_apt32f102_countera.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_countera.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_countera.o), (0 bytes). + Removing .text.COUNT_DeInit(Obj/FWlib_apt32f102_countera.o), (20 bytes). + Removing .text.COUNTA_Int_Enable(Obj/FWlib_apt32f102_countera.o), (16 bytes). + Removing .text.COUNTA_Int_Disable(Obj/FWlib_apt32f102_countera.o), (16 bytes). + Removing .text.COUNTA_Wakeup_Enable(Obj/FWlib_apt32f102_countera.o), (16 bytes). + Removing .text.COUNTA_Wakeup_Disable(Obj/FWlib_apt32f102_countera.o), (16 bytes). + Removing .text.COUNTA_Init(Obj/FWlib_apt32f102_countera.o), (60 bytes). + Removing .text.COUNTA_Config(Obj/FWlib_apt32f102_countera.o), (32 bytes). + Removing .text.COUNTA_Start(Obj/FWlib_apt32f102_countera.o), (20 bytes). + Removing .text.COUNTA_Stop(Obj/FWlib_apt32f102_countera.o), (16 bytes). + Removing .text.COUNTA_Data_Update(Obj/FWlib_apt32f102_countera.o), (20 bytes). + Removing .text.COUNTA_IO_Init(Obj/FWlib_apt32f102_countera.o), (80 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_countera.o), (7799 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_countera.o), (381 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_countera.o), (336 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_countera.o), (112 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_countera.o), (96 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_countera.o), (350 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_countera.o), (3415 bytes). + Removing .comment(Obj/FWlib_apt32f102_countera.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_countera.o), (224 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_countera.o), (32 bytes). + Removing .text(Obj/FWlib_apt32f102_et.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_et.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_et.o), (0 bytes). + Removing .text.ET_DeInit(Obj/FWlib_apt32f102_et.o), (40 bytes). + Removing .text.ET_ENABLE(Obj/FWlib_apt32f102_et.o), (16 bytes). + Removing .text.ET_DISABLE(Obj/FWlib_apt32f102_et.o), (16 bytes). + Removing .text.ET_SWTRG_CMD(Obj/FWlib_apt32f102_et.o), (28 bytes). + Removing .text.ET_CH0_SRCSEL(Obj/FWlib_apt32f102_et.o), (108 bytes). + Removing .text.ET_CH0_CONTROL(Obj/FWlib_apt32f102_et.o), (40 bytes). + Removing .text.ET_CH1_SRCSEL(Obj/FWlib_apt32f102_et.o), (108 bytes). + Removing .text.ET_CH1_CONTROL(Obj/FWlib_apt32f102_et.o), (40 bytes). + Removing .text.ET_CH2_SRCSEL(Obj/FWlib_apt32f102_et.o), (108 bytes). + Removing .text.ET_CH2_CONTROL(Obj/FWlib_apt32f102_et.o), (40 bytes). + Removing .text.ET_CHx_CONTROL(Obj/FWlib_apt32f102_et.o), (276 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_et.o), (7781 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_et.o), (410 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_et.o), (1318 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_et.o), (112 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_et.o), (96 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_et.o), (463 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_et.o), (3160 bytes). + Removing .comment(Obj/FWlib_apt32f102_et.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_et.o), (204 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_et.o), (32 bytes). + Removing .text(Obj/FWlib_apt32f102_bt.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_bt.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_bt.o), (0 bytes). + Removing .text.BT_IO_Init(Obj/FWlib_apt32f102_bt.o), (332 bytes). + Removing .text.BT_Stop(Obj/FWlib_apt32f102_bt.o), (8 bytes). + Removing .text.BT_Stop_High(Obj/FWlib_apt32f102_bt.o), (14 bytes). + Removing .text.BT_Stop_Low(Obj/FWlib_apt32f102_bt.o), (14 bytes). + Removing .text.BT_CNT_Write(Obj/FWlib_apt32f102_bt.o), (4 bytes). + Removing .text.BT_PRDR_Read(Obj/FWlib_apt32f102_bt.o), (6 bytes). + Removing .text.BT_CMP_Read(Obj/FWlib_apt32f102_bt.o), (6 bytes). + Removing .text.BT_CNT_Read(Obj/FWlib_apt32f102_bt.o), (6 bytes). + Removing .text.BT_Trigger_Configure(Obj/FWlib_apt32f102_bt.o), (10 bytes). + Removing .text.BT_Soft_Tigger(Obj/FWlib_apt32f102_bt.o), (6 bytes). + Removing .text.BT0_INT_ENABLE(Obj/FWlib_apt32f102_bt.o), (16 bytes). + Removing .text.BT0_INT_DISABLE(Obj/FWlib_apt32f102_bt.o), (16 bytes). + Removing .text.BT1_INT_DISABLE(Obj/FWlib_apt32f102_bt.o), (16 bytes). + Removing .text(Obj/FWlib_apt32f102_gpt.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_gpt.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_gpt.o), (0 bytes). + Removing .text.GPT_DeInit(Obj/FWlib_apt32f102_gpt.o), (96 bytes). + Removing .text.GPT_IO_Init(Obj/FWlib_apt32f102_gpt.o), (160 bytes). + Removing .text.GPT_Configure(Obj/FWlib_apt32f102_gpt.o), (20 bytes). + Removing .text.GPT_WaveCtrl_Configure(Obj/FWlib_apt32f102_gpt.o), (68 bytes). + Removing .text.GPT_WaveLoad_Configure(Obj/FWlib_apt32f102_gpt.o), (20 bytes). + Removing .text.GPT_WaveOut_Configure(Obj/FWlib_apt32f102_gpt.o), (180 bytes). + Removing .text.GPT_Capture_Config(Obj/FWlib_apt32f102_gpt.o), (68 bytes). + Removing .text.GPT_SyncSet_Configure(Obj/FWlib_apt32f102_gpt.o), (36 bytes). + Removing .text.GPT_Trigger_Configure(Obj/FWlib_apt32f102_gpt.o), (44 bytes). + Removing .text.GPT_EVTRG_Configure(Obj/FWlib_apt32f102_gpt.o), (92 bytes). + Removing .text.GPT_OneceForce_Out(Obj/FWlib_apt32f102_gpt.o), (32 bytes). + Removing .text.GPT_Force_Out(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_CmpLoad_Configure(Obj/FWlib_apt32f102_gpt.o), (20 bytes). + Removing .text.GPT_Debug_Mode(Obj/FWlib_apt32f102_gpt.o), (24 bytes). + Removing .text.GPT_Start(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_Stop(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_Soft_Reset(Obj/FWlib_apt32f102_gpt.o), (20 bytes). + Removing .text.GPT_Cap_Rearm(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_Mode_CMD(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_REARM_Write(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_REARM_Read(Obj/FWlib_apt32f102_gpt.o), (20 bytes). + Removing .text.GPT_Period_CMP_Write(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_PRDR_Read(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_CMPA_Read(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_CMPB_Read(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_CNT_Read(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_ConfigInterrupt_CMD(Obj/FWlib_apt32f102_gpt.o), (28 bytes). + Removing .text.GPT_INT_ENABLE(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_INT_DISABLE(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_gpt.o), (11442 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_gpt.o), (562 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_gpt.o), (2212 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_gpt.o), (256 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_gpt.o), (240 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_gpt.o), (754 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_gpt.o), (8023 bytes). + Removing .comment(Obj/FWlib_apt32f102_gpt.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_gpt.o), (616 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_gpt.o), (32 bytes). + Removing .text(Obj/FWlib_apt32f102_sio.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_sio.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_sio.o), (0 bytes). + Removing .text.SIO_DeInit(Obj/FWlib_apt32f102_sio.o), (32 bytes). + Removing .text.SIO_IO_Init(Obj/FWlib_apt32f102_sio.o), (96 bytes). + Removing .text.SIO_TX_Init(Obj/FWlib_apt32f102_sio.o), (16 bytes). + Removing .text.SIO_TX_Configure(Obj/FWlib_apt32f102_sio.o), (80 bytes). + Removing .text.SIO_TXBUF_Set(Obj/FWlib_apt32f102_sio.o), (156 bytes). + Removing .text.SIO_RX_Init(Obj/FWlib_apt32f102_sio.o), (20 bytes). + Removing .text.SIO_RX_Configure0(Obj/FWlib_apt32f102_sio.o), (96 bytes). + Removing .text.SIO_RX_Configure1(Obj/FWlib_apt32f102_sio.o), (32 bytes). + Removing .text.SIO_ConfigInterrupt_CMD(Obj/FWlib_apt32f102_sio.o), (28 bytes). + Removing .text.SIO_INT_ENABLE(Obj/FWlib_apt32f102_sio.o), (16 bytes). + Removing .text.SIO_INT_DISABLE(Obj/FWlib_apt32f102_sio.o), (16 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_sio.o), (8669 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_sio.o), (405 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_sio.o), (1996 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_sio.o), (112 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_sio.o), (96 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_sio.o), (391 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_sio.o), (4128 bytes). + Removing .comment(Obj/FWlib_apt32f102_sio.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_sio.o), (260 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_sio.o), (32 bytes). + Removing .text(Obj/FWlib_apt32f102_spi.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_spi.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_spi.o), (0 bytes). + Removing .text.SPI_DeInit(Obj/FWlib_apt32f102_spi.o), (32 bytes). + Removing .text.SPI_NSS_IO_Init(Obj/FWlib_apt32f102_spi.o), (52 bytes). + Removing .text.SPI_Master_Init(Obj/FWlib_apt32f102_spi.o), (176 bytes). + Removing .text.SPI_Slave_Init(Obj/FWlib_apt32f102_spi.o), (156 bytes). + Removing .text.SPI_WRITE_BYTE(Obj/FWlib_apt32f102_spi.o), (32 bytes). + Removing .text.SPI_READ_BYTE(Obj/FWlib_apt32f102_spi.o), (100 bytes). + Removing .text.SPI_ConfigInterrupt_CMD(Obj/FWlib_apt32f102_spi.o), (28 bytes). + Removing .text.SPI_Int_Enable(Obj/FWlib_apt32f102_spi.o), (16 bytes). + Removing .text.SPI_Int_Disable(Obj/FWlib_apt32f102_spi.o), (16 bytes). + Removing .text.SPI_Wakeup_Enable(Obj/FWlib_apt32f102_spi.o), (16 bytes). + Removing .text.SPI_Wakeup_Disable(Obj/FWlib_apt32f102_spi.o), (16 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_spi.o), (7854 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_spi.o), (402 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_spi.o), (641 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_spi.o), (112 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_spi.o), (96 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_spi.o), (407 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_spi.o), (3531 bytes). + Removing .comment(Obj/FWlib_apt32f102_spi.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_spi.o), (240 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_spi.o), (32 bytes). + Removing .text(Obj/FWlib_apt32f102_uart.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_uart.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_uart.o), (2 bytes). + Removing .text.UART0_Int_Enable(Obj/FWlib_apt32f102_uart.o), (28 bytes). + Removing .text.UART0_Int_Disable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UART1_Int_Disable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UART2_Int_Disable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UART0_WakeUp_Enable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UART0_WakeUp_Disable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UART1_WakeUp_Enable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UART1_WakeUp_Disable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UART2_WakeUp_Enable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UART2_WakeUp_Disable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UARTInit(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UARTInitRxIntEn(Obj/FWlib_apt32f102_uart.o), (10 bytes). + Removing .text.UARTClose(Obj/FWlib_apt32f102_uart.o), (6 bytes). + Removing .text.UARTTxByte(Obj/FWlib_apt32f102_uart.o), (14 bytes). + Removing .text.UARTTTransmit_data_set(Obj/FWlib_apt32f102_uart.o), (44 bytes). + Removing .text.UARTTransmit_INT_Send(Obj/FWlib_apt32f102_uart.o), (72 bytes). + Removing .text.UARTRxByte(Obj/FWlib_apt32f102_uart.o), (22 bytes). + Removing .text.UART_ReturnRxByte(Obj/FWlib_apt32f102_uart.o), (24 bytes). + Removing .text.UARTReceive(Obj/FWlib_apt32f102_uart.o), (56 bytes). + Removing COMMON(Obj/FWlib_apt32f102_uart.o), (36 bytes). + Removing .text(Obj/FWlib_apt32f102_i2c.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_i2c.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_i2c.o), (6 bytes). + Removing .text.I2C_DeInit(Obj/FWlib_apt32f102_i2c.o), (24 bytes). + Removing .text.I2C_Master_CONFIG(Obj/FWlib_apt32f102_i2c.o), (320 bytes). + Removing .text.I2C_Slave_CONFIG(Obj/FWlib_apt32f102_i2c.o), (332 bytes). + Removing .text.I2C_SDA_TSETUP_THOLD_CONFIG(Obj/FWlib_apt32f102_i2c.o), (20 bytes). + Removing .text.I2C_ConfigInterrupt_CMD(Obj/FWlib_apt32f102_i2c.o), (28 bytes). + Removing .text.I2C_FIFO_TriggerData(Obj/FWlib_apt32f102_i2c.o), (16 bytes). + Removing .text.I2C_Stop(Obj/FWlib_apt32f102_i2c.o), (16 bytes). + Removing .text.I2C_Enable(Obj/FWlib_apt32f102_i2c.o), (28 bytes). + Removing .text.I2C_Disable(Obj/FWlib_apt32f102_i2c.o), (28 bytes). + Removing .text.I2C_Abort_EN(Obj/FWlib_apt32f102_i2c.o), (16 bytes). + Removing .text.I2C_Abort_Status(Obj/FWlib_apt32f102_i2c.o), (20 bytes). + Removing .text.I2C_SDA_Recover_EN(Obj/FWlib_apt32f102_i2c.o), (16 bytes). + Removing .text.I2C_SDA_Recover_DIS(Obj/FWlib_apt32f102_i2c.o), (16 bytes). + Removing .text.I2C_Int_Enable(Obj/FWlib_apt32f102_i2c.o), (16 bytes). + Removing .text.I2C_Int_Disable(Obj/FWlib_apt32f102_i2c.o), (16 bytes). + Removing .text.I2C_WRITE_Byte(Obj/FWlib_apt32f102_i2c.o), (112 bytes). + Removing .text.I2C_WRITE_nByte(Obj/FWlib_apt32f102_i2c.o), (160 bytes). + Removing .text.I2C_READ_Byte(Obj/FWlib_apt32f102_i2c.o), (100 bytes). + Removing .text.I2C_READ_nByte(Obj/FWlib_apt32f102_i2c.o), (160 bytes). + Removing .text.I2C_Slave_Receive(Obj/FWlib_apt32f102_i2c.o), (384 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_i2c.o), (8426 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_i2c.o), (576 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_i2c.o), (1150 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_i2c.o), (184 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_i2c.o), (168 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_i2c.o), (847 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_i2c.o), (3647 bytes). + Removing .comment(Obj/FWlib_apt32f102_i2c.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_i2c.o), (452 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_i2c.o), (32 bytes). + Removing COMMON(Obj/FWlib_apt32f102_i2c.o), (70 bytes). + Removing .text(Obj/FWlib_apt32f102_ept.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_ept.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_ept.o), (0 bytes). + Removing .text.EPT_Software_Prg(Obj/FWlib_apt32f102_ept.o), (32 bytes). + Removing .text.EPT_Start(Obj/FWlib_apt32f102_ept.o), (40 bytes). + Removing .text.EPT_IO_SET(Obj/FWlib_apt32f102_ept.o), (568 bytes). + Removing .text.EPT_PWM_Config(Obj/FWlib_apt32f102_ept.o), (56 bytes). + Removing .text.EPT_CG_gate_Config(Obj/FWlib_apt32f102_ept.o), (116 bytes). + Removing .text.EPT_Capture_Config(Obj/FWlib_apt32f102_ept.o), (104 bytes). + Removing .text.EPT_SYNCR_Config(Obj/FWlib_apt32f102_ept.o), (52 bytes). + Removing .text.EPT_CPCR_Config(Obj/FWlib_apt32f102_ept.o), (80 bytes). + Removing .text.EPT_DBCR_Config(Obj/FWlib_apt32f102_ept.o), (96 bytes). + Removing .text.EPT_DB_CLK_Config(Obj/FWlib_apt32f102_ept.o), (16 bytes). + Removing .text.EPT_PWMX_Output_Control(Obj/FWlib_apt32f102_ept.o), (216 bytes). + Removing .text.EPT_Tevent_Selecte(Obj/FWlib_apt32f102_ept.o), (16 bytes). + Removing .text.EPT_PHSEN_Config(Obj/FWlib_apt32f102_ept.o), (24 bytes). + Removing .text.EPT_PRDR_CMPA_CMPB_CMPC_CMPD_Config(Obj/FWlib_apt32f102_ept.o), (28 bytes). + Removing .text.EPT_SYNCR_RearmClr(Obj/FWlib_apt32f102_ept.o), (40 bytes). + Removing .text.EPT_Caputure_Rearm(Obj/FWlib_apt32f102_ept.o), (20 bytes). + Removing .text.EPT_Globle_Eventload_Config(Obj/FWlib_apt32f102_ept.o), (24 bytes). + Removing .text.EPT_Globle_SwLoad_CMD(Obj/FWlib_apt32f102_ept.o), (28 bytes). + Removing .text.EPT_PRDR_EventLoad_Config(Obj/FWlib_apt32f102_ept.o), (28 bytes). + Removing .text.EPT_CMP_EventLoad_Config(Obj/FWlib_apt32f102_ept.o), (68 bytes). + Removing .text.EPT_AQCR_Eventload_Config(Obj/FWlib_apt32f102_ept.o), (72 bytes). + Removing .text.EPT_DB_Eventload_Config(Obj/FWlib_apt32f102_ept.o), (72 bytes). + Removing .text.EPT_TRGSRCX_Config(Obj/FWlib_apt32f102_ept.o), (136 bytes). + Removing .text.EPT_TRGSRCX_SWFTRG(Obj/FWlib_apt32f102_ept.o), (72 bytes). + Removing .text.EPT_Int_Enable(Obj/FWlib_apt32f102_ept.o), (20 bytes). + Removing .text.EPT_Int_Disable(Obj/FWlib_apt32f102_ept.o), (20 bytes). + Removing .text.EPT_EMInt_Enable(Obj/FWlib_apt32f102_ept.o), (20 bytes). + Removing .text.EPT_EMInt_Disable(Obj/FWlib_apt32f102_ept.o), (20 bytes). + Removing .text.EPT_Vector_Int_Enable(Obj/FWlib_apt32f102_ept.o), (12 bytes). + Removing .text.EPT_Vector_Int_Disable(Obj/FWlib_apt32f102_ept.o), (12 bytes). + Removing .text.EPT_EPX_Config(Obj/FWlib_apt32f102_ept.o), (176 bytes). + Removing .text.EPT_EPIX_POL_Config(Obj/FWlib_apt32f102_ept.o), (24 bytes). + Removing .text.EPT_LKCR_TRG_Config(Obj/FWlib_apt32f102_ept.o), (120 bytes). + Removing .text.EPT_SHLOCK_OUTPUT_Config(Obj/FWlib_apt32f102_ept.o), (28 bytes). + Removing .text.EPT_SLock_CLR(Obj/FWlib_apt32f102_ept.o), (20 bytes). + Removing .text.EPT_HLock_CLR(Obj/FWlib_apt32f102_ept.o), (20 bytes). + Removing .text.EPT_SW_Set_lock(Obj/FWlib_apt32f102_ept.o), (28 bytes). + Removing .text(Obj/FWlib_apt32f102_rtc.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_rtc.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_rtc.o), (0 bytes). + Removing .text.RTC_RST_VALUE(Obj/FWlib_apt32f102_rtc.o), (40 bytes). + Removing .text.RTC_ALM_IO_SET(Obj/FWlib_apt32f102_rtc.o), (64 bytes). + Removing .text.RTCCLK_CONFIG(Obj/FWlib_apt32f102_rtc.o), (72 bytes). + Removing .text.RTC_Function_Config(Obj/FWlib_apt32f102_rtc.o), (44 bytes). + Removing .text.RTC_Start(Obj/FWlib_apt32f102_rtc.o), (44 bytes). + Removing .text.RTC_Stop(Obj/FWlib_apt32f102_rtc.o), (44 bytes). + Removing .text.RTC_TIMR_DATR_SET(Obj/FWlib_apt32f102_rtc.o), (68 bytes). + Removing .text.RTC_TIMR_DATR_Read(Obj/FWlib_apt32f102_rtc.o), (84 bytes). + Removing .text.RTC_Alarm_TIMR_DATR_SET(Obj/FWlib_apt32f102_rtc.o), (172 bytes). + Removing .text.RTC_AlarmA_TIMR_DATR_Read(Obj/FWlib_apt32f102_rtc.o), (60 bytes). + Removing .text.RTC_AlarmB_TIMR_DATR_Read(Obj/FWlib_apt32f102_rtc.o), (60 bytes). + Removing .text.RTC_TRGSRC0_Config(Obj/FWlib_apt32f102_rtc.o), (40 bytes). + Removing .text.RTC_TRGSRC1_Config(Obj/FWlib_apt32f102_rtc.o), (40 bytes). + Removing .text.RTC_TRGSRC0_SWFTRG(Obj/FWlib_apt32f102_rtc.o), (16 bytes). + Removing .text.RTC_TRGSRC1_SWFTRG(Obj/FWlib_apt32f102_rtc.o), (16 bytes). + Removing .text.RTC_Int_Enable(Obj/FWlib_apt32f102_rtc.o), (20 bytes). + Removing .text.RTC_Int_Disable(Obj/FWlib_apt32f102_rtc.o), (16 bytes). + Removing .text.RTC_Vector_Int_Enable(Obj/FWlib_apt32f102_rtc.o), (16 bytes). + Removing .text.RTC_Vector_Int_Disable(Obj/FWlib_apt32f102_rtc.o), (16 bytes). + Removing .text.RTC_WakeUp_Enable(Obj/FWlib_apt32f102_rtc.o), (16 bytes). + Removing .text.RTC_WakeUp_Disable(Obj/FWlib_apt32f102_rtc.o), (16 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_rtc.o), (8815 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_rtc.o), (494 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_rtc.o), (535 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_rtc.o), (192 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_rtc.o), (176 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_rtc.o), (606 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_rtc.o), (4847 bytes). + Removing .comment(Obj/FWlib_apt32f102_rtc.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_rtc.o), (428 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_rtc.o), (32 bytes). + Removing COMMON(Obj/FWlib_apt32f102_rtc.o), (15 bytes). + Removing .text(Obj/FWlib_apt32f102_adc.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_adc.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_adc.o), (0 bytes). + Removing .text.ADC12_RESET_VALUE(Obj/FWlib_apt32f102_adc.o), (100 bytes). + Removing .text.ADC12_Control(Obj/FWlib_apt32f102_adc.o), (16 bytes). + Removing .text.ADC12_CMD.part.0(Obj/FWlib_apt32f102_adc.o), (32 bytes). + Removing .text.ADC12_ConfigInterrupt_CMD(Obj/FWlib_apt32f102_adc.o), (32 bytes). + Removing .text.ADC12_Read_IntEnStatus(Obj/FWlib_apt32f102_adc.o), (20 bytes). + Removing .text.ADC12_CLK_CMD(Obj/FWlib_apt32f102_adc.o), (44 bytes). + Removing .text.ADC12_Software_Reset(Obj/FWlib_apt32f102_adc.o), (10 bytes). + Removing .text.ADC12_CMD(Obj/FWlib_apt32f102_adc.o), (40 bytes). + Removing .text.ADC12_ready_wait(Obj/FWlib_apt32f102_adc.o), (20 bytes). + Removing .text.ADC12_EOC_wait(Obj/FWlib_apt32f102_adc.o), (20 bytes). + Removing .text.ADC12_SEQEND_wait(Obj/FWlib_apt32f102_adc.o), (24 bytes). + Removing .text.ADC12_DATA_OUPUT(Obj/FWlib_apt32f102_adc.o), (20 bytes). + Removing .text.ADC12_Configure_Mode(Obj/FWlib_apt32f102_adc.o), (124 bytes). + Removing .text.ADC12_Configure_VREF_Selecte(Obj/FWlib_apt32f102_adc.o), (408 bytes). + Removing .text.ADC12_CompareFunction_set(Obj/FWlib_apt32f102_adc.o), (32 bytes). + Removing .text.ADC12_ConversionChannel_Config(Obj/FWlib_apt32f102_adc.o), (384 bytes). + Removing .text.ADC12_Compare_statue(Obj/FWlib_apt32f102_adc.o), (44 bytes). + Removing .text.ADC_Int_Enable(Obj/FWlib_apt32f102_adc.o), (28 bytes). + Removing .text.ADC_Int_Disable(Obj/FWlib_apt32f102_adc.o), (12 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_adc.o), (8666 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_adc.o), (663 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_adc.o), (936 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_adc.o), (176 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_adc.o), (160 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_adc.o), (684 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_adc.o), (4955 bytes). + Removing .comment(Obj/FWlib_apt32f102_adc.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_adc.o), (400 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_adc.o), (32 bytes). + Removing .text(Obj/FWlib_apt32f102_ifc.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_ifc.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_ifc.o), (1 bytes). + Removing .text.ChipErase(Obj/FWlib_apt32f102_ifc.o), (36 bytes). + Removing .text.PageErase(Obj/FWlib_apt32f102_ifc.o), (36 bytes). + Removing .text.Page_ProgramData_int(Obj/FWlib_apt32f102_ifc.o), (156 bytes). + Removing .text.Page_ProgramData(Obj/FWlib_apt32f102_ifc.o), (160 bytes). + Removing .text.Page_ProgramData_U32(Obj/FWlib_apt32f102_ifc.o), (124 bytes). + Removing .text.ReadDataArry(Obj/FWlib_apt32f102_ifc.o), (46 bytes). + Removing .text.ReadDataArry_U32(Obj/FWlib_apt32f102_ifc.o), (22 bytes). + Removing .text.IFC_interrupt_CMD(Obj/FWlib_apt32f102_ifc.o), (28 bytes). + Removing .text.IFC_Int_Enable(Obj/FWlib_apt32f102_ifc.o), (28 bytes). + Removing .text.IFC_Int_Disable(Obj/FWlib_apt32f102_ifc.o), (12 bytes). + Removing COMMON(Obj/FWlib_apt32f102_ifc.o), (4 bytes). + Removing .text(Obj/FWlib_apt32f102_tkey_parameter.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_tkey_parameter.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_tkey_parameter.o), (0 bytes). + Removing .text.tk_parameter_init(Obj/FWlib_apt32f102_tkey_parameter.o), (304 bytes). + Removing .text(Obj/FWlib_apt32f102_coret.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_coret.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_coret.o), (0 bytes). + Removing .text.CORET_DeInit(Obj/FWlib_apt32f102_coret.o), (24 bytes). + Removing .text.CORET_Int_Enable(Obj/FWlib_apt32f102_coret.o), (24 bytes). + Removing .text.CORET_Int_Disable(Obj/FWlib_apt32f102_coret.o), (12 bytes). + Removing .text.CORET_WakeUp_Enable(Obj/FWlib_apt32f102_coret.o), (12 bytes). + Removing .text.CORET_WakeUp_Disable(Obj/FWlib_apt32f102_coret.o), (12 bytes). + Removing .text.CORET_start(Obj/FWlib_apt32f102_coret.o), (16 bytes). + Removing .text.CORET_stop(Obj/FWlib_apt32f102_coret.o), (16 bytes). + Removing .text.CORET_CLKSOURCE_EX(Obj/FWlib_apt32f102_coret.o), (16 bytes). + Removing .text.CORET_CLKSOURCE_IN(Obj/FWlib_apt32f102_coret.o), (16 bytes). + Removing .text.CORET_TICKINT_Enable(Obj/FWlib_apt32f102_coret.o), (16 bytes). + Removing .text.CORET_TICKINT_Disable(Obj/FWlib_apt32f102_coret.o), (16 bytes). + Removing .text.CORET_reload(Obj/FWlib_apt32f102_coret.o), (16 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_coret.o), (7132 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_coret.o), (295 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_coret.o), (120 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_coret.o), (104 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_coret.o), (323 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_coret.o), (2853 bytes). + Removing .comment(Obj/FWlib_apt32f102_coret.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_coret.o), (208 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_coret.o), (32 bytes). + Removing .text(Obj/main.o), (0 bytes). + Removing .data(Obj/main.o), (0 bytes). + Removing .text(Obj/mcu_initial.o), (0 bytes). + Removing .data(Obj/mcu_initial.o), (0 bytes). + Removing .bss(Obj/mcu_initial.o), (0 bytes). + Removing .text.GPIO_CONFIG(Obj/mcu_initial.o), (76 bytes). + Removing .text.EPT0_CONFIG(Obj/mcu_initial.o), (96 bytes). + Removing .text.UART0_CONFIG(Obj/mcu_initial.o), (52 bytes). + Removing .text.UART1_CONFIG(Obj/mcu_initial.o), (52 bytes). + Removing .text.UART2_CONFIG(Obj/mcu_initial.o), (36 bytes). + Removing .text.ADC12_CONFIG(Obj/mcu_initial.o), (114 bytes). + Removing .text.SIO_CONFIG(Obj/mcu_initial.o), (64 bytes). + Removing .text(Obj/mcu_interrupt.o), (0 bytes). + Removing .data(Obj/mcu_interrupt.o), (1 bytes). + Removing .text.SystemDesPtr(Obj/mcu_interrupt.o), (2 bytes). + Removing .text(Obj/drivers_apt32f102.o), (0 bytes). + Removing .bss(Obj/drivers_apt32f102.o), (0 bytes). + Removing .text.__modsi3(Obj/drivers_apt32f102.o), (36 bytes). + Removing .text(Obj/drivers_apt32f102_ck801.o), (0 bytes). + Removing .data(Obj/drivers_apt32f102_ck801.o), (0 bytes). + Removing .bss(Obj/drivers_apt32f102_ck801.o), (0 bytes). + Removing .text.CK801_Init(Obj/drivers_apt32f102_ck801.o), (108 bytes). + Removing .text.force_interrupt(Obj/drivers_apt32f102_ck801.o), (24 bytes). + Removing .text(Obj/SYSTEM_uart.o), (0 bytes). + Removing .data(Obj/SYSTEM_uart.o), (4 bytes). + Removing .text.UART0_TASK(Obj/SYSTEM_uart.o), (64 bytes). + Removing .text.UART_Waiting_For_Send(Obj/SYSTEM_uart.o), (32 bytes). + Removing .text.MCU485_SendData(Obj/SYSTEM_uart.o), (152 bytes). + Removing .text.Clear_SendFlag(Obj/SYSTEM_uart.o), (16 bytes). + Removing .text.BUS485_Jump_Boot(Obj/SYSTEM_uart.o), (12 bytes). + Removing .text.Get_BUS485_Send_State(Obj/SYSTEM_uart.o), (28 bytes). + Removing .text.Dbg_Print(Obj/SYSTEM_uart.o), (12 bytes). + Removing .text.Dbg_Print_Buff(Obj/SYSTEM_uart.o), (2 bytes). + Removing .text(Obj/SYSTEM_eeprom.o), (0 bytes). + Removing .data(Obj/SYSTEM_eeprom.o), (0 bytes). + Removing .bss(Obj/SYSTEM_eeprom.o), (0 bytes). + Removing .text.EEPROM_WriteParaInfo(Obj/SYSTEM_eeprom.o), (68 bytes). + Removing .text.EEPROM_ClearParaInfo(Obj/SYSTEM_eeprom.o), (36 bytes). + Removing .text.EEPROM_ReadMCUDevInfo(Obj/SYSTEM_eeprom.o), (112 bytes). + Removing .text.EEPROM_WriteMCUDevInfo(Obj/SYSTEM_eeprom.o), (64 bytes). + Removing .text.EEPROM_Default_MCUDevInfo(Obj/SYSTEM_eeprom.o), (56 bytes). + Removing .text.EEPROM_Validate_MCUDevInfo(Obj/SYSTEM_eeprom.o), (88 bytes). + Removing .text(Obj/SYSTEM_Bootload_fun.o), (0 bytes). + Removing .data(Obj/SYSTEM_Bootload_fun.o), (0 bytes). + Removing .bss(Obj/SYSTEM_Bootload_fun.o), (0 bytes). + Removing .text.Boot_Function_Init(Obj/SYSTEM_Bootload_fun.o), (96 bytes). + Removing .text.Boot_Comm_CheckSum(Obj/SYSTEM_Bootload_fun.o), (36 bytes). + Removing .text.NetCRC16(Obj/SYSTEM_Bootload_fun.o), (60 bytes). + Removing .text.Boot_Comm_FillReplyPack(Obj/SYSTEM_Bootload_fun.o), (92 bytes). + Removing .text.APP_Flash_AllEase(Obj/SYSTEM_Bootload_fun.o), (28 bytes). + Removing .text.MCU_EEPROM_AllEase(Obj/SYSTEM_Bootload_fun.o), (32 bytes). + Removing .text.APP_FEATURE_Flash_Ease(Obj/SYSTEM_Bootload_fun.o), (12 bytes). + Removing .text.Boot_Time_Refresh(Obj/SYSTEM_Bootload_fun.o), (20 bytes). + Removing .text.Boot_Comm_UpgradeProcess(Obj/SYSTEM_Bootload_fun.o), (392 bytes). + Removing .text.Boot_TimeOut_Task(Obj/SYSTEM_Bootload_fun.o), (28 bytes). + Removing .text.Jump_To_APP(Obj/SYSTEM_Bootload_fun.o), (28 bytes). + Removing .text.Check_APP_Feature(Obj/SYSTEM_Bootload_fun.o), (264 bytes). + Removing .debug_info(Obj/SYSTEM_Bootload_fun.o), (12776 bytes). + Removing .debug_abbrev(Obj/SYSTEM_Bootload_fun.o), (794 bytes). + Removing .debug_loc(Obj/SYSTEM_Bootload_fun.o), (702 bytes). + Removing .debug_aranges(Obj/SYSTEM_Bootload_fun.o), (120 bytes). + Removing .debug_ranges(Obj/SYSTEM_Bootload_fun.o), (136 bytes). + Removing .debug_line(Obj/SYSTEM_Bootload_fun.o), (972 bytes). + Removing .debug_str(Obj/SYSTEM_Bootload_fun.o), (9889 bytes). + Removing .comment(Obj/SYSTEM_Bootload_fun.o), (67 bytes). + Removing .debug_frame(Obj/SYSTEM_Bootload_fun.o), (356 bytes). + Removing .csky.attributes(Obj/SYSTEM_Bootload_fun.o), (32 bytes). + Removing COMMON(Obj/SYSTEM_Bootload_fun.o), (572 bytes). + Removing .text(Obj/SYSTEM_tempctrl_unit.o), (0 bytes). + Removing .data(Obj/SYSTEM_tempctrl_unit.o), (0 bytes). + Removing .text.Ctrller_Query_AirFun(Obj/SYSTEM_tempctrl_unit.o), (68 bytes). + Removing .text.Ctrller_Query_AirState(Obj/SYSTEM_tempctrl_unit.o), (68 bytes). + Removing .text.Ctrller_AirFun_Processing(Obj/SYSTEM_tempctrl_unit.o), (8 bytes). + Removing .text.Ctrller_AirState_Processing(Obj/SYSTEM_tempctrl_unit.o), (212 bytes). + Removing .text(Obj/SYSTEM_uart_protocol.o), (0 bytes). + Removing .data(Obj/SYSTEM_uart_protocol.o), (0 bytes). + Removing .bss(Obj/SYSTEM_uart_protocol.o), (0 bytes). + Removing .text.SOR_CRC(Obj/SYSTEM_uart_protocol.o), (22 bytes). + Removing .text(Obj/SYSTEM_dip_switch.o), (0 bytes). + Removing .data(Obj/SYSTEM_dip_switch.o), (0 bytes). + Removing .text(Obj/__rt_entry.o), (240 bytes). + Removing .data(Obj/__rt_entry.o), (0 bytes). + Removing .bss(Obj/__rt_entry.o), (0 bytes). + Removing .debug_line(Obj/__rt_entry.o), (131 bytes). + Removing .debug_info(Obj/__rt_entry.o), (118 bytes). + Removing .debug_abbrev(Obj/__rt_entry.o), (20 bytes). + Removing .debug_aranges(Obj/__rt_entry.o), (32 bytes). + Removing .csky.attributes(Obj/__rt_entry.o), (32 bytes). + Removing .text(FWlib_apt32f102_tkey_f_1_18.o), (0 bytes). + Removing .text.TK_ConfigInterrupt_CMD.part.0(FWlib_apt32f102_tkey_f_1_18.o), (16 bytes). + Removing .text.tk_sram_clr(FWlib_apt32f102_tkey_f_1_18.o), (560 bytes). + Removing .text.TK_DeInit(FWlib_apt32f102_tkey_f_1_18.o), (60 bytes). + Removing .text.tk_clk_config(FWlib_apt32f102_tkey_f_1_18.o), (40 bytes). + Removing .text.TK_con0_config(FWlib_apt32f102_tkey_f_1_18.o), (188 bytes). + Removing .text.tk_scan_config(FWlib_apt32f102_tkey_f_1_18.o), (40 bytes). + Removing .text.TK_ConfigInterrupt_CMD(FWlib_apt32f102_tkey_f_1_18.o), (32 bytes). + Removing .text.tk_io_enable(FWlib_apt32f102_tkey_f_1_18.o), (308 bytes). + Removing .text.lpt_init(FWlib_apt32f102_tkey_f_1_18.o), (76 bytes). + Removing .text.TK_setup_sleep(FWlib_apt32f102_tkey_f_1_18.o), (92 bytes). + Removing .text.TK_quit_sleep(FWlib_apt32f102_tkey_f_1_18.o), (40 bytes). + Removing .text.TK_Baseline_prog(FWlib_apt32f102_tkey_f_1_18.o), (336 bytes). + Removing .text.TK_Baseline_prog2(FWlib_apt32f102_tkey_f_1_18.o), (328 bytes). + Removing .text.tk_poweron_data_fineturn(FWlib_apt32f102_tkey_f_1_18.o), (292 bytes). + Removing .text.get_key_seq(FWlib_apt32f102_tkey_f_1_18.o), (56 bytes). + Removing .text.CORET_CONFIG(FWlib_apt32f102_tkey_f_1_18.o), (56 bytes). + Removing .text.tk_chxval_seqxcon_clr(FWlib_apt32f102_tkey_f_1_18.o), (28 bytes). + Removing .text.tk_freq_para_init(FWlib_apt32f102_tkey_f_1_18.o), (172 bytes). + Removing .text.tk_reserved_init(FWlib_apt32f102_tkey_f_1_18.o), (40 bytes). + Removing .text.tk_init(FWlib_apt32f102_tkey_f_1_18.o), (272 bytes). + Removing .text.tk_prgm(FWlib_apt32f102_tkey_f_1_18.o), (2 bytes). + Removing .text(FWlib_apt32f102_clkcalib.o), (0 bytes). + Removing .data(FWlib_apt32f102_clkcalib.o), (0 bytes). + Removing .bss(FWlib_apt32f102_clkcalib.o), (0 bytes). + Removing .data(pow.o), (0 bytes). + Removing .bss(pow.o), (0 bytes). + Removing .data(fabs.o), (0 bytes). + Removing .bss(fabs.o), (0 bytes). + Removing .data(scalbn.o), (0 bytes). + Removing .bss(scalbn.o), (0 bytes). + Removing .data(sqrt.o), (0 bytes). + Removing .bss(sqrt.o), (0 bytes). + Removing .data(_csky_case_uqi.o), (0 bytes). + Removing .bss(_csky_case_uqi.o), (0 bytes). + Removing .data(_fixunsdfsi.o), (0 bytes). + Removing .bss(_fixunsdfsi.o), (0 bytes). + Removing .data(_addsub_df.o), (0 bytes). + Removing .bss(_addsub_df.o), (0 bytes). + Removing .data(_mul_df.o), (0 bytes). + Removing .bss(_mul_df.o), (0 bytes). + Removing .data(_div_df.o), (0 bytes). + Removing .bss(_div_df.o), (0 bytes). + Removing .data(_gt_df.o), (0 bytes). + Removing .bss(_gt_df.o), (0 bytes). + Removing .data(_ge_df.o), (0 bytes). + Removing .bss(_ge_df.o), (0 bytes). + Removing .data(_le_df.o), (0 bytes). + Removing .bss(_le_df.o), (0 bytes). + Removing .data(_si_to_df.o), (0 bytes). + Removing .bss(_si_to_df.o), (0 bytes). + Removing .data(_df_to_si.o), (0 bytes). + Removing .bss(_df_to_si.o), (0 bytes). + Removing .text(_thenan_df.o), (0 bytes). + Removing .data(_thenan_df.o), (0 bytes). + Removing .bss(_thenan_df.o), (0 bytes). + Removing .data(_usi_to_df.o), (0 bytes). + Removing .bss(_usi_to_df.o), (0 bytes). + Removing .data(_muldi3.o), (0 bytes). + Removing .bss(_muldi3.o), (0 bytes). + Removing .data(_clzsi2.o), (0 bytes). + Removing .bss(_clzsi2.o), (0 bytes). + Removing .data(_pack_df.o), (0 bytes). + Removing .bss(_pack_df.o), (0 bytes). + Removing .data(_unpack_df.o), (0 bytes). + Removing .bss(_unpack_df.o), (0 bytes). + Removing .data(_fpcmp_parts_df.o), (0 bytes). + Removing .bss(_fpcmp_parts_df.o), (0 bytes). + Removing .text(_clz.o), (0 bytes). + Removing .data(_clz.o), (0 bytes). + Removing .bss(_clz.o), (0 bytes). + Removing .data(memset_fast.o), (0 bytes). + Removing .bss(memset_fast.o), (0 bytes). + Removing .data(memcpy_fast.o), (0 bytes). + Removing .bss(memcpy_fast.o), (0 bytes). + Removing .text(strncmp.o), (38 bytes). + Removing .data(strncmp.o), (0 bytes). + Removing .bss(strncmp.o), (0 bytes). + Removing .csky.attributes(strncmp.o), (32 bytes). + +657 unused seciton(s) (total 213437 bytes) removed from the image. + +====================================================================== + +Image Symbol Table + + Local Symbols + + Symbol Name Value Type Size Section + FWlib_apt32f102_clkcalib.o 0x00000000 df 0 *ABS* + FWlib_apt32f102_tkey_f_1_18.o 0x00000000 df 0 *ABS* + Obj/FWlib_apt32f102_bt.o 0x00000000 df 0 *ABS* + Obj/FWlib_apt32f102_ept.o 0x00000000 df 0 *ABS* + Obj/FWlib_apt32f102_gpio.o 0x00000000 df 0 *ABS* + Obj/FWlib_apt32f102_ifc.o 0x00000000 df 0 *ABS* + Obj/FWlib_apt32f102_lpt.o 0x00000000 df 0 *ABS* + Obj/FWlib_apt32f102_syscon.o 0x00000000 df 0 *ABS* + Obj/FWlib_apt32f102_uart.o 0x00000000 df 0 *ABS* + Obj/FWlib_apt32f102_wwdt.o 0x00000000 df 0 *ABS* + Obj/SYSTEM_dip_switch.o 0x00000000 df 0 *ABS* + Obj/SYSTEM_eeprom.o 0x00000000 df 0 *ABS* + Obj/SYSTEM_tempctrl_unit.o 0x00000000 df 0 *ABS* + Obj/SYSTEM_uart.o 0x00000000 df 0 *ABS* + Obj/SYSTEM_uart_protocol.o 0x00000000 df 0 *ABS* + Obj/arch_crt0.o 0x00000000 df 0 *ABS* + Obj/arch_mem_init.o 0x00000000 df 0 *ABS* + Obj/drivers_apt32f102.o 0x00000000 df 0 *ABS* + Obj/drivers_apt32f102_ck801.o 0x00000000 df 0 *ABS* + Obj/main.o 0x00000000 df 0 *ABS* + Obj/mcu_initial.o 0x00000000 df 0 *ABS* + Obj/mcu_interrupt.o 0x00000000 df 0 *ABS* + _addsub_df.o 0x00000000 df 0 *ABS* + _clzsi2.o 0x00000000 df 0 *ABS* + _csky_case_uqi.o 0x00000000 df 0 *ABS* + _df_to_si.o 0x00000000 df 0 *ABS* + _div_df.o 0x00000000 df 0 *ABS* + _fixunsdfsi.o 0x00000000 df 0 *ABS* + _fpcmp_parts_df.o 0x00000000 df 0 *ABS* + _ge_df.o 0x00000000 df 0 *ABS* + _gt_df.o 0x00000000 df 0 *ABS* + _le_df.o 0x00000000 df 0 *ABS* + _mul_df.o 0x00000000 df 0 *ABS* + _muldi3.o 0x00000000 df 0 *ABS* + _pack_df.o 0x00000000 df 0 *ABS* + _si_to_df.o 0x00000000 df 0 *ABS* + _unpack_df.o 0x00000000 df 0 *ABS* + _usi_to_df.o 0x00000000 df 0 *ABS* + fabs.o 0x00000000 df 0 *ABS* + memcpy_fast.o 0x00000000 df 0 *ABS* + memset_fast.o 0x00000000 df 0 *ABS* + pow.o 0x00000000 df 0 *ABS* + scalbn.o 0x00000000 df 0 *ABS* + sqrt.o 0x00000000 df 0 *ABS* + $d 0x00000000 0 .text + $t 0x0000010c 0 .text + INIT_KERLE_STACK 0x0000013e 0 .text + __to_main 0x00000146 0 .text + __dummy 0x00000182 0 .text + $d 0x00000186 0 .text + $d 0x000001b4 0 .text + $t 0x000001b4 0 .text + $d 0x00000578 0 .text + $t 0x000005e0 0 .text + $d 0x00000aa8 0 .text + $t 0x00000b58 0 .text + $d 0x00000b5e 0 .text + $t 0x00000b5e 0 .text + $d 0x00000b64 0 .text + $t 0x00000b64 0 .text + $d 0x00000b80 0 .text + $d 0x00000b84 0 .text + $t 0x00000b84 0 .text + $d 0x00000cf0 0 .text + $d 0x00000cfc 0 .text + $t 0x00000cfc 0 .text + $d 0x00000d10 0 .text + $t 0x00000d10 0 .text + $d 0x00000d44 0 .text + _fpadd_parts 0x00000d48 F 724 .text + $d 0x00000d48 0 .text + $t 0x00000d48 0 .text + $d 0x00001010 0 .text + $t 0x0000101c 0 .text + $d 0x00001084 0 .text + $t 0x00001084 0 .text + $d 0x000012ac 0 .text + $d 0x000012b8 0 .text + $t 0x000012b8 0 .text + $d 0x00001408 0 .text + $d 0x0000140c 0 .text + $t 0x0000140c 0 .text + $d 0x00001448 0 .text + $t 0x00001448 0 .text + $d 0x00001484 0 .text + $t 0x00001484 0 .text + $d 0x000014c0 0 .text + $t 0x000014c0 0 .text + $d 0x0000152c 0 .text + $d 0x00001530 0 .text + $t 0x00001530 0 .text + $d 0x0000159c 0 .text + $d 0x000015a0 0 .text + $t 0x000015a0 0 .text + $d 0x000015f4 0 .text + $t 0x000015f4 0 .text + $d 0x00001638 0 .text + $t 0x00001638 0 .text + $d 0x0000166c 0 .text + $d 0x00001678 0 .text + $t 0x00001678 0 .text + $d 0x00001800 0 .text + $d 0x00001814 0 .text + $t 0x00001814 0 .text + $d 0x000018cc 0 .text + $d 0x000018d8 0 .text + $t 0x000018d8 0 .text + $d 0x00001964 0 .text + $t 0x00001964 0 .text + $d 0x000019ec 0 .text + $t 0x000019ec 0 .text + $d 0x00001a50 0 .text.__main + $t 0x00001a50 0 .text.__main + $d 0x00001a74 0 .text.__main + SYSCON_General_CMD.part.0 0x00001a88 F 116 .text.SYSCON_General_CMD.part.0 + $d 0x00001a88 0 .text.SYSCON_General_CMD.part.0 + $t 0x00001a88 0 .text.SYSCON_General_CMD.part.0 + $d 0x00001af4 0 .text.SYSCON_General_CMD.part.0 + $d 0x00001afc 0 .text.SYSCON_RST_VALUE + $t 0x00001afc 0 .text.SYSCON_RST_VALUE + $d 0x00001b2c 0 .text.SYSCON_RST_VALUE + $d 0x00001b48 0 .text.SYSCON_General_CMD + $t 0x00001b48 0 .text.SYSCON_General_CMD + $d 0x00001b74 0 .text.SYSCON_General_CMD + $d 0x00001b78 0 .text.SystemCLK_HCLKDIV_PCLKDIV_Config + $t 0x00001b78 0 .text.SystemCLK_HCLKDIV_PCLKDIV_Config + $d 0x00001bf0 0 .text.SystemCLK_HCLKDIV_PCLKDIV_Config + $d 0x00001c00 0 .text.SYSCON_HFOSC_SELECTE + $t 0x00001c00 0 .text.SYSCON_HFOSC_SELECTE + $d 0x00001c24 0 .text.SYSCON_HFOSC_SELECTE + $d 0x00001c28 0 .text.SYSCON_WDT_CMD + $t 0x00001c28 0 .text.SYSCON_WDT_CMD + $d 0x00001c58 0 .text.SYSCON_WDT_CMD + $d 0x00001c64 0 .text.SYSCON_IWDCNT_Reload + $t 0x00001c64 0 .text.SYSCON_IWDCNT_Reload + $d 0x00001c74 0 .text.SYSCON_IWDCNT_Reload + $d 0x00001c78 0 .text.SYSCON_IWDCNT_Config + $t 0x00001c78 0 .text.SYSCON_IWDCNT_Config + $d 0x00001c88 0 .text.SYSCON_IWDCNT_Config + $d 0x00001c90 0 .text.SYSCON_LVD_Config + $t 0x00001c90 0 .text.SYSCON_LVD_Config + $d 0x00001ca8 0 .text.SYSCON_LVD_Config + $d 0x00001cb0 0 .text.LVD_Int_Enable + $t 0x00001cb0 0 .text.LVD_Int_Enable + $d 0x00001cc8 0 .text.LVD_Int_Enable + $d 0x00001ccc 0 .text.IWDT_Int_Enable + $t 0x00001ccc 0 .text.IWDT_Int_Enable + $d 0x00001ce4 0 .text.IWDT_Int_Enable + $d 0x00001ce8 0 .text.EXTI_trigger_CMD + $t 0x00001ce8 0 .text.EXTI_trigger_CMD + $d 0x00001d24 0 .text.EXTI_trigger_CMD + $d 0x00001d28 0 .text.EXTI_interrupt_CMD + $t 0x00001d28 0 .text.EXTI_interrupt_CMD + $d 0x00001d54 0 .text.EXTI_interrupt_CMD + $d 0x00001d5c 0 .text.GPIO_EXTI_interrupt + $t 0x00001d5c 0 .text.GPIO_EXTI_interrupt + $d 0x00001d60 0 .text.EXI3_Int_Enable + $t 0x00001d60 0 .text.EXI3_Int_Enable + $d 0x00001d6c 0 .text.EXI3_Int_Enable + $d 0x00001d70 0 .text.SYSCON_Int_Enable + $t 0x00001d70 0 .text.SYSCON_Int_Enable + $d 0x00001d78 0 .text.SYSCON_Int_Enable + $d 0x00001d7c 0 .text.SYSCON_Int_Disable + $t 0x00001d7c 0 .text.SYSCON_Int_Disable + $d 0x00001d84 0 .text.SYSCON_Int_Disable + $d 0x00001d88 0 .text.SYSCON_INT_Priority + $t 0x00001d88 0 .text.SYSCON_INT_Priority + $d 0x00001da0 0 .text.SYSCON_INT_Priority + $d 0x00001dac 0 .text.Set_INT_Priority + $t 0x00001dac 0 .text.Set_INT_Priority + $d 0x00001dd8 0 .text.Set_INT_Priority + $d 0x00001ddc 0 .text.GPIO_DeInit + $t 0x00001ddc 0 .text.GPIO_DeInit + $d 0x00001e30 0 .text.GPIO_DeInit + $d 0x00001e40 0 .text.GPIO_Init + $t 0x00001e40 0 .text.GPIO_Init + $d 0x00001e52 0 .text.GPIO_Init + $t 0x00001e5a 0 .text.GPIO_Init + $d 0x00001eb6 0 .text.GPIO_Init + $t 0x00001ebe 0 .text.GPIO_Init + $d 0x00001f0c 0 .text.GPIO_Init + $d 0x00001f20 0 .text.GPIO_PullHigh_Init + $t 0x00001f20 0 .text.GPIO_PullHigh_Init + $d 0x00001f34 0 .text.GPIO_DriveStrength_EN + $t 0x00001f34 0 .text.GPIO_DriveStrength_EN + $d 0x00001f44 0 .text.GPIO_IntGroup_Set + $t 0x00001f44 0 .text.GPIO_IntGroup_Set + $d 0x00002038 0 .text.GPIO_IntGroup_Set + $d 0x00002050 0 .text.GPIOB0_EXI_Init + $t 0x00002050 0 .text.GPIOB0_EXI_Init + $d 0x0000205c 0 .text.GPIOB0_EXI_Init + $t 0x00002062 0 .text.GPIOB0_EXI_Init + $d 0x000020b8 0 .text.GPIOB0_EXI_Init + $d 0x000020bc 0 .text.GPIO_Write_High + $t 0x000020bc 0 .text.GPIO_Write_High + $d 0x000020c4 0 .text.GPIO_Write_Low + $t 0x000020c4 0 .text.GPIO_Write_Low + $d 0x000020cc 0 .text.GPIO_Reverse + $t 0x000020cc 0 .text.GPIO_Reverse + $d 0x000020e2 0 .text.GPIO_Read_Status + $t 0x000020e2 0 .text.GPIO_Read_Status + $d 0x000020f4 0 .text.LPT_Soft_Reset + $t 0x000020f4 0 .text.LPT_Soft_Reset + $d 0x00002104 0 .text.LPT_Soft_Reset + $d 0x00002108 0 .text.WWDT_CNT_Load + $t 0x00002108 0 .text.WWDT_CNT_Load + $d 0x00002114 0 .text.WWDT_CNT_Load + $d 0x00002118 0 .text.BT_DeInit + $t 0x00002118 0 .text.BT_DeInit + $d 0x00002134 0 .text.BT_Start + $t 0x00002134 0 .text.BT_Start + $d 0x0000213c 0 .text.BT_Soft_Reset + $t 0x0000213c 0 .text.BT_Soft_Reset + $d 0x00002146 0 .text.BT_Configure + $t 0x00002146 0 .text.BT_Configure + $d 0x0000215e 0 .text.BT_ControlSet_Configure + $t 0x0000215e 0 .text.BT_ControlSet_Configure + $d 0x0000218a 0 .text.BT_Period_CMP_Write + $t 0x0000218a 0 .text.BT_Period_CMP_Write + $d 0x00002190 0 .text.BT_ConfigInterrupt_CMD + $t 0x00002190 0 .text.BT_ConfigInterrupt_CMD + $d 0x000021a4 0 .text.BT1_INT_ENABLE + $t 0x000021a4 0 .text.BT1_INT_ENABLE + $d 0x000021b0 0 .text.BT1_INT_ENABLE + $d 0x000021b4 0 .text.UART0_DeInit + $t 0x000021b4 0 .text.UART0_DeInit + $d 0x000021c8 0 .text.UART0_DeInit + $d 0x000021cc 0 .text.UART1_DeInit + $t 0x000021cc 0 .text.UART1_DeInit + $d 0x000021e0 0 .text.UART1_DeInit + $d 0x000021e4 0 .text.UART2_DeInit + $t 0x000021e4 0 .text.UART2_DeInit + $d 0x000021f8 0 .text.UART2_DeInit + $d 0x000021fc 0 .text.UART1_Int_Enable + $t 0x000021fc 0 .text.UART1_Int_Enable + $d 0x00002210 0 .text.UART1_Int_Enable + $d 0x00002218 0 .text.UART2_Int_Enable + $t 0x00002218 0 .text.UART2_Int_Enable + $d 0x0000222c 0 .text.UART2_Int_Enable + $d 0x00002234 0 .text.UART_IO_Init + $t 0x00002234 0 .text.UART_IO_Init + $d 0x00002318 0 .text.UART_IO_Init + $d 0x00002320 0 .text.UARTInitRxTxIntEn + $t 0x00002320 0 .text.UARTInitRxTxIntEn + $d 0x0000232c 0 .text.UARTInitRxTxIntEn + $d 0x00002330 0 .text.UARTTransmit + $t 0x00002330 0 .text.UARTTransmit + $d 0x00002350 0 .text.EPT_Stop + $t 0x00002350 0 .text.EPT_Stop + $d 0x00002370 0 .text.EPT_Stop + $d 0x00002378 0 .text.ReadDataArry_U8 + $t 0x00002378 0 .text.ReadDataArry_U8 + $d 0x000023a4 0 .text.startup.main + $t 0x000023a4 0 .text.startup.main + $d 0x000023d0 0 .text.startup.main + $d 0x000023d8 0 .text.delay_nms + $t 0x000023d8 0 .text.delay_nms + $d 0x00002404 0 .text.delay_nus + $t 0x00002404 0 .text.delay_nus + $d 0x00002428 0 .text.BT_CONFIG + $t 0x00002428 0 .text.BT_CONFIG + $d 0x00002480 0 .text.BT_CONFIG + $d 0x00002488 0 .text.SYSCON_CONFIG + $t 0x00002488 0 .text.SYSCON_CONFIG + $d 0x000024ec 0 .text.APT32F102_init + $t 0x000024ec 0 .text.APT32F102_init + $d 0x00002568 0 .text.APT32F102_init + $d 0x00002580 0 .text.SYSCONIntHandler + $t 0x00002580 0 .text.SYSCONIntHandler + $d 0x0000266c 0 .text.SYSCONIntHandler + $d 0x00002670 0 .text.IFCIntHandler + $t 0x00002670 0 .text.IFCIntHandler + $d 0x000026d4 0 .text.IFCIntHandler + $d 0x000026d8 0 .text.ADCIntHandler + $t 0x000026d8 0 .text.ADCIntHandler + $d 0x0000273c 0 .text.ADCIntHandler + $d 0x00002740 0 .text.EPT0IntHandler + $t 0x00002740 0 .text.EPT0IntHandler + $d 0x000028e0 0 .text.EPT0IntHandler + $d 0x000028ec 0 .text.WWDTHandler + $t 0x000028ec 0 .text.WWDTHandler + $d 0x0000291c 0 .text.WWDTHandler + $d 0x00002920 0 .text.GPT0IntHandler + $t 0x00002920 0 .text.GPT0IntHandler + $d 0x0000299c 0 .text.GPT0IntHandler + $d 0x000029a0 0 .text.RTCIntHandler + $t 0x000029a0 0 .text.RTCIntHandler + $d 0x00002a08 0 .text.RTCIntHandler + $d 0x00002a10 0 .text.UART0IntHandler + $t 0x00002a10 0 .text.UART0IntHandler + $d 0x00002a6c 0 .text.UART0IntHandler + $d 0x00002a70 0 .text.UART1IntHandler + $t 0x00002a70 0 .text.UART1IntHandler + $d 0x00002af0 0 .text.UART1IntHandler + $d 0x00002b04 0 .text.UART2IntHandler + $t 0x00002b04 0 .text.UART2IntHandler + $d 0x00002b84 0 .text.UART2IntHandler + $d 0x00002b98 0 .text.SPI0IntHandler + $t 0x00002b98 0 .text.SPI0IntHandler + $d 0x00002c7c 0 .text.SPI0IntHandler + $d 0x00002c80 0 .text.SIO0IntHandler + $t 0x00002c80 0 .text.SIO0IntHandler + $d 0x00002cd0 0 .text.SIO0IntHandler + $d 0x00002cd4 0 .text.EXI0IntHandler + $t 0x00002cd4 0 .text.EXI0IntHandler + $d 0x00002d00 0 .text.EXI0IntHandler + $d 0x00002d04 0 .text.EXI1IntHandler + $t 0x00002d04 0 .text.EXI1IntHandler + $d 0x00002d30 0 .text.EXI1IntHandler + $d 0x00002d34 0 .text.EXI2to3IntHandler + $t 0x00002d34 0 .text.EXI2to3IntHandler + $d 0x00002d78 0 .text.EXI2to3IntHandler + $d 0x00002d7c 0 .text.EXI4to9IntHandler + $t 0x00002d7c 0 .text.EXI4to9IntHandler + $d 0x00002de4 0 .text.EXI4to9IntHandler + $d 0x00002de8 0 .text.EXI10to15IntHandler + $t 0x00002de8 0 .text.EXI10to15IntHandler + $d 0x00002e44 0 .text.EXI10to15IntHandler + $d 0x00002e48 0 .text.LPTIntHandler + $t 0x00002e48 0 .text.LPTIntHandler + $d 0x00002e78 0 .text.LPTIntHandler + $d 0x00002e7c 0 .text.BT0IntHandler + $t 0x00002e7c 0 .text.BT0IntHandler + $d 0x00002ec4 0 .text.BT0IntHandler + $d 0x00002ec8 0 .text.BT1IntHandler + $t 0x00002ec8 0 .text.BT1IntHandler + $d 0x00002f30 0 .text.BT1IntHandler + $d 0x00002f38 0 .text.PriviledgeVioHandler + $t 0x00002f38 0 .text.PriviledgeVioHandler + $d 0x00002f3a 0 .text.PendTrapHandler + $t 0x00002f3a 0 .text.PendTrapHandler + $d 0x00002f42 0 .text.Trap3Handler + $t 0x00002f42 0 .text.Trap3Handler + $d 0x00002f4a 0 .text.Trap2Handler + $t 0x00002f4a 0 .text.Trap2Handler + $d 0x00002f52 0 .text.Trap1Handler + $t 0x00002f52 0 .text.Trap1Handler + $d 0x00002f5a 0 .text.Trap0Handler + $t 0x00002f5a 0 .text.Trap0Handler + $d 0x00002f62 0 .text.UnrecExecpHandler + $t 0x00002f62 0 .text.UnrecExecpHandler + $d 0x00002f6a 0 .text.BreakPointHandler + $t 0x00002f6a 0 .text.BreakPointHandler + $d 0x00002f72 0 .text.AccessErrHandler + $t 0x00002f72 0 .text.AccessErrHandler + $d 0x00002f7a 0 .text.IllegalInstrHandler + $t 0x00002f7a 0 .text.IllegalInstrHandler + $d 0x00002f82 0 .text.MisalignedHandler + $t 0x00002f82 0 .text.MisalignedHandler + $d 0x00002f8a 0 .text.CNTAIntHandler + $t 0x00002f8a 0 .text.CNTAIntHandler + $d 0x00002f92 0 .text.I2CIntHandler + $t 0x00002f92 0 .text.I2CIntHandler + $d 0x00002f9c 0 .text.__divsi3 + $t 0x00002f9c 0 .text.__divsi3 + $d 0x00002fbc 0 .text.__divsi3 + $d 0x00002fc0 0 .text.__udivsi3 + $t 0x00002fc0 0 .text.__udivsi3 + $d 0x00002fe0 0 .text.__udivsi3 + $d 0x00002fe4 0 .text.__umodsi3 + $t 0x00002fe4 0 .text.__umodsi3 + $d 0x00003004 0 .text.__umodsi3 + $d 0x00003008 0 .text.CK_CPU_EnAllNormalIrq + $t 0x00003008 0 .text.CK_CPU_EnAllNormalIrq + $d 0x0000300e 0 .text.CK_CPU_DisAllNormalIrq + $t 0x0000300e 0 .text.CK_CPU_DisAllNormalIrq + $d 0x00003014 0 .text.UARTx_Init + $t 0x00003014 0 .text.UARTx_Init + $d 0x00003138 0 .text.UARTx_Init + $d 0x0000316c 0 .text.UART0_RecvINT_Processing + $t 0x0000316c 0 .text.UART0_RecvINT_Processing + $d 0x00003198 0 .text.UART0_RecvINT_Processing + $d 0x000031a4 0 .text.UART1_RecvINT_Processing + $t 0x000031a4 0 .text.UART1_RecvINT_Processing + $d 0x000031d0 0 .text.UART1_RecvINT_Processing + $d 0x000031dc 0 .text.UART1_TASK + $t 0x000031dc 0 .text.UART1_TASK + $d 0x00003230 0 .text.UART1_TASK + $d 0x00003248 0 .text.UART2_RecvINT_Processing + $t 0x00003248 0 .text.UART2_RecvINT_Processing + $d 0x00003280 0 .text.UART2_RecvINT_Processing + $d 0x0000328c 0 .text.UART2_TASK + $t 0x0000328c 0 .text.UART2_TASK + $d 0x000032ec 0 .text.UART2_TASK + $d 0x00003304 0 .text.Controller485_SendData + $t 0x00003304 0 .text.Controller485_SendData + $d 0x0000339c 0 .text.Controller485_SendData + $d 0x000033ac 0 .text.BUS485_Send + $t 0x000033ac 0 .text.BUS485_Send + $d 0x00003458 0 .text.BUS485_Send + $d 0x00003470 0 .text.MultSend_Task + $t 0x00003470 0 .text.MultSend_Task + $d 0x000034dc 0 .text.MultSend_Task + $d 0x000034e4 0 .text.Set_GroupSend + $t 0x000034e4 0 .text.Set_GroupSend + $d 0x00003540 0 .text.Set_GroupSend + $d 0x00003548 0 .text.BUS485Send_Task + $t 0x00003548 0 .text.BUS485Send_Task + $d 0x00003570 0 .text.BUS485Send_Task + $d 0x0000357c 0 .text.BusIdle_Task + $t 0x0000357c 0 .text.BusIdle_Task + $d 0x000035b4 0 .text.BusIdle_Task + $d 0x000035bc 0 .text.BusBusy_Task + $t 0x000035bc 0 .text.BusBusy_Task + $d 0x0000360c 0 .text.BusBusy_Task + $d 0x00003618 0 .text.Dbg_Println + $t 0x00003618 0 .text.Dbg_Println + $d 0x00003624 0 .text.EEPROM_CheckSum + $t 0x00003624 0 .text.EEPROM_CheckSum + $d 0x0000363c 0 .text.EEPROM_ReadParaInfo + $t 0x0000363c 0 .text.EEPROM_ReadParaInfo + $d 0x000036a8 0 .text.EEPROM_ReadParaInfo + $d 0x000036b0 0 .text.EEPROM_Validate_ParaInfo + $t 0x000036b0 0 .text.EEPROM_Validate_ParaInfo + $d 0x000036dc 0 .text.EEPROM_Validate_ParaInfo + $d 0x000036e0 0 .text.EEPROM_Default_ParaInfo + $t 0x000036e0 0 .text.EEPROM_Default_ParaInfo + $d 0x00003700 0 .text.EEPROM_Init + $t 0x00003700 0 .text.EEPROM_Init + $d 0x00003748 0 .text.EEPROM_Init + $d 0x00003754 0 .text.TemCtrl_Init + $t 0x00003754 0 .text.TemCtrl_Init + $d 0x00003894 0 .text.TemCtrl_Init + $d 0x000038a8 0 .text.Ctrller_Ctrl_AirState + $t 0x000038a8 0 .text.Ctrller_Ctrl_AirState + $d 0x00003950 0 .text.Ctrller_Ctrl_AirState + $d 0x00003958 0 .text.TemCtrl_Pro + $t 0x00003958 0 .text.TemCtrl_Pro + $d 0x000039f8 0 .text.TemCtrl_Pro + $d 0x00003a08 0 .text.Ctrller_CtrlAirState_Processing + $t 0x00003a08 0 .text.Ctrller_CtrlAirState_Processing + $d 0x00003a24 0 .text.Ctrller_CtrlAirState_Processing + $d 0x00003a28 0 .text.Ctrller_RecData_Processing + $t 0x00003a28 0 .text.Ctrller_RecData_Processing + $d 0x00003abc 0 .text.Ctrller_RecData_Processing + $d 0x00003ad0 0 .text.NetCRC16_Check + $t 0x00003ad0 0 .text.NetCRC16_Check + $d 0x00003b14 0 .text.NetCRC16_Check + $d 0x00003b1c 0 .text.GetCRC16 + $t 0x00003b1c 0 .text.GetCRC16 + $d 0x00003b50 0 .text.GetCRC16 + $d 0x00003b58 0 .text.Rs485AskCtrlSend + $t 0x00003b58 0 .text.Rs485AskCtrlSend + $d 0x00003bb0 0 .text.Rs485AskCtrlSend + $d 0x00003bb4 0 .text.IrSend_Rs485_Pro + $t 0x00003bb4 0 .text.IrSend_Rs485_Pro + $d 0x00003c36 0 .text.IrSend_Rs485_Pro + $t 0x00003c3a 0 .text.IrSend_Rs485_Pro + $d 0x00003cb8 0 .text.IrSend_Rs485_Pro + $d 0x00003cc0 0 .text.DIP_GetSwitchState + $t 0x00003cc0 0 .text.DIP_GetSwitchState + $d 0x00003cf0 0 .text.DIP_GetSwitchState + $d 0x00003cf4 0 .text.DIP_Switch_Init + $t 0x00003cf4 0 .text.DIP_Switch_Init + $d 0x00003d74 0 .text.DIP_Switch_Init + $d 0x00003d80 0 .text.DIP_ScanTask + $t 0x00003d80 0 .text.DIP_ScanTask + $d 0x00003e08 0 .text.DIP_ScanTask + $d 0x00003e18 0 .text.TK_Single_Longpress_prg + $t 0x00003e18 0 .text.TK_Single_Longpress_prg + $d 0x00003f0c 0 .text.TK_Single_Longpress_prg + $d 0x00003f40 0 .text.TK_Sampling_prog + $t 0x00003f40 0 .text.TK_Sampling_prog + $d 0x00003fe8 0 .text.TK_Sampling_prog + $d 0x0000400c 0 .text.get_key_number + $t 0x0000400c 0 .text.get_key_number + $d 0x00004030 0 .text.get_key_number + $d 0x00004034 0 .text.get_key_number0 + $t 0x00004034 0 .text.get_key_number0 + $d 0x00004058 0 .text.get_key_number0 + $d 0x0000405c 0 .text.get_key_number1 + $t 0x0000405c 0 .text.get_key_number1 + $d 0x00004080 0 .text.get_key_number1 + $d 0x00004084 0 .text.get_key_number2 + $t 0x00004084 0 .text.get_key_number2 + $d 0x000040a8 0 .text.get_key_number2 + $d 0x000040ac 0 .text.TK_Scan_Start + $t 0x000040ac 0 .text.TK_Scan_Start + $d 0x000040f8 0 .text.TK_Scan_Start + $d 0x00004114 0 .text.TK_Keymap_prog + $t 0x00004114 0 .text.TK_Keymap_prog + $d 0x00004450 0 .text.TK_Keymap_prog + $t 0x000044d4 0 .text.TK_Keymap_prog + $d 0x00004830 0 .text.TK_Keymap_prog + $t 0x00004874 0 .text.TK_Keymap_prog + $d 0x00004970 0 .text.TK_Keymap_prog + $d 0x00004984 0 .text.TK_overflow_predict + $t 0x00004984 0 .text.TK_overflow_predict + $d 0x00004a78 0 .text.TK_overflow_predict + $d 0x00004aac 0 .text.TK_Baseline_tracking + $t 0x00004aac 0 .text.TK_Baseline_tracking + $d 0x00004e04 0 .text.TK_Baseline_tracking + $t 0x00004e60 0 .text.TK_Baseline_tracking + $d 0x00004f6c 0 .text.TK_Baseline_tracking + $d 0x00004f7c 0 .text.TK_result_prog + $t 0x00004f7c 0 .text.TK_result_prog + $d 0x0000507c 0 .text.TK_result_prog + $d 0x000050ac 0 .text.TKEYIntHandler + $t 0x000050ac 0 .text.TKEYIntHandler + $d 0x0000513c 0 .text.TKEYIntHandler + $d 0x0000514c 0 .text.CORETHandler + $t 0x0000514c 0 .text.CORETHandler + $d 0x00005274 0 .text.CORETHandler + $d 0x000052a8 0 .text.std_clk_calib + $t 0x000052a8 0 .text.std_clk_calib + $d 0x000054f0 0 .text.std_clk_calib + bp 0x0000552c O 16 .rodata + dp_l 0x0000553c O 16 .rodata + dp_h 0x0000554c O 16 .rodata + NUM.6205 0x200000b0 O 1 .bss + TemCtrl_tick.6099 0x20000144 O 4 .bss + update_20ms.6111 0x20000148 O 4 .bss + + Global Symbols + + Symbol Name Value Type Size Section + vector_table 0x00000000 0 .text + __start 0x0000010c 0 .text + __exit 0x00000160 0 .text + __fail 0x00000176 0 .text + DummyHandler 0x00000184 0 .text + __GI_pow 0x000001b4 F 2474 .text + pow 0x000001b4 F 2474 .text + __GI_fabs 0x00000b5e F 6 .text + fabs 0x00000b5e F 6 .text + __GI_scalbn 0x00000b64 F 32 .text + scalbn 0x00000b64 F 32 .text + __GI_sqrt 0x00000b84 F 376 .text + sqrt 0x00000b84 F 376 .text + ___gnu_csky_case_uqi 0x00000cfc F 20 .text + __fixunsdfsi 0x00000d10 F 56 .text + __adddf3 0x0000101c F 46 .text + __subdf3 0x0000104c F 54 .text + __muldf3 0x00001084 F 564 .text + __divdf3 0x000012b8 F 340 .text + __gtdf2 0x0000140c F 60 .text + __gedf2 0x00001448 F 60 .text + __ledf2 0x00001484 F 58 .text + __floatsidf 0x000014c0 F 112 .text + __fixdfsi 0x00001530 F 112 .text + __floatunsidf 0x000015a0 F 84 .text + __muldi3 0x000015f4 F 68 .text + __clzsi2 0x00001638 F 64 .text + __pack_d 0x00001678 F 412 .text + __unpack_d 0x00001814 F 196 .text + __fpcmp_parts_d 0x000018d8 F 140 .text + __memset_fast 0x00001964 w F 136 .text + memset 0x00001964 w F 136 .text + __memcpy_fast 0x000019ec w F 100 .text + memcpy 0x000019ec w F 100 .text + __main 0x00001a50 F 56 .text.__main + SYSCON_RST_VALUE 0x00001afc F 76 .text.SYSCON_RST_VALUE + SYSCON_General_CMD 0x00001b48 F 48 .text.SYSCON_General_CMD + SystemCLK_HCLKDIV_PCLKDIV_Config 0x00001b78 F 136 .text.SystemCLK_HCLKDIV_PCLKDIV_Config + SYSCON_HFOSC_SELECTE 0x00001c00 F 40 .text.SYSCON_HFOSC_SELECTE + SYSCON_WDT_CMD 0x00001c28 F 60 .text.SYSCON_WDT_CMD + SYSCON_IWDCNT_Reload 0x00001c64 F 20 .text.SYSCON_IWDCNT_Reload + SYSCON_IWDCNT_Config 0x00001c78 F 24 .text.SYSCON_IWDCNT_Config + SYSCON_LVD_Config 0x00001c90 F 32 .text.SYSCON_LVD_Config + LVD_Int_Enable 0x00001cb0 F 28 .text.LVD_Int_Enable + IWDT_Int_Enable 0x00001ccc F 28 .text.IWDT_Int_Enable + EXTI_trigger_CMD 0x00001ce8 F 64 .text.EXTI_trigger_CMD + EXTI_interrupt_CMD 0x00001d28 F 52 .text.EXTI_interrupt_CMD + GPIO_EXTI_interrupt 0x00001d5c F 4 .text.GPIO_EXTI_interrupt + EXI3_Int_Enable 0x00001d60 F 16 .text.EXI3_Int_Enable + SYSCON_Int_Enable 0x00001d70 F 12 .text.SYSCON_Int_Enable + SYSCON_Int_Disable 0x00001d7c F 12 .text.SYSCON_Int_Disable + SYSCON_INT_Priority 0x00001d88 F 36 .text.SYSCON_INT_Priority + Set_INT_Priority 0x00001dac F 48 .text.Set_INT_Priority + GPIO_DeInit 0x00001ddc F 100 .text.GPIO_DeInit + GPIO_Init 0x00001e40 F 224 .text.GPIO_Init + GPIO_PullHigh_Init 0x00001f20 F 20 .text.GPIO_PullHigh_Init + GPIO_DriveStrength_EN 0x00001f34 F 14 .text.GPIO_DriveStrength_EN + GPIO_IntGroup_Set 0x00001f44 F 268 .text.GPIO_IntGroup_Set + GPIOB0_EXI_Init 0x00002050 F 108 .text.GPIOB0_EXI_Init + GPIO_Write_High 0x000020bc F 8 .text.GPIO_Write_High + GPIO_Write_Low 0x000020c4 F 8 .text.GPIO_Write_Low + GPIO_Reverse 0x000020cc F 22 .text.GPIO_Reverse + GPIO_Read_Status 0x000020e2 F 16 .text.GPIO_Read_Status + LPT_Soft_Reset 0x000020f4 F 20 .text.LPT_Soft_Reset + WWDT_CNT_Load 0x00002108 F 16 .text.WWDT_CNT_Load + BT_DeInit 0x00002118 F 28 .text.BT_DeInit + BT_Start 0x00002134 F 8 .text.BT_Start + BT_Soft_Reset 0x0000213c F 10 .text.BT_Soft_Reset + BT_Configure 0x00002146 F 24 .text.BT_Configure + BT_ControlSet_Configure 0x0000215e F 44 .text.BT_ControlSet_Configure + BT_Period_CMP_Write 0x0000218a F 6 .text.BT_Period_CMP_Write + BT_ConfigInterrupt_CMD 0x00002190 F 18 .text.BT_ConfigInterrupt_CMD + BT1_INT_ENABLE 0x000021a4 F 16 .text.BT1_INT_ENABLE + UART0_DeInit 0x000021b4 F 24 .text.UART0_DeInit + UART1_DeInit 0x000021cc F 24 .text.UART1_DeInit + UART2_DeInit 0x000021e4 F 24 .text.UART2_DeInit + UART1_Int_Enable 0x000021fc F 28 .text.UART1_Int_Enable + UART2_Int_Enable 0x00002218 F 28 .text.UART2_Int_Enable + UART_IO_Init 0x00002234 F 236 .text.UART_IO_Init + UARTInitRxTxIntEn 0x00002320 F 16 .text.UARTInitRxTxIntEn + UARTTransmit 0x00002330 F 30 .text.UARTTransmit + EPT_Stop 0x00002350 F 40 .text.EPT_Stop + ReadDataArry_U8 0x00002378 F 42 .text.ReadDataArry_U8 + main 0x000023a4 F 52 .text.startup.main + delay_nms 0x000023d8 F 44 .text.delay_nms + delay_nus 0x00002404 F 34 .text.delay_nus + BT_CONFIG 0x00002428 F 96 .text.BT_CONFIG + SYSCON_CONFIG 0x00002488 F 98 .text.SYSCON_CONFIG + APT32F102_init 0x000024ec F 148 .text.APT32F102_init + SYSCONIntHandler 0x00002580 F 240 .text.SYSCONIntHandler + IFCIntHandler 0x00002670 F 104 .text.IFCIntHandler + ADCIntHandler 0x000026d8 F 104 .text.ADCIntHandler + EPT0IntHandler 0x00002740 F 428 .text.EPT0IntHandler + WWDTHandler 0x000028ec F 52 .text.WWDTHandler + GPT0IntHandler 0x00002920 F 128 .text.GPT0IntHandler + RTCIntHandler 0x000029a0 F 112 .text.RTCIntHandler + UART0IntHandler 0x00002a10 F 96 .text.UART0IntHandler + UART1IntHandler 0x00002a70 F 148 .text.UART1IntHandler + UART2IntHandler 0x00002b04 F 148 .text.UART2IntHandler + SPI0IntHandler 0x00002b98 F 232 .text.SPI0IntHandler + SIO0IntHandler 0x00002c80 F 84 .text.SIO0IntHandler + EXI0IntHandler 0x00002cd4 F 48 .text.EXI0IntHandler + EXI1IntHandler 0x00002d04 F 48 .text.EXI1IntHandler + EXI2to3IntHandler 0x00002d34 F 72 .text.EXI2to3IntHandler + EXI4to9IntHandler 0x00002d7c F 108 .text.EXI4to9IntHandler + EXI10to15IntHandler 0x00002de8 F 96 .text.EXI10to15IntHandler + LPTIntHandler 0x00002e48 F 52 .text.LPTIntHandler + BT0IntHandler 0x00002e7c F 76 .text.BT0IntHandler + BT1IntHandler 0x00002ec8 F 112 .text.BT1IntHandler + PriviledgeVioHandler 0x00002f38 F 2 .text.PriviledgeVioHandler + PendTrapHandler 0x00002f3a F 8 .text.PendTrapHandler + Trap3Handler 0x00002f42 F 8 .text.Trap3Handler + Trap2Handler 0x00002f4a F 8 .text.Trap2Handler + Trap1Handler 0x00002f52 F 8 .text.Trap1Handler + Trap0Handler 0x00002f5a F 8 .text.Trap0Handler + UnrecExecpHandler 0x00002f62 F 8 .text.UnrecExecpHandler + BreakPointHandler 0x00002f6a F 8 .text.BreakPointHandler + AccessErrHandler 0x00002f72 F 8 .text.AccessErrHandler + IllegalInstrHandler 0x00002f7a F 8 .text.IllegalInstrHandler + MisalignedHandler 0x00002f82 F 8 .text.MisalignedHandler + CNTAIntHandler 0x00002f8a F 8 .text.CNTAIntHandler + I2CIntHandler 0x00002f92 F 8 .text.I2CIntHandler + __divsi3 0x00002f9c F 36 .text.__divsi3 + __udivsi3 0x00002fc0 F 36 .text.__udivsi3 + __umodsi3 0x00002fe4 F 36 .text.__umodsi3 + CK_CPU_EnAllNormalIrq 0x00003008 F 6 .text.CK_CPU_EnAllNormalIrq + CK_CPU_DisAllNormalIrq 0x0000300e F 6 .text.CK_CPU_DisAllNormalIrq + UARTx_Init 0x00003014 F 344 .text.UARTx_Init + UART0_RecvINT_Processing 0x0000316c F 56 .text.UART0_RecvINT_Processing + UART1_RecvINT_Processing 0x000031a4 F 56 .text.UART1_RecvINT_Processing + UART1_TASK 0x000031dc F 108 .text.UART1_TASK + UART2_RecvINT_Processing 0x00003248 F 68 .text.UART2_RecvINT_Processing + UART2_TASK 0x0000328c F 120 .text.UART2_TASK + Controller485_SendData 0x00003304 F 168 .text.Controller485_SendData + BUS485_Send 0x000033ac F 196 .text.BUS485_Send + MultSend_Task 0x00003470 F 116 .text.MultSend_Task + Set_GroupSend 0x000034e4 F 100 .text.Set_GroupSend + BUS485Send_Task 0x00003548 F 52 .text.BUS485Send_Task + BusIdle_Task 0x0000357c F 64 .text.BusIdle_Task + BusBusy_Task 0x000035bc F 92 .text.BusBusy_Task + Dbg_Println 0x00003618 F 12 .text.Dbg_Println + EEPROM_CheckSum 0x00003624 F 22 .text.EEPROM_CheckSum + EEPROM_ReadParaInfo 0x0000363c F 116 .text.EEPROM_ReadParaInfo + EEPROM_Validate_ParaInfo 0x000036b0 F 48 .text.EEPROM_Validate_ParaInfo + EEPROM_Default_ParaInfo 0x000036e0 F 32 .text.EEPROM_Default_ParaInfo + EEPROM_Init 0x00003700 F 84 .text.EEPROM_Init + TemCtrl_Init 0x00003754 F 340 .text.TemCtrl_Init + Ctrller_Ctrl_AirState 0x000038a8 F 176 .text.Ctrller_Ctrl_AirState + TemCtrl_Pro 0x00003958 F 176 .text.TemCtrl_Pro + Ctrller_CtrlAirState_Processing 0x00003a08 F 32 .text.Ctrller_CtrlAirState_Processing + Ctrller_RecData_Processing 0x00003a28 F 168 .text.Ctrller_RecData_Processing + NetCRC16_Check 0x00003ad0 F 76 .text.NetCRC16_Check + GetCRC16 0x00003b1c F 60 .text.GetCRC16 + Rs485AskCtrlSend 0x00003b58 F 92 .text.Rs485AskCtrlSend + IrSend_Rs485_Pro 0x00003bb4 F 268 .text.IrSend_Rs485_Pro + DIP_GetSwitchState 0x00003cc0 F 52 .text.DIP_GetSwitchState + DIP_Switch_Init 0x00003cf4 F 140 .text.DIP_Switch_Init + DIP_ScanTask 0x00003d80 F 152 .text.DIP_ScanTask + TK_Single_Longpress_prg 0x00003e18 F 296 .text.TK_Single_Longpress_prg + TK_Sampling_prog 0x00003f40 F 204 .text.TK_Sampling_prog + get_key_number 0x0000400c F 40 .text.get_key_number + get_key_number0 0x00004034 F 40 .text.get_key_number0 + get_key_number1 0x0000405c F 40 .text.get_key_number1 + get_key_number2 0x00004084 F 40 .text.get_key_number2 + TK_Scan_Start 0x000040ac F 104 .text.TK_Scan_Start + TK_Keymap_prog 0x00004114 F 2160 .text.TK_Keymap_prog + TK_overflow_predict 0x00004984 F 296 .text.TK_overflow_predict + TK_Baseline_tracking 0x00004aac F 1232 .text.TK_Baseline_tracking + TK_result_prog 0x00004f7c F 304 .text.TK_result_prog + TKEYIntHandler 0x000050ac F 160 .text.TKEYIntHandler + CORETHandler 0x0000514c F 348 .text.CORETHandler + std_clk_calib 0x000052a8 F 644 .text.std_clk_calib + __thenan_df 0x0000555c O 20 .rodata + __clz_tab 0x00005570 O 256 .rodata + _end_rodata 0x0000576c 0 .rodata + HWD 0x20000000 O 4 .data + _start_data 0x20000000 0 .data + CRC 0x20000004 O 4 .data + BT1 0x20000008 O 4 .data + BT0 0x2000000c O 4 .data + WWDT 0x20000010 O 4 .data + LPT 0x20000014 O 4 .data + RTC 0x20000018 O 4 .data + ETCB 0x2000001c O 4 .data + EPT0 0x20000020 O 4 .data + GPT0 0x20000024 O 4 .data + CA0 0x20000028 O 4 .data + SIO0 0x2000002c O 4 .data + I2C0 0x20000030 O 4 .data + SPI0 0x20000034 O 4 .data + UART2 0x20000038 O 4 .data + UART1 0x2000003c O 4 .data + UART0 0x20000040 O 4 .data + GPIOGRP 0x20000044 O 4 .data + GPIOB0 0x20000048 O 4 .data + GPIOA0 0x2000004c O 4 .data + ADC0 0x20000050 O 4 .data + TKEYBUF 0x20000054 O 4 .data + TKEY 0x20000058 O 4 .data + SYSCON 0x2000005c O 4 .data + IFC 0x20000060 O 4 .data + CK801 0x20000064 O 4 .data + s_tkey 0x20000068 O 1 .data + samp_setover_f 0x20000069 O 1 .data + scan_step_temp 0x2000006a O 1 .data + SigleTK_longpress_time 0x2000006c O 2 .data + tk_dataturn_en 0x2000006e O 1 .data + tk_overflow_en 0x2000006f O 1 .data + tk_div 0x20000070 O 34 .data + neg_build_bounce 0x20000092 O 1 .data + pos_build_bounce 0x20000093 O 1 .data + Valid_SingleKey_Num 0x20000094 O 1 .data + tk_scan_para0 0x20000098 O 4 .data + tk_scan_para1 0x2000009c O 4 .data + tk_scan_para2 0x200000a0 O 4 .data + TkeyRebaseTime 0x200000a4 O 1 .data + _end_data 0x200000a8 0 .data + Sav_Temp 0x200000a8 O 4 .bss + _bss_start 0x200000a8 0 .bss + Sys_RSR 0x200000ac O 4 .bss + SysTick_100us 0x200000b4 O 4 .bss + SysTick_1ms 0x200000b8 O 4 .bss + DealBuffer 0x200000bc O 100 .bss + DealLen 0x20000120 O 2 .bss + RS485_Comming 0x20000124 O 4 .bss + RS485_Comm_Flag 0x20000128 O 4 .bss + RS485_Comm_Start 0x2000012c O 4 .bss + RS485_Comm_End 0x20000130 O 4 .bss + RS485_Comming1 0x20000134 O 4 .bss + RS485_Comm_Flag1 0x20000138 O 4 .bss + RS485_Comm_Start1 0x2000013c O 4 .bss + RS485_Comm_End1 0x20000140 O 4 .bss + keymap_strict_mode 0x2000014c O 1 .bss + Press_debounce_data 0x20000150 O 1 .bss + TK_Lowpower_mode 0x20000151 O 1 .bss + TK_Lowpower_level 0x20000152 O 1 .bss + TK_longpress_time 0x20000154 O 4 .bss + Release_debounce_data 0x20000158 O 1 .bss + Key_mode 0x20000159 O 1 .bss + TK_icon 0x2000015a O 34 .bss + MultiTimes_Filter 0x2000017c O 1 .bss + Base_Speed 0x2000017d O 1 .bss + TK_IO_ENABLE 0x20000180 O 4 .bss + Valid_Key_Num 0x20000184 O 1 .bss + TK_senprd 0x20000186 O 34 .bss + TK_Wakeup_level 0x200001a8 O 1 .bss + TK_Triggerlevel 0x200001aa O 34 .bss + TK_EC_LEVEL 0x200001cc O 2 .bss + TK_FVR_LEVEL 0x200001ce O 2 .bss + TK_BaseCnt 0x200001d0 O 4 .bss + TK_PSEL_MODE 0x200001d4 O 2 .bss + R_CMPB_BUF 0x200001d8 O 4 .bss + R_CMPA_BUF 0x200001dc O 4 .bss + R_SIORX_buf 0x200001e0 O 40 .bss + g_uart 0x20000208 O 348 .bss + m_send 0x20000364 O 136 .bss + g_eeprom 0x200003ec O 8 .bss + g_mcu_dev 0x200003f4 O 37 .bss + TempCtrl 0x2000041c O 40 .bss + g_Dip 0x20000444 O 16 .bss + Tk_press_time_cnt4 0x20000454 O 4 .bss + baseline_data0 0x20000458 O 34 .bss + TK_Postive_build2 0x2000047a O 17 .bss + Key_Map1 0x2000048c O 4 .bss + Valid_Key_Num_CNT 0x20000490 O 3 .bss + offset_data2_abs 0x20000494 O 34 .bss + time_cnt0 0x200004b8 O 4 .bss + offset0_max_tempB 0x200004bc O 2 .bss + scan_f 0x200004be O 1 .bss + offset_data1_abs 0x200004c0 O 34 .bss + TK_Slider1_Value 0x200004e2 O 1 .bss + TK_Wheel_Value 0x200004e3 O 1 .bss + Release_debounce0 0x200004e4 O 17 .bss + Key_Map0 0x200004f8 O 4 .bss + Tk_press_time_cnt2 0x200004fc O 4 .bss + TK_Slider0_Seq 0x20000500 O 4 .bss + bsae_over_f 0x20000504 O 1 .bss + Press_debounce0 0x20000505 O 17 .bss + Valid_key_f 0x20000516 O 1 .bss + offset_data0 0x20000518 O 34 .bss + offset2_max_tempA 0x2000053a O 2 .bss + TK_Scan_Freq1 0x2000053c O 4 .bss + sampling_data1 0x20000540 O 34 .bss + TK_Slider1_Level 0x20000562 O 1 .bss + TK_Slider1_Function 0x20000563 O 1 .bss + base_update_fs 0x20000564 O 3 .bss + TK_Slider0_Function 0x20000567 O 1 .bss + Tk_press_time_cnt3 0x20000568 O 4 .bss + TK_Scan_Freq2 0x2000056c O 4 .bss + Key_Map2 0x20000570 O 4 .bss + Release_debounce1 0x20000574 O 17 .bss + tk_overflow_f 0x20000585 O 1 .bss + time_cnt2 0x20000588 O 4 .bss + TK_Negtive_build2 0x2000058c O 17 .bss + base_update_f 0x2000059d O 1 .bss + TK_Postive_build1 0x2000059e O 17 .bss + offset_max_data 0x200005b0 O 64 .bss + time_cnt 0x200005f0 O 4 .bss + lpt_scan_pend_cnt 0x200005f4 O 2 .bss + TK_track_cnt 0x200005f6 O 1 .bss + Key_Map 0x200005f8 O 4 .bss + Key_Map2_temp 0x200005fc O 4 .bss + offset2_max_tempB 0x20000600 O 2 .bss + baseline_data1 0x20000602 O 34 .bss + TK_Postive_build0 0x20000624 O 17 .bss + sampling_data2 0x20000636 O 34 .bss + offset_data1 0x20000658 O 34 .bss + TK_ovrdect_cnt 0x2000067a O 1 .bss + TK_Slider0_Level 0x2000067b O 1 .bss + time_cnt1 0x2000067c O 4 .bss + Press_debounce2 0x20000680 O 17 .bss + Tk_press_time_cnt0 0x20000694 O 4 .bss + Key_Map0_temp 0x20000698 O 4 .bss + TK_Negtive_build1 0x2000069c O 17 .bss + coret_spread_step 0x200006ad O 1 .bss + time_cnts 0x200006ae O 3 .bss + offset0_max_tempA 0x200006b2 O 2 .bss + tk_num 0x200006b4 O 1 .bss + TK_Slider1_Seq 0x200006b5 O 4 .bss + offset1_max_tempB 0x200006ba O 2 .bss + TK_Negtive_build0 0x200006bc O 17 .bss + R_Debounce_temp2 0x200006d0 O 4 .bss + Tk_press_time_cnt1 0x200006d4 O 4 .bss + Press_debounce1 0x200006d8 O 17 .bss + TK_Wheel_Seq 0x200006e9 O 4 .bss + TK_Slider0_Value 0x200006ed O 1 .bss + Release_debounce2 0x200006ee O 17 .bss + r_Key_Map_Temp 0x20000700 O 4 .bss + tk_seque 0x20000704 O 17 .bss + scan_step 0x20000715 O 1 .bss + TK_Wheel_Level 0x20000716 O 1 .bss + baseline_data2 0x20000718 O 34 .bss + tk_sampling_max 0x2000073a O 34 .bss + Key_Map1_temp 0x2000075c O 4 .bss + coret_spread_cnt 0x20000760 O 2 .bss + offset_data0_abs 0x20000762 O 34 .bss + offset_data2 0x20000784 O 34 .bss + TK_Wheel_Function 0x200007a6 O 1 .bss + offset1_max_tempA 0x200007a8 O 2 .bss + sampling_data0 0x200007aa O 34 .bss + TK_Scan_Freq0 0x200007cc O 4 .bss + _ebss 0x200007d0 0 .bss + _end 0x200007d0 0 .bss + end 0x200007d0 0 .bss + __kernel_stack 0x20000ff8 0 .text + + (w:Weak d:Deubg F:Function f:File name O:Zero) + + +====================================================================== + +Memory Map of the image + + Image Entry point : 0x0000010c + + Region ROM (Base: 0x00000000, Size: 0x0000576c, Max: 0x00010000) + + Base Addr Size Type Attr Idx Section Name Object + 0x00000000 0x000001b4 Code RO 16 .text Obj/arch_crt0.o + 0x000001b4 0x000009aa Code RO 1073 .text pow.o + 0x00000b5e 0x00000006 Code RO 1081 .text fabs.o + 0x00000b64 0x00000020 Code RO 1087 .text scalbn.o + 0x00000b84 0x00000178 Code RO 1094 .text sqrt.o + 0x00000cfc 0x00000014 Code RO 1105 .text _csky_case_uqi.o + 0x00000d10 0x00000038 Code RO 1110 .text _fixunsdfsi.o + 0x00000d48 0x0000033a Code RO 1117 .text _addsub_df.o + 0x00001082 0x00000002 PAD + 0x00001084 0x00000234 Code RO 1124 .text _mul_df.o + 0x000012b8 0x00000154 Code RO 1131 .text _div_df.o + 0x0000140c 0x0000003c Code RO 1138 .text _gt_df.o + 0x00001448 0x0000003c Code RO 1145 .text _ge_df.o + 0x00001484 0x0000003a Code RO 1152 .text _le_df.o + 0x000014be 0x00000002 PAD + 0x000014c0 0x00000070 Code RO 1159 .text _si_to_df.o + 0x00001530 0x00000070 Code RO 1166 .text _df_to_si.o + 0x000015a0 0x00000054 Code RO 1180 .text _usi_to_df.o + 0x000015f4 0x00000044 Code RO 1187 .text _muldi3.o + 0x00001638 0x00000040 Code RO 1194 .text _clzsi2.o + 0x00001678 0x0000019c Code RO 1200 .text _pack_df.o + 0x00001814 0x000000c4 Code RO 1207 .text _unpack_df.o + 0x000018d8 0x0000008c Code RO 1214 .text _fpcmp_parts_df.o + 0x00001964 0x00000088 Code RO 1235 .text memset_fast.o + 0x000019ec 0x00000064 Code RO 1240 .text memcpy_fast.o + 0x00001a50 0x00000038 Code RO 28 .text.__main Obj/arch_mem_init.o + 0x00001a88 0x00000074 Code RO 61 .text.SYSCON_General_CMD.part.0 Obj/FWlib_apt32f102_syscon.o + 0x00001afc 0x0000004c Code RO 62 .text.SYSCON_RST_VALUE Obj/FWlib_apt32f102_syscon.o + 0x00001b48 0x00000030 Code RO 64 .text.SYSCON_General_CMD Obj/FWlib_apt32f102_syscon.o + 0x00001b78 0x00000088 Code RO 65 .text.SystemCLK_HCLKDIV_PCLKDIV_Config Obj/FWlib_apt32f102_syscon.o + 0x00001c00 0x00000028 Code RO 68 .text.SYSCON_HFOSC_SELECTE Obj/FWlib_apt32f102_syscon.o + 0x00001c28 0x0000003c Code RO 69 .text.SYSCON_WDT_CMD Obj/FWlib_apt32f102_syscon.o + 0x00001c64 0x00000014 Code RO 70 .text.SYSCON_IWDCNT_Reload Obj/FWlib_apt32f102_syscon.o + 0x00001c78 0x00000018 Code RO 71 .text.SYSCON_IWDCNT_Config Obj/FWlib_apt32f102_syscon.o + 0x00001c90 0x00000020 Code RO 72 .text.SYSCON_LVD_Config Obj/FWlib_apt32f102_syscon.o + 0x00001cb0 0x0000001c Code RO 73 .text.LVD_Int_Enable Obj/FWlib_apt32f102_syscon.o + 0x00001ccc 0x0000001c Code RO 75 .text.IWDT_Int_Enable Obj/FWlib_apt32f102_syscon.o + 0x00001ce8 0x00000040 Code RO 78 .text.EXTI_trigger_CMD Obj/FWlib_apt32f102_syscon.o + 0x00001d28 0x00000034 Code RO 79 .text.EXTI_interrupt_CMD Obj/FWlib_apt32f102_syscon.o + 0x00001d5c 0x00000004 Code RO 80 .text.GPIO_EXTI_interrupt Obj/FWlib_apt32f102_syscon.o + 0x00001d60 0x00000010 Code RO 89 .text.EXI3_Int_Enable Obj/FWlib_apt32f102_syscon.o + 0x00001d70 0x0000000c Code RO 103 .text.SYSCON_Int_Enable Obj/FWlib_apt32f102_syscon.o + 0x00001d7c 0x0000000c Code RO 104 .text.SYSCON_Int_Disable Obj/FWlib_apt32f102_syscon.o + 0x00001d88 0x00000024 Code RO 112 .text.SYSCON_INT_Priority Obj/FWlib_apt32f102_syscon.o + 0x00001dac 0x00000030 Code RO 113 .text.Set_INT_Priority Obj/FWlib_apt32f102_syscon.o + 0x00001ddc 0x00000064 Code RO 130 .text.GPIO_DeInit Obj/FWlib_apt32f102_gpio.o + 0x00001e40 0x000000e0 Code RO 132 .text.GPIO_Init Obj/FWlib_apt32f102_gpio.o + 0x00001f20 0x00000014 Code RO 135 .text.GPIO_PullHigh_Init Obj/FWlib_apt32f102_gpio.o + 0x00001f34 0x0000000e Code RO 141 .text.GPIO_DriveStrength_EN Obj/FWlib_apt32f102_gpio.o + 0x00001f44 0x0000010c Code RO 143 .text.GPIO_IntGroup_Set Obj/FWlib_apt32f102_gpio.o + 0x00002050 0x0000006c Code RO 145 .text.GPIOB0_EXI_Init Obj/FWlib_apt32f102_gpio.o + 0x000020bc 0x00000008 Code RO 147 .text.GPIO_Write_High Obj/FWlib_apt32f102_gpio.o + 0x000020c4 0x00000008 Code RO 148 .text.GPIO_Write_Low Obj/FWlib_apt32f102_gpio.o + 0x000020cc 0x00000016 Code RO 150 .text.GPIO_Reverse Obj/FWlib_apt32f102_gpio.o + 0x000020e2 0x00000010 Code RO 151 .text.GPIO_Read_Status Obj/FWlib_apt32f102_gpio.o + 0x000020f4 0x00000014 Code RO 185 .text.LPT_Soft_Reset Obj/FWlib_apt32f102_lpt.o + 0x00002108 0x00000010 Code RO 234 .text.WWDT_CNT_Load Obj/FWlib_apt32f102_wwdt.o + 0x00002118 0x0000001c Code RO 303 .text.BT_DeInit Obj/FWlib_apt32f102_bt.o + 0x00002134 0x00000008 Code RO 305 .text.BT_Start Obj/FWlib_apt32f102_bt.o + 0x0000213c 0x0000000a Code RO 309 .text.BT_Soft_Reset Obj/FWlib_apt32f102_bt.o + 0x00002146 0x00000018 Code RO 310 .text.BT_Configure Obj/FWlib_apt32f102_bt.o + 0x0000215e 0x0000002c Code RO 311 .text.BT_ControlSet_Configure Obj/FWlib_apt32f102_bt.o + 0x0000218a 0x00000006 Code RO 312 .text.BT_Period_CMP_Write Obj/FWlib_apt32f102_bt.o + 0x00002190 0x00000012 Code RO 319 .text.BT_ConfigInterrupt_CMD Obj/FWlib_apt32f102_bt.o + 0x000021a4 0x00000010 Code RO 322 .text.BT1_INT_ENABLE Obj/FWlib_apt32f102_bt.o + 0x000021b4 0x00000018 Code RO 435 .text.UART0_DeInit Obj/FWlib_apt32f102_uart.o + 0x000021cc 0x00000018 Code RO 436 .text.UART1_DeInit Obj/FWlib_apt32f102_uart.o + 0x000021e4 0x00000018 Code RO 437 .text.UART2_DeInit Obj/FWlib_apt32f102_uart.o + 0x000021fc 0x0000001c Code RO 440 .text.UART1_Int_Enable Obj/FWlib_apt32f102_uart.o + 0x00002218 0x0000001c Code RO 442 .text.UART2_Int_Enable Obj/FWlib_apt32f102_uart.o + 0x00002234 0x000000ec Code RO 450 .text.UART_IO_Init Obj/FWlib_apt32f102_uart.o + 0x00002320 0x00000010 Code RO 452 .text.UARTInitRxTxIntEn Obj/FWlib_apt32f102_uart.o + 0x00002330 0x0000001e Code RO 456 .text.UARTTransmit Obj/FWlib_apt32f102_uart.o + 0x00002350 0x00000028 Code RO 516 .text.EPT_Stop Obj/FWlib_apt32f102_ept.o + 0x00002378 0x0000002a Code RO 644 .text.ReadDataArry_U8 Obj/FWlib_apt32f102_ifc.o + 0x000023a4 0x00000034 Code RO 705 .text.startup.main Obj/main.o + 0x000023d8 0x0000002c Code RO 721 .text.delay_nms Obj/mcu_initial.o + 0x00002404 0x00000022 Code RO 722 .text.delay_nus Obj/mcu_initial.o + 0x00002428 0x00000060 Code RO 725 .text.BT_CONFIG Obj/mcu_initial.o + 0x00002488 0x00000062 Code RO 731 .text.SYSCON_CONFIG Obj/mcu_initial.o + 0x000024ec 0x00000094 Code RO 732 .text.APT32F102_init Obj/mcu_initial.o + 0x00002580 0x000000f0 Code RO 748 .text.SYSCONIntHandler Obj/mcu_interrupt.o + 0x00002670 0x00000068 Code RO 749 .text.IFCIntHandler Obj/mcu_interrupt.o + 0x000026d8 0x00000068 Code RO 750 .text.ADCIntHandler Obj/mcu_interrupt.o + 0x00002740 0x000001ac Code RO 751 .text.EPT0IntHandler Obj/mcu_interrupt.o + 0x000028ec 0x00000034 Code RO 752 .text.WWDTHandler Obj/mcu_interrupt.o + 0x00002920 0x00000080 Code RO 753 .text.GPT0IntHandler Obj/mcu_interrupt.o + 0x000029a0 0x00000070 Code RO 754 .text.RTCIntHandler Obj/mcu_interrupt.o + 0x00002a10 0x00000060 Code RO 755 .text.UART0IntHandler Obj/mcu_interrupt.o + 0x00002a70 0x00000094 Code RO 756 .text.UART1IntHandler Obj/mcu_interrupt.o + 0x00002b04 0x00000094 Code RO 757 .text.UART2IntHandler Obj/mcu_interrupt.o + 0x00002b98 0x000000e8 Code RO 758 .text.SPI0IntHandler Obj/mcu_interrupt.o + 0x00002c80 0x00000054 Code RO 759 .text.SIO0IntHandler Obj/mcu_interrupt.o + 0x00002cd4 0x00000030 Code RO 760 .text.EXI0IntHandler Obj/mcu_interrupt.o + 0x00002d04 0x00000030 Code RO 761 .text.EXI1IntHandler Obj/mcu_interrupt.o + 0x00002d34 0x00000048 Code RO 762 .text.EXI2to3IntHandler Obj/mcu_interrupt.o + 0x00002d7c 0x0000006c Code RO 763 .text.EXI4to9IntHandler Obj/mcu_interrupt.o + 0x00002de8 0x00000060 Code RO 764 .text.EXI10to15IntHandler Obj/mcu_interrupt.o + 0x00002e48 0x00000034 Code RO 765 .text.LPTIntHandler Obj/mcu_interrupt.o + 0x00002e7c 0x0000004c Code RO 766 .text.BT0IntHandler Obj/mcu_interrupt.o + 0x00002ec8 0x00000070 Code RO 767 .text.BT1IntHandler Obj/mcu_interrupt.o + 0x00002f38 0x00000002 Code RO 768 .text.PriviledgeVioHandler Obj/mcu_interrupt.o + 0x00002f3a 0x00000008 Code RO 770 .text.PendTrapHandler Obj/mcu_interrupt.o + 0x00002f42 0x00000008 Code RO 771 .text.Trap3Handler Obj/mcu_interrupt.o + 0x00002f4a 0x00000008 Code RO 772 .text.Trap2Handler Obj/mcu_interrupt.o + 0x00002f52 0x00000008 Code RO 773 .text.Trap1Handler Obj/mcu_interrupt.o + 0x00002f5a 0x00000008 Code RO 774 .text.Trap0Handler Obj/mcu_interrupt.o + 0x00002f62 0x00000008 Code RO 775 .text.UnrecExecpHandler Obj/mcu_interrupt.o + 0x00002f6a 0x00000008 Code RO 776 .text.BreakPointHandler Obj/mcu_interrupt.o + 0x00002f72 0x00000008 Code RO 777 .text.AccessErrHandler Obj/mcu_interrupt.o + 0x00002f7a 0x00000008 Code RO 778 .text.IllegalInstrHandler Obj/mcu_interrupt.o + 0x00002f82 0x00000008 Code RO 779 .text.MisalignedHandler Obj/mcu_interrupt.o + 0x00002f8a 0x00000008 Code RO 780 .text.CNTAIntHandler Obj/mcu_interrupt.o + 0x00002f92 0x00000008 Code RO 781 .text.I2CIntHandler Obj/mcu_interrupt.o + 0x00002f9c 0x00000024 Code RO 798 .text.__divsi3 Obj/drivers_apt32f102.o + 0x00002fc0 0x00000024 Code RO 799 .text.__udivsi3 Obj/drivers_apt32f102.o + 0x00002fe4 0x00000024 Code RO 801 .text.__umodsi3 Obj/drivers_apt32f102.o + 0x00003008 0x00000006 Code RO 819 .text.CK_CPU_EnAllNormalIrq Obj/drivers_apt32f102_ck801.o + 0x0000300e 0x00000006 Code RO 820 .text.CK_CPU_DisAllNormalIrq Obj/drivers_apt32f102_ck801.o + 0x00003014 0x00000158 Code RO 834 .text.UARTx_Init Obj/SYSTEM_uart.o + 0x0000316c 0x00000038 Code RO 835 .text.UART0_RecvINT_Processing Obj/SYSTEM_uart.o + 0x000031a4 0x00000038 Code RO 837 .text.UART1_RecvINT_Processing Obj/SYSTEM_uart.o + 0x000031dc 0x0000006c Code RO 838 .text.UART1_TASK Obj/SYSTEM_uart.o + 0x00003248 0x00000044 Code RO 839 .text.UART2_RecvINT_Processing Obj/SYSTEM_uart.o + 0x0000328c 0x00000078 Code RO 840 .text.UART2_TASK Obj/SYSTEM_uart.o + 0x00003304 0x000000a8 Code RO 843 .text.Controller485_SendData Obj/SYSTEM_uart.o + 0x000033ac 0x000000c4 Code RO 844 .text.BUS485_Send Obj/SYSTEM_uart.o + 0x00003470 0x00000074 Code RO 845 .text.MultSend_Task Obj/SYSTEM_uart.o + 0x000034e4 0x00000064 Code RO 846 .text.Set_GroupSend Obj/SYSTEM_uart.o + 0x00003548 0x00000034 Code RO 849 .text.BUS485Send_Task Obj/SYSTEM_uart.o + 0x0000357c 0x00000040 Code RO 851 .text.BusIdle_Task Obj/SYSTEM_uart.o + 0x000035bc 0x0000005c Code RO 852 .text.BusBusy_Task Obj/SYSTEM_uart.o + 0x00003618 0x0000000c Code RO 854 .text.Dbg_Println Obj/SYSTEM_uart.o + 0x00003624 0x00000016 Code RO 872 .text.EEPROM_CheckSum Obj/SYSTEM_eeprom.o + 0x0000363c 0x00000074 Code RO 873 .text.EEPROM_ReadParaInfo Obj/SYSTEM_eeprom.o + 0x000036b0 0x00000030 Code RO 876 .text.EEPROM_Validate_ParaInfo Obj/SYSTEM_eeprom.o + 0x000036e0 0x00000020 Code RO 877 .text.EEPROM_Default_ParaInfo Obj/SYSTEM_eeprom.o + 0x00003700 0x00000054 Code RO 878 .text.EEPROM_Init Obj/SYSTEM_eeprom.o + 0x00003754 0x00000154 Code RO 928 .text.TemCtrl_Init Obj/SYSTEM_tempctrl_unit.o + 0x000038a8 0x000000b0 Code RO 931 .text.Ctrller_Ctrl_AirState Obj/SYSTEM_tempctrl_unit.o + 0x00003958 0x000000b0 Code RO 932 .text.TemCtrl_Pro Obj/SYSTEM_tempctrl_unit.o + 0x00003a08 0x00000020 Code RO 935 .text.Ctrller_CtrlAirState_Processing Obj/SYSTEM_tempctrl_unit.o + 0x00003a28 0x000000a8 Code RO 936 .text.Ctrller_RecData_Processing Obj/SYSTEM_tempctrl_unit.o + 0x00003ad0 0x0000004c Code RO 954 .text.NetCRC16_Check Obj/SYSTEM_uart_protocol.o + 0x00003b1c 0x0000003c Code RO 955 .text.GetCRC16 Obj/SYSTEM_uart_protocol.o + 0x00003b58 0x0000005c Code RO 957 .text.Rs485AskCtrlSend Obj/SYSTEM_uart_protocol.o + 0x00003bb4 0x0000010c Code RO 958 .text.IrSend_Rs485_Pro Obj/SYSTEM_uart_protocol.o + 0x00003cc0 0x00000034 Code RO 974 .text.DIP_GetSwitchState Obj/SYSTEM_dip_switch.o + 0x00003cf4 0x0000008c Code RO 975 .text.DIP_Switch_Init Obj/SYSTEM_dip_switch.o + 0x00003d80 0x00000098 Code RO 976 .text.DIP_ScanTask Obj/SYSTEM_dip_switch.o + 0x00003e18 0x00000128 Code RO 1011 .text.TK_Single_Longpress_prg FWlib_apt32f102_tkey_f_1_18.o + 0x00003f40 0x000000cc Code RO 1012 .text.TK_Sampling_prog FWlib_apt32f102_tkey_f_1_18.o + 0x0000400c 0x00000028 Code RO 1016 .text.get_key_number FWlib_apt32f102_tkey_f_1_18.o + 0x00004034 0x00000028 Code RO 1017 .text.get_key_number0 FWlib_apt32f102_tkey_f_1_18.o + 0x0000405c 0x00000028 Code RO 1018 .text.get_key_number1 FWlib_apt32f102_tkey_f_1_18.o + 0x00004084 0x00000028 Code RO 1019 .text.get_key_number2 FWlib_apt32f102_tkey_f_1_18.o + 0x000040ac 0x00000068 Code RO 1023 .text.TK_Scan_Start FWlib_apt32f102_tkey_f_1_18.o + 0x00004114 0x00000870 Code RO 1024 .text.TK_Keymap_prog FWlib_apt32f102_tkey_f_1_18.o + 0x00004984 0x00000128 Code RO 1025 .text.TK_overflow_predict FWlib_apt32f102_tkey_f_1_18.o + 0x00004aac 0x000004d0 Code RO 1026 .text.TK_Baseline_tracking FWlib_apt32f102_tkey_f_1_18.o + 0x00004f7c 0x00000130 Code RO 1027 .text.TK_result_prog FWlib_apt32f102_tkey_f_1_18.o + 0x000050ac 0x000000a0 Code RO 1033 .text.TKEYIntHandler FWlib_apt32f102_tkey_f_1_18.o + 0x0000514c 0x0000015c Code RO 1034 .text.CORETHandler FWlib_apt32f102_tkey_f_1_18.o + 0x000052a8 0x00000284 Code RO 1053 .text.std_clk_calib FWlib_apt32f102_clkcalib.o + 0x0000552c 0x00000030 Data RO 1076 .rodata pow.o + 0x0000555c 0x00000014 Data RO 1176 .rodata _thenan_df.o + 0x00005570 0x00000100 Data RO 1224 .rodata _clz.o + 0x00005670 0x0000000e Data RO 706 .rodata.str1.1 Obj/main.o + 0x0000567e 0x00000080 Data RO 883 .rodata.str1.1 Obj/SYSTEM_eeprom.o + 0x000056fe 0x0000004f Data RO 937 .rodata.str1.1 Obj/SYSTEM_tempctrl_unit.o + 0x0000574d 0x0000001f Data RO 977 .rodata.str1.1 Obj/SYSTEM_dip_switch.o + + Region RAM (Base: 0x20000000, Size: 0x000007d0, Max: 0x00001000) + + Base Addr Size Type Attr Idx Section Name Object + 0x20000000 0x00000068 Data RW 796 .data Obj/drivers_apt32f102.o + 0x20000068 0x0000003d Data RW 1001 .data FWlib_apt32f102_tkey_f_1_18.o + 0x200000a5 0x00000003 PAD + 0x200000a8 0x00000008 Zero RW 704 .bss Obj/main.o + 0x200000b0 0x0000000c Zero RW 747 .bss Obj/mcu_interrupt.o + 0x200000bc 0x00000088 Zero RW 833 .bss Obj/SYSTEM_uart.o + 0x20000144 0x00000004 Zero RW 927 .bss Obj/SYSTEM_tempctrl_unit.o + 0x20000148 0x00000004 Zero RW 973 .bss Obj/SYSTEM_dip_switch.o + 0x2000014c 0x00000001 Zero RW 1002 .bss FWlib_apt32f102_tkey_f_1_18.o + 0x2000014d 0x00000003 PAD + 0x20000150 0x00000086 Zero RW 676 COMMON Obj/FWlib_apt32f102_tkey_parameter.o + 0x200001d6 0x00000002 PAD + 0x200001d8 0x00000030 Zero RW 794 COMMON Obj/mcu_interrupt.o + 0x20000208 0x000001e4 Zero RW 868 COMMON Obj/SYSTEM_uart.o + 0x200003ec 0x0000002d Zero RW 896 COMMON Obj/SYSTEM_eeprom.o + 0x20000419 0x00000003 PAD + 0x2000041c 0x00000028 Zero RW 950 COMMON Obj/SYSTEM_tempctrl_unit.o + 0x20000444 0x00000010 Zero RW 990 COMMON Obj/SYSTEM_dip_switch.o + 0x20000454 0x0000037c Zero RW 1049 COMMON FWlib_apt32f102_tkey_f_1_18.o + + Region *default* (Base: 0x00000000, Size: 0x00000000, Max: 0xffffffff) + + +====================================================================== + +Image component sizes + + Code RO Data RW Data ZI Data Debug Object Name + + 0 0 0 0 0 linker stubs + 436 0 0 0 279 Obj/arch_crt0.o + 56 0 0 0 813 Obj/arch_mem_init.o + 0 0 0 0 0 Obj/arch_apt32f102_iostring.o + 852 0 0 0 21139 Obj/FWlib_apt32f102_syscon.o + 788 0 0 0 13094 Obj/FWlib_apt32f102_gpio.o + 20 0 0 0 13549 Obj/FWlib_apt32f102_lpt.o + 0 0 0 0 0 Obj/FWlib_apt32f102_crc.o + 16 0 0 0 8327 Obj/FWlib_apt32f102_wwdt.o + 0 0 0 0 0 Obj/FWlib_apt32f102_countera.o + 0 0 0 0 0 Obj/FWlib_apt32f102_et.o + 154 0 0 0 11840 Obj/FWlib_apt32f102_bt.o + 0 0 0 0 0 Obj/FWlib_apt32f102_gpt.o + 0 0 0 0 0 Obj/FWlib_apt32f102_sio.o + 0 0 0 0 0 Obj/FWlib_apt32f102_spi.o + 410 0 0 0 11721 Obj/FWlib_apt32f102_uart.o + 0 0 0 0 0 Obj/FWlib_apt32f102_i2c.o + 40 0 0 0 28182 Obj/FWlib_apt32f102_ept.o + 0 0 0 0 0 Obj/FWlib_apt32f102_rtc.o + 0 0 0 0 0 Obj/FWlib_apt32f102_adc.o + 42 0 0 0 16689 Obj/FWlib_apt32f102_ifc.o + 0 0 0 134 8693 Obj/FWlib_apt32f102_tkey_parameter.o + 0 0 0 0 0 Obj/FWlib_apt32f102_coret.o + 52 14 0 8 12082 Obj/main.o + 420 0 0 0 16825 Obj/mcu_initial.o + 2586 0 0 60 15349 Obj/mcu_interrupt.o + 108 0 104 0 8379 Obj/drivers_apt32f102.o + 12 0 0 0 8319 Obj/drivers_apt32f102_ck801.o + 1552 0 0 620 16226 Obj/SYSTEM_uart.o + 302 128 0 45 13118 Obj/SYSTEM_eeprom.o + 0 0 0 0 0 Obj/SYSTEM_Bootload_fun.o + 892 79 0 44 12637 Obj/SYSTEM_tempctrl_unit.o + 496 0 0 0 12106 Obj/SYSTEM_uart_protocol.o + 344 31 0 20 11467 Obj/SYSTEM_dip_switch.o + 0 0 0 0 0 Obj/__rt_entry.o + ------------------------------------------------------------ + 9578 252 104 931 260834 Object Totals + 4 0 3 8 0 Pad + 0 0 0 0 0 LD_GEN + + ------------------------------------------------------------ + [Library Name]: .\lib_102TKey_f_1_18B_240629.a + ------------------------------------------------------------ + Code RO Data RW Data ZI Data Debug Library Member Name + + 5264 0 61 893 20070 FWlib_apt32f102_tkey_f_1_18.o + ------------------------------------------------------------ + 5264 0 61 893 20070 Library Totals + 0 0 0 0 0 Pad + 0 0 0 0 0 LD_GEN + + ------------------------------------------------------------ + [Library Name]: .\lib_102ClkCalib_1_03.a + ------------------------------------------------------------ + Code RO Data RW Data ZI Data Debug Library Member Name + + 644 0 0 0 8675 FWlib_apt32f102_clkcalib.o + ------------------------------------------------------------ + 644 0 0 0 8675 Library Totals + 0 0 0 0 0 Pad + 0 0 0 0 0 LD_GEN + + ------------------------------------------------------------ + [Library Name]: d:/app/cdkrepo/toolchain/ckv2elfminilib/v3.10.29/r/bin/../lib/gcc/csky-elfabiv2/6.3.0/../../../../csky-elfabiv2/lib/ck801\libm.a + ------------------------------------------------------------ + Code RO Data RW Data ZI Data Debug Library Member Name + + 2474 48 0 0 0 pow.o + 6 0 0 0 0 fabs.o + 32 0 0 0 0 scalbn.o + 376 0 0 0 0 sqrt.o + ------------------------------------------------------------ + 2888 48 0 0 0 Library Totals + 0 0 0 0 0 Pad + 0 0 0 0 0 LD_GEN + + ------------------------------------------------------------ + [Library Name]: d:/app/cdkrepo/toolchain/ckv2elfminilib/v3.10.29/r/bin/../lib/gcc/csky-elfabiv2/6.3.0/ck801\libgcc.a + ------------------------------------------------------------ + Code RO Data RW Data ZI Data Debug Library Member Name + + 20 0 0 0 0 _csky_case_uqi.o + 56 0 0 0 0 _fixunsdfsi.o + 826 0 0 0 0 _addsub_df.o + 564 0 0 0 0 _mul_df.o + 340 0 0 0 0 _div_df.o + 60 0 0 0 0 _gt_df.o + 60 0 0 0 0 _ge_df.o + 58 0 0 0 0 _le_df.o + 112 0 0 0 0 _si_to_df.o + 112 0 0 0 0 _df_to_si.o + 0 20 0 0 0 _thenan_df.o + 84 0 0 0 0 _usi_to_df.o + 68 0 0 0 0 _muldi3.o + 64 0 0 0 0 _clzsi2.o + 412 0 0 0 0 _pack_df.o + 196 0 0 0 0 _unpack_df.o + 140 0 0 0 0 _fpcmp_parts_df.o + 0 256 0 0 0 _clz.o + ------------------------------------------------------------ + 3172 276 0 0 0 Library Totals + 0 0 0 0 0 Pad + 0 0 0 0 0 LD_GEN + + ------------------------------------------------------------ + [Library Name]: d:/app/cdkrepo/toolchain/ckv2elfminilib/v3.10.29/r/bin/../lib/gcc/csky-elfabiv2/6.3.0/../../../../csky-elfabiv2/lib/ck801\libc.a + ------------------------------------------------------------ + Code RO Data RW Data ZI Data Debug Library Member Name + + 136 0 0 0 0 memset_fast.o + 100 0 0 0 0 memcpy_fast.o + 0 0 0 0 0 strncmp.o + ------------------------------------------------------------ + 236 0 0 0 0 Library Totals + 0 0 0 0 0 Pad + 0 0 0 0 0 LD_GEN + + ------------------------------------------------------------ + +====================================================================== + + + Code RO Data RW Data ZI Data Debug + 21786 576 168 1832 289579 Grand Totals + 21786 576 168 1832 289579 Elf Image Totals + 21786 576 168 0 0 ROM Totals + +====================================================================== + +Total RO Size (Code + RO Data) 22362 ( 21.84kB) +Total RW Size (RW Data + ZI Data) 2000 ( 1.95kB) +Total ROM Size (Code + RO Data + RW Data) 22530 ( 22.00kB) + +====================================================================== diff --git a/Source/Lst/T1_TC_ZH_V02_202602091700.asm b/Source/Lst/T1_TC_ZH_V02_202602091700.asm new file mode 100644 index 0000000..e812f36 --- /dev/null +++ b/Source/Lst/T1_TC_ZH_V02_202602091700.asm @@ -0,0 +1,13342 @@ + +.//Obj/T1_TC_ZH_V02_202602091700.elf: file format elf32-csky-little + + +Disassembly of section .text: + +00000000 : +void tk_parameter_init(void) +{ +/**************************************************** +//TK parameter define +*****************************************************/ + TK_IO_ENABLE=0x4F01; //TK IO ENABLE Bit16-->Bit0;0=DISABLE 1=ENABLE + 0: 0000010c .long 0x0000010c + 4: 00002f82 .long 0x00002f82 + + TK_senprd[0]=180; //TCH0 scan period = TCH0 sens + 8: 00002f72 .long 0x00002f72 + TK_senprd[1]=70; //TCH1 scan period = TCH1 sens + c: 00000184 .long 0x00000184 + TK_senprd[2]=70; //TCH2 scan period = TCH2 sens + 10: 00002f7a .long 0x00002f7a + TK_senprd[3]=70; //TCH3 scan period = TCH3 sens + TK_senprd[4]=70; //TCH4 scan period = TCH4 sens + 14: 00002f38 .long 0x00002f38 + TK_senprd[5]=70; //TCH5 scan period = TCH5 sens + TK_senprd[6]=70; //TCH6 scan period = TCH6 sens + 18: 00000184 .long 0x00000184 + TK_senprd[7]=70; //TCH7 scan period = TCH7 sens + TK_senprd[8]=180; //TCH8 scan period = TCH8 sens + 1c: 00002f6a .long 0x00002f6a + TK_senprd[9]=180; //TCH9 scan period = TCH9 sens + 20: 00002f62 .long 0x00002f62 + TK_senprd[10]=70; //TCH10 scan period = TCH10 sens + 24: 00000184 .long 0x00000184 + TK_senprd[11]=70; //TCH11 scan period = TCH11 sens + TK_senprd[12]=180; //TCH12 scan period = TCH12 sens + 28: 00000184 .long 0x00000184 + TK_senprd[13]=180; //TCH13 scan period = TCH13 sens + 2c: 00000184 .long 0x00000184 + TK_senprd[14]=180; //TCH14 scan period = TCH14 sens + TK_senprd[15]=70; //TCH15 scan period = TCH15 sens + 30: 00000184 .long 0x00000184 + TK_senprd[16]=70; //TCH16 scan period = TCH16 sens + 34: 00000184 .long 0x00000184 + TK_Triggerlevel[0]=100; //TCH0 TK_Trigger level + 38: 00000184 .long 0x00000184 + TK_Triggerlevel[1]=40; //TCH1 TK_Trigger level + 3c: 00000184 .long 0x00000184 + TK_Triggerlevel[2]=40; //TCH2 TK_Trigger level + 40: 00002f5a .long 0x00002f5a + TK_Triggerlevel[3]=40; //TCH3 TK_Trigger level + TK_Triggerlevel[4]=40; //TCH4 TK_Trigger level + 44: 00002f52 .long 0x00002f52 + TK_Triggerlevel[5]=40; //TCH5 TK_Trigger level + TK_Triggerlevel[6]=40; //TCH6 TK_Trigger level + 48: 00002f4a .long 0x00002f4a + TK_Triggerlevel[7]=40; //TCH7 TK_Trigger level + TK_Triggerlevel[8]=100; //TCH8 TK_Trigger level + 4c: 00002f42 .long 0x00002f42 + TK_Triggerlevel[9]=100; //TCH9 TK_Trigger level + 50: 00000184 .long 0x00000184 + TK_Triggerlevel[10]=40; //TCH10 TK_Trigger level + 54: 00000184 .long 0x00000184 + TK_Triggerlevel[11]=40; //TCH11 TK_Trigger level + TK_Triggerlevel[12]=100; //TCH12 TK_Trigger level + 58: 00000184 .long 0x00000184 + TK_Triggerlevel[13]=100; //TCH13 TK_Trigger level + 5c: 00000184 .long 0x00000184 + TK_Triggerlevel[14]=100; //TCH14 TK_Trigger level + TK_Triggerlevel[15]=40; //TCH15 TK_Trigger level + 60: 00000184 .long 0x00000184 + TK_Triggerlevel[16]=40; //TCH16 TK_Trigger level + 64: 00000184 .long 0x00000184 + Press_debounce_data=6; //Press debounce 1~10 + 68: 00000184 .long 0x00000184 + Release_debounce_data=5; //Release debounce 1~10 + 6c: 00000184 .long 0x00000184 + 70: 00000184 .long 0x00000184 + Key_mode=1; //Key mode 0=single key 1=multi key + 74: 00000184 .long 0x00000184 + MultiTimes_Filter=40; //MultiTimes Filter,>4 ENABLE <4 DISABLE + 78: 00000184 .long 0x00000184 + 7c: 00002f3a .long 0x00002f3a + Valid_Key_Num=6; //Valid Key number when touched + 80: 0000514c .long 0x0000514c + Base_Speed=20; //baseline update speed + 84: 00002580 .long 0x00002580 + 88: 00002670 .long 0x00002670 + TK_longpress_time=8; //longpress rebuild time = _TK_longpress_time1*1s 0=disable + 8c: 000026d8 .long 0x000026d8 + TK_BaseCnt=59999; //10ms TK_BaseCnt=10ms*48M/8-1,this register need to modify when mcu's Freq changed + 90: 00002740 .long 0x00002740 + 94: 00000184 .long 0x00000184 + +/**************************************************** +//TK low power function define +*****************************************************/ + TK_Lowpower_mode=DISABLE; //touch key can goto sleep when TK lowpower mode enable + 98: 000028ec .long 0x000028ec + TK_Lowpower_level=2; //0=20ms 1=50ms 2=100ms 3=150ms 4=200ms,Scan interval when sleep + 9c: 00002cd4 .long 0x00002cd4 + a0: 00002d04 .long 0x00002d04 + TK_Wakeup_level=50; //touch key Trigger level in sleep + a4: 00002920 .long 0x00002920 +/**************************************************** +//TK special parameter define +*****************************************************/ + TK_PSEL_MODE=TK_PSEL_FVR; //tk power sel:TK_PSEL_FVR/TK_PSEL_AVDD when select TK_PSEL_FVR PA0.2(TCH3) need a 104 cap + a8: 00000184 .long 0x00000184 + ac: 00000184 .long 0x00000184 + TK_FVR_LEVEL=TK_FVR_2048V; //FVR level:TK_FVR_2048V/TK_FVR_4096V + b0: 000029a0 .long 0x000029a0 + TK_EC_LEVEL=TK_EC_1V; //C0 voltage sel:TK_EC_1V/TK_EC_2V/TK_EC_3V/TK_EC_3_6V + b4: 00002a10 .long 0x00002a10 + TK_icon[0]=6; //TCH0 TK Scan icon range 0~7 + b8: 00002a70 .long 0x00002a70 + bc: 00002b04 .long 0x00002b04 + TK_icon[1]=6; //TCH1 TK Scan icon range 0~7 + TK_icon[2]=6; //TCH2 TK Scan icon range 0~7 + c0: 00000184 .long 0x00000184 + TK_icon[3]=6; //TCH3 TK Scan icon range 0~7 + TK_icon[4]=6; //TCH4 TK Scan icon range 0~7 + c4: 00002f92 .long 0x00002f92 + TK_icon[5]=6; //TCH5 TK Scan icon range 0~7 + TK_icon[6]=6; //TCH6 TK Scan icon range 0~7 + c8: 00000184 .long 0x00000184 + TK_icon[7]=6; //TCH7 TK Scan icon range 0~7 + TK_icon[8]=6; //TCH8 TK Scan icon range 0~7 + cc: 00002b98 .long 0x00002b98 + TK_icon[9]=6; //TCH9 TK Scan icon range 0~7 + TK_icon[10]=6; //TCH10 TK Scan icon range 0~7 + d0: 00002c80 .long 0x00002c80 + TK_icon[11]=6; //TCH11 TK Scan icon range 0~7 + TK_icon[12]=6; //TCH12 TK Scan icon range 0~7 + d4: 00002d34 .long 0x00002d34 + TK_icon[13]=6; //TCH13 TK Scan icon range 0~7 + TK_icon[14]=6; //TCH14 TK Scan icon range 0~7 + d8: 00002d7c .long 0x00002d7c + TK_icon[15]=6; //TCH15 TK Scan icon range 0~7 + TK_icon[16]=6; //TCH16 TK Scan icon range 0~7 + dc: 00002de8 .long 0x00002de8 + e0: 00002f8a .long 0x00002f8a + e4: 000050ac .long 0x000050ac + e8: 00002e48 .long 0x00002e48 + ec: 00000184 .long 0x00000184 + f0: 00002e7c .long 0x00002e7c + f4: 00002ec8 .long 0x00002ec8 + f8: 00000184 .long 0x00000184 + fc: 00000184 .long 0x00000184 + 100: 55aa0005 .long 0x55aa0005 + ... + +0000010c <__start>: +// .long __start +__start: + + + //initialize all registers + movi r0, 0 + 10c: 3000 movi r0, 0 + movi r1, 0 + 10e: 3100 movi r1, 0 + movi r2, 0 + 110: 3200 movi r2, 0 + movi r3, 0 + 112: 3300 movi r3, 0 + movi r4, 0 + 114: 3400 movi r4, 0 + movi r5, 0 + 116: 3500 movi r5, 0 + movi r6, 0 + 118: 3600 movi r6, 0 + movi r7, 0 + 11a: 3700 movi r7, 0 + //movi r13, 0 + //movi r14, 0 + //movi r15, 0 + +//set VBR + lrw r2, vector_table + 11c: 105b lrw r2, 0x0 // 188 + mtcr r2, cr<1,0> + 11e: c0026421 mtcr r2, cr<1, 0> + +//enable EE bit of psr + mfcr r2, cr<0,0> + 122: c0006022 mfcr r2, cr<0, 0> + bseti r2, r2, 8 + 126: 3aa8 bseti r2, 8 + mtcr r2, cr<0,0> + 128: c0026420 mtcr r2, cr<0, 0> +// st.w r2, (r1,0x4) +// movi r2, 0x1 +// st.w r2, (r1,0x0) + +//disable power peak + lrw r1, 0xe000ef90 + 12c: 1038 lrw r1, 0xe000ef90 // 18c + movi r2, 0x0 + 12e: 3200 movi r2, 0 + st.w r2, (r1, 0x0) + 130: b140 st.w r2, (r1, 0x0) + + + +//initialize kernel stack + lrw r7, __kernel_stack + 132: 10f8 lrw r7, 0x20000ff8 // 190 + mov r14,r7 + 134: 6f9f mov r14, r7 + subi r6,r7,0x4 + 136: 5fcf subi r6, r7, 4 + + //lrw r3, 0x40 + lrw r3, 0x04 + 138: 3304 movi r3, 4 + + subu r4, r7, r3 + 13a: 5f8d subu r4, r7, r3 + lrw r5, 0x0 + 13c: 3500 movi r5, 0 + +0000013e : +INIT_KERLE_STACK: + addi r4, 0x4 + 13e: 2403 addi r4, 4 + st.w r5, (r4) + 140: b4a0 st.w r5, (r4, 0x0) + //cmphs r7, r4 + cmphs r6, r4 + 142: 6518 cmphs r6, r4 + bt INIT_KERLE_STACK + 144: 0bfd bt 0x13e // 13e + +00000146 <__to_main>: + +__to_main: + lrw r0,__main + 146: 1014 lrw r0, 0x1a50 // 194 + jsr r0 + 148: 7bc1 jsr r0 + mov r0, r0 + 14a: 6c03 mov r0, r0 + mov r0, r0 + 14c: 6c03 mov r0, r0 + + + + lrw r15, __exit + 14e: ea8f0013 lrw r15, 0x160 // 198 + lrw r0,main + 152: 1013 lrw r0, 0x23a4 // 19c + jmp r0 + 154: 7800 jmp r0 + mov r0, r0 + 156: 6c03 mov r0, r0 + mov r0, r0 + 158: 6c03 mov r0, r0 + mov r0, r0 + 15a: 6c03 mov r0, r0 + mov r0, r0 + 15c: 6c03 mov r0, r0 + mov r0, r0 + 15e: 6c03 mov r0, r0 + +00000160 <__exit>: + +.export __exit +__exit: + + lrw r4, 0x20003000 + 160: 1090 lrw r4, 0x20003000 // 1a0 + //lrw r5, 0x0 + mov r5, r0 + 162: 6d43 mov r5, r0 + st.w r5, (r4) + 164: b4a0 st.w r5, (r4, 0x0) + + mfcr r1, cr<0,0> + 166: c0006021 mfcr r1, cr<0, 0> + lrw r1, 0xFFFF + 16a: 102f lrw r1, 0xffff // 1a4 + mtcr r1, cr<11,0> + 16c: c001642b mtcr r1, cr<11, 0> + lrw r1, 0xFFF + 170: 102e lrw r1, 0xfff // 1a8 + movi r0, 0x0 + 172: 3000 movi r0, 0 + st r1, (r0) + 174: b020 st.w r1, (r0, 0x0) + +00000176 <__fail>: + +.export __fail +__fail: + lrw r1, 0xEEEE + 176: 102e lrw r1, 0xeeee // 1ac + mtcr r1, cr<11,0> + 178: c001642b mtcr r1, cr<11, 0> + lrw r1, 0xEEE + 17c: 102d lrw r1, 0xeee // 1b0 + movi r0, 0x0 + 17e: 3000 movi r0, 0 + st r1, (r0) + 180: b020 st.w r1, (r0, 0x0) + +00000182 <__dummy>: + +__dummy: + br __fail + 182: 07fa br 0x176 // 176 <__fail> + +00000184 : + +.export DummyHandler +DummyHandler: + br __fail + 184: 07f9 br 0x176 // 176 <__fail> + 186: 0000 .short 0x0000 + 188: 00000000 .long 0x00000000 + 18c: e000ef90 .long 0xe000ef90 + 190: 20000ff8 .long 0x20000ff8 + 194: 00001a50 .long 0x00001a50 + 198: 00000160 .long 0x00000160 + 19c: 000023a4 .long 0x000023a4 + 1a0: 20003000 .long 0x20003000 + 1a4: 0000ffff .long 0x0000ffff + 1a8: 00000fff .long 0x00000fff + 1ac: 0000eeee .long 0x0000eeee + 1b0: 00000eee .long 0x00000eee + +000001b4 <__GI_pow>: + 1b4: 14d4 push r4-r7, r15 + 1b6: 142d subi r14, r14, 52 + 1b8: b860 st.w r3, (r14, 0x0) + 1ba: 4361 lsli r3, r3, 1 + 1bc: 4b81 lsri r4, r3, 1 + 1be: b842 st.w r2, (r14, 0x8) + 1c0: 6c90 or r2, r4 + 1c2: 3a40 cmpnei r2, 0 + 1c4: 6dc3 mov r7, r0 + 1c6: 6d87 mov r6, r1 + 1c8: 0803 bt 0x1ce // 1ce <__GI_pow+0x1a> + 1ca: e8000462 br 0xa8e // a8e <__GI_pow+0x8da> + 1ce: 41a1 lsli r5, r1, 1 + 1d0: 4da1 lsri r5, r5, 1 + 1d2: 0055 lrw r2, 0x7ff00000 // 578 <__GI_pow+0x3c4> + 1d4: 6549 cmplt r2, r5 + 1d6: 080c bt 0x1ee // 1ee <__GI_pow+0x3a> + 1d8: 6496 cmpne r5, r2 + 1da: 0803 bt 0x1e0 // 1e0 <__GI_pow+0x2c> + 1dc: 3840 cmpnei r0, 0 + 1de: 0808 bt 0x1ee // 1ee <__GI_pow+0x3a> + 1e0: 6509 cmplt r2, r4 + 1e2: 0806 bt 0x1ee // 1ee <__GI_pow+0x3a> + 1e4: 6492 cmpne r4, r2 + 1e6: 080e bt 0x202 // 202 <__GI_pow+0x4e> + 1e8: 9802 ld.w r0, (r14, 0x8) + 1ea: 3840 cmpnei r0, 0 + 1ec: 0c0b bf 0x202 // 202 <__GI_pow+0x4e> + 1ee: 9842 ld.w r2, (r14, 0x8) + 1f0: 9860 ld.w r3, (r14, 0x0) + 1f2: 6c1f mov r0, r7 + 1f4: 6c5b mov r1, r6 + 1f6: e0000713 bsr 0x101c // 101c <__adddf3> + 1fa: 6d03 mov r4, r0 + 1fc: 6c13 mov r0, r4 + 1fe: 140d addi r14, r14, 52 + 200: 1494 pop r4-r7, r15 + 202: 3edf btsti r6, 31 + 204: 0c51 bf 0x2a6 // 2a6 <__GI_pow+0xf2> + 206: 0121 lrw r1, 0x43400000 // 57c <__GI_pow+0x3c8> + 208: 2900 subi r1, 1 + 20a: 6505 cmplt r1, r4 + 20c: 084b bt 0x2a2 // 2a2 <__GI_pow+0xee> + 20e: 0162 lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 210: 2b00 subi r3, 1 + 212: 650d cmplt r3, r4 + 214: 0c49 bf 0x2a6 // 2a6 <__GI_pow+0xf2> + 216: 5454 asri r2, r4, 20 + 218: 0104 lrw r0, 0xfffffc01 // 584 <__GI_pow+0x3d0> + 21a: 6080 addu r2, r0 + 21c: 3a34 cmplti r2, 21 + 21e: 0821 bt 0x260 // 260 <__GI_pow+0xac> + 220: 3334 movi r3, 52 + 222: 60ca subu r3, r2 + 224: 9842 ld.w r2, (r14, 0x8) + 226: 708d lsr r2, r3 + 228: 6c4b mov r1, r2 + 22a: 704c lsl r1, r3 + 22c: 9802 ld.w r0, (r14, 0x8) + 22e: 6442 cmpne r0, r1 + 230: 083b bt 0x2a6 // 2a6 <__GI_pow+0xf2> + 232: 3101 movi r1, 1 + 234: 6884 and r2, r1 + 236: 3302 movi r3, 2 + 238: 5b49 subu r2, r3, r2 + 23a: 9802 ld.w r0, (r14, 0x8) + 23c: 3840 cmpnei r0, 0 + 23e: b841 st.w r2, (r14, 0x4) + 240: 0862 bt 0x304 // 304 <__GI_pow+0x150> + 242: 0151 lrw r2, 0x7ff00000 // 578 <__GI_pow+0x3c4> + 244: 6492 cmpne r4, r2 + 246: 081f bt 0x284 // 284 <__GI_pow+0xd0> + 248: 012f lrw r1, 0xc0100000 // 588 <__GI_pow+0x3d4> + 24a: 6054 addu r1, r5 + 24c: 6dc4 or r7, r1 + 24e: 3f40 cmpnei r7, 0 + 250: 082d bt 0x2aa // 2aa <__GI_pow+0xf6> + 252: 9860 ld.w r3, (r14, 0x0) + 254: 3200 movi r2, 0 + 256: 6c4f mov r1, r3 + 258: 3000 movi r0, 0 + 25a: e00006f9 bsr 0x104c // 104c <__subdf3> + 25e: 07ce br 0x1fa // 1fa <__GI_pow+0x46> + 260: 9822 ld.w r1, (r14, 0x8) + 262: 3940 cmpnei r1, 0 + 264: 084e bt 0x300 // 300 <__GI_pow+0x14c> + 266: 3114 movi r1, 20 + 268: 604a subu r1, r2 + 26a: 6c93 mov r2, r4 + 26c: 7086 asr r2, r1 + 26e: 6c0b mov r0, r2 + 270: 7004 lsl r0, r1 + 272: 6412 cmpne r4, r0 + 274: 0c03 bf 0x27a // 27a <__GI_pow+0xc6> + 276: e8000471 br 0xb58 // b58 <__GI_pow+0x9a4> + 27a: 3101 movi r1, 1 + 27c: 6884 and r2, r1 + 27e: 3002 movi r0, 2 + 280: 5869 subu r3, r0, r2 + 282: b861 st.w r3, (r14, 0x4) + 284: 0220 lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 286: 6452 cmpne r4, r1 + 288: 0825 bt 0x2d2 // 2d2 <__GI_pow+0x11e> + 28a: 9880 ld.w r4, (r14, 0x0) + 28c: 3cdf btsti r4, 31 + 28e: 0803 bt 0x294 // 294 <__GI_pow+0xe0> + 290: e8000407 br 0xa9e // a9e <__GI_pow+0x8ea> + 294: 6c9f mov r2, r7 + 296: 6cdb mov r3, r6 + 298: 3000 movi r0, 0 + 29a: 0225 lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 29c: e000080e bsr 0x12b8 // 12b8 <__divdf3> + 2a0: 07ad br 0x1fa // 1fa <__GI_pow+0x46> + 2a2: 3202 movi r2, 2 + 2a4: 07cb br 0x23a // 23a <__GI_pow+0x86> + 2a6: 3200 movi r2, 0 + 2a8: 07c9 br 0x23a // 23a <__GI_pow+0x86> + 2aa: 0269 lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 2ac: 2b00 subi r3, 1 + 2ae: 654d cmplt r3, r5 + 2b0: 9800 ld.w r0, (r14, 0x0) + 2b2: 0c08 bf 0x2c2 // 2c2 <__GI_pow+0x10e> + 2b4: 38df btsti r0, 31 + 2b6: 0803 bt 0x2bc // 2bc <__GI_pow+0x108> + 2b8: e80003ef br 0xa96 // a96 <__GI_pow+0x8e2> + 2bc: 3400 movi r4, 0 + 2be: 3100 movi r1, 0 + 2c0: 079e br 0x1fc // 1fc <__GI_pow+0x48> + 2c2: 38df btsti r0, 31 + 2c4: 0ffc bf 0x2bc // 2bc <__GI_pow+0x108> + 2c6: 3400 movi r4, 0 + 2c8: 6c43 mov r1, r0 + 2ca: 3280 movi r2, 128 + 2cc: 4278 lsli r3, r2, 24 + 2ce: 604c addu r1, r3 + 2d0: 0796 br 0x1fc // 1fc <__GI_pow+0x48> + 2d2: 3380 movi r3, 128 + 2d4: 4317 lsli r0, r3, 23 + 2d6: 9840 ld.w r2, (r14, 0x0) + 2d8: 640a cmpne r2, r0 + 2da: 0808 bt 0x2ea // 2ea <__GI_pow+0x136> + 2dc: 6c9f mov r2, r7 + 2de: 6cdb mov r3, r6 + 2e0: 6c1f mov r0, r7 + 2e2: 6c5b mov r1, r6 + 2e4: e00006d0 bsr 0x1084 // 1084 <__muldf3> + 2e8: 0789 br 0x1fa // 1fa <__GI_pow+0x46> + 2ea: 0276 lrw r3, 0x3fe00000 // 58c <__GI_pow+0x3d8> + 2ec: 9820 ld.w r1, (r14, 0x0) + 2ee: 64c6 cmpne r1, r3 + 2f0: 080a bt 0x304 // 304 <__GI_pow+0x150> + 2f2: 3edf btsti r6, 31 + 2f4: 0808 bt 0x304 // 304 <__GI_pow+0x150> + 2f6: 6c1f mov r0, r7 + 2f8: 6c5b mov r1, r6 + 2fa: e0000445 bsr 0xb84 // b84 <__GI_sqrt> + 2fe: 077e br 0x1fa // 1fa <__GI_pow+0x46> + 300: 3300 movi r3, 0 + 302: b861 st.w r3, (r14, 0x4) + 304: 6c1f mov r0, r7 + 306: 6c5b mov r1, r6 + 308: b883 st.w r4, (r14, 0xc) + 30a: e000042a bsr 0xb5e // b5e <__GI_fabs> + 30e: 3f40 cmpnei r7, 0 + 310: 6d03 mov r4, r0 + 312: 9863 ld.w r3, (r14, 0xc) + 314: 0826 bt 0x360 // 360 <__GI_pow+0x1ac> + 316: 3d40 cmpnei r5, 0 + 318: 0c05 bf 0x322 // 322 <__GI_pow+0x16e> + 31a: 4642 lsli r2, r6, 2 + 31c: 0302 lrw r0, 0xffc00000 // 590 <__GI_pow+0x3dc> + 31e: 640a cmpne r2, r0 + 320: 0820 bt 0x360 // 360 <__GI_pow+0x1ac> + 322: 9840 ld.w r2, (r14, 0x0) + 324: 3adf btsti r2, 31 + 326: 0c08 bf 0x336 // 336 <__GI_pow+0x182> + 328: 6c93 mov r2, r4 + 32a: 6cc7 mov r3, r1 + 32c: 3000 movi r0, 0 + 32e: 032a lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 330: e00007c4 bsr 0x12b8 // 12b8 <__divdf3> + 334: 6d03 mov r4, r0 + 336: 3edf btsti r6, 31 + 338: 0f62 bf 0x1fc // 1fc <__GI_pow+0x48> + 33a: 036b lrw r3, 0xc0100000 // 588 <__GI_pow+0x3d4> + 33c: 614c addu r5, r3 + 33e: 9801 ld.w r0, (r14, 0x4) + 340: 6d40 or r5, r0 + 342: 3d40 cmpnei r5, 0 + 344: 080a bt 0x358 // 358 <__GI_pow+0x1a4> + 346: 6c93 mov r2, r4 + 348: 6cc7 mov r3, r1 + 34a: 6c0b mov r0, r2 + 34c: 6c4f mov r1, r3 + 34e: e000067f bsr 0x104c // 104c <__subdf3> + 352: 6c83 mov r2, r0 + 354: 6cc7 mov r3, r1 + 356: 07a3 br 0x29c // 29c <__GI_pow+0xe8> + 358: 9841 ld.w r2, (r14, 0x4) + 35a: 3a41 cmpnei r2, 1 + 35c: 0b50 bt 0x1fc // 1fc <__GI_pow+0x48> + 35e: 07b6 br 0x2ca // 2ca <__GI_pow+0x116> + 360: 4e5f lsri r2, r6, 31 + 362: 2a00 subi r2, 1 + 364: b847 st.w r2, (r14, 0x1c) + 366: 9807 ld.w r0, (r14, 0x1c) + 368: 9841 ld.w r2, (r14, 0x4) + 36a: 6c80 or r2, r0 + 36c: 3a40 cmpnei r2, 0 + 36e: 0804 bt 0x376 // 376 <__GI_pow+0x1c2> + 370: 6c9f mov r2, r7 + 372: 6cdb mov r3, r6 + 374: 07eb br 0x34a // 34a <__GI_pow+0x196> + 376: 0357 lrw r2, 0x41e00000 // 594 <__GI_pow+0x3e0> + 378: 64c9 cmplt r2, r3 + 37a: 0cbf bf 0x4f8 // 4f8 <__GI_pow+0x344> + 37c: 0358 lrw r2, 0x43f00000 // 598 <__GI_pow+0x3e4> + 37e: 64c9 cmplt r2, r3 + 380: 037f lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 382: 0c0c bf 0x39a // 39a <__GI_pow+0x1e6> + 384: 2b00 subi r3, 1 + 386: 654d cmplt r3, r5 + 388: 080f bt 0x3a6 // 3a6 <__GI_pow+0x1f2> + 38a: 9820 ld.w r1, (r14, 0x0) + 38c: 39df btsti r1, 31 + 38e: 0f97 bf 0x2bc // 2bc <__GI_pow+0x108> + 390: 035c lrw r2, 0x8800759c // 59c <__GI_pow+0x3e8> + 392: 037b lrw r3, 0x7e37e43c // 5a0 <__GI_pow+0x3ec> + 394: 6c0b mov r0, r2 + 396: 6c4f mov r1, r3 + 398: 07a6 br 0x2e4 // 2e4 <__GI_pow+0x130> + 39a: 2b01 subi r3, 2 + 39c: 654d cmplt r3, r5 + 39e: 0ff6 bf 0x38a // 38a <__GI_pow+0x1d6> + 3a0: 1318 lrw r0, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 3a2: 6541 cmplt r0, r5 + 3a4: 0c05 bf 0x3ae // 3ae <__GI_pow+0x1fa> + 3a6: 9800 ld.w r0, (r14, 0x0) + 3a8: 3820 cmplti r0, 1 + 3aa: 0ff3 bf 0x390 // 390 <__GI_pow+0x1dc> + 3ac: 0788 br 0x2bc // 2bc <__GI_pow+0x108> + 3ae: 3200 movi r2, 0 + 3b0: 1374 lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 3b2: 6c1f mov r0, r7 + 3b4: 6c5b mov r1, r6 + 3b6: 36c0 movi r6, 192 + 3b8: e000064a bsr 0x104c // 104c <__subdf3> + 3bc: 4657 lsli r2, r6, 23 + 3be: 137a lrw r3, 0x3ff71547 // 5a4 <__GI_pow+0x3f0> + 3c0: 6d43 mov r5, r0 + 3c2: 6d07 mov r4, r1 + 3c4: e0000660 bsr 0x1084 // 1084 <__muldf3> + 3c8: 6dc3 mov r7, r0 + 3ca: 6d87 mov r6, r1 + 3cc: 1357 lrw r2, 0xf85ddf44 // 5a8 <__GI_pow+0x3f4> + 3ce: 1378 lrw r3, 0x3e54ae0b // 5ac <__GI_pow+0x3f8> + 3d0: 6c17 mov r0, r5 + 3d2: 6c53 mov r1, r4 + 3d4: e0000658 bsr 0x1084 // 1084 <__muldf3> + 3d8: b803 st.w r0, (r14, 0xc) + 3da: b824 st.w r1, (r14, 0x10) + 3dc: 3200 movi r2, 0 + 3de: 1375 lrw r3, 0x3fd00000 // 5b0 <__GI_pow+0x3fc> + 3e0: 6c17 mov r0, r5 + 3e2: 6c53 mov r1, r4 + 3e4: e0000650 bsr 0x1084 // 1084 <__muldf3> + 3e8: 6c83 mov r2, r0 + 3ea: 6cc7 mov r3, r1 + 3ec: 1312 lrw r0, 0x55555555 // 5b4 <__GI_pow+0x400> + 3ee: 1333 lrw r1, 0x3fd55555 // 5b8 <__GI_pow+0x404> + 3f0: e000062e bsr 0x104c // 104c <__subdf3> + 3f4: 6c97 mov r2, r5 + 3f6: 6cd3 mov r3, r4 + 3f8: e0000646 bsr 0x1084 // 1084 <__muldf3> + 3fc: 6c83 mov r2, r0 + 3fe: 6cc7 mov r3, r1 + 400: 3000 movi r0, 0 + 402: 1323 lrw r1, 0x3fe00000 // 58c <__GI_pow+0x3d8> + 404: e0000624 bsr 0x104c // 104c <__subdf3> + 408: b805 st.w r0, (r14, 0x14) + 40a: 6c97 mov r2, r5 + 40c: 6cd3 mov r3, r4 + 40e: b826 st.w r1, (r14, 0x18) + 410: 6c17 mov r0, r5 + 412: 6c53 mov r1, r4 + 414: e0000638 bsr 0x1084 // 1084 <__muldf3> + 418: 6c83 mov r2, r0 + 41a: 6cc7 mov r3, r1 + 41c: 9805 ld.w r0, (r14, 0x14) + 41e: 9826 ld.w r1, (r14, 0x18) + 420: e0000632 bsr 0x1084 // 1084 <__muldf3> + 424: 1346 lrw r2, 0x652b82fe // 5bc <__GI_pow+0x408> + 426: 1360 lrw r3, 0x3ff71547 // 5a4 <__GI_pow+0x3f0> + 428: e000062e bsr 0x1084 // 1084 <__muldf3> + 42c: 6c83 mov r2, r0 + 42e: 6cc7 mov r3, r1 + 430: 9803 ld.w r0, (r14, 0xc) + 432: 9824 ld.w r1, (r14, 0x10) + 434: e000060c bsr 0x104c // 104c <__subdf3> + 438: 6c83 mov r2, r0 + 43a: 6cc7 mov r3, r1 + 43c: 6d43 mov r5, r0 + 43e: 6d07 mov r4, r1 + 440: 6c1f mov r0, r7 + 442: 6c5b mov r1, r6 + 444: e00005ec bsr 0x101c // 101c <__adddf3> + 448: 6c9f mov r2, r7 + 44a: 6cdb mov r3, r6 + 44c: 3000 movi r0, 0 + 44e: b823 st.w r1, (r14, 0xc) + 450: e00005fe bsr 0x104c // 104c <__subdf3> + 454: 6c83 mov r2, r0 + 456: 6cc7 mov r3, r1 + 458: 6c17 mov r0, r5 + 45a: 6c53 mov r1, r4 + 45c: e00005f8 bsr 0x104c // 104c <__subdf3> + 460: 6d07 mov r4, r1 + 462: 9821 ld.w r1, (r14, 0x4) + 464: 2900 subi r1, 1 + 466: 9847 ld.w r2, (r14, 0x1c) + 468: 6c48 or r1, r2 + 46a: 3940 cmpnei r1, 0 + 46c: 6d43 mov r5, r0 + 46e: 0c02 bf 0x472 // 472 <__GI_pow+0x2be> + 470: 05f0 br 0x850 // 850 <__GI_pow+0x69c> + 472: 1274 lrw r3, 0xbff00000 // 5c0 <__GI_pow+0x40c> + 474: b861 st.w r3, (r14, 0x4) + 476: 9860 ld.w r3, (r14, 0x0) + 478: 3200 movi r2, 0 + 47a: 9802 ld.w r0, (r14, 0x8) + 47c: 6c4f mov r1, r3 + 47e: e00005e7 bsr 0x104c // 104c <__subdf3> + 482: 9863 ld.w r3, (r14, 0xc) + 484: 3200 movi r2, 0 + 486: e00005ff bsr 0x1084 // 1084 <__muldf3> + 48a: 6dc3 mov r7, r0 + 48c: 6d87 mov r6, r1 + 48e: 9842 ld.w r2, (r14, 0x8) + 490: 9860 ld.w r3, (r14, 0x0) + 492: 6c17 mov r0, r5 + 494: 6c53 mov r1, r4 + 496: e00005f7 bsr 0x1084 // 1084 <__muldf3> + 49a: 6c83 mov r2, r0 + 49c: 6cc7 mov r3, r1 + 49e: 6c1f mov r0, r7 + 4a0: 6c5b mov r1, r6 + 4a2: e00005bd bsr 0x101c // 101c <__adddf3> + 4a6: 6dc3 mov r7, r0 + 4a8: 9860 ld.w r3, (r14, 0x0) + 4aa: 6d87 mov r6, r1 + 4ac: 3200 movi r2, 0 + 4ae: 9823 ld.w r1, (r14, 0xc) + 4b0: 3000 movi r0, 0 + 4b2: e00005e9 bsr 0x1084 // 1084 <__muldf3> + 4b6: b802 st.w r0, (r14, 0x8) + 4b8: b803 st.w r0, (r14, 0xc) + 4ba: b824 st.w r1, (r14, 0x10) + 4bc: 6c83 mov r2, r0 + 4be: 6cc7 mov r3, r1 + 4c0: 6d47 mov r5, r1 + 4c2: 6c1f mov r0, r7 + 4c4: 6c5b mov r1, r6 + 4c6: e00005ab bsr 0x101c // 101c <__adddf3> + 4ca: 6d07 mov r4, r1 + 4cc: 113e lrw r1, 0x40900000 // 5c4 <__GI_pow+0x410> + 4ce: 2900 subi r1, 1 + 4d0: 6505 cmplt r1, r4 + 4d2: b800 st.w r0, (r14, 0x0) + 4d4: 0803 bt 0x4da // 4da <__GI_pow+0x326> + 4d6: e80002b3 br 0xa3c // a3c <__GI_pow+0x888> + 4da: 117c lrw r3, 0xbf700000 // 5c8 <__GI_pow+0x414> + 4dc: 60d0 addu r3, r4 + 4de: 6cc0 or r3, r0 + 4e0: 3b40 cmpnei r3, 0 + 4e2: 0802 bt 0x4e6 // 4e6 <__GI_pow+0x332> + 4e4: 05b8 br 0x854 // 854 <__GI_pow+0x6a0> + 4e6: 114e lrw r2, 0x8800759c // 59c <__GI_pow+0x3e8> + 4e8: 116e lrw r3, 0x7e37e43c // 5a0 <__GI_pow+0x3ec> + 4ea: 3000 movi r0, 0 + 4ec: 9821 ld.w r1, (r14, 0x4) + 4ee: e00005cb bsr 0x1084 // 1084 <__muldf3> + 4f2: 114b lrw r2, 0x8800759c // 59c <__GI_pow+0x3e8> + 4f4: 116b lrw r3, 0x7e37e43c // 5a0 <__GI_pow+0x3ec> + 4f6: 06f7 br 0x2e4 // 2e4 <__GI_pow+0x130> + 4f8: 11d5 lrw r6, 0xfffff // 5cc <__GI_pow+0x418> + 4fa: 6559 cmplt r6, r5 + 4fc: 09a6 bt 0x848 // 848 <__GI_pow+0x694> + 4fe: 6c13 mov r0, r4 + 500: 3200 movi r2, 0 + 502: 107f lrw r3, 0x43400000 // 57c <__GI_pow+0x3c8> + 504: e00005c0 bsr 0x1084 // 1084 <__muldf3> + 508: 3700 movi r7, 0 + 50a: 6d03 mov r4, r0 + 50c: 6d47 mov r5, r1 + 50e: 2f34 subi r7, 53 + 510: 5514 asri r0, r5, 20 + 512: 103d lrw r1, 0xfffffc01 // 584 <__GI_pow+0x3d0> + 514: 45ac lsli r5, r5, 12 + 516: 4d4c lsri r2, r5, 12 + 518: 6004 addu r0, r1 + 51a: 116e lrw r3, 0x3988e // 5d0 <__GI_pow+0x41c> + 51c: 601c addu r0, r7 + 51e: 648d cmplt r3, r2 + 520: 10f8 lrw r7, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 522: b804 st.w r0, (r14, 0x10) + 524: 6dc8 or r7, r2 + 526: 0c09 bf 0x538 // 538 <__GI_pow+0x384> + 528: 11cb lrw r6, 0xbb679 // 5d4 <__GI_pow+0x420> + 52a: 6499 cmplt r6, r2 + 52c: 0d90 bf 0x84c // 84c <__GI_pow+0x698> + 52e: 6c83 mov r2, r0 + 530: 2200 addi r2, 1 + 532: 110a lrw r0, 0xfff00000 // 5d8 <__GI_pow+0x424> + 534: b844 st.w r2, (r14, 0x10) + 536: 61c0 addu r7, r0 + 538: 3500 movi r5, 0 + 53a: 45c3 lsli r6, r5, 3 + 53c: 1168 lrw r3, 0x552c // 5dc <__GI_pow+0x428> + 53e: 4523 lsli r1, r5, 3 + 540: 60d8 addu r3, r6 + 542: 9340 ld.w r2, (r3, 0x0) + 544: b828 st.w r1, (r14, 0x20) + 546: 9361 ld.w r3, (r3, 0x4) + 548: 6c13 mov r0, r4 + 54a: 6c5f mov r1, r7 + 54c: b845 st.w r2, (r14, 0x14) + 54e: b866 st.w r3, (r14, 0x18) + 550: e000057e bsr 0x104c // 104c <__subdf3> + 554: b809 st.w r0, (r14, 0x24) + 556: 9845 ld.w r2, (r14, 0x14) + 558: 9866 ld.w r3, (r14, 0x18) + 55a: b82a st.w r1, (r14, 0x28) + 55c: 6c13 mov r0, r4 + 55e: 6c5f mov r1, r7 + 560: e000055e bsr 0x101c // 101c <__adddf3> + 564: 6c83 mov r2, r0 + 566: 6cc7 mov r3, r1 + 568: 3000 movi r0, 0 + 56a: 1026 lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc> + 56c: e00006a6 bsr 0x12b8 // 12b8 <__divdf3> + 570: 6c83 mov r2, r0 + 572: 6cc7 mov r3, r1 + 574: 0436 br 0x5e0 // 5e0 <__GI_pow+0x42c> + 576: 0000 bkpt + 578: 7ff00000 .long 0x7ff00000 + 57c: 43400000 .long 0x43400000 + 580: 3ff00000 .long 0x3ff00000 + 584: fffffc01 .long 0xfffffc01 + 588: c0100000 .long 0xc0100000 + 58c: 3fe00000 .long 0x3fe00000 + 590: ffc00000 .long 0xffc00000 + 594: 41e00000 .long 0x41e00000 + 598: 43f00000 .long 0x43f00000 + 59c: 8800759c .long 0x8800759c + 5a0: 7e37e43c .long 0x7e37e43c + 5a4: 3ff71547 .long 0x3ff71547 + 5a8: f85ddf44 .long 0xf85ddf44 + 5ac: 3e54ae0b .long 0x3e54ae0b + 5b0: 3fd00000 .long 0x3fd00000 + 5b4: 55555555 .long 0x55555555 + 5b8: 3fd55555 .long 0x3fd55555 + 5bc: 652b82fe .long 0x652b82fe + 5c0: bff00000 .long 0xbff00000 + 5c4: 40900000 .long 0x40900000 + 5c8: bf700000 .long 0xbf700000 + 5cc: 000fffff .long 0x000fffff + 5d0: 0003988e .long 0x0003988e + 5d4: 000bb679 .long 0x000bb679 + 5d8: fff00000 .long 0xfff00000 + 5dc: 0000552c .long 0x0000552c + 5e0: b80b st.w r0, (r14, 0x2c) + 5e2: b82c st.w r1, (r14, 0x30) + 5e4: 9809 ld.w r0, (r14, 0x24) + 5e6: 982a ld.w r1, (r14, 0x28) + 5e8: e000054e bsr 0x1084 // 1084 <__muldf3> + 5ec: b803 st.w r0, (r14, 0xc) + 5ee: 3280 movi r2, 128 + 5f0: 5701 asri r0, r7, 1 + 5f2: 6d87 mov r6, r1 + 5f4: 38bd bseti r0, 29 + 5f6: 422c lsli r1, r2, 12 + 5f8: 6004 addu r0, r1 + 5fa: 45b2 lsli r5, r5, 18 + 5fc: 6140 addu r5, r0 + 5fe: 6cd7 mov r3, r5 + 600: 3200 movi r2, 0 + 602: 6c5b mov r1, r6 + 604: 3000 movi r0, 0 + 606: e000053f bsr 0x1084 // 1084 <__muldf3> + 60a: 6c83 mov r2, r0 + 60c: 6cc7 mov r3, r1 + 60e: 9809 ld.w r0, (r14, 0x24) + 610: 982a ld.w r1, (r14, 0x28) + 612: e000051d bsr 0x104c // 104c <__subdf3> + 616: b809 st.w r0, (r14, 0x24) + 618: 9845 ld.w r2, (r14, 0x14) + 61a: 9866 ld.w r3, (r14, 0x18) + 61c: b82a st.w r1, (r14, 0x28) + 61e: 3000 movi r0, 0 + 620: 6c57 mov r1, r5 + 622: e0000515 bsr 0x104c // 104c <__subdf3> + 626: 6c83 mov r2, r0 + 628: 6cc7 mov r3, r1 + 62a: 6c13 mov r0, r4 + 62c: 6c5f mov r1, r7 + 62e: e000050f bsr 0x104c // 104c <__subdf3> + 632: 6cdb mov r3, r6 + 634: 3200 movi r2, 0 + 636: e0000527 bsr 0x1084 // 1084 <__muldf3> + 63a: 6c83 mov r2, r0 + 63c: 6cc7 mov r3, r1 + 63e: 9809 ld.w r0, (r14, 0x24) + 640: 982a ld.w r1, (r14, 0x28) + 642: e0000505 bsr 0x104c // 104c <__subdf3> + 646: 984b ld.w r2, (r14, 0x2c) + 648: 986c ld.w r3, (r14, 0x30) + 64a: e000051d bsr 0x1084 // 1084 <__muldf3> + 64e: 9843 ld.w r2, (r14, 0xc) + 650: 6cdb mov r3, r6 + 652: b805 st.w r0, (r14, 0x14) + 654: b826 st.w r1, (r14, 0x18) + 656: 6c0b mov r0, r2 + 658: 6c5b mov r1, r6 + 65a: e0000515 bsr 0x1084 // 1084 <__muldf3> + 65e: ea820113 lrw r2, 0x4a454eef // aa8 <__GI_pow+0x8f4> + 662: ea830113 lrw r3, 0x3fca7e28 // aac <__GI_pow+0x8f8> + 666: 6d43 mov r5, r0 + 668: 6d07 mov r4, r1 + 66a: e000050d bsr 0x1084 // 1084 <__muldf3> + 66e: ea820111 lrw r2, 0x93c9db65 // ab0 <__GI_pow+0x8fc> + 672: ea830111 lrw r3, 0x3fcd864a // ab4 <__GI_pow+0x900> + 676: e00004d3 bsr 0x101c // 101c <__adddf3> + 67a: 6c97 mov r2, r5 + 67c: 6cd3 mov r3, r4 + 67e: e0000503 bsr 0x1084 // 1084 <__muldf3> + 682: ea82010e lrw r2, 0xa91d4101 // ab8 <__GI_pow+0x904> + 686: ea83010e lrw r3, 0x3fd17460 // abc <__GI_pow+0x908> + 68a: e00004c9 bsr 0x101c // 101c <__adddf3> + 68e: 6c97 mov r2, r5 + 690: 6cd3 mov r3, r4 + 692: e00004f9 bsr 0x1084 // 1084 <__muldf3> + 696: ea82010b lrw r2, 0x518f264d // ac0 <__GI_pow+0x90c> + 69a: ea83010b lrw r3, 0x3fd55555 // ac4 <__GI_pow+0x910> + 69e: e00004bf bsr 0x101c // 101c <__adddf3> + 6a2: 6c97 mov r2, r5 + 6a4: 6cd3 mov r3, r4 + 6a6: e00004ef bsr 0x1084 // 1084 <__muldf3> + 6aa: ea820108 lrw r2, 0xdb6fabff // ac8 <__GI_pow+0x914> + 6ae: ea830108 lrw r3, 0x3fdb6db6 // acc <__GI_pow+0x918> + 6b2: e00004b5 bsr 0x101c // 101c <__adddf3> + 6b6: 6c97 mov r2, r5 + 6b8: 6cd3 mov r3, r4 + 6ba: e00004e5 bsr 0x1084 // 1084 <__muldf3> + 6be: ea820105 lrw r2, 0x33333303 // ad0 <__GI_pow+0x91c> + 6c2: ea830105 lrw r3, 0x3fe33333 // ad4 <__GI_pow+0x920> + 6c6: e00004ab bsr 0x101c // 101c <__adddf3> + 6ca: 6dc3 mov r7, r0 + 6cc: 6c97 mov r2, r5 + 6ce: 6cd3 mov r3, r4 + 6d0: b829 st.w r1, (r14, 0x24) + 6d2: 6c17 mov r0, r5 + 6d4: 6c53 mov r1, r4 + 6d6: e00004d7 bsr 0x1084 // 1084 <__muldf3> + 6da: 6c83 mov r2, r0 + 6dc: 6cc7 mov r3, r1 + 6de: 6c1f mov r0, r7 + 6e0: 9829 ld.w r1, (r14, 0x24) + 6e2: e00004d1 bsr 0x1084 // 1084 <__muldf3> + 6e6: 6d43 mov r5, r0 + 6e8: 6d07 mov r4, r1 + 6ea: 6cdb mov r3, r6 + 6ec: 3200 movi r2, 0 + 6ee: 9803 ld.w r0, (r14, 0xc) + 6f0: 6c5b mov r1, r6 + 6f2: e0000495 bsr 0x101c // 101c <__adddf3> + 6f6: 9845 ld.w r2, (r14, 0x14) + 6f8: 9866 ld.w r3, (r14, 0x18) + 6fa: e00004c5 bsr 0x1084 // 1084 <__muldf3> + 6fe: 6c97 mov r2, r5 + 700: 6cd3 mov r3, r4 + 702: e000048d bsr 0x101c // 101c <__adddf3> + 706: 6d43 mov r5, r0 + 708: 6cdb mov r3, r6 + 70a: b829 st.w r1, (r14, 0x24) + 70c: 3200 movi r2, 0 + 70e: 6c5b mov r1, r6 + 710: 3000 movi r0, 0 + 712: e00004b9 bsr 0x1084 // 1084 <__muldf3> + 716: 3200 movi r2, 0 + 718: 006f lrw r3, 0x40080000 // ad8 <__GI_pow+0x924> + 71a: 6dc3 mov r7, r0 + 71c: b82a st.w r1, (r14, 0x28) + 71e: e000047f bsr 0x101c // 101c <__adddf3> + 722: 6c97 mov r2, r5 + 724: 9869 ld.w r3, (r14, 0x24) + 726: e000047b bsr 0x101c // 101c <__adddf3> + 72a: 6d07 mov r4, r1 + 72c: 6cc7 mov r3, r1 + 72e: 3200 movi r2, 0 + 730: 6c5b mov r1, r6 + 732: 3000 movi r0, 0 + 734: e00004a8 bsr 0x1084 // 1084 <__muldf3> + 738: b80b st.w r0, (r14, 0x2c) + 73a: b82c st.w r1, (r14, 0x30) + 73c: 3200 movi r2, 0 + 73e: 0078 lrw r3, 0x40080000 // ad8 <__GI_pow+0x924> + 740: 6c53 mov r1, r4 + 742: 3000 movi r0, 0 + 744: e0000484 bsr 0x104c // 104c <__subdf3> + 748: 6c9f mov r2, r7 + 74a: 986a ld.w r3, (r14, 0x28) + 74c: e0000480 bsr 0x104c // 104c <__subdf3> + 750: 6c83 mov r2, r0 + 752: 6cc7 mov r3, r1 + 754: 6c17 mov r0, r5 + 756: 9829 ld.w r1, (r14, 0x24) + 758: e000047a bsr 0x104c // 104c <__subdf3> + 75c: 9843 ld.w r2, (r14, 0xc) + 75e: 6cdb mov r3, r6 + 760: e0000492 bsr 0x1084 // 1084 <__muldf3> + 764: 6d83 mov r6, r0 + 766: 6d47 mov r5, r1 + 768: 6cd3 mov r3, r4 + 76a: 3200 movi r2, 0 + 76c: 9805 ld.w r0, (r14, 0x14) + 76e: 9826 ld.w r1, (r14, 0x18) + 770: e000048a bsr 0x1084 // 1084 <__muldf3> + 774: 6c83 mov r2, r0 + 776: 6cc7 mov r3, r1 + 778: 6c1b mov r0, r6 + 77a: 6c57 mov r1, r5 + 77c: e0000450 bsr 0x101c // 101c <__adddf3> + 780: 6dc3 mov r7, r0 + 782: 6d87 mov r6, r1 + 784: 6c83 mov r2, r0 + 786: 6cc7 mov r3, r1 + 788: 980b ld.w r0, (r14, 0x2c) + 78a: 982c ld.w r1, (r14, 0x30) + 78c: e0000448 bsr 0x101c // 101c <__adddf3> + 790: 33e0 movi r3, 224 + 792: 4358 lsli r2, r3, 24 + 794: 3000 movi r0, 0 + 796: 016d lrw r3, 0x3feec709 // adc <__GI_pow+0x928> + 798: 6d07 mov r4, r1 + 79a: e0000475 bsr 0x1084 // 1084 <__muldf3> + 79e: b805 st.w r0, (r14, 0x14) + 7a0: b826 st.w r1, (r14, 0x18) + 7a2: 984b ld.w r2, (r14, 0x2c) + 7a4: 986c ld.w r3, (r14, 0x30) + 7a6: 6c53 mov r1, r4 + 7a8: 3000 movi r0, 0 + 7aa: e0000451 bsr 0x104c // 104c <__subdf3> + 7ae: 6c83 mov r2, r0 + 7b0: 6cc7 mov r3, r1 + 7b2: 6c1f mov r0, r7 + 7b4: 6c5b mov r1, r6 + 7b6: e000044b bsr 0x104c // 104c <__subdf3> + 7ba: 0155 lrw r2, 0xdc3a03fd // ae0 <__GI_pow+0x92c> + 7bc: 0177 lrw r3, 0x3feec709 // adc <__GI_pow+0x928> + 7be: e0000463 bsr 0x1084 // 1084 <__muldf3> + 7c2: 6dc3 mov r7, r0 + 7c4: 6d47 mov r5, r1 + 7c6: 0157 lrw r2, 0x145b01f5 // ae4 <__GI_pow+0x930> + 7c8: 0177 lrw r3, 0xbe3e2fe0 // ae8 <__GI_pow+0x934> + 7ca: 6c53 mov r1, r4 + 7cc: 3000 movi r0, 0 + 7ce: e000045b bsr 0x1084 // 1084 <__muldf3> + 7d2: 6c83 mov r2, r0 + 7d4: 6cc7 mov r3, r1 + 7d6: 6c1f mov r0, r7 + 7d8: 6c57 mov r1, r5 + 7da: e0000421 bsr 0x101c // 101c <__adddf3> + 7de: 01db lrw r6, 0x552c // aec <__GI_pow+0x938> + 7e0: 9848 ld.w r2, (r14, 0x20) + 7e2: 6188 addu r6, r2 + 7e4: 9644 ld.w r2, (r6, 0x10) + 7e6: 9665 ld.w r3, (r6, 0x14) + 7e8: e000041a bsr 0x101c // 101c <__adddf3> + 7ec: b809 st.w r0, (r14, 0x24) + 7ee: 9804 ld.w r0, (r14, 0x10) + 7f0: b82a st.w r1, (r14, 0x28) + 7f2: e0000667 bsr 0x14c0 // 14c0 <__floatsidf> + 7f6: 6d83 mov r6, r0 + 7f8: 0202 lrw r0, 0x552c // aec <__GI_pow+0x938> + 7fa: 6d47 mov r5, r1 + 7fc: 201f addi r0, 32 + 7fe: 9828 ld.w r1, (r14, 0x20) + 800: 6004 addu r0, r1 + 802: 9080 ld.w r4, (r0, 0x0) + 804: 90e1 ld.w r7, (r0, 0x4) + 806: 9849 ld.w r2, (r14, 0x24) + 808: 986a ld.w r3, (r14, 0x28) + 80a: 9805 ld.w r0, (r14, 0x14) + 80c: 9826 ld.w r1, (r14, 0x18) + 80e: e0000407 bsr 0x101c // 101c <__adddf3> + 812: 6c93 mov r2, r4 + 814: 6cdf mov r3, r7 + 816: e0000403 bsr 0x101c // 101c <__adddf3> + 81a: 6c9b mov r2, r6 + 81c: 6cd7 mov r3, r5 + 81e: e00003ff bsr 0x101c // 101c <__adddf3> + 822: 6c9b mov r2, r6 + 824: 6cd7 mov r3, r5 + 826: 3000 movi r0, 0 + 828: b823 st.w r1, (r14, 0xc) + 82a: e0000411 bsr 0x104c // 104c <__subdf3> + 82e: 6c93 mov r2, r4 + 830: 6cdf mov r3, r7 + 832: e000040d bsr 0x104c // 104c <__subdf3> + 836: 9845 ld.w r2, (r14, 0x14) + 838: 9866 ld.w r3, (r14, 0x18) + 83a: e0000409 bsr 0x104c // 104c <__subdf3> + 83e: 6c83 mov r2, r0 + 840: 6cc7 mov r3, r1 + 842: 9809 ld.w r0, (r14, 0x24) + 844: 982a ld.w r1, (r14, 0x28) + 846: 060b br 0x45c // 45c <__GI_pow+0x2a8> + 848: 3700 movi r7, 0 + 84a: 0663 br 0x510 // 510 <__GI_pow+0x35c> + 84c: 3501 movi r5, 1 + 84e: 0676 br 0x53a // 53a <__GI_pow+0x386> + 850: 0277 lrw r3, 0x3ff00000 // af0 <__GI_pow+0x93c> + 852: 0611 br 0x474 // 474 <__GI_pow+0x2c0> + 854: 0257 lrw r2, 0x652b82fe // af4 <__GI_pow+0x940> + 856: 0276 lrw r3, 0x3c971547 // af8 <__GI_pow+0x944> + 858: 6c1f mov r0, r7 + 85a: 6c5b mov r1, r6 + 85c: e00003e0 bsr 0x101c // 101c <__adddf3> + 860: b805 st.w r0, (r14, 0x14) + 862: b826 st.w r1, (r14, 0x18) + 864: 9842 ld.w r2, (r14, 0x8) + 866: 6cd7 mov r3, r5 + 868: 9800 ld.w r0, (r14, 0x0) + 86a: 6c53 mov r1, r4 + 86c: e00003f0 bsr 0x104c // 104c <__subdf3> + 870: 6c83 mov r2, r0 + 872: 6cc7 mov r3, r1 + 874: 9805 ld.w r0, (r14, 0x14) + 876: 9826 ld.w r1, (r14, 0x18) + 878: e00005ca bsr 0x140c // 140c <__gtdf2> + 87c: 3820 cmplti r0, 1 + 87e: 0802 bt 0x882 // 882 <__GI_pow+0x6ce> + 880: 0633 br 0x4e6 // 4e6 <__GI_pow+0x332> + 882: 4421 lsli r1, r4, 1 + 884: 4901 lsri r0, r1, 1 + 886: 0361 lrw r3, 0x3fe00000 // afc <__GI_pow+0x948> + 888: 640d cmplt r3, r0 + 88a: 0cfd bf 0xa84 // a84 <__GI_pow+0x8d0> + 88c: 5034 asri r1, r0, 20 + 88e: 0342 lrw r2, 0xfffffc02 // b00 <__GI_pow+0x94c> + 890: 3080 movi r0, 128 + 892: 6048 addu r1, r2 + 894: 404d lsli r2, r0, 13 + 896: 7086 asr r2, r1 + 898: 6090 addu r2, r4 + 89a: 4261 lsli r3, r2, 1 + 89c: 4b35 lsri r1, r3, 21 + 89e: 0305 lrw r0, 0xfffffc01 // b04 <__GI_pow+0x950> + 8a0: 6040 addu r1, r0 + 8a2: 0365 lrw r3, 0xfffff // b08 <__GI_pow+0x954> + 8a4: 70c6 asr r3, r1 + 8a6: 6c0b mov r0, r2 + 8a8: 680d andn r0, r3 + 8aa: 424c lsli r2, r2, 12 + 8ac: 6cc3 mov r3, r0 + 8ae: 4a4c lsri r2, r2, 12 + 8b0: 3014 movi r0, 20 + 8b2: 3ab4 bseti r2, 20 + 8b4: 5825 subu r1, r0, r1 + 8b6: 7086 asr r2, r1 + 8b8: 3cdf btsti r4, 31 + 8ba: b840 st.w r2, (r14, 0x0) + 8bc: 0c05 bf 0x8c6 // 8c6 <__GI_pow+0x712> + 8be: 9840 ld.w r2, (r14, 0x0) + 8c0: 3400 movi r4, 0 + 8c2: 610a subu r4, r2 + 8c4: b880 st.w r4, (r14, 0x0) + 8c6: 3200 movi r2, 0 + 8c8: 9802 ld.w r0, (r14, 0x8) + 8ca: 6c57 mov r1, r5 + 8cc: e00003c0 bsr 0x104c // 104c <__subdf3> + 8d0: b803 st.w r0, (r14, 0xc) + 8d2: b824 st.w r1, (r14, 0x10) + 8d4: 9803 ld.w r0, (r14, 0xc) + 8d6: 6c9f mov r2, r7 + 8d8: 6cdb mov r3, r6 + 8da: 9824 ld.w r1, (r14, 0x10) + 8dc: e00003a0 bsr 0x101c // 101c <__adddf3> + 8e0: 3200 movi r2, 0 + 8e2: 0374 lrw r3, 0x3fe62e43 // b0c <__GI_pow+0x958> + 8e4: 3000 movi r0, 0 + 8e6: 6d07 mov r4, r1 + 8e8: e00003ce bsr 0x1084 // 1084 <__muldf3> + 8ec: 6d47 mov r5, r1 + 8ee: 9843 ld.w r2, (r14, 0xc) + 8f0: 9864 ld.w r3, (r14, 0x10) + 8f2: b802 st.w r0, (r14, 0x8) + 8f4: 6c53 mov r1, r4 + 8f6: 3000 movi r0, 0 + 8f8: e00003aa bsr 0x104c // 104c <__subdf3> + 8fc: 6c83 mov r2, r0 + 8fe: 6cc7 mov r3, r1 + 900: 6c1f mov r0, r7 + 902: 6c5b mov r1, r6 + 904: e00003a4 bsr 0x104c // 104c <__subdf3> + 908: 035d lrw r2, 0xfefa39ef // b10 <__GI_pow+0x95c> + 90a: 037c lrw r3, 0x3fe62e42 // b14 <__GI_pow+0x960> + 90c: e00003bc bsr 0x1084 // 1084 <__muldf3> + 910: 6dc3 mov r7, r0 + 912: 6d87 mov r6, r1 + 914: 035e lrw r2, 0xca86c39 // b18 <__GI_pow+0x964> + 916: 037d lrw r3, 0xbe205c61 // b1c <__GI_pow+0x968> + 918: 6c53 mov r1, r4 + 91a: 3000 movi r0, 0 + 91c: e00003b4 bsr 0x1084 // 1084 <__muldf3> + 920: 6c83 mov r2, r0 + 922: 6cc7 mov r3, r1 + 924: 6c1f mov r0, r7 + 926: 6c5b mov r1, r6 + 928: e000037a bsr 0x101c // 101c <__adddf3> + 92c: 6d07 mov r4, r1 + 92e: 6c83 mov r2, r0 + 930: 6cc7 mov r3, r1 + 932: b803 st.w r0, (r14, 0xc) + 934: 6c57 mov r1, r5 + 936: 9802 ld.w r0, (r14, 0x8) + 938: e0000372 bsr 0x101c // 101c <__adddf3> + 93c: 9842 ld.w r2, (r14, 0x8) + 93e: 6cd7 mov r3, r5 + 940: 6dc3 mov r7, r0 + 942: 6d87 mov r6, r1 + 944: e0000384 bsr 0x104c // 104c <__subdf3> + 948: 6c83 mov r2, r0 + 94a: 6cc7 mov r3, r1 + 94c: 9803 ld.w r0, (r14, 0xc) + 94e: 6c53 mov r1, r4 + 950: e000037e bsr 0x104c // 104c <__subdf3> + 954: b802 st.w r0, (r14, 0x8) + 956: b823 st.w r1, (r14, 0xc) + 958: 6c9f mov r2, r7 + 95a: 6cdb mov r3, r6 + 95c: 6c1f mov r0, r7 + 95e: 6c5b mov r1, r6 + 960: e0000392 bsr 0x1084 // 1084 <__muldf3> + 964: 134f lrw r2, 0x72bea4d0 // b20 <__GI_pow+0x96c> + 966: 1370 lrw r3, 0x3e663769 // b24 <__GI_pow+0x970> + 968: 6d43 mov r5, r0 + 96a: 6d07 mov r4, r1 + 96c: e000038c bsr 0x1084 // 1084 <__muldf3> + 970: 134e lrw r2, 0xc5d26bf1 // b28 <__GI_pow+0x974> + 972: 136f lrw r3, 0x3ebbbd41 // b2c <__GI_pow+0x978> + 974: e000036c bsr 0x104c // 104c <__subdf3> + 978: 6c97 mov r2, r5 + 97a: 6cd3 mov r3, r4 + 97c: e0000384 bsr 0x1084 // 1084 <__muldf3> + 980: 134c lrw r2, 0xaf25de2c // b30 <__GI_pow+0x97c> + 982: 136d lrw r3, 0x3f11566a // b34 <__GI_pow+0x980> + 984: e000034c bsr 0x101c // 101c <__adddf3> + 988: 6c97 mov r2, r5 + 98a: 6cd3 mov r3, r4 + 98c: e000037c bsr 0x1084 // 1084 <__muldf3> + 990: 134a lrw r2, 0x16bebd93 // b38 <__GI_pow+0x984> + 992: 136b lrw r3, 0x3f66c16c // b3c <__GI_pow+0x988> + 994: e000035c bsr 0x104c // 104c <__subdf3> + 998: 6c97 mov r2, r5 + 99a: 6cd3 mov r3, r4 + 99c: e0000374 bsr 0x1084 // 1084 <__muldf3> + 9a0: 1348 lrw r2, 0x5555553e // b40 <__GI_pow+0x98c> + 9a2: 1369 lrw r3, 0x3fc55555 // b44 <__GI_pow+0x990> + 9a4: e000033c bsr 0x101c // 101c <__adddf3> + 9a8: 6c97 mov r2, r5 + 9aa: 6cd3 mov r3, r4 + 9ac: e000036c bsr 0x1084 // 1084 <__muldf3> + 9b0: 6c83 mov r2, r0 + 9b2: 6cc7 mov r3, r1 + 9b4: 6c1f mov r0, r7 + 9b6: 6c5b mov r1, r6 + 9b8: e000034a bsr 0x104c // 104c <__subdf3> + 9bc: 6d43 mov r5, r0 + 9be: 6d07 mov r4, r1 + 9c0: 6c83 mov r2, r0 + 9c2: 6cc7 mov r3, r1 + 9c4: 6c1f mov r0, r7 + 9c6: 6c5b mov r1, r6 + 9c8: e000035e bsr 0x1084 // 1084 <__muldf3> + 9cc: 3380 movi r3, 128 + 9ce: b804 st.w r0, (r14, 0x10) + 9d0: b825 st.w r1, (r14, 0x14) + 9d2: 3200 movi r2, 0 + 9d4: 4377 lsli r3, r3, 23 + 9d6: 6c17 mov r0, r5 + 9d8: 6c53 mov r1, r4 + 9da: e0000339 bsr 0x104c // 104c <__subdf3> + 9de: 6c83 mov r2, r0 + 9e0: 6cc7 mov r3, r1 + 9e2: 9804 ld.w r0, (r14, 0x10) + 9e4: 9825 ld.w r1, (r14, 0x14) + 9e6: e0000469 bsr 0x12b8 // 12b8 <__divdf3> + 9ea: 6d07 mov r4, r1 + 9ec: 6d43 mov r5, r0 + 9ee: 9842 ld.w r2, (r14, 0x8) + 9f0: 9863 ld.w r3, (r14, 0xc) + 9f2: 6c1f mov r0, r7 + 9f4: 6c5b mov r1, r6 + 9f6: e0000347 bsr 0x1084 // 1084 <__muldf3> + 9fa: 9842 ld.w r2, (r14, 0x8) + 9fc: 9863 ld.w r3, (r14, 0xc) + 9fe: e000030f bsr 0x101c // 101c <__adddf3> + a02: 6c83 mov r2, r0 + a04: 6cc7 mov r3, r1 + a06: 6c17 mov r0, r5 + a08: 6c53 mov r1, r4 + a0a: e0000321 bsr 0x104c // 104c <__subdf3> + a0e: 6c9f mov r2, r7 + a10: 6cdb mov r3, r6 + a12: e000031d bsr 0x104c // 104c <__subdf3> + a16: 6c83 mov r2, r0 + a18: 6cc7 mov r3, r1 + a1a: 3000 movi r0, 0 + a1c: 1135 lrw r1, 0x3ff00000 // af0 <__GI_pow+0x93c> + a1e: e0000317 bsr 0x104c // 104c <__subdf3> + a22: 9840 ld.w r2, (r14, 0x0) + a24: 4274 lsli r3, r2, 20 + a26: 60c4 addu r3, r1 + a28: 5394 asri r4, r3, 20 + a2a: 3c20 cmplti r4, 1 + a2c: 0c2f bf 0xa8a // a8a <__GI_pow+0x8d6> + a2e: 9840 ld.w r2, (r14, 0x0) + a30: e000009a bsr 0xb64 // b64 <__GI_scalbn> + a34: 3200 movi r2, 0 + a36: 9861 ld.w r3, (r14, 0x4) + a38: e800fc56 br 0x2e4 // 2e4 <__GI_pow+0x130> + a3c: 4401 lsli r0, r4, 1 + a3e: 4861 lsri r3, r0, 1 + a40: 1242 lrw r2, 0x4090cbff // b48 <__GI_pow+0x994> + a42: 64c9 cmplt r2, r3 + a44: 0f1f bf 0x882 // 882 <__GI_pow+0x6ce> + a46: 1222 lrw r1, 0x3f6f3400 // b4c <__GI_pow+0x998> + a48: 6050 addu r1, r4 + a4a: 9800 ld.w r0, (r14, 0x0) + a4c: 6c40 or r1, r0 + a4e: 3940 cmpnei r1, 0 + a50: 0c0b bf 0xa66 // a66 <__GI_pow+0x8b2> + a52: 1240 lrw r2, 0xc2f8f359 // b50 <__GI_pow+0x99c> + a54: 1260 lrw r3, 0x1a56e1f // b54 <__GI_pow+0x9a0> + a56: 3000 movi r0, 0 + a58: 9821 ld.w r1, (r14, 0x4) + a5a: e0000315 bsr 0x1084 // 1084 <__muldf3> + a5e: 115d lrw r2, 0xc2f8f359 // b50 <__GI_pow+0x99c> + a60: 117d lrw r3, 0x1a56e1f // b54 <__GI_pow+0x9a0> + a62: e800fc41 br 0x2e4 // 2e4 <__GI_pow+0x130> + a66: 9842 ld.w r2, (r14, 0x8) + a68: 6cd7 mov r3, r5 + a6a: 9800 ld.w r0, (r14, 0x0) + a6c: 6c53 mov r1, r4 + a6e: e00002ef bsr 0x104c // 104c <__subdf3> + a72: 6c83 mov r2, r0 + a74: 6cc7 mov r3, r1 + a76: 6c1f mov r0, r7 + a78: 6c5b mov r1, r6 + a7a: e0000505 bsr 0x1484 // 1484 <__ledf2> + a7e: 3820 cmplti r0, 1 + a80: 0f01 bf 0x882 // 882 <__GI_pow+0x6ce> + a82: 07e8 br 0xa52 // a52 <__GI_pow+0x89e> + a84: 3500 movi r5, 0 + a86: b8a0 st.w r5, (r14, 0x0) + a88: 0726 br 0x8d4 // 8d4 <__GI_pow+0x720> + a8a: 6c4f mov r1, r3 + a8c: 07d4 br 0xa34 // a34 <__GI_pow+0x880> + a8e: 3400 movi r4, 0 + a90: 1038 lrw r1, 0x3ff00000 // af0 <__GI_pow+0x93c> + a92: e800fbb5 br 0x1fc // 1fc <__GI_pow+0x48> + a96: 3400 movi r4, 0 + a98: 9820 ld.w r1, (r14, 0x0) + a9a: e800fbb1 br 0x1fc // 1fc <__GI_pow+0x48> + a9e: 6d1f mov r4, r7 + aa0: 6c5b mov r1, r6 + aa2: e800fbad br 0x1fc // 1fc <__GI_pow+0x48> + aa6: 0000 bkpt + aa8: 4a454eef .long 0x4a454eef + aac: 3fca7e28 .long 0x3fca7e28 + ab0: 93c9db65 .long 0x93c9db65 + ab4: 3fcd864a .long 0x3fcd864a + ab8: a91d4101 .long 0xa91d4101 + abc: 3fd17460 .long 0x3fd17460 + ac0: 518f264d .long 0x518f264d + ac4: 3fd55555 .long 0x3fd55555 + ac8: db6fabff .long 0xdb6fabff + acc: 3fdb6db6 .long 0x3fdb6db6 + ad0: 33333303 .long 0x33333303 + ad4: 3fe33333 .long 0x3fe33333 + ad8: 40080000 .long 0x40080000 + adc: 3feec709 .long 0x3feec709 + ae0: dc3a03fd .long 0xdc3a03fd + ae4: 145b01f5 .long 0x145b01f5 + ae8: be3e2fe0 .long 0xbe3e2fe0 + aec: 0000552c .long 0x0000552c + af0: 3ff00000 .long 0x3ff00000 + af4: 652b82fe .long 0x652b82fe + af8: 3c971547 .long 0x3c971547 + afc: 3fe00000 .long 0x3fe00000 + b00: fffffc02 .long 0xfffffc02 + b04: fffffc01 .long 0xfffffc01 + b08: 000fffff .long 0x000fffff + b0c: 3fe62e43 .long 0x3fe62e43 + b10: fefa39ef .long 0xfefa39ef + b14: 3fe62e42 .long 0x3fe62e42 + b18: 0ca86c39 .long 0x0ca86c39 + b1c: be205c61 .long 0xbe205c61 + b20: 72bea4d0 .long 0x72bea4d0 + b24: 3e663769 .long 0x3e663769 + b28: c5d26bf1 .long 0xc5d26bf1 + b2c: 3ebbbd41 .long 0x3ebbbd41 + b30: af25de2c .long 0xaf25de2c + b34: 3f11566a .long 0x3f11566a + b38: 16bebd93 .long 0x16bebd93 + b3c: 3f66c16c .long 0x3f66c16c + b40: 5555553e .long 0x5555553e + b44: 3fc55555 .long 0x3fc55555 + b48: 4090cbff .long 0x4090cbff + b4c: 3f6f3400 .long 0x3f6f3400 + b50: c2f8f359 .long 0xc2f8f359 + b54: 01a56e1f .long 0x01a56e1f + b58: 3300 movi r3, 0 + b5a: e800fb94 br 0x282 // 282 <__GI_pow+0xce> + +00000b5e <__GI_fabs>: + b5e: 4121 lsli r1, r1, 1 + b60: 4921 lsri r1, r1, 1 + b62: 783c jmp r15 + +00000b64 <__GI_scalbn>: + b64: 14c1 push r4 + b66: 6cc7 mov r3, r1 + b68: 6cc0 or r3, r0 + b6a: 3b40 cmpnei r3, 0 + b6c: 0c08 bf 0xb7c // b7c <__GI_scalbn+0x18> + b6e: 1065 lrw r3, 0x7ff00000 // b80 <__GI_scalbn+0x1c> + b70: 6d07 mov r4, r1 + b72: 690c and r4, r3 + b74: 4254 lsli r2, r2, 20 + b76: 6090 addu r2, r4 + b78: 684d andn r1, r3 + b7a: 6c48 or r1, r2 + b7c: 1481 pop r4 + b7e: 0000 bkpt + b80: 7ff00000 .long 0x7ff00000 + +00000b84 <__GI_sqrt>: + b84: 14d4 push r4-r7, r15 + b86: 1423 subi r14, r14, 12 + b88: 127a lrw r3, 0x7ff00000 // cf0 <__GI_sqrt+0x16c> + b8a: 6d43 mov r5, r0 + b8c: 6d07 mov r4, r1 + b8e: 6c07 mov r0, r1 + b90: 684c and r1, r3 + b92: 64c6 cmpne r1, r3 + b94: 6c97 mov r2, r5 + b96: 0812 bt 0xbba // bba <__GI_sqrt+0x36> + b98: 6cd3 mov r3, r4 + b9a: 6c17 mov r0, r5 + b9c: 6c53 mov r1, r4 + b9e: e0000273 bsr 0x1084 // 1084 <__muldf3> + ba2: 6c83 mov r2, r0 + ba4: 6cc7 mov r3, r1 + ba6: 6c17 mov r0, r5 + ba8: 6c53 mov r1, r4 + baa: e0000239 bsr 0x101c // 101c <__adddf3> + bae: 6d43 mov r5, r0 + bb0: 6d07 mov r4, r1 + bb2: 6c17 mov r0, r5 + bb4: 6c53 mov r1, r4 + bb6: 1403 addi r14, r14, 12 + bb8: 1494 pop r4-r7, r15 + bba: 3c20 cmplti r4, 1 + bbc: 0c13 bf 0xbe2 // be2 <__GI_sqrt+0x5e> + bbe: 4461 lsli r3, r4, 1 + bc0: 4b21 lsri r1, r3, 1 + bc2: 6c54 or r1, r5 + bc4: 3940 cmpnei r1, 0 + bc6: 0ff6 bf 0xbb2 // bb2 <__GI_sqrt+0x2e> + bc8: 3c40 cmpnei r4, 0 + bca: 0c0c bf 0xbe2 // be2 <__GI_sqrt+0x5e> + bcc: 6c97 mov r2, r5 + bce: 6cd3 mov r3, r4 + bd0: 6c17 mov r0, r5 + bd2: 6c53 mov r1, r4 + bd4: e000023c bsr 0x104c // 104c <__subdf3> + bd8: 6c83 mov r2, r0 + bda: 6cc7 mov r3, r1 + bdc: e000036e bsr 0x12b8 // 12b8 <__divdf3> + be0: 07e7 br 0xbae // bae <__GI_sqrt+0x2a> + be2: 5494 asri r4, r4, 20 + be4: 3c40 cmpnei r4, 0 + be6: 0812 bt 0xc0a // c0a <__GI_sqrt+0x86> + be8: 3840 cmpnei r0, 0 + bea: 0c76 bf 0xcd6 // cd6 <__GI_sqrt+0x152> + bec: 3580 movi r5, 128 + bee: 3300 movi r3, 0 + bf0: 452d lsli r1, r5, 13 + bf2: 6d83 mov r6, r0 + bf4: 6984 and r6, r1 + bf6: 3e40 cmpnei r6, 0 + bf8: 0c73 bf 0xcde // cde <__GI_sqrt+0x15a> + bfa: 5b23 subi r1, r3, 1 + bfc: 3620 movi r6, 32 + bfe: 6106 subu r4, r1 + c00: 618e subu r6, r3 + c02: 6c4b mov r1, r2 + c04: 7059 lsr r1, r6 + c06: 6c04 or r0, r1 + c08: 708c lsl r2, r3 + c0a: 117b lrw r3, 0xfffffc01 // cf4 <__GI_sqrt+0x170> + c0c: 610c addu r4, r3 + c0e: 3601 movi r6, 1 + c10: 400c lsli r0, r0, 12 + c12: 6990 and r6, r4 + c14: 480c lsri r0, r0, 12 + c16: 3e40 cmpnei r6, 0 + c18: 38b4 bseti r0, 20 + c1a: 0c05 bf 0xc24 // c24 <__GI_sqrt+0xa0> + c1c: 4a3f lsri r1, r2, 31 + c1e: 40a1 lsli r5, r0, 1 + c20: 5914 addu r0, r1, r5 + c22: 4241 lsli r2, r2, 1 + c24: 4a7f lsri r3, r2, 31 + c26: 60c0 addu r3, r0 + c28: 5481 asri r4, r4, 1 + c2a: 3680 movi r6, 128 + c2c: 3100 movi r1, 0 + c2e: 60c0 addu r3, r0 + c30: b882 st.w r4, (r14, 0x8) + c32: 4241 lsli r2, r2, 1 + c34: 3516 movi r5, 22 + c36: 460e lsli r0, r6, 14 + c38: b820 st.w r1, (r14, 0x0) + c3a: 5980 addu r4, r1, r0 + c3c: 650d cmplt r3, r4 + c3e: 0806 bt 0xc4a // c4a <__GI_sqrt+0xc6> + c40: 98c0 ld.w r6, (r14, 0x0) + c42: 6180 addu r6, r0 + c44: 5c20 addu r1, r4, r0 + c46: 60d2 subu r3, r4 + c48: b8c0 st.w r6, (r14, 0x0) + c4a: 2d00 subi r5, 1 + c4c: 4a9f lsri r4, r2, 31 + c4e: 4361 lsli r3, r3, 1 + c50: 3d40 cmpnei r5, 0 + c52: 60d0 addu r3, r4 + c54: 4241 lsli r2, r2, 1 + c56: 4801 lsri r0, r0, 1 + c58: 0bf1 bt 0xc3a // c3a <__GI_sqrt+0xb6> + c5a: 3620 movi r6, 32 + c5c: 3480 movi r4, 128 + c5e: 3000 movi r0, 0 + c60: b8c1 st.w r6, (r14, 0x4) + c62: 4498 lsli r4, r4, 24 + c64: 64c5 cmplt r1, r3 + c66: 5cd4 addu r6, r4, r5 + c68: 0805 bt 0xc72 // c72 <__GI_sqrt+0xee> + c6a: 644e cmpne r3, r1 + c6c: 0810 bt 0xc8c // c8c <__GI_sqrt+0x108> + c6e: 6588 cmphs r2, r6 + c70: 0c0e bf 0xc8c // c8c <__GI_sqrt+0x108> + c72: 3edf btsti r6, 31 + c74: 5eb0 addu r5, r6, r4 + c76: 0c37 bf 0xce4 // ce4 <__GI_sqrt+0x160> + c78: 3ddf btsti r5, 31 + c7a: 0835 bt 0xce4 // ce4 <__GI_sqrt+0x160> + c7c: 59e2 addi r7, r1, 1 + c7e: 6588 cmphs r2, r6 + c80: 60c6 subu r3, r1 + c82: 0802 bt 0xc86 // c86 <__GI_sqrt+0x102> + c84: 2b00 subi r3, 1 + c86: 609a subu r2, r6 + c88: 6010 addu r0, r4 + c8a: 6c5f mov r1, r7 + c8c: 4adf lsri r6, r2, 31 + c8e: 618c addu r6, r3 + c90: 60d8 addu r3, r6 + c92: 98c1 ld.w r6, (r14, 0x4) + c94: 2e00 subi r6, 1 + c96: 3e40 cmpnei r6, 0 + c98: 4241 lsli r2, r2, 1 + c9a: 4c81 lsri r4, r4, 1 + c9c: b8c1 st.w r6, (r14, 0x4) + c9e: 0be3 bt 0xc64 // c64 <__GI_sqrt+0xe0> + ca0: 6cc8 or r3, r2 + ca2: 3b40 cmpnei r3, 0 + ca4: 0c09 bf 0xcb6 // cb6 <__GI_sqrt+0x132> + ca6: 3300 movi r3, 0 + ca8: 2b00 subi r3, 1 + caa: 64c2 cmpne r0, r3 + cac: 081e bt 0xce8 // ce8 <__GI_sqrt+0x164> + cae: 9800 ld.w r0, (r14, 0x0) + cb0: 2000 addi r0, 1 + cb2: b800 st.w r0, (r14, 0x0) + cb4: 3000 movi r0, 0 + cb6: 3401 movi r4, 1 + cb8: 9860 ld.w r3, (r14, 0x0) + cba: 98a0 ld.w r5, (r14, 0x0) + cbc: 690c and r4, r3 + cbe: 5541 asri r2, r5, 1 + cc0: 102e lrw r1, 0x3fe00000 // cf8 <__GI_sqrt+0x174> + cc2: 3c40 cmpnei r4, 0 + cc4: 6048 addu r1, r2 + cc6: 4801 lsri r0, r0, 1 + cc8: 0c02 bf 0xccc // ccc <__GI_sqrt+0x148> + cca: 38bf bseti r0, 31 + ccc: 98a2 ld.w r5, (r14, 0x8) + cce: 4594 lsli r4, r5, 20 + cd0: 6104 addu r4, r1 + cd2: 6d43 mov r5, r0 + cd4: 076f br 0xbb2 // bb2 <__GI_sqrt+0x2e> + cd6: 4a0b lsri r0, r2, 11 + cd8: 2c14 subi r4, 21 + cda: 4255 lsli r2, r2, 21 + cdc: 0786 br 0xbe8 // be8 <__GI_sqrt+0x64> + cde: 4001 lsli r0, r0, 1 + ce0: 2300 addi r3, 1 + ce2: 0788 br 0xbf2 // bf2 <__GI_sqrt+0x6e> + ce4: 6dc7 mov r7, r1 + ce6: 07cc br 0xc7e // c7e <__GI_sqrt+0xfa> + ce8: 2000 addi r0, 1 + cea: 3880 bclri r0, 0 + cec: 07e5 br 0xcb6 // cb6 <__GI_sqrt+0x132> + cee: 0000 bkpt + cf0: 7ff00000 .long 0x7ff00000 + cf4: fffffc01 .long 0xfffffc01 + cf8: 3fe00000 .long 0x3fe00000 + +00000cfc <___gnu_csky_case_uqi>: + cfc: 1421 subi r14, r14, 4 + cfe: b820 st.w r1, (r14, 0x0) + d00: 6c7f mov r1, r15 + d02: 6040 addu r1, r0 + d04: 8120 ld.b r1, (r1, 0x0) + d06: 4121 lsli r1, r1, 1 + d08: 63c4 addu r15, r1 + d0a: 9820 ld.w r1, (r14, 0x0) + d0c: 1401 addi r14, r14, 4 + d0e: 783c jmp r15 + +00000d10 <__fixunsdfsi>: + d10: 14d2 push r4-r5, r15 + d12: 3200 movi r2, 0 + d14: 106c lrw r3, 0x41e00000 // d44 <__fixunsdfsi+0x34> + d16: 6d43 mov r5, r0 + d18: 6d07 mov r4, r1 + d1a: e0000397 bsr 0x1448 // 1448 <__gedf2> + d1e: 38df btsti r0, 31 + d20: 0c06 bf 0xd2c // d2c <__fixunsdfsi+0x1c> + d22: 6c17 mov r0, r5 + d24: 6c53 mov r1, r4 + d26: e0000405 bsr 0x1530 // 1530 <__fixdfsi> + d2a: 1492 pop r4-r5, r15 + d2c: 3200 movi r2, 0 + d2e: 1066 lrw r3, 0x41e00000 // d44 <__fixunsdfsi+0x34> + d30: 6c17 mov r0, r5 + d32: 6c53 mov r1, r4 + d34: e000018c bsr 0x104c // 104c <__subdf3> + d38: e00003fc bsr 0x1530 // 1530 <__fixdfsi> + d3c: 3380 movi r3, 128 + d3e: 4378 lsli r3, r3, 24 + d40: 600c addu r0, r3 + d42: 1492 pop r4-r5, r15 + d44: 41e00000 .long 0x41e00000 + +00000d48 <_fpadd_parts>: + d48: 14c4 push r4-r7 + d4a: 142a subi r14, r14, 40 + d4c: 9060 ld.w r3, (r0, 0x0) + d4e: 3b01 cmphsi r3, 2 + d50: 6dcb mov r7, r2 + d52: 0c67 bf 0xe20 // e20 <_fpadd_parts+0xd8> + d54: 9140 ld.w r2, (r1, 0x0) + d56: 3a01 cmphsi r2, 2 + d58: 0c66 bf 0xe24 // e24 <_fpadd_parts+0xdc> + d5a: 3b44 cmpnei r3, 4 + d5c: 0cde bf 0xf18 // f18 <_fpadd_parts+0x1d0> + d5e: 3a44 cmpnei r2, 4 + d60: 0c62 bf 0xe24 // e24 <_fpadd_parts+0xdc> + d62: 3a42 cmpnei r2, 2 + d64: 0cb7 bf 0xed2 // ed2 <_fpadd_parts+0x18a> + d66: 3b42 cmpnei r3, 2 + d68: 0c5e bf 0xe24 // e24 <_fpadd_parts+0xdc> + d6a: 9043 ld.w r2, (r0, 0xc) + d6c: 9064 ld.w r3, (r0, 0x10) + d6e: 9082 ld.w r4, (r0, 0x8) + d70: 91a2 ld.w r5, (r1, 0x8) + d72: b842 st.w r2, (r14, 0x8) + d74: b863 st.w r3, (r14, 0xc) + d76: 9143 ld.w r2, (r1, 0xc) + d78: 9164 ld.w r3, (r1, 0x10) + d7a: b840 st.w r2, (r14, 0x0) + d7c: b861 st.w r3, (r14, 0x4) + d7e: 5c75 subu r3, r4, r5 + d80: 3bdf btsti r3, 31 + d82: 6c8f mov r2, r3 + d84: 08d2 bt 0xf28 // f28 <_fpadd_parts+0x1e0> + d86: 363f movi r6, 63 + d88: 6499 cmplt r6, r2 + d8a: 0c50 bf 0xe2a // e2a <_fpadd_parts+0xe2> + d8c: 6515 cmplt r5, r4 + d8e: 0cbf bf 0xf0c // f0c <_fpadd_parts+0x1c4> + d90: 3200 movi r2, 0 + d92: 3300 movi r3, 0 + d94: b840 st.w r2, (r14, 0x0) + d96: b861 st.w r3, (r14, 0x4) + d98: 9061 ld.w r3, (r0, 0x4) + d9a: 9141 ld.w r2, (r1, 0x4) + d9c: 648e cmpne r3, r2 + d9e: 0c78 bf 0xe8e // e8e <_fpadd_parts+0x146> + da0: 3b40 cmpnei r3, 0 + da2: 0cad bf 0xefc // efc <_fpadd_parts+0x1b4> + da4: 9800 ld.w r0, (r14, 0x0) + da6: 9821 ld.w r1, (r14, 0x4) + da8: 9842 ld.w r2, (r14, 0x8) + daa: 9863 ld.w r3, (r14, 0xc) + dac: 6400 cmphs r0, r0 + dae: 600b subc r0, r2 + db0: 604f subc r1, r3 + db2: 39df btsti r1, 31 + db4: 08bd bt 0xf2e // f2e <_fpadd_parts+0x1e6> + db6: 3300 movi r3, 0 + db8: b761 st.w r3, (r7, 0x4) + dba: b782 st.w r4, (r7, 0x8) + dbc: 6c83 mov r2, r0 + dbe: 6cc7 mov r3, r1 + dc0: b703 st.w r0, (r7, 0xc) + dc2: b724 st.w r1, (r7, 0x10) + dc4: 3000 movi r0, 0 + dc6: 3100 movi r1, 0 + dc8: 2800 subi r0, 1 + dca: 2900 subi r1, 1 + dcc: 6401 cmplt r0, r0 + dce: 6009 addc r0, r2 + dd0: 604d addc r1, r3 + dd2: 038f lrw r4, 0xfffffff // 1010 <_fpadd_parts+0x2c8> + dd4: 6450 cmphs r4, r1 + dd6: 0c67 bf 0xea4 // ea4 <_fpadd_parts+0x15c> + dd8: 6506 cmpne r1, r4 + dda: 0cfd bf 0xfd4 // fd4 <_fpadd_parts+0x28c> + ddc: 3000 movi r0, 0 + dde: 9722 ld.w r1, (r7, 0x8) + de0: 2801 subi r0, 2 + de2: 2900 subi r1, 1 + de4: 03d4 lrw r6, 0xfffffff // 1010 <_fpadd_parts+0x2c8> + de6: b802 st.w r0, (r14, 0x8) + de8: b8e0 st.w r7, (r14, 0x0) + dea: 0403 br 0xdf0 // df0 <_fpadd_parts+0xa8> + dec: 6596 cmpne r5, r6 + dee: 0c83 bf 0xef4 // ef4 <_fpadd_parts+0x1ac> + df0: 4301 lsli r0, r3, 1 + df2: 4a9f lsri r4, r2, 31 + df4: 6d00 or r4, r0 + df6: 42a1 lsli r5, r2, 1 + df8: 6c97 mov r2, r5 + dfa: 6cd3 mov r3, r4 + dfc: 3500 movi r5, 0 + dfe: 3400 movi r4, 0 + e00: 2c00 subi r4, 1 + e02: 2d00 subi r5, 1 + e04: 6511 cmplt r4, r4 + e06: 6109 addc r4, r2 + e08: 614d addc r5, r3 + e0a: 6558 cmphs r6, r5 + e0c: 6c07 mov r0, r1 + e0e: 2900 subi r1, 1 + e10: 0bee bt 0xdec // dec <_fpadd_parts+0xa4> + e12: 98e0 ld.w r7, (r14, 0x0) + e14: b743 st.w r2, (r7, 0xc) + e16: b764 st.w r3, (r7, 0x10) + e18: 3303 movi r3, 3 + e1a: b702 st.w r0, (r7, 0x8) + e1c: b760 st.w r3, (r7, 0x0) + e1e: 6c1f mov r0, r7 + e20: 140a addi r14, r14, 40 + e22: 1484 pop r4-r7 + e24: 6c07 mov r0, r1 + e26: 140a addi r14, r14, 40 + e28: 1484 pop r4-r7 + e2a: 3b20 cmplti r3, 1 + e2c: 088c bt 0xf44 // f44 <_fpadd_parts+0x1fc> + e2e: 3300 movi r3, 0 + e30: 2b1f subi r3, 32 + e32: 60c8 addu r3, r2 + e34: 3bdf btsti r3, 31 + e36: b866 st.w r3, (r14, 0x18) + e38: 08bb bt 0xfae // fae <_fpadd_parts+0x266> + e3a: 98a1 ld.w r5, (r14, 0x4) + e3c: 714d lsr r5, r3 + e3e: b8a4 st.w r5, (r14, 0x10) + e40: 3500 movi r5, 0 + e42: b8a5 st.w r5, (r14, 0x14) + e44: 9866 ld.w r3, (r14, 0x18) + e46: 3bdf btsti r3, 31 + e48: 3500 movi r5, 0 + e4a: 3600 movi r6, 0 + e4c: 08ad bt 0xfa6 // fa6 <_fpadd_parts+0x25e> + e4e: 3201 movi r2, 1 + e50: 708c lsl r2, r3 + e52: 6d8b mov r6, r2 + e54: 3200 movi r2, 0 + e56: 3300 movi r3, 0 + e58: 2a00 subi r2, 1 + e5a: 2b00 subi r3, 1 + e5c: 6489 cmplt r2, r2 + e5e: 6095 addc r2, r5 + e60: 60d9 addc r3, r6 + e62: 98a0 ld.w r5, (r14, 0x0) + e64: 98c1 ld.w r6, (r14, 0x4) + e66: 6948 and r5, r2 + e68: 698c and r6, r3 + e6a: 6c97 mov r2, r5 + e6c: 6cdb mov r3, r6 + e6e: 6c8c or r2, r3 + e70: 3a40 cmpnei r2, 0 + e72: 3500 movi r5, 0 + e74: 6155 addc r5, r5 + e76: 6c97 mov r2, r5 + e78: 3300 movi r3, 0 + e7a: 98a4 ld.w r5, (r14, 0x10) + e7c: 98c5 ld.w r6, (r14, 0x14) + e7e: 6d48 or r5, r2 + e80: 6d8c or r6, r3 + e82: 9061 ld.w r3, (r0, 0x4) + e84: 9141 ld.w r2, (r1, 0x4) + e86: 648e cmpne r3, r2 + e88: b8a0 st.w r5, (r14, 0x0) + e8a: b8c1 st.w r6, (r14, 0x4) + e8c: 0b8a bt 0xda0 // da0 <_fpadd_parts+0x58> + e8e: b761 st.w r3, (r7, 0x4) + e90: 9800 ld.w r0, (r14, 0x0) + e92: 9821 ld.w r1, (r14, 0x4) + e94: 9842 ld.w r2, (r14, 0x8) + e96: 9863 ld.w r3, (r14, 0xc) + e98: 6489 cmplt r2, r2 + e9a: 6081 addc r2, r0 + e9c: 60c5 addc r3, r1 + e9e: b782 st.w r4, (r7, 0x8) + ea0: b743 st.w r2, (r7, 0xc) + ea2: b764 st.w r3, (r7, 0x10) + ea4: 3103 movi r1, 3 + ea6: b720 st.w r1, (r7, 0x0) + ea8: 123b lrw r1, 0x1fffffff // 1014 <_fpadd_parts+0x2cc> + eaa: 64c4 cmphs r1, r3 + eac: 0810 bt 0xecc // ecc <_fpadd_parts+0x184> + eae: 439f lsli r4, r3, 31 + eb0: 4a01 lsri r0, r2, 1 + eb2: 6c10 or r0, r4 + eb4: 3500 movi r5, 0 + eb6: 3401 movi r4, 1 + eb8: 4b21 lsri r1, r3, 1 + eba: 6890 and r2, r4 + ebc: 68d4 and r3, r5 + ebe: 6c80 or r2, r0 + ec0: 6cc4 or r3, r1 + ec2: b743 st.w r2, (r7, 0xc) + ec4: b764 st.w r3, (r7, 0x10) + ec6: 9762 ld.w r3, (r7, 0x8) + ec8: 2300 addi r3, 1 + eca: b762 st.w r3, (r7, 0x8) + ecc: 6c1f mov r0, r7 + ece: 140a addi r14, r14, 40 + ed0: 1484 pop r4-r7 + ed2: 3b42 cmpnei r3, 2 + ed4: 0ba6 bt 0xe20 // e20 <_fpadd_parts+0xd8> + ed6: b760 st.w r3, (r7, 0x0) + ed8: 9061 ld.w r3, (r0, 0x4) + eda: b761 st.w r3, (r7, 0x4) + edc: 9062 ld.w r3, (r0, 0x8) + ede: b762 st.w r3, (r7, 0x8) + ee0: 9063 ld.w r3, (r0, 0xc) + ee2: b763 st.w r3, (r7, 0xc) + ee4: 9064 ld.w r3, (r0, 0x10) + ee6: 9141 ld.w r2, (r1, 0x4) + ee8: b764 st.w r3, (r7, 0x10) + eea: 9061 ld.w r3, (r0, 0x4) + eec: 68c8 and r3, r2 + eee: b761 st.w r3, (r7, 0x4) + ef0: 6c1f mov r0, r7 + ef2: 0797 br 0xe20 // e20 <_fpadd_parts+0xd8> + ef4: 98e2 ld.w r7, (r14, 0x8) + ef6: 651c cmphs r7, r4 + ef8: 0b7c bt 0xdf0 // df0 <_fpadd_parts+0xa8> + efa: 078c br 0xe12 // e12 <_fpadd_parts+0xca> + efc: 9802 ld.w r0, (r14, 0x8) + efe: 9823 ld.w r1, (r14, 0xc) + f00: 9840 ld.w r2, (r14, 0x0) + f02: 9861 ld.w r3, (r14, 0x4) + f04: 6400 cmphs r0, r0 + f06: 600b subc r0, r2 + f08: 604f subc r1, r3 + f0a: 0754 br 0xdb2 // db2 <_fpadd_parts+0x6a> + f0c: 3200 movi r2, 0 + f0e: 3300 movi r3, 0 + f10: 6d17 mov r4, r5 + f12: b842 st.w r2, (r14, 0x8) + f14: b863 st.w r3, (r14, 0xc) + f16: 0741 br 0xd98 // d98 <_fpadd_parts+0x50> + f18: 3a44 cmpnei r2, 4 + f1a: 0b83 bt 0xe20 // e20 <_fpadd_parts+0xd8> + f1c: 9041 ld.w r2, (r0, 0x4) + f1e: 9161 ld.w r3, (r1, 0x4) + f20: 64ca cmpne r2, r3 + f22: 0f7f bf 0xe20 // e20 <_fpadd_parts+0xd8> + f24: 111d lrw r0, 0x555c // 1018 <_fpadd_parts+0x2d0> + f26: 077d br 0xe20 // e20 <_fpadd_parts+0xd8> + f28: 3200 movi r2, 0 + f2a: 608e subu r2, r3 + f2c: 072d br 0xd86 // d86 <_fpadd_parts+0x3e> + f2e: 3301 movi r3, 1 + f30: b761 st.w r3, (r7, 0x4) + f32: 3200 movi r2, 0 + f34: 3300 movi r3, 0 + f36: 6488 cmphs r2, r2 + f38: 6083 subc r2, r0 + f3a: 60c7 subc r3, r1 + f3c: b782 st.w r4, (r7, 0x8) + f3e: b743 st.w r2, (r7, 0xc) + f40: b764 st.w r3, (r7, 0x10) + f42: 0741 br 0xdc4 // dc4 <_fpadd_parts+0x7c> + f44: 3b40 cmpnei r3, 0 + f46: 0f29 bf 0xd98 // d98 <_fpadd_parts+0x50> + f48: 3300 movi r3, 0 + f4a: 2b1f subi r3, 32 + f4c: 60c8 addu r3, r2 + f4e: 3bdf btsti r3, 31 + f50: 6108 addu r4, r2 + f52: b866 st.w r3, (r14, 0x18) + f54: 0849 bt 0xfe6 // fe6 <_fpadd_parts+0x29e> + f56: 9863 ld.w r3, (r14, 0xc) + f58: 98a6 ld.w r5, (r14, 0x18) + f5a: 70d5 lsr r3, r5 + f5c: b864 st.w r3, (r14, 0x10) + f5e: 3300 movi r3, 0 + f60: b865 st.w r3, (r14, 0x14) + f62: 9866 ld.w r3, (r14, 0x18) + f64: 3bdf btsti r3, 31 + f66: 3500 movi r5, 0 + f68: 3600 movi r6, 0 + f6a: 083a bt 0xfde // fde <_fpadd_parts+0x296> + f6c: 3201 movi r2, 1 + f6e: 708c lsl r2, r3 + f70: 6d8b mov r6, r2 + f72: 3200 movi r2, 0 + f74: 3300 movi r3, 0 + f76: 2a00 subi r2, 1 + f78: 2b00 subi r3, 1 + f7a: 6489 cmplt r2, r2 + f7c: 6095 addc r2, r5 + f7e: 60d9 addc r3, r6 + f80: 98a2 ld.w r5, (r14, 0x8) + f82: 98c3 ld.w r6, (r14, 0xc) + f84: 6948 and r5, r2 + f86: 698c and r6, r3 + f88: 6c97 mov r2, r5 + f8a: 6cdb mov r3, r6 + f8c: 6c8c or r2, r3 + f8e: 3a40 cmpnei r2, 0 + f90: 3500 movi r5, 0 + f92: 6155 addc r5, r5 + f94: 6c97 mov r2, r5 + f96: 3300 movi r3, 0 + f98: 98a4 ld.w r5, (r14, 0x10) + f9a: 98c5 ld.w r6, (r14, 0x14) + f9c: 6d48 or r5, r2 + f9e: 6d8c or r6, r3 + fa0: b8a2 st.w r5, (r14, 0x8) + fa2: b8c3 st.w r6, (r14, 0xc) + fa4: 06fa br 0xd98 // d98 <_fpadd_parts+0x50> + fa6: 3301 movi r3, 1 + fa8: 70c8 lsl r3, r2 + faa: 6d4f mov r5, r3 + fac: 0754 br 0xe54 // e54 <_fpadd_parts+0x10c> + fae: 9861 ld.w r3, (r14, 0x4) + fb0: 361f movi r6, 31 + fb2: 43a1 lsli r5, r3, 1 + fb4: 618a subu r6, r2 + fb6: 7158 lsl r5, r6 + fb8: b8a9 st.w r5, (r14, 0x24) + fba: 98a0 ld.w r5, (r14, 0x0) + fbc: 98c1 ld.w r6, (r14, 0x4) + fbe: b8a7 st.w r5, (r14, 0x1c) + fc0: b8c8 st.w r6, (r14, 0x20) + fc2: 9867 ld.w r3, (r14, 0x1c) + fc4: 70c9 lsr r3, r2 + fc6: 98a9 ld.w r5, (r14, 0x24) + fc8: 6cd4 or r3, r5 + fca: b864 st.w r3, (r14, 0x10) + fcc: 9868 ld.w r3, (r14, 0x20) + fce: 70c9 lsr r3, r2 + fd0: b865 st.w r3, (r14, 0x14) + fd2: 0739 br 0xe44 // e44 <_fpadd_parts+0xfc> + fd4: 3100 movi r1, 0 + fd6: 2901 subi r1, 2 + fd8: 6404 cmphs r1, r0 + fda: 0b01 bt 0xddc // ddc <_fpadd_parts+0x94> + fdc: 0764 br 0xea4 // ea4 <_fpadd_parts+0x15c> + fde: 3301 movi r3, 1 + fe0: 70c8 lsl r3, r2 + fe2: 6d4f mov r5, r3 + fe4: 07c7 br 0xf72 // f72 <_fpadd_parts+0x22a> + fe6: 9863 ld.w r3, (r14, 0xc) + fe8: 43c1 lsli r6, r3, 1 + fea: 351f movi r5, 31 + fec: 5d69 subu r3, r5, r2 + fee: 6d5b mov r5, r6 + ff0: 714c lsl r5, r3 + ff2: b8a9 st.w r5, (r14, 0x24) + ff4: 98a2 ld.w r5, (r14, 0x8) + ff6: 98c3 ld.w r6, (r14, 0xc) + ff8: b8a7 st.w r5, (r14, 0x1c) + ffa: b8c8 st.w r6, (r14, 0x20) + ffc: 9867 ld.w r3, (r14, 0x1c) + ffe: 70c9 lsr r3, r2 + 1000: 98a9 ld.w r5, (r14, 0x24) + 1002: 6cd4 or r3, r5 + 1004: b864 st.w r3, (r14, 0x10) + 1006: 9868 ld.w r3, (r14, 0x20) + 1008: 70c9 lsr r3, r2 + 100a: b865 st.w r3, (r14, 0x14) + 100c: 07ab br 0xf62 // f62 <_fpadd_parts+0x21a> + 100e: 0000 bkpt + 1010: 0fffffff .long 0x0fffffff + 1014: 1fffffff .long 0x1fffffff + 1018: 0000555c .long 0x0000555c + +0000101c <__adddf3>: + 101c: 14d0 push r15 + 101e: 1433 subi r14, r14, 76 + 1020: b800 st.w r0, (r14, 0x0) + 1022: b821 st.w r1, (r14, 0x4) + 1024: 6c3b mov r0, r14 + 1026: 1904 addi r1, r14, 16 + 1028: b863 st.w r3, (r14, 0xc) + 102a: b842 st.w r2, (r14, 0x8) + 102c: e00003f4 bsr 0x1814 // 1814 <__unpack_d> + 1030: 1909 addi r1, r14, 36 + 1032: 1802 addi r0, r14, 8 + 1034: e00003f0 bsr 0x1814 // 1814 <__unpack_d> + 1038: 1a0e addi r2, r14, 56 + 103a: 1909 addi r1, r14, 36 + 103c: 1804 addi r0, r14, 16 + 103e: e3fffe85 bsr 0xd48 // d48 <_fpadd_parts> + 1042: e000031b bsr 0x1678 // 1678 <__pack_d> + 1046: 1413 addi r14, r14, 76 + 1048: 1490 pop r15 + ... + +0000104c <__subdf3>: + 104c: 14d0 push r15 + 104e: 1433 subi r14, r14, 76 + 1050: b800 st.w r0, (r14, 0x0) + 1052: b821 st.w r1, (r14, 0x4) + 1054: 6c3b mov r0, r14 + 1056: 1904 addi r1, r14, 16 + 1058: b842 st.w r2, (r14, 0x8) + 105a: b863 st.w r3, (r14, 0xc) + 105c: e00003dc bsr 0x1814 // 1814 <__unpack_d> + 1060: 1909 addi r1, r14, 36 + 1062: 1802 addi r0, r14, 8 + 1064: e00003d8 bsr 0x1814 // 1814 <__unpack_d> + 1068: 986a ld.w r3, (r14, 0x28) + 106a: 3201 movi r2, 1 + 106c: 6cc9 xor r3, r2 + 106e: 1909 addi r1, r14, 36 + 1070: 1a0e addi r2, r14, 56 + 1072: 1804 addi r0, r14, 16 + 1074: b86a st.w r3, (r14, 0x28) + 1076: e3fffe69 bsr 0xd48 // d48 <_fpadd_parts> + 107a: e00002ff bsr 0x1678 // 1678 <__pack_d> + 107e: 1413 addi r14, r14, 76 + 1080: 1490 pop r15 + ... + +00001084 <__muldf3>: + 1084: 14d4 push r4-r7, r15 + 1086: 143b subi r14, r14, 108 + 1088: b808 st.w r0, (r14, 0x20) + 108a: b829 st.w r1, (r14, 0x24) + 108c: 1808 addi r0, r14, 32 + 108e: 190c addi r1, r14, 48 + 1090: b86b st.w r3, (r14, 0x2c) + 1092: b84a st.w r2, (r14, 0x28) + 1094: e00003c0 bsr 0x1814 // 1814 <__unpack_d> + 1098: 1911 addi r1, r14, 68 + 109a: 180a addi r0, r14, 40 + 109c: e00003bc bsr 0x1814 // 1814 <__unpack_d> + 10a0: 986c ld.w r3, (r14, 0x30) + 10a2: 3b01 cmphsi r3, 2 + 10a4: 0cac bf 0x11fc // 11fc <__muldf3+0x178> + 10a6: 9851 ld.w r2, (r14, 0x44) + 10a8: 3a01 cmphsi r2, 2 + 10aa: 0c9c bf 0x11e2 // 11e2 <__muldf3+0x15e> + 10ac: 3b44 cmpnei r3, 4 + 10ae: 0ca5 bf 0x11f8 // 11f8 <__muldf3+0x174> + 10b0: 3a44 cmpnei r2, 4 + 10b2: 0c96 bf 0x11de // 11de <__muldf3+0x15a> + 10b4: 3b42 cmpnei r3, 2 + 10b6: 0ca3 bf 0x11fc // 11fc <__muldf3+0x178> + 10b8: 3a42 cmpnei r2, 2 + 10ba: 0c94 bf 0x11e2 // 11e2 <__muldf3+0x15e> + 10bc: 98ef ld.w r7, (r14, 0x3c) + 10be: 98b4 ld.w r5, (r14, 0x50) + 10c0: 9875 ld.w r3, (r14, 0x54) + 10c2: 6d8f mov r6, r3 + 10c4: 6c9f mov r2, r7 + 10c6: 3300 movi r3, 0 + 10c8: 6c17 mov r0, r5 + 10ca: 3100 movi r1, 0 + 10cc: e0000294 bsr 0x15f4 // 15f4 <__muldi3> + 10d0: b804 st.w r0, (r14, 0x10) + 10d2: b825 st.w r1, (r14, 0x14) + 10d4: 6c9f mov r2, r7 + 10d6: 3300 movi r3, 0 + 10d8: 6c1b mov r0, r6 + 10da: 3100 movi r1, 0 + 10dc: 9890 ld.w r4, (r14, 0x40) + 10de: b8c2 st.w r6, (r14, 0x8) + 10e0: e000028a bsr 0x15f4 // 15f4 <__muldi3> + 10e4: 6d83 mov r6, r0 + 10e6: 6dc7 mov r7, r1 + 10e8: 9842 ld.w r2, (r14, 0x8) + 10ea: 3300 movi r3, 0 + 10ec: 6c13 mov r0, r4 + 10ee: 3100 movi r1, 0 + 10f0: e0000282 bsr 0x15f4 // 15f4 <__muldi3> + 10f4: b806 st.w r0, (r14, 0x18) + 10f6: b827 st.w r1, (r14, 0x1c) + 10f8: 6c97 mov r2, r5 + 10fa: 3300 movi r3, 0 + 10fc: 6c13 mov r0, r4 + 10fe: 3100 movi r1, 0 + 1100: e000027a bsr 0x15f4 // 15f4 <__muldi3> + 1104: 6401 cmplt r0, r0 + 1106: 6019 addc r0, r6 + 1108: 605d addc r1, r7 + 110a: 65c4 cmphs r1, r7 + 110c: 0c91 bf 0x122e // 122e <__muldf3+0x1aa> + 110e: 645e cmpne r7, r1 + 1110: 0c8d bf 0x122a // 122a <__muldf3+0x1a6> + 1112: 3300 movi r3, 0 + 1114: 3400 movi r4, 0 + 1116: b862 st.w r3, (r14, 0x8) + 1118: b883 st.w r4, (r14, 0xc) + 111a: 9884 ld.w r4, (r14, 0x10) + 111c: 98a5 ld.w r5, (r14, 0x14) + 111e: 3600 movi r6, 0 + 1120: 6dc3 mov r7, r0 + 1122: 6c93 mov r2, r4 + 1124: 6cd7 mov r3, r5 + 1126: 6489 cmplt r2, r2 + 1128: 6099 addc r2, r6 + 112a: 60dd addc r3, r7 + 112c: 6d8b mov r6, r2 + 112e: 6dcf mov r7, r3 + 1130: 6c93 mov r2, r4 + 1132: 6cd7 mov r3, r5 + 1134: 64dc cmphs r7, r3 + 1136: 0c70 bf 0x1216 // 1216 <__muldf3+0x192> + 1138: 65ce cmpne r3, r7 + 113a: 0c6c bf 0x1212 // 1212 <__muldf3+0x18e> + 113c: 6c87 mov r2, r1 + 113e: 3300 movi r3, 0 + 1140: 9806 ld.w r0, (r14, 0x18) + 1142: 9827 ld.w r1, (r14, 0x1c) + 1144: 6401 cmplt r0, r0 + 1146: 6009 addc r0, r2 + 1148: 604d addc r1, r3 + 114a: 6c83 mov r2, r0 + 114c: 6cc7 mov r3, r1 + 114e: 9802 ld.w r0, (r14, 0x8) + 1150: 9823 ld.w r1, (r14, 0xc) + 1152: 6401 cmplt r0, r0 + 1154: 6009 addc r0, r2 + 1156: 604d addc r1, r3 + 1158: 6c83 mov r2, r0 + 115a: 6cc7 mov r3, r1 + 115c: 988e ld.w r4, (r14, 0x38) + 115e: 9833 ld.w r1, (r14, 0x4c) + 1160: 6104 addu r4, r1 + 1162: 5c2e addi r1, r4, 4 + 1164: b838 st.w r1, (r14, 0x60) + 1166: 980d ld.w r0, (r14, 0x34) + 1168: 9832 ld.w r1, (r14, 0x48) + 116a: 6442 cmpne r0, r1 + 116c: 12b0 lrw r5, 0x1fffffff // 12ac <__muldf3+0x228> + 116e: 3100 movi r1, 0 + 1170: 6045 addc r1, r1 + 1172: 64d4 cmphs r5, r3 + 1174: b837 st.w r1, (r14, 0x5c) + 1176: 0879 bt 0x1268 // 1268 <__muldf3+0x1e4> + 1178: 2404 addi r4, 5 + 117a: b8a4 st.w r5, (r14, 0x10) + 117c: 3001 movi r0, 1 + 117e: 3100 movi r1, 0 + 1180: 6808 and r0, r2 + 1182: 684c and r1, r3 + 1184: 6c04 or r0, r1 + 1186: 3840 cmpnei r0, 0 + 1188: b882 st.w r4, (r14, 0x8) + 118a: 0c0e bf 0x11a6 // 11a6 <__muldf3+0x122> + 118c: 473f lsli r1, r7, 31 + 118e: 4e01 lsri r0, r6, 1 + 1190: 6c04 or r0, r1 + 1192: 4f21 lsri r1, r7, 1 + 1194: b800 st.w r0, (r14, 0x0) + 1196: b821 st.w r1, (r14, 0x4) + 1198: 3180 movi r1, 128 + 119a: 98c0 ld.w r6, (r14, 0x0) + 119c: 98e1 ld.w r7, (r14, 0x4) + 119e: 3000 movi r0, 0 + 11a0: 4138 lsli r1, r1, 24 + 11a2: 6d80 or r6, r0 + 11a4: 6dc4 or r7, r1 + 11a6: 4b21 lsri r1, r3, 1 + 11a8: 43bf lsli r5, r3, 31 + 11aa: 4a01 lsri r0, r2, 1 + 11ac: 6cc7 mov r3, r1 + 11ae: 9824 ld.w r1, (r14, 0x10) + 11b0: 6d40 or r5, r0 + 11b2: 64c4 cmphs r1, r3 + 11b4: 6c97 mov r2, r5 + 11b6: 2400 addi r4, 1 + 11b8: 0fe2 bf 0x117c // 117c <__muldf3+0xf8> + 11ba: 9822 ld.w r1, (r14, 0x8) + 11bc: b838 st.w r1, (r14, 0x60) + 11be: 30ff movi r0, 255 + 11c0: 3100 movi r1, 0 + 11c2: 6808 and r0, r2 + 11c4: 684c and r1, r3 + 11c6: 3480 movi r4, 128 + 11c8: 6502 cmpne r0, r4 + 11ca: 0c37 bf 0x1238 // 1238 <__muldf3+0x1b4> + 11cc: b859 st.w r2, (r14, 0x64) + 11ce: b87a st.w r3, (r14, 0x68) + 11d0: 3303 movi r3, 3 + 11d2: b876 st.w r3, (r14, 0x58) + 11d4: 1816 addi r0, r14, 88 + 11d6: e0000251 bsr 0x1678 // 1678 <__pack_d> + 11da: 141b addi r14, r14, 108 + 11dc: 1494 pop r4-r7, r15 + 11de: 3b42 cmpnei r3, 2 + 11e0: 0c42 bf 0x1264 // 1264 <__muldf3+0x1e0> + 11e2: 9872 ld.w r3, (r14, 0x48) + 11e4: 984d ld.w r2, (r14, 0x34) + 11e6: 64ca cmpne r2, r3 + 11e8: 3300 movi r3, 0 + 11ea: 60cd addc r3, r3 + 11ec: 1811 addi r0, r14, 68 + 11ee: b872 st.w r3, (r14, 0x48) + 11f0: e0000244 bsr 0x1678 // 1678 <__pack_d> + 11f4: 141b addi r14, r14, 108 + 11f6: 1494 pop r4-r7, r15 + 11f8: 3a42 cmpnei r2, 2 + 11fa: 0c35 bf 0x1264 // 1264 <__muldf3+0x1e0> + 11fc: 984d ld.w r2, (r14, 0x34) + 11fe: 9872 ld.w r3, (r14, 0x48) + 1200: 64ca cmpne r2, r3 + 1202: 3300 movi r3, 0 + 1204: 60cd addc r3, r3 + 1206: 180c addi r0, r14, 48 + 1208: b86d st.w r3, (r14, 0x34) + 120a: e0000237 bsr 0x1678 // 1678 <__pack_d> + 120e: 141b addi r14, r14, 108 + 1210: 1494 pop r4-r7, r15 + 1212: 6498 cmphs r6, r2 + 1214: 0b94 bt 0x113c // 113c <__muldf3+0xb8> + 1216: 9882 ld.w r4, (r14, 0x8) + 1218: 98a3 ld.w r5, (r14, 0xc) + 121a: 3201 movi r2, 1 + 121c: 3300 movi r3, 0 + 121e: 6511 cmplt r4, r4 + 1220: 6109 addc r4, r2 + 1222: 614d addc r5, r3 + 1224: b882 st.w r4, (r14, 0x8) + 1226: b8a3 st.w r5, (r14, 0xc) + 1228: 078a br 0x113c // 113c <__muldf3+0xb8> + 122a: 6580 cmphs r0, r6 + 122c: 0b73 bt 0x1112 // 1112 <__muldf3+0x8e> + 122e: 3300 movi r3, 0 + 1230: 3401 movi r4, 1 + 1232: b862 st.w r3, (r14, 0x8) + 1234: b883 st.w r4, (r14, 0xc) + 1236: 0772 br 0x111a // 111a <__muldf3+0x96> + 1238: 3940 cmpnei r1, 0 + 123a: 0bc9 bt 0x11cc // 11cc <__muldf3+0x148> + 123c: 3180 movi r1, 128 + 123e: 4121 lsli r1, r1, 1 + 1240: 6848 and r1, r2 + 1242: 3940 cmpnei r1, 0 + 1244: 0bc4 bt 0x11cc // 11cc <__muldf3+0x148> + 1246: 6c5b mov r1, r6 + 1248: 6c5c or r1, r7 + 124a: 3940 cmpnei r1, 0 + 124c: 0fc0 bf 0x11cc // 11cc <__muldf3+0x148> + 124e: 3080 movi r0, 128 + 1250: 3100 movi r1, 0 + 1252: 6401 cmplt r0, r0 + 1254: 6009 addc r0, r2 + 1256: 604d addc r1, r3 + 1258: 34ff movi r4, 255 + 125a: 6d43 mov r5, r0 + 125c: 6951 andn r5, r4 + 125e: 6c97 mov r2, r5 + 1260: 6cc7 mov r3, r1 + 1262: 07b5 br 0x11cc // 11cc <__muldf3+0x148> + 1264: 1013 lrw r0, 0x555c // 12b0 <__muldf3+0x22c> + 1266: 07b8 br 0x11d6 // 11d6 <__muldf3+0x152> + 1268: 1033 lrw r1, 0xfffffff // 12b4 <__muldf3+0x230> + 126a: 64c4 cmphs r1, r3 + 126c: 0fa9 bf 0x11be // 11be <__muldf3+0x13a> + 126e: 2402 addi r4, 3 + 1270: b822 st.w r1, (r14, 0x8) + 1272: 4a1f lsri r0, r2, 31 + 1274: 4321 lsli r1, r3, 1 + 1276: 42a1 lsli r5, r2, 1 + 1278: 6c04 or r0, r1 + 127a: 3fdf btsti r7, 31 + 127c: b880 st.w r4, (r14, 0x0) + 127e: 6c97 mov r2, r5 + 1280: 6cc3 mov r3, r0 + 1282: 0c07 bf 0x1290 // 1290 <__muldf3+0x20c> + 1284: 3001 movi r0, 1 + 1286: 3100 movi r1, 0 + 1288: 6c08 or r0, r2 + 128a: 6c4c or r1, r3 + 128c: 6c83 mov r2, r0 + 128e: 6cc7 mov r3, r1 + 1290: 4721 lsli r1, r7, 1 + 1292: 4e1f lsri r0, r6, 31 + 1294: 6c04 or r0, r1 + 1296: 9822 ld.w r1, (r14, 0x8) + 1298: 46a1 lsli r5, r6, 1 + 129a: 64c4 cmphs r1, r3 + 129c: 6d97 mov r6, r5 + 129e: 6dc3 mov r7, r0 + 12a0: 2c00 subi r4, 1 + 12a2: 0be8 bt 0x1272 // 1272 <__muldf3+0x1ee> + 12a4: 9820 ld.w r1, (r14, 0x0) + 12a6: b838 st.w r1, (r14, 0x60) + 12a8: 078b br 0x11be // 11be <__muldf3+0x13a> + 12aa: 0000 bkpt + 12ac: 1fffffff .long 0x1fffffff + 12b0: 0000555c .long 0x0000555c + 12b4: 0fffffff .long 0x0fffffff + +000012b8 <__divdf3>: + 12b8: 14d4 push r4-r7, r15 + 12ba: 1432 subi r14, r14, 72 + 12bc: b804 st.w r0, (r14, 0x10) + 12be: b825 st.w r1, (r14, 0x14) + 12c0: 1804 addi r0, r14, 16 + 12c2: 1908 addi r1, r14, 32 + 12c4: b867 st.w r3, (r14, 0x1c) + 12c6: b846 st.w r2, (r14, 0x18) + 12c8: e00002a6 bsr 0x1814 // 1814 <__unpack_d> + 12cc: 190d addi r1, r14, 52 + 12ce: 1806 addi r0, r14, 24 + 12d0: e00002a2 bsr 0x1814 // 1814 <__unpack_d> + 12d4: 9868 ld.w r3, (r14, 0x20) + 12d6: 3b01 cmphsi r3, 2 + 12d8: 0c66 bf 0x13a4 // 13a4 <__divdf3+0xec> + 12da: 982d ld.w r1, (r14, 0x34) + 12dc: 3901 cmphsi r1, 2 + 12de: 0c92 bf 0x1402 // 1402 <__divdf3+0x14a> + 12e0: 9849 ld.w r2, (r14, 0x24) + 12e2: 980e ld.w r0, (r14, 0x38) + 12e4: 6c81 xor r2, r0 + 12e6: 3b44 cmpnei r3, 4 + 12e8: b849 st.w r2, (r14, 0x24) + 12ea: 0c62 bf 0x13ae // 13ae <__divdf3+0xf6> + 12ec: 3b42 cmpnei r3, 2 + 12ee: 0c60 bf 0x13ae // 13ae <__divdf3+0xf6> + 12f0: 3944 cmpnei r1, 4 + 12f2: 0c62 bf 0x13b6 // 13b6 <__divdf3+0xfe> + 12f4: 3942 cmpnei r1, 2 + 12f6: 0c82 bf 0x13fa // 13fa <__divdf3+0x142> + 12f8: 982a ld.w r1, (r14, 0x28) + 12fa: 986f ld.w r3, (r14, 0x3c) + 12fc: 604e subu r1, r3 + 12fe: 9890 ld.w r4, (r14, 0x40) + 1300: 98b1 ld.w r5, (r14, 0x44) + 1302: 984b ld.w r2, (r14, 0x2c) + 1304: 986c ld.w r3, (r14, 0x30) + 1306: 654c cmphs r3, r5 + 1308: b82a st.w r1, (r14, 0x28) + 130a: 6d93 mov r6, r4 + 130c: 6dd7 mov r7, r5 + 130e: 0c05 bf 0x1318 // 1318 <__divdf3+0x60> + 1310: 64d6 cmpne r5, r3 + 1312: 080b bt 0x1328 // 1328 <__divdf3+0x70> + 1314: 6508 cmphs r2, r4 + 1316: 0809 bt 0x1328 // 1328 <__divdf3+0x70> + 1318: 4a9f lsri r4, r2, 31 + 131a: 4301 lsli r0, r3, 1 + 131c: 42a1 lsli r5, r2, 1 + 131e: 6d00 or r4, r0 + 1320: 2900 subi r1, 1 + 1322: 6c97 mov r2, r5 + 1324: 6cd3 mov r3, r4 + 1326: b82a st.w r1, (r14, 0x28) + 1328: 3000 movi r0, 0 + 132a: 3100 movi r1, 0 + 132c: b802 st.w r0, (r14, 0x8) + 132e: b823 st.w r1, (r14, 0xc) + 1330: 3180 movi r1, 128 + 1332: 343d movi r4, 61 + 1334: 3000 movi r0, 0 + 1336: 4135 lsli r1, r1, 21 + 1338: b8c0 st.w r6, (r14, 0x0) + 133a: b8e1 st.w r7, (r14, 0x4) + 133c: 98a0 ld.w r5, (r14, 0x0) + 133e: 98c1 ld.w r6, (r14, 0x4) + 1340: 658c cmphs r3, r6 + 1342: 0c10 bf 0x1362 // 1362 <__divdf3+0xaa> + 1344: 64da cmpne r6, r3 + 1346: 0803 bt 0x134c // 134c <__divdf3+0x94> + 1348: 6548 cmphs r2, r5 + 134a: 0c0c bf 0x1362 // 1362 <__divdf3+0xaa> + 134c: 98a2 ld.w r5, (r14, 0x8) + 134e: 98c3 ld.w r6, (r14, 0xc) + 1350: 6d40 or r5, r0 + 1352: 6d84 or r6, r1 + 1354: b8a2 st.w r5, (r14, 0x8) + 1356: b8c3 st.w r6, (r14, 0xc) + 1358: 98a0 ld.w r5, (r14, 0x0) + 135a: 98c1 ld.w r6, (r14, 0x4) + 135c: 6488 cmphs r2, r2 + 135e: 6097 subc r2, r5 + 1360: 60db subc r3, r6 + 1362: 41bf lsli r5, r1, 31 + 1364: 48e1 lsri r7, r0, 1 + 1366: 6d97 mov r6, r5 + 1368: 49a1 lsri r5, r1, 1 + 136a: 6d9c or r6, r7 + 136c: 6c57 mov r1, r5 + 136e: 4abf lsri r5, r2, 31 + 1370: 6c1b mov r0, r6 + 1372: 2c00 subi r4, 1 + 1374: 6d97 mov r6, r5 + 1376: 43a1 lsli r5, r3, 1 + 1378: 6d94 or r6, r5 + 137a: 4261 lsli r3, r2, 1 + 137c: 3c40 cmpnei r4, 0 + 137e: 6dcf mov r7, r3 + 1380: 6c8f mov r2, r3 + 1382: 6cdb mov r3, r6 + 1384: 0bdc bt 0x133c // 133c <__divdf3+0x84> + 1386: 30ff movi r0, 255 + 1388: 3100 movi r1, 0 + 138a: 9882 ld.w r4, (r14, 0x8) + 138c: 98a3 ld.w r5, (r14, 0xc) + 138e: 6900 and r4, r0 + 1390: 6944 and r5, r1 + 1392: 6c13 mov r0, r4 + 1394: 6c57 mov r1, r5 + 1396: 3480 movi r4, 128 + 1398: 6502 cmpne r0, r4 + 139a: 0c15 bf 0x13c4 // 13c4 <__divdf3+0x10c> + 139c: 9862 ld.w r3, (r14, 0x8) + 139e: 9883 ld.w r4, (r14, 0xc) + 13a0: b86b st.w r3, (r14, 0x2c) + 13a2: b88c st.w r4, (r14, 0x30) + 13a4: 1808 addi r0, r14, 32 + 13a6: e0000169 bsr 0x1678 // 1678 <__pack_d> + 13aa: 1412 addi r14, r14, 72 + 13ac: 1494 pop r4-r7, r15 + 13ae: 644e cmpne r3, r1 + 13b0: 0bfa bt 0x13a4 // 13a4 <__divdf3+0xec> + 13b2: 1016 lrw r0, 0x555c // 1408 <__divdf3+0x150> + 13b4: 07f9 br 0x13a6 // 13a6 <__divdf3+0xee> + 13b6: 3300 movi r3, 0 + 13b8: 3400 movi r4, 0 + 13ba: b86b st.w r3, (r14, 0x2c) + 13bc: b88c st.w r4, (r14, 0x30) + 13be: b86a st.w r3, (r14, 0x28) + 13c0: 1808 addi r0, r14, 32 + 13c2: 07f2 br 0x13a6 // 13a6 <__divdf3+0xee> + 13c4: 3940 cmpnei r1, 0 + 13c6: 0beb bt 0x139c // 139c <__divdf3+0xe4> + 13c8: 3180 movi r1, 128 + 13ca: 4121 lsli r1, r1, 1 + 13cc: 9882 ld.w r4, (r14, 0x8) + 13ce: 98a3 ld.w r5, (r14, 0xc) + 13d0: 6850 and r1, r4 + 13d2: 3940 cmpnei r1, 0 + 13d4: 0be4 bt 0x139c // 139c <__divdf3+0xe4> + 13d6: 6c98 or r2, r6 + 13d8: 3a40 cmpnei r2, 0 + 13da: 0fe1 bf 0x139c // 139c <__divdf3+0xe4> + 13dc: 3280 movi r2, 128 + 13de: 3300 movi r3, 0 + 13e0: 6c13 mov r0, r4 + 13e2: 6c57 mov r1, r5 + 13e4: 6401 cmplt r0, r0 + 13e6: 6009 addc r0, r2 + 13e8: 604d addc r1, r3 + 13ea: 6c83 mov r2, r0 + 13ec: 6cc7 mov r3, r1 + 13ee: 6c0b mov r0, r2 + 13f0: 31ff movi r1, 255 + 13f2: 6805 andn r0, r1 + 13f4: b802 st.w r0, (r14, 0x8) + 13f6: b863 st.w r3, (r14, 0xc) + 13f8: 07d2 br 0x139c // 139c <__divdf3+0xe4> + 13fa: 3304 movi r3, 4 + 13fc: b868 st.w r3, (r14, 0x20) + 13fe: 1808 addi r0, r14, 32 + 1400: 07d3 br 0x13a6 // 13a6 <__divdf3+0xee> + 1402: 180d addi r0, r14, 52 + 1404: 07d1 br 0x13a6 // 13a6 <__divdf3+0xee> + 1406: 0000 bkpt + 1408: 0000555c .long 0x0000555c + +0000140c <__gtdf2>: + 140c: 14d0 push r15 + 140e: 142e subi r14, r14, 56 + 1410: b800 st.w r0, (r14, 0x0) + 1412: b821 st.w r1, (r14, 0x4) + 1414: 6c3b mov r0, r14 + 1416: 1904 addi r1, r14, 16 + 1418: b863 st.w r3, (r14, 0xc) + 141a: b842 st.w r2, (r14, 0x8) + 141c: e00001fc bsr 0x1814 // 1814 <__unpack_d> + 1420: 1909 addi r1, r14, 36 + 1422: 1802 addi r0, r14, 8 + 1424: e00001f8 bsr 0x1814 // 1814 <__unpack_d> + 1428: 9864 ld.w r3, (r14, 0x10) + 142a: 3b01 cmphsi r3, 2 + 142c: 0c0a bf 0x1440 // 1440 <__gtdf2+0x34> + 142e: 9869 ld.w r3, (r14, 0x24) + 1430: 3b01 cmphsi r3, 2 + 1432: 0c07 bf 0x1440 // 1440 <__gtdf2+0x34> + 1434: 1909 addi r1, r14, 36 + 1436: 1804 addi r0, r14, 16 + 1438: e0000250 bsr 0x18d8 // 18d8 <__fpcmp_parts_d> + 143c: 140e addi r14, r14, 56 + 143e: 1490 pop r15 + 1440: 3000 movi r0, 0 + 1442: 2800 subi r0, 1 + 1444: 140e addi r14, r14, 56 + 1446: 1490 pop r15 + +00001448 <__gedf2>: + 1448: 14d0 push r15 + 144a: 142e subi r14, r14, 56 + 144c: b800 st.w r0, (r14, 0x0) + 144e: b821 st.w r1, (r14, 0x4) + 1450: 6c3b mov r0, r14 + 1452: 1904 addi r1, r14, 16 + 1454: b863 st.w r3, (r14, 0xc) + 1456: b842 st.w r2, (r14, 0x8) + 1458: e00001de bsr 0x1814 // 1814 <__unpack_d> + 145c: 1909 addi r1, r14, 36 + 145e: 1802 addi r0, r14, 8 + 1460: e00001da bsr 0x1814 // 1814 <__unpack_d> + 1464: 9864 ld.w r3, (r14, 0x10) + 1466: 3b01 cmphsi r3, 2 + 1468: 0c0a bf 0x147c // 147c <__gedf2+0x34> + 146a: 9869 ld.w r3, (r14, 0x24) + 146c: 3b01 cmphsi r3, 2 + 146e: 0c07 bf 0x147c // 147c <__gedf2+0x34> + 1470: 1909 addi r1, r14, 36 + 1472: 1804 addi r0, r14, 16 + 1474: e0000232 bsr 0x18d8 // 18d8 <__fpcmp_parts_d> + 1478: 140e addi r14, r14, 56 + 147a: 1490 pop r15 + 147c: 3000 movi r0, 0 + 147e: 2800 subi r0, 1 + 1480: 140e addi r14, r14, 56 + 1482: 1490 pop r15 + +00001484 <__ledf2>: + 1484: 14d0 push r15 + 1486: 142e subi r14, r14, 56 + 1488: b800 st.w r0, (r14, 0x0) + 148a: b821 st.w r1, (r14, 0x4) + 148c: 6c3b mov r0, r14 + 148e: 1904 addi r1, r14, 16 + 1490: b863 st.w r3, (r14, 0xc) + 1492: b842 st.w r2, (r14, 0x8) + 1494: e00001c0 bsr 0x1814 // 1814 <__unpack_d> + 1498: 1909 addi r1, r14, 36 + 149a: 1802 addi r0, r14, 8 + 149c: e00001bc bsr 0x1814 // 1814 <__unpack_d> + 14a0: 9864 ld.w r3, (r14, 0x10) + 14a2: 3b01 cmphsi r3, 2 + 14a4: 0c0a bf 0x14b8 // 14b8 <__ledf2+0x34> + 14a6: 9869 ld.w r3, (r14, 0x24) + 14a8: 3b01 cmphsi r3, 2 + 14aa: 0c07 bf 0x14b8 // 14b8 <__ledf2+0x34> + 14ac: 1909 addi r1, r14, 36 + 14ae: 1804 addi r0, r14, 16 + 14b0: e0000214 bsr 0x18d8 // 18d8 <__fpcmp_parts_d> + 14b4: 140e addi r14, r14, 56 + 14b6: 1490 pop r15 + 14b8: 3001 movi r0, 1 + 14ba: 140e addi r14, r14, 56 + 14bc: 1490 pop r15 + ... + +000014c0 <__floatsidf>: + 14c0: 14d1 push r4, r15 + 14c2: 1425 subi r14, r14, 20 + 14c4: 3303 movi r3, 3 + 14c6: b860 st.w r3, (r14, 0x0) + 14c8: 3840 cmpnei r0, 0 + 14ca: 487f lsri r3, r0, 31 + 14cc: b861 st.w r3, (r14, 0x4) + 14ce: 0808 bt 0x14de // 14de <__floatsidf+0x1e> + 14d0: 3302 movi r3, 2 + 14d2: b860 st.w r3, (r14, 0x0) + 14d4: 6c3b mov r0, r14 + 14d6: e00000d1 bsr 0x1678 // 1678 <__pack_d> + 14da: 1405 addi r14, r14, 20 + 14dc: 1491 pop r4, r15 + 14de: 38df btsti r0, 31 + 14e0: 0812 bt 0x1504 // 1504 <__floatsidf+0x44> + 14e2: 6d03 mov r4, r0 + 14e4: 6c13 mov r0, r4 + 14e6: e00000a9 bsr 0x1638 // 1638 <__clzsi2> + 14ea: 321d movi r2, 29 + 14ec: 6080 addu r2, r0 + 14ee: 2802 subi r0, 3 + 14f0: 38df btsti r0, 31 + 14f2: 0810 bt 0x1512 // 1512 <__floatsidf+0x52> + 14f4: 7100 lsl r4, r0 + 14f6: 3300 movi r3, 0 + 14f8: b884 st.w r4, (r14, 0x10) + 14fa: b863 st.w r3, (r14, 0xc) + 14fc: 333c movi r3, 60 + 14fe: 60ca subu r3, r2 + 1500: b862 st.w r3, (r14, 0x8) + 1502: 07e9 br 0x14d4 // 14d4 <__floatsidf+0x14> + 1504: 3380 movi r3, 128 + 1506: 4378 lsli r3, r3, 24 + 1508: 64c2 cmpne r0, r3 + 150a: 0c0d bf 0x1524 // 1524 <__floatsidf+0x64> + 150c: 3400 movi r4, 0 + 150e: 6102 subu r4, r0 + 1510: 07ea br 0x14e4 // 14e4 <__floatsidf+0x24> + 1512: 311f movi r1, 31 + 1514: 4c61 lsri r3, r4, 1 + 1516: 604a subu r1, r2 + 1518: 6c13 mov r0, r4 + 151a: 70c5 lsr r3, r1 + 151c: 7008 lsl r0, r2 + 151e: b864 st.w r3, (r14, 0x10) + 1520: b803 st.w r0, (r14, 0xc) + 1522: 07ed br 0x14fc // 14fc <__floatsidf+0x3c> + 1524: 3000 movi r0, 0 + 1526: 1022 lrw r1, 0xc1e00000 // 152c <__floatsidf+0x6c> + 1528: 07d9 br 0x14da // 14da <__floatsidf+0x1a> + 152a: 0000 bkpt + 152c: c1e00000 .long 0xc1e00000 + +00001530 <__fixdfsi>: + 1530: 14d0 push r15 + 1532: 1427 subi r14, r14, 28 + 1534: b800 st.w r0, (r14, 0x0) + 1536: b821 st.w r1, (r14, 0x4) + 1538: 6c3b mov r0, r14 + 153a: 1902 addi r1, r14, 8 + 153c: e000016c bsr 0x1814 // 1814 <__unpack_d> + 1540: 9862 ld.w r3, (r14, 0x8) + 1542: 3b02 cmphsi r3, 3 + 1544: 0c20 bf 0x1584 // 1584 <__fixdfsi+0x54> + 1546: 3b44 cmpnei r3, 4 + 1548: 0c16 bf 0x1574 // 1574 <__fixdfsi+0x44> + 154a: 9864 ld.w r3, (r14, 0x10) + 154c: 3bdf btsti r3, 31 + 154e: 081b bt 0x1584 // 1584 <__fixdfsi+0x54> + 1550: 3b3e cmplti r3, 31 + 1552: 0c11 bf 0x1574 // 1574 <__fixdfsi+0x44> + 1554: 323c movi r2, 60 + 1556: 5a6d subu r3, r2, r3 + 1558: 3200 movi r2, 0 + 155a: 2a1f subi r2, 32 + 155c: 608c addu r2, r3 + 155e: 3adf btsti r2, 31 + 1560: 0815 bt 0x158a // 158a <__fixdfsi+0x5a> + 1562: 9806 ld.w r0, (r14, 0x18) + 1564: 7009 lsr r0, r2 + 1566: 9863 ld.w r3, (r14, 0xc) + 1568: 3b40 cmpnei r3, 0 + 156a: 0c0b bf 0x1580 // 1580 <__fixdfsi+0x50> + 156c: 3300 movi r3, 0 + 156e: 5b01 subu r0, r3, r0 + 1570: 1407 addi r14, r14, 28 + 1572: 1490 pop r15 + 1574: 9863 ld.w r3, (r14, 0xc) + 1576: 3b40 cmpnei r3, 0 + 1578: 3000 movi r0, 0 + 157a: 6001 addc r0, r0 + 157c: 1068 lrw r3, 0x7fffffff // 159c <__fixdfsi+0x6c> + 157e: 600c addu r0, r3 + 1580: 1407 addi r14, r14, 28 + 1582: 1490 pop r15 + 1584: 3000 movi r0, 0 + 1586: 1407 addi r14, r14, 28 + 1588: 1490 pop r15 + 158a: 9846 ld.w r2, (r14, 0x18) + 158c: 311f movi r1, 31 + 158e: 4241 lsli r2, r2, 1 + 1590: 604e subu r1, r3 + 1592: 9805 ld.w r0, (r14, 0x14) + 1594: 7084 lsl r2, r1 + 1596: 700d lsr r0, r3 + 1598: 6c08 or r0, r2 + 159a: 07e6 br 0x1566 // 1566 <__fixdfsi+0x36> + 159c: 7fffffff .long 0x7fffffff + +000015a0 <__floatunsidf>: + 15a0: 14d2 push r4-r5, r15 + 15a2: 1425 subi r14, r14, 20 + 15a4: 3840 cmpnei r0, 0 + 15a6: 3500 movi r5, 0 + 15a8: 6d03 mov r4, r0 + 15aa: b8a1 st.w r5, (r14, 0x4) + 15ac: 0c15 bf 0x15d6 // 15d6 <__floatunsidf+0x36> + 15ae: 3303 movi r3, 3 + 15b0: b860 st.w r3, (r14, 0x0) + 15b2: e0000043 bsr 0x1638 // 1638 <__clzsi2> + 15b6: 321d movi r2, 29 + 15b8: 6080 addu r2, r0 + 15ba: 2802 subi r0, 3 + 15bc: 38df btsti r0, 31 + 15be: 0813 bt 0x15e4 // 15e4 <__floatunsidf+0x44> + 15c0: 7100 lsl r4, r0 + 15c2: b884 st.w r4, (r14, 0x10) + 15c4: b8a3 st.w r5, (r14, 0xc) + 15c6: 333c movi r3, 60 + 15c8: 60ca subu r3, r2 + 15ca: 6c3b mov r0, r14 + 15cc: b862 st.w r3, (r14, 0x8) + 15ce: e0000055 bsr 0x1678 // 1678 <__pack_d> + 15d2: 1405 addi r14, r14, 20 + 15d4: 1492 pop r4-r5, r15 + 15d6: 3302 movi r3, 2 + 15d8: 6c3b mov r0, r14 + 15da: b860 st.w r3, (r14, 0x0) + 15dc: e000004e bsr 0x1678 // 1678 <__pack_d> + 15e0: 1405 addi r14, r14, 20 + 15e2: 1492 pop r4-r5, r15 + 15e4: 311f movi r1, 31 + 15e6: 4c61 lsri r3, r4, 1 + 15e8: 604a subu r1, r2 + 15ea: 70c5 lsr r3, r1 + 15ec: 7108 lsl r4, r2 + 15ee: b864 st.w r3, (r14, 0x10) + 15f0: b883 st.w r4, (r14, 0xc) + 15f2: 07ea br 0x15c6 // 15c6 <__floatunsidf+0x26> + +000015f4 <__muldi3>: + 15f4: 14c4 push r4-r7 + 15f6: 1421 subi r14, r14, 4 + 15f8: 7501 zexth r4, r0 + 15fa: 48b0 lsri r5, r0, 16 + 15fc: 75c9 zexth r7, r2 + 15fe: 6d83 mov r6, r0 + 1600: b820 st.w r1, (r14, 0x0) + 1602: 6c13 mov r0, r4 + 1604: 4a30 lsri r1, r2, 16 + 1606: 7c1c mult r0, r7 + 1608: 7d04 mult r4, r1 + 160a: 7dd4 mult r7, r5 + 160c: 611c addu r4, r7 + 160e: 7d44 mult r5, r1 + 1610: 4830 lsri r1, r0, 16 + 1612: 6104 addu r4, r1 + 1614: 65d0 cmphs r4, r7 + 1616: 0804 bt 0x161e // 161e <__muldi3+0x2a> + 1618: 3180 movi r1, 128 + 161a: 4129 lsli r1, r1, 9 + 161c: 6144 addu r5, r1 + 161e: 4c30 lsri r1, r4, 16 + 1620: 7cd8 mult r3, r6 + 1622: 6144 addu r5, r1 + 1624: 6c4f mov r1, r3 + 1626: 9860 ld.w r3, (r14, 0x0) + 1628: 7cc8 mult r3, r2 + 162a: 4490 lsli r4, r4, 16 + 162c: 604c addu r1, r3 + 162e: 7401 zexth r0, r0 + 1630: 6010 addu r0, r4 + 1632: 6054 addu r1, r5 + 1634: 1401 addi r14, r14, 4 + 1636: 1484 pop r4-r7 + +00001638 <__clzsi2>: + 1638: 106d lrw r3, 0xffff // 166c <__clzsi2+0x34> + 163a: 640c cmphs r3, r0 + 163c: 0c07 bf 0x164a // 164a <__clzsi2+0x12> + 163e: 33ff movi r3, 255 + 1640: 640c cmphs r3, r0 + 1642: 0c0f bf 0x1660 // 1660 <__clzsi2+0x28> + 1644: 3320 movi r3, 32 + 1646: 3200 movi r2, 0 + 1648: 0406 br 0x1654 // 1654 <__clzsi2+0x1c> + 164a: 106a lrw r3, 0xffffff // 1670 <__clzsi2+0x38> + 164c: 640c cmphs r3, r0 + 164e: 080c bt 0x1666 // 1666 <__clzsi2+0x2e> + 1650: 3308 movi r3, 8 + 1652: 3218 movi r2, 24 + 1654: 7009 lsr r0, r2 + 1656: 1048 lrw r2, 0x5570 // 1674 <__clzsi2+0x3c> + 1658: 6008 addu r0, r2 + 165a: 8040 ld.b r2, (r0, 0x0) + 165c: 5b09 subu r0, r3, r2 + 165e: 783c jmp r15 + 1660: 3318 movi r3, 24 + 1662: 3208 movi r2, 8 + 1664: 07f8 br 0x1654 // 1654 <__clzsi2+0x1c> + 1666: 3310 movi r3, 16 + 1668: 3210 movi r2, 16 + 166a: 07f5 br 0x1654 // 1654 <__clzsi2+0x1c> + 166c: 0000ffff .long 0x0000ffff + 1670: 00ffffff .long 0x00ffffff + 1674: 00005570 .long 0x00005570 + +00001678 <__pack_d>: + 1678: 14c4 push r4-r7 + 167a: 1422 subi r14, r14, 8 + 167c: 9060 ld.w r3, (r0, 0x0) + 167e: 3b01 cmphsi r3, 2 + 1680: 90c3 ld.w r6, (r0, 0xc) + 1682: 90e4 ld.w r7, (r0, 0x10) + 1684: 9021 ld.w r1, (r0, 0x4) + 1686: 0c46 bf 0x1712 // 1712 <__pack_d+0x9a> + 1688: 3b44 cmpnei r3, 4 + 168a: 0c40 bf 0x170a // 170a <__pack_d+0x92> + 168c: 3b42 cmpnei r3, 2 + 168e: 0c27 bf 0x16dc // 16dc <__pack_d+0x64> + 1690: 6cdb mov r3, r6 + 1692: 6cdc or r3, r7 + 1694: 3b40 cmpnei r3, 0 + 1696: 0c23 bf 0x16dc // 16dc <__pack_d+0x64> + 1698: 9062 ld.w r3, (r0, 0x8) + 169a: 125a lrw r2, 0xfffffc02 // 1800 <__pack_d+0x188> + 169c: 648d cmplt r3, r2 + 169e: 0855 bt 0x1748 // 1748 <__pack_d+0xd0> + 16a0: 1259 lrw r2, 0x3ff // 1804 <__pack_d+0x18c> + 16a2: 64c9 cmplt r2, r3 + 16a4: 0833 bt 0x170a // 170a <__pack_d+0x92> + 16a6: 34ff movi r4, 255 + 16a8: 3500 movi r5, 0 + 16aa: 6918 and r4, r6 + 16ac: 695c and r5, r7 + 16ae: 3280 movi r2, 128 + 16b0: 6492 cmpne r4, r2 + 16b2: 0c3f bf 0x1730 // 1730 <__pack_d+0xb8> + 16b4: 347f movi r4, 127 + 16b6: 3500 movi r5, 0 + 16b8: 6599 cmplt r6, r6 + 16ba: 6191 addc r6, r4 + 16bc: 61d5 addc r7, r5 + 16be: 1253 lrw r2, 0x1fffffff // 1808 <__pack_d+0x190> + 16c0: 65c8 cmphs r2, r7 + 16c2: 0c1a bf 0x16f6 // 16f6 <__pack_d+0x7e> + 16c4: 1290 lrw r4, 0x3ff // 1804 <__pack_d+0x18c> + 16c6: 610c addu r4, r3 + 16c8: 4718 lsli r0, r7, 24 + 16ca: 4f68 lsri r3, r7, 8 + 16cc: 4e48 lsri r2, r6, 8 + 16ce: 6c80 or r2, r0 + 16d0: 430c lsli r0, r3, 12 + 16d2: 486c lsri r3, r0, 12 + 16d4: 120e lrw r0, 0x7ff // 180c <__pack_d+0x194> + 16d6: 6d4b mov r5, r2 + 16d8: 6900 and r4, r0 + 16da: 0404 br 0x16e2 // 16e2 <__pack_d+0x6a> + 16dc: 3400 movi r4, 0 + 16de: 3200 movi r2, 0 + 16e0: 3300 movi r3, 0 + 16e2: 430c lsli r0, r3, 12 + 16e4: 480c lsri r0, r0, 12 + 16e6: 4474 lsli r3, r4, 20 + 16e8: 419f lsli r4, r1, 31 + 16ea: 6c43 mov r1, r0 + 16ec: 6c4c or r1, r3 + 16ee: 6c50 or r1, r4 + 16f0: 6c0b mov r0, r2 + 16f2: 1402 addi r14, r14, 8 + 16f4: 1484 pop r4-r7 + 16f6: 479f lsli r4, r7, 31 + 16f8: 4e01 lsri r0, r6, 1 + 16fa: 6d00 or r4, r0 + 16fc: 6d93 mov r6, r4 + 16fe: 3480 movi r4, 128 + 1700: 4f41 lsri r2, r7, 1 + 1702: 4483 lsli r4, r4, 3 + 1704: 6dcb mov r7, r2 + 1706: 610c addu r4, r3 + 1708: 07e0 br 0x16c8 // 16c8 <__pack_d+0x50> + 170a: 1281 lrw r4, 0x7ff // 180c <__pack_d+0x194> + 170c: 3200 movi r2, 0 + 170e: 3300 movi r3, 0 + 1710: 07e9 br 0x16e2 // 16e2 <__pack_d+0x6a> + 1712: 4e08 lsri r0, r6, 8 + 1714: 4798 lsli r4, r7, 24 + 1716: 6d00 or r4, r0 + 1718: 3580 movi r5, 128 + 171a: 4705 lsli r0, r7, 5 + 171c: 6c93 mov r2, r4 + 171e: 486d lsri r3, r0, 13 + 1720: 3400 movi r4, 0 + 1722: 45ac lsli r5, r5, 12 + 1724: 6c90 or r2, r4 + 1726: 6cd4 or r3, r5 + 1728: 430c lsli r0, r3, 12 + 172a: 486c lsri r3, r0, 12 + 172c: 1198 lrw r4, 0x7ff // 180c <__pack_d+0x194> + 172e: 07da br 0x16e2 // 16e2 <__pack_d+0x6a> + 1730: 3d40 cmpnei r5, 0 + 1732: 0bc1 bt 0x16b4 // 16b4 <__pack_d+0x3c> + 1734: 4241 lsli r2, r2, 1 + 1736: 6898 and r2, r6 + 1738: 3a40 cmpnei r2, 0 + 173a: 0fc2 bf 0x16be // 16be <__pack_d+0x46> + 173c: 3480 movi r4, 128 + 173e: 3500 movi r5, 0 + 1740: 6599 cmplt r6, r6 + 1742: 6191 addc r6, r4 + 1744: 61d5 addc r7, r5 + 1746: 07bc br 0x16be // 16be <__pack_d+0x46> + 1748: 5a6d subu r3, r2, r3 + 174a: 3238 movi r2, 56 + 174c: 64c9 cmplt r2, r3 + 174e: 0bc7 bt 0x16dc // 16dc <__pack_d+0x64> + 1750: 3200 movi r2, 0 + 1752: 2a1f subi r2, 32 + 1754: 608c addu r2, r3 + 1756: 3adf btsti r2, 31 + 1758: 0848 bt 0x17e8 // 17e8 <__pack_d+0x170> + 175a: 6c1f mov r0, r7 + 175c: 7009 lsr r0, r2 + 175e: b800 st.w r0, (r14, 0x0) + 1760: 3000 movi r0, 0 + 1762: b801 st.w r0, (r14, 0x4) + 1764: 3adf btsti r2, 31 + 1766: 083c bt 0x17de // 17de <__pack_d+0x166> + 1768: 3301 movi r3, 1 + 176a: 70c8 lsl r3, r2 + 176c: 6d4f mov r5, r3 + 176e: 3300 movi r3, 0 + 1770: 6d0f mov r4, r3 + 1772: 3200 movi r2, 0 + 1774: 3300 movi r3, 0 + 1776: 2a00 subi r2, 1 + 1778: 2b00 subi r3, 1 + 177a: 6511 cmplt r4, r4 + 177c: 6109 addc r4, r2 + 177e: 614d addc r5, r3 + 1780: 6990 and r6, r4 + 1782: 69d4 and r7, r5 + 1784: 6d9c or r6, r7 + 1786: 3e40 cmpnei r6, 0 + 1788: 3000 movi r0, 0 + 178a: 6001 addc r0, r0 + 178c: 6c83 mov r2, r0 + 178e: 3300 movi r3, 0 + 1790: 9880 ld.w r4, (r14, 0x0) + 1792: 98a1 ld.w r5, (r14, 0x4) + 1794: 6d08 or r4, r2 + 1796: 6d4c or r5, r3 + 1798: 32ff movi r2, 255 + 179a: 3300 movi r3, 0 + 179c: 6890 and r2, r4 + 179e: 68d4 and r3, r5 + 17a0: 3080 movi r0, 128 + 17a2: 640a cmpne r2, r0 + 17a4: 081b bt 0x17da // 17da <__pack_d+0x162> + 17a6: 3b40 cmpnei r3, 0 + 17a8: 0819 bt 0x17da // 17da <__pack_d+0x162> + 17aa: 3380 movi r3, 128 + 17ac: 4361 lsli r3, r3, 1 + 17ae: 68d0 and r3, r4 + 17b0: 3b40 cmpnei r3, 0 + 17b2: 0c06 bf 0x17be // 17be <__pack_d+0x146> + 17b4: 3280 movi r2, 128 + 17b6: 3300 movi r3, 0 + 17b8: 6511 cmplt r4, r4 + 17ba: 6109 addc r4, r2 + 17bc: 614d addc r5, r3 + 17be: 4518 lsli r0, r5, 24 + 17c0: 4c48 lsri r2, r4, 8 + 17c2: 4d68 lsri r3, r5, 8 + 17c4: 1093 lrw r4, 0xfffffff // 1810 <__pack_d+0x198> + 17c6: 6c80 or r2, r0 + 17c8: 6550 cmphs r4, r5 + 17ca: 430c lsli r0, r3, 12 + 17cc: 486c lsri r3, r0, 12 + 17ce: 3001 movi r0, 1 + 17d0: 0c02 bf 0x17d4 // 17d4 <__pack_d+0x15c> + 17d2: 3000 movi r0, 0 + 17d4: 108e lrw r4, 0x7ff // 180c <__pack_d+0x194> + 17d6: 6900 and r4, r0 + 17d8: 0785 br 0x16e2 // 16e2 <__pack_d+0x6a> + 17da: 327f movi r2, 127 + 17dc: 07ed br 0x17b6 // 17b6 <__pack_d+0x13e> + 17de: 3201 movi r2, 1 + 17e0: 708c lsl r2, r3 + 17e2: 3500 movi r5, 0 + 17e4: 6d0b mov r4, r2 + 17e6: 07c6 br 0x1772 // 1772 <__pack_d+0xfa> + 17e8: 341f movi r4, 31 + 17ea: 610e subu r4, r3 + 17ec: 4701 lsli r0, r7, 1 + 17ee: 7010 lsl r0, r4 + 17f0: 6d1b mov r4, r6 + 17f2: 710d lsr r4, r3 + 17f4: 6d00 or r4, r0 + 17f6: 6c1f mov r0, r7 + 17f8: 700d lsr r0, r3 + 17fa: b880 st.w r4, (r14, 0x0) + 17fc: b801 st.w r0, (r14, 0x4) + 17fe: 07b3 br 0x1764 // 1764 <__pack_d+0xec> + 1800: fffffc02 .long 0xfffffc02 + 1804: 000003ff .long 0x000003ff + 1808: 1fffffff .long 0x1fffffff + 180c: 000007ff .long 0x000007ff + 1810: 0fffffff .long 0x0fffffff + +00001814 <__unpack_d>: + 1814: 1423 subi r14, r14, 12 + 1816: b880 st.w r4, (r14, 0x0) + 1818: b8c1 st.w r6, (r14, 0x4) + 181a: b8e2 st.w r7, (r14, 0x8) + 181c: 8843 ld.h r2, (r0, 0x6) + 181e: 4251 lsli r2, r2, 17 + 1820: 9061 ld.w r3, (r0, 0x4) + 1822: 9080 ld.w r4, (r0, 0x0) + 1824: 4a55 lsri r2, r2, 21 + 1826: 8007 ld.b r0, (r0, 0x7) + 1828: 436c lsli r3, r3, 12 + 182a: 4807 lsri r0, r0, 7 + 182c: 3a40 cmpnei r2, 0 + 182e: 4b6c lsri r3, r3, 12 + 1830: b101 st.w r0, (r1, 0x4) + 1832: 0819 bt 0x1864 // 1864 <__unpack_d+0x50> + 1834: 6c93 mov r2, r4 + 1836: 6c8c or r2, r3 + 1838: 3a40 cmpnei r2, 0 + 183a: 0c2d bf 0x1894 // 1894 <__unpack_d+0x80> + 183c: 4c58 lsri r2, r4, 24 + 183e: 4368 lsli r3, r3, 8 + 1840: 6cc8 or r3, r2 + 1842: 3203 movi r2, 3 + 1844: 4408 lsli r0, r4, 8 + 1846: b140 st.w r2, (r1, 0x0) + 1848: 1181 lrw r4, 0xfffffc01 // 18cc <__unpack_d+0xb8> + 184a: 11c2 lrw r6, 0xfffffff // 18d0 <__unpack_d+0xbc> + 184c: 485f lsri r2, r0, 31 + 184e: 4361 lsli r3, r3, 1 + 1850: 6cc8 or r3, r2 + 1852: 64d8 cmphs r6, r3 + 1854: 6c93 mov r2, r4 + 1856: 4001 lsli r0, r0, 1 + 1858: 2c00 subi r4, 1 + 185a: 0bf9 bt 0x184c // 184c <__unpack_d+0x38> + 185c: b142 st.w r2, (r1, 0x8) + 185e: b103 st.w r0, (r1, 0xc) + 1860: b164 st.w r3, (r1, 0x10) + 1862: 0414 br 0x188a // 188a <__unpack_d+0x76> + 1864: 101c lrw r0, 0x7ff // 18d4 <__unpack_d+0xc0> + 1866: 640a cmpne r2, r0 + 1868: 0c19 bf 0x189a // 189a <__unpack_d+0x86> + 186a: 1019 lrw r0, 0xfffffc01 // 18cc <__unpack_d+0xb8> + 186c: 6080 addu r2, r0 + 186e: b142 st.w r2, (r1, 0x8) + 1870: 3203 movi r2, 3 + 1872: 43e8 lsli r7, r3, 8 + 1874: b140 st.w r2, (r1, 0x0) + 1876: 3380 movi r3, 128 + 1878: 4c58 lsri r2, r4, 24 + 187a: 6dc8 or r7, r2 + 187c: 44c8 lsli r6, r4, 8 + 187e: 3200 movi r2, 0 + 1880: 4375 lsli r3, r3, 21 + 1882: 6d88 or r6, r2 + 1884: 6dcc or r7, r3 + 1886: b1c3 st.w r6, (r1, 0xc) + 1888: b1e4 st.w r7, (r1, 0x10) + 188a: 98e2 ld.w r7, (r14, 0x8) + 188c: 98c1 ld.w r6, (r14, 0x4) + 188e: 9880 ld.w r4, (r14, 0x0) + 1890: 1403 addi r14, r14, 12 + 1892: 783c jmp r15 + 1894: 3302 movi r3, 2 + 1896: b160 st.w r3, (r1, 0x0) + 1898: 07f9 br 0x188a // 188a <__unpack_d+0x76> + 189a: 6c93 mov r2, r4 + 189c: 6c8c or r2, r3 + 189e: 3a40 cmpnei r2, 0 + 18a0: 0c10 bf 0x18c0 // 18c0 <__unpack_d+0xac> + 18a2: 3280 movi r2, 128 + 18a4: 424c lsli r2, r2, 12 + 18a6: 688c and r2, r3 + 18a8: 3a40 cmpnei r2, 0 + 18aa: 0c0e bf 0x18c6 // 18c6 <__unpack_d+0xb2> + 18ac: 3201 movi r2, 1 + 18ae: b140 st.w r2, (r1, 0x0) + 18b0: 4c58 lsri r2, r4, 24 + 18b2: 4368 lsli r3, r3, 8 + 18b4: 6cc8 or r3, r2 + 18b6: 4408 lsli r0, r4, 8 + 18b8: 3b9b bclri r3, 27 + 18ba: b103 st.w r0, (r1, 0xc) + 18bc: b164 st.w r3, (r1, 0x10) + 18be: 07e6 br 0x188a // 188a <__unpack_d+0x76> + 18c0: 3304 movi r3, 4 + 18c2: b160 st.w r3, (r1, 0x0) + 18c4: 07e3 br 0x188a // 188a <__unpack_d+0x76> + 18c6: b140 st.w r2, (r1, 0x0) + 18c8: 07f4 br 0x18b0 // 18b0 <__unpack_d+0x9c> + 18ca: 0000 bkpt + 18cc: fffffc01 .long 0xfffffc01 + 18d0: 0fffffff .long 0x0fffffff + 18d4: 000007ff .long 0x000007ff + +000018d8 <__fpcmp_parts_d>: + 18d8: 14c1 push r4 + 18da: 9060 ld.w r3, (r0, 0x0) + 18dc: 3b01 cmphsi r3, 2 + 18de: 0c12 bf 0x1902 // 1902 <__fpcmp_parts_d+0x2a> + 18e0: 9140 ld.w r2, (r1, 0x0) + 18e2: 3a01 cmphsi r2, 2 + 18e4: 0c0f bf 0x1902 // 1902 <__fpcmp_parts_d+0x2a> + 18e6: 3b44 cmpnei r3, 4 + 18e8: 0c17 bf 0x1916 // 1916 <__fpcmp_parts_d+0x3e> + 18ea: 3a44 cmpnei r2, 4 + 18ec: 0c0f bf 0x190a // 190a <__fpcmp_parts_d+0x32> + 18ee: 3b42 cmpnei r3, 2 + 18f0: 0c0b bf 0x1906 // 1906 <__fpcmp_parts_d+0x2e> + 18f2: 3a42 cmpnei r2, 2 + 18f4: 0c13 bf 0x191a // 191a <__fpcmp_parts_d+0x42> + 18f6: 9061 ld.w r3, (r0, 0x4) + 18f8: 9141 ld.w r2, (r1, 0x4) + 18fa: 648e cmpne r3, r2 + 18fc: 0c14 bf 0x1924 // 1924 <__fpcmp_parts_d+0x4c> + 18fe: 3b40 cmpnei r3, 0 + 1900: 0808 bt 0x1910 // 1910 <__fpcmp_parts_d+0x38> + 1902: 3001 movi r0, 1 + 1904: 1481 pop r4 + 1906: 3a42 cmpnei r2, 2 + 1908: 0c28 bf 0x1958 // 1958 <__fpcmp_parts_d+0x80> + 190a: 9161 ld.w r3, (r1, 0x4) + 190c: 3b40 cmpnei r3, 0 + 190e: 0bfa bt 0x1902 // 1902 <__fpcmp_parts_d+0x2a> + 1910: 3000 movi r0, 0 + 1912: 2800 subi r0, 1 + 1914: 1481 pop r4 + 1916: 3a44 cmpnei r2, 4 + 1918: 0c22 bf 0x195c // 195c <__fpcmp_parts_d+0x84> + 191a: 9061 ld.w r3, (r0, 0x4) + 191c: 3b40 cmpnei r3, 0 + 191e: 0bf9 bt 0x1910 // 1910 <__fpcmp_parts_d+0x38> + 1920: 3001 movi r0, 1 + 1922: 07f1 br 0x1904 // 1904 <__fpcmp_parts_d+0x2c> + 1924: 9082 ld.w r4, (r0, 0x8) + 1926: 9142 ld.w r2, (r1, 0x8) + 1928: 6509 cmplt r2, r4 + 192a: 0bea bt 0x18fe // 18fe <__fpcmp_parts_d+0x26> + 192c: 6491 cmplt r4, r2 + 192e: 080d bt 0x1948 // 1948 <__fpcmp_parts_d+0x70> + 1930: 9044 ld.w r2, (r0, 0x10) + 1932: 9083 ld.w r4, (r0, 0xc) + 1934: 9103 ld.w r0, (r1, 0xc) + 1936: 9124 ld.w r1, (r1, 0x10) + 1938: 6484 cmphs r1, r2 + 193a: 0fe2 bf 0x18fe // 18fe <__fpcmp_parts_d+0x26> + 193c: 644a cmpne r2, r1 + 193e: 0803 bt 0x1944 // 1944 <__fpcmp_parts_d+0x6c> + 1940: 6500 cmphs r0, r4 + 1942: 0fde bf 0x18fe // 18fe <__fpcmp_parts_d+0x26> + 1944: 6448 cmphs r2, r1 + 1946: 0805 bt 0x1950 // 1950 <__fpcmp_parts_d+0x78> + 1948: 3b40 cmpnei r3, 0 + 194a: 0fe3 bf 0x1910 // 1910 <__fpcmp_parts_d+0x38> + 194c: 3001 movi r0, 1 + 194e: 07db br 0x1904 // 1904 <__fpcmp_parts_d+0x2c> + 1950: 6486 cmpne r1, r2 + 1952: 0803 bt 0x1958 // 1958 <__fpcmp_parts_d+0x80> + 1954: 6410 cmphs r4, r0 + 1956: 0ff9 bf 0x1948 // 1948 <__fpcmp_parts_d+0x70> + 1958: 3000 movi r0, 0 + 195a: 1481 pop r4 + 195c: 9161 ld.w r3, (r1, 0x4) + 195e: 9041 ld.w r2, (r0, 0x4) + 1960: 5b09 subu r0, r3, r2 + 1962: 1481 pop r4 + +00001964 <__memset_fast>: + 1964: 14c3 push r4-r6 + 1966: 7444 zextb r1, r1 + 1968: 3a40 cmpnei r2, 0 + 196a: 0c1f bf 0x19a8 // 19a8 <__memset_fast+0x44> + 196c: 6d43 mov r5, r0 + 196e: 6d03 mov r4, r0 + 1970: 3603 movi r6, 3 + 1972: 6918 and r4, r6 + 1974: 3c40 cmpnei r4, 0 + 1976: 0c1a bf 0x19aa // 19aa <__memset_fast+0x46> + 1978: a520 st.b r1, (r5, 0x0) + 197a: 2a00 subi r2, 1 + 197c: 3a40 cmpnei r2, 0 + 197e: 0c15 bf 0x19a8 // 19a8 <__memset_fast+0x44> + 1980: 2500 addi r5, 1 + 1982: 6d17 mov r4, r5 + 1984: 3603 movi r6, 3 + 1986: 6918 and r4, r6 + 1988: 3c40 cmpnei r4, 0 + 198a: 0c10 bf 0x19aa // 19aa <__memset_fast+0x46> + 198c: a520 st.b r1, (r5, 0x0) + 198e: 2a00 subi r2, 1 + 1990: 3a40 cmpnei r2, 0 + 1992: 0c0b bf 0x19a8 // 19a8 <__memset_fast+0x44> + 1994: 2500 addi r5, 1 + 1996: 6d17 mov r4, r5 + 1998: 3603 movi r6, 3 + 199a: 6918 and r4, r6 + 199c: 3c40 cmpnei r4, 0 + 199e: 0c06 bf 0x19aa // 19aa <__memset_fast+0x46> + 19a0: a520 st.b r1, (r5, 0x0) + 19a2: 2a00 subi r2, 1 + 19a4: 2500 addi r5, 1 + 19a6: 0402 br 0x19aa // 19aa <__memset_fast+0x46> + 19a8: 1483 pop r4-r6 + 19aa: 4168 lsli r3, r1, 8 + 19ac: 6c4c or r1, r3 + 19ae: 4170 lsli r3, r1, 16 + 19b0: 6c4c or r1, r3 + 19b2: 3a2f cmplti r2, 16 + 19b4: 0809 bt 0x19c6 // 19c6 <__memset_fast+0x62> + 19b6: b520 st.w r1, (r5, 0x0) + 19b8: b521 st.w r1, (r5, 0x4) + 19ba: b522 st.w r1, (r5, 0x8) + 19bc: b523 st.w r1, (r5, 0xc) + 19be: 2a0f subi r2, 16 + 19c0: 250f addi r5, 16 + 19c2: 3a2f cmplti r2, 16 + 19c4: 0ff9 bf 0x19b6 // 19b6 <__memset_fast+0x52> + 19c6: 3a23 cmplti r2, 4 + 19c8: 0806 bt 0x19d4 // 19d4 <__memset_fast+0x70> + 19ca: 2a03 subi r2, 4 + 19cc: b520 st.w r1, (r5, 0x0) + 19ce: 2503 addi r5, 4 + 19d0: 3a23 cmplti r2, 4 + 19d2: 0ffc bf 0x19ca // 19ca <__memset_fast+0x66> + 19d4: 3a40 cmpnei r2, 0 + 19d6: 0fe9 bf 0x19a8 // 19a8 <__memset_fast+0x44> + 19d8: 2a00 subi r2, 1 + 19da: a520 st.b r1, (r5, 0x0) + 19dc: 3a40 cmpnei r2, 0 + 19de: 0fe5 bf 0x19a8 // 19a8 <__memset_fast+0x44> + 19e0: 2a00 subi r2, 1 + 19e2: a521 st.b r1, (r5, 0x1) + 19e4: 3a40 cmpnei r2, 0 + 19e6: 0fe1 bf 0x19a8 // 19a8 <__memset_fast+0x44> + 19e8: a522 st.b r1, (r5, 0x2) + 19ea: 1483 pop r4-r6 + +000019ec <__memcpy_fast>: + 19ec: 14c3 push r4-r6 + 19ee: 6d83 mov r6, r0 + 19f0: 6d07 mov r4, r1 + 19f2: 6d18 or r4, r6 + 19f4: 3303 movi r3, 3 + 19f6: 690c and r4, r3 + 19f8: 3c40 cmpnei r4, 0 + 19fa: 0c0b bf 0x1a10 // 1a10 <__memcpy_fast+0x24> + 19fc: 3a40 cmpnei r2, 0 + 19fe: 0c08 bf 0x1a0e // 1a0e <__memcpy_fast+0x22> + 1a00: 8160 ld.b r3, (r1, 0x0) + 1a02: 2100 addi r1, 1 + 1a04: 2a00 subi r2, 1 + 1a06: a660 st.b r3, (r6, 0x0) + 1a08: 2600 addi r6, 1 + 1a0a: 3a40 cmpnei r2, 0 + 1a0c: 0bfa bt 0x1a00 // 1a00 <__memcpy_fast+0x14> + 1a0e: 1483 pop r4-r6 + 1a10: 3a2f cmplti r2, 16 + 1a12: 080e bt 0x1a2e // 1a2e <__memcpy_fast+0x42> + 1a14: 91a0 ld.w r5, (r1, 0x0) + 1a16: 9161 ld.w r3, (r1, 0x4) + 1a18: 9182 ld.w r4, (r1, 0x8) + 1a1a: b6a0 st.w r5, (r6, 0x0) + 1a1c: 91a3 ld.w r5, (r1, 0xc) + 1a1e: b661 st.w r3, (r6, 0x4) + 1a20: b682 st.w r4, (r6, 0x8) + 1a22: b6a3 st.w r5, (r6, 0xc) + 1a24: 2a0f subi r2, 16 + 1a26: 210f addi r1, 16 + 1a28: 260f addi r6, 16 + 1a2a: 3a2f cmplti r2, 16 + 1a2c: 0ff4 bf 0x1a14 // 1a14 <__memcpy_fast+0x28> + 1a2e: 3a23 cmplti r2, 4 + 1a30: 0808 bt 0x1a40 // 1a40 <__memcpy_fast+0x54> + 1a32: 9160 ld.w r3, (r1, 0x0) + 1a34: 2a03 subi r2, 4 + 1a36: 2103 addi r1, 4 + 1a38: b660 st.w r3, (r6, 0x0) + 1a3a: 2603 addi r6, 4 + 1a3c: 3a23 cmplti r2, 4 + 1a3e: 0ffa bf 0x1a32 // 1a32 <__memcpy_fast+0x46> + 1a40: 3a40 cmpnei r2, 0 + 1a42: 0fe6 bf 0x1a0e // 1a0e <__memcpy_fast+0x22> + 1a44: 8160 ld.b r3, (r1, 0x0) + 1a46: 2100 addi r1, 1 + 1a48: 2a00 subi r2, 1 + 1a4a: a660 st.b r3, (r6, 0x0) + 1a4c: 2600 addi r6, 1 + 1a4e: 07f9 br 0x1a40 // 1a40 <__memcpy_fast+0x54> + +Disassembly of section .text.__main: + +00001a50 <__main>: +extern char _bss_start[]; +extern char _ebss[]; + + +void __main( void ) +{ + 1a50: 14d0 push r15 + + /* if the start of data (dst) + is not equal to end of text (src) then + copy it, else it's already in the right place + */ + if( _start_data != _end_rodata ) { + 1a52: 1009 lrw r0, 0x20000000 // 1a74 <__main+0x24> + 1a54: 1029 lrw r1, 0x576c // 1a78 <__main+0x28> + 1a56: 6442 cmpne r0, r1 + 1a58: 0c05 bf 0x1a62 // 1a62 <__main+0x12> +// __memcpy_fast( dst, src, (_end_data - _start_data)); + memcpy( dst, src, (_end_data - _start_data)); + 1a5a: 1049 lrw r2, 0x200000a8 // 1a7c <__main+0x2c> + 1a5c: 6082 subu r2, r0 + 1a5e: e3ffffc7 bsr 0x19ec // 19ec <__memcpy_fast> + } + + /* zero the bss + */ + if( _ebss - _bss_start ) { + 1a62: 1048 lrw r2, 0x200007d0 // 1a80 <__main+0x30> + 1a64: 1008 lrw r0, 0x200000a8 // 1a84 <__main+0x34> + 1a66: 640a cmpne r2, r0 + 1a68: 0c05 bf 0x1a72 // 1a72 <__main+0x22> +// __memset_fast( _bss_start, 0x00, ( _ebss - _bss_start )); + memset( _bss_start, 0x00, ( _ebss - _bss_start )); + 1a6a: 6082 subu r2, r0 + 1a6c: 3100 movi r1, 0 + 1a6e: e3ffff7b bsr 0x1964 // 1964 <__memset_fast> + } + + +} + 1a72: 1490 pop r15 + 1a74: 20000000 .long 0x20000000 + 1a78: 0000576c .long 0x0000576c + 1a7c: 200000a8 .long 0x200000a8 + 1a80: 200007d0 .long 0x200007d0 + 1a84: 200000a8 .long 0x200000a8 + +Disassembly of section .text.SYSCON_General_CMD.part.0: + +00001a88 : +/*************************************************************/ +void SYSCON_General_CMD(FunctionalStatus NewState, SYSCON_General_CMD_TypeDef ENDIS_X ) +{ + if (NewState != DISABLE) + { + if(ENDIS_X==ENDIS_EMOSC) + 1a88: 3848 cmpnei r0, 8 + 1a8a: 080a bt 0x1a9e // 1a9e + GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFF00FFF)|0x00044000; //enable EMOSC PIN + 1a8c: 107a lrw r3, 0x2000004c // 1af4 + 1a8e: 32ff movi r2, 255 + 1a90: 9320 ld.w r1, (r3, 0x0) + 1a92: 9160 ld.w r3, (r1, 0x0) + 1a94: 424c lsli r2, r2, 12 + 1a96: 68c9 andn r3, r2 + 1a98: 3bae bseti r3, 14 + 1a9a: 3bb2 bseti r3, 18 + 1a9c: b160 st.w r3, (r1, 0x0) + SYSCON->GCER|=ENDIS_X; //enable SYSCON General Control + 1a9e: 1077 lrw r3, 0x2000005c // 1af8 + 1aa0: 9360 ld.w r3, (r3, 0x0) + 1aa2: 9341 ld.w r2, (r3, 0x4) + 1aa4: 6c80 or r2, r0 + 1aa6: b341 st.w r2, (r3, 0x4) + while(!(SYSCON->GCSR&ENDIS_X)); //check Enable? + 1aa8: 9343 ld.w r2, (r3, 0xc) + 1aaa: 6880 and r2, r0 + 1aac: 3a40 cmpnei r2, 0 + 1aae: 0ffd bf 0x1aa8 // 1aa8 + switch(ENDIS_X) + 1ab0: 3842 cmpnei r0, 2 + 1ab2: 0807 bt 0x1ac0 // 1ac0 + { + case ENDIS_IMOSC: + while (!(SYSCON->CKST & ENDIS_IMOSC)); + 1ab4: 3102 movi r1, 2 + 1ab6: 9344 ld.w r2, (r3, 0x10) + 1ab8: 6884 and r2, r1 + 1aba: 3a40 cmpnei r2, 0 + 1abc: 0ffd bf 0x1ab6 // 1ab6 + { + SYSCON->GCDR|=ENDIS_X; //disable SYSCON General Control + while(SYSCON->GCSR&ENDIS_X); //check Disable? + SYSCON->ICR|=ENDIS_X; //Clear ENDIS_X stable bit + } +} + 1abe: 783c jmp r15 + switch(ENDIS_X) + 1ac0: 3802 cmphsi r0, 3 + 1ac2: 0809 bt 0x1ad4 // 1ad4 + 1ac4: 3841 cmpnei r0, 1 + 1ac6: 0bfc bt 0x1abe // 1abe + while (!(SYSCON->CKST & ENDIS_ISOSC)); + 1ac8: 3101 movi r1, 1 + 1aca: 9344 ld.w r2, (r3, 0x10) + 1acc: 6884 and r2, r1 + 1ace: 3a40 cmpnei r2, 0 + 1ad0: 0ffd bf 0x1aca // 1aca + 1ad2: 07f6 br 0x1abe // 1abe + switch(ENDIS_X) + 1ad4: 3848 cmpnei r0, 8 + 1ad6: 0807 bt 0x1ae4 // 1ae4 + while (!(SYSCON->CKST & ENDIS_EMOSC)); + 1ad8: 3108 movi r1, 8 + 1ada: 9344 ld.w r2, (r3, 0x10) + 1adc: 6884 and r2, r1 + 1ade: 3a40 cmpnei r2, 0 + 1ae0: 0ffd bf 0x1ada // 1ada + 1ae2: 07ee br 0x1abe // 1abe + switch(ENDIS_X) + 1ae4: 3850 cmpnei r0, 16 + 1ae6: 0bec bt 0x1abe // 1abe + while (!(SYSCON->CKST & ENDIS_HFOSC)); + 1ae8: 3110 movi r1, 16 + 1aea: 9344 ld.w r2, (r3, 0x10) + 1aec: 6884 and r2, r1 + 1aee: 3a40 cmpnei r2, 0 + 1af0: 0ffd bf 0x1aea // 1aea + 1af2: 07e6 br 0x1abe // 1abe + 1af4: 2000004c .long 0x2000004c + 1af8: 2000005c .long 0x2000005c + +Disassembly of section .text.SYSCON_RST_VALUE: + +00001afc : + SYSCON->RAMCHK=SYSCON_RAMCHK_RST; + 1afc: 106c lrw r3, 0x2000005c // 1b2c + 1afe: 104d lrw r2, 0xffff // 1b30 + 1b00: 9360 ld.w r3, (r3, 0x0) + 1b02: b345 st.w r2, (r3, 0x14) + SYSCON->EFLCHK=SYSCON_EFLCHK_RST; + 1b04: 104c lrw r2, 0xffffff // 1b34 + 1b06: b346 st.w r2, (r3, 0x18) + SYSCON->SCLKCR=SYSCON_SCLKCR_RST; + 1b08: 104c lrw r2, 0xd22d0000 // 1b38 + 1b0a: b347 st.w r2, (r3, 0x1c) + SYSCON->OSTR=SYSCON_OSTR_RST; + 1b0c: 104c lrw r2, 0x70ff3bff // 1b3c + 1b0e: b350 st.w r2, (r3, 0x40) + SYSCON->LVDCR=SYSCON_LVDCR_RST; + 1b10: 320a movi r2, 10 + 1b12: b353 st.w r2, (r3, 0x4c) + SYSCON->IWDCR=SYSCON_IWDCR_RST; + 1b14: 102b lrw r1, 0x70c // 1b40 + SYSCON->EXIRT=SYSCON_EXIRT_RST; + 1b16: 237f addi r3, 128 + 1b18: 3200 movi r2, 0 + 1b1a: b345 st.w r2, (r3, 0x14) + SYSCON->EXIFT=SYSCON_EXIFT_RST; + 1b1c: b346 st.w r2, (r3, 0x18) + SYSCON->IWDCR=SYSCON_IWDCR_RST; + 1b1e: b32d st.w r1, (r3, 0x34) + SYSCON->IWDCNT=SYSCON_IWDCNT_RST; + 1b20: 1029 lrw r1, 0x3fe // 1b44 + 1b22: b32e st.w r1, (r3, 0x38) + SYSCON->EVTRG=SYSCON_EVTRG_RST; + 1b24: b35d st.w r2, (r3, 0x74) + SYSCON->EVPS=SYSCON_EVPS_RST; + 1b26: b35e st.w r2, (r3, 0x78) + SYSCON->EVSWF=SYSCON_EVSWF_RST; + 1b28: b35f st.w r2, (r3, 0x7c) +} + 1b2a: 783c jmp r15 + 1b2c: 2000005c .long 0x2000005c + 1b30: 0000ffff .long 0x0000ffff + 1b34: 00ffffff .long 0x00ffffff + 1b38: d22d0000 .long 0xd22d0000 + 1b3c: 70ff3bff .long 0x70ff3bff + 1b40: 0000070c .long 0x0000070c + 1b44: 000003fe .long 0x000003fe + +Disassembly of section .text.SYSCON_General_CMD: + +00001b48 : +{ + 1b48: 14d0 push r15 + if (NewState != DISABLE) + 1b4a: 3840 cmpnei r0, 0 + 1b4c: 0c05 bf 0x1b56 // 1b56 + 1b4e: 6c07 mov r0, r1 + 1b50: e3ffff9c bsr 0x1a88 // 1a88 +} + 1b54: 1490 pop r15 + SYSCON->GCDR|=ENDIS_X; //disable SYSCON General Control + 1b56: 1068 lrw r3, 0x2000005c // 1b74 + 1b58: 9360 ld.w r3, (r3, 0x0) + 1b5a: 9342 ld.w r2, (r3, 0x8) + 1b5c: 6c84 or r2, r1 + 1b5e: b342 st.w r2, (r3, 0x8) + while(SYSCON->GCSR&ENDIS_X); //check Disable? + 1b60: 9343 ld.w r2, (r3, 0xc) + 1b62: 6884 and r2, r1 + 1b64: 3a40 cmpnei r2, 0 + 1b66: 0bfd bt 0x1b60 // 1b60 + SYSCON->ICR|=ENDIS_X; //Clear ENDIS_X stable bit + 1b68: 237f addi r3, 128 + 1b6a: 9301 ld.w r0, (r3, 0x4) + 1b6c: 6c40 or r1, r0 + 1b6e: b321 st.w r1, (r3, 0x4) +} + 1b70: 07f2 br 0x1b54 // 1b54 + 1b72: 0000 bkpt + 1b74: 2000005c .long 0x2000005c + +Disassembly of section .text.SystemCLK_HCLKDIV_PCLKDIV_Config: + +00001b78 : +//SystemClk_data_x:EMOSC_24M,EMOSC_16M,EMOSC_12M,EMOSC_8M,EMOSC_4M,EMOSC_36K, +//ISOSC,IMOSC,HFOSC_48M,HFOSC_24M,HFOSC_12M,HFOSC_6M +//ReturnValue:NONE +/*************************************************************/ +void SystemCLK_HCLKDIV_PCLKDIV_Config(SystemCLK_TypeDef SYSCLK_X , SystemCLK_Div_TypeDef HCLK_DIV_X , PCLK_Div_TypeDef PCLK_DIV_X , SystemClk_data_TypeDef SystemClk_data_x ) +{ + 1b78: 14c2 push r4-r5 + if(SystemClk_data_x==HFOSC_48M) + 1b7a: 3b48 cmpnei r3, 8 + 1b7c: 0828 bt 0x1bcc // 1bcc + { + IFC->CEDR=0X01; //CLKEN + 1b7e: 109d lrw r4, 0x20000060 // 1bf0 + 1b80: 3501 movi r5, 1 + 1b82: 9480 ld.w r4, (r4, 0x0) + 1b84: b4a1 st.w r5, (r4, 0x4) + IFC->MR=0X04|(0X00<<16); //High speed mode + 1b86: 3504 movi r5, 4 + 1b88: b4a5 st.w r5, (r4, 0x14) + if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==HFOSC_24M)) + { + IFC->CEDR=0X01; //CLKEN + IFC->MR=0X02|(0X00<<16); //Medium speed mode + } + if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==EMOSC_16M)) + 1b8a: 5b83 subi r4, r3, 1 + 1b8c: 3c01 cmphsi r4, 2 + 1b8e: 0c2b bf 0x1be4 // 1be4 + { + IFC->CEDR=0X01; //CLKEN + IFC->MR=0X01|(0X00<<16); //Low speed mode + } + if((SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K) + ||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_6M)) + 1b90: 5b8b subi r4, r3, 3 + if((SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K) + 1b92: 3c04 cmphsi r4, 5 + 1b94: 0c03 bf 0x1b9a // 1b9a + ||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_6M)) + 1b96: 3b4b cmpnei r3, 11 + 1b98: 0807 bt 0x1ba6 // 1ba6 + { + IFC->CEDR=0X01; //CLKEN + 1b9a: 1076 lrw r3, 0x20000060 // 1bf0 + 1b9c: 3401 movi r4, 1 + 1b9e: 9360 ld.w r3, (r3, 0x0) + 1ba0: b381 st.w r4, (r3, 0x4) + IFC->MR=0X00|(0X00<<16); //Low speed mode + 1ba2: 3400 movi r4, 0 + 1ba4: b385 st.w r4, (r3, 0x14) + } + SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X; + 1ba6: 1094 lrw r4, 0xd22d0000 // 1bf4 + 1ba8: 6c10 or r0, r4 + 1baa: 1074 lrw r3, 0x2000005c // 1bf8 + 1bac: 6c40 or r1, r0 + 1bae: 9360 ld.w r3, (r3, 0x0) + while (!(SYSCON->CKST & (1<<8))); // waiting for sysclk stable + 1bb0: 3080 movi r0, 128 + SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X; + 1bb2: b327 st.w r1, (r3, 0x1c) + while (!(SYSCON->CKST & (1<<8))); // waiting for sysclk stable + 1bb4: 4001 lsli r0, r0, 1 + 1bb6: 9324 ld.w r1, (r3, 0x10) + 1bb8: 6840 and r1, r0 + 1bba: 3940 cmpnei r1, 0 + 1bbc: 0ffd bf 0x1bb6 // 1bb6 + SYSCON->PCLKCR=PCLK_KEY|PCLK_DIV_X; //PCLK DIV 1 2 4 6 8 16 + 1bbe: 1030 lrw r1, 0xc33c0000 // 1bfc + 1bc0: 6c48 or r1, r2 + 1bc2: b328 st.w r1, (r3, 0x20) + while(SYSCON->PCLKCR!=PCLK_DIV_X); //Wait PCLK DIV + 1bc4: 9328 ld.w r1, (r3, 0x20) + 1bc6: 644a cmpne r2, r1 + 1bc8: 0bfe bt 0x1bc4 // 1bc4 +} + 1bca: 1482 pop r4-r5 + if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==HFOSC_24M)) + 1bcc: 3b40 cmpnei r3, 0 + 1bce: 0c03 bf 0x1bd4 // 1bd4 + 1bd0: 3b49 cmpnei r3, 9 + 1bd2: 0807 bt 0x1be0 // 1be0 + IFC->CEDR=0X01; //CLKEN + 1bd4: 1087 lrw r4, 0x20000060 // 1bf0 + 1bd6: 3501 movi r5, 1 + 1bd8: 9480 ld.w r4, (r4, 0x0) + 1bda: b4a1 st.w r5, (r4, 0x4) + IFC->MR=0X02|(0X00<<16); //Medium speed mode + 1bdc: 3502 movi r5, 2 + 1bde: b4a5 st.w r5, (r4, 0x14) + if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==EMOSC_16M)) + 1be0: 3b4a cmpnei r3, 10 + 1be2: 0bd4 bt 0x1b8a // 1b8a + IFC->CEDR=0X01; //CLKEN + 1be4: 1083 lrw r4, 0x20000060 // 1bf0 + 1be6: 3501 movi r5, 1 + 1be8: 9480 ld.w r4, (r4, 0x0) + 1bea: b4a1 st.w r5, (r4, 0x4) + IFC->MR=0X01|(0X00<<16); //Low speed mode + 1bec: b4a5 st.w r5, (r4, 0x14) + 1bee: 07d1 br 0x1b90 // 1b90 + 1bf0: 20000060 .long 0x20000060 + 1bf4: d22d0000 .long 0xd22d0000 + 1bf8: 2000005c .long 0x2000005c + 1bfc: c33c0000 .long 0xc33c0000 + +Disassembly of section .text.SYSCON_HFOSC_SELECTE: + +00001c00 : +//EntryParameter:HFOSC_SELECTE_X +//HFOSC_SELECTE_X:HFOSC_SELECTE_48M,HFOSC_SELECTE_24M;HFOSC_SELECTE_12M;HFOSC_SELECTE_6M +//ReturnValue:NONE +/*************************************************************/ +void SYSCON_HFOSC_SELECTE(HFOSC_SELECTE_TypeDef HFOSC_SELECTE_X) +{ + 1c00: 14d1 push r4, r15 + 1c02: 6d03 mov r4, r0 + SYSCON_General_CMD(DISABLE,ENDIS_HFOSC); //disable HFOSC + 1c04: 3110 movi r1, 16 + 1c06: 3000 movi r0, 0 + 1c08: e3ffffa0 bsr 0x1b48 // 1b48 + SYSCON->OPT1 = (SYSCON->OPT1 & 0XFFFFFFCF)|HFOSC_SELECTE_X; + 1c0c: 1066 lrw r3, 0x2000005c // 1c24 + 1c0e: 9360 ld.w r3, (r3, 0x0) + 1c10: 9319 ld.w r0, (r3, 0x64) + 1c12: 3884 bclri r0, 4 + 1c14: 3885 bclri r0, 5 + 1c16: 6c10 or r0, r4 + 1c18: b319 st.w r0, (r3, 0x64) + 1c1a: 3010 movi r0, 16 + 1c1c: e3ffff36 bsr 0x1a88 // 1a88 + SYSCON_General_CMD(ENABLE,ENDIS_HFOSC); //enable HFOSC +} + 1c20: 1491 pop r4, r15 + 1c22: 0000 bkpt + 1c24: 2000005c .long 0x2000005c + +Disassembly of section .text.SYSCON_WDT_CMD: + +00001c28 : +//EntryParameter:,NewState +//NewState:ENABLE,DISABLE +//ReturnValue:NONE +/*************************************************************/ +void SYSCON_WDT_CMD(FunctionalStatus NewState) +{ + 1c28: 106c lrw r3, 0x2000005c // 1c58 + if(NewState != DISABLE) + 1c2a: 3840 cmpnei r0, 0 + { + SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT; + 1c2c: 9360 ld.w r3, (r3, 0x0) + 1c2e: 237f addi r3, 128 + if(NewState != DISABLE) + 1c30: 0c0a bf 0x1c44 // 1c44 + SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT; + 1c32: 104b lrw r2, 0x78870000 // 1c5c + while(!(SYSCON->IWDCR&Check_IWDT_BUSY)); + 1c34: 3180 movi r1, 128 + SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT; + 1c36: b34f st.w r2, (r3, 0x3c) + while(!(SYSCON->IWDCR&Check_IWDT_BUSY)); + 1c38: 4125 lsli r1, r1, 5 + 1c3a: 934d ld.w r2, (r3, 0x34) + 1c3c: 6884 and r2, r1 + 1c3e: 3a40 cmpnei r2, 0 + 1c40: 0ffd bf 0x1c3a // 1c3a + else + { + SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT; + while(SYSCON->IWDCR&Check_IWDT_BUSY); + } +} + 1c42: 783c jmp r15 + SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT; + 1c44: 1047 lrw r2, 0x788755aa // 1c60 + while(SYSCON->IWDCR&Check_IWDT_BUSY); + 1c46: 3180 movi r1, 128 + SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT; + 1c48: b34f st.w r2, (r3, 0x3c) + while(SYSCON->IWDCR&Check_IWDT_BUSY); + 1c4a: 4125 lsli r1, r1, 5 + 1c4c: 934d ld.w r2, (r3, 0x34) + 1c4e: 6884 and r2, r1 + 1c50: 3a40 cmpnei r2, 0 + 1c52: 0bfd bt 0x1c4c // 1c4c + 1c54: 07f7 br 0x1c42 // 1c42 + 1c56: 0000 bkpt + 1c58: 2000005c .long 0x2000005c + 1c5c: 78870000 .long 0x78870000 + 1c60: 788755aa .long 0x788755aa + +Disassembly of section .text.SYSCON_IWDCNT_Reload: + +00001c64 : +//EntryParameter:NONE +//ReturnValue: NONE +/*************************************************************/ +void SYSCON_IWDCNT_Reload(void) +{ + SYSCON->IWDCNT=CLR_IWDT; + 1c64: 1064 lrw r3, 0x2000005c // 1c74 + 1c66: 32b4 movi r2, 180 + 1c68: 9360 ld.w r3, (r3, 0x0) + 1c6a: 237f addi r3, 128 + 1c6c: 4257 lsli r2, r2, 23 + 1c6e: b34e st.w r2, (r3, 0x38) +} + 1c70: 783c jmp r15 + 1c72: 0000 bkpt + 1c74: 2000005c .long 0x2000005c + +Disassembly of section .text.SYSCON_IWDCNT_Config: + +00001c78 : +//IWDT_INTW_DIV_X:IWDT_INTW_DIV_1/2/3/4/4/5/6 +//ReturnValue: NONE +/*************************************************************/ +void SYSCON_IWDCNT_Config(IWDT_TIME_TypeDef IWDT_TIME_X , IWDT_TIMEDIV_TypeDef IWDT_INTW_DIV_X ) +{ + SYSCON->IWDCR=IWDT_KEY|IWDT_TIME_X|IWDT_INTW_DIV_X; + 1c78: 1044 lrw r2, 0x87780000 // 1c88 + 1c7a: 1065 lrw r3, 0x2000005c // 1c8c + 1c7c: 6c48 or r1, r2 + 1c7e: 9360 ld.w r3, (r3, 0x0) + 1c80: 6c04 or r0, r1 + 1c82: 237f addi r3, 128 + 1c84: b30d st.w r0, (r3, 0x34) +} + 1c86: 783c jmp r15 + 1c88: 87780000 .long 0x87780000 + 1c8c: 2000005c .long 0x2000005c + +Disassembly of section .text.SYSCON_LVD_Config: + +00001c90 : +//X_LVD_INT:ENABLE_LVD_INT,DISABLE_LVD_INT +//INTDET_POL_X:INTDET_POL_fall,INTDET_POL_X_rise,INTDET_POL_X_riseORfall +//ReturnValue: NONE +/*************************************************************/ +void SYSCON_LVD_Config(X_LVDEN_TypeDef X_LVDEN , INTDET_LVL_X_TypeDef INTDET_LVL_X , RSTDET_LVL_X_TypeDef RSTDET_LVL_X , X_LVD_INT_TypeDef X_LVD_INT , INTDET_POL_X_TypeDef INTDET_POL_X) +{ + 1c90: 14c3 push r4-r6 + 1c92: 9883 ld.w r4, (r14, 0xc) + //SYSCON->LVDCR=LVD_KEY; + SYSCON->LVDCR=LVD_KEY|X_LVDEN|INTDET_LVL_X|RSTDET_LVL_X|X_LVD_INT|INTDET_POL_X; + 1c94: 10c5 lrw r6, 0xb44b0000 // 1ca8 + 1c96: 6d18 or r4, r6 + 1c98: 6cd0 or r3, r4 + 1c9a: 6c8c or r2, r3 + 1c9c: 6c48 or r1, r2 + 1c9e: 10a4 lrw r5, 0x2000005c // 1cac + 1ca0: 6c04 or r0, r1 + 1ca2: 95a0 ld.w r5, (r5, 0x0) + 1ca4: b513 st.w r0, (r5, 0x4c) +} + 1ca6: 1483 pop r4-r6 + 1ca8: b44b0000 .long 0xb44b0000 + 1cac: 2000005c .long 0x2000005c + +Disassembly of section .text.LVD_Int_Enable: + +00001cb0 : +//EntryParameter:NONE +//ReturnValue: NONE +/*************************************************************/ +void LVD_Int_Enable(void) +{ + SYSCON->ICR = LVD_INT_ST; //clear LVD INT status + 1cb0: 1066 lrw r3, 0x2000005c // 1cc8 + 1cb2: 3180 movi r1, 128 + 1cb4: 9360 ld.w r3, (r3, 0x0) + 1cb6: 3280 movi r2, 128 + 1cb8: 604c addu r1, r3 + 1cba: 4244 lsli r2, r2, 4 + 1cbc: b141 st.w r2, (r1, 0x4) + SYSCON->IMER |= LVD_INT_ST; + 1cbe: 935d ld.w r2, (r3, 0x74) + 1cc0: 3aab bseti r2, 11 + 1cc2: b35d st.w r2, (r3, 0x74) +} + 1cc4: 783c jmp r15 + 1cc6: 0000 bkpt + 1cc8: 2000005c .long 0x2000005c + +Disassembly of section .text.IWDT_Int_Enable: + +00001ccc : +//EntryParameter:NONE +//ReturnValue: NONE +/*************************************************************/ +void IWDT_Int_Enable(void) +{ + SYSCON->ICR = IWDT_INT_ST; //clear LVD INT status + 1ccc: 1066 lrw r3, 0x2000005c // 1ce4 + 1cce: 3180 movi r1, 128 + 1cd0: 9360 ld.w r3, (r3, 0x0) + 1cd2: 3280 movi r2, 128 + 1cd4: 604c addu r1, r3 + 1cd6: 4241 lsli r2, r2, 1 + 1cd8: b141 st.w r2, (r1, 0x4) + SYSCON->IMER |= IWDT_INT_ST; + 1cda: 935d ld.w r2, (r3, 0x74) + 1cdc: 3aa8 bseti r2, 8 + 1cde: b35d st.w r2, (r3, 0x74) +} + 1ce0: 783c jmp r15 + 1ce2: 0000 bkpt + 1ce4: 2000005c .long 0x2000005c + +Disassembly of section .text.EXTI_trigger_CMD: + +00001ce8 : +//EXI_tringer_mode:_EXIRT,_EXIFT +//ReturnValue: LVD detection flag +/*************************************************************/ +void EXTI_trigger_CMD(FunctionalStatus NewState , SYSCON_EXIPIN_TypeDef EXIPIN , EXI_tringer_mode_TypeDef EXI_tringer_mode) +{ + switch(EXI_tringer_mode) + 1ce8: 3a40 cmpnei r2, 0 + 1cea: 0c04 bf 0x1cf2 // 1cf2 + 1cec: 3a41 cmpnei r2, 1 + 1cee: 0c0e bf 0x1d0a // 1d0a + { + SYSCON->EXIFT &=~EXIPIN; + } + break; + } +} + 1cf0: 783c jmp r15 + 1cf2: 106d lrw r3, 0x2000005c // 1d24 + if(NewState != DISABLE) + 1cf4: 3840 cmpnei r0, 0 + SYSCON->EXIRT |=EXIPIN; + 1cf6: 9360 ld.w r3, (r3, 0x0) + 1cf8: 237f addi r3, 128 + 1cfa: 9345 ld.w r2, (r3, 0x14) + if(NewState != DISABLE) + 1cfc: 0c04 bf 0x1d04 // 1d04 + SYSCON->EXIRT |=EXIPIN; + 1cfe: 6c48 or r1, r2 + 1d00: b325 st.w r1, (r3, 0x14) + 1d02: 07f7 br 0x1cf0 // 1cf0 + SYSCON->EXIRT &=~EXIPIN; + 1d04: 6885 andn r2, r1 + 1d06: b345 st.w r2, (r3, 0x14) + 1d08: 07f4 br 0x1cf0 // 1cf0 + 1d0a: 1067 lrw r3, 0x2000005c // 1d24 + if(NewState != DISABLE) + 1d0c: 3840 cmpnei r0, 0 + SYSCON->EXIFT |=EXIPIN; + 1d0e: 9360 ld.w r3, (r3, 0x0) + 1d10: 237f addi r3, 128 + 1d12: 9346 ld.w r2, (r3, 0x18) + if(NewState != DISABLE) + 1d14: 0c04 bf 0x1d1c // 1d1c + SYSCON->EXIFT |=EXIPIN; + 1d16: 6c48 or r1, r2 + 1d18: b326 st.w r1, (r3, 0x18) + 1d1a: 07eb br 0x1cf0 // 1cf0 + SYSCON->EXIFT &=~EXIPIN; + 1d1c: 6885 andn r2, r1 + 1d1e: b346 st.w r2, (r3, 0x18) +} + 1d20: 07e8 br 0x1cf0 // 1cf0 + 1d22: 0000 bkpt + 1d24: 2000005c .long 0x2000005c + +Disassembly of section .text.EXTI_interrupt_CMD: + +00001d28 : +//NewState:ENABLE,DISABLE +//ReturnValue:NONE +/*************************************************************/ +void EXTI_interrupt_CMD(FunctionalStatus NewState , SYSCON_EXIPIN_TypeDef EXIPIN) +{ + SYSCON->EXICR = 0X3FFF; //Claer EXI INT status + 1d28: 106b lrw r3, 0x2000005c // 1d54 + 1d2a: 104c lrw r2, 0x3fff // 1d58 + 1d2c: 9360 ld.w r3, (r3, 0x0) + 1d2e: 237f addi r3, 128 + if(NewState != DISABLE) + 1d30: 3840 cmpnei r0, 0 + SYSCON->EXICR = 0X3FFF; //Claer EXI INT status + 1d32: b34b st.w r2, (r3, 0x2c) + if(NewState != DISABLE) + 1d34: 0c0c bf 0x1d4c // 1d4c + { + SYSCON->EXIER|=EXIPIN; //EXI4 interrupt enable + 1d36: 9347 ld.w r2, (r3, 0x1c) + 1d38: 6c84 or r2, r1 + 1d3a: b347 st.w r2, (r3, 0x1c) + while(!(SYSCON->EXIMR&EXIPIN)); //Check EXI is enabled or not + 1d3c: 9349 ld.w r2, (r3, 0x24) + 1d3e: 6884 and r2, r1 + 1d40: 3a40 cmpnei r2, 0 + 1d42: 0ffd bf 0x1d3c // 1d3c + SYSCON->EXICR |=EXIPIN; // Clear EXI status bit + 1d44: 934b ld.w r2, (r3, 0x2c) + 1d46: 6c48 or r1, r2 + 1d48: b32b st.w r1, (r3, 0x2c) + } + else + { + SYSCON->EXIDR|=EXIPIN; + } +} + 1d4a: 783c jmp r15 + SYSCON->EXIDR|=EXIPIN; + 1d4c: 9348 ld.w r2, (r3, 0x20) + 1d4e: 6c48 or r1, r2 + 1d50: b328 st.w r1, (r3, 0x20) +} + 1d52: 07fc br 0x1d4a // 1d4a + 1d54: 2000005c .long 0x2000005c + 1d58: 00003fff .long 0x00003fff + +Disassembly of section .text.GPIO_EXTI_interrupt: + +00001d5c : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void GPIO_EXTI_interrupt(CSP_GPIO_T * GPIOX,U32_T GPIO_IECR_VALUE) +{ + GPIOX->IECR=GPIO_IECR_VALUE; + 1d5c: b02b st.w r1, (r0, 0x2c) +} + 1d5e: 783c jmp r15 + +Disassembly of section .text.EXI3_Int_Enable: + +00001d60 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI3_Int_Enable(void) +{ + INTC_ISER_WRITE(EXI3_INT); + 1d60: 3380 movi r3, 128 + 1d62: 436f lsli r3, r3, 15 + 1d64: 1042 lrw r2, 0xe000e100 // 1d6c + 1d66: b260 st.w r3, (r2, 0x0) +} + 1d68: 783c jmp r15 + 1d6a: 0000 bkpt + 1d6c: e000e100 .long 0xe000e100 + +Disassembly of section .text.SYSCON_Int_Enable: + +00001d70 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SYSCON_Int_Enable(void) +{ + INTC_ISER_WRITE(SYSCON_INT); + 1d70: 3202 movi r2, 2 + 1d72: 1062 lrw r3, 0xe000e100 // 1d78 + 1d74: b340 st.w r2, (r3, 0x0) +} + 1d76: 783c jmp r15 + 1d78: e000e100 .long 0xe000e100 + +Disassembly of section .text.SYSCON_Int_Disable: + +00001d7c : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SYSCON_Int_Disable(void) +{ + INTC_ICER_WRITE(SYSCON_INT); + 1d7c: 3202 movi r2, 2 + 1d7e: 1062 lrw r3, 0xe000e180 // 1d84 + 1d80: b340 st.w r2, (r3, 0x0) +} + 1d82: 783c jmp r15 + 1d84: e000e180 .long 0xe000e180 + +Disassembly of section .text.SYSCON_INT_Priority: + +00001d88 : +//80:Priority 2 +//C0:Priority 3 lowest +/*************************************************************/ +void SYSCON_INT_Priority(void) +{ + INTC_IPR0_WRITE(0XC0C0C0C0); //IQR0-3 low bit-->high bit + 1d88: 1066 lrw r3, 0xe000e400 // 1da0 + 1d8a: 1047 lrw r2, 0xc0c0c0c0 // 1da4 + INTC_IPR1_WRITE(0XC0C0C0C0); //IQR4-7 + INTC_IPR2_WRITE(0XC0C0C0C0); //IQR8-11 + INTC_IPR3_WRITE(0XC0C0C0C0); //IQR12-15 + INTC_IPR4_WRITE(0XC0C0C0C0); //IQR16-19 + INTC_IPR5_WRITE(0XC0C0C0C0); //IQR20-23 + INTC_IPR6_WRITE(0XC0C000C0); //IQR24-27 + 1d8c: 1027 lrw r1, 0xc0c000c0 // 1da8 + INTC_IPR0_WRITE(0XC0C0C0C0); //IQR0-3 low bit-->high bit + 1d8e: b340 st.w r2, (r3, 0x0) + INTC_IPR1_WRITE(0XC0C0C0C0); //IQR4-7 + 1d90: b341 st.w r2, (r3, 0x4) + INTC_IPR2_WRITE(0XC0C0C0C0); //IQR8-11 + 1d92: b342 st.w r2, (r3, 0x8) + INTC_IPR3_WRITE(0XC0C0C0C0); //IQR12-15 + 1d94: b343 st.w r2, (r3, 0xc) + INTC_IPR4_WRITE(0XC0C0C0C0); //IQR16-19 + 1d96: b344 st.w r2, (r3, 0x10) + INTC_IPR5_WRITE(0XC0C0C0C0); //IQR20-23 + 1d98: b345 st.w r2, (r3, 0x14) + INTC_IPR6_WRITE(0XC0C000C0); //IQR24-27 + 1d9a: b326 st.w r1, (r3, 0x18) + INTC_IPR7_WRITE(0XC0C0C0C0); //IQR28-31 + 1d9c: b347 st.w r2, (r3, 0x1c) +} + 1d9e: 783c jmp r15 + 1da0: e000e400 .long 0xe000e400 + 1da4: c0c0c0c0 .long 0xc0c0c0c0 + 1da8: c0c000c0 .long 0xc0c000c0 + +Disassembly of section .text.Set_INT_Priority: + +00001dac : +//int_name:CORET_IRQ~BT1_IRQ +//int_level:0~3 0=highest 3=lowest +//ReturnValue:None +/*************************************************************/ +void Set_INT_Priority(U8_T int_name,U8_T int_level) +{ + 1dac: 14c1 push r4 + 1dae: 4862 lsri r3, r0, 2 + 1db0: 4342 lsli r2, r3, 2 + 1db2: 106a lrw r3, 0x20000064 // 1dd8 + U8_T i_temp,j_temp; + U32_T k_temp; + i_temp=(int_name%4)*8; + 1db4: 3403 movi r4, 3 + 1db6: 9360 ld.w r3, (r3, 0x0) + 1db8: 60c8 addu r3, r2 + j_temp=int_name/4; + k_temp=CK801 -> IPR[j_temp]&(~(0xff< IPR[j_temp]&(~(0xff< IPR[j_temp]=k_temp|((int_level*0x40)<<(i_temp)); + 1dca: 4126 lsli r1, r1, 6 + k_temp=CK801 -> IPR[j_temp]&(~(0xff< IPR[j_temp]=k_temp|((int_level*0x40)<<(i_temp)); + 1dce: 7040 lsl r1, r0 + 1dd0: 6c48 or r1, r2 + 1dd2: b320 st.w r1, (r3, 0x0) +} + 1dd4: 1481 pop r4 + 1dd6: 0000 bkpt + 1dd8: 20000064 .long 0x20000064 + +Disassembly of section .text.GPIO_DeInit: + +00001ddc : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void GPIO_DeInit(void) +{ + GPIOA0->CONLR &= 0xFF000000; + 1ddc: 1075 lrw r3, 0x2000004c // 1e30 + GPIOA0->CONHR = GPIO_RESET_VALUE; + GPIOB0->CONLR = GPIO_RESET_VALUE; + 1dde: 1036 lrw r1, 0x20000048 // 1e34 + GPIOB0->CODR = GPIO_RESET_VALUE; + GPIOA0->ODSR = GPIO_RESET_VALUE; + GPIOB0->ODSR = GPIO_RESET_VALUE; + GPIOA0->PSDR = GPIO_RESET_VALUE; + GPIOB0->PSDR = GPIO_RESET_VALUE; + GPIOA0->FLTEN = 0xffff; + 1de0: 1016 lrw r0, 0xffff // 1e38 + GPIOA0->CONLR &= 0xFF000000; + 1de2: 9340 ld.w r2, (r3, 0x0) + 1de4: 9260 ld.w r3, (r2, 0x0) + 1de6: 4b78 lsri r3, r3, 24 + 1de8: 4378 lsli r3, r3, 24 + 1dea: b260 st.w r3, (r2, 0x0) + GPIOB0->CONLR = GPIO_RESET_VALUE; + 1dec: 9120 ld.w r1, (r1, 0x0) + GPIOA0->CONHR = GPIO_RESET_VALUE; + 1dee: 3300 movi r3, 0 + 1df0: b261 st.w r3, (r2, 0x4) + GPIOB0->CONLR = GPIO_RESET_VALUE; + 1df2: b160 st.w r3, (r1, 0x0) + GPIOB0->CONHR = GPIO_RESET_VALUE; + 1df4: b161 st.w r3, (r1, 0x4) + GPIOA0->WODR = GPIO_RESET_VALUE; + 1df6: b262 st.w r3, (r2, 0x8) + GPIOB0->WODR = GPIO_RESET_VALUE; + 1df8: b162 st.w r3, (r1, 0x8) + GPIOA0->SODR = GPIO_RESET_VALUE; + 1dfa: b263 st.w r3, (r2, 0xc) + GPIOB0->SODR = GPIO_RESET_VALUE; + 1dfc: b163 st.w r3, (r1, 0xc) + GPIOA0->CODR = GPIO_RESET_VALUE; + 1dfe: b264 st.w r3, (r2, 0x10) + GPIOB0->CODR = GPIO_RESET_VALUE; + 1e00: b164 st.w r3, (r1, 0x10) + GPIOA0->ODSR = GPIO_RESET_VALUE; + 1e02: b265 st.w r3, (r2, 0x14) + GPIOB0->ODSR = GPIO_RESET_VALUE; + 1e04: b165 st.w r3, (r1, 0x14) + GPIOA0->PSDR = GPIO_RESET_VALUE; + 1e06: b266 st.w r3, (r2, 0x18) + GPIOB0->PSDR = GPIO_RESET_VALUE; + 1e08: b166 st.w r3, (r1, 0x18) + GPIOA0->FLTEN = 0xffff; + 1e0a: b207 st.w r0, (r2, 0x1c) + GPIOB0->FLTEN = 0x3f; + 1e0c: 303f movi r0, 63 + 1e0e: b107 st.w r0, (r1, 0x1c) + GPIOA0->PUDR = GPIO_RESET_VALUE; + 1e10: b268 st.w r3, (r2, 0x20) + GPIOB0->PUDR = GPIO_RESET_VALUE; + 1e12: b168 st.w r3, (r1, 0x20) + GPIOA0->DSCR = GPIO_RESET_VALUE; + 1e14: b269 st.w r3, (r2, 0x24) + GPIOB0->DSCR = GPIO_RESET_VALUE; + 1e16: b169 st.w r3, (r1, 0x24) + GPIOA0->OMCR = GPIO_RESET_VALUE; + 1e18: b26a st.w r3, (r2, 0x28) + GPIOB0->OMCR = GPIO_RESET_VALUE; + 1e1a: b16a st.w r3, (r1, 0x28) + GPIOA0->IECR = GPIO_RESET_VALUE; + 1e1c: b26b st.w r3, (r2, 0x2c) + GPIOB0->IECR = GPIO_RESET_VALUE; + 1e1e: b16b st.w r3, (r1, 0x2c) + GPIOGRP->IGRPL = GPIO_RESET_VALUE; + 1e20: 1047 lrw r2, 0x20000044 // 1e3c + 1e22: 9240 ld.w r2, (r2, 0x0) + 1e24: b260 st.w r3, (r2, 0x0) + GPIOGRP->IGRPH = GPIO_RESET_VALUE; + 1e26: b261 st.w r3, (r2, 0x4) + GPIOGRP->IGREX = GPIO_RESET_VALUE; + 1e28: b262 st.w r3, (r2, 0x8) + GPIOGRP->IO_CLKEN = 0xf; + 1e2a: 330f movi r3, 15 + 1e2c: b263 st.w r3, (r2, 0xc) +} + 1e2e: 783c jmp r15 + 1e30: 2000004c .long 0x2000004c + 1e34: 20000048 .long 0x20000048 + 1e38: 0000ffff .long 0x0000ffff + 1e3c: 20000044 .long 0x20000044 + +Disassembly of section .text.GPIO_Init: + +00001e40 : +//byte:Lowbyte(PIN_0~7),Highbyte(PIN_8~15) +//Dir:0:output 1:input +//ReturnValue:NONE +/*************************************************************/ +void GPIO_Init(CSP_GPIO_T *GPIOx,uint8_t PinNum,GPIO_Dir_TypeDef Dir) +{ + 1e40: 14d1 push r4, r15 + uint32_t data_temp; + uint8_t GPIO_Pin; + if(PinNum<8) + 1e42: 3907 cmphsi r1, 8 +{ + 1e44: 6d03 mov r4, r0 + if(PinNum<8) + 1e46: 0830 bt 0x1ea6 // 1ea6 + { + switch (PinNum) + 1e48: 5903 subi r0, r1, 1 + 1e4a: 3806 cmphsi r0, 7 + 1e4c: 0827 bt 0x1e9a // 1e9a + 1e4e: e3fff757 bsr 0xcfc // cfc <___gnu_csky_case_uqi> + 1e52: 1004 .short 0x1004 + 1e54: 1d1a1613 .long 0x1d1a1613 + 1e58: 0021 .short 0x0021 + { + case 0:data_temp=0xfffffff0;GPIO_Pin=0;break; + case 1:data_temp=0xffffff0f;GPIO_Pin=4;break; + 1e5a: 3300 movi r3, 0 + 1e5c: 3104 movi r1, 4 + 1e5e: 2bf0 subi r3, 241 + case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break; + case 5:data_temp=0xff0fffff;GPIO_Pin=20;break; + case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break; + case 7:data_temp=0x0fffffff;GPIO_Pin=28;break; + } + if (Dir) + 1e60: 3a40 cmpnei r2, 0 + { + (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1< + (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1<CONLR = ((GPIOx)->CONLR & data_temp) | 2<CONHR = ((GPIOx)->CONHR & data_temp) | 2< + 1e76: 07f5 br 0x1e60 // 1e60 + case 3:data_temp=0xffff0fff;GPIO_Pin=12;break; + 1e78: 310c movi r1, 12 + 1e7a: 1166 lrw r3, 0xffff0fff // 1f10 + 1e7c: 07f2 br 0x1e60 // 1e60 + case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break; + 1e7e: 3110 movi r1, 16 + 1e80: 1165 lrw r3, 0xfff10000 // 1f14 + case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break; + 1e82: 2b00 subi r3, 1 + 1e84: 07ee br 0x1e60 // 1e60 + case 5:data_temp=0xff0fffff;GPIO_Pin=20;break; + 1e86: 3114 movi r1, 20 + 1e88: 1164 lrw r3, 0xff100000 // 1f18 + 1e8a: 07fc br 0x1e82 // 1e82 + case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break; + 1e8c: 33f1 movi r3, 241 + 1e8e: 3118 movi r1, 24 + 1e90: 4378 lsli r3, r3, 24 + 1e92: 07f8 br 0x1e82 // 1e82 + case 7:data_temp=0x0fffffff;GPIO_Pin=28;break; + 1e94: 311c movi r1, 28 + 1e96: 1162 lrw r3, 0xfffffff // 1f1c + 1e98: 07e4 br 0x1e60 // 1e60 + case 0:data_temp=0xfffffff0;GPIO_Pin=0;break; + 1e9a: 3300 movi r3, 0 + 1e9c: 3100 movi r1, 0 + 1e9e: 2b0f subi r3, 16 + 1ea0: 07e0 br 0x1e60 // 1e60 + (GPIOx)->CONLR = ((GPIOx)->CONLR & data_temp) | 2< + else if (PinNum<16) + 1ea6: 390f cmphsi r1, 16 + 1ea8: 0be4 bt 0x1e70 // 1e70 + switch (PinNum) + 1eaa: 2908 subi r1, 9 + 1eac: 3906 cmphsi r1, 7 + 1eae: 6c07 mov r0, r1 + 1eb0: 0827 bt 0x1efe // 1efe + 1eb2: e3fff725 bsr 0xcfc // cfc <___gnu_csky_case_uqi> + 1eb6: 1004 .short 0x1004 + 1eb8: 1d1a1613 .long 0x1d1a1613 + 1ebc: 0021 .short 0x0021 + case 9:data_temp=0xffffff0f;GPIO_Pin=4;break; + 1ebe: 3300 movi r3, 0 + 1ec0: 3104 movi r1, 4 + 1ec2: 2bf0 subi r3, 241 + if (Dir) + 1ec4: 3a40 cmpnei r2, 0 + (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1< + (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1<CONHR = ((GPIOx)->CONHR & data_temp) | 2< + case 10:data_temp=0xfffff0ff;GPIO_Pin=8;break; + 1ed6: 3108 movi r1, 8 + 1ed8: 106d lrw r3, 0xfffff0ff // 1f0c + 1eda: 07f5 br 0x1ec4 // 1ec4 + case 11:data_temp=0xffff0fff;GPIO_Pin=12;break; + 1edc: 310c movi r1, 12 + 1ede: 106d lrw r3, 0xffff0fff // 1f10 + 1ee0: 07f2 br 0x1ec4 // 1ec4 + case 12:data_temp=0xfff0ffff;GPIO_Pin=16;break; + 1ee2: 3110 movi r1, 16 + 1ee4: 106c lrw r3, 0xfff10000 // 1f14 + case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break; + 1ee6: 2b00 subi r3, 1 + 1ee8: 07ee br 0x1ec4 // 1ec4 + case 13:data_temp=0xff0fffff;GPIO_Pin=20;break; + 1eea: 3114 movi r1, 20 + 1eec: 106b lrw r3, 0xff100000 // 1f18 + 1eee: 07fc br 0x1ee6 // 1ee6 + case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break; + 1ef0: 33f1 movi r3, 241 + 1ef2: 3118 movi r1, 24 + 1ef4: 4378 lsli r3, r3, 24 + 1ef6: 07f8 br 0x1ee6 // 1ee6 + case 15:data_temp=0x0fffffff;GPIO_Pin=28;break; + 1ef8: 311c movi r1, 28 + 1efa: 1069 lrw r3, 0xfffffff // 1f1c + 1efc: 07e4 br 0x1ec4 // 1ec4 + case 8:data_temp=0xfffffff0;GPIO_Pin=0;break; + 1efe: 3300 movi r3, 0 + 1f00: 3100 movi r1, 0 + 1f02: 2b0f subi r3, 16 + 1f04: 07e0 br 0x1ec4 // 1ec4 + (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2< + 1f0a: 0000 bkpt + 1f0c: fffff0ff .long 0xfffff0ff + 1f10: ffff0fff .long 0xffff0fff + 1f14: fff10000 .long 0xfff10000 + 1f18: ff100000 .long 0xff100000 + 1f1c: 0fffffff .long 0x0fffffff + +Disassembly of section .text.GPIO_PullHigh_Init: + +00001f20 : +//bit:0~15 +//ReturnValue:VALUE +/*************************************************************/ +void GPIO_PullHigh_Init(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + (GPIOx)->PUDR = (((GPIOx)->PUDR) & ~(0x03<<(bit*2))) | (0x01<<(bit*2)); + 1f20: 4121 lsli r1, r1, 1 + 1f22: 3203 movi r2, 3 + 1f24: 9068 ld.w r3, (r0, 0x20) + 1f26: 7084 lsl r2, r1 + 1f28: 68c9 andn r3, r2 + 1f2a: 3201 movi r2, 1 + 1f2c: 7084 lsl r2, r1 + 1f2e: 6cc8 or r3, r2 + 1f30: b068 st.w r3, (r0, 0x20) +} + 1f32: 783c jmp r15 + +Disassembly of section .text.GPIO_DriveStrength_EN: + +00001f34 : +//bit:0~15 +//ReturnValue:VALUE +/*************************************************************/ +void GPIO_DriveStrength_EN(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + (GPIOx)->DSCR = ((GPIOx)->DSCR) | (0x01<<(bit*2)); + 1f34: 4121 lsli r1, r1, 1 + 1f36: 3301 movi r3, 1 + 1f38: 9049 ld.w r2, (r0, 0x24) + 1f3a: 70c4 lsl r3, r1 + 1f3c: 6cc8 or r3, r2 + 1f3e: b069 st.w r3, (r0, 0x24) +} + 1f40: 783c jmp r15 + +Disassembly of section .text.GPIO_IntGroup_Set: + +00001f44 : +//EXI16~EXI17:GPIOA0.0~GPIOA0.7 +//EXI18~EXI19:GPIOB0.0~GPIOB0.3 +//ReturnValue:NONE +/*************************************************************/ +void GPIO_IntGroup_Set(GPIO_Group_TypeDef IO_MODE , uint8_t PinNum , GPIO_EXIPIN_TypeDef Selete_EXI_x) +{ + 1f44: 14c1 push r4 + 1f46: 1422 subi r14, r14, 8 + volatile unsigned int R_data_temp; + volatile unsigned char R_GPIO_Pin; + if(Selete_EXI_x<16) + 1f48: 3a0f cmphsi r2, 16 + 1f4a: 084f bt 0x1fe8 // 1fe8 + { + if((Selete_EXI_x==0)||(Selete_EXI_x==8)) + 1f4c: 6ccb mov r3, r2 + 1f4e: 3b83 bclri r3, 3 + 1f50: 3b40 cmpnei r3, 0 + 1f52: 0813 bt 0x1f78 // 1f78 + { + R_data_temp=0xfffffff0; + 1f54: 2b0f subi r3, 16 + 1f56: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=0; + 1f58: 3300 movi r3, 0 + else if((Selete_EXI_x==7)||(Selete_EXI_x==15)) + { + R_data_temp=0x0fffffff; + R_GPIO_Pin=28; + } + if(Selete_EXI_x<8) + 1f5a: 3a07 cmphsi r2, 8 + R_GPIO_Pin=28; + 1f5c: dc6e0003 st.b r3, (r14, 0x3) + 1f60: 1176 lrw r3, 0x20000044 // 2038 + if(Selete_EXI_x<8) + 1f62: 0c38 bf 0x1fd2 // 1fd2 + { + GPIOGRP->IGRPL =(GPIOGRP->IGRPL & R_data_temp) | (IO_MODE<=8)) + { + GPIOGRP->IGRPH =(GPIOGRP->IGRPH & R_data_temp) | (IO_MODE< + else if((Selete_EXI_x==1)||(Selete_EXI_x==9)) + 1f78: 3b41 cmpnei r3, 1 + 1f7a: 0806 bt 0x1f86 // 1f86 + R_data_temp=0xffffff0f; + 1f7c: 3300 movi r3, 0 + 1f7e: 2bf0 subi r3, 241 + 1f80: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=4; + 1f82: 3304 movi r3, 4 + 1f84: 07eb br 0x1f5a // 1f5a + else if((Selete_EXI_x==2)||(Selete_EXI_x==10)) + 1f86: 3b42 cmpnei r3, 2 + 1f88: 0805 bt 0x1f92 // 1f92 + R_data_temp=0xfffff0ff; + 1f8a: 116d lrw r3, 0xfffff0ff // 203c + 1f8c: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=8; + 1f8e: 3308 movi r3, 8 + 1f90: 07e5 br 0x1f5a // 1f5a + else if((Selete_EXI_x==3)||(Selete_EXI_x==11)) + 1f92: 3b43 cmpnei r3, 3 + 1f94: 0805 bt 0x1f9e // 1f9e + R_data_temp=0xffff0fff; + 1f96: 116b lrw r3, 0xffff0fff // 2040 + 1f98: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=12; + 1f9a: 330c movi r3, 12 + 1f9c: 07df br 0x1f5a // 1f5a + else if((Selete_EXI_x==4)||(Selete_EXI_x==12)) + 1f9e: 3b44 cmpnei r3, 4 + 1fa0: 0806 bt 0x1fac // 1fac + R_data_temp=0xfff0ffff; + 1fa2: 1169 lrw r3, 0xfff10000 // 2044 + 1fa4: 2b00 subi r3, 1 + 1fa6: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=16; + 1fa8: 3310 movi r3, 16 + 1faa: 07d8 br 0x1f5a // 1f5a + else if((Selete_EXI_x==5)||(Selete_EXI_x==13)) + 1fac: 3b45 cmpnei r3, 5 + 1fae: 0806 bt 0x1fba // 1fba + R_data_temp=0xff0fffff; + 1fb0: 1166 lrw r3, 0xff100000 // 2048 + 1fb2: 2b00 subi r3, 1 + 1fb4: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=20; + 1fb6: 3314 movi r3, 20 + 1fb8: 07d1 br 0x1f5a // 1f5a + else if((Selete_EXI_x==6)||(Selete_EXI_x==14)) + 1fba: 3b46 cmpnei r3, 6 + 1fbc: 0807 bt 0x1fca // 1fca + R_data_temp=0xf0ffffff; + 1fbe: 33f1 movi r3, 241 + 1fc0: 4378 lsli r3, r3, 24 + 1fc2: 2b00 subi r3, 1 + 1fc4: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=24; + 1fc6: 3318 movi r3, 24 + 1fc8: 07c9 br 0x1f5a // 1f5a + R_data_temp=0x0fffffff; + 1fca: 1161 lrw r3, 0xfffffff // 204c + 1fcc: b861 st.w r3, (r14, 0x4) + R_GPIO_Pin=28; + 1fce: 331c movi r3, 28 + 1fd0: 07c5 br 0x1f5a // 1f5a + GPIOGRP->IGRPL =(GPIOGRP->IGRPL & R_data_temp) | (IO_MODE<IGREX=(GPIOGRP->IGREX)|(PinNum<<12); + } + } + } +} + 1fe4: 1402 addi r14, r14, 8 + 1fe6: 1481 pop r4 + else if(Selete_EXI_x<20) + 1fe8: 3a13 cmphsi r2, 20 + 1fea: 0bfd bt 0x1fe4 // 1fe4 + if((IO_MODE==0)&&((Selete_EXI_x==16)||((Selete_EXI_x==17)))) //PA0.0~PA0.7 + 1fec: 3840 cmpnei r0, 0 + 1fee: 0814 bt 0x2016 // 2016 + 1ff0: 3300 movi r3, 0 + 1ff2: 2b0f subi r3, 16 + 1ff4: 60c8 addu r3, r2 + 1ff6: 3b01 cmphsi r3, 2 + 1ff8: 0bf6 bt 0x1fe4 // 1fe4 + if(Selete_EXI_x==16) + 1ffa: 3a50 cmpnei r2, 16 + 1ffc: 106f lrw r3, 0x20000044 // 2038 + 1ffe: 0806 bt 0x200a // 200a + GPIOGRP->IGREX =(GPIOGRP->IGREX)|PinNum; + 2000: 9340 ld.w r2, (r3, 0x0) + 2002: 9262 ld.w r3, (r2, 0x8) + 2004: 6c4c or r1, r3 + 2006: b222 st.w r1, (r2, 0x8) + 2008: 07ee br 0x1fe4 // 1fe4 + GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<4); + 200a: 9360 ld.w r3, (r3, 0x0) + 200c: 9342 ld.w r2, (r3, 0x8) + 200e: 4124 lsli r1, r1, 4 + GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12); + 2010: 6c48 or r1, r2 + 2012: b322 st.w r1, (r3, 0x8) +} + 2014: 07e8 br 0x1fe4 // 1fe4 + else if((IO_MODE==2)&&((Selete_EXI_x==18)||(Selete_EXI_x==19))) //PB0.0~PB0.3 + 2016: 3842 cmpnei r0, 2 + 2018: 0be6 bt 0x1fe4 // 1fe4 + 201a: 3300 movi r3, 0 + 201c: 2b11 subi r3, 18 + 201e: 60c8 addu r3, r2 + 2020: 3b01 cmphsi r3, 2 + 2022: 0be1 bt 0x1fe4 // 1fe4 + 2024: 1065 lrw r3, 0x20000044 // 2038 + if(Selete_EXI_x==18) + 2026: 3a52 cmpnei r2, 18 + GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<8); + 2028: 9360 ld.w r3, (r3, 0x0) + 202a: 9342 ld.w r2, (r3, 0x8) + if(Selete_EXI_x==18) + 202c: 0803 bt 0x2032 // 2032 + GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<8); + 202e: 4128 lsli r1, r1, 8 + 2030: 07f0 br 0x2010 // 2010 + GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12); + 2032: 412c lsli r1, r1, 12 + 2034: 07ee br 0x2010 // 2010 + 2036: 0000 bkpt + 2038: 20000044 .long 0x20000044 + 203c: fffff0ff .long 0xfffff0ff + 2040: ffff0fff .long 0xffff0fff + 2044: fff10000 .long 0xfff10000 + 2048: ff100000 .long 0xff100000 + 204c: 0fffffff .long 0x0fffffff + +Disassembly of section .text.GPIOB0_EXI_Init: + +00002050 : + case 14:GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF) | 0X01000000;break; + case 15:GPIOA0->CONHR = (GPIOA0->CONHR&0X0FFFFFFF) | 0X10000000;break; + } +} +void GPIOB0_EXI_Init(GPIO_EXI_TypeDef EXI_IO) +{ + 2050: 14d0 push r15 + switch (EXI_IO) + 2052: 3805 cmphsi r0, 6 + 2054: 080d bt 0x206e // 206e + 2056: 1079 lrw r3, 0x20000048 // 20b8 + 2058: e3fff652 bsr 0xcfc // cfc <___gnu_csky_case_uqi> + 205c: 18100a03 .long 0x18100a03 + 2060: 261f .short 0x261f + { + case 0:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0) | 0X00000001;break; + 2062: 9340 ld.w r2, (r3, 0x0) + 2064: 9260 ld.w r3, (r2, 0x0) + 2066: 310f movi r1, 15 + 2068: 68c5 andn r3, r1 + 206a: 3ba0 bseti r3, 0 + case 1:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFF0F) | 0X00000010;break; + 206c: b260 st.w r3, (r2, 0x0) + case 3:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF) | 0X00001000;break; + case 4:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFF0FFFF) | 0X00010000;break; + case 5:GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF) | 0X00100000;break; + default:break; + } +} + 206e: 1490 pop r15 + case 1:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFF0F) | 0X00000010;break; + 2070: 9340 ld.w r2, (r3, 0x0) + 2072: 9260 ld.w r3, (r2, 0x0) + 2074: 31f0 movi r1, 240 + 2076: 68c5 andn r3, r1 + 2078: 3ba4 bseti r3, 4 + 207a: 07f9 br 0x206c // 206c + case 2:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF) | 0X00000100;break; + 207c: 9320 ld.w r1, (r3, 0x0) + 207e: 32f0 movi r2, 240 + 2080: 9160 ld.w r3, (r1, 0x0) + 2082: 4244 lsli r2, r2, 4 + 2084: 68c9 andn r3, r2 + 2086: 3ba8 bseti r3, 8 + case 5:GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF) | 0X00100000;break; + 2088: b160 st.w r3, (r1, 0x0) +} + 208a: 07f2 br 0x206e // 206e + case 3:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF) | 0X00001000;break; + 208c: 9320 ld.w r1, (r3, 0x0) + 208e: 32f0 movi r2, 240 + 2090: 9160 ld.w r3, (r1, 0x0) + 2092: 4248 lsli r2, r2, 8 + 2094: 68c9 andn r3, r2 + 2096: 3bac bseti r3, 12 + 2098: 07f8 br 0x2088 // 2088 + case 4:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFF0FFFF) | 0X00010000;break; + 209a: 9320 ld.w r1, (r3, 0x0) + 209c: 32f0 movi r2, 240 + 209e: 9160 ld.w r3, (r1, 0x0) + 20a0: 424c lsli r2, r2, 12 + 20a2: 68c9 andn r3, r2 + 20a4: 3bb0 bseti r3, 16 + 20a6: 07f1 br 0x2088 // 2088 + case 5:GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF) | 0X00100000;break; + 20a8: 9320 ld.w r1, (r3, 0x0) + 20aa: 32f0 movi r2, 240 + 20ac: 9160 ld.w r3, (r1, 0x0) + 20ae: 4250 lsli r2, r2, 16 + 20b0: 68c9 andn r3, r2 + 20b2: 3bb4 bseti r3, 20 + 20b4: 07ea br 0x2088 // 2088 + 20b6: 0000 bkpt + 20b8: 20000048 .long 0x20000048 + +Disassembly of section .text.GPIO_Write_High: + +000020bc : +//bit:0~15 +//ReturnValue:VALUE +/*************************************************************/ +void GPIO_Write_High(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + (GPIOx)->SODR = (1ul<: +void GPIO_Write_Low(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + (GPIOx)->CODR = (1ul<: +//ReturnValue:VALUE +/*************************************************************/ +void GPIO_Reverse(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + uint32_t dat = 0; + dat=((GPIOx)->ODSR>>bit)&1ul; + 20cc: 9045 ld.w r2, (r0, 0x14) + 20ce: 3301 movi r3, 1 + 20d0: 7085 lsr r2, r1 + 20d2: 688c and r2, r3 + { + if (dat==1) + 20d4: 3a40 cmpnei r2, 0 + 20d6: 70c4 lsl r3, r1 + 20d8: 0c03 bf 0x20de // 20de + { + (GPIOx)->CODR = (1ul<SODR = (1ul<SODR = (1ul< + +Disassembly of section .text.GPIO_Read_Status: + +000020e2 : +/*************************************************************/ +uint8_t GPIO_Read_Status(CSP_GPIO_T *GPIOx,uint8_t bit) +{ + uint8_t value = 0; + uint32_t dat = 0; + dat=((GPIOx)->PSDR)&(1<: +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void LPT_Soft_Reset(void) +{ + LPT->RSSR |= (0X5<<12); + 20f4: 1064 lrw r3, 0x20000014 // 2104 + 20f6: 9340 ld.w r2, (r3, 0x0) + 20f8: 9261 ld.w r3, (r2, 0x4) + 20fa: 3bac bseti r3, 12 + 20fc: 3bae bseti r3, 14 + 20fe: b261 st.w r3, (r2, 0x4) +} + 2100: 783c jmp r15 + 2102: 0000 bkpt + 2104: 20000014 .long 0x20000014 + +Disassembly of section .text.WWDT_CNT_Load: + +00002108 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void WWDT_CNT_Load(U8_T cnt_data) +{ + WWDT->CR |= cnt_data; //SET + 2108: 1063 lrw r3, 0x20000010 // 2114 + 210a: 9360 ld.w r3, (r3, 0x0) + 210c: 9340 ld.w r2, (r3, 0x0) + 210e: 6c08 or r0, r2 + 2110: b300 st.w r0, (r3, 0x0) +} + 2112: 783c jmp r15 + 2114: 20000010 .long 0x20000010 + +Disassembly of section .text.BT_DeInit: + +00002118 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT_DeInit(CSP_BT_T *BTx) +{ + BTx->RSSR=BT_RESET_VALUE; + 2118: 3300 movi r3, 0 + 211a: b060 st.w r3, (r0, 0x0) + BTx->CR=BT_RESET_VALUE; + 211c: b061 st.w r3, (r0, 0x4) + BTx->PSCR=BT_RESET_VALUE; + 211e: b062 st.w r3, (r0, 0x8) + BTx->PRDR=BT_RESET_VALUE; + 2120: b063 st.w r3, (r0, 0xc) + BTx->CMP=BT_RESET_VALUE; + 2122: b064 st.w r3, (r0, 0x10) + BTx->CNT=BT_RESET_VALUE; + 2124: b065 st.w r3, (r0, 0x14) + BTx->EVTRG=BT_RESET_VALUE; + 2126: b066 st.w r3, (r0, 0x18) + BTx->EVSWF=BT_RESET_VALUE; + 2128: b069 st.w r3, (r0, 0x24) + BTx->RISR=BT_RESET_VALUE; + 212a: b06a st.w r3, (r0, 0x28) + BTx->IMCR=BT_RESET_VALUE; + 212c: b06b st.w r3, (r0, 0x2c) + BTx->MISR=BT_RESET_VALUE; + 212e: b06c st.w r3, (r0, 0x30) + BTx->ICR=BT_RESET_VALUE; + 2130: b06d st.w r3, (r0, 0x34) +} + 2132: 783c jmp r15 + +Disassembly of section .text.BT_Start: + +00002134 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT_Start(CSP_BT_T *BTx) +{ + BTx->RSSR |=0X01; + 2134: 9060 ld.w r3, (r0, 0x0) + 2136: 3ba0 bseti r3, 0 + 2138: b060 st.w r3, (r0, 0x0) +} + 213a: 783c jmp r15 + +Disassembly of section .text.BT_Soft_Reset: + +0000213c : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT_Soft_Reset(CSP_BT_T *BTx) +{ + BTx->RSSR |= (0X5<<12); + 213c: 9060 ld.w r3, (r0, 0x0) + 213e: 3bac bseti r3, 12 + 2140: 3bae bseti r3, 14 + 2142: b060 st.w r3, (r0, 0x0) +} + 2144: 783c jmp r15 + +Disassembly of section .text.BT_Configure: + +00002146 : +//BT Configure +//EntryParameter: +//ReturnValue:NONE +/*************************************************************/ +void BT_Configure(CSP_BT_T *BTx,BT_CLK_TypeDef BTCLK,U16_T PSCR_DATA,BT_SHDWSTP_TypeDef BTSHDWSTP,BT_OPM_TypeDef BTOPM,BT_EXTCKM_TypeDef BTEXTCKM) +{ + 2146: 14c3 push r4-r6 + 2148: 98a4 ld.w r5, (r14, 0x10) + 214a: 6d97 mov r6, r5 + 214c: 9883 ld.w r4, (r14, 0xc) + BTx->CR |=BTCLK| BTSHDWSTP| BTOPM| BTEXTCKM; + 214e: 6d18 or r4, r6 + 2150: 6cd0 or r3, r4 + 2152: 90a1 ld.w r5, (r0, 0x4) + 2154: 6c4c or r1, r3 + 2156: 6c54 or r1, r5 + 2158: b021 st.w r1, (r0, 0x4) + BTx->PSCR = PSCR_DATA; + 215a: b042 st.w r2, (r0, 0x8) +} + 215c: 1483 pop r4-r6 + +Disassembly of section .text.BT_ControlSet_Configure: + +0000215e : +//EntryParameter: +//ReturnValue:NONE +/*************************************************************/ +void BT_ControlSet_Configure(CSP_BT_T *BTx,BT_STARTST_TypeDef BTSTART,BT_IDLEST_TypeDef BTIDLE,BT_SYNCEN_TypeDef BTSYNC,BT_SYNCMD_TypeDef BTSYNCMD, + BT_OSTMDX_TypeDef BTOSTMD,BT_AREARM_TypeDef BTAREARM,BT_CNTRLD_TypeDef BTCNTRLD) +{ + 215e: 14c4 push r4-r7 + 2160: 1421 subi r14, r14, 4 + 2162: 9885 ld.w r4, (r14, 0x14) + 2164: 6dd3 mov r7, r4 + 2166: 9886 ld.w r4, (r14, 0x18) + 2168: b880 st.w r4, (r14, 0x0) + 216a: 9887 ld.w r4, (r14, 0x1c) + 216c: 6d93 mov r6, r4 + 216e: 98a8 ld.w r5, (r14, 0x20) + BTx->CR |=BTSTART| BTIDLE| BTSYNC| BTSYNCMD| BTOSTMD| BTAREARM| BTCNTRLD; + 2170: 6d58 or r5, r6 + 2172: 98c0 ld.w r6, (r14, 0x0) + 2174: 6d58 or r5, r6 + 2176: 6d5c or r5, r7 + 2178: 6cd4 or r3, r5 + 217a: 6c8c or r2, r3 + 217c: 9081 ld.w r4, (r0, 0x4) + 217e: 6c48 or r1, r2 + 2180: 6d04 or r4, r1 + 2182: 6d9f mov r6, r7 + 2184: b081 st.w r4, (r0, 0x4) +} + 2186: 1401 addi r14, r14, 4 + 2188: 1484 pop r4-r7 + +Disassembly of section .text.BT_Period_CMP_Write: + +0000218a : +//ReturnValue:NONE +/*************************************************************/ +void BT_Period_CMP_Write(CSP_BT_T *BTx,U16_T BTPRDR_DATA,U16_T BTCMP_DATA) +{ + //BTx->CR|=0X01<<2; + BTx->PRDR =BTPRDR_DATA; + 218a: b023 st.w r1, (r0, 0xc) + BTx->CMP =BTCMP_DATA; + 218c: b044 st.w r2, (r0, 0x10) +} + 218e: 783c jmp r15 + +Disassembly of section .text.BT_ConfigInterrupt_CMD: + +00002190 : +//NewState:ENABLE,DISABLE +//ReturnValue:NONE +/*************************************************************/ +void BT_ConfigInterrupt_CMD(CSP_BT_T *BTx,FunctionalStatus NewState,BT_IMSCR_TypeDef BT_IMSCR_X) +{ + if (NewState != DISABLE) + 2190: 3940 cmpnei r1, 0 + { + BTx->IMCR |= BT_IMSCR_X; + 2192: 906b ld.w r3, (r0, 0x2c) + if (NewState != DISABLE) + 2194: 0c04 bf 0x219c // 219c + BTx->IMCR |= BT_IMSCR_X; + 2196: 6c8c or r2, r3 + 2198: b04b st.w r2, (r0, 0x2c) + } + else + { + BTx->IMCR &= ~BT_IMSCR_X; + } +} + 219a: 783c jmp r15 + BTx->IMCR &= ~BT_IMSCR_X; + 219c: 68c9 andn r3, r2 + 219e: b06b st.w r3, (r0, 0x2c) +} + 21a0: 07fd br 0x219a // 219a + +Disassembly of section .text.BT1_INT_ENABLE: + +000021a4 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT1_INT_ENABLE(void) +{ + INTC_ISER_WRITE(BT1_INT); + 21a4: 3380 movi r3, 128 + 21a6: 4376 lsli r3, r3, 22 + 21a8: 1042 lrw r2, 0xe000e100 // 21b0 + 21aa: b260 st.w r3, (r2, 0x0) +} + 21ac: 783c jmp r15 + 21ae: 0000 bkpt + 21b0: e000e100 .long 0xe000e100 + +Disassembly of section .text.UART0_DeInit: + +000021b4 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART0_DeInit(void) +{ + UART0->DATA = UART_RESET_VALUE; + 21b4: 1065 lrw r3, 0x20000040 // 21c8 + 21b6: 3200 movi r2, 0 + 21b8: 9360 ld.w r3, (r3, 0x0) + 21ba: b340 st.w r2, (r3, 0x0) + UART0->SR = UART_RESET_VALUE; + 21bc: b341 st.w r2, (r3, 0x4) + UART0->CTRL = UART_RESET_VALUE; + 21be: b342 st.w r2, (r3, 0x8) + UART0->ISR = UART_RESET_VALUE; + 21c0: b343 st.w r2, (r3, 0xc) + UART0->BRDIV =UART_RESET_VALUE; + 21c2: b344 st.w r2, (r3, 0x10) +} + 21c4: 783c jmp r15 + 21c6: 0000 bkpt + 21c8: 20000040 .long 0x20000040 + +Disassembly of section .text.UART1_DeInit: + +000021cc : +void UART1_DeInit(void) +{ + UART1->DATA = UART_RESET_VALUE; + 21cc: 1065 lrw r3, 0x2000003c // 21e0 + 21ce: 3200 movi r2, 0 + 21d0: 9360 ld.w r3, (r3, 0x0) + 21d2: b340 st.w r2, (r3, 0x0) + UART1->SR = UART_RESET_VALUE; + 21d4: b341 st.w r2, (r3, 0x4) + UART1->CTRL = UART_RESET_VALUE; + 21d6: b342 st.w r2, (r3, 0x8) + UART1->ISR = UART_RESET_VALUE; + 21d8: b343 st.w r2, (r3, 0xc) + UART1->BRDIV =UART_RESET_VALUE; + 21da: b344 st.w r2, (r3, 0x10) +} + 21dc: 783c jmp r15 + 21de: 0000 bkpt + 21e0: 2000003c .long 0x2000003c + +Disassembly of section .text.UART2_DeInit: + +000021e4 : +void UART2_DeInit(void) +{ + UART2->DATA = UART_RESET_VALUE; + 21e4: 1065 lrw r3, 0x20000038 // 21f8 + 21e6: 3200 movi r2, 0 + 21e8: 9360 ld.w r3, (r3, 0x0) + 21ea: b340 st.w r2, (r3, 0x0) + UART2->SR = UART_RESET_VALUE; + 21ec: b341 st.w r2, (r3, 0x4) + UART2->CTRL = UART_RESET_VALUE; + 21ee: b342 st.w r2, (r3, 0x8) + UART2->ISR = UART_RESET_VALUE; + 21f0: b343 st.w r2, (r3, 0xc) + UART2->BRDIV =UART_RESET_VALUE; + 21f2: b344 st.w r2, (r3, 0x10) +} + 21f4: 783c jmp r15 + 21f6: 0000 bkpt + 21f8: 20000038 .long 0x20000038 + +Disassembly of section .text.UART1_Int_Enable: + +000021fc : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART1_Int_Enable(void) +{ + UART1->ISR=0x0F; //clear UART1 INT status + 21fc: 1065 lrw r3, 0x2000003c // 2210 + 21fe: 320f movi r2, 15 + 2200: 9360 ld.w r3, (r3, 0x0) + 2202: b343 st.w r2, (r3, 0xc) + INTC_ISER_WRITE(UART1_INT); //INT Vector Enable UART0/1 Interrupt in CK802 + 2204: 3380 movi r3, 128 + 2206: 4367 lsli r3, r3, 7 + 2208: 1043 lrw r2, 0xe000e100 // 2214 + 220a: b260 st.w r3, (r2, 0x0) +} + 220c: 783c jmp r15 + 220e: 0000 bkpt + 2210: 2000003c .long 0x2000003c + 2214: e000e100 .long 0xe000e100 + +Disassembly of section .text.UART2_Int_Enable: + +00002218 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART2_Int_Enable(void) +{ + UART2->ISR=0x0F; //clear UART1 INT status + 2218: 1065 lrw r3, 0x20000038 // 222c + 221a: 320f movi r2, 15 + 221c: 9360 ld.w r3, (r3, 0x0) + 221e: b343 st.w r2, (r3, 0xc) + INTC_ISER_WRITE(UART2_INT); //INT Vector Enable UART0/1 Interrupt in CK802 + 2220: 3380 movi r3, 128 + 2222: 4368 lsli r3, r3, 8 + 2224: 1043 lrw r2, 0xe000e100 // 2230 + 2226: b260 st.w r3, (r2, 0x0) +} + 2228: 783c jmp r15 + 222a: 0000 bkpt + 222c: 20000038 .long 0x20000038 + 2230: e000e100 .long 0xe000e100 + +Disassembly of section .text.UART_IO_Init: + +00002234 : +//UART_IO_G:0 1 +//ReturnValue:NONE +/*************************************************************/ +void UART_IO_Init(UART_NUM_TypeDef IO_UART_NUM , U8_T UART_IO_G) +{ + if (IO_UART_NUM==IO_UART0) + 2234: 3840 cmpnei r0, 0 + 2236: 0821 bt 0x2278 // 2278 + { + if(UART_IO_G==0) + 2238: 3940 cmpnei r1, 0 + 223a: 080a bt 0x224e // 224e + { + GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00) | 0x00000044; //PA0.1->RXD0, PA0.0->TXD0 + 223c: 1177 lrw r3, 0x2000004c // 2318 + 223e: 31ff movi r1, 255 + 2240: 9340 ld.w r2, (r3, 0x0) + 2242: 9260 ld.w r3, (r2, 0x0) + 2244: 68c5 andn r3, r1 + 2246: 3ba2 bseti r3, 2 + 2248: 3ba6 bseti r3, 6 + } + if (IO_UART_NUM==IO_UART2) + { + if(UART_IO_G==0) + { + GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00) | 0x00000077; //PA0.0->RXD2, PA0.1->TXD2 + 224a: b260 st.w r3, (r2, 0x0) + 224c: 0415 br 0x2276 // 2276 + else if(UART_IO_G==1) + 224e: 3941 cmpnei r1, 1 + 2250: 0813 bt 0x2276 // 2276 + GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF) | 0x00700000; //PA0.5->RXD0, PA0.12->TXD0 + 2252: 1172 lrw r3, 0x2000004c // 2318 + 2254: 31f0 movi r1, 240 + 2256: 9340 ld.w r2, (r3, 0x0) + 2258: 9260 ld.w r3, (r2, 0x0) + 225a: 4130 lsli r1, r1, 16 + 225c: 68c5 andn r3, r1 + 225e: 31e0 movi r1, 224 + 2260: 412f lsli r1, r1, 15 + 2262: 6cc4 or r3, r1 + 2264: b260 st.w r3, (r2, 0x0) + GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF) | 0x00070000; + 2266: 31f0 movi r1, 240 + 2268: 9261 ld.w r3, (r2, 0x4) + 226a: 412c lsli r1, r1, 12 + 226c: 68c5 andn r3, r1 + 226e: 31e0 movi r1, 224 + 2270: 412b lsli r1, r1, 11 + 2272: 6cc4 or r3, r1 + 2274: b261 st.w r3, (r2, 0x4) + else if(UART_IO_G==2) + { + GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000; //PB0.5->RXD2, PB0.4->TXD2 + } + } +} + 2276: 783c jmp r15 + if (IO_UART_NUM==IO_UART1) + 2278: 3841 cmpnei r0, 1 + 227a: 082d bt 0x22d4 // 22d4 + if(UART_IO_G==0) + 227c: 3940 cmpnei r1, 0 + 227e: 0814 bt 0x22a6 // 22a6 + GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0) | 0x00000007; //PA0.13->RXD1, PB0.0->TXD1 + 2280: 1167 lrw r3, 0x20000048 // 231c + 2282: 310f movi r1, 15 + 2284: 9340 ld.w r2, (r3, 0x0) + 2286: 9260 ld.w r3, (r2, 0x0) + 2288: 68c5 andn r3, r1 + 228a: 3107 movi r1, 7 + 228c: 6cc4 or r3, r1 + 228e: b260 st.w r3, (r2, 0x0) + GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF) | 0x00700000; + 2290: 32f0 movi r2, 240 + 2292: 1162 lrw r3, 0x2000004c // 2318 + 2294: 4250 lsli r2, r2, 16 + 2296: 9320 ld.w r1, (r3, 0x0) + 2298: 9161 ld.w r3, (r1, 0x4) + 229a: 68c9 andn r3, r2 + 229c: 32e0 movi r2, 224 + 229e: 424f lsli r2, r2, 15 + GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000; //PA0.15->RXD1, PA0.14->TXD1 + 22a0: 6cc8 or r3, r2 + 22a2: b161 st.w r3, (r1, 0x4) + 22a4: 07e9 br 0x2276 // 2276 + else if(UART_IO_G==1) + 22a6: 3941 cmpnei r1, 1 + 22a8: 080c bt 0x22c0 // 22c0 + GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF00FFF) | 0X00077000; //PA0.4->RXD1, PA0.3->TXD1 + 22aa: 107c lrw r3, 0x2000004c // 2318 + 22ac: 32ff movi r2, 255 + 22ae: 9320 ld.w r1, (r3, 0x0) + 22b0: 424c lsli r2, r2, 12 + 22b2: 9160 ld.w r3, (r1, 0x0) + 22b4: 68c9 andn r3, r2 + 22b6: 32ee movi r2, 238 + 22b8: 424b lsli r2, r2, 11 + GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000; //PB0.5->RXD2, PB0.4->TXD2 + 22ba: 6cc8 or r3, r2 + 22bc: b160 st.w r3, (r1, 0x0) +} + 22be: 07dc br 0x2276 // 2276 + else if(UART_IO_G==2) + 22c0: 3942 cmpnei r1, 2 + 22c2: 0bda bt 0x2276 // 2276 + GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000; //PA0.15->RXD1, PA0.14->TXD1 + 22c4: 1075 lrw r3, 0x2000004c // 2318 + 22c6: 32ee movi r2, 238 + 22c8: 9320 ld.w r1, (r3, 0x0) + 22ca: 9161 ld.w r3, (r1, 0x4) + 22cc: 4368 lsli r3, r3, 8 + 22ce: 4b68 lsri r3, r3, 8 + 22d0: 4257 lsli r2, r2, 23 + 22d2: 07e7 br 0x22a0 // 22a0 + if (IO_UART_NUM==IO_UART2) + 22d4: 3842 cmpnei r0, 2 + 22d6: 0bd0 bt 0x2276 // 2276 + if(UART_IO_G==0) + 22d8: 3940 cmpnei r1, 0 + 22da: 0809 bt 0x22ec // 22ec + GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00) | 0x00000077; //PA0.0->RXD2, PA0.1->TXD2 + 22dc: 106f lrw r3, 0x2000004c // 2318 + 22de: 31ff movi r1, 255 + 22e0: 9340 ld.w r2, (r3, 0x0) + 22e2: 9260 ld.w r3, (r2, 0x0) + 22e4: 68c5 andn r3, r1 + 22e6: 3177 movi r1, 119 + 22e8: 6cc4 or r3, r1 + 22ea: 07b0 br 0x224a // 224a + else if(UART_IO_G==1) + 22ec: 3941 cmpnei r1, 1 + 22ee: 0809 bt 0x2300 // 2300 + GPIOA0->CONLR = (GPIOA0->CONLR&0X00FFFFFF) | 0X77000000; //PA0.7->RXD2, PA0.6->TXD2 + 22f0: 106a lrw r3, 0x2000004c // 2318 + 22f2: 32ee movi r2, 238 + 22f4: 9320 ld.w r1, (r3, 0x0) + 22f6: 9160 ld.w r3, (r1, 0x0) + 22f8: 4368 lsli r3, r3, 8 + 22fa: 4b68 lsri r3, r3, 8 + 22fc: 4257 lsli r2, r2, 23 + 22fe: 07de br 0x22ba // 22ba + else if(UART_IO_G==2) + 2300: 3942 cmpnei r1, 2 + 2302: 0bba bt 0x2276 // 2276 + GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000; //PB0.5->RXD2, PB0.4->TXD2 + 2304: 1066 lrw r3, 0x20000048 // 231c + 2306: 32ff movi r2, 255 + 2308: 9320 ld.w r1, (r3, 0x0) + 230a: 4250 lsli r2, r2, 16 + 230c: 9160 ld.w r3, (r1, 0x0) + 230e: 68c9 andn r3, r2 + 2310: 32cc movi r2, 204 + 2312: 424f lsli r2, r2, 15 + 2314: 07d3 br 0x22ba // 22ba + 2316: 0000 bkpt + 2318: 2000004c .long 0x2000004c + 231c: 20000048 .long 0x20000048 + +Disassembly of section .text.UARTInitRxTxIntEn: + +00002320 : +//ReturnValue:NONE +/*************************************************************/ +void UARTInitRxTxIntEn(CSP_UART_T *uart,U16_T baudrate_u16,UART_PAR_TypeDef PAR_DAT) +{ + // Set Transmitter Enable + CSP_UART_SET_CTRL(uart, UART_TX | UART_RX | UART_RX_INT | UART_TX_INT | PAR_DAT | UART_TX_DONE_INT); + 2320: 1063 lrw r3, 0x8000f // 232c + 2322: 6c8c or r2, r3 + 2324: b042 st.w r2, (r0, 0x8) + // Set Baudrate + CSP_UART_SET_BRDIV(uart, baudrate_u16); + 2326: b024 st.w r1, (r0, 0x10) +} + 2328: 783c jmp r15 + 232a: 0000 bkpt + 232c: 0008000f .long 0x0008000f + +Disassembly of section .text.UARTTransmit: + +00002330 : +//UART Transmit +//EntryParameter:UART0,UART1,UART2,sourceAddress_u16,length_u16 +//ReturnValue:NONE +/*************************************************************/ +void UARTTransmit(CSP_UART_T *uart,U8_T *sourceAddress_u16,U16_T length_u16) +{ + 2330: 14c2 push r4-r5 + unsigned int DataI,DataJ; + for(DataJ = 0;DataJ < length_u16 ;DataJ ++) + 2332: 6cc7 mov r3, r1 + { + CSP_UART_SET_DATA(uart,*sourceAddress_u16++); + do{ + DataI = CSP_UART_GET_SR(uart); + DataI = DataI & UART_TX_FULL; + 2334: 3501 movi r5, 1 + for(DataJ = 0;DataJ < length_u16 ;DataJ ++) + 2336: 5b85 subu r4, r3, r1 + 2338: 6490 cmphs r4, r2 + 233a: 0c02 bf 0x233e // 233e + }while(DataI == UART_TX_FULL); //Loop when tx is full + } +} + 233c: 1482 pop r4-r5 + CSP_UART_SET_DATA(uart,*sourceAddress_u16++); + 233e: 8380 ld.b r4, (r3, 0x0) + 2340: b080 st.w r4, (r0, 0x0) + DataI = CSP_UART_GET_SR(uart); + 2342: 9081 ld.w r4, (r0, 0x4) + DataI = DataI & UART_TX_FULL; + 2344: 6914 and r4, r5 + }while(DataI == UART_TX_FULL); //Loop when tx is full + 2346: 3c40 cmpnei r4, 0 + 2348: 0bfd bt 0x2342 // 2342 + 234a: 2300 addi r3, 1 + 234c: 07f5 br 0x2336 // 2336 + +Disassembly of section .text.EPT_Stop: + +00002350 : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EPT_Stop(void) +{ + EPT0->REGPROT = (0xA55A<<16) | 0xC73A; + 2350: 1068 lrw r3, 0x20000020 // 2370 + 2352: 3280 movi r2, 128 + 2354: 9360 ld.w r3, (r3, 0x0) + 2356: 608c addu r2, r3 + 2358: 1027 lrw r1, 0xa55ac73a // 2374 + 235a: b23a st.w r1, (r2, 0x68) + EPT0->RSSR&=0Xfe; + 235c: 9341 ld.w r2, (r3, 0x4) + 235e: 31fe movi r1, 254 + 2360: 6884 and r2, r1 + 2362: b341 st.w r2, (r3, 0x4) + while(EPT0->RSSR&0x01); + 2364: 3101 movi r1, 1 + 2366: 9341 ld.w r2, (r3, 0x4) + 2368: 6884 and r2, r1 + 236a: 3a40 cmpnei r2, 0 + 236c: 0bfd bt 0x2366 // 2366 +} + 236e: 783c jmp r15 + 2370: 20000020 .long 0x20000020 + 2374: a55ac73a .long 0xa55ac73a + +Disassembly of section .text.ReadDataArry_U8: + +00002378 : +//ReadFlashData fuction return Data arry save in Flash +//EntryParameter:RdStartAdd、DataLength、*DataArryPoint +//ReturnValue:NONE +*************************************************************/ +void ReadDataArry_U8(unsigned int RdStartAdd,unsigned int DataLength,volatile unsigned char *DataArryPoint) +{ + 2378: 14c3 push r4-r6 + unsigned int i; + for (i=0;i + RdStartAdd +=4; + } + *DataArryPoint=*(U8_T *)(RdStartAdd+ (i%4)); + DataArryPoint++; + } +} + 2384: 1483 pop r4-r6 + if((i!=0)&&(i%4==0)) + 2386: 3b40 cmpnei r3, 0 + 2388: 0c06 bf 0x2394 // 2394 + 238a: 6d0f mov r4, r3 + 238c: 6914 and r4, r5 + 238e: 3c40 cmpnei r4, 0 + 2390: 0802 bt 0x2394 // 2394 + RdStartAdd +=4; + 2392: 2003 addi r0, 4 + *DataArryPoint=*(U8_T *)(RdStartAdd+ (i%4)); + 2394: 6d0f mov r4, r3 + 2396: 6914 and r4, r5 + 2398: 6100 addu r4, r0 + 239a: 8480 ld.b r4, (r4, 0x0) + 239c: a680 st.b r4, (r6, 0x0) + for (i=0;i + +Disassembly of section .text.startup.main: + +000023a4
: +volatile unsigned int Sav_Temp = 0; +/***************************************************/ +//main +/**************************************************/ +int main(void) +{ + 23a4: 14d0 push r15 +// delay_nms(20000); + APT32F102_init(); //102 initial + 23a6: e00000a3 bsr 0x24ec // 24ec + + Dbg_Println(DBG_BIT_SYS_STATUS,"MCU Start! %d",g_Dip.DIP_addr); + 23aa: 106a lrw r3, 0x20000444 // 23d0 + 23ac: 8346 ld.b r2, (r3, 0x6) + 23ae: 102a lrw r1, 0x5670 // 23d4 + 23b0: 3000 movi r0, 0 + 23b2: e0000933 bsr 0x3618 // 3618 + + while(1) + { + SYSCON_IWDCNT_Reload(); //IWDT Clear + 23b6: e3fffc57 bsr 0x1c64 // 1c64 + + UART1_TASK(); + 23ba: e0000711 bsr 0x31dc // 31dc + + UART2_TASK(); + 23be: e0000767 bsr 0x328c // 328c + + DIP_ScanTask(); + 23c2: e0000cdf bsr 0x3d80 // 3d80 + + TemCtrl_Pro(); + 23c6: e0000ac9 bsr 0x3958 // 3958 + + BUS485Send_Task(); + 23ca: e00008bf bsr 0x3548 // 3548 + 23ce: 07f4 br 0x23b6 // 23b6 + 23d0: 20000444 .long 0x20000444 + 23d4: 00005670 .long 0x00005670 + +Disassembly of section .text.delay_nms: + +000023d8 : +//software delay +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void delay_nms(unsigned int t) +{ + 23d8: 14d0 push r15 + 23da: 1423 subi r14, r14, 12 + volatile unsigned int i,j ,k=0; + j = 50* t; + 23dc: 3232 movi r2, 50 + volatile unsigned int i,j ,k=0; + 23de: 3300 movi r3, 0 + j = 50* t; + 23e0: 7c08 mult r0, r2 + volatile unsigned int i,j ,k=0; + 23e2: b862 st.w r3, (r14, 0x8) + j = 50* t; + 23e4: b801 st.w r0, (r14, 0x4) + for ( i = 0; i < j; i++ ) + 23e6: b860 st.w r3, (r14, 0x0) + 23e8: 9840 ld.w r2, (r14, 0x0) + 23ea: 9861 ld.w r3, (r14, 0x4) + 23ec: 64c8 cmphs r2, r3 + 23ee: 0c03 bf 0x23f4 // 23f4 + { + k++; + SYSCON_IWDCNT_Reload(); + } +} + 23f0: 1403 addi r14, r14, 12 + 23f2: 1490 pop r15 + k++; + 23f4: 9862 ld.w r3, (r14, 0x8) + 23f6: 2300 addi r3, 1 + 23f8: b862 st.w r3, (r14, 0x8) + SYSCON_IWDCNT_Reload(); + 23fa: e3fffc35 bsr 0x1c64 // 1c64 + for ( i = 0; i < j; i++ ) + 23fe: 9860 ld.w r3, (r14, 0x0) + 2400: 2300 addi r3, 1 + 2402: 07f2 br 0x23e6 // 23e6 + +Disassembly of section .text.delay_nus: + +00002404 : +void delay_nus(unsigned int t) +{ + 2404: 1423 subi r14, r14, 12 + volatile unsigned int i,j ,k=0; + 2406: 3300 movi r3, 0 + 2408: b862 st.w r3, (r14, 0x8) + j = 1* t; + 240a: b801 st.w r0, (r14, 0x4) + for ( i = 0; i < j; i++ ) + 240c: b860 st.w r3, (r14, 0x0) + 240e: 9840 ld.w r2, (r14, 0x0) + 2410: 9861 ld.w r3, (r14, 0x4) + 2412: 64c8 cmphs r2, r3 + 2414: 0c03 bf 0x241a // 241a + { + k++; + } +} + 2416: 1403 addi r14, r14, 12 + 2418: 783c jmp r15 + k++; + 241a: 9862 ld.w r3, (r14, 0x8) + 241c: 2300 addi r3, 1 + 241e: b862 st.w r3, (r14, 0x8) + for ( i = 0; i < j; i++ ) + 2420: 9860 ld.w r3, (r14, 0x0) + 2422: 2300 addi r3, 1 + 2424: 07f4 br 0x240c // 240c + +Disassembly of section .text.BT_CONFIG: + +00002428 : +//BT Initial +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT_CONFIG(void) +{ + 2428: 14d2 push r4-r5, r15 + 242a: 1424 subi r14, r14, 16 +// BT_ConfigInterrupt_CMD(BT0,ENABLE,BT_PEND); +// BT0_INT_ENABLE(); + + + //100us 定时器初始化 + BT_DeInit(BT1); + 242c: 1095 lrw r4, 0x20000008 // 2480 + BT_Configure(BT1,BTCLK_EN,0,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV); + 242e: 3500 movi r5, 0 + BT_DeInit(BT1); + 2430: 9400 ld.w r0, (r4, 0x0) + 2432: e3fffe73 bsr 0x2118 // 2118 + BT_Configure(BT1,BTCLK_EN,0,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV); + 2436: 9400 ld.w r0, (r4, 0x0) + 2438: b8a1 st.w r5, (r14, 0x4) + 243a: b8a0 st.w r5, (r14, 0x0) + 243c: 3308 movi r3, 8 + 243e: 3200 movi r2, 0 + 2440: 3101 movi r1, 1 + 2442: e3fffe82 bsr 0x2146 // 2146 + BT_ControlSet_Configure(BT1,BT_START_HIGH,BT_IDLE_LOW,BT_SYNC_DIS,BT_SYNCMD_DIS,BT_OSTMDX_ONCE,BT_AREARM_DIS,BT_CNTRLD_EN); + 2446: 3380 movi r3, 128 + 2448: 4363 lsli r3, r3, 3 + 244a: b861 st.w r3, (r14, 0x4) + 244c: 9400 ld.w r0, (r4, 0x0) + 244e: 3300 movi r3, 0 + 2450: b8a3 st.w r5, (r14, 0xc) + 2452: b8a2 st.w r5, (r14, 0x8) + 2454: b8a0 st.w r5, (r14, 0x0) + 2456: 3200 movi r2, 0 + 2458: 3180 movi r1, 128 + 245a: e3fffe82 bsr 0x215e // 215e + BT_Period_CMP_Write(BT1,4780,1); + 245e: 3201 movi r2, 1 + 2460: 1029 lrw r1, 0x12ac // 2484 + 2462: 9400 ld.w r0, (r4, 0x0) + 2464: e3fffe93 bsr 0x218a // 218a + BT_Start(BT1); + 2468: 9400 ld.w r0, (r4, 0x0) + 246a: e3fffe65 bsr 0x2134 // 2134 + BT_ConfigInterrupt_CMD(BT1,ENABLE,BT_CMP); + 246e: 9400 ld.w r0, (r4, 0x0) + 2470: 3202 movi r2, 2 + 2472: 3101 movi r1, 1 + 2474: e3fffe8e bsr 0x2190 // 2190 + BT1_INT_ENABLE(); + 2478: e3fffe96 bsr 0x21a4 // 21a4 + +} + 247c: 1404 addi r14, r14, 16 + 247e: 1492 pop r4-r5, r15 + 2480: 20000008 .long 0x20000008 + 2484: 000012ac .long 0x000012ac + +Disassembly of section .text.SYSCON_CONFIG: + +00002488 : +//syscon Functions +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SYSCON_CONFIG(void) +{ + 2488: 14d0 push r15 + 248a: 1421 subi r14, r14, 4 +//------SYSTEM CLK AND PCLK FUNTION---------------------------/ + SYSCON_RST_VALUE(); //SYSCON all register clr + 248c: e3fffb38 bsr 0x1afc // 1afc + SYSCON_General_CMD(ENABLE,ENDIS_ISOSC); //SYSCON enable/disable clock source + 2490: 3101 movi r1, 1 + 2492: 3001 movi r0, 1 + 2494: e3fffb5a bsr 0x1b48 // 1b48 + //EMOSC_OSTR_Config(0XAD,0X1f,EM_LFSEL_EN,EM_FLEN_EN,EM_FLSEL_10ns); //EM_CNT=0X3FF,0xAD(36K),EM_GM=0,Low F modedisable,EM filter disable,if enable,cont set 5ns + //SYSCON_General_CMD(ENABLE,ENDIS_EMOSC); + SYSCON_HFOSC_SELECTE(HFOSC_SELECTE_48M); //HFOSC selected 48MHz + 2498: 3000 movi r0, 0 + 249a: e3fffbb3 bsr 0x1c00 // 1c00 + SystemCLK_HCLKDIV_PCLKDIV_Config(SYSCLK_HFOSC,HCLK_DIV_1,PCLK_DIV_1,HFOSC_48M);//system clock set, Hclk div ,Pclk div set system clock=SystemCLK/Hclk div/Pclk div + 249e: 3180 movi r1, 128 + 24a0: 3308 movi r3, 8 + 24a2: 3200 movi r2, 0 + 24a4: 4121 lsli r1, r1, 1 + 24a6: 3002 movi r0, 2 + 24a8: e3fffb68 bsr 0x1b78 // 1b78 +//------------ WDT FUNTION --------------------------------/ + SYSCON_IWDCNT_Config(IWDT_TIME_500MS,IWDT_INTW_DIV_7); //WDT TIME 1s,WDT alarm interrupt time=1s-1s*1/8=0.875S + 24ac: 3080 movi r0, 128 + 24ae: 3118 movi r1, 24 + 24b0: 4002 lsli r0, r0, 2 + 24b2: e3fffbe3 bsr 0x1c78 // 1c78 + SYSCON_WDT_CMD(ENABLE); //enable/disable WDT + 24b6: 3001 movi r0, 1 + 24b8: e3fffbb8 bsr 0x1c28 // 1c28 + SYSCON_IWDCNT_Reload(); //reload WDT + 24bc: e3fffbd4 bsr 0x1c64 // 1c64 + IWDT_Int_Enable(); + 24c0: e3fffc06 bsr 0x1ccc // 1ccc + //WWDT_CMD(ENABLE); //enable wwdt +//------------ CLO Output --------------------------------/ + //SYSCON_CLO_CONFIG(CLO_PA08); //CLO output setting + //SYSCON_CLO_SRC_SET(CLO_HFCLK,CLO_DIV16); //CLO output clock and div +//------------ LVD FUNTION --------------------------------/ + SYSCON_LVD_Config(ENABLE_LVDEN,INTDET_LVL_3_9V,RSTDET_LVL_1_9V,ENABLE_LVD_INT,INTDET_POL_fall); //LVD LVR Enable/Disable + 24c4: 3340 movi r3, 64 + 24c6: b860 st.w r3, (r14, 0x0) + 24c8: 31c0 movi r1, 192 + 24ca: 3380 movi r3, 128 + 24cc: 4364 lsli r3, r3, 4 + 24ce: 3200 movi r2, 0 + 24d0: 4123 lsli r1, r1, 3 + 24d2: 3000 movi r0, 0 + 24d4: e3fffbde bsr 0x1c90 // 1c90 + LVD_Int_Enable(); + 24d8: e3fffbec bsr 0x1cb0 // 1cb0 +//------------ SYSCON Vector --------------------------------/ + SYSCON_Int_Enable(); //SYSCON VECTOR + 24dc: e3fffc4a bsr 0x1d70 // 1d70 + //SYSCON_WakeUp_Enable(); //Enable WDT wakeup INT +//------------------------------------------------------------/ +//OSC CLOCK Calibration +//------------------------------------------------------------/ + std_clk_calib(CLK_HFOSC_48M); //Select the same clock source as the system + 24e0: 3000 movi r0, 0 + 24e2: e00016e3 bsr 0x52a8 // 52a8 + +} + 24e6: 1401 addi r14, r14, 4 + 24e8: 1490 pop r15 + +Disassembly of section .text.APT32F102_init: + +000024ec : +//APT32F102_init / +//EntryParameter:NONE / +//ReturnValue:NONE / +/*********************************************************************************/ +void APT32F102_init(void) +{ + 24ec: 14d0 push r15 + Sys_RSR = 0x00000000; + Sys_RSR = SYSCON->RSR; //读取复位源 2024-03-15 + 24ee: 107f lrw r3, 0x2000005c // 2568 + Sys_RSR = 0x00000000; + 24f0: 105f lrw r2, 0x200000ac // 256c + 24f2: 3100 movi r1, 0 + Sys_RSR = SYSCON->RSR; //读取复位源 2024-03-15 + 24f4: 9360 ld.w r3, (r3, 0x0) + 24f6: 3080 movi r0, 128 + Sys_RSR = 0x00000000; + 24f8: b220 st.w r1, (r2, 0x0) + Sys_RSR = SYSCON->RSR; //读取复位源 2024-03-15 + 24fa: 600c addu r0, r3 + 24fc: 9004 ld.w r0, (r0, 0x10) + 24fe: b200 st.w r0, (r2, 0x0) + + Sav_Temp = 0x00000000; + 2500: 105c lrw r2, 0x200000a8 // 2570 + 2502: b220 st.w r1, (r2, 0x0) + Sav_Temp = SYSCON->UREG0; //读取保存的温控数据 2024-03-15 + 2504: 3180 movi r1, 128 + 2506: 4121 lsli r1, r1, 1 + 2508: 604c addu r1, r3 + 250a: 9120 ld.w r1, (r1, 0x0) + 250c: b220 st.w r1, (r2, 0x0) +//------------------------------------------------------------/ +//Peripheral clock enable and disable +//EntryParameter:NONE +//ReturnValue:NONE +//------------------------------------------------------------/ + SYSCON->PCER0=0xFFFFFFF; //PCLK Enable + 250e: 105a lrw r2, 0xfffffff // 2574 + 2510: b34a st.w r2, (r3, 0x28) + SYSCON->PCER1=0xFFFFFFF; //PCLK Enable + while(!(SYSCON->PCSR0&0x1)); //Wait PCLK enabled + 2512: 3101 movi r1, 1 + SYSCON->PCER1=0xFFFFFFF; //PCLK Enable + 2514: b34d st.w r2, (r3, 0x34) + while(!(SYSCON->PCSR0&0x1)); //Wait PCLK enabled + 2516: 934c ld.w r2, (r3, 0x30) + 2518: 6884 and r2, r1 + 251a: 3a40 cmpnei r2, 0 + 251c: 0ffd bf 0x2516 // 2516 +//------------------------------------------------------------/ +//ISOSC/IMOSC/EMOSC/SYSCLK/IWDT/LVD/EM_CMFAIL/EM_CMRCV/CMD_ERR OSC stable interrupt +//EntryParameter:NONE +//ReturnValue:NONE +//------------------------------------------------------------/ + SYSCON_CONFIG(); //syscon initial + 251e: e3ffffb5 bsr 0x2488 // 2488 + CK_CPU_EnAllNormalIrq(); //enable all IRQ + 2522: e0000573 bsr 0x3008 // 3008 + SYSCON_INT_Priority(); //initial all Priority=0xC0 + 2526: e3fffc31 bsr 0x1d88 // 1d88 + + //设置中断优先级 0最高,3最低 + Set_INT_Priority(UART2_IRQ,1); //串口优先级最高 + 252a: 3101 movi r1, 1 + 252c: 300f movi r0, 15 + 252e: e3fffc3f bsr 0x1dac // 1dac + Set_INT_Priority(UART1_IRQ,1); //串口优先级最高 + 2532: 3101 movi r1, 1 + 2534: 300e movi r0, 14 + 2536: e3fffc3b bsr 0x1dac // 1dac + Set_INT_Priority(EXI3_IRQ, 1); //总线繁忙判断外部IO中断 + 253a: 3101 movi r1, 1 + 253c: 3016 movi r0, 22 + 253e: e3fffc37 bsr 0x1dac // 1dac + + GPIO_DeInit(); //复位所有IO,bootload中初始化了所有IO + 2542: e3fffc4d bsr 0x1ddc // 1ddc +//------------------------------------------------------------/ +//Other IP config +//------------------------------------------------------------/ + BT_CONFIG(); //BT initial + 2546: e3ffff71 bsr 0x2428 // 2428 + + UARTx_Init(UART_2,IrSend_Rs485_Pro); //通讯串口 + 254a: 102c lrw r1, 0x3bb4 // 2578 + 254c: 3002 movi r0, 2 + 254e: e0000563 bsr 0x3014 // 3014 + UARTx_Init(UART_1,Ctrller_RecData_Processing); //通讯串口 + 2552: 102b lrw r1, 0x3a28 // 257c + 2554: 3001 movi r0, 1 + 2556: e000055f bsr 0x3014 // 3014 + + EEPROM_Init(); + 255a: e00008d3 bsr 0x3700 // 3700 + + DIP_Switch_Init(); + 255e: e0000bcb bsr 0x3cf4 // 3cf4 + + TemCtrl_Init(); + 2562: e00008f9 bsr 0x3754 // 3754 + +} + 2566: 1490 pop r15 + 2568: 2000005c .long 0x2000005c + 256c: 200000ac .long 0x200000ac + 2570: 200000a8 .long 0x200000a8 + 2574: 0fffffff .long 0x0fffffff + 2578: 00003bb4 .long 0x00003bb4 + 257c: 00003a28 .long 0x00003a28 + +Disassembly of section .text.SYSCONIntHandler: + +00002580 : +//SYSCON Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SYSCONIntHandler(void) +{ + 2580: 1460 nie + 2582: 1462 ipush + // ISR content ... + nop; + 2584: 6c03 mov r0, r0 + if((SYSCON->MISR&ISOSC_ST)==ISOSC_ST) //ISOSC stable interrupt + 2586: 117a lrw r3, 0x2000005c // 266c + 2588: 3280 movi r2, 128 + 258a: 9360 ld.w r3, (r3, 0x0) + 258c: 60c8 addu r3, r2 + 258e: 9323 ld.w r1, (r3, 0xc) + 2590: 3001 movi r0, 1 + 2592: 6840 and r1, r0 + 2594: 3940 cmpnei r1, 0 + 2596: 0c04 bf 0x259e // 259e + { + SYSCON->ICR = EMOSC_ST; + } + else if((SYSCON->MISR&HFOSC_ST)==HFOSC_ST) //HFOSC stable interrupt + { + SYSCON->ICR = HFOSC_ST; + 2598: b301 st.w r0, (r3, 0x4) + } + else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST) //Command error interrupt + { + SYSCON->ICR = CMD_ERR_ST; + } +} + 259a: 1463 ipop + 259c: 1461 nir + else if((SYSCON->MISR&IMOSC_ST)==IMOSC_ST) //IMOSC stable interrupt + 259e: 9323 ld.w r1, (r3, 0xc) + 25a0: 3002 movi r0, 2 + 25a2: 6840 and r1, r0 + 25a4: 3940 cmpnei r1, 0 + 25a6: 0bf9 bt 0x2598 // 2598 + else if((SYSCON->MISR&EMOSC_ST)==EMOSC_ST) //EMOSC stable interrupt + 25a8: 9323 ld.w r1, (r3, 0xc) + 25aa: 3008 movi r0, 8 + 25ac: 6840 and r1, r0 + 25ae: 3940 cmpnei r1, 0 + 25b0: 0bf4 bt 0x2598 // 2598 + else if((SYSCON->MISR&HFOSC_ST)==HFOSC_ST) //HFOSC stable interrupt + 25b2: 9323 ld.w r1, (r3, 0xc) + 25b4: 3010 movi r0, 16 + 25b6: 6840 and r1, r0 + 25b8: 3940 cmpnei r1, 0 + 25ba: 0bef bt 0x2598 // 2598 + else if((SYSCON->MISR&SYSCLK_ST)==SYSCLK_ST) //SYSCLK change end & stable interrupt + 25bc: 9323 ld.w r1, (r3, 0xc) + 25be: 6848 and r1, r2 + 25c0: 3940 cmpnei r1, 0 + 25c2: 0c03 bf 0x25c8 // 25c8 + SYSCON->ICR = CMD_ERR_ST; + 25c4: b341 st.w r2, (r3, 0x4) +} + 25c6: 07ea br 0x259a // 259a + else if((SYSCON->MISR&IWDT_INT_ST)==IWDT_INT_ST) //IWDT alarm window interrupt + 25c8: 3280 movi r2, 128 + 25ca: 9323 ld.w r1, (r3, 0xc) + 25cc: 4241 lsli r2, r2, 1 + 25ce: 6848 and r1, r2 + 25d0: 3940 cmpnei r1, 0 + 25d2: 0bf9 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&WKI_INT_ST)==WKI_INT_ST) + 25d4: 3280 movi r2, 128 + 25d6: 9323 ld.w r1, (r3, 0xc) + 25d8: 4242 lsli r2, r2, 2 + 25da: 6848 and r1, r2 + 25dc: 3940 cmpnei r1, 0 + 25de: 0bf3 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&RAMERRINT_ST)==RAMERRINT_ST) //SRAM check fail interrupt + 25e0: 3280 movi r2, 128 + 25e2: 9323 ld.w r1, (r3, 0xc) + 25e4: 4243 lsli r2, r2, 3 + 25e6: 6848 and r1, r2 + 25e8: 3940 cmpnei r1, 0 + 25ea: 0bed bt 0x25c4 // 25c4 + else if((SYSCON->MISR&LVD_INT_ST)==LVD_INT_ST) //LVD threshold interrupt + 25ec: 3280 movi r2, 128 + 25ee: 9323 ld.w r1, (r3, 0xc) + 25f0: 4244 lsli r2, r2, 4 + 25f2: 6848 and r1, r2 + 25f4: 3940 cmpnei r1, 0 + 25f6: 0c03 bf 0x25fc // 25fc + nop; + 25f8: 6c03 mov r0, r0 + 25fa: 07e5 br 0x25c4 // 25c4 + else if((SYSCON->MISR&HWD_ERR_ST)==HWD_ERR_ST) //Hardware Divider divisor = 0 interrupt + 25fc: 3280 movi r2, 128 + 25fe: 9323 ld.w r1, (r3, 0xc) + 2600: 4245 lsli r2, r2, 5 + 2602: 6848 and r1, r2 + 2604: 3940 cmpnei r1, 0 + 2606: 0bdf bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EFL_ERR_ST)==EFL_ERR_ST) //Flash check fail interrupt + 2608: 3280 movi r2, 128 + 260a: 9323 ld.w r1, (r3, 0xc) + 260c: 4246 lsli r2, r2, 6 + 260e: 6848 and r1, r2 + 2610: 3940 cmpnei r1, 0 + 2612: 0bd9 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&OPTERR_INT)==OPTERR_INT) //Option load fail interrupt + 2614: 3280 movi r2, 128 + 2616: 9323 ld.w r1, (r3, 0xc) + 2618: 4247 lsli r2, r2, 7 + 261a: 6848 and r1, r2 + 261c: 3940 cmpnei r1, 0 + 261e: 0bd3 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EM_CMLST_ST)==EM_CMLST_ST) //EMOSC clock monitor fail interrupt + 2620: 3280 movi r2, 128 + 2622: 9323 ld.w r1, (r3, 0xc) + 2624: 424b lsli r2, r2, 11 + 2626: 6848 and r1, r2 + 2628: 3940 cmpnei r1, 0 + 262a: 0bcd bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EM_EVTRG0_ST)==EM_EVTRG0_ST) //Event Trigger Channel 0 Interrupt + 262c: 3280 movi r2, 128 + 262e: 9323 ld.w r1, (r3, 0xc) + 2630: 424c lsli r2, r2, 12 + 2632: 6848 and r1, r2 + 2634: 3940 cmpnei r1, 0 + 2636: 0bc7 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EM_EVTRG1_ST)==EM_EVTRG1_ST) //Event Trigger Channel 1 Interrupt + 2638: 3280 movi r2, 128 + 263a: 9323 ld.w r1, (r3, 0xc) + 263c: 424d lsli r2, r2, 13 + 263e: 6848 and r1, r2 + 2640: 3940 cmpnei r1, 0 + 2642: 0bc1 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EM_EVTRG2_ST)==EM_EVTRG2_ST) //Event Trigger Channel 2 Interrupt + 2644: 3280 movi r2, 128 + 2646: 9323 ld.w r1, (r3, 0xc) + 2648: 424e lsli r2, r2, 14 + 264a: 6848 and r1, r2 + 264c: 3940 cmpnei r1, 0 + 264e: 0bbb bt 0x25c4 // 25c4 + else if((SYSCON->MISR&EM_EVTRG3_ST)==EM_EVTRG3_ST) //Event Trigger Channel 3 Interrupt + 2650: 3280 movi r2, 128 + 2652: 9323 ld.w r1, (r3, 0xc) + 2654: 424f lsli r2, r2, 15 + 2656: 6848 and r1, r2 + 2658: 3940 cmpnei r1, 0 + 265a: 0bb5 bt 0x25c4 // 25c4 + else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST) //Command error interrupt + 265c: 3280 movi r2, 128 + 265e: 9323 ld.w r1, (r3, 0xc) + 2660: 4256 lsli r2, r2, 22 + 2662: 6848 and r1, r2 + 2664: 3940 cmpnei r1, 0 + 2666: 0baf bt 0x25c4 // 25c4 + 2668: 0799 br 0x259a // 259a + 266a: 0000 bkpt + 266c: 2000005c .long 0x2000005c + +Disassembly of section .text.IFCIntHandler: + +00002670 : +//IFC Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void IFCIntHandler(void) +{ + 2670: 1460 nie + 2672: 1462 ipush + // ISR content ... + if(IFC->MISR&ERS_END_INT) + 2674: 1078 lrw r3, 0x20000060 // 26d4 + 2676: 3101 movi r1, 1 + 2678: 9360 ld.w r3, (r3, 0x0) + 267a: 934b ld.w r2, (r3, 0x2c) + 267c: 6884 and r2, r1 + 267e: 3a40 cmpnei r2, 0 + 2680: 0c04 bf 0x2688 // 2688 + { + IFC->ICR=RGM_END_INT; + } + else if(IFC->MISR&PEP_END_INT) + { + IFC->ICR=PEP_END_INT; + 2682: b32c st.w r1, (r3, 0x30) + } + else if(IFC->MISR&OVW_ERR_INT) + { + IFC->ICR=OVW_ERR_INT; + } +} + 2684: 1463 ipop + 2686: 1461 nir + else if(IFC->MISR&RGM_END_INT) + 2688: 934b ld.w r2, (r3, 0x2c) + 268a: 3102 movi r1, 2 + 268c: 6884 and r2, r1 + 268e: 3a40 cmpnei r2, 0 + 2690: 0bf9 bt 0x2682 // 2682 + else if(IFC->MISR&PEP_END_INT) + 2692: 934b ld.w r2, (r3, 0x2c) + 2694: 3104 movi r1, 4 + 2696: 6884 and r2, r1 + 2698: 3a40 cmpnei r2, 0 + 269a: 0bf4 bt 0x2682 // 2682 + else if(IFC->MISR&PROT_ERR_INT) + 269c: 3280 movi r2, 128 + 269e: 932b ld.w r1, (r3, 0x2c) + 26a0: 4245 lsli r2, r2, 5 + 26a2: 6848 and r1, r2 + 26a4: 3940 cmpnei r1, 0 + 26a6: 0c03 bf 0x26ac // 26ac + IFC->ICR=OVW_ERR_INT; + 26a8: b34c st.w r2, (r3, 0x30) +} + 26aa: 07ed br 0x2684 // 2684 + else if(IFC->MISR&UDEF_ERR_INT) + 26ac: 3280 movi r2, 128 + 26ae: 932b ld.w r1, (r3, 0x2c) + 26b0: 4246 lsli r2, r2, 6 + 26b2: 6848 and r1, r2 + 26b4: 3940 cmpnei r1, 0 + 26b6: 0bf9 bt 0x26a8 // 26a8 + else if(IFC->MISR&ADDR_ERR_INT) + 26b8: 3280 movi r2, 128 + 26ba: 932b ld.w r1, (r3, 0x2c) + 26bc: 4247 lsli r2, r2, 7 + 26be: 6848 and r1, r2 + 26c0: 3940 cmpnei r1, 0 + 26c2: 0bf3 bt 0x26a8 // 26a8 + else if(IFC->MISR&OVW_ERR_INT) + 26c4: 3280 movi r2, 128 + 26c6: 932b ld.w r1, (r3, 0x2c) + 26c8: 4248 lsli r2, r2, 8 + 26ca: 6848 and r1, r2 + 26cc: 3940 cmpnei r1, 0 + 26ce: 0bed bt 0x26a8 // 26a8 + 26d0: 07da br 0x2684 // 2684 + 26d2: 0000 bkpt + 26d4: 20000060 .long 0x20000060 + +Disassembly of section .text.ADCIntHandler: + +000026d8 : +//ADC Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void ADCIntHandler(void) +{ + 26d8: 1460 nie + 26da: 1462 ipush + // ISR content ... + if((ADC0->SR&ADC12_EOC)==ADC12_EOC) //ADC EOC interrupt + 26dc: 1078 lrw r3, 0x20000050 // 273c + 26de: 3101 movi r1, 1 + 26e0: 9360 ld.w r3, (r3, 0x0) + 26e2: 9348 ld.w r2, (r3, 0x20) + 26e4: 6884 and r2, r1 + 26e6: 3a40 cmpnei r2, 0 + 26e8: 0c04 bf 0x26f0 // 26f0 + { + ADC0->CSR = ADC12_CMP1H; + } + else if((ADC0->SR&ADC12_CMP1L)==ADC12_CMP1L) //ADC CMP1L interrupt. + { + ADC0->CSR = ADC12_CMP1L; + 26ea: b327 st.w r1, (r3, 0x1c) + } + else if((ADC0->SR&ADC12_SEQ_END0)==ADC12_SEQ_END0) //ADC SEQ0 interrupt,SEQ1~SEQ15 replace the parameter with ADC12_SEQ_END1~ADC12_SEQ_END15 + { + ADC0->CSR = ADC12_SEQ_END0; + } +} + 26ec: 1463 ipop + 26ee: 1461 nir + else if((ADC0->SR&ADC12_READY)==ADC12_READY) //ADC READY interrupt + 26f0: 9348 ld.w r2, (r3, 0x20) + 26f2: 3102 movi r1, 2 + 26f4: 6884 and r2, r1 + 26f6: 3a40 cmpnei r2, 0 + 26f8: 0bf9 bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_OVR)==ADC12_OVR) //ADC OVR interrupt + 26fa: 9348 ld.w r2, (r3, 0x20) + 26fc: 3104 movi r1, 4 + 26fe: 6884 and r2, r1 + 2700: 3a40 cmpnei r2, 0 + 2702: 0bf4 bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_CMP0H)==ADC12_CMP0H) //ADC CMP0H interrupt + 2704: 9348 ld.w r2, (r3, 0x20) + 2706: 3110 movi r1, 16 + 2708: 6884 and r2, r1 + 270a: 3a40 cmpnei r2, 0 + 270c: 0bef bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_CMP0L)==ADC12_CMP0L) //ADC CMP0L interrupt. + 270e: 9348 ld.w r2, (r3, 0x20) + 2710: 3120 movi r1, 32 + 2712: 6884 and r2, r1 + 2714: 3a40 cmpnei r2, 0 + 2716: 0bea bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_CMP1H)==ADC12_CMP1H) //ADC CMP1H interrupt. + 2718: 9348 ld.w r2, (r3, 0x20) + 271a: 3140 movi r1, 64 + 271c: 6884 and r2, r1 + 271e: 3a40 cmpnei r2, 0 + 2720: 0be5 bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_CMP1L)==ADC12_CMP1L) //ADC CMP1L interrupt. + 2722: 9348 ld.w r2, (r3, 0x20) + 2724: 3180 movi r1, 128 + 2726: 6884 and r2, r1 + 2728: 3a40 cmpnei r2, 0 + 272a: 0be0 bt 0x26ea // 26ea + else if((ADC0->SR&ADC12_SEQ_END0)==ADC12_SEQ_END0) //ADC SEQ0 interrupt,SEQ1~SEQ15 replace the parameter with ADC12_SEQ_END1~ADC12_SEQ_END15 + 272c: 3280 movi r2, 128 + 272e: 9328 ld.w r1, (r3, 0x20) + 2730: 4249 lsli r2, r2, 9 + 2732: 6848 and r1, r2 + 2734: 3940 cmpnei r1, 0 + 2736: 0fdb bf 0x26ec // 26ec + ADC0->CSR = ADC12_SEQ_END0; + 2738: b347 st.w r2, (r3, 0x1c) +} + 273a: 07d9 br 0x26ec // 26ec + 273c: 20000050 .long 0x20000050 + +Disassembly of section .text.EPT0IntHandler: + +00002740 : +//EPT0 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EPT0IntHandler(void) +{ + 2740: 1460 nie + 2742: 1462 ipush + 2744: 14d1 push r4, r15 + // ISR content ... + if((EPT0->MISR&EPT_TRGEV0_INT)==EPT_TRGEV0_INT) //TRGEV0 interrupt + 2746: 1387 lrw r4, 0x20000020 // 28e0 + 2748: 3280 movi r2, 128 + 274a: 9460 ld.w r3, (r4, 0x0) + 274c: 60c8 addu r3, r2 + 274e: 9335 ld.w r1, (r3, 0x54) + 2750: 3001 movi r0, 1 + 2752: 6840 and r1, r0 + 2754: 3940 cmpnei r1, 0 + 2756: 0c03 bf 0x275c // 275c + EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIFT); + R_CMPB_BUF=EPT0->CMPB; //Duty counter + } + else if((EPT0->MISR&EPT_CAP_LD2)==EPT_CAP_LD2) //Capture Load to CMPC interrupt + { + EPT0->ICR=EPT_CAP_LD2; + 2758: b317 st.w r0, (r3, 0x5c) + 275a: 0424 br 0x27a2 // 27a2 + else if((EPT0->MISR&EPT_TRGEV1_INT)==EPT_TRGEV1_INT) //TRGEV1 interrupt + 275c: 9335 ld.w r1, (r3, 0x54) + 275e: 3002 movi r0, 2 + 2760: 6840 and r1, r0 + 2762: 3940 cmpnei r1, 0 + 2764: 0bfa bt 0x2758 // 2758 + else if((EPT0->MISR&EPT_TRGEV2_INT)==EPT_TRGEV2_INT) //TRGEV2 interrupt + 2766: 9335 ld.w r1, (r3, 0x54) + 2768: 3004 movi r0, 4 + 276a: 6840 and r1, r0 + 276c: 3940 cmpnei r1, 0 + 276e: 0bf5 bt 0x2758 // 2758 + else if((EPT0->MISR&EPT_TRGEV3_INT)==EPT_TRGEV3_INT) //TRGEV3 interrupt + 2770: 9335 ld.w r1, (r3, 0x54) + 2772: 3008 movi r0, 8 + 2774: 6840 and r1, r0 + 2776: 3940 cmpnei r1, 0 + 2778: 0bf0 bt 0x2758 // 2758 + else if((EPT0->MISR&EPT_CAP_LD0)==EPT_CAP_LD0) //Capture Load to CMPA interrupt + 277a: 9335 ld.w r1, (r3, 0x54) + 277c: 3010 movi r0, 16 + 277e: 6840 and r1, r0 + 2780: 3940 cmpnei r1, 0 + 2782: 0c1f bf 0x27c0 // 27c0 + EPT0->ICR=EPT_CAP_LD0; + 2784: b317 st.w r0, (r3, 0x5c) + EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIRT); + 2786: 3200 movi r2, 0 + 2788: 3101 movi r1, 1 + 278a: 3000 movi r0, 0 + 278c: e3fffaae bsr 0x1ce8 // 1ce8 + EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIFT); + 2790: 3201 movi r2, 1 + 2792: 3101 movi r1, 1 + 2794: 3001 movi r0, 1 + 2796: e3fffaa9 bsr 0x1ce8 // 1ce8 + R_CMPA_BUF=EPT0->CMPA; //Low voltage counter + 279a: 9460 ld.w r3, (r4, 0x0) + 279c: 934b ld.w r2, (r3, 0x2c) + 279e: 1272 lrw r3, 0x200001dc // 28e4 + R_CMPB_BUF=EPT0->CMPB; //Duty counter + 27a0: b340 st.w r2, (r3, 0x0) + EPT0->ICR=EPT_PEND; + //EPT_PRDR_CMPA_CMPB_CMPC_CMPD_Config(50,0,50,0,0); + EPT_Stop(); + } + //Emergency interruption + if((EPT0->EMMISR&EPT_EP0_EMINT)==EPT_EP0_EMINT) //interrupt flag of EP0 event + 27a2: 9460 ld.w r3, (r4, 0x0) + 27a4: 3280 movi r2, 128 + 27a6: 60c8 addu r3, r2 + 27a8: 932b ld.w r1, (r3, 0x2c) + 27aa: 3001 movi r0, 1 + 27ac: 6840 and r1, r0 + 27ae: 3940 cmpnei r1, 0 + 27b0: 0c61 bf 0x2872 // 2872 + { + EPT0->EMICR=EPT_EP5_EMINT; + } + else if((EPT0->EMMISR&EPT_EP6_EMINT)==EPT_EP6_EMINT) //interrupt flag of EP6 event + { + EPT0->EMICR=EPT_EP6_EMINT; + 27b2: b30d st.w r0, (r3, 0x34) + } + else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT) //interrupt flag of EOM_FAULT event + { + EPT0->EMICR=EPT_EOM_FAULT_EMINT; + } +} + 27b4: d9ee2001 ld.w r15, (r14, 0x4) + 27b8: 9880 ld.w r4, (r14, 0x0) + 27ba: 1402 addi r14, r14, 8 + 27bc: 1463 ipop + 27be: 1461 nir + else if((EPT0->MISR&EPT_CAP_LD1)==EPT_CAP_LD1) //Capture Load to CMPB interrupt + 27c0: 9335 ld.w r1, (r3, 0x54) + 27c2: 3020 movi r0, 32 + 27c4: 6840 and r1, r0 + 27c6: 3940 cmpnei r1, 0 + 27c8: 0c10 bf 0x27e8 // 27e8 + EPT0->ICR=EPT_CAP_LD1; + 27ca: b317 st.w r0, (r3, 0x5c) + EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIRT); + 27cc: 3200 movi r2, 0 + 27ce: 3101 movi r1, 1 + 27d0: 3001 movi r0, 1 + 27d2: e3fffa8b bsr 0x1ce8 // 1ce8 + EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIFT); + 27d6: 3201 movi r2, 1 + 27d8: 3101 movi r1, 1 + 27da: 3000 movi r0, 0 + 27dc: e3fffa86 bsr 0x1ce8 // 1ce8 + R_CMPB_BUF=EPT0->CMPB; //Duty counter + 27e0: 9460 ld.w r3, (r4, 0x0) + 27e2: 934c ld.w r2, (r3, 0x30) + 27e4: 1261 lrw r3, 0x200001d8 // 28e8 + 27e6: 07dd br 0x27a0 // 27a0 + else if((EPT0->MISR&EPT_CAP_LD2)==EPT_CAP_LD2) //Capture Load to CMPC interrupt + 27e8: 9335 ld.w r1, (r3, 0x54) + 27ea: 3040 movi r0, 64 + 27ec: 6840 and r1, r0 + 27ee: 3940 cmpnei r1, 0 + 27f0: 0bb4 bt 0x2758 // 2758 + else if((EPT0->MISR&EPT_CAP_LD3)==EPT_CAP_LD3) //Capture Load to CMPD interrupt + 27f2: 9335 ld.w r1, (r3, 0x54) + 27f4: 6848 and r1, r2 + 27f6: 3940 cmpnei r1, 0 + 27f8: 0c03 bf 0x27fe // 27fe + EPT0->ICR=EPT_CDD; + 27fa: b357 st.w r2, (r3, 0x5c) + 27fc: 07d3 br 0x27a2 // 27a2 + else if((EPT0->MISR&EPT_CAU)==EPT_CAU) //Up-Counting phase CNT = CMPA interrupt + 27fe: 3280 movi r2, 128 + 2800: 9335 ld.w r1, (r3, 0x54) + 2802: 4241 lsli r2, r2, 1 + 2804: 6848 and r1, r2 + 2806: 3940 cmpnei r1, 0 + 2808: 0bf9 bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CAD)==EPT_CAD) //Down-Counting phase CNT = CMPA interrupt + 280a: 3280 movi r2, 128 + 280c: 9335 ld.w r1, (r3, 0x54) + 280e: 4242 lsli r2, r2, 2 + 2810: 6848 and r1, r2 + 2812: 3940 cmpnei r1, 0 + 2814: 0bf3 bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CBU)==EPT_CBU) //Up-Counting phase CNT = CMPB interrupt + 2816: 3280 movi r2, 128 + 2818: 9335 ld.w r1, (r3, 0x54) + 281a: 4243 lsli r2, r2, 3 + 281c: 6848 and r1, r2 + 281e: 3940 cmpnei r1, 0 + 2820: 0bed bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CBD)==EPT_CBD) //Down-Counting phase CNT = CMPB interrupt + 2822: 3280 movi r2, 128 + 2824: 9335 ld.w r1, (r3, 0x54) + 2826: 4244 lsli r2, r2, 4 + 2828: 6848 and r1, r2 + 282a: 3940 cmpnei r1, 0 + 282c: 0be7 bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CCU)==EPT_CCU) //Up-Counting phase CNT = CMPC interrupt + 282e: 3280 movi r2, 128 + 2830: 9335 ld.w r1, (r3, 0x54) + 2832: 4245 lsli r2, r2, 5 + 2834: 6848 and r1, r2 + 2836: 3940 cmpnei r1, 0 + 2838: 0be1 bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CCD)==EPT_CCD) //Down-Counting phase CNT = CMPC interrupt + 283a: 3280 movi r2, 128 + 283c: 9335 ld.w r1, (r3, 0x54) + 283e: 4246 lsli r2, r2, 6 + 2840: 6848 and r1, r2 + 2842: 3940 cmpnei r1, 0 + 2844: 0bdb bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CDU)==EPT_CDU) //Up-Counting phase CNT = CMPD interrupt + 2846: 3280 movi r2, 128 + 2848: 9335 ld.w r1, (r3, 0x54) + 284a: 4247 lsli r2, r2, 7 + 284c: 6848 and r1, r2 + 284e: 3940 cmpnei r1, 0 + 2850: 0bd5 bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_CDD)==EPT_CDD) //Down-Counting phase CNT = CMPD interrupt + 2852: 3280 movi r2, 128 + 2854: 9335 ld.w r1, (r3, 0x54) + 2856: 4248 lsli r2, r2, 8 + 2858: 6848 and r1, r2 + 285a: 3940 cmpnei r1, 0 + 285c: 0bcf bt 0x27fa // 27fa + else if((EPT0->MISR&EPT_PEND)==EPT_PEND) //End of cycle interrupt + 285e: 3280 movi r2, 128 + 2860: 9335 ld.w r1, (r3, 0x54) + 2862: 4249 lsli r2, r2, 9 + 2864: 6848 and r1, r2 + 2866: 3940 cmpnei r1, 0 + 2868: 0f9d bf 0x27a2 // 27a2 + EPT0->ICR=EPT_PEND; + 286a: b357 st.w r2, (r3, 0x5c) + EPT_Stop(); + 286c: e3fffd72 bsr 0x2350 // 2350 + 2870: 0799 br 0x27a2 // 27a2 + else if((EPT0->EMMISR&EPT_EP1_EMINT)==EPT_EP1_EMINT) //interrupt flag of EP1 event + 2872: 932b ld.w r1, (r3, 0x2c) + 2874: 3002 movi r0, 2 + 2876: 6840 and r1, r0 + 2878: 3940 cmpnei r1, 0 + 287a: 0b9c bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP2_EMINT)==EPT_EP2_EMINT) //interrupt flag of EP2 event + 287c: 932b ld.w r1, (r3, 0x2c) + 287e: 3004 movi r0, 4 + 2880: 6840 and r1, r0 + 2882: 3940 cmpnei r1, 0 + 2884: 0b97 bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP3_EMINT)==EPT_EP3_EMINT) //interrupt flag of EP3 event + 2886: 932b ld.w r1, (r3, 0x2c) + 2888: 3008 movi r0, 8 + 288a: 6840 and r1, r0 + 288c: 3940 cmpnei r1, 0 + 288e: 0b92 bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP4_EMINT)==EPT_EP4_EMINT) //interrupt flag of EP4 event + 2890: 932b ld.w r1, (r3, 0x2c) + 2892: 3010 movi r0, 16 + 2894: 6840 and r1, r0 + 2896: 3940 cmpnei r1, 0 + 2898: 0b8d bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP5_EMINT)==EPT_EP5_EMINT) //interrupt flag of EP5 event + 289a: 932b ld.w r1, (r3, 0x2c) + 289c: 3020 movi r0, 32 + 289e: 6840 and r1, r0 + 28a0: 3940 cmpnei r1, 0 + 28a2: 0b88 bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP6_EMINT)==EPT_EP6_EMINT) //interrupt flag of EP6 event + 28a4: 932b ld.w r1, (r3, 0x2c) + 28a6: 3040 movi r0, 64 + 28a8: 6840 and r1, r0 + 28aa: 3940 cmpnei r1, 0 + 28ac: 0b83 bt 0x27b2 // 27b2 + else if((EPT0->EMMISR&EPT_EP7_EMINT)==EPT_EP7_EMINT) //interrupt flag of EP7 event + 28ae: 932b ld.w r1, (r3, 0x2c) + 28b0: 6848 and r1, r2 + 28b2: 3940 cmpnei r1, 0 + 28b4: 0c03 bf 0x28ba // 28ba + EPT0->EMICR=EPT_EOM_FAULT_EMINT; + 28b6: b34d st.w r2, (r3, 0x34) +} + 28b8: 077e br 0x27b4 // 27b4 + else if((EPT0->EMMISR&EPT_CPU_FAULT_EMINT)==EPT_CPU_FAULT_EMINT) //interrupt flag of CPU_FAULT event + 28ba: 3280 movi r2, 128 + 28bc: 932b ld.w r1, (r3, 0x2c) + 28be: 4241 lsli r2, r2, 1 + 28c0: 6848 and r1, r2 + 28c2: 3940 cmpnei r1, 0 + 28c4: 0bf9 bt 0x28b6 // 28b6 + else if((EPT0->EMMISR&EPT_MEM_FAULT_EMINT)==EPT_MEM_FAULT_EMINT) //interrupt flag of MEM_FAULT event + 28c6: 3280 movi r2, 128 + 28c8: 932b ld.w r1, (r3, 0x2c) + 28ca: 4242 lsli r2, r2, 2 + 28cc: 6848 and r1, r2 + 28ce: 3940 cmpnei r1, 0 + 28d0: 0bf3 bt 0x28b6 // 28b6 + else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT) //interrupt flag of EOM_FAULT event + 28d2: 3280 movi r2, 128 + 28d4: 932b ld.w r1, (r3, 0x2c) + 28d6: 4243 lsli r2, r2, 3 + 28d8: 6848 and r1, r2 + 28da: 3940 cmpnei r1, 0 + 28dc: 0bed bt 0x28b6 // 28b6 + 28de: 076b br 0x27b4 // 27b4 + 28e0: 20000020 .long 0x20000020 + 28e4: 200001dc .long 0x200001dc + 28e8: 200001d8 .long 0x200001d8 + +Disassembly of section .text.WWDTHandler: + +000028ec : +//WWDT Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void WWDTHandler(void) +{ + 28ec: 1460 nie + 28ee: 1462 ipush + 28f0: 14d2 push r4-r5, r15 + WWDT->ICR=0X01; + 28f2: 10ab lrw r5, 0x20000010 // 291c + 28f4: 3401 movi r4, 1 + 28f6: 9560 ld.w r3, (r5, 0x0) + 28f8: b385 st.w r4, (r3, 0x14) + WWDT_CNT_Load(0xFF); + 28fa: 30ff movi r0, 255 + 28fc: e3fffc06 bsr 0x2108 // 2108 + if((WWDT->MISR&WWDT_EVI)==WWDT_EVI) //WWDT EVI interrupt + 2900: 9540 ld.w r2, (r5, 0x0) + 2902: 9263 ld.w r3, (r2, 0xc) + 2904: 68d0 and r3, r4 + 2906: 3b40 cmpnei r3, 0 + 2908: 0c02 bf 0x290c // 290c + { + WWDT->ICR = WWDT_EVI; + 290a: b285 st.w r4, (r2, 0x14) + } +} + 290c: d9ee2002 ld.w r15, (r14, 0x8) + 2910: 98a1 ld.w r5, (r14, 0x4) + 2912: 9880 ld.w r4, (r14, 0x0) + 2914: 1403 addi r14, r14, 12 + 2916: 1463 ipop + 2918: 1461 nir + 291a: 0000 bkpt + 291c: 20000010 .long 0x20000010 + +Disassembly of section .text.GPT0IntHandler: + +00002920 : +//GPT0 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void GPT0IntHandler(void) +{ + 2920: 1460 nie + 2922: 1462 ipush + // ISR content ... + if((GPT0->MISR&GPT_INT_TRGEV0)==GPT_INT_TRGEV0) //TRGEV0 interrupt + 2924: 107e lrw r3, 0x20000024 // 299c + 2926: 3101 movi r1, 1 + 2928: 9360 ld.w r3, (r3, 0x0) + 292a: 237f addi r3, 128 + 292c: 9355 ld.w r2, (r3, 0x54) + 292e: 6884 and r2, r1 + 2930: 3a40 cmpnei r2, 0 + 2932: 0c04 bf 0x293a // 293a + { + GPT0->ICR = GPT_INT_CAPLD0; + } + else if((GPT0->MISR&GPT_INT_CAPLD1)==GPT_INT_CAPLD1) //Capture Load to CMPB interrupt + { + GPT0->ICR = GPT_INT_CAPLD1; + 2934: b337 st.w r1, (r3, 0x5c) + } + else if((GPT0->MISR&GPT_INT_PEND)==GPT_INT_PEND) //End of cycle interrupt + { + GPT0->ICR = GPT_INT_PEND; + } +} + 2936: 1463 ipop + 2938: 1461 nir + else if((GPT0->MISR&GPT_INT_TRGEV1)==GPT_INT_TRGEV1) //TRGEV1 interrupt + 293a: 9355 ld.w r2, (r3, 0x54) + 293c: 3102 movi r1, 2 + 293e: 6884 and r2, r1 + 2940: 3a40 cmpnei r2, 0 + 2942: 0bf9 bt 0x2934 // 2934 + else if((GPT0->MISR&GPT_INT_CAPLD0)==GPT_INT_CAPLD0) //Capture Load to CMPA interrupt + 2944: 9355 ld.w r2, (r3, 0x54) + 2946: 3110 movi r1, 16 + 2948: 6884 and r2, r1 + 294a: 3a40 cmpnei r2, 0 + 294c: 0bf4 bt 0x2934 // 2934 + else if((GPT0->MISR&GPT_INT_CAPLD1)==GPT_INT_CAPLD1) //Capture Load to CMPB interrupt + 294e: 9355 ld.w r2, (r3, 0x54) + 2950: 3120 movi r1, 32 + 2952: 6884 and r2, r1 + 2954: 3a40 cmpnei r2, 0 + 2956: 0bef bt 0x2934 // 2934 + else if((GPT0->MISR&GPT_INT_CAU)==GPT_INT_CAU) //Up-Counting phase CNT = CMPA Interrupt + 2958: 3280 movi r2, 128 + 295a: 9335 ld.w r1, (r3, 0x54) + 295c: 4241 lsli r2, r2, 1 + 295e: 6848 and r1, r2 + 2960: 3940 cmpnei r1, 0 + 2962: 0c03 bf 0x2968 // 2968 + GPT0->ICR = GPT_INT_PEND; + 2964: b357 st.w r2, (r3, 0x5c) +} + 2966: 07e8 br 0x2936 // 2936 + else if((GPT0->MISR&GPT_INT_CAD)==GPT_INT_CAD) //Down-Counting phase CNT = CMPA Interrupt + 2968: 3280 movi r2, 128 + 296a: 9335 ld.w r1, (r3, 0x54) + 296c: 4242 lsli r2, r2, 2 + 296e: 6848 and r1, r2 + 2970: 3940 cmpnei r1, 0 + 2972: 0bf9 bt 0x2964 // 2964 + else if((GPT0->MISR&GPT_INT_CBU)==GPT_INT_CBU) //Up-Counting phase CNT = CMPB Interrupt + 2974: 3280 movi r2, 128 + 2976: 9335 ld.w r1, (r3, 0x54) + 2978: 4243 lsli r2, r2, 3 + 297a: 6848 and r1, r2 + 297c: 3940 cmpnei r1, 0 + 297e: 0bf3 bt 0x2964 // 2964 + else if((GPT0->MISR&GPT_INT_CBD)==GPT_INT_CBD) //Down-Counting phase CNT = CMPB Interrupt + 2980: 3280 movi r2, 128 + 2982: 9335 ld.w r1, (r3, 0x54) + 2984: 4244 lsli r2, r2, 4 + 2986: 6848 and r1, r2 + 2988: 3940 cmpnei r1, 0 + 298a: 0bed bt 0x2964 // 2964 + else if((GPT0->MISR&GPT_INT_PEND)==GPT_INT_PEND) //End of cycle interrupt + 298c: 3280 movi r2, 128 + 298e: 9335 ld.w r1, (r3, 0x54) + 2990: 4249 lsli r2, r2, 9 + 2992: 6848 and r1, r2 + 2994: 3940 cmpnei r1, 0 + 2996: 0be7 bt 0x2964 // 2964 + 2998: 07cf br 0x2936 // 2936 + 299a: 0000 bkpt + 299c: 20000024 .long 0x20000024 + +Disassembly of section .text.RTCIntHandler: + +000029a0 : +//RTC Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void RTCIntHandler(void) +{ + 29a0: 1460 nie + 29a2: 1462 ipush + // ISR content ... + if((RTC->MISR&ALRA_INT)==ALRA_INT) //Interrupt of alarm A + 29a4: 1079 lrw r3, 0x20000018 // 2a08 + 29a6: 3101 movi r1, 1 + 29a8: 9360 ld.w r3, (r3, 0x0) + 29aa: 934a ld.w r2, (r3, 0x28) + 29ac: 6884 and r2, r1 + 29ae: 3a40 cmpnei r2, 0 + 29b0: 0c14 bf 0x29d8 // 29d8 + { + RTC->ICR=ALRA_INT; + RTC->KEY=0XCA53; + 29b2: 1057 lrw r2, 0xca53 // 2a0c + RTC->ICR=ALRA_INT; + 29b4: b32b st.w r1, (r3, 0x2c) + RTC->KEY=0XCA53; + 29b6: b34c st.w r2, (r3, 0x30) + RTC->CR=RTC->CR|0x01; + 29b8: 9342 ld.w r2, (r3, 0x8) + 29ba: 6c84 or r2, r1 + 29bc: b342 st.w r2, (r3, 0x8) + RTC->TIMR=(0x10<<16)|(0x00<<8)|(0x00); //Hour bit6->0:am 1:pm + 29be: 3280 movi r2, 128 + 29c0: 424d lsli r2, r2, 13 + 29c2: b340 st.w r2, (r3, 0x0) + while(RTC->CR&0x02); //busy TIMR DATR ALRAR ALRBR Update done + 29c4: 3102 movi r1, 2 + 29c6: 9342 ld.w r2, (r3, 0x8) + 29c8: 6884 and r2, r1 + 29ca: 3a40 cmpnei r2, 0 + 29cc: 0bfd bt 0x29c6 // 29c6 + RTC->CR &= ~0x1; + 29ce: 9342 ld.w r2, (r3, 0x8) + 29d0: 3a80 bclri r2, 0 + 29d2: b342 st.w r2, (r3, 0x8) + } + else if((RTC->MISR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT) //Interrupt of trigger event 1 + { + RTC->ICR=RTC_TRGEV1_INT; + } +} + 29d4: 1463 ipop + 29d6: 1461 nir + else if((RTC->MISR&ALRB_INT)==ALRB_INT) //Interrupt of alarm B + 29d8: 934a ld.w r2, (r3, 0x28) + 29da: 3102 movi r1, 2 + 29dc: 6884 and r2, r1 + 29de: 3a40 cmpnei r2, 0 + 29e0: 0c03 bf 0x29e6 // 29e6 + RTC->ICR=RTC_TRGEV1_INT; + 29e2: b32b st.w r1, (r3, 0x2c) +} + 29e4: 07f8 br 0x29d4 // 29d4 + else if((RTC->MISR&CPRD_INT)==CPRD_INT) //Interrupt of alarm CPRD + 29e6: 934a ld.w r2, (r3, 0x28) + 29e8: 3104 movi r1, 4 + 29ea: 6884 and r2, r1 + 29ec: 3a40 cmpnei r2, 0 + 29ee: 0bfa bt 0x29e2 // 29e2 + else if((RTC->MISR&RTC_TRGEV0_INT)==RTC_TRGEV0_INT) //Interrupt of trigger event 0 + 29f0: 934a ld.w r2, (r3, 0x28) + 29f2: 3108 movi r1, 8 + 29f4: 6884 and r2, r1 + 29f6: 3a40 cmpnei r2, 0 + 29f8: 0bf5 bt 0x29e2 // 29e2 + else if((RTC->MISR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT) //Interrupt of trigger event 1 + 29fa: 934a ld.w r2, (r3, 0x28) + 29fc: 3110 movi r1, 16 + 29fe: 6884 and r2, r1 + 2a00: 3a40 cmpnei r2, 0 + 2a02: 0bf0 bt 0x29e2 // 29e2 + 2a04: 07e8 br 0x29d4 // 29d4 + 2a06: 0000 bkpt + 2a08: 20000018 .long 0x20000018 + 2a0c: 0000ca53 .long 0x0000ca53 + +Disassembly of section .text.UART0IntHandler: + +00002a10 : +//UART0 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART0IntHandler(void) +{ + 2a10: 1460 nie + 2a12: 1462 ipush + 2a14: 14d0 push r15 + char inchar = 0; + + // ISR content ... + if ((UART0->ISR&UART_RX_INT_S)==UART_RX_INT_S) //RX interrupt + 2a16: 1076 lrw r3, 0x20000040 // 2a6c + 2a18: 3102 movi r1, 2 + 2a1a: 9360 ld.w r3, (r3, 0x0) + 2a1c: 9343 ld.w r2, (r3, 0xc) + 2a1e: 6884 and r2, r1 + 2a20: 3a40 cmpnei r2, 0 + 2a22: 0c0b bf 0x2a38 // 2a38 + { + UART0->ISR=UART_RX_INT_S; + 2a24: b323 st.w r1, (r3, 0xc) + inchar = CSP_UART_GET_DATA(UART0); + 2a26: 9300 ld.w r0, (r3, 0x0) + UART0_RecvINT_Processing(inchar); + 2a28: 7400 zextb r0, r0 + 2a2a: e00003a1 bsr 0x316c // 316c + else if ((UART0->ISR&UART_TX_DONE_S)==UART_TX_DONE_S) + { + UART0->ISR=UART_TX_DONE_S; + } + +} + 2a2e: d9ee2000 ld.w r15, (r14, 0x0) + 2a32: 1401 addi r14, r14, 4 + 2a34: 1463 ipop + 2a36: 1461 nir + else if( (UART0->ISR&UART_TX_INT_S)==UART_TX_INT_S ) //TX interrupt + 2a38: 9343 ld.w r2, (r3, 0xc) + 2a3a: 3101 movi r1, 1 + 2a3c: 6884 and r2, r1 + 2a3e: 3a40 cmpnei r2, 0 + 2a40: 0c03 bf 0x2a46 // 2a46 + UART0->ISR=UART_TX_IOV_S; + 2a42: b323 st.w r1, (r3, 0xc) + 2a44: 07f5 br 0x2a2e // 2a2e + else if ((UART0->ISR&UART_RX_IOV_S)==UART_RX_IOV_S) //RX overrun interrupt + 2a46: 9343 ld.w r2, (r3, 0xc) + 2a48: 3108 movi r1, 8 + 2a4a: 6884 and r2, r1 + 2a4c: 3a40 cmpnei r2, 0 + 2a4e: 0bfa bt 0x2a42 // 2a42 + else if ((UART0->ISR&UART_TX_IOV_S)==UART_TX_IOV_S) //TX overrun interrupt + 2a50: 9343 ld.w r2, (r3, 0xc) + 2a52: 3104 movi r1, 4 + 2a54: 6884 and r2, r1 + 2a56: 3a40 cmpnei r2, 0 + 2a58: 0bf5 bt 0x2a42 // 2a42 + else if ((UART0->ISR&UART_TX_DONE_S)==UART_TX_DONE_S) + 2a5a: 3280 movi r2, 128 + 2a5c: 9323 ld.w r1, (r3, 0xc) + 2a5e: 424c lsli r2, r2, 12 + 2a60: 6848 and r1, r2 + 2a62: 3940 cmpnei r1, 0 + 2a64: 0fe5 bf 0x2a2e // 2a2e + UART0->ISR=UART_TX_DONE_S; + 2a66: b343 st.w r2, (r3, 0xc) +} + 2a68: 07e3 br 0x2a2e // 2a2e + 2a6a: 0000 bkpt + 2a6c: 20000040 .long 0x20000040 + +Disassembly of section .text.UART1IntHandler: + +00002a70 : +//UART1 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART1IntHandler(void) +{ + 2a70: 1460 nie + 2a72: 1462 ipush + 2a74: 14d0 push r15 + char inchar = 0; + + // ISR content ... + if ((UART1->ISR&UART_RX_INT_S)==UART_RX_INT_S) //RX interrupt + 2a76: 107f lrw r3, 0x2000003c // 2af0 + 2a78: 3102 movi r1, 2 + 2a7a: 9360 ld.w r3, (r3, 0x0) + 2a7c: 9343 ld.w r2, (r3, 0xc) + 2a7e: 6884 and r2, r1 + 2a80: 3a40 cmpnei r2, 0 + 2a82: 0c0b bf 0x2a98 // 2a98 + { + UART1->ISR=UART_RX_INT_S; + 2a84: b323 st.w r1, (r3, 0xc) + inchar = CSP_UART_GET_DATA(UART1); + 2a86: 9300 ld.w r0, (r3, 0x0) + UART1_RecvINT_Processing(inchar); + 2a88: 7400 zextb r0, r0 + 2a8a: e000038d bsr 0x31a4 // 31a4 + if(RS485_Comm_Flag1 == 0x01){ + RS485_Comm_End1 ++; + } + + } +} + 2a8e: d9ee2000 ld.w r15, (r14, 0x0) + 2a92: 1401 addi r14, r14, 4 + 2a94: 1463 ipop + 2a96: 1461 nir + else if( (UART1->ISR&UART_TX_INT_S)==UART_TX_INT_S ) //TX interrupt + 2a98: 9323 ld.w r1, (r3, 0xc) + 2a9a: 3201 movi r2, 1 + 2a9c: 6848 and r1, r2 + 2a9e: 3940 cmpnei r1, 0 + 2aa0: 0c0d bf 0x2aba // 2aba + UART1->ISR=UART_TX_INT_S; + 2aa2: b343 st.w r2, (r3, 0xc) + RS485_Comming1 = 0x01; + 2aa4: 1074 lrw r3, 0x20000134 // 2af4 + 2aa6: b340 st.w r2, (r3, 0x0) + if(RS485_Comm_Flag1 == 0x01){ + 2aa8: 1074 lrw r3, 0x20000138 // 2af8 + 2aaa: 9360 ld.w r3, (r3, 0x0) + 2aac: 3b41 cmpnei r3, 1 + 2aae: 0bf0 bt 0x2a8e // 2a8e + RS485_Comm_Start1 ++; + 2ab0: 1053 lrw r2, 0x2000013c // 2afc + RS485_Comm_End1 ++; + 2ab2: 9260 ld.w r3, (r2, 0x0) + 2ab4: 2300 addi r3, 1 + 2ab6: b260 st.w r3, (r2, 0x0) +} + 2ab8: 07eb br 0x2a8e // 2a8e + else if ((UART1->ISR&UART_RX_IOV_S)==UART_RX_IOV_S) //RX overrun interrupt + 2aba: 9343 ld.w r2, (r3, 0xc) + 2abc: 3108 movi r1, 8 + 2abe: 6884 and r2, r1 + 2ac0: 3a40 cmpnei r2, 0 + 2ac2: 0c03 bf 0x2ac8 // 2ac8 + UART1->ISR=UART_TX_IOV_S; + 2ac4: b323 st.w r1, (r3, 0xc) + 2ac6: 07e4 br 0x2a8e // 2a8e + else if ((UART1->ISR&UART_TX_IOV_S)==UART_TX_IOV_S) //TX overrun interrupt + 2ac8: 9343 ld.w r2, (r3, 0xc) + 2aca: 3104 movi r1, 4 + 2acc: 6884 and r2, r1 + 2ace: 3a40 cmpnei r2, 0 + 2ad0: 0bfa bt 0x2ac4 // 2ac4 + else if ((UART1->ISR&UART_TX_DONE_S)==UART_TX_DONE_S) + 2ad2: 3180 movi r1, 128 + 2ad4: 9303 ld.w r0, (r3, 0xc) + 2ad6: 412c lsli r1, r1, 12 + 2ad8: 6804 and r0, r1 + 2ada: 3840 cmpnei r0, 0 + 2adc: 0fd9 bf 0x2a8e // 2a8e + UART1->ISR=UART_TX_DONE_S; + 2ade: b323 st.w r1, (r3, 0xc) + RS485_Comming1 = 0x00; + 2ae0: 1065 lrw r3, 0x20000134 // 2af4 + 2ae2: b340 st.w r2, (r3, 0x0) + if(RS485_Comm_Flag1 == 0x01){ + 2ae4: 1065 lrw r3, 0x20000138 // 2af8 + 2ae6: 9360 ld.w r3, (r3, 0x0) + 2ae8: 3b41 cmpnei r3, 1 + 2aea: 0bd2 bt 0x2a8e // 2a8e + RS485_Comm_End1 ++; + 2aec: 1045 lrw r2, 0x20000140 // 2b00 + 2aee: 07e2 br 0x2ab2 // 2ab2 + 2af0: 2000003c .long 0x2000003c + 2af4: 20000134 .long 0x20000134 + 2af8: 20000138 .long 0x20000138 + 2afc: 2000013c .long 0x2000013c + 2b00: 20000140 .long 0x20000140 + +Disassembly of section .text.UART2IntHandler: + +00002b04 : +//UART2 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void UART2IntHandler(void) +{ + 2b04: 1460 nie + 2b06: 1462 ipush + 2b08: 14d0 push r15 + char inchar = 0; + + // ISR content ... + if ((UART2->ISR&UART_RX_INT_S)==UART_RX_INT_S) //RX interrupt + 2b0a: 107f lrw r3, 0x20000038 // 2b84 + 2b0c: 3102 movi r1, 2 + 2b0e: 9360 ld.w r3, (r3, 0x0) + 2b10: 9343 ld.w r2, (r3, 0xc) + 2b12: 6884 and r2, r1 + 2b14: 3a40 cmpnei r2, 0 + 2b16: 0c0b bf 0x2b2c // 2b2c + { + UART2->ISR=UART_RX_INT_S; + 2b18: b323 st.w r1, (r3, 0xc) + inchar = CSP_UART_GET_DATA(UART2); + 2b1a: 9300 ld.w r0, (r3, 0x0) + UART2_RecvINT_Processing(inchar); + 2b1c: 7400 zextb r0, r0 + 2b1e: e0000395 bsr 0x3248 // 3248 + RS485_Comm_End ++; + } + + } + +} + 2b22: d9ee2000 ld.w r15, (r14, 0x0) + 2b26: 1401 addi r14, r14, 4 + 2b28: 1463 ipop + 2b2a: 1461 nir + else if( (UART2->ISR&UART_TX_INT_S)==UART_TX_INT_S ) //TX interrupt + 2b2c: 9323 ld.w r1, (r3, 0xc) + 2b2e: 3201 movi r2, 1 + 2b30: 6848 and r1, r2 + 2b32: 3940 cmpnei r1, 0 + 2b34: 0c0d bf 0x2b4e // 2b4e + UART2->ISR=UART_TX_INT_S; + 2b36: b343 st.w r2, (r3, 0xc) + RS485_Comming = 0x01; + 2b38: 1074 lrw r3, 0x20000124 // 2b88 + 2b3a: b340 st.w r2, (r3, 0x0) + if(RS485_Comm_Flag == 0x01){ + 2b3c: 1074 lrw r3, 0x20000128 // 2b8c + 2b3e: 9360 ld.w r3, (r3, 0x0) + 2b40: 3b41 cmpnei r3, 1 + 2b42: 0bf0 bt 0x2b22 // 2b22 + RS485_Comm_Start ++; + 2b44: 1053 lrw r2, 0x2000012c // 2b90 + RS485_Comm_End ++; + 2b46: 9260 ld.w r3, (r2, 0x0) + 2b48: 2300 addi r3, 1 + 2b4a: b260 st.w r3, (r2, 0x0) +} + 2b4c: 07eb br 0x2b22 // 2b22 + else if ((UART2->ISR&UART_RX_IOV_S)==UART_RX_IOV_S) //RX overrun interrupt + 2b4e: 9343 ld.w r2, (r3, 0xc) + 2b50: 3108 movi r1, 8 + 2b52: 6884 and r2, r1 + 2b54: 3a40 cmpnei r2, 0 + 2b56: 0c03 bf 0x2b5c // 2b5c + UART2->ISR=UART_TX_IOV_S; + 2b58: b323 st.w r1, (r3, 0xc) + 2b5a: 07e4 br 0x2b22 // 2b22 + else if ((UART2->ISR&UART_TX_IOV_S)==UART_TX_IOV_S) //TX overrun interrupt + 2b5c: 9343 ld.w r2, (r3, 0xc) + 2b5e: 3104 movi r1, 4 + 2b60: 6884 and r2, r1 + 2b62: 3a40 cmpnei r2, 0 + 2b64: 0bfa bt 0x2b58 // 2b58 + else if ((UART2->ISR&UART_TX_DONE_S)==UART_TX_DONE_S) + 2b66: 3180 movi r1, 128 + 2b68: 9303 ld.w r0, (r3, 0xc) + 2b6a: 412c lsli r1, r1, 12 + 2b6c: 6804 and r0, r1 + 2b6e: 3840 cmpnei r0, 0 + 2b70: 0fd9 bf 0x2b22 // 2b22 + UART2->ISR=UART_TX_DONE_S; + 2b72: b323 st.w r1, (r3, 0xc) + RS485_Comming = 0x00; + 2b74: 1065 lrw r3, 0x20000124 // 2b88 + 2b76: b340 st.w r2, (r3, 0x0) + if(RS485_Comm_Flag == 0x01){ + 2b78: 1065 lrw r3, 0x20000128 // 2b8c + 2b7a: 9360 ld.w r3, (r3, 0x0) + 2b7c: 3b41 cmpnei r3, 1 + 2b7e: 0bd2 bt 0x2b22 // 2b22 + RS485_Comm_End ++; + 2b80: 1045 lrw r2, 0x20000130 // 2b94 + 2b82: 07e2 br 0x2b46 // 2b46 + 2b84: 20000038 .long 0x20000038 + 2b88: 20000124 .long 0x20000124 + 2b8c: 20000128 .long 0x20000128 + 2b90: 2000012c .long 0x2000012c + 2b94: 20000130 .long 0x20000130 + +Disassembly of section .text.SPI0IntHandler: + +00002b98 : +//SPI Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SPI0IntHandler(void) +{ + 2b98: 1460 nie + 2b9a: 1462 ipush + // ISR content ... + if((SPI0->MISR&SPI_PORIM)==SPI_PORIM) //Receive Overrun Interrupt + 2b9c: 1178 lrw r3, 0x20000034 // 2c7c + 2b9e: 3101 movi r1, 1 + 2ba0: 9360 ld.w r3, (r3, 0x0) + 2ba2: 9347 ld.w r2, (r3, 0x1c) + 2ba4: 6884 and r2, r1 + 2ba6: 3a40 cmpnei r2, 0 + 2ba8: 0c03 bf 0x2bae // 2bae + } + } + } + else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM) //Transmit FIFO Interrupt + { + SPI0->ICR = SPI_TXIM; + 2baa: b328 st.w r1, (r3, 0x20) + } + +} + 2bac: 0407 br 0x2bba // 2bba + else if((SPI0->MISR&SPI_RTIM)==SPI_RTIM) //Receive Timeout Interrupt + 2bae: 9347 ld.w r2, (r3, 0x1c) + 2bb0: 3002 movi r0, 2 + 2bb2: 6880 and r2, r0 + 2bb4: 3a40 cmpnei r2, 0 + 2bb6: 0c04 bf 0x2bbe // 2bbe + SPI0->ICR = SPI_RTIM; + 2bb8: b308 st.w r0, (r3, 0x20) +} + 2bba: 1463 ipop + 2bbc: 1461 nir + else if((SPI0->MISR&SPI_RXIM)==SPI_RXIM) //Receive FIFO Interrupt,FIFO can be set 1/8,1/4,1/2 FIFO Interrupt + 2bbe: 9347 ld.w r2, (r3, 0x1c) + 2bc0: 3004 movi r0, 4 + 2bc2: 6880 and r2, r0 + 2bc4: 3a40 cmpnei r2, 0 + 2bc6: 0c55 bf 0x2c70 // 2c70 + SPI0->ICR = SPI_RXIM; + 2bc8: b308 st.w r0, (r3, 0x20) + if(SPI0->DR==0xaa) + 2bca: 9302 ld.w r0, (r3, 0x8) + 2bcc: 32aa movi r2, 170 + 2bce: 6482 cmpne r0, r2 + 2bd0: 083e bt 0x2c4c // 2c4c + while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? + 2bd2: 3102 movi r1, 2 + 2bd4: 9343 ld.w r2, (r3, 0xc) + 2bd6: 6884 and r2, r1 + 2bd8: 3a40 cmpnei r2, 0 + 2bda: 0ffd bf 0x2bd4 // 2bd4 + SPI0->DR = 0x11; + 2bdc: 3211 movi r2, 17 + 2bde: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2be0: 3110 movi r1, 16 + 2be2: 9343 ld.w r2, (r3, 0xc) + 2be4: 6884 and r2, r1 + 2be6: 3a40 cmpnei r2, 0 + 2be8: 0bfd bt 0x2be2 // 2be2 + while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? + 2bea: 3102 movi r1, 2 + 2bec: 9343 ld.w r2, (r3, 0xc) + 2bee: 6884 and r2, r1 + 2bf0: 3a40 cmpnei r2, 0 + 2bf2: 0ffd bf 0x2bec // 2bec + SPI0->DR = 0x12; + 2bf4: 3212 movi r2, 18 + 2bf6: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2bf8: 3110 movi r1, 16 + 2bfa: 9343 ld.w r2, (r3, 0xc) + 2bfc: 6884 and r2, r1 + 2bfe: 3a40 cmpnei r2, 0 + 2c00: 0bfd bt 0x2bfa // 2bfa + while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? + 2c02: 3102 movi r1, 2 + 2c04: 9343 ld.w r2, (r3, 0xc) + 2c06: 6884 and r2, r1 + 2c08: 3a40 cmpnei r2, 0 + 2c0a: 0ffd bf 0x2c04 // 2c04 + SPI0->DR = 0x13; + 2c0c: 3213 movi r2, 19 + 2c0e: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2c10: 3110 movi r1, 16 + 2c12: 9343 ld.w r2, (r3, 0xc) + 2c14: 6884 and r2, r1 + 2c16: 3a40 cmpnei r2, 0 + 2c18: 0bfd bt 0x2c12 // 2c12 + while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? + 2c1a: 3102 movi r1, 2 + 2c1c: 9343 ld.w r2, (r3, 0xc) + 2c1e: 6884 and r2, r1 + 2c20: 3a40 cmpnei r2, 0 + 2c22: 0ffd bf 0x2c1c // 2c1c + SPI0->DR = 0x14; + 2c24: 3214 movi r2, 20 + 2c26: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2c28: 3110 movi r1, 16 + 2c2a: 9343 ld.w r2, (r3, 0xc) + 2c2c: 6884 and r2, r1 + 2c2e: 3a40 cmpnei r2, 0 + 2c30: 0bfd bt 0x2c2a // 2c2a + while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? + 2c32: 3102 movi r1, 2 + 2c34: 9343 ld.w r2, (r3, 0xc) + 2c36: 6884 and r2, r1 + 2c38: 3a40 cmpnei r2, 0 + 2c3a: 0ffd bf 0x2c34 // 2c34 + SPI0->DR = 0x15; + 2c3c: 3215 movi r2, 21 + 2c3e: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2c40: 3110 movi r1, 16 + 2c42: 9343 ld.w r2, (r3, 0xc) + 2c44: 6884 and r2, r1 + 2c46: 3a40 cmpnei r2, 0 + 2c48: 0bfd bt 0x2c42 // 2c42 + 2c4a: 07b8 br 0x2bba // 2bba + if(((SPI0->SR) & SSP_TFE)!=SSP_TFE) + 2c4c: 9343 ld.w r2, (r3, 0xc) + 2c4e: 6884 and r2, r1 + 2c50: 3a40 cmpnei r2, 0 + 2c52: 0bb4 bt 0x2bba // 2bba + SPI0->DR=0x0; //FIFO=0 + 2c54: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2c56: 3110 movi r1, 16 + SPI0->DR=0x0; //FIFO=0 + 2c58: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c5a: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c5c: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c5e: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c60: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c62: b342 st.w r2, (r3, 0x8) + SPI0->DR=0x0; //FIFO=0 + 2c64: b342 st.w r2, (r3, 0x8) + while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? + 2c66: 9343 ld.w r2, (r3, 0xc) + 2c68: 6884 and r2, r1 + 2c6a: 3a40 cmpnei r2, 0 + 2c6c: 0bfd bt 0x2c66 // 2c66 + 2c6e: 07a6 br 0x2bba // 2bba + else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM) //Transmit FIFO Interrupt + 2c70: 9347 ld.w r2, (r3, 0x1c) + 2c72: 3108 movi r1, 8 + 2c74: 6884 and r2, r1 + 2c76: 3a40 cmpnei r2, 0 + 2c78: 0b99 bt 0x2baa // 2baa + 2c7a: 07a0 br 0x2bba // 2bba + 2c7c: 20000034 .long 0x20000034 + +Disassembly of section .text.SIO0IntHandler: + +00002c80 : +//SIO Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void SIO0IntHandler(void) +{ + 2c80: 1460 nie + 2c82: 1462 ipush + CK801->IPR[4]=0X40404040; + CK801->IPR[5]=0X40404000; + CK801->IPR[6]=0X40404040; + CK801->IPR[7]=0X40404040;*/ + //TXBUFEMPT The sequence length exceeds 15bit needs to be updated into this interrupt + if(SIO0->MISR&0X04) + 2c84: 1073 lrw r3, 0x2000002c // 2cd0 + 2c86: 3104 movi r1, 4 + 2c88: 9360 ld.w r3, (r3, 0x0) + 2c8a: 9349 ld.w r2, (r3, 0x24) + 2c8c: 6884 and r2, r1 + 2c8e: 3a40 cmpnei r2, 0 + 2c90: 0c02 bf 0x2c94 // 2c94 + { + SIO0->ICR=0X04; + 2c92: b32b st.w r1, (r3, 0x2c) + + } + if(SIO0->MISR&0X01) //TXDNE 发送完成 + 2c94: 9349 ld.w r2, (r3, 0x24) + 2c96: 3101 movi r1, 1 + 2c98: 6884 and r2, r1 + 2c9a: 3a40 cmpnei r2, 0 + 2c9c: 0c02 bf 0x2ca0 // 2ca0 + { + SIO0->ICR=0X01; + 2c9e: b32b st.w r1, (r3, 0x2c) + delay_nms(10); + SIO0->TXBUF=(0x03<<30)|(0x02<<28)|(0x03<<26)|(0x02<<24)|(0x03<<22)|(0x02<<20)|(0x03<<18)|(0x02<<16)| + (0x01<<14)|(0x00<<12)|(0x01<<10)|(0x00<<8)|(0x01<<6)|(0x00<<4)|(0x01<<2)|(0x0<<0); //0:D0,1:D1,2:DL,3:DH; + }*/ + + if(SIO0->MISR&0X02) //RXDNE + 2ca0: 9349 ld.w r2, (r3, 0x24) + 2ca2: 3102 movi r1, 2 + 2ca4: 6884 and r2, r1 + 2ca6: 3a40 cmpnei r2, 0 + 2ca8: 0c03 bf 0x2cae // 2cae + { + SIO0->ICR=0X10; + } + else if(SIO0->MISR&0X020) //TIMEOUT + { + SIO0->ICR=0X20; + 2caa: b32b st.w r1, (r3, 0x2c) + } +} + 2cac: 0410 br 0x2ccc // 2ccc + else if(SIO0->MISR&0X08) //RXBUFFULL + 2cae: 9349 ld.w r2, (r3, 0x24) + 2cb0: 3108 movi r1, 8 + 2cb2: 6884 and r2, r1 + 2cb4: 3a40 cmpnei r2, 0 + 2cb6: 0bfa bt 0x2caa // 2caa + else if(SIO0->MISR&0X010) //BREAK + 2cb8: 9349 ld.w r2, (r3, 0x24) + 2cba: 3110 movi r1, 16 + 2cbc: 6884 and r2, r1 + 2cbe: 3a40 cmpnei r2, 0 + 2cc0: 0bf5 bt 0x2caa // 2caa + else if(SIO0->MISR&0X020) //TIMEOUT + 2cc2: 9349 ld.w r2, (r3, 0x24) + 2cc4: 3120 movi r1, 32 + 2cc6: 6884 and r2, r1 + 2cc8: 3a40 cmpnei r2, 0 + 2cca: 0bf0 bt 0x2caa // 2caa +} + 2ccc: 1463 ipop + 2cce: 1461 nir + 2cd0: 2000002c .long 0x2000002c + +Disassembly of section .text.EXI0IntHandler: + +00002cd4 : +//EXT0/16 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI0IntHandler(void) +{ + 2cd4: 1460 nie + 2cd6: 1462 ipush + // ISR content ... + if ((SYSCON->EXIRS&EXI_PIN0)==EXI_PIN0) //EXT0 Interrupt + 2cd8: 106a lrw r3, 0x2000005c // 2d00 + 2cda: 3101 movi r1, 1 + 2cdc: 9360 ld.w r3, (r3, 0x0) + 2cde: 237f addi r3, 128 + 2ce0: 934c ld.w r2, (r3, 0x30) + 2ce2: 6884 and r2, r1 + 2ce4: 3a40 cmpnei r2, 0 + 2ce6: 0c04 bf 0x2cee // 2cee + { + SYSCON->EXICR = EXI_PIN0; + 2ce8: b32b st.w r1, (r3, 0x2c) + } + else if ((SYSCON->EXIRS&EXI_PIN16)==EXI_PIN16) //EXT16 Interrupt + { + SYSCON->EXICR = EXI_PIN16; + } +} + 2cea: 1463 ipop + 2cec: 1461 nir + else if ((SYSCON->EXIRS&EXI_PIN16)==EXI_PIN16) //EXT16 Interrupt + 2cee: 3280 movi r2, 128 + 2cf0: 932c ld.w r1, (r3, 0x30) + 2cf2: 4249 lsli r2, r2, 9 + 2cf4: 6848 and r1, r2 + 2cf6: 3940 cmpnei r1, 0 + 2cf8: 0ff9 bf 0x2cea // 2cea + SYSCON->EXICR = EXI_PIN16; + 2cfa: b34b st.w r2, (r3, 0x2c) +} + 2cfc: 07f7 br 0x2cea // 2cea + 2cfe: 0000 bkpt + 2d00: 2000005c .long 0x2000005c + +Disassembly of section .text.EXI1IntHandler: + +00002d04 : +//EXT1/17 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI1IntHandler(void) +{ + 2d04: 1460 nie + 2d06: 1462 ipush + // ISR content ... + if ((SYSCON->EXIRS&EXI_PIN1)==EXI_PIN1) //EXT1 Interrupt + 2d08: 106a lrw r3, 0x2000005c // 2d30 + 2d0a: 3102 movi r1, 2 + 2d0c: 9360 ld.w r3, (r3, 0x0) + 2d0e: 237f addi r3, 128 + 2d10: 934c ld.w r2, (r3, 0x30) + 2d12: 6884 and r2, r1 + 2d14: 3a40 cmpnei r2, 0 + 2d16: 0c04 bf 0x2d1e // 2d1e + { + SYSCON->EXICR = EXI_PIN1; + 2d18: b32b st.w r1, (r3, 0x2c) + } + else if ((SYSCON->EXIRS&EXI_PIN17)==EXI_PIN17) //EXT17 Interrupt + { + SYSCON->EXICR = EXI_PIN17; + } +} + 2d1a: 1463 ipop + 2d1c: 1461 nir + else if ((SYSCON->EXIRS&EXI_PIN17)==EXI_PIN17) //EXT17 Interrupt + 2d1e: 3280 movi r2, 128 + 2d20: 932c ld.w r1, (r3, 0x30) + 2d22: 424a lsli r2, r2, 10 + 2d24: 6848 and r1, r2 + 2d26: 3940 cmpnei r1, 0 + 2d28: 0ff9 bf 0x2d1a // 2d1a + SYSCON->EXICR = EXI_PIN17; + 2d2a: b34b st.w r2, (r3, 0x2c) +} + 2d2c: 07f7 br 0x2d1a // 2d1a + 2d2e: 0000 bkpt + 2d30: 2000005c .long 0x2000005c + +Disassembly of section .text.EXI2to3IntHandler: + +00002d34 : +//EXI2~3 18~19Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI2to3IntHandler(void) +{ + 2d34: 1460 nie + 2d36: 1462 ipush + // ISR content ... + if ((SYSCON->EXIRS&EXI_PIN2)==EXI_PIN2) //EXT2 Interrupt + 2d38: 1070 lrw r3, 0x2000005c // 2d78 + 2d3a: 3104 movi r1, 4 + 2d3c: 9360 ld.w r3, (r3, 0x0) + 2d3e: 237f addi r3, 128 + 2d40: 934c ld.w r2, (r3, 0x30) + 2d42: 6884 and r2, r1 + 2d44: 3a40 cmpnei r2, 0 + 2d46: 0c04 bf 0x2d4e // 2d4e + SYSCON->EXICR = EXI_PIN2; +// RLY_State_Multi_Control(); + } + else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) //EXT3 Interrupt + { + SYSCON->EXICR = EXI_PIN3; + 2d48: b32b st.w r1, (r3, 0x2c) + } + else if ((SYSCON->EXIRS&EXI_PIN19)==EXI_PIN19) //EXT19 Interrupt + { + SYSCON->EXICR = EXI_PIN19; + } +} + 2d4a: 1463 ipop + 2d4c: 1461 nir + else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) //EXT3 Interrupt + 2d4e: 934c ld.w r2, (r3, 0x30) + 2d50: 3108 movi r1, 8 + 2d52: 6884 and r2, r1 + 2d54: 3a40 cmpnei r2, 0 + 2d56: 0bf9 bt 0x2d48 // 2d48 + else if ((SYSCON->EXIRS&EXI_PIN18)==EXI_PIN18) //EXT18 Interrupt + 2d58: 3280 movi r2, 128 + 2d5a: 932c ld.w r1, (r3, 0x30) + 2d5c: 424b lsli r2, r2, 11 + 2d5e: 6848 and r1, r2 + 2d60: 3940 cmpnei r1, 0 + 2d62: 0c03 bf 0x2d68 // 2d68 + SYSCON->EXICR = EXI_PIN19; + 2d64: b34b st.w r2, (r3, 0x2c) +} + 2d66: 07f2 br 0x2d4a // 2d4a + else if ((SYSCON->EXIRS&EXI_PIN19)==EXI_PIN19) //EXT19 Interrupt + 2d68: 3280 movi r2, 128 + 2d6a: 932c ld.w r1, (r3, 0x30) + 2d6c: 424c lsli r2, r2, 12 + 2d6e: 6848 and r1, r2 + 2d70: 3940 cmpnei r1, 0 + 2d72: 0bf9 bt 0x2d64 // 2d64 + 2d74: 07eb br 0x2d4a // 2d4a + 2d76: 0000 bkpt + 2d78: 2000005c .long 0x2000005c + +Disassembly of section .text.EXI4to9IntHandler: + +00002d7c : +//EXI4~9 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI4to9IntHandler(void) +{ + 2d7c: 1460 nie + 2d7e: 1462 ipush + 2d80: 14d0 push r15 + // ISR content ... + if ((SYSCON->EXIRS&EXI_PIN4)==EXI_PIN4) //EXT4 Interrupt + 2d82: 1079 lrw r3, 0x2000005c // 2de4 + 2d84: 3280 movi r2, 128 + 2d86: 9360 ld.w r3, (r3, 0x0) + 2d88: 60c8 addu r3, r2 + 2d8a: 932c ld.w r1, (r3, 0x30) + 2d8c: 3010 movi r0, 16 + 2d8e: 6840 and r1, r0 + 2d90: 3940 cmpnei r1, 0 + 2d92: 0c03 bf 0x2d98 // 2d98 + BusBusy_Task(); + + } + else if ((SYSCON->EXIRS&EXI_PIN6)==EXI_PIN6) //EXT6 Interrupt + { + SYSCON->EXICR = EXI_PIN6; + 2d94: b30b st.w r0, (r3, 0x2c) + 2d96: 0409 br 0x2da8 // 2da8 + else if ((SYSCON->EXIRS&EXI_PIN5)==EXI_PIN5) //EXT5 Interrupt + 2d98: 932c ld.w r1, (r3, 0x30) + 2d9a: 3020 movi r0, 32 + 2d9c: 6840 and r1, r0 + 2d9e: 3940 cmpnei r1, 0 + 2da0: 0c09 bf 0x2db2 // 2db2 + SYSCON->EXICR = EXI_PIN5; + 2da2: b30b st.w r0, (r3, 0x2c) + BusBusy_Task(); + 2da4: e000040c bsr 0x35bc // 35bc + else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) //EXT9 Interrupt + { + SYSCON->EXICR = EXI_PIN9; + } + +} + 2da8: d9ee2000 ld.w r15, (r14, 0x0) + 2dac: 1401 addi r14, r14, 4 + 2dae: 1463 ipop + 2db0: 1461 nir + else if ((SYSCON->EXIRS&EXI_PIN6)==EXI_PIN6) //EXT6 Interrupt + 2db2: 932c ld.w r1, (r3, 0x30) + 2db4: 3040 movi r0, 64 + 2db6: 6840 and r1, r0 + 2db8: 3940 cmpnei r1, 0 + 2dba: 0bed bt 0x2d94 // 2d94 + else if ((SYSCON->EXIRS&EXI_PIN7)==EXI_PIN7) //EXT7 Interrupt + 2dbc: 932c ld.w r1, (r3, 0x30) + 2dbe: 6848 and r1, r2 + 2dc0: 3940 cmpnei r1, 0 + 2dc2: 0c03 bf 0x2dc8 // 2dc8 + SYSCON->EXICR = EXI_PIN9; + 2dc4: b34b st.w r2, (r3, 0x2c) +} + 2dc6: 07f1 br 0x2da8 // 2da8 + else if ((SYSCON->EXIRS&EXI_PIN8)==EXI_PIN8) //EXT8 Interrupt + 2dc8: 3280 movi r2, 128 + 2dca: 932c ld.w r1, (r3, 0x30) + 2dcc: 4241 lsli r2, r2, 1 + 2dce: 6848 and r1, r2 + 2dd0: 3940 cmpnei r1, 0 + 2dd2: 0bf9 bt 0x2dc4 // 2dc4 + else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) //EXT9 Interrupt + 2dd4: 3280 movi r2, 128 + 2dd6: 932c ld.w r1, (r3, 0x30) + 2dd8: 4242 lsli r2, r2, 2 + 2dda: 6848 and r1, r2 + 2ddc: 3940 cmpnei r1, 0 + 2dde: 0bf3 bt 0x2dc4 // 2dc4 + 2de0: 07e4 br 0x2da8 // 2da8 + 2de2: 0000 bkpt + 2de4: 2000005c .long 0x2000005c + +Disassembly of section .text.EXI10to15IntHandler: + +00002de8 : +//EXI4 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void EXI10to15IntHandler(void) +{ + 2de8: 1460 nie + 2dea: 1462 ipush + // ISR content ... + if ((SYSCON->EXIRS&EXI_PIN10)==EXI_PIN10) //EXT10 Interrupt + 2dec: 1076 lrw r3, 0x2000005c // 2e44 + 2dee: 3280 movi r2, 128 + 2df0: 9360 ld.w r3, (r3, 0x0) + 2df2: 237f addi r3, 128 + 2df4: 932c ld.w r1, (r3, 0x30) + 2df6: 4243 lsli r2, r2, 3 + 2df8: 6848 and r1, r2 + 2dfa: 3940 cmpnei r1, 0 + 2dfc: 0c03 bf 0x2e02 // 2e02 + SYSCON->EXICR = EXI_PIN14; + + } + else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) //EXT15 Interrupt + { + SYSCON->EXICR = EXI_PIN15; + 2dfe: b34b st.w r2, (r3, 0x2c) + } +} + 2e00: 041f br 0x2e3e // 2e3e + else if ((SYSCON->EXIRS&EXI_PIN11)==EXI_PIN11) //EXT11 Interrupt + 2e02: 3280 movi r2, 128 + 2e04: 932c ld.w r1, (r3, 0x30) + 2e06: 4244 lsli r2, r2, 4 + 2e08: 6848 and r1, r2 + 2e0a: 3940 cmpnei r1, 0 + 2e0c: 0bf9 bt 0x2dfe // 2dfe + else if ((SYSCON->EXIRS&EXI_PIN12)==EXI_PIN12) //EXT12 Interrupt + 2e0e: 3280 movi r2, 128 + 2e10: 932c ld.w r1, (r3, 0x30) + 2e12: 4245 lsli r2, r2, 5 + 2e14: 6848 and r1, r2 + 2e16: 3940 cmpnei r1, 0 + 2e18: 0bf3 bt 0x2dfe // 2dfe + else if ((SYSCON->EXIRS&EXI_PIN13)==EXI_PIN13) //EXT13 Interrupt + 2e1a: 3280 movi r2, 128 + 2e1c: 932c ld.w r1, (r3, 0x30) + 2e1e: 4246 lsli r2, r2, 6 + 2e20: 6848 and r1, r2 + 2e22: 3940 cmpnei r1, 0 + 2e24: 0bed bt 0x2dfe // 2dfe + else if ((SYSCON->EXIRS&EXI_PIN14)==EXI_PIN14) //EXT14 Interrupt + 2e26: 3280 movi r2, 128 + 2e28: 932c ld.w r1, (r3, 0x30) + 2e2a: 4247 lsli r2, r2, 7 + 2e2c: 6848 and r1, r2 + 2e2e: 3940 cmpnei r1, 0 + 2e30: 0be7 bt 0x2dfe // 2dfe + else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) //EXT15 Interrupt + 2e32: 3280 movi r2, 128 + 2e34: 932c ld.w r1, (r3, 0x30) + 2e36: 4248 lsli r2, r2, 8 + 2e38: 6848 and r1, r2 + 2e3a: 3940 cmpnei r1, 0 + 2e3c: 0be1 bt 0x2dfe // 2dfe +} + 2e3e: 1463 ipop + 2e40: 1461 nir + 2e42: 0000 bkpt + 2e44: 2000005c .long 0x2000005c + +Disassembly of section .text.LPTIntHandler: + +00002e48 : +//LPT Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void LPTIntHandler(void) +{ + 2e48: 1460 nie + 2e4a: 1462 ipush + // ISR content ... + if((LPT->MISR&LPT_TRGEV0)==LPT_TRGEV0) //TRGEV0 interrupt + 2e4c: 106b lrw r3, 0x20000014 // 2e78 + 2e4e: 3101 movi r1, 1 + 2e50: 9360 ld.w r3, (r3, 0x0) + 2e52: 934e ld.w r2, (r3, 0x38) + 2e54: 6884 and r2, r1 + 2e56: 3a40 cmpnei r2, 0 + 2e58: 0c03 bf 0x2e5e // 2e5e + { + LPT->ICR = LPT_MATCH; + } + else if((LPT->MISR&LPT_PEND)==LPT_PEND) //PEND interrupt + { + LPT->ICR = LPT_PEND; + 2e5a: b330 st.w r1, (r3, 0x40) + } +} + 2e5c: 040b br 0x2e72 // 2e72 + else if((LPT->MISR&LPT_MATCH)==LPT_MATCH) //MATCH interrupt + 2e5e: 934e ld.w r2, (r3, 0x38) + 2e60: 3102 movi r1, 2 + 2e62: 6884 and r2, r1 + 2e64: 3a40 cmpnei r2, 0 + 2e66: 0bfa bt 0x2e5a // 2e5a + else if((LPT->MISR&LPT_PEND)==LPT_PEND) //PEND interrupt + 2e68: 934e ld.w r2, (r3, 0x38) + 2e6a: 3104 movi r1, 4 + 2e6c: 6884 and r2, r1 + 2e6e: 3a40 cmpnei r2, 0 + 2e70: 0bf5 bt 0x2e5a // 2e5a +} + 2e72: 1463 ipop + 2e74: 1461 nir + 2e76: 0000 bkpt + 2e78: 20000014 .long 0x20000014 + +Disassembly of section .text.BT0IntHandler: + +00002e7c : +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +U8_T BT_TEMP_State = 1; +void BT0IntHandler(void) +{ + 2e7c: 1460 nie + 2e7e: 1462 ipush + // ISR content ... + if((BT0->MISR&BT_PEND)==BT_PEND) //BT0 PEND interrupt + 2e80: 1071 lrw r3, 0x2000000c // 2ec4 + 2e82: 3101 movi r1, 1 + 2e84: 9360 ld.w r3, (r3, 0x0) + 2e86: 934c ld.w r2, (r3, 0x30) + 2e88: 6884 and r2, r1 + 2e8a: 3a40 cmpnei r2, 0 + 2e8c: 0c0a bf 0x2ea0 // 2ea0 + { + BT0->ICR = BT_PEND; + 2e8e: b32d st.w r1, (r3, 0x34) + + //BT_Stop_Low(BT0); + + BT0->CR =BT0->CR & ~(0x01<<6); + 2e90: 9341 ld.w r2, (r3, 0x4) + 2e92: 3a86 bclri r2, 6 + 2e94: b341 st.w r2, (r3, 0x4) + BT0->RSSR &=0X0; + 2e96: 9340 ld.w r2, (r3, 0x0) + 2e98: 3200 movi r2, 0 + 2e9a: b340 st.w r2, (r3, 0x0) + } + else if((BT0->MISR&BT_EVTRG)==BT_EVTRG) //BT0 Event trigger interrupt + { + BT0->ICR = BT_EVTRG; + } +} + 2e9c: 1463 ipop + 2e9e: 1461 nir + else if((BT0->MISR&BT_CMP)==BT_CMP) //BT0 CMP Match interrupt + 2ea0: 934c ld.w r2, (r3, 0x30) + 2ea2: 3102 movi r1, 2 + 2ea4: 6884 and r2, r1 + 2ea6: 3a40 cmpnei r2, 0 + 2ea8: 0c03 bf 0x2eae // 2eae + BT0->ICR = BT_EVTRG; + 2eaa: b32d st.w r1, (r3, 0x34) +} + 2eac: 07f8 br 0x2e9c // 2e9c + else if((BT0->MISR&BT_OVF)==BT_OVF) //BT0 OVF interrupt + 2eae: 934c ld.w r2, (r3, 0x30) + 2eb0: 3104 movi r1, 4 + 2eb2: 6884 and r2, r1 + 2eb4: 3a40 cmpnei r2, 0 + 2eb6: 0bfa bt 0x2eaa // 2eaa + else if((BT0->MISR&BT_EVTRG)==BT_EVTRG) //BT0 Event trigger interrupt + 2eb8: 934c ld.w r2, (r3, 0x30) + 2eba: 3108 movi r1, 8 + 2ebc: 6884 and r2, r1 + 2ebe: 3a40 cmpnei r2, 0 + 2ec0: 0bf5 bt 0x2eaa // 2eaa + 2ec2: 07ed br 0x2e9c // 2e9c + 2ec4: 2000000c .long 0x2000000c + +Disassembly of section .text.BT1IntHandler: + +00002ec8 : +//BT1 Interrupt +//EntryParameter:NONE +//ReturnValue:NONE +/*************************************************************/ +void BT1IntHandler(void) +{ + 2ec8: 1460 nie + 2eca: 1462 ipush + 2ecc: 14d0 push r15 + static U8_T NUM = 0; + // ISR content ... + if((BT1->MISR&BT_PEND)==BT_PEND) //BT1 PEND interrupt + 2ece: 1079 lrw r3, 0x20000008 // 2f30 + 2ed0: 3101 movi r1, 1 + 2ed2: 9360 ld.w r3, (r3, 0x0) + 2ed4: 934c ld.w r2, (r3, 0x30) + 2ed6: 6884 and r2, r1 + 2ed8: 3a40 cmpnei r2, 0 + 2eda: 0c03 bf 0x2ee0 // 2ee0 + { + BT1->ICR = BT_OVF; + } + else if((BT1->MISR&BT_EVTRG)==BT_EVTRG) //BT1 Event trigger interrupt + { + BT1->ICR = BT_EVTRG; + 2edc: b32d st.w r1, (r3, 0x34) + } +} + 2ede: 0418 br 0x2f0e // 2f0e + else if((BT1->MISR&BT_CMP)==BT_CMP) //BT1 CMP Match interrupt + 2ee0: 934c ld.w r2, (r3, 0x30) + 2ee2: 3102 movi r1, 2 + 2ee4: 6884 and r2, r1 + 2ee6: 3a40 cmpnei r2, 0 + 2ee8: 0c18 bf 0x2f18 // 2f18 + BT1->ICR = BT_CMP; + 2eea: b32d st.w r1, (r3, 0x34) + NUM++; + 2eec: 1072 lrw r3, 0x200000b0 // 2f34 + 2eee: 8340 ld.b r2, (r3, 0x0) + 2ef0: 2200 addi r2, 1 + 2ef2: 7488 zextb r2, r2 + SysTick_100us++; + 2ef4: 9321 ld.w r1, (r3, 0x4) + 2ef6: 2100 addi r1, 1 + if(NUM >= 10){ + 2ef8: 3a09 cmphsi r2, 10 + NUM++; + 2efa: a340 st.b r2, (r3, 0x0) + SysTick_100us++; + 2efc: b321 st.w r1, (r3, 0x4) + if(NUM >= 10){ + 2efe: 0c08 bf 0x2f0e // 2f0e + NUM = 0; + 2f00: 3200 movi r2, 0 + 2f02: a340 st.b r2, (r3, 0x0) + SysTick_1ms++; + 2f04: 9342 ld.w r2, (r3, 0x8) + 2f06: 2200 addi r2, 1 + 2f08: b342 st.w r2, (r3, 0x8) + BusIdle_Task(); + 2f0a: e0000339 bsr 0x357c // 357c +} + 2f0e: d9ee2000 ld.w r15, (r14, 0x0) + 2f12: 1401 addi r14, r14, 4 + 2f14: 1463 ipop + 2f16: 1461 nir + else if((BT1->MISR&BT_OVF)==BT_OVF) //BT1 OVF interrupt + 2f18: 934c ld.w r2, (r3, 0x30) + 2f1a: 3104 movi r1, 4 + 2f1c: 6884 and r2, r1 + 2f1e: 3a40 cmpnei r2, 0 + 2f20: 0bde bt 0x2edc // 2edc + else if((BT1->MISR&BT_EVTRG)==BT_EVTRG) //BT1 Event trigger interrupt + 2f22: 934c ld.w r2, (r3, 0x30) + 2f24: 3108 movi r1, 8 + 2f26: 6884 and r2, r1 + 2f28: 3a40 cmpnei r2, 0 + 2f2a: 0bd9 bt 0x2edc // 2edc + 2f2c: 07f1 br 0x2f0e // 2f0e + 2f2e: 0000 bkpt + 2f30: 20000008 .long 0x20000008 + 2f34: 200000b0 .long 0x200000b0 + +Disassembly of section .text.PriviledgeVioHandler: + +00002f38 : + 2f38: 783c jmp r15 + +Disassembly of section .text.PendTrapHandler: + +00002f3a : + // ISR content ... + +} + +void PendTrapHandler(void) +{ + 2f3a: 1460 nie + 2f3c: 1462 ipush + // ISR content ... + +} + 2f3e: 1463 ipop + 2f40: 1461 nir + +Disassembly of section .text.Trap3Handler: + +00002f42 : + 2f42: 1460 nie + 2f44: 1462 ipush + 2f46: 1463 ipop + 2f48: 1461 nir + +Disassembly of section .text.Trap2Handler: + +00002f4a : + 2f4a: 1460 nie + 2f4c: 1462 ipush + 2f4e: 1463 ipop + 2f50: 1461 nir + +Disassembly of section .text.Trap1Handler: + +00002f52 : + 2f52: 1460 nie + 2f54: 1462 ipush + 2f56: 1463 ipop + 2f58: 1461 nir + +Disassembly of section .text.Trap0Handler: + +00002f5a : + 2f5a: 1460 nie + 2f5c: 1462 ipush + 2f5e: 1463 ipop + 2f60: 1461 nir + +Disassembly of section .text.UnrecExecpHandler: + +00002f62 : + 2f62: 1460 nie + 2f64: 1462 ipush + 2f66: 1463 ipop + 2f68: 1461 nir + +Disassembly of section .text.BreakPointHandler: + +00002f6a : + 2f6a: 1460 nie + 2f6c: 1462 ipush + 2f6e: 1463 ipop + 2f70: 1461 nir + +Disassembly of section .text.AccessErrHandler: + +00002f72 : + 2f72: 1460 nie + 2f74: 1462 ipush + 2f76: 1463 ipop + 2f78: 1461 nir + +Disassembly of section .text.IllegalInstrHandler: + +00002f7a : + 2f7a: 1460 nie + 2f7c: 1462 ipush + 2f7e: 1463 ipop + 2f80: 1461 nir + +Disassembly of section .text.MisalignedHandler: + +00002f82 : + 2f82: 1460 nie + 2f84: 1462 ipush + 2f86: 1463 ipop + 2f88: 1461 nir + +Disassembly of section .text.CNTAIntHandler: + +00002f8a : + 2f8a: 1460 nie + 2f8c: 1462 ipush + 2f8e: 1463 ipop + 2f90: 1461 nir + +Disassembly of section .text.I2CIntHandler: + +00002f92 : + 2f92: 1460 nie + 2f94: 1462 ipush + 2f96: 1463 ipop + 2f98: 1461 nir + +Disassembly of section .text.__divsi3: + +00002f9c <__divsi3>: +CSP_BT_T *BT1 = (CSP_BT_T *)APB_BT1Base ; +CSP_CRC_T *CRC = (CSP_CRC_T *)AHB_CRCBase ; +CSP_HWD_T *HWD = (CSP_HWD_T *)APB_HWDBase ; + +int __divsi3 ( int a, int b) +{ + 2f9c: 14c1 push r4 + int PSR; + __asm volatile( + 2f9e: c0006023 mfcr r3, cr<0, 0> + 2fa2: c0807020 psrclr ie + "mfcr %0 , psr \n\r" + "psrclr ie \n\r" + : "=r"(PSR) + ); + + HWD->CR = 0; + 2fa6: 1046 lrw r2, 0x20000000 // 2fbc <__divsi3+0x20> + 2fa8: 3400 movi r4, 0 + 2faa: 9240 ld.w r2, (r2, 0x0) + 2fac: b284 st.w r4, (r2, 0x10) + HWD->DIVIDENT = a; + HWD->DIVISOR = b; + + PSR |= 0x80000000; + 2fae: 3bbf bseti r3, 31 + HWD->DIVIDENT = a; + 2fb0: b200 st.w r0, (r2, 0x0) + HWD->DIVISOR = b; + 2fb2: b221 st.w r1, (r2, 0x4) + __asm volatile( + 2fb4: c0036420 mtcr r3, cr<0, 0> + "mtcr %0 , psr \n\r" + : + :"r"(PSR) + ); + + return HWD->QUOTIENT; + 2fb8: 9202 ld.w r0, (r2, 0x8) +} + 2fba: 1481 pop r4 + 2fbc: 20000000 .long 0x20000000 + +Disassembly of section .text.__udivsi3: + +00002fc0 <__udivsi3>: + unsigned int __udivsi3 ( unsigned int a, unsigned int b) +{ + 2fc0: 14c1 push r4 + int PSR; + __asm volatile( + 2fc2: c0006023 mfcr r3, cr<0, 0> + 2fc6: c0807020 psrclr ie + "mfcr %0 , psr \n\r" + "psrclr ie \n\r" + : "=r"(PSR) + ); + + HWD->CR = 1; + 2fca: 1046 lrw r2, 0x20000000 // 2fe0 <__udivsi3+0x20> + 2fcc: 3401 movi r4, 1 + 2fce: 9240 ld.w r2, (r2, 0x0) + 2fd0: b284 st.w r4, (r2, 0x10) + HWD->DIVIDENT = a; + HWD->DIVISOR = b; + + PSR |= 0x80000000; + 2fd2: 3bbf bseti r3, 31 + HWD->DIVIDENT = a; + 2fd4: b200 st.w r0, (r2, 0x0) + HWD->DIVISOR = b; + 2fd6: b221 st.w r1, (r2, 0x4) + __asm volatile( + 2fd8: c0036420 mtcr r3, cr<0, 0> + "mtcr %0 , psr \n\r" + : + :"r"(PSR) + ); + + return HWD->QUOTIENT; + 2fdc: 9202 ld.w r0, (r2, 0x8) +} + 2fde: 1481 pop r4 + 2fe0: 20000000 .long 0x20000000 + +Disassembly of section .text.__umodsi3: + +00002fe4 <__umodsi3>: + ); + return HWD->REMAIN; +} + +unsigned int __umodsi3 ( unsigned int a, unsigned int b) +{ + 2fe4: 14c1 push r4 + int PSR; + __asm volatile( + 2fe6: c0006023 mfcr r3, cr<0, 0> + 2fea: c0807020 psrclr ie + "mfcr %0 , psr \n\r" + "psrclr ie \n\r" + : "=r"(PSR) + ); + + HWD->CR = 1; + 2fee: 1046 lrw r2, 0x20000000 // 3004 <__umodsi3+0x20> + 2ff0: 3401 movi r4, 1 + 2ff2: 9240 ld.w r2, (r2, 0x0) + 2ff4: b284 st.w r4, (r2, 0x10) + HWD->DIVIDENT = a; + HWD->DIVISOR = b; + + PSR |= 0x80000000; + 2ff6: 3bbf bseti r3, 31 + HWD->DIVIDENT = a; + 2ff8: b200 st.w r0, (r2, 0x0) + HWD->DIVISOR = b; + 2ffa: b221 st.w r1, (r2, 0x4) + __asm volatile( + 2ffc: c0036420 mtcr r3, cr<0, 0> + "mtcr %0 , psr \n\r" + : + :"r"(PSR) + ); + return HWD->REMAIN; + 3000: 9203 ld.w r0, (r2, 0xc) +} + 3002: 1481 pop r4 + 3004: 20000000 .long 0x20000000 + +Disassembly of section .text.CK_CPU_EnAllNormalIrq: + +00003008 : +} + + +void CK_CPU_EnAllNormalIrq(void) +{ + asm ("psrset ee,ie"); + 3008: c1807420 psrset ee, ie +} + 300c: 783c jmp r15 + +Disassembly of section .text.CK_CPU_DisAllNormalIrq: + +0000300e : + +void CK_CPU_DisAllNormalIrq(void) +{ + asm ("psrclr ie"); + 300e: c0807020 psrclr ie +} + 3012: 783c jmp r15 + +Disassembly of section .text.UARTx_Init: + +00003014 : +UART_t g_uart[3]; +U8_T DealBuffer[USART_BUFFER_SIZE] = {0}; //数据处理缓冲 +U16_T DealLen = 0x00; +MULIT_t m_send; + +void UARTx_Init(UART_IDX uart_id, Uart_prt prt_cf) { + 3014: 14d2 push r4-r5, r15 + switch(uart_id){ + 3016: 3841 cmpnei r0, 1 +void UARTx_Init(UART_IDX uart_id, Uart_prt prt_cf) { + 3018: 6d07 mov r4, r1 + switch(uart_id){ + 301a: 0c1d bf 0x3054 // 3054 + 301c: 3840 cmpnei r0, 0 + 301e: 0c04 bf 0x3026 // 3026 + 3020: 3842 cmpnei r0, 2 + 3022: 0c3f bf 0x30a0 // 30a0 + GPIO_Init(GPIOB0,3,Output); + GPIO_DriveStrength_EN(GPIOB0,3); + GPIO_Write_Low(GPIOB0,3); + break; + } +} + 3024: 1492 pop r4-r5, r15 + UART0_DeInit(); //clear all UART Register + 3026: e3fff8c7 bsr 0x21b4 // 21b4 + UART_IO_Init(IO_UART0,0); //use PA0.1->RXD0, PA0.0->TXD0 + 302a: 3100 movi r1, 0 + 302c: 3000 movi r0, 0 + 302e: e3fff903 bsr 0x2234 // 2234 + UARTInitRxTxIntEn(UART0,416,UART_PAR_NONE); //baudrate=sysclock 48M/1000=4800,tx rx int enabled + 3032: 1262 lrw r3, 0x20000040 // 3138 + 3034: 31d0 movi r1, 208 + 3036: 9300 ld.w r0, (r3, 0x0) + 3038: 3200 movi r2, 0 + memset(&g_uart[UART_0],0,sizeof(UART_t)); + 303a: 12a1 lrw r5, 0x20000208 // 313c + UARTInitRxTxIntEn(UART0,416,UART_PAR_NONE); //baudrate=sysclock 48M/1000=4800,tx rx int enabled + 303c: 4121 lsli r1, r1, 1 + 303e: e3fff971 bsr 0x2320 // 2320 + memset(&g_uart[UART_0],0,sizeof(UART_t)); + 3042: 3274 movi r2, 116 + 3044: 3100 movi r1, 0 + 3046: 6c17 mov r0, r5 + 3048: e3fff48e bsr 0x1964 // 1964 <__memset_fast> + g_uart[UART_0].RecvTimeout = Recv_115200_TimeOut; + 304c: 3303 movi r3, 3 + 304e: b57a st.w r3, (r5, 0x68) + g_uart[UART_0].processing_cf = prt_cf; + 3050: b59c st.w r4, (r5, 0x70) + break; + 3052: 07e9 br 0x3024 // 3024 + UART1_DeInit(); //clear all UART Register + 3054: e3fff8bc bsr 0x21cc // 21cc + UART_IO_Init(IO_UART1,2); //use PA0.13->RXD1, PB0.0->TXD1 + 3058: 3102 movi r1, 2 + 305a: 3001 movi r0, 1 + 305c: e3fff8ec bsr 0x2234 // 2234 + UARTInitRxTxIntEn(UART1,5000,UART_PAR_NONE); //baudrate=sysclock 48M/416=115200 tx rx int enabled + 3060: 1178 lrw r3, 0x2000003c // 3140 + 3062: 3200 movi r2, 0 + 3064: 9300 ld.w r0, (r3, 0x0) + 3066: 1138 lrw r1, 0x1388 // 3144 + 3068: e3fff95c bsr 0x2320 // 2320 + UART1_Int_Enable(); + 306c: e3fff8c8 bsr 0x21fc // 21fc + memset(&g_uart[UART_1],0,sizeof(UART_t)); + 3070: 3274 movi r2, 116 + 3072: 3100 movi r1, 0 + 3074: 1115 lrw r0, 0x2000027c // 3148 + 3076: e3fff477 bsr 0x1964 // 1964 <__memset_fast> + g_uart[UART_1].RecvTimeout = Recv_9600_TimeOut; + 307a: 1175 lrw r3, 0x20000288 // 314c + g_uart[UART_1].processing_cf = prt_cf; + 307c: b399 st.w r4, (r3, 0x64) + g_uart[UART_1].RecvTimeout = Recv_9600_TimeOut; + 307e: 3203 movi r2, 3 + GPIO_Init(GPIOA0,13,Output); + 3080: 1194 lrw r4, 0x2000004c // 3150 + 3082: 310d movi r1, 13 + g_uart[UART_1].RecvTimeout = Recv_9600_TimeOut; + 3084: b357 st.w r2, (r3, 0x5c) + GPIO_Init(GPIOA0,13,Output); + 3086: 9400 ld.w r0, (r4, 0x0) + 3088: 3200 movi r2, 0 + 308a: e3fff6db bsr 0x1e40 // 1e40 + GPIO_DriveStrength_EN(GPIOA0,13); + 308e: 310d movi r1, 13 + 3090: 9400 ld.w r0, (r4, 0x0) + 3092: e3fff751 bsr 0x1f34 // 1f34 + GPIO_Write_Low(GPIOA0,13); + 3096: 9400 ld.w r0, (r4, 0x0) + 3098: 310d movi r1, 13 + GPIO_Write_Low(GPIOB0,3); + 309a: e3fff815 bsr 0x20c4 // 20c4 +} + 309e: 07c3 br 0x3024 // 3024 + memset(&g_uart[UART_2],0,sizeof(UART_t)); + 30a0: 3274 movi r2, 116 + 30a2: 3100 movi r1, 0 + 30a4: 110c lrw r0, 0x200002f0 // 3154 + 30a6: e3fff45f bsr 0x1964 // 1964 <__memset_fast> + memset(&m_send,0,sizeof(MULIT_t)); + 30aa: 3288 movi r2, 136 + 30ac: 3100 movi r1, 0 + 30ae: 110b lrw r0, 0x20000364 // 3158 + 30b0: e3fff45a bsr 0x1964 // 1964 <__memset_fast> + m_send.HighBit_Flag = 0x01; + 30b4: 116a lrw r3, 0x200003c4 // 315c + 30b6: 3201 movi r2, 1 + 30b8: a345 st.b r2, (r3, 0x5) + g_uart[UART_2].RecvTimeout = Recv_9600_TimeOut; + 30ba: 116a lrw r3, 0x20000308 // 3160 + g_uart[UART_2].processing_cf = prt_cf; + 30bc: b396 st.w r4, (r3, 0x58) + g_uart[UART_2].RecvTimeout = Recv_9600_TimeOut; + 30be: 3203 movi r2, 3 + GPIO_PullHigh_Init(GPIOB0,5); //RX,PB0.5 + 30c0: 1189 lrw r4, 0x20000048 // 3164 + 30c2: 3105 movi r1, 5 + g_uart[UART_2].RecvTimeout = Recv_9600_TimeOut; + 30c4: b354 st.w r2, (r3, 0x50) + GPIO_PullHigh_Init(GPIOB0,5); //RX,PB0.5 + 30c6: 9400 ld.w r0, (r4, 0x0) + 30c8: e3fff72c bsr 0x1f20 // 1f20 + GPIO_IntGroup_Set(PB0,5,Selete_EXI_PIN5); //EXI0 set PB0.2 + 30cc: 3205 movi r2, 5 + 30ce: 3105 movi r1, 5 + 30d0: 3002 movi r0, 2 + 30d2: e3fff739 bsr 0x1f44 // 1f44 + GPIOB0_EXI_Init(EXI5); //PB0.2 as input + 30d6: 3005 movi r0, 5 + 30d8: e3fff7bc bsr 0x2050 // 2050 + EXTI_trigger_CMD(ENABLE,EXI_PIN5,_EXIFT); //ENABLE falling edge,下降沿触发 + 30dc: 3201 movi r2, 1 + 30de: 3120 movi r1, 32 + 30e0: 3001 movi r0, 1 + 30e2: e3fff603 bsr 0x1ce8 // 1ce8 + EXTI_trigger_CMD(ENABLE,EXI_PIN5,_EXIRT); //上升沿触发 + 30e6: 3200 movi r2, 0 + 30e8: 3120 movi r1, 32 + 30ea: 3001 movi r0, 1 + 30ec: e3fff5fe bsr 0x1ce8 // 1ce8 + EXTI_interrupt_CMD(ENABLE,EXI_PIN5); //enable EXI + 30f0: 3120 movi r1, 32 + 30f2: 3001 movi r0, 1 + 30f4: e3fff61a bsr 0x1d28 // 1d28 + GPIO_EXTI_interrupt(GPIOB0,0b0000000000100000); //enable GPIOB02 as EXI + 30f8: 3120 movi r1, 32 + 30fa: 9400 ld.w r0, (r4, 0x0) + 30fc: e3fff630 bsr 0x1d5c // 1d5c + EXI3_Int_Enable(); + 3100: e3fff630 bsr 0x1d60 // 1d60 + UART2_DeInit(); //clear all UART Register + 3104: e3fff870 bsr 0x21e4 // 21e4 + UART_IO_Init(IO_UART2,2); //use PB0.4->RXD1, PB0.5->TXD1 + 3108: 3102 movi r1, 2 + 310a: 3002 movi r0, 2 + 310c: e3fff894 bsr 0x2234 // 2234 + UARTInitRxTxIntEn(UART2,5000,UART_PAR_NONE); //baudrate=sysclock 48M/416=115200 tx rx int enabled + 3110: 1076 lrw r3, 0x20000038 // 3168 + 3112: 3200 movi r2, 0 + 3114: 9300 ld.w r0, (r3, 0x0) + 3116: 102c lrw r1, 0x1388 // 3144 + 3118: e3fff904 bsr 0x2320 // 2320 + UART2_Int_Enable(); + 311c: e3fff87e bsr 0x2218 // 2218 + GPIO_Init(GPIOB0,3,Output); + 3120: 3200 movi r2, 0 + 3122: 3103 movi r1, 3 + 3124: 9400 ld.w r0, (r4, 0x0) + 3126: e3fff68d bsr 0x1e40 // 1e40 + GPIO_DriveStrength_EN(GPIOB0,3); + 312a: 3103 movi r1, 3 + 312c: 9400 ld.w r0, (r4, 0x0) + 312e: e3fff703 bsr 0x1f34 // 1f34 + GPIO_Write_Low(GPIOB0,3); + 3132: 9400 ld.w r0, (r4, 0x0) + 3134: 3103 movi r1, 3 + 3136: 07b2 br 0x309a // 309a + 3138: 20000040 .long 0x20000040 + 313c: 20000208 .long 0x20000208 + 3140: 2000003c .long 0x2000003c + 3144: 00001388 .long 0x00001388 + 3148: 2000027c .long 0x2000027c + 314c: 20000288 .long 0x20000288 + 3150: 2000004c .long 0x2000004c + 3154: 200002f0 .long 0x200002f0 + 3158: 20000364 .long 0x20000364 + 315c: 200003c4 .long 0x200003c4 + 3160: 20000308 .long 0x20000308 + 3164: 20000048 .long 0x20000048 + 3168: 20000038 .long 0x20000038 + +Disassembly of section .text.UART0_RecvINT_Processing: + +0000316c : + +/******************************************************************************* +* Function Name : UART0_RecvINT_Processing +* Description : 串口0 接收中断处理函数 - 接收中断调用 +*******************************************************************************/ +void UART0_RecvINT_Processing(char data){ + 316c: 14c1 push r4 + if((g_uart[UART_0].RecvLen + 1) >= USART_BUFFER_SIZE) g_uart[UART_0].RecvLen = 0; + 316e: 106b lrw r3, 0x20000248 // 3198 + 3170: 8b33 ld.h r1, (r3, 0x26) + 3172: 3262 movi r2, 98 + 3174: 6449 cmplt r2, r1 + 3176: 0c03 bf 0x317c // 317c + 3178: 3200 movi r2, 0 + 317a: ab53 st.h r2, (r3, 0x26) + g_uart[UART_0].RecvBuffer[g_uart[UART_0].RecvLen++] = (U8_T)data; + 317c: 8b33 ld.h r1, (r3, 0x26) + 317e: 5982 addi r4, r1, 1 + 3180: ab93 st.h r4, (r3, 0x26) + 3182: 1047 lrw r2, 0x20000208 // 319c + + g_uart[UART_0].RecvIdleTiming = SysTick_1ms; + 3184: 1067 lrw r3, 0x200000b8 // 31a0 + g_uart[UART_0].RecvBuffer[g_uart[UART_0].RecvLen++] = (U8_T)data; + 3186: 6048 addu r1, r2 + g_uart[UART_0].RecvIdleTiming = SysTick_1ms; + 3188: 9360 ld.w r3, (r3, 0x0) + 318a: b27b st.w r3, (r2, 0x6c) + g_uart[UART_0].Receiving = 0x01; + 318c: 225f addi r2, 96 + 318e: 3301 movi r3, 1 + g_uart[UART_0].RecvBuffer[g_uart[UART_0].RecvLen++] = (U8_T)data; + 3190: a100 st.b r0, (r1, 0x0) + g_uart[UART_0].Receiving = 0x01; + 3192: a264 st.b r3, (r2, 0x4) +} + 3194: 1481 pop r4 + 3196: 0000 bkpt + 3198: 20000248 .long 0x20000248 + 319c: 20000208 .long 0x20000208 + 31a0: 200000b8 .long 0x200000b8 + +Disassembly of section .text.UART1_RecvINT_Processing: + +000031a4 : + +/******************************************************************************* +* Function Name : UART1_RecvINT_Processing +* Description : 串口1 接收中断处理函数 - 接收中断调用 +*******************************************************************************/ +void UART1_RecvINT_Processing(char data){ + 31a4: 14c1 push r4 + if((g_uart[UART_1].RecvLen + 1) >= USART_BUFFER_SIZE) g_uart[UART_1].RecvLen = 0; + 31a6: 106b lrw r3, 0x200002c8 // 31d0 + 31a8: 8b2d ld.h r1, (r3, 0x1a) + 31aa: 3262 movi r2, 98 + 31ac: 6449 cmplt r2, r1 + 31ae: 0c03 bf 0x31b4 // 31b4 + 31b0: 3200 movi r2, 0 + 31b2: ab4d st.h r2, (r3, 0x1a) + g_uart[UART_1].RecvBuffer[g_uart[UART_1].RecvLen++] = (U8_T)data; + 31b4: 8b4d ld.h r2, (r3, 0x1a) + 31b6: 1028 lrw r1, 0x20000208 // 31d4 + 31b8: 5a82 addi r4, r2, 1 + 31ba: 6084 addu r2, r1 + 31bc: 2273 addi r2, 116 + 31be: a200 st.b r0, (r2, 0x0) + + g_uart[UART_1].RecvIdleTiming = SysTick_1ms; + 31c0: 217f addi r1, 128 + 31c2: 1046 lrw r2, 0x200000b8 // 31d8 + 31c4: 9240 ld.w r2, (r2, 0x0) + 31c6: b158 st.w r2, (r1, 0x60) + g_uart[UART_1].Receiving = 0x01; + 31c8: 3201 movi r2, 1 + g_uart[UART_1].RecvBuffer[g_uart[UART_1].RecvLen++] = (U8_T)data; + 31ca: ab8d st.h r4, (r3, 0x1a) + g_uart[UART_1].Receiving = 0x01; + 31cc: a358 st.b r2, (r3, 0x18) +} + 31ce: 1481 pop r4 + 31d0: 200002c8 .long 0x200002c8 + 31d4: 20000208 .long 0x20000208 + 31d8: 200000b8 .long 0x200000b8 + +Disassembly of section .text.UART1_TASK: + +000031dc : + + +void UART1_TASK(void){ + 31dc: 14d4 push r4-r7, r15 + U8_T rev = 0xFF; + if(g_uart[UART_1].Receiving == 0x01){ + 31de: 10b5 lrw r5, 0x200002c8 // 3230 + 31e0: 8578 ld.b r3, (r5, 0x18) + 31e2: 3b41 cmpnei r3, 1 + 31e4: 0825 bt 0x322e // 322e + if(SysTick_1ms - g_uart[UART_1].RecvIdleTiming > g_uart[UART_1].RecvTimeout){ + 31e6: 1094 lrw r4, 0x20000288 // 3234 + 31e8: 10d4 lrw r6, 0x200000b8 // 3238 + 31ea: 9660 ld.w r3, (r6, 0x0) + 31ec: 9458 ld.w r2, (r4, 0x60) + 31ee: 60ca subu r3, r2 + 31f0: 9457 ld.w r2, (r4, 0x5c) + 31f2: 64c8 cmphs r2, r3 + 31f4: 081d bt 0x322e // 322e + + SYSCON_Int_Disable(); //2025-03-19,复制接收缓冲到数据处理缓冲内 + 31f6: e3fff5c3 bsr 0x1d7c // 1d7c + g_uart[UART_1].RecvIdleTiming = SysTick_1ms; + memcpy(DealBuffer,g_uart[UART_1].RecvBuffer,g_uart[UART_1].RecvLen); + 31fa: 8ded ld.h r7, (r5, 0x1a) + g_uart[UART_1].RecvIdleTiming = SysTick_1ms; + 31fc: 9660 ld.w r3, (r6, 0x0) + memcpy(DealBuffer,g_uart[UART_1].RecvBuffer,g_uart[UART_1].RecvLen); + 31fe: 6c9f mov r2, r7 + 3200: 102f lrw r1, 0x2000027c // 323c + 3202: 1010 lrw r0, 0x200000bc // 3240 + DealLen = g_uart[UART_1].RecvLen; + 3204: 10d0 lrw r6, 0x200000fc // 3244 + g_uart[UART_1].RecvIdleTiming = SysTick_1ms; + 3206: b478 st.w r3, (r4, 0x60) + memcpy(DealBuffer,g_uart[UART_1].RecvBuffer,g_uart[UART_1].RecvLen); + 3208: e3fff3f2 bsr 0x19ec // 19ec <__memcpy_fast> + g_uart[UART_1].RecvLen = 0; + 320c: 3300 movi r3, 0 + 320e: ad6d st.h r3, (r5, 0x1a) + g_uart[UART_1].Receiving = 0; + 3210: a578 st.b r3, (r5, 0x18) + DealLen = g_uart[UART_1].RecvLen; + 3212: aef2 st.h r7, (r6, 0x24) + SYSCON_Int_Enable(); + 3214: e3fff5ae bsr 0x1d70 // 1d70 + +#if DBG_LOG_EN + Dbg_Println(DBG_BIT_SYS_STATUS, "UART1 recv Len %d", DealLen); + Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"UART1 buff",DealBuffer,DealLen); +#endif + if(g_uart[UART_1].processing_cf != NULL){ + 3218: 9479 ld.w r3, (r4, 0x64) + 321a: 3b40 cmpnei r3, 0 + 321c: 0c04 bf 0x3224 // 3224 + rev = g_uart[UART_1].processing_cf(DealBuffer,DealLen); + 321e: 8e32 ld.h r1, (r6, 0x24) + 3220: 1008 lrw r0, 0x200000bc // 3240 + 3222: 7bcd jsr r3 + } + + memset(DealBuffer,0,USART_BUFFER_SIZE); + 3224: 3264 movi r2, 100 + 3226: 3100 movi r1, 0 + 3228: 1006 lrw r0, 0x200000bc // 3240 + 322a: e3fff39d bsr 0x1964 // 1964 <__memset_fast> + } + } +} + 322e: 1494 pop r4-r7, r15 + 3230: 200002c8 .long 0x200002c8 + 3234: 20000288 .long 0x20000288 + 3238: 200000b8 .long 0x200000b8 + 323c: 2000027c .long 0x2000027c + 3240: 200000bc .long 0x200000bc + 3244: 200000fc .long 0x200000fc + +Disassembly of section .text.UART2_RecvINT_Processing: + +00003248 : + +/******************************************************************************* +* Function Name : UART2_RecvINT_Processing +* Description : 串口2 接收中断处理函数 - 接收中断调用 +*******************************************************************************/ +void UART2_RecvINT_Processing(char data){ + 3248: 14c1 push r4 + if((g_uart[UART_2].RecvLen + 1) >= USART_BUFFER_SIZE) g_uart[UART_2].RecvLen = 0; + 324a: 104e lrw r2, 0x20000356 // 3280 + 324c: 8a20 ld.h r1, (r2, 0x0) + 324e: 3362 movi r3, 98 + 3250: 644d cmplt r3, r1 + 3252: 0c03 bf 0x3258 // 3258 + 3254: 3300 movi r3, 0 + 3256: aa60 st.h r3, (r2, 0x0) + g_uart[UART_2].RecvBuffer[g_uart[UART_2].RecvLen++] = (U8_T)data; + 3258: 8a60 ld.h r3, (r2, 0x0) + 325a: 102b lrw r1, 0x20000208 // 3284 + 325c: 5b82 addi r4, r3, 1 + 325e: 60c4 addu r3, r1 + 3260: 23e7 addi r3, 232 + 3262: a300 st.b r0, (r3, 0x0) + 3264: aa80 st.h r4, (r2, 0x0) + + g_uart[UART_2].RecvIdleTiming = SysTick_1ms; + 3266: 1069 lrw r3, 0x200000b8 // 3288 + 3268: 9340 ld.w r2, (r3, 0x0) + 326a: 3380 movi r3, 128 + 326c: 4361 lsli r3, r3, 1 + 326e: 60c4 addu r3, r1 + 3270: b355 st.w r2, (r3, 0x54) + g_uart[UART_2].Receiving = 0x01; + 3272: 33a6 movi r3, 166 + 3274: 4361 lsli r3, r3, 1 + 3276: 604c addu r1, r3 + 3278: 3301 movi r3, 1 + 327a: a160 st.b r3, (r1, 0x0) +} + 327c: 1481 pop r4 + 327e: 0000 bkpt + 3280: 20000356 .long 0x20000356 + 3284: 20000208 .long 0x20000208 + 3288: 200000b8 .long 0x200000b8 + +Disassembly of section .text.UART2_TASK: + +0000328c : + + +void UART2_TASK(void){ + 328c: 14d4 push r4-r7, r15 + 328e: 1421 subi r14, r14, 4 + U8_T rev = 0xFF; + if(g_uart[UART_2].Receiving == 0x01){ + 3290: 10b7 lrw r5, 0x20000354 // 32ec + 3292: 8560 ld.b r3, (r5, 0x0) + 3294: 3b41 cmpnei r3, 1 + 3296: 0828 bt 0x32e6 // 32e6 + if(SysTick_1ms - g_uart[UART_2].RecvIdleTiming > g_uart[UART_2].RecvTimeout){ + 3298: 1096 lrw r4, 0x20000308 // 32f0 + 329a: 10d7 lrw r6, 0x200000b8 // 32f4 + 329c: 9660 ld.w r3, (r6, 0x0) + 329e: 9455 ld.w r2, (r4, 0x54) + 32a0: 60ca subu r3, r2 + 32a2: 9454 ld.w r2, (r4, 0x50) + 32a4: 64c8 cmphs r2, r3 + 32a6: 0820 bt 0x32e6 // 32e6 + + SYSCON_Int_Disable(); //2025-03-19,复制接收缓冲到数据处理缓冲内 + 32a8: e3fff56a bsr 0x1d7c // 1d7c + g_uart[UART_2].RecvIdleTiming = SysTick_1ms; + 32ac: 9660 ld.w r3, (r6, 0x0) + 32ae: b475 st.w r3, (r4, 0x54) + memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen); + 32b0: 8d61 ld.h r3, (r5, 0x2) + 32b2: 6c8f mov r2, r3 + 32b4: 1031 lrw r1, 0x200002f0 // 32f8 + 32b6: 1012 lrw r0, 0x200000bc // 32fc + DealLen = g_uart[UART_2].RecvLen; + 32b8: 10d2 lrw r6, 0x200000fc // 3300 + memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen); + 32ba: b860 st.w r3, (r14, 0x0) + 32bc: e3fff398 bsr 0x19ec // 19ec <__memcpy_fast> + DealLen = g_uart[UART_2].RecvLen; + 32c0: 9860 ld.w r3, (r14, 0x0) + 32c2: ae72 st.h r3, (r6, 0x24) + g_uart[UART_2].RecvLen = 0; + 32c4: 3300 movi r3, 0 + 32c6: ad61 st.h r3, (r5, 0x2) + g_uart[UART_2].Receiving = 0; + 32c8: a560 st.b r3, (r5, 0x0) + SYSCON_Int_Enable(); + 32ca: e3fff553 bsr 0x1d70 // 1d70 + +#if DBG_LOG_EN + Dbg_Println(DBG_BIT_SYS_STATUS, "UART2 recv Len %d", DealLen); + Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"UART2 buff",DealBuffer,DealLen); +#endif + if(g_uart[UART_2].processing_cf != NULL){ + 32ce: 9476 ld.w r3, (r4, 0x58) + 32d0: 3b40 cmpnei r3, 0 + memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen); + 32d2: 5de6 addi r7, r5, 2 + if(g_uart[UART_2].processing_cf != NULL){ + 32d4: 0c04 bf 0x32dc // 32dc + rev = g_uart[UART_2].processing_cf(DealBuffer,DealLen); + 32d6: 8e32 ld.h r1, (r6, 0x24) + 32d8: 1009 lrw r0, 0x200000bc // 32fc + 32da: 7bcd jsr r3 +// { +// Boot_Comm_UpgradeProcess(DealBuffer,DealLen); +// } + + + memset(DealBuffer,0,USART_BUFFER_SIZE); + 32dc: 3264 movi r2, 100 + 32de: 3100 movi r1, 0 + 32e0: 1007 lrw r0, 0x200000bc // 32fc + 32e2: e3fff341 bsr 0x1964 // 1964 <__memset_fast> + } + } +} + 32e6: 1401 addi r14, r14, 4 + 32e8: 1494 pop r4-r7, r15 + 32ea: 0000 bkpt + 32ec: 20000354 .long 0x20000354 + 32f0: 20000308 .long 0x20000308 + 32f4: 200000b8 .long 0x200000b8 + 32f8: 200002f0 .long 0x200002f0 + 32fc: 200000bc .long 0x200000bc + 3300: 200000fc .long 0x200000fc + +Disassembly of section .text.Controller485_SendData: + +00003304 : + CK_CPU_EnAllNormalIrq(); +} + +//发送给设备端的485发送函数 +void Controller485_SendData(U8_T *buff,U16_T len) +{ + 3304: 14d4 push r4-r7, r15 + 3306: 1422 subi r14, r14, 8 + 3308: b800 st.w r0, (r14, 0x0) + 330a: 6dc7 mov r7, r1 + unsigned int Dataval = 0,delay_cnt = 0; + 330c: 3400 movi r4, 0 + + //等待通讯发送完成 + while(RS485_Comming1 == 0x01){ + 330e: 11a4 lrw r5, 0x200000bc // 339c + 3310: 11c4 lrw r6, 0x2000004c // 33a0 + 3312: 957e ld.w r3, (r5, 0x78) + 3314: 3b41 cmpnei r3, 1 + 3316: 0c36 bf 0x3382 // 3382 + } + + GPIO_Reverse(GPIOA0,13); + } + + delay_nus(500); + 3318: 30fa movi r0, 250 + 331a: 4001 lsli r0, r0, 1 + 331c: e3fff874 bsr 0x2404 // 2404 + + CK_CPU_DisAllNormalIrq(); + 3320: e3fffe77 bsr 0x300e // 300e + GPIO_Write_High(GPIOA0,13); + 3324: 310d movi r1, 13 + 3326: 9600 ld.w r0, (r6, 0x0) + 3328: e3fff6ca bsr 0x20bc // 20bc + + RS485_Comm_Flag1 = 0x01; + 332c: 3301 movi r3, 1 + 332e: b57f st.w r3, (r5, 0x7c) + RS485_Comm_Start1 = 0x00; + 3330: 3200 movi r2, 0 + 3332: 107d lrw r3, 0x2000013c // 33a4 + 3334: b340 st.w r2, (r3, 0x0) + RS485_Comm_End1 = 0x00; + 3336: b861 st.w r3, (r14, 0x4) + 3338: b341 st.w r2, (r3, 0x4) + CK_CPU_EnAllNormalIrq(); + 333a: e3fffe67 bsr 0x3008 // 3008 + + UARTTransmit(UART1,buff,len); + 333e: 105b lrw r2, 0x2000003c // 33a8 + 3340: 9200 ld.w r0, (r2, 0x0) + 3342: 9820 ld.w r1, (r14, 0x0) + 3344: 6c9f mov r2, r7 + 3346: e3fff7f5 bsr 0x2330 // 2330 + 334a: 9861 ld.w r3, (r14, 0x4) + + do{ + delay_nus(100); + 334c: 3064 movi r0, 100 + 334e: b860 st.w r3, (r14, 0x0) + + delay_cnt ++; + 3350: 2400 addi r4, 1 + delay_nus(100); + 3352: e3fff859 bsr 0x2404 // 2404 + if(delay_cnt >= 100){ + 3356: 3263 movi r2, 99 + 3358: 6508 cmphs r2, r4 + 335a: 0c08 bf 0x336a // 336a + break; + } + + }while((RS485_Comm_Start1 < len) || (RS485_Comm_End1 < len)); //发送完成 + 335c: 9860 ld.w r3, (r14, 0x0) + 335e: 9340 ld.w r2, (r3, 0x0) + 3360: 65c9 cmplt r2, r7 + 3362: 0bf5 bt 0x334c // 334c + 3364: 9341 ld.w r2, (r3, 0x4) + 3366: 65c9 cmplt r2, r7 + 3368: 0bf2 bt 0x334c // 334c + + CK_CPU_DisAllNormalIrq(); + 336a: e3fffe52 bsr 0x300e // 300e + GPIO_Write_Low(GPIOA0,13); + 336e: 9600 ld.w r0, (r6, 0x0) + 3370: 310d movi r1, 13 + 3372: e3fff6a9 bsr 0x20c4 // 20c4 + + RS485_Comm_Flag1 = 0x00; + 3376: 3300 movi r3, 0 + 3378: b57f st.w r3, (r5, 0x7c) + CK_CPU_EnAllNormalIrq(); + 337a: e3fffe47 bsr 0x3008 // 3008 +} + 337e: 1402 addi r14, r14, 8 + 3380: 1494 pop r4-r7, r15 + delay_nus(100); + 3382: 3064 movi r0, 100 + 3384: e3fff840 bsr 0x2404 // 2404 + delay_cnt ++; + 3388: 2400 addi r4, 1 + if(delay_cnt >= 100){ + 338a: 3364 movi r3, 100 + 338c: 64d2 cmpne r4, r3 + 338e: 0fc5 bf 0x3318 // 3318 + GPIO_Reverse(GPIOA0,13); + 3390: 310d movi r1, 13 + 3392: 9600 ld.w r0, (r6, 0x0) + 3394: e3fff69c bsr 0x20cc // 20cc + 3398: 07bd br 0x3312 // 3312 + 339a: 0000 bkpt + 339c: 200000bc .long 0x200000bc + 33a0: 2000004c .long 0x2000004c + 33a4: 2000013c .long 0x2000013c + 33a8: 2000003c .long 0x2000003c + +Disassembly of section .text.BUS485_Send: + +000033ac : + * buff:发送数据 + * len:数据长度 + * @retval + * */ +U8_T BUS485_Send(U8_T *buff,U16_T len) +{ + 33ac: 14d4 push r4-r7, r15 + 33ae: 1423 subi r14, r14, 12 + 33b0: b802 st.w r0, (r14, 0x8) + 33b2: b820 st.w r1, (r14, 0x0) + unsigned int Dataval = 0,delay_cnt = 0; + 33b4: 3500 movi r5, 0 + + //等待通讯发送完成 + while(RS485_Comming == 0x01){ + 33b6: 1189 lrw r4, 0x200000bc // 3458 + + delay_cnt ++; + if(delay_cnt >= 100){ + break; + } + GPIO_Reverse(GPIOB0,3); + 33b8: 11c9 lrw r6, 0x20000048 // 345c + while(RS485_Comming == 0x01){ + 33ba: 947a ld.w r3, (r4, 0x68) + 33bc: 3b41 cmpnei r3, 1 + 33be: 0c3e bf 0x343a // 343a + } + + if(m_send.BusState_Flag == UART_BUSIDLE){ //总线空闲 + 33c0: 1168 lrw r3, 0x200003c4 // 3460 + 33c2: 83c4 ld.b r6, (r3, 0x4) + 33c4: 3e40 cmpnei r6, 0 + 33c6: b861 st.w r3, (r14, 0x4) + 33c8: 0845 bt 0x3452 // 3452 + + CK_CPU_DisAllNormalIrq(); + + GPIO_Write_High(GPIOB0,3); + 33ca: 11e5 lrw r7, 0x20000048 // 345c + CK_CPU_DisAllNormalIrq(); + 33cc: e3fffe21 bsr 0x300e // 300e + GPIO_Write_High(GPIOB0,3); + 33d0: 3103 movi r1, 3 + 33d2: 9700 ld.w r0, (r7, 0x0) + 33d4: e3fff674 bsr 0x20bc // 20bc + + RS485_Comm_Flag = 0x01; + 33d8: 3201 movi r2, 1 + RS485_Comm_Start = 0x00; + RS485_Comm_End = 0x00; + + m_send.BusState_Flag = UART_BUSBUSY;//发送前总线置位繁忙 + 33da: 9861 ld.w r3, (r14, 0x4) + RS485_Comm_Flag = 0x01; + 33dc: b45b st.w r2, (r4, 0x6c) + m_send.BusState_Flag = UART_BUSBUSY;//发送前总线置位繁忙 + 33de: a344 st.b r2, (r3, 0x4) + RS485_Comm_Start = 0x00; + 33e0: b4dc st.w r6, (r4, 0x70) + m_send.BUSBUSY_LOCK = 0x01; //锁定总线状态 + 33e2: a346 st.b r2, (r3, 0x6) + RS485_Comm_End = 0x00; + 33e4: b4dd st.w r6, (r4, 0x74) + + CK_CPU_EnAllNormalIrq(); + 33e6: e3fffe11 bsr 0x3008 // 3008 + + UARTTransmit(UART2,buff,len); + 33ea: 105f lrw r2, 0x20000038 // 3464 + 33ec: 9200 ld.w r0, (r2, 0x0) + 33ee: 9822 ld.w r1, (r14, 0x8) + 33f0: 9840 ld.w r2, (r14, 0x0) + 33f2: e3fff79f bsr 0x2330 // 2330 + do{ + delay_nus(100); + 33f6: 3064 movi r0, 100 + 33f8: e3fff806 bsr 0x2404 // 2404 + delay_cnt ++; + 33fc: 2500 addi r5, 1 + if(delay_cnt >= 100){ + 33fe: 3363 movi r3, 99 + 3400: 654c cmphs r3, r5 + 3402: 0c08 bf 0x3412 // 3412 + break; + } + + }while((RS485_Comm_Start < len) || (RS485_Comm_End < len)); //发送完成 + 3404: 947c ld.w r3, (r4, 0x70) + 3406: 9840 ld.w r2, (r14, 0x0) + 3408: 648d cmplt r3, r2 + 340a: 0bf6 bt 0x33f6 // 33f6 + 340c: 947d ld.w r3, (r4, 0x74) + 340e: 648d cmplt r3, r2 + 3410: 0bf3 bt 0x33f6 // 33f6 + + + CK_CPU_DisAllNormalIrq(); + 3412: e3fffdfe bsr 0x300e // 300e + + GPIO_Write_Low(GPIOB0,3); + 3416: 9700 ld.w r0, (r7, 0x0) + 3418: 3103 movi r1, 3 + 341a: e3fff655 bsr 0x20c4 // 20c4 + RS485_Comm_Flag = 0x00; + 341e: 3300 movi r3, 0 + 3420: b47b st.w r3, (r4, 0x6c) + + m_send.BusState_Tick = SysTick_1ms; + 3422: 1072 lrw r3, 0x200000b8 // 3468 + 3424: 9340 ld.w r2, (r3, 0x0) + 3426: 1072 lrw r3, 0x20000364 // 346c + 3428: b35f st.w r2, (r3, 0x7c) + m_send.BUSBUSY_LOCK = 0x00; //解锁总线状态 + 342a: 9861 ld.w r3, (r14, 0x4) + 342c: 3200 movi r2, 0 + 342e: a346 st.b r2, (r3, 0x6) + + CK_CPU_EnAllNormalIrq(); + 3430: e3fffdec bsr 0x3008 // 3008 + { + return UART_BUSBUSY; //发送失败 + } + + return 0x02; //传入状态无效 +} + 3434: 6c1b mov r0, r6 + 3436: 1403 addi r14, r14, 12 + 3438: 1494 pop r4-r7, r15 + delay_nus(100); + 343a: 3064 movi r0, 100 + 343c: e3fff7e4 bsr 0x2404 // 2404 + delay_cnt ++; + 3440: 2500 addi r5, 1 + if(delay_cnt >= 100){ + 3442: 3364 movi r3, 100 + 3444: 64d6 cmpne r5, r3 + 3446: 0fbd bf 0x33c0 // 33c0 + GPIO_Reverse(GPIOB0,3); + 3448: 3103 movi r1, 3 + 344a: 9600 ld.w r0, (r6, 0x0) + 344c: e3fff640 bsr 0x20cc // 20cc + 3450: 07b5 br 0x33ba // 33ba + return UART_BUSBUSY; //发送失败 + 3452: 3601 movi r6, 1 + 3454: 07f0 br 0x3434 // 3434 + 3456: 0000 bkpt + 3458: 200000bc .long 0x200000bc + 345c: 20000048 .long 0x20000048 + 3460: 200003c4 .long 0x200003c4 + 3464: 20000038 .long 0x20000038 + 3468: 200000b8 .long 0x200000b8 + 346c: 20000364 .long 0x20000364 + +Disassembly of section .text.MultSend_Task: + +00003470 : + * DatSd:发送标记,0x00:无发送,0x01:有数据发送 + * + * @retval 0x00:发送成功 0x01:等待发送 0x02:数据无效 + * */ +U8_T MultSend_Task(U8_T *buff,U16_T len,U8_T DatSd) +{ + 3470: 14d4 push r4-r7, r15 + 3472: 1421 subi r14, r14, 4 + if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR; + 3474: 5963 subi r3, r1, 1 + 3476: 74cd zexth r3, r3 + 3478: 3463 movi r4, 99 + 347a: 64d0 cmphs r4, r3 +{ + 347c: b800 st.w r0, (r14, 0x0) + if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR; + 347e: 0c29 bf 0x34d0 // 34d0 + + if(DatSd == 0x01) + 3480: 3a41 cmpnei r2, 1 + 3482: 0c04 bf 0x348a // 348a + }else{ + Dbg_Println(DBG_BIT_SYS_STATUS,"retry end,%d",m_send.ResendCnt ); + return RETRY_END;//没有重发次数 + } + } + return BUSSEND_WAIT;//等待 + 3484: 3001 movi r0, 1 +} + 3486: 1401 addi r14, r14, 4 + 3488: 1494 pop r4-r7, r15 + if( m_send.ResendCnt < m_send.TotalCnt) //判断数据是否还在有效期,是否还有发送次数 + 348a: 1075 lrw r3, 0x20000364 // 34dc + 348c: 3760 movi r7, 96 + 348e: 61cc addu r7, r3 + 3490: 87c8 ld.b r6, (r7, 0x8) + 3492: 874a ld.b r2, (r7, 0xa) + 3494: 6498 cmphs r6, r2 + 3496: 081f bt 0x34d4 // 34d4 + if(SysTick_1ms - m_send.BusbusyTimeout < m_send.DataValid_Time) + 3498: 3480 movi r4, 128 + 349a: 10b2 lrw r5, 0x200000b8 // 34e0 + 349c: 610c addu r4, r3 + 349e: 9401 ld.w r0, (r4, 0x4) + 34a0: 9540 ld.w r2, (r5, 0x0) + 34a2: 6082 subu r2, r0 + 34a4: 931e ld.w r0, (r3, 0x78) + 34a6: 6408 cmphs r2, r0 + 34a8: 0818 bt 0x34d8 // 34d8 + if( (m_send.ResendCnt == 0x00) || (SysTick_1ms - m_send.ASend_Tick >= m_send.DataWait_Time) ){//数据发送间隔 + 34aa: 3e40 cmpnei r6, 0 + 34ac: 0c07 bf 0x34ba // 34ba + 34ae: 9540 ld.w r2, (r5, 0x0) + 34b0: 94c0 ld.w r6, (r4, 0x0) + 34b2: 609a subu r2, r6 + 34b4: 937d ld.w r3, (r3, 0x74) + 34b6: 64c8 cmphs r2, r3 + 34b8: 0fe6 bf 0x3484 // 3484 + if(BUS485_Send(buff,len) == UART_BUSIDLE){ //发送数据 + 34ba: 9800 ld.w r0, (r14, 0x0) + 34bc: e3ffff78 bsr 0x33ac // 33ac + 34c0: 3840 cmpnei r0, 0 + 34c2: 0be1 bt 0x3484 // 3484 + m_send.ASend_Tick = SysTick_1ms; + 34c4: 9560 ld.w r3, (r5, 0x0) + 34c6: b460 st.w r3, (r4, 0x0) + m_send.ResendCnt++; + 34c8: 8768 ld.b r3, (r7, 0x8) + 34ca: 2300 addi r3, 1 + 34cc: a768 st.b r3, (r7, 0x8) + 34ce: 07dc br 0x3486 // 3486 + if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR; + 34d0: 3004 movi r0, 4 + 34d2: 07da br 0x3486 // 3486 + return RETRY_END;//没有重发次数 + 34d4: 3003 movi r0, 3 + 34d6: 07d8 br 0x3486 // 3486 + return DATA_END;//数据有效期结束 + 34d8: 3002 movi r0, 2 + 34da: 07d6 br 0x3486 // 3486 + 34dc: 20000364 .long 0x20000364 + 34e0: 200000b8 .long 0x200000b8 + +Disassembly of section .text.Set_GroupSend: + +000034e4 : + * indate: 设置数据有效期 + * tim_val: 发送时间间隔 + * @retval None + * */ +void Set_GroupSend(U8_T *data,U16_T sled,U8_T SCnt,U32_T indate,U32_T tim_val) +{ + 34e4: 14d4 push r4-r7, r15 + 34e6: 1422 subi r14, r14, 8 + 34e8: 6d8b mov r6, r2 + 34ea: 9847 ld.w r2, (r14, 0x1c) + 34ec: b840 st.w r2, (r14, 0x0) + if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return; + 34ee: 5943 subi r2, r1, 1 +{ + 34f0: 6d47 mov r5, r1 + if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return; + 34f2: 7489 zexth r2, r2 + 34f4: 3163 movi r1, 99 + 34f6: 6484 cmphs r1, r2 +{ + 34f8: 6dc3 mov r7, r0 + if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return; + 34fa: 0c20 bf 0x353a // 353a + + memset(m_send.SendBuffer,0, USART_SEND_SIZE); + 34fc: 1091 lrw r4, 0x20000364 // 3540 + 34fe: 3264 movi r2, 100 + 3500: 3100 movi r1, 0 + 3502: 6c13 mov r0, r4 + 3504: b861 st.w r3, (r14, 0x4) + 3506: e3fff22f bsr 0x1964 // 1964 <__memset_fast> + memcpy(m_send.SendBuffer,data,sled); + 350a: 6c97 mov r2, r5 + 350c: 6c13 mov r0, r4 + 350e: 6c5f mov r1, r7 + 3510: e3fff26e bsr 0x19ec // 19ec <__memcpy_fast> + m_send.SendLen = sled; + 3514: 3240 movi r2, 64 + 3516: 6090 addu r2, r4 + + m_send.DataValid_Time = indate;//数据有效期 + 3518: 9861 ld.w r3, (r14, 0x4) + 351a: b47e st.w r3, (r4, 0x78) + m_send.SendLen = sled; + 351c: aab7 st.h r5, (r2, 0x2e) + m_send.TotalCnt = SCnt; //数据发送次数 + 351e: 3360 movi r3, 96 + m_send.DataWait_Time = tim_val;//发送数据间隔 + 3520: 9840 ld.w r2, (r14, 0x0) + m_send.TotalCnt = SCnt; //数据发送次数 + 3522: 60d0 addu r3, r4 + m_send.DataWait_Time = tim_val;//发送数据间隔 + 3524: b45d st.w r2, (r4, 0x74) + + m_send.ASend_Flag = 0x01; + 3526: 3201 movi r2, 1 + 3528: a349 st.b r2, (r3, 0x9) + m_send.SendState = BUSSEND_WAIT; + 352a: a347 st.b r2, (r3, 0x7) + m_send.ResendCnt = 0x00; + 352c: 3200 movi r2, 0 + m_send.TotalCnt = SCnt; //数据发送次数 + 352e: a3ca st.b r6, (r3, 0xa) + m_send.ResendCnt = 0x00; + 3530: a348 st.b r2, (r3, 0x8) + m_send.BusbusyTimeout = SysTick_1ms; + 3532: 247f addi r4, 128 + 3534: 1064 lrw r3, 0x200000b8 // 3544 + 3536: 9360 ld.w r3, (r3, 0x0) + 3538: b461 st.w r3, (r4, 0x4) +} + 353a: 1402 addi r14, r14, 8 + 353c: 1494 pop r4-r7, r15 + 353e: 0000 bkpt + 3540: 20000364 .long 0x20000364 + 3544: 200000b8 .long 0x200000b8 + +Disassembly of section .text.BUS485Send_Task: + +00003548 : + m_send.Jump_Flag = jump; +} + +//485发送任务 +void BUS485Send_Task(void) //2025-03-29 +{ + 3548: 14d1 push r4, r15 + //空闲等待 + if(m_send.ASend_Flag == 0x01) + 354a: 108a lrw r4, 0x200003c4 // 3570 + 354c: 8469 ld.b r3, (r4, 0x9) + 354e: 3b41 cmpnei r3, 1 + 3550: 080e bt 0x356c // 356c + { + m_send.SendState = MultSend_Task(m_send.SendBuffer,m_send.SendLen,m_send.ASend_Flag); + 3552: 1069 lrw r3, 0x200003a4 // 3574 + 3554: 8b37 ld.h r1, (r3, 0x2e) + 3556: 3201 movi r2, 1 + 3558: 1008 lrw r0, 0x20000364 // 3578 + 355a: e3ffff8b bsr 0x3470 // 3470 + 355e: a407 st.b r0, (r4, 0x7) + + if( (m_send.SendState == DATA_END)||(m_send.SendState == RETRY_END) )//判断发送数据是否有效 + 3560: 2801 subi r0, 2 + 3562: 7400 zextb r0, r0 + 3564: 3801 cmphsi r0, 2 + 3566: 0803 bt 0x356c // 356c + { + Dbg_Println(DBG_BIT_SYS_STATUS,"send end"); + + m_send.ASend_Flag = 0x00; //清除发生标志位 + 3568: 3300 movi r3, 0 + 356a: a469 st.b r3, (r4, 0x9) +// SYSCON->UREG3 = g_boot.bootTimeout; //向Boot 设定Boot超时时间 +// SYSCON_Software_Reset(); +// } + } + } +} + 356c: 1491 pop r4, r15 + 356e: 0000 bkpt + 3570: 200003c4 .long 0x200003c4 + 3574: 200003a4 .long 0x200003a4 + 3578: 20000364 .long 0x20000364 + +Disassembly of section .text.BusIdle_Task: + +0000357c : +/********************************************************** + * @brief 2025-03-25,检测总线空闲,在定时器中断里调用 + * @retval None + * */ +void BusIdle_Task(void) +{ + 357c: 14d2 push r4-r5, r15 + if((m_send.BusState_Flag != UART_BUSIDLE)&&(m_send.BUSBUSY_LOCK != 0x01)) + 357e: 10ae lrw r5, 0x20000364 // 35b4 + 3580: 3460 movi r4, 96 + 3582: 6114 addu r4, r5 + 3584: 8464 ld.b r3, (r4, 0x4) + 3586: 3b40 cmpnei r3, 0 + 3588: 0c15 bf 0x35b2 // 35b2 + 358a: 8466 ld.b r3, (r4, 0x6) + 358c: 3b41 cmpnei r3, 1 + 358e: 0c12 bf 0x35b2 // 35b2 + { + CK_CPU_DisAllNormalIrq(); + 3590: e3fffd3f bsr 0x300e // 300e + if( (m_send.HighBit_Flag == 0x01)&&(SysTick_1ms - m_send.BusState_Tick >= (6 + m_send.Bus_DelayTime)) ) + 3594: 8465 ld.b r3, (r4, 0x5) + 3596: 3b41 cmpnei r3, 1 + 3598: 080b bt 0x35ae // 35ae + 359a: 1068 lrw r3, 0x200000b8 // 35b8 + 359c: 9340 ld.w r2, (r3, 0x0) + 359e: 957f ld.w r3, (r5, 0x7c) + 35a0: 608e subu r2, r3 + 35a2: 957c ld.w r3, (r5, 0x70) + 35a4: 2305 addi r3, 6 + 35a6: 64c8 cmphs r2, r3 + 35a8: 0c03 bf 0x35ae // 35ae + { + m_send.BusState_Flag = UART_BUSIDLE; + 35aa: 3300 movi r3, 0 + 35ac: a464 st.b r3, (r4, 0x4) + } + CK_CPU_EnAllNormalIrq(); + 35ae: e3fffd2d bsr 0x3008 // 3008 + } +} + 35b2: 1492 pop r4-r5, r15 + 35b4: 20000364 .long 0x20000364 + 35b8: 200000b8 .long 0x200000b8 + +Disassembly of section .text.BusBusy_Task: + +000035bc : +/******************************************************************* + * @brief 检测总线繁忙,在串口接收RX引脚的外部中断服务函数里调用 + * @retval None + * */ +void BusBusy_Task(void) +{ + 35bc: 14d2 push r4-r5, r15 + CK_CPU_DisAllNormalIrq(); + m_send.BusState_Flag = UART_BUSBUSY; + 35be: 1094 lrw r4, 0x20000364 // 360c + 35c0: 3560 movi r5, 96 + CK_CPU_DisAllNormalIrq(); + 35c2: e3fffd26 bsr 0x300e // 300e + m_send.BusState_Flag = UART_BUSBUSY; + 35c6: 6150 addu r5, r4 + 35c8: 3301 movi r3, 1 + 35ca: a564 st.b r3, (r5, 0x4) + m_send.BusState_Tick = SysTick_1ms; + m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时 + 35cc: 310a movi r1, 10 + m_send.BusState_Tick = SysTick_1ms; + 35ce: 1071 lrw r3, 0x200000b8 // 3610 + 35d0: 9340 ld.w r2, (r3, 0x0) + m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时 + 35d2: 9300 ld.w r0, (r3, 0x0) + 35d4: 3380 movi r3, 128 + 35d6: 60d0 addu r3, r4 + 35d8: 9360 ld.w r3, (r3, 0x0) + m_send.BusState_Tick = SysTick_1ms; + 35da: b45f st.w r2, (r4, 0x7c) + m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时 + 35dc: 600e subu r0, r3 + 35de: e3fffd03 bsr 0x2fe4 // 2fe4 <__umodsi3> + 35e2: b41c st.w r0, (r4, 0x70) + + if(READ_RXLEVEL_STATE == 0x01){ + 35e4: 3105 movi r1, 5 + 35e6: 108c lrw r4, 0x20000048 // 3614 + 35e8: 9400 ld.w r0, (r4, 0x0) + 35ea: e3fff57c bsr 0x20e2 // 20e2 + 35ee: 3841 cmpnei r0, 1 + 35f0: 0806 bt 0x35fc // 35fc + m_send.HighBit_Flag = 0x01; //高电平标志置位 + 35f2: 3301 movi r3, 1 + }else if(READ_RXLEVEL_STATE == 0x00){ + m_send.HighBit_Flag = 0x00; //低电平 + 35f4: a565 st.b r3, (r5, 0x5) + } + CK_CPU_EnAllNormalIrq(); + 35f6: e3fffd09 bsr 0x3008 // 3008 +} + 35fa: 1492 pop r4-r5, r15 + }else if(READ_RXLEVEL_STATE == 0x00){ + 35fc: 9400 ld.w r0, (r4, 0x0) + 35fe: 3105 movi r1, 5 + 3600: e3fff571 bsr 0x20e2 // 20e2 + 3604: 3840 cmpnei r0, 0 + 3606: 0bf8 bt 0x35f6 // 35f6 + m_send.HighBit_Flag = 0x00; //低电平 + 3608: 3300 movi r3, 0 + 360a: 07f5 br 0x35f4 // 35f4 + 360c: 20000364 .long 0x20000364 + 3610: 200000b8 .long 0x200000b8 + 3614: 20000048 .long 0x20000048 + +Disassembly of section .text.Dbg_Println: + +00003618 : + } + +#endif +} + +void Dbg_Println(int DbgOptBit, const char *cmd, ...){ + 3618: 1423 subi r14, r14, 12 + 361a: b862 st.w r3, (r14, 0x8) + 361c: b841 st.w r2, (r14, 0x4) + 361e: b820 st.w r1, (r14, 0x0) + + + } + +#endif +} + 3620: 1403 addi r14, r14, 12 + 3622: 783c jmp r15 + +Disassembly of section .text.EEPROM_CheckSum: + +00003624 : +E_PARA_INFO g_eeprom; + +E_MCU_DEV_INFO g_mcu_dev; + +U8_T EEPROM_CheckSum(U8_T *data,U16_T len) +{ + 3624: 6cc3 mov r3, r0 + 3626: 6040 addu r1, r0 + U8_T data_sum = 0; + 3628: 3000 movi r0, 0 + + for(U16_T i = 0;i + { + data_sum += data[i]; + } + return data_sum; +} + 362e: 783c jmp r15 + data_sum += data[i]; + 3630: 8340 ld.b r2, (r3, 0x0) + 3632: 6008 addu r0, r2 + 3634: 7400 zextb r0, r0 + 3636: 2300 addi r3, 1 + 3638: 07f9 br 0x362a // 362a + +Disassembly of section .text.EEPROM_ReadParaInfo: + +0000363c : + } + +} + + +U8_T EEPROM_ReadParaInfo(E_PARA_INFO *info){ + 363c: 14d1 push r4, r15 + 363e: 143b subi r14, r14, 108 + 3640: 6d03 mov r4, r0 + U8_T read_info[6]; + U8_T para_data[EEPROM_APP_DATA_Size_Max]; + U16_T read_len = 0; + + memset(read_info,0,sizeof(read_info)); + 3642: 3300 movi r3, 0 + memset(para_data,0,sizeof(para_data)); + 3644: 3264 movi r2, 100 + 3646: 3100 movi r1, 0 + 3648: 1802 addi r0, r14, 8 + memset(read_info,0,sizeof(read_info)); + 364a: b860 st.w r3, (r14, 0x0) + 364c: dc6e1002 st.h r3, (r14, 0x4) + memset(para_data,0,sizeof(para_data)); + 3650: e3fff18a bsr 0x1964 // 1964 <__memset_fast> + + ReadDataArry_U8(EEPROM_ParaInfo_Address,4,read_info); + 3654: 6cbb mov r2, r14 + 3656: 3104 movi r1, 4 + 3658: 1014 lrw r0, 0x10000100 // 36a8 + 365a: e3fff68f bsr 0x2378 // 2378 + + if(read_info[0] == EEPROM_APP_SVAE_FLAG){ + 365e: d84e0000 ld.b r2, (r14, 0x0) + 3662: 33a6 movi r3, 166 + 3664: 64ca cmpne r2, r3 + 3666: 0c04 bf 0x366e // 366e + return 0x00; + } + } + } + + return 0x01; + 3668: 3001 movi r0, 1 +} + 366a: 141b addi r14, r14, 108 + 366c: 1491 pop r4, r15 + read_len |= read_info[1]; + 366e: d82e0002 ld.b r1, (r14, 0x2) + 3672: d86e0001 ld.b r3, (r14, 0x1) + 3676: 4128 lsli r1, r1, 8 + 3678: 6c4c or r1, r3 + if(read_len <= EEPROM_APP_DATA_Size_Max){ + 367a: 3364 movi r3, 100 + 367c: 644c cmphs r3, r1 + 367e: 0ff5 bf 0x3668 // 3668 + ReadDataArry_U8(EEPROM_ParaInfo_Address+EEPROM_Offset_Data,read_len,para_data); + 3680: 1a02 addi r2, r14, 8 + 3682: 100b lrw r0, 0x10000104 // 36ac + 3684: e3fff67a bsr 0x2378 // 2378 + if(EEPROM_CheckSum(para_data,sizeof(E_PARA_INFO)) == read_info[3]){ + 3688: 3108 movi r1, 8 + 368a: 1802 addi r0, r14, 8 + 368c: e3ffffcc bsr 0x3624 // 3624 + 3690: d86e0003 ld.b r3, (r14, 0x3) + 3694: 640e cmpne r3, r0 + 3696: 0be9 bt 0x3668 // 3668 + memcpy((uint8_t *)info,para_data,sizeof(E_PARA_INFO)); + 3698: 3208 movi r2, 8 + 369a: 1902 addi r1, r14, 8 + 369c: 6c13 mov r0, r4 + 369e: e3fff1a7 bsr 0x19ec // 19ec <__memcpy_fast> + return 0x00; + 36a2: 3000 movi r0, 0 + 36a4: 07e3 br 0x366a // 366a + 36a6: 0000 bkpt + 36a8: 10000100 .long 0x10000100 + 36ac: 10000104 .long 0x10000104 + +Disassembly of section .text.EEPROM_Validate_ParaInfo: + +000036b0 : + Page_ProgramData(EEPROM_ParaInfo_Address,save_len,save_data); + + return 0; +} + +U8_T EEPROM_Validate_ParaInfo(E_PARA_INFO *info){ + 36b0: 14d0 push r15 + 36b2: 1423 subi r14, r14, 12 +// { +// info->langue_select = EEPROM_LangueSelect_Default;//默认中英文混合 +// } + + //设备端口类型 + if(info->dev_port > 2) //2024-12-16 + 36b4: 8067 ld.b r3, (r0, 0x7) + 36b6: 3b02 cmphsi r3, 3 + 36b8: 0c03 bf 0x36be // 36be + { + info->dev_port = POLLING_PORT; //默认轮训端口 + 36ba: 3301 movi r3, 1 + 36bc: a067 st.b r3, (r0, 0x7) + } + + + Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info temp unit:%d backlight_en:%d key_sens_level:%d device_addr:%d device_port:%d",\ + 36be: 8027 ld.b r1, (r0, 0x7) + 36c0: 8064 ld.b r3, (r0, 0x4) + 36c2: 8043 ld.b r2, (r0, 0x3) + 36c4: b822 st.w r1, (r14, 0x8) + 36c6: 8020 ld.b r1, (r0, 0x0) + 36c8: b821 st.w r1, (r14, 0x4) + 36ca: 8025 ld.b r1, (r0, 0x5) + 36cc: b820 st.w r1, (r14, 0x0) + 36ce: 3000 movi r0, 0 + 36d0: 1023 lrw r1, 0x567e // 36dc + 36d2: e3ffffa3 bsr 0x3618 // 3618 + info->temp_select,info->backlight_en,info->key_sens_level,info->dev_addr,info->dev_port); + + return 0; +} + 36d6: 3000 movi r0, 0 + 36d8: 1403 addi r14, r14, 12 + 36da: 1490 pop r15 + 36dc: 0000567e .long 0x0000567e + +Disassembly of section .text.EEPROM_Default_ParaInfo: + +000036e0 : + +/*恢复默认值*/ +void EEPROM_Default_ParaInfo(E_PARA_INFO *info){ + info->dev_addr = 0x01; + 36e0: 3301 movi r3, 1 + 36e2: a060 st.b r3, (r0, 0x0) + info->pipe_flag = 0x00; + 36e4: 3300 movi r3, 0 + 36e6: a061 st.b r3, (r0, 0x1) + info->temp_diff = EEPROM_TempDifference_Default; + 36e8: 3309 movi r3, 9 + 36ea: a062 st.b r3, (r0, 0x2) + info->temp_select = EEPROM_TempSelect_Default; + 36ec: 3300 movi r3, 0 + 36ee: a063 st.b r3, (r0, 0x3) + info->backlight_en = 0x00; + 36f0: a064 st.b r3, (r0, 0x4) + info->key_sens_level = EEPROM_TouchLevel_Default; + 36f2: 3301 movi r3, 1 + 36f4: a065 st.b r3, (r0, 0x5) + info->langue_select = EEPROM_LangueSelect_Default; + 36f6: 3300 movi r3, 0 + 36f8: a066 st.b r3, (r0, 0x6) + info->dev_port = POLLING_PORT; //2024-12-16 + 36fa: 3301 movi r3, 1 + 36fc: a067 st.b r3, (r0, 0x7) + +} + 36fe: 783c jmp r15 + +Disassembly of section .text.EEPROM_Init: + +00003700 : +void EEPROM_Init(void){ + 3700: 14d1 push r4, r15 + EnIFCClk; //使能 IFC 时钟 + 3702: 1072 lrw r3, 0x20000060 // 3748 + 3704: 3201 movi r2, 1 + 3706: 9360 ld.w r3, (r3, 0x0) + 3708: b341 st.w r2, (r3, 0x4) + IFC->MR |= 0x10002; //高速模式,延迟 2 个周期 + 370a: 9345 ld.w r2, (r3, 0x14) + 370c: 3aa1 bseti r2, 1 + 370e: 3ab0 bseti r2, 16 + 3710: b345 st.w r2, (r3, 0x14) + delay_nms(10); + 3712: 300a movi r0, 10 + memset(&g_eeprom,0,sizeof(E_PARA_INFO)); + 3714: 108e lrw r4, 0x200003ec // 374c + delay_nms(10); + 3716: e3fff661 bsr 0x23d8 // 23d8 + memset(&g_eeprom,0,sizeof(E_PARA_INFO)); + 371a: 3208 movi r2, 8 + 371c: 3100 movi r1, 0 + 371e: 6c13 mov r0, r4 + 3720: e3fff122 bsr 0x1964 // 1964 <__memset_fast> + rev = EEPROM_ReadParaInfo(&g_eeprom); + 3724: 6c13 mov r0, r4 + 3726: e3ffff8b bsr 0x363c // 363c + if(rev == 0x00){ + 372a: 3840 cmpnei r0, 0 + EEPROM_Validate_ParaInfo(&g_eeprom); + 372c: 6c13 mov r0, r4 + if(rev == 0x00){ + 372e: 0804 bt 0x3736 // 3736 + EEPROM_Validate_ParaInfo(&g_eeprom); + 3730: e3ffffc0 bsr 0x36b0 // 36b0 +} + 3734: 1491 pop r4, r15 + EEPROM_Default_ParaInfo(&g_eeprom); + 3736: e3ffffd5 bsr 0x36e0 // 36e0 + Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info Use Default:%d",g_eeprom.pipe_flag); + 373a: 8441 ld.b r2, (r4, 0x1) + 373c: 1025 lrw r1, 0x56d8 // 3750 + 373e: 3000 movi r0, 0 + 3740: e3ffff6c bsr 0x3618 // 3618 +} + 3744: 07f8 br 0x3734 // 3734 + 3746: 0000 bkpt + 3748: 20000060 .long 0x20000060 + 374c: 200003ec .long 0x200003ec + 3750: 000056d8 .long 0x000056d8 + +Disassembly of section .text.TemCtrl_Init: + +00003754 : + * 函数功能:温控初始化 + * + * +*****************************************************************/ +void TemCtrl_Init(void) +{ + 3754: 14d1 push r4, r15 + memset(&TempCtrl,0x00,sizeof(TempCtrl_Unit)); + 3756: 1290 lrw r4, 0x2000041c // 3894 + 3758: 3228 movi r2, 40 + 375a: 3100 movi r1, 0 + 375c: 6c13 mov r0, r4 + 375e: e3fff103 bsr 0x1964 // 1964 <__memset_fast> + + if(Sys_RSR & 0xFFFFFFFE) //除上电复位外其他复位源则恢复温控状态 + 3762: 126e lrw r3, 0x200000ac // 3898 + 3764: 9360 ld.w r3, (r3, 0x0) + 3766: 3b80 bclri r3, 0 + 3768: 3b40 cmpnei r3, 0 + 376a: 0c8e bf 0x3886 // 3886 + { + Dbg_Println(DBG_BIT_SYS_STATUS,"MCU reset,recover state!"); + 376c: 122c lrw r1, 0x56fe // 389c + 376e: 3000 movi r0, 0 + 3770: e3ffff54 bsr 0x3618 // 3618 + + if(((Sav_Temp & 0xFF) == TEMP_OFF) || ((Sav_Temp & 0xFF) == TEMP_ON)) //读取的温控开关机状态合法 + 3774: 126b lrw r3, 0x200000a8 // 38a0 + 3776: 30ff movi r0, 255 + 3778: 9320 ld.w r1, (r3, 0x0) + 377a: 6840 and r1, r0 + 377c: 3940 cmpnei r1, 0 + 377e: 0c05 bf 0x3788 // 3788 + 3780: 9340 ld.w r2, (r3, 0x0) + 3782: 6880 and r2, r0 + 3784: 3a41 cmpnei r2, 1 + 3786: 0873 bt 0x386c // 386c + { + TempCtrl.TemState_Now.on_off = (Sav_Temp & 0xFF); + 3788: 9340 ld.w r2, (r3, 0x0) + 378a: 4227 lsli r1, r2, 7 + 378c: 307f movi r0, 127 + 378e: 8442 ld.b r2, (r4, 0x2) + 3790: 6880 and r2, r0 + 3792: 6c84 or r2, r1 + } + else + { + TempCtrl.TemState_Now.on_off = TEMP_OFF; + 3794: a442 st.b r2, (r4, 0x2) + } + + if( (((Sav_Temp >> 8) & 0xFF) == MODEL_COLD) || (((Sav_Temp >> 8) & 0xFF) == MODEL_HOT) + 3796: 9340 ld.w r2, (r3, 0x0) + 3798: 4a48 lsri r2, r2, 8 + 379a: 30ff movi r0, 255 + 379c: 6880 and r2, r0 + 379e: 3a40 cmpnei r2, 0 + 37a0: 0c10 bf 0x37c0 // 37c0 + 37a2: 9340 ld.w r2, (r3, 0x0) + 37a4: 4a48 lsri r2, r2, 8 + 37a6: 6880 and r2, r0 + 37a8: 3a42 cmpnei r2, 2 + 37aa: 0c0b bf 0x37c0 // 37c0 + || (((Sav_Temp >> 8) & 0xFF) == MODEL_WIND) || (((Sav_Temp >> 8) & 0xFF) == MODEL_AUTO) ) //读取的温控模式状态合法 + 37ac: 9320 ld.w r1, (r3, 0x0) + 37ae: 4928 lsri r1, r1, 8 + 37b0: 6840 and r1, r0 + 37b2: 3944 cmpnei r1, 4 + 37b4: 0c06 bf 0x37c0 // 37c0 + 37b6: 9340 ld.w r2, (r3, 0x0) + 37b8: 4a48 lsri r2, r2, 8 + 37ba: 6880 and r2, r0 + 37bc: 3a46 cmpnei r2, 6 + 37be: 085b bt 0x3874 // 3874 + { + TempCtrl.TemState_Now.mode = ((Sav_Temp >> 8) & 0xFF); + 37c0: 9340 ld.w r2, (r3, 0x0) + 37c2: 3107 movi r1, 7 + 37c4: 4a48 lsri r2, r2, 8 + 37c6: 6884 and r2, r1 + 37c8: 3070 movi r0, 112 + 37ca: 8422 ld.b r1, (r4, 0x2) + 37cc: 4244 lsli r2, r2, 4 + 37ce: 6841 andn r1, r0 + 37d0: 6c84 or r2, r1 + } + else + { + TempCtrl.TemState_Now.mode = MODEL_COLD; + 37d2: a442 st.b r2, (r4, 0x2) + } + + if( (((Sav_Temp >> 16) & 0xFF) == FAN_LOW) || (((Sav_Temp >> 16) & 0xFF) == FAN_MID) //读取的温控风速状态合法 + 37d4: 9340 ld.w r2, (r3, 0x0) + 37d6: 4a50 lsri r2, r2, 16 + 37d8: 30ff movi r0, 255 + 37da: 6880 and r2, r0 + 37dc: 3a40 cmpnei r2, 0 + 37de: 0c10 bf 0x37fe // 37fe + 37e0: 9340 ld.w r2, (r3, 0x0) + 37e2: 4a50 lsri r2, r2, 16 + 37e4: 6880 and r2, r0 + 37e6: 3a41 cmpnei r2, 1 + 37e8: 0c0b bf 0x37fe // 37fe + || (((Sav_Temp >> 16) & 0xFF) == FAN_HIGH)|| (((Sav_Temp >> 16) & 0xFF) == FAN_AUTO)) + 37ea: 9320 ld.w r1, (r3, 0x0) + 37ec: 4930 lsri r1, r1, 16 + 37ee: 6840 and r1, r0 + 37f0: 3942 cmpnei r1, 2 + 37f2: 0c06 bf 0x37fe // 37fe + 37f4: 9340 ld.w r2, (r3, 0x0) + 37f6: 4a50 lsri r2, r2, 16 + 37f8: 6880 and r2, r0 + 37fa: 3a43 cmpnei r2, 3 + 37fc: 0840 bt 0x387c // 387c + { + TempCtrl.TemState_Now.fan = ((Sav_Temp >> 16) & 0xFF); + 37fe: 9340 ld.w r2, (r3, 0x0) + 3800: 3107 movi r1, 7 + 3802: 4a50 lsri r2, r2, 16 + 3804: 6884 and r2, r1 + 3806: 300e movi r0, 14 + 3808: 8422 ld.b r1, (r4, 0x2) + 380a: 4241 lsli r2, r2, 1 + 380c: 6841 andn r1, r0 + 380e: 6c84 or r2, r1 + } + else + { + TempCtrl.TemState_Now.fan = FAN_MID; + 3810: a442 st.b r2, (r4, 0x2) + } + //读取的温控设置温度合法 2024-04-18增加0==32的判断 + if(((((Sav_Temp >> 24) & 0xFF) >= 16) && (((Sav_Temp >> 24) & 0xFF) <= 32)) ) + 3812: 9340 ld.w r2, (r3, 0x0) + 3814: 4a58 lsri r2, r2, 24 + 3816: 3a0f cmphsi r2, 16 + 3818: 0c3c bf 0x3890 // 3890 + 381a: 3284 movi r2, 132 + 381c: 4256 lsli r2, r2, 22 + 381e: 9320 ld.w r1, (r3, 0x0) + 3820: 2a00 subi r2, 1 + 3822: 6448 cmphs r2, r1 + 3824: 0c36 bf 0x3890 // 3890 + { + TempCtrl.TemState_Now.set_t = ((Sav_Temp >> 24) & 0xFF); + 3826: 9360 ld.w r3, (r3, 0x0) + 3828: 4b78 lsri r3, r3, 24 + else //正常上电温控状态 + { + TempCtrl.TemState_Now.on_off = TEMP_OFF; //关机 + TempCtrl.TemState_Now.mode = MODEL_COLD; //制冷 + TempCtrl.TemState_Now.fan = FAN_MID; //中风速 + TempCtrl.TemState_Now.set_t = 24; //24 + 382a: a461 st.b r3, (r4, 0x1) + } + + TempCtrl.TemState_Now.indoor_t = 24; + 382c: 3318 movi r3, 24 + 382e: a460 st.b r3, (r4, 0x0) + TempCtrl.TemStateLast.indoor_t = TempCtrl.TemState_Now.indoor_t; + 3830: a464 st.b r3, (r4, 0x4) + TempCtrl.TemState_Ctrller.indoor_t = TempCtrl.TemState_Now.indoor_t; + 3832: a468 st.b r3, (r4, 0x8) + + + SYSCON->UREG0 = 0x00000000; + 3834: 3200 movi r2, 0 + 3836: 107c lrw r3, 0x2000005c // 38a4 + 3838: 9360 ld.w r3, (r3, 0x0) + 383a: 23ff addi r3, 256 + 383c: b340 st.w r2, (r3, 0x0) + SYSCON->UREG0 |= (TempCtrl.TemState_Now.mode << 8); + 383e: 8442 ld.b r2, (r4, 0x2) + 3840: 4239 lsli r1, r2, 25 + 3842: 493d lsri r1, r1, 29 + 3844: 9300 ld.w r0, (r3, 0x0) + 3846: 4128 lsli r1, r1, 8 + 3848: 6c40 or r1, r0 + 384a: b320 st.w r1, (r3, 0x0) + SYSCON->UREG0 |= (TempCtrl.TemState_Now.fan << 16); + 384c: 423c lsli r1, r2, 28 + 384e: 493d lsri r1, r1, 29 + 3850: 9300 ld.w r0, (r3, 0x0) + 3852: 4130 lsli r1, r1, 16 + 3854: 6c40 or r1, r0 + 3856: b320 st.w r1, (r3, 0x0) + SYSCON->UREG0 |= (TempCtrl.TemState_Now.set_t << 24); + 3858: 8421 ld.b r1, (r4, 0x1) + 385a: 9300 ld.w r0, (r3, 0x0) + 385c: 4138 lsli r1, r1, 24 + 385e: 6c40 or r1, r0 + 3860: b320 st.w r1, (r3, 0x0) + SYSCON->UREG0 |= TempCtrl.TemState_Now.on_off; //2024-03-15 + 3862: 9320 ld.w r1, (r3, 0x0) + 3864: 4a47 lsri r2, r2, 7 + 3866: 6c84 or r2, r1 + 3868: b340 st.w r2, (r3, 0x0) +} + 386a: 1491 pop r4, r15 + TempCtrl.TemState_Now.on_off = TEMP_OFF; + 386c: 8442 ld.b r2, (r4, 0x2) + 386e: 317f movi r1, 127 + 3870: 6884 and r2, r1 + 3872: 0791 br 0x3794 // 3794 + TempCtrl.TemState_Now.mode = MODEL_COLD; + 3874: 8442 ld.b r2, (r4, 0x2) + 3876: 3170 movi r1, 112 + 3878: 6885 andn r2, r1 + 387a: 07ac br 0x37d2 // 37d2 + TempCtrl.TemState_Now.fan = FAN_MID; + 387c: 8442 ld.b r2, (r4, 0x2) + 387e: 310e movi r1, 14 + 3880: 6885 andn r2, r1 + 3882: 3aa1 bseti r2, 1 + 3884: 07c6 br 0x3810 // 3810 + TempCtrl.TemState_Now.fan = FAN_MID; //中风速 + 3886: 8462 ld.b r3, (r4, 0x2) + 3888: 320e movi r2, 14 + 388a: 68c9 andn r3, r2 + 388c: 3ba1 bseti r3, 1 + 388e: a462 st.b r3, (r4, 0x2) + TempCtrl.TemState_Now.set_t = 24; //24 + 3890: 3318 movi r3, 24 + 3892: 07cc br 0x382a // 382a + 3894: 2000041c .long 0x2000041c + 3898: 200000ac .long 0x200000ac + 389c: 000056fe .long 0x000056fe + 38a0: 200000a8 .long 0x200000a8 + 38a4: 2000005c .long 0x2000005c + +Disassembly of section .text.Ctrller_Ctrl_AirState: + +000038a8 : + * 函数功能 : 控制空调状态 + * 函数输入 : + * 函数输出 : +**********************************************************************************/ +void Ctrller_Ctrl_AirState(void) +{ + 38a8: 14d0 push r15 + 38aa: 1423 subi r14, r14, 12 + U8_T SdBuff[12]; + U16_T SdLen = 0x0B; + + SdBuff[0] = 0xDD; + 38ac: 3300 movi r3, 0 + 38ae: 2b22 subi r3, 35 + 38b0: dc6e0000 st.b r3, (r14, 0x0) + SdBuff[1] = 0x0B; + 38b4: 330b movi r3, 11 + 38b6: dc6e0001 st.b r3, (r14, 0x1) + SdBuff[2] = 0xFF; + 38ba: 3300 movi r3, 0 + 38bc: 2b00 subi r3, 1 + 38be: dc6e0002 st.b r3, (r14, 0x2) + SdBuff[3] = g_Dip.DIP_addr; + SdBuff[4] = 0x03; //命令字 + + SdBuff[5] = TempCtrl.TemState_Now.on_off; //开关机状态 + 38c2: 1144 lrw r2, 0x2000041c // 3950 + SdBuff[3] = g_Dip.DIP_addr; + 38c4: 1164 lrw r3, 0x20000444 // 3954 + 38c6: 8366 ld.b r3, (r3, 0x6) + 38c8: dc6e0003 st.b r3, (r14, 0x3) + SdBuff[4] = 0x03; //命令字 + 38cc: 3303 movi r3, 3 + 38ce: dc6e0004 st.b r3, (r14, 0x4) + SdBuff[5] = TempCtrl.TemState_Now.on_off; //开关机状态 + 38d2: 8262 ld.b r3, (r2, 0x2) + 38d4: 4b27 lsri r1, r3, 7 + 38d6: dc2e0005 st.b r1, (r14, 0x5) + + SdBuff[6] = TempCtrl.TemState_Now.set_t; //设定温度 + 38da: 8221 ld.b r1, (r2, 0x1) + 38dc: dc2e0006 st.b r1, (r14, 0x6) + + if(TempCtrl.TemState_Now.mode == MODEL_COLD){ //空调工作模式, 0x01:制热, 0x02:制冷, 0x04:送风 + 38e0: 74cc zextb r3, r3 + 38e2: 3170 movi r1, 112 + 38e4: 684c and r1, r3 + 38e6: 3940 cmpnei r1, 0 + 38e8: 081a bt 0x391c // 391c + SdBuff[7] = 0x02; + 38ea: 3102 movi r1, 2 + }else if(TempCtrl.TemState_Now.mode == MODEL_HOT){ + SdBuff[7] = 0x01; + }else if(TempCtrl.TemState_Now.mode == MODEL_WIND){ + SdBuff[7] = 0x04; + 38ec: dc2e0007 st.b r1, (r14, 0x7) + }else{ + SdBuff[7] = 0x02; + } + + if(TempCtrl.TemState_Now.fan == FAN_AUTO){ //空调风速, 0x00:自动, 0x01:低风速, 0x02:中风速, 0x03:高风速, 0x04:停止 + 38f0: 310e movi r1, 14 + 38f2: 68c4 and r3, r1 + 38f4: 3b46 cmpnei r3, 6 + 38f6: 081d bt 0x3930 // 3930 + SdBuff[8] = 0x00; + 38f8: 3300 movi r3, 0 + }else if(TempCtrl.TemState_Now.fan == FAN_MID){ + SdBuff[8] = 0x02; + }else if(TempCtrl.TemState_Now.fan == FAN_HIGH){ + SdBuff[8] = 0x03; + }else if(TempCtrl.TemState_Now.fan == FAN_STOP){ + SdBuff[8] = 0x04; + 38fa: dc6e0008 st.b r3, (r14, 0x8) + SdBuff[8] = 0x02; + } + + SdBuff[9] = TempCtrl.Temp_dirwind; //空调的风向值, 0x00:无风向, 0x01:代表风向板位于位置1, ..., 0x07:代表风向板位于位置7, 0xFF:自动摆动 + + SdBuff[10] = EEPROM_CheckSum(SdBuff,0x0A); + 38fe: 310a movi r1, 10 + SdBuff[9] = TempCtrl.Temp_dirwind; //空调的风向值, 0x00:无风向, 0x01:代表风向板位于位置1, ..., 0x07:代表风向板位于位置7, 0xFF:自动摆动 + 3900: 826c ld.b r3, (r2, 0xc) + SdBuff[10] = EEPROM_CheckSum(SdBuff,0x0A); + 3902: 6c3b mov r0, r14 + SdBuff[9] = TempCtrl.Temp_dirwind; //空调的风向值, 0x00:无风向, 0x01:代表风向板位于位置1, ..., 0x07:代表风向板位于位置7, 0xFF:自动摆动 + 3904: dc6e0009 st.b r3, (r14, 0x9) + SdBuff[10] = EEPROM_CheckSum(SdBuff,0x0A); + 3908: e3fffe8e bsr 0x3624 // 3624 + 390c: dc0e000a st.b r0, (r14, 0xa) + + Controller485_SendData(SdBuff,SdLen); + 3910: 310b movi r1, 11 + 3912: 6c3b mov r0, r14 + 3914: e3fffcf8 bsr 0x3304 // 3304 +} + 3918: 1403 addi r14, r14, 12 + 391a: 1490 pop r15 + }else if(TempCtrl.TemState_Now.mode == MODEL_HOT){ + 391c: 3020 movi r0, 32 + 391e: 6406 cmpne r1, r0 + 3920: 0803 bt 0x3926 // 3926 + SdBuff[7] = 0x01; + 3922: 3101 movi r1, 1 + 3924: 07e4 br 0x38ec // 38ec + }else if(TempCtrl.TemState_Now.mode == MODEL_WIND){ + 3926: 3040 movi r0, 64 + 3928: 6406 cmpne r1, r0 + 392a: 0be0 bt 0x38ea // 38ea + SdBuff[7] = 0x04; + 392c: 3104 movi r1, 4 + 392e: 07df br 0x38ec // 38ec + }else if(TempCtrl.TemState_Now.fan == FAN_LOW){ + 3930: 3b40 cmpnei r3, 0 + 3932: 0803 bt 0x3938 // 3938 + SdBuff[8] = 0x01; + 3934: 3301 movi r3, 1 + 3936: 07e2 br 0x38fa // 38fa + }else if(TempCtrl.TemState_Now.fan == FAN_MID){ + 3938: 3b42 cmpnei r3, 2 + 393a: 0803 bt 0x3940 // 3940 + SdBuff[8] = 0x02; + 393c: 3302 movi r3, 2 + 393e: 07de br 0x38fa // 38fa + }else if(TempCtrl.TemState_Now.fan == FAN_HIGH){ + 3940: 3b44 cmpnei r3, 4 + 3942: 0803 bt 0x3948 // 3948 + SdBuff[8] = 0x03; + 3944: 3303 movi r3, 3 + 3946: 07da br 0x38fa // 38fa + }else if(TempCtrl.TemState_Now.fan == FAN_STOP){ + 3948: 3b48 cmpnei r3, 8 + 394a: 0bf9 bt 0x393c // 393c + SdBuff[8] = 0x04; + 394c: 3304 movi r3, 4 + 394e: 07d6 br 0x38fa // 38fa + 3950: 2000041c .long 0x2000041c + 3954: 20000444 .long 0x20000444 + +Disassembly of section .text.TemCtrl_Pro: + +00003958 : +{ + 3958: 14d1 push r4, r15 + if(TempCtrl.TemState_Now.on_off != TempCtrl.TemState_Ctrller.on_off) + 395a: 1168 lrw r3, 0x2000041c // 39f8 + 395c: 8322 ld.b r1, (r3, 0x2) + 395e: 834a ld.b r2, (r3, 0xa) + 3960: 4927 lsri r1, r1, 7 + 3962: 4a07 lsri r0, r2, 7 + 3964: 6442 cmpne r0, r1 + 3966: 0c08 bf 0x3976 // 3976 + TempCtrl.TemState_Ctrller.on_off = TempCtrl.TemState_Now.on_off; + 3968: 307f movi r0, 127 + 396a: 4127 lsli r1, r1, 7 + 396c: 6880 and r2, r0 + 396e: 6c84 or r2, r1 + 3970: a34a st.b r2, (r3, 0xa) + TempCtrl.TempCtrllerChange_Flag = 0x01; + 3972: 3201 movi r2, 1 + 3974: a354 st.b r2, (r3, 0x14) + if(TempCtrl.TemState_Now.set_t != TempCtrl.TemState_Ctrller.set_t) + 3976: 8341 ld.b r2, (r3, 0x1) + 3978: 8329 ld.b r1, (r3, 0x9) + 397a: 6486 cmpne r1, r2 + 397c: 0c04 bf 0x3984 // 3984 + TempCtrl.TemState_Ctrller.set_t = TempCtrl.TemState_Now.set_t; + 397e: a349 st.b r2, (r3, 0x9) + TempCtrl.TempCtrllerChange_Flag = 0x01; + 3980: 3201 movi r2, 1 + 3982: a354 st.b r2, (r3, 0x14) + if(TempCtrl.TemState_Now.mode != TempCtrl.TemState_Ctrller.mode) + 3984: 8342 ld.b r2, (r3, 0x2) + 3986: 832a ld.b r1, (r3, 0xa) + 3988: 4259 lsli r2, r2, 25 + 398a: 4119 lsli r0, r1, 25 + 398c: 4a5d lsri r2, r2, 29 + 398e: 481d lsri r0, r0, 29 + 3990: 6482 cmpne r0, r2 + 3992: 0c08 bf 0x39a2 // 39a2 + TempCtrl.TemState_Ctrller.mode = TempCtrl.TemState_Now.mode; + 3994: 3070 movi r0, 112 + 3996: 4244 lsli r2, r2, 4 + 3998: 6841 andn r1, r0 + 399a: 6c84 or r2, r1 + 399c: a34a st.b r2, (r3, 0xa) + TempCtrl.TempCtrllerChange_Flag = 0x01; + 399e: 3201 movi r2, 1 + 39a0: a354 st.b r2, (r3, 0x14) + if(TempCtrl.TemState_Now.fan != TempCtrl.TemState_Ctrller.fan) + 39a2: 8342 ld.b r2, (r3, 0x2) + 39a4: 832a ld.b r1, (r3, 0xa) + 39a6: 425c lsli r2, r2, 28 + 39a8: 411c lsli r0, r1, 28 + 39aa: 4a5d lsri r2, r2, 29 + 39ac: 481d lsri r0, r0, 29 + 39ae: 6482 cmpne r0, r2 + 39b0: 0c08 bf 0x39c0 // 39c0 + TempCtrl.TemState_Ctrller.fan = TempCtrl.TemState_Now.fan; + 39b2: 300e movi r0, 14 + 39b4: 4241 lsli r2, r2, 1 + 39b6: 6841 andn r1, r0 + 39b8: 6c84 or r2, r1 + 39ba: a34a st.b r2, (r3, 0xa) + TempCtrl.TempCtrllerChange_Flag = 0x01; + 39bc: 3201 movi r2, 1 + 39be: a354 st.b r2, (r3, 0x14) + if( (TempCtrl.TempCtrllerChange_Flag == 0x01)&&(SysTick_1ms - TemCtrl_tick >= 300) ) + 39c0: 8354 ld.b r2, (r3, 0x14) + 39c2: 3a41 cmpnei r2, 1 + 39c4: 0814 bt 0x39ec // 39ec + 39c6: 104e lrw r2, 0x200000b8 // 39fc + 39c8: 100e lrw r0, 0x20000144 // 3a00 + 39ca: 9220 ld.w r1, (r2, 0x0) + 39cc: 9080 ld.w r4, (r0, 0x0) + 39ce: 6052 subu r1, r4 + 39d0: 108d lrw r4, 0x12b // 3a04 + 39d2: 6450 cmphs r4, r1 + 39d4: 080c bt 0x39ec // 39ec + TempCtrl.TemQuery_1S_tick = SysTick_1ms; + 39d6: 9220 ld.w r1, (r2, 0x0) + TemCtrl_tick = SysTick_1ms; + 39d8: 9240 ld.w r2, (r2, 0x0) + 39da: b040 st.w r2, (r0, 0x0) + if(TempCtrl.TempCtrller_Cnt <= 0x03) + 39dc: 8353 ld.b r2, (r3, 0x13) + 39de: 3a03 cmphsi r2, 4 + TempCtrl.TemQuery_1S_tick = SysTick_1ms; + 39e0: b329 st.w r1, (r3, 0x24) + if(TempCtrl.TempCtrller_Cnt <= 0x03) + 39e2: 0806 bt 0x39ee // 39ee + TempCtrl.TempCtrller_Cnt++; + 39e4: 2200 addi r2, 1 + 39e6: a353 st.b r2, (r3, 0x13) + Ctrller_Ctrl_AirState(); + 39e8: e3ffff60 bsr 0x38a8 // 38a8 +} + 39ec: 1491 pop r4, r15 + TempCtrl.TempCtrllerChange_Flag = 0x00; + 39ee: 3200 movi r2, 0 + 39f0: a354 st.b r2, (r3, 0x14) + TempCtrl.TempCtrller_Cnt = 0x00; + 39f2: a353 st.b r2, (r3, 0x13) +} + 39f4: 07fc br 0x39ec // 39ec + 39f6: 0000 bkpt + 39f8: 2000041c .long 0x2000041c + 39fc: 200000b8 .long 0x200000b8 + 3a00: 20000144 .long 0x20000144 + 3a04: 0000012b .long 0x0000012b + +Disassembly of section .text.Ctrller_CtrlAirState_Processing: + +00003a08 : + * Len : 接收数据长度 + * 函数输出 : +**********************************************************************************/ +U8_T Ctrller_CtrlAirState_Processing(U8_T *RecData, U16_T Len) +{ + if(Len < 7) return 0x01; + 3a08: 3906 cmphsi r1, 7 + 3a0a: 0c0a bf 0x3a1e // 3a1e + + if(RecData[5] == 0x00) //控制设定失败 + { + + } + else if(RecData[5] == 0x01) //控制设定成功 + 3a0c: 8065 ld.b r3, (r0, 0x5) + 3a0e: 3b41 cmpnei r3, 1 + 3a10: 0805 bt 0x3a1a // 3a1a + { + TempCtrl.TempCtrllerChange_Flag = 0x00; + 3a12: 1065 lrw r3, 0x2000041c // 3a24 + 3a14: 3200 movi r2, 0 + 3a16: a354 st.b r2, (r3, 0x14) + TempCtrl.TempCtrller_Cnt = 0x00; + 3a18: a353 st.b r2, (r3, 0x13) + else if(RecData[5] == 0x01) //控制设定成功 + 3a1a: 3000 movi r0, 0 + 3a1c: 0402 br 0x3a20 // 3a20 + if(Len < 7) return 0x01; + 3a1e: 3001 movi r0, 1 + } + + return 0x00; +} + 3a20: 783c jmp r15 + 3a22: 0000 bkpt + 3a24: 2000041c .long 0x2000041c + +Disassembly of section .text.Ctrller_RecData_Processing: + +00003a28 : + * RecData : 接收数据缓冲区 + * Len : 接收数据长度 + * 函数输出 : 处理状态 +**********************************************************************************/ +U8_T Ctrller_RecData_Processing(U8_T *RecData, U16_T Len) +{ + 3a28: 14d4 push r4-r7, r15 + if( (Len < 6)||(RecData[1] != Len) ) + 3a2a: 3905 cmphsi r1, 6 +{ + 3a2c: 6d03 mov r4, r0 + 3a2e: 6c87 mov r2, r1 + if( (Len < 6)||(RecData[1] != Len) ) + 3a30: 0c04 bf 0x3a38 // 3a38 + 3a32: 80a1 ld.b r5, (r0, 0x1) + 3a34: 6456 cmpne r5, r1 + 3a36: 0c07 bf 0x3a44 // 3a44 + { + Dbg_Println(DBG_BIT_SYS_STATUS,"Len Err:%d",Len); + 3a38: 3000 movi r0, 0 + 3a3a: 1121 lrw r1, 0x5717 // 3abc + 3a3c: e3fffdee bsr 0x3618 // 3618 + return 0x01; + 3a40: 3001 movi r0, 1 + break; + } + + + return 0x00; +} + 3a42: 1494 pop r4-r7, r15 + if(RecData[0] != 0xCC) + 3a44: 8040 ld.b r2, (r0, 0x0) + 3a46: 33cc movi r3, 204 + 3a48: 64ca cmpne r2, r3 + 3a4a: 0c07 bf 0x3a58 // 3a58 + Dbg_Println(DBG_BIT_SYS_STATUS,"Head Err"); + 3a4c: 3000 movi r0, 0 + 3a4e: 103d lrw r1, 0x5722 // 3ac0 + 3a50: e3fffde4 bsr 0x3618 // 3618 + return 0x02; + 3a54: 3002 movi r0, 2 + 3a56: 07f6 br 0x3a42 // 3a42 + if( (RecData[2] != 0xFF)||(RecData[3] != g_Dip.DIP_addr) ) + 3a58: 8042 ld.b r2, (r0, 0x2) + 3a5a: 33ff movi r3, 255 + 3a5c: 64ca cmpne r2, r3 + 3a5e: 105a lrw r2, 0x20000444 // 3ac4 + 3a60: 8063 ld.b r3, (r0, 0x3) + 3a62: 0804 bt 0x3a6a // 3a6a + 3a64: 8226 ld.b r1, (r2, 0x6) + 3a66: 644e cmpne r3, r1 + 3a68: 0c09 bf 0x3a7a // 3a7a + Dbg_Println(DBG_BIT_SYS_STATUS,"Addr Err:%d, %d",g_Dip.DIP_addr,RecData[3]); + 3a6a: 3000 movi r0, 0 + 3a6c: 74cc zextb r3, r3 + 3a6e: 8246 ld.b r2, (r2, 0x6) + 3a70: 1036 lrw r1, 0x572b // 3ac8 + 3a72: e3fffdd3 bsr 0x3618 // 3618 + return 0x03; + 3a76: 3003 movi r0, 3 + 3a78: 07e5 br 0x3a42 // 3a42 + if(RecData[Len-1] != EEPROM_CheckSum(RecData,(Len-1))) + 3a7a: 5dc3 subi r6, r5, 1 + 3a7c: 5874 addu r3, r0, r5 + 3a7e: 7599 zexth r6, r6 + 3a80: 2b00 subi r3, 1 + 3a82: 6c5b mov r1, r6 + 3a84: 83e0 ld.b r7, (r3, 0x0) + 3a86: e3fffdcf bsr 0x3624 // 3624 + 3a8a: 641e cmpne r7, r0 + 3a8c: 0c0e bf 0x3aa8 // 3aa8 + Dbg_Println(DBG_BIT_SYS_STATUS,"SumCRC Err:%d, %d",RecData[5],EEPROM_CheckSum(RecData,(Len-1))); + 3a8e: 6c5b mov r1, r6 + 3a90: 6c13 mov r0, r4 + 3a92: 84a5 ld.b r5, (r4, 0x5) + 3a94: e3fffdc8 bsr 0x3624 // 3624 + 3a98: 6cc3 mov r3, r0 + 3a9a: 6c97 mov r2, r5 + 3a9c: 3000 movi r0, 0 + 3a9e: 102c lrw r1, 0x573b // 3acc + 3aa0: e3fffdbc bsr 0x3618 // 3618 + return 0x04; + 3aa4: 3004 movi r0, 4 + 3aa6: 07ce br 0x3a42 // 3a42 + switch(RecData[4]) + 3aa8: 8464 ld.b r3, (r4, 0x4) + 3aaa: 3b43 cmpnei r3, 3 + 3aac: 0805 bt 0x3ab6 // 3ab6 + Ctrller_CtrlAirState_Processing(RecData,Len); + 3aae: 6c57 mov r1, r5 + 3ab0: 6c13 mov r0, r4 + 3ab2: e3ffffab bsr 0x3a08 // 3a08 + return 0x00; + 3ab6: 3000 movi r0, 0 + 3ab8: 07c5 br 0x3a42 // 3a42 + 3aba: 0000 bkpt + 3abc: 00005717 .long 0x00005717 + 3ac0: 00005722 .long 0x00005722 + 3ac4: 20000444 .long 0x20000444 + 3ac8: 0000572b .long 0x0000572b + 3acc: 0000573b .long 0x0000573b + +Disassembly of section .text.NetCRC16_Check: + +00003ad0 : + +/*两字节CRC校验 +*len包括校验的长度 +*/ +void NetCRC16_Check(U8_T *aStr ,U16_T len) +{ + 3ad0: 14c4 push r4-r7 + U16_T alen = len-2; //CRC16??????? + U16_T xda , xdapoly ; //校验后的结果,多项式 + U16_T i,j, xdabit ; //缓存变量 + + if(len < 3) //长度小于3 + 3ad2: 3902 cmphsi r1, 3 + 3ad4: 0c1f bf 0x3b12 // 3b12 + U16_T alen = len-2; //CRC16??????? + 3ad6: 2901 subi r1, 2 + 3ad8: 7445 zexth r1, r1 + 3ada: 6d43 mov r5, r0 + 3adc: 3200 movi r2, 0 + 3ade: 106e lrw r3, 0xffff // 3b14 + } + xda = 0xFFFF ; + xdapoly = 0xA001 ; // (X**16 + X**15 + X**2 + 1) + for(i=0;i>= 1 ; + if( xdabit ) xda ^= xdapoly ; + 3ae8: 6d8f mov r6, r3 + 3aea: 699c and r6, r7 + 3aec: 3e40 cmpnei r6, 0 + 3aee: 4b61 lsri r3, r3, 1 + 3af0: 0c04 bf 0x3af8 // 3af8 + 3af2: 10ca lrw r6, 0xffffa001 // 3b18 + 3af4: 6cd9 xor r3, r6 + 3af6: 74cd zexth r3, r3 + 3af8: 2c00 subi r4, 1 + 3afa: 7511 zexth r4, r4 + for(j=0;j<8;j++) + 3afc: 3c40 cmpnei r4, 0 + 3afe: 0bf5 bt 0x3ae8 // 3ae8 + for(i=0;i + } + } + aStr[alen] = (U8_T)(xda & 0xFF) ; + 3b0a: 6040 addu r1, r0 + 3b0c: a160 st.b r3, (r1, 0x0) + aStr[alen+1] = (U8_T)(xda>>8) ; + 3b0e: 4b68 lsri r3, r3, 8 + 3b10: a161 st.b r3, (r1, 0x1) +} + 3b12: 1484 pop r4-r7 + 3b14: 0000ffff .long 0x0000ffff + 3b18: ffffa001 .long 0xffffa001 + +Disassembly of section .text.GetCRC16: + +00003b1c : +* @para +* aStr 数组首地址 +* len 数组长度,不包括校验 +*/ +U16_T GetCRC16( U8_T *aStr , U16_T len) +{ + 3b1c: 14c3 push r4-r6 + 3b1e: 6cc3 mov r3, r0 + 3b20: 6040 addu r1, r0 + xda ^= aStr[i] ; + for (j = 0; j < 8; j++) + { + xdabit = (unsigned char)(xda & 0x01) ; + xda >>= 1 ; + if ( xdabit ) xda ^= xdapoly ; + 3b22: 10ac lrw r5, 0xffffa001 // 3b50 + xda = 0xFFFF ; + 3b24: 100c lrw r0, 0xffff // 3b54 + for (i = 0; i < len; i++) + 3b26: 644e cmpne r3, r1 + 3b28: 0802 bt 0x3b2c // 3b2c + } + } + + return xda; +} + 3b2a: 1483 pop r4-r6 + xda ^= aStr[i] ; + 3b2c: 8340 ld.b r2, (r3, 0x0) + 3b2e: 6c09 xor r0, r2 + xdabit = (unsigned char)(xda & 0x01) ; + 3b30: 3601 movi r6, 1 + xda ^= aStr[i] ; + 3b32: 3208 movi r2, 8 + if ( xdabit ) xda ^= xdapoly ; + 3b34: 6d03 mov r4, r0 + 3b36: 6918 and r4, r6 + 3b38: 3c40 cmpnei r4, 0 + 3b3a: 4801 lsri r0, r0, 1 + 3b3c: 0c03 bf 0x3b42 // 3b42 + 3b3e: 6c15 xor r0, r5 + 3b40: 7401 zexth r0, r0 + 3b42: 2a00 subi r2, 1 + 3b44: 7489 zexth r2, r2 + for (j = 0; j < 8; j++) + 3b46: 3a40 cmpnei r2, 0 + 3b48: 0bf6 bt 0x3b34 // 3b34 + 3b4a: 2300 addi r3, 1 + 3b4c: 07ed br 0x3b26 // 3b26 + 3b4e: 0000 bkpt + 3b50: ffffa001 .long 0xffffa001 + 3b54: 0000ffff .long 0x0000ffff + +Disassembly of section .text.Rs485AskCtrlSend: + +00003b58 : + + + +/*控制回复报文*/ +void Rs485AskCtrlSend(U8_T* Recdata) +{ + 3b58: 14d0 push r15 + 3b5a: 1424 subi r14, r14, 16 + U8_T SendData[10]; + + SendData[0] = 0x55; + 3b5c: 3355 movi r3, 85 + 3b5e: dc6e0004 st.b r3, (r14, 0x4) + SendData[1] = 0x55; + 3b62: dc6e0005 st.b r3, (r14, 0x5) + SendData[2] = 0xee; //头 + 3b66: 3300 movi r3, 0 + 3b68: 2b11 subi r3, 18 + 3b6a: dc6e0006 st.b r3, (r14, 0x6) + + SendData[3] = 0x07; //长度 + 3b6e: 3307 movi r3, 7 + 3b70: dc6e0007 st.b r3, (r14, 0x7) + SendData[4] = Tem_Type; //类型 + 3b74: 3304 movi r3, 4 + 3b76: dc6e0008 st.b r3, (r14, 0x8) + + SendData[6] = 0x01; //类型 - 红外转发 + 3b7a: 3301 movi r3, 1 + 3b7c: dc6e000a st.b r3, (r14, 0xa) + SendData[5] = g_Dip.DIP_addr; + SendData[7] = 0x01; //内容 - 接收成功 + + NetCRC16_Check(&SendData[0+3], SendData[0+3]); //校验 + 3b80: 3107 movi r1, 7 + SendData[5] = g_Dip.DIP_addr; + 3b82: 106c lrw r3, 0x20000444 // 3bb0 + 3b84: 8366 ld.b r3, (r3, 0x6) + 3b86: dc6e0009 st.b r3, (r14, 0x9) + SendData[7] = 0x01; //内容 - 接收成功 + 3b8a: 3301 movi r3, 1 + 3b8c: dc6e000b st.b r3, (r14, 0xb) + NetCRC16_Check(&SendData[0+3], SendData[0+3]); //校验 + 3b90: 1b01 addi r3, r14, 4 + 3b92: 5b0a addi r0, r3, 3 + 3b94: e3ffff9e bsr 0x3ad0 // 3ad0 + + Set_GroupSend(SendData,10,1,BUSSend_ValidTime3,20); //组包 + 3b98: 3314 movi r3, 20 + 3b9a: b860 st.w r3, (r14, 0x0) + 3b9c: 3396 movi r3, 150 + 3b9e: 4361 lsli r3, r3, 1 + 3ba0: 3201 movi r2, 1 + 3ba2: 310a movi r1, 10 + 3ba4: 1801 addi r0, r14, 4 + 3ba6: e3fffc9f bsr 0x34e4 // 34e4 + +} + 3baa: 1404 addi r14, r14, 16 + 3bac: 1490 pop r15 + 3bae: 0000 bkpt + 3bb0: 20000444 .long 0x20000444 + +Disassembly of section .text.IrSend_Rs485_Pro: + +00003bb4 : + * Len 数据长度 + * 输出 :无 + * 调用 :无 + *************************************************************************/ +U8_T IrSend_Rs485_Pro(U8_T *RecData, U16_T Len) +{ + 3bb4: 14d1 push r4, r15 + U8_T ret = 0; + U16_T Crc_buf; //正确报文校验保存 + + if(0x0D != Len) + 3bb6: 394d cmpnei r1, 13 +{ + 3bb8: 6d03 mov r4, r0 + if(0x0D != Len) + 3bba: 087d bt 0x3cb4 // 3cb4 + { + return 0x01; + } + + if((0x55 != RecData[0]) || (0x55 != RecData[1])|| (0xee != RecData[2]) ) + 3bbc: 8060 ld.b r3, (r0, 0x0) + 3bbe: 3255 movi r2, 85 + 3bc0: 648e cmpne r3, r2 + 3bc2: 0873 bt 0x3ca8 // 3ca8 + 3bc4: 8041 ld.b r2, (r0, 0x1) + 3bc6: 64ca cmpne r2, r3 + 3bc8: 0870 bt 0x3ca8 // 3ca8 + 3bca: 8042 ld.b r2, (r0, 0x2) + 3bcc: 33ee movi r3, 238 + 3bce: 64ca cmpne r2, r3 + 3bd0: 086c bt 0x3ca8 // 3ca8 + { + return 0x02; + } + + if( (g_Dip.DIP_addr != RecData[6])&&(0xFF != RecData[6]) ) + 3bd2: 115a lrw r2, 0x20000444 // 3cb8 + 3bd4: 8066 ld.b r3, (r0, 0x6) + 3bd6: 8246 ld.b r2, (r2, 0x6) + 3bd8: 64ca cmpne r2, r3 + 3bda: 0c04 bf 0x3be2 // 3be2 + 3bdc: 32ff movi r2, 255 + 3bde: 648e cmpne r3, r2 + 3be0: 0866 bt 0x3cac // 3cac + { + return 0x03; + } + + if( (RecData[3] + 3 != Len) || (Tem_Type != RecData[4])) + 3be2: 8463 ld.b r3, (r4, 0x3) + 3be4: 3b4a cmpnei r3, 10 + 3be6: 0865 bt 0x3cb0 // 3cb0 + 3be8: 8464 ld.b r3, (r4, 0x4) + 3bea: 3b44 cmpnei r3, 4 + 3bec: 0862 bt 0x3cb0 // 3cb0 + { + return 0x04; + } + + Crc_buf = GetCRC16(&RecData[3], RecData[3]-2); + 3bee: 5c0a addi r0, r4, 3 + 3bf0: 3108 movi r1, 8 + 3bf2: e3ffff95 bsr 0x3b1c // 3b1c + if(Crc_buf == (RecData[Len-2]+(RecData[Len-1]<<8))) //校验通过 + 3bf6: 846c ld.b r3, (r4, 0xc) + 3bf8: 4368 lsli r3, r3, 8 + 3bfa: 844b ld.b r2, (r4, 0xb) + 3bfc: 60c8 addu r3, r2 + 3bfe: 64c2 cmpne r0, r3 + 3c00: 085a bt 0x3cb4 // 3cb4 + { + //控制空调 + if(0x01 == RecData[5]) + 3c02: 8465 ld.b r3, (r4, 0x5) + 3c04: 3b41 cmpnei r3, 1 + 3c06: 0857 bt 0x3cb4 // 3cb4 + { + //设置温度命令 + if((TEM_MIN_SET <= RecData[7]) && (RecData[7] < TEM_MAX_SET)) //在指定温度范围内 + 3c08: 3200 movi r2, 0 + 3c0a: 8467 ld.b r3, (r4, 0x7) + 3c0c: 2a0f subi r2, 16 + 3c0e: 608c addu r2, r3 + 3c10: 7488 zextb r2, r2 + 3c12: 3a0f cmphsi r2, 16 + 3c14: 0813 bt 0x3c3a // 3c3a + { + TempCtrl.TemState_Now.set_t = (RecData[7]&0x1f); + 3c16: 114a lrw r2, 0x2000041c // 3cbc + 3c18: a261 st.b r3, (r2, 0x1) + }else if(RecData[7] == TEM_MAX_SET){ + TempCtrl.TemState_Now.set_t = (RecData[7]&0x20); + } + + switch(RecData[8]) + 3c1a: 8468 ld.b r3, (r4, 0x8) + 3c1c: 3b40 cmpnei r3, 0 + 3c1e: 0c14 bf 0x3c46 // 3c46 + 3c20: 3b41 cmpnei r3, 1 + 3c22: 0c18 bf 0x3c52 // 3c52 + break; + default: + break; //报文有误 + } + + switch(RecData[9]) //风速 + 3c24: 8409 ld.b r0, (r4, 0x9) + 3c26: 3803 cmphsi r0, 4 + 3c28: 081e bt 0x3c64 // 3c64 + 3c2a: 1165 lrw r3, 0x2000041c // 3cbc + { + case 0x03: + TempCtrl.TemState_Now.fan = FAN_HIGH; //高风速 + 3c2c: 8342 ld.b r2, (r3, 0x2) + 3c2e: 310e movi r1, 14 + 3c30: 6885 andn r2, r1 + switch(RecData[9]) //风速 + 3c32: e3ffe865 bsr 0xcfc // cfc <___gnu_csky_case_uqi> + 3c36: 1625 .short 0x1625 + 3c38: 1523 .short 0x1523 + }else if(RecData[7] == TEM_MAX_SET){ + 3c3a: 3220 movi r2, 32 + 3c3c: 648e cmpne r3, r2 + 3c3e: 0bee bt 0x3c1a // 3c1a + TempCtrl.TemState_Now.set_t = (RecData[7]&0x20); + 3c40: 107f lrw r3, 0x2000041c // 3cbc + 3c42: a341 st.b r2, (r3, 0x1) + 3c44: 07eb br 0x3c1a // 3c1a + TempCtrl.TemState_Now.on_off = TEMP_OFF; //关机 + 3c46: 105e lrw r2, 0x2000041c // 3cbc + 3c48: 8262 ld.b r3, (r2, 0x2) + 3c4a: 317f movi r1, 127 + 3c4c: 68c4 and r3, r1 + 3c4e: a262 st.b r3, (r2, 0x2) + break; + 3c50: 07ea br 0x3c24 // 3c24 + TempCtrl.TemState_Now.on_off = TEMP_ON; //开机 + 3c52: 103b lrw r1, 0x2000041c // 3cbc + 3c54: 3200 movi r2, 0 + 3c56: 8162 ld.b r3, (r1, 0x2) + 3c58: 2a7f subi r2, 128 + 3c5a: 6cc8 or r3, r2 + 3c5c: a162 st.b r3, (r1, 0x2) + break; + 3c5e: 07e3 br 0x3c24 // 3c24 + TempCtrl.TemState_Now.fan = FAN_HIGH; //高风速 + 3c60: 3aa2 bseti r2, 2 + break; + case 0x01: + TempCtrl.TemState_Now.fan = FAN_LOW; //低风速 + break; + case 0x00: + TempCtrl.TemState_Now.fan = FAN_STOP; //低风速 + 3c62: a342 st.b r2, (r3, 0x2) + break; + default: + break; + } + + switch(RecData[10]) // + 3c64: 846a ld.b r3, (r4, 0xa) + 3c66: 3b41 cmpnei r3, 1 + 3c68: 0c14 bf 0x3c90 // 3c90 + 3c6a: 3b40 cmpnei r3, 0 + 3c6c: 0c0c bf 0x3c84 // 3c84 + 3c6e: 3b42 cmpnei r3, 2 + 3c70: 0c16 bf 0x3c9c // 3c9c + break; + default: + break; + } + + Rs485AskCtrlSend(RecData); + 3c72: 6c13 mov r0, r4 + 3c74: e3ffff72 bsr 0x3b58 // 3b58 + return 0x00; + 3c78: 3000 movi r0, 0 + } + + } + + return 0x01; +} + 3c7a: 1491 pop r4, r15 + TempCtrl.TemState_Now.fan = FAN_MID; //中风速 + 3c7c: 3aa1 bseti r2, 1 + 3c7e: 07f2 br 0x3c62 // 3c62 + TempCtrl.TemState_Now.fan = FAN_STOP; //低风速 + 3c80: 3aa3 bseti r2, 3 + 3c82: 07f0 br 0x3c62 // 3c62 + TempCtrl.TemState_Now.mode = MODEL_COLD; //制冷 + 3c84: 104e lrw r2, 0x2000041c // 3cbc + 3c86: 8262 ld.b r3, (r2, 0x2) + 3c88: 3170 movi r1, 112 + 3c8a: 68c5 andn r3, r1 + TempCtrl.TemState_Now.mode = MODEL_WIND; //送风 + 3c8c: a262 st.b r3, (r2, 0x2) + break; + 3c8e: 07f2 br 0x3c72 // 3c72 + TempCtrl.TemState_Now.mode = MODEL_HOT; //制热 + 3c90: 104b lrw r2, 0x2000041c // 3cbc + 3c92: 8262 ld.b r3, (r2, 0x2) + 3c94: 3170 movi r1, 112 + 3c96: 68c5 andn r3, r1 + 3c98: 3ba5 bseti r3, 5 + 3c9a: 07f9 br 0x3c8c // 3c8c + TempCtrl.TemState_Now.mode = MODEL_WIND; //送风 + 3c9c: 1048 lrw r2, 0x2000041c // 3cbc + 3c9e: 8262 ld.b r3, (r2, 0x2) + 3ca0: 3170 movi r1, 112 + 3ca2: 68c5 andn r3, r1 + 3ca4: 3ba6 bseti r3, 6 + 3ca6: 07f3 br 0x3c8c // 3c8c + return 0x02; + 3ca8: 3002 movi r0, 2 + 3caa: 07e8 br 0x3c7a // 3c7a + return 0x03; + 3cac: 3003 movi r0, 3 + 3cae: 07e6 br 0x3c7a // 3c7a + return 0x04; + 3cb0: 3004 movi r0, 4 + 3cb2: 07e4 br 0x3c7a // 3c7a + return 0x01; + 3cb4: 3001 movi r0, 1 + 3cb6: 07e2 br 0x3c7a // 3c7a + 3cb8: 20000444 .long 0x20000444 + 3cbc: 2000041c .long 0x2000041c + +Disassembly of section .text.DIP_GetSwitchState: + +00003cc0 : + + /*进入设置界面 - 先决条件*/ + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Addr:%d",g_Dip.DIP_val); +} + +U8_T DIP_GetSwitchState(U8_T i){ + 3cc0: 14d0 push r15 + U8_T val = 0; + + switch (i) + 3cc2: 3841 cmpnei r0, 1 + 3cc4: 0c0d bf 0x3cde // 3cde + 3cc6: 3840 cmpnei r0, 0 + 3cc8: 0c05 bf 0x3cd2 // 3cd2 + 3cca: 3842 cmpnei r0, 2 + 3ccc: 0c0d bf 0x3ce6 // 3ce6 + U8_T val = 0; + 3cce: 3000 movi r0, 0 + 3cd0: 0406 br 0x3cdc // 3cdc + { + case DIP_CH1: + val = GPIO_Read_Status(GPIOB0,2); + 3cd2: 1068 lrw r3, 0x20000048 // 3cf0 + 3cd4: 3102 movi r1, 2 + 3cd6: 9300 ld.w r0, (r3, 0x0) + break; + case DIP_CH2: + val = GPIO_Read_Status(GPIOB0,1); + break; + case DIP_CH3: + val = GPIO_Read_Status(GPIOB0,0); + 3cd8: e3fff205 bsr 0x20e2 // 20e2 + break; + } + return val; +} + 3cdc: 1490 pop r15 + val = GPIO_Read_Status(GPIOB0,1); + 3cde: 1065 lrw r3, 0x20000048 // 3cf0 + 3ce0: 3101 movi r1, 1 + 3ce2: 9300 ld.w r0, (r3, 0x0) + 3ce4: 07fa br 0x3cd8 // 3cd8 + val = GPIO_Read_Status(GPIOB0,0); + 3ce6: 1063 lrw r3, 0x20000048 // 3cf0 + 3ce8: 3100 movi r1, 0 + 3cea: 9300 ld.w r0, (r3, 0x0) + 3cec: 07f6 br 0x3cd8 // 3cd8 + 3cee: 0000 bkpt + 3cf0: 20000048 .long 0x20000048 + +Disassembly of section .text.DIP_Switch_Init: + +00003cf4 : +void DIP_Switch_Init(void){ + 3cf4: 14d2 push r4-r5, r15 + GPIO_Init(GPIOB0,0,Intput); + 3cf6: 1180 lrw r4, 0x20000048 // 3d74 + 3cf8: 3201 movi r2, 1 + 3cfa: 9400 ld.w r0, (r4, 0x0) + 3cfc: 3100 movi r1, 0 + 3cfe: e3fff0a1 bsr 0x1e40 // 1e40 + GPIO_Init(GPIOB0,1,Intput); + 3d02: 9400 ld.w r0, (r4, 0x0) + 3d04: 3201 movi r2, 1 + 3d06: 3101 movi r1, 1 + 3d08: e3fff09c bsr 0x1e40 // 1e40 + GPIO_Init(GPIOB0,2,Intput); + 3d0c: 3201 movi r2, 1 + 3d0e: 9400 ld.w r0, (r4, 0x0) + 3d10: 3102 movi r1, 2 + 3d12: e3fff097 bsr 0x1e40 // 1e40 + GPIO_PullHigh_Init(GPIOB0,0); + 3d16: 9400 ld.w r0, (r4, 0x0) + 3d18: 3100 movi r1, 0 + 3d1a: e3fff103 bsr 0x1f20 // 1f20 + GPIO_PullHigh_Init(GPIOB0,1); + 3d1e: 9400 ld.w r0, (r4, 0x0) + 3d20: 3101 movi r1, 1 + 3d22: e3fff0ff bsr 0x1f20 // 1f20 + GPIO_PullHigh_Init(GPIOB0,2); + 3d26: 9400 ld.w r0, (r4, 0x0) + 3d28: 3102 movi r1, 2 + 3d2a: e3fff0fb bsr 0x1f20 // 1f20 + memset(&g_Dip,0,sizeof(DIP_t)); + 3d2e: 3210 movi r2, 16 + 3d30: 3100 movi r1, 0 + 3d32: 1012 lrw r0, 0x20000444 // 3d78 + 3d34: e3ffee18 bsr 0x1964 // 1964 <__memset_fast> + delay_nms(20); + 3d38: 3014 movi r0, 20 + 3d3a: e3fff34f bsr 0x23d8 // 23d8 + 3d3e: 3400 movi r4, 0 + g_Dip.DIP_val |= DIP_VAL_ON << i; + 3d40: 10ae lrw r5, 0x20000444 // 3d78 + if(DIP_GetSwitchState(i) == DIP_PRESS){ + 3d42: 7410 zextb r0, r4 + 3d44: e3ffffbe bsr 0x3cc0 // 3cc0 + 3d48: 3840 cmpnei r0, 0 + 3d4a: 0807 bt 0x3d58 // 3d58 + g_Dip.DIP_val |= DIP_VAL_ON << i; + 3d4c: 3301 movi r3, 1 + 3d4e: 70d0 lsl r3, r4 + 3d50: 6c8f mov r2, r3 + 3d52: 9562 ld.w r3, (r5, 0x8) + 3d54: 6cc8 or r3, r2 + 3d56: b562 st.w r3, (r5, 0x8) + 3d58: 2400 addi r4, 1 + for (U8_T i = 0; i < DIP_CHN_MAX; i++) { + 3d5a: 3c43 cmpnei r4, 3 + 3d5c: 0bf3 bt 0x3d42 // 3d42 + g_Dip.DIP_last_val = g_Dip.DIP_val; + 3d5e: 1067 lrw r3, 0x20000444 // 3d78 + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + 3d60: 3107 movi r1, 7 + g_Dip.DIP_last_val = g_Dip.DIP_val; + 3d62: 9342 ld.w r2, (r3, 0x8) + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + 3d64: 6848 and r1, r2 + 3d66: a326 st.b r1, (r3, 0x6) + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Addr:%d",g_Dip.DIP_val); + 3d68: 3000 movi r0, 0 + 3d6a: 1025 lrw r1, 0x574d // 3d7c + g_Dip.DIP_last_val = g_Dip.DIP_val; + 3d6c: b343 st.w r2, (r3, 0xc) + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Addr:%d",g_Dip.DIP_val); + 3d6e: e3fffc55 bsr 0x3618 // 3618 +} + 3d72: 1492 pop r4-r5, r15 + 3d74: 20000048 .long 0x20000048 + 3d78: 20000444 .long 0x20000444 + 3d7c: 0000574d .long 0x0000574d + +Disassembly of section .text.DIP_ScanTask: + +00003d80 : + +void DIP_ScanTask(void) +{ + 3d80: 14d3 push r4-r6, r15 + static U32_T update_20ms = 0; + + if (SysTick_1ms - update_20ms > DIP_SCAN_Time) + 3d82: 1122 lrw r1, 0x200000b8 // 3e08 + 3d84: 1142 lrw r2, 0x20000148 // 3e0c + 3d86: 11a3 lrw r5, 0x20000444 // 3e10 + 3d88: 9200 ld.w r0, (r2, 0x0) + 3d8a: 9160 ld.w r3, (r1, 0x0) + 3d8c: 60c2 subu r3, r0 + 3d8e: 3b14 cmphsi r3, 21 + 3d90: 0806 bt 0x3d9c // 3d9c + } + } + } + } + + if(g_Dip.DIP_val != g_Dip.DIP_last_val) + 3d92: 9542 ld.w r2, (r5, 0x8) + 3d94: 9563 ld.w r3, (r5, 0xc) + 3d96: 64ca cmpne r2, r3 + 3d98: 082e bt 0x3df4 // 3df4 + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Change Addr:%d",g_Dip.DIP_addr); + } + +} + 3d9a: 1493 pop r4-r6, r15 + update_20ms = SysTick_1ms; + 3d9c: 9160 ld.w r3, (r1, 0x0) + 3d9e: b260 st.w r3, (r2, 0x0) + 3da0: 6d17 mov r4, r5 + 3da2: 3600 movi r6, 0 + if (DIP_GetSwitchState(i) == DIP_PRESS) + 3da4: 7418 zextb r0, r6 + 3da6: e3ffff8d bsr 0x3cc0 // 3cc0 + 3daa: 3840 cmpnei r0, 0 + g_Dip.delayCnt_OFF[i] = 0; + 3dac: 3300 movi r3, 0 + if (DIP_GetSwitchState(i) == DIP_PRESS) + 3dae: 0814 bt 0x3dd6 // 3dd6 + g_Dip.delayCnt_OFF[i] = 0; + 3db0: a463 st.b r3, (r4, 0x3) + if (g_Dip.delayCnt_ON[i] < DIP_DELAY_COUNT) + 3db2: 8460 ld.b r3, (r4, 0x0) + 3db4: 3b04 cmphsi r3, 5 + 3db6: 0808 bt 0x3dc6 // 3dc6 + g_Dip.delayCnt_ON[i]++; + 3db8: 2300 addi r3, 1 + g_Dip.delayCnt_ON[i] = 0; + 3dba: a460 st.b r3, (r4, 0x0) + 3dbc: 2600 addi r6, 1 + for (U8_T i = 0; i < DIP_CHN_MAX; i++) + 3dbe: 3e43 cmpnei r6, 3 + 3dc0: 2400 addi r4, 1 + 3dc2: 0bf1 bt 0x3da4 // 3da4 + 3dc4: 07e7 br 0x3d92 // 3d92 + g_Dip.DIP_val |= (DIP_VAL_ON << i); + 3dc6: 3301 movi r3, 1 + 3dc8: 70d8 lsl r3, r6 + 3dca: 6c8f mov r2, r3 + 3dcc: 9562 ld.w r3, (r5, 0x8) + 3dce: 6cc8 or r3, r2 + 3dd0: b562 st.w r3, (r5, 0x8) + g_Dip.delayCnt_ON[i] = 0; + 3dd2: 3300 movi r3, 0 + 3dd4: 07f3 br 0x3dba // 3dba + g_Dip.delayCnt_ON[i] = 0; + 3dd6: a460 st.b r3, (r4, 0x0) + if (g_Dip.delayCnt_OFF[i] < DIP_DELAY_COUNT) + 3dd8: 8463 ld.b r3, (r4, 0x3) + 3dda: 3b04 cmphsi r3, 5 + 3ddc: 0804 bt 0x3de4 // 3de4 + g_Dip.delayCnt_OFF[i]++; + 3dde: 2300 addi r3, 1 + g_Dip.delayCnt_OFF[i] = 0; + 3de0: a463 st.b r3, (r4, 0x3) + 3de2: 07ed br 0x3dbc // 3dbc + g_Dip.DIP_val &= ~(DIP_VAL_ON << i); + 3de4: 3300 movi r3, 0 + 3de6: 2b01 subi r3, 2 + 3de8: 9542 ld.w r2, (r5, 0x8) + 3dea: 70db rotl r3, r6 + 3dec: 68c8 and r3, r2 + 3dee: b562 st.w r3, (r5, 0x8) + g_Dip.delayCnt_OFF[i] = 0; + 3df0: 3300 movi r3, 0 + 3df2: 07f7 br 0x3de0 // 3de0 + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + 3df4: 3307 movi r3, 7 + g_Dip.DIP_last_val = g_Dip.DIP_val; + 3df6: b543 st.w r2, (r5, 0xc) + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Change Addr:%d",g_Dip.DIP_addr); + 3df8: 3000 movi r0, 0 + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + 3dfa: 688c and r2, r3 + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Change Addr:%d",g_Dip.DIP_addr); + 3dfc: 1026 lrw r1, 0x5759 // 3e14 + g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; + 3dfe: a546 st.b r2, (r5, 0x6) + Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Change Addr:%d",g_Dip.DIP_addr); + 3e00: e3fffc0c bsr 0x3618 // 3618 +} + 3e04: 07cb br 0x3d9a // 3d9a + 3e06: 0000 bkpt + 3e08: 200000b8 .long 0x200000b8 + 3e0c: 20000148 .long 0x20000148 + 3e10: 20000444 .long 0x20000444 + 3e14: 00005759 .long 0x00005759 + +Disassembly of section .text.TK_Single_Longpress_prg: + +00003e18 : + 3e18: 14c2 push r4-r5 + 3e1a: 117d lrw r3, 0x200005f8 // 3f0c + 3e1c: 115d lrw r2, 0x20000564 // 3f10 + 3e1e: 9360 ld.w r3, (r3, 0x0) + 3e20: 3b40 cmpnei r3, 0 + 3e22: 0840 bt 0x3ea2 // 3ea2 + 3e24: 113c lrw r1, 0x20000068 // 3f14 + 3e26: 8962 ld.h r3, (r1, 0x4) + 3e28: 74cd zexth r3, r3 + 3e2a: 3b40 cmpnei r3, 0 + 3e2c: 0c3b bf 0x3ea2 // 3ea2 + 3e2e: 117b lrw r3, 0x200004f8 // 3f18 + 3e30: 9360 ld.w r3, (r3, 0x0) + 3e32: 3b40 cmpnei r3, 0 + 3e34: 117a lrw r3, 0x200006ae // 3f1c + 3e36: 0c0e bf 0x3e52 // 3e52 + 3e38: 8300 ld.b r0, (r3, 0x0) + 3e3a: 2000 addi r0, 1 + 3e3c: 7400 zextb r0, r0 + 3e3e: a300 st.b r0, (r3, 0x0) + 3e40: 8380 ld.b r4, (r3, 0x0) + 3e42: 8902 ld.h r0, (r1, 0x4) + 3e44: 7401 zexth r0, r0 + 3e46: 3564 movi r5, 100 + 3e48: 7c14 mult r0, r5 + 3e4a: 6501 cmplt r0, r4 + 3e4c: 0c05 bf 0x3e56 // 3e56 + 3e4e: 3001 movi r0, 1 + 3e50: a200 st.b r0, (r2, 0x0) + 3e52: 3000 movi r0, 0 + 3e54: a300 st.b r0, (r3, 0x0) + 3e56: 1113 lrw r0, 0x2000048c // 3f20 + 3e58: 9000 ld.w r0, (r0, 0x0) + 3e5a: 3840 cmpnei r0, 0 + 3e5c: 0c0e bf 0x3e78 // 3e78 + 3e5e: 8301 ld.b r0, (r3, 0x1) + 3e60: 2000 addi r0, 1 + 3e62: 7400 zextb r0, r0 + 3e64: a301 st.b r0, (r3, 0x1) + 3e66: 8381 ld.b r4, (r3, 0x1) + 3e68: 8902 ld.h r0, (r1, 0x4) + 3e6a: 7401 zexth r0, r0 + 3e6c: 3564 movi r5, 100 + 3e6e: 7c14 mult r0, r5 + 3e70: 6501 cmplt r0, r4 + 3e72: 0c05 bf 0x3e7c // 3e7c + 3e74: 3001 movi r0, 1 + 3e76: a201 st.b r0, (r2, 0x1) + 3e78: 3000 movi r0, 0 + 3e7a: a301 st.b r0, (r3, 0x1) + 3e7c: 110a lrw r0, 0x20000570 // 3f24 + 3e7e: 9000 ld.w r0, (r0, 0x0) + 3e80: 3840 cmpnei r0, 0 + 3e82: 0c0e bf 0x3e9e // 3e9e + 3e84: 8302 ld.b r0, (r3, 0x2) + 3e86: 2000 addi r0, 1 + 3e88: 7400 zextb r0, r0 + 3e8a: a302 st.b r0, (r3, 0x2) + 3e8c: 8302 ld.b r0, (r3, 0x2) + 3e8e: 8922 ld.h r1, (r1, 0x4) + 3e90: 7445 zexth r1, r1 + 3e92: 3464 movi r4, 100 + 3e94: 7c50 mult r1, r4 + 3e96: 6405 cmplt r1, r0 + 3e98: 0c05 bf 0x3ea2 // 3ea2 + 3e9a: 3101 movi r1, 1 + 3e9c: a222 st.b r1, (r2, 0x2) + 3e9e: 3100 movi r1, 0 + 3ea0: a322 st.b r1, (r3, 0x2) + 3ea2: 8260 ld.b r3, (r2, 0x0) + 3ea4: 3b41 cmpnei r3, 1 + 3ea6: 080f bt 0x3ec4 // 3ec4 + 3ea8: 3300 movi r3, 0 + 3eaa: 11a0 lrw r5, 0x200007aa // 3f28 + 3eac: 1180 lrw r4, 0x20000458 // 3f2c + 3eae: 4321 lsli r1, r3, 1 + 3eb0: 5d04 addu r0, r5, r1 + 3eb2: 8800 ld.h r0, (r0, 0x0) + 3eb4: 2300 addi r3, 1 + 3eb6: 7401 zexth r0, r0 + 3eb8: 6050 addu r1, r4 + 3eba: 3b51 cmpnei r3, 17 + 3ebc: a900 st.h r0, (r1, 0x0) + 3ebe: 0bf8 bt 0x3eae // 3eae + 3ec0: 3300 movi r3, 0 + 3ec2: a260 st.b r3, (r2, 0x0) + 3ec4: 8261 ld.b r3, (r2, 0x1) + 3ec6: 3b41 cmpnei r3, 1 + 3ec8: 080f bt 0x3ee6 // 3ee6 + 3eca: 3300 movi r3, 0 + 3ecc: 10b9 lrw r5, 0x20000540 // 3f30 + 3ece: 109a lrw r4, 0x20000602 // 3f34 + 3ed0: 4321 lsli r1, r3, 1 + 3ed2: 5d04 addu r0, r5, r1 + 3ed4: 8800 ld.h r0, (r0, 0x0) + 3ed6: 2300 addi r3, 1 + 3ed8: 7401 zexth r0, r0 + 3eda: 6050 addu r1, r4 + 3edc: 3b51 cmpnei r3, 17 + 3ede: a900 st.h r0, (r1, 0x0) + 3ee0: 0bf8 bt 0x3ed0 // 3ed0 + 3ee2: 3300 movi r3, 0 + 3ee4: a261 st.b r3, (r2, 0x1) + 3ee6: 8262 ld.b r3, (r2, 0x2) + 3ee8: 3b41 cmpnei r3, 1 + 3eea: 080f bt 0x3f08 // 3f08 + 3eec: 3300 movi r3, 0 + 3eee: 10b3 lrw r5, 0x20000636 // 3f38 + 3ef0: 1093 lrw r4, 0x20000718 // 3f3c + 3ef2: 4321 lsli r1, r3, 1 + 3ef4: 5d04 addu r0, r5, r1 + 3ef6: 8800 ld.h r0, (r0, 0x0) + 3ef8: 2300 addi r3, 1 + 3efa: 7401 zexth r0, r0 + 3efc: 6050 addu r1, r4 + 3efe: 3b51 cmpnei r3, 17 + 3f00: a900 st.h r0, (r1, 0x0) + 3f02: 0bf8 bt 0x3ef2 // 3ef2 + 3f04: 3300 movi r3, 0 + 3f06: a262 st.b r3, (r2, 0x2) + 3f08: 1482 pop r4-r5 + 3f0a: 0000 bkpt + 3f0c: 200005f8 .long 0x200005f8 + 3f10: 20000564 .long 0x20000564 + 3f14: 20000068 .long 0x20000068 + 3f18: 200004f8 .long 0x200004f8 + 3f1c: 200006ae .long 0x200006ae + 3f20: 2000048c .long 0x2000048c + 3f24: 20000570 .long 0x20000570 + 3f28: 200007aa .long 0x200007aa + 3f2c: 20000458 .long 0x20000458 + 3f30: 20000540 .long 0x20000540 + 3f34: 20000602 .long 0x20000602 + 3f38: 20000636 .long 0x20000636 + 3f3c: 20000718 .long 0x20000718 + +Disassembly of section .text.TK_Sampling_prog: + +00003f40 : + 3f40: 14c4 push r4-r7 + 3f42: 1423 subi r14, r14, 12 + 3f44: 1169 lrw r3, 0x20000054 // 3fe8 + 3f46: 114a lrw r2, 0x20000715 // 3fec + 3f48: 6d0b mov r4, r2 + 3f4a: 9320 ld.w r1, (r3, 0x0) + 3f4c: b840 st.w r2, (r14, 0x0) + 3f4e: 3300 movi r3, 0 + 3f50: 11a8 lrw r5, 0x200007aa // 3ff0 + 3f52: 9840 ld.w r2, (r14, 0x0) + 3f54: 8240 ld.b r2, (r2, 0x0) + 3f56: 3a41 cmpnei r2, 1 + 3f58: 0808 bt 0x3f68 // 3f68 + 3f5a: 4342 lsli r2, r3, 2 + 3f5c: 6084 addu r2, r1 + 3f5e: 9200 ld.w r0, (r2, 0x0) + 3f60: 4341 lsli r2, r3, 1 + 3f62: 7401 zexth r0, r0 + 3f64: 6094 addu r2, r5 + 3f66: aa00 st.h r0, (r2, 0x0) + 3f68: 8440 ld.b r2, (r4, 0x0) + 3f6a: 3a42 cmpnei r2, 2 + 3f6c: 0809 bt 0x3f7e // 3f7e + 3f6e: 4342 lsli r2, r3, 2 + 3f70: 6084 addu r2, r1 + 3f72: 9200 ld.w r0, (r2, 0x0) + 3f74: 4341 lsli r2, r3, 1 + 3f76: 11c0 lrw r6, 0x20000540 // 3ff4 + 3f78: 7401 zexth r0, r0 + 3f7a: 6098 addu r2, r6 + 3f7c: aa00 st.h r0, (r2, 0x0) + 3f7e: 8440 ld.b r2, (r4, 0x0) + 3f80: 3a40 cmpnei r2, 0 + 3f82: 0809 bt 0x3f94 // 3f94 + 3f84: 4342 lsli r2, r3, 2 + 3f86: 6084 addu r2, r1 + 3f88: 9200 ld.w r0, (r2, 0x0) + 3f8a: 4341 lsli r2, r3, 1 + 3f8c: 10db lrw r6, 0x20000636 // 3ff8 + 3f8e: 7401 zexth r0, r0 + 3f90: 6098 addu r2, r6 + 3f92: aa00 st.h r0, (r2, 0x0) + 3f94: 10da lrw r6, 0x2000059d // 3ffc + 3f96: 8640 ld.b r2, (r6, 0x0) + 3f98: 3a41 cmpnei r2, 1 + 3f9a: 0821 bt 0x3fdc // 3fdc + 3f9c: 1079 lrw r3, 0x20000458 // 4000 + 3f9e: 3200 movi r2, 0 + 3fa0: b861 st.w r3, (r14, 0x4) + 3fa2: 1075 lrw r3, 0x20000540 // 3ff4 + 3fa4: b862 st.w r3, (r14, 0x8) + 3fa6: 4261 lsli r3, r2, 1 + 3fa8: 5d0c addu r0, r5, r3 + 3faa: 8800 ld.h r0, (r0, 0x0) + 3fac: 98e1 ld.w r7, (r14, 0x4) + 3fae: 61cc addu r7, r3 + 3fb0: 7401 zexth r0, r0 + 3fb2: af00 st.h r0, (r7, 0x0) + 3fb4: 9802 ld.w r0, (r14, 0x8) + 3fb6: 600c addu r0, r3 + 3fb8: 8800 ld.h r0, (r0, 0x0) + 3fba: 10f3 lrw r7, 0x20000602 // 4004 + 3fbc: 61cc addu r7, r3 + 3fbe: 7401 zexth r0, r0 + 3fc0: af00 st.h r0, (r7, 0x0) + 3fc2: 2200 addi r2, 1 + 3fc4: 100d lrw r0, 0x20000636 // 3ff8 + 3fc6: 600c addu r0, r3 + 3fc8: 8800 ld.h r0, (r0, 0x0) + 3fca: 10f0 lrw r7, 0x20000718 // 4008 + 3fcc: 7401 zexth r0, r0 + 3fce: 60dc addu r3, r7 + 3fd0: 3a51 cmpnei r2, 17 + 3fd2: ab00 st.h r0, (r3, 0x0) + 3fd4: 0be9 bt 0x3fa6 // 3fa6 + 3fd6: 3300 movi r3, 0 + 3fd8: a660 st.b r3, (r6, 0x0) + 3fda: 3311 movi r3, 17 + 3fdc: 2300 addi r3, 1 + 3fde: 74cc zextb r3, r3 + 3fe0: 3b10 cmphsi r3, 17 + 3fe2: 0fb8 bf 0x3f52 // 3f52 + 3fe4: 1403 addi r14, r14, 12 + 3fe6: 1484 pop r4-r7 + 3fe8: 20000054 .long 0x20000054 + 3fec: 20000715 .long 0x20000715 + 3ff0: 200007aa .long 0x200007aa + 3ff4: 20000540 .long 0x20000540 + 3ff8: 20000636 .long 0x20000636 + 3ffc: 2000059d .long 0x2000059d + 4000: 20000458 .long 0x20000458 + 4004: 20000602 .long 0x20000602 + 4008: 20000718 .long 0x20000718 + +Disassembly of section .text.get_key_number: + +0000400c : + 400c: 14c2 push r4-r5 + 400e: 3200 movi r2, 0 + 4010: 3000 movi r0, 0 + 4012: 1088 lrw r4, 0x200005f8 // 4030 + 4014: 3501 movi r5, 1 + 4016: 3120 movi r1, 32 + 4018: 9460 ld.w r3, (r4, 0x0) + 401a: 70c9 lsr r3, r2 + 401c: 68d4 and r3, r5 + 401e: 3b40 cmpnei r3, 0 + 4020: 0c02 bf 0x4024 // 4024 + 4022: 2000 addi r0, 1 + 4024: 2200 addi r2, 1 + 4026: 644a cmpne r2, r1 + 4028: 0bf8 bt 0x4018 // 4018 + 402a: 7400 zextb r0, r0 + 402c: 1482 pop r4-r5 + 402e: 0000 bkpt + 4030: 200005f8 .long 0x200005f8 + +Disassembly of section .text.get_key_number0: + +00004034 : + 4034: 14c2 push r4-r5 + 4036: 3200 movi r2, 0 + 4038: 3000 movi r0, 0 + 403a: 1088 lrw r4, 0x200004f8 // 4058 + 403c: 3501 movi r5, 1 + 403e: 3120 movi r1, 32 + 4040: 9460 ld.w r3, (r4, 0x0) + 4042: 70c9 lsr r3, r2 + 4044: 68d4 and r3, r5 + 4046: 3b40 cmpnei r3, 0 + 4048: 0c02 bf 0x404c // 404c + 404a: 2000 addi r0, 1 + 404c: 2200 addi r2, 1 + 404e: 644a cmpne r2, r1 + 4050: 0bf8 bt 0x4040 // 4040 + 4052: 7400 zextb r0, r0 + 4054: 1482 pop r4-r5 + 4056: 0000 bkpt + 4058: 200004f8 .long 0x200004f8 + +Disassembly of section .text.get_key_number1: + +0000405c : + 405c: 14c2 push r4-r5 + 405e: 3200 movi r2, 0 + 4060: 3000 movi r0, 0 + 4062: 1088 lrw r4, 0x2000048c // 4080 + 4064: 3501 movi r5, 1 + 4066: 3120 movi r1, 32 + 4068: 9460 ld.w r3, (r4, 0x0) + 406a: 70c9 lsr r3, r2 + 406c: 68d4 and r3, r5 + 406e: 3b40 cmpnei r3, 0 + 4070: 0c02 bf 0x4074 // 4074 + 4072: 2000 addi r0, 1 + 4074: 2200 addi r2, 1 + 4076: 644a cmpne r2, r1 + 4078: 0bf8 bt 0x4068 // 4068 + 407a: 7400 zextb r0, r0 + 407c: 1482 pop r4-r5 + 407e: 0000 bkpt + 4080: 2000048c .long 0x2000048c + +Disassembly of section .text.get_key_number2: + +00004084 : + 4084: 14c2 push r4-r5 + 4086: 3200 movi r2, 0 + 4088: 3000 movi r0, 0 + 408a: 1088 lrw r4, 0x20000570 // 40a8 + 408c: 3501 movi r5, 1 + 408e: 3120 movi r1, 32 + 4090: 9460 ld.w r3, (r4, 0x0) + 4092: 70c9 lsr r3, r2 + 4094: 68d4 and r3, r5 + 4096: 3b40 cmpnei r3, 0 + 4098: 0c02 bf 0x409c // 409c + 409a: 2000 addi r0, 1 + 409c: 2200 addi r2, 1 + 409e: 644a cmpne r2, r1 + 40a0: 0bf8 bt 0x4090 // 4090 + 40a2: 7400 zextb r0, r0 + 40a4: 1482 pop r4-r5 + 40a6: 0000 bkpt + 40a8: 20000570 .long 0x20000570 + +Disassembly of section .text.TK_Scan_Start: + +000040ac : + 40ac: 1073 lrw r3, 0x20000068 // 40f8 + 40ae: 1054 lrw r2, 0x20000715 // 40fc + 40b0: 8302 ld.b r0, (r3, 0x2) + 40b2: 8220 ld.b r1, (r2, 0x0) + 40b4: 6442 cmpne r0, r1 + 40b6: 0c16 bf 0x40e2 // 40e2 + 40b8: 8220 ld.b r1, (r2, 0x0) + 40ba: 7444 zextb r1, r1 + 40bc: 3941 cmpnei r1, 1 + 40be: 0c18 bf 0x40ee // 40ee + 40c0: 3940 cmpnei r1, 0 + 40c2: 0c11 bf 0x40e4 // 40e4 + 40c4: 3942 cmpnei r1, 2 + 40c6: 0c16 bf 0x40f2 // 40f2 + 40c8: 8240 ld.b r2, (r2, 0x0) + 40ca: 7488 zextb r2, r2 + 40cc: a342 st.b r2, (r3, 0x2) + 40ce: 8341 ld.b r2, (r3, 0x1) + 40d0: 7488 zextb r2, r2 + 40d2: 3a41 cmpnei r2, 1 + 40d4: 0807 bt 0x40e2 // 40e2 + 40d6: 102b lrw r1, 0x20000058 // 4100 + 40d8: 9120 ld.w r1, (r1, 0x0) + 40da: b142 st.w r2, (r1, 0x8) + 40dc: 3200 movi r2, 0 + 40de: a340 st.b r2, (r3, 0x0) + 40e0: a341 st.b r2, (r3, 0x1) + 40e2: 783c jmp r15 + 40e4: 1028 lrw r1, 0x200007cc // 4104 + 40e6: 9100 ld.w r0, (r1, 0x0) + 40e8: 1028 lrw r1, 0x40011200 // 4108 + 40ea: b110 st.w r0, (r1, 0x40) + 40ec: 07ee br 0x40c8 // 40c8 + 40ee: 1028 lrw r1, 0x2000053c // 410c + 40f0: 07fb br 0x40e6 // 40e6 + 40f2: 1028 lrw r1, 0x2000056c // 4110 + 40f4: 07f9 br 0x40e6 // 40e6 + 40f6: 0000 bkpt + 40f8: 20000068 .long 0x20000068 + 40fc: 20000715 .long 0x20000715 + 4100: 20000058 .long 0x20000058 + 4104: 200007cc .long 0x200007cc + 4108: 40011200 .long 0x40011200 + 410c: 2000053c .long 0x2000053c + 4110: 2000056c .long 0x2000056c + +Disassembly of section .text.TK_Keymap_prog: + +00004114 : + 4114: 14d4 push r4-r7, r15 + 4116: 142a subi r14, r14, 40 + 4118: 0171 lrw r3, 0x2000017c // 4450 + 411a: 8360 ld.b r3, (r3, 0x0) + 411c: b860 st.w r3, (r14, 0x0) + 411e: 3400 movi r4, 0 + 4120: 0172 lrw r3, 0x20000150 // 4454 + 4122: 8360 ld.b r3, (r3, 0x0) + 4124: b863 st.w r3, (r14, 0xc) + 4126: 0172 lrw r3, 0x20000159 // 4458 + 4128: 83a0 ld.b r5, (r3, 0x0) + 412a: 0172 lrw r3, 0x20000158 // 445c + 412c: 8360 ld.b r3, (r3, 0x0) + 412e: b866 st.w r3, (r14, 0x18) + 4130: 0173 lrw r3, 0x200007aa // 4460 + 4132: b868 st.w r3, (r14, 0x20) + 4134: 0173 lrw r3, 0x20000518 // 4464 + 4136: b864 st.w r3, (r14, 0x10) + 4138: b869 st.w r3, (r14, 0x24) + 413a: 4461 lsli r3, r4, 1 + 413c: 9848 ld.w r2, (r14, 0x20) + 413e: 608c addu r2, r3 + 4140: 0135 lrw r1, 0x20000458 // 4468 + 4142: 604c addu r1, r3 + 4144: 8a40 ld.h r2, (r2, 0x0) + 4146: 8920 ld.h r1, (r1, 0x0) + 4148: 6086 subu r2, r1 + 414a: 9829 ld.w r1, (r14, 0x24) + 414c: 604c addu r1, r3 + 414e: 748b sexth r2, r2 + 4150: a940 st.h r2, (r1, 0x0) + 4152: 0118 lrw r0, 0x20000602 // 446c + 4154: 0158 lrw r2, 0x20000540 // 4470 + 4156: 608c addu r2, r3 + 4158: 600c addu r0, r3 + 415a: 8a40 ld.h r2, (r2, 0x0) + 415c: 8800 ld.h r0, (r0, 0x0) + 415e: 6082 subu r2, r0 + 4160: 01da lrw r6, 0x20000658 // 4474 + 4162: 5e0c addu r0, r6, r3 + 4164: 748b sexth r2, r2 + 4166: a840 st.h r2, (r0, 0x0) + 4168: b8c1 st.w r6, (r14, 0x4) + 416a: 015b lrw r2, 0x20000636 // 4478 + 416c: 011b lrw r0, 0x20000718 // 447c + 416e: 608c addu r2, r3 + 4170: 600c addu r0, r3 + 4172: 8a40 ld.h r2, (r2, 0x0) + 4174: 8800 ld.h r0, (r0, 0x0) + 4176: 6082 subu r2, r0 + 4178: 011d lrw r0, 0x20000784 // 4480 + 417a: 748b sexth r2, r2 + 417c: 58ec addu r7, r0, r3 + 417e: af40 st.h r2, (r7, 0x0) + 4180: 8940 ld.h r2, (r1, 0x0) + 4182: 748b sexth r2, r2 + 4184: 3adf btsti r2, 31 + 4186: 015f lrw r2, 0x20000762 // 4484 + 4188: 60c8 addu r3, r2 + 418a: b802 st.w r0, (r14, 0x8) + 418c: 0c49 bf 0x421e // 421e + 418e: 3200 movi r2, 0 + 4190: ab40 st.h r2, (r3, 0x0) + 4192: 9821 ld.w r1, (r14, 0x4) + 4194: 4461 lsli r3, r4, 1 + 4196: 604c addu r1, r3 + 4198: 8940 ld.h r2, (r1, 0x0) + 419a: 748b sexth r2, r2 + 419c: 3adf btsti r2, 31 + 419e: 0244 lrw r2, 0x200004c0 // 4488 + 41a0: 60c8 addu r3, r2 + 41a2: 0c41 bf 0x4224 // 4224 + 41a4: 3200 movi r2, 0 + 41a6: ab40 st.h r2, (r3, 0x0) + 41a8: 9822 ld.w r1, (r14, 0x8) + 41aa: 4461 lsli r3, r4, 1 + 41ac: 604c addu r1, r3 + 41ae: 8940 ld.h r2, (r1, 0x0) + 41b0: 748b sexth r2, r2 + 41b2: 3adf btsti r2, 31 + 41b4: 0249 lrw r2, 0x20000494 // 448c + 41b6: 60c8 addu r3, r2 + 41b8: 0c39 bf 0x422a // 422a + 41ba: 3200 movi r2, 0 + 41bc: ab40 st.h r2, (r3, 0x0) + 41be: 9860 ld.w r3, (r14, 0x0) + 41c0: 3b03 cmphsi r3, 4 + 41c2: 4421 lsli r1, r4, 1 + 41c4: 0cb5 bf 0x432e // 432e + 41c6: 9864 ld.w r3, (r14, 0x10) + 41c8: 60c4 addu r3, r1 + 41ca: 024d lrw r2, 0x200001aa // 4490 + 41cc: 6048 addu r1, r2 + 41ce: 8b00 ld.h r0, (r3, 0x0) + 41d0: 8940 ld.h r2, (r1, 0x0) + 41d2: 7403 sexth r0, r0 + 41d4: 6409 cmplt r2, r0 + 41d6: 9820 ld.w r1, (r14, 0x0) + 41d8: 7c84 mult r2, r1 + 41da: 0c9b bf 0x4310 // 4310 + 41dc: 8b20 ld.h r1, (r3, 0x0) + 41de: 7447 sexth r1, r1 + 41e0: 6485 cmplt r1, r2 + 41e2: 0c97 bf 0x4310 // 4310 + 41e4: 0233 lrw r1, 0x20000505 // 4494 + 41e6: 6050 addu r1, r4 + 41e8: 8140 ld.b r2, (r1, 0x0) + 41ea: 2200 addi r2, 1 + 41ec: 7488 zextb r2, r2 + 41ee: a140 st.b r2, (r1, 0x0) + 41f0: 3000 movi r0, 0 + 41f2: 0255 lrw r2, 0x200004e4 // 4498 + 41f4: 6090 addu r2, r4 + 41f6: a200 st.b r0, (r2, 0x0) + 41f8: 0256 lrw r2, 0x20000624 // 449c + 41fa: 6090 addu r2, r4 + 41fc: a200 st.b r0, (r2, 0x0) + 41fe: 0256 lrw r2, 0x200006bc // 44a0 + 4200: 6090 addu r2, r4 + 4202: a200 st.b r0, (r2, 0x0) + 4204: 8140 ld.b r2, (r1, 0x0) + 4206: 9803 ld.w r0, (r14, 0xc) + 4208: 6480 cmphs r0, r2 + 420a: 081d bt 0x4244 // 4244 + 420c: 3d40 cmpnei r5, 0 + 420e: 0811 bt 0x4230 // 4230 + 4210: 025a lrw r2, 0x200004f8 // 44a4 + 4212: 9260 ld.w r3, (r2, 0x0) + 4214: 3b40 cmpnei r3, 0 + 4216: 0815 bt 0x4240 // 4240 + 4218: 9200 ld.w r0, (r2, 0x0) + 421a: 3301 movi r3, 1 + 421c: 040f br 0x423a // 423a + 421e: 8940 ld.h r2, (r1, 0x0) + 4220: 7489 zexth r2, r2 + 4222: 07b7 br 0x4190 // 4190 + 4224: 8940 ld.h r2, (r1, 0x0) + 4226: 7489 zexth r2, r2 + 4228: 07bf br 0x41a6 // 41a6 + 422a: 8940 ld.h r2, (r1, 0x0) + 422c: 7489 zexth r2, r2 + 422e: 07c7 br 0x41bc // 41bc + 4230: 3d41 cmpnei r5, 1 + 4232: 085c bt 0x42ea // 42ea + 4234: 0343 lrw r2, 0x200004f8 // 44a4 + 4236: 6cd7 mov r3, r5 + 4238: 9200 ld.w r0, (r2, 0x0) + 423a: 70d0 lsl r3, r4 + 423c: 6cc0 or r3, r0 + 423e: b260 st.w r3, (r2, 0x0) + 4240: 3300 movi r3, 0 + 4242: a160 st.b r3, (r1, 0x0) + 4244: 4461 lsli r3, r4, 1 + 4246: 9844 ld.w r2, (r14, 0x10) + 4248: 608c addu r2, r3 + 424a: 8ac0 ld.h r6, (r2, 0x0) + 424c: 034e lrw r2, 0x200001aa // 4490 + 424e: 60c8 addu r3, r2 + 4250: 8be0 ld.h r7, (r3, 0x0) + 4252: 4702 lsli r0, r7, 2 + 4254: 3105 movi r1, 5 + 4256: e3fff6a3 bsr 0x2f9c // 2f9c <__divsi3> + 425a: 759b sexth r6, r6 + 425c: 6419 cmplt r6, r0 + 425e: b805 st.w r0, (r14, 0x14) + 4260: 0c18 bf 0x4290 // 4290 + 4262: 0351 lrw r2, 0x200004e4 // 4498 + 4264: 6090 addu r2, r4 + 4266: 8260 ld.b r3, (r2, 0x0) + 4268: 2300 addi r3, 1 + 426a: 74cc zextb r3, r3 + 426c: a260 st.b r3, (r2, 0x0) + 426e: 3100 movi r1, 0 + 4270: 0376 lrw r3, 0x20000505 // 4494 + 4272: 60d0 addu r3, r4 + 4274: a320 st.b r1, (r3, 0x0) + 4276: 8260 ld.b r3, (r2, 0x0) + 4278: 9826 ld.w r1, (r14, 0x18) + 427a: 64c4 cmphs r1, r3 + 427c: 080a bt 0x4290 // 4290 + 427e: 3300 movi r3, 0 + 4280: 0336 lrw r1, 0x200004f8 // 44a4 + 4282: 2b01 subi r3, 2 + 4284: 9100 ld.w r0, (r1, 0x0) + 4286: 70d3 rotl r3, r4 + 4288: 68c0 and r3, r0 + 428a: b160 st.w r3, (r1, 0x0) + 428c: 3300 movi r3, 0 + 428e: a260 st.b r3, (r2, 0x0) + 4290: 9860 ld.w r3, (r14, 0x0) + 4292: 9841 ld.w r2, (r14, 0x4) + 4294: 3b03 cmphsi r3, 4 + 4296: 4461 lsli r3, r4, 1 + 4298: 60c8 addu r3, r2 + 429a: 8b40 ld.h r2, (r3, 0x0) + 429c: 748b sexth r2, r2 + 429e: 0d4d bf 0x4538 // 4538 + 42a0: 649d cmplt r7, r2 + 42a2: 0d3a bf 0x4516 // 4516 + 42a4: 8b40 ld.h r2, (r3, 0x0) + 42a6: 9820 ld.w r1, (r14, 0x0) + 42a8: 748b sexth r2, r2 + 42aa: 7c5c mult r1, r7 + 42ac: 6449 cmplt r2, r1 + 42ae: 0d34 bf 0x4516 // 4516 + 42b0: 133e lrw r1, 0x200006d8 // 44a8 + 42b2: 6050 addu r1, r4 + 42b4: 8140 ld.b r2, (r1, 0x0) + 42b6: 2200 addi r2, 1 + 42b8: 7488 zextb r2, r2 + 42ba: a140 st.b r2, (r1, 0x0) + 42bc: 3000 movi r0, 0 + 42be: 135c lrw r2, 0x20000574 // 44ac + 42c0: 6090 addu r2, r4 + 42c2: a200 st.b r0, (r2, 0x0) + 42c4: 135b lrw r2, 0x2000059e // 44b0 + 42c6: 6090 addu r2, r4 + 42c8: a200 st.b r0, (r2, 0x0) + 42ca: 135b lrw r2, 0x2000069c // 44b4 + 42cc: 6090 addu r2, r4 + 42ce: a200 st.b r0, (r2, 0x0) + 42d0: 8140 ld.b r2, (r1, 0x0) + 42d2: 9803 ld.w r0, (r14, 0xc) + 42d4: 6480 cmphs r0, r2 + 42d6: 087d bt 0x43d0 // 43d0 + 42d8: 3d40 cmpnei r5, 0 + 42da: 0871 bt 0x43bc // 43bc + 42dc: 1357 lrw r2, 0x2000048c // 44b8 + 42de: 9260 ld.w r3, (r2, 0x0) + 42e0: 3b40 cmpnei r3, 0 + 42e2: 0875 bt 0x43cc // 43cc + 42e4: 9200 ld.w r0, (r2, 0x0) + 42e6: 3301 movi r3, 1 + 42e8: 046f br 0x43c6 // 43c6 + 42ea: 3d42 cmpnei r5, 2 + 42ec: 0c03 bf 0x42f2 // 42f2 + 42ee: e8000201 br 0x46f0 // 46f0 + 42f2: 13d3 lrw r6, 0x200006b2 // 44bc + 42f4: 8b00 ld.h r0, (r3, 0x0) + 42f6: 8e40 ld.h r2, (r6, 0x0) + 42f8: 7489 zexth r2, r2 + 42fa: 7403 sexth r0, r0 + 42fc: 2209 addi r2, 10 + 42fe: 6409 cmplt r2, r0 + 4300: 0fa0 bf 0x4240 // 4240 + 4302: 8b60 ld.h r3, (r3, 0x0) + 4304: 74cd zexth r3, r3 + 4306: ae60 st.h r3, (r6, 0x0) + 4308: 3300 movi r3, 0 + 430a: 1347 lrw r2, 0x200004f8 // 44a4 + 430c: b260 st.w r3, (r2, 0x0) + 430e: 0785 br 0x4218 // 4218 + 4310: 4461 lsli r3, r4, 1 + 4312: 9824 ld.w r1, (r14, 0x10) + 4314: 60c4 addu r3, r1 + 4316: 8b60 ld.h r3, (r3, 0x0) + 4318: 74cf sexth r3, r3 + 431a: 64c9 cmplt r2, r3 + 431c: 0f94 bf 0x4244 // 4244 + 431e: 3300 movi r3, 0 + 4320: 1341 lrw r2, 0x200004f8 // 44a4 + 4322: 2b01 subi r3, 2 + 4324: 9220 ld.w r1, (r2, 0x0) + 4326: 70d3 rotl r3, r4 + 4328: 68c4 and r3, r1 + 432a: b260 st.w r3, (r2, 0x0) + 432c: 078c br 0x4244 // 4244 + 432e: 9844 ld.w r2, (r14, 0x10) + 4330: 6084 addu r2, r1 + 4332: 1218 lrw r0, 0x200001aa // 4490 + 4334: 8a60 ld.h r3, (r2, 0x0) + 4336: 6040 addu r1, r0 + 4338: 74cf sexth r3, r3 + 433a: 8920 ld.h r1, (r1, 0x0) + 433c: 64c5 cmplt r1, r3 + 433e: 0f83 bf 0x4244 // 4244 + 4340: 1360 lrw r3, 0x20000516 // 44c0 + 4342: 8360 ld.b r3, (r3, 0x0) + 4344: 74cc zextb r3, r3 + 4346: 3b40 cmpnei r3, 0 + 4348: 0b7e bt 0x4244 // 4244 + 434a: 1213 lrw r0, 0x20000505 // 4494 + 434c: 6010 addu r0, r4 + 434e: 8020 ld.b r1, (r0, 0x0) + 4350: 2100 addi r1, 1 + 4352: 7444 zextb r1, r1 + 4354: a020 st.b r1, (r0, 0x0) + 4356: 3600 movi r6, 0 + 4358: 1230 lrw r1, 0x200004e4 // 4498 + 435a: 6050 addu r1, r4 + 435c: a1c0 st.b r6, (r1, 0x0) + 435e: 1230 lrw r1, 0x20000624 // 449c + 4360: 6050 addu r1, r4 + 4362: a1c0 st.b r6, (r1, 0x0) + 4364: 122f lrw r1, 0x200006bc // 44a0 + 4366: 6050 addu r1, r4 + 4368: a1c0 st.b r6, (r1, 0x0) + 436a: 8020 ld.b r1, (r0, 0x0) + 436c: 98c3 ld.w r6, (r14, 0xc) + 436e: 6458 cmphs r6, r1 + 4370: 0b6a bt 0x4244 // 4244 + 4372: 3d40 cmpnei r5, 0 + 4374: 0808 bt 0x4384 // 4384 + 4376: 124c lrw r2, 0x200004f8 // 44a4 + 4378: 9260 ld.w r3, (r2, 0x0) + 437a: 3b40 cmpnei r3, 0 + 437c: 080c bt 0x4394 // 4394 + 437e: 9220 ld.w r1, (r2, 0x0) + 4380: 3301 movi r3, 1 + 4382: 0406 br 0x438e // 438e + 4384: 3d41 cmpnei r5, 1 + 4386: 080a bt 0x439a // 439a + 4388: 1247 lrw r2, 0x200004f8 // 44a4 + 438a: 6cd7 mov r3, r5 + 438c: 9220 ld.w r1, (r2, 0x0) + 438e: 70d0 lsl r3, r4 + 4390: 6cc4 or r3, r1 + 4392: b260 st.w r3, (r2, 0x0) + 4394: 3300 movi r3, 0 + 4396: a060 st.b r3, (r0, 0x0) + 4398: 0756 br 0x4244 // 4244 + 439a: 3d42 cmpnei r5, 2 + 439c: 0c02 bf 0x43a0 // 43a0 + 439e: 05dc br 0x4756 // 4756 + 43a0: 12e7 lrw r7, 0x200006b2 // 44bc + 43a2: 8ac0 ld.h r6, (r2, 0x0) + 43a4: 8f20 ld.h r1, (r7, 0x0) + 43a6: 7445 zexth r1, r1 + 43a8: 759b sexth r6, r6 + 43aa: 2109 addi r1, 10 + 43ac: 6585 cmplt r1, r6 + 43ae: 0ff3 bf 0x4394 // 4394 + 43b0: 8a40 ld.h r2, (r2, 0x0) + 43b2: 7489 zexth r2, r2 + 43b4: af40 st.h r2, (r7, 0x0) + 43b6: 115c lrw r2, 0x200004f8 // 44a4 + 43b8: b260 st.w r3, (r2, 0x0) + 43ba: 07e2 br 0x437e // 437e + 43bc: 3d41 cmpnei r5, 1 + 43be: 089b bt 0x44f4 // 44f4 + 43c0: 115e lrw r2, 0x2000048c // 44b8 + 43c2: 6cd7 mov r3, r5 + 43c4: 9200 ld.w r0, (r2, 0x0) + 43c6: 70d0 lsl r3, r4 + 43c8: 6cc0 or r3, r0 + 43ca: b260 st.w r3, (r2, 0x0) + 43cc: 3300 movi r3, 0 + 43ce: a160 st.b r3, (r1, 0x0) + 43d0: 4461 lsli r3, r4, 1 + 43d2: 9841 ld.w r2, (r14, 0x4) + 43d4: 608c addu r2, r3 + 43d6: 8a60 ld.h r3, (r2, 0x0) + 43d8: 74cf sexth r3, r3 + 43da: 9845 ld.w r2, (r14, 0x14) + 43dc: 648d cmplt r3, r2 + 43de: 0c18 bf 0x440e // 440e + 43e0: 1153 lrw r2, 0x20000574 // 44ac + 43e2: 6090 addu r2, r4 + 43e4: 8260 ld.b r3, (r2, 0x0) + 43e6: 2300 addi r3, 1 + 43e8: 74cc zextb r3, r3 + 43ea: a260 st.b r3, (r2, 0x0) + 43ec: 3100 movi r1, 0 + 43ee: 116f lrw r3, 0x200006d8 // 44a8 + 43f0: 60d0 addu r3, r4 + 43f2: a320 st.b r1, (r3, 0x0) + 43f4: 8260 ld.b r3, (r2, 0x0) + 43f6: 9826 ld.w r1, (r14, 0x18) + 43f8: 64c4 cmphs r1, r3 + 43fa: 080a bt 0x440e // 440e + 43fc: 3300 movi r3, 0 + 43fe: 112f lrw r1, 0x2000048c // 44b8 + 4400: 2b01 subi r3, 2 + 4402: 9100 ld.w r0, (r1, 0x0) + 4404: 70d3 rotl r3, r4 + 4406: 68c0 and r3, r0 + 4408: b160 st.w r3, (r1, 0x0) + 440a: 3300 movi r3, 0 + 440c: a260 st.b r3, (r2, 0x0) + 440e: 9860 ld.w r3, (r14, 0x0) + 4410: 9842 ld.w r2, (r14, 0x8) + 4412: 3b03 cmphsi r3, 4 + 4414: 4461 lsli r3, r4, 1 + 4416: 60c8 addu r3, r2 + 4418: 8b40 ld.h r2, (r3, 0x0) + 441a: 748b sexth r2, r2 + 441c: 0d26 bf 0x4668 // 4668 + 441e: 9820 ld.w r1, (r14, 0x0) + 4420: 649d cmplt r7, r2 + 4422: 7c5c mult r1, r7 + 4424: 0d13 bf 0x464a // 464a + 4426: 8b40 ld.h r2, (r3, 0x0) + 4428: 748b sexth r2, r2 + 442a: 6449 cmplt r2, r1 + 442c: 0d0f bf 0x464a // 464a + 442e: 1126 lrw r1, 0x20000680 // 44c4 + 4430: 6050 addu r1, r4 + 4432: 8140 ld.b r2, (r1, 0x0) + 4434: 2200 addi r2, 1 + 4436: 7488 zextb r2, r2 + 4438: a140 st.b r2, (r1, 0x0) + 443a: 3000 movi r0, 0 + 443c: 1143 lrw r2, 0x200006ee // 44c8 + 443e: 6090 addu r2, r4 + 4440: a200 st.b r0, (r2, 0x0) + 4442: 1143 lrw r2, 0x2000047a // 44cc + 4444: 6090 addu r2, r4 + 4446: a200 st.b r0, (r2, 0x0) + 4448: 1142 lrw r2, 0x2000058c // 44d0 + 444a: 6090 addu r2, r4 + 444c: a200 st.b r0, (r2, 0x0) + 444e: 0443 br 0x44d4 // 44d4 + 4450: 2000017c .long 0x2000017c + 4454: 20000150 .long 0x20000150 + 4458: 20000159 .long 0x20000159 + 445c: 20000158 .long 0x20000158 + 4460: 200007aa .long 0x200007aa + 4464: 20000518 .long 0x20000518 + 4468: 20000458 .long 0x20000458 + 446c: 20000602 .long 0x20000602 + 4470: 20000540 .long 0x20000540 + 4474: 20000658 .long 0x20000658 + 4478: 20000636 .long 0x20000636 + 447c: 20000718 .long 0x20000718 + 4480: 20000784 .long 0x20000784 + 4484: 20000762 .long 0x20000762 + 4488: 200004c0 .long 0x200004c0 + 448c: 20000494 .long 0x20000494 + 4490: 200001aa .long 0x200001aa + 4494: 20000505 .long 0x20000505 + 4498: 200004e4 .long 0x200004e4 + 449c: 20000624 .long 0x20000624 + 44a0: 200006bc .long 0x200006bc + 44a4: 200004f8 .long 0x200004f8 + 44a8: 200006d8 .long 0x200006d8 + 44ac: 20000574 .long 0x20000574 + 44b0: 2000059e .long 0x2000059e + 44b4: 2000069c .long 0x2000069c + 44b8: 2000048c .long 0x2000048c + 44bc: 200006b2 .long 0x200006b2 + 44c0: 20000516 .long 0x20000516 + 44c4: 20000680 .long 0x20000680 + 44c8: 200006ee .long 0x200006ee + 44cc: 2000047a .long 0x2000047a + 44d0: 2000058c .long 0x2000058c + 44d4: 8140 ld.b r2, (r1, 0x0) + 44d6: 9803 ld.w r0, (r14, 0xc) + 44d8: 6480 cmphs r0, r2 + 44da: 0881 bt 0x45dc // 45dc + 44dc: 3d40 cmpnei r5, 0 + 44de: 0874 bt 0x45c6 // 45c6 + 44e0: 014b lrw r2, 0x20000570 // 4830 + 44e2: 9260 ld.w r3, (r2, 0x0) + 44e4: 3b40 cmpnei r3, 0 + 44e6: 0879 bt 0x45d8 // 45d8 + 44e8: 3301 movi r3, 1 + 44ea: 9200 ld.w r0, (r2, 0x0) + 44ec: 70d0 lsl r3, r4 + 44ee: 6cc0 or r3, r0 + 44f0: b260 st.w r3, (r2, 0x0) + 44f2: 0473 br 0x45d8 // 45d8 + 44f4: 3d42 cmpnei r5, 2 + 44f6: 0960 bt 0x47b6 // 47b6 + 44f8: 01d0 lrw r6, 0x200007a8 // 4834 + 44fa: 8b00 ld.h r0, (r3, 0x0) + 44fc: 8e40 ld.h r2, (r6, 0x0) + 44fe: 7489 zexth r2, r2 + 4500: 7403 sexth r0, r0 + 4502: 2209 addi r2, 10 + 4504: 6409 cmplt r2, r0 + 4506: 0f63 bf 0x43cc // 43cc + 4508: 8b60 ld.h r3, (r3, 0x0) + 450a: 74cd zexth r3, r3 + 450c: ae60 st.h r3, (r6, 0x0) + 450e: 3300 movi r3, 0 + 4510: 0155 lrw r2, 0x2000048c // 4838 + 4512: b260 st.w r3, (r2, 0x0) + 4514: 06e8 br 0x42e4 // 42e4 + 4516: 9841 ld.w r2, (r14, 0x4) + 4518: 4461 lsli r3, r4, 1 + 451a: 60c8 addu r3, r2 + 451c: 8b60 ld.h r3, (r3, 0x0) + 451e: 9840 ld.w r2, (r14, 0x0) + 4520: 74cf sexth r3, r3 + 4522: 7c9c mult r2, r7 + 4524: 64c9 cmplt r2, r3 + 4526: 0f55 bf 0x43d0 // 43d0 + 4528: 3300 movi r3, 0 + 452a: 015b lrw r2, 0x2000048c // 4838 + 452c: 2b01 subi r3, 2 + 452e: 9220 ld.w r1, (r2, 0x0) + 4530: 70d3 rotl r3, r4 + 4532: 68c4 and r3, r1 + 4534: b260 st.w r3, (r2, 0x0) + 4536: 074d br 0x43d0 // 43d0 + 4538: 649d cmplt r7, r2 + 453a: 0f4b bf 0x43d0 // 43d0 + 453c: 015f lrw r2, 0x20000516 // 483c + 453e: 8240 ld.b r2, (r2, 0x0) + 4540: 7488 zextb r2, r2 + 4542: 3a40 cmpnei r2, 0 + 4544: b847 st.w r2, (r14, 0x1c) + 4546: 0b45 bt 0x43d0 // 43d0 + 4548: 0201 lrw r0, 0x200006d8 // 4840 + 454a: 6010 addu r0, r4 + 454c: 8020 ld.b r1, (r0, 0x0) + 454e: 2100 addi r1, 1 + 4550: 7444 zextb r1, r1 + 4552: a020 st.b r1, (r0, 0x0) + 4554: 3600 movi r6, 0 + 4556: 0223 lrw r1, 0x20000574 // 4844 + 4558: 6050 addu r1, r4 + 455a: a1c0 st.b r6, (r1, 0x0) + 455c: 0224 lrw r1, 0x2000059e // 4848 + 455e: 6050 addu r1, r4 + 4560: a1c0 st.b r6, (r1, 0x0) + 4562: 0224 lrw r1, 0x2000069c // 484c + 4564: 6050 addu r1, r4 + 4566: a1c0 st.b r6, (r1, 0x0) + 4568: 8020 ld.b r1, (r0, 0x0) + 456a: 98c3 ld.w r6, (r14, 0xc) + 456c: 6458 cmphs r6, r1 + 456e: 0b31 bt 0x43d0 // 43d0 + 4570: 3d40 cmpnei r5, 0 + 4572: 0808 bt 0x4582 // 4582 + 4574: 024e lrw r2, 0x2000048c // 4838 + 4576: 9260 ld.w r3, (r2, 0x0) + 4578: 3b40 cmpnei r3, 0 + 457a: 0823 bt 0x45c0 // 45c0 + 457c: 9220 ld.w r1, (r2, 0x0) + 457e: 3301 movi r3, 1 + 4580: 0406 br 0x458c // 458c + 4582: 3d41 cmpnei r5, 1 + 4584: 0808 bt 0x4594 // 4594 + 4586: 0252 lrw r2, 0x2000048c // 4838 + 4588: 6cd7 mov r3, r5 + 458a: 9220 ld.w r1, (r2, 0x0) + 458c: 70d0 lsl r3, r4 + 458e: 6cc4 or r3, r1 + 4590: b260 st.w r3, (r2, 0x0) + 4592: 0417 br 0x45c0 // 45c0 + 4594: 3d42 cmpnei r5, 2 + 4596: 0942 bt 0x481a // 481a + 4598: 8bc0 ld.h r6, (r3, 0x0) + 459a: 745b sexth r1, r6 + 459c: 02d9 lrw r6, 0x200007a8 // 4834 + 459e: 6c87 mov r2, r1 + 45a0: 8e20 ld.h r1, (r6, 0x0) + 45a2: 7445 zexth r1, r1 + 45a4: 2109 addi r1, 10 + 45a6: 6485 cmplt r1, r2 + 45a8: 0c0c bf 0x45c0 // 45c0 + 45aa: 8b60 ld.h r3, (r3, 0x0) + 45ac: 74cd zexth r3, r3 + 45ae: ae60 st.h r3, (r6, 0x0) + 45b0: 9867 ld.w r3, (r14, 0x1c) + 45b2: 023d lrw r1, 0x2000048c // 4838 + 45b4: b160 st.w r3, (r1, 0x0) + 45b6: 3301 movi r3, 1 + 45b8: 9140 ld.w r2, (r1, 0x0) + 45ba: 70d0 lsl r3, r4 + 45bc: 6cc8 or r3, r2 + 45be: b160 st.w r3, (r1, 0x0) + 45c0: 3300 movi r3, 0 + 45c2: a060 st.b r3, (r0, 0x0) + 45c4: 0706 br 0x43d0 // 43d0 + 45c6: 3d41 cmpnei r5, 1 + 45c8: 0830 bt 0x4628 // 4628 + 45ca: 0345 lrw r2, 0x20000570 // 4830 + 45cc: 6cd7 mov r3, r5 + 45ce: 9200 ld.w r0, (r2, 0x0) + 45d0: 70d0 lsl r3, r4 + 45d2: 6cc0 or r3, r0 + 45d4: b260 st.w r3, (r2, 0x0) + 45d6: 6c03 mov r0, r0 + 45d8: 3300 movi r3, 0 + 45da: a160 st.b r3, (r1, 0x0) + 45dc: 4461 lsli r3, r4, 1 + 45de: 9842 ld.w r2, (r14, 0x8) + 45e0: 608c addu r2, r3 + 45e2: 8a60 ld.h r3, (r2, 0x0) + 45e4: 74cf sexth r3, r3 + 45e6: 9845 ld.w r2, (r14, 0x14) + 45e8: 648d cmplt r3, r2 + 45ea: 0c18 bf 0x461a // 461a + 45ec: 0346 lrw r2, 0x200006ee // 4850 + 45ee: 6090 addu r2, r4 + 45f0: 8260 ld.b r3, (r2, 0x0) + 45f2: 2300 addi r3, 1 + 45f4: 74cc zextb r3, r3 + 45f6: a260 st.b r3, (r2, 0x0) + 45f8: 3100 movi r1, 0 + 45fa: 0368 lrw r3, 0x20000680 // 4854 + 45fc: 60d0 addu r3, r4 + 45fe: a320 st.b r1, (r3, 0x0) + 4600: 8260 ld.b r3, (r2, 0x0) + 4602: 9826 ld.w r1, (r14, 0x18) + 4604: 64c4 cmphs r1, r3 + 4606: 080a bt 0x461a // 461a + 4608: 3300 movi r3, 0 + 460a: 0335 lrw r1, 0x20000570 // 4830 + 460c: 2b01 subi r3, 2 + 460e: 9100 ld.w r0, (r1, 0x0) + 4610: 70d3 rotl r3, r4 + 4612: 68c0 and r3, r0 + 4614: b160 st.w r3, (r1, 0x0) + 4616: 3300 movi r3, 0 + 4618: a260 st.b r3, (r2, 0x0) + 461a: 2400 addi r4, 1 + 461c: 3c51 cmpnei r4, 17 + 461e: 0c03 bf 0x4624 // 4624 + 4620: e800fd8d br 0x413a // 413a + 4624: 140a addi r14, r14, 40 + 4626: 1494 pop r4-r7, r15 + 4628: 3d42 cmpnei r5, 2 + 462a: 0948 bt 0x48ba // 48ba + 462c: 03d4 lrw r6, 0x2000053a // 4858 + 462e: 8b00 ld.h r0, (r3, 0x0) + 4630: 8e40 ld.h r2, (r6, 0x0) + 4632: 7489 zexth r2, r2 + 4634: 7403 sexth r0, r0 + 4636: 2209 addi r2, 10 + 4638: 6409 cmplt r2, r0 + 463a: 0fcf bf 0x45d8 // 45d8 + 463c: 8b60 ld.h r3, (r3, 0x0) + 463e: 74cd zexth r3, r3 + 4640: ae60 st.h r3, (r6, 0x0) + 4642: 3300 movi r3, 0 + 4644: 135b lrw r2, 0x20000570 // 4830 + 4646: b260 st.w r3, (r2, 0x0) + 4648: 0750 br 0x44e8 // 44e8 + 464a: 4461 lsli r3, r4, 1 + 464c: 9842 ld.w r2, (r14, 0x8) + 464e: 60c8 addu r3, r2 + 4650: 8b60 ld.h r3, (r3, 0x0) + 4652: 74cf sexth r3, r3 + 4654: 64c5 cmplt r1, r3 + 4656: 0fc3 bf 0x45dc // 45dc + 4658: 3300 movi r3, 0 + 465a: 1356 lrw r2, 0x20000570 // 4830 + 465c: 2b01 subi r3, 2 + 465e: 9220 ld.w r1, (r2, 0x0) + 4660: 70d3 rotl r3, r4 + 4662: 68c4 and r3, r1 + 4664: b260 st.w r3, (r2, 0x0) + 4666: 07bb br 0x45dc // 45dc + 4668: 649d cmplt r7, r2 + 466a: 0fb9 bf 0x45dc // 45dc + 466c: 1354 lrw r2, 0x20000516 // 483c + 466e: 8240 ld.b r2, (r2, 0x0) + 4670: 7488 zextb r2, r2 + 4672: 3a40 cmpnei r2, 0 + 4674: 0bb4 bt 0x45dc // 45dc + 4676: 1318 lrw r0, 0x20000680 // 4854 + 4678: 6010 addu r0, r4 + 467a: 8020 ld.b r1, (r0, 0x0) + 467c: 2100 addi r1, 1 + 467e: 7444 zextb r1, r1 + 4680: a020 st.b r1, (r0, 0x0) + 4682: 3600 movi r6, 0 + 4684: 1333 lrw r1, 0x200006ee // 4850 + 4686: 6050 addu r1, r4 + 4688: a1c0 st.b r6, (r1, 0x0) + 468a: 1335 lrw r1, 0x2000047a // 485c + 468c: 6050 addu r1, r4 + 468e: a1c0 st.b r6, (r1, 0x0) + 4690: 1334 lrw r1, 0x2000058c // 4860 + 4692: 6050 addu r1, r4 + 4694: a1c0 st.b r6, (r1, 0x0) + 4696: 8020 ld.b r1, (r0, 0x0) + 4698: 98c3 ld.w r6, (r14, 0xc) + 469a: 6458 cmphs r6, r1 + 469c: 0ba0 bt 0x45dc // 45dc + 469e: 3d40 cmpnei r5, 0 + 46a0: 0808 bt 0x46b0 // 46b0 + 46a2: 1344 lrw r2, 0x20000570 // 4830 + 46a4: 9260 ld.w r3, (r2, 0x0) + 46a6: 3b40 cmpnei r3, 0 + 46a8: 0821 bt 0x46ea // 46ea + 46aa: 9220 ld.w r1, (r2, 0x0) + 46ac: 3301 movi r3, 1 + 46ae: 0406 br 0x46ba // 46ba + 46b0: 3d41 cmpnei r5, 1 + 46b2: 0808 bt 0x46c2 // 46c2 + 46b4: 125f lrw r2, 0x20000570 // 4830 + 46b6: 6cd7 mov r3, r5 + 46b8: 9220 ld.w r1, (r2, 0x0) + 46ba: 70d0 lsl r3, r4 + 46bc: 6cc4 or r3, r1 + 46be: b260 st.w r3, (r2, 0x0) + 46c0: 0415 br 0x46ea // 46ea + 46c2: 3d42 cmpnei r5, 2 + 46c4: 092a bt 0x4918 // 4918 + 46c6: 13e5 lrw r7, 0x2000053a // 4858 + 46c8: 8bc0 ld.h r6, (r3, 0x0) + 46ca: 8f20 ld.h r1, (r7, 0x0) + 46cc: 7445 zexth r1, r1 + 46ce: 759b sexth r6, r6 + 46d0: 2109 addi r1, 10 + 46d2: 6585 cmplt r1, r6 + 46d4: 0c0b bf 0x46ea // 46ea + 46d6: 8b60 ld.h r3, (r3, 0x0) + 46d8: 1236 lrw r1, 0x20000570 // 4830 + 46da: 74cd zexth r3, r3 + 46dc: af60 st.h r3, (r7, 0x0) + 46de: b140 st.w r2, (r1, 0x0) + 46e0: 3301 movi r3, 1 + 46e2: 9140 ld.w r2, (r1, 0x0) + 46e4: 70d0 lsl r3, r4 + 46e6: 6cc8 or r3, r2 + 46e8: b160 st.w r3, (r1, 0x0) + 46ea: 3300 movi r3, 0 + 46ec: a060 st.b r3, (r0, 0x0) + 46ee: 0777 br 0x45dc // 45dc + 46f0: 3d43 cmpnei r5, 3 + 46f2: 0c03 bf 0x46f8 // 46f8 + 46f4: e800fda6 br 0x4240 // 4240 + 46f8: 125b lrw r2, 0x200006b2 // 4864 + 46fa: 8bc0 ld.h r6, (r3, 0x0) + 46fc: 8a00 ld.h r0, (r2, 0x0) + 46fe: 7401 zexth r0, r0 + 4700: 759b sexth r6, r6 + 4702: 2009 addi r0, 10 + 4704: 6581 cmplt r0, r6 + 4706: 0c0c bf 0x471e // 471e + 4708: 8b60 ld.h r3, (r3, 0x0) + 470a: 74cd zexth r3, r3 + 470c: aa60 st.h r3, (r2, 0x0) + 470e: 3300 movi r3, 0 + 4710: 1216 lrw r0, 0x200004f8 // 4868 + 4712: b060 st.w r3, (r0, 0x0) + 4714: 3301 movi r3, 1 + 4716: 90c0 ld.w r6, (r0, 0x0) + 4718: 70d0 lsl r3, r4 + 471a: 6cd8 or r3, r6 + 471c: b060 st.w r3, (r0, 0x0) + 471e: 9804 ld.w r0, (r14, 0x10) + 4720: 4461 lsli r3, r4, 1 + 4722: 60c0 addu r3, r0 + 4724: 8b00 ld.h r0, (r3, 0x0) + 4726: 8a40 ld.h r2, (r2, 0x0) + 4728: 7489 zexth r2, r2 + 472a: 7403 sexth r0, r0 + 472c: 2a04 subi r2, 5 + 472e: 6481 cmplt r0, r2 + 4730: 0803 bt 0x4736 // 4736 + 4732: e800fd87 br 0x4240 // 4240 + 4736: 12ce lrw r6, 0x200004bc // 486c + 4738: 8b00 ld.h r0, (r3, 0x0) + 473a: 8e40 ld.h r2, (r6, 0x0) + 473c: 7489 zexth r2, r2 + 473e: 7403 sexth r0, r0 + 4740: 2204 addi r2, 5 + 4742: 6409 cmplt r2, r0 + 4744: 0803 bt 0x474a // 474a + 4746: e800fd7d br 0x4240 // 4240 + 474a: 8b60 ld.h r3, (r3, 0x0) + 474c: 74cd zexth r3, r3 + 474e: ae60 st.h r3, (r6, 0x0) + 4750: 1246 lrw r2, 0x200004f8 // 4868 + 4752: e800fd63 br 0x4218 // 4218 + 4756: 3d43 cmpnei r5, 3 + 4758: 0c02 bf 0x475c // 475c + 475a: 061d br 0x4394 // 4394 + 475c: 12c2 lrw r6, 0x200006b2 // 4864 + 475e: 8ae0 ld.h r7, (r2, 0x0) + 4760: 8e20 ld.h r1, (r6, 0x0) + 4762: 7445 zexth r1, r1 + 4764: 75df sexth r7, r7 + 4766: 2109 addi r1, 10 + 4768: 65c5 cmplt r1, r7 + 476a: 0c0b bf 0x4780 // 4780 + 476c: 8a40 ld.h r2, (r2, 0x0) + 476e: 7489 zexth r2, r2 + 4770: ae40 st.h r2, (r6, 0x0) + 4772: 115e lrw r2, 0x200004f8 // 4868 + 4774: b260 st.w r3, (r2, 0x0) + 4776: 3301 movi r3, 1 + 4778: 9220 ld.w r1, (r2, 0x0) + 477a: 70d0 lsl r3, r4 + 477c: 6cc4 or r3, r1 + 477e: b260 st.w r3, (r2, 0x0) + 4780: 9844 ld.w r2, (r14, 0x10) + 4782: 4461 lsli r3, r4, 1 + 4784: 60c8 addu r3, r2 + 4786: 8b40 ld.h r2, (r3, 0x0) + 4788: 8e20 ld.h r1, (r6, 0x0) + 478a: 7445 zexth r1, r1 + 478c: 748b sexth r2, r2 + 478e: 2904 subi r1, 5 + 4790: 6449 cmplt r2, r1 + 4792: 0802 bt 0x4796 // 4796 + 4794: 0600 br 0x4394 // 4394 + 4796: 11d6 lrw r6, 0x200004bc // 486c + 4798: 8b20 ld.h r1, (r3, 0x0) + 479a: 8e40 ld.h r2, (r6, 0x0) + 479c: 7489 zexth r2, r2 + 479e: 7447 sexth r1, r1 + 47a0: 2204 addi r2, 5 + 47a2: 6449 cmplt r2, r1 + 47a4: 0803 bt 0x47aa // 47aa + 47a6: e800fdf7 br 0x4394 // 4394 + 47aa: 8b60 ld.h r3, (r3, 0x0) + 47ac: 74cd zexth r3, r3 + 47ae: ae60 st.h r3, (r6, 0x0) + 47b0: 114e lrw r2, 0x200004f8 // 4868 + 47b2: e800fde6 br 0x437e // 437e + 47b6: 3d43 cmpnei r5, 3 + 47b8: 0c02 bf 0x47bc // 47bc + 47ba: 0609 br 0x43cc // 43cc + 47bc: 105e lrw r2, 0x200007a8 // 4834 + 47be: 8bc0 ld.h r6, (r3, 0x0) + 47c0: 8a00 ld.h r0, (r2, 0x0) + 47c2: 7401 zexth r0, r0 + 47c4: 759b sexth r6, r6 + 47c6: 2009 addi r0, 10 + 47c8: 6581 cmplt r0, r6 + 47ca: 0c0c bf 0x47e2 // 47e2 + 47cc: 8b60 ld.h r3, (r3, 0x0) + 47ce: 74cd zexth r3, r3 + 47d0: aa60 st.h r3, (r2, 0x0) + 47d2: 3300 movi r3, 0 + 47d4: 1019 lrw r0, 0x2000048c // 4838 + 47d6: b060 st.w r3, (r0, 0x0) + 47d8: 3301 movi r3, 1 + 47da: 90c0 ld.w r6, (r0, 0x0) + 47dc: 70d0 lsl r3, r4 + 47de: 6cd8 or r3, r6 + 47e0: b060 st.w r3, (r0, 0x0) + 47e2: 9801 ld.w r0, (r14, 0x4) + 47e4: 4461 lsli r3, r4, 1 + 47e6: 60c0 addu r3, r0 + 47e8: 8b00 ld.h r0, (r3, 0x0) + 47ea: 8a40 ld.h r2, (r2, 0x0) + 47ec: 7489 zexth r2, r2 + 47ee: 7403 sexth r0, r0 + 47f0: 2a04 subi r2, 5 + 47f2: 6481 cmplt r0, r2 + 47f4: 0803 bt 0x47fa // 47fa + 47f6: e800fdeb br 0x43cc // 43cc + 47fa: 10de lrw r6, 0x200006ba // 4870 + 47fc: 8b00 ld.h r0, (r3, 0x0) + 47fe: 8e40 ld.h r2, (r6, 0x0) + 4800: 7489 zexth r2, r2 + 4802: 7403 sexth r0, r0 + 4804: 2204 addi r2, 5 + 4806: 6409 cmplt r2, r0 + 4808: 0803 bt 0x480e // 480e + 480a: e800fde1 br 0x43cc // 43cc + 480e: 8b60 ld.h r3, (r3, 0x0) + 4810: 74cd zexth r3, r3 + 4812: ae60 st.h r3, (r6, 0x0) + 4814: 1049 lrw r2, 0x2000048c // 4838 + 4816: e800fd67 br 0x42e4 // 42e4 + 481a: 3d43 cmpnei r5, 3 + 481c: 0ad2 bt 0x45c0 // 45c0 + 481e: 8b20 ld.h r1, (r3, 0x0) + 4820: 10c5 lrw r6, 0x200007a8 // 4834 + 4822: 7487 sexth r2, r1 + 4824: 8e20 ld.h r1, (r6, 0x0) + 4826: 7445 zexth r1, r1 + 4828: 2109 addi r1, 10 + 482a: 6485 cmplt r1, r2 + 482c: 0c2f bf 0x488a // 488a + 482e: 0423 br 0x4874 // 4874 + 4830: 20000570 .long 0x20000570 + 4834: 200007a8 .long 0x200007a8 + 4838: 2000048c .long 0x2000048c + 483c: 20000516 .long 0x20000516 + 4840: 200006d8 .long 0x200006d8 + 4844: 20000574 .long 0x20000574 + 4848: 2000059e .long 0x2000059e + 484c: 2000069c .long 0x2000069c + 4850: 200006ee .long 0x200006ee + 4854: 20000680 .long 0x20000680 + 4858: 2000053a .long 0x2000053a + 485c: 2000047a .long 0x2000047a + 4860: 2000058c .long 0x2000058c + 4864: 200006b2 .long 0x200006b2 + 4868: 200004f8 .long 0x200004f8 + 486c: 200004bc .long 0x200004bc + 4870: 200006ba .long 0x200006ba + 4874: 8b60 ld.h r3, (r3, 0x0) + 4876: 74cd zexth r3, r3 + 4878: ae60 st.h r3, (r6, 0x0) + 487a: 9867 ld.w r3, (r14, 0x1c) + 487c: 113d lrw r1, 0x2000048c // 4970 + 487e: b160 st.w r3, (r1, 0x0) + 4880: 3301 movi r3, 1 + 4882: 9140 ld.w r2, (r1, 0x0) + 4884: 70d0 lsl r3, r4 + 4886: 6cc8 or r3, r2 + 4888: b160 st.w r3, (r1, 0x0) + 488a: 9841 ld.w r2, (r14, 0x4) + 488c: 4461 lsli r3, r4, 1 + 488e: 60c8 addu r3, r2 + 4890: 8b40 ld.h r2, (r3, 0x0) + 4892: 8e20 ld.h r1, (r6, 0x0) + 4894: 7445 zexth r1, r1 + 4896: 748b sexth r2, r2 + 4898: 2904 subi r1, 5 + 489a: 6449 cmplt r2, r1 + 489c: 0e92 bf 0x45c0 // 45c0 + 489e: 11d6 lrw r6, 0x200006ba // 4974 + 48a0: 8b20 ld.h r1, (r3, 0x0) + 48a2: 8e40 ld.h r2, (r6, 0x0) + 48a4: 7489 zexth r2, r2 + 48a6: 7447 sexth r1, r1 + 48a8: 2204 addi r2, 5 + 48aa: 6449 cmplt r2, r1 + 48ac: 0802 bt 0x48b0 // 48b0 + 48ae: 0689 br 0x45c0 // 45c0 + 48b0: 8b60 ld.h r3, (r3, 0x0) + 48b2: 74cd zexth r3, r3 + 48b4: ae60 st.h r3, (r6, 0x0) + 48b6: 114f lrw r2, 0x2000048c // 4970 + 48b8: 0662 br 0x457c // 457c + 48ba: 3d43 cmpnei r5, 3 + 48bc: 0a8e bt 0x45d8 // 45d8 + 48be: 114f lrw r2, 0x2000053a // 4978 + 48c0: 8bc0 ld.h r6, (r3, 0x0) + 48c2: 8a00 ld.h r0, (r2, 0x0) + 48c4: 7401 zexth r0, r0 + 48c6: 759b sexth r6, r6 + 48c8: 2009 addi r0, 10 + 48ca: 6581 cmplt r0, r6 + 48cc: 0c0c bf 0x48e4 // 48e4 + 48ce: 8b60 ld.h r3, (r3, 0x0) + 48d0: 74cd zexth r3, r3 + 48d2: aa60 st.h r3, (r2, 0x0) + 48d4: 3300 movi r3, 0 + 48d6: 110a lrw r0, 0x20000570 // 497c + 48d8: b060 st.w r3, (r0, 0x0) + 48da: 3301 movi r3, 1 + 48dc: 90c0 ld.w r6, (r0, 0x0) + 48de: 70d0 lsl r3, r4 + 48e0: 6cd8 or r3, r6 + 48e2: b060 st.w r3, (r0, 0x0) + 48e4: 9802 ld.w r0, (r14, 0x8) + 48e6: 4461 lsli r3, r4, 1 + 48e8: 60c0 addu r3, r0 + 48ea: 8b00 ld.h r0, (r3, 0x0) + 48ec: 8a40 ld.h r2, (r2, 0x0) + 48ee: 7489 zexth r2, r2 + 48f0: 7403 sexth r0, r0 + 48f2: 2a04 subi r2, 5 + 48f4: 6481 cmplt r0, r2 + 48f6: 0802 bt 0x48fa // 48fa + 48f8: 0670 br 0x45d8 // 45d8 + 48fa: 11c2 lrw r6, 0x20000600 // 4980 + 48fc: 8b00 ld.h r0, (r3, 0x0) + 48fe: 8e40 ld.h r2, (r6, 0x0) + 4900: 7489 zexth r2, r2 + 4902: 7403 sexth r0, r0 + 4904: 2204 addi r2, 5 + 4906: 6409 cmplt r2, r0 + 4908: 0802 bt 0x490c // 490c + 490a: 0667 br 0x45d8 // 45d8 + 490c: 8b60 ld.h r3, (r3, 0x0) + 490e: 74cd zexth r3, r3 + 4910: ae60 st.h r3, (r6, 0x0) + 4912: 105b lrw r2, 0x20000570 // 497c + 4914: e800fdea br 0x44e8 // 44e8 + 4918: 3d43 cmpnei r5, 3 + 491a: 0ae8 bt 0x46ea // 46ea + 491c: 10d7 lrw r6, 0x2000053a // 4978 + 491e: 8be0 ld.h r7, (r3, 0x0) + 4920: 8e20 ld.h r1, (r6, 0x0) + 4922: 7445 zexth r1, r1 + 4924: 75df sexth r7, r7 + 4926: 2109 addi r1, 10 + 4928: 65c5 cmplt r1, r7 + 492a: 0c0b bf 0x4940 // 4940 + 492c: 8b60 ld.h r3, (r3, 0x0) + 492e: 1034 lrw r1, 0x20000570 // 497c + 4930: 74cd zexth r3, r3 + 4932: ae60 st.h r3, (r6, 0x0) + 4934: b140 st.w r2, (r1, 0x0) + 4936: 3301 movi r3, 1 + 4938: 9140 ld.w r2, (r1, 0x0) + 493a: 70d0 lsl r3, r4 + 493c: 6cc8 or r3, r2 + 493e: b160 st.w r3, (r1, 0x0) + 4940: 9842 ld.w r2, (r14, 0x8) + 4942: 4461 lsli r3, r4, 1 + 4944: 60c8 addu r3, r2 + 4946: 8b40 ld.h r2, (r3, 0x0) + 4948: 8e20 ld.h r1, (r6, 0x0) + 494a: 7445 zexth r1, r1 + 494c: 748b sexth r2, r2 + 494e: 2904 subi r1, 5 + 4950: 6449 cmplt r2, r1 + 4952: 0ecc bf 0x46ea // 46ea + 4954: 10cb lrw r6, 0x20000600 // 4980 + 4956: 8b20 ld.h r1, (r3, 0x0) + 4958: 8e40 ld.h r2, (r6, 0x0) + 495a: 7489 zexth r2, r2 + 495c: 7447 sexth r1, r1 + 495e: 2204 addi r2, 5 + 4960: 6449 cmplt r2, r1 + 4962: 0ec4 bf 0x46ea // 46ea + 4964: 8b60 ld.h r3, (r3, 0x0) + 4966: 74cd zexth r3, r3 + 4968: ae60 st.h r3, (r6, 0x0) + 496a: 1045 lrw r2, 0x20000570 // 497c + 496c: 069f br 0x46aa // 46aa + 496e: 0000 bkpt + 4970: 2000048c .long 0x2000048c + 4974: 200006ba .long 0x200006ba + 4978: 2000053a .long 0x2000053a + 497c: 20000570 .long 0x20000570 + 4980: 20000600 .long 0x20000600 + +Disassembly of section .text.TK_overflow_predict: + +00004984 : + 4984: 14d4 push r4-r7, r15 + 4986: 1422 subi r14, r14, 8 + 4988: 113c lrw r1, 0x20000068 // 4a78 + 498a: 8167 ld.b r3, (r1, 0x7) + 498c: 3b41 cmpnei r3, 1 + 498e: 0823 bt 0x49d4 // 49d4 + 4990: 115b lrw r2, 0x2000067a // 4a7c + 4992: 8260 ld.b r3, (r2, 0x0) + 4994: 2300 addi r3, 1 + 4996: 74cc zextb r3, r3 + 4998: a260 st.b r3, (r2, 0x0) + 499a: 8260 ld.b r3, (r2, 0x0) + 499c: 1119 lrw r0, 0x2000017d // 4a80 + 499e: 8000 ld.b r0, (r0, 0x0) + 49a0: 64c0 cmphs r0, r3 + 49a2: 0819 bt 0x49d4 // 49d4 + 49a4: 3300 movi r3, 0 + 49a6: a260 st.b r3, (r2, 0x0) + 49a8: 11b7 lrw r5, 0x20000585 // 4a84 + 49aa: 8560 ld.b r3, (r5, 0x0) + 49ac: 3b40 cmpnei r3, 0 + 49ae: 0c15 bf 0x49d8 // 49d8 + 49b0: 8560 ld.b r3, (r5, 0x0) + 49b2: 3b41 cmpnei r3, 1 + 49b4: 0810 bt 0x49d4 // 49d4 + 49b6: 3300 movi r3, 0 + 49b8: a560 st.b r3, (r5, 0x0) + 49ba: 3200 movi r2, 0 + 49bc: 1173 lrw r3, 0x20000058 // 4a88 + 49be: 1114 lrw r0, 0x200006b4 // 4a8c + 49c0: 11b4 lrw r5, 0x20000704 // 4a90 + 49c2: 11d5 lrw r6, 0x2000015a // 4a94 + 49c4: 9360 ld.w r3, (r3, 0x0) + 49c6: b342 st.w r2, (r3, 0x8) + 49c8: 1174 lrw r3, 0x20000054 // 4a98 + 49ca: 9380 ld.w r4, (r3, 0x0) + 49cc: 3300 movi r3, 0 + 49ce: 8040 ld.b r2, (r0, 0x0) + 49d0: 648c cmphs r3, r2 + 49d2: 0c44 bf 0x4a5a // 4a5a + 49d4: 1402 addi r14, r14, 8 + 49d6: 1494 pop r4-r7, r15 + 49d8: 597e addi r3, r1, 8 + 49da: 3600 movi r6, 0 + 49dc: 11f0 lrw r7, 0x20000180 // 4a9c + 49de: b860 st.w r3, (r14, 0x0) + 49e0: 9760 ld.w r3, (r7, 0x0) + 49e2: 70d9 lsr r3, r6 + 49e4: 3201 movi r2, 1 + 49e6: 68c8 and r3, r2 + 49e8: 3b40 cmpnei r3, 0 + 49ea: 0c34 bf 0x4a52 // 4a52 + 49ec: 4681 lsli r4, r6, 1 + 49ee: 9860 ld.w r3, (r14, 0x0) + 49f0: 60d0 addu r3, r4 + 49f2: 8b00 ld.h r0, (r3, 0x0) + 49f4: e3ffe5d6 bsr 0x15a0 // 15a0 <__floatunsidf> + 49f8: 6cc7 mov r3, r1 + 49fa: 3180 movi r1, 128 + 49fc: 6c83 mov r2, r0 + 49fe: 4137 lsli r1, r1, 23 + 4a00: 3000 movi r0, 0 + 4a02: e3ffdbd9 bsr 0x1b4 // 1b4 <__GI_pow> + 4a06: 1167 lrw r3, 0x20000186 // 4aa0 + 4a08: 60d0 addu r3, r4 + 4a0a: 8b60 ld.h r3, (r3, 0x0) + 4a0c: 4364 lsli r3, r3, 4 + 4a0e: 230e addi r3, 15 + 4a10: b861 st.w r3, (r14, 0x4) + 4a12: e3ffe17f bsr 0xd10 // d10 <__fixunsdfsi> + 4a16: 9861 ld.w r3, (r14, 0x4) + 4a18: 7cc0 mult r3, r0 + 4a1a: 1143 lrw r2, 0x2000073a // 4aa4 + 4a1c: 740d zexth r0, r3 + 4a1e: 6090 addu r2, r4 + 4a20: 1162 lrw r3, 0x200007aa // 4aa8 + 4a22: 60d0 addu r3, r4 + 4a24: aa00 st.h r0, (r2, 0x0) + 4a26: 8b60 ld.h r3, (r3, 0x0) + 4a28: 8a00 ld.h r0, (r2, 0x0) + 4a2a: 7401 zexth r0, r0 + 4a2c: 325f movi r2, 95 + 4a2e: 74cd zexth r3, r3 + 4a30: 7c08 mult r0, r2 + 4a32: 3164 movi r1, 100 + 4a34: b861 st.w r3, (r14, 0x4) + 4a36: e3fff2b3 bsr 0x2f9c // 2f9c <__divsi3> + 4a3a: 9861 ld.w r3, (r14, 0x4) + 4a3c: 64c1 cmplt r0, r3 + 4a3e: 0c0a bf 0x4a52 // 4a52 + 4a40: 1075 lrw r3, 0x2000015a // 4a94 + 4a42: 610c addu r4, r3 + 4a44: 8c60 ld.h r3, (r4, 0x0) + 4a46: 3b06 cmphsi r3, 7 + 4a48: 0805 bt 0x4a52 // 4a52 + 4a4a: 2300 addi r3, 1 + 4a4c: ac60 st.h r3, (r4, 0x0) + 4a4e: 3301 movi r3, 1 + 4a50: a560 st.b r3, (r5, 0x0) + 4a52: 2600 addi r6, 1 + 4a54: 3e51 cmpnei r6, 17 + 4a56: 0bc5 bt 0x49e0 // 49e0 + 4a58: 07ac br 0x49b0 // 49b0 + 4a5a: 5d4c addu r2, r5, r3 + 4a5c: 8240 ld.b r2, (r2, 0x0) + 4a5e: 4241 lsli r2, r2, 1 + 4a60: 4322 lsli r1, r3, 2 + 4a62: 6098 addu r2, r6 + 4a64: 6050 addu r1, r4 + 4a66: 8a40 ld.h r2, (r2, 0x0) + 4a68: 91f2 ld.w r7, (r1, 0x48) + 4a6a: 4254 lsli r2, r2, 20 + 4a6c: 6c9c or r2, r7 + 4a6e: 2300 addi r3, 1 + 4a70: b152 st.w r2, (r1, 0x48) + 4a72: 74cc zextb r3, r3 + 4a74: 07ad br 0x49ce // 49ce + 4a76: 0000 bkpt + 4a78: 20000068 .long 0x20000068 + 4a7c: 2000067a .long 0x2000067a + 4a80: 2000017d .long 0x2000017d + 4a84: 20000585 .long 0x20000585 + 4a88: 20000058 .long 0x20000058 + 4a8c: 200006b4 .long 0x200006b4 + 4a90: 20000704 .long 0x20000704 + 4a94: 2000015a .long 0x2000015a + 4a98: 20000054 .long 0x20000054 + 4a9c: 20000180 .long 0x20000180 + 4aa0: 20000186 .long 0x20000186 + 4aa4: 2000073a .long 0x2000073a + 4aa8: 200007aa .long 0x200007aa + +Disassembly of section .text.TK_Baseline_tracking: + +00004aac : + 4aac: 14d4 push r4-r7, r15 + 4aae: 1421 subi r14, r14, 4 + 4ab0: 014a lrw r2, 0x200005f6 // 4e04 + 4ab2: 8260 ld.b r3, (r2, 0x0) + 4ab4: 2300 addi r3, 1 + 4ab6: 74cc zextb r3, r3 + 4ab8: a260 st.b r3, (r2, 0x0) + 4aba: 8260 ld.b r3, (r2, 0x0) + 4abc: 012c lrw r1, 0x2000017d // 4e08 + 4abe: 8120 ld.b r1, (r1, 0x0) + 4ac0: 644c cmphs r3, r1 + 4ac2: 0803 bt 0x4ac8 // 4ac8 + 4ac4: e800020f br 0x4ee2 // 4ee2 + 4ac8: 3300 movi r3, 0 + 4aca: a260 st.b r3, (r2, 0x0) + 4acc: 016f lrw r3, 0x200004f8 // 4e0c + 4ace: 9360 ld.w r3, (r3, 0x0) + 4ad0: 3b40 cmpnei r3, 0 + 4ad2: 0c03 bf 0x4ad8 // 4ad8 + 4ad4: e8000209 br 0x4ee6 // 4ee6 + 4ad8: 0171 lrw r3, 0x20000518 // 4e10 + 4ada: 0150 lrw r2, 0x200001aa // 4e14 + 4adc: 3100 movi r1, 0 + 4ade: b860 st.w r3, (r14, 0x0) + 4ae0: 6d0f mov r4, r3 + 4ae2: 0111 lrw r0, 0x20000458 // 4e18 + 4ae4: 4161 lsli r3, r1, 1 + 4ae6: 98a0 ld.w r5, (r14, 0x0) + 4ae8: 614c addu r5, r3 + 4aea: 8da0 ld.h r5, (r5, 0x0) + 4aec: 7557 sexth r5, r5 + 4aee: 3ddf btsti r5, 31 + 4af0: 0c1c bf 0x4b28 // 4b28 + 4af2: 01d4 lrw r6, 0x200007aa // 4e1c + 4af4: 58ac addu r5, r0, r3 + 4af6: 618c addu r6, r3 + 4af8: 8da0 ld.h r5, (r5, 0x0) + 4afa: 8ec0 ld.h r6, (r6, 0x0) + 4afc: 7599 zexth r6, r6 + 4afe: 7555 zexth r5, r5 + 4b00: 615a subu r5, r6 + 4b02: 8ac0 ld.h r6, (r2, 0x0) + 4b04: 6595 cmplt r5, r6 + 4b06: 0811 bt 0x4b28 // 4b28 + 4b08: 01b9 lrw r5, 0x200006bc // 4e20 + 4b0a: 6144 addu r5, r1 + 4b0c: 85c0 ld.b r6, (r5, 0x0) + 4b0e: 2600 addi r6, 1 + 4b10: 7598 zextb r6, r6 + 4b12: a5c0 st.b r6, (r5, 0x0) + 4b14: 01db lrw r6, 0x20000088 // 4e24 + 4b16: 85e0 ld.b r7, (r5, 0x0) + 4b18: 86ca ld.b r6, (r6, 0xa) + 4b1a: 65d8 cmphs r6, r7 + 4b1c: 0806 bt 0x4b28 // 4b28 + 4b1e: 01dc lrw r6, 0x20000564 // 4e28 + 4b20: 3701 movi r7, 1 + 4b22: a6e0 st.b r7, (r6, 0x0) + 4b24: 3600 movi r6, 0 + 4b26: a5c0 st.b r6, (r5, 0x0) + 4b28: 5cac addu r5, r4, r3 + 4b2a: 8da0 ld.h r5, (r5, 0x0) + 4b2c: 7557 sexth r5, r5 + 4b2e: 3d20 cmplti r5, 1 + 4b30: 081d bt 0x4b6a // 4b6a + 4b32: 02a4 lrw r5, 0x200007aa // 4e1c + 4b34: 614c addu r5, r3 + 4b36: 58cc addu r6, r0, r3 + 4b38: 8da0 ld.h r5, (r5, 0x0) + 4b3a: 8ec0 ld.h r6, (r6, 0x0) + 4b3c: 7599 zexth r6, r6 + 4b3e: 7555 zexth r5, r5 + 4b40: 615a subu r5, r6 + 4b42: 8ac0 ld.h r6, (r2, 0x0) + 4b44: 46c2 lsli r6, r6, 2 + 4b46: 6595 cmplt r5, r6 + 4b48: 0811 bt 0x4b6a // 4b6a + 4b4a: 02a6 lrw r5, 0x20000624 // 4e2c + 4b4c: 6144 addu r5, r1 + 4b4e: 85c0 ld.b r6, (r5, 0x0) + 4b50: 2600 addi r6, 1 + 4b52: 7598 zextb r6, r6 + 4b54: a5c0 st.b r6, (r5, 0x0) + 4b56: 02cb lrw r6, 0x20000088 // 4e24 + 4b58: 85e0 ld.b r7, (r5, 0x0) + 4b5a: 86cb ld.b r6, (r6, 0xb) + 4b5c: 65d8 cmphs r6, r7 + 4b5e: 0806 bt 0x4b6a // 4b6a + 4b60: 02cd lrw r6, 0x20000564 // 4e28 + 4b62: 3701 movi r7, 1 + 4b64: a6e0 st.b r7, (r6, 0x0) + 4b66: 3600 movi r6, 0 + 4b68: a5c0 st.b r6, (r5, 0x0) + 4b6a: 5cac addu r5, r4, r3 + 4b6c: 8da0 ld.h r5, (r5, 0x0) + 4b6e: 7557 sexth r5, r5 + 4b70: 3ddf btsti r5, 31 + 4b72: 0c10 bf 0x4b92 // 4b92 + 4b74: 02f5 lrw r7, 0x200007aa // 4e1c + 4b76: 58cc addu r6, r0, r3 + 4b78: 61cc addu r7, r3 + 4b7a: 8ea0 ld.h r5, (r6, 0x0) + 4b7c: 8fe0 ld.h r7, (r7, 0x0) + 4b7e: 75dd zexth r7, r7 + 4b80: 7555 zexth r5, r5 + 4b82: 615e subu r5, r7 + 4b84: 8ae0 ld.h r7, (r2, 0x0) + 4b86: 65d5 cmplt r5, r7 + 4b88: 0c05 bf 0x4b92 // 4b92 + 4b8a: 8ea0 ld.h r5, (r6, 0x0) + 4b8c: 2d00 subi r5, 1 + 4b8e: 7555 zexth r5, r5 + 4b90: aea0 st.h r5, (r6, 0x0) + 4b92: 5cac addu r5, r4, r3 + 4b94: 8da0 ld.h r5, (r5, 0x0) + 4b96: 7557 sexth r5, r5 + 4b98: 3ddf btsti r5, 31 + 4b9a: 0c11 bf 0x4bbc // 4bbc + 4b9c: 02ff lrw r7, 0x200007aa // 4e1c + 4b9e: 58cc addu r6, r0, r3 + 4ba0: 61cc addu r7, r3 + 4ba2: 8ea0 ld.h r5, (r6, 0x0) + 4ba4: 8fe0 ld.h r7, (r7, 0x0) + 4ba6: 75dd zexth r7, r7 + 4ba8: 7555 zexth r5, r5 + 4baa: 615e subu r5, r7 + 4bac: 8ae0 ld.h r7, (r2, 0x0) + 4bae: 4fe1 lsri r7, r7, 1 + 4bb0: 65d5 cmplt r5, r7 + 4bb2: 0805 bt 0x4bbc // 4bbc + 4bb4: 8ea0 ld.h r5, (r6, 0x0) + 4bb6: 2d01 subi r5, 2 + 4bb8: 7555 zexth r5, r5 + 4bba: aea0 st.h r5, (r6, 0x0) + 4bbc: 5ccc addu r6, r4, r3 + 4bbe: 8ea0 ld.h r5, (r6, 0x0) + 4bc0: 7557 sexth r5, r5 + 4bc2: 3d20 cmplti r5, 1 + 4bc4: 080c bt 0x4bdc // 4bdc + 4bc6: 8ec0 ld.h r6, (r6, 0x0) + 4bc8: 8aa0 ld.h r5, (r2, 0x0) + 4bca: 759b sexth r6, r6 + 4bcc: 4da1 lsri r5, r5, 1 + 4bce: 6559 cmplt r6, r5 + 4bd0: 0c06 bf 0x4bdc // 4bdc + 4bd2: 58cc addu r6, r0, r3 + 4bd4: 8ea0 ld.h r5, (r6, 0x0) + 4bd6: 2500 addi r5, 1 + 4bd8: 7555 zexth r5, r5 + 4bda: aea0 st.h r5, (r6, 0x0) + 4bdc: 5ccc addu r6, r4, r3 + 4bde: 8ea0 ld.h r5, (r6, 0x0) + 4be0: 7557 sexth r5, r5 + 4be2: 3d20 cmplti r5, 1 + 4be4: 0810 bt 0x4c04 // 4c04 + 4be6: 8ee0 ld.h r7, (r6, 0x0) + 4be8: 75df sexth r7, r7 + 4bea: 8aa0 ld.h r5, (r2, 0x0) + 4bec: 655d cmplt r7, r5 + 4bee: 0c0b bf 0x4c04 // 4c04 + 4bf0: 8ec0 ld.h r6, (r6, 0x0) + 4bf2: 759b sexth r6, r6 + 4bf4: 4da1 lsri r5, r5, 1 + 4bf6: 6559 cmplt r6, r5 + 4bf8: 0806 bt 0x4c04 // 4c04 + 4bfa: 60c0 addu r3, r0 + 4bfc: 8ba0 ld.h r5, (r3, 0x0) + 4bfe: 2501 addi r5, 2 + 4c00: 7555 zexth r5, r5 + 4c02: aba0 st.h r5, (r3, 0x0) + 4c04: 2100 addi r1, 1 + 4c06: 3951 cmpnei r1, 17 + 4c08: 2201 addi r2, 2 + 4c0a: 0b6d bt 0x4ae4 // 4ae4 + 4c0c: 0376 lrw r3, 0x2000048c // 4e30 + 4c0e: 9360 ld.w r3, (r3, 0x0) + 4c10: 3b40 cmpnei r3, 0 + 4c12: 0980 bt 0x4f12 // 4f12 + 4c14: 0377 lrw r3, 0x20000658 // 4e34 + 4c16: 035f lrw r2, 0x200001aa // 4e14 + 4c18: 3100 movi r1, 0 + 4c1a: b860 st.w r3, (r14, 0x0) + 4c1c: 6d0f mov r4, r3 + 4c1e: 0318 lrw r0, 0x20000602 // 4e38 + 4c20: 4161 lsli r3, r1, 1 + 4c22: 98a0 ld.w r5, (r14, 0x0) + 4c24: 614c addu r5, r3 + 4c26: 8da0 ld.h r5, (r5, 0x0) + 4c28: 7557 sexth r5, r5 + 4c2a: 3ddf btsti r5, 31 + 4c2c: 0c1c bf 0x4c64 // 4c64 + 4c2e: 03db lrw r6, 0x20000540 // 4e3c + 4c30: 58ac addu r5, r0, r3 + 4c32: 618c addu r6, r3 + 4c34: 8da0 ld.h r5, (r5, 0x0) + 4c36: 8ec0 ld.h r6, (r6, 0x0) + 4c38: 7599 zexth r6, r6 + 4c3a: 7555 zexth r5, r5 + 4c3c: 615a subu r5, r6 + 4c3e: 8ac0 ld.h r6, (r2, 0x0) + 4c40: 6595 cmplt r5, r6 + 4c42: 0811 bt 0x4c64 // 4c64 + 4c44: 13bf lrw r5, 0x2000069c // 4e40 + 4c46: 6144 addu r5, r1 + 4c48: 85c0 ld.b r6, (r5, 0x0) + 4c4a: 2600 addi r6, 1 + 4c4c: 7598 zextb r6, r6 + 4c4e: a5c0 st.b r6, (r5, 0x0) + 4c50: 13d5 lrw r6, 0x20000088 // 4e24 + 4c52: 85e0 ld.b r7, (r5, 0x0) + 4c54: 86ca ld.b r6, (r6, 0xa) + 4c56: 65d8 cmphs r6, r7 + 4c58: 0806 bt 0x4c64 // 4c64 + 4c5a: 13d4 lrw r6, 0x20000564 // 4e28 + 4c5c: 3701 movi r7, 1 + 4c5e: a6e1 st.b r7, (r6, 0x1) + 4c60: 3600 movi r6, 0 + 4c62: a5c0 st.b r6, (r5, 0x0) + 4c64: 5cac addu r5, r4, r3 + 4c66: 8da0 ld.h r5, (r5, 0x0) + 4c68: 7557 sexth r5, r5 + 4c6a: 3d20 cmplti r5, 1 + 4c6c: 081d bt 0x4ca6 // 4ca6 + 4c6e: 13b4 lrw r5, 0x20000540 // 4e3c + 4c70: 614c addu r5, r3 + 4c72: 58cc addu r6, r0, r3 + 4c74: 8da0 ld.h r5, (r5, 0x0) + 4c76: 8ec0 ld.h r6, (r6, 0x0) + 4c78: 7599 zexth r6, r6 + 4c7a: 7555 zexth r5, r5 + 4c7c: 615a subu r5, r6 + 4c7e: 8ac0 ld.h r6, (r2, 0x0) + 4c80: 46c2 lsli r6, r6, 2 + 4c82: 6595 cmplt r5, r6 + 4c84: 0811 bt 0x4ca6 // 4ca6 + 4c86: 13b0 lrw r5, 0x2000059e // 4e44 + 4c88: 6144 addu r5, r1 + 4c8a: 85c0 ld.b r6, (r5, 0x0) + 4c8c: 2600 addi r6, 1 + 4c8e: 7598 zextb r6, r6 + 4c90: a5c0 st.b r6, (r5, 0x0) + 4c92: 13c5 lrw r6, 0x20000088 // 4e24 + 4c94: 85e0 ld.b r7, (r5, 0x0) + 4c96: 86cb ld.b r6, (r6, 0xb) + 4c98: 65d8 cmphs r6, r7 + 4c9a: 0806 bt 0x4ca6 // 4ca6 + 4c9c: 13c3 lrw r6, 0x20000564 // 4e28 + 4c9e: 3701 movi r7, 1 + 4ca0: a6e1 st.b r7, (r6, 0x1) + 4ca2: 3600 movi r6, 0 + 4ca4: a5c0 st.b r6, (r5, 0x0) + 4ca6: 5cac addu r5, r4, r3 + 4ca8: 8da0 ld.h r5, (r5, 0x0) + 4caa: 7557 sexth r5, r5 + 4cac: 3ddf btsti r5, 31 + 4cae: 0c10 bf 0x4cce // 4cce + 4cb0: 13e3 lrw r7, 0x20000540 // 4e3c + 4cb2: 58cc addu r6, r0, r3 + 4cb4: 61cc addu r7, r3 + 4cb6: 8ea0 ld.h r5, (r6, 0x0) + 4cb8: 8fe0 ld.h r7, (r7, 0x0) + 4cba: 75dd zexth r7, r7 + 4cbc: 7555 zexth r5, r5 + 4cbe: 615e subu r5, r7 + 4cc0: 8ae0 ld.h r7, (r2, 0x0) + 4cc2: 65d5 cmplt r5, r7 + 4cc4: 0c05 bf 0x4cce // 4cce + 4cc6: 8ea0 ld.h r5, (r6, 0x0) + 4cc8: 2d00 subi r5, 1 + 4cca: 7555 zexth r5, r5 + 4ccc: aea0 st.h r5, (r6, 0x0) + 4cce: 5cac addu r5, r4, r3 + 4cd0: 8da0 ld.h r5, (r5, 0x0) + 4cd2: 7557 sexth r5, r5 + 4cd4: 3ddf btsti r5, 31 + 4cd6: 0c11 bf 0x4cf8 // 4cf8 + 4cd8: 12f9 lrw r7, 0x20000540 // 4e3c + 4cda: 58cc addu r6, r0, r3 + 4cdc: 61cc addu r7, r3 + 4cde: 8ea0 ld.h r5, (r6, 0x0) + 4ce0: 8fe0 ld.h r7, (r7, 0x0) + 4ce2: 75dd zexth r7, r7 + 4ce4: 7555 zexth r5, r5 + 4ce6: 615e subu r5, r7 + 4ce8: 8ae0 ld.h r7, (r2, 0x0) + 4cea: 4fe1 lsri r7, r7, 1 + 4cec: 65d5 cmplt r5, r7 + 4cee: 0805 bt 0x4cf8 // 4cf8 + 4cf0: 8ea0 ld.h r5, (r6, 0x0) + 4cf2: 2d01 subi r5, 2 + 4cf4: 7555 zexth r5, r5 + 4cf6: aea0 st.h r5, (r6, 0x0) + 4cf8: 5ccc addu r6, r4, r3 + 4cfa: 8ea0 ld.h r5, (r6, 0x0) + 4cfc: 7557 sexth r5, r5 + 4cfe: 3d20 cmplti r5, 1 + 4d00: 080c bt 0x4d18 // 4d18 + 4d02: 8ec0 ld.h r6, (r6, 0x0) + 4d04: 8aa0 ld.h r5, (r2, 0x0) + 4d06: 759b sexth r6, r6 + 4d08: 4da1 lsri r5, r5, 1 + 4d0a: 6559 cmplt r6, r5 + 4d0c: 0c06 bf 0x4d18 // 4d18 + 4d0e: 58cc addu r6, r0, r3 + 4d10: 8ea0 ld.h r5, (r6, 0x0) + 4d12: 2500 addi r5, 1 + 4d14: 7555 zexth r5, r5 + 4d16: aea0 st.h r5, (r6, 0x0) + 4d18: 5ccc addu r6, r4, r3 + 4d1a: 8ea0 ld.h r5, (r6, 0x0) + 4d1c: 7557 sexth r5, r5 + 4d1e: 3d20 cmplti r5, 1 + 4d20: 0810 bt 0x4d40 // 4d40 + 4d22: 8ee0 ld.h r7, (r6, 0x0) + 4d24: 75df sexth r7, r7 + 4d26: 8aa0 ld.h r5, (r2, 0x0) + 4d28: 655d cmplt r7, r5 + 4d2a: 0c0b bf 0x4d40 // 4d40 + 4d2c: 8ec0 ld.h r6, (r6, 0x0) + 4d2e: 759b sexth r6, r6 + 4d30: 4da1 lsri r5, r5, 1 + 4d32: 6559 cmplt r6, r5 + 4d34: 0806 bt 0x4d40 // 4d40 + 4d36: 60c0 addu r3, r0 + 4d38: 8ba0 ld.h r5, (r3, 0x0) + 4d3a: 2501 addi r5, 2 + 4d3c: 7555 zexth r5, r5 + 4d3e: aba0 st.h r5, (r3, 0x0) + 4d40: 2100 addi r1, 1 + 4d42: 3951 cmpnei r1, 17 + 4d44: 2201 addi r2, 2 + 4d46: 0b6d bt 0x4c20 // 4c20 + 4d48: 1260 lrw r3, 0x20000570 // 4e48 + 4d4a: 9360 ld.w r3, (r3, 0x0) + 4d4c: 3b40 cmpnei r3, 0 + 4d4e: 08f8 bt 0x4f3e // 4f3e + 4d50: 117f lrw r3, 0x20000784 // 4e4c + 4d52: 1151 lrw r2, 0x200001aa // 4e14 + 4d54: 3100 movi r1, 0 + 4d56: b860 st.w r3, (r14, 0x0) + 4d58: 6d0f mov r4, r3 + 4d5a: 111e lrw r0, 0x20000718 // 4e50 + 4d5c: 4161 lsli r3, r1, 1 + 4d5e: 98a0 ld.w r5, (r14, 0x0) + 4d60: 614c addu r5, r3 + 4d62: 8da0 ld.h r5, (r5, 0x0) + 4d64: 7557 sexth r5, r5 + 4d66: 3ddf btsti r5, 31 + 4d68: 0c1c bf 0x4da0 // 4da0 + 4d6a: 11db lrw r6, 0x20000636 // 4e54 + 4d6c: 58ac addu r5, r0, r3 + 4d6e: 618c addu r6, r3 + 4d70: 8da0 ld.h r5, (r5, 0x0) + 4d72: 8ec0 ld.h r6, (r6, 0x0) + 4d74: 7599 zexth r6, r6 + 4d76: 7555 zexth r5, r5 + 4d78: 615a subu r5, r6 + 4d7a: 8ac0 ld.h r6, (r2, 0x0) + 4d7c: 6595 cmplt r5, r6 + 4d7e: 0811 bt 0x4da0 // 4da0 + 4d80: 11b6 lrw r5, 0x2000058c // 4e58 + 4d82: 6144 addu r5, r1 + 4d84: 85c0 ld.b r6, (r5, 0x0) + 4d86: 2600 addi r6, 1 + 4d88: 7598 zextb r6, r6 + 4d8a: a5c0 st.b r6, (r5, 0x0) + 4d8c: 11c6 lrw r6, 0x20000088 // 4e24 + 4d8e: 85e0 ld.b r7, (r5, 0x0) + 4d90: 86ca ld.b r6, (r6, 0xa) + 4d92: 65d8 cmphs r6, r7 + 4d94: 0806 bt 0x4da0 // 4da0 + 4d96: 11c5 lrw r6, 0x20000564 // 4e28 + 4d98: 3701 movi r7, 1 + 4d9a: a6e2 st.b r7, (r6, 0x2) + 4d9c: 3600 movi r6, 0 + 4d9e: a5c0 st.b r6, (r5, 0x0) + 4da0: 5cac addu r5, r4, r3 + 4da2: 8da0 ld.h r5, (r5, 0x0) + 4da4: 7557 sexth r5, r5 + 4da6: 3d20 cmplti r5, 1 + 4da8: 081d bt 0x4de2 // 4de2 + 4daa: 11ab lrw r5, 0x20000636 // 4e54 + 4dac: 614c addu r5, r3 + 4dae: 58cc addu r6, r0, r3 + 4db0: 8da0 ld.h r5, (r5, 0x0) + 4db2: 8ec0 ld.h r6, (r6, 0x0) + 4db4: 7599 zexth r6, r6 + 4db6: 7555 zexth r5, r5 + 4db8: 615a subu r5, r6 + 4dba: 8ac0 ld.h r6, (r2, 0x0) + 4dbc: 46c2 lsli r6, r6, 2 + 4dbe: 6595 cmplt r5, r6 + 4dc0: 0811 bt 0x4de2 // 4de2 + 4dc2: 11a7 lrw r5, 0x2000047a // 4e5c + 4dc4: 6144 addu r5, r1 + 4dc6: 85c0 ld.b r6, (r5, 0x0) + 4dc8: 2600 addi r6, 1 + 4dca: 7598 zextb r6, r6 + 4dcc: a5c0 st.b r6, (r5, 0x0) + 4dce: 10d6 lrw r6, 0x20000088 // 4e24 + 4dd0: 85e0 ld.b r7, (r5, 0x0) + 4dd2: 86cb ld.b r6, (r6, 0xb) + 4dd4: 65d8 cmphs r6, r7 + 4dd6: 0806 bt 0x4de2 // 4de2 + 4dd8: 10d4 lrw r6, 0x20000564 // 4e28 + 4dda: 3701 movi r7, 1 + 4ddc: a6e2 st.b r7, (r6, 0x2) + 4dde: 3600 movi r6, 0 + 4de0: a5c0 st.b r6, (r5, 0x0) + 4de2: 5cac addu r5, r4, r3 + 4de4: 8da0 ld.h r5, (r5, 0x0) + 4de6: 7557 sexth r5, r5 + 4de8: 3ddf btsti r5, 31 + 4dea: 0c3f bf 0x4e68 // 4e68 + 4dec: 10fa lrw r7, 0x20000636 // 4e54 + 4dee: 58cc addu r6, r0, r3 + 4df0: 61cc addu r7, r3 + 4df2: 8ea0 ld.h r5, (r6, 0x0) + 4df4: 8fe0 ld.h r7, (r7, 0x0) + 4df6: 75dd zexth r7, r7 + 4df8: 7555 zexth r5, r5 + 4dfa: 615e subu r5, r7 + 4dfc: 8ae0 ld.h r7, (r2, 0x0) + 4dfe: 65d5 cmplt r5, r7 + 4e00: 0c34 bf 0x4e68 // 4e68 + 4e02: 042f br 0x4e60 // 4e60 + 4e04: 200005f6 .long 0x200005f6 + 4e08: 2000017d .long 0x2000017d + 4e0c: 200004f8 .long 0x200004f8 + 4e10: 20000518 .long 0x20000518 + 4e14: 200001aa .long 0x200001aa + 4e18: 20000458 .long 0x20000458 + 4e1c: 200007aa .long 0x200007aa + 4e20: 200006bc .long 0x200006bc + 4e24: 20000088 .long 0x20000088 + 4e28: 20000564 .long 0x20000564 + 4e2c: 20000624 .long 0x20000624 + 4e30: 2000048c .long 0x2000048c + 4e34: 20000658 .long 0x20000658 + 4e38: 20000602 .long 0x20000602 + 4e3c: 20000540 .long 0x20000540 + 4e40: 2000069c .long 0x2000069c + 4e44: 2000059e .long 0x2000059e + 4e48: 20000570 .long 0x20000570 + 4e4c: 20000784 .long 0x20000784 + 4e50: 20000718 .long 0x20000718 + 4e54: 20000636 .long 0x20000636 + 4e58: 2000058c .long 0x2000058c + 4e5c: 2000047a .long 0x2000047a + 4e60: 8ea0 ld.h r5, (r6, 0x0) + 4e62: 2d00 subi r5, 1 + 4e64: 7555 zexth r5, r5 + 4e66: aea0 st.h r5, (r6, 0x0) + 4e68: 5cac addu r5, r4, r3 + 4e6a: 8da0 ld.h r5, (r5, 0x0) + 4e6c: 7557 sexth r5, r5 + 4e6e: 3ddf btsti r5, 31 + 4e70: 0c11 bf 0x4e92 // 4e92 + 4e72: 11ff lrw r7, 0x20000636 // 4f6c + 4e74: 58cc addu r6, r0, r3 + 4e76: 61cc addu r7, r3 + 4e78: 8ea0 ld.h r5, (r6, 0x0) + 4e7a: 8fe0 ld.h r7, (r7, 0x0) + 4e7c: 75dd zexth r7, r7 + 4e7e: 7555 zexth r5, r5 + 4e80: 615e subu r5, r7 + 4e82: 8ae0 ld.h r7, (r2, 0x0) + 4e84: 4fe1 lsri r7, r7, 1 + 4e86: 65d5 cmplt r5, r7 + 4e88: 0805 bt 0x4e92 // 4e92 + 4e8a: 8ea0 ld.h r5, (r6, 0x0) + 4e8c: 2d01 subi r5, 2 + 4e8e: 7555 zexth r5, r5 + 4e90: aea0 st.h r5, (r6, 0x0) + 4e92: 5ccc addu r6, r4, r3 + 4e94: 8ea0 ld.h r5, (r6, 0x0) + 4e96: 7557 sexth r5, r5 + 4e98: 3d20 cmplti r5, 1 + 4e9a: 080c bt 0x4eb2 // 4eb2 + 4e9c: 8ec0 ld.h r6, (r6, 0x0) + 4e9e: 8aa0 ld.h r5, (r2, 0x0) + 4ea0: 759b sexth r6, r6 + 4ea2: 4da1 lsri r5, r5, 1 + 4ea4: 6559 cmplt r6, r5 + 4ea6: 0c06 bf 0x4eb2 // 4eb2 + 4ea8: 58cc addu r6, r0, r3 + 4eaa: 8ea0 ld.h r5, (r6, 0x0) + 4eac: 2500 addi r5, 1 + 4eae: 7555 zexth r5, r5 + 4eb0: aea0 st.h r5, (r6, 0x0) + 4eb2: 5ccc addu r6, r4, r3 + 4eb4: 8ea0 ld.h r5, (r6, 0x0) + 4eb6: 7557 sexth r5, r5 + 4eb8: 3d20 cmplti r5, 1 + 4eba: 0810 bt 0x4eda // 4eda + 4ebc: 8ee0 ld.h r7, (r6, 0x0) + 4ebe: 75df sexth r7, r7 + 4ec0: 8aa0 ld.h r5, (r2, 0x0) + 4ec2: 655d cmplt r7, r5 + 4ec4: 0c0b bf 0x4eda // 4eda + 4ec6: 8ec0 ld.h r6, (r6, 0x0) + 4ec8: 759b sexth r6, r6 + 4eca: 4da1 lsri r5, r5, 1 + 4ecc: 6559 cmplt r6, r5 + 4ece: 0806 bt 0x4eda // 4eda + 4ed0: 60c0 addu r3, r0 + 4ed2: 8ba0 ld.h r5, (r3, 0x0) + 4ed4: 2501 addi r5, 2 + 4ed6: 7555 zexth r5, r5 + 4ed8: aba0 st.h r5, (r3, 0x0) + 4eda: 2100 addi r1, 1 + 4edc: 3951 cmpnei r1, 17 + 4ede: 2201 addi r2, 2 + 4ee0: 0b3e bt 0x4d5c // 4d5c + 4ee2: 1401 addi r14, r14, 4 + 4ee4: 1494 pop r4-r7, r15 + 4ee6: e3fff8a7 bsr 0x4034 // 4034 + 4eea: 1162 lrw r3, 0x20000088 // 4f70 + 4eec: 836c ld.b r3, (r3, 0xc) + 4eee: 64c0 cmphs r0, r3 + 4ef0: 1141 lrw r2, 0x20000490 // 4f74 + 4ef2: 0c0e bf 0x4f0e // 4f0e + 4ef4: 8260 ld.b r3, (r2, 0x0) + 4ef6: 74cc zextb r3, r3 + 4ef8: 3b01 cmphsi r3, 2 + 4efa: 0c05 bf 0x4f04 // 4f04 + 4efc: 107f lrw r3, 0x20000564 // 4f78 + 4efe: 3201 movi r2, 1 + 4f00: a340 st.b r2, (r3, 0x0) + 4f02: 0685 br 0x4c0c // 4c0c + 4f04: 8260 ld.b r3, (r2, 0x0) + 4f06: 2300 addi r3, 1 + 4f08: 74cc zextb r3, r3 + 4f0a: a260 st.b r3, (r2, 0x0) + 4f0c: 0680 br 0x4c0c // 4c0c + 4f0e: 3300 movi r3, 0 + 4f10: 07fd br 0x4f0a // 4f0a + 4f12: e3fff8a5 bsr 0x405c // 405c + 4f16: 1077 lrw r3, 0x20000088 // 4f70 + 4f18: 836c ld.b r3, (r3, 0xc) + 4f1a: 64c0 cmphs r0, r3 + 4f1c: 1056 lrw r2, 0x20000490 // 4f74 + 4f1e: 0c0e bf 0x4f3a // 4f3a + 4f20: 8261 ld.b r3, (r2, 0x1) + 4f22: 74cc zextb r3, r3 + 4f24: 3b01 cmphsi r3, 2 + 4f26: 0c05 bf 0x4f30 // 4f30 + 4f28: 1074 lrw r3, 0x20000564 // 4f78 + 4f2a: 3201 movi r2, 1 + 4f2c: a341 st.b r2, (r3, 0x1) + 4f2e: 070d br 0x4d48 // 4d48 + 4f30: 8261 ld.b r3, (r2, 0x1) + 4f32: 2300 addi r3, 1 + 4f34: 74cc zextb r3, r3 + 4f36: a261 st.b r3, (r2, 0x1) + 4f38: 0708 br 0x4d48 // 4d48 + 4f3a: 3300 movi r3, 0 + 4f3c: 07fd br 0x4f36 // 4f36 + 4f3e: e3fff8a3 bsr 0x4084 // 4084 + 4f42: 106c lrw r3, 0x20000088 // 4f70 + 4f44: 836c ld.b r3, (r3, 0xc) + 4f46: 64c0 cmphs r0, r3 + 4f48: 104b lrw r2, 0x20000490 // 4f74 + 4f4a: 0c0e bf 0x4f66 // 4f66 + 4f4c: 8262 ld.b r3, (r2, 0x2) + 4f4e: 74cc zextb r3, r3 + 4f50: 3b01 cmphsi r3, 2 + 4f52: 0c05 bf 0x4f5c // 4f5c + 4f54: 1069 lrw r3, 0x20000564 // 4f78 + 4f56: 3201 movi r2, 1 + 4f58: a342 st.b r2, (r3, 0x2) + 4f5a: 07c4 br 0x4ee2 // 4ee2 + 4f5c: 8262 ld.b r3, (r2, 0x2) + 4f5e: 2300 addi r3, 1 + 4f60: 74cc zextb r3, r3 + 4f62: a262 st.b r3, (r2, 0x2) + 4f64: 07bf br 0x4ee2 // 4ee2 + 4f66: 3300 movi r3, 0 + 4f68: 07fd br 0x4f62 // 4f62 + 4f6a: 0000 bkpt + 4f6c: 20000636 .long 0x20000636 + 4f70: 20000088 .long 0x20000088 + 4f74: 20000490 .long 0x20000490 + 4f78: 20000564 .long 0x20000564 + +Disassembly of section .text.TK_result_prog: + +00004f7c : + 4f7c: 14d4 push r4-r7, r15 + 4f7e: 1424 subi r14, r14, 16 + 4f80: 111f lrw r0, 0x200004f8 // 507c + 4f82: 1220 lrw r1, 0x2000048c // 5080 + 4f84: 1240 lrw r2, 0x20000570 // 5084 + 4f86: b821 st.w r1, (r14, 0x4) + 4f88: 9060 ld.w r3, (r0, 0x0) + 4f8a: 91a0 ld.w r5, (r1, 0x0) + 4f8c: 6cd4 or r3, r5 + 4f8e: 9280 ld.w r4, (r2, 0x0) + 4f90: 6cd0 or r3, r4 + 4f92: 3b40 cmpnei r3, 0 + 4f94: b800 st.w r0, (r14, 0x0) + 4f96: b842 st.w r2, (r14, 0x8) + 4f98: 119c lrw r4, 0x200005f8 // 5088 + 4f9a: 0c67 bf 0x5068 // 5068 + 4f9c: 111c lrw r0, 0x200006d0 // 508c + 4f9e: 3500 movi r5, 0 + 4fa0: 117c lrw r3, 0x20000698 // 5090 + 4fa2: b803 st.w r0, (r14, 0xc) + 4fa4: 3201 movi r2, 1 + 4fa6: 7094 lsl r2, r5 + 4fa8: b040 st.w r2, (r0, 0x0) + 4faa: 9840 ld.w r2, (r14, 0x0) + 4fac: 9240 ld.w r2, (r2, 0x0) + 4fae: 9020 ld.w r1, (r0, 0x0) + 4fb0: 6884 and r2, r1 + 4fb2: b340 st.w r2, (r3, 0x0) + 4fb4: 9841 ld.w r2, (r14, 0x4) + 4fb6: 9240 ld.w r2, (r2, 0x0) + 4fb8: 9020 ld.w r1, (r0, 0x0) + 4fba: 6848 and r1, r2 + 4fbc: 1156 lrw r2, 0x2000075c // 5094 + 4fbe: b220 st.w r1, (r2, 0x0) + 4fc0: 9822 ld.w r1, (r14, 0x8) + 4fc2: 9120 ld.w r1, (r1, 0x0) + 4fc4: 90c0 ld.w r6, (r0, 0x0) + 4fc6: 6984 and r6, r1 + 4fc8: 1134 lrw r1, 0x200005fc // 5098 + 4fca: b1c0 st.w r6, (r1, 0x0) + 4fcc: 93e0 ld.w r7, (r3, 0x0) + 4fce: 92c0 ld.w r6, (r2, 0x0) + 4fd0: 659e cmpne r7, r6 + 4fd2: 0807 bt 0x4fe0 // 4fe0 + 4fd4: 92e0 ld.w r7, (r2, 0x0) + 4fd6: 91c0 ld.w r6, (r1, 0x0) + 4fd8: 659e cmpne r7, r6 + 4fda: 0803 bt 0x4fe0 // 4fe0 + 4fdc: 9340 ld.w r2, (r3, 0x0) + 4fde: 040c br 0x4ff6 // 4ff6 + 4fe0: 92c0 ld.w r6, (r2, 0x0) + 4fe2: 3e40 cmpnei r6, 0 + 4fe4: 0c29 bf 0x5036 // 5036 + 4fe6: 91c0 ld.w r6, (r1, 0x0) + 4fe8: 3e40 cmpnei r6, 0 + 4fea: 0c26 bf 0x5036 // 5036 + 4fec: 92e0 ld.w r7, (r2, 0x0) + 4fee: 91c0 ld.w r6, (r1, 0x0) + 4ff0: 659e cmpne r7, r6 + 4ff2: 0822 bt 0x5036 // 5036 + 4ff4: 9240 ld.w r2, (r2, 0x0) + 4ff6: 9420 ld.w r1, (r4, 0x0) + 4ff8: 6c84 or r2, r1 + 4ffa: 2500 addi r5, 1 + 4ffc: 3d51 cmpnei r5, 17 + 4ffe: b440 st.w r2, (r4, 0x0) + 5000: 0bd2 bt 0x4fa4 // 4fa4 + 5002: 9460 ld.w r3, (r4, 0x0) + 5004: 3b40 cmpnei r3, 0 + 5006: 1146 lrw r2, 0x20000700 // 509c + 5008: 0c32 bf 0x506c // 506c + 500a: 9420 ld.w r1, (r4, 0x0) + 500c: 9260 ld.w r3, (r2, 0x0) + 500e: 64c6 cmpne r1, r3 + 5010: 0c06 bf 0x501c // 501c + 5012: 9460 ld.w r3, (r4, 0x0) + 5014: b260 st.w r3, (r2, 0x0) + 5016: 3200 movi r2, 0 + 5018: 1162 lrw r3, 0x20000516 // 50a0 + 501a: a340 st.b r2, (r3, 0x0) + 501c: e3fff7f8 bsr 0x400c // 400c + 5020: 1161 lrw r3, 0x20000184 // 50a4 + 5022: 8360 ld.b r3, (r3, 0x0) + 5024: 640c cmphs r3, r0 + 5026: 0806 bt 0x5032 // 5032 + 5028: 3300 movi r3, 0 + 502a: b460 st.w r3, (r4, 0x0) + 502c: 3201 movi r2, 1 + 502e: 107d lrw r3, 0x20000516 // 50a0 + 5030: a340 st.b r2, (r3, 0x0) + 5032: 1404 addi r14, r14, 16 + 5034: 1494 pop r4-r7, r15 + 5036: 93c0 ld.w r6, (r3, 0x0) + 5038: 3e40 cmpnei r6, 0 + 503a: 0c08 bf 0x504a // 504a + 503c: 92c0 ld.w r6, (r2, 0x0) + 503e: 3e40 cmpnei r6, 0 + 5040: 0c05 bf 0x504a // 504a + 5042: 93c0 ld.w r6, (r3, 0x0) + 5044: 9240 ld.w r2, (r2, 0x0) + 5046: 649a cmpne r6, r2 + 5048: 0fca bf 0x4fdc // 4fdc + 504a: 9340 ld.w r2, (r3, 0x0) + 504c: 3a40 cmpnei r2, 0 + 504e: 0c08 bf 0x505e // 505e + 5050: 9140 ld.w r2, (r1, 0x0) + 5052: 3a40 cmpnei r2, 0 + 5054: 0c05 bf 0x505e // 505e + 5056: 9340 ld.w r2, (r3, 0x0) + 5058: 9120 ld.w r1, (r1, 0x0) + 505a: 644a cmpne r2, r1 + 505c: 0fc0 bf 0x4fdc // 4fdc + 505e: 9843 ld.w r2, (r14, 0xc) + 5060: 9220 ld.w r1, (r2, 0x0) + 5062: 9440 ld.w r2, (r4, 0x0) + 5064: 6885 andn r2, r1 + 5066: 07ca br 0x4ffa // 4ffa + 5068: b460 st.w r3, (r4, 0x0) + 506a: 07cc br 0x5002 // 5002 + 506c: b260 st.w r3, (r2, 0x0) + 506e: 3100 movi r1, 0 + 5070: 104c lrw r2, 0x20000516 // 50a0 + 5072: a220 st.b r1, (r2, 0x0) + 5074: 104d lrw r2, 0x200005f0 // 50a8 + 5076: b260 st.w r3, (r2, 0x0) + 5078: 07dd br 0x5032 // 5032 + 507a: 0000 bkpt + 507c: 200004f8 .long 0x200004f8 + 5080: 2000048c .long 0x2000048c + 5084: 20000570 .long 0x20000570 + 5088: 200005f8 .long 0x200005f8 + 508c: 200006d0 .long 0x200006d0 + 5090: 20000698 .long 0x20000698 + 5094: 2000075c .long 0x2000075c + 5098: 200005fc .long 0x200005fc + 509c: 20000700 .long 0x20000700 + 50a0: 20000516 .long 0x20000516 + 50a4: 20000184 .long 0x20000184 + 50a8: 200005f0 .long 0x200005f0 + +Disassembly of section .text.TKEYIntHandler: + +000050ac : + 50ac: 1460 nie + 50ae: 1462 ipush + 50b0: 14d1 push r4, r15 + 50b2: 1183 lrw r4, 0x20000068 // 513c + 50b4: 8460 ld.b r3, (r4, 0x0) + 50b6: 3b40 cmpnei r3, 0 + 50b8: 0815 bt 0x50e2 // 50e2 + 50ba: 3301 movi r3, 1 + 50bc: a460 st.b r3, (r4, 0x0) + 50be: 1161 lrw r3, 0x20000504 // 5140 + 50c0: 8360 ld.b r3, (r3, 0x0) + 50c2: 3b41 cmpnei r3, 1 + 50c4: 080f bt 0x50e2 // 50e2 + 50c6: 1140 lrw r2, 0x20000715 // 5144 + 50c8: 8260 ld.b r3, (r2, 0x0) + 50ca: 2300 addi r3, 1 + 50cc: 74cc zextb r3, r3 + 50ce: a260 st.b r3, (r2, 0x0) + 50d0: 8260 ld.b r3, (r2, 0x0) + 50d2: 3b43 cmpnei r3, 3 + 50d4: 0803 bt 0x50da // 50da + 50d6: 3300 movi r3, 0 + 50d8: a260 st.b r3, (r2, 0x0) + 50da: e3fff733 bsr 0x3f40 // 3f40 + 50de: 3301 movi r3, 1 + 50e0: a461 st.b r3, (r4, 0x1) + 50e2: 107a lrw r3, 0x20000058 // 5148 + 50e4: 3101 movi r1, 1 + 50e6: 9360 ld.w r3, (r3, 0x0) + 50e8: 934a ld.w r2, (r3, 0x28) + 50ea: 6884 and r2, r1 + 50ec: 3a40 cmpnei r2, 0 + 50ee: 0c02 bf 0x50f2 // 50f2 + 50f0: b32c st.w r1, (r3, 0x30) + 50f2: 934a ld.w r2, (r3, 0x28) + 50f4: 3102 movi r1, 2 + 50f6: 6884 and r2, r1 + 50f8: 3a40 cmpnei r2, 0 + 50fa: 0c02 bf 0x50fe // 50fe + 50fc: b32c st.w r1, (r3, 0x30) + 50fe: 934a ld.w r2, (r3, 0x28) + 5100: 3104 movi r1, 4 + 5102: 6884 and r2, r1 + 5104: 3a40 cmpnei r2, 0 + 5106: 0c02 bf 0x510a // 510a + 5108: b32c st.w r1, (r3, 0x30) + 510a: 934a ld.w r2, (r3, 0x28) + 510c: 3108 movi r1, 8 + 510e: 6884 and r2, r1 + 5110: 3a40 cmpnei r2, 0 + 5112: 0c02 bf 0x5116 // 5116 + 5114: b32c st.w r1, (r3, 0x30) + 5116: 934a ld.w r2, (r3, 0x28) + 5118: 3110 movi r1, 16 + 511a: 6884 and r2, r1 + 511c: 3a40 cmpnei r2, 0 + 511e: 0c02 bf 0x5122 // 5122 + 5120: b32c st.w r1, (r3, 0x30) + 5122: 934a ld.w r2, (r3, 0x28) + 5124: 3120 movi r1, 32 + 5126: 6884 and r2, r1 + 5128: 3a40 cmpnei r2, 0 + 512a: 0c02 bf 0x512e // 512e + 512c: b32c st.w r1, (r3, 0x30) + 512e: d9ee2001 ld.w r15, (r14, 0x4) + 5132: 9880 ld.w r4, (r14, 0x0) + 5134: 1402 addi r14, r14, 8 + 5136: 1463 ipop + 5138: 1461 nir + 513a: 0000 bkpt + 513c: 20000068 .long 0x20000068 + 5140: 20000504 .long 0x20000504 + 5144: 20000715 .long 0x20000715 + 5148: 20000058 .long 0x20000058 + +Disassembly of section .text.CORETHandler: + +0000514c : + 514c: 1460 nie + 514e: 1462 ipush + 5150: 14d3 push r4-r6, r15 + 5152: 1269 lrw r3, 0x20000064 // 5274 + 5154: 3400 movi r4, 0 + 5156: 9360 ld.w r3, (r3, 0x0) + 5158: b386 st.w r4, (r3, 0x18) + 515a: 1268 lrw r3, 0x20000504 // 5278 + 515c: 8360 ld.b r3, (r3, 0x0) + 515e: 3b41 cmpnei r3, 1 + 5160: 0840 bt 0x51e0 // 51e0 + 5162: e3fff7a5 bsr 0x40ac // 40ac + 5166: e3fff7d7 bsr 0x4114 // 4114 + 516a: e3fffc0d bsr 0x4984 // 4984 + 516e: e3fffc9f bsr 0x4aac // 4aac + 5172: e3fff653 bsr 0x3e18 // 3e18 + 5176: e3ffff03 bsr 0x4f7c // 4f7c + 517a: 1261 lrw r3, 0x200005f8 // 527c + 517c: 9360 ld.w r3, (r3, 0x0) + 517e: 3b40 cmpnei r3, 0 + 5180: 0c12 bf 0x51a4 // 51a4 + 5182: 1260 lrw r3, 0x20000154 // 5280 + 5184: 9340 ld.w r2, (r3, 0x0) + 5186: 3a40 cmpnei r2, 0 + 5188: 0c0e bf 0x51a4 // 51a4 + 518a: 117f lrw r3, 0x200005f0 // 5284 + 518c: 3064 movi r0, 100 + 518e: 9320 ld.w r1, (r3, 0x0) + 5190: 2100 addi r1, 1 + 5192: b320 st.w r1, (r3, 0x0) + 5194: 9320 ld.w r1, (r3, 0x0) + 5196: 7c80 mult r2, r0 + 5198: 6448 cmphs r2, r1 + 519a: 0805 bt 0x51a4 // 51a4 + 519c: 115b lrw r2, 0x2000059d // 5288 + 519e: 3101 movi r1, 1 + 51a0: a220 st.b r1, (r2, 0x0) + 51a2: b380 st.w r4, (r3, 0x0) + 51a4: 117a lrw r3, 0x2000014c // 528c + 51a6: 8340 ld.b r2, (r3, 0x0) + 51a8: 3a41 cmpnei r2, 1 + 51aa: 0823 bt 0x51f0 // 51f0 + 51ac: 1139 lrw r1, 0x200004f8 // 5290 + 51ae: 115a lrw r2, 0x2000048c // 5294 + 51b0: 9100 ld.w r0, (r1, 0x0) + 51b2: 9260 ld.w r3, (r2, 0x0) + 51b4: 64c2 cmpne r0, r3 + 51b6: 1179 lrw r3, 0x20000694 // 5298 + 51b8: 080a bt 0x51cc // 51cc + 51ba: 9280 ld.w r4, (r2, 0x0) + 51bc: 1158 lrw r2, 0x20000570 // 529c + 51be: 9200 ld.w r0, (r2, 0x0) + 51c0: 6412 cmpne r4, r0 + 51c2: 0805 bt 0x51cc // 51cc + 51c4: 9120 ld.w r1, (r1, 0x0) + 51c6: 9240 ld.w r2, (r2, 0x0) + 51c8: 6486 cmpne r1, r2 + 51ca: 0c09 bf 0x51dc // 51dc + 51cc: 9340 ld.w r2, (r3, 0x0) + 51ce: 2200 addi r2, 1 + 51d0: b340 st.w r2, (r3, 0x0) + 51d2: 1154 lrw r2, 0x20000088 // 52a0 + 51d4: 823c ld.b r1, (r2, 0x1c) + 51d6: 9340 ld.w r2, (r3, 0x0) + 51d8: 6484 cmphs r1, r2 + 51da: 0803 bt 0x51e0 // 51e0 + 51dc: 3200 movi r2, 0 + 51de: b340 st.w r2, (r3, 0x0) + 51e0: d9ee2003 ld.w r15, (r14, 0xc) + 51e4: 98c2 ld.w r6, (r14, 0x8) + 51e6: 98a1 ld.w r5, (r14, 0x4) + 51e8: 9880 ld.w r4, (r14, 0x0) + 51ea: 1404 addi r14, r14, 16 + 51ec: 1463 ipop + 51ee: 1461 nir + 51f0: 83a0 ld.b r5, (r3, 0x0) + 51f2: 7554 zextb r5, r5 + 51f4: 3d40 cmpnei r5, 0 + 51f6: 0bf5 bt 0x51e0 // 51e0 + 51f8: 1166 lrw r3, 0x200004f8 // 5290 + 51fa: 1147 lrw r2, 0x2000048c // 5294 + 51fc: 9300 ld.w r0, (r3, 0x0) + 51fe: 9220 ld.w r1, (r2, 0x0) + 5200: 6442 cmpne r0, r1 + 5202: 1127 lrw r1, 0x20000570 // 529c + 5204: 1105 lrw r0, 0x20000694 // 5298 + 5206: 0c33 bf 0x526c // 526c + 5208: 92c0 ld.w r6, (r2, 0x0) + 520a: 9180 ld.w r4, (r1, 0x0) + 520c: 651a cmpne r6, r4 + 520e: 0c2f bf 0x526c // 526c + 5210: 93c0 ld.w r6, (r3, 0x0) + 5212: 9180 ld.w r4, (r1, 0x0) + 5214: 651a cmpne r6, r4 + 5216: 0c2b bf 0x526c // 526c + 5218: 9080 ld.w r4, (r0, 0x0) + 521a: 2400 addi r4, 1 + 521c: b080 st.w r4, (r0, 0x0) + 521e: 1181 lrw r4, 0x20000088 // 52a0 + 5220: 84dc ld.b r6, (r4, 0x1c) + 5222: 9080 ld.w r4, (r0, 0x0) + 5224: 6518 cmphs r6, r4 + 5226: 0802 bt 0x522a // 522a + 5228: b0a0 st.w r5, (r0, 0x0) + 522a: 9380 ld.w r4, (r3, 0x0) + 522c: 9200 ld.w r0, (r2, 0x0) + 522e: 6412 cmpne r4, r0 + 5230: 101d lrw r0, 0x200006d4 // 52a4 + 5232: 0c04 bf 0x523a // 523a + 5234: 9180 ld.w r4, (r1, 0x0) + 5236: 3c40 cmpnei r4, 0 + 5238: 0c0f bf 0x5256 // 5256 + 523a: 93a0 ld.w r5, (r3, 0x0) + 523c: 9180 ld.w r4, (r1, 0x0) + 523e: 6516 cmpne r5, r4 + 5240: 0c04 bf 0x5248 // 5248 + 5242: 9280 ld.w r4, (r2, 0x0) + 5244: 3c40 cmpnei r4, 0 + 5246: 0c08 bf 0x5256 // 5256 + 5248: 9120 ld.w r1, (r1, 0x0) + 524a: 9240 ld.w r2, (r2, 0x0) + 524c: 6486 cmpne r1, r2 + 524e: 0c0c bf 0x5266 // 5266 + 5250: 9360 ld.w r3, (r3, 0x0) + 5252: 3b40 cmpnei r3, 0 + 5254: 0809 bt 0x5266 // 5266 + 5256: 9060 ld.w r3, (r0, 0x0) + 5258: 2300 addi r3, 1 + 525a: b060 st.w r3, (r0, 0x0) + 525c: 1071 lrw r3, 0x20000088 // 52a0 + 525e: 835c ld.b r2, (r3, 0x1c) + 5260: 9060 ld.w r3, (r0, 0x0) + 5262: 64c8 cmphs r2, r3 + 5264: 0bbe bt 0x51e0 // 51e0 + 5266: 3300 movi r3, 0 + 5268: b060 st.w r3, (r0, 0x0) + 526a: 07bb br 0x51e0 // 51e0 + 526c: 3400 movi r4, 0 + 526e: b080 st.w r4, (r0, 0x0) + 5270: 07dd br 0x522a // 522a + 5272: 0000 bkpt + 5274: 20000064 .long 0x20000064 + 5278: 20000504 .long 0x20000504 + 527c: 200005f8 .long 0x200005f8 + 5280: 20000154 .long 0x20000154 + 5284: 200005f0 .long 0x200005f0 + 5288: 2000059d .long 0x2000059d + 528c: 2000014c .long 0x2000014c + 5290: 200004f8 .long 0x200004f8 + 5294: 2000048c .long 0x2000048c + 5298: 20000694 .long 0x20000694 + 529c: 20000570 .long 0x20000570 + 52a0: 20000088 .long 0x20000088 + 52a4: 200006d4 .long 0x200006d4 + +Disassembly of section .text.std_clk_calib: + +000052a8 : + 52a8: 14d4 push r4-r7, r15 + 52aa: 142d subi r14, r14, 52 + 52ac: 3201 movi r2, 1 + 52ae: 03ce lrw r6, 0x2000005c // 54f0 + 52b0: 6cc3 mov r3, r0 + 52b2: dc4e000a st.b r2, (r14, 0xa) + 52b6: 9640 ld.w r2, (r6, 0x0) + 52b8: 9247 ld.w r2, (r2, 0x1c) + 52ba: 7488 zextb r2, r2 + 52bc: dc4e0009 st.b r2, (r14, 0x9) + 52c0: d84e0009 ld.b r2, (r14, 0x9) + 52c4: 3a40 cmpnei r2, 0 + 52c6: 0c08 bf 0x52d6 // 52d6 + 52c8: d84e0009 ld.b r2, (r14, 0x9) + 52cc: 3a42 cmpnei r2, 2 + 52ce: 0c04 bf 0x52d6 // 52d6 + 52d0: 3000 movi r0, 0 + 52d2: 140d addi r14, r14, 52 + 52d4: 1494 pop r4-r7, r15 + 52d6: 0397 lrw r4, 0x2000000c // 54f4 + 52d8: 3209 movi r2, 9 + 52da: 9400 ld.w r0, (r4, 0x0) + 52dc: 3b40 cmpnei r3, 0 + 52de: b041 st.w r2, (r0, 0x4) + 52e0: 0857 bt 0x538e // 538e + 52e2: 3307 movi r3, 7 + 52e4: dc6e000b st.b r3, (r14, 0xb) + 52e8: 037b lrw r3, 0x2dc6c00 // 54f8 + 52ea: b863 st.w r3, (r14, 0xc) + 52ec: 3380 movi r3, 128 + 52ee: 4362 lsli r3, r3, 2 + 52f0: b867 st.w r3, (r14, 0x1c) + 52f2: d86e000b ld.b r3, (r14, 0xb) + 52f6: 74cc zextb r3, r3 + 52f8: b062 st.w r3, (r0, 0x8) + 52fa: 037e lrw r3, 0xffff // 54fc + 52fc: b063 st.w r3, (r0, 0xc) + 52fe: 3201 movi r2, 1 + 5300: 3101 movi r1, 1 + 5302: 03bf lrw r5, 0x20000014 // 5500 + 5304: e3ffe746 bsr 0x2190 // 2190 + 5308: 95e0 ld.w r7, (r5, 0x0) + 530a: 137f lrw r3, 0xbe9c0005 // 5504 + 530c: b760 st.w r3, (r7, 0x0) + 530e: 135f lrw r2, 0x30010 // 5508 + 5310: 3300 movi r3, 0 + 5312: b762 st.w r3, (r7, 0x8) + 5314: b743 st.w r2, (r7, 0xc) + 5316: 32d8 movi r2, 216 + 5318: b745 st.w r2, (r7, 0x14) + 531a: 974f ld.w r2, (r7, 0x3c) + 531c: 3aa2 bseti r2, 2 + 531e: b74f st.w r2, (r7, 0x3c) + 5320: 9803 ld.w r0, (r14, 0xc) + 5322: d82e000b ld.b r1, (r14, 0xb) + 5326: 327d movi r2, 125 + 5328: 2100 addi r1, 1 + 532a: 7c48 mult r1, r2 + 532c: b861 st.w r3, (r14, 0x4) + 532e: e3ffee49 bsr 0x2fc0 // 2fc0 <__udivsi3> + 5332: b804 st.w r0, (r14, 0x10) + 5334: 32fa movi r2, 250 + 5336: 9824 ld.w r1, (r14, 0x10) + 5338: 4242 lsli r2, r2, 2 + 533a: 6448 cmphs r2, r1 + 533c: 0bca bt 0x52d0 // 52d0 + 533e: 9844 ld.w r2, (r14, 0x10) + 5340: 3178 movi r1, 120 + 5342: 9804 ld.w r0, (r14, 0x10) + 5344: b840 st.w r2, (r14, 0x0) + 5346: e3ffee3d bsr 0x2fc0 // 2fc0 <__udivsi3> + 534a: 9840 ld.w r2, (r14, 0x0) + 534c: 6082 subu r2, r0 + 534e: b845 st.w r2, (r14, 0x14) + 5350: 9804 ld.w r0, (r14, 0x10) + 5352: 3178 movi r1, 120 + 5354: 9844 ld.w r2, (r14, 0x10) + 5356: b840 st.w r2, (r14, 0x0) + 5358: e3ffee34 bsr 0x2fc0 // 2fc0 <__udivsi3> + 535c: 9840 ld.w r2, (r14, 0x0) + 535e: 6008 addu r0, r2 + 5360: b806 st.w r0, (r14, 0x18) + 5362: c0807020 psrclr ie + 5366: 9640 ld.w r2, (r6, 0x0) + 5368: 9254 ld.w r2, (r2, 0x50) + 536a: b848 st.w r2, (r14, 0x20) + 536c: 9861 ld.w r3, (r14, 0x4) + 536e: 9440 ld.w r2, (r4, 0x0) + 5370: b260 st.w r3, (r2, 0x0) + 5372: b761 st.w r3, (r7, 0x4) + 5374: d86e000a ld.b r3, (r14, 0xa) + 5378: 3b40 cmpnei r3, 0 + 537a: 083e bt 0x53f6 // 53f6 + 537c: e3ffe6bc bsr 0x20f4 // 20f4 + 5380: 9400 ld.w r0, (r4, 0x0) + 5382: e3ffe6dd bsr 0x213c // 213c + 5386: c1807420 psrset ee, ie + 538a: 3001 movi r0, 1 + 538c: 07a3 br 0x52d2 // 52d2 + 538e: 3b41 cmpnei r3, 1 + 5390: 0806 bt 0x539c // 539c + 5392: 3303 movi r3, 3 + 5394: dc6e000b st.b r3, (r14, 0xb) + 5398: 127d lrw r3, 0x16e3600 // 550c + 539a: 07a8 br 0x52ea // 52ea + 539c: 3b42 cmpnei r3, 2 + 539e: 0806 bt 0x53aa // 53aa + 53a0: 3301 movi r3, 1 + 53a2: dc6e000b st.b r3, (r14, 0xb) + 53a6: 127b lrw r3, 0xb71b00 // 5510 + 53a8: 07a1 br 0x52ea // 52ea + 53aa: 3b43 cmpnei r3, 3 + 53ac: 0806 bt 0x53b8 // 53b8 + 53ae: 3300 movi r3, 0 + 53b0: dc6e000b st.b r3, (r14, 0xb) + 53b4: 1278 lrw r3, 0x5b8d80 // 5514 + 53b6: 079a br 0x52ea // 52ea + 53b8: 3b44 cmpnei r3, 4 + 53ba: 0809 bt 0x53cc // 53cc + 53bc: 3300 movi r3, 0 + 53be: dc6e000b st.b r3, (r14, 0xb) + 53c2: 1276 lrw r3, 0x54c720 // 5518 + 53c4: b863 st.w r3, (r14, 0xc) + 53c6: 3380 movi r3, 128 + 53c8: 4369 lsli r3, r3, 9 + 53ca: 0793 br 0x52f0 // 52f0 + 53cc: 3b45 cmpnei r3, 5 + 53ce: 0806 bt 0x53da // 53da + 53d0: 3300 movi r3, 0 + 53d2: dc6e000b st.b r3, (r14, 0xb) + 53d6: 1272 lrw r3, 0x3ffed0 // 551c + 53d8: 07f6 br 0x53c4 // 53c4 + 53da: 3b46 cmpnei r3, 6 + 53dc: 0806 bt 0x53e8 // 53e8 + 53de: 3300 movi r3, 0 + 53e0: dc6e000b st.b r3, (r14, 0xb) + 53e4: 126f lrw r3, 0x1fff68 // 5520 + 53e6: 07ef br 0x53c4 // 53c4 + 53e8: 3b47 cmpnei r3, 7 + 53ea: 0b84 bt 0x52f2 // 52f2 + 53ec: 3300 movi r3, 0 + 53ee: dc6e000b st.b r3, (r14, 0xb) + 53f2: 126d lrw r3, 0x1ffb8 // 5524 + 53f4: 07e8 br 0x53c4 // 53c4 + 53f6: 9560 ld.w r3, (r5, 0x0) + 53f8: 3101 movi r1, 1 + 53fa: 9440 ld.w r2, (r4, 0x0) + 53fc: b321 st.w r1, (r3, 0x4) + 53fe: b220 st.w r1, (r2, 0x0) + 5400: 3100 movi r1, 0 + 5402: b327 st.w r1, (r3, 0x1c) + 5404: 3004 movi r0, 4 + 5406: b225 st.w r1, (r2, 0x14) + 5408: 932e ld.w r1, (r3, 0x38) + 540a: 6840 and r1, r0 + 540c: 3940 cmpnei r1, 0 + 540e: 0ffd bf 0x5408 // 5408 + 5410: 9225 ld.w r1, (r2, 0x14) + 5412: b82a st.w r1, (r14, 0x28) + 5414: 3100 movi r1, 0 + 5416: b310 st.w r0, (r3, 0x40) + 5418: b327 st.w r1, (r3, 0x1c) + 541a: 3004 movi r0, 4 + 541c: b225 st.w r1, (r2, 0x14) + 541e: 932e ld.w r1, (r3, 0x38) + 5420: 6840 and r1, r0 + 5422: 3940 cmpnei r1, 0 + 5424: 0ffd bf 0x541e // 541e + 5426: 9225 ld.w r1, (r2, 0x14) + 5428: b82b st.w r1, (r14, 0x2c) + 542a: 3100 movi r1, 0 + 542c: b310 st.w r0, (r3, 0x40) + 542e: b327 st.w r1, (r3, 0x1c) + 5430: 3004 movi r0, 4 + 5432: b225 st.w r1, (r2, 0x14) + 5434: 932e ld.w r1, (r3, 0x38) + 5436: 6840 and r1, r0 + 5438: 3940 cmpnei r1, 0 + 543a: 0ffd bf 0x5434 // 5434 + 543c: 9225 ld.w r1, (r2, 0x14) + 543e: b82c st.w r1, (r14, 0x30) + 5440: b310 st.w r0, (r3, 0x40) + 5442: 982b ld.w r1, (r14, 0x2c) + 5444: 980c ld.w r0, (r14, 0x30) + 5446: 6040 addu r1, r0 + 5448: b829 st.w r1, (r14, 0x24) + 544a: 9829 ld.w r1, (r14, 0x24) + 544c: 4921 lsri r1, r1, 1 + 544e: b829 st.w r1, (r14, 0x24) + 5450: 3100 movi r1, 0 + 5452: b321 st.w r1, (r3, 0x4) + 5454: b220 st.w r1, (r2, 0x0) + 5456: b327 st.w r1, (r3, 0x1c) + 5458: b225 st.w r1, (r2, 0x14) + 545a: d86e0009 ld.b r3, (r14, 0x9) + 545e: 3b42 cmpnei r3, 2 + 5460: 9849 ld.w r2, (r14, 0x24) + 5462: 082c bt 0x54ba // 54ba + 5464: 1171 lrw r3, 0x7ff // 5528 + 5466: 648c cmphs r3, r2 + 5468: 0c03 bf 0x546e // 546e + 546a: 3300 movi r3, 0 + 546c: 040f br 0x548a // 548a + 546e: 9849 ld.w r2, (r14, 0x24) + 5470: 9866 ld.w r3, (r14, 0x18) + 5472: 648c cmphs r3, r2 + 5474: 080e bt 0x5490 // 5490 + 5476: 9868 ld.w r3, (r14, 0x20) + 5478: 9847 ld.w r2, (r14, 0x1c) + 547a: 60ca subu r3, r2 + 547c: b868 st.w r3, (r14, 0x20) + 547e: 32fe movi r2, 254 + 5480: 9868 ld.w r3, (r14, 0x20) + 5482: 4248 lsli r2, r2, 8 + 5484: 68c8 and r3, r2 + 5486: 3b40 cmpnei r3, 0 + 5488: 0812 bt 0x54ac // 54ac + 548a: dc6e000a st.b r3, (r14, 0xa) + 548e: 0721 br 0x52d0 // 52d0 + 5490: 9849 ld.w r2, (r14, 0x24) + 5492: 9865 ld.w r3, (r14, 0x14) + 5494: 64c8 cmphs r2, r3 + 5496: 0829 bt 0x54e8 // 54e8 + 5498: 9868 ld.w r3, (r14, 0x20) + 549a: 9847 ld.w r2, (r14, 0x1c) + 549c: 60c8 addu r3, r2 + 549e: b868 st.w r3, (r14, 0x20) + 54a0: 33fe movi r3, 254 + 54a2: 9848 ld.w r2, (r14, 0x20) + 54a4: 4368 lsli r3, r3, 8 + 54a6: 688c and r2, r3 + 54a8: 64ca cmpne r2, r3 + 54aa: 0fe0 bf 0x546a // 546a + 54ac: 9660 ld.w r3, (r6, 0x0) + 54ae: 9848 ld.w r2, (r14, 0x20) + 54b0: b354 st.w r2, (r3, 0x50) + 54b2: 3001 movi r0, 1 + 54b4: e3ffe792 bsr 0x23d8 // 23d8 + 54b8: 075e br 0x5374 // 5374 + 54ba: 9866 ld.w r3, (r14, 0x18) + 54bc: 648c cmphs r3, r2 + 54be: 0809 bt 0x54d0 // 54d0 + 54c0: 9868 ld.w r3, (r14, 0x20) + 54c2: 9847 ld.w r2, (r14, 0x1c) + 54c4: 60ca subu r3, r2 + 54c6: b868 st.w r3, (r14, 0x20) + 54c8: 32ff movi r2, 255 + 54ca: 9868 ld.w r3, (r14, 0x20) + 54cc: 4250 lsli r2, r2, 16 + 54ce: 07db br 0x5484 // 5484 + 54d0: 9849 ld.w r2, (r14, 0x24) + 54d2: 9865 ld.w r3, (r14, 0x14) + 54d4: 64c8 cmphs r2, r3 + 54d6: 0809 bt 0x54e8 // 54e8 + 54d8: 9868 ld.w r3, (r14, 0x20) + 54da: 9847 ld.w r2, (r14, 0x1c) + 54dc: 60c8 addu r3, r2 + 54de: b868 st.w r3, (r14, 0x20) + 54e0: 33ff movi r3, 255 + 54e2: 9848 ld.w r2, (r14, 0x20) + 54e4: 4370 lsli r3, r3, 16 + 54e6: 07e0 br 0x54a6 // 54a6 + 54e8: 3300 movi r3, 0 + 54ea: dc6e000a st.b r3, (r14, 0xa) + 54ee: 07e2 br 0x54b2 // 54b2 + 54f0: 2000005c .long 0x2000005c + 54f4: 2000000c .long 0x2000000c + 54f8: 02dc6c00 .long 0x02dc6c00 + 54fc: 0000ffff .long 0x0000ffff + 5500: 20000014 .long 0x20000014 + 5504: be9c0005 .long 0xbe9c0005 + 5508: 00030010 .long 0x00030010 + 550c: 016e3600 .long 0x016e3600 + 5510: 00b71b00 .long 0x00b71b00 + 5514: 005b8d80 .long 0x005b8d80 + 5518: 0054c720 .long 0x0054c720 + 551c: 003ffed0 .long 0x003ffed0 + 5520: 001fff68 .long 0x001fff68 + 5524: 0001ffb8 .long 0x0001ffb8 + 5528: 000007ff .long 0x000007ff diff --git a/Source/Lst/T1_TC_ZH_V02_202602091700.map b/Source/Lst/T1_TC_ZH_V02_202602091700.map new file mode 100644 index 0000000..ec86051 --- /dev/null +++ b/Source/Lst/T1_TC_ZH_V02_202602091700.map @@ -0,0 +1,2281 @@ +ELF Header: + Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 + Class: ELF32 + Data: 2's complement, little endian + Version: 1 (current) + OS/ABI: UNIX - System V + ABI Version: 0 + Type: EXEC (Executable file) + Machine: CSKY + Version: 0x1 + Entry point address: 0x10c + Start of program headers: 52 (bytes into file) + Start of section headers: 345880 (bytes into file) + Flags: 0x21000000 + Size of this header: 52 (bytes) + Size of program headers: 32 (bytes) + Number of program headers: 2 + Size of section headers: 40 (bytes) + Number of section headers: 159 + Section header string table index: 156 + +Section Headers: + [Nr] Name Type Addr Off Size ES Flg Lk Inf Al + [ 0] NULL 00000000 000000 000000 00 0 0 0 + [ 1] .text PROGBITS 00000000 001000 001a50 00 AX 0 0 1024 + [ 2] .text.__main PROGBITS 00001a50 002a50 000038 00 AX 0 0 4 + [ 3] .text.SYSCON_Gene PROGBITS 00001a88 002a88 000074 00 AX 0 0 4 + [ 4] .text.SYSCON_RST_ PROGBITS 00001afc 002afc 00004c 00 AX 0 0 4 + [ 5] .text.SYSCON_Gene PROGBITS 00001b48 002b48 000030 00 AX 0 0 4 + [ 6] .text.SystemCLK_H PROGBITS 00001b78 002b78 000088 00 AX 0 0 4 + [ 7] .text.SYSCON_HFOS PROGBITS 00001c00 002c00 000028 00 AX 0 0 4 + [ 8] .text.SYSCON_WDT_ PROGBITS 00001c28 002c28 00003c 00 AX 0 0 4 + [ 9] .text.SYSCON_IWDC PROGBITS 00001c64 002c64 000014 00 AX 0 0 4 + [10] .text.SYSCON_IWDC PROGBITS 00001c78 002c78 000018 00 AX 0 0 4 + [11] .text.SYSCON_LVD_ PROGBITS 00001c90 002c90 000020 00 AX 0 0 4 + [12] .text.LVD_Int_Ena PROGBITS 00001cb0 002cb0 00001c 00 AX 0 0 4 + [13] .text.IWDT_Int_En PROGBITS 00001ccc 002ccc 00001c 00 AX 0 0 4 + [14] .text.EXTI_trigge PROGBITS 00001ce8 002ce8 000040 00 AX 0 0 4 + [15] .text.EXTI_interr PROGBITS 00001d28 002d28 000034 00 AX 0 0 4 + [16] .text.GPIO_EXTI_i PROGBITS 00001d5c 002d5c 000004 00 AX 0 0 2 + [17] .text.EXI3_Int_En PROGBITS 00001d60 002d60 000010 00 AX 0 0 4 + [18] .text.SYSCON_Int_ PROGBITS 00001d70 002d70 00000c 00 AX 0 0 4 + [19] .text.SYSCON_Int_ PROGBITS 00001d7c 002d7c 00000c 00 AX 0 0 4 + [20] .text.SYSCON_INT_ PROGBITS 00001d88 002d88 000024 00 AX 0 0 4 + [21] .text.Set_INT_Pri PROGBITS 00001dac 002dac 000030 00 AX 0 0 4 + [22] .text.GPIO_DeInit PROGBITS 00001ddc 002ddc 000064 00 AX 0 0 4 + [23] .text.GPIO_Init PROGBITS 00001e40 002e40 0000e0 00 AX 0 0 4 + [24] .text.GPIO_PullHi PROGBITS 00001f20 002f20 000014 00 AX 0 0 2 + [25] .text.GPIO_DriveS PROGBITS 00001f34 002f34 00000e 00 AX 0 0 2 + [26] .text.GPIO_IntGro PROGBITS 00001f44 002f44 00010c 00 AX 0 0 4 + [27] .text.GPIOB0_EXI_ PROGBITS 00002050 003050 00006c 00 AX 0 0 4 + [28] .text.GPIO_Write_ PROGBITS 000020bc 0030bc 000008 00 AX 0 0 2 + [29] .text.GPIO_Write_ PROGBITS 000020c4 0030c4 000008 00 AX 0 0 2 + [30] .text.GPIO_Revers PROGBITS 000020cc 0030cc 000016 00 AX 0 0 2 + [31] .text.GPIO_Read_S PROGBITS 000020e2 0030e2 000010 00 AX 0 0 2 + [32] .text.LPT_Soft_Re PROGBITS 000020f4 0030f4 000014 00 AX 0 0 4 + [33] .text.WWDT_CNT_Lo PROGBITS 00002108 003108 000010 00 AX 0 0 4 + [34] .text.BT_DeInit PROGBITS 00002118 003118 00001c 00 AX 0 0 2 + [35] .text.BT_Start PROGBITS 00002134 003134 000008 00 AX 0 0 2 + [36] .text.BT_Soft_Res PROGBITS 0000213c 00313c 00000a 00 AX 0 0 2 + [37] .text.BT_Configur PROGBITS 00002146 003146 000018 00 AX 0 0 2 + [38] .text.BT_ControlS PROGBITS 0000215e 00315e 00002c 00 AX 0 0 2 + [39] .text.BT_Period_C PROGBITS 0000218a 00318a 000006 00 AX 0 0 2 + [40] .text.BT_ConfigIn PROGBITS 00002190 003190 000012 00 AX 0 0 2 + [41] .text.BT1_INT_ENA PROGBITS 000021a4 0031a4 000010 00 AX 0 0 4 + [42] .text.UART0_DeIni PROGBITS 000021b4 0031b4 000018 00 AX 0 0 4 + [43] .text.UART1_DeIni PROGBITS 000021cc 0031cc 000018 00 AX 0 0 4 + [44] .text.UART2_DeIni PROGBITS 000021e4 0031e4 000018 00 AX 0 0 4 + [45] .text.UART1_Int_E PROGBITS 000021fc 0031fc 00001c 00 AX 0 0 4 + [46] .text.UART2_Int_E PROGBITS 00002218 003218 00001c 00 AX 0 0 4 + [47] .text.UART_IO_Ini PROGBITS 00002234 003234 0000ec 00 AX 0 0 4 + [48] .text.UARTInitRxT PROGBITS 00002320 003320 000010 00 AX 0 0 4 + [49] .text.UARTTransmi PROGBITS 00002330 003330 00001e 00 AX 0 0 2 + [50] .text.EPT_Stop PROGBITS 00002350 003350 000028 00 AX 0 0 4 + [51] .text.ReadDataArr PROGBITS 00002378 003378 00002a 00 AX 0 0 2 + [52] .text.startup.mai PROGBITS 000023a4 0033a4 000034 00 AX 0 0 4 + [53] .text.delay_nms PROGBITS 000023d8 0033d8 00002c 00 AX 0 0 2 + [54] .text.delay_nus PROGBITS 00002404 003404 000022 00 AX 0 0 2 + [55] .text.BT_CONFIG PROGBITS 00002428 003428 000060 00 AX 0 0 4 + [56] .text.SYSCON_CONF PROGBITS 00002488 003488 000062 00 AX 0 0 2 + [57] .text.APT32F102_i PROGBITS 000024ec 0034ec 000094 00 AX 0 0 4 + [58] .text.SYSCONIntHa PROGBITS 00002580 003580 0000f0 00 AX 0 0 4 + [59] .text.IFCIntHandl PROGBITS 00002670 003670 000068 00 AX 0 0 4 + [60] .text.ADCIntHandl PROGBITS 000026d8 0036d8 000068 00 AX 0 0 4 + [61] .text.EPT0IntHand PROGBITS 00002740 003740 0001ac 00 AX 0 0 4 + [62] .text.WWDTHandler PROGBITS 000028ec 0038ec 000034 00 AX 0 0 4 + [63] .text.GPT0IntHand PROGBITS 00002920 003920 000080 00 AX 0 0 4 + [64] .text.RTCIntHandl PROGBITS 000029a0 0039a0 000070 00 AX 0 0 4 + [65] .text.UART0IntHan PROGBITS 00002a10 003a10 000060 00 AX 0 0 4 + [66] .text.UART1IntHan PROGBITS 00002a70 003a70 000094 00 AX 0 0 4 + [67] .text.UART2IntHan PROGBITS 00002b04 003b04 000094 00 AX 0 0 4 + [68] .text.SPI0IntHand PROGBITS 00002b98 003b98 0000e8 00 AX 0 0 4 + [69] .text.SIO0IntHand PROGBITS 00002c80 003c80 000054 00 AX 0 0 4 + [70] .text.EXI0IntHand PROGBITS 00002cd4 003cd4 000030 00 AX 0 0 4 + [71] .text.EXI1IntHand PROGBITS 00002d04 003d04 000030 00 AX 0 0 4 + [72] .text.EXI2to3IntH PROGBITS 00002d34 003d34 000048 00 AX 0 0 4 + [73] .text.EXI4to9IntH PROGBITS 00002d7c 003d7c 00006c 00 AX 0 0 4 + [74] .text.EXI10to15In PROGBITS 00002de8 003de8 000060 00 AX 0 0 4 + [75] .text.LPTIntHandl PROGBITS 00002e48 003e48 000034 00 AX 0 0 4 + [76] .text.BT0IntHandl PROGBITS 00002e7c 003e7c 00004c 00 AX 0 0 4 + [77] .text.BT1IntHandl PROGBITS 00002ec8 003ec8 000070 00 AX 0 0 4 + [78] .text.PriviledgeV PROGBITS 00002f38 003f38 000002 00 AX 0 0 2 + [79] .text.PendTrapHan PROGBITS 00002f3a 003f3a 000008 00 AX 0 0 2 + [80] .text.Trap3Handle PROGBITS 00002f42 003f42 000008 00 AX 0 0 2 + [81] .text.Trap2Handle PROGBITS 00002f4a 003f4a 000008 00 AX 0 0 2 + [82] .text.Trap1Handle PROGBITS 00002f52 003f52 000008 00 AX 0 0 2 + [83] .text.Trap0Handle PROGBITS 00002f5a 003f5a 000008 00 AX 0 0 2 + [84] .text.UnrecExecpH PROGBITS 00002f62 003f62 000008 00 AX 0 0 2 + [85] .text.BreakPointH PROGBITS 00002f6a 003f6a 000008 00 AX 0 0 2 + [86] .text.AccessErrHa PROGBITS 00002f72 003f72 000008 00 AX 0 0 2 + [87] .text.IllegalInst PROGBITS 00002f7a 003f7a 000008 00 AX 0 0 2 + [88] .text.MisalignedH PROGBITS 00002f82 003f82 000008 00 AX 0 0 2 + [89] .text.CNTAIntHand PROGBITS 00002f8a 003f8a 000008 00 AX 0 0 2 + [90] .text.I2CIntHandl PROGBITS 00002f92 003f92 000008 00 AX 0 0 2 + [91] .text.__divsi3 PROGBITS 00002f9c 003f9c 000024 00 AX 0 0 4 + [92] .text.__udivsi3 PROGBITS 00002fc0 003fc0 000024 00 AX 0 0 4 + [93] .text.__umodsi3 PROGBITS 00002fe4 003fe4 000024 00 AX 0 0 4 + [94] .text.CK_CPU_EnAl PROGBITS 00003008 004008 000006 00 AX 0 0 2 + [95] .text.CK_CPU_DisA PROGBITS 0000300e 00400e 000006 00 AX 0 0 2 + [96] .text.UARTx_Init PROGBITS 00003014 004014 000158 00 AX 0 0 4 + [97] .text.UART0_RecvI PROGBITS 0000316c 00416c 000038 00 AX 0 0 4 + [98] .text.UART1_RecvI PROGBITS 000031a4 0041a4 000038 00 AX 0 0 4 + [99] .text.UART1_TASK PROGBITS 000031dc 0041dc 00006c 00 AX 0 0 4 + [100] .text.UART2_RecvI PROGBITS 00003248 004248 000044 00 AX 0 0 4 + [101] .text.UART2_TASK PROGBITS 0000328c 00428c 000078 00 AX 0 0 4 + [102] .text.Controller4 PROGBITS 00003304 004304 0000a8 00 AX 0 0 4 + [103] .text.BUS485_Send PROGBITS 000033ac 0043ac 0000c4 00 AX 0 0 4 + [104] .text.MultSend_Ta PROGBITS 00003470 004470 000074 00 AX 0 0 4 + [105] .text.Set_GroupSe PROGBITS 000034e4 0044e4 000064 00 AX 0 0 4 + [106] .text.BUS485Send_ PROGBITS 00003548 004548 000034 00 AX 0 0 4 + [107] .text.BusIdle_Tas PROGBITS 0000357c 00457c 000040 00 AX 0 0 4 + [108] .text.BusBusy_Tas PROGBITS 000035bc 0045bc 00005c 00 AX 0 0 4 + [109] .text.Dbg_Println PROGBITS 00003618 004618 00000c 00 AX 0 0 2 + [110] .text.EEPROM_Chec PROGBITS 00003624 004624 000016 00 AX 0 0 2 + [111] .text.EEPROM_Read PROGBITS 0000363c 00463c 000074 00 AX 0 0 4 + [112] .text.EEPROM_Vali PROGBITS 000036b0 0046b0 000030 00 AX 0 0 4 + [113] .text.EEPROM_Defa PROGBITS 000036e0 0046e0 000020 00 AX 0 0 2 + [114] .text.EEPROM_Init PROGBITS 00003700 004700 000054 00 AX 0 0 4 + [115] .text.TemCtrl_Ini PROGBITS 00003754 004754 000154 00 AX 0 0 4 + [116] .text.Ctrller_Ctr PROGBITS 000038a8 0048a8 0000b0 00 AX 0 0 4 + [117] .text.TemCtrl_Pro PROGBITS 00003958 004958 0000b0 00 AX 0 0 4 + [118] .text.Ctrller_Ctr PROGBITS 00003a08 004a08 000020 00 AX 0 0 4 + [119] .text.Ctrller_Rec PROGBITS 00003a28 004a28 0000a8 00 AX 0 0 4 + [120] .text.NetCRC16_Ch PROGBITS 00003ad0 004ad0 00004c 00 AX 0 0 4 + [121] .text.GetCRC16 PROGBITS 00003b1c 004b1c 00003c 00 AX 0 0 4 + [122] .text.Rs485AskCtr PROGBITS 00003b58 004b58 00005c 00 AX 0 0 4 + [123] .text.IrSend_Rs48 PROGBITS 00003bb4 004bb4 00010c 00 AX 0 0 4 + [124] .text.DIP_GetSwit PROGBITS 00003cc0 004cc0 000034 00 AX 0 0 4 + [125] .text.DIP_Switch_ PROGBITS 00003cf4 004cf4 00008c 00 AX 0 0 4 + [126] .text.DIP_ScanTas PROGBITS 00003d80 004d80 000098 00 AX 0 0 4 + [127] .text.TK_Single_L PROGBITS 00003e18 004e18 000128 00 AX 0 0 4 + [128] .text.TK_Sampling PROGBITS 00003f40 004f40 0000cc 00 AX 0 0 4 + [129] .text.get_key_num PROGBITS 0000400c 00500c 000028 00 AX 0 0 4 + [130] .text.get_key_num PROGBITS 00004034 005034 000028 00 AX 0 0 4 + [131] .text.get_key_num PROGBITS 0000405c 00505c 000028 00 AX 0 0 4 + [132] .text.get_key_num PROGBITS 00004084 005084 000028 00 AX 0 0 4 + [133] .text.TK_Scan_Sta PROGBITS 000040ac 0050ac 000068 00 AX 0 0 4 + [134] .text.TK_Keymap_p PROGBITS 00004114 005114 000870 00 AX 0 0 4 + [135] .text.TK_overflow PROGBITS 00004984 005984 000128 00 AX 0 0 4 + [136] .text.TK_Baseline PROGBITS 00004aac 005aac 0004d0 00 AX 0 0 4 + [137] .text.TK_result_p PROGBITS 00004f7c 005f7c 000130 00 AX 0 0 4 + [138] .text.TKEYIntHand PROGBITS 000050ac 0060ac 0000a0 00 AX 0 0 4 + [139] .text.CORETHandle PROGBITS 0000514c 00614c 00015c 00 AX 0 0 4 + [140] .text.std_clk_cal PROGBITS 000052a8 0062a8 000284 00 AX 0 0 4 + [141] .RomCode PROGBITS 0000552c 0070a8 000000 00 W 0 0 1 + [142] .rodata PROGBITS 0000552c 00652c 000240 00 A 0 0 4 + [143] .data PROGBITS 20000000 007000 0000a8 00 WA 0 0 4 + [144] .bss NOBITS 200000a8 0070a8 000728 00 WA 0 0 4 + [145] .csky.attributes CSKY_ATTRIBUTES 00000000 0070a8 000022 00 0 0 1 + [146] .comment PROGBITS 00000000 0070ca 000042 01 MS 0 0 1 + [147] .csky_stack_size PROGBITS 00000000 007110 0008bc 00 0 0 16 + [148] .debug_line PROGBITS 00000000 0079cc 003f5e 00 0 0 1 + [149] .debug_info PROGBITS 00000000 00b92a 031736 00 0 0 1 + [150] .debug_abbrev PROGBITS 00000000 03d060 002cfe 00 0 0 1 + [151] .debug_aranges PROGBITS 00000000 03fd60 000c90 00 0 0 8 + [152] .debug_ranges PROGBITS 00000000 0409f0 000b78 00 0 0 1 + [153] .debug_str PROGBITS 00000000 041568 008b4d 01 MS 0 0 1 + [154] .debug_frame PROGBITS 00000000 04a0b8 001d7c 00 0 0 4 + [155] .debug_loc PROGBITS 00000000 04be34 0026c8 00 0 0 1 + [156] .shstrtab STRTAB 00000000 053a35 000ce3 00 0 0 1 + [157] .symtab SYMTAB 00000000 04e4fc 003f50 10 158 668 4 + [158] .strtab STRTAB 00000000 05244c 0015e9 00 0 0 1 +Key to Flags: + W (write), A (alloc), X (execute), M (merge), S (strings), I (info), + L (link order), O (extra OS processing required), G (group), T (TLS), + C (compressed), x (unknown), o (OS specific), E (exclude), + p (processor specific) + +Program Headers: + Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align + LOAD 0x001000 0x00000000 0x00000000 0x0576c 0x0576c R E 0x1000 + LOAD 0x007000 0x20000000 0x0000576c 0x000a8 0x007d0 RW 0x1000 + + Section to Segment mapping: + Segment Sections... + 00 .text .text.__main .text.SYSCON_General_CMD.part.0 .text.SYSCON_RST_VALUE .text.SYSCON_General_CMD .text.SystemCLK_HCLKDIV_PCLKDIV_Config .text.SYSCON_HFOSC_SELECTE .text.SYSCON_WDT_CMD .text.SYSCON_IWDCNT_Reload .text.SYSCON_IWDCNT_Config .text.SYSCON_LVD_Config .text.LVD_Int_Enable .text.IWDT_Int_Enable .text.EXTI_trigger_CMD .text.EXTI_interrupt_CMD .text.GPIO_EXTI_interrupt .text.EXI3_Int_Enable .text.SYSCON_Int_Enable .text.SYSCON_Int_Disable .text.SYSCON_INT_Priority .text.Set_INT_Priority .text.GPIO_DeInit .text.GPIO_Init .text.GPIO_PullHigh_Init .text.GPIO_DriveStrength_EN .text.GPIO_IntGroup_Set .text.GPIOB0_EXI_Init .text.GPIO_Write_High .text.GPIO_Write_Low .text.GPIO_Reverse .text.GPIO_Read_Status .text.LPT_Soft_Reset .text.WWDT_CNT_Load .text.BT_DeInit .text.BT_Start .text.BT_Soft_Reset .text.BT_Configure .text.BT_ControlSet_Configure .text.BT_Period_CMP_Write .text.BT_ConfigInterrupt_CMD .text.BT1_INT_ENABLE .text.UART0_DeInit .text.UART1_DeInit .text.UART2_DeInit .text.UART1_Int_Enable .text.UART2_Int_Enable .text.UART_IO_Init .text.UARTInitRxTxIntEn .text.UARTTransmit .text.EPT_Stop .text.ReadDataArry_U8 .text.startup.main .text.delay_nms .text.delay_nus .text.BT_CONFIG .text.SYSCON_CONFIG .text.APT32F102_init .text.SYSCONIntHandler .text.IFCIntHandler .text.ADCIntHandler .text.EPT0IntHandler .text.WWDTHandler .text.GPT0IntHandler .text.RTCIntHandler .text.UART0IntHandler .text.UART1IntHandler .text.UART2IntHandler .text.SPI0IntHandler .text.SIO0IntHandler .text.EXI0IntHandler .text.EXI1IntHandler .text.EXI2to3IntHandler .text.EXI4to9IntHandler .text.EXI10to15IntHandler .text.LPTIntHandler .text.BT0IntHandler .text.BT1IntHandler .text.PriviledgeVioHandler .text.PendTrapHandler .text.Trap3Handler .text.Trap2Handler .text.Trap1Handler .text.Trap0Handler .text.UnrecExecpHandler .text.BreakPointHandler .text.AccessErrHandler .text.IllegalInstrHandler .text.MisalignedHandler .text.CNTAIntHandler .text.I2CIntHandler .text.__divsi3 .text.__udivsi3 .text.__umodsi3 .text.CK_CPU_EnAllNormalIrq .text.CK_CPU_DisAllNormalIrq .text.UARTx_Init .text.UART0_RecvINT_Processing .text.UART1_RecvINT_Processing .text.UART1_TASK .text.UART2_RecvINT_Processing .text.UART2_TASK .text.Controller485_SendData .text.BUS485_Send .text.MultSend_Task .text.Set_GroupSend .text.BUS485Send_Task .text.BusIdle_Task .text.BusBusy_Task .text.Dbg_Println .text.EEPROM_CheckSum .text.EEPROM_ReadParaInfo .text.EEPROM_Validate_ParaInfo .text.EEPROM_Default_ParaInfo .text.EEPROM_Init .text.TemCtrl_Init .text.Ctrller_Ctrl_AirState .text.TemCtrl_Pro .text.Ctrller_CtrlAirState_Processing .text.Ctrller_RecData_Processing .text.NetCRC16_Check .text.GetCRC16 .text.Rs485AskCtrlSend .text.IrSend_Rs485_Pro .text.DIP_GetSwitchState .text.DIP_Switch_Init .text.DIP_ScanTask .text.TK_Single_Longpress_prg .text.TK_Sampling_prog .text.get_key_number .text.get_key_number0 .text.get_key_number1 .text.get_key_number2 .text.TK_Scan_Start .text.TK_Keymap_prog .text.TK_overflow_predict .text.TK_Baseline_tracking .text.TK_result_prog .text.TKEYIntHandler .text.CORETHandler .text.std_clk_calib .rodata + 01 .data .bss +====================================================================== +Csky GNU Linker + +====================================================================== + +Section Cross References + + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_RST_VALUE) for SYSCON_RST_VALUE + Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_HFOSC_SELECTE) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_General_CMD) for SYSCON_General_CMD + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_General_CMD) for SYSCON_General_CMD + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SystemCLK_HCLKDIV_PCLKDIV_Config) for SystemCLK_HCLKDIV_PCLKDIV_Config + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_HFOSC_SELECTE) for SYSCON_HFOSC_SELECTE + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_WDT_CMD) for SYSCON_WDT_CMD + Obj/main.o(.text.startup.main) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_IWDCNT_Reload) for SYSCON_IWDCNT_Reload + Obj/mcu_initial.o(.text.delay_nms) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_IWDCNT_Reload) for SYSCON_IWDCNT_Reload + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_IWDCNT_Reload) for SYSCON_IWDCNT_Reload + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_IWDCNT_Config) for SYSCON_IWDCNT_Config + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_LVD_Config) for SYSCON_LVD_Config + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.LVD_Int_Enable) for LVD_Int_Enable + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.IWDT_Int_Enable) for IWDT_Int_Enable + Obj/mcu_interrupt.o(.text.EPT0IntHandler) refers to Obj/FWlib_apt32f102_syscon.o(.text.EXTI_trigger_CMD) for EXTI_trigger_CMD + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_syscon.o(.text.EXTI_trigger_CMD) for EXTI_trigger_CMD + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_syscon.o(.text.EXTI_interrupt_CMD) for EXTI_interrupt_CMD + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_syscon.o(.text.GPIO_EXTI_interrupt) for GPIO_EXTI_interrupt + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_syscon.o(.text.EXI3_Int_Enable) for EXI3_Int_Enable + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_Int_Enable) for SYSCON_Int_Enable + Obj/SYSTEM_uart.o(.text.UART1_TASK) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_Int_Enable) for SYSCON_Int_Enable + Obj/SYSTEM_uart.o(.text.UART2_TASK) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_Int_Enable) for SYSCON_Int_Enable + Obj/SYSTEM_uart.o(.text.UART1_TASK) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_Int_Disable) for SYSCON_Int_Disable + Obj/SYSTEM_uart.o(.text.UART2_TASK) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_Int_Disable) for SYSCON_Int_Disable + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/FWlib_apt32f102_syscon.o(.text.SYSCON_INT_Priority) for SYSCON_INT_Priority + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/FWlib_apt32f102_syscon.o(.text.Set_INT_Priority) for Set_INT_Priority + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_DeInit) for GPIO_DeInit + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Init) for GPIO_Init + Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Init) for GPIO_Init + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_PullHigh_Init) for GPIO_PullHigh_Init + Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_PullHigh_Init) for GPIO_PullHigh_Init + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_DriveStrength_EN) for GPIO_DriveStrength_EN + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_IntGroup_Set) for GPIO_IntGroup_Set + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIOB0_EXI_Init) for GPIOB0_EXI_Init + Obj/SYSTEM_uart.o(.text.Controller485_SendData) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Write_High) for GPIO_Write_High + Obj/SYSTEM_uart.o(.text.BUS485_Send) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Write_High) for GPIO_Write_High + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Write_Low) for GPIO_Write_Low + Obj/SYSTEM_uart.o(.text.Controller485_SendData) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Write_Low) for GPIO_Write_Low + Obj/SYSTEM_uart.o(.text.BUS485_Send) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Write_Low) for GPIO_Write_Low + Obj/SYSTEM_uart.o(.text.Controller485_SendData) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Reverse) for GPIO_Reverse + Obj/SYSTEM_uart.o(.text.BUS485_Send) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Reverse) for GPIO_Reverse + Obj/SYSTEM_uart.o(.text.BusBusy_Task) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Read_Status) for GPIO_Read_Status + Obj/SYSTEM_dip_switch.o(.text.DIP_GetSwitchState) refers to Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Read_Status) for GPIO_Read_Status + FWlib_apt32f102_clkcalib.o(.text.std_clk_calib) refers to Obj/FWlib_apt32f102_lpt.o(.text.LPT_Soft_Reset) for LPT_Soft_Reset + Obj/mcu_interrupt.o(.text.WWDTHandler) refers to Obj/FWlib_apt32f102_wwdt.o(.text.WWDT_CNT_Load) for WWDT_CNT_Load + Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT1_INT_ENABLE) for BT1_INT_ENABLE + Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_DeInit) for BT_DeInit + Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_Start) for BT_Start + FWlib_apt32f102_clkcalib.o(.text.std_clk_calib) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_Soft_Reset) for BT_Soft_Reset + Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_Configure) for BT_Configure + Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_ControlSet_Configure) for BT_ControlSet_Configure + Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_Period_CMP_Write) for BT_Period_CMP_Write + Obj/mcu_initial.o(.text.BT_CONFIG) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_ConfigInterrupt_CMD) for BT_ConfigInterrupt_CMD + FWlib_apt32f102_clkcalib.o(.text.std_clk_calib) refers to Obj/FWlib_apt32f102_bt.o(.text.BT_ConfigInterrupt_CMD) for BT_ConfigInterrupt_CMD + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_uart.o(.text.UART0_DeInit) for UART0_DeInit + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_uart.o(.text.UART1_DeInit) for UART1_DeInit + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_uart.o(.text.UART2_DeInit) for UART2_DeInit + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_uart.o(.text.UART1_Int_Enable) for UART1_Int_Enable + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_uart.o(.text.UART2_Int_Enable) for UART2_Int_Enable + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_uart.o(.text.UART_IO_Init) for UART_IO_Init + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to Obj/FWlib_apt32f102_uart.o(.text.UARTInitRxTxIntEn) for UARTInitRxTxIntEn + Obj/SYSTEM_uart.o(.text.Controller485_SendData) refers to Obj/FWlib_apt32f102_uart.o(.text.UARTTransmit) for UARTTransmit + Obj/SYSTEM_uart.o(.text.BUS485_Send) refers to Obj/FWlib_apt32f102_uart.o(.text.UARTTransmit) for UARTTransmit + Obj/mcu_interrupt.o(.text.EPT0IntHandler) refers to Obj/FWlib_apt32f102_ept.o(.text.EPT_Stop) for EPT_Stop + Obj/SYSTEM_eeprom.o(.text.EEPROM_ReadParaInfo) refers to Obj/FWlib_apt32f102_ifc.o(.text.ReadDataArry_U8) for ReadDataArry_U8 + Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) refers to Obj/mcu_initial.o(.text.delay_nms) for delay_nms + Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) refers to Obj/mcu_initial.o(.text.delay_nms) for delay_nms + FWlib_apt32f102_clkcalib.o(.text.std_clk_calib) refers to Obj/mcu_initial.o(.text.delay_nms) for delay_nms + Obj/SYSTEM_uart.o(.text.Controller485_SendData) refers to Obj/mcu_initial.o(.text.delay_nus) for delay_nus + Obj/SYSTEM_uart.o(.text.BUS485_Send) refers to Obj/mcu_initial.o(.text.delay_nus) for delay_nus + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/mcu_initial.o(.text.BT_CONFIG) for BT_CONFIG + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/mcu_initial.o(.text.SYSCON_CONFIG) for SYSCON_CONFIG + Obj/main.o(.text.startup.main) refers to Obj/mcu_initial.o(.text.APT32F102_init) for APT32F102_init + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Keymap_prog) refers to Obj/drivers_apt32f102.o(.text.__divsi3) for __divsi3 + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_overflow_predict) refers to Obj/drivers_apt32f102.o(.text.__divsi3) for __divsi3 + FWlib_apt32f102_clkcalib.o(.text.std_clk_calib) refers to Obj/drivers_apt32f102.o(.text.__udivsi3) for __udivsi3 + Obj/SYSTEM_uart.o(.text.BusBusy_Task) refers to Obj/drivers_apt32f102.o(.text.__umodsi3) for __umodsi3 + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_EnAllNormalIrq) for CK_CPU_EnAllNormalIrq + Obj/SYSTEM_uart.o(.text.Controller485_SendData) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_EnAllNormalIrq) for CK_CPU_EnAllNormalIrq + Obj/SYSTEM_uart.o(.text.BUS485_Send) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_EnAllNormalIrq) for CK_CPU_EnAllNormalIrq + Obj/SYSTEM_uart.o(.text.BusIdle_Task) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_EnAllNormalIrq) for CK_CPU_EnAllNormalIrq + Obj/SYSTEM_uart.o(.text.BusBusy_Task) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_EnAllNormalIrq) for CK_CPU_EnAllNormalIrq + Obj/SYSTEM_uart.o(.text.Controller485_SendData) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_DisAllNormalIrq) for CK_CPU_DisAllNormalIrq + Obj/SYSTEM_uart.o(.text.BUS485_Send) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_DisAllNormalIrq) for CK_CPU_DisAllNormalIrq + Obj/SYSTEM_uart.o(.text.BusIdle_Task) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_DisAllNormalIrq) for CK_CPU_DisAllNormalIrq + Obj/SYSTEM_uart.o(.text.BusBusy_Task) refers to Obj/drivers_apt32f102_ck801.o(.text.CK_CPU_DisAllNormalIrq) for CK_CPU_DisAllNormalIrq + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/SYSTEM_uart.o(.text.UARTx_Init) for UARTx_Init + Obj/mcu_interrupt.o(.text.UART0IntHandler) refers to Obj/SYSTEM_uart.o(.text.UART0_RecvINT_Processing) for UART0_RecvINT_Processing + Obj/mcu_interrupt.o(.text.UART1IntHandler) refers to Obj/SYSTEM_uart.o(.text.UART1_RecvINT_Processing) for UART1_RecvINT_Processing + Obj/main.o(.text.startup.main) refers to Obj/SYSTEM_uart.o(.text.UART1_TASK) for UART1_TASK + Obj/mcu_interrupt.o(.text.UART2IntHandler) refers to Obj/SYSTEM_uart.o(.text.UART2_RecvINT_Processing) for UART2_RecvINT_Processing + Obj/main.o(.text.startup.main) refers to Obj/SYSTEM_uart.o(.text.UART2_TASK) for UART2_TASK + Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_Ctrl_AirState) refers to Obj/SYSTEM_uart.o(.text.Controller485_SendData) for Controller485_SendData + Obj/SYSTEM_uart.o(.text.MultSend_Task) refers to Obj/SYSTEM_uart.o(.text.BUS485_Send) for BUS485_Send + Obj/SYSTEM_uart.o(.text.BUS485Send_Task) refers to Obj/SYSTEM_uart.o(.text.MultSend_Task) for MultSend_Task + Obj/SYSTEM_uart_protocol.o(.text.Rs485AskCtrlSend) refers to Obj/SYSTEM_uart.o(.text.Set_GroupSend) for Set_GroupSend + Obj/main.o(.text.startup.main) refers to Obj/SYSTEM_uart.o(.text.BUS485Send_Task) for BUS485Send_Task + Obj/mcu_interrupt.o(.text.BT1IntHandler) refers to Obj/SYSTEM_uart.o(.text.BusIdle_Task) for BusIdle_Task + Obj/mcu_interrupt.o(.text.EXI4to9IntHandler) refers to Obj/SYSTEM_uart.o(.text.BusBusy_Task) for BusBusy_Task + Obj/main.o(.text.startup.main) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println + Obj/SYSTEM_eeprom.o(.text.EEPROM_Validate_ParaInfo) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println + Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println + Obj/SYSTEM_tempctrl_unit.o(.text.TemCtrl_Init) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println + Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_RecData_Processing) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println + Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println + Obj/SYSTEM_dip_switch.o(.text.DIP_ScanTask) refers to Obj/SYSTEM_uart.o(.text.Dbg_Println) for Dbg_Println + Obj/SYSTEM_eeprom.o(.text.EEPROM_ReadParaInfo) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_CheckSum) for EEPROM_CheckSum + Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_Ctrl_AirState) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_CheckSum) for EEPROM_CheckSum + Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_RecData_Processing) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_CheckSum) for EEPROM_CheckSum + Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_ReadParaInfo) for EEPROM_ReadParaInfo + Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_Validate_ParaInfo) for EEPROM_Validate_ParaInfo + Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_Default_ParaInfo) for EEPROM_Default_ParaInfo + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) for EEPROM_Init + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/SYSTEM_tempctrl_unit.o(.text.TemCtrl_Init) for TemCtrl_Init + Obj/SYSTEM_tempctrl_unit.o(.text.TemCtrl_Pro) refers to Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_Ctrl_AirState) for Ctrller_Ctrl_AirState + Obj/main.o(.text.startup.main) refers to Obj/SYSTEM_tempctrl_unit.o(.text.TemCtrl_Pro) for TemCtrl_Pro + Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_RecData_Processing) refers to Obj/SYSTEM_tempctrl_unit.o(.text.Ctrller_CtrlAirState_Processing) for Ctrller_CtrlAirState_Processing + Obj/SYSTEM_uart_protocol.o(.text.Rs485AskCtrlSend) refers to Obj/SYSTEM_uart_protocol.o(.text.NetCRC16_Check) for NetCRC16_Check + Obj/SYSTEM_uart_protocol.o(.text.IrSend_Rs485_Pro) refers to Obj/SYSTEM_uart_protocol.o(.text.GetCRC16) for GetCRC16 + Obj/SYSTEM_uart_protocol.o(.text.IrSend_Rs485_Pro) refers to Obj/SYSTEM_uart_protocol.o(.text.Rs485AskCtrlSend) for Rs485AskCtrlSend + Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) refers to Obj/SYSTEM_dip_switch.o(.text.DIP_GetSwitchState) for DIP_GetSwitchState + Obj/SYSTEM_dip_switch.o(.text.DIP_ScanTask) refers to Obj/SYSTEM_dip_switch.o(.text.DIP_GetSwitchState) for DIP_GetSwitchState + Obj/mcu_initial.o(.text.APT32F102_init) refers to Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) for DIP_Switch_Init + Obj/main.o(.text.startup.main) refers to Obj/SYSTEM_dip_switch.o(.text.DIP_ScanTask) for DIP_ScanTask + FWlib_apt32f102_tkey_f_1_18.o(.text.CORETHandler) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Single_Longpress_prg) for TK_Single_Longpress_prg + FWlib_apt32f102_tkey_f_1_18.o(.text.TKEYIntHandler) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Sampling_prog) for TK_Sampling_prog + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_result_prog) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.get_key_number) for get_key_number + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Baseline_tracking) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.get_key_number0) for get_key_number0 + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Baseline_tracking) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.get_key_number1) for get_key_number1 + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Baseline_tracking) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.get_key_number2) for get_key_number2 + FWlib_apt32f102_tkey_f_1_18.o(.text.CORETHandler) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Scan_Start) for TK_Scan_Start + FWlib_apt32f102_tkey_f_1_18.o(.text.CORETHandler) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Keymap_prog) for TK_Keymap_prog + FWlib_apt32f102_tkey_f_1_18.o(.text.CORETHandler) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.TK_overflow_predict) for TK_overflow_predict + FWlib_apt32f102_tkey_f_1_18.o(.text.CORETHandler) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.TK_Baseline_tracking) for TK_Baseline_tracking + FWlib_apt32f102_tkey_f_1_18.o(.text.CORETHandler) refers to FWlib_apt32f102_tkey_f_1_18.o(.text.TK_result_prog) for TK_result_prog + Obj/mcu_initial.o(.text.SYSCON_CONFIG) refers to FWlib_apt32f102_clkcalib.o(.text.std_clk_calib) for std_clk_calib + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_overflow_predict) refers to pow.o(.text) for pow + pow.o(.text) refers to fabs.o(.text) for fabs + pow.o(.text) refers to scalbn.o(.text) for scalbn + pow.o(.text) refers to sqrt.o(.text) for sqrt + Obj/FWlib_apt32f102_gpio.o(.text.GPIO_Init) refers to _csky_case_uqi.o(.text) for ___gnu_csky_case_uqi + Obj/FWlib_apt32f102_gpio.o(.text.GPIOB0_EXI_Init) refers to _csky_case_uqi.o(.text) for ___gnu_csky_case_uqi + Obj/SYSTEM_uart_protocol.o(.text.IrSend_Rs485_Pro) refers to _csky_case_uqi.o(.text) for ___gnu_csky_case_uqi + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_overflow_predict) refers to _fixunsdfsi.o(.text) for __fixunsdfsi + pow.o(.text) refers to _addsub_df.o(.text) for __adddf3 + sqrt.o(.text) refers to _addsub_df.o(.text) for __adddf3 + pow.o(.text) refers to _addsub_df.o(.text) for __subdf3 + sqrt.o(.text) refers to _addsub_df.o(.text) for __subdf3 + _fixunsdfsi.o(.text) refers to _addsub_df.o(.text) for __subdf3 + pow.o(.text) refers to _mul_df.o(.text) for __muldf3 + sqrt.o(.text) refers to _mul_df.o(.text) for __muldf3 + pow.o(.text) refers to _div_df.o(.text) for __divdf3 + sqrt.o(.text) refers to _div_df.o(.text) for __divdf3 + pow.o(.text) refers to _gt_df.o(.text) for __gtdf2 + _fixunsdfsi.o(.text) refers to _ge_df.o(.text) for __gedf2 + pow.o(.text) refers to _le_df.o(.text) for __ledf2 + pow.o(.text) refers to _si_to_df.o(.text) for __floatsidf + _fixunsdfsi.o(.text) refers to _df_to_si.o(.text) for __fixdfsi + FWlib_apt32f102_tkey_f_1_18.o(.text.TK_overflow_predict) refers to _usi_to_df.o(.text) for __floatunsidf + _mul_df.o(.text) refers to _muldi3.o(.text) for __muldi3 + _si_to_df.o(.text) refers to _clzsi2.o(.text) for __clzsi2 + _usi_to_df.o(.text) refers to _clzsi2.o(.text) for __clzsi2 + _addsub_df.o(.text) refers to _pack_df.o(.text) for __pack_d + _addsub_df.o(.text) refers to _pack_df.o(.text) for __pack_d + _mul_df.o(.text) refers to _pack_df.o(.text) for __pack_d + _div_df.o(.text) refers to _pack_df.o(.text) for __pack_d + _si_to_df.o(.text) refers to _pack_df.o(.text) for __pack_d + _usi_to_df.o(.text) refers to _pack_df.o(.text) for __pack_d + _addsub_df.o(.text) refers to _unpack_df.o(.text) for __unpack_d + _addsub_df.o(.text) refers to _unpack_df.o(.text) for __unpack_d + _mul_df.o(.text) refers to _unpack_df.o(.text) for __unpack_d + _div_df.o(.text) refers to _unpack_df.o(.text) for __unpack_d + _gt_df.o(.text) refers to _unpack_df.o(.text) for __unpack_d + _ge_df.o(.text) refers to _unpack_df.o(.text) for __unpack_d + _le_df.o(.text) refers to _unpack_df.o(.text) for __unpack_d + _df_to_si.o(.text) refers to _unpack_df.o(.text) for __unpack_d + _gt_df.o(.text) refers to _fpcmp_parts_df.o(.text) for __fpcmp_parts_d + _ge_df.o(.text) refers to _fpcmp_parts_df.o(.text) for __fpcmp_parts_d + _le_df.o(.text) refers to _fpcmp_parts_df.o(.text) for __fpcmp_parts_d + Obj/arch_mem_init.o(.text.__main) refers to memset_fast.o(.text) for memset + Obj/SYSTEM_uart.o(.text.UARTx_Init) refers to memset_fast.o(.text) for memset + Obj/SYSTEM_uart.o(.text.UART1_TASK) refers to memset_fast.o(.text) for memset + Obj/SYSTEM_uart.o(.text.UART2_TASK) refers to memset_fast.o(.text) for memset + Obj/SYSTEM_uart.o(.text.Set_GroupSend) refers to memset_fast.o(.text) for memset + Obj/SYSTEM_eeprom.o(.text.EEPROM_ReadParaInfo) refers to memset_fast.o(.text) for memset + Obj/SYSTEM_eeprom.o(.text.EEPROM_Init) refers to memset_fast.o(.text) for memset + Obj/SYSTEM_tempctrl_unit.o(.text.TemCtrl_Init) refers to memset_fast.o(.text) for memset + Obj/SYSTEM_dip_switch.o(.text.DIP_Switch_Init) refers to memset_fast.o(.text) for memset + Obj/arch_mem_init.o(.text.__main) refers to memcpy_fast.o(.text) for memcpy + Obj/SYSTEM_uart.o(.text.UART1_TASK) refers to memcpy_fast.o(.text) for memcpy + Obj/SYSTEM_uart.o(.text.UART2_TASK) refers to memcpy_fast.o(.text) for memcpy + Obj/SYSTEM_uart.o(.text.Set_GroupSend) refers to memcpy_fast.o(.text) for memcpy + Obj/SYSTEM_eeprom.o(.text.EEPROM_ReadParaInfo) refers to memcpy_fast.o(.text) for memcpy + + +====================================================================== + +Removing Unused input sections from the image. + + Removing .data(Obj/arch_crt0.o), (4 bytes). + Removing .bss(Obj/arch_crt0.o), (0 bytes). + Removing .text(Obj/arch_mem_init.o), (0 bytes). + Removing .data(Obj/arch_mem_init.o), (0 bytes). + Removing .bss(Obj/arch_mem_init.o), (0 bytes). + Removing .text(Obj/arch_apt32f102_iostring.o), (0 bytes). + Removing .data(Obj/arch_apt32f102_iostring.o), (0 bytes). + Removing .bss(Obj/arch_apt32f102_iostring.o), (0 bytes). + Removing .text.__putchar__(Obj/arch_apt32f102_iostring.o), (16 bytes). + Removing .text.myitoa(Obj/arch_apt32f102_iostring.o), (140 bytes). + Removing .text.my_printf(Obj/arch_apt32f102_iostring.o), (198 bytes). + Removing .debug_info(Obj/arch_apt32f102_iostring.o), (7541 bytes). + Removing .debug_abbrev(Obj/arch_apt32f102_iostring.o), (485 bytes). + Removing .debug_loc(Obj/arch_apt32f102_iostring.o), (653 bytes). + Removing .debug_aranges(Obj/arch_apt32f102_iostring.o), (48 bytes). + Removing .debug_ranges(Obj/arch_apt32f102_iostring.o), (32 bytes). + Removing .debug_line(Obj/arch_apt32f102_iostring.o), (487 bytes). + Removing .debug_str(Obj/arch_apt32f102_iostring.o), (2904 bytes). + Removing .comment(Obj/arch_apt32f102_iostring.o), (67 bytes). + Removing .debug_frame(Obj/arch_apt32f102_iostring.o), (120 bytes). + Removing .csky.attributes(Obj/arch_apt32f102_iostring.o), (32 bytes). + Removing .text(Obj/FWlib_apt32f102_syscon.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_syscon.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_syscon.o), (0 bytes). + Removing .text.EMOSC_OSTR_Config(Obj/FWlib_apt32f102_syscon.o), (28 bytes). + Removing .text.SystemCLK_Clear(Obj/FWlib_apt32f102_syscon.o), (24 bytes). + Removing .text.SYSCON_IMOSC_SELECTE(Obj/FWlib_apt32f102_syscon.o), (20 bytes). + Removing .text.LVD_Int_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.IWDT_Int_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.Read_Reset_Status(Obj/FWlib_apt32f102_syscon.o), (24 bytes). + Removing .text.PCLK_goto_idle_mode(Obj/FWlib_apt32f102_syscon.o), (6 bytes). + Removing .text.PCLK_goto_deepsleep_mode(Obj/FWlib_apt32f102_syscon.o), (20 bytes). + Removing .text.EXI0_Int_Enable(Obj/FWlib_apt32f102_syscon.o), (12 bytes). + Removing .text.EXI0_Int_Disable(Obj/FWlib_apt32f102_syscon.o), (12 bytes). + Removing .text.EXI1_Int_Enable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI1_Int_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI2_Int_Enable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI2_Int_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI3_Int_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI4_Int_Enable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI4_Int_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI0_WakeUp_Enable(Obj/FWlib_apt32f102_syscon.o), (12 bytes). + Removing .text.EXI0_WakeUp_Disable(Obj/FWlib_apt32f102_syscon.o), (12 bytes). + Removing .text.EXI1_WakeUp_Enable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI1_WakeUp_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI2_WakeUp_Enable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI2_WakeUp_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI3_WakeUp_Enable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI3_WakeUp_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI4_WakeUp_Enable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.EXI4_WakeUp_Disable(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.SYSCON_WakeUp_Enable(Obj/FWlib_apt32f102_syscon.o), (12 bytes). + Removing .text.SYSCON_CLO_CONFIG(Obj/FWlib_apt32f102_syscon.o), (52 bytes). + Removing .text.SYSCON_CLO_SRC_SET(Obj/FWlib_apt32f102_syscon.o), (32 bytes). + Removing .text.SYSCON_WakeUp_Disable(Obj/FWlib_apt32f102_syscon.o), (12 bytes). + Removing .text.SYSCON_Read_CINF0(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.SYSCON_Read_CINF1(Obj/FWlib_apt32f102_syscon.o), (16 bytes). + Removing .text.SYSCON_Software_Reset(Obj/FWlib_apt32f102_syscon.o), (20 bytes). + Removing .text.GPIO_Remap(Obj/FWlib_apt32f102_syscon.o), (652 bytes). + Removing .text(Obj/FWlib_apt32f102_gpio.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_gpio.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_gpio.o), (0 bytes). + Removing .text.GPIO_Init2(Obj/FWlib_apt32f102_gpio.o), (16 bytes). + Removing .text.GPIO_InPutOutPut_Disable(Obj/FWlib_apt32f102_gpio.o), (164 bytes). + Removing .text.GPIO_MODE_Init(Obj/FWlib_apt32f102_gpio.o), (34 bytes). + Removing .text.GPIO_PullLow_Init(Obj/FWlib_apt32f102_gpio.o), (20 bytes). + Removing .text.GPIO_PullHighLow_DIS(Obj/FWlib_apt32f102_gpio.o), (14 bytes). + Removing .text.GPIO_OpenDrain_EN(Obj/FWlib_apt32f102_gpio.o), (12 bytes). + Removing .text.GPIO_OpenDrain_DIS(Obj/FWlib_apt32f102_gpio.o), (14 bytes). + Removing .text.GPIO_TTL_COSM_Selecte(Obj/FWlib_apt32f102_gpio.o), (72 bytes). + Removing .text.GPIO_DriveStrength_DIS(Obj/FWlib_apt32f102_gpio.o), (16 bytes). + Removing .text.GPIOA0_EXI_Init(Obj/FWlib_apt32f102_gpio.o), (252 bytes). + Removing .text.GPIO_EXI_EN(Obj/FWlib_apt32f102_gpio.o), (12 bytes). + Removing .text.GPIO_Set_Value(Obj/FWlib_apt32f102_gpio.o), (22 bytes). + Removing .text.GPIO_Read_Output(Obj/FWlib_apt32f102_gpio.o), (16 bytes). + Removing .text(Obj/FWlib_apt32f102_lpt.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_lpt.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_lpt.o), (0 bytes). + Removing .text.LPT_DeInit(Obj/FWlib_apt32f102_lpt.o), (60 bytes). + Removing .text.LPT_IO_Init(Obj/FWlib_apt32f102_lpt.o), (72 bytes). + Removing .text.LPT_Configure(Obj/FWlib_apt32f102_lpt.o), (44 bytes). + Removing .text.LPT_Debug_Mode(Obj/FWlib_apt32f102_lpt.o), (24 bytes). + Removing .text.LPT_Period_CMP_Write(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_CNT_Write(Obj/FWlib_apt32f102_lpt.o), (12 bytes). + Removing .text.LPT_PRDR_Read(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_CMP_Read(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_CNT_Read(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_ControlSet_Configure(Obj/FWlib_apt32f102_lpt.o), (40 bytes). + Removing .text.LPT_SyncSet_Configure(Obj/FWlib_apt32f102_lpt.o), (24 bytes). + Removing .text.LPT_Trigger_Configure(Obj/FWlib_apt32f102_lpt.o), (72 bytes). + Removing .text.LPT_Trigger_EVPS(Obj/FWlib_apt32f102_lpt.o), (20 bytes). + Removing .text.LPT_Trigger_Cnt(Obj/FWlib_apt32f102_lpt.o), (20 bytes). + Removing .text.LPT_Soft_Trigger(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_Start(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_Stop(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_REARM_Write(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_REARM_Read(Obj/FWlib_apt32f102_lpt.o), (20 bytes). + Removing .text.LPT_ConfigInterrupt_CMD(Obj/FWlib_apt32f102_lpt.o), (28 bytes). + Removing .text.LPT_INT_ENABLE(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text.LPT_INT_DISABLE(Obj/FWlib_apt32f102_lpt.o), (16 bytes). + Removing .text(Obj/FWlib_apt32f102_crc.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_crc.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_crc.o), (0 bytes). + Removing .text.CRC_CMD(Obj/FWlib_apt32f102_crc.o), (24 bytes). + Removing .text.CRC_Soft_Reset(Obj/FWlib_apt32f102_crc.o), (16 bytes). + Removing .text.CRC_Configure(Obj/FWlib_apt32f102_crc.o), (36 bytes). + Removing .text.CRC_Seed_Write(Obj/FWlib_apt32f102_crc.o), (12 bytes). + Removing .text.CRC_Seed_Read(Obj/FWlib_apt32f102_crc.o), (12 bytes). + Removing .text.CRC_Datain(Obj/FWlib_apt32f102_crc.o), (12 bytes). + Removing .text.CRC_Result_Read(Obj/FWlib_apt32f102_crc.o), (12 bytes). + Removing .text.Chip_CRC_CRC32(Obj/FWlib_apt32f102_crc.o), (28 bytes). + Removing .text.Chip_CRC_CRC16(Obj/FWlib_apt32f102_crc.o), (52 bytes). + Removing .text.Chip_CRC_CRC8(Obj/FWlib_apt32f102_crc.o), (44 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_crc.o), (7732 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_crc.o), (592 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_crc.o), (358 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_crc.o), (104 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_crc.o), (112 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_crc.o), (350 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_crc.o), (3098 bytes). + Removing .comment(Obj/FWlib_apt32f102_crc.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_crc.o), (204 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_crc.o), (32 bytes). + Removing .text(Obj/FWlib_apt32f102_wwdt.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_wwdt.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_wwdt.o), (0 bytes). + Removing .text.WWDT_DeInit(Obj/FWlib_apt32f102_wwdt.o), (28 bytes). + Removing .text.WWDT_CONFIG(Obj/FWlib_apt32f102_wwdt.o), (24 bytes). + Removing .text.WWDT_CMD(Obj/FWlib_apt32f102_wwdt.o), (24 bytes). + Removing .text.WWDT_Int_Config(Obj/FWlib_apt32f102_wwdt.o), (52 bytes). + Removing .text(Obj/FWlib_apt32f102_countera.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_countera.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_countera.o), (0 bytes). + Removing .text.COUNT_DeInit(Obj/FWlib_apt32f102_countera.o), (20 bytes). + Removing .text.COUNTA_Int_Enable(Obj/FWlib_apt32f102_countera.o), (16 bytes). + Removing .text.COUNTA_Int_Disable(Obj/FWlib_apt32f102_countera.o), (16 bytes). + Removing .text.COUNTA_Wakeup_Enable(Obj/FWlib_apt32f102_countera.o), (16 bytes). + Removing .text.COUNTA_Wakeup_Disable(Obj/FWlib_apt32f102_countera.o), (16 bytes). + Removing .text.COUNTA_Init(Obj/FWlib_apt32f102_countera.o), (60 bytes). + Removing .text.COUNTA_Config(Obj/FWlib_apt32f102_countera.o), (32 bytes). + Removing .text.COUNTA_Start(Obj/FWlib_apt32f102_countera.o), (20 bytes). + Removing .text.COUNTA_Stop(Obj/FWlib_apt32f102_countera.o), (16 bytes). + Removing .text.COUNTA_Data_Update(Obj/FWlib_apt32f102_countera.o), (20 bytes). + Removing .text.COUNTA_IO_Init(Obj/FWlib_apt32f102_countera.o), (80 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_countera.o), (7799 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_countera.o), (381 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_countera.o), (336 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_countera.o), (112 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_countera.o), (96 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_countera.o), (350 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_countera.o), (3415 bytes). + Removing .comment(Obj/FWlib_apt32f102_countera.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_countera.o), (224 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_countera.o), (32 bytes). + Removing .text(Obj/FWlib_apt32f102_et.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_et.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_et.o), (0 bytes). + Removing .text.ET_DeInit(Obj/FWlib_apt32f102_et.o), (40 bytes). + Removing .text.ET_ENABLE(Obj/FWlib_apt32f102_et.o), (16 bytes). + Removing .text.ET_DISABLE(Obj/FWlib_apt32f102_et.o), (16 bytes). + Removing .text.ET_SWTRG_CMD(Obj/FWlib_apt32f102_et.o), (28 bytes). + Removing .text.ET_CH0_SRCSEL(Obj/FWlib_apt32f102_et.o), (108 bytes). + Removing .text.ET_CH0_CONTROL(Obj/FWlib_apt32f102_et.o), (40 bytes). + Removing .text.ET_CH1_SRCSEL(Obj/FWlib_apt32f102_et.o), (108 bytes). + Removing .text.ET_CH1_CONTROL(Obj/FWlib_apt32f102_et.o), (40 bytes). + Removing .text.ET_CH2_SRCSEL(Obj/FWlib_apt32f102_et.o), (108 bytes). + Removing .text.ET_CH2_CONTROL(Obj/FWlib_apt32f102_et.o), (40 bytes). + Removing .text.ET_CHx_CONTROL(Obj/FWlib_apt32f102_et.o), (276 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_et.o), (7781 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_et.o), (410 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_et.o), (1318 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_et.o), (112 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_et.o), (96 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_et.o), (463 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_et.o), (3160 bytes). + Removing .comment(Obj/FWlib_apt32f102_et.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_et.o), (204 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_et.o), (32 bytes). + Removing .text(Obj/FWlib_apt32f102_bt.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_bt.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_bt.o), (0 bytes). + Removing .text.BT_IO_Init(Obj/FWlib_apt32f102_bt.o), (332 bytes). + Removing .text.BT_Stop(Obj/FWlib_apt32f102_bt.o), (8 bytes). + Removing .text.BT_Stop_High(Obj/FWlib_apt32f102_bt.o), (14 bytes). + Removing .text.BT_Stop_Low(Obj/FWlib_apt32f102_bt.o), (14 bytes). + Removing .text.BT_CNT_Write(Obj/FWlib_apt32f102_bt.o), (4 bytes). + Removing .text.BT_PRDR_Read(Obj/FWlib_apt32f102_bt.o), (6 bytes). + Removing .text.BT_CMP_Read(Obj/FWlib_apt32f102_bt.o), (6 bytes). + Removing .text.BT_CNT_Read(Obj/FWlib_apt32f102_bt.o), (6 bytes). + Removing .text.BT_Trigger_Configure(Obj/FWlib_apt32f102_bt.o), (10 bytes). + Removing .text.BT_Soft_Tigger(Obj/FWlib_apt32f102_bt.o), (6 bytes). + Removing .text.BT0_INT_ENABLE(Obj/FWlib_apt32f102_bt.o), (16 bytes). + Removing .text.BT0_INT_DISABLE(Obj/FWlib_apt32f102_bt.o), (16 bytes). + Removing .text.BT1_INT_DISABLE(Obj/FWlib_apt32f102_bt.o), (16 bytes). + Removing .text(Obj/FWlib_apt32f102_gpt.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_gpt.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_gpt.o), (0 bytes). + Removing .text.GPT_DeInit(Obj/FWlib_apt32f102_gpt.o), (96 bytes). + Removing .text.GPT_IO_Init(Obj/FWlib_apt32f102_gpt.o), (160 bytes). + Removing .text.GPT_Configure(Obj/FWlib_apt32f102_gpt.o), (20 bytes). + Removing .text.GPT_WaveCtrl_Configure(Obj/FWlib_apt32f102_gpt.o), (68 bytes). + Removing .text.GPT_WaveLoad_Configure(Obj/FWlib_apt32f102_gpt.o), (20 bytes). + Removing .text.GPT_WaveOut_Configure(Obj/FWlib_apt32f102_gpt.o), (180 bytes). + Removing .text.GPT_Capture_Config(Obj/FWlib_apt32f102_gpt.o), (68 bytes). + Removing .text.GPT_SyncSet_Configure(Obj/FWlib_apt32f102_gpt.o), (36 bytes). + Removing .text.GPT_Trigger_Configure(Obj/FWlib_apt32f102_gpt.o), (44 bytes). + Removing .text.GPT_EVTRG_Configure(Obj/FWlib_apt32f102_gpt.o), (92 bytes). + Removing .text.GPT_OneceForce_Out(Obj/FWlib_apt32f102_gpt.o), (32 bytes). + Removing .text.GPT_Force_Out(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_CmpLoad_Configure(Obj/FWlib_apt32f102_gpt.o), (20 bytes). + Removing .text.GPT_Debug_Mode(Obj/FWlib_apt32f102_gpt.o), (24 bytes). + Removing .text.GPT_Start(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_Stop(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_Soft_Reset(Obj/FWlib_apt32f102_gpt.o), (20 bytes). + Removing .text.GPT_Cap_Rearm(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_Mode_CMD(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_REARM_Write(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_REARM_Read(Obj/FWlib_apt32f102_gpt.o), (20 bytes). + Removing .text.GPT_Period_CMP_Write(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_PRDR_Read(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_CMPA_Read(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_CMPB_Read(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_CNT_Read(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_ConfigInterrupt_CMD(Obj/FWlib_apt32f102_gpt.o), (28 bytes). + Removing .text.GPT_INT_ENABLE(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .text.GPT_INT_DISABLE(Obj/FWlib_apt32f102_gpt.o), (16 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_gpt.o), (11442 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_gpt.o), (562 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_gpt.o), (2212 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_gpt.o), (256 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_gpt.o), (240 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_gpt.o), (754 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_gpt.o), (8023 bytes). + Removing .comment(Obj/FWlib_apt32f102_gpt.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_gpt.o), (616 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_gpt.o), (32 bytes). + Removing .text(Obj/FWlib_apt32f102_sio.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_sio.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_sio.o), (0 bytes). + Removing .text.SIO_DeInit(Obj/FWlib_apt32f102_sio.o), (32 bytes). + Removing .text.SIO_IO_Init(Obj/FWlib_apt32f102_sio.o), (96 bytes). + Removing .text.SIO_TX_Init(Obj/FWlib_apt32f102_sio.o), (16 bytes). + Removing .text.SIO_TX_Configure(Obj/FWlib_apt32f102_sio.o), (80 bytes). + Removing .text.SIO_TXBUF_Set(Obj/FWlib_apt32f102_sio.o), (156 bytes). + Removing .text.SIO_RX_Init(Obj/FWlib_apt32f102_sio.o), (20 bytes). + Removing .text.SIO_RX_Configure0(Obj/FWlib_apt32f102_sio.o), (96 bytes). + Removing .text.SIO_RX_Configure1(Obj/FWlib_apt32f102_sio.o), (32 bytes). + Removing .text.SIO_ConfigInterrupt_CMD(Obj/FWlib_apt32f102_sio.o), (28 bytes). + Removing .text.SIO_INT_ENABLE(Obj/FWlib_apt32f102_sio.o), (16 bytes). + Removing .text.SIO_INT_DISABLE(Obj/FWlib_apt32f102_sio.o), (16 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_sio.o), (8669 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_sio.o), (405 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_sio.o), (1996 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_sio.o), (112 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_sio.o), (96 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_sio.o), (391 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_sio.o), (4128 bytes). + Removing .comment(Obj/FWlib_apt32f102_sio.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_sio.o), (260 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_sio.o), (32 bytes). + Removing .text(Obj/FWlib_apt32f102_spi.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_spi.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_spi.o), (0 bytes). + Removing .text.SPI_DeInit(Obj/FWlib_apt32f102_spi.o), (32 bytes). + Removing .text.SPI_NSS_IO_Init(Obj/FWlib_apt32f102_spi.o), (52 bytes). + Removing .text.SPI_Master_Init(Obj/FWlib_apt32f102_spi.o), (176 bytes). + Removing .text.SPI_Slave_Init(Obj/FWlib_apt32f102_spi.o), (156 bytes). + Removing .text.SPI_WRITE_BYTE(Obj/FWlib_apt32f102_spi.o), (32 bytes). + Removing .text.SPI_READ_BYTE(Obj/FWlib_apt32f102_spi.o), (100 bytes). + Removing .text.SPI_ConfigInterrupt_CMD(Obj/FWlib_apt32f102_spi.o), (28 bytes). + Removing .text.SPI_Int_Enable(Obj/FWlib_apt32f102_spi.o), (16 bytes). + Removing .text.SPI_Int_Disable(Obj/FWlib_apt32f102_spi.o), (16 bytes). + Removing .text.SPI_Wakeup_Enable(Obj/FWlib_apt32f102_spi.o), (16 bytes). + Removing .text.SPI_Wakeup_Disable(Obj/FWlib_apt32f102_spi.o), (16 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_spi.o), (7854 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_spi.o), (402 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_spi.o), (641 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_spi.o), (112 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_spi.o), (96 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_spi.o), (407 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_spi.o), (3531 bytes). + Removing .comment(Obj/FWlib_apt32f102_spi.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_spi.o), (240 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_spi.o), (32 bytes). + Removing .text(Obj/FWlib_apt32f102_uart.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_uart.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_uart.o), (2 bytes). + Removing .text.UART0_Int_Enable(Obj/FWlib_apt32f102_uart.o), (28 bytes). + Removing .text.UART0_Int_Disable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UART1_Int_Disable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UART2_Int_Disable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UART0_WakeUp_Enable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UART0_WakeUp_Disable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UART1_WakeUp_Enable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UART1_WakeUp_Disable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UART2_WakeUp_Enable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UART2_WakeUp_Disable(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UARTInit(Obj/FWlib_apt32f102_uart.o), (16 bytes). + Removing .text.UARTInitRxIntEn(Obj/FWlib_apt32f102_uart.o), (10 bytes). + Removing .text.UARTClose(Obj/FWlib_apt32f102_uart.o), (6 bytes). + Removing .text.UARTTxByte(Obj/FWlib_apt32f102_uart.o), (14 bytes). + Removing .text.UARTTTransmit_data_set(Obj/FWlib_apt32f102_uart.o), (44 bytes). + Removing .text.UARTTransmit_INT_Send(Obj/FWlib_apt32f102_uart.o), (72 bytes). + Removing .text.UARTRxByte(Obj/FWlib_apt32f102_uart.o), (22 bytes). + Removing .text.UART_ReturnRxByte(Obj/FWlib_apt32f102_uart.o), (24 bytes). + Removing .text.UARTReceive(Obj/FWlib_apt32f102_uart.o), (56 bytes). + Removing COMMON(Obj/FWlib_apt32f102_uart.o), (36 bytes). + Removing .text(Obj/FWlib_apt32f102_i2c.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_i2c.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_i2c.o), (6 bytes). + Removing .text.I2C_DeInit(Obj/FWlib_apt32f102_i2c.o), (24 bytes). + Removing .text.I2C_Master_CONFIG(Obj/FWlib_apt32f102_i2c.o), (320 bytes). + Removing .text.I2C_Slave_CONFIG(Obj/FWlib_apt32f102_i2c.o), (332 bytes). + Removing .text.I2C_SDA_TSETUP_THOLD_CONFIG(Obj/FWlib_apt32f102_i2c.o), (20 bytes). + Removing .text.I2C_ConfigInterrupt_CMD(Obj/FWlib_apt32f102_i2c.o), (28 bytes). + Removing .text.I2C_FIFO_TriggerData(Obj/FWlib_apt32f102_i2c.o), (16 bytes). + Removing .text.I2C_Stop(Obj/FWlib_apt32f102_i2c.o), (16 bytes). + Removing .text.I2C_Enable(Obj/FWlib_apt32f102_i2c.o), (28 bytes). + Removing .text.I2C_Disable(Obj/FWlib_apt32f102_i2c.o), (28 bytes). + Removing .text.I2C_Abort_EN(Obj/FWlib_apt32f102_i2c.o), (16 bytes). + Removing .text.I2C_Abort_Status(Obj/FWlib_apt32f102_i2c.o), (20 bytes). + Removing .text.I2C_SDA_Recover_EN(Obj/FWlib_apt32f102_i2c.o), (16 bytes). + Removing .text.I2C_SDA_Recover_DIS(Obj/FWlib_apt32f102_i2c.o), (16 bytes). + Removing .text.I2C_Int_Enable(Obj/FWlib_apt32f102_i2c.o), (16 bytes). + Removing .text.I2C_Int_Disable(Obj/FWlib_apt32f102_i2c.o), (16 bytes). + Removing .text.I2C_WRITE_Byte(Obj/FWlib_apt32f102_i2c.o), (112 bytes). + Removing .text.I2C_WRITE_nByte(Obj/FWlib_apt32f102_i2c.o), (160 bytes). + Removing .text.I2C_READ_Byte(Obj/FWlib_apt32f102_i2c.o), (100 bytes). + Removing .text.I2C_READ_nByte(Obj/FWlib_apt32f102_i2c.o), (160 bytes). + Removing .text.I2C_Slave_Receive(Obj/FWlib_apt32f102_i2c.o), (384 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_i2c.o), (8426 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_i2c.o), (576 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_i2c.o), (1150 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_i2c.o), (184 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_i2c.o), (168 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_i2c.o), (847 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_i2c.o), (3647 bytes). + Removing .comment(Obj/FWlib_apt32f102_i2c.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_i2c.o), (452 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_i2c.o), (32 bytes). + Removing COMMON(Obj/FWlib_apt32f102_i2c.o), (70 bytes). + Removing .text(Obj/FWlib_apt32f102_ept.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_ept.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_ept.o), (0 bytes). + Removing .text.EPT_Software_Prg(Obj/FWlib_apt32f102_ept.o), (32 bytes). + Removing .text.EPT_Start(Obj/FWlib_apt32f102_ept.o), (40 bytes). + Removing .text.EPT_IO_SET(Obj/FWlib_apt32f102_ept.o), (568 bytes). + Removing .text.EPT_PWM_Config(Obj/FWlib_apt32f102_ept.o), (56 bytes). + Removing .text.EPT_CG_gate_Config(Obj/FWlib_apt32f102_ept.o), (116 bytes). + Removing .text.EPT_Capture_Config(Obj/FWlib_apt32f102_ept.o), (104 bytes). + Removing .text.EPT_SYNCR_Config(Obj/FWlib_apt32f102_ept.o), (52 bytes). + Removing .text.EPT_CPCR_Config(Obj/FWlib_apt32f102_ept.o), (80 bytes). + Removing .text.EPT_DBCR_Config(Obj/FWlib_apt32f102_ept.o), (96 bytes). + Removing .text.EPT_DB_CLK_Config(Obj/FWlib_apt32f102_ept.o), (16 bytes). + Removing .text.EPT_PWMX_Output_Control(Obj/FWlib_apt32f102_ept.o), (216 bytes). + Removing .text.EPT_Tevent_Selecte(Obj/FWlib_apt32f102_ept.o), (16 bytes). + Removing .text.EPT_PHSEN_Config(Obj/FWlib_apt32f102_ept.o), (24 bytes). + Removing .text.EPT_PRDR_CMPA_CMPB_CMPC_CMPD_Config(Obj/FWlib_apt32f102_ept.o), (28 bytes). + Removing .text.EPT_SYNCR_RearmClr(Obj/FWlib_apt32f102_ept.o), (40 bytes). + Removing .text.EPT_Caputure_Rearm(Obj/FWlib_apt32f102_ept.o), (20 bytes). + Removing .text.EPT_Globle_Eventload_Config(Obj/FWlib_apt32f102_ept.o), (24 bytes). + Removing .text.EPT_Globle_SwLoad_CMD(Obj/FWlib_apt32f102_ept.o), (28 bytes). + Removing .text.EPT_PRDR_EventLoad_Config(Obj/FWlib_apt32f102_ept.o), (28 bytes). + Removing .text.EPT_CMP_EventLoad_Config(Obj/FWlib_apt32f102_ept.o), (68 bytes). + Removing .text.EPT_AQCR_Eventload_Config(Obj/FWlib_apt32f102_ept.o), (72 bytes). + Removing .text.EPT_DB_Eventload_Config(Obj/FWlib_apt32f102_ept.o), (72 bytes). + Removing .text.EPT_TRGSRCX_Config(Obj/FWlib_apt32f102_ept.o), (136 bytes). + Removing .text.EPT_TRGSRCX_SWFTRG(Obj/FWlib_apt32f102_ept.o), (72 bytes). + Removing .text.EPT_Int_Enable(Obj/FWlib_apt32f102_ept.o), (20 bytes). + Removing .text.EPT_Int_Disable(Obj/FWlib_apt32f102_ept.o), (20 bytes). + Removing .text.EPT_EMInt_Enable(Obj/FWlib_apt32f102_ept.o), (20 bytes). + Removing .text.EPT_EMInt_Disable(Obj/FWlib_apt32f102_ept.o), (20 bytes). + Removing .text.EPT_Vector_Int_Enable(Obj/FWlib_apt32f102_ept.o), (12 bytes). + Removing .text.EPT_Vector_Int_Disable(Obj/FWlib_apt32f102_ept.o), (12 bytes). + Removing .text.EPT_EPX_Config(Obj/FWlib_apt32f102_ept.o), (176 bytes). + Removing .text.EPT_EPIX_POL_Config(Obj/FWlib_apt32f102_ept.o), (24 bytes). + Removing .text.EPT_LKCR_TRG_Config(Obj/FWlib_apt32f102_ept.o), (120 bytes). + Removing .text.EPT_SHLOCK_OUTPUT_Config(Obj/FWlib_apt32f102_ept.o), (28 bytes). + Removing .text.EPT_SLock_CLR(Obj/FWlib_apt32f102_ept.o), (20 bytes). + Removing .text.EPT_HLock_CLR(Obj/FWlib_apt32f102_ept.o), (20 bytes). + Removing .text.EPT_SW_Set_lock(Obj/FWlib_apt32f102_ept.o), (28 bytes). + Removing .text(Obj/FWlib_apt32f102_rtc.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_rtc.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_rtc.o), (0 bytes). + Removing .text.RTC_RST_VALUE(Obj/FWlib_apt32f102_rtc.o), (40 bytes). + Removing .text.RTC_ALM_IO_SET(Obj/FWlib_apt32f102_rtc.o), (64 bytes). + Removing .text.RTCCLK_CONFIG(Obj/FWlib_apt32f102_rtc.o), (72 bytes). + Removing .text.RTC_Function_Config(Obj/FWlib_apt32f102_rtc.o), (44 bytes). + Removing .text.RTC_Start(Obj/FWlib_apt32f102_rtc.o), (44 bytes). + Removing .text.RTC_Stop(Obj/FWlib_apt32f102_rtc.o), (44 bytes). + Removing .text.RTC_TIMR_DATR_SET(Obj/FWlib_apt32f102_rtc.o), (68 bytes). + Removing .text.RTC_TIMR_DATR_Read(Obj/FWlib_apt32f102_rtc.o), (84 bytes). + Removing .text.RTC_Alarm_TIMR_DATR_SET(Obj/FWlib_apt32f102_rtc.o), (172 bytes). + Removing .text.RTC_AlarmA_TIMR_DATR_Read(Obj/FWlib_apt32f102_rtc.o), (60 bytes). + Removing .text.RTC_AlarmB_TIMR_DATR_Read(Obj/FWlib_apt32f102_rtc.o), (60 bytes). + Removing .text.RTC_TRGSRC0_Config(Obj/FWlib_apt32f102_rtc.o), (40 bytes). + Removing .text.RTC_TRGSRC1_Config(Obj/FWlib_apt32f102_rtc.o), (40 bytes). + Removing .text.RTC_TRGSRC0_SWFTRG(Obj/FWlib_apt32f102_rtc.o), (16 bytes). + Removing .text.RTC_TRGSRC1_SWFTRG(Obj/FWlib_apt32f102_rtc.o), (16 bytes). + Removing .text.RTC_Int_Enable(Obj/FWlib_apt32f102_rtc.o), (20 bytes). + Removing .text.RTC_Int_Disable(Obj/FWlib_apt32f102_rtc.o), (16 bytes). + Removing .text.RTC_Vector_Int_Enable(Obj/FWlib_apt32f102_rtc.o), (16 bytes). + Removing .text.RTC_Vector_Int_Disable(Obj/FWlib_apt32f102_rtc.o), (16 bytes). + Removing .text.RTC_WakeUp_Enable(Obj/FWlib_apt32f102_rtc.o), (16 bytes). + Removing .text.RTC_WakeUp_Disable(Obj/FWlib_apt32f102_rtc.o), (16 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_rtc.o), (8815 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_rtc.o), (494 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_rtc.o), (535 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_rtc.o), (192 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_rtc.o), (176 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_rtc.o), (606 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_rtc.o), (4847 bytes). + Removing .comment(Obj/FWlib_apt32f102_rtc.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_rtc.o), (428 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_rtc.o), (32 bytes). + Removing COMMON(Obj/FWlib_apt32f102_rtc.o), (15 bytes). + Removing .text(Obj/FWlib_apt32f102_adc.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_adc.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_adc.o), (0 bytes). + Removing .text.ADC12_RESET_VALUE(Obj/FWlib_apt32f102_adc.o), (100 bytes). + Removing .text.ADC12_Control(Obj/FWlib_apt32f102_adc.o), (16 bytes). + Removing .text.ADC12_CMD.part.0(Obj/FWlib_apt32f102_adc.o), (32 bytes). + Removing .text.ADC12_ConfigInterrupt_CMD(Obj/FWlib_apt32f102_adc.o), (32 bytes). + Removing .text.ADC12_Read_IntEnStatus(Obj/FWlib_apt32f102_adc.o), (20 bytes). + Removing .text.ADC12_CLK_CMD(Obj/FWlib_apt32f102_adc.o), (44 bytes). + Removing .text.ADC12_Software_Reset(Obj/FWlib_apt32f102_adc.o), (10 bytes). + Removing .text.ADC12_CMD(Obj/FWlib_apt32f102_adc.o), (40 bytes). + Removing .text.ADC12_ready_wait(Obj/FWlib_apt32f102_adc.o), (20 bytes). + Removing .text.ADC12_EOC_wait(Obj/FWlib_apt32f102_adc.o), (20 bytes). + Removing .text.ADC12_SEQEND_wait(Obj/FWlib_apt32f102_adc.o), (24 bytes). + Removing .text.ADC12_DATA_OUPUT(Obj/FWlib_apt32f102_adc.o), (20 bytes). + Removing .text.ADC12_Configure_Mode(Obj/FWlib_apt32f102_adc.o), (124 bytes). + Removing .text.ADC12_Configure_VREF_Selecte(Obj/FWlib_apt32f102_adc.o), (408 bytes). + Removing .text.ADC12_CompareFunction_set(Obj/FWlib_apt32f102_adc.o), (32 bytes). + Removing .text.ADC12_ConversionChannel_Config(Obj/FWlib_apt32f102_adc.o), (384 bytes). + Removing .text.ADC12_Compare_statue(Obj/FWlib_apt32f102_adc.o), (44 bytes). + Removing .text.ADC_Int_Enable(Obj/FWlib_apt32f102_adc.o), (28 bytes). + Removing .text.ADC_Int_Disable(Obj/FWlib_apt32f102_adc.o), (12 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_adc.o), (8666 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_adc.o), (663 bytes). + Removing .debug_loc(Obj/FWlib_apt32f102_adc.o), (936 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_adc.o), (176 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_adc.o), (160 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_adc.o), (684 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_adc.o), (4955 bytes). + Removing .comment(Obj/FWlib_apt32f102_adc.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_adc.o), (400 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_adc.o), (32 bytes). + Removing .text(Obj/FWlib_apt32f102_ifc.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_ifc.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_ifc.o), (1 bytes). + Removing .text.ChipErase(Obj/FWlib_apt32f102_ifc.o), (36 bytes). + Removing .text.PageErase(Obj/FWlib_apt32f102_ifc.o), (36 bytes). + Removing .text.Page_ProgramData_int(Obj/FWlib_apt32f102_ifc.o), (156 bytes). + Removing .text.Page_ProgramData(Obj/FWlib_apt32f102_ifc.o), (160 bytes). + Removing .text.Page_ProgramData_U32(Obj/FWlib_apt32f102_ifc.o), (124 bytes). + Removing .text.ReadDataArry(Obj/FWlib_apt32f102_ifc.o), (46 bytes). + Removing .text.ReadDataArry_U32(Obj/FWlib_apt32f102_ifc.o), (22 bytes). + Removing .text.IFC_interrupt_CMD(Obj/FWlib_apt32f102_ifc.o), (28 bytes). + Removing .text.IFC_Int_Enable(Obj/FWlib_apt32f102_ifc.o), (28 bytes). + Removing .text.IFC_Int_Disable(Obj/FWlib_apt32f102_ifc.o), (12 bytes). + Removing COMMON(Obj/FWlib_apt32f102_ifc.o), (4 bytes). + Removing .text(Obj/FWlib_apt32f102_tkey_parameter.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_tkey_parameter.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_tkey_parameter.o), (0 bytes). + Removing .text.tk_parameter_init(Obj/FWlib_apt32f102_tkey_parameter.o), (304 bytes). + Removing .text(Obj/FWlib_apt32f102_coret.o), (0 bytes). + Removing .data(Obj/FWlib_apt32f102_coret.o), (0 bytes). + Removing .bss(Obj/FWlib_apt32f102_coret.o), (0 bytes). + Removing .text.CORET_DeInit(Obj/FWlib_apt32f102_coret.o), (24 bytes). + Removing .text.CORET_Int_Enable(Obj/FWlib_apt32f102_coret.o), (24 bytes). + Removing .text.CORET_Int_Disable(Obj/FWlib_apt32f102_coret.o), (12 bytes). + Removing .text.CORET_WakeUp_Enable(Obj/FWlib_apt32f102_coret.o), (12 bytes). + Removing .text.CORET_WakeUp_Disable(Obj/FWlib_apt32f102_coret.o), (12 bytes). + Removing .text.CORET_start(Obj/FWlib_apt32f102_coret.o), (16 bytes). + Removing .text.CORET_stop(Obj/FWlib_apt32f102_coret.o), (16 bytes). + Removing .text.CORET_CLKSOURCE_EX(Obj/FWlib_apt32f102_coret.o), (16 bytes). + Removing .text.CORET_CLKSOURCE_IN(Obj/FWlib_apt32f102_coret.o), (16 bytes). + Removing .text.CORET_TICKINT_Enable(Obj/FWlib_apt32f102_coret.o), (16 bytes). + Removing .text.CORET_TICKINT_Disable(Obj/FWlib_apt32f102_coret.o), (16 bytes). + Removing .text.CORET_reload(Obj/FWlib_apt32f102_coret.o), (16 bytes). + Removing .debug_info(Obj/FWlib_apt32f102_coret.o), (7132 bytes). + Removing .debug_abbrev(Obj/FWlib_apt32f102_coret.o), (295 bytes). + Removing .debug_aranges(Obj/FWlib_apt32f102_coret.o), (120 bytes). + Removing .debug_ranges(Obj/FWlib_apt32f102_coret.o), (104 bytes). + Removing .debug_line(Obj/FWlib_apt32f102_coret.o), (323 bytes). + Removing .debug_str(Obj/FWlib_apt32f102_coret.o), (2853 bytes). + Removing .comment(Obj/FWlib_apt32f102_coret.o), (67 bytes). + Removing .debug_frame(Obj/FWlib_apt32f102_coret.o), (208 bytes). + Removing .csky.attributes(Obj/FWlib_apt32f102_coret.o), (32 bytes). + Removing .text(Obj/main.o), (0 bytes). + Removing .data(Obj/main.o), (0 bytes). + Removing .text(Obj/mcu_initial.o), (0 bytes). + Removing .data(Obj/mcu_initial.o), (0 bytes). + Removing .bss(Obj/mcu_initial.o), (0 bytes). + Removing .text.GPIO_CONFIG(Obj/mcu_initial.o), (76 bytes). + Removing .text.EPT0_CONFIG(Obj/mcu_initial.o), (96 bytes). + Removing .text.UART0_CONFIG(Obj/mcu_initial.o), (52 bytes). + Removing .text.UART1_CONFIG(Obj/mcu_initial.o), (52 bytes). + Removing .text.UART2_CONFIG(Obj/mcu_initial.o), (36 bytes). + Removing .text.ADC12_CONFIG(Obj/mcu_initial.o), (114 bytes). + Removing .text.SIO_CONFIG(Obj/mcu_initial.o), (64 bytes). + Removing .text(Obj/mcu_interrupt.o), (0 bytes). + Removing .data(Obj/mcu_interrupt.o), (1 bytes). + Removing .text.SystemDesPtr(Obj/mcu_interrupt.o), (2 bytes). + Removing .text(Obj/drivers_apt32f102.o), (0 bytes). + Removing .bss(Obj/drivers_apt32f102.o), (0 bytes). + Removing .text.__modsi3(Obj/drivers_apt32f102.o), (36 bytes). + Removing .text(Obj/drivers_apt32f102_ck801.o), (0 bytes). + Removing .data(Obj/drivers_apt32f102_ck801.o), (0 bytes). + Removing .bss(Obj/drivers_apt32f102_ck801.o), (0 bytes). + Removing .text.CK801_Init(Obj/drivers_apt32f102_ck801.o), (108 bytes). + Removing .text.force_interrupt(Obj/drivers_apt32f102_ck801.o), (24 bytes). + Removing .text(Obj/SYSTEM_uart.o), (0 bytes). + Removing .data(Obj/SYSTEM_uart.o), (4 bytes). + Removing .text.UART0_TASK(Obj/SYSTEM_uart.o), (64 bytes). + Removing .text.UART_Waiting_For_Send(Obj/SYSTEM_uart.o), (32 bytes). + Removing .text.MCU485_SendData(Obj/SYSTEM_uart.o), (152 bytes). + Removing .text.Clear_SendFlag(Obj/SYSTEM_uart.o), (16 bytes). + Removing .text.BUS485_Jump_Boot(Obj/SYSTEM_uart.o), (12 bytes). + Removing .text.Get_BUS485_Send_State(Obj/SYSTEM_uart.o), (28 bytes). + Removing .text.Dbg_Print(Obj/SYSTEM_uart.o), (12 bytes). + Removing .text.Dbg_Print_Buff(Obj/SYSTEM_uart.o), (2 bytes). + Removing .text(Obj/SYSTEM_eeprom.o), (0 bytes). + Removing .data(Obj/SYSTEM_eeprom.o), (0 bytes). + Removing .bss(Obj/SYSTEM_eeprom.o), (0 bytes). + Removing .text.EEPROM_WriteParaInfo(Obj/SYSTEM_eeprom.o), (68 bytes). + Removing .text.EEPROM_ClearParaInfo(Obj/SYSTEM_eeprom.o), (36 bytes). + Removing .text.EEPROM_ReadMCUDevInfo(Obj/SYSTEM_eeprom.o), (112 bytes). + Removing .text.EEPROM_WriteMCUDevInfo(Obj/SYSTEM_eeprom.o), (64 bytes). + Removing .text.EEPROM_Default_MCUDevInfo(Obj/SYSTEM_eeprom.o), (56 bytes). + Removing .text.EEPROM_Validate_MCUDevInfo(Obj/SYSTEM_eeprom.o), (88 bytes). + Removing .text(Obj/SYSTEM_Bootload_fun.o), (0 bytes). + Removing .data(Obj/SYSTEM_Bootload_fun.o), (0 bytes). + Removing .bss(Obj/SYSTEM_Bootload_fun.o), (0 bytes). + Removing .text.Boot_Function_Init(Obj/SYSTEM_Bootload_fun.o), (96 bytes). + Removing .text.Boot_Comm_CheckSum(Obj/SYSTEM_Bootload_fun.o), (36 bytes). + Removing .text.NetCRC16(Obj/SYSTEM_Bootload_fun.o), (60 bytes). + Removing .text.Boot_Comm_FillReplyPack(Obj/SYSTEM_Bootload_fun.o), (92 bytes). + Removing .text.APP_Flash_AllEase(Obj/SYSTEM_Bootload_fun.o), (28 bytes). + Removing .text.MCU_EEPROM_AllEase(Obj/SYSTEM_Bootload_fun.o), (32 bytes). + Removing .text.APP_FEATURE_Flash_Ease(Obj/SYSTEM_Bootload_fun.o), (12 bytes). + Removing .text.Boot_Time_Refresh(Obj/SYSTEM_Bootload_fun.o), (20 bytes). + Removing .text.Boot_Comm_UpgradeProcess(Obj/SYSTEM_Bootload_fun.o), (392 bytes). + Removing .text.Boot_TimeOut_Task(Obj/SYSTEM_Bootload_fun.o), (28 bytes). + Removing .text.Jump_To_APP(Obj/SYSTEM_Bootload_fun.o), (28 bytes). + Removing .text.Check_APP_Feature(Obj/SYSTEM_Bootload_fun.o), (264 bytes). + Removing .debug_info(Obj/SYSTEM_Bootload_fun.o), (12776 bytes). + Removing .debug_abbrev(Obj/SYSTEM_Bootload_fun.o), (794 bytes). + Removing .debug_loc(Obj/SYSTEM_Bootload_fun.o), (702 bytes). + Removing .debug_aranges(Obj/SYSTEM_Bootload_fun.o), (120 bytes). + Removing .debug_ranges(Obj/SYSTEM_Bootload_fun.o), (136 bytes). + Removing .debug_line(Obj/SYSTEM_Bootload_fun.o), (972 bytes). + Removing .debug_str(Obj/SYSTEM_Bootload_fun.o), (9889 bytes). + Removing .comment(Obj/SYSTEM_Bootload_fun.o), (67 bytes). + Removing .debug_frame(Obj/SYSTEM_Bootload_fun.o), (356 bytes). + Removing .csky.attributes(Obj/SYSTEM_Bootload_fun.o), (32 bytes). + Removing COMMON(Obj/SYSTEM_Bootload_fun.o), (572 bytes). + Removing .text(Obj/SYSTEM_tempctrl_unit.o), (0 bytes). + Removing .data(Obj/SYSTEM_tempctrl_unit.o), (0 bytes). + Removing .text.Ctrller_Query_AirFun(Obj/SYSTEM_tempctrl_unit.o), (68 bytes). + Removing .text.Ctrller_Query_AirState(Obj/SYSTEM_tempctrl_unit.o), (68 bytes). + Removing .text.Ctrller_AirFun_Processing(Obj/SYSTEM_tempctrl_unit.o), (8 bytes). + Removing .text.Ctrller_AirState_Processing(Obj/SYSTEM_tempctrl_unit.o), (212 bytes). + Removing .text(Obj/SYSTEM_uart_protocol.o), (0 bytes). + Removing .data(Obj/SYSTEM_uart_protocol.o), (0 bytes). + Removing .bss(Obj/SYSTEM_uart_protocol.o), (0 bytes). + Removing .text.SOR_CRC(Obj/SYSTEM_uart_protocol.o), (22 bytes). + Removing .text(Obj/SYSTEM_dip_switch.o), (0 bytes). + Removing .data(Obj/SYSTEM_dip_switch.o), (0 bytes). + Removing .text(Obj/__rt_entry.o), (240 bytes). + Removing .data(Obj/__rt_entry.o), (0 bytes). + Removing .bss(Obj/__rt_entry.o), (0 bytes). + Removing .debug_line(Obj/__rt_entry.o), (131 bytes). + Removing .debug_info(Obj/__rt_entry.o), (118 bytes). + Removing .debug_abbrev(Obj/__rt_entry.o), (20 bytes). + Removing .debug_aranges(Obj/__rt_entry.o), (32 bytes). + Removing .csky.attributes(Obj/__rt_entry.o), (32 bytes). + Removing .text(FWlib_apt32f102_tkey_f_1_18.o), (0 bytes). + Removing .text.TK_ConfigInterrupt_CMD.part.0(FWlib_apt32f102_tkey_f_1_18.o), (16 bytes). + Removing .text.tk_sram_clr(FWlib_apt32f102_tkey_f_1_18.o), (560 bytes). + Removing .text.TK_DeInit(FWlib_apt32f102_tkey_f_1_18.o), (60 bytes). + Removing .text.tk_clk_config(FWlib_apt32f102_tkey_f_1_18.o), (40 bytes). + Removing .text.TK_con0_config(FWlib_apt32f102_tkey_f_1_18.o), (188 bytes). + Removing .text.tk_scan_config(FWlib_apt32f102_tkey_f_1_18.o), (40 bytes). + Removing .text.TK_ConfigInterrupt_CMD(FWlib_apt32f102_tkey_f_1_18.o), (32 bytes). + Removing .text.tk_io_enable(FWlib_apt32f102_tkey_f_1_18.o), (308 bytes). + Removing .text.lpt_init(FWlib_apt32f102_tkey_f_1_18.o), (76 bytes). + Removing .text.TK_setup_sleep(FWlib_apt32f102_tkey_f_1_18.o), (92 bytes). + Removing .text.TK_quit_sleep(FWlib_apt32f102_tkey_f_1_18.o), (40 bytes). + Removing .text.TK_Baseline_prog(FWlib_apt32f102_tkey_f_1_18.o), (336 bytes). + Removing .text.TK_Baseline_prog2(FWlib_apt32f102_tkey_f_1_18.o), (328 bytes). + Removing .text.tk_poweron_data_fineturn(FWlib_apt32f102_tkey_f_1_18.o), (292 bytes). + Removing .text.get_key_seq(FWlib_apt32f102_tkey_f_1_18.o), (56 bytes). + Removing .text.CORET_CONFIG(FWlib_apt32f102_tkey_f_1_18.o), (56 bytes). + Removing .text.tk_chxval_seqxcon_clr(FWlib_apt32f102_tkey_f_1_18.o), (28 bytes). + Removing .text.tk_freq_para_init(FWlib_apt32f102_tkey_f_1_18.o), (172 bytes). + Removing .text.tk_reserved_init(FWlib_apt32f102_tkey_f_1_18.o), (40 bytes). + Removing .text.tk_init(FWlib_apt32f102_tkey_f_1_18.o), (272 bytes). + Removing .text.tk_prgm(FWlib_apt32f102_tkey_f_1_18.o), (2 bytes). + Removing .text(FWlib_apt32f102_clkcalib.o), (0 bytes). + Removing .data(FWlib_apt32f102_clkcalib.o), (0 bytes). + Removing .bss(FWlib_apt32f102_clkcalib.o), (0 bytes). + Removing .data(pow.o), (0 bytes). + Removing .bss(pow.o), (0 bytes). + Removing .data(fabs.o), (0 bytes). + Removing .bss(fabs.o), (0 bytes). + Removing .data(scalbn.o), (0 bytes). + Removing .bss(scalbn.o), (0 bytes). + Removing .data(sqrt.o), (0 bytes). + Removing .bss(sqrt.o), (0 bytes). + Removing .data(_csky_case_uqi.o), (0 bytes). + Removing .bss(_csky_case_uqi.o), (0 bytes). + Removing .data(_fixunsdfsi.o), (0 bytes). + Removing .bss(_fixunsdfsi.o), (0 bytes). + Removing .data(_addsub_df.o), (0 bytes). + Removing .bss(_addsub_df.o), (0 bytes). + Removing .data(_mul_df.o), (0 bytes). + Removing .bss(_mul_df.o), (0 bytes). + Removing .data(_div_df.o), (0 bytes). + Removing .bss(_div_df.o), (0 bytes). + Removing .data(_gt_df.o), (0 bytes). + Removing .bss(_gt_df.o), (0 bytes). + Removing .data(_ge_df.o), (0 bytes). + Removing .bss(_ge_df.o), (0 bytes). + Removing .data(_le_df.o), (0 bytes). + Removing .bss(_le_df.o), (0 bytes). + Removing .data(_si_to_df.o), (0 bytes). + Removing .bss(_si_to_df.o), (0 bytes). + Removing .data(_df_to_si.o), (0 bytes). + Removing .bss(_df_to_si.o), (0 bytes). + Removing .text(_thenan_df.o), (0 bytes). + Removing .data(_thenan_df.o), (0 bytes). + Removing .bss(_thenan_df.o), (0 bytes). + Removing .data(_usi_to_df.o), (0 bytes). + Removing .bss(_usi_to_df.o), (0 bytes). + Removing .data(_muldi3.o), (0 bytes). + Removing .bss(_muldi3.o), (0 bytes). + Removing .data(_clzsi2.o), (0 bytes). + Removing .bss(_clzsi2.o), (0 bytes). + Removing .data(_pack_df.o), (0 bytes). + Removing .bss(_pack_df.o), (0 bytes). + Removing .data(_unpack_df.o), (0 bytes). + Removing .bss(_unpack_df.o), (0 bytes). + Removing .data(_fpcmp_parts_df.o), (0 bytes). + Removing .bss(_fpcmp_parts_df.o), (0 bytes). + Removing .text(_clz.o), (0 bytes). + Removing .data(_clz.o), (0 bytes). + Removing .bss(_clz.o), (0 bytes). + Removing .data(memset_fast.o), (0 bytes). + Removing .bss(memset_fast.o), (0 bytes). + Removing .data(memcpy_fast.o), (0 bytes). + Removing .bss(memcpy_fast.o), (0 bytes). + Removing .text(strncmp.o), (38 bytes). + Removing .data(strncmp.o), (0 bytes). + Removing .bss(strncmp.o), (0 bytes). + Removing .csky.attributes(strncmp.o), (32 bytes). + +657 unused seciton(s) (total 213437 bytes) removed from the image. + +====================================================================== + +Image Symbol Table + + Local Symbols + + Symbol Name Value Type Size Section + FWlib_apt32f102_clkcalib.o 0x00000000 df 0 *ABS* + FWlib_apt32f102_tkey_f_1_18.o 0x00000000 df 0 *ABS* + Obj/FWlib_apt32f102_bt.o 0x00000000 df 0 *ABS* + Obj/FWlib_apt32f102_ept.o 0x00000000 df 0 *ABS* + Obj/FWlib_apt32f102_gpio.o 0x00000000 df 0 *ABS* + Obj/FWlib_apt32f102_ifc.o 0x00000000 df 0 *ABS* + Obj/FWlib_apt32f102_lpt.o 0x00000000 df 0 *ABS* + Obj/FWlib_apt32f102_syscon.o 0x00000000 df 0 *ABS* + Obj/FWlib_apt32f102_uart.o 0x00000000 df 0 *ABS* + Obj/FWlib_apt32f102_wwdt.o 0x00000000 df 0 *ABS* + Obj/SYSTEM_dip_switch.o 0x00000000 df 0 *ABS* + Obj/SYSTEM_eeprom.o 0x00000000 df 0 *ABS* + Obj/SYSTEM_tempctrl_unit.o 0x00000000 df 0 *ABS* + Obj/SYSTEM_uart.o 0x00000000 df 0 *ABS* + Obj/SYSTEM_uart_protocol.o 0x00000000 df 0 *ABS* + Obj/arch_crt0.o 0x00000000 df 0 *ABS* + Obj/arch_mem_init.o 0x00000000 df 0 *ABS* + Obj/drivers_apt32f102.o 0x00000000 df 0 *ABS* + Obj/drivers_apt32f102_ck801.o 0x00000000 df 0 *ABS* + Obj/main.o 0x00000000 df 0 *ABS* + Obj/mcu_initial.o 0x00000000 df 0 *ABS* + Obj/mcu_interrupt.o 0x00000000 df 0 *ABS* + _addsub_df.o 0x00000000 df 0 *ABS* + _clzsi2.o 0x00000000 df 0 *ABS* + _csky_case_uqi.o 0x00000000 df 0 *ABS* + _df_to_si.o 0x00000000 df 0 *ABS* + _div_df.o 0x00000000 df 0 *ABS* + _fixunsdfsi.o 0x00000000 df 0 *ABS* + _fpcmp_parts_df.o 0x00000000 df 0 *ABS* + _ge_df.o 0x00000000 df 0 *ABS* + _gt_df.o 0x00000000 df 0 *ABS* + _le_df.o 0x00000000 df 0 *ABS* + _mul_df.o 0x00000000 df 0 *ABS* + _muldi3.o 0x00000000 df 0 *ABS* + _pack_df.o 0x00000000 df 0 *ABS* + _si_to_df.o 0x00000000 df 0 *ABS* + _unpack_df.o 0x00000000 df 0 *ABS* + _usi_to_df.o 0x00000000 df 0 *ABS* + fabs.o 0x00000000 df 0 *ABS* + memcpy_fast.o 0x00000000 df 0 *ABS* + memset_fast.o 0x00000000 df 0 *ABS* + pow.o 0x00000000 df 0 *ABS* + scalbn.o 0x00000000 df 0 *ABS* + sqrt.o 0x00000000 df 0 *ABS* + $d 0x00000000 0 .text + $t 0x0000010c 0 .text + INIT_KERLE_STACK 0x0000013e 0 .text + __to_main 0x00000146 0 .text + __dummy 0x00000182 0 .text + $d 0x00000186 0 .text + $d 0x000001b4 0 .text + $t 0x000001b4 0 .text + $d 0x00000578 0 .text + $t 0x000005e0 0 .text + $d 0x00000aa8 0 .text + $t 0x00000b58 0 .text + $d 0x00000b5e 0 .text + $t 0x00000b5e 0 .text + $d 0x00000b64 0 .text + $t 0x00000b64 0 .text + $d 0x00000b80 0 .text + $d 0x00000b84 0 .text + $t 0x00000b84 0 .text + $d 0x00000cf0 0 .text + $d 0x00000cfc 0 .text + $t 0x00000cfc 0 .text + $d 0x00000d10 0 .text + $t 0x00000d10 0 .text + $d 0x00000d44 0 .text + _fpadd_parts 0x00000d48 F 724 .text + $d 0x00000d48 0 .text + $t 0x00000d48 0 .text + $d 0x00001010 0 .text + $t 0x0000101c 0 .text + $d 0x00001084 0 .text + $t 0x00001084 0 .text + $d 0x000012ac 0 .text + $d 0x000012b8 0 .text + $t 0x000012b8 0 .text + $d 0x00001408 0 .text + $d 0x0000140c 0 .text + $t 0x0000140c 0 .text + $d 0x00001448 0 .text + $t 0x00001448 0 .text + $d 0x00001484 0 .text + $t 0x00001484 0 .text + $d 0x000014c0 0 .text + $t 0x000014c0 0 .text + $d 0x0000152c 0 .text + $d 0x00001530 0 .text + $t 0x00001530 0 .text + $d 0x0000159c 0 .text + $d 0x000015a0 0 .text + $t 0x000015a0 0 .text + $d 0x000015f4 0 .text + $t 0x000015f4 0 .text + $d 0x00001638 0 .text + $t 0x00001638 0 .text + $d 0x0000166c 0 .text + $d 0x00001678 0 .text + $t 0x00001678 0 .text + $d 0x00001800 0 .text + $d 0x00001814 0 .text + $t 0x00001814 0 .text + $d 0x000018cc 0 .text + $d 0x000018d8 0 .text + $t 0x000018d8 0 .text + $d 0x00001964 0 .text + $t 0x00001964 0 .text + $d 0x000019ec 0 .text + $t 0x000019ec 0 .text + $d 0x00001a50 0 .text.__main + $t 0x00001a50 0 .text.__main + $d 0x00001a74 0 .text.__main + SYSCON_General_CMD.part.0 0x00001a88 F 116 .text.SYSCON_General_CMD.part.0 + $d 0x00001a88 0 .text.SYSCON_General_CMD.part.0 + $t 0x00001a88 0 .text.SYSCON_General_CMD.part.0 + $d 0x00001af4 0 .text.SYSCON_General_CMD.part.0 + $d 0x00001afc 0 .text.SYSCON_RST_VALUE + $t 0x00001afc 0 .text.SYSCON_RST_VALUE + $d 0x00001b2c 0 .text.SYSCON_RST_VALUE + $d 0x00001b48 0 .text.SYSCON_General_CMD + $t 0x00001b48 0 .text.SYSCON_General_CMD + $d 0x00001b74 0 .text.SYSCON_General_CMD + $d 0x00001b78 0 .text.SystemCLK_HCLKDIV_PCLKDIV_Config + $t 0x00001b78 0 .text.SystemCLK_HCLKDIV_PCLKDIV_Config + $d 0x00001bf0 0 .text.SystemCLK_HCLKDIV_PCLKDIV_Config + $d 0x00001c00 0 .text.SYSCON_HFOSC_SELECTE + $t 0x00001c00 0 .text.SYSCON_HFOSC_SELECTE + $d 0x00001c24 0 .text.SYSCON_HFOSC_SELECTE + $d 0x00001c28 0 .text.SYSCON_WDT_CMD + $t 0x00001c28 0 .text.SYSCON_WDT_CMD + $d 0x00001c58 0 .text.SYSCON_WDT_CMD + $d 0x00001c64 0 .text.SYSCON_IWDCNT_Reload + $t 0x00001c64 0 .text.SYSCON_IWDCNT_Reload + $d 0x00001c74 0 .text.SYSCON_IWDCNT_Reload + $d 0x00001c78 0 .text.SYSCON_IWDCNT_Config + $t 0x00001c78 0 .text.SYSCON_IWDCNT_Config + $d 0x00001c88 0 .text.SYSCON_IWDCNT_Config + $d 0x00001c90 0 .text.SYSCON_LVD_Config + $t 0x00001c90 0 .text.SYSCON_LVD_Config + $d 0x00001ca8 0 .text.SYSCON_LVD_Config + $d 0x00001cb0 0 .text.LVD_Int_Enable + $t 0x00001cb0 0 .text.LVD_Int_Enable + $d 0x00001cc8 0 .text.LVD_Int_Enable + $d 0x00001ccc 0 .text.IWDT_Int_Enable + $t 0x00001ccc 0 .text.IWDT_Int_Enable + $d 0x00001ce4 0 .text.IWDT_Int_Enable + $d 0x00001ce8 0 .text.EXTI_trigger_CMD + $t 0x00001ce8 0 .text.EXTI_trigger_CMD + $d 0x00001d24 0 .text.EXTI_trigger_CMD + $d 0x00001d28 0 .text.EXTI_interrupt_CMD + $t 0x00001d28 0 .text.EXTI_interrupt_CMD + $d 0x00001d54 0 .text.EXTI_interrupt_CMD + $d 0x00001d5c 0 .text.GPIO_EXTI_interrupt + $t 0x00001d5c 0 .text.GPIO_EXTI_interrupt + $d 0x00001d60 0 .text.EXI3_Int_Enable + $t 0x00001d60 0 .text.EXI3_Int_Enable + $d 0x00001d6c 0 .text.EXI3_Int_Enable + $d 0x00001d70 0 .text.SYSCON_Int_Enable + $t 0x00001d70 0 .text.SYSCON_Int_Enable + $d 0x00001d78 0 .text.SYSCON_Int_Enable + $d 0x00001d7c 0 .text.SYSCON_Int_Disable + $t 0x00001d7c 0 .text.SYSCON_Int_Disable + $d 0x00001d84 0 .text.SYSCON_Int_Disable + $d 0x00001d88 0 .text.SYSCON_INT_Priority + $t 0x00001d88 0 .text.SYSCON_INT_Priority + $d 0x00001da0 0 .text.SYSCON_INT_Priority + $d 0x00001dac 0 .text.Set_INT_Priority + $t 0x00001dac 0 .text.Set_INT_Priority + $d 0x00001dd8 0 .text.Set_INT_Priority + $d 0x00001ddc 0 .text.GPIO_DeInit + $t 0x00001ddc 0 .text.GPIO_DeInit + $d 0x00001e30 0 .text.GPIO_DeInit + $d 0x00001e40 0 .text.GPIO_Init + $t 0x00001e40 0 .text.GPIO_Init + $d 0x00001e52 0 .text.GPIO_Init + $t 0x00001e5a 0 .text.GPIO_Init + $d 0x00001eb6 0 .text.GPIO_Init + $t 0x00001ebe 0 .text.GPIO_Init + $d 0x00001f0c 0 .text.GPIO_Init + $d 0x00001f20 0 .text.GPIO_PullHigh_Init + $t 0x00001f20 0 .text.GPIO_PullHigh_Init + $d 0x00001f34 0 .text.GPIO_DriveStrength_EN + $t 0x00001f34 0 .text.GPIO_DriveStrength_EN + $d 0x00001f44 0 .text.GPIO_IntGroup_Set + $t 0x00001f44 0 .text.GPIO_IntGroup_Set + $d 0x00002038 0 .text.GPIO_IntGroup_Set + $d 0x00002050 0 .text.GPIOB0_EXI_Init + $t 0x00002050 0 .text.GPIOB0_EXI_Init + $d 0x0000205c 0 .text.GPIOB0_EXI_Init + $t 0x00002062 0 .text.GPIOB0_EXI_Init + $d 0x000020b8 0 .text.GPIOB0_EXI_Init + $d 0x000020bc 0 .text.GPIO_Write_High + $t 0x000020bc 0 .text.GPIO_Write_High + $d 0x000020c4 0 .text.GPIO_Write_Low + $t 0x000020c4 0 .text.GPIO_Write_Low + $d 0x000020cc 0 .text.GPIO_Reverse + $t 0x000020cc 0 .text.GPIO_Reverse + $d 0x000020e2 0 .text.GPIO_Read_Status + $t 0x000020e2 0 .text.GPIO_Read_Status + $d 0x000020f4 0 .text.LPT_Soft_Reset + $t 0x000020f4 0 .text.LPT_Soft_Reset + $d 0x00002104 0 .text.LPT_Soft_Reset + $d 0x00002108 0 .text.WWDT_CNT_Load + $t 0x00002108 0 .text.WWDT_CNT_Load + $d 0x00002114 0 .text.WWDT_CNT_Load + $d 0x00002118 0 .text.BT_DeInit + $t 0x00002118 0 .text.BT_DeInit + $d 0x00002134 0 .text.BT_Start + $t 0x00002134 0 .text.BT_Start + $d 0x0000213c 0 .text.BT_Soft_Reset + $t 0x0000213c 0 .text.BT_Soft_Reset + $d 0x00002146 0 .text.BT_Configure + $t 0x00002146 0 .text.BT_Configure + $d 0x0000215e 0 .text.BT_ControlSet_Configure + $t 0x0000215e 0 .text.BT_ControlSet_Configure + $d 0x0000218a 0 .text.BT_Period_CMP_Write + $t 0x0000218a 0 .text.BT_Period_CMP_Write + $d 0x00002190 0 .text.BT_ConfigInterrupt_CMD + $t 0x00002190 0 .text.BT_ConfigInterrupt_CMD + $d 0x000021a4 0 .text.BT1_INT_ENABLE + $t 0x000021a4 0 .text.BT1_INT_ENABLE + $d 0x000021b0 0 .text.BT1_INT_ENABLE + $d 0x000021b4 0 .text.UART0_DeInit + $t 0x000021b4 0 .text.UART0_DeInit + $d 0x000021c8 0 .text.UART0_DeInit + $d 0x000021cc 0 .text.UART1_DeInit + $t 0x000021cc 0 .text.UART1_DeInit + $d 0x000021e0 0 .text.UART1_DeInit + $d 0x000021e4 0 .text.UART2_DeInit + $t 0x000021e4 0 .text.UART2_DeInit + $d 0x000021f8 0 .text.UART2_DeInit + $d 0x000021fc 0 .text.UART1_Int_Enable + $t 0x000021fc 0 .text.UART1_Int_Enable + $d 0x00002210 0 .text.UART1_Int_Enable + $d 0x00002218 0 .text.UART2_Int_Enable + $t 0x00002218 0 .text.UART2_Int_Enable + $d 0x0000222c 0 .text.UART2_Int_Enable + $d 0x00002234 0 .text.UART_IO_Init + $t 0x00002234 0 .text.UART_IO_Init + $d 0x00002318 0 .text.UART_IO_Init + $d 0x00002320 0 .text.UARTInitRxTxIntEn + $t 0x00002320 0 .text.UARTInitRxTxIntEn + $d 0x0000232c 0 .text.UARTInitRxTxIntEn + $d 0x00002330 0 .text.UARTTransmit + $t 0x00002330 0 .text.UARTTransmit + $d 0x00002350 0 .text.EPT_Stop + $t 0x00002350 0 .text.EPT_Stop + $d 0x00002370 0 .text.EPT_Stop + $d 0x00002378 0 .text.ReadDataArry_U8 + $t 0x00002378 0 .text.ReadDataArry_U8 + $d 0x000023a4 0 .text.startup.main + $t 0x000023a4 0 .text.startup.main + $d 0x000023d0 0 .text.startup.main + $d 0x000023d8 0 .text.delay_nms + $t 0x000023d8 0 .text.delay_nms + $d 0x00002404 0 .text.delay_nus + $t 0x00002404 0 .text.delay_nus + $d 0x00002428 0 .text.BT_CONFIG + $t 0x00002428 0 .text.BT_CONFIG + $d 0x00002480 0 .text.BT_CONFIG + $d 0x00002488 0 .text.SYSCON_CONFIG + $t 0x00002488 0 .text.SYSCON_CONFIG + $d 0x000024ec 0 .text.APT32F102_init + $t 0x000024ec 0 .text.APT32F102_init + $d 0x00002568 0 .text.APT32F102_init + $d 0x00002580 0 .text.SYSCONIntHandler + $t 0x00002580 0 .text.SYSCONIntHandler + $d 0x0000266c 0 .text.SYSCONIntHandler + $d 0x00002670 0 .text.IFCIntHandler + $t 0x00002670 0 .text.IFCIntHandler + $d 0x000026d4 0 .text.IFCIntHandler + $d 0x000026d8 0 .text.ADCIntHandler + $t 0x000026d8 0 .text.ADCIntHandler + $d 0x0000273c 0 .text.ADCIntHandler + $d 0x00002740 0 .text.EPT0IntHandler + $t 0x00002740 0 .text.EPT0IntHandler + $d 0x000028e0 0 .text.EPT0IntHandler + $d 0x000028ec 0 .text.WWDTHandler + $t 0x000028ec 0 .text.WWDTHandler + $d 0x0000291c 0 .text.WWDTHandler + $d 0x00002920 0 .text.GPT0IntHandler + $t 0x00002920 0 .text.GPT0IntHandler + $d 0x0000299c 0 .text.GPT0IntHandler + $d 0x000029a0 0 .text.RTCIntHandler + $t 0x000029a0 0 .text.RTCIntHandler + $d 0x00002a08 0 .text.RTCIntHandler + $d 0x00002a10 0 .text.UART0IntHandler + $t 0x00002a10 0 .text.UART0IntHandler + $d 0x00002a6c 0 .text.UART0IntHandler + $d 0x00002a70 0 .text.UART1IntHandler + $t 0x00002a70 0 .text.UART1IntHandler + $d 0x00002af0 0 .text.UART1IntHandler + $d 0x00002b04 0 .text.UART2IntHandler + $t 0x00002b04 0 .text.UART2IntHandler + $d 0x00002b84 0 .text.UART2IntHandler + $d 0x00002b98 0 .text.SPI0IntHandler + $t 0x00002b98 0 .text.SPI0IntHandler + $d 0x00002c7c 0 .text.SPI0IntHandler + $d 0x00002c80 0 .text.SIO0IntHandler + $t 0x00002c80 0 .text.SIO0IntHandler + $d 0x00002cd0 0 .text.SIO0IntHandler + $d 0x00002cd4 0 .text.EXI0IntHandler + $t 0x00002cd4 0 .text.EXI0IntHandler + $d 0x00002d00 0 .text.EXI0IntHandler + $d 0x00002d04 0 .text.EXI1IntHandler + $t 0x00002d04 0 .text.EXI1IntHandler + $d 0x00002d30 0 .text.EXI1IntHandler + $d 0x00002d34 0 .text.EXI2to3IntHandler + $t 0x00002d34 0 .text.EXI2to3IntHandler + $d 0x00002d78 0 .text.EXI2to3IntHandler + $d 0x00002d7c 0 .text.EXI4to9IntHandler + $t 0x00002d7c 0 .text.EXI4to9IntHandler + $d 0x00002de4 0 .text.EXI4to9IntHandler + $d 0x00002de8 0 .text.EXI10to15IntHandler + $t 0x00002de8 0 .text.EXI10to15IntHandler + $d 0x00002e44 0 .text.EXI10to15IntHandler + $d 0x00002e48 0 .text.LPTIntHandler + $t 0x00002e48 0 .text.LPTIntHandler + $d 0x00002e78 0 .text.LPTIntHandler + $d 0x00002e7c 0 .text.BT0IntHandler + $t 0x00002e7c 0 .text.BT0IntHandler + $d 0x00002ec4 0 .text.BT0IntHandler + $d 0x00002ec8 0 .text.BT1IntHandler + $t 0x00002ec8 0 .text.BT1IntHandler + $d 0x00002f30 0 .text.BT1IntHandler + $d 0x00002f38 0 .text.PriviledgeVioHandler + $t 0x00002f38 0 .text.PriviledgeVioHandler + $d 0x00002f3a 0 .text.PendTrapHandler + $t 0x00002f3a 0 .text.PendTrapHandler + $d 0x00002f42 0 .text.Trap3Handler + $t 0x00002f42 0 .text.Trap3Handler + $d 0x00002f4a 0 .text.Trap2Handler + $t 0x00002f4a 0 .text.Trap2Handler + $d 0x00002f52 0 .text.Trap1Handler + $t 0x00002f52 0 .text.Trap1Handler + $d 0x00002f5a 0 .text.Trap0Handler + $t 0x00002f5a 0 .text.Trap0Handler + $d 0x00002f62 0 .text.UnrecExecpHandler + $t 0x00002f62 0 .text.UnrecExecpHandler + $d 0x00002f6a 0 .text.BreakPointHandler + $t 0x00002f6a 0 .text.BreakPointHandler + $d 0x00002f72 0 .text.AccessErrHandler + $t 0x00002f72 0 .text.AccessErrHandler + $d 0x00002f7a 0 .text.IllegalInstrHandler + $t 0x00002f7a 0 .text.IllegalInstrHandler + $d 0x00002f82 0 .text.MisalignedHandler + $t 0x00002f82 0 .text.MisalignedHandler + $d 0x00002f8a 0 .text.CNTAIntHandler + $t 0x00002f8a 0 .text.CNTAIntHandler + $d 0x00002f92 0 .text.I2CIntHandler + $t 0x00002f92 0 .text.I2CIntHandler + $d 0x00002f9c 0 .text.__divsi3 + $t 0x00002f9c 0 .text.__divsi3 + $d 0x00002fbc 0 .text.__divsi3 + $d 0x00002fc0 0 .text.__udivsi3 + $t 0x00002fc0 0 .text.__udivsi3 + $d 0x00002fe0 0 .text.__udivsi3 + $d 0x00002fe4 0 .text.__umodsi3 + $t 0x00002fe4 0 .text.__umodsi3 + $d 0x00003004 0 .text.__umodsi3 + $d 0x00003008 0 .text.CK_CPU_EnAllNormalIrq + $t 0x00003008 0 .text.CK_CPU_EnAllNormalIrq + $d 0x0000300e 0 .text.CK_CPU_DisAllNormalIrq + $t 0x0000300e 0 .text.CK_CPU_DisAllNormalIrq + $d 0x00003014 0 .text.UARTx_Init + $t 0x00003014 0 .text.UARTx_Init + $d 0x00003138 0 .text.UARTx_Init + $d 0x0000316c 0 .text.UART0_RecvINT_Processing + $t 0x0000316c 0 .text.UART0_RecvINT_Processing + $d 0x00003198 0 .text.UART0_RecvINT_Processing + $d 0x000031a4 0 .text.UART1_RecvINT_Processing + $t 0x000031a4 0 .text.UART1_RecvINT_Processing + $d 0x000031d0 0 .text.UART1_RecvINT_Processing + $d 0x000031dc 0 .text.UART1_TASK + $t 0x000031dc 0 .text.UART1_TASK + $d 0x00003230 0 .text.UART1_TASK + $d 0x00003248 0 .text.UART2_RecvINT_Processing + $t 0x00003248 0 .text.UART2_RecvINT_Processing + $d 0x00003280 0 .text.UART2_RecvINT_Processing + $d 0x0000328c 0 .text.UART2_TASK + $t 0x0000328c 0 .text.UART2_TASK + $d 0x000032ec 0 .text.UART2_TASK + $d 0x00003304 0 .text.Controller485_SendData + $t 0x00003304 0 .text.Controller485_SendData + $d 0x0000339c 0 .text.Controller485_SendData + $d 0x000033ac 0 .text.BUS485_Send + $t 0x000033ac 0 .text.BUS485_Send + $d 0x00003458 0 .text.BUS485_Send + $d 0x00003470 0 .text.MultSend_Task + $t 0x00003470 0 .text.MultSend_Task + $d 0x000034dc 0 .text.MultSend_Task + $d 0x000034e4 0 .text.Set_GroupSend + $t 0x000034e4 0 .text.Set_GroupSend + $d 0x00003540 0 .text.Set_GroupSend + $d 0x00003548 0 .text.BUS485Send_Task + $t 0x00003548 0 .text.BUS485Send_Task + $d 0x00003570 0 .text.BUS485Send_Task + $d 0x0000357c 0 .text.BusIdle_Task + $t 0x0000357c 0 .text.BusIdle_Task + $d 0x000035b4 0 .text.BusIdle_Task + $d 0x000035bc 0 .text.BusBusy_Task + $t 0x000035bc 0 .text.BusBusy_Task + $d 0x0000360c 0 .text.BusBusy_Task + $d 0x00003618 0 .text.Dbg_Println + $t 0x00003618 0 .text.Dbg_Println + $d 0x00003624 0 .text.EEPROM_CheckSum + $t 0x00003624 0 .text.EEPROM_CheckSum + $d 0x0000363c 0 .text.EEPROM_ReadParaInfo + $t 0x0000363c 0 .text.EEPROM_ReadParaInfo + $d 0x000036a8 0 .text.EEPROM_ReadParaInfo + $d 0x000036b0 0 .text.EEPROM_Validate_ParaInfo + $t 0x000036b0 0 .text.EEPROM_Validate_ParaInfo + $d 0x000036dc 0 .text.EEPROM_Validate_ParaInfo + $d 0x000036e0 0 .text.EEPROM_Default_ParaInfo + $t 0x000036e0 0 .text.EEPROM_Default_ParaInfo + $d 0x00003700 0 .text.EEPROM_Init + $t 0x00003700 0 .text.EEPROM_Init + $d 0x00003748 0 .text.EEPROM_Init + $d 0x00003754 0 .text.TemCtrl_Init + $t 0x00003754 0 .text.TemCtrl_Init + $d 0x00003894 0 .text.TemCtrl_Init + $d 0x000038a8 0 .text.Ctrller_Ctrl_AirState + $t 0x000038a8 0 .text.Ctrller_Ctrl_AirState + $d 0x00003950 0 .text.Ctrller_Ctrl_AirState + $d 0x00003958 0 .text.TemCtrl_Pro + $t 0x00003958 0 .text.TemCtrl_Pro + $d 0x000039f8 0 .text.TemCtrl_Pro + $d 0x00003a08 0 .text.Ctrller_CtrlAirState_Processing + $t 0x00003a08 0 .text.Ctrller_CtrlAirState_Processing + $d 0x00003a24 0 .text.Ctrller_CtrlAirState_Processing + $d 0x00003a28 0 .text.Ctrller_RecData_Processing + $t 0x00003a28 0 .text.Ctrller_RecData_Processing + $d 0x00003abc 0 .text.Ctrller_RecData_Processing + $d 0x00003ad0 0 .text.NetCRC16_Check + $t 0x00003ad0 0 .text.NetCRC16_Check + $d 0x00003b14 0 .text.NetCRC16_Check + $d 0x00003b1c 0 .text.GetCRC16 + $t 0x00003b1c 0 .text.GetCRC16 + $d 0x00003b50 0 .text.GetCRC16 + $d 0x00003b58 0 .text.Rs485AskCtrlSend + $t 0x00003b58 0 .text.Rs485AskCtrlSend + $d 0x00003bb0 0 .text.Rs485AskCtrlSend + $d 0x00003bb4 0 .text.IrSend_Rs485_Pro + $t 0x00003bb4 0 .text.IrSend_Rs485_Pro + $d 0x00003c36 0 .text.IrSend_Rs485_Pro + $t 0x00003c3a 0 .text.IrSend_Rs485_Pro + $d 0x00003cb8 0 .text.IrSend_Rs485_Pro + $d 0x00003cc0 0 .text.DIP_GetSwitchState + $t 0x00003cc0 0 .text.DIP_GetSwitchState + $d 0x00003cf0 0 .text.DIP_GetSwitchState + $d 0x00003cf4 0 .text.DIP_Switch_Init + $t 0x00003cf4 0 .text.DIP_Switch_Init + $d 0x00003d74 0 .text.DIP_Switch_Init + $d 0x00003d80 0 .text.DIP_ScanTask + $t 0x00003d80 0 .text.DIP_ScanTask + $d 0x00003e08 0 .text.DIP_ScanTask + $d 0x00003e18 0 .text.TK_Single_Longpress_prg + $t 0x00003e18 0 .text.TK_Single_Longpress_prg + $d 0x00003f0c 0 .text.TK_Single_Longpress_prg + $d 0x00003f40 0 .text.TK_Sampling_prog + $t 0x00003f40 0 .text.TK_Sampling_prog + $d 0x00003fe8 0 .text.TK_Sampling_prog + $d 0x0000400c 0 .text.get_key_number + $t 0x0000400c 0 .text.get_key_number + $d 0x00004030 0 .text.get_key_number + $d 0x00004034 0 .text.get_key_number0 + $t 0x00004034 0 .text.get_key_number0 + $d 0x00004058 0 .text.get_key_number0 + $d 0x0000405c 0 .text.get_key_number1 + $t 0x0000405c 0 .text.get_key_number1 + $d 0x00004080 0 .text.get_key_number1 + $d 0x00004084 0 .text.get_key_number2 + $t 0x00004084 0 .text.get_key_number2 + $d 0x000040a8 0 .text.get_key_number2 + $d 0x000040ac 0 .text.TK_Scan_Start + $t 0x000040ac 0 .text.TK_Scan_Start + $d 0x000040f8 0 .text.TK_Scan_Start + $d 0x00004114 0 .text.TK_Keymap_prog + $t 0x00004114 0 .text.TK_Keymap_prog + $d 0x00004450 0 .text.TK_Keymap_prog + $t 0x000044d4 0 .text.TK_Keymap_prog + $d 0x00004830 0 .text.TK_Keymap_prog + $t 0x00004874 0 .text.TK_Keymap_prog + $d 0x00004970 0 .text.TK_Keymap_prog + $d 0x00004984 0 .text.TK_overflow_predict + $t 0x00004984 0 .text.TK_overflow_predict + $d 0x00004a78 0 .text.TK_overflow_predict + $d 0x00004aac 0 .text.TK_Baseline_tracking + $t 0x00004aac 0 .text.TK_Baseline_tracking + $d 0x00004e04 0 .text.TK_Baseline_tracking + $t 0x00004e60 0 .text.TK_Baseline_tracking + $d 0x00004f6c 0 .text.TK_Baseline_tracking + $d 0x00004f7c 0 .text.TK_result_prog + $t 0x00004f7c 0 .text.TK_result_prog + $d 0x0000507c 0 .text.TK_result_prog + $d 0x000050ac 0 .text.TKEYIntHandler + $t 0x000050ac 0 .text.TKEYIntHandler + $d 0x0000513c 0 .text.TKEYIntHandler + $d 0x0000514c 0 .text.CORETHandler + $t 0x0000514c 0 .text.CORETHandler + $d 0x00005274 0 .text.CORETHandler + $d 0x000052a8 0 .text.std_clk_calib + $t 0x000052a8 0 .text.std_clk_calib + $d 0x000054f0 0 .text.std_clk_calib + bp 0x0000552c O 16 .rodata + dp_l 0x0000553c O 16 .rodata + dp_h 0x0000554c O 16 .rodata + NUM.6205 0x200000b0 O 1 .bss + TemCtrl_tick.6099 0x20000144 O 4 .bss + update_20ms.6111 0x20000148 O 4 .bss + + Global Symbols + + Symbol Name Value Type Size Section + vector_table 0x00000000 0 .text + __start 0x0000010c 0 .text + __exit 0x00000160 0 .text + __fail 0x00000176 0 .text + DummyHandler 0x00000184 0 .text + __GI_pow 0x000001b4 F 2474 .text + pow 0x000001b4 F 2474 .text + __GI_fabs 0x00000b5e F 6 .text + fabs 0x00000b5e F 6 .text + __GI_scalbn 0x00000b64 F 32 .text + scalbn 0x00000b64 F 32 .text + __GI_sqrt 0x00000b84 F 376 .text + sqrt 0x00000b84 F 376 .text + ___gnu_csky_case_uqi 0x00000cfc F 20 .text + __fixunsdfsi 0x00000d10 F 56 .text + __adddf3 0x0000101c F 46 .text + __subdf3 0x0000104c F 54 .text + __muldf3 0x00001084 F 564 .text + __divdf3 0x000012b8 F 340 .text + __gtdf2 0x0000140c F 60 .text + __gedf2 0x00001448 F 60 .text + __ledf2 0x00001484 F 58 .text + __floatsidf 0x000014c0 F 112 .text + __fixdfsi 0x00001530 F 112 .text + __floatunsidf 0x000015a0 F 84 .text + __muldi3 0x000015f4 F 68 .text + __clzsi2 0x00001638 F 64 .text + __pack_d 0x00001678 F 412 .text + __unpack_d 0x00001814 F 196 .text + __fpcmp_parts_d 0x000018d8 F 140 .text + __memset_fast 0x00001964 w F 136 .text + memset 0x00001964 w F 136 .text + __memcpy_fast 0x000019ec w F 100 .text + memcpy 0x000019ec w F 100 .text + __main 0x00001a50 F 56 .text.__main + SYSCON_RST_VALUE 0x00001afc F 76 .text.SYSCON_RST_VALUE + SYSCON_General_CMD 0x00001b48 F 48 .text.SYSCON_General_CMD + SystemCLK_HCLKDIV_PCLKDIV_Config 0x00001b78 F 136 .text.SystemCLK_HCLKDIV_PCLKDIV_Config + SYSCON_HFOSC_SELECTE 0x00001c00 F 40 .text.SYSCON_HFOSC_SELECTE + SYSCON_WDT_CMD 0x00001c28 F 60 .text.SYSCON_WDT_CMD + SYSCON_IWDCNT_Reload 0x00001c64 F 20 .text.SYSCON_IWDCNT_Reload + SYSCON_IWDCNT_Config 0x00001c78 F 24 .text.SYSCON_IWDCNT_Config + SYSCON_LVD_Config 0x00001c90 F 32 .text.SYSCON_LVD_Config + LVD_Int_Enable 0x00001cb0 F 28 .text.LVD_Int_Enable + IWDT_Int_Enable 0x00001ccc F 28 .text.IWDT_Int_Enable + EXTI_trigger_CMD 0x00001ce8 F 64 .text.EXTI_trigger_CMD + EXTI_interrupt_CMD 0x00001d28 F 52 .text.EXTI_interrupt_CMD + GPIO_EXTI_interrupt 0x00001d5c F 4 .text.GPIO_EXTI_interrupt + EXI3_Int_Enable 0x00001d60 F 16 .text.EXI3_Int_Enable + SYSCON_Int_Enable 0x00001d70 F 12 .text.SYSCON_Int_Enable + SYSCON_Int_Disable 0x00001d7c F 12 .text.SYSCON_Int_Disable + SYSCON_INT_Priority 0x00001d88 F 36 .text.SYSCON_INT_Priority + Set_INT_Priority 0x00001dac F 48 .text.Set_INT_Priority + GPIO_DeInit 0x00001ddc F 100 .text.GPIO_DeInit + GPIO_Init 0x00001e40 F 224 .text.GPIO_Init + GPIO_PullHigh_Init 0x00001f20 F 20 .text.GPIO_PullHigh_Init + GPIO_DriveStrength_EN 0x00001f34 F 14 .text.GPIO_DriveStrength_EN + GPIO_IntGroup_Set 0x00001f44 F 268 .text.GPIO_IntGroup_Set + GPIOB0_EXI_Init 0x00002050 F 108 .text.GPIOB0_EXI_Init + GPIO_Write_High 0x000020bc F 8 .text.GPIO_Write_High + GPIO_Write_Low 0x000020c4 F 8 .text.GPIO_Write_Low + GPIO_Reverse 0x000020cc F 22 .text.GPIO_Reverse + GPIO_Read_Status 0x000020e2 F 16 .text.GPIO_Read_Status + LPT_Soft_Reset 0x000020f4 F 20 .text.LPT_Soft_Reset + WWDT_CNT_Load 0x00002108 F 16 .text.WWDT_CNT_Load + BT_DeInit 0x00002118 F 28 .text.BT_DeInit + BT_Start 0x00002134 F 8 .text.BT_Start + BT_Soft_Reset 0x0000213c F 10 .text.BT_Soft_Reset + BT_Configure 0x00002146 F 24 .text.BT_Configure + BT_ControlSet_Configure 0x0000215e F 44 .text.BT_ControlSet_Configure + BT_Period_CMP_Write 0x0000218a F 6 .text.BT_Period_CMP_Write + BT_ConfigInterrupt_CMD 0x00002190 F 18 .text.BT_ConfigInterrupt_CMD + BT1_INT_ENABLE 0x000021a4 F 16 .text.BT1_INT_ENABLE + UART0_DeInit 0x000021b4 F 24 .text.UART0_DeInit + UART1_DeInit 0x000021cc F 24 .text.UART1_DeInit + UART2_DeInit 0x000021e4 F 24 .text.UART2_DeInit + UART1_Int_Enable 0x000021fc F 28 .text.UART1_Int_Enable + UART2_Int_Enable 0x00002218 F 28 .text.UART2_Int_Enable + UART_IO_Init 0x00002234 F 236 .text.UART_IO_Init + UARTInitRxTxIntEn 0x00002320 F 16 .text.UARTInitRxTxIntEn + UARTTransmit 0x00002330 F 30 .text.UARTTransmit + EPT_Stop 0x00002350 F 40 .text.EPT_Stop + ReadDataArry_U8 0x00002378 F 42 .text.ReadDataArry_U8 + main 0x000023a4 F 52 .text.startup.main + delay_nms 0x000023d8 F 44 .text.delay_nms + delay_nus 0x00002404 F 34 .text.delay_nus + BT_CONFIG 0x00002428 F 96 .text.BT_CONFIG + SYSCON_CONFIG 0x00002488 F 98 .text.SYSCON_CONFIG + APT32F102_init 0x000024ec F 148 .text.APT32F102_init + SYSCONIntHandler 0x00002580 F 240 .text.SYSCONIntHandler + IFCIntHandler 0x00002670 F 104 .text.IFCIntHandler + ADCIntHandler 0x000026d8 F 104 .text.ADCIntHandler + EPT0IntHandler 0x00002740 F 428 .text.EPT0IntHandler + WWDTHandler 0x000028ec F 52 .text.WWDTHandler + GPT0IntHandler 0x00002920 F 128 .text.GPT0IntHandler + RTCIntHandler 0x000029a0 F 112 .text.RTCIntHandler + UART0IntHandler 0x00002a10 F 96 .text.UART0IntHandler + UART1IntHandler 0x00002a70 F 148 .text.UART1IntHandler + UART2IntHandler 0x00002b04 F 148 .text.UART2IntHandler + SPI0IntHandler 0x00002b98 F 232 .text.SPI0IntHandler + SIO0IntHandler 0x00002c80 F 84 .text.SIO0IntHandler + EXI0IntHandler 0x00002cd4 F 48 .text.EXI0IntHandler + EXI1IntHandler 0x00002d04 F 48 .text.EXI1IntHandler + EXI2to3IntHandler 0x00002d34 F 72 .text.EXI2to3IntHandler + EXI4to9IntHandler 0x00002d7c F 108 .text.EXI4to9IntHandler + EXI10to15IntHandler 0x00002de8 F 96 .text.EXI10to15IntHandler + LPTIntHandler 0x00002e48 F 52 .text.LPTIntHandler + BT0IntHandler 0x00002e7c F 76 .text.BT0IntHandler + BT1IntHandler 0x00002ec8 F 112 .text.BT1IntHandler + PriviledgeVioHandler 0x00002f38 F 2 .text.PriviledgeVioHandler + PendTrapHandler 0x00002f3a F 8 .text.PendTrapHandler + Trap3Handler 0x00002f42 F 8 .text.Trap3Handler + Trap2Handler 0x00002f4a F 8 .text.Trap2Handler + Trap1Handler 0x00002f52 F 8 .text.Trap1Handler + Trap0Handler 0x00002f5a F 8 .text.Trap0Handler + UnrecExecpHandler 0x00002f62 F 8 .text.UnrecExecpHandler + BreakPointHandler 0x00002f6a F 8 .text.BreakPointHandler + AccessErrHandler 0x00002f72 F 8 .text.AccessErrHandler + IllegalInstrHandler 0x00002f7a F 8 .text.IllegalInstrHandler + MisalignedHandler 0x00002f82 F 8 .text.MisalignedHandler + CNTAIntHandler 0x00002f8a F 8 .text.CNTAIntHandler + I2CIntHandler 0x00002f92 F 8 .text.I2CIntHandler + __divsi3 0x00002f9c F 36 .text.__divsi3 + __udivsi3 0x00002fc0 F 36 .text.__udivsi3 + __umodsi3 0x00002fe4 F 36 .text.__umodsi3 + CK_CPU_EnAllNormalIrq 0x00003008 F 6 .text.CK_CPU_EnAllNormalIrq + CK_CPU_DisAllNormalIrq 0x0000300e F 6 .text.CK_CPU_DisAllNormalIrq + UARTx_Init 0x00003014 F 344 .text.UARTx_Init + UART0_RecvINT_Processing 0x0000316c F 56 .text.UART0_RecvINT_Processing + UART1_RecvINT_Processing 0x000031a4 F 56 .text.UART1_RecvINT_Processing + UART1_TASK 0x000031dc F 108 .text.UART1_TASK + UART2_RecvINT_Processing 0x00003248 F 68 .text.UART2_RecvINT_Processing + UART2_TASK 0x0000328c F 120 .text.UART2_TASK + Controller485_SendData 0x00003304 F 168 .text.Controller485_SendData + BUS485_Send 0x000033ac F 196 .text.BUS485_Send + MultSend_Task 0x00003470 F 116 .text.MultSend_Task + Set_GroupSend 0x000034e4 F 100 .text.Set_GroupSend + BUS485Send_Task 0x00003548 F 52 .text.BUS485Send_Task + BusIdle_Task 0x0000357c F 64 .text.BusIdle_Task + BusBusy_Task 0x000035bc F 92 .text.BusBusy_Task + Dbg_Println 0x00003618 F 12 .text.Dbg_Println + EEPROM_CheckSum 0x00003624 F 22 .text.EEPROM_CheckSum + EEPROM_ReadParaInfo 0x0000363c F 116 .text.EEPROM_ReadParaInfo + EEPROM_Validate_ParaInfo 0x000036b0 F 48 .text.EEPROM_Validate_ParaInfo + EEPROM_Default_ParaInfo 0x000036e0 F 32 .text.EEPROM_Default_ParaInfo + EEPROM_Init 0x00003700 F 84 .text.EEPROM_Init + TemCtrl_Init 0x00003754 F 340 .text.TemCtrl_Init + Ctrller_Ctrl_AirState 0x000038a8 F 176 .text.Ctrller_Ctrl_AirState + TemCtrl_Pro 0x00003958 F 176 .text.TemCtrl_Pro + Ctrller_CtrlAirState_Processing 0x00003a08 F 32 .text.Ctrller_CtrlAirState_Processing + Ctrller_RecData_Processing 0x00003a28 F 168 .text.Ctrller_RecData_Processing + NetCRC16_Check 0x00003ad0 F 76 .text.NetCRC16_Check + GetCRC16 0x00003b1c F 60 .text.GetCRC16 + Rs485AskCtrlSend 0x00003b58 F 92 .text.Rs485AskCtrlSend + IrSend_Rs485_Pro 0x00003bb4 F 268 .text.IrSend_Rs485_Pro + DIP_GetSwitchState 0x00003cc0 F 52 .text.DIP_GetSwitchState + DIP_Switch_Init 0x00003cf4 F 140 .text.DIP_Switch_Init + DIP_ScanTask 0x00003d80 F 152 .text.DIP_ScanTask + TK_Single_Longpress_prg 0x00003e18 F 296 .text.TK_Single_Longpress_prg + TK_Sampling_prog 0x00003f40 F 204 .text.TK_Sampling_prog + get_key_number 0x0000400c F 40 .text.get_key_number + get_key_number0 0x00004034 F 40 .text.get_key_number0 + get_key_number1 0x0000405c F 40 .text.get_key_number1 + get_key_number2 0x00004084 F 40 .text.get_key_number2 + TK_Scan_Start 0x000040ac F 104 .text.TK_Scan_Start + TK_Keymap_prog 0x00004114 F 2160 .text.TK_Keymap_prog + TK_overflow_predict 0x00004984 F 296 .text.TK_overflow_predict + TK_Baseline_tracking 0x00004aac F 1232 .text.TK_Baseline_tracking + TK_result_prog 0x00004f7c F 304 .text.TK_result_prog + TKEYIntHandler 0x000050ac F 160 .text.TKEYIntHandler + CORETHandler 0x0000514c F 348 .text.CORETHandler + std_clk_calib 0x000052a8 F 644 .text.std_clk_calib + __thenan_df 0x0000555c O 20 .rodata + __clz_tab 0x00005570 O 256 .rodata + _end_rodata 0x0000576c 0 .rodata + HWD 0x20000000 O 4 .data + _start_data 0x20000000 0 .data + CRC 0x20000004 O 4 .data + BT1 0x20000008 O 4 .data + BT0 0x2000000c O 4 .data + WWDT 0x20000010 O 4 .data + LPT 0x20000014 O 4 .data + RTC 0x20000018 O 4 .data + ETCB 0x2000001c O 4 .data + EPT0 0x20000020 O 4 .data + GPT0 0x20000024 O 4 .data + CA0 0x20000028 O 4 .data + SIO0 0x2000002c O 4 .data + I2C0 0x20000030 O 4 .data + SPI0 0x20000034 O 4 .data + UART2 0x20000038 O 4 .data + UART1 0x2000003c O 4 .data + UART0 0x20000040 O 4 .data + GPIOGRP 0x20000044 O 4 .data + GPIOB0 0x20000048 O 4 .data + GPIOA0 0x2000004c O 4 .data + ADC0 0x20000050 O 4 .data + TKEYBUF 0x20000054 O 4 .data + TKEY 0x20000058 O 4 .data + SYSCON 0x2000005c O 4 .data + IFC 0x20000060 O 4 .data + CK801 0x20000064 O 4 .data + s_tkey 0x20000068 O 1 .data + samp_setover_f 0x20000069 O 1 .data + scan_step_temp 0x2000006a O 1 .data + SigleTK_longpress_time 0x2000006c O 2 .data + tk_dataturn_en 0x2000006e O 1 .data + tk_overflow_en 0x2000006f O 1 .data + tk_div 0x20000070 O 34 .data + neg_build_bounce 0x20000092 O 1 .data + pos_build_bounce 0x20000093 O 1 .data + Valid_SingleKey_Num 0x20000094 O 1 .data + tk_scan_para0 0x20000098 O 4 .data + tk_scan_para1 0x2000009c O 4 .data + tk_scan_para2 0x200000a0 O 4 .data + TkeyRebaseTime 0x200000a4 O 1 .data + _end_data 0x200000a8 0 .data + Sav_Temp 0x200000a8 O 4 .bss + _bss_start 0x200000a8 0 .bss + Sys_RSR 0x200000ac O 4 .bss + SysTick_100us 0x200000b4 O 4 .bss + SysTick_1ms 0x200000b8 O 4 .bss + DealBuffer 0x200000bc O 100 .bss + DealLen 0x20000120 O 2 .bss + RS485_Comming 0x20000124 O 4 .bss + RS485_Comm_Flag 0x20000128 O 4 .bss + RS485_Comm_Start 0x2000012c O 4 .bss + RS485_Comm_End 0x20000130 O 4 .bss + RS485_Comming1 0x20000134 O 4 .bss + RS485_Comm_Flag1 0x20000138 O 4 .bss + RS485_Comm_Start1 0x2000013c O 4 .bss + RS485_Comm_End1 0x20000140 O 4 .bss + keymap_strict_mode 0x2000014c O 1 .bss + Press_debounce_data 0x20000150 O 1 .bss + TK_Lowpower_mode 0x20000151 O 1 .bss + TK_Lowpower_level 0x20000152 O 1 .bss + TK_longpress_time 0x20000154 O 4 .bss + Release_debounce_data 0x20000158 O 1 .bss + Key_mode 0x20000159 O 1 .bss + TK_icon 0x2000015a O 34 .bss + MultiTimes_Filter 0x2000017c O 1 .bss + Base_Speed 0x2000017d O 1 .bss + TK_IO_ENABLE 0x20000180 O 4 .bss + Valid_Key_Num 0x20000184 O 1 .bss + TK_senprd 0x20000186 O 34 .bss + TK_Wakeup_level 0x200001a8 O 1 .bss + TK_Triggerlevel 0x200001aa O 34 .bss + TK_EC_LEVEL 0x200001cc O 2 .bss + TK_FVR_LEVEL 0x200001ce O 2 .bss + TK_BaseCnt 0x200001d0 O 4 .bss + TK_PSEL_MODE 0x200001d4 O 2 .bss + R_CMPB_BUF 0x200001d8 O 4 .bss + R_CMPA_BUF 0x200001dc O 4 .bss + R_SIORX_buf 0x200001e0 O 40 .bss + g_uart 0x20000208 O 348 .bss + m_send 0x20000364 O 136 .bss + g_eeprom 0x200003ec O 8 .bss + g_mcu_dev 0x200003f4 O 37 .bss + TempCtrl 0x2000041c O 40 .bss + g_Dip 0x20000444 O 16 .bss + Tk_press_time_cnt4 0x20000454 O 4 .bss + baseline_data0 0x20000458 O 34 .bss + TK_Postive_build2 0x2000047a O 17 .bss + Key_Map1 0x2000048c O 4 .bss + Valid_Key_Num_CNT 0x20000490 O 3 .bss + offset_data2_abs 0x20000494 O 34 .bss + time_cnt0 0x200004b8 O 4 .bss + offset0_max_tempB 0x200004bc O 2 .bss + scan_f 0x200004be O 1 .bss + offset_data1_abs 0x200004c0 O 34 .bss + TK_Slider1_Value 0x200004e2 O 1 .bss + TK_Wheel_Value 0x200004e3 O 1 .bss + Release_debounce0 0x200004e4 O 17 .bss + Key_Map0 0x200004f8 O 4 .bss + Tk_press_time_cnt2 0x200004fc O 4 .bss + TK_Slider0_Seq 0x20000500 O 4 .bss + bsae_over_f 0x20000504 O 1 .bss + Press_debounce0 0x20000505 O 17 .bss + Valid_key_f 0x20000516 O 1 .bss + offset_data0 0x20000518 O 34 .bss + offset2_max_tempA 0x2000053a O 2 .bss + TK_Scan_Freq1 0x2000053c O 4 .bss + sampling_data1 0x20000540 O 34 .bss + TK_Slider1_Level 0x20000562 O 1 .bss + TK_Slider1_Function 0x20000563 O 1 .bss + base_update_fs 0x20000564 O 3 .bss + TK_Slider0_Function 0x20000567 O 1 .bss + Tk_press_time_cnt3 0x20000568 O 4 .bss + TK_Scan_Freq2 0x2000056c O 4 .bss + Key_Map2 0x20000570 O 4 .bss + Release_debounce1 0x20000574 O 17 .bss + tk_overflow_f 0x20000585 O 1 .bss + time_cnt2 0x20000588 O 4 .bss + TK_Negtive_build2 0x2000058c O 17 .bss + base_update_f 0x2000059d O 1 .bss + TK_Postive_build1 0x2000059e O 17 .bss + offset_max_data 0x200005b0 O 64 .bss + time_cnt 0x200005f0 O 4 .bss + lpt_scan_pend_cnt 0x200005f4 O 2 .bss + TK_track_cnt 0x200005f6 O 1 .bss + Key_Map 0x200005f8 O 4 .bss + Key_Map2_temp 0x200005fc O 4 .bss + offset2_max_tempB 0x20000600 O 2 .bss + baseline_data1 0x20000602 O 34 .bss + TK_Postive_build0 0x20000624 O 17 .bss + sampling_data2 0x20000636 O 34 .bss + offset_data1 0x20000658 O 34 .bss + TK_ovrdect_cnt 0x2000067a O 1 .bss + TK_Slider0_Level 0x2000067b O 1 .bss + time_cnt1 0x2000067c O 4 .bss + Press_debounce2 0x20000680 O 17 .bss + Tk_press_time_cnt0 0x20000694 O 4 .bss + Key_Map0_temp 0x20000698 O 4 .bss + TK_Negtive_build1 0x2000069c O 17 .bss + coret_spread_step 0x200006ad O 1 .bss + time_cnts 0x200006ae O 3 .bss + offset0_max_tempA 0x200006b2 O 2 .bss + tk_num 0x200006b4 O 1 .bss + TK_Slider1_Seq 0x200006b5 O 4 .bss + offset1_max_tempB 0x200006ba O 2 .bss + TK_Negtive_build0 0x200006bc O 17 .bss + R_Debounce_temp2 0x200006d0 O 4 .bss + Tk_press_time_cnt1 0x200006d4 O 4 .bss + Press_debounce1 0x200006d8 O 17 .bss + TK_Wheel_Seq 0x200006e9 O 4 .bss + TK_Slider0_Value 0x200006ed O 1 .bss + Release_debounce2 0x200006ee O 17 .bss + r_Key_Map_Temp 0x20000700 O 4 .bss + tk_seque 0x20000704 O 17 .bss + scan_step 0x20000715 O 1 .bss + TK_Wheel_Level 0x20000716 O 1 .bss + baseline_data2 0x20000718 O 34 .bss + tk_sampling_max 0x2000073a O 34 .bss + Key_Map1_temp 0x2000075c O 4 .bss + coret_spread_cnt 0x20000760 O 2 .bss + offset_data0_abs 0x20000762 O 34 .bss + offset_data2 0x20000784 O 34 .bss + TK_Wheel_Function 0x200007a6 O 1 .bss + offset1_max_tempA 0x200007a8 O 2 .bss + sampling_data0 0x200007aa O 34 .bss + TK_Scan_Freq0 0x200007cc O 4 .bss + _ebss 0x200007d0 0 .bss + _end 0x200007d0 0 .bss + end 0x200007d0 0 .bss + __kernel_stack 0x20000ff8 0 .text + + (w:Weak d:Deubg F:Function f:File name O:Zero) + + +====================================================================== + +Memory Map of the image + + Image Entry point : 0x0000010c + + Region ROM (Base: 0x00000000, Size: 0x0000576c, Max: 0x00010000) + + Base Addr Size Type Attr Idx Section Name Object + 0x00000000 0x000001b4 Code RO 16 .text Obj/arch_crt0.o + 0x000001b4 0x000009aa Code RO 1073 .text pow.o + 0x00000b5e 0x00000006 Code RO 1081 .text fabs.o + 0x00000b64 0x00000020 Code RO 1087 .text scalbn.o + 0x00000b84 0x00000178 Code RO 1094 .text sqrt.o + 0x00000cfc 0x00000014 Code RO 1105 .text _csky_case_uqi.o + 0x00000d10 0x00000038 Code RO 1110 .text _fixunsdfsi.o + 0x00000d48 0x0000033a Code RO 1117 .text _addsub_df.o + 0x00001082 0x00000002 PAD + 0x00001084 0x00000234 Code RO 1124 .text _mul_df.o + 0x000012b8 0x00000154 Code RO 1131 .text _div_df.o + 0x0000140c 0x0000003c Code RO 1138 .text _gt_df.o + 0x00001448 0x0000003c Code RO 1145 .text _ge_df.o + 0x00001484 0x0000003a Code RO 1152 .text _le_df.o + 0x000014be 0x00000002 PAD + 0x000014c0 0x00000070 Code RO 1159 .text _si_to_df.o + 0x00001530 0x00000070 Code RO 1166 .text _df_to_si.o + 0x000015a0 0x00000054 Code RO 1180 .text _usi_to_df.o + 0x000015f4 0x00000044 Code RO 1187 .text _muldi3.o + 0x00001638 0x00000040 Code RO 1194 .text _clzsi2.o + 0x00001678 0x0000019c Code RO 1200 .text _pack_df.o + 0x00001814 0x000000c4 Code RO 1207 .text _unpack_df.o + 0x000018d8 0x0000008c Code RO 1214 .text _fpcmp_parts_df.o + 0x00001964 0x00000088 Code RO 1235 .text memset_fast.o + 0x000019ec 0x00000064 Code RO 1240 .text memcpy_fast.o + 0x00001a50 0x00000038 Code RO 28 .text.__main Obj/arch_mem_init.o + 0x00001a88 0x00000074 Code RO 61 .text.SYSCON_General_CMD.part.0 Obj/FWlib_apt32f102_syscon.o + 0x00001afc 0x0000004c Code RO 62 .text.SYSCON_RST_VALUE Obj/FWlib_apt32f102_syscon.o + 0x00001b48 0x00000030 Code RO 64 .text.SYSCON_General_CMD Obj/FWlib_apt32f102_syscon.o + 0x00001b78 0x00000088 Code RO 65 .text.SystemCLK_HCLKDIV_PCLKDIV_Config Obj/FWlib_apt32f102_syscon.o + 0x00001c00 0x00000028 Code RO 68 .text.SYSCON_HFOSC_SELECTE Obj/FWlib_apt32f102_syscon.o + 0x00001c28 0x0000003c Code RO 69 .text.SYSCON_WDT_CMD Obj/FWlib_apt32f102_syscon.o + 0x00001c64 0x00000014 Code RO 70 .text.SYSCON_IWDCNT_Reload Obj/FWlib_apt32f102_syscon.o + 0x00001c78 0x00000018 Code RO 71 .text.SYSCON_IWDCNT_Config Obj/FWlib_apt32f102_syscon.o + 0x00001c90 0x00000020 Code RO 72 .text.SYSCON_LVD_Config Obj/FWlib_apt32f102_syscon.o + 0x00001cb0 0x0000001c Code RO 73 .text.LVD_Int_Enable Obj/FWlib_apt32f102_syscon.o + 0x00001ccc 0x0000001c Code RO 75 .text.IWDT_Int_Enable Obj/FWlib_apt32f102_syscon.o + 0x00001ce8 0x00000040 Code RO 78 .text.EXTI_trigger_CMD Obj/FWlib_apt32f102_syscon.o + 0x00001d28 0x00000034 Code RO 79 .text.EXTI_interrupt_CMD Obj/FWlib_apt32f102_syscon.o + 0x00001d5c 0x00000004 Code RO 80 .text.GPIO_EXTI_interrupt Obj/FWlib_apt32f102_syscon.o + 0x00001d60 0x00000010 Code RO 89 .text.EXI3_Int_Enable Obj/FWlib_apt32f102_syscon.o + 0x00001d70 0x0000000c Code RO 103 .text.SYSCON_Int_Enable Obj/FWlib_apt32f102_syscon.o + 0x00001d7c 0x0000000c Code RO 104 .text.SYSCON_Int_Disable Obj/FWlib_apt32f102_syscon.o + 0x00001d88 0x00000024 Code RO 112 .text.SYSCON_INT_Priority Obj/FWlib_apt32f102_syscon.o + 0x00001dac 0x00000030 Code RO 113 .text.Set_INT_Priority Obj/FWlib_apt32f102_syscon.o + 0x00001ddc 0x00000064 Code RO 130 .text.GPIO_DeInit Obj/FWlib_apt32f102_gpio.o + 0x00001e40 0x000000e0 Code RO 132 .text.GPIO_Init Obj/FWlib_apt32f102_gpio.o + 0x00001f20 0x00000014 Code RO 135 .text.GPIO_PullHigh_Init Obj/FWlib_apt32f102_gpio.o + 0x00001f34 0x0000000e Code RO 141 .text.GPIO_DriveStrength_EN Obj/FWlib_apt32f102_gpio.o + 0x00001f44 0x0000010c Code RO 143 .text.GPIO_IntGroup_Set Obj/FWlib_apt32f102_gpio.o + 0x00002050 0x0000006c Code RO 145 .text.GPIOB0_EXI_Init Obj/FWlib_apt32f102_gpio.o + 0x000020bc 0x00000008 Code RO 147 .text.GPIO_Write_High Obj/FWlib_apt32f102_gpio.o + 0x000020c4 0x00000008 Code RO 148 .text.GPIO_Write_Low Obj/FWlib_apt32f102_gpio.o + 0x000020cc 0x00000016 Code RO 150 .text.GPIO_Reverse Obj/FWlib_apt32f102_gpio.o + 0x000020e2 0x00000010 Code RO 151 .text.GPIO_Read_Status Obj/FWlib_apt32f102_gpio.o + 0x000020f4 0x00000014 Code RO 185 .text.LPT_Soft_Reset Obj/FWlib_apt32f102_lpt.o + 0x00002108 0x00000010 Code RO 234 .text.WWDT_CNT_Load Obj/FWlib_apt32f102_wwdt.o + 0x00002118 0x0000001c Code RO 303 .text.BT_DeInit Obj/FWlib_apt32f102_bt.o + 0x00002134 0x00000008 Code RO 305 .text.BT_Start Obj/FWlib_apt32f102_bt.o + 0x0000213c 0x0000000a Code RO 309 .text.BT_Soft_Reset Obj/FWlib_apt32f102_bt.o + 0x00002146 0x00000018 Code RO 310 .text.BT_Configure Obj/FWlib_apt32f102_bt.o + 0x0000215e 0x0000002c Code RO 311 .text.BT_ControlSet_Configure Obj/FWlib_apt32f102_bt.o + 0x0000218a 0x00000006 Code RO 312 .text.BT_Period_CMP_Write Obj/FWlib_apt32f102_bt.o + 0x00002190 0x00000012 Code RO 319 .text.BT_ConfigInterrupt_CMD Obj/FWlib_apt32f102_bt.o + 0x000021a4 0x00000010 Code RO 322 .text.BT1_INT_ENABLE Obj/FWlib_apt32f102_bt.o + 0x000021b4 0x00000018 Code RO 435 .text.UART0_DeInit Obj/FWlib_apt32f102_uart.o + 0x000021cc 0x00000018 Code RO 436 .text.UART1_DeInit Obj/FWlib_apt32f102_uart.o + 0x000021e4 0x00000018 Code RO 437 .text.UART2_DeInit Obj/FWlib_apt32f102_uart.o + 0x000021fc 0x0000001c Code RO 440 .text.UART1_Int_Enable Obj/FWlib_apt32f102_uart.o + 0x00002218 0x0000001c Code RO 442 .text.UART2_Int_Enable Obj/FWlib_apt32f102_uart.o + 0x00002234 0x000000ec Code RO 450 .text.UART_IO_Init Obj/FWlib_apt32f102_uart.o + 0x00002320 0x00000010 Code RO 452 .text.UARTInitRxTxIntEn Obj/FWlib_apt32f102_uart.o + 0x00002330 0x0000001e Code RO 456 .text.UARTTransmit Obj/FWlib_apt32f102_uart.o + 0x00002350 0x00000028 Code RO 516 .text.EPT_Stop Obj/FWlib_apt32f102_ept.o + 0x00002378 0x0000002a Code RO 644 .text.ReadDataArry_U8 Obj/FWlib_apt32f102_ifc.o + 0x000023a4 0x00000034 Code RO 705 .text.startup.main Obj/main.o + 0x000023d8 0x0000002c Code RO 721 .text.delay_nms Obj/mcu_initial.o + 0x00002404 0x00000022 Code RO 722 .text.delay_nus Obj/mcu_initial.o + 0x00002428 0x00000060 Code RO 725 .text.BT_CONFIG Obj/mcu_initial.o + 0x00002488 0x00000062 Code RO 731 .text.SYSCON_CONFIG Obj/mcu_initial.o + 0x000024ec 0x00000094 Code RO 732 .text.APT32F102_init Obj/mcu_initial.o + 0x00002580 0x000000f0 Code RO 748 .text.SYSCONIntHandler Obj/mcu_interrupt.o + 0x00002670 0x00000068 Code RO 749 .text.IFCIntHandler Obj/mcu_interrupt.o + 0x000026d8 0x00000068 Code RO 750 .text.ADCIntHandler Obj/mcu_interrupt.o + 0x00002740 0x000001ac Code RO 751 .text.EPT0IntHandler Obj/mcu_interrupt.o + 0x000028ec 0x00000034 Code RO 752 .text.WWDTHandler Obj/mcu_interrupt.o + 0x00002920 0x00000080 Code RO 753 .text.GPT0IntHandler Obj/mcu_interrupt.o + 0x000029a0 0x00000070 Code RO 754 .text.RTCIntHandler Obj/mcu_interrupt.o + 0x00002a10 0x00000060 Code RO 755 .text.UART0IntHandler Obj/mcu_interrupt.o + 0x00002a70 0x00000094 Code RO 756 .text.UART1IntHandler Obj/mcu_interrupt.o + 0x00002b04 0x00000094 Code RO 757 .text.UART2IntHandler Obj/mcu_interrupt.o + 0x00002b98 0x000000e8 Code RO 758 .text.SPI0IntHandler Obj/mcu_interrupt.o + 0x00002c80 0x00000054 Code RO 759 .text.SIO0IntHandler Obj/mcu_interrupt.o + 0x00002cd4 0x00000030 Code RO 760 .text.EXI0IntHandler Obj/mcu_interrupt.o + 0x00002d04 0x00000030 Code RO 761 .text.EXI1IntHandler Obj/mcu_interrupt.o + 0x00002d34 0x00000048 Code RO 762 .text.EXI2to3IntHandler Obj/mcu_interrupt.o + 0x00002d7c 0x0000006c Code RO 763 .text.EXI4to9IntHandler Obj/mcu_interrupt.o + 0x00002de8 0x00000060 Code RO 764 .text.EXI10to15IntHandler Obj/mcu_interrupt.o + 0x00002e48 0x00000034 Code RO 765 .text.LPTIntHandler Obj/mcu_interrupt.o + 0x00002e7c 0x0000004c Code RO 766 .text.BT0IntHandler Obj/mcu_interrupt.o + 0x00002ec8 0x00000070 Code RO 767 .text.BT1IntHandler Obj/mcu_interrupt.o + 0x00002f38 0x00000002 Code RO 768 .text.PriviledgeVioHandler Obj/mcu_interrupt.o + 0x00002f3a 0x00000008 Code RO 770 .text.PendTrapHandler Obj/mcu_interrupt.o + 0x00002f42 0x00000008 Code RO 771 .text.Trap3Handler Obj/mcu_interrupt.o + 0x00002f4a 0x00000008 Code RO 772 .text.Trap2Handler Obj/mcu_interrupt.o + 0x00002f52 0x00000008 Code RO 773 .text.Trap1Handler Obj/mcu_interrupt.o + 0x00002f5a 0x00000008 Code RO 774 .text.Trap0Handler Obj/mcu_interrupt.o + 0x00002f62 0x00000008 Code RO 775 .text.UnrecExecpHandler Obj/mcu_interrupt.o + 0x00002f6a 0x00000008 Code RO 776 .text.BreakPointHandler Obj/mcu_interrupt.o + 0x00002f72 0x00000008 Code RO 777 .text.AccessErrHandler Obj/mcu_interrupt.o + 0x00002f7a 0x00000008 Code RO 778 .text.IllegalInstrHandler Obj/mcu_interrupt.o + 0x00002f82 0x00000008 Code RO 779 .text.MisalignedHandler Obj/mcu_interrupt.o + 0x00002f8a 0x00000008 Code RO 780 .text.CNTAIntHandler Obj/mcu_interrupt.o + 0x00002f92 0x00000008 Code RO 781 .text.I2CIntHandler Obj/mcu_interrupt.o + 0x00002f9c 0x00000024 Code RO 798 .text.__divsi3 Obj/drivers_apt32f102.o + 0x00002fc0 0x00000024 Code RO 799 .text.__udivsi3 Obj/drivers_apt32f102.o + 0x00002fe4 0x00000024 Code RO 801 .text.__umodsi3 Obj/drivers_apt32f102.o + 0x00003008 0x00000006 Code RO 819 .text.CK_CPU_EnAllNormalIrq Obj/drivers_apt32f102_ck801.o + 0x0000300e 0x00000006 Code RO 820 .text.CK_CPU_DisAllNormalIrq Obj/drivers_apt32f102_ck801.o + 0x00003014 0x00000158 Code RO 834 .text.UARTx_Init Obj/SYSTEM_uart.o + 0x0000316c 0x00000038 Code RO 835 .text.UART0_RecvINT_Processing Obj/SYSTEM_uart.o + 0x000031a4 0x00000038 Code RO 837 .text.UART1_RecvINT_Processing Obj/SYSTEM_uart.o + 0x000031dc 0x0000006c Code RO 838 .text.UART1_TASK Obj/SYSTEM_uart.o + 0x00003248 0x00000044 Code RO 839 .text.UART2_RecvINT_Processing Obj/SYSTEM_uart.o + 0x0000328c 0x00000078 Code RO 840 .text.UART2_TASK Obj/SYSTEM_uart.o + 0x00003304 0x000000a8 Code RO 843 .text.Controller485_SendData Obj/SYSTEM_uart.o + 0x000033ac 0x000000c4 Code RO 844 .text.BUS485_Send Obj/SYSTEM_uart.o + 0x00003470 0x00000074 Code RO 845 .text.MultSend_Task Obj/SYSTEM_uart.o + 0x000034e4 0x00000064 Code RO 846 .text.Set_GroupSend Obj/SYSTEM_uart.o + 0x00003548 0x00000034 Code RO 849 .text.BUS485Send_Task Obj/SYSTEM_uart.o + 0x0000357c 0x00000040 Code RO 851 .text.BusIdle_Task Obj/SYSTEM_uart.o + 0x000035bc 0x0000005c Code RO 852 .text.BusBusy_Task Obj/SYSTEM_uart.o + 0x00003618 0x0000000c Code RO 854 .text.Dbg_Println Obj/SYSTEM_uart.o + 0x00003624 0x00000016 Code RO 872 .text.EEPROM_CheckSum Obj/SYSTEM_eeprom.o + 0x0000363c 0x00000074 Code RO 873 .text.EEPROM_ReadParaInfo Obj/SYSTEM_eeprom.o + 0x000036b0 0x00000030 Code RO 876 .text.EEPROM_Validate_ParaInfo Obj/SYSTEM_eeprom.o + 0x000036e0 0x00000020 Code RO 877 .text.EEPROM_Default_ParaInfo Obj/SYSTEM_eeprom.o + 0x00003700 0x00000054 Code RO 878 .text.EEPROM_Init Obj/SYSTEM_eeprom.o + 0x00003754 0x00000154 Code RO 928 .text.TemCtrl_Init Obj/SYSTEM_tempctrl_unit.o + 0x000038a8 0x000000b0 Code RO 931 .text.Ctrller_Ctrl_AirState Obj/SYSTEM_tempctrl_unit.o + 0x00003958 0x000000b0 Code RO 932 .text.TemCtrl_Pro Obj/SYSTEM_tempctrl_unit.o + 0x00003a08 0x00000020 Code RO 935 .text.Ctrller_CtrlAirState_Processing Obj/SYSTEM_tempctrl_unit.o + 0x00003a28 0x000000a8 Code RO 936 .text.Ctrller_RecData_Processing Obj/SYSTEM_tempctrl_unit.o + 0x00003ad0 0x0000004c Code RO 954 .text.NetCRC16_Check Obj/SYSTEM_uart_protocol.o + 0x00003b1c 0x0000003c Code RO 955 .text.GetCRC16 Obj/SYSTEM_uart_protocol.o + 0x00003b58 0x0000005c Code RO 957 .text.Rs485AskCtrlSend Obj/SYSTEM_uart_protocol.o + 0x00003bb4 0x0000010c Code RO 958 .text.IrSend_Rs485_Pro Obj/SYSTEM_uart_protocol.o + 0x00003cc0 0x00000034 Code RO 974 .text.DIP_GetSwitchState Obj/SYSTEM_dip_switch.o + 0x00003cf4 0x0000008c Code RO 975 .text.DIP_Switch_Init Obj/SYSTEM_dip_switch.o + 0x00003d80 0x00000098 Code RO 976 .text.DIP_ScanTask Obj/SYSTEM_dip_switch.o + 0x00003e18 0x00000128 Code RO 1011 .text.TK_Single_Longpress_prg FWlib_apt32f102_tkey_f_1_18.o + 0x00003f40 0x000000cc Code RO 1012 .text.TK_Sampling_prog FWlib_apt32f102_tkey_f_1_18.o + 0x0000400c 0x00000028 Code RO 1016 .text.get_key_number FWlib_apt32f102_tkey_f_1_18.o + 0x00004034 0x00000028 Code RO 1017 .text.get_key_number0 FWlib_apt32f102_tkey_f_1_18.o + 0x0000405c 0x00000028 Code RO 1018 .text.get_key_number1 FWlib_apt32f102_tkey_f_1_18.o + 0x00004084 0x00000028 Code RO 1019 .text.get_key_number2 FWlib_apt32f102_tkey_f_1_18.o + 0x000040ac 0x00000068 Code RO 1023 .text.TK_Scan_Start FWlib_apt32f102_tkey_f_1_18.o + 0x00004114 0x00000870 Code RO 1024 .text.TK_Keymap_prog FWlib_apt32f102_tkey_f_1_18.o + 0x00004984 0x00000128 Code RO 1025 .text.TK_overflow_predict FWlib_apt32f102_tkey_f_1_18.o + 0x00004aac 0x000004d0 Code RO 1026 .text.TK_Baseline_tracking FWlib_apt32f102_tkey_f_1_18.o + 0x00004f7c 0x00000130 Code RO 1027 .text.TK_result_prog FWlib_apt32f102_tkey_f_1_18.o + 0x000050ac 0x000000a0 Code RO 1033 .text.TKEYIntHandler FWlib_apt32f102_tkey_f_1_18.o + 0x0000514c 0x0000015c Code RO 1034 .text.CORETHandler FWlib_apt32f102_tkey_f_1_18.o + 0x000052a8 0x00000284 Code RO 1053 .text.std_clk_calib FWlib_apt32f102_clkcalib.o + 0x0000552c 0x00000030 Data RO 1076 .rodata pow.o + 0x0000555c 0x00000014 Data RO 1176 .rodata _thenan_df.o + 0x00005570 0x00000100 Data RO 1224 .rodata _clz.o + 0x00005670 0x0000000e Data RO 706 .rodata.str1.1 Obj/main.o + 0x0000567e 0x00000080 Data RO 883 .rodata.str1.1 Obj/SYSTEM_eeprom.o + 0x000056fe 0x0000004f Data RO 937 .rodata.str1.1 Obj/SYSTEM_tempctrl_unit.o + 0x0000574d 0x0000001f Data RO 977 .rodata.str1.1 Obj/SYSTEM_dip_switch.o + + Region RAM (Base: 0x20000000, Size: 0x000007d0, Max: 0x00001000) + + Base Addr Size Type Attr Idx Section Name Object + 0x20000000 0x00000068 Data RW 796 .data Obj/drivers_apt32f102.o + 0x20000068 0x0000003d Data RW 1001 .data FWlib_apt32f102_tkey_f_1_18.o + 0x200000a5 0x00000003 PAD + 0x200000a8 0x00000008 Zero RW 704 .bss Obj/main.o + 0x200000b0 0x0000000c Zero RW 747 .bss Obj/mcu_interrupt.o + 0x200000bc 0x00000088 Zero RW 833 .bss Obj/SYSTEM_uart.o + 0x20000144 0x00000004 Zero RW 927 .bss Obj/SYSTEM_tempctrl_unit.o + 0x20000148 0x00000004 Zero RW 973 .bss Obj/SYSTEM_dip_switch.o + 0x2000014c 0x00000001 Zero RW 1002 .bss FWlib_apt32f102_tkey_f_1_18.o + 0x2000014d 0x00000003 PAD + 0x20000150 0x00000086 Zero RW 676 COMMON Obj/FWlib_apt32f102_tkey_parameter.o + 0x200001d6 0x00000002 PAD + 0x200001d8 0x00000030 Zero RW 794 COMMON Obj/mcu_interrupt.o + 0x20000208 0x000001e4 Zero RW 868 COMMON Obj/SYSTEM_uart.o + 0x200003ec 0x0000002d Zero RW 896 COMMON Obj/SYSTEM_eeprom.o + 0x20000419 0x00000003 PAD + 0x2000041c 0x00000028 Zero RW 950 COMMON Obj/SYSTEM_tempctrl_unit.o + 0x20000444 0x00000010 Zero RW 990 COMMON Obj/SYSTEM_dip_switch.o + 0x20000454 0x0000037c Zero RW 1049 COMMON FWlib_apt32f102_tkey_f_1_18.o + + Region *default* (Base: 0x00000000, Size: 0x00000000, Max: 0xffffffff) + + +====================================================================== + +Image component sizes + + Code RO Data RW Data ZI Data Debug Object Name + + 0 0 0 0 0 linker stubs + 436 0 0 0 279 Obj/arch_crt0.o + 56 0 0 0 813 Obj/arch_mem_init.o + 0 0 0 0 0 Obj/arch_apt32f102_iostring.o + 852 0 0 0 21139 Obj/FWlib_apt32f102_syscon.o + 788 0 0 0 13094 Obj/FWlib_apt32f102_gpio.o + 20 0 0 0 13549 Obj/FWlib_apt32f102_lpt.o + 0 0 0 0 0 Obj/FWlib_apt32f102_crc.o + 16 0 0 0 8327 Obj/FWlib_apt32f102_wwdt.o + 0 0 0 0 0 Obj/FWlib_apt32f102_countera.o + 0 0 0 0 0 Obj/FWlib_apt32f102_et.o + 154 0 0 0 11840 Obj/FWlib_apt32f102_bt.o + 0 0 0 0 0 Obj/FWlib_apt32f102_gpt.o + 0 0 0 0 0 Obj/FWlib_apt32f102_sio.o + 0 0 0 0 0 Obj/FWlib_apt32f102_spi.o + 410 0 0 0 11721 Obj/FWlib_apt32f102_uart.o + 0 0 0 0 0 Obj/FWlib_apt32f102_i2c.o + 40 0 0 0 28182 Obj/FWlib_apt32f102_ept.o + 0 0 0 0 0 Obj/FWlib_apt32f102_rtc.o + 0 0 0 0 0 Obj/FWlib_apt32f102_adc.o + 42 0 0 0 16689 Obj/FWlib_apt32f102_ifc.o + 0 0 0 134 8693 Obj/FWlib_apt32f102_tkey_parameter.o + 0 0 0 0 0 Obj/FWlib_apt32f102_coret.o + 52 14 0 8 12082 Obj/main.o + 420 0 0 0 16825 Obj/mcu_initial.o + 2586 0 0 60 15349 Obj/mcu_interrupt.o + 108 0 104 0 8379 Obj/drivers_apt32f102.o + 12 0 0 0 8319 Obj/drivers_apt32f102_ck801.o + 1552 0 0 620 16226 Obj/SYSTEM_uart.o + 302 128 0 45 13118 Obj/SYSTEM_eeprom.o + 0 0 0 0 0 Obj/SYSTEM_Bootload_fun.o + 892 79 0 44 12637 Obj/SYSTEM_tempctrl_unit.o + 496 0 0 0 12106 Obj/SYSTEM_uart_protocol.o + 344 31 0 20 11467 Obj/SYSTEM_dip_switch.o + 0 0 0 0 0 Obj/__rt_entry.o + ------------------------------------------------------------ + 9578 252 104 931 260834 Object Totals + 4 0 3 8 0 Pad + 0 0 0 0 0 LD_GEN + + ------------------------------------------------------------ + [Library Name]: .\lib_102TKey_f_1_18B_240629.a + ------------------------------------------------------------ + Code RO Data RW Data ZI Data Debug Library Member Name + + 5264 0 61 893 20070 FWlib_apt32f102_tkey_f_1_18.o + ------------------------------------------------------------ + 5264 0 61 893 20070 Library Totals + 0 0 0 0 0 Pad + 0 0 0 0 0 LD_GEN + + ------------------------------------------------------------ + [Library Name]: .\lib_102ClkCalib_1_03.a + ------------------------------------------------------------ + Code RO Data RW Data ZI Data Debug Library Member Name + + 644 0 0 0 8675 FWlib_apt32f102_clkcalib.o + ------------------------------------------------------------ + 644 0 0 0 8675 Library Totals + 0 0 0 0 0 Pad + 0 0 0 0 0 LD_GEN + + ------------------------------------------------------------ + [Library Name]: d:/app/cdkrepo/toolchain/ckv2elfminilib/v3.10.29/r/bin/../lib/gcc/csky-elfabiv2/6.3.0/../../../../csky-elfabiv2/lib/ck801\libm.a + ------------------------------------------------------------ + Code RO Data RW Data ZI Data Debug Library Member Name + + 2474 48 0 0 0 pow.o + 6 0 0 0 0 fabs.o + 32 0 0 0 0 scalbn.o + 376 0 0 0 0 sqrt.o + ------------------------------------------------------------ + 2888 48 0 0 0 Library Totals + 0 0 0 0 0 Pad + 0 0 0 0 0 LD_GEN + + ------------------------------------------------------------ + [Library Name]: d:/app/cdkrepo/toolchain/ckv2elfminilib/v3.10.29/r/bin/../lib/gcc/csky-elfabiv2/6.3.0/ck801\libgcc.a + ------------------------------------------------------------ + Code RO Data RW Data ZI Data Debug Library Member Name + + 20 0 0 0 0 _csky_case_uqi.o + 56 0 0 0 0 _fixunsdfsi.o + 826 0 0 0 0 _addsub_df.o + 564 0 0 0 0 _mul_df.o + 340 0 0 0 0 _div_df.o + 60 0 0 0 0 _gt_df.o + 60 0 0 0 0 _ge_df.o + 58 0 0 0 0 _le_df.o + 112 0 0 0 0 _si_to_df.o + 112 0 0 0 0 _df_to_si.o + 0 20 0 0 0 _thenan_df.o + 84 0 0 0 0 _usi_to_df.o + 68 0 0 0 0 _muldi3.o + 64 0 0 0 0 _clzsi2.o + 412 0 0 0 0 _pack_df.o + 196 0 0 0 0 _unpack_df.o + 140 0 0 0 0 _fpcmp_parts_df.o + 0 256 0 0 0 _clz.o + ------------------------------------------------------------ + 3172 276 0 0 0 Library Totals + 0 0 0 0 0 Pad + 0 0 0 0 0 LD_GEN + + ------------------------------------------------------------ + [Library Name]: d:/app/cdkrepo/toolchain/ckv2elfminilib/v3.10.29/r/bin/../lib/gcc/csky-elfabiv2/6.3.0/../../../../csky-elfabiv2/lib/ck801\libc.a + ------------------------------------------------------------ + Code RO Data RW Data ZI Data Debug Library Member Name + + 136 0 0 0 0 memset_fast.o + 100 0 0 0 0 memcpy_fast.o + 0 0 0 0 0 strncmp.o + ------------------------------------------------------------ + 236 0 0 0 0 Library Totals + 0 0 0 0 0 Pad + 0 0 0 0 0 LD_GEN + + ------------------------------------------------------------ + +====================================================================== + + + Code RO Data RW Data ZI Data Debug + 21786 576 168 1832 289579 Grand Totals + 21786 576 168 1832 289579 Elf Image Totals + 21786 576 168 0 0 ROM Totals + +====================================================================== + +Total RO Size (Code + RO Data) 22362 ( 21.84kB) +Total RW Size (RW Data + ZI Data) 2000 ( 1.95kB) +Total ROM Size (Code + RO Data + RW Data) 22530 ( 22.00kB) + +====================================================================== diff --git a/T1_TC_ZH_V01_20251128/Source/MD203F8P.mk b/Source/MD203F8P.mk similarity index 99% rename from T1_TC_ZH_V01_20251128/Source/MD203F8P.mk rename to Source/MD203F8P.mk index 7b32997..103edc0 100644 --- a/T1_TC_ZH_V01_20251128/Source/MD203F8P.mk +++ b/Source/MD203F8P.mk @@ -10,7 +10,7 @@ ProjectPath :=./ IntermediateDirectory :=Obj OutDir :=$(IntermediateDirectory) User :=jane -Date :=27/11/2025 +Date :=09/02/2026 CDKPath :=D:/app/CDK ToolchainPath :=D:/app/CDKRepo/Toolchain/CKV2ElfMinilib/V3.10.29/R/ LinkerName :=csky-elfabiv2-gcc @@ -39,7 +39,7 @@ SourceSwitch :=-c ObjdumpSwitch :=-S ObjcopySwitch :=-O ihex ObjcopyBinSwitch :=-O binary -OutputFile :=T1_TC_34650_ZH_V01 +OutputFile :=T1_TC_ZH_V02_202602091700 ObjectSwitch :=-o ArchiveOutputSwitch := PreprocessOnlySwitch :=-E diff --git a/T1_TC_ZH_V01_20251128/Source/MD203F8P.modify.bat b/Source/MD203F8P.modify.bat similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/MD203F8P.modify.bat rename to Source/MD203F8P.modify.bat diff --git a/T1_TC_ZH_V01_20251128/Source/MD203F8P.txt b/Source/MD203F8P.txt similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/MD203F8P.txt rename to Source/MD203F8P.txt diff --git a/T1_TC_ZH_V01_20251128/Source/Makefile b/Source/Makefile similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Makefile rename to Source/Makefile diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_adc.d b/Source/Obj/FWlib_apt32f102_adc.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_adc.d rename to Source/Obj/FWlib_apt32f102_adc.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_adc.o b/Source/Obj/FWlib_apt32f102_adc.o similarity index 64% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_adc.o rename to Source/Obj/FWlib_apt32f102_adc.o index e6ba4e19628a4a5d874c5ceeef91161ae4ea0bab..e094636395e116b0b18d20297190ee2210ab5a06 100644 GIT binary patch delta 6785 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 dJ!^&*o>~* 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 diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_coret.d b/Source/Obj/FWlib_apt32f102_coret.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_coret.d rename to Source/Obj/FWlib_apt32f102_coret.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_coret.o b/Source/Obj/FWlib_apt32f102_coret.o similarity index 52% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_coret.o rename to Source/Obj/FWlib_apt32f102_coret.o index ba028223ffc94558e675c25a75bbb163fe65effc..50e9ad5000829adad871ca0d5dc6bca58e379845 100644 GIT binary patch delta 5372 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 delta 5370 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 SZBL|IJ}TBTuF#X7=J`K{DT7@A diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_ept.d b/Source/Obj/FWlib_apt32f102_ept.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_ept.d rename to Source/Obj/FWlib_apt32f102_ept.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_ept.o b/Source/Obj/FWlib_apt32f102_ept.o similarity index 72% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_ept.o rename to Source/Obj/FWlib_apt32f102_ept.o index c688b72645c2c8fdd1627da940b02f381ead4cfb..58a9117e97a10874c1455fb7a77e4d7fcdfc3401 100644 GIT binary patch delta 5419 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 QTIBX^NB_0L{&}MQKliU-^8f$< delta 5417 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 ObH~;n`rLQN=>G#idShq+ diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_et.d b/Source/Obj/FWlib_apt32f102_et.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_et.d rename to Source/Obj/FWlib_apt32f102_et.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_et.o b/Source/Obj/FWlib_apt32f102_et.o similarity index 65% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_et.o rename to Source/Obj/FWlib_apt32f102_et.o index 5ed653f3c0d3a529fe5c79a004f5f058970d3bd7..0b4d714ecb0ebeccfb7e97c267048bdca15e5376 100644 GIT binary patch delta 5954 zcmX}w33QET9>?+bio_aQj4Kf`O)Pa#5h_J(Cw4KGY=R2Ih-r!1s@Atk8B{ITHg!yB z7>p8x*e7VIZ5TyW)l$3Kim}vE^ZVz1)1K3FKku{tpXd3%i<~^`IeFHz{-avH-1^lj z^k|os937Ju6CKkqx?W67uY@5ZhxPkQj$11{C}&l@QiV#kPE1QkN$l1(Ev{YtoV)ce z1myfTc4<)9$^geH>o|_5q2q)VbDTfmM8`M1S)^O1gyYnu=-VQW(*QS-+u$-q9j7B+ z=W(3w_y-M_hTCYI0eF^MhpZjj^rfOGVF4foK*5AZMYZ}?}A>o~==BHNtZ>RbU2Qllt*NafKu zQxiAECsp17&noUXDfqm~`{Tc9=Z4}NDxZKewfY%mR}()_#Ud)gwCyYK3zcugOEf_q z4pN&lxQzS|SJA5GD{xy(X_alltL3}6uKWxi(XU%p>0uq(DALL}Qd?RRPtkF-#iLZ- z6aQU1k&aW7$i^-Mn9F1S2u+HBal~ITKRHSOM<~UsC9dS=PV_aSn z^~2TWA-IqFj>YNnR9sc7_u&XRv!L89={Re+$WVtZ_=dLkD?CFTj$u2dhuDtk6}DsY z>i_(s)GDKJs)DPFv$fMraHQN;cCABsO_o4KumVcM=^E%g+(I6OAIp>Q8wy|+KBV8p zc)YfEC7vwj;7$rC4<`iZ{y)rxW#wsHQ~_Pajyl}KBeg@%aSsJiM8{(bxTMSv!Pn&o zd|R%CBNRj|ZlE#a@~!jVt;sr5F;zkI#A9{d1Mx(8B<`&v_!#$>=i@-_L=LX0UChG= z74%_zTt1C!DWJ&)?d4;hAcy0FI@j0n7`1PJcd5Ju{!!z_nL}c zt~OB8P2ujsz2t+~Qt}kGjQj~(M&7~p#tBp=+AP(zymI)sCXc{<^xF$B*HVWRXOH7F zkfpSBo}-GXxSs~{;l&Cf6US>i*5Ki4vjx}JIA3Ag_hYz@f;fvitIc&hv#9Q|hg^8I zf>(Hf1}&jLETFo|n98_}eq*q`JuL05&0w{U$A6M7?X7&N&S4N_#J;kUu+OkT74>>r1AlHwaSO%|7igq z;hAbP6EBoM$IE1QB^UNQ+=QRXdvJgTJ&H@oXK|=}16P$F;kt4m{oBYE(^xKzTg&0N zi(J!h*Ey<-hE$x9nyzg2sy;wcs1 zsYAIC|7t8TBd{fAZET6z2!|_(Hh6}{Nx+X3bRTSqIT%}Fj=_!fe81JHnA=Tl=TWvq zUWRMR>u|2d*nz`TegNC2$thezv0TEd)aD+3U5kBz+snnu``2gxSgTN;XV7+?L=+Wc z$47QxShAk%_V#~>3{Z+zp+j24t&y#E526|t-X|`ujV@=$F3QN`$Y{}Xm+f#Hr zwp^W#E%!EHTiL&{-ED`lE$n-23%iQ#Q_Ow9g{|flw$+rZ;9r5QrZyg`JZOn6xE|Po zOUD+_XV@lQjBVmoxSZzN?6>P!6nm+#AdX?1_(yC3J;7ZyS*X_^ob6U~d{cenacPa2 ziWlnm((zuk8HcBA;>*~A`vqHYFR=wzwW2>DTX8*XD{h8u zk@0wr+6=~%Tn#ja3!7jnwn67%n=Bh&)j(h4!5Zi|UawW2$2IkCxrKAI%D_;6a9h=; zEdHbVHj?w7LCrN;Cn^$@nSJp&-Et%Gex3a^oTc_l@GJ$r0o%W=^Y90n-~?`@iLc`r z1@{QQ6{Pz=Aj}`#JZ+a34^$G>!uQoV0UuJEbo_j_)9qg zZ1Tpe5{wTo5zPipu0UM5Bb_toqNDar8FN%DqS`%AQcs`fXj^%V8> zPKxwo_$DU#!>U->A9NqBwX#`3=lV7zc|B>qgGo`ZlWWK?{lw@1 delta 5955 zcmX}w33yFs9>?)>Nt%$PMAQ{qhC3Op@DNK3inggD_Q__CR4SbbV{C(3E-ms{YH&~$ zMpHwps3klo62KgC~q{Ekyv8QJE{)WsEWJq_~V zJhj)u3$$=^yhQCucv@-4Nyn?yo`t)GI?f=xN$q3t0%bqd?AO9O)iIBb>+%wOKwgXI zYk@+1TVgJzq-n91_?+6? z;jVU%@d<5RUwlm-hJlul`#yR?t3dx3n%EqClJBOB&N!_S*%KS}d84(h4X8$7xUw4w8rCujCK# zT`ll0JYB~;+)>;68BUc8u+>{3_LkJ=e?KQ%72R;1Rmt@8YrYFkDx+;C+{4dgC59kQjpdg)F#`at&i{Fr|;16|QU&bvoz9Am3_Sf)A&DS13 zk-OrDN;nI@7OdCTKR9`$i$~+3+M?xc9Q9ey({v2S;qH@G zKK~@0t)ZoY!nKOCk$;f)Vk^lXu=StER*^Tcy>Wt7iFR#~Tn^9C;xV|Fjy-X{QXN>D zJr2=Cqv)8fj$GVOd*k8^rL+i_RZ7e8n;NqL7pZ+G4p#bya2*A43P)+J%eZ%_K4bSd zIi(7FhOO$t6o_S0TNP6kN9b4|cTzwtaSM%akFE5(;Vj*&{y1MdH6CwMp!3c4j%}g^ z*3l8Gj_ugKFEe1CX94w8pw00z1(Ag9nVXL7nL8Ml&^#_Kt@clFS=qmmlQY_u zukZo|u^WFXAH|=`=W&pZx3Dez2;0J;5rIJMh2X>8wG(gRFtv9H*zct1-t?x!iYNzn z)nX&Cy;UaSNAfJ(NI@^ciSi0;JGTkjSEO(8Ox@liIA4LDi%1MaYHy62bW~O*53zmu z3wbdx=9q3pd2HXus^bK=S6i=tg{E#pi+#&V#kL=BW4l=cvF+JpY~Q}-;?hcQF`l7H zT8+K(*VrC4`|u7$c>2ZX-&GaFT{`To{0ukK1>t1^X;jocMdJw?UlY69?^m&XD{G6B z6lfYwR{KC~5023|FIbg>ZiR1C*)tj7F|?P+ue z*OH&&`5IrbtP-=&QAcGNYbSD!I_l#=a!cG$7q`colzlhcTJ8PtQne4k8Yw%f;VS>#E}c9afp; zq5|1iVa8x9%-VR6+ytLfHgDmcnkN}=QqX;{73KhJh4~(Cs^|Ol4yF7RG31?}sbbLn>W#JhLZV>)LL5#&=x+_z$)#N-}!`|gfII*H!i>)RLvDM^v z*lO}5wwkJ)6Xw+35gTd{rG_G3%z1h&L3VoSz61!DV9$ zXgaoq^RO-aIXE&M-h0Ttnwv{*Vt)OLAs6BSV$zNL$k@otUD#zQn_G2W>5h{}O^`f9hLu>BN@#$)6dJWy}n z*kbGc?^H(|9siZ%@oBj+z9zT8m6bs%UL*IwDRL&>Cclf56r3MNX}2a~`@_xD=N&$s z%%bC(GFyh@tuXPQ<@MNp)ojMC)xI4c*F1Z0rta}sd|1ASFKb6{;E1)l-~lHi-22JC z=x55cQWb5cJ#qCf#+;z9Ms9qHH~O?LZc6Vq^|qup)XhxsdUD;7Db1qmYtHeE$D9B7ND(^{kyY=^Z#utp~pYHiT*9XP) diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_gpio.d b/Source/Obj/FWlib_apt32f102_gpio.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_gpio.d rename to Source/Obj/FWlib_apt32f102_gpio.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_gpio.o b/Source/Obj/FWlib_apt32f102_gpio.o similarity index 66% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_gpio.o rename to Source/Obj/FWlib_apt32f102_gpio.o index e2f6072bb1d593e367bee5016fb637397d5c1693..bb367a84f5c50958d063fed61b24ccc55682b90d 100644 GIT binary patch delta 6468 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 Zlu=u=r%m(wPI#3I5`0Uy)+`w3`#)Xzau@&r diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_gpt.d b/Source/Obj/FWlib_apt32f102_gpt.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_gpt.d rename to Source/Obj/FWlib_apt32f102_gpt.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_gpt.o b/Source/Obj/FWlib_apt32f102_gpt.o similarity index 70% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_gpt.o rename to Source/Obj/FWlib_apt32f102_gpt.o index 3ebcaa6123dddf0efc05b224ff76f3cf8e8c21fc..d79666ac076e81542190f6e139ec5de1f333a0d1 100644 GIT binary patch delta 4845 zcmYkAeOQ!L8ph87{7OefgO||-#n&-ER$qrOm*&D%(`Z_$Y%t9tv8~v$*+N8+4-wW8 zLDAq*0f~*imGyH;%ZfIut=zuW%&goD+ofQQEmK=5UG_dZ_aDo3G5oIkJ?D9zb3f;t zd9^td*&K@8xA2zMCASRL@@a-AcJU2MZkw94Bx!2WHB-GwNp}Vw%3J>Hds`ozAB^lb z#~+wAd*0mE=mn1sY~7dj;7~nH;&ZHsg+t|A*A>t+ zqQbRBOC|IRvU`OUjD!9t^-xswNk z5g%8PHa=F0r7*~IwVqA^DZZQ4IK!xTQ8P1lJRgQjL?q9Xc zE!a7isE@)f?T=qGrd+yL1zbItRY>K1NiVd$@o?if6%XQnN%rHcT`?#;_ie0cKKXz= zUTEoFIaHYD{RysiQrFlC7s&m<5$J@;8;dbR$k>fV7Tog}IXYWb6{UGime2UqTr^*k zzr?KbcvW1s253DvF-IGD0PZT z0&bKu}QShpToFeHZme=(6D3w<1 zuT$hM=x4}N;r2yxu52x_{hf%D0>4Z~^K(7gqIH`k~cJbh31;_Lbf|N~u4g8k0BcO58AHv)?`?oBj3`+3dk{WV81a zcE6cxe0Gr!qW>ev<`zmOpFqvC$)CaLg~OCQRvHag_m_rUt>aVU>Qm$tIbCWkcptUB zL&doI2|0k69c1I`_vBn~FS!6b2;P}GOTcb&r=+j3JjUU4D#qc(`=2j3){4jv<$4z`m`2fN9pgFli@2m8e+i7b!y zo32g4uc_H|%}3shF*lH7Fz+_9gOj+7yc^%l1>|zcEVoL{dHDks)4LDJrt&Yyrt)vd zrt%)Lsk|>%Ybr6-4kw#xN0ZHdn@l#9r<2E{^1EaCdQmPt<@N#-`ei;gp^uOkW7@}L zljiSaljb|J34NJtQpO>?DXUm=e&>|l4hz;(nU7ITSQr$A zV``$AjL~G1F@bC{&Lx{w+)6g9SQ5uYW{794?KUBH{NJ<#Gi zW66n<5^`KA#xg2zNM6VuSB1Gg)Mv(bAjYla2xMGDP8cSygkoJTJT9ixPfmvd?nD%Q zl*%!5pp*QOq_6YoC#7{}A~JTn_8V*Wv4CBYCdqie-AI z1S`^9H$%G`2AjFNd znY-R`-I}1(zp0#&vh|L;+1LlwHRK_9=U=;Z;%(s9pE$R_^=DTCy`IGMR*h4HJ%56F>CK5r0v(GaGMvodBuJ$C1^N>4Gl|z0B?+i@1zC+|ICxe5^BE-D>z7Flv7rY11Lyht51dLhcjPaDS!7$)U4 zVmyK8;A zO1i+8#3d)RPddbLUBL0LyDA*#ZAskX(=N%};^=Cr#^-2h+hVy(5i@RlxVnR=F5WP% zo$b=S#nMZq&sN+01@`7m9Mgp{0gkyOv$m$08u0n89L47c;@%d}FG_HmpON8Sg?JJIDLa)umgv|YbP<;_%LTe}*4 R9=%XJhi!dttN-vq{a=BDoOb{K delta 4842 zcmYkA3sjX=7RS#4G&QdRiXYbkAD`FMlCL`=>bgVaE4n6*gs+?sP0dClMMWN>R~Qjd z0dWgH$Pt@NL#ZLs#vCdeYvnRmQdv$uCYd20Y2%|zTbT1dbN{V1uElqM>wosyd!N0} zIp4ReDGIGA3jNFE@%N1Krw$)6c67s}@tt+Uj+7TdWp;|E%b@s#!4IcTdN?6{>J!hT z&d*vnb9O`5i7(yTP&a*kxYiPrX@wl^A_&d5Ke~^4x+zTE3xcC=3fhXbfK^=@WK3b_E-E zKGjyKZ^%{9ed@6+q zznXj$`bP34%&H+zXoD2V^W+?2%|;PVQyF-#QWwYyvwk2~OaH~T-XY109oIe3Cxiua z>m()6uS?xxDk{%iX10#KIRT=AM|hh zyiSfozuqAa0)IsAfG&JS{#NefSRPZ=n^a6yL$Di6zfzE)IYx$O$*^2Um&+e==egHo z=d@DqfnC}Tf5s*tS8`KbH!&-Z%27$qv%MG5!4p(^!+$gRah$ad9fNZ}#+p*dZ_185 zOSj5_yd-ZZ=3b!Q9{eM@GdKjDFmbz~@}0@pjY}<5&%e~svm|$ElGjA}nxp2TIZwWX zSwD~uo3qs^=cl3*rl5e|OvC>-VIZ}{sdxypFUxU$i`3d!=Q$FEF-;Qt#m;n7C&fe2K!J`k+xCXSk_zCuora{+7OQRH@% zimB>J@_6`cA)BgRCqIfD?~+G>JEC?bPe0gAZjs~_md8{$nTo0KRPuZHokRXmN>(^t z3pLqIWe3)~j~s&aen76ox%-ryDHm5bp3~@aII=gB|)4`9(rh}i8O$Warn+{$fn-2a=HXXzbE1`uE ze$%x${F$6h*L>u4uz7+UiFuRA58))vBiG^0oI?&sTA>v%=VcES)4R{eCi8!iP3D)$ zCiB~5lX+XL)?{L`?Ls!$_9UDAHjr#GPbPbi`Lo^lc@dD?h4w__`fnUIu8)u>W7?Nw z6XsuJ6Xq(}xV}R+A*12mq?Id~e{=$qPy%xa8D$)-%q!0Dd-$y-N1*h_$&uKcXUJE< zVK}D7-b9Qbn~1Sw6LB=ztl}xMSw(s@7nvfSmA2cs*!_Rg_K_=P#!AcE4?FZam5E5; zF8L7d!jAZkGD!?TXZn(xL=(x#XMhRzQ9ZHpS%QSaKQpx6*61<+_e+ z8>qY`qgOkw-^D8R6O|iMu-b9IV9E#8#0|%R8c6OgM^@XOJvcr|RDAHCOum6v_5|`Q zi6}`8X^NERN_xAeAmly{tjF&s++I1IT+&rjg`C8NJqVxYfo8n(> z@HJIN{#@$UCb_=EDsE6|CvDc*0khXT_6p{Zg!AMfuSB&UB%Ak|mpm4$7(&j)rhJ6l zh+A?pc^5WZ8hJl>4!In4TS4xOZ~j%ilIZXZXsboUm*&mg~#a?BymM#v0uC{E@g@*ONGmz*F+%6#6rP_|LY1HVEZh{83J&*0Sl zoxDQ^m)o9$XvQfj86irYBM--{^JGhwmHRv$QRp6hg4v!z;XLGKWaW@QmNVtn!~jY> zg~~6eLngUUDV0r*hqnUqAiUDIlC!b)8uA6qttBrN|9V?*lZ^G2zW@<$Q6Gc)+$CSe z+-OfQ!$#CLmRyGI(vLg?+i^H~s2p2wxw7D48kJ_bhA0apsv@=f0#snX(esct{x#C( zM1&Mp^bYwxTwbl{jSt)-6-oL}60yPdtVEmw$af~ODUc)(zwxbKZ&Cn-7lEk zeqh|v+^!z4vM4VxGPLgdH{Q{#&9BskqIF9am_BAqhFSSO*RhKPH?`Qz|$*jHmBwVM>W%s`}RP_Sw&*GxELi;mvWvio) zOH8$;Z^__lpMG94tMS6e8JhY~(0@fcd@UG;|1*gD0{K;Rc`5lBIZ$o8s*!mOl`ahz Tt9>3lK|F_S{cMB(&}98zu2`5K diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_i2c.d b/Source/Obj/FWlib_apt32f102_i2c.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_i2c.d rename to Source/Obj/FWlib_apt32f102_i2c.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_i2c.o b/Source/Obj/FWlib_apt32f102_i2c.o similarity index 62% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_i2c.o rename to Source/Obj/FWlib_apt32f102_i2c.o index 3c93fa73340a24c8eddc5b87b61681afd55bc507..298bf9b725dca9dbae2571e56be17dccd523fddc 100644 GIT binary patch delta 6438 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 C29qNI delta 6431 zcmYM&eSDAg9>?+PnlX37TJ|%H@v}3fOc{zfLN^qCgqER6Y;Id6DL4HrMj66ats6I$ zBxTB3k|cJB9wZ!jM2?$<(~Yz`NvqI#fA)Lrar)!h^ZI_i*Z2GVe6P=S{jSVk7xPT&e!-(UHcv0rfaX@=VCmswywAR*sS@z1Wrcl;+FW@YM$2?U(nyqc%?4B z9ZymJfq1RjN8o9icp@%Q`&7KHj_1wATh+eQJla;F?R}NNZUxrk6z#+od{FJ5;@{=N z_?Y}P{!kN?;RBommEj&!Ne9aY#cgG0liH`@ zk#0K_}s5nk3*1&dg*$8fAMln~ zJ^vM)B;qmH| zQInHY*W%t_c(j_zXt_b_J&(J{zhf)O>gs31SxLrWE6F5mKQJ9|buFU@t}Tafu1a-2 zzE-KOtnFo04%$}(y-gsXz$QFR7w^EgX_NQkC$t~OaH0BqgS%>+U#jeqh6KV{Y6)ms zTl&XJCy38!chm3*jnD}xnl9&^R?JM@;c!$YQGiRx7Glh=JJOI!Y4KKm4nwpZmT+`+QJ_KNuf+jnhD zgGd5d>T@-=S5FIko7@)HQ2$&ptg0G`OXNIkze3Y-luG;=JW}n?Yc@Lf`hri_Hg0|%h{!9KD*Vdp{a6`F{{=dhnFj;Pd+sG-nqkJRo zE_cIy#b~Z2n>=Z;cR&(Uay*1fFDx(OL&^R2Jcj#_wZu1m*PUTe~z=X z)5og%>lS|-#}|zK6#PoS-WpL?MY6P?h5FbkzbUq-;~H#li=H@7{RiMB>XU=5FehOv z%$ayiSb-NgvC4b{Z_&ji*a~wyw!++pH)}y(VJpmU@Dh!40b61E@sVV#Fzex)w9qDU z1o$s_P!c_O}1*-yne%4RO!s#~)ZZ&&-Pc#jsb9$&3nvjtmWej4V)D)TV5Z4rt=3*eZ4|wu)Vf z?NwTgtzbXIR)A&LGW!u*Vt-;wtY$)F(Uw@l1m6FaO-llnO&YdrGO%Sc3>T;l9>%t~ zdDs?Lgl$0|W1Dy{wuz76v(dW$XF0J&{1@9I{=znK-2jh}7L~#38do~a@liu1JUS@;e0DZ<~Y&mml-_O4ALW1dt0p7?jq z{WvNi@q2CBV48e+7%p;2qXXf0)e@$qu~u4u)8s;&Auq;jG{FmauwDc2;BMN9jrcC@ z+(-BaJvE1Lg%*7jf2Da(HSzjYzDyq1$!`Rl2D*&j(ZtbBBbhBz9kjydHSrBNPuu=? zeAM|l!Nk=nw@0i+&zb!5-nN=sDJv<^=r} z?yN?8Uwsmi)aRZ^pC;xk&&zf#as!F>5#5ofy`#GjjdlZagMM8%IXBqbMwm;V57cKq zefB8pBHH(=eOcADDxNj8pHTaH+PAy1++bq4q6dh^Xrm7k&2~v+BJ25ysQruBuSBC= z-!Vadk9&AbWQ0!5A{lK{pA2(lM#UN-TH|LDJ*((_M5npq8eysP#|HhkU5bu(y52gr za}&n~V=b4{^c>`ttG&RL>Zm=`agnPvE*Nzs*0mkiGS>dT;_l{=DNEh(acL=ib<1bd zQcoMY(5&sQr;U4#_DycXxL|CWO8o;`?r>$}0*Q}nw1f2Trv68W=DWD@!N&0#xq|53 zie4sqv4-n6J|Qt$!zCm~CbNG*Yhu<;>~}N9YcF+iI?;ggyP4>4SFGr>mIl#GMTZdW z<&KXJ`ti=65J diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_ifc.d b/Source/Obj/FWlib_apt32f102_ifc.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_ifc.d rename to Source/Obj/FWlib_apt32f102_ifc.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_ifc.o b/Source/Obj/FWlib_apt32f102_ifc.o similarity index 66% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_ifc.o rename to Source/Obj/FWlib_apt32f102_ifc.o index 8519fb44b40e42bbf4116951380c18325022d49d..eb791117149aa68df90eed0a65fa6b850423b767 100644 GIT binary patch delta 4415 zcmYk=3v^9q76<8=(XP0;7fsVERLMjvibfvt5P2aatyGgp)|iZX zREtLJ(Ryads@8ZG7cGnG48~*VFdZs0(pDKnD^rZOF#pf}XRWbFes`bmvCrP$ImxnA z{FaK}_V0&yuMBBnNP3(jJZ(f)a+EvE9p!#0%H?)vB)(Phc5c4+!K)Yj{ar7`$f@BU z1`bb19QxX*IIqOL668HSdQf2JM=zwc^Qs8WOIG~Cz-x>07Qn6U{+ zWdS3-TPwAUE=IhDUVvGf=rJvjB5lbT?6n+4yuwH=R=7p)Mh~CRzZZL|Wh{``RHtn} z;uEoo?(-ojNBqySHq|UTf%s>PpMiJM8_~S4==JakIt_cBqt9dfPjn|Vppov5yLi|< z9(VB^Dya8ulpYgIW3|Lga2hF6Fu^jG%My5-9GKv-FUApR7vLMY4DL+-AR%dHLJ$tY zU`A~4NV)@@Okcp^%b{Ztf0G{9MX3sUvlOQ}jcBP&vmE1*^IgU>V81}$?wK8t37szu z7^$l|m=Rsck@O)rnLZ(|bklxY@5M+j8@fz)k?eHS_(aOnJqf|c^ETs!9h7=X7a)f= zLB1SPk-tf=z?v342V%AQhGjd9^H#<9_mY`m+A=X~FC*h*PKGnqA9JH| z*mW=TI$zR(=+|MoEqt2piY{EB7s-tb)1j-Xa02uSx~gsI&2T6Bk@U@U8i_I?bGm&S zPEJ4@-}t$>-hqyg`piVzHO!jF$X0u1B^V+xph&hI>kA*M zX*9~liSe$5sOl}oKZKvse}LPf6FTP^!AjX_oW?BENRyZ>r}0P%vf^EOm&?4WUo8wdGv0%nQhq* zBJw38$KfONw-T8XZ>*D&9Lv}tD|0+Xt(?vARBk~{jw2_X&u{T$oul=syF}|#_bctj z*=(Zq32cpLNzc{QHtBXa1<%v^Jv^8$M?RzIov3|w2PIXxA*gL_uCKPWysB%vjUFjy za?K<`Zf6zu-fu5%u}9xkRg zNqL^r^$=O@WaJEdkY0o*<|OUK$*iMmq%P0th(!lFpisY;2~Of@HDMESWoK?UZ-^j@6o!0EpVUB9SjLm zayvgHL3izC#&y@?==~V~1|5XGCeZ_N*Cliqer~@@yJhrbvr<1byBX2FyFlyA8)%*R zU0P@EkIy%!8|8LqsI!(q+HC+pl=wn8H!S_~3 zP;czTyC)-m!L*55_{Di^V4F2-MHx|qf5rfMQ?t=$A&Rhnx<75r)0_WczZugSc9$f4BRqE%crkiiM8}O&}7Nod^-Vb}}lkh&;AE)|H^d-cP(YN8hHIKoY z>l|%id_A3kx7Fots`A-=3_=Tj=7lm`xJADQKcGK`Rd-*a8{k0t3%DJ96b_@mgS*gI zVT-9{p#OIcZc`VQSjIF ztMF0!80LOMpNG%V*We5E{Ro`rOZ*Uom&bMb3KqIa--Ykf0ch4!x)a6+^z=0=9B~`1 zU-up9FW?CJDBP3&4(_YnzQ6C?AH@szq_||Yu}N&Drty_HNwLRc%$0;pd!L%?2@pBmNC~GvoOW@A2%1U0{{R3 delta 4424 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 delta 6965 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 b<`a}RDH=8{F3gkcW-s!3MigyYG|KZoDqqWI diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_rtc.d b/Source/Obj/FWlib_apt32f102_rtc.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_rtc.d rename to Source/Obj/FWlib_apt32f102_rtc.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_rtc.o b/Source/Obj/FWlib_apt32f102_rtc.o similarity index 62% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_rtc.o rename to Source/Obj/FWlib_apt32f102_rtc.o index 751c72284c8c569f3b89455b4ad123b49fd66696..f76f506cf70e888ead999cafb54373d4506d8a19 100644 GIT binary patch delta 6759 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 delta 6756 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 HS-$@RB_0@? delta 6596 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 IGqbPnf95R8+yDRo diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_syscon.d b/Source/Obj/FWlib_apt32f102_syscon.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_syscon.d rename to Source/Obj/FWlib_apt32f102_syscon.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_syscon.o b/Source/Obj/FWlib_apt32f102_syscon.o similarity index 66% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_syscon.o rename to Source/Obj/FWlib_apt32f102_syscon.o index 83070dcf9d3bef2ab69a2162f3d78d7ca303de75..7a468455fce817197985d84d803d42700d68f6f5 100644 GIT binary patch delta 8156 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 Ty}mEp3uOV{b0r03BYgh{v~|x> diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_tkey_parameter.d b/Source/Obj/FWlib_apt32f102_tkey_parameter.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_tkey_parameter.d rename to Source/Obj/FWlib_apt32f102_tkey_parameter.d diff --git a/Source/Obj/FWlib_apt32f102_tkey_parameter.o b/Source/Obj/FWlib_apt32f102_tkey_parameter.o new file mode 100644 index 0000000000000000000000000000000000000000..7a8fabc7fc570b0c3b351232cb79c9cf8e31c48a GIT binary patch literal 19952 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 BMmPWf literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_uart.d b/Source/Obj/FWlib_apt32f102_uart.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_uart.d rename to Source/Obj/FWlib_apt32f102_uart.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_uart.o b/Source/Obj/FWlib_apt32f102_uart.o similarity index 66% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_uart.o rename to Source/Obj/FWlib_apt32f102_uart.o index 801c22ca12e027728f32b1505174df2e2085db24..7b605cbd9a5b3c179da4250707eac7d7bc2c03ff 100644 GIT binary patch delta 5749 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 OZuMCjoR>IjkmrA@dpp7a delta 5746 zcmYk=d3a5C9>?)>laR!ch%E`D8HueGVv7+mLm5QvQb7?}(0Wqx*p;?d$5uuwb%Ie+ zR7dP$GHR=>whlFTF!r%dW6$KVj%7NZZ|=L#Gk>`Eb$;vj`}_UQxhLj6^~`C1;NxlR2#Lczo@E!utuuA)bcr<)m=G3Bm4@ zq-bxq3XT)!IF4tuU#ywP@|2wmj>E`JC$*qBe6_0JMc5A-@tWiGa>Lln-^ps{$qCQiWPZB_6$dj~ttNIYBR zlX0PvoP}ML=bF8WVy7-vP?0BZ#DCEQJ8{0s&*05+F|MYpzEI$nO%0V5;IHI6xRGp2 zZ*3}SCG4L$RDpUUxmd6LtBdz(c{|{%D({EqY9%spv^rRg0FQR-Y-^8OK^&E%ExhP zQ;6TxID7CJl^?}T6~tLQMQv{2lwjRh#ayga#xL+-bq-XtmQA{LB@)LexW+hC0VU$s z)jkQoRQ7$bJp*Q*0-l4({(YtuICL4z*Y0yvbRQYqfTYI?#|0u7rN;qAE*21;jUCH5I+qB

%Hgp{lx+t2i=chW|z<6J;PlJ9|tFd~uFgIPF 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 literal 0 HcmV?d00001 diff --git a/Source/Obj/T1_TC_ZH_V02_202602091700.ihex b/Source/Obj/T1_TC_ZH_V02_202602091700.ihex new file mode 100644 index 0000000..691b66d --- /dev/null +++ b/Source/Obj/T1_TC_ZH_V02_202602091700.ihex @@ -0,0 +1,1467 @@ +:100000000C010000822F0000722F0000840100000C +:100010007A2F0000382F0000840100006A2F0000B2 +:10002000622F0000840100008401000084010000B0 +:1000300084010000840100008401000084010000AC +:100040005A2F0000522F00004A2F0000422F0000BC +:10005000840100008401000084010000840100008C +:10006000840100008401000084010000840100007C +:100070008401000084010000840100003A2F000088 +:100080004C5100008025000070260000D82600009A +:100090004027000084010000EC280000D42C000060 +:1000A000042D0000202900008401000084010000CC +:1000B000A0290000102A0000702A0000042B000074 +:1000C00084010000922F000084010000982B0000A2 +:1000D000802C0000342D00007C2D0000E82D000055 +:1000E0008A2F0000AC500000482E00008401000060 +:1000F0007C2E0000C82E0000840100008401000056 +:100100000500AA550000000000000000003000318A +:100110000032003300340035003600375B1002C077 +:10012000216400C02260A83A02C020643810003266 +:1001300040B1F8109F6FCF5F04338D5F003503240B +:10014000A0B41865FD0B1410C17B036C036C8FEA1F +:10015000130013100078036C036C036C036C036CC6 +:100160009010436DA0B400C021602F1001C02B641B +:100170002E10003020B02E1001C02B642D10003046 +:1001800020B0FA07F90700000000000090EF00E03F +:10019000F80F0020501A000060010000A4230000A6 +:1001A00000300020FFFF0000FF0F0000EEEE000017 +:1001B000EE0E0000D4142D1460B86143814B42B898 +:1001C000906C403AC36D876D030800E86204A1415A +:1001D000A14D550049650C0896640308403808088D +:1001E0000965060892640E08029840380B0C429884 +:1001F00060981F6C5B6C00E01307036D136C0D14AB +:100200009414DF3E510C2101002905654B08620161 +:10021000002B0D65490C545404018060343A2108C8 +:100220003433CA6042988D704B6C4C7002984264B3 +:100230003B08013184680233495B0298403841B879 +:100240006208510192641F082F015460C46D403F41 +:100250002D08609800324F6C003000E0F906CE07A0 +:10026000229840394E0814314A60936C86700B6CAA +:1002700004701264030C00E87104013184680230D8 +:10028000695861B82002526425088098DF3C030851 +:1002900000E807049F6CDB6C0030250200E00E08CC +:1002A000AD070232CB070032C9076902002B4D654A +:1002B0000098080CDF38030800E8EF030034003131 +:1002C0009E07DF38FC0F0034436C803278424C606C +:1002D00096078033174340980A6408089F6CDB6CCC +:1002E0001F6C5B6C00E0D006890776022098C6641C +:1002F0000A08DF3E08081F6C5B6C00E045047E07BF +:10030000003361B81F6C5B6C83B800E02A04403F87 +:10031000036D63982608403D050C424602030A64BB +:1003200020084098DF3A080C936CC76C00302A0311 +:1003300000E0C407036DDF3E620F6B034C61019860 +:10034000406D403D0A08936CC76C0B6C4F6C00E02D +:100350007F06836CC76CA3074198413A500BB607E0 +:100360005F4E002A47B807984198806C403A0408CD +:100370009F6CDB6CEB075703C964BF0C5803C9645F +:100380007F030C0C002B4D650F082098DF39970F69 +:100390005C037B030B6C4F6CA607012B4D65F60FBE +:1003A00018134165050C00982038F30F88070032B8 +:1003B00074131F6C5B6CC03600E04A0657467A1314 +:1003C000436D076D00E06006C36D876D57137813AA +:1003D000176C536C00E0580603B824B8003275134C +:1003E000176C536C00E05006836CC76C1213331308 +:1003F00000E02E06976CD36C00E04606836CC76C59 +:100400000030231300E0240605B8976CD36C26B89F +:10041000176C536C00E03806836CC76C05982698FF +:1004200000E032064613601300E02E06836CC76CB2 +:100430000398249800E00C06836CC76C436D076D2D +:100440001F6C5B6C00E0EC059F6CDB6C003023B82C +:1004500000E0FE05836CC76C176C536C00E0F80578 +:10046000076D219800294798486C4039436D020C6C +:10047000F005741261B86098003202984F6C00E089 +:10048000E7056398003200E0FF05C36D876D429871 +:100490006098176C536C00E0F705836CC76C1F6C99 +:1004A0005B6C00E0BD05C36D6098876D00322398DA +:1004B000003000E0E90502B803B824B8836CC76CCB +:1004C000476D1F6C5B6C00E0AB05076D3E110029AA +:1004D000056500B8030800E8B3027C11D060C06C69 +:1004E000403B0208B8054E116E110030219800E023 +:1004F000CB054B116B11F706D5115965A609136C85 +:1005000000327F1000E0C0050037036D476D342FC7 +:1005100014553D10AC454C4D04606E111C608D644B +:10052000F81004B8C86D090CCB119964900D836C58 +:1005300000220A1144B8C0610035C3456811234543 +:10054000D860409328B86193136C5F6C45B866B867 +:1005500000E07E0509B8459866982AB8136C5F6C70 +:1005600000E05E05836CC76C0030261000E0A60634 +:10057000836CC76C360400000000F07F000040432D +:100580000000F03F01FCFFFF000010C00000E03F52 +:100590000000C0FF0000E0410000F0439C750088AF +:1005A0003CE4377E4715F73F44DF5DF80BAE543E21 +:1005B0000000D03F555555555555D53FFE822B650A +:1005C0000000F0BF00009040000070BFFFFF0F0070 +:1005D0008E98030079B60B000000F0FF2C55000048 +:1005E0000BB82CB809982A9800E04E0503B8803261 +:1005F0000157876DBD382C420460B2454061D76C0D +:1006000000325B6C003000E03F05836CC76C0998DA +:100610002A9800E01D0509B8459866982AB8003068 +:10062000576C00E01505836CC76C136C5F6C00E0C1 +:100630000F05DB6C003200E02705836CC76C09985E +:100640002A9800E005054B986C9800E01D0543983A +:10065000DB6C05B826B80B6C5B6C00E0150582EA14 +:10066000130183EA1301436D076D00E00D0582EA73 +:10067000110183EA110100E0D304976CD36C00E010 +:10068000030582EA0E0183EA0E0100E0C904976CBB +:10069000D36C00E0F90482EA0B0183EA0B0100E06D +:1006A000BF04976CD36C00E0EF0482EA080183EA90 +:1006B000080100E0B504976CD36C00E0E50482EA21 +:1006C000050183EA050100E0AB04C36D976CD36CB0 +:1006D00029B8176C536C00E0D704836CC76C1F6C8F +:1006E000299800E0D104436D076DDB6C003203985C +:1006F0005B6C00E095044598669800E0C504976C33 +:10070000D36C00E08D04436DDB6C29B800325B6C68 +:10071000003000E0B90400326F00C36D2AB800E079 +:100720007F04976C699800E07B04076DC76C00320A +:100730005B6C003000E0A8040BB82CB800327800E5 +:10074000536C003000E084049F6C6A9800E08004E1 +:10075000836CC76C176C299800E07A044398DB6CB3 +:1007600000E09204836D476DD36C003205982698A3 +:1007700000E08A04836CC76C1B6C576C00E050046B +:10078000C36D876D836CC76C0B982C9800E0480490 +:10079000E033584300306D01076D00E0750405B883 +:1007A00026B84B986C98536C003000E05104836C71 +:1007B000C76C1F6C5B6C00E04B045501770100E0D7 +:1007C0006304C36D476D57017701536C003000E03F +:1007D0005B04836CC76C1F6C576C00E02104DB0169 +:1007E000489888614496659600E01A0409B8049810 +:1007F0002AB800E06706836D0202476D1F20289823 +:1008000004608090E19049986A980598269800E0E5 +:100810000704936CDF6C00E003049B6CD76C00E072 +:10082000FF039B6CD76C003023B800E01104936C7D +:10083000DF6C00E00D044598669800E00904836CC5 +:10084000C76C09982A980B060037630601357606AF +:1008500077021106570276021F6C5B6C00E0E00322 +:1008600005B826B84298D76C0098536C00E0F003A6 +:10087000836CC76C0598269800E0CA0520380208EA +:1008800033062144014961030D64FD0C34504203D9 +:10089000803048604D40867090606142354B050362 +:1008A00040606503C6700B6C0D684C42C36C4C4ACB +:1008B0001430B43A25588670DF3C40B8050C409897 +:1008C00000340A6180B800320298576C00E0C0031F +:1008D00003B824B803989F6CDB6C249800E0A00355 +:1008E000003274030030076D00E0CE03476D43987B +:1008F000649802B8536C003000E0AA03836CC76CA4 +:100900001F6C5B6C00E0A4035D037C0300E0BC0390 +:10091000C36D876D5E037D03536C003000E0B4034C +:10092000836CC76C1F6C5B6C00E07A03076D836C93 +:10093000C76C03B8576C029800E072034298D76CFA +:10094000C36D876D00E08403836CC76C0398536CA0 +:1009500000E07E0302B823B89F6CDB6C1F6C5B6CFD +:1009600000E092034F137013436D076D00E08C039A +:100970004E136F1300E06C03976CD36C00E084039C +:100980004C136D1300E04C03976CD36C00E07C03B8 +:100990004A136B1300E05C03976CD36C00E07403A4 +:1009A0004813691300E03C03976CD36C00E06C03C0 +:1009B000836CC76C1F6C5B6C00E04A03436D076D72 +:1009C000836CC76C1F6C5B6C00E05E03803304B803 +:1009D00025B800327743176C536C00E03903836C01 +:1009E000C76C0498259800E06904076D436D429830 +:1009F00063981F6C5B6C00E047034298639800E0CB +:100A00000F03836CC76C176C536C00E021039F6C61 +:100A1000DB6C00E01D03836CC76C0030351100E017 +:100A2000170340987442C4609453203C2F0C4098A4 +:100A300000E09A000032619800E856FC01446148E9 +:100A40004212C9641F0F221250600098406C403956 +:100A50000B0C401260120030219800E015035D116C +:100A60007D1100E841FC4298D76C0098536C00E07F +:100A7000EF02836CC76C1F6C5B6C00E005052038CF +:100A8000010FE8070035A0B826074F6CD4070034E3 +:100A9000381000E8B5FB0034209800E8B1FB1F6D6A +:100AA0005B6C00E8ADFB0000EF4E454A287ECA3F74 +:100AB00065DBC9934A86CD3F01411DA96074D13FD2 +:100AC0004D268F515555D53FFFAB6FDBB66DDB3FE4 +:100AD000033333333333E33F0000084009C7EE3FAD +:100AE000FD033ADCF5015B14E02F3EBE2C550000FF +:100AF0000000F03FFE822B654715973C0000E03F69 +:100B000002FCFFFF01FCFFFFFFFF0F00432EE63F4B +:100B1000EF39FAFE422EE63F396CA80C615C20BE2C +:100B2000D0A4BE726937663EF16BD2C541BDBB3EF3 +:100B30002CDE25AF6A56113F93BDBE166CC1663FD1 +:100B40003E5555555555C53FFFCB904000346F3F3E +:100B500059F3F8C21F6EA501003300E894FB214150 +:100B600021493C78C114C76CC06C403B080C65102F +:100B7000076D0C69544290604D68486C8114000008 +:100B80000000F07FD41423147A12436D076D076CB4 +:100B90004C68C664976C1208D36C176C536C00E0F9 +:100BA0007302836CC76C176C536C00E03902436DA1 +:100BB000076D176C536C03149414203C130C6144A0 +:100BC000214B546C4039F60F403C0C0C976CD36CA5 +:100BD000176C536C00E03C02836CC76C00E06E0342 +:100BE000E7079454403C12084038760C80350033B7 +:100BF0002D45836D8469403E730C235B203606616E +:100C00008E614B6C5970046C8C707B110C610136D9 +:100C10000C4090690C48403EB438050C3F4AA14056 +:100C2000145941427F4AC060815480360031C0600F +:100C300082B8414216350E4620B880590D65060827 +:100C4000C0988061205CD260C0B8002D9F4A61438B +:100C5000403DD06041420148F10B203680340030E5 +:100C6000C1B89844C564D45C05084E641008886512 +:100C70000E0CDF3EB05E370CDF3D3508E25988656B +:100C8000C6600208002B9A6010605F6CDF4A8C61BE +:100C9000D860C198002E403E4142814CC1B8E30B60 +:100CA000C86C403B090C0033002BC2641E0800983E +:100CB000002000B8003001346098A0980C694155BC +:100CC0002E10403C48600148020CBF38A298944561 +:100CD0000461436D6F070B4A142C5542860701408F +:100CE00000238807C76DCC0700208038E507000087 +:100CF0000000F07F01FCFFFF0000E03F211420B85E +:100D00007F6C406020812141C463209801143C78AD +:100D1000D21400326C10436D076D00E09703DF388A +:100D2000060C176C536C00E0050492140032661038 +:100D3000176C536C00E08C0100E0FC0380337843B7 +:100D40000C6092140000E041C4142A146090013B2E +:100D5000CB6D670C4091013A660C443BDE0C443A83 +:100D6000620C423AB70C423B5E0C43906490829016 +:100D7000A29142B863B84391649140B861B8755C80 +:100D8000DF3B8F6CD2083F369964500C1565BF0C61 +:100D90000032003340B861B8619041918E64780CA4 +:100DA000403BAD0C009821984298639800640B601A +:100DB0004F60DF39BD08003361B782B7836CC76C01 +:100DC00003B724B70030003100280029016409600E +:100DD0004D608F035064670C0665FD0C0030229750 +:100DE00001280029D40302B8E0B803049665830CF7 +:100DF00001439F4A006DA142976CD36C00350034CB +:100E0000002C002D116509614D615865076C0029A2 +:100E1000EE0BE09843B764B7033302B760B71F6CBB +:100E20000A148414076C0A148414203B8C080033C1 +:100E30001F2BC860DF3B66B8BB08A1984D71A4B8F2 +:100E40000035A5B86698DF3B00350036AD080132A5 +:100E50008C708B6D00320033002A002B8964956002 +:100E6000D960A098C19848698C69976CDB6C8C6CD0 +:100E7000403A00355561976C0033A498C598486D89 +:100E80008C6D619041918E64A0B8C1B88A0B61B736 +:100E9000009821984298639889648160C56082B700 +:100EA00043B764B7033120B73B12C46410089F43B3 +:100EB000014A106C00350134214B9068D468806C75 +:100EC000C46C43B764B76297002362B71F6C0A14FF +:100ED0008414423BA60B60B7619061B7629062B721 +:100EE000639063B76490419164B76190C86861B7DB +:100EF0001F6C9707E2981C657C0B8C07029823985F +:100F00004098619800640B604F60540700320033D2 +:100F1000176D42B863B84107443A830B4190619121 +:100F2000CA647F0F1D117D0700328E602D070133CB +:100F300061B70032003388648360C76082B743B70B +:100F400064B74107403B290F00331F2BC860DF3BCC +:100F5000086166B849086398A698D57064B80033EC +:100F600065B86698DF3B003500363A0801328C7070 +:100F70008B6D00320033002A002B89649560D960A4 +:100F8000A298C39848698C69976CDB6C8C6C403A6A +:100F900000355561976C0033A498C598486D8C6DE9 +:100FA000A2B8C3B8FA060133C8704F6D54076198F0 +:100FB0001F36A1438A615871A9B8A098C198A7B8F3 +:100FC000C8B86798C970A998D46C64B86898C97093 +:100FD00065B83907003101290464010B6407013346 +:100FE000C8704F6DC7076398C1431F35695D5B6D5E +:100FF0004C71A9B8A298C398A7B8C8B86798C97027 +:10100000A998D46C64B86898C97065B8AB0700003B +:10101000FFFFFF0FFFFFFF1F5C550000D0143314CC +:1010200000B821B83B6C041963B842B800E0F4037F +:101030000919021800E0F0030E1A09190418FFE359 +:1010400085FE00E01B03131490140000D014331429 +:1010500000B821B83B6C041942B863B800E0DC0367 +:101060000919021800E0D8036A980132C96C0919FD +:101070000E1A04186AB8FFE369FE00E0FF021314B9 +:1010800090140000D4143B1408B829B808180C199F +:101090006BB84AB800E0C00311190A1800E0BC039D +:1010A0006C98013BAC0C5198013A9C0C443BA50C4C +:1010B000443A960C423BA30C423A940CEF98B498F5 +:1010C00075988F6D9F6C0033176C003100E09402AF +:1010D00004B825B89F6C00331B6C00319098C2B8DF +:1010E00000E08A02836DC76D42980033136C0031B3 +:1010F00000E0820206B827B8976C0033136C003109 +:1011000000E07A02016419605D60C465910C5E6460 +:101110008D0C0033003462B883B88498A5980036EB +:10112000C36D936CD76C89649960DD608B6DCF6DF6 +:10113000936CD76CDC64700CCE656C0C876C0033E0 +:1011400006982798016409604D60836CC76C02980B +:101150002398016409604D60836CC76C8E98339846 +:1011600004612E5C38B80D9832984264B012003198 +:101170004560D46437B879080424A4B8013000313C +:1011800008684C68046C403882B80E0C3F47014E2A +:10119000046C214F00B821B88031C098E19800302C +:1011A0003841806DC46D214BBF43014AC76C249800 +:1011B000406DC464976C0024E20F229838B8FF3069 +:1011C000003108684C6880340265370C59B87AB829 +:1011D000033376B8161800E051021B149414423BF6 +:1011E000420C72984D98CA640033CD60111872B8E1 +:1011F00000E044021B149414423A350C4D98729846 +:10120000CA640033CD600C186DB800E037021B14BF +:1012100094149864940B8298A3980132003311655A +:1012200009614D6182B8A3B88A078065730B0033EA +:10123000013462B883B872074039C90B803121414B +:1012400048684039C40B5B6C5C6C4039C00F80301F +:101250000031016409604D60FF34436D5169976C42 +:10126000C76CB5071310B8073310C464A90F022464 +:1012700022B81F4A2143A142046CDF3F80B8976C1B +:10128000C36C070C01300031086C4C6C836CC76C6C +:1012900021471F4E046C2298A146C464976DC36D0C +:1012A000002CE80B209838B88B070000FFFFFF1FC9 +:1012B0005C550000FFFFFF0FD414321404B825B8AA +:1012C0000418081967B846B800E0A6020D190618F8 +:1012D00000E0A2026898013B660C2D980139920C3F +:1012E00049980E98816C443B49B8620C423B600CB3 +:1012F0004439620C4239820C2A986F984E6090985B +:10130000B1984B986C984C652AB8936DD76D050CC5 +:10131000D6640B08086509089F4A0143A142006D85 +:101320000029976CD36C2AB80030003102B823B87A +:1013300080313D3400303541C0B8E1B8A098C19843 +:101340008C65100CDA64030848650C0CA298C398ED +:10135000406D846DA2B8C3B8A098C19888649760A6 +:10136000DB60BF41E148976DA1499C6D576CBF4A56 +:101370001B6C002C976DA143946D6142403CCF6D76 +:101380008F6CDB6CDC0BFF3000318298A398006916 +:101390004469136C576C80340265150C629883980D +:1013A0006BB88CB8081800E06901121494144E64EC +:1013B000FA0B1610F907003300346BB88CB86AB812 +:1013C0000818F2074039EB0B803121418298A3982D +:1013D00050684039E40B986C403AE10F803200339A +:1013E000136C576C016409604D60836CC76C0B6CA7 +:1013F000FF31056802B863B8D207043368B808182B +:10140000D3070D18D10700005C550000D0142E142E +:1014100000B821B83B6C041963B842B800E0FC0185 +:101420000919021800E0F8016498013B0A0C699858 +:10143000013B070C0919041800E050020E14901427 +:10144000003000280E149014D0142E1400B821B8C7 +:101450003B6C041963B842B800E0DE0109190218B8 +:1014600000E0DA016498013B0A0C6998013B070C23 +:101470000919041800E032020E14901400300028FC +:101480000E149014D0142E1400B821B83B6C04191B +:1014900063B842B800E0C0010919021800E0BC01BD +:1014A0006498013B0A0C6998013B070C0919041860 +:1014B00000E014020E14901401300E149014000079 +:1014C000D1142514033360B840387F4861B8080848 +:1014D000023360B83B6C00E0D10005149114DF3892 +:1014E0001208036D136C00E0A9001D328060022811 +:1014F000DF3810080071003384B863B83C33CA6029 +:1015000062B8E90780337843C2640D0C003402618D +:10151000EA071F31614C4A60136CC570087064B8EB +:1015200003B8ED0700302210D90700000000E0C129 +:10153000D014271400B821B83B6C021900E06C01EC +:101540006298023B200C443B160C6498DF3B1B085E +:101550003E3B110C3C326D5A00321F2A8C60DF3A40 +:101560001508069809706398403B0B0C0033015B2B +:10157000071490146398403B0030016068100C60C1 +:101580000714901400300714901446981F314142FC +:101590004E60059884700D70086CE607FFFFFF7FB2 +:1015A000D214251440380035036DA1B8150C03334F +:1015B00060B800E043001D3280600228DF38130865 +:1015C000007184B8A3B83C33CA603B6C62B800E0D9 +:1015D00055000514921402333B6C60B800E04E00D5 +:1015E000051492141F31614C4A60C570087164B8CB +:1015F00083B8EA07C41421140175B048C975836D16 +:1016000020B8136C304A1C7C047DD47D1C61447D61 +:1016100030480461D0650408803129414461304C70 +:10162000D87C44614F6C6098C87C90444C600174D5 +:1016300010605460011484146D100C64070CFF33A7 +:101640000C640F0C2033003206046A100C640C0882 +:10165000083318320970481008604080095B3C78F4 +:1016600018330832F80710331032F507FFFF000077 +:10167000FFFFFF0070550000C41422146090013B6E +:10168000C390E4902190460C443B400C423B270C15 +:10169000DB6CDC6C403B230C62905A128D64550865 +:1016A0005912C9643308FF34003518695C69803207 +:1016B00092643F0C7F34003599659161D561531276 +:1016C000C8651A0C90120C611847684F484E806C20 +:1016D0000C436C480E124B6D006904040034003258 +:1016E00000330C430C4874449F41436C4C6C506C69 +:1016F0000B6C021484149F47014E006D936D80346F +:10170000414F8344CB6D0C61E007811200320033FE +:10171000E907084E9847006D80350547936C6D4882 +:101720000034AC45906CD46C0C436C489811DA07CB +:10173000403DC10B41429868403AC20F80340035A9 +:1017400099659161D561BC076D5A3832C964C70B80 +:1017500000321F2A8C60DF3A48081F6C097000B8FD +:10176000003001B8DF3A3C080133C8704F6D0033D8 +:101770000F6D00320033002A002B116509614D61A5 +:101780009069D4699C6D403E00300160836C0033E9 +:101790008098A198086D4C6DFF3200339068D46832 +:1017A00080300A641B08403B190880336143D068CD +:1017B000403B060C80320033116509614D611845CC +:1017C000484C684D9310806C50650C436C48013058 +:1017D000020C00308E10006985077F32ED07013260 +:1017E0008C7000350B6DC6071F340E6101471070F9 +:1017F0001B6D0D71006D1F6C0D7080B801B8B307C3 +:1018000002FCFFFFFF030000FFFFFF1FFF070000B8 +:10181000FFFFFF0F231480B8C1B8E2B843885142DC +:1018200061908090554A07806C430748403A6C4B62 +:1018300001B11908936C8C6C403A2D0C584C6843DC +:10184000C86C0332084440B18111C2115F48614342 +:10185000C86CD864936C0140002CF90B42B103B101 +:1018600064B114041C100A64190C1910806042B190 +:101870000332E84340B18033584CC86DC84400324D +:101880007543886DCC6DC3B1E4B1E298C19880987E +:1018900003143C78023360B1F907936C8C6C403AC6 +:1018A000100C80324C428C68403A0E0C013240B130 +:1018B000584C6843C86C08449B3B03B164B1E607CD +:1018C000043360B1E30740B1F407000001FCFFFFFF +:1018D000FFFFFF0FFF070000C1146090013B120CD7 +:1018E0004091013A0F0C443B170C443A0F0C423B19 +:1018F0000B0C423A130C619041918E64140C403BE6 +:10190000080801308114423A280C6191403BFA0BDF +:10191000003000288114443A220C6190403BF90BBE +:101920000130F107829042910965EA0B91640D083C +:1019300044908390039124918464E20F4A640308E5 +:101940000065DE0F48640508403BE30F0130DB070C +:10195000866403081064F90F00308114619141908E +:10196000095B8114C3144474403A1F0C436D036D2A +:1019700003361869403C1A0C20A5002A403A150C81 +:101980000025176D03361869403C100C20A5002A6D +:10199000403A0B0C0025176D03361869403C060CC5 +:1019A00020A5002A00250204831468414C6C704174 +:1019B0004C6C2F3A090820B521B522B523B50F2A62 +:1019C0000F252F3AF90F233A0608032A20B50325DD +:1019D000233AFC0F403AE90F002A20A5403AE50FD0 +:1019E000002A21A5403AE10F22A58314C314836D78 +:1019F000076D186D03330C69403C0B0C403A080C22 +:101A000060810021002A60A60026403AFA0B831468 +:101A10002F3A0E08A09161918291A0B6A39161B670 +:101A200082B6A3B60F2A0F210F262F3AF40F233ABE +:101A300008086091032A032160B60326233AFA0FAF +:101A4000403AE60F60810021002A60A60026F907CF +:101A5000D014091029104264050C49108260FFE37C +:101A6000C7FF481008100A64050C82600031FFE3CC +:101A70007BFF9014000000206C570000A80000209D +:081A8000D0070020A80000209F +:101A880048380A087A10FF32209360914C42C9689E +:101A9800AE3BB23B60B1771060934193806C41B329 +:101AA80043938068403AFD0F423807080231449357 +:101AB8008468403AFD0F3C78023809084138FC0B2D +:101AC800013144938468403AFD0FF6074838070807 +:101AD800083144938468403AFD0FEE075038EC0B08 +:101AE800103144938468403AFD0FE6074C0000200B +:041AF8005C0000206E +:101AFC006C104D10609345B34C1046B34C1047B36B +:101B0C004C1050B30A3253B32B107F23003245B321 +:101B1C0046B32DB329102EB35DB35EB35FB33C78DF +:101B2C005C000020FFFF0000FFFFFF0000002DD233 +:0C1B3C00FF3BFF700C070000FE030000E0 +:101B4800D0144038050C076CFFE39CFF9014681014 +:101B580060934293846C42B343938468403AFD0B8C +:101B68007F230193406C21B3F20700005C00002042 +:101B7800C214483B28089D1001358094A1B404354F +:101B8800A5B4835B013C2B0C8B5B043C030C4B3BE7 +:101B9800070876100134609381B3003485B394103C +:101BA800106C7410406C6093803027B3014024930C +:101BB80040684039FD0F3010486C28B328934A64B8 +:101BC800FE0B8214403B030C493B07088710013584 +:101BD8008094A1B40235A5B44A3BD40B83100135D7 +:101BE8008094A1B4A5B4D1076000002000002DD2D4 +:081BF8005C00002000003CC36A +:101C0000D114036D10310030FFE3A0FF6610609324 +:101C1000199384388538106C19B31030FFE336FF00 +:081C2000911400005C0000209B +:101C28006C10403860937F230A0C4B1080314FB3FF +:101C380025414D938468403AFD0F3C784710803128 +:101C48004FB325414D938468403AFD0BF7070000D8 +:0C1C58005C00002000008778AA55877807 +:101C64006410B43260937F2357424EB33C78000033 +:041C74005C000020F0 +:101C780044106510486C6093046C7F230DB33C7866 +:081C8800000078875C000020D9 +:101C9000C3148398C510186DD06C8C6C486CA4105C +:101CA000046CA09513B5831400004BB45C000020B5 +:101CB00066108031609380324C60444241B15D9344 +:0C1CC000AB3A5DB33C7800005C000020F3 +:101CCC0066108031609380324C60414241B15D932B +:0C1CDC00A83A5DB33C7800005C000020DA +:101CE800403A040C413A0E0C3C786D104038609331 +:101CF8007F234593040C486C25B3F707856845B3E3 +:101D0800F4076710403860937F234693040C486CAF +:101D180026B3EB07856846B3E80700005C0000209F +:101D28006B104C1060937F2340384BB30C0C4793D7 +:101D3800846C47B349938468403AFD0F4B93486CD1 +:101D48002BB33C784893486C28B3FC075C00002010 +:041D5800FF3F000049 +:041D5C002BB03C78F4 +:101D600080336F43421060B23C78000000E100E035 +:0C1D70000232621040B33C7800E100E059 +:0C1D7C000232621040B33C7880E100E0CD +:101D880066104710271040B341B342B343B344B37E +:101D980045B326B347B33C7800E400E0C0C0C0C0F8 +:041DA800C000C0C0F7 +:101DAC00C114624842436A1003346093C8608032A5 +:101DBC0043421068C8600340FF34409300712641D1 +:101DCC0091684070486C20B38114000064000020BE +:101DDC0075103610161040936092784B784360B2B1 +:101DEC002091003361B260B161B162B262B163B291 +:101DFC0063B164B264B165B265B166B266B107B283 +:101E0C003F3007B168B268B169B269B16AB26AB100 +:101E1C006BB26BB14710409260B261B262B20F33D9 +:101E2C0063B23C784C00002048000020FFFF00000B +:041E3C00440000203E +:101E4000D1140739036D3008035906382708FFE31A +:101E500057F7041013161A1D210000330431F02B1C +:101E6000403A4094C8681E0C01328470C86C60B45B +:101E7000911408316611F5070C316611F207103123 +:101E80006511002BEE0714316411FC07F133183192 +:101E90007843F8071C316211E407003300310F2B3F +:101EA000E0070232E3070F39E40B08290639076C13 +:101EB0002708FFE325F7041013161A1D210000332D +:101EC0000431F02B403A4194C8681E0C01328470F2 +:101ED000C86C61B4CE0708316D10F5070C316D1078 +:101EE000F20710316C10002BEE0714316B10FC0759 +:101EF000F13318317843F8071C316910E4070033D7 +:101F000000310F2BE0070232E3070000FFF0FFFF74 +:101F1000FF0FFFFF0000F1FF000010FFFFFFFF0FAA +:101F20002141033268908470C96801328470C86CA2 +:041F300068B03C78E1 +:0E1F3400214101334990C470C86C69B03C78FB +:101F4400C11422140F3A4F08CB6C833B403B130857 +:101F54000F2B61B80033073A6EDC03007611380C9E +:101F64004093619281982ED80300D06804700C6C61 +:101F740001B23704413B06080033F02B61B8043347 +:101F8400EB07423B05086D1161B80833E507433B95 +:101F940005086B1161B80C33DF07443B060869116F +:101FA400002B61B81033D807453B06086611002B97 +:101FB40061B81433D107463B0708F1337843002B4B +:101FC40061B81833C907611161B81C33C507409360 +:101FD400609281982ED80300D06804700C6C00B213 +:101FE40002148114133AFD0B4038140800330F2BEC +:101FF400C860013BF60B503A6F100608409362929A +:102004004C6C22B2EE07609342932441486C22B395 +:10201400E8074238E60B0033112BC860013BE10BA3 +:102024006510523A6093429303082841F0072C410B +:10203400EE07000044000020FFF0FFFFFF0FFFFF4A +:0C2044000000F1FF000010FFFFFFFF0F85 +:10205000D01405380D087910FFE352F6030A101862 +:102060001F26409360920F31C568A03B60B2901468 +:1020700040936092F031C568A43BF9072093F03299 +:1020800060914442C968A83B60B1F2072093F032E6 +:1020900060914842C968AC3BF8072093F0326091E8 +:1020A0004C42C968B03BF1072093F0326091504236 +:0C20B000C968B43BEA07000048000020AB +:0820BC000133C47063B03C78ED +:0820C4000133C47064B03C78E4 +:1020CC004590013385708C68403AC470030C64B041 +:0620DC003C7863B0FE0732 +:1020E20001334690C4708C68CA64036400743C78FF +:1020F400641040936192AC3BAE3B61B23C7800000B +:0421040014000020A3 +:10210800631060934093086C00B33C781000002083 +:10211800003360B061B062B063B064B065B066B0FF +:0C21280069B06AB06BB06CB06DB03C7870 +:082134006090A03B60B03C7814 +:0A213C006090AC3BAE3B60B03C7815 +:10214600C314A498976D8398186DD06CA1904C6CAD +:08215600546C21B042B0831467 +:10215E00C41421148598D36D869880B88798936D92 +:10216E00A898586DC098586D5C6DD46C8C6C81902D +:0C217E00486C046D9F6D81B00114841446 +:06218A0023B044B03C78D4 +:1021900040396B90040C8C6C4BB03C78C9686BB0C8 +:0221A000FD0739 +:1021A40080337643421060B23C78000000E100E0E6 +:1021B40065100032609340B341B342B343B344B3B8 +:0821C4003C78000040000020FF +:1021CC0065100032609340B341B342B343B344B3A0 +:0821DC003C7800003C000020EB +:1021E40065100032609340B341B342B343B344B388 +:0821F4003C78000038000020D7 +:1021FC0065100F32609343B380336743431060B272 +:0C220C003C7800003C00002000E100E0F5 +:1022180065100F32609343B380336843431060B254 +:0C2228003C7800003800002000E100E0DD +:102234004038210840390A087711FF3140936092F1 +:10224400C568A23BA63B60B215044139130872115C +:10225400F031409360923041C568E0312F41C46C45 +:1022640060B2F03161922C41C568E0312B41C46CFD +:1022740061B23C7841382D084039140867110F3198 +:1022840040936092C5680731C46C60B2F032621149 +:10229400504220936191C968E0324F42C86C61B1E9 +:1022A400E90741390C087C10FF3220934C426091BD +:1022B400C968EE324B42C86C60B1DC074239DA0BB4 +:1022C4007510EE32209361916843684B5742E707DB +:1022D4004238D00B403909086F10FF3140936092A7 +:1022E400C5687731C46CB007413909086A10EE3209 +:1022F400209360916843684B5742DE074239BA0B1A +:102304006610FF32209350426091C968CC324F422C +:0C231400D30700004C000020480000200F +:1023200063108C6C42B024B03C7800000F000800B1 +:10233000C214C76C0135855B9064020C82148083E3 +:0E23400080B081901469403CFD0B0023F5072E +:102350006810803260938C6027103AB24193FE314E +:10236000846841B3013141938468403AFD0B3C7865 +:08237000200000203AC75AA525 +:10237800C314003303354E64CC5A02088314403B1F +:10238800060C0F6D1469403C020803200F6D146998 +:0A2398000061808480A60023EF0797 +:1023A400D01400E0A3006A1046832A10003000E035 +:1023B4003309FFE357FC00E0110700E0670700E082 +:1023C400DF0C00E0C90A00E0BF08F4074404002061 +:0423D400705600003F +:1023D800D014231432320033087C62B801B860B8D4 +:1023E80040986198C864030C031490146298002301 +:0C23F80062B8FFE335FC60980023F20798 +:102404002314003362B801B860B840986198C86476 +:10241400030C03143C786298002362B8609800238C +:02242400F407BB +:10242800D2142414951000350094FFE373FE009431 +:10243800A1B8A0B8083300320131FFE382FE80332F +:10244800634361B800940033A3B8A2B8A0B80032BF +:102458008031FFE382FE013229100094FFE393FEEE +:102468000094FFE365FE009402320131FFE38EFE23 +:10247800FFE396FE0414921408000020AC1200003A +:10248800D0142114FFE338FB01310130FFE35AFB7C +:102498000030FFE3B3FB80310833003221410230C2 +:1024A800FFE368FB803018310240FFE3E3FB0130B3 +:1024B800FFE3B8FBFFE3D4FBFFE306FC403360B85F +:1024C800C03180336443003223410030FFE3DEFB38 +:1024D800FFE3ECFBFFE34AFC003000E0E3160114E5 +:0224E80090144E +:1024EC00D0147F105F1000316093803020B20C60EC +:1024FC00049000B25C1020B2803121414C602091DC +:10250C0020B25A104AB301314DB34C938468403A0F +:10251C00FD0FFFE3B5FF00E07305FFE331FC013174 +:10252C000F30FFE33FFC01310E30FFE33BFC013188 +:10253C001630FFE337FCFFE34DFCFFE371FF2C107B +:10254C00023000E063052B10013000E05F0500E075 +:10255C00D30800E0CB0B00E0F90890145C000020DD +:10256C00AC000020A8000020FFFFFF0FB43B0000D0 +:04257C00283A0000F9 +:1025800060146214036C7A1180326093C8602393E4 +:10259000013040684039040C01B363146114239383 +:1025A000023040684039F90B2393083040684039C5 +:1025B000F40B2393103040684039EF0B23934868A5 +:1025C0004039030C41B3EA07803223934142486803 +:1025D0004039F90B80322393424248684039F30B6B +:1025E00080322393434248684039ED0B8032239375 +:1025F000444248684039030C036CE507803223935A +:10260000454248684039DF0B803223934642486890 +:102610004039D90B80322393474248684039D30B65 +:10262000803223934B4248684039CD0B803223934C +:102630004C4248684039C70B803223934D4248686A +:102640004039C10B803223934E4248684039BB0B5E +:10265000803223934F4248684039B50B8032239330 +:10266000564248684039AF0B990700005C000020D3 +:10267000601462147810013160934B938468403A7F +:10268000040C2CB3631461144B9302318468403AF8 +:10269000F90B4B9304318468403AF40B80322B934E +:1026A000454248684039030C4CB3ED0780322B9308 +:1026B000464248684039F90B80322B9347424868BC +:1026C0004039F30B80322B93484248684039ED0B78 +:0826D000DA07000060000020A1 +:1026D8006014621478100131609348938468403A1A +:1026E800040C27B363146114489302318468403A98 +:1026F800F90B489304318468403AF40B489310313D +:102708008468403AEF0B489320318468403AEA0BDA +:10271800489340318468403AE50B48938031846897 +:10272800403AE00B80322893494248684039DB0F31 +:0827380047B3D907500000204F +:1027400060146214D114871380326094C86035938A +:10275000013040684039030C17B32404359302302C +:1027600040684039FA0B3593043040684039F50B26 +:102770003593083040684039F00B3593103040688D +:1027800040391F0C17B3003201310030FFE3AEFABD +:10279000013201310130FFE3A9FA60944B937212C8 +:1027A00040B360948032C8602B9301304068403958 +:1027B000610C0DB3EED901208098021463146114EA +:1027C0003593203040684039100C17B30032013186 +:1027D0000130FFE38BFA013201310030FFE386FA6A +:1027E00060944C936112DD07359340304068403966 +:1027F000B40B359348684039030C57B3D307803284 +:102800003593414248684039F90B80323593424252 +:1028100048684039F30B8032359343424868403969 +:10282000ED0B80323593444248684039E70B8032E3 +:102830003593454248684039E10B80323593464232 +:1028400048684039DB0B803235934742486840394D +:10285000D50B80323593484248684039CF0B8032DF +:1028600035934942486840399D0F57B3FFE372FDE5 +:1028700099072B930230406840399C0B2B9304300E +:1028800040684039970B2B93083040684039920BD1 +:102890002B931030406840398D0B2B9320304068CB +:1028A0004039880B2B93403040684039830B2B9381 +:1028B00048684039030C4DB37E0780322B93414268 +:1028C00048684039F90B80322B93424248684039BE +:1028D000F30B80322B93434248684039ED0B6B0772 +:0C28E00020000020DC010020D8010020B6 +:1028EC0060146214D214AB100134609585B3FF30C0 +:1028FC00FFE306FC40956392D068403B020C85B226 +:10290C00EED90220A198809803146314611400007E +:04291C001000002087 +:10292000601462147E10013160937F235593846894 +:10293000403A040C37B36314611455930231846830 +:10294000403AF90B559310318468403AF40B559393 +:1029500020318468403AEF0B803235934142486819 +:102960004039030C57B3E807803235934242486838 +:102970004039F90B80323593434248684039F30BB4 +:1029800080323593444248684039ED0B80323593AC +:10299000494248684039E70BCF0700002400002077 +:1029A000601462147910013160934A938468403A4C +:1029B000140C57102BB34CB34293846C42B3803247 +:1029C0004D4240B3023142938468403AFD0B42933A +:1029D000803A42B3631461144A9302318468403AE6 +:1029E000030C2BB3F8074A9304318468403AFA0B7E +:1029F0004A9308318468403AF50B4A931031846851 +:102A0000403AF00BE80700001800002053CA00000D +:102A100060146214D014761002316093439384687A +:102A2000403A0B0C23B30093007400E0A103EED9ED +:102A30000020011463146114439301318468403A07 +:102A4000030C23B3F507439308318468403AFA0B2B +:102A5000439304318468403AF50B803223934C420F +:102A600048684039E50F43B3E30700004000002009 +:102A700060146214D0147F10023160934393846811 +:102A8000403A0B0C23B30093007400E08D03EED9A1 +:102A90000020011463146114239301324868403903 +:102AA0000D0C43B3741040B374106093413BF00BB2 +:102AB00053106092002360B2EB074393083184689F +:102AC000403A030C23B3E407439304318468403A4B +:102AD000FA0B803103932C4104684038D90F23B39B +:102AE000651040B365106093413BD20B4510E2077F +:102AF0003C00002034010020380100203C0100206F +:042B00004001002070 +:102B040060146214D0147F1002316093439384687C +:102B1400403A0B0C23B30093007400E09503EED904 +:102B2400002001146314611423930132486840396E +:102B34000D0C43B3741040B374106093413BF00B1D +:102B440053106092002360B2EB074393083184680A +:102B5400403A030C23B3E407439304318468403AB6 +:102B6400FA0B803103932C4104684038D90F23B306 +:102B7400651040B365106093413BD20B4510E207EA +:102B84003800002024010020280100202C0100200E +:042B940030010020EC +:102B98006014621478110131609347938468403A55 +:102BA800030C28B30704479302308068403A040CAA +:102BB80008B363146114479304308068403A550C95 +:102BC80008B30293AA3282643E08023143938468B0 +:102BD800403AFD0F113242B3103143938468403AB2 +:102BE800FD0B023143938468403AFD0F123242B321 +:102BF800103143938468403AFD0B02314393846853 +:102C0800403AFD0F133242B3103143938468403A7F +:102C1800FD0B023143938468403AFD0F143242B3EE +:102C2800103143938468403AFD0B02314393846822 +:102C3800403AFD0F153242B3103143938468403A4D +:102C4800FD0BB80743938468403AB40B42B3103184 +:102C580042B342B342B342B342B342B342B34393E3 +:102C68008468403AFD0BA607479308318468403AC8 +:082C7800990BA00734000020B5 +:102C80006014621473100431609349938468403A6D +:102C9000020C2BB3499301318468403A020C2BB3E8 +:102CA000499302318468403A030C2BB310044993D2 +:102CB00008318468403AFA0B499310318468403AED +:102CC000F50B499320318468403AF00B631461148A +:042CD0002C000020B4 +:102CD400601462146A10013160937F234C938468FA +:102CE400403A040C2BB36314611480322C93494290 +:102CF40048684039F90F4BB3F70700005C00002027 +:102D0400601462146A10023160937F234C938468C8 +:102D1400403A040C2BB36314611480322C934A425E +:102D240048684039F90F4BB3F70700005C000020F6 +:102D3400601462147010043160937F234C93846890 +:102D4400403A040C2BB3631461144C930831846827 +:102D5400403AF90B80322C934B4248684039030CBB +:102D64004BB3F20780322C934C4248684039F90B3C +:082D7400EB0700005C000020E9 +:102D7C0060146214D014791080326093C8602C9364 +:102D8C00103040684039030C0BB309042C932030ED +:102D9C0040684039090C0BB300E00C04EED900205C +:102DAC000114631461142C93403040684039ED0BCE +:102DBC002C9348684039030C4BB3F10780322C93A9 +:102DCC00414248684039F90B80322C9342424868A2 +:0C2DDC004039F30BE40700005C0000200D +:102DE800601462147610803260937F232C934342E0 +:102DF80048684039030C4BB31F0480322C9344427B +:102E080048684039F90B80322C934542486840396C +:102E1800F30B80322C93464248684039ED0B8032E0 +:102E28002C93474248684039E70B80322C9348423C +:102E380048684039E10B6314611400005C0000200D +:102E4800601462146B10013160934E938468403AA9 +:102E5800030C30B30B044E9302318468403AFA0BEA +:102E68004E9304318468403AF50B631461140000F2 +:042E78001400002022 +:102E7C00601462147110013160934C938468403A71 +:102E8C000A0C2DB34193863A41B34093003240B3C0 +:102E9C00631461144C9302318468403A030C2DB3D3 +:102EAC00F8074C9304318468403AFA0B4C93083180 +:0C2EBC008468403AF50BED070C00002084 +:102EC80060146214D0147910013160934C938468B3 +:102ED800403A030C2DB318044C9302318468403AED +:102EE800180C2DB37210408300228874219300219E +:102EF800093A40A321B3080C003240A342930022B0 +:102F080042B300E03903EED90020011463146114C0 +:102F18004C9304318468403ADE0B4C930831846842 +:102F2800403AD90BF107000008000020B00000204B +:022F38003C78E3 +:082F3A006014621463146114B9 +:082F42006014621463146114B1 +:082F4A006014621463146114A9 +:082F52006014621463146114A1 +:082F5A00601462146314611499 +:082F6200601462146314611491 +:082F6A00601462146314611489 +:082F7200601462146314611481 +:082F7A00601462146314611479 +:082F8200601462146314611471 +:082F8A00601462146314611469 +:082F9200601462146314611461 +:102F9C00C11400C0236080C02070461000344092E1 +:102FAC0084B2BF3B00B221B203C0206402928114F0 +:042FBC0000000020F1 +:102FC000C11400C0236080C02070461001344092BC +:102FD00084B2BF3B00B221B203C0206402928114CC +:042FE00000000020CD +:102FE400C11400C0236080C0207046100134409298 +:102FF40084B2BF3B00B221B203C0206403928114A7 +:0430040000000020A8 +:0630080080C120743C7839 +:06300E0080C020703C7838 +:10301400D2144138076D1D0C4038040C42383F0C63 +:103024009214FFE3C7F800310030FFE303F96212A2 +:10303400D03100930032A1122141FFE371F97432BF +:103044000031176CFFE38EF403337AB59CB5E907BE +:10305400FFE3BCF802310130FFE3ECF878110032F1 +:1030640000933811FFE35CF9FFE3C8F874320031D0 +:103074001511FFE377F4751199B3033294110D31EF +:1030840057B300940032FFE3DBF60D310094FFE305 +:1030940051F700940D31FFE315F8C3077432003182 +:1030A4000C11FFE35FF4883200310B11FFE35AF493 +:1030B4006A11013245A36A1196B3033289110531AD +:1030C40054B30094FFE32CF7053205310230FFE3DB +:1030D40039F70530FFE3BCF7013220310130FFE35B +:1030E40003F6003220310130FFE3FEF520310130D8 +:1030F400FFE31AF620310094FFE330F6FFE330F6E5 +:10310400FFE370F802310230FFE394F876100032E6 +:1031140000932C10FFE304F9FFE37EF8003203313F +:103124000094FFE38DF603310094FFE303F700946A +:103134000331B20740000020080200203C000020B8 +:10314400881300007C020020880200204C0000202C +:10315400F002002064030020C403002008030020C0 +:083164004800002038000020A3 +:10316C00C1146B10338B62324964030C003253ABC5 +:10317C00338B825993AB47106710486060937BB2D6 +:10318C005F22013300A164A28114000048020020D8 +:08319C0008020020B800002029 +:1031A400C1146B102D8B62324964030C00324DAB99 +:1031B4004D8B2810825A8460732200A27F2146100E +:1031C400409258B101328DAB58A38114C80200203B +:0831D40008020020B8000020F1 +:1031DC00D414B5107885413B25089410D410609612 +:1031EC005894CA605794C8641D08FFE3C3F5ED8D6D +:1031FC0060969F6C2F101010D01078B4FFE3F2F390 +:10320C0000336DAD78A5F2AEFFE3AEF57994403B9B +:10321C00040C328E0810CD7B643200310610FFE3B3 +:10322C009DF39414C802002088020020B8000020EE +:0C323C007C020020BC000020FC000020F0 +:10324800C1144E10208A62334D64030C003360AA07 +:10325800608A2B10825BC460E72300A380AA6910F0 +:10326800409380336143C46055B3A63361434C60D7 +:10327800013360A1811400005603002008020020D9 +:04328800B80000206A +:10328C00D4142114B7106085413B28089610D71030 +:10329C0060965594CA605494C8642008FFE36AF59C +:1032AC00609675B4618D8F6C31101210D21060B8AD +:1032BC00FFE398F3609872AE003361AD60A5FFE355 +:1032CC0053F57694403BE65D040C328E0910CD7BB1 +:1032DC00643200310710FFE341F301149414000031 +:1032EC005403002008030020B8000020F002002046 +:0832FC00BC000020FC000020D2 +:10330400D414221400B8C76D0034A411C4117E95DE +:10331400413B360CFA300140FFE374F8FFE377FEDB +:103324000D310096FFE3CAF601337FB500327D10FC +:1033340040B361B841B3FFE367FE5B10009220988D +:103344009F6CFFE3F5F76198643060B80024FFE3F5 +:1033540059F863320865080C60984093C965F50B09 +:103364004193C965F20BFFE352FE00960D31FFE372 +:10337400A9F600337FB5FFE347FE021494146430CA +:10338400FFE340F800246433D264C50F0D31009686 +:10339400FFE39CF6BD070000BC0000204C000020A9 +:0833A4003C0100203C00002068 +:1033AC00D414231402B820B800358911C9117A94A9 +:1033BC00413B3E0C6811C483403E61B84508E511A1 +:1033CC00FFE321FE03310097FFE374F601326198AD +:1033DC005BB444A3DCB446A3DDB4FFE311FE5F1081 +:1033EC00009222984098FFE39FF76430FFE306F8C1 +:1033FC00002563334C65080C7C9440988D64F60B67 +:10340C007D948D64F30BFFE3FEFD00970331FFE326 +:10341C0055F600337BB47210409372105FB3619811 +:10342C00003246A3FFE3ECFD1B6C031494146430D0 +:10343C00FFE3E4F700256433D664BD0F0331009637 +:10344C00FFE340F6B5070136F0070000BC00002092 +:10345C0048000020C403002038000020B8000020E1 +:04346C0064030020D5 +:10347000D41421146359CD746334D06400B8290C7A +:10348000413A040C01300114941475106037CC617A +:10349000C8874A8798641F088034B2100C61019471 +:1034A000409582601E9308641808403E070C4095C2 +:1034B000C0949A607D93C864E60F0098FFE378FF9C +:1034C0004038E10B609560B46887002368A7DC078B +:1034D0000430DA070330D8070230D607640300202F +:0434E000B800002010 +:1034E400D41422148B6D479840B84359476D89749E +:1034F40063318464C36D200C911064320031136C09 +:1035040061B8FFE32FF2976C136C5F6CFFE36EF20C +:103514004032906061987EB4B7AA60334098D0601E +:103524005DB4013249A347A30032CAA348A37F2450 +:103534006410609361B402149414000064030020C6 +:04354400B8000020AB +:10354800D1148A106984413B0E086910378B013207 +:103558000810FFE38BFF07A4012800740138030853 +:10356800003369A491140000C4030020A4030020C0 +:0435780064030020C8 +:10357C00D214AE10603414616484403B150C668424 +:10358C00413B120CFFE33FFD6584413B0B08681087 +:10359C0040937F958E607C950523C864030C0033A3 +:1035AC0064A4FFE32DFD921464030020B8000020F6 +:1035BC00D21494106035FFE326FD5061013364A5ED +:1035CC000A317110409300938033D06060935FB4E4 +:1035DC000E60FFE303FD1CB405318C100094FFE377 +:1035EC007CF541380608013365A5FFE309FD92140B +:1035FC0000940531FFE371F54038F80B0033F50703 +:0C360C0064030020B800002048000020EB +:0C361800231462B841B820B803143C78B9 +:10362400C36C406000304E6402083C7840830860FC +:0636340000740023F907F9 +:10363C00D1143B14036D003364320031021860B8AE +:10364C006EDC0210FFE38AF1BB6C04311410FFE353 +:10365C008FF64ED80000A633CA64040C01301B143C +:10366C0091142ED802006ED8010028414C6C6433A2 +:10367C004C64F50F021A0B10FFE37AF608310218AE +:10368C00FFE3CCFF6ED803000E64E90B083202197D +:10369C00136CFFE3A7F10030E307000000010010FA +:0436AC000401001005 +:1036B000D01423146780023B030C013367A02780DA +:1036C0006480438022B8208021B8258020B8003053 +:1036D0002310FFE3A3FF0030031490147E56000074 +:1036E000013360A0003361A0093362A0003363A0FE +:1036F00064A0013365A0003366A0013367A03C7865 +:10370000D11472100132609341B34593A13AB03A9B +:1037100045B30A308E10FFE361F608320031136CB6 +:10372000FFE322F1136CFFE38BFF4038136C0408B6 +:10373000FFE3C0FF9114FFE3D5FF41842510003063 +:10374000FFE36CFFF807000060000020EC0300209E +:04375000D856000047 +:10375400D114901228320031136CFFE303F16E127E +:103764006093803B403B8E0C2C120030FFE354FFEF +:103774006B12FF30209340684039050C40938068F9 +:10378400413A7308409327427F3042848068846CB6 +:1037940042A44093484AFF308068403A100C40935A +:1037A400484A8068423A0B0C2093284940684439BF +:1037B400060C4093484A8068463A5B0840930731B8 +:1037C400484A84687030228444424168846C42A42C +:1037D4004093504AFF308068403A100C4093504A5E +:1037E4008068413A0B0C2093304940684239060CFA +:1037F4004093504A8068433A400840930731504A06 +:1038040084680E30228441424168846C42A440930F +:10381400584A0F3A3C0C843256422093002A48649A +:10382400360C6093784B61A4183360A464A468A434 +:1038340000327C106093FF2340B3428439423D49F7 +:1038440000932841406C20B33C423D4900933041F1 +:10385400406C20B3218400933841406C20B3209302 +:10386400474A846C40B3911442847F318468910741 +:10387400428470318568AC0742840E318568A13A70 +:10388400C60762840E32C968A13B62A41833CC0710 +:103894001C040020AC000020FE560000A8000020FC +:0438A4005C000020A4 +:1038A800D01423140033222B6EDC00000B336EDCA3 +:1038B80001000033002B6EDC0200441164116683A2 +:1038C8006EDC030003336EDC04006282274B2EDCBF +:1038D800050021822EDC0600CC7470314C6840391A +:1038E8001A0802312EDC07000E31C468463B1D0859 +:1038F80000336EDC08000A316C823B6C6EDC090018 +:10390800FFE38EFE0EDC0A000B313B6CFFE3F8FC94 +:10391800031490142030066403080131E407403092 +:103928000664E00B0431DF07403B03080133E2077C +:10393800423B03080233DE07443B03080333DA073C +:10394800483BF90B0433D6071C040020440400202C +:10395800D114681122834A832749074A4264080C14 +:103968007F3027418068846C4AA3013254A3418385 +:1039780029838664040C49A3013254A342832A8311 +:10398800594219415D4A1D488264080C703044420E +:103998004168846C4AA3013254A342832A835C425F +:1039A8001C415D4A1D488264080C0E304142416842 +:1039B800846C4AA3013254A35483413A14084E102C +:1039C8000E102092809052608D1050640C08209246 +:1039D800409240B05383033A29B30608002253A308 +:1039E800FFE360FF9114003254A353A3FC070000C7 +:1039F8001C040020B8000020440100202B01000016 +:103A080006390A0C6580413B05086510003254A34D +:103A180053A30030020401303C7800001C0400204D +:103A2800D4140539036D876C040CA1805664070C07 +:103A380000302111FFE3EEFD013094144080CC33B7 +:103A4800CA64070C00303D10FFE3E4FD0230F607BE +:103A58004280FF33CA645A106380040826824E6489 +:103A6800090C0030CC7446823610FFE3D3FD0330D6 +:103A7800E507C35D74589975002B5B6CE083FFE321 +:103A8800CFFD1E640E0C5B6C136CA584FFE3C8FDB0 +:103A9800C36C976C00302C10FFE3BCFD0430CE07DC +:103AA8006484433B0508576C136CFFE3ABFF00309D +:103AB800C5070000175700002257000044040020E3 +:083AC8002B5700003B570000E2 +:103AD000C41402391F0C01294574436D00326E1065 +:103AE0008085D16C013708348F6D9C69403E614BF5 +:103AF000040CCA10D96CCD74002C1175403CF50B28 +:103B00000022897448640025EC0F406060A1684B76 +:0C3B100061A18414FFFF000001A0FFFF72 +:103B1C00C314C36C4060AC100C104E6402088314C8 +:103B2C004083096C01360832036D1869403C01482A +:103B3C00030C156C0174002A8974403AF60B0023AF +:0C3B4C00ED07000001A0FFFFFFFF0000DC +:103B5800D014241455336EDC04006EDC05000033E9 +:103B6800112B6EDC060007336EDC070004336EDCB5 +:103B7800080001336EDC0A0007316C1066836EDCC6 +:103B8800090001336EDC0B00011B0A5BFFE39EFF9B +:103B9800143360B89633614301320A310118FFE3E8 +:0C3BA8009FFC0414901400004404002052 +:103BB400D1144D39036D7D08608055328E647308CD +:103BC4004180CA6470084280EE33CA646C085A119A +:103BD40066804682CA64040CFF328E64660863847D +:103BE4004A3B65086484443B62080A5C0831FFE38D +:103BF40095FF6C8468434B84C860C2645A0865842A +:103C0400413B5708003267840F2A8C6088740F3A4E +:103C140013084A1161A26884403B140C413B180C00 +:103C2400098403381E08651142830E318568FFE359 +:103C340065E82516231520328E64EE0B7F1041A310 +:103C4400EB075E1062827F31C46862A2EA073B1010 +:103C5400003262817F2AC86C62A1E307A23A42A3C0 +:103C64006A84413B140C403B0C0C423B160C136C15 +:103C7400FFE372FF00309114A13AF207A33AF00770 +:103C84004E1062827031C56862A2F2074B106282E4 +:103C94007031C568A53BF907481062827031C56868 +:103CA400A63BF3070230E8070330E6070430E407D5 +:0C3CB4000130E207440400201C04002042 +:103CC000D01441380D0C4038050C42380D0C003032 +:103CD0000604681002310093FFE305F290146510AA +:103CE00001310093FA07631000310093F6070000DA +:043CF0004800002068 +:103CF400D2148011013200940031FFE3A1F000944A +:103D040001320131FFE39CF0013200940231FFE300 +:103D140097F000940031FFE303F100940131FFE3D5 +:103D2400FFF000940231FFE3FBF010320031121077 +:103D3400FFE318EE1430FFE34FF30034AE101074B9 +:103D4400FFE3BEFF403807080133D0708F6C6295E3 +:103D5400C86C62B50024433CF30B671007314293EF +:103D6400486826A30030251043B3FFE355FC9214A2 +:0C3D740048000020440400204D570000CF +:103D8000D31422114211A31100926091C260143B1E +:103D9000060842956395CA642E089314609160B238 +:103DA000176D00361874FFE38DFF40380033140898 +:103DB00063A46084043B0808002360A40026433EFB +:103DC0000024F10BE7070133D8708F6C6295C86C43 +:103DD00062B50033F30760A46384043B0408002346 +:103DE00063A4ED070033012B4295DB70C86862B510 +:103DF0000033F707073343B500308C68261046A51B +:103E0000FFE30CFCCB070000B800002048010020B5 +:083E1000440400205957000092 +:103E1800C2147D115D116093403B40083C116289DA +:103E2800CD74403B3B0C7B116093403B7A110E0CE8 +:103E380000830020007400A3808302890174643524 +:103E4800147C0165050C013000A2003000A3131199 +:103E5800009040380E0C01830020007401A3818378 +:103E6800028901746435147C0165050C013001A2D6 +:103E7800003001A30A11009040380E0C0283002084 +:103E8800007402A30283228945746434507C05645B +:103E9800050C013122A2003122A36082413B0F08A8 +:103EA8000033A01180112143045D008800230174B0 +:103EB8005060513B00A9F80B003360A26182413B7E +:103EC8000F080033B9109A102143045D00880023BD +:103ED80001745060513B00A9F80B003361A2628263 +:103EE800413B0F080033B31093102143045D008851 +:103EF800002301745060513B00A9F80B003362A203 +:103F080082140000F80500206405002068000020E5 +:103F1800F8040020AE0600208C0400207005002064 +:103F2800AA070020580400204005002002060020AF +:083F38003606002018070020E6 +:103F4000C414231469114A110B6D209340B8003337 +:103F5000A81140984082413A080842438460009288 +:103F600041430174946000AA4084423A09084243E4 +:103F7000846000924143C0110174986000AA40849B +:103F8000403A09084243846000924143DB100174C7 +:103F9000986000AADA104086413A21087910003270 +:103FA00061B8751062B861420C5D0088E198CC611F +:103FB000017400AF02980C600088F310CC610174AA +:103FC00000AF00220D100C600088F0100174DC605E +:103FD000513A00ABE90B003360A611330023CC74D7 +:103FE000103BB80F03148414540000201507002060 +:103FF000AA07002040050020360600209D0500206D +:0C400000580400200206002018070020D1 +:10400C00C214003200308810013520316094C97020 +:10401C00D468403B020C002000224A64F80B007468 +:08402C0082140000F8050020D9 +:10403400C214003200308810013520316094C970F8 +:10404400D468403B020C002000224A64F80B007440 +:0840540082140000F8040020B2 +:10405C00C214003200308810013520316094C970D0 +:10406C00D468403B020C002000224A64F80B007418 +:08407C00821400008C040020F6 +:10408400C214003200308810013520316094C970A8 +:10409400D468403B020C002000224A64F80B0074F0 +:0840A4008214000070050020E9 +:1040AC0073105410028320824264160C20824474D4 +:1040BC004139180C4039110C4239160C4082887465 +:1040CC0042A341838874413A07082B10209142B1D6 +:1040DC00003240A341A33C7828100091281010B165 +:1040EC00EE072810FB072810F907000068000020D5 +:1040FC001507002058000020CC07002000120140BA +:08410C003C0500206C050020B9 +:10411400D4142A147101608360B80034720160837E +:1041240063B87201A0837201608366B8730168B8D2 +:10413400730164B869B8614448988C6035014C6077 +:10414400408A2089866029984C608B7440A91801A4 +:1041540058018C600C60408A00888260DA010C5E31 +:104164008B7440A8C1B85B011B018C600C60408A51 +:10417400008882601D018B74EC5840AF40898B74B9 +:10418400DF3A5F01C86002B8490C003240AB2198A5 +:1041940061444C6040898B74DF3A4402C860410C2E +:1041A400003240AB229861444C6040898B74DF3A02 +:1041B4004902C860390C003240AB6098033B21448B +:1041C400B50C6498C4604D024860008B4089037448 +:1041D40009642098847C9B0C208B47748564970C1D +:1041E4003302506040810022887440A1003055029F +:1041F400906000A25602906000A25602906000A255 +:104204004081039880641D08403D11085A02609261 +:10421400403B1508009201330F0440898974B707A5 +:1042240040898974BF0740898974C707413D5C0888 +:104234004303D76C0092D070C06C60B2003360A1AD +:10424400614444988C60C08A4E03C860E08B024786 +:104254000531FFE3A3F69B75196405B8180C5103E7 +:10426400906060820023CC7460A200317603D06039 +:1042740020A360822698C4640A0800333603012B05 +:104284000091D370C06860B1003360A26098419817 +:10429400033B6144C860408B8B744D0D9D643A0DA3 +:1042A400408B20988B745C7C4964340D3E135060C1 +:1042B40040810022887440A100305C13906000A209 +:1042C4005B13906000A25B13906000A2408103988E +:1042D40080647D08403D710857136092403B750827 +:1042E400009201336F04423D030C00E80102D31332 +:1042F400008B408E8974037409220964A00F608BBB +:10430400CD7460AE0033471360B2850761442498CE +:10431400C460608BCF74C964940F00334113012BC4 +:104324002092D370C46860B28C07449884601812D9 +:10433400608A4060CF742089C564830F60136083F2 +:10434400CC74403B7E0B1312106020800021447417 +:1043540020A0003630125060C0A130125060C0A1BD +:104364002F125060C0A12080C39858646A0B403D4E +:1043740008084C126092403B0C082092013306045A +:10438400413D0A084712D76C2092D070C46C60B2C9 +:10439400003360A05607423D020CDC05E712C08AD8 +:1043A400208F45749B7509218565F30F408A8974B4 +:1043B40040AF5C1160B2E207413D9B085E11D76CCF +:1043C4000092D070C06C60B2003360A16144419827 +:1043D4008C60608ACF7445988D64180C531190607A +:1043E40060820023CC7460A200316F11D06020A3DE +:1043F40060822698C4640A0800332F11012B0091AF +:10440400D370C06860B1003360A260984298033BE7 +:104414006144C860408B8B74260D20989D645C7C3D +:10442400130D408B8B7449640F0D2611506040812D +:104434000022887440A100304311906000A243110F +:10444400906000A24211906000A243047C0100200D +:10445400500100205901002058010020AA07002023 +:104464001805002058040020020600204005002002 +:104474005806002036060020180700208407002074 +:1044840062070020C004002094040020AA01002038 +:1044940005050020E404002024060020BC060020BA +:1044A400F8040020D8060020740500209E05002092 +:1044B4009C0600208C040020B20600201605002073 +:1044C40080060020EE0600207A0400208C050020DF +:1044D4004081039880648108403D74084B016092D8 +:1044E400403B790801330092D070C06C60B2730411 +:1044F400423D6009D001008B408E89740374092207 +:104504000964630F608BCD7460AE0033550160B2F3 +:10451400E80641986144C860608B4098CF749C7CE5 +:10452400C964550F00335B01012B2092D370C4681A +:1045340060B24D079D644B0F5F0140828874403A1E +:1045440047B8450B0102106020800021447420A06C +:10455400003623025060C0A124025060C0A124028E +:104564005060C0A12080C3985864310B403D0808B6 +:104574004E026092403B2308209201330604413DE1 +:1045840008085202D76C2092D070C46C60B2170431 +:10459400423D4209C08B5B74D902876C208E4574FE +:1045A400092185640C0C608BCD7460AE67983D0264 +:1045B40060B101334091D070C86C60B1003360A029 +:1045C4000607413D30084503D76C0092D070C06C9B +:1045D40060B2036C003360A1614442988C60608ACD +:1045E400CF7445988D64180C460390606082002354 +:1045F400CC7460A200316803D06020A36082269846 +:10460400C4640A0800333503012B0091D370C068D9 +:1046140060B1003360A20024513C030C00E88DFD1E +:104624000A149414423D4809D403008B408E8974C3 +:10463400037409220964CF0F608BCD7460AE00331C +:104644005B1360B2500761444298C860608BCF74BA +:10465400C564C30F00335613012B2092D370C46872 +:1046640060B2BB079D64B90F541340828874403A0A +:10467400B40B1813106020800021447420A000366D +:1046840033135060C0A135135060C0A1341350607F +:10469400C0A12080C3985864A00B403D080844136F +:1046A4006092403B2108209201330604413D0808F2 +:1046B4005F12D76C2092D070C46C60B21504423D76 +:1046C4002A09E513C08B208F45749B7509218565E4 +:1046D4000B0C608B3612CD7460AF40B10133409146 +:1046E400D070C86C60B1003360A07707433D030C01 +:1046F40000E8A6FD5B12C08B008A01749B7509203B +:1047040081650C0C608BCD7460AA0033161260B006 +:104714000133C090D070D86C60B004986144C0601C +:10472400008B408A89740374042A8164030800E8B6 +:1047340087FDCE12008B408E8974037404220964B1 +:10474400030800E87DFD608BCD7460AE461200E87E +:1047540063FD433D020C1D06C212E08A208E45749F +:10476400DF750921C5650B0C408A897440AE5E1162 +:1047740060B201332092D070C46C60B2449861443A +:10478400C860408B208E45748B74042949640208E8 +:104794000006D611208B408E897447740422496424 +:1047A400030800E8F7FD608BCD7460AE4E1100E89D +:1047B400E6FD433D020C09065E10C08B008A0174BD +:1047C4009B75092081650C0C608BCD7460AA003345 +:1047D400191060B00133C090D070D86C60B00198EB +:1047E4006144C060008B408A89740374042A816424 +:1047F400030800E8EBFDDE10008B408E897403741F +:1048040004220964030800E8E1FD608BCD7460AE06 +:10481400491000E867FD433DD20A208BC510877418 +:10482400208E4574092185642F0C23047005002013 +:10483400A80700208C04002016050020D8060020BC +:10484400740500209E0500209C060020EE06002032 +:10485400800600203A0500207A0400208C05002000 +:10486400B2060020F8040020BC040020BA06002090 +:10487400608BCD7460AE67983D1160B10133409197 +:10488400D070C86C60B141986144C860408B208E80 +:1048940045748B7404294964920ED611208B408E82 +:1048A400897447740422496402088906608BCD74B4 +:1048B40060AE4F116206433D8E0A4F11C08B008AD1 +:1048C40001749B75092081650C0C608BCD7460AA02 +:1048D40000330A1160B00133C090D070D86C60B05E +:1048E40002986144C060008B408A89740374042A6E +:1048F400816402087006C211008B408E89740374AF +:104904000422096402086706608BCD7460AE5B10F4 +:1049140000E8EAFD433DE80AD710E08B208E457499 +:10492400DF750921C5650B0C608B3410CD7460AE46 +:1049340040B101334091D070C86C60B14298614479 +:10494400C860408B208E45748B7404294964CC0E56 +:10495400CB10208B408E8974477404224964C40EA2 +:10496400608BCD7460AE45109F0600008C0400205F +:10497400BA0600203A050020700500200006002039 +:10498400D41422143C116781413B23085B116082DB +:104994000023CC7460A2608219110080C0641908DD +:1049A400003360A2B7116085403B150C6085413B24 +:1049B4001008003360A5003273111411B411D5111D +:1049C400609342B374118093003340808C64440C30 +:1049D400021494147E590036F01160B86097D970AF +:1049E4000132C868403B340C81466098D060008B2B +:1049F400FFE3D6E5C76C8031836C37410030FFE3B9 +:104A0400D9DB6711D060608B64430E2361B8FFE388 +:104A14007FE16198C07C43110D7490606211D06095 +:104A240000AA608B008A01745F32CD74087C643103 +:104A340061B8FFE3B3F26198C1640A0C75100C61AC +:104A4400608C063B0508002360AC013360A500269A +:104A5400513EC50BAC074C5D4082414222439860F5 +:104A64005060408AF29154429C6C002352B1CC7441 +:104A7400AD070000680000207A0600207D010020B8 +:104A84008505002058000020B406002004070020FB +:104A94005A010020540000208001002086010020DB +:084AA4003A070020AA070020D8 +:104AAC00D41421144A0160820023CC7460A2608269 +:104ABC002C0120814C64030800E80F02003360A233 +:104ACC006F016093403B030C00E809027101500137 +:104ADC00003160B80F6D11016141A0984C61A08D3F +:104AEC005775DF3D1C0CD401AC588C61A08DC08E69 +:104AFC00997555755A61C08A95651108B90144615B +:104B0C00C08500269875C0A5DB01E085CA86D865EE +:104B1C000608DC010137E0A60036C0A5AC5CA08D10 +:104B2C005775203D1D08A4024C61CC58A08DC08E39 +:104B3C00997555755A61C08AC24695651108A602C9 +:104B4C004461C08500269875C0A5CB02E085CB8654 +:104B5C00D8650608CD020137E0A60036C0A5AC5CCE +:104B6C00A08D5775DF3D100CF502CC58CC61A08E92 +:104B7C00E08FDD7555755E61E08AD565050CA08EFC +:104B8C00002D5575A0AEAC5CA08D5775DF3D110C9A +:104B9C00FF02CC58CC61A08EE08FDD7555755E613F +:104BAC00E08AE14FD5650508A08E012D5575A0AEA4 +:104BBC00CC5CA08E5775203D0C08C08EA08A9B75CE +:104BCC00A14D5965060CCC58A08E00255575A0AE8C +:104BDC00CC5CA08E5775203D1008E08EDF75A08A46 +:104BEC005D650B0CC08E9B75A14D59650608C060A8 +:104BFC00A08B01255575A0AB0021513901226D0BFD +:104C0C0076036093403B800977035F03003160B803 +:104C1C000F6D18036141A0984C61A08D5775DF3D55 +:104C2C001C0CDB03AC588C61A08DC08E997555752E +:104C3C005A61C08A95651108BF134461C08500266E +:104C4C009875C0A5D513E085CA86D8650608D41317 +:104C5C000137E1A60036C0A5AC5CA08D5775203D90 +:104C6C001D08B4134C61CC58A08DC08E9975557528 +:104C7C005A61C08AC24695651108B0134461C0855B +:104C8C0000269875C0A5C513E085CB86D8650608A7 +:104C9C00C3130137E1A60036C0A5AC5CA08D5775D7 +:104CAC00DF3D100CE313CC58CC61A08EE08FDD758A +:104CBC0055755E61E08AD565050CA08E002D557585 +:104CCC00A0AEAC5CA08D5775DF3D110CF912CC5821 +:104CDC00CC61A08EE08FDD7555755E61E08AE14F89 +:104CEC00D5650508A08E012D5575A0AECC5CA08EA7 +:104CFC005775203D0C08C08EA08A9B75A14D596537 +:104D0C00060CCC58A08E00255575A0AECC5CA08EA0 +:104D1C005775203D1008E08EDF75A08A5D650B0C81 +:104D2C00C08E9B75A14D59650608C060A08B0125EE +:104D3C005575A0AB0021513901226D0B60126093A7 +:104D4C00403BF8087F115111003160B80F6D1E11F6 +:104D5C006141A0984C61A08D5775DF3D1C0CDB1197 +:104D6C00AC588C61A08DC08E997555755A61C08AEE +:104D7C0095651108B6114461C08500269875C0A5CB +:104D8C00C611E085CA86D8650608C5110137E2A6AA +:104D9C000036C0A5AC5CA08D5775203D1D08AB112D +:104DAC004C61CC58A08DC08E997555755A61C08ACE +:104DBC00C24695651108A7114461C08500269875F7 +:104DCC00C0A5D610E085CB86D8650608D41001376F +:104DDC00E2A60036C0A5AC5CA08D5775DF3D3F0C3C +:104DEC00FA10CC58CC61A08EE08FDD7555755E61E4 +:104DFC00E08AD565340C2F04F60500207D010020D7 +:104E0C00F804002018050020AA01002058040020F6 +:104E1C00AA070020BC0600208800002064050020A2 +:104E2C00240600208C0400205806002002060020D6 +:104E3C00400500209C0600209E05002070050020E7 +:104E4C008407002018070020360600208C0500205F +:104E5C007A040020A08E002D5575A0AEAC5CA08D00 +:104E6C005775DF3D110CFF11CC58CC61A08EE08F33 +:104E7C00DD7555755E61E08AE14FD5650508A08E3C +:104E8C00012D5575A0AECC5CA08E5775203D0C083D +:104E9C00C08EA08A9B75A14D5965060CCC58A08E6E +:104EAC0000255575A0AECC5CA08E5775203D100822 +:104EBC00E08EDF75A08A5D650B0CC08E9B75A14DD5 +:104ECC0059650608C060A08B01255575A0AB002163 +:104EDC00513901223E0B01149414FFE3A7F862111F +:104EEC006C83C06441110E0C6082CC74013B050CC8 +:104EFC007F10013240A3850660820023CC7460A22F +:104F0C0080060033FD07FFE3A5F877106C83C064BF +:104F1C0056100E0C6182CC74013B050C74100132DE +:104F2C0041A30D0761820023CC7461A208070033F2 +:104F3C00FD07FFE3A3F86C106C83C0644B100E0CE0 +:104F4C006282CC74013B050C6910013242A3C40788 +:104F5C0062820023CC7462A2BF070033FD070000FD +:104F6C0036060020880000209004002064050020F4 +:104F7C00D41424141F112012401221B86090A09157 +:104F8C00D46C8092D06C403B00B842B89C11670C3A +:104F9C001C1100357C1103B80132947040B040985C +:104FAC0040922090846840B3419840922090486889 +:104FBC00561120B222982091C09084693411C0B14E +:104FCC00E093C0929E650708E092C0919E6503082D +:104FDC0040930C04C092403E290CC091403E260CDC +:104FEC00E092C0919E65220840922094846C00252A +:104FFC00513D40B4D20B6094403B4611320C20948E +:10500C006092C664060C609460B20032621140A3D8 +:10501C00FFE3F8F7611160830C640608003360B499 +:10502C0001327D1040A304149414C093403E080C2C +:10503C00C092403E050CC09340929A64CA0F4093B4 +:10504C00403A080C4091403A050C409320914A6438 +:10505C00C00F4398209240948568CA0760B4CC076F +:10506C0060B200314C1020A24D1060B2DD07000080 +:10507C00F80400208C04002070050020F8050020A6 +:10508C00D0060020980600205C070020FC050020BC +:10509C00000700201605002084010020F0050020E8 +:1050AC0060146214D11483116084403B15080133E1 +:1050BC0060A461116083413B0F08401160820023A2 +:1050CC00CC7460A26082433B0308003360A2FFE310 +:1050DC0033F7013361A47A10013160934A938468E9 +:1050EC00403A020C2CB34A9302318468403A020CC9 +:1050FC002CB34A9304318468403A020C2CB34A9383 +:10510C0008318468403A020C2CB34A9310318468FD +:10511C00403A020C2CB34A9320318468403A020C7A +:10512C002CB3EED901208098021463146114000092 +:10513C0068000020040500201507002058000020FE +:10514C0060146214D31469120034609386B368122D +:10515C006083413B4008FFE3A5F7FFE3D7F7FFE38C +:10516C000DFCFFE39FFCFFE353F6FFE303FF61122B +:10517C006093403B120C60124093403A0E0C7F112E +:10518C0064302093002120B32093807C4864050870 +:10519C005B11013120A280B37A114083413A23087C +:1051AC0039115A1100916092C26479110A088092E7 +:1051BC005811009212640508209140928664090CE3 +:1051CC004093002240B354113C8240938464030802 +:1051DC00003240B3EED90320C298A19880980414F1 +:1051EC0063146114A0835475403DF50B661147118F +:1051FC0000932092426427110511330CC0928091C8 +:10520C001A652F0CC09380911A652B0C809000248A +:10521C0080B08111DC84809018650208A0B0809366 +:10522C00009212641D10040C8091403C0F0CA09352 +:10523C0080911665040C8092403C080C20914092A1 +:10524C0086640C0C6093403B09086090002360B0AE +:10525C0071105C836090C864BE0B003360B0BB07F8 +:10526C00003480B0DD07000064000020040500203D +:10527C00F805002054010020F00500209D050020B9 +:10528C004C010020F80400208C040020940600201F +:0C529C007005002088000020D4060020CF +:1052A800D4142D140132CE03C36C4EDC0A00409690 +:1052B800479288744EDC09004ED80900403A080C21 +:1052C8004ED80900423A040C00300D149414970388 +:1052D80009320094403B41B0570807336EDC0B009D +:1052E8007B0363B88033624367B86ED80B00CC7415 +:1052F80062B07E0363B001320131BF03FFE346E7CA +:10530800E0957F1360B75F13003362B743B7D832B5 +:1053180045B74F97A23A4FB703982ED80B007D3266 +:105328000021487C61B8FFE349EE04B8FA322498BA +:1053380042424864CA0B44987831049840B8FFE365 +:105348003DEE4098826045B804987831449840B85A +:10535800FFE334EE4098086006B880C0207040969D +:10536800549248B86198409460B261B76ED80A0008 +:10537800403B3E08FFE3BCE60094FFE3DDE680C166 +:1053880020740130A307413B060803336EDC0B0091 +:105398007D12A807423B060801336EDC0B007B1226 +:1053A800A107433B060800336EDC0B0078129A070E +:1053B800443B090800336EDC0B00761263B8803377 +:1053C80069439307453B060800336EDC0B007212F5 +:1053D800F607463B060800336EDC0B006F12EF073A +:1053E800473B840B00336EDC0B006D12E8076095B9 +:1053F8000131409421B320B2003127B3043025B2E3 +:105408002E9340684039FD0F25922AB8003110B319 +:1054180027B3043025B22E9340684039FD0F2592FA +:105428002BB8003110B327B3043025B22E9340684F +:105438004039FD0F25922CB810B32B980C9840607A +:1054480029B82998214929B8003121B320B227B3B6 +:1054580025B26ED80900423B49982C0871118C641A +:10546800030C00330F04499866988C640E086898FA +:105478004798CA6068B8FE3268984842C868403B96 +:1054880012086EDC0A00210749986598C864290843 +:1054980068984798C86068B8FE33489868438C682D +:1054A800CA64E00F6096489854B30130FFE392E76E +:1054B8005E0766988C64090868984798CA6068B857 +:1054C800FF3268985042DB0749986598C864090814 +:1054D80068984798C86068B8FF3348987043E007F1 +:1054E80000336EDC0A00E2075C0000200C0000209C +:1054F800006CDC02FFFF00001400002005009CBEC9 +:105508001000030000366E01001BB700808D5B00A1 +:1055180020C75400D0FE3F0068FF1F00B8FF0100FD +:04552800FF07000079 +:10552C00000000000000F03F000000000000F83F09 +:10553C00000000000000000006D0CF43EBFD4C3E05 +:10554C0000000000000000000000004003B8E23F33 +:10555C00000000000000000000000000000000003F +:10556C00000000000001020203030303040404040E +:10557C0004040404050505050505050505050505D3 +:10558C0005050505060606060606060606060606B3 +:10559C00060606060606060606060606060606069F +:1055AC000606060607070707070707070707070783 +:1055BC00070707070707070707070707070707076F +:1055CC00070707070707070707070707070707075F +:1055DC00070707070707070707070707070707074F +:1055EC000707070708080808080808080808080833 +:1055FC00080808080808080808080808080808081F +:10560C00080808080808080808080808080808080E +:10561C0008080808080808080808080808080808FE +:10562C0008080808080808080808080808080808EE +:10563C0008080808080808080808080808080808DE +:10564C0008080808080808080808080808080808CE +:10565C0008080808080808080808080808080808BE +:10566C00080808084D435520537461727421202595 +:10567C0064005061726120496E666F2074656D70B4 +:10568C0020756E69743A256420206261636B6C69C5 +:10569C006768745F656E3A256420206B65795F736B +:1056AC00656E735F6C6576656C3A2564206465760F +:1056BC006963655F616464723A2564202064657671 +:1056CC006963655F706F72743A2564005061726132 +:1056DC0020496E666F205573652044656661756C54 +:1056EC00743A25640054315F54435F5A485F563016 +:1056FC0032004D43552072657365742C7265636F6F +:10570C0076657220737461746521004C656E20455A +:10571C0072723A25640048656164204572720041DA +:10572C00646472204572723A25642C2025640053FF +:10573C00756D435243204572723A25642C202564C2 +:10574C000044495020416464723A25640044495035 +:10575C00204368616E676520416464723A25640079 +:10576C0000000070000000500020054000100540B3 +:10577C0000200640001006400000064000200140BA +:10578C0000900540005005400000054000000B4013 +:10579C0000000A40000009400020084000100840AA +:1057AC000000084000F00060002000600000006075 +:1057BC0000000340001002400000024000100140B5 +:1057CC000000014000E000E00101030002000101C3 +:1057DC0002000200020002000200020002000200AD +:1057EC00020002000200020002000200020002009D +:1057FC0002000A0A04000000070008000A00080062 +:08580C000D0008000A00000075 +:040000050000010CEA +:00000001FF diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/T1_TC_34650_ZH_V01_0x0.bin b/Source/Obj/T1_TC_ZH_V02_202602091700_0x0.bin similarity index 61% rename from T1_TC_ZH_V01_20251128/Source/Obj/T1_TC_34650_ZH_V01_0x0.bin rename to Source/Obj/T1_TC_ZH_V02_202602091700_0x0.bin index 9cb7a5a99dcbd90619d70945b021b70ff431ea3f..cdc9759212f248174017fb71d61aae636a93a09d 100644 GIT binary patch delta 3390 zcmZ8jdsI}%8K1ek%e}w?ckyB{(PY6VuXrEGW3P|h1q@)IDmpEkK1n+($mvFe)E0v zz2^JAnLBfXXL0CFoMOfZwJbzv6CenDGtj&#z7c5sp;h<9RROaGPy%osTD8z;1LpqK z2>ItC)HDyF%K-cQ$q3gLAoN8hLdGnFtZ9=n8u>-w`E;-c7&9j2tq_Om+FOdW zPAtci#t4lJ)3h%9G1O~e zQST#wznf9-M=_}PkK7Hm(1@%}<)nGeJZ8}tIWZ^4_rwGWwRgSP#VJU}lCHH(_>~O> zbzLZgl#Z?wph2=fBFAzXk3zaez(dy>U}Pd52PSmw@Ptul6*x%h^+bevgcL#7@bjnAMn!0WEu1=!XJSv?#!wke>lLzOff~CvGN-BRB7p_Z;!R{) z+LoDDFtT0-xP*G)GvPHJXS<%;8P>rnYAoED_L32s!z=G?z&Jnr+l6;w--jbeqA?7& z>Jxh;M3CH`nBss;Z*7*5bca{h4%{#(&2Jrh>z}Nyb&oKS46coAwICUhJd3W?+|sr4 zBh)$xX1~0##d0)kkVBR@sUi&fCF|N(!*LSboz*u{C=PZlY2+MB?adb5r`6ur4Qwp9 zR^4c{V7aKH(Q+69{K{gI${>KQW!^N&CW&rP{!J5%-8Zppjig~1MpN9x(4^$fVQXY5 zaah+Vnjm5785((#rwM2Bx@LrgpBX{20W4Kr+doVh=m2DAkWRC9=sm|E>tdk0r@?mv z{BFSgFz*NIHX!SJ0FIdCTvIVfIO32M)A!hx&C66n2Bss2QAtWGFMm+&ERzEqe zNcaNzRGEc`$d5_}eud1)PQk~Bn!OBfCQoJ0!Y`1c+4J!_ayDDK$3FZPi*x!}gu21I z7(naI14^U0iDl6*u$$~ylo7jd@Q8Psw-!#xM)LNetXZ@-)aH_~hkrEaP~*8r`P{u& z=Agp8#F8^DnnvmbxJg#d47`lomoqCVYrIwX$@4QI#Jd*h+B~u?=dLWn_{=jVXj5NcP!Gb0HP$nS z#ZAW5qWA+7@mFF{tfWGDBV(j=ajMV2G0Ii8P&IG{<*#h9dMnnbd>M&DujEUD$C4T- z3Cv%?mN?y<*(c6-_#xwx4lI{-I09*bU2da!MP%j-qzBeJXE+`#nN{2ZwoPJTq`FC4 zs;zO({I51%oUDB+R9V1b6SxQXc;4FTKe)!VpD%TrIcuxE)&Az%fWej)j^a@2+74ZF z>4yXai?8h%gN>mD)6-T6_gx0Oc2W5;<_5n*HE|8_u~RD~GDa*e-U_zFu{6n-0@qC6 zI2J>K-G5QJ;AYK8Tmon1n{h@QW}SW=WL5kIzmc2Q@_;)Uv==uoZ^;3R&&Lhox9qtG zH&-6rf-d{<1hu05{{ z@DLqV>I$$NBjIFSdtuB7r+6~lC1F**;jyPVmw%mn!2Ja0@LzB@aZZ09RORKWED!sa zw_JcN(?R<%w;@=fHgN7>p<2(y)Nm5q#n0*9pr>GE@Vx6!?kcVUKHv%t$&UmR()YP` zZ%(jH<4P=bCpU6V@_GuIJ>5$NF8)Q3d{pgDgLB-i!GkwUsA8LjQ9g<5Wi!M;x{Z7{}K6{peLh8aOB0A?Rh4%6DSg+ zj2@nW7f#nqg9n8M9s_@y-N3{9M}}czib;M^!qWDB6r%5}t{v;gGW<;dcLZbzs9^wf zKy{c?`Di~6S3x4|cXFQ~>e|n)lU+q}{JODLfnJ()hgVgQ4~l|N<$n3S9kbqg#l;Lm1rdD zMbA_Zn6v?EzWiMwlgq_peuQ7Ghn1(_@Qj9s_oIc-j7vHL=7VcS;8*k*?YF6pzkwYZA9j36nDNV5A# nXLTyq{T=<&`rCKmPpU=Cw0?j3K?h^3Ef;0ts4XRbsQvIiw7yEn delta 5658 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 diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/__rt_entry.S b/Source/Obj/__rt_entry.S similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/__rt_entry.S rename to Source/Obj/__rt_entry.S diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/__rt_entry.d b/Source/Obj/__rt_entry.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/__rt_entry.d rename to Source/Obj/__rt_entry.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/__rt_entry.o b/Source/Obj/__rt_entry.o similarity index 88% rename from T1_TC_ZH_V01_20251128/Source/Obj/__rt_entry.o rename to Source/Obj/__rt_entry.o index 4fa55639b3ff3e97f2f13aed2f9cda4d5ce67b0a..ff9b28f9a25f679684259f48032e6d30dd33bd19 100644 GIT binary patch delta 62 zcmdlZx<_=wYDUJQ$!iz`_@g}H!wih#jSP&;3=EBoCUY?9Znj`DU}r3w{E25YdcZTx=02sCrtpET3 diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/arch_apt32f102_iostring.d b/Source/Obj/arch_apt32f102_iostring.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/arch_apt32f102_iostring.d rename to Source/Obj/arch_apt32f102_iostring.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/arch_apt32f102_iostring.o b/Source/Obj/arch_apt32f102_iostring.o similarity index 57% rename from T1_TC_ZH_V01_20251128/Source/Obj/arch_apt32f102_iostring.o rename to Source/Obj/arch_apt32f102_iostring.o index 94dd84f1f542493c6f368dac6bd358eebe1ea39c..2390b07e58f1006d853408aad19d8fca30bef63e 100644 GIT binary patch delta 5490 zcmXxod2~*99>?+DlY|fw4T+eDOdD&9N+M(IhBgw>QDUt!snCv^7DLt2a@!21DN_23 zj8P5cSZXO1+vKQyDYfL#GK#cxnux)%Rmn`5&o|FIfArkf{jJ~c?|yUdqu18^uC4cN z`lYFVcI&3~ho)x@N=(j5PE2l>n3SA6tpB)46GpyV_`jy_hZgQ`ofll#H>q!MY;Le~ zkG($16?ljyuf;1uoI8StDmWWwIoZ5RI6;eE z$3^l3yhcG+(|XjR#^)b zU<-RKeq3j;4fodEeYk_#PvGTR=Ue=$=9c0zC43vNsiueZkehKD6s8R=OMBw=ad&Ny zfIrisPvidDtRpT`drv&f9w$5H&5vlp2AZVX*>MA2KB%#v_T&n zu7HN(t{U?Sj*%zeE%FT9PyxJ;r|6m=u;*GUQhQbwQHpFwY>rnzcC2PAvP1ZQf;)xd z6i^91s`jgRoKEN-PErs-DtlY!kREFU{z{ImuIFzZ#ky%m$9`Rtu}>R!#e20`1|F%+ z2I05$yhq|3c|86`$xO%R<@wl(?=$?Qr(-OtnxLo;;fwMqd{WmEd{)=1c&UQ8hgZu% z+QgEvzk&#Crx}Z_V4Gnpz+~C839o8$S2{LXmN;F{Y!JSs3E6m$7JUPk>-twbT~|Nu zuEdt&40#<+*ZSLWy;}PF-_OkiT~FfYm6aWt1y`oyD#KBld{2_D+@7^B@otUzFP^GvXblyNMP2HT?%dd$sHXL_+|-skaD{vTTS*pUE6EGkO7aS}?~7CT zw(?Oq9B)-~EFPh;gYimT$Ar0|l@okg=uJ94)HMg!)7j+V=?Y>oZmgVERas*;<6COq zg+K8}c8T%Awen?JYAW;_c&pN@z&*7>b=8Z7-bU93I86Pm@o??l5jWEKG<;jB4#4)N z{Uctfz23H3vqkMwxR8#{x^BewZQhCP$H2dFu_m{y9SEqs0&S0vD~MEVZ`e$1Z`jxI z1vw8_vv18u+|*LX8eFDR*^2WO#6G-4K8csh7jUQoE629+J!~5XhX(?+*MB^INn^U1 z?OU^29naA*OV#iKwu*VBYJxVKi0vEl4!$SP!@pP1i}8!{YHTOB1>3Kmy?CLj%{#%( z97TE_zb;?F@yhHc+)u|I6cNbgM?L#G*nVrp;Vv5UByON&+Tl;N*)!OFQuPhkb9O|- z>9FTF2HP>t#P(Zj0q&;u0z6nJw+`DIcn996_JjD40{Ryotst)B9a^U%f^W?wO$e)#bPa1$UCe^sgU#m-Lila6h>T{!&iDr{%7d*7GmXO>a8NYDZZt{D!&ZdU&mc+FOZ13fh^l< zd>po)e@WO1vn#g3?2WB3M`0_>KV#1-b4Jw!c@8et28-~=3TP#^!rY9vYoXoP3iBAY z!aRqsY2#9CKY;FFE6nhEy#K8-W9tPnv&w9a7sx5Nrh@2>J866${E>ow5nEx7##We< zu=aF0I8x(3z+LS9zl57B+Tc^XNegYmht<9x+pnZz9HsV)I9-cg#ih#lXB?_i3{g>9 zVcNggBC-8rG2U$N|7Ug6l8#4;v^`dRxKx~@Y%+0$7Rti;3gR{VHw7^jC+N}4##Weq zY=yZDTVZ+|xUtGC!d97wu@&am*b4I!w!*xDtuSloe>hl{R+!Ovyqthj^c_jW;o3Mg zV6XBYxS4cV#b#lv*eTd5b{4h*T#qfYe`3q*5Vp)tV@vFNY{^{5mP|!7?|;iCw0xI*hp!dl;RIo#NyA7I;TEw=v=vKx2PX2x2bQF$!J?`Y^!e8%#|SsGu6@2mcI z;2@ple%wjhAHjc7xEF9MwU^@_I`5wwy6Tmsbj-h@S6b`^Z9ghbnd#f^SNA-#3N0qs zACZxe6sqpe>5kH)-bVKxMYo6cE^0qWdxU>PMkn7R|Hm0IK?x!LZ5au^UWMl}V#0hw Q{I>=)_SG(o9yr+de?Ut+egFUf delta 5489 zcmYM&d016-9>?+D1r>ruyCavRH23|eM_ zb}|9VQSw?+A^Q(m@B7xkRO z`_z67XX_fFhhbx0S6I#QVO`te3p&f5I9eWr7uW;EMVdPXUsNQ23guxP(9KLb9H(m$GZb}l=oqKOqa1erd!w^QxgSiNuE-YUOYFK72U6JcR2fQv3QXl!K-+gJQrKxuEp&=9b*MI)rxvIJ|2fJf)B0O*;|BWtS8|i0>meMitd8SS9oHEgrO7|w5(RM=FVL6< z>a)$7%CUHy9%~zXLgOF8xoUr`)_VRAYLRq0vg9Z6HD#QGPw6B^;c88uj8oM<3)?&P zJ={sx53s##4&gs*%zyDDUBl|DU@Ynqe@wSF-dHu2(XvVLZpAy~zhNuM&x7q6e*#-c zp2hb4;uOBETp%~ZQ`H=Y2WzZVfsI+A>&S4IU3*id7$?zDsB0enMhg|-9?Gd0pV6YL zgVvah_#>^e1Lyjqy2pB7sO2;*2XxX_Q?~t7rFRR5tG%A;#o8axwK)z`e zw4>FRjo&N}!1k7Y0k6<8y<)XygQhEp`E+#AbsfH~G`3^=G4L;ZK$AO01U9&>MLXkp z3L*{L8#W8u8}^TQxe_bDd+Vsy7ISk*gFe8edT<}%Yz4Oq|3N;4N605|9R+p{+s4>-hXY^-J)Vf(Gs3U}3*U*hIUCIzq7 zX1%cer0O5A=j@1{r^BA#NNmTLkL|bCJRGX=OL0q`Tq(BK_f|Yp?Nzu^0Ug1)3gQxe zMeE#(r~;@I?`&qM`OOl_BOg0Y?p81=^7v1IFQ&@CHV{dxY`rt z+V7fyy6H-XeT}E%a%DdN|6A=t@N%_}!K;-0H2fcpc@y81=i^WXx&mL&sjS1->+AEs zog1GP-HRjSuW_vWPn;lM!HM!6+*uCSUqALP=_SYFOt~$tl9RB#t5a*O=YL!`{phHX zpT<|^Tzp#|k4LL;JlsT|g12!WwJ*YN>!?>_`*JA9_Iu@1JVA301Q)Vzieq$G<)6X! z>G%=b3na2hAj=ynv{tx@jyefjVWwg$%zoGkb2zrb9EUxt%;~`i@@!nBfEMB*3St$u z!rX{AX`xTB73OEy3iBvluZ?T4{doETTVXbg=KXJ#85bSM%qp`3w!%!t2b4_@d{+x) z;v5D2EVjaY5nEwS#M;y4;jffTA@cQ{(+lChgED2wu+sCtzu_jE5I^rnQgAU?*2J$3Bk#y0*2 zTR`9Ai>iaBv4P<1^W7Cs)|hlWPwfNnd_BIQxWC3s#*H;5A1{+jeYsmzTgDGy%eV`+EYoqEHhVERM(a$(THkYd+}NUp*fuM{6SUAL zI8*_BhPNrpqjcP#!`&pscA zX@iCMUQI5;$K(oZ{~L17y!$K!Dt(-Hqg8F$9nYEQ#!wSE@%&Gbk0jrFc5j{=&0)U;y!s)jDZ z#g;d2qddy-c7?tb-_`iapcU3${F=f&fv>3j9PX*}zR}Xvt1YFu{xyBm}K|0XswI diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/arch_crt0.d b/Source/Obj/arch_crt0.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/arch_crt0.d rename to Source/Obj/arch_crt0.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/arch_crt0.o b/Source/Obj/arch_crt0.o similarity index 83% rename from T1_TC_ZH_V01_20251128/Source/Obj/arch_crt0.o rename to Source/Obj/arch_crt0.o index 21119cdcb90ddb155f73b75b4c31abee4e1d20b6..2bb07aa329e6f2fdfbd4c3c62f8307b7bf60fee9 100644 GIT binary patch delta 119 zcmdm?b3kW;0^^L0iV+-)S(B?cJouwL;=>G#;*AW9%nS^Tj3%Gs&|+d>*!-2_Hy2~U zNMZ6y VAjvcNB9L^L{1Zq%n5-x!4gkviB65ECJa~*v%uEg9!wk&gqdX>GWCGyUM0oFuBo_-1k^P)K6(Mj**D`6iIG Vn9L}qE^&j0fnfp@0~|0ySpc|PBQO8} diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/arch_mem_init.d b/Source/Obj/arch_mem_init.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/arch_mem_init.d rename to Source/Obj/arch_mem_init.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/arch_mem_init.o b/Source/Obj/arch_mem_init.o similarity index 80% rename from T1_TC_ZH_V01_20251128/Source/Obj/arch_mem_init.o rename to Source/Obj/arch_mem_init.o index 2eaec3330b7bbaf4b89170c58e2bb7a133c6ca1a..62eea07aa14d827f13d70d5ac2592b13adddab62 100644 GIT binary patch delta 164 zcmZpXY?0i+&CDO=5g%q?6mMi;WM*J!WHecvdE4d-%sZGEcTVnPv*vxsz`)=P#EiTQ z4Cf|aWD^g44&)_6MNR_g3@CdJkS>L?KLhC|DEm5)?uW8h0BMjqkZGHN^eQNO>SkN^ Y)69(jCmV7LPnO{pVC>nf%N@=L01tW}i~s-t delta 163 zcmZpXY?0i+&CFwLVrFU(A7)?{ALTJwig_C&!{&3$yOL7?M|$GJK; z2X9q>E*|-a!Q}8YI=iy$ua*Odj^%vozTEE2XDhhv1+RZ?)T#ps7GfR9SNYFis~Q#7)ZVGaRHjjd+sgT*m*@oNw?}ZEzO{ zYkoTgXjv}OW+6CI{XfG??H0Gw{kKWmba{p_uwPEag*y2;TqIA%6Lg$`pVx6d?%%<2 z3h^4vUxhnrvkiE*u5KCjxN6kXu={id+kLu;gO%|eZ1>ku78Z1h+zHodPEY)j*6fcv zE1-BBuQ|hTken&Iw$OWOjAx))K}^R@+B6@(smuEsUMCmha|)sae_W> z>(zf0zZ0a-|0x>%6vTP_p^|LIk12yzd`$iKac>3DUjHnC<61NnU)5%PaE$un@CUjD zPvLSo{h@XLd+CH18Th$83$NCdD8_>nLhFr{v~d)^AwPy6DB~o&UIjZGJF2HF?63Z5xJmsBaekn_`s_hqn;lSe zJMj)p`WvoRU>9+Q_fT>_w^BVTw5^>rPT{_dbL6eqN^%#rlB~v7l83Q<qXkI0fg|(U(Dh0t&&4H9rbZl4Eh3<~)N> z=*qo-w=0NO%=Vo*T#K({AXWqKVtZrwGrp~pJ)L|T|3MYd1y9!ok=UNOG1#8DY4{nf zGXuY>{ss6A*~xCYte~#j{Gw2rl9BJKJpvbuG|`I??~_AS`}b9{zmJ3 z(mBl+(HCkQW}vq+JBimQgY&pW_x>8T7qZ)Uu{Ua1xO-Ad_v+$X&EB#e#dbZOz;?4z zv0bxlY;Rw)@#pFX7 zA2+HPD)3az*@x|EbPUgwPvh;H|8KK>j_kYQdj{rez%Rs?O@SPO=jr4qd|uhd;uY#2 zivObikw48>_T%tc&G|LnB)@{oWcM{1Av$>_j+EcUkIJPuL9WEZ6(P!6bQ6o@4j_l#uCWm52WgCq<%7bv2{7W1yXW}Px`zGL_>d(c&>Ys-@ z=}H%3`*K*_m3L43cG$$gW}W6*kAK+<3pMg*zNy?8H%ki zqj8!&rk*Vp+3iBmwg*g|;sQs(NGAmOy;dq1A>5uO#xCCs4nS$qO{%EY_yn9lE+#=1L zNnfSB5NFFS{!(kK#iP}~1>e)2yYL>ZU4v^i=O}JavVX-b@&#-^)^2ondOxf^`?+|B zfhT28s4u}=-f_dj-AFARLy!ILOTy9GW(01N$Ko7ax+&NyFb`V=F2+`YMc4|k1X}@a z$5w#5LwQVE1=ccP622ZZ-)T=-N8O)r_>*b?U5OStum9aJu=7O zN_*YNp<$J_0$XP5v1PUmTV@|(%j{3svZ=$C%o%LST*Q{l1H3^uy<3=qw#TGJ_qa7= zi!K>kK+~{ooR4keC3ut0eG^*{UTi^>VcYnR*aG?tM`$m%g@#?OkZ@lRDVh|8tJEKh zD|G*oak%DW{WM>5vhiVg8Ln3l>+ogG--|7{Pkq*(XcXNS3|Mq+*fM^kr!OGOI2c=& zQMi*9O2H|bGaB0lld-Ki6WdqI;i>t6iNimqxRqUV-hmeF?s$4a)HZZM+{RD7fQz zsN9HamE}#mKs9t9-_p7Lt={xczmA+_9lKg%k0uo`aH(d&s5Fl!%eyaqu;&BsHT_@V d?U6Cqv#4fNMqPkssyAp%KhM^hfnz3l{s;bz9;g5S delta 5167 zcmYM&dt6ub9mnzWQ}hRTgM^7PY$S82m{%N@8j7M_(7aR(Nm9{dIweLd=jEVinx-*- zIn2v26Ni_=0#@uH;S`;kPI_3*bf{Aq>C8E1&6w`7_lMuB$Ns4E{N6v`@A>@BIk=+O zv!d9uKP$StB)XxkFDv?ood*pb65l`L+5ST^(#EAvUhs0x%vt5H#Xi@%yuMFCn{Iz= zaTKbwvjlujgGb{r^3%AdoQ^kXqB;1GuDN)Tg3HH` z=~Q0Fb2N4nPF4L*zg_2#nrJ@_;Tn7ZZ`00>;Zy4K8Ma$=8NZ`GH}Nzra2KCZ{{a1G zyUfvIA^4K6-^YvW76<75Tc;OvJcDUiEGOcH8vGQ_ms4?9T{Cf*uGu&`*l`x)RqDSQ z2Wqi5ai&gsJ3itn>RJkRpX#vPr!Vmt?eY%ZrQjUphy~qBZjV>#R3h*+Ef9l)6;OX{ zzkp%*lsry$ZKA0fJcWil1@QvjrbXxBClu%_c%r-lZ&nb6c)Pq6r^uyvk^-v0lU08Z zuMg7i|0IP*MRX4TOumMDY6rLRtE#_;ujm@6Kx_kRG-(*Vti^tSZ)#(4c#CeqQ2e%> z++yATdSNmRS9P6@Q*;t5a32Lxi2tnnx)ooNOYtoQRDr*d58_w_cM|uP?bl^N+ppl7 z-G3`s#@@!3vG=egV4!wneVVkJFnro}iHj6y9R8R3C*TIn`2_x_=6fD*mb0*%q@BG? z;VF3;UaIRl9HRQS@EaOjg6C_O@8eMlq8i(x$8kIL`5gCFpTFX2oy1pOp8xhj`Id&^ z8qh}f$96nU^`Ur`7LLMuFg`~X`@evIvna~5Bhui|ut zejDd&<-R(9Tg&E14Cc&AHIdygYbaJjD(a!Ye(mZeCa@B9g zipSZ9E7a#B+}_@qwG__l!0Yf#4gL!rpzAH%OTo2n=MVIR0t&&8sDBiWlzZbU-G|}0 zRwp+JPgf9g&Gyb5p~+X$a7&SH!1l%Pd;AX#_O$meJXe8s#4%bR65BI37TYs7341h8 zCVo`)FX550yOe^xoY&&vif$85l1uR8@&`CTLDyhg_$0Q4zrgn5zJtruC%l7y168Vj z$Zyw)(~kSmU`aF#x7T8i;}}i)ERK_B;VHd>WS?<24TBdiP+98 z4cph(i+H{2b8)WDX&DZZ*W(lN7Tll+-|NWlXqAFEOoLYo*Wv3LP>-v0PB-vx)&DLY ztoja}{2Q>ZvTpc@65~hMtNKK24~`VP$G$z%D6G}OFXEqQa4xo|=Q12%yTSI<*@8DI z8A@@q`cz_j8XdyDHO@5tUW-_S5n4Xs1`yGf8k@E{G2!k=sRy>YVYe~b^Q ze)M2Oxb;fLI(|Ai6i6h=-Eg!`bBfrRKcr1j_euQB!}Vqax@N93O|fH%a7vj@;Ll&?f4lySoJgT8PzYqbvo(A z*j^5=h4SrbZ--yguu+5G!S<%uk1g}7vHdzuV0&6z!^hRX2`^J0?*so&%rI<;8I8TJ z20TK+GIK26qrp?KCFXQ&i8&wJSN9@piMbk|)jS)qCFTxniCKnyTK9n5^6lA24aaGi zt^rrECFX5BQ1$n*C1!AE|IRWML>HW@{xSHVf*yb^F-PD*>i;CxbiTcbLGD=fokg8} z#pmGevWrh^j@NM~)xU*nwB|0nKy#PlMe1`9uhV8v;rHb8*#1~+?Cf-J$-Ta6xI;s; zHs}fSZ?Mugaby?wlDfuHQy|CV1}!-XS82%!I92x`9a{!wVavcgY#CU9EddL$CEzw} z3AiVW$E0Q8hcs9Q)?&-Ri`X*o@AzB!E*_${LtFj3gZ<13wQwZ1M`kRx%#6qO$Q+M% z+vmnq3YKZhvF+>)Y&+YEZD+f&?d*5hc5@ipX6mqQrXJg7?&DwSra$mK1#OQ>i>{9q zWQ#5VTR<7u7M_P~;e|L&i@l012p_f}wqslPU2Fjz!xxnd?hOidTp?ZjL9|k*D4eVM z-nc~fF9BcB0x941SD!SzT+YX<)n^^vsW~gK1@{NPUB{yP6Ac#K*VuO4D#9O-?YI-R zT}I(L^%;R%sn3(x7D&Z5=PYb%<>Lg6-59}Ra-Rx2Xs{3HGJI2m58$3!_$)rEK38y_ z#s+uw2Wo%jcgN2tF$dx~I_hM6N%uYt=eZg%pF*jkUXJbG1qyMc7TAd=Y2lCX*XnZ= z|404|SLh_Z#PQnkJ$y@JW0Yf-XE)R*LDx_#EKsLh8ZMN-G$zU83H4Pb_w&r~HR%8I eeBopJd4`sc8GE>`C(Rc$zK5r%yzltuJpTh?5F}mz diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/drivers_apt32f102_ck801.d b/Source/Obj/drivers_apt32f102_ck801.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/drivers_apt32f102_ck801.d rename to Source/Obj/drivers_apt32f102_ck801.d diff --git a/Source/Obj/drivers_apt32f102_ck801.o b/Source/Obj/drivers_apt32f102_ck801.o new file mode 100644 index 0000000000000000000000000000000000000000..72e830ed9d04f9273c85c32ca7b6ce66455de467 GIT binary patch literal 19092 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/main.d b/Source/Obj/main.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/main.d rename to Source/Obj/main.d diff --git a/Source/Obj/main.o b/Source/Obj/main.o new file mode 100644 index 0000000000000000000000000000000000000000..8c2ef377d2b7c2acd6d6c4fc6864ec659e0ff5ac GIT binary patch literal 25936 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/mcu_initial.d b/Source/Obj/mcu_initial.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/mcu_initial.d rename to Source/Obj/mcu_initial.d diff --git a/Source/Obj/mcu_initial.o b/Source/Obj/mcu_initial.o new file mode 100644 index 0000000000000000000000000000000000000000..74395267b0187e38766eb7d4c662a971e8d02ffc GIT binary patch literal 47332 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 U(pP)aTX`bZBW~lvH8;Kg58$Sw?EnA( literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/mcu_interrupt.d b/Source/Obj/mcu_interrupt.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/mcu_interrupt.d rename to Source/Obj/mcu_interrupt.d diff --git a/Source/Obj/mcu_interrupt.o b/Source/Obj/mcu_interrupt.o new file mode 100644 index 0000000000000000000000000000000000000000..db482a7a8d341e1291544f7ac6ac2f6e1e074078 GIT binary patch literal 45096 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 BKnef= literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/Project.cdkproj b/Source/Project.cdkproj similarity index 99% rename from T1_TC_ZH_V01_20251128/Source/Project.cdkproj rename to Source/Project.cdkproj index 061d262..e55e558 100644 --- a/T1_TC_ZH_V01_20251128/Source/Project.cdkproj +++ b/Source/Project.cdkproj @@ -318,7 +318,7 @@ no - T1_TC_34650_ZH_V01 + T1_TC_ZH_V02_202602091700 Executable yes yes diff --git a/T1_TC_ZH_V01_20251128/Source/Project.cdkws b/Source/Project.cdkws similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Project.cdkws rename to Source/Project.cdkws diff --git a/T1_TC_ZH_V01_20251128/Source/Project.tags b/Source/Project.tags similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Project.tags rename to Source/Project.tags diff --git a/T1_TC_ZH_V01_20251128/Source/Readme.txt b/Source/Readme.txt similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Readme.txt rename to Source/Readme.txt diff --git a/T1_TC_ZH_V01_20251128/Source/SYSTEM/Bootload_fun.c b/Source/SYSTEM/Bootload_fun.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/SYSTEM/Bootload_fun.c rename to Source/SYSTEM/Bootload_fun.c diff --git a/T1_TC_ZH_V01_20251128/Source/SYSTEM/dip_switch.c b/Source/SYSTEM/dip_switch.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/SYSTEM/dip_switch.c rename to Source/SYSTEM/dip_switch.c diff --git a/T1_TC_ZH_V01_20251128/Source/SYSTEM/eeprom.c b/Source/SYSTEM/eeprom.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/SYSTEM/eeprom.c rename to Source/SYSTEM/eeprom.c diff --git a/T1_TC_ZH_V01_20251128/Source/SYSTEM/inc/Bootload_fun.h b/Source/SYSTEM/inc/Bootload_fun.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/SYSTEM/inc/Bootload_fun.h rename to Source/SYSTEM/inc/Bootload_fun.h diff --git a/T1_TC_ZH_V01_20251128/Source/SYSTEM/inc/dip_switch.h b/Source/SYSTEM/inc/dip_switch.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/SYSTEM/inc/dip_switch.h rename to Source/SYSTEM/inc/dip_switch.h diff --git a/T1_TC_ZH_V01_20251128/Source/SYSTEM/inc/eeprom.h b/Source/SYSTEM/inc/eeprom.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/SYSTEM/inc/eeprom.h rename to Source/SYSTEM/inc/eeprom.h diff --git a/T1_TC_ZH_V01_20251128/Source/SYSTEM/inc/tempctrl_unit.h b/Source/SYSTEM/inc/tempctrl_unit.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/SYSTEM/inc/tempctrl_unit.h rename to Source/SYSTEM/inc/tempctrl_unit.h diff --git a/T1_TC_ZH_V01_20251128/Source/SYSTEM/inc/uart.h b/Source/SYSTEM/inc/uart.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/SYSTEM/inc/uart.h rename to Source/SYSTEM/inc/uart.h diff --git a/T1_TC_ZH_V01_20251128/Source/SYSTEM/inc/uart_protocol.h b/Source/SYSTEM/inc/uart_protocol.h similarity index 59% rename from T1_TC_ZH_V01_20251128/Source/SYSTEM/inc/uart_protocol.h rename to Source/SYSTEM/inc/uart_protocol.h index 2d4b791..8d69b99 100644 --- a/T1_TC_ZH_V01_20251128/Source/SYSTEM/inc/uart_protocol.h +++ b/Source/SYSTEM/inc/uart_protocol.h @@ -4,15 +4,13 @@ #include "apt32f102_types_local.h" #include "uart.h" -#define Tem_Type 0x03 //温控器类型 +#define Tem_Type 0x04 //温控器类型 -void Rs485AskCycleSend(void); void Rs485AskCtrlSend(U8_T* Recdata); -U8_T Tem_Rs485_Rec_Pro(U8_T *RecData, U16_T Len); void Rs485_ASend(U32_T valtim); - +U8_T IrSend_Rs485_Pro(U8_T *RecData, U16_T Len); #endif \ No newline at end of file diff --git a/T1_TC_ZH_V01_20251128/Source/SYSTEM/tempctrl_unit.c b/Source/SYSTEM/tempctrl_unit.c similarity index 68% rename from T1_TC_ZH_V01_20251128/Source/SYSTEM/tempctrl_unit.c rename to Source/SYSTEM/tempctrl_unit.c index bb1bf94..868a780 100644 --- a/T1_TC_ZH_V01_20251128/Source/SYSTEM/tempctrl_unit.c +++ b/Source/SYSTEM/tempctrl_unit.c @@ -66,9 +66,7 @@ void TemCtrl_Init(void) TempCtrl.TemState_Now.indoor_t = 24; TempCtrl.TemStateLast.indoor_t = TempCtrl.TemState_Now.indoor_t; TempCtrl.TemState_Ctrller.indoor_t = TempCtrl.TemState_Now.indoor_t; - - TempCtrl.CardState = 0x01; //默认插卡 - TempCtrl.CardEn = 0x00; //插卡状态功能默认关闭 + SYSCON->UREG0 = 0x00000000; SYSCON->UREG0 |= (TempCtrl.TemState_Now.mode << 8); @@ -79,174 +77,7 @@ void TemCtrl_Init(void) -/******************************************************************** - * 函数功能:阀门控制 - * - * -*****************************************************************/ -void Tem_Valve_Ctrl(void) -{ - uint8_t TemIndoor = 0x00; - uint8_t TemSet = 0x00; - - TemIndoor = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t); - TemSet = TEMTEMPCONVER(TempCtrl.TemState_Now.set_t); - switch(TempCtrl.TemState_Now.on_off) // - { - case TEMP_ON: - switch(TempCtrl.TemState_Now.mode) //模式 - { - case MODEL_COLD: - if(TemIndoor < TemSet - 1) //室内温度小于设置温度 - { - TempCtrl.TemState_Now.valve = TEM_VALVE_CLOSE; - } - else if(TemIndoor > TemSet + 1) //室内温度大于设置温度 - { - TempCtrl.TemState_Now.valve = TEM_VALVE_OPEN; - } - break; - case MODEL_HOT: - if(TemIndoor > TemSet + 1) //室内温度大于设置温度 - { - TempCtrl.TemState_Now.valve = TEM_VALVE_CLOSE; - } - else if(TemIndoor < TemSet - 1) //室内温度小于设置温度 - { - TempCtrl.TemState_Now.valve = TEM_VALVE_OPEN; - } - break; - case MODEL_WIND: - TempCtrl.TemState_Now.valve = TEM_VALVE_CLOSE; - break; - } - break; - case TEMP_OFF: - TempCtrl.TemState_Now.valve = TEM_VALVE_CLOSE; - break; - default: - break; - } - -// Dbg_Println(DBG_BIT_SYS_STATUS,"valve:%d",TempCtrl.TemState_Now.valve); -} - - - - - - -/************************************************************************************ - * 函数功能:设置模式下参数保存,状态改变上报 - * - * -**********************************************************************************/ -void DisPlay_Task(void) -{ - static U8_T OpenDisPlay_Flag = 0x00; //开机刷新标志 - - - ///4、温控状态变化刷新屏幕内容 - if(TempCtrl.TemState_Now.on_off == TEMP_ON) - { - if(TempCtrl.TemStateLast.mode != TempCtrl.TemState_Now.mode) //刷新模式 - { - TempCtrl.TemStateLast.mode = TempCtrl.TemState_Now.mode; - - SYSCON->UREG0 &= 0xFFFF00FF; - SYSCON->UREG0 |= (TempCtrl.TemState_Now.mode << 8); - - TempCtrl.TempChange_Flag = 0x01; //2024-12-16 - TempCtrl.TempChange_Tick = SysTick_1ms; - } - - if((TempCtrl.TemStateLast.fan != TempCtrl.TemState_Now.fan) || (OpenDisPlay_Flag == 0x01)) //刷新风速,2025-03-20 - { - OpenDisPlay_Flag = 0x00; - - TempCtrl.TemStateLast.fan = TempCtrl.TemState_Now.fan; - - - SYSCON->UREG0 &= 0xFF00FFFF; - SYSCON->UREG0 |= (TempCtrl.TemState_Now.fan << 16); - - TempCtrl.TempChange_Flag = 0x01; //2024-12-16 - TempCtrl.TempChange_Tick = SysTick_1ms; - } - - if(TempCtrl.TemStateLast.set_t != TempCtrl.TemState_Now.set_t) //刷新设置温度 - { - TempCtrl.TemStateLast.set_t = TempCtrl.TemState_Now.set_t; - - SYSCON->UREG0 &= 0x00FFFFFF; - SYSCON->UREG0 |= (TempCtrl.TemState_Now.set_t << 24); - - TempCtrl.TempChange_Flag = 0x01; //2024-12-16 - TempCtrl.TempChange_Tick = SysTick_1ms; - } - - - if(TempCtrl.TemStateLast.indoor_t != TempCtrl.TemState_Now.indoor_t) //刷新室内温度 - { - TempCtrl.TemStateLast.indoor_t = TempCtrl.TemState_Now.indoor_t; - - SYSCON->UREG0 &= 0x00FFFFFF; - SYSCON->UREG0 |= (TempCtrl.TemState_Now.set_t << 24); - } - - - if(SysTick_1ms - TempCtrl.Temp_SendTick >= 30000) - { - TempCtrl.Temp_SendTick = SysTick_1ms; - - TempCtrl.TemStateLast.indoor_t = TempCtrl.TemState_Now.indoor_t; - TempCtrl.TempChange_Flag = 0x01; //2025-02-25,温度变化每隔30s未变化,上报一次。 - - } - } - - //开机状态 - if(TempCtrl.TemStateLast.on_off != TempCtrl.TemState_Now.on_off) //刷新开关机 - { - TempCtrl.TemStateLast.on_off = TempCtrl.TemState_Now.on_off; - - SYSCON->UREG0 &= 0xFFFFFF00; //2024-03-15 - SYSCON->UREG0 |= TempCtrl.TemState_Now.on_off; //2024-03-15 - - TempCtrl.TempChange_Flag = 0x01; //2024-12-16 - TempCtrl.TempChange_Tick = SysTick_1ms; - } - - //发送组包 - if((TempCtrl.TempChange_Flag == 0x01) && (SysTick_1ms - TempCtrl.TempChange_Tick >= 1000)) //2025-03-24,温度变化人为操作1s间隔上报一次 - { - TempCtrl.TempChange_Tick = SysTick_1ms; - TempCtrl.TempChange_Flag = 0x00; - - TempCtrl.Temp_SendTick = SysTick_1ms; - - //防冲撞上报 - if(g_eeprom.dev_port == ACTIVE_PORT) { - Rs485_ASend(BUSSend_ValidTime2);//组包发送 - } - - } - - - //状态5min未变化,上报 - if((SysTick_1ms - TempCtrl.TempChange_Tick >= 300000)) - { - TempCtrl.TempChange_Tick = SysTick_1ms; - TempCtrl.Temp_SendTick = SysTick_1ms; - - //防冲撞上报 - if(g_eeprom.dev_port == ACTIVE_PORT) { - Rs485_ASend(BUSSend_ValidTime1);//组包发送 - } - } - -} @@ -259,9 +90,6 @@ void TemCtrl_Pro(void) { static uint32_t TemCtrl_tick = 0x00; - //1、阀门控制 - Tem_Valve_Ctrl(); - //2、网关读取到的开关机状态 if(TempCtrl.TemState_Now.on_off != TempCtrl.TemState_Ctrller.on_off) { @@ -307,13 +135,13 @@ void TemCtrl_Pro(void) } - //4、发送读取网关空调状态命令,获取温控器状态 - if(SysTick_1ms - TempCtrl.TemQuery_1S_tick >= 1000) - { - TempCtrl.TemQuery_1S_tick = SysTick_1ms; - - Ctrller_Query_AirState(); - } +// //4、发送读取网关空调状态命令,获取温控器状态 +// if(SysTick_1ms - TempCtrl.TemQuery_1S_tick >= 1000) +// { +// TempCtrl.TemQuery_1S_tick = SysTick_1ms; +// +// Ctrller_Query_AirState(); +// } } @@ -396,7 +224,7 @@ void Ctrller_Ctrl_AirState(void) SdBuff[7] = 0x02; } - if(TempCtrl.TemState_Now.fan == FAN_AUTO){ //空调风速, 0x00:自动, 0x01:低风速, 0x02:中风速, 0x03:高风速 + if(TempCtrl.TemState_Now.fan == FAN_AUTO){ //空调风速, 0x00:自动, 0x01:低风速, 0x02:中风速, 0x03:高风速, 0x04:停止 SdBuff[8] = 0x00; }else if(TempCtrl.TemState_Now.fan == FAN_LOW){ SdBuff[8] = 0x01; @@ -404,8 +232,10 @@ void Ctrller_Ctrl_AirState(void) SdBuff[8] = 0x02; }else if(TempCtrl.TemState_Now.fan == FAN_HIGH){ SdBuff[8] = 0x03; + }else if(TempCtrl.TemState_Now.fan == FAN_STOP){ + SdBuff[8] = 0x04; }else{ - SdBuff[8] = 0x00; + SdBuff[8] = 0x02; } SdBuff[9] = TempCtrl.Temp_dirwind; //空调的风向值, 0x00:无风向, 0x01:代表风向板位于位置1, ..., 0x07:代表风向板位于位置7, 0xFF:自动摆动 @@ -568,7 +398,7 @@ U8_T Ctrller_RecData_Processing(U8_T *RecData, U16_T Len) Ctrller_AirFun_Processing(RecData,Len); break; case 0x02: //查询网关连接的空调状态的回复 - Ctrller_AirState_Processing(RecData,Len); + //Ctrller_AirState_Processing(RecData,Len); break; case 0x03: //控制网关连接的空调状态的回复 Ctrller_CtrlAirState_Processing(RecData,Len); @@ -577,7 +407,6 @@ U8_T Ctrller_RecData_Processing(U8_T *RecData, U16_T Len) break; default: - break; } diff --git a/T1_TC_ZH_V01_20251128/Source/SYSTEM/uart.c b/Source/SYSTEM/uart.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/SYSTEM/uart.c rename to Source/SYSTEM/uart.c diff --git a/Source/SYSTEM/uart_protocol.c b/Source/SYSTEM/uart_protocol.c new file mode 100644 index 0000000..7ebacba --- /dev/null +++ b/Source/SYSTEM/uart_protocol.c @@ -0,0 +1,207 @@ +#include "includes.h" + + +/*两字节CRC校验 +*len包括校验的长度 +*/ +void NetCRC16_Check(U8_T *aStr ,U16_T len) +{ + U16_T alen = len-2; //CRC16??????? + U16_T xda , xdapoly ; //校验后的结果,多项式 + U16_T i,j, xdabit ; //缓存变量 + + if(len < 3) //长度小于3 + { + return ; //直接返回 + } + xda = 0xFFFF ; + xdapoly = 0xA001 ; // (X**16 + X**15 + X**2 + 1) + for(i=0;i>= 1 ; + if( xdabit ) xda ^= xdapoly ; + } + } + aStr[alen] = (U8_T)(xda & 0xFF) ; + aStr[alen+1] = (U8_T)(xda>>8) ; +} + + + +/** @name CRC16校验得到 +* @para +* aStr 数组首地址 +* len 数组长度,不包括校验 +*/ +U16_T GetCRC16( U8_T *aStr , U16_T len) +{ + U16_T xda , xdapoly ; + U16_T i, j, xdabit ; + xda = 0xFFFF ; + xdapoly = 0xA001 ; // (X**16 + X**15 + X**2 + 1) + for (i = 0; i < len; i++) + { + xda ^= aStr[i] ; + for (j = 0; j < 8; j++) + { + xdabit = (unsigned char)(xda & 0x01) ; + xda >>= 1 ; + if ( xdabit ) xda ^= xdapoly ; + } + } + + return xda; +} + +/*和校验*/ +U8_T SOR_CRC(U8_T *Data, U8_T DataLen) +{ + U8_T i; + U8_T sor_data = 0; + + for(i = 0; i < DataLen; i++)//i可能为0 ,也可以是1 + { + sor_data = sor_data+Data[i]; + } + return sor_data; +} + + + +/*控制回复报文*/ +void Rs485AskCtrlSend(U8_T* Recdata) +{ + U8_T SendData[10]; + + SendData[0] = 0x55; + SendData[1] = 0x55; + SendData[2] = 0xee; //头 + + SendData[3] = 0x07; //长度 + SendData[4] = Tem_Type; //类型 + + SendData[6] = 0x01; //类型 - 红外转发 + SendData[5] = g_Dip.DIP_addr; + SendData[7] = 0x01; //内容 - 接收成功 + + NetCRC16_Check(&SendData[0+3], SendData[0+3]); //校验 + + Set_GroupSend(SendData,10,1,BUSSend_ValidTime3,20); //组包 + +} + + + +/************************************************************************** + * IrSend_Rs485_Pro + * 描述 :红外转发接收处理函数 + * 输入 : + * RecData 接收数据 + * Len 数据长度 + * 输出 :无 + * 调用 :无 + *************************************************************************/ +U8_T IrSend_Rs485_Pro(U8_T *RecData, U16_T Len) +{ + U8_T ret = 0; + U16_T Crc_buf; //正确报文校验保存 + + if(0x0D != Len) + { + return 0x01; + } + + if((0x55 != RecData[0]) || (0x55 != RecData[1])|| (0xee != RecData[2]) ) + { + return 0x02; + } + + if( (g_Dip.DIP_addr != RecData[6])&&(0xFF != RecData[6]) ) + { + return 0x03; + } + + if( (RecData[3] + 3 != Len) || (Tem_Type != RecData[4])) + { + return 0x04; + } + + Crc_buf = GetCRC16(&RecData[3], RecData[3]-2); + if(Crc_buf == (RecData[Len-2]+(RecData[Len-1]<<8))) //校验通过 + { + //控制空调 + if(0x01 == RecData[5]) + { + //设置温度命令 + if((TEM_MIN_SET <= RecData[7]) && (RecData[7] < TEM_MAX_SET)) //在指定温度范围内 + { + TempCtrl.TemState_Now.set_t = (RecData[7]&0x1f); + }else if(RecData[7] == TEM_MAX_SET){ + TempCtrl.TemState_Now.set_t = (RecData[7]&0x20); + } + + switch(RecData[8]) + { + case 0x00: + TempCtrl.TemState_Now.on_off = TEMP_OFF; //关机 + break; + case 0x01: + TempCtrl.TemState_Now.on_off = TEMP_ON; //开机 + break; + default: + break; //报文有误 + } + + switch(RecData[9]) //风速 + { + case 0x03: + TempCtrl.TemState_Now.fan = FAN_HIGH; //高风速 + break; + case 0x02: + TempCtrl.TemState_Now.fan = FAN_MID; //中风速 + break; + case 0x01: + TempCtrl.TemState_Now.fan = FAN_LOW; //低风速 + break; + case 0x00: + TempCtrl.TemState_Now.fan = FAN_STOP; //低风速 + break; + default: + break; + } + + switch(RecData[10]) // + { + case 0x00: + TempCtrl.TemState_Now.mode = MODEL_COLD; //制冷 + break; + case 0x01: + TempCtrl.TemState_Now.mode = MODEL_HOT; //制热 + break; + case 0x02: + TempCtrl.TemState_Now.mode = MODEL_WIND; //送风 + break; + default: + break; + } + + Rs485AskCtrlSend(RecData); + return 0x00; + } + + } + + return 0x01; +} + + + + + + + + diff --git a/T1_TC_ZH_V01_20251128/Source/arch/apt32f102_iostring.c b/Source/arch/apt32f102_iostring.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/arch/apt32f102_iostring.c rename to Source/arch/apt32f102_iostring.c diff --git a/T1_TC_ZH_V01_20251128/Source/arch/apt32f102a.svc b/Source/arch/apt32f102a.svc similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/arch/apt32f102a.svc rename to Source/arch/apt32f102a.svc diff --git a/T1_TC_ZH_V01_20251128/Source/arch/crt0.S b/Source/arch/crt0.S similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/arch/crt0.S rename to Source/arch/crt0.S diff --git a/T1_TC_ZH_V01_20251128/Source/arch/mem_init.c b/Source/arch/mem_init.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/arch/mem_init.c rename to Source/arch/mem_init.c diff --git a/T1_TC_ZH_V01_20251128/Source/cdkws.mk b/Source/cdkws.mk similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/cdkws.mk rename to Source/cdkws.mk diff --git a/T1_TC_ZH_V01_20251128/Source/ckcpu.ld b/Source/ckcpu.ld similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/ckcpu.ld rename to Source/ckcpu.ld diff --git a/T1_TC_ZH_V01_20251128/Source/doc/APT32F102_Lib_Fix_Log.md b/Source/doc/APT32F102_Lib_Fix_Log.md similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/doc/APT32F102_Lib_Fix_Log.md rename to Source/doc/APT32F102_Lib_Fix_Log.md diff --git a/T1_TC_ZH_V01_20251128/Source/doc/APT32F102_TKLib_Version.md b/Source/doc/APT32F102_TKLib_Version.md similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/doc/APT32F102_TKLib_Version.md rename to Source/doc/APT32F102_TKLib_Version.md diff --git a/T1_TC_ZH_V01_20251128/Source/drivers/apt32f102.c b/Source/drivers/apt32f102.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/drivers/apt32f102.c rename to Source/drivers/apt32f102.c diff --git a/T1_TC_ZH_V01_20251128/Source/drivers/apt32f102_ck801.c b/Source/drivers/apt32f102_ck801.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/drivers/apt32f102_ck801.c rename to Source/drivers/apt32f102_ck801.c diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102.h b/Source/include/apt32f102.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102.h rename to Source/include/apt32f102.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_adc.h b/Source/include/apt32f102_adc.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_adc.h rename to Source/include/apt32f102_adc.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_bt.h b/Source/include/apt32f102_bt.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_bt.h rename to Source/include/apt32f102_bt.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_ck801.h b/Source/include/apt32f102_ck801.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_ck801.h rename to Source/include/apt32f102_ck801.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_clkcalib.h b/Source/include/apt32f102_clkcalib.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_clkcalib.h rename to Source/include/apt32f102_clkcalib.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_coret.h b/Source/include/apt32f102_coret.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_coret.h rename to Source/include/apt32f102_coret.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_countera.h b/Source/include/apt32f102_countera.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_countera.h rename to Source/include/apt32f102_countera.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_crc.h b/Source/include/apt32f102_crc.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_crc.h rename to Source/include/apt32f102_crc.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_ept.h b/Source/include/apt32f102_ept.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_ept.h rename to Source/include/apt32f102_ept.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_et.h b/Source/include/apt32f102_et.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_et.h rename to Source/include/apt32f102_et.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_gpio.h b/Source/include/apt32f102_gpio.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_gpio.h rename to Source/include/apt32f102_gpio.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_gpt.h b/Source/include/apt32f102_gpt.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_gpt.h rename to Source/include/apt32f102_gpt.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_hwdiv.h b/Source/include/apt32f102_hwdiv.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_hwdiv.h rename to Source/include/apt32f102_hwdiv.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_i2c.h b/Source/include/apt32f102_i2c.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_i2c.h rename to Source/include/apt32f102_i2c.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_ifc.h b/Source/include/apt32f102_ifc.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_ifc.h rename to Source/include/apt32f102_ifc.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_lpt.h b/Source/include/apt32f102_lpt.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_lpt.h rename to Source/include/apt32f102_lpt.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_rtc.h b/Source/include/apt32f102_rtc.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_rtc.h rename to Source/include/apt32f102_rtc.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_sio.h b/Source/include/apt32f102_sio.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_sio.h rename to Source/include/apt32f102_sio.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_spi.h b/Source/include/apt32f102_spi.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_spi.h rename to Source/include/apt32f102_spi.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_syscon.h b/Source/include/apt32f102_syscon.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_syscon.h rename to Source/include/apt32f102_syscon.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_tkey.h b/Source/include/apt32f102_tkey.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_tkey.h rename to Source/include/apt32f102_tkey.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_types_local.h b/Source/include/apt32f102_types_local.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_types_local.h rename to Source/include/apt32f102_types_local.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_uart.h b/Source/include/apt32f102_uart.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_uart.h rename to Source/include/apt32f102_uart.h diff --git a/T1_TC_ZH_V01_20251128/Source/include/apt32f102_wwdt.h b/Source/include/apt32f102_wwdt.h similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/include/apt32f102_wwdt.h rename to Source/include/apt32f102_wwdt.h diff --git a/T1_TC_ZH_V01_20251128/Source/includes.h b/Source/includes.h similarity index 89% rename from T1_TC_ZH_V01_20251128/Source/includes.h rename to Source/includes.h index 53113b1..b6ffb33 100644 --- a/T1_TC_ZH_V01_20251128/Source/includes.h +++ b/Source/includes.h @@ -42,9 +42,9 @@ 如果EEPROM 中没有保存设备信息,那么当前就是Boot程序,设备地址为0x00,设备类型为0x00 */ #define Project_Area 0x02 //工程所处区域为APP区域 0x01:Boot区域;0x02:APP区域 -#define Peoject_Name "T1_TC_ZH" //工程名称 -#define Project_FW_Version 0x01 //工程对应的软件版本号 -#define Project_Type 0x07 //工程对应的设备类型 Boot默认设备类型 +#define Peoject_Name "T1_TC_ZH_V02" //工程名称 +#define Project_FW_Version 0x02 //工程对应的软件版本号 +#define Project_Type 0x0F //工程对应的设备类型 Boot默认设备类型 #define Project_HW_Version 0x02 //软件对应的硬件版本号 diff --git a/T1_TC_ZH_V01_20251128/Source/lib_102ClkCalib_1_03.a b/Source/lib_102ClkCalib_1_03.a similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/lib_102ClkCalib_1_03.a rename to Source/lib_102ClkCalib_1_03.a diff --git a/T1_TC_ZH_V01_20251128/Source/lib_102TKey_1_15.a b/Source/lib_102TKey_1_15.a similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/lib_102TKey_1_15.a rename to Source/lib_102TKey_1_15.a diff --git a/T1_TC_ZH_V01_20251128/Source/lib_102TKey_1_15C.a b/Source/lib_102TKey_1_15C.a similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/lib_102TKey_1_15C.a rename to Source/lib_102TKey_1_15C.a diff --git a/T1_TC_ZH_V01_20251128/Source/lib_102TKey_1_15M.a b/Source/lib_102TKey_1_15M.a similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/lib_102TKey_1_15M.a rename to Source/lib_102TKey_1_15M.a diff --git a/T1_TC_ZH_V01_20251128/Source/lib_102TKey_1_15MC.a b/Source/lib_102TKey_1_15MC.a similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/lib_102TKey_1_15MC.a rename to Source/lib_102TKey_1_15MC.a diff --git a/T1_TC_ZH_V01_20251128/Source/lib_102TKey_c_1_16P0.a b/Source/lib_102TKey_c_1_16P0.a similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/lib_102TKey_c_1_16P0.a rename to Source/lib_102TKey_c_1_16P0.a diff --git a/T1_TC_ZH_V01_20251128/Source/lib_102TKey_f_1_18B_240629.a b/Source/lib_102TKey_f_1_18B_240629.a similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/lib_102TKey_f_1_18B_240629.a rename to Source/lib_102TKey_f_1_18B_240629.a diff --git a/T1_TC_ZH_V01_20251128/Source/main.c b/Source/main.c similarity index 96% rename from T1_TC_ZH_V01_20251128/Source/main.c rename to Source/main.c index e853015..1534ff7 100644 --- a/T1_TC_ZH_V01_20251128/Source/main.c +++ b/Source/main.c @@ -28,8 +28,6 @@ int main(void) TemCtrl_Pro(); - DisPlay_Task(); - BUS485Send_Task(); } } diff --git a/T1_TC_ZH_V01_20251128/Source/mcu_initial.c b/Source/mcu_initial.c similarity index 99% rename from T1_TC_ZH_V01_20251128/Source/mcu_initial.c rename to Source/mcu_initial.c index 80e13ce..8e35cab 100644 --- a/T1_TC_ZH_V01_20251128/Source/mcu_initial.c +++ b/Source/mcu_initial.c @@ -317,7 +317,7 @@ void APT32F102_init(void) //------------------------------------------------------------/ BT_CONFIG(); //BT initial - UARTx_Init(UART_2,Tem_Rs485_Rec_Pro); //通讯串口 + UARTx_Init(UART_2,IrSend_Rs485_Pro); //通讯串口 UARTx_Init(UART_1,Ctrller_RecData_Processing); //通讯串口 EEPROM_Init(); diff --git a/T1_TC_ZH_V01_20251128/Source/mcu_interrupt.c b/Source/mcu_interrupt.c similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/mcu_interrupt.c rename to Source/mcu_interrupt.c diff --git a/T1_TC_ZH_V01_20251128/README.md b/T1_TC_ZH_V01_20251128/README.md deleted file mode 100644 index 9f0acd1..0000000 --- a/T1_TC_ZH_V01_20251128/README.md +++ /dev/null @@ -1,237 +0,0 @@ -# 版本记录: - -## 2025-11-27 15: 51 叶阳文 - -``` - 对接中弘线控器网关(温控器),初步完成。 - 软件版本:V01 - 硬件版本:BLV_T1_RS485_V02 校验码:0xCABE9EDC -``` - - - -## 2025-08-15 14: 32 叶阳文 - -``` - 发布文件:T1_TC_34650_V06_20250815.ihex 校验码:0x24451505 - 软件版本:V06 - 硬件版本:T1-TC-34650-V02 - 修改点: - 1、增加设置页面9:-老化测试页面,设置后温控器3S切换一次除室温外的所有状态。 -``` - -​ - -## 2025-05-22 叶阳文 - -``` - 发布文件:T1_TC_34650_V05_202505211650.ihex 校验码:0x58963904 - 软件版本:V05 - 硬件版本:V02 - 修改点: 1、修改触摸按键、ADC的电压参考源为芯片电源VDD。 - 2、修改ADC采样换算电压公式。 -``` - - - -## 2025-05-16 叶阳文 - -``` - 发布文件:T1_TC_34650_V04_202505161010.ihex 校验码:0x0092AE1C - 软件版本:V04 - 硬件版本:V02 - 修改点: - 1、未使用bootload。 - 2、使用新触摸库lib_102TKey_f_1_18B_240629。 - 3、触摸参数见蓝板弱电温控器触摸值测试_20250516 - 4、将所有发送全部改为有总线防冲撞机制的发送。 - -设置页面功能描述(长按温度加、温度减): - 页面1: - 温控管制设置 0-冷热阀不分离 1-冷热阀分离 2-无阀 - 页面2: - 设置温差 - 页面3: - 设置背光延时关(1:开启 0:关闭) 485版本默认关闭 无线版本默认打开 - 页面4: - 设置按键灵敏度 (0:低灵敏度 1:中灵敏度 2:高灵敏度) 默认中灵敏度 - 页面5: - 设置本机地址 0~254 - 页面6: - 设置温度显示单位,0x00 为摄氏度显示,0x01 为华氏度显示; - 页面7: - 设置LCD屏幕文本显示,0x00 中英文显示,0x01 中文显示,0x02 英文显示; - 页面8: - 查询软件版本号 -``` - - - -## 2025-05-07 - -``` - 软件版本号:V04 - 1、修改触摸参数,将TK_EC_LEVEL调整为TK_EC_3_6V。 - 2、添加bootload的APP部分程序。 -``` - - - -## 2025-04-22 13: 42 叶阳文 - -``` - 软件版本号:V03 - 1、将所有发送全部改为有总线防冲撞机制的发送。 - 2、当前触摸底层库为lib_102TKey_f_1_18B_240629.a。 - 3、总线空闲判断放在1ms定时器中。 -``` - - - -## 2025-04-11 10: 22 叶阳文 - -``` - 1、eeprom地址范围:0x10000000~0x100007FF。 - 2、eeprom地址按页分配,每页64Byte,不要跨页分配 - 3、设备固件的eeprom使用起始起始地址改为EEPROM_ParaInfo_Address:0x10000100 -``` - - - -## 2025-04-10 - -``` - 1、优化防冲撞机制 - 2、修改主动模式数据上报 -``` - - - -## 2025-03-31 17: 44 - -``` - 1、添加总线防冲撞机制,中断判断总线空闲繁忙状态。 - 2、修改软件触摸底层库为lib_102TKey_f_1_18B_240629.a,调节触摸灵敏度。 - 3、修改触摸环境值打印的数据。 -``` - - - -## 2025-02-26 - -``` - 软件版本号:V02 - 1、修改风速调节,取消风速停档位。 - 2、添加过零信号触发中断的控制继电器机制。 -``` - - - -## 2025-02-25 - -``` - 软件版本:V02 - 1、修改ADC电压采样的时间间隔错误,原先误把System_1ms用成了System_100us。 - 2、温度采样改为1s采样一次,温度采集数组改为储存两秒内数据。 - 3、将主动发送的超时发送改为超时丢弃。 - 4、修改风速调节,取消风速停档位。 -``` - - - -## 2025-01-18 - -``` - 设置页面功能描述:页面1 - 温控管制设置 0-冷热阀不分离 1-冷热阀分离 2-无阀 - 页面2 - 设置温差 - 页面3 - 设置背光延时关(1:开启 0:关闭) 485版本默认关闭 无线版本默认打开 - 页面4 - 设置按键灵敏度 (0:低灵敏度 1:中灵敏度 2:高灵敏度) 默认中灵敏度 - 页面5:- 设置本机地址 0~254 - 页面6:- 设置温度显示单位,0x00 为摄氏度显示,0x01 为华氏度显示; - 页面7:- 设置LCD屏幕文本显示,0x00 中英文显示,0x01 中文显示,0x02 英文显示; - 页面8:- 查询软件版本号 - - -增加功能:1、增加设置页面6,设置温度显示单位,0x00 为摄氏度显示,0x01 为华氏度显示; - 2、增加设置页面7,设置LCD屏幕文本显示,0x00 中英文显示,0x01 中文显示,0x02 英文显示; - 3、增加LCD背光颜色与模式的关联,制冷模式 背光为渐变蓝色,制热模式 背光为渐变红色,通风模式 背光为白色; - 4、增加页面8,查询软件版本号功能 -``` - - - -## 2025-01-16 - -``` - 1、修改为强弱电兼容的大屏温控器 - 2、修改ADC通道引脚 -``` - - - -## 2024-12-16 王佩东 - -``` - 1、添加485端口设置命令:轮询、主动 - 2、485总线检测 数据重发机制 -``` - - - -## 2024-12-05 AC_T1_ - -``` - 设置页面功能描述:页面1 - 温控管制设置 0-冷热阀不分离 1-冷热阀分离 2-无阀 - 页面2 - 设置温差 - 页面3 - 设置背光延时关(1:开启 0:关闭) 485版本默认关闭 无线版本默认打开 - 页面4 - 设置按键灵敏度 (0:低灵敏度 1:中灵敏度 2:高灵敏度) 默认中灵敏度 - 页面5:- 设置本机地址 1~254 - 无阀风机继电器逻辑:1、不配置阀继电器 只配置高中低继电器 - 2、送风模式下风机不启用 - 3、制冷制热模式下 低中高风速到达一定温度后(温度判断标准和非自动风标准风机继电器开启关闭一致)风机继电器关闭 或开启 自动风速下到达一定温度后风机继电器会自动切换最终关闭 - 温控器温度范围改为16-32℃ -``` - - - -## 2024-07-04 AC_T1_V01 - - 初次发布 - - 逻辑功能描述:1、原T1温控器基本功能 - 2、识别硬件485或RF泛至联模块 - - 设置页面功能描述:页面1 - 温控管制设置 0-冷热阀不分离 1-冷热阀分离 - 页面2 - 设置温差 - 页面3 - 设置背光延时关(1:开启 0:关闭) 默认关闭 - 页面4 - 设置按键灵敏度 (0:低灵敏度 1:中灵敏度 2:高灵敏度) 默认中灵敏度 - 页面5:- 设置本机地址 1~254 - - - 串口设置灵敏度通讯协议 - - AF 00 08 4C 01 00 01 FA //设置灵敏度 - 低挡位 - AF 00 08 4B 01 00 02 FA //设置灵敏度 - 中挡位 - AF 00 08 4A 01 00 03 FA //设置灵敏度 - 高挡位 - - AF 00 24 61 01 01 B4 00 B4 00 B4 00 B4 00 B4 00 B4 00 00 8C 00 8C 00 8C 00 8C 00 8C 00 8C 06 05 28 14 08 FA //设置1挡位参数 - 错误参数 - AF 00 24 61 01 01 B4 00 B4 00 B4 00 B4 00 B4 00 B4 00 8C 00 8C 00 8C 00 8C 00 8C 00 8C 00 06 05 28 14 08 FA //设置1挡位参数 - 正确参数 低灵敏度 - AF 00 24 50 01 02 B4 00 B4 00 B4 00 B4 00 B4 00 B4 00 64 00 64 00 64 00 64 00 64 00 64 00 06 05 28 14 08 FA //设置2挡位参数 - 正确参数 中灵敏度 - AF 00 24 3F 01 03 B4 00 B4 00 B4 00 B4 00 B4 00 B4 00 3C 00 3C 00 3C 00 3C 00 3C 00 3C 00 06 05 28 14 08 FA //设置3挡位参数 - 正确参数 高灵敏度 - AF 00 24 63 01 03 B4 00 B4 00 B4 00 B4 00 B4 00 B4 00 30 00 30 00 30 00 3C 00 3C 00 3C 00 06 05 28 14 08 FA //设置3挡位参数 - 正确参数 高灵敏度 - - AF 00 07 4D 02 00 FA //读取当前使用参数及挡位 - AF 00 07 4C 02 01 FA //读取1挡位 参数 - AF 00 07 4B 02 02 FA //读取2挡位 参数 - AF 00 07 4A 02 03 FA //读取3挡位 参数 - - //设备读取回复内容 - AF 00 24 60 02 01 B4 00 B4 00 B4 00 B4 00 B4 00 B4 00 8C 00 8C 00 8C 00 8C 00 8C 00 8C 00 06 05 28 14 08 FA - AF 00 24 4F 02 02 B4 00 B4 00 B4 00 B4 00 B4 00 B4 00 64 00 64 00 64 00 64 00 64 00 64 00 06 05 28 14 08 FA - AF 00 24 3E 02 03 B4 00 B4 00 B4 00 B4 00 B4 00 B4 00 3C 00 3C 00 3C 00 3C 00 3C 00 3C 00 06 05 28 14 08 FA - - AF 00 07 4B 03 01 FA //开启调试 触摸差值打印 - AF 00 07 4A 03 02 FA //关闭调试 触摸差值打印 - - AF 00 07 4B 04 00 FA //读取环境值 - AF 00 1E 30 04 13 BB 13 BB 19 0A 19 0B 16 97 16 98 12 19 12 1B 1A D8 1A D6 12 B4 12 B4 FA //回复参数 - - AF 00 07 4A 05 00 FA //复位命令 - - - - -​ -​ \ No newline at end of file diff --git a/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stddef.h.BDC4C8A012FAF406.idx b/T1_TC_ZH_V01_20251128/Source/.cache/.cache/clangd/index/stddef.h.BDC4C8A012FAF406.idx deleted file mode 100644 index cfbf938822e8d557a7f3ef89271155fae083eb76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2162 zcmYk74Nz276oB8o`;^PFE18Chh%ZD4MtOkwkD7uc1OA~ojb`*%-YyT8-EH6FXLSP0 zLRb)R`Oz^=D@aH*YeZ8)`A4VBF->f8@~5ns%o&}^ADpbS$a|MJvwQD(-?`_WbMCq4 zr6wgNW)X&o&qylB5fy=D7-ls5WW_1PBA9reI9bWa5Y17U3z@ilQ>Nhb&epmdBA1_O zmqkvnN)}s=Xj3>z=Hy(5!|qhX3{J9fVxH)9aVEP>5epPfu)#~26BN!W3bLXXWX|Fg zL4=8t38UQ%IxbFDKvQsLaEf;in_b~@Wyxlt`{-qdXp+p5=#-;4jxkGCaURd}3G;Zt z;o##Fl2b*8onLFWTftk&#>XeGi(P6pFPChRRZ8dA&4`MLj*6Yjr}AFWVlwe2IomZ| zw3>x93<%1N(* zq`kbLTYuHHeyktk!!T?=3g|~cLj&VGm{x>Pk|p4b@X=GF9|LE=_Th1TICyAKl`tw| z-wplqihYG2GZK_)(1aQkGBl`42)X~wZr}5CqwL3w0HtOfZq^xx2CtHiVPHF_XqMB! z2)?pqa`)Zh<4DhLM`Sx1H|P)ijYvrJ?GMkn?gf}^$KFyHe0+N3X`jCMPcwijOsXgd znDjTh=uYTO03J*{c!IiOT+6EqCf*BnV*}fTNf!=KfdK*}eN>+G&UcPqcb`8B7HV~* zR%cKZ!)@ywZ~r#+K3FIsMbE3R^=t_uB}kJayDv81zLa_Z)}KM-4DweMqdv#W4xIQU zA3!-K<@h-jMBlU=dzg|K4d5&yXVDlH#6;v)wRZYp06mEGpdb~*4pdM3OyYKfD~}O* zOjqbxHzsbZS(tIbwNNQ;nFAKe5GkXIYB>OSRtu`>nN!8krt`s*d<<;hs6g!`^lTUj z)6#EX3yp=tGT4ZWjcAzs2pJy@mn(I~O5HHNSLd@=r^P?}d;1qzwefermsUhtX~yF2 zH)N$vJ6#N*3Xv)_QFSuGXkLA2WsVPkPDDDa6)NFS}m6(nU=%H(6W09-`mBGTMX&nl_O@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_ZH_V01.asm b/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_ZH_V01.asm deleted file mode 100644 index 08c8633..0000000 --- a/T1_TC_ZH_V01_20251128/Source/Lst/T1_TC_34650_ZH_V01.asm +++ /dev/null @@ -1,14894 +0,0 @@ - -.//Obj/T1_TC_34650_ZH_V01.elf: file format elf32-csky-little - - -Disassembly of section .text: - -00000000 : -void tk_parameter_init(void) -{ -/**************************************************** -//TK parameter define -*****************************************************/ - TK_IO_ENABLE=0x4F01; //TK IO ENABLE Bit16-->Bit0;0=DISABLE 1=ENABLE - 0: 0000010c .long 0x0000010c - 4: 00003026 .long 0x00003026 - - TK_senprd[0]=180; //TCH0 scan period = TCH0 sens - 8: 00003016 .long 0x00003016 - TK_senprd[1]=70; //TCH1 scan period = TCH1 sens - c: 00000184 .long 0x00000184 - TK_senprd[2]=70; //TCH2 scan period = TCH2 sens - 10: 0000301e .long 0x0000301e - TK_senprd[3]=70; //TCH3 scan period = TCH3 sens - TK_senprd[4]=70; //TCH4 scan period = TCH4 sens - 14: 00002fdc .long 0x00002fdc - TK_senprd[5]=70; //TCH5 scan period = TCH5 sens - TK_senprd[6]=70; //TCH6 scan period = TCH6 sens - 18: 00000184 .long 0x00000184 - TK_senprd[7]=70; //TCH7 scan period = TCH7 sens - TK_senprd[8]=180; //TCH8 scan period = TCH8 sens - 1c: 0000300e .long 0x0000300e - TK_senprd[9]=180; //TCH9 scan period = TCH9 sens - 20: 00003006 .long 0x00003006 - TK_senprd[10]=70; //TCH10 scan period = TCH10 sens - 24: 00000184 .long 0x00000184 - TK_senprd[11]=70; //TCH11 scan period = TCH11 sens - TK_senprd[12]=180; //TCH12 scan period = TCH12 sens - 28: 00000184 .long 0x00000184 - TK_senprd[13]=180; //TCH13 scan period = TCH13 sens - 2c: 00000184 .long 0x00000184 - TK_senprd[14]=180; //TCH14 scan period = TCH14 sens - TK_senprd[15]=70; //TCH15 scan period = TCH15 sens - 30: 00000184 .long 0x00000184 - TK_senprd[16]=70; //TCH16 scan period = TCH16 sens - 34: 00000184 .long 0x00000184 - TK_Triggerlevel[0]=100; //TCH0 TK_Trigger level - 38: 00000184 .long 0x00000184 - TK_Triggerlevel[1]=40; //TCH1 TK_Trigger level - 3c: 00000184 .long 0x00000184 - TK_Triggerlevel[2]=40; //TCH2 TK_Trigger level - 40: 00002ffe .long 0x00002ffe - TK_Triggerlevel[3]=40; //TCH3 TK_Trigger level - TK_Triggerlevel[4]=40; //TCH4 TK_Trigger level - 44: 00002ff6 .long 0x00002ff6 - TK_Triggerlevel[5]=40; //TCH5 TK_Trigger level - TK_Triggerlevel[6]=40; //TCH6 TK_Trigger level - 48: 00002fee .long 0x00002fee - TK_Triggerlevel[7]=40; //TCH7 TK_Trigger level - TK_Triggerlevel[8]=100; //TCH8 TK_Trigger level - 4c: 00002fe6 .long 0x00002fe6 - TK_Triggerlevel[9]=100; //TCH9 TK_Trigger level - 50: 00000184 .long 0x00000184 - TK_Triggerlevel[10]=40; //TCH10 TK_Trigger level - 54: 00000184 .long 0x00000184 - TK_Triggerlevel[11]=40; //TCH11 TK_Trigger level - TK_Triggerlevel[12]=100; //TCH12 TK_Trigger level - 58: 00000184 .long 0x00000184 - TK_Triggerlevel[13]=100; //TCH13 TK_Trigger level - 5c: 00000184 .long 0x00000184 - TK_Triggerlevel[14]=100; //TCH14 TK_Trigger level - TK_Triggerlevel[15]=40; //TCH15 TK_Trigger level - 60: 00000184 .long 0x00000184 - TK_Triggerlevel[16]=40; //TCH16 TK_Trigger level - 64: 00000184 .long 0x00000184 - Press_debounce_data=6; //Press debounce 1~10 - 68: 00000184 .long 0x00000184 - Release_debounce_data=5; //Release debounce 1~10 - 6c: 00000184 .long 0x00000184 - 70: 00000184 .long 0x00000184 - Key_mode=1; //Key mode 0=single key 1=multi key - 74: 00000184 .long 0x00000184 - MultiTimes_Filter=40; //MultiTimes Filter,>4 ENABLE <4 DISABLE - 78: 00000184 .long 0x00000184 - 7c: 00002fde .long 0x00002fde - Valid_Key_Num=6; //Valid Key number when touched - 80: 00005994 .long 0x00005994 - Base_Speed=20; //baseline update speed - 84: 00002624 .long 0x00002624 - 88: 00002714 .long 0x00002714 - TK_longpress_time=8; //longpress rebuild time = _TK_longpress_time1*1s 0=disable - 8c: 0000277c .long 0x0000277c - TK_BaseCnt=59999; //10ms TK_BaseCnt=10ms*48M/8-1,this register need to modify when mcu's Freq changed - 90: 000027e4 .long 0x000027e4 - 94: 00000184 .long 0x00000184 - -/**************************************************** -//TK low power function define -*****************************************************/ - TK_Lowpower_mode=DISABLE; //touch key can goto sleep when TK lowpower mode enable - 98: 00002990 .long 0x00002990 - TK_Lowpower_level=2; //0=20ms 1=50ms 2=100ms 3=150ms 4=200ms,Scan interval when sleep - 9c: 00002d78 .long 0x00002d78 - a0: 00002da8 .long 0x00002da8 - TK_Wakeup_level=50; //touch key Trigger level in sleep - a4: 000029c4 .long 0x000029c4 -/**************************************************** -//TK special parameter define -*****************************************************/ - TK_PSEL_MODE=TK_PSEL_FVR; //tk power sel:TK_PSEL_FVR/TK_PSEL_AVDD when select TK_PSEL_FVR PA0.2(TCH3) need a 104 cap - a8: 00000184 .long 0x00000184 - ac: 00000184 .long 0x00000184 - TK_FVR_LEVEL=TK_FVR_2048V; //FVR level:TK_FVR_2048V/TK_FVR_4096V - b0: 00002a44 .long 0x00002a44 - TK_EC_LEVEL=TK_EC_1V; //C0 voltage sel:TK_EC_1V/TK_EC_2V/TK_EC_3V/TK_EC_3_6V - b4: 00002ab4 .long 0x00002ab4 - TK_icon[0]=6; //TCH0 TK Scan icon range 0~7 - b8: 00002b14 .long 0x00002b14 - bc: 00002ba8 .long 0x00002ba8 - TK_icon[1]=6; //TCH1 TK Scan icon range 0~7 - TK_icon[2]=6; //TCH2 TK Scan icon range 0~7 - c0: 00000184 .long 0x00000184 - TK_icon[3]=6; //TCH3 TK Scan icon range 0~7 - TK_icon[4]=6; //TCH4 TK Scan icon range 0~7 - c4: 00003036 .long 0x00003036 - TK_icon[5]=6; //TCH5 TK Scan icon range 0~7 - TK_icon[6]=6; //TCH6 TK Scan icon range 0~7 - c8: 00000184 .long 0x00000184 - TK_icon[7]=6; //TCH7 TK Scan icon range 0~7 - TK_icon[8]=6; //TCH8 TK Scan icon range 0~7 - cc: 00002c3c .long 0x00002c3c - TK_icon[9]=6; //TCH9 TK Scan icon range 0~7 - TK_icon[10]=6; //TCH10 TK Scan icon range 0~7 - d0: 00002d24 .long 0x00002d24 - TK_icon[11]=6; //TCH11 TK Scan icon range 0~7 - TK_icon[12]=6; //TCH12 TK Scan icon range 0~7 - d4: 00002dd8 .long 0x00002dd8 - TK_icon[13]=6; //TCH13 TK Scan icon range 0~7 - TK_icon[14]=6; //TCH14 TK Scan icon range 0~7 - d8: 00002e20 .long 0x00002e20 - TK_icon[15]=6; //TCH15 TK Scan icon range 0~7 - TK_icon[16]=6; //TCH16 TK Scan icon range 0~7 - dc: 00002e8c .long 0x00002e8c - e0: 0000302e .long 0x0000302e - e4: 000058f4 .long 0x000058f4 - e8: 00002eec .long 0x00002eec - ec: 00000184 .long 0x00000184 - f0: 00002f20 .long 0x00002f20 - f4: 00002f6c .long 0x00002f6c - f8: 00000184 .long 0x00000184 - fc: 00000184 .long 0x00000184 - 100: 55aa0005 .long 0x55aa0005 - ... - -0000010c <__start>: -// .long __start -__start: - - - //initialize all registers - movi r0, 0 - 10c: 3000 movi r0, 0 - movi r1, 0 - 10e: 3100 movi r1, 0 - movi r2, 0 - 110: 3200 movi r2, 0 - movi r3, 0 - 112: 3300 movi r3, 0 - movi r4, 0 - 114: 3400 movi r4, 0 - movi r5, 0 - 116: 3500 movi r5, 0 - movi r6, 0 - 118: 3600 movi r6, 0 - movi r7, 0 - 11a: 3700 movi r7, 0 - //movi r13, 0 - //movi r14, 0 - //movi r15, 0 - -//set VBR - lrw r2, vector_table - 11c: 105b lrw r2, 0x0 // 188 - mtcr r2, cr<1,0> - 11e: c0026421 mtcr r2, cr<1, 0> - -//enable EE bit of psr - mfcr r2, cr<0,0> - 122: c0006022 mfcr r2, cr<0, 0> - bseti r2, r2, 8 - 126: 3aa8 bseti r2, 8 - mtcr r2, cr<0,0> - 128: c0026420 mtcr r2, cr<0, 0> -// st.w r2, (r1,0x4) -// movi r2, 0x1 -// st.w r2, (r1,0x0) - -//disable power peak - lrw r1, 0xe000ef90 - 12c: 1038 lrw r1, 0xe000ef90 // 18c - movi r2, 0x0 - 12e: 3200 movi r2, 0 - st.w r2, (r1, 0x0) - 130: b140 st.w r2, (r1, 0x0) - - - -//initialize kernel stack - lrw r7, __kernel_stack - 132: 10f8 lrw r7, 0x20000ff8 // 190 - mov r14,r7 - 134: 6f9f mov r14, r7 - subi r6,r7,0x4 - 136: 5fcf subi r6, r7, 4 - - //lrw r3, 0x40 - lrw r3, 0x04 - 138: 3304 movi r3, 4 - - subu r4, r7, r3 - 13a: 5f8d subu r4, r7, r3 - lrw r5, 0x0 - 13c: 3500 movi r5, 0 - -0000013e : -INIT_KERLE_STACK: - addi r4, 0x4 - 13e: 2403 addi r4, 4 - st.w r5, (r4) - 140: b4a0 st.w r5, (r4, 0x0) - //cmphs r7, r4 - cmphs r6, r4 - 142: 6518 cmphs r6, r4 - bt INIT_KERLE_STACK - 144: 0bfd bt 0x13e // 13e - -00000146 <__to_main>: - -__to_main: - lrw r0,__main - 146: 1014 lrw r0, 0x1a50 // 194 - jsr r0 - 148: 7bc1 jsr r0 - mov r0, r0 - 14a: 6c03 mov r0, r0 - mov r0, r0 - 14c: 6c03 mov r0, r0 - - - - lrw r15, __exit - 14e: ea8f0013 lrw r15, 0x160 // 198 - lrw r0,main - 152: 1013 lrw r0, 0x2444 // 19c - jmp r0 - 154: 7800 jmp r0 - mov r0, r0 - 156: 6c03 mov r0, r0 - mov r0, r0 - 158: 6c03 mov r0, r0 - mov r0, r0 - 15a: 6c03 mov r0, r0 - mov r0, r0 - 15c: 6c03 mov r0, r0 - mov r0, r0 - 15e: 6c03 mov r0, r0 - -00000160 <__exit>: - -.export __exit -__exit: - - lrw r4, 0x20003000 - 160: 1090 lrw r4, 0x20003000 // 1a0 - //lrw r5, 0x0 - mov r5, r0 - 162: 6d43 mov r5, r0 - st.w r5, (r4) - 164: b4a0 st.w r5, (r4, 0x0) - - mfcr r1, cr<0,0> - 166: c0006021 mfcr r1, cr<0, 0> - lrw r1, 0xFFFF - 16a: 102f lrw r1, 0xffff // 1a4 - mtcr r1, cr<11,0> - 16c: c001642b mtcr r1, cr<11, 0> - lrw r1, 0xFFF - 170: 102e lrw r1, 0xfff // 1a8 - movi r0, 0x0 - 172: 3000 movi r0, 0 - st r1, (r0) - 174: b020 st.w r1, (r0, 0x0) - -00000176 <__fail>: - -.export __fail -__fail: - lrw r1, 0xEEEE - 176: 102e lrw r1, 0xeeee // 1ac - mtcr r1, cr<11,0> - 178: c001642b mtcr r1, cr<11, 0> - lrw r1, 0xEEE - 17c: 102d lrw r1, 0xeee // 1b0 - movi r0, 0x0 - 17e: 3000 movi r0, 0 - st r1, (r0) - 180: b020 st.w r1, (r0, 0x0) - -00000182 <__dummy>: - -__dummy: - br __fail - 182: 07fa br 0x176 // 176 <__fail> - -00000184 : - -.export DummyHandler -DummyHandler: - br __fail - 184: 07f9 br 0x176 // 176 <__fail> - 186: 0000 .short 0x0000 - 188: 00000000 .long 0x00000000 - 18c: e000ef90 .long 0xe000ef90 - 190: 20000ff8 .long 0x20000ff8 - 194: 00001a50 .long 0x00001a50 - 198: 00000160 .long 0x00000160 - 19c: 00002444 .long 0x00002444 - 1a0: 20003000 .long 0x20003000 - 1a4: 0000ffff .long 0x0000ffff - 1a8: 00000fff .long 0x00000fff - 1ac: 0000eeee .long 0x0000eeee - 1b0: 00000eee .long 0x00000eee - -000001b4 <__GI_pow>: - 1b4: 14d4 push r4-r7, r15 - 1b6: 142d subi r14, r14, 52 - 1b8: b860 st.w r3, (r14, 0x0) - 1ba: 4361 lsli r3, r3, 1 - 1bc: 4b81 lsri r4, r3, 1 - 1be: b842 st.w r2, (r14, 0x8) - 1c0: 6c90 or r2, r4 - 1c2: 3a40 cmpnei r2, 0 - 1c4: 6dc3 mov r7, r0 - 1c6: 6d87 mov r6, r1 - 1c8: 0803 bt 0x1ce // 1ce <__GI_pow+0x1a> - 1ca: e8000462 br 0xa8e // a8e <__GI_pow+0x8da> - 1ce: 41a1 lsli r5, r1, 1 - 1d0: 4da1 lsri r5, r5, 1 - 1d2: 0055 lrw r2, 0x7ff00000 // 578 <__GI_pow+0x3c4> - 1d4: 6549 cmplt r2, r5 - 1d6: 080c bt 0x1ee // 1ee <__GI_pow+0x3a> - 1d8: 6496 cmpne r5, r2 - 1da: 0803 bt 0x1e0 // 1e0 <__GI_pow+0x2c> - 1dc: 3840 cmpnei r0, 0 - 1de: 0808 bt 0x1ee // 1ee <__GI_pow+0x3a> - 1e0: 6509 cmplt r2, r4 - 1e2: 0806 bt 0x1ee // 1ee <__GI_pow+0x3a> - 1e4: 6492 cmpne r4, r2 - 1e6: 080e bt 0x202 // 202 <__GI_pow+0x4e> - 1e8: 9802 ld.w r0, (r14, 0x8) - 1ea: 3840 cmpnei r0, 0 - 1ec: 0c0b bf 0x202 // 202 <__GI_pow+0x4e> - 1ee: 9842 ld.w r2, (r14, 0x8) - 1f0: 9860 ld.w r3, (r14, 0x0) - 1f2: 6c1f mov r0, r7 - 1f4: 6c5b mov r1, r6 - 1f6: e0000713 bsr 0x101c // 101c <__adddf3> - 1fa: 6d03 mov r4, r0 - 1fc: 6c13 mov r0, r4 - 1fe: 140d addi r14, r14, 52 - 200: 1494 pop r4-r7, r15 - 202: 3edf btsti r6, 31 - 204: 0c51 bf 0x2a6 // 2a6 <__GI_pow+0xf2> - 206: 0121 lrw r1, 0x43400000 // 57c <__GI_pow+0x3c8> - 208: 2900 subi r1, 1 - 20a: 6505 cmplt r1, r4 - 20c: 084b bt 0x2a2 // 2a2 <__GI_pow+0xee> - 20e: 0162 lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc> - 210: 2b00 subi r3, 1 - 212: 650d cmplt r3, r4 - 214: 0c49 bf 0x2a6 // 2a6 <__GI_pow+0xf2> - 216: 5454 asri r2, r4, 20 - 218: 0104 lrw r0, 0xfffffc01 // 584 <__GI_pow+0x3d0> - 21a: 6080 addu r2, r0 - 21c: 3a34 cmplti r2, 21 - 21e: 0821 bt 0x260 // 260 <__GI_pow+0xac> - 220: 3334 movi r3, 52 - 222: 60ca subu r3, r2 - 224: 9842 ld.w r2, (r14, 0x8) - 226: 708d lsr r2, r3 - 228: 6c4b mov r1, r2 - 22a: 704c lsl r1, r3 - 22c: 9802 ld.w r0, (r14, 0x8) - 22e: 6442 cmpne r0, r1 - 230: 083b bt 0x2a6 // 2a6 <__GI_pow+0xf2> - 232: 3101 movi r1, 1 - 234: 6884 and r2, r1 - 236: 3302 movi r3, 2 - 238: 5b49 subu r2, r3, r2 - 23a: 9802 ld.w r0, (r14, 0x8) - 23c: 3840 cmpnei r0, 0 - 23e: b841 st.w r2, (r14, 0x4) - 240: 0862 bt 0x304 // 304 <__GI_pow+0x150> - 242: 0151 lrw r2, 0x7ff00000 // 578 <__GI_pow+0x3c4> - 244: 6492 cmpne r4, r2 - 246: 081f bt 0x284 // 284 <__GI_pow+0xd0> - 248: 012f lrw r1, 0xc0100000 // 588 <__GI_pow+0x3d4> - 24a: 6054 addu r1, r5 - 24c: 6dc4 or r7, r1 - 24e: 3f40 cmpnei r7, 0 - 250: 082d bt 0x2aa // 2aa <__GI_pow+0xf6> - 252: 9860 ld.w r3, (r14, 0x0) - 254: 3200 movi r2, 0 - 256: 6c4f mov r1, r3 - 258: 3000 movi r0, 0 - 25a: e00006f9 bsr 0x104c // 104c <__subdf3> - 25e: 07ce br 0x1fa // 1fa <__GI_pow+0x46> - 260: 9822 ld.w r1, (r14, 0x8) - 262: 3940 cmpnei r1, 0 - 264: 084e bt 0x300 // 300 <__GI_pow+0x14c> - 266: 3114 movi r1, 20 - 268: 604a subu r1, r2 - 26a: 6c93 mov r2, r4 - 26c: 7086 asr r2, r1 - 26e: 6c0b mov r0, r2 - 270: 7004 lsl r0, r1 - 272: 6412 cmpne r4, r0 - 274: 0c03 bf 0x27a // 27a <__GI_pow+0xc6> - 276: e8000471 br 0xb58 // b58 <__GI_pow+0x9a4> - 27a: 3101 movi r1, 1 - 27c: 6884 and r2, r1 - 27e: 3002 movi r0, 2 - 280: 5869 subu r3, r0, r2 - 282: b861 st.w r3, (r14, 0x4) - 284: 0220 lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc> - 286: 6452 cmpne r4, r1 - 288: 0825 bt 0x2d2 // 2d2 <__GI_pow+0x11e> - 28a: 9880 ld.w r4, (r14, 0x0) - 28c: 3cdf btsti r4, 31 - 28e: 0803 bt 0x294 // 294 <__GI_pow+0xe0> - 290: e8000407 br 0xa9e // a9e <__GI_pow+0x8ea> - 294: 6c9f mov r2, r7 - 296: 6cdb mov r3, r6 - 298: 3000 movi r0, 0 - 29a: 0225 lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc> - 29c: e000080e bsr 0x12b8 // 12b8 <__divdf3> - 2a0: 07ad br 0x1fa // 1fa <__GI_pow+0x46> - 2a2: 3202 movi r2, 2 - 2a4: 07cb br 0x23a // 23a <__GI_pow+0x86> - 2a6: 3200 movi r2, 0 - 2a8: 07c9 br 0x23a // 23a <__GI_pow+0x86> - 2aa: 0269 lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc> - 2ac: 2b00 subi r3, 1 - 2ae: 654d cmplt r3, r5 - 2b0: 9800 ld.w r0, (r14, 0x0) - 2b2: 0c08 bf 0x2c2 // 2c2 <__GI_pow+0x10e> - 2b4: 38df btsti r0, 31 - 2b6: 0803 bt 0x2bc // 2bc <__GI_pow+0x108> - 2b8: e80003ef br 0xa96 // a96 <__GI_pow+0x8e2> - 2bc: 3400 movi r4, 0 - 2be: 3100 movi r1, 0 - 2c0: 079e br 0x1fc // 1fc <__GI_pow+0x48> - 2c2: 38df btsti r0, 31 - 2c4: 0ffc bf 0x2bc // 2bc <__GI_pow+0x108> - 2c6: 3400 movi r4, 0 - 2c8: 6c43 mov r1, r0 - 2ca: 3280 movi r2, 128 - 2cc: 4278 lsli r3, r2, 24 - 2ce: 604c addu r1, r3 - 2d0: 0796 br 0x1fc // 1fc <__GI_pow+0x48> - 2d2: 3380 movi r3, 128 - 2d4: 4317 lsli r0, r3, 23 - 2d6: 9840 ld.w r2, (r14, 0x0) - 2d8: 640a cmpne r2, r0 - 2da: 0808 bt 0x2ea // 2ea <__GI_pow+0x136> - 2dc: 6c9f mov r2, r7 - 2de: 6cdb mov r3, r6 - 2e0: 6c1f mov r0, r7 - 2e2: 6c5b mov r1, r6 - 2e4: e00006d0 bsr 0x1084 // 1084 <__muldf3> - 2e8: 0789 br 0x1fa // 1fa <__GI_pow+0x46> - 2ea: 0276 lrw r3, 0x3fe00000 // 58c <__GI_pow+0x3d8> - 2ec: 9820 ld.w r1, (r14, 0x0) - 2ee: 64c6 cmpne r1, r3 - 2f0: 080a bt 0x304 // 304 <__GI_pow+0x150> - 2f2: 3edf btsti r6, 31 - 2f4: 0808 bt 0x304 // 304 <__GI_pow+0x150> - 2f6: 6c1f mov r0, r7 - 2f8: 6c5b mov r1, r6 - 2fa: e0000445 bsr 0xb84 // b84 <__GI_sqrt> - 2fe: 077e br 0x1fa // 1fa <__GI_pow+0x46> - 300: 3300 movi r3, 0 - 302: b861 st.w r3, (r14, 0x4) - 304: 6c1f mov r0, r7 - 306: 6c5b mov r1, r6 - 308: b883 st.w r4, (r14, 0xc) - 30a: e000042a bsr 0xb5e // b5e <__GI_fabs> - 30e: 3f40 cmpnei r7, 0 - 310: 6d03 mov r4, r0 - 312: 9863 ld.w r3, (r14, 0xc) - 314: 0826 bt 0x360 // 360 <__GI_pow+0x1ac> - 316: 3d40 cmpnei r5, 0 - 318: 0c05 bf 0x322 // 322 <__GI_pow+0x16e> - 31a: 4642 lsli r2, r6, 2 - 31c: 0302 lrw r0, 0xffc00000 // 590 <__GI_pow+0x3dc> - 31e: 640a cmpne r2, r0 - 320: 0820 bt 0x360 // 360 <__GI_pow+0x1ac> - 322: 9840 ld.w r2, (r14, 0x0) - 324: 3adf btsti r2, 31 - 326: 0c08 bf 0x336 // 336 <__GI_pow+0x182> - 328: 6c93 mov r2, r4 - 32a: 6cc7 mov r3, r1 - 32c: 3000 movi r0, 0 - 32e: 032a lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc> - 330: e00007c4 bsr 0x12b8 // 12b8 <__divdf3> - 334: 6d03 mov r4, r0 - 336: 3edf btsti r6, 31 - 338: 0f62 bf 0x1fc // 1fc <__GI_pow+0x48> - 33a: 036b lrw r3, 0xc0100000 // 588 <__GI_pow+0x3d4> - 33c: 614c addu r5, r3 - 33e: 9801 ld.w r0, (r14, 0x4) - 340: 6d40 or r5, r0 - 342: 3d40 cmpnei r5, 0 - 344: 080a bt 0x358 // 358 <__GI_pow+0x1a4> - 346: 6c93 mov r2, r4 - 348: 6cc7 mov r3, r1 - 34a: 6c0b mov r0, r2 - 34c: 6c4f mov r1, r3 - 34e: e000067f bsr 0x104c // 104c <__subdf3> - 352: 6c83 mov r2, r0 - 354: 6cc7 mov r3, r1 - 356: 07a3 br 0x29c // 29c <__GI_pow+0xe8> - 358: 9841 ld.w r2, (r14, 0x4) - 35a: 3a41 cmpnei r2, 1 - 35c: 0b50 bt 0x1fc // 1fc <__GI_pow+0x48> - 35e: 07b6 br 0x2ca // 2ca <__GI_pow+0x116> - 360: 4e5f lsri r2, r6, 31 - 362: 2a00 subi r2, 1 - 364: b847 st.w r2, (r14, 0x1c) - 366: 9807 ld.w r0, (r14, 0x1c) - 368: 9841 ld.w r2, (r14, 0x4) - 36a: 6c80 or r2, r0 - 36c: 3a40 cmpnei r2, 0 - 36e: 0804 bt 0x376 // 376 <__GI_pow+0x1c2> - 370: 6c9f mov r2, r7 - 372: 6cdb mov r3, r6 - 374: 07eb br 0x34a // 34a <__GI_pow+0x196> - 376: 0357 lrw r2, 0x41e00000 // 594 <__GI_pow+0x3e0> - 378: 64c9 cmplt r2, r3 - 37a: 0cbf bf 0x4f8 // 4f8 <__GI_pow+0x344> - 37c: 0358 lrw r2, 0x43f00000 // 598 <__GI_pow+0x3e4> - 37e: 64c9 cmplt r2, r3 - 380: 037f lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc> - 382: 0c0c bf 0x39a // 39a <__GI_pow+0x1e6> - 384: 2b00 subi r3, 1 - 386: 654d cmplt r3, r5 - 388: 080f bt 0x3a6 // 3a6 <__GI_pow+0x1f2> - 38a: 9820 ld.w r1, (r14, 0x0) - 38c: 39df btsti r1, 31 - 38e: 0f97 bf 0x2bc // 2bc <__GI_pow+0x108> - 390: 035c lrw r2, 0x8800759c // 59c <__GI_pow+0x3e8> - 392: 037b lrw r3, 0x7e37e43c // 5a0 <__GI_pow+0x3ec> - 394: 6c0b mov r0, r2 - 396: 6c4f mov r1, r3 - 398: 07a6 br 0x2e4 // 2e4 <__GI_pow+0x130> - 39a: 2b01 subi r3, 2 - 39c: 654d cmplt r3, r5 - 39e: 0ff6 bf 0x38a // 38a <__GI_pow+0x1d6> - 3a0: 1318 lrw r0, 0x3ff00000 // 580 <__GI_pow+0x3cc> - 3a2: 6541 cmplt r0, r5 - 3a4: 0c05 bf 0x3ae // 3ae <__GI_pow+0x1fa> - 3a6: 9800 ld.w r0, (r14, 0x0) - 3a8: 3820 cmplti r0, 1 - 3aa: 0ff3 bf 0x390 // 390 <__GI_pow+0x1dc> - 3ac: 0788 br 0x2bc // 2bc <__GI_pow+0x108> - 3ae: 3200 movi r2, 0 - 3b0: 1374 lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc> - 3b2: 6c1f mov r0, r7 - 3b4: 6c5b mov r1, r6 - 3b6: 36c0 movi r6, 192 - 3b8: e000064a bsr 0x104c // 104c <__subdf3> - 3bc: 4657 lsli r2, r6, 23 - 3be: 137a lrw r3, 0x3ff71547 // 5a4 <__GI_pow+0x3f0> - 3c0: 6d43 mov r5, r0 - 3c2: 6d07 mov r4, r1 - 3c4: e0000660 bsr 0x1084 // 1084 <__muldf3> - 3c8: 6dc3 mov r7, r0 - 3ca: 6d87 mov r6, r1 - 3cc: 1357 lrw r2, 0xf85ddf44 // 5a8 <__GI_pow+0x3f4> - 3ce: 1378 lrw r3, 0x3e54ae0b // 5ac <__GI_pow+0x3f8> - 3d0: 6c17 mov r0, r5 - 3d2: 6c53 mov r1, r4 - 3d4: e0000658 bsr 0x1084 // 1084 <__muldf3> - 3d8: b803 st.w r0, (r14, 0xc) - 3da: b824 st.w r1, (r14, 0x10) - 3dc: 3200 movi r2, 0 - 3de: 1375 lrw r3, 0x3fd00000 // 5b0 <__GI_pow+0x3fc> - 3e0: 6c17 mov r0, r5 - 3e2: 6c53 mov r1, r4 - 3e4: e0000650 bsr 0x1084 // 1084 <__muldf3> - 3e8: 6c83 mov r2, r0 - 3ea: 6cc7 mov r3, r1 - 3ec: 1312 lrw r0, 0x55555555 // 5b4 <__GI_pow+0x400> - 3ee: 1333 lrw r1, 0x3fd55555 // 5b8 <__GI_pow+0x404> - 3f0: e000062e bsr 0x104c // 104c <__subdf3> - 3f4: 6c97 mov r2, r5 - 3f6: 6cd3 mov r3, r4 - 3f8: e0000646 bsr 0x1084 // 1084 <__muldf3> - 3fc: 6c83 mov r2, r0 - 3fe: 6cc7 mov r3, r1 - 400: 3000 movi r0, 0 - 402: 1323 lrw r1, 0x3fe00000 // 58c <__GI_pow+0x3d8> - 404: e0000624 bsr 0x104c // 104c <__subdf3> - 408: b805 st.w r0, (r14, 0x14) - 40a: 6c97 mov r2, r5 - 40c: 6cd3 mov r3, r4 - 40e: b826 st.w r1, (r14, 0x18) - 410: 6c17 mov r0, r5 - 412: 6c53 mov r1, r4 - 414: e0000638 bsr 0x1084 // 1084 <__muldf3> - 418: 6c83 mov r2, r0 - 41a: 6cc7 mov r3, r1 - 41c: 9805 ld.w r0, (r14, 0x14) - 41e: 9826 ld.w r1, (r14, 0x18) - 420: e0000632 bsr 0x1084 // 1084 <__muldf3> - 424: 1346 lrw r2, 0x652b82fe // 5bc <__GI_pow+0x408> - 426: 1360 lrw r3, 0x3ff71547 // 5a4 <__GI_pow+0x3f0> - 428: e000062e bsr 0x1084 // 1084 <__muldf3> - 42c: 6c83 mov r2, r0 - 42e: 6cc7 mov r3, r1 - 430: 9803 ld.w r0, (r14, 0xc) - 432: 9824 ld.w r1, (r14, 0x10) - 434: e000060c bsr 0x104c // 104c <__subdf3> - 438: 6c83 mov r2, r0 - 43a: 6cc7 mov r3, r1 - 43c: 6d43 mov r5, r0 - 43e: 6d07 mov r4, r1 - 440: 6c1f mov r0, r7 - 442: 6c5b mov r1, r6 - 444: e00005ec bsr 0x101c // 101c <__adddf3> - 448: 6c9f mov r2, r7 - 44a: 6cdb mov r3, r6 - 44c: 3000 movi r0, 0 - 44e: b823 st.w r1, (r14, 0xc) - 450: e00005fe bsr 0x104c // 104c <__subdf3> - 454: 6c83 mov r2, r0 - 456: 6cc7 mov r3, r1 - 458: 6c17 mov r0, r5 - 45a: 6c53 mov r1, r4 - 45c: e00005f8 bsr 0x104c // 104c <__subdf3> - 460: 6d07 mov r4, r1 - 462: 9821 ld.w r1, (r14, 0x4) - 464: 2900 subi r1, 1 - 466: 9847 ld.w r2, (r14, 0x1c) - 468: 6c48 or r1, r2 - 46a: 3940 cmpnei r1, 0 - 46c: 6d43 mov r5, r0 - 46e: 0c02 bf 0x472 // 472 <__GI_pow+0x2be> - 470: 05f0 br 0x850 // 850 <__GI_pow+0x69c> - 472: 1274 lrw r3, 0xbff00000 // 5c0 <__GI_pow+0x40c> - 474: b861 st.w r3, (r14, 0x4) - 476: 9860 ld.w r3, (r14, 0x0) - 478: 3200 movi r2, 0 - 47a: 9802 ld.w r0, (r14, 0x8) - 47c: 6c4f mov r1, r3 - 47e: e00005e7 bsr 0x104c // 104c <__subdf3> - 482: 9863 ld.w r3, (r14, 0xc) - 484: 3200 movi r2, 0 - 486: e00005ff bsr 0x1084 // 1084 <__muldf3> - 48a: 6dc3 mov r7, r0 - 48c: 6d87 mov r6, r1 - 48e: 9842 ld.w r2, (r14, 0x8) - 490: 9860 ld.w r3, (r14, 0x0) - 492: 6c17 mov r0, r5 - 494: 6c53 mov r1, r4 - 496: e00005f7 bsr 0x1084 // 1084 <__muldf3> - 49a: 6c83 mov r2, r0 - 49c: 6cc7 mov r3, r1 - 49e: 6c1f mov r0, r7 - 4a0: 6c5b mov r1, r6 - 4a2: e00005bd bsr 0x101c // 101c <__adddf3> - 4a6: 6dc3 mov r7, r0 - 4a8: 9860 ld.w r3, (r14, 0x0) - 4aa: 6d87 mov r6, r1 - 4ac: 3200 movi r2, 0 - 4ae: 9823 ld.w r1, (r14, 0xc) - 4b0: 3000 movi r0, 0 - 4b2: e00005e9 bsr 0x1084 // 1084 <__muldf3> - 4b6: b802 st.w r0, (r14, 0x8) - 4b8: b803 st.w r0, (r14, 0xc) - 4ba: b824 st.w r1, (r14, 0x10) - 4bc: 6c83 mov r2, r0 - 4be: 6cc7 mov r3, r1 - 4c0: 6d47 mov r5, r1 - 4c2: 6c1f mov r0, r7 - 4c4: 6c5b mov r1, r6 - 4c6: e00005ab bsr 0x101c // 101c <__adddf3> - 4ca: 6d07 mov r4, r1 - 4cc: 113e lrw r1, 0x40900000 // 5c4 <__GI_pow+0x410> - 4ce: 2900 subi r1, 1 - 4d0: 6505 cmplt r1, r4 - 4d2: b800 st.w r0, (r14, 0x0) - 4d4: 0803 bt 0x4da // 4da <__GI_pow+0x326> - 4d6: e80002b3 br 0xa3c // a3c <__GI_pow+0x888> - 4da: 117c lrw r3, 0xbf700000 // 5c8 <__GI_pow+0x414> - 4dc: 60d0 addu r3, r4 - 4de: 6cc0 or r3, r0 - 4e0: 3b40 cmpnei r3, 0 - 4e2: 0802 bt 0x4e6 // 4e6 <__GI_pow+0x332> - 4e4: 05b8 br 0x854 // 854 <__GI_pow+0x6a0> - 4e6: 114e lrw r2, 0x8800759c // 59c <__GI_pow+0x3e8> - 4e8: 116e lrw r3, 0x7e37e43c // 5a0 <__GI_pow+0x3ec> - 4ea: 3000 movi r0, 0 - 4ec: 9821 ld.w r1, (r14, 0x4) - 4ee: e00005cb bsr 0x1084 // 1084 <__muldf3> - 4f2: 114b lrw r2, 0x8800759c // 59c <__GI_pow+0x3e8> - 4f4: 116b lrw r3, 0x7e37e43c // 5a0 <__GI_pow+0x3ec> - 4f6: 06f7 br 0x2e4 // 2e4 <__GI_pow+0x130> - 4f8: 11d5 lrw r6, 0xfffff // 5cc <__GI_pow+0x418> - 4fa: 6559 cmplt r6, r5 - 4fc: 09a6 bt 0x848 // 848 <__GI_pow+0x694> - 4fe: 6c13 mov r0, r4 - 500: 3200 movi r2, 0 - 502: 107f lrw r3, 0x43400000 // 57c <__GI_pow+0x3c8> - 504: e00005c0 bsr 0x1084 // 1084 <__muldf3> - 508: 3700 movi r7, 0 - 50a: 6d03 mov r4, r0 - 50c: 6d47 mov r5, r1 - 50e: 2f34 subi r7, 53 - 510: 5514 asri r0, r5, 20 - 512: 103d lrw r1, 0xfffffc01 // 584 <__GI_pow+0x3d0> - 514: 45ac lsli r5, r5, 12 - 516: 4d4c lsri r2, r5, 12 - 518: 6004 addu r0, r1 - 51a: 116e lrw r3, 0x3988e // 5d0 <__GI_pow+0x41c> - 51c: 601c addu r0, r7 - 51e: 648d cmplt r3, r2 - 520: 10f8 lrw r7, 0x3ff00000 // 580 <__GI_pow+0x3cc> - 522: b804 st.w r0, (r14, 0x10) - 524: 6dc8 or r7, r2 - 526: 0c09 bf 0x538 // 538 <__GI_pow+0x384> - 528: 11cb lrw r6, 0xbb679 // 5d4 <__GI_pow+0x420> - 52a: 6499 cmplt r6, r2 - 52c: 0d90 bf 0x84c // 84c <__GI_pow+0x698> - 52e: 6c83 mov r2, r0 - 530: 2200 addi r2, 1 - 532: 110a lrw r0, 0xfff00000 // 5d8 <__GI_pow+0x424> - 534: b844 st.w r2, (r14, 0x10) - 536: 61c0 addu r7, r0 - 538: 3500 movi r5, 0 - 53a: 45c3 lsli r6, r5, 3 - 53c: 1168 lrw r3, 0x5d74 // 5dc <__GI_pow+0x428> - 53e: 4523 lsli r1, r5, 3 - 540: 60d8 addu r3, r6 - 542: 9340 ld.w r2, (r3, 0x0) - 544: b828 st.w r1, (r14, 0x20) - 546: 9361 ld.w r3, (r3, 0x4) - 548: 6c13 mov r0, r4 - 54a: 6c5f mov r1, r7 - 54c: b845 st.w r2, (r14, 0x14) - 54e: b866 st.w r3, (r14, 0x18) - 550: e000057e bsr 0x104c // 104c <__subdf3> - 554: b809 st.w r0, (r14, 0x24) - 556: 9845 ld.w r2, (r14, 0x14) - 558: 9866 ld.w r3, (r14, 0x18) - 55a: b82a st.w r1, (r14, 0x28) - 55c: 6c13 mov r0, r4 - 55e: 6c5f mov r1, r7 - 560: e000055e bsr 0x101c // 101c <__adddf3> - 564: 6c83 mov r2, r0 - 566: 6cc7 mov r3, r1 - 568: 3000 movi r0, 0 - 56a: 1026 lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc> - 56c: e00006a6 bsr 0x12b8 // 12b8 <__divdf3> - 570: 6c83 mov r2, r0 - 572: 6cc7 mov r3, r1 - 574: 0436 br 0x5e0 // 5e0 <__GI_pow+0x42c> - 576: 0000 bkpt - 578: 7ff00000 .long 0x7ff00000 - 57c: 43400000 .long 0x43400000 - 580: 3ff00000 .long 0x3ff00000 - 584: fffffc01 .long 0xfffffc01 - 588: c0100000 .long 0xc0100000 - 58c: 3fe00000 .long 0x3fe00000 - 590: ffc00000 .long 0xffc00000 - 594: 41e00000 .long 0x41e00000 - 598: 43f00000 .long 0x43f00000 - 59c: 8800759c .long 0x8800759c - 5a0: 7e37e43c .long 0x7e37e43c - 5a4: 3ff71547 .long 0x3ff71547 - 5a8: f85ddf44 .long 0xf85ddf44 - 5ac: 3e54ae0b .long 0x3e54ae0b - 5b0: 3fd00000 .long 0x3fd00000 - 5b4: 55555555 .long 0x55555555 - 5b8: 3fd55555 .long 0x3fd55555 - 5bc: 652b82fe .long 0x652b82fe - 5c0: bff00000 .long 0xbff00000 - 5c4: 40900000 .long 0x40900000 - 5c8: bf700000 .long 0xbf700000 - 5cc: 000fffff .long 0x000fffff - 5d0: 0003988e .long 0x0003988e - 5d4: 000bb679 .long 0x000bb679 - 5d8: fff00000 .long 0xfff00000 - 5dc: 00005d74 .long 0x00005d74 - 5e0: b80b st.w r0, (r14, 0x2c) - 5e2: b82c st.w r1, (r14, 0x30) - 5e4: 9809 ld.w r0, (r14, 0x24) - 5e6: 982a ld.w r1, (r14, 0x28) - 5e8: e000054e bsr 0x1084 // 1084 <__muldf3> - 5ec: b803 st.w r0, (r14, 0xc) - 5ee: 3280 movi r2, 128 - 5f0: 5701 asri r0, r7, 1 - 5f2: 6d87 mov r6, r1 - 5f4: 38bd bseti r0, 29 - 5f6: 422c lsli r1, r2, 12 - 5f8: 6004 addu r0, r1 - 5fa: 45b2 lsli r5, r5, 18 - 5fc: 6140 addu r5, r0 - 5fe: 6cd7 mov r3, r5 - 600: 3200 movi r2, 0 - 602: 6c5b mov r1, r6 - 604: 3000 movi r0, 0 - 606: e000053f bsr 0x1084 // 1084 <__muldf3> - 60a: 6c83 mov r2, r0 - 60c: 6cc7 mov r3, r1 - 60e: 9809 ld.w r0, (r14, 0x24) - 610: 982a ld.w r1, (r14, 0x28) - 612: e000051d bsr 0x104c // 104c <__subdf3> - 616: b809 st.w r0, (r14, 0x24) - 618: 9845 ld.w r2, (r14, 0x14) - 61a: 9866 ld.w r3, (r14, 0x18) - 61c: b82a st.w r1, (r14, 0x28) - 61e: 3000 movi r0, 0 - 620: 6c57 mov r1, r5 - 622: e0000515 bsr 0x104c // 104c <__subdf3> - 626: 6c83 mov r2, r0 - 628: 6cc7 mov r3, r1 - 62a: 6c13 mov r0, r4 - 62c: 6c5f mov r1, r7 - 62e: e000050f bsr 0x104c // 104c <__subdf3> - 632: 6cdb mov r3, r6 - 634: 3200 movi r2, 0 - 636: e0000527 bsr 0x1084 // 1084 <__muldf3> - 63a: 6c83 mov r2, r0 - 63c: 6cc7 mov r3, r1 - 63e: 9809 ld.w r0, (r14, 0x24) - 640: 982a ld.w r1, (r14, 0x28) - 642: e0000505 bsr 0x104c // 104c <__subdf3> - 646: 984b ld.w r2, (r14, 0x2c) - 648: 986c ld.w r3, (r14, 0x30) - 64a: e000051d bsr 0x1084 // 1084 <__muldf3> - 64e: 9843 ld.w r2, (r14, 0xc) - 650: 6cdb mov r3, r6 - 652: b805 st.w r0, (r14, 0x14) - 654: b826 st.w r1, (r14, 0x18) - 656: 6c0b mov r0, r2 - 658: 6c5b mov r1, r6 - 65a: e0000515 bsr 0x1084 // 1084 <__muldf3> - 65e: ea820113 lrw r2, 0x4a454eef // aa8 <__GI_pow+0x8f4> - 662: ea830113 lrw r3, 0x3fca7e28 // aac <__GI_pow+0x8f8> - 666: 6d43 mov r5, r0 - 668: 6d07 mov r4, r1 - 66a: e000050d bsr 0x1084 // 1084 <__muldf3> - 66e: ea820111 lrw r2, 0x93c9db65 // ab0 <__GI_pow+0x8fc> - 672: ea830111 lrw r3, 0x3fcd864a // ab4 <__GI_pow+0x900> - 676: e00004d3 bsr 0x101c // 101c <__adddf3> - 67a: 6c97 mov r2, r5 - 67c: 6cd3 mov r3, r4 - 67e: e0000503 bsr 0x1084 // 1084 <__muldf3> - 682: ea82010e lrw r2, 0xa91d4101 // ab8 <__GI_pow+0x904> - 686: ea83010e lrw r3, 0x3fd17460 // abc <__GI_pow+0x908> - 68a: e00004c9 bsr 0x101c // 101c <__adddf3> - 68e: 6c97 mov r2, r5 - 690: 6cd3 mov r3, r4 - 692: e00004f9 bsr 0x1084 // 1084 <__muldf3> - 696: ea82010b lrw r2, 0x518f264d // ac0 <__GI_pow+0x90c> - 69a: ea83010b lrw r3, 0x3fd55555 // ac4 <__GI_pow+0x910> - 69e: e00004bf bsr 0x101c // 101c <__adddf3> - 6a2: 6c97 mov r2, r5 - 6a4: 6cd3 mov r3, r4 - 6a6: e00004ef bsr 0x1084 // 1084 <__muldf3> - 6aa: ea820108 lrw r2, 0xdb6fabff // ac8 <__GI_pow+0x914> - 6ae: ea830108 lrw r3, 0x3fdb6db6 // acc <__GI_pow+0x918> - 6b2: e00004b5 bsr 0x101c // 101c <__adddf3> - 6b6: 6c97 mov r2, r5 - 6b8: 6cd3 mov r3, r4 - 6ba: e00004e5 bsr 0x1084 // 1084 <__muldf3> - 6be: ea820105 lrw r2, 0x33333303 // ad0 <__GI_pow+0x91c> - 6c2: ea830105 lrw r3, 0x3fe33333 // ad4 <__GI_pow+0x920> - 6c6: e00004ab bsr 0x101c // 101c <__adddf3> - 6ca: 6dc3 mov r7, r0 - 6cc: 6c97 mov r2, r5 - 6ce: 6cd3 mov r3, r4 - 6d0: b829 st.w r1, (r14, 0x24) - 6d2: 6c17 mov r0, r5 - 6d4: 6c53 mov r1, r4 - 6d6: e00004d7 bsr 0x1084 // 1084 <__muldf3> - 6da: 6c83 mov r2, r0 - 6dc: 6cc7 mov r3, r1 - 6de: 6c1f mov r0, r7 - 6e0: 9829 ld.w r1, (r14, 0x24) - 6e2: e00004d1 bsr 0x1084 // 1084 <__muldf3> - 6e6: 6d43 mov r5, r0 - 6e8: 6d07 mov r4, r1 - 6ea: 6cdb mov r3, r6 - 6ec: 3200 movi r2, 0 - 6ee: 9803 ld.w r0, (r14, 0xc) - 6f0: 6c5b mov r1, r6 - 6f2: e0000495 bsr 0x101c // 101c <__adddf3> - 6f6: 9845 ld.w r2, (r14, 0x14) - 6f8: 9866 ld.w r3, (r14, 0x18) - 6fa: e00004c5 bsr 0x1084 // 1084 <__muldf3> - 6fe: 6c97 mov r2, r5 - 700: 6cd3 mov r3, r4 - 702: e000048d bsr 0x101c // 101c <__adddf3> - 706: 6d43 mov r5, r0 - 708: 6cdb mov r3, r6 - 70a: b829 st.w r1, (r14, 0x24) - 70c: 3200 movi r2, 0 - 70e: 6c5b mov r1, r6 - 710: 3000 movi r0, 0 - 712: e00004b9 bsr 0x1084 // 1084 <__muldf3> - 716: 3200 movi r2, 0 - 718: 006f lrw r3, 0x40080000 // ad8 <__GI_pow+0x924> - 71a: 6dc3 mov r7, r0 - 71c: b82a st.w r1, (r14, 0x28) - 71e: e000047f bsr 0x101c // 101c <__adddf3> - 722: 6c97 mov r2, r5 - 724: 9869 ld.w r3, (r14, 0x24) - 726: e000047b bsr 0x101c // 101c <__adddf3> - 72a: 6d07 mov r4, r1 - 72c: 6cc7 mov r3, r1 - 72e: 3200 movi r2, 0 - 730: 6c5b mov r1, r6 - 732: 3000 movi r0, 0 - 734: e00004a8 bsr 0x1084 // 1084 <__muldf3> - 738: b80b st.w r0, (r14, 0x2c) - 73a: b82c st.w r1, (r14, 0x30) - 73c: 3200 movi r2, 0 - 73e: 0078 lrw r3, 0x40080000 // ad8 <__GI_pow+0x924> - 740: 6c53 mov r1, r4 - 742: 3000 movi r0, 0 - 744: e0000484 bsr 0x104c // 104c <__subdf3> - 748: 6c9f mov r2, r7 - 74a: 986a ld.w r3, (r14, 0x28) - 74c: e0000480 bsr 0x104c // 104c <__subdf3> - 750: 6c83 mov r2, r0 - 752: 6cc7 mov r3, r1 - 754: 6c17 mov r0, r5 - 756: 9829 ld.w r1, (r14, 0x24) - 758: e000047a bsr 0x104c // 104c <__subdf3> - 75c: 9843 ld.w r2, (r14, 0xc) - 75e: 6cdb mov r3, r6 - 760: e0000492 bsr 0x1084 // 1084 <__muldf3> - 764: 6d83 mov r6, r0 - 766: 6d47 mov r5, r1 - 768: 6cd3 mov r3, r4 - 76a: 3200 movi r2, 0 - 76c: 9805 ld.w r0, (r14, 0x14) - 76e: 9826 ld.w r1, (r14, 0x18) - 770: e000048a bsr 0x1084 // 1084 <__muldf3> - 774: 6c83 mov r2, r0 - 776: 6cc7 mov r3, r1 - 778: 6c1b mov r0, r6 - 77a: 6c57 mov r1, r5 - 77c: e0000450 bsr 0x101c // 101c <__adddf3> - 780: 6dc3 mov r7, r0 - 782: 6d87 mov r6, r1 - 784: 6c83 mov r2, r0 - 786: 6cc7 mov r3, r1 - 788: 980b ld.w r0, (r14, 0x2c) - 78a: 982c ld.w r1, (r14, 0x30) - 78c: e0000448 bsr 0x101c // 101c <__adddf3> - 790: 33e0 movi r3, 224 - 792: 4358 lsli r2, r3, 24 - 794: 3000 movi r0, 0 - 796: 016d lrw r3, 0x3feec709 // adc <__GI_pow+0x928> - 798: 6d07 mov r4, r1 - 79a: e0000475 bsr 0x1084 // 1084 <__muldf3> - 79e: b805 st.w r0, (r14, 0x14) - 7a0: b826 st.w r1, (r14, 0x18) - 7a2: 984b ld.w r2, (r14, 0x2c) - 7a4: 986c ld.w r3, (r14, 0x30) - 7a6: 6c53 mov r1, r4 - 7a8: 3000 movi r0, 0 - 7aa: e0000451 bsr 0x104c // 104c <__subdf3> - 7ae: 6c83 mov r2, r0 - 7b0: 6cc7 mov r3, r1 - 7b2: 6c1f mov r0, r7 - 7b4: 6c5b mov r1, r6 - 7b6: e000044b bsr 0x104c // 104c <__subdf3> - 7ba: 0155 lrw r2, 0xdc3a03fd // ae0 <__GI_pow+0x92c> - 7bc: 0177 lrw r3, 0x3feec709 // adc <__GI_pow+0x928> - 7be: e0000463 bsr 0x1084 // 1084 <__muldf3> - 7c2: 6dc3 mov r7, r0 - 7c4: 6d47 mov r5, r1 - 7c6: 0157 lrw r2, 0x145b01f5 // ae4 <__GI_pow+0x930> - 7c8: 0177 lrw r3, 0xbe3e2fe0 // ae8 <__GI_pow+0x934> - 7ca: 6c53 mov r1, r4 - 7cc: 3000 movi r0, 0 - 7ce: e000045b bsr 0x1084 // 1084 <__muldf3> - 7d2: 6c83 mov r2, r0 - 7d4: 6cc7 mov r3, r1 - 7d6: 6c1f mov r0, r7 - 7d8: 6c57 mov r1, r5 - 7da: e0000421 bsr 0x101c // 101c <__adddf3> - 7de: 01db lrw r6, 0x5d74 // aec <__GI_pow+0x938> - 7e0: 9848 ld.w r2, (r14, 0x20) - 7e2: 6188 addu r6, r2 - 7e4: 9644 ld.w r2, (r6, 0x10) - 7e6: 9665 ld.w r3, (r6, 0x14) - 7e8: e000041a bsr 0x101c // 101c <__adddf3> - 7ec: b809 st.w r0, (r14, 0x24) - 7ee: 9804 ld.w r0, (r14, 0x10) - 7f0: b82a st.w r1, (r14, 0x28) - 7f2: e0000667 bsr 0x14c0 // 14c0 <__floatsidf> - 7f6: 6d83 mov r6, r0 - 7f8: 0202 lrw r0, 0x5d74 // aec <__GI_pow+0x938> - 7fa: 6d47 mov r5, r1 - 7fc: 201f addi r0, 32 - 7fe: 9828 ld.w r1, (r14, 0x20) - 800: 6004 addu r0, r1 - 802: 9080 ld.w r4, (r0, 0x0) - 804: 90e1 ld.w r7, (r0, 0x4) - 806: 9849 ld.w r2, (r14, 0x24) - 808: 986a ld.w r3, (r14, 0x28) - 80a: 9805 ld.w r0, (r14, 0x14) - 80c: 9826 ld.w r1, (r14, 0x18) - 80e: e0000407 bsr 0x101c // 101c <__adddf3> - 812: 6c93 mov r2, r4 - 814: 6cdf mov r3, r7 - 816: e0000403 bsr 0x101c // 101c <__adddf3> - 81a: 6c9b mov r2, r6 - 81c: 6cd7 mov r3, r5 - 81e: e00003ff bsr 0x101c // 101c <__adddf3> - 822: 6c9b mov r2, r6 - 824: 6cd7 mov r3, r5 - 826: 3000 movi r0, 0 - 828: b823 st.w r1, (r14, 0xc) - 82a: e0000411 bsr 0x104c // 104c <__subdf3> - 82e: 6c93 mov r2, r4 - 830: 6cdf mov r3, r7 - 832: e000040d bsr 0x104c // 104c <__subdf3> - 836: 9845 ld.w r2, (r14, 0x14) - 838: 9866 ld.w r3, (r14, 0x18) - 83a: e0000409 bsr 0x104c // 104c <__subdf3> - 83e: 6c83 mov r2, r0 - 840: 6cc7 mov r3, r1 - 842: 9809 ld.w r0, (r14, 0x24) - 844: 982a ld.w r1, (r14, 0x28) - 846: 060b br 0x45c // 45c <__GI_pow+0x2a8> - 848: 3700 movi r7, 0 - 84a: 0663 br 0x510 // 510 <__GI_pow+0x35c> - 84c: 3501 movi r5, 1 - 84e: 0676 br 0x53a // 53a <__GI_pow+0x386> - 850: 0277 lrw r3, 0x3ff00000 // af0 <__GI_pow+0x93c> - 852: 0611 br 0x474 // 474 <__GI_pow+0x2c0> - 854: 0257 lrw r2, 0x652b82fe // af4 <__GI_pow+0x940> - 856: 0276 lrw r3, 0x3c971547 // af8 <__GI_pow+0x944> - 858: 6c1f mov r0, r7 - 85a: 6c5b mov r1, r6 - 85c: e00003e0 bsr 0x101c // 101c <__adddf3> - 860: b805 st.w r0, (r14, 0x14) - 862: b826 st.w r1, (r14, 0x18) - 864: 9842 ld.w r2, (r14, 0x8) - 866: 6cd7 mov r3, r5 - 868: 9800 ld.w r0, (r14, 0x0) - 86a: 6c53 mov r1, r4 - 86c: e00003f0 bsr 0x104c // 104c <__subdf3> - 870: 6c83 mov r2, r0 - 872: 6cc7 mov r3, r1 - 874: 9805 ld.w r0, (r14, 0x14) - 876: 9826 ld.w r1, (r14, 0x18) - 878: e00005ca bsr 0x140c // 140c <__gtdf2> - 87c: 3820 cmplti r0, 1 - 87e: 0802 bt 0x882 // 882 <__GI_pow+0x6ce> - 880: 0633 br 0x4e6 // 4e6 <__GI_pow+0x332> - 882: 4421 lsli r1, r4, 1 - 884: 4901 lsri r0, r1, 1 - 886: 0361 lrw r3, 0x3fe00000 // afc <__GI_pow+0x948> - 888: 640d cmplt r3, r0 - 88a: 0cfd bf 0xa84 // a84 <__GI_pow+0x8d0> - 88c: 5034 asri r1, r0, 20 - 88e: 0342 lrw r2, 0xfffffc02 // b00 <__GI_pow+0x94c> - 890: 3080 movi r0, 128 - 892: 6048 addu r1, r2 - 894: 404d lsli r2, r0, 13 - 896: 7086 asr r2, r1 - 898: 6090 addu r2, r4 - 89a: 4261 lsli r3, r2, 1 - 89c: 4b35 lsri r1, r3, 21 - 89e: 0305 lrw r0, 0xfffffc01 // b04 <__GI_pow+0x950> - 8a0: 6040 addu r1, r0 - 8a2: 0365 lrw r3, 0xfffff // b08 <__GI_pow+0x954> - 8a4: 70c6 asr r3, r1 - 8a6: 6c0b mov r0, r2 - 8a8: 680d andn r0, r3 - 8aa: 424c lsli r2, r2, 12 - 8ac: 6cc3 mov r3, r0 - 8ae: 4a4c lsri r2, r2, 12 - 8b0: 3014 movi r0, 20 - 8b2: 3ab4 bseti r2, 20 - 8b4: 5825 subu r1, r0, r1 - 8b6: 7086 asr r2, r1 - 8b8: 3cdf btsti r4, 31 - 8ba: b840 st.w r2, (r14, 0x0) - 8bc: 0c05 bf 0x8c6 // 8c6 <__GI_pow+0x712> - 8be: 9840 ld.w r2, (r14, 0x0) - 8c0: 3400 movi r4, 0 - 8c2: 610a subu r4, r2 - 8c4: b880 st.w r4, (r14, 0x0) - 8c6: 3200 movi r2, 0 - 8c8: 9802 ld.w r0, (r14, 0x8) - 8ca: 6c57 mov r1, r5 - 8cc: e00003c0 bsr 0x104c // 104c <__subdf3> - 8d0: b803 st.w r0, (r14, 0xc) - 8d2: b824 st.w r1, (r14, 0x10) - 8d4: 9803 ld.w r0, (r14, 0xc) - 8d6: 6c9f mov r2, r7 - 8d8: 6cdb mov r3, r6 - 8da: 9824 ld.w r1, (r14, 0x10) - 8dc: e00003a0 bsr 0x101c // 101c <__adddf3> - 8e0: 3200 movi r2, 0 - 8e2: 0374 lrw r3, 0x3fe62e43 // b0c <__GI_pow+0x958> - 8e4: 3000 movi r0, 0 - 8e6: 6d07 mov r4, r1 - 8e8: e00003ce bsr 0x1084 // 1084 <__muldf3> - 8ec: 6d47 mov r5, r1 - 8ee: 9843 ld.w r2, (r14, 0xc) - 8f0: 9864 ld.w r3, (r14, 0x10) - 8f2: b802 st.w r0, (r14, 0x8) - 8f4: 6c53 mov r1, r4 - 8f6: 3000 movi r0, 0 - 8f8: e00003aa bsr 0x104c // 104c <__subdf3> - 8fc: 6c83 mov r2, r0 - 8fe: 6cc7 mov r3, r1 - 900: 6c1f mov r0, r7 - 902: 6c5b mov r1, r6 - 904: e00003a4 bsr 0x104c // 104c <__subdf3> - 908: 035d lrw r2, 0xfefa39ef // b10 <__GI_pow+0x95c> - 90a: 037c lrw r3, 0x3fe62e42 // b14 <__GI_pow+0x960> - 90c: e00003bc bsr 0x1084 // 1084 <__muldf3> - 910: 6dc3 mov r7, r0 - 912: 6d87 mov r6, r1 - 914: 035e lrw r2, 0xca86c39 // b18 <__GI_pow+0x964> - 916: 037d lrw r3, 0xbe205c61 // b1c <__GI_pow+0x968> - 918: 6c53 mov r1, r4 - 91a: 3000 movi r0, 0 - 91c: e00003b4 bsr 0x1084 // 1084 <__muldf3> - 920: 6c83 mov r2, r0 - 922: 6cc7 mov r3, r1 - 924: 6c1f mov r0, r7 - 926: 6c5b mov r1, r6 - 928: e000037a bsr 0x101c // 101c <__adddf3> - 92c: 6d07 mov r4, r1 - 92e: 6c83 mov r2, r0 - 930: 6cc7 mov r3, r1 - 932: b803 st.w r0, (r14, 0xc) - 934: 6c57 mov r1, r5 - 936: 9802 ld.w r0, (r14, 0x8) - 938: e0000372 bsr 0x101c // 101c <__adddf3> - 93c: 9842 ld.w r2, (r14, 0x8) - 93e: 6cd7 mov r3, r5 - 940: 6dc3 mov r7, r0 - 942: 6d87 mov r6, r1 - 944: e0000384 bsr 0x104c // 104c <__subdf3> - 948: 6c83 mov r2, r0 - 94a: 6cc7 mov r3, r1 - 94c: 9803 ld.w r0, (r14, 0xc) - 94e: 6c53 mov r1, r4 - 950: e000037e bsr 0x104c // 104c <__subdf3> - 954: b802 st.w r0, (r14, 0x8) - 956: b823 st.w r1, (r14, 0xc) - 958: 6c9f mov r2, r7 - 95a: 6cdb mov r3, r6 - 95c: 6c1f mov r0, r7 - 95e: 6c5b mov r1, r6 - 960: e0000392 bsr 0x1084 // 1084 <__muldf3> - 964: 134f lrw r2, 0x72bea4d0 // b20 <__GI_pow+0x96c> - 966: 1370 lrw r3, 0x3e663769 // b24 <__GI_pow+0x970> - 968: 6d43 mov r5, r0 - 96a: 6d07 mov r4, r1 - 96c: e000038c bsr 0x1084 // 1084 <__muldf3> - 970: 134e lrw r2, 0xc5d26bf1 // b28 <__GI_pow+0x974> - 972: 136f lrw r3, 0x3ebbbd41 // b2c <__GI_pow+0x978> - 974: e000036c bsr 0x104c // 104c <__subdf3> - 978: 6c97 mov r2, r5 - 97a: 6cd3 mov r3, r4 - 97c: e0000384 bsr 0x1084 // 1084 <__muldf3> - 980: 134c lrw r2, 0xaf25de2c // b30 <__GI_pow+0x97c> - 982: 136d lrw r3, 0x3f11566a // b34 <__GI_pow+0x980> - 984: e000034c bsr 0x101c // 101c <__adddf3> - 988: 6c97 mov r2, r5 - 98a: 6cd3 mov r3, r4 - 98c: e000037c bsr 0x1084 // 1084 <__muldf3> - 990: 134a lrw r2, 0x16bebd93 // b38 <__GI_pow+0x984> - 992: 136b lrw r3, 0x3f66c16c // b3c <__GI_pow+0x988> - 994: e000035c bsr 0x104c // 104c <__subdf3> - 998: 6c97 mov r2, r5 - 99a: 6cd3 mov r3, r4 - 99c: e0000374 bsr 0x1084 // 1084 <__muldf3> - 9a0: 1348 lrw r2, 0x5555553e // b40 <__GI_pow+0x98c> - 9a2: 1369 lrw r3, 0x3fc55555 // b44 <__GI_pow+0x990> - 9a4: e000033c bsr 0x101c // 101c <__adddf3> - 9a8: 6c97 mov r2, r5 - 9aa: 6cd3 mov r3, r4 - 9ac: e000036c bsr 0x1084 // 1084 <__muldf3> - 9b0: 6c83 mov r2, r0 - 9b2: 6cc7 mov r3, r1 - 9b4: 6c1f mov r0, r7 - 9b6: 6c5b mov r1, r6 - 9b8: e000034a bsr 0x104c // 104c <__subdf3> - 9bc: 6d43 mov r5, r0 - 9be: 6d07 mov r4, r1 - 9c0: 6c83 mov r2, r0 - 9c2: 6cc7 mov r3, r1 - 9c4: 6c1f mov r0, r7 - 9c6: 6c5b mov r1, r6 - 9c8: e000035e bsr 0x1084 // 1084 <__muldf3> - 9cc: 3380 movi r3, 128 - 9ce: b804 st.w r0, (r14, 0x10) - 9d0: b825 st.w r1, (r14, 0x14) - 9d2: 3200 movi r2, 0 - 9d4: 4377 lsli r3, r3, 23 - 9d6: 6c17 mov r0, r5 - 9d8: 6c53 mov r1, r4 - 9da: e0000339 bsr 0x104c // 104c <__subdf3> - 9de: 6c83 mov r2, r0 - 9e0: 6cc7 mov r3, r1 - 9e2: 9804 ld.w r0, (r14, 0x10) - 9e4: 9825 ld.w r1, (r14, 0x14) - 9e6: e0000469 bsr 0x12b8 // 12b8 <__divdf3> - 9ea: 6d07 mov r4, r1 - 9ec: 6d43 mov r5, r0 - 9ee: 9842 ld.w r2, (r14, 0x8) - 9f0: 9863 ld.w r3, (r14, 0xc) - 9f2: 6c1f mov r0, r7 - 9f4: 6c5b mov r1, r6 - 9f6: e0000347 bsr 0x1084 // 1084 <__muldf3> - 9fa: 9842 ld.w r2, (r14, 0x8) - 9fc: 9863 ld.w r3, (r14, 0xc) - 9fe: e000030f bsr 0x101c // 101c <__adddf3> - a02: 6c83 mov r2, r0 - a04: 6cc7 mov r3, r1 - a06: 6c17 mov r0, r5 - a08: 6c53 mov r1, r4 - a0a: e0000321 bsr 0x104c // 104c <__subdf3> - a0e: 6c9f mov r2, r7 - a10: 6cdb mov r3, r6 - a12: e000031d bsr 0x104c // 104c <__subdf3> - a16: 6c83 mov r2, r0 - a18: 6cc7 mov r3, r1 - a1a: 3000 movi r0, 0 - a1c: 1135 lrw r1, 0x3ff00000 // af0 <__GI_pow+0x93c> - a1e: e0000317 bsr 0x104c // 104c <__subdf3> - a22: 9840 ld.w r2, (r14, 0x0) - a24: 4274 lsli r3, r2, 20 - a26: 60c4 addu r3, r1 - a28: 5394 asri r4, r3, 20 - a2a: 3c20 cmplti r4, 1 - a2c: 0c2f bf 0xa8a // a8a <__GI_pow+0x8d6> - a2e: 9840 ld.w r2, (r14, 0x0) - a30: e000009a bsr 0xb64 // b64 <__GI_scalbn> - a34: 3200 movi r2, 0 - a36: 9861 ld.w r3, (r14, 0x4) - a38: e800fc56 br 0x2e4 // 2e4 <__GI_pow+0x130> - a3c: 4401 lsli r0, r4, 1 - a3e: 4861 lsri r3, r0, 1 - a40: 1242 lrw r2, 0x4090cbff // b48 <__GI_pow+0x994> - a42: 64c9 cmplt r2, r3 - a44: 0f1f bf 0x882 // 882 <__GI_pow+0x6ce> - a46: 1222 lrw r1, 0x3f6f3400 // b4c <__GI_pow+0x998> - a48: 6050 addu r1, r4 - a4a: 9800 ld.w r0, (r14, 0x0) - a4c: 6c40 or r1, r0 - a4e: 3940 cmpnei r1, 0 - a50: 0c0b bf 0xa66 // a66 <__GI_pow+0x8b2> - a52: 1240 lrw r2, 0xc2f8f359 // b50 <__GI_pow+0x99c> - a54: 1260 lrw r3, 0x1a56e1f // b54 <__GI_pow+0x9a0> - a56: 3000 movi r0, 0 - a58: 9821 ld.w r1, (r14, 0x4) - a5a: e0000315 bsr 0x1084 // 1084 <__muldf3> - a5e: 115d lrw r2, 0xc2f8f359 // b50 <__GI_pow+0x99c> - a60: 117d lrw r3, 0x1a56e1f // b54 <__GI_pow+0x9a0> - a62: e800fc41 br 0x2e4 // 2e4 <__GI_pow+0x130> - a66: 9842 ld.w r2, (r14, 0x8) - a68: 6cd7 mov r3, r5 - a6a: 9800 ld.w r0, (r14, 0x0) - a6c: 6c53 mov r1, r4 - a6e: e00002ef bsr 0x104c // 104c <__subdf3> - a72: 6c83 mov r2, r0 - a74: 6cc7 mov r3, r1 - a76: 6c1f mov r0, r7 - a78: 6c5b mov r1, r6 - a7a: e0000505 bsr 0x1484 // 1484 <__ledf2> - a7e: 3820 cmplti r0, 1 - a80: 0f01 bf 0x882 // 882 <__GI_pow+0x6ce> - a82: 07e8 br 0xa52 // a52 <__GI_pow+0x89e> - a84: 3500 movi r5, 0 - a86: b8a0 st.w r5, (r14, 0x0) - a88: 0726 br 0x8d4 // 8d4 <__GI_pow+0x720> - a8a: 6c4f mov r1, r3 - a8c: 07d4 br 0xa34 // a34 <__GI_pow+0x880> - a8e: 3400 movi r4, 0 - a90: 1038 lrw r1, 0x3ff00000 // af0 <__GI_pow+0x93c> - a92: e800fbb5 br 0x1fc // 1fc <__GI_pow+0x48> - a96: 3400 movi r4, 0 - a98: 9820 ld.w r1, (r14, 0x0) - a9a: e800fbb1 br 0x1fc // 1fc <__GI_pow+0x48> - a9e: 6d1f mov r4, r7 - aa0: 6c5b mov r1, r6 - aa2: e800fbad br 0x1fc // 1fc <__GI_pow+0x48> - aa6: 0000 bkpt - aa8: 4a454eef .long 0x4a454eef - aac: 3fca7e28 .long 0x3fca7e28 - ab0: 93c9db65 .long 0x93c9db65 - ab4: 3fcd864a .long 0x3fcd864a - ab8: a91d4101 .long 0xa91d4101 - abc: 3fd17460 .long 0x3fd17460 - ac0: 518f264d .long 0x518f264d - ac4: 3fd55555 .long 0x3fd55555 - ac8: db6fabff .long 0xdb6fabff - acc: 3fdb6db6 .long 0x3fdb6db6 - ad0: 33333303 .long 0x33333303 - ad4: 3fe33333 .long 0x3fe33333 - ad8: 40080000 .long 0x40080000 - adc: 3feec709 .long 0x3feec709 - ae0: dc3a03fd .long 0xdc3a03fd - ae4: 145b01f5 .long 0x145b01f5 - ae8: be3e2fe0 .long 0xbe3e2fe0 - aec: 00005d74 .long 0x00005d74 - af0: 3ff00000 .long 0x3ff00000 - af4: 652b82fe .long 0x652b82fe - af8: 3c971547 .long 0x3c971547 - afc: 3fe00000 .long 0x3fe00000 - b00: fffffc02 .long 0xfffffc02 - b04: fffffc01 .long 0xfffffc01 - b08: 000fffff .long 0x000fffff - b0c: 3fe62e43 .long 0x3fe62e43 - b10: fefa39ef .long 0xfefa39ef - b14: 3fe62e42 .long 0x3fe62e42 - b18: 0ca86c39 .long 0x0ca86c39 - b1c: be205c61 .long 0xbe205c61 - b20: 72bea4d0 .long 0x72bea4d0 - b24: 3e663769 .long 0x3e663769 - b28: c5d26bf1 .long 0xc5d26bf1 - b2c: 3ebbbd41 .long 0x3ebbbd41 - b30: af25de2c .long 0xaf25de2c - b34: 3f11566a .long 0x3f11566a - b38: 16bebd93 .long 0x16bebd93 - b3c: 3f66c16c .long 0x3f66c16c - b40: 5555553e .long 0x5555553e - b44: 3fc55555 .long 0x3fc55555 - b48: 4090cbff .long 0x4090cbff - b4c: 3f6f3400 .long 0x3f6f3400 - b50: c2f8f359 .long 0xc2f8f359 - b54: 01a56e1f .long 0x01a56e1f - b58: 3300 movi r3, 0 - b5a: e800fb94 br 0x282 // 282 <__GI_pow+0xce> - -00000b5e <__GI_fabs>: - b5e: 4121 lsli r1, r1, 1 - b60: 4921 lsri r1, r1, 1 - b62: 783c jmp r15 - -00000b64 <__GI_scalbn>: - b64: 14c1 push r4 - b66: 6cc7 mov r3, r1 - b68: 6cc0 or r3, r0 - b6a: 3b40 cmpnei r3, 0 - b6c: 0c08 bf 0xb7c // b7c <__GI_scalbn+0x18> - b6e: 1065 lrw r3, 0x7ff00000 // b80 <__GI_scalbn+0x1c> - b70: 6d07 mov r4, r1 - b72: 690c and r4, r3 - b74: 4254 lsli r2, r2, 20 - b76: 6090 addu r2, r4 - b78: 684d andn r1, r3 - b7a: 6c48 or r1, r2 - b7c: 1481 pop r4 - b7e: 0000 bkpt - b80: 7ff00000 .long 0x7ff00000 - -00000b84 <__GI_sqrt>: - b84: 14d4 push r4-r7, r15 - b86: 1423 subi r14, r14, 12 - b88: 127a lrw r3, 0x7ff00000 // cf0 <__GI_sqrt+0x16c> - b8a: 6d43 mov r5, r0 - b8c: 6d07 mov r4, r1 - b8e: 6c07 mov r0, r1 - b90: 684c and r1, r3 - b92: 64c6 cmpne r1, r3 - b94: 6c97 mov r2, r5 - b96: 0812 bt 0xbba // bba <__GI_sqrt+0x36> - b98: 6cd3 mov r3, r4 - b9a: 6c17 mov r0, r5 - b9c: 6c53 mov r1, r4 - b9e: e0000273 bsr 0x1084 // 1084 <__muldf3> - ba2: 6c83 mov r2, r0 - ba4: 6cc7 mov r3, r1 - ba6: 6c17 mov r0, r5 - ba8: 6c53 mov r1, r4 - baa: e0000239 bsr 0x101c // 101c <__adddf3> - bae: 6d43 mov r5, r0 - bb0: 6d07 mov r4, r1 - bb2: 6c17 mov r0, r5 - bb4: 6c53 mov r1, r4 - bb6: 1403 addi r14, r14, 12 - bb8: 1494 pop r4-r7, r15 - bba: 3c20 cmplti r4, 1 - bbc: 0c13 bf 0xbe2 // be2 <__GI_sqrt+0x5e> - bbe: 4461 lsli r3, r4, 1 - bc0: 4b21 lsri r1, r3, 1 - bc2: 6c54 or r1, r5 - bc4: 3940 cmpnei r1, 0 - bc6: 0ff6 bf 0xbb2 // bb2 <__GI_sqrt+0x2e> - bc8: 3c40 cmpnei r4, 0 - bca: 0c0c bf 0xbe2 // be2 <__GI_sqrt+0x5e> - bcc: 6c97 mov r2, r5 - bce: 6cd3 mov r3, r4 - bd0: 6c17 mov r0, r5 - bd2: 6c53 mov r1, r4 - bd4: e000023c bsr 0x104c // 104c <__subdf3> - bd8: 6c83 mov r2, r0 - bda: 6cc7 mov r3, r1 - bdc: e000036e bsr 0x12b8 // 12b8 <__divdf3> - be0: 07e7 br 0xbae // bae <__GI_sqrt+0x2a> - be2: 5494 asri r4, r4, 20 - be4: 3c40 cmpnei r4, 0 - be6: 0812 bt 0xc0a // c0a <__GI_sqrt+0x86> - be8: 3840 cmpnei r0, 0 - bea: 0c76 bf 0xcd6 // cd6 <__GI_sqrt+0x152> - bec: 3580 movi r5, 128 - bee: 3300 movi r3, 0 - bf0: 452d lsli r1, r5, 13 - bf2: 6d83 mov r6, r0 - bf4: 6984 and r6, r1 - bf6: 3e40 cmpnei r6, 0 - bf8: 0c73 bf 0xcde // cde <__GI_sqrt+0x15a> - bfa: 5b23 subi r1, r3, 1 - bfc: 3620 movi r6, 32 - bfe: 6106 subu r4, r1 - c00: 618e subu r6, r3 - c02: 6c4b mov r1, r2 - c04: 7059 lsr r1, r6 - c06: 6c04 or r0, r1 - c08: 708c lsl r2, r3 - c0a: 117b lrw r3, 0xfffffc01 // cf4 <__GI_sqrt+0x170> - c0c: 610c addu r4, r3 - c0e: 3601 movi r6, 1 - c10: 400c lsli r0, r0, 12 - c12: 6990 and r6, r4 - c14: 480c lsri r0, r0, 12 - c16: 3e40 cmpnei r6, 0 - c18: 38b4 bseti r0, 20 - c1a: 0c05 bf 0xc24 // c24 <__GI_sqrt+0xa0> - c1c: 4a3f lsri r1, r2, 31 - c1e: 40a1 lsli r5, r0, 1 - c20: 5914 addu r0, r1, r5 - c22: 4241 lsli r2, r2, 1 - c24: 4a7f lsri r3, r2, 31 - c26: 60c0 addu r3, r0 - c28: 5481 asri r4, r4, 1 - c2a: 3680 movi r6, 128 - c2c: 3100 movi r1, 0 - c2e: 60c0 addu r3, r0 - c30: b882 st.w r4, (r14, 0x8) - c32: 4241 lsli r2, r2, 1 - c34: 3516 movi r5, 22 - c36: 460e lsli r0, r6, 14 - c38: b820 st.w r1, (r14, 0x0) - c3a: 5980 addu r4, r1, r0 - c3c: 650d cmplt r3, r4 - c3e: 0806 bt 0xc4a // c4a <__GI_sqrt+0xc6> - c40: 98c0 ld.w r6, (r14, 0x0) - c42: 6180 addu r6, r0 - c44: 5c20 addu r1, r4, r0 - c46: 60d2 subu r3, r4 - c48: b8c0 st.w r6, (r14, 0x0) - c4a: 2d00 subi r5, 1 - c4c: 4a9f lsri r4, r2, 31 - c4e: 4361 lsli r3, r3, 1 - c50: 3d40 cmpnei r5, 0 - c52: 60d0 addu r3, r4 - c54: 4241 lsli r2, r2, 1 - c56: 4801 lsri r0, r0, 1 - c58: 0bf1 bt 0xc3a // c3a <__GI_sqrt+0xb6> - c5a: 3620 movi r6, 32 - c5c: 3480 movi r4, 128 - c5e: 3000 movi r0, 0 - c60: b8c1 st.w r6, (r14, 0x4) - c62: 4498 lsli r4, r4, 24 - c64: 64c5 cmplt r1, r3 - c66: 5cd4 addu r6, r4, r5 - c68: 0805 bt 0xc72 // c72 <__GI_sqrt+0xee> - c6a: 644e cmpne r3, r1 - c6c: 0810 bt 0xc8c // c8c <__GI_sqrt+0x108> - c6e: 6588 cmphs r2, r6 - c70: 0c0e bf 0xc8c // c8c <__GI_sqrt+0x108> - c72: 3edf btsti r6, 31 - c74: 5eb0 addu r5, r6, r4 - c76: 0c37 bf 0xce4 // ce4 <__GI_sqrt+0x160> - c78: 3ddf btsti r5, 31 - c7a: 0835 bt 0xce4 // ce4 <__GI_sqrt+0x160> - c7c: 59e2 addi r7, r1, 1 - c7e: 6588 cmphs r2, r6 - c80: 60c6 subu r3, r1 - c82: 0802 bt 0xc86 // c86 <__GI_sqrt+0x102> - c84: 2b00 subi r3, 1 - c86: 609a subu r2, r6 - c88: 6010 addu r0, r4 - c8a: 6c5f mov r1, r7 - c8c: 4adf lsri r6, r2, 31 - c8e: 618c addu r6, r3 - c90: 60d8 addu r3, r6 - c92: 98c1 ld.w r6, (r14, 0x4) - c94: 2e00 subi r6, 1 - c96: 3e40 cmpnei r6, 0 - c98: 4241 lsli r2, r2, 1 - c9a: 4c81 lsri r4, r4, 1 - c9c: b8c1 st.w r6, (r14, 0x4) - c9e: 0be3 bt 0xc64 // c64 <__GI_sqrt+0xe0> - ca0: 6cc8 or r3, r2 - ca2: 3b40 cmpnei r3, 0 - ca4: 0c09 bf 0xcb6 // cb6 <__GI_sqrt+0x132> - ca6: 3300 movi r3, 0 - ca8: 2b00 subi r3, 1 - caa: 64c2 cmpne r0, r3 - cac: 081e bt 0xce8 // ce8 <__GI_sqrt+0x164> - cae: 9800 ld.w r0, (r14, 0x0) - cb0: 2000 addi r0, 1 - cb2: b800 st.w r0, (r14, 0x0) - cb4: 3000 movi r0, 0 - cb6: 3401 movi r4, 1 - cb8: 9860 ld.w r3, (r14, 0x0) - cba: 98a0 ld.w r5, (r14, 0x0) - cbc: 690c and r4, r3 - cbe: 5541 asri r2, r5, 1 - cc0: 102e lrw r1, 0x3fe00000 // cf8 <__GI_sqrt+0x174> - cc2: 3c40 cmpnei r4, 0 - cc4: 6048 addu r1, r2 - cc6: 4801 lsri r0, r0, 1 - cc8: 0c02 bf 0xccc // ccc <__GI_sqrt+0x148> - cca: 38bf bseti r0, 31 - ccc: 98a2 ld.w r5, (r14, 0x8) - cce: 4594 lsli r4, r5, 20 - cd0: 6104 addu r4, r1 - cd2: 6d43 mov r5, r0 - cd4: 076f br 0xbb2 // bb2 <__GI_sqrt+0x2e> - cd6: 4a0b lsri r0, r2, 11 - cd8: 2c14 subi r4, 21 - cda: 4255 lsli r2, r2, 21 - cdc: 0786 br 0xbe8 // be8 <__GI_sqrt+0x64> - cde: 4001 lsli r0, r0, 1 - ce0: 2300 addi r3, 1 - ce2: 0788 br 0xbf2 // bf2 <__GI_sqrt+0x6e> - ce4: 6dc7 mov r7, r1 - ce6: 07cc br 0xc7e // c7e <__GI_sqrt+0xfa> - ce8: 2000 addi r0, 1 - cea: 3880 bclri r0, 0 - cec: 07e5 br 0xcb6 // cb6 <__GI_sqrt+0x132> - cee: 0000 bkpt - cf0: 7ff00000 .long 0x7ff00000 - cf4: fffffc01 .long 0xfffffc01 - cf8: 3fe00000 .long 0x3fe00000 - -00000cfc <___gnu_csky_case_uqi>: - cfc: 1421 subi r14, r14, 4 - cfe: b820 st.w r1, (r14, 0x0) - d00: 6c7f mov r1, r15 - d02: 6040 addu r1, r0 - d04: 8120 ld.b r1, (r1, 0x0) - d06: 4121 lsli r1, r1, 1 - d08: 63c4 addu r15, r1 - d0a: 9820 ld.w r1, (r14, 0x0) - d0c: 1401 addi r14, r14, 4 - d0e: 783c jmp r15 - -00000d10 <__fixunsdfsi>: - d10: 14d2 push r4-r5, r15 - d12: 3200 movi r2, 0 - d14: 106c lrw r3, 0x41e00000 // d44 <__fixunsdfsi+0x34> - d16: 6d43 mov r5, r0 - d18: 6d07 mov r4, r1 - d1a: e0000397 bsr 0x1448 // 1448 <__gedf2> - d1e: 38df btsti r0, 31 - d20: 0c06 bf 0xd2c // d2c <__fixunsdfsi+0x1c> - d22: 6c17 mov r0, r5 - d24: 6c53 mov r1, r4 - d26: e0000405 bsr 0x1530 // 1530 <__fixdfsi> - d2a: 1492 pop r4-r5, r15 - d2c: 3200 movi r2, 0 - d2e: 1066 lrw r3, 0x41e00000 // d44 <__fixunsdfsi+0x34> - d30: 6c17 mov r0, r5 - d32: 6c53 mov r1, r4 - d34: e000018c bsr 0x104c // 104c <__subdf3> - d38: e00003fc bsr 0x1530 // 1530 <__fixdfsi> - d3c: 3380 movi r3, 128 - d3e: 4378 lsli r3, r3, 24 - d40: 600c addu r0, r3 - d42: 1492 pop r4-r5, r15 - d44: 41e00000 .long 0x41e00000 - -00000d48 <_fpadd_parts>: - d48: 14c4 push r4-r7 - d4a: 142a subi r14, r14, 40 - d4c: 9060 ld.w r3, (r0, 0x0) - d4e: 3b01 cmphsi r3, 2 - d50: 6dcb mov r7, r2 - d52: 0c67 bf 0xe20 // e20 <_fpadd_parts+0xd8> - d54: 9140 ld.w r2, (r1, 0x0) - d56: 3a01 cmphsi r2, 2 - d58: 0c66 bf 0xe24 // e24 <_fpadd_parts+0xdc> - d5a: 3b44 cmpnei r3, 4 - d5c: 0cde bf 0xf18 // f18 <_fpadd_parts+0x1d0> - d5e: 3a44 cmpnei r2, 4 - d60: 0c62 bf 0xe24 // e24 <_fpadd_parts+0xdc> - d62: 3a42 cmpnei r2, 2 - d64: 0cb7 bf 0xed2 // ed2 <_fpadd_parts+0x18a> - d66: 3b42 cmpnei r3, 2 - d68: 0c5e bf 0xe24 // e24 <_fpadd_parts+0xdc> - d6a: 9043 ld.w r2, (r0, 0xc) - d6c: 9064 ld.w r3, (r0, 0x10) - d6e: 9082 ld.w r4, (r0, 0x8) - d70: 91a2 ld.w r5, (r1, 0x8) - d72: b842 st.w r2, (r14, 0x8) - d74: b863 st.w r3, (r14, 0xc) - d76: 9143 ld.w r2, (r1, 0xc) - d78: 9164 ld.w r3, (r1, 0x10) - d7a: b840 st.w r2, (r14, 0x0) - d7c: b861 st.w r3, (r14, 0x4) - d7e: 5c75 subu r3, r4, r5 - d80: 3bdf btsti r3, 31 - d82: 6c8f mov r2, r3 - d84: 08d2 bt 0xf28 // f28 <_fpadd_parts+0x1e0> - d86: 363f movi r6, 63 - d88: 6499 cmplt r6, r2 - d8a: 0c50 bf 0xe2a // e2a <_fpadd_parts+0xe2> - d8c: 6515 cmplt r5, r4 - d8e: 0cbf bf 0xf0c // f0c <_fpadd_parts+0x1c4> - d90: 3200 movi r2, 0 - d92: 3300 movi r3, 0 - d94: b840 st.w r2, (r14, 0x0) - d96: b861 st.w r3, (r14, 0x4) - d98: 9061 ld.w r3, (r0, 0x4) - d9a: 9141 ld.w r2, (r1, 0x4) - d9c: 648e cmpne r3, r2 - d9e: 0c78 bf 0xe8e // e8e <_fpadd_parts+0x146> - da0: 3b40 cmpnei r3, 0 - da2: 0cad bf 0xefc // efc <_fpadd_parts+0x1b4> - da4: 9800 ld.w r0, (r14, 0x0) - da6: 9821 ld.w r1, (r14, 0x4) - da8: 9842 ld.w r2, (r14, 0x8) - daa: 9863 ld.w r3, (r14, 0xc) - dac: 6400 cmphs r0, r0 - dae: 600b subc r0, r2 - db0: 604f subc r1, r3 - db2: 39df btsti r1, 31 - db4: 08bd bt 0xf2e // f2e <_fpadd_parts+0x1e6> - db6: 3300 movi r3, 0 - db8: b761 st.w r3, (r7, 0x4) - dba: b782 st.w r4, (r7, 0x8) - dbc: 6c83 mov r2, r0 - dbe: 6cc7 mov r3, r1 - dc0: b703 st.w r0, (r7, 0xc) - dc2: b724 st.w r1, (r7, 0x10) - dc4: 3000 movi r0, 0 - dc6: 3100 movi r1, 0 - dc8: 2800 subi r0, 1 - dca: 2900 subi r1, 1 - dcc: 6401 cmplt r0, r0 - dce: 6009 addc r0, r2 - dd0: 604d addc r1, r3 - dd2: 038f lrw r4, 0xfffffff // 1010 <_fpadd_parts+0x2c8> - dd4: 6450 cmphs r4, r1 - dd6: 0c67 bf 0xea4 // ea4 <_fpadd_parts+0x15c> - dd8: 6506 cmpne r1, r4 - dda: 0cfd bf 0xfd4 // fd4 <_fpadd_parts+0x28c> - ddc: 3000 movi r0, 0 - dde: 9722 ld.w r1, (r7, 0x8) - de0: 2801 subi r0, 2 - de2: 2900 subi r1, 1 - de4: 03d4 lrw r6, 0xfffffff // 1010 <_fpadd_parts+0x2c8> - de6: b802 st.w r0, (r14, 0x8) - de8: b8e0 st.w r7, (r14, 0x0) - dea: 0403 br 0xdf0 // df0 <_fpadd_parts+0xa8> - dec: 6596 cmpne r5, r6 - dee: 0c83 bf 0xef4 // ef4 <_fpadd_parts+0x1ac> - df0: 4301 lsli r0, r3, 1 - df2: 4a9f lsri r4, r2, 31 - df4: 6d00 or r4, r0 - df6: 42a1 lsli r5, r2, 1 - df8: 6c97 mov r2, r5 - dfa: 6cd3 mov r3, r4 - dfc: 3500 movi r5, 0 - dfe: 3400 movi r4, 0 - e00: 2c00 subi r4, 1 - e02: 2d00 subi r5, 1 - e04: 6511 cmplt r4, r4 - e06: 6109 addc r4, r2 - e08: 614d addc r5, r3 - e0a: 6558 cmphs r6, r5 - e0c: 6c07 mov r0, r1 - e0e: 2900 subi r1, 1 - e10: 0bee bt 0xdec // dec <_fpadd_parts+0xa4> - e12: 98e0 ld.w r7, (r14, 0x0) - e14: b743 st.w r2, (r7, 0xc) - e16: b764 st.w r3, (r7, 0x10) - e18: 3303 movi r3, 3 - e1a: b702 st.w r0, (r7, 0x8) - e1c: b760 st.w r3, (r7, 0x0) - e1e: 6c1f mov r0, r7 - e20: 140a addi r14, r14, 40 - e22: 1484 pop r4-r7 - e24: 6c07 mov r0, r1 - e26: 140a addi r14, r14, 40 - e28: 1484 pop r4-r7 - e2a: 3b20 cmplti r3, 1 - e2c: 088c bt 0xf44 // f44 <_fpadd_parts+0x1fc> - e2e: 3300 movi r3, 0 - e30: 2b1f subi r3, 32 - e32: 60c8 addu r3, r2 - e34: 3bdf btsti r3, 31 - e36: b866 st.w r3, (r14, 0x18) - e38: 08bb bt 0xfae // fae <_fpadd_parts+0x266> - e3a: 98a1 ld.w r5, (r14, 0x4) - e3c: 714d lsr r5, r3 - e3e: b8a4 st.w r5, (r14, 0x10) - e40: 3500 movi r5, 0 - e42: b8a5 st.w r5, (r14, 0x14) - e44: 9866 ld.w r3, (r14, 0x18) - e46: 3bdf btsti r3, 31 - e48: 3500 movi r5, 0 - e4a: 3600 movi r6, 0 - e4c: 08ad bt 0xfa6 // fa6 <_fpadd_parts+0x25e> - e4e: 3201 movi r2, 1 - e50: 708c lsl r2, r3 - e52: 6d8b mov r6, r2 - e54: 3200 movi r2, 0 - e56: 3300 movi r3, 0 - e58: 2a00 subi r2, 1 - e5a: 2b00 subi r3, 1 - e5c: 6489 cmplt r2, r2 - e5e: 6095 addc r2, r5 - e60: 60d9 addc r3, r6 - e62: 98a0 ld.w r5, (r14, 0x0) - e64: 98c1 ld.w r6, (r14, 0x4) - e66: 6948 and r5, r2 - e68: 698c and r6, r3 - e6a: 6c97 mov r2, r5 - e6c: 6cdb mov r3, r6 - e6e: 6c8c or r2, r3 - e70: 3a40 cmpnei r2, 0 - e72: 3500 movi r5, 0 - e74: 6155 addc r5, r5 - e76: 6c97 mov r2, r5 - e78: 3300 movi r3, 0 - e7a: 98a4 ld.w r5, (r14, 0x10) - e7c: 98c5 ld.w r6, (r14, 0x14) - e7e: 6d48 or r5, r2 - e80: 6d8c or r6, r3 - e82: 9061 ld.w r3, (r0, 0x4) - e84: 9141 ld.w r2, (r1, 0x4) - e86: 648e cmpne r3, r2 - e88: b8a0 st.w r5, (r14, 0x0) - e8a: b8c1 st.w r6, (r14, 0x4) - e8c: 0b8a bt 0xda0 // da0 <_fpadd_parts+0x58> - e8e: b761 st.w r3, (r7, 0x4) - e90: 9800 ld.w r0, (r14, 0x0) - e92: 9821 ld.w r1, (r14, 0x4) - e94: 9842 ld.w r2, (r14, 0x8) - e96: 9863 ld.w r3, (r14, 0xc) - e98: 6489 cmplt r2, r2 - e9a: 6081 addc r2, r0 - e9c: 60c5 addc r3, r1 - e9e: b782 st.w r4, (r7, 0x8) - ea0: b743 st.w r2, (r7, 0xc) - ea2: b764 st.w r3, (r7, 0x10) - ea4: 3103 movi r1, 3 - ea6: b720 st.w r1, (r7, 0x0) - ea8: 123b lrw r1, 0x1fffffff // 1014 <_fpadd_parts+0x2cc> - eaa: 64c4 cmphs r1, r3 - eac: 0810 bt 0xecc // ecc <_fpadd_parts+0x184> - eae: 439f lsli r4, r3, 31 - eb0: 4a01 lsri r0, r2, 1 - eb2: 6c10 or r0, r4 - eb4: 3500 movi r5, 0 - eb6: 3401 movi r4, 1 - eb8: 4b21 lsri r1, r3, 1 - eba: 6890 and r2, r4 - ebc: 68d4 and r3, r5 - ebe: 6c80 or r2, r0 - ec0: 6cc4 or r3, r1 - ec2: b743 st.w r2, (r7, 0xc) - ec4: b764 st.w r3, (r7, 0x10) - ec6: 9762 ld.w r3, (r7, 0x8) - ec8: 2300 addi r3, 1 - eca: b762 st.w r3, (r7, 0x8) - ecc: 6c1f mov r0, r7 - ece: 140a addi r14, r14, 40 - ed0: 1484 pop r4-r7 - ed2: 3b42 cmpnei r3, 2 - ed4: 0ba6 bt 0xe20 // e20 <_fpadd_parts+0xd8> - ed6: b760 st.w r3, (r7, 0x0) - ed8: 9061 ld.w r3, (r0, 0x4) - eda: b761 st.w r3, (r7, 0x4) - edc: 9062 ld.w r3, (r0, 0x8) - ede: b762 st.w r3, (r7, 0x8) - ee0: 9063 ld.w r3, (r0, 0xc) - ee2: b763 st.w r3, (r7, 0xc) - ee4: 9064 ld.w r3, (r0, 0x10) - ee6: 9141 ld.w r2, (r1, 0x4) - ee8: b764 st.w r3, (r7, 0x10) - eea: 9061 ld.w r3, (r0, 0x4) - eec: 68c8 and r3, r2 - eee: b761 st.w r3, (r7, 0x4) - ef0: 6c1f mov r0, r7 - ef2: 0797 br 0xe20 // e20 <_fpadd_parts+0xd8> - ef4: 98e2 ld.w r7, (r14, 0x8) - ef6: 651c cmphs r7, r4 - ef8: 0b7c bt 0xdf0 // df0 <_fpadd_parts+0xa8> - efa: 078c br 0xe12 // e12 <_fpadd_parts+0xca> - efc: 9802 ld.w r0, (r14, 0x8) - efe: 9823 ld.w r1, (r14, 0xc) - f00: 9840 ld.w r2, (r14, 0x0) - f02: 9861 ld.w r3, (r14, 0x4) - f04: 6400 cmphs r0, r0 - f06: 600b subc r0, r2 - f08: 604f subc r1, r3 - f0a: 0754 br 0xdb2 // db2 <_fpadd_parts+0x6a> - f0c: 3200 movi r2, 0 - f0e: 3300 movi r3, 0 - f10: 6d17 mov r4, r5 - f12: b842 st.w r2, (r14, 0x8) - f14: b863 st.w r3, (r14, 0xc) - f16: 0741 br 0xd98 // d98 <_fpadd_parts+0x50> - f18: 3a44 cmpnei r2, 4 - f1a: 0b83 bt 0xe20 // e20 <_fpadd_parts+0xd8> - f1c: 9041 ld.w r2, (r0, 0x4) - f1e: 9161 ld.w r3, (r1, 0x4) - f20: 64ca cmpne r2, r3 - f22: 0f7f bf 0xe20 // e20 <_fpadd_parts+0xd8> - f24: 111d lrw r0, 0x5da4 // 1018 <_fpadd_parts+0x2d0> - f26: 077d br 0xe20 // e20 <_fpadd_parts+0xd8> - f28: 3200 movi r2, 0 - f2a: 608e subu r2, r3 - f2c: 072d br 0xd86 // d86 <_fpadd_parts+0x3e> - f2e: 3301 movi r3, 1 - f30: b761 st.w r3, (r7, 0x4) - f32: 3200 movi r2, 0 - f34: 3300 movi r3, 0 - f36: 6488 cmphs r2, r2 - f38: 6083 subc r2, r0 - f3a: 60c7 subc r3, r1 - f3c: b782 st.w r4, (r7, 0x8) - f3e: b743 st.w r2, (r7, 0xc) - f40: b764 st.w r3, (r7, 0x10) - f42: 0741 br 0xdc4 // dc4 <_fpadd_parts+0x7c> - f44: 3b40 cmpnei r3, 0 - f46: 0f29 bf 0xd98 // d98 <_fpadd_parts+0x50> - f48: 3300 movi r3, 0 - f4a: 2b1f subi r3, 32 - f4c: 60c8 addu r3, r2 - f4e: 3bdf btsti r3, 31 - f50: 6108 addu r4, r2 - f52: b866 st.w r3, (r14, 0x18) - f54: 0849 bt 0xfe6 // fe6 <_fpadd_parts+0x29e> - f56: 9863 ld.w r3, (r14, 0xc) - f58: 98a6 ld.w r5, (r14, 0x18) - f5a: 70d5 lsr r3, r5 - f5c: b864 st.w r3, (r14, 0x10) - f5e: 3300 movi r3, 0 - f60: b865 st.w r3, (r14, 0x14) - f62: 9866 ld.w r3, (r14, 0x18) - f64: 3bdf btsti r3, 31 - f66: 3500 movi r5, 0 - f68: 3600 movi r6, 0 - f6a: 083a bt 0xfde // fde <_fpadd_parts+0x296> - f6c: 3201 movi r2, 1 - f6e: 708c lsl r2, r3 - f70: 6d8b mov r6, r2 - f72: 3200 movi r2, 0 - f74: 3300 movi r3, 0 - f76: 2a00 subi r2, 1 - f78: 2b00 subi r3, 1 - f7a: 6489 cmplt r2, r2 - f7c: 6095 addc r2, r5 - f7e: 60d9 addc r3, r6 - f80: 98a2 ld.w r5, (r14, 0x8) - f82: 98c3 ld.w r6, (r14, 0xc) - f84: 6948 and r5, r2 - f86: 698c and r6, r3 - f88: 6c97 mov r2, r5 - f8a: 6cdb mov r3, r6 - f8c: 6c8c or r2, r3 - f8e: 3a40 cmpnei r2, 0 - f90: 3500 movi r5, 0 - f92: 6155 addc r5, r5 - f94: 6c97 mov r2, r5 - f96: 3300 movi r3, 0 - f98: 98a4 ld.w r5, (r14, 0x10) - f9a: 98c5 ld.w r6, (r14, 0x14) - f9c: 6d48 or r5, r2 - f9e: 6d8c or r6, r3 - fa0: b8a2 st.w r5, (r14, 0x8) - fa2: b8c3 st.w r6, (r14, 0xc) - fa4: 06fa br 0xd98 // d98 <_fpadd_parts+0x50> - fa6: 3301 movi r3, 1 - fa8: 70c8 lsl r3, r2 - faa: 6d4f mov r5, r3 - fac: 0754 br 0xe54 // e54 <_fpadd_parts+0x10c> - fae: 9861 ld.w r3, (r14, 0x4) - fb0: 361f movi r6, 31 - fb2: 43a1 lsli r5, r3, 1 - fb4: 618a subu r6, r2 - fb6: 7158 lsl r5, r6 - fb8: b8a9 st.w r5, (r14, 0x24) - fba: 98a0 ld.w r5, (r14, 0x0) - fbc: 98c1 ld.w r6, (r14, 0x4) - fbe: b8a7 st.w r5, (r14, 0x1c) - fc0: b8c8 st.w r6, (r14, 0x20) - fc2: 9867 ld.w r3, (r14, 0x1c) - fc4: 70c9 lsr r3, r2 - fc6: 98a9 ld.w r5, (r14, 0x24) - fc8: 6cd4 or r3, r5 - fca: b864 st.w r3, (r14, 0x10) - fcc: 9868 ld.w r3, (r14, 0x20) - fce: 70c9 lsr r3, r2 - fd0: b865 st.w r3, (r14, 0x14) - fd2: 0739 br 0xe44 // e44 <_fpadd_parts+0xfc> - fd4: 3100 movi r1, 0 - fd6: 2901 subi r1, 2 - fd8: 6404 cmphs r1, r0 - fda: 0b01 bt 0xddc // ddc <_fpadd_parts+0x94> - fdc: 0764 br 0xea4 // ea4 <_fpadd_parts+0x15c> - fde: 3301 movi r3, 1 - fe0: 70c8 lsl r3, r2 - fe2: 6d4f mov r5, r3 - fe4: 07c7 br 0xf72 // f72 <_fpadd_parts+0x22a> - fe6: 9863 ld.w r3, (r14, 0xc) - fe8: 43c1 lsli r6, r3, 1 - fea: 351f movi r5, 31 - fec: 5d69 subu r3, r5, r2 - fee: 6d5b mov r5, r6 - ff0: 714c lsl r5, r3 - ff2: b8a9 st.w r5, (r14, 0x24) - ff4: 98a2 ld.w r5, (r14, 0x8) - ff6: 98c3 ld.w r6, (r14, 0xc) - ff8: b8a7 st.w r5, (r14, 0x1c) - ffa: b8c8 st.w r6, (r14, 0x20) - ffc: 9867 ld.w r3, (r14, 0x1c) - ffe: 70c9 lsr r3, r2 - 1000: 98a9 ld.w r5, (r14, 0x24) - 1002: 6cd4 or r3, r5 - 1004: b864 st.w r3, (r14, 0x10) - 1006: 9868 ld.w r3, (r14, 0x20) - 1008: 70c9 lsr r3, r2 - 100a: b865 st.w r3, (r14, 0x14) - 100c: 07ab br 0xf62 // f62 <_fpadd_parts+0x21a> - 100e: 0000 bkpt - 1010: 0fffffff .long 0x0fffffff - 1014: 1fffffff .long 0x1fffffff - 1018: 00005da4 .long 0x00005da4 - -0000101c <__adddf3>: - 101c: 14d0 push r15 - 101e: 1433 subi r14, r14, 76 - 1020: b800 st.w r0, (r14, 0x0) - 1022: b821 st.w r1, (r14, 0x4) - 1024: 6c3b mov r0, r14 - 1026: 1904 addi r1, r14, 16 - 1028: b863 st.w r3, (r14, 0xc) - 102a: b842 st.w r2, (r14, 0x8) - 102c: e00003f4 bsr 0x1814 // 1814 <__unpack_d> - 1030: 1909 addi r1, r14, 36 - 1032: 1802 addi r0, r14, 8 - 1034: e00003f0 bsr 0x1814 // 1814 <__unpack_d> - 1038: 1a0e addi r2, r14, 56 - 103a: 1909 addi r1, r14, 36 - 103c: 1804 addi r0, r14, 16 - 103e: e3fffe85 bsr 0xd48 // d48 <_fpadd_parts> - 1042: e000031b bsr 0x1678 // 1678 <__pack_d> - 1046: 1413 addi r14, r14, 76 - 1048: 1490 pop r15 - ... - -0000104c <__subdf3>: - 104c: 14d0 push r15 - 104e: 1433 subi r14, r14, 76 - 1050: b800 st.w r0, (r14, 0x0) - 1052: b821 st.w r1, (r14, 0x4) - 1054: 6c3b mov r0, r14 - 1056: 1904 addi r1, r14, 16 - 1058: b842 st.w r2, (r14, 0x8) - 105a: b863 st.w r3, (r14, 0xc) - 105c: e00003dc bsr 0x1814 // 1814 <__unpack_d> - 1060: 1909 addi r1, r14, 36 - 1062: 1802 addi r0, r14, 8 - 1064: e00003d8 bsr 0x1814 // 1814 <__unpack_d> - 1068: 986a ld.w r3, (r14, 0x28) - 106a: 3201 movi r2, 1 - 106c: 6cc9 xor r3, r2 - 106e: 1909 addi r1, r14, 36 - 1070: 1a0e addi r2, r14, 56 - 1072: 1804 addi r0, r14, 16 - 1074: b86a st.w r3, (r14, 0x28) - 1076: e3fffe69 bsr 0xd48 // d48 <_fpadd_parts> - 107a: e00002ff bsr 0x1678 // 1678 <__pack_d> - 107e: 1413 addi r14, r14, 76 - 1080: 1490 pop r15 - ... - -00001084 <__muldf3>: - 1084: 14d4 push r4-r7, r15 - 1086: 143b subi r14, r14, 108 - 1088: b808 st.w r0, (r14, 0x20) - 108a: b829 st.w r1, (r14, 0x24) - 108c: 1808 addi r0, r14, 32 - 108e: 190c addi r1, r14, 48 - 1090: b86b st.w r3, (r14, 0x2c) - 1092: b84a st.w r2, (r14, 0x28) - 1094: e00003c0 bsr 0x1814 // 1814 <__unpack_d> - 1098: 1911 addi r1, r14, 68 - 109a: 180a addi r0, r14, 40 - 109c: e00003bc bsr 0x1814 // 1814 <__unpack_d> - 10a0: 986c ld.w r3, (r14, 0x30) - 10a2: 3b01 cmphsi r3, 2 - 10a4: 0cac bf 0x11fc // 11fc <__muldf3+0x178> - 10a6: 9851 ld.w r2, (r14, 0x44) - 10a8: 3a01 cmphsi r2, 2 - 10aa: 0c9c bf 0x11e2 // 11e2 <__muldf3+0x15e> - 10ac: 3b44 cmpnei r3, 4 - 10ae: 0ca5 bf 0x11f8 // 11f8 <__muldf3+0x174> - 10b0: 3a44 cmpnei r2, 4 - 10b2: 0c96 bf 0x11de // 11de <__muldf3+0x15a> - 10b4: 3b42 cmpnei r3, 2 - 10b6: 0ca3 bf 0x11fc // 11fc <__muldf3+0x178> - 10b8: 3a42 cmpnei r2, 2 - 10ba: 0c94 bf 0x11e2 // 11e2 <__muldf3+0x15e> - 10bc: 98ef ld.w r7, (r14, 0x3c) - 10be: 98b4 ld.w r5, (r14, 0x50) - 10c0: 9875 ld.w r3, (r14, 0x54) - 10c2: 6d8f mov r6, r3 - 10c4: 6c9f mov r2, r7 - 10c6: 3300 movi r3, 0 - 10c8: 6c17 mov r0, r5 - 10ca: 3100 movi r1, 0 - 10cc: e0000294 bsr 0x15f4 // 15f4 <__muldi3> - 10d0: b804 st.w r0, (r14, 0x10) - 10d2: b825 st.w r1, (r14, 0x14) - 10d4: 6c9f mov r2, r7 - 10d6: 3300 movi r3, 0 - 10d8: 6c1b mov r0, r6 - 10da: 3100 movi r1, 0 - 10dc: 9890 ld.w r4, (r14, 0x40) - 10de: b8c2 st.w r6, (r14, 0x8) - 10e0: e000028a bsr 0x15f4 // 15f4 <__muldi3> - 10e4: 6d83 mov r6, r0 - 10e6: 6dc7 mov r7, r1 - 10e8: 9842 ld.w r2, (r14, 0x8) - 10ea: 3300 movi r3, 0 - 10ec: 6c13 mov r0, r4 - 10ee: 3100 movi r1, 0 - 10f0: e0000282 bsr 0x15f4 // 15f4 <__muldi3> - 10f4: b806 st.w r0, (r14, 0x18) - 10f6: b827 st.w r1, (r14, 0x1c) - 10f8: 6c97 mov r2, r5 - 10fa: 3300 movi r3, 0 - 10fc: 6c13 mov r0, r4 - 10fe: 3100 movi r1, 0 - 1100: e000027a bsr 0x15f4 // 15f4 <__muldi3> - 1104: 6401 cmplt r0, r0 - 1106: 6019 addc r0, r6 - 1108: 605d addc r1, r7 - 110a: 65c4 cmphs r1, r7 - 110c: 0c91 bf 0x122e // 122e <__muldf3+0x1aa> - 110e: 645e cmpne r7, r1 - 1110: 0c8d bf 0x122a // 122a <__muldf3+0x1a6> - 1112: 3300 movi r3, 0 - 1114: 3400 movi r4, 0 - 1116: b862 st.w r3, (r14, 0x8) - 1118: b883 st.w r4, (r14, 0xc) - 111a: 9884 ld.w r4, (r14, 0x10) - 111c: 98a5 ld.w r5, (r14, 0x14) - 111e: 3600 movi r6, 0 - 1120: 6dc3 mov r7, r0 - 1122: 6c93 mov r2, r4 - 1124: 6cd7 mov r3, r5 - 1126: 6489 cmplt r2, r2 - 1128: 6099 addc r2, r6 - 112a: 60dd addc r3, r7 - 112c: 6d8b mov r6, r2 - 112e: 6dcf mov r7, r3 - 1130: 6c93 mov r2, r4 - 1132: 6cd7 mov r3, r5 - 1134: 64dc cmphs r7, r3 - 1136: 0c70 bf 0x1216 // 1216 <__muldf3+0x192> - 1138: 65ce cmpne r3, r7 - 113a: 0c6c bf 0x1212 // 1212 <__muldf3+0x18e> - 113c: 6c87 mov r2, r1 - 113e: 3300 movi r3, 0 - 1140: 9806 ld.w r0, (r14, 0x18) - 1142: 9827 ld.w r1, (r14, 0x1c) - 1144: 6401 cmplt r0, r0 - 1146: 6009 addc r0, r2 - 1148: 604d addc r1, r3 - 114a: 6c83 mov r2, r0 - 114c: 6cc7 mov r3, r1 - 114e: 9802 ld.w r0, (r14, 0x8) - 1150: 9823 ld.w r1, (r14, 0xc) - 1152: 6401 cmplt r0, r0 - 1154: 6009 addc r0, r2 - 1156: 604d addc r1, r3 - 1158: 6c83 mov r2, r0 - 115a: 6cc7 mov r3, r1 - 115c: 988e ld.w r4, (r14, 0x38) - 115e: 9833 ld.w r1, (r14, 0x4c) - 1160: 6104 addu r4, r1 - 1162: 5c2e addi r1, r4, 4 - 1164: b838 st.w r1, (r14, 0x60) - 1166: 980d ld.w r0, (r14, 0x34) - 1168: 9832 ld.w r1, (r14, 0x48) - 116a: 6442 cmpne r0, r1 - 116c: 12b0 lrw r5, 0x1fffffff // 12ac <__muldf3+0x228> - 116e: 3100 movi r1, 0 - 1170: 6045 addc r1, r1 - 1172: 64d4 cmphs r5, r3 - 1174: b837 st.w r1, (r14, 0x5c) - 1176: 0879 bt 0x1268 // 1268 <__muldf3+0x1e4> - 1178: 2404 addi r4, 5 - 117a: b8a4 st.w r5, (r14, 0x10) - 117c: 3001 movi r0, 1 - 117e: 3100 movi r1, 0 - 1180: 6808 and r0, r2 - 1182: 684c and r1, r3 - 1184: 6c04 or r0, r1 - 1186: 3840 cmpnei r0, 0 - 1188: b882 st.w r4, (r14, 0x8) - 118a: 0c0e bf 0x11a6 // 11a6 <__muldf3+0x122> - 118c: 473f lsli r1, r7, 31 - 118e: 4e01 lsri r0, r6, 1 - 1190: 6c04 or r0, r1 - 1192: 4f21 lsri r1, r7, 1 - 1194: b800 st.w r0, (r14, 0x0) - 1196: b821 st.w r1, (r14, 0x4) - 1198: 3180 movi r1, 128 - 119a: 98c0 ld.w r6, (r14, 0x0) - 119c: 98e1 ld.w r7, (r14, 0x4) - 119e: 3000 movi r0, 0 - 11a0: 4138 lsli r1, r1, 24 - 11a2: 6d80 or r6, r0 - 11a4: 6dc4 or r7, r1 - 11a6: 4b21 lsri r1, r3, 1 - 11a8: 43bf lsli r5, r3, 31 - 11aa: 4a01 lsri r0, r2, 1 - 11ac: 6cc7 mov r3, r1 - 11ae: 9824 ld.w r1, (r14, 0x10) - 11b0: 6d40 or r5, r0 - 11b2: 64c4 cmphs r1, r3 - 11b4: 6c97 mov r2, r5 - 11b6: 2400 addi r4, 1 - 11b8: 0fe2 bf 0x117c // 117c <__muldf3+0xf8> - 11ba: 9822 ld.w r1, (r14, 0x8) - 11bc: b838 st.w r1, (r14, 0x60) - 11be: 30ff movi r0, 255 - 11c0: 3100 movi r1, 0 - 11c2: 6808 and r0, r2 - 11c4: 684c and r1, r3 - 11c6: 3480 movi r4, 128 - 11c8: 6502 cmpne r0, r4 - 11ca: 0c37 bf 0x1238 // 1238 <__muldf3+0x1b4> - 11cc: b859 st.w r2, (r14, 0x64) - 11ce: b87a st.w r3, (r14, 0x68) - 11d0: 3303 movi r3, 3 - 11d2: b876 st.w r3, (r14, 0x58) - 11d4: 1816 addi r0, r14, 88 - 11d6: e0000251 bsr 0x1678 // 1678 <__pack_d> - 11da: 141b addi r14, r14, 108 - 11dc: 1494 pop r4-r7, r15 - 11de: 3b42 cmpnei r3, 2 - 11e0: 0c42 bf 0x1264 // 1264 <__muldf3+0x1e0> - 11e2: 9872 ld.w r3, (r14, 0x48) - 11e4: 984d ld.w r2, (r14, 0x34) - 11e6: 64ca cmpne r2, r3 - 11e8: 3300 movi r3, 0 - 11ea: 60cd addc r3, r3 - 11ec: 1811 addi r0, r14, 68 - 11ee: b872 st.w r3, (r14, 0x48) - 11f0: e0000244 bsr 0x1678 // 1678 <__pack_d> - 11f4: 141b addi r14, r14, 108 - 11f6: 1494 pop r4-r7, r15 - 11f8: 3a42 cmpnei r2, 2 - 11fa: 0c35 bf 0x1264 // 1264 <__muldf3+0x1e0> - 11fc: 984d ld.w r2, (r14, 0x34) - 11fe: 9872 ld.w r3, (r14, 0x48) - 1200: 64ca cmpne r2, r3 - 1202: 3300 movi r3, 0 - 1204: 60cd addc r3, r3 - 1206: 180c addi r0, r14, 48 - 1208: b86d st.w r3, (r14, 0x34) - 120a: e0000237 bsr 0x1678 // 1678 <__pack_d> - 120e: 141b addi r14, r14, 108 - 1210: 1494 pop r4-r7, r15 - 1212: 6498 cmphs r6, r2 - 1214: 0b94 bt 0x113c // 113c <__muldf3+0xb8> - 1216: 9882 ld.w r4, (r14, 0x8) - 1218: 98a3 ld.w r5, (r14, 0xc) - 121a: 3201 movi r2, 1 - 121c: 3300 movi r3, 0 - 121e: 6511 cmplt r4, r4 - 1220: 6109 addc r4, r2 - 1222: 614d addc r5, r3 - 1224: b882 st.w r4, (r14, 0x8) - 1226: b8a3 st.w r5, (r14, 0xc) - 1228: 078a br 0x113c // 113c <__muldf3+0xb8> - 122a: 6580 cmphs r0, r6 - 122c: 0b73 bt 0x1112 // 1112 <__muldf3+0x8e> - 122e: 3300 movi r3, 0 - 1230: 3401 movi r4, 1 - 1232: b862 st.w r3, (r14, 0x8) - 1234: b883 st.w r4, (r14, 0xc) - 1236: 0772 br 0x111a // 111a <__muldf3+0x96> - 1238: 3940 cmpnei r1, 0 - 123a: 0bc9 bt 0x11cc // 11cc <__muldf3+0x148> - 123c: 3180 movi r1, 128 - 123e: 4121 lsli r1, r1, 1 - 1240: 6848 and r1, r2 - 1242: 3940 cmpnei r1, 0 - 1244: 0bc4 bt 0x11cc // 11cc <__muldf3+0x148> - 1246: 6c5b mov r1, r6 - 1248: 6c5c or r1, r7 - 124a: 3940 cmpnei r1, 0 - 124c: 0fc0 bf 0x11cc // 11cc <__muldf3+0x148> - 124e: 3080 movi r0, 128 - 1250: 3100 movi r1, 0 - 1252: 6401 cmplt r0, r0 - 1254: 6009 addc r0, r2 - 1256: 604d addc r1, r3 - 1258: 34ff movi r4, 255 - 125a: 6d43 mov r5, r0 - 125c: 6951 andn r5, r4 - 125e: 6c97 mov r2, r5 - 1260: 6cc7 mov r3, r1 - 1262: 07b5 br 0x11cc // 11cc <__muldf3+0x148> - 1264: 1013 lrw r0, 0x5da4 // 12b0 <__muldf3+0x22c> - 1266: 07b8 br 0x11d6 // 11d6 <__muldf3+0x152> - 1268: 1033 lrw r1, 0xfffffff // 12b4 <__muldf3+0x230> - 126a: 64c4 cmphs r1, r3 - 126c: 0fa9 bf 0x11be // 11be <__muldf3+0x13a> - 126e: 2402 addi r4, 3 - 1270: b822 st.w r1, (r14, 0x8) - 1272: 4a1f lsri r0, r2, 31 - 1274: 4321 lsli r1, r3, 1 - 1276: 42a1 lsli r5, r2, 1 - 1278: 6c04 or r0, r1 - 127a: 3fdf btsti r7, 31 - 127c: b880 st.w r4, (r14, 0x0) - 127e: 6c97 mov r2, r5 - 1280: 6cc3 mov r3, r0 - 1282: 0c07 bf 0x1290 // 1290 <__muldf3+0x20c> - 1284: 3001 movi r0, 1 - 1286: 3100 movi r1, 0 - 1288: 6c08 or r0, r2 - 128a: 6c4c or r1, r3 - 128c: 6c83 mov r2, r0 - 128e: 6cc7 mov r3, r1 - 1290: 4721 lsli r1, r7, 1 - 1292: 4e1f lsri r0, r6, 31 - 1294: 6c04 or r0, r1 - 1296: 9822 ld.w r1, (r14, 0x8) - 1298: 46a1 lsli r5, r6, 1 - 129a: 64c4 cmphs r1, r3 - 129c: 6d97 mov r6, r5 - 129e: 6dc3 mov r7, r0 - 12a0: 2c00 subi r4, 1 - 12a2: 0be8 bt 0x1272 // 1272 <__muldf3+0x1ee> - 12a4: 9820 ld.w r1, (r14, 0x0) - 12a6: b838 st.w r1, (r14, 0x60) - 12a8: 078b br 0x11be // 11be <__muldf3+0x13a> - 12aa: 0000 bkpt - 12ac: 1fffffff .long 0x1fffffff - 12b0: 00005da4 .long 0x00005da4 - 12b4: 0fffffff .long 0x0fffffff - -000012b8 <__divdf3>: - 12b8: 14d4 push r4-r7, r15 - 12ba: 1432 subi r14, r14, 72 - 12bc: b804 st.w r0, (r14, 0x10) - 12be: b825 st.w r1, (r14, 0x14) - 12c0: 1804 addi r0, r14, 16 - 12c2: 1908 addi r1, r14, 32 - 12c4: b867 st.w r3, (r14, 0x1c) - 12c6: b846 st.w r2, (r14, 0x18) - 12c8: e00002a6 bsr 0x1814 // 1814 <__unpack_d> - 12cc: 190d addi r1, r14, 52 - 12ce: 1806 addi r0, r14, 24 - 12d0: e00002a2 bsr 0x1814 // 1814 <__unpack_d> - 12d4: 9868 ld.w r3, (r14, 0x20) - 12d6: 3b01 cmphsi r3, 2 - 12d8: 0c66 bf 0x13a4 // 13a4 <__divdf3+0xec> - 12da: 982d ld.w r1, (r14, 0x34) - 12dc: 3901 cmphsi r1, 2 - 12de: 0c92 bf 0x1402 // 1402 <__divdf3+0x14a> - 12e0: 9849 ld.w r2, (r14, 0x24) - 12e2: 980e ld.w r0, (r14, 0x38) - 12e4: 6c81 xor r2, r0 - 12e6: 3b44 cmpnei r3, 4 - 12e8: b849 st.w r2, (r14, 0x24) - 12ea: 0c62 bf 0x13ae // 13ae <__divdf3+0xf6> - 12ec: 3b42 cmpnei r3, 2 - 12ee: 0c60 bf 0x13ae // 13ae <__divdf3+0xf6> - 12f0: 3944 cmpnei r1, 4 - 12f2: 0c62 bf 0x13b6 // 13b6 <__divdf3+0xfe> - 12f4: 3942 cmpnei r1, 2 - 12f6: 0c82 bf 0x13fa // 13fa <__divdf3+0x142> - 12f8: 982a ld.w r1, (r14, 0x28) - 12fa: 986f ld.w r3, (r14, 0x3c) - 12fc: 604e subu r1, r3 - 12fe: 9890 ld.w r4, (r14, 0x40) - 1300: 98b1 ld.w r5, (r14, 0x44) - 1302: 984b ld.w r2, (r14, 0x2c) - 1304: 986c ld.w r3, (r14, 0x30) - 1306: 654c cmphs r3, r5 - 1308: b82a st.w r1, (r14, 0x28) - 130a: 6d93 mov r6, r4 - 130c: 6dd7 mov r7, r5 - 130e: 0c05 bf 0x1318 // 1318 <__divdf3+0x60> - 1310: 64d6 cmpne r5, r3 - 1312: 080b bt 0x1328 // 1328 <__divdf3+0x70> - 1314: 6508 cmphs r2, r4 - 1316: 0809 bt 0x1328 // 1328 <__divdf3+0x70> - 1318: 4a9f lsri r4, r2, 31 - 131a: 4301 lsli r0, r3, 1 - 131c: 42a1 lsli r5, r2, 1 - 131e: 6d00 or r4, r0 - 1320: 2900 subi r1, 1 - 1322: 6c97 mov r2, r5 - 1324: 6cd3 mov r3, r4 - 1326: b82a st.w r1, (r14, 0x28) - 1328: 3000 movi r0, 0 - 132a: 3100 movi r1, 0 - 132c: b802 st.w r0, (r14, 0x8) - 132e: b823 st.w r1, (r14, 0xc) - 1330: 3180 movi r1, 128 - 1332: 343d movi r4, 61 - 1334: 3000 movi r0, 0 - 1336: 4135 lsli r1, r1, 21 - 1338: b8c0 st.w r6, (r14, 0x0) - 133a: b8e1 st.w r7, (r14, 0x4) - 133c: 98a0 ld.w r5, (r14, 0x0) - 133e: 98c1 ld.w r6, (r14, 0x4) - 1340: 658c cmphs r3, r6 - 1342: 0c10 bf 0x1362 // 1362 <__divdf3+0xaa> - 1344: 64da cmpne r6, r3 - 1346: 0803 bt 0x134c // 134c <__divdf3+0x94> - 1348: 6548 cmphs r2, r5 - 134a: 0c0c bf 0x1362 // 1362 <__divdf3+0xaa> - 134c: 98a2 ld.w r5, (r14, 0x8) - 134e: 98c3 ld.w r6, (r14, 0xc) - 1350: 6d40 or r5, r0 - 1352: 6d84 or r6, r1 - 1354: b8a2 st.w r5, (r14, 0x8) - 1356: b8c3 st.w r6, (r14, 0xc) - 1358: 98a0 ld.w r5, (r14, 0x0) - 135a: 98c1 ld.w r6, (r14, 0x4) - 135c: 6488 cmphs r2, r2 - 135e: 6097 subc r2, r5 - 1360: 60db subc r3, r6 - 1362: 41bf lsli r5, r1, 31 - 1364: 48e1 lsri r7, r0, 1 - 1366: 6d97 mov r6, r5 - 1368: 49a1 lsri r5, r1, 1 - 136a: 6d9c or r6, r7 - 136c: 6c57 mov r1, r5 - 136e: 4abf lsri r5, r2, 31 - 1370: 6c1b mov r0, r6 - 1372: 2c00 subi r4, 1 - 1374: 6d97 mov r6, r5 - 1376: 43a1 lsli r5, r3, 1 - 1378: 6d94 or r6, r5 - 137a: 4261 lsli r3, r2, 1 - 137c: 3c40 cmpnei r4, 0 - 137e: 6dcf mov r7, r3 - 1380: 6c8f mov r2, r3 - 1382: 6cdb mov r3, r6 - 1384: 0bdc bt 0x133c // 133c <__divdf3+0x84> - 1386: 30ff movi r0, 255 - 1388: 3100 movi r1, 0 - 138a: 9882 ld.w r4, (r14, 0x8) - 138c: 98a3 ld.w r5, (r14, 0xc) - 138e: 6900 and r4, r0 - 1390: 6944 and r5, r1 - 1392: 6c13 mov r0, r4 - 1394: 6c57 mov r1, r5 - 1396: 3480 movi r4, 128 - 1398: 6502 cmpne r0, r4 - 139a: 0c15 bf 0x13c4 // 13c4 <__divdf3+0x10c> - 139c: 9862 ld.w r3, (r14, 0x8) - 139e: 9883 ld.w r4, (r14, 0xc) - 13a0: b86b st.w r3, (r14, 0x2c) - 13a2: b88c st.w r4, (r14, 0x30) - 13a4: 1808 addi r0, r14, 32 - 13a6: e0000169 bsr 0x1678 // 1678 <__pack_d> - 13aa: 1412 addi r14, r14, 72 - 13ac: 1494 pop r4-r7, r15 - 13ae: 644e cmpne r3, r1 - 13b0: 0bfa bt 0x13a4 // 13a4 <__divdf3+0xec> - 13b2: 1016 lrw r0, 0x5da4 // 1408 <__divdf3+0x150> - 13b4: 07f9 br 0x13a6 // 13a6 <__divdf3+0xee> - 13b6: 3300 movi r3, 0 - 13b8: 3400 movi r4, 0 - 13ba: b86b st.w r3, (r14, 0x2c) - 13bc: b88c st.w r4, (r14, 0x30) - 13be: b86a st.w r3, (r14, 0x28) - 13c0: 1808 addi r0, r14, 32 - 13c2: 07f2 br 0x13a6 // 13a6 <__divdf3+0xee> - 13c4: 3940 cmpnei r1, 0 - 13c6: 0beb bt 0x139c // 139c <__divdf3+0xe4> - 13c8: 3180 movi r1, 128 - 13ca: 4121 lsli r1, r1, 1 - 13cc: 9882 ld.w r4, (r14, 0x8) - 13ce: 98a3 ld.w r5, (r14, 0xc) - 13d0: 6850 and r1, r4 - 13d2: 3940 cmpnei r1, 0 - 13d4: 0be4 bt 0x139c // 139c <__divdf3+0xe4> - 13d6: 6c98 or r2, r6 - 13d8: 3a40 cmpnei r2, 0 - 13da: 0fe1 bf 0x139c // 139c <__divdf3+0xe4> - 13dc: 3280 movi r2, 128 - 13de: 3300 movi r3, 0 - 13e0: 6c13 mov r0, r4 - 13e2: 6c57 mov r1, r5 - 13e4: 6401 cmplt r0, r0 - 13e6: 6009 addc r0, r2 - 13e8: 604d addc r1, r3 - 13ea: 6c83 mov r2, r0 - 13ec: 6cc7 mov r3, r1 - 13ee: 6c0b mov r0, r2 - 13f0: 31ff movi r1, 255 - 13f2: 6805 andn r0, r1 - 13f4: b802 st.w r0, (r14, 0x8) - 13f6: b863 st.w r3, (r14, 0xc) - 13f8: 07d2 br 0x139c // 139c <__divdf3+0xe4> - 13fa: 3304 movi r3, 4 - 13fc: b868 st.w r3, (r14, 0x20) - 13fe: 1808 addi r0, r14, 32 - 1400: 07d3 br 0x13a6 // 13a6 <__divdf3+0xee> - 1402: 180d addi r0, r14, 52 - 1404: 07d1 br 0x13a6 // 13a6 <__divdf3+0xee> - 1406: 0000 bkpt - 1408: 00005da4 .long 0x00005da4 - -0000140c <__gtdf2>: - 140c: 14d0 push r15 - 140e: 142e subi r14, r14, 56 - 1410: b800 st.w r0, (r14, 0x0) - 1412: b821 st.w r1, (r14, 0x4) - 1414: 6c3b mov r0, r14 - 1416: 1904 addi r1, r14, 16 - 1418: b863 st.w r3, (r14, 0xc) - 141a: b842 st.w r2, (r14, 0x8) - 141c: e00001fc bsr 0x1814 // 1814 <__unpack_d> - 1420: 1909 addi r1, r14, 36 - 1422: 1802 addi r0, r14, 8 - 1424: e00001f8 bsr 0x1814 // 1814 <__unpack_d> - 1428: 9864 ld.w r3, (r14, 0x10) - 142a: 3b01 cmphsi r3, 2 - 142c: 0c0a bf 0x1440 // 1440 <__gtdf2+0x34> - 142e: 9869 ld.w r3, (r14, 0x24) - 1430: 3b01 cmphsi r3, 2 - 1432: 0c07 bf 0x1440 // 1440 <__gtdf2+0x34> - 1434: 1909 addi r1, r14, 36 - 1436: 1804 addi r0, r14, 16 - 1438: e0000250 bsr 0x18d8 // 18d8 <__fpcmp_parts_d> - 143c: 140e addi r14, r14, 56 - 143e: 1490 pop r15 - 1440: 3000 movi r0, 0 - 1442: 2800 subi r0, 1 - 1444: 140e addi r14, r14, 56 - 1446: 1490 pop r15 - -00001448 <__gedf2>: - 1448: 14d0 push r15 - 144a: 142e subi r14, r14, 56 - 144c: b800 st.w r0, (r14, 0x0) - 144e: b821 st.w r1, (r14, 0x4) - 1450: 6c3b mov r0, r14 - 1452: 1904 addi r1, r14, 16 - 1454: b863 st.w r3, (r14, 0xc) - 1456: b842 st.w r2, (r14, 0x8) - 1458: e00001de bsr 0x1814 // 1814 <__unpack_d> - 145c: 1909 addi r1, r14, 36 - 145e: 1802 addi r0, r14, 8 - 1460: e00001da bsr 0x1814 // 1814 <__unpack_d> - 1464: 9864 ld.w r3, (r14, 0x10) - 1466: 3b01 cmphsi r3, 2 - 1468: 0c0a bf 0x147c // 147c <__gedf2+0x34> - 146a: 9869 ld.w r3, (r14, 0x24) - 146c: 3b01 cmphsi r3, 2 - 146e: 0c07 bf 0x147c // 147c <__gedf2+0x34> - 1470: 1909 addi r1, r14, 36 - 1472: 1804 addi r0, r14, 16 - 1474: e0000232 bsr 0x18d8 // 18d8 <__fpcmp_parts_d> - 1478: 140e addi r14, r14, 56 - 147a: 1490 pop r15 - 147c: 3000 movi r0, 0 - 147e: 2800 subi r0, 1 - 1480: 140e addi r14, r14, 56 - 1482: 1490 pop r15 - -00001484 <__ledf2>: - 1484: 14d0 push r15 - 1486: 142e subi r14, r14, 56 - 1488: b800 st.w r0, (r14, 0x0) - 148a: b821 st.w r1, (r14, 0x4) - 148c: 6c3b mov r0, r14 - 148e: 1904 addi r1, r14, 16 - 1490: b863 st.w r3, (r14, 0xc) - 1492: b842 st.w r2, (r14, 0x8) - 1494: e00001c0 bsr 0x1814 // 1814 <__unpack_d> - 1498: 1909 addi r1, r14, 36 - 149a: 1802 addi r0, r14, 8 - 149c: e00001bc bsr 0x1814 // 1814 <__unpack_d> - 14a0: 9864 ld.w r3, (r14, 0x10) - 14a2: 3b01 cmphsi r3, 2 - 14a4: 0c0a bf 0x14b8 // 14b8 <__ledf2+0x34> - 14a6: 9869 ld.w r3, (r14, 0x24) - 14a8: 3b01 cmphsi r3, 2 - 14aa: 0c07 bf 0x14b8 // 14b8 <__ledf2+0x34> - 14ac: 1909 addi r1, r14, 36 - 14ae: 1804 addi r0, r14, 16 - 14b0: e0000214 bsr 0x18d8 // 18d8 <__fpcmp_parts_d> - 14b4: 140e addi r14, r14, 56 - 14b6: 1490 pop r15 - 14b8: 3001 movi r0, 1 - 14ba: 140e addi r14, r14, 56 - 14bc: 1490 pop r15 - ... - -000014c0 <__floatsidf>: - 14c0: 14d1 push r4, r15 - 14c2: 1425 subi r14, r14, 20 - 14c4: 3303 movi r3, 3 - 14c6: b860 st.w r3, (r14, 0x0) - 14c8: 3840 cmpnei r0, 0 - 14ca: 487f lsri r3, r0, 31 - 14cc: b861 st.w r3, (r14, 0x4) - 14ce: 0808 bt 0x14de // 14de <__floatsidf+0x1e> - 14d0: 3302 movi r3, 2 - 14d2: b860 st.w r3, (r14, 0x0) - 14d4: 6c3b mov r0, r14 - 14d6: e00000d1 bsr 0x1678 // 1678 <__pack_d> - 14da: 1405 addi r14, r14, 20 - 14dc: 1491 pop r4, r15 - 14de: 38df btsti r0, 31 - 14e0: 0812 bt 0x1504 // 1504 <__floatsidf+0x44> - 14e2: 6d03 mov r4, r0 - 14e4: 6c13 mov r0, r4 - 14e6: e00000a9 bsr 0x1638 // 1638 <__clzsi2> - 14ea: 321d movi r2, 29 - 14ec: 6080 addu r2, r0 - 14ee: 2802 subi r0, 3 - 14f0: 38df btsti r0, 31 - 14f2: 0810 bt 0x1512 // 1512 <__floatsidf+0x52> - 14f4: 7100 lsl r4, r0 - 14f6: 3300 movi r3, 0 - 14f8: b884 st.w r4, (r14, 0x10) - 14fa: b863 st.w r3, (r14, 0xc) - 14fc: 333c movi r3, 60 - 14fe: 60ca subu r3, r2 - 1500: b862 st.w r3, (r14, 0x8) - 1502: 07e9 br 0x14d4 // 14d4 <__floatsidf+0x14> - 1504: 3380 movi r3, 128 - 1506: 4378 lsli r3, r3, 24 - 1508: 64c2 cmpne r0, r3 - 150a: 0c0d bf 0x1524 // 1524 <__floatsidf+0x64> - 150c: 3400 movi r4, 0 - 150e: 6102 subu r4, r0 - 1510: 07ea br 0x14e4 // 14e4 <__floatsidf+0x24> - 1512: 311f movi r1, 31 - 1514: 4c61 lsri r3, r4, 1 - 1516: 604a subu r1, r2 - 1518: 6c13 mov r0, r4 - 151a: 70c5 lsr r3, r1 - 151c: 7008 lsl r0, r2 - 151e: b864 st.w r3, (r14, 0x10) - 1520: b803 st.w r0, (r14, 0xc) - 1522: 07ed br 0x14fc // 14fc <__floatsidf+0x3c> - 1524: 3000 movi r0, 0 - 1526: 1022 lrw r1, 0xc1e00000 // 152c <__floatsidf+0x6c> - 1528: 07d9 br 0x14da // 14da <__floatsidf+0x1a> - 152a: 0000 bkpt - 152c: c1e00000 .long 0xc1e00000 - -00001530 <__fixdfsi>: - 1530: 14d0 push r15 - 1532: 1427 subi r14, r14, 28 - 1534: b800 st.w r0, (r14, 0x0) - 1536: b821 st.w r1, (r14, 0x4) - 1538: 6c3b mov r0, r14 - 153a: 1902 addi r1, r14, 8 - 153c: e000016c bsr 0x1814 // 1814 <__unpack_d> - 1540: 9862 ld.w r3, (r14, 0x8) - 1542: 3b02 cmphsi r3, 3 - 1544: 0c20 bf 0x1584 // 1584 <__fixdfsi+0x54> - 1546: 3b44 cmpnei r3, 4 - 1548: 0c16 bf 0x1574 // 1574 <__fixdfsi+0x44> - 154a: 9864 ld.w r3, (r14, 0x10) - 154c: 3bdf btsti r3, 31 - 154e: 081b bt 0x1584 // 1584 <__fixdfsi+0x54> - 1550: 3b3e cmplti r3, 31 - 1552: 0c11 bf 0x1574 // 1574 <__fixdfsi+0x44> - 1554: 323c movi r2, 60 - 1556: 5a6d subu r3, r2, r3 - 1558: 3200 movi r2, 0 - 155a: 2a1f subi r2, 32 - 155c: 608c addu r2, r3 - 155e: 3adf btsti r2, 31 - 1560: 0815 bt 0x158a // 158a <__fixdfsi+0x5a> - 1562: 9806 ld.w r0, (r14, 0x18) - 1564: 7009 lsr r0, r2 - 1566: 9863 ld.w r3, (r14, 0xc) - 1568: 3b40 cmpnei r3, 0 - 156a: 0c0b bf 0x1580 // 1580 <__fixdfsi+0x50> - 156c: 3300 movi r3, 0 - 156e: 5b01 subu r0, r3, r0 - 1570: 1407 addi r14, r14, 28 - 1572: 1490 pop r15 - 1574: 9863 ld.w r3, (r14, 0xc) - 1576: 3b40 cmpnei r3, 0 - 1578: 3000 movi r0, 0 - 157a: 6001 addc r0, r0 - 157c: 1068 lrw r3, 0x7fffffff // 159c <__fixdfsi+0x6c> - 157e: 600c addu r0, r3 - 1580: 1407 addi r14, r14, 28 - 1582: 1490 pop r15 - 1584: 3000 movi r0, 0 - 1586: 1407 addi r14, r14, 28 - 1588: 1490 pop r15 - 158a: 9846 ld.w r2, (r14, 0x18) - 158c: 311f movi r1, 31 - 158e: 4241 lsli r2, r2, 1 - 1590: 604e subu r1, r3 - 1592: 9805 ld.w r0, (r14, 0x14) - 1594: 7084 lsl r2, r1 - 1596: 700d lsr r0, r3 - 1598: 6c08 or r0, r2 - 159a: 07e6 br 0x1566 // 1566 <__fixdfsi+0x36> - 159c: 7fffffff .long 0x7fffffff - -000015a0 <__floatunsidf>: - 15a0: 14d2 push r4-r5, r15 - 15a2: 1425 subi r14, r14, 20 - 15a4: 3840 cmpnei r0, 0 - 15a6: 3500 movi r5, 0 - 15a8: 6d03 mov r4, r0 - 15aa: b8a1 st.w r5, (r14, 0x4) - 15ac: 0c15 bf 0x15d6 // 15d6 <__floatunsidf+0x36> - 15ae: 3303 movi r3, 3 - 15b0: b860 st.w r3, (r14, 0x0) - 15b2: e0000043 bsr 0x1638 // 1638 <__clzsi2> - 15b6: 321d movi r2, 29 - 15b8: 6080 addu r2, r0 - 15ba: 2802 subi r0, 3 - 15bc: 38df btsti r0, 31 - 15be: 0813 bt 0x15e4 // 15e4 <__floatunsidf+0x44> - 15c0: 7100 lsl r4, r0 - 15c2: b884 st.w r4, (r14, 0x10) - 15c4: b8a3 st.w r5, (r14, 0xc) - 15c6: 333c movi r3, 60 - 15c8: 60ca subu r3, r2 - 15ca: 6c3b mov r0, r14 - 15cc: b862 st.w r3, (r14, 0x8) - 15ce: e0000055 bsr 0x1678 // 1678 <__pack_d> - 15d2: 1405 addi r14, r14, 20 - 15d4: 1492 pop r4-r5, r15 - 15d6: 3302 movi r3, 2 - 15d8: 6c3b mov r0, r14 - 15da: b860 st.w r3, (r14, 0x0) - 15dc: e000004e bsr 0x1678 // 1678 <__pack_d> - 15e0: 1405 addi r14, r14, 20 - 15e2: 1492 pop r4-r5, r15 - 15e4: 311f movi r1, 31 - 15e6: 4c61 lsri r3, r4, 1 - 15e8: 604a subu r1, r2 - 15ea: 70c5 lsr r3, r1 - 15ec: 7108 lsl r4, r2 - 15ee: b864 st.w r3, (r14, 0x10) - 15f0: b883 st.w r4, (r14, 0xc) - 15f2: 07ea br 0x15c6 // 15c6 <__floatunsidf+0x26> - -000015f4 <__muldi3>: - 15f4: 14c4 push r4-r7 - 15f6: 1421 subi r14, r14, 4 - 15f8: 7501 zexth r4, r0 - 15fa: 48b0 lsri r5, r0, 16 - 15fc: 75c9 zexth r7, r2 - 15fe: 6d83 mov r6, r0 - 1600: b820 st.w r1, (r14, 0x0) - 1602: 6c13 mov r0, r4 - 1604: 4a30 lsri r1, r2, 16 - 1606: 7c1c mult r0, r7 - 1608: 7d04 mult r4, r1 - 160a: 7dd4 mult r7, r5 - 160c: 611c addu r4, r7 - 160e: 7d44 mult r5, r1 - 1610: 4830 lsri r1, r0, 16 - 1612: 6104 addu r4, r1 - 1614: 65d0 cmphs r4, r7 - 1616: 0804 bt 0x161e // 161e <__muldi3+0x2a> - 1618: 3180 movi r1, 128 - 161a: 4129 lsli r1, r1, 9 - 161c: 6144 addu r5, r1 - 161e: 4c30 lsri r1, r4, 16 - 1620: 7cd8 mult r3, r6 - 1622: 6144 addu r5, r1 - 1624: 6c4f mov r1, r3 - 1626: 9860 ld.w r3, (r14, 0x0) - 1628: 7cc8 mult r3, r2 - 162a: 4490 lsli r4, r4, 16 - 162c: 604c addu r1, r3 - 162e: 7401 zexth r0, r0 - 1630: 6010 addu r0, r4 - 1632: 6054 addu r1, r5 - 1634: 1401 addi r14, r14, 4 - 1636: 1484 pop r4-r7 - -00001638 <__clzsi2>: - 1638: 106d lrw r3, 0xffff // 166c <__clzsi2+0x34> - 163a: 640c cmphs r3, r0 - 163c: 0c07 bf 0x164a // 164a <__clzsi2+0x12> - 163e: 33ff movi r3, 255 - 1640: 640c cmphs r3, r0 - 1642: 0c0f bf 0x1660 // 1660 <__clzsi2+0x28> - 1644: 3320 movi r3, 32 - 1646: 3200 movi r2, 0 - 1648: 0406 br 0x1654 // 1654 <__clzsi2+0x1c> - 164a: 106a lrw r3, 0xffffff // 1670 <__clzsi2+0x38> - 164c: 640c cmphs r3, r0 - 164e: 080c bt 0x1666 // 1666 <__clzsi2+0x2e> - 1650: 3308 movi r3, 8 - 1652: 3218 movi r2, 24 - 1654: 7009 lsr r0, r2 - 1656: 1048 lrw r2, 0x5db8 // 1674 <__clzsi2+0x3c> - 1658: 6008 addu r0, r2 - 165a: 8040 ld.b r2, (r0, 0x0) - 165c: 5b09 subu r0, r3, r2 - 165e: 783c jmp r15 - 1660: 3318 movi r3, 24 - 1662: 3208 movi r2, 8 - 1664: 07f8 br 0x1654 // 1654 <__clzsi2+0x1c> - 1666: 3310 movi r3, 16 - 1668: 3210 movi r2, 16 - 166a: 07f5 br 0x1654 // 1654 <__clzsi2+0x1c> - 166c: 0000ffff .long 0x0000ffff - 1670: 00ffffff .long 0x00ffffff - 1674: 00005db8 .long 0x00005db8 - -00001678 <__pack_d>: - 1678: 14c4 push r4-r7 - 167a: 1422 subi r14, r14, 8 - 167c: 9060 ld.w r3, (r0, 0x0) - 167e: 3b01 cmphsi r3, 2 - 1680: 90c3 ld.w r6, (r0, 0xc) - 1682: 90e4 ld.w r7, (r0, 0x10) - 1684: 9021 ld.w r1, (r0, 0x4) - 1686: 0c46 bf 0x1712 // 1712 <__pack_d+0x9a> - 1688: 3b44 cmpnei r3, 4 - 168a: 0c40 bf 0x170a // 170a <__pack_d+0x92> - 168c: 3b42 cmpnei r3, 2 - 168e: 0c27 bf 0x16dc // 16dc <__pack_d+0x64> - 1690: 6cdb mov r3, r6 - 1692: 6cdc or r3, r7 - 1694: 3b40 cmpnei r3, 0 - 1696: 0c23 bf 0x16dc // 16dc <__pack_d+0x64> - 1698: 9062 ld.w r3, (r0, 0x8) - 169a: 125a lrw r2, 0xfffffc02 // 1800 <__pack_d+0x188> - 169c: 648d cmplt r3, r2 - 169e: 0855 bt 0x1748 // 1748 <__pack_d+0xd0> - 16a0: 1259 lrw r2, 0x3ff // 1804 <__pack_d+0x18c> - 16a2: 64c9 cmplt r2, r3 - 16a4: 0833 bt 0x170a // 170a <__pack_d+0x92> - 16a6: 34ff movi r4, 255 - 16a8: 3500 movi r5, 0 - 16aa: 6918 and r4, r6 - 16ac: 695c and r5, r7 - 16ae: 3280 movi r2, 128 - 16b0: 6492 cmpne r4, r2 - 16b2: 0c3f bf 0x1730 // 1730 <__pack_d+0xb8> - 16b4: 347f movi r4, 127 - 16b6: 3500 movi r5, 0 - 16b8: 6599 cmplt r6, r6 - 16ba: 6191 addc r6, r4 - 16bc: 61d5 addc r7, r5 - 16be: 1253 lrw r2, 0x1fffffff // 1808 <__pack_d+0x190> - 16c0: 65c8 cmphs r2, r7 - 16c2: 0c1a bf 0x16f6 // 16f6 <__pack_d+0x7e> - 16c4: 1290 lrw r4, 0x3ff // 1804 <__pack_d+0x18c> - 16c6: 610c addu r4, r3 - 16c8: 4718 lsli r0, r7, 24 - 16ca: 4f68 lsri r3, r7, 8 - 16cc: 4e48 lsri r2, r6, 8 - 16ce: 6c80 or r2, r0 - 16d0: 430c lsli r0, r3, 12 - 16d2: 486c lsri r3, r0, 12 - 16d4: 120e lrw r0, 0x7ff // 180c <__pack_d+0x194> - 16d6: 6d4b mov r5, r2 - 16d8: 6900 and r4, r0 - 16da: 0404 br 0x16e2 // 16e2 <__pack_d+0x6a> - 16dc: 3400 movi r4, 0 - 16de: 3200 movi r2, 0 - 16e0: 3300 movi r3, 0 - 16e2: 430c lsli r0, r3, 12 - 16e4: 480c lsri r0, r0, 12 - 16e6: 4474 lsli r3, r4, 20 - 16e8: 419f lsli r4, r1, 31 - 16ea: 6c43 mov r1, r0 - 16ec: 6c4c or r1, r3 - 16ee: 6c50 or r1, r4 - 16f0: 6c0b mov r0, r2 - 16f2: 1402 addi r14, r14, 8 - 16f4: 1484 pop r4-r7 - 16f6: 479f lsli r4, r7, 31 - 16f8: 4e01 lsri r0, r6, 1 - 16fa: 6d00 or r4, r0 - 16fc: 6d93 mov r6, r4 - 16fe: 3480 movi r4, 128 - 1700: 4f41 lsri r2, r7, 1 - 1702: 4483 lsli r4, r4, 3 - 1704: 6dcb mov r7, r2 - 1706: 610c addu r4, r3 - 1708: 07e0 br 0x16c8 // 16c8 <__pack_d+0x50> - 170a: 1281 lrw r4, 0x7ff // 180c <__pack_d+0x194> - 170c: 3200 movi r2, 0 - 170e: 3300 movi r3, 0 - 1710: 07e9 br 0x16e2 // 16e2 <__pack_d+0x6a> - 1712: 4e08 lsri r0, r6, 8 - 1714: 4798 lsli r4, r7, 24 - 1716: 6d00 or r4, r0 - 1718: 3580 movi r5, 128 - 171a: 4705 lsli r0, r7, 5 - 171c: 6c93 mov r2, r4 - 171e: 486d lsri r3, r0, 13 - 1720: 3400 movi r4, 0 - 1722: 45ac lsli r5, r5, 12 - 1724: 6c90 or r2, r4 - 1726: 6cd4 or r3, r5 - 1728: 430c lsli r0, r3, 12 - 172a: 486c lsri r3, r0, 12 - 172c: 1198 lrw r4, 0x7ff // 180c <__pack_d+0x194> - 172e: 07da br 0x16e2 // 16e2 <__pack_d+0x6a> - 1730: 3d40 cmpnei r5, 0 - 1732: 0bc1 bt 0x16b4 // 16b4 <__pack_d+0x3c> - 1734: 4241 lsli r2, r2, 1 - 1736: 6898 and r2, r6 - 1738: 3a40 cmpnei r2, 0 - 173a: 0fc2 bf 0x16be // 16be <__pack_d+0x46> - 173c: 3480 movi r4, 128 - 173e: 3500 movi r5, 0 - 1740: 6599 cmplt r6, r6 - 1742: 6191 addc r6, r4 - 1744: 61d5 addc r7, r5 - 1746: 07bc br 0x16be // 16be <__pack_d+0x46> - 1748: 5a6d subu r3, r2, r3 - 174a: 3238 movi r2, 56 - 174c: 64c9 cmplt r2, r3 - 174e: 0bc7 bt 0x16dc // 16dc <__pack_d+0x64> - 1750: 3200 movi r2, 0 - 1752: 2a1f subi r2, 32 - 1754: 608c addu r2, r3 - 1756: 3adf btsti r2, 31 - 1758: 0848 bt 0x17e8 // 17e8 <__pack_d+0x170> - 175a: 6c1f mov r0, r7 - 175c: 7009 lsr r0, r2 - 175e: b800 st.w r0, (r14, 0x0) - 1760: 3000 movi r0, 0 - 1762: b801 st.w r0, (r14, 0x4) - 1764: 3adf btsti r2, 31 - 1766: 083c bt 0x17de // 17de <__pack_d+0x166> - 1768: 3301 movi r3, 1 - 176a: 70c8 lsl r3, r2 - 176c: 6d4f mov r5, r3 - 176e: 3300 movi r3, 0 - 1770: 6d0f mov r4, r3 - 1772: 3200 movi r2, 0 - 1774: 3300 movi r3, 0 - 1776: 2a00 subi r2, 1 - 1778: 2b00 subi r3, 1 - 177a: 6511 cmplt r4, r4 - 177c: 6109 addc r4, r2 - 177e: 614d addc r5, r3 - 1780: 6990 and r6, r4 - 1782: 69d4 and r7, r5 - 1784: 6d9c or r6, r7 - 1786: 3e40 cmpnei r6, 0 - 1788: 3000 movi r0, 0 - 178a: 6001 addc r0, r0 - 178c: 6c83 mov r2, r0 - 178e: 3300 movi r3, 0 - 1790: 9880 ld.w r4, (r14, 0x0) - 1792: 98a1 ld.w r5, (r14, 0x4) - 1794: 6d08 or r4, r2 - 1796: 6d4c or r5, r3 - 1798: 32ff movi r2, 255 - 179a: 3300 movi r3, 0 - 179c: 6890 and r2, r4 - 179e: 68d4 and r3, r5 - 17a0: 3080 movi r0, 128 - 17a2: 640a cmpne r2, r0 - 17a4: 081b bt 0x17da // 17da <__pack_d+0x162> - 17a6: 3b40 cmpnei r3, 0 - 17a8: 0819 bt 0x17da // 17da <__pack_d+0x162> - 17aa: 3380 movi r3, 128 - 17ac: 4361 lsli r3, r3, 1 - 17ae: 68d0 and r3, r4 - 17b0: 3b40 cmpnei r3, 0 - 17b2: 0c06 bf 0x17be // 17be <__pack_d+0x146> - 17b4: 3280 movi r2, 128 - 17b6: 3300 movi r3, 0 - 17b8: 6511 cmplt r4, r4 - 17ba: 6109 addc r4, r2 - 17bc: 614d addc r5, r3 - 17be: 4518 lsli r0, r5, 24 - 17c0: 4c48 lsri r2, r4, 8 - 17c2: 4d68 lsri r3, r5, 8 - 17c4: 1093 lrw r4, 0xfffffff // 1810 <__pack_d+0x198> - 17c6: 6c80 or r2, r0 - 17c8: 6550 cmphs r4, r5 - 17ca: 430c lsli r0, r3, 12 - 17cc: 486c lsri r3, r0, 12 - 17ce: 3001 movi r0, 1 - 17d0: 0c02 bf 0x17d4 // 17d4 <__pack_d+0x15c> - 17d2: 3000 movi r0, 0 - 17d4: 108e lrw r4, 0x7ff // 180c <__pack_d+0x194> - 17d6: 6900 and r4, r0 - 17d8: 0785 br 0x16e2 // 16e2 <__pack_d+0x6a> - 17da: 327f movi r2, 127 - 17dc: 07ed br 0x17b6 // 17b6 <__pack_d+0x13e> - 17de: 3201 movi r2, 1 - 17e0: 708c lsl r2, r3 - 17e2: 3500 movi r5, 0 - 17e4: 6d0b mov r4, r2 - 17e6: 07c6 br 0x1772 // 1772 <__pack_d+0xfa> - 17e8: 341f movi r4, 31 - 17ea: 610e subu r4, r3 - 17ec: 4701 lsli r0, r7, 1 - 17ee: 7010 lsl r0, r4 - 17f0: 6d1b mov r4, r6 - 17f2: 710d lsr r4, r3 - 17f4: 6d00 or r4, r0 - 17f6: 6c1f mov r0, r7 - 17f8: 700d lsr r0, r3 - 17fa: b880 st.w r4, (r14, 0x0) - 17fc: b801 st.w r0, (r14, 0x4) - 17fe: 07b3 br 0x1764 // 1764 <__pack_d+0xec> - 1800: fffffc02 .long 0xfffffc02 - 1804: 000003ff .long 0x000003ff - 1808: 1fffffff .long 0x1fffffff - 180c: 000007ff .long 0x000007ff - 1810: 0fffffff .long 0x0fffffff - -00001814 <__unpack_d>: - 1814: 1423 subi r14, r14, 12 - 1816: b880 st.w r4, (r14, 0x0) - 1818: b8c1 st.w r6, (r14, 0x4) - 181a: b8e2 st.w r7, (r14, 0x8) - 181c: 8843 ld.h r2, (r0, 0x6) - 181e: 4251 lsli r2, r2, 17 - 1820: 9061 ld.w r3, (r0, 0x4) - 1822: 9080 ld.w r4, (r0, 0x0) - 1824: 4a55 lsri r2, r2, 21 - 1826: 8007 ld.b r0, (r0, 0x7) - 1828: 436c lsli r3, r3, 12 - 182a: 4807 lsri r0, r0, 7 - 182c: 3a40 cmpnei r2, 0 - 182e: 4b6c lsri r3, r3, 12 - 1830: b101 st.w r0, (r1, 0x4) - 1832: 0819 bt 0x1864 // 1864 <__unpack_d+0x50> - 1834: 6c93 mov r2, r4 - 1836: 6c8c or r2, r3 - 1838: 3a40 cmpnei r2, 0 - 183a: 0c2d bf 0x1894 // 1894 <__unpack_d+0x80> - 183c: 4c58 lsri r2, r4, 24 - 183e: 4368 lsli r3, r3, 8 - 1840: 6cc8 or r3, r2 - 1842: 3203 movi r2, 3 - 1844: 4408 lsli r0, r4, 8 - 1846: b140 st.w r2, (r1, 0x0) - 1848: 1181 lrw r4, 0xfffffc01 // 18cc <__unpack_d+0xb8> - 184a: 11c2 lrw r6, 0xfffffff // 18d0 <__unpack_d+0xbc> - 184c: 485f lsri r2, r0, 31 - 184e: 4361 lsli r3, r3, 1 - 1850: 6cc8 or r3, r2 - 1852: 64d8 cmphs r6, r3 - 1854: 6c93 mov r2, r4 - 1856: 4001 lsli r0, r0, 1 - 1858: 2c00 subi r4, 1 - 185a: 0bf9 bt 0x184c // 184c <__unpack_d+0x38> - 185c: b142 st.w r2, (r1, 0x8) - 185e: b103 st.w r0, (r1, 0xc) - 1860: b164 st.w r3, (r1, 0x10) - 1862: 0414 br 0x188a // 188a <__unpack_d+0x76> - 1864: 101c lrw r0, 0x7ff // 18d4 <__unpack_d+0xc0> - 1866: 640a cmpne r2, r0 - 1868: 0c19 bf 0x189a // 189a <__unpack_d+0x86> - 186a: 1019 lrw r0, 0xfffffc01 // 18cc <__unpack_d+0xb8> - 186c: 6080 addu r2, r0 - 186e: b142 st.w r2, (r1, 0x8) - 1870: 3203 movi r2, 3 - 1872: 43e8 lsli r7, r3, 8 - 1874: b140 st.w r2, (r1, 0x0) - 1876: 3380 movi r3, 128 - 1878: 4c58 lsri r2, r4, 24 - 187a: 6dc8 or r7, r2 - 187c: 44c8 lsli r6, r4, 8 - 187e: 3200 movi r2, 0 - 1880: 4375 lsli r3, r3, 21 - 1882: 6d88 or r6, r2 - 1884: 6dcc or r7, r3 - 1886: b1c3 st.w r6, (r1, 0xc) - 1888: b1e4 st.w r7, (r1, 0x10) - 188a: 98e2 ld.w r7, (r14, 0x8) - 188c: 98c1 ld.w r6, (r14, 0x4) - 188e: 9880 ld.w r4, (r14, 0x0) - 1890: 1403 addi r14, r14, 12 - 1892: 783c jmp r15 - 1894: 3302 movi r3, 2 - 1896: b160 st.w r3, (r1, 0x0) - 1898: 07f9 br 0x188a // 188a <__unpack_d+0x76> - 189a: 6c93 mov r2, r4 - 189c: 6c8c or r2, r3 - 189e: 3a40 cmpnei r2, 0 - 18a0: 0c10 bf 0x18c0 // 18c0 <__unpack_d+0xac> - 18a2: 3280 movi r2, 128 - 18a4: 424c lsli r2, r2, 12 - 18a6: 688c and r2, r3 - 18a8: 3a40 cmpnei r2, 0 - 18aa: 0c0e bf 0x18c6 // 18c6 <__unpack_d+0xb2> - 18ac: 3201 movi r2, 1 - 18ae: b140 st.w r2, (r1, 0x0) - 18b0: 4c58 lsri r2, r4, 24 - 18b2: 4368 lsli r3, r3, 8 - 18b4: 6cc8 or r3, r2 - 18b6: 4408 lsli r0, r4, 8 - 18b8: 3b9b bclri r3, 27 - 18ba: b103 st.w r0, (r1, 0xc) - 18bc: b164 st.w r3, (r1, 0x10) - 18be: 07e6 br 0x188a // 188a <__unpack_d+0x76> - 18c0: 3304 movi r3, 4 - 18c2: b160 st.w r3, (r1, 0x0) - 18c4: 07e3 br 0x188a // 188a <__unpack_d+0x76> - 18c6: b140 st.w r2, (r1, 0x0) - 18c8: 07f4 br 0x18b0 // 18b0 <__unpack_d+0x9c> - 18ca: 0000 bkpt - 18cc: fffffc01 .long 0xfffffc01 - 18d0: 0fffffff .long 0x0fffffff - 18d4: 000007ff .long 0x000007ff - -000018d8 <__fpcmp_parts_d>: - 18d8: 14c1 push r4 - 18da: 9060 ld.w r3, (r0, 0x0) - 18dc: 3b01 cmphsi r3, 2 - 18de: 0c12 bf 0x1902 // 1902 <__fpcmp_parts_d+0x2a> - 18e0: 9140 ld.w r2, (r1, 0x0) - 18e2: 3a01 cmphsi r2, 2 - 18e4: 0c0f bf 0x1902 // 1902 <__fpcmp_parts_d+0x2a> - 18e6: 3b44 cmpnei r3, 4 - 18e8: 0c17 bf 0x1916 // 1916 <__fpcmp_parts_d+0x3e> - 18ea: 3a44 cmpnei r2, 4 - 18ec: 0c0f bf 0x190a // 190a <__fpcmp_parts_d+0x32> - 18ee: 3b42 cmpnei r3, 2 - 18f0: 0c0b bf 0x1906 // 1906 <__fpcmp_parts_d+0x2e> - 18f2: 3a42 cmpnei r2, 2 - 18f4: 0c13 bf 0x191a // 191a <__fpcmp_parts_d+0x42> - 18f6: 9061 ld.w r3, (r0, 0x4) - 18f8: 9141 ld.w r2, (r1, 0x4) - 18fa: 648e cmpne r3, r2 - 18fc: 0c14 bf 0x1924 // 1924 <__fpcmp_parts_d+0x4c> - 18fe: 3b40 cmpnei r3, 0 - 1900: 0808 bt 0x1910 // 1910 <__fpcmp_parts_d+0x38> - 1902: 3001 movi r0, 1 - 1904: 1481 pop r4 - 1906: 3a42 cmpnei r2, 2 - 1908: 0c28 bf 0x1958 // 1958 <__fpcmp_parts_d+0x80> - 190a: 9161 ld.w r3, (r1, 0x4) - 190c: 3b40 cmpnei r3, 0 - 190e: 0bfa bt 0x1902 // 1902 <__fpcmp_parts_d+0x2a> - 1910: 3000 movi r0, 0 - 1912: 2800 subi r0, 1 - 1914: 1481 pop r4 - 1916: 3a44 cmpnei r2, 4 - 1918: 0c22 bf 0x195c // 195c <__fpcmp_parts_d+0x84> - 191a: 9061 ld.w r3, (r0, 0x4) - 191c: 3b40 cmpnei r3, 0 - 191e: 0bf9 bt 0x1910 // 1910 <__fpcmp_parts_d+0x38> - 1920: 3001 movi r0, 1 - 1922: 07f1 br 0x1904 // 1904 <__fpcmp_parts_d+0x2c> - 1924: 9082 ld.w r4, (r0, 0x8) - 1926: 9142 ld.w r2, (r1, 0x8) - 1928: 6509 cmplt r2, r4 - 192a: 0bea bt 0x18fe // 18fe <__fpcmp_parts_d+0x26> - 192c: 6491 cmplt r4, r2 - 192e: 080d bt 0x1948 // 1948 <__fpcmp_parts_d+0x70> - 1930: 9044 ld.w r2, (r0, 0x10) - 1932: 9083 ld.w r4, (r0, 0xc) - 1934: 9103 ld.w r0, (r1, 0xc) - 1936: 9124 ld.w r1, (r1, 0x10) - 1938: 6484 cmphs r1, r2 - 193a: 0fe2 bf 0x18fe // 18fe <__fpcmp_parts_d+0x26> - 193c: 644a cmpne r2, r1 - 193e: 0803 bt 0x1944 // 1944 <__fpcmp_parts_d+0x6c> - 1940: 6500 cmphs r0, r4 - 1942: 0fde bf 0x18fe // 18fe <__fpcmp_parts_d+0x26> - 1944: 6448 cmphs r2, r1 - 1946: 0805 bt 0x1950 // 1950 <__fpcmp_parts_d+0x78> - 1948: 3b40 cmpnei r3, 0 - 194a: 0fe3 bf 0x1910 // 1910 <__fpcmp_parts_d+0x38> - 194c: 3001 movi r0, 1 - 194e: 07db br 0x1904 // 1904 <__fpcmp_parts_d+0x2c> - 1950: 6486 cmpne r1, r2 - 1952: 0803 bt 0x1958 // 1958 <__fpcmp_parts_d+0x80> - 1954: 6410 cmphs r4, r0 - 1956: 0ff9 bf 0x1948 // 1948 <__fpcmp_parts_d+0x70> - 1958: 3000 movi r0, 0 - 195a: 1481 pop r4 - 195c: 9161 ld.w r3, (r1, 0x4) - 195e: 9041 ld.w r2, (r0, 0x4) - 1960: 5b09 subu r0, r3, r2 - 1962: 1481 pop r4 - -00001964 <__memset_fast>: - 1964: 14c3 push r4-r6 - 1966: 7444 zextb r1, r1 - 1968: 3a40 cmpnei r2, 0 - 196a: 0c1f bf 0x19a8 // 19a8 <__memset_fast+0x44> - 196c: 6d43 mov r5, r0 - 196e: 6d03 mov r4, r0 - 1970: 3603 movi r6, 3 - 1972: 6918 and r4, r6 - 1974: 3c40 cmpnei r4, 0 - 1976: 0c1a bf 0x19aa // 19aa <__memset_fast+0x46> - 1978: a520 st.b r1, (r5, 0x0) - 197a: 2a00 subi r2, 1 - 197c: 3a40 cmpnei r2, 0 - 197e: 0c15 bf 0x19a8 // 19a8 <__memset_fast+0x44> - 1980: 2500 addi r5, 1 - 1982: 6d17 mov r4, r5 - 1984: 3603 movi r6, 3 - 1986: 6918 and r4, r6 - 1988: 3c40 cmpnei r4, 0 - 198a: 0c10 bf 0x19aa // 19aa <__memset_fast+0x46> - 198c: a520 st.b r1, (r5, 0x0) - 198e: 2a00 subi r2, 1 - 1990: 3a40 cmpnei r2, 0 - 1992: 0c0b bf 0x19a8 // 19a8 <__memset_fast+0x44> - 1994: 2500 addi r5, 1 - 1996: 6d17 mov r4, r5 - 1998: 3603 movi r6, 3 - 199a: 6918 and r4, r6 - 199c: 3c40 cmpnei r4, 0 - 199e: 0c06 bf 0x19aa // 19aa <__memset_fast+0x46> - 19a0: a520 st.b r1, (r5, 0x0) - 19a2: 2a00 subi r2, 1 - 19a4: 2500 addi r5, 1 - 19a6: 0402 br 0x19aa // 19aa <__memset_fast+0x46> - 19a8: 1483 pop r4-r6 - 19aa: 4168 lsli r3, r1, 8 - 19ac: 6c4c or r1, r3 - 19ae: 4170 lsli r3, r1, 16 - 19b0: 6c4c or r1, r3 - 19b2: 3a2f cmplti r2, 16 - 19b4: 0809 bt 0x19c6 // 19c6 <__memset_fast+0x62> - 19b6: b520 st.w r1, (r5, 0x0) - 19b8: b521 st.w r1, (r5, 0x4) - 19ba: b522 st.w r1, (r5, 0x8) - 19bc: b523 st.w r1, (r5, 0xc) - 19be: 2a0f subi r2, 16 - 19c0: 250f addi r5, 16 - 19c2: 3a2f cmplti r2, 16 - 19c4: 0ff9 bf 0x19b6 // 19b6 <__memset_fast+0x52> - 19c6: 3a23 cmplti r2, 4 - 19c8: 0806 bt 0x19d4 // 19d4 <__memset_fast+0x70> - 19ca: 2a03 subi r2, 4 - 19cc: b520 st.w r1, (r5, 0x0) - 19ce: 2503 addi r5, 4 - 19d0: 3a23 cmplti r2, 4 - 19d2: 0ffc bf 0x19ca // 19ca <__memset_fast+0x66> - 19d4: 3a40 cmpnei r2, 0 - 19d6: 0fe9 bf 0x19a8 // 19a8 <__memset_fast+0x44> - 19d8: 2a00 subi r2, 1 - 19da: a520 st.b r1, (r5, 0x0) - 19dc: 3a40 cmpnei r2, 0 - 19de: 0fe5 bf 0x19a8 // 19a8 <__memset_fast+0x44> - 19e0: 2a00 subi r2, 1 - 19e2: a521 st.b r1, (r5, 0x1) - 19e4: 3a40 cmpnei r2, 0 - 19e6: 0fe1 bf 0x19a8 // 19a8 <__memset_fast+0x44> - 19e8: a522 st.b r1, (r5, 0x2) - 19ea: 1483 pop r4-r6 - -000019ec <__memcpy_fast>: - 19ec: 14c3 push r4-r6 - 19ee: 6d83 mov r6, r0 - 19f0: 6d07 mov r4, r1 - 19f2: 6d18 or r4, r6 - 19f4: 3303 movi r3, 3 - 19f6: 690c and r4, r3 - 19f8: 3c40 cmpnei r4, 0 - 19fa: 0c0b bf 0x1a10 // 1a10 <__memcpy_fast+0x24> - 19fc: 3a40 cmpnei r2, 0 - 19fe: 0c08 bf 0x1a0e // 1a0e <__memcpy_fast+0x22> - 1a00: 8160 ld.b r3, (r1, 0x0) - 1a02: 2100 addi r1, 1 - 1a04: 2a00 subi r2, 1 - 1a06: a660 st.b r3, (r6, 0x0) - 1a08: 2600 addi r6, 1 - 1a0a: 3a40 cmpnei r2, 0 - 1a0c: 0bfa bt 0x1a00 // 1a00 <__memcpy_fast+0x14> - 1a0e: 1483 pop r4-r6 - 1a10: 3a2f cmplti r2, 16 - 1a12: 080e bt 0x1a2e // 1a2e <__memcpy_fast+0x42> - 1a14: 91a0 ld.w r5, (r1, 0x0) - 1a16: 9161 ld.w r3, (r1, 0x4) - 1a18: 9182 ld.w r4, (r1, 0x8) - 1a1a: b6a0 st.w r5, (r6, 0x0) - 1a1c: 91a3 ld.w r5, (r1, 0xc) - 1a1e: b661 st.w r3, (r6, 0x4) - 1a20: b682 st.w r4, (r6, 0x8) - 1a22: b6a3 st.w r5, (r6, 0xc) - 1a24: 2a0f subi r2, 16 - 1a26: 210f addi r1, 16 - 1a28: 260f addi r6, 16 - 1a2a: 3a2f cmplti r2, 16 - 1a2c: 0ff4 bf 0x1a14 // 1a14 <__memcpy_fast+0x28> - 1a2e: 3a23 cmplti r2, 4 - 1a30: 0808 bt 0x1a40 // 1a40 <__memcpy_fast+0x54> - 1a32: 9160 ld.w r3, (r1, 0x0) - 1a34: 2a03 subi r2, 4 - 1a36: 2103 addi r1, 4 - 1a38: b660 st.w r3, (r6, 0x0) - 1a3a: 2603 addi r6, 4 - 1a3c: 3a23 cmplti r2, 4 - 1a3e: 0ffa bf 0x1a32 // 1a32 <__memcpy_fast+0x46> - 1a40: 3a40 cmpnei r2, 0 - 1a42: 0fe6 bf 0x1a0e // 1a0e <__memcpy_fast+0x22> - 1a44: 8160 ld.b r3, (r1, 0x0) - 1a46: 2100 addi r1, 1 - 1a48: 2a00 subi r2, 1 - 1a4a: a660 st.b r3, (r6, 0x0) - 1a4c: 2600 addi r6, 1 - 1a4e: 07f9 br 0x1a40 // 1a40 <__memcpy_fast+0x54> - -Disassembly of section .text.__main: - -00001a50 <__main>: -extern char _bss_start[]; -extern char _ebss[]; - - -void __main( void ) -{ - 1a50: 14d0 push r15 - - /* if the start of data (dst) - is not equal to end of text (src) then - copy it, else it's already in the right place - */ - if( _start_data != _end_rodata ) { - 1a52: 1009 lrw r0, 0x20000000 // 1a74 <__main+0x24> - 1a54: 1029 lrw r1, 0x5fdc // 1a78 <__main+0x28> - 1a56: 6442 cmpne r0, r1 - 1a58: 0c05 bf 0x1a62 // 1a62 <__main+0x12> -// __memcpy_fast( dst, src, (_end_data - _start_data)); - memcpy( dst, src, (_end_data - _start_data)); - 1a5a: 1049 lrw r2, 0x200000a8 // 1a7c <__main+0x2c> - 1a5c: 6082 subu r2, r0 - 1a5e: e3ffffc7 bsr 0x19ec // 19ec <__memcpy_fast> - } - - /* zero the bss - */ - if( _ebss - _bss_start ) { - 1a62: 1048 lrw r2, 0x200007d4 // 1a80 <__main+0x30> - 1a64: 1008 lrw r0, 0x200000a8 // 1a84 <__main+0x34> - 1a66: 640a cmpne r2, r0 - 1a68: 0c05 bf 0x1a72 // 1a72 <__main+0x22> -// __memset_fast( _bss_start, 0x00, ( _ebss - _bss_start )); - memset( _bss_start, 0x00, ( _ebss - _bss_start )); - 1a6a: 6082 subu r2, r0 - 1a6c: 3100 movi r1, 0 - 1a6e: e3ffff7b bsr 0x1964 // 1964 <__memset_fast> - } - - -} - 1a72: 1490 pop r15 - 1a74: 20000000 .long 0x20000000 - 1a78: 00005fdc .long 0x00005fdc - 1a7c: 200000a8 .long 0x200000a8 - 1a80: 200007d4 .long 0x200007d4 - 1a84: 200000a8 .long 0x200000a8 - -Disassembly of section .text.SYSCON_General_CMD.part.0: - -00001a88 : -/*************************************************************/ -void SYSCON_General_CMD(FunctionalStatus NewState, SYSCON_General_CMD_TypeDef ENDIS_X ) -{ - if (NewState != DISABLE) - { - if(ENDIS_X==ENDIS_EMOSC) - 1a88: 3848 cmpnei r0, 8 - 1a8a: 080a bt 0x1a9e // 1a9e - GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFF00FFF)|0x00044000; //enable EMOSC PIN - 1a8c: 107a lrw r3, 0x2000004c // 1af4 - 1a8e: 32ff movi r2, 255 - 1a90: 9320 ld.w r1, (r3, 0x0) - 1a92: 9160 ld.w r3, (r1, 0x0) - 1a94: 424c lsli r2, r2, 12 - 1a96: 68c9 andn r3, r2 - 1a98: 3bae bseti r3, 14 - 1a9a: 3bb2 bseti r3, 18 - 1a9c: b160 st.w r3, (r1, 0x0) - SYSCON->GCER|=ENDIS_X; //enable SYSCON General Control - 1a9e: 1077 lrw r3, 0x2000005c // 1af8 - 1aa0: 9360 ld.w r3, (r3, 0x0) - 1aa2: 9341 ld.w r2, (r3, 0x4) - 1aa4: 6c80 or r2, r0 - 1aa6: b341 st.w r2, (r3, 0x4) - while(!(SYSCON->GCSR&ENDIS_X)); //check Enable? - 1aa8: 9343 ld.w r2, (r3, 0xc) - 1aaa: 6880 and r2, r0 - 1aac: 3a40 cmpnei r2, 0 - 1aae: 0ffd bf 0x1aa8 // 1aa8 - switch(ENDIS_X) - 1ab0: 3842 cmpnei r0, 2 - 1ab2: 0807 bt 0x1ac0 // 1ac0 - { - case ENDIS_IMOSC: - while (!(SYSCON->CKST & ENDIS_IMOSC)); - 1ab4: 3102 movi r1, 2 - 1ab6: 9344 ld.w r2, (r3, 0x10) - 1ab8: 6884 and r2, r1 - 1aba: 3a40 cmpnei r2, 0 - 1abc: 0ffd bf 0x1ab6 // 1ab6 - { - SYSCON->GCDR|=ENDIS_X; //disable SYSCON General Control - while(SYSCON->GCSR&ENDIS_X); //check Disable? - SYSCON->ICR|=ENDIS_X; //Clear ENDIS_X stable bit - } -} - 1abe: 783c jmp r15 - switch(ENDIS_X) - 1ac0: 3802 cmphsi r0, 3 - 1ac2: 0809 bt 0x1ad4 // 1ad4 - 1ac4: 3841 cmpnei r0, 1 - 1ac6: 0bfc bt 0x1abe // 1abe - while (!(SYSCON->CKST & ENDIS_ISOSC)); - 1ac8: 3101 movi r1, 1 - 1aca: 9344 ld.w r2, (r3, 0x10) - 1acc: 6884 and r2, r1 - 1ace: 3a40 cmpnei r2, 0 - 1ad0: 0ffd bf 0x1aca // 1aca - 1ad2: 07f6 br 0x1abe // 1abe - switch(ENDIS_X) - 1ad4: 3848 cmpnei r0, 8 - 1ad6: 0807 bt 0x1ae4 // 1ae4 - while (!(SYSCON->CKST & ENDIS_EMOSC)); - 1ad8: 3108 movi r1, 8 - 1ada: 9344 ld.w r2, (r3, 0x10) - 1adc: 6884 and r2, r1 - 1ade: 3a40 cmpnei r2, 0 - 1ae0: 0ffd bf 0x1ada // 1ada - 1ae2: 07ee br 0x1abe // 1abe - switch(ENDIS_X) - 1ae4: 3850 cmpnei r0, 16 - 1ae6: 0bec bt 0x1abe // 1abe - while (!(SYSCON->CKST & ENDIS_HFOSC)); - 1ae8: 3110 movi r1, 16 - 1aea: 9344 ld.w r2, (r3, 0x10) - 1aec: 6884 and r2, r1 - 1aee: 3a40 cmpnei r2, 0 - 1af0: 0ffd bf 0x1aea // 1aea - 1af2: 07e6 br 0x1abe // 1abe - 1af4: 2000004c .long 0x2000004c - 1af8: 2000005c .long 0x2000005c - -Disassembly of section .text.SYSCON_RST_VALUE: - -00001afc : - SYSCON->RAMCHK=SYSCON_RAMCHK_RST; - 1afc: 106c lrw r3, 0x2000005c // 1b2c - 1afe: 104d lrw r2, 0xffff // 1b30 - 1b00: 9360 ld.w r3, (r3, 0x0) - 1b02: b345 st.w r2, (r3, 0x14) - SYSCON->EFLCHK=SYSCON_EFLCHK_RST; - 1b04: 104c lrw r2, 0xffffff // 1b34 - 1b06: b346 st.w r2, (r3, 0x18) - SYSCON->SCLKCR=SYSCON_SCLKCR_RST; - 1b08: 104c lrw r2, 0xd22d0000 // 1b38 - 1b0a: b347 st.w r2, (r3, 0x1c) - SYSCON->OSTR=SYSCON_OSTR_RST; - 1b0c: 104c lrw r2, 0x70ff3bff // 1b3c - 1b0e: b350 st.w r2, (r3, 0x40) - SYSCON->LVDCR=SYSCON_LVDCR_RST; - 1b10: 320a movi r2, 10 - 1b12: b353 st.w r2, (r3, 0x4c) - SYSCON->IWDCR=SYSCON_IWDCR_RST; - 1b14: 102b lrw r1, 0x70c // 1b40 - SYSCON->EXIRT=SYSCON_EXIRT_RST; - 1b16: 237f addi r3, 128 - 1b18: 3200 movi r2, 0 - 1b1a: b345 st.w r2, (r3, 0x14) - SYSCON->EXIFT=SYSCON_EXIFT_RST; - 1b1c: b346 st.w r2, (r3, 0x18) - SYSCON->IWDCR=SYSCON_IWDCR_RST; - 1b1e: b32d st.w r1, (r3, 0x34) - SYSCON->IWDCNT=SYSCON_IWDCNT_RST; - 1b20: 1029 lrw r1, 0x3fe // 1b44 - 1b22: b32e st.w r1, (r3, 0x38) - SYSCON->EVTRG=SYSCON_EVTRG_RST; - 1b24: b35d st.w r2, (r3, 0x74) - SYSCON->EVPS=SYSCON_EVPS_RST; - 1b26: b35e st.w r2, (r3, 0x78) - SYSCON->EVSWF=SYSCON_EVSWF_RST; - 1b28: b35f st.w r2, (r3, 0x7c) -} - 1b2a: 783c jmp r15 - 1b2c: 2000005c .long 0x2000005c - 1b30: 0000ffff .long 0x0000ffff - 1b34: 00ffffff .long 0x00ffffff - 1b38: d22d0000 .long 0xd22d0000 - 1b3c: 70ff3bff .long 0x70ff3bff - 1b40: 0000070c .long 0x0000070c - 1b44: 000003fe .long 0x000003fe - -Disassembly of section .text.SYSCON_General_CMD: - -00001b48 : -{ - 1b48: 14d0 push r15 - if (NewState != DISABLE) - 1b4a: 3840 cmpnei r0, 0 - 1b4c: 0c05 bf 0x1b56 // 1b56 - 1b4e: 6c07 mov r0, r1 - 1b50: e3ffff9c bsr 0x1a88 // 1a88 -} - 1b54: 1490 pop r15 - SYSCON->GCDR|=ENDIS_X; //disable SYSCON General Control - 1b56: 1068 lrw r3, 0x2000005c // 1b74 - 1b58: 9360 ld.w r3, (r3, 0x0) - 1b5a: 9342 ld.w r2, (r3, 0x8) - 1b5c: 6c84 or r2, r1 - 1b5e: b342 st.w r2, (r3, 0x8) - while(SYSCON->GCSR&ENDIS_X); //check Disable? - 1b60: 9343 ld.w r2, (r3, 0xc) - 1b62: 6884 and r2, r1 - 1b64: 3a40 cmpnei r2, 0 - 1b66: 0bfd bt 0x1b60 // 1b60 - SYSCON->ICR|=ENDIS_X; //Clear ENDIS_X stable bit - 1b68: 237f addi r3, 128 - 1b6a: 9301 ld.w r0, (r3, 0x4) - 1b6c: 6c40 or r1, r0 - 1b6e: b321 st.w r1, (r3, 0x4) -} - 1b70: 07f2 br 0x1b54 // 1b54 - 1b72: 0000 bkpt - 1b74: 2000005c .long 0x2000005c - -Disassembly of section .text.SystemCLK_HCLKDIV_PCLKDIV_Config: - -00001b78 : -//SystemClk_data_x:EMOSC_24M,EMOSC_16M,EMOSC_12M,EMOSC_8M,EMOSC_4M,EMOSC_36K, -//ISOSC,IMOSC,HFOSC_48M,HFOSC_24M,HFOSC_12M,HFOSC_6M -//ReturnValue:NONE -/*************************************************************/ -void SystemCLK_HCLKDIV_PCLKDIV_Config(SystemCLK_TypeDef SYSCLK_X , SystemCLK_Div_TypeDef HCLK_DIV_X , PCLK_Div_TypeDef PCLK_DIV_X , SystemClk_data_TypeDef SystemClk_data_x ) -{ - 1b78: 14c2 push r4-r5 - if(SystemClk_data_x==HFOSC_48M) - 1b7a: 3b48 cmpnei r3, 8 - 1b7c: 0828 bt 0x1bcc // 1bcc - { - IFC->CEDR=0X01; //CLKEN - 1b7e: 109d lrw r4, 0x20000060 // 1bf0 - 1b80: 3501 movi r5, 1 - 1b82: 9480 ld.w r4, (r4, 0x0) - 1b84: b4a1 st.w r5, (r4, 0x4) - IFC->MR=0X04|(0X00<<16); //High speed mode - 1b86: 3504 movi r5, 4 - 1b88: b4a5 st.w r5, (r4, 0x14) - if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==HFOSC_24M)) - { - IFC->CEDR=0X01; //CLKEN - IFC->MR=0X02|(0X00<<16); //Medium speed mode - } - if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==EMOSC_16M)) - 1b8a: 5b83 subi r4, r3, 1 - 1b8c: 3c01 cmphsi r4, 2 - 1b8e: 0c2b bf 0x1be4 // 1be4 - { - IFC->CEDR=0X01; //CLKEN - IFC->MR=0X01|(0X00<<16); //Low speed mode - } - if((SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K) - ||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_6M)) - 1b90: 5b8b subi r4, r3, 3 - if((SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K) - 1b92: 3c04 cmphsi r4, 5 - 1b94: 0c03 bf 0x1b9a // 1b9a - ||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_6M)) - 1b96: 3b4b cmpnei r3, 11 - 1b98: 0807 bt 0x1ba6 // 1ba6 - { - IFC->CEDR=0X01; //CLKEN - 1b9a: 1076 lrw r3, 0x20000060 // 1bf0 - 1b9c: 3401 movi r4, 1 - 1b9e: 9360 ld.w r3, (r3, 0x0) - 1ba0: b381 st.w r4, (r3, 0x4) - IFC->MR=0X00|(0X00<<16); //Low speed mode - 1ba2: 3400 movi r4, 0 - 1ba4: b385 st.w r4, (r3, 0x14) - } - SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X; - 1ba6: 1094 lrw r4, 0xd22d0000 // 1bf4 - 1ba8: 6c10 or r0, r4 - 1baa: 1074 lrw r3, 0x2000005c // 1bf8 - 1bac: 6c40 or r1, r0 - 1bae: 9360 ld.w r3, (r3, 0x0) - while (!(SYSCON->CKST & (1<<8))); // waiting for sysclk stable - 1bb0: 3080 movi r0, 128 - SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X; - 1bb2: b327 st.w r1, (r3, 0x1c) - while (!(SYSCON->CKST & (1<<8))); // waiting for sysclk stable - 1bb4: 4001 lsli r0, r0, 1 - 1bb6: 9324 ld.w r1, (r3, 0x10) - 1bb8: 6840 and r1, r0 - 1bba: 3940 cmpnei r1, 0 - 1bbc: 0ffd bf 0x1bb6 // 1bb6 - SYSCON->PCLKCR=PCLK_KEY|PCLK_DIV_X; //PCLK DIV 1 2 4 6 8 16 - 1bbe: 1030 lrw r1, 0xc33c0000 // 1bfc - 1bc0: 6c48 or r1, r2 - 1bc2: b328 st.w r1, (r3, 0x20) - while(SYSCON->PCLKCR!=PCLK_DIV_X); //Wait PCLK DIV - 1bc4: 9328 ld.w r1, (r3, 0x20) - 1bc6: 644a cmpne r2, r1 - 1bc8: 0bfe bt 0x1bc4 // 1bc4 -} - 1bca: 1482 pop r4-r5 - if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==HFOSC_24M)) - 1bcc: 3b40 cmpnei r3, 0 - 1bce: 0c03 bf 0x1bd4 // 1bd4 - 1bd0: 3b49 cmpnei r3, 9 - 1bd2: 0807 bt 0x1be0 // 1be0 - IFC->CEDR=0X01; //CLKEN - 1bd4: 1087 lrw r4, 0x20000060 // 1bf0 - 1bd6: 3501 movi r5, 1 - 1bd8: 9480 ld.w r4, (r4, 0x0) - 1bda: b4a1 st.w r5, (r4, 0x4) - IFC->MR=0X02|(0X00<<16); //Medium speed mode - 1bdc: 3502 movi r5, 2 - 1bde: b4a5 st.w r5, (r4, 0x14) - if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==EMOSC_16M)) - 1be0: 3b4a cmpnei r3, 10 - 1be2: 0bd4 bt 0x1b8a // 1b8a - IFC->CEDR=0X01; //CLKEN - 1be4: 1083 lrw r4, 0x20000060 // 1bf0 - 1be6: 3501 movi r5, 1 - 1be8: 9480 ld.w r4, (r4, 0x0) - 1bea: b4a1 st.w r5, (r4, 0x4) - IFC->MR=0X01|(0X00<<16); //Low speed mode - 1bec: b4a5 st.w r5, (r4, 0x14) - 1bee: 07d1 br 0x1b90 // 1b90 - 1bf0: 20000060 .long 0x20000060 - 1bf4: d22d0000 .long 0xd22d0000 - 1bf8: 2000005c .long 0x2000005c - 1bfc: c33c0000 .long 0xc33c0000 - -Disassembly of section .text.SYSCON_HFOSC_SELECTE: - -00001c00 : -//EntryParameter:HFOSC_SELECTE_X -//HFOSC_SELECTE_X:HFOSC_SELECTE_48M,HFOSC_SELECTE_24M;HFOSC_SELECTE_12M;HFOSC_SELECTE_6M -//ReturnValue:NONE -/*************************************************************/ -void SYSCON_HFOSC_SELECTE(HFOSC_SELECTE_TypeDef HFOSC_SELECTE_X) -{ - 1c00: 14d1 push r4, r15 - 1c02: 6d03 mov r4, r0 - SYSCON_General_CMD(DISABLE,ENDIS_HFOSC); //disable HFOSC - 1c04: 3110 movi r1, 16 - 1c06: 3000 movi r0, 0 - 1c08: e3ffffa0 bsr 0x1b48 // 1b48 - SYSCON->OPT1 = (SYSCON->OPT1 & 0XFFFFFFCF)|HFOSC_SELECTE_X; - 1c0c: 1066 lrw r3, 0x2000005c // 1c24 - 1c0e: 9360 ld.w r3, (r3, 0x0) - 1c10: 9319 ld.w r0, (r3, 0x64) - 1c12: 3884 bclri r0, 4 - 1c14: 3885 bclri r0, 5 - 1c16: 6c10 or r0, r4 - 1c18: b319 st.w r0, (r3, 0x64) - 1c1a: 3010 movi r0, 16 - 1c1c: e3ffff36 bsr 0x1a88 // 1a88 - SYSCON_General_CMD(ENABLE,ENDIS_HFOSC); //enable HFOSC -} - 1c20: 1491 pop r4, r15 - 1c22: 0000 bkpt - 1c24: 2000005c .long 0x2000005c - -Disassembly of section .text.SYSCON_WDT_CMD: - -00001c28 : -//EntryParameter:,NewState -//NewState:ENABLE,DISABLE -//ReturnValue:NONE -/*************************************************************/ -void SYSCON_WDT_CMD(FunctionalStatus NewState) -{ - 1c28: 106c lrw r3, 0x2000005c // 1c58 - if(NewState != DISABLE) - 1c2a: 3840 cmpnei r0, 0 - { - SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT; - 1c2c: 9360 ld.w r3, (r3, 0x0) - 1c2e: 237f addi r3, 128 - if(NewState != DISABLE) - 1c30: 0c0a bf 0x1c44 // 1c44 - SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT; - 1c32: 104b lrw r2, 0x78870000 // 1c5c - while(!(SYSCON->IWDCR&Check_IWDT_BUSY)); - 1c34: 3180 movi r1, 128 - SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT; - 1c36: b34f st.w r2, (r3, 0x3c) - while(!(SYSCON->IWDCR&Check_IWDT_BUSY)); - 1c38: 4125 lsli r1, r1, 5 - 1c3a: 934d ld.w r2, (r3, 0x34) - 1c3c: 6884 and r2, r1 - 1c3e: 3a40 cmpnei r2, 0 - 1c40: 0ffd bf 0x1c3a // 1c3a - else - { - SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT; - while(SYSCON->IWDCR&Check_IWDT_BUSY); - } -} - 1c42: 783c jmp r15 - SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT; - 1c44: 1047 lrw r2, 0x788755aa // 1c60 - while(SYSCON->IWDCR&Check_IWDT_BUSY); - 1c46: 3180 movi r1, 128 - SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT; - 1c48: b34f st.w r2, (r3, 0x3c) - while(SYSCON->IWDCR&Check_IWDT_BUSY); - 1c4a: 4125 lsli r1, r1, 5 - 1c4c: 934d ld.w r2, (r3, 0x34) - 1c4e: 6884 and r2, r1 - 1c50: 3a40 cmpnei r2, 0 - 1c52: 0bfd bt 0x1c4c // 1c4c - 1c54: 07f7 br 0x1c42 // 1c42 - 1c56: 0000 bkpt - 1c58: 2000005c .long 0x2000005c - 1c5c: 78870000 .long 0x78870000 - 1c60: 788755aa .long 0x788755aa - -Disassembly of section .text.SYSCON_IWDCNT_Reload: - -00001c64 : -//EntryParameter:NONE -//ReturnValue: NONE -/*************************************************************/ -void SYSCON_IWDCNT_Reload(void) -{ - SYSCON->IWDCNT=CLR_IWDT; - 1c64: 1064 lrw r3, 0x2000005c // 1c74 - 1c66: 32b4 movi r2, 180 - 1c68: 9360 ld.w r3, (r3, 0x0) - 1c6a: 237f addi r3, 128 - 1c6c: 4257 lsli r2, r2, 23 - 1c6e: b34e st.w r2, (r3, 0x38) -} - 1c70: 783c jmp r15 - 1c72: 0000 bkpt - 1c74: 2000005c .long 0x2000005c - -Disassembly of section .text.SYSCON_IWDCNT_Config: - -00001c78 : -//IWDT_INTW_DIV_X:IWDT_INTW_DIV_1/2/3/4/4/5/6 -//ReturnValue: NONE -/*************************************************************/ -void SYSCON_IWDCNT_Config(IWDT_TIME_TypeDef IWDT_TIME_X , IWDT_TIMEDIV_TypeDef IWDT_INTW_DIV_X ) -{ - SYSCON->IWDCR=IWDT_KEY|IWDT_TIME_X|IWDT_INTW_DIV_X; - 1c78: 1044 lrw r2, 0x87780000 // 1c88 - 1c7a: 1065 lrw r3, 0x2000005c // 1c8c - 1c7c: 6c48 or r1, r2 - 1c7e: 9360 ld.w r3, (r3, 0x0) - 1c80: 6c04 or r0, r1 - 1c82: 237f addi r3, 128 - 1c84: b30d st.w r0, (r3, 0x34) -} - 1c86: 783c jmp r15 - 1c88: 87780000 .long 0x87780000 - 1c8c: 2000005c .long 0x2000005c - -Disassembly of section .text.SYSCON_LVD_Config: - -00001c90 : -//X_LVD_INT:ENABLE_LVD_INT,DISABLE_LVD_INT -//INTDET_POL_X:INTDET_POL_fall,INTDET_POL_X_rise,INTDET_POL_X_riseORfall -//ReturnValue: NONE -/*************************************************************/ -void SYSCON_LVD_Config(X_LVDEN_TypeDef X_LVDEN , INTDET_LVL_X_TypeDef INTDET_LVL_X , RSTDET_LVL_X_TypeDef RSTDET_LVL_X , X_LVD_INT_TypeDef X_LVD_INT , INTDET_POL_X_TypeDef INTDET_POL_X) -{ - 1c90: 14c3 push r4-r6 - 1c92: 9883 ld.w r4, (r14, 0xc) - //SYSCON->LVDCR=LVD_KEY; - SYSCON->LVDCR=LVD_KEY|X_LVDEN|INTDET_LVL_X|RSTDET_LVL_X|X_LVD_INT|INTDET_POL_X; - 1c94: 10c5 lrw r6, 0xb44b0000 // 1ca8 - 1c96: 6d18 or r4, r6 - 1c98: 6cd0 or r3, r4 - 1c9a: 6c8c or r2, r3 - 1c9c: 6c48 or r1, r2 - 1c9e: 10a4 lrw r5, 0x2000005c // 1cac - 1ca0: 6c04 or r0, r1 - 1ca2: 95a0 ld.w r5, (r5, 0x0) - 1ca4: b513 st.w r0, (r5, 0x4c) -} - 1ca6: 1483 pop r4-r6 - 1ca8: b44b0000 .long 0xb44b0000 - 1cac: 2000005c .long 0x2000005c - -Disassembly of section .text.LVD_Int_Enable: - -00001cb0 : -//EntryParameter:NONE -//ReturnValue: NONE -/*************************************************************/ -void LVD_Int_Enable(void) -{ - SYSCON->ICR = LVD_INT_ST; //clear LVD INT status - 1cb0: 1066 lrw r3, 0x2000005c // 1cc8 - 1cb2: 3180 movi r1, 128 - 1cb4: 9360 ld.w r3, (r3, 0x0) - 1cb6: 3280 movi r2, 128 - 1cb8: 604c addu r1, r3 - 1cba: 4244 lsli r2, r2, 4 - 1cbc: b141 st.w r2, (r1, 0x4) - SYSCON->IMER |= LVD_INT_ST; - 1cbe: 935d ld.w r2, (r3, 0x74) - 1cc0: 3aab bseti r2, 11 - 1cc2: b35d st.w r2, (r3, 0x74) -} - 1cc4: 783c jmp r15 - 1cc6: 0000 bkpt - 1cc8: 2000005c .long 0x2000005c - -Disassembly of section .text.IWDT_Int_Enable: - -00001ccc : -//EntryParameter:NONE -//ReturnValue: NONE -/*************************************************************/ -void IWDT_Int_Enable(void) -{ - SYSCON->ICR = IWDT_INT_ST; //clear LVD INT status - 1ccc: 1066 lrw r3, 0x2000005c // 1ce4 - 1cce: 3180 movi r1, 128 - 1cd0: 9360 ld.w r3, (r3, 0x0) - 1cd2: 3280 movi r2, 128 - 1cd4: 604c addu r1, r3 - 1cd6: 4241 lsli r2, r2, 1 - 1cd8: b141 st.w r2, (r1, 0x4) - SYSCON->IMER |= IWDT_INT_ST; - 1cda: 935d ld.w r2, (r3, 0x74) - 1cdc: 3aa8 bseti r2, 8 - 1cde: b35d st.w r2, (r3, 0x74) -} - 1ce0: 783c jmp r15 - 1ce2: 0000 bkpt - 1ce4: 2000005c .long 0x2000005c - -Disassembly of section .text.EXTI_trigger_CMD: - -00001ce8 : -//EXI_tringer_mode:_EXIRT,_EXIFT -//ReturnValue: LVD detection flag -/*************************************************************/ -void EXTI_trigger_CMD(FunctionalStatus NewState , SYSCON_EXIPIN_TypeDef EXIPIN , EXI_tringer_mode_TypeDef EXI_tringer_mode) -{ - switch(EXI_tringer_mode) - 1ce8: 3a40 cmpnei r2, 0 - 1cea: 0c04 bf 0x1cf2 // 1cf2 - 1cec: 3a41 cmpnei r2, 1 - 1cee: 0c0e bf 0x1d0a // 1d0a - { - SYSCON->EXIFT &=~EXIPIN; - } - break; - } -} - 1cf0: 783c jmp r15 - 1cf2: 106d lrw r3, 0x2000005c // 1d24 - if(NewState != DISABLE) - 1cf4: 3840 cmpnei r0, 0 - SYSCON->EXIRT |=EXIPIN; - 1cf6: 9360 ld.w r3, (r3, 0x0) - 1cf8: 237f addi r3, 128 - 1cfa: 9345 ld.w r2, (r3, 0x14) - if(NewState != DISABLE) - 1cfc: 0c04 bf 0x1d04 // 1d04 - SYSCON->EXIRT |=EXIPIN; - 1cfe: 6c48 or r1, r2 - 1d00: b325 st.w r1, (r3, 0x14) - 1d02: 07f7 br 0x1cf0 // 1cf0 - SYSCON->EXIRT &=~EXIPIN; - 1d04: 6885 andn r2, r1 - 1d06: b345 st.w r2, (r3, 0x14) - 1d08: 07f4 br 0x1cf0 // 1cf0 - 1d0a: 1067 lrw r3, 0x2000005c // 1d24 - if(NewState != DISABLE) - 1d0c: 3840 cmpnei r0, 0 - SYSCON->EXIFT |=EXIPIN; - 1d0e: 9360 ld.w r3, (r3, 0x0) - 1d10: 237f addi r3, 128 - 1d12: 9346 ld.w r2, (r3, 0x18) - if(NewState != DISABLE) - 1d14: 0c04 bf 0x1d1c // 1d1c - SYSCON->EXIFT |=EXIPIN; - 1d16: 6c48 or r1, r2 - 1d18: b326 st.w r1, (r3, 0x18) - 1d1a: 07eb br 0x1cf0 // 1cf0 - SYSCON->EXIFT &=~EXIPIN; - 1d1c: 6885 andn r2, r1 - 1d1e: b346 st.w r2, (r3, 0x18) -} - 1d20: 07e8 br 0x1cf0 // 1cf0 - 1d22: 0000 bkpt - 1d24: 2000005c .long 0x2000005c - -Disassembly of section .text.EXTI_interrupt_CMD: - -00001d28 : -//NewState:ENABLE,DISABLE -//ReturnValue:NONE -/*************************************************************/ -void EXTI_interrupt_CMD(FunctionalStatus NewState , SYSCON_EXIPIN_TypeDef EXIPIN) -{ - SYSCON->EXICR = 0X3FFF; //Claer EXI INT status - 1d28: 106b lrw r3, 0x2000005c // 1d54 - 1d2a: 104c lrw r2, 0x3fff // 1d58 - 1d2c: 9360 ld.w r3, (r3, 0x0) - 1d2e: 237f addi r3, 128 - if(NewState != DISABLE) - 1d30: 3840 cmpnei r0, 0 - SYSCON->EXICR = 0X3FFF; //Claer EXI INT status - 1d32: b34b st.w r2, (r3, 0x2c) - if(NewState != DISABLE) - 1d34: 0c0c bf 0x1d4c // 1d4c - { - SYSCON->EXIER|=EXIPIN; //EXI4 interrupt enable - 1d36: 9347 ld.w r2, (r3, 0x1c) - 1d38: 6c84 or r2, r1 - 1d3a: b347 st.w r2, (r3, 0x1c) - while(!(SYSCON->EXIMR&EXIPIN)); //Check EXI is enabled or not - 1d3c: 9349 ld.w r2, (r3, 0x24) - 1d3e: 6884 and r2, r1 - 1d40: 3a40 cmpnei r2, 0 - 1d42: 0ffd bf 0x1d3c // 1d3c - SYSCON->EXICR |=EXIPIN; // Clear EXI status bit - 1d44: 934b ld.w r2, (r3, 0x2c) - 1d46: 6c48 or r1, r2 - 1d48: b32b st.w r1, (r3, 0x2c) - } - else - { - SYSCON->EXIDR|=EXIPIN; - } -} - 1d4a: 783c jmp r15 - SYSCON->EXIDR|=EXIPIN; - 1d4c: 9348 ld.w r2, (r3, 0x20) - 1d4e: 6c48 or r1, r2 - 1d50: b328 st.w r1, (r3, 0x20) -} - 1d52: 07fc br 0x1d4a // 1d4a - 1d54: 2000005c .long 0x2000005c - 1d58: 00003fff .long 0x00003fff - -Disassembly of section .text.GPIO_EXTI_interrupt: - -00001d5c : -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void GPIO_EXTI_interrupt(CSP_GPIO_T * GPIOX,U32_T GPIO_IECR_VALUE) -{ - GPIOX->IECR=GPIO_IECR_VALUE; - 1d5c: b02b st.w r1, (r0, 0x2c) -} - 1d5e: 783c jmp r15 - -Disassembly of section .text.EXI3_Int_Enable: - -00001d60 : -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void EXI3_Int_Enable(void) -{ - INTC_ISER_WRITE(EXI3_INT); - 1d60: 3380 movi r3, 128 - 1d62: 436f lsli r3, r3, 15 - 1d64: 1042 lrw r2, 0xe000e100 // 1d6c - 1d66: b260 st.w r3, (r2, 0x0) -} - 1d68: 783c jmp r15 - 1d6a: 0000 bkpt - 1d6c: e000e100 .long 0xe000e100 - -Disassembly of section .text.SYSCON_Int_Enable: - -00001d70 : -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void SYSCON_Int_Enable(void) -{ - INTC_ISER_WRITE(SYSCON_INT); - 1d70: 3202 movi r2, 2 - 1d72: 1062 lrw r3, 0xe000e100 // 1d78 - 1d74: b340 st.w r2, (r3, 0x0) -} - 1d76: 783c jmp r15 - 1d78: e000e100 .long 0xe000e100 - -Disassembly of section .text.SYSCON_Int_Disable: - -00001d7c : -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void SYSCON_Int_Disable(void) -{ - INTC_ICER_WRITE(SYSCON_INT); - 1d7c: 3202 movi r2, 2 - 1d7e: 1062 lrw r3, 0xe000e180 // 1d84 - 1d80: b340 st.w r2, (r3, 0x0) -} - 1d82: 783c jmp r15 - 1d84: e000e180 .long 0xe000e180 - -Disassembly of section .text.SYSCON_INT_Priority: - -00001d88 : -//80:Priority 2 -//C0:Priority 3 lowest -/*************************************************************/ -void SYSCON_INT_Priority(void) -{ - INTC_IPR0_WRITE(0XC0C0C0C0); //IQR0-3 low bit-->high bit - 1d88: 1066 lrw r3, 0xe000e400 // 1da0 - 1d8a: 1047 lrw r2, 0xc0c0c0c0 // 1da4 - INTC_IPR1_WRITE(0XC0C0C0C0); //IQR4-7 - INTC_IPR2_WRITE(0XC0C0C0C0); //IQR8-11 - INTC_IPR3_WRITE(0XC0C0C0C0); //IQR12-15 - INTC_IPR4_WRITE(0XC0C0C0C0); //IQR16-19 - INTC_IPR5_WRITE(0XC0C0C0C0); //IQR20-23 - INTC_IPR6_WRITE(0XC0C000C0); //IQR24-27 - 1d8c: 1027 lrw r1, 0xc0c000c0 // 1da8 - INTC_IPR0_WRITE(0XC0C0C0C0); //IQR0-3 low bit-->high bit - 1d8e: b340 st.w r2, (r3, 0x0) - INTC_IPR1_WRITE(0XC0C0C0C0); //IQR4-7 - 1d90: b341 st.w r2, (r3, 0x4) - INTC_IPR2_WRITE(0XC0C0C0C0); //IQR8-11 - 1d92: b342 st.w r2, (r3, 0x8) - INTC_IPR3_WRITE(0XC0C0C0C0); //IQR12-15 - 1d94: b343 st.w r2, (r3, 0xc) - INTC_IPR4_WRITE(0XC0C0C0C0); //IQR16-19 - 1d96: b344 st.w r2, (r3, 0x10) - INTC_IPR5_WRITE(0XC0C0C0C0); //IQR20-23 - 1d98: b345 st.w r2, (r3, 0x14) - INTC_IPR6_WRITE(0XC0C000C0); //IQR24-27 - 1d9a: b326 st.w r1, (r3, 0x18) - INTC_IPR7_WRITE(0XC0C0C0C0); //IQR28-31 - 1d9c: b347 st.w r2, (r3, 0x1c) -} - 1d9e: 783c jmp r15 - 1da0: e000e400 .long 0xe000e400 - 1da4: c0c0c0c0 .long 0xc0c0c0c0 - 1da8: c0c000c0 .long 0xc0c000c0 - -Disassembly of section .text.Set_INT_Priority: - -00001dac : -//int_name:CORET_IRQ~BT1_IRQ -//int_level:0~3 0=highest 3=lowest -//ReturnValue:None -/*************************************************************/ -void Set_INT_Priority(U8_T int_name,U8_T int_level) -{ - 1dac: 14c1 push r4 - 1dae: 4862 lsri r3, r0, 2 - 1db0: 4342 lsli r2, r3, 2 - 1db2: 106a lrw r3, 0x20000064 // 1dd8 - U8_T i_temp,j_temp; - U32_T k_temp; - i_temp=(int_name%4)*8; - 1db4: 3403 movi r4, 3 - 1db6: 9360 ld.w r3, (r3, 0x0) - 1db8: 60c8 addu r3, r2 - j_temp=int_name/4; - k_temp=CK801 -> IPR[j_temp]&(~(0xff< IPR[j_temp]&(~(0xff< IPR[j_temp]=k_temp|((int_level*0x40)<<(i_temp)); - 1dca: 4126 lsli r1, r1, 6 - k_temp=CK801 -> IPR[j_temp]&(~(0xff< IPR[j_temp]=k_temp|((int_level*0x40)<<(i_temp)); - 1dce: 7040 lsl r1, r0 - 1dd0: 6c48 or r1, r2 - 1dd2: b320 st.w r1, (r3, 0x0) -} - 1dd4: 1481 pop r4 - 1dd6: 0000 bkpt - 1dd8: 20000064 .long 0x20000064 - -Disassembly of section .text.GPIO_DeInit: - -00001ddc : -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void GPIO_DeInit(void) -{ - GPIOA0->CONLR &= 0xFF000000; - 1ddc: 1075 lrw r3, 0x2000004c // 1e30 - GPIOA0->CONHR = GPIO_RESET_VALUE; - GPIOB0->CONLR = GPIO_RESET_VALUE; - 1dde: 1036 lrw r1, 0x20000048 // 1e34 - GPIOB0->CODR = GPIO_RESET_VALUE; - GPIOA0->ODSR = GPIO_RESET_VALUE; - GPIOB0->ODSR = GPIO_RESET_VALUE; - GPIOA0->PSDR = GPIO_RESET_VALUE; - GPIOB0->PSDR = GPIO_RESET_VALUE; - GPIOA0->FLTEN = 0xffff; - 1de0: 1016 lrw r0, 0xffff // 1e38 - GPIOA0->CONLR &= 0xFF000000; - 1de2: 9340 ld.w r2, (r3, 0x0) - 1de4: 9260 ld.w r3, (r2, 0x0) - 1de6: 4b78 lsri r3, r3, 24 - 1de8: 4378 lsli r3, r3, 24 - 1dea: b260 st.w r3, (r2, 0x0) - GPIOB0->CONLR = GPIO_RESET_VALUE; - 1dec: 9120 ld.w r1, (r1, 0x0) - GPIOA0->CONHR = GPIO_RESET_VALUE; - 1dee: 3300 movi r3, 0 - 1df0: b261 st.w r3, (r2, 0x4) - GPIOB0->CONLR = GPIO_RESET_VALUE; - 1df2: b160 st.w r3, (r1, 0x0) - GPIOB0->CONHR = GPIO_RESET_VALUE; - 1df4: b161 st.w r3, (r1, 0x4) - GPIOA0->WODR = GPIO_RESET_VALUE; - 1df6: b262 st.w r3, (r2, 0x8) - GPIOB0->WODR = GPIO_RESET_VALUE; - 1df8: b162 st.w r3, (r1, 0x8) - GPIOA0->SODR = GPIO_RESET_VALUE; - 1dfa: b263 st.w r3, (r2, 0xc) - GPIOB0->SODR = GPIO_RESET_VALUE; - 1dfc: b163 st.w r3, (r1, 0xc) - GPIOA0->CODR = GPIO_RESET_VALUE; - 1dfe: b264 st.w r3, (r2, 0x10) - GPIOB0->CODR = GPIO_RESET_VALUE; - 1e00: b164 st.w r3, (r1, 0x10) - GPIOA0->ODSR = GPIO_RESET_VALUE; - 1e02: b265 st.w r3, (r2, 0x14) - GPIOB0->ODSR = GPIO_RESET_VALUE; - 1e04: b165 st.w r3, (r1, 0x14) - GPIOA0->PSDR = GPIO_RESET_VALUE; - 1e06: b266 st.w r3, (r2, 0x18) - GPIOB0->PSDR = GPIO_RESET_VALUE; - 1e08: b166 st.w r3, (r1, 0x18) - GPIOA0->FLTEN = 0xffff; - 1e0a: b207 st.w r0, (r2, 0x1c) - GPIOB0->FLTEN = 0x3f; - 1e0c: 303f movi r0, 63 - 1e0e: b107 st.w r0, (r1, 0x1c) - GPIOA0->PUDR = GPIO_RESET_VALUE; - 1e10: b268 st.w r3, (r2, 0x20) - GPIOB0->PUDR = GPIO_RESET_VALUE; - 1e12: b168 st.w r3, (r1, 0x20) - GPIOA0->DSCR = GPIO_RESET_VALUE; - 1e14: b269 st.w r3, (r2, 0x24) - GPIOB0->DSCR = GPIO_RESET_VALUE; - 1e16: b169 st.w r3, (r1, 0x24) - GPIOA0->OMCR = GPIO_RESET_VALUE; - 1e18: b26a st.w r3, (r2, 0x28) - GPIOB0->OMCR = GPIO_RESET_VALUE; - 1e1a: b16a st.w r3, (r1, 0x28) - GPIOA0->IECR = GPIO_RESET_VALUE; - 1e1c: b26b st.w r3, (r2, 0x2c) - GPIOB0->IECR = GPIO_RESET_VALUE; - 1e1e: b16b st.w r3, (r1, 0x2c) - GPIOGRP->IGRPL = GPIO_RESET_VALUE; - 1e20: 1047 lrw r2, 0x20000044 // 1e3c - 1e22: 9240 ld.w r2, (r2, 0x0) - 1e24: b260 st.w r3, (r2, 0x0) - GPIOGRP->IGRPH = GPIO_RESET_VALUE; - 1e26: b261 st.w r3, (r2, 0x4) - GPIOGRP->IGREX = GPIO_RESET_VALUE; - 1e28: b262 st.w r3, (r2, 0x8) - GPIOGRP->IO_CLKEN = 0xf; - 1e2a: 330f movi r3, 15 - 1e2c: b263 st.w r3, (r2, 0xc) -} - 1e2e: 783c jmp r15 - 1e30: 2000004c .long 0x2000004c - 1e34: 20000048 .long 0x20000048 - 1e38: 0000ffff .long 0x0000ffff - 1e3c: 20000044 .long 0x20000044 - -Disassembly of section .text.GPIO_Init: - -00001e40 : -//byte:Lowbyte(PIN_0~7),Highbyte(PIN_8~15) -//Dir:0:output 1:input -//ReturnValue:NONE -/*************************************************************/ -void GPIO_Init(CSP_GPIO_T *GPIOx,uint8_t PinNum,GPIO_Dir_TypeDef Dir) -{ - 1e40: 14d1 push r4, r15 - uint32_t data_temp; - uint8_t GPIO_Pin; - if(PinNum<8) - 1e42: 3907 cmphsi r1, 8 -{ - 1e44: 6d03 mov r4, r0 - if(PinNum<8) - 1e46: 0830 bt 0x1ea6 // 1ea6 - { - switch (PinNum) - 1e48: 5903 subi r0, r1, 1 - 1e4a: 3806 cmphsi r0, 7 - 1e4c: 0827 bt 0x1e9a // 1e9a - 1e4e: e3fff757 bsr 0xcfc // cfc <___gnu_csky_case_uqi> - 1e52: 1004 .short 0x1004 - 1e54: 1d1a1613 .long 0x1d1a1613 - 1e58: 0021 .short 0x0021 - { - case 0:data_temp=0xfffffff0;GPIO_Pin=0;break; - case 1:data_temp=0xffffff0f;GPIO_Pin=4;break; - 1e5a: 3300 movi r3, 0 - 1e5c: 3104 movi r1, 4 - 1e5e: 2bf0 subi r3, 241 - case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break; - case 5:data_temp=0xff0fffff;GPIO_Pin=20;break; - case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break; - case 7:data_temp=0x0fffffff;GPIO_Pin=28;break; - } - if (Dir) - 1e60: 3a40 cmpnei r2, 0 - { - (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1< - (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1<CONLR = ((GPIOx)->CONLR & data_temp) | 2<CONHR = ((GPIOx)->CONHR & data_temp) | 2< - 1e76: 07f5 br 0x1e60 // 1e60 - case 3:data_temp=0xffff0fff;GPIO_Pin=12;break; - 1e78: 310c movi r1, 12 - 1e7a: 1166 lrw r3, 0xffff0fff // 1f10 - 1e7c: 07f2 br 0x1e60 // 1e60 - case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break; - 1e7e: 3110 movi r1, 16 - 1e80: 1165 lrw r3, 0xfff10000 // 1f14 - case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break; - 1e82: 2b00 subi r3, 1 - 1e84: 07ee br 0x1e60 // 1e60 - case 5:data_temp=0xff0fffff;GPIO_Pin=20;break; - 1e86: 3114 movi r1, 20 - 1e88: 1164 lrw r3, 0xff100000 // 1f18 - 1e8a: 07fc br 0x1e82 // 1e82 - case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break; - 1e8c: 33f1 movi r3, 241 - 1e8e: 3118 movi r1, 24 - 1e90: 4378 lsli r3, r3, 24 - 1e92: 07f8 br 0x1e82 // 1e82 - case 7:data_temp=0x0fffffff;GPIO_Pin=28;break; - 1e94: 311c movi r1, 28 - 1e96: 1162 lrw r3, 0xfffffff // 1f1c - 1e98: 07e4 br 0x1e60 // 1e60 - case 0:data_temp=0xfffffff0;GPIO_Pin=0;break; - 1e9a: 3300 movi r3, 0 - 1e9c: 3100 movi r1, 0 - 1e9e: 2b0f subi r3, 16 - 1ea0: 07e0 br 0x1e60 // 1e60 - (GPIOx)->CONLR = ((GPIOx)->CONLR & data_temp) | 2< - else if (PinNum<16) - 1ea6: 390f cmphsi r1, 16 - 1ea8: 0be4 bt 0x1e70 // 1e70 - switch (PinNum) - 1eaa: 2908 subi r1, 9 - 1eac: 3906 cmphsi r1, 7 - 1eae: 6c07 mov r0, r1 - 1eb0: 0827 bt 0x1efe // 1efe - 1eb2: e3fff725 bsr 0xcfc // cfc <___gnu_csky_case_uqi> - 1eb6: 1004 .short 0x1004 - 1eb8: 1d1a1613 .long 0x1d1a1613 - 1ebc: 0021 .short 0x0021 - case 9:data_temp=0xffffff0f;GPIO_Pin=4;break; - 1ebe: 3300 movi r3, 0 - 1ec0: 3104 movi r1, 4 - 1ec2: 2bf0 subi r3, 241 - if (Dir) - 1ec4: 3a40 cmpnei r2, 0 - (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1< - (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1<CONHR = ((GPIOx)->CONHR & data_temp) | 2< - case 10:data_temp=0xfffff0ff;GPIO_Pin=8;break; - 1ed6: 3108 movi r1, 8 - 1ed8: 106d lrw r3, 0xfffff0ff // 1f0c - 1eda: 07f5 br 0x1ec4 // 1ec4 - case 11:data_temp=0xffff0fff;GPIO_Pin=12;break; - 1edc: 310c movi r1, 12 - 1ede: 106d lrw r3, 0xffff0fff // 1f10 - 1ee0: 07f2 br 0x1ec4 // 1ec4 - case 12:data_temp=0xfff0ffff;GPIO_Pin=16;break; - 1ee2: 3110 movi r1, 16 - 1ee4: 106c lrw r3, 0xfff10000 // 1f14 - case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break; - 1ee6: 2b00 subi r3, 1 - 1ee8: 07ee br 0x1ec4 // 1ec4 - case 13:data_temp=0xff0fffff;GPIO_Pin=20;break; - 1eea: 3114 movi r1, 20 - 1eec: 106b lrw r3, 0xff100000 // 1f18 - 1eee: 07fc br 0x1ee6 // 1ee6 - case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break; - 1ef0: 33f1 movi r3, 241 - 1ef2: 3118 movi r1, 24 - 1ef4: 4378 lsli r3, r3, 24 - 1ef6: 07f8 br 0x1ee6 // 1ee6 - case 15:data_temp=0x0fffffff;GPIO_Pin=28;break; - 1ef8: 311c movi r1, 28 - 1efa: 1069 lrw r3, 0xfffffff // 1f1c - 1efc: 07e4 br 0x1ec4 // 1ec4 - case 8:data_temp=0xfffffff0;GPIO_Pin=0;break; - 1efe: 3300 movi r3, 0 - 1f00: 3100 movi r1, 0 - 1f02: 2b0f subi r3, 16 - 1f04: 07e0 br 0x1ec4 // 1ec4 - (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2< - 1f0a: 0000 bkpt - 1f0c: fffff0ff .long 0xfffff0ff - 1f10: ffff0fff .long 0xffff0fff - 1f14: fff10000 .long 0xfff10000 - 1f18: ff100000 .long 0xff100000 - 1f1c: 0fffffff .long 0x0fffffff - -Disassembly of section .text.GPIO_PullHigh_Init: - -00001f20 : -//bit:0~15 -//ReturnValue:VALUE -/*************************************************************/ -void GPIO_PullHigh_Init(CSP_GPIO_T *GPIOx,uint8_t bit) -{ - (GPIOx)->PUDR = (((GPIOx)->PUDR) & ~(0x03<<(bit*2))) | (0x01<<(bit*2)); - 1f20: 4121 lsli r1, r1, 1 - 1f22: 3203 movi r2, 3 - 1f24: 9068 ld.w r3, (r0, 0x20) - 1f26: 7084 lsl r2, r1 - 1f28: 68c9 andn r3, r2 - 1f2a: 3201 movi r2, 1 - 1f2c: 7084 lsl r2, r1 - 1f2e: 6cc8 or r3, r2 - 1f30: b068 st.w r3, (r0, 0x20) -} - 1f32: 783c jmp r15 - -Disassembly of section .text.GPIO_DriveStrength_EN: - -00001f34 : -//bit:0~15 -//ReturnValue:VALUE -/*************************************************************/ -void GPIO_DriveStrength_EN(CSP_GPIO_T *GPIOx,uint8_t bit) -{ - (GPIOx)->DSCR = ((GPIOx)->DSCR) | (0x01<<(bit*2)); - 1f34: 4121 lsli r1, r1, 1 - 1f36: 3301 movi r3, 1 - 1f38: 9049 ld.w r2, (r0, 0x24) - 1f3a: 70c4 lsl r3, r1 - 1f3c: 6cc8 or r3, r2 - 1f3e: b069 st.w r3, (r0, 0x24) -} - 1f40: 783c jmp r15 - -Disassembly of section .text.GPIO_IntGroup_Set: - -00001f44 : -//EXI16~EXI17:GPIOA0.0~GPIOA0.7 -//EXI18~EXI19:GPIOB0.0~GPIOB0.3 -//ReturnValue:NONE -/*************************************************************/ -void GPIO_IntGroup_Set(GPIO_Group_TypeDef IO_MODE , uint8_t PinNum , GPIO_EXIPIN_TypeDef Selete_EXI_x) -{ - 1f44: 14c1 push r4 - 1f46: 1422 subi r14, r14, 8 - volatile unsigned int R_data_temp; - volatile unsigned char R_GPIO_Pin; - if(Selete_EXI_x<16) - 1f48: 3a0f cmphsi r2, 16 - 1f4a: 084f bt 0x1fe8 // 1fe8 - { - if((Selete_EXI_x==0)||(Selete_EXI_x==8)) - 1f4c: 6ccb mov r3, r2 - 1f4e: 3b83 bclri r3, 3 - 1f50: 3b40 cmpnei r3, 0 - 1f52: 0813 bt 0x1f78 // 1f78 - { - R_data_temp=0xfffffff0; - 1f54: 2b0f subi r3, 16 - 1f56: b861 st.w r3, (r14, 0x4) - R_GPIO_Pin=0; - 1f58: 3300 movi r3, 0 - else if((Selete_EXI_x==7)||(Selete_EXI_x==15)) - { - R_data_temp=0x0fffffff; - R_GPIO_Pin=28; - } - if(Selete_EXI_x<8) - 1f5a: 3a07 cmphsi r2, 8 - R_GPIO_Pin=28; - 1f5c: dc6e0003 st.b r3, (r14, 0x3) - 1f60: 1176 lrw r3, 0x20000044 // 2038 - if(Selete_EXI_x<8) - 1f62: 0c38 bf 0x1fd2 // 1fd2 - { - GPIOGRP->IGRPL =(GPIOGRP->IGRPL & R_data_temp) | (IO_MODE<=8)) - { - GPIOGRP->IGRPH =(GPIOGRP->IGRPH & R_data_temp) | (IO_MODE< - else if((Selete_EXI_x==1)||(Selete_EXI_x==9)) - 1f78: 3b41 cmpnei r3, 1 - 1f7a: 0806 bt 0x1f86 // 1f86 - R_data_temp=0xffffff0f; - 1f7c: 3300 movi r3, 0 - 1f7e: 2bf0 subi r3, 241 - 1f80: b861 st.w r3, (r14, 0x4) - R_GPIO_Pin=4; - 1f82: 3304 movi r3, 4 - 1f84: 07eb br 0x1f5a // 1f5a - else if((Selete_EXI_x==2)||(Selete_EXI_x==10)) - 1f86: 3b42 cmpnei r3, 2 - 1f88: 0805 bt 0x1f92 // 1f92 - R_data_temp=0xfffff0ff; - 1f8a: 116d lrw r3, 0xfffff0ff // 203c - 1f8c: b861 st.w r3, (r14, 0x4) - R_GPIO_Pin=8; - 1f8e: 3308 movi r3, 8 - 1f90: 07e5 br 0x1f5a // 1f5a - else if((Selete_EXI_x==3)||(Selete_EXI_x==11)) - 1f92: 3b43 cmpnei r3, 3 - 1f94: 0805 bt 0x1f9e // 1f9e - R_data_temp=0xffff0fff; - 1f96: 116b lrw r3, 0xffff0fff // 2040 - 1f98: b861 st.w r3, (r14, 0x4) - R_GPIO_Pin=12; - 1f9a: 330c movi r3, 12 - 1f9c: 07df br 0x1f5a // 1f5a - else if((Selete_EXI_x==4)||(Selete_EXI_x==12)) - 1f9e: 3b44 cmpnei r3, 4 - 1fa0: 0806 bt 0x1fac // 1fac - R_data_temp=0xfff0ffff; - 1fa2: 1169 lrw r3, 0xfff10000 // 2044 - 1fa4: 2b00 subi r3, 1 - 1fa6: b861 st.w r3, (r14, 0x4) - R_GPIO_Pin=16; - 1fa8: 3310 movi r3, 16 - 1faa: 07d8 br 0x1f5a // 1f5a - else if((Selete_EXI_x==5)||(Selete_EXI_x==13)) - 1fac: 3b45 cmpnei r3, 5 - 1fae: 0806 bt 0x1fba // 1fba - R_data_temp=0xff0fffff; - 1fb0: 1166 lrw r3, 0xff100000 // 2048 - 1fb2: 2b00 subi r3, 1 - 1fb4: b861 st.w r3, (r14, 0x4) - R_GPIO_Pin=20; - 1fb6: 3314 movi r3, 20 - 1fb8: 07d1 br 0x1f5a // 1f5a - else if((Selete_EXI_x==6)||(Selete_EXI_x==14)) - 1fba: 3b46 cmpnei r3, 6 - 1fbc: 0807 bt 0x1fca // 1fca - R_data_temp=0xf0ffffff; - 1fbe: 33f1 movi r3, 241 - 1fc0: 4378 lsli r3, r3, 24 - 1fc2: 2b00 subi r3, 1 - 1fc4: b861 st.w r3, (r14, 0x4) - R_GPIO_Pin=24; - 1fc6: 3318 movi r3, 24 - 1fc8: 07c9 br 0x1f5a // 1f5a - R_data_temp=0x0fffffff; - 1fca: 1161 lrw r3, 0xfffffff // 204c - 1fcc: b861 st.w r3, (r14, 0x4) - R_GPIO_Pin=28; - 1fce: 331c movi r3, 28 - 1fd0: 07c5 br 0x1f5a // 1f5a - GPIOGRP->IGRPL =(GPIOGRP->IGRPL & R_data_temp) | (IO_MODE<IGREX=(GPIOGRP->IGREX)|(PinNum<<12); - } - } - } -} - 1fe4: 1402 addi r14, r14, 8 - 1fe6: 1481 pop r4 - else if(Selete_EXI_x<20) - 1fe8: 3a13 cmphsi r2, 20 - 1fea: 0bfd bt 0x1fe4 // 1fe4 - if((IO_MODE==0)&&((Selete_EXI_x==16)||((Selete_EXI_x==17)))) //PA0.0~PA0.7 - 1fec: 3840 cmpnei r0, 0 - 1fee: 0814 bt 0x2016 // 2016 - 1ff0: 3300 movi r3, 0 - 1ff2: 2b0f subi r3, 16 - 1ff4: 60c8 addu r3, r2 - 1ff6: 3b01 cmphsi r3, 2 - 1ff8: 0bf6 bt 0x1fe4 // 1fe4 - if(Selete_EXI_x==16) - 1ffa: 3a50 cmpnei r2, 16 - 1ffc: 106f lrw r3, 0x20000044 // 2038 - 1ffe: 0806 bt 0x200a // 200a - GPIOGRP->IGREX =(GPIOGRP->IGREX)|PinNum; - 2000: 9340 ld.w r2, (r3, 0x0) - 2002: 9262 ld.w r3, (r2, 0x8) - 2004: 6c4c or r1, r3 - 2006: b222 st.w r1, (r2, 0x8) - 2008: 07ee br 0x1fe4 // 1fe4 - GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<4); - 200a: 9360 ld.w r3, (r3, 0x0) - 200c: 9342 ld.w r2, (r3, 0x8) - 200e: 4124 lsli r1, r1, 4 - GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12); - 2010: 6c48 or r1, r2 - 2012: b322 st.w r1, (r3, 0x8) -} - 2014: 07e8 br 0x1fe4 // 1fe4 - else if((IO_MODE==2)&&((Selete_EXI_x==18)||(Selete_EXI_x==19))) //PB0.0~PB0.3 - 2016: 3842 cmpnei r0, 2 - 2018: 0be6 bt 0x1fe4 // 1fe4 - 201a: 3300 movi r3, 0 - 201c: 2b11 subi r3, 18 - 201e: 60c8 addu r3, r2 - 2020: 3b01 cmphsi r3, 2 - 2022: 0be1 bt 0x1fe4 // 1fe4 - 2024: 1065 lrw r3, 0x20000044 // 2038 - if(Selete_EXI_x==18) - 2026: 3a52 cmpnei r2, 18 - GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<8); - 2028: 9360 ld.w r3, (r3, 0x0) - 202a: 9342 ld.w r2, (r3, 0x8) - if(Selete_EXI_x==18) - 202c: 0803 bt 0x2032 // 2032 - GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<8); - 202e: 4128 lsli r1, r1, 8 - 2030: 07f0 br 0x2010 // 2010 - GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12); - 2032: 412c lsli r1, r1, 12 - 2034: 07ee br 0x2010 // 2010 - 2036: 0000 bkpt - 2038: 20000044 .long 0x20000044 - 203c: fffff0ff .long 0xfffff0ff - 2040: ffff0fff .long 0xffff0fff - 2044: fff10000 .long 0xfff10000 - 2048: ff100000 .long 0xff100000 - 204c: 0fffffff .long 0x0fffffff - -Disassembly of section .text.GPIOB0_EXI_Init: - -00002050 : - case 14:GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF) | 0X01000000;break; - case 15:GPIOA0->CONHR = (GPIOA0->CONHR&0X0FFFFFFF) | 0X10000000;break; - } -} -void GPIOB0_EXI_Init(GPIO_EXI_TypeDef EXI_IO) -{ - 2050: 14d0 push r15 - switch (EXI_IO) - 2052: 3805 cmphsi r0, 6 - 2054: 080d bt 0x206e // 206e - 2056: 1079 lrw r3, 0x20000048 // 20b8 - 2058: e3fff652 bsr 0xcfc // cfc <___gnu_csky_case_uqi> - 205c: 18100a03 .long 0x18100a03 - 2060: 261f .short 0x261f - { - case 0:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0) | 0X00000001;break; - 2062: 9340 ld.w r2, (r3, 0x0) - 2064: 9260 ld.w r3, (r2, 0x0) - 2066: 310f movi r1, 15 - 2068: 68c5 andn r3, r1 - 206a: 3ba0 bseti r3, 0 - case 1:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFF0F) | 0X00000010;break; - 206c: b260 st.w r3, (r2, 0x0) - case 3:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF) | 0X00001000;break; - case 4:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFF0FFFF) | 0X00010000;break; - case 5:GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF) | 0X00100000;break; - default:break; - } -} - 206e: 1490 pop r15 - case 1:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFF0F) | 0X00000010;break; - 2070: 9340 ld.w r2, (r3, 0x0) - 2072: 9260 ld.w r3, (r2, 0x0) - 2074: 31f0 movi r1, 240 - 2076: 68c5 andn r3, r1 - 2078: 3ba4 bseti r3, 4 - 207a: 07f9 br 0x206c // 206c - case 2:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF) | 0X00000100;break; - 207c: 9320 ld.w r1, (r3, 0x0) - 207e: 32f0 movi r2, 240 - 2080: 9160 ld.w r3, (r1, 0x0) - 2082: 4244 lsli r2, r2, 4 - 2084: 68c9 andn r3, r2 - 2086: 3ba8 bseti r3, 8 - case 5:GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF) | 0X00100000;break; - 2088: b160 st.w r3, (r1, 0x0) -} - 208a: 07f2 br 0x206e // 206e - case 3:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF) | 0X00001000;break; - 208c: 9320 ld.w r1, (r3, 0x0) - 208e: 32f0 movi r2, 240 - 2090: 9160 ld.w r3, (r1, 0x0) - 2092: 4248 lsli r2, r2, 8 - 2094: 68c9 andn r3, r2 - 2096: 3bac bseti r3, 12 - 2098: 07f8 br 0x2088 // 2088 - case 4:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFF0FFFF) | 0X00010000;break; - 209a: 9320 ld.w r1, (r3, 0x0) - 209c: 32f0 movi r2, 240 - 209e: 9160 ld.w r3, (r1, 0x0) - 20a0: 424c lsli r2, r2, 12 - 20a2: 68c9 andn r3, r2 - 20a4: 3bb0 bseti r3, 16 - 20a6: 07f1 br 0x2088 // 2088 - case 5:GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF) | 0X00100000;break; - 20a8: 9320 ld.w r1, (r3, 0x0) - 20aa: 32f0 movi r2, 240 - 20ac: 9160 ld.w r3, (r1, 0x0) - 20ae: 4250 lsli r2, r2, 16 - 20b0: 68c9 andn r3, r2 - 20b2: 3bb4 bseti r3, 20 - 20b4: 07ea br 0x2088 // 2088 - 20b6: 0000 bkpt - 20b8: 20000048 .long 0x20000048 - -Disassembly of section .text.GPIO_Write_High: - -000020bc : -//bit:0~15 -//ReturnValue:VALUE -/*************************************************************/ -void GPIO_Write_High(CSP_GPIO_T *GPIOx,uint8_t bit) -{ - (GPIOx)->SODR = (1ul<: -void GPIO_Write_Low(CSP_GPIO_T *GPIOx,uint8_t bit) -{ - (GPIOx)->CODR = (1ul<: -//ReturnValue:VALUE -/*************************************************************/ -void GPIO_Reverse(CSP_GPIO_T *GPIOx,uint8_t bit) -{ - uint32_t dat = 0; - dat=((GPIOx)->ODSR>>bit)&1ul; - 20cc: 9045 ld.w r2, (r0, 0x14) - 20ce: 3301 movi r3, 1 - 20d0: 7085 lsr r2, r1 - 20d2: 688c and r2, r3 - { - if (dat==1) - 20d4: 3a40 cmpnei r2, 0 - 20d6: 70c4 lsl r3, r1 - 20d8: 0c03 bf 0x20de // 20de - { - (GPIOx)->CODR = (1ul<SODR = (1ul<SODR = (1ul< - -Disassembly of section .text.GPIO_Read_Status: - -000020e2 : -/*************************************************************/ -uint8_t GPIO_Read_Status(CSP_GPIO_T *GPIOx,uint8_t bit) -{ - uint8_t value = 0; - uint32_t dat = 0; - dat=((GPIOx)->PSDR)&(1<: -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void LPT_Soft_Reset(void) -{ - LPT->RSSR |= (0X5<<12); - 20f4: 1064 lrw r3, 0x20000014 // 2104 - 20f6: 9340 ld.w r2, (r3, 0x0) - 20f8: 9261 ld.w r3, (r2, 0x4) - 20fa: 3bac bseti r3, 12 - 20fc: 3bae bseti r3, 14 - 20fe: b261 st.w r3, (r2, 0x4) -} - 2100: 783c jmp r15 - 2102: 0000 bkpt - 2104: 20000014 .long 0x20000014 - -Disassembly of section .text.WWDT_CNT_Load: - -00002108 : -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void WWDT_CNT_Load(U8_T cnt_data) -{ - WWDT->CR |= cnt_data; //SET - 2108: 1063 lrw r3, 0x20000010 // 2114 - 210a: 9360 ld.w r3, (r3, 0x0) - 210c: 9340 ld.w r2, (r3, 0x0) - 210e: 6c08 or r0, r2 - 2110: b300 st.w r0, (r3, 0x0) -} - 2112: 783c jmp r15 - 2114: 20000010 .long 0x20000010 - -Disassembly of section .text.BT_DeInit: - -00002118 : -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void BT_DeInit(CSP_BT_T *BTx) -{ - BTx->RSSR=BT_RESET_VALUE; - 2118: 3300 movi r3, 0 - 211a: b060 st.w r3, (r0, 0x0) - BTx->CR=BT_RESET_VALUE; - 211c: b061 st.w r3, (r0, 0x4) - BTx->PSCR=BT_RESET_VALUE; - 211e: b062 st.w r3, (r0, 0x8) - BTx->PRDR=BT_RESET_VALUE; - 2120: b063 st.w r3, (r0, 0xc) - BTx->CMP=BT_RESET_VALUE; - 2122: b064 st.w r3, (r0, 0x10) - BTx->CNT=BT_RESET_VALUE; - 2124: b065 st.w r3, (r0, 0x14) - BTx->EVTRG=BT_RESET_VALUE; - 2126: b066 st.w r3, (r0, 0x18) - BTx->EVSWF=BT_RESET_VALUE; - 2128: b069 st.w r3, (r0, 0x24) - BTx->RISR=BT_RESET_VALUE; - 212a: b06a st.w r3, (r0, 0x28) - BTx->IMCR=BT_RESET_VALUE; - 212c: b06b st.w r3, (r0, 0x2c) - BTx->MISR=BT_RESET_VALUE; - 212e: b06c st.w r3, (r0, 0x30) - BTx->ICR=BT_RESET_VALUE; - 2130: b06d st.w r3, (r0, 0x34) -} - 2132: 783c jmp r15 - -Disassembly of section .text.BT_Start: - -00002134 : -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void BT_Start(CSP_BT_T *BTx) -{ - BTx->RSSR |=0X01; - 2134: 9060 ld.w r3, (r0, 0x0) - 2136: 3ba0 bseti r3, 0 - 2138: b060 st.w r3, (r0, 0x0) -} - 213a: 783c jmp r15 - -Disassembly of section .text.BT_Soft_Reset: - -0000213c : -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void BT_Soft_Reset(CSP_BT_T *BTx) -{ - BTx->RSSR |= (0X5<<12); - 213c: 9060 ld.w r3, (r0, 0x0) - 213e: 3bac bseti r3, 12 - 2140: 3bae bseti r3, 14 - 2142: b060 st.w r3, (r0, 0x0) -} - 2144: 783c jmp r15 - -Disassembly of section .text.BT_Configure: - -00002146 : -//BT Configure -//EntryParameter: -//ReturnValue:NONE -/*************************************************************/ -void BT_Configure(CSP_BT_T *BTx,BT_CLK_TypeDef BTCLK,U16_T PSCR_DATA,BT_SHDWSTP_TypeDef BTSHDWSTP,BT_OPM_TypeDef BTOPM,BT_EXTCKM_TypeDef BTEXTCKM) -{ - 2146: 14c3 push r4-r6 - 2148: 98a4 ld.w r5, (r14, 0x10) - 214a: 6d97 mov r6, r5 - 214c: 9883 ld.w r4, (r14, 0xc) - BTx->CR |=BTCLK| BTSHDWSTP| BTOPM| BTEXTCKM; - 214e: 6d18 or r4, r6 - 2150: 6cd0 or r3, r4 - 2152: 90a1 ld.w r5, (r0, 0x4) - 2154: 6c4c or r1, r3 - 2156: 6c54 or r1, r5 - 2158: b021 st.w r1, (r0, 0x4) - BTx->PSCR = PSCR_DATA; - 215a: b042 st.w r2, (r0, 0x8) -} - 215c: 1483 pop r4-r6 - -Disassembly of section .text.BT_ControlSet_Configure: - -0000215e : -//EntryParameter: -//ReturnValue:NONE -/*************************************************************/ -void BT_ControlSet_Configure(CSP_BT_T *BTx,BT_STARTST_TypeDef BTSTART,BT_IDLEST_TypeDef BTIDLE,BT_SYNCEN_TypeDef BTSYNC,BT_SYNCMD_TypeDef BTSYNCMD, - BT_OSTMDX_TypeDef BTOSTMD,BT_AREARM_TypeDef BTAREARM,BT_CNTRLD_TypeDef BTCNTRLD) -{ - 215e: 14c4 push r4-r7 - 2160: 1421 subi r14, r14, 4 - 2162: 9885 ld.w r4, (r14, 0x14) - 2164: 6dd3 mov r7, r4 - 2166: 9886 ld.w r4, (r14, 0x18) - 2168: b880 st.w r4, (r14, 0x0) - 216a: 9887 ld.w r4, (r14, 0x1c) - 216c: 6d93 mov r6, r4 - 216e: 98a8 ld.w r5, (r14, 0x20) - BTx->CR |=BTSTART| BTIDLE| BTSYNC| BTSYNCMD| BTOSTMD| BTAREARM| BTCNTRLD; - 2170: 6d58 or r5, r6 - 2172: 98c0 ld.w r6, (r14, 0x0) - 2174: 6d58 or r5, r6 - 2176: 6d5c or r5, r7 - 2178: 6cd4 or r3, r5 - 217a: 6c8c or r2, r3 - 217c: 9081 ld.w r4, (r0, 0x4) - 217e: 6c48 or r1, r2 - 2180: 6d04 or r4, r1 - 2182: 6d9f mov r6, r7 - 2184: b081 st.w r4, (r0, 0x4) -} - 2186: 1401 addi r14, r14, 4 - 2188: 1484 pop r4-r7 - -Disassembly of section .text.BT_Period_CMP_Write: - -0000218a : -//ReturnValue:NONE -/*************************************************************/ -void BT_Period_CMP_Write(CSP_BT_T *BTx,U16_T BTPRDR_DATA,U16_T BTCMP_DATA) -{ - //BTx->CR|=0X01<<2; - BTx->PRDR =BTPRDR_DATA; - 218a: b023 st.w r1, (r0, 0xc) - BTx->CMP =BTCMP_DATA; - 218c: b044 st.w r2, (r0, 0x10) -} - 218e: 783c jmp r15 - -Disassembly of section .text.BT_ConfigInterrupt_CMD: - -00002190 : -//NewState:ENABLE,DISABLE -//ReturnValue:NONE -/*************************************************************/ -void BT_ConfigInterrupt_CMD(CSP_BT_T *BTx,FunctionalStatus NewState,BT_IMSCR_TypeDef BT_IMSCR_X) -{ - if (NewState != DISABLE) - 2190: 3940 cmpnei r1, 0 - { - BTx->IMCR |= BT_IMSCR_X; - 2192: 906b ld.w r3, (r0, 0x2c) - if (NewState != DISABLE) - 2194: 0c04 bf 0x219c // 219c - BTx->IMCR |= BT_IMSCR_X; - 2196: 6c8c or r2, r3 - 2198: b04b st.w r2, (r0, 0x2c) - } - else - { - BTx->IMCR &= ~BT_IMSCR_X; - } -} - 219a: 783c jmp r15 - BTx->IMCR &= ~BT_IMSCR_X; - 219c: 68c9 andn r3, r2 - 219e: b06b st.w r3, (r0, 0x2c) -} - 21a0: 07fd br 0x219a // 219a - -Disassembly of section .text.BT1_INT_ENABLE: - -000021a4 : -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void BT1_INT_ENABLE(void) -{ - INTC_ISER_WRITE(BT1_INT); - 21a4: 3380 movi r3, 128 - 21a6: 4376 lsli r3, r3, 22 - 21a8: 1042 lrw r2, 0xe000e100 // 21b0 - 21aa: b260 st.w r3, (r2, 0x0) -} - 21ac: 783c jmp r15 - 21ae: 0000 bkpt - 21b0: e000e100 .long 0xe000e100 - -Disassembly of section .text.UART0_DeInit: - -000021b4 : -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void UART0_DeInit(void) -{ - UART0->DATA = UART_RESET_VALUE; - 21b4: 1065 lrw r3, 0x20000040 // 21c8 - 21b6: 3200 movi r2, 0 - 21b8: 9360 ld.w r3, (r3, 0x0) - 21ba: b340 st.w r2, (r3, 0x0) - UART0->SR = UART_RESET_VALUE; - 21bc: b341 st.w r2, (r3, 0x4) - UART0->CTRL = UART_RESET_VALUE; - 21be: b342 st.w r2, (r3, 0x8) - UART0->ISR = UART_RESET_VALUE; - 21c0: b343 st.w r2, (r3, 0xc) - UART0->BRDIV =UART_RESET_VALUE; - 21c2: b344 st.w r2, (r3, 0x10) -} - 21c4: 783c jmp r15 - 21c6: 0000 bkpt - 21c8: 20000040 .long 0x20000040 - -Disassembly of section .text.UART1_DeInit: - -000021cc : -void UART1_DeInit(void) -{ - UART1->DATA = UART_RESET_VALUE; - 21cc: 1065 lrw r3, 0x2000003c // 21e0 - 21ce: 3200 movi r2, 0 - 21d0: 9360 ld.w r3, (r3, 0x0) - 21d2: b340 st.w r2, (r3, 0x0) - UART1->SR = UART_RESET_VALUE; - 21d4: b341 st.w r2, (r3, 0x4) - UART1->CTRL = UART_RESET_VALUE; - 21d6: b342 st.w r2, (r3, 0x8) - UART1->ISR = UART_RESET_VALUE; - 21d8: b343 st.w r2, (r3, 0xc) - UART1->BRDIV =UART_RESET_VALUE; - 21da: b344 st.w r2, (r3, 0x10) -} - 21dc: 783c jmp r15 - 21de: 0000 bkpt - 21e0: 2000003c .long 0x2000003c - -Disassembly of section .text.UART2_DeInit: - -000021e4 : -void UART2_DeInit(void) -{ - UART2->DATA = UART_RESET_VALUE; - 21e4: 1065 lrw r3, 0x20000038 // 21f8 - 21e6: 3200 movi r2, 0 - 21e8: 9360 ld.w r3, (r3, 0x0) - 21ea: b340 st.w r2, (r3, 0x0) - UART2->SR = UART_RESET_VALUE; - 21ec: b341 st.w r2, (r3, 0x4) - UART2->CTRL = UART_RESET_VALUE; - 21ee: b342 st.w r2, (r3, 0x8) - UART2->ISR = UART_RESET_VALUE; - 21f0: b343 st.w r2, (r3, 0xc) - UART2->BRDIV =UART_RESET_VALUE; - 21f2: b344 st.w r2, (r3, 0x10) -} - 21f4: 783c jmp r15 - 21f6: 0000 bkpt - 21f8: 20000038 .long 0x20000038 - -Disassembly of section .text.UART1_Int_Enable: - -000021fc : -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void UART1_Int_Enable(void) -{ - UART1->ISR=0x0F; //clear UART1 INT status - 21fc: 1065 lrw r3, 0x2000003c // 2210 - 21fe: 320f movi r2, 15 - 2200: 9360 ld.w r3, (r3, 0x0) - 2202: b343 st.w r2, (r3, 0xc) - INTC_ISER_WRITE(UART1_INT); //INT Vector Enable UART0/1 Interrupt in CK802 - 2204: 3380 movi r3, 128 - 2206: 4367 lsli r3, r3, 7 - 2208: 1043 lrw r2, 0xe000e100 // 2214 - 220a: b260 st.w r3, (r2, 0x0) -} - 220c: 783c jmp r15 - 220e: 0000 bkpt - 2210: 2000003c .long 0x2000003c - 2214: e000e100 .long 0xe000e100 - -Disassembly of section .text.UART2_Int_Enable: - -00002218 : -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void UART2_Int_Enable(void) -{ - UART2->ISR=0x0F; //clear UART1 INT status - 2218: 1065 lrw r3, 0x20000038 // 222c - 221a: 320f movi r2, 15 - 221c: 9360 ld.w r3, (r3, 0x0) - 221e: b343 st.w r2, (r3, 0xc) - INTC_ISER_WRITE(UART2_INT); //INT Vector Enable UART0/1 Interrupt in CK802 - 2220: 3380 movi r3, 128 - 2222: 4368 lsli r3, r3, 8 - 2224: 1043 lrw r2, 0xe000e100 // 2230 - 2226: b260 st.w r3, (r2, 0x0) -} - 2228: 783c jmp r15 - 222a: 0000 bkpt - 222c: 20000038 .long 0x20000038 - 2230: e000e100 .long 0xe000e100 - -Disassembly of section .text.UART_IO_Init: - -00002234 : -//UART_IO_G:0 1 -//ReturnValue:NONE -/*************************************************************/ -void UART_IO_Init(UART_NUM_TypeDef IO_UART_NUM , U8_T UART_IO_G) -{ - if (IO_UART_NUM==IO_UART0) - 2234: 3840 cmpnei r0, 0 - 2236: 0821 bt 0x2278 // 2278 - { - if(UART_IO_G==0) - 2238: 3940 cmpnei r1, 0 - 223a: 080a bt 0x224e // 224e - { - GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00) | 0x00000044; //PA0.1->RXD0, PA0.0->TXD0 - 223c: 1177 lrw r3, 0x2000004c // 2318 - 223e: 31ff movi r1, 255 - 2240: 9340 ld.w r2, (r3, 0x0) - 2242: 9260 ld.w r3, (r2, 0x0) - 2244: 68c5 andn r3, r1 - 2246: 3ba2 bseti r3, 2 - 2248: 3ba6 bseti r3, 6 - } - if (IO_UART_NUM==IO_UART2) - { - if(UART_IO_G==0) - { - GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00) | 0x00000077; //PA0.0->RXD2, PA0.1->TXD2 - 224a: b260 st.w r3, (r2, 0x0) - 224c: 0415 br 0x2276 // 2276 - else if(UART_IO_G==1) - 224e: 3941 cmpnei r1, 1 - 2250: 0813 bt 0x2276 // 2276 - GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF) | 0x00700000; //PA0.5->RXD0, PA0.12->TXD0 - 2252: 1172 lrw r3, 0x2000004c // 2318 - 2254: 31f0 movi r1, 240 - 2256: 9340 ld.w r2, (r3, 0x0) - 2258: 9260 ld.w r3, (r2, 0x0) - 225a: 4130 lsli r1, r1, 16 - 225c: 68c5 andn r3, r1 - 225e: 31e0 movi r1, 224 - 2260: 412f lsli r1, r1, 15 - 2262: 6cc4 or r3, r1 - 2264: b260 st.w r3, (r2, 0x0) - GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF) | 0x00070000; - 2266: 31f0 movi r1, 240 - 2268: 9261 ld.w r3, (r2, 0x4) - 226a: 412c lsli r1, r1, 12 - 226c: 68c5 andn r3, r1 - 226e: 31e0 movi r1, 224 - 2270: 412b lsli r1, r1, 11 - 2272: 6cc4 or r3, r1 - 2274: b261 st.w r3, (r2, 0x4) - else if(UART_IO_G==2) - { - GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000; //PB0.5->RXD2, PB0.4->TXD2 - } - } -} - 2276: 783c jmp r15 - if (IO_UART_NUM==IO_UART1) - 2278: 3841 cmpnei r0, 1 - 227a: 082d bt 0x22d4 // 22d4 - if(UART_IO_G==0) - 227c: 3940 cmpnei r1, 0 - 227e: 0814 bt 0x22a6 // 22a6 - GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0) | 0x00000007; //PA0.13->RXD1, PB0.0->TXD1 - 2280: 1167 lrw r3, 0x20000048 // 231c - 2282: 310f movi r1, 15 - 2284: 9340 ld.w r2, (r3, 0x0) - 2286: 9260 ld.w r3, (r2, 0x0) - 2288: 68c5 andn r3, r1 - 228a: 3107 movi r1, 7 - 228c: 6cc4 or r3, r1 - 228e: b260 st.w r3, (r2, 0x0) - GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF) | 0x00700000; - 2290: 32f0 movi r2, 240 - 2292: 1162 lrw r3, 0x2000004c // 2318 - 2294: 4250 lsli r2, r2, 16 - 2296: 9320 ld.w r1, (r3, 0x0) - 2298: 9161 ld.w r3, (r1, 0x4) - 229a: 68c9 andn r3, r2 - 229c: 32e0 movi r2, 224 - 229e: 424f lsli r2, r2, 15 - GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000; //PA0.15->RXD1, PA0.14->TXD1 - 22a0: 6cc8 or r3, r2 - 22a2: b161 st.w r3, (r1, 0x4) - 22a4: 07e9 br 0x2276 // 2276 - else if(UART_IO_G==1) - 22a6: 3941 cmpnei r1, 1 - 22a8: 080c bt 0x22c0 // 22c0 - GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF00FFF) | 0X00077000; //PA0.4->RXD1, PA0.3->TXD1 - 22aa: 107c lrw r3, 0x2000004c // 2318 - 22ac: 32ff movi r2, 255 - 22ae: 9320 ld.w r1, (r3, 0x0) - 22b0: 424c lsli r2, r2, 12 - 22b2: 9160 ld.w r3, (r1, 0x0) - 22b4: 68c9 andn r3, r2 - 22b6: 32ee movi r2, 238 - 22b8: 424b lsli r2, r2, 11 - GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000; //PB0.5->RXD2, PB0.4->TXD2 - 22ba: 6cc8 or r3, r2 - 22bc: b160 st.w r3, (r1, 0x0) -} - 22be: 07dc br 0x2276 // 2276 - else if(UART_IO_G==2) - 22c0: 3942 cmpnei r1, 2 - 22c2: 0bda bt 0x2276 // 2276 - GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000; //PA0.15->RXD1, PA0.14->TXD1 - 22c4: 1075 lrw r3, 0x2000004c // 2318 - 22c6: 32ee movi r2, 238 - 22c8: 9320 ld.w r1, (r3, 0x0) - 22ca: 9161 ld.w r3, (r1, 0x4) - 22cc: 4368 lsli r3, r3, 8 - 22ce: 4b68 lsri r3, r3, 8 - 22d0: 4257 lsli r2, r2, 23 - 22d2: 07e7 br 0x22a0 // 22a0 - if (IO_UART_NUM==IO_UART2) - 22d4: 3842 cmpnei r0, 2 - 22d6: 0bd0 bt 0x2276 // 2276 - if(UART_IO_G==0) - 22d8: 3940 cmpnei r1, 0 - 22da: 0809 bt 0x22ec // 22ec - GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00) | 0x00000077; //PA0.0->RXD2, PA0.1->TXD2 - 22dc: 106f lrw r3, 0x2000004c // 2318 - 22de: 31ff movi r1, 255 - 22e0: 9340 ld.w r2, (r3, 0x0) - 22e2: 9260 ld.w r3, (r2, 0x0) - 22e4: 68c5 andn r3, r1 - 22e6: 3177 movi r1, 119 - 22e8: 6cc4 or r3, r1 - 22ea: 07b0 br 0x224a // 224a - else if(UART_IO_G==1) - 22ec: 3941 cmpnei r1, 1 - 22ee: 0809 bt 0x2300 // 2300 - GPIOA0->CONLR = (GPIOA0->CONLR&0X00FFFFFF) | 0X77000000; //PA0.7->RXD2, PA0.6->TXD2 - 22f0: 106a lrw r3, 0x2000004c // 2318 - 22f2: 32ee movi r2, 238 - 22f4: 9320 ld.w r1, (r3, 0x0) - 22f6: 9160 ld.w r3, (r1, 0x0) - 22f8: 4368 lsli r3, r3, 8 - 22fa: 4b68 lsri r3, r3, 8 - 22fc: 4257 lsli r2, r2, 23 - 22fe: 07de br 0x22ba // 22ba - else if(UART_IO_G==2) - 2300: 3942 cmpnei r1, 2 - 2302: 0bba bt 0x2276 // 2276 - GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000; //PB0.5->RXD2, PB0.4->TXD2 - 2304: 1066 lrw r3, 0x20000048 // 231c - 2306: 32ff movi r2, 255 - 2308: 9320 ld.w r1, (r3, 0x0) - 230a: 4250 lsli r2, r2, 16 - 230c: 9160 ld.w r3, (r1, 0x0) - 230e: 68c9 andn r3, r2 - 2310: 32cc movi r2, 204 - 2312: 424f lsli r2, r2, 15 - 2314: 07d3 br 0x22ba // 22ba - 2316: 0000 bkpt - 2318: 2000004c .long 0x2000004c - 231c: 20000048 .long 0x20000048 - -Disassembly of section .text.UARTInitRxTxIntEn: - -00002320 : -//ReturnValue:NONE -/*************************************************************/ -void UARTInitRxTxIntEn(CSP_UART_T *uart,U16_T baudrate_u16,UART_PAR_TypeDef PAR_DAT) -{ - // Set Transmitter Enable - CSP_UART_SET_CTRL(uart, UART_TX | UART_RX | UART_RX_INT | UART_TX_INT | PAR_DAT | UART_TX_DONE_INT); - 2320: 1063 lrw r3, 0x8000f // 232c - 2322: 6c8c or r2, r3 - 2324: b042 st.w r2, (r0, 0x8) - // Set Baudrate - CSP_UART_SET_BRDIV(uart, baudrate_u16); - 2326: b024 st.w r1, (r0, 0x10) -} - 2328: 783c jmp r15 - 232a: 0000 bkpt - 232c: 0008000f .long 0x0008000f - -Disassembly of section .text.UARTTransmit: - -00002330 : -//UART Transmit -//EntryParameter:UART0,UART1,UART2,sourceAddress_u16,length_u16 -//ReturnValue:NONE -/*************************************************************/ -void UARTTransmit(CSP_UART_T *uart,U8_T *sourceAddress_u16,U16_T length_u16) -{ - 2330: 14c2 push r4-r5 - unsigned int DataI,DataJ; - for(DataJ = 0;DataJ < length_u16 ;DataJ ++) - 2332: 6cc7 mov r3, r1 - { - CSP_UART_SET_DATA(uart,*sourceAddress_u16++); - do{ - DataI = CSP_UART_GET_SR(uart); - DataI = DataI & UART_TX_FULL; - 2334: 3501 movi r5, 1 - for(DataJ = 0;DataJ < length_u16 ;DataJ ++) - 2336: 5b85 subu r4, r3, r1 - 2338: 6490 cmphs r4, r2 - 233a: 0c02 bf 0x233e // 233e - }while(DataI == UART_TX_FULL); //Loop when tx is full - } -} - 233c: 1482 pop r4-r5 - CSP_UART_SET_DATA(uart,*sourceAddress_u16++); - 233e: 8380 ld.b r4, (r3, 0x0) - 2340: b080 st.w r4, (r0, 0x0) - DataI = CSP_UART_GET_SR(uart); - 2342: 9081 ld.w r4, (r0, 0x4) - DataI = DataI & UART_TX_FULL; - 2344: 6914 and r4, r5 - }while(DataI == UART_TX_FULL); //Loop when tx is full - 2346: 3c40 cmpnei r4, 0 - 2348: 0bfd bt 0x2342 // 2342 - 234a: 2300 addi r3, 1 - 234c: 07f5 br 0x2336 // 2336 - -Disassembly of section .text.EPT_Stop: - -00002350 : -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void EPT_Stop(void) -{ - EPT0->REGPROT = (0xA55A<<16) | 0xC73A; - 2350: 1068 lrw r3, 0x20000020 // 2370 - 2352: 3280 movi r2, 128 - 2354: 9360 ld.w r3, (r3, 0x0) - 2356: 608c addu r2, r3 - 2358: 1027 lrw r1, 0xa55ac73a // 2374 - 235a: b23a st.w r1, (r2, 0x68) - EPT0->RSSR&=0Xfe; - 235c: 9341 ld.w r2, (r3, 0x4) - 235e: 31fe movi r1, 254 - 2360: 6884 and r2, r1 - 2362: b341 st.w r2, (r3, 0x4) - while(EPT0->RSSR&0x01); - 2364: 3101 movi r1, 1 - 2366: 9341 ld.w r2, (r3, 0x4) - 2368: 6884 and r2, r1 - 236a: 3a40 cmpnei r2, 0 - 236c: 0bfd bt 0x2366 // 2366 -} - 236e: 783c jmp r15 - 2370: 20000020 .long 0x20000020 - 2374: a55ac73a .long 0xa55ac73a - -Disassembly of section .text.Page_ProgramData: - -00002378 : - IFC->CR=0X01; //Start Program - } -} -//Normal mode, when the call is completed once, it will delay 4.2ms in the program -void Page_ProgramData(unsigned int FlashAdd,unsigned int DataSize,volatile unsigned char *BufArry) -{ - 2378: 14c4 push r4-r7 - 237a: 1422 subi r14, r14, 8 - int i,DataBuffer; - - //Page cache wipe 1 - SetUserKey; - 237c: 1165 lrw r3, 0x20000060 // 2410 - 237e: 1186 lrw r4, 0x5a5a5a5a // 2414 - 2380: 9360 ld.w r3, (r3, 0x0) - 2382: b388 st.w r4, (r3, 0x20) - IFC->CMR=0x07; - 2384: 3407 movi r4, 7 - 2386: b383 st.w r4, (r3, 0xc) - IFC->FM_ADDR=FlashAdd; - IFC->CR=0X01; //Start Program - 2388: 3401 movi r4, 1 - IFC->FM_ADDR=FlashAdd; - 238a: b306 st.w r0, (r3, 0x18) - IFC->CR=0X01; //Start Program - 238c: b384 st.w r4, (r3, 0x10) - while(IFC->CR!=0x0); //Wait for the operation to complete - 238e: 9384 ld.w r4, (r3, 0x10) - 2390: 3c40 cmpnei r4, 0 - 2392: 0bfe bt 0x238e // 238e - //Write data to the cache 2 - for(i=0;i<((DataSize+3)/4);i++) //sizeof structure - 2394: 2102 addi r1, 3 - 2396: 4922 lsri r1, r1, 2 - 2398: 4122 lsli r1, r1, 2 - 239a: 6048 addu r1, r2 - 239c: b820 st.w r1, (r14, 0x0) - 239e: 5829 subu r1, r0, r2 - 23a0: b821 st.w r1, (r14, 0x4) - 23a2: 9820 ld.w r1, (r14, 0x0) - 23a4: 644a cmpne r2, r1 - 23a6: 0826 bt 0x23f2 // 23f2 - *(volatile unsigned int *)(FlashAdd+4*i)=DataBuffer; - BufArry +=4; - } - //Pre-programmed operation settings 3 - SetUserKey; - IFC->CMR=0x06; - 23a8: 3106 movi r1, 6 - SetUserKey; - 23aa: 105b lrw r2, 0x5a5a5a5a // 2414 - 23ac: b348 st.w r2, (r3, 0x20) - IFC->CMR=0x06; - 23ae: b323 st.w r1, (r3, 0xc) - IFC->FM_ADDR=FlashAdd; - IFC->CR=0X01; //Start Program - 23b0: 3101 movi r1, 1 - IFC->FM_ADDR=FlashAdd; - 23b2: b306 st.w r0, (r3, 0x18) - IFC->CR=0X01; //Start Program - 23b4: b324 st.w r1, (r3, 0x10) - while(IFC->CR!=0x0); //Wait for the operation to complete - 23b6: 9324 ld.w r1, (r3, 0x10) - 23b8: 3940 cmpnei r1, 0 - 23ba: 0bfe bt 0x23b6 // 23b6 - //Perform pre-programming 4 - SetUserKey; - 23bc: b348 st.w r2, (r3, 0x20) - IFC->CMR=0x01; - 23be: 3201 movi r2, 1 - 23c0: b343 st.w r2, (r3, 0xc) - IFC->FM_ADDR=FlashAdd; // - 23c2: b306 st.w r0, (r3, 0x18) - IFC->CR=0X01; //Start Program - 23c4: b344 st.w r2, (r3, 0x10) - while(IFC->RISR!=PEP_END_INT); //Wait for the operation to complete - 23c6: 934a ld.w r2, (r3, 0x28) - 23c8: 3a44 cmpnei r2, 4 - 23ca: 0bfe bt 0x23c6 // 23c6 - //Page erase 5 - SetUserKey; - IFC->CMR=0x02; - 23cc: 3102 movi r1, 2 - SetUserKey; - 23ce: 1052 lrw r2, 0x5a5a5a5a // 2414 - 23d0: b348 st.w r2, (r3, 0x20) - IFC->CMR=0x02; - 23d2: b323 st.w r1, (r3, 0xc) - IFC->FM_ADDR=FlashAdd; // - IFC->CR=0X01; //Start Program - 23d4: 3101 movi r1, 1 - IFC->FM_ADDR=FlashAdd; // - 23d6: b306 st.w r0, (r3, 0x18) - IFC->CR=0X01; //Start Program - 23d8: b324 st.w r1, (r3, 0x10) - while(IFC->RISR!=ERS_END_INT); //Wait for the operation to complete - 23da: 932a ld.w r1, (r3, 0x28) - 23dc: 3941 cmpnei r1, 1 - 23de: 0bfe bt 0x23da // 23da - //Write page cache data to flash memory 6 - SetUserKey; - 23e0: b348 st.w r2, (r3, 0x20) - IFC->CMR=0x01; - 23e2: b323 st.w r1, (r3, 0xc) - IFC->FM_ADDR=FlashAdd; // - 23e4: b306 st.w r0, (r3, 0x18) - IFC->CR=0X01; //Start Program - 23e6: b324 st.w r1, (r3, 0x10) - while(IFC->RISR!=RGM_END_INT); //Wait for the operation to complete - 23e8: 934a ld.w r2, (r3, 0x28) - 23ea: 3a42 cmpnei r2, 2 - 23ec: 0bfe bt 0x23e8 // 23e8 -} - 23ee: 1402 addi r14, r14, 8 - 23f0: 1484 pop r4-r7 - DataBuffer=*BufArry+(*(BufArry+1)<<8)+(*(BufArry+2)<<16)+(*(BufArry+3)<<24); - 23f2: 82e0 ld.b r7, (r2, 0x0) - 23f4: 8281 ld.b r4, (r2, 0x1) - 23f6: 4488 lsli r4, r4, 8 - 23f8: 8222 ld.b r1, (r2, 0x2) - 23fa: 611c addu r4, r7 - 23fc: 82a3 ld.b r5, (r2, 0x3) - 23fe: 4130 lsli r1, r1, 16 - 2400: 98c1 ld.w r6, (r14, 0x4) - 2402: 6050 addu r1, r4 - 2404: 45b8 lsli r5, r5, 24 - 2406: 6188 addu r6, r2 - 2408: 6054 addu r1, r5 - *(volatile unsigned int *)(FlashAdd+4*i)=DataBuffer; - 240a: b620 st.w r1, (r6, 0x0) - BufArry +=4; - 240c: 2203 addi r2, 4 - 240e: 07ca br 0x23a2 // 23a2 - 2410: 20000060 .long 0x20000060 - 2414: 5a5a5a5a .long 0x5a5a5a5a - -Disassembly of section .text.ReadDataArry_U8: - -00002418 : -//ReadFlashData fuction return Data arry save in Flash -//EntryParameter:RdStartAdd、DataLength、*DataArryPoint -//ReturnValue:NONE -*************************************************************/ -void ReadDataArry_U8(unsigned int RdStartAdd,unsigned int DataLength,volatile unsigned char *DataArryPoint) -{ - 2418: 14c3 push r4-r6 - unsigned int i; - for (i=0;i - RdStartAdd +=4; - } - *DataArryPoint=*(U8_T *)(RdStartAdd+ (i%4)); - DataArryPoint++; - } -} - 2424: 1483 pop r4-r6 - if((i!=0)&&(i%4==0)) - 2426: 3b40 cmpnei r3, 0 - 2428: 0c06 bf 0x2434 // 2434 - 242a: 6d0f mov r4, r3 - 242c: 6914 and r4, r5 - 242e: 3c40 cmpnei r4, 0 - 2430: 0802 bt 0x2434 // 2434 - RdStartAdd +=4; - 2432: 2003 addi r0, 4 - *DataArryPoint=*(U8_T *)(RdStartAdd+ (i%4)); - 2434: 6d0f mov r4, r3 - 2436: 6914 and r4, r5 - 2438: 6100 addu r4, r0 - 243a: 8480 ld.b r4, (r4, 0x0) - 243c: a680 st.b r4, (r6, 0x0) - for (i=0;i - -Disassembly of section .text.startup.main: - -00002444

: -volatile unsigned int Sav_Temp = 0; -/***************************************************/ -//main -/**************************************************/ -int main(void) -{ - 2444: 14d0 push r15 -// delay_nms(20000); - APT32F102_init(); //102 initial - 2446: e00000a5 bsr 0x2590 // 2590 - - Dbg_Println(DBG_BIT_SYS_STATUS,"MCU Start! %d",g_Dip.DIP_addr); - 244a: 106b lrw r3, 0x20000448 // 2474 - 244c: 8346 ld.b r2, (r3, 0x6) - 244e: 102b lrw r1, 0x5eb8 // 2478 - 2450: 3000 movi r0, 0 - 2452: e000093d bsr 0x36cc // 36cc - - while(1) - { - SYSCON_IWDCNT_Reload(); //IWDT Clear - 2456: e3fffc07 bsr 0x1c64 // 1c64 - - UART1_TASK(); - 245a: e0000713 bsr 0x3280 // 3280 - - UART2_TASK(); - 245e: e0000769 bsr 0x3330 // 3330 - - DIP_ScanTask(); - 2462: e00010b3 bsr 0x45c8 // 45c8 - - TemCtrl_Pro(); - 2466: e0000c0f bsr 0x3c84 // 3c84 - - DisPlay_Task(); - 246a: e0000acf bsr 0x3a08 // 3a08 - - BUS485Send_Task(); - 246e: e00008c7 bsr 0x35fc // 35fc - 2472: 07f2 br 0x2456 // 2456 - 2474: 20000448 .long 0x20000448 - 2478: 00005eb8 .long 0x00005eb8 - -Disassembly of section .text.delay_nms: - -0000247c : -//software delay -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void delay_nms(unsigned int t) -{ - 247c: 14d0 push r15 - 247e: 1423 subi r14, r14, 12 - volatile unsigned int i,j ,k=0; - j = 50* t; - 2480: 3232 movi r2, 50 - volatile unsigned int i,j ,k=0; - 2482: 3300 movi r3, 0 - j = 50* t; - 2484: 7c08 mult r0, r2 - volatile unsigned int i,j ,k=0; - 2486: b862 st.w r3, (r14, 0x8) - j = 50* t; - 2488: b801 st.w r0, (r14, 0x4) - for ( i = 0; i < j; i++ ) - 248a: b860 st.w r3, (r14, 0x0) - 248c: 9840 ld.w r2, (r14, 0x0) - 248e: 9861 ld.w r3, (r14, 0x4) - 2490: 64c8 cmphs r2, r3 - 2492: 0c03 bf 0x2498 // 2498 - { - k++; - SYSCON_IWDCNT_Reload(); - } -} - 2494: 1403 addi r14, r14, 12 - 2496: 1490 pop r15 - k++; - 2498: 9862 ld.w r3, (r14, 0x8) - 249a: 2300 addi r3, 1 - 249c: b862 st.w r3, (r14, 0x8) - SYSCON_IWDCNT_Reload(); - 249e: e3fffbe3 bsr 0x1c64 // 1c64 - for ( i = 0; i < j; i++ ) - 24a2: 9860 ld.w r3, (r14, 0x0) - 24a4: 2300 addi r3, 1 - 24a6: 07f2 br 0x248a // 248a - -Disassembly of section .text.delay_nus: - -000024a8 : -void delay_nus(unsigned int t) -{ - 24a8: 1423 subi r14, r14, 12 - volatile unsigned int i,j ,k=0; - 24aa: 3300 movi r3, 0 - 24ac: b862 st.w r3, (r14, 0x8) - j = 1* t; - 24ae: b801 st.w r0, (r14, 0x4) - for ( i = 0; i < j; i++ ) - 24b0: b860 st.w r3, (r14, 0x0) - 24b2: 9840 ld.w r2, (r14, 0x0) - 24b4: 9861 ld.w r3, (r14, 0x4) - 24b6: 64c8 cmphs r2, r3 - 24b8: 0c03 bf 0x24be // 24be - { - k++; - } -} - 24ba: 1403 addi r14, r14, 12 - 24bc: 783c jmp r15 - k++; - 24be: 9862 ld.w r3, (r14, 0x8) - 24c0: 2300 addi r3, 1 - 24c2: b862 st.w r3, (r14, 0x8) - for ( i = 0; i < j; i++ ) - 24c4: 9860 ld.w r3, (r14, 0x0) - 24c6: 2300 addi r3, 1 - 24c8: 07f4 br 0x24b0 // 24b0 - -Disassembly of section .text.BT_CONFIG: - -000024cc : -//BT Initial -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void BT_CONFIG(void) -{ - 24cc: 14d2 push r4-r5, r15 - 24ce: 1424 subi r14, r14, 16 -// BT_ConfigInterrupt_CMD(BT0,ENABLE,BT_PEND); -// BT0_INT_ENABLE(); - - - //100us 定时器初始化 - BT_DeInit(BT1); - 24d0: 1095 lrw r4, 0x20000008 // 2524 - BT_Configure(BT1,BTCLK_EN,0,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV); - 24d2: 3500 movi r5, 0 - BT_DeInit(BT1); - 24d4: 9400 ld.w r0, (r4, 0x0) - 24d6: e3fffe21 bsr 0x2118 // 2118 - BT_Configure(BT1,BTCLK_EN,0,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV); - 24da: 9400 ld.w r0, (r4, 0x0) - 24dc: b8a1 st.w r5, (r14, 0x4) - 24de: b8a0 st.w r5, (r14, 0x0) - 24e0: 3308 movi r3, 8 - 24e2: 3200 movi r2, 0 - 24e4: 3101 movi r1, 1 - 24e6: e3fffe30 bsr 0x2146 // 2146 - BT_ControlSet_Configure(BT1,BT_START_HIGH,BT_IDLE_LOW,BT_SYNC_DIS,BT_SYNCMD_DIS,BT_OSTMDX_ONCE,BT_AREARM_DIS,BT_CNTRLD_EN); - 24ea: 3380 movi r3, 128 - 24ec: 4363 lsli r3, r3, 3 - 24ee: b861 st.w r3, (r14, 0x4) - 24f0: 9400 ld.w r0, (r4, 0x0) - 24f2: 3300 movi r3, 0 - 24f4: b8a3 st.w r5, (r14, 0xc) - 24f6: b8a2 st.w r5, (r14, 0x8) - 24f8: b8a0 st.w r5, (r14, 0x0) - 24fa: 3200 movi r2, 0 - 24fc: 3180 movi r1, 128 - 24fe: e3fffe30 bsr 0x215e // 215e - BT_Period_CMP_Write(BT1,4780,1); - 2502: 3201 movi r2, 1 - 2504: 1029 lrw r1, 0x12ac // 2528 - 2506: 9400 ld.w r0, (r4, 0x0) - 2508: e3fffe41 bsr 0x218a // 218a - BT_Start(BT1); - 250c: 9400 ld.w r0, (r4, 0x0) - 250e: e3fffe13 bsr 0x2134 // 2134 - BT_ConfigInterrupt_CMD(BT1,ENABLE,BT_CMP); - 2512: 9400 ld.w r0, (r4, 0x0) - 2514: 3202 movi r2, 2 - 2516: 3101 movi r1, 1 - 2518: e3fffe3c bsr 0x2190 // 2190 - BT1_INT_ENABLE(); - 251c: e3fffe44 bsr 0x21a4 // 21a4 - -} - 2520: 1404 addi r14, r14, 16 - 2522: 1492 pop r4-r5, r15 - 2524: 20000008 .long 0x20000008 - 2528: 000012ac .long 0x000012ac - -Disassembly of section .text.SYSCON_CONFIG: - -0000252c : -//syscon Functions -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void SYSCON_CONFIG(void) -{ - 252c: 14d0 push r15 - 252e: 1421 subi r14, r14, 4 -//------SYSTEM CLK AND PCLK FUNTION---------------------------/ - SYSCON_RST_VALUE(); //SYSCON all register clr - 2530: e3fffae6 bsr 0x1afc // 1afc - SYSCON_General_CMD(ENABLE,ENDIS_ISOSC); //SYSCON enable/disable clock source - 2534: 3101 movi r1, 1 - 2536: 3001 movi r0, 1 - 2538: e3fffb08 bsr 0x1b48 // 1b48 - //EMOSC_OSTR_Config(0XAD,0X1f,EM_LFSEL_EN,EM_FLEN_EN,EM_FLSEL_10ns); //EM_CNT=0X3FF,0xAD(36K),EM_GM=0,Low F modedisable,EM filter disable,if enable,cont set 5ns - //SYSCON_General_CMD(ENABLE,ENDIS_EMOSC); - SYSCON_HFOSC_SELECTE(HFOSC_SELECTE_48M); //HFOSC selected 48MHz - 253c: 3000 movi r0, 0 - 253e: e3fffb61 bsr 0x1c00 // 1c00 - SystemCLK_HCLKDIV_PCLKDIV_Config(SYSCLK_HFOSC,HCLK_DIV_1,PCLK_DIV_1,HFOSC_48M);//system clock set, Hclk div ,Pclk div set system clock=SystemCLK/Hclk div/Pclk div - 2542: 3180 movi r1, 128 - 2544: 3308 movi r3, 8 - 2546: 3200 movi r2, 0 - 2548: 4121 lsli r1, r1, 1 - 254a: 3002 movi r0, 2 - 254c: e3fffb16 bsr 0x1b78 // 1b78 -//------------ WDT FUNTION --------------------------------/ - SYSCON_IWDCNT_Config(IWDT_TIME_500MS,IWDT_INTW_DIV_7); //WDT TIME 1s,WDT alarm interrupt time=1s-1s*1/8=0.875S - 2550: 3080 movi r0, 128 - 2552: 3118 movi r1, 24 - 2554: 4002 lsli r0, r0, 2 - 2556: e3fffb91 bsr 0x1c78 // 1c78 - SYSCON_WDT_CMD(ENABLE); //enable/disable WDT - 255a: 3001 movi r0, 1 - 255c: e3fffb66 bsr 0x1c28 // 1c28 - SYSCON_IWDCNT_Reload(); //reload WDT - 2560: e3fffb82 bsr 0x1c64 // 1c64 - IWDT_Int_Enable(); - 2564: e3fffbb4 bsr 0x1ccc // 1ccc - //WWDT_CMD(ENABLE); //enable wwdt -//------------ CLO Output --------------------------------/ - //SYSCON_CLO_CONFIG(CLO_PA08); //CLO output setting - //SYSCON_CLO_SRC_SET(CLO_HFCLK,CLO_DIV16); //CLO output clock and div -//------------ LVD FUNTION --------------------------------/ - SYSCON_LVD_Config(ENABLE_LVDEN,INTDET_LVL_3_9V,RSTDET_LVL_1_9V,ENABLE_LVD_INT,INTDET_POL_fall); //LVD LVR Enable/Disable - 2568: 3340 movi r3, 64 - 256a: b860 st.w r3, (r14, 0x0) - 256c: 31c0 movi r1, 192 - 256e: 3380 movi r3, 128 - 2570: 4364 lsli r3, r3, 4 - 2572: 3200 movi r2, 0 - 2574: 4123 lsli r1, r1, 3 - 2576: 3000 movi r0, 0 - 2578: e3fffb8c bsr 0x1c90 // 1c90 - LVD_Int_Enable(); - 257c: e3fffb9a bsr 0x1cb0 // 1cb0 -//------------ SYSCON Vector --------------------------------/ - SYSCON_Int_Enable(); //SYSCON VECTOR - 2580: e3fffbf8 bsr 0x1d70 // 1d70 - //SYSCON_WakeUp_Enable(); //Enable WDT wakeup INT -//------------------------------------------------------------/ -//OSC CLOCK Calibration -//------------------------------------------------------------/ - std_clk_calib(CLK_HFOSC_48M); //Select the same clock source as the system - 2584: 3000 movi r0, 0 - 2586: e0001ab5 bsr 0x5af0 // 5af0 - -} - 258a: 1401 addi r14, r14, 4 - 258c: 1490 pop r15 - -Disassembly of section .text.APT32F102_init: - -00002590 : -//APT32F102_init / -//EntryParameter:NONE / -//ReturnValue:NONE / -/*********************************************************************************/ -void APT32F102_init(void) -{ - 2590: 14d0 push r15 - Sys_RSR = 0x00000000; - Sys_RSR = SYSCON->RSR; //读取复位源 2024-03-15 - 2592: 107f lrw r3, 0x2000005c // 260c - Sys_RSR = 0x00000000; - 2594: 105f lrw r2, 0x200000ac // 2610 - 2596: 3100 movi r1, 0 - Sys_RSR = SYSCON->RSR; //读取复位源 2024-03-15 - 2598: 9360 ld.w r3, (r3, 0x0) - 259a: 3080 movi r0, 128 - Sys_RSR = 0x00000000; - 259c: b220 st.w r1, (r2, 0x0) - Sys_RSR = SYSCON->RSR; //读取复位源 2024-03-15 - 259e: 600c addu r0, r3 - 25a0: 9004 ld.w r0, (r0, 0x10) - 25a2: b200 st.w r0, (r2, 0x0) - - Sav_Temp = 0x00000000; - 25a4: 105c lrw r2, 0x200000a8 // 2614 - 25a6: b220 st.w r1, (r2, 0x0) - Sav_Temp = SYSCON->UREG0; //读取保存的温控数据 2024-03-15 - 25a8: 3180 movi r1, 128 - 25aa: 4121 lsli r1, r1, 1 - 25ac: 604c addu r1, r3 - 25ae: 9120 ld.w r1, (r1, 0x0) - 25b0: b220 st.w r1, (r2, 0x0) -//------------------------------------------------------------/ -//Peripheral clock enable and disable -//EntryParameter:NONE -//ReturnValue:NONE -//------------------------------------------------------------/ - SYSCON->PCER0=0xFFFFFFF; //PCLK Enable - 25b2: 105a lrw r2, 0xfffffff // 2618 - 25b4: b34a st.w r2, (r3, 0x28) - SYSCON->PCER1=0xFFFFFFF; //PCLK Enable - while(!(SYSCON->PCSR0&0x1)); //Wait PCLK enabled - 25b6: 3101 movi r1, 1 - SYSCON->PCER1=0xFFFFFFF; //PCLK Enable - 25b8: b34d st.w r2, (r3, 0x34) - while(!(SYSCON->PCSR0&0x1)); //Wait PCLK enabled - 25ba: 934c ld.w r2, (r3, 0x30) - 25bc: 6884 and r2, r1 - 25be: 3a40 cmpnei r2, 0 - 25c0: 0ffd bf 0x25ba // 25ba -//------------------------------------------------------------/ -//ISOSC/IMOSC/EMOSC/SYSCLK/IWDT/LVD/EM_CMFAIL/EM_CMRCV/CMD_ERR OSC stable interrupt -//EntryParameter:NONE -//ReturnValue:NONE -//------------------------------------------------------------/ - SYSCON_CONFIG(); //syscon initial - 25c2: e3ffffb5 bsr 0x252c // 252c - CK_CPU_EnAllNormalIrq(); //enable all IRQ - 25c6: e0000573 bsr 0x30ac // 30ac - SYSCON_INT_Priority(); //initial all Priority=0xC0 - 25ca: e3fffbdf bsr 0x1d88 // 1d88 - - //设置中断优先级 0最高,3最低 - Set_INT_Priority(UART2_IRQ,1); //串口优先级最高 - 25ce: 3101 movi r1, 1 - 25d0: 300f movi r0, 15 - 25d2: e3fffbed bsr 0x1dac // 1dac - Set_INT_Priority(UART1_IRQ,1); //串口优先级最高 - 25d6: 3101 movi r1, 1 - 25d8: 300e movi r0, 14 - 25da: e3fffbe9 bsr 0x1dac // 1dac - Set_INT_Priority(EXI3_IRQ, 1); //总线繁忙判断外部IO中断 - 25de: 3101 movi r1, 1 - 25e0: 3016 movi r0, 22 - 25e2: e3fffbe5 bsr 0x1dac // 1dac - - GPIO_DeInit(); //复位所有IO,bootload中初始化了所有IO - 25e6: e3fffbfb bsr 0x1ddc // 1ddc -//------------------------------------------------------------/ -//Other IP config -//------------------------------------------------------------/ - BT_CONFIG(); //BT initial - 25ea: e3ffff71 bsr 0x24cc // 24cc - - UARTx_Init(UART_2,Tem_Rs485_Rec_Pro); //通讯串口 - 25ee: 102c lrw r1, 0x4448 // 261c - 25f0: 3002 movi r0, 2 - 25f2: e0000563 bsr 0x30b8 // 30b8 - UARTx_Init(UART_1,Ctrller_RecData_Processing); //通讯串口 - 25f6: 102b lrw r1, 0x3e44 // 2620 - 25f8: 3001 movi r0, 1 - 25fa: e000055f bsr 0x30b8 // 30b8 - - EEPROM_Init(); - 25fe: e00008fd bsr 0x37f8 // 37f8 - - DIP_Switch_Init(); - 2602: e0000f9d bsr 0x453c // 453c - - TemCtrl_Init(); - 2606: e0000923 bsr 0x384c // 384c - -} - 260a: 1490 pop r15 - 260c: 2000005c .long 0x2000005c - 2610: 200000ac .long 0x200000ac - 2614: 200000a8 .long 0x200000a8 - 2618: 0fffffff .long 0x0fffffff - 261c: 00004448 .long 0x00004448 - 2620: 00003e44 .long 0x00003e44 - -Disassembly of section .text.SYSCONIntHandler: - -00002624 : -//SYSCON Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void SYSCONIntHandler(void) -{ - 2624: 1460 nie - 2626: 1462 ipush - // ISR content ... - nop; - 2628: 6c03 mov r0, r0 - if((SYSCON->MISR&ISOSC_ST)==ISOSC_ST) //ISOSC stable interrupt - 262a: 117a lrw r3, 0x2000005c // 2710 - 262c: 3280 movi r2, 128 - 262e: 9360 ld.w r3, (r3, 0x0) - 2630: 60c8 addu r3, r2 - 2632: 9323 ld.w r1, (r3, 0xc) - 2634: 3001 movi r0, 1 - 2636: 6840 and r1, r0 - 2638: 3940 cmpnei r1, 0 - 263a: 0c04 bf 0x2642 // 2642 - { - SYSCON->ICR = EMOSC_ST; - } - else if((SYSCON->MISR&HFOSC_ST)==HFOSC_ST) //HFOSC stable interrupt - { - SYSCON->ICR = HFOSC_ST; - 263c: b301 st.w r0, (r3, 0x4) - } - else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST) //Command error interrupt - { - SYSCON->ICR = CMD_ERR_ST; - } -} - 263e: 1463 ipop - 2640: 1461 nir - else if((SYSCON->MISR&IMOSC_ST)==IMOSC_ST) //IMOSC stable interrupt - 2642: 9323 ld.w r1, (r3, 0xc) - 2644: 3002 movi r0, 2 - 2646: 6840 and r1, r0 - 2648: 3940 cmpnei r1, 0 - 264a: 0bf9 bt 0x263c // 263c - else if((SYSCON->MISR&EMOSC_ST)==EMOSC_ST) //EMOSC stable interrupt - 264c: 9323 ld.w r1, (r3, 0xc) - 264e: 3008 movi r0, 8 - 2650: 6840 and r1, r0 - 2652: 3940 cmpnei r1, 0 - 2654: 0bf4 bt 0x263c // 263c - else if((SYSCON->MISR&HFOSC_ST)==HFOSC_ST) //HFOSC stable interrupt - 2656: 9323 ld.w r1, (r3, 0xc) - 2658: 3010 movi r0, 16 - 265a: 6840 and r1, r0 - 265c: 3940 cmpnei r1, 0 - 265e: 0bef bt 0x263c // 263c - else if((SYSCON->MISR&SYSCLK_ST)==SYSCLK_ST) //SYSCLK change end & stable interrupt - 2660: 9323 ld.w r1, (r3, 0xc) - 2662: 6848 and r1, r2 - 2664: 3940 cmpnei r1, 0 - 2666: 0c03 bf 0x266c // 266c - SYSCON->ICR = CMD_ERR_ST; - 2668: b341 st.w r2, (r3, 0x4) -} - 266a: 07ea br 0x263e // 263e - else if((SYSCON->MISR&IWDT_INT_ST)==IWDT_INT_ST) //IWDT alarm window interrupt - 266c: 3280 movi r2, 128 - 266e: 9323 ld.w r1, (r3, 0xc) - 2670: 4241 lsli r2, r2, 1 - 2672: 6848 and r1, r2 - 2674: 3940 cmpnei r1, 0 - 2676: 0bf9 bt 0x2668 // 2668 - else if((SYSCON->MISR&WKI_INT_ST)==WKI_INT_ST) - 2678: 3280 movi r2, 128 - 267a: 9323 ld.w r1, (r3, 0xc) - 267c: 4242 lsli r2, r2, 2 - 267e: 6848 and r1, r2 - 2680: 3940 cmpnei r1, 0 - 2682: 0bf3 bt 0x2668 // 2668 - else if((SYSCON->MISR&RAMERRINT_ST)==RAMERRINT_ST) //SRAM check fail interrupt - 2684: 3280 movi r2, 128 - 2686: 9323 ld.w r1, (r3, 0xc) - 2688: 4243 lsli r2, r2, 3 - 268a: 6848 and r1, r2 - 268c: 3940 cmpnei r1, 0 - 268e: 0bed bt 0x2668 // 2668 - else if((SYSCON->MISR&LVD_INT_ST)==LVD_INT_ST) //LVD threshold interrupt - 2690: 3280 movi r2, 128 - 2692: 9323 ld.w r1, (r3, 0xc) - 2694: 4244 lsli r2, r2, 4 - 2696: 6848 and r1, r2 - 2698: 3940 cmpnei r1, 0 - 269a: 0c03 bf 0x26a0 // 26a0 - nop; - 269c: 6c03 mov r0, r0 - 269e: 07e5 br 0x2668 // 2668 - else if((SYSCON->MISR&HWD_ERR_ST)==HWD_ERR_ST) //Hardware Divider divisor = 0 interrupt - 26a0: 3280 movi r2, 128 - 26a2: 9323 ld.w r1, (r3, 0xc) - 26a4: 4245 lsli r2, r2, 5 - 26a6: 6848 and r1, r2 - 26a8: 3940 cmpnei r1, 0 - 26aa: 0bdf bt 0x2668 // 2668 - else if((SYSCON->MISR&EFL_ERR_ST)==EFL_ERR_ST) //Flash check fail interrupt - 26ac: 3280 movi r2, 128 - 26ae: 9323 ld.w r1, (r3, 0xc) - 26b0: 4246 lsli r2, r2, 6 - 26b2: 6848 and r1, r2 - 26b4: 3940 cmpnei r1, 0 - 26b6: 0bd9 bt 0x2668 // 2668 - else if((SYSCON->MISR&OPTERR_INT)==OPTERR_INT) //Option load fail interrupt - 26b8: 3280 movi r2, 128 - 26ba: 9323 ld.w r1, (r3, 0xc) - 26bc: 4247 lsli r2, r2, 7 - 26be: 6848 and r1, r2 - 26c0: 3940 cmpnei r1, 0 - 26c2: 0bd3 bt 0x2668 // 2668 - else if((SYSCON->MISR&EM_CMLST_ST)==EM_CMLST_ST) //EMOSC clock monitor fail interrupt - 26c4: 3280 movi r2, 128 - 26c6: 9323 ld.w r1, (r3, 0xc) - 26c8: 424b lsli r2, r2, 11 - 26ca: 6848 and r1, r2 - 26cc: 3940 cmpnei r1, 0 - 26ce: 0bcd bt 0x2668 // 2668 - else if((SYSCON->MISR&EM_EVTRG0_ST)==EM_EVTRG0_ST) //Event Trigger Channel 0 Interrupt - 26d0: 3280 movi r2, 128 - 26d2: 9323 ld.w r1, (r3, 0xc) - 26d4: 424c lsli r2, r2, 12 - 26d6: 6848 and r1, r2 - 26d8: 3940 cmpnei r1, 0 - 26da: 0bc7 bt 0x2668 // 2668 - else if((SYSCON->MISR&EM_EVTRG1_ST)==EM_EVTRG1_ST) //Event Trigger Channel 1 Interrupt - 26dc: 3280 movi r2, 128 - 26de: 9323 ld.w r1, (r3, 0xc) - 26e0: 424d lsli r2, r2, 13 - 26e2: 6848 and r1, r2 - 26e4: 3940 cmpnei r1, 0 - 26e6: 0bc1 bt 0x2668 // 2668 - else if((SYSCON->MISR&EM_EVTRG2_ST)==EM_EVTRG2_ST) //Event Trigger Channel 2 Interrupt - 26e8: 3280 movi r2, 128 - 26ea: 9323 ld.w r1, (r3, 0xc) - 26ec: 424e lsli r2, r2, 14 - 26ee: 6848 and r1, r2 - 26f0: 3940 cmpnei r1, 0 - 26f2: 0bbb bt 0x2668 // 2668 - else if((SYSCON->MISR&EM_EVTRG3_ST)==EM_EVTRG3_ST) //Event Trigger Channel 3 Interrupt - 26f4: 3280 movi r2, 128 - 26f6: 9323 ld.w r1, (r3, 0xc) - 26f8: 424f lsli r2, r2, 15 - 26fa: 6848 and r1, r2 - 26fc: 3940 cmpnei r1, 0 - 26fe: 0bb5 bt 0x2668 // 2668 - else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST) //Command error interrupt - 2700: 3280 movi r2, 128 - 2702: 9323 ld.w r1, (r3, 0xc) - 2704: 4256 lsli r2, r2, 22 - 2706: 6848 and r1, r2 - 2708: 3940 cmpnei r1, 0 - 270a: 0baf bt 0x2668 // 2668 - 270c: 0799 br 0x263e // 263e - 270e: 0000 bkpt - 2710: 2000005c .long 0x2000005c - -Disassembly of section .text.IFCIntHandler: - -00002714 : -//IFC Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void IFCIntHandler(void) -{ - 2714: 1460 nie - 2716: 1462 ipush - // ISR content ... - if(IFC->MISR&ERS_END_INT) - 2718: 1078 lrw r3, 0x20000060 // 2778 - 271a: 3101 movi r1, 1 - 271c: 9360 ld.w r3, (r3, 0x0) - 271e: 934b ld.w r2, (r3, 0x2c) - 2720: 6884 and r2, r1 - 2722: 3a40 cmpnei r2, 0 - 2724: 0c04 bf 0x272c // 272c - { - IFC->ICR=RGM_END_INT; - } - else if(IFC->MISR&PEP_END_INT) - { - IFC->ICR=PEP_END_INT; - 2726: b32c st.w r1, (r3, 0x30) - } - else if(IFC->MISR&OVW_ERR_INT) - { - IFC->ICR=OVW_ERR_INT; - } -} - 2728: 1463 ipop - 272a: 1461 nir - else if(IFC->MISR&RGM_END_INT) - 272c: 934b ld.w r2, (r3, 0x2c) - 272e: 3102 movi r1, 2 - 2730: 6884 and r2, r1 - 2732: 3a40 cmpnei r2, 0 - 2734: 0bf9 bt 0x2726 // 2726 - else if(IFC->MISR&PEP_END_INT) - 2736: 934b ld.w r2, (r3, 0x2c) - 2738: 3104 movi r1, 4 - 273a: 6884 and r2, r1 - 273c: 3a40 cmpnei r2, 0 - 273e: 0bf4 bt 0x2726 // 2726 - else if(IFC->MISR&PROT_ERR_INT) - 2740: 3280 movi r2, 128 - 2742: 932b ld.w r1, (r3, 0x2c) - 2744: 4245 lsli r2, r2, 5 - 2746: 6848 and r1, r2 - 2748: 3940 cmpnei r1, 0 - 274a: 0c03 bf 0x2750 // 2750 - IFC->ICR=OVW_ERR_INT; - 274c: b34c st.w r2, (r3, 0x30) -} - 274e: 07ed br 0x2728 // 2728 - else if(IFC->MISR&UDEF_ERR_INT) - 2750: 3280 movi r2, 128 - 2752: 932b ld.w r1, (r3, 0x2c) - 2754: 4246 lsli r2, r2, 6 - 2756: 6848 and r1, r2 - 2758: 3940 cmpnei r1, 0 - 275a: 0bf9 bt 0x274c // 274c - else if(IFC->MISR&ADDR_ERR_INT) - 275c: 3280 movi r2, 128 - 275e: 932b ld.w r1, (r3, 0x2c) - 2760: 4247 lsli r2, r2, 7 - 2762: 6848 and r1, r2 - 2764: 3940 cmpnei r1, 0 - 2766: 0bf3 bt 0x274c // 274c - else if(IFC->MISR&OVW_ERR_INT) - 2768: 3280 movi r2, 128 - 276a: 932b ld.w r1, (r3, 0x2c) - 276c: 4248 lsli r2, r2, 8 - 276e: 6848 and r1, r2 - 2770: 3940 cmpnei r1, 0 - 2772: 0bed bt 0x274c // 274c - 2774: 07da br 0x2728 // 2728 - 2776: 0000 bkpt - 2778: 20000060 .long 0x20000060 - -Disassembly of section .text.ADCIntHandler: - -0000277c : -//ADC Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void ADCIntHandler(void) -{ - 277c: 1460 nie - 277e: 1462 ipush - // ISR content ... - if((ADC0->SR&ADC12_EOC)==ADC12_EOC) //ADC EOC interrupt - 2780: 1078 lrw r3, 0x20000050 // 27e0 - 2782: 3101 movi r1, 1 - 2784: 9360 ld.w r3, (r3, 0x0) - 2786: 9348 ld.w r2, (r3, 0x20) - 2788: 6884 and r2, r1 - 278a: 3a40 cmpnei r2, 0 - 278c: 0c04 bf 0x2794 // 2794 - { - ADC0->CSR = ADC12_CMP1H; - } - else if((ADC0->SR&ADC12_CMP1L)==ADC12_CMP1L) //ADC CMP1L interrupt. - { - ADC0->CSR = ADC12_CMP1L; - 278e: b327 st.w r1, (r3, 0x1c) - } - else if((ADC0->SR&ADC12_SEQ_END0)==ADC12_SEQ_END0) //ADC SEQ0 interrupt,SEQ1~SEQ15 replace the parameter with ADC12_SEQ_END1~ADC12_SEQ_END15 - { - ADC0->CSR = ADC12_SEQ_END0; - } -} - 2790: 1463 ipop - 2792: 1461 nir - else if((ADC0->SR&ADC12_READY)==ADC12_READY) //ADC READY interrupt - 2794: 9348 ld.w r2, (r3, 0x20) - 2796: 3102 movi r1, 2 - 2798: 6884 and r2, r1 - 279a: 3a40 cmpnei r2, 0 - 279c: 0bf9 bt 0x278e // 278e - else if((ADC0->SR&ADC12_OVR)==ADC12_OVR) //ADC OVR interrupt - 279e: 9348 ld.w r2, (r3, 0x20) - 27a0: 3104 movi r1, 4 - 27a2: 6884 and r2, r1 - 27a4: 3a40 cmpnei r2, 0 - 27a6: 0bf4 bt 0x278e // 278e - else if((ADC0->SR&ADC12_CMP0H)==ADC12_CMP0H) //ADC CMP0H interrupt - 27a8: 9348 ld.w r2, (r3, 0x20) - 27aa: 3110 movi r1, 16 - 27ac: 6884 and r2, r1 - 27ae: 3a40 cmpnei r2, 0 - 27b0: 0bef bt 0x278e // 278e - else if((ADC0->SR&ADC12_CMP0L)==ADC12_CMP0L) //ADC CMP0L interrupt. - 27b2: 9348 ld.w r2, (r3, 0x20) - 27b4: 3120 movi r1, 32 - 27b6: 6884 and r2, r1 - 27b8: 3a40 cmpnei r2, 0 - 27ba: 0bea bt 0x278e // 278e - else if((ADC0->SR&ADC12_CMP1H)==ADC12_CMP1H) //ADC CMP1H interrupt. - 27bc: 9348 ld.w r2, (r3, 0x20) - 27be: 3140 movi r1, 64 - 27c0: 6884 and r2, r1 - 27c2: 3a40 cmpnei r2, 0 - 27c4: 0be5 bt 0x278e // 278e - else if((ADC0->SR&ADC12_CMP1L)==ADC12_CMP1L) //ADC CMP1L interrupt. - 27c6: 9348 ld.w r2, (r3, 0x20) - 27c8: 3180 movi r1, 128 - 27ca: 6884 and r2, r1 - 27cc: 3a40 cmpnei r2, 0 - 27ce: 0be0 bt 0x278e // 278e - else if((ADC0->SR&ADC12_SEQ_END0)==ADC12_SEQ_END0) //ADC SEQ0 interrupt,SEQ1~SEQ15 replace the parameter with ADC12_SEQ_END1~ADC12_SEQ_END15 - 27d0: 3280 movi r2, 128 - 27d2: 9328 ld.w r1, (r3, 0x20) - 27d4: 4249 lsli r2, r2, 9 - 27d6: 6848 and r1, r2 - 27d8: 3940 cmpnei r1, 0 - 27da: 0fdb bf 0x2790 // 2790 - ADC0->CSR = ADC12_SEQ_END0; - 27dc: b347 st.w r2, (r3, 0x1c) -} - 27de: 07d9 br 0x2790 // 2790 - 27e0: 20000050 .long 0x20000050 - -Disassembly of section .text.EPT0IntHandler: - -000027e4 : -//EPT0 Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void EPT0IntHandler(void) -{ - 27e4: 1460 nie - 27e6: 1462 ipush - 27e8: 14d1 push r4, r15 - // ISR content ... - if((EPT0->MISR&EPT_TRGEV0_INT)==EPT_TRGEV0_INT) //TRGEV0 interrupt - 27ea: 1387 lrw r4, 0x20000020 // 2984 - 27ec: 3280 movi r2, 128 - 27ee: 9460 ld.w r3, (r4, 0x0) - 27f0: 60c8 addu r3, r2 - 27f2: 9335 ld.w r1, (r3, 0x54) - 27f4: 3001 movi r0, 1 - 27f6: 6840 and r1, r0 - 27f8: 3940 cmpnei r1, 0 - 27fa: 0c03 bf 0x2800 // 2800 - EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIFT); - R_CMPB_BUF=EPT0->CMPB; //Duty counter - } - else if((EPT0->MISR&EPT_CAP_LD2)==EPT_CAP_LD2) //Capture Load to CMPC interrupt - { - EPT0->ICR=EPT_CAP_LD2; - 27fc: b317 st.w r0, (r3, 0x5c) - 27fe: 0424 br 0x2846 // 2846 - else if((EPT0->MISR&EPT_TRGEV1_INT)==EPT_TRGEV1_INT) //TRGEV1 interrupt - 2800: 9335 ld.w r1, (r3, 0x54) - 2802: 3002 movi r0, 2 - 2804: 6840 and r1, r0 - 2806: 3940 cmpnei r1, 0 - 2808: 0bfa bt 0x27fc // 27fc - else if((EPT0->MISR&EPT_TRGEV2_INT)==EPT_TRGEV2_INT) //TRGEV2 interrupt - 280a: 9335 ld.w r1, (r3, 0x54) - 280c: 3004 movi r0, 4 - 280e: 6840 and r1, r0 - 2810: 3940 cmpnei r1, 0 - 2812: 0bf5 bt 0x27fc // 27fc - else if((EPT0->MISR&EPT_TRGEV3_INT)==EPT_TRGEV3_INT) //TRGEV3 interrupt - 2814: 9335 ld.w r1, (r3, 0x54) - 2816: 3008 movi r0, 8 - 2818: 6840 and r1, r0 - 281a: 3940 cmpnei r1, 0 - 281c: 0bf0 bt 0x27fc // 27fc - else if((EPT0->MISR&EPT_CAP_LD0)==EPT_CAP_LD0) //Capture Load to CMPA interrupt - 281e: 9335 ld.w r1, (r3, 0x54) - 2820: 3010 movi r0, 16 - 2822: 6840 and r1, r0 - 2824: 3940 cmpnei r1, 0 - 2826: 0c1f bf 0x2864 // 2864 - EPT0->ICR=EPT_CAP_LD0; - 2828: b317 st.w r0, (r3, 0x5c) - EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIRT); - 282a: 3200 movi r2, 0 - 282c: 3101 movi r1, 1 - 282e: 3000 movi r0, 0 - 2830: e3fffa5c bsr 0x1ce8 // 1ce8 - EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIFT); - 2834: 3201 movi r2, 1 - 2836: 3101 movi r1, 1 - 2838: 3001 movi r0, 1 - 283a: e3fffa57 bsr 0x1ce8 // 1ce8 - R_CMPA_BUF=EPT0->CMPA; //Low voltage counter - 283e: 9460 ld.w r3, (r4, 0x0) - 2840: 934b ld.w r2, (r3, 0x2c) - 2842: 1272 lrw r3, 0x200001e0 // 2988 - R_CMPB_BUF=EPT0->CMPB; //Duty counter - 2844: b340 st.w r2, (r3, 0x0) - EPT0->ICR=EPT_PEND; - //EPT_PRDR_CMPA_CMPB_CMPC_CMPD_Config(50,0,50,0,0); - EPT_Stop(); - } - //Emergency interruption - if((EPT0->EMMISR&EPT_EP0_EMINT)==EPT_EP0_EMINT) //interrupt flag of EP0 event - 2846: 9460 ld.w r3, (r4, 0x0) - 2848: 3280 movi r2, 128 - 284a: 60c8 addu r3, r2 - 284c: 932b ld.w r1, (r3, 0x2c) - 284e: 3001 movi r0, 1 - 2850: 6840 and r1, r0 - 2852: 3940 cmpnei r1, 0 - 2854: 0c61 bf 0x2916 // 2916 - { - EPT0->EMICR=EPT_EP5_EMINT; - } - else if((EPT0->EMMISR&EPT_EP6_EMINT)==EPT_EP6_EMINT) //interrupt flag of EP6 event - { - EPT0->EMICR=EPT_EP6_EMINT; - 2856: b30d st.w r0, (r3, 0x34) - } - else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT) //interrupt flag of EOM_FAULT event - { - EPT0->EMICR=EPT_EOM_FAULT_EMINT; - } -} - 2858: d9ee2001 ld.w r15, (r14, 0x4) - 285c: 9880 ld.w r4, (r14, 0x0) - 285e: 1402 addi r14, r14, 8 - 2860: 1463 ipop - 2862: 1461 nir - else if((EPT0->MISR&EPT_CAP_LD1)==EPT_CAP_LD1) //Capture Load to CMPB interrupt - 2864: 9335 ld.w r1, (r3, 0x54) - 2866: 3020 movi r0, 32 - 2868: 6840 and r1, r0 - 286a: 3940 cmpnei r1, 0 - 286c: 0c10 bf 0x288c // 288c - EPT0->ICR=EPT_CAP_LD1; - 286e: b317 st.w r0, (r3, 0x5c) - EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIRT); - 2870: 3200 movi r2, 0 - 2872: 3101 movi r1, 1 - 2874: 3001 movi r0, 1 - 2876: e3fffa39 bsr 0x1ce8 // 1ce8 - EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIFT); - 287a: 3201 movi r2, 1 - 287c: 3101 movi r1, 1 - 287e: 3000 movi r0, 0 - 2880: e3fffa34 bsr 0x1ce8 // 1ce8 - R_CMPB_BUF=EPT0->CMPB; //Duty counter - 2884: 9460 ld.w r3, (r4, 0x0) - 2886: 934c ld.w r2, (r3, 0x30) - 2888: 1261 lrw r3, 0x200001dc // 298c - 288a: 07dd br 0x2844 // 2844 - else if((EPT0->MISR&EPT_CAP_LD2)==EPT_CAP_LD2) //Capture Load to CMPC interrupt - 288c: 9335 ld.w r1, (r3, 0x54) - 288e: 3040 movi r0, 64 - 2890: 6840 and r1, r0 - 2892: 3940 cmpnei r1, 0 - 2894: 0bb4 bt 0x27fc // 27fc - else if((EPT0->MISR&EPT_CAP_LD3)==EPT_CAP_LD3) //Capture Load to CMPD interrupt - 2896: 9335 ld.w r1, (r3, 0x54) - 2898: 6848 and r1, r2 - 289a: 3940 cmpnei r1, 0 - 289c: 0c03 bf 0x28a2 // 28a2 - EPT0->ICR=EPT_CDD; - 289e: b357 st.w r2, (r3, 0x5c) - 28a0: 07d3 br 0x2846 // 2846 - else if((EPT0->MISR&EPT_CAU)==EPT_CAU) //Up-Counting phase CNT = CMPA interrupt - 28a2: 3280 movi r2, 128 - 28a4: 9335 ld.w r1, (r3, 0x54) - 28a6: 4241 lsli r2, r2, 1 - 28a8: 6848 and r1, r2 - 28aa: 3940 cmpnei r1, 0 - 28ac: 0bf9 bt 0x289e // 289e - else if((EPT0->MISR&EPT_CAD)==EPT_CAD) //Down-Counting phase CNT = CMPA interrupt - 28ae: 3280 movi r2, 128 - 28b0: 9335 ld.w r1, (r3, 0x54) - 28b2: 4242 lsli r2, r2, 2 - 28b4: 6848 and r1, r2 - 28b6: 3940 cmpnei r1, 0 - 28b8: 0bf3 bt 0x289e // 289e - else if((EPT0->MISR&EPT_CBU)==EPT_CBU) //Up-Counting phase CNT = CMPB interrupt - 28ba: 3280 movi r2, 128 - 28bc: 9335 ld.w r1, (r3, 0x54) - 28be: 4243 lsli r2, r2, 3 - 28c0: 6848 and r1, r2 - 28c2: 3940 cmpnei r1, 0 - 28c4: 0bed bt 0x289e // 289e - else if((EPT0->MISR&EPT_CBD)==EPT_CBD) //Down-Counting phase CNT = CMPB interrupt - 28c6: 3280 movi r2, 128 - 28c8: 9335 ld.w r1, (r3, 0x54) - 28ca: 4244 lsli r2, r2, 4 - 28cc: 6848 and r1, r2 - 28ce: 3940 cmpnei r1, 0 - 28d0: 0be7 bt 0x289e // 289e - else if((EPT0->MISR&EPT_CCU)==EPT_CCU) //Up-Counting phase CNT = CMPC interrupt - 28d2: 3280 movi r2, 128 - 28d4: 9335 ld.w r1, (r3, 0x54) - 28d6: 4245 lsli r2, r2, 5 - 28d8: 6848 and r1, r2 - 28da: 3940 cmpnei r1, 0 - 28dc: 0be1 bt 0x289e // 289e - else if((EPT0->MISR&EPT_CCD)==EPT_CCD) //Down-Counting phase CNT = CMPC interrupt - 28de: 3280 movi r2, 128 - 28e0: 9335 ld.w r1, (r3, 0x54) - 28e2: 4246 lsli r2, r2, 6 - 28e4: 6848 and r1, r2 - 28e6: 3940 cmpnei r1, 0 - 28e8: 0bdb bt 0x289e // 289e - else if((EPT0->MISR&EPT_CDU)==EPT_CDU) //Up-Counting phase CNT = CMPD interrupt - 28ea: 3280 movi r2, 128 - 28ec: 9335 ld.w r1, (r3, 0x54) - 28ee: 4247 lsli r2, r2, 7 - 28f0: 6848 and r1, r2 - 28f2: 3940 cmpnei r1, 0 - 28f4: 0bd5 bt 0x289e // 289e - else if((EPT0->MISR&EPT_CDD)==EPT_CDD) //Down-Counting phase CNT = CMPD interrupt - 28f6: 3280 movi r2, 128 - 28f8: 9335 ld.w r1, (r3, 0x54) - 28fa: 4248 lsli r2, r2, 8 - 28fc: 6848 and r1, r2 - 28fe: 3940 cmpnei r1, 0 - 2900: 0bcf bt 0x289e // 289e - else if((EPT0->MISR&EPT_PEND)==EPT_PEND) //End of cycle interrupt - 2902: 3280 movi r2, 128 - 2904: 9335 ld.w r1, (r3, 0x54) - 2906: 4249 lsli r2, r2, 9 - 2908: 6848 and r1, r2 - 290a: 3940 cmpnei r1, 0 - 290c: 0f9d bf 0x2846 // 2846 - EPT0->ICR=EPT_PEND; - 290e: b357 st.w r2, (r3, 0x5c) - EPT_Stop(); - 2910: e3fffd20 bsr 0x2350 // 2350 - 2914: 0799 br 0x2846 // 2846 - else if((EPT0->EMMISR&EPT_EP1_EMINT)==EPT_EP1_EMINT) //interrupt flag of EP1 event - 2916: 932b ld.w r1, (r3, 0x2c) - 2918: 3002 movi r0, 2 - 291a: 6840 and r1, r0 - 291c: 3940 cmpnei r1, 0 - 291e: 0b9c bt 0x2856 // 2856 - else if((EPT0->EMMISR&EPT_EP2_EMINT)==EPT_EP2_EMINT) //interrupt flag of EP2 event - 2920: 932b ld.w r1, (r3, 0x2c) - 2922: 3004 movi r0, 4 - 2924: 6840 and r1, r0 - 2926: 3940 cmpnei r1, 0 - 2928: 0b97 bt 0x2856 // 2856 - else if((EPT0->EMMISR&EPT_EP3_EMINT)==EPT_EP3_EMINT) //interrupt flag of EP3 event - 292a: 932b ld.w r1, (r3, 0x2c) - 292c: 3008 movi r0, 8 - 292e: 6840 and r1, r0 - 2930: 3940 cmpnei r1, 0 - 2932: 0b92 bt 0x2856 // 2856 - else if((EPT0->EMMISR&EPT_EP4_EMINT)==EPT_EP4_EMINT) //interrupt flag of EP4 event - 2934: 932b ld.w r1, (r3, 0x2c) - 2936: 3010 movi r0, 16 - 2938: 6840 and r1, r0 - 293a: 3940 cmpnei r1, 0 - 293c: 0b8d bt 0x2856 // 2856 - else if((EPT0->EMMISR&EPT_EP5_EMINT)==EPT_EP5_EMINT) //interrupt flag of EP5 event - 293e: 932b ld.w r1, (r3, 0x2c) - 2940: 3020 movi r0, 32 - 2942: 6840 and r1, r0 - 2944: 3940 cmpnei r1, 0 - 2946: 0b88 bt 0x2856 // 2856 - else if((EPT0->EMMISR&EPT_EP6_EMINT)==EPT_EP6_EMINT) //interrupt flag of EP6 event - 2948: 932b ld.w r1, (r3, 0x2c) - 294a: 3040 movi r0, 64 - 294c: 6840 and r1, r0 - 294e: 3940 cmpnei r1, 0 - 2950: 0b83 bt 0x2856 // 2856 - else if((EPT0->EMMISR&EPT_EP7_EMINT)==EPT_EP7_EMINT) //interrupt flag of EP7 event - 2952: 932b ld.w r1, (r3, 0x2c) - 2954: 6848 and r1, r2 - 2956: 3940 cmpnei r1, 0 - 2958: 0c03 bf 0x295e // 295e - EPT0->EMICR=EPT_EOM_FAULT_EMINT; - 295a: b34d st.w r2, (r3, 0x34) -} - 295c: 077e br 0x2858 // 2858 - else if((EPT0->EMMISR&EPT_CPU_FAULT_EMINT)==EPT_CPU_FAULT_EMINT) //interrupt flag of CPU_FAULT event - 295e: 3280 movi r2, 128 - 2960: 932b ld.w r1, (r3, 0x2c) - 2962: 4241 lsli r2, r2, 1 - 2964: 6848 and r1, r2 - 2966: 3940 cmpnei r1, 0 - 2968: 0bf9 bt 0x295a // 295a - else if((EPT0->EMMISR&EPT_MEM_FAULT_EMINT)==EPT_MEM_FAULT_EMINT) //interrupt flag of MEM_FAULT event - 296a: 3280 movi r2, 128 - 296c: 932b ld.w r1, (r3, 0x2c) - 296e: 4242 lsli r2, r2, 2 - 2970: 6848 and r1, r2 - 2972: 3940 cmpnei r1, 0 - 2974: 0bf3 bt 0x295a // 295a - else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT) //interrupt flag of EOM_FAULT event - 2976: 3280 movi r2, 128 - 2978: 932b ld.w r1, (r3, 0x2c) - 297a: 4243 lsli r2, r2, 3 - 297c: 6848 and r1, r2 - 297e: 3940 cmpnei r1, 0 - 2980: 0bed bt 0x295a // 295a - 2982: 076b br 0x2858 // 2858 - 2984: 20000020 .long 0x20000020 - 2988: 200001e0 .long 0x200001e0 - 298c: 200001dc .long 0x200001dc - -Disassembly of section .text.WWDTHandler: - -00002990 : -//WWDT Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void WWDTHandler(void) -{ - 2990: 1460 nie - 2992: 1462 ipush - 2994: 14d2 push r4-r5, r15 - WWDT->ICR=0X01; - 2996: 10ab lrw r5, 0x20000010 // 29c0 - 2998: 3401 movi r4, 1 - 299a: 9560 ld.w r3, (r5, 0x0) - 299c: b385 st.w r4, (r3, 0x14) - WWDT_CNT_Load(0xFF); - 299e: 30ff movi r0, 255 - 29a0: e3fffbb4 bsr 0x2108 // 2108 - if((WWDT->MISR&WWDT_EVI)==WWDT_EVI) //WWDT EVI interrupt - 29a4: 9540 ld.w r2, (r5, 0x0) - 29a6: 9263 ld.w r3, (r2, 0xc) - 29a8: 68d0 and r3, r4 - 29aa: 3b40 cmpnei r3, 0 - 29ac: 0c02 bf 0x29b0 // 29b0 - { - WWDT->ICR = WWDT_EVI; - 29ae: b285 st.w r4, (r2, 0x14) - } -} - 29b0: d9ee2002 ld.w r15, (r14, 0x8) - 29b4: 98a1 ld.w r5, (r14, 0x4) - 29b6: 9880 ld.w r4, (r14, 0x0) - 29b8: 1403 addi r14, r14, 12 - 29ba: 1463 ipop - 29bc: 1461 nir - 29be: 0000 bkpt - 29c0: 20000010 .long 0x20000010 - -Disassembly of section .text.GPT0IntHandler: - -000029c4 : -//GPT0 Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void GPT0IntHandler(void) -{ - 29c4: 1460 nie - 29c6: 1462 ipush - // ISR content ... - if((GPT0->MISR&GPT_INT_TRGEV0)==GPT_INT_TRGEV0) //TRGEV0 interrupt - 29c8: 107e lrw r3, 0x20000024 // 2a40 - 29ca: 3101 movi r1, 1 - 29cc: 9360 ld.w r3, (r3, 0x0) - 29ce: 237f addi r3, 128 - 29d0: 9355 ld.w r2, (r3, 0x54) - 29d2: 6884 and r2, r1 - 29d4: 3a40 cmpnei r2, 0 - 29d6: 0c04 bf 0x29de // 29de - { - GPT0->ICR = GPT_INT_CAPLD0; - } - else if((GPT0->MISR&GPT_INT_CAPLD1)==GPT_INT_CAPLD1) //Capture Load to CMPB interrupt - { - GPT0->ICR = GPT_INT_CAPLD1; - 29d8: b337 st.w r1, (r3, 0x5c) - } - else if((GPT0->MISR&GPT_INT_PEND)==GPT_INT_PEND) //End of cycle interrupt - { - GPT0->ICR = GPT_INT_PEND; - } -} - 29da: 1463 ipop - 29dc: 1461 nir - else if((GPT0->MISR&GPT_INT_TRGEV1)==GPT_INT_TRGEV1) //TRGEV1 interrupt - 29de: 9355 ld.w r2, (r3, 0x54) - 29e0: 3102 movi r1, 2 - 29e2: 6884 and r2, r1 - 29e4: 3a40 cmpnei r2, 0 - 29e6: 0bf9 bt 0x29d8 // 29d8 - else if((GPT0->MISR&GPT_INT_CAPLD0)==GPT_INT_CAPLD0) //Capture Load to CMPA interrupt - 29e8: 9355 ld.w r2, (r3, 0x54) - 29ea: 3110 movi r1, 16 - 29ec: 6884 and r2, r1 - 29ee: 3a40 cmpnei r2, 0 - 29f0: 0bf4 bt 0x29d8 // 29d8 - else if((GPT0->MISR&GPT_INT_CAPLD1)==GPT_INT_CAPLD1) //Capture Load to CMPB interrupt - 29f2: 9355 ld.w r2, (r3, 0x54) - 29f4: 3120 movi r1, 32 - 29f6: 6884 and r2, r1 - 29f8: 3a40 cmpnei r2, 0 - 29fa: 0bef bt 0x29d8 // 29d8 - else if((GPT0->MISR&GPT_INT_CAU)==GPT_INT_CAU) //Up-Counting phase CNT = CMPA Interrupt - 29fc: 3280 movi r2, 128 - 29fe: 9335 ld.w r1, (r3, 0x54) - 2a00: 4241 lsli r2, r2, 1 - 2a02: 6848 and r1, r2 - 2a04: 3940 cmpnei r1, 0 - 2a06: 0c03 bf 0x2a0c // 2a0c - GPT0->ICR = GPT_INT_PEND; - 2a08: b357 st.w r2, (r3, 0x5c) -} - 2a0a: 07e8 br 0x29da // 29da - else if((GPT0->MISR&GPT_INT_CAD)==GPT_INT_CAD) //Down-Counting phase CNT = CMPA Interrupt - 2a0c: 3280 movi r2, 128 - 2a0e: 9335 ld.w r1, (r3, 0x54) - 2a10: 4242 lsli r2, r2, 2 - 2a12: 6848 and r1, r2 - 2a14: 3940 cmpnei r1, 0 - 2a16: 0bf9 bt 0x2a08 // 2a08 - else if((GPT0->MISR&GPT_INT_CBU)==GPT_INT_CBU) //Up-Counting phase CNT = CMPB Interrupt - 2a18: 3280 movi r2, 128 - 2a1a: 9335 ld.w r1, (r3, 0x54) - 2a1c: 4243 lsli r2, r2, 3 - 2a1e: 6848 and r1, r2 - 2a20: 3940 cmpnei r1, 0 - 2a22: 0bf3 bt 0x2a08 // 2a08 - else if((GPT0->MISR&GPT_INT_CBD)==GPT_INT_CBD) //Down-Counting phase CNT = CMPB Interrupt - 2a24: 3280 movi r2, 128 - 2a26: 9335 ld.w r1, (r3, 0x54) - 2a28: 4244 lsli r2, r2, 4 - 2a2a: 6848 and r1, r2 - 2a2c: 3940 cmpnei r1, 0 - 2a2e: 0bed bt 0x2a08 // 2a08 - else if((GPT0->MISR&GPT_INT_PEND)==GPT_INT_PEND) //End of cycle interrupt - 2a30: 3280 movi r2, 128 - 2a32: 9335 ld.w r1, (r3, 0x54) - 2a34: 4249 lsli r2, r2, 9 - 2a36: 6848 and r1, r2 - 2a38: 3940 cmpnei r1, 0 - 2a3a: 0be7 bt 0x2a08 // 2a08 - 2a3c: 07cf br 0x29da // 29da - 2a3e: 0000 bkpt - 2a40: 20000024 .long 0x20000024 - -Disassembly of section .text.RTCIntHandler: - -00002a44 : -//RTC Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void RTCIntHandler(void) -{ - 2a44: 1460 nie - 2a46: 1462 ipush - // ISR content ... - if((RTC->MISR&ALRA_INT)==ALRA_INT) //Interrupt of alarm A - 2a48: 1079 lrw r3, 0x20000018 // 2aac - 2a4a: 3101 movi r1, 1 - 2a4c: 9360 ld.w r3, (r3, 0x0) - 2a4e: 934a ld.w r2, (r3, 0x28) - 2a50: 6884 and r2, r1 - 2a52: 3a40 cmpnei r2, 0 - 2a54: 0c14 bf 0x2a7c // 2a7c - { - RTC->ICR=ALRA_INT; - RTC->KEY=0XCA53; - 2a56: 1057 lrw r2, 0xca53 // 2ab0 - RTC->ICR=ALRA_INT; - 2a58: b32b st.w r1, (r3, 0x2c) - RTC->KEY=0XCA53; - 2a5a: b34c st.w r2, (r3, 0x30) - RTC->CR=RTC->CR|0x01; - 2a5c: 9342 ld.w r2, (r3, 0x8) - 2a5e: 6c84 or r2, r1 - 2a60: b342 st.w r2, (r3, 0x8) - RTC->TIMR=(0x10<<16)|(0x00<<8)|(0x00); //Hour bit6->0:am 1:pm - 2a62: 3280 movi r2, 128 - 2a64: 424d lsli r2, r2, 13 - 2a66: b340 st.w r2, (r3, 0x0) - while(RTC->CR&0x02); //busy TIMR DATR ALRAR ALRBR Update done - 2a68: 3102 movi r1, 2 - 2a6a: 9342 ld.w r2, (r3, 0x8) - 2a6c: 6884 and r2, r1 - 2a6e: 3a40 cmpnei r2, 0 - 2a70: 0bfd bt 0x2a6a // 2a6a - RTC->CR &= ~0x1; - 2a72: 9342 ld.w r2, (r3, 0x8) - 2a74: 3a80 bclri r2, 0 - 2a76: b342 st.w r2, (r3, 0x8) - } - else if((RTC->MISR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT) //Interrupt of trigger event 1 - { - RTC->ICR=RTC_TRGEV1_INT; - } -} - 2a78: 1463 ipop - 2a7a: 1461 nir - else if((RTC->MISR&ALRB_INT)==ALRB_INT) //Interrupt of alarm B - 2a7c: 934a ld.w r2, (r3, 0x28) - 2a7e: 3102 movi r1, 2 - 2a80: 6884 and r2, r1 - 2a82: 3a40 cmpnei r2, 0 - 2a84: 0c03 bf 0x2a8a // 2a8a - RTC->ICR=RTC_TRGEV1_INT; - 2a86: b32b st.w r1, (r3, 0x2c) -} - 2a88: 07f8 br 0x2a78 // 2a78 - else if((RTC->MISR&CPRD_INT)==CPRD_INT) //Interrupt of alarm CPRD - 2a8a: 934a ld.w r2, (r3, 0x28) - 2a8c: 3104 movi r1, 4 - 2a8e: 6884 and r2, r1 - 2a90: 3a40 cmpnei r2, 0 - 2a92: 0bfa bt 0x2a86 // 2a86 - else if((RTC->MISR&RTC_TRGEV0_INT)==RTC_TRGEV0_INT) //Interrupt of trigger event 0 - 2a94: 934a ld.w r2, (r3, 0x28) - 2a96: 3108 movi r1, 8 - 2a98: 6884 and r2, r1 - 2a9a: 3a40 cmpnei r2, 0 - 2a9c: 0bf5 bt 0x2a86 // 2a86 - else if((RTC->MISR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT) //Interrupt of trigger event 1 - 2a9e: 934a ld.w r2, (r3, 0x28) - 2aa0: 3110 movi r1, 16 - 2aa2: 6884 and r2, r1 - 2aa4: 3a40 cmpnei r2, 0 - 2aa6: 0bf0 bt 0x2a86 // 2a86 - 2aa8: 07e8 br 0x2a78 // 2a78 - 2aaa: 0000 bkpt - 2aac: 20000018 .long 0x20000018 - 2ab0: 0000ca53 .long 0x0000ca53 - -Disassembly of section .text.UART0IntHandler: - -00002ab4 : -//UART0 Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void UART0IntHandler(void) -{ - 2ab4: 1460 nie - 2ab6: 1462 ipush - 2ab8: 14d0 push r15 - char inchar = 0; - - // ISR content ... - if ((UART0->ISR&UART_RX_INT_S)==UART_RX_INT_S) //RX interrupt - 2aba: 1076 lrw r3, 0x20000040 // 2b10 - 2abc: 3102 movi r1, 2 - 2abe: 9360 ld.w r3, (r3, 0x0) - 2ac0: 9343 ld.w r2, (r3, 0xc) - 2ac2: 6884 and r2, r1 - 2ac4: 3a40 cmpnei r2, 0 - 2ac6: 0c0b bf 0x2adc // 2adc - { - UART0->ISR=UART_RX_INT_S; - 2ac8: b323 st.w r1, (r3, 0xc) - inchar = CSP_UART_GET_DATA(UART0); - 2aca: 9300 ld.w r0, (r3, 0x0) - UART0_RecvINT_Processing(inchar); - 2acc: 7400 zextb r0, r0 - 2ace: e00003a1 bsr 0x3210 // 3210 - else if ((UART0->ISR&UART_TX_DONE_S)==UART_TX_DONE_S) - { - UART0->ISR=UART_TX_DONE_S; - } - -} - 2ad2: d9ee2000 ld.w r15, (r14, 0x0) - 2ad6: 1401 addi r14, r14, 4 - 2ad8: 1463 ipop - 2ada: 1461 nir - else if( (UART0->ISR&UART_TX_INT_S)==UART_TX_INT_S ) //TX interrupt - 2adc: 9343 ld.w r2, (r3, 0xc) - 2ade: 3101 movi r1, 1 - 2ae0: 6884 and r2, r1 - 2ae2: 3a40 cmpnei r2, 0 - 2ae4: 0c03 bf 0x2aea // 2aea - UART0->ISR=UART_TX_IOV_S; - 2ae6: b323 st.w r1, (r3, 0xc) - 2ae8: 07f5 br 0x2ad2 // 2ad2 - else if ((UART0->ISR&UART_RX_IOV_S)==UART_RX_IOV_S) //RX overrun interrupt - 2aea: 9343 ld.w r2, (r3, 0xc) - 2aec: 3108 movi r1, 8 - 2aee: 6884 and r2, r1 - 2af0: 3a40 cmpnei r2, 0 - 2af2: 0bfa bt 0x2ae6 // 2ae6 - else if ((UART0->ISR&UART_TX_IOV_S)==UART_TX_IOV_S) //TX overrun interrupt - 2af4: 9343 ld.w r2, (r3, 0xc) - 2af6: 3104 movi r1, 4 - 2af8: 6884 and r2, r1 - 2afa: 3a40 cmpnei r2, 0 - 2afc: 0bf5 bt 0x2ae6 // 2ae6 - else if ((UART0->ISR&UART_TX_DONE_S)==UART_TX_DONE_S) - 2afe: 3280 movi r2, 128 - 2b00: 9323 ld.w r1, (r3, 0xc) - 2b02: 424c lsli r2, r2, 12 - 2b04: 6848 and r1, r2 - 2b06: 3940 cmpnei r1, 0 - 2b08: 0fe5 bf 0x2ad2 // 2ad2 - UART0->ISR=UART_TX_DONE_S; - 2b0a: b343 st.w r2, (r3, 0xc) -} - 2b0c: 07e3 br 0x2ad2 // 2ad2 - 2b0e: 0000 bkpt - 2b10: 20000040 .long 0x20000040 - -Disassembly of section .text.UART1IntHandler: - -00002b14 : -//UART1 Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void UART1IntHandler(void) -{ - 2b14: 1460 nie - 2b16: 1462 ipush - 2b18: 14d0 push r15 - char inchar = 0; - - // ISR content ... - if ((UART1->ISR&UART_RX_INT_S)==UART_RX_INT_S) //RX interrupt - 2b1a: 107f lrw r3, 0x2000003c // 2b94 - 2b1c: 3102 movi r1, 2 - 2b1e: 9360 ld.w r3, (r3, 0x0) - 2b20: 9343 ld.w r2, (r3, 0xc) - 2b22: 6884 and r2, r1 - 2b24: 3a40 cmpnei r2, 0 - 2b26: 0c0b bf 0x2b3c // 2b3c - { - UART1->ISR=UART_RX_INT_S; - 2b28: b323 st.w r1, (r3, 0xc) - inchar = CSP_UART_GET_DATA(UART1); - 2b2a: 9300 ld.w r0, (r3, 0x0) - UART1_RecvINT_Processing(inchar); - 2b2c: 7400 zextb r0, r0 - 2b2e: e000038d bsr 0x3248 // 3248 - if(RS485_Comm_Flag1 == 0x01){ - RS485_Comm_End1 ++; - } - - } -} - 2b32: d9ee2000 ld.w r15, (r14, 0x0) - 2b36: 1401 addi r14, r14, 4 - 2b38: 1463 ipop - 2b3a: 1461 nir - else if( (UART1->ISR&UART_TX_INT_S)==UART_TX_INT_S ) //TX interrupt - 2b3c: 9323 ld.w r1, (r3, 0xc) - 2b3e: 3201 movi r2, 1 - 2b40: 6848 and r1, r2 - 2b42: 3940 cmpnei r1, 0 - 2b44: 0c0d bf 0x2b5e // 2b5e - UART1->ISR=UART_TX_INT_S; - 2b46: b343 st.w r2, (r3, 0xc) - RS485_Comming1 = 0x01; - 2b48: 1074 lrw r3, 0x20000134 // 2b98 - 2b4a: b340 st.w r2, (r3, 0x0) - if(RS485_Comm_Flag1 == 0x01){ - 2b4c: 1074 lrw r3, 0x20000138 // 2b9c - 2b4e: 9360 ld.w r3, (r3, 0x0) - 2b50: 3b41 cmpnei r3, 1 - 2b52: 0bf0 bt 0x2b32 // 2b32 - RS485_Comm_Start1 ++; - 2b54: 1053 lrw r2, 0x2000013c // 2ba0 - RS485_Comm_End1 ++; - 2b56: 9260 ld.w r3, (r2, 0x0) - 2b58: 2300 addi r3, 1 - 2b5a: b260 st.w r3, (r2, 0x0) -} - 2b5c: 07eb br 0x2b32 // 2b32 - else if ((UART1->ISR&UART_RX_IOV_S)==UART_RX_IOV_S) //RX overrun interrupt - 2b5e: 9343 ld.w r2, (r3, 0xc) - 2b60: 3108 movi r1, 8 - 2b62: 6884 and r2, r1 - 2b64: 3a40 cmpnei r2, 0 - 2b66: 0c03 bf 0x2b6c // 2b6c - UART1->ISR=UART_TX_IOV_S; - 2b68: b323 st.w r1, (r3, 0xc) - 2b6a: 07e4 br 0x2b32 // 2b32 - else if ((UART1->ISR&UART_TX_IOV_S)==UART_TX_IOV_S) //TX overrun interrupt - 2b6c: 9343 ld.w r2, (r3, 0xc) - 2b6e: 3104 movi r1, 4 - 2b70: 6884 and r2, r1 - 2b72: 3a40 cmpnei r2, 0 - 2b74: 0bfa bt 0x2b68 // 2b68 - else if ((UART1->ISR&UART_TX_DONE_S)==UART_TX_DONE_S) - 2b76: 3180 movi r1, 128 - 2b78: 9303 ld.w r0, (r3, 0xc) - 2b7a: 412c lsli r1, r1, 12 - 2b7c: 6804 and r0, r1 - 2b7e: 3840 cmpnei r0, 0 - 2b80: 0fd9 bf 0x2b32 // 2b32 - UART1->ISR=UART_TX_DONE_S; - 2b82: b323 st.w r1, (r3, 0xc) - RS485_Comming1 = 0x00; - 2b84: 1065 lrw r3, 0x20000134 // 2b98 - 2b86: b340 st.w r2, (r3, 0x0) - if(RS485_Comm_Flag1 == 0x01){ - 2b88: 1065 lrw r3, 0x20000138 // 2b9c - 2b8a: 9360 ld.w r3, (r3, 0x0) - 2b8c: 3b41 cmpnei r3, 1 - 2b8e: 0bd2 bt 0x2b32 // 2b32 - RS485_Comm_End1 ++; - 2b90: 1045 lrw r2, 0x20000140 // 2ba4 - 2b92: 07e2 br 0x2b56 // 2b56 - 2b94: 2000003c .long 0x2000003c - 2b98: 20000134 .long 0x20000134 - 2b9c: 20000138 .long 0x20000138 - 2ba0: 2000013c .long 0x2000013c - 2ba4: 20000140 .long 0x20000140 - -Disassembly of section .text.UART2IntHandler: - -00002ba8 : -//UART2 Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void UART2IntHandler(void) -{ - 2ba8: 1460 nie - 2baa: 1462 ipush - 2bac: 14d0 push r15 - char inchar = 0; - - // ISR content ... - if ((UART2->ISR&UART_RX_INT_S)==UART_RX_INT_S) //RX interrupt - 2bae: 107f lrw r3, 0x20000038 // 2c28 - 2bb0: 3102 movi r1, 2 - 2bb2: 9360 ld.w r3, (r3, 0x0) - 2bb4: 9343 ld.w r2, (r3, 0xc) - 2bb6: 6884 and r2, r1 - 2bb8: 3a40 cmpnei r2, 0 - 2bba: 0c0b bf 0x2bd0 // 2bd0 - { - UART2->ISR=UART_RX_INT_S; - 2bbc: b323 st.w r1, (r3, 0xc) - inchar = CSP_UART_GET_DATA(UART2); - 2bbe: 9300 ld.w r0, (r3, 0x0) - UART2_RecvINT_Processing(inchar); - 2bc0: 7400 zextb r0, r0 - 2bc2: e0000395 bsr 0x32ec // 32ec - RS485_Comm_End ++; - } - - } - -} - 2bc6: d9ee2000 ld.w r15, (r14, 0x0) - 2bca: 1401 addi r14, r14, 4 - 2bcc: 1463 ipop - 2bce: 1461 nir - else if( (UART2->ISR&UART_TX_INT_S)==UART_TX_INT_S ) //TX interrupt - 2bd0: 9323 ld.w r1, (r3, 0xc) - 2bd2: 3201 movi r2, 1 - 2bd4: 6848 and r1, r2 - 2bd6: 3940 cmpnei r1, 0 - 2bd8: 0c0d bf 0x2bf2 // 2bf2 - UART2->ISR=UART_TX_INT_S; - 2bda: b343 st.w r2, (r3, 0xc) - RS485_Comming = 0x01; - 2bdc: 1074 lrw r3, 0x20000124 // 2c2c - 2bde: b340 st.w r2, (r3, 0x0) - if(RS485_Comm_Flag == 0x01){ - 2be0: 1074 lrw r3, 0x20000128 // 2c30 - 2be2: 9360 ld.w r3, (r3, 0x0) - 2be4: 3b41 cmpnei r3, 1 - 2be6: 0bf0 bt 0x2bc6 // 2bc6 - RS485_Comm_Start ++; - 2be8: 1053 lrw r2, 0x2000012c // 2c34 - RS485_Comm_End ++; - 2bea: 9260 ld.w r3, (r2, 0x0) - 2bec: 2300 addi r3, 1 - 2bee: b260 st.w r3, (r2, 0x0) -} - 2bf0: 07eb br 0x2bc6 // 2bc6 - else if ((UART2->ISR&UART_RX_IOV_S)==UART_RX_IOV_S) //RX overrun interrupt - 2bf2: 9343 ld.w r2, (r3, 0xc) - 2bf4: 3108 movi r1, 8 - 2bf6: 6884 and r2, r1 - 2bf8: 3a40 cmpnei r2, 0 - 2bfa: 0c03 bf 0x2c00 // 2c00 - UART2->ISR=UART_TX_IOV_S; - 2bfc: b323 st.w r1, (r3, 0xc) - 2bfe: 07e4 br 0x2bc6 // 2bc6 - else if ((UART2->ISR&UART_TX_IOV_S)==UART_TX_IOV_S) //TX overrun interrupt - 2c00: 9343 ld.w r2, (r3, 0xc) - 2c02: 3104 movi r1, 4 - 2c04: 6884 and r2, r1 - 2c06: 3a40 cmpnei r2, 0 - 2c08: 0bfa bt 0x2bfc // 2bfc - else if ((UART2->ISR&UART_TX_DONE_S)==UART_TX_DONE_S) - 2c0a: 3180 movi r1, 128 - 2c0c: 9303 ld.w r0, (r3, 0xc) - 2c0e: 412c lsli r1, r1, 12 - 2c10: 6804 and r0, r1 - 2c12: 3840 cmpnei r0, 0 - 2c14: 0fd9 bf 0x2bc6 // 2bc6 - UART2->ISR=UART_TX_DONE_S; - 2c16: b323 st.w r1, (r3, 0xc) - RS485_Comming = 0x00; - 2c18: 1065 lrw r3, 0x20000124 // 2c2c - 2c1a: b340 st.w r2, (r3, 0x0) - if(RS485_Comm_Flag == 0x01){ - 2c1c: 1065 lrw r3, 0x20000128 // 2c30 - 2c1e: 9360 ld.w r3, (r3, 0x0) - 2c20: 3b41 cmpnei r3, 1 - 2c22: 0bd2 bt 0x2bc6 // 2bc6 - RS485_Comm_End ++; - 2c24: 1045 lrw r2, 0x20000130 // 2c38 - 2c26: 07e2 br 0x2bea // 2bea - 2c28: 20000038 .long 0x20000038 - 2c2c: 20000124 .long 0x20000124 - 2c30: 20000128 .long 0x20000128 - 2c34: 2000012c .long 0x2000012c - 2c38: 20000130 .long 0x20000130 - -Disassembly of section .text.SPI0IntHandler: - -00002c3c : -//SPI Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void SPI0IntHandler(void) -{ - 2c3c: 1460 nie - 2c3e: 1462 ipush - // ISR content ... - if((SPI0->MISR&SPI_PORIM)==SPI_PORIM) //Receive Overrun Interrupt - 2c40: 1178 lrw r3, 0x20000034 // 2d20 - 2c42: 3101 movi r1, 1 - 2c44: 9360 ld.w r3, (r3, 0x0) - 2c46: 9347 ld.w r2, (r3, 0x1c) - 2c48: 6884 and r2, r1 - 2c4a: 3a40 cmpnei r2, 0 - 2c4c: 0c03 bf 0x2c52 // 2c52 - } - } - } - else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM) //Transmit FIFO Interrupt - { - SPI0->ICR = SPI_TXIM; - 2c4e: b328 st.w r1, (r3, 0x20) - } - -} - 2c50: 0407 br 0x2c5e // 2c5e - else if((SPI0->MISR&SPI_RTIM)==SPI_RTIM) //Receive Timeout Interrupt - 2c52: 9347 ld.w r2, (r3, 0x1c) - 2c54: 3002 movi r0, 2 - 2c56: 6880 and r2, r0 - 2c58: 3a40 cmpnei r2, 0 - 2c5a: 0c04 bf 0x2c62 // 2c62 - SPI0->ICR = SPI_RTIM; - 2c5c: b308 st.w r0, (r3, 0x20) -} - 2c5e: 1463 ipop - 2c60: 1461 nir - else if((SPI0->MISR&SPI_RXIM)==SPI_RXIM) //Receive FIFO Interrupt,FIFO can be set 1/8,1/4,1/2 FIFO Interrupt - 2c62: 9347 ld.w r2, (r3, 0x1c) - 2c64: 3004 movi r0, 4 - 2c66: 6880 and r2, r0 - 2c68: 3a40 cmpnei r2, 0 - 2c6a: 0c55 bf 0x2d14 // 2d14 - SPI0->ICR = SPI_RXIM; - 2c6c: b308 st.w r0, (r3, 0x20) - if(SPI0->DR==0xaa) - 2c6e: 9302 ld.w r0, (r3, 0x8) - 2c70: 32aa movi r2, 170 - 2c72: 6482 cmpne r0, r2 - 2c74: 083e bt 0x2cf0 // 2cf0 - while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? - 2c76: 3102 movi r1, 2 - 2c78: 9343 ld.w r2, (r3, 0xc) - 2c7a: 6884 and r2, r1 - 2c7c: 3a40 cmpnei r2, 0 - 2c7e: 0ffd bf 0x2c78 // 2c78 - SPI0->DR = 0x11; - 2c80: 3211 movi r2, 17 - 2c82: b342 st.w r2, (r3, 0x8) - while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? - 2c84: 3110 movi r1, 16 - 2c86: 9343 ld.w r2, (r3, 0xc) - 2c88: 6884 and r2, r1 - 2c8a: 3a40 cmpnei r2, 0 - 2c8c: 0bfd bt 0x2c86 // 2c86 - while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? - 2c8e: 3102 movi r1, 2 - 2c90: 9343 ld.w r2, (r3, 0xc) - 2c92: 6884 and r2, r1 - 2c94: 3a40 cmpnei r2, 0 - 2c96: 0ffd bf 0x2c90 // 2c90 - SPI0->DR = 0x12; - 2c98: 3212 movi r2, 18 - 2c9a: b342 st.w r2, (r3, 0x8) - while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? - 2c9c: 3110 movi r1, 16 - 2c9e: 9343 ld.w r2, (r3, 0xc) - 2ca0: 6884 and r2, r1 - 2ca2: 3a40 cmpnei r2, 0 - 2ca4: 0bfd bt 0x2c9e // 2c9e - while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? - 2ca6: 3102 movi r1, 2 - 2ca8: 9343 ld.w r2, (r3, 0xc) - 2caa: 6884 and r2, r1 - 2cac: 3a40 cmpnei r2, 0 - 2cae: 0ffd bf 0x2ca8 // 2ca8 - SPI0->DR = 0x13; - 2cb0: 3213 movi r2, 19 - 2cb2: b342 st.w r2, (r3, 0x8) - while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? - 2cb4: 3110 movi r1, 16 - 2cb6: 9343 ld.w r2, (r3, 0xc) - 2cb8: 6884 and r2, r1 - 2cba: 3a40 cmpnei r2, 0 - 2cbc: 0bfd bt 0x2cb6 // 2cb6 - while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? - 2cbe: 3102 movi r1, 2 - 2cc0: 9343 ld.w r2, (r3, 0xc) - 2cc2: 6884 and r2, r1 - 2cc4: 3a40 cmpnei r2, 0 - 2cc6: 0ffd bf 0x2cc0 // 2cc0 - SPI0->DR = 0x14; - 2cc8: 3214 movi r2, 20 - 2cca: b342 st.w r2, (r3, 0x8) - while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? - 2ccc: 3110 movi r1, 16 - 2cce: 9343 ld.w r2, (r3, 0xc) - 2cd0: 6884 and r2, r1 - 2cd2: 3a40 cmpnei r2, 0 - 2cd4: 0bfd bt 0x2cce // 2cce - while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full? - 2cd6: 3102 movi r1, 2 - 2cd8: 9343 ld.w r2, (r3, 0xc) - 2cda: 6884 and r2, r1 - 2cdc: 3a40 cmpnei r2, 0 - 2cde: 0ffd bf 0x2cd8 // 2cd8 - SPI0->DR = 0x15; - 2ce0: 3215 movi r2, 21 - 2ce2: b342 st.w r2, (r3, 0x8) - while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? - 2ce4: 3110 movi r1, 16 - 2ce6: 9343 ld.w r2, (r3, 0xc) - 2ce8: 6884 and r2, r1 - 2cea: 3a40 cmpnei r2, 0 - 2cec: 0bfd bt 0x2ce6 // 2ce6 - 2cee: 07b8 br 0x2c5e // 2c5e - if(((SPI0->SR) & SSP_TFE)!=SSP_TFE) - 2cf0: 9343 ld.w r2, (r3, 0xc) - 2cf2: 6884 and r2, r1 - 2cf4: 3a40 cmpnei r2, 0 - 2cf6: 0bb4 bt 0x2c5e // 2c5e - SPI0->DR=0x0; //FIFO=0 - 2cf8: b342 st.w r2, (r3, 0x8) - while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? - 2cfa: 3110 movi r1, 16 - SPI0->DR=0x0; //FIFO=0 - 2cfc: b342 st.w r2, (r3, 0x8) - SPI0->DR=0x0; //FIFO=0 - 2cfe: b342 st.w r2, (r3, 0x8) - SPI0->DR=0x0; //FIFO=0 - 2d00: b342 st.w r2, (r3, 0x8) - SPI0->DR=0x0; //FIFO=0 - 2d02: b342 st.w r2, (r3, 0x8) - SPI0->DR=0x0; //FIFO=0 - 2d04: b342 st.w r2, (r3, 0x8) - SPI0->DR=0x0; //FIFO=0 - 2d06: b342 st.w r2, (r3, 0x8) - SPI0->DR=0x0; //FIFO=0 - 2d08: b342 st.w r2, (r3, 0x8) - while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over? - 2d0a: 9343 ld.w r2, (r3, 0xc) - 2d0c: 6884 and r2, r1 - 2d0e: 3a40 cmpnei r2, 0 - 2d10: 0bfd bt 0x2d0a // 2d0a - 2d12: 07a6 br 0x2c5e // 2c5e - else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM) //Transmit FIFO Interrupt - 2d14: 9347 ld.w r2, (r3, 0x1c) - 2d16: 3108 movi r1, 8 - 2d18: 6884 and r2, r1 - 2d1a: 3a40 cmpnei r2, 0 - 2d1c: 0b99 bt 0x2c4e // 2c4e - 2d1e: 07a0 br 0x2c5e // 2c5e - 2d20: 20000034 .long 0x20000034 - -Disassembly of section .text.SIO0IntHandler: - -00002d24 : -//SIO Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void SIO0IntHandler(void) -{ - 2d24: 1460 nie - 2d26: 1462 ipush - CK801->IPR[4]=0X40404040; - CK801->IPR[5]=0X40404000; - CK801->IPR[6]=0X40404040; - CK801->IPR[7]=0X40404040;*/ - //TXBUFEMPT The sequence length exceeds 15bit needs to be updated into this interrupt - if(SIO0->MISR&0X04) - 2d28: 1073 lrw r3, 0x2000002c // 2d74 - 2d2a: 3104 movi r1, 4 - 2d2c: 9360 ld.w r3, (r3, 0x0) - 2d2e: 9349 ld.w r2, (r3, 0x24) - 2d30: 6884 and r2, r1 - 2d32: 3a40 cmpnei r2, 0 - 2d34: 0c02 bf 0x2d38 // 2d38 - { - SIO0->ICR=0X04; - 2d36: b32b st.w r1, (r3, 0x2c) - - } - if(SIO0->MISR&0X01) //TXDNE 发送完成 - 2d38: 9349 ld.w r2, (r3, 0x24) - 2d3a: 3101 movi r1, 1 - 2d3c: 6884 and r2, r1 - 2d3e: 3a40 cmpnei r2, 0 - 2d40: 0c02 bf 0x2d44 // 2d44 - { - SIO0->ICR=0X01; - 2d42: b32b st.w r1, (r3, 0x2c) - delay_nms(10); - SIO0->TXBUF=(0x03<<30)|(0x02<<28)|(0x03<<26)|(0x02<<24)|(0x03<<22)|(0x02<<20)|(0x03<<18)|(0x02<<16)| - (0x01<<14)|(0x00<<12)|(0x01<<10)|(0x00<<8)|(0x01<<6)|(0x00<<4)|(0x01<<2)|(0x0<<0); //0:D0,1:D1,2:DL,3:DH; - }*/ - - if(SIO0->MISR&0X02) //RXDNE - 2d44: 9349 ld.w r2, (r3, 0x24) - 2d46: 3102 movi r1, 2 - 2d48: 6884 and r2, r1 - 2d4a: 3a40 cmpnei r2, 0 - 2d4c: 0c03 bf 0x2d52 // 2d52 - { - SIO0->ICR=0X10; - } - else if(SIO0->MISR&0X020) //TIMEOUT - { - SIO0->ICR=0X20; - 2d4e: b32b st.w r1, (r3, 0x2c) - } -} - 2d50: 0410 br 0x2d70 // 2d70 - else if(SIO0->MISR&0X08) //RXBUFFULL - 2d52: 9349 ld.w r2, (r3, 0x24) - 2d54: 3108 movi r1, 8 - 2d56: 6884 and r2, r1 - 2d58: 3a40 cmpnei r2, 0 - 2d5a: 0bfa bt 0x2d4e // 2d4e - else if(SIO0->MISR&0X010) //BREAK - 2d5c: 9349 ld.w r2, (r3, 0x24) - 2d5e: 3110 movi r1, 16 - 2d60: 6884 and r2, r1 - 2d62: 3a40 cmpnei r2, 0 - 2d64: 0bf5 bt 0x2d4e // 2d4e - else if(SIO0->MISR&0X020) //TIMEOUT - 2d66: 9349 ld.w r2, (r3, 0x24) - 2d68: 3120 movi r1, 32 - 2d6a: 6884 and r2, r1 - 2d6c: 3a40 cmpnei r2, 0 - 2d6e: 0bf0 bt 0x2d4e // 2d4e -} - 2d70: 1463 ipop - 2d72: 1461 nir - 2d74: 2000002c .long 0x2000002c - -Disassembly of section .text.EXI0IntHandler: - -00002d78 : -//EXT0/16 Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void EXI0IntHandler(void) -{ - 2d78: 1460 nie - 2d7a: 1462 ipush - // ISR content ... - if ((SYSCON->EXIRS&EXI_PIN0)==EXI_PIN0) //EXT0 Interrupt - 2d7c: 106a lrw r3, 0x2000005c // 2da4 - 2d7e: 3101 movi r1, 1 - 2d80: 9360 ld.w r3, (r3, 0x0) - 2d82: 237f addi r3, 128 - 2d84: 934c ld.w r2, (r3, 0x30) - 2d86: 6884 and r2, r1 - 2d88: 3a40 cmpnei r2, 0 - 2d8a: 0c04 bf 0x2d92 // 2d92 - { - SYSCON->EXICR = EXI_PIN0; - 2d8c: b32b st.w r1, (r3, 0x2c) - } - else if ((SYSCON->EXIRS&EXI_PIN16)==EXI_PIN16) //EXT16 Interrupt - { - SYSCON->EXICR = EXI_PIN16; - } -} - 2d8e: 1463 ipop - 2d90: 1461 nir - else if ((SYSCON->EXIRS&EXI_PIN16)==EXI_PIN16) //EXT16 Interrupt - 2d92: 3280 movi r2, 128 - 2d94: 932c ld.w r1, (r3, 0x30) - 2d96: 4249 lsli r2, r2, 9 - 2d98: 6848 and r1, r2 - 2d9a: 3940 cmpnei r1, 0 - 2d9c: 0ff9 bf 0x2d8e // 2d8e - SYSCON->EXICR = EXI_PIN16; - 2d9e: b34b st.w r2, (r3, 0x2c) -} - 2da0: 07f7 br 0x2d8e // 2d8e - 2da2: 0000 bkpt - 2da4: 2000005c .long 0x2000005c - -Disassembly of section .text.EXI1IntHandler: - -00002da8 : -//EXT1/17 Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void EXI1IntHandler(void) -{ - 2da8: 1460 nie - 2daa: 1462 ipush - // ISR content ... - if ((SYSCON->EXIRS&EXI_PIN1)==EXI_PIN1) //EXT1 Interrupt - 2dac: 106a lrw r3, 0x2000005c // 2dd4 - 2dae: 3102 movi r1, 2 - 2db0: 9360 ld.w r3, (r3, 0x0) - 2db2: 237f addi r3, 128 - 2db4: 934c ld.w r2, (r3, 0x30) - 2db6: 6884 and r2, r1 - 2db8: 3a40 cmpnei r2, 0 - 2dba: 0c04 bf 0x2dc2 // 2dc2 - { - SYSCON->EXICR = EXI_PIN1; - 2dbc: b32b st.w r1, (r3, 0x2c) - } - else if ((SYSCON->EXIRS&EXI_PIN17)==EXI_PIN17) //EXT17 Interrupt - { - SYSCON->EXICR = EXI_PIN17; - } -} - 2dbe: 1463 ipop - 2dc0: 1461 nir - else if ((SYSCON->EXIRS&EXI_PIN17)==EXI_PIN17) //EXT17 Interrupt - 2dc2: 3280 movi r2, 128 - 2dc4: 932c ld.w r1, (r3, 0x30) - 2dc6: 424a lsli r2, r2, 10 - 2dc8: 6848 and r1, r2 - 2dca: 3940 cmpnei r1, 0 - 2dcc: 0ff9 bf 0x2dbe // 2dbe - SYSCON->EXICR = EXI_PIN17; - 2dce: b34b st.w r2, (r3, 0x2c) -} - 2dd0: 07f7 br 0x2dbe // 2dbe - 2dd2: 0000 bkpt - 2dd4: 2000005c .long 0x2000005c - -Disassembly of section .text.EXI2to3IntHandler: - -00002dd8 : -//EXI2~3 18~19Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void EXI2to3IntHandler(void) -{ - 2dd8: 1460 nie - 2dda: 1462 ipush - // ISR content ... - if ((SYSCON->EXIRS&EXI_PIN2)==EXI_PIN2) //EXT2 Interrupt - 2ddc: 1070 lrw r3, 0x2000005c // 2e1c - 2dde: 3104 movi r1, 4 - 2de0: 9360 ld.w r3, (r3, 0x0) - 2de2: 237f addi r3, 128 - 2de4: 934c ld.w r2, (r3, 0x30) - 2de6: 6884 and r2, r1 - 2de8: 3a40 cmpnei r2, 0 - 2dea: 0c04 bf 0x2df2 // 2df2 - SYSCON->EXICR = EXI_PIN2; -// RLY_State_Multi_Control(); - } - else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) //EXT3 Interrupt - { - SYSCON->EXICR = EXI_PIN3; - 2dec: b32b st.w r1, (r3, 0x2c) - } - else if ((SYSCON->EXIRS&EXI_PIN19)==EXI_PIN19) //EXT19 Interrupt - { - SYSCON->EXICR = EXI_PIN19; - } -} - 2dee: 1463 ipop - 2df0: 1461 nir - else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) //EXT3 Interrupt - 2df2: 934c ld.w r2, (r3, 0x30) - 2df4: 3108 movi r1, 8 - 2df6: 6884 and r2, r1 - 2df8: 3a40 cmpnei r2, 0 - 2dfa: 0bf9 bt 0x2dec // 2dec - else if ((SYSCON->EXIRS&EXI_PIN18)==EXI_PIN18) //EXT18 Interrupt - 2dfc: 3280 movi r2, 128 - 2dfe: 932c ld.w r1, (r3, 0x30) - 2e00: 424b lsli r2, r2, 11 - 2e02: 6848 and r1, r2 - 2e04: 3940 cmpnei r1, 0 - 2e06: 0c03 bf 0x2e0c // 2e0c - SYSCON->EXICR = EXI_PIN19; - 2e08: b34b st.w r2, (r3, 0x2c) -} - 2e0a: 07f2 br 0x2dee // 2dee - else if ((SYSCON->EXIRS&EXI_PIN19)==EXI_PIN19) //EXT19 Interrupt - 2e0c: 3280 movi r2, 128 - 2e0e: 932c ld.w r1, (r3, 0x30) - 2e10: 424c lsli r2, r2, 12 - 2e12: 6848 and r1, r2 - 2e14: 3940 cmpnei r1, 0 - 2e16: 0bf9 bt 0x2e08 // 2e08 - 2e18: 07eb br 0x2dee // 2dee - 2e1a: 0000 bkpt - 2e1c: 2000005c .long 0x2000005c - -Disassembly of section .text.EXI4to9IntHandler: - -00002e20 : -//EXI4~9 Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void EXI4to9IntHandler(void) -{ - 2e20: 1460 nie - 2e22: 1462 ipush - 2e24: 14d0 push r15 - // ISR content ... - if ((SYSCON->EXIRS&EXI_PIN4)==EXI_PIN4) //EXT4 Interrupt - 2e26: 1079 lrw r3, 0x2000005c // 2e88 - 2e28: 3280 movi r2, 128 - 2e2a: 9360 ld.w r3, (r3, 0x0) - 2e2c: 60c8 addu r3, r2 - 2e2e: 932c ld.w r1, (r3, 0x30) - 2e30: 3010 movi r0, 16 - 2e32: 6840 and r1, r0 - 2e34: 3940 cmpnei r1, 0 - 2e36: 0c03 bf 0x2e3c // 2e3c - BusBusy_Task(); - - } - else if ((SYSCON->EXIRS&EXI_PIN6)==EXI_PIN6) //EXT6 Interrupt - { - SYSCON->EXICR = EXI_PIN6; - 2e38: b30b st.w r0, (r3, 0x2c) - 2e3a: 0409 br 0x2e4c // 2e4c - else if ((SYSCON->EXIRS&EXI_PIN5)==EXI_PIN5) //EXT5 Interrupt - 2e3c: 932c ld.w r1, (r3, 0x30) - 2e3e: 3020 movi r0, 32 - 2e40: 6840 and r1, r0 - 2e42: 3940 cmpnei r1, 0 - 2e44: 0c09 bf 0x2e56 // 2e56 - SYSCON->EXICR = EXI_PIN5; - 2e46: b30b st.w r0, (r3, 0x2c) - BusBusy_Task(); - 2e48: e0000414 bsr 0x3670 // 3670 - else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) //EXT9 Interrupt - { - SYSCON->EXICR = EXI_PIN9; - } - -} - 2e4c: d9ee2000 ld.w r15, (r14, 0x0) - 2e50: 1401 addi r14, r14, 4 - 2e52: 1463 ipop - 2e54: 1461 nir - else if ((SYSCON->EXIRS&EXI_PIN6)==EXI_PIN6) //EXT6 Interrupt - 2e56: 932c ld.w r1, (r3, 0x30) - 2e58: 3040 movi r0, 64 - 2e5a: 6840 and r1, r0 - 2e5c: 3940 cmpnei r1, 0 - 2e5e: 0bed bt 0x2e38 // 2e38 - else if ((SYSCON->EXIRS&EXI_PIN7)==EXI_PIN7) //EXT7 Interrupt - 2e60: 932c ld.w r1, (r3, 0x30) - 2e62: 6848 and r1, r2 - 2e64: 3940 cmpnei r1, 0 - 2e66: 0c03 bf 0x2e6c // 2e6c - SYSCON->EXICR = EXI_PIN9; - 2e68: b34b st.w r2, (r3, 0x2c) -} - 2e6a: 07f1 br 0x2e4c // 2e4c - else if ((SYSCON->EXIRS&EXI_PIN8)==EXI_PIN8) //EXT8 Interrupt - 2e6c: 3280 movi r2, 128 - 2e6e: 932c ld.w r1, (r3, 0x30) - 2e70: 4241 lsli r2, r2, 1 - 2e72: 6848 and r1, r2 - 2e74: 3940 cmpnei r1, 0 - 2e76: 0bf9 bt 0x2e68 // 2e68 - else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) //EXT9 Interrupt - 2e78: 3280 movi r2, 128 - 2e7a: 932c ld.w r1, (r3, 0x30) - 2e7c: 4242 lsli r2, r2, 2 - 2e7e: 6848 and r1, r2 - 2e80: 3940 cmpnei r1, 0 - 2e82: 0bf3 bt 0x2e68 // 2e68 - 2e84: 07e4 br 0x2e4c // 2e4c - 2e86: 0000 bkpt - 2e88: 2000005c .long 0x2000005c - -Disassembly of section .text.EXI10to15IntHandler: - -00002e8c : -//EXI4 Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void EXI10to15IntHandler(void) -{ - 2e8c: 1460 nie - 2e8e: 1462 ipush - // ISR content ... - if ((SYSCON->EXIRS&EXI_PIN10)==EXI_PIN10) //EXT10 Interrupt - 2e90: 1076 lrw r3, 0x2000005c // 2ee8 - 2e92: 3280 movi r2, 128 - 2e94: 9360 ld.w r3, (r3, 0x0) - 2e96: 237f addi r3, 128 - 2e98: 932c ld.w r1, (r3, 0x30) - 2e9a: 4243 lsli r2, r2, 3 - 2e9c: 6848 and r1, r2 - 2e9e: 3940 cmpnei r1, 0 - 2ea0: 0c03 bf 0x2ea6 // 2ea6 - SYSCON->EXICR = EXI_PIN14; - - } - else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) //EXT15 Interrupt - { - SYSCON->EXICR = EXI_PIN15; - 2ea2: b34b st.w r2, (r3, 0x2c) - } -} - 2ea4: 041f br 0x2ee2 // 2ee2 - else if ((SYSCON->EXIRS&EXI_PIN11)==EXI_PIN11) //EXT11 Interrupt - 2ea6: 3280 movi r2, 128 - 2ea8: 932c ld.w r1, (r3, 0x30) - 2eaa: 4244 lsli r2, r2, 4 - 2eac: 6848 and r1, r2 - 2eae: 3940 cmpnei r1, 0 - 2eb0: 0bf9 bt 0x2ea2 // 2ea2 - else if ((SYSCON->EXIRS&EXI_PIN12)==EXI_PIN12) //EXT12 Interrupt - 2eb2: 3280 movi r2, 128 - 2eb4: 932c ld.w r1, (r3, 0x30) - 2eb6: 4245 lsli r2, r2, 5 - 2eb8: 6848 and r1, r2 - 2eba: 3940 cmpnei r1, 0 - 2ebc: 0bf3 bt 0x2ea2 // 2ea2 - else if ((SYSCON->EXIRS&EXI_PIN13)==EXI_PIN13) //EXT13 Interrupt - 2ebe: 3280 movi r2, 128 - 2ec0: 932c ld.w r1, (r3, 0x30) - 2ec2: 4246 lsli r2, r2, 6 - 2ec4: 6848 and r1, r2 - 2ec6: 3940 cmpnei r1, 0 - 2ec8: 0bed bt 0x2ea2 // 2ea2 - else if ((SYSCON->EXIRS&EXI_PIN14)==EXI_PIN14) //EXT14 Interrupt - 2eca: 3280 movi r2, 128 - 2ecc: 932c ld.w r1, (r3, 0x30) - 2ece: 4247 lsli r2, r2, 7 - 2ed0: 6848 and r1, r2 - 2ed2: 3940 cmpnei r1, 0 - 2ed4: 0be7 bt 0x2ea2 // 2ea2 - else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) //EXT15 Interrupt - 2ed6: 3280 movi r2, 128 - 2ed8: 932c ld.w r1, (r3, 0x30) - 2eda: 4248 lsli r2, r2, 8 - 2edc: 6848 and r1, r2 - 2ede: 3940 cmpnei r1, 0 - 2ee0: 0be1 bt 0x2ea2 // 2ea2 -} - 2ee2: 1463 ipop - 2ee4: 1461 nir - 2ee6: 0000 bkpt - 2ee8: 2000005c .long 0x2000005c - -Disassembly of section .text.LPTIntHandler: - -00002eec : -//LPT Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void LPTIntHandler(void) -{ - 2eec: 1460 nie - 2eee: 1462 ipush - // ISR content ... - if((LPT->MISR&LPT_TRGEV0)==LPT_TRGEV0) //TRGEV0 interrupt - 2ef0: 106b lrw r3, 0x20000014 // 2f1c - 2ef2: 3101 movi r1, 1 - 2ef4: 9360 ld.w r3, (r3, 0x0) - 2ef6: 934e ld.w r2, (r3, 0x38) - 2ef8: 6884 and r2, r1 - 2efa: 3a40 cmpnei r2, 0 - 2efc: 0c03 bf 0x2f02 // 2f02 - { - LPT->ICR = LPT_MATCH; - } - else if((LPT->MISR&LPT_PEND)==LPT_PEND) //PEND interrupt - { - LPT->ICR = LPT_PEND; - 2efe: b330 st.w r1, (r3, 0x40) - } -} - 2f00: 040b br 0x2f16 // 2f16 - else if((LPT->MISR&LPT_MATCH)==LPT_MATCH) //MATCH interrupt - 2f02: 934e ld.w r2, (r3, 0x38) - 2f04: 3102 movi r1, 2 - 2f06: 6884 and r2, r1 - 2f08: 3a40 cmpnei r2, 0 - 2f0a: 0bfa bt 0x2efe // 2efe - else if((LPT->MISR&LPT_PEND)==LPT_PEND) //PEND interrupt - 2f0c: 934e ld.w r2, (r3, 0x38) - 2f0e: 3104 movi r1, 4 - 2f10: 6884 and r2, r1 - 2f12: 3a40 cmpnei r2, 0 - 2f14: 0bf5 bt 0x2efe // 2efe -} - 2f16: 1463 ipop - 2f18: 1461 nir - 2f1a: 0000 bkpt - 2f1c: 20000014 .long 0x20000014 - -Disassembly of section .text.BT0IntHandler: - -00002f20 : -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -U8_T BT_TEMP_State = 1; -void BT0IntHandler(void) -{ - 2f20: 1460 nie - 2f22: 1462 ipush - // ISR content ... - if((BT0->MISR&BT_PEND)==BT_PEND) //BT0 PEND interrupt - 2f24: 1071 lrw r3, 0x2000000c // 2f68 - 2f26: 3101 movi r1, 1 - 2f28: 9360 ld.w r3, (r3, 0x0) - 2f2a: 934c ld.w r2, (r3, 0x30) - 2f2c: 6884 and r2, r1 - 2f2e: 3a40 cmpnei r2, 0 - 2f30: 0c0a bf 0x2f44 // 2f44 - { - BT0->ICR = BT_PEND; - 2f32: b32d st.w r1, (r3, 0x34) - - //BT_Stop_Low(BT0); - - BT0->CR =BT0->CR & ~(0x01<<6); - 2f34: 9341 ld.w r2, (r3, 0x4) - 2f36: 3a86 bclri r2, 6 - 2f38: b341 st.w r2, (r3, 0x4) - BT0->RSSR &=0X0; - 2f3a: 9340 ld.w r2, (r3, 0x0) - 2f3c: 3200 movi r2, 0 - 2f3e: b340 st.w r2, (r3, 0x0) - } - else if((BT0->MISR&BT_EVTRG)==BT_EVTRG) //BT0 Event trigger interrupt - { - BT0->ICR = BT_EVTRG; - } -} - 2f40: 1463 ipop - 2f42: 1461 nir - else if((BT0->MISR&BT_CMP)==BT_CMP) //BT0 CMP Match interrupt - 2f44: 934c ld.w r2, (r3, 0x30) - 2f46: 3102 movi r1, 2 - 2f48: 6884 and r2, r1 - 2f4a: 3a40 cmpnei r2, 0 - 2f4c: 0c03 bf 0x2f52 // 2f52 - BT0->ICR = BT_EVTRG; - 2f4e: b32d st.w r1, (r3, 0x34) -} - 2f50: 07f8 br 0x2f40 // 2f40 - else if((BT0->MISR&BT_OVF)==BT_OVF) //BT0 OVF interrupt - 2f52: 934c ld.w r2, (r3, 0x30) - 2f54: 3104 movi r1, 4 - 2f56: 6884 and r2, r1 - 2f58: 3a40 cmpnei r2, 0 - 2f5a: 0bfa bt 0x2f4e // 2f4e - else if((BT0->MISR&BT_EVTRG)==BT_EVTRG) //BT0 Event trigger interrupt - 2f5c: 934c ld.w r2, (r3, 0x30) - 2f5e: 3108 movi r1, 8 - 2f60: 6884 and r2, r1 - 2f62: 3a40 cmpnei r2, 0 - 2f64: 0bf5 bt 0x2f4e // 2f4e - 2f66: 07ed br 0x2f40 // 2f40 - 2f68: 2000000c .long 0x2000000c - -Disassembly of section .text.BT1IntHandler: - -00002f6c : -//BT1 Interrupt -//EntryParameter:NONE -//ReturnValue:NONE -/*************************************************************/ -void BT1IntHandler(void) -{ - 2f6c: 1460 nie - 2f6e: 1462 ipush - 2f70: 14d0 push r15 - static U8_T NUM = 0; - // ISR content ... - if((BT1->MISR&BT_PEND)==BT_PEND) //BT1 PEND interrupt - 2f72: 1079 lrw r3, 0x20000008 // 2fd4 - 2f74: 3101 movi r1, 1 - 2f76: 9360 ld.w r3, (r3, 0x0) - 2f78: 934c ld.w r2, (r3, 0x30) - 2f7a: 6884 and r2, r1 - 2f7c: 3a40 cmpnei r2, 0 - 2f7e: 0c03 bf 0x2f84 // 2f84 - { - BT1->ICR = BT_OVF; - } - else if((BT1->MISR&BT_EVTRG)==BT_EVTRG) //BT1 Event trigger interrupt - { - BT1->ICR = BT_EVTRG; - 2f80: b32d st.w r1, (r3, 0x34) - } -} - 2f82: 0418 br 0x2fb2 // 2fb2 - else if((BT1->MISR&BT_CMP)==BT_CMP) //BT1 CMP Match interrupt - 2f84: 934c ld.w r2, (r3, 0x30) - 2f86: 3102 movi r1, 2 - 2f88: 6884 and r2, r1 - 2f8a: 3a40 cmpnei r2, 0 - 2f8c: 0c18 bf 0x2fbc // 2fbc - BT1->ICR = BT_CMP; - 2f8e: b32d st.w r1, (r3, 0x34) - NUM++; - 2f90: 1072 lrw r3, 0x200000b0 // 2fd8 - 2f92: 8340 ld.b r2, (r3, 0x0) - 2f94: 2200 addi r2, 1 - 2f96: 7488 zextb r2, r2 - SysTick_100us++; - 2f98: 9321 ld.w r1, (r3, 0x4) - 2f9a: 2100 addi r1, 1 - if(NUM >= 10){ - 2f9c: 3a09 cmphsi r2, 10 - NUM++; - 2f9e: a340 st.b r2, (r3, 0x0) - SysTick_100us++; - 2fa0: b321 st.w r1, (r3, 0x4) - if(NUM >= 10){ - 2fa2: 0c08 bf 0x2fb2 // 2fb2 - NUM = 0; - 2fa4: 3200 movi r2, 0 - 2fa6: a340 st.b r2, (r3, 0x0) - SysTick_1ms++; - 2fa8: 9342 ld.w r2, (r3, 0x8) - 2faa: 2200 addi r2, 1 - 2fac: b342 st.w r2, (r3, 0x8) - BusIdle_Task(); - 2fae: e0000341 bsr 0x3630 // 3630 -} - 2fb2: d9ee2000 ld.w r15, (r14, 0x0) - 2fb6: 1401 addi r14, r14, 4 - 2fb8: 1463 ipop - 2fba: 1461 nir - else if((BT1->MISR&BT_OVF)==BT_OVF) //BT1 OVF interrupt - 2fbc: 934c ld.w r2, (r3, 0x30) - 2fbe: 3104 movi r1, 4 - 2fc0: 6884 and r2, r1 - 2fc2: 3a40 cmpnei r2, 0 - 2fc4: 0bde bt 0x2f80 // 2f80 - else if((BT1->MISR&BT_EVTRG)==BT_EVTRG) //BT1 Event trigger interrupt - 2fc6: 934c ld.w r2, (r3, 0x30) - 2fc8: 3108 movi r1, 8 - 2fca: 6884 and r2, r1 - 2fcc: 3a40 cmpnei r2, 0 - 2fce: 0bd9 bt 0x2f80 // 2f80 - 2fd0: 07f1 br 0x2fb2 // 2fb2 - 2fd2: 0000 bkpt - 2fd4: 20000008 .long 0x20000008 - 2fd8: 200000b0 .long 0x200000b0 - -Disassembly of section .text.PriviledgeVioHandler: - -00002fdc : - 2fdc: 783c jmp r15 - -Disassembly of section .text.PendTrapHandler: - -00002fde : - // ISR content ... - -} - -void PendTrapHandler(void) -{ - 2fde: 1460 nie - 2fe0: 1462 ipush - // ISR content ... - -} - 2fe2: 1463 ipop - 2fe4: 1461 nir - -Disassembly of section .text.Trap3Handler: - -00002fe6 : - 2fe6: 1460 nie - 2fe8: 1462 ipush - 2fea: 1463 ipop - 2fec: 1461 nir - -Disassembly of section .text.Trap2Handler: - -00002fee : - 2fee: 1460 nie - 2ff0: 1462 ipush - 2ff2: 1463 ipop - 2ff4: 1461 nir - -Disassembly of section .text.Trap1Handler: - -00002ff6 : - 2ff6: 1460 nie - 2ff8: 1462 ipush - 2ffa: 1463 ipop - 2ffc: 1461 nir - -Disassembly of section .text.Trap0Handler: - -00002ffe : - 2ffe: 1460 nie - 3000: 1462 ipush - 3002: 1463 ipop - 3004: 1461 nir - -Disassembly of section .text.UnrecExecpHandler: - -00003006 : - 3006: 1460 nie - 3008: 1462 ipush - 300a: 1463 ipop - 300c: 1461 nir - -Disassembly of section .text.BreakPointHandler: - -0000300e : - 300e: 1460 nie - 3010: 1462 ipush - 3012: 1463 ipop - 3014: 1461 nir - -Disassembly of section .text.AccessErrHandler: - -00003016 : - 3016: 1460 nie - 3018: 1462 ipush - 301a: 1463 ipop - 301c: 1461 nir - -Disassembly of section .text.IllegalInstrHandler: - -0000301e : - 301e: 1460 nie - 3020: 1462 ipush - 3022: 1463 ipop - 3024: 1461 nir - -Disassembly of section .text.MisalignedHandler: - -00003026 : - 3026: 1460 nie - 3028: 1462 ipush - 302a: 1463 ipop - 302c: 1461 nir - -Disassembly of section .text.CNTAIntHandler: - -0000302e : - 302e: 1460 nie - 3030: 1462 ipush - 3032: 1463 ipop - 3034: 1461 nir - -Disassembly of section .text.I2CIntHandler: - -00003036 : - 3036: 1460 nie - 3038: 1462 ipush - 303a: 1463 ipop - 303c: 1461 nir - -Disassembly of section .text.__divsi3: - -00003040 <__divsi3>: -CSP_BT_T *BT1 = (CSP_BT_T *)APB_BT1Base ; -CSP_CRC_T *CRC = (CSP_CRC_T *)AHB_CRCBase ; -CSP_HWD_T *HWD = (CSP_HWD_T *)APB_HWDBase ; - -int __divsi3 ( int a, int b) -{ - 3040: 14c1 push r4 - int PSR; - __asm volatile( - 3042: c0006023 mfcr r3, cr<0, 0> - 3046: c0807020 psrclr ie - "mfcr %0 , psr \n\r" - "psrclr ie \n\r" - : "=r"(PSR) - ); - - HWD->CR = 0; - 304a: 1046 lrw r2, 0x20000000 // 3060 <__divsi3+0x20> - 304c: 3400 movi r4, 0 - 304e: 9240 ld.w r2, (r2, 0x0) - 3050: b284 st.w r4, (r2, 0x10) - HWD->DIVIDENT = a; - HWD->DIVISOR = b; - - PSR |= 0x80000000; - 3052: 3bbf bseti r3, 31 - HWD->DIVIDENT = a; - 3054: b200 st.w r0, (r2, 0x0) - HWD->DIVISOR = b; - 3056: b221 st.w r1, (r2, 0x4) - __asm volatile( - 3058: c0036420 mtcr r3, cr<0, 0> - "mtcr %0 , psr \n\r" - : - :"r"(PSR) - ); - - return HWD->QUOTIENT; - 305c: 9202 ld.w r0, (r2, 0x8) -} - 305e: 1481 pop r4 - 3060: 20000000 .long 0x20000000 - -Disassembly of section .text.__udivsi3: - -00003064 <__udivsi3>: - unsigned int __udivsi3 ( unsigned int a, unsigned int b) -{ - 3064: 14c1 push r4 - int PSR; - __asm volatile( - 3066: c0006023 mfcr r3, cr<0, 0> - 306a: c0807020 psrclr ie - "mfcr %0 , psr \n\r" - "psrclr ie \n\r" - : "=r"(PSR) - ); - - HWD->CR = 1; - 306e: 1046 lrw r2, 0x20000000 // 3084 <__udivsi3+0x20> - 3070: 3401 movi r4, 1 - 3072: 9240 ld.w r2, (r2, 0x0) - 3074: b284 st.w r4, (r2, 0x10) - HWD->DIVIDENT = a; - HWD->DIVISOR = b; - - PSR |= 0x80000000; - 3076: 3bbf bseti r3, 31 - HWD->DIVIDENT = a; - 3078: b200 st.w r0, (r2, 0x0) - HWD->DIVISOR = b; - 307a: b221 st.w r1, (r2, 0x4) - __asm volatile( - 307c: c0036420 mtcr r3, cr<0, 0> - "mtcr %0 , psr \n\r" - : - :"r"(PSR) - ); - - return HWD->QUOTIENT; - 3080: 9202 ld.w r0, (r2, 0x8) -} - 3082: 1481 pop r4 - 3084: 20000000 .long 0x20000000 - -Disassembly of section .text.__umodsi3: - -00003088 <__umodsi3>: - ); - return HWD->REMAIN; -} - -unsigned int __umodsi3 ( unsigned int a, unsigned int b) -{ - 3088: 14c1 push r4 - int PSR; - __asm volatile( - 308a: c0006023 mfcr r3, cr<0, 0> - 308e: c0807020 psrclr ie - "mfcr %0 , psr \n\r" - "psrclr ie \n\r" - : "=r"(PSR) - ); - - HWD->CR = 1; - 3092: 1046 lrw r2, 0x20000000 // 30a8 <__umodsi3+0x20> - 3094: 3401 movi r4, 1 - 3096: 9240 ld.w r2, (r2, 0x0) - 3098: b284 st.w r4, (r2, 0x10) - HWD->DIVIDENT = a; - HWD->DIVISOR = b; - - PSR |= 0x80000000; - 309a: 3bbf bseti r3, 31 - HWD->DIVIDENT = a; - 309c: b200 st.w r0, (r2, 0x0) - HWD->DIVISOR = b; - 309e: b221 st.w r1, (r2, 0x4) - __asm volatile( - 30a0: c0036420 mtcr r3, cr<0, 0> - "mtcr %0 , psr \n\r" - : - :"r"(PSR) - ); - return HWD->REMAIN; - 30a4: 9203 ld.w r0, (r2, 0xc) -} - 30a6: 1481 pop r4 - 30a8: 20000000 .long 0x20000000 - -Disassembly of section .text.CK_CPU_EnAllNormalIrq: - -000030ac : -} - - -void CK_CPU_EnAllNormalIrq(void) -{ - asm ("psrset ee,ie"); - 30ac: c1807420 psrset ee, ie -} - 30b0: 783c jmp r15 - -Disassembly of section .text.CK_CPU_DisAllNormalIrq: - -000030b2 : - -void CK_CPU_DisAllNormalIrq(void) -{ - asm ("psrclr ie"); - 30b2: c0807020 psrclr ie -} - 30b6: 783c jmp r15 - -Disassembly of section .text.UARTx_Init: - -000030b8 : -UART_t g_uart[3]; -U8_T DealBuffer[USART_BUFFER_SIZE] = {0}; //数据处理缓冲 -U16_T DealLen = 0x00; -MULIT_t m_send; - -void UARTx_Init(UART_IDX uart_id, Uart_prt prt_cf) { - 30b8: 14d2 push r4-r5, r15 - switch(uart_id){ - 30ba: 3841 cmpnei r0, 1 -void UARTx_Init(UART_IDX uart_id, Uart_prt prt_cf) { - 30bc: 6d07 mov r4, r1 - switch(uart_id){ - 30be: 0c1d bf 0x30f8 // 30f8 - 30c0: 3840 cmpnei r0, 0 - 30c2: 0c04 bf 0x30ca // 30ca - 30c4: 3842 cmpnei r0, 2 - 30c6: 0c3f bf 0x3144 // 3144 - GPIO_Init(GPIOB0,3,Output); - GPIO_DriveStrength_EN(GPIOB0,3); - GPIO_Write_Low(GPIOB0,3); - break; - } -} - 30c8: 1492 pop r4-r5, r15 - UART0_DeInit(); //clear all UART Register - 30ca: e3fff875 bsr 0x21b4 // 21b4 - UART_IO_Init(IO_UART0,0); //use PA0.1->RXD0, PA0.0->TXD0 - 30ce: 3100 movi r1, 0 - 30d0: 3000 movi r0, 0 - 30d2: e3fff8b1 bsr 0x2234 // 2234 - UARTInitRxTxIntEn(UART0,416,UART_PAR_NONE); //baudrate=sysclock 48M/1000=4800,tx rx int enabled - 30d6: 1262 lrw r3, 0x20000040 // 31dc - 30d8: 31d0 movi r1, 208 - 30da: 9300 ld.w r0, (r3, 0x0) - 30dc: 3200 movi r2, 0 - memset(&g_uart[UART_0],0,sizeof(UART_t)); - 30de: 12a1 lrw r5, 0x2000020c // 31e0 - UARTInitRxTxIntEn(UART0,416,UART_PAR_NONE); //baudrate=sysclock 48M/1000=4800,tx rx int enabled - 30e0: 4121 lsli r1, r1, 1 - 30e2: e3fff91f bsr 0x2320 // 2320 - memset(&g_uart[UART_0],0,sizeof(UART_t)); - 30e6: 3274 movi r2, 116 - 30e8: 3100 movi r1, 0 - 30ea: 6c17 mov r0, r5 - 30ec: e3fff43c bsr 0x1964 // 1964 <__memset_fast> - g_uart[UART_0].RecvTimeout = Recv_115200_TimeOut; - 30f0: 3303 movi r3, 3 - 30f2: b57a st.w r3, (r5, 0x68) - g_uart[UART_0].processing_cf = prt_cf; - 30f4: b59c st.w r4, (r5, 0x70) - break; - 30f6: 07e9 br 0x30c8 // 30c8 - UART1_DeInit(); //clear all UART Register - 30f8: e3fff86a bsr 0x21cc // 21cc - UART_IO_Init(IO_UART1,2); //use PA0.13->RXD1, PB0.0->TXD1 - 30fc: 3102 movi r1, 2 - 30fe: 3001 movi r0, 1 - 3100: e3fff89a bsr 0x2234 // 2234 - UARTInitRxTxIntEn(UART1,5000,UART_PAR_NONE); //baudrate=sysclock 48M/416=115200 tx rx int enabled - 3104: 1178 lrw r3, 0x2000003c // 31e4 - 3106: 3200 movi r2, 0 - 3108: 9300 ld.w r0, (r3, 0x0) - 310a: 1138 lrw r1, 0x1388 // 31e8 - 310c: e3fff90a bsr 0x2320 // 2320 - UART1_Int_Enable(); - 3110: e3fff876 bsr 0x21fc // 21fc - memset(&g_uart[UART_1],0,sizeof(UART_t)); - 3114: 3274 movi r2, 116 - 3116: 3100 movi r1, 0 - 3118: 1115 lrw r0, 0x20000280 // 31ec - 311a: e3fff425 bsr 0x1964 // 1964 <__memset_fast> - g_uart[UART_1].RecvTimeout = Recv_9600_TimeOut; - 311e: 1175 lrw r3, 0x2000028c // 31f0 - g_uart[UART_1].processing_cf = prt_cf; - 3120: b399 st.w r4, (r3, 0x64) - g_uart[UART_1].RecvTimeout = Recv_9600_TimeOut; - 3122: 3203 movi r2, 3 - GPIO_Init(GPIOA0,13,Output); - 3124: 1194 lrw r4, 0x2000004c // 31f4 - 3126: 310d movi r1, 13 - g_uart[UART_1].RecvTimeout = Recv_9600_TimeOut; - 3128: b357 st.w r2, (r3, 0x5c) - GPIO_Init(GPIOA0,13,Output); - 312a: 9400 ld.w r0, (r4, 0x0) - 312c: 3200 movi r2, 0 - 312e: e3fff689 bsr 0x1e40 // 1e40 - GPIO_DriveStrength_EN(GPIOA0,13); - 3132: 310d movi r1, 13 - 3134: 9400 ld.w r0, (r4, 0x0) - 3136: e3fff6ff bsr 0x1f34 // 1f34 - GPIO_Write_Low(GPIOA0,13); - 313a: 9400 ld.w r0, (r4, 0x0) - 313c: 310d movi r1, 13 - GPIO_Write_Low(GPIOB0,3); - 313e: e3fff7c3 bsr 0x20c4 // 20c4 -} - 3142: 07c3 br 0x30c8 // 30c8 - memset(&g_uart[UART_2],0,sizeof(UART_t)); - 3144: 3274 movi r2, 116 - 3146: 3100 movi r1, 0 - 3148: 110c lrw r0, 0x200002f4 // 31f8 - 314a: e3fff40d bsr 0x1964 // 1964 <__memset_fast> - memset(&m_send,0,sizeof(MULIT_t)); - 314e: 3288 movi r2, 136 - 3150: 3100 movi r1, 0 - 3152: 110b lrw r0, 0x20000368 // 31fc - 3154: e3fff408 bsr 0x1964 // 1964 <__memset_fast> - m_send.HighBit_Flag = 0x01; - 3158: 116a lrw r3, 0x200003c8 // 3200 - 315a: 3201 movi r2, 1 - 315c: a345 st.b r2, (r3, 0x5) - g_uart[UART_2].RecvTimeout = Recv_9600_TimeOut; - 315e: 116a lrw r3, 0x2000030c // 3204 - g_uart[UART_2].processing_cf = prt_cf; - 3160: b396 st.w r4, (r3, 0x58) - g_uart[UART_2].RecvTimeout = Recv_9600_TimeOut; - 3162: 3203 movi r2, 3 - GPIO_PullHigh_Init(GPIOB0,5); //RX,PB0.5 - 3164: 1189 lrw r4, 0x20000048 // 3208 - 3166: 3105 movi r1, 5 - g_uart[UART_2].RecvTimeout = Recv_9600_TimeOut; - 3168: b354 st.w r2, (r3, 0x50) - GPIO_PullHigh_Init(GPIOB0,5); //RX,PB0.5 - 316a: 9400 ld.w r0, (r4, 0x0) - 316c: e3fff6da bsr 0x1f20 // 1f20 - GPIO_IntGroup_Set(PB0,5,Selete_EXI_PIN5); //EXI0 set PB0.2 - 3170: 3205 movi r2, 5 - 3172: 3105 movi r1, 5 - 3174: 3002 movi r0, 2 - 3176: e3fff6e7 bsr 0x1f44 // 1f44 - GPIOB0_EXI_Init(EXI5); //PB0.2 as input - 317a: 3005 movi r0, 5 - 317c: e3fff76a bsr 0x2050 // 2050 - EXTI_trigger_CMD(ENABLE,EXI_PIN5,_EXIFT); //ENABLE falling edge,下降沿触发 - 3180: 3201 movi r2, 1 - 3182: 3120 movi r1, 32 - 3184: 3001 movi r0, 1 - 3186: e3fff5b1 bsr 0x1ce8 // 1ce8 - EXTI_trigger_CMD(ENABLE,EXI_PIN5,_EXIRT); //上升沿触发 - 318a: 3200 movi r2, 0 - 318c: 3120 movi r1, 32 - 318e: 3001 movi r0, 1 - 3190: e3fff5ac bsr 0x1ce8 // 1ce8 - EXTI_interrupt_CMD(ENABLE,EXI_PIN5); //enable EXI - 3194: 3120 movi r1, 32 - 3196: 3001 movi r0, 1 - 3198: e3fff5c8 bsr 0x1d28 // 1d28 - GPIO_EXTI_interrupt(GPIOB0,0b0000000000100000); //enable GPIOB02 as EXI - 319c: 3120 movi r1, 32 - 319e: 9400 ld.w r0, (r4, 0x0) - 31a0: e3fff5de bsr 0x1d5c // 1d5c - EXI3_Int_Enable(); - 31a4: e3fff5de bsr 0x1d60 // 1d60 - UART2_DeInit(); //clear all UART Register - 31a8: e3fff81e bsr 0x21e4 // 21e4 - UART_IO_Init(IO_UART2,2); //use PB0.4->RXD1, PB0.5->TXD1 - 31ac: 3102 movi r1, 2 - 31ae: 3002 movi r0, 2 - 31b0: e3fff842 bsr 0x2234 // 2234 - UARTInitRxTxIntEn(UART2,5000,UART_PAR_NONE); //baudrate=sysclock 48M/416=115200 tx rx int enabled - 31b4: 1076 lrw r3, 0x20000038 // 320c - 31b6: 3200 movi r2, 0 - 31b8: 9300 ld.w r0, (r3, 0x0) - 31ba: 102c lrw r1, 0x1388 // 31e8 - 31bc: e3fff8b2 bsr 0x2320 // 2320 - UART2_Int_Enable(); - 31c0: e3fff82c bsr 0x2218 // 2218 - GPIO_Init(GPIOB0,3,Output); - 31c4: 3200 movi r2, 0 - 31c6: 3103 movi r1, 3 - 31c8: 9400 ld.w r0, (r4, 0x0) - 31ca: e3fff63b bsr 0x1e40 // 1e40 - GPIO_DriveStrength_EN(GPIOB0,3); - 31ce: 3103 movi r1, 3 - 31d0: 9400 ld.w r0, (r4, 0x0) - 31d2: e3fff6b1 bsr 0x1f34 // 1f34 - GPIO_Write_Low(GPIOB0,3); - 31d6: 9400 ld.w r0, (r4, 0x0) - 31d8: 3103 movi r1, 3 - 31da: 07b2 br 0x313e // 313e - 31dc: 20000040 .long 0x20000040 - 31e0: 2000020c .long 0x2000020c - 31e4: 2000003c .long 0x2000003c - 31e8: 00001388 .long 0x00001388 - 31ec: 20000280 .long 0x20000280 - 31f0: 2000028c .long 0x2000028c - 31f4: 2000004c .long 0x2000004c - 31f8: 200002f4 .long 0x200002f4 - 31fc: 20000368 .long 0x20000368 - 3200: 200003c8 .long 0x200003c8 - 3204: 2000030c .long 0x2000030c - 3208: 20000048 .long 0x20000048 - 320c: 20000038 .long 0x20000038 - -Disassembly of section .text.UART0_RecvINT_Processing: - -00003210 : - -/******************************************************************************* -* Function Name : UART0_RecvINT_Processing -* Description : 串口0 接收中断处理函数 - 接收中断调用 -*******************************************************************************/ -void UART0_RecvINT_Processing(char data){ - 3210: 14c1 push r4 - if((g_uart[UART_0].RecvLen + 1) >= USART_BUFFER_SIZE) g_uart[UART_0].RecvLen = 0; - 3212: 106b lrw r3, 0x2000024c // 323c - 3214: 8b33 ld.h r1, (r3, 0x26) - 3216: 3262 movi r2, 98 - 3218: 6449 cmplt r2, r1 - 321a: 0c03 bf 0x3220 // 3220 - 321c: 3200 movi r2, 0 - 321e: ab53 st.h r2, (r3, 0x26) - g_uart[UART_0].RecvBuffer[g_uart[UART_0].RecvLen++] = (U8_T)data; - 3220: 8b33 ld.h r1, (r3, 0x26) - 3222: 5982 addi r4, r1, 1 - 3224: ab93 st.h r4, (r3, 0x26) - 3226: 1047 lrw r2, 0x2000020c // 3240 - - g_uart[UART_0].RecvIdleTiming = SysTick_1ms; - 3228: 1067 lrw r3, 0x200000b8 // 3244 - g_uart[UART_0].RecvBuffer[g_uart[UART_0].RecvLen++] = (U8_T)data; - 322a: 6048 addu r1, r2 - g_uart[UART_0].RecvIdleTiming = SysTick_1ms; - 322c: 9360 ld.w r3, (r3, 0x0) - 322e: b27b st.w r3, (r2, 0x6c) - g_uart[UART_0].Receiving = 0x01; - 3230: 225f addi r2, 96 - 3232: 3301 movi r3, 1 - g_uart[UART_0].RecvBuffer[g_uart[UART_0].RecvLen++] = (U8_T)data; - 3234: a100 st.b r0, (r1, 0x0) - g_uart[UART_0].Receiving = 0x01; - 3236: a264 st.b r3, (r2, 0x4) -} - 3238: 1481 pop r4 - 323a: 0000 bkpt - 323c: 2000024c .long 0x2000024c - 3240: 2000020c .long 0x2000020c - 3244: 200000b8 .long 0x200000b8 - -Disassembly of section .text.UART1_RecvINT_Processing: - -00003248 : - -/******************************************************************************* -* Function Name : UART1_RecvINT_Processing -* Description : 串口1 接收中断处理函数 - 接收中断调用 -*******************************************************************************/ -void UART1_RecvINT_Processing(char data){ - 3248: 14c1 push r4 - if((g_uart[UART_1].RecvLen + 1) >= USART_BUFFER_SIZE) g_uart[UART_1].RecvLen = 0; - 324a: 106b lrw r3, 0x200002cc // 3274 - 324c: 8b2d ld.h r1, (r3, 0x1a) - 324e: 3262 movi r2, 98 - 3250: 6449 cmplt r2, r1 - 3252: 0c03 bf 0x3258 // 3258 - 3254: 3200 movi r2, 0 - 3256: ab4d st.h r2, (r3, 0x1a) - g_uart[UART_1].RecvBuffer[g_uart[UART_1].RecvLen++] = (U8_T)data; - 3258: 8b4d ld.h r2, (r3, 0x1a) - 325a: 1028 lrw r1, 0x2000020c // 3278 - 325c: 5a82 addi r4, r2, 1 - 325e: 6084 addu r2, r1 - 3260: 2273 addi r2, 116 - 3262: a200 st.b r0, (r2, 0x0) - - g_uart[UART_1].RecvIdleTiming = SysTick_1ms; - 3264: 217f addi r1, 128 - 3266: 1046 lrw r2, 0x200000b8 // 327c - 3268: 9240 ld.w r2, (r2, 0x0) - 326a: b158 st.w r2, (r1, 0x60) - g_uart[UART_1].Receiving = 0x01; - 326c: 3201 movi r2, 1 - g_uart[UART_1].RecvBuffer[g_uart[UART_1].RecvLen++] = (U8_T)data; - 326e: ab8d st.h r4, (r3, 0x1a) - g_uart[UART_1].Receiving = 0x01; - 3270: a358 st.b r2, (r3, 0x18) -} - 3272: 1481 pop r4 - 3274: 200002cc .long 0x200002cc - 3278: 2000020c .long 0x2000020c - 327c: 200000b8 .long 0x200000b8 - -Disassembly of section .text.UART1_TASK: - -00003280 : - - -void UART1_TASK(void){ - 3280: 14d4 push r4-r7, r15 - U8_T rev = 0xFF; - if(g_uart[UART_1].Receiving == 0x01){ - 3282: 10b5 lrw r5, 0x200002cc // 32d4 - 3284: 8578 ld.b r3, (r5, 0x18) - 3286: 3b41 cmpnei r3, 1 - 3288: 0825 bt 0x32d2 // 32d2 - if(SysTick_1ms - g_uart[UART_1].RecvIdleTiming > g_uart[UART_1].RecvTimeout){ - 328a: 1094 lrw r4, 0x2000028c // 32d8 - 328c: 10d4 lrw r6, 0x200000b8 // 32dc - 328e: 9660 ld.w r3, (r6, 0x0) - 3290: 9458 ld.w r2, (r4, 0x60) - 3292: 60ca subu r3, r2 - 3294: 9457 ld.w r2, (r4, 0x5c) - 3296: 64c8 cmphs r2, r3 - 3298: 081d bt 0x32d2 // 32d2 - - SYSCON_Int_Disable(); //2025-03-19,复制接收缓冲到数据处理缓冲内 - 329a: e3fff571 bsr 0x1d7c // 1d7c - g_uart[UART_1].RecvIdleTiming = SysTick_1ms; - memcpy(DealBuffer,g_uart[UART_1].RecvBuffer,g_uart[UART_1].RecvLen); - 329e: 8ded ld.h r7, (r5, 0x1a) - g_uart[UART_1].RecvIdleTiming = SysTick_1ms; - 32a0: 9660 ld.w r3, (r6, 0x0) - memcpy(DealBuffer,g_uart[UART_1].RecvBuffer,g_uart[UART_1].RecvLen); - 32a2: 6c9f mov r2, r7 - 32a4: 102f lrw r1, 0x20000280 // 32e0 - 32a6: 1010 lrw r0, 0x200000bc // 32e4 - DealLen = g_uart[UART_1].RecvLen; - 32a8: 10d0 lrw r6, 0x200000fc // 32e8 - g_uart[UART_1].RecvIdleTiming = SysTick_1ms; - 32aa: b478 st.w r3, (r4, 0x60) - memcpy(DealBuffer,g_uart[UART_1].RecvBuffer,g_uart[UART_1].RecvLen); - 32ac: e3fff3a0 bsr 0x19ec // 19ec <__memcpy_fast> - g_uart[UART_1].RecvLen = 0; - 32b0: 3300 movi r3, 0 - 32b2: ad6d st.h r3, (r5, 0x1a) - g_uart[UART_1].Receiving = 0; - 32b4: a578 st.b r3, (r5, 0x18) - DealLen = g_uart[UART_1].RecvLen; - 32b6: aef2 st.h r7, (r6, 0x24) - SYSCON_Int_Enable(); - 32b8: e3fff55c bsr 0x1d70 // 1d70 - -#if DBG_LOG_EN - Dbg_Println(DBG_BIT_SYS_STATUS, "UART1 recv Len %d", DealLen); - Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"UART1 buff",DealBuffer,DealLen); -#endif - if(g_uart[UART_1].processing_cf != NULL){ - 32bc: 9479 ld.w r3, (r4, 0x64) - 32be: 3b40 cmpnei r3, 0 - 32c0: 0c04 bf 0x32c8 // 32c8 - rev = g_uart[UART_1].processing_cf(DealBuffer,DealLen); - 32c2: 8e32 ld.h r1, (r6, 0x24) - 32c4: 1008 lrw r0, 0x200000bc // 32e4 - 32c6: 7bcd jsr r3 - } - - memset(DealBuffer,0,USART_BUFFER_SIZE); - 32c8: 3264 movi r2, 100 - 32ca: 3100 movi r1, 0 - 32cc: 1006 lrw r0, 0x200000bc // 32e4 - 32ce: e3fff34b bsr 0x1964 // 1964 <__memset_fast> - } - } -} - 32d2: 1494 pop r4-r7, r15 - 32d4: 200002cc .long 0x200002cc - 32d8: 2000028c .long 0x2000028c - 32dc: 200000b8 .long 0x200000b8 - 32e0: 20000280 .long 0x20000280 - 32e4: 200000bc .long 0x200000bc - 32e8: 200000fc .long 0x200000fc - -Disassembly of section .text.UART2_RecvINT_Processing: - -000032ec : - -/******************************************************************************* -* Function Name : UART2_RecvINT_Processing -* Description : 串口2 接收中断处理函数 - 接收中断调用 -*******************************************************************************/ -void UART2_RecvINT_Processing(char data){ - 32ec: 14c1 push r4 - if((g_uart[UART_2].RecvLen + 1) >= USART_BUFFER_SIZE) g_uart[UART_2].RecvLen = 0; - 32ee: 104e lrw r2, 0x2000035a // 3324 - 32f0: 8a20 ld.h r1, (r2, 0x0) - 32f2: 3362 movi r3, 98 - 32f4: 644d cmplt r3, r1 - 32f6: 0c03 bf 0x32fc // 32fc - 32f8: 3300 movi r3, 0 - 32fa: aa60 st.h r3, (r2, 0x0) - g_uart[UART_2].RecvBuffer[g_uart[UART_2].RecvLen++] = (U8_T)data; - 32fc: 8a60 ld.h r3, (r2, 0x0) - 32fe: 102b lrw r1, 0x2000020c // 3328 - 3300: 5b82 addi r4, r3, 1 - 3302: 60c4 addu r3, r1 - 3304: 23e7 addi r3, 232 - 3306: a300 st.b r0, (r3, 0x0) - 3308: aa80 st.h r4, (r2, 0x0) - - g_uart[UART_2].RecvIdleTiming = SysTick_1ms; - 330a: 1069 lrw r3, 0x200000b8 // 332c - 330c: 9340 ld.w r2, (r3, 0x0) - 330e: 3380 movi r3, 128 - 3310: 4361 lsli r3, r3, 1 - 3312: 60c4 addu r3, r1 - 3314: b355 st.w r2, (r3, 0x54) - g_uart[UART_2].Receiving = 0x01; - 3316: 33a6 movi r3, 166 - 3318: 4361 lsli r3, r3, 1 - 331a: 604c addu r1, r3 - 331c: 3301 movi r3, 1 - 331e: a160 st.b r3, (r1, 0x0) -} - 3320: 1481 pop r4 - 3322: 0000 bkpt - 3324: 2000035a .long 0x2000035a - 3328: 2000020c .long 0x2000020c - 332c: 200000b8 .long 0x200000b8 - -Disassembly of section .text.UART2_TASK: - -00003330 : - - -void UART2_TASK(void){ - 3330: 14d4 push r4-r7, r15 - 3332: 1421 subi r14, r14, 4 - U8_T rev = 0xFF; - if(g_uart[UART_2].Receiving == 0x01){ - 3334: 10b7 lrw r5, 0x20000358 // 3390 - 3336: 8560 ld.b r3, (r5, 0x0) - 3338: 3b41 cmpnei r3, 1 - 333a: 0828 bt 0x338a // 338a - if(SysTick_1ms - g_uart[UART_2].RecvIdleTiming > g_uart[UART_2].RecvTimeout){ - 333c: 1096 lrw r4, 0x2000030c // 3394 - 333e: 10d7 lrw r6, 0x200000b8 // 3398 - 3340: 9660 ld.w r3, (r6, 0x0) - 3342: 9455 ld.w r2, (r4, 0x54) - 3344: 60ca subu r3, r2 - 3346: 9454 ld.w r2, (r4, 0x50) - 3348: 64c8 cmphs r2, r3 - 334a: 0820 bt 0x338a // 338a - - SYSCON_Int_Disable(); //2025-03-19,复制接收缓冲到数据处理缓冲内 - 334c: e3fff518 bsr 0x1d7c // 1d7c - g_uart[UART_2].RecvIdleTiming = SysTick_1ms; - 3350: 9660 ld.w r3, (r6, 0x0) - 3352: b475 st.w r3, (r4, 0x54) - memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen); - 3354: 8d61 ld.h r3, (r5, 0x2) - 3356: 6c8f mov r2, r3 - 3358: 1031 lrw r1, 0x200002f4 // 339c - 335a: 1012 lrw r0, 0x200000bc // 33a0 - DealLen = g_uart[UART_2].RecvLen; - 335c: 10d2 lrw r6, 0x200000fc // 33a4 - memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen); - 335e: b860 st.w r3, (r14, 0x0) - 3360: e3fff346 bsr 0x19ec // 19ec <__memcpy_fast> - DealLen = g_uart[UART_2].RecvLen; - 3364: 9860 ld.w r3, (r14, 0x0) - 3366: ae72 st.h r3, (r6, 0x24) - g_uart[UART_2].RecvLen = 0; - 3368: 3300 movi r3, 0 - 336a: ad61 st.h r3, (r5, 0x2) - g_uart[UART_2].Receiving = 0; - 336c: a560 st.b r3, (r5, 0x0) - SYSCON_Int_Enable(); - 336e: e3fff501 bsr 0x1d70 // 1d70 - -#if DBG_LOG_EN - Dbg_Println(DBG_BIT_SYS_STATUS, "UART2 recv Len %d", DealLen); - Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"UART2 buff",DealBuffer,DealLen); -#endif - if(g_uart[UART_2].processing_cf != NULL){ - 3372: 9476 ld.w r3, (r4, 0x58) - 3374: 3b40 cmpnei r3, 0 - memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen); - 3376: 5de6 addi r7, r5, 2 - if(g_uart[UART_2].processing_cf != NULL){ - 3378: 0c04 bf 0x3380 // 3380 - rev = g_uart[UART_2].processing_cf(DealBuffer,DealLen); - 337a: 8e32 ld.h r1, (r6, 0x24) - 337c: 1009 lrw r0, 0x200000bc // 33a0 - 337e: 7bcd jsr r3 -// { -// Boot_Comm_UpgradeProcess(DealBuffer,DealLen); -// } - - - memset(DealBuffer,0,USART_BUFFER_SIZE); - 3380: 3264 movi r2, 100 - 3382: 3100 movi r1, 0 - 3384: 1007 lrw r0, 0x200000bc // 33a0 - 3386: e3fff2ef bsr 0x1964 // 1964 <__memset_fast> - } - } -} - 338a: 1401 addi r14, r14, 4 - 338c: 1494 pop r4-r7, r15 - 338e: 0000 bkpt - 3390: 20000358 .long 0x20000358 - 3394: 2000030c .long 0x2000030c - 3398: 200000b8 .long 0x200000b8 - 339c: 200002f4 .long 0x200002f4 - 33a0: 200000bc .long 0x200000bc - 33a4: 200000fc .long 0x200000fc - -Disassembly of section .text.Controller485_SendData: - -000033a8 : - CK_CPU_EnAllNormalIrq(); -} - -//发送给设备端的485发送函数 -void Controller485_SendData(U8_T *buff,U16_T len) -{ - 33a8: 14d4 push r4-r7, r15 - 33aa: 1422 subi r14, r14, 8 - 33ac: b800 st.w r0, (r14, 0x0) - 33ae: 6dc7 mov r7, r1 - unsigned int Dataval = 0,delay_cnt = 0; - 33b0: 3400 movi r4, 0 - - //等待通讯发送完成 - while(RS485_Comming1 == 0x01){ - 33b2: 11a4 lrw r5, 0x200000bc // 3440 - 33b4: 11c4 lrw r6, 0x2000004c // 3444 - 33b6: 957e ld.w r3, (r5, 0x78) - 33b8: 3b41 cmpnei r3, 1 - 33ba: 0c36 bf 0x3426 // 3426 - } - - GPIO_Reverse(GPIOA0,13); - } - - delay_nus(500); - 33bc: 30fa movi r0, 250 - 33be: 4001 lsli r0, r0, 1 - 33c0: e3fff874 bsr 0x24a8 // 24a8 - - CK_CPU_DisAllNormalIrq(); - 33c4: e3fffe77 bsr 0x30b2 // 30b2 - GPIO_Write_High(GPIOA0,13); - 33c8: 310d movi r1, 13 - 33ca: 9600 ld.w r0, (r6, 0x0) - 33cc: e3fff678 bsr 0x20bc // 20bc - - RS485_Comm_Flag1 = 0x01; - 33d0: 3301 movi r3, 1 - 33d2: b57f st.w r3, (r5, 0x7c) - RS485_Comm_Start1 = 0x00; - 33d4: 3200 movi r2, 0 - 33d6: 107d lrw r3, 0x2000013c // 3448 - 33d8: b340 st.w r2, (r3, 0x0) - RS485_Comm_End1 = 0x00; - 33da: b861 st.w r3, (r14, 0x4) - 33dc: b341 st.w r2, (r3, 0x4) - CK_CPU_EnAllNormalIrq(); - 33de: e3fffe67 bsr 0x30ac // 30ac - - UARTTransmit(UART1,buff,len); - 33e2: 105b lrw r2, 0x2000003c // 344c - 33e4: 9200 ld.w r0, (r2, 0x0) - 33e6: 9820 ld.w r1, (r14, 0x0) - 33e8: 6c9f mov r2, r7 - 33ea: e3fff7a3 bsr 0x2330 // 2330 - 33ee: 9861 ld.w r3, (r14, 0x4) - - do{ - delay_nus(100); - 33f0: 3064 movi r0, 100 - 33f2: b860 st.w r3, (r14, 0x0) - - delay_cnt ++; - 33f4: 2400 addi r4, 1 - delay_nus(100); - 33f6: e3fff859 bsr 0x24a8 // 24a8 - if(delay_cnt >= 100){ - 33fa: 3263 movi r2, 99 - 33fc: 6508 cmphs r2, r4 - 33fe: 0c08 bf 0x340e // 340e - break; - } - - }while((RS485_Comm_Start1 < len) || (RS485_Comm_End1 < len)); //发送完成 - 3400: 9860 ld.w r3, (r14, 0x0) - 3402: 9340 ld.w r2, (r3, 0x0) - 3404: 65c9 cmplt r2, r7 - 3406: 0bf5 bt 0x33f0 // 33f0 - 3408: 9341 ld.w r2, (r3, 0x4) - 340a: 65c9 cmplt r2, r7 - 340c: 0bf2 bt 0x33f0 // 33f0 - - CK_CPU_DisAllNormalIrq(); - 340e: e3fffe52 bsr 0x30b2 // 30b2 - GPIO_Write_Low(GPIOA0,13); - 3412: 9600 ld.w r0, (r6, 0x0) - 3414: 310d movi r1, 13 - 3416: e3fff657 bsr 0x20c4 // 20c4 - - RS485_Comm_Flag1 = 0x00; - 341a: 3300 movi r3, 0 - 341c: b57f st.w r3, (r5, 0x7c) - CK_CPU_EnAllNormalIrq(); - 341e: e3fffe47 bsr 0x30ac // 30ac -} - 3422: 1402 addi r14, r14, 8 - 3424: 1494 pop r4-r7, r15 - delay_nus(100); - 3426: 3064 movi r0, 100 - 3428: e3fff840 bsr 0x24a8 // 24a8 - delay_cnt ++; - 342c: 2400 addi r4, 1 - if(delay_cnt >= 100){ - 342e: 3364 movi r3, 100 - 3430: 64d2 cmpne r4, r3 - 3432: 0fc5 bf 0x33bc // 33bc - GPIO_Reverse(GPIOA0,13); - 3434: 310d movi r1, 13 - 3436: 9600 ld.w r0, (r6, 0x0) - 3438: e3fff64a bsr 0x20cc // 20cc - 343c: 07bd br 0x33b6 // 33b6 - 343e: 0000 bkpt - 3440: 200000bc .long 0x200000bc - 3444: 2000004c .long 0x2000004c - 3448: 2000013c .long 0x2000013c - 344c: 2000003c .long 0x2000003c - -Disassembly of section .text.BUS485_Send: - -00003450 : - * buff:发送数据 - * len:数据长度 - * @retval - * */ -U8_T BUS485_Send(U8_T *buff,U16_T len) -{ - 3450: 14d4 push r4-r7, r15 - 3452: 1423 subi r14, r14, 12 - 3454: b802 st.w r0, (r14, 0x8) - 3456: b820 st.w r1, (r14, 0x0) - unsigned int Dataval = 0,delay_cnt = 0; - 3458: 3500 movi r5, 0 - - //等待通讯发送完成 - while(RS485_Comming == 0x01){ - 345a: 1189 lrw r4, 0x200000bc // 34fc - - delay_cnt ++; - if(delay_cnt >= 100){ - break; - } - GPIO_Reverse(GPIOB0,3); - 345c: 11c9 lrw r6, 0x20000048 // 3500 - while(RS485_Comming == 0x01){ - 345e: 947a ld.w r3, (r4, 0x68) - 3460: 3b41 cmpnei r3, 1 - 3462: 0c3e bf 0x34de // 34de - } - - if(m_send.BusState_Flag == UART_BUSIDLE){ //总线空闲 - 3464: 1168 lrw r3, 0x200003c8 // 3504 - 3466: 83c4 ld.b r6, (r3, 0x4) - 3468: 3e40 cmpnei r6, 0 - 346a: b861 st.w r3, (r14, 0x4) - 346c: 0845 bt 0x34f6 // 34f6 - - CK_CPU_DisAllNormalIrq(); - - GPIO_Write_High(GPIOB0,3); - 346e: 11e5 lrw r7, 0x20000048 // 3500 - CK_CPU_DisAllNormalIrq(); - 3470: e3fffe21 bsr 0x30b2 // 30b2 - GPIO_Write_High(GPIOB0,3); - 3474: 3103 movi r1, 3 - 3476: 9700 ld.w r0, (r7, 0x0) - 3478: e3fff622 bsr 0x20bc // 20bc - - RS485_Comm_Flag = 0x01; - 347c: 3201 movi r2, 1 - RS485_Comm_Start = 0x00; - RS485_Comm_End = 0x00; - - m_send.BusState_Flag = UART_BUSBUSY;//发送前总线置位繁忙 - 347e: 9861 ld.w r3, (r14, 0x4) - RS485_Comm_Flag = 0x01; - 3480: b45b st.w r2, (r4, 0x6c) - m_send.BusState_Flag = UART_BUSBUSY;//发送前总线置位繁忙 - 3482: a344 st.b r2, (r3, 0x4) - RS485_Comm_Start = 0x00; - 3484: b4dc st.w r6, (r4, 0x70) - m_send.BUSBUSY_LOCK = 0x01; //锁定总线状态 - 3486: a346 st.b r2, (r3, 0x6) - RS485_Comm_End = 0x00; - 3488: b4dd st.w r6, (r4, 0x74) - - CK_CPU_EnAllNormalIrq(); - 348a: e3fffe11 bsr 0x30ac // 30ac - - UARTTransmit(UART2,buff,len); - 348e: 105f lrw r2, 0x20000038 // 3508 - 3490: 9200 ld.w r0, (r2, 0x0) - 3492: 9822 ld.w r1, (r14, 0x8) - 3494: 9840 ld.w r2, (r14, 0x0) - 3496: e3fff74d bsr 0x2330 // 2330 - do{ - delay_nus(100); - 349a: 3064 movi r0, 100 - 349c: e3fff806 bsr 0x24a8 // 24a8 - delay_cnt ++; - 34a0: 2500 addi r5, 1 - if(delay_cnt >= 100){ - 34a2: 3363 movi r3, 99 - 34a4: 654c cmphs r3, r5 - 34a6: 0c08 bf 0x34b6 // 34b6 - break; - } - - }while((RS485_Comm_Start < len) || (RS485_Comm_End < len)); //发送完成 - 34a8: 947c ld.w r3, (r4, 0x70) - 34aa: 9840 ld.w r2, (r14, 0x0) - 34ac: 648d cmplt r3, r2 - 34ae: 0bf6 bt 0x349a // 349a - 34b0: 947d ld.w r3, (r4, 0x74) - 34b2: 648d cmplt r3, r2 - 34b4: 0bf3 bt 0x349a // 349a - - - CK_CPU_DisAllNormalIrq(); - 34b6: e3fffdfe bsr 0x30b2 // 30b2 - - GPIO_Write_Low(GPIOB0,3); - 34ba: 9700 ld.w r0, (r7, 0x0) - 34bc: 3103 movi r1, 3 - 34be: e3fff603 bsr 0x20c4 // 20c4 - RS485_Comm_Flag = 0x00; - 34c2: 3300 movi r3, 0 - 34c4: b47b st.w r3, (r4, 0x6c) - - m_send.BusState_Tick = SysTick_1ms; - 34c6: 1072 lrw r3, 0x200000b8 // 350c - 34c8: 9340 ld.w r2, (r3, 0x0) - 34ca: 1072 lrw r3, 0x20000368 // 3510 - 34cc: b35f st.w r2, (r3, 0x7c) - m_send.BUSBUSY_LOCK = 0x00; //解锁总线状态 - 34ce: 9861 ld.w r3, (r14, 0x4) - 34d0: 3200 movi r2, 0 - 34d2: a346 st.b r2, (r3, 0x6) - - CK_CPU_EnAllNormalIrq(); - 34d4: e3fffdec bsr 0x30ac // 30ac - { - return UART_BUSBUSY; //发送失败 - } - - return 0x02; //传入状态无效 -} - 34d8: 6c1b mov r0, r6 - 34da: 1403 addi r14, r14, 12 - 34dc: 1494 pop r4-r7, r15 - delay_nus(100); - 34de: 3064 movi r0, 100 - 34e0: e3fff7e4 bsr 0x24a8 // 24a8 - delay_cnt ++; - 34e4: 2500 addi r5, 1 - if(delay_cnt >= 100){ - 34e6: 3364 movi r3, 100 - 34e8: 64d6 cmpne r5, r3 - 34ea: 0fbd bf 0x3464 // 3464 - GPIO_Reverse(GPIOB0,3); - 34ec: 3103 movi r1, 3 - 34ee: 9600 ld.w r0, (r6, 0x0) - 34f0: e3fff5ee bsr 0x20cc // 20cc - 34f4: 07b5 br 0x345e // 345e - return UART_BUSBUSY; //发送失败 - 34f6: 3601 movi r6, 1 - 34f8: 07f0 br 0x34d8 // 34d8 - 34fa: 0000 bkpt - 34fc: 200000bc .long 0x200000bc - 3500: 20000048 .long 0x20000048 - 3504: 200003c8 .long 0x200003c8 - 3508: 20000038 .long 0x20000038 - 350c: 200000b8 .long 0x200000b8 - 3510: 20000368 .long 0x20000368 - -Disassembly of section .text.MultSend_Task: - -00003514 : - * DatSd:发送标记,0x00:无发送,0x01:有数据发送 - * - * @retval 0x00:发送成功 0x01:等待发送 0x02:数据无效 - * */ -U8_T MultSend_Task(U8_T *buff,U16_T len,U8_T DatSd) -{ - 3514: 14d4 push r4-r7, r15 - 3516: 1421 subi r14, r14, 4 - if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR; - 3518: 5963 subi r3, r1, 1 - 351a: 74cd zexth r3, r3 - 351c: 3463 movi r4, 99 - 351e: 64d0 cmphs r4, r3 -{ - 3520: b800 st.w r0, (r14, 0x0) - if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR; - 3522: 0c29 bf 0x3574 // 3574 - - if(DatSd == 0x01) - 3524: 3a41 cmpnei r2, 1 - 3526: 0c04 bf 0x352e // 352e - }else{ - Dbg_Println(DBG_BIT_SYS_STATUS,"retry end,%d",m_send.ResendCnt ); - return RETRY_END;//没有重发次数 - } - } - return BUSSEND_WAIT;//等待 - 3528: 3001 movi r0, 1 -} - 352a: 1401 addi r14, r14, 4 - 352c: 1494 pop r4-r7, r15 - if( m_send.ResendCnt < m_send.TotalCnt) //判断数据是否还在有效期,是否还有发送次数 - 352e: 1075 lrw r3, 0x20000368 // 3580 - 3530: 3760 movi r7, 96 - 3532: 61cc addu r7, r3 - 3534: 87c8 ld.b r6, (r7, 0x8) - 3536: 874a ld.b r2, (r7, 0xa) - 3538: 6498 cmphs r6, r2 - 353a: 081f bt 0x3578 // 3578 - if(SysTick_1ms - m_send.BusbusyTimeout < m_send.DataValid_Time) - 353c: 3480 movi r4, 128 - 353e: 10b2 lrw r5, 0x200000b8 // 3584 - 3540: 610c addu r4, r3 - 3542: 9401 ld.w r0, (r4, 0x4) - 3544: 9540 ld.w r2, (r5, 0x0) - 3546: 6082 subu r2, r0 - 3548: 931e ld.w r0, (r3, 0x78) - 354a: 6408 cmphs r2, r0 - 354c: 0818 bt 0x357c // 357c - if( (m_send.ResendCnt == 0x00) || (SysTick_1ms - m_send.ASend_Tick >= m_send.DataWait_Time) ){//数据发送间隔 - 354e: 3e40 cmpnei r6, 0 - 3550: 0c07 bf 0x355e // 355e - 3552: 9540 ld.w r2, (r5, 0x0) - 3554: 94c0 ld.w r6, (r4, 0x0) - 3556: 609a subu r2, r6 - 3558: 937d ld.w r3, (r3, 0x74) - 355a: 64c8 cmphs r2, r3 - 355c: 0fe6 bf 0x3528 // 3528 - if(BUS485_Send(buff,len) == UART_BUSIDLE){ //发送数据 - 355e: 9800 ld.w r0, (r14, 0x0) - 3560: e3ffff78 bsr 0x3450 // 3450 - 3564: 3840 cmpnei r0, 0 - 3566: 0be1 bt 0x3528 // 3528 - m_send.ASend_Tick = SysTick_1ms; - 3568: 9560 ld.w r3, (r5, 0x0) - 356a: b460 st.w r3, (r4, 0x0) - m_send.ResendCnt++; - 356c: 8768 ld.b r3, (r7, 0x8) - 356e: 2300 addi r3, 1 - 3570: a768 st.b r3, (r7, 0x8) - 3572: 07dc br 0x352a // 352a - if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR; - 3574: 3004 movi r0, 4 - 3576: 07da br 0x352a // 352a - return RETRY_END;//没有重发次数 - 3578: 3003 movi r0, 3 - 357a: 07d8 br 0x352a // 352a - return DATA_END;//数据有效期结束 - 357c: 3002 movi r0, 2 - 357e: 07d6 br 0x352a // 352a - 3580: 20000368 .long 0x20000368 - 3584: 200000b8 .long 0x200000b8 - -Disassembly of section .text.Set_GroupSend: - -00003588 : - * indate: 设置数据有效期 - * tim_val: 发送时间间隔 - * @retval None - * */ -void Set_GroupSend(U8_T *data,U16_T sled,U8_T SCnt,U32_T indate,U32_T tim_val) -{ - 3588: 14d4 push r4-r7, r15 - 358a: 1422 subi r14, r14, 8 - 358c: 6d8b mov r6, r2 - 358e: 9847 ld.w r2, (r14, 0x1c) - 3590: b840 st.w r2, (r14, 0x0) - if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return; - 3592: 5943 subi r2, r1, 1 -{ - 3594: 6d47 mov r5, r1 - if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return; - 3596: 7489 zexth r2, r2 - 3598: 3163 movi r1, 99 - 359a: 6484 cmphs r1, r2 -{ - 359c: 6dc3 mov r7, r0 - if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return; - 359e: 0c20 bf 0x35de // 35de - - memset(m_send.SendBuffer,0, USART_SEND_SIZE); - 35a0: 1091 lrw r4, 0x20000368 // 35e4 - 35a2: 3264 movi r2, 100 - 35a4: 3100 movi r1, 0 - 35a6: 6c13 mov r0, r4 - 35a8: b861 st.w r3, (r14, 0x4) - 35aa: e3fff1dd bsr 0x1964 // 1964 <__memset_fast> - memcpy(m_send.SendBuffer,data,sled); - 35ae: 6c97 mov r2, r5 - 35b0: 6c13 mov r0, r4 - 35b2: 6c5f mov r1, r7 - 35b4: e3fff21c bsr 0x19ec // 19ec <__memcpy_fast> - m_send.SendLen = sled; - 35b8: 3240 movi r2, 64 - 35ba: 6090 addu r2, r4 - - m_send.DataValid_Time = indate;//数据有效期 - 35bc: 9861 ld.w r3, (r14, 0x4) - 35be: b47e st.w r3, (r4, 0x78) - m_send.SendLen = sled; - 35c0: aab7 st.h r5, (r2, 0x2e) - m_send.TotalCnt = SCnt; //数据发送次数 - 35c2: 3360 movi r3, 96 - m_send.DataWait_Time = tim_val;//发送数据间隔 - 35c4: 9840 ld.w r2, (r14, 0x0) - m_send.TotalCnt = SCnt; //数据发送次数 - 35c6: 60d0 addu r3, r4 - m_send.DataWait_Time = tim_val;//发送数据间隔 - 35c8: b45d st.w r2, (r4, 0x74) - - m_send.ASend_Flag = 0x01; - 35ca: 3201 movi r2, 1 - 35cc: a349 st.b r2, (r3, 0x9) - m_send.SendState = BUSSEND_WAIT; - 35ce: a347 st.b r2, (r3, 0x7) - m_send.ResendCnt = 0x00; - 35d0: 3200 movi r2, 0 - m_send.TotalCnt = SCnt; //数据发送次数 - 35d2: a3ca st.b r6, (r3, 0xa) - m_send.ResendCnt = 0x00; - 35d4: a348 st.b r2, (r3, 0x8) - m_send.BusbusyTimeout = SysTick_1ms; - 35d6: 247f addi r4, 128 - 35d8: 1064 lrw r3, 0x200000b8 // 35e8 - 35da: 9360 ld.w r3, (r3, 0x0) - 35dc: b461 st.w r3, (r4, 0x4) -} - 35de: 1402 addi r14, r14, 8 - 35e0: 1494 pop r4-r7, r15 - 35e2: 0000 bkpt - 35e4: 20000368 .long 0x20000368 - 35e8: 200000b8 .long 0x200000b8 - -Disassembly of section .text.Clear_SendFlag: - -000035ec : -//清除发送标志 -void Clear_SendFlag(void) -{ - m_send.ASend_Flag = 0x00; - 35ec: 1063 lrw r3, 0x200003c8 // 35f8 - 35ee: 3200 movi r2, 0 - 35f0: a349 st.b r2, (r3, 0x9) - m_send.SendState = BUSSEND_SUCC; - 35f2: a347 st.b r2, (r3, 0x7) -} - 35f4: 783c jmp r15 - 35f6: 0000 bkpt - 35f8: 200003c8 .long 0x200003c8 - -Disassembly of section .text.BUS485Send_Task: - -000035fc : - m_send.Jump_Flag = jump; -} - -//485发送任务 -void BUS485Send_Task(void) //2025-03-29 -{ - 35fc: 14d1 push r4, r15 - //空闲等待 - if(m_send.ASend_Flag == 0x01) - 35fe: 108a lrw r4, 0x200003c8 // 3624 - 3600: 8469 ld.b r3, (r4, 0x9) - 3602: 3b41 cmpnei r3, 1 - 3604: 080e bt 0x3620 // 3620 - { - m_send.SendState = MultSend_Task(m_send.SendBuffer,m_send.SendLen,m_send.ASend_Flag); - 3606: 1069 lrw r3, 0x200003a8 // 3628 - 3608: 8b37 ld.h r1, (r3, 0x2e) - 360a: 3201 movi r2, 1 - 360c: 1008 lrw r0, 0x20000368 // 362c - 360e: e3ffff83 bsr 0x3514 // 3514 - 3612: a407 st.b r0, (r4, 0x7) - - if( (m_send.SendState == DATA_END)||(m_send.SendState == RETRY_END) )//判断发送数据是否有效 - 3614: 2801 subi r0, 2 - 3616: 7400 zextb r0, r0 - 3618: 3801 cmphsi r0, 2 - 361a: 0803 bt 0x3620 // 3620 - { - Dbg_Println(DBG_BIT_SYS_STATUS,"send end"); - - m_send.ASend_Flag = 0x00; //清除发生标志位 - 361c: 3300 movi r3, 0 - 361e: a469 st.b r3, (r4, 0x9) -// SYSCON->UREG3 = g_boot.bootTimeout; //向Boot 设定Boot超时时间 -// SYSCON_Software_Reset(); -// } - } - } -} - 3620: 1491 pop r4, r15 - 3622: 0000 bkpt - 3624: 200003c8 .long 0x200003c8 - 3628: 200003a8 .long 0x200003a8 - 362c: 20000368 .long 0x20000368 - -Disassembly of section .text.BusIdle_Task: - -00003630 : -/********************************************************** - * @brief 2025-03-25,检测总线空闲,在定时器中断里调用 - * @retval None - * */ -void BusIdle_Task(void) -{ - 3630: 14d2 push r4-r5, r15 - if((m_send.BusState_Flag != UART_BUSIDLE)&&(m_send.BUSBUSY_LOCK != 0x01)) - 3632: 10ae lrw r5, 0x20000368 // 3668 - 3634: 3460 movi r4, 96 - 3636: 6114 addu r4, r5 - 3638: 8464 ld.b r3, (r4, 0x4) - 363a: 3b40 cmpnei r3, 0 - 363c: 0c15 bf 0x3666 // 3666 - 363e: 8466 ld.b r3, (r4, 0x6) - 3640: 3b41 cmpnei r3, 1 - 3642: 0c12 bf 0x3666 // 3666 - { - CK_CPU_DisAllNormalIrq(); - 3644: e3fffd37 bsr 0x30b2 // 30b2 - if( (m_send.HighBit_Flag == 0x01)&&(SysTick_1ms - m_send.BusState_Tick >= (6 + m_send.Bus_DelayTime)) ) - 3648: 8465 ld.b r3, (r4, 0x5) - 364a: 3b41 cmpnei r3, 1 - 364c: 080b bt 0x3662 // 3662 - 364e: 1068 lrw r3, 0x200000b8 // 366c - 3650: 9340 ld.w r2, (r3, 0x0) - 3652: 957f ld.w r3, (r5, 0x7c) - 3654: 608e subu r2, r3 - 3656: 957c ld.w r3, (r5, 0x70) - 3658: 2305 addi r3, 6 - 365a: 64c8 cmphs r2, r3 - 365c: 0c03 bf 0x3662 // 3662 - { - m_send.BusState_Flag = UART_BUSIDLE; - 365e: 3300 movi r3, 0 - 3660: a464 st.b r3, (r4, 0x4) - } - CK_CPU_EnAllNormalIrq(); - 3662: e3fffd25 bsr 0x30ac // 30ac - } -} - 3666: 1492 pop r4-r5, r15 - 3668: 20000368 .long 0x20000368 - 366c: 200000b8 .long 0x200000b8 - -Disassembly of section .text.BusBusy_Task: - -00003670 : -/******************************************************************* - * @brief 检测总线繁忙,在串口接收RX引脚的外部中断服务函数里调用 - * @retval None - * */ -void BusBusy_Task(void) -{ - 3670: 14d2 push r4-r5, r15 - CK_CPU_DisAllNormalIrq(); - m_send.BusState_Flag = UART_BUSBUSY; - 3672: 1094 lrw r4, 0x20000368 // 36c0 - 3674: 3560 movi r5, 96 - CK_CPU_DisAllNormalIrq(); - 3676: e3fffd1e bsr 0x30b2 // 30b2 - m_send.BusState_Flag = UART_BUSBUSY; - 367a: 6150 addu r5, r4 - 367c: 3301 movi r3, 1 - 367e: a564 st.b r3, (r5, 0x4) - m_send.BusState_Tick = SysTick_1ms; - m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时 - 3680: 310a movi r1, 10 - m_send.BusState_Tick = SysTick_1ms; - 3682: 1071 lrw r3, 0x200000b8 // 36c4 - 3684: 9340 ld.w r2, (r3, 0x0) - m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时 - 3686: 9300 ld.w r0, (r3, 0x0) - 3688: 3380 movi r3, 128 - 368a: 60d0 addu r3, r4 - 368c: 9360 ld.w r3, (r3, 0x0) - m_send.BusState_Tick = SysTick_1ms; - 368e: b45f st.w r2, (r4, 0x7c) - m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时 - 3690: 600e subu r0, r3 - 3692: e3fffcfb bsr 0x3088 // 3088 <__umodsi3> - 3696: b41c st.w r0, (r4, 0x70) - - if(READ_RXLEVEL_STATE == 0x01){ - 3698: 3105 movi r1, 5 - 369a: 108c lrw r4, 0x20000048 // 36c8 - 369c: 9400 ld.w r0, (r4, 0x0) - 369e: e3fff522 bsr 0x20e2 // 20e2 - 36a2: 3841 cmpnei r0, 1 - 36a4: 0806 bt 0x36b0 // 36b0 - m_send.HighBit_Flag = 0x01; //高电平标志置位 - 36a6: 3301 movi r3, 1 - }else if(READ_RXLEVEL_STATE == 0x00){ - m_send.HighBit_Flag = 0x00; //低电平 - 36a8: a565 st.b r3, (r5, 0x5) - } - CK_CPU_EnAllNormalIrq(); - 36aa: e3fffd01 bsr 0x30ac // 30ac -} - 36ae: 1492 pop r4-r5, r15 - }else if(READ_RXLEVEL_STATE == 0x00){ - 36b0: 9400 ld.w r0, (r4, 0x0) - 36b2: 3105 movi r1, 5 - 36b4: e3fff517 bsr 0x20e2 // 20e2 - 36b8: 3840 cmpnei r0, 0 - 36ba: 0bf8 bt 0x36aa // 36aa - m_send.HighBit_Flag = 0x00; //低电平 - 36bc: 3300 movi r3, 0 - 36be: 07f5 br 0x36a8 // 36a8 - 36c0: 20000368 .long 0x20000368 - 36c4: 200000b8 .long 0x200000b8 - 36c8: 20000048 .long 0x20000048 - -Disassembly of section .text.Dbg_Println: - -000036cc : - } - -#endif -} - -void Dbg_Println(int DbgOptBit, const char *cmd, ...){ - 36cc: 1423 subi r14, r14, 12 - 36ce: b862 st.w r3, (r14, 0x8) - 36d0: b841 st.w r2, (r14, 0x4) - 36d2: b820 st.w r1, (r14, 0x0) - - - } - -#endif -} - 36d4: 1403 addi r14, r14, 12 - 36d6: 783c jmp r15 - -Disassembly of section .text.EEPROM_CheckSum: - -000036d8 : -E_PARA_INFO g_eeprom; - -E_MCU_DEV_INFO g_mcu_dev; - -U8_T EEPROM_CheckSum(U8_T *data,U16_T len) -{ - 36d8: 6cc3 mov r3, r0 - 36da: 6040 addu r1, r0 - U8_T data_sum = 0; - 36dc: 3000 movi r0, 0 - - for(U16_T i = 0;i - { - data_sum += data[i]; - } - return data_sum; -} - 36e2: 783c jmp r15 - data_sum += data[i]; - 36e4: 8340 ld.b r2, (r3, 0x0) - 36e6: 6008 addu r0, r2 - 36e8: 7400 zextb r0, r0 - 36ea: 2300 addi r3, 1 - 36ec: 07f9 br 0x36de // 36de - -Disassembly of section .text.EEPROM_ReadParaInfo: - -000036f0 : - } - -} - - -U8_T EEPROM_ReadParaInfo(E_PARA_INFO *info){ - 36f0: 14d1 push r4, r15 - 36f2: 143b subi r14, r14, 108 - 36f4: 6d03 mov r4, r0 - U8_T read_info[6]; - U8_T para_data[EEPROM_APP_DATA_Size_Max]; - U16_T read_len = 0; - - memset(read_info,0,sizeof(read_info)); - 36f6: 3300 movi r3, 0 - memset(para_data,0,sizeof(para_data)); - 36f8: 3264 movi r2, 100 - 36fa: 3100 movi r1, 0 - 36fc: 1802 addi r0, r14, 8 - memset(read_info,0,sizeof(read_info)); - 36fe: b860 st.w r3, (r14, 0x0) - 3700: dc6e1002 st.h r3, (r14, 0x4) - memset(para_data,0,sizeof(para_data)); - 3704: e3fff130 bsr 0x1964 // 1964 <__memset_fast> - - ReadDataArry_U8(EEPROM_ParaInfo_Address,4,read_info); - 3708: 6cbb mov r2, r14 - 370a: 3104 movi r1, 4 - 370c: 1014 lrw r0, 0x10000100 // 375c - 370e: e3fff685 bsr 0x2418 // 2418 - - if(read_info[0] == EEPROM_APP_SVAE_FLAG){ - 3712: d84e0000 ld.b r2, (r14, 0x0) - 3716: 33a6 movi r3, 166 - 3718: 64ca cmpne r2, r3 - 371a: 0c04 bf 0x3722 // 3722 - return 0x00; - } - } - } - - return 0x01; - 371c: 3001 movi r0, 1 -} - 371e: 141b addi r14, r14, 108 - 3720: 1491 pop r4, r15 - read_len |= read_info[1]; - 3722: d82e0002 ld.b r1, (r14, 0x2) - 3726: d86e0001 ld.b r3, (r14, 0x1) - 372a: 4128 lsli r1, r1, 8 - 372c: 6c4c or r1, r3 - if(read_len <= EEPROM_APP_DATA_Size_Max){ - 372e: 3364 movi r3, 100 - 3730: 644c cmphs r3, r1 - 3732: 0ff5 bf 0x371c // 371c - ReadDataArry_U8(EEPROM_ParaInfo_Address+EEPROM_Offset_Data,read_len,para_data); - 3734: 1a02 addi r2, r14, 8 - 3736: 100b lrw r0, 0x10000104 // 3760 - 3738: e3fff670 bsr 0x2418 // 2418 - if(EEPROM_CheckSum(para_data,sizeof(E_PARA_INFO)) == read_info[3]){ - 373c: 3108 movi r1, 8 - 373e: 1802 addi r0, r14, 8 - 3740: e3ffffcc bsr 0x36d8 // 36d8 - 3744: d86e0003 ld.b r3, (r14, 0x3) - 3748: 640e cmpne r3, r0 - 374a: 0be9 bt 0x371c // 371c - memcpy((uint8_t *)info,para_data,sizeof(E_PARA_INFO)); - 374c: 3208 movi r2, 8 - 374e: 1902 addi r1, r14, 8 - 3750: 6c13 mov r0, r4 - 3752: e3fff14d bsr 0x19ec // 19ec <__memcpy_fast> - return 0x00; - 3756: 3000 movi r0, 0 - 3758: 07e3 br 0x371e // 371e - 375a: 0000 bkpt - 375c: 10000100 .long 0x10000100 - 3760: 10000104 .long 0x10000104 - -Disassembly of section .text.EEPROM_WriteParaInfo: - -00003764 : - -U8_T EEPROM_WriteParaInfo(E_PARA_INFO *info){ - 3764: 14d0 push r15 - 3766: 143b subi r14, r14, 108 - U8_T save_data[EEPROM_APP_DATA_Size_Max + 6]; - U16_T save_len = sizeof(E_PARA_INFO); - - if(save_len >= EEPROM_APP_DATA_Size_Max) save_len = EEPROM_APP_DATA_Size_Max; - - save_data[0] = EEPROM_APP_SVAE_FLAG; - 3768: 3300 movi r3, 0 - 376a: 2b59 subi r3, 90 - 376c: dc6e0000 st.b r3, (r14, 0x0) - save_data[1] = save_len & 0xFF; - 3770: 3308 movi r3, 8 - 3772: dc6e0001 st.b r3, (r14, 0x1) - save_data[2] = (save_len >> 8) & 0xFF; - 3776: 3300 movi r3, 0 - 3778: dc6e0002 st.b r3, (r14, 0x2) - - memcpy(&save_data[4],(uint8_t *)info,save_len); - 377c: 1b01 addi r3, r14, 4 -U8_T EEPROM_WriteParaInfo(E_PARA_INFO *info){ - 377e: 6c43 mov r1, r0 - memcpy(&save_data[4],(uint8_t *)info,save_len); - 3780: 3208 movi r2, 8 - 3782: 6c0f mov r0, r3 - 3784: e3fff134 bsr 0x19ec // 19ec <__memcpy_fast> - - save_data[3] = EEPROM_CheckSum(&save_data[4],save_len); - 3788: 3108 movi r1, 8 - 378a: e3ffffa7 bsr 0x36d8 // 36d8 - 378e: dc0e0003 st.b r0, (r14, 0x3) - - save_len+=4; - - Page_ProgramData(EEPROM_ParaInfo_Address,save_len,save_data); - 3792: 6cbb mov r2, r14 - 3794: 310c movi r1, 12 - 3796: 1004 lrw r0, 0x10000100 // 37a4 - 3798: e3fff5f0 bsr 0x2378 // 2378 - - return 0; -} - 379c: 3000 movi r0, 0 - 379e: 141b addi r14, r14, 108 - 37a0: 1490 pop r15 - 37a2: 0000 bkpt - 37a4: 10000100 .long 0x10000100 - -Disassembly of section .text.EEPROM_Validate_ParaInfo: - -000037a8 : - Page_ProgramData(EEPROM_ParaInfo_Address,save_len,save_data); - - return 0; -} - -U8_T EEPROM_Validate_ParaInfo(E_PARA_INFO *info){ - 37a8: 14d0 push r15 - 37aa: 1423 subi r14, r14, 12 -// { -// info->langue_select = EEPROM_LangueSelect_Default;//默认中英文混合 -// } - - //设备端口类型 - if(info->dev_port > 2) //2024-12-16 - 37ac: 8067 ld.b r3, (r0, 0x7) - 37ae: 3b02 cmphsi r3, 3 - 37b0: 0c03 bf 0x37b6 // 37b6 - { - info->dev_port = POLLING_PORT; //默认轮训端口 - 37b2: 3301 movi r3, 1 - 37b4: a067 st.b r3, (r0, 0x7) - } - - - Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info temp unit:%d backlight_en:%d key_sens_level:%d device_addr:%d device_port:%d",\ - 37b6: 8027 ld.b r1, (r0, 0x7) - 37b8: 8064 ld.b r3, (r0, 0x4) - 37ba: 8043 ld.b r2, (r0, 0x3) - 37bc: b822 st.w r1, (r14, 0x8) - 37be: 8020 ld.b r1, (r0, 0x0) - 37c0: b821 st.w r1, (r14, 0x4) - 37c2: 8025 ld.b r1, (r0, 0x5) - 37c4: b820 st.w r1, (r14, 0x0) - 37c6: 3000 movi r0, 0 - 37c8: 1023 lrw r1, 0x5ec6 // 37d4 - 37ca: e3ffff81 bsr 0x36cc // 36cc - info->temp_select,info->backlight_en,info->key_sens_level,info->dev_addr,info->dev_port); - - return 0; -} - 37ce: 3000 movi r0, 0 - 37d0: 1403 addi r14, r14, 12 - 37d2: 1490 pop r15 - 37d4: 00005ec6 .long 0x00005ec6 - -Disassembly of section .text.EEPROM_Default_ParaInfo: - -000037d8 : - -/*恢复默认值*/ -void EEPROM_Default_ParaInfo(E_PARA_INFO *info){ - info->dev_addr = 0x01; - 37d8: 3301 movi r3, 1 - 37da: a060 st.b r3, (r0, 0x0) - info->pipe_flag = 0x00; - 37dc: 3300 movi r3, 0 - 37de: a061 st.b r3, (r0, 0x1) - info->temp_diff = EEPROM_TempDifference_Default; - 37e0: 3309 movi r3, 9 - 37e2: a062 st.b r3, (r0, 0x2) - info->temp_select = EEPROM_TempSelect_Default; - 37e4: 3300 movi r3, 0 - 37e6: a063 st.b r3, (r0, 0x3) - info->backlight_en = 0x00; - 37e8: a064 st.b r3, (r0, 0x4) - info->key_sens_level = EEPROM_TouchLevel_Default; - 37ea: 3301 movi r3, 1 - 37ec: a065 st.b r3, (r0, 0x5) - info->langue_select = EEPROM_LangueSelect_Default; - 37ee: 3300 movi r3, 0 - 37f0: a066 st.b r3, (r0, 0x6) - info->dev_port = POLLING_PORT; //2024-12-16 - 37f2: 3301 movi r3, 1 - 37f4: a067 st.b r3, (r0, 0x7) - -} - 37f6: 783c jmp r15 - -Disassembly of section .text.EEPROM_Init: - -000037f8 : -void EEPROM_Init(void){ - 37f8: 14d1 push r4, r15 - EnIFCClk; //使能 IFC 时钟 - 37fa: 1072 lrw r3, 0x20000060 // 3840 - 37fc: 3201 movi r2, 1 - 37fe: 9360 ld.w r3, (r3, 0x0) - 3800: b341 st.w r2, (r3, 0x4) - IFC->MR |= 0x10002; //高速模式,延迟 2 个周期 - 3802: 9345 ld.w r2, (r3, 0x14) - 3804: 3aa1 bseti r2, 1 - 3806: 3ab0 bseti r2, 16 - 3808: b345 st.w r2, (r3, 0x14) - delay_nms(10); - 380a: 300a movi r0, 10 - memset(&g_eeprom,0,sizeof(E_PARA_INFO)); - 380c: 108e lrw r4, 0x200003f0 // 3844 - delay_nms(10); - 380e: e3fff637 bsr 0x247c // 247c - memset(&g_eeprom,0,sizeof(E_PARA_INFO)); - 3812: 3208 movi r2, 8 - 3814: 3100 movi r1, 0 - 3816: 6c13 mov r0, r4 - 3818: e3fff0a6 bsr 0x1964 // 1964 <__memset_fast> - rev = EEPROM_ReadParaInfo(&g_eeprom); - 381c: 6c13 mov r0, r4 - 381e: e3ffff69 bsr 0x36f0 // 36f0 - if(rev == 0x00){ - 3822: 3840 cmpnei r0, 0 - EEPROM_Validate_ParaInfo(&g_eeprom); - 3824: 6c13 mov r0, r4 - if(rev == 0x00){ - 3826: 0804 bt 0x382e // 382e - EEPROM_Validate_ParaInfo(&g_eeprom); - 3828: e3ffffc0 bsr 0x37a8 // 37a8 -} - 382c: 1491 pop r4, r15 - EEPROM_Default_ParaInfo(&g_eeprom); - 382e: e3ffffd5 bsr 0x37d8 // 37d8 - Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info Use Default:%d",g_eeprom.pipe_flag); - 3832: 8441 ld.b r2, (r4, 0x1) - 3834: 1025 lrw r1, 0x5f20 // 3848 - 3836: 3000 movi r0, 0 - 3838: e3ffff4a bsr 0x36cc // 36cc -} - 383c: 07f8 br 0x382c // 382c - 383e: 0000 bkpt - 3840: 20000060 .long 0x20000060 - 3844: 200003f0 .long 0x200003f0 - 3848: 00005f20 .long 0x00005f20 - -Disassembly of section .text.TemCtrl_Init: - -0000384c : - * 函数功能:温控初始化 - * - * -*****************************************************************/ -void TemCtrl_Init(void) -{ - 384c: 14d1 push r4, r15 - memset(&TempCtrl,0x00,sizeof(TempCtrl_Unit)); - 384e: 1292 lrw r4, 0x20000420 // 3994 - 3850: 3228 movi r2, 40 - 3852: 3100 movi r1, 0 - 3854: 6c13 mov r0, r4 - 3856: e3fff087 bsr 0x1964 // 1964 <__memset_fast> - - if(Sys_RSR & 0xFFFFFFFE) //除上电复位外其他复位源则恢复温控状态 - 385a: 1270 lrw r3, 0x200000ac // 3998 - 385c: 9360 ld.w r3, (r3, 0x0) - 385e: 3b80 bclri r3, 0 - 3860: 3b40 cmpnei r3, 0 - 3862: 0c92 bf 0x3986 // 3986 - { - Dbg_Println(DBG_BIT_SYS_STATUS,"MCU reset,recover state!"); - 3864: 122e lrw r1, 0x5f42 // 399c - 3866: 3000 movi r0, 0 - 3868: e3ffff32 bsr 0x36cc // 36cc - - if(((Sav_Temp & 0xFF) == TEMP_OFF) || ((Sav_Temp & 0xFF) == TEMP_ON)) //读取的温控开关机状态合法 - 386c: 126d lrw r3, 0x200000a8 // 39a0 - 386e: 30ff movi r0, 255 - 3870: 9320 ld.w r1, (r3, 0x0) - 3872: 6840 and r1, r0 - 3874: 3940 cmpnei r1, 0 - 3876: 0c05 bf 0x3880 // 3880 - 3878: 9340 ld.w r2, (r3, 0x0) - 387a: 6880 and r2, r0 - 387c: 3a41 cmpnei r2, 1 - 387e: 0877 bt 0x396c // 396c - { - TempCtrl.TemState_Now.on_off = (Sav_Temp & 0xFF); - 3880: 9340 ld.w r2, (r3, 0x0) - 3882: 4227 lsli r1, r2, 7 - 3884: 307f movi r0, 127 - 3886: 8442 ld.b r2, (r4, 0x2) - 3888: 6880 and r2, r0 - 388a: 6c84 or r2, r1 - } - else - { - TempCtrl.TemState_Now.on_off = TEMP_OFF; - 388c: a442 st.b r2, (r4, 0x2) - } - - if( (((Sav_Temp >> 8) & 0xFF) == MODEL_COLD) || (((Sav_Temp >> 8) & 0xFF) == MODEL_HOT) - 388e: 9340 ld.w r2, (r3, 0x0) - 3890: 4a48 lsri r2, r2, 8 - 3892: 30ff movi r0, 255 - 3894: 6880 and r2, r0 - 3896: 3a40 cmpnei r2, 0 - 3898: 0c10 bf 0x38b8 // 38b8 - 389a: 9340 ld.w r2, (r3, 0x0) - 389c: 4a48 lsri r2, r2, 8 - 389e: 6880 and r2, r0 - 38a0: 3a42 cmpnei r2, 2 - 38a2: 0c0b bf 0x38b8 // 38b8 - || (((Sav_Temp >> 8) & 0xFF) == MODEL_WIND) || (((Sav_Temp >> 8) & 0xFF) == MODEL_AUTO) ) //读取的温控模式状态合法 - 38a4: 9320 ld.w r1, (r3, 0x0) - 38a6: 4928 lsri r1, r1, 8 - 38a8: 6840 and r1, r0 - 38aa: 3944 cmpnei r1, 4 - 38ac: 0c06 bf 0x38b8 // 38b8 - 38ae: 9340 ld.w r2, (r3, 0x0) - 38b0: 4a48 lsri r2, r2, 8 - 38b2: 6880 and r2, r0 - 38b4: 3a46 cmpnei r2, 6 - 38b6: 085f bt 0x3974 // 3974 - { - TempCtrl.TemState_Now.mode = ((Sav_Temp >> 8) & 0xFF); - 38b8: 9340 ld.w r2, (r3, 0x0) - 38ba: 3107 movi r1, 7 - 38bc: 4a48 lsri r2, r2, 8 - 38be: 6884 and r2, r1 - 38c0: 3070 movi r0, 112 - 38c2: 8422 ld.b r1, (r4, 0x2) - 38c4: 4244 lsli r2, r2, 4 - 38c6: 6841 andn r1, r0 - 38c8: 6c84 or r2, r1 - } - else - { - TempCtrl.TemState_Now.mode = MODEL_COLD; - 38ca: a442 st.b r2, (r4, 0x2) - } - - if( (((Sav_Temp >> 16) & 0xFF) == FAN_LOW) || (((Sav_Temp >> 16) & 0xFF) == FAN_MID) //读取的温控风速状态合法 - 38cc: 9340 ld.w r2, (r3, 0x0) - 38ce: 4a50 lsri r2, r2, 16 - 38d0: 30ff movi r0, 255 - 38d2: 6880 and r2, r0 - 38d4: 3a40 cmpnei r2, 0 - 38d6: 0c10 bf 0x38f6 // 38f6 - 38d8: 9340 ld.w r2, (r3, 0x0) - 38da: 4a50 lsri r2, r2, 16 - 38dc: 6880 and r2, r0 - 38de: 3a41 cmpnei r2, 1 - 38e0: 0c0b bf 0x38f6 // 38f6 - || (((Sav_Temp >> 16) & 0xFF) == FAN_HIGH)|| (((Sav_Temp >> 16) & 0xFF) == FAN_AUTO)) - 38e2: 9320 ld.w r1, (r3, 0x0) - 38e4: 4930 lsri r1, r1, 16 - 38e6: 6840 and r1, r0 - 38e8: 3942 cmpnei r1, 2 - 38ea: 0c06 bf 0x38f6 // 38f6 - 38ec: 9340 ld.w r2, (r3, 0x0) - 38ee: 4a50 lsri r2, r2, 16 - 38f0: 6880 and r2, r0 - 38f2: 3a43 cmpnei r2, 3 - 38f4: 0844 bt 0x397c // 397c - { - TempCtrl.TemState_Now.fan = ((Sav_Temp >> 16) & 0xFF); - 38f6: 9340 ld.w r2, (r3, 0x0) - 38f8: 3107 movi r1, 7 - 38fa: 4a50 lsri r2, r2, 16 - 38fc: 6884 and r2, r1 - 38fe: 300e movi r0, 14 - 3900: 8422 ld.b r1, (r4, 0x2) - 3902: 4241 lsli r2, r2, 1 - 3904: 6841 andn r1, r0 - 3906: 6c84 or r2, r1 - } - else - { - TempCtrl.TemState_Now.fan = FAN_MID; - 3908: a442 st.b r2, (r4, 0x2) - } - //读取的温控设置温度合法 2024-04-18增加0==32的判断 - if(((((Sav_Temp >> 24) & 0xFF) >= 16) && (((Sav_Temp >> 24) & 0xFF) <= 32)) ) - 390a: 9340 ld.w r2, (r3, 0x0) - 390c: 4a58 lsri r2, r2, 24 - 390e: 3a0f cmphsi r2, 16 - 3910: 0c40 bf 0x3990 // 3990 - 3912: 3284 movi r2, 132 - 3914: 4256 lsli r2, r2, 22 - 3916: 9320 ld.w r1, (r3, 0x0) - 3918: 2a00 subi r2, 1 - 391a: 6448 cmphs r2, r1 - 391c: 0c3a bf 0x3990 // 3990 - { - TempCtrl.TemState_Now.set_t = ((Sav_Temp >> 24) & 0xFF); - 391e: 9360 ld.w r3, (r3, 0x0) - 3920: 4b78 lsri r3, r3, 24 - else //正常上电温控状态 - { - TempCtrl.TemState_Now.on_off = TEMP_OFF; //关机 - TempCtrl.TemState_Now.mode = MODEL_COLD; //制冷 - TempCtrl.TemState_Now.fan = FAN_MID; //中风速 - TempCtrl.TemState_Now.set_t = 24; //24 - 3922: a461 st.b r3, (r4, 0x1) - } - - TempCtrl.TemState_Now.indoor_t = 24; - 3924: 3318 movi r3, 24 - 3926: a460 st.b r3, (r4, 0x0) - TempCtrl.TemStateLast.indoor_t = TempCtrl.TemState_Now.indoor_t; - 3928: a464 st.b r3, (r4, 0x4) - TempCtrl.TemState_Ctrller.indoor_t = TempCtrl.TemState_Now.indoor_t; - 392a: a468 st.b r3, (r4, 0x8) - - TempCtrl.CardState = 0x01; //默认插卡 - 392c: 3301 movi r3, 1 - 392e: a46d st.b r3, (r4, 0xd) - TempCtrl.CardEn = 0x00; //插卡状态功能默认关闭 - 3930: 3300 movi r3, 0 - 3932: a46f st.b r3, (r4, 0xf) - - SYSCON->UREG0 = 0x00000000; - 3934: 3200 movi r2, 0 - 3936: 107c lrw r3, 0x2000005c // 39a4 - 3938: 9360 ld.w r3, (r3, 0x0) - 393a: 23ff addi r3, 256 - 393c: b340 st.w r2, (r3, 0x0) - SYSCON->UREG0 |= (TempCtrl.TemState_Now.mode << 8); - 393e: 8442 ld.b r2, (r4, 0x2) - 3940: 4239 lsli r1, r2, 25 - 3942: 493d lsri r1, r1, 29 - 3944: 9300 ld.w r0, (r3, 0x0) - 3946: 4128 lsli r1, r1, 8 - 3948: 6c40 or r1, r0 - 394a: b320 st.w r1, (r3, 0x0) - SYSCON->UREG0 |= (TempCtrl.TemState_Now.fan << 16); - 394c: 423c lsli r1, r2, 28 - 394e: 493d lsri r1, r1, 29 - 3950: 9300 ld.w r0, (r3, 0x0) - 3952: 4130 lsli r1, r1, 16 - 3954: 6c40 or r1, r0 - 3956: b320 st.w r1, (r3, 0x0) - SYSCON->UREG0 |= (TempCtrl.TemState_Now.set_t << 24); - 3958: 8421 ld.b r1, (r4, 0x1) - 395a: 9300 ld.w r0, (r3, 0x0) - 395c: 4138 lsli r1, r1, 24 - 395e: 6c40 or r1, r0 - 3960: b320 st.w r1, (r3, 0x0) - SYSCON->UREG0 |= TempCtrl.TemState_Now.on_off; //2024-03-15 - 3962: 9320 ld.w r1, (r3, 0x0) - 3964: 4a47 lsri r2, r2, 7 - 3966: 6c84 or r2, r1 - 3968: b340 st.w r2, (r3, 0x0) -} - 396a: 1491 pop r4, r15 - TempCtrl.TemState_Now.on_off = TEMP_OFF; - 396c: 8442 ld.b r2, (r4, 0x2) - 396e: 317f movi r1, 127 - 3970: 6884 and r2, r1 - 3972: 078d br 0x388c // 388c - TempCtrl.TemState_Now.mode = MODEL_COLD; - 3974: 8442 ld.b r2, (r4, 0x2) - 3976: 3170 movi r1, 112 - 3978: 6885 andn r2, r1 - 397a: 07a8 br 0x38ca // 38ca - TempCtrl.TemState_Now.fan = FAN_MID; - 397c: 8442 ld.b r2, (r4, 0x2) - 397e: 310e movi r1, 14 - 3980: 6885 andn r2, r1 - 3982: 3aa1 bseti r2, 1 - 3984: 07c2 br 0x3908 // 3908 - TempCtrl.TemState_Now.fan = FAN_MID; //中风速 - 3986: 8462 ld.b r3, (r4, 0x2) - 3988: 320e movi r2, 14 - 398a: 68c9 andn r3, r2 - 398c: 3ba1 bseti r3, 1 - 398e: a462 st.b r3, (r4, 0x2) - TempCtrl.TemState_Now.set_t = 24; //24 - 3990: 3318 movi r3, 24 - 3992: 07c8 br 0x3922 // 3922 - 3994: 20000420 .long 0x20000420 - 3998: 200000ac .long 0x200000ac - 399c: 00005f42 .long 0x00005f42 - 39a0: 200000a8 .long 0x200000a8 - 39a4: 2000005c .long 0x2000005c - -Disassembly of section .text.Tem_Valve_Ctrl: - -000039a8 : - * 函数功能:阀门控制 - * - * -*****************************************************************/ -void Tem_Valve_Ctrl(void) -{ - 39a8: 14c1 push r4 - uint8_t TemIndoor = 0x00; - uint8_t TemSet = 0x00; - - TemIndoor = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t); - 39aa: 1077 lrw r3, 0x20000420 // 3a04 - 39ac: 8300 ld.b r0, (r3, 0x0) - 39ae: 3840 cmpnei r0, 0 - 39b0: 0802 bt 0x39b4 // 39b4 - 39b2: 3020 movi r0, 32 - TemSet = TEMTEMPCONVER(TempCtrl.TemState_Now.set_t); - 39b4: 8341 ld.b r2, (r3, 0x1) - 39b6: 3a40 cmpnei r2, 0 - 39b8: 0802 bt 0x39bc // 39bc - 39ba: 3220 movi r2, 32 - switch(TempCtrl.TemState_Now.on_off) // - 39bc: 8322 ld.b r1, (r3, 0x2) - 39be: 4987 lsri r4, r1, 7 - 39c0: 3c40 cmpnei r4, 0 - 39c2: 0c1e bf 0x39fe // 39fe - 39c4: 3c41 cmpnei r4, 1 - 39c6: 080f bt 0x39e4 // 39e4 - { - case TEMP_ON: - switch(TempCtrl.TemState_Now.mode) //模式 - 39c8: 4199 lsli r4, r1, 25 - 39ca: 4c9d lsri r4, r4, 29 - 39cc: 3c42 cmpnei r4, 2 - 39ce: 0c12 bf 0x39f2 // 39f2 - 39d0: 3c44 cmpnei r4, 4 - 39d2: 0c16 bf 0x39fe // 39fe - 39d4: 3c40 cmpnei r4, 0 - 39d6: 0807 bt 0x39e4 // 39e4 - { - case MODEL_COLD: - if(TemIndoor < TemSet - 1) //室内温度小于设置温度 - 39d8: 5a23 subi r1, r2, 1 - 39da: 6441 cmplt r0, r1 - 39dc: 0c05 bf 0x39e6 // 39e6 - { - TempCtrl.TemState_Now.valve = TEM_VALVE_CLOSE; - 39de: 8342 ld.b r2, (r3, 0x2) - 39e0: 3a80 bclri r2, 0 - } - else if(TemIndoor > TemSet + 1) //室内温度大于设置温度 - { - TempCtrl.TemState_Now.valve = TEM_VALVE_OPEN; - 39e2: a342 st.b r2, (r3, 0x2) - default: - break; - } - -// Dbg_Println(DBG_BIT_SYS_STATUS,"valve:%d",TempCtrl.TemState_Now.valve); -} - 39e4: 1481 pop r4 - else if(TemIndoor > TemSet + 1) //室内温度大于设置温度 - 39e6: 2200 addi r2, 1 - 39e8: 6409 cmplt r2, r0 - 39ea: 0ffd bf 0x39e4 // 39e4 - TempCtrl.TemState_Now.valve = TEM_VALVE_OPEN; - 39ec: 8342 ld.b r2, (r3, 0x2) - 39ee: 3aa0 bseti r2, 0 - 39f0: 07f9 br 0x39e2 // 39e2 - if(TemIndoor > TemSet + 1) //室内温度大于设置温度 - 39f2: 5a22 addi r1, r2, 1 - 39f4: 6405 cmplt r1, r0 - 39f6: 0bf4 bt 0x39de // 39de - else if(TemIndoor < TemSet - 1) //室内温度小于设置温度 - 39f8: 2a00 subi r2, 1 - 39fa: 6481 cmplt r0, r2 - 39fc: 07f7 br 0x39ea // 39ea - TempCtrl.TemState_Now.valve = TEM_VALVE_CLOSE; - 39fe: 3980 bclri r1, 0 - 3a00: a322 st.b r1, (r3, 0x2) -} - 3a02: 07f1 br 0x39e4 // 39e4 - 3a04: 20000420 .long 0x20000420 - -Disassembly of section .text.DisPlay_Task: - -00003a08 : - * 函数功能:设置模式下参数保存,状态改变上报 - * - * -**********************************************************************************/ -void DisPlay_Task(void) -{ - 3a08: 14d2 push r4-r5, r15 - static U8_T OpenDisPlay_Flag = 0x00; //开机刷新标志 - - - ///4、温控状态变化刷新屏幕内容 - if(TempCtrl.TemState_Now.on_off == TEMP_ON) - 3a0a: 129c lrw r4, 0x20000420 // 3b78 - 3a0c: 8462 ld.b r3, (r4, 0x2) - 3a0e: 748e sextb r2, r3 - 3a10: 3adf btsti r2, 31 - 3a12: 12bb lrw r5, 0x200000b8 // 3b7c - 3a14: 0c70 bf 0x3af4 // 3af4 - { - if(TempCtrl.TemStateLast.mode != TempCtrl.TemState_Now.mode) //刷新模式 - 3a16: 8446 ld.b r2, (r4, 0x6) - 3a18: 4379 lsli r3, r3, 25 - 3a1a: 4239 lsli r1, r2, 25 - 3a1c: 4b7d lsri r3, r3, 29 - 3a1e: 493d lsri r1, r1, 29 - 3a20: 64c6 cmpne r1, r3 - 3a22: 0c16 bf 0x3a4e // 3a4e - { - TempCtrl.TemStateLast.mode = TempCtrl.TemState_Now.mode; - 3a24: 3070 movi r0, 112 - 3a26: 4324 lsli r1, r3, 4 - 3a28: 6881 andn r2, r0 - 3a2a: 6c84 or r2, r1 - 3a2c: a446 st.b r2, (r4, 0x6) - - SYSCON->UREG0 &= 0xFFFF00FF; - 3a2e: 30ff movi r0, 255 - 3a30: 1254 lrw r2, 0x2000005c // 3b80 - 3a32: 4008 lsli r0, r0, 8 - 3a34: 9240 ld.w r2, (r2, 0x0) - 3a36: 22ff addi r2, 256 - 3a38: 9220 ld.w r1, (r2, 0x0) - 3a3a: 6841 andn r1, r0 - 3a3c: b220 st.w r1, (r2, 0x0) - SYSCON->UREG0 |= (TempCtrl.TemState_Now.mode << 8); - 3a3e: 9220 ld.w r1, (r2, 0x0) - 3a40: 4368 lsli r3, r3, 8 - 3a42: 6cc4 or r3, r1 - 3a44: b260 st.w r3, (r2, 0x0) - - TempCtrl.TempChange_Flag = 0x01; //2024-12-16 - 3a46: 3301 movi r3, 1 - 3a48: a472 st.b r3, (r4, 0x12) - TempCtrl.TempChange_Tick = SysTick_1ms; - 3a4a: 9560 ld.w r3, (r5, 0x0) - 3a4c: b468 st.w r3, (r4, 0x20) - } - - if((TempCtrl.TemStateLast.fan != TempCtrl.TemState_Now.fan) || (OpenDisPlay_Flag == 0x01)) //刷新风速,2025-03-20 - 3a4e: 8462 ld.b r3, (r4, 0x2) - 3a50: 8446 ld.b r2, (r4, 0x6) - 3a52: 437c lsli r3, r3, 28 - 3a54: 425c lsli r2, r2, 28 - 3a56: 4a5d lsri r2, r2, 29 - 3a58: 4b7d lsri r3, r3, 29 - 3a5a: 64ca cmpne r2, r3 - 3a5c: 124a lrw r2, 0x20000144 // 3b84 - 3a5e: 0804 bt 0x3a66 // 3a66 - 3a60: 8220 ld.b r1, (r2, 0x0) - 3a62: 3941 cmpnei r1, 1 - 3a64: 0819 bt 0x3a96 // 3a96 - { - OpenDisPlay_Flag = 0x00; - 3a66: 3100 movi r1, 0 - 3a68: a220 st.b r1, (r2, 0x0) - - TempCtrl.TemStateLast.fan = TempCtrl.TemState_Now.fan; - 3a6a: 8446 ld.b r2, (r4, 0x6) - 3a6c: 300e movi r0, 14 - 3a6e: 4321 lsli r1, r3, 1 - 3a70: 6881 andn r2, r0 - 3a72: 6c84 or r2, r1 - 3a74: a446 st.b r2, (r4, 0x6) - - - SYSCON->UREG0 &= 0xFF00FFFF; - 3a76: 30ff movi r0, 255 - 3a78: 1242 lrw r2, 0x2000005c // 3b80 - 3a7a: 4010 lsli r0, r0, 16 - 3a7c: 9240 ld.w r2, (r2, 0x0) - 3a7e: 22ff addi r2, 256 - 3a80: 9220 ld.w r1, (r2, 0x0) - 3a82: 6841 andn r1, r0 - 3a84: b220 st.w r1, (r2, 0x0) - SYSCON->UREG0 |= (TempCtrl.TemState_Now.fan << 16); - 3a86: 9220 ld.w r1, (r2, 0x0) - 3a88: 4370 lsli r3, r3, 16 - 3a8a: 6cc4 or r3, r1 - 3a8c: b260 st.w r3, (r2, 0x0) - - TempCtrl.TempChange_Flag = 0x01; //2024-12-16 - 3a8e: 3301 movi r3, 1 - 3a90: a472 st.b r3, (r4, 0x12) - TempCtrl.TempChange_Tick = SysTick_1ms; - 3a92: 9560 ld.w r3, (r5, 0x0) - 3a94: b468 st.w r3, (r4, 0x20) - } - - if(TempCtrl.TemStateLast.set_t != TempCtrl.TemState_Now.set_t) //刷新设置温度 - 3a96: 8461 ld.b r3, (r4, 0x1) - 3a98: 8445 ld.b r2, (r4, 0x5) - 3a9a: 64ca cmpne r2, r3 - 3a9c: 0c11 bf 0x3abe // 3abe - { - TempCtrl.TemStateLast.set_t = TempCtrl.TemState_Now.set_t; - - SYSCON->UREG0 &= 0x00FFFFFF; - 3a9e: 1159 lrw r2, 0x2000005c // 3b80 - 3aa0: 9220 ld.w r1, (r2, 0x0) - 3aa2: 21ff addi r1, 256 - 3aa4: 9140 ld.w r2, (r1, 0x0) - 3aa6: 4248 lsli r2, r2, 8 - 3aa8: 4a48 lsri r2, r2, 8 - 3aaa: b140 st.w r2, (r1, 0x0) - SYSCON->UREG0 |= (TempCtrl.TemState_Now.set_t << 24); - 3aac: 9100 ld.w r0, (r1, 0x0) - 3aae: 4358 lsli r2, r3, 24 - 3ab0: 6c80 or r2, r0 - 3ab2: b140 st.w r2, (r1, 0x0) - - TempCtrl.TempChange_Flag = 0x01; //2024-12-16 - 3ab4: 3201 movi r2, 1 - 3ab6: a452 st.b r2, (r4, 0x12) - TempCtrl.TempChange_Tick = SysTick_1ms; - 3ab8: 9540 ld.w r2, (r5, 0x0) - TempCtrl.TemStateLast.set_t = TempCtrl.TemState_Now.set_t; - 3aba: a465 st.b r3, (r4, 0x5) - TempCtrl.TempChange_Tick = SysTick_1ms; - 3abc: b448 st.w r2, (r4, 0x20) - } - - - if(TempCtrl.TemStateLast.indoor_t != TempCtrl.TemState_Now.indoor_t) //刷新室内温度 - 3abe: 8400 ld.b r0, (r4, 0x0) - 3ac0: 8444 ld.b r2, (r4, 0x4) - 3ac2: 640a cmpne r2, r0 - 3ac4: 0c0d bf 0x3ade // 3ade - { - TempCtrl.TemStateLast.indoor_t = TempCtrl.TemState_Now.indoor_t; - - SYSCON->UREG0 &= 0x00FFFFFF; - 3ac6: 114f lrw r2, 0x2000005c // 3b80 - SYSCON->UREG0 |= (TempCtrl.TemState_Now.set_t << 24); - 3ac8: 4378 lsli r3, r3, 24 - SYSCON->UREG0 &= 0x00FFFFFF; - 3aca: 9240 ld.w r2, (r2, 0x0) - 3acc: 22ff addi r2, 256 - 3ace: 9220 ld.w r1, (r2, 0x0) - 3ad0: 4128 lsli r1, r1, 8 - 3ad2: 4928 lsri r1, r1, 8 - 3ad4: b220 st.w r1, (r2, 0x0) - SYSCON->UREG0 |= (TempCtrl.TemState_Now.set_t << 24); - 3ad6: 9220 ld.w r1, (r2, 0x0) - 3ad8: 6cc4 or r3, r1 - TempCtrl.TemStateLast.indoor_t = TempCtrl.TemState_Now.indoor_t; - 3ada: a404 st.b r0, (r4, 0x4) - SYSCON->UREG0 |= (TempCtrl.TemState_Now.set_t << 24); - 3adc: b260 st.w r3, (r2, 0x0) - } - - - if(SysTick_1ms - TempCtrl.Temp_SendTick >= 30000) - 3ade: 9447 ld.w r2, (r4, 0x1c) - 3ae0: 9560 ld.w r3, (r5, 0x0) - 3ae2: 60ca subu r3, r2 - 3ae4: 1149 lrw r2, 0x752f // 3b88 - 3ae6: 64c8 cmphs r2, r3 - 3ae8: 0806 bt 0x3af4 // 3af4 - { - TempCtrl.Temp_SendTick = SysTick_1ms; - 3aea: 9560 ld.w r3, (r5, 0x0) - 3aec: b467 st.w r3, (r4, 0x1c) - - TempCtrl.TemStateLast.indoor_t = TempCtrl.TemState_Now.indoor_t; - TempCtrl.TempChange_Flag = 0x01; //2025-02-25,温度变化每隔30s未变化,上报一次。 - 3aee: 3301 movi r3, 1 - TempCtrl.TemStateLast.indoor_t = TempCtrl.TemState_Now.indoor_t; - 3af0: a404 st.b r0, (r4, 0x4) - TempCtrl.TempChange_Flag = 0x01; //2025-02-25,温度变化每隔30s未变化,上报一次。 - 3af2: a472 st.b r3, (r4, 0x12) - - } - } - - //开机状态 - if(TempCtrl.TemStateLast.on_off != TempCtrl.TemState_Now.on_off) //刷新开关机 - 3af4: 8442 ld.b r2, (r4, 0x2) - 3af6: 8466 ld.b r3, (r4, 0x6) - 3af8: 4a47 lsri r2, r2, 7 - 3afa: 4b27 lsri r1, r3, 7 - 3afc: 6486 cmpne r1, r2 - 3afe: 0c14 bf 0x3b26 // 3b26 - { - TempCtrl.TemStateLast.on_off = TempCtrl.TemState_Now.on_off; - 3b00: 307f movi r0, 127 - 3b02: 4227 lsli r1, r2, 7 - 3b04: 68c0 and r3, r0 - 3b06: 6cc4 or r3, r1 - 3b08: a466 st.b r3, (r4, 0x6) - - SYSCON->UREG0 &= 0xFFFFFF00; //2024-03-15 - 3b0a: 30ff movi r0, 255 - 3b0c: 107d lrw r3, 0x2000005c // 3b80 - 3b0e: 9360 ld.w r3, (r3, 0x0) - 3b10: 23ff addi r3, 256 - 3b12: 9320 ld.w r1, (r3, 0x0) - 3b14: 6841 andn r1, r0 - 3b16: b320 st.w r1, (r3, 0x0) - SYSCON->UREG0 |= TempCtrl.TemState_Now.on_off; //2024-03-15 - 3b18: 9320 ld.w r1, (r3, 0x0) - 3b1a: 6c84 or r2, r1 - 3b1c: b340 st.w r2, (r3, 0x0) - - TempCtrl.TempChange_Flag = 0x01; //2024-12-16 - 3b1e: 3301 movi r3, 1 - 3b20: a472 st.b r3, (r4, 0x12) - TempCtrl.TempChange_Tick = SysTick_1ms; - 3b22: 9560 ld.w r3, (r5, 0x0) - 3b24: b468 st.w r3, (r4, 0x20) - } - - //发送组包 - if((TempCtrl.TempChange_Flag == 0x01) && (SysTick_1ms - TempCtrl.TempChange_Tick >= 1000)) //2025-03-24,温度变化人为操作1s间隔上报一次 - 3b26: 8472 ld.b r3, (r4, 0x12) - 3b28: 3b41 cmpnei r3, 1 - 3b2a: 0815 bt 0x3b54 // 3b54 - 3b2c: 9448 ld.w r2, (r4, 0x20) - 3b2e: 9560 ld.w r3, (r5, 0x0) - 3b30: 60ca subu r3, r2 - 3b32: 1057 lrw r2, 0x3e7 // 3b8c - 3b34: 64c8 cmphs r2, r3 - 3b36: 080f bt 0x3b54 // 3b54 - { - TempCtrl.TempChange_Tick = SysTick_1ms; - 3b38: 9560 ld.w r3, (r5, 0x0) - 3b3a: b468 st.w r3, (r4, 0x20) - TempCtrl.TempChange_Flag = 0x00; - 3b3c: 3300 movi r3, 0 - 3b3e: a472 st.b r3, (r4, 0x12) - - TempCtrl.Temp_SendTick = SysTick_1ms; - 3b40: 9560 ld.w r3, (r5, 0x0) - 3b42: b467 st.w r3, (r4, 0x1c) - - //防冲撞上报 - if(g_eeprom.dev_port == ACTIVE_PORT) { - 3b44: 1073 lrw r3, 0x200003f0 // 3b90 - 3b46: 8367 ld.b r3, (r3, 0x7) - 3b48: 3b42 cmpnei r3, 2 - 3b4a: 0805 bt 0x3b54 // 3b54 - Rs485_ASend(BUSSend_ValidTime2);//组包发送 - 3b4c: 30fa movi r0, 250 - 3b4e: 4002 lsli r0, r0, 2 - 3b50: e0000226 bsr 0x3f9c // 3f9c - - } - - - //状态5min未变化,上报 - if((SysTick_1ms - TempCtrl.TempChange_Tick >= 300000)) - 3b54: 9448 ld.w r2, (r4, 0x20) - 3b56: 9560 ld.w r3, (r5, 0x0) - 3b58: 60ca subu r3, r2 - 3b5a: 104f lrw r2, 0x493df // 3b94 - 3b5c: 64c8 cmphs r2, r3 - 3b5e: 080c bt 0x3b76 // 3b76 - { - TempCtrl.TempChange_Tick = SysTick_1ms; - 3b60: 9560 ld.w r3, (r5, 0x0) - 3b62: b468 st.w r3, (r4, 0x20) - TempCtrl.Temp_SendTick = SysTick_1ms; - 3b64: 9560 ld.w r3, (r5, 0x0) - 3b66: b467 st.w r3, (r4, 0x1c) - - //防冲撞上报 - if(g_eeprom.dev_port == ACTIVE_PORT) { - 3b68: 106a lrw r3, 0x200003f0 // 3b90 - 3b6a: 8367 ld.b r3, (r3, 0x7) - 3b6c: 3b42 cmpnei r3, 2 - 3b6e: 0804 bt 0x3b76 // 3b76 - Rs485_ASend(BUSSend_ValidTime1);//组包发送 - 3b70: 100a lrw r0, 0xea60 // 3b98 - 3b72: e0000215 bsr 0x3f9c // 3f9c - } - } - -} - 3b76: 1492 pop r4-r5, r15 - 3b78: 20000420 .long 0x20000420 - 3b7c: 200000b8 .long 0x200000b8 - 3b80: 2000005c .long 0x2000005c - 3b84: 20000144 .long 0x20000144 - 3b88: 0000752f .long 0x0000752f - 3b8c: 000003e7 .long 0x000003e7 - 3b90: 200003f0 .long 0x200003f0 - 3b94: 000493df .long 0x000493df - 3b98: 0000ea60 .long 0x0000ea60 - -Disassembly of section .text.Ctrller_Query_AirState: - -00003b9c : - * 函数功能 : 查询空调状态 - * 函数输入 : - * 函数输出 : -**********************************************************************************/ -void Ctrller_Query_AirState(void) -{ - 3b9c: 14d0 push r15 - 3b9e: 1422 subi r14, r14, 8 - U8_T SdBuff[8]; - U16_T SdLen = 0x06; - - SdBuff[0] = 0xDD; - 3ba0: 3300 movi r3, 0 - 3ba2: 2b22 subi r3, 35 - 3ba4: dc6e0000 st.b r3, (r14, 0x0) - SdBuff[1] = 0x06; - 3ba8: 3306 movi r3, 6 - 3baa: dc6e0001 st.b r3, (r14, 0x1) - SdBuff[2] = 0xFF; - 3bae: 3300 movi r3, 0 - 3bb0: 2b00 subi r3, 1 - 3bb2: dc6e0002 st.b r3, (r14, 0x2) - SdBuff[3] = g_Dip.DIP_addr; - SdBuff[4] = 0x02; //命令字 - - SdBuff[5] = EEPROM_CheckSum(SdBuff,0x05); - 3bb6: 3105 movi r1, 5 - SdBuff[3] = g_Dip.DIP_addr; - 3bb8: 1069 lrw r3, 0x20000448 // 3bdc - 3bba: 8366 ld.b r3, (r3, 0x6) - 3bbc: dc6e0003 st.b r3, (r14, 0x3) - SdBuff[5] = EEPROM_CheckSum(SdBuff,0x05); - 3bc0: 6c3b mov r0, r14 - SdBuff[4] = 0x02; //命令字 - 3bc2: 3302 movi r3, 2 - 3bc4: dc6e0004 st.b r3, (r14, 0x4) - SdBuff[5] = EEPROM_CheckSum(SdBuff,0x05); - 3bc8: e3fffd88 bsr 0x36d8 // 36d8 - 3bcc: dc0e0005 st.b r0, (r14, 0x5) - - Controller485_SendData(SdBuff,SdLen); - 3bd0: 3106 movi r1, 6 - 3bd2: 6c3b mov r0, r14 - 3bd4: e3fffbea bsr 0x33a8 // 33a8 -} - 3bd8: 1402 addi r14, r14, 8 - 3bda: 1490 pop r15 - 3bdc: 20000448 .long 0x20000448 - -Disassembly of section .text.Ctrller_Ctrl_AirState: - -00003be0 : - * 函数功能 : 控制空调状态 - * 函数输入 : - * 函数输出 : -**********************************************************************************/ -void Ctrller_Ctrl_AirState(void) -{ - 3be0: 14d0 push r15 - 3be2: 1423 subi r14, r14, 12 - U8_T SdBuff[12]; - U16_T SdLen = 0x0B; - - SdBuff[0] = 0xDD; - 3be4: 3300 movi r3, 0 - 3be6: 2b22 subi r3, 35 - 3be8: dc6e0000 st.b r3, (r14, 0x0) - SdBuff[1] = 0x0B; - 3bec: 330b movi r3, 11 - 3bee: dc6e0001 st.b r3, (r14, 0x1) - SdBuff[2] = 0xFF; - 3bf2: 3300 movi r3, 0 - 3bf4: 2b00 subi r3, 1 - 3bf6: dc6e0002 st.b r3, (r14, 0x2) - SdBuff[3] = g_Dip.DIP_addr; - SdBuff[4] = 0x03; //命令字 - - SdBuff[5] = TempCtrl.TemState_Now.on_off; //开关机状态 - 3bfa: 1141 lrw r2, 0x20000420 // 3c7c - SdBuff[3] = g_Dip.DIP_addr; - 3bfc: 1161 lrw r3, 0x20000448 // 3c80 - 3bfe: 8366 ld.b r3, (r3, 0x6) - 3c00: dc6e0003 st.b r3, (r14, 0x3) - SdBuff[4] = 0x03; //命令字 - 3c04: 3303 movi r3, 3 - 3c06: dc6e0004 st.b r3, (r14, 0x4) - SdBuff[5] = TempCtrl.TemState_Now.on_off; //开关机状态 - 3c0a: 8262 ld.b r3, (r2, 0x2) - 3c0c: 4b27 lsri r1, r3, 7 - 3c0e: dc2e0005 st.b r1, (r14, 0x5) - - SdBuff[6] = TempCtrl.TemState_Now.set_t; //设定温度 - 3c12: 8221 ld.b r1, (r2, 0x1) - 3c14: dc2e0006 st.b r1, (r14, 0x6) - - if(TempCtrl.TemState_Now.mode == MODEL_COLD){ //空调工作模式, 0x01:制热, 0x02:制冷, 0x04:送风 - 3c18: 74cc zextb r3, r3 - 3c1a: 3170 movi r1, 112 - 3c1c: 684c and r1, r3 - 3c1e: 3940 cmpnei r1, 0 - 3c20: 081a bt 0x3c54 // 3c54 - SdBuff[7] = 0x02; - 3c22: 3102 movi r1, 2 - }else if(TempCtrl.TemState_Now.mode == MODEL_HOT){ - SdBuff[7] = 0x01; - }else if(TempCtrl.TemState_Now.mode == MODEL_WIND){ - SdBuff[7] = 0x04; - 3c24: dc2e0007 st.b r1, (r14, 0x7) - }else{ - SdBuff[7] = 0x02; - } - - if(TempCtrl.TemState_Now.fan == FAN_AUTO){ //空调风速, 0x00:自动, 0x01:低风速, 0x02:中风速, 0x03:高风速 - 3c28: 310e movi r1, 14 - 3c2a: 68c4 and r3, r1 - 3c2c: 3b46 cmpnei r3, 6 - 3c2e: 081d bt 0x3c68 // 3c68 - SdBuff[8] = 0x00; - 3c30: 3300 movi r3, 0 - }else if(TempCtrl.TemState_Now.fan == FAN_LOW){ - SdBuff[8] = 0x01; - }else if(TempCtrl.TemState_Now.fan == FAN_MID){ - SdBuff[8] = 0x02; - }else if(TempCtrl.TemState_Now.fan == FAN_HIGH){ - SdBuff[8] = 0x03; - 3c32: dc6e0008 st.b r3, (r14, 0x8) - SdBuff[8] = 0x00; - } - - SdBuff[9] = TempCtrl.Temp_dirwind; //空调的风向值, 0x00:无风向, 0x01:代表风向板位于位置1, ..., 0x07:代表风向板位于位置7, 0xFF:自动摆动 - - SdBuff[10] = EEPROM_CheckSum(SdBuff,0x0A); - 3c36: 310a movi r1, 10 - SdBuff[9] = TempCtrl.Temp_dirwind; //空调的风向值, 0x00:无风向, 0x01:代表风向板位于位置1, ..., 0x07:代表风向板位于位置7, 0xFF:自动摆动 - 3c38: 826c ld.b r3, (r2, 0xc) - SdBuff[10] = EEPROM_CheckSum(SdBuff,0x0A); - 3c3a: 6c3b mov r0, r14 - SdBuff[9] = TempCtrl.Temp_dirwind; //空调的风向值, 0x00:无风向, 0x01:代表风向板位于位置1, ..., 0x07:代表风向板位于位置7, 0xFF:自动摆动 - 3c3c: dc6e0009 st.b r3, (r14, 0x9) - SdBuff[10] = EEPROM_CheckSum(SdBuff,0x0A); - 3c40: e3fffd4c bsr 0x36d8 // 36d8 - 3c44: dc0e000a st.b r0, (r14, 0xa) - - Controller485_SendData(SdBuff,SdLen); - 3c48: 310b movi r1, 11 - 3c4a: 6c3b mov r0, r14 - 3c4c: e3fffbae bsr 0x33a8 // 33a8 -} - 3c50: 1403 addi r14, r14, 12 - 3c52: 1490 pop r15 - }else if(TempCtrl.TemState_Now.mode == MODEL_HOT){ - 3c54: 3020 movi r0, 32 - 3c56: 6406 cmpne r1, r0 - 3c58: 0803 bt 0x3c5e // 3c5e - SdBuff[7] = 0x01; - 3c5a: 3101 movi r1, 1 - 3c5c: 07e4 br 0x3c24 // 3c24 - }else if(TempCtrl.TemState_Now.mode == MODEL_WIND){ - 3c5e: 3040 movi r0, 64 - 3c60: 6406 cmpne r1, r0 - 3c62: 0be0 bt 0x3c22 // 3c22 - SdBuff[7] = 0x04; - 3c64: 3104 movi r1, 4 - 3c66: 07df br 0x3c24 // 3c24 - }else if(TempCtrl.TemState_Now.fan == FAN_LOW){ - 3c68: 3b40 cmpnei r3, 0 - 3c6a: 0803 bt 0x3c70 // 3c70 - SdBuff[8] = 0x01; - 3c6c: 3301 movi r3, 1 - 3c6e: 07e2 br 0x3c32 // 3c32 - }else if(TempCtrl.TemState_Now.fan == FAN_MID){ - 3c70: 3b42 cmpnei r3, 2 - 3c72: 0fe0 bf 0x3c32 // 3c32 - }else if(TempCtrl.TemState_Now.fan == FAN_HIGH){ - 3c74: 3b44 cmpnei r3, 4 - 3c76: 0bdd bt 0x3c30 // 3c30 - SdBuff[8] = 0x03; - 3c78: 3303 movi r3, 3 - 3c7a: 07dc br 0x3c32 // 3c32 - 3c7c: 20000420 .long 0x20000420 - 3c80: 20000448 .long 0x20000448 - -Disassembly of section .text.TemCtrl_Pro: - -00003c84 : -{ - 3c84: 14d2 push r4-r5, r15 - if(TempCtrl.TemState_Now.on_off != TempCtrl.TemState_Ctrller.on_off) - 3c86: 118e lrw r4, 0x20000420 // 3d3c - Tem_Valve_Ctrl(); - 3c88: e3fffe90 bsr 0x39a8 // 39a8 - if(TempCtrl.TemState_Now.on_off != TempCtrl.TemState_Ctrller.on_off) - 3c8c: 8442 ld.b r2, (r4, 0x2) - 3c8e: 846a ld.b r3, (r4, 0xa) - 3c90: 4a47 lsri r2, r2, 7 - 3c92: 4b27 lsri r1, r3, 7 - 3c94: 6486 cmpne r1, r2 - 3c96: 0c08 bf 0x3ca6 // 3ca6 - TempCtrl.TemState_Ctrller.on_off = TempCtrl.TemState_Now.on_off; - 3c98: 317f movi r1, 127 - 3c9a: 4247 lsli r2, r2, 7 - 3c9c: 68c4 and r3, r1 - 3c9e: 6cc8 or r3, r2 - 3ca0: a46a st.b r3, (r4, 0xa) - TempCtrl.TempCtrllerChange_Flag = 0x01; - 3ca2: 3301 movi r3, 1 - 3ca4: a474 st.b r3, (r4, 0x14) - if(TempCtrl.TemState_Now.set_t != TempCtrl.TemState_Ctrller.set_t) - 3ca6: 8461 ld.b r3, (r4, 0x1) - 3ca8: 8449 ld.b r2, (r4, 0x9) - 3caa: 64ca cmpne r2, r3 - 3cac: 0c04 bf 0x3cb4 // 3cb4 - TempCtrl.TemState_Ctrller.set_t = TempCtrl.TemState_Now.set_t; - 3cae: a469 st.b r3, (r4, 0x9) - TempCtrl.TempCtrllerChange_Flag = 0x01; - 3cb0: 3301 movi r3, 1 - 3cb2: a474 st.b r3, (r4, 0x14) - if(TempCtrl.TemState_Now.mode != TempCtrl.TemState_Ctrller.mode) - 3cb4: 8462 ld.b r3, (r4, 0x2) - 3cb6: 844a ld.b r2, (r4, 0xa) - 3cb8: 4379 lsli r3, r3, 25 - 3cba: 4239 lsli r1, r2, 25 - 3cbc: 4b7d lsri r3, r3, 29 - 3cbe: 493d lsri r1, r1, 29 - 3cc0: 64c6 cmpne r1, r3 - 3cc2: 0c08 bf 0x3cd2 // 3cd2 - TempCtrl.TemState_Ctrller.mode = TempCtrl.TemState_Now.mode; - 3cc4: 3170 movi r1, 112 - 3cc6: 4364 lsli r3, r3, 4 - 3cc8: 6885 andn r2, r1 - 3cca: 6cc8 or r3, r2 - 3ccc: a46a st.b r3, (r4, 0xa) - TempCtrl.TempCtrllerChange_Flag = 0x01; - 3cce: 3301 movi r3, 1 - 3cd0: a474 st.b r3, (r4, 0x14) - if(TempCtrl.TemState_Now.fan != TempCtrl.TemState_Ctrller.fan) - 3cd2: 8462 ld.b r3, (r4, 0x2) - 3cd4: 844a ld.b r2, (r4, 0xa) - 3cd6: 437c lsli r3, r3, 28 - 3cd8: 423c lsli r1, r2, 28 - 3cda: 4b7d lsri r3, r3, 29 - 3cdc: 493d lsri r1, r1, 29 - 3cde: 64c6 cmpne r1, r3 - 3ce0: 0c08 bf 0x3cf0 // 3cf0 - TempCtrl.TemState_Ctrller.fan = TempCtrl.TemState_Now.fan; - 3ce2: 310e movi r1, 14 - 3ce4: 4361 lsli r3, r3, 1 - 3ce6: 6885 andn r2, r1 - 3ce8: 6cc8 or r3, r2 - 3cea: a46a st.b r3, (r4, 0xa) - TempCtrl.TempCtrllerChange_Flag = 0x01; - 3cec: 3301 movi r3, 1 - 3cee: a474 st.b r3, (r4, 0x14) - if( (TempCtrl.TempCtrllerChange_Flag == 0x01)&&(SysTick_1ms - TemCtrl_tick >= 300) ) - 3cf0: 8474 ld.b r3, (r4, 0x14) - 3cf2: 3b41 cmpnei r3, 1 - 3cf4: 10b3 lrw r5, 0x200000b8 // 3d40 - 3cf6: 0813 bt 0x3d1c // 3d1c - 3cf8: 1053 lrw r2, 0x20000144 // 3d44 - 3cfa: 9221 ld.w r1, (r2, 0x4) - 3cfc: 9560 ld.w r3, (r5, 0x0) - 3cfe: 60c6 subu r3, r1 - 3d00: 1032 lrw r1, 0x12b // 3d48 - 3d02: 64c4 cmphs r1, r3 - 3d04: 080c bt 0x3d1c // 3d1c - TempCtrl.TemQuery_1S_tick = SysTick_1ms; - 3d06: 9560 ld.w r3, (r5, 0x0) - 3d08: b469 st.w r3, (r4, 0x24) - TemCtrl_tick = SysTick_1ms; - 3d0a: 9560 ld.w r3, (r5, 0x0) - 3d0c: b261 st.w r3, (r2, 0x4) - if(TempCtrl.TempCtrller_Cnt <= 0x03) - 3d0e: 8473 ld.b r3, (r4, 0x13) - 3d10: 3b03 cmphsi r3, 4 - 3d12: 0810 bt 0x3d32 // 3d32 - TempCtrl.TempCtrller_Cnt++; - 3d14: 2300 addi r3, 1 - 3d16: a473 st.b r3, (r4, 0x13) - Ctrller_Ctrl_AirState(); - 3d18: e3ffff64 bsr 0x3be0 // 3be0 - if(SysTick_1ms - TempCtrl.TemQuery_1S_tick >= 1000) - 3d1c: 9449 ld.w r2, (r4, 0x24) - 3d1e: 9560 ld.w r3, (r5, 0x0) - 3d20: 60ca subu r3, r2 - 3d22: 104b lrw r2, 0x3e7 // 3d4c - 3d24: 64c8 cmphs r2, r3 - 3d26: 0805 bt 0x3d30 // 3d30 - TempCtrl.TemQuery_1S_tick = SysTick_1ms; - 3d28: 9560 ld.w r3, (r5, 0x0) - 3d2a: b469 st.w r3, (r4, 0x24) - Ctrller_Query_AirState(); - 3d2c: e3ffff38 bsr 0x3b9c // 3b9c -} - 3d30: 1492 pop r4-r5, r15 - TempCtrl.TempCtrllerChange_Flag = 0x00; - 3d32: 3300 movi r3, 0 - 3d34: a474 st.b r3, (r4, 0x14) - TempCtrl.TempCtrller_Cnt = 0x00; - 3d36: a473 st.b r3, (r4, 0x13) - 3d38: 07f2 br 0x3d1c // 3d1c - 3d3a: 0000 bkpt - 3d3c: 20000420 .long 0x20000420 - 3d40: 200000b8 .long 0x200000b8 - 3d44: 20000144 .long 0x20000144 - 3d48: 0000012b .long 0x0000012b - 3d4c: 000003e7 .long 0x000003e7 - -Disassembly of section .text.Ctrller_AirState_Processing: - -00003d50 : - * RecData : 接收数据 - * Len : 接收数据长度 - * 函数输出 : -**********************************************************************************/ -U8_T Ctrller_AirState_Processing(U8_T *RecData, U16_T Len) -{ - 3d50: 14c1 push r4 - if(Len < 13) return 0x01; - 3d52: 390c cmphsi r1, 13 - 3d54: 0c63 bf 0x3e1a // 3e1a - - //开关机状态, 0x00:关机, 0x01:开机 - if(RecData[5] <= 0x01){ - 3d56: 8045 ld.b r2, (r0, 0x5) - 3d58: 3a01 cmphsi r2, 2 - 3d5a: 1172 lrw r3, 0x20000420 // 3e20 - 3d5c: 0807 bt 0x3d6a // 3d6a - TempCtrl.TemState_Now.on_off = RecData[5]; - 3d5e: 4227 lsli r1, r2, 7 - 3d60: 347f movi r4, 127 - 3d62: 8342 ld.b r2, (r3, 0x2) - 3d64: 6890 and r2, r4 - 3d66: 6c84 or r2, r1 - 3d68: a342 st.b r2, (r3, 0x2) - } - - //空调的设定温度, 16~30 - if( (RecData[6] >= TEM_MIN_SET)&&(RecData[6] <= TEM_MAX_SET) ){ - 3d6a: 3200 movi r2, 0 - 3d6c: 8026 ld.b r1, (r0, 0x6) - 3d6e: 2a0f subi r2, 16 - 3d70: 6084 addu r2, r1 - 3d72: 7488 zextb r2, r2 - 3d74: 3a10 cmphsi r2, 17 - 3d76: 0802 bt 0x3d7a // 3d7a - TempCtrl.TemState_Now.set_t = RecData[6]; - 3d78: a321 st.b r1, (r3, 0x1) - } - - //空调的工作模式, 0x01:制热, 0x02:制冷, 0x04:送风, 0x08:除湿 - if(RecData[7] == 0x01){ - 3d7a: 8047 ld.b r2, (r0, 0x7) - 3d7c: 3a41 cmpnei r2, 1 - 3d7e: 0833 bt 0x3de4 // 3de4 - TempCtrl.TemState_Now.mode = MODEL_HOT; - 3d80: 8342 ld.b r2, (r3, 0x2) - 3d82: 3170 movi r1, 112 - 3d84: 6885 andn r2, r1 - 3d86: 3aa5 bseti r2, 5 - }else if(RecData[7] == 0x02){ - TempCtrl.TemState_Now.mode = MODEL_COLD; - }else if(RecData[7] == 0x04){ - TempCtrl.TemState_Now.mode = MODEL_WIND; - 3d88: a342 st.b r2, (r3, 0x2) - }else{ - TempCtrl.TemState_Now.mode = MODEL_COLD; - } - - //空调的风速, 0x00:自动, 0x01:低风速, 0x02:中风速, 0x03:高风速 - if(RecData[8] == 0x00){ - 3d8a: 8048 ld.b r2, (r0, 0x8) - 3d8c: 3a40 cmpnei r2, 0 - 3d8e: 0832 bt 0x3df2 // 3df2 - TempCtrl.TemState_Now.fan = FAN_AUTO; - 3d90: 8342 ld.b r2, (r3, 0x2) - 3d92: 310e movi r1, 14 - 3d94: 6885 andn r2, r1 - 3d96: 3aa1 bseti r2, 1 - 3d98: 3aa2 bseti r2, 2 - }else if(RecData[8] == 0x01){ - TempCtrl.TemState_Now.fan = FAN_LOW; - }else if(RecData[8] == 0x02){ - TempCtrl.TemState_Now.fan = FAN_MID; - }else if(RecData[8] == 0x03){ - TempCtrl.TemState_Now.fan = FAN_HIGH; - 3d9a: a342 st.b r2, (r3, 0x2) - }else{ - TempCtrl.TemState_Now.fan = FAN_LOW; - } - - //空调的风向值, 0x00:无风向, 0x01:代表风向板位于位置1, ..., 0x07:代表风向板位于位置7, 0xFF:自动摆动 - TempCtrl.Temp_dirwind = RecData[9]; - 3d9c: 8049 ld.b r2, (r0, 0x9) - 3d9e: a34c st.b r2, (r3, 0xc) - - //室内温度, 0~40 - if(RecData[10] <= 40){ - 3da0: 804a ld.b r2, (r0, 0xa) - 3da2: 3128 movi r1, 40 - 3da4: 6484 cmphs r1, r2 - 3da6: 0c02 bf 0x3daa // 3daa - TempCtrl.TemState_Now.indoor_t = RecData[10]; - 3da8: a340 st.b r2, (r3, 0x0) - } - - //空调的故障码, - - - TempCtrl.TemState_Ctrller.on_off = TempCtrl.TemState_Now.on_off; - 3daa: 8342 ld.b r2, (r3, 0x2) - 3dac: 4a47 lsri r2, r2, 7 - 3dae: 4227 lsli r1, r2, 7 - 3db0: 307f movi r0, 127 - 3db2: 834a ld.b r2, (r3, 0xa) - 3db4: 6880 and r2, r0 - 3db6: 6c84 or r2, r1 - TempCtrl.TemState_Ctrller.set_t = TempCtrl.TemState_Now.set_t; - TempCtrl.TemState_Ctrller.mode = TempCtrl.TemState_Now.mode; - 3db8: 8302 ld.b r0, (r3, 0x2) - TempCtrl.TemState_Ctrller.set_t = TempCtrl.TemState_Now.set_t; - 3dba: 8321 ld.b r1, (r3, 0x1) - TempCtrl.TemState_Ctrller.mode = TempCtrl.TemState_Now.mode; - 3dbc: 3407 movi r4, 7 - TempCtrl.TemState_Ctrller.set_t = TempCtrl.TemState_Now.set_t; - 3dbe: a329 st.b r1, (r3, 0x9) - TempCtrl.TemState_Ctrller.mode = TempCtrl.TemState_Now.mode; - 3dc0: 4804 lsri r0, r0, 4 - 3dc2: 318f movi r1, 143 - 3dc4: 6884 and r2, r1 - 3dc6: 6810 and r0, r4 - TempCtrl.TemState_Ctrller.fan = TempCtrl.TemState_Now.fan; - 3dc8: 8322 ld.b r1, (r3, 0x2) - TempCtrl.TemState_Ctrller.mode = TempCtrl.TemState_Now.mode; - 3dca: 4004 lsli r0, r0, 4 - TempCtrl.TemState_Ctrller.fan = TempCtrl.TemState_Now.fan; - 3dcc: 4921 lsri r1, r1, 1 - 3dce: 6c80 or r2, r0 - 3dd0: 6850 and r1, r4 - 3dd2: 300e movi r0, 14 - 3dd4: 6881 andn r2, r0 - 3dd6: 4121 lsli r1, r1, 1 - 3dd8: 6c84 or r2, r1 - 3dda: a34a st.b r2, (r3, 0xa) - TempCtrl.TemState_Ctrller.indoor_t = TempCtrl.TemState_Now.indoor_t; - 3ddc: 8340 ld.b r2, (r3, 0x0) - 3dde: a348 st.b r2, (r3, 0x8) - 3de0: 3000 movi r0, 0 - - return 0x00; -} - 3de2: 1481 pop r4 - }else if(RecData[7] == 0x02){ - 3de4: 3a44 cmpnei r2, 4 - TempCtrl.TemState_Now.mode = MODEL_COLD; - 3de6: 3170 movi r1, 112 - 3de8: 8342 ld.b r2, (r3, 0x2) - 3dea: 6885 andn r2, r1 - }else if(RecData[7] == 0x02){ - 3dec: 0bce bt 0x3d88 // 3d88 - TempCtrl.TemState_Now.mode = MODEL_WIND; - 3dee: 3aa6 bseti r2, 6 - 3df0: 07cc br 0x3d88 // 3d88 - }else if(RecData[8] == 0x01){ - 3df2: 3a41 cmpnei r2, 1 - 3df4: 0805 bt 0x3dfe // 3dfe - TempCtrl.TemState_Now.fan = FAN_LOW; - 3df6: 8342 ld.b r2, (r3, 0x2) - 3df8: 310e movi r1, 14 - 3dfa: 6885 andn r2, r1 - 3dfc: 07cf br 0x3d9a // 3d9a - }else if(RecData[8] == 0x02){ - 3dfe: 3a42 cmpnei r2, 2 - 3e00: 0806 bt 0x3e0c // 3e0c - TempCtrl.TemState_Now.fan = FAN_MID; - 3e02: 8342 ld.b r2, (r3, 0x2) - 3e04: 310e movi r1, 14 - 3e06: 6885 andn r2, r1 - 3e08: 3aa1 bseti r2, 1 - 3e0a: 07c8 br 0x3d9a // 3d9a - }else if(RecData[8] == 0x03){ - 3e0c: 3a43 cmpnei r2, 3 - 3e0e: 0bf4 bt 0x3df6 // 3df6 - TempCtrl.TemState_Now.fan = FAN_HIGH; - 3e10: 8342 ld.b r2, (r3, 0x2) - 3e12: 310e movi r1, 14 - 3e14: 6885 andn r2, r1 - 3e16: 3aa2 bseti r2, 2 - 3e18: 07c1 br 0x3d9a // 3d9a - if(Len < 13) return 0x01; - 3e1a: 3001 movi r0, 1 - 3e1c: 07e3 br 0x3de2 // 3de2 - 3e1e: 0000 bkpt - 3e20: 20000420 .long 0x20000420 - -Disassembly of section .text.Ctrller_CtrlAirState_Processing: - -00003e24 : - * Len : 接收数据长度 - * 函数输出 : -**********************************************************************************/ -U8_T Ctrller_CtrlAirState_Processing(U8_T *RecData, U16_T Len) -{ - if(Len < 7) return 0x01; - 3e24: 3906 cmphsi r1, 7 - 3e26: 0c0a bf 0x3e3a // 3e3a - - if(RecData[5] == 0x00) //控制设定失败 - { - - } - else if(RecData[5] == 0x01) //控制设定成功 - 3e28: 8065 ld.b r3, (r0, 0x5) - 3e2a: 3b41 cmpnei r3, 1 - 3e2c: 0805 bt 0x3e36 // 3e36 - { - TempCtrl.TempCtrllerChange_Flag = 0x00; - 3e2e: 1065 lrw r3, 0x20000420 // 3e40 - 3e30: 3200 movi r2, 0 - 3e32: a354 st.b r2, (r3, 0x14) - TempCtrl.TempCtrller_Cnt = 0x00; - 3e34: a353 st.b r2, (r3, 0x13) - else if(RecData[5] == 0x01) //控制设定成功 - 3e36: 3000 movi r0, 0 - 3e38: 0402 br 0x3e3c // 3e3c - if(Len < 7) return 0x01; - 3e3a: 3001 movi r0, 1 - } - - return 0x00; -} - 3e3c: 783c jmp r15 - 3e3e: 0000 bkpt - 3e40: 20000420 .long 0x20000420 - -Disassembly of section .text.Ctrller_RecData_Processing: - -00003e44 : - * RecData : 接收数据缓冲区 - * Len : 接收数据长度 - * 函数输出 : 处理状态 -**********************************************************************************/ -U8_T Ctrller_RecData_Processing(U8_T *RecData, U16_T Len) -{ - 3e44: 14d4 push r4-r7, r15 - if( (Len < 6)||(RecData[1] != Len) ) - 3e46: 3905 cmphsi r1, 6 -{ - 3e48: 6d03 mov r4, r0 - 3e4a: 6c87 mov r2, r1 - if( (Len < 6)||(RecData[1] != Len) ) - 3e4c: 0c04 bf 0x3e54 // 3e54 - 3e4e: 80a1 ld.b r5, (r0, 0x1) - 3e50: 6456 cmpne r5, r1 - 3e52: 0c07 bf 0x3e60 // 3e60 - { - Dbg_Println(DBG_BIT_SYS_STATUS,"Len Err:%d",Len); - 3e54: 3000 movi r0, 0 - 3e56: 1125 lrw r1, 0x5f5b // 3ee8 - 3e58: e3fffc3a bsr 0x36cc // 36cc - return 0x01; - 3e5c: 3001 movi r0, 1 - break; - } - - - return 0x00; -} - 3e5e: 1494 pop r4-r7, r15 - if(RecData[0] != 0xCC) - 3e60: 8040 ld.b r2, (r0, 0x0) - 3e62: 33cc movi r3, 204 - 3e64: 64ca cmpne r2, r3 - 3e66: 0c07 bf 0x3e74 // 3e74 - Dbg_Println(DBG_BIT_SYS_STATUS,"Head Err"); - 3e68: 3000 movi r0, 0 - 3e6a: 1121 lrw r1, 0x5f66 // 3eec - 3e6c: e3fffc30 bsr 0x36cc // 36cc - return 0x02; - 3e70: 3002 movi r0, 2 - 3e72: 07f6 br 0x3e5e // 3e5e - if( (RecData[2] != 0xFF)||(RecData[3] != g_Dip.DIP_addr) ) - 3e74: 8042 ld.b r2, (r0, 0x2) - 3e76: 33ff movi r3, 255 - 3e78: 64ca cmpne r2, r3 - 3e7a: 105e lrw r2, 0x20000448 // 3ef0 - 3e7c: 8063 ld.b r3, (r0, 0x3) - 3e7e: 0804 bt 0x3e86 // 3e86 - 3e80: 8226 ld.b r1, (r2, 0x6) - 3e82: 644e cmpne r3, r1 - 3e84: 0c09 bf 0x3e96 // 3e96 - Dbg_Println(DBG_BIT_SYS_STATUS,"Addr Err:%d, %d",g_Dip.DIP_addr,RecData[3]); - 3e86: 3000 movi r0, 0 - 3e88: 74cc zextb r3, r3 - 3e8a: 8246 ld.b r2, (r2, 0x6) - 3e8c: 103a lrw r1, 0x5f6f // 3ef4 - 3e8e: e3fffc1f bsr 0x36cc // 36cc - return 0x03; - 3e92: 3003 movi r0, 3 - 3e94: 07e5 br 0x3e5e // 3e5e - if(RecData[Len-1] != EEPROM_CheckSum(RecData,(Len-1))) - 3e96: 5dc3 subi r6, r5, 1 - 3e98: 5874 addu r3, r0, r5 - 3e9a: 7599 zexth r6, r6 - 3e9c: 2b00 subi r3, 1 - 3e9e: 6c5b mov r1, r6 - 3ea0: 83e0 ld.b r7, (r3, 0x0) - 3ea2: e3fffc1b bsr 0x36d8 // 36d8 - 3ea6: 641e cmpne r7, r0 - 3ea8: 0c0e bf 0x3ec4 // 3ec4 - Dbg_Println(DBG_BIT_SYS_STATUS,"SumCRC Err:%d, %d",RecData[5],EEPROM_CheckSum(RecData,(Len-1))); - 3eaa: 6c5b mov r1, r6 - 3eac: 6c13 mov r0, r4 - 3eae: 84a5 ld.b r5, (r4, 0x5) - 3eb0: e3fffc14 bsr 0x36d8 // 36d8 - 3eb4: 6cc3 mov r3, r0 - 3eb6: 6c97 mov r2, r5 - 3eb8: 3000 movi r0, 0 - 3eba: 1030 lrw r1, 0x5f7f // 3ef8 - 3ebc: e3fffc08 bsr 0x36cc // 36cc - return 0x04; - 3ec0: 3004 movi r0, 4 - 3ec2: 07ce br 0x3e5e // 3e5e - switch(RecData[4]) - 3ec4: 8464 ld.b r3, (r4, 0x4) - 3ec6: 3b42 cmpnei r3, 2 - 3ec8: 0c05 bf 0x3ed2 // 3ed2 - 3eca: 3b43 cmpnei r3, 3 - 3ecc: 0c08 bf 0x3edc // 3edc - return 0x00; - 3ece: 3000 movi r0, 0 - 3ed0: 07c7 br 0x3e5e // 3e5e - Ctrller_AirState_Processing(RecData,Len); - 3ed2: 6c57 mov r1, r5 - 3ed4: 6c13 mov r0, r4 - 3ed6: e3ffff3d bsr 0x3d50 // 3d50 - 3eda: 07fa br 0x3ece // 3ece - Ctrller_CtrlAirState_Processing(RecData,Len); - 3edc: 6c57 mov r1, r5 - 3ede: 6c13 mov r0, r4 - 3ee0: e3ffffa2 bsr 0x3e24 // 3e24 - 3ee4: 07f5 br 0x3ece // 3ece - 3ee6: 0000 bkpt - 3ee8: 00005f5b .long 0x00005f5b - 3eec: 00005f66 .long 0x00005f66 - 3ef0: 20000448 .long 0x20000448 - 3ef4: 00005f6f .long 0x00005f6f - 3ef8: 00005f7f .long 0x00005f7f - -Disassembly of section .text.NetCRC16_Check: - -00003efc : - -/*两字节CRC校验 -*len包括校验的长度 -*/ -void NetCRC16_Check(U8_T *aStr ,U16_T len) -{ - 3efc: 14c4 push r4-r7 - U16_T alen = len-2; //CRC16??????? - U16_T xda , xdapoly ; //校验后的结果,多项式 - U16_T i,j, xdabit ; //缓存变量 - - if(len < 3) //长度小于3 - 3efe: 3902 cmphsi r1, 3 - 3f00: 0c1f bf 0x3f3e // 3f3e - U16_T alen = len-2; //CRC16??????? - 3f02: 2901 subi r1, 2 - 3f04: 7445 zexth r1, r1 - 3f06: 6d43 mov r5, r0 - 3f08: 3200 movi r2, 0 - 3f0a: 106e lrw r3, 0xffff // 3f40 - } - xda = 0xFFFF ; - xdapoly = 0xA001 ; // (X**16 + X**15 + X**2 + 1) - for(i=0;i>= 1 ; - if( xdabit ) xda ^= xdapoly ; - 3f14: 6d8f mov r6, r3 - 3f16: 699c and r6, r7 - 3f18: 3e40 cmpnei r6, 0 - 3f1a: 4b61 lsri r3, r3, 1 - 3f1c: 0c04 bf 0x3f24 // 3f24 - 3f1e: 10ca lrw r6, 0xffffa001 // 3f44 - 3f20: 6cd9 xor r3, r6 - 3f22: 74cd zexth r3, r3 - 3f24: 2c00 subi r4, 1 - 3f26: 7511 zexth r4, r4 - for(j=0;j<8;j++) - 3f28: 3c40 cmpnei r4, 0 - 3f2a: 0bf5 bt 0x3f14 // 3f14 - for(i=0;i - } - } - aStr[alen] = (U8_T)(xda & 0xFF) ; - 3f36: 6040 addu r1, r0 - 3f38: a160 st.b r3, (r1, 0x0) - aStr[alen+1] = (U8_T)(xda>>8) ; - 3f3a: 4b68 lsri r3, r3, 8 - 3f3c: a161 st.b r3, (r1, 0x1) -} - 3f3e: 1484 pop r4-r7 - 3f40: 0000ffff .long 0x0000ffff - 3f44: ffffa001 .long 0xffffa001 - -Disassembly of section .text.GetCRC16: - -00003f48 : -* @para -* aStr 数组首地址 -* len 数组长度,不包括校验 -*/ -U16_T GetCRC16( U8_T *aStr , U16_T len) -{ - 3f48: 14c3 push r4-r6 - 3f4a: 6cc3 mov r3, r0 - 3f4c: 6040 addu r1, r0 - xda ^= aStr[i] ; - for (j = 0; j < 8; j++) - { - xdabit = (unsigned char)(xda & 0x01) ; - xda >>= 1 ; - if ( xdabit ) xda ^= xdapoly ; - 3f4e: 10ac lrw r5, 0xffffa001 // 3f7c - xda = 0xFFFF ; - 3f50: 100c lrw r0, 0xffff // 3f80 - for (i = 0; i < len; i++) - 3f52: 644e cmpne r3, r1 - 3f54: 0802 bt 0x3f58 // 3f58 - } - } - - return xda; -} - 3f56: 1483 pop r4-r6 - xda ^= aStr[i] ; - 3f58: 8340 ld.b r2, (r3, 0x0) - 3f5a: 6c09 xor r0, r2 - xdabit = (unsigned char)(xda & 0x01) ; - 3f5c: 3601 movi r6, 1 - xda ^= aStr[i] ; - 3f5e: 3208 movi r2, 8 - if ( xdabit ) xda ^= xdapoly ; - 3f60: 6d03 mov r4, r0 - 3f62: 6918 and r4, r6 - 3f64: 3c40 cmpnei r4, 0 - 3f66: 4801 lsri r0, r0, 1 - 3f68: 0c03 bf 0x3f6e // 3f6e - 3f6a: 6c15 xor r0, r5 - 3f6c: 7401 zexth r0, r0 - 3f6e: 2a00 subi r2, 1 - 3f70: 7489 zexth r2, r2 - for (j = 0; j < 8; j++) - 3f72: 3a40 cmpnei r2, 0 - 3f74: 0bf6 bt 0x3f60 // 3f60 - 3f76: 2300 addi r3, 1 - 3f78: 07ed br 0x3f52 // 3f52 - 3f7a: 0000 bkpt - 3f7c: ffffa001 .long 0xffffa001 - 3f80: 0000ffff .long 0x0000ffff - -Disassembly of section .text.SOR_CRC: - -00003f84 : - -/*和校验*/ -U8_T SOR_CRC(U8_T *Data, U8_T DataLen) -{ - 3f84: 6cc3 mov r3, r0 - 3f86: 6040 addu r1, r0 - U8_T i; - U8_T sor_data = 0; - 3f88: 3000 movi r0, 0 - - for(i = 0; i < DataLen; i++)//i可能为0 ,也可以是1 - 3f8a: 644e cmpne r3, r1 - 3f8c: 0802 bt 0x3f90 // 3f90 - { - sor_data = sor_data+Data[i]; - } - return sor_data; -} - 3f8e: 783c jmp r15 - sor_data = sor_data+Data[i]; - 3f90: 8340 ld.b r2, (r3, 0x0) - 3f92: 6008 addu r0, r2 - 3f94: 7400 zextb r0, r0 - 3f96: 2300 addi r3, 1 - 3f98: 07f9 br 0x3f8a // 3f8a - -Disassembly of section .text.Rs485_ASend: - -00003f9c : - -/*主动回复组包报文*/ -void Rs485_ASend(U32_T valtim) -{ - 3f9c: 14d1 push r4, r15 - 3f9e: 1427 subi r14, r14, 28 - if(g_eeprom.dev_port != ACTIVE_PORT) return; - 3fa0: 1260 lrw r3, 0x200003f0 // 40a0 - 3fa2: 8367 ld.b r3, (r3, 0x7) - 3fa4: 3b42 cmpnei r3, 2 -{ - 3fa6: 6d03 mov r4, r0 - if(g_eeprom.dev_port != ACTIVE_PORT) return; - 3fa8: 0871 bt 0x408a // 408a - - U8_T SendData[24]; //24个字节 - SendData[0] = 0x55; - 3faa: 3355 movi r3, 85 - 3fac: dc6e0004 st.b r3, (r14, 0x4) - SendData[1] = 0x55; - 3fb0: dc6e0005 st.b r3, (r14, 0x5) - SendData[2] = 0xee; - 3fb4: 3300 movi r3, 0 - 3fb6: 2b11 subi r3, 18 - 3fb8: dc6e0006 st.b r3, (r14, 0x6) - SendData[3] = 0x15; - 3fbc: 3315 movi r3, 21 - 3fbe: dc6e0007 st.b r3, (r14, 0x7) - - SendData[4] = 0x03; //类型 - 3fc2: 3303 movi r3, 3 - 3fc4: dc6e0008 st.b r3, (r14, 0x8) - SendData[5] = g_Dip.DIP_addr; - - SendData[6] = 0x00; //Func0 温控器高字节,通常为0 - SendData[7] = TempCtrl.TemState_Now.on_off; //Func1 温控器低字节,0关 1开 - 3fc8: 1157 lrw r2, 0x20000420 // 40a4 - SendData[5] = g_Dip.DIP_addr; - 3fca: 1178 lrw r3, 0x20000448 // 40a8 - 3fcc: 8366 ld.b r3, (r3, 0x6) - 3fce: dc6e0009 st.b r3, (r14, 0x9) - SendData[6] = 0x00; //Func0 温控器高字节,通常为0 - 3fd2: 3300 movi r3, 0 - 3fd4: dc6e000a st.b r3, (r14, 0xa) - SendData[7] = TempCtrl.TemState_Now.on_off; //Func1 温控器低字节,0关 1开 - 3fd8: 8262 ld.b r3, (r2, 0x2) - 3fda: 4b27 lsri r1, r3, 7 - 3fdc: dc2e000b st.b r1, (r14, 0xb) - SendData[8] = 0x00; //Func2 模式高字节 通常为0 - 3fe0: 3100 movi r1, 0 - 3fe2: dc2e000c st.b r1, (r14, 0xc) - if (TempCtrl.TemState_Now.mode == MODEL_COLD) { - 3fe6: 3170 movi r1, 112 - 3fe8: 68c4 and r3, r1 - 3fea: 3b40 cmpnei r3, 0 - 3fec: 081a bt 0x4020 // 4020 - SendData[9] = 0x01; //Func3 模式低字节 1制冷 2制热 3通风 - 3fee: 3301 movi r3, 1 - }else if (TempCtrl.TemState_Now.mode == MODEL_HOT) { - SendData[9] = 0x02; //Func3 模式低字节 1制冷 2制热 3通风 - }else if (TempCtrl.TemState_Now.mode == MODEL_WIND) { - SendData[9] = 0x03; //Func3 模式低字节 1制冷 2制热 3通风 - 3ff0: dc6e000d st.b r3, (r14, 0xd) - } - - SendData[10] = TEMTEMPCONVER(TempCtrl.TemState_Now.set_t); //Func4 设定温度值高字节 整数值 - 3ff4: 8261 ld.b r3, (r2, 0x1) - 3ff6: 3b40 cmpnei r3, 0 - 3ff8: 0802 bt 0x3ffc // 3ffc - 3ffa: 3320 movi r3, 32 - SendData[11] = 0x00; //Func5 设定温度值低字节 小数值 ,没有就给0 - SendData[12] = 0x04 - TempCtrl.TemState_Now.fan; //Func6 风速高字节 为0 - 3ffc: 8202 ld.b r0, (r2, 0x2) - SendData[10] = TEMTEMPCONVER(TempCtrl.TemState_Now.set_t); //Func4 设定温度值高字节 整数值 - 3ffe: dc6e000e st.b r3, (r14, 0xe) - SendData[12] = 0x04 - TempCtrl.TemState_Now.fan; //Func6 风速高字节 为0 - 4002: 401c lsli r0, r0, 28 - SendData[11] = 0x00; //Func5 设定温度值低字节 小数值 ,没有就给0 - 4004: 3300 movi r3, 0 - SendData[12] = 0x04 - TempCtrl.TemState_Now.fan; //Func6 风速高字节 为0 - 4006: 481d lsri r0, r0, 29 - SendData[11] = 0x00; //Func5 设定温度值低字节 小数值 ,没有就给0 - 4008: dc6e000f st.b r3, (r14, 0xf) - SendData[12] = 0x04 - TempCtrl.TemState_Now.fan; //Func6 风速高字节 为0 - 400c: 3304 movi r3, 4 - 400e: 60c2 subu r3, r0 - switch(TempCtrl.TemState_Now.fan) - 4010: 3803 cmphsi r0, 4 - SendData[12] = 0x04 - TempCtrl.TemState_Now.fan; //Func6 风速高字节 为0 - 4012: dc6e0010 st.b r3, (r14, 0x10) - switch(TempCtrl.TemState_Now.fan) - 4016: 0842 bt 0x409a // 409a - 4018: e3ffe672 bsr 0xcfc // cfc <___gnu_csky_case_uqi> - 401c: 3d3b390c .long 0x3d3b390c - }else if (TempCtrl.TemState_Now.mode == MODEL_HOT) { - 4020: 3120 movi r1, 32 - 4022: 644e cmpne r3, r1 - 4024: 0803 bt 0x402a // 402a - SendData[9] = 0x02; //Func3 模式低字节 1制冷 2制热 3通风 - 4026: 3302 movi r3, 2 - 4028: 07e4 br 0x3ff0 // 3ff0 - }else if (TempCtrl.TemState_Now.mode == MODEL_WIND) { - 402a: 3140 movi r1, 64 - 402c: 644e cmpne r3, r1 - 402e: 0be3 bt 0x3ff4 // 3ff4 - SendData[9] = 0x03; //Func3 模式低字节 1制冷 2制热 3通风 - 4030: 3303 movi r3, 3 - 4032: 07df br 0x3ff0 // 3ff0 - { - case FAN_LOW: //低速 - SendData[13] = 0x03; - 4034: 3303 movi r3, 3 - SendData[13] = 0x04; // - break; - } - SendData[14] = 0x00; //Func8 温控器机器型号高字节 - SendData[15] = 0x00; //Func9 温控器机器型号低字节 - SendData[16] = TempCtrl.TemState_Now.valve<<3; //Func10 第3位作为阀开阀关标志位 - 4036: 8222 ld.b r1, (r2, 0x2) - SendData[13] = 0x04; // - 4038: dc6e0011 st.b r3, (r14, 0x11) - SendData[16] = TempCtrl.TemState_Now.valve<<3; //Func10 第3位作为阀开阀关标志位 - 403c: 413f lsli r1, r1, 31 - SendData[14] = 0x00; //Func8 温控器机器型号高字节 - 403e: 3300 movi r3, 0 - 4040: dc6e0012 st.b r3, (r14, 0x12) - SendData[15] = 0x00; //Func9 温控器机器型号低字节 - 4044: dc6e0013 st.b r3, (r14, 0x13) - SendData[16] = TempCtrl.TemState_Now.valve<<3; //Func10 第3位作为阀开阀关标志位 - 4048: 493f lsri r1, r1, 31 - SendData[17] = 0x00; //Func11 备用字节1 - 404a: dc6e0015 st.b r3, (r14, 0x15) - SendData[18] = 0x00; //Func12 备用字节2 - 404e: dc6e0016 st.b r3, (r14, 0x16) - SendData[19] = 0x00; //Func13 备用字节3 - 4052: dc6e0017 st.b r3, (r14, 0x17) - SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t); //Func14 室内温度整数值 - 4056: 8260 ld.b r3, (r2, 0x0) - SendData[16] = TempCtrl.TemState_Now.valve<<3; //Func10 第3位作为阀开阀关标志位 - 4058: 4123 lsli r1, r1, 3 - SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t); //Func14 室内温度整数值 - 405a: 3b40 cmpnei r3, 0 - SendData[16] = TempCtrl.TemState_Now.valve<<3; //Func10 第3位作为阀开阀关标志位 - 405c: dc2e0014 st.b r1, (r14, 0x14) - SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t); //Func14 室内温度整数值 - 4060: 0802 bt 0x4064 // 4064 - 4062: 3320 movi r3, 32 - 4064: dc6e0018 st.b r3, (r14, 0x18) - SendData[21] = 0x00; //Func15 室内温度小数值 - 4068: 3300 movi r3, 0 - 406a: dc6e0019 st.b r3, (r14, 0x19) - - NetCRC16_Check(&SendData[0+3], SendData[0+3]); //校验 - 406e: 1b01 addi r3, r14, 4 - 4070: 5b0a addi r0, r3, 3 - 4072: 3115 movi r1, 21 - 4074: e3ffff44 bsr 0x3efc // 3efc - - Set_GroupSend(SendData,24,BUSSend_Cnt,valtim,300); - 4078: 3396 movi r3, 150 - 407a: 4361 lsli r3, r3, 1 - 407c: b860 st.w r3, (r14, 0x0) - 407e: 3201 movi r2, 1 - 4080: 6cd3 mov r3, r4 - 4082: 3118 movi r1, 24 - 4084: 1801 addi r0, r14, 4 - 4086: e3fffa81 bsr 0x3588 // 3588 - -} - 408a: 1407 addi r14, r14, 28 - 408c: 1491 pop r4, r15 - SendData[13] = 0x02; - 408e: 3302 movi r3, 2 - 4090: 07d3 br 0x4036 // 4036 - SendData[13] = 0x01; - 4092: 3301 movi r3, 1 - 4094: 07d1 br 0x4036 // 4036 - SendData[13] = 0x00; // - 4096: 3300 movi r3, 0 - 4098: 07cf br 0x4036 // 4036 - SendData[13] = 0x04; // - 409a: 3304 movi r3, 4 - 409c: 07cd br 0x4036 // 4036 - 409e: 0000 bkpt - 40a0: 200003f0 .long 0x200003f0 - 40a4: 20000420 .long 0x20000420 - 40a8: 20000448 .long 0x20000448 - -Disassembly of section .text.Rs485AskCycleSend: - -000040ac : - - -/*轮询回复报文*/ -void Rs485AskCycleSend(void) -{ - 40ac: 14d0 push r15 - 40ae: 1427 subi r14, r14, 28 - U8_T SendData[24]; //24个字节 - SendData[0] = 0x55; - 40b0: 3355 movi r3, 85 - 40b2: dc6e0004 st.b r3, (r14, 0x4) - SendData[1] = 0x55; - 40b6: dc6e0005 st.b r3, (r14, 0x5) - SendData[2] = 0xee; - 40ba: 3300 movi r3, 0 - 40bc: 2b11 subi r3, 18 - 40be: dc6e0006 st.b r3, (r14, 0x6) - SendData[3] = 0x15; - 40c2: 3315 movi r3, 21 - 40c4: dc6e0007 st.b r3, (r14, 0x7) - - SendData[4] = 0x03; //类型 - 40c8: 3303 movi r3, 3 - 40ca: dc6e0008 st.b r3, (r14, 0x8) - SendData[5] = g_Dip.DIP_addr; - 40ce: 1177 lrw r3, 0x20000448 // 41a8 - 40d0: 8366 ld.b r3, (r3, 0x6) - 40d2: dc6e0009 st.b r3, (r14, 0x9) - - SendData[6] = 0x00; //Func0 温控器高字节,通常为0 - 40d6: 3300 movi r3, 0 - 40d8: dc6e000a st.b r3, (r14, 0xa) - SendData[7] = TempCtrl.TemState_Now.on_off; //Func1 温控器低字节,0关 1开 - 40dc: 1174 lrw r3, 0x20000420 // 41ac - 40de: 8342 ld.b r2, (r3, 0x2) - 40e0: 4a27 lsri r1, r2, 7 - 40e2: dc2e000b st.b r1, (r14, 0xb) - - SendData[8] = 0x00; //Func2 模式高字节 通常为0 - 40e6: 3100 movi r1, 0 - 40e8: dc2e000c st.b r1, (r14, 0xc) - if (TempCtrl.TemState_Now.mode == MODEL_COLD) { //Func3 模式低字节 1制冷 2制热 3通风 - 40ec: 3170 movi r1, 112 - 40ee: 6884 and r2, r1 - 40f0: 3a40 cmpnei r2, 0 - 40f2: 081a bt 0x4126 // 4126 - SendData[9] = 0x01; - 40f4: 3201 movi r2, 1 - }else if (TempCtrl.TemState_Now.mode == MODEL_HOT) { - SendData[9] = 0x02; - }else if (TempCtrl.TemState_Now.mode == MODEL_WIND) { - SendData[9] = 0x03; - 40f6: dc4e000d st.b r2, (r14, 0xd) - } - - SendData[10] = TEMTEMPCONVER(TempCtrl.TemState_Now.set_t); //Func4 设定温度值高字节 整数值 - 40fa: 8341 ld.b r2, (r3, 0x1) - 40fc: 3a40 cmpnei r2, 0 - 40fe: 0802 bt 0x4102 // 4102 - 4100: 3220 movi r2, 32 - SendData[11] = 0x00; //Func5 设定温度值低字节 小数值 ,没有就给0 - - SendData[12] = 0x04 - TempCtrl.TemState_Now.fan; //Func6 风速高字节 为0 - 4102: 8302 ld.b r0, (r3, 0x2) - SendData[10] = TEMTEMPCONVER(TempCtrl.TemState_Now.set_t); //Func4 设定温度值高字节 整数值 - 4104: dc4e000e st.b r2, (r14, 0xe) - SendData[12] = 0x04 - TempCtrl.TemState_Now.fan; //Func6 风速高字节 为0 - 4108: 401c lsli r0, r0, 28 - SendData[11] = 0x00; //Func5 设定温度值低字节 小数值 ,没有就给0 - 410a: 3200 movi r2, 0 - SendData[12] = 0x04 - TempCtrl.TemState_Now.fan; //Func6 风速高字节 为0 - 410c: 481d lsri r0, r0, 29 - SendData[11] = 0x00; //Func5 设定温度值低字节 小数值 ,没有就给0 - 410e: dc4e000f st.b r2, (r14, 0xf) - SendData[12] = 0x04 - TempCtrl.TemState_Now.fan; //Func6 风速高字节 为0 - 4112: 3204 movi r2, 4 - 4114: 6082 subu r2, r0 - switch(TempCtrl.TemState_Now.fan) - 4116: 3803 cmphsi r0, 4 - SendData[12] = 0x04 - TempCtrl.TemState_Now.fan; //Func6 风速高字节 为0 - 4118: dc4e0010 st.b r2, (r14, 0x10) - switch(TempCtrl.TemState_Now.fan) - 411c: 0843 bt 0x41a2 // 41a2 - 411e: e3ffe5ef bsr 0xcfc // cfc <___gnu_csky_case_uqi> - 4122: 3a0c .short 0x3a0c - 4124: 3e3c .short 0x3e3c - }else if (TempCtrl.TemState_Now.mode == MODEL_HOT) { - 4126: 3120 movi r1, 32 - 4128: 644a cmpne r2, r1 - 412a: 0803 bt 0x4130 // 4130 - SendData[9] = 0x02; - 412c: 3202 movi r2, 2 - 412e: 07e4 br 0x40f6 // 40f6 - }else if (TempCtrl.TemState_Now.mode == MODEL_WIND) { - 4130: 3140 movi r1, 64 - 4132: 644a cmpne r2, r1 - 4134: 0be3 bt 0x40fa // 40fa - SendData[9] = 0x03; - 4136: 3203 movi r2, 3 - 4138: 07df br 0x40f6 // 40f6 - { - case FAN_LOW: //低速 - SendData[13] = 0x03; //Func7 温控器风速低字节:1 高速,2 中速,3 低速,0 自动,4 停 - 413a: 3203 movi r2, 3 - break; - case FAN_AUTO: - SendData[13] = 0x00; // - break; - default: - SendData[13] = 0x04; // - 413c: dc4e0011 st.b r2, (r14, 0x11) - break; - } - - SendData[14] = 0x00; //Func8 温控器机器型号高字节 - 4140: 3200 movi r2, 0 - 4142: dc4e0012 st.b r2, (r14, 0x12) - SendData[15] = 0x00; //Func9 温控器机器型号低字节 - 4146: dc4e0013 st.b r2, (r14, 0x13) - - SendData[16] = TempCtrl.TemState_Now.valve<<3; //Func10 第3位作为阀开阀关标志位 - 414a: 8342 ld.b r2, (r3, 0x2) - 414c: 425f lsli r2, r2, 31 - 414e: 4a5f lsri r2, r2, 31 - 4150: 4243 lsli r2, r2, 3 - SendData[17] = 0x00; //Func11 备用字节1 - SendData[18] = 0x00; //Func12 备用字节2 - SendData[19] = 0x00; //Func13 备用字节3 - - SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t); //Func14 室内温度整数值 - 4152: 8360 ld.b r3, (r3, 0x0) - SendData[16] = TempCtrl.TemState_Now.valve<<3; //Func10 第3位作为阀开阀关标志位 - 4154: dc4e0014 st.b r2, (r14, 0x14) - SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t); //Func14 室内温度整数值 - 4158: 3b40 cmpnei r3, 0 - SendData[17] = 0x00; //Func11 备用字节1 - 415a: 3200 movi r2, 0 - 415c: dc4e0015 st.b r2, (r14, 0x15) - SendData[18] = 0x00; //Func12 备用字节2 - 4160: dc4e0016 st.b r2, (r14, 0x16) - SendData[19] = 0x00; //Func13 备用字节3 - 4164: dc4e0017 st.b r2, (r14, 0x17) - SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t); //Func14 室内温度整数值 - 4168: 0802 bt 0x416c // 416c - 416a: 3320 movi r3, 32 - 416c: dc6e0018 st.b r3, (r14, 0x18) - SendData[21] = 0x00; //Func15 室内温度小数值 - 4170: 3300 movi r3, 0 - 4172: dc6e0019 st.b r3, (r14, 0x19) - - NetCRC16_Check(&SendData[0+3], SendData[0+3]); //校验 - 4176: 1b01 addi r3, r14, 4 - 4178: 5b0a addi r0, r3, 3 - 417a: 3115 movi r1, 21 - 417c: e3fffec0 bsr 0x3efc // 3efc - - Set_GroupSend(SendData,24,1,BUSSend_ValidTime3,20); //组包 - 4180: 3314 movi r3, 20 - 4182: b860 st.w r3, (r14, 0x0) - 4184: 3396 movi r3, 150 - 4186: 4361 lsli r3, r3, 1 - 4188: 3201 movi r2, 1 - 418a: 3118 movi r1, 24 - 418c: 1801 addi r0, r14, 4 - 418e: e3fff9fd bsr 0x3588 // 3588 - -} - 4192: 1407 addi r14, r14, 28 - 4194: 1490 pop r15 - SendData[13] = 0x02; - 4196: 3202 movi r2, 2 - 4198: 07d2 br 0x413c // 413c - SendData[13] = 0x01; - 419a: 3201 movi r2, 1 - 419c: 07d0 br 0x413c // 413c - SendData[13] = 0x00; // - 419e: 3200 movi r2, 0 - 41a0: 07ce br 0x413c // 413c - SendData[13] = 0x04; // - 41a2: 3204 movi r2, 4 - 41a4: 07cc br 0x413c // 413c - 41a6: 0000 bkpt - 41a8: 20000448 .long 0x20000448 - 41ac: 20000420 .long 0x20000420 - -Disassembly of section .text.Rs485AskCtrlSend: - -000041b0 : - - -/*控制回复报文*/ -void Rs485AskCtrlSend(U8_T* Recdata) -{ - 41b0: 14d0 push r15 - 41b2: 1424 subi r14, r14, 16 - U8_T SendData[10]; - - SendData[0] = 0x55; - 41b4: 3355 movi r3, 85 - 41b6: dc6e0004 st.b r3, (r14, 0x4) - SendData[1] = 0x55; - 41ba: dc6e0005 st.b r3, (r14, 0x5) - SendData[2] = 0xee; //头 - 41be: 3300 movi r3, 0 - 41c0: 2b11 subi r3, 18 - 41c2: dc6e0006 st.b r3, (r14, 0x6) - - SendData[3] = 0x07; //长度 - 41c6: 3307 movi r3, 7 - 41c8: dc6e0007 st.b r3, (r14, 0x7) - SendData[4] = 0x03; //类型 - 41cc: 3303 movi r3, 3 - 41ce: dc6e0008 st.b r3, (r14, 0x8) - SendData[5] = g_Dip.DIP_addr; - SendData[6] = Recdata[6];//Rs485Tem.AskModeState; //类型 - SendData[7] = Recdata[7];//0x01; //内容 - - NetCRC16_Check(&SendData[0+3], SendData[0+3]); //校验 - 41d2: 3107 movi r1, 7 - SendData[5] = g_Dip.DIP_addr; - 41d4: 106d lrw r3, 0x20000448 // 4208 - 41d6: 8366 ld.b r3, (r3, 0x6) - 41d8: dc6e0009 st.b r3, (r14, 0x9) - SendData[6] = Recdata[6];//Rs485Tem.AskModeState; //类型 - 41dc: 8066 ld.b r3, (r0, 0x6) - 41de: dc6e000a st.b r3, (r14, 0xa) - SendData[7] = Recdata[7];//0x01; //内容 - 41e2: 8067 ld.b r3, (r0, 0x7) - 41e4: dc6e000b st.b r3, (r14, 0xb) - NetCRC16_Check(&SendData[0+3], SendData[0+3]); //校验 - 41e8: 1b01 addi r3, r14, 4 - 41ea: 5b0a addi r0, r3, 3 - 41ec: e3fffe88 bsr 0x3efc // 3efc - - Set_GroupSend(SendData,10,1,BUSSend_ValidTime3,20); //组包 - 41f0: 3314 movi r3, 20 - 41f2: b860 st.w r3, (r14, 0x0) - 41f4: 3396 movi r3, 150 - 41f6: 4361 lsli r3, r3, 1 - 41f8: 3201 movi r2, 1 - 41fa: 310a movi r1, 10 - 41fc: 1801 addi r0, r14, 4 - 41fe: e3fff9c5 bsr 0x3588 // 3588 - -} - 4202: 1404 addi r14, r14, 16 - 4204: 1490 pop r15 - 4206: 0000 bkpt - 4208: 20000448 .long 0x20000448 - -Disassembly of section .text.Rs485AskReadSend: - -0000420c : - - -/*控制回复报文cmd:0x10*/ -void Rs485AskReadSend(U8_T* Recdata) -{ - 420c: 14d0 push r15 - 420e: 1424 subi r14, r14, 16 - U8_T SendData[11]; - - SendData[0] = 0x55; - 4210: 3355 movi r3, 85 - 4212: dc6e0004 st.b r3, (r14, 0x4) - SendData[1] = 0x55; - 4216: dc6e0005 st.b r3, (r14, 0x5) - SendData[2] = 0xee; //头 - 421a: 3300 movi r3, 0 - 421c: 2b11 subi r3, 18 - 421e: dc6e0006 st.b r3, (r14, 0x6) - - SendData[3] = 0x09; //长度 - 4222: 3309 movi r3, 9 - 4224: dc6e0007 st.b r3, (r14, 0x7) - SendData[4] = 0x03; //类型 - 4228: 3303 movi r3, 3 - 422a: dc6e0008 st.b r3, (r14, 0x8) - SendData[6] = Recdata[6]; - SendData[7] = Project_FW_Version; - SendData[8] = Project_HW_Version; - SendData[9] = g_eeprom.dev_port; //所处RCU端口 2024-12-16 - - NetCRC16_Check(&SendData[0+3], SendData[0+3]); //校验 - 422e: 3109 movi r1, 9 - SendData[5] = g_Dip.DIP_addr; - 4230: 1070 lrw r3, 0x20000448 // 4270 - 4232: 8366 ld.b r3, (r3, 0x6) - 4234: dc6e0009 st.b r3, (r14, 0x9) - SendData[6] = Recdata[6]; - 4238: 8066 ld.b r3, (r0, 0x6) - 423a: dc6e000a st.b r3, (r14, 0xa) - SendData[7] = Project_FW_Version; - 423e: 3301 movi r3, 1 - 4240: dc6e000b st.b r3, (r14, 0xb) - SendData[8] = Project_HW_Version; - 4244: 3302 movi r3, 2 - 4246: dc6e000c st.b r3, (r14, 0xc) - SendData[9] = g_eeprom.dev_port; //所处RCU端口 2024-12-16 - 424a: 106b lrw r3, 0x200003f0 // 4274 - 424c: 8367 ld.b r3, (r3, 0x7) - 424e: dc6e000d st.b r3, (r14, 0xd) - NetCRC16_Check(&SendData[0+3], SendData[0+3]); //校验 - 4252: 1b01 addi r3, r14, 4 - 4254: 5b0a addi r0, r3, 3 - 4256: e3fffe53 bsr 0x3efc // 3efc - - Set_GroupSend(SendData,12,1,BUSSend_ValidTime3,20); //组包 - 425a: 3314 movi r3, 20 - 425c: b860 st.w r3, (r14, 0x0) - 425e: 3396 movi r3, 150 - 4260: 4361 lsli r3, r3, 1 - 4262: 3201 movi r2, 1 - 4264: 310c movi r1, 12 - 4266: 1801 addi r0, r14, 4 - 4268: e3fff990 bsr 0x3588 // 3588 -} - 426c: 1404 addi r14, r14, 16 - 426e: 1490 pop r15 - 4270: 20000448 .long 0x20000448 - 4274: 200003f0 .long 0x200003f0 - -Disassembly of section .text.Rs485_DevPort_ACK: - -00004278 : - -/*设置端口回复报文cmd:0x12*/ -void Rs485_DevPort_ACK(U8_T* Recdata,U8_T Lens) -{ - 4278: 14d0 push r15 - 427a: 1421 subi r14, r14, 4 - Set_GroupSend(Recdata,Lens,1,BUSSend_ValidTime3,20); //组包 - 427c: 3314 movi r3, 20 - 427e: b860 st.w r3, (r14, 0x0) - 4280: 3396 movi r3, 150 - 4282: 7445 zexth r1, r1 - 4284: 4361 lsli r3, r3, 1 - 4286: 3201 movi r2, 1 - 4288: e3fff980 bsr 0x3588 // 3588 -} - 428c: 1401 addi r14, r14, 4 - 428e: 1490 pop r15 - -Disassembly of section .text.Temp_Rec_Analysis: - -00004290 : - -U8_T Temp_Rec_Analysis(U8_T *RecData, U16_T Len) -{ - 4290: 14d3 push r4-r6, r15 - U8_T ret = 0; - U16_T Crc_buf; //正确报文校验保存 - - if((0x09 != Len) && (0x0A != Len)) - 4292: 3300 movi r3, 0 - 4294: 2b08 subi r3, 9 - 4296: 60c4 addu r3, r1 - 4298: 74cd zexth r3, r3 - 429a: 3b01 cmphsi r3, 2 -{ - 429c: 6d03 mov r4, r0 - 429e: 6d47 mov r5, r1 - if((0x09 != Len) && (0x0A != Len)) - 42a0: 08ca bt 0x4434 // 4434 - { - return 0x01; - } - - if((0x55 != RecData[0]) || (0x55 != RecData[1])|| (0xee != RecData[2]) ) - 42a2: 8060 ld.b r3, (r0, 0x0) - 42a4: 3255 movi r2, 85 - 42a6: 648e cmpne r3, r2 - 42a8: 08c2 bt 0x442c // 442c - 42aa: 8041 ld.b r2, (r0, 0x1) - 42ac: 64ca cmpne r2, r3 - 42ae: 08bf bt 0x442c // 442c - 42b0: 8042 ld.b r2, (r0, 0x2) - 42b2: 33ee movi r3, 238 - 42b4: 64ca cmpne r2, r3 - 42b6: 08bb bt 0x442c // 442c - { - return 0x02; - } - if( (RecData[3] + 3 != Len) || (Tem_Type != RecData[4]) || (g_Dip.DIP_addr != RecData[5]) ) - 42b8: 8023 ld.b r1, (r0, 0x3) - 42ba: 596a addi r3, r1, 3 - 42bc: 654e cmpne r3, r5 - 42be: 08b9 bt 0x4430 // 4430 - 42c0: 8004 ld.b r0, (r0, 0x4) - 42c2: 3843 cmpnei r0, 3 - 42c4: 08b6 bt 0x4430 // 4430 - 42c6: 127d lrw r3, 0x20000448 // 4438 - 42c8: 8346 ld.b r2, (r3, 0x6) - 42ca: 8465 ld.b r3, (r4, 0x5) - 42cc: 64ca cmpne r2, r3 - 42ce: 08b0 bt 0x442e // 442e - { - return 0x03; - } - - Crc_buf = GetCRC16(&RecData[3], RecData[3]-2); - 42d0: 2901 subi r1, 2 - 42d2: 7445 zexth r1, r1 - 42d4: 5c0a addi r0, r4, 3 - 42d6: e3fffe39 bsr 0x3f48 // 3f48 - if(Crc_buf == (RecData[Len-2]+(RecData[Len-1]<<8))) //校验通过 - 42da: 5c54 addu r2, r4, r5 - 42dc: 5a63 subi r3, r2, 1 - 42de: 8360 ld.b r3, (r3, 0x0) - 42e0: 2a01 subi r2, 2 - 42e2: 4368 lsli r3, r3, 8 - 42e4: 8240 ld.b r2, (r2, 0x0) - 42e6: 60c8 addu r3, r2 - 42e8: 64c2 cmpne r0, r3 - 42ea: 08a5 bt 0x4434 // 4434 - { - switch(RecData[6]) - 42ec: 8406 ld.b r0, (r4, 0x6) - 42ee: 2800 subi r0, 1 - 42f0: 3811 cmphsi r0, 18 - 42f2: 0812 bt 0x4316 // 4316 - 42f4: e3ffe504 bsr 0xcfc // cfc <___gnu_csky_case_uqi> - 42f8: 1f1f1f1f .long 0x1f1f1f1f - 42fc: 0f0f0f0f .long 0x0f0f0f0f - 4300: 0f0f090f .long 0x0f0f090f - 4304: 230f0f0f .long 0x230f0f0f - 4308: 3a27 .short 0x3a27 - { - case 0x0A: - if(g_eeprom.dev_port == ACTIVE_PORT) - 430a: 126d lrw r3, 0x200003f0 // 443c - 430c: 8367 ld.b r3, (r3, 0x7) - 430e: 3b42 cmpnei r3, 2 - 4310: 080c bt 0x4328 // 4328 - { - Clear_SendFlag(); - 4312: e3fff96d bsr 0x35ec // 35ec - } - break; - } - - - switch(RecData[6]) - 4316: 8406 ld.b r0, (r4, 0x6) - 4318: 2800 subi r0, 1 - 431a: 3803 cmphsi r0, 4 - 431c: 0808 bt 0x432c // 432c - 431e: 8467 ld.b r3, (r4, 0x7) - 4320: e3ffe4ee bsr 0xcfc // cfc <___gnu_csky_case_uqi> - 4324: 71614937 .long 0x71614937 - else if(g_eeprom.dev_port == POLLING_PORT) - 4328: 3b41 cmpnei r3, 1 - 432a: 0c03 bf 0x4330 // 4330 - break; - } - break; - } - - return ret; - 432c: 3000 movi r0, 0 - 432e: 0480 br 0x442e // 442e - Rs485AskCycleSend(); - 4330: e3fffebe bsr 0x40ac // 40ac - 4334: 07f1 br 0x4316 // 4316 - Rs485AskCtrlSend(RecData); - 4336: 6c13 mov r0, r4 - 4338: e3ffff3c bsr 0x41b0 // 41b0 - 433c: 07ed br 0x4316 // 4316 - Rs485AskReadSend(RecData); //版本号查询 - 433e: 6c13 mov r0, r4 - 4340: e3ffff66 bsr 0x420c // 420c - 4344: 07e9 br 0x4316 // 4316 - Rs485AskCtrlSend(RecData); - 4346: 6c13 mov r0, r4 - Dbg_Println(DBG_BIT_SYS_STATUS,"Card_EN Set:%d",TempCtrl.CardEn); - 4348: 11be lrw r5, 0x20000420 // 4440 - Rs485AskCtrlSend(RecData); - 434a: e3ffff33 bsr 0x41b0 // 41b0 - Dbg_Println(DBG_BIT_SYS_STATUS,"Card_EN Set:%d",TempCtrl.CardEn); - 434e: 854f ld.b r2, (r5, 0xf) - 4350: 113d lrw r1, 0x5f91 // 4444 - 4352: 3000 movi r0, 0 - 4354: e3fff9bc bsr 0x36cc // 36cc - if(TempCtrl.CardEn != RecData[7]) //00:关闭 01:开启 - 4358: 8467 ld.b r3, (r4, 0x7) - 435a: 854f ld.b r2, (r5, 0xf) - 435c: 64ca cmpne r2, r3 - 435e: 0fdc bf 0x4316 // 4316 - if(TempCtrl.CardEn == 0x00) - 4360: 3b40 cmpnei r3, 0 - TempCtrl.CardEn = RecData[7]; - 4362: a56f st.b r3, (r5, 0xf) - if(TempCtrl.CardEn == 0x00) - 4364: 0bd9 bt 0x4316 // 4316 - TempCtrl.CardState = 0x01; - 4366: 3301 movi r3, 1 - 4368: a56d st.b r3, (r5, 0xd) - 436a: 07d6 br 0x4316 // 4316 - if(RecData[7] != g_eeprom.dev_port) - 436c: 11d4 lrw r6, 0x200003f0 // 443c - 436e: 8467 ld.b r3, (r4, 0x7) - 4370: 8647 ld.b r2, (r6, 0x7) - 4372: 64ca cmpne r2, r3 - 4374: 0fdc bf 0x432c // 432c - EEPROM_WriteParaInfo(&g_eeprom); - 4376: 6c1b mov r0, r6 - g_eeprom.dev_port = RecData[7]; - 4378: a667 st.b r3, (r6, 0x7) - EEPROM_WriteParaInfo(&g_eeprom); - 437a: e3fff9f5 bsr 0x3764 // 3764 - rev_val = EEPROM_ReadParaInfo(&g_eeprom); - 437e: 6c1b mov r0, r6 - 4380: e3fff9b8 bsr 0x36f0 // 36f0 - if(rev_val == 0x00){ - 4384: 3840 cmpnei r0, 0 - 4386: 0bc8 bt 0x4316 // 4316 - Rs485_DevPort_ACK(RecData,Len); - 4388: 7454 zextb r1, r5 - 438a: 6c13 mov r0, r4 - 438c: e3ffff76 bsr 0x4278 // 4278 - 4390: 07c3 br 0x4316 // 4316 - switch(RecData[7]) - 4392: 74cc zextb r3, r3 - 4394: 3b40 cmpnei r3, 0 - 4396: 0c0a bf 0x43aa // 43aa - 4398: 3b41 cmpnei r3, 1 - 439a: 0bc9 bt 0x432c // 432c - TempCtrl.TemState_Now.on_off = TEMP_ON; //开机 - 439c: 1129 lrw r1, 0x20000420 // 4440 - 439e: 3200 movi r2, 0 - 43a0: 8162 ld.b r3, (r1, 0x2) - 43a2: 2a7f subi r2, 128 - 43a4: 6cc8 or r3, r2 - 43a6: a162 st.b r3, (r1, 0x2) - 43a8: 07c2 br 0x432c // 432c - TempCtrl.TemState_Now.on_off = TEMP_OFF; //关机 - 43aa: 1146 lrw r2, 0x20000420 // 4440 - 43ac: 8262 ld.b r3, (r2, 0x2) - 43ae: 317f movi r1, 127 - 43b0: 68c4 and r3, r1 - TempCtrl.TemState_Now.mode = MODEL_COLD; //制冷 - 43b2: a262 st.b r3, (r2, 0x2) - 43b4: 07bc br 0x432c // 432c - switch(RecData[7]) // - 43b6: 74cc zextb r3, r3 - 43b8: 3b42 cmpnei r3, 2 - 43ba: 0c0a bf 0x43ce // 43ce - 43bc: 3b43 cmpnei r3, 3 - 43be: 0c0e bf 0x43da // 43da - 43c0: 3b41 cmpnei r3, 1 - 43c2: 0bb5 bt 0x432c // 432c - TempCtrl.TemState_Now.mode = MODEL_COLD; //制冷 - 43c4: 105f lrw r2, 0x20000420 // 4440 - 43c6: 8262 ld.b r3, (r2, 0x2) - 43c8: 3170 movi r1, 112 - 43ca: 68c5 andn r3, r1 - 43cc: 07f3 br 0x43b2 // 43b2 - TempCtrl.TemState_Now.mode = MODEL_HOT; //制热 - 43ce: 105d lrw r2, 0x20000420 // 4440 - 43d0: 8262 ld.b r3, (r2, 0x2) - 43d2: 3170 movi r1, 112 - 43d4: 68c5 andn r3, r1 - 43d6: 3ba5 bseti r3, 5 - 43d8: 07ed br 0x43b2 // 43b2 - TempCtrl.TemState_Now.mode = MODEL_WIND; //送风 - 43da: 105a lrw r2, 0x20000420 // 4440 - 43dc: 8262 ld.b r3, (r2, 0x2) - 43de: 3170 movi r1, 112 - 43e0: 68c5 andn r3, r1 - 43e2: 3ba6 bseti r3, 6 - 43e4: 07e7 br 0x43b2 // 43b2 - if((TEM_MIN_SET <= RecData[7]) && (RecData[7] < TEM_MAX_SET)) //在指定温度范围内 - 43e6: 3200 movi r2, 0 - 43e8: 74cc zextb r3, r3 - 43ea: 2a0f subi r2, 16 - 43ec: 608c addu r2, r3 - 43ee: 7488 zextb r2, r2 - 43f0: 3a0f cmphsi r2, 16 - 43f2: 0804 bt 0x43fa // 43fa - TempCtrl.TemState_Now.set_t = (RecData[7]&0x1f); - 43f4: 1053 lrw r2, 0x20000420 // 4440 - 43f6: a261 st.b r3, (r2, 0x1) - 43f8: 079a br 0x432c // 432c - }else if(RecData[7] == TEM_MAX_SET){ - 43fa: 3220 movi r2, 32 - 43fc: 648e cmpne r3, r2 - 43fe: 0b97 bt 0x432c // 432c - TempCtrl.TemState_Now.set_t = (RecData[7]&0x20); - 4400: 1070 lrw r3, 0x20000420 // 4440 - 4402: a341 st.b r2, (r3, 0x1) - 4404: 0794 br 0x432c // 432c - switch(RecData[7]) //风速 - 4406: 740c zextb r0, r3 - 4408: 106e lrw r3, 0x20000420 // 4440 - TempCtrl.TemState_Now.fan = FAN_LOW; //低风速 - 440a: 8342 ld.b r2, (r3, 0x2) - 440c: 310e movi r1, 14 - switch(RecData[7]) //风速 - 440e: 3803 cmphsi r0, 4 - TempCtrl.TemState_Now.fan = FAN_LOW; //低风速 - 4410: 6885 andn r2, r1 - switch(RecData[7]) //风速 - 4412: 0807 bt 0x4420 // 4420 - 4414: e3ffe474 bsr 0xcfc // cfc <___gnu_csky_case_uqi> - 4418: 04080602 .long 0x04080602 - TempCtrl.TemState_Now.fan = FAN_AUTO; //自动风 - 441c: 3aa1 bseti r2, 1 - 441e: 3aa2 bseti r2, 2 - TempCtrl.TemState_Now.fan = FAN_LOW; //低风速 - 4420: a342 st.b r2, (r3, 0x2) - 4422: 0785 br 0x432c // 432c - TempCtrl.TemState_Now.fan = FAN_HIGH; //高风速 - 4424: 3aa2 bseti r2, 2 - 4426: 07fd br 0x4420 // 4420 - TempCtrl.TemState_Now.fan = FAN_MID; //中风速 - 4428: 3aa1 bseti r2, 1 - 442a: 07fb br 0x4420 // 4420 - return 0x02; - 442c: 3002 movi r0, 2 - } - else - { - return ret = 0x01; - } -} - 442e: 1493 pop r4-r6, r15 - return 0x03; - 4430: 3003 movi r0, 3 - 4432: 07fe br 0x442e // 442e - return 0x01; - 4434: 3001 movi r0, 1 - 4436: 07fc br 0x442e // 442e - 4438: 20000448 .long 0x20000448 - 443c: 200003f0 .long 0x200003f0 - 4440: 20000420 .long 0x20000420 - 4444: 00005f91 .long 0x00005f91 - -Disassembly of section .text.Tem_Rs485_Rec_Pro: - -00004448 : - * Len 数据长度 - * 输出 :无 - * 调用 :无 - *************************************************************************/ -U8_T Tem_Rs485_Rec_Pro(U8_T *RecData, U16_T Len) -{ - 4448: 14d2 push r4-r5, r15 - 444a: 6d43 mov r5, r0 - 444c: 6d07 mov r4, r1 - U8_T ret = 0x00; - if(Temp_Rec_Analysis(RecData,Len) != 0x00) - 444e: e3ffff21 bsr 0x4290 // 4290 - 4452: 3840 cmpnei r0, 0 - 4454: 0803 bt 0x445a // 445a - { - return ret = 1; - } - } - - return ret; - 4456: 3000 movi r0, 0 - Dbg_Println(DBG_BIT_SYS_STATUS,"SceneNo:%d",TempCtrl.SceneNo); - 4458: 0404 br 0x4460 // 4460 - if (Len < 5){ //长度校验 - 445a: 3c04 cmphsi r4, 5 - 445c: 0803 bt 0x4462 // 4462 - return ret = 1; - 445e: 3001 movi r0, 1 - 4460: 1492 pop r4-r5, r15 - if(RecData[0] != 0xFF && RecData[1] != 0x08) - 4462: 8540 ld.b r2, (r5, 0x0) - 4464: 33ff movi r3, 255 - 4466: 64ca cmpne r2, r3 - 4468: 0c04 bf 0x4470 // 4470 - 446a: 8561 ld.b r3, (r5, 0x1) - 446c: 3b48 cmpnei r3, 8 - 446e: 0bf8 bt 0x445e // 445e - Dbg_Println(DBG_BIT_SYS_STATUS,"Tem_Rs485_Rec_Pro"); - 4470: 1122 lrw r1, 0x5fa0 // 44f8 - 4472: 3000 movi r0, 0 - 4474: e3fff92c bsr 0x36cc // 36cc - if(Len == 0x05 && RecData[4]==SOR_CRC(RecData,4)) //长度为5的旧版协议广播数据 - 4478: 3c45 cmpnei r4, 5 - 447a: 0814 bt 0x44a2 // 44a2 - 447c: 3104 movi r1, 4 - 447e: 6c17 mov r0, r5 - 4480: e3fffd82 bsr 0x3f84 // 3f84 - 4484: 8564 ld.b r3, (r5, 0x4) - 4486: 640e cmpne r3, r0 - 4488: 0beb bt 0x445e // 445e - if(TempCtrl.CardState != RecData[2] && TempCtrl.CardEn == 0x01) //启用了插卡状态功能 - 448a: 107d lrw r3, 0x20000420 // 44fc - 448c: 8542 ld.b r2, (r5, 0x2) - 448e: 832d ld.b r1, (r3, 0xd) - 4490: 6486 cmpne r1, r2 - 4492: 0fe2 bf 0x4456 // 4456 - 4494: 832f ld.b r1, (r3, 0xf) - 4496: 3941 cmpnei r1, 1 - 4498: 0bdf bt 0x4456 // 4456 - TempCtrl.CardState = RecData[2]; - 449a: a34d st.b r2, (r3, 0xd) - TempCtrl.CardFlag = 0x01; - 449c: 3201 movi r2, 1 - 449e: a34e st.b r2, (r3, 0xe) - 44a0: 07db br 0x4456 // 4456 - else if((Len >= 0x0A) && (GetCRC16(RecData, (Len-2)) == (RecData[Len-2]+(RecData[Len-1]<<8)))) //长度不固定的新版协议广播数据 - 44a2: 3c09 cmphsi r4, 10 - 44a4: 0fdd bf 0x445e // 445e - 44a6: 5c27 subi r1, r4, 2 - 44a8: 7445 zexth r1, r1 - 44aa: 6114 addu r4, r5 - 44ac: 6c17 mov r0, r5 - 44ae: e3fffd4d bsr 0x3f48 // 3f48 - 44b2: 5c63 subi r3, r4, 1 - 44b4: 8360 ld.b r3, (r3, 0x0) - 44b6: 2c01 subi r4, 2 - 44b8: 4368 lsli r3, r3, 8 - 44ba: 8440 ld.b r2, (r4, 0x0) - 44bc: 60c8 addu r3, r2 - 44be: 64c2 cmpne r0, r3 - 44c0: 0bcf bt 0x445e // 445e - if(TempCtrl.CardState != RecData[3] && TempCtrl.CardEn == 0x01) //启用了插卡状态功能 2024-04-17 修正判断条件1错误导致定期亮屏问题 - 44c2: 106f lrw r3, 0x20000420 // 44fc - 44c4: 8543 ld.b r2, (r5, 0x3) - 44c6: 832d ld.b r1, (r3, 0xd) - 44c8: 6486 cmpne r1, r2 - 44ca: 0c07 bf 0x44d8 // 44d8 - 44cc: 832f ld.b r1, (r3, 0xf) - 44ce: 3941 cmpnei r1, 1 - 44d0: 0804 bt 0x44d8 // 44d8 - TempCtrl.CardState = RecData[3]; - 44d2: a34d st.b r2, (r3, 0xd) - TempCtrl.CardFlag = 0x01; - 44d4: 3201 movi r2, 1 - 44d6: a34e st.b r2, (r3, 0xe) - if(TempCtrl.SceneNo != RecData[7]) - 44d8: 8547 ld.b r2, (r5, 0x7) - 44da: 8330 ld.b r1, (r3, 0x10) - 44dc: 6486 cmpne r1, r2 - 44de: 0c07 bf 0x44ec // 44ec - TempCtrl.SceneNo = RecData[7]; - 44e0: a350 st.b r2, (r3, 0x10) - TempCtrl.SceneNoTick = SysTick_1ms; - 44e2: 1048 lrw r2, 0x200000b8 // 4500 - 44e4: 9240 ld.w r2, (r2, 0x0) - 44e6: b346 st.w r2, (r3, 0x18) - TempCtrl.SceneFlag = 0x01; - 44e8: 3201 movi r2, 1 - 44ea: a351 st.b r2, (r3, 0x11) - Dbg_Println(DBG_BIT_SYS_STATUS,"SceneNo:%d",TempCtrl.SceneNo); - 44ec: 8350 ld.b r2, (r3, 0x10) - 44ee: 1026 lrw r1, 0x5fb2 // 4504 - 44f0: 3000 movi r0, 0 - 44f2: e3fff8ed bsr 0x36cc // 36cc - 44f6: 07b0 br 0x4456 // 4456 - 44f8: 00005fa0 .long 0x00005fa0 - 44fc: 20000420 .long 0x20000420 - 4500: 200000b8 .long 0x200000b8 - 4504: 00005fb2 .long 0x00005fb2 - -Disassembly of section .text.DIP_GetSwitchState: - -00004508 : - - /*进入设置界面 - 先决条件*/ - Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Addr:%d",g_Dip.DIP_val); -} - -U8_T DIP_GetSwitchState(U8_T i){ - 4508: 14d0 push r15 - U8_T val = 0; - - switch (i) - 450a: 3841 cmpnei r0, 1 - 450c: 0c0d bf 0x4526 // 4526 - 450e: 3840 cmpnei r0, 0 - 4510: 0c05 bf 0x451a // 451a - 4512: 3842 cmpnei r0, 2 - 4514: 0c0d bf 0x452e // 452e - U8_T val = 0; - 4516: 3000 movi r0, 0 - 4518: 0406 br 0x4524 // 4524 - { - case DIP_CH1: - val = GPIO_Read_Status(GPIOB0,2); - 451a: 1068 lrw r3, 0x20000048 // 4538 - 451c: 3102 movi r1, 2 - 451e: 9300 ld.w r0, (r3, 0x0) - break; - case DIP_CH2: - val = GPIO_Read_Status(GPIOB0,1); - break; - case DIP_CH3: - val = GPIO_Read_Status(GPIOB0,0); - 4520: e3ffede1 bsr 0x20e2 // 20e2 - break; - } - return val; -} - 4524: 1490 pop r15 - val = GPIO_Read_Status(GPIOB0,1); - 4526: 1065 lrw r3, 0x20000048 // 4538 - 4528: 3101 movi r1, 1 - 452a: 9300 ld.w r0, (r3, 0x0) - 452c: 07fa br 0x4520 // 4520 - val = GPIO_Read_Status(GPIOB0,0); - 452e: 1063 lrw r3, 0x20000048 // 4538 - 4530: 3100 movi r1, 0 - 4532: 9300 ld.w r0, (r3, 0x0) - 4534: 07f6 br 0x4520 // 4520 - 4536: 0000 bkpt - 4538: 20000048 .long 0x20000048 - -Disassembly of section .text.DIP_Switch_Init: - -0000453c : -void DIP_Switch_Init(void){ - 453c: 14d2 push r4-r5, r15 - GPIO_Init(GPIOB0,0,Intput); - 453e: 1180 lrw r4, 0x20000048 // 45bc - 4540: 3201 movi r2, 1 - 4542: 9400 ld.w r0, (r4, 0x0) - 4544: 3100 movi r1, 0 - 4546: e3ffec7d bsr 0x1e40 // 1e40 - GPIO_Init(GPIOB0,1,Intput); - 454a: 9400 ld.w r0, (r4, 0x0) - 454c: 3201 movi r2, 1 - 454e: 3101 movi r1, 1 - 4550: e3ffec78 bsr 0x1e40 // 1e40 - GPIO_Init(GPIOB0,2,Intput); - 4554: 3201 movi r2, 1 - 4556: 9400 ld.w r0, (r4, 0x0) - 4558: 3102 movi r1, 2 - 455a: e3ffec73 bsr 0x1e40 // 1e40 - GPIO_PullHigh_Init(GPIOB0,0); - 455e: 9400 ld.w r0, (r4, 0x0) - 4560: 3100 movi r1, 0 - 4562: e3ffecdf bsr 0x1f20 // 1f20 - GPIO_PullHigh_Init(GPIOB0,1); - 4566: 9400 ld.w r0, (r4, 0x0) - 4568: 3101 movi r1, 1 - 456a: e3ffecdb bsr 0x1f20 // 1f20 - GPIO_PullHigh_Init(GPIOB0,2); - 456e: 9400 ld.w r0, (r4, 0x0) - 4570: 3102 movi r1, 2 - 4572: e3ffecd7 bsr 0x1f20 // 1f20 - memset(&g_Dip,0,sizeof(DIP_t)); - 4576: 3210 movi r2, 16 - 4578: 3100 movi r1, 0 - 457a: 1012 lrw r0, 0x20000448 // 45c0 - 457c: e3ffe9f4 bsr 0x1964 // 1964 <__memset_fast> - delay_nms(20); - 4580: 3014 movi r0, 20 - 4582: e3ffef7d bsr 0x247c // 247c - 4586: 3400 movi r4, 0 - g_Dip.DIP_val |= DIP_VAL_ON << i; - 4588: 10ae lrw r5, 0x20000448 // 45c0 - if(DIP_GetSwitchState(i) == DIP_PRESS){ - 458a: 7410 zextb r0, r4 - 458c: e3ffffbe bsr 0x4508 // 4508 - 4590: 3840 cmpnei r0, 0 - 4592: 0807 bt 0x45a0 // 45a0 - g_Dip.DIP_val |= DIP_VAL_ON << i; - 4594: 3301 movi r3, 1 - 4596: 70d0 lsl r3, r4 - 4598: 6c8f mov r2, r3 - 459a: 9562 ld.w r3, (r5, 0x8) - 459c: 6cc8 or r3, r2 - 459e: b562 st.w r3, (r5, 0x8) - 45a0: 2400 addi r4, 1 - for (U8_T i = 0; i < DIP_CHN_MAX; i++) { - 45a2: 3c43 cmpnei r4, 3 - 45a4: 0bf3 bt 0x458a // 458a - g_Dip.DIP_last_val = g_Dip.DIP_val; - 45a6: 1067 lrw r3, 0x20000448 // 45c0 - g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; - 45a8: 3107 movi r1, 7 - g_Dip.DIP_last_val = g_Dip.DIP_val; - 45aa: 9342 ld.w r2, (r3, 0x8) - g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; - 45ac: 6848 and r1, r2 - 45ae: a326 st.b r1, (r3, 0x6) - Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Addr:%d",g_Dip.DIP_val); - 45b0: 3000 movi r0, 0 - 45b2: 1025 lrw r1, 0x5fbd // 45c4 - g_Dip.DIP_last_val = g_Dip.DIP_val; - 45b4: b343 st.w r2, (r3, 0xc) - Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Addr:%d",g_Dip.DIP_val); - 45b6: e3fff88b bsr 0x36cc // 36cc -} - 45ba: 1492 pop r4-r5, r15 - 45bc: 20000048 .long 0x20000048 - 45c0: 20000448 .long 0x20000448 - 45c4: 00005fbd .long 0x00005fbd - -Disassembly of section .text.DIP_ScanTask: - -000045c8 : - -void DIP_ScanTask(void) -{ - 45c8: 14d3 push r4-r6, r15 - static U32_T update_20ms = 0; - - if (SysTick_1ms - update_20ms > DIP_SCAN_Time) - 45ca: 1122 lrw r1, 0x200000b8 // 4650 - 45cc: 1142 lrw r2, 0x2000014c // 4654 - 45ce: 11a3 lrw r5, 0x20000448 // 4658 - 45d0: 9200 ld.w r0, (r2, 0x0) - 45d2: 9160 ld.w r3, (r1, 0x0) - 45d4: 60c2 subu r3, r0 - 45d6: 3b14 cmphsi r3, 21 - 45d8: 0806 bt 0x45e4 // 45e4 - } - } - } - } - - if(g_Dip.DIP_val != g_Dip.DIP_last_val) - 45da: 9542 ld.w r2, (r5, 0x8) - 45dc: 9563 ld.w r3, (r5, 0xc) - 45de: 64ca cmpne r2, r3 - 45e0: 082e bt 0x463c // 463c - g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; - - Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Change Addr:%d",g_Dip.DIP_addr); - } - -} - 45e2: 1493 pop r4-r6, r15 - update_20ms = SysTick_1ms; - 45e4: 9160 ld.w r3, (r1, 0x0) - 45e6: b260 st.w r3, (r2, 0x0) - 45e8: 6d17 mov r4, r5 - 45ea: 3600 movi r6, 0 - if (DIP_GetSwitchState(i) == DIP_PRESS) - 45ec: 7418 zextb r0, r6 - 45ee: e3ffff8d bsr 0x4508 // 4508 - 45f2: 3840 cmpnei r0, 0 - g_Dip.delayCnt_OFF[i] = 0; - 45f4: 3300 movi r3, 0 - if (DIP_GetSwitchState(i) == DIP_PRESS) - 45f6: 0814 bt 0x461e // 461e - g_Dip.delayCnt_OFF[i] = 0; - 45f8: a463 st.b r3, (r4, 0x3) - if (g_Dip.delayCnt_ON[i] < DIP_DELAY_COUNT) - 45fa: 8460 ld.b r3, (r4, 0x0) - 45fc: 3b04 cmphsi r3, 5 - 45fe: 0808 bt 0x460e // 460e - g_Dip.delayCnt_ON[i]++; - 4600: 2300 addi r3, 1 - g_Dip.delayCnt_ON[i] = 0; - 4602: a460 st.b r3, (r4, 0x0) - 4604: 2600 addi r6, 1 - for (U8_T i = 0; i < DIP_CHN_MAX; i++) - 4606: 3e43 cmpnei r6, 3 - 4608: 2400 addi r4, 1 - 460a: 0bf1 bt 0x45ec // 45ec - 460c: 07e7 br 0x45da // 45da - g_Dip.DIP_val |= (DIP_VAL_ON << i); - 460e: 3301 movi r3, 1 - 4610: 70d8 lsl r3, r6 - 4612: 6c8f mov r2, r3 - 4614: 9562 ld.w r3, (r5, 0x8) - 4616: 6cc8 or r3, r2 - 4618: b562 st.w r3, (r5, 0x8) - g_Dip.delayCnt_ON[i] = 0; - 461a: 3300 movi r3, 0 - 461c: 07f3 br 0x4602 // 4602 - g_Dip.delayCnt_ON[i] = 0; - 461e: a460 st.b r3, (r4, 0x0) - if (g_Dip.delayCnt_OFF[i] < DIP_DELAY_COUNT) - 4620: 8463 ld.b r3, (r4, 0x3) - 4622: 3b04 cmphsi r3, 5 - 4624: 0804 bt 0x462c // 462c - g_Dip.delayCnt_OFF[i]++; - 4626: 2300 addi r3, 1 - g_Dip.delayCnt_OFF[i] = 0; - 4628: a463 st.b r3, (r4, 0x3) - 462a: 07ed br 0x4604 // 4604 - g_Dip.DIP_val &= ~(DIP_VAL_ON << i); - 462c: 3300 movi r3, 0 - 462e: 2b01 subi r3, 2 - 4630: 9542 ld.w r2, (r5, 0x8) - 4632: 70db rotl r3, r6 - 4634: 68c8 and r3, r2 - 4636: b562 st.w r3, (r5, 0x8) - g_Dip.delayCnt_OFF[i] = 0; - 4638: 3300 movi r3, 0 - 463a: 07f7 br 0x4628 // 4628 - g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; - 463c: 3307 movi r3, 7 - g_Dip.DIP_last_val = g_Dip.DIP_val; - 463e: b543 st.w r2, (r5, 0xc) - Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Change Addr:%d",g_Dip.DIP_addr); - 4640: 3000 movi r0, 0 - g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; - 4642: 688c and r2, r3 - Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Change Addr:%d",g_Dip.DIP_addr); - 4644: 1026 lrw r1, 0x5fc9 // 465c - g_Dip.DIP_addr = g_Dip.DIP_val & 0x07; - 4646: a546 st.b r2, (r5, 0x6) - Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Change Addr:%d",g_Dip.DIP_addr); - 4648: e3fff842 bsr 0x36cc // 36cc -} - 464c: 07cb br 0x45e2 // 45e2 - 464e: 0000 bkpt - 4650: 200000b8 .long 0x200000b8 - 4654: 2000014c .long 0x2000014c - 4658: 20000448 .long 0x20000448 - 465c: 00005fc9 .long 0x00005fc9 - -Disassembly of section .text.TK_Single_Longpress_prg: - -00004660 : - 4660: 14c2 push r4-r5 - 4662: 117d lrw r3, 0x200005fc // 4754 - 4664: 115d lrw r2, 0x20000568 // 4758 - 4666: 9360 ld.w r3, (r3, 0x0) - 4668: 3b40 cmpnei r3, 0 - 466a: 0840 bt 0x46ea // 46ea - 466c: 113c lrw r1, 0x20000068 // 475c - 466e: 8962 ld.h r3, (r1, 0x4) - 4670: 74cd zexth r3, r3 - 4672: 3b40 cmpnei r3, 0 - 4674: 0c3b bf 0x46ea // 46ea - 4676: 117b lrw r3, 0x200004fc // 4760 - 4678: 9360 ld.w r3, (r3, 0x0) - 467a: 3b40 cmpnei r3, 0 - 467c: 117a lrw r3, 0x200006b2 // 4764 - 467e: 0c0e bf 0x469a // 469a - 4680: 8300 ld.b r0, (r3, 0x0) - 4682: 2000 addi r0, 1 - 4684: 7400 zextb r0, r0 - 4686: a300 st.b r0, (r3, 0x0) - 4688: 8380 ld.b r4, (r3, 0x0) - 468a: 8902 ld.h r0, (r1, 0x4) - 468c: 7401 zexth r0, r0 - 468e: 3564 movi r5, 100 - 4690: 7c14 mult r0, r5 - 4692: 6501 cmplt r0, r4 - 4694: 0c05 bf 0x469e // 469e - 4696: 3001 movi r0, 1 - 4698: a200 st.b r0, (r2, 0x0) - 469a: 3000 movi r0, 0 - 469c: a300 st.b r0, (r3, 0x0) - 469e: 1113 lrw r0, 0x20000490 // 4768 - 46a0: 9000 ld.w r0, (r0, 0x0) - 46a2: 3840 cmpnei r0, 0 - 46a4: 0c0e bf 0x46c0 // 46c0 - 46a6: 8301 ld.b r0, (r3, 0x1) - 46a8: 2000 addi r0, 1 - 46aa: 7400 zextb r0, r0 - 46ac: a301 st.b r0, (r3, 0x1) - 46ae: 8381 ld.b r4, (r3, 0x1) - 46b0: 8902 ld.h r0, (r1, 0x4) - 46b2: 7401 zexth r0, r0 - 46b4: 3564 movi r5, 100 - 46b6: 7c14 mult r0, r5 - 46b8: 6501 cmplt r0, r4 - 46ba: 0c05 bf 0x46c4 // 46c4 - 46bc: 3001 movi r0, 1 - 46be: a201 st.b r0, (r2, 0x1) - 46c0: 3000 movi r0, 0 - 46c2: a301 st.b r0, (r3, 0x1) - 46c4: 110a lrw r0, 0x20000574 // 476c - 46c6: 9000 ld.w r0, (r0, 0x0) - 46c8: 3840 cmpnei r0, 0 - 46ca: 0c0e bf 0x46e6 // 46e6 - 46cc: 8302 ld.b r0, (r3, 0x2) - 46ce: 2000 addi r0, 1 - 46d0: 7400 zextb r0, r0 - 46d2: a302 st.b r0, (r3, 0x2) - 46d4: 8302 ld.b r0, (r3, 0x2) - 46d6: 8922 ld.h r1, (r1, 0x4) - 46d8: 7445 zexth r1, r1 - 46da: 3464 movi r4, 100 - 46dc: 7c50 mult r1, r4 - 46de: 6405 cmplt r1, r0 - 46e0: 0c05 bf 0x46ea // 46ea - 46e2: 3101 movi r1, 1 - 46e4: a222 st.b r1, (r2, 0x2) - 46e6: 3100 movi r1, 0 - 46e8: a322 st.b r1, (r3, 0x2) - 46ea: 8260 ld.b r3, (r2, 0x0) - 46ec: 3b41 cmpnei r3, 1 - 46ee: 080f bt 0x470c // 470c - 46f0: 3300 movi r3, 0 - 46f2: 11a0 lrw r5, 0x200007ae // 4770 - 46f4: 1180 lrw r4, 0x2000045c // 4774 - 46f6: 4321 lsli r1, r3, 1 - 46f8: 5d04 addu r0, r5, r1 - 46fa: 8800 ld.h r0, (r0, 0x0) - 46fc: 2300 addi r3, 1 - 46fe: 7401 zexth r0, r0 - 4700: 6050 addu r1, r4 - 4702: 3b51 cmpnei r3, 17 - 4704: a900 st.h r0, (r1, 0x0) - 4706: 0bf8 bt 0x46f6 // 46f6 - 4708: 3300 movi r3, 0 - 470a: a260 st.b r3, (r2, 0x0) - 470c: 8261 ld.b r3, (r2, 0x1) - 470e: 3b41 cmpnei r3, 1 - 4710: 080f bt 0x472e // 472e - 4712: 3300 movi r3, 0 - 4714: 10b9 lrw r5, 0x20000544 // 4778 - 4716: 109a lrw r4, 0x20000606 // 477c - 4718: 4321 lsli r1, r3, 1 - 471a: 5d04 addu r0, r5, r1 - 471c: 8800 ld.h r0, (r0, 0x0) - 471e: 2300 addi r3, 1 - 4720: 7401 zexth r0, r0 - 4722: 6050 addu r1, r4 - 4724: 3b51 cmpnei r3, 17 - 4726: a900 st.h r0, (r1, 0x0) - 4728: 0bf8 bt 0x4718 // 4718 - 472a: 3300 movi r3, 0 - 472c: a261 st.b r3, (r2, 0x1) - 472e: 8262 ld.b r3, (r2, 0x2) - 4730: 3b41 cmpnei r3, 1 - 4732: 080f bt 0x4750 // 4750 - 4734: 3300 movi r3, 0 - 4736: 10b3 lrw r5, 0x2000063a // 4780 - 4738: 1093 lrw r4, 0x2000071c // 4784 - 473a: 4321 lsli r1, r3, 1 - 473c: 5d04 addu r0, r5, r1 - 473e: 8800 ld.h r0, (r0, 0x0) - 4740: 2300 addi r3, 1 - 4742: 7401 zexth r0, r0 - 4744: 6050 addu r1, r4 - 4746: 3b51 cmpnei r3, 17 - 4748: a900 st.h r0, (r1, 0x0) - 474a: 0bf8 bt 0x473a // 473a - 474c: 3300 movi r3, 0 - 474e: a262 st.b r3, (r2, 0x2) - 4750: 1482 pop r4-r5 - 4752: 0000 bkpt - 4754: 200005fc .long 0x200005fc - 4758: 20000568 .long 0x20000568 - 475c: 20000068 .long 0x20000068 - 4760: 200004fc .long 0x200004fc - 4764: 200006b2 .long 0x200006b2 - 4768: 20000490 .long 0x20000490 - 476c: 20000574 .long 0x20000574 - 4770: 200007ae .long 0x200007ae - 4774: 2000045c .long 0x2000045c - 4778: 20000544 .long 0x20000544 - 477c: 20000606 .long 0x20000606 - 4780: 2000063a .long 0x2000063a - 4784: 2000071c .long 0x2000071c - -Disassembly of section .text.TK_Sampling_prog: - -00004788 : - 4788: 14c4 push r4-r7 - 478a: 1423 subi r14, r14, 12 - 478c: 1169 lrw r3, 0x20000054 // 4830 - 478e: 114a lrw r2, 0x20000719 // 4834 - 4790: 6d0b mov r4, r2 - 4792: 9320 ld.w r1, (r3, 0x0) - 4794: b840 st.w r2, (r14, 0x0) - 4796: 3300 movi r3, 0 - 4798: 11a8 lrw r5, 0x200007ae // 4838 - 479a: 9840 ld.w r2, (r14, 0x0) - 479c: 8240 ld.b r2, (r2, 0x0) - 479e: 3a41 cmpnei r2, 1 - 47a0: 0808 bt 0x47b0 // 47b0 - 47a2: 4342 lsli r2, r3, 2 - 47a4: 6084 addu r2, r1 - 47a6: 9200 ld.w r0, (r2, 0x0) - 47a8: 4341 lsli r2, r3, 1 - 47aa: 7401 zexth r0, r0 - 47ac: 6094 addu r2, r5 - 47ae: aa00 st.h r0, (r2, 0x0) - 47b0: 8440 ld.b r2, (r4, 0x0) - 47b2: 3a42 cmpnei r2, 2 - 47b4: 0809 bt 0x47c6 // 47c6 - 47b6: 4342 lsli r2, r3, 2 - 47b8: 6084 addu r2, r1 - 47ba: 9200 ld.w r0, (r2, 0x0) - 47bc: 4341 lsli r2, r3, 1 - 47be: 11c0 lrw r6, 0x20000544 // 483c - 47c0: 7401 zexth r0, r0 - 47c2: 6098 addu r2, r6 - 47c4: aa00 st.h r0, (r2, 0x0) - 47c6: 8440 ld.b r2, (r4, 0x0) - 47c8: 3a40 cmpnei r2, 0 - 47ca: 0809 bt 0x47dc // 47dc - 47cc: 4342 lsli r2, r3, 2 - 47ce: 6084 addu r2, r1 - 47d0: 9200 ld.w r0, (r2, 0x0) - 47d2: 4341 lsli r2, r3, 1 - 47d4: 10db lrw r6, 0x2000063a // 4840 - 47d6: 7401 zexth r0, r0 - 47d8: 6098 addu r2, r6 - 47da: aa00 st.h r0, (r2, 0x0) - 47dc: 10da lrw r6, 0x200005a1 // 4844 - 47de: 8640 ld.b r2, (r6, 0x0) - 47e0: 3a41 cmpnei r2, 1 - 47e2: 0821 bt 0x4824 // 4824 - 47e4: 1079 lrw r3, 0x2000045c // 4848 - 47e6: 3200 movi r2, 0 - 47e8: b861 st.w r3, (r14, 0x4) - 47ea: 1075 lrw r3, 0x20000544 // 483c - 47ec: b862 st.w r3, (r14, 0x8) - 47ee: 4261 lsli r3, r2, 1 - 47f0: 5d0c addu r0, r5, r3 - 47f2: 8800 ld.h r0, (r0, 0x0) - 47f4: 98e1 ld.w r7, (r14, 0x4) - 47f6: 61cc addu r7, r3 - 47f8: 7401 zexth r0, r0 - 47fa: af00 st.h r0, (r7, 0x0) - 47fc: 9802 ld.w r0, (r14, 0x8) - 47fe: 600c addu r0, r3 - 4800: 8800 ld.h r0, (r0, 0x0) - 4802: 10f3 lrw r7, 0x20000606 // 484c - 4804: 61cc addu r7, r3 - 4806: 7401 zexth r0, r0 - 4808: af00 st.h r0, (r7, 0x0) - 480a: 2200 addi r2, 1 - 480c: 100d lrw r0, 0x2000063a // 4840 - 480e: 600c addu r0, r3 - 4810: 8800 ld.h r0, (r0, 0x0) - 4812: 10f0 lrw r7, 0x2000071c // 4850 - 4814: 7401 zexth r0, r0 - 4816: 60dc addu r3, r7 - 4818: 3a51 cmpnei r2, 17 - 481a: ab00 st.h r0, (r3, 0x0) - 481c: 0be9 bt 0x47ee // 47ee - 481e: 3300 movi r3, 0 - 4820: a660 st.b r3, (r6, 0x0) - 4822: 3311 movi r3, 17 - 4824: 2300 addi r3, 1 - 4826: 74cc zextb r3, r3 - 4828: 3b10 cmphsi r3, 17 - 482a: 0fb8 bf 0x479a // 479a - 482c: 1403 addi r14, r14, 12 - 482e: 1484 pop r4-r7 - 4830: 20000054 .long 0x20000054 - 4834: 20000719 .long 0x20000719 - 4838: 200007ae .long 0x200007ae - 483c: 20000544 .long 0x20000544 - 4840: 2000063a .long 0x2000063a - 4844: 200005a1 .long 0x200005a1 - 4848: 2000045c .long 0x2000045c - 484c: 20000606 .long 0x20000606 - 4850: 2000071c .long 0x2000071c - -Disassembly of section .text.get_key_number: - -00004854 : - 4854: 14c2 push r4-r5 - 4856: 3200 movi r2, 0 - 4858: 3000 movi r0, 0 - 485a: 1088 lrw r4, 0x200005fc // 4878 - 485c: 3501 movi r5, 1 - 485e: 3120 movi r1, 32 - 4860: 9460 ld.w r3, (r4, 0x0) - 4862: 70c9 lsr r3, r2 - 4864: 68d4 and r3, r5 - 4866: 3b40 cmpnei r3, 0 - 4868: 0c02 bf 0x486c // 486c - 486a: 2000 addi r0, 1 - 486c: 2200 addi r2, 1 - 486e: 644a cmpne r2, r1 - 4870: 0bf8 bt 0x4860 // 4860 - 4872: 7400 zextb r0, r0 - 4874: 1482 pop r4-r5 - 4876: 0000 bkpt - 4878: 200005fc .long 0x200005fc - -Disassembly of section .text.get_key_number0: - -0000487c : - 487c: 14c2 push r4-r5 - 487e: 3200 movi r2, 0 - 4880: 3000 movi r0, 0 - 4882: 1088 lrw r4, 0x200004fc // 48a0 - 4884: 3501 movi r5, 1 - 4886: 3120 movi r1, 32 - 4888: 9460 ld.w r3, (r4, 0x0) - 488a: 70c9 lsr r3, r2 - 488c: 68d4 and r3, r5 - 488e: 3b40 cmpnei r3, 0 - 4890: 0c02 bf 0x4894 // 4894 - 4892: 2000 addi r0, 1 - 4894: 2200 addi r2, 1 - 4896: 644a cmpne r2, r1 - 4898: 0bf8 bt 0x4888 // 4888 - 489a: 7400 zextb r0, r0 - 489c: 1482 pop r4-r5 - 489e: 0000 bkpt - 48a0: 200004fc .long 0x200004fc - -Disassembly of section .text.get_key_number1: - -000048a4 : - 48a4: 14c2 push r4-r5 - 48a6: 3200 movi r2, 0 - 48a8: 3000 movi r0, 0 - 48aa: 1088 lrw r4, 0x20000490 // 48c8 - 48ac: 3501 movi r5, 1 - 48ae: 3120 movi r1, 32 - 48b0: 9460 ld.w r3, (r4, 0x0) - 48b2: 70c9 lsr r3, r2 - 48b4: 68d4 and r3, r5 - 48b6: 3b40 cmpnei r3, 0 - 48b8: 0c02 bf 0x48bc // 48bc - 48ba: 2000 addi r0, 1 - 48bc: 2200 addi r2, 1 - 48be: 644a cmpne r2, r1 - 48c0: 0bf8 bt 0x48b0 // 48b0 - 48c2: 7400 zextb r0, r0 - 48c4: 1482 pop r4-r5 - 48c6: 0000 bkpt - 48c8: 20000490 .long 0x20000490 - -Disassembly of section .text.get_key_number2: - -000048cc : - 48cc: 14c2 push r4-r5 - 48ce: 3200 movi r2, 0 - 48d0: 3000 movi r0, 0 - 48d2: 1088 lrw r4, 0x20000574 // 48f0 - 48d4: 3501 movi r5, 1 - 48d6: 3120 movi r1, 32 - 48d8: 9460 ld.w r3, (r4, 0x0) - 48da: 70c9 lsr r3, r2 - 48dc: 68d4 and r3, r5 - 48de: 3b40 cmpnei r3, 0 - 48e0: 0c02 bf 0x48e4 // 48e4 - 48e2: 2000 addi r0, 1 - 48e4: 2200 addi r2, 1 - 48e6: 644a cmpne r2, r1 - 48e8: 0bf8 bt 0x48d8 // 48d8 - 48ea: 7400 zextb r0, r0 - 48ec: 1482 pop r4-r5 - 48ee: 0000 bkpt - 48f0: 20000574 .long 0x20000574 - -Disassembly of section .text.TK_Scan_Start: - -000048f4 : - 48f4: 1073 lrw r3, 0x20000068 // 4940 - 48f6: 1054 lrw r2, 0x20000719 // 4944 - 48f8: 8302 ld.b r0, (r3, 0x2) - 48fa: 8220 ld.b r1, (r2, 0x0) - 48fc: 6442 cmpne r0, r1 - 48fe: 0c16 bf 0x492a // 492a - 4900: 8220 ld.b r1, (r2, 0x0) - 4902: 7444 zextb r1, r1 - 4904: 3941 cmpnei r1, 1 - 4906: 0c18 bf 0x4936 // 4936 - 4908: 3940 cmpnei r1, 0 - 490a: 0c11 bf 0x492c // 492c - 490c: 3942 cmpnei r1, 2 - 490e: 0c16 bf 0x493a // 493a - 4910: 8240 ld.b r2, (r2, 0x0) - 4912: 7488 zextb r2, r2 - 4914: a342 st.b r2, (r3, 0x2) - 4916: 8341 ld.b r2, (r3, 0x1) - 4918: 7488 zextb r2, r2 - 491a: 3a41 cmpnei r2, 1 - 491c: 0807 bt 0x492a // 492a - 491e: 102b lrw r1, 0x20000058 // 4948 - 4920: 9120 ld.w r1, (r1, 0x0) - 4922: b142 st.w r2, (r1, 0x8) - 4924: 3200 movi r2, 0 - 4926: a340 st.b r2, (r3, 0x0) - 4928: a341 st.b r2, (r3, 0x1) - 492a: 783c jmp r15 - 492c: 1028 lrw r1, 0x200007d0 // 494c - 492e: 9100 ld.w r0, (r1, 0x0) - 4930: 1028 lrw r1, 0x40011200 // 4950 - 4932: b110 st.w r0, (r1, 0x40) - 4934: 07ee br 0x4910 // 4910 - 4936: 1028 lrw r1, 0x20000540 // 4954 - 4938: 07fb br 0x492e // 492e - 493a: 1028 lrw r1, 0x20000570 // 4958 - 493c: 07f9 br 0x492e // 492e - 493e: 0000 bkpt - 4940: 20000068 .long 0x20000068 - 4944: 20000719 .long 0x20000719 - 4948: 20000058 .long 0x20000058 - 494c: 200007d0 .long 0x200007d0 - 4950: 40011200 .long 0x40011200 - 4954: 20000540 .long 0x20000540 - 4958: 20000570 .long 0x20000570 - -Disassembly of section .text.TK_Keymap_prog: - -0000495c : - 495c: 14d4 push r4-r7, r15 - 495e: 142a subi r14, r14, 40 - 4960: 0171 lrw r3, 0x20000180 // 4c98 - 4962: 8360 ld.b r3, (r3, 0x0) - 4964: b860 st.w r3, (r14, 0x0) - 4966: 3400 movi r4, 0 - 4968: 0172 lrw r3, 0x20000154 // 4c9c - 496a: 8360 ld.b r3, (r3, 0x0) - 496c: b863 st.w r3, (r14, 0xc) - 496e: 0172 lrw r3, 0x2000015d // 4ca0 - 4970: 83a0 ld.b r5, (r3, 0x0) - 4972: 0172 lrw r3, 0x2000015c // 4ca4 - 4974: 8360 ld.b r3, (r3, 0x0) - 4976: b866 st.w r3, (r14, 0x18) - 4978: 0173 lrw r3, 0x200007ae // 4ca8 - 497a: b868 st.w r3, (r14, 0x20) - 497c: 0173 lrw r3, 0x2000051c // 4cac - 497e: b864 st.w r3, (r14, 0x10) - 4980: b869 st.w r3, (r14, 0x24) - 4982: 4461 lsli r3, r4, 1 - 4984: 9848 ld.w r2, (r14, 0x20) - 4986: 608c addu r2, r3 - 4988: 0135 lrw r1, 0x2000045c // 4cb0 - 498a: 604c addu r1, r3 - 498c: 8a40 ld.h r2, (r2, 0x0) - 498e: 8920 ld.h r1, (r1, 0x0) - 4990: 6086 subu r2, r1 - 4992: 9829 ld.w r1, (r14, 0x24) - 4994: 604c addu r1, r3 - 4996: 748b sexth r2, r2 - 4998: a940 st.h r2, (r1, 0x0) - 499a: 0118 lrw r0, 0x20000606 // 4cb4 - 499c: 0158 lrw r2, 0x20000544 // 4cb8 - 499e: 608c addu r2, r3 - 49a0: 600c addu r0, r3 - 49a2: 8a40 ld.h r2, (r2, 0x0) - 49a4: 8800 ld.h r0, (r0, 0x0) - 49a6: 6082 subu r2, r0 - 49a8: 01da lrw r6, 0x2000065c // 4cbc - 49aa: 5e0c addu r0, r6, r3 - 49ac: 748b sexth r2, r2 - 49ae: a840 st.h r2, (r0, 0x0) - 49b0: b8c1 st.w r6, (r14, 0x4) - 49b2: 015b lrw r2, 0x2000063a // 4cc0 - 49b4: 011b lrw r0, 0x2000071c // 4cc4 - 49b6: 608c addu r2, r3 - 49b8: 600c addu r0, r3 - 49ba: 8a40 ld.h r2, (r2, 0x0) - 49bc: 8800 ld.h r0, (r0, 0x0) - 49be: 6082 subu r2, r0 - 49c0: 011d lrw r0, 0x20000788 // 4cc8 - 49c2: 748b sexth r2, r2 - 49c4: 58ec addu r7, r0, r3 - 49c6: af40 st.h r2, (r7, 0x0) - 49c8: 8940 ld.h r2, (r1, 0x0) - 49ca: 748b sexth r2, r2 - 49cc: 3adf btsti r2, 31 - 49ce: 015f lrw r2, 0x20000766 // 4ccc - 49d0: 60c8 addu r3, r2 - 49d2: b802 st.w r0, (r14, 0x8) - 49d4: 0c49 bf 0x4a66 // 4a66 - 49d6: 3200 movi r2, 0 - 49d8: ab40 st.h r2, (r3, 0x0) - 49da: 9821 ld.w r1, (r14, 0x4) - 49dc: 4461 lsli r3, r4, 1 - 49de: 604c addu r1, r3 - 49e0: 8940 ld.h r2, (r1, 0x0) - 49e2: 748b sexth r2, r2 - 49e4: 3adf btsti r2, 31 - 49e6: 0244 lrw r2, 0x200004c4 // 4cd0 - 49e8: 60c8 addu r3, r2 - 49ea: 0c41 bf 0x4a6c // 4a6c - 49ec: 3200 movi r2, 0 - 49ee: ab40 st.h r2, (r3, 0x0) - 49f0: 9822 ld.w r1, (r14, 0x8) - 49f2: 4461 lsli r3, r4, 1 - 49f4: 604c addu r1, r3 - 49f6: 8940 ld.h r2, (r1, 0x0) - 49f8: 748b sexth r2, r2 - 49fa: 3adf btsti r2, 31 - 49fc: 0249 lrw r2, 0x20000498 // 4cd4 - 49fe: 60c8 addu r3, r2 - 4a00: 0c39 bf 0x4a72 // 4a72 - 4a02: 3200 movi r2, 0 - 4a04: ab40 st.h r2, (r3, 0x0) - 4a06: 9860 ld.w r3, (r14, 0x0) - 4a08: 3b03 cmphsi r3, 4 - 4a0a: 4421 lsli r1, r4, 1 - 4a0c: 0cb5 bf 0x4b76 // 4b76 - 4a0e: 9864 ld.w r3, (r14, 0x10) - 4a10: 60c4 addu r3, r1 - 4a12: 024d lrw r2, 0x200001ae // 4cd8 - 4a14: 6048 addu r1, r2 - 4a16: 8b00 ld.h r0, (r3, 0x0) - 4a18: 8940 ld.h r2, (r1, 0x0) - 4a1a: 7403 sexth r0, r0 - 4a1c: 6409 cmplt r2, r0 - 4a1e: 9820 ld.w r1, (r14, 0x0) - 4a20: 7c84 mult r2, r1 - 4a22: 0c9b bf 0x4b58 // 4b58 - 4a24: 8b20 ld.h r1, (r3, 0x0) - 4a26: 7447 sexth r1, r1 - 4a28: 6485 cmplt r1, r2 - 4a2a: 0c97 bf 0x4b58 // 4b58 - 4a2c: 0233 lrw r1, 0x20000509 // 4cdc - 4a2e: 6050 addu r1, r4 - 4a30: 8140 ld.b r2, (r1, 0x0) - 4a32: 2200 addi r2, 1 - 4a34: 7488 zextb r2, r2 - 4a36: a140 st.b r2, (r1, 0x0) - 4a38: 3000 movi r0, 0 - 4a3a: 0255 lrw r2, 0x200004e8 // 4ce0 - 4a3c: 6090 addu r2, r4 - 4a3e: a200 st.b r0, (r2, 0x0) - 4a40: 0256 lrw r2, 0x20000628 // 4ce4 - 4a42: 6090 addu r2, r4 - 4a44: a200 st.b r0, (r2, 0x0) - 4a46: 0256 lrw r2, 0x200006c0 // 4ce8 - 4a48: 6090 addu r2, r4 - 4a4a: a200 st.b r0, (r2, 0x0) - 4a4c: 8140 ld.b r2, (r1, 0x0) - 4a4e: 9803 ld.w r0, (r14, 0xc) - 4a50: 6480 cmphs r0, r2 - 4a52: 081d bt 0x4a8c // 4a8c - 4a54: 3d40 cmpnei r5, 0 - 4a56: 0811 bt 0x4a78 // 4a78 - 4a58: 025a lrw r2, 0x200004fc // 4cec - 4a5a: 9260 ld.w r3, (r2, 0x0) - 4a5c: 3b40 cmpnei r3, 0 - 4a5e: 0815 bt 0x4a88 // 4a88 - 4a60: 9200 ld.w r0, (r2, 0x0) - 4a62: 3301 movi r3, 1 - 4a64: 040f br 0x4a82 // 4a82 - 4a66: 8940 ld.h r2, (r1, 0x0) - 4a68: 7489 zexth r2, r2 - 4a6a: 07b7 br 0x49d8 // 49d8 - 4a6c: 8940 ld.h r2, (r1, 0x0) - 4a6e: 7489 zexth r2, r2 - 4a70: 07bf br 0x49ee // 49ee - 4a72: 8940 ld.h r2, (r1, 0x0) - 4a74: 7489 zexth r2, r2 - 4a76: 07c7 br 0x4a04 // 4a04 - 4a78: 3d41 cmpnei r5, 1 - 4a7a: 085c bt 0x4b32 // 4b32 - 4a7c: 0343 lrw r2, 0x200004fc // 4cec - 4a7e: 6cd7 mov r3, r5 - 4a80: 9200 ld.w r0, (r2, 0x0) - 4a82: 70d0 lsl r3, r4 - 4a84: 6cc0 or r3, r0 - 4a86: b260 st.w r3, (r2, 0x0) - 4a88: 3300 movi r3, 0 - 4a8a: a160 st.b r3, (r1, 0x0) - 4a8c: 4461 lsli r3, r4, 1 - 4a8e: 9844 ld.w r2, (r14, 0x10) - 4a90: 608c addu r2, r3 - 4a92: 8ac0 ld.h r6, (r2, 0x0) - 4a94: 034e lrw r2, 0x200001ae // 4cd8 - 4a96: 60c8 addu r3, r2 - 4a98: 8be0 ld.h r7, (r3, 0x0) - 4a9a: 4702 lsli r0, r7, 2 - 4a9c: 3105 movi r1, 5 - 4a9e: e3fff2d1 bsr 0x3040 // 3040 <__divsi3> - 4aa2: 759b sexth r6, r6 - 4aa4: 6419 cmplt r6, r0 - 4aa6: b805 st.w r0, (r14, 0x14) - 4aa8: 0c18 bf 0x4ad8 // 4ad8 - 4aaa: 0351 lrw r2, 0x200004e8 // 4ce0 - 4aac: 6090 addu r2, r4 - 4aae: 8260 ld.b r3, (r2, 0x0) - 4ab0: 2300 addi r3, 1 - 4ab2: 74cc zextb r3, r3 - 4ab4: a260 st.b r3, (r2, 0x0) - 4ab6: 3100 movi r1, 0 - 4ab8: 0376 lrw r3, 0x20000509 // 4cdc - 4aba: 60d0 addu r3, r4 - 4abc: a320 st.b r1, (r3, 0x0) - 4abe: 8260 ld.b r3, (r2, 0x0) - 4ac0: 9826 ld.w r1, (r14, 0x18) - 4ac2: 64c4 cmphs r1, r3 - 4ac4: 080a bt 0x4ad8 // 4ad8 - 4ac6: 3300 movi r3, 0 - 4ac8: 0336 lrw r1, 0x200004fc // 4cec - 4aca: 2b01 subi r3, 2 - 4acc: 9100 ld.w r0, (r1, 0x0) - 4ace: 70d3 rotl r3, r4 - 4ad0: 68c0 and r3, r0 - 4ad2: b160 st.w r3, (r1, 0x0) - 4ad4: 3300 movi r3, 0 - 4ad6: a260 st.b r3, (r2, 0x0) - 4ad8: 9860 ld.w r3, (r14, 0x0) - 4ada: 9841 ld.w r2, (r14, 0x4) - 4adc: 3b03 cmphsi r3, 4 - 4ade: 4461 lsli r3, r4, 1 - 4ae0: 60c8 addu r3, r2 - 4ae2: 8b40 ld.h r2, (r3, 0x0) - 4ae4: 748b sexth r2, r2 - 4ae6: 0d4d bf 0x4d80 // 4d80 - 4ae8: 649d cmplt r7, r2 - 4aea: 0d3a bf 0x4d5e // 4d5e - 4aec: 8b40 ld.h r2, (r3, 0x0) - 4aee: 9820 ld.w r1, (r14, 0x0) - 4af0: 748b sexth r2, r2 - 4af2: 7c5c mult r1, r7 - 4af4: 6449 cmplt r2, r1 - 4af6: 0d34 bf 0x4d5e // 4d5e - 4af8: 133e lrw r1, 0x200006dc // 4cf0 - 4afa: 6050 addu r1, r4 - 4afc: 8140 ld.b r2, (r1, 0x0) - 4afe: 2200 addi r2, 1 - 4b00: 7488 zextb r2, r2 - 4b02: a140 st.b r2, (r1, 0x0) - 4b04: 3000 movi r0, 0 - 4b06: 135c lrw r2, 0x20000578 // 4cf4 - 4b08: 6090 addu r2, r4 - 4b0a: a200 st.b r0, (r2, 0x0) - 4b0c: 135b lrw r2, 0x200005a2 // 4cf8 - 4b0e: 6090 addu r2, r4 - 4b10: a200 st.b r0, (r2, 0x0) - 4b12: 135b lrw r2, 0x200006a0 // 4cfc - 4b14: 6090 addu r2, r4 - 4b16: a200 st.b r0, (r2, 0x0) - 4b18: 8140 ld.b r2, (r1, 0x0) - 4b1a: 9803 ld.w r0, (r14, 0xc) - 4b1c: 6480 cmphs r0, r2 - 4b1e: 087d bt 0x4c18 // 4c18 - 4b20: 3d40 cmpnei r5, 0 - 4b22: 0871 bt 0x4c04 // 4c04 - 4b24: 1357 lrw r2, 0x20000490 // 4d00 - 4b26: 9260 ld.w r3, (r2, 0x0) - 4b28: 3b40 cmpnei r3, 0 - 4b2a: 0875 bt 0x4c14 // 4c14 - 4b2c: 9200 ld.w r0, (r2, 0x0) - 4b2e: 3301 movi r3, 1 - 4b30: 046f br 0x4c0e // 4c0e - 4b32: 3d42 cmpnei r5, 2 - 4b34: 0c03 bf 0x4b3a // 4b3a - 4b36: e8000201 br 0x4f38 // 4f38 - 4b3a: 13d3 lrw r6, 0x200006b6 // 4d04 - 4b3c: 8b00 ld.h r0, (r3, 0x0) - 4b3e: 8e40 ld.h r2, (r6, 0x0) - 4b40: 7489 zexth r2, r2 - 4b42: 7403 sexth r0, r0 - 4b44: 2209 addi r2, 10 - 4b46: 6409 cmplt r2, r0 - 4b48: 0fa0 bf 0x4a88 // 4a88 - 4b4a: 8b60 ld.h r3, (r3, 0x0) - 4b4c: 74cd zexth r3, r3 - 4b4e: ae60 st.h r3, (r6, 0x0) - 4b50: 3300 movi r3, 0 - 4b52: 1347 lrw r2, 0x200004fc // 4cec - 4b54: b260 st.w r3, (r2, 0x0) - 4b56: 0785 br 0x4a60 // 4a60 - 4b58: 4461 lsli r3, r4, 1 - 4b5a: 9824 ld.w r1, (r14, 0x10) - 4b5c: 60c4 addu r3, r1 - 4b5e: 8b60 ld.h r3, (r3, 0x0) - 4b60: 74cf sexth r3, r3 - 4b62: 64c9 cmplt r2, r3 - 4b64: 0f94 bf 0x4a8c // 4a8c - 4b66: 3300 movi r3, 0 - 4b68: 1341 lrw r2, 0x200004fc // 4cec - 4b6a: 2b01 subi r3, 2 - 4b6c: 9220 ld.w r1, (r2, 0x0) - 4b6e: 70d3 rotl r3, r4 - 4b70: 68c4 and r3, r1 - 4b72: b260 st.w r3, (r2, 0x0) - 4b74: 078c br 0x4a8c // 4a8c - 4b76: 9844 ld.w r2, (r14, 0x10) - 4b78: 6084 addu r2, r1 - 4b7a: 1218 lrw r0, 0x200001ae // 4cd8 - 4b7c: 8a60 ld.h r3, (r2, 0x0) - 4b7e: 6040 addu r1, r0 - 4b80: 74cf sexth r3, r3 - 4b82: 8920 ld.h r1, (r1, 0x0) - 4b84: 64c5 cmplt r1, r3 - 4b86: 0f83 bf 0x4a8c // 4a8c - 4b88: 1360 lrw r3, 0x2000051a // 4d08 - 4b8a: 8360 ld.b r3, (r3, 0x0) - 4b8c: 74cc zextb r3, r3 - 4b8e: 3b40 cmpnei r3, 0 - 4b90: 0b7e bt 0x4a8c // 4a8c - 4b92: 1213 lrw r0, 0x20000509 // 4cdc - 4b94: 6010 addu r0, r4 - 4b96: 8020 ld.b r1, (r0, 0x0) - 4b98: 2100 addi r1, 1 - 4b9a: 7444 zextb r1, r1 - 4b9c: a020 st.b r1, (r0, 0x0) - 4b9e: 3600 movi r6, 0 - 4ba0: 1230 lrw r1, 0x200004e8 // 4ce0 - 4ba2: 6050 addu r1, r4 - 4ba4: a1c0 st.b r6, (r1, 0x0) - 4ba6: 1230 lrw r1, 0x20000628 // 4ce4 - 4ba8: 6050 addu r1, r4 - 4baa: a1c0 st.b r6, (r1, 0x0) - 4bac: 122f lrw r1, 0x200006c0 // 4ce8 - 4bae: 6050 addu r1, r4 - 4bb0: a1c0 st.b r6, (r1, 0x0) - 4bb2: 8020 ld.b r1, (r0, 0x0) - 4bb4: 98c3 ld.w r6, (r14, 0xc) - 4bb6: 6458 cmphs r6, r1 - 4bb8: 0b6a bt 0x4a8c // 4a8c - 4bba: 3d40 cmpnei r5, 0 - 4bbc: 0808 bt 0x4bcc // 4bcc - 4bbe: 124c lrw r2, 0x200004fc // 4cec - 4bc0: 9260 ld.w r3, (r2, 0x0) - 4bc2: 3b40 cmpnei r3, 0 - 4bc4: 080c bt 0x4bdc // 4bdc - 4bc6: 9220 ld.w r1, (r2, 0x0) - 4bc8: 3301 movi r3, 1 - 4bca: 0406 br 0x4bd6 // 4bd6 - 4bcc: 3d41 cmpnei r5, 1 - 4bce: 080a bt 0x4be2 // 4be2 - 4bd0: 1247 lrw r2, 0x200004fc // 4cec - 4bd2: 6cd7 mov r3, r5 - 4bd4: 9220 ld.w r1, (r2, 0x0) - 4bd6: 70d0 lsl r3, r4 - 4bd8: 6cc4 or r3, r1 - 4bda: b260 st.w r3, (r2, 0x0) - 4bdc: 3300 movi r3, 0 - 4bde: a060 st.b r3, (r0, 0x0) - 4be0: 0756 br 0x4a8c // 4a8c - 4be2: 3d42 cmpnei r5, 2 - 4be4: 0c02 bf 0x4be8 // 4be8 - 4be6: 05dc br 0x4f9e // 4f9e - 4be8: 12e7 lrw r7, 0x200006b6 // 4d04 - 4bea: 8ac0 ld.h r6, (r2, 0x0) - 4bec: 8f20 ld.h r1, (r7, 0x0) - 4bee: 7445 zexth r1, r1 - 4bf0: 759b sexth r6, r6 - 4bf2: 2109 addi r1, 10 - 4bf4: 6585 cmplt r1, r6 - 4bf6: 0ff3 bf 0x4bdc // 4bdc - 4bf8: 8a40 ld.h r2, (r2, 0x0) - 4bfa: 7489 zexth r2, r2 - 4bfc: af40 st.h r2, (r7, 0x0) - 4bfe: 115c lrw r2, 0x200004fc // 4cec - 4c00: b260 st.w r3, (r2, 0x0) - 4c02: 07e2 br 0x4bc6 // 4bc6 - 4c04: 3d41 cmpnei r5, 1 - 4c06: 089b bt 0x4d3c // 4d3c - 4c08: 115e lrw r2, 0x20000490 // 4d00 - 4c0a: 6cd7 mov r3, r5 - 4c0c: 9200 ld.w r0, (r2, 0x0) - 4c0e: 70d0 lsl r3, r4 - 4c10: 6cc0 or r3, r0 - 4c12: b260 st.w r3, (r2, 0x0) - 4c14: 3300 movi r3, 0 - 4c16: a160 st.b r3, (r1, 0x0) - 4c18: 4461 lsli r3, r4, 1 - 4c1a: 9841 ld.w r2, (r14, 0x4) - 4c1c: 608c addu r2, r3 - 4c1e: 8a60 ld.h r3, (r2, 0x0) - 4c20: 74cf sexth r3, r3 - 4c22: 9845 ld.w r2, (r14, 0x14) - 4c24: 648d cmplt r3, r2 - 4c26: 0c18 bf 0x4c56 // 4c56 - 4c28: 1153 lrw r2, 0x20000578 // 4cf4 - 4c2a: 6090 addu r2, r4 - 4c2c: 8260 ld.b r3, (r2, 0x0) - 4c2e: 2300 addi r3, 1 - 4c30: 74cc zextb r3, r3 - 4c32: a260 st.b r3, (r2, 0x0) - 4c34: 3100 movi r1, 0 - 4c36: 116f lrw r3, 0x200006dc // 4cf0 - 4c38: 60d0 addu r3, r4 - 4c3a: a320 st.b r1, (r3, 0x0) - 4c3c: 8260 ld.b r3, (r2, 0x0) - 4c3e: 9826 ld.w r1, (r14, 0x18) - 4c40: 64c4 cmphs r1, r3 - 4c42: 080a bt 0x4c56 // 4c56 - 4c44: 3300 movi r3, 0 - 4c46: 112f lrw r1, 0x20000490 // 4d00 - 4c48: 2b01 subi r3, 2 - 4c4a: 9100 ld.w r0, (r1, 0x0) - 4c4c: 70d3 rotl r3, r4 - 4c4e: 68c0 and r3, r0 - 4c50: b160 st.w r3, (r1, 0x0) - 4c52: 3300 movi r3, 0 - 4c54: a260 st.b r3, (r2, 0x0) - 4c56: 9860 ld.w r3, (r14, 0x0) - 4c58: 9842 ld.w r2, (r14, 0x8) - 4c5a: 3b03 cmphsi r3, 4 - 4c5c: 4461 lsli r3, r4, 1 - 4c5e: 60c8 addu r3, r2 - 4c60: 8b40 ld.h r2, (r3, 0x0) - 4c62: 748b sexth r2, r2 - 4c64: 0d26 bf 0x4eb0 // 4eb0 - 4c66: 9820 ld.w r1, (r14, 0x0) - 4c68: 649d cmplt r7, r2 - 4c6a: 7c5c mult r1, r7 - 4c6c: 0d13 bf 0x4e92 // 4e92 - 4c6e: 8b40 ld.h r2, (r3, 0x0) - 4c70: 748b sexth r2, r2 - 4c72: 6449 cmplt r2, r1 - 4c74: 0d0f bf 0x4e92 // 4e92 - 4c76: 1126 lrw r1, 0x20000684 // 4d0c - 4c78: 6050 addu r1, r4 - 4c7a: 8140 ld.b r2, (r1, 0x0) - 4c7c: 2200 addi r2, 1 - 4c7e: 7488 zextb r2, r2 - 4c80: a140 st.b r2, (r1, 0x0) - 4c82: 3000 movi r0, 0 - 4c84: 1143 lrw r2, 0x200006f2 // 4d10 - 4c86: 6090 addu r2, r4 - 4c88: a200 st.b r0, (r2, 0x0) - 4c8a: 1143 lrw r2, 0x2000047e // 4d14 - 4c8c: 6090 addu r2, r4 - 4c8e: a200 st.b r0, (r2, 0x0) - 4c90: 1142 lrw r2, 0x20000590 // 4d18 - 4c92: 6090 addu r2, r4 - 4c94: a200 st.b r0, (r2, 0x0) - 4c96: 0443 br 0x4d1c // 4d1c - 4c98: 20000180 .long 0x20000180 - 4c9c: 20000154 .long 0x20000154 - 4ca0: 2000015d .long 0x2000015d - 4ca4: 2000015c .long 0x2000015c - 4ca8: 200007ae .long 0x200007ae - 4cac: 2000051c .long 0x2000051c - 4cb0: 2000045c .long 0x2000045c - 4cb4: 20000606 .long 0x20000606 - 4cb8: 20000544 .long 0x20000544 - 4cbc: 2000065c .long 0x2000065c - 4cc0: 2000063a .long 0x2000063a - 4cc4: 2000071c .long 0x2000071c - 4cc8: 20000788 .long 0x20000788 - 4ccc: 20000766 .long 0x20000766 - 4cd0: 200004c4 .long 0x200004c4 - 4cd4: 20000498 .long 0x20000498 - 4cd8: 200001ae .long 0x200001ae - 4cdc: 20000509 .long 0x20000509 - 4ce0: 200004e8 .long 0x200004e8 - 4ce4: 20000628 .long 0x20000628 - 4ce8: 200006c0 .long 0x200006c0 - 4cec: 200004fc .long 0x200004fc - 4cf0: 200006dc .long 0x200006dc - 4cf4: 20000578 .long 0x20000578 - 4cf8: 200005a2 .long 0x200005a2 - 4cfc: 200006a0 .long 0x200006a0 - 4d00: 20000490 .long 0x20000490 - 4d04: 200006b6 .long 0x200006b6 - 4d08: 2000051a .long 0x2000051a - 4d0c: 20000684 .long 0x20000684 - 4d10: 200006f2 .long 0x200006f2 - 4d14: 2000047e .long 0x2000047e - 4d18: 20000590 .long 0x20000590 - 4d1c: 8140 ld.b r2, (r1, 0x0) - 4d1e: 9803 ld.w r0, (r14, 0xc) - 4d20: 6480 cmphs r0, r2 - 4d22: 0881 bt 0x4e24 // 4e24 - 4d24: 3d40 cmpnei r5, 0 - 4d26: 0874 bt 0x4e0e // 4e0e - 4d28: 014b lrw r2, 0x20000574 // 5078 - 4d2a: 9260 ld.w r3, (r2, 0x0) - 4d2c: 3b40 cmpnei r3, 0 - 4d2e: 0879 bt 0x4e20 // 4e20 - 4d30: 3301 movi r3, 1 - 4d32: 9200 ld.w r0, (r2, 0x0) - 4d34: 70d0 lsl r3, r4 - 4d36: 6cc0 or r3, r0 - 4d38: b260 st.w r3, (r2, 0x0) - 4d3a: 0473 br 0x4e20 // 4e20 - 4d3c: 3d42 cmpnei r5, 2 - 4d3e: 0960 bt 0x4ffe // 4ffe - 4d40: 01d0 lrw r6, 0x200007ac // 507c - 4d42: 8b00 ld.h r0, (r3, 0x0) - 4d44: 8e40 ld.h r2, (r6, 0x0) - 4d46: 7489 zexth r2, r2 - 4d48: 7403 sexth r0, r0 - 4d4a: 2209 addi r2, 10 - 4d4c: 6409 cmplt r2, r0 - 4d4e: 0f63 bf 0x4c14 // 4c14 - 4d50: 8b60 ld.h r3, (r3, 0x0) - 4d52: 74cd zexth r3, r3 - 4d54: ae60 st.h r3, (r6, 0x0) - 4d56: 3300 movi r3, 0 - 4d58: 0155 lrw r2, 0x20000490 // 5080 - 4d5a: b260 st.w r3, (r2, 0x0) - 4d5c: 06e8 br 0x4b2c // 4b2c - 4d5e: 9841 ld.w r2, (r14, 0x4) - 4d60: 4461 lsli r3, r4, 1 - 4d62: 60c8 addu r3, r2 - 4d64: 8b60 ld.h r3, (r3, 0x0) - 4d66: 9840 ld.w r2, (r14, 0x0) - 4d68: 74cf sexth r3, r3 - 4d6a: 7c9c mult r2, r7 - 4d6c: 64c9 cmplt r2, r3 - 4d6e: 0f55 bf 0x4c18 // 4c18 - 4d70: 3300 movi r3, 0 - 4d72: 015b lrw r2, 0x20000490 // 5080 - 4d74: 2b01 subi r3, 2 - 4d76: 9220 ld.w r1, (r2, 0x0) - 4d78: 70d3 rotl r3, r4 - 4d7a: 68c4 and r3, r1 - 4d7c: b260 st.w r3, (r2, 0x0) - 4d7e: 074d br 0x4c18 // 4c18 - 4d80: 649d cmplt r7, r2 - 4d82: 0f4b bf 0x4c18 // 4c18 - 4d84: 015f lrw r2, 0x2000051a // 5084 - 4d86: 8240 ld.b r2, (r2, 0x0) - 4d88: 7488 zextb r2, r2 - 4d8a: 3a40 cmpnei r2, 0 - 4d8c: b847 st.w r2, (r14, 0x1c) - 4d8e: 0b45 bt 0x4c18 // 4c18 - 4d90: 0201 lrw r0, 0x200006dc // 5088 - 4d92: 6010 addu r0, r4 - 4d94: 8020 ld.b r1, (r0, 0x0) - 4d96: 2100 addi r1, 1 - 4d98: 7444 zextb r1, r1 - 4d9a: a020 st.b r1, (r0, 0x0) - 4d9c: 3600 movi r6, 0 - 4d9e: 0223 lrw r1, 0x20000578 // 508c - 4da0: 6050 addu r1, r4 - 4da2: a1c0 st.b r6, (r1, 0x0) - 4da4: 0224 lrw r1, 0x200005a2 // 5090 - 4da6: 6050 addu r1, r4 - 4da8: a1c0 st.b r6, (r1, 0x0) - 4daa: 0224 lrw r1, 0x200006a0 // 5094 - 4dac: 6050 addu r1, r4 - 4dae: a1c0 st.b r6, (r1, 0x0) - 4db0: 8020 ld.b r1, (r0, 0x0) - 4db2: 98c3 ld.w r6, (r14, 0xc) - 4db4: 6458 cmphs r6, r1 - 4db6: 0b31 bt 0x4c18 // 4c18 - 4db8: 3d40 cmpnei r5, 0 - 4dba: 0808 bt 0x4dca // 4dca - 4dbc: 024e lrw r2, 0x20000490 // 5080 - 4dbe: 9260 ld.w r3, (r2, 0x0) - 4dc0: 3b40 cmpnei r3, 0 - 4dc2: 0823 bt 0x4e08 // 4e08 - 4dc4: 9220 ld.w r1, (r2, 0x0) - 4dc6: 3301 movi r3, 1 - 4dc8: 0406 br 0x4dd4 // 4dd4 - 4dca: 3d41 cmpnei r5, 1 - 4dcc: 0808 bt 0x4ddc // 4ddc - 4dce: 0252 lrw r2, 0x20000490 // 5080 - 4dd0: 6cd7 mov r3, r5 - 4dd2: 9220 ld.w r1, (r2, 0x0) - 4dd4: 70d0 lsl r3, r4 - 4dd6: 6cc4 or r3, r1 - 4dd8: b260 st.w r3, (r2, 0x0) - 4dda: 0417 br 0x4e08 // 4e08 - 4ddc: 3d42 cmpnei r5, 2 - 4dde: 0942 bt 0x5062 // 5062 - 4de0: 8bc0 ld.h r6, (r3, 0x0) - 4de2: 745b sexth r1, r6 - 4de4: 02d9 lrw r6, 0x200007ac // 507c - 4de6: 6c87 mov r2, r1 - 4de8: 8e20 ld.h r1, (r6, 0x0) - 4dea: 7445 zexth r1, r1 - 4dec: 2109 addi r1, 10 - 4dee: 6485 cmplt r1, r2 - 4df0: 0c0c bf 0x4e08 // 4e08 - 4df2: 8b60 ld.h r3, (r3, 0x0) - 4df4: 74cd zexth r3, r3 - 4df6: ae60 st.h r3, (r6, 0x0) - 4df8: 9867 ld.w r3, (r14, 0x1c) - 4dfa: 023d lrw r1, 0x20000490 // 5080 - 4dfc: b160 st.w r3, (r1, 0x0) - 4dfe: 3301 movi r3, 1 - 4e00: 9140 ld.w r2, (r1, 0x0) - 4e02: 70d0 lsl r3, r4 - 4e04: 6cc8 or r3, r2 - 4e06: b160 st.w r3, (r1, 0x0) - 4e08: 3300 movi r3, 0 - 4e0a: a060 st.b r3, (r0, 0x0) - 4e0c: 0706 br 0x4c18 // 4c18 - 4e0e: 3d41 cmpnei r5, 1 - 4e10: 0830 bt 0x4e70 // 4e70 - 4e12: 0345 lrw r2, 0x20000574 // 5078 - 4e14: 6cd7 mov r3, r5 - 4e16: 9200 ld.w r0, (r2, 0x0) - 4e18: 70d0 lsl r3, r4 - 4e1a: 6cc0 or r3, r0 - 4e1c: b260 st.w r3, (r2, 0x0) - 4e1e: 6c03 mov r0, r0 - 4e20: 3300 movi r3, 0 - 4e22: a160 st.b r3, (r1, 0x0) - 4e24: 4461 lsli r3, r4, 1 - 4e26: 9842 ld.w r2, (r14, 0x8) - 4e28: 608c addu r2, r3 - 4e2a: 8a60 ld.h r3, (r2, 0x0) - 4e2c: 74cf sexth r3, r3 - 4e2e: 9845 ld.w r2, (r14, 0x14) - 4e30: 648d cmplt r3, r2 - 4e32: 0c18 bf 0x4e62 // 4e62 - 4e34: 0346 lrw r2, 0x200006f2 // 5098 - 4e36: 6090 addu r2, r4 - 4e38: 8260 ld.b r3, (r2, 0x0) - 4e3a: 2300 addi r3, 1 - 4e3c: 74cc zextb r3, r3 - 4e3e: a260 st.b r3, (r2, 0x0) - 4e40: 3100 movi r1, 0 - 4e42: 0368 lrw r3, 0x20000684 // 509c - 4e44: 60d0 addu r3, r4 - 4e46: a320 st.b r1, (r3, 0x0) - 4e48: 8260 ld.b r3, (r2, 0x0) - 4e4a: 9826 ld.w r1, (r14, 0x18) - 4e4c: 64c4 cmphs r1, r3 - 4e4e: 080a bt 0x4e62 // 4e62 - 4e50: 3300 movi r3, 0 - 4e52: 0335 lrw r1, 0x20000574 // 5078 - 4e54: 2b01 subi r3, 2 - 4e56: 9100 ld.w r0, (r1, 0x0) - 4e58: 70d3 rotl r3, r4 - 4e5a: 68c0 and r3, r0 - 4e5c: b160 st.w r3, (r1, 0x0) - 4e5e: 3300 movi r3, 0 - 4e60: a260 st.b r3, (r2, 0x0) - 4e62: 2400 addi r4, 1 - 4e64: 3c51 cmpnei r4, 17 - 4e66: 0c03 bf 0x4e6c // 4e6c - 4e68: e800fd8d br 0x4982 // 4982 - 4e6c: 140a addi r14, r14, 40 - 4e6e: 1494 pop r4-r7, r15 - 4e70: 3d42 cmpnei r5, 2 - 4e72: 0948 bt 0x5102 // 5102 - 4e74: 03d4 lrw r6, 0x2000053e // 50a0 - 4e76: 8b00 ld.h r0, (r3, 0x0) - 4e78: 8e40 ld.h r2, (r6, 0x0) - 4e7a: 7489 zexth r2, r2 - 4e7c: 7403 sexth r0, r0 - 4e7e: 2209 addi r2, 10 - 4e80: 6409 cmplt r2, r0 - 4e82: 0fcf bf 0x4e20 // 4e20 - 4e84: 8b60 ld.h r3, (r3, 0x0) - 4e86: 74cd zexth r3, r3 - 4e88: ae60 st.h r3, (r6, 0x0) - 4e8a: 3300 movi r3, 0 - 4e8c: 135b lrw r2, 0x20000574 // 5078 - 4e8e: b260 st.w r3, (r2, 0x0) - 4e90: 0750 br 0x4d30 // 4d30 - 4e92: 4461 lsli r3, r4, 1 - 4e94: 9842 ld.w r2, (r14, 0x8) - 4e96: 60c8 addu r3, r2 - 4e98: 8b60 ld.h r3, (r3, 0x0) - 4e9a: 74cf sexth r3, r3 - 4e9c: 64c5 cmplt r1, r3 - 4e9e: 0fc3 bf 0x4e24 // 4e24 - 4ea0: 3300 movi r3, 0 - 4ea2: 1356 lrw r2, 0x20000574 // 5078 - 4ea4: 2b01 subi r3, 2 - 4ea6: 9220 ld.w r1, (r2, 0x0) - 4ea8: 70d3 rotl r3, r4 - 4eaa: 68c4 and r3, r1 - 4eac: b260 st.w r3, (r2, 0x0) - 4eae: 07bb br 0x4e24 // 4e24 - 4eb0: 649d cmplt r7, r2 - 4eb2: 0fb9 bf 0x4e24 // 4e24 - 4eb4: 1354 lrw r2, 0x2000051a // 5084 - 4eb6: 8240 ld.b r2, (r2, 0x0) - 4eb8: 7488 zextb r2, r2 - 4eba: 3a40 cmpnei r2, 0 - 4ebc: 0bb4 bt 0x4e24 // 4e24 - 4ebe: 1318 lrw r0, 0x20000684 // 509c - 4ec0: 6010 addu r0, r4 - 4ec2: 8020 ld.b r1, (r0, 0x0) - 4ec4: 2100 addi r1, 1 - 4ec6: 7444 zextb r1, r1 - 4ec8: a020 st.b r1, (r0, 0x0) - 4eca: 3600 movi r6, 0 - 4ecc: 1333 lrw r1, 0x200006f2 // 5098 - 4ece: 6050 addu r1, r4 - 4ed0: a1c0 st.b r6, (r1, 0x0) - 4ed2: 1335 lrw r1, 0x2000047e // 50a4 - 4ed4: 6050 addu r1, r4 - 4ed6: a1c0 st.b r6, (r1, 0x0) - 4ed8: 1334 lrw r1, 0x20000590 // 50a8 - 4eda: 6050 addu r1, r4 - 4edc: a1c0 st.b r6, (r1, 0x0) - 4ede: 8020 ld.b r1, (r0, 0x0) - 4ee0: 98c3 ld.w r6, (r14, 0xc) - 4ee2: 6458 cmphs r6, r1 - 4ee4: 0ba0 bt 0x4e24 // 4e24 - 4ee6: 3d40 cmpnei r5, 0 - 4ee8: 0808 bt 0x4ef8 // 4ef8 - 4eea: 1344 lrw r2, 0x20000574 // 5078 - 4eec: 9260 ld.w r3, (r2, 0x0) - 4eee: 3b40 cmpnei r3, 0 - 4ef0: 0821 bt 0x4f32 // 4f32 - 4ef2: 9220 ld.w r1, (r2, 0x0) - 4ef4: 3301 movi r3, 1 - 4ef6: 0406 br 0x4f02 // 4f02 - 4ef8: 3d41 cmpnei r5, 1 - 4efa: 0808 bt 0x4f0a // 4f0a - 4efc: 125f lrw r2, 0x20000574 // 5078 - 4efe: 6cd7 mov r3, r5 - 4f00: 9220 ld.w r1, (r2, 0x0) - 4f02: 70d0 lsl r3, r4 - 4f04: 6cc4 or r3, r1 - 4f06: b260 st.w r3, (r2, 0x0) - 4f08: 0415 br 0x4f32 // 4f32 - 4f0a: 3d42 cmpnei r5, 2 - 4f0c: 092a bt 0x5160 // 5160 - 4f0e: 13e5 lrw r7, 0x2000053e // 50a0 - 4f10: 8bc0 ld.h r6, (r3, 0x0) - 4f12: 8f20 ld.h r1, (r7, 0x0) - 4f14: 7445 zexth r1, r1 - 4f16: 759b sexth r6, r6 - 4f18: 2109 addi r1, 10 - 4f1a: 6585 cmplt r1, r6 - 4f1c: 0c0b bf 0x4f32 // 4f32 - 4f1e: 8b60 ld.h r3, (r3, 0x0) - 4f20: 1236 lrw r1, 0x20000574 // 5078 - 4f22: 74cd zexth r3, r3 - 4f24: af60 st.h r3, (r7, 0x0) - 4f26: b140 st.w r2, (r1, 0x0) - 4f28: 3301 movi r3, 1 - 4f2a: 9140 ld.w r2, (r1, 0x0) - 4f2c: 70d0 lsl r3, r4 - 4f2e: 6cc8 or r3, r2 - 4f30: b160 st.w r3, (r1, 0x0) - 4f32: 3300 movi r3, 0 - 4f34: a060 st.b r3, (r0, 0x0) - 4f36: 0777 br 0x4e24 // 4e24 - 4f38: 3d43 cmpnei r5, 3 - 4f3a: 0c03 bf 0x4f40 // 4f40 - 4f3c: e800fda6 br 0x4a88 // 4a88 - 4f40: 125b lrw r2, 0x200006b6 // 50ac - 4f42: 8bc0 ld.h r6, (r3, 0x0) - 4f44: 8a00 ld.h r0, (r2, 0x0) - 4f46: 7401 zexth r0, r0 - 4f48: 759b sexth r6, r6 - 4f4a: 2009 addi r0, 10 - 4f4c: 6581 cmplt r0, r6 - 4f4e: 0c0c bf 0x4f66 // 4f66 - 4f50: 8b60 ld.h r3, (r3, 0x0) - 4f52: 74cd zexth r3, r3 - 4f54: aa60 st.h r3, (r2, 0x0) - 4f56: 3300 movi r3, 0 - 4f58: 1216 lrw r0, 0x200004fc // 50b0 - 4f5a: b060 st.w r3, (r0, 0x0) - 4f5c: 3301 movi r3, 1 - 4f5e: 90c0 ld.w r6, (r0, 0x0) - 4f60: 70d0 lsl r3, r4 - 4f62: 6cd8 or r3, r6 - 4f64: b060 st.w r3, (r0, 0x0) - 4f66: 9804 ld.w r0, (r14, 0x10) - 4f68: 4461 lsli r3, r4, 1 - 4f6a: 60c0 addu r3, r0 - 4f6c: 8b00 ld.h r0, (r3, 0x0) - 4f6e: 8a40 ld.h r2, (r2, 0x0) - 4f70: 7489 zexth r2, r2 - 4f72: 7403 sexth r0, r0 - 4f74: 2a04 subi r2, 5 - 4f76: 6481 cmplt r0, r2 - 4f78: 0803 bt 0x4f7e // 4f7e - 4f7a: e800fd87 br 0x4a88 // 4a88 - 4f7e: 12ce lrw r6, 0x200004c0 // 50b4 - 4f80: 8b00 ld.h r0, (r3, 0x0) - 4f82: 8e40 ld.h r2, (r6, 0x0) - 4f84: 7489 zexth r2, r2 - 4f86: 7403 sexth r0, r0 - 4f88: 2204 addi r2, 5 - 4f8a: 6409 cmplt r2, r0 - 4f8c: 0803 bt 0x4f92 // 4f92 - 4f8e: e800fd7d br 0x4a88 // 4a88 - 4f92: 8b60 ld.h r3, (r3, 0x0) - 4f94: 74cd zexth r3, r3 - 4f96: ae60 st.h r3, (r6, 0x0) - 4f98: 1246 lrw r2, 0x200004fc // 50b0 - 4f9a: e800fd63 br 0x4a60 // 4a60 - 4f9e: 3d43 cmpnei r5, 3 - 4fa0: 0c02 bf 0x4fa4 // 4fa4 - 4fa2: 061d br 0x4bdc // 4bdc - 4fa4: 12c2 lrw r6, 0x200006b6 // 50ac - 4fa6: 8ae0 ld.h r7, (r2, 0x0) - 4fa8: 8e20 ld.h r1, (r6, 0x0) - 4faa: 7445 zexth r1, r1 - 4fac: 75df sexth r7, r7 - 4fae: 2109 addi r1, 10 - 4fb0: 65c5 cmplt r1, r7 - 4fb2: 0c0b bf 0x4fc8 // 4fc8 - 4fb4: 8a40 ld.h r2, (r2, 0x0) - 4fb6: 7489 zexth r2, r2 - 4fb8: ae40 st.h r2, (r6, 0x0) - 4fba: 115e lrw r2, 0x200004fc // 50b0 - 4fbc: b260 st.w r3, (r2, 0x0) - 4fbe: 3301 movi r3, 1 - 4fc0: 9220 ld.w r1, (r2, 0x0) - 4fc2: 70d0 lsl r3, r4 - 4fc4: 6cc4 or r3, r1 - 4fc6: b260 st.w r3, (r2, 0x0) - 4fc8: 9844 ld.w r2, (r14, 0x10) - 4fca: 4461 lsli r3, r4, 1 - 4fcc: 60c8 addu r3, r2 - 4fce: 8b40 ld.h r2, (r3, 0x0) - 4fd0: 8e20 ld.h r1, (r6, 0x0) - 4fd2: 7445 zexth r1, r1 - 4fd4: 748b sexth r2, r2 - 4fd6: 2904 subi r1, 5 - 4fd8: 6449 cmplt r2, r1 - 4fda: 0802 bt 0x4fde // 4fde - 4fdc: 0600 br 0x4bdc // 4bdc - 4fde: 11d6 lrw r6, 0x200004c0 // 50b4 - 4fe0: 8b20 ld.h r1, (r3, 0x0) - 4fe2: 8e40 ld.h r2, (r6, 0x0) - 4fe4: 7489 zexth r2, r2 - 4fe6: 7447 sexth r1, r1 - 4fe8: 2204 addi r2, 5 - 4fea: 6449 cmplt r2, r1 - 4fec: 0803 bt 0x4ff2 // 4ff2 - 4fee: e800fdf7 br 0x4bdc // 4bdc - 4ff2: 8b60 ld.h r3, (r3, 0x0) - 4ff4: 74cd zexth r3, r3 - 4ff6: ae60 st.h r3, (r6, 0x0) - 4ff8: 114e lrw r2, 0x200004fc // 50b0 - 4ffa: e800fde6 br 0x4bc6 // 4bc6 - 4ffe: 3d43 cmpnei r5, 3 - 5000: 0c02 bf 0x5004 // 5004 - 5002: 0609 br 0x4c14 // 4c14 - 5004: 105e lrw r2, 0x200007ac // 507c - 5006: 8bc0 ld.h r6, (r3, 0x0) - 5008: 8a00 ld.h r0, (r2, 0x0) - 500a: 7401 zexth r0, r0 - 500c: 759b sexth r6, r6 - 500e: 2009 addi r0, 10 - 5010: 6581 cmplt r0, r6 - 5012: 0c0c bf 0x502a // 502a - 5014: 8b60 ld.h r3, (r3, 0x0) - 5016: 74cd zexth r3, r3 - 5018: aa60 st.h r3, (r2, 0x0) - 501a: 3300 movi r3, 0 - 501c: 1019 lrw r0, 0x20000490 // 5080 - 501e: b060 st.w r3, (r0, 0x0) - 5020: 3301 movi r3, 1 - 5022: 90c0 ld.w r6, (r0, 0x0) - 5024: 70d0 lsl r3, r4 - 5026: 6cd8 or r3, r6 - 5028: b060 st.w r3, (r0, 0x0) - 502a: 9801 ld.w r0, (r14, 0x4) - 502c: 4461 lsli r3, r4, 1 - 502e: 60c0 addu r3, r0 - 5030: 8b00 ld.h r0, (r3, 0x0) - 5032: 8a40 ld.h r2, (r2, 0x0) - 5034: 7489 zexth r2, r2 - 5036: 7403 sexth r0, r0 - 5038: 2a04 subi r2, 5 - 503a: 6481 cmplt r0, r2 - 503c: 0803 bt 0x5042 // 5042 - 503e: e800fdeb br 0x4c14 // 4c14 - 5042: 10de lrw r6, 0x200006be // 50b8 - 5044: 8b00 ld.h r0, (r3, 0x0) - 5046: 8e40 ld.h r2, (r6, 0x0) - 5048: 7489 zexth r2, r2 - 504a: 7403 sexth r0, r0 - 504c: 2204 addi r2, 5 - 504e: 6409 cmplt r2, r0 - 5050: 0803 bt 0x5056 // 5056 - 5052: e800fde1 br 0x4c14 // 4c14 - 5056: 8b60 ld.h r3, (r3, 0x0) - 5058: 74cd zexth r3, r3 - 505a: ae60 st.h r3, (r6, 0x0) - 505c: 1049 lrw r2, 0x20000490 // 5080 - 505e: e800fd67 br 0x4b2c // 4b2c - 5062: 3d43 cmpnei r5, 3 - 5064: 0ad2 bt 0x4e08 // 4e08 - 5066: 8b20 ld.h r1, (r3, 0x0) - 5068: 10c5 lrw r6, 0x200007ac // 507c - 506a: 7487 sexth r2, r1 - 506c: 8e20 ld.h r1, (r6, 0x0) - 506e: 7445 zexth r1, r1 - 5070: 2109 addi r1, 10 - 5072: 6485 cmplt r1, r2 - 5074: 0c2f bf 0x50d2 // 50d2 - 5076: 0423 br 0x50bc // 50bc - 5078: 20000574 .long 0x20000574 - 507c: 200007ac .long 0x200007ac - 5080: 20000490 .long 0x20000490 - 5084: 2000051a .long 0x2000051a - 5088: 200006dc .long 0x200006dc - 508c: 20000578 .long 0x20000578 - 5090: 200005a2 .long 0x200005a2 - 5094: 200006a0 .long 0x200006a0 - 5098: 200006f2 .long 0x200006f2 - 509c: 20000684 .long 0x20000684 - 50a0: 2000053e .long 0x2000053e - 50a4: 2000047e .long 0x2000047e - 50a8: 20000590 .long 0x20000590 - 50ac: 200006b6 .long 0x200006b6 - 50b0: 200004fc .long 0x200004fc - 50b4: 200004c0 .long 0x200004c0 - 50b8: 200006be .long 0x200006be - 50bc: 8b60 ld.h r3, (r3, 0x0) - 50be: 74cd zexth r3, r3 - 50c0: ae60 st.h r3, (r6, 0x0) - 50c2: 9867 ld.w r3, (r14, 0x1c) - 50c4: 113d lrw r1, 0x20000490 // 51b8 - 50c6: b160 st.w r3, (r1, 0x0) - 50c8: 3301 movi r3, 1 - 50ca: 9140 ld.w r2, (r1, 0x0) - 50cc: 70d0 lsl r3, r4 - 50ce: 6cc8 or r3, r2 - 50d0: b160 st.w r3, (r1, 0x0) - 50d2: 9841 ld.w r2, (r14, 0x4) - 50d4: 4461 lsli r3, r4, 1 - 50d6: 60c8 addu r3, r2 - 50d8: 8b40 ld.h r2, (r3, 0x0) - 50da: 8e20 ld.h r1, (r6, 0x0) - 50dc: 7445 zexth r1, r1 - 50de: 748b sexth r2, r2 - 50e0: 2904 subi r1, 5 - 50e2: 6449 cmplt r2, r1 - 50e4: 0e92 bf 0x4e08 // 4e08 - 50e6: 11d6 lrw r6, 0x200006be // 51bc - 50e8: 8b20 ld.h r1, (r3, 0x0) - 50ea: 8e40 ld.h r2, (r6, 0x0) - 50ec: 7489 zexth r2, r2 - 50ee: 7447 sexth r1, r1 - 50f0: 2204 addi r2, 5 - 50f2: 6449 cmplt r2, r1 - 50f4: 0802 bt 0x50f8 // 50f8 - 50f6: 0689 br 0x4e08 // 4e08 - 50f8: 8b60 ld.h r3, (r3, 0x0) - 50fa: 74cd zexth r3, r3 - 50fc: ae60 st.h r3, (r6, 0x0) - 50fe: 114f lrw r2, 0x20000490 // 51b8 - 5100: 0662 br 0x4dc4 // 4dc4 - 5102: 3d43 cmpnei r5, 3 - 5104: 0a8e bt 0x4e20 // 4e20 - 5106: 114f lrw r2, 0x2000053e // 51c0 - 5108: 8bc0 ld.h r6, (r3, 0x0) - 510a: 8a00 ld.h r0, (r2, 0x0) - 510c: 7401 zexth r0, r0 - 510e: 759b sexth r6, r6 - 5110: 2009 addi r0, 10 - 5112: 6581 cmplt r0, r6 - 5114: 0c0c bf 0x512c // 512c - 5116: 8b60 ld.h r3, (r3, 0x0) - 5118: 74cd zexth r3, r3 - 511a: aa60 st.h r3, (r2, 0x0) - 511c: 3300 movi r3, 0 - 511e: 110a lrw r0, 0x20000574 // 51c4 - 5120: b060 st.w r3, (r0, 0x0) - 5122: 3301 movi r3, 1 - 5124: 90c0 ld.w r6, (r0, 0x0) - 5126: 70d0 lsl r3, r4 - 5128: 6cd8 or r3, r6 - 512a: b060 st.w r3, (r0, 0x0) - 512c: 9802 ld.w r0, (r14, 0x8) - 512e: 4461 lsli r3, r4, 1 - 5130: 60c0 addu r3, r0 - 5132: 8b00 ld.h r0, (r3, 0x0) - 5134: 8a40 ld.h r2, (r2, 0x0) - 5136: 7489 zexth r2, r2 - 5138: 7403 sexth r0, r0 - 513a: 2a04 subi r2, 5 - 513c: 6481 cmplt r0, r2 - 513e: 0802 bt 0x5142 // 5142 - 5140: 0670 br 0x4e20 // 4e20 - 5142: 11c2 lrw r6, 0x20000604 // 51c8 - 5144: 8b00 ld.h r0, (r3, 0x0) - 5146: 8e40 ld.h r2, (r6, 0x0) - 5148: 7489 zexth r2, r2 - 514a: 7403 sexth r0, r0 - 514c: 2204 addi r2, 5 - 514e: 6409 cmplt r2, r0 - 5150: 0802 bt 0x5154 // 5154 - 5152: 0667 br 0x4e20 // 4e20 - 5154: 8b60 ld.h r3, (r3, 0x0) - 5156: 74cd zexth r3, r3 - 5158: ae60 st.h r3, (r6, 0x0) - 515a: 105b lrw r2, 0x20000574 // 51c4 - 515c: e800fdea br 0x4d30 // 4d30 - 5160: 3d43 cmpnei r5, 3 - 5162: 0ae8 bt 0x4f32 // 4f32 - 5164: 10d7 lrw r6, 0x2000053e // 51c0 - 5166: 8be0 ld.h r7, (r3, 0x0) - 5168: 8e20 ld.h r1, (r6, 0x0) - 516a: 7445 zexth r1, r1 - 516c: 75df sexth r7, r7 - 516e: 2109 addi r1, 10 - 5170: 65c5 cmplt r1, r7 - 5172: 0c0b bf 0x5188 // 5188 - 5174: 8b60 ld.h r3, (r3, 0x0) - 5176: 1034 lrw r1, 0x20000574 // 51c4 - 5178: 74cd zexth r3, r3 - 517a: ae60 st.h r3, (r6, 0x0) - 517c: b140 st.w r2, (r1, 0x0) - 517e: 3301 movi r3, 1 - 5180: 9140 ld.w r2, (r1, 0x0) - 5182: 70d0 lsl r3, r4 - 5184: 6cc8 or r3, r2 - 5186: b160 st.w r3, (r1, 0x0) - 5188: 9842 ld.w r2, (r14, 0x8) - 518a: 4461 lsli r3, r4, 1 - 518c: 60c8 addu r3, r2 - 518e: 8b40 ld.h r2, (r3, 0x0) - 5190: 8e20 ld.h r1, (r6, 0x0) - 5192: 7445 zexth r1, r1 - 5194: 748b sexth r2, r2 - 5196: 2904 subi r1, 5 - 5198: 6449 cmplt r2, r1 - 519a: 0ecc bf 0x4f32 // 4f32 - 519c: 10cb lrw r6, 0x20000604 // 51c8 - 519e: 8b20 ld.h r1, (r3, 0x0) - 51a0: 8e40 ld.h r2, (r6, 0x0) - 51a2: 7489 zexth r2, r2 - 51a4: 7447 sexth r1, r1 - 51a6: 2204 addi r2, 5 - 51a8: 6449 cmplt r2, r1 - 51aa: 0ec4 bf 0x4f32 // 4f32 - 51ac: 8b60 ld.h r3, (r3, 0x0) - 51ae: 74cd zexth r3, r3 - 51b0: ae60 st.h r3, (r6, 0x0) - 51b2: 1045 lrw r2, 0x20000574 // 51c4 - 51b4: 069f br 0x4ef2 // 4ef2 - 51b6: 0000 bkpt - 51b8: 20000490 .long 0x20000490 - 51bc: 200006be .long 0x200006be - 51c0: 2000053e .long 0x2000053e - 51c4: 20000574 .long 0x20000574 - 51c8: 20000604 .long 0x20000604 - -Disassembly of section .text.TK_overflow_predict: - -000051cc : - 51cc: 14d4 push r4-r7, r15 - 51ce: 1422 subi r14, r14, 8 - 51d0: 113c lrw r1, 0x20000068 // 52c0 - 51d2: 8167 ld.b r3, (r1, 0x7) - 51d4: 3b41 cmpnei r3, 1 - 51d6: 0823 bt 0x521c // 521c - 51d8: 115b lrw r2, 0x2000067e // 52c4 - 51da: 8260 ld.b r3, (r2, 0x0) - 51dc: 2300 addi r3, 1 - 51de: 74cc zextb r3, r3 - 51e0: a260 st.b r3, (r2, 0x0) - 51e2: 8260 ld.b r3, (r2, 0x0) - 51e4: 1119 lrw r0, 0x20000181 // 52c8 - 51e6: 8000 ld.b r0, (r0, 0x0) - 51e8: 64c0 cmphs r0, r3 - 51ea: 0819 bt 0x521c // 521c - 51ec: 3300 movi r3, 0 - 51ee: a260 st.b r3, (r2, 0x0) - 51f0: 11b7 lrw r5, 0x20000589 // 52cc - 51f2: 8560 ld.b r3, (r5, 0x0) - 51f4: 3b40 cmpnei r3, 0 - 51f6: 0c15 bf 0x5220 // 5220 - 51f8: 8560 ld.b r3, (r5, 0x0) - 51fa: 3b41 cmpnei r3, 1 - 51fc: 0810 bt 0x521c // 521c - 51fe: 3300 movi r3, 0 - 5200: a560 st.b r3, (r5, 0x0) - 5202: 3200 movi r2, 0 - 5204: 1173 lrw r3, 0x20000058 // 52d0 - 5206: 1114 lrw r0, 0x200006b8 // 52d4 - 5208: 11b4 lrw r5, 0x20000708 // 52d8 - 520a: 11d5 lrw r6, 0x2000015e // 52dc - 520c: 9360 ld.w r3, (r3, 0x0) - 520e: b342 st.w r2, (r3, 0x8) - 5210: 1174 lrw r3, 0x20000054 // 52e0 - 5212: 9380 ld.w r4, (r3, 0x0) - 5214: 3300 movi r3, 0 - 5216: 8040 ld.b r2, (r0, 0x0) - 5218: 648c cmphs r3, r2 - 521a: 0c44 bf 0x52a2 // 52a2 - 521c: 1402 addi r14, r14, 8 - 521e: 1494 pop r4-r7, r15 - 5220: 597e addi r3, r1, 8 - 5222: 3600 movi r6, 0 - 5224: 11f0 lrw r7, 0x20000184 // 52e4 - 5226: b860 st.w r3, (r14, 0x0) - 5228: 9760 ld.w r3, (r7, 0x0) - 522a: 70d9 lsr r3, r6 - 522c: 3201 movi r2, 1 - 522e: 68c8 and r3, r2 - 5230: 3b40 cmpnei r3, 0 - 5232: 0c34 bf 0x529a // 529a - 5234: 4681 lsli r4, r6, 1 - 5236: 9860 ld.w r3, (r14, 0x0) - 5238: 60d0 addu r3, r4 - 523a: 8b00 ld.h r0, (r3, 0x0) - 523c: e3ffe1b2 bsr 0x15a0 // 15a0 <__floatunsidf> - 5240: 6cc7 mov r3, r1 - 5242: 3180 movi r1, 128 - 5244: 6c83 mov r2, r0 - 5246: 4137 lsli r1, r1, 23 - 5248: 3000 movi r0, 0 - 524a: e3ffd7b5 bsr 0x1b4 // 1b4 <__GI_pow> - 524e: 1167 lrw r3, 0x2000018a // 52e8 - 5250: 60d0 addu r3, r4 - 5252: 8b60 ld.h r3, (r3, 0x0) - 5254: 4364 lsli r3, r3, 4 - 5256: 230e addi r3, 15 - 5258: b861 st.w r3, (r14, 0x4) - 525a: e3ffdd5b bsr 0xd10 // d10 <__fixunsdfsi> - 525e: 9861 ld.w r3, (r14, 0x4) - 5260: 7cc0 mult r3, r0 - 5262: 1143 lrw r2, 0x2000073e // 52ec - 5264: 740d zexth r0, r3 - 5266: 6090 addu r2, r4 - 5268: 1162 lrw r3, 0x200007ae // 52f0 - 526a: 60d0 addu r3, r4 - 526c: aa00 st.h r0, (r2, 0x0) - 526e: 8b60 ld.h r3, (r3, 0x0) - 5270: 8a00 ld.h r0, (r2, 0x0) - 5272: 7401 zexth r0, r0 - 5274: 325f movi r2, 95 - 5276: 74cd zexth r3, r3 - 5278: 7c08 mult r0, r2 - 527a: 3164 movi r1, 100 - 527c: b861 st.w r3, (r14, 0x4) - 527e: e3ffeee1 bsr 0x3040 // 3040 <__divsi3> - 5282: 9861 ld.w r3, (r14, 0x4) - 5284: 64c1 cmplt r0, r3 - 5286: 0c0a bf 0x529a // 529a - 5288: 1075 lrw r3, 0x2000015e // 52dc - 528a: 610c addu r4, r3 - 528c: 8c60 ld.h r3, (r4, 0x0) - 528e: 3b06 cmphsi r3, 7 - 5290: 0805 bt 0x529a // 529a - 5292: 2300 addi r3, 1 - 5294: ac60 st.h r3, (r4, 0x0) - 5296: 3301 movi r3, 1 - 5298: a560 st.b r3, (r5, 0x0) - 529a: 2600 addi r6, 1 - 529c: 3e51 cmpnei r6, 17 - 529e: 0bc5 bt 0x5228 // 5228 - 52a0: 07ac br 0x51f8 // 51f8 - 52a2: 5d4c addu r2, r5, r3 - 52a4: 8240 ld.b r2, (r2, 0x0) - 52a6: 4241 lsli r2, r2, 1 - 52a8: 4322 lsli r1, r3, 2 - 52aa: 6098 addu r2, r6 - 52ac: 6050 addu r1, r4 - 52ae: 8a40 ld.h r2, (r2, 0x0) - 52b0: 91f2 ld.w r7, (r1, 0x48) - 52b2: 4254 lsli r2, r2, 20 - 52b4: 6c9c or r2, r7 - 52b6: 2300 addi r3, 1 - 52b8: b152 st.w r2, (r1, 0x48) - 52ba: 74cc zextb r3, r3 - 52bc: 07ad br 0x5216 // 5216 - 52be: 0000 bkpt - 52c0: 20000068 .long 0x20000068 - 52c4: 2000067e .long 0x2000067e - 52c8: 20000181 .long 0x20000181 - 52cc: 20000589 .long 0x20000589 - 52d0: 20000058 .long 0x20000058 - 52d4: 200006b8 .long 0x200006b8 - 52d8: 20000708 .long 0x20000708 - 52dc: 2000015e .long 0x2000015e - 52e0: 20000054 .long 0x20000054 - 52e4: 20000184 .long 0x20000184 - 52e8: 2000018a .long 0x2000018a - 52ec: 2000073e .long 0x2000073e - 52f0: 200007ae .long 0x200007ae - -Disassembly of section .text.TK_Baseline_tracking: - -000052f4 : - 52f4: 14d4 push r4-r7, r15 - 52f6: 1421 subi r14, r14, 4 - 52f8: 014a lrw r2, 0x200005fa // 564c - 52fa: 8260 ld.b r3, (r2, 0x0) - 52fc: 2300 addi r3, 1 - 52fe: 74cc zextb r3, r3 - 5300: a260 st.b r3, (r2, 0x0) - 5302: 8260 ld.b r3, (r2, 0x0) - 5304: 012c lrw r1, 0x20000181 // 5650 - 5306: 8120 ld.b r1, (r1, 0x0) - 5308: 644c cmphs r3, r1 - 530a: 0803 bt 0x5310 // 5310 - 530c: e800020f br 0x572a // 572a - 5310: 3300 movi r3, 0 - 5312: a260 st.b r3, (r2, 0x0) - 5314: 016f lrw r3, 0x200004fc // 5654 - 5316: 9360 ld.w r3, (r3, 0x0) - 5318: 3b40 cmpnei r3, 0 - 531a: 0c03 bf 0x5320 // 5320 - 531c: e8000209 br 0x572e // 572e - 5320: 0171 lrw r3, 0x2000051c // 5658 - 5322: 0150 lrw r2, 0x200001ae // 565c - 5324: 3100 movi r1, 0 - 5326: b860 st.w r3, (r14, 0x0) - 5328: 6d0f mov r4, r3 - 532a: 0111 lrw r0, 0x2000045c // 5660 - 532c: 4161 lsli r3, r1, 1 - 532e: 98a0 ld.w r5, (r14, 0x0) - 5330: 614c addu r5, r3 - 5332: 8da0 ld.h r5, (r5, 0x0) - 5334: 7557 sexth r5, r5 - 5336: 3ddf btsti r5, 31 - 5338: 0c1c bf 0x5370 // 5370 - 533a: 01d4 lrw r6, 0x200007ae // 5664 - 533c: 58ac addu r5, r0, r3 - 533e: 618c addu r6, r3 - 5340: 8da0 ld.h r5, (r5, 0x0) - 5342: 8ec0 ld.h r6, (r6, 0x0) - 5344: 7599 zexth r6, r6 - 5346: 7555 zexth r5, r5 - 5348: 615a subu r5, r6 - 534a: 8ac0 ld.h r6, (r2, 0x0) - 534c: 6595 cmplt r5, r6 - 534e: 0811 bt 0x5370 // 5370 - 5350: 01b9 lrw r5, 0x200006c0 // 5668 - 5352: 6144 addu r5, r1 - 5354: 85c0 ld.b r6, (r5, 0x0) - 5356: 2600 addi r6, 1 - 5358: 7598 zextb r6, r6 - 535a: a5c0 st.b r6, (r5, 0x0) - 535c: 01db lrw r6, 0x20000088 // 566c - 535e: 85e0 ld.b r7, (r5, 0x0) - 5360: 86ca ld.b r6, (r6, 0xa) - 5362: 65d8 cmphs r6, r7 - 5364: 0806 bt 0x5370 // 5370 - 5366: 01dc lrw r6, 0x20000568 // 5670 - 5368: 3701 movi r7, 1 - 536a: a6e0 st.b r7, (r6, 0x0) - 536c: 3600 movi r6, 0 - 536e: a5c0 st.b r6, (r5, 0x0) - 5370: 5cac addu r5, r4, r3 - 5372: 8da0 ld.h r5, (r5, 0x0) - 5374: 7557 sexth r5, r5 - 5376: 3d20 cmplti r5, 1 - 5378: 081d bt 0x53b2 // 53b2 - 537a: 02a4 lrw r5, 0x200007ae // 5664 - 537c: 614c addu r5, r3 - 537e: 58cc addu r6, r0, r3 - 5380: 8da0 ld.h r5, (r5, 0x0) - 5382: 8ec0 ld.h r6, (r6, 0x0) - 5384: 7599 zexth r6, r6 - 5386: 7555 zexth r5, r5 - 5388: 615a subu r5, r6 - 538a: 8ac0 ld.h r6, (r2, 0x0) - 538c: 46c2 lsli r6, r6, 2 - 538e: 6595 cmplt r5, r6 - 5390: 0811 bt 0x53b2 // 53b2 - 5392: 02a6 lrw r5, 0x20000628 // 5674 - 5394: 6144 addu r5, r1 - 5396: 85c0 ld.b r6, (r5, 0x0) - 5398: 2600 addi r6, 1 - 539a: 7598 zextb r6, r6 - 539c: a5c0 st.b r6, (r5, 0x0) - 539e: 02cb lrw r6, 0x20000088 // 566c - 53a0: 85e0 ld.b r7, (r5, 0x0) - 53a2: 86cb ld.b r6, (r6, 0xb) - 53a4: 65d8 cmphs r6, r7 - 53a6: 0806 bt 0x53b2 // 53b2 - 53a8: 02cd lrw r6, 0x20000568 // 5670 - 53aa: 3701 movi r7, 1 - 53ac: a6e0 st.b r7, (r6, 0x0) - 53ae: 3600 movi r6, 0 - 53b0: a5c0 st.b r6, (r5, 0x0) - 53b2: 5cac addu r5, r4, r3 - 53b4: 8da0 ld.h r5, (r5, 0x0) - 53b6: 7557 sexth r5, r5 - 53b8: 3ddf btsti r5, 31 - 53ba: 0c10 bf 0x53da // 53da - 53bc: 02f5 lrw r7, 0x200007ae // 5664 - 53be: 58cc addu r6, r0, r3 - 53c0: 61cc addu r7, r3 - 53c2: 8ea0 ld.h r5, (r6, 0x0) - 53c4: 8fe0 ld.h r7, (r7, 0x0) - 53c6: 75dd zexth r7, r7 - 53c8: 7555 zexth r5, r5 - 53ca: 615e subu r5, r7 - 53cc: 8ae0 ld.h r7, (r2, 0x0) - 53ce: 65d5 cmplt r5, r7 - 53d0: 0c05 bf 0x53da // 53da - 53d2: 8ea0 ld.h r5, (r6, 0x0) - 53d4: 2d00 subi r5, 1 - 53d6: 7555 zexth r5, r5 - 53d8: aea0 st.h r5, (r6, 0x0) - 53da: 5cac addu r5, r4, r3 - 53dc: 8da0 ld.h r5, (r5, 0x0) - 53de: 7557 sexth r5, r5 - 53e0: 3ddf btsti r5, 31 - 53e2: 0c11 bf 0x5404 // 5404 - 53e4: 02ff lrw r7, 0x200007ae // 5664 - 53e6: 58cc addu r6, r0, r3 - 53e8: 61cc addu r7, r3 - 53ea: 8ea0 ld.h r5, (r6, 0x0) - 53ec: 8fe0 ld.h r7, (r7, 0x0) - 53ee: 75dd zexth r7, r7 - 53f0: 7555 zexth r5, r5 - 53f2: 615e subu r5, r7 - 53f4: 8ae0 ld.h r7, (r2, 0x0) - 53f6: 4fe1 lsri r7, r7, 1 - 53f8: 65d5 cmplt r5, r7 - 53fa: 0805 bt 0x5404 // 5404 - 53fc: 8ea0 ld.h r5, (r6, 0x0) - 53fe: 2d01 subi r5, 2 - 5400: 7555 zexth r5, r5 - 5402: aea0 st.h r5, (r6, 0x0) - 5404: 5ccc addu r6, r4, r3 - 5406: 8ea0 ld.h r5, (r6, 0x0) - 5408: 7557 sexth r5, r5 - 540a: 3d20 cmplti r5, 1 - 540c: 080c bt 0x5424 // 5424 - 540e: 8ec0 ld.h r6, (r6, 0x0) - 5410: 8aa0 ld.h r5, (r2, 0x0) - 5412: 759b sexth r6, r6 - 5414: 4da1 lsri r5, r5, 1 - 5416: 6559 cmplt r6, r5 - 5418: 0c06 bf 0x5424 // 5424 - 541a: 58cc addu r6, r0, r3 - 541c: 8ea0 ld.h r5, (r6, 0x0) - 541e: 2500 addi r5, 1 - 5420: 7555 zexth r5, r5 - 5422: aea0 st.h r5, (r6, 0x0) - 5424: 5ccc addu r6, r4, r3 - 5426: 8ea0 ld.h r5, (r6, 0x0) - 5428: 7557 sexth r5, r5 - 542a: 3d20 cmplti r5, 1 - 542c: 0810 bt 0x544c // 544c - 542e: 8ee0 ld.h r7, (r6, 0x0) - 5430: 75df sexth r7, r7 - 5432: 8aa0 ld.h r5, (r2, 0x0) - 5434: 655d cmplt r7, r5 - 5436: 0c0b bf 0x544c // 544c - 5438: 8ec0 ld.h r6, (r6, 0x0) - 543a: 759b sexth r6, r6 - 543c: 4da1 lsri r5, r5, 1 - 543e: 6559 cmplt r6, r5 - 5440: 0806 bt 0x544c // 544c - 5442: 60c0 addu r3, r0 - 5444: 8ba0 ld.h r5, (r3, 0x0) - 5446: 2501 addi r5, 2 - 5448: 7555 zexth r5, r5 - 544a: aba0 st.h r5, (r3, 0x0) - 544c: 2100 addi r1, 1 - 544e: 3951 cmpnei r1, 17 - 5450: 2201 addi r2, 2 - 5452: 0b6d bt 0x532c // 532c - 5454: 0376 lrw r3, 0x20000490 // 5678 - 5456: 9360 ld.w r3, (r3, 0x0) - 5458: 3b40 cmpnei r3, 0 - 545a: 0980 bt 0x575a // 575a - 545c: 0377 lrw r3, 0x2000065c // 567c - 545e: 035f lrw r2, 0x200001ae // 565c - 5460: 3100 movi r1, 0 - 5462: b860 st.w r3, (r14, 0x0) - 5464: 6d0f mov r4, r3 - 5466: 0318 lrw r0, 0x20000606 // 5680 - 5468: 4161 lsli r3, r1, 1 - 546a: 98a0 ld.w r5, (r14, 0x0) - 546c: 614c addu r5, r3 - 546e: 8da0 ld.h r5, (r5, 0x0) - 5470: 7557 sexth r5, r5 - 5472: 3ddf btsti r5, 31 - 5474: 0c1c bf 0x54ac // 54ac - 5476: 03db lrw r6, 0x20000544 // 5684 - 5478: 58ac addu r5, r0, r3 - 547a: 618c addu r6, r3 - 547c: 8da0 ld.h r5, (r5, 0x0) - 547e: 8ec0 ld.h r6, (r6, 0x0) - 5480: 7599 zexth r6, r6 - 5482: 7555 zexth r5, r5 - 5484: 615a subu r5, r6 - 5486: 8ac0 ld.h r6, (r2, 0x0) - 5488: 6595 cmplt r5, r6 - 548a: 0811 bt 0x54ac // 54ac - 548c: 13bf lrw r5, 0x200006a0 // 5688 - 548e: 6144 addu r5, r1 - 5490: 85c0 ld.b r6, (r5, 0x0) - 5492: 2600 addi r6, 1 - 5494: 7598 zextb r6, r6 - 5496: a5c0 st.b r6, (r5, 0x0) - 5498: 13d5 lrw r6, 0x20000088 // 566c - 549a: 85e0 ld.b r7, (r5, 0x0) - 549c: 86ca ld.b r6, (r6, 0xa) - 549e: 65d8 cmphs r6, r7 - 54a0: 0806 bt 0x54ac // 54ac - 54a2: 13d4 lrw r6, 0x20000568 // 5670 - 54a4: 3701 movi r7, 1 - 54a6: a6e1 st.b r7, (r6, 0x1) - 54a8: 3600 movi r6, 0 - 54aa: a5c0 st.b r6, (r5, 0x0) - 54ac: 5cac addu r5, r4, r3 - 54ae: 8da0 ld.h r5, (r5, 0x0) - 54b0: 7557 sexth r5, r5 - 54b2: 3d20 cmplti r5, 1 - 54b4: 081d bt 0x54ee // 54ee - 54b6: 13b4 lrw r5, 0x20000544 // 5684 - 54b8: 614c addu r5, r3 - 54ba: 58cc addu r6, r0, r3 - 54bc: 8da0 ld.h r5, (r5, 0x0) - 54be: 8ec0 ld.h r6, (r6, 0x0) - 54c0: 7599 zexth r6, r6 - 54c2: 7555 zexth r5, r5 - 54c4: 615a subu r5, r6 - 54c6: 8ac0 ld.h r6, (r2, 0x0) - 54c8: 46c2 lsli r6, r6, 2 - 54ca: 6595 cmplt r5, r6 - 54cc: 0811 bt 0x54ee // 54ee - 54ce: 13b0 lrw r5, 0x200005a2 // 568c - 54d0: 6144 addu r5, r1 - 54d2: 85c0 ld.b r6, (r5, 0x0) - 54d4: 2600 addi r6, 1 - 54d6: 7598 zextb r6, r6 - 54d8: a5c0 st.b r6, (r5, 0x0) - 54da: 13c5 lrw r6, 0x20000088 // 566c - 54dc: 85e0 ld.b r7, (r5, 0x0) - 54de: 86cb ld.b r6, (r6, 0xb) - 54e0: 65d8 cmphs r6, r7 - 54e2: 0806 bt 0x54ee // 54ee - 54e4: 13c3 lrw r6, 0x20000568 // 5670 - 54e6: 3701 movi r7, 1 - 54e8: a6e1 st.b r7, (r6, 0x1) - 54ea: 3600 movi r6, 0 - 54ec: a5c0 st.b r6, (r5, 0x0) - 54ee: 5cac addu r5, r4, r3 - 54f0: 8da0 ld.h r5, (r5, 0x0) - 54f2: 7557 sexth r5, r5 - 54f4: 3ddf btsti r5, 31 - 54f6: 0c10 bf 0x5516 // 5516 - 54f8: 13e3 lrw r7, 0x20000544 // 5684 - 54fa: 58cc addu r6, r0, r3 - 54fc: 61cc addu r7, r3 - 54fe: 8ea0 ld.h r5, (r6, 0x0) - 5500: 8fe0 ld.h r7, (r7, 0x0) - 5502: 75dd zexth r7, r7 - 5504: 7555 zexth r5, r5 - 5506: 615e subu r5, r7 - 5508: 8ae0 ld.h r7, (r2, 0x0) - 550a: 65d5 cmplt r5, r7 - 550c: 0c05 bf 0x5516 // 5516 - 550e: 8ea0 ld.h r5, (r6, 0x0) - 5510: 2d00 subi r5, 1 - 5512: 7555 zexth r5, r5 - 5514: aea0 st.h r5, (r6, 0x0) - 5516: 5cac addu r5, r4, r3 - 5518: 8da0 ld.h r5, (r5, 0x0) - 551a: 7557 sexth r5, r5 - 551c: 3ddf btsti r5, 31 - 551e: 0c11 bf 0x5540 // 5540 - 5520: 12f9 lrw r7, 0x20000544 // 5684 - 5522: 58cc addu r6, r0, r3 - 5524: 61cc addu r7, r3 - 5526: 8ea0 ld.h r5, (r6, 0x0) - 5528: 8fe0 ld.h r7, (r7, 0x0) - 552a: 75dd zexth r7, r7 - 552c: 7555 zexth r5, r5 - 552e: 615e subu r5, r7 - 5530: 8ae0 ld.h r7, (r2, 0x0) - 5532: 4fe1 lsri r7, r7, 1 - 5534: 65d5 cmplt r5, r7 - 5536: 0805 bt 0x5540 // 5540 - 5538: 8ea0 ld.h r5, (r6, 0x0) - 553a: 2d01 subi r5, 2 - 553c: 7555 zexth r5, r5 - 553e: aea0 st.h r5, (r6, 0x0) - 5540: 5ccc addu r6, r4, r3 - 5542: 8ea0 ld.h r5, (r6, 0x0) - 5544: 7557 sexth r5, r5 - 5546: 3d20 cmplti r5, 1 - 5548: 080c bt 0x5560 // 5560 - 554a: 8ec0 ld.h r6, (r6, 0x0) - 554c: 8aa0 ld.h r5, (r2, 0x0) - 554e: 759b sexth r6, r6 - 5550: 4da1 lsri r5, r5, 1 - 5552: 6559 cmplt r6, r5 - 5554: 0c06 bf 0x5560 // 5560 - 5556: 58cc addu r6, r0, r3 - 5558: 8ea0 ld.h r5, (r6, 0x0) - 555a: 2500 addi r5, 1 - 555c: 7555 zexth r5, r5 - 555e: aea0 st.h r5, (r6, 0x0) - 5560: 5ccc addu r6, r4, r3 - 5562: 8ea0 ld.h r5, (r6, 0x0) - 5564: 7557 sexth r5, r5 - 5566: 3d20 cmplti r5, 1 - 5568: 0810 bt 0x5588 // 5588 - 556a: 8ee0 ld.h r7, (r6, 0x0) - 556c: 75df sexth r7, r7 - 556e: 8aa0 ld.h r5, (r2, 0x0) - 5570: 655d cmplt r7, r5 - 5572: 0c0b bf 0x5588 // 5588 - 5574: 8ec0 ld.h r6, (r6, 0x0) - 5576: 759b sexth r6, r6 - 5578: 4da1 lsri r5, r5, 1 - 557a: 6559 cmplt r6, r5 - 557c: 0806 bt 0x5588 // 5588 - 557e: 60c0 addu r3, r0 - 5580: 8ba0 ld.h r5, (r3, 0x0) - 5582: 2501 addi r5, 2 - 5584: 7555 zexth r5, r5 - 5586: aba0 st.h r5, (r3, 0x0) - 5588: 2100 addi r1, 1 - 558a: 3951 cmpnei r1, 17 - 558c: 2201 addi r2, 2 - 558e: 0b6d bt 0x5468 // 5468 - 5590: 1260 lrw r3, 0x20000574 // 5690 - 5592: 9360 ld.w r3, (r3, 0x0) - 5594: 3b40 cmpnei r3, 0 - 5596: 08f8 bt 0x5786 // 5786 - 5598: 117f lrw r3, 0x20000788 // 5694 - 559a: 1151 lrw r2, 0x200001ae // 565c - 559c: 3100 movi r1, 0 - 559e: b860 st.w r3, (r14, 0x0) - 55a0: 6d0f mov r4, r3 - 55a2: 111e lrw r0, 0x2000071c // 5698 - 55a4: 4161 lsli r3, r1, 1 - 55a6: 98a0 ld.w r5, (r14, 0x0) - 55a8: 614c addu r5, r3 - 55aa: 8da0 ld.h r5, (r5, 0x0) - 55ac: 7557 sexth r5, r5 - 55ae: 3ddf btsti r5, 31 - 55b0: 0c1c bf 0x55e8 // 55e8 - 55b2: 11db lrw r6, 0x2000063a // 569c - 55b4: 58ac addu r5, r0, r3 - 55b6: 618c addu r6, r3 - 55b8: 8da0 ld.h r5, (r5, 0x0) - 55ba: 8ec0 ld.h r6, (r6, 0x0) - 55bc: 7599 zexth r6, r6 - 55be: 7555 zexth r5, r5 - 55c0: 615a subu r5, r6 - 55c2: 8ac0 ld.h r6, (r2, 0x0) - 55c4: 6595 cmplt r5, r6 - 55c6: 0811 bt 0x55e8 // 55e8 - 55c8: 11b6 lrw r5, 0x20000590 // 56a0 - 55ca: 6144 addu r5, r1 - 55cc: 85c0 ld.b r6, (r5, 0x0) - 55ce: 2600 addi r6, 1 - 55d0: 7598 zextb r6, r6 - 55d2: a5c0 st.b r6, (r5, 0x0) - 55d4: 11c6 lrw r6, 0x20000088 // 566c - 55d6: 85e0 ld.b r7, (r5, 0x0) - 55d8: 86ca ld.b r6, (r6, 0xa) - 55da: 65d8 cmphs r6, r7 - 55dc: 0806 bt 0x55e8 // 55e8 - 55de: 11c5 lrw r6, 0x20000568 // 5670 - 55e0: 3701 movi r7, 1 - 55e2: a6e2 st.b r7, (r6, 0x2) - 55e4: 3600 movi r6, 0 - 55e6: a5c0 st.b r6, (r5, 0x0) - 55e8: 5cac addu r5, r4, r3 - 55ea: 8da0 ld.h r5, (r5, 0x0) - 55ec: 7557 sexth r5, r5 - 55ee: 3d20 cmplti r5, 1 - 55f0: 081d bt 0x562a // 562a - 55f2: 11ab lrw r5, 0x2000063a // 569c - 55f4: 614c addu r5, r3 - 55f6: 58cc addu r6, r0, r3 - 55f8: 8da0 ld.h r5, (r5, 0x0) - 55fa: 8ec0 ld.h r6, (r6, 0x0) - 55fc: 7599 zexth r6, r6 - 55fe: 7555 zexth r5, r5 - 5600: 615a subu r5, r6 - 5602: 8ac0 ld.h r6, (r2, 0x0) - 5604: 46c2 lsli r6, r6, 2 - 5606: 6595 cmplt r5, r6 - 5608: 0811 bt 0x562a // 562a - 560a: 11a7 lrw r5, 0x2000047e // 56a4 - 560c: 6144 addu r5, r1 - 560e: 85c0 ld.b r6, (r5, 0x0) - 5610: 2600 addi r6, 1 - 5612: 7598 zextb r6, r6 - 5614: a5c0 st.b r6, (r5, 0x0) - 5616: 10d6 lrw r6, 0x20000088 // 566c - 5618: 85e0 ld.b r7, (r5, 0x0) - 561a: 86cb ld.b r6, (r6, 0xb) - 561c: 65d8 cmphs r6, r7 - 561e: 0806 bt 0x562a // 562a - 5620: 10d4 lrw r6, 0x20000568 // 5670 - 5622: 3701 movi r7, 1 - 5624: a6e2 st.b r7, (r6, 0x2) - 5626: 3600 movi r6, 0 - 5628: a5c0 st.b r6, (r5, 0x0) - 562a: 5cac addu r5, r4, r3 - 562c: 8da0 ld.h r5, (r5, 0x0) - 562e: 7557 sexth r5, r5 - 5630: 3ddf btsti r5, 31 - 5632: 0c3f bf 0x56b0 // 56b0 - 5634: 10fa lrw r7, 0x2000063a // 569c - 5636: 58cc addu r6, r0, r3 - 5638: 61cc addu r7, r3 - 563a: 8ea0 ld.h r5, (r6, 0x0) - 563c: 8fe0 ld.h r7, (r7, 0x0) - 563e: 75dd zexth r7, r7 - 5640: 7555 zexth r5, r5 - 5642: 615e subu r5, r7 - 5644: 8ae0 ld.h r7, (r2, 0x0) - 5646: 65d5 cmplt r5, r7 - 5648: 0c34 bf 0x56b0 // 56b0 - 564a: 042f br 0x56a8 // 56a8 - 564c: 200005fa .long 0x200005fa - 5650: 20000181 .long 0x20000181 - 5654: 200004fc .long 0x200004fc - 5658: 2000051c .long 0x2000051c - 565c: 200001ae .long 0x200001ae - 5660: 2000045c .long 0x2000045c - 5664: 200007ae .long 0x200007ae - 5668: 200006c0 .long 0x200006c0 - 566c: 20000088 .long 0x20000088 - 5670: 20000568 .long 0x20000568 - 5674: 20000628 .long 0x20000628 - 5678: 20000490 .long 0x20000490 - 567c: 2000065c .long 0x2000065c - 5680: 20000606 .long 0x20000606 - 5684: 20000544 .long 0x20000544 - 5688: 200006a0 .long 0x200006a0 - 568c: 200005a2 .long 0x200005a2 - 5690: 20000574 .long 0x20000574 - 5694: 20000788 .long 0x20000788 - 5698: 2000071c .long 0x2000071c - 569c: 2000063a .long 0x2000063a - 56a0: 20000590 .long 0x20000590 - 56a4: 2000047e .long 0x2000047e - 56a8: 8ea0 ld.h r5, (r6, 0x0) - 56aa: 2d00 subi r5, 1 - 56ac: 7555 zexth r5, r5 - 56ae: aea0 st.h r5, (r6, 0x0) - 56b0: 5cac addu r5, r4, r3 - 56b2: 8da0 ld.h r5, (r5, 0x0) - 56b4: 7557 sexth r5, r5 - 56b6: 3ddf btsti r5, 31 - 56b8: 0c11 bf 0x56da // 56da - 56ba: 11ff lrw r7, 0x2000063a // 57b4 - 56bc: 58cc addu r6, r0, r3 - 56be: 61cc addu r7, r3 - 56c0: 8ea0 ld.h r5, (r6, 0x0) - 56c2: 8fe0 ld.h r7, (r7, 0x0) - 56c4: 75dd zexth r7, r7 - 56c6: 7555 zexth r5, r5 - 56c8: 615e subu r5, r7 - 56ca: 8ae0 ld.h r7, (r2, 0x0) - 56cc: 4fe1 lsri r7, r7, 1 - 56ce: 65d5 cmplt r5, r7 - 56d0: 0805 bt 0x56da // 56da - 56d2: 8ea0 ld.h r5, (r6, 0x0) - 56d4: 2d01 subi r5, 2 - 56d6: 7555 zexth r5, r5 - 56d8: aea0 st.h r5, (r6, 0x0) - 56da: 5ccc addu r6, r4, r3 - 56dc: 8ea0 ld.h r5, (r6, 0x0) - 56de: 7557 sexth r5, r5 - 56e0: 3d20 cmplti r5, 1 - 56e2: 080c bt 0x56fa // 56fa - 56e4: 8ec0 ld.h r6, (r6, 0x0) - 56e6: 8aa0 ld.h r5, (r2, 0x0) - 56e8: 759b sexth r6, r6 - 56ea: 4da1 lsri r5, r5, 1 - 56ec: 6559 cmplt r6, r5 - 56ee: 0c06 bf 0x56fa // 56fa - 56f0: 58cc addu r6, r0, r3 - 56f2: 8ea0 ld.h r5, (r6, 0x0) - 56f4: 2500 addi r5, 1 - 56f6: 7555 zexth r5, r5 - 56f8: aea0 st.h r5, (r6, 0x0) - 56fa: 5ccc addu r6, r4, r3 - 56fc: 8ea0 ld.h r5, (r6, 0x0) - 56fe: 7557 sexth r5, r5 - 5700: 3d20 cmplti r5, 1 - 5702: 0810 bt 0x5722 // 5722 - 5704: 8ee0 ld.h r7, (r6, 0x0) - 5706: 75df sexth r7, r7 - 5708: 8aa0 ld.h r5, (r2, 0x0) - 570a: 655d cmplt r7, r5 - 570c: 0c0b bf 0x5722 // 5722 - 570e: 8ec0 ld.h r6, (r6, 0x0) - 5710: 759b sexth r6, r6 - 5712: 4da1 lsri r5, r5, 1 - 5714: 6559 cmplt r6, r5 - 5716: 0806 bt 0x5722 // 5722 - 5718: 60c0 addu r3, r0 - 571a: 8ba0 ld.h r5, (r3, 0x0) - 571c: 2501 addi r5, 2 - 571e: 7555 zexth r5, r5 - 5720: aba0 st.h r5, (r3, 0x0) - 5722: 2100 addi r1, 1 - 5724: 3951 cmpnei r1, 17 - 5726: 2201 addi r2, 2 - 5728: 0b3e bt 0x55a4 // 55a4 - 572a: 1401 addi r14, r14, 4 - 572c: 1494 pop r4-r7, r15 - 572e: e3fff8a7 bsr 0x487c // 487c - 5732: 1162 lrw r3, 0x20000088 // 57b8 - 5734: 836c ld.b r3, (r3, 0xc) - 5736: 64c0 cmphs r0, r3 - 5738: 1141 lrw r2, 0x20000494 // 57bc - 573a: 0c0e bf 0x5756 // 5756 - 573c: 8260 ld.b r3, (r2, 0x0) - 573e: 74cc zextb r3, r3 - 5740: 3b01 cmphsi r3, 2 - 5742: 0c05 bf 0x574c // 574c - 5744: 107f lrw r3, 0x20000568 // 57c0 - 5746: 3201 movi r2, 1 - 5748: a340 st.b r2, (r3, 0x0) - 574a: 0685 br 0x5454 // 5454 - 574c: 8260 ld.b r3, (r2, 0x0) - 574e: 2300 addi r3, 1 - 5750: 74cc zextb r3, r3 - 5752: a260 st.b r3, (r2, 0x0) - 5754: 0680 br 0x5454 // 5454 - 5756: 3300 movi r3, 0 - 5758: 07fd br 0x5752 // 5752 - 575a: e3fff8a5 bsr 0x48a4 // 48a4 - 575e: 1077 lrw r3, 0x20000088 // 57b8 - 5760: 836c ld.b r3, (r3, 0xc) - 5762: 64c0 cmphs r0, r3 - 5764: 1056 lrw r2, 0x20000494 // 57bc - 5766: 0c0e bf 0x5782 // 5782 - 5768: 8261 ld.b r3, (r2, 0x1) - 576a: 74cc zextb r3, r3 - 576c: 3b01 cmphsi r3, 2 - 576e: 0c05 bf 0x5778 // 5778 - 5770: 1074 lrw r3, 0x20000568 // 57c0 - 5772: 3201 movi r2, 1 - 5774: a341 st.b r2, (r3, 0x1) - 5776: 070d br 0x5590 // 5590 - 5778: 8261 ld.b r3, (r2, 0x1) - 577a: 2300 addi r3, 1 - 577c: 74cc zextb r3, r3 - 577e: a261 st.b r3, (r2, 0x1) - 5780: 0708 br 0x5590 // 5590 - 5782: 3300 movi r3, 0 - 5784: 07fd br 0x577e // 577e - 5786: e3fff8a3 bsr 0x48cc // 48cc - 578a: 106c lrw r3, 0x20000088 // 57b8 - 578c: 836c ld.b r3, (r3, 0xc) - 578e: 64c0 cmphs r0, r3 - 5790: 104b lrw r2, 0x20000494 // 57bc - 5792: 0c0e bf 0x57ae // 57ae - 5794: 8262 ld.b r3, (r2, 0x2) - 5796: 74cc zextb r3, r3 - 5798: 3b01 cmphsi r3, 2 - 579a: 0c05 bf 0x57a4 // 57a4 - 579c: 1069 lrw r3, 0x20000568 // 57c0 - 579e: 3201 movi r2, 1 - 57a0: a342 st.b r2, (r3, 0x2) - 57a2: 07c4 br 0x572a // 572a - 57a4: 8262 ld.b r3, (r2, 0x2) - 57a6: 2300 addi r3, 1 - 57a8: 74cc zextb r3, r3 - 57aa: a262 st.b r3, (r2, 0x2) - 57ac: 07bf br 0x572a // 572a - 57ae: 3300 movi r3, 0 - 57b0: 07fd br 0x57aa // 57aa - 57b2: 0000 bkpt - 57b4: 2000063a .long 0x2000063a - 57b8: 20000088 .long 0x20000088 - 57bc: 20000494 .long 0x20000494 - 57c0: 20000568 .long 0x20000568 - -Disassembly of section .text.TK_result_prog: - -000057c4 : - 57c4: 14d4 push r4-r7, r15 - 57c6: 1424 subi r14, r14, 16 - 57c8: 111f lrw r0, 0x200004fc // 58c4 - 57ca: 1220 lrw r1, 0x20000490 // 58c8 - 57cc: 1240 lrw r2, 0x20000574 // 58cc - 57ce: b821 st.w r1, (r14, 0x4) - 57d0: 9060 ld.w r3, (r0, 0x0) - 57d2: 91a0 ld.w r5, (r1, 0x0) - 57d4: 6cd4 or r3, r5 - 57d6: 9280 ld.w r4, (r2, 0x0) - 57d8: 6cd0 or r3, r4 - 57da: 3b40 cmpnei r3, 0 - 57dc: b800 st.w r0, (r14, 0x0) - 57de: b842 st.w r2, (r14, 0x8) - 57e0: 119c lrw r4, 0x200005fc // 58d0 - 57e2: 0c67 bf 0x58b0 // 58b0 - 57e4: 111c lrw r0, 0x200006d4 // 58d4 - 57e6: 3500 movi r5, 0 - 57e8: 117c lrw r3, 0x2000069c // 58d8 - 57ea: b803 st.w r0, (r14, 0xc) - 57ec: 3201 movi r2, 1 - 57ee: 7094 lsl r2, r5 - 57f0: b040 st.w r2, (r0, 0x0) - 57f2: 9840 ld.w r2, (r14, 0x0) - 57f4: 9240 ld.w r2, (r2, 0x0) - 57f6: 9020 ld.w r1, (r0, 0x0) - 57f8: 6884 and r2, r1 - 57fa: b340 st.w r2, (r3, 0x0) - 57fc: 9841 ld.w r2, (r14, 0x4) - 57fe: 9240 ld.w r2, (r2, 0x0) - 5800: 9020 ld.w r1, (r0, 0x0) - 5802: 6848 and r1, r2 - 5804: 1156 lrw r2, 0x20000760 // 58dc - 5806: b220 st.w r1, (r2, 0x0) - 5808: 9822 ld.w r1, (r14, 0x8) - 580a: 9120 ld.w r1, (r1, 0x0) - 580c: 90c0 ld.w r6, (r0, 0x0) - 580e: 6984 and r6, r1 - 5810: 1134 lrw r1, 0x20000600 // 58e0 - 5812: b1c0 st.w r6, (r1, 0x0) - 5814: 93e0 ld.w r7, (r3, 0x0) - 5816: 92c0 ld.w r6, (r2, 0x0) - 5818: 659e cmpne r7, r6 - 581a: 0807 bt 0x5828 // 5828 - 581c: 92e0 ld.w r7, (r2, 0x0) - 581e: 91c0 ld.w r6, (r1, 0x0) - 5820: 659e cmpne r7, r6 - 5822: 0803 bt 0x5828 // 5828 - 5824: 9340 ld.w r2, (r3, 0x0) - 5826: 040c br 0x583e // 583e - 5828: 92c0 ld.w r6, (r2, 0x0) - 582a: 3e40 cmpnei r6, 0 - 582c: 0c29 bf 0x587e // 587e - 582e: 91c0 ld.w r6, (r1, 0x0) - 5830: 3e40 cmpnei r6, 0 - 5832: 0c26 bf 0x587e // 587e - 5834: 92e0 ld.w r7, (r2, 0x0) - 5836: 91c0 ld.w r6, (r1, 0x0) - 5838: 659e cmpne r7, r6 - 583a: 0822 bt 0x587e // 587e - 583c: 9240 ld.w r2, (r2, 0x0) - 583e: 9420 ld.w r1, (r4, 0x0) - 5840: 6c84 or r2, r1 - 5842: 2500 addi r5, 1 - 5844: 3d51 cmpnei r5, 17 - 5846: b440 st.w r2, (r4, 0x0) - 5848: 0bd2 bt 0x57ec // 57ec - 584a: 9460 ld.w r3, (r4, 0x0) - 584c: 3b40 cmpnei r3, 0 - 584e: 1146 lrw r2, 0x20000704 // 58e4 - 5850: 0c32 bf 0x58b4 // 58b4 - 5852: 9420 ld.w r1, (r4, 0x0) - 5854: 9260 ld.w r3, (r2, 0x0) - 5856: 64c6 cmpne r1, r3 - 5858: 0c06 bf 0x5864 // 5864 - 585a: 9460 ld.w r3, (r4, 0x0) - 585c: b260 st.w r3, (r2, 0x0) - 585e: 3200 movi r2, 0 - 5860: 1162 lrw r3, 0x2000051a // 58e8 - 5862: a340 st.b r2, (r3, 0x0) - 5864: e3fff7f8 bsr 0x4854 // 4854 - 5868: 1161 lrw r3, 0x20000188 // 58ec - 586a: 8360 ld.b r3, (r3, 0x0) - 586c: 640c cmphs r3, r0 - 586e: 0806 bt 0x587a // 587a - 5870: 3300 movi r3, 0 - 5872: b460 st.w r3, (r4, 0x0) - 5874: 3201 movi r2, 1 - 5876: 107d lrw r3, 0x2000051a // 58e8 - 5878: a340 st.b r2, (r3, 0x0) - 587a: 1404 addi r14, r14, 16 - 587c: 1494 pop r4-r7, r15 - 587e: 93c0 ld.w r6, (r3, 0x0) - 5880: 3e40 cmpnei r6, 0 - 5882: 0c08 bf 0x5892 // 5892 - 5884: 92c0 ld.w r6, (r2, 0x0) - 5886: 3e40 cmpnei r6, 0 - 5888: 0c05 bf 0x5892 // 5892 - 588a: 93c0 ld.w r6, (r3, 0x0) - 588c: 9240 ld.w r2, (r2, 0x0) - 588e: 649a cmpne r6, r2 - 5890: 0fca bf 0x5824 // 5824 - 5892: 9340 ld.w r2, (r3, 0x0) - 5894: 3a40 cmpnei r2, 0 - 5896: 0c08 bf 0x58a6 // 58a6 - 5898: 9140 ld.w r2, (r1, 0x0) - 589a: 3a40 cmpnei r2, 0 - 589c: 0c05 bf 0x58a6 // 58a6 - 589e: 9340 ld.w r2, (r3, 0x0) - 58a0: 9120 ld.w r1, (r1, 0x0) - 58a2: 644a cmpne r2, r1 - 58a4: 0fc0 bf 0x5824 // 5824 - 58a6: 9843 ld.w r2, (r14, 0xc) - 58a8: 9220 ld.w r1, (r2, 0x0) - 58aa: 9440 ld.w r2, (r4, 0x0) - 58ac: 6885 andn r2, r1 - 58ae: 07ca br 0x5842 // 5842 - 58b0: b460 st.w r3, (r4, 0x0) - 58b2: 07cc br 0x584a // 584a - 58b4: b260 st.w r3, (r2, 0x0) - 58b6: 3100 movi r1, 0 - 58b8: 104c lrw r2, 0x2000051a // 58e8 - 58ba: a220 st.b r1, (r2, 0x0) - 58bc: 104d lrw r2, 0x200005f4 // 58f0 - 58be: b260 st.w r3, (r2, 0x0) - 58c0: 07dd br 0x587a // 587a - 58c2: 0000 bkpt - 58c4: 200004fc .long 0x200004fc - 58c8: 20000490 .long 0x20000490 - 58cc: 20000574 .long 0x20000574 - 58d0: 200005fc .long 0x200005fc - 58d4: 200006d4 .long 0x200006d4 - 58d8: 2000069c .long 0x2000069c - 58dc: 20000760 .long 0x20000760 - 58e0: 20000600 .long 0x20000600 - 58e4: 20000704 .long 0x20000704 - 58e8: 2000051a .long 0x2000051a - 58ec: 20000188 .long 0x20000188 - 58f0: 200005f4 .long 0x200005f4 - -Disassembly of section .text.TKEYIntHandler: - -000058f4 : - 58f4: 1460 nie - 58f6: 1462 ipush - 58f8: 14d1 push r4, r15 - 58fa: 1183 lrw r4, 0x20000068 // 5984 - 58fc: 8460 ld.b r3, (r4, 0x0) - 58fe: 3b40 cmpnei r3, 0 - 5900: 0815 bt 0x592a // 592a - 5902: 3301 movi r3, 1 - 5904: a460 st.b r3, (r4, 0x0) - 5906: 1161 lrw r3, 0x20000508 // 5988 - 5908: 8360 ld.b r3, (r3, 0x0) - 590a: 3b41 cmpnei r3, 1 - 590c: 080f bt 0x592a // 592a - 590e: 1140 lrw r2, 0x20000719 // 598c - 5910: 8260 ld.b r3, (r2, 0x0) - 5912: 2300 addi r3, 1 - 5914: 74cc zextb r3, r3 - 5916: a260 st.b r3, (r2, 0x0) - 5918: 8260 ld.b r3, (r2, 0x0) - 591a: 3b43 cmpnei r3, 3 - 591c: 0803 bt 0x5922 // 5922 - 591e: 3300 movi r3, 0 - 5920: a260 st.b r3, (r2, 0x0) - 5922: e3fff733 bsr 0x4788 // 4788 - 5926: 3301 movi r3, 1 - 5928: a461 st.b r3, (r4, 0x1) - 592a: 107a lrw r3, 0x20000058 // 5990 - 592c: 3101 movi r1, 1 - 592e: 9360 ld.w r3, (r3, 0x0) - 5930: 934a ld.w r2, (r3, 0x28) - 5932: 6884 and r2, r1 - 5934: 3a40 cmpnei r2, 0 - 5936: 0c02 bf 0x593a // 593a - 5938: b32c st.w r1, (r3, 0x30) - 593a: 934a ld.w r2, (r3, 0x28) - 593c: 3102 movi r1, 2 - 593e: 6884 and r2, r1 - 5940: 3a40 cmpnei r2, 0 - 5942: 0c02 bf 0x5946 // 5946 - 5944: b32c st.w r1, (r3, 0x30) - 5946: 934a ld.w r2, (r3, 0x28) - 5948: 3104 movi r1, 4 - 594a: 6884 and r2, r1 - 594c: 3a40 cmpnei r2, 0 - 594e: 0c02 bf 0x5952 // 5952 - 5950: b32c st.w r1, (r3, 0x30) - 5952: 934a ld.w r2, (r3, 0x28) - 5954: 3108 movi r1, 8 - 5956: 6884 and r2, r1 - 5958: 3a40 cmpnei r2, 0 - 595a: 0c02 bf 0x595e // 595e - 595c: b32c st.w r1, (r3, 0x30) - 595e: 934a ld.w r2, (r3, 0x28) - 5960: 3110 movi r1, 16 - 5962: 6884 and r2, r1 - 5964: 3a40 cmpnei r2, 0 - 5966: 0c02 bf 0x596a // 596a - 5968: b32c st.w r1, (r3, 0x30) - 596a: 934a ld.w r2, (r3, 0x28) - 596c: 3120 movi r1, 32 - 596e: 6884 and r2, r1 - 5970: 3a40 cmpnei r2, 0 - 5972: 0c02 bf 0x5976 // 5976 - 5974: b32c st.w r1, (r3, 0x30) - 5976: d9ee2001 ld.w r15, (r14, 0x4) - 597a: 9880 ld.w r4, (r14, 0x0) - 597c: 1402 addi r14, r14, 8 - 597e: 1463 ipop - 5980: 1461 nir - 5982: 0000 bkpt - 5984: 20000068 .long 0x20000068 - 5988: 20000508 .long 0x20000508 - 598c: 20000719 .long 0x20000719 - 5990: 20000058 .long 0x20000058 - -Disassembly of section .text.CORETHandler: - -00005994 : - 5994: 1460 nie - 5996: 1462 ipush - 5998: 14d3 push r4-r6, r15 - 599a: 1269 lrw r3, 0x20000064 // 5abc - 599c: 3400 movi r4, 0 - 599e: 9360 ld.w r3, (r3, 0x0) - 59a0: b386 st.w r4, (r3, 0x18) - 59a2: 1268 lrw r3, 0x20000508 // 5ac0 - 59a4: 8360 ld.b r3, (r3, 0x0) - 59a6: 3b41 cmpnei r3, 1 - 59a8: 0840 bt 0x5a28 // 5a28 - 59aa: e3fff7a5 bsr 0x48f4 // 48f4 - 59ae: e3fff7d7 bsr 0x495c // 495c - 59b2: e3fffc0d bsr 0x51cc // 51cc - 59b6: e3fffc9f bsr 0x52f4 // 52f4 - 59ba: e3fff653 bsr 0x4660 // 4660 - 59be: e3ffff03 bsr 0x57c4 // 57c4 - 59c2: 1261 lrw r3, 0x200005fc // 5ac4 - 59c4: 9360 ld.w r3, (r3, 0x0) - 59c6: 3b40 cmpnei r3, 0 - 59c8: 0c12 bf 0x59ec // 59ec - 59ca: 1260 lrw r3, 0x20000158 // 5ac8 - 59cc: 9340 ld.w r2, (r3, 0x0) - 59ce: 3a40 cmpnei r2, 0 - 59d0: 0c0e bf 0x59ec // 59ec - 59d2: 117f lrw r3, 0x200005f4 // 5acc - 59d4: 3064 movi r0, 100 - 59d6: 9320 ld.w r1, (r3, 0x0) - 59d8: 2100 addi r1, 1 - 59da: b320 st.w r1, (r3, 0x0) - 59dc: 9320 ld.w r1, (r3, 0x0) - 59de: 7c80 mult r2, r0 - 59e0: 6448 cmphs r2, r1 - 59e2: 0805 bt 0x59ec // 59ec - 59e4: 115b lrw r2, 0x200005a1 // 5ad0 - 59e6: 3101 movi r1, 1 - 59e8: a220 st.b r1, (r2, 0x0) - 59ea: b380 st.w r4, (r3, 0x0) - 59ec: 117a lrw r3, 0x20000150 // 5ad4 - 59ee: 8340 ld.b r2, (r3, 0x0) - 59f0: 3a41 cmpnei r2, 1 - 59f2: 0823 bt 0x5a38 // 5a38 - 59f4: 1139 lrw r1, 0x200004fc // 5ad8 - 59f6: 115a lrw r2, 0x20000490 // 5adc - 59f8: 9100 ld.w r0, (r1, 0x0) - 59fa: 9260 ld.w r3, (r2, 0x0) - 59fc: 64c2 cmpne r0, r3 - 59fe: 1179 lrw r3, 0x20000698 // 5ae0 - 5a00: 080a bt 0x5a14 // 5a14 - 5a02: 9280 ld.w r4, (r2, 0x0) - 5a04: 1158 lrw r2, 0x20000574 // 5ae4 - 5a06: 9200 ld.w r0, (r2, 0x0) - 5a08: 6412 cmpne r4, r0 - 5a0a: 0805 bt 0x5a14 // 5a14 - 5a0c: 9120 ld.w r1, (r1, 0x0) - 5a0e: 9240 ld.w r2, (r2, 0x0) - 5a10: 6486 cmpne r1, r2 - 5a12: 0c09 bf 0x5a24 // 5a24 - 5a14: 9340 ld.w r2, (r3, 0x0) - 5a16: 2200 addi r2, 1 - 5a18: b340 st.w r2, (r3, 0x0) - 5a1a: 1154 lrw r2, 0x20000088 // 5ae8 - 5a1c: 823c ld.b r1, (r2, 0x1c) - 5a1e: 9340 ld.w r2, (r3, 0x0) - 5a20: 6484 cmphs r1, r2 - 5a22: 0803 bt 0x5a28 // 5a28 - 5a24: 3200 movi r2, 0 - 5a26: b340 st.w r2, (r3, 0x0) - 5a28: d9ee2003 ld.w r15, (r14, 0xc) - 5a2c: 98c2 ld.w r6, (r14, 0x8) - 5a2e: 98a1 ld.w r5, (r14, 0x4) - 5a30: 9880 ld.w r4, (r14, 0x0) - 5a32: 1404 addi r14, r14, 16 - 5a34: 1463 ipop - 5a36: 1461 nir - 5a38: 83a0 ld.b r5, (r3, 0x0) - 5a3a: 7554 zextb r5, r5 - 5a3c: 3d40 cmpnei r5, 0 - 5a3e: 0bf5 bt 0x5a28 // 5a28 - 5a40: 1166 lrw r3, 0x200004fc // 5ad8 - 5a42: 1147 lrw r2, 0x20000490 // 5adc - 5a44: 9300 ld.w r0, (r3, 0x0) - 5a46: 9220 ld.w r1, (r2, 0x0) - 5a48: 6442 cmpne r0, r1 - 5a4a: 1127 lrw r1, 0x20000574 // 5ae4 - 5a4c: 1105 lrw r0, 0x20000698 // 5ae0 - 5a4e: 0c33 bf 0x5ab4 // 5ab4 - 5a50: 92c0 ld.w r6, (r2, 0x0) - 5a52: 9180 ld.w r4, (r1, 0x0) - 5a54: 651a cmpne r6, r4 - 5a56: 0c2f bf 0x5ab4 // 5ab4 - 5a58: 93c0 ld.w r6, (r3, 0x0) - 5a5a: 9180 ld.w r4, (r1, 0x0) - 5a5c: 651a cmpne r6, r4 - 5a5e: 0c2b bf 0x5ab4 // 5ab4 - 5a60: 9080 ld.w r4, (r0, 0x0) - 5a62: 2400 addi r4, 1 - 5a64: b080 st.w r4, (r0, 0x0) - 5a66: 1181 lrw r4, 0x20000088 // 5ae8 - 5a68: 84dc ld.b r6, (r4, 0x1c) - 5a6a: 9080 ld.w r4, (r0, 0x0) - 5a6c: 6518 cmphs r6, r4 - 5a6e: 0802 bt 0x5a72 // 5a72 - 5a70: b0a0 st.w r5, (r0, 0x0) - 5a72: 9380 ld.w r4, (r3, 0x0) - 5a74: 9200 ld.w r0, (r2, 0x0) - 5a76: 6412 cmpne r4, r0 - 5a78: 101d lrw r0, 0x200006d8 // 5aec - 5a7a: 0c04 bf 0x5a82 // 5a82 - 5a7c: 9180 ld.w r4, (r1, 0x0) - 5a7e: 3c40 cmpnei r4, 0 - 5a80: 0c0f bf 0x5a9e // 5a9e - 5a82: 93a0 ld.w r5, (r3, 0x0) - 5a84: 9180 ld.w r4, (r1, 0x0) - 5a86: 6516 cmpne r5, r4 - 5a88: 0c04 bf 0x5a90 // 5a90 - 5a8a: 9280 ld.w r4, (r2, 0x0) - 5a8c: 3c40 cmpnei r4, 0 - 5a8e: 0c08 bf 0x5a9e // 5a9e - 5a90: 9120 ld.w r1, (r1, 0x0) - 5a92: 9240 ld.w r2, (r2, 0x0) - 5a94: 6486 cmpne r1, r2 - 5a96: 0c0c bf 0x5aae // 5aae - 5a98: 9360 ld.w r3, (r3, 0x0) - 5a9a: 3b40 cmpnei r3, 0 - 5a9c: 0809 bt 0x5aae // 5aae - 5a9e: 9060 ld.w r3, (r0, 0x0) - 5aa0: 2300 addi r3, 1 - 5aa2: b060 st.w r3, (r0, 0x0) - 5aa4: 1071 lrw r3, 0x20000088 // 5ae8 - 5aa6: 835c ld.b r2, (r3, 0x1c) - 5aa8: 9060 ld.w r3, (r0, 0x0) - 5aaa: 64c8 cmphs r2, r3 - 5aac: 0bbe bt 0x5a28 // 5a28 - 5aae: 3300 movi r3, 0 - 5ab0: b060 st.w r3, (r0, 0x0) - 5ab2: 07bb br 0x5a28 // 5a28 - 5ab4: 3400 movi r4, 0 - 5ab6: b080 st.w r4, (r0, 0x0) - 5ab8: 07dd br 0x5a72 // 5a72 - 5aba: 0000 bkpt - 5abc: 20000064 .long 0x20000064 - 5ac0: 20000508 .long 0x20000508 - 5ac4: 200005fc .long 0x200005fc - 5ac8: 20000158 .long 0x20000158 - 5acc: 200005f4 .long 0x200005f4 - 5ad0: 200005a1 .long 0x200005a1 - 5ad4: 20000150 .long 0x20000150 - 5ad8: 200004fc .long 0x200004fc - 5adc: 20000490 .long 0x20000490 - 5ae0: 20000698 .long 0x20000698 - 5ae4: 20000574 .long 0x20000574 - 5ae8: 20000088 .long 0x20000088 - 5aec: 200006d8 .long 0x200006d8 - -Disassembly of section .text.std_clk_calib: - -00005af0 : - 5af0: 14d4 push r4-r7, r15 - 5af2: 142d subi r14, r14, 52 - 5af4: 3201 movi r2, 1 - 5af6: 03ce lrw r6, 0x2000005c // 5d38 - 5af8: 6cc3 mov r3, r0 - 5afa: dc4e000a st.b r2, (r14, 0xa) - 5afe: 9640 ld.w r2, (r6, 0x0) - 5b00: 9247 ld.w r2, (r2, 0x1c) - 5b02: 7488 zextb r2, r2 - 5b04: dc4e0009 st.b r2, (r14, 0x9) - 5b08: d84e0009 ld.b r2, (r14, 0x9) - 5b0c: 3a40 cmpnei r2, 0 - 5b0e: 0c08 bf 0x5b1e // 5b1e - 5b10: d84e0009 ld.b r2, (r14, 0x9) - 5b14: 3a42 cmpnei r2, 2 - 5b16: 0c04 bf 0x5b1e // 5b1e - 5b18: 3000 movi r0, 0 - 5b1a: 140d addi r14, r14, 52 - 5b1c: 1494 pop r4-r7, r15 - 5b1e: 0397 lrw r4, 0x2000000c // 5d3c - 5b20: 3209 movi r2, 9 - 5b22: 9400 ld.w r0, (r4, 0x0) - 5b24: 3b40 cmpnei r3, 0 - 5b26: b041 st.w r2, (r0, 0x4) - 5b28: 0857 bt 0x5bd6 // 5bd6 - 5b2a: 3307 movi r3, 7 - 5b2c: dc6e000b st.b r3, (r14, 0xb) - 5b30: 037b lrw r3, 0x2dc6c00 // 5d40 - 5b32: b863 st.w r3, (r14, 0xc) - 5b34: 3380 movi r3, 128 - 5b36: 4362 lsli r3, r3, 2 - 5b38: b867 st.w r3, (r14, 0x1c) - 5b3a: d86e000b ld.b r3, (r14, 0xb) - 5b3e: 74cc zextb r3, r3 - 5b40: b062 st.w r3, (r0, 0x8) - 5b42: 037e lrw r3, 0xffff // 5d44 - 5b44: b063 st.w r3, (r0, 0xc) - 5b46: 3201 movi r2, 1 - 5b48: 3101 movi r1, 1 - 5b4a: 03bf lrw r5, 0x20000014 // 5d48 - 5b4c: e3ffe322 bsr 0x2190 // 2190 - 5b50: 95e0 ld.w r7, (r5, 0x0) - 5b52: 137f lrw r3, 0xbe9c0005 // 5d4c - 5b54: b760 st.w r3, (r7, 0x0) - 5b56: 135f lrw r2, 0x30010 // 5d50 - 5b58: 3300 movi r3, 0 - 5b5a: b762 st.w r3, (r7, 0x8) - 5b5c: b743 st.w r2, (r7, 0xc) - 5b5e: 32d8 movi r2, 216 - 5b60: b745 st.w r2, (r7, 0x14) - 5b62: 974f ld.w r2, (r7, 0x3c) - 5b64: 3aa2 bseti r2, 2 - 5b66: b74f st.w r2, (r7, 0x3c) - 5b68: 9803 ld.w r0, (r14, 0xc) - 5b6a: d82e000b ld.b r1, (r14, 0xb) - 5b6e: 327d movi r2, 125 - 5b70: 2100 addi r1, 1 - 5b72: 7c48 mult r1, r2 - 5b74: b861 st.w r3, (r14, 0x4) - 5b76: e3ffea77 bsr 0x3064 // 3064 <__udivsi3> - 5b7a: b804 st.w r0, (r14, 0x10) - 5b7c: 32fa movi r2, 250 - 5b7e: 9824 ld.w r1, (r14, 0x10) - 5b80: 4242 lsli r2, r2, 2 - 5b82: 6448 cmphs r2, r1 - 5b84: 0bca bt 0x5b18 // 5b18 - 5b86: 9844 ld.w r2, (r14, 0x10) - 5b88: 3178 movi r1, 120 - 5b8a: 9804 ld.w r0, (r14, 0x10) - 5b8c: b840 st.w r2, (r14, 0x0) - 5b8e: e3ffea6b bsr 0x3064 // 3064 <__udivsi3> - 5b92: 9840 ld.w r2, (r14, 0x0) - 5b94: 6082 subu r2, r0 - 5b96: b845 st.w r2, (r14, 0x14) - 5b98: 9804 ld.w r0, (r14, 0x10) - 5b9a: 3178 movi r1, 120 - 5b9c: 9844 ld.w r2, (r14, 0x10) - 5b9e: b840 st.w r2, (r14, 0x0) - 5ba0: e3ffea62 bsr 0x3064 // 3064 <__udivsi3> - 5ba4: 9840 ld.w r2, (r14, 0x0) - 5ba6: 6008 addu r0, r2 - 5ba8: b806 st.w r0, (r14, 0x18) - 5baa: c0807020 psrclr ie - 5bae: 9640 ld.w r2, (r6, 0x0) - 5bb0: 9254 ld.w r2, (r2, 0x50) - 5bb2: b848 st.w r2, (r14, 0x20) - 5bb4: 9861 ld.w r3, (r14, 0x4) - 5bb6: 9440 ld.w r2, (r4, 0x0) - 5bb8: b260 st.w r3, (r2, 0x0) - 5bba: b761 st.w r3, (r7, 0x4) - 5bbc: d86e000a ld.b r3, (r14, 0xa) - 5bc0: 3b40 cmpnei r3, 0 - 5bc2: 083e bt 0x5c3e // 5c3e - 5bc4: e3ffe298 bsr 0x20f4 // 20f4 - 5bc8: 9400 ld.w r0, (r4, 0x0) - 5bca: e3ffe2b9 bsr 0x213c // 213c - 5bce: c1807420 psrset ee, ie - 5bd2: 3001 movi r0, 1 - 5bd4: 07a3 br 0x5b1a // 5b1a - 5bd6: 3b41 cmpnei r3, 1 - 5bd8: 0806 bt 0x5be4 // 5be4 - 5bda: 3303 movi r3, 3 - 5bdc: dc6e000b st.b r3, (r14, 0xb) - 5be0: 127d lrw r3, 0x16e3600 // 5d54 - 5be2: 07a8 br 0x5b32 // 5b32 - 5be4: 3b42 cmpnei r3, 2 - 5be6: 0806 bt 0x5bf2 // 5bf2 - 5be8: 3301 movi r3, 1 - 5bea: dc6e000b st.b r3, (r14, 0xb) - 5bee: 127b lrw r3, 0xb71b00 // 5d58 - 5bf0: 07a1 br 0x5b32 // 5b32 - 5bf2: 3b43 cmpnei r3, 3 - 5bf4: 0806 bt 0x5c00 // 5c00 - 5bf6: 3300 movi r3, 0 - 5bf8: dc6e000b st.b r3, (r14, 0xb) - 5bfc: 1278 lrw r3, 0x5b8d80 // 5d5c - 5bfe: 079a br 0x5b32 // 5b32 - 5c00: 3b44 cmpnei r3, 4 - 5c02: 0809 bt 0x5c14 // 5c14 - 5c04: 3300 movi r3, 0 - 5c06: dc6e000b st.b r3, (r14, 0xb) - 5c0a: 1276 lrw r3, 0x54c720 // 5d60 - 5c0c: b863 st.w r3, (r14, 0xc) - 5c0e: 3380 movi r3, 128 - 5c10: 4369 lsli r3, r3, 9 - 5c12: 0793 br 0x5b38 // 5b38 - 5c14: 3b45 cmpnei r3, 5 - 5c16: 0806 bt 0x5c22 // 5c22 - 5c18: 3300 movi r3, 0 - 5c1a: dc6e000b st.b r3, (r14, 0xb) - 5c1e: 1272 lrw r3, 0x3ffed0 // 5d64 - 5c20: 07f6 br 0x5c0c // 5c0c - 5c22: 3b46 cmpnei r3, 6 - 5c24: 0806 bt 0x5c30 // 5c30 - 5c26: 3300 movi r3, 0 - 5c28: dc6e000b st.b r3, (r14, 0xb) - 5c2c: 126f lrw r3, 0x1fff68 // 5d68 - 5c2e: 07ef br 0x5c0c // 5c0c - 5c30: 3b47 cmpnei r3, 7 - 5c32: 0b84 bt 0x5b3a // 5b3a - 5c34: 3300 movi r3, 0 - 5c36: dc6e000b st.b r3, (r14, 0xb) - 5c3a: 126d lrw r3, 0x1ffb8 // 5d6c - 5c3c: 07e8 br 0x5c0c // 5c0c - 5c3e: 9560 ld.w r3, (r5, 0x0) - 5c40: 3101 movi r1, 1 - 5c42: 9440 ld.w r2, (r4, 0x0) - 5c44: b321 st.w r1, (r3, 0x4) - 5c46: b220 st.w r1, (r2, 0x0) - 5c48: 3100 movi r1, 0 - 5c4a: b327 st.w r1, (r3, 0x1c) - 5c4c: 3004 movi r0, 4 - 5c4e: b225 st.w r1, (r2, 0x14) - 5c50: 932e ld.w r1, (r3, 0x38) - 5c52: 6840 and r1, r0 - 5c54: 3940 cmpnei r1, 0 - 5c56: 0ffd bf 0x5c50 // 5c50 - 5c58: 9225 ld.w r1, (r2, 0x14) - 5c5a: b82a st.w r1, (r14, 0x28) - 5c5c: 3100 movi r1, 0 - 5c5e: b310 st.w r0, (r3, 0x40) - 5c60: b327 st.w r1, (r3, 0x1c) - 5c62: 3004 movi r0, 4 - 5c64: b225 st.w r1, (r2, 0x14) - 5c66: 932e ld.w r1, (r3, 0x38) - 5c68: 6840 and r1, r0 - 5c6a: 3940 cmpnei r1, 0 - 5c6c: 0ffd bf 0x5c66 // 5c66 - 5c6e: 9225 ld.w r1, (r2, 0x14) - 5c70: b82b st.w r1, (r14, 0x2c) - 5c72: 3100 movi r1, 0 - 5c74: b310 st.w r0, (r3, 0x40) - 5c76: b327 st.w r1, (r3, 0x1c) - 5c78: 3004 movi r0, 4 - 5c7a: b225 st.w r1, (r2, 0x14) - 5c7c: 932e ld.w r1, (r3, 0x38) - 5c7e: 6840 and r1, r0 - 5c80: 3940 cmpnei r1, 0 - 5c82: 0ffd bf 0x5c7c // 5c7c - 5c84: 9225 ld.w r1, (r2, 0x14) - 5c86: b82c st.w r1, (r14, 0x30) - 5c88: b310 st.w r0, (r3, 0x40) - 5c8a: 982b ld.w r1, (r14, 0x2c) - 5c8c: 980c ld.w r0, (r14, 0x30) - 5c8e: 6040 addu r1, r0 - 5c90: b829 st.w r1, (r14, 0x24) - 5c92: 9829 ld.w r1, (r14, 0x24) - 5c94: 4921 lsri r1, r1, 1 - 5c96: b829 st.w r1, (r14, 0x24) - 5c98: 3100 movi r1, 0 - 5c9a: b321 st.w r1, (r3, 0x4) - 5c9c: b220 st.w r1, (r2, 0x0) - 5c9e: b327 st.w r1, (r3, 0x1c) - 5ca0: b225 st.w r1, (r2, 0x14) - 5ca2: d86e0009 ld.b r3, (r14, 0x9) - 5ca6: 3b42 cmpnei r3, 2 - 5ca8: 9849 ld.w r2, (r14, 0x24) - 5caa: 082c bt 0x5d02 // 5d02 - 5cac: 1171 lrw r3, 0x7ff // 5d70 - 5cae: 648c cmphs r3, r2 - 5cb0: 0c03 bf 0x5cb6 // 5cb6 - 5cb2: 3300 movi r3, 0 - 5cb4: 040f br 0x5cd2 // 5cd2 - 5cb6: 9849 ld.w r2, (r14, 0x24) - 5cb8: 9866 ld.w r3, (r14, 0x18) - 5cba: 648c cmphs r3, r2 - 5cbc: 080e bt 0x5cd8 // 5cd8 - 5cbe: 9868 ld.w r3, (r14, 0x20) - 5cc0: 9847 ld.w r2, (r14, 0x1c) - 5cc2: 60ca subu r3, r2 - 5cc4: b868 st.w r3, (r14, 0x20) - 5cc6: 32fe movi r2, 254 - 5cc8: 9868 ld.w r3, (r14, 0x20) - 5cca: 4248 lsli r2, r2, 8 - 5ccc: 68c8 and r3, r2 - 5cce: 3b40 cmpnei r3, 0 - 5cd0: 0812 bt 0x5cf4 // 5cf4 - 5cd2: dc6e000a st.b r3, (r14, 0xa) - 5cd6: 0721 br 0x5b18 // 5b18 - 5cd8: 9849 ld.w r2, (r14, 0x24) - 5cda: 9865 ld.w r3, (r14, 0x14) - 5cdc: 64c8 cmphs r2, r3 - 5cde: 0829 bt 0x5d30 // 5d30 - 5ce0: 9868 ld.w r3, (r14, 0x20) - 5ce2: 9847 ld.w r2, (r14, 0x1c) - 5ce4: 60c8 addu r3, r2 - 5ce6: b868 st.w r3, (r14, 0x20) - 5ce8: 33fe movi r3, 254 - 5cea: 9848 ld.w r2, (r14, 0x20) - 5cec: 4368 lsli r3, r3, 8 - 5cee: 688c and r2, r3 - 5cf0: 64ca cmpne r2, r3 - 5cf2: 0fe0 bf 0x5cb2 // 5cb2 - 5cf4: 9660 ld.w r3, (r6, 0x0) - 5cf6: 9848 ld.w r2, (r14, 0x20) - 5cf8: b354 st.w r2, (r3, 0x50) - 5cfa: 3001 movi r0, 1 - 5cfc: e3ffe3c0 bsr 0x247c // 247c - 5d00: 075e br 0x5bbc // 5bbc - 5d02: 9866 ld.w r3, (r14, 0x18) - 5d04: 648c cmphs r3, r2 - 5d06: 0809 bt 0x5d18 // 5d18 - 5d08: 9868 ld.w r3, (r14, 0x20) - 5d0a: 9847 ld.w r2, (r14, 0x1c) - 5d0c: 60ca subu r3, r2 - 5d0e: b868 st.w r3, (r14, 0x20) - 5d10: 32ff movi r2, 255 - 5d12: 9868 ld.w r3, (r14, 0x20) - 5d14: 4250 lsli r2, r2, 16 - 5d16: 07db br 0x5ccc // 5ccc - 5d18: 9849 ld.w r2, (r14, 0x24) - 5d1a: 9865 ld.w r3, (r14, 0x14) - 5d1c: 64c8 cmphs r2, r3 - 5d1e: 0809 bt 0x5d30 // 5d30 - 5d20: 9868 ld.w r3, (r14, 0x20) - 5d22: 9847 ld.w r2, (r14, 0x1c) - 5d24: 60c8 addu r3, r2 - 5d26: b868 st.w r3, (r14, 0x20) - 5d28: 33ff movi r3, 255 - 5d2a: 9848 ld.w r2, (r14, 0x20) - 5d2c: 4370 lsli r3, r3, 16 - 5d2e: 07e0 br 0x5cee // 5cee - 5d30: 3300 movi r3, 0 - 5d32: dc6e000a st.b r3, (r14, 0xa) - 5d36: 07e2 br 0x5cfa // 5cfa - 5d38: 2000005c .long 0x2000005c - 5d3c: 2000000c .long 0x2000000c - 5d40: 02dc6c00 .long 0x02dc6c00 - 5d44: 0000ffff .long 0x0000ffff - 5d48: 20000014 .long 0x20000014 - 5d4c: be9c0005 .long 0xbe9c0005 - 5d50: 00030010 .long 0x00030010 - 5d54: 016e3600 .long 0x016e3600 - 5d58: 00b71b00 .long 0x00b71b00 - 5d5c: 005b8d80 .long 0x005b8d80 - 5d60: 0054c720 .long 0x0054c720 - 5d64: 003ffed0 .long 0x003ffed0 - 5d68: 001fff68 .long 0x001fff68 - 5d6c: 0001ffb8 .long 0x0001ffb8 - 5d70: 000007ff .long 0x000007ff diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_tkey_parameter.o b/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_tkey_parameter.o deleted file mode 100644 index 1f628b3bc97199b7cd2acfac35fd84dd73a9480c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19948 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 XZ*8z#))~X+0DEC9e4hJ%hQ&MpuN)4l diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_switch_fun.d b/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_switch_fun.d deleted file mode 100644 index 2198192..0000000 --- a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_switch_fun.d +++ /dev/null @@ -1,101 +0,0 @@ -Obj/SYSTEM_switch_fun.o: SYSTEM/switch_fun.c includes.h \ - include/apt32f102.h include/apt32f102_types_local.h \ - include/apt32f102_ck801.h include/apt32f102_adc.h include/apt32f102.h \ - include/apt32f102_bt.h include/apt32f102_coret.h \ - include/apt32f102_countera.h include/apt32f102_crc.h \ - include/apt32f102_ept.h include/apt32f102_et.h include/apt32f102_gpio.h \ - include/apt32f102_gpt.h include/apt32f102_i2c.h include/apt32f102_ifc.h \ - include/apt32f102_lpt.h include/apt32f102_rtc.h include/apt32f102_sio.h \ - include/apt32f102_spi.h include/apt32f102_syscon.h \ - include/apt32f102_uart.h include/apt32f102_wwdt.h \ - include/apt32f102_types_local.h include/apt32f102_clkcalib.h \ - include/apt32f102_tkey.h SYSTEM/inc/uart.h SYSTEM/inc/touch_key.h \ - SYSTEM/inc/eeprom.h SYSTEM/inc/touch_key.h SYSTEM/inc/adc.h \ - SYSTEM/inc/ht1621.h USRCTRL/inc/debug_unit.h USRCTRL/inc/display_logic.h \ - USRCTRL/inc/tempctrl_unit.h USRCTRL/inc/tempctrl_unit.h \ - USRCTRL/inc/myrelay.h USRCTRL/inc/uart_protocol.h SYSTEM/inc/tm1812.h \ - SYSTEM/inc/switch_fun.h SYSTEM/inc/Bootload_fun.h SYSTEM/inc/uart.h - -includes.h: - -include/apt32f102.h: - -include/apt32f102_types_local.h: - -include/apt32f102_ck801.h: - -include/apt32f102_adc.h: - -include/apt32f102.h: - -include/apt32f102_bt.h: - -include/apt32f102_coret.h: - -include/apt32f102_countera.h: - -include/apt32f102_crc.h: - -include/apt32f102_ept.h: - -include/apt32f102_et.h: - -include/apt32f102_gpio.h: - -include/apt32f102_gpt.h: - -include/apt32f102_i2c.h: - -include/apt32f102_ifc.h: - -include/apt32f102_lpt.h: - -include/apt32f102_rtc.h: - -include/apt32f102_sio.h: - -include/apt32f102_spi.h: - -include/apt32f102_syscon.h: - -include/apt32f102_uart.h: - -include/apt32f102_wwdt.h: - -include/apt32f102_types_local.h: - -include/apt32f102_clkcalib.h: - -include/apt32f102_tkey.h: - -SYSTEM/inc/uart.h: - -SYSTEM/inc/touch_key.h: - -SYSTEM/inc/eeprom.h: - -SYSTEM/inc/touch_key.h: - -SYSTEM/inc/adc.h: - -SYSTEM/inc/ht1621.h: - -USRCTRL/inc/debug_unit.h: - -USRCTRL/inc/display_logic.h: - -USRCTRL/inc/tempctrl_unit.h: - -USRCTRL/inc/tempctrl_unit.h: - -USRCTRL/inc/myrelay.h: - -USRCTRL/inc/uart_protocol.h: - -SYSTEM/inc/tm1812.h: - -SYSTEM/inc/switch_fun.h: - -SYSTEM/inc/Bootload_fun.h: - -SYSTEM/inc/uart.h: diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_switch_fun.o b/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_switch_fun.o deleted file mode 100644 index 3b4301e54ff49ea93160394d34603ed45271ce34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39092 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 VvCX(Ouv2+!*7({CwY`$%{a;U%LVf@M diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_tempctrl_unit.o b/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_tempctrl_unit.o deleted file mode 100644 index 1a3052aa3d87b5557504a89a088766782aec84ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35344 zcmc(od0hEY(W63jM=j5)^h`Frwa7aQIQ zUB)|x(VN%0cW_a~qCKv{Ji|lFro1mb?!6Tq6${f`6?+Fed}ZflR_vYS-{J8O4R#E5 z`G+g^RxkU~GuTm4mWveC%LY6AWmzuw-r1pwj^M&{u~n5tkuSqry===VwP zMoaES5^aL2H1-lkz=UeB;mye+qN@0Zgn?(+{V^e+w>duRJ9y4?4bEA}WZ7&7*jDst~# zx@@Sc;=Zf${X;vvLmiiA_=kGE7j@i*eGc|Fl|7!Zb||O#>5iKgtwmW+Wte?#-9MIp zUaqmLqST)0_V{*Hlwn^yZP(XB73C+peC6XZulL

UO(SzC# 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%0AFX! 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 `7EwxL5KCi# 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 F{|BD^)w2Kq diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/T1_TC_34650_ZH_V01.ihex b/T1_TC_ZH_V01_20251128/Source/Obj/T1_TC_34650_ZH_V01.ihex deleted file mode 100644 index be28e7e..0000000 --- a/T1_TC_ZH_V01_20251128/Source/Obj/T1_TC_34650_ZH_V01.ihex +++ /dev/null @@ -1,1608 +0,0 @@ -:100000000C010000263000001630000084010000C2 -:100010001E300000DC2F0000840100000E300000C4 -:10002000063000008401000084010000840100000B -:1000300084010000840100008401000084010000AC -:10004000FE2F0000F62F0000EE2F0000E62F00002C -:10005000840100008401000084010000840100008C -:10006000840100008401000084010000840100007C -:10007000840100008401000084010000DE2F0000E4 -:100080009459000024260000142700007C2700005B -:10009000E42700008401000090290000782D000072 -:1000A000A82D0000C4290000840100008401000084 -:1000B000442A0000B42A0000142B0000A82B0000E2 -:1000C0008401000036300000840100003C2C000058 -:1000D000242D0000D82D0000202E00008C2E0000C2 -:1000E0002E300000F4580000EC2E000084010000C7 -:1000F000202F00006C2F000084010000840100000C -:100100000500AA550000000000000000003000318A -:100110000032003300340035003600375B1002C077 -:10012000216400C02260A83A02C020643810003266 -:1001300040B1F8109F6FCF5F04338D5F003503240B -:10014000A0B41865FD0B1410C17B036C036C8FEA1F -:10015000130013100078036C036C036C036C036CC6 -:100160009010436DA0B400C021602F1001C02B641B -:100170002E10003020B02E1001C02B642D10003046 -:1001800020B0FA07F90700000000000090EF00E03F -:10019000F80F0020501A0000600100004424000005 -:1001A00000300020FFFF0000FF0F0000EEEE000017 -:1001B000EE0E0000D4142D1460B86143814B42B898 -:1001C000906C403AC36D876D030800E86204A1415A -:1001D000A14D550049650C0896640308403808088D -:1001E0000965060892640E08029840380B0C429884 -:1001F00060981F6C5B6C00E01307036D136C0D14AB -:100200009414DF3E510C2101002905654B08620161 -:10021000002B0D65490C545404018060343A2108C8 -:100220003433CA6042988D704B6C4C7002984264B3 -:100230003B08013184680233495B0298403841B879 -:100240006208510192641F082F015460C46D403F41 -:100250002D08609800324F6C003000E0F906CE07A0 -:10026000229840394E0814314A60936C86700B6CAA -:1002700004701264030C00E87104013184680230D8 -:10028000695861B82002526425088098DF3C030851 -:1002900000E807049F6CDB6C0030250200E00E08CC -:1002A000AD070232CB070032C9076902002B4D654A -:1002B0000098080CDF38030800E8EF030034003131 -:1002C0009E07DF38FC0F0034436C803278424C606C -:1002D00096078033174340980A6408089F6CDB6CCC -:1002E0001F6C5B6C00E0D006890776022098C6641C -:1002F0000A08DF3E08081F6C5B6C00E045047E07BF -:10030000003361B81F6C5B6C83B800E02A04403F87 -:10031000036D63982608403D050C424602030A64BB -:1003200020084098DF3A080C936CC76C00302A0311 -:1003300000E0C407036DDF3E620F6B034C61019860 -:10034000406D403D0A08936CC76C0B6C4F6C00E02D -:100350007F06836CC76CA3074198413A500BB607E0 -:100360005F4E002A47B807984198806C403A0408CD -:100370009F6CDB6CEB075703C964BF0C5803C9645F -:100380007F030C0C002B4D650F082098DF39970F69 -:100390005C037B030B6C4F6CA607012B4D65F60FBE -:1003A00018134165050C00982038F30F88070032B8 -:1003B00074131F6C5B6CC03600E04A0657467A1314 -:1003C000436D076D00E06006C36D876D57137813AA -:1003D000176C536C00E0580603B824B8003275134C -:1003E000176C536C00E05006836CC76C1213331308 -:1003F00000E02E06976CD36C00E04606836CC76C59 -:100400000030231300E0240605B8976CD36C26B89F -:10041000176C536C00E03806836CC76C05982698FF -:1004200000E032064613601300E02E06836CC76CB2 -:100430000398249800E00C06836CC76C436D076D2D -:100440001F6C5B6C00E0EC059F6CDB6C003023B82C -:1004500000E0FE05836CC76C176C536C00E0F80578 -:10046000076D219800294798486C4039436D020C6C -:10047000F005741261B86098003202984F6C00E089 -:10048000E7056398003200E0FF05C36D876D429871 -:100490006098176C536C00E0F705836CC76C1F6C99 -:1004A0005B6C00E0BD05C36D6098876D00322398DA -:1004B000003000E0E90502B803B824B8836CC76CCB -:1004C000476D1F6C5B6C00E0AB05076D3E110029AA -:1004D000056500B8030800E8B3027C11D060C06C69 -:1004E000403B0208B8054E116E110030219800E023 -:1004F000CB054B116B11F706D5115965A609136C85 -:1005000000327F1000E0C0050037036D476D342FC7 -:1005100014553D10AC454C4D04606E111C608D644B -:10052000F81004B8C86D090CCB119964900D836C58 -:1005300000220A1144B8C0610035C3456811234543 -:10054000D860409328B86193136C5F6C45B866B867 -:1005500000E07E0509B8459866982AB8136C5F6C70 -:1005600000E05E05836CC76C0030261000E0A60634 -:10057000836CC76C360400000000F07F000040432D -:100580000000F03F01FCFFFF000010C00000E03F52 -:100590000000C0FF0000E0410000F0439C750088AF -:1005A0003CE4377E4715F73F44DF5DF80BAE543E21 -:1005B0000000D03F555555555555D53FFE822B650A -:1005C0000000F0BF00009040000070BFFFFF0F0070 -:1005D0008E98030079B60B000000F0FF745D0000F8 -:1005E0000BB82CB809982A9800E04E0503B8803261 -:1005F0000157876DBD382C420460B2454061D76C0D -:1006000000325B6C003000E03F05836CC76C0998DA -:100610002A9800E01D0509B8459866982AB8003068 -:10062000576C00E01505836CC76C136C5F6C00E0C1 -:100630000F05DB6C003200E02705836CC76C09985E -:100640002A9800E005054B986C9800E01D0543983A -:10065000DB6C05B826B80B6C5B6C00E0150582EA14 -:10066000130183EA1301436D076D00E00D0582EA73 -:10067000110183EA110100E0D304976CD36C00E010 -:10068000030582EA0E0183EA0E0100E0C904976CBB -:10069000D36C00E0F90482EA0B0183EA0B0100E06D -:1006A000BF04976CD36C00E0EF0482EA080183EA90 -:1006B000080100E0B504976CD36C00E0E50482EA21 -:1006C000050183EA050100E0AB04C36D976CD36CB0 -:1006D00029B8176C536C00E0D704836CC76C1F6C8F -:1006E000299800E0D104436D076DDB6C003203985C -:1006F0005B6C00E095044598669800E0C504976C33 -:10070000D36C00E08D04436DDB6C29B800325B6C68 -:10071000003000E0B90400326F00C36D2AB800E079 -:100720007F04976C699800E07B04076DC76C00320A -:100730005B6C003000E0A8040BB82CB800327800E5 -:10074000536C003000E084049F6C6A9800E08004E1 -:10075000836CC76C176C299800E07A044398DB6CB3 -:1007600000E09204836D476DD36C003205982698A3 -:1007700000E08A04836CC76C1B6C576C00E050046B -:10078000C36D876D836CC76C0B982C9800E0480490 -:10079000E033584300306D01076D00E0750405B883 -:1007A00026B84B986C98536C003000E05104836C71 -:1007B000C76C1F6C5B6C00E04B045501770100E0D7 -:1007C0006304C36D476D57017701536C003000E03F -:1007D0005B04836CC76C1F6C576C00E02104DB0169 -:1007E000489888614496659600E01A0409B8049810 -:1007F0002AB800E06706836D0202476D1F20289823 -:1008000004608090E19049986A980598269800E0E5 -:100810000704936CDF6C00E003049B6CD76C00E072 -:10082000FF039B6CD76C003023B800E01104936C7D -:10083000DF6C00E00D044598669800E00904836CC5 -:10084000C76C09982A980B060037630601357606AF -:1008500077021106570276021F6C5B6C00E0E00322 -:1008600005B826B84298D76C0098536C00E0F003A6 -:10087000836CC76C0598269800E0CA0520380208EA -:1008800033062144014961030D64FD0C34504203D9 -:10089000803048604D40867090606142354B050362 -:1008A00040606503C6700B6C0D684C42C36C4C4ACB -:1008B0001430B43A25588670DF3C40B8050C409897 -:1008C00000340A6180B800320298576C00E0C0031F -:1008D00003B824B803989F6CDB6C249800E0A00355 -:1008E000003274030030076D00E0CE03476D43987B -:1008F000649802B8536C003000E0AA03836CC76CA4 -:100900001F6C5B6C00E0A4035D037C0300E0BC0390 -:10091000C36D876D5E037D03536C003000E0B4034C -:10092000836CC76C1F6C5B6C00E07A03076D836C93 -:10093000C76C03B8576C029800E072034298D76CFA -:10094000C36D876D00E08403836CC76C0398536CA0 -:1009500000E07E0302B823B89F6CDB6C1F6C5B6CFD -:1009600000E092034F137013436D076D00E08C039A -:100970004E136F1300E06C03976CD36C00E084039C -:100980004C136D1300E04C03976CD36C00E07C03B8 -:100990004A136B1300E05C03976CD36C00E07403A4 -:1009A0004813691300E03C03976CD36C00E06C03C0 -:1009B000836CC76C1F6C5B6C00E04A03436D076D72 -:1009C000836CC76C1F6C5B6C00E05E03803304B803 -:1009D00025B800327743176C536C00E03903836C01 -:1009E000C76C0498259800E06904076D436D429830 -:1009F00063981F6C5B6C00E047034298639800E0CB -:100A00000F03836CC76C176C536C00E021039F6C61 -:100A1000DB6C00E01D03836CC76C0030351100E017 -:100A2000170340987442C4609453203C2F0C4098A4 -:100A300000E09A000032619800E856FC01446148E9 -:100A40004212C9641F0F221250600098406C403956 -:100A50000B0C401260120030219800E015035D116C -:100A60007D1100E841FC4298D76C0098536C00E07F -:100A7000EF02836CC76C1F6C5B6C00E005052038CF -:100A8000010FE8070035A0B826074F6CD4070034E3 -:100A9000381000E8B5FB0034209800E8B1FB1F6D6A -:100AA0005B6C00E8ADFB0000EF4E454A287ECA3F74 -:100AB00065DBC9934A86CD3F01411DA96074D13FD2 -:100AC0004D268F515555D53FFFAB6FDBB66DDB3FE4 -:100AD000033333333333E33F0000084009C7EE3FAD -:100AE000FD033ADCF5015B14E02F3EBE745D0000AF -:100AF0000000F03FFE822B654715973C0000E03F69 -:100B000002FCFFFF01FCFFFFFFFF0F00432EE63F4B -:100B1000EF39FAFE422EE63F396CA80C615C20BE2C -:100B2000D0A4BE726937663EF16BD2C541BDBB3EF3 -:100B30002CDE25AF6A56113F93BDBE166CC1663FD1 -:100B40003E5555555555C53FFFCB904000346F3F3E -:100B500059F3F8C21F6EA501003300E894FB214150 -:100B600021493C78C114C76CC06C403B080C65102F -:100B7000076D0C69544290604D68486C8114000008 -:100B80000000F07FD41423147A12436D076D076CB4 -:100B90004C68C664976C1208D36C176C536C00E0F9 -:100BA0007302836CC76C176C536C00E03902436DA1 -:100BB000076D176C536C03149414203C130C6144A0 -:100BC000214B546C4039F60F403C0C0C976CD36CA5 -:100BD000176C536C00E03C02836CC76C00E06E0342 -:100BE000E7079454403C12084038760C80350033B7 -:100BF0002D45836D8469403E730C235B203606616E -:100C00008E614B6C5970046C8C707B110C610136D9 -:100C10000C4090690C48403EB438050C3F4AA14056 -:100C2000145941427F4AC060815480360031C0600F -:100C300082B8414216350E4620B880590D65060827 -:100C4000C0988061205CD260C0B8002D9F4A61438B -:100C5000403DD06041420148F10B203680340030E5 -:100C6000C1B89844C564D45C05084E641008886512 -:100C70000E0CDF3EB05E370CDF3D3508E25988656B -:100C8000C6600208002B9A6010605F6CDF4A8C61BE -:100C9000D860C198002E403E4142814CC1B8E30B60 -:100CA000C86C403B090C0033002BC2641E0800983E -:100CB000002000B8003001346098A0980C694155BC -:100CC0002E10403C48600148020CBF38A298944561 -:100CD0000461436D6F070B4A142C5542860701408F -:100CE00000238807C76DCC0700208038E507000087 -:100CF0000000F07F01FCFFFF0000E03F211420B85E -:100D00007F6C406020812141C463209801143C78AD -:100D1000D21400326C10436D076D00E09703DF388A -:100D2000060C176C536C00E0050492140032661038 -:100D3000176C536C00E08C0100E0FC0380337843B7 -:100D40000C6092140000E041C4142A146090013B2E -:100D5000CB6D670C4091013A660C443BDE0C443A83 -:100D6000620C423AB70C423B5E0C43906490829016 -:100D7000A29142B863B84391649140B861B8755C80 -:100D8000DF3B8F6CD2083F369964500C1565BF0C61 -:100D90000032003340B861B8619041918E64780CA4 -:100DA000403BAD0C009821984298639800640B601A -:100DB0004F60DF39BD08003361B782B7836CC76C01 -:100DC00003B724B70030003100280029016409600E -:100DD0004D608F035064670C0665FD0C0030229750 -:100DE00001280029D40302B8E0B803049665830CF7 -:100DF00001439F4A006DA142976CD36C00350034CB -:100E0000002C002D116509614D615865076C0029A2 -:100E1000EE0BE09843B764B7033302B760B71F6CBB -:100E20000A148414076C0A148414203B8C080033C1 -:100E30001F2BC860DF3B66B8BB08A1984D71A4B8F2 -:100E40000035A5B86698DF3B00350036AD080132A5 -:100E50008C708B6D00320033002A002B8964956002 -:100E6000D960A098C19848698C69976CDB6C8C6CD0 -:100E7000403A00355561976C0033A498C598486D89 -:100E80008C6D619041918E64A0B8C1B88A0B61B736 -:100E9000009821984298639889648160C56082B700 -:100EA00043B764B7033120B73B12C46410089F43B3 -:100EB000014A106C00350134214B9068D468806C75 -:100EC000C46C43B764B76297002362B71F6C0A14FF -:100ED0008414423BA60B60B7619061B7629062B721 -:100EE000639063B76490419164B76190C86861B7DB -:100EF0001F6C9707E2981C657C0B8C07029823985F -:100F00004098619800640B604F60540700320033D2 -:100F1000176D42B863B84107443A830B4190619121 -:100F2000CA647F0F1D117D0700328E602D070133CB -:100F300061B70032003388648360C76082B743B70B -:100F400064B74107403B290F00331F2BC860DF3BCC -:100F5000086166B849086398A698D57064B80033EC -:100F600065B86698DF3B003500363A0801328C7070 -:100F70008B6D00320033002A002B89649560D960A4 -:100F8000A298C39848698C69976CDB6C8C6C403A6A -:100F900000355561976C0033A498C598486D8C6DE9 -:100FA000A2B8C3B8FA060133C8704F6D54076198F0 -:100FB0001F36A1438A615871A9B8A098C198A7B8F3 -:100FC000C8B86798C970A998D46C64B86898C97093 -:100FD00065B83907003101290464010B6407013346 -:100FE000C8704F6DC7076398C1431F35695D5B6D5E -:100FF0004C71A9B8A298C398A7B8C8B86798C97027 -:10100000A998D46C64B86898C97065B8AB0700003B -:10101000FFFFFF0FFFFFFF1FA45D0000D01433147C -:1010200000B821B83B6C041963B842B800E0F4037F -:101030000919021800E0F0030E1A09190418FFE359 -:1010400085FE00E01B03131490140000D014331429 -:1010500000B821B83B6C041942B863B800E0DC0367 -:101060000919021800E0D8036A980132C96C0919FD -:101070000E1A04186AB8FFE369FE00E0FF021314B9 -:1010800090140000D4143B1408B829B808180C199F -:101090006BB84AB800E0C00311190A1800E0BC039D -:1010A0006C98013BAC0C5198013A9C0C443BA50C4C -:1010B000443A960C423BA30C423A940CEF98B498F5 -:1010C00075988F6D9F6C0033176C003100E09402AF -:1010D00004B825B89F6C00331B6C00319098C2B8DF -:1010E00000E08A02836DC76D42980033136C0031B3 -:1010F00000E0820206B827B8976C0033136C003109 -:1011000000E07A02016419605D60C465910C5E6460 -:101110008D0C0033003462B883B88498A5980036EB -:10112000C36D936CD76C89649960DD608B6DCF6DF6 -:10113000936CD76CDC64700CCE656C0C876C0033E0 -:1011400006982798016409604D60836CC76C02980B -:101150002398016409604D60836CC76C8E98339846 -:1011600004612E5C38B80D9832984264B012003198 -:101170004560D46437B879080424A4B8013000313C -:1011800008684C68046C403882B80E0C3F47014E2A -:10119000046C214F00B821B88031C098E19800302C -:1011A0003841806DC46D214BBF43014AC76C249800 -:1011B000406DC464976C0024E20F229838B8FF3069 -:1011C000003108684C6880340265370C59B87AB829 -:1011D000033376B8161800E051021B149414423BF6 -:1011E000420C72984D98CA640033CD60111872B8E1 -:1011F00000E044021B149414423A350C4D98729846 -:10120000CA640033CD600C186DB800E037021B14BF -:1012100094149864940B8298A3980132003311655A -:1012200009614D6182B8A3B88A078065730B0033EA -:10123000013462B883B872074039C90B803121414B -:1012400048684039C40B5B6C5C6C4039C00F80301F -:101250000031016409604D60FF34436D5169976C42 -:10126000C76CB5071310B8073310C464A90F022464 -:1012700022B81F4A2143A142046CDF3F80B8976C1B -:10128000C36C070C01300031086C4C6C836CC76C6C -:1012900021471F4E046C2298A146C464976DC36D0C -:1012A000002CE80B209838B88B070000FFFFFF1FC9 -:1012B000A45D0000FFFFFF0FD414321404B825B85A -:1012C0000418081967B846B800E0A6020D190618F8 -:1012D00000E0A2026898013B660C2D980139920C3F -:1012E00049980E98816C443B49B8620C423B600CB3 -:1012F0004439620C4239820C2A986F984E6090985B -:10130000B1984B986C984C652AB8936DD76D050CC5 -:10131000D6640B08086509089F4A0143A142006D85 -:101320000029976CD36C2AB80030003102B823B87A -:1013300080313D3400303541C0B8E1B8A098C19843 -:101340008C65100CDA64030848650C0CA298C398ED -:10135000406D846DA2B8C3B8A098C19888649760A6 -:10136000DB60BF41E148976DA1499C6D576CBF4A56 -:101370001B6C002C976DA143946D6142403CCF6D76 -:101380008F6CDB6CDC0BFF3000318298A398006916 -:101390004469136C576C80340265150C629883980D -:1013A0006BB88CB8081800E06901121494144E64EC -:1013B000FA0B1610F907003300346BB88CB86AB812 -:1013C0000818F2074039EB0B803121418298A3982D -:1013D00050684039E40B986C403AE10F803200339A -:1013E000136C576C016409604D60836CC76C0B6CA7 -:1013F000FF31056802B863B8D207043368B808182B -:10140000D3070D18D1070000A45D0000D0142E14DE -:1014100000B821B83B6C041963B842B800E0FC0185 -:101420000919021800E0F8016498013B0A0C699858 -:10143000013B070C0919041800E050020E14901427 -:10144000003000280E149014D0142E1400B821B8C7 -:101450003B6C041963B842B800E0DE0109190218B8 -:1014600000E0DA016498013B0A0C6998013B070C23 -:101470000919041800E032020E14901400300028FC -:101480000E149014D0142E1400B821B83B6C04191B -:1014900063B842B800E0C0010919021800E0BC01BD -:1014A0006498013B0A0C6998013B070C0919041860 -:1014B00000E014020E14901401300E149014000079 -:1014C000D1142514033360B840387F4861B8080848 -:1014D000023360B83B6C00E0D10005149114DF3892 -:1014E0001208036D136C00E0A9001D328060022811 -:1014F000DF3810080071003384B863B83C33CA6029 -:1015000062B8E90780337843C2640D0C003402618D -:10151000EA071F31614C4A60136CC570087064B8EB -:1015200003B8ED0700302210D90700000000E0C129 -:10153000D014271400B821B83B6C021900E06C01EC -:101540006298023B200C443B160C6498DF3B1B085E -:101550003E3B110C3C326D5A00321F2A8C60DF3A40 -:101560001508069809706398403B0B0C0033015B2B -:10157000071490146398403B0030016068100C60C1 -:101580000714901400300714901446981F314142FC -:101590004E60059884700D70086CE607FFFFFF7FB2 -:1015A000D214251440380035036DA1B8150C03334F -:1015B00060B800E043001D3280600228DF38130865 -:1015C000007184B8A3B83C33CA603B6C62B800E0D9 -:1015D00055000514921402333B6C60B800E04E00D5 -:1015E000051492141F31614C4A60C570087164B8CB -:1015F00083B8EA07C41421140175B048C975836D16 -:1016000020B8136C304A1C7C047DD47D1C61447D61 -:1016100030480461D0650408803129414461304C70 -:10162000D87C44614F6C6098C87C90444C600174D5 -:1016300010605460011484146D100C64070CFF33A7 -:101640000C640F0C2033003206046A100C640C0882 -:10165000083318320970481008604080095B3C78F4 -:1016600018330832F80710331032F507FFFF000077 -:10167000FFFFFF00B85D0000C41422146090013B1E -:10168000C390E4902190460C443B400C423B270C15 -:10169000DB6CDC6C403B230C62905A128D64550865 -:1016A0005912C9643308FF34003518695C69803207 -:1016B00092643F0C7F34003599659161D561531276 -:1016C000C8651A0C90120C611847684F484E806C20 -:1016D0000C436C480E124B6D006904040034003258 -:1016E00000330C430C4874449F41436C4C6C506C69 -:1016F0000B6C021484149F47014E006D936D80346F -:10170000414F8344CB6D0C61E007811200320033FE -:10171000E907084E9847006D80350547936C6D4882 -:101720000034AC45906CD46C0C436C489811DA07CB -:10173000403DC10B41429868403AC20F80340035A9 -:1017400099659161D561BC076D5A3832C964C70B80 -:1017500000321F2A8C60DF3A48081F6C097000B8FD -:10176000003001B8DF3A3C080133C8704F6D0033D8 -:101770000F6D00320033002A002B116509614D61A5 -:101780009069D4699C6D403E00300160836C0033E9 -:101790008098A198086D4C6DFF3200339068D46832 -:1017A00080300A641B08403B190880336143D068CD -:1017B000403B060C80320033116509614D611845CC -:1017C000484C684D9310806C50650C436C48013058 -:1017D000020C00308E10006985077F32ED07013260 -:1017E0008C7000350B6DC6071F340E6101471070F9 -:1017F0001B6D0D71006D1F6C0D7080B801B8B307C3 -:1018000002FCFFFFFF030000FFFFFF1FFF070000B8 -:10181000FFFFFF0F231480B8C1B8E2B843885142DC -:1018200061908090554A07806C430748403A6C4B62 -:1018300001B11908936C8C6C403A2D0C584C6843DC -:10184000C86C0332084440B18111C2115F48614342 -:10185000C86CD864936C0140002CF90B42B103B101 -:1018600064B114041C100A64190C1910806042B190 -:101870000332E84340B18033584CC86DC84400324D -:101880007543886DCC6DC3B1E4B1E298C19880987E -:1018900003143C78023360B1F907936C8C6C403AC6 -:1018A000100C80324C428C68403A0E0C013240B130 -:1018B000584C6843C86C08449B3B03B164B1E607CD -:1018C000043360B1E30740B1F407000001FCFFFFFF -:1018D000FFFFFF0FFF070000C1146090013B120CD7 -:1018E0004091013A0F0C443B170C443A0F0C423B19 -:1018F0000B0C423A130C619041918E64140C403BE6 -:10190000080801308114423A280C6191403BFA0BDF -:10191000003000288114443A220C6190403BF90BBE -:101920000130F107829042910965EA0B91640D083C -:1019300044908390039124918464E20F4A640308E5 -:101940000065DE0F48640508403BE30F0130DB070C -:10195000866403081064F90F00308114619141908E -:10196000095B8114C3144474403A1F0C436D036D2A -:1019700003361869403C1A0C20A5002A403A150C81 -:101980000025176D03361869403C100C20A5002A6D -:10199000403A0B0C0025176D03361869403C060CC5 -:1019A00020A5002A00250204831468414C6C704174 -:1019B0004C6C2F3A090820B521B522B523B50F2A62 -:1019C0000F252F3AF90F233A0608032A20B50325DD -:1019D000233AFC0F403AE90F002A20A5403AE50FD0 -:1019E000002A21A5403AE10F22A58314C314836D78 -:1019F000076D186D03330C69403C0B0C403A080C22 -:101A000060810021002A60A60026403AFA0B831468 -:101A10002F3A0E08A09161918291A0B6A39161B670 -:101A200082B6A3B60F2A0F210F262F3AF40F233ABE -:101A300008086091032A032160B60326233AFA0FAF -:101A4000403AE60F60810021002A60A60026F907CF -:101A5000D014091029104264050C49108260FFE37C -:101A6000C7FF481008100A64050C82600031FFE3CC -:101A70007BFF901400000020DC5F0000A800002025 -:081A8000D4070020A80000209B -:101A880048380A087A10FF32209360914C42C9689E -:101A9800AE3BB23B60B1771060934193806C41B329 -:101AA80043938068403AFD0F423807080231449357 -:101AB8008468403AFD0F3C78023809084138FC0B2D -:101AC800013144938468403AFD0FF6074838070807 -:101AD800083144938468403AFD0FEE075038EC0B08 -:101AE800103144938468403AFD0FE6074C0000200B -:041AF8005C0000206E -:101AFC006C104D10609345B34C1046B34C1047B36B -:101B0C004C1050B30A3253B32B107F23003245B321 -:101B1C0046B32DB329102EB35DB35EB35FB33C78DF -:101B2C005C000020FFFF0000FFFFFF0000002DD233 -:0C1B3C00FF3BFF700C070000FE030000E0 -:101B4800D0144038050C076CFFE39CFF9014681014 -:101B580060934293846C42B343938468403AFD0B8C -:101B68007F230193406C21B3F20700005C00002042 -:101B7800C214483B28089D1001358094A1B404354F -:101B8800A5B4835B013C2B0C8B5B043C030C4B3BE7 -:101B9800070876100134609381B3003485B394103C -:101BA800106C7410406C6093803027B3014024930C -:101BB80040684039FD0F3010486C28B328934A64B8 -:101BC800FE0B8214403B030C493B07088710013584 -:101BD8008094A1B40235A5B44A3BD40B83100135D7 -:101BE8008094A1B4A5B4D1076000002000002DD2D4 -:081BF8005C00002000003CC36A -:101C0000D114036D10310030FFE3A0FF6610609324 -:101C1000199384388538106C19B31030FFE336FF00 -:081C2000911400005C0000209B -:101C28006C10403860937F230A0C4B1080314FB3FF -:101C380025414D938468403AFD0F3C784710803128 -:101C48004FB325414D938468403AFD0BF7070000D8 -:0C1C58005C00002000008778AA55877807 -:101C64006410B43260937F2357424EB33C78000033 -:041C74005C000020F0 -:101C780044106510486C6093046C7F230DB33C7866 -:081C8800000078875C000020D9 -:101C9000C3148398C510186DD06C8C6C486CA4105C -:101CA000046CA09513B5831400004BB45C000020B5 -:101CB00066108031609380324C60444241B15D9344 -:0C1CC000AB3A5DB33C7800005C000020F3 -:101CCC0066108031609380324C60414241B15D932B -:0C1CDC00A83A5DB33C7800005C000020DA -:101CE800403A040C413A0E0C3C786D104038609331 -:101CF8007F234593040C486C25B3F707856845B3E3 -:101D0800F4076710403860937F234693040C486CAF -:101D180026B3EB07856846B3E80700005C0000209F -:101D28006B104C1060937F2340384BB30C0C4793D7 -:101D3800846C47B349938468403AFD0F4B93486CD1 -:101D48002BB33C784893486C28B3FC075C00002010 -:041D5800FF3F000049 -:041D5C002BB03C78F4 -:101D600080336F43421060B23C78000000E100E035 -:0C1D70000232621040B33C7800E100E059 -:0C1D7C000232621040B33C7880E100E0CD -:101D880066104710271040B341B342B343B344B37E -:101D980045B326B347B33C7800E400E0C0C0C0C0F8 -:041DA800C000C0C0F7 -:101DAC00C114624842436A1003346093C8608032A5 -:101DBC0043421068C8600340FF34409300712641D1 -:101DCC0091684070486C20B38114000064000020BE -:101DDC0075103610161040936092784B784360B2B1 -:101DEC002091003361B260B161B162B262B163B291 -:101DFC0063B164B264B165B265B166B266B107B283 -:101E0C003F3007B168B268B169B269B16AB26AB100 -:101E1C006BB26BB14710409260B261B262B20F33D9 -:101E2C0063B23C784C00002048000020FFFF00000B -:041E3C00440000203E -:101E4000D1140739036D3008035906382708FFE31A -:101E500057F7041013161A1D210000330431F02B1C -:101E6000403A4094C8681E0C01328470C86C60B45B -:101E7000911408316611F5070C316611F207103123 -:101E80006511002BEE0714316411FC07F133183192 -:101E90007843F8071C316211E407003300310F2B3F -:101EA000E0070232E3070F39E40B08290639076C13 -:101EB0002708FFE325F7041013161A1D210000332D -:101EC0000431F02B403A4194C8681E0C01328470F2 -:101ED000C86C61B4CE0708316D10F5070C316D1078 -:101EE000F20710316C10002BEE0714316B10FC0759 -:101EF000F13318317843F8071C316910E4070033D7 -:101F000000310F2BE0070232E3070000FFF0FFFF74 -:101F1000FF0FFFFF0000F1FF000010FFFFFFFF0FAA -:101F20002141033268908470C96801328470C86CA2 -:041F300068B03C78E1 -:0E1F3400214101334990C470C86C69B03C78FB -:101F4400C11422140F3A4F08CB6C833B403B130857 -:101F54000F2B61B80033073A6EDC03007611380C9E -:101F64004093619281982ED80300D06804700C6C61 -:101F740001B23704413B06080033F02B61B8043347 -:101F8400EB07423B05086D1161B80833E507433B95 -:101F940005086B1161B80C33DF07443B060869116F -:101FA400002B61B81033D807453B06086611002B97 -:101FB40061B81433D107463B0708F1337843002B4B -:101FC40061B81833C907611161B81C33C507409360 -:101FD400609281982ED80300D06804700C6C00B213 -:101FE40002148114133AFD0B4038140800330F2BEC -:101FF400C860013BF60B503A6F100608409362929A -:102004004C6C22B2EE07609342932441486C22B395 -:10201400E8074238E60B0033112BC860013BE10BA3 -:102024006510523A6093429303082841F0072C410B -:10203400EE07000044000020FFF0FFFFFF0FFFFF4A -:0C2044000000F1FF000010FFFFFFFF0F85 -:10205000D01405380D087910FFE352F6030A101862 -:102060001F26409360920F31C568A03B60B2901468 -:1020700040936092F031C568A43BF9072093F03299 -:1020800060914442C968A83B60B1F2072093F032E6 -:1020900060914842C968AC3BF8072093F0326091E8 -:1020A0004C42C968B03BF1072093F0326091504236 -:0C20B000C968B43BEA07000048000020AB -:0820BC000133C47063B03C78ED -:0820C4000133C47064B03C78E4 -:1020CC004590013385708C68403AC470030C64B041 -:0620DC003C7863B0FE0732 -:1020E20001334690C4708C68CA64036400743C78FF -:1020F400641040936192AC3BAE3B61B23C7800000B -:0421040014000020A3 -:10210800631060934093086C00B33C781000002083 -:10211800003360B061B062B063B064B065B066B0FF -:0C21280069B06AB06BB06CB06DB03C7870 -:082134006090A03B60B03C7814 -:0A213C006090AC3BAE3B60B03C7815 -:10214600C314A498976D8398186DD06CA1904C6CAD -:08215600546C21B042B0831467 -:10215E00C41421148598D36D869880B88798936D92 -:10216E00A898586DC098586D5C6DD46C8C6C81902D -:0C217E00486C046D9F6D81B00114841446 -:06218A0023B044B03C78D4 -:1021900040396B90040C8C6C4BB03C78C9686BB0C8 -:0221A000FD0739 -:1021A40080337643421060B23C78000000E100E0E6 -:1021B40065100032609340B341B342B343B344B3B8 -:0821C4003C78000040000020FF -:1021CC0065100032609340B341B342B343B344B3A0 -:0821DC003C7800003C000020EB -:1021E40065100032609340B341B342B343B344B388 -:0821F4003C78000038000020D7 -:1021FC0065100F32609343B380336743431060B272 -:0C220C003C7800003C00002000E100E0F5 -:1022180065100F32609343B380336843431060B254 -:0C2228003C7800003800002000E100E0DD -:102234004038210840390A087711FF3140936092F1 -:10224400C568A23BA63B60B215044139130872115C -:10225400F031409360923041C568E0312F41C46C45 -:1022640060B2F03161922C41C568E0312B41C46CFD -:1022740061B23C7841382D084039140867110F3198 -:1022840040936092C5680731C46C60B2F032621149 -:10229400504220936191C968E0324F42C86C61B1E9 -:1022A400E90741390C087C10FF3220934C426091BD -:1022B400C968EE324B42C86C60B1DC074239DA0BB4 -:1022C4007510EE32209361916843684B5742E707DB -:1022D4004238D00B403909086F10FF3140936092A7 -:1022E400C5687731C46CB007413909086A10EE3209 -:1022F400209360916843684B5742DE074239BA0B1A -:102304006610FF32209350426091C968CC324F422C -:0C231400D30700004C000020480000200F -:1023200063108C6C42B024B03C7800000F000800B1 -:10233000C214C76C0135855B9064020C82148083E3 -:0E23400080B081901469403CFD0B0023F5072E -:102350006810803260938C6027103AB24193FE314E -:10236000846841B3013141938468403AFD0B3C7865 -:08237000200000203AC75AA525 -:10237800C414221465118611609388B3073483B39B -:10238800013406B384B38493403CFE0B02212249F6 -:102398002241486020B8295821B820984A64260864 -:1023A80006315B1048B323B3013106B324B3249339 -:1023B8004039FE0B48B3013243B306B344B34A93E2 -:1023C800443AFE0B0231521048B323B3013106B32D -:1023D80024B32A934139FE0B48B323B306B324B37D -:1023E8004A93423AFE0B02148414E08281828844A4 -:1023F80022821C61A3823041C1985060B84588612F -:10240800546020B60322CA07600000205A5A5A5A5C -:10241800C314003303354E64CC5A02088314403B7E -:10242800060C0F6D1469403C020803200F6D1469F7 -:0A2438000061808480A60023EF07F6 -:10244400D01400E0A5006B1046832B10003000E090 -:102454003D09FFE307FC00E0130700E0690700E023 -:10246400B31000E00F0C00E0CF0A00E0C708F20749 -:0824740048040020B85E0000DE -:10247C00D014231432320033087C62B801B860B82F -:10248C0040986198C864030C03149014629800235C -:0C249C0062B8FFE3E3FB60980023F20746 -:1024A8002314003362B801B860B840986198C864D2 -:1024B800030C03143C786298002362B860980023E8 -:0224C800F40717 -:1024CC00D2142414951000350094FFE321FE0094DF -:1024DC00A1B8A0B8083300320131FFE330FE8033DD -:1024EC00634361B800940033A3B8A2B8A0B800321B -:1024FC008031FFE330FE013229100094FFE341FEEE -:10250C000094FFE313FE009402320131FFE33CFE22 -:10251C00FFE344FE0414921408000020AC120000E7 -:10252C00D0142114FFE3E6FA01310130FFE308FB7C -:10253C000030FFE361FB803108330032214102306F -:10254C00FFE316FB803018310240FFE391FB0130B2 -:10255C00FFE366FBFFE382FBFFE3B4FB403360B8B1 -:10256C00C03180336443003223410030FFE38CFBE5 -:10257C00FFE39AFBFFE3F8FB003000E0B51A01140F -:02258C009014A9 -:10259000D0147F105F1000316093803020B20C6047 -:1025A000049000B25C1020B2803121414C60209137 -:1025B00020B25A104AB301314DB34C938468403A6B -:1025C000FD0FFFE3B5FF00E07305FFE3DFFB013123 -:1025D0000F30FFE3EDFB01310E30FFE3E9FB01318A -:1025E0001630FFE3E5FBFFE3FBFBFFE371FF2C107D -:1025F000023000E063052B10013000E05F0500E0D1 -:10260000FD0800E09D0F00E0230990145C0000200D -:10261000AC000020A8000020FFFFFF0F484400008E -:04262000443E000034 -:1026240060146214036C7A1180326093C86023933F -:10263400013040684039040C01B3631461142393DE -:10264400023040684039F90B239308304068403920 -:10265400F40B2393103040684039EF0B2393486800 -:102664004039030C41B3EA0780322393414248685E -:102674004039F90B80322393424248684039F30BC6 -:1026840080322393434248684039ED0B80322393D0 -:10269400444248684039030C036CE50780322393B5 -:1026A400454248684039DF0B8032239346424868EC -:1026B4004039D90B80322393474248684039D30BC1 -:1026C400803223934B4248684039CD0B80322393A8 -:1026D4004C4248684039C70B803223934D424868C6 -:1026E4004039C10B803223934E4248684039BB0BBA -:1026F400803223934F4248684039B50B803223938C -:10270400564248684039AF0B990700005C0000202E -:10271400601462147810013160934B938468403ADA -:10272400040C2CB3631461144B9302318468403A53 -:10273400F90B4B9304318468403AF40B80322B93A9 -:10274400454248684039030C4CB3ED0780322B9363 -:10275400464248684039F90B80322B934742486817 -:102764004039F30B80322B93484248684039ED0BD3 -:08277400DA07000060000020FC -:10277C006014621478100131609348938468403A75 -:10278C00040C27B363146114489302318468403AF3 -:10279C00F90B489304318468403AF40B4893103198 -:1027AC008468403AEF0B489320318468403AEA0B36 -:1027BC00489340318468403AE50B489380318468F3 -:1027CC00403AE00B80322893494248684039DB0F8D -:0827DC0047B3D90750000020AB -:1027E40060146214D114871380326094C8603593E6 -:1027F400013040684039030C17B324043593023088 -:1028040040684039FA0B3593043040684039F50B81 -:102814003593083040684039F00B359310304068E8 -:1028240040391F0C17B3003201310030FFE35CFA6A -:10283400013201310130FFE357FA60944B93721275 -:1028440040B360948032C8602B93013040684039B3 -:10285400610C0DB3EED90120809802146314611445 -:102864003593203040684039100C17B300320131E1 -:102874000130FFE339FA013201310030FFE334FA69 -:1028840060944C936112DD073593403040684039C1 -:10289400B40B359348684039030C57B3D3078032DF -:1028A4003593414248684039F90B803235934242AE -:1028B40048684039F30B80323593434248684039C5 -:1028C400ED0B80323593444248684039E70B80323F -:1028D4003593454248684039E10B8032359346428E -:1028E40048684039DB0B80323593474248684039A9 -:1028F400D50B80323593484248684039CF0B80323B -:1029040035934942486840399D0F57B3FFE320FD92 -:1029140099072B930230406840399C0B2B93043069 -:1029240040684039970B2B93083040684039920B2C -:102934002B931030406840398D0B2B932030406826 -:102944004039880B2B93403040684039830B2B93DC -:1029540048684039030C4DB37E0780322B934142C3 -:1029640048684039F90B80322B9342424868403919 -:10297400F30B80322B93434248684039ED0B6B07CD -:0C29840020000020E0010020DC01002009 -:1029900060146214D214AB100134609585B3FF301B -:1029A000FFE3B4FB40956392D068403B020C85B2D4 -:1029B000EED90220A19880980314631461140000DA -:0429C00010000020E3 -:1029C400601462147E10013160937F2355938468F0 -:1029D400403A040C37B3631461145593023184688C -:1029E400403AF90B559310318468403AF40B5593EF -:1029F40020318468403AEF0B803235934142486875 -:102A04004039030C57B3E807803235934242486893 -:102A14004039F90B80323593434248684039F30B0F -:102A240080323593444248684039ED0B8032359307 -:102A3400494248684039E70BCF07000024000020D2 -:102A4400601462147910013160934A938468403AA7 -:102A5400140C57102BB34CB34293846C42B38032A2 -:102A64004D4240B3023142938468403AFD0B429395 -:102A7400803A42B3631461144A9302318468403A41 -:102A8400030C2BB3F8074A9304318468403AFA0BD9 -:102A94004A9308318468403AF50B4A9310318468AC -:102AA400403AF00BE80700001800002053CA000069 -:102AB40060146214D01476100231609343938468D6 -:102AC400403A0B0C23B30093007400E0A103EED949 -:102AD4000020011463146114439301318468403A63 -:102AE400030C23B3F507439308318468403AFA0B87 -:102AF400439304318468403AF50B803223934C426B -:102B040048684039E50F43B3E30700004000002064 -:102B140060146214D0147F1002316093439384686C -:102B2400403A0B0C23B30093007400E08D03EED9FC -:102B3400002001146314611423930132486840395E -:102B44000D0C43B3741040B374106093413BF00B0D -:102B540053106092002360B2EB07439308318468FA -:102B6400403A030C23B3E407439304318468403AA6 -:102B7400FA0B803103932C4104684038D90F23B3F6 -:102B8400651040B365106093413BD20B4510E207DA -:102B94003C00002034010020380100203C010020CA -:042BA40040010020CC -:102BA80060146214D0147F100231609343938468D8 -:102BB800403A0B0C23B30093007400E09503EED960 -:102BC80000200114631461142393013248684039CA -:102BD8000D0C43B3741040B374106093413BF00B79 -:102BE80053106092002360B2EB0743930831846866 -:102BF800403A030C23B3E407439304318468403A12 -:102C0800FA0B803103932C4104684038D90F23B361 -:102C1800651040B365106093413BD20B4510E20745 -:102C28003800002024010020280100202C01002069 -:042C38003001002047 -:102C3C006014621478110131609347938468403AB0 -:102C4C00030C28B30704479302308068403A040C05 -:102C5C0008B363146114479304308068403A550CF0 -:102C6C0008B30293AA3282643E080231439384680B -:102C7C00403AFD0F113242B3103143938468403A0D -:102C8C00FD0B023143938468403AFD0F123242B37C -:102C9C00103143938468403AFD0B023143938468AE -:102CAC00403AFD0F133242B3103143938468403ADB -:102CBC00FD0B023143938468403AFD0F143242B34A -:102CCC00103143938468403AFD0B0231439384687E -:102CDC00403AFD0F153242B3103143938468403AA9 -:102CEC00FD0BB80743938468403AB40B42B31031E0 -:102CFC0042B342B342B342B342B342B342B343933F -:102D0C008468403AFD0BA607479308318468403A23 -:082D1C00990BA0073400002010 -:102D24006014621473100431609349938468403AC8 -:102D3400020C2BB3499301318468403A020C2BB343 -:102D4400499302318468403A030C2BB3100449932D -:102D540008318468403AFA0B499310318468403A48 -:102D6400F50B499320318468403AF00B63146114E5 -:042D74002C0000200F -:102D7800601462146A10013160937F234C93846855 -:102D8800403A040C2BB36314611480322C934942EB -:102D980048684039F90F4BB3F70700005C00002082 -:102DA800601462146A10023160937F234C93846824 -:102DB800403A040C2BB36314611480322C934A42BA -:102DC80048684039F90F4BB3F70700005C00002052 -:102DD800601462147010043160937F234C938468EC -:102DE800403A040C2BB3631461144C930831846883 -:102DF800403AF90B80322C934B4248684039030C17 -:102E08004BB3F20780322C934C4248684039F90B97 -:082E1800EB0700005C00002044 -:102E200060146214D014791080326093C8602C93BF -:102E3000103040684039030C0BB309042C93203048 -:102E400040684039090C0BB300E01404EED90020AF -:102E50000114631461142C93403040684039ED0B29 -:102E60002C9348684039030C4BB3F10780322C9304 -:102E7000414248684039F90B80322C9342424868FD -:0C2E80004039F30BE40700005C00002068 -:102E8C00601462147610803260937F232C9343423B -:102E9C0048684039030C4BB31F0480322C934442D6 -:102EAC0048684039F90B80322C93454248684039C8 -:102EBC00F30B80322C93464248684039ED0B80323C -:102ECC002C93474248684039E70B80322C93484298 -:102EDC0048684039E10B6314611400005C00002069 -:102EEC00601462146B10013160934E938468403A05 -:102EFC00030C30B30B044E9302318468403AFA0B46 -:102F0C004E9304318468403AF50B6314611400004D -:042F1C00140000207D -:102F2000601462147110013160934C938468403ACC -:102F30000A0C2DB34193863A41B34093003240B31B -:102F4000631461144C9302318468403A030C2DB32E -:102F5000F8074C9304318468403AFA0B4C930831DB -:0C2F60008468403AF50BED070C000020DF -:102F6C0060146214D0147910013160934C9384680E -:102F7C00403A030C2DB318044C9302318468403A48 -:102F8C00180C2DB3721040830022887421930021F9 -:102F9C00093A40A321B3080C003240A3429300220B -:102FAC0042B300E04103EED9002001146314611414 -:102FBC004C9304318468403ADE0B4C93083184689E -:102FCC00403AD90BF107000008000020B0000020A7 -:022FDC003C783F -:082FDE00601462146314611415 -:082FE60060146214631461140D -:082FEE00601462146314611405 -:082FF6006014621463146114FD -:082FFE006014621463146114F5 -:083006006014621463146114EC -:08300E006014621463146114E4 -:083016006014621463146114DC -:08301E006014621463146114D4 -:083026006014621463146114CC -:08302E006014621463146114C4 -:083036006014621463146114BC -:10304000C11400C0236080C020704610003440923C -:1030500084B2BF3B00B221B203C02064029281144B -:04306000000000204C -:10306400C11400C0236080C0207046100134409217 -:1030740084B2BF3B00B221B203C020640292811427 -:043084000000002028 -:10308800C11400C0236080C02070461001344092F3 -:1030980084B2BF3B00B221B203C020640392811402 -:0430A8000000002004 -:0630AC0080C120743C7895 -:0630B20080C020703C7894 -:1030B800D2144138076D1D0C4038040C42383F0CBF -:1030C8009214FFE375F800310030FFE3B1F86212A3 -:1030D800D03100930032A1122141FFE31FF974326D -:1030E8000031176CFFE33CF403337AB59CB5E9076C -:1030F800FFE36AF802310130FFE39AF878110032F1 -:1031080000933811FFE30AF9FFE376F874320031CF -:103118001511FFE325F4751199B3033294110D319C -:1031280057B300940032FFE389F60D310094FFE3B2 -:10313800FFF600940D31FFE3C3F7C3077432003183 -:103148000C11FFE30DF4883200310B11FFE308F492 -:103158006A11013245A36A1196B303328911053108 -:1031680054B30094FFE3DAF6053205310230FFE389 -:10317800E7F60530FFE36AF7013220310130FFE35B -:10318800B1F5003220310130FFE3ACF520310130D8 -:10319800FFE3C8F520310094FFE3DEF5FFE3DEF539 -:1031A800FFE31EF802310230FFE342F876100032E6 -:1031B80000932C10FFE3B2F8FFE32CF80032033140 -:1031C8000094FFE33BF603310094FFE3B1F600946B -:1031D8000331B207400000200C0200203C00002010 -:1031E80088130000800200208C0200204C00002080 -:1031F800F402002068030020C80300200C0300200C -:083208004800002038000020FE -:10321000C1146B10338B62324964030C003253AB20 -:10322000338B825993AB47106710486060937BB231 -:103230005F22013300A164A2811400004C0200202F -:083240000C020020B800002080 -:10324800C1146B102D8B62324964030C00324DABF4 -:103258004D8B2810825A8460732200A27F21461069 -:10326800409258B101328DAB58A38114CC02002092 -:083278000C020020B800002048 -:10328000D414B5107885413B25089410D41060966D -:103290005894CA605794C8641D08FFE371F5ED8D1A -:1032A00060969F6C2F101010D01078B4FFE3A0F33D -:1032B00000336DAD78A5F2AEFFE35CF57994403B49 -:1032C000040C328E0810CD7B643200310610FFE30F -:1032D0004BF39414CC0200208C020020B800002094 -:0C32E00080020020BC000020FC00002048 -:1032EC00C1144E10208A62334D64030C003360AA63 -:1032FC00608A2B10825BC460E72300A380AA69104C -:10330C00409380336143C46055B3A63361434C6032 -:10331C00013360A1811400005A0300200C0200202C -:04332C00B8000020C5 -:10333000D4142114B7106085413B28089610D7108B -:1033400060965594CA605494C8642008FFE318F549 -:10335000609675B4618D8F6C31101210D21060B808 -:10336000FFE346F3609872AE003361AD60A5FFE302 -:1033700001F57694403BE65D040C328E0910CD7B5E -:10338000643200310710FFE3EFF2011494140000DF -:10339000580300200C030020B8000020F402002095 -:0833A000BC000020FC0000202D -:1033A800D414221400B8C76D0034A411C4117E953A -:1033B800413B360CFA300140FFE374F8FFE377FE37 -:1033C8000D310096FFE378F601337FB500327D10AA -:1033D80040B361B841B3FFE367FE5B1000922098E9 -:1033E8009F6CFFE3A3F76198643060B80024FFE3A3 -:1033F80059F863320865080C60984093C965F50B65 -:103408004193C965F20BFFE352FE00960D31FFE3CD -:1034180057F600337FB5FFE347FE02149414643077 -:10342800FFE340F800246433D264C50F0D310096E1 -:10343800FFE34AF6BD070000BC0000204C00002056 -:083448003C0100203C000020C3 -:10345000D414231402B820B800358911C9117A9404 -:10346000413B3E0C6811C483403E61B84508E511FC -:10347000FFE321FE03310097FFE322F6013261985A -:103480005BB444A3DCB446A3DDB4FFE311FE5F10DC -:10349000009222984098FFE34DF76430FFE306F86E -:1034A000002563334C65080C7C9440988D64F60BC2 -:1034B0007D948D64F30BFFE3FEFD00970331FFE382 -:1034C00003F600337BB47210409372105FB36198BF -:1034D000003246A3FFE3ECFD1B6C0314941464302C -:1034E000FFE3E4F700256433D664BD0F0331009693 -:1034F000FFE3EEF5B5070136F0070000BC00002041 -:1035000048000020C803002038000020B800002038 -:04351000680300202C -:10351400D41421146359CD746334D06400B8290CD5 -:10352400413A040C01300114941475106037CC61D5 -:10353400C8874A8798641F088034B2100C610194CC -:10354400409582601E9308641808403E070C40951D -:10355400C0949A607D93C864E60F0098FFE378FFF7 -:103564004038E10B609560B46887002368A7DC07E6 -:103574000430DA070330D8070230D6076803002086 -:04358400B80000206B -:10358800D41422148B6D479840B84359476D8974F9 -:1035980063318464C36D200C911064320031136C64 -:1035A80061B8FFE3DDF1976C136C5F6CFFE31CF20D -:1035B8004032906061987EB4B7AA60334098D0607A -:1035C8005DB4013249A347A30032CAA348A37F24AC -:1035D8006410609361B4021494140000680300201E -:0435E800B800002007 -:1035EC006310003249A347A33C780000C8030020B5 -:1035FC00D1148A106984413B0E086910378B013253 -:10360C000810FFE383FF07A40128007401380308A6 -:10361C00003369A491140000C8030020A803002003 -:04362C00680300200F -:10363000D214AE10603414616484403B150C66846F -:10364000413B120CFFE337FD6584413B0B086810DA -:1036500040937F958E607C950523C864030C0033EE -:1036600064A4FFE325FD921468030020B800002045 -:10367000D21494106035FFE31EFD5061013364A540 -:103680000A317110409300938033D06060935FB42F -:103690000E60FFE3FBFC1CB405318C100094FFE3CB -:1036A00022F541380608013365A5FFE301FD9214B8 -:1036B00000940531FFE317F54038F80B0033F507A8 -:0C36C00068030020B80000204800002033 -:0C36CC00231462B841B820B803143C7805 -:1036D800C36C406000304E6402083C784083086048 -:0636E80000740023F90745 -:1036F000D1143B14036D003364320031021860B8FA -:103700006EDC0210FFE330F1BB6C04311410FFE3F8 -:1037100085F64ED80000A633CA64040C01301B1491 -:1037200091142ED802006ED8010028414C6C6433ED -:103730004C64F50F021A0B10FFE370F60831021803 -:10374000FFE3CCFF6ED803000E64E90B08320219C8 -:10375000136CFFE34DF10030E3070000000100109F -:043760000401001050 -:10376400D0143B140033592B6EDC000008336EDC9C -:10377400010000336EDC0200011B436C08320F6C45 -:10378400FFE334F10831FFE3A7FF0EDC0300BB6C59 -:103794000C310410FFE3F0F500301B14901400000A -:0437A4000001001010 -:1037A800D01423146780023B030C013367A02780E1 -:1037B8006480438022B8208021B8258020B800305A -:1037C8002310FFE381FF003003149014C65E00004D -:1037D800013360A0003361A0093362A0003363A005 -:1037E80064A0013365A0003366A0013367A03C786C -:1037F800D11472100132609341B34593A13AB03AA3 -:1038080045B30A308E10FFE337F608320031136CE7 -:10381800FFE3A6F0136CFFE369FF4038136C04085C -:10382800FFE3C0FF9114FFE3D5FF4184251000306A -:10383800FFE34AFFF807000060000020F0030020C3 -:04384800205F0000FD -:10384C00D114921228320031136CFFE387F07012FE -:10385C006093803B403B920C2E120030FFE332FF12 -:10386C006D12FF30209340684039050C40938068FE -:10387C00413A7708409327427F3042848068846CB9 -:10388C0042A44093484AFF308068403A100C409361 -:10389C00484A8068423A0B0C2093284940684439C6 -:1038AC00060C4093484A8068463A5F0840930731BB -:1038BC00484A84687030228444424168846C42A433 -:1038CC004093504AFF308068403A100C4093504A65 -:1038DC008068413A0B0C2093304940684239060C01 -:1038EC004093504A8068433A440840930731504A09 -:1038FC0084680E30228441424168846C42A4409317 -:10390C00584A0F3A400C843256422093002A48649D -:10391C003A0C6093784B61A4183360A464A468A437 -:10392C0001336DA400336FA400327C106093FF232D -:10393C0040B3428439423D4900932841406C20B346 -:10394C003C423D4900933041406C20B321840093AC -:10395C003841406C20B32093474A846C40B3911497 -:10396C0042847F3184688D07428470318568A80752 -:10397C0042840E318568A13AC20762840E32C9684E -:10398C00A13B62A41833C80720040020AC0000201F -:0C399C00425F0000A80000205C0000203A -:1039A800C114771000834038020820304183403A20 -:1039B8000208203222838749403C1E0C413C0F08F4 -:1039C80099419D4C423C120C443C160C403C070863 -:1039D800235A4164050C4283803A42A38114002291 -:1039E8000964FD0F4283A03AF907225A0564F40BD3 -:1039F800002A8164F707803922A3F10720040020F8 -:103A0800D2149C1262848E74DF3ABB12700C468406 -:103A1800794339427D4B3D49C664160C70302443C6 -:103A28008168846C46A4FF30541208404092FF22FB -:103A38002092416820B220926843C46C60B201337E -:103A480072A4609568B4628446847C435C425D4A93 -:103A58007D4BCA644A120408208241391908003192 -:103A680020A246840E3021438168846C46A4FF302E -:103A7800421210404092FF222092416820B22092C8 -:103A88007043C46C60B2013372A4609568B46184F9 -:103A98004584CA64110C59112092FF214091484273 -:103AA800484A40B100915843806C40B1013252A459 -:103AB800409565A448B4008444840A640D0C4F11F1 -:103AC80078434092FF2220922841284920B2209230 -:103AD800C46C04A460B247946095CA604911C86474 -:103AE8000608609567B4013304A472A4428466840E -:103AF800474A274B8664140C7F302742C068C46C41 -:103B080066A4FF307D106093FF232093416820B3A3 -:103B18002093846C40B3013372A4609568B47284B6 -:103B2800413B150848946095CA605710C8640F084F -:103B3800609568B4003372A4609567B473106783A6 -:103B4800423B0508FA30024000E02602489460959E -:103B5800CA604F10C8640C08609568B4609567B473 -:103B68006A106783423B04080A1000E015029214A9 -:103B780020040020B80000205C0000204401002040 -:103B88002F750000E7030000F0030020DF93040016 -:043B980060EA0000DF -:103B9C00D01422140033222B6EDC000006336EDCB2 -:103BAC0001000033002B6EDC0200053169106683C6 -:103BBC006EDC03003B6C02336EDC0400FFE388FD1B -:103BCC000EDC050006313B6CFFE3EAFB021490149B -:043BDC004804002079 -:103BE000D01423140033222B6EDC00000B336EDC68 -:103BF00001000033002B6EDC02004111611166836D -:103C00006EDC030003336EDC04006282274B2EDC83 -:103C1000050021822EDC0600CC7470314C684039DE -:103C20001A0802312EDC07000E31C468463B1D081D -:103C300000336EDC08000A316C823B6C6EDC0900DC -:103C4000FFE34CFD0EDC0A000B313B6CFFE3AEFBE7 -:103C5000031490142030066403080131E407403057 -:103C60000664E00B0431DF07403B03080133E20741 -:103C7000423BE00F443BDD0B0333DC072004002014 -:043C800048040020D4 -:103C8400D2148E11FFE390FE42846A84474A274B84 -:103C94008664080C7F314742C468C86C6AA4013347 -:103CA40074A461844984CA64040C69A4013374A4AF -:103CB40062844A84794339427D4B3D49C664080C89 -:103CC400703164438568C86C6AA4013374A4628447 -:103CD4004A847C433C427D4B3D49C664080C0E310A -:103CE40061438568C86C6AA4013374A47484413B3D -:103CF400B3101308531021926095C6603210C46447 -:103D04000C08609569B4609561B27384033B100834 -:103D1400002373A4FFE364FF49946095CA604B10C9 -:103D2400C8640508609569B4FFE338FF9214003352 -:103D340074A473A4F207000020040020B80000203B -:0C3D4400440100202B010000E7030000F8 -:103D5000C1140C39630C4580013A721107082742DF -:103D60007F3442839068846C42A3003226800F2AFD -:103D700084608874103A020821A34780413A3308CE -:103D8000428370318568A53A42A34880403A3208A0 -:103D900042830E318568A13AA23A42A349804CA3DE -:103DA0004A8028318464020C40A34283474A274258 -:103DB0007F304A838068846C02832183073429A37F -:103DC00004488F3184681068228304402149806C44 -:103DD00050680E3081682141846C4AA3408348A317 -:103DE00000308114443A703142838568CE0BA63A84 -:103DF000CC07413A050842830E318568CF07423A25 -:103E0000060842830E318568A13AC807433AF40B8D -:103E100042830E318568A23AC1070130E3070000F2 -:043E2000200400205A -:103E240006390A0C6580413B05086510003254A32D -:103E340053A30030020401303C7800002004002029 -:103E4400D4140539036D876C040CA1805664070CE7 -:103E540000302511FFE33AFC013094144080CC3348 -:103E6400CA64070C00302111FFE330FC0230F6076E -:103E74004280FF33CA645E106380040826824E6465 -:103E8400090C0030CC7446823A10FFE31FFC033067 -:103E9400E507C35D74589975002B5B6CE083FFE301 -:103EA4001BFC1E640E0C5B6C136CA584FFE314FCFA -:103EB400C36C976C00303010FFE308FC0430CE076D -:103EC4006484423B050C433B080C0030C707576C25 -:103ED400136CFFE33DFFFA07576C136CFFE3A2FF7B -:103EE400F50700005B5F0000665F000048040020E7 -:083EF4006F5F00007F5F00001A -:103EFC00C41402391F0C01294574436D00326E1035 -:103F0C008085D16C013708348F6D9C69403E614BC4 -:103F1C00040CCA10D96CCD74002C1175403CF50BF7 -:103F2C000022897448640025EC0F406060A1684B46 -:0C3F3C0061A18414FFFF000001A0FFFF42 -:103F4800C314C36C4060AC100C104E640208831498 -:103F58004083096C01360832036D1869403C0148FA -:103F6800030C156C0174002A8974403AF60B00237F -:0C3F7800ED07000001A0FFFFFFFF0000AC -:103F8400C36C406000304E6402083C784083086093 -:063F940000740023F90790 -:103F9C00D114271460126783423B036D71085533AB -:103FAC006EDC04006EDC05000033112B6EDC0600A9 -:103FBC0015336EDC070003336EDC080057117811E3 -:103FCC0066836EDC090000336EDC0A006282274BCC -:103FDC002EDC0B0000312EDC0C007031C468403B31 -:103FEC001A0801336EDC0D006182403B020820335D -:103FFC0002826EDC0E001C4000331D486EDC0F008C -:10400C000433C26003386EDC10004208FFE372E632 -:10401C000C393B3D20314E6403080233E407403138 -:10402C004E64E30B0333DF07033322826EDC110093 -:10403C003F4100336EDC12006EDC13003F496EDC36 -:10404C0015006EDC16006EDC170060822341403BCD -:10405C002EDC1400020820336EDC180000336EDCFA -:10406C001900011B0A5B1531FFE344FF96336143D2 -:10407C0060B80132D36C18310118FFE381FA0714D0 -:10408C0091140233D3070133D1070033CF07043324 -:10409C00CD070000F003002020040020480400207D -:1040AC00D014271455336EDC04006EDC050000338D -:1040BC00112B6EDC060015336EDC070003336EDC4F -:1040CC000800771166836EDC090000336EDC0A0091 -:1040DC0074114283274A2EDC0B0000312EDC0C00BD -:1040EC0070318468403A1A0801324EDC0D0041836D -:1040FC00403A0208203202834EDC0E001C40003293 -:10410C001D484EDC0F000432826003384EDC100078 -:10411C004308FFE3EFE50C3A3C3E20314A640308C8 -:10412C000232E40740314A64E30B0332DF07033207 -:10413C004EDC110000324EDC12004EDC13004283C8 -:10414C005F425F4A434260834EDC1400403B0032C6 -:10415C004EDC15004EDC16004EDC17000208203336 -:10416C006EDC180000336EDC1900011B0A5B153184 -:10417C00FFE3C0FE143360B896336143013218314B -:10418C000118FFE3FDF9071490140232D207013233 -:10419C00D0070032CE070432CC07000048040020C0 -:0441AC0020040020CB -:1041B000D014241455336EDC04006EDC050000338B -:1041C000112B6EDC060007336EDC070003336EDC58 -:1041D000080007316D1066836EDC090066806EDCB6 -:1041E0000A0067806EDC0B00011B0A5BFFE388FEA0 -:1041F000143360B89633614301320A310118FFE38A -:0C420000C5F904149014000048040020CC -:10420C00D014241455336EDC04006EDC050000332E -:10421C00112B6EDC060009336EDC070003336EDCF9 -:10422C0008000931701066836EDC090066806EDC54 -:10423C000A0001336EDC0B0002336EDC0C006B10D9 -:10424C0067836EDC0D00011B0A5BFFE353FE143326 -:10425C0060B89633614301320C310118FFE390F9D9 -:0C426C000414901448040020F00300200B -:10427800D0142114143360B8963345746143013265 -:08428800FFE380F9011490141A -:10429000D3140033082BC460CD74013B036D476D0C -:1042A000CA08608055328E64C2084180CA64BF0863 -:1042B0004280EE33CA64BB0823806A594E65B90850 -:1042C00004804338B6087D1246836584CA64B0080A -:1042D000012945740A5CFFE339FE545C635A60832C -:1042E000012A68434082C860C264A5080684002889 -:1042F00011381208FFE304E51F1F1F1F0F0F0F0FD8 -:104300000F090F0F0F0F0F23273A6D126783423BE0 -:104310000C08FFE36DF90684002803380808678459 -:10432000FFE3EEE437496171413B030C0030800448 -:10433000FFE3BEFEF107136CFFE33CFFED07136CD8 -:10434000FFE366FFE907136CBE11FFE333FF4F8500 -:104350003D110030FFE3BCF967844F85CA64DC0F70 -:10436000403B6FA5D90B01336DA5D607D4116784E7 -:104370004786CA64DC0F1B6C67A6FFE3F5F91B6C6C -:10438000FFE3B8F94038C80B5474136CFFE376FFB1 -:10439000C307CC74403B0A0C413BC90B29110032C6 -:1043A00062817F2AC86C62A1C207461162827F3196 -:1043B000C46862A2BC07CC74423B0A0C433B0E0C9F -:1043C000413BB50B5F1062827031C568F3075D1029 -:1043D00062827031C568A53BED075A106282703168 -:1043E000C568A63BE7070032CC740F2A8C6088743E -:1043F0000F3A0408531061A29A0720328E64970B7B -:10440000701041A394070C746E1042830E31033870 -:1044100085680708FFE374E402060804A13AA23A9B -:1044200042A38507A23AFD07A13AFB070230931485 -:104430000330FE070130FC0748040020F003002091 -:0844400020040020915F000040 -:10444800D214436D076DFFE321FF403803080030A5 -:104458000404043C0308013092144085FF33CA6405 -:10446800040C6185483BF80B22110030FFE32CF95E -:10447800453C14080431176CFFE382FD64850E6423 -:10448800EB0B7D1042852D838664E20F2F83413923 -:10449800DF0B4DA301324EA3DB07093CDD0F275C80 -:1044A80045741461176CFFE34DFD635C6083012C58 -:1044B80068434084C860C264CF0B6F1043852D8366 -:1044C8008664070C2F83413904084DA301324EA39B -:1044D800478530838664070C50A34810409246B342 -:1044E800013251A3508326100030FFE3EDF8B007E6 -:1044F800A05F000020040020B8000020B25F000088 -:10450800D01441380D0C4038050C42380D0C0030E1 -:104518000604681002310093FFE3E1ED9014651082 -:1045280001310093FA07631000310093F607000089 -:044538004800002017 -:10453C00D2148011013200940031FFE37DEC009421 -:10454C0001320131FFE378EC013200940231FFE3D8 -:10455C0073EC00940031FFE3DFEC00940131FFE3D6 -:10456C00DBEC00940231FFE3D7EC10320031121077 -:10457C00FFE3F4E91430FFE37DEF0034AE10107468 -:10458C00FFE3BEFF403807080133D0708F6C629593 -:10459C00C86C62B50024433CF30B6710073142939F -:1045AC00486826A30030251043B3FFE38BF8921420 -:0C45BC004800002048040020BD5F000003 -:1045C800D31422114211A31100926091C260143BCE -:1045D800060842956395CA642E089314609160B2E8 -:1045E800176D00361874FFE38DFF40380033140848 -:1045F80063A46084043B0808002360A40026433EAB -:104608000024F10BE7070133D8708F6C6295C86CF2 -:1046180062B50033F30760A46384043B04080023F5 -:1046280063A4ED070033012B4295DB70C86862B5BF -:104638000033F707073343B500308C68261046A5CA -:10464800FFE342F8CB070000B80000204C0100202F -:0846580048040020C95F0000C6 -:10466000C2147D115D116093403B40083C1162898A -:10467000CD74403B3B0C7B116093403B7A110E0C98 -:1046800000830020007400A38083028901746435D4 -:10469000147C0165050C013000A2003000A3131149 -:1046A000009040380E0C01830020007401A3818328 -:1046B000028901746435147C0165050C013001A286 -:1046C000003001A30A11009040380E0C0283002034 -:1046D000007402A30283228945746434507C05640B -:1046E000050C013122A2003122A36082413B0F0858 -:1046F0000033A01180112143045D00880023017460 -:104700005060513B00A9F80B003360A26182413B2D -:104710000F080033B9109A102143045D008800236C -:1047200001745060513B00A9F80B003361A2628212 -:10473000413B0F080033B31093102143045D008800 -:10474000002301745060513B00A9F80B003362A2B2 -:1047500082140000FC05002068050020680000208D -:10476000FC040020B2060020900400207405002004 -:10477000AE0700205C04002044050020060600204F -:084780003A0600201C0700208E -:10478800C414231469114A110B6D209340B80033E7 -:10479800A81140984082413A080842438460009238 -:1047A80041430174946000AA4084423A0908424394 -:1047B800846000924143C0110174986000AA40844B -:1047C800403A09084243846000924143DB10017477 -:1047D800986000AADA104086413A21087910003220 -:1047E80061B8751062B861420C5D0088E198CC61CF -:1047F800017400AF02980C600088F310CC6101745A -:1048080000AF00220D100C600088F0100174DC600D -:10481800513A00ABE90B003360A611330023CC7486 -:10482800103BB80F0314841454000020190700200B -:10483800AE070020440500203A060020A10500200C -:0C4848005C040020060600201C07002075 -:10485400C214003200308810013520316094C970D0 -:10486400D468403B020C002000224A64F80B007418 -:0848740082140000FC05002085 -:10487C00C214003200308810013520316094C970A8 -:10488C00D468403B020C002000224A64F80B0074F0 -:08489C0082140000FC0400205E -:1048A400C214003200308810013520316094C97080 -:1048B400D468403B020C002000224A64F80B0074C8 -:0848C4008214000090040020A2 -:1048CC00C214003200308810013520316094C97058 -:1048DC00D468403B020C002000224A64F80B0074A0 -:0848EC00821400007405002095 -:1048F40073105410028320824264160C2082447484 -:104904004139180C4039110C4239160C4082887414 -:1049140042A341838874413A07082B10209142B185 -:10492400003240A341A33C7828100091281010B114 -:10493400EE072810FB072810F90700006800002084 -:104944001907002058000020D00700200012014061 -:08495400400500207005002061 -:10495C00D4142A147101608360B80034720160832E -:10496C0063B87201A0837201608366B8730168B882 -:10497C00730164B869B8614448988C6035014C6027 -:10498C00408A2089866029984C608B7440A9180154 -:10499C0058018C600C60408A00888260DA010C5EE1 -:1049AC008B7440A8C1B85B011B018C600C60408A01 -:1049BC00008882601D018B74EC5840AF40898B7469 -:1049CC00DF3A5F01C86002B8490C003240AB219855 -:1049DC0061444C6040898B74DF3A4402C860410CDE -:1049EC00003240AB229861444C6040898B74DF3AB2 -:1049FC004902C860390C003240AB6098033B21443B -:104A0C00B50C6498C4604D024860008B40890374F7 -:104A1C0009642098847C9B0C208B47748564970CCC -:104A2C003302506040810022887440A1003055024E -:104A3C00906000A25602906000A25602906000A204 -:104A4C004081039880641D08403D11085A02609211 -:104A5C00403B1508009201330F0440898974B70755 -:104A6C0040898974BF0740898974C707413D5C0838 -:104A7C004303D76C0092D070C06C60B2003360A15D -:104A8C00614444988C60C08A4E03C860E08B024736 -:104A9C000531FFE3D1F29B75196405B8180C51036D -:104AAC00906060820023CC7460A200317603D060E9 -:104ABC0020A360822698C4640A0800333603012BB5 -:104ACC000091D370C06860B1003360A260984198C7 -:104ADC00033B6144C860408B8B744D0D9D643A0D53 -:104AEC00408B20988B745C7C4964340D3E13506071 -:104AFC0040810022887440A100305C13906000A2B9 -:104B0C005B13906000A25B13906000A2408103983D -:104B1C0080647D08403D710857136092403B7508D6 -:104B2C00009201336F04423D030C00E80102D313E1 -:104B3C00008B408E8974037409220964A00F608B6A -:104B4C00CD7460AE0033471360B28507614424987E -:104B5C00C460608BCF74C964940F00334113012B74 -:104B6C002092D370C46860B28C0744988460181289 -:104B7C00608A4060CF742089C564830F60136083A2 -:104B8C00CC74403B7E0B13121060208000214474C7 -:104B9C0020A0003630125060C0A130125060C0A16D -:104BAC002F125060C0A12080C39858646A0B403DFE -:104BBC0008084C126092403B0C082092013306040A -:104BCC00413D0A084712D76C2092D070C46C60B279 -:104BDC00003360A05607423D020CDC05E712C08A88 -:104BEC00208F45749B7509218565F30F408A897464 -:104BFC0040AF5C1160B2E207413D9B085E11D76C7F -:104C0C000092D070C06C60B2003360A161444198D6 -:104C1C008C60608ACF7445988D64180C5311906029 -:104C2C0060820023CC7460A200316F11D06020A38D -:104C3C0060822698C4640A0800332F11012B00915E -:104C4C00D370C06860B1003360A260984298033B97 -:104C5C006144C860408B8B74260D20989D645C7CED -:104C6C00130D408B8B7449640F0D261150604081DD -:104C7C000022887440A100304311906000A24311BF -:104C8C00906000A24211906000A2430480010020B9 -:104C9C00540100205D0100205C010020AE070020C3 -:104CAC001C0500205C0400200606002044050020A2 -:104CBC005C0600203A0600201C0700208807002014 -:104CCC0066070020C404002098040020AE010020D8 -:104CDC0009050020E804002028060020C00600205A -:104CEC00FC040020DC06002078050020A205002032 -:104CFC00A006002090040020B60600201A05002013 -:104D0C0084060020F20600207E040020900500207E -:104D1C004081039880648108403D74084B01609287 -:104D2C00403B790801330092D070C06C60B27304C0 -:104D3C00423D6009D001008B408E897403740922B6 -:104D4C000964630F608BCD7460AE0033550160B2A3 -:104D5C00E80641986144C860608B4098CF749C7C95 -:104D6C00C964550F00335B01012B2092D370C468CA -:104D7C0060B24D079D644B0F5F0140828874403ACE -:104D8C0047B8450B0102106020800021447420A01C -:104D9C00003623025060C0A124025060C0A124023E -:104DAC005060C0A12080C3985864310B403D080866 -:104DBC004E026092403B2308209201330604413D91 -:104DCC0008085202D76C2092D070C46C60B21704E1 -:104DDC00423D4209C08B5B74D902876C208E4574AE -:104DEC00092185640C0C608BCD7460AE67983D0214 -:104DFC0060B101334091D070C86C60B1003360A0D9 -:104E0C000607413D30084503D76C0092D070C06C4A -:104E1C0060B2036C003360A1614442988C60608A7C -:104E2C00CF7445988D64180C460390606082002303 -:104E3C00CC7460A200316803D06020A360822698F5 -:104E4C00C4640A0800333503012B0091D370C06889 -:104E5C0060B1003360A20024513C030C00E88DFDCE -:104E6C000A149414423D4809D403008B408E897473 -:104E7C00037409220964CF0F608BCD7460AE0033CC -:104E8C005B1360B2500761444298C860608BCF746A -:104E9C00C564C30F00335613012B2092D370C46822 -:104EAC0060B2BB079D64B90F541340828874403ABA -:104EBC00B40B1813106020800021447420A000361D -:104ECC0033135060C0A135135060C0A1341350602F -:104EDC00C0A12080C3985864A00B403D080844131F -:104EEC006092403B2108209201330604413D0808A2 -:104EFC005F12D76C2092D070C46C60B21504423D26 -:104F0C002A09E513C08B208F45749B750921856593 -:104F1C000B0C608B3612CD7460AF40B101334091F5 -:104F2C00D070C86C60B1003360A07707433D030CB0 -:104F3C0000E8A6FD5B12C08B008A01749B750920EA -:104F4C0081650C0C608BCD7460AA0033161260B0B6 -:104F5C000133C090D070D86C60B004986144C060CC -:104F6C00008B408A89740374042A8164030800E866 -:104F7C0087FDCE12008B408E897403740422096461 -:104F8C00030800E87DFD608BCD7460AE461200E82E -:104F9C0063FD433D020C1D06C212E08A208E45744F -:104FAC00DF750921C5650B0C408A897440AE5E1112 -:104FBC0060B201332092D070C46C60B244986144EA -:104FCC00C860408B208E45748B7404294964020898 -:104FDC000006D611208B408E8974477404224964D4 -:104FEC00030800E8F7FD608BCD7460AE4E1100E84D -:104FFC00E6FD433D020C09065E10C08B008A01746D -:10500C009B75092081650C0C608BCD7460AA0033F4 -:10501C00191060B00133C090D070D86C60B001989A -:10502C006144C060008B408A89740374042A8164D3 -:10503C00030800E8EBFDDE10008B408E89740374CE -:10504C0004220964030800E8E1FD608BCD7460AEB6 -:10505C00491000E867FD433DD20A208BC5108774C8 -:10506C00208E4574092185642F0C230474050020BF -:10507C00AC070020900400201A050020DC0600205C -:10508C0078050020A2050020A0060020F2060020D2 -:10509C00840600203E0500207E04002090050020A0 -:1050AC00B6060020FC040020C0040020BE06002030 -:1050BC00608BCD7460AE67983D1160B10133409147 -:1050CC00D070C86C60B141986144C860408B208E30 -:1050DC0045748B7404294964920ED611208B408E32 -:1050EC00897447740422496402088906608BCD7464 -:1050FC0060AE4F116206433D8E0A4F11C08B008A81 -:10510C0001749B75092081650C0C608BCD7460AAB1 -:10511C0000330A1160B00133C090D070D86C60B00D -:10512C0002986144C060008B408A89740374042A1D -:10513C00816402087006C211008B408E897403745E -:10514C000422096402086706608BCD7460AE5B10A4 -:10515C0000E8EAFD433DE80AD710E08B208E457449 -:10516C00DF750921C5650B0C608B3410CD7460AEF6 -:10517C0040B101334091D070C86C60B14298614429 -:10518C00C860408B208E45748B7404294964CC0E06 -:10519C00CB10208B408E8974477404224964C40E52 -:1051AC00608BCD7460AE45109F060000900400200B -:1051BC00BE0600203E0500207405002004060020D9 -:1051CC00D41422143C116781413B23085B1160828B -:1051DC000023CC7460A2608219110080C06419088D -:1051EC00003360A2B7116085403B150C6085413BD4 -:1051FC001008003360A5003273111411B411D511CD -:10520C00609342B374118093003340808C64440CDF -:10521C00021494147E590036F01160B86097D9705E -:10522C000132C868403B340C81466098D060008BDA -:10523C00FFE3B2E1C76C8031836C37410030FFE390 -:10524C00B5D76711D060608B64430E2361B8FFE360 -:10525C005BDD6198C07C43110D7490606211D0606D -:10526C0000AA608B008A01745F32CD74087C6431B3 -:10527C0061B8FFE3E1EE6198C1640A0C75100C6132 -:10528C00608C063B0508002360AC013360A500264A -:10529C00513EC50BAC074C5D4082414222439860A5 -:1052AC005060408AF29154429C6C002352B1CC74F1 -:1052BC00AD070000680000207E0600208101002060 -:1052CC008905002058000020B8060020080700209F -:1052DC005E01002054000020840100208A0100207F -:0852EC003E070020AE07002080 -:1052F400D41421144A0160820023CC7460A2608219 -:105304002C0120814C64030800E80F02003360A2E2 -:105314006F016093403B030C00E8090271015001E6 -:10532400003160B80F6D11016141A0984C61A08DEE -:105334005775DF3D1C0CD401AC588C61A08DC08E18 -:10534400997555755A61C08A95651108B90144610A -:10535400C08500269875C0A5DB01E085CA86D8659E -:105364000608DC010137E0A60036C0A5AC5CA08DC0 -:105374005775203D1D08A4024C61CC58A08DC08EE9 -:10538400997555755A61C08AC24695651108A60279 -:105394004461C08500269875C0A5CB02E085CB8604 -:1053A400D8650608CD020137E0A60036C0A5AC5C7E -:1053B400A08D5775DF3D100CF502CC58CC61A08E42 -:1053C400E08FDD7555755E61E08AD565050CA08EAC -:1053D400002D5575A0AEAC5CA08D5775DF3D110C4A -:1053E400FF02CC58CC61A08EE08FDD7555755E61EF -:1053F400E08AE14FD5650508A08E012D5575A0AE54 -:10540400CC5CA08E5775203D0C08C08EA08A9B757D -:10541400A14D5965060CCC58A08E00255575A0AE3B -:10542400CC5CA08E5775203D1008E08EDF75A08AF5 -:105434005D650B0CC08E9B75A14D59650608C06057 -:10544400A08B01255575A0AB0021513901226D0BAC -:1054540076036093403B800977035F03003160B8B3 -:105464000F6D18036141A0984C61A08D5775DF3D05 -:105474001C0CDB03AC588C61A08DC08E99755575DE -:105484005A61C08A95651108BF134461C08500261E -:105494009875C0A5D513E085CA86D8650608D413C7 -:1054A4000137E1A60036C0A5AC5CA08D5775203D40 -:1054B4001D08B4134C61CC58A08DC08E99755575D8 -:1054C4005A61C08AC24695651108B0134461C0850B -:1054D40000269875C0A5C513E085CB86D865060857 -:1054E400C3130137E1A60036C0A5AC5CA08D577587 -:1054F400DF3D100CE313CC58CC61A08EE08FDD753A -:1055040055755E61E08AD565050CA08E002D557534 -:10551400A0AEAC5CA08D5775DF3D110CF912CC58D0 -:10552400CC61A08EE08FDD7555755E61E08AE14F38 -:10553400D5650508A08E012D5575A0AECC5CA08E56 -:105544005775203D0C08C08EA08A9B75A14D5965E6 -:10555400060CCC58A08E00255575A0AECC5CA08E50 -:105564005775203D1008E08EDF75A08A5D650B0C31 -:10557400C08E9B75A14D59650608C060A08B01259E -:105584005575A0AB0021513901226D0B6012609357 -:10559400403BF8087F115111003160B80F6D1E11A6 -:1055A4006141A0984C61A08D5775DF3D1C0CDB1147 -:1055B400AC588C61A08DC08E997555755A61C08A9E -:1055C40095651108B6114461C08500269875C0A57B -:1055D400C611E085CA86D8650608C5110137E2A65A -:1055E4000036C0A5AC5CA08D5775203D1D08AB11DD -:1055F4004C61CC58A08DC08E997555755A61C08A7E -:10560400C24695651108A7114461C08500269875A6 -:10561400C0A5D610E085CB86D8650608D41001371E -:10562400E2A60036C0A5AC5CA08D5775DF3D3F0CEB -:10563400FA10CC58CC61A08EE08FDD7555755E6193 -:10564400E08AD565340C2F04FA050020810100207E -:10565400FC0400201C050020AE0100205C04002096 -:10566400AE070020C0060020880000206805002046 -:1056740028060020900400205C0600200606002076 -:1056840044050020A0060020A20500207405002087 -:10569400880700201C0700203A06002090050020FF -:1056A4007E040020A08E002D5575A0AEAC5CA08DAC -:1056B4005775DF3D110CFF11CC58CC61A08EE08FE3 -:1056C400DD7555755E61E08AE14FD5650508A08EEC -:1056D400012D5575A0AECC5CA08E5775203D0C08ED -:1056E400C08EA08A9B75A14D5965060CCC58A08E1E -:1056F40000255575A0AECC5CA08E5775203D1008D2 -:10570400E08EDF75A08A5D650B0CC08E9B75A14D84 -:1057140059650608C060A08B01255575A0AB002112 -:10572400513901223E0B01149414FFE3A7F86211CE -:105734006C83C06441110E0C6082CC74013B050C77 -:105744007F10013240A3850660820023CC7460A2DE -:1057540080060033FD07FFE3A5F877106C83C0646F -:1057640056100E0C6182CC74013B050C741001328E -:1057740041A30D0761820023CC7461A208070033A2 -:10578400FD07FFE3A3F86C106C83C0644B100E0C90 -:105794006282CC74013B050C6910013242A3C40738 -:1057A40062820023CC7462A2BF070033FD070000AD -:1057B4003A06002088000020940400206805002098 -:1057C400D41424141F112012401221B86090A09107 -:1057D400D46C8092D06C403B00B842B89C11670CEA -:1057E4001C1100357C1103B80132947040B040980C -:1057F40040922090846840B3419840922090486839 -:10580400561120B222982091C09084693411C0B1FD -:10581400E093C0929E650708E092C0919E650308DC -:1058240040930C04C092403E290CC091403E260C8B -:10583400E092C0919E65220840922094846C0025D9 -:10584400513D40B4D20B6094403B4611320C20943D -:105854006092C664060C609460B20032621140A388 -:10586400FFE3F8F7611160830C640608003360B449 -:1058740001327D1040A304149414C093403E080CDC -:10588400C092403E050CC09340929A64CA0F409364 -:10589400403A080C4091403A050C409320914A64E8 -:1058A400C00F4398209240948568CA0760B4CC071F -:1058B40060B200314C1020A24D1060B2DD07000030 -:1058C400FC0400209004002074050020FC05002046 -:1058D400D40600209C06002060070020000600205B -:1058E400040700201A05002088010020F405002088 -:1058F40060146214D11483116084403B1508013391 -:1059040060A461116083413B0F0840116082002351 -:10591400CC7460A26082433B0308003360A2FFE3BF -:1059240033F7013361A47A10013160934A93846898 -:10593400403A020C2CB34A9302318468403A020C78 -:105944002CB34A9304318468403A020C2CB34A9332 -:1059540008318468403A020C2CB34A9310318468AD -:10596400403A020C2CB34A9320318468403A020C2A -:105974002CB3EED901208098021463146114000042 -:1059840068000020080500201907002058000020A6 -:1059940060146214D31469120034609386B36812DD -:1059A4006083413B4008FFE3A5F7FFE3D7F7FFE33C -:1059B4000DFCFFE39FFCFFE353F6FFE303FF6112DB -:1059C4006093403B120C60124093403A0E0C7F11DE -:1059D40064302093002120B32093807C4864050820 -:1059E4005B11013120A280B37A114083413A23082C -:1059F40039115A1100916092C26479110A08809297 -:105A04005811009212640508209140928664090C92 -:105A14004093002240B354113C82409384640308B1 -:105A2400003240B3EED90320C298A19880980414A0 -:105A340063146114A0835475403DF50B661147113E -:105A440000932092426427110511330CC092809177 -:105A54001A652F0CC09380911A652B0C809000243A -:105A640080B08111DC84809018650208A0B0809316 -:105A7400009212641D10040C8091403C0F0CA09302 -:105A840080911665040C8092403C080C2091409251 -:105A940086640C0C6093403B09086090002360B05E -:105AA40071105C836090C864BE0B003360B0BB07A8 -:105AB400003480B0DD0700006400002008050020E9 -:105AC400FC05002058010020F4050020A105002059 -:105AD40050010020FC0400209004002098060020BF -:0C5AE4007405002088000020D806002077 -:105AF000D4142D140132CE03C36C4EDC0A00409640 -:105B0000479288744EDC09004ED80900403A080CD0 -:105B10004ED80900423A040C00300D149414970337 -:105B200009320094403B41B0570807336EDC0B004C -:105B30007B0363B88033624367B86ED80B00CC74C4 -:105B400062B07E0363B001320131BF03FFE322E3A1 -:105B5000E0957F1360B75F13003362B743B7D83265 -:105B600045B74F97A23A4FB703982ED80B007D3216 -:105B70000021487C61B8FFE377EA04B8FA32249840 -:105B800042424864CA0B44987831049840B8FFE315 -:105B90006BEA4098826045B804987831449840B8E0 -:105BA000FFE362EA4098086006B880C02070409623 -:105BB000549248B86198409460B261B76ED80A00B8 -:105BC000403B3E08FFE398E20094FFE3B9E280C166 -:105BD00020740130A307413B060803336EDC0B0041 -:105BE0007D12A807423B060801336EDC0B007B12D6 -:105BF000A107433B060800336EDC0B0078129A07BE -:105C0000443B090800336EDC0B00761263B8803326 -:105C100069439307453B060800336EDC0B007212A4 -:105C2000F607463B060800336EDC0B006F12EF07E9 -:105C3000473B840B00336EDC0B006D12E807609568 -:105C40000131409421B320B2003127B3043025B292 -:105C50002E9340684039FD0F25922AB8003110B3C9 -:105C600027B3043025B22E9340684039FD0F2592AA -:105C70002BB8003110B327B3043025B22E934068FF -:105C80004039FD0F25922CB810B32B980C9840602A -:105C900029B82998214929B8003121B320B227B366 -:105CA00025B26ED80900423B49982C0871118C64CA -:105CB000030C00330F04499866988C640E086898AA -:105CC0004798CA6068B8FE3268984842C868403B46 -:105CD00012086EDC0A00210749986598C8642908F3 -:105CE00068984798C86068B8FE33489868438C68DD -:105CF000CA64E00F6096489854B30130FFE3C0E3F4 -:105D00005E0766988C64090868984798CA6068B806 -:105D1000FF3268985042DB0749986598C8640908C3 -:105D200068984798C86068B8FF3348987043E007A0 -:105D300000336EDC0A00E2075C0000200C0000204B -:105D4000006CDC02FFFF00001400002005009CBE78 -:105D50001000030000366E01001BB700808D5B0051 -:105D600020C75400D0FE3F0068FF1F00B8FF0100AD -:045D7000FF07000029 -:105D7400000000000000F03F000000000000F83FB9 -:105D8400000000000000000006D0CF43EBFD4C3EB5 -:105D940000000000000000000000004003B8E23FE3 -:105DA40000000000000000000000000000000000EF -:105DB40000000000000102020303030304040404BE -:105DC4000404040405050505050505050505050583 -:105DD4000505050506060606060606060606060663 -:105DE400060606060606060606060606060606064F -:105DF4000606060607070707070707070707070733 -:105E0400070707070707070707070707070707071E -:105E1400070707070707070707070707070707070E -:105E240007070707070707070707070707070707FE -:105E340007070707080808080808080808080808E2 -:105E440008080808080808080808080808080808CE -:105E540008080808080808080808080808080808BE -:105E640008080808080808080808080808080808AE -:105E7400080808080808080808080808080808089E -:105E8400080808080808080808080808080808088E -:105E9400080808080808080808080808080808087E -:105EA400080808080808080808080808080808086E -:105EB400080808084D435520537461727421202545 -:105EC40064005061726120496E666F2074656D7064 -:105ED40020756E69743A256420206261636B6C6975 -:105EE4006768745F656E3A256420206B65795F731B -:105EF400656E735F6C6576656C3A256420646576BF -:105F04006963655F616464723A2564202064657620 -:105F14006963655F706F72743A25640050617261E1 -:105F240020496E666F205573652044656661756C03 -:105F3400743A25640054315F54435F5A48004D431A -:105F4400552072657365742C7265636F7665722073 -:105F5400737461746521004C656E204572723A2534 -:105F64006400486561642045727200416464722073 -:105F74004572723A25642C2025640053756D435292 -:105F840043204572723A25642C20256400436172D3 -:105F9400645F454E205365743A25640054656D5F13 -:105FA40052733438355F5265635F50726F005363C8 -:105FB400656E654E6F3A256400444950204164641F -:105FC400723A256400444950204368616E67652035 -:085FD400416464723A25640087 -:105FDC00000000700000005000200540001005403B -:105FEC000020064000100640000006400020014042 -:105FFC0000900540005005400000054000000B409B -:10600C0000000A4000000940002008400010084031 -:10601C000000084000F000600020006000000060FC -:10602C00000003400010024000000240001001403C -:10603C000000014000E000E001010300020001014A -:10604C000200020002000200020002000200020034 -:10605C000200020002000200020002000200020024 -:10606C0002000A0A04000000070008000A000800E9 -:08607C000D0008000A000000FD -:040000050000010CEA -:00000001FF diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_debug_unit.d b/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_debug_unit.d deleted file mode 100644 index d6bd8d3..0000000 --- a/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_debug_unit.d +++ /dev/null @@ -1,85 +0,0 @@ -Obj/USRCTRL_debug_unit.o: USRCTRL/debug_unit.c includes.h \ - include/apt32f102.h include/apt32f102_types_local.h \ - include/apt32f102_ck801.h include/apt32f102_adc.h include/apt32f102.h \ - include/apt32f102_bt.h include/apt32f102_coret.h \ - include/apt32f102_countera.h include/apt32f102_crc.h \ - include/apt32f102_ept.h include/apt32f102_et.h include/apt32f102_gpio.h \ - include/apt32f102_gpt.h include/apt32f102_i2c.h include/apt32f102_ifc.h \ - include/apt32f102_lpt.h include/apt32f102_rtc.h include/apt32f102_sio.h \ - include/apt32f102_spi.h include/apt32f102_syscon.h \ - include/apt32f102_uart.h include/apt32f102_wwdt.h \ - include/apt32f102_types_local.h include/apt32f102_clkcalib.h \ - include/apt32f102_tkey.h SYSTEM/inc/uart.h SYSTEM/inc/eeprom.h \ - USRCTRL/inc/debug_unit.h USRCTRL/inc/display_logic.h \ - USRCTRL/inc/tempctrl_unit.h USRCTRL/inc/tempctrl_unit.h \ - USRCTRL/inc/uart_protocol.h SYSTEM/inc/Bootload_fun.h SYSTEM/inc/uart.h - -includes.h: - -include/apt32f102.h: - -include/apt32f102_types_local.h: - -include/apt32f102_ck801.h: - -include/apt32f102_adc.h: - -include/apt32f102.h: - -include/apt32f102_bt.h: - -include/apt32f102_coret.h: - -include/apt32f102_countera.h: - -include/apt32f102_crc.h: - -include/apt32f102_ept.h: - -include/apt32f102_et.h: - -include/apt32f102_gpio.h: - -include/apt32f102_gpt.h: - -include/apt32f102_i2c.h: - -include/apt32f102_ifc.h: - -include/apt32f102_lpt.h: - -include/apt32f102_rtc.h: - -include/apt32f102_sio.h: - -include/apt32f102_spi.h: - -include/apt32f102_syscon.h: - -include/apt32f102_uart.h: - -include/apt32f102_wwdt.h: - -include/apt32f102_types_local.h: - -include/apt32f102_clkcalib.h: - -include/apt32f102_tkey.h: - -SYSTEM/inc/uart.h: - -SYSTEM/inc/eeprom.h: - -USRCTRL/inc/debug_unit.h: - -USRCTRL/inc/display_logic.h: - -USRCTRL/inc/tempctrl_unit.h: - -USRCTRL/inc/tempctrl_unit.h: - -USRCTRL/inc/uart_protocol.h: - -SYSTEM/inc/Bootload_fun.h: - -SYSTEM/inc/uart.h: diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_debug_unit.o b/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_debug_unit.o deleted file mode 100644 index e58b49813e5090930f5a8d99f3cd6158dc19c374..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24160 zcmbW933yXg`u}f23Z)wb!2tv<3W^G)Ed`NH+9aisv<*qxf`Bn?QwVgkO<7#g0mU6h z9QSp`(Q!v{!DZBO86Ee1Uq@$LXWW+=m*4mMzHiz9^Lu{J|DQ*4Ki~JBd(L~#dCzk1 zO+DTpta7GeERQlIEo^=F#mM$b+1B z&EsXB@ie=$`pp#!Xr4v0C&TP(qB%^nD;wXAhX&2be;joOzTECX_%?IZxioL2*&}9m zwjMklCUR%%LC<-%!lc=)+MIET7MA77N_M0i&r3KnFgwpZc2BqCXl8pB1C95(6IiJB zBJyzMapaN8dy~f~@8iX_MN%F2c-kE;&OKofPIyf0%QN##?8h@c6BBu6y@~yKW`l_X zc;qfl%0Smz@XUc=XKF z8z722g98zqDVJ;V^vpC0Po9&*BO5IDQNRGl!*&!STSANnIi9I$BmEX*f#a!88|j!B z_jEkV(nk6u#<`BCJ8h(IVjSdnPEH%?V;)QY&gFP6hLBEoPk#@l{Brlq7<56vhZ@Y1 z8fZ_=mI@R^!m!UFXBT*Dz;nrY1zzAG#KHnv=Mk;%E6CROmEc9VJ`9)|1Wa2C{kGNH(t*ktb>Xi^(O*hmp&bmyl;DFD1`bUPhj$d^p*s93xjN zA3+W($H^h(CUR7{nY>83g}hWbK|VscmE5AdoV-GL1-VT*N$yf!Nlq!RBCl0$BOg-` zs6a2Zlh^FUU?n)X62*E+mw$c->G~I`5xtC$@eQCM}A28c=Dsl>&Z_jpFn;_`9$&y%D*PR zqP&6phVn-8JIW`K-&a1F{GswD@~6tDkUv*GmHf5xY2@#fPbdGV^UN7!$7Z@SDbkbZ zSrplJW-~<|#(yVyml zJY4w_@<`=N$zzl+BNr)OP9Cp(1$m;Hh((nL2hk?~DrkJ@i0XDe?d=PBPpwo2Ygwn}azTP1HJTP1HNTP5!x zTP5!#TP3%Xt&(?t&;bUt&;bWt&)Et&r{#-Bm0!^Cs!*!Kn^PZnH+LFS3qi` zJjlk#-|YU&%YBXV*r$vpz2L9pYR7Xs4zf^D%c3&W@w@@nTps7u1A{L2(}!Y5RN&{7 z{VdCJ3Vh_}$kw*cldWxEAnW?^B2m|mmx#j)BGtI^W%9@ZFQ&<8G3^}sUYHC=(yjE!LO2nP&nYY-=e)s>-RP}rTh+gt@69%W0c<` zuUGyXd4ux%N;QWYb=Gl1sm?FKY`GlexgOg)g znw-~3lMit`bzm_vUonn$JS|}Dhfmr3`7_*~Ps>gB;FrwLdh;u?b;H+W>xOU07UJKM zEyTYgTZn&8wh;e;Y$5({a*@{dKjiVsKawXZ|3tPB|Cwwd{tLO>@oa$CLx7IkanbX_ zLbuzs0WegI9v9P@$P(evGXq6rs~99A&+$~@O3f}?aw%+a=ea)Z%dSAP8^$;ql9^kf z<~B?=a6>gW&3c%KLKVBYT-eqRcRc4JOX&=1>5SbR&li1#50^3v$GbpbrU!_yHa$>;wdo`g=E-Cc=1H*#^JIz$^Q1(?7uM3IUz z5#v=%6){mAE*CM$9G>R7hz_rJAME<3z#N|C+S(rkvqhN0b3~ZKb48fLhlntT=ZP?f zD@2&Xl_JbxuLyJ4Ct|!h>=!XnMU{w2D&~tQQBf_TTtz^{3>Alpn5|-ghAEuo4H;@i=Jr^u|h?oh&C0AM0BZGEFz`i zFcE82ED>>x;|U_Fbigf@4#W68!sUZS(=|!wnrIf`(K9U~tm_gY@+_xT*Fa=Y_`Z9k zYwoagPHmYvwP)tkp*dk(Iqpu)NQ>waVKH!|2#bMk5f%eIA}j_{A}j`aMU2V66y?fpsD*296S8F>thq*~7fGQOA9Z2#bMZMfkLw<3v~t952FRV7&;7ffGbn z44f#!V&K;zECx1+I6|}DD56EhNg^x;P8MM?ut|i)z$qdu22K@WF>soQV>GwZMXXnG zhKLO+&J?jp#aSXwSFu^dW))|P*rMV$BFQirK^6Cl2&s5LL{!C}MJ!VBpopa^9ujeciibtCsCY!g3Kf45(Wc^2 z5nU=C6OmH!R}pJfJTBrG6;Fs*ui{A&8&o_cVv~xeMVzkU84;URJS$?0iswX}ui|+T z7pr(d#N{ep6!Ci%FNwHD#mgeDSMiF7n^n9jVw;NBMBJ(3brJWdctgbfD&7?FkcziN zJgVYt5l^UiN5nHK-WBnJiuXiVpQX9-)a2a3qntOtq6)5>LwDAdXg7BO6t<%k%mB3Fb}J5PjFJ70uV zyFi3hdx!|DcAS=fdIc`R=_(rQ0#!uIk^6A1cDiSRlg62#P=qqP1$Y2+OtB{R(p3jhVQ&xo0C| zmutA^7ChY@5vcMy?%UlVv$f#PR@2?#Zb_%ZGaa?v>0WEL-{MwNZFjj(H`{f%g;v|$ z?#s>gMW5{+_cpVw!~LhG`;+@ov(3bPoZ9X)o2vWWA6tr3`cnMa{j=Ey;=V=GJ!m#n z5AC2Hb{CJ<8uP|bQ#|6XG#l^H)bRxF!Zm>1oU){%mY1*|>=q5e#9!`IP$)W(!~}j;L<*Iqs+3cbSddtJgl`e#&f&su7h@l>4mvJ+pBp zf(`et&zWt6H;g`e!R^^YYsCRRA{>S7MfXUvaS-Mt(ci@|$j$Ozc>e*0CwP4EHO(%U zif=N-x65$eXl1Cvab7ArHwDs5A}rY%#n zXNnHJCWp2U(&eGsUhFHclV+C-{f*XH$Cr(+EO``_!}pP+#+r|Xj;1(jFf5irEl2NS zIfidJcSv*WE|%kVx$5{`(yZUba>6c_6L+!vI-?Hi;f7r-8(FsFWIxN1w9ME(qn_Jq1ifi&>u6!wVC3&OmV%6oGI{qYeueD^yPX3&FNfk z%)IudOmTB&vaOkCZpjq4W+vOlcgpFk@6ZsFFv&h(`d)afh_jB4{p`vB3|tHj#8Il7 zHtitX*;%|uY=d`yiPyXAmA1y;jI(h4aL>8;9_3=QUJDv6U+fy3qA@>}6Lb~X$j+%H z>gw}7(JG@hC(3YGpyz-DF0wue&pDF3Ua##YZ?O8M#uQm!xd)MTs?ME39;j(%kq2qTb7!A`vhpY79#XY;x*WU+l?3?8tt4BS*aY>Ji3h%Y zW#Sb^Uzt_RCQE~;0ch)_M09TTHz-RQDECmFvHe8dC3K8_p>N{7m-&*)^`zkcrlcI z7m*hrkJ9vql1D4!R|aSc2RFAl(D-{zthN*F+NW14fJ7x zc75KW?@=-7j=XkO9X*hpKd=(N=#j+v+04XvFj?auUuFo6z5HC-HTLrJrCl}i{2@Of zN69>Y7_)S_2F`XB%y>SXd%?kydqGc!Q!rC9FKBLWaS9|jHS>bm{h1fc;g$M3m4dl! z;SzoKR3KeaW}<>Fl$)renBmf3d>@y~&qfY(sfPvL!(b8*3qm|=(KuxKW?YsQ2W5(b z@60$eQ-$Li>Y7lnTke2@Jqil3t9Orga&zZGqFHu#1{BQ9os}EF*3UD|;UUXT^KIj9 zuG}o1=FV_XeqY)d*p+8z$SlVh44JJt&4A2txdOZKs@!qNbPCev3E)&dGR;kAT99!W z5)Cnbvgk;mCCp+zL#;TRVd=x{I+MGVt8b8pKzcq;2*vFK}^gZhmfFE`1r(Ux$7p-d&-k@el1P-|4S+ zU9`W>Z`XfNef;_j?BJg(+0oqA+mdivW-g6)buDdfS=F8B>Rg)Y>}+dZ5l?n3ZCuip< z6|Z0|`%dj7W684ST}-XJn7UKDn0n*gshzJ(txBv@TTiMb*$G5nB)Yphh?wf_8gxw} z(be7A4l6j7XzyxHb+^TOJCe*2(b|&i>1vCwLk*TESu#wOot>$+&Uj0#wYNjBD`u_P zbv@Ahgd$jdypd3BekdA?I)R!9R;EBBjQHYfiKw?a7R40HG-yO`T`iJD>X@KLl48Z0 zAM|;v<~yx19~_LW=}xAS9m}2hGnY1YcCU(b#hVkc#fuxumX;U!dXp=YiKS6*+0tlf zEb5I-EuTKEB-T(eJ$6|2(nx1-cXPstqHPwtuL#Lds)=iAFJ`!$9(>VSfIA5PTC~GheOe|zIZBL)fQjwpl_NJJw2#+ zthv>RgcbzxyP4h@ixcr~C*ai*aYZZ~Y4DZkp;QlLdYGz*ay?Ab!*r*zw*}J?tZ3)n8NT>BX?Hx0fM)Rd8zPNW zPJKlf&mH((D&J+!@)(B(imC_(wW}7)C_zj)3+wBm0Y5@li<1cd4YsVEP`=haNLl||cMp!$cdbD3S(Ua(2ooFd7>BrK3L^q`qOzp?=ew@~i)BEwDew@*d z2Lqc|vl>2*Y43taR63pWoQ{pA-qu!he!9%Eey7U%ohs{hs;u9svVNz^`kgB4cd86d z@wq6chH#l9Z4#It4plq+4q|`=N}Ong4~^nwzd8Qeiprqh>FwxAF7HUR6k#3dcIs!K zm%<#2k@)Hu=LN@C5v{1Jk2>D!Qp`mqb}V&TG0~-*0Do-cuZaZNM~fKHA%r4(-ful0 z_RkMsDF`EDe~nIIoI+|V5a|Ig_JD!fXiY_A0Wv-a1?Wht?Uc!d8GEsP4EPb=k<#hN zqr&G!Jr;1D>FRDFRW*cTL4Sik=(Nl1gFxjtbK=dbDz(9pDB7J|zC6+0mROx=b0Uol z9e+(#7|vHLtcxJrZH;P4H1#6TImtIme{vQ;*f~w{oFmI)=S#%fG?-(RxX6p2Zp-rGR0Yu9c-w(CtO=n576rl)`9_m3idA7y)r2be zRmm?ezkG;mG#2NMu1*ZT)$z8~i1q5JEWHvn3?`SaNJ(3zC-GQ4oOgVIhJcS_az1~% zMHlND8f9HUVZ~QwZ;K?+$paTVfiiEn#d7h7 z!&m{(SBx`+QYc)9*1|eg(H8G+=R}OijCb4g7+q9ZU&ZT7(5+F9!uhrJMc&fVBH8a0 zO>S@Q>YdZP3h@t4_N35)MU$5oO|I)Hn%s&-yE&EY?3mn>kYf*)p-@G*Lf0T!oGMUU zRV0RHskUR#X^VF(?@b`|+He^rD$bs4ApGNc?hUb3eYleC=x<=?)d#R7;R{o1z*i=z zWza2;wKw<1(A#Qi8 zYeMt-600j(TDoO<_pX5R3GE|aWe|OwF-4cj6kQj>I)E<(Y>ha{J`S|BB``9$>!_bv zhDO0&3PJAp{FU|dWA(Lxs8drP3`Aoop5gde9@FiV6T{{L`>t4PvMqrT)|TMF!m#T^ z>jSW?O64Q|T4_CO3DBSH<*NB%rzd$-Lgv#b2Mnv+vjXFysBaeIA4+6SXdF4%G0URM znJnh5@j2m&8gKOiSwMYG2(8+)lLPE)Of;penXeN4$B~AKUH3gYT%r}xdMrtGwV0n; zV~Eo_9SB@9*&y-ut~PE?bfd6?EZy-e0w6rUDvDyf)n&+#b1aW+@oJg>Fb{^kNVWi* z&5q?=;&F=G6B+sR7B3i3XvT&x5o_**2MLV1-WiRF#HzY(AKSLE(T7QNp%-%=D%B8g zOSU9ax&`n@y_LuWqbwMxUEtL8wxyDs{(53n$+lFY+c~tiy-Q=Iky8ccCyAJj7=p$L zgrYEEDEhIE`+}IHeZf+vI?RnK2P|`f2MLKmR-=f06~gqy)gpq`qHjwWNp<&PDA8YW zP_ET6R9zSJIT0Iy*g}_>2*T}}iU20X^d?A}W+gqwFvpyQ6HUE6va4e}`fKViy8Kl^ zMnWKh^(ESwinnpL7UvMOO$g9PpsvKh+*YF29pcPi6RHb3A@mJ|weHu-r&$XYixoW=bO7!d)EEv_rENLKsIUHt0v7+W!H?=W-722eu4@m4TdwH=Xh-zL>33vZyK zRTjIBczXh_cQ{^gli#ISf}2;halMOikA-~D-Sb0%I=q*&-r`88mDq))C&)?(PS%#2YHU{!TSvZke@SQj|nHq>^qM?#pbVl{O>zvF9K9*e9=rkYpi{=2S~<5TJ#=foUtTZfS4 zVj02qNJjwgLuz~5Q3-B|`HdYTzRR=+Z1G|JBlt(x%ITWiR&kX~rQ@g~7^rlD4P3S* z&gE-|ux9Nr`-Z}pDEn?=IMXwCP9MlVP=RNw8B0ZpEEP<^Ej;3c^GKpOkzCCS(Ij0y z#)w65G~h&J)u;@kCmdf`_J3$2zt?thmWxx5$p|YYzOhu|yG*{ZE!H`z%<+X}uZ@D) zmnc=H(nf6Sf??cmN>`$)UAP5`wer@%SLusZWmKJ$5HH0h*+G>Ny~qor9$7J|WQ4l* z^|1{A-4uqgAa}HI&Zw%vf`O~+Ws}N0xa~$Jefz0)?4~419dF~)O@$PkGi6D^Xu%n* zc8%TX381<}My*$lr3jZu0(-X>=879z-57GLWb{# zuBWKMp41g#gUm;F%|-HnuBfuCq^z{0ylm?Jx_5Od@D9u2^EQ1|=aF5klck4&Cl<=n zrT^t?03WYqdUk6QJ_QpTvf9p=?AKOXuJz8e^&vw$^L1+5QHDiZu{C`>1GuC-sv3Hn4 zGwzIcSbreWH>N-?02w>VjI9ON9LaXaC1}@uA#%}M%Ky5X|8E;?T(QF)IduOGeg961 zQRl*QRetc)UH*Kh6YqB3rku$mcTS)9^y&55|unpBs!D z@LQv8#x?NgPsX1i&Ev*%k^ghXUn0*>jX%PO|K7M1jl;iq=ewgtc!phQ{5ROg7_Wm5 z6OF&ZwdKbAGnxwHpJ1;wo`<}b7!QJPD~uC3_8Jd`{X}E-!&%0Az<#muB$WF{;|Z|e zZk&(4c+hwX?9UiKg7j}19}GMGQd;We1rNmlVjW+_^m425UvPZR_znb29_r6DFQbp} zmQ?s8Tsy^h7W|xL{5!PseB%z3n=t+g`K>eNAB=A_ZUCQcyg&F7<1Uo@N8^uhyv=w6 z`tAYaGttgZ8ef3)ucjHkePG;$x_)8&E`0mR_#Y^1Ff{8m1o@0G{s)fZj6Xw~$;Km) z=3wLXh%vwM8sxvw_&D$~GZhv0^`%cR~hr~6t^00 z1>bA@2>Oe0Pyf$B`WKDALRqXQ?c2eOdoufIDB^?6J{oJxKAL9C_mvgK$Dr;t#v$GTwyo_>J+IVE!K|SjR2keB%q@&nV+5n9C*@XCYmwaSnKn@epvp_%q~FZ~P0c zjT;|?zH2vr2ljQw#TX+e8JC04F`fy&+;|@NR^$Cq_h*eapdN1;Pez=4WIPT0jq!H& zC(2_T9{}eYk3~H2M+3A^08cPx{FfRtR_7QqRs+Tx!S%*IloK~zj@W27egwX)GkyZ? zztI@)YMt|p&qKM_8b1g7?Z&IohJQ9b9{iN?G?e?A@s%j+@5Z+w&6mdGG2VYR=6UuL z>o^YWw!87MXrH}}hvQgm{5$wL)3^g|US+%=j$z|o)c0`Xtw_Jp_#yCWCmQ>~ zXBt0@YcDju6yxH0<3aG}KI7|9m&c8-!MyaP@f)b`o~Rq^@+{)~0AtqWI^z$}o_833 z41UnK1lK%md@|C%ZhSWQAI6N;uZ$V1zZf%CbCDOz&0C<*hJ^T+DcO(5W<2LY0<7eQ*8sj6;@247nfNL)^eigpm zY5Wq>KWCheG;bSo|1b#Y=;xbgpIYNdI4&_pa%Y7x=iy#s&cmCHmw~q$PeR@QWIP@D zKAuj4etgCF5TyUW*bn~Fcmenqzl4_*kUxH2x9x zV~iO;rx+iN`u^6~hxXvuV_6HqHyd*fxYziv;J+HP-Cj24e(8PVD6ap)cs}y~*?4!v zQZD>v{)fSbk;bRM&k4qlB7K=L_hxJ(rtd=fpfP_Dzu34Db5W}?_h3E7Y@hYU?7K6J z*@jmeb8oiI_(u5lfbqAe<5R}(!iU$5AHZDkp)r5;`5)sc@VO9$(9fUIZ)1%IqTUA> ze}J+MG9HF&{l?o-)?vonvn@AX0zXs6x8m9}j5&u~XuJ%3wXq*{+-7_Pu6@9m^U_ns z7vuQ4G3TETjmMzeZ;Z!*IaXO0&Pzj#FT!z*@#7fZ(~VnEN3Zc*v`@&`2VQ1;6^<*7 zZ^Chn@pc?H7@v(cVRapO_o4&(9Qqm8G4HyO_a zpKHuL>6OMI@J+@e&<^()AA$aP%$RG$OU7Iy{$@N2vG=(#*NdNw8S^>Aw7wh{zcS{$ zQEGf8$~wdtUExHH8Iy5i#$<;vWAbEU#^e@b#^e>ojL92~8IyM#{|jY3YRs5?(YOqC zdC!!}+Y}dePuii`Sa&+tk>h1 z-|~&8BmHROO|b80%=@@<;}_7j6~>d{bFFbZ;(bZlj{H{`pNcfS#&@H<6OBh;E?lpWBTYlMfm*CZ928OulK%nEcq7G5MV_W72~gW!9H5InoV4ubveM8bve{Hg8XB~^lhy%ecNbEf37!Xx!a9d?jy!OA^+!%>BBq5 z^x-pOmiupG`ZEH5Kf-oihJHNAm~FMpcp%2YO506~S>sx2c`YttQ9akEEjj~QNJ{aTfd}HQ+l`-?Y z#h7J1X?!>A?-?&g-T!605%vAi_<7W8Fdm$-trlaf?PI(J_9@1{Mp=!J`{3GI;}_A+ON{@9Ym>&yaP1o7 zAlhN0@s;3VeCV>ZyWR4PmFo(cgDPS0RPkrZBl?f z9b$YY+GG#o*U--U86S?gEjQkdc0R=T814v!hp@e(o{*Y~=qK8EZK|PnrE=)a!LJ=0bknG5fb@ z=g-K91%AFXdmYmMLdIC($HPAtL%WTJ9!iG4{OoS_3*pZ`WaP)sM6OS!7T$TWj{HshFyouRdl}z}HkoAnAMioOE|fLLI1BX*8S}4?ml^Z_ znbu}}658-cV?Li-Z~Qy7#YW?M5I@_E-vU2u{4v_+S>rbl8*dt4k9^vxnC|dUV?U>W6bAj0ps0auQx6S$Bmza|Lw;2qVDUAFQos*eD-#>@jYng zON>Xr=RX=>0pD&j4x!y1Fg_6ZJZXFc_*LVF9o)+suY>(dpH49T1^Jg6-+}g=WBfeQ2aFdWO}+6r^j+LIg0^Zm z9tQu{8NUVJHX8pE`J8Qh2mHCjc=iCqr13te?`_76?FWocMZKOhz79UWYJ3F7(cg_1 z!?!Ptw;;{H@mlwN+!%w#d{(-raS!YV7=Mj&ryJM8XRq;FNMCC_68^Uscc5)gHohD_ zoMXHaZE~6M?ePD4`J4$_m(OwSuZ*kE z&f|@*@u0q_vkOQ06!)xaPsN*@;+|Bu9#^C(l~|i{id*>mz~ZK!9;dh)e*jUezlBbA zw07d0{5&h()YOe1r)Hjxck>sdxI|O%HxX$@?oKg&h1j0JuQQ7I(}m)AD%G8A!ViIa z%&GtT!0iA+L+ZlR<^0O{@Ekwm@Q*xz0-yga-F`TSF8n{!l_E_#Z=mE?indLE(&r|@ zz$Tt&Cp>e(Sf>#_V&^$@sWS)v($@f;1oGm0)buBfAsEukbFb}-XNKuS8Rr&&Gt2cY z(Q;TWhMt^bxiS39%G*H89nCX`{r%24lT4uR`+48@e$3qO@7(8}XFJbx zpL^#Ho*JwybGckja&tNVaR!y+To!kn5sovdND@qSCOZ2&EjdnM@tq}i26KF;O}cK< zX{D!4zRrK${544*&*V7I>~u^*pVysdO&R!-B# zl5LIKoHre3a(_dAaldbelYdwab$ZV7{^Iq!o4uLKw^F-u&(BTzPVS%0Z5^|GWAVJl z(l?E1>^~>*#!=Ug*^pV*zt%su^pu51hyK*OZ)SJ?6#s^{{*JP3Kj!~zbb4{|1wT&q zT~N~IyTf-un}1iw@;h8JS8ZEhW=px?&eXM{?Wb*ewPV2_fdBf7b%Xb&ECp29x(q&4z`Hc&` z&hn2OClFs1i!`i?2O1I$(|irh%{@mQ-0bspw|B<{n%i4i08ZP%j-#h~B{VbD&CpM` zD~$$8=PsTP^iIQv+dXX1ToR$#PqR1095{jI<7jrJtNsPxh-jk9>mQ9TNINo!UMwT&?xqt0)yxSn8(>=2h>rPgY z=crcb>`(wTn70!q>)H8aZ+0XM`_bg|Y=0H_7;}Vd7eio)npBBPYqe4 z-&0G@)bxwU7O-Km6*@w;LPyCKu#3r7>N>KOdI{M|y_7sn{VyZuD<4NLQvNAi|k+&IG=+kE8w~Ka(K-SRy&?cnaI&RE+c!D zFDIuf|B{@kd<8j2`ATxG@>S$<%2$&oC|^VNDQ_iDQT`Qqs`9nuY0B4;^Od)eiSBo}L49wG;ncakfV zA0}5S|AAcVcz+A2jq*n}M%Hg5TZ zomT1c{3Ses@xv+m8Rq3=2guKot!`SIJZKqV-qu)a(#1L$8siWk-UG9M9{mC|7=VZ8+q3{ziMZHpm;~ zgz}r@HOg<1*D1eEUa$NPxnKER@|nu-kvA*9Pd-oigLTOFqT#%re#jyu2j~AVO|gx~ zk0_Fhn!i(2U~qbeTa)uVY4VYdcL`YffquofpX2QSYd?I<=Fghr`Q+$~WDkBuf7Y9y zldT)RAX_(lNwyIGifkeNHQ7S^8?uG?w`2?P@5nx_?Z3%Wl>bAXs{B3KLi`7^h4_!; zBFDQKr5*`HEnF;lPL9Xz+6)*aMz3op_bP^o@Ty1?k*;DN5t)v+8fU7zbn%kY?8$U} zG2kv+-Hm1(jZF2Hquxf#0&bLgQ`e(K`tz2=8cy#{}VYDb)eOnVQ{15tjFXB69VJPsBJClSE7y zEz70JB7D{g2f6k`{yF)cLtPbFQV_>;n53{aJzRvf=@BBVO{a;ll1vw2CCL+EC7B_@ zN|G;Pf)=Ylgil4Gh$$*&ikPYeE)p@#3Ovho9SgkPGuQQfwiS4u>)yd2m@mQ#e6$EF z@G&B+zzalJfr~|0flEYKflEbLf&C(^zyT3f;Gl@9TKX~((^Qm;$X8JzqDVzZ#2gjJ zikPorp@?D?l_CNvszg+%s1{MFqDDlmibW!#D#9X`s)&fFR}mGlT$_2Zh-N)fC!$To z5)mCLmWt?Bu}nll#c?9msQ9Ufb&fZRsL}yfFCB*QyWCX?i>7Oo&Na~_!n&?mgmqn9 zM5cLaab?3n&byuyTxFw^o;p%JtxWaQsh%*d98Z@z(#*R>SPYyf!eXFDgvCIw2#bM) z2#bL}5f%fhL|6>07GW{4Muf${S`iilCyB5aI9bH}(f;bF<5?%dV&D`J76U&QVKH#3 z2#bOBA}j_rh_DzqO@zh3MiCYR{UVlYgPbnHVqlX9i-9vlSPYyg!eZbo5f%eyi?A5@ zg@|?Pdb5c2Dz=E|S8t`f0J#nmDnQ*n)mCsk|}@wAFx ziFjVcwIW{Dk$9bm*YwCX5pP=L|Jt>bk^iyhM%Qs;laYUuBylwT%_6)iZV{0#k$=v;`#S-oroe8{}wSv#eYQ1*D2w95x8Y-!Kl~E z=?_xdoH-u1d%{nW)%Ln&IV=Nyn6TA4O+>o7-bX~HRxVvcj#h5Ch+IuJLc}-~86vFO znIf#(St6|3*&?jkBSl!Xb4288eMX5WvZ{=BACHd9nc&&iy%|**EzcOoNfPV9@glrf z0pl9Jp9t;2{e`UuCy1~fJV1n1Wul02mY>f(71`tzd#1Qg9G7gmLnMjicc=)jwBuA^ zWXJWxVInNQ!$nwrM~KKB9pSyhG!clHl1e;E7GX`7C&HR;h6roAd=a+jEf6tn^upjW zJW3W}5i?VSMNE+hiPlc)7|6lNT$Ox9kuOnuQ%J(`y_4mxi2!? zop>st>F#&mV76}uY!A2}Fxv*)e`>l1-A|jX6!&pzd&q36cDg^a6z315_=7ubKdnJF z?prk7AI+v}*AVrHd$y(LjiILallxe+@g7ZWkGg+mHaF&jvHlX=KtAT~F&h`ynr^py zli9dbR@;;AUz&}Jh_RKmSZ_Y%zQt^dFc!yFED1QCzqtQkHg>O``?UK-voWg1mPV29 zGwzSf#+e8<+`m3+wz2*&`s{gk=Kk6W9N=TaQP^H^`^?5cIO0U~_iPyCX8AyT{{cox z@KE9lnq4jxU#5z$;yCVdNy&!kA}pz{cF|!{T{A>&HI?N}d;B^0MtI;6)e}6y_(?fg z?SCe_m7gMe^odH^Uw(;mv-U}QX5NJ4dC#Tzcs|9)3n@Nc6d&sEC9+rfW%4lPSIB9W z&#Qk+HbvSu%*vV~?OT>TDZW!NVgpV*1&O2?GaT0Qj+v@}Qb?U%8|babcRqah|?GW_sk4#ZLxekh7*7)0h<*RY^Ii6pwm8n1b1BZx^V-?TLm2cCt z5*d}leKxW)s);%~WYqGUW*Mm&VV=>V9A!APDK92>C@qDkQ2%)$!nCm$?KF)B(GQQA@^JT5>tHE7a6NqMVD&?+hEcpYX`S>RL1I2 zuvi>qtf7abIEl@X6eqKcNpZ@1|1TmdJv09^WFm#kEM&!vXOdlNFCy!7pE--{QTuGN zPSu%5l69)ioI_62H1o*&XvH(xElv&C8x?EY_tZ84ujOzu8l*h*PrjIi@!=y`( z=8JS4=$_Eh(CK6qi1bWw>(N4$<4w-g#N$jBiA*17SIDec8h(q`&Bd*oY5=h>s_(&b8KZzC~=~Ms+kGAtnjw#ZzK`zLgkK2UYk*Fh`jKvX_Yv9PfmJ~-d=}%G( zZrt3A8v|!_GJdS<&`hnye#4|~_P0{t*RDDBtcYRayik^6PSAC+ZtD~u{p}n)dX~n9-ct^|1 z_RjW>_Qv{EGxG}a^9twI_taCiHZ|2Z^{!Yu9Z4D*+gBCV&(52fmtSvgr?<4Pi8ufM zI3Mb?cWv+VWJx2-BGF*g3`oZ+A?!4__jY$Qtc`VawYE3qHL;cr-HDlnEd}|7vBcW$ zcrOk$HFV^)v5f}~?IC0Bg-v^zTJ|#aB=$1(HS{F*JTtK(zE*9$iRSh$pa+YUo}Nx3 z`q<9Fkch{-d%9M_3QojVb~hz@I%0jD?R1F&JG63QD(&h@baXW|$6ES2^}IYb1bed= zTDD;lO`Z|1F_lM8I&jityg7*oFza~NjI@?x(<&z&G!chpoW5*QAwqNT_-xmtsb}Yuo|AlsOsSl5U|(_Cv1v!A<)s}{FmduhZIdS*aL^%b$MqdE zqcClLTHB2Lf`#F>83hZA-TT68Z3N%iroJBP_#?Hk^4e%D>V&Eyc;pdUf)x1RS3OaG zMJ$T<8JGqg?yspvvPcaRR7q02$WUGx@RyZ4EwKPvF1EU-J<;CT>XaW5FCfXb= zKF&mugG>3|SE#eOtE&h3(Rn1%kch{syH-2Fsw#ey&MM>i0O}izRrwdk0>QdisJg61 z+9bjUZqYS-y|%2Qq18dqG{t*+QSn$)ixa6`Sc!L$`sOT)H}p6mzvhTDV&O<#AYXR{ zx+~P(Ox+dfZkFz5JEeWSu|OQdDcX)Z+=cPAv8sk{C(;z}j7z>Tp!jYmmvts_Pl`CVYXHUXu#{0pI2;A7Jc#jha1_Mr%@1CGt(4eJ@BlvGwtg^pk5h|Rki~?wWl^WJ zrY0)Qigxas6KGf~?T#lr&Vkk3M=HO4XP1loIRIoU)TdRHLd zlFCZ$w}o@^5n#@u#Wm4T5OJ*eOTM+JO1{I-0!fSKc1W4pcCm)WUZ-|Rn9ny^TLh33 zrC@;~%c|M+OZiqrZ3W^aSXUddqDI5z(nl-1Fq8Xh!og@PTo*>YDiGRE?P9cHINlrY zSru6#uuz4Ag(@5@RN-Ku3Q;INZ|3w6E_9?#LgnGw3WuMS7$l*5 zCt4CfqxjifPO!S9v@+=Qb@sNmcE+21xbF2hi|3$o!W@ryoju06!3mT^OKKKJ9e+gu z=A(Su7dS1Lg%eJQFL4E{B9-i#r3~s?gd;mVXdNC7mWOcZ3d3=*N~bYSBh@8{_K+X1 zM~AATRV9&yPEB{bGZ|nKI{u0yk)sa3>Mogan3KN}=L8Y+k%HN9S`zT1VhcI>boVrq z%Idt&|$73yMfLSb7O#oG9h;o$n&8h0@#H<&HH*{$H#!7LLAFsp9 zbA8*nUCP2Cc?lAxyTO1+0oglso5)`W4v37R-MF=05OhbV}Ni9RHHMX*;FNXeA(-Mxlf$6Tm>9MKF!D@KABUPd;us5DXDpssh(^J(4q@#Cf~AYgV~eXpQKxEgWhfd;@CZjt zYfM*mP7KQlECFLJ?Rb71Mx${kHOCvf(E0#eNTu?TV70U!76Ir__HtQy*y(LQDK4{T zltYA7?rpM|5d0L>3G^iU0_g zmqn3{zoHNhIiqsV7O#-W4U=5hk7Nt6a_?;ImJ%npAdxAMrN!4Y$TVdM7>_k|p#*V^ zxxP6|;_($VJps1uk|hDmkc<47&`_zmhK}~;_Jm&agHeAeoM4nyhN>4jRec?ac20P` zv9k7#M7+m2wr^#(#>x^-6_}AEVmf088Yfg6g$YA3h>LZg5;Jh1vcRbbb7{%}OHU|4 zTw;*b@UgFIF+K6x5W%%!U=bKe^z>mUvAj}1IakL}MNMVEiP#9lqB-A0C5l~D5~?0t z_DIv5z!GDaW6r{QsIjkC)^Uu-U{wu9SFo&-kr0aD;t}miG<0x&mck)u8xf$9P))vr zxh-FCE4kIGOvBfJ%EYcmvEhQUiNdx9twlBjGHw!3DW!LKN zuGR4#n*ul=Nn{xm;PO*lmM@>m5?upl$znm$R@C8JY7+LGTzTD;rY)k?yCqQUW(a6DGn9(fF`P?O19ExjhBm2ym!EMkx{w$b`AT;x#duv{lYC{lH@Uh<hf`i?!d6f)M=>Yi$2r*{qf&;`wxSoq^ic!S? zg$C%@!J8QNqAV6t*E=$S$(k$@j4rNqBIqk?*rZ!qSm-rMR>s{;F&UFO3Kns2Nr>@Y z09SflyA;Z;!GO#kDsjVG!t<7J87~)g2McunQNF3s=@r3}fX_cYvT&I%iieK9zB+rt z=)=;Pj~ttP@?g#9vU}K2gW6yh&M*ET|De<__yT=*clxM?CrpLz(oH6+1m?jS%9uCbhZIAQy zcy!==JZwzaJWl!^=cn&+z8=4FAd__cng>2;vTsNRJbL&q52S1!2T#vaHjk5)qF8=> zMUk?3oT1I@aqt39%I3lEOj0+`ke;MJyxfzrdGu?W0gK1kZ{Q3ctfNs|eETGIW?YPN zKKpSx_Q{Q5@fGZ4YMBj?N(o@K6^gOOnAG-{kWid7v2X(c3)kEMrPH|3Ey*HlC9c>l`+IAuw!i`yYy$)`3zu82}@zEW1GhCOG%G@SYSm&g(Au?o_``8{?xD zzyHMFm`Q?8C7Hp5jq_geT#nP^x%K2x_`tRte=be}*m@8NO}`;Fhi{#E0<5j?r5Khu1IKJpn~gL98Gu0T2c#@o@(HO5`YccpO__8W}(Z)QdgCtSd%N*>*#F*mBl_-f<1J|C7mP1M`nQblK-vCb%y#|O_%oDk82(rn zj+0Tw+3<6K@i*8XX1ov5%reeJniAu)5o1-x{qVoc_!r=~@ztpNiN-ggeNHhh!o~P3 zv!7PmRyOc>LaY3wSv4U>z?6k2U@c$}`D05A)u1 zW4^94*LXNMXw1d>BIA$Y=Xm2EaBjQtBJ^FK@f)yjFfPX!ImfsPe1&lYe1q{a@cqVI z=e=V5Yt-XC<1)m_r^eOb?~Qk(&4(jD*6~>|U#=ogKs-z`o&uh3%=n*c%vcQ?GgcQF zGxm-*X1)0$BYn0ZHu{X8L)kVMzliqVVmu%AYm6^JzIPbE0sDi-eQ3ko#y_d4THNFvbdCvG@%uC-H ze~J1Yg1WI@Pb1C?jaipFjo(FkK4knq;3te{z{g9*Tao@9;~T;MGG?s)+nBMs56)*^ zjMXv5yapX%oQ1l~F&+&L8c##Joo2iZ{w_9t3j8bM<59<(jlH;ay4To`KH@yZe2<3D zXN+G(Y`kuaBo6DwG>^g0m&PZd%r3MG?O%ekjQ2+!#~Z)NdCYhTd=?nzg8jywDF0I9 zjYuCi=6u{^{5r~Ts`1I__X~`Fz`4IMei>!kY5We-ziNC4(tKdd^}|S{W0_w=`_vg9 zfqj!P*OJ}FoQF>_<~)3v@z22b8keE&e=?qhet*um9{u>HaWT^WBbgrjopB`?Z`VnA z`mxV7X1}!T21cUu`@V?N48G5hXfW47U~#$1~{V0<&m_PFtvsN;*q-*KE8 z{}pq^C&s)cd(hS_a~{e(&KR#jItLr)fD4U(Kwb-s55l>;#_-%7$g9zqYql=q4wQ49 z@sl|BVq?xB*BaM@Z#531jt>}f{qndm=cN~o@525aW6nQZ7qSe8A>Z$f^S~o;jCRgT zKQZ2p{S@Qf80*IvccYFAjrs4eEj3;QjvGISeUI^D*q>_rEcTm???jtiZrl(5zczji z`#X)_$9|{rC)oel_*9IwSB=jGe_(tu_zUB$VBW*AUcUop8{ZAy-}qthRO2VXvy5K? zmm0qft})I(GtH#o+Ud7lN-ct^?m_+yK7EI2Y}(%XlsN=NV&O zBmQR0YsBA;kHY-%jWMqm!!W0_zKr?N#vB(18gt&5Ys_mxxiNN5y)k35-Iy`C%9t^E zt}$csN@K?4Z;iw7bGI>L@{h*4{aMV zu0fgWj5i_nn~bNyf4A{XNOOwueW=UX#*;CZUTU0$G~0~tLVMnB%$R)8m@)Z;F=O&& zW5(or#*E3&j2V+Z8Z#y{@vMUNWlWAYu0YJpG-gZ|8^@4WmGM0I`Kj@9h=Fcn#_B1? zjMcM^8LQVBGgfaiX6(IW%zC|R%zAxl%zFJ`%z9=MuzE2tNi!^^VW*I&-W*NRTX1;EeG1;~U7`LJy7Z|gx z;>Kez7J7`sNOP+3AK-I~@nMLKYmLVt{jJ8Yqkms8-hi^bZM+*i91r7I29|AKW0vh8 zW46_?#;orWW7fCXn04$)ra@j88qdMF+iFbzHyhLEea6h|1>@&o|H!xnb^qGLnKhpRjpLpv;Sm8_{lSjTgec#rRI}WrTaCX&o8NET zi}rccxCefoH})gn4~%*4=f*tuM`NCwfdw7QJPv*O6XPq;CI=aRfOei?yaI7M-}sMc z=W^pOkZ;tO_l^z5TnleB<`13DGhPM%S0(L8bEENBu-{|65P9t~{t)f(jPVG>?dQhw z4+ryiyeR(*XwNM2QAmt!ve{c%e)3$k7n%JM*h|QB)Lv%x^Uy~T@{wv^YW6JH<#dnOs}ITK@NJb9Yh zCz}0ol;;TY5o*sjJMZm|CLgZ$QnNQA9%{&kslDCo@1i`bjDLcCZF%0BwGi z@tc_2A2NOlvGJtwS4i`U@xPGfedE6(&F99$&{htUd* z&@0A#j{BbRy(rtK#t$Q}?~VCwSn_h?`_azV8_z(QZ#TXLW&6Ex4chH-+d_E#qe$ zTtAH0!2X@_hp6wcNm|FBqa7w2KZ-KXFvcqh&U|AZ@(LOM3+d~O&qUpujK6eY&12k+ zc00xRPw;br@f7gY#^<6HW0ybJ!f7&BHcH$DsHyx!Q47`WYd2V(5^ z#%nP~b{j86*%#9?4j|*&z-_YGkAR;%vPbPjW`7EK%_Ad!ZVQar7v+{_80^(#v;nuU zaWnWhOY=F-Zy+OoZgFED7{zv6xVPhmq7I}PM>d~6vXucikcRH)(}z8iCet%1nPm{4 zb}nwG#1G5wLEVz&k?#jBuer2adhw6>mz(&UqAY$`Kx|S@Cd9_WF0)T1o6kUsy@G81 zoxI+)D-#Wk*e7~)-EYXlc}$YmkVy2jH{$mny=bog>kZ3Zel;jD#gmHo zk+Sg^w@LUTTe$yk(;bR5?84M^Ngpta5AF+$8Oz+5ua97xg@-c@np|x5PY@Uk7c6(h z&SMOXa{Mu$q`xS*8Gp%*>A02Rk6esDZs|dNFN6MgZqi>2oa%1}G{-=4OZqzwhE#v` z@V6W``eQpJ{q=x(x-Dg$br>^Kp_3br@o$sulXm`JAUZJilUuR~8(>Jy_W|U)19KGf z#S}V_?*-uGIY1`|nckRUNaFQ-q`U7hyu-i~Y)huw3Z0s7qDj*+UtBH+^1T8;Mf=O@+T?`*ED`7{^Dh`s)VDwjBO^#@r?I x!X_@BfRx{{_VR3eW%m diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_key_logic.d b/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_key_logic.d deleted file mode 100644 index c5b1374..0000000 --- a/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_key_logic.d +++ /dev/null @@ -1,104 +0,0 @@ -Obj/USRCTRL_key_logic.o: USRCTRL/key_logic.c includes.h \ - include/apt32f102.h include/apt32f102_types_local.h \ - include/apt32f102_ck801.h include/apt32f102_adc.h include/apt32f102.h \ - include/apt32f102_bt.h include/apt32f102_coret.h \ - include/apt32f102_countera.h include/apt32f102_crc.h \ - include/apt32f102_ept.h include/apt32f102_et.h include/apt32f102_gpio.h \ - include/apt32f102_gpt.h include/apt32f102_i2c.h include/apt32f102_ifc.h \ - include/apt32f102_lpt.h include/apt32f102_rtc.h include/apt32f102_sio.h \ - include/apt32f102_spi.h include/apt32f102_syscon.h \ - include/apt32f102_uart.h include/apt32f102_wwdt.h \ - include/apt32f102_types_local.h include/apt32f102_clkcalib.h \ - include/apt32f102_tkey.h SYSTEM/inc/uart.h SYSTEM/inc/touch_key.h \ - SYSTEM/inc/eeprom.h SYSTEM/inc/touch_key.h SYSTEM/inc/adc.h \ - SYSTEM/inc/ht1621.h USRCTRL/inc/debug_unit.h USRCTRL/inc/display_logic.h \ - USRCTRL/inc/tempctrl_unit.h USRCTRL/inc/key_logic.h \ - USRCTRL/inc/tempctrl_unit.h USRCTRL/inc/myrelay.h \ - USRCTRL/inc/uart_protocol.h SYSTEM/inc/tm1812.h SYSTEM/inc/switch_fun.h \ - SYSTEM/inc/Bootload_fun.h SYSTEM/inc/uart.h - -includes.h: - -include/apt32f102.h: - -include/apt32f102_types_local.h: - -include/apt32f102_ck801.h: - -include/apt32f102_adc.h: - -include/apt32f102.h: - -include/apt32f102_bt.h: - -include/apt32f102_coret.h: - -include/apt32f102_countera.h: - -include/apt32f102_crc.h: - -include/apt32f102_ept.h: - -include/apt32f102_et.h: - -include/apt32f102_gpio.h: - -include/apt32f102_gpt.h: - -include/apt32f102_i2c.h: - -include/apt32f102_ifc.h: - -include/apt32f102_lpt.h: - -include/apt32f102_rtc.h: - -include/apt32f102_sio.h: - -include/apt32f102_spi.h: - -include/apt32f102_syscon.h: - -include/apt32f102_uart.h: - -include/apt32f102_wwdt.h: - -include/apt32f102_types_local.h: - -include/apt32f102_clkcalib.h: - -include/apt32f102_tkey.h: - -SYSTEM/inc/uart.h: - -SYSTEM/inc/touch_key.h: - -SYSTEM/inc/eeprom.h: - -SYSTEM/inc/touch_key.h: - -SYSTEM/inc/adc.h: - -SYSTEM/inc/ht1621.h: - -USRCTRL/inc/debug_unit.h: - -USRCTRL/inc/display_logic.h: - -USRCTRL/inc/tempctrl_unit.h: - -USRCTRL/inc/key_logic.h: - -USRCTRL/inc/tempctrl_unit.h: - -USRCTRL/inc/myrelay.h: - -USRCTRL/inc/uart_protocol.h: - -SYSTEM/inc/tm1812.h: - -SYSTEM/inc/switch_fun.h: - -SYSTEM/inc/Bootload_fun.h: - -SYSTEM/inc/uart.h: diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_key_logic.o b/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_key_logic.o deleted file mode 100644 index 2c1c37bd2cba3d4ee825947069756cab83c3c207..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35120 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 OPU{-136m~#%l$tuq#26< diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_myrelay.d b/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_myrelay.d deleted file mode 100644 index 1a3a7f5..0000000 --- a/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_myrelay.d +++ /dev/null @@ -1,101 +0,0 @@ -Obj/USRCTRL_myrelay.o: USRCTRL/myrelay.c includes.h include/apt32f102.h \ - include/apt32f102_types_local.h include/apt32f102_ck801.h \ - include/apt32f102_adc.h include/apt32f102.h include/apt32f102_bt.h \ - include/apt32f102_coret.h include/apt32f102_countera.h \ - include/apt32f102_crc.h include/apt32f102_ept.h include/apt32f102_et.h \ - include/apt32f102_gpio.h include/apt32f102_gpt.h include/apt32f102_i2c.h \ - include/apt32f102_ifc.h include/apt32f102_lpt.h include/apt32f102_rtc.h \ - include/apt32f102_sio.h include/apt32f102_spi.h \ - include/apt32f102_syscon.h include/apt32f102_uart.h \ - include/apt32f102_wwdt.h include/apt32f102_types_local.h \ - include/apt32f102_clkcalib.h include/apt32f102_tkey.h SYSTEM/inc/uart.h \ - SYSTEM/inc/touch_key.h SYSTEM/inc/eeprom.h SYSTEM/inc/touch_key.h \ - SYSTEM/inc/adc.h SYSTEM/inc/ht1621.h USRCTRL/inc/debug_unit.h \ - USRCTRL/inc/display_logic.h USRCTRL/inc/tempctrl_unit.h \ - USRCTRL/inc/tempctrl_unit.h USRCTRL/inc/myrelay.h \ - USRCTRL/inc/uart_protocol.h SYSTEM/inc/tm1812.h SYSTEM/inc/switch_fun.h \ - SYSTEM/inc/Bootload_fun.h SYSTEM/inc/uart.h - -includes.h: - -include/apt32f102.h: - -include/apt32f102_types_local.h: - -include/apt32f102_ck801.h: - -include/apt32f102_adc.h: - -include/apt32f102.h: - -include/apt32f102_bt.h: - -include/apt32f102_coret.h: - -include/apt32f102_countera.h: - -include/apt32f102_crc.h: - -include/apt32f102_ept.h: - -include/apt32f102_et.h: - -include/apt32f102_gpio.h: - -include/apt32f102_gpt.h: - -include/apt32f102_i2c.h: - -include/apt32f102_ifc.h: - -include/apt32f102_lpt.h: - -include/apt32f102_rtc.h: - -include/apt32f102_sio.h: - -include/apt32f102_spi.h: - -include/apt32f102_syscon.h: - -include/apt32f102_uart.h: - -include/apt32f102_wwdt.h: - -include/apt32f102_types_local.h: - -include/apt32f102_clkcalib.h: - -include/apt32f102_tkey.h: - -SYSTEM/inc/uart.h: - -SYSTEM/inc/touch_key.h: - -SYSTEM/inc/eeprom.h: - -SYSTEM/inc/touch_key.h: - -SYSTEM/inc/adc.h: - -SYSTEM/inc/ht1621.h: - -USRCTRL/inc/debug_unit.h: - -USRCTRL/inc/display_logic.h: - -USRCTRL/inc/tempctrl_unit.h: - -USRCTRL/inc/tempctrl_unit.h: - -USRCTRL/inc/myrelay.h: - -USRCTRL/inc/uart_protocol.h: - -SYSTEM/inc/tm1812.h: - -SYSTEM/inc/switch_fun.h: - -SYSTEM/inc/Bootload_fun.h: - -SYSTEM/inc/uart.h: diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_tempctrl_unit.d b/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_tempctrl_unit.d deleted file mode 100644 index 8d898e5..0000000 --- a/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_tempctrl_unit.d +++ /dev/null @@ -1,83 +0,0 @@ -Obj/USRCTRL_tempctrl_unit.o: USRCTRL/tempctrl_unit.c includes.h \ - include/apt32f102.h include/apt32f102_types_local.h \ - include/apt32f102_ck801.h include/apt32f102_adc.h include/apt32f102.h \ - include/apt32f102_bt.h include/apt32f102_coret.h \ - include/apt32f102_countera.h include/apt32f102_crc.h \ - include/apt32f102_ept.h include/apt32f102_et.h include/apt32f102_gpio.h \ - include/apt32f102_gpt.h include/apt32f102_i2c.h include/apt32f102_ifc.h \ - include/apt32f102_lpt.h include/apt32f102_rtc.h include/apt32f102_sio.h \ - include/apt32f102_spi.h include/apt32f102_syscon.h \ - include/apt32f102_uart.h include/apt32f102_wwdt.h \ - include/apt32f102_types_local.h include/apt32f102_clkcalib.h \ - include/apt32f102_tkey.h SYSTEM/inc/uart.h SYSTEM/inc/eeprom.h \ - USRCTRL/inc/display_logic.h USRCTRL/inc/tempctrl_unit.h \ - USRCTRL/inc/tempctrl_unit.h USRCTRL/inc/uart_protocol.h \ - SYSTEM/inc/Bootload_fun.h SYSTEM/inc/uart.h - -includes.h: - -include/apt32f102.h: - -include/apt32f102_types_local.h: - -include/apt32f102_ck801.h: - -include/apt32f102_adc.h: - -include/apt32f102.h: - -include/apt32f102_bt.h: - -include/apt32f102_coret.h: - -include/apt32f102_countera.h: - -include/apt32f102_crc.h: - -include/apt32f102_ept.h: - -include/apt32f102_et.h: - -include/apt32f102_gpio.h: - -include/apt32f102_gpt.h: - -include/apt32f102_i2c.h: - -include/apt32f102_ifc.h: - -include/apt32f102_lpt.h: - -include/apt32f102_rtc.h: - -include/apt32f102_sio.h: - -include/apt32f102_spi.h: - -include/apt32f102_syscon.h: - -include/apt32f102_uart.h: - -include/apt32f102_wwdt.h: - -include/apt32f102_types_local.h: - -include/apt32f102_clkcalib.h: - -include/apt32f102_tkey.h: - -SYSTEM/inc/uart.h: - -SYSTEM/inc/eeprom.h: - -USRCTRL/inc/display_logic.h: - -USRCTRL/inc/tempctrl_unit.h: - -USRCTRL/inc/tempctrl_unit.h: - -USRCTRL/inc/uart_protocol.h: - -SYSTEM/inc/Bootload_fun.h: - -SYSTEM/inc/uart.h: diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_tempctrl_unit.o b/T1_TC_ZH_V01_20251128/Source/Obj/USRCTRL_tempctrl_unit.o deleted file mode 100644 index d72b5bbd452bae79984b1616952b401b4be55607..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27536 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 NJx>_zaul@f{U48$v7rC} diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/drivers_apt32f102_ck801.o b/T1_TC_ZH_V01_20251128/Source/Obj/drivers_apt32f102_ck801.o deleted file mode 100644 index 82122e15c4ba244568fe07ac250846df97217b5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19088 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 diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/main.o b/T1_TC_ZH_V01_20251128/Source/Obj/main.o deleted file mode 100644 index f41709742319ef78c0675e3102d9da057284322c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25976 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 R^T086A)Z5|6M;32{{yBM4z&OP diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/mcu_initial.o b/T1_TC_ZH_V01_20251128/Source/Obj/mcu_initial.o deleted file mode 100644 index 72d4bf4ee9765b79847e4bb20bf57722b0f7a76e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47336 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 WN}i>!_Uc=E9Qq%(@!^`Q@BafZtEmbA diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/mcu_interrupt.o b/T1_TC_ZH_V01_20251128/Source/Obj/mcu_interrupt.o deleted file mode 100644 index 471d0140b4e52f32c3fb6a69b0cb729c9d6cb2c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45080 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 1 ; - if( xdabit ) xda ^= xdapoly ; - } - } - aStr[alen] = (U8_T)(xda & 0xFF) ; - aStr[alen+1] = (U8_T)(xda>>8) ; -} - - - -/** @name CRC16校验得到 -* @para -* aStr 数组首地址 -* len 数组长度,不包括校验 -*/ -U16_T GetCRC16( U8_T *aStr , U16_T len) -{ - U16_T xda , xdapoly ; - U16_T i, j, xdabit ; - xda = 0xFFFF ; - xdapoly = 0xA001 ; // (X**16 + X**15 + X**2 + 1) - for (i = 0; i < len; i++) - { - xda ^= aStr[i] ; - for (j = 0; j < 8; j++) - { - xdabit = (unsigned char)(xda & 0x01) ; - xda >>= 1 ; - if ( xdabit ) xda ^= xdapoly ; - } - } - - return xda; -} - -/*和校验*/ -U8_T SOR_CRC(U8_T *Data, U8_T DataLen) -{ - U8_T i; - U8_T sor_data = 0; - - for(i = 0; i < DataLen; i++)//i可能为0 ,也可以是1 - { - sor_data = sor_data+Data[i]; - } - return sor_data; -} - -/*主动回复组包报文*/ -void Rs485_ASend(U32_T valtim) -{ - if(g_eeprom.dev_port != ACTIVE_PORT) return; - - U8_T SendData[24]; //24个字节 - SendData[0] = 0x55; - SendData[1] = 0x55; - SendData[2] = 0xee; - SendData[3] = 0x15; - - SendData[4] = 0x03; //类型 - SendData[5] = g_Dip.DIP_addr; - - SendData[6] = 0x00; //Func0 温控器高字节,通常为0 - SendData[7] = TempCtrl.TemState_Now.on_off; //Func1 温控器低字节,0关 1开 - SendData[8] = 0x00; //Func2 模式高字节 通常为0 - if (TempCtrl.TemState_Now.mode == MODEL_COLD) { - SendData[9] = 0x01; //Func3 模式低字节 1制冷 2制热 3通风 - }else if (TempCtrl.TemState_Now.mode == MODEL_HOT) { - SendData[9] = 0x02; //Func3 模式低字节 1制冷 2制热 3通风 - }else if (TempCtrl.TemState_Now.mode == MODEL_WIND) { - SendData[9] = 0x03; //Func3 模式低字节 1制冷 2制热 3通风 - } - - SendData[10] = TEMTEMPCONVER(TempCtrl.TemState_Now.set_t); //Func4 设定温度值高字节 整数值 - SendData[11] = 0x00; //Func5 设定温度值低字节 小数值 ,没有就给0 - SendData[12] = 0x04 - TempCtrl.TemState_Now.fan; //Func6 风速高字节 为0 - switch(TempCtrl.TemState_Now.fan) - { - case FAN_LOW: //低速 - SendData[13] = 0x03; - break; - case FAN_MID: - SendData[13] = 0x02; - break; - case FAN_HIGH: - //SendData[13] = 0x04 - TempCtrl.TemState_Now.fan; //Func7 温控器风速低字节:1 高速,2 中速,3 低速,0 自动,4 停 - SendData[13] = 0x01; - break; - case FAN_AUTO: - SendData[13] = 0x00; // - break; - default: - SendData[13] = 0x04; // - break; - } - SendData[14] = 0x00; //Func8 温控器机器型号高字节 - SendData[15] = 0x00; //Func9 温控器机器型号低字节 - SendData[16] = TempCtrl.TemState_Now.valve<<3; //Func10 第3位作为阀开阀关标志位 - SendData[17] = 0x00; //Func11 备用字节1 - SendData[18] = 0x00; //Func12 备用字节2 - SendData[19] = 0x00; //Func13 备用字节3 - SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t); //Func14 室内温度整数值 - SendData[21] = 0x00; //Func15 室内温度小数值 - - NetCRC16_Check(&SendData[0+3], SendData[0+3]); //校验 - - Set_GroupSend(SendData,24,BUSSend_Cnt,valtim,300); - -} - - -/*轮询回复报文*/ -void Rs485AskCycleSend(void) -{ - U8_T SendData[24]; //24个字节 - SendData[0] = 0x55; - SendData[1] = 0x55; - SendData[2] = 0xee; - SendData[3] = 0x15; - - SendData[4] = 0x03; //类型 - SendData[5] = g_Dip.DIP_addr; - - SendData[6] = 0x00; //Func0 温控器高字节,通常为0 - SendData[7] = TempCtrl.TemState_Now.on_off; //Func1 温控器低字节,0关 1开 - - SendData[8] = 0x00; //Func2 模式高字节 通常为0 - if (TempCtrl.TemState_Now.mode == MODEL_COLD) { //Func3 模式低字节 1制冷 2制热 3通风 - SendData[9] = 0x01; - }else if (TempCtrl.TemState_Now.mode == MODEL_HOT) { - SendData[9] = 0x02; - }else if (TempCtrl.TemState_Now.mode == MODEL_WIND) { - SendData[9] = 0x03; - } - - SendData[10] = TEMTEMPCONVER(TempCtrl.TemState_Now.set_t); //Func4 设定温度值高字节 整数值 - SendData[11] = 0x00; //Func5 设定温度值低字节 小数值 ,没有就给0 - - SendData[12] = 0x04 - TempCtrl.TemState_Now.fan; //Func6 风速高字节 为0 - switch(TempCtrl.TemState_Now.fan) - { - case FAN_LOW: //低速 - SendData[13] = 0x03; //Func7 温控器风速低字节:1 高速,2 中速,3 低速,0 自动,4 停 - break; - case FAN_MID: - SendData[13] = 0x02; - break; - case FAN_HIGH: - SendData[13] = 0x01; - break; - case FAN_AUTO: - SendData[13] = 0x00; // - break; - default: - SendData[13] = 0x04; // - break; - } - - SendData[14] = 0x00; //Func8 温控器机器型号高字节 - SendData[15] = 0x00; //Func9 温控器机器型号低字节 - - SendData[16] = TempCtrl.TemState_Now.valve<<3; //Func10 第3位作为阀开阀关标志位 - SendData[17] = 0x00; //Func11 备用字节1 - SendData[18] = 0x00; //Func12 备用字节2 - SendData[19] = 0x00; //Func13 备用字节3 - - SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t); //Func14 室内温度整数值 - SendData[21] = 0x00; //Func15 室内温度小数值 - - NetCRC16_Check(&SendData[0+3], SendData[0+3]); //校验 - - Set_GroupSend(SendData,24,1,BUSSend_ValidTime3,20); //组包 - -} - - -/*控制回复报文*/ -void Rs485AskCtrlSend(U8_T* Recdata) -{ - U8_T SendData[10]; - - SendData[0] = 0x55; - SendData[1] = 0x55; - SendData[2] = 0xee; //头 - - SendData[3] = 0x07; //长度 - SendData[4] = 0x03; //类型 - SendData[5] = g_Dip.DIP_addr; - SendData[6] = Recdata[6];//Rs485Tem.AskModeState; //类型 - SendData[7] = Recdata[7];//0x01; //内容 - - NetCRC16_Check(&SendData[0+3], SendData[0+3]); //校验 - - Set_GroupSend(SendData,10,1,BUSSend_ValidTime3,20); //组包 - -} - - -/*控制回复报文cmd:0x10*/ -void Rs485AskReadSend(U8_T* Recdata) -{ - U8_T SendData[11]; - - SendData[0] = 0x55; - SendData[1] = 0x55; - SendData[2] = 0xee; //头 - - SendData[3] = 0x09; //长度 - SendData[4] = 0x03; //类型 - SendData[5] = g_Dip.DIP_addr; - SendData[6] = Recdata[6]; - SendData[7] = Project_FW_Version; - SendData[8] = Project_HW_Version; - SendData[9] = g_eeprom.dev_port; //所处RCU端口 2024-12-16 - - NetCRC16_Check(&SendData[0+3], SendData[0+3]); //校验 - - Set_GroupSend(SendData,12,1,BUSSend_ValidTime3,20); //组包 -} - -/*设置端口回复报文cmd:0x12*/ -void Rs485_DevPort_ACK(U8_T* Recdata,U8_T Lens) -{ - Set_GroupSend(Recdata,Lens,1,BUSSend_ValidTime3,20); //组包 -} - -U8_T Temp_Rec_Analysis(U8_T *RecData, U16_T Len) -{ - U8_T ret = 0; - U16_T Crc_buf; //正确报文校验保存 - - if((0x09 != Len) && (0x0A != Len)) - { - return 0x01; - } - - if((0x55 != RecData[0]) || (0x55 != RecData[1])|| (0xee != RecData[2]) ) - { - return 0x02; - } - if( (RecData[3] + 3 != Len) || (Tem_Type != RecData[4]) || (g_Dip.DIP_addr != RecData[5]) ) - { - return 0x03; - } - - Crc_buf = GetCRC16(&RecData[3], RecData[3]-2); - if(Crc_buf == (RecData[Len-2]+(RecData[Len-1]<<8))) //校验通过 - { - switch(RecData[6]) - { - case 0x0A: - if(g_eeprom.dev_port == ACTIVE_PORT) - { - Clear_SendFlag(); - } - else if(g_eeprom.dev_port == POLLING_PORT) - { - Rs485AskCycleSend(); - } - break; //轮询温控器 - case 0x01: //开关机 - case 0x02: //模式 - case 0x03: //温度 - case 0x04: //风速 - Rs485AskCtrlSend(RecData); - break; - case 0x10: - Rs485AskReadSend(RecData); //版本号查询 - - break; - case 0x11: //设置插卡状态同步功能开启/关闭 - Rs485AskCtrlSend(RecData); - Dbg_Println(DBG_BIT_SYS_STATUS,"Card_EN Set:%d",TempCtrl.CardEn); - if(TempCtrl.CardEn != RecData[7]) //00:关闭 01:开启 - { - TempCtrl.CardEn = RecData[7]; - if(TempCtrl.CardEn == 0x00) - { - TempCtrl.CardState = 0x01; - } - } - break; - case 0x12: //设置端口 2024-12-16 - if(RecData[7] != g_eeprom.dev_port) - { - U8_T rev_val = 0; - - g_eeprom.dev_port = RecData[7]; - EEPROM_WriteParaInfo(&g_eeprom); - - rev_val = EEPROM_ReadParaInfo(&g_eeprom); - if(rev_val == 0x00){ - //写入数据成功 - Rs485_DevPort_ACK(RecData,Len); - } - - } - break; - } - - - switch(RecData[6]) - { - case 0x01: //开关机命令 - switch(RecData[7]) - { - case 0x00: - TempCtrl.TemState_Now.on_off = TEMP_OFF; //关机 - break; - case 0x01: - TempCtrl.TemState_Now.on_off = TEMP_ON; //开机 - break; - default: - break; //报文有误 - } - break; - case 0x02: //模式命令 - switch(RecData[7]) // - { - case 0x01: - TempCtrl.TemState_Now.mode = MODEL_COLD; //制冷 - break; - case 0x02: - TempCtrl.TemState_Now.mode = MODEL_HOT; //制热 - break; - case 0x03: - TempCtrl.TemState_Now.mode = MODEL_WIND; //送风 - break; - default: - break; - } - break; - case 0x03: //设置温度命令 - if((TEM_MIN_SET <= RecData[7]) && (RecData[7] < TEM_MAX_SET)) //在指定温度范围内 - { - TempCtrl.TemState_Now.set_t = (RecData[7]&0x1f); - }else if(RecData[7] == TEM_MAX_SET){ - TempCtrl.TemState_Now.set_t = (RecData[7]&0x20); - } - break; - case 0x04: //风速 - switch(RecData[7]) //风速 - { - case 0x00: - TempCtrl.TemState_Now.fan = FAN_AUTO; //自动风 - break; - case 0x01: - TempCtrl.TemState_Now.fan = FAN_HIGH; //高风速 - break; - case 0x02: - TempCtrl.TemState_Now.fan = FAN_MID; //中风速 - break; - case 0x03: - TempCtrl.TemState_Now.fan = FAN_LOW; //低风速 - break; - default: - TempCtrl.TemState_Now.fan = FAN_LOW; //低风速 - break; - } - break; - } - - return ret; - - } - else - { - return ret = 0x01; - } -} - -/************************************************************************** - * 函数名:Tem_Rs485_Rec_Pro - * 描述 :温控器接收处理函数 - * 输入 : - * RecData 接收数据 - * Len 数据长度 - * 输出 :无 - * 调用 :无 - *************************************************************************/ -U8_T Tem_Rs485_Rec_Pro(U8_T *RecData, U16_T Len) -{ - U8_T ret = 0x00; - if(Temp_Rec_Analysis(RecData,Len) != 0x00) - { - if (Len < 5){ //长度校验 - return ret = 1; - } - - if(RecData[0] != 0xFF && RecData[1] != 0x08) - { - return ret = 1; - } - - Dbg_Println(DBG_BIT_SYS_STATUS,"Tem_Rs485_Rec_Pro"); - - if(Len == 0x05 && RecData[4]==SOR_CRC(RecData,4)) //长度为5的旧版协议广播数据 - { - if(TempCtrl.CardState != RecData[2] && TempCtrl.CardEn == 0x01) //启用了插卡状态功能 - { - TempCtrl.CardState = RecData[2]; - TempCtrl.CardFlag = 0x01; - } - } - else if((Len >= 0x0A) && (GetCRC16(RecData, (Len-2)) == (RecData[Len-2]+(RecData[Len-1]<<8)))) //长度不固定的新版协议广播数据 - { - if(TempCtrl.CardState != RecData[3] && TempCtrl.CardEn == 0x01) //启用了插卡状态功能 2024-04-17 修正判断条件1错误导致定期亮屏问题 - { - TempCtrl.CardState = RecData[3]; - TempCtrl.CardFlag = 0x01; - } - - if(TempCtrl.SceneNo != RecData[7]) - { - TempCtrl.SceneNo = RecData[7]; - TempCtrl.SceneNoTick = SysTick_1ms; - TempCtrl.SceneFlag = 0x01; - } - - Dbg_Println(DBG_BIT_SYS_STATUS,"SceneNo:%d",TempCtrl.SceneNo); - } - else - { - return ret = 1; - } - } - - return ret; -} \ No newline at end of file diff --git a/T1_TC_ZH_V01_20251128/Workspace/APT32F102x_StdPeriph_Lib/.cdk/APT32F102x_StdPeriph_Lib.session b/Workspace/APT32F102x_StdPeriph_Lib/.cdk/APT32F102x_StdPeriph_Lib.session similarity index 100% rename from T1_TC_ZH_V01_20251128/Workspace/APT32F102x_StdPeriph_Lib/.cdk/APT32F102x_StdPeriph_Lib.session rename to Workspace/APT32F102x_StdPeriph_Lib/.cdk/APT32F102x_StdPeriph_Lib.session diff --git a/T1_TC_ZH_V01_20251128/Workspace/APT32F102x_StdPeriph_Lib/.cdk/APT32F102x_StdPeriph_Lib.tags b/Workspace/APT32F102x_StdPeriph_Lib/.cdk/APT32F102x_StdPeriph_Lib.tags similarity index 100% rename from T1_TC_ZH_V01_20251128/Workspace/APT32F102x_StdPeriph_Lib/.cdk/APT32F102x_StdPeriph_Lib.tags rename to Workspace/APT32F102x_StdPeriph_Lib/.cdk/APT32F102x_StdPeriph_Lib.tags diff --git a/T1_TC_ZH_V01_20251128/Workspace/APT32F102x_StdPeriph_Lib/.cdk/refactoring.db b/Workspace/APT32F102x_StdPeriph_Lib/.cdk/refactoring.db similarity index 100% rename from T1_TC_ZH_V01_20251128/Workspace/APT32F102x_StdPeriph_Lib/.cdk/refactoring.db rename to Workspace/APT32F102x_StdPeriph_Lib/.cdk/refactoring.db diff --git a/T1_TC_ZH_V01_20251128/Workspace/APT32F102x_StdPeriph_Lib/APT32F102x_StdPeriph_Lib.cdkws b/Workspace/APT32F102x_StdPeriph_Lib/APT32F102x_StdPeriph_Lib.cdkws similarity index 100% rename from T1_TC_ZH_V01_20251128/Workspace/APT32F102x_StdPeriph_Lib/APT32F102x_StdPeriph_Lib.cdkws rename to Workspace/APT32F102x_StdPeriph_Lib/APT32F102x_StdPeriph_Lib.cdkws diff --git a/T1_TC_ZH_V01_20251128/Workspace/APT32F102x_StdPeriph_Lib/cdkws.mk b/Workspace/APT32F102x_StdPeriph_Lib/cdkws.mk similarity index 100% rename from T1_TC_ZH_V01_20251128/Workspace/APT32F102x_StdPeriph_Lib/cdkws.mk rename to Workspace/APT32F102x_StdPeriph_Lib/cdkws.mk

o3o91T<&N;vJHk)f zQ034wvGJ}|bW zuGMVc>=5g9xXU@*dSL0*t=Bx$8XEspEIqUJn)L^5^PIzd!~UUlLra&?doNmcpL;LI%xqWRkZ;k%%xdLrW$sh4aq!l0&`_;jf3QDy{VxBa zw9L;u_6o+iPS=2RE|rcYZ%}ERnPYRAVo$zxY{^9fhVg+zTi@R6G+KXe7)SG`vna&;V>3;*>J>Z&}+^cX-2wtk(zz>{N1XI|CtZ_ z|HjAkWIeJ*)WbKvZM?3BLwQ(x;jEfM)S}?R!Z*^5BZ*#bEoS@VOuM)6jSM5ld$^-& z(Mg#G(qgs-DjMROsktKC^pzdx@dd!h&^S+l+0eUCP>3ut+Vi7F!ev{!} z^v<~8qBpY~^Wapr7xJ$d&pz-EZIH3ebnWmi^&jqds%rygZeqA?D1?}Dx;m9wJG9Ia z~`W@-=%X^4f+gS27vQJ?x2aJi{JRkUSa+B0;<{_!Rj@0gBz&F&j?3RjM)wdX)o%zACUax=GMIFy&eXs0DhOaD5O8G^Gzbrjj;!_!c zvcG2O@^3DCEW_q`SK6AsaI7mn=)-J@=NiS4Tf*>aciKGVTXY}1n4h-LvFYnwPS;I? z&9MxZ;Wf6MR>ehJ$-x$T3_%$XO~$HpMXkwn#nWon)| zJnv`x^z1~-^#jJ~XLY@^i@kqxEXQ?L*MzR`4pIHI>)I~E<58)dp64=RLzu~~z@kj} zc`{=q(lOO%N%}n@ks%Qt9x)s`kM~mMaf}HyHW`lM??4z%ePrJK5N_v~P#8x_ zR34W;GM~cfGRAVx4$C?Ua2QVZqcXB5l<^G1xyUrK-pZI`I2%nPE2fMm8_u|CWSx|8 ziQzooG_r2Wm|-}tG>xpIi>3eFW;ll-)Sx>S;Pho=mpIDSL+6BoXu+aGFv-Z4lbt!? zCfFB~GjjrU;3Z^NP5^i&F*k?S3Zjg?k1S*FCr`<#L6QK`t-~Nlo}sytJX>=Wc}`A< z-j|X+hVy618dtNX>A5yX?fsZlI!7H-3D=W#a61~vI{F=rWS36AoGby`M3zd2$x`VE zSps$iS!&%(mRheQORZbTbF}|eWRK?6dlYu-VAO7kH3h~}N-qna-yzo>Z^`BlwB zp!pl*4>ey({;TG1lK-LkGV;IlI&(SMkd^KV3Ud*? zk|I-%?51#G{-1{_gnxLsijyci=(y&3c+IJ-Hyqb8k)g}Dj_lNYJvmeJx5zHdH;{8R z?<41HzL7jh^S8-UG=GQe*1VrQL-S4K*_v-A&(VAf*`s-wT%!5At>(wcjfV4f zNZlzvWoKmXc0BoZvQwV^D^NP+8FIDZd=xu%qM}wOmGOr2J+SujEOV#V+8n=V8q4_M zlKni(GIE0C7s%4Lza&fFzDU;RkC%x0{P8j|KPOy`oUf24{Uh z9^+`7)myIimZvV@#%pidb)FKrT1>Fvrp3rNoHxRy8VqVR7!wTVr^&+eRhhXn9FuI< zB0*lD$zwPsD^C<&!*QY#&OC<46vdgURwpTT>EcdSLdu@1M7}=aR$`JC1xifGQE38`>U38`?U60>#ftCX0d#Zo0aT2w1hqD4rFQZ1G# zQLaUe5*1q1DiPG8PKjzQ>XoR~qCts9EtV@0(V|I-7A?X`tkEK(M62%R6-vbPk!B@2 zv{DH>j716GQ3|&kK z8M?RRQus`5-vT~<$;d9NDOROLSouEdV3!gS14Bx*>JGU`35kJ=m5>p$tQ?xj!gji4rY-tVF364=Ev$|F9Aj`p6?n1hsfniE1r=qC~A0hm>g4;xQ#6T0E{q zixxjsVvQDum1x!CXG+AhctVK|EuK`OON*zJ=+)wBB@$XZqr?_1o>gL-7DtpA)Z*t# z3~BM45|?Q43nebo;;0h4wRm2MtF?GRiR-lZr4swJcu|S{TD+vhuof>Xahn#eC~=1t zuPSkm7OyFBP>a`BqX>=Py2TKr9k8Cv{ZiP>8GLy0+B ze5!;;i_erO(c+&yDIv{vDIv|yRzjMcql7ejoD$OPTqQiZ zJ>!)qk*4I?&&I&zPH`M(zYI;uQ_mPDsU$LjCn({>6)?`>la@+8mXGHSf!9QE>S|_<4h$aJ}Q)uM*5V<)#K(@B43IK*tf%TZoXrw z{j?Lzehk^`Qy1gQl#nuNl#nuNl|T%lx9W5e;w6}<@3wO3U-H+^DW;#66(Y6QdgJS!3hH3k;{c5q@ho=%c-9z@<#P(^@_OSh7 zvF*hDr%v~%{ixXdxR2AepNLJXL-vm)#Z}1^kK5BH>lWnTzD1||so1nSJVO1=k3228&@LOaR2&(*e2rL zFvIbp-F2ew1y1mZO%d2$vb)8`NjUagjQ0W<)Xnl#y#E14P4H0SuQc0iT6|&^e~aU| z&8BLWrZ2)w^=%s+n(8|v)P7Of&h)2$3Ev10JfeD*8HA6h%-a5QvR(6YWQTsDlKzWt zA#Zj@`tysXnE8Hb@$sU?$4eF;FDoC~-z#LN=2yvSnqMQQOF6HMf#_# zyD2`?V(d<2+>S)58?y}OCa~(cj1HP5c}6GGnPP)gY}9?K^K@CoCadVydB)QAN3%Q( z+ndSqdT6%UFy45WwDoe9m!=*?jol0`I7#Z5Yv>f`kB3E4Xv^1*v20tN@}kphKgM#w zF}ZdelV(d1FN`0i?L_G!GjjBwcNwewoE^FSqt>PYQvU{yZ z4p_x~)?^2-V~^?Co%tgjVk%6=oVH{t9xJj{`sf({au|3rn1{V;u4x(}?3roIq-Dh^_+A(gK*;(~Oy*gwyFi%X) z)U4&qu}*WC;n1NuLhjPsd>Q=r8e^I51h`Ss%e~KeI{aKc>&bE|w z4mqyVM9ETa8+pC9uO&+z+R2^T9wTqi94BwoypAmO>|k5EwS5EY->Z2eIib0WyhU>l zd7I{5@}TB($wSh<{uyo=i>v`Q(PkUVJ}4-Vez5C-%Gx|07Kwwb^XS18TiG3^IG=Si z#kTkV&&76Yp8u`L&UATZPLqLg6|=MSAi3s|ZK}bp60$x;xaN}`+P;9Smv`40WWBt* zO3CRuO&K{ucb03>Bj|+eQ(Q|fOqN-}<5H%NEM@x1Qf7cGWd_MoW+mOE>A>3qlyj?^ z1+JxDSdK$t!xiE|=~Pz@+iSCBJG1AUI^8gEjzN_QIUvr=Ng|6x+VoM6lD4V#DeKz0 zjcl)yjwyD1v{=g%M9$NRCy6XkGINrgRkP>+2*qd5&My5Ng{v;gE@M4}7m;=IvdhVt zI?WO`+oidRoUM5&IY)Cfd7S1DIal*C@_5a)ErxrsbQvzq^I z&1(M7(8HR&q68IHU7g*+X4!1%<+hyCD`rTmau%{ABd5RH$WifN%W2;fGjbNutj9Q~ zoUF$u?|E zW~^wvt;_o-EzHyKzJ=3B^g&>f~ohCv7&e{i=j^vQ{}s*G^tCon#o|WU1B3SX4vT zBs9{=GI1iA?AA>4lbM|AEdxDL#;LlcSE-$9&c1Vy@-&5eIRYaSuCye)8VOHV30H04 z4x5&%O=-;0?z1ep=5mzG&9?7ZI4LX^Q_&KDZMiX*qi$}tePhr^h3S%}Fi*h41WA=V zju2;@nVW52;p-xcehaWIFE$SqQgchD0NcjfPRW^&<;XcPXGQvWTW&fAX@-%NwFD+i zwBrm%PFdEXtPt*nobwIt(&TU^=H3KbRvHiURw*MpnYI+SshJj;W*B22GqtBu$gwtC zXaaL(6~Ji`(z_JkP&S-qnND*o*^p?Q)F+J<$(4j@^fO+H!x5IAC;3E9DA9F;JkwQ< z8{qtLXd|6W#1YmjdE_`rilaK|@m7N!x9yWAz!{yKFwr*4rJFH1P4&%*QVV3x%F51i zWw9<(Qf){XPjaG_p$TR?Po52*Q;>LSiLq2!S(3ZZcBV@WKpG1gZ_Be)jAd&J(vt15 zW5lLGN+T$zkId#)!!sk51*=LbgJI0HCQp?yE7fPL%j}e7Jx@($%9`a$WjZa@S3@u=gkRw%X|l97mEo%@_!UP}rho75-ycmD_7(2BV6!W` z(>!Xdk-=&e%hjTTqRsuV=p(YnGNZN^W$%{#1G4}BxqAs0IdXo=nSPb^jVHWXWh zKU;WJI8s?>bauCQ4aDL`tZYqNZ||D+*v7tiZ_k=UPfu5SM_Xt2n)Z#Gi{oAEHg$G) zc6F{@vw2>j*Hc)$a82JD%JuE-YufuaZk>xHZEHI>7q3}RIIqyNM%>O_*SRGg`@eBM z(rN$J{<&sNb;XMyac>si)Z3ou>xvF^cP0wk*|4_W#Ju8lUQcl}v9&keAMNUCZ|f@T z;BY4ojgryM;`U=q>y9z?C5|x-wDl!M=S*yjZ`HQ`M69z1h(U<=^>q^wZjuKll6btg zuV)ji;E^p+CVx*)qN}GZ7F{>ctrNvMd!zm5btc+7v@T>XaQOP6)t08B+L2`|=vZBw zzAn9X!*sl^N^ePDeYKUArFS^83#S(qOe^xN8d$%o#!=&Tj9tcm<6BnQU5FGze7$1W zW~@ptPcP`aXi2f-M7N{ey`-YTkyXCHj*liKlU-%Aozk&+^{(0?Z~E@^C7w=F{XlJz z<9zqb8TAEI*PlLpMu&H5!OV`;151jE;jyF0fVQRJYGo+U+&v4tHTucOahWaor2yWtLpZ9;|JX0bftuoZY~HVn*I zTt9R1IWxUAGdE8ym|9RXwP4qoj#ci0Mbj4))fBBNarpXyVn~_%hs&y>Dw6YZEKH5SFKuEyr#q*9O&H88DA3#6t9VRqme*# zUde*_o@ldYL3DNXnsCoRUwhn$V2%bbM~y%&O6XkI9_>%WdzCpFj(5i*o$VV@x~^j- zc0O98+Pt)>vc(8Qnre*|m}=2}9>ERA`a}m?kLn{Qs$AK^&sw9TFu$-8t?xO{sI05w zXV%zIJc&muE2H>+OEg&791Yc1HK?8l^Q|q`tt;La<=)rXr#&?G^|Z(P``PfwmS9_= zt*WbSy@BZ})@b`WBivY1i%$g)l&*@m^%0OE5&DXmH zhJT~lT<|v ze?vn=jSB{9pfuRFRSg{8jDcp%RyK!MRv9aNO?caduU_?9Y^;xRIW>Zv{f+3pXr!%w zBZ~9Y*6M+;DfJ*OjpZvEBB4rzzb;nQpb_oz7<~1rw0MgRDXpCwZCl%KG_GvoTaj!e zn;fBFg~F@q(e_9SKfu^njXo&oB)T-sI2$-Yb%X`?*7j8-SLVd32>h^j z0bKin0W`0MD_Cz|j8xU!6s@gnuB#Ca2Cg1XgaFrTaE*d=piR9c~J`nHQ8a0szMkDd?Ey$Ti1w@X$duj)houLC0d2a zR@dm`i=Qt6zF?{0S;bsj&DvO39Ij5iJ(#_S#?6>0)$>?0^K=niflE5JkE<_&wmB5! z3|`7ly|dyC%`4TJ44u^3-qUSeqSUa21GP118{9>k>0hnyMtEyKM=0v`cn10nq=`mU z>~O5r8KxKY(F+cyGf$fO6jG_qr<_OT*u*!5x??>(eMWWX`VN0*BC1M7S9W#}B;r^w z68^ScPMk!2U2T1vxZWeC+xlc}jkNez zR58B?BOl>BURuAx9q@YH>Vn%ncT;=sz~c6em^t9i{sh9vJ$Jo(ZbQF&?mApSwkJA! zy65)C)xIBR!$x0|PoE0aInsyXs=`rpNww^2jjp!t^#gH4XBVrYFoL&aJL8X4E4 z7xdR64lL(@Vs#E^XvA3uFNpj)Rc*#WDApCn%;Ob;*$)z|))-$guNeJ`8v#rt7N@!j zXI-OiMQtb&P4E!s?)s>{8Bk4#CyXdAl5q17UDt_sqMOkFoW!yC+8zuffK!445w5IP zS9Mqiqp{Au^E$h+w8-_Ax~9Pt=IA1B7)@16(Z4GGjQ-B^<7(lLa00V0d0yyh>&L|c zP7ZLQml1C`n&1Ume+Oo&JGmJ1tFP8|nR6NUkLp5$3vx727c`oDb%E*{btw=u8Znst zqnf~~VPW*LkAi-L4T6>nkiG)c(>UUbtO#QIb+hqYR**I2ik0!UVayTlM^^d#E4c=}Pb#spc5Sr862cnqw=9&H^Fij{SZ4YfuihL3|6 zYKY3kLlYLb2>Y|Y1K(FS)Fniyq0Wahnc5*jFwMG;xw(iY)RhI!hq71)8sS=B%JBqL z*^Fryst+M-F>BBwPS0>}9M3w~Z7bVwK4AAVZgIDTI@R`^*V}U*ZZq@>#>uNfP{50G zY<-nSy=qorn9QXvmsHy7W_+}cggs9Q=Hin)>*KoKx&{O+>l?2x)L>NAMsVlCMq=4O zWO2&!CD}$?uHwoUYn}>y6-`FK$7I#AMsn6VgT$h>) zxnD2j=nvj$;L;7VhP~6!jEf^A;`GG;X%kvgy#U>wjP+WqcjlEFN2w7DVYIFxSZM^; zu8)S*qZWNX(y)#*TwO1#Q%xw0YeGFec)wOZunD#0%>Z99De+pYJ6O)1Y-kvNxSx^J zK!_JOf$9=gNZqUQoDYk-VZc31$Zym(^8!T80`)Q?=-DQm02-UjDe0A|SuA^8omdvZgkwRTUKL3alo=2VVn1FXWh%c^I@%DJ?0u~tj=rxCJc)aY*H7- z=)TH;T+vEqV+B?^ocQsIGe2I7)hp_y7eG|Bk(V+oj|0oj;S#+Pm$$V|yrbv1B0+Cw zFD_nr3m)_bBUP3j;gZIzxQ8&%6WSM+3bT z!uWv=oU2g|9u_pIu;K)=7KR&bL!IQfLRRzs1!s3$a3Vz50^U8Q?$0c@XUU_fo3oOn zEp=;_x-(1NHKuMF7vk17irC=j>#}@F@+T>fB%JIeU1gGZccSy+d?Zwzq)?KUrS9=K zn(Bf?uV8xVQY)6apbS?=Rx}#C7nhDT-OA+&vp4GN{#4|v(m%J4p;J4M_oJ^xIqb&xo1b_R#*Ch?!eq|%_?^U z57YbI&GO{jjXMNBN^f_o2j*^nv8UMUDJh}L9W*qP@`Y2YPN~ z{>)MN_3_?hA~O=T7YBYlFL_9r#*WIbk5?oM#hay;&4H*KnIB(Nwj5{F@_0qkW*tqu z`ETTm%8ws~Nv0*}wG1;OxUa6Y#fcBP3;xObhNMdpr1*wB7 z{q#}#lu`QBQF`VmjnB4NHU~Z)QzV*eAV;sGCiicZlYinuqy#nP~1<{&k~tYHalJJLPx~`#j9Y$48}qVU+&QQTorKb$*wT z&Vk0pa`G^LriebGbgnU5G*^N={O1?VH8&6OdyZ(g(i4pfL~{=1A^xt1rip*-zuQOY zheqim(0osme@y@CDE7%rFlny}SpD|7R^GB+z z{@O-q{xlW-CDUItO7lmkto1c!#EcnF7SFwl6MZgaG|9%X;JqQo8o+IsBT>v z`*1DPmAVm3UTG#Do6Fm0xEZlNA2pwBt2a`b`uTp6dKfd}ia7bO>MQR(D=YCNvo0Fw zh_`RVkHQ%NJX`MT;ahC<#)~)glte#kKgNT41d+U{RhMbzv*ToA`TWexh=Zfv$g&*K z&oeA;y{EB;e%U!;{UmtNtWO?8};!YF7eA*7=ZJy=9 zljXqzZ!?wKk$0WPK0|^R{Y3mL9~*wvb2#J}@kRqQZjt1Diqz8-p1mh5!3#F7;1&lcimU$kG;G3z%ux=O*)d*X)0ui%e!yO+JS#ZC7;`-eO6!hb$kJ zVp}H22f>EH96O%TS!ePL?C&5;8}AYOTU2C;S6sX4ui5i_0T+F?kRt%VuFO3O!5sA5Q#c zv+(c1=Ly%NGT#tB7yhphzHN+Q>=*tVer^^1BfeO8m+*Ad;eO%AaY?Dh4t01g&oG`4 z`%^czf^b*(qAjQ5B6cbMRD2kG0?v1|e}enFhlHo0y{`*5WZ+&7nrW&qMsDE@jP)79 zO{ix;_;ZYDgYZ$*bCYmA_B(}n&b?gtPVn`@8^GTc{uDubuW$f99})g8#_nn17tqiA zL>=ok4fXuB@MP5OkHR;it)B`nLjR<}7t{M;8!x;ReohkhA;Ist8C+c`$~K(Ats(PH6U=<|^9GZ>2%!ncCkgja$YXY?~4 z`>n#`Q0_&-jM=M%x5MX+!u*!l?ZRHv=YHXrz>f(p!o2&rupj)I@D1qm_l0i)eggB$0RHQRpT~Z+@E54(I^mO$zE9W#zCd_8#`;p>Yr+2^%s#tW z_z##Dj3L(Z64d8O;ZM+(UkVpvUHVM;9Moqf<}=ezM4Dn@w&gxy8`hkk2&aRe6@DE) zUJ=g38vd?u9{A6~jMaY%GgdRuk1UI^IzgD{pwor>(GR7bLygr7tGTZE6mPh9v3aG&r8sKXB7H&KT@!V#2pt8fGChlKx# z^sftF4F4Yp^ZH>N#))anB^7-v)n@ACe$q?JQ;1@Ap8o_pC`N> z_90=$&sDU;g7%(;Xc%@O?U`vQMWL!!M-NU{<%b$V|R@( z`|xgIUYk8ET!nFYT6jO||FZB}qHw$NAow!?g4chpy@Q;y~=KvMY826Wj zCxYJ<=KAxY@Rb;s&xNlBMOj8d&B-{f2x$q&3%j?3=f_cth`j^3f z6;{`nXg}?LfIUa}@8A=K@ey)kws1ChzVIZlUwAsWLHKO&8sQFbr*J=bv+xCAu6-<* z*N?k}uLj>J{2lQ3g})E}k?;ca!(rjq(2nPYd5(BXnCFQ965fG1_YYy7FVfIQESE9Q zu_SX|OcicI%q$ds6lEq$uX+u&y5KcNoo!u;LZUg3Wt z&357Q(3VSur(rF__XsogUJ+)y z-V6ib>S`WbA#}AQ10Er_o6?4D*O=Azaso8_4JepV*-Pn^A5^_(#aw zEc`e0bGz^?%;j^1w<7Nj;db=%<-!kwZxMbJKJOO34n7|eK8X51DSRdTyeRxC(tIGy zynhj9-YMn6P^&%hekCd}WE z+a-J_%H1t|2>x#r9>REiUzpF*ek8mRWgQm&82#|Pa0B}7FT%?)UVQVH^`8uTHaQL( zwrOJjA>yQn9Mkp^vGX~KkIW9oRwecW7^5(Gt+uy_{f}r@oZP1E8^k^q?K+R#s_omv z{shM28|0|AUm^C3(I+>M`5+wIezD(#w%ud^XuFGy{@jbXb^>{&wx2Ba_fVhH$<5mC z5&K=RFD9?hcE8wXq2C(F5pC}jdma357H&b?cL}dS`rX1~(8e2uH(+i5iSVBg8%KmE zA6W$E|xo{Wqz9w9VIDcO_6MjAtz5r!? zF1#7_pX}Cc`~dTPuJFI|a9t{V0PU?5{wB&=E_^oZXPb6#r*Jv^3<$r4d9l-E)?fH0 z__<#ARrK?Bg?llk_X89bORrGyJ?IT#2>r_rl*pn!gF(3cG!pZr7i2j?NM0Gr7sahf)7o z!amr`gjrUVa5dtjNtpk~s&j;QW9&8vUxBhV3;zOb*(*HHhG!STd~Wvx;iKsDL&BdR z{V#-HLb-1V{~UGum+)h#L)LWNmOmjLCJX--K2H-4qpubVPei#PVcyfP5Izp&wh8B; z{+on9z}RgS-i!KNB>Wl5x=NToxOt=Sd+>j|a20&sFMJ|=J|;XBee!eRJ&3Eb76_s2$@X{384u79I!x&j|Aw!%^X>;FpEBp+4^mpM!Y*NVp94&xNzmKVweO zZCT{ReUoq)^(+?t2G@Dv<}_S$3YTJBRtiT^|CsQT;B$rf|IfRaT!D_lcA3~ON4eLL zPuKQ+!Vf^+DrtU)em+1h(PuNF-cQ~KIs?U0Y7_$^V1FETjYG5_uIlj$lE0i^FAQVysrq4#aO>h z#<+2NSD1PKBx#uUb7AIn&C>06u2H1ei8hxqu4es@PfWxx%=OG!{sjZlpO=cqf>f z8S~6T#xi4IDM&K9LNSMxzL=_fZ)8~HS zQtWRPX5JqNS73iYcp3IT6lS{~5pKr*G2vG187nq7Ua&DfY;HX-7$0W*d?36Q`#%X^ zjs3^MoL`I~GkuzHF6`>F6NtlSz`0^)IgBl)PX|x8q-UI&_65Q$cd;`61zRKj%sy-(qn_Ma@yEC|H?x1#d_f=X!2yJb%FF&? zRhWkTqw2|o*jOa%&o#tNW+rSi@JDXNel}U!GDnzeplS;{09y(E*v26Cs$J|TY~}c4 zdugvAvv6$G(;Un0qwz~n?BKWhpb(>nqXbZPB_#?lFeJfe|CnoI1zJn}% z)g}A@_J84+Isw?uw1d%JZtKV{&G(X}jn9&$UGI~nEfXDJsecvOt@HB!&8+8cvefMd zWT_8}w=LG`S)?tfnZ?*DHPf{%q zR^4p7@*{Q+?a~h_uh`WXNuRVbjo4#k>7Q*D`yg5R>N<;kA6feC0gL@%@)W#a<5-&h zUnRTog6%#0nfBk2r_+jSZ2XyagJUZFtkxN+r&?#s`BK=wbyK2ktx?#Y=+pZSlM?YQ z38OHEFNPY0Yy10+!ajTlw~*Gt5#I$IX}5kX*K%aUCv+`#^P{UHz6bj6j_Xg_enkp; zN`0N*lEADiKYy#MZx(v&r*JLVEQyZ!K<-y0WAd;1Z0=Vi{fdw27WVb9qd5xRLa%f+ zzBoUyKHAy64)xaDwsvhFesw_m)F%8;*a+R$#~%hTM@y&q3KPE@W_m@TMj^fwzA26` zqG{j!DiOc-jNhE#SMEoYu&$3^`730S!nQ=BuX8PaIig>M-~Z_4M8+uoc<$g$bm*Y-->|e;*WOz zar$!^vijQ%(F&Wnnf`(>kSpZCF#It;{jm>Bf9+tazYigJZZS90-#IW?{oP}!AKPvE z`x@BlZwMU}G@VI0N?vnW{W)9oIgj-lE5}&h8}MiK_tbym?>{6@1@_!#Tl~?FSwD5n z1#QNG3kQaoK{lr2#vuf<%zjayQ-_wz zKJ|Y9mD4S(x-a0$*eB&GBVKl7;5pQ6Q|WY6*N!T8%PPdZTbIjw7_;2lM)~_$5w6wE zK|nf|$<6#Oj#hY{fQnk@k(us?qsn#RhGRecvAuZoohl4kRw%ul{R))3G=GeIfollI~Zfcz(+Om5u)RHwJyhy_qgiJMw#HX1e1g zon$u-AszlDw_Kq-q_fuVAE;j!jexla1-P%^u}1wgdAQ>FDoN z{F(mBw7*{F;Z}m{NVg*WV!Fm-s^mF_N4f^_SsdgwH!~gg7PAq7zgEn-LfCnE%W~P~ TG5E6#lW`CynSGXwroaCMPouWV diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_tm1812.d b/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_tm1812.d deleted file mode 100644 index b49e796..0000000 --- a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_tm1812.d +++ /dev/null @@ -1,101 +0,0 @@ -Obj/SYSTEM_tm1812.o: SYSTEM/tm1812.c includes.h include/apt32f102.h \ - include/apt32f102_types_local.h include/apt32f102_ck801.h \ - include/apt32f102_adc.h include/apt32f102.h include/apt32f102_bt.h \ - include/apt32f102_coret.h include/apt32f102_countera.h \ - include/apt32f102_crc.h include/apt32f102_ept.h include/apt32f102_et.h \ - include/apt32f102_gpio.h include/apt32f102_gpt.h include/apt32f102_i2c.h \ - include/apt32f102_ifc.h include/apt32f102_lpt.h include/apt32f102_rtc.h \ - include/apt32f102_sio.h include/apt32f102_spi.h \ - include/apt32f102_syscon.h include/apt32f102_uart.h \ - include/apt32f102_wwdt.h include/apt32f102_types_local.h \ - include/apt32f102_clkcalib.h include/apt32f102_tkey.h SYSTEM/inc/uart.h \ - SYSTEM/inc/touch_key.h SYSTEM/inc/eeprom.h SYSTEM/inc/touch_key.h \ - SYSTEM/inc/adc.h SYSTEM/inc/ht1621.h USRCTRL/inc/debug_unit.h \ - USRCTRL/inc/display_logic.h USRCTRL/inc/tempctrl_unit.h \ - USRCTRL/inc/tempctrl_unit.h USRCTRL/inc/myrelay.h \ - USRCTRL/inc/uart_protocol.h SYSTEM/inc/tm1812.h SYSTEM/inc/switch_fun.h \ - SYSTEM/inc/Bootload_fun.h SYSTEM/inc/uart.h - -includes.h: - -include/apt32f102.h: - -include/apt32f102_types_local.h: - -include/apt32f102_ck801.h: - -include/apt32f102_adc.h: - -include/apt32f102.h: - -include/apt32f102_bt.h: - -include/apt32f102_coret.h: - -include/apt32f102_countera.h: - -include/apt32f102_crc.h: - -include/apt32f102_ept.h: - -include/apt32f102_et.h: - -include/apt32f102_gpio.h: - -include/apt32f102_gpt.h: - -include/apt32f102_i2c.h: - -include/apt32f102_ifc.h: - -include/apt32f102_lpt.h: - -include/apt32f102_rtc.h: - -include/apt32f102_sio.h: - -include/apt32f102_spi.h: - -include/apt32f102_syscon.h: - -include/apt32f102_uart.h: - -include/apt32f102_wwdt.h: - -include/apt32f102_types_local.h: - -include/apt32f102_clkcalib.h: - -include/apt32f102_tkey.h: - -SYSTEM/inc/uart.h: - -SYSTEM/inc/touch_key.h: - -SYSTEM/inc/eeprom.h: - -SYSTEM/inc/touch_key.h: - -SYSTEM/inc/adc.h: - -SYSTEM/inc/ht1621.h: - -USRCTRL/inc/debug_unit.h: - -USRCTRL/inc/display_logic.h: - -USRCTRL/inc/tempctrl_unit.h: - -USRCTRL/inc/tempctrl_unit.h: - -USRCTRL/inc/myrelay.h: - -USRCTRL/inc/uart_protocol.h: - -SYSTEM/inc/tm1812.h: - -SYSTEM/inc/switch_fun.h: - -SYSTEM/inc/Bootload_fun.h: - -SYSTEM/inc/uart.h: diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_tm1812.o b/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_tm1812.o deleted file mode 100644 index a5ef7bf494a8922be25c61179343f108e3a39939..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42200 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 G>ia)=eNVLj diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_touch_key.d b/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_touch_key.d deleted file mode 100644 index f055246..0000000 --- a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_touch_key.d +++ /dev/null @@ -1,101 +0,0 @@ -Obj/SYSTEM_touch_key.o: SYSTEM/touch_key.c includes.h include/apt32f102.h \ - include/apt32f102_types_local.h include/apt32f102_ck801.h \ - include/apt32f102_adc.h include/apt32f102.h include/apt32f102_bt.h \ - include/apt32f102_coret.h include/apt32f102_countera.h \ - include/apt32f102_crc.h include/apt32f102_ept.h include/apt32f102_et.h \ - include/apt32f102_gpio.h include/apt32f102_gpt.h include/apt32f102_i2c.h \ - include/apt32f102_ifc.h include/apt32f102_lpt.h include/apt32f102_rtc.h \ - include/apt32f102_sio.h include/apt32f102_spi.h \ - include/apt32f102_syscon.h include/apt32f102_uart.h \ - include/apt32f102_wwdt.h include/apt32f102_types_local.h \ - include/apt32f102_clkcalib.h include/apt32f102_tkey.h SYSTEM/inc/uart.h \ - SYSTEM/inc/touch_key.h SYSTEM/inc/eeprom.h SYSTEM/inc/touch_key.h \ - SYSTEM/inc/adc.h SYSTEM/inc/ht1621.h USRCTRL/inc/debug_unit.h \ - USRCTRL/inc/display_logic.h USRCTRL/inc/tempctrl_unit.h \ - USRCTRL/inc/tempctrl_unit.h USRCTRL/inc/myrelay.h \ - USRCTRL/inc/uart_protocol.h SYSTEM/inc/tm1812.h SYSTEM/inc/switch_fun.h \ - SYSTEM/inc/Bootload_fun.h SYSTEM/inc/uart.h - -includes.h: - -include/apt32f102.h: - -include/apt32f102_types_local.h: - -include/apt32f102_ck801.h: - -include/apt32f102_adc.h: - -include/apt32f102.h: - -include/apt32f102_bt.h: - -include/apt32f102_coret.h: - -include/apt32f102_countera.h: - -include/apt32f102_crc.h: - -include/apt32f102_ept.h: - -include/apt32f102_et.h: - -include/apt32f102_gpio.h: - -include/apt32f102_gpt.h: - -include/apt32f102_i2c.h: - -include/apt32f102_ifc.h: - -include/apt32f102_lpt.h: - -include/apt32f102_rtc.h: - -include/apt32f102_sio.h: - -include/apt32f102_spi.h: - -include/apt32f102_syscon.h: - -include/apt32f102_uart.h: - -include/apt32f102_wwdt.h: - -include/apt32f102_types_local.h: - -include/apt32f102_clkcalib.h: - -include/apt32f102_tkey.h: - -SYSTEM/inc/uart.h: - -SYSTEM/inc/touch_key.h: - -SYSTEM/inc/eeprom.h: - -SYSTEM/inc/touch_key.h: - -SYSTEM/inc/adc.h: - -SYSTEM/inc/ht1621.h: - -USRCTRL/inc/debug_unit.h: - -USRCTRL/inc/display_logic.h: - -USRCTRL/inc/tempctrl_unit.h: - -USRCTRL/inc/tempctrl_unit.h: - -USRCTRL/inc/myrelay.h: - -USRCTRL/inc/uart_protocol.h: - -SYSTEM/inc/tm1812.h: - -SYSTEM/inc/switch_fun.h: - -SYSTEM/inc/Bootload_fun.h: - -SYSTEM/inc/uart.h: diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_touch_key.o b/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_touch_key.o deleted file mode 100644 index 2468017a0f26653c463ad46b20a5a3a663348dd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52196 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%0Dh87rh! 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%0A$(faZ*)7!$zkVo;?IM{2nmFF&p7kN0C={?+& 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

V(-;rS5mqhSi-0TuR3 z`2sgrhoDej8gsNx)$mfakHOz+y<1^>E$fKODWE=hy2`V#Jvb)eu4Q!}&EO(HYdIfx z)~Q;C?diE5U$<$M!~DwUQFE7t~J5vbJ5wU#g-p zUM?r%Fm+DCN0fbETu0>@c&o~@@yE*kL)=(xX5&`!Lfl^VuH@pbmZbnck#}K_20el+ z$Y*i5d=p2@CAg9NU))MAALdJ}gB*c-$aQ`8I`?(ajEZM+TkNkJvl|YP2jEC~IIbg) z#a(r7rsCEr{|whx`IoqcRyrTskHcTXctN#ahkaBmQRly7`=z*u?d0FWc6U6+_OuAC z%=W2$E&N<ysDT!JLcjU@pe(G{Gut2eS~b(Kvgt z9n53c4(0{iMu8T|r7x)VKJbVNJDDL>eA(E+tcmSlHo$f;F@7@gudli(4w$ zXZW;Srm8PL`%A5IRp+(RJ8zR#DvFAUaxAXrmh=zz*3r<(l&n;@G@PJmM&hYTc``nw zux4R9fw|aD;0kOfa3i(@xD(p}`~lkmJX4j&q@BR)RM-hD#&!aO^`~m-14JFF<03f* z57)0iQ(T~lJ7GJS$=FV28n#E~2RN&oZj+f@*h$-fEwdfiGCPbdv(wlzyM`^B2iTH% zfi0P!>b?XlnFcspoBms~Jti%>6e=vbOl$$o!8Y+CY!iQjm#Xh(Y(ebC7Q|6(6Q9Et z&_g^>b9t+U`=YbuO2jE@l!TwCyf0p-{maC0YBLGjy*>jsR1oX%5e2agzo9d91zT|U zeD;>Ull+GYi|*GEzJM&_M%XfLjV;S0TulRwz}=MP1Z)#b!!~9Pwv||i>uLPG5j-YK zba9M|3)MFsf2zs4;2AoYgYjiOSVrU1+WQ%}*#0zL z%*7o=y#X&*`A+;?6CB6=HSrC6P{Ebpqw>#qf>x_a4PT)4mrs3MK>_u|Kd4QnT>6+C zp+?K7*shA;n!e5_HE1XfQ=96zhXSgFTPm|U*iU_9@j$idfSYKXE;vE%iQAWT`Zy_E zT+*^kz*Duy)9^!0oP%d-&^&xZorjT diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_wwdt.d b/Source/Obj/FWlib_apt32f102_wwdt.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_wwdt.d rename to Source/Obj/FWlib_apt32f102_wwdt.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_wwdt.o b/Source/Obj/FWlib_apt32f102_wwdt.o similarity index 56% rename from T1_TC_ZH_V01_20251128/Source/Obj/FWlib_apt32f102_wwdt.o rename to Source/Obj/FWlib_apt32f102_wwdt.o index 06d2000c8aaabb71ac301940d8f3c23df72d8d27..1968f14543bb6b1c3a570d87914ce41ea4d402b6 100644 GIT binary patch delta 5455 zcmYk=d323;9>?)t77{Tc)6!T znj5OLb}h!q?TnpUU`GAD6_)U^!PDu@akt+~5! zj^=)i@6~heUwE#rHMp^YsKv{JJ?9!|G25JCU0dM#%Dx?LrwPe8O6@&xh8~=OW7R$c zch^pg#vRn2k5_6Jr{iR`&oO&?aHh6mAsyY-u?jygm*F(I0{77a_TzqP{|*n8?_(wC zmMd^e?4rB_=cxZSzN2=pp31`pO;=+ZoTW$~!Bx7Z;7i)xLAaqj7N=<^3h*S&oq<17 zKyTq?@N$sa`rWX1h57yip_@pum*1DG1 za~czghiObK{#IiWLv{XjTcij0=oqRAzri6onoK-e?L%>>oiVP^&P~LJ<*7JAb7$iw zaxtE->ry<&6V`JR+0eO7I7Sny@VnaHL->TY_XM_Mx{vLcA{3w{W5?7UH&MpPI80-H zjdK)eAK9}BR!oEF_)3e8!Z#JfpRiA3Ud0XNH}FzW?ry~U<it}`}PgGEx z&i|Aa?N7&eZS`=RruMP8gU)*rPLgNhDGKgwJVRcN*JvlK`YpI-I#$ct>?!DKTqK|K zxOrLEYxvK)-ob?m!d}ZZ`E9u=wogGEwt`KzchQsuLJ-AkD9>p=bp20O*|8f}b|HTU8CLNW!hG+rH z*b1vLo~tpfah%){uh6+Zjw?0(3A{knp(yRQ&3#dR2(Q!Al5hi!{UaWr>(mI&;IhJ=O-D~%i}5-w zv=sMHn(J}2#&5!(YD^VAsrEzoX>HL7tX$j$9IBvy!XJm}4DNIDdyR@vC0Pbnv}jA* zO4mp5MrF_ocTzx^xLo72aEY9Y6Lo&C;b*mT^YCf~y2fnZ!HL2SIy$T40JdKd|G`r< zxyLU8!Clj$8MshE48isu9*yli{1-e+>nz24)c$vTQ1-TPvs2shIi9H?zQnWTGkBhS z1=ncTZex3J{YHV{?7_{jeMuzaHfkS$`>K6pz@8hYvl&l^7166WQxAI+mud3f@D}+) zoT#AJ;}m%_ww>FB?Pt>w+)KxI8b7WvmmBH)?Yvv)<`x~{+VXmlfp+_G*c2~P#t&nA z`FF_rcQ{c2{Q*C% z_Nmz3B}MpA?Pv*(lvm(QdR8gcTgh|VxGA!1u)T zm1=xEwl9vZSSRgz;X*mH&T8GH$ys!aQueucpW0u>ebqh#mni$W_^8G#!l&dl_@cZK zFVwE=z$@ef*xuz|d)#c+%>`T~U&jY!`xDBF^tjvzpO<6tHMt|cEvMj@6!epLn%p1H zmPcUkUEPf1<^%Z^{IUE7&Q;;OgDcej0q(8#b@&Bs^(JiJ7dx?iUwnam`UIWA_TBM) z6W;$;`8VmXk4I?JK*sh0iNmclp)(HE_CATNF#BUG%n{fMb27HVd>vb1&c~7UbpA`Y zvC3SFhbf3puoY$%&e1}Lu@&Yw*b4K~gLXam241c9kY+y@=0n&DGs$f4f2+)HbQH?z zc)PM0h`-fBqwrJ8;00`jIR#r`7Ggc$72~5yW*NRNZ@~83-}{uCY%R1K&r-)xJW!FI z#e4LCtJr@0-@#uf zgY=l`xTo@-gAXaJh1kk)6}B=g!&ZhB*vfD}wle%Dwle&#`Tvz+4INg7_py~>jQ)3F zA3`g`1Ux|Y;W&M3^v37aJ_K8Nj>cA=`PjDV*5-*vmo zpmh$%==|-$jWppKIz}kVOE_Oq-@xOQSyZdQ_%RyO2Jh2C>9|r4%f|L|^+o)N-U>7E zIGue7zHR>sSj$Zdc{@HX@5e0_+-ZDXlYhcf6r76<1T;gA#J#jz?QyAUC>0-2(4+7q zjVX}peumuApi(+=)e+M=u;?;Ph{L6F03)15gPHGcwSc_uTo6y~* kccj)1Zxe_;+kZ+c)Rg}>y<1pNn*Y&$TC{v%zpSAD0Y0@yJpcdz delta 5454 zcmYk=dwh=P9mnx25eXroPO&%)aUNns%xRQVlTfEF5{FmRA(__FXogy-TT!VZTk`~U zC^gb49VSB?LThzssx`-sIpk%kMN!(u+4lYA`Q+98b-(ZH_`9y__uTiLY*-nvVP(M9 zmQ4!BHAxBawQSO&cITMbE*-}V?-)B~Wc=u7GpA;aPb>Ve)xk;uu5i{b_En0kR>`?1 zoO1zwf6{Ze(RQyUYuEdLVEx?_0-HJcfK*hL@`hJ3=)b}+0 zsIqfk;laAz!pGJ35uOm}IagH$wmHLft&2<4xheii*ADoE%6s6aG;usWuks|^MLRJL zf1~nDoF3xbOnh7A3(TG-ep*|xl!}L{ScjWy+qdFixfu7;1SPnp$}iza`7zc4-8E>7dBHdN6{7G{aWP#yj`7-;mayNkHfWFS8;^;mfAD&};|UwNsaDOo9k{MK?8CX*-Y@W%+TJtRj_EPBV+vJ(wir96X85F5*#Up1;JV`| zxxegLhg@yTFe;8}&{X_`f_MR!X`pHNh&%^drsv{31+fBOQV{Rr9PREloGb6ae+$&_ z-+pQq#7;$Y3cn~{#QPP{4Ln8V_i;l7XTJ*Tdqn}&!n5SYc&^+Qzb?n(HoEpLx6Xg9 z1|392y0&^G4pw#yu6>V%%4L2S2Z!*n?~8SnbJbfzDLWr|>-aqQ^}a zU2ouCy57eL3L;noTj!y2Eo{Gn#@G_JEw+S>#g>2;l=ZD{i^NH`NbK!Zr1oU8Mqj8y z7H+3O=iwo`F2i3duywe#R<;HIQr?AwG{Hf9Ut=D}XVv!t-mdYlh4B1ORS&O~+$FbWvFZw#B@Kn`!*@X5aPL8eX(o?WSh5 zS{=ga@(FBNT3S)A_TOU5(!1E+LN&GDHgiWUvk|s;aa$a$w!g&#bajLu>dK7O(aZa``*>b8TI7D%z_LH#i zSFPz^S(e&I;Za&;N8C^4y>Nn@SZ*^5`phw*#zX^)$~>*g}vD}RqmWcw4!9zG}KFkC7};%jm%Tqeih3lufjnpe-B4%t9M{~U;G2xSIs{w+UOT_ z4%@rq>JvQwE%WbCVLy+cTK*N=1EeuNr$lRq52?+Q*b;LPw!|ETEitEHOUzfXC1x%@ zX5Zi|xv|XLfE%gNc5I2c50BPBN3bR4S!{`UrJ`IDm*I&juT=Y|#B78uG25E$`EQxo zm5Ky84$s!E48;W+C>4h&xh7#t%<0$?^EIsbT^?Sh#jL?Q<@d4u;oyD9O_ByWfa6th z9M@H(rFfwxxQ^`)g!?#OD-NmSU!~J7*1`67T~i#RHXZOo1=qvxK)2JE(L2Hm($M3m zUZHN8xSpn&iJjKH0Dq>imSRi8b=cByE4DN&#+HU96>XG;Ut&wcOLhJ)4R29lY4{jh z8rIkUF6>8WY1jhSR_9K*f!-Q@@LyD(ge^VCVN1_UZ0Y$rj;^9KT*8f|+iq+t`?R8w zf;fe3W&gppvhT31<`K5vRA@ba(6*QeY>VlN?elP;+0xLWOQXV~%fc4Wa%>a7i*4dU zJWZ2*ge{2Au?2Ak+r(dE3n(zcA6%)j!E4TqZC4`htVYRrhRP@4-a5Z5TwQH)aFE*M z;{|dNUauey;%jPu16yzp{PvthS4FRHJ7bG38rzC{Vq0+nwpAwMALZ$Itj2i_+XQ*o z#$1DKt|B}_eUH@VGvugl&Qg)0RbIiJmHB13y;fH9XZ}E+Q=5i(vHHg0d73N*cUNNm z4*x-0JsYR#?DKK4{VQMtH>VZ#ZoEq6CHRacIFIeGf!nyJf^(7nfcnbexVv_%8O~A; z#o|vDbSj>#Hd%7{XUJ|f+Dye*Rn%|bA9R&EG{&3c7Pv@mhfm5ec(S&404~&GhT@mh zW(2;hHfeZCu=73W*EH;a+P*>a?$rpTtvVkUs_yLdF?4`qkK!^qFVe*n^0yY sidj!W_kh|a8oNqEf9wr?=QP6h!XM+hh6MEXwI3K2(5-Ojz~q4c0WioqRR910 diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/MD203F8P.txt b/Source/Obj/MD203F8P.txt similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/MD203F8P.txt rename to Source/Obj/MD203F8P.txt diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_Bootload_fun.d b/Source/Obj/SYSTEM_Bootload_fun.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_Bootload_fun.d rename to Source/Obj/SYSTEM_Bootload_fun.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_Bootload_fun.o b/Source/Obj/SYSTEM_Bootload_fun.o similarity index 51% rename from T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_Bootload_fun.o rename to Source/Obj/SYSTEM_Bootload_fun.o index 2f5ccd7dcbfb380b33fe8654a3af941e215e21be..2c6beb5485fec70febe0841b0aa7124e68d9ebe0 100644 GIT binary patch delta 11081 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 diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_dip_switch.d b/Source/Obj/SYSTEM_dip_switch.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_dip_switch.d rename to Source/Obj/SYSTEM_dip_switch.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_dip_switch.o b/Source/Obj/SYSTEM_dip_switch.o similarity index 55% rename from T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_dip_switch.o rename to Source/Obj/SYSTEM_dip_switch.o index be32324f505f7472ceb65bb04c0619f807d2a510..c474d8227c85dc2d5c4035cdfc0912ab7c5a529f 100644 GIT binary patch delta 7400 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 delta 7756 zcmYk=dwkDjAII_UZ!@Qj&7u7)jO}Mp%yAC2eg@255-f=3q%R*{5?35fjHZH(&~=04`0-nqj*!O<}Xt8GakOE4^b98eG9Npx}m#hNf zb*!DSa(8;-#oE#Sc(($bjK9-_vv5;+A?_=$#4&Oqeo+hW#HT}pjl?&;W%3!kH1j%&*Np}|pfh-; zZuk~o(_%m4ZL*`fu$F zn-+Kj4^}`+abr!o2A9a2@SPgJ8}E`2<10GWV*ImwF-+%gk&e)|m(lUGd=t;pqgYWB z+nB|2O`I>+$8RX0COAp2vUa$hcC-s_AgAKH!30^0+!&dTL zuvKR&w(88lR&66I@L-S7qV{^X#kQ#$rr~cC+$>yM?F(^5ZO1=wysGe@_?pHaz`5G{ z6Zkc`1UJ^gSMbk~I@lXr?9rew?X3mTL+{^e*wJTQ9H%O=gRwC&dVRIVP4(FcUr}&9 zaEbQ2AGZDxI8O;rFx!LuyKcy#qlU7aiDPuQ^KmQrEnKXd3-EkB3LoIbI?f3Q_&dDVj5 zYt>mDTXn`_`%%-zb9X0B**r+cU2-aZS&_bu8|yP4_tEEi++SI4#Y^3>8U8B0G{YHM zuDWwG{K3l_<0uIW=m`ZBfj^aN;rZIR26&&nnXtWy?#K2P>xuU(wqe*_y|!UC{~$RB zf2L($4X40&=!lom(Nl|U#4&0=giq>*OL&?V_zBz3{5y42w!ko@HU!5jv2j>c<4nc& zYR$vDt-x1s@t#I~gagX{D7FGUhllEzzQ=Pl{x`fp4%31b#4@=${zwVb!?th}Z141Y z&2GY=$Y4#SJc*uXG|HY$o9S7#&%ss{OR-OBuEo)cU<(e&|H2$m$ggIGhc4-60V*AQ91@};(ui$juoR95IP=KeoafAKA z-WqwF7JHYJ;7A?uRc!B!-*J1bQc+cIp?8+=!1gYQ$8F_ixUV*`8!l8zeena@j$u(8 zaTi^Tr=yc@&cTn!ui`%P0$ivqSc#*wzy_SDF}v_6`4FBc7vl^)L6`7T_66}LF0$0| zC(e;0v;&r9o*aW+`7XR%ZiUy%_AU4JuINB};2mo3kFU#5VMn{3ZML5y;kuYkN3=W} z$H_}@6L}48D{sb~O@atE5mQ` z-HQD>wlWNRMR)-H_tHV@mbvO`P8IH!?Qs*5SY`GlzNYreI9&JMz;EfZd`&O09h#>GUZq!7 zeY2HMvLZ^PqrW=t!}gn23O=OmO~a4s;TeJ}X* z2H)f2y0&yDwmLk3tqxCOtHTS}>aYx39sYr>3@hs|1a_2GhJI{i*Z^A@KHxd%Bx>6q zp<|mCOUIow(UbTa)xlJ31)GPhVCQ2i*mtoN><(-N_!YLqe!!O4%{z4d7O7=cDcZAT z7L6^N0JdzJW6P#JwrmFCb6Ow^TX3&o3vMB{fIh%6&9(4hE^Ogb*j}bzV+-OMUhF15 z=?~iSjr?A?t`4p{w!ImTZ|bCT@CzFADqf?o7UJp}Q-FPXUbbWVseB%vRwP$&1BG6* z77wlMM_es02-}0E*n;bWZC{6COYa$MDdpfKEw&s7_3B-RZT_v;=G=>uwZ3zni$q0t z9ZymAAu(P+M>J_9KB&y<;Kq8s+ThpJ-WgBQVx#e8CG!H_qIv#?Ybt?NW_xHCY2od3 zWa?r26u+b!zQSL~Ww?U2uAF}FwQ74)3)jN$$amp&auOb`fV$#W6?6vHuWru38C=Aw zV*LACn_Q&|OLxZd(!|NSJ?@w;0(f)4pRJ*y>(%#DV+dA--@ z?dAHO_Q#A<7S&_b+uQ5)n^m;0yDikaN;9{ymQ=4dncl(fkf;5@d>uf4Yw79rX49LZ zhh;kcSsOhYpV0Uvc%1fU4W6vm{#_5qFr1+F@iI z5w#!2Kgz}UN$t=@yib)?hCfkoH?dEPRjltN*1?j&A^Hx`&TQ``zcTJZ#{g}0Dz-l_ zW#9<4kHkrGHg2PbbsDz649volECF0y&(cbqqT(#X5ehoElZyq4Za;oh6>}W_s2k4X zmYVc3-s|WWUi^sK!{WRw>nh_YJXJf9h&L$c`|uz=2`Qd~j$ezV(GjYQhv231IDF2h zFBAAXWt@loI)eH5e(mDhc!b8hhhw$yPCP})9L19q#M!u@7j>y7Dy1V*ubAt2g$DWJ zy)hHiUImZTQxJo{(Do+az6!b}-l+D6ur1aL+aJLP;va%O#~H=Nb#2`woUX;D;}T`F z9M{qKwYaT<*n*qr-b2`arT91AtA$H(rh=;w@RI4LpH}TM2l)xK!l;&KDn?>sRU&BR#GTVghuXMZd2u*qz zA6Bgti+G)aE5kRH{Y|`0_f~4)WjsdN*TnNQ{+`>``FB+H_Mjs{b$ z{d%;raI`WA;(L_YEPO%1t;5fS=xA`R<~f4@)Xts26|~mrzb1;*MF}016;K%-qpH4% z_iN#b30^iYYlmv$&qMW_30|*^+v8*f)D>SVr*C-J{-`|^$MjPM&v0={ejdN+zBD1= z+vTp+|5M#hCir8HYY$FZZ*zU+(FR^%WLx)-+hgLg{Jt&jy;(MXV3t3oy;ACYmltk# zg`0_IxUb(Hvmwi$@T=Mv(7sFQt-?=f3qHp=?v<=S)u~G07A^iTH+EvYmgzLn@4Mvo zn;5vgSVqJDEj9(uapzAAw6L3(TZ=+Jq0m>*Yawp@zq^j$rEcj&OQTA*7h;7*-pm$a zG`0`}xYX^I-OQKeK9?N`sT%1n&yM%qDB6>q9N~N3{bO3dm*>V!f6SNQPMF@%SL`m5 lJG!O%ztFum_c321cV_NmVUKA~SG#9(1HNC1d@nxX`!5}nxoZFb diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_tempctrl_unit.d b/Source/Obj/SYSTEM_tempctrl_unit.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_tempctrl_unit.d rename to Source/Obj/SYSTEM_tempctrl_unit.d diff --git a/Source/Obj/SYSTEM_tempctrl_unit.o b/Source/Obj/SYSTEM_tempctrl_unit.o new file mode 100644 index 0000000000000000000000000000000000000000..a3894a8035028a0a90f49b7a5bd08a6fa7ea0434 GIT binary patch literal 32964 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 literal 0 HcmV?d00001 diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_uart.d b/Source/Obj/SYSTEM_uart.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_uart.d rename to Source/Obj/SYSTEM_uart.d diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_uart.o b/Source/Obj/SYSTEM_uart.o similarity index 65% rename from T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_uart.o rename to Source/Obj/SYSTEM_uart.o index 84660f109129bfee7fde91822f50278f23635974..a3ef4c70be5a5ea7af803a970bba4f911c00aedc 100644 GIT binary patch delta 8720 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 delta 8717 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 diff --git a/T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_uart_protocol.d b/Source/Obj/SYSTEM_uart_protocol.d similarity index 100% rename from T1_TC_ZH_V01_20251128/Source/Obj/SYSTEM_uart_protocol.d rename to Source/Obj/SYSTEM_uart_protocol.d diff --git a/Source/Obj/SYSTEM_uart_protocol.o b/Source/Obj/SYSTEM_uart_protocol.o new file mode 100644 index 0000000000000000000000000000000000000000..ae9329ffb81df24da8f6d296b7faba9ccee23c00 GIT binary patch literal 29664 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 Z+C|#Ua@l6i6_^K(Mg+@oo)cI-{9g!f&W->8 literal 0 HcmV?d00001 diff --git a/Source/Obj/T1_TC_ZH_V02_202602091700.elf b/Source/Obj/T1_TC_ZH_V02_202602091700.elf new file mode 100644 index 0000000000000000000000000000000000000000..5f3067e94ad3579b6c644b49619250899d43f8f2 GIT binary patch literal 352240 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