From 445e5bb93f5344bf8045e8ab4a4d77df66230f88 Mon Sep 17 00:00:00 2001 From: yunhai8432 Date: Wed, 12 Nov 2025 21:28:17 +0800 Subject: [PATCH] 1 --- MDK-ARM/gimbal.uvguix.yunha | 311 +--- MDK-ARM/gimbal/ai.o | Bin 3376 -> 3376 bytes MDK-ARM/gimbal/atti_esti.o | Bin 7908 -> 7908 bytes MDK-ARM/gimbal/config.o | Bin 5500 -> 5524 bytes MDK-ARM/gimbal/gimbal.axf | Bin 584876 -> 585052 bytes MDK-ARM/gimbal/gimbal.htm | 10 +- MDK-ARM/gimbal/gimbal.map | 2757 +++++++++++++++--------------- MDK-ARM/gimbal/gimbal.o | Bin 17572 -> 17724 bytes MDK-ARM/gimbal/gimbal_ctrl.o | Bin 9376 -> 9420 bytes MDK-ARM/gimbal/gimbal_gimbal.dep | 18 +- MDK-ARM/gimbal/remote.o | Bin 3820 -> 3820 bytes User/module/config.c | 6 +- User/module/gimbal.c | 16 +- User/module/gimbal.h | 30 +- 14 files changed, 1506 insertions(+), 1642 deletions(-) diff --git a/MDK-ARM/gimbal.uvguix.yunha b/MDK-ARM/gimbal.uvguix.yunha index dbf04b3..578c672 100644 --- a/MDK-ARM/gimbal.uvguix.yunha +++ b/MDK-ARM/gimbal.uvguix.yunha @@ -91,10 +91,10 @@ 44 2 - 2 + 3 - -32000 - -32000 + -1 + -1 -1 @@ -110,8 +110,8 @@ 0 - 1626 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000013000000000000000100000031443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6D6F64756C655C67696D62616C2E63000000000867696D62616C2E6300000000C5D4F200FFFFFFFF31443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6D6F64756C655C67696D62616C2E68000000000867696D62616C2E6800000000FFDC7800FFFFFFFF31443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6D6F64756C655C636F6E6669672E630000000008636F6E6669672E6300000000BECEA100FFFFFFFF2F443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C7461736B5C72656D6F74652E63000000000872656D6F74652E6300000000F0A0A100FFFFFFFF34443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C7461736B5C67696D62616C5F6374726C2E63000000000D67696D62616C5F6374726C2E6300000000BCA8E100FFFFFFFF31443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6465766963655C626D693038382E630000000008626D693038382E63000000009CC1B600FFFFFFFF30443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6465766963655C6D6F746F722E6300000000076D6F746F722E6300000000F7B88600FFFFFFFF32443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6465766963655C697374383331302E630000000009697374383331302E6300000000D9ADC200FFFFFFFF37443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C636F6D706F6E656E745C757365725F6D6174682E63000000000B757365725F6D6174682E6300000000A5C2D700FFFFFFFF2D443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C7461736B5C696E69742E630000000006696E69742E6300000000B3A6BE00FFFFFFFF32443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C7461736B5C757365725F7461736B2E63000000000B757365725F7461736B2E6300000000EAD6A300FFFFFFFF39443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6465766963655C72656D6F74655F636F6E74726F6C2E63000000001072656D6F74655F636F6E74726F6C2E6300000000F6FA7D00FFFFFFFF33443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6465766963655C6D6F746F725F646D2E63000000000A6D6F746F725F646D2E6300000000B5E99D00FFFFFFFF31443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C636F6D706F6E656E745C7069642E6300000000057069642E63000000005FC3CF00FFFFFFFF32443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C7461736B5C617474695F657374692E63000000000B617474695F657374692E6300000000C1838300FFFFFFFF31443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C636F6D706F6E656E745C636D642E630000000005636D642E6300000000CACAD500FFFFFFFF31443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C636F6D706F6E656E745C636D642E680000000005636D642E6800000000C5D4F200FFFFFFFF2D443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6465766963655C61692E63000000000461692E6300000000FFDC7800FFFFFFFF37443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C636F6D706F6E656E745C757365725F6D6174682E68000000000B757365725F6D6174682E6800000000BECEA100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000B883FFFF4F83FFFFA088FFFFB585FFFF + 480 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000004000000000000000100000031443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6D6F64756C655C67696D62616C2E63000000000867696D62616C2E6300000000C5D4F200FFFFFFFF31443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6D6F64756C655C67696D62616C2E68000000000867696D62616C2E6800000000FFDC7800FFFFFFFF31443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C6D6F64756C655C636F6E6669672E630000000008636F6E6669672E6300000000BECEA100FFFFFFFF34443A5C79756E68615C67696D62616C5C6D6F746F725C67696D62616C5C557365725C7461736B5C67696D62616C5F6374726C2E63000000000D67696D62616C5F6374726C2E6300000000F0A0A100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000B800000066000000A0050000CC020000 @@ -134,7 +134,7 @@ 16 - 8A000000A10000009E02000011010000 + B80100001C010000280500008C010000 @@ -190,7 +190,7 @@ 0 16 - 00000000B00100002804000020020000 + 03000000B30100002504000007020000 16 @@ -210,7 +210,7 @@ 0 16 - 03000000B301000025040000F3010000 + 03000000B30100002504000007020000 16 @@ -230,7 +230,7 @@ 0 16 - 03000000B301000025040000F3010000 + 03000000B30100002504000007020000 16 @@ -250,7 +250,7 @@ 0 16 - 03000000B301000025040000F3010000 + 03000000B30100002504000007020000 16 @@ -270,7 +270,7 @@ 0 16 - 770300006600000025040000DB000000 + 77030000660000002504000093010000 16 @@ -330,7 +330,7 @@ 0 16 - 03000000B301000025040000F3010000 + 03000000B30100002504000007020000 16 @@ -350,7 +350,7 @@ 0 16 - 03000000B301000025040000F3010000 + 03000000B30100002504000007020000 16 @@ -370,7 +370,7 @@ 0 16 - 03000000B301000025040000F3010000 + 03000000B30100002504000007020000 16 @@ -390,7 +390,7 @@ 0 16 - 03000000B301000025040000F3010000 + 03000000B30100002504000007020000 16 @@ -410,7 +410,7 @@ 0 16 - 03000000B301000025040000F3010000 + 03000000B30100002504000007020000 16 @@ -430,7 +430,7 @@ 0 16 - 03000000B301000025040000F3010000 + 03000000B30100002504000007020000 16 @@ -530,7 +530,7 @@ 0 16 - 03000000D00200002504000010030000 + 03000000D00200009D05000011030000 16 @@ -550,7 +550,7 @@ 0 16 - B80000006300000028040000BF000000 + BB0000006600000025040000A6000000 16 @@ -610,7 +610,7 @@ 0 16 - 740300006300000028040000AC010000 + 77030000660000002504000093010000 16 @@ -630,7 +630,7 @@ 0 16 - 00000000B0010000280400000C020000 + 03000000B30100002504000007020000 16 @@ -690,7 +690,7 @@ 0 16 - B80000006300000028040000BF000000 + BB0000006600000025040000A6000000 16 @@ -730,7 +730,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -750,7 +750,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -770,7 +770,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -790,7 +790,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -810,7 +810,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -830,7 +830,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -850,7 +850,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -870,7 +870,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -890,7 +890,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -910,7 +910,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -930,7 +930,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -950,7 +950,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -970,7 +970,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -990,7 +990,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1010,7 +1010,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1030,7 +1030,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1050,7 +1050,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1070,7 +1070,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1090,7 +1090,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1110,7 +1110,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1130,7 +1130,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1150,7 +1150,7 @@ 0 16 - 0300000066000000B100000007020000 + 0300000066000000B10000009C020000 16 @@ -1170,7 +1170,7 @@ 0 16 - 00000000CD0200002804000029030000 + 03000000D00200009D05000011030000 16 @@ -1190,7 +1190,7 @@ 0 16 - 03000000D00200002504000010030000 + 03000000D00200009D05000011030000 16 @@ -1210,7 +1210,7 @@ 0 16 - 03000000B301000025040000F3010000 + 03000000B30100002504000007020000 16 @@ -1230,7 +1230,7 @@ 0 16 - 03000000B301000025040000F3010000 + 03000000B30100002504000007020000 16 @@ -1250,7 +1250,7 @@ 0 16 - 03000000D00200002504000010030000 + 03000000D00200009D05000011030000 16 @@ -1270,7 +1270,7 @@ 0 16 - 03000000D00200002504000010030000 + 03000000D00200009D05000011030000 16 @@ -1310,7 +1310,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1330,7 +1330,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1350,7 +1350,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1370,7 +1370,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1390,7 +1390,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1410,7 +1410,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1430,7 +1430,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1450,7 +1450,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1470,7 +1470,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1490,7 +1490,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1510,7 +1510,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1530,7 +1530,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1550,7 +1550,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1570,7 +1570,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1590,7 +1590,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1610,7 +1610,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1630,7 +1630,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1650,7 +1650,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1670,7 +1670,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1690,7 +1690,7 @@ 0 16 - 7703000066000000250400001F010000 + 77030000660000002504000093010000 16 @@ -1704,7 +1704,7 @@ 0 0 0 - 32767 + 966 0 8192 0 @@ -1744,7 +1744,7 @@ 0 0 0 - 32767 + 476 0 8192 1 @@ -1764,7 +1764,7 @@ 0 0 0 - 32767 + 612 0 8192 2 @@ -1790,7 +1790,7 @@ 0 16 - 03000000B301000025040000F3010000 + 03000000B30100002504000007020000 16 @@ -1799,14 +1799,14 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFB8000000BF00000028040000C3000000000000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000008A000000A10000009E02000011010000B80000004F00000028040000BF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF700300004F00000074030000AC010000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000008A000000A10000003E01000046010000740300004F00000028040000AC01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFB40000004F000000B8000000B5020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000008A000000A10000003E01000046010000000000004F000000B4000000B50200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000098010000280400009C01000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000008A000000A10000003E01000046010000000000009C010000280400002002000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF140200009C010000180200002002000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000B5020000A0050000B9020000010000000100001004000000010000009EFDFFFF6E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000008A000000A10000009E0200001101000000000000B9020000A00500002A0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFB8000000BF00000028040000C3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000B80100001C010000280500008C010000B80000004F00000028040000BF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF700300004F00000074030000AC010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000740400001C0100002805000079020000740300004F00000028040000AC01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFB40000004F000000B8000000B5020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000000100001C010000B401000082030000000000004F000000B4000000B50200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000098010000280400009C01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000100006902000028050000ED020000000000009C010000280400002002000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF140200009C010000180200002002000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000B5020000A0050000B9020000010000000100001004000000010000009EFDFFFF6E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000000001000086030000A0060000F703000000000000B9020000A00500002A0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File 2896 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000B436972636C654572726F72960000000000000014000B436972636C654572726F72104D4F544F525F444D5F506172616D5F740B2D3E646D5F6D6F746F722E0A2D3E646D5F6D6F746F720B2D3E726D5F6D6F746F722E08726D5F6D6F746F72104D4F544F525F524D5F506172616D5F741A67696D62616C2D3E666565646261636B2E6D6F746F722E7961770C7961775F726D5F6D6F746F720A52435F726573746172741372656D6F74655F636F6E74726F6C5F696E69740C4253505F43414E5F496E69740A67696D62616C5F636D640F434D445F47696D62616C436D645F7401670543414E5F740B414852535F45756C725F740847696D62616C5F7412504F534954494F4E5F544F4C4552414E434512566973696F6E5F50726F63657373427974650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000B436972636C654572726F72960000000000000014000B436972636C654572726F72104D4F544F525F444D5F506172616D5F740B2D3E646D5F6D6F746F722E0A2D3E646D5F6D6F746F720B2D3E726D5F6D6F746F722E08726D5F6D6F746F72104D4F544F525F524D5F506172616D5F741A67696D62616C2D3E666565646261636B2E6D6F746F722E7961770C7961775F726D5F6D6F746F720A52435F726573746172741372656D6F74655F636F6E74726F6C5F696E69740C4253505F43414E5F496E69740A67696D62616C5F636D640F434D445F47696D62616C436D645F7401670543414E5F740B414852535F45756C725F740847696D62616C5F7412504F534954494F4E5F544F4C4552414E434512566973696F6E5F50726F63657373427974650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1822,7 +1822,7 @@ Build 972 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000667696D62616C960000000000000001000667696D62616C000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000667696D62616C960000000000000001000667696D62616C000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -1838,7 +1838,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3607,170 +3607,35 @@ ..\User\module\gimbal.c 17 - 311 - 324 + 318 + 300 1 0 ..\User\module\gimbal.h - 17 - 158 - 168 + 9 + 55 + 78 1 0 ..\User\module\config.c - 21 - 41 - 46 - 1 - - 0 - - - ..\User\task\remote.c - 0 - 1 - 1 + 12 + 32 + 49 1 0 ..\User\task\gimbal_ctrl.c - 18 + 12 28 - 46 - 1 - - 0 - - - ..\User\device\bmi088.c - 0 - 1 - 1 - 1 - - 0 - - - ..\User\device\motor.c - 0 - 1 - 1 - 1 - - 0 - - - ..\User\device\ist8310.c - 0 - 1 - 1 - 1 - - 0 - - - ..\User\component\user_math.c - 21 - 64 - 79 - 1 - - 0 - - - ..\User\task\init.c - 0 - 1 - 1 - 1 - - 0 - - - ..\User\task\user_task.c - 0 - 1 - 1 - 1 - - 0 - - - ..\User\device\remote_control.c - 0 - 1 - 1 - 1 - - 0 - - - ..\User\device\motor_dm.c - 0 - 1 - 1 - 1 - - 0 - - - ..\User\component\pid.c - 31 - 45 - 67 - 1 - - 0 - - - ..\User\task\atti_esti.c - 0 - 1 - 1 - 1 - - 0 - - - ..\User\component\cmd.c - 13 - 1 - 5 - 1 - - 0 - - - ..\User\component\cmd.h - 20 - 31 - 39 - 1 - - 0 - - - ..\User\device\ai.c - 0 - 1 - 1 - 1 - - 0 - - - ..\User\component\user_math.h - 9 - 66 - 77 + 36 1 0 diff --git a/MDK-ARM/gimbal/ai.o b/MDK-ARM/gimbal/ai.o index f4161b8ecf7e8b612bf3700ddd7ca98b9e435a04..119f019e4dd087debe4b8536c58fe6d7e093a2fb 100644 GIT binary patch delta 41 rcmdlWwLxmb3nrNsP6@_Ft{6rJh9V$lY+~Rl2GYww?B>lZ%sN~E)ddJ> delta 41 rcmdlWwLxmb3nrNkP6@_Vt{6rJh9V$lY-8Xm2GYww?Dowp%sN~E)?EmA diff --git a/MDK-ARM/gimbal/atti_esti.o b/MDK-ARM/gimbal/atti_esti.o index 4cb2dda224e85dc0b67f122ef07f92ea45114b90..cde88204d7c51c85a3dbdbd32373aadf7bf209c9 100644 GIT binary patch delta 41 ucmaE2`^0v`U3Qrk775NqRuM)9hHxO}Y+_&)W@cb81Y*wS%|F>+iva-OL+iva-PoC&!A diff --git a/MDK-ARM/gimbal/config.o b/MDK-ARM/gimbal/config.o index 0814469f21cb194c46c98c8ae9a89cb0eb739ea7..af5fdd377d249343fddddc726c7820a0cf967285 100644 GIT binary patch delta 2030 zcmYk7ZA=_h6o${8nX@yj%et@&0wu7NrO+=6t+iEwQc)?PEmWzkwuM~^EfjDOHX>LV zVl-0X2V|&;CR#MsAJwXe2Af7hWATSEY1G7zl$aVDV=!v9N}`g~bBA-$AG^o%TQjYD6;C9l-XiV%YH9&|utRo}MAY&Kcb4uSG#&MTN_bc7w15YyrXJv(fs4$B~A9j)Pgxps@;A=`h60-5Mns&4Z&nx}t z8UTHP=3kRFwwV!8hGXiK<$$j$y+ydEZF^yH&j7Yt_Vn z)8^lj@;$AmA;1-;aL)L1^ES%sBe#-S&x|rVoxl9Kw(J_2^%irQ`6=^j=4IwQQ_vHX z^OBjeEo5B4EMb;0tC_o*@|GyyhE6t)GUe6CLdTe6%oEJlnN!S|+iS%Vgo>Y`n}o%{;@LVSX-2oBEPDJ6WAl zBXBSU;Honb3_5S5M#U8;IasTK-)RW;i(i~?g869q0iuow=W`C|}slj!+>^ z$={1R^{G%mOgS%-7w`duopY%{XO_HH=jTwND0b4)3dO@tSz2L6T{6HpO`}Ex`d0(m I3R znnqI}=+yYds%e!N6WbvD(AYG^Sg{%s4Vq}8ZQ4j;`^D6nCN=?YB|E}s2e6gSvjNDT?Z9yxeb3=Md$G9;cs0AJmM?-4rKrPzo*iD&iBu9II^0e-? zs7UKRFO_TE9{|sN9Gp}cCYsRB!6Dkn#yMrgfQt_&`%h*ZS?Qm39B{X_8Uc=a|DUxd zK#%MEW9hV2>v0D>ogC!xZ@~i*w5xHF`q_9v?ZJMa_q2{XG^1A~%IK`tFIEDW&-3zs zh6ug0Q3wFM@Q!td_K(V?H}3^9qiiI9UF$xSafgqpgZl$o%`0` zfOBbqegmi6iPXA`WzJ;~z)c~!U#AunsvE1^CSj{EDvY_lw1W6?iB1X63%?Uy6kZeF z6e4ex%AP7L5LO6lgpI;BVMI8%!Z@f`r%H5CI4yif_>u6G@N?m!@Mqx_p?dSFe18gW z3;n$P%Fh<6x0ylw7*>f4o(`$^^)|EHD&w;0z`+`Ykl{MY(Nu$XS80JOWgPBBGofE2gEDaKuHw^NEU?yF8I m&G1vv?#^Zg-9;xI!M(^MEiPr1V#r;`*NEH3*Lrs{Yt4Vi>G_5L diff --git a/MDK-ARM/gimbal/gimbal.axf b/MDK-ARM/gimbal/gimbal.axf index fb770fdffe1a74258427c9387ac6ea3569293e1b..d15e57e6f39c55eeaef784289cb2c24dc95c7776 100644 GIT binary patch delta 162768 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

_=hzhW4Z}&|OSu40Jye8UlTt2@Qe1 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 diff --git a/MDK-ARM/gimbal/gimbal.htm b/MDK-ARM/gimbal/gimbal.htm index fc51237..2256b26 100644 --- a/MDK-ARM/gimbal/gimbal.htm +++ b/MDK-ARM/gimbal/gimbal.htm @@ -3,7 +3,7 @@ Static Call Graph - [gimbal\gimbal.axf]


Static Call Graph for image gimbal\gimbal.axf


-

#<CALLGRAPH># ARM Linker, 6160001: Last Updated: Wed Nov 12 20:41:26 2025 +

#<CALLGRAPH># ARM Linker, 6160001: Last Updated: Wed Nov 12 21:26:23 2025

Maximum Stack Usage = 432 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

@@ -169,9 +169,9 @@ Global Symbols

__scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) -

__decompress (Thumb, 90 bytes, Stack size unknown bytes, __dczerorl2.o(!!dczerorl2), UNUSED) +

__decompress (Thumb, 58 bytes, Stack size unknown bytes, __dczerorl.o(!!dczerorl), UNUSED) -

__decompress1 (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl2.o(!!dczerorl2), UNUSED) +

__decompress0 (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl.o(!!dczerorl), UNUSED)

__scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED) @@ -1114,7 +1114,7 @@ Global Symbols

  • >>   MX_CAN1_Init -

    Gimbal_Control (Thumb, 1312 bytes, Stack size 88 bytes, gimbal.o(.text.Gimbal_Control)) +

    Gimbal_Control (Thumb, 1304 bytes, Stack size 88 bytes, gimbal.o(.text.Gimbal_Control))

    [Stack]

    • Max Depth = 208
    • Call Chain = Gimbal_Control ⇒ PID_Calc ⇒ LowPassFilter2p_Apply ⇒ __ARM_isinf

    [Calls]
    • >>   Clip @@ -1128,7 +1128,7 @@ Global Symbols
      [Called By]
      • >>   Task_gimbal_ctrl
      -

      Gimbal_Init (Thumb, 424 bytes, Stack size 32 bytes, gimbal.o(.text.Gimbal_Init)) +

      Gimbal_Init (Thumb, 472 bytes, Stack size 32 bytes, gimbal.o(.text.Gimbal_Init))

      [Stack]

      • Max Depth = 372 + Unknown Stack Size
      • Call Chain = Gimbal_Init ⇒ BSP_CAN_Init ⇒ osMutexNew ⇒ xQueueCreateMutexStatic ⇒ prvInitialiseMutex ⇒ xQueueGenericSend ⇒ prvCopyDataToQueue ⇒ xTaskPriorityDisinherit ⇒ vListInsertEnd
      diff --git a/MDK-ARM/gimbal/gimbal.map b/MDK-ARM/gimbal/gimbal.map index a81cdba..f726810 100644 --- a/MDK-ARM/gimbal/gimbal.map +++ b/MDK-ARM/gimbal/gimbal.map @@ -6041,7 +6041,7 @@ Image Symbol Table ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE - ../clib/angel/dczerorl2.s 0x00000000 Number 0 __dczerorl2.o ABSOLUTE + ../clib/angel/dczerorl.s 0x00000000 Number 0 __dczerorl.o ABSOLUTE ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE @@ -6304,379 +6304,379 @@ Image Symbol Table RESET 0x08000000 Section 392 startup_stm32f407xx.o(RESET) !!!main 0x08000188 Section 8 __main.o(!!!main) !!!scatter 0x08000190 Section 52 __scatter.o(!!!scatter) - !!dczerorl2 0x080001c4 Section 90 __dczerorl2.o(!!dczerorl2) - !!handler_zi 0x08000220 Section 28 __scatter_zi.o(!!handler_zi) - .ARM.Collect$$libinit$$00000000 0x0800023c Section 2 libinit.o(.ARM.Collect$$libinit$$00000000) - .ARM.Collect$$libinit$$00000001 0x0800023e Section 4 libinit2.o(.ARM.Collect$$libinit$$00000001) - .ARM.Collect$$libinit$$00000004 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000004) - .ARM.Collect$$libinit$$0000000A 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000A) - .ARM.Collect$$libinit$$0000000C 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000C) - .ARM.Collect$$libinit$$0000000E 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000E) - .ARM.Collect$$libinit$$00000011 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000011) - .ARM.Collect$$libinit$$00000013 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000013) - .ARM.Collect$$libinit$$00000015 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000015) - .ARM.Collect$$libinit$$00000017 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000017) - .ARM.Collect$$libinit$$00000019 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000019) - .ARM.Collect$$libinit$$0000001B 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001B) - .ARM.Collect$$libinit$$0000001D 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001D) - .ARM.Collect$$libinit$$0000001F 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001F) - .ARM.Collect$$libinit$$00000021 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000021) - .ARM.Collect$$libinit$$00000023 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000023) - .ARM.Collect$$libinit$$00000025 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000025) - .ARM.Collect$$libinit$$0000002C 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000002C) - .ARM.Collect$$libinit$$0000002E 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000002E) - .ARM.Collect$$libinit$$00000030 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000030) - .ARM.Collect$$libinit$$00000032 0x08000242 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000032) - .ARM.Collect$$libinit$$00000033 0x08000242 Section 2 libinit2.o(.ARM.Collect$$libinit$$00000033) - .ARM.Collect$$libshutdown$$00000000 0x08000244 Section 2 libshutdown.o(.ARM.Collect$$libshutdown$$00000000) - .ARM.Collect$$libshutdown$$00000002 0x08000246 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000002) - .ARM.Collect$$libshutdown$$00000004 0x08000246 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000004) - .ARM.Collect$$libshutdown$$00000007 0x08000246 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000007) - .ARM.Collect$$libshutdown$$0000000A 0x08000246 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A) - .ARM.Collect$$libshutdown$$0000000C 0x08000246 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C) - .ARM.Collect$$libshutdown$$0000000F 0x08000246 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F) - .ARM.Collect$$libshutdown$$00000010 0x08000246 Section 2 libshutdown2.o(.ARM.Collect$$libshutdown$$00000010) - .ARM.Collect$$rtentry$$00000000 0x08000248 Section 0 __rtentry.o(.ARM.Collect$$rtentry$$00000000) - .ARM.Collect$$rtentry$$00000002 0x08000248 Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000002) - .ARM.Collect$$rtentry$$00000004 0x08000248 Section 6 __rtentry4.o(.ARM.Collect$$rtentry$$00000004) - .ARM.Collect$$rtentry$$00000009 0x0800024e Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000009) - .ARM.Collect$$rtentry$$0000000A 0x0800024e Section 4 __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) - .ARM.Collect$$rtentry$$0000000C 0x08000252 Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000C) - .ARM.Collect$$rtentry$$0000000D 0x08000252 Section 8 __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) - .ARM.Collect$$rtexit$$00000000 0x0800025a Section 2 rtexit.o(.ARM.Collect$$rtexit$$00000000) - .ARM.Collect$$rtexit$$00000002 0x0800025c Section 0 rtexit2.o(.ARM.Collect$$rtexit$$00000002) - .ARM.Collect$$rtexit$$00000003 0x0800025c Section 4 rtexit2.o(.ARM.Collect$$rtexit$$00000003) - .ARM.Collect$$rtexit$$00000004 0x08000260 Section 6 rtexit2.o(.ARM.Collect$$rtexit$$00000004) - $v0 0x08000268 Number 0 startup_stm32f407xx.o(.text) - .text 0x08000268 Section 64 startup_stm32f407xx.o(.text) - .text 0x080002a8 Section 240 lludivv7m.o(.text) - .text 0x08000398 Section 138 rt_memcpy_v6.o(.text) - .text 0x08000422 Section 16 aeabi_memset4.o(.text) - .text 0x08000432 Section 78 rt_memclr_w.o(.text) - .text 0x08000480 Section 0 heapauxi.o(.text) - .text 0x08000486 Section 0 _rserrno.o(.text) - .text 0x0800049c Section 100 rt_memcpy_w.o(.text) - .text 0x08000500 Section 8 rt_errno_addr_intlibspace.o(.text) - .text 0x08000508 Section 8 libspace.o(.text) - .text 0x08000510 Section 74 sys_stackheap_outer.o(.text) - .text 0x0800055a Section 0 exit.o(.text) - .text 0x0800056c Section 0 sys_exit.o(.text) - .text 0x08000578 Section 2 use_no_semi.o(.text) - .text 0x0800057a Section 0 indicate_semi.o(.text) - [Anonymous Symbol] 0x0800057c Section 0 ahrs.o(.text.AHRS_GetEulr) - [Anonymous Symbol] 0x080006d8 Section 0 ahrs.o(.text.AHRS_Init) - [Anonymous Symbol] 0x0800095c Section 0 ahrs.o(.text.AHRS_ResetEulr) - [Anonymous Symbol] 0x08000970 Section 0 ahrs.o(.text.AHRS_Update) - AHRS_UpdateIMU 0x0800158d Thumb Code 1480 ahrs.o(.text.AHRS_UpdateIMU) - [Anonymous Symbol] 0x0800158c Section 0 ahrs.o(.text.AHRS_UpdateIMU) - [Anonymous Symbol] 0x08001b54 Section 0 user_math.o(.text.AbsClip) - BMI088_AcclIntCallback 0x08001bc1 Thumb Code 20 bmi088.o(.text.BMI088_AcclIntCallback) - [Anonymous Symbol] 0x08001bc0 Section 0 bmi088.o(.text.BMI088_AcclIntCallback) - [Anonymous Symbol] 0x08001bd4 Section 0 bmi088.o(.text.BMI088_AcclStartDmaRecv) - [Anonymous Symbol] 0x08001bf4 Section 0 bmi088.o(.text.BMI088_AcclWaitDmaCplt) - [Anonymous Symbol] 0x08001c04 Section 0 bmi088.o(.text.BMI088_GetUpdateFreq) - BMI088_GyroIntCallback 0x08001c15 Thumb Code 20 bmi088.o(.text.BMI088_GyroIntCallback) - [Anonymous Symbol] 0x08001c14 Section 0 bmi088.o(.text.BMI088_GyroIntCallback) - [Anonymous Symbol] 0x08001c28 Section 0 bmi088.o(.text.BMI088_GyroStartDmaRecv) - [Anonymous Symbol] 0x08001c44 Section 0 bmi088.o(.text.BMI088_GyroWaitDmaCplt) - [Anonymous Symbol] 0x08001c54 Section 0 bmi088.o(.text.BMI088_Init) - [Anonymous Symbol] 0x08001ddc Section 0 bmi088.o(.text.BMI088_ParseAccl) - [Anonymous Symbol] 0x08001ed0 Section 0 bmi088.o(.text.BMI088_ParseGyro) - BMI088_RxCpltCallback 0x08001fe9 Thumb Code 84 bmi088.o(.text.BMI088_RxCpltCallback) - [Anonymous Symbol] 0x08001fe8 Section 0 bmi088.o(.text.BMI088_RxCpltCallback) - [Anonymous Symbol] 0x0800203c Section 0 bmi088.o(.text.BMI088_WaitNew) - BMI_Read 0x0800204d Thumb Code 118 bmi088.o(.text.BMI_Read) - [Anonymous Symbol] 0x0800204c Section 0 bmi088.o(.text.BMI_Read) - BMI_ReadSingle 0x080020c5 Thumb Code 178 bmi088.o(.text.BMI_ReadSingle) - [Anonymous Symbol] 0x080020c4 Section 0 bmi088.o(.text.BMI_ReadSingle) - BMI_WriteSingle 0x08002179 Thumb Code 148 bmi088.o(.text.BMI_WriteSingle) - [Anonymous Symbol] 0x08002178 Section 0 bmi088.o(.text.BMI_WriteSingle) - BSP_CAN_CreateIdQueue 0x0800220d Thumb Code 292 can_1.o(.text.BSP_CAN_CreateIdQueue) - [Anonymous Symbol] 0x0800220c Section 0 can_1.o(.text.BSP_CAN_CreateIdQueue) - BSP_CAN_DefaultIdParser 0x08002331 Thumb Code 14 can_1.o(.text.BSP_CAN_DefaultIdParser) - [Anonymous Symbol] 0x08002330 Section 0 can_1.o(.text.BSP_CAN_DefaultIdParser) - BSP_CAN_FindQueue 0x08002341 Thumb Code 82 can_1.o(.text.BSP_CAN_FindQueue) - [Anonymous Symbol] 0x08002340 Section 0 can_1.o(.text.BSP_CAN_FindQueue) - BSP_CAN_GetFrameType 0x08002395 Thumb Code 58 can_1.o(.text.BSP_CAN_GetFrameType) - [Anonymous Symbol] 0x08002394 Section 0 can_1.o(.text.BSP_CAN_GetFrameType) - [Anonymous Symbol] 0x080023d0 Section 0 can_1.o(.text.BSP_CAN_GetHandle) - [Anonymous Symbol] 0x08002420 Section 0 can_1.o(.text.BSP_CAN_GetMessage) - [Anonymous Symbol] 0x080024c0 Section 0 can_1.o(.text.BSP_CAN_Init) - [Anonymous Symbol] 0x08002634 Section 0 can_1.o(.text.BSP_CAN_ParseId) - [Anonymous Symbol] 0x08002678 Section 0 can_1.o(.text.BSP_CAN_RegisterCallback) - [Anonymous Symbol] 0x080026fc Section 0 can_1.o(.text.BSP_CAN_RegisterId) - BSP_CAN_RxFifo0Callback 0x08002741 Thumb Code 228 can_1.o(.text.BSP_CAN_RxFifo0Callback) - [Anonymous Symbol] 0x08002740 Section 0 can_1.o(.text.BSP_CAN_RxFifo0Callback) - BSP_CAN_RxFifo1Callback 0x08002825 Thumb Code 228 can_1.o(.text.BSP_CAN_RxFifo1Callback) - [Anonymous Symbol] 0x08002824 Section 0 can_1.o(.text.BSP_CAN_RxFifo1Callback) - [Anonymous Symbol] 0x08002908 Section 0 can_1.o(.text.BSP_CAN_Transmit) - [Anonymous Symbol] 0x08002a80 Section 0 can_1.o(.text.BSP_CAN_TransmitStdDataFrame) - BSP_CAN_TxCompleteCallback 0x08002ac1 Thumb Code 120 can_1.o(.text.BSP_CAN_TxCompleteCallback) - [Anonymous Symbol] 0x08002ac0 Section 0 can_1.o(.text.BSP_CAN_TxCompleteCallback) - BSP_CAN_TxQueueInit 0x08002b39 Thumb Code 66 can_1.o(.text.BSP_CAN_TxQueueInit) - [Anonymous Symbol] 0x08002b38 Section 0 can_1.o(.text.BSP_CAN_TxQueueInit) - BSP_CAN_TxQueueIsEmpty 0x08002b7d Thumb Code 86 can_1.o(.text.BSP_CAN_TxQueueIsEmpty) - [Anonymous Symbol] 0x08002b7c Section 0 can_1.o(.text.BSP_CAN_TxQueueIsEmpty) - BSP_CAN_TxQueuePop 0x08002bd5 Thumb Code 172 can_1.o(.text.BSP_CAN_TxQueuePop) - [Anonymous Symbol] 0x08002bd4 Section 0 can_1.o(.text.BSP_CAN_TxQueuePop) - BSP_CAN_TxQueuePush 0x08002c81 Thumb Code 172 can_1.o(.text.BSP_CAN_TxQueuePush) - [Anonymous Symbol] 0x08002c80 Section 0 can_1.o(.text.BSP_CAN_TxQueuePush) - [Anonymous Symbol] 0x08002d2c Section 0 mm.o(.text.BSP_Free) - [Anonymous Symbol] 0x08002d3c Section 0 gpio_1.o(.text.BSP_GPIO_DisableIRQ) - [Anonymous Symbol] 0x08002d94 Section 0 gpio_1.o(.text.BSP_GPIO_EnableIRQ) - [Anonymous Symbol] 0x08002dec Section 0 gpio_1.o(.text.BSP_GPIO_ReadPin) - [Anonymous Symbol] 0x08002e38 Section 0 gpio_1.o(.text.BSP_GPIO_RegisterCallback) - [Anonymous Symbol] 0x08002ec8 Section 0 gpio_1.o(.text.BSP_GPIO_WritePin) - [Anonymous Symbol] 0x08002f18 Section 0 mm.o(.text.BSP_Malloc) - [Anonymous Symbol] 0x08002f28 Section 0 pwm.o(.text.BSP_PWM_SetComp) - [Anonymous Symbol] 0x08003068 Section 0 pwm.o(.text.BSP_PWM_Start) - [Anonymous Symbol] 0x080030ac Section 0 spi_1.o(.text.BSP_SPI_GetHandle) - [Anonymous Symbol] 0x080030d4 Section 0 spi_1.o(.text.BSP_SPI_Receive) - [Anonymous Symbol] 0x08003154 Section 0 spi_1.o(.text.BSP_SPI_RegisterCallback) - [Anonymous Symbol] 0x08003198 Section 0 spi_1.o(.text.BSP_SPI_Transmit) - [Anonymous Symbol] 0x08003218 Section 0 time.o(.text.BSP_TIME_Delay_ms) - [Anonymous Symbol] 0x080032a8 Section 0 time.o(.text.BSP_TIME_Get_us) - [Anonymous Symbol] 0x08003354 Section 0 uart.o(.text.BSP_UART_IRQHandler) - [Anonymous Symbol] 0x080033c0 Section 0 stm32f4xx_it.o(.text.BusFault_Handler) - [Anonymous Symbol] 0x080033c4 Section 0 stm32f4xx_it.o(.text.CAN1_RX0_IRQHandler) - [Anonymous Symbol] 0x080033d4 Section 0 stm32f4xx_it.o(.text.CAN1_RX1_IRQHandler) - [Anonymous Symbol] 0x080033e4 Section 0 stm32f4xx_it.o(.text.CAN1_TX_IRQHandler) - [Anonymous Symbol] 0x080033f4 Section 0 stm32f4xx_it.o(.text.CAN2_RX0_IRQHandler) - [Anonymous Symbol] 0x08003404 Section 0 stm32f4xx_it.o(.text.CAN2_RX1_IRQHandler) - [Anonymous Symbol] 0x08003414 Section 0 stm32f4xx_it.o(.text.CAN2_TX_IRQHandler) - CAN_Get 0x08003425 Thumb Code 86 can_1.o(.text.CAN_Get) - [Anonymous Symbol] 0x08003424 Section 0 can_1.o(.text.CAN_Get) - [Anonymous Symbol] 0x0800347c Section 0 user_math.o(.text.CircleAdd) - [Anonymous Symbol] 0x08003500 Section 0 user_math.o(.text.CircleError) - [Anonymous Symbol] 0x0800359c Section 0 user_math.o(.text.Clip) - [Anonymous Symbol] 0x080035e8 Section 0 config.o(.text.Config_GetRobotParam) - [Anonymous Symbol] 0x080035f4 Section 0 stm32f4xx_it.o(.text.DMA1_Stream1_IRQHandler) - [Anonymous Symbol] 0x08003608 Section 0 remote_control.o(.text.DMA1_Stream1_IRQHandler1) - [Anonymous Symbol] 0x08003660 Section 0 stm32f4xx_it.o(.text.DMA2_Stream2_IRQHandler) - [Anonymous Symbol] 0x08003670 Section 0 stm32f4xx_it.o(.text.DMA2_Stream3_IRQHandler) - DMA_CalcBaseAndBitshift 0x08003681 Thumb Code 86 stm32f4xx_hal_dma.o(.text.DMA_CalcBaseAndBitshift) - [Anonymous Symbol] 0x08003680 Section 0 stm32f4xx_hal_dma.o(.text.DMA_CalcBaseAndBitshift) - DMA_CheckFifoParam 0x080036d9 Thumb Code 240 stm32f4xx_hal_dma.o(.text.DMA_CheckFifoParam) - [Anonymous Symbol] 0x080036d8 Section 0 stm32f4xx_hal_dma.o(.text.DMA_CheckFifoParam) - DMA_SetConfig 0x080037c9 Thumb Code 80 stm32f4xx_hal_dma.o(.text.DMA_SetConfig) - [Anonymous Symbol] 0x080037c8 Section 0 stm32f4xx_hal_dma.o(.text.DMA_SetConfig) - [Anonymous Symbol] 0x08003818 Section 0 stm32f4xx_it.o(.text.DebugMon_Handler) - [Anonymous Symbol] 0x0800381c Section 0 stm32f4xx_it.o(.text.EXTI0_IRQHandler) - [Anonymous Symbol] 0x08003828 Section 0 stm32f4xx_it.o(.text.EXTI3_IRQHandler) - [Anonymous Symbol] 0x08003834 Section 0 stm32f4xx_it.o(.text.EXTI4_IRQHandler) - [Anonymous Symbol] 0x08003840 Section 0 stm32f4xx_it.o(.text.EXTI9_5_IRQHandler) - [Anonymous Symbol] 0x0800384c Section 0 main.o(.text.Error_Handler) - [Anonymous Symbol] 0x08003854 Section 0 gimbal.o(.text.Gimbal_Control) - __arm_cp.3_6 0x08003c20 Number 4 gimbal.o(.text.Gimbal_Control) - __arm_cp.3_9 0x08003c2c Number 4 gimbal.o(.text.Gimbal_Control) - [Anonymous Symbol] 0x08003d74 Section 0 gimbal.o(.text.Gimbal_Init) - [Anonymous Symbol] 0x08003f1c Section 0 gimbal.o(.text.Gimbal_Output) - Gimbal_SetMode 0x08004031 Thumb Code 180 gimbal.o(.text.Gimbal_SetMode) - [Anonymous Symbol] 0x08004030 Section 0 gimbal.o(.text.Gimbal_SetMode) - [Anonymous Symbol] 0x080040e4 Section 0 gimbal.o(.text.Gimbal_UpdateFeedback) - [Anonymous Symbol] 0x0800424c Section 0 gimbal.o(.text.Gimbal_UpdateIMU) - [Anonymous Symbol] 0x08004298 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_ActivateNotification) - [Anonymous Symbol] 0x080042ec Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_AddTxMessage) - [Anonymous Symbol] 0x08004444 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_ConfigFilter) - [Anonymous Symbol] 0x080045e4 Section 0 can_1.o(.text.HAL_CAN_ErrorCallback) - [Anonymous Symbol] 0x08004634 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxFifoFillLevel) - [Anonymous Symbol] 0x08004688 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxMessage) - [Anonymous Symbol] 0x0800489c Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_GetTxMailboxesFreeLevel) - [Anonymous Symbol] 0x0800490c Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_IRQHandler) - [Anonymous Symbol] 0x08004d00 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_Init) - [Anonymous Symbol] 0x08004ee0 Section 0 can.o(.text.HAL_CAN_MspInit) - [Anonymous Symbol] 0x080050b0 Section 0 can_1.o(.text.HAL_CAN_RxFifo0FullCallback) - [Anonymous Symbol] 0x08005100 Section 0 can_1.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) - [Anonymous Symbol] 0x08005150 Section 0 can_1.o(.text.HAL_CAN_RxFifo1FullCallback) - [Anonymous Symbol] 0x080051a0 Section 0 can_1.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) - [Anonymous Symbol] 0x080051f0 Section 0 can_1.o(.text.HAL_CAN_SleepCallback) - [Anonymous Symbol] 0x08005240 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_Start) - [Anonymous Symbol] 0x080052cc Section 0 can_1.o(.text.HAL_CAN_TxMailbox0AbortCallback) - [Anonymous Symbol] 0x0800531c Section 0 can_1.o(.text.HAL_CAN_TxMailbox0CompleteCallback) - [Anonymous Symbol] 0x08005368 Section 0 can_1.o(.text.HAL_CAN_TxMailbox1AbortCallback) - [Anonymous Symbol] 0x080053b8 Section 0 can_1.o(.text.HAL_CAN_TxMailbox1CompleteCallback) - [Anonymous Symbol] 0x08005408 Section 0 can_1.o(.text.HAL_CAN_TxMailbox2AbortCallback) - [Anonymous Symbol] 0x08005458 Section 0 can_1.o(.text.HAL_CAN_TxMailbox2CompleteCallback) - [Anonymous Symbol] 0x080054a8 Section 0 can_1.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) - [Anonymous Symbol] 0x080054f8 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort) - [Anonymous Symbol] 0x080055e4 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort_IT) - [Anonymous Symbol] 0x08005628 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_GetState) - [Anonymous Symbol] 0x08005638 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_IRQHandler) - [Anonymous Symbol] 0x08005958 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_Init) - [Anonymous Symbol] 0x08005ac8 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_Start_IT) - [Anonymous Symbol] 0x08005b8c Section 0 stm32f4xx_hal.o(.text.HAL_Delay) - [Anonymous Symbol] 0x08005bd0 Section 0 gpio_1.o(.text.HAL_GPIO_EXTI_Callback) - [Anonymous Symbol] 0x08005c38 Section 0 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_EXTI_IRQHandler) - [Anonymous Symbol] 0x08005c70 Section 0 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_Init) - [Anonymous Symbol] 0x08006028 Section 0 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_ReadPin) - [Anonymous Symbol] 0x08006058 Section 0 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_WritePin) - [Anonymous Symbol] 0x08006088 Section 0 stm32f4xx_hal.o(.text.HAL_GetTick) - [Anonymous Symbol] 0x08006094 Section 0 i2c_1.o(.text.HAL_I2C_AbortCpltCallback) - [Anonymous Symbol] 0x080060e8 Section 0 stm32f4xx_hal_i2c.o(.text.HAL_I2C_AddrCallback) - [Anonymous Symbol] 0x080060f8 Section 0 stm32f4xx_hal_i2c.o(.text.HAL_I2C_ER_IRQHandler) - [Anonymous Symbol] 0x08006274 Section 0 stm32f4xx_hal_i2c.o(.text.HAL_I2C_EV_IRQHandler) - [Anonymous Symbol] 0x08006640 Section 0 i2c_1.o(.text.HAL_I2C_ErrorCallback) - [Anonymous Symbol] 0x08006694 Section 0 stm32f4xx_hal_i2c.o(.text.HAL_I2C_Init) - [Anonymous Symbol] 0x08006938 Section 0 i2c_1.o(.text.HAL_I2C_ListenCpltCallback) - [Anonymous Symbol] 0x0800698c Section 0 i2c_1.o(.text.HAL_I2C_MasterRxCpltCallback) - [Anonymous Symbol] 0x080069e0 Section 0 i2c_1.o(.text.HAL_I2C_MasterTxCpltCallback) - [Anonymous Symbol] 0x08006a30 Section 0 i2c_1.o(.text.HAL_I2C_MemRxCpltCallback) - [Anonymous Symbol] 0x08006a84 Section 0 i2c_1.o(.text.HAL_I2C_MemTxCpltCallback) - [Anonymous Symbol] 0x08006ad8 Section 0 i2c.o(.text.HAL_I2C_MspInit) - [Anonymous Symbol] 0x08006c0c Section 0 i2c_1.o(.text.HAL_I2C_SlaveRxCpltCallback) - [Anonymous Symbol] 0x08006c60 Section 0 i2c_1.o(.text.HAL_I2C_SlaveTxCpltCallback) - [Anonymous Symbol] 0x08006cb4 Section 0 stm32f4xx_hal.o(.text.HAL_IncTick) - [Anonymous Symbol] 0x08006cd0 Section 0 stm32f4xx_hal.o(.text.HAL_Init) - [Anonymous Symbol] 0x08006d08 Section 0 stm32f4xx_hal.o(.text.HAL_InitTick) - [Anonymous Symbol] 0x08006d78 Section 0 stm32f4xx_hal_msp.o(.text.HAL_MspInit) - [Anonymous Symbol] 0x08006dd0 Section 0 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_DisableIRQ) - [Anonymous Symbol] 0x08006de4 Section 0 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ) - [Anonymous Symbol] 0x08006df8 Section 0 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriority) - [Anonymous Symbol] 0x08006e2c Section 0 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping) - [Anonymous Symbol] 0x08006e3c Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_ClockConfig) - [Anonymous Symbol] 0x080070a0 Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq) - [Anonymous Symbol] 0x080070ac Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK1Freq) - [Anonymous Symbol] 0x080070d0 Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq) - [Anonymous Symbol] 0x080070f4 Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq) - [Anonymous Symbol] 0x080071dc Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_OscConfig) - [Anonymous Symbol] 0x0800789c Section 0 spi_1.o(.text.HAL_SPI_ErrorCallback) - [Anonymous Symbol] 0x080078f0 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Init) - [Anonymous Symbol] 0x080079f0 Section 0 spi.o(.text.HAL_SPI_MspInit) - [Anonymous Symbol] 0x08007c00 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Receive) - [Anonymous Symbol] 0x08007e50 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Receive_DMA) - [Anonymous Symbol] 0x08007fe8 Section 0 spi_1.o(.text.HAL_SPI_RxCpltCallback) - [Anonymous Symbol] 0x0800803c Section 0 spi_1.o(.text.HAL_SPI_RxHalfCpltCallback) - [Anonymous Symbol] 0x08008090 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Transmit) - [Anonymous Symbol] 0x08008334 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_TransmitReceive) - [Anonymous Symbol] 0x080086d8 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_TransmitReceive_DMA) - [Anonymous Symbol] 0x080088ec Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Transmit_DMA) - [Anonymous Symbol] 0x08008a58 Section 0 spi_1.o(.text.HAL_SPI_TxCpltCallback) - [Anonymous Symbol] 0x08008aa0 Section 0 spi_1.o(.text.HAL_SPI_TxHalfCpltCallback) - [Anonymous Symbol] 0x08008af4 Section 0 spi_1.o(.text.HAL_SPI_TxRxCpltCallback) - [Anonymous Symbol] 0x08008b48 Section 0 spi_1.o(.text.HAL_SPI_TxRxHalfCpltCallback) - [Anonymous Symbol] 0x08008b9c Section 0 stm32f4xx_hal_cortex.o(.text.HAL_SYSTICK_Config) - [Anonymous Symbol] 0x08008bac Section 0 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback) - [Anonymous Symbol] 0x08008bb4 Section 0 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) - [Anonymous Symbol] 0x08008bbc Section 0 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization) - [Anonymous Symbol] 0x08008ce0 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_Base_Init) - [Anonymous Symbol] 0x08008d7c Section 0 tim.o(.text.HAL_TIM_Base_MspInit) - [Anonymous Symbol] 0x08008e08 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) - [Anonymous Symbol] 0x08008e10 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_IRQHandler) - [Anonymous Symbol] 0x0800902c Section 0 tim.o(.text.HAL_TIM_MspPostInit) - [Anonymous Symbol] 0x08009098 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) - [Anonymous Symbol] 0x080090a0 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_ConfigChannel) - [Anonymous Symbol] 0x080091e4 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Init) - [Anonymous Symbol] 0x08009280 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit) - [Anonymous Symbol] 0x08009288 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) - [Anonymous Symbol] 0x08009290 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Start) - [Anonymous Symbol] 0x0800945c Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) - [Anonymous Symbol] 0x08009464 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) - [Anonymous Symbol] 0x0800946c Section 0 stm32f4xx_hal_uart.o(.text.HAL_UARTEx_RxEventCallback) - [Anonymous Symbol] 0x08009478 Section 0 uart.o(.text.HAL_UART_ErrorCallback) - [Anonymous Symbol] 0x080094cc Section 0 stm32f4xx_hal_uart.o(.text.HAL_UART_IRQHandler) - [Anonymous Symbol] 0x08009928 Section 0 stm32f4xx_hal_uart.o(.text.HAL_UART_Init) - [Anonymous Symbol] 0x080099c8 Section 0 usart.o(.text.HAL_UART_MspInit) - [Anonymous Symbol] 0x08009b94 Section 0 uart.o(.text.HAL_UART_RxCpltCallback) - [Anonymous Symbol] 0x08009be8 Section 0 uart.o(.text.HAL_UART_TxCpltCallback) - [Anonymous Symbol] 0x08009c3c Section 0 stm32f4xx_it.o(.text.HardFault_Handler) - [Anonymous Symbol] 0x08009c40 Section 0 stm32f4xx_it.o(.text.I2C1_ER_IRQHandler) - [Anonymous Symbol] 0x08009c50 Section 0 stm32f4xx_it.o(.text.I2C1_EV_IRQHandler) - I2C_ConvertOtherXferOptions 0x08009c61 Thumb Code 52 stm32f4xx_hal_i2c.o(.text.I2C_ConvertOtherXferOptions) - [Anonymous Symbol] 0x08009c60 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_ConvertOtherXferOptions) - I2C_DMAAbort 0x08009c95 Thumb Code 342 stm32f4xx_hal_i2c.o(.text.I2C_DMAAbort) - [Anonymous Symbol] 0x08009c94 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_DMAAbort) - I2C_Flush_DR 0x08009ded Thumb Code 36 stm32f4xx_hal_i2c.o(.text.I2C_Flush_DR) - [Anonymous Symbol] 0x08009dec Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Flush_DR) - I2C_Get 0x08009e11 Thumb Code 72 i2c_1.o(.text.I2C_Get) - [Anonymous Symbol] 0x08009e10 Section 0 i2c_1.o(.text.I2C_Get) - I2C_ITError 0x08009e59 Thumb Code 634 stm32f4xx_hal_i2c.o(.text.I2C_ITError) - [Anonymous Symbol] 0x08009e58 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_ITError) - I2C_MasterReceive_BTF 0x0800a0d5 Thumb Code 428 stm32f4xx_hal_i2c.o(.text.I2C_MasterReceive_BTF) - [Anonymous Symbol] 0x0800a0d4 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MasterReceive_BTF) - I2C_MasterReceive_RXNE 0x0800a281 Thumb Code 362 stm32f4xx_hal_i2c.o(.text.I2C_MasterReceive_RXNE) - [Anonymous Symbol] 0x0800a280 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MasterReceive_RXNE) - I2C_MasterTransmit_BTF 0x0800a3ed Thumb Code 222 stm32f4xx_hal_i2c.o(.text.I2C_MasterTransmit_BTF) - [Anonymous Symbol] 0x0800a3ec Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MasterTransmit_BTF) - I2C_MasterTransmit_TXE 0x0800a4cd Thumb Code 318 stm32f4xx_hal_i2c.o(.text.I2C_MasterTransmit_TXE) - [Anonymous Symbol] 0x0800a4cc Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MasterTransmit_TXE) - I2C_Master_ADD10 0x0800a60d Thumb Code 70 stm32f4xx_hal_i2c.o(.text.I2C_Master_ADD10) - [Anonymous Symbol] 0x0800a60c Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Master_ADD10) - I2C_Master_ADDR 0x0800a655 Thumb Code 830 stm32f4xx_hal_i2c.o(.text.I2C_Master_ADDR) - [Anonymous Symbol] 0x0800a654 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Master_ADDR) - I2C_Master_SB 0x0800a995 Thumb Code 240 stm32f4xx_hal_i2c.o(.text.I2C_Master_SB) - [Anonymous Symbol] 0x0800a994 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Master_SB) - I2C_MemoryTransmit_TXE_BTF 0x0800aa85 Thumb Code 296 stm32f4xx_hal_i2c.o(.text.I2C_MemoryTransmit_TXE_BTF) - [Anonymous Symbol] 0x0800aa84 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MemoryTransmit_TXE_BTF) - I2C_SlaveReceive_BTF 0x0800abad Thumb Code 46 stm32f4xx_hal_i2c.o(.text.I2C_SlaveReceive_BTF) - [Anonymous Symbol] 0x0800abac Section 0 stm32f4xx_hal_i2c.o(.text.I2C_SlaveReceive_BTF) - I2C_SlaveReceive_RXNE 0x0800abdd Thumb Code 110 stm32f4xx_hal_i2c.o(.text.I2C_SlaveReceive_RXNE) - [Anonymous Symbol] 0x0800abdc Section 0 stm32f4xx_hal_i2c.o(.text.I2C_SlaveReceive_RXNE) - I2C_SlaveTransmit_BTF 0x0800ac4d Thumb Code 44 stm32f4xx_hal_i2c.o(.text.I2C_SlaveTransmit_BTF) - [Anonymous Symbol] 0x0800ac4c Section 0 stm32f4xx_hal_i2c.o(.text.I2C_SlaveTransmit_BTF) - I2C_SlaveTransmit_TXE 0x0800ac79 Thumb Code 108 stm32f4xx_hal_i2c.o(.text.I2C_SlaveTransmit_TXE) - [Anonymous Symbol] 0x0800ac78 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_SlaveTransmit_TXE) - I2C_Slave_ADDR 0x0800ace5 Thumb Code 174 stm32f4xx_hal_i2c.o(.text.I2C_Slave_ADDR) - [Anonymous Symbol] 0x0800ace4 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Slave_ADDR) - I2C_Slave_AF 0x0800ad95 Thumb Code 228 stm32f4xx_hal_i2c.o(.text.I2C_Slave_AF) - [Anonymous Symbol] 0x0800ad94 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Slave_AF) - I2C_Slave_STOPF 0x0800ae79 Thumb Code 586 stm32f4xx_hal_i2c.o(.text.I2C_Slave_STOPF) - [Anonymous Symbol] 0x0800ae78 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Slave_STOPF) - I2C_WaitOnSTOPRequestThroughIT 0x0800b0c5 Thumb Code 120 stm32f4xx_hal_i2c.o(.text.I2C_WaitOnSTOPRequestThroughIT) - [Anonymous Symbol] 0x0800b0c4 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_WaitOnSTOPRequestThroughIT) - [Anonymous Symbol] 0x0800b13c Section 0 user_math.o(.text.InvSqrt) - [Anonymous Symbol] 0x0800b1b4 Section 0 filter.o(.text.LowPassFilter2p_Apply) - [Anonymous Symbol] 0x0800b26c Section 0 filter.o(.text.LowPassFilter2p_Init) - [Anonymous Symbol] 0x0800b3a8 Section 0 filter.o(.text.LowPassFilter2p_Reset) - MOTOR_DM_CreateCANManager 0x0800b43d Thumb Code 150 motor_dm.o(.text.MOTOR_DM_CreateCANManager) - [Anonymous Symbol] 0x0800b43c Section 0 motor_dm.o(.text.MOTOR_DM_CreateCANManager) - [Anonymous Symbol] 0x0800b4d4 Section 0 motor_dm.o(.text.MOTOR_DM_Enable) - MOTOR_DM_GetCANManager 0x0800b551 Thumb Code 48 motor_dm.o(.text.MOTOR_DM_GetCANManager) - [Anonymous Symbol] 0x0800b550 Section 0 motor_dm.o(.text.MOTOR_DM_GetCANManager) - [Anonymous Symbol] 0x0800b580 Section 0 motor_dm.o(.text.MOTOR_DM_GetMotor) - [Anonymous Symbol] 0x0800b608 Section 0 motor_dm.o(.text.MOTOR_DM_MITCtrl) - MOTOR_DM_ParseFeedbackFrame 0x0800b651 Thumb Code 344 motor_dm.o(.text.MOTOR_DM_ParseFeedbackFrame) - [Anonymous Symbol] 0x0800b650 Section 0 motor_dm.o(.text.MOTOR_DM_ParseFeedbackFrame) - [Anonymous Symbol] 0x0800b7a8 Section 0 motor_dm.o(.text.MOTOR_DM_Register) - MOTOR_DM_SendMITCmd 0x0800b8d5 Thumb Code 324 motor_dm.o(.text.MOTOR_DM_SendMITCmd) - [Anonymous Symbol] 0x0800b8d4 Section 0 motor_dm.o(.text.MOTOR_DM_SendMITCmd) - [Anonymous Symbol] 0x0800ba18 Section 0 motor_dm.o(.text.MOTOR_DM_Update) - MOTOR_RM_CreateCANManager 0x0800bb25 Thumb Code 150 motor_rm.o(.text.MOTOR_RM_CreateCANManager) - [Anonymous Symbol] 0x0800bb24 Section 0 motor_rm.o(.text.MOTOR_RM_CreateCANManager) - [Anonymous Symbol] 0x0800bbbc Section 0 motor_rm.o(.text.MOTOR_RM_Ctrl) - MOTOR_RM_GetCANManager 0x0800bd2d Thumb Code 48 motor_rm.o(.text.MOTOR_RM_GetCANManager) - [Anonymous Symbol] 0x0800bd2c Section 0 motor_rm.o(.text.MOTOR_RM_GetCANManager) - MOTOR_RM_GetLSB 0x0800bd5d Thumb Code 82 motor_rm.o(.text.MOTOR_RM_GetLSB) - [Anonymous Symbol] 0x0800bd5c Section 0 motor_rm.o(.text.MOTOR_RM_GetLSB) - MOTOR_RM_GetLogicalIndex 0x0800bdb1 Thumb Code 128 motor_rm.o(.text.MOTOR_RM_GetLogicalIndex) - [Anonymous Symbol] 0x0800bdb0 Section 0 motor_rm.o(.text.MOTOR_RM_GetLogicalIndex) - [Anonymous Symbol] 0x0800be30 Section 0 motor_rm.o(.text.MOTOR_RM_GetMotor) - MOTOR_RM_GetRatio 0x0800bea9 Thumb Code 80 motor_rm.o(.text.MOTOR_RM_GetRatio) - [Anonymous Symbol] 0x0800bea8 Section 0 motor_rm.o(.text.MOTOR_RM_GetRatio) - [Anonymous Symbol] 0x0800bef8 Section 0 motor_rm.o(.text.MOTOR_RM_Register) - [Anonymous Symbol] 0x0800c018 Section 0 motor_rm.o(.text.MOTOR_RM_SetOutput) - [Anonymous Symbol] 0x0800c134 Section 0 motor_rm.o(.text.MOTOR_RM_Update) - [Anonymous Symbol] 0x0800c238 Section 0 can.o(.text.MX_CAN1_Init) - [Anonymous Symbol] 0x0800c288 Section 0 can.o(.text.MX_CAN2_Init) - [Anonymous Symbol] 0x0800c2d8 Section 0 dma.o(.text.MX_DMA_Init) - [Anonymous Symbol] 0x0800c360 Section 0 freertos.o(.text.MX_FREERTOS_Init) - [Anonymous Symbol] 0x0800c3a0 Section 0 gpio.o(.text.MX_GPIO_Init) - [Anonymous Symbol] 0x0800c5cc Section 0 i2c.o(.text.MX_I2C1_Init) - [Anonymous Symbol] 0x0800c614 Section 0 i2c.o(.text.MX_I2C2_Init) - [Anonymous Symbol] 0x0800c65c Section 0 spi.o(.text.MX_SPI1_Init) - [Anonymous Symbol] 0x0800c6b0 Section 0 spi.o(.text.MX_SPI2_Init) - [Anonymous Symbol] 0x0800c704 Section 0 tim.o(.text.MX_TIM10_Init) - [Anonymous Symbol] 0x0800c794 Section 0 tim.o(.text.MX_TIM7_Init) - [Anonymous Symbol] 0x0800c7ec Section 0 usart.o(.text.MX_USART1_UART_Init) - [Anonymous Symbol] 0x0800c82c Section 0 usart.o(.text.MX_USART3_UART_Init) - [Anonymous Symbol] 0x0800c878 Section 0 stm32f4xx_it.o(.text.MemManage_Handler) - Motor_RM_Decode 0x0800c87d Thumb Code 540 motor_rm.o(.text.Motor_RM_Decode) - [Anonymous Symbol] 0x0800c87c Section 0 motor_rm.o(.text.Motor_RM_Decode) - [Anonymous Symbol] 0x0800ca98 Section 0 stm32f4xx_it.o(.text.NMI_Handler) - NVIC_EncodePriority 0x0800ca9d Thumb Code 108 stm32f4xx_hal_cortex.o(.text.NVIC_EncodePriority) - [Anonymous Symbol] 0x0800ca9c Section 0 stm32f4xx_hal_cortex.o(.text.NVIC_EncodePriority) - [Anonymous Symbol] 0x0800cb08 Section 0 pid.o(.text.PID_Calc) - [Anonymous Symbol] 0x0800cdf8 Section 0 pid.o(.text.PID_Init) - [Anonymous Symbol] 0x0800cf90 Section 0 pid.o(.text.PID_Reset) + !!dczerorl 0x080001c4 Section 58 __dczerorl.o(!!dczerorl) + !!handler_zi 0x08000200 Section 28 __scatter_zi.o(!!handler_zi) + .ARM.Collect$$libinit$$00000000 0x0800021c Section 2 libinit.o(.ARM.Collect$$libinit$$00000000) + .ARM.Collect$$libinit$$00000001 0x0800021e Section 4 libinit2.o(.ARM.Collect$$libinit$$00000001) + .ARM.Collect$$libinit$$00000004 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000004) + .ARM.Collect$$libinit$$0000000A 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000A) + .ARM.Collect$$libinit$$0000000C 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000C) + .ARM.Collect$$libinit$$0000000E 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000E) + .ARM.Collect$$libinit$$00000011 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000011) + .ARM.Collect$$libinit$$00000013 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000013) + .ARM.Collect$$libinit$$00000015 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000015) + .ARM.Collect$$libinit$$00000017 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000017) + .ARM.Collect$$libinit$$00000019 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000019) + .ARM.Collect$$libinit$$0000001B 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001B) + .ARM.Collect$$libinit$$0000001D 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001D) + .ARM.Collect$$libinit$$0000001F 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001F) + .ARM.Collect$$libinit$$00000021 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000021) + .ARM.Collect$$libinit$$00000023 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000023) + .ARM.Collect$$libinit$$00000025 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000025) + .ARM.Collect$$libinit$$0000002C 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000002C) + .ARM.Collect$$libinit$$0000002E 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000002E) + .ARM.Collect$$libinit$$00000030 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000030) + .ARM.Collect$$libinit$$00000032 0x08000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000032) + .ARM.Collect$$libinit$$00000033 0x08000222 Section 2 libinit2.o(.ARM.Collect$$libinit$$00000033) + .ARM.Collect$$libshutdown$$00000000 0x08000224 Section 2 libshutdown.o(.ARM.Collect$$libshutdown$$00000000) + .ARM.Collect$$libshutdown$$00000002 0x08000226 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000002) + .ARM.Collect$$libshutdown$$00000004 0x08000226 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000004) + .ARM.Collect$$libshutdown$$00000007 0x08000226 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000007) + .ARM.Collect$$libshutdown$$0000000A 0x08000226 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A) + .ARM.Collect$$libshutdown$$0000000C 0x08000226 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C) + .ARM.Collect$$libshutdown$$0000000F 0x08000226 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F) + .ARM.Collect$$libshutdown$$00000010 0x08000226 Section 2 libshutdown2.o(.ARM.Collect$$libshutdown$$00000010) + .ARM.Collect$$rtentry$$00000000 0x08000228 Section 0 __rtentry.o(.ARM.Collect$$rtentry$$00000000) + .ARM.Collect$$rtentry$$00000002 0x08000228 Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000002) + .ARM.Collect$$rtentry$$00000004 0x08000228 Section 6 __rtentry4.o(.ARM.Collect$$rtentry$$00000004) + .ARM.Collect$$rtentry$$00000009 0x0800022e Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000009) + .ARM.Collect$$rtentry$$0000000A 0x0800022e Section 4 __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) + .ARM.Collect$$rtentry$$0000000C 0x08000232 Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000C) + .ARM.Collect$$rtentry$$0000000D 0x08000232 Section 8 __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) + .ARM.Collect$$rtexit$$00000000 0x0800023a Section 2 rtexit.o(.ARM.Collect$$rtexit$$00000000) + .ARM.Collect$$rtexit$$00000002 0x0800023c Section 0 rtexit2.o(.ARM.Collect$$rtexit$$00000002) + .ARM.Collect$$rtexit$$00000003 0x0800023c Section 4 rtexit2.o(.ARM.Collect$$rtexit$$00000003) + .ARM.Collect$$rtexit$$00000004 0x08000240 Section 6 rtexit2.o(.ARM.Collect$$rtexit$$00000004) + $v0 0x08000248 Number 0 startup_stm32f407xx.o(.text) + .text 0x08000248 Section 64 startup_stm32f407xx.o(.text) + .text 0x08000288 Section 240 lludivv7m.o(.text) + .text 0x08000378 Section 138 rt_memcpy_v6.o(.text) + .text 0x08000402 Section 16 aeabi_memset4.o(.text) + .text 0x08000412 Section 78 rt_memclr_w.o(.text) + .text 0x08000460 Section 0 heapauxi.o(.text) + .text 0x08000466 Section 0 _rserrno.o(.text) + .text 0x0800047c Section 100 rt_memcpy_w.o(.text) + .text 0x080004e0 Section 8 rt_errno_addr_intlibspace.o(.text) + .text 0x080004e8 Section 8 libspace.o(.text) + .text 0x080004f0 Section 74 sys_stackheap_outer.o(.text) + .text 0x0800053a Section 0 exit.o(.text) + .text 0x0800054c Section 0 sys_exit.o(.text) + .text 0x08000558 Section 2 use_no_semi.o(.text) + .text 0x0800055a Section 0 indicate_semi.o(.text) + [Anonymous Symbol] 0x0800055c Section 0 ahrs.o(.text.AHRS_GetEulr) + [Anonymous Symbol] 0x080006b8 Section 0 ahrs.o(.text.AHRS_Init) + [Anonymous Symbol] 0x0800093c Section 0 ahrs.o(.text.AHRS_ResetEulr) + [Anonymous Symbol] 0x08000950 Section 0 ahrs.o(.text.AHRS_Update) + AHRS_UpdateIMU 0x0800156d Thumb Code 1480 ahrs.o(.text.AHRS_UpdateIMU) + [Anonymous Symbol] 0x0800156c Section 0 ahrs.o(.text.AHRS_UpdateIMU) + [Anonymous Symbol] 0x08001b34 Section 0 user_math.o(.text.AbsClip) + BMI088_AcclIntCallback 0x08001ba1 Thumb Code 20 bmi088.o(.text.BMI088_AcclIntCallback) + [Anonymous Symbol] 0x08001ba0 Section 0 bmi088.o(.text.BMI088_AcclIntCallback) + [Anonymous Symbol] 0x08001bb4 Section 0 bmi088.o(.text.BMI088_AcclStartDmaRecv) + [Anonymous Symbol] 0x08001bd4 Section 0 bmi088.o(.text.BMI088_AcclWaitDmaCplt) + [Anonymous Symbol] 0x08001be4 Section 0 bmi088.o(.text.BMI088_GetUpdateFreq) + BMI088_GyroIntCallback 0x08001bf5 Thumb Code 20 bmi088.o(.text.BMI088_GyroIntCallback) + [Anonymous Symbol] 0x08001bf4 Section 0 bmi088.o(.text.BMI088_GyroIntCallback) + [Anonymous Symbol] 0x08001c08 Section 0 bmi088.o(.text.BMI088_GyroStartDmaRecv) + [Anonymous Symbol] 0x08001c24 Section 0 bmi088.o(.text.BMI088_GyroWaitDmaCplt) + [Anonymous Symbol] 0x08001c34 Section 0 bmi088.o(.text.BMI088_Init) + [Anonymous Symbol] 0x08001dbc Section 0 bmi088.o(.text.BMI088_ParseAccl) + [Anonymous Symbol] 0x08001eb0 Section 0 bmi088.o(.text.BMI088_ParseGyro) + BMI088_RxCpltCallback 0x08001fc9 Thumb Code 84 bmi088.o(.text.BMI088_RxCpltCallback) + [Anonymous Symbol] 0x08001fc8 Section 0 bmi088.o(.text.BMI088_RxCpltCallback) + [Anonymous Symbol] 0x0800201c Section 0 bmi088.o(.text.BMI088_WaitNew) + BMI_Read 0x0800202d Thumb Code 118 bmi088.o(.text.BMI_Read) + [Anonymous Symbol] 0x0800202c Section 0 bmi088.o(.text.BMI_Read) + BMI_ReadSingle 0x080020a5 Thumb Code 178 bmi088.o(.text.BMI_ReadSingle) + [Anonymous Symbol] 0x080020a4 Section 0 bmi088.o(.text.BMI_ReadSingle) + BMI_WriteSingle 0x08002159 Thumb Code 148 bmi088.o(.text.BMI_WriteSingle) + [Anonymous Symbol] 0x08002158 Section 0 bmi088.o(.text.BMI_WriteSingle) + BSP_CAN_CreateIdQueue 0x080021ed Thumb Code 292 can_1.o(.text.BSP_CAN_CreateIdQueue) + [Anonymous Symbol] 0x080021ec Section 0 can_1.o(.text.BSP_CAN_CreateIdQueue) + BSP_CAN_DefaultIdParser 0x08002311 Thumb Code 14 can_1.o(.text.BSP_CAN_DefaultIdParser) + [Anonymous Symbol] 0x08002310 Section 0 can_1.o(.text.BSP_CAN_DefaultIdParser) + BSP_CAN_FindQueue 0x08002321 Thumb Code 82 can_1.o(.text.BSP_CAN_FindQueue) + [Anonymous Symbol] 0x08002320 Section 0 can_1.o(.text.BSP_CAN_FindQueue) + BSP_CAN_GetFrameType 0x08002375 Thumb Code 58 can_1.o(.text.BSP_CAN_GetFrameType) + [Anonymous Symbol] 0x08002374 Section 0 can_1.o(.text.BSP_CAN_GetFrameType) + [Anonymous Symbol] 0x080023b0 Section 0 can_1.o(.text.BSP_CAN_GetHandle) + [Anonymous Symbol] 0x08002400 Section 0 can_1.o(.text.BSP_CAN_GetMessage) + [Anonymous Symbol] 0x080024a0 Section 0 can_1.o(.text.BSP_CAN_Init) + [Anonymous Symbol] 0x08002614 Section 0 can_1.o(.text.BSP_CAN_ParseId) + [Anonymous Symbol] 0x08002658 Section 0 can_1.o(.text.BSP_CAN_RegisterCallback) + [Anonymous Symbol] 0x080026dc Section 0 can_1.o(.text.BSP_CAN_RegisterId) + BSP_CAN_RxFifo0Callback 0x08002721 Thumb Code 228 can_1.o(.text.BSP_CAN_RxFifo0Callback) + [Anonymous Symbol] 0x08002720 Section 0 can_1.o(.text.BSP_CAN_RxFifo0Callback) + BSP_CAN_RxFifo1Callback 0x08002805 Thumb Code 228 can_1.o(.text.BSP_CAN_RxFifo1Callback) + [Anonymous Symbol] 0x08002804 Section 0 can_1.o(.text.BSP_CAN_RxFifo1Callback) + [Anonymous Symbol] 0x080028e8 Section 0 can_1.o(.text.BSP_CAN_Transmit) + [Anonymous Symbol] 0x08002a60 Section 0 can_1.o(.text.BSP_CAN_TransmitStdDataFrame) + BSP_CAN_TxCompleteCallback 0x08002aa1 Thumb Code 120 can_1.o(.text.BSP_CAN_TxCompleteCallback) + [Anonymous Symbol] 0x08002aa0 Section 0 can_1.o(.text.BSP_CAN_TxCompleteCallback) + BSP_CAN_TxQueueInit 0x08002b19 Thumb Code 66 can_1.o(.text.BSP_CAN_TxQueueInit) + [Anonymous Symbol] 0x08002b18 Section 0 can_1.o(.text.BSP_CAN_TxQueueInit) + BSP_CAN_TxQueueIsEmpty 0x08002b5d Thumb Code 86 can_1.o(.text.BSP_CAN_TxQueueIsEmpty) + [Anonymous Symbol] 0x08002b5c Section 0 can_1.o(.text.BSP_CAN_TxQueueIsEmpty) + BSP_CAN_TxQueuePop 0x08002bb5 Thumb Code 172 can_1.o(.text.BSP_CAN_TxQueuePop) + [Anonymous Symbol] 0x08002bb4 Section 0 can_1.o(.text.BSP_CAN_TxQueuePop) + BSP_CAN_TxQueuePush 0x08002c61 Thumb Code 172 can_1.o(.text.BSP_CAN_TxQueuePush) + [Anonymous Symbol] 0x08002c60 Section 0 can_1.o(.text.BSP_CAN_TxQueuePush) + [Anonymous Symbol] 0x08002d0c Section 0 mm.o(.text.BSP_Free) + [Anonymous Symbol] 0x08002d1c Section 0 gpio_1.o(.text.BSP_GPIO_DisableIRQ) + [Anonymous Symbol] 0x08002d74 Section 0 gpio_1.o(.text.BSP_GPIO_EnableIRQ) + [Anonymous Symbol] 0x08002dcc Section 0 gpio_1.o(.text.BSP_GPIO_ReadPin) + [Anonymous Symbol] 0x08002e18 Section 0 gpio_1.o(.text.BSP_GPIO_RegisterCallback) + [Anonymous Symbol] 0x08002ea8 Section 0 gpio_1.o(.text.BSP_GPIO_WritePin) + [Anonymous Symbol] 0x08002ef8 Section 0 mm.o(.text.BSP_Malloc) + [Anonymous Symbol] 0x08002f08 Section 0 pwm.o(.text.BSP_PWM_SetComp) + [Anonymous Symbol] 0x08003048 Section 0 pwm.o(.text.BSP_PWM_Start) + [Anonymous Symbol] 0x0800308c Section 0 spi_1.o(.text.BSP_SPI_GetHandle) + [Anonymous Symbol] 0x080030b4 Section 0 spi_1.o(.text.BSP_SPI_Receive) + [Anonymous Symbol] 0x08003134 Section 0 spi_1.o(.text.BSP_SPI_RegisterCallback) + [Anonymous Symbol] 0x08003178 Section 0 spi_1.o(.text.BSP_SPI_Transmit) + [Anonymous Symbol] 0x080031f8 Section 0 time.o(.text.BSP_TIME_Delay_ms) + [Anonymous Symbol] 0x08003288 Section 0 time.o(.text.BSP_TIME_Get_us) + [Anonymous Symbol] 0x08003334 Section 0 uart.o(.text.BSP_UART_IRQHandler) + [Anonymous Symbol] 0x080033a0 Section 0 stm32f4xx_it.o(.text.BusFault_Handler) + [Anonymous Symbol] 0x080033a4 Section 0 stm32f4xx_it.o(.text.CAN1_RX0_IRQHandler) + [Anonymous Symbol] 0x080033b4 Section 0 stm32f4xx_it.o(.text.CAN1_RX1_IRQHandler) + [Anonymous Symbol] 0x080033c4 Section 0 stm32f4xx_it.o(.text.CAN1_TX_IRQHandler) + [Anonymous Symbol] 0x080033d4 Section 0 stm32f4xx_it.o(.text.CAN2_RX0_IRQHandler) + [Anonymous Symbol] 0x080033e4 Section 0 stm32f4xx_it.o(.text.CAN2_RX1_IRQHandler) + [Anonymous Symbol] 0x080033f4 Section 0 stm32f4xx_it.o(.text.CAN2_TX_IRQHandler) + CAN_Get 0x08003405 Thumb Code 86 can_1.o(.text.CAN_Get) + [Anonymous Symbol] 0x08003404 Section 0 can_1.o(.text.CAN_Get) + [Anonymous Symbol] 0x0800345c Section 0 user_math.o(.text.CircleAdd) + [Anonymous Symbol] 0x080034e0 Section 0 user_math.o(.text.CircleError) + [Anonymous Symbol] 0x0800357c Section 0 user_math.o(.text.Clip) + [Anonymous Symbol] 0x080035c8 Section 0 config.o(.text.Config_GetRobotParam) + [Anonymous Symbol] 0x080035d4 Section 0 stm32f4xx_it.o(.text.DMA1_Stream1_IRQHandler) + [Anonymous Symbol] 0x080035e8 Section 0 remote_control.o(.text.DMA1_Stream1_IRQHandler1) + [Anonymous Symbol] 0x08003640 Section 0 stm32f4xx_it.o(.text.DMA2_Stream2_IRQHandler) + [Anonymous Symbol] 0x08003650 Section 0 stm32f4xx_it.o(.text.DMA2_Stream3_IRQHandler) + DMA_CalcBaseAndBitshift 0x08003661 Thumb Code 86 stm32f4xx_hal_dma.o(.text.DMA_CalcBaseAndBitshift) + [Anonymous Symbol] 0x08003660 Section 0 stm32f4xx_hal_dma.o(.text.DMA_CalcBaseAndBitshift) + DMA_CheckFifoParam 0x080036b9 Thumb Code 240 stm32f4xx_hal_dma.o(.text.DMA_CheckFifoParam) + [Anonymous Symbol] 0x080036b8 Section 0 stm32f4xx_hal_dma.o(.text.DMA_CheckFifoParam) + DMA_SetConfig 0x080037a9 Thumb Code 80 stm32f4xx_hal_dma.o(.text.DMA_SetConfig) + [Anonymous Symbol] 0x080037a8 Section 0 stm32f4xx_hal_dma.o(.text.DMA_SetConfig) + [Anonymous Symbol] 0x080037f8 Section 0 stm32f4xx_it.o(.text.DebugMon_Handler) + [Anonymous Symbol] 0x080037fc Section 0 stm32f4xx_it.o(.text.EXTI0_IRQHandler) + [Anonymous Symbol] 0x08003808 Section 0 stm32f4xx_it.o(.text.EXTI3_IRQHandler) + [Anonymous Symbol] 0x08003814 Section 0 stm32f4xx_it.o(.text.EXTI4_IRQHandler) + [Anonymous Symbol] 0x08003820 Section 0 stm32f4xx_it.o(.text.EXTI9_5_IRQHandler) + [Anonymous Symbol] 0x0800382c Section 0 main.o(.text.Error_Handler) + [Anonymous Symbol] 0x08003834 Section 0 gimbal.o(.text.Gimbal_Control) + __arm_cp.3_6 0x08003bf8 Number 4 gimbal.o(.text.Gimbal_Control) + __arm_cp.3_9 0x08003c04 Number 4 gimbal.o(.text.Gimbal_Control) + [Anonymous Symbol] 0x08003d4c Section 0 gimbal.o(.text.Gimbal_Init) + [Anonymous Symbol] 0x08003f24 Section 0 gimbal.o(.text.Gimbal_Output) + Gimbal_SetMode 0x08004039 Thumb Code 180 gimbal.o(.text.Gimbal_SetMode) + [Anonymous Symbol] 0x08004038 Section 0 gimbal.o(.text.Gimbal_SetMode) + [Anonymous Symbol] 0x080040ec Section 0 gimbal.o(.text.Gimbal_UpdateFeedback) + [Anonymous Symbol] 0x08004254 Section 0 gimbal.o(.text.Gimbal_UpdateIMU) + [Anonymous Symbol] 0x080042a0 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_ActivateNotification) + [Anonymous Symbol] 0x080042f4 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_AddTxMessage) + [Anonymous Symbol] 0x0800444c Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_ConfigFilter) + [Anonymous Symbol] 0x080045ec Section 0 can_1.o(.text.HAL_CAN_ErrorCallback) + [Anonymous Symbol] 0x0800463c Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxFifoFillLevel) + [Anonymous Symbol] 0x08004690 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxMessage) + [Anonymous Symbol] 0x080048a4 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_GetTxMailboxesFreeLevel) + [Anonymous Symbol] 0x08004914 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_IRQHandler) + [Anonymous Symbol] 0x08004d08 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_Init) + [Anonymous Symbol] 0x08004ee8 Section 0 can.o(.text.HAL_CAN_MspInit) + [Anonymous Symbol] 0x080050b8 Section 0 can_1.o(.text.HAL_CAN_RxFifo0FullCallback) + [Anonymous Symbol] 0x08005108 Section 0 can_1.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) + [Anonymous Symbol] 0x08005158 Section 0 can_1.o(.text.HAL_CAN_RxFifo1FullCallback) + [Anonymous Symbol] 0x080051a8 Section 0 can_1.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) + [Anonymous Symbol] 0x080051f8 Section 0 can_1.o(.text.HAL_CAN_SleepCallback) + [Anonymous Symbol] 0x08005248 Section 0 stm32f4xx_hal_can.o(.text.HAL_CAN_Start) + [Anonymous Symbol] 0x080052d4 Section 0 can_1.o(.text.HAL_CAN_TxMailbox0AbortCallback) + [Anonymous Symbol] 0x08005324 Section 0 can_1.o(.text.HAL_CAN_TxMailbox0CompleteCallback) + [Anonymous Symbol] 0x08005370 Section 0 can_1.o(.text.HAL_CAN_TxMailbox1AbortCallback) + [Anonymous Symbol] 0x080053c0 Section 0 can_1.o(.text.HAL_CAN_TxMailbox1CompleteCallback) + [Anonymous Symbol] 0x08005410 Section 0 can_1.o(.text.HAL_CAN_TxMailbox2AbortCallback) + [Anonymous Symbol] 0x08005460 Section 0 can_1.o(.text.HAL_CAN_TxMailbox2CompleteCallback) + [Anonymous Symbol] 0x080054b0 Section 0 can_1.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) + [Anonymous Symbol] 0x08005500 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort) + [Anonymous Symbol] 0x080055ec Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort_IT) + [Anonymous Symbol] 0x08005630 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_GetState) + [Anonymous Symbol] 0x08005640 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_IRQHandler) + [Anonymous Symbol] 0x08005960 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_Init) + [Anonymous Symbol] 0x08005ad0 Section 0 stm32f4xx_hal_dma.o(.text.HAL_DMA_Start_IT) + [Anonymous Symbol] 0x08005b94 Section 0 stm32f4xx_hal.o(.text.HAL_Delay) + [Anonymous Symbol] 0x08005bd8 Section 0 gpio_1.o(.text.HAL_GPIO_EXTI_Callback) + [Anonymous Symbol] 0x08005c40 Section 0 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_EXTI_IRQHandler) + [Anonymous Symbol] 0x08005c78 Section 0 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_Init) + [Anonymous Symbol] 0x08006030 Section 0 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_ReadPin) + [Anonymous Symbol] 0x08006060 Section 0 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_WritePin) + [Anonymous Symbol] 0x08006090 Section 0 stm32f4xx_hal.o(.text.HAL_GetTick) + [Anonymous Symbol] 0x0800609c Section 0 i2c_1.o(.text.HAL_I2C_AbortCpltCallback) + [Anonymous Symbol] 0x080060f0 Section 0 stm32f4xx_hal_i2c.o(.text.HAL_I2C_AddrCallback) + [Anonymous Symbol] 0x08006100 Section 0 stm32f4xx_hal_i2c.o(.text.HAL_I2C_ER_IRQHandler) + [Anonymous Symbol] 0x0800627c Section 0 stm32f4xx_hal_i2c.o(.text.HAL_I2C_EV_IRQHandler) + [Anonymous Symbol] 0x08006648 Section 0 i2c_1.o(.text.HAL_I2C_ErrorCallback) + [Anonymous Symbol] 0x0800669c Section 0 stm32f4xx_hal_i2c.o(.text.HAL_I2C_Init) + [Anonymous Symbol] 0x08006940 Section 0 i2c_1.o(.text.HAL_I2C_ListenCpltCallback) + [Anonymous Symbol] 0x08006994 Section 0 i2c_1.o(.text.HAL_I2C_MasterRxCpltCallback) + [Anonymous Symbol] 0x080069e8 Section 0 i2c_1.o(.text.HAL_I2C_MasterTxCpltCallback) + [Anonymous Symbol] 0x08006a38 Section 0 i2c_1.o(.text.HAL_I2C_MemRxCpltCallback) + [Anonymous Symbol] 0x08006a8c Section 0 i2c_1.o(.text.HAL_I2C_MemTxCpltCallback) + [Anonymous Symbol] 0x08006ae0 Section 0 i2c.o(.text.HAL_I2C_MspInit) + [Anonymous Symbol] 0x08006c14 Section 0 i2c_1.o(.text.HAL_I2C_SlaveRxCpltCallback) + [Anonymous Symbol] 0x08006c68 Section 0 i2c_1.o(.text.HAL_I2C_SlaveTxCpltCallback) + [Anonymous Symbol] 0x08006cbc Section 0 stm32f4xx_hal.o(.text.HAL_IncTick) + [Anonymous Symbol] 0x08006cd8 Section 0 stm32f4xx_hal.o(.text.HAL_Init) + [Anonymous Symbol] 0x08006d10 Section 0 stm32f4xx_hal.o(.text.HAL_InitTick) + [Anonymous Symbol] 0x08006d80 Section 0 stm32f4xx_hal_msp.o(.text.HAL_MspInit) + [Anonymous Symbol] 0x08006dd8 Section 0 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_DisableIRQ) + [Anonymous Symbol] 0x08006dec Section 0 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ) + [Anonymous Symbol] 0x08006e00 Section 0 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriority) + [Anonymous Symbol] 0x08006e34 Section 0 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping) + [Anonymous Symbol] 0x08006e44 Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_ClockConfig) + [Anonymous Symbol] 0x080070a8 Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq) + [Anonymous Symbol] 0x080070b4 Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK1Freq) + [Anonymous Symbol] 0x080070d8 Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq) + [Anonymous Symbol] 0x080070fc Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq) + [Anonymous Symbol] 0x080071e4 Section 0 stm32f4xx_hal_rcc.o(.text.HAL_RCC_OscConfig) + [Anonymous Symbol] 0x080078a4 Section 0 spi_1.o(.text.HAL_SPI_ErrorCallback) + [Anonymous Symbol] 0x080078f8 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Init) + [Anonymous Symbol] 0x080079f8 Section 0 spi.o(.text.HAL_SPI_MspInit) + [Anonymous Symbol] 0x08007c08 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Receive) + [Anonymous Symbol] 0x08007e58 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Receive_DMA) + [Anonymous Symbol] 0x08007ff0 Section 0 spi_1.o(.text.HAL_SPI_RxCpltCallback) + [Anonymous Symbol] 0x08008044 Section 0 spi_1.o(.text.HAL_SPI_RxHalfCpltCallback) + [Anonymous Symbol] 0x08008098 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Transmit) + [Anonymous Symbol] 0x0800833c Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_TransmitReceive) + [Anonymous Symbol] 0x080086e0 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_TransmitReceive_DMA) + [Anonymous Symbol] 0x080088f4 Section 0 stm32f4xx_hal_spi.o(.text.HAL_SPI_Transmit_DMA) + [Anonymous Symbol] 0x08008a60 Section 0 spi_1.o(.text.HAL_SPI_TxCpltCallback) + [Anonymous Symbol] 0x08008aa8 Section 0 spi_1.o(.text.HAL_SPI_TxHalfCpltCallback) + [Anonymous Symbol] 0x08008afc Section 0 spi_1.o(.text.HAL_SPI_TxRxCpltCallback) + [Anonymous Symbol] 0x08008b50 Section 0 spi_1.o(.text.HAL_SPI_TxRxHalfCpltCallback) + [Anonymous Symbol] 0x08008ba4 Section 0 stm32f4xx_hal_cortex.o(.text.HAL_SYSTICK_Config) + [Anonymous Symbol] 0x08008bb4 Section 0 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback) + [Anonymous Symbol] 0x08008bbc Section 0 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) + [Anonymous Symbol] 0x08008bc4 Section 0 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization) + [Anonymous Symbol] 0x08008ce8 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_Base_Init) + [Anonymous Symbol] 0x08008d84 Section 0 tim.o(.text.HAL_TIM_Base_MspInit) + [Anonymous Symbol] 0x08008e10 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) + [Anonymous Symbol] 0x08008e18 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_IRQHandler) + [Anonymous Symbol] 0x08009034 Section 0 tim.o(.text.HAL_TIM_MspPostInit) + [Anonymous Symbol] 0x080090a0 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) + [Anonymous Symbol] 0x080090a8 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_ConfigChannel) + [Anonymous Symbol] 0x080091ec Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Init) + [Anonymous Symbol] 0x08009288 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit) + [Anonymous Symbol] 0x08009290 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) + [Anonymous Symbol] 0x08009298 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Start) + [Anonymous Symbol] 0x08009464 Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) + [Anonymous Symbol] 0x0800946c Section 0 stm32f4xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) + [Anonymous Symbol] 0x08009474 Section 0 stm32f4xx_hal_uart.o(.text.HAL_UARTEx_RxEventCallback) + [Anonymous Symbol] 0x08009480 Section 0 uart.o(.text.HAL_UART_ErrorCallback) + [Anonymous Symbol] 0x080094d4 Section 0 stm32f4xx_hal_uart.o(.text.HAL_UART_IRQHandler) + [Anonymous Symbol] 0x08009930 Section 0 stm32f4xx_hal_uart.o(.text.HAL_UART_Init) + [Anonymous Symbol] 0x080099d0 Section 0 usart.o(.text.HAL_UART_MspInit) + [Anonymous Symbol] 0x08009b9c Section 0 uart.o(.text.HAL_UART_RxCpltCallback) + [Anonymous Symbol] 0x08009bf0 Section 0 uart.o(.text.HAL_UART_TxCpltCallback) + [Anonymous Symbol] 0x08009c44 Section 0 stm32f4xx_it.o(.text.HardFault_Handler) + [Anonymous Symbol] 0x08009c48 Section 0 stm32f4xx_it.o(.text.I2C1_ER_IRQHandler) + [Anonymous Symbol] 0x08009c58 Section 0 stm32f4xx_it.o(.text.I2C1_EV_IRQHandler) + I2C_ConvertOtherXferOptions 0x08009c69 Thumb Code 52 stm32f4xx_hal_i2c.o(.text.I2C_ConvertOtherXferOptions) + [Anonymous Symbol] 0x08009c68 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_ConvertOtherXferOptions) + I2C_DMAAbort 0x08009c9d Thumb Code 342 stm32f4xx_hal_i2c.o(.text.I2C_DMAAbort) + [Anonymous Symbol] 0x08009c9c Section 0 stm32f4xx_hal_i2c.o(.text.I2C_DMAAbort) + I2C_Flush_DR 0x08009df5 Thumb Code 36 stm32f4xx_hal_i2c.o(.text.I2C_Flush_DR) + [Anonymous Symbol] 0x08009df4 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Flush_DR) + I2C_Get 0x08009e19 Thumb Code 72 i2c_1.o(.text.I2C_Get) + [Anonymous Symbol] 0x08009e18 Section 0 i2c_1.o(.text.I2C_Get) + I2C_ITError 0x08009e61 Thumb Code 634 stm32f4xx_hal_i2c.o(.text.I2C_ITError) + [Anonymous Symbol] 0x08009e60 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_ITError) + I2C_MasterReceive_BTF 0x0800a0dd Thumb Code 428 stm32f4xx_hal_i2c.o(.text.I2C_MasterReceive_BTF) + [Anonymous Symbol] 0x0800a0dc Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MasterReceive_BTF) + I2C_MasterReceive_RXNE 0x0800a289 Thumb Code 362 stm32f4xx_hal_i2c.o(.text.I2C_MasterReceive_RXNE) + [Anonymous Symbol] 0x0800a288 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MasterReceive_RXNE) + I2C_MasterTransmit_BTF 0x0800a3f5 Thumb Code 222 stm32f4xx_hal_i2c.o(.text.I2C_MasterTransmit_BTF) + [Anonymous Symbol] 0x0800a3f4 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MasterTransmit_BTF) + I2C_MasterTransmit_TXE 0x0800a4d5 Thumb Code 318 stm32f4xx_hal_i2c.o(.text.I2C_MasterTransmit_TXE) + [Anonymous Symbol] 0x0800a4d4 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MasterTransmit_TXE) + I2C_Master_ADD10 0x0800a615 Thumb Code 70 stm32f4xx_hal_i2c.o(.text.I2C_Master_ADD10) + [Anonymous Symbol] 0x0800a614 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Master_ADD10) + I2C_Master_ADDR 0x0800a65d Thumb Code 830 stm32f4xx_hal_i2c.o(.text.I2C_Master_ADDR) + [Anonymous Symbol] 0x0800a65c Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Master_ADDR) + I2C_Master_SB 0x0800a99d Thumb Code 240 stm32f4xx_hal_i2c.o(.text.I2C_Master_SB) + [Anonymous Symbol] 0x0800a99c Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Master_SB) + I2C_MemoryTransmit_TXE_BTF 0x0800aa8d Thumb Code 296 stm32f4xx_hal_i2c.o(.text.I2C_MemoryTransmit_TXE_BTF) + [Anonymous Symbol] 0x0800aa8c Section 0 stm32f4xx_hal_i2c.o(.text.I2C_MemoryTransmit_TXE_BTF) + I2C_SlaveReceive_BTF 0x0800abb5 Thumb Code 46 stm32f4xx_hal_i2c.o(.text.I2C_SlaveReceive_BTF) + [Anonymous Symbol] 0x0800abb4 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_SlaveReceive_BTF) + I2C_SlaveReceive_RXNE 0x0800abe5 Thumb Code 110 stm32f4xx_hal_i2c.o(.text.I2C_SlaveReceive_RXNE) + [Anonymous Symbol] 0x0800abe4 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_SlaveReceive_RXNE) + I2C_SlaveTransmit_BTF 0x0800ac55 Thumb Code 44 stm32f4xx_hal_i2c.o(.text.I2C_SlaveTransmit_BTF) + [Anonymous Symbol] 0x0800ac54 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_SlaveTransmit_BTF) + I2C_SlaveTransmit_TXE 0x0800ac81 Thumb Code 108 stm32f4xx_hal_i2c.o(.text.I2C_SlaveTransmit_TXE) + [Anonymous Symbol] 0x0800ac80 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_SlaveTransmit_TXE) + I2C_Slave_ADDR 0x0800aced Thumb Code 174 stm32f4xx_hal_i2c.o(.text.I2C_Slave_ADDR) + [Anonymous Symbol] 0x0800acec Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Slave_ADDR) + I2C_Slave_AF 0x0800ad9d Thumb Code 228 stm32f4xx_hal_i2c.o(.text.I2C_Slave_AF) + [Anonymous Symbol] 0x0800ad9c Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Slave_AF) + I2C_Slave_STOPF 0x0800ae81 Thumb Code 586 stm32f4xx_hal_i2c.o(.text.I2C_Slave_STOPF) + [Anonymous Symbol] 0x0800ae80 Section 0 stm32f4xx_hal_i2c.o(.text.I2C_Slave_STOPF) + I2C_WaitOnSTOPRequestThroughIT 0x0800b0cd Thumb Code 120 stm32f4xx_hal_i2c.o(.text.I2C_WaitOnSTOPRequestThroughIT) + [Anonymous Symbol] 0x0800b0cc Section 0 stm32f4xx_hal_i2c.o(.text.I2C_WaitOnSTOPRequestThroughIT) + [Anonymous Symbol] 0x0800b144 Section 0 user_math.o(.text.InvSqrt) + [Anonymous Symbol] 0x0800b1bc Section 0 filter.o(.text.LowPassFilter2p_Apply) + [Anonymous Symbol] 0x0800b274 Section 0 filter.o(.text.LowPassFilter2p_Init) + [Anonymous Symbol] 0x0800b3b0 Section 0 filter.o(.text.LowPassFilter2p_Reset) + MOTOR_DM_CreateCANManager 0x0800b445 Thumb Code 150 motor_dm.o(.text.MOTOR_DM_CreateCANManager) + [Anonymous Symbol] 0x0800b444 Section 0 motor_dm.o(.text.MOTOR_DM_CreateCANManager) + [Anonymous Symbol] 0x0800b4dc Section 0 motor_dm.o(.text.MOTOR_DM_Enable) + MOTOR_DM_GetCANManager 0x0800b559 Thumb Code 48 motor_dm.o(.text.MOTOR_DM_GetCANManager) + [Anonymous Symbol] 0x0800b558 Section 0 motor_dm.o(.text.MOTOR_DM_GetCANManager) + [Anonymous Symbol] 0x0800b588 Section 0 motor_dm.o(.text.MOTOR_DM_GetMotor) + [Anonymous Symbol] 0x0800b610 Section 0 motor_dm.o(.text.MOTOR_DM_MITCtrl) + MOTOR_DM_ParseFeedbackFrame 0x0800b659 Thumb Code 344 motor_dm.o(.text.MOTOR_DM_ParseFeedbackFrame) + [Anonymous Symbol] 0x0800b658 Section 0 motor_dm.o(.text.MOTOR_DM_ParseFeedbackFrame) + [Anonymous Symbol] 0x0800b7b0 Section 0 motor_dm.o(.text.MOTOR_DM_Register) + MOTOR_DM_SendMITCmd 0x0800b8dd Thumb Code 324 motor_dm.o(.text.MOTOR_DM_SendMITCmd) + [Anonymous Symbol] 0x0800b8dc Section 0 motor_dm.o(.text.MOTOR_DM_SendMITCmd) + [Anonymous Symbol] 0x0800ba20 Section 0 motor_dm.o(.text.MOTOR_DM_Update) + MOTOR_RM_CreateCANManager 0x0800bb2d Thumb Code 150 motor_rm.o(.text.MOTOR_RM_CreateCANManager) + [Anonymous Symbol] 0x0800bb2c Section 0 motor_rm.o(.text.MOTOR_RM_CreateCANManager) + [Anonymous Symbol] 0x0800bbc4 Section 0 motor_rm.o(.text.MOTOR_RM_Ctrl) + MOTOR_RM_GetCANManager 0x0800bd35 Thumb Code 48 motor_rm.o(.text.MOTOR_RM_GetCANManager) + [Anonymous Symbol] 0x0800bd34 Section 0 motor_rm.o(.text.MOTOR_RM_GetCANManager) + MOTOR_RM_GetLSB 0x0800bd65 Thumb Code 82 motor_rm.o(.text.MOTOR_RM_GetLSB) + [Anonymous Symbol] 0x0800bd64 Section 0 motor_rm.o(.text.MOTOR_RM_GetLSB) + MOTOR_RM_GetLogicalIndex 0x0800bdb9 Thumb Code 128 motor_rm.o(.text.MOTOR_RM_GetLogicalIndex) + [Anonymous Symbol] 0x0800bdb8 Section 0 motor_rm.o(.text.MOTOR_RM_GetLogicalIndex) + [Anonymous Symbol] 0x0800be38 Section 0 motor_rm.o(.text.MOTOR_RM_GetMotor) + MOTOR_RM_GetRatio 0x0800beb1 Thumb Code 80 motor_rm.o(.text.MOTOR_RM_GetRatio) + [Anonymous Symbol] 0x0800beb0 Section 0 motor_rm.o(.text.MOTOR_RM_GetRatio) + [Anonymous Symbol] 0x0800bf00 Section 0 motor_rm.o(.text.MOTOR_RM_Register) + [Anonymous Symbol] 0x0800c020 Section 0 motor_rm.o(.text.MOTOR_RM_SetOutput) + [Anonymous Symbol] 0x0800c13c Section 0 motor_rm.o(.text.MOTOR_RM_Update) + [Anonymous Symbol] 0x0800c240 Section 0 can.o(.text.MX_CAN1_Init) + [Anonymous Symbol] 0x0800c290 Section 0 can.o(.text.MX_CAN2_Init) + [Anonymous Symbol] 0x0800c2e0 Section 0 dma.o(.text.MX_DMA_Init) + [Anonymous Symbol] 0x0800c368 Section 0 freertos.o(.text.MX_FREERTOS_Init) + [Anonymous Symbol] 0x0800c3a8 Section 0 gpio.o(.text.MX_GPIO_Init) + [Anonymous Symbol] 0x0800c5d4 Section 0 i2c.o(.text.MX_I2C1_Init) + [Anonymous Symbol] 0x0800c61c Section 0 i2c.o(.text.MX_I2C2_Init) + [Anonymous Symbol] 0x0800c664 Section 0 spi.o(.text.MX_SPI1_Init) + [Anonymous Symbol] 0x0800c6b8 Section 0 spi.o(.text.MX_SPI2_Init) + [Anonymous Symbol] 0x0800c70c Section 0 tim.o(.text.MX_TIM10_Init) + [Anonymous Symbol] 0x0800c79c Section 0 tim.o(.text.MX_TIM7_Init) + [Anonymous Symbol] 0x0800c7f4 Section 0 usart.o(.text.MX_USART1_UART_Init) + [Anonymous Symbol] 0x0800c834 Section 0 usart.o(.text.MX_USART3_UART_Init) + [Anonymous Symbol] 0x0800c880 Section 0 stm32f4xx_it.o(.text.MemManage_Handler) + Motor_RM_Decode 0x0800c885 Thumb Code 540 motor_rm.o(.text.Motor_RM_Decode) + [Anonymous Symbol] 0x0800c884 Section 0 motor_rm.o(.text.Motor_RM_Decode) + [Anonymous Symbol] 0x0800caa0 Section 0 stm32f4xx_it.o(.text.NMI_Handler) + NVIC_EncodePriority 0x0800caa5 Thumb Code 108 stm32f4xx_hal_cortex.o(.text.NVIC_EncodePriority) + [Anonymous Symbol] 0x0800caa4 Section 0 stm32f4xx_hal_cortex.o(.text.NVIC_EncodePriority) + [Anonymous Symbol] 0x0800cb10 Section 0 pid.o(.text.PID_Calc) + [Anonymous Symbol] 0x0800ce00 Section 0 pid.o(.text.PID_Init) + [Anonymous Symbol] 0x0800cf98 Section 0 pid.o(.text.PID_Reset) [Anonymous Symbol] 0x0800cfe0 Section 0 port.o(.text.PendSV_Handler) pxCurrentTCBConst 0x0800d040 Number 0 port.o(.text.PendSV_Handler) [Anonymous Symbol] 0x0800d044 Section 0 bsp_rc.o(.text.RC_Init) @@ -7048,117 +7048,117 @@ Image Symbol Table [Anonymous Symbol] 0x200003dc Section 0 bsp_delay.o(.bss.fac_ms) fac_us 0x200003e0 Data 1 bsp_delay.o(.bss.fac_us) [Anonymous Symbol] 0x200003e0 Section 0 bsp_delay.o(.bss.fac_us) - id_parser 0x20000af0 Data 4 can_1.o(.bss.id_parser) - [Anonymous Symbol] 0x20000af0 Section 0 can_1.o(.bss.id_parser) - inited 0x20000b48 Data 1 can_1.o(.bss.inited) - [Anonymous Symbol] 0x20000b48 Section 0 can_1.o(.bss.inited) - inited 0x20000b49 Data 1 bmi088.o(.bss.inited) - [Anonymous Symbol] 0x20000b49 Section 0 bmi088.o(.bss.inited) - prvCheckForValidListAndQueue.ucStaticTimerQueueStorage 0x20000b58 Data 160 timers.o(.bss.prvCheckForValidListAndQueue.ucStaticTimerQueueStorage) - [Anonymous Symbol] 0x20000b58 Section 0 timers.o(.bss.prvCheckForValidListAndQueue.ucStaticTimerQueueStorage) - prvCheckForValidListAndQueue.xStaticTimerQueue 0x20000bf8 Data 80 timers.o(.bss.prvCheckForValidListAndQueue.xStaticTimerQueue) - [Anonymous Symbol] 0x20000bf8 Section 0 timers.o(.bss.prvCheckForValidListAndQueue.xStaticTimerQueue) - prvSampleTimeNow.xLastTime 0x20000c48 Data 4 timers.o(.bss.prvSampleTimeNow.xLastTime) - [Anonymous Symbol] 0x20000c48 Section 0 timers.o(.bss.prvSampleTimeNow.xLastTime) - pxCurrentTimerList 0x20000c50 Data 4 timers.o(.bss.pxCurrentTimerList) - [Anonymous Symbol] 0x20000c50 Section 0 timers.o(.bss.pxCurrentTimerList) - pxDelayedTaskList 0x20000c54 Data 4 tasks.o(.bss.pxDelayedTaskList) - [Anonymous Symbol] 0x20000c54 Section 0 tasks.o(.bss.pxDelayedTaskList) - pxEnd 0x20000c58 Data 4 heap_4.o(.bss.pxEnd) - [Anonymous Symbol] 0x20000c58 Section 0 heap_4.o(.bss.pxEnd) - pxOverflowDelayedTaskList 0x20000c5c Data 4 tasks.o(.bss.pxOverflowDelayedTaskList) - [Anonymous Symbol] 0x20000c5c Section 0 tasks.o(.bss.pxOverflowDelayedTaskList) - pxOverflowTimerList 0x20000c60 Data 4 timers.o(.bss.pxOverflowTimerList) - [Anonymous Symbol] 0x20000c60 Section 0 timers.o(.bss.pxOverflowTimerList) - pxReadyTasksLists 0x20000c64 Data 1120 tasks.o(.bss.pxReadyTasksLists) - [Anonymous Symbol] 0x20000c64 Section 0 tasks.o(.bss.pxReadyTasksLists) - queue_list 0x200010c4 Data 4 can_1.o(.bss.queue_list) - [Anonymous Symbol] 0x200010c4 Section 0 can_1.o(.bss.queue_list) - queue_mutex 0x200010c8 Data 4 can_1.o(.bss.queue_mutex) - [Anonymous Symbol] 0x200010c8 Section 0 can_1.o(.bss.queue_mutex) - sbus_rx_buf 0x200010f0 Data 25 remote_control.o(.bss.sbus_rx_buf) - [Anonymous Symbol] 0x200010f0 Section 0 remote_control.o(.bss.sbus_rx_buf) - thread_alert 0x2000115c Data 4 bmi088.o(.bss.thread_alert) - [Anonymous Symbol] 0x2000115c Section 0 bmi088.o(.bss.thread_alert) - tx_queues 0x20001160 Data 2064 can_1.o(.bss.tx_queues) - [Anonymous Symbol] 0x20001160 Section 0 can_1.o(.bss.tx_queues) - ucHeap 0x20001970 Data 24576 heap_4.o(.bss.ucHeap) - [Anonymous Symbol] 0x20001970 Section 0 heap_4.o(.bss.ucHeap) - ucMaxSysCallPriority 0x20007970 Data 1 port.o(.bss.ucMaxSysCallPriority) - [Anonymous Symbol] 0x20007970 Section 0 port.o(.bss.ucMaxSysCallPriority) - ulMaxPRIGROUPValue 0x20007974 Data 4 port.o(.bss.ulMaxPRIGROUPValue) - [Anonymous Symbol] 0x20007974 Section 0 port.o(.bss.ulMaxPRIGROUPValue) - ulTaskSwitchedInTime 0x20007978 Data 4 tasks.o(.bss.ulTaskSwitchedInTime) - [Anonymous Symbol] 0x20007978 Section 0 tasks.o(.bss.ulTaskSwitchedInTime) - ulTotalRunTime 0x2000797c Data 4 tasks.o(.bss.ulTotalRunTime) - [Anonymous Symbol] 0x2000797c Section 0 tasks.o(.bss.ulTotalRunTime) - uxCurrentNumberOfTasks 0x20007984 Data 4 tasks.o(.bss.uxCurrentNumberOfTasks) - [Anonymous Symbol] 0x20007984 Section 0 tasks.o(.bss.uxCurrentNumberOfTasks) - uxDeletedTasksWaitingCleanUp 0x20007988 Data 4 tasks.o(.bss.uxDeletedTasksWaitingCleanUp) - [Anonymous Symbol] 0x20007988 Section 0 tasks.o(.bss.uxDeletedTasksWaitingCleanUp) - uxSchedulerSuspended 0x2000798c Data 4 tasks.o(.bss.uxSchedulerSuspended) - [Anonymous Symbol] 0x2000798c Section 0 tasks.o(.bss.uxSchedulerSuspended) - uxTaskNumber 0x20007990 Data 4 tasks.o(.bss.uxTaskNumber) - [Anonymous Symbol] 0x20007990 Section 0 tasks.o(.bss.uxTaskNumber) - uxTopReadyPriority 0x20007994 Data 4 tasks.o(.bss.uxTopReadyPriority) - [Anonymous Symbol] 0x20007994 Section 0 tasks.o(.bss.uxTopReadyPriority) - vApplicationGetIdleTaskMemory.Idle_Stack 0x20007998 Data 512 cmsis_os2.o(.bss.vApplicationGetIdleTaskMemory.Idle_Stack) - [Anonymous Symbol] 0x20007998 Section 0 cmsis_os2.o(.bss.vApplicationGetIdleTaskMemory.Idle_Stack) - vApplicationGetIdleTaskMemory.Idle_TCB 0x20007b98 Data 100 cmsis_os2.o(.bss.vApplicationGetIdleTaskMemory.Idle_TCB) - [Anonymous Symbol] 0x20007b98 Section 0 cmsis_os2.o(.bss.vApplicationGetIdleTaskMemory.Idle_TCB) - vApplicationGetTimerTaskMemory.Timer_Stack 0x20007bfc Data 1024 cmsis_os2.o(.bss.vApplicationGetTimerTaskMemory.Timer_Stack) - [Anonymous Symbol] 0x20007bfc Section 0 cmsis_os2.o(.bss.vApplicationGetTimerTaskMemory.Timer_Stack) - vApplicationGetTimerTaskMemory.Timer_TCB 0x20007ffc Data 100 cmsis_os2.o(.bss.vApplicationGetTimerTaskMemory.Timer_TCB) - [Anonymous Symbol] 0x20007ffc Section 0 cmsis_os2.o(.bss.vApplicationGetTimerTaskMemory.Timer_TCB) - xActiveTimerList1 0x20008060 Data 20 timers.o(.bss.xActiveTimerList1) - [Anonymous Symbol] 0x20008060 Section 0 timers.o(.bss.xActiveTimerList1) - xActiveTimerList2 0x20008074 Data 20 timers.o(.bss.xActiveTimerList2) - [Anonymous Symbol] 0x20008074 Section 0 timers.o(.bss.xActiveTimerList2) - xBlockAllocatedBit 0x20008088 Data 4 heap_4.o(.bss.xBlockAllocatedBit) - [Anonymous Symbol] 0x20008088 Section 0 heap_4.o(.bss.xBlockAllocatedBit) - xDelayedTaskList1 0x2000808c Data 20 tasks.o(.bss.xDelayedTaskList1) - [Anonymous Symbol] 0x2000808c Section 0 tasks.o(.bss.xDelayedTaskList1) - xDelayedTaskList2 0x200080a0 Data 20 tasks.o(.bss.xDelayedTaskList2) - [Anonymous Symbol] 0x200080a0 Section 0 tasks.o(.bss.xDelayedTaskList2) - xFreeBytesRemaining 0x200080b4 Data 4 heap_4.o(.bss.xFreeBytesRemaining) - [Anonymous Symbol] 0x200080b4 Section 0 heap_4.o(.bss.xFreeBytesRemaining) - xIdleTaskHandle 0x200080b8 Data 4 tasks.o(.bss.xIdleTaskHandle) - [Anonymous Symbol] 0x200080b8 Section 0 tasks.o(.bss.xIdleTaskHandle) - xMinimumEverFreeBytesRemaining 0x200080bc Data 4 heap_4.o(.bss.xMinimumEverFreeBytesRemaining) - [Anonymous Symbol] 0x200080bc Section 0 heap_4.o(.bss.xMinimumEverFreeBytesRemaining) - xNextTaskUnblockTime 0x200080c0 Data 4 tasks.o(.bss.xNextTaskUnblockTime) - [Anonymous Symbol] 0x200080c0 Section 0 tasks.o(.bss.xNextTaskUnblockTime) - xNumOfOverflows 0x200080c4 Data 4 tasks.o(.bss.xNumOfOverflows) - [Anonymous Symbol] 0x200080c4 Section 0 tasks.o(.bss.xNumOfOverflows) - xNumberOfSuccessfulAllocations 0x200080c8 Data 4 heap_4.o(.bss.xNumberOfSuccessfulAllocations) - [Anonymous Symbol] 0x200080c8 Section 0 heap_4.o(.bss.xNumberOfSuccessfulAllocations) - xNumberOfSuccessfulFrees 0x200080cc Data 4 heap_4.o(.bss.xNumberOfSuccessfulFrees) - [Anonymous Symbol] 0x200080cc Section 0 heap_4.o(.bss.xNumberOfSuccessfulFrees) - xPendedTicks 0x200080d0 Data 4 tasks.o(.bss.xPendedTicks) - [Anonymous Symbol] 0x200080d0 Section 0 tasks.o(.bss.xPendedTicks) - xPendingReadyList 0x200080d4 Data 20 tasks.o(.bss.xPendingReadyList) - [Anonymous Symbol] 0x200080d4 Section 0 tasks.o(.bss.xPendingReadyList) - xSchedulerRunning 0x20008128 Data 4 tasks.o(.bss.xSchedulerRunning) - [Anonymous Symbol] 0x20008128 Section 0 tasks.o(.bss.xSchedulerRunning) - xStart 0x2000812c Data 8 heap_4.o(.bss.xStart) - [Anonymous Symbol] 0x2000812c Section 0 heap_4.o(.bss.xStart) - xSuspendedTaskList 0x20008134 Data 20 tasks.o(.bss.xSuspendedTaskList) - [Anonymous Symbol] 0x20008134 Section 0 tasks.o(.bss.xSuspendedTaskList) - xTasksWaitingTermination 0x20008148 Data 20 tasks.o(.bss.xTasksWaitingTermination) - [Anonymous Symbol] 0x20008148 Section 0 tasks.o(.bss.xTasksWaitingTermination) - xTickCount 0x2000815c Data 4 tasks.o(.bss.xTickCount) - [Anonymous Symbol] 0x2000815c Section 0 tasks.o(.bss.xTickCount) - xTimerQueue 0x20008160 Data 4 timers.o(.bss.xTimerQueue) - [Anonymous Symbol] 0x20008160 Section 0 timers.o(.bss.xTimerQueue) - xTimerTaskHandle 0x20008164 Data 4 timers.o(.bss.xTimerTaskHandle) - [Anonymous Symbol] 0x20008164 Section 0 timers.o(.bss.xTimerTaskHandle) - xYieldPending 0x20008168 Data 4 tasks.o(.bss.xYieldPending) - [Anonymous Symbol] 0x20008168 Section 0 tasks.o(.bss.xYieldPending) - Heap_Mem 0x20008170 Data 512 startup_stm32f407xx.o(HEAP) - HEAP 0x20008170 Section 512 startup_stm32f407xx.o(HEAP) - Stack_Mem 0x20008370 Data 1024 startup_stm32f407xx.o(STACK) - STACK 0x20008370 Section 1024 startup_stm32f407xx.o(STACK) - __initial_sp 0x20008770 Data 0 startup_stm32f407xx.o(STACK) + id_parser 0x20000b08 Data 4 can_1.o(.bss.id_parser) + [Anonymous Symbol] 0x20000b08 Section 0 can_1.o(.bss.id_parser) + inited 0x20000b60 Data 1 can_1.o(.bss.inited) + [Anonymous Symbol] 0x20000b60 Section 0 can_1.o(.bss.inited) + inited 0x20000b61 Data 1 bmi088.o(.bss.inited) + [Anonymous Symbol] 0x20000b61 Section 0 bmi088.o(.bss.inited) + prvCheckForValidListAndQueue.ucStaticTimerQueueStorage 0x20000b70 Data 160 timers.o(.bss.prvCheckForValidListAndQueue.ucStaticTimerQueueStorage) + [Anonymous Symbol] 0x20000b70 Section 0 timers.o(.bss.prvCheckForValidListAndQueue.ucStaticTimerQueueStorage) + prvCheckForValidListAndQueue.xStaticTimerQueue 0x20000c10 Data 80 timers.o(.bss.prvCheckForValidListAndQueue.xStaticTimerQueue) + [Anonymous Symbol] 0x20000c10 Section 0 timers.o(.bss.prvCheckForValidListAndQueue.xStaticTimerQueue) + prvSampleTimeNow.xLastTime 0x20000c60 Data 4 timers.o(.bss.prvSampleTimeNow.xLastTime) + [Anonymous Symbol] 0x20000c60 Section 0 timers.o(.bss.prvSampleTimeNow.xLastTime) + pxCurrentTimerList 0x20000c68 Data 4 timers.o(.bss.pxCurrentTimerList) + [Anonymous Symbol] 0x20000c68 Section 0 timers.o(.bss.pxCurrentTimerList) + pxDelayedTaskList 0x20000c6c Data 4 tasks.o(.bss.pxDelayedTaskList) + [Anonymous Symbol] 0x20000c6c Section 0 tasks.o(.bss.pxDelayedTaskList) + pxEnd 0x20000c70 Data 4 heap_4.o(.bss.pxEnd) + [Anonymous Symbol] 0x20000c70 Section 0 heap_4.o(.bss.pxEnd) + pxOverflowDelayedTaskList 0x20000c74 Data 4 tasks.o(.bss.pxOverflowDelayedTaskList) + [Anonymous Symbol] 0x20000c74 Section 0 tasks.o(.bss.pxOverflowDelayedTaskList) + pxOverflowTimerList 0x20000c78 Data 4 timers.o(.bss.pxOverflowTimerList) + [Anonymous Symbol] 0x20000c78 Section 0 timers.o(.bss.pxOverflowTimerList) + pxReadyTasksLists 0x20000c7c Data 1120 tasks.o(.bss.pxReadyTasksLists) + [Anonymous Symbol] 0x20000c7c Section 0 tasks.o(.bss.pxReadyTasksLists) + queue_list 0x200010dc Data 4 can_1.o(.bss.queue_list) + [Anonymous Symbol] 0x200010dc Section 0 can_1.o(.bss.queue_list) + queue_mutex 0x200010e0 Data 4 can_1.o(.bss.queue_mutex) + [Anonymous Symbol] 0x200010e0 Section 0 can_1.o(.bss.queue_mutex) + sbus_rx_buf 0x20001108 Data 25 remote_control.o(.bss.sbus_rx_buf) + [Anonymous Symbol] 0x20001108 Section 0 remote_control.o(.bss.sbus_rx_buf) + thread_alert 0x20001174 Data 4 bmi088.o(.bss.thread_alert) + [Anonymous Symbol] 0x20001174 Section 0 bmi088.o(.bss.thread_alert) + tx_queues 0x20001178 Data 2064 can_1.o(.bss.tx_queues) + [Anonymous Symbol] 0x20001178 Section 0 can_1.o(.bss.tx_queues) + ucHeap 0x20001988 Data 24576 heap_4.o(.bss.ucHeap) + [Anonymous Symbol] 0x20001988 Section 0 heap_4.o(.bss.ucHeap) + ucMaxSysCallPriority 0x20007988 Data 1 port.o(.bss.ucMaxSysCallPriority) + [Anonymous Symbol] 0x20007988 Section 0 port.o(.bss.ucMaxSysCallPriority) + ulMaxPRIGROUPValue 0x2000798c Data 4 port.o(.bss.ulMaxPRIGROUPValue) + [Anonymous Symbol] 0x2000798c Section 0 port.o(.bss.ulMaxPRIGROUPValue) + ulTaskSwitchedInTime 0x20007990 Data 4 tasks.o(.bss.ulTaskSwitchedInTime) + [Anonymous Symbol] 0x20007990 Section 0 tasks.o(.bss.ulTaskSwitchedInTime) + ulTotalRunTime 0x20007994 Data 4 tasks.o(.bss.ulTotalRunTime) + [Anonymous Symbol] 0x20007994 Section 0 tasks.o(.bss.ulTotalRunTime) + uxCurrentNumberOfTasks 0x2000799c Data 4 tasks.o(.bss.uxCurrentNumberOfTasks) + [Anonymous Symbol] 0x2000799c Section 0 tasks.o(.bss.uxCurrentNumberOfTasks) + uxDeletedTasksWaitingCleanUp 0x200079a0 Data 4 tasks.o(.bss.uxDeletedTasksWaitingCleanUp) + [Anonymous Symbol] 0x200079a0 Section 0 tasks.o(.bss.uxDeletedTasksWaitingCleanUp) + uxSchedulerSuspended 0x200079a4 Data 4 tasks.o(.bss.uxSchedulerSuspended) + [Anonymous Symbol] 0x200079a4 Section 0 tasks.o(.bss.uxSchedulerSuspended) + uxTaskNumber 0x200079a8 Data 4 tasks.o(.bss.uxTaskNumber) + [Anonymous Symbol] 0x200079a8 Section 0 tasks.o(.bss.uxTaskNumber) + uxTopReadyPriority 0x200079ac Data 4 tasks.o(.bss.uxTopReadyPriority) + [Anonymous Symbol] 0x200079ac Section 0 tasks.o(.bss.uxTopReadyPriority) + vApplicationGetIdleTaskMemory.Idle_Stack 0x200079b0 Data 512 cmsis_os2.o(.bss.vApplicationGetIdleTaskMemory.Idle_Stack) + [Anonymous Symbol] 0x200079b0 Section 0 cmsis_os2.o(.bss.vApplicationGetIdleTaskMemory.Idle_Stack) + vApplicationGetIdleTaskMemory.Idle_TCB 0x20007bb0 Data 100 cmsis_os2.o(.bss.vApplicationGetIdleTaskMemory.Idle_TCB) + [Anonymous Symbol] 0x20007bb0 Section 0 cmsis_os2.o(.bss.vApplicationGetIdleTaskMemory.Idle_TCB) + vApplicationGetTimerTaskMemory.Timer_Stack 0x20007c14 Data 1024 cmsis_os2.o(.bss.vApplicationGetTimerTaskMemory.Timer_Stack) + [Anonymous Symbol] 0x20007c14 Section 0 cmsis_os2.o(.bss.vApplicationGetTimerTaskMemory.Timer_Stack) + vApplicationGetTimerTaskMemory.Timer_TCB 0x20008014 Data 100 cmsis_os2.o(.bss.vApplicationGetTimerTaskMemory.Timer_TCB) + [Anonymous Symbol] 0x20008014 Section 0 cmsis_os2.o(.bss.vApplicationGetTimerTaskMemory.Timer_TCB) + xActiveTimerList1 0x20008078 Data 20 timers.o(.bss.xActiveTimerList1) + [Anonymous Symbol] 0x20008078 Section 0 timers.o(.bss.xActiveTimerList1) + xActiveTimerList2 0x2000808c Data 20 timers.o(.bss.xActiveTimerList2) + [Anonymous Symbol] 0x2000808c Section 0 timers.o(.bss.xActiveTimerList2) + xBlockAllocatedBit 0x200080a0 Data 4 heap_4.o(.bss.xBlockAllocatedBit) + [Anonymous Symbol] 0x200080a0 Section 0 heap_4.o(.bss.xBlockAllocatedBit) + xDelayedTaskList1 0x200080a4 Data 20 tasks.o(.bss.xDelayedTaskList1) + [Anonymous Symbol] 0x200080a4 Section 0 tasks.o(.bss.xDelayedTaskList1) + xDelayedTaskList2 0x200080b8 Data 20 tasks.o(.bss.xDelayedTaskList2) + [Anonymous Symbol] 0x200080b8 Section 0 tasks.o(.bss.xDelayedTaskList2) + xFreeBytesRemaining 0x200080cc Data 4 heap_4.o(.bss.xFreeBytesRemaining) + [Anonymous Symbol] 0x200080cc Section 0 heap_4.o(.bss.xFreeBytesRemaining) + xIdleTaskHandle 0x200080d0 Data 4 tasks.o(.bss.xIdleTaskHandle) + [Anonymous Symbol] 0x200080d0 Section 0 tasks.o(.bss.xIdleTaskHandle) + xMinimumEverFreeBytesRemaining 0x200080d4 Data 4 heap_4.o(.bss.xMinimumEverFreeBytesRemaining) + [Anonymous Symbol] 0x200080d4 Section 0 heap_4.o(.bss.xMinimumEverFreeBytesRemaining) + xNextTaskUnblockTime 0x200080d8 Data 4 tasks.o(.bss.xNextTaskUnblockTime) + [Anonymous Symbol] 0x200080d8 Section 0 tasks.o(.bss.xNextTaskUnblockTime) + xNumOfOverflows 0x200080dc Data 4 tasks.o(.bss.xNumOfOverflows) + [Anonymous Symbol] 0x200080dc Section 0 tasks.o(.bss.xNumOfOverflows) + xNumberOfSuccessfulAllocations 0x200080e0 Data 4 heap_4.o(.bss.xNumberOfSuccessfulAllocations) + [Anonymous Symbol] 0x200080e0 Section 0 heap_4.o(.bss.xNumberOfSuccessfulAllocations) + xNumberOfSuccessfulFrees 0x200080e4 Data 4 heap_4.o(.bss.xNumberOfSuccessfulFrees) + [Anonymous Symbol] 0x200080e4 Section 0 heap_4.o(.bss.xNumberOfSuccessfulFrees) + xPendedTicks 0x200080e8 Data 4 tasks.o(.bss.xPendedTicks) + [Anonymous Symbol] 0x200080e8 Section 0 tasks.o(.bss.xPendedTicks) + xPendingReadyList 0x200080ec Data 20 tasks.o(.bss.xPendingReadyList) + [Anonymous Symbol] 0x200080ec Section 0 tasks.o(.bss.xPendingReadyList) + xSchedulerRunning 0x20008140 Data 4 tasks.o(.bss.xSchedulerRunning) + [Anonymous Symbol] 0x20008140 Section 0 tasks.o(.bss.xSchedulerRunning) + xStart 0x20008144 Data 8 heap_4.o(.bss.xStart) + [Anonymous Symbol] 0x20008144 Section 0 heap_4.o(.bss.xStart) + xSuspendedTaskList 0x2000814c Data 20 tasks.o(.bss.xSuspendedTaskList) + [Anonymous Symbol] 0x2000814c Section 0 tasks.o(.bss.xSuspendedTaskList) + xTasksWaitingTermination 0x20008160 Data 20 tasks.o(.bss.xTasksWaitingTermination) + [Anonymous Symbol] 0x20008160 Section 0 tasks.o(.bss.xTasksWaitingTermination) + xTickCount 0x20008174 Data 4 tasks.o(.bss.xTickCount) + [Anonymous Symbol] 0x20008174 Section 0 tasks.o(.bss.xTickCount) + xTimerQueue 0x20008178 Data 4 timers.o(.bss.xTimerQueue) + [Anonymous Symbol] 0x20008178 Section 0 timers.o(.bss.xTimerQueue) + xTimerTaskHandle 0x2000817c Data 4 timers.o(.bss.xTimerTaskHandle) + [Anonymous Symbol] 0x2000817c Section 0 timers.o(.bss.xTimerTaskHandle) + xYieldPending 0x20008180 Data 4 tasks.o(.bss.xYieldPending) + [Anonymous Symbol] 0x20008180 Section 0 tasks.o(.bss.xYieldPending) + Heap_Mem 0x20008188 Data 512 startup_stm32f407xx.o(HEAP) + HEAP 0x20008188 Section 512 startup_stm32f407xx.o(HEAP) + Stack_Mem 0x20008388 Data 1024 startup_stm32f407xx.o(STACK) + STACK 0x20008388 Section 1024 startup_stm32f407xx.o(STACK) + __initial_sp 0x20008788 Data 0 startup_stm32f407xx.o(STACK) Global Symbols @@ -7204,352 +7204,352 @@ Image Symbol Table __scatterload_rt2 0x08000191 Thumb Code 44 __scatter.o(!!!scatter) __scatterload_rt2_thumb_only 0x08000191 Thumb Code 0 __scatter.o(!!!scatter) __scatterload_null 0x0800019f Thumb Code 0 __scatter.o(!!!scatter) - __decompress 0x080001c5 Thumb Code 90 __dczerorl2.o(!!dczerorl2) - __decompress1 0x080001c5 Thumb Code 0 __dczerorl2.o(!!dczerorl2) - __scatterload_zeroinit 0x08000221 Thumb Code 28 __scatter_zi.o(!!handler_zi) - __rt_lib_init 0x0800023d Thumb Code 0 libinit.o(.ARM.Collect$$libinit$$00000000) - __rt_lib_init_fp_1 0x0800023f Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000001) - __rt_lib_init_alloca_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000002E) - __rt_lib_init_argv_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000002C) - __rt_lib_init_atexit_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001B) - __rt_lib_init_clock_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000021) - __rt_lib_init_cpp_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000032) - __rt_lib_init_exceptions_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000030) - __rt_lib_init_fp_trap_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001F) - __rt_lib_init_getenv_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000023) - __rt_lib_init_heap_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000A) - __rt_lib_init_lc_collate_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000011) - __rt_lib_init_lc_ctype_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000013) - __rt_lib_init_lc_monetary_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000015) - __rt_lib_init_lc_numeric_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000017) - __rt_lib_init_lc_time_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000019) - __rt_lib_init_preinit_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000004) - __rt_lib_init_rand_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000E) - __rt_lib_init_return 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000033) - __rt_lib_init_signal_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001D) - __rt_lib_init_stdio_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000025) - __rt_lib_init_user_alloc_1 0x08000243 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000C) - __rt_lib_shutdown 0x08000245 Thumb Code 0 libshutdown.o(.ARM.Collect$$libshutdown$$00000000) - __rt_lib_shutdown_cpp_1 0x08000247 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000002) - __rt_lib_shutdown_fp_trap_1 0x08000247 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000007) - __rt_lib_shutdown_heap_1 0x08000247 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F) - __rt_lib_shutdown_return 0x08000247 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000010) - __rt_lib_shutdown_signal_1 0x08000247 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A) - __rt_lib_shutdown_stdio_1 0x08000247 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000004) - __rt_lib_shutdown_user_alloc_1 0x08000247 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C) - __rt_entry 0x08000249 Thumb Code 0 __rtentry.o(.ARM.Collect$$rtentry$$00000000) - __rt_entry_presh_1 0x08000249 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000002) - __rt_entry_sh 0x08000249 Thumb Code 0 __rtentry4.o(.ARM.Collect$$rtentry$$00000004) - __rt_entry_li 0x0800024f Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) - __rt_entry_postsh_1 0x0800024f Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000009) - __rt_entry_main 0x08000253 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) - __rt_entry_postli_1 0x08000253 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000C) - __rt_exit 0x0800025b Thumb Code 0 rtexit.o(.ARM.Collect$$rtexit$$00000000) - __rt_exit_ls 0x0800025d Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000003) - __rt_exit_prels_1 0x0800025d Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000002) - __rt_exit_exit 0x08000261 Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000004) - Reset_Handler 0x08000269 Thumb Code 8 startup_stm32f407xx.o(.text) - ADC_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - CAN1_SCE_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - CAN2_SCE_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - DCMI_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - DMA1_Stream0_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - DMA1_Stream2_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - DMA1_Stream3_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - DMA1_Stream4_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - DMA1_Stream5_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - DMA1_Stream6_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - DMA1_Stream7_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - DMA2_Stream0_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - DMA2_Stream1_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - DMA2_Stream4_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - DMA2_Stream5_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - DMA2_Stream6_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - DMA2_Stream7_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - ETH_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - ETH_WKUP_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - EXTI15_10_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - EXTI1_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - EXTI2_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - FLASH_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - FMC_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - FPU_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - HASH_RNG_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - I2C2_ER_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - I2C2_EV_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - I2C3_ER_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - I2C3_EV_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - OTG_FS_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - OTG_FS_WKUP_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - OTG_HS_EP1_IN_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - OTG_HS_EP1_OUT_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - OTG_HS_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - OTG_HS_WKUP_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - PVD_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - RCC_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - RTC_Alarm_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - RTC_WKUP_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - SDIO_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - SPI1_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - SPI2_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - SPI3_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - TAMP_STAMP_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - TIM1_BRK_TIM9_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - TIM1_CC_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - TIM1_TRG_COM_TIM11_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - TIM1_UP_TIM10_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - TIM2_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - TIM3_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - TIM4_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - TIM5_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - TIM6_DAC_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - TIM8_BRK_TIM12_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - TIM8_CC_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - TIM8_TRG_COM_TIM14_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - TIM8_UP_TIM13_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - UART4_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - UART5_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - USART1_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - USART2_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - USART6_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - WWDG_IRQHandler 0x08000283 Thumb Code 0 startup_stm32f407xx.o(.text) - __user_initial_stackheap 0x08000285 Thumb Code 0 startup_stm32f407xx.o(.text) - __aeabi_uldivmod 0x080002a9 Thumb Code 0 lludivv7m.o(.text) - _ll_udiv 0x080002a9 Thumb Code 240 lludivv7m.o(.text) - __aeabi_memcpy 0x08000399 Thumb Code 0 rt_memcpy_v6.o(.text) - __rt_memcpy 0x08000399 Thumb Code 138 rt_memcpy_v6.o(.text) - _memcpy_lastbytes 0x080003ff Thumb Code 0 rt_memcpy_v6.o(.text) - __aeabi_memset4 0x08000423 Thumb Code 16 aeabi_memset4.o(.text) - __aeabi_memset8 0x08000423 Thumb Code 0 aeabi_memset4.o(.text) - __aeabi_memclr4 0x08000433 Thumb Code 0 rt_memclr_w.o(.text) - __aeabi_memclr8 0x08000433 Thumb Code 0 rt_memclr_w.o(.text) - __rt_memclr_w 0x08000433 Thumb Code 0 rt_memclr_w.o(.text) - _memset_w 0x08000437 Thumb Code 74 rt_memclr_w.o(.text) - __use_two_region_memory 0x08000481 Thumb Code 2 heapauxi.o(.text) - __rt_heap_escrow$2region 0x08000483 Thumb Code 2 heapauxi.o(.text) - __rt_heap_expand$2region 0x08000485 Thumb Code 2 heapauxi.o(.text) - __read_errno 0x08000487 Thumb Code 10 _rserrno.o(.text) - __set_errno 0x08000491 Thumb Code 12 _rserrno.o(.text) - __aeabi_memcpy4 0x0800049d Thumb Code 0 rt_memcpy_w.o(.text) - __aeabi_memcpy8 0x0800049d Thumb Code 0 rt_memcpy_w.o(.text) - __rt_memcpy_w 0x0800049d Thumb Code 100 rt_memcpy_w.o(.text) - _memcpy_lastbytes_aligned 0x080004e5 Thumb Code 0 rt_memcpy_w.o(.text) - __aeabi_errno_addr 0x08000501 Thumb Code 8 rt_errno_addr_intlibspace.o(.text) - __errno$intlibspace 0x08000501 Thumb Code 0 rt_errno_addr_intlibspace.o(.text) - __rt_errno_addr$intlibspace 0x08000501 Thumb Code 0 rt_errno_addr_intlibspace.o(.text) - __user_libspace 0x08000509 Thumb Code 8 libspace.o(.text) - __user_perproc_libspace 0x08000509 Thumb Code 0 libspace.o(.text) - __user_perthread_libspace 0x08000509 Thumb Code 0 libspace.o(.text) - __user_setup_stackheap 0x08000511 Thumb Code 74 sys_stackheap_outer.o(.text) - exit 0x0800055b Thumb Code 18 exit.o(.text) - _sys_exit 0x0800056d Thumb Code 8 sys_exit.o(.text) - __I$use$semihosting 0x08000579 Thumb Code 0 use_no_semi.o(.text) - __use_no_semihosting_swi 0x08000579 Thumb Code 2 use_no_semi.o(.text) - __semihosting_library_function 0x0800057b Thumb Code 0 indicate_semi.o(.text) - AHRS_GetEulr 0x0800057d Thumb Code 348 ahrs.o(.text.AHRS_GetEulr) - AHRS_Init 0x080006d9 Thumb Code 644 ahrs.o(.text.AHRS_Init) - AHRS_ResetEulr 0x0800095d Thumb Code 18 ahrs.o(.text.AHRS_ResetEulr) - AHRS_Update 0x08000971 Thumb Code 3098 ahrs.o(.text.AHRS_Update) - AbsClip 0x08001b55 Thumb Code 106 user_math.o(.text.AbsClip) - BMI088_AcclStartDmaRecv 0x08001bd5 Thumb Code 30 bmi088.o(.text.BMI088_AcclStartDmaRecv) - BMI088_AcclWaitDmaCplt 0x08001bf5 Thumb Code 16 bmi088.o(.text.BMI088_AcclWaitDmaCplt) - BMI088_GetUpdateFreq 0x08001c05 Thumb Code 16 bmi088.o(.text.BMI088_GetUpdateFreq) - BMI088_GyroStartDmaRecv 0x08001c29 Thumb Code 26 bmi088.o(.text.BMI088_GyroStartDmaRecv) - BMI088_GyroWaitDmaCplt 0x08001c45 Thumb Code 16 bmi088.o(.text.BMI088_GyroWaitDmaCplt) - BMI088_Init 0x08001c55 Thumb Code 392 bmi088.o(.text.BMI088_Init) - BMI088_ParseAccl 0x08001ddd Thumb Code 244 bmi088.o(.text.BMI088_ParseAccl) - BMI088_ParseGyro 0x08001ed1 Thumb Code 280 bmi088.o(.text.BMI088_ParseGyro) - BMI088_WaitNew 0x0800203d Thumb Code 16 bmi088.o(.text.BMI088_WaitNew) - BSP_CAN_GetHandle 0x080023d1 Thumb Code 78 can_1.o(.text.BSP_CAN_GetHandle) - BSP_CAN_GetMessage 0x08002421 Thumb Code 158 can_1.o(.text.BSP_CAN_GetMessage) - BSP_CAN_Init 0x080024c1 Thumb Code 372 can_1.o(.text.BSP_CAN_Init) - BSP_CAN_ParseId 0x08002635 Thumb Code 66 can_1.o(.text.BSP_CAN_ParseId) - BSP_CAN_RegisterCallback 0x08002679 Thumb Code 130 can_1.o(.text.BSP_CAN_RegisterCallback) - BSP_CAN_RegisterId 0x080026fd Thumb Code 66 can_1.o(.text.BSP_CAN_RegisterId) - BSP_CAN_Transmit 0x08002909 Thumb Code 374 can_1.o(.text.BSP_CAN_Transmit) - BSP_CAN_TransmitStdDataFrame 0x08002a81 Thumb Code 62 can_1.o(.text.BSP_CAN_TransmitStdDataFrame) - BSP_Free 0x08002d2d Thumb Code 16 mm.o(.text.BSP_Free) - BSP_GPIO_DisableIRQ 0x08002d3d Thumb Code 88 gpio_1.o(.text.BSP_GPIO_DisableIRQ) - BSP_GPIO_EnableIRQ 0x08002d95 Thumb Code 88 gpio_1.o(.text.BSP_GPIO_EnableIRQ) - BSP_GPIO_ReadPin 0x08002ded Thumb Code 74 gpio_1.o(.text.BSP_GPIO_ReadPin) - BSP_GPIO_RegisterCallback 0x08002e39 Thumb Code 144 gpio_1.o(.text.BSP_GPIO_RegisterCallback) - BSP_GPIO_WritePin 0x08002ec9 Thumb Code 80 gpio_1.o(.text.BSP_GPIO_WritePin) - BSP_Malloc 0x08002f19 Thumb Code 16 mm.o(.text.BSP_Malloc) - BSP_PWM_SetComp 0x08002f29 Thumb Code 318 pwm.o(.text.BSP_PWM_SetComp) - BSP_PWM_Start 0x08003069 Thumb Code 68 pwm.o(.text.BSP_PWM_Start) - BSP_SPI_GetHandle 0x080030ad Thumb Code 38 spi_1.o(.text.BSP_SPI_GetHandle) - BSP_SPI_Receive 0x080030d5 Thumb Code 128 spi_1.o(.text.BSP_SPI_Receive) - BSP_SPI_RegisterCallback 0x08003155 Thumb Code 68 spi_1.o(.text.BSP_SPI_RegisterCallback) - BSP_SPI_Transmit 0x08003199 Thumb Code 128 spi_1.o(.text.BSP_SPI_Transmit) - BSP_TIME_Delay 0x08003219 Thumb Code 142 time.o(.text.BSP_TIME_Delay_ms) - BSP_TIME_Delay_ms 0x08003219 Thumb Code 142 time.o(.text.BSP_TIME_Delay_ms) - BSP_TIME_Get 0x080032a9 Thumb Code 170 time.o(.text.BSP_TIME_Get_us) - BSP_TIME_Get_us 0x080032a9 Thumb Code 170 time.o(.text.BSP_TIME_Get_us) - BSP_UART_IRQHandler 0x08003355 Thumb Code 108 uart.o(.text.BSP_UART_IRQHandler) - BusFault_Handler 0x080033c1 Thumb Code 4 stm32f4xx_it.o(.text.BusFault_Handler) - CAN1_RX0_IRQHandler 0x080033c5 Thumb Code 16 stm32f4xx_it.o(.text.CAN1_RX0_IRQHandler) - CAN1_RX1_IRQHandler 0x080033d5 Thumb Code 16 stm32f4xx_it.o(.text.CAN1_RX1_IRQHandler) - CAN1_TX_IRQHandler 0x080033e5 Thumb Code 16 stm32f4xx_it.o(.text.CAN1_TX_IRQHandler) - CAN2_RX0_IRQHandler 0x080033f5 Thumb Code 16 stm32f4xx_it.o(.text.CAN2_RX0_IRQHandler) - CAN2_RX1_IRQHandler 0x08003405 Thumb Code 16 stm32f4xx_it.o(.text.CAN2_RX1_IRQHandler) - CAN2_TX_IRQHandler 0x08003415 Thumb Code 16 stm32f4xx_it.o(.text.CAN2_TX_IRQHandler) - CircleAdd 0x0800347d Thumb Code 132 user_math.o(.text.CircleAdd) - CircleError 0x08003501 Thumb Code 154 user_math.o(.text.CircleError) - Clip 0x0800359d Thumb Code 76 user_math.o(.text.Clip) - Config_GetRobotParam 0x080035e9 Thumb Code 10 config.o(.text.Config_GetRobotParam) - DMA1_Stream1_IRQHandler 0x080035f5 Thumb Code 20 stm32f4xx_it.o(.text.DMA1_Stream1_IRQHandler) - DMA1_Stream1_IRQHandler1 0x08003609 Thumb Code 86 remote_control.o(.text.DMA1_Stream1_IRQHandler1) - DMA2_Stream2_IRQHandler 0x08003661 Thumb Code 16 stm32f4xx_it.o(.text.DMA2_Stream2_IRQHandler) - DMA2_Stream3_IRQHandler 0x08003671 Thumb Code 16 stm32f4xx_it.o(.text.DMA2_Stream3_IRQHandler) - DebugMon_Handler 0x08003819 Thumb Code 2 stm32f4xx_it.o(.text.DebugMon_Handler) - EXTI0_IRQHandler 0x0800381d Thumb Code 10 stm32f4xx_it.o(.text.EXTI0_IRQHandler) - EXTI3_IRQHandler 0x08003829 Thumb Code 10 stm32f4xx_it.o(.text.EXTI3_IRQHandler) - EXTI4_IRQHandler 0x08003835 Thumb Code 10 stm32f4xx_it.o(.text.EXTI4_IRQHandler) - EXTI9_5_IRQHandler 0x08003841 Thumb Code 10 stm32f4xx_it.o(.text.EXTI9_5_IRQHandler) - Error_Handler 0x0800384d Thumb Code 6 main.o(.text.Error_Handler) - Gimbal_Control 0x08003855 Thumb Code 1312 gimbal.o(.text.Gimbal_Control) - Gimbal_Init 0x08003d75 Thumb Code 424 gimbal.o(.text.Gimbal_Init) - Gimbal_Output 0x08003f1d Thumb Code 274 gimbal.o(.text.Gimbal_Output) - Gimbal_UpdateFeedback 0x080040e5 Thumb Code 360 gimbal.o(.text.Gimbal_UpdateFeedback) - Gimbal_UpdateIMU 0x0800424d Thumb Code 74 gimbal.o(.text.Gimbal_UpdateIMU) - HAL_CAN_ActivateNotification 0x08004299 Thumb Code 82 stm32f4xx_hal_can.o(.text.HAL_CAN_ActivateNotification) - HAL_CAN_AddTxMessage 0x080042ed Thumb Code 342 stm32f4xx_hal_can.o(.text.HAL_CAN_AddTxMessage) - HAL_CAN_ConfigFilter 0x08004445 Thumb Code 414 stm32f4xx_hal_can.o(.text.HAL_CAN_ConfigFilter) - HAL_CAN_ErrorCallback 0x080045e5 Thumb Code 80 can_1.o(.text.HAL_CAN_ErrorCallback) - HAL_CAN_GetRxFifoFillLevel 0x08004635 Thumb Code 82 stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxFifoFillLevel) - HAL_CAN_GetRxMessage 0x08004689 Thumb Code 530 stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxMessage) - HAL_CAN_GetTxMailboxesFreeLevel 0x0800489d Thumb Code 112 stm32f4xx_hal_can.o(.text.HAL_CAN_GetTxMailboxesFreeLevel) - HAL_CAN_IRQHandler 0x0800490d Thumb Code 1010 stm32f4xx_hal_can.o(.text.HAL_CAN_IRQHandler) - HAL_CAN_Init 0x08004d01 Thumb Code 478 stm32f4xx_hal_can.o(.text.HAL_CAN_Init) - HAL_CAN_MspInit 0x08004ee1 Thumb Code 464 can.o(.text.HAL_CAN_MspInit) - HAL_CAN_RxFifo0FullCallback 0x080050b1 Thumb Code 80 can_1.o(.text.HAL_CAN_RxFifo0FullCallback) - HAL_CAN_RxFifo0MsgPendingCallback 0x08005101 Thumb Code 80 can_1.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) - HAL_CAN_RxFifo1FullCallback 0x08005151 Thumb Code 80 can_1.o(.text.HAL_CAN_RxFifo1FullCallback) - HAL_CAN_RxFifo1MsgPendingCallback 0x080051a1 Thumb Code 80 can_1.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) - HAL_CAN_SleepCallback 0x080051f1 Thumb Code 80 can_1.o(.text.HAL_CAN_SleepCallback) - HAL_CAN_Start 0x08005241 Thumb Code 138 stm32f4xx_hal_can.o(.text.HAL_CAN_Start) - HAL_CAN_TxMailbox0AbortCallback 0x080052cd Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox0AbortCallback) - HAL_CAN_TxMailbox0CompleteCallback 0x0800531d Thumb Code 76 can_1.o(.text.HAL_CAN_TxMailbox0CompleteCallback) - HAL_CAN_TxMailbox1AbortCallback 0x08005369 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox1AbortCallback) - HAL_CAN_TxMailbox1CompleteCallback 0x080053b9 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox1CompleteCallback) - HAL_CAN_TxMailbox2AbortCallback 0x08005409 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox2AbortCallback) - HAL_CAN_TxMailbox2CompleteCallback 0x08005459 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox2CompleteCallback) - HAL_CAN_WakeUpFromRxMsgCallback 0x080054a9 Thumb Code 80 can_1.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) - HAL_DMA_Abort 0x080054f9 Thumb Code 236 stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort) - HAL_DMA_Abort_IT 0x080055e5 Thumb Code 68 stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort_IT) - HAL_DMA_GetState 0x08005629 Thumb Code 14 stm32f4xx_hal_dma.o(.text.HAL_DMA_GetState) - HAL_DMA_IRQHandler 0x08005639 Thumb Code 798 stm32f4xx_hal_dma.o(.text.HAL_DMA_IRQHandler) - HAL_DMA_Init 0x08005959 Thumb Code 366 stm32f4xx_hal_dma.o(.text.HAL_DMA_Init) - HAL_DMA_Start_IT 0x08005ac9 Thumb Code 194 stm32f4xx_hal_dma.o(.text.HAL_DMA_Start_IT) - HAL_Delay 0x08005b8d Thumb Code 66 stm32f4xx_hal.o(.text.HAL_Delay) - HAL_GPIO_EXTI_Callback 0x08005bd1 Thumb Code 102 gpio_1.o(.text.HAL_GPIO_EXTI_Callback) - HAL_GPIO_EXTI_IRQHandler 0x08005c39 Thumb Code 56 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_EXTI_IRQHandler) - HAL_GPIO_Init 0x08005c71 Thumb Code 950 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_Init) - HAL_GPIO_ReadPin 0x08006029 Thumb Code 46 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_ReadPin) - HAL_GPIO_WritePin 0x08006059 Thumb Code 46 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_WritePin) - HAL_GetTick 0x08006089 Thumb Code 12 stm32f4xx_hal.o(.text.HAL_GetTick) - HAL_I2C_AbortCpltCallback 0x08006095 Thumb Code 84 i2c_1.o(.text.HAL_I2C_AbortCpltCallback) - HAL_I2C_AddrCallback 0x080060e9 Thumb Code 16 stm32f4xx_hal_i2c.o(.text.HAL_I2C_AddrCallback) - HAL_I2C_ER_IRQHandler 0x080060f9 Thumb Code 378 stm32f4xx_hal_i2c.o(.text.HAL_I2C_ER_IRQHandler) - HAL_I2C_EV_IRQHandler 0x08006275 Thumb Code 970 stm32f4xx_hal_i2c.o(.text.HAL_I2C_EV_IRQHandler) - HAL_I2C_ErrorCallback 0x08006641 Thumb Code 84 i2c_1.o(.text.HAL_I2C_ErrorCallback) - HAL_I2C_Init 0x08006695 Thumb Code 676 stm32f4xx_hal_i2c.o(.text.HAL_I2C_Init) - HAL_I2C_ListenCpltCallback 0x08006939 Thumb Code 84 i2c_1.o(.text.HAL_I2C_ListenCpltCallback) - HAL_I2C_MasterRxCpltCallback 0x0800698d Thumb Code 84 i2c_1.o(.text.HAL_I2C_MasterRxCpltCallback) - HAL_I2C_MasterTxCpltCallback 0x080069e1 Thumb Code 80 i2c_1.o(.text.HAL_I2C_MasterTxCpltCallback) - HAL_I2C_MemRxCpltCallback 0x08006a31 Thumb Code 84 i2c_1.o(.text.HAL_I2C_MemRxCpltCallback) - HAL_I2C_MemTxCpltCallback 0x08006a85 Thumb Code 84 i2c_1.o(.text.HAL_I2C_MemTxCpltCallback) - HAL_I2C_MspInit 0x08006ad9 Thumb Code 308 i2c.o(.text.HAL_I2C_MspInit) - HAL_I2C_SlaveRxCpltCallback 0x08006c0d Thumb Code 84 i2c_1.o(.text.HAL_I2C_SlaveRxCpltCallback) - HAL_I2C_SlaveTxCpltCallback 0x08006c61 Thumb Code 84 i2c_1.o(.text.HAL_I2C_SlaveTxCpltCallback) - HAL_IncTick 0x08006cb5 Thumb Code 26 stm32f4xx_hal.o(.text.HAL_IncTick) - HAL_Init 0x08006cd1 Thumb Code 54 stm32f4xx_hal.o(.text.HAL_Init) - HAL_InitTick 0x08006d09 Thumb Code 112 stm32f4xx_hal.o(.text.HAL_InitTick) - HAL_MspInit 0x08006d79 Thumb Code 88 stm32f4xx_hal_msp.o(.text.HAL_MspInit) - HAL_NVIC_DisableIRQ 0x08006dd1 Thumb Code 20 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_DisableIRQ) - HAL_NVIC_EnableIRQ 0x08006de5 Thumb Code 20 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ) - HAL_NVIC_SetPriority 0x08006df9 Thumb Code 50 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriority) - HAL_NVIC_SetPriorityGrouping 0x08006e2d Thumb Code 16 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping) - HAL_RCC_ClockConfig 0x08006e3d Thumb Code 610 stm32f4xx_hal_rcc.o(.text.HAL_RCC_ClockConfig) - HAL_RCC_GetHCLKFreq 0x080070a1 Thumb Code 12 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq) - HAL_RCC_GetPCLK1Freq 0x080070ad Thumb Code 34 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK1Freq) - HAL_RCC_GetPCLK2Freq 0x080070d1 Thumb Code 34 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq) - HAL_RCC_GetSysClockFreq 0x080070f5 Thumb Code 230 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq) - HAL_RCC_OscConfig 0x080071dd Thumb Code 1726 stm32f4xx_hal_rcc.o(.text.HAL_RCC_OscConfig) - HAL_SPI_ErrorCallback 0x0800789d Thumb Code 84 spi_1.o(.text.HAL_SPI_ErrorCallback) - HAL_SPI_Init 0x080078f1 Thumb Code 256 stm32f4xx_hal_spi.o(.text.HAL_SPI_Init) - HAL_SPI_MspInit 0x080079f1 Thumb Code 528 spi.o(.text.HAL_SPI_MspInit) - HAL_SPI_Receive 0x08007c01 Thumb Code 590 stm32f4xx_hal_spi.o(.text.HAL_SPI_Receive) - HAL_SPI_Receive_DMA 0x08007e51 Thumb Code 408 stm32f4xx_hal_spi.o(.text.HAL_SPI_Receive_DMA) - HAL_SPI_RxCpltCallback 0x08007fe9 Thumb Code 84 spi_1.o(.text.HAL_SPI_RxCpltCallback) - HAL_SPI_RxHalfCpltCallback 0x0800803d Thumb Code 84 spi_1.o(.text.HAL_SPI_RxHalfCpltCallback) - HAL_SPI_Transmit 0x08008091 Thumb Code 674 stm32f4xx_hal_spi.o(.text.HAL_SPI_Transmit) - HAL_SPI_TransmitReceive 0x08008335 Thumb Code 930 stm32f4xx_hal_spi.o(.text.HAL_SPI_TransmitReceive) - HAL_SPI_TransmitReceive_DMA 0x080086d9 Thumb Code 532 stm32f4xx_hal_spi.o(.text.HAL_SPI_TransmitReceive_DMA) - HAL_SPI_Transmit_DMA 0x080088ed Thumb Code 364 stm32f4xx_hal_spi.o(.text.HAL_SPI_Transmit_DMA) - HAL_SPI_TxCpltCallback 0x08008a59 Thumb Code 72 spi_1.o(.text.HAL_SPI_TxCpltCallback) - HAL_SPI_TxHalfCpltCallback 0x08008aa1 Thumb Code 84 spi_1.o(.text.HAL_SPI_TxHalfCpltCallback) - HAL_SPI_TxRxCpltCallback 0x08008af5 Thumb Code 84 spi_1.o(.text.HAL_SPI_TxRxCpltCallback) - HAL_SPI_TxRxHalfCpltCallback 0x08008b49 Thumb Code 84 spi_1.o(.text.HAL_SPI_TxRxHalfCpltCallback) - HAL_SYSTICK_Config 0x08008b9d Thumb Code 16 stm32f4xx_hal_cortex.o(.text.HAL_SYSTICK_Config) - HAL_TIMEx_BreakCallback 0x08008bad Thumb Code 8 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback) - HAL_TIMEx_CommutCallback 0x08008bb5 Thumb Code 8 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) - HAL_TIMEx_MasterConfigSynchronization 0x08008bbd Thumb Code 290 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization) - HAL_TIM_Base_Init 0x08008ce1 Thumb Code 156 stm32f4xx_hal_tim.o(.text.HAL_TIM_Base_Init) - HAL_TIM_Base_MspInit 0x08008d7d Thumb Code 138 tim.o(.text.HAL_TIM_Base_MspInit) - HAL_TIM_IC_CaptureCallback 0x08008e09 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) - HAL_TIM_IRQHandler 0x08008e11 Thumb Code 538 stm32f4xx_hal_tim.o(.text.HAL_TIM_IRQHandler) - HAL_TIM_MspPostInit 0x0800902d Thumb Code 108 tim.o(.text.HAL_TIM_MspPostInit) - HAL_TIM_OC_DelayElapsedCallback 0x08009099 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) - HAL_TIM_PWM_ConfigChannel 0x080090a1 Thumb Code 322 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_ConfigChannel) - HAL_TIM_PWM_Init 0x080091e5 Thumb Code 156 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Init) - HAL_TIM_PWM_MspInit 0x08009281 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit) - HAL_TIM_PWM_PulseFinishedCallback 0x08009289 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) - HAL_TIM_PWM_Start 0x08009291 Thumb Code 458 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Start) - HAL_TIM_PeriodElapsedCallback 0x0800945d Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) - HAL_TIM_TriggerCallback 0x08009465 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) - HAL_UARTEx_RxEventCallback 0x0800946d Thumb Code 12 stm32f4xx_hal_uart.o(.text.HAL_UARTEx_RxEventCallback) - HAL_UART_ErrorCallback 0x08009479 Thumb Code 84 uart.o(.text.HAL_UART_ErrorCallback) - HAL_UART_IRQHandler 0x080094cd Thumb Code 1116 stm32f4xx_hal_uart.o(.text.HAL_UART_IRQHandler) - HAL_UART_Init 0x08009929 Thumb Code 158 stm32f4xx_hal_uart.o(.text.HAL_UART_Init) - HAL_UART_MspInit 0x080099c9 Thumb Code 460 usart.o(.text.HAL_UART_MspInit) - HAL_UART_RxCpltCallback 0x08009b95 Thumb Code 84 uart.o(.text.HAL_UART_RxCpltCallback) - HAL_UART_TxCpltCallback 0x08009be9 Thumb Code 84 uart.o(.text.HAL_UART_TxCpltCallback) - HardFault_Handler 0x08009c3d Thumb Code 4 stm32f4xx_it.o(.text.HardFault_Handler) - I2C1_ER_IRQHandler 0x08009c41 Thumb Code 16 stm32f4xx_it.o(.text.I2C1_ER_IRQHandler) - I2C1_EV_IRQHandler 0x08009c51 Thumb Code 16 stm32f4xx_it.o(.text.I2C1_EV_IRQHandler) - InvSqrt 0x0800b13d Thumb Code 118 user_math.o(.text.InvSqrt) - LowPassFilter2p_Apply 0x0800b1b5 Thumb Code 184 filter.o(.text.LowPassFilter2p_Apply) - LowPassFilter2p_Init 0x0800b26d Thumb Code 316 filter.o(.text.LowPassFilter2p_Init) - LowPassFilter2p_Reset 0x0800b3a9 Thumb Code 146 filter.o(.text.LowPassFilter2p_Reset) - MOTOR_DM_Enable 0x0800b4d5 Thumb Code 122 motor_dm.o(.text.MOTOR_DM_Enable) - MOTOR_DM_GetMotor 0x0800b581 Thumb Code 134 motor_dm.o(.text.MOTOR_DM_GetMotor) - MOTOR_DM_MITCtrl 0x0800b609 Thumb Code 72 motor_dm.o(.text.MOTOR_DM_MITCtrl) - MOTOR_DM_Register 0x0800b7a9 Thumb Code 300 motor_dm.o(.text.MOTOR_DM_Register) - MOTOR_DM_Update 0x0800ba19 Thumb Code 268 motor_dm.o(.text.MOTOR_DM_Update) - MOTOR_RM_Ctrl 0x0800bbbd Thumb Code 368 motor_rm.o(.text.MOTOR_RM_Ctrl) - MOTOR_RM_GetMotor 0x0800be31 Thumb Code 120 motor_rm.o(.text.MOTOR_RM_GetMotor) - MOTOR_RM_Register 0x0800bef9 Thumb Code 288 motor_rm.o(.text.MOTOR_RM_Register) - MOTOR_RM_SetOutput 0x0800c019 Thumb Code 282 motor_rm.o(.text.MOTOR_RM_SetOutput) - MOTOR_RM_Update 0x0800c135 Thumb Code 258 motor_rm.o(.text.MOTOR_RM_Update) - MX_CAN1_Init 0x0800c239 Thumb Code 78 can.o(.text.MX_CAN1_Init) - MX_CAN2_Init 0x0800c289 Thumb Code 78 can.o(.text.MX_CAN2_Init) - MX_DMA_Init 0x0800c2d9 Thumb Code 134 dma.o(.text.MX_DMA_Init) - MX_FREERTOS_Init 0x0800c361 Thumb Code 64 freertos.o(.text.MX_FREERTOS_Init) - MX_GPIO_Init 0x0800c3a1 Thumb Code 554 gpio.o(.text.MX_GPIO_Init) - MX_I2C1_Init 0x0800c5cd Thumb Code 72 i2c.o(.text.MX_I2C1_Init) - MX_I2C2_Init 0x0800c615 Thumb Code 72 i2c.o(.text.MX_I2C2_Init) - MX_SPI1_Init 0x0800c65d Thumb Code 82 spi.o(.text.MX_SPI1_Init) - MX_SPI2_Init 0x0800c6b1 Thumb Code 84 spi.o(.text.MX_SPI2_Init) - MX_TIM10_Init 0x0800c705 Thumb Code 142 tim.o(.text.MX_TIM10_Init) - MX_TIM7_Init 0x0800c795 Thumb Code 88 tim.o(.text.MX_TIM7_Init) - MX_USART1_UART_Init 0x0800c7ed Thumb Code 64 usart.o(.text.MX_USART1_UART_Init) - MX_USART3_UART_Init 0x0800c82d Thumb Code 76 usart.o(.text.MX_USART3_UART_Init) - MemManage_Handler 0x0800c879 Thumb Code 4 stm32f4xx_it.o(.text.MemManage_Handler) - NMI_Handler 0x0800ca99 Thumb Code 4 stm32f4xx_it.o(.text.NMI_Handler) - PID_Calc 0x0800cb09 Thumb Code 752 pid.o(.text.PID_Calc) - PID_Init 0x0800cdf9 Thumb Code 406 pid.o(.text.PID_Init) - PID_Reset 0x0800cf91 Thumb Code 72 pid.o(.text.PID_Reset) + __decompress 0x080001c5 Thumb Code 58 __dczerorl.o(!!dczerorl) + __decompress0 0x080001c5 Thumb Code 0 __dczerorl.o(!!dczerorl) + __scatterload_zeroinit 0x08000201 Thumb Code 28 __scatter_zi.o(!!handler_zi) + __rt_lib_init 0x0800021d Thumb Code 0 libinit.o(.ARM.Collect$$libinit$$00000000) + __rt_lib_init_fp_1 0x0800021f Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000001) + __rt_lib_init_alloca_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000002E) + __rt_lib_init_argv_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000002C) + __rt_lib_init_atexit_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001B) + __rt_lib_init_clock_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000021) + __rt_lib_init_cpp_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000032) + __rt_lib_init_exceptions_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000030) + __rt_lib_init_fp_trap_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001F) + __rt_lib_init_getenv_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000023) + __rt_lib_init_heap_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000A) + __rt_lib_init_lc_collate_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000011) + __rt_lib_init_lc_ctype_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000013) + __rt_lib_init_lc_monetary_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000015) + __rt_lib_init_lc_numeric_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000017) + __rt_lib_init_lc_time_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000019) + __rt_lib_init_preinit_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000004) + __rt_lib_init_rand_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000E) + __rt_lib_init_return 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000033) + __rt_lib_init_signal_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001D) + __rt_lib_init_stdio_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000025) + __rt_lib_init_user_alloc_1 0x08000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000C) + __rt_lib_shutdown 0x08000225 Thumb Code 0 libshutdown.o(.ARM.Collect$$libshutdown$$00000000) + __rt_lib_shutdown_cpp_1 0x08000227 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000002) + __rt_lib_shutdown_fp_trap_1 0x08000227 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000007) + __rt_lib_shutdown_heap_1 0x08000227 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F) + __rt_lib_shutdown_return 0x08000227 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000010) + __rt_lib_shutdown_signal_1 0x08000227 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A) + __rt_lib_shutdown_stdio_1 0x08000227 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000004) + __rt_lib_shutdown_user_alloc_1 0x08000227 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C) + __rt_entry 0x08000229 Thumb Code 0 __rtentry.o(.ARM.Collect$$rtentry$$00000000) + __rt_entry_presh_1 0x08000229 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000002) + __rt_entry_sh 0x08000229 Thumb Code 0 __rtentry4.o(.ARM.Collect$$rtentry$$00000004) + __rt_entry_li 0x0800022f Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) + __rt_entry_postsh_1 0x0800022f Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000009) + __rt_entry_main 0x08000233 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) + __rt_entry_postli_1 0x08000233 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000C) + __rt_exit 0x0800023b Thumb Code 0 rtexit.o(.ARM.Collect$$rtexit$$00000000) + __rt_exit_ls 0x0800023d Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000003) + __rt_exit_prels_1 0x0800023d Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000002) + __rt_exit_exit 0x08000241 Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000004) + Reset_Handler 0x08000249 Thumb Code 8 startup_stm32f407xx.o(.text) + ADC_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + CAN1_SCE_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + CAN2_SCE_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + DCMI_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + DMA1_Stream0_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + DMA1_Stream2_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + DMA1_Stream3_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + DMA1_Stream4_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + DMA1_Stream5_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + DMA1_Stream6_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + DMA1_Stream7_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + DMA2_Stream0_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + DMA2_Stream1_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + DMA2_Stream4_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + DMA2_Stream5_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + DMA2_Stream6_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + DMA2_Stream7_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + ETH_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + ETH_WKUP_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + EXTI15_10_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + EXTI1_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + EXTI2_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + FLASH_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + FMC_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + FPU_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + HASH_RNG_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + I2C2_ER_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + I2C2_EV_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + I2C3_ER_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + I2C3_EV_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + OTG_FS_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + OTG_FS_WKUP_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + OTG_HS_EP1_IN_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + OTG_HS_EP1_OUT_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + OTG_HS_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + OTG_HS_WKUP_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + PVD_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + RCC_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + RTC_Alarm_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + RTC_WKUP_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + SDIO_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + SPI1_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + SPI2_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + SPI3_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + TAMP_STAMP_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + TIM1_BRK_TIM9_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + TIM1_CC_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + TIM1_TRG_COM_TIM11_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + TIM1_UP_TIM10_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + TIM2_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + TIM3_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + TIM4_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + TIM5_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + TIM6_DAC_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + TIM8_BRK_TIM12_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + TIM8_CC_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + TIM8_TRG_COM_TIM14_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + TIM8_UP_TIM13_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + UART4_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + UART5_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + USART1_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + USART2_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + USART6_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + WWDG_IRQHandler 0x08000263 Thumb Code 0 startup_stm32f407xx.o(.text) + __user_initial_stackheap 0x08000265 Thumb Code 0 startup_stm32f407xx.o(.text) + __aeabi_uldivmod 0x08000289 Thumb Code 0 lludivv7m.o(.text) + _ll_udiv 0x08000289 Thumb Code 240 lludivv7m.o(.text) + __aeabi_memcpy 0x08000379 Thumb Code 0 rt_memcpy_v6.o(.text) + __rt_memcpy 0x08000379 Thumb Code 138 rt_memcpy_v6.o(.text) + _memcpy_lastbytes 0x080003df Thumb Code 0 rt_memcpy_v6.o(.text) + __aeabi_memset4 0x08000403 Thumb Code 16 aeabi_memset4.o(.text) + __aeabi_memset8 0x08000403 Thumb Code 0 aeabi_memset4.o(.text) + __aeabi_memclr4 0x08000413 Thumb Code 0 rt_memclr_w.o(.text) + __aeabi_memclr8 0x08000413 Thumb Code 0 rt_memclr_w.o(.text) + __rt_memclr_w 0x08000413 Thumb Code 0 rt_memclr_w.o(.text) + _memset_w 0x08000417 Thumb Code 74 rt_memclr_w.o(.text) + __use_two_region_memory 0x08000461 Thumb Code 2 heapauxi.o(.text) + __rt_heap_escrow$2region 0x08000463 Thumb Code 2 heapauxi.o(.text) + __rt_heap_expand$2region 0x08000465 Thumb Code 2 heapauxi.o(.text) + __read_errno 0x08000467 Thumb Code 10 _rserrno.o(.text) + __set_errno 0x08000471 Thumb Code 12 _rserrno.o(.text) + __aeabi_memcpy4 0x0800047d Thumb Code 0 rt_memcpy_w.o(.text) + __aeabi_memcpy8 0x0800047d Thumb Code 0 rt_memcpy_w.o(.text) + __rt_memcpy_w 0x0800047d Thumb Code 100 rt_memcpy_w.o(.text) + _memcpy_lastbytes_aligned 0x080004c5 Thumb Code 0 rt_memcpy_w.o(.text) + __aeabi_errno_addr 0x080004e1 Thumb Code 8 rt_errno_addr_intlibspace.o(.text) + __errno$intlibspace 0x080004e1 Thumb Code 0 rt_errno_addr_intlibspace.o(.text) + __rt_errno_addr$intlibspace 0x080004e1 Thumb Code 0 rt_errno_addr_intlibspace.o(.text) + __user_libspace 0x080004e9 Thumb Code 8 libspace.o(.text) + __user_perproc_libspace 0x080004e9 Thumb Code 0 libspace.o(.text) + __user_perthread_libspace 0x080004e9 Thumb Code 0 libspace.o(.text) + __user_setup_stackheap 0x080004f1 Thumb Code 74 sys_stackheap_outer.o(.text) + exit 0x0800053b Thumb Code 18 exit.o(.text) + _sys_exit 0x0800054d Thumb Code 8 sys_exit.o(.text) + __I$use$semihosting 0x08000559 Thumb Code 0 use_no_semi.o(.text) + __use_no_semihosting_swi 0x08000559 Thumb Code 2 use_no_semi.o(.text) + __semihosting_library_function 0x0800055b Thumb Code 0 indicate_semi.o(.text) + AHRS_GetEulr 0x0800055d Thumb Code 348 ahrs.o(.text.AHRS_GetEulr) + AHRS_Init 0x080006b9 Thumb Code 644 ahrs.o(.text.AHRS_Init) + AHRS_ResetEulr 0x0800093d Thumb Code 18 ahrs.o(.text.AHRS_ResetEulr) + AHRS_Update 0x08000951 Thumb Code 3098 ahrs.o(.text.AHRS_Update) + AbsClip 0x08001b35 Thumb Code 106 user_math.o(.text.AbsClip) + BMI088_AcclStartDmaRecv 0x08001bb5 Thumb Code 30 bmi088.o(.text.BMI088_AcclStartDmaRecv) + BMI088_AcclWaitDmaCplt 0x08001bd5 Thumb Code 16 bmi088.o(.text.BMI088_AcclWaitDmaCplt) + BMI088_GetUpdateFreq 0x08001be5 Thumb Code 16 bmi088.o(.text.BMI088_GetUpdateFreq) + BMI088_GyroStartDmaRecv 0x08001c09 Thumb Code 26 bmi088.o(.text.BMI088_GyroStartDmaRecv) + BMI088_GyroWaitDmaCplt 0x08001c25 Thumb Code 16 bmi088.o(.text.BMI088_GyroWaitDmaCplt) + BMI088_Init 0x08001c35 Thumb Code 392 bmi088.o(.text.BMI088_Init) + BMI088_ParseAccl 0x08001dbd Thumb Code 244 bmi088.o(.text.BMI088_ParseAccl) + BMI088_ParseGyro 0x08001eb1 Thumb Code 280 bmi088.o(.text.BMI088_ParseGyro) + BMI088_WaitNew 0x0800201d Thumb Code 16 bmi088.o(.text.BMI088_WaitNew) + BSP_CAN_GetHandle 0x080023b1 Thumb Code 78 can_1.o(.text.BSP_CAN_GetHandle) + BSP_CAN_GetMessage 0x08002401 Thumb Code 158 can_1.o(.text.BSP_CAN_GetMessage) + BSP_CAN_Init 0x080024a1 Thumb Code 372 can_1.o(.text.BSP_CAN_Init) + BSP_CAN_ParseId 0x08002615 Thumb Code 66 can_1.o(.text.BSP_CAN_ParseId) + BSP_CAN_RegisterCallback 0x08002659 Thumb Code 130 can_1.o(.text.BSP_CAN_RegisterCallback) + BSP_CAN_RegisterId 0x080026dd Thumb Code 66 can_1.o(.text.BSP_CAN_RegisterId) + BSP_CAN_Transmit 0x080028e9 Thumb Code 374 can_1.o(.text.BSP_CAN_Transmit) + BSP_CAN_TransmitStdDataFrame 0x08002a61 Thumb Code 62 can_1.o(.text.BSP_CAN_TransmitStdDataFrame) + BSP_Free 0x08002d0d Thumb Code 16 mm.o(.text.BSP_Free) + BSP_GPIO_DisableIRQ 0x08002d1d Thumb Code 88 gpio_1.o(.text.BSP_GPIO_DisableIRQ) + BSP_GPIO_EnableIRQ 0x08002d75 Thumb Code 88 gpio_1.o(.text.BSP_GPIO_EnableIRQ) + BSP_GPIO_ReadPin 0x08002dcd Thumb Code 74 gpio_1.o(.text.BSP_GPIO_ReadPin) + BSP_GPIO_RegisterCallback 0x08002e19 Thumb Code 144 gpio_1.o(.text.BSP_GPIO_RegisterCallback) + BSP_GPIO_WritePin 0x08002ea9 Thumb Code 80 gpio_1.o(.text.BSP_GPIO_WritePin) + BSP_Malloc 0x08002ef9 Thumb Code 16 mm.o(.text.BSP_Malloc) + BSP_PWM_SetComp 0x08002f09 Thumb Code 318 pwm.o(.text.BSP_PWM_SetComp) + BSP_PWM_Start 0x08003049 Thumb Code 68 pwm.o(.text.BSP_PWM_Start) + BSP_SPI_GetHandle 0x0800308d Thumb Code 38 spi_1.o(.text.BSP_SPI_GetHandle) + BSP_SPI_Receive 0x080030b5 Thumb Code 128 spi_1.o(.text.BSP_SPI_Receive) + BSP_SPI_RegisterCallback 0x08003135 Thumb Code 68 spi_1.o(.text.BSP_SPI_RegisterCallback) + BSP_SPI_Transmit 0x08003179 Thumb Code 128 spi_1.o(.text.BSP_SPI_Transmit) + BSP_TIME_Delay 0x080031f9 Thumb Code 142 time.o(.text.BSP_TIME_Delay_ms) + BSP_TIME_Delay_ms 0x080031f9 Thumb Code 142 time.o(.text.BSP_TIME_Delay_ms) + BSP_TIME_Get 0x08003289 Thumb Code 170 time.o(.text.BSP_TIME_Get_us) + BSP_TIME_Get_us 0x08003289 Thumb Code 170 time.o(.text.BSP_TIME_Get_us) + BSP_UART_IRQHandler 0x08003335 Thumb Code 108 uart.o(.text.BSP_UART_IRQHandler) + BusFault_Handler 0x080033a1 Thumb Code 4 stm32f4xx_it.o(.text.BusFault_Handler) + CAN1_RX0_IRQHandler 0x080033a5 Thumb Code 16 stm32f4xx_it.o(.text.CAN1_RX0_IRQHandler) + CAN1_RX1_IRQHandler 0x080033b5 Thumb Code 16 stm32f4xx_it.o(.text.CAN1_RX1_IRQHandler) + CAN1_TX_IRQHandler 0x080033c5 Thumb Code 16 stm32f4xx_it.o(.text.CAN1_TX_IRQHandler) + CAN2_RX0_IRQHandler 0x080033d5 Thumb Code 16 stm32f4xx_it.o(.text.CAN2_RX0_IRQHandler) + CAN2_RX1_IRQHandler 0x080033e5 Thumb Code 16 stm32f4xx_it.o(.text.CAN2_RX1_IRQHandler) + CAN2_TX_IRQHandler 0x080033f5 Thumb Code 16 stm32f4xx_it.o(.text.CAN2_TX_IRQHandler) + CircleAdd 0x0800345d Thumb Code 132 user_math.o(.text.CircleAdd) + CircleError 0x080034e1 Thumb Code 154 user_math.o(.text.CircleError) + Clip 0x0800357d Thumb Code 76 user_math.o(.text.Clip) + Config_GetRobotParam 0x080035c9 Thumb Code 10 config.o(.text.Config_GetRobotParam) + DMA1_Stream1_IRQHandler 0x080035d5 Thumb Code 20 stm32f4xx_it.o(.text.DMA1_Stream1_IRQHandler) + DMA1_Stream1_IRQHandler1 0x080035e9 Thumb Code 86 remote_control.o(.text.DMA1_Stream1_IRQHandler1) + DMA2_Stream2_IRQHandler 0x08003641 Thumb Code 16 stm32f4xx_it.o(.text.DMA2_Stream2_IRQHandler) + DMA2_Stream3_IRQHandler 0x08003651 Thumb Code 16 stm32f4xx_it.o(.text.DMA2_Stream3_IRQHandler) + DebugMon_Handler 0x080037f9 Thumb Code 2 stm32f4xx_it.o(.text.DebugMon_Handler) + EXTI0_IRQHandler 0x080037fd Thumb Code 10 stm32f4xx_it.o(.text.EXTI0_IRQHandler) + EXTI3_IRQHandler 0x08003809 Thumb Code 10 stm32f4xx_it.o(.text.EXTI3_IRQHandler) + EXTI4_IRQHandler 0x08003815 Thumb Code 10 stm32f4xx_it.o(.text.EXTI4_IRQHandler) + EXTI9_5_IRQHandler 0x08003821 Thumb Code 10 stm32f4xx_it.o(.text.EXTI9_5_IRQHandler) + Error_Handler 0x0800382d Thumb Code 6 main.o(.text.Error_Handler) + Gimbal_Control 0x08003835 Thumb Code 1304 gimbal.o(.text.Gimbal_Control) + Gimbal_Init 0x08003d4d Thumb Code 472 gimbal.o(.text.Gimbal_Init) + Gimbal_Output 0x08003f25 Thumb Code 274 gimbal.o(.text.Gimbal_Output) + Gimbal_UpdateFeedback 0x080040ed Thumb Code 360 gimbal.o(.text.Gimbal_UpdateFeedback) + Gimbal_UpdateIMU 0x08004255 Thumb Code 74 gimbal.o(.text.Gimbal_UpdateIMU) + HAL_CAN_ActivateNotification 0x080042a1 Thumb Code 82 stm32f4xx_hal_can.o(.text.HAL_CAN_ActivateNotification) + HAL_CAN_AddTxMessage 0x080042f5 Thumb Code 342 stm32f4xx_hal_can.o(.text.HAL_CAN_AddTxMessage) + HAL_CAN_ConfigFilter 0x0800444d Thumb Code 414 stm32f4xx_hal_can.o(.text.HAL_CAN_ConfigFilter) + HAL_CAN_ErrorCallback 0x080045ed Thumb Code 80 can_1.o(.text.HAL_CAN_ErrorCallback) + HAL_CAN_GetRxFifoFillLevel 0x0800463d Thumb Code 82 stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxFifoFillLevel) + HAL_CAN_GetRxMessage 0x08004691 Thumb Code 530 stm32f4xx_hal_can.o(.text.HAL_CAN_GetRxMessage) + HAL_CAN_GetTxMailboxesFreeLevel 0x080048a5 Thumb Code 112 stm32f4xx_hal_can.o(.text.HAL_CAN_GetTxMailboxesFreeLevel) + HAL_CAN_IRQHandler 0x08004915 Thumb Code 1010 stm32f4xx_hal_can.o(.text.HAL_CAN_IRQHandler) + HAL_CAN_Init 0x08004d09 Thumb Code 478 stm32f4xx_hal_can.o(.text.HAL_CAN_Init) + HAL_CAN_MspInit 0x08004ee9 Thumb Code 464 can.o(.text.HAL_CAN_MspInit) + HAL_CAN_RxFifo0FullCallback 0x080050b9 Thumb Code 80 can_1.o(.text.HAL_CAN_RxFifo0FullCallback) + HAL_CAN_RxFifo0MsgPendingCallback 0x08005109 Thumb Code 80 can_1.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) + HAL_CAN_RxFifo1FullCallback 0x08005159 Thumb Code 80 can_1.o(.text.HAL_CAN_RxFifo1FullCallback) + HAL_CAN_RxFifo1MsgPendingCallback 0x080051a9 Thumb Code 80 can_1.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) + HAL_CAN_SleepCallback 0x080051f9 Thumb Code 80 can_1.o(.text.HAL_CAN_SleepCallback) + HAL_CAN_Start 0x08005249 Thumb Code 138 stm32f4xx_hal_can.o(.text.HAL_CAN_Start) + HAL_CAN_TxMailbox0AbortCallback 0x080052d5 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox0AbortCallback) + HAL_CAN_TxMailbox0CompleteCallback 0x08005325 Thumb Code 76 can_1.o(.text.HAL_CAN_TxMailbox0CompleteCallback) + HAL_CAN_TxMailbox1AbortCallback 0x08005371 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox1AbortCallback) + HAL_CAN_TxMailbox1CompleteCallback 0x080053c1 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox1CompleteCallback) + HAL_CAN_TxMailbox2AbortCallback 0x08005411 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox2AbortCallback) + HAL_CAN_TxMailbox2CompleteCallback 0x08005461 Thumb Code 80 can_1.o(.text.HAL_CAN_TxMailbox2CompleteCallback) + HAL_CAN_WakeUpFromRxMsgCallback 0x080054b1 Thumb Code 80 can_1.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) + HAL_DMA_Abort 0x08005501 Thumb Code 236 stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort) + HAL_DMA_Abort_IT 0x080055ed Thumb Code 68 stm32f4xx_hal_dma.o(.text.HAL_DMA_Abort_IT) + HAL_DMA_GetState 0x08005631 Thumb Code 14 stm32f4xx_hal_dma.o(.text.HAL_DMA_GetState) + HAL_DMA_IRQHandler 0x08005641 Thumb Code 798 stm32f4xx_hal_dma.o(.text.HAL_DMA_IRQHandler) + HAL_DMA_Init 0x08005961 Thumb Code 366 stm32f4xx_hal_dma.o(.text.HAL_DMA_Init) + HAL_DMA_Start_IT 0x08005ad1 Thumb Code 194 stm32f4xx_hal_dma.o(.text.HAL_DMA_Start_IT) + HAL_Delay 0x08005b95 Thumb Code 66 stm32f4xx_hal.o(.text.HAL_Delay) + HAL_GPIO_EXTI_Callback 0x08005bd9 Thumb Code 102 gpio_1.o(.text.HAL_GPIO_EXTI_Callback) + HAL_GPIO_EXTI_IRQHandler 0x08005c41 Thumb Code 56 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_EXTI_IRQHandler) + HAL_GPIO_Init 0x08005c79 Thumb Code 950 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_Init) + HAL_GPIO_ReadPin 0x08006031 Thumb Code 46 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_ReadPin) + HAL_GPIO_WritePin 0x08006061 Thumb Code 46 stm32f4xx_hal_gpio.o(.text.HAL_GPIO_WritePin) + HAL_GetTick 0x08006091 Thumb Code 12 stm32f4xx_hal.o(.text.HAL_GetTick) + HAL_I2C_AbortCpltCallback 0x0800609d Thumb Code 84 i2c_1.o(.text.HAL_I2C_AbortCpltCallback) + HAL_I2C_AddrCallback 0x080060f1 Thumb Code 16 stm32f4xx_hal_i2c.o(.text.HAL_I2C_AddrCallback) + HAL_I2C_ER_IRQHandler 0x08006101 Thumb Code 378 stm32f4xx_hal_i2c.o(.text.HAL_I2C_ER_IRQHandler) + HAL_I2C_EV_IRQHandler 0x0800627d Thumb Code 970 stm32f4xx_hal_i2c.o(.text.HAL_I2C_EV_IRQHandler) + HAL_I2C_ErrorCallback 0x08006649 Thumb Code 84 i2c_1.o(.text.HAL_I2C_ErrorCallback) + HAL_I2C_Init 0x0800669d Thumb Code 676 stm32f4xx_hal_i2c.o(.text.HAL_I2C_Init) + HAL_I2C_ListenCpltCallback 0x08006941 Thumb Code 84 i2c_1.o(.text.HAL_I2C_ListenCpltCallback) + HAL_I2C_MasterRxCpltCallback 0x08006995 Thumb Code 84 i2c_1.o(.text.HAL_I2C_MasterRxCpltCallback) + HAL_I2C_MasterTxCpltCallback 0x080069e9 Thumb Code 80 i2c_1.o(.text.HAL_I2C_MasterTxCpltCallback) + HAL_I2C_MemRxCpltCallback 0x08006a39 Thumb Code 84 i2c_1.o(.text.HAL_I2C_MemRxCpltCallback) + HAL_I2C_MemTxCpltCallback 0x08006a8d Thumb Code 84 i2c_1.o(.text.HAL_I2C_MemTxCpltCallback) + HAL_I2C_MspInit 0x08006ae1 Thumb Code 308 i2c.o(.text.HAL_I2C_MspInit) + HAL_I2C_SlaveRxCpltCallback 0x08006c15 Thumb Code 84 i2c_1.o(.text.HAL_I2C_SlaveRxCpltCallback) + HAL_I2C_SlaveTxCpltCallback 0x08006c69 Thumb Code 84 i2c_1.o(.text.HAL_I2C_SlaveTxCpltCallback) + HAL_IncTick 0x08006cbd Thumb Code 26 stm32f4xx_hal.o(.text.HAL_IncTick) + HAL_Init 0x08006cd9 Thumb Code 54 stm32f4xx_hal.o(.text.HAL_Init) + HAL_InitTick 0x08006d11 Thumb Code 112 stm32f4xx_hal.o(.text.HAL_InitTick) + HAL_MspInit 0x08006d81 Thumb Code 88 stm32f4xx_hal_msp.o(.text.HAL_MspInit) + HAL_NVIC_DisableIRQ 0x08006dd9 Thumb Code 20 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_DisableIRQ) + HAL_NVIC_EnableIRQ 0x08006ded Thumb Code 20 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ) + HAL_NVIC_SetPriority 0x08006e01 Thumb Code 50 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriority) + HAL_NVIC_SetPriorityGrouping 0x08006e35 Thumb Code 16 stm32f4xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping) + HAL_RCC_ClockConfig 0x08006e45 Thumb Code 610 stm32f4xx_hal_rcc.o(.text.HAL_RCC_ClockConfig) + HAL_RCC_GetHCLKFreq 0x080070a9 Thumb Code 12 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq) + HAL_RCC_GetPCLK1Freq 0x080070b5 Thumb Code 34 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK1Freq) + HAL_RCC_GetPCLK2Freq 0x080070d9 Thumb Code 34 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq) + HAL_RCC_GetSysClockFreq 0x080070fd Thumb Code 230 stm32f4xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq) + HAL_RCC_OscConfig 0x080071e5 Thumb Code 1726 stm32f4xx_hal_rcc.o(.text.HAL_RCC_OscConfig) + HAL_SPI_ErrorCallback 0x080078a5 Thumb Code 84 spi_1.o(.text.HAL_SPI_ErrorCallback) + HAL_SPI_Init 0x080078f9 Thumb Code 256 stm32f4xx_hal_spi.o(.text.HAL_SPI_Init) + HAL_SPI_MspInit 0x080079f9 Thumb Code 528 spi.o(.text.HAL_SPI_MspInit) + HAL_SPI_Receive 0x08007c09 Thumb Code 590 stm32f4xx_hal_spi.o(.text.HAL_SPI_Receive) + HAL_SPI_Receive_DMA 0x08007e59 Thumb Code 408 stm32f4xx_hal_spi.o(.text.HAL_SPI_Receive_DMA) + HAL_SPI_RxCpltCallback 0x08007ff1 Thumb Code 84 spi_1.o(.text.HAL_SPI_RxCpltCallback) + HAL_SPI_RxHalfCpltCallback 0x08008045 Thumb Code 84 spi_1.o(.text.HAL_SPI_RxHalfCpltCallback) + HAL_SPI_Transmit 0x08008099 Thumb Code 674 stm32f4xx_hal_spi.o(.text.HAL_SPI_Transmit) + HAL_SPI_TransmitReceive 0x0800833d Thumb Code 930 stm32f4xx_hal_spi.o(.text.HAL_SPI_TransmitReceive) + HAL_SPI_TransmitReceive_DMA 0x080086e1 Thumb Code 532 stm32f4xx_hal_spi.o(.text.HAL_SPI_TransmitReceive_DMA) + HAL_SPI_Transmit_DMA 0x080088f5 Thumb Code 364 stm32f4xx_hal_spi.o(.text.HAL_SPI_Transmit_DMA) + HAL_SPI_TxCpltCallback 0x08008a61 Thumb Code 72 spi_1.o(.text.HAL_SPI_TxCpltCallback) + HAL_SPI_TxHalfCpltCallback 0x08008aa9 Thumb Code 84 spi_1.o(.text.HAL_SPI_TxHalfCpltCallback) + HAL_SPI_TxRxCpltCallback 0x08008afd Thumb Code 84 spi_1.o(.text.HAL_SPI_TxRxCpltCallback) + HAL_SPI_TxRxHalfCpltCallback 0x08008b51 Thumb Code 84 spi_1.o(.text.HAL_SPI_TxRxHalfCpltCallback) + HAL_SYSTICK_Config 0x08008ba5 Thumb Code 16 stm32f4xx_hal_cortex.o(.text.HAL_SYSTICK_Config) + HAL_TIMEx_BreakCallback 0x08008bb5 Thumb Code 8 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback) + HAL_TIMEx_CommutCallback 0x08008bbd Thumb Code 8 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) + HAL_TIMEx_MasterConfigSynchronization 0x08008bc5 Thumb Code 290 stm32f4xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization) + HAL_TIM_Base_Init 0x08008ce9 Thumb Code 156 stm32f4xx_hal_tim.o(.text.HAL_TIM_Base_Init) + HAL_TIM_Base_MspInit 0x08008d85 Thumb Code 138 tim.o(.text.HAL_TIM_Base_MspInit) + HAL_TIM_IC_CaptureCallback 0x08008e11 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) + HAL_TIM_IRQHandler 0x08008e19 Thumb Code 538 stm32f4xx_hal_tim.o(.text.HAL_TIM_IRQHandler) + HAL_TIM_MspPostInit 0x08009035 Thumb Code 108 tim.o(.text.HAL_TIM_MspPostInit) + HAL_TIM_OC_DelayElapsedCallback 0x080090a1 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) + HAL_TIM_PWM_ConfigChannel 0x080090a9 Thumb Code 322 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_ConfigChannel) + HAL_TIM_PWM_Init 0x080091ed Thumb Code 156 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Init) + HAL_TIM_PWM_MspInit 0x08009289 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit) + HAL_TIM_PWM_PulseFinishedCallback 0x08009291 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) + HAL_TIM_PWM_Start 0x08009299 Thumb Code 458 stm32f4xx_hal_tim.o(.text.HAL_TIM_PWM_Start) + HAL_TIM_PeriodElapsedCallback 0x08009465 Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) + HAL_TIM_TriggerCallback 0x0800946d Thumb Code 8 stm32f4xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) + HAL_UARTEx_RxEventCallback 0x08009475 Thumb Code 12 stm32f4xx_hal_uart.o(.text.HAL_UARTEx_RxEventCallback) + HAL_UART_ErrorCallback 0x08009481 Thumb Code 84 uart.o(.text.HAL_UART_ErrorCallback) + HAL_UART_IRQHandler 0x080094d5 Thumb Code 1116 stm32f4xx_hal_uart.o(.text.HAL_UART_IRQHandler) + HAL_UART_Init 0x08009931 Thumb Code 158 stm32f4xx_hal_uart.o(.text.HAL_UART_Init) + HAL_UART_MspInit 0x080099d1 Thumb Code 460 usart.o(.text.HAL_UART_MspInit) + HAL_UART_RxCpltCallback 0x08009b9d Thumb Code 84 uart.o(.text.HAL_UART_RxCpltCallback) + HAL_UART_TxCpltCallback 0x08009bf1 Thumb Code 84 uart.o(.text.HAL_UART_TxCpltCallback) + HardFault_Handler 0x08009c45 Thumb Code 4 stm32f4xx_it.o(.text.HardFault_Handler) + I2C1_ER_IRQHandler 0x08009c49 Thumb Code 16 stm32f4xx_it.o(.text.I2C1_ER_IRQHandler) + I2C1_EV_IRQHandler 0x08009c59 Thumb Code 16 stm32f4xx_it.o(.text.I2C1_EV_IRQHandler) + InvSqrt 0x0800b145 Thumb Code 118 user_math.o(.text.InvSqrt) + LowPassFilter2p_Apply 0x0800b1bd Thumb Code 184 filter.o(.text.LowPassFilter2p_Apply) + LowPassFilter2p_Init 0x0800b275 Thumb Code 316 filter.o(.text.LowPassFilter2p_Init) + LowPassFilter2p_Reset 0x0800b3b1 Thumb Code 146 filter.o(.text.LowPassFilter2p_Reset) + MOTOR_DM_Enable 0x0800b4dd Thumb Code 122 motor_dm.o(.text.MOTOR_DM_Enable) + MOTOR_DM_GetMotor 0x0800b589 Thumb Code 134 motor_dm.o(.text.MOTOR_DM_GetMotor) + MOTOR_DM_MITCtrl 0x0800b611 Thumb Code 72 motor_dm.o(.text.MOTOR_DM_MITCtrl) + MOTOR_DM_Register 0x0800b7b1 Thumb Code 300 motor_dm.o(.text.MOTOR_DM_Register) + MOTOR_DM_Update 0x0800ba21 Thumb Code 268 motor_dm.o(.text.MOTOR_DM_Update) + MOTOR_RM_Ctrl 0x0800bbc5 Thumb Code 368 motor_rm.o(.text.MOTOR_RM_Ctrl) + MOTOR_RM_GetMotor 0x0800be39 Thumb Code 120 motor_rm.o(.text.MOTOR_RM_GetMotor) + MOTOR_RM_Register 0x0800bf01 Thumb Code 288 motor_rm.o(.text.MOTOR_RM_Register) + MOTOR_RM_SetOutput 0x0800c021 Thumb Code 282 motor_rm.o(.text.MOTOR_RM_SetOutput) + MOTOR_RM_Update 0x0800c13d Thumb Code 258 motor_rm.o(.text.MOTOR_RM_Update) + MX_CAN1_Init 0x0800c241 Thumb Code 78 can.o(.text.MX_CAN1_Init) + MX_CAN2_Init 0x0800c291 Thumb Code 78 can.o(.text.MX_CAN2_Init) + MX_DMA_Init 0x0800c2e1 Thumb Code 134 dma.o(.text.MX_DMA_Init) + MX_FREERTOS_Init 0x0800c369 Thumb Code 64 freertos.o(.text.MX_FREERTOS_Init) + MX_GPIO_Init 0x0800c3a9 Thumb Code 554 gpio.o(.text.MX_GPIO_Init) + MX_I2C1_Init 0x0800c5d5 Thumb Code 72 i2c.o(.text.MX_I2C1_Init) + MX_I2C2_Init 0x0800c61d Thumb Code 72 i2c.o(.text.MX_I2C2_Init) + MX_SPI1_Init 0x0800c665 Thumb Code 82 spi.o(.text.MX_SPI1_Init) + MX_SPI2_Init 0x0800c6b9 Thumb Code 84 spi.o(.text.MX_SPI2_Init) + MX_TIM10_Init 0x0800c70d Thumb Code 142 tim.o(.text.MX_TIM10_Init) + MX_TIM7_Init 0x0800c79d Thumb Code 88 tim.o(.text.MX_TIM7_Init) + MX_USART1_UART_Init 0x0800c7f5 Thumb Code 64 usart.o(.text.MX_USART1_UART_Init) + MX_USART3_UART_Init 0x0800c835 Thumb Code 76 usart.o(.text.MX_USART3_UART_Init) + MemManage_Handler 0x0800c881 Thumb Code 4 stm32f4xx_it.o(.text.MemManage_Handler) + NMI_Handler 0x0800caa1 Thumb Code 4 stm32f4xx_it.o(.text.NMI_Handler) + PID_Calc 0x0800cb11 Thumb Code 752 pid.o(.text.PID_Calc) + PID_Init 0x0800ce01 Thumb Code 406 pid.o(.text.PID_Init) + PID_Reset 0x0800cf99 Thumb Code 72 pid.o(.text.PID_Reset) PendSV_Handler 0x0800cfe1 Thumb Code 100 port.o(.text.PendSV_Handler) RC_Init 0x0800d045 Thumb Code 148 bsp_rc.o(.text.RC_Init) RC_restart 0x0800d0d9 Thumb Code 90 bsp_rc.o(.text.RC_restart) @@ -7743,33 +7743,33 @@ Image Symbol Table cali_bmi088 0x200003b0 Data 12 atti_esti.o(.bss.cali_bmi088) defaultTaskHandle 0x200003cc Data 4 freertos.o(.bss.defaultTaskHandle) eulr_to_send 0x200003d0 Data 12 atti_esti.o(.bss.eulr_to_send) - gimbal 0x200003e8 Data 720 gimbal_ctrl.o(.bss.gimbal) - gimbal_ahrs 0x200006b8 Data 20 atti_esti.o(.bss.gimbal_ahrs) - gimbal_cmd 0x200006cc Data 12 gimbal_ctrl.o(.bss.gimbal_cmd) - gimbal_imu 0x200006d8 Data 24 gimbal_ctrl.o(.bss.gimbal_imu) - gimbal_to_send 0x200006f0 Data 24 atti_esti.o(.bss.gimbal_to_send) - hcan1 0x20000708 Data 40 can.o(.bss.hcan1) - hcan2 0x20000730 Data 40 can.o(.bss.hcan2) - hdma_spi1_rx 0x20000758 Data 96 spi.o(.bss.hdma_spi1_rx) - hdma_spi1_tx 0x200007b8 Data 96 spi.o(.bss.hdma_spi1_tx) - hdma_usart3_rx 0x20000818 Data 96 usart.o(.bss.hdma_usart3_rx) - hi2c1 0x20000878 Data 84 i2c.o(.bss.hi2c1) - hi2c2 0x200008cc Data 84 i2c.o(.bss.hi2c2) - hspi1 0x20000920 Data 88 spi.o(.bss.hspi1) - hspi2 0x20000978 Data 88 spi.o(.bss.hspi2) - htim10 0x200009d0 Data 72 tim.o(.bss.htim10) - htim7 0x20000a18 Data 72 tim.o(.bss.htim7) - huart1 0x20000a60 Data 72 usart.o(.bss.huart1) - huart3 0x20000aa8 Data 72 usart.o(.bss.huart3) - imu 0x20000af4 Data 24 remote.o(.bss.imu) - imu_temp_ctrl_pid 0x20000b0c Data 60 atti_esti.o(.bss.imu_temp_ctrl_pid) - magn 0x20000b4c Data 12 atti_esti.o(.bss.magn) - pxCurrentTCB 0x20000c4c Data 4 tasks.o(.bss.pxCurrentTCB) - rc_ctrl 0x200010cc Data 24 remote_control.o(.bss.rc_ctrl) - remote_cmd 0x200010e4 Data 12 remote.o(.bss.remote_cmd) - task_runtime 0x2000110c Data 80 user_task.o(.bss.task_runtime) - uwTick 0x20007980 Data 4 stm32f4xx_hal.o(.bss.uwTick) - xQueueRegistry 0x200080e8 Data 64 queue.o(.bss.xQueueRegistry) + gimbal 0x200003e8 Data 744 gimbal_ctrl.o(.bss.gimbal) + gimbal_ahrs 0x200006d0 Data 20 atti_esti.o(.bss.gimbal_ahrs) + gimbal_cmd 0x200006e4 Data 12 gimbal_ctrl.o(.bss.gimbal_cmd) + gimbal_imu 0x200006f0 Data 24 gimbal_ctrl.o(.bss.gimbal_imu) + gimbal_to_send 0x20000708 Data 24 atti_esti.o(.bss.gimbal_to_send) + hcan1 0x20000720 Data 40 can.o(.bss.hcan1) + hcan2 0x20000748 Data 40 can.o(.bss.hcan2) + hdma_spi1_rx 0x20000770 Data 96 spi.o(.bss.hdma_spi1_rx) + hdma_spi1_tx 0x200007d0 Data 96 spi.o(.bss.hdma_spi1_tx) + hdma_usart3_rx 0x20000830 Data 96 usart.o(.bss.hdma_usart3_rx) + hi2c1 0x20000890 Data 84 i2c.o(.bss.hi2c1) + hi2c2 0x200008e4 Data 84 i2c.o(.bss.hi2c2) + hspi1 0x20000938 Data 88 spi.o(.bss.hspi1) + hspi2 0x20000990 Data 88 spi.o(.bss.hspi2) + htim10 0x200009e8 Data 72 tim.o(.bss.htim10) + htim7 0x20000a30 Data 72 tim.o(.bss.htim7) + huart1 0x20000a78 Data 72 usart.o(.bss.huart1) + huart3 0x20000ac0 Data 72 usart.o(.bss.huart3) + imu 0x20000b0c Data 24 remote.o(.bss.imu) + imu_temp_ctrl_pid 0x20000b24 Data 60 atti_esti.o(.bss.imu_temp_ctrl_pid) + magn 0x20000b64 Data 12 atti_esti.o(.bss.magn) + pxCurrentTCB 0x20000c64 Data 4 tasks.o(.bss.pxCurrentTCB) + rc_ctrl 0x200010e4 Data 24 remote_control.o(.bss.rc_ctrl) + remote_cmd 0x200010fc Data 12 remote.o(.bss.remote_cmd) + task_runtime 0x20001124 Data 80 user_task.o(.bss.task_runtime) + uwTick 0x20007998 Data 4 stm32f4xx_hal.o(.bss.uwTick) + xQueueRegistry 0x20008100 Data 64 queue.o(.bss.xQueueRegistry) @@ -7779,7 +7779,7 @@ Memory Map of the image Image Entry point : 0x08000189 - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00015090, Max: 0x00100000, ABSOLUTE, COMPRESSED[0x00014f60]) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00015090, Max: 0x00100000, ABSOLUTE, COMPRESSED[0x00014f80]) Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00014ee4, Max: 0x00100000, ABSOLUTE) @@ -7788,425 +7788,424 @@ Memory Map of the image 0x08000000 0x08000000 0x00000188 Data RO 3 RESET startup_stm32f407xx.o 0x08000188 0x08000188 0x00000008 Code RO 3098 * !!!main c_w.l(__main.o) 0x08000190 0x08000190 0x00000034 Code RO 3587 !!!scatter c_w.l(__scatter.o) - 0x080001c4 0x080001c4 0x0000005a Code RO 3585 !!dczerorl2 c_w.l(__dczerorl2.o) - 0x0800021e 0x0800021e 0x00000002 PAD - 0x08000220 0x08000220 0x0000001c Code RO 3589 !!handler_zi c_w.l(__scatter_zi.o) - 0x0800023c 0x0800023c 0x00000002 Code RO 3441 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) - 0x0800023e 0x0800023e 0x00000004 Code RO 3459 .ARM.Collect$$libinit$$00000001 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3462 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3465 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3467 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3469 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3472 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3474 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3476 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3478 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3480 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3482 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3484 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3486 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3488 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3490 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3492 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3496 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3498 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3500 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000000 Code RO 3502 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) - 0x08000242 0x08000242 0x00000002 Code RO 3503 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) - 0x08000244 0x08000244 0x00000002 Code RO 3540 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) - 0x08000246 0x08000246 0x00000000 Code RO 3568 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) - 0x08000246 0x08000246 0x00000000 Code RO 3570 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) - 0x08000246 0x08000246 0x00000000 Code RO 3573 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o) - 0x08000246 0x08000246 0x00000000 Code RO 3576 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o) - 0x08000246 0x08000246 0x00000000 Code RO 3578 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) - 0x08000246 0x08000246 0x00000000 Code RO 3581 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o) - 0x08000246 0x08000246 0x00000002 Code RO 3582 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o) - 0x08000248 0x08000248 0x00000000 Code RO 3156 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) - 0x08000248 0x08000248 0x00000000 Code RO 3339 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) - 0x08000248 0x08000248 0x00000006 Code RO 3351 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) - 0x0800024e 0x0800024e 0x00000000 Code RO 3341 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) - 0x0800024e 0x0800024e 0x00000004 Code RO 3342 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) - 0x08000252 0x08000252 0x00000000 Code RO 3344 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) - 0x08000252 0x08000252 0x00000008 Code RO 3345 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) - 0x0800025a 0x0800025a 0x00000002 Code RO 3444 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) - 0x0800025c 0x0800025c 0x00000000 Code RO 3509 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) - 0x0800025c 0x0800025c 0x00000004 Code RO 3510 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) - 0x08000260 0x08000260 0x00000006 Code RO 3511 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) - 0x08000266 0x08000266 0x00000002 PAD - 0x08000268 0x08000268 0x00000040 Code RO 4 .text startup_stm32f407xx.o - 0x080002a8 0x080002a8 0x000000f0 Code RO 3072 .text c_w.l(lludivv7m.o) - 0x08000398 0x08000398 0x0000008a Code RO 3084 .text c_w.l(rt_memcpy_v6.o) - 0x08000422 0x08000422 0x00000010 Code RO 3088 .text c_w.l(aeabi_memset4.o) - 0x08000432 0x08000432 0x0000004e Code RO 3092 .text c_w.l(rt_memclr_w.o) - 0x08000480 0x08000480 0x00000006 Code RO 3096 .text c_w.l(heapauxi.o) - 0x08000486 0x08000486 0x00000016 Code RO 3161 .text c_w.l(_rserrno.o) - 0x0800049c 0x0800049c 0x00000064 Code RO 3256 .text c_w.l(rt_memcpy_w.o) - 0x08000500 0x08000500 0x00000008 Code RO 3358 .text c_w.l(rt_errno_addr_intlibspace.o) - 0x08000508 0x08000508 0x00000008 Code RO 3386 .text c_w.l(libspace.o) - 0x08000510 0x08000510 0x0000004a Code RO 3389 .text c_w.l(sys_stackheap_outer.o) - 0x0800055a 0x0800055a 0x00000012 Code RO 3430 .text c_w.l(exit.o) - 0x0800056c 0x0800056c 0x0000000c Code RO 3504 .text c_w.l(sys_exit.o) - 0x08000578 0x08000578 0x00000002 Code RO 3529 .text c_w.l(use_no_semi.o) - 0x0800057a 0x0800057a 0x00000000 Code RO 3531 .text c_w.l(indicate_semi.o) - 0x0800057a 0x0800057a 0x00000002 PAD - 0x0800057c 0x0800057c 0x0000015c Code RO 2480 .text.AHRS_GetEulr ahrs.o - 0x080006d8 0x080006d8 0x00000284 Code RO 2474 .text.AHRS_Init ahrs.o - 0x0800095c 0x0800095c 0x00000012 Code RO 2484 .text.AHRS_ResetEulr ahrs.o - 0x0800096e 0x0800096e 0x00000002 PAD - 0x08000970 0x08000970 0x00000c1a Code RO 2476 .text.AHRS_Update ahrs.o - 0x0800158a 0x0800158a 0x00000002 PAD - 0x0800158c 0x0800158c 0x000005c8 Code RO 2478 .text.AHRS_UpdateIMU ahrs.o - 0x08001b54 0x08001b54 0x0000006a Code RO 2677 .text.AbsClip user_math.o - 0x08001bbe 0x08001bbe 0x00000002 PAD - 0x08001bc0 0x08001bc0 0x00000014 Code RO 2761 .text.BMI088_AcclIntCallback bmi088.o - 0x08001bd4 0x08001bd4 0x0000001e Code RO 2769 .text.BMI088_AcclStartDmaRecv bmi088.o - 0x08001bf2 0x08001bf2 0x00000002 PAD - 0x08001bf4 0x08001bf4 0x00000010 Code RO 2773 .text.BMI088_AcclWaitDmaCplt bmi088.o - 0x08001c04 0x08001c04 0x00000010 Code RO 2783 .text.BMI088_GetUpdateFreq bmi088.o - 0x08001c14 0x08001c14 0x00000014 Code RO 2763 .text.BMI088_GyroIntCallback bmi088.o - 0x08001c28 0x08001c28 0x0000001a Code RO 2775 .text.BMI088_GyroStartDmaRecv bmi088.o - 0x08001c42 0x08001c42 0x00000002 PAD - 0x08001c44 0x08001c44 0x00000010 Code RO 2777 .text.BMI088_GyroWaitDmaCplt bmi088.o - 0x08001c54 0x08001c54 0x00000188 Code RO 2753 .text.BMI088_Init bmi088.o - 0x08001ddc 0x08001ddc 0x000000f4 Code RO 2779 .text.BMI088_ParseAccl bmi088.o - 0x08001ed0 0x08001ed0 0x00000118 Code RO 2781 .text.BMI088_ParseGyro bmi088.o - 0x08001fe8 0x08001fe8 0x00000054 Code RO 2759 .text.BMI088_RxCpltCallback bmi088.o - 0x0800203c 0x0800203c 0x00000010 Code RO 2767 .text.BMI088_WaitNew bmi088.o - 0x0800204c 0x0800204c 0x00000076 Code RO 2771 .text.BMI_Read bmi088.o - 0x080020c2 0x080020c2 0x00000002 PAD - 0x080020c4 0x080020c4 0x000000b2 Code RO 2757 .text.BMI_ReadSingle bmi088.o - 0x08002176 0x08002176 0x00000002 PAD - 0x08002178 0x08002178 0x00000094 Code RO 2755 .text.BMI_WriteSingle bmi088.o - 0x0800220c 0x0800220c 0x00000124 Code RO 2242 .text.BSP_CAN_CreateIdQueue can_1.o - 0x08002330 0x08002330 0x0000000e Code RO 2218 .text.BSP_CAN_DefaultIdParser can_1.o - 0x0800233e 0x0800233e 0x00000002 PAD - 0x08002340 0x08002340 0x00000052 Code RO 2246 .text.BSP_CAN_FindQueue can_1.o - 0x08002392 0x08002392 0x00000002 PAD - 0x08002394 0x08002394 0x0000003a Code RO 2256 .text.BSP_CAN_GetFrameType can_1.o - 0x080023ce 0x080023ce 0x00000002 PAD - 0x080023d0 0x080023d0 0x0000004e Code RO 2228 .text.BSP_CAN_GetHandle can_1.o - 0x0800241e 0x0800241e 0x00000002 PAD - 0x08002420 0x08002420 0x0000009e Code RO 2244 .text.BSP_CAN_GetMessage can_1.o - 0x080024be 0x080024be 0x00000002 PAD - 0x080024c0 0x080024c0 0x00000174 Code RO 2214 .text.BSP_CAN_Init can_1.o - 0x08002634 0x08002634 0x00000042 Code RO 2254 .text.BSP_CAN_ParseId can_1.o - 0x08002676 0x08002676 0x00000002 PAD - 0x08002678 0x08002678 0x00000082 Code RO 2220 .text.BSP_CAN_RegisterCallback can_1.o - 0x080026fa 0x080026fa 0x00000002 PAD - 0x080026fc 0x080026fc 0x00000042 Code RO 2240 .text.BSP_CAN_RegisterId can_1.o - 0x0800273e 0x0800273e 0x00000002 PAD - 0x08002740 0x08002740 0x000000e4 Code RO 2222 .text.BSP_CAN_RxFifo0Callback can_1.o - 0x08002824 0x08002824 0x000000e4 Code RO 2226 .text.BSP_CAN_RxFifo1Callback can_1.o - 0x08002908 0x08002908 0x00000176 Code RO 2230 .text.BSP_CAN_Transmit can_1.o - 0x08002a7e 0x08002a7e 0x00000002 PAD - 0x08002a80 0x08002a80 0x0000003e Code RO 2234 .text.BSP_CAN_TransmitStdDataFrame can_1.o - 0x08002abe 0x08002abe 0x00000002 PAD - 0x08002ac0 0x08002ac0 0x00000078 Code RO 2224 .text.BSP_CAN_TxCompleteCallback can_1.o - 0x08002b38 0x08002b38 0x00000042 Code RO 2216 .text.BSP_CAN_TxQueueInit can_1.o - 0x08002b7a 0x08002b7a 0x00000002 PAD - 0x08002b7c 0x08002b7c 0x00000056 Code RO 2258 .text.BSP_CAN_TxQueueIsEmpty can_1.o - 0x08002bd2 0x08002bd2 0x00000002 PAD - 0x08002bd4 0x08002bd4 0x000000ac Code RO 2260 .text.BSP_CAN_TxQueuePop can_1.o - 0x08002c80 0x08002c80 0x000000ac Code RO 2232 .text.BSP_CAN_TxQueuePush can_1.o - 0x08002d2c 0x08002d2c 0x00000010 Code RO 2344 .text.BSP_Free mm.o - 0x08002d3c 0x08002d3c 0x00000058 Code RO 2281 .text.BSP_GPIO_DisableIRQ gpio_1.o - 0x08002d94 0x08002d94 0x00000058 Code RO 2279 .text.BSP_GPIO_EnableIRQ gpio_1.o - 0x08002dec 0x08002dec 0x0000004a Code RO 2287 .text.BSP_GPIO_ReadPin gpio_1.o - 0x08002e36 0x08002e36 0x00000002 PAD - 0x08002e38 0x08002e38 0x00000090 Code RO 2277 .text.BSP_GPIO_RegisterCallback gpio_1.o - 0x08002ec8 0x08002ec8 0x00000050 Code RO 2283 .text.BSP_GPIO_WritePin gpio_1.o - 0x08002f18 0x08002f18 0x00000010 Code RO 2342 .text.BSP_Malloc mm.o - 0x08002f28 0x08002f28 0x0000013e Code RO 2355 .text.BSP_PWM_SetComp pwm.o - 0x08003066 0x08003066 0x00000002 PAD - 0x08003068 0x08003068 0x00000044 Code RO 2353 .text.BSP_PWM_Start pwm.o - 0x080030ac 0x080030ac 0x00000026 Code RO 2397 .text.BSP_SPI_GetHandle spi_1.o - 0x080030d2 0x080030d2 0x00000002 PAD - 0x080030d4 0x080030d4 0x00000080 Code RO 2403 .text.BSP_SPI_Receive spi_1.o - 0x08003154 0x08003154 0x00000044 Code RO 2399 .text.BSP_SPI_RegisterCallback spi_1.o - 0x08003198 0x08003198 0x00000080 Code RO 2401 .text.BSP_SPI_Transmit spi_1.o - 0x08003218 0x08003218 0x0000008e Code RO 2427 .text.BSP_TIME_Delay_ms time.o - 0x080032a6 0x080032a6 0x00000002 PAD - 0x080032a8 0x080032a8 0x000000aa Code RO 2425 .text.BSP_TIME_Get_us time.o - 0x08003352 0x08003352 0x00000002 PAD - 0x08003354 0x08003354 0x0000006c Code RO 2456 .text.BSP_UART_IRQHandler uart.o - 0x080033c0 0x080033c0 0x00000004 Code RO 158 .text.BusFault_Handler stm32f4xx_it.o - 0x080033c4 0x080033c4 0x00000010 Code RO 176 .text.CAN1_RX0_IRQHandler stm32f4xx_it.o - 0x080033d4 0x080033d4 0x00000010 Code RO 178 .text.CAN1_RX1_IRQHandler stm32f4xx_it.o - 0x080033e4 0x080033e4 0x00000010 Code RO 174 .text.CAN1_TX_IRQHandler stm32f4xx_it.o - 0x080033f4 0x080033f4 0x00000010 Code RO 196 .text.CAN2_RX0_IRQHandler stm32f4xx_it.o - 0x08003404 0x08003404 0x00000010 Code RO 198 .text.CAN2_RX1_IRQHandler stm32f4xx_it.o - 0x08003414 0x08003414 0x00000010 Code RO 194 .text.CAN2_TX_IRQHandler stm32f4xx_it.o - 0x08003424 0x08003424 0x00000056 Code RO 2188 .text.CAN_Get can_1.o - 0x0800347a 0x0800347a 0x00000002 PAD - 0x0800347c 0x0800347c 0x00000084 Code RO 2689 .text.CircleAdd user_math.o - 0x08003500 0x08003500 0x0000009a Code RO 2687 .text.CircleError user_math.o - 0x0800359a 0x0800359a 0x00000002 PAD - 0x0800359c 0x0800359c 0x0000004c Code RO 2681 .text.Clip user_math.o - 0x080035e8 0x080035e8 0x0000000a Code RO 3062 .text.Config_GetRobotParam config.o - 0x080035f2 0x080035f2 0x00000002 PAD - 0x080035f4 0x080035f4 0x00000014 Code RO 172 .text.DMA1_Stream1_IRQHandler stm32f4xx_it.o - 0x08003608 0x08003608 0x00000056 Code RO 2921 .text.DMA1_Stream1_IRQHandler1 remote_control.o - 0x0800365e 0x0800365e 0x00000002 PAD - 0x08003660 0x08003660 0x00000010 Code RO 190 .text.DMA2_Stream2_IRQHandler stm32f4xx_it.o - 0x08003670 0x08003670 0x00000010 Code RO 192 .text.DMA2_Stream3_IRQHandler stm32f4xx_it.o - 0x08003680 0x08003680 0x00000056 Code RO 472 .text.DMA_CalcBaseAndBitshift stm32f4xx_hal_dma.o - 0x080036d6 0x080036d6 0x00000002 PAD - 0x080036d8 0x080036d8 0x000000f0 Code RO 470 .text.DMA_CheckFifoParam stm32f4xx_hal_dma.o - 0x080037c8 0x080037c8 0x00000050 Code RO 478 .text.DMA_SetConfig stm32f4xx_hal_dma.o - 0x08003818 0x08003818 0x00000002 Code RO 162 .text.DebugMon_Handler stm32f4xx_it.o - 0x0800381a 0x0800381a 0x00000002 PAD - 0x0800381c 0x0800381c 0x0000000a Code RO 166 .text.EXTI0_IRQHandler stm32f4xx_it.o - 0x08003826 0x08003826 0x00000002 PAD - 0x08003828 0x08003828 0x0000000a Code RO 168 .text.EXTI3_IRQHandler stm32f4xx_it.o + 0x080001c4 0x080001c4 0x0000003a Code RO 3585 !!dczerorl c_w.l(__dczerorl.o) + 0x080001fe 0x080001fe 0x00000002 PAD + 0x08000200 0x08000200 0x0000001c Code RO 3589 !!handler_zi c_w.l(__scatter_zi.o) + 0x0800021c 0x0800021c 0x00000002 Code RO 3441 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) + 0x0800021e 0x0800021e 0x00000004 Code RO 3459 .ARM.Collect$$libinit$$00000001 c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3462 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3465 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3467 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3469 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3472 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3474 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3476 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3478 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3480 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3482 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3484 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3486 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3488 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3490 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3492 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3496 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3498 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3500 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000000 Code RO 3502 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) + 0x08000222 0x08000222 0x00000002 Code RO 3503 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) + 0x08000224 0x08000224 0x00000002 Code RO 3540 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) + 0x08000226 0x08000226 0x00000000 Code RO 3568 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) + 0x08000226 0x08000226 0x00000000 Code RO 3570 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) + 0x08000226 0x08000226 0x00000000 Code RO 3573 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o) + 0x08000226 0x08000226 0x00000000 Code RO 3576 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o) + 0x08000226 0x08000226 0x00000000 Code RO 3578 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) + 0x08000226 0x08000226 0x00000000 Code RO 3581 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o) + 0x08000226 0x08000226 0x00000002 Code RO 3582 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o) + 0x08000228 0x08000228 0x00000000 Code RO 3156 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) + 0x08000228 0x08000228 0x00000000 Code RO 3339 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) + 0x08000228 0x08000228 0x00000006 Code RO 3351 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) + 0x0800022e 0x0800022e 0x00000000 Code RO 3341 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) + 0x0800022e 0x0800022e 0x00000004 Code RO 3342 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) + 0x08000232 0x08000232 0x00000000 Code RO 3344 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) + 0x08000232 0x08000232 0x00000008 Code RO 3345 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) + 0x0800023a 0x0800023a 0x00000002 Code RO 3444 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) + 0x0800023c 0x0800023c 0x00000000 Code RO 3509 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) + 0x0800023c 0x0800023c 0x00000004 Code RO 3510 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) + 0x08000240 0x08000240 0x00000006 Code RO 3511 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) + 0x08000246 0x08000246 0x00000002 PAD + 0x08000248 0x08000248 0x00000040 Code RO 4 .text startup_stm32f407xx.o + 0x08000288 0x08000288 0x000000f0 Code RO 3072 .text c_w.l(lludivv7m.o) + 0x08000378 0x08000378 0x0000008a Code RO 3084 .text c_w.l(rt_memcpy_v6.o) + 0x08000402 0x08000402 0x00000010 Code RO 3088 .text c_w.l(aeabi_memset4.o) + 0x08000412 0x08000412 0x0000004e Code RO 3092 .text c_w.l(rt_memclr_w.o) + 0x08000460 0x08000460 0x00000006 Code RO 3096 .text c_w.l(heapauxi.o) + 0x08000466 0x08000466 0x00000016 Code RO 3161 .text c_w.l(_rserrno.o) + 0x0800047c 0x0800047c 0x00000064 Code RO 3256 .text c_w.l(rt_memcpy_w.o) + 0x080004e0 0x080004e0 0x00000008 Code RO 3358 .text c_w.l(rt_errno_addr_intlibspace.o) + 0x080004e8 0x080004e8 0x00000008 Code RO 3386 .text c_w.l(libspace.o) + 0x080004f0 0x080004f0 0x0000004a Code RO 3389 .text c_w.l(sys_stackheap_outer.o) + 0x0800053a 0x0800053a 0x00000012 Code RO 3430 .text c_w.l(exit.o) + 0x0800054c 0x0800054c 0x0000000c Code RO 3504 .text c_w.l(sys_exit.o) + 0x08000558 0x08000558 0x00000002 Code RO 3529 .text c_w.l(use_no_semi.o) + 0x0800055a 0x0800055a 0x00000000 Code RO 3531 .text c_w.l(indicate_semi.o) + 0x0800055a 0x0800055a 0x00000002 PAD + 0x0800055c 0x0800055c 0x0000015c Code RO 2480 .text.AHRS_GetEulr ahrs.o + 0x080006b8 0x080006b8 0x00000284 Code RO 2474 .text.AHRS_Init ahrs.o + 0x0800093c 0x0800093c 0x00000012 Code RO 2484 .text.AHRS_ResetEulr ahrs.o + 0x0800094e 0x0800094e 0x00000002 PAD + 0x08000950 0x08000950 0x00000c1a Code RO 2476 .text.AHRS_Update ahrs.o + 0x0800156a 0x0800156a 0x00000002 PAD + 0x0800156c 0x0800156c 0x000005c8 Code RO 2478 .text.AHRS_UpdateIMU ahrs.o + 0x08001b34 0x08001b34 0x0000006a Code RO 2677 .text.AbsClip user_math.o + 0x08001b9e 0x08001b9e 0x00000002 PAD + 0x08001ba0 0x08001ba0 0x00000014 Code RO 2761 .text.BMI088_AcclIntCallback bmi088.o + 0x08001bb4 0x08001bb4 0x0000001e Code RO 2769 .text.BMI088_AcclStartDmaRecv bmi088.o + 0x08001bd2 0x08001bd2 0x00000002 PAD + 0x08001bd4 0x08001bd4 0x00000010 Code RO 2773 .text.BMI088_AcclWaitDmaCplt bmi088.o + 0x08001be4 0x08001be4 0x00000010 Code RO 2783 .text.BMI088_GetUpdateFreq bmi088.o + 0x08001bf4 0x08001bf4 0x00000014 Code RO 2763 .text.BMI088_GyroIntCallback bmi088.o + 0x08001c08 0x08001c08 0x0000001a Code RO 2775 .text.BMI088_GyroStartDmaRecv bmi088.o + 0x08001c22 0x08001c22 0x00000002 PAD + 0x08001c24 0x08001c24 0x00000010 Code RO 2777 .text.BMI088_GyroWaitDmaCplt bmi088.o + 0x08001c34 0x08001c34 0x00000188 Code RO 2753 .text.BMI088_Init bmi088.o + 0x08001dbc 0x08001dbc 0x000000f4 Code RO 2779 .text.BMI088_ParseAccl bmi088.o + 0x08001eb0 0x08001eb0 0x00000118 Code RO 2781 .text.BMI088_ParseGyro bmi088.o + 0x08001fc8 0x08001fc8 0x00000054 Code RO 2759 .text.BMI088_RxCpltCallback bmi088.o + 0x0800201c 0x0800201c 0x00000010 Code RO 2767 .text.BMI088_WaitNew bmi088.o + 0x0800202c 0x0800202c 0x00000076 Code RO 2771 .text.BMI_Read bmi088.o + 0x080020a2 0x080020a2 0x00000002 PAD + 0x080020a4 0x080020a4 0x000000b2 Code RO 2757 .text.BMI_ReadSingle bmi088.o + 0x08002156 0x08002156 0x00000002 PAD + 0x08002158 0x08002158 0x00000094 Code RO 2755 .text.BMI_WriteSingle bmi088.o + 0x080021ec 0x080021ec 0x00000124 Code RO 2242 .text.BSP_CAN_CreateIdQueue can_1.o + 0x08002310 0x08002310 0x0000000e Code RO 2218 .text.BSP_CAN_DefaultIdParser can_1.o + 0x0800231e 0x0800231e 0x00000002 PAD + 0x08002320 0x08002320 0x00000052 Code RO 2246 .text.BSP_CAN_FindQueue can_1.o + 0x08002372 0x08002372 0x00000002 PAD + 0x08002374 0x08002374 0x0000003a Code RO 2256 .text.BSP_CAN_GetFrameType can_1.o + 0x080023ae 0x080023ae 0x00000002 PAD + 0x080023b0 0x080023b0 0x0000004e Code RO 2228 .text.BSP_CAN_GetHandle can_1.o + 0x080023fe 0x080023fe 0x00000002 PAD + 0x08002400 0x08002400 0x0000009e Code RO 2244 .text.BSP_CAN_GetMessage can_1.o + 0x0800249e 0x0800249e 0x00000002 PAD + 0x080024a0 0x080024a0 0x00000174 Code RO 2214 .text.BSP_CAN_Init can_1.o + 0x08002614 0x08002614 0x00000042 Code RO 2254 .text.BSP_CAN_ParseId can_1.o + 0x08002656 0x08002656 0x00000002 PAD + 0x08002658 0x08002658 0x00000082 Code RO 2220 .text.BSP_CAN_RegisterCallback can_1.o + 0x080026da 0x080026da 0x00000002 PAD + 0x080026dc 0x080026dc 0x00000042 Code RO 2240 .text.BSP_CAN_RegisterId can_1.o + 0x0800271e 0x0800271e 0x00000002 PAD + 0x08002720 0x08002720 0x000000e4 Code RO 2222 .text.BSP_CAN_RxFifo0Callback can_1.o + 0x08002804 0x08002804 0x000000e4 Code RO 2226 .text.BSP_CAN_RxFifo1Callback can_1.o + 0x080028e8 0x080028e8 0x00000176 Code RO 2230 .text.BSP_CAN_Transmit can_1.o + 0x08002a5e 0x08002a5e 0x00000002 PAD + 0x08002a60 0x08002a60 0x0000003e Code RO 2234 .text.BSP_CAN_TransmitStdDataFrame can_1.o + 0x08002a9e 0x08002a9e 0x00000002 PAD + 0x08002aa0 0x08002aa0 0x00000078 Code RO 2224 .text.BSP_CAN_TxCompleteCallback can_1.o + 0x08002b18 0x08002b18 0x00000042 Code RO 2216 .text.BSP_CAN_TxQueueInit can_1.o + 0x08002b5a 0x08002b5a 0x00000002 PAD + 0x08002b5c 0x08002b5c 0x00000056 Code RO 2258 .text.BSP_CAN_TxQueueIsEmpty can_1.o + 0x08002bb2 0x08002bb2 0x00000002 PAD + 0x08002bb4 0x08002bb4 0x000000ac Code RO 2260 .text.BSP_CAN_TxQueuePop can_1.o + 0x08002c60 0x08002c60 0x000000ac Code RO 2232 .text.BSP_CAN_TxQueuePush can_1.o + 0x08002d0c 0x08002d0c 0x00000010 Code RO 2344 .text.BSP_Free mm.o + 0x08002d1c 0x08002d1c 0x00000058 Code RO 2281 .text.BSP_GPIO_DisableIRQ gpio_1.o + 0x08002d74 0x08002d74 0x00000058 Code RO 2279 .text.BSP_GPIO_EnableIRQ gpio_1.o + 0x08002dcc 0x08002dcc 0x0000004a Code RO 2287 .text.BSP_GPIO_ReadPin gpio_1.o + 0x08002e16 0x08002e16 0x00000002 PAD + 0x08002e18 0x08002e18 0x00000090 Code RO 2277 .text.BSP_GPIO_RegisterCallback gpio_1.o + 0x08002ea8 0x08002ea8 0x00000050 Code RO 2283 .text.BSP_GPIO_WritePin gpio_1.o + 0x08002ef8 0x08002ef8 0x00000010 Code RO 2342 .text.BSP_Malloc mm.o + 0x08002f08 0x08002f08 0x0000013e Code RO 2355 .text.BSP_PWM_SetComp pwm.o + 0x08003046 0x08003046 0x00000002 PAD + 0x08003048 0x08003048 0x00000044 Code RO 2353 .text.BSP_PWM_Start pwm.o + 0x0800308c 0x0800308c 0x00000026 Code RO 2397 .text.BSP_SPI_GetHandle spi_1.o + 0x080030b2 0x080030b2 0x00000002 PAD + 0x080030b4 0x080030b4 0x00000080 Code RO 2403 .text.BSP_SPI_Receive spi_1.o + 0x08003134 0x08003134 0x00000044 Code RO 2399 .text.BSP_SPI_RegisterCallback spi_1.o + 0x08003178 0x08003178 0x00000080 Code RO 2401 .text.BSP_SPI_Transmit spi_1.o + 0x080031f8 0x080031f8 0x0000008e Code RO 2427 .text.BSP_TIME_Delay_ms time.o + 0x08003286 0x08003286 0x00000002 PAD + 0x08003288 0x08003288 0x000000aa Code RO 2425 .text.BSP_TIME_Get_us time.o + 0x08003332 0x08003332 0x00000002 PAD + 0x08003334 0x08003334 0x0000006c Code RO 2456 .text.BSP_UART_IRQHandler uart.o + 0x080033a0 0x080033a0 0x00000004 Code RO 158 .text.BusFault_Handler stm32f4xx_it.o + 0x080033a4 0x080033a4 0x00000010 Code RO 176 .text.CAN1_RX0_IRQHandler stm32f4xx_it.o + 0x080033b4 0x080033b4 0x00000010 Code RO 178 .text.CAN1_RX1_IRQHandler stm32f4xx_it.o + 0x080033c4 0x080033c4 0x00000010 Code RO 174 .text.CAN1_TX_IRQHandler stm32f4xx_it.o + 0x080033d4 0x080033d4 0x00000010 Code RO 196 .text.CAN2_RX0_IRQHandler stm32f4xx_it.o + 0x080033e4 0x080033e4 0x00000010 Code RO 198 .text.CAN2_RX1_IRQHandler stm32f4xx_it.o + 0x080033f4 0x080033f4 0x00000010 Code RO 194 .text.CAN2_TX_IRQHandler stm32f4xx_it.o + 0x08003404 0x08003404 0x00000056 Code RO 2188 .text.CAN_Get can_1.o + 0x0800345a 0x0800345a 0x00000002 PAD + 0x0800345c 0x0800345c 0x00000084 Code RO 2689 .text.CircleAdd user_math.o + 0x080034e0 0x080034e0 0x0000009a Code RO 2687 .text.CircleError user_math.o + 0x0800357a 0x0800357a 0x00000002 PAD + 0x0800357c 0x0800357c 0x0000004c Code RO 2681 .text.Clip user_math.o + 0x080035c8 0x080035c8 0x0000000a Code RO 3062 .text.Config_GetRobotParam config.o + 0x080035d2 0x080035d2 0x00000002 PAD + 0x080035d4 0x080035d4 0x00000014 Code RO 172 .text.DMA1_Stream1_IRQHandler stm32f4xx_it.o + 0x080035e8 0x080035e8 0x00000056 Code RO 2921 .text.DMA1_Stream1_IRQHandler1 remote_control.o + 0x0800363e 0x0800363e 0x00000002 PAD + 0x08003640 0x08003640 0x00000010 Code RO 190 .text.DMA2_Stream2_IRQHandler stm32f4xx_it.o + 0x08003650 0x08003650 0x00000010 Code RO 192 .text.DMA2_Stream3_IRQHandler stm32f4xx_it.o + 0x08003660 0x08003660 0x00000056 Code RO 472 .text.DMA_CalcBaseAndBitshift stm32f4xx_hal_dma.o + 0x080036b6 0x080036b6 0x00000002 PAD + 0x080036b8 0x080036b8 0x000000f0 Code RO 470 .text.DMA_CheckFifoParam stm32f4xx_hal_dma.o + 0x080037a8 0x080037a8 0x00000050 Code RO 478 .text.DMA_SetConfig stm32f4xx_hal_dma.o + 0x080037f8 0x080037f8 0x00000002 Code RO 162 .text.DebugMon_Handler stm32f4xx_it.o + 0x080037fa 0x080037fa 0x00000002 PAD + 0x080037fc 0x080037fc 0x0000000a Code RO 166 .text.EXTI0_IRQHandler stm32f4xx_it.o + 0x08003806 0x08003806 0x00000002 PAD + 0x08003808 0x08003808 0x0000000a Code RO 168 .text.EXTI3_IRQHandler stm32f4xx_it.o + 0x08003812 0x08003812 0x00000002 PAD + 0x08003814 0x08003814 0x0000000a Code RO 170 .text.EXTI4_IRQHandler stm32f4xx_it.o + 0x0800381e 0x0800381e 0x00000002 PAD + 0x08003820 0x08003820 0x0000000a Code RO 180 .text.EXTI9_5_IRQHandler stm32f4xx_it.o + 0x0800382a 0x0800382a 0x00000002 PAD + 0x0800382c 0x0800382c 0x00000006 Code RO 15 .text.Error_Handler main.o 0x08003832 0x08003832 0x00000002 PAD - 0x08003834 0x08003834 0x0000000a Code RO 170 .text.EXTI4_IRQHandler stm32f4xx_it.o - 0x0800383e 0x0800383e 0x00000002 PAD - 0x08003840 0x08003840 0x0000000a Code RO 180 .text.EXTI9_5_IRQHandler stm32f4xx_it.o - 0x0800384a 0x0800384a 0x00000002 PAD - 0x0800384c 0x0800384c 0x00000006 Code RO 15 .text.Error_Handler main.o - 0x08003852 0x08003852 0x00000002 PAD - 0x08003854 0x08003854 0x00000520 Code RO 3049 .text.Gimbal_Control gimbal.o - 0x08003d74 0x08003d74 0x000001a8 Code RO 3043 .text.Gimbal_Init gimbal.o - 0x08003f1c 0x08003f1c 0x00000112 Code RO 3053 .text.Gimbal_Output gimbal.o - 0x0800402e 0x0800402e 0x00000002 PAD - 0x08004030 0x08004030 0x000000b4 Code RO 3051 .text.Gimbal_SetMode gimbal.o - 0x080040e4 0x080040e4 0x00000168 Code RO 3045 .text.Gimbal_UpdateFeedback gimbal.o - 0x0800424c 0x0800424c 0x0000004a Code RO 3047 .text.Gimbal_UpdateIMU gimbal.o - 0x08004296 0x08004296 0x00000002 PAD - 0x08004298 0x08004298 0x00000052 Code RO 249 .text.HAL_CAN_ActivateNotification stm32f4xx_hal_can.o - 0x080042ea 0x080042ea 0x00000002 PAD - 0x080042ec 0x080042ec 0x00000156 Code RO 235 .text.HAL_CAN_AddTxMessage stm32f4xx_hal_can.o - 0x08004442 0x08004442 0x00000002 PAD - 0x08004444 0x08004444 0x0000019e Code RO 225 .text.HAL_CAN_ConfigFilter stm32f4xx_hal_can.o - 0x080045e2 0x080045e2 0x00000002 PAD - 0x080045e4 0x080045e4 0x00000050 Code RO 2212 .text.HAL_CAN_ErrorCallback can_1.o - 0x08004634 0x08004634 0x00000052 Code RO 247 .text.HAL_CAN_GetRxFifoFillLevel stm32f4xx_hal_can.o - 0x08004686 0x08004686 0x00000002 PAD - 0x08004688 0x08004688 0x00000212 Code RO 245 .text.HAL_CAN_GetRxMessage stm32f4xx_hal_can.o - 0x0800489a 0x0800489a 0x00000002 PAD - 0x0800489c 0x0800489c 0x00000070 Code RO 239 .text.HAL_CAN_GetTxMailboxesFreeLevel stm32f4xx_hal_can.o - 0x0800490c 0x0800490c 0x000003f2 Code RO 253 .text.HAL_CAN_IRQHandler stm32f4xx_hal_can.o - 0x08004cfe 0x08004cfe 0x00000002 PAD - 0x08004d00 0x08004d00 0x000001de Code RO 215 .text.HAL_CAN_Init stm32f4xx_hal_can.o - 0x08004ede 0x08004ede 0x00000002 PAD - 0x08004ee0 0x08004ee0 0x000001d0 Code RO 57 .text.HAL_CAN_MspInit can.o - 0x080050b0 0x080050b0 0x00000050 Code RO 2202 .text.HAL_CAN_RxFifo0FullCallback can_1.o - 0x08005100 0x08005100 0x00000050 Code RO 2200 .text.HAL_CAN_RxFifo0MsgPendingCallback can_1.o - 0x08005150 0x08005150 0x00000050 Code RO 2206 .text.HAL_CAN_RxFifo1FullCallback can_1.o - 0x080051a0 0x080051a0 0x00000050 Code RO 2204 .text.HAL_CAN_RxFifo1MsgPendingCallback can_1.o - 0x080051f0 0x080051f0 0x00000050 Code RO 2208 .text.HAL_CAN_SleepCallback can_1.o - 0x08005240 0x08005240 0x0000008a Code RO 227 .text.HAL_CAN_Start stm32f4xx_hal_can.o - 0x080052ca 0x080052ca 0x00000002 PAD - 0x080052cc 0x080052cc 0x00000050 Code RO 2194 .text.HAL_CAN_TxMailbox0AbortCallback can_1.o - 0x0800531c 0x0800531c 0x0000004c Code RO 2186 .text.HAL_CAN_TxMailbox0CompleteCallback can_1.o - 0x08005368 0x08005368 0x00000050 Code RO 2196 .text.HAL_CAN_TxMailbox1AbortCallback can_1.o - 0x080053b8 0x080053b8 0x00000050 Code RO 2190 .text.HAL_CAN_TxMailbox1CompleteCallback can_1.o - 0x08005408 0x08005408 0x00000050 Code RO 2198 .text.HAL_CAN_TxMailbox2AbortCallback can_1.o - 0x08005458 0x08005458 0x00000050 Code RO 2192 .text.HAL_CAN_TxMailbox2CompleteCallback can_1.o - 0x080054a8 0x080054a8 0x00000050 Code RO 2210 .text.HAL_CAN_WakeUpFromRxMsgCallback can_1.o - 0x080054f8 0x080054f8 0x000000ec Code RO 482 .text.HAL_DMA_Abort stm32f4xx_hal_dma.o - 0x080055e4 0x080055e4 0x00000044 Code RO 484 .text.HAL_DMA_Abort_IT stm32f4xx_hal_dma.o - 0x08005628 0x08005628 0x0000000e Code RO 494 .text.HAL_DMA_GetState stm32f4xx_hal_dma.o - 0x08005636 0x08005636 0x00000002 PAD - 0x08005638 0x08005638 0x0000031e Code RO 488 .text.HAL_DMA_IRQHandler stm32f4xx_hal_dma.o - 0x08005956 0x08005956 0x00000002 PAD - 0x08005958 0x08005958 0x0000016e Code RO 468 .text.HAL_DMA_Init stm32f4xx_hal_dma.o - 0x08005ac6 0x08005ac6 0x00000002 PAD - 0x08005ac8 0x08005ac8 0x000000c2 Code RO 480 .text.HAL_DMA_Start_IT stm32f4xx_hal_dma.o - 0x08005b8a 0x08005b8a 0x00000002 PAD - 0x08005b8c 0x08005b8c 0x00000042 Code RO 663 .text.HAL_Delay stm32f4xx_hal.o - 0x08005bce 0x08005bce 0x00000002 PAD - 0x08005bd0 0x08005bd0 0x00000066 Code RO 2275 .text.HAL_GPIO_EXTI_Callback gpio_1.o - 0x08005c36 0x08005c36 0x00000002 PAD - 0x08005c38 0x08005c38 0x00000038 Code RO 442 .text.HAL_GPIO_EXTI_IRQHandler stm32f4xx_hal_gpio.o - 0x08005c70 0x08005c70 0x000003b6 Code RO 430 .text.HAL_GPIO_Init stm32f4xx_hal_gpio.o - 0x08006026 0x08006026 0x00000002 PAD - 0x08006028 0x08006028 0x0000002e Code RO 434 .text.HAL_GPIO_ReadPin stm32f4xx_hal_gpio.o - 0x08006056 0x08006056 0x00000002 PAD - 0x08006058 0x08006058 0x0000002e Code RO 436 .text.HAL_GPIO_WritePin stm32f4xx_hal_gpio.o - 0x08006086 0x08006086 0x00000002 PAD - 0x08006088 0x08006088 0x0000000c Code RO 655 .text.HAL_GetTick stm32f4xx_hal.o - 0x08006094 0x08006094 0x00000054 Code RO 2316 .text.HAL_I2C_AbortCpltCallback i2c_1.o - 0x080060e8 0x080060e8 0x00000010 Code RO 870 .text.HAL_I2C_AddrCallback stm32f4xx_hal_i2c.o - 0x080060f8 0x080060f8 0x0000017a Code RO 858 .text.HAL_I2C_ER_IRQHandler stm32f4xx_hal_i2c.o - 0x08006272 0x08006272 0x00000002 PAD - 0x08006274 0x08006274 0x000003ca Code RO 826 .text.HAL_I2C_EV_IRQHandler stm32f4xx_hal_i2c.o - 0x0800663e 0x0800663e 0x00000002 PAD - 0x08006640 0x08006640 0x00000054 Code RO 2314 .text.HAL_I2C_ErrorCallback i2c_1.o - 0x08006694 0x08006694 0x000002a4 Code RO 732 .text.HAL_I2C_Init stm32f4xx_hal_i2c.o - 0x08006938 0x08006938 0x00000054 Code RO 2308 .text.HAL_I2C_ListenCpltCallback i2c_1.o - 0x0800698c 0x0800698c 0x00000054 Code RO 2302 .text.HAL_I2C_MasterRxCpltCallback i2c_1.o - 0x080069e0 0x080069e0 0x00000050 Code RO 2298 .text.HAL_I2C_MasterTxCpltCallback i2c_1.o - 0x08006a30 0x08006a30 0x00000054 Code RO 2312 .text.HAL_I2C_MemRxCpltCallback i2c_1.o - 0x08006a84 0x08006a84 0x00000054 Code RO 2310 .text.HAL_I2C_MemTxCpltCallback i2c_1.o - 0x08006ad8 0x08006ad8 0x00000134 Code RO 83 .text.HAL_I2C_MspInit i2c.o - 0x08006c0c 0x08006c0c 0x00000054 Code RO 2306 .text.HAL_I2C_SlaveRxCpltCallback i2c_1.o - 0x08006c60 0x08006c60 0x00000054 Code RO 2304 .text.HAL_I2C_SlaveTxCpltCallback i2c_1.o - 0x08006cb4 0x08006cb4 0x0000001a Code RO 653 .text.HAL_IncTick stm32f4xx_hal.o - 0x08006cce 0x08006cce 0x00000002 PAD - 0x08006cd0 0x08006cd0 0x00000036 Code RO 643 .text.HAL_Init stm32f4xx_hal.o - 0x08006d06 0x08006d06 0x00000002 PAD - 0x08006d08 0x08006d08 0x00000070 Code RO 645 .text.HAL_InitTick stm32f4xx_hal.o - 0x08006d78 0x08006d78 0x00000058 Code RO 207 .text.HAL_MspInit stm32f4xx_hal_msp.o - 0x08006dd0 0x08006dd0 0x00000014 Code RO 582 .text.HAL_NVIC_DisableIRQ stm32f4xx_hal_cortex.o - 0x08006de4 0x08006de4 0x00000014 Code RO 578 .text.HAL_NVIC_EnableIRQ stm32f4xx_hal_cortex.o - 0x08006df8 0x08006df8 0x00000032 Code RO 570 .text.HAL_NVIC_SetPriority stm32f4xx_hal_cortex.o - 0x08006e2a 0x08006e2a 0x00000002 PAD - 0x08006e2c 0x08006e2c 0x00000010 Code RO 566 .text.HAL_NVIC_SetPriorityGrouping stm32f4xx_hal_cortex.o - 0x08006e3c 0x08006e3c 0x00000262 Code RO 298 .text.HAL_RCC_ClockConfig stm32f4xx_hal_rcc.o - 0x0800709e 0x0800709e 0x00000002 PAD - 0x080070a0 0x080070a0 0x0000000c Code RO 308 .text.HAL_RCC_GetHCLKFreq stm32f4xx_hal_rcc.o - 0x080070ac 0x080070ac 0x00000022 Code RO 310 .text.HAL_RCC_GetPCLK1Freq stm32f4xx_hal_rcc.o - 0x080070ce 0x080070ce 0x00000002 PAD - 0x080070d0 0x080070d0 0x00000022 Code RO 312 .text.HAL_RCC_GetPCLK2Freq stm32f4xx_hal_rcc.o - 0x080070f2 0x080070f2 0x00000002 PAD - 0x080070f4 0x080070f4 0x000000e6 Code RO 300 .text.HAL_RCC_GetSysClockFreq stm32f4xx_hal_rcc.o - 0x080071da 0x080071da 0x00000002 PAD - 0x080071dc 0x080071dc 0x000006be Code RO 296 .text.HAL_RCC_OscConfig stm32f4xx_hal_rcc.o - 0x0800789a 0x0800789a 0x00000002 PAD - 0x0800789c 0x0800789c 0x00000054 Code RO 2393 .text.HAL_SPI_ErrorCallback spi_1.o - 0x080078f0 0x080078f0 0x00000100 Code RO 904 .text.HAL_SPI_Init stm32f4xx_hal_spi.o - 0x080079f0 0x080079f0 0x00000210 Code RO 100 .text.HAL_SPI_MspInit spi.o - 0x08007c00 0x08007c00 0x0000024e Code RO 916 .text.HAL_SPI_Receive stm32f4xx_hal_spi.o - 0x08007e4e 0x08007e4e 0x00000002 PAD - 0x08007e50 0x08007e50 0x00000198 Code RO 952 .text.HAL_SPI_Receive_DMA stm32f4xx_hal_spi.o - 0x08007fe8 0x08007fe8 0x00000054 Code RO 2383 .text.HAL_SPI_RxCpltCallback spi_1.o - 0x0800803c 0x0800803c 0x00000054 Code RO 2389 .text.HAL_SPI_RxHalfCpltCallback spi_1.o - 0x08008090 0x08008090 0x000002a2 Code RO 912 .text.HAL_SPI_Transmit stm32f4xx_hal_spi.o - 0x08008332 0x08008332 0x00000002 PAD - 0x08008334 0x08008334 0x000003a2 Code RO 918 .text.HAL_SPI_TransmitReceive stm32f4xx_hal_spi.o - 0x080086d6 0x080086d6 0x00000002 PAD - 0x080086d8 0x080086d8 0x00000214 Code RO 954 .text.HAL_SPI_TransmitReceive_DMA stm32f4xx_hal_spi.o - 0x080088ec 0x080088ec 0x0000016c Code RO 944 .text.HAL_SPI_Transmit_DMA stm32f4xx_hal_spi.o - 0x08008a58 0x08008a58 0x00000048 Code RO 2379 .text.HAL_SPI_TxCpltCallback spi_1.o - 0x08008aa0 0x08008aa0 0x00000054 Code RO 2387 .text.HAL_SPI_TxHalfCpltCallback spi_1.o - 0x08008af4 0x08008af4 0x00000054 Code RO 2385 .text.HAL_SPI_TxRxCpltCallback spi_1.o - 0x08008b48 0x08008b48 0x00000054 Code RO 2391 .text.HAL_SPI_TxRxHalfCpltCallback spi_1.o - 0x08008b9c 0x08008b9c 0x00000010 Code RO 590 .text.HAL_SYSTICK_Config stm32f4xx_hal_cortex.o - 0x08008bac 0x08008bac 0x00000008 Code RO 1344 .text.HAL_TIMEx_BreakCallback stm32f4xx_hal_tim_ex.o - 0x08008bb4 0x08008bb4 0x00000008 Code RO 1340 .text.HAL_TIMEx_CommutCallback stm32f4xx_hal_tim_ex.o - 0x08008bbc 0x08008bbc 0x00000122 Code RO 1334 .text.HAL_TIMEx_MasterConfigSynchronization stm32f4xx_hal_tim_ex.o - 0x08008cde 0x08008cde 0x00000002 PAD - 0x08008ce0 0x08008ce0 0x0000009c Code RO 1021 .text.HAL_TIM_Base_Init stm32f4xx_hal_tim.o - 0x08008d7c 0x08008d7c 0x0000008a Code RO 121 .text.HAL_TIM_Base_MspInit tim.o - 0x08008e06 0x08008e06 0x00000002 PAD - 0x08008e08 0x08008e08 0x00000008 Code RO 1157 .text.HAL_TIM_IC_CaptureCallback stm32f4xx_hal_tim.o - 0x08008e10 0x08008e10 0x0000021a Code RO 1155 .text.HAL_TIM_IRQHandler stm32f4xx_hal_tim.o - 0x0800902a 0x0800902a 0x00000002 PAD - 0x0800902c 0x0800902c 0x0000006c Code RO 119 .text.HAL_TIM_MspPostInit tim.o - 0x08009098 0x08009098 0x00000008 Code RO 1159 .text.HAL_TIM_OC_DelayElapsedCallback stm32f4xx_hal_tim.o - 0x080090a0 0x080090a0 0x00000142 Code RO 1187 .text.HAL_TIM_PWM_ConfigChannel stm32f4xx_hal_tim.o - 0x080091e2 0x080091e2 0x00000002 PAD - 0x080091e4 0x080091e4 0x0000009c Code RO 1075 .text.HAL_TIM_PWM_Init stm32f4xx_hal_tim.o - 0x08009280 0x08009280 0x00000008 Code RO 1077 .text.HAL_TIM_PWM_MspInit stm32f4xx_hal_tim.o - 0x08009288 0x08009288 0x00000008 Code RO 1161 .text.HAL_TIM_PWM_PulseFinishedCallback stm32f4xx_hal_tim.o - 0x08009290 0x08009290 0x000001ca Code RO 1083 .text.HAL_TIM_PWM_Start stm32f4xx_hal_tim.o - 0x0800945a 0x0800945a 0x00000002 PAD - 0x0800945c 0x0800945c 0x00000008 Code RO 1163 .text.HAL_TIM_PeriodElapsedCallback stm32f4xx_hal_tim.o - 0x08009464 0x08009464 0x00000008 Code RO 1165 .text.HAL_TIM_TriggerCallback stm32f4xx_hal_tim.o - 0x0800946c 0x0800946c 0x0000000c Code RO 1449 .text.HAL_UARTEx_RxEventCallback stm32f4xx_hal_uart.o - 0x08009478 0x08009478 0x00000054 Code RO 2448 .text.HAL_UART_ErrorCallback uart.o - 0x080094cc 0x080094cc 0x0000045c Code RO 1441 .text.HAL_UART_IRQHandler stm32f4xx_hal_uart.o - 0x08009928 0x08009928 0x0000009e Code RO 1357 .text.HAL_UART_Init stm32f4xx_hal_uart.o - 0x080099c6 0x080099c6 0x00000002 PAD - 0x080099c8 0x080099c8 0x000001cc Code RO 138 .text.HAL_UART_MspInit usart.o - 0x08009b94 0x08009b94 0x00000054 Code RO 2444 .text.HAL_UART_RxCpltCallback uart.o - 0x08009be8 0x08009be8 0x00000054 Code RO 2438 .text.HAL_UART_TxCpltCallback uart.o - 0x08009c3c 0x08009c3c 0x00000004 Code RO 154 .text.HardFault_Handler stm32f4xx_it.o - 0x08009c40 0x08009c40 0x00000010 Code RO 184 .text.I2C1_ER_IRQHandler stm32f4xx_it.o - 0x08009c50 0x08009c50 0x00000010 Code RO 182 .text.I2C1_EV_IRQHandler stm32f4xx_it.o - 0x08009c60 0x08009c60 0x00000034 Code RO 828 .text.I2C_ConvertOtherXferOptions stm32f4xx_hal_i2c.o - 0x08009c94 0x08009c94 0x00000156 Code RO 812 .text.I2C_DMAAbort stm32f4xx_hal_i2c.o - 0x08009dea 0x08009dea 0x00000002 PAD - 0x08009dec 0x08009dec 0x00000024 Code RO 888 .text.I2C_Flush_DR stm32f4xx_hal_i2c.o - 0x08009e10 0x08009e10 0x00000048 Code RO 2300 .text.I2C_Get i2c_1.o - 0x08009e58 0x08009e58 0x0000027a Code RO 824 .text.I2C_ITError stm32f4xx_hal_i2c.o - 0x0800a0d2 0x0800a0d2 0x00000002 PAD - 0x0800a0d4 0x0800a0d4 0x000001ac Code RO 844 .text.I2C_MasterReceive_BTF stm32f4xx_hal_i2c.o - 0x0800a280 0x0800a280 0x0000016a Code RO 842 .text.I2C_MasterReceive_RXNE stm32f4xx_hal_i2c.o - 0x0800a3ea 0x0800a3ea 0x00000002 PAD - 0x0800a3ec 0x0800a3ec 0x000000de Code RO 838 .text.I2C_MasterTransmit_BTF stm32f4xx_hal_i2c.o - 0x0800a4ca 0x0800a4ca 0x00000002 PAD - 0x0800a4cc 0x0800a4cc 0x0000013e Code RO 836 .text.I2C_MasterTransmit_TXE stm32f4xx_hal_i2c.o - 0x0800a60a 0x0800a60a 0x00000002 PAD - 0x0800a60c 0x0800a60c 0x00000046 Code RO 832 .text.I2C_Master_ADD10 stm32f4xx_hal_i2c.o - 0x0800a652 0x0800a652 0x00000002 PAD - 0x0800a654 0x0800a654 0x0000033e Code RO 834 .text.I2C_Master_ADDR stm32f4xx_hal_i2c.o - 0x0800a992 0x0800a992 0x00000002 PAD - 0x0800a994 0x0800a994 0x000000f0 Code RO 830 .text.I2C_Master_SB stm32f4xx_hal_i2c.o - 0x0800aa84 0x0800aa84 0x00000128 Code RO 840 .text.I2C_MemoryTransmit_TXE_BTF stm32f4xx_hal_i2c.o - 0x0800abac 0x0800abac 0x0000002e Code RO 856 .text.I2C_SlaveReceive_BTF stm32f4xx_hal_i2c.o - 0x0800abda 0x0800abda 0x00000002 PAD - 0x0800abdc 0x0800abdc 0x0000006e Code RO 854 .text.I2C_SlaveReceive_RXNE stm32f4xx_hal_i2c.o - 0x0800ac4a 0x0800ac4a 0x00000002 PAD - 0x0800ac4c 0x0800ac4c 0x0000002c Code RO 852 .text.I2C_SlaveTransmit_BTF stm32f4xx_hal_i2c.o - 0x0800ac78 0x0800ac78 0x0000006c Code RO 850 .text.I2C_SlaveTransmit_TXE stm32f4xx_hal_i2c.o - 0x0800ace4 0x0800ace4 0x000000ae Code RO 846 .text.I2C_Slave_ADDR stm32f4xx_hal_i2c.o - 0x0800ad92 0x0800ad92 0x00000002 PAD - 0x0800ad94 0x0800ad94 0x000000e4 Code RO 860 .text.I2C_Slave_AF stm32f4xx_hal_i2c.o - 0x0800ae78 0x0800ae78 0x0000024a Code RO 848 .text.I2C_Slave_STOPF stm32f4xx_hal_i2c.o - 0x0800b0c2 0x0800b0c2 0x00000002 PAD - 0x0800b0c4 0x0800b0c4 0x00000078 Code RO 890 .text.I2C_WaitOnSTOPRequestThroughIT stm32f4xx_hal_i2c.o - 0x0800b13c 0x0800b13c 0x00000076 Code RO 2675 .text.InvSqrt user_math.o - 0x0800b1b2 0x0800b1b2 0x00000002 PAD - 0x0800b1b4 0x0800b1b4 0x000000b8 Code RO 2527 .text.LowPassFilter2p_Apply filter.o - 0x0800b26c 0x0800b26c 0x0000013c Code RO 2525 .text.LowPassFilter2p_Init filter.o - 0x0800b3a8 0x0800b3a8 0x00000092 Code RO 2533 .text.LowPassFilter2p_Reset filter.o - 0x0800b43a 0x0800b43a 0x00000002 PAD - 0x0800b43c 0x0800b43c 0x00000096 Code RO 2944 .text.MOTOR_DM_CreateCANManager motor_dm.o - 0x0800b4d2 0x0800b4d2 0x00000002 PAD - 0x0800b4d4 0x0800b4d4 0x0000007a Code RO 2968 .text.MOTOR_DM_Enable motor_dm.o - 0x0800b54e 0x0800b54e 0x00000002 PAD - 0x0800b550 0x0800b550 0x00000030 Code RO 2946 .text.MOTOR_DM_GetCANManager motor_dm.o - 0x0800b580 0x0800b580 0x00000086 Code RO 2956 .text.MOTOR_DM_GetMotor motor_dm.o - 0x0800b606 0x0800b606 0x00000002 PAD - 0x0800b608 0x0800b608 0x00000048 Code RO 2954 .text.MOTOR_DM_MITCtrl motor_dm.o - 0x0800b650 0x0800b650 0x00000158 Code RO 2950 .text.MOTOR_DM_ParseFeedbackFrame motor_dm.o - 0x0800b7a8 0x0800b7a8 0x0000012c Code RO 2942 .text.MOTOR_DM_Register motor_dm.o - 0x0800b8d4 0x0800b8d4 0x00000144 Code RO 2958 .text.MOTOR_DM_SendMITCmd motor_dm.o - 0x0800ba18 0x0800ba18 0x0000010c Code RO 2948 .text.MOTOR_DM_Update motor_dm.o - 0x0800bb24 0x0800bb24 0x00000096 Code RO 2843 .text.MOTOR_RM_CreateCANManager motor_rm.o - 0x0800bbba 0x0800bbba 0x00000002 PAD - 0x0800bbbc 0x0800bbbc 0x00000170 Code RO 2861 .text.MOTOR_RM_Ctrl motor_rm.o - 0x0800bd2c 0x0800bd2c 0x00000030 Code RO 2845 .text.MOTOR_RM_GetCANManager motor_rm.o - 0x0800bd5c 0x0800bd5c 0x00000052 Code RO 2859 .text.MOTOR_RM_GetLSB motor_rm.o - 0x0800bdae 0x0800bdae 0x00000002 PAD - 0x0800bdb0 0x0800bdb0 0x00000080 Code RO 2857 .text.MOTOR_RM_GetLogicalIndex motor_rm.o - 0x0800be30 0x0800be30 0x00000078 Code RO 2855 .text.MOTOR_RM_GetMotor motor_rm.o - 0x0800bea8 0x0800bea8 0x00000050 Code RO 2867 .text.MOTOR_RM_GetRatio motor_rm.o - 0x0800bef8 0x0800bef8 0x00000120 Code RO 2841 .text.MOTOR_RM_Register motor_rm.o - 0x0800c018 0x0800c018 0x0000011a Code RO 2853 .text.MOTOR_RM_SetOutput motor_rm.o - 0x0800c132 0x0800c132 0x00000002 PAD - 0x0800c134 0x0800c134 0x00000102 Code RO 2847 .text.MOTOR_RM_Update motor_rm.o - 0x0800c236 0x0800c236 0x00000002 PAD - 0x0800c238 0x0800c238 0x0000004e Code RO 53 .text.MX_CAN1_Init can.o - 0x0800c286 0x0800c286 0x00000002 PAD - 0x0800c288 0x0800c288 0x0000004e Code RO 55 .text.MX_CAN2_Init can.o - 0x0800c2d6 0x0800c2d6 0x00000002 PAD - 0x0800c2d8 0x0800c2d8 0x00000086 Code RO 71 .text.MX_DMA_Init dma.o - 0x0800c35e 0x0800c35e 0x00000002 PAD - 0x0800c360 0x0800c360 0x00000040 Code RO 39 .text.MX_FREERTOS_Init freertos.o - 0x0800c3a0 0x0800c3a0 0x0000022a Code RO 25 .text.MX_GPIO_Init gpio.o - 0x0800c5ca 0x0800c5ca 0x00000002 PAD - 0x0800c5cc 0x0800c5cc 0x00000048 Code RO 79 .text.MX_I2C1_Init i2c.o - 0x0800c614 0x0800c614 0x00000048 Code RO 81 .text.MX_I2C2_Init i2c.o - 0x0800c65c 0x0800c65c 0x00000052 Code RO 96 .text.MX_SPI1_Init spi.o - 0x0800c6ae 0x0800c6ae 0x00000002 PAD - 0x0800c6b0 0x0800c6b0 0x00000054 Code RO 98 .text.MX_SPI2_Init spi.o - 0x0800c704 0x0800c704 0x0000008e Code RO 117 .text.MX_TIM10_Init tim.o - 0x0800c792 0x0800c792 0x00000002 PAD - 0x0800c794 0x0800c794 0x00000058 Code RO 115 .text.MX_TIM7_Init tim.o - 0x0800c7ec 0x0800c7ec 0x00000040 Code RO 134 .text.MX_USART1_UART_Init usart.o - 0x0800c82c 0x0800c82c 0x0000004c Code RO 136 .text.MX_USART3_UART_Init usart.o - 0x0800c878 0x0800c878 0x00000004 Code RO 156 .text.MemManage_Handler stm32f4xx_it.o - 0x0800c87c 0x0800c87c 0x0000021c Code RO 2849 .text.Motor_RM_Decode motor_rm.o - 0x0800ca98 0x0800ca98 0x00000004 Code RO 152 .text.NMI_Handler stm32f4xx_it.o - 0x0800ca9c 0x0800ca9c 0x0000006c Code RO 576 .text.NVIC_EncodePriority stm32f4xx_hal_cortex.o - 0x0800cb08 0x0800cb08 0x000002f0 Code RO 2638 .text.PID_Calc pid.o - 0x0800cdf8 0x0800cdf8 0x00000196 Code RO 2630 .text.PID_Init pid.o - 0x0800cf8e 0x0800cf8e 0x00000002 PAD - 0x0800cf90 0x0800cf90 0x00000048 Code RO 2636 .text.PID_Reset pid.o - 0x0800cfd8 0x0800cfd8 0x00000008 PAD + 0x08003834 0x08003834 0x00000518 Code RO 3049 .text.Gimbal_Control gimbal.o + 0x08003d4c 0x08003d4c 0x000001d8 Code RO 3043 .text.Gimbal_Init gimbal.o + 0x08003f24 0x08003f24 0x00000112 Code RO 3053 .text.Gimbal_Output gimbal.o + 0x08004036 0x08004036 0x00000002 PAD + 0x08004038 0x08004038 0x000000b4 Code RO 3051 .text.Gimbal_SetMode gimbal.o + 0x080040ec 0x080040ec 0x00000168 Code RO 3045 .text.Gimbal_UpdateFeedback gimbal.o + 0x08004254 0x08004254 0x0000004a Code RO 3047 .text.Gimbal_UpdateIMU gimbal.o + 0x0800429e 0x0800429e 0x00000002 PAD + 0x080042a0 0x080042a0 0x00000052 Code RO 249 .text.HAL_CAN_ActivateNotification stm32f4xx_hal_can.o + 0x080042f2 0x080042f2 0x00000002 PAD + 0x080042f4 0x080042f4 0x00000156 Code RO 235 .text.HAL_CAN_AddTxMessage stm32f4xx_hal_can.o + 0x0800444a 0x0800444a 0x00000002 PAD + 0x0800444c 0x0800444c 0x0000019e Code RO 225 .text.HAL_CAN_ConfigFilter stm32f4xx_hal_can.o + 0x080045ea 0x080045ea 0x00000002 PAD + 0x080045ec 0x080045ec 0x00000050 Code RO 2212 .text.HAL_CAN_ErrorCallback can_1.o + 0x0800463c 0x0800463c 0x00000052 Code RO 247 .text.HAL_CAN_GetRxFifoFillLevel stm32f4xx_hal_can.o + 0x0800468e 0x0800468e 0x00000002 PAD + 0x08004690 0x08004690 0x00000212 Code RO 245 .text.HAL_CAN_GetRxMessage stm32f4xx_hal_can.o + 0x080048a2 0x080048a2 0x00000002 PAD + 0x080048a4 0x080048a4 0x00000070 Code RO 239 .text.HAL_CAN_GetTxMailboxesFreeLevel stm32f4xx_hal_can.o + 0x08004914 0x08004914 0x000003f2 Code RO 253 .text.HAL_CAN_IRQHandler stm32f4xx_hal_can.o + 0x08004d06 0x08004d06 0x00000002 PAD + 0x08004d08 0x08004d08 0x000001de Code RO 215 .text.HAL_CAN_Init stm32f4xx_hal_can.o + 0x08004ee6 0x08004ee6 0x00000002 PAD + 0x08004ee8 0x08004ee8 0x000001d0 Code RO 57 .text.HAL_CAN_MspInit can.o + 0x080050b8 0x080050b8 0x00000050 Code RO 2202 .text.HAL_CAN_RxFifo0FullCallback can_1.o + 0x08005108 0x08005108 0x00000050 Code RO 2200 .text.HAL_CAN_RxFifo0MsgPendingCallback can_1.o + 0x08005158 0x08005158 0x00000050 Code RO 2206 .text.HAL_CAN_RxFifo1FullCallback can_1.o + 0x080051a8 0x080051a8 0x00000050 Code RO 2204 .text.HAL_CAN_RxFifo1MsgPendingCallback can_1.o + 0x080051f8 0x080051f8 0x00000050 Code RO 2208 .text.HAL_CAN_SleepCallback can_1.o + 0x08005248 0x08005248 0x0000008a Code RO 227 .text.HAL_CAN_Start stm32f4xx_hal_can.o + 0x080052d2 0x080052d2 0x00000002 PAD + 0x080052d4 0x080052d4 0x00000050 Code RO 2194 .text.HAL_CAN_TxMailbox0AbortCallback can_1.o + 0x08005324 0x08005324 0x0000004c Code RO 2186 .text.HAL_CAN_TxMailbox0CompleteCallback can_1.o + 0x08005370 0x08005370 0x00000050 Code RO 2196 .text.HAL_CAN_TxMailbox1AbortCallback can_1.o + 0x080053c0 0x080053c0 0x00000050 Code RO 2190 .text.HAL_CAN_TxMailbox1CompleteCallback can_1.o + 0x08005410 0x08005410 0x00000050 Code RO 2198 .text.HAL_CAN_TxMailbox2AbortCallback can_1.o + 0x08005460 0x08005460 0x00000050 Code RO 2192 .text.HAL_CAN_TxMailbox2CompleteCallback can_1.o + 0x080054b0 0x080054b0 0x00000050 Code RO 2210 .text.HAL_CAN_WakeUpFromRxMsgCallback can_1.o + 0x08005500 0x08005500 0x000000ec Code RO 482 .text.HAL_DMA_Abort stm32f4xx_hal_dma.o + 0x080055ec 0x080055ec 0x00000044 Code RO 484 .text.HAL_DMA_Abort_IT stm32f4xx_hal_dma.o + 0x08005630 0x08005630 0x0000000e Code RO 494 .text.HAL_DMA_GetState stm32f4xx_hal_dma.o + 0x0800563e 0x0800563e 0x00000002 PAD + 0x08005640 0x08005640 0x0000031e Code RO 488 .text.HAL_DMA_IRQHandler stm32f4xx_hal_dma.o + 0x0800595e 0x0800595e 0x00000002 PAD + 0x08005960 0x08005960 0x0000016e Code RO 468 .text.HAL_DMA_Init stm32f4xx_hal_dma.o + 0x08005ace 0x08005ace 0x00000002 PAD + 0x08005ad0 0x08005ad0 0x000000c2 Code RO 480 .text.HAL_DMA_Start_IT stm32f4xx_hal_dma.o + 0x08005b92 0x08005b92 0x00000002 PAD + 0x08005b94 0x08005b94 0x00000042 Code RO 663 .text.HAL_Delay stm32f4xx_hal.o + 0x08005bd6 0x08005bd6 0x00000002 PAD + 0x08005bd8 0x08005bd8 0x00000066 Code RO 2275 .text.HAL_GPIO_EXTI_Callback gpio_1.o + 0x08005c3e 0x08005c3e 0x00000002 PAD + 0x08005c40 0x08005c40 0x00000038 Code RO 442 .text.HAL_GPIO_EXTI_IRQHandler stm32f4xx_hal_gpio.o + 0x08005c78 0x08005c78 0x000003b6 Code RO 430 .text.HAL_GPIO_Init stm32f4xx_hal_gpio.o + 0x0800602e 0x0800602e 0x00000002 PAD + 0x08006030 0x08006030 0x0000002e Code RO 434 .text.HAL_GPIO_ReadPin stm32f4xx_hal_gpio.o + 0x0800605e 0x0800605e 0x00000002 PAD + 0x08006060 0x08006060 0x0000002e Code RO 436 .text.HAL_GPIO_WritePin stm32f4xx_hal_gpio.o + 0x0800608e 0x0800608e 0x00000002 PAD + 0x08006090 0x08006090 0x0000000c Code RO 655 .text.HAL_GetTick stm32f4xx_hal.o + 0x0800609c 0x0800609c 0x00000054 Code RO 2316 .text.HAL_I2C_AbortCpltCallback i2c_1.o + 0x080060f0 0x080060f0 0x00000010 Code RO 870 .text.HAL_I2C_AddrCallback stm32f4xx_hal_i2c.o + 0x08006100 0x08006100 0x0000017a Code RO 858 .text.HAL_I2C_ER_IRQHandler stm32f4xx_hal_i2c.o + 0x0800627a 0x0800627a 0x00000002 PAD + 0x0800627c 0x0800627c 0x000003ca Code RO 826 .text.HAL_I2C_EV_IRQHandler stm32f4xx_hal_i2c.o + 0x08006646 0x08006646 0x00000002 PAD + 0x08006648 0x08006648 0x00000054 Code RO 2314 .text.HAL_I2C_ErrorCallback i2c_1.o + 0x0800669c 0x0800669c 0x000002a4 Code RO 732 .text.HAL_I2C_Init stm32f4xx_hal_i2c.o + 0x08006940 0x08006940 0x00000054 Code RO 2308 .text.HAL_I2C_ListenCpltCallback i2c_1.o + 0x08006994 0x08006994 0x00000054 Code RO 2302 .text.HAL_I2C_MasterRxCpltCallback i2c_1.o + 0x080069e8 0x080069e8 0x00000050 Code RO 2298 .text.HAL_I2C_MasterTxCpltCallback i2c_1.o + 0x08006a38 0x08006a38 0x00000054 Code RO 2312 .text.HAL_I2C_MemRxCpltCallback i2c_1.o + 0x08006a8c 0x08006a8c 0x00000054 Code RO 2310 .text.HAL_I2C_MemTxCpltCallback i2c_1.o + 0x08006ae0 0x08006ae0 0x00000134 Code RO 83 .text.HAL_I2C_MspInit i2c.o + 0x08006c14 0x08006c14 0x00000054 Code RO 2306 .text.HAL_I2C_SlaveRxCpltCallback i2c_1.o + 0x08006c68 0x08006c68 0x00000054 Code RO 2304 .text.HAL_I2C_SlaveTxCpltCallback i2c_1.o + 0x08006cbc 0x08006cbc 0x0000001a Code RO 653 .text.HAL_IncTick stm32f4xx_hal.o + 0x08006cd6 0x08006cd6 0x00000002 PAD + 0x08006cd8 0x08006cd8 0x00000036 Code RO 643 .text.HAL_Init stm32f4xx_hal.o + 0x08006d0e 0x08006d0e 0x00000002 PAD + 0x08006d10 0x08006d10 0x00000070 Code RO 645 .text.HAL_InitTick stm32f4xx_hal.o + 0x08006d80 0x08006d80 0x00000058 Code RO 207 .text.HAL_MspInit stm32f4xx_hal_msp.o + 0x08006dd8 0x08006dd8 0x00000014 Code RO 582 .text.HAL_NVIC_DisableIRQ stm32f4xx_hal_cortex.o + 0x08006dec 0x08006dec 0x00000014 Code RO 578 .text.HAL_NVIC_EnableIRQ stm32f4xx_hal_cortex.o + 0x08006e00 0x08006e00 0x00000032 Code RO 570 .text.HAL_NVIC_SetPriority stm32f4xx_hal_cortex.o + 0x08006e32 0x08006e32 0x00000002 PAD + 0x08006e34 0x08006e34 0x00000010 Code RO 566 .text.HAL_NVIC_SetPriorityGrouping stm32f4xx_hal_cortex.o + 0x08006e44 0x08006e44 0x00000262 Code RO 298 .text.HAL_RCC_ClockConfig stm32f4xx_hal_rcc.o + 0x080070a6 0x080070a6 0x00000002 PAD + 0x080070a8 0x080070a8 0x0000000c Code RO 308 .text.HAL_RCC_GetHCLKFreq stm32f4xx_hal_rcc.o + 0x080070b4 0x080070b4 0x00000022 Code RO 310 .text.HAL_RCC_GetPCLK1Freq stm32f4xx_hal_rcc.o + 0x080070d6 0x080070d6 0x00000002 PAD + 0x080070d8 0x080070d8 0x00000022 Code RO 312 .text.HAL_RCC_GetPCLK2Freq stm32f4xx_hal_rcc.o + 0x080070fa 0x080070fa 0x00000002 PAD + 0x080070fc 0x080070fc 0x000000e6 Code RO 300 .text.HAL_RCC_GetSysClockFreq stm32f4xx_hal_rcc.o + 0x080071e2 0x080071e2 0x00000002 PAD + 0x080071e4 0x080071e4 0x000006be Code RO 296 .text.HAL_RCC_OscConfig stm32f4xx_hal_rcc.o + 0x080078a2 0x080078a2 0x00000002 PAD + 0x080078a4 0x080078a4 0x00000054 Code RO 2393 .text.HAL_SPI_ErrorCallback spi_1.o + 0x080078f8 0x080078f8 0x00000100 Code RO 904 .text.HAL_SPI_Init stm32f4xx_hal_spi.o + 0x080079f8 0x080079f8 0x00000210 Code RO 100 .text.HAL_SPI_MspInit spi.o + 0x08007c08 0x08007c08 0x0000024e Code RO 916 .text.HAL_SPI_Receive stm32f4xx_hal_spi.o + 0x08007e56 0x08007e56 0x00000002 PAD + 0x08007e58 0x08007e58 0x00000198 Code RO 952 .text.HAL_SPI_Receive_DMA stm32f4xx_hal_spi.o + 0x08007ff0 0x08007ff0 0x00000054 Code RO 2383 .text.HAL_SPI_RxCpltCallback spi_1.o + 0x08008044 0x08008044 0x00000054 Code RO 2389 .text.HAL_SPI_RxHalfCpltCallback spi_1.o + 0x08008098 0x08008098 0x000002a2 Code RO 912 .text.HAL_SPI_Transmit stm32f4xx_hal_spi.o + 0x0800833a 0x0800833a 0x00000002 PAD + 0x0800833c 0x0800833c 0x000003a2 Code RO 918 .text.HAL_SPI_TransmitReceive stm32f4xx_hal_spi.o + 0x080086de 0x080086de 0x00000002 PAD + 0x080086e0 0x080086e0 0x00000214 Code RO 954 .text.HAL_SPI_TransmitReceive_DMA stm32f4xx_hal_spi.o + 0x080088f4 0x080088f4 0x0000016c Code RO 944 .text.HAL_SPI_Transmit_DMA stm32f4xx_hal_spi.o + 0x08008a60 0x08008a60 0x00000048 Code RO 2379 .text.HAL_SPI_TxCpltCallback spi_1.o + 0x08008aa8 0x08008aa8 0x00000054 Code RO 2387 .text.HAL_SPI_TxHalfCpltCallback spi_1.o + 0x08008afc 0x08008afc 0x00000054 Code RO 2385 .text.HAL_SPI_TxRxCpltCallback spi_1.o + 0x08008b50 0x08008b50 0x00000054 Code RO 2391 .text.HAL_SPI_TxRxHalfCpltCallback spi_1.o + 0x08008ba4 0x08008ba4 0x00000010 Code RO 590 .text.HAL_SYSTICK_Config stm32f4xx_hal_cortex.o + 0x08008bb4 0x08008bb4 0x00000008 Code RO 1344 .text.HAL_TIMEx_BreakCallback stm32f4xx_hal_tim_ex.o + 0x08008bbc 0x08008bbc 0x00000008 Code RO 1340 .text.HAL_TIMEx_CommutCallback stm32f4xx_hal_tim_ex.o + 0x08008bc4 0x08008bc4 0x00000122 Code RO 1334 .text.HAL_TIMEx_MasterConfigSynchronization stm32f4xx_hal_tim_ex.o + 0x08008ce6 0x08008ce6 0x00000002 PAD + 0x08008ce8 0x08008ce8 0x0000009c Code RO 1021 .text.HAL_TIM_Base_Init stm32f4xx_hal_tim.o + 0x08008d84 0x08008d84 0x0000008a Code RO 121 .text.HAL_TIM_Base_MspInit tim.o + 0x08008e0e 0x08008e0e 0x00000002 PAD + 0x08008e10 0x08008e10 0x00000008 Code RO 1157 .text.HAL_TIM_IC_CaptureCallback stm32f4xx_hal_tim.o + 0x08008e18 0x08008e18 0x0000021a Code RO 1155 .text.HAL_TIM_IRQHandler stm32f4xx_hal_tim.o + 0x08009032 0x08009032 0x00000002 PAD + 0x08009034 0x08009034 0x0000006c Code RO 119 .text.HAL_TIM_MspPostInit tim.o + 0x080090a0 0x080090a0 0x00000008 Code RO 1159 .text.HAL_TIM_OC_DelayElapsedCallback stm32f4xx_hal_tim.o + 0x080090a8 0x080090a8 0x00000142 Code RO 1187 .text.HAL_TIM_PWM_ConfigChannel stm32f4xx_hal_tim.o + 0x080091ea 0x080091ea 0x00000002 PAD + 0x080091ec 0x080091ec 0x0000009c Code RO 1075 .text.HAL_TIM_PWM_Init stm32f4xx_hal_tim.o + 0x08009288 0x08009288 0x00000008 Code RO 1077 .text.HAL_TIM_PWM_MspInit stm32f4xx_hal_tim.o + 0x08009290 0x08009290 0x00000008 Code RO 1161 .text.HAL_TIM_PWM_PulseFinishedCallback stm32f4xx_hal_tim.o + 0x08009298 0x08009298 0x000001ca Code RO 1083 .text.HAL_TIM_PWM_Start stm32f4xx_hal_tim.o + 0x08009462 0x08009462 0x00000002 PAD + 0x08009464 0x08009464 0x00000008 Code RO 1163 .text.HAL_TIM_PeriodElapsedCallback stm32f4xx_hal_tim.o + 0x0800946c 0x0800946c 0x00000008 Code RO 1165 .text.HAL_TIM_TriggerCallback stm32f4xx_hal_tim.o + 0x08009474 0x08009474 0x0000000c Code RO 1449 .text.HAL_UARTEx_RxEventCallback stm32f4xx_hal_uart.o + 0x08009480 0x08009480 0x00000054 Code RO 2448 .text.HAL_UART_ErrorCallback uart.o + 0x080094d4 0x080094d4 0x0000045c Code RO 1441 .text.HAL_UART_IRQHandler stm32f4xx_hal_uart.o + 0x08009930 0x08009930 0x0000009e Code RO 1357 .text.HAL_UART_Init stm32f4xx_hal_uart.o + 0x080099ce 0x080099ce 0x00000002 PAD + 0x080099d0 0x080099d0 0x000001cc Code RO 138 .text.HAL_UART_MspInit usart.o + 0x08009b9c 0x08009b9c 0x00000054 Code RO 2444 .text.HAL_UART_RxCpltCallback uart.o + 0x08009bf0 0x08009bf0 0x00000054 Code RO 2438 .text.HAL_UART_TxCpltCallback uart.o + 0x08009c44 0x08009c44 0x00000004 Code RO 154 .text.HardFault_Handler stm32f4xx_it.o + 0x08009c48 0x08009c48 0x00000010 Code RO 184 .text.I2C1_ER_IRQHandler stm32f4xx_it.o + 0x08009c58 0x08009c58 0x00000010 Code RO 182 .text.I2C1_EV_IRQHandler stm32f4xx_it.o + 0x08009c68 0x08009c68 0x00000034 Code RO 828 .text.I2C_ConvertOtherXferOptions stm32f4xx_hal_i2c.o + 0x08009c9c 0x08009c9c 0x00000156 Code RO 812 .text.I2C_DMAAbort stm32f4xx_hal_i2c.o + 0x08009df2 0x08009df2 0x00000002 PAD + 0x08009df4 0x08009df4 0x00000024 Code RO 888 .text.I2C_Flush_DR stm32f4xx_hal_i2c.o + 0x08009e18 0x08009e18 0x00000048 Code RO 2300 .text.I2C_Get i2c_1.o + 0x08009e60 0x08009e60 0x0000027a Code RO 824 .text.I2C_ITError stm32f4xx_hal_i2c.o + 0x0800a0da 0x0800a0da 0x00000002 PAD + 0x0800a0dc 0x0800a0dc 0x000001ac Code RO 844 .text.I2C_MasterReceive_BTF stm32f4xx_hal_i2c.o + 0x0800a288 0x0800a288 0x0000016a Code RO 842 .text.I2C_MasterReceive_RXNE stm32f4xx_hal_i2c.o + 0x0800a3f2 0x0800a3f2 0x00000002 PAD + 0x0800a3f4 0x0800a3f4 0x000000de Code RO 838 .text.I2C_MasterTransmit_BTF stm32f4xx_hal_i2c.o + 0x0800a4d2 0x0800a4d2 0x00000002 PAD + 0x0800a4d4 0x0800a4d4 0x0000013e Code RO 836 .text.I2C_MasterTransmit_TXE stm32f4xx_hal_i2c.o + 0x0800a612 0x0800a612 0x00000002 PAD + 0x0800a614 0x0800a614 0x00000046 Code RO 832 .text.I2C_Master_ADD10 stm32f4xx_hal_i2c.o + 0x0800a65a 0x0800a65a 0x00000002 PAD + 0x0800a65c 0x0800a65c 0x0000033e Code RO 834 .text.I2C_Master_ADDR stm32f4xx_hal_i2c.o + 0x0800a99a 0x0800a99a 0x00000002 PAD + 0x0800a99c 0x0800a99c 0x000000f0 Code RO 830 .text.I2C_Master_SB stm32f4xx_hal_i2c.o + 0x0800aa8c 0x0800aa8c 0x00000128 Code RO 840 .text.I2C_MemoryTransmit_TXE_BTF stm32f4xx_hal_i2c.o + 0x0800abb4 0x0800abb4 0x0000002e Code RO 856 .text.I2C_SlaveReceive_BTF stm32f4xx_hal_i2c.o + 0x0800abe2 0x0800abe2 0x00000002 PAD + 0x0800abe4 0x0800abe4 0x0000006e Code RO 854 .text.I2C_SlaveReceive_RXNE stm32f4xx_hal_i2c.o + 0x0800ac52 0x0800ac52 0x00000002 PAD + 0x0800ac54 0x0800ac54 0x0000002c Code RO 852 .text.I2C_SlaveTransmit_BTF stm32f4xx_hal_i2c.o + 0x0800ac80 0x0800ac80 0x0000006c Code RO 850 .text.I2C_SlaveTransmit_TXE stm32f4xx_hal_i2c.o + 0x0800acec 0x0800acec 0x000000ae Code RO 846 .text.I2C_Slave_ADDR stm32f4xx_hal_i2c.o + 0x0800ad9a 0x0800ad9a 0x00000002 PAD + 0x0800ad9c 0x0800ad9c 0x000000e4 Code RO 860 .text.I2C_Slave_AF stm32f4xx_hal_i2c.o + 0x0800ae80 0x0800ae80 0x0000024a Code RO 848 .text.I2C_Slave_STOPF stm32f4xx_hal_i2c.o + 0x0800b0ca 0x0800b0ca 0x00000002 PAD + 0x0800b0cc 0x0800b0cc 0x00000078 Code RO 890 .text.I2C_WaitOnSTOPRequestThroughIT stm32f4xx_hal_i2c.o + 0x0800b144 0x0800b144 0x00000076 Code RO 2675 .text.InvSqrt user_math.o + 0x0800b1ba 0x0800b1ba 0x00000002 PAD + 0x0800b1bc 0x0800b1bc 0x000000b8 Code RO 2527 .text.LowPassFilter2p_Apply filter.o + 0x0800b274 0x0800b274 0x0000013c Code RO 2525 .text.LowPassFilter2p_Init filter.o + 0x0800b3b0 0x0800b3b0 0x00000092 Code RO 2533 .text.LowPassFilter2p_Reset filter.o + 0x0800b442 0x0800b442 0x00000002 PAD + 0x0800b444 0x0800b444 0x00000096 Code RO 2944 .text.MOTOR_DM_CreateCANManager motor_dm.o + 0x0800b4da 0x0800b4da 0x00000002 PAD + 0x0800b4dc 0x0800b4dc 0x0000007a Code RO 2968 .text.MOTOR_DM_Enable motor_dm.o + 0x0800b556 0x0800b556 0x00000002 PAD + 0x0800b558 0x0800b558 0x00000030 Code RO 2946 .text.MOTOR_DM_GetCANManager motor_dm.o + 0x0800b588 0x0800b588 0x00000086 Code RO 2956 .text.MOTOR_DM_GetMotor motor_dm.o + 0x0800b60e 0x0800b60e 0x00000002 PAD + 0x0800b610 0x0800b610 0x00000048 Code RO 2954 .text.MOTOR_DM_MITCtrl motor_dm.o + 0x0800b658 0x0800b658 0x00000158 Code RO 2950 .text.MOTOR_DM_ParseFeedbackFrame motor_dm.o + 0x0800b7b0 0x0800b7b0 0x0000012c Code RO 2942 .text.MOTOR_DM_Register motor_dm.o + 0x0800b8dc 0x0800b8dc 0x00000144 Code RO 2958 .text.MOTOR_DM_SendMITCmd motor_dm.o + 0x0800ba20 0x0800ba20 0x0000010c Code RO 2948 .text.MOTOR_DM_Update motor_dm.o + 0x0800bb2c 0x0800bb2c 0x00000096 Code RO 2843 .text.MOTOR_RM_CreateCANManager motor_rm.o + 0x0800bbc2 0x0800bbc2 0x00000002 PAD + 0x0800bbc4 0x0800bbc4 0x00000170 Code RO 2861 .text.MOTOR_RM_Ctrl motor_rm.o + 0x0800bd34 0x0800bd34 0x00000030 Code RO 2845 .text.MOTOR_RM_GetCANManager motor_rm.o + 0x0800bd64 0x0800bd64 0x00000052 Code RO 2859 .text.MOTOR_RM_GetLSB motor_rm.o + 0x0800bdb6 0x0800bdb6 0x00000002 PAD + 0x0800bdb8 0x0800bdb8 0x00000080 Code RO 2857 .text.MOTOR_RM_GetLogicalIndex motor_rm.o + 0x0800be38 0x0800be38 0x00000078 Code RO 2855 .text.MOTOR_RM_GetMotor motor_rm.o + 0x0800beb0 0x0800beb0 0x00000050 Code RO 2867 .text.MOTOR_RM_GetRatio motor_rm.o + 0x0800bf00 0x0800bf00 0x00000120 Code RO 2841 .text.MOTOR_RM_Register motor_rm.o + 0x0800c020 0x0800c020 0x0000011a Code RO 2853 .text.MOTOR_RM_SetOutput motor_rm.o + 0x0800c13a 0x0800c13a 0x00000002 PAD + 0x0800c13c 0x0800c13c 0x00000102 Code RO 2847 .text.MOTOR_RM_Update motor_rm.o + 0x0800c23e 0x0800c23e 0x00000002 PAD + 0x0800c240 0x0800c240 0x0000004e Code RO 53 .text.MX_CAN1_Init can.o + 0x0800c28e 0x0800c28e 0x00000002 PAD + 0x0800c290 0x0800c290 0x0000004e Code RO 55 .text.MX_CAN2_Init can.o + 0x0800c2de 0x0800c2de 0x00000002 PAD + 0x0800c2e0 0x0800c2e0 0x00000086 Code RO 71 .text.MX_DMA_Init dma.o + 0x0800c366 0x0800c366 0x00000002 PAD + 0x0800c368 0x0800c368 0x00000040 Code RO 39 .text.MX_FREERTOS_Init freertos.o + 0x0800c3a8 0x0800c3a8 0x0000022a Code RO 25 .text.MX_GPIO_Init gpio.o + 0x0800c5d2 0x0800c5d2 0x00000002 PAD + 0x0800c5d4 0x0800c5d4 0x00000048 Code RO 79 .text.MX_I2C1_Init i2c.o + 0x0800c61c 0x0800c61c 0x00000048 Code RO 81 .text.MX_I2C2_Init i2c.o + 0x0800c664 0x0800c664 0x00000052 Code RO 96 .text.MX_SPI1_Init spi.o + 0x0800c6b6 0x0800c6b6 0x00000002 PAD + 0x0800c6b8 0x0800c6b8 0x00000054 Code RO 98 .text.MX_SPI2_Init spi.o + 0x0800c70c 0x0800c70c 0x0000008e Code RO 117 .text.MX_TIM10_Init tim.o + 0x0800c79a 0x0800c79a 0x00000002 PAD + 0x0800c79c 0x0800c79c 0x00000058 Code RO 115 .text.MX_TIM7_Init tim.o + 0x0800c7f4 0x0800c7f4 0x00000040 Code RO 134 .text.MX_USART1_UART_Init usart.o + 0x0800c834 0x0800c834 0x0000004c Code RO 136 .text.MX_USART3_UART_Init usart.o + 0x0800c880 0x0800c880 0x00000004 Code RO 156 .text.MemManage_Handler stm32f4xx_it.o + 0x0800c884 0x0800c884 0x0000021c Code RO 2849 .text.Motor_RM_Decode motor_rm.o + 0x0800caa0 0x0800caa0 0x00000004 Code RO 152 .text.NMI_Handler stm32f4xx_it.o + 0x0800caa4 0x0800caa4 0x0000006c Code RO 576 .text.NVIC_EncodePriority stm32f4xx_hal_cortex.o + 0x0800cb10 0x0800cb10 0x000002f0 Code RO 2638 .text.PID_Calc pid.o + 0x0800ce00 0x0800ce00 0x00000196 Code RO 2630 .text.PID_Init pid.o + 0x0800cf96 0x0800cf96 0x00000002 PAD + 0x0800cf98 0x0800cf98 0x00000048 Code RO 2636 .text.PID_Reset pid.o 0x0800cfe0 0x0800cfe0 0x00000064 Code RO 2170 .text.PendSV_Handler port.o 0x0800d044 0x0800d044 0x00000094 Code RO 2717 .text.RC_Init bsp_rc.o 0x0800d0d8 0x0800d0d8 0x0000005a Code RO 2721 .text.RC_restart bsp_rc.o @@ -8546,7 +8545,7 @@ Memory Map of the image 0x08014ec4 0x08014ec4 0x00000020 Data RO 3584 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08014ee8, Size: 0x00008770, Max: 0x0001c000, ABSOLUTE, COMPRESSED[0x00000078]) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08014ee8, Size: 0x00008788, Max: 0x0001c000, ABSOLUTE, COMPRESSED[0x00000098]) Exec Addr Load Addr Size Type Attr Idx E Section Name Object @@ -8579,95 +8578,95 @@ Memory Map of the image 0x200003dc - 0x00000004 Zero RW 2709 .bss.fac_ms bsp_delay.o 0x200003e0 - 0x00000001 Zero RW 2708 .bss.fac_us bsp_delay.o 0x200003e1 COMPRESSED 0x00000007 PAD - 0x200003e8 - 0x000002d0 Zero RW 3034 .bss.gimbal gimbal_ctrl.o - 0x200006b8 - 0x00000014 Zero RW 2998 .bss.gimbal_ahrs atti_esti.o - 0x200006cc - 0x0000000c Zero RW 3036 .bss.gimbal_cmd gimbal_ctrl.o - 0x200006d8 - 0x00000018 Zero RW 3035 .bss.gimbal_imu gimbal_ctrl.o - 0x200006f0 - 0x00000018 Zero RW 3003 .bss.gimbal_to_send atti_esti.o - 0x20000708 - 0x00000028 Zero RW 61 .bss.hcan1 can.o - 0x20000730 - 0x00000028 Zero RW 62 .bss.hcan2 can.o - 0x20000758 - 0x00000060 Zero RW 106 .bss.hdma_spi1_rx spi.o - 0x200007b8 - 0x00000060 Zero RW 107 .bss.hdma_spi1_tx spi.o - 0x20000818 - 0x00000060 Zero RW 144 .bss.hdma_usart3_rx usart.o - 0x20000878 - 0x00000054 Zero RW 87 .bss.hi2c1 i2c.o - 0x200008cc - 0x00000054 Zero RW 88 .bss.hi2c2 i2c.o - 0x20000920 - 0x00000058 Zero RW 104 .bss.hspi1 spi.o - 0x20000978 - 0x00000058 Zero RW 105 .bss.hspi2 spi.o - 0x200009d0 - 0x00000048 Zero RW 126 .bss.htim10 tim.o - 0x20000a18 - 0x00000048 Zero RW 125 .bss.htim7 tim.o - 0x20000a60 - 0x00000048 Zero RW 142 .bss.huart1 usart.o - 0x20000aa8 - 0x00000048 Zero RW 143 .bss.huart3 usart.o - 0x20000af0 - 0x00000004 Zero RW 2264 .bss.id_parser can_1.o - 0x20000af4 - 0x00000018 Zero RW 3014 .bss.imu remote.o - 0x20000b0c - 0x0000003c Zero RW 3000 .bss.imu_temp_ctrl_pid atti_esti.o - 0x20000b48 - 0x00000001 Zero RW 2263 .bss.inited can_1.o - 0x20000b49 - 0x00000001 Zero RW 2785 .bss.inited bmi088.o - 0x20000b4a COMPRESSED 0x00000002 PAD - 0x20000b4c - 0x0000000c Zero RW 2999 .bss.magn atti_esti.o - 0x20000b58 - 0x000000a0 Zero RW 1932 .bss.prvCheckForValidListAndQueue.ucStaticTimerQueueStorage timers.o - 0x20000bf8 - 0x00000050 Zero RW 1931 .bss.prvCheckForValidListAndQueue.xStaticTimerQueue timers.o - 0x20000c48 - 0x00000004 Zero RW 1928 .bss.prvSampleTimeNow.xLastTime timers.o - 0x20000c4c - 0x00000004 Zero RW 1838 .bss.pxCurrentTCB tasks.o - 0x20000c50 - 0x00000004 Zero RW 1926 .bss.pxCurrentTimerList timers.o - 0x20000c54 - 0x00000004 Zero RW 1846 .bss.pxDelayedTaskList tasks.o - 0x20000c58 - 0x00000004 Zero RW 2135 .bss.pxEnd heap_4.o - 0x20000c5c - 0x00000004 Zero RW 1847 .bss.pxOverflowDelayedTaskList tasks.o - 0x20000c60 - 0x00000004 Zero RW 1927 .bss.pxOverflowTimerList timers.o - 0x20000c64 - 0x00000460 Zero RW 1849 .bss.pxReadyTasksLists tasks.o - 0x200010c4 - 0x00000004 Zero RW 2267 .bss.queue_list can_1.o - 0x200010c8 - 0x00000004 Zero RW 2265 .bss.queue_mutex can_1.o - 0x200010cc - 0x00000018 Zero RW 2926 .bss.rc_ctrl remote_control.o - 0x200010e4 - 0x0000000c Zero RW 3013 .bss.remote_cmd remote.o - 0x200010f0 - 0x00000019 Zero RW 2925 .bss.sbus_rx_buf remote_control.o - 0x20001109 COMPRESSED 0x00000003 PAD - 0x2000110c - 0x00000050 Zero RW 3026 .bss.task_runtime user_task.o - 0x2000115c - 0x00000004 Zero RW 2786 .bss.thread_alert bmi088.o - 0x20001160 - 0x00000810 Zero RW 2266 .bss.tx_queues can_1.o - 0x20001970 - 0x00006000 Zero RW 2142 .bss.ucHeap heap_4.o - 0x20007970 - 0x00000001 Zero RW 2176 .bss.ucMaxSysCallPriority port.o - 0x20007971 COMPRESSED 0x00000003 PAD - 0x20007974 - 0x00000004 Zero RW 2177 .bss.ulMaxPRIGROUPValue port.o - 0x20007978 - 0x00000004 Zero RW 1859 .bss.ulTaskSwitchedInTime tasks.o - 0x2000797c - 0x00000004 Zero RW 1858 .bss.ulTotalRunTime tasks.o - 0x20007980 - 0x00000004 Zero RW 699 .bss.uwTick stm32f4xx_hal.o - 0x20007984 - 0x00000004 Zero RW 1842 .bss.uxCurrentNumberOfTasks tasks.o - 0x20007988 - 0x00000004 Zero RW 1841 .bss.uxDeletedTasksWaitingCleanUp tasks.o - 0x2000798c - 0x00000004 Zero RW 1844 .bss.uxSchedulerSuspended tasks.o - 0x20007990 - 0x00000004 Zero RW 1839 .bss.uxTaskNumber tasks.o - 0x20007994 - 0x00000004 Zero RW 1850 .bss.uxTopReadyPriority tasks.o - 0x20007998 - 0x00000200 Zero RW 2109 .bss.vApplicationGetIdleTaskMemory.Idle_Stack cmsis_os2.o - 0x20007b98 - 0x00000064 Zero RW 2108 .bss.vApplicationGetIdleTaskMemory.Idle_TCB cmsis_os2.o - 0x20007bfc - 0x00000400 Zero RW 2111 .bss.vApplicationGetTimerTaskMemory.Timer_Stack cmsis_os2.o - 0x20007ffc - 0x00000064 Zero RW 2110 .bss.vApplicationGetTimerTaskMemory.Timer_TCB cmsis_os2.o - 0x20008060 - 0x00000014 Zero RW 1929 .bss.xActiveTimerList1 timers.o - 0x20008074 - 0x00000014 Zero RW 1930 .bss.xActiveTimerList2 timers.o - 0x20008088 - 0x00000004 Zero RW 2136 .bss.xBlockAllocatedBit heap_4.o - 0x2000808c - 0x00000014 Zero RW 1860 .bss.xDelayedTaskList1 tasks.o - 0x200080a0 - 0x00000014 Zero RW 1861 .bss.xDelayedTaskList2 tasks.o - 0x200080b4 - 0x00000004 Zero RW 2137 .bss.xFreeBytesRemaining heap_4.o - 0x200080b8 - 0x00000004 Zero RW 1853 .bss.xIdleTaskHandle tasks.o - 0x200080bc - 0x00000004 Zero RW 2139 .bss.xMinimumEverFreeBytesRemaining heap_4.o - 0x200080c0 - 0x00000004 Zero RW 1854 .bss.xNextTaskUnblockTime tasks.o - 0x200080c4 - 0x00000004 Zero RW 1857 .bss.xNumOfOverflows tasks.o - 0x200080c8 - 0x00000004 Zero RW 2140 .bss.xNumberOfSuccessfulAllocations heap_4.o - 0x200080cc - 0x00000004 Zero RW 2141 .bss.xNumberOfSuccessfulFrees heap_4.o - 0x200080d0 - 0x00000004 Zero RW 1856 .bss.xPendedTicks tasks.o - 0x200080d4 - 0x00000014 Zero RW 1851 .bss.xPendingReadyList tasks.o - 0x200080e8 - 0x00000040 Zero RW 1637 .bss.xQueueRegistry queue.o - 0x20008128 - 0x00000004 Zero RW 1843 .bss.xSchedulerRunning tasks.o - 0x2000812c - 0x00000008 Zero RW 2138 .bss.xStart heap_4.o - 0x20008134 - 0x00000014 Zero RW 1848 .bss.xSuspendedTaskList tasks.o - 0x20008148 - 0x00000014 Zero RW 1840 .bss.xTasksWaitingTermination tasks.o - 0x2000815c - 0x00000004 Zero RW 1845 .bss.xTickCount tasks.o - 0x20008160 - 0x00000004 Zero RW 1923 .bss.xTimerQueue timers.o - 0x20008164 - 0x00000004 Zero RW 1925 .bss.xTimerTaskHandle timers.o - 0x20008168 - 0x00000004 Zero RW 1855 .bss.xYieldPending tasks.o - 0x2000816c COMPRESSED 0x00000004 PAD - 0x20008170 - 0x00000200 Zero RW 2 HEAP startup_stm32f407xx.o - 0x20008370 - 0x00000400 Zero RW 1 STACK startup_stm32f407xx.o + 0x200003e8 - 0x000002e8 Zero RW 3034 .bss.gimbal gimbal_ctrl.o + 0x200006d0 - 0x00000014 Zero RW 2998 .bss.gimbal_ahrs atti_esti.o + 0x200006e4 - 0x0000000c Zero RW 3036 .bss.gimbal_cmd gimbal_ctrl.o + 0x200006f0 - 0x00000018 Zero RW 3035 .bss.gimbal_imu gimbal_ctrl.o + 0x20000708 - 0x00000018 Zero RW 3003 .bss.gimbal_to_send atti_esti.o + 0x20000720 - 0x00000028 Zero RW 61 .bss.hcan1 can.o + 0x20000748 - 0x00000028 Zero RW 62 .bss.hcan2 can.o + 0x20000770 - 0x00000060 Zero RW 106 .bss.hdma_spi1_rx spi.o + 0x200007d0 - 0x00000060 Zero RW 107 .bss.hdma_spi1_tx spi.o + 0x20000830 - 0x00000060 Zero RW 144 .bss.hdma_usart3_rx usart.o + 0x20000890 - 0x00000054 Zero RW 87 .bss.hi2c1 i2c.o + 0x200008e4 - 0x00000054 Zero RW 88 .bss.hi2c2 i2c.o + 0x20000938 - 0x00000058 Zero RW 104 .bss.hspi1 spi.o + 0x20000990 - 0x00000058 Zero RW 105 .bss.hspi2 spi.o + 0x200009e8 - 0x00000048 Zero RW 126 .bss.htim10 tim.o + 0x20000a30 - 0x00000048 Zero RW 125 .bss.htim7 tim.o + 0x20000a78 - 0x00000048 Zero RW 142 .bss.huart1 usart.o + 0x20000ac0 - 0x00000048 Zero RW 143 .bss.huart3 usart.o + 0x20000b08 - 0x00000004 Zero RW 2264 .bss.id_parser can_1.o + 0x20000b0c - 0x00000018 Zero RW 3014 .bss.imu remote.o + 0x20000b24 - 0x0000003c Zero RW 3000 .bss.imu_temp_ctrl_pid atti_esti.o + 0x20000b60 - 0x00000001 Zero RW 2263 .bss.inited can_1.o + 0x20000b61 - 0x00000001 Zero RW 2785 .bss.inited bmi088.o + 0x20000b62 COMPRESSED 0x00000002 PAD + 0x20000b64 - 0x0000000c Zero RW 2999 .bss.magn atti_esti.o + 0x20000b70 - 0x000000a0 Zero RW 1932 .bss.prvCheckForValidListAndQueue.ucStaticTimerQueueStorage timers.o + 0x20000c10 - 0x00000050 Zero RW 1931 .bss.prvCheckForValidListAndQueue.xStaticTimerQueue timers.o + 0x20000c60 - 0x00000004 Zero RW 1928 .bss.prvSampleTimeNow.xLastTime timers.o + 0x20000c64 - 0x00000004 Zero RW 1838 .bss.pxCurrentTCB tasks.o + 0x20000c68 - 0x00000004 Zero RW 1926 .bss.pxCurrentTimerList timers.o + 0x20000c6c - 0x00000004 Zero RW 1846 .bss.pxDelayedTaskList tasks.o + 0x20000c70 - 0x00000004 Zero RW 2135 .bss.pxEnd heap_4.o + 0x20000c74 - 0x00000004 Zero RW 1847 .bss.pxOverflowDelayedTaskList tasks.o + 0x20000c78 - 0x00000004 Zero RW 1927 .bss.pxOverflowTimerList timers.o + 0x20000c7c - 0x00000460 Zero RW 1849 .bss.pxReadyTasksLists tasks.o + 0x200010dc - 0x00000004 Zero RW 2267 .bss.queue_list can_1.o + 0x200010e0 - 0x00000004 Zero RW 2265 .bss.queue_mutex can_1.o + 0x200010e4 - 0x00000018 Zero RW 2926 .bss.rc_ctrl remote_control.o + 0x200010fc - 0x0000000c Zero RW 3013 .bss.remote_cmd remote.o + 0x20001108 - 0x00000019 Zero RW 2925 .bss.sbus_rx_buf remote_control.o + 0x20001121 COMPRESSED 0x00000003 PAD + 0x20001124 - 0x00000050 Zero RW 3026 .bss.task_runtime user_task.o + 0x20001174 - 0x00000004 Zero RW 2786 .bss.thread_alert bmi088.o + 0x20001178 - 0x00000810 Zero RW 2266 .bss.tx_queues can_1.o + 0x20001988 - 0x00006000 Zero RW 2142 .bss.ucHeap heap_4.o + 0x20007988 - 0x00000001 Zero RW 2176 .bss.ucMaxSysCallPriority port.o + 0x20007989 COMPRESSED 0x00000003 PAD + 0x2000798c - 0x00000004 Zero RW 2177 .bss.ulMaxPRIGROUPValue port.o + 0x20007990 - 0x00000004 Zero RW 1859 .bss.ulTaskSwitchedInTime tasks.o + 0x20007994 - 0x00000004 Zero RW 1858 .bss.ulTotalRunTime tasks.o + 0x20007998 - 0x00000004 Zero RW 699 .bss.uwTick stm32f4xx_hal.o + 0x2000799c - 0x00000004 Zero RW 1842 .bss.uxCurrentNumberOfTasks tasks.o + 0x200079a0 - 0x00000004 Zero RW 1841 .bss.uxDeletedTasksWaitingCleanUp tasks.o + 0x200079a4 - 0x00000004 Zero RW 1844 .bss.uxSchedulerSuspended tasks.o + 0x200079a8 - 0x00000004 Zero RW 1839 .bss.uxTaskNumber tasks.o + 0x200079ac - 0x00000004 Zero RW 1850 .bss.uxTopReadyPriority tasks.o + 0x200079b0 - 0x00000200 Zero RW 2109 .bss.vApplicationGetIdleTaskMemory.Idle_Stack cmsis_os2.o + 0x20007bb0 - 0x00000064 Zero RW 2108 .bss.vApplicationGetIdleTaskMemory.Idle_TCB cmsis_os2.o + 0x20007c14 - 0x00000400 Zero RW 2111 .bss.vApplicationGetTimerTaskMemory.Timer_Stack cmsis_os2.o + 0x20008014 - 0x00000064 Zero RW 2110 .bss.vApplicationGetTimerTaskMemory.Timer_TCB cmsis_os2.o + 0x20008078 - 0x00000014 Zero RW 1929 .bss.xActiveTimerList1 timers.o + 0x2000808c - 0x00000014 Zero RW 1930 .bss.xActiveTimerList2 timers.o + 0x200080a0 - 0x00000004 Zero RW 2136 .bss.xBlockAllocatedBit heap_4.o + 0x200080a4 - 0x00000014 Zero RW 1860 .bss.xDelayedTaskList1 tasks.o + 0x200080b8 - 0x00000014 Zero RW 1861 .bss.xDelayedTaskList2 tasks.o + 0x200080cc - 0x00000004 Zero RW 2137 .bss.xFreeBytesRemaining heap_4.o + 0x200080d0 - 0x00000004 Zero RW 1853 .bss.xIdleTaskHandle tasks.o + 0x200080d4 - 0x00000004 Zero RW 2139 .bss.xMinimumEverFreeBytesRemaining heap_4.o + 0x200080d8 - 0x00000004 Zero RW 1854 .bss.xNextTaskUnblockTime tasks.o + 0x200080dc - 0x00000004 Zero RW 1857 .bss.xNumOfOverflows tasks.o + 0x200080e0 - 0x00000004 Zero RW 2140 .bss.xNumberOfSuccessfulAllocations heap_4.o + 0x200080e4 - 0x00000004 Zero RW 2141 .bss.xNumberOfSuccessfulFrees heap_4.o + 0x200080e8 - 0x00000004 Zero RW 1856 .bss.xPendedTicks tasks.o + 0x200080ec - 0x00000014 Zero RW 1851 .bss.xPendingReadyList tasks.o + 0x20008100 - 0x00000040 Zero RW 1637 .bss.xQueueRegistry queue.o + 0x20008140 - 0x00000004 Zero RW 1843 .bss.xSchedulerRunning tasks.o + 0x20008144 - 0x00000008 Zero RW 2138 .bss.xStart heap_4.o + 0x2000814c - 0x00000014 Zero RW 1848 .bss.xSuspendedTaskList tasks.o + 0x20008160 - 0x00000014 Zero RW 1840 .bss.xTasksWaitingTermination tasks.o + 0x20008174 - 0x00000004 Zero RW 1845 .bss.xTickCount tasks.o + 0x20008178 - 0x00000004 Zero RW 1923 .bss.xTimerQueue timers.o + 0x2000817c - 0x00000004 Zero RW 1925 .bss.xTimerTaskHandle timers.o + 0x20008180 - 0x00000004 Zero RW 1855 .bss.xYieldPending tasks.o + 0x20008184 COMPRESSED 0x00000004 PAD + 0x20008188 - 0x00000200 Zero RW 2 HEAP startup_stm32f407xx.o + 0x20008388 - 0x00000400 Zero RW 1 STACK startup_stm32f407xx.o - Execution Region RW_IRAM2 (Exec base: 0x2001c000, Load base: 0x08014f60, Size: 0x00000000, Max: 0x00004000, ABSOLUTE) + Execution Region RW_IRAM2 (Exec base: 0x2001c000, Load base: 0x08014f80, Size: 0x00000000, Max: 0x00004000, ABSOLUTE) **** No section assigned to this execution region **** @@ -8689,12 +8688,12 @@ Image component sizes 620 0 0 0 84 6422 can.o 3946 4 0 0 2181 14234 can_1.o 2968 0 0 0 1740 35206 cmsis_os2.o - 10 0 0 400 0 2772 config.o + 10 0 0 400 0 2789 config.o 134 0 0 0 0 3297 dma.o 780 8 0 0 0 3412 filter.o 98 0 48 0 4 3084 freertos.o - 2624 40 0 0 0 8481 gimbal.o - 236 12 0 0 756 5066 gimbal_ctrl.o + 2664 40 0 0 0 8578 gimbal.o + 236 12 0 0 780 5095 gimbal_ctrl.o 554 0 0 0 0 4164 gpio.o 576 12 56 0 64 4722 gpio_1.o 1084 0 0 0 24608 4434 heap_4.o @@ -8739,15 +8738,15 @@ Image component sizes 0 0 183 0 80 3063 user_task.o ---------------------------------------------------------------------- - 77016 310 804 420 34156 454166 Object Totals + 77048 302 804 420 34180 454309 Object Totals 0 0 32 0 0 0 (incl. Generated) - 398 12 3 3 30 0 (incl. Padding) + 390 4 3 3 30 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name - 90 0 0 0 0 0 __dczerorl2.o + 58 0 0 0 0 0 __dczerorl.o 8 0 0 0 0 68 __main.o 0 0 0 0 0 0 __rtentry.o 12 0 0 0 0 0 __rtentry2.o @@ -8809,19 +8808,19 @@ Image component sizes 380 58 0 0 0 200 tanf.o ---------------------------------------------------------------------- - 7720 676 192 0 96 6964 Library Totals + 7688 676 192 0 96 6964 Library Totals 20 0 0 0 0 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Name - 942 20 0 0 96 1148 c_w.l + 910 20 0 0 96 1148 c_w.l 2926 196 0 0 0 2888 fz_wm.l 3832 460 192 0 0 2928 m_wm.l ---------------------------------------------------------------------- - 7720 676 192 0 96 6964 Library Totals + 7688 676 192 0 96 6964 Library Totals ---------------------------------------------------------------------- @@ -8830,15 +8829,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 84736 986 996 420 34252 455930 Grand Totals - 84736 986 996 120 34252 455930 ELF Image Totals (compressed) - 84736 986 996 120 0 0 ROM Totals + 84736 978 996 420 34276 456073 Grand Totals + 84736 978 996 152 34276 456073 ELF Image Totals (compressed) + 84736 978 996 152 0 0 ROM Totals ============================================================================== Total RO Size (Code + RO Data) 85732 ( 83.72kB) - Total RW Size (RW Data + ZI Data) 34672 ( 33.86kB) - Total ROM Size (Code + RO Data + RW Data) 85852 ( 83.84kB) + Total RW Size (RW Data + ZI Data) 34696 ( 33.88kB) + Total ROM Size (Code + RO Data + RW Data) 85884 ( 83.87kB) ============================================================================== diff --git a/MDK-ARM/gimbal/gimbal.o b/MDK-ARM/gimbal/gimbal.o index 19b48dd2ca2110c44a5dfb9624fa6faa822673a5..a4279e626d5c1107c49c879a6ccda3e4a4942602 100644 GIT binary patch delta 6964 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 delta 6817 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 XEAw|EH-}N7@n2yB{CB9r*Ma&!NI3wr delta 4135 zcmYk83vd071bKOXAr$;^xnrPH2SrDwB6`^SG|2k|GLuh-Z92+rd!?#WBhiT zrM#ZlW-s2t!Gv~`dO!7rjp=>_L zKM?KrUOoV0v-^$ogBD#uOmuk0IrNp$4`It*4t8^dXP8oDA-N62nL#Mt!z4vzSwrc` z$Zii9*En=mwS`wUl?IsJA0it@Pjl#gqo?~+Z}g0W@*afI7k_%uPz#504*dW|Ej#8b zJbZ5Jo1GVY#5N|)qXg@_KjP7qmXE6Hg?$puR zB0az+jngxq-$u1VEk@s!ptqp&c_jn$=ypsW=|P>9e+-jq%N~m{{x#N_HnYOGTQqJd zJio*!r?cxj`P2^bO}Lznit3<0V_l$WmeGX{&4<3p{!T8v0L=?`iacc>gQ$VSF2&@_ z+*EKKjwx_hHU4P8)3%4jH9h1c}~-d zZl2eb*2|gjQi^_Ibg@G(8C~Mjt4602w9DvBQrY#GYZx}HyJokji{fozs(1>m74MHW zz#bPOY#y{<XRVUOZ6$HaD(ckn{fNlQ4`o-(Q%{ibWA}|?f_rW2k77;>V6A} z>JG674!28ob8e^ja+oT<2CWs}j8?1IFhnJ|gxTYv@*rYqHx+O0V$vX17}ZC@Rad`9k@z zimr?itk)E{DgBdZ?xSq4%FcZ>U}JR>`DujO#IrP^I6f5>-*w#iv}(P*pGhct6P)~2 z_}y??N@*2jbSlaetueaXp|wU=;I#Y^W6r|ib#jwl2ihrpUcL(GfH68cbkyhqpFT3W zFrl=Mv%-6_+T;>WIF^+QPi2ffd0CG=09GG(b$8rGWvxF=$`y5in-{4o9I7z7o3Glu z7+{bS-;+}dugV#UHpm%?c3DmX+NC*j(JskZj&^ZQGup>(VTYDw?OQu#>P{Se<2{hKgg1aI$cYaFOsS z;d8>R!rj9C!Xv^n!VAKy!ka=Lg+sdm&OjuT;;PI$uM}1bhX_Xs8-!DZT$p)Wqi}_A zweSVu%fi=$T!eLifgg(FwD6qpg7ELc8$t`8COACFJtKae2a&u+rt9nlP%xQ70THoG5%) z$mM|J9~V9?d``GkxJ&puA%Ffn?n5De>1=<_@1Mng#NpyDU^`cs5%v|{C9DyS5jF^C z2^)ngg=>TxgxiHJfrvxG6T&|UFAKjE+I%Nqf$fAv!b&0T>8QU}I9k{sd_=fJ7&M7^ zUbs!TM|eQ^p76Brg7B*FrZ9#=$_vbAc2KHF>*IVJVh^l(B+ z59?(3Y{@45-&oi^T|)B;@B=6ul}?kDzy%a8N~iUe+ro|MGAhl*O%Ph?-0*BVX_bao x(&e-qzRK|J;@q$@leALdw=?C|&TuN)s&G}Nyr3Dm;!=+P3JXzKxx()P^?zmD`7;0j diff --git a/MDK-ARM/gimbal/gimbal_gimbal.dep b/MDK-ARM/gimbal/gimbal_gimbal.dep index 3da5962..2a61709 100644 --- a/MDK-ARM/gimbal/gimbal_gimbal.dep +++ b/MDK-ARM/gimbal/gimbal_gimbal.dep @@ -2126,7 +2126,7 @@ I (D:\Keil_v5\ARM\ARMCLANG\include\math.h)(0x6035A4A8) I (D:\Keil_v5\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8) I (D:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6035A4A8) I (D:\Keil_v5\ARM\ARMCLANG\include\stddef.h)(0x6035A4A8) -I (..\User\module\gimbal.h)(0x69147C6E) +I (..\User\module\gimbal.h)(0x691489EC) I (..\User\component\ahrs.h)(0x68F3410E) I (..\User\component\filter.h)(0x68F22FA9) I (..\User\component\pid.h)(0x68F22FA9) @@ -2264,7 +2264,7 @@ I (..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68B055DB) I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68B055DB) I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68B055DB) -I (..\User\module\gimbal.h)(0x69147C6E) +I (..\User\module\gimbal.h)(0x691489EC) I (..\User\component\ahrs.h)(0x68F3410E) I (..\User\component\user_math.h)(0x68F22FA9) I (D:\Keil_v5\ARM\ARMCLANG\include\float.h)(0x6035A4A0) @@ -2376,7 +2376,7 @@ I (..\User\component\pid.h)(0x68F22FA9) I (..\User\component\filter.h)(0x68F22FA9) I (..\User\device\bmi088.h)(0x68F22F87) I (..\User\device\device.h)(0x68F22FA9) -I (..\User\module\gimbal.h)(0x69147C6E) +I (..\User\module\gimbal.h)(0x691489EC) I (..\User\device\motor.h)(0x68F22F87) I (..\User\device\motor_dm.h)(0x68F22F87) I (..\User\bsp\can.h)(0x68F22FA9) @@ -2407,7 +2407,7 @@ I (..\User\component\user_math.h)(0x68F22FA9) I (D:\Keil_v5\ARM\ARMCLANG\include\float.h)(0x6035A4A0) I (D:\Keil_v5\ARM\ARMCLANG\include\math.h)(0x6035A4A8) I (D:\Keil_v5\ARM\ARMCLANG\include\stdbool.h)(0x6035A4A8) -I (..\User\module\gimbal.h)(0x69147C6E) +I (..\User\module\gimbal.h)(0x691489EC) I (..\User\component\ahrs.h)(0x68F3410E) I (..\User\component\filter.h)(0x68F22FA9) I (..\User\component\pid.h)(0x68F22FA9) @@ -2481,7 +2481,7 @@ I (..\Middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM4F\portmacro.h I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68B055DB) I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68B055DB) I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68B055DB) -I (..\User\module\gimbal.h)(0x69147C6E) +I (..\User\module\gimbal.h)(0x691489EC) I (..\User\component\ahrs.h)(0x68F3410E) I (..\User\component\user_math.h)(0x68F22FA9) I (D:\Keil_v5\ARM\ARMCLANG\include\float.h)(0x6035A4A0) @@ -2534,8 +2534,8 @@ I (..\User\device\motor_rm.h)(0x68F22F87) I (..\User\module\config.h)(0x68DD3463) I (..\User\device\motor_lz.h)(0x68F22F87) I (..\User\device\motor_lk.h)(0x68F22F87) -F (..\User\module\gimbal.c)(0x69148074)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-3 -O0 -ffunction-sections -w -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User/bsp -I ../User/component -I ../User/device -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../User/task -I ../User -I ../User/module -I./RTE/_gimbal -ID:/Keil_v5/Arm/Packs/ARM/CMSIS/5.7.0/CMSIS/Core/Include -ID:/Keil_v5/Arm/Packs/Keil/STM32F4xx_DFP/2.17.1/Drivers/CMSIS/Device/ST/STM32F4xx/Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx -o gimbal/gimbal.o -MD) -I (..\User\module\gimbal.h)(0x69147C6E) +F (..\User\module\gimbal.c)(0x69148AFD)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-3 -O0 -ffunction-sections -w -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User/bsp -I ../User/component -I ../User/device -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../User/task -I ../User -I ../User/module -I./RTE/_gimbal -ID:/Keil_v5/Arm/Packs/ARM/CMSIS/5.7.0/CMSIS/Core/Include -ID:/Keil_v5/Arm/Packs/Keil/STM32F4xx_DFP/2.17.1/Drivers/CMSIS/Device/ST/STM32F4xx/Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx -o gimbal/gimbal.o -MD) +I (..\User\module\gimbal.h)(0x691489EC) I (..\User\component\ahrs.h)(0x68F3410E) I (..\User\component\user_math.h)(0x68F22FA9) I (D:\Keil_v5\ARM\ARMCLANG\include\float.h)(0x6035A4A0) @@ -2598,7 +2598,7 @@ I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68B055DB) I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68B055DB) I (..\User\device\motor_rm.h)(0x68F22F87) I (..\User\bsp\time.h)(0x68F22FA9) -F (..\User\module\config.c)(0x69143650)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-3 -O0 -ffunction-sections -w -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User/bsp -I ../User/component -I ../User/device -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../User/task -I ../User -I ../User/module -I./RTE/_gimbal -ID:/Keil_v5/Arm/Packs/ARM/CMSIS/5.7.0/CMSIS/Core/Include -ID:/Keil_v5/Arm/Packs/Keil/STM32F4xx_DFP/2.17.1/Drivers/CMSIS/Device/ST/STM32F4xx/Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx -o gimbal/config.o -MD) +F (..\User\module\config.c)(0x691488E2)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-3 -O0 -ffunction-sections -w -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User/bsp -I ../User/component -I ../User/device -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../User/task -I ../User -I ../User/module -I./RTE/_gimbal -ID:/Keil_v5/Arm/Packs/ARM/CMSIS/5.7.0/CMSIS/Core/Include -ID:/Keil_v5/Arm/Packs/Keil/STM32F4xx_DFP/2.17.1/Drivers/CMSIS/Device/ST/STM32F4xx/Include -D__UVISION_VERSION="534" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx -o gimbal/config.o -MD) I (..\User\component\user_math.h)(0x68F22FA9) I (D:\Keil_v5\ARM\ARMCLANG\include\float.h)(0x6035A4A0) I (D:\Keil_v5\ARM\ARMCLANG\include\math.h)(0x6035A4A8) @@ -2658,7 +2658,7 @@ I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68B055DB) I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68B055DB) I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68B055DB) I (..\User\device\motor_lk.h)(0x68F22F87) -I (..\User\module\gimbal.h)(0x69147C6E) +I (..\User\module\gimbal.h)(0x691489EC) I (..\User\component\ahrs.h)(0x68F3410E) I (..\User\component\filter.h)(0x68F22FA9) I (..\User\component\pid.h)(0x68F22FA9) diff --git a/MDK-ARM/gimbal/remote.o b/MDK-ARM/gimbal/remote.o index 661bf250300773eff519f0ac9a5471141b6c29fb..b142e47565171c4d719005390239a8dd4b3e4240 100644 GIT binary patch delta 41 ucmaDO`$l$y2a`+-iv(jMD=Q-d!z~5|2F4}^Rv93h4~Q9?H>WUl@BjeEUI-Nc delta 41 ucmaDO`$l$y2a`+(iv(jUD=Q-d!z~5|2F5l9Rv93h4~QAtH>WUl@BjeFwg@Ev diff --git a/User/module/config.c b/User/module/config.c index 2f56bb1..5fe5f93 100644 --- a/User/module/config.c +++ b/User/module/config.c @@ -23,8 +23,8 @@ Config_RobotParam_t robot_config = { .Set_Limit_t= { .pit_max=0.69, .pit_min=-0.47, - .yaw_max= 1.0,//yaw的 - .yaw_min=-1.0, +// .yaw_max= 1.0,//yaw的 +// .yaw_min=-1.0, }, @@ -39,7 +39,7 @@ Config_RobotParam_t robot_config = { }, /*零点参数*/ - .gimbal_zero={ + .zero={ .pit_encoder=0, .yaw_encoder=0, /*零点行程*/ diff --git a/User/module/gimbal.c b/User/module/gimbal.c index 2426a8c..b8abdfe 100644 --- a/User/module/gimbal.c +++ b/User/module/gimbal.c @@ -122,9 +122,13 @@ int8_t Gimbal_Init(Gimbal_t *g,Gimbal_Params_t *param, g->limit.set_pit.min=g->param->Set_Limit_t.pit_min; g->limit.set_yaw.max=g->param->Set_Limit_t.yaw_max; g->limit.set_yaw.min=g->param->Set_Limit_t.yaw_min; - - + g->zero.yaw=g->param->zero.yaw; + g->zero.pit=g->param->zero.pit; + g->zero.yaw_encoder=g->param->zero.yaw_encoder; + g->zero.pit_encoder=g->param->zero.pit_encoder; + g->zero.travel.yaw=g->param->zero.travel.yaw; + g->zero.travel.pit=g->param->zero.travel.pit; BSP_CAN_Init(); /*大疆电机注册*/ @@ -291,8 +295,8 @@ int8_t Gimbal_Control(Gimbal_t *g, Gimbal_CMD_t *g_cmd) { break; case GIMBAL_MODE_RELATIVE: /*计算零点*/ - g->param->gimbal_zero.yaw = g->param->gimbal_zero.yaw_encoder - g->param->gimbal_zero.travel.yaw; - g->param->gimbal_zero.pit = g->param->gimbal_zero.pit_encoder - g->param->gimbal_zero.travel.pit; + g->zero.yaw = g->zero.yaw_encoder - g->zero.travel.yaw; + g->zero.pit = g->zero.pit_encoder - g->zero.travel.pit; /*基于零点的设定角度*/ /*加的相对角度应该限制在3.14~-3.14*/ CircleAdd(&(g->relative_angle.yaw),delta_yaw,M_2PI); @@ -300,8 +304,8 @@ int8_t Gimbal_Control(Gimbal_t *g, Gimbal_CMD_t *g_cmd) { g->relative_angle.pit=+delta_pit; - g->setpoint.eulr.yaw=g->param->gimbal_zero.yaw + g->relative_angle.yaw; - g->setpoint.eulr.pit=g->param->gimbal_zero.pit + g->relative_angle.pit; + g->setpoint.eulr.yaw=g->zero.yaw + g->relative_angle.yaw; + g->setpoint.eulr.pit=g->zero.pit + g->relative_angle.pit; /*yaw的限位*/ if (g->param->motor.limit_yaw==true) diff --git a/User/module/gimbal.h b/User/module/gimbal.h index 4099337..1b47995 100644 --- a/User/module/gimbal.h +++ b/User/module/gimbal.h @@ -47,6 +47,16 @@ typedef struct { float min; } Gimbal_Limit_t; +typedef struct{ + struct{ + float yaw; /* 零点行程 */ + float pit; + }travel; + float pit; /*零点*/ + float yaw; + float pit_encoder; /*零点*/ + float yaw_encoder; +} Gimbal_zero_t; typedef struct { bool limit_yaw;/*是否开启限位*/ @@ -59,13 +69,13 @@ typedef struct { MOTOR_RM_Param_t pit_rm_motor; /* pitch轴电机参数 */ MOTOR_RM_Param_t yaw_rm_motor; /* yaw轴电机参数 */ -} Gimbal_MOTOR_Param_t; +}Gimbal_MOTOR_Param_t; /* 云台参数的结构体,包含所有初始化用的参数,通常是const,存好几组。*/ typedef struct { Gimbal_MOTOR_Param_t motor; - + Gimbal_zero_t zero; struct { KPID_Params_t yaw_omega; /* yaw轴角速度环PID参数 */ @@ -103,24 +113,10 @@ typedef struct { float pit_min; float yaw_max; /*yaw的限位*/ float yaw_min; - }Set_Limit_t; - struct { - - struct{ - float yaw; /* 零点行程 */ - float pit; - }travel; - - float pit; /*零点*/ - float yaw; - float pit_encoder; /*零点*/ - float yaw_encoder; - }gimbal_zero; - struct { MOTOR_MIT_Output_t yaw_dm; /*达妙的参数*/ @@ -165,6 +161,7 @@ typedef struct { /* 模块通用 */ Gimbal_Mode_t mode; /* 云台模式 */ Gimbal_MOTOR MOTOR; + Gimbal_zero_t zero; /* PID计算的目标值 */ struct { AHRS_Eulr_t eulr; /* 表示云台姿态的欧拉角 */ @@ -185,7 +182,6 @@ typedef struct { } pid; struct { - Gimbal_Limit_t set_yaw; Gimbal_Limit_t set_pit; } limit;